diff --git a/.gitattributes b/.gitattributes index 6ba54568..346b9514 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,4 @@ * text=auto eol=lf dist/** -diff linguist-generated=true +dist/node_modules/** binary diff --git a/.github/workflows/check-dist.yml b/.github/workflows/check-dist.yml index a3c6d310..51c2da19 100644 --- a/.github/workflows/check-dist.yml +++ b/.github/workflows/check-dist.yml @@ -43,9 +43,9 @@ jobs: ls -la ./ exit 1 fi - if [ "$(git diff --ignore-space-at-eol --text dist/ | wc -l)" -gt "0" ]; then + if [ "$(git diff --ignore-space-at-eol --text dist/ ':!dist/node_modules/.package-lock.json' | wc -l)" -gt "0" ]; then echo "Detected uncommitted changes after build. See status below:" - git diff --ignore-space-at-eol --text dist/ + git diff --ignore-space-at-eol --text dist/ ':!dist/node_modules/.package-lock.json' exit 1 fi diff --git a/README.md b/README.md index 68396df6..ab2ce5e1 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,26 @@ help in improving gitStream! To add support for `.cm` files in your code editor, see our [FAQ](https://docs.gitstream.cm/faq/#is-there-cm-syntax-highlighting). +## Managing Dependencies + +### Action dependencies (`package.json` → `dependencies`) + +Imported by the action's source code. Must be listed in `package.json` for build time. + +To add: + +1. `npm install ` and import it in `src/` +2. If it can't be bundled by ncc (WASM, native addons), add `--external ` to the `package` script and add it to `vendor-plugins` as well + +### Plugin dependencies (`vendor-plugins` script in `package.json`) + +Packages that user plugins can `require()` at runtime. Installed into `dist/node_modules/` at build time and committed to the repo. + +To add: + +1. Add with a pinned version to the `vendor-plugins` script in `package.json` +2. Run `npm run package` and commit the updated `dist/node_modules/` + ## License The gitStream GitHub Action is licensed under the Apache License. See diff --git a/action.yml b/action.yml index 104d12b1..809bfbc2 100644 --- a/action.yml +++ b/action.yml @@ -117,19 +117,11 @@ runs: shell: bash run: mv gitstream code - - name: Clear npm cache - shell: bash - run: npm cache clean --force - - - name: Install Dependencies for plugins - shell: bash - continue-on-error: true - run: npm i --ignore-scripts moment@2.30.1 lodash@4.18.1 axios@1.14.0 @octokit/rest@20.1.1 - - name: Run RulesEngine shell: bash run: node ${{ github.action_path }}/dist/index.js env: + NODE_PATH: ${{ github.action_path }}/dist/node_modules HEAD_REF: ${{ steps.safe-strings.outputs.head_ref }} BASE_REF: ${{ steps.safe-strings.outputs.base_ref }} CLIENT_PAYLOAD: ${{ steps.safe-strings.outputs.client_payload }} diff --git a/dist/407.index.js b/dist/407.index.js deleted file mode 100644 index be3d3afe..00000000 --- a/dist/407.index.js +++ /dev/null @@ -1,261 +0,0 @@ -exports.id = 407; -exports.ids = [407,788]; -exports.modules = { - -/***/ 65407: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -var map = { - "./BurstyRateLimiter": [ - 85860 - ], - "./BurstyRateLimiter.js": [ - 85860 - ], - "./ExpressBruteFlexible": [ - 83966, - 966 - ], - "./ExpressBruteFlexible.js": [ - 83966, - 966 - ], - "./RLWrapperBlackAndWhite": [ - 87383 - ], - "./RLWrapperBlackAndWhite.js": [ - 87383 - ], - "./RLWrapperTimeouts": [ - 24016 - ], - "./RLWrapperTimeouts.js": [ - 24016 - ], - "./RateLimiterAbstract": [ - 88569 - ], - "./RateLimiterAbstract.js": [ - 88569 - ], - "./RateLimiterCluster": [ - 10565 - ], - "./RateLimiterCluster.js": [ - 10565 - ], - "./RateLimiterDrizzle": [ - 50673 - ], - "./RateLimiterDrizzle.js": [ - 50673 - ], - "./RateLimiterDrizzleNonAtomic": [ - 75347 - ], - "./RateLimiterDrizzleNonAtomic.js": [ - 75347 - ], - "./RateLimiterDynamo": [ - 82309 - ], - "./RateLimiterDynamo.js": [ - 82309 - ], - "./RateLimiterEtcd": [ - 36481 - ], - "./RateLimiterEtcd.js": [ - 36481 - ], - "./RateLimiterEtcdNonAtomic": [ - 15299 - ], - "./RateLimiterEtcdNonAtomic.js": [ - 15299 - ], - "./RateLimiterInsuredAbstract": [ - 33847 - ], - "./RateLimiterInsuredAbstract.js": [ - 33847 - ], - "./RateLimiterMemcache": [ - 73250 - ], - "./RateLimiterMemcache.js": [ - 73250 - ], - "./RateLimiterMemory": [ - 24544 - ], - "./RateLimiterMemory.js": [ - 24544 - ], - "./RateLimiterMongo": [ - 28439 - ], - "./RateLimiterMongo.js": [ - 28439 - ], - "./RateLimiterMySQL": [ - 67793 - ], - "./RateLimiterMySQL.js": [ - 67793 - ], - "./RateLimiterPostgres": [ - 3740 - ], - "./RateLimiterPostgres.js": [ - 3740 - ], - "./RateLimiterPrisma": [ - 16323 - ], - "./RateLimiterPrisma.js": [ - 16323 - ], - "./RateLimiterQueue": [ - 52860 - ], - "./RateLimiterQueue.js": [ - 52860 - ], - "./RateLimiterRedis": [ - 54336 - ], - "./RateLimiterRedis.js": [ - 54336 - ], - "./RateLimiterRes": [ - 80449 - ], - "./RateLimiterRes.js": [ - 80449 - ], - "./RateLimiterSQLite": [ - 73283 - ], - "./RateLimiterSQLite.js": [ - 73283 - ], - "./RateLimiterStoreAbstract": [ - 65140 - ], - "./RateLimiterStoreAbstract.js": [ - 65140 - ], - "./RateLimiterUnion": [ - 10244 - ], - "./RateLimiterUnion.js": [ - 10244 - ], - "./RateLimiterValkey": [ - 32193 - ], - "./RateLimiterValkey.js": [ - 32193 - ], - "./RateLimiterValkeyGlide": [ - 53756 - ], - "./RateLimiterValkeyGlide.js": [ - 53756 - ], - "./component/BlockedKeys": [ - 38830 - ], - "./component/BlockedKeys/": [ - 38830 - ], - "./component/BlockedKeys/BlockedKeys": [ - 85202 - ], - "./component/BlockedKeys/BlockedKeys.js": [ - 85202 - ], - "./component/BlockedKeys/index": [ - 38830 - ], - "./component/BlockedKeys/index.js": [ - 38830 - ], - "./component/MemoryStorage": [ - 28178, - 178 - ], - "./component/MemoryStorage/": [ - 28178, - 178 - ], - "./component/MemoryStorage/MemoryStorage": [ - 81534 - ], - "./component/MemoryStorage/MemoryStorage.js": [ - 81534 - ], - "./component/MemoryStorage/Record": [ - 60749 - ], - "./component/MemoryStorage/Record.js": [ - 60749 - ], - "./component/MemoryStorage/index": [ - 28178, - 178 - ], - "./component/MemoryStorage/index.js": [ - 28178, - 178 - ], - "./component/RateLimiterEtcdTransactionFailedError": [ - 43184 - ], - "./component/RateLimiterEtcdTransactionFailedError.js": [ - 43184 - ], - "./component/RateLimiterQueueError": [ - 27948 - ], - "./component/RateLimiterQueueError.js": [ - 27948 - ], - "./component/RateLimiterSetupError": [ - 72922 - ], - "./component/RateLimiterSetupError.js": [ - 72922 - ], - "./constants": [ - 13880, - 880 - ], - "./constants.js": [ - 13880, - 880 - ] -}; -function webpackAsyncContext(req) { - if(!__webpack_require__.o(map, req)) { - return Promise.resolve().then(() => { - var e = new Error("Cannot find module '" + req + "'"); - e.code = 'MODULE_NOT_FOUND'; - throw e; - }); - } - - var ids = map[req], id = ids[0]; - return Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => { - return __webpack_require__.t(id, 7 | 16); - }); -} -webpackAsyncContext.keys = () => (Object.keys(map)); -webpackAsyncContext.id = 65407; -module.exports = webpackAsyncContext; - -/***/ }) - -}; -; \ No newline at end of file diff --git a/dist/582.index.js b/dist/582.index.js deleted file mode 100644 index 2115d8eb..00000000 --- a/dist/582.index.js +++ /dev/null @@ -1,7679 +0,0 @@ -"use strict"; -exports.id = 582; -exports.ids = [582]; -exports.modules = { - -/***/ 37582: -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - Gitlab: () => (/* binding */ dist_Gitlab) -}); - -// UNUSED EXPORTS: AccessLevel, Agents, AlertManagement, ApplicationAppearance, ApplicationPlanLimits, ApplicationSettings, ApplicationStatistics, Applications, AuditEvents, Avatar, Branches, BroadcastMessages, CodeSuggestions, CommitDiscussions, Commits, Composer, Conan, ContainerRegistry, DashboardAnnotations, Debian, DependencyProxy, DeployKeys, DeployTokens, Deployments, DockerfileTemplates, Environments, EpicAwardEmojis, EpicDiscussions, EpicIssues, EpicLabelEvents, EpicLinks, EpicNotes, Epics, ErrorTrackingClientKeys, ErrorTrackingSettings, Events, Experiments, ExternalStatusChecks, FeatureFlagUserLists, FeatureFlags, FreezePeriods, GeoNodes, GeoSites, GitLabCIYMLTemplates, GitbeakerRequestError, GitbeakerRetryError, GitbeakerTimeoutError, GitignoreTemplates, GitlabPages, GoProxy, GroupAccessRequests, GroupAccessTokens, GroupActivityAnalytics, GroupBadges, GroupCustomAttributes, GroupDORA4Metrics, GroupEpicBoards, GroupHooks, GroupImportExports, GroupInvitations, GroupIssueBoards, GroupIterations, GroupLDAPLinks, GroupLabels, GroupMarkdownUploads, GroupMemberRoles, GroupMembers, GroupMilestones, GroupProtectedEnvironments, GroupPushRules, GroupRelationExports, GroupReleases, GroupRepositoryStorageMoves, GroupSAMLIdentities, GroupSAMLLinks, GroupSCIMIdentities, GroupServiceAccounts, GroupVariables, GroupWikis, Groups, Helm, Import, InstanceLevelCICDVariables, Integrations, IssueAwardEmojis, IssueDiscussions, IssueIterationEvents, IssueLabelEvents, IssueLinks, IssueMilestoneEvents, IssueNoteAwardEmojis, IssueNotes, IssueStateEvents, IssueWeightEvents, Issues, IssuesStatistics, JobArtifacts, Jobs, Keys, License, LicenseTemplates, LinkedEpics, Lint, Markdown, Maven, MergeRequestApprovals, MergeRequestAwardEmojis, MergeRequestContextCommits, MergeRequestDiscussions, MergeRequestDraftNotes, MergeRequestLabelEvents, MergeRequestMilestoneEvents, MergeRequestNoteAwardEmojis, MergeRequestNotes, MergeRequests, MergeTrains, Metadata, Migrations, NPM, Namespaces, NotificationSettings, NuGet, PackageRegistry, Packages, PagesDomains, PersonalAccessTokens, PipelineScheduleVariables, PipelineSchedules, PipelineTriggerTokens, Pipelines, ProductAnalytics, ProjectAccessRequests, ProjectAccessTokens, ProjectAliases, ProjectBadges, ProjectCustomAttributes, ProjectDORA4Metrics, ProjectHooks, ProjectImportExports, ProjectInvitations, ProjectIssueBoards, ProjectIterations, ProjectJobTokenScopes, ProjectLabels, ProjectMarkdownUploads, ProjectMembers, ProjectMilestones, ProjectProtectedEnvironments, ProjectPushRules, ProjectRelationsExport, ProjectReleases, ProjectRemoteMirrors, ProjectRepositoryStorageMoves, ProjectSnippetAwardEmojis, ProjectSnippetDiscussions, ProjectSnippetNotes, ProjectSnippets, ProjectStatistics, ProjectTemplates, ProjectTerraformState, ProjectVariables, ProjectVulnerabilities, ProjectWikis, Projects, ProtectedBranches, ProtectedTags, PyPI, ReleaseLinks, Repositories, RepositoryFiles, RepositorySubmodules, ResourceGroups, RubyGems, Runners, Search, SearchAdmin, SecureFiles, ServiceAccounts, ServiceData, SidekiqMetrics, SidekiqQueues, SnippetRepositoryStorageMoves, Snippets, Suggestions, SystemHooks, Tags, TodoLists, Topics, UserCustomAttributes, UserEmails, UserGPGKeys, UserImpersonationTokens, UserSSHKeys, UserStarredMetricsDashboard, Users - -// NAMESPACE OBJECT: ./node_modules/@gitbeaker/core/dist/index.mjs -var dist_namespaceObject = {}; -__webpack_require__.r(dist_namespaceObject); -__webpack_require__.d(dist_namespaceObject, { - AccessLevel: () => (AccessLevel), - Agents: () => (Agents), - AlertManagement: () => (AlertManagement), - ApplicationAppearance: () => (ApplicationAppearance), - ApplicationPlanLimits: () => (ApplicationPlanLimits), - ApplicationSettings: () => (ApplicationSettings), - ApplicationStatistics: () => (ApplicationStatistics), - Applications: () => (Applications), - AuditEvents: () => (AuditEvents), - Avatar: () => (Avatar), - Branches: () => (Branches), - BroadcastMessages: () => (BroadcastMessages), - CodeSuggestions: () => (CodeSuggestions), - CommitDiscussions: () => (CommitDiscussions), - Commits: () => (Commits), - Composer: () => (Composer), - Conan: () => (Conan), - ContainerRegistry: () => (ContainerRegistry), - DashboardAnnotations: () => (DashboardAnnotations), - Debian: () => (Debian), - DependencyProxy: () => (DependencyProxy), - DeployKeys: () => (DeployKeys), - DeployTokens: () => (DeployTokens), - Deployments: () => (Deployments), - DockerfileTemplates: () => (DockerfileTemplates), - Environments: () => (Environments), - EpicAwardEmojis: () => (EpicAwardEmojis), - EpicDiscussions: () => (EpicDiscussions), - EpicIssues: () => (EpicIssues), - EpicLabelEvents: () => (EpicLabelEvents), - EpicLinks: () => (EpicLinks), - EpicNotes: () => (EpicNotes), - Epics: () => (Epics), - ErrorTrackingClientKeys: () => (ErrorTrackingClientKeys), - ErrorTrackingSettings: () => (ErrorTrackingSettings), - Events: () => (Events), - Experiments: () => (Experiments), - ExternalStatusChecks: () => (ExternalStatusChecks), - FeatureFlagUserLists: () => (FeatureFlagUserLists), - FeatureFlags: () => (FeatureFlags), - FreezePeriods: () => (FreezePeriods), - GeoNodes: () => (GeoNodes), - GeoSites: () => (GeoSites), - GitLabCIYMLTemplates: () => (GitLabCIYMLTemplates), - GitignoreTemplates: () => (GitignoreTemplates), - Gitlab: () => (Gitlab), - GitlabPages: () => (GitlabPages), - GoProxy: () => (GoProxy), - GroupAccessRequests: () => (GroupAccessRequests), - GroupAccessTokens: () => (GroupAccessTokens), - GroupActivityAnalytics: () => (GroupActivityAnalytics), - GroupBadges: () => (GroupBadges), - GroupCustomAttributes: () => (GroupCustomAttributes), - GroupDORA4Metrics: () => (GroupDORA4Metrics), - GroupEpicBoards: () => (GroupEpicBoards), - GroupHooks: () => (GroupHooks), - GroupImportExports: () => (GroupImportExports), - GroupInvitations: () => (GroupInvitations), - GroupIssueBoards: () => (GroupIssueBoards), - GroupIterations: () => (GroupIterations), - GroupLDAPLinks: () => (GroupLDAPLinks), - GroupLabels: () => (GroupLabels), - GroupMarkdownUploads: () => (GroupMarkdownUploads), - GroupMemberRoles: () => (GroupMemberRoles), - GroupMembers: () => (GroupMembers), - GroupMilestones: () => (GroupMilestones), - GroupProtectedEnvironments: () => (GroupProtectedEnvironments), - GroupPushRules: () => (GroupPushRules), - GroupRelationExports: () => (GroupRelationExports), - GroupReleases: () => (GroupReleases), - GroupRepositoryStorageMoves: () => (GroupRepositoryStorageMoves), - GroupSAMLIdentities: () => (GroupSAMLIdentities), - GroupSAMLLinks: () => (GroupSAMLLinks), - GroupSCIMIdentities: () => (GroupSCIMIdentities), - GroupServiceAccounts: () => (GroupServiceAccounts), - GroupVariables: () => (GroupVariables), - GroupWikis: () => (GroupWikis), - Groups: () => (Groups), - Helm: () => (Helm), - Import: () => (Import), - InstanceLevelCICDVariables: () => (InstanceLevelCICDVariables), - Integrations: () => (Integrations), - IssueAwardEmojis: () => (IssueAwardEmojis), - IssueDiscussions: () => (IssueDiscussions), - IssueIterationEvents: () => (IssueIterationEvents), - IssueLabelEvents: () => (IssueLabelEvents), - IssueLinks: () => (IssueLinks), - IssueMilestoneEvents: () => (IssueMilestoneEvents), - IssueNoteAwardEmojis: () => (IssueNoteAwardEmojis), - IssueNotes: () => (IssueNotes), - IssueStateEvents: () => (IssueStateEvents), - IssueWeightEvents: () => (IssueWeightEvents), - Issues: () => (Issues), - IssuesStatistics: () => (IssuesStatistics), - JobArtifacts: () => (JobArtifacts), - Jobs: () => (Jobs), - Keys: () => (Keys), - License: () => (License), - LicenseTemplates: () => (LicenseTemplates), - LinkedEpics: () => (LinkedEpics), - Lint: () => (Lint), - Markdown: () => (Markdown), - Maven: () => (Maven), - MergeRequestApprovals: () => (MergeRequestApprovals), - MergeRequestAwardEmojis: () => (MergeRequestAwardEmojis), - MergeRequestContextCommits: () => (MergeRequestContextCommits), - MergeRequestDiscussions: () => (MergeRequestDiscussions), - MergeRequestDraftNotes: () => (MergeRequestDraftNotes), - MergeRequestLabelEvents: () => (MergeRequestLabelEvents), - MergeRequestMilestoneEvents: () => (MergeRequestMilestoneEvents), - MergeRequestNoteAwardEmojis: () => (MergeRequestNoteAwardEmojis), - MergeRequestNotes: () => (MergeRequestNotes), - MergeRequests: () => (MergeRequests), - MergeTrains: () => (MergeTrains), - Metadata: () => (Metadata), - Migrations: () => (Migrations), - NPM: () => (NPM), - Namespaces: () => (Namespaces), - NotificationSettings: () => (NotificationSettings), - NuGet: () => (NuGet), - PackageRegistry: () => (PackageRegistry), - Packages: () => (Packages), - PagesDomains: () => (PagesDomains), - PersonalAccessTokens: () => (PersonalAccessTokens), - PipelineScheduleVariables: () => (PipelineScheduleVariables), - PipelineSchedules: () => (PipelineSchedules), - PipelineTriggerTokens: () => (PipelineTriggerTokens), - Pipelines: () => (Pipelines), - ProductAnalytics: () => (ProductAnalytics), - ProjectAccessRequests: () => (ProjectAccessRequests), - ProjectAccessTokens: () => (ProjectAccessTokens), - ProjectAliases: () => (ProjectAliases), - ProjectBadges: () => (ProjectBadges), - ProjectCustomAttributes: () => (ProjectCustomAttributes), - ProjectDORA4Metrics: () => (ProjectDORA4Metrics), - ProjectHooks: () => (ProjectHooks), - ProjectImportExports: () => (ProjectImportExports), - ProjectInvitations: () => (ProjectInvitations), - ProjectIssueBoards: () => (ProjectIssueBoards), - ProjectIterations: () => (ProjectIterations), - ProjectJobTokenScopes: () => (ProjectJobTokenScopes), - ProjectLabels: () => (ProjectLabels), - ProjectMarkdownUploads: () => (ProjectMarkdownUploads), - ProjectMembers: () => (ProjectMembers), - ProjectMilestones: () => (ProjectMilestones), - ProjectProtectedEnvironments: () => (ProjectProtectedEnvironments), - ProjectPushRules: () => (ProjectPushRules), - ProjectRelationsExport: () => (ProjectRelationsExport), - ProjectReleases: () => (ProjectReleases), - ProjectRemoteMirrors: () => (ProjectRemoteMirrors), - ProjectRepositoryStorageMoves: () => (ProjectRepositoryStorageMoves), - ProjectSnippetAwardEmojis: () => (ProjectSnippetAwardEmojis), - ProjectSnippetDiscussions: () => (ProjectSnippetDiscussions), - ProjectSnippetNotes: () => (ProjectSnippetNotes), - ProjectSnippets: () => (ProjectSnippets), - ProjectStatistics: () => (ProjectStatistics), - ProjectTemplates: () => (ProjectTemplates), - ProjectTerraformState: () => (ProjectTerraformState), - ProjectVariables: () => (ProjectVariables), - ProjectVulnerabilities: () => (ProjectVulnerabilities), - ProjectWikis: () => (ProjectWikis), - Projects: () => (Projects), - ProtectedBranches: () => (ProtectedBranches), - ProtectedTags: () => (ProtectedTags), - PyPI: () => (PyPI), - ReleaseLinks: () => (ReleaseLinks), - Repositories: () => (Repositories), - RepositoryFiles: () => (RepositoryFiles), - RepositorySubmodules: () => (RepositorySubmodules), - ResourceGroups: () => (ResourceGroups), - RubyGems: () => (RubyGems), - Runners: () => (Runners), - Search: () => (Search), - SearchAdmin: () => (SearchAdmin), - SecureFiles: () => (SecureFiles), - ServiceAccounts: () => (ServiceAccounts), - ServiceData: () => (ServiceData), - SidekiqMetrics: () => (SidekiqMetrics), - SidekiqQueues: () => (SidekiqQueues), - SnippetRepositoryStorageMoves: () => (SnippetRepositoryStorageMoves), - Snippets: () => (Snippets), - Suggestions: () => (Suggestions), - SystemHooks: () => (SystemHooks), - Tags: () => (Tags), - TodoLists: () => (TodoLists), - Topics: () => (Topics), - UserCustomAttributes: () => (UserCustomAttributes), - UserEmails: () => (UserEmails), - UserGPGKeys: () => (UserGPGKeys), - UserImpersonationTokens: () => (UserImpersonationTokens), - UserSSHKeys: () => (UserSSHKeys), - UserStarredMetricsDashboard: () => (UserStarredMetricsDashboard), - Users: () => (Users) -}); - -// EXTERNAL MODULE: ./node_modules/@gitbeaker/requester-utils/dist/index.mjs -var dist = __webpack_require__(33888); -// EXTERNAL MODULE: ./node_modules/xcase/es5/index.js -var es5 = __webpack_require__(4908); -// EXTERNAL MODULE: ./node_modules/qs/lib/index.js -var lib = __webpack_require__(40240); -;// CONCATENATED MODULE: ./node_modules/@gitbeaker/core/dist/index.mjs - - - - -// src/resources/Agents.ts -function appendFormFromObject(object) { - const form = new FormData(); - Object.entries(object).forEach(([k, v]) => { - if (v == null) return; - if (Array.isArray(v)) form.append(k, v[0], v[1]); - else form.append(k, v); - }); - return form; -} -var RawPathSegment = class { - value; - constructor(value) { - this.value = value; - } - toString() { - return this.value; - } -}; -function endpoint(strings, ...values) { - return values.reduce((result, value, index) => { - const encodedValue = value instanceof RawPathSegment ? value.value : encodeURIComponent(String(value)); - return result + encodedValue + strings[index + 1]; - }, strings[0]); -} -function parseLinkHeader(linkString) { - const output = {}; - const regex = /<([^>]+)>; rel="([^"]+)"/g; - let m; - while (m = regex.exec(linkString)) { - const [, v, k] = m; - output[k] = v; - } - return output; -} -function reformatObjectOptions(obj, prefixKey, decamelizeValues = false) { - const formatted = decamelizeValues ? (0,es5/* decamelizeKeys */.I8)(obj) : obj; - return lib.stringify({ [prefixKey]: formatted }, { encode: false }).split("&").reduce((acc, cur) => { - const [key, val] = cur.split(/=(.*)/); - acc[key] = val; - return acc; - }, {}); -} -function packageResponse(response, showExpanded) { - return showExpanded ? { - data: response.body, - status: response.status, - headers: response.headers - } : response.body; -} -function getStream(response, showExpanded) { - return packageResponse(response, showExpanded); -} -function getSingle(camelize, response, showExpanded) { - const { status, headers } = response; - let { body } = response; - if (camelize) body = (0,es5/* camelizeKeys */.bn)(body); - return packageResponse({ body, status, headers }, showExpanded); -} -async function getManyMore(camelize, getFn, endpoint2, response, requestOptions, acc) { - const { sudo, showExpanded, maxPages, pagination, page, perPage, idAfter, orderBy, sort } = requestOptions; - if (camelize) response.body = (0,es5/* camelizeKeys */.bn)(response?.body); - const newAcc = [...acc || [], ...response.body]; - const withinBounds = maxPages && perPage ? newAcc.length / +perPage < maxPages : true; - const { next = "" } = parseLinkHeader(response.headers.link); - if (!(page && (acc || []).length === 0) && next && withinBounds) { - const parsedQueryString = (0,lib.parse)(next.split("?")[1]); - const qs = { ...(0,es5/* camelizeKeys */.bn)(parsedQueryString) }; - const newOpts = { - ...qs, - maxPages, - sudo, - showExpanded - }; - const nextResponse = await getFn(endpoint2, { - searchParams: qs, - sudo - }); - return getManyMore(camelize, getFn, endpoint2, nextResponse, newOpts, newAcc); - } - if (!showExpanded) return newAcc; - const paginationInfo = pagination === "keyset" ? { - idAfter: idAfter ? +idAfter : null, - perPage: perPage ? +perPage : null, - orderBy, - sort - } : { - total: parseInt(response.headers["x-total"], 10), - next: parseInt(response.headers["x-next-page"], 10) || null, - current: parseInt(response.headers["x-page"], 10) || 1, - previous: parseInt(response.headers["x-prev-page"], 10) || null, - perPage: parseInt(response.headers["x-per-page"], 10), - totalPages: parseInt(response.headers["x-total-pages"], 10) - }; - return { - data: newAcc, - paginationInfo - }; -} -function get() { - return async (service, endpoint2, options) => { - const { asStream, sudo, showExpanded, maxPages, ...searchParams } = options || {}; - const signal = service.queryTimeout ? AbortSignal.timeout(service.queryTimeout) : void 0; - const response = await service.requester.get(endpoint2, { - searchParams, - sudo, - asStream, - signal - }); - const camelizeResponseBody = service.camelize || false; - if (asStream) return getStream(response, showExpanded); - if (!Array.isArray(response.body)) - return getSingle( - camelizeResponseBody, - response, - showExpanded - ); - const reqOpts = { - sudo, - showExpanded, - maxPages, - ...searchParams - }; - return getManyMore( - camelizeResponseBody, - (ep, op) => service.requester.get(ep, { ...op, signal }), - endpoint2, - response, - reqOpts - ); - }; -} -function post() { - return async (service, endpoint2, { searchParams, isForm, sudo, showExpanded, ...options } = {}) => { - const body = isForm ? appendFormFromObject(options) : options; - const response = await service.requester.post(endpoint2, { - searchParams, - body, - sudo, - signal: service.queryTimeout ? AbortSignal.timeout(service.queryTimeout) : void 0 - }); - if (service.camelize) response.body = (0,es5/* camelizeKeys */.bn)(response.body); - return packageResponse(response, showExpanded); - }; -} -function put() { - return async (service, endpoint2, { searchParams, isForm, sudo, showExpanded, ...options } = {}) => { - const body = isForm ? appendFormFromObject(options) : options; - const response = await service.requester.put(endpoint2, { - body, - searchParams, - sudo, - signal: service.queryTimeout ? AbortSignal.timeout(service.queryTimeout) : void 0 - }); - if (service.camelize) response.body = (0,es5/* camelizeKeys */.bn)(response.body); - return packageResponse(response, showExpanded); - }; -} -function patch() { - return async (service, endpoint2, { searchParams, isForm, sudo, showExpanded, ...options } = {}) => { - const body = isForm ? appendFormFromObject(options) : options; - const response = await service.requester.patch(endpoint2, { - body, - searchParams, - sudo, - signal: service.queryTimeout ? AbortSignal.timeout(service.queryTimeout) : void 0 - }); - if (service.camelize) response.body = (0,es5/* camelizeKeys */.bn)(response.body); - return packageResponse(response, showExpanded); - }; -} -function del() { - return async (service, endpoint2, { sudo, showExpanded, searchParams, ...options } = {}) => { - const response = await service.requester.delete(endpoint2, { - body: options, - searchParams, - sudo, - signal: service.queryTimeout ? AbortSignal.timeout(service.queryTimeout) : void 0 - }); - return packageResponse(response, showExpanded); - }; -} -var RequestHelper = { - post, - put, - patch, - get, - del -}; - -// src/resources/Agents.ts -var Agents = class extends dist/* BaseResource */.Qx { - all(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/cluster_agents`, - options - ); - } - allTokens(projectId, agentId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/cluster_agents/${agentId}/tokens`, - options - ); - } - createToken(projectId, agentId, name, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/cluster_agents/${agentId}/tokens`, - { - name, - ...options - } - ); - } - show(projectId, agentId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/cluster_agents/${agentId}`, - options - ); - } - showToken(projectId, agentId, tokenId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/cluster_agents/${agentId}/tokens/${tokenId}`, - options - ); - } - register(projectId, name, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/cluster_agents`, - { - name, - ...options - } - ); - } - removeToken(projectId, agentId, tokenId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/cluster_agents/${agentId}/tokens/${tokenId}`, - options - ); - } - unregister(projectId, agentId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/cluster_agents/${agentId}`, - options - ); - } -}; -var AlertManagement = class extends dist/* BaseResource */.Qx { - allMetricImages(projectId, alertIId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/alert_management_alerts/${alertIId}/metric_images`, - options - ); - } - editMetricImage(projectId, alertIId, imageId, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/alert_management_alerts/${alertIId}/metric_images/${imageId}`, - options - ); - } - removeMetricImage(projectId, alertIId, imageId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/alert_management_alerts/${alertIId}/metric_images/${imageId}`, - options - ); - } - uploadMetricImage(projectId, alertIId, metricImage, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/alert_management_alerts/${alertIId}/metric_images`, - { - isForm: true, - file: [metricImage.content, metricImage.filename], - ...options - } - ); - } -}; -var ApplicationAppearance = class extends dist/* BaseResource */.Qx { - show(options) { - return RequestHelper.get()( - this, - "application/appearence", - options - ); - } - edit({ - logo, - pwaIcon, - ...options - } = {}) { - if (logo || pwaIcon) { - const opts = { - ...options, - isForm: true - }; - if (logo) opts.logo = [logo.content, logo.filename]; - if (pwaIcon) opts.pwaIcon = [pwaIcon.content, pwaIcon.filename]; - return RequestHelper.put()(this, "application/appearence", opts); - } - return RequestHelper.put()( - this, - "application/appearence", - options - ); - } -}; -var ApplicationPlanLimits = class extends dist/* BaseResource */.Qx { - show(options) { - return RequestHelper.get()( - this, - "application/plan_limits", - options - ); - } - edit(planName, options = {}) { - const { - ciPipelineSize, - ciActiveJobs, - ciActivePipelines, - ciProjectSubscriptions, - ciPipelineSchedules, - ciNeedsSizeLimit, - ciRegisteredGroupRunners, - ciRegisteredProjectRunners, - conanMaxFileSize, - genericPackagesMaxFileSize, - helmMaxFileSize, - mavenMaxFileSize, - npmMaxFileSize, - nugetMaxFileSize, - pypiMaxFileSize, - terraformModuleMaxFileSize, - storageSizeLimit, - ...opts - } = options; - return RequestHelper.put()(this, "application/plan_limits", { - ...opts, - searchParams: { - planName, - ciPipelineSize, - ciActiveJobs, - ciActivePipelines, - ciProjectSubscriptions, - ciPipelineSchedules, - ciNeedsSizeLimit, - ciRegisteredGroupRunners, - ciRegisteredProjectRunners, - conanMaxFileSize, - genericPackagesMaxFileSize, - helmMaxFileSize, - mavenMaxFileSize, - npmMaxFileSize, - nugetMaxFileSize, - pypiMaxFileSize, - terraformModuleMaxFileSize, - storageSizeLimit - } - }); - } -}; -var ApplicationSettings = class extends dist/* BaseResource */.Qx { - show(options) { - return RequestHelper.get()(this, "application/settings", options); - } - edit(options) { - return RequestHelper.put()(this, "application/settings", options); - } -}; -var ApplicationStatistics = class extends dist/* BaseResource */.Qx { - show(options) { - return RequestHelper.get()(this, "application/statistics", options); - } -}; -var Applications = class extends dist/* BaseResource */.Qx { - all(options) { - return RequestHelper.get()(this, "applications", options); - } - create(name, redirectUri, scopes, options) { - return RequestHelper.post()(this, "applications", { - name, - redirectUri, - scopes, - ...options - }); - } - remove(applicationId, options) { - return RequestHelper.del()(this, `applications/${applicationId}`, options); - } -}; -function url({ - projectId, - groupId -} = {}) { - let prefix = ""; - if (projectId) prefix = endpoint`projects/${projectId}/`; - else if (groupId) prefix = endpoint`groups/${groupId}/`; - return `${prefix}audit_events`; -} -var AuditEvents = class extends dist/* BaseResource */.Qx { - all({ - projectId, - groupId, - ...options - } = {}) { - const uri = url({ projectId, groupId }); - return RequestHelper.get()( - this, - uri, - options - ); - } - show(auditEventId, { - projectId, - groupId, - ...options - } = {}) { - const uri = url({ projectId, groupId }); - return RequestHelper.get()(this, `${uri}/${auditEventId}`, options); - } -}; -var Avatar = class extends dist/* BaseResource */.Qx { - show(email, options) { - return RequestHelper.get()(this, "avatar", { email, ...options }); - } -}; -var BroadcastMessages = class extends dist/* BaseResource */.Qx { - all(options) { - return RequestHelper.get()(this, "broadcast_messages", options); - } - create(options) { - return RequestHelper.post()(this, "broadcast_messages", options); - } - edit(broadcastMessageId, options) { - return RequestHelper.put()( - this, - `broadcast_messages/${broadcastMessageId}`, - options - ); - } - remove(broadcastMessageId, options) { - return RequestHelper.del()(this, `broadcast_messages/${broadcastMessageId}`, options); - } - show(broadcastMessageId, options) { - return RequestHelper.get()( - this, - `broadcast_messages/${broadcastMessageId}`, - options - ); - } -}; -var CodeSuggestions = class extends dist/* BaseResource */.Qx { - createAccessToken(options) { - return RequestHelper.post()(this, "code_suggestions/tokens", options); - } - generateCompletion(options) { - return RequestHelper.post()( - this, - "code_suggestions/completions", - options - ); - } -}; -var Composer = class extends dist/* BaseResource */.Qx { - create(projectId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/packages/composer`, - options - ); - } - download(projectId, packageName, sha, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/packages/composer/archives/${packageName}`, - { - searchParams: { sha }, - ...options - } - ); - } - showMetadata(groupId, packageName, options) { - let url12; - if (options && options.sha) { - url12 = endpoint`groups/${groupId}/-/packages/composer/${packageName}$${options.sha}`; - } else { - url12 = endpoint`groups/${groupId}/-/packages/composer/p2/${packageName}`; - } - return RequestHelper.get()(this, url12, options); - } - showPackages(groupId, sha, options) { - return RequestHelper.get()( - this, - endpoint`groups/${groupId}/-/packages/composer/p/${sha}`, - options - ); - } - showBaseRepository(groupId, options) { - const clonedService = { ...this }; - if (options && options.composerVersion === "2") { - clonedService.headers["User-Agent"] = "Composer/2"; - } - return RequestHelper.get()( - clonedService, - endpoint`groups/${groupId}/-/packages/composer/packages`, - options - ); - } -}; -function url2(projectId) { - return projectId ? endpoint`projects/${projectId}/packages/conan/v1` : "packages/conan/v1"; -} -var Conan = class extends dist/* BaseResource */.Qx { - authenticate({ - projectId, - ...options - } = {}) { - return RequestHelper.get()(this, `${url2(projectId)}/users/authenticate`, options); - } - checkCredentials({ - projectId, - ...options - } = {}) { - const prefix = url2(projectId); - return RequestHelper.get()(this, `${prefix}/users/check_credentials`, options); - } - downloadPackageFile(packageName, packageVersion, packageUsername, packageChannel, conanPackageReference, recipeRevision, packageRevision, filename, { projectId, ...options } = {}) { - const prefix = url2(projectId); - return RequestHelper.get()( - this, - `${prefix}/conans/${packageName}/${packageVersion}/${packageUsername}/${packageChannel}/${recipeRevision}/package/${conanPackageReference}/${packageRevision}/${filename}`, - options - ); - } - downloadRecipeFile(packageName, packageVersion, packageUsername, packageChannel, recipeRevision, filename, { projectId, ...options } = {}) { - const prefix = url2(projectId); - return RequestHelper.get()( - this, - `${prefix}/conans/${packageName}/${packageVersion}/${packageUsername}/${packageChannel}/${recipeRevision}/export/${filename}`, - options - ); - } - showPackageUploadUrls(packageName, packageVersion, packageUsername, packageChannel, conanPackageReference, { projectId, ...options } = {}) { - const prefix = url2(projectId); - return RequestHelper.get()( - this, - `${prefix}/conans/${packageName}/${packageVersion}/${packageUsername}/${packageChannel}/packages/${conanPackageReference}/upload_urls`, - options - ); - } - showPackageDownloadUrls(packageName, packageVersion, packageUsername, packageChannel, conanPackageReference, { projectId, ...options } = {}) { - const prefix = url2(projectId); - return RequestHelper.get()( - this, - `${prefix}/conans/${packageName}/${packageVersion}/${packageUsername}/${packageChannel}/packages/${conanPackageReference}/download_urls`, - options - ); - } - showPackageManifest(packageName, packageVersion, packageUsername, packageChannel, conanPackageReference, { projectId, ...options } = {}) { - const prefix = url2(projectId); - return RequestHelper.get()( - this, - `${prefix}/conans/${packageName}/${packageVersion}/${packageUsername}/${packageChannel}/packages/${conanPackageReference}/digest`, - options - ); - } - showPackageSnapshot(packageName, packageVersion, packageUsername, packageChannel, conanPackageReference, { projectId, ...options } = {}) { - const prefix = url2(projectId); - return RequestHelper.get()( - this, - `${prefix}/conans/${packageName}/${packageVersion}/${packageUsername}/${packageChannel}/packages/${conanPackageReference}`, - options - ); - } - ping({ - projectId, - ...options - } = {}) { - return RequestHelper.post()(this, `${url2(projectId)}/ping`, options); - } - showRecipeUploadUrls(packageName, packageVersion, packageUsername, packageChannel, { projectId, ...options } = {}) { - const prefix = url2(projectId); - return RequestHelper.get()( - this, - `${prefix}/conans/${packageName}/${packageVersion}/${packageUsername}/${packageChannel}/upload_urls`, - options - ); - } - showRecipeDownloadUrls(packageName, packageVersion, packageUsername, packageChannel, { projectId, ...options } = {}) { - const prefix = url2(projectId); - return RequestHelper.get()( - this, - `${prefix}/conans/${packageName}/${packageVersion}/${packageUsername}/${packageChannel}/download_urls`, - options - ); - } - showRecipeManifest(packageName, packageVersion, packageUsername, packageChannel, { projectId, ...options } = {}) { - const prefix = url2(projectId); - return RequestHelper.get()( - this, - `${prefix}/conans/${packageName}/${packageVersion}/${packageUsername}/${packageChannel}/digest`, - options - ); - } - showRecipeSnapshot(packageName, packageVersion, packageUsername, packageChannel, { projectId, ...options } = {}) { - const prefix = url2(projectId); - return RequestHelper.get()( - this, - `${prefix}/conans/${packageName}/${packageVersion}/${packageUsername}/${packageChannel}`, - options - ); - } - removePackageFile(packageName, packageVersion, packageUsername, packageChannel, { projectId, ...options } = {}) { - const prefix = url2(projectId); - return RequestHelper.get()( - this, - `${prefix}/conans/${packageName}/${packageVersion}/${packageUsername}/${packageChannel}`, - options - ); - } - search({ - projectId, - ...options - } = {}) { - const prefix = url2(projectId); - return RequestHelper.get()(this, `${prefix}/conans/search`, options); - } - uploadPackageFile(packageFile, packageName, packageVersion, packageUsername, packageChannel, conanPackageReference, recipeRevision, packageRevision, options) { - const prefix = url2(); - return RequestHelper.get()( - this, - `${prefix}/files/${packageName}/${packageVersion}/${packageUsername}/${packageChannel}/${recipeRevision}/package/${conanPackageReference}/${packageRevision}/${packageFile.filename}`, - { - isForm: true, - ...options, - file: [packageFile.content, packageFile.filename] - } - ); - } - uploadRecipeFile(packageFile, packageName, packageVersion, packageUsername, packageChannel, recipeRevision, options) { - const prefix = url2(); - return RequestHelper.get()( - this, - `${prefix}/files/${packageName}/${packageVersion}/${packageUsername}/${packageChannel}/${recipeRevision}/export/${packageFile.filename}`, - { - isForm: true, - ...options, - file: [packageFile.content, packageFile.filename] - } - ); - } -}; -var DashboardAnnotations = class extends dist/* BaseResource */.Qx { - create(dashboardPath, startingAt, description, { - environmentId, - clusterId, - ...options - } = {}) { - let url12; - if (environmentId) url12 = endpoint`environments/${environmentId}/metrics_dashboard/annotations`; - else if (clusterId) url12 = endpoint`clusters/${clusterId}/metrics_dashboard/annotations`; - else - throw new Error( - "Missing required argument. Please supply a environmentId or a cluserId in the options parameter." - ); - return RequestHelper.post()(this, url12, { - dashboardPath, - startingAt, - description, - ...options - }); - } -}; -function url3({ - projectId, - groupId -} = {}) { - if (projectId) return endpoint`/projects/${projectId}/packages/debian`; - if (groupId) return endpoint`/groups/${groupId}/-/packages/debian`; - throw new Error( - "Missing required argument. Please supply a projectId or a groupId in the options parameter" - ); -} -var Debian = class extends dist/* BaseResource */.Qx { - downloadBinaryFileIndex(distribution, component, architecture, { - projectId, - groupId, - ...options - }) { - const prefix = url3({ - projectId, - groupId - }); - return RequestHelper.get()( - this, - `${prefix}/dists/${distribution}/${component}/binary-${architecture}/Packages`, - options - ); - } - downloadDistributionReleaseFile(distribution, { - projectId, - groupId, - ...options - }) { - const prefix = url3({ - projectId, - groupId - }); - return RequestHelper.get()( - this, - `${prefix}/dists/${distribution}/Release`, - options - ); - } - downloadSignedDistributionReleaseFile(distribution, { - projectId, - groupId, - ...options - }) { - const prefix = url3({ - projectId, - groupId - }); - return RequestHelper.get()( - this, - `${prefix}/dists/${distribution}/InRelease`, - options - ); - } - downloadReleaseFileSignature(distribution, { - projectId, - groupId, - ...options - }) { - const prefix = url3({ - projectId, - groupId - }); - return RequestHelper.get()( - this, - `${prefix}/dists/${distribution}/Release.gpg`, - options - ); - } - downloadPackageFile(projectId, distribution, letter, packageName, packageVersion, filename, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/packages/debian/pool/${distribution}/${letter}/${packageName}/${packageVersion}/${filename}`, - options - ); - } - uploadPackageFile(projectId, packageFile, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/packages/debian/${packageFile.filename}`, - { - isForm: true, - ...options, - file: [packageFile.content, packageFile.filename] - } - ); - } -}; -var DependencyProxy = class extends dist/* BaseResource */.Qx { - remove(groupId, options) { - return RequestHelper.post()(this, `groups/${groupId}/dependency_proxy/cache`, options); - } -}; -var DeployKeys = class extends dist/* BaseResource */.Qx { - all({ - projectId, - userId, - ...options - } = {}) { - let url12; - if (projectId) { - url12 = endpoint`projects/${projectId}/deploy_keys`; - } else if (userId) { - url12 = endpoint`users/${userId}/project_deploy_keys`; - } else { - url12 = "deploy_keys"; - } - return RequestHelper.get()(this, url12, options); - } - create(projectId, title, key, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/deploy_keys`, - { - title, - key, - ...options - } - ); - } - edit(projectId, keyId, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/deploy_keys/${keyId}`, - options - ); - } - enable(projectId, keyId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/deploy_keys/${keyId}/enable`, - options - ); - } - remove(projectId, keyId, options) { - return RequestHelper.del()(this, endpoint`projects/${projectId}/deploy_keys/${keyId}`, options); - } - show(projectId, keyId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/deploy_keys/${keyId}`, - options - ); - } -}; -var DeployTokens = class extends dist/* BaseResource */.Qx { - all({ - projectId, - groupId, - ...options - } = {}) { - let url12; - if (projectId) url12 = endpoint`projects/${projectId}/deploy_tokens`; - else if (groupId) url12 = endpoint`groups/${groupId}/deploy_tokens`; - else url12 = "deploy_tokens"; - return RequestHelper.get()(this, url12, options); - } - create(name, scopes, { - projectId, - groupId, - ...options - } = {}) { - let url12; - if (projectId) url12 = endpoint`projects/${projectId}/deploy_tokens`; - else if (groupId) url12 = endpoint`groups/${groupId}/deploy_tokens`; - else { - throw new Error( - "Missing required argument. Please supply a projectId or a groupId in the options parameter." - ); - } - return RequestHelper.post()(this, url12, { - name, - scopes, - ...options - }); - } - remove(tokenId, { - projectId, - groupId, - ...options - } = {}) { - let url12; - if (projectId) url12 = endpoint`projects/${projectId}/deploy_tokens/${tokenId}`; - else if (groupId) url12 = endpoint`groups/${groupId}/deploy_tokens/${tokenId}`; - else { - throw new Error( - "Missing required argument. Please supply a projectId or a groupId in the options parameter." - ); - } - return RequestHelper.del()(this, url12, options); - } - show(tokenId, { - projectId, - groupId, - ...options - } = {}) { - let url12; - if (projectId) url12 = endpoint`projects/${projectId}/deploy_tokens/${tokenId}`; - else if (groupId) url12 = endpoint`groups/${groupId}/deploy_tokens/${tokenId}`; - else { - throw new Error( - "Missing required argument. Please supply a projectId or a groupId in the options parameter." - ); - } - return RequestHelper.get()( - this, - url12, - options - ); - } -}; -var ResourceAccessRequests = class extends dist/* BaseResource */.Qx { - constructor(resourceType, options) { - super({ prefixUrl: resourceType, ...options }); - } - all(resourceId, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/access_requests`, - options - ); - } - request(resourceId, options) { - return RequestHelper.post()( - this, - endpoint`${resourceId}/access_requests`, - options - ); - } - approve(resourceId, userId, options) { - return RequestHelper.put()( - this, - endpoint`${resourceId}/access_requests/${userId}/approve`, - options - ); - } - deny(resourceId, userId, options) { - return RequestHelper.del()(this, endpoint`${resourceId}/access_requests/${userId}`, options); - } -}; -var ResourceAccessTokens = class extends dist/* BaseResource */.Qx { - constructor(resourceType, options) { - super({ prefixUrl: resourceType, ...options }); - } - all(resourceId, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/access_tokens`, - options - ); - } - create(resourceId, name, scopes, expiresAt, options) { - return RequestHelper.post()( - this, - endpoint`${resourceId}/access_tokens`, - { - name, - scopes, - expiresAt, - ...options - } - ); - } - revoke(resourceId, tokenId, options) { - return RequestHelper.del()(this, endpoint`${resourceId}/access_tokens/${tokenId}`, options); - } - rotate(resourceId, tokenId, options) { - return RequestHelper.post()( - this, - endpoint`${resourceId}/access_tokens/${tokenId}/rotate`, - options - ); - } - show(resourceId, tokenId, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/access_tokens/${tokenId}`, - options - ); - } -}; -function url4(resourceId, resourceType2, resourceId2, awardId) { - const [rId, rId2] = [resourceId, resourceId2].map(encodeURIComponent); - const output = [rId, resourceType2, rId2]; - output.push("award_emoji"); - if (awardId) output.push(awardId); - return output.join("/"); -} -var ResourceAwardEmojis = class extends dist/* BaseResource */.Qx { - resourceType2; - constructor(resourceType1, resourceType2, options) { - super({ prefixUrl: resourceType1, ...options }); - this.resourceType2 = resourceType2; - } - all(resourceId, resourceIId, options) { - return RequestHelper.get()( - this, - url4(resourceId, this.resourceType2, resourceIId), - options - ); - } - award(resourceId, resourceIId, name, options) { - return RequestHelper.post()( - this, - url4(resourceId, this.resourceType2, resourceIId), - { - name, - ...options - } - ); - } - remove(resourceId, resourceIId, awardId, options) { - return RequestHelper.del()( - this, - url4(resourceId, this.resourceType2, resourceIId, awardId), - options - ); - } - show(resourceId, resourceIId, awardId, options) { - return RequestHelper.get()( - this, - url4(resourceId, this.resourceType2, resourceIId, awardId), - options - ); - } -}; -function url5(resourceId, resourceType2, resourceId2, noteId, awardId) { - const [rId, rId2] = [resourceId, resourceId2].map(encodeURIComponent); - const output = [rId, resourceType2, rId2]; - output.push("notes"); - output.push(noteId); - output.push("award_emoji"); - if (awardId) output.push(awardId); - return output.join("/"); -} -var ResourceNoteAwardEmojis = class extends dist/* BaseResource */.Qx { - resourceType; - constructor(resourceType, options) { - super({ prefixUrl: "projects", ...options }); - this.resourceType = resourceType; - } - all(projectId, resourceIId, noteId, options) { - return RequestHelper.get()( - this, - url5(projectId, this.resourceType, resourceIId, noteId), - options - ); - } - award(projectId, resourceIId, noteId, name, options) { - return RequestHelper.post()( - this, - url5(projectId, this.resourceType, resourceIId, noteId), - { - name, - ...options - } - ); - } - remove(projectId, resourceIId, noteId, awardId, options) { - return RequestHelper.del()( - this, - url5(projectId, this.resourceType, resourceIId, noteId, awardId), - options - ); - } - show(projectId, resourceIId, noteId, awardId, options) { - return RequestHelper.get()( - this, - url5(projectId, this.resourceType, resourceIId, noteId, awardId), - options - ); - } -}; -var ResourceBadges = class extends dist/* BaseResource */.Qx { - constructor(resourceType, options) { - super({ prefixUrl: resourceType, ...options }); - } - add(resourceId, linkUrl, imageUrl, options) { - return RequestHelper.post()(this, endpoint`${resourceId}/badges`, { - linkUrl, - imageUrl, - ...options - }); - } - all(resourceId, options) { - return RequestHelper.get()(this, endpoint`${resourceId}/badges`, options); - } - edit(resourceId, badgeId, options) { - return RequestHelper.put()( - this, - endpoint`${resourceId}/badges/${badgeId}`, - options - ); - } - preview(resourceId, linkUrl, imageUrl, options) { - return RequestHelper.get()(this, endpoint`${resourceId}/badges/render`, { - linkUrl, - imageUrl, - ...options - }); - } - remove(resourceId, badgeId, options) { - return RequestHelper.del()(this, endpoint`${resourceId}/badges/${badgeId}`, options); - } - show(resourceId, badgeId, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/badges/${badgeId}`, - options - ); - } -}; -var ResourceCustomAttributes = class extends dist/* BaseResource */.Qx { - constructor(resourceType, options) { - super({ prefixUrl: resourceType, ...options }); - } - all(resourceId, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/custom_attributes`, - options - ); - } - remove(resourceId, customAttributeId, options) { - return RequestHelper.del()( - this, - endpoint`${resourceId}/custom_attributes/${customAttributeId}`, - options - ); - } - set(resourceId, customAttributeId, value, options) { - return RequestHelper.put()( - this, - endpoint`${resourceId}/custom_attributes/${customAttributeId}`, - { - value, - ...options - } - ); - } - show(resourceId, customAttributeId, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/custom_attributes/${customAttributeId}`, - options - ); - } -}; -var ResourceDORA4Metrics = class extends dist/* BaseResource */.Qx { - constructor(resourceType, options) { - super({ prefixUrl: resourceType, ...options }); - } - all(resourceId, metric, options) { - return RequestHelper.get()(this, endpoint`${resourceId}/dora/metrics`, { - metric, - ...options - }); - } -}; -var ResourceDiscussions = class extends dist/* BaseResource */.Qx { - resource2Type; - constructor(resourceType, resource2Type, options) { - super({ prefixUrl: resourceType, ...options }); - this.resource2Type = resource2Type; - } - addNote(resourceId, resource2Id, discussionId, body, options) { - return RequestHelper.post()( - this, - endpoint`${resourceId}/${this.resource2Type}/${resource2Id}/discussions/${discussionId}/notes`, - { ...options, body } - ); - } - all(resourceId, resource2Id, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/${this.resource2Type}/${resource2Id}/discussions`, - options - ); - } - create(resourceId, resource2Id, body, { - position, - ...options - } = {}) { - const opts = { ...options, body }; - if (position) { - Object.assign(opts, reformatObjectOptions(position, "position", true)); - opts.isForm = true; - } - return RequestHelper.post()( - this, - endpoint`${resourceId}/${this.resource2Type}/${resource2Id}/discussions`, - opts - ); - } - editNote(resourceId, resource2Id, discussionId, noteId, options) { - return RequestHelper.put()( - this, - endpoint`${resourceId}/${this.resource2Type}/${resource2Id}/discussions/${discussionId}/notes/${noteId}`, - options - ); - } - removeNote(resourceId, resource2Id, discussionId, noteId, options) { - return RequestHelper.del()( - this, - endpoint`${resourceId}/${this.resource2Type}/${resource2Id}/discussions/${discussionId}/notes/${noteId}`, - options - ); - } - show(resourceId, resource2Id, discussionId, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/${this.resource2Type}/${resource2Id}/discussions/${discussionId}`, - options - ); - } -}; -var ResourceIssueBoards = class extends dist/* BaseResource */.Qx { - constructor(resourceType, options) { - super({ prefixUrl: resourceType, ...options }); - } - all(resourceId, options) { - return RequestHelper.get()(this, endpoint`${resourceId}/boards`, options); - } - allLists(resourceId, boardId, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/boards/${boardId}/lists`, - options - ); - } - create(resourceId, name, options) { - return RequestHelper.post()(this, endpoint`${resourceId}/boards`, { - name, - ...options - }); - } - createList(resourceId, boardId, options) { - return RequestHelper.post()( - this, - endpoint`${resourceId}/boards/${boardId}/lists`, - options - ); - } - edit(resourceId, boardId, options) { - return RequestHelper.put()( - this, - endpoint`${resourceId}/boards/${boardId}`, - options - ); - } - editList(resourceId, boardId, listId, position, options) { - return RequestHelper.put()( - this, - endpoint`${resourceId}/boards/${boardId}/lists/${listId}`, - { - position, - ...options - } - ); - } - remove(resourceId, boardId, options) { - return RequestHelper.del()(this, endpoint`${resourceId}/boards/${boardId}`, options); - } - removeList(resourceId, boardId, listId, options) { - return RequestHelper.del()( - this, - endpoint`${resourceId}/boards/${boardId}/lists/${listId}`, - options - ); - } - show(resourceId, boardId, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/boards/${boardId}`, - options - ); - } - showList(resourceId, boardId, listId, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/boards/${boardId}/lists/${listId}`, - options - ); - } -}; -var ResourceLabels = class extends dist/* BaseResource */.Qx { - constructor(resourceType, options) { - super({ prefixUrl: resourceType, ...options }); - } - all(resourceId, options) { - return RequestHelper.get()(this, endpoint`${resourceId}/labels`, options); - } - create(resourceId, labelName, color, options) { - return RequestHelper.post()(this, endpoint`${resourceId}/labels`, { - name: labelName, - color, - ...options - }); - } - edit(resourceId, labelId, options) { - if (!options?.newName && !options?.color) - throw new Error( - "Missing required argument. Please supply a color or a newName in the options parameter." - ); - return RequestHelper.put()( - this, - endpoint`${resourceId}/labels/${labelId}`, - options - ); - } - promote(resourceId, labelId, options) { - return RequestHelper.put()( - this, - endpoint`${resourceId}/labels/${labelId}/promote`, - options - ); - } - remove(resourceId, labelId, options) { - return RequestHelper.del()(this, endpoint`${resourceId}/labels/${labelId}`, options); - } - show(resourceId, labelId, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/labels/${labelId}`, - options - ); - } - subscribe(resourceId, labelId, options) { - return RequestHelper.post()( - this, - endpoint`${resourceId}/issues/${labelId}/subscribe`, - options - ); - } - unsubscribe(resourceId, labelId, options) { - return RequestHelper.post()( - this, - endpoint`${resourceId}/issues/${labelId}/unsubscribe`, - options - ); - } -}; -var ResourceMarkdownUploads = class extends dist/* BaseResource */.Qx { - constructor(resourceType, options) { - super({ prefixUrl: resourceType, ...options }); - } - all(resourceId, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/uploads`, - options - ); - } - download(resourceId, uploadIdOrSecret, filename, options) { - if (filename && typeof filename === "string") { - return RequestHelper.get()( - this, - endpoint`${resourceId}/uploads/${uploadIdOrSecret}/${filename}`, - options - ); - } - return RequestHelper.get()( - this, - endpoint`${resourceId}/uploads/${uploadIdOrSecret}`, - options - ); - } - remove(resourceId, uploadIdOrSecret, filename, options) { - if (filename && typeof filename === "string") { - return RequestHelper.del()( - this, - endpoint`${resourceId}/uploads/${uploadIdOrSecret}/${filename}`, - options - ); - } - return RequestHelper.del()(this, endpoint`${resourceId}/uploads/${uploadIdOrSecret}`, options); - } -}; -var ResourceMembers = class extends dist/* BaseResource */.Qx { - constructor(resourceType, options) { - super({ prefixUrl: resourceType, ...options }); - } - add(resourceId, accessLevel, options) { - return RequestHelper.post()(this, endpoint`${resourceId}/members`, { - accessLevel, - ...options - }); - } - all(resourceId, { - includeInherited, - ...options - } = {}) { - let url12 = endpoint`${resourceId}/members`; - if (includeInherited) url12 += "/all"; - return RequestHelper.get()(this, url12, options); - } - edit(resourceId, userId, accessLevel, options) { - return RequestHelper.put()(this, endpoint`${resourceId}/members/${userId}`, { - accessLevel, - ...options - }); - } - show(resourceId, userId, { includeInherited, ...options } = {}) { - const [rId, uId] = [resourceId, userId].map(encodeURIComponent); - const url12 = [rId, "members"]; - if (includeInherited) url12.push("all"); - url12.push(uId); - return RequestHelper.get()(this, url12.join("/"), options); - } - remove(resourceId, userId, options) { - return RequestHelper.del()(this, endpoint`${resourceId}/members/${userId}`, options); - } -}; -var ResourceMilestones = class extends dist/* BaseResource */.Qx { - constructor(resourceType, options) { - super({ prefixUrl: resourceType, ...options }); - } - all(resourceId, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/milestones`, - options - ); - } - allAssignedIssues(resourceId, milestoneId, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/milestones/${milestoneId}/issues`, - options - ); - } - allAssignedMergeRequests(resourceId, milestoneId, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/milestones/${milestoneId}/merge_requests`, - options - ); - } - allBurndownChartEvents(resourceId, milestoneId, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/milestones/${milestoneId}/burndown_events`, - options - ); - } - create(resourceId, title, options) { - return RequestHelper.post()(this, endpoint`${resourceId}/milestones`, { - title, - ...options - }); - } - edit(resourceId, milestoneId, options) { - return RequestHelper.put()( - this, - endpoint`${resourceId}/milestones/${milestoneId}`, - options - ); - } - remove(resourceId, milestoneId, options) { - return RequestHelper.del()(this, endpoint`${resourceId}/milestones/${milestoneId}`, options); - } - show(resourceId, milestoneId, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/milestones/${milestoneId}`, - options - ); - } -}; -var ResourceNotes = class extends dist/* BaseResource */.Qx { - resource2Type; - constructor(resourceType, resource2Type, options) { - super({ prefixUrl: resourceType, ...options }); - this.resource2Type = resource2Type; - } - all(resourceId, resource2Id, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/${this.resource2Type}/${resource2Id}/notes`, - options - ); - } - create(resourceId, resource2Id, body, options) { - return RequestHelper.post()( - this, - endpoint`${resourceId}/${this.resource2Type}/${resource2Id}/notes`, - { - body, - ...options - } - ); - } - edit(resourceId, resource2Id, noteId, options) { - return RequestHelper.put()( - this, - endpoint`${resourceId}/${this.resource2Type}/${resource2Id}/notes/${noteId}`, - options - ); - } - remove(resourceId, resource2Id, noteId, options) { - return RequestHelper.del()( - this, - endpoint`${resourceId}/${this.resource2Type}/${resource2Id}/notes/${noteId}`, - options - ); - } - show(resourceId, resource2Id, noteId, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/${this.resource2Type}/${resource2Id}/notes/${noteId}`, - options - ); - } -}; -var ResourceTemplates = class extends dist/* BaseResource */.Qx { - constructor(resourceType, options) { - super({ prefixUrl: ["templates", resourceType].join("/"), ...options }); - } - all(options) { - process.emitWarning( - 'This API will be deprecated as of Gitlabs v5 API. Please make the switch to "ProjectTemplates".', - "DeprecationWarning" - ); - return RequestHelper.get()(this, "", options); - } - show(key, options) { - process.emitWarning( - 'This API will be deprecated as of Gitlabs v5 API. Please make the switch to "ProjectTemplates".', - "DeprecationWarning" - ); - return RequestHelper.get()(this, encodeURIComponent(key), options); - } -}; -var ResourceVariables = class extends dist/* BaseResource */.Qx { - constructor(resourceType, options) { - super({ prefixUrl: resourceType, ...options }); - } - all(resourceId, options) { - return RequestHelper.get()(this, endpoint`${resourceId}/variables`, options); - } - create(resourceId, key, value, options) { - return RequestHelper.post()(this, endpoint`${resourceId}/variables`, { - key, - value, - ...options - }); - } - edit(resourceId, key, value, options) { - return RequestHelper.put()(this, endpoint`${resourceId}/variables/${key}`, { - value, - ...options - }); - } - show(resourceId, key, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/variables/${key}`, - options - ); - } - remove(resourceId, key, options) { - return RequestHelper.del()(this, endpoint`${resourceId}/variables/${key}`, options); - } -}; -var ResourceWikis = class extends dist/* BaseResource */.Qx { - constructor(resourceType, options) { - super({ prefixUrl: resourceType, ...options }); - } - all(resourceId, options) { - return RequestHelper.get()(this, endpoint`${resourceId}/wikis`, options); - } - create(resourceId, content, title, options) { - return RequestHelper.post()(this, endpoint`${resourceId}/wikis`, { - content, - title, - ...options - }); - } - edit(resourceId, slug, options) { - return RequestHelper.put()(this, endpoint`${resourceId}/wikis/${slug}`, options); - } - remove(resourceId, slug, options) { - return RequestHelper.del()(this, endpoint`${resourceId}/wikis/${slug}`, options); - } - show(resourceId, slug, options) { - return RequestHelper.get()(this, endpoint`${resourceId}/wikis/${slug}`, options); - } - uploadAttachment(resourceId, file, options) { - return RequestHelper.post()( - this, - endpoint`${resourceId}/wikis/attachments`, - { - ...options, - isForm: true, - file: [file.content, file.filename] - } - ); - } -}; -var ResourceHooks = class extends dist/* BaseResource */.Qx { - constructor(resourceType, options) { - super({ prefixUrl: resourceType, ...options }); - } - add(resourceId, url12, options) { - return RequestHelper.post()(this, endpoint`${resourceId}/hooks`, { - url: url12, - ...options - }); - } - all(resourceId, options) { - return RequestHelper.get()(this, endpoint`${resourceId}/hooks`, options); - } - edit(resourceId, hookId, url12, options) { - return RequestHelper.put()(this, endpoint`${resourceId}/hooks/${hookId}`, { - url: url12, - ...options - }); - } - remove(resourceId, hookId, options) { - return RequestHelper.del()(this, endpoint`${resourceId}/hooks/${hookId}`, options); - } - show(resourceId, hookId, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/hooks/${hookId}`, - options - ); - } -}; -var ResourcePushRules = class extends dist/* BaseResource */.Qx { - constructor(resourceType, options) { - super({ prefixUrl: resourceType, ...options }); - } - create(resourceId, options) { - return RequestHelper.post()(this, endpoint`${resourceId}/push_rule`, options); - } - edit(resourceId, options) { - return RequestHelper.put()(this, endpoint`${resourceId}/push_rule`, options); - } - remove(resourceId, options) { - return RequestHelper.del()(this, endpoint`${resourceId}/push_rule`, options); - } - show(resourceId, options) { - return RequestHelper.get()(this, endpoint`${resourceId}/push_rule`, options); - } -}; -var ResourceRepositoryStorageMoves = class extends dist/* BaseResource */.Qx { - resourceType; - resourceTypeSingular; - constructor(resourceType, options) { - super(options); - this.resourceType = resourceType; - this.resourceTypeSingular = resourceType.substring(0, resourceType.length - 1); - } - all(options) { - const resourceId = options?.[`${this.resourceTypeSingular}Id`]; - const url12 = resourceId ? endpoint`${this.resourceType}/${resourceId}/repository_storage_moves` : `${this.resourceTypeSingular}_repository_storage_moves`; - return RequestHelper.get()(this, url12, options); - } - show(repositoryStorageId, options) { - const resourceId = options?.[`${this.resourceTypeSingular}Id`]; - const url12 = resourceId ? endpoint`${this.resourceType}/${resourceId}/repository_storage_moves` : `${this.resourceTypeSingular}_repository_storage_moves`; - return RequestHelper.get()( - this, - `${url12}/${repositoryStorageId}`, - options - ); - } - schedule(sourceStorageName, options) { - const resourceId = options?.[`${this.resourceTypeSingular}Id`]; - const url12 = resourceId ? endpoint`${this.resourceType}/${resourceId}/repository_storage_moves` : `${this.resourceTypeSingular}_repository_storage_moves`; - return RequestHelper.post()(this, url12, { - sourceStorageName, - ...options - }); - } -}; -var ResourceInvitations = class extends dist/* BaseResource */.Qx { - constructor(resourceType, options) { - super({ prefixUrl: resourceType, ...options }); - } - add(resourceId, accessLevel, options) { - if (!options?.email && !options?.userId) - throw new Error( - "Missing required argument. Please supply a email or a userId in the options parameter." - ); - return RequestHelper.post()(this, endpoint`${resourceId}/invitations`, { - accessLevel, - ...options - }); - } - all(resourceId, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/invitations`, - options - ); - } - edit(resourceId, email, options) { - return RequestHelper.put()( - this, - endpoint`${resourceId}/invitations/${email}`, - options - ); - } - remove(resourceId, email, options) { - return RequestHelper.del()( - this, - endpoint`${resourceId}/invitations/${email}`, - options - ); - } -}; -var ResourceIterations = class extends dist/* BaseResource */.Qx { - constructor(resourceType, options) { - super({ prefixUrl: resourceType, ...options }); - } - all(resourceId, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/iterations`, - options - ); - } -}; -var ResourceProtectedEnvironments = class extends dist/* BaseResource */.Qx { - constructor(resourceType, options) { - super({ prefixUrl: resourceType, ...options }); - } - all(resourceId, options) { - return RequestHelper.get()( - this, - `${resourceId}/protected_environments`, - options - ); - } - create(resourceId, name, deployAccessLevels, options) { - return RequestHelper.post()( - this, - `${resourceId}/protected_environments`, - { - name, - deployAccessLevels, - ...options - } - ); - } - edit(resourceId, name, options) { - return RequestHelper.put()( - this, - `${resourceId}/protected_environments/${name}`, - options - ); - } - show(resourceId, name, options) { - return RequestHelper.get()( - this, - `${resourceId}/protected_environments/${name}`, - options - ); - } - remove(resourceId, name, options) { - return RequestHelper.del()(this, `${resourceId}/protected_environments/${name}`, options); - } -}; -var ResourceIterationEvents = class extends dist/* BaseResource */.Qx { - resource2Type; - constructor(resourceType, resource2Type, options) { - super({ prefixUrl: resourceType, ...options }); - this.resource2Type = resource2Type; - } - all(resourceId, resource2Id, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/${this.resource2Type}/${resource2Id}/resource_iteration_events`, - options - ); - } - show(resourceId, resource2Id, iterationEventId, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/${this.resource2Type}/${resource2Id}/resource_iteration_events/${iterationEventId}`, - options - ); - } -}; -var ResourceLabelEvents = class extends dist/* BaseResource */.Qx { - resource2Type; - constructor(resourceType, resource2Type, options) { - super({ prefixUrl: resourceType, ...options }); - this.resource2Type = resource2Type; - } - all(resourceId, resource2Id, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/${this.resource2Type}/${resource2Id}/resource_label_events`, - options - ); - } - show(resourceId, resource2Id, labelEventId, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/${this.resource2Type}/${resource2Id}/resource_label_events/${labelEventId}`, - options - ); - } -}; -var ResourceMilestoneEvents = class extends dist/* BaseResource */.Qx { - resource2Type; - constructor(resourceType, resource2Type, options) { - super({ prefixUrl: resourceType, ...options }); - this.resource2Type = resource2Type; - } - all(resourceId, resource2Id, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/${this.resource2Type}/${resource2Id}/resource_milestone_events`, - options - ); - } - show(resourceId, resource2Id, milestoneEventId, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/${this.resource2Type}/${resource2Id}/resource_milestone_events/${milestoneEventId}`, - options - ); - } -}; -var ResourceStateEvents = class extends dist/* BaseResource */.Qx { - resource2Type; - constructor(resourceType, resource2Type, options) { - super({ prefixUrl: resourceType, ...options }); - this.resource2Type = resource2Type; - } - all(resourceId, resource2Id, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/${this.resource2Type}/${resource2Id}/resource_state_events`, - options - ); - } - show(resourceId, resource2Id, stateEventId, options) { - return RequestHelper.get()( - this, - endpoint`${resourceId}/${this.resource2Type}/${resource2Id}/resource_state_events/${stateEventId}`, - options - ); - } -}; - -// src/resources/DockerfileTemplates.ts -var DockerfileTemplates = class extends ResourceTemplates { - constructor(options) { - super("dockerfiles", options); - } -}; -var Events = class extends dist/* BaseResource */.Qx { - all({ - projectId, - userId, - ...options - } = {}) { - let url12; - if (projectId) url12 = endpoint`projects/${projectId}/events`; - else if (userId) url12 = endpoint`users/${userId}/events`; - else url12 = "events"; - return RequestHelper.get()(this, url12, options); - } -}; -var Experiments = class extends dist/* BaseResource */.Qx { - all(options) { - return RequestHelper.get()(this, "experiments", options); - } -}; -var GeoNodes = class extends dist/* BaseResource */.Qx { - all(options) { - return RequestHelper.get()(this, "geo_nodes", options); - } - allStatuses(options) { - return RequestHelper.get()(this, "geo_nodes/statuses", options); - } - allFailures(options) { - return RequestHelper.get()(this, "geo_nodes/current/failures", options); - } - create(name, url12, options) { - return RequestHelper.post()(this, "geo_nodes", { name, url: url12, ...options }); - } - edit(geonodeId, options) { - return RequestHelper.put()(this, `geo_nodes/${geonodeId}`, options); - } - repair(geonodeId, options) { - return RequestHelper.post()(this, `geo_nodes/${geonodeId}/repair`, options); - } - remove(geonodeId, options) { - return RequestHelper.del()(this, `geo_nodes/${geonodeId}`, options); - } - show(geonodeId, options) { - return RequestHelper.get()(this, `geo_nodes/${geonodeId}`, options); - } - showStatus(geonodeId, options) { - return RequestHelper.get()(this, `geo_nodes/${geonodeId}/status`, options); - } -}; -var GeoSites = class extends dist/* BaseResource */.Qx { - all(options) { - return RequestHelper.get()(this, "geo_sites", options); - } - allStatuses(options) { - return RequestHelper.get()(this, "geo_sites/statuses", options); - } - allFailures(options) { - return RequestHelper.get()(this, "geo_sites/current/failures", options); - } - create(name, url12, options) { - return RequestHelper.post()(this, "geo_sites", { name, url: url12, ...options }); - } - edit(geositeId, options) { - return RequestHelper.put()(this, `geo_sites/${geositeId}`, options); - } - repair(geositeId, options) { - return RequestHelper.post()(this, `geo_sites/${geositeId}/repair`, options); - } - remove(geositeId, options) { - return RequestHelper.del()(this, `geo_sites/${geositeId}`, options); - } - show(geositeId, options) { - return RequestHelper.get()(this, `geo_sites/${geositeId}`, options); - } - showStatus(geositeId, options) { - return RequestHelper.get()(this, `geo_sites/${geositeId}/status`, options); - } -}; - -// src/resources/GitLabCIYMLTemplates.ts -var GitLabCIYMLTemplates = class extends ResourceTemplates { - constructor(options) { - super("gitlab_ci_ymls", options); - } -}; - -// src/resources/GitignoreTemplates.ts -var GitignoreTemplates = class extends ResourceTemplates { - constructor(options) { - super("gitignores", options); - } -}; -var Import = class extends dist/* BaseResource */.Qx { - importGithubRepository(personalAccessToken, repositoryId, targetNamespace, options) { - return RequestHelper.post()(this, "import/github", { - personalAccessToken, - repoId: repositoryId, - targetNamespace, - ...options - }); - } - cancelGithubRepositoryImport(projectId, options) { - return RequestHelper.post()(this, "import/github/cancel", { - projectId, - ...options - }); - } - importGithubGists(personalAccessToken, options) { - return RequestHelper.post()(this, "import/github/gists", { - personalAccessToken, - ...options - }); - } - importBitbucketServerRepository(bitbucketServerUrl, bitbucketServerUsername, personalAccessToken, bitbucketServerProject, bitbucketServerRepository, options) { - return RequestHelper.post()(this, "import/bitbucket_server", { - bitbucketServerUrl, - bitbucketServerUsername, - personalAccessToken, - bitbucketServerProject, - bitbucketServerRepo: bitbucketServerRepository, - ...options - }); - } -}; -var InstanceLevelCICDVariables = class extends dist/* BaseResource */.Qx { - all(options) { - return RequestHelper.get()(this, "admin/ci/variables", options); - } - create(key, value, options) { - return RequestHelper.post()(this, "admin/ci/variables", { - key, - value, - ...options - }); - } - edit(keyId, value, options) { - return RequestHelper.put()(this, endpoint`admin/ci/variables/${keyId}`, { - value, - ...options - }); - } - show(keyId, options) { - return RequestHelper.get()( - this, - endpoint`admin/ci/variables/${keyId}`, - options - ); - } - remove(keyId, options) { - return RequestHelper.get()(this, endpoint`admin/ci/variables/${keyId}`, options); - } -}; -var Keys = class extends dist/* BaseResource */.Qx { - show({ - keyId, - fingerprint, - ...options - } = {}) { - let url12; - if (keyId) url12 = `keys/${keyId}`; - else if (fingerprint) url12 = `keys?fingerprint=${fingerprint}`; - else { - throw new Error( - "Missing required argument. Please supply a fingerprint or a keyId in the options parameter" - ); - } - return RequestHelper.get()(this, url12, options); - } -}; -var License = class extends dist/* BaseResource */.Qx { - add(license, options) { - return RequestHelper.post()(this, "license", { - searchParams: { license }, - ...options - }); - } - all(options) { - return RequestHelper.get()(this, "licenses", options); - } - show(options) { - return RequestHelper.get()(this, "license", options); - } - remove(licenceId, options) { - return RequestHelper.del()(this, `license/${licenceId}`, options); - } - recalculateBillableUsers(licenceId, options) { - return RequestHelper.put()( - this, - `license/${licenceId}/refresh_billable_users`, - options - ); - } -}; - -// src/resources/LicenseTemplates.ts -var LicenseTemplates = class extends ResourceTemplates { - constructor(options) { - super("Licenses", options); - } -}; -var Lint = class extends dist/* BaseResource */.Qx { - check(projectId, options) { - return RequestHelper.get()(this, endpoint`projects/${projectId}/ci/lint`, options); - } - lint(projectId, content, options) { - return RequestHelper.post()(this, endpoint`projects/${projectId}/ci/lint`, { - ...options, - content - }); - } -}; -var Markdown = class extends dist/* BaseResource */.Qx { - render(text, options) { - return RequestHelper.post()(this, "markdown", { text, ...options }); - } -}; -var Maven = class extends dist/* BaseResource */.Qx { - downloadPackageFile(path, filename, { - projectId, - groupId, - ...options - }) { - let url12 = endpoint`packages/maven/${path}/${filename}`; - if (projectId) url12 = endpoint`projects/${projectId}/${url12}`; - else if (groupId) url12 = endpoint`groups/${groupId}/-/${url12}`; - return RequestHelper.get()(this, url12, options); - } - uploadPackageFile(projectId, path, packageFile, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/packages/maven/${path}/${packageFile.filename}`, - { - isForm: true, - ...options, - file: [packageFile.content, packageFile.filename] - } - ); - } -}; -var Metadata = class extends dist/* BaseResource */.Qx { - show(options) { - return RequestHelper.get()(this, "metadata", options); - } -}; -var Migrations = class extends dist/* BaseResource */.Qx { - all(options) { - return RequestHelper.get()(this, "bulk_imports", options); - } - create(configuration, entities, options) { - return RequestHelper.post()(this, "bulk_imports", { - configuration, - entities, - ...options - }); - } - allEntities({ - bulkImportId, - ...options - } = {}) { - const url12 = bulkImportId ? endpoint`bulk_imports/${bulkImportId}/entities` : "bulk_imports/entities"; - return RequestHelper.get()(this, url12, options); - } - show(bulkImportId, options) { - return RequestHelper.get()( - this, - `bulk_imports/${bulkImportId}`, - options - ); - } - showEntity(bulkImportId, entitityId, options) { - return RequestHelper.get()( - this, - `bulk_imports/${bulkImportId}/entities/${entitityId}`, - options - ); - } -}; -function url6(projectId) { - return projectId ? endpoint`/projects/${projectId}/packages/npm` : "packages/npm"; -} -var NPM = class extends dist/* BaseResource */.Qx { - downloadPackageFile(projectId, packageName, filename, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/packages/npm/${packageName}/-/${filename}`, - options - ); - } - removeDistTag(packageName, tag, options) { - const prefix = url6(options?.projectId); - return RequestHelper.del()( - this, - `${prefix}/-/package/${packageName}/dist-tags/${tag}`, - options - ); - } - setDistTag(packageName, tag, options) { - const prefix = url6(options?.projectId); - return RequestHelper.put()( - this, - `${prefix}/-/package/${packageName}/dist-tags/${tag}`, - options - ); - } - showDistTags(packageName, options) { - const prefix = url6(options?.projectId); - return RequestHelper.get()( - this, - `${prefix}/-/package/${packageName}/dist-tags`, - options - ); - } - showMetadata(packageName, options) { - const prefix = url6(options?.projectId); - return RequestHelper.get()(this, `${prefix}/${packageName}`, options); - } - uploadPackageFile(projectId, packageName, versions, metadata, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/packages/npm/${packageName}`, - { - ...options, - versions, - ...metadata - } - ); - } -}; -var Namespaces = class extends dist/* BaseResource */.Qx { - all(options) { - return RequestHelper.get()(this, "namespaces", options); - } - exists(namespace, options) { - return RequestHelper.get()( - this, - endpoint`namespaces/${namespace}/exists`, - options - ); - } - show(namespaceId, options) { - return RequestHelper.get()(this, endpoint`namespaces/${namespaceId}`, options); - } -}; -function url7({ - projectId, - groupId -} = {}) { - let prefix = ""; - if (projectId) prefix = endpoint`projects/${projectId}/`; - if (groupId) prefix = endpoint`groups/${groupId}/`; - return `${prefix}notification_settings`; -} -var NotificationSettings = class extends dist/* BaseResource */.Qx { - edit({ - groupId, - projectId, - ...options - } = {}) { - const uri = url7({ groupId, projectId }); - return RequestHelper.put()(this, uri, options); - } - show({ - groupId, - projectId, - ...options - } = {}) { - const uri = url7({ groupId, projectId }); - return RequestHelper.get()(this, uri, options); - } -}; -function url8({ - projectId, - groupId -} = {}) { - if (projectId) return endpoint`/projects/${projectId}/packages/nuget`; - if (groupId) return endpoint`/groups/${groupId}/-/packages/nuget`; - throw new Error( - "Missing required argument. Please supply a projectId or a groupId in the options parameter" - ); -} -var NuGet = class extends dist/* BaseResource */.Qx { - downloadPackageFile(projectId, packageName, packageVersion, filename, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/packages/nuget/download/${packageName}/${packageVersion}/${filename}`, - options - ); - } - search(q, { - projectId, - groupId, - ...options - }) { - const uri = url8({ projectId, groupId }); - return RequestHelper.get()(this, `${uri}/query`, { q, ...options }); - } - showMetadata(packageName, { - projectId, - groupId, - ...options - }) { - const uri = url8({ projectId, groupId }); - return RequestHelper.get()( - this, - `${uri}/metadata/${packageName}/index`, - options - ); - } - showPackageIndex(projectId, packageName, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/packages/nuget/download/${packageName}/index`, - options - ); - } - showServiceIndex({ - projectId, - groupId, - ...options - }) { - const uri = url8({ projectId, groupId }); - return RequestHelper.get()( - this, - `${uri}/index`, - options - ); - } - showVersionMetadata(packageName, packageVersion, { - projectId, - groupId, - ...options - }) { - const uri = url8({ projectId, groupId }); - return RequestHelper.get()( - this, - `${uri}/metadata/${packageName}/${packageVersion}`, - options - ); - } - uploadPackageFile(projectId, packageName, packageVersion, packageFile, options) { - return RequestHelper.put()(this, endpoint`projects/${projectId}/packages/nuget`, { - isForm: true, - ...options, - packageName, - packageVersion, - file: [packageFile.content, packageFile.filename] - }); - } - uploadSymbolPackage(projectId, packageName, packageVersion, packageFile, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/packages/nuget/symbolpackage`, - { - isForm: true, - ...options, - packageName, - packageVersion, - file: [packageFile.content, packageFile.filename] - } - ); - } -}; -var PersonalAccessTokens = class extends dist/* BaseResource */.Qx { - all(options) { - return RequestHelper.get()( - this, - "personal_access_tokens", - options - ); - } - // Convience method - Also located in Users - create(userId, name, scopes, options) { - return RequestHelper.post()( - this, - endpoint`users/${userId}/personal_access_tokens`, - { - name, - scopes, - ...options - } - ); - } - remove({ - tokenId, - ...options - } = {}) { - const url12 = tokenId ? endpoint`personal_access_tokens/${tokenId}` : "personal_access_tokens/self"; - return RequestHelper.del()(this, url12, options); - } - rotate(tokenId, options) { - return RequestHelper.post()( - this, - endpoint`personal_access_tokens/${tokenId}/rotate`, - options - ); - } - show({ - tokenId, - ...options - } = {}) { - const url12 = tokenId ? endpoint`personal_access_tokens/${tokenId}` : "personal_access_tokens/self"; - return RequestHelper.get()(this, url12, options); - } -}; -var PyPI = class extends dist/* BaseResource */.Qx { - downloadPackageFile(sha, fileIdentifier, { - projectId, - groupId, - ...options - } = {}) { - let url12; - if (projectId) { - url12 = endpoint`projects/${projectId}/packages/pypi/files/${sha}/${fileIdentifier}`; - } else if (groupId) { - url12 = endpoint`groups/${groupId}/packages/pypi/files/${sha}/${fileIdentifier}`; - } else { - throw new Error( - "Missing required argument. Please supply a projectId or a groupId in the options parameter" - ); - } - return RequestHelper.get()(this, url12, options); - } - showPackageDescriptor(packageName, { - projectId, - groupId, - ...options - }) { - let url12; - if (projectId) { - url12 = endpoint`projects/${projectId}/packages/pypi/simple/${packageName}`; - } else if (groupId) { - url12 = endpoint`groups/${groupId}/packages/pypi/simple/${packageName}`; - } else { - throw new Error( - "Missing required argument. Please supply a projectId or a groupId in the options parameter" - ); - } - return RequestHelper.get()(this, url12, options); - } - uploadPackageFile(projectId, packageFile, options) { - return RequestHelper.put()(this, endpoint`projects/${projectId}/packages/pypi`, { - ...options, - isForm: true, - file: [packageFile.content, packageFile.filename] - }); - } -}; -var RubyGems = class extends dist/* BaseResource */.Qx { - allDependencies(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/packages/rubygems/api/v1/dependencies`, - options - ); - } - downloadGemFile(projectId, fileName, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/packages/rubygems/gems/${fileName}`, - options - ); - } - uploadGemFile(projectId, packageFile, options) { - return RequestHelper.post()(this, `projects/${projectId}/packages/rubygems/api/v1/gems`, { - isForm: true, - ...options, - file: [packageFile.content, packageFile.filename] - }); - } -}; -var Search = class extends dist/* BaseResource */.Qx { - all(scope, search, options) { - const { projectId, groupId, ...opts } = options || {}; - let url12; - if (projectId) url12 = endpoint`projects/${projectId}/`; - else if (groupId) url12 = endpoint`groups/${groupId}/`; - else url12 = ""; - return RequestHelper.get()(this, `${url12}search`, { - scope, - search, - ...opts - }); - } -}; -var SearchAdmin = class extends dist/* BaseResource */.Qx { - all(options) { - return RequestHelper.get()(this, "admin/search/migrations", options); - } - show(versionOrName, options) { - return RequestHelper.get()( - this, - endpoint`admin/search/migrations/${versionOrName}`, - options - ); - } -}; -var ServiceAccounts = class extends dist/* BaseResource */.Qx { - create(options) { - return RequestHelper.post()(this, endpoint`service_accounts`, options); - } -}; -var ServiceData = class extends dist/* BaseResource */.Qx { - showMetricDefinitions(options) { - return RequestHelper.get()(this, "usage_data/metric_definitions", options); - } - showServicePingSQLQueries(options) { - return RequestHelper.get()(this, "usage_data/queries", options); - } - showUsageDataNonSQLMetrics(options) { - return RequestHelper.get()( - this, - "usage_data/non_sql_metrics", - options - ); - } -}; -var SidekiqMetrics = class extends dist/* BaseResource */.Qx { - queueMetrics() { - return RequestHelper.get()(this, "sidekiq/queue_metrics"); - } - processMetrics() { - return RequestHelper.get()(this, "sidekiq/process_metrics"); - } - jobStats() { - return RequestHelper.get()(this, "sidekiq/job_stats"); - } - compoundMetrics() { - return RequestHelper.get()(this, "sidekiq/compound_metrics"); - } -}; -var SidekiqQueues = class extends dist/* BaseResource */.Qx { - remove(queueName, options) { - return RequestHelper.get()( - this, - endpoint`admin/sidekiq/queues/${queueName}`, - options - ); - } -}; - -// src/resources/SnippetRepositoryStorageMoves.ts -var SnippetRepositoryStorageMoves = class extends ResourceRepositoryStorageMoves { - constructor(options) { - super("snippets", options); - } -}; -var Snippets = class extends dist/* BaseResource */.Qx { - all({ - public: ppublic, - ...options - } = {}) { - const url12 = ppublic ? "snippets/public" : "snippets"; - return RequestHelper.get()(this, url12, options); - } - create(title, options) { - return RequestHelper.post()(this, "snippets", { - title, - ...options - }); - } - edit(snippetId, options) { - return RequestHelper.put()(this, `snippets/${snippetId}`, options); - } - remove(snippetId, options) { - return RequestHelper.del()(this, `snippets/${snippetId}`, options); - } - show(snippetId, options) { - return RequestHelper.get()(this, `snippets/${snippetId}`, options); - } - showContent(snippetId, options) { - return RequestHelper.get()(this, `snippets/${snippetId}/raw`, options); - } - showRepositoryFileContent(snippetId, ref, filePath, options) { - return RequestHelper.get()( - this, - endpoint`snippets/${snippetId}/files/${ref}/${filePath}/raw`, - options - ); - } - showUserAgentDetails(snippetId, options) { - return RequestHelper.get()( - this, - `snippets/${snippetId}/user_agent_detail`, - options - ); - } -}; -var Suggestions = class extends dist/* BaseResource */.Qx { - edit(suggestionId, options) { - return RequestHelper.put()( - this, - `suggestions/${suggestionId}/apply`, - options - ); - } - editBatch(suggestionIds, options) { - return RequestHelper.put()(this, `suggestions/batch_apply`, { - ...options, - ids: suggestionIds - }); - } -}; -var SystemHooks = class extends dist/* BaseResource */.Qx { - all(options) { - return RequestHelper.get()(this, "hooks", options); - } - // Convenience method - add(url12, options) { - return this.create(url12, options); - } - create(url12, options) { - return RequestHelper.post()(this, "hooks", { - url: url12, - ...options - }); - } - test(hookId, options) { - return RequestHelper.post()(this, `hooks/${hookId}`, options); - } - remove(hookId, options) { - return RequestHelper.del()(this, `hooks/${hookId}`, options); - } - show(hookId, options) { - return RequestHelper.post()(this, `hooks/${hookId}`, options); - } -}; -var TodoLists = class extends dist/* BaseResource */.Qx { - all(options) { - return RequestHelper.get()(this, "todos", options); - } - done({ - todoId, - ...options - } = {}) { - let prefix = "todos"; - if (todoId) prefix += `/${todoId}`; - return RequestHelper.post()( - this, - `${prefix}/mark_as_done`, - options - ); - } -}; -var Topics = class extends dist/* BaseResource */.Qx { - all(options) { - return RequestHelper.get()(this, "topics", options); - } - create(name, { - avatar, - ...options - } = {}) { - const opts = { - name, - ...options - }; - if (avatar) { - opts.isForm = true; - opts.file = [avatar.content, avatar.filename]; - } - return RequestHelper.post()(this, "topics", opts); - } - edit(topicId, { - avatar, - ...options - } = {}) { - const opts = { ...options }; - if (avatar) { - opts.isForm = true; - opts.file = [avatar.content, avatar.filename]; - } - return RequestHelper.put()(this, `topics/${topicId}`, opts); - } - merge(sourceTopicId, targetTopicId, options) { - return RequestHelper.post()(this, `topics/merge`, { - sourceTopicId, - targetTopicId, - ...options - }); - } - remove(topicId, options) { - return RequestHelper.del()(this, `topics/${topicId}`, options); - } - show(topicId, options) { - return RequestHelper.get()(this, `topics/${topicId}`, options); - } -}; -var Branches = class extends dist/* BaseResource */.Qx { - all(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/repository/branches`, - options - ); - } - create(projectId, branchName, ref, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/repository/branches`, - { - branch: branchName, - ref, - ...options - } - ); - } - remove(projectId, branchName, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/repository/branches/${branchName}`, - options - ); - } - removeMerged(projectId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/repository/merged_branches`, - options - ); - } - show(projectId, branchName, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/repository/branches/${branchName}`, - options - ); - } -}; - -// src/resources/CommitDiscussions.ts -var CommitDiscussions = class extends ResourceDiscussions { - constructor(options) { - super("projects", new RawPathSegment("repository/commits"), options); - } -}; -var Commits = class extends dist/* BaseResource */.Qx { - all(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/repository/commits`, - options - ); - } - allComments(projectId, sha, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/repository/commits/${sha}/comments`, - options - ); - } - allDiscussions(projectId, sha, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/repository/commits/${sha}/discussions`, - options - ); - } - allMergeRequests(projectId, sha, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/repository/commits/${sha}/merge_requests`, - options - ); - } - allReferences(projectId, sha, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/repository/commits/${sha}/refs`, - options - ); - } - allStatuses(projectId, sha, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/repository/commits/${sha}/statuses`, - options - ); - } - cherryPick(projectId, sha, branch, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/repository/commits/${sha}/cherry_pick`, - { - branch, - ...options - } - ); - } - create(projectId, branch, message, actions = [], options = {}) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/repository/commits`, - { - branch, - commitMessage: message, - actions, - ...options - } - ); - } - createComment(projectId, sha, note, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/repository/commits/${sha}/comments`, - { - note, - ...options - } - ); - } - editStatus(projectId, sha, state, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/statuses/${sha}`, - { - state, - ...options - } - ); - } - revert(projectId, sha, branch, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/repository/commits/${sha}/revert`, - { - ...options, - branch - } - ); - } - show(projectId, sha, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/repository/commits/${sha}`, - options - ); - } - showDiff(projectId, sha, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/repository/commits/${sha}/diff`, - options - ); - } - showGPGSignature(projectId, sha, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/repository/commits/${sha}/signature`, - options - ); - } - showSequence(projectId, sha, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/repository/commits/${sha}/sequence`, - options - ); - } -}; -var ContainerRegistry = class extends dist/* BaseResource */.Qx { - allRepositories({ - groupId, - projectId, - ...options - } = {}) { - let url12; - if (groupId) url12 = endpoint`groups/${groupId}/registry/repositories`; - else if (projectId) url12 = endpoint`projects/${projectId}/registry/repositories`; - else - throw new Error( - "Missing required argument. Please supply a groupId or a projectId in the options parameter." - ); - return RequestHelper.get()(this, url12, options); - } - allTags(projectId, repositoryId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/registry/repositories/${repositoryId}/tags`, - options - ); - } - editRegistryVisibility(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}`, - options - ); - } - removeRepository(projectId, repositoryId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/registry/repositories/${repositoryId}`, - options - ); - } - removeTag(projectId, repositoryId, tagName, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/registry/repositories/${repositoryId}/tags/${tagName}`, - options - ); - } - removeTags(projectId, repositoryId, nameRegexDelete, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/registry/repositories/${repositoryId}/tags`, - { - nameRegexDelete, - ...options - } - ); - } - showRepository(repositoryId, options) { - return RequestHelper.get()( - this, - endpoint`registry/repositories/${repositoryId}`, - options - ); - } - showTag(projectId, repositoryId, tagName, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/registry/repositories/${repositoryId}/tags/${tagName}`, - options - ); - } -}; -var Deployments = class extends dist/* BaseResource */.Qx { - all(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/deployments`, - options - ); - } - allMergeRequests(projectId, deploymentId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/deployments/${deploymentId}/merge_requests`, - options - ); - } - create(projectId, environment, sha, ref, tag, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/deployments`, - { - environment, - sha, - ref, - tag, - ...options - } - ); - } - edit(projectId, deploymentId, status, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/deployments/${deploymentId}`, - { - ...options, - status - } - ); - } - remove(projectId, deploymentId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/deployments/${deploymentId}`, - options - ); - } - setApproval(projectId, deploymentId, status, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/deployments/${deploymentId}/approval`, - { - ...options, - status - } - ); - } - show(projectId, deploymentId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/deployments/${deploymentId}`, - options - ); - } -}; -var Environments = class extends dist/* BaseResource */.Qx { - all(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/environments`, - options - ); - } - create(projectId, name, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/environments`, - { - name, - ...options - } - ); - } - edit(projectId, environmentId, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/environments/${environmentId}`, - options - ); - } - remove(projectId, environmentId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/environments/${environmentId}`, - options - ); - } - removeReviewApps(projectId, options) { - return RequestHelper.del()(this, endpoint`projects/${projectId}/environments/review_apps`, options); - } - show(projectId, environmentId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/environments/${environmentId}`, - options - ); - } - stop(projectId, environmentId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/environments/${environmentId}/stop`, - options - ); - } - stopStale(projectId, before, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/environments/stop_stale`, - { - searchParams: { before }, - ...options - } - ); - } -}; -var ErrorTrackingClientKeys = class extends dist/* BaseResource */.Qx { - all(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/error_tracking/client_keys`, - options - ); - } - create(projectId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/error_tracking/client_keys`, - options - ); - } - remove(projectId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/error_tracking/client_keys`, - options - ); - } -}; -var ErrorTrackingSettings = class extends dist/* BaseResource */.Qx { - create(projectId, active, integrated, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/error_tracking/settings`, - { - searchParams: { - active, - integrated - }, - ...options - } - ); - } - edit(projectId, active, { integrated, ...options } = {}) { - return RequestHelper.patch()( - this, - endpoint`projects/${projectId}/error_tracking/settings`, - { - searchParams: { - active, - integrated - }, - ...options - } - ); - } - show(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/error_tracking/settings`, - options - ); - } -}; -var ExternalStatusChecks = class extends dist/* BaseResource */.Qx { - all(projectId, options) { - const { mergerequestIId, ...opts } = options || {}; - let url12 = endpoint`projects/${projectId}`; - if (mergerequestIId) { - url12 += endpoint`/merge_requests/${mergerequestIId}/status_checks`; - } else { - url12 += "/external_status_checks"; - } - return RequestHelper.get()(this, url12, opts); - } - create(projectId, name, externalUrl, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/external_status_checks`, - { - name, - externalUrl, - ...options - } - ); - } - edit(projectId, externalStatusCheckId, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/external_status_checks/${externalStatusCheckId}`, - options - ); - } - remove(projectId, externalStatusCheckId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/external_status_checks/${externalStatusCheckId}`, - options - ); - } - set(projectId, mergerequestIId, sha, externalStatusCheckId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/status_check_responses`, - { - sha, - externalStatusCheckId, - ...options - } - ); - } -}; -var FeatureFlagUserLists = class extends dist/* BaseResource */.Qx { - all(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/feature_flags_user_lists`, - options - ); - } - create(projectId, name, userXids, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/feature_flags_user_lists`, - { - name, - userXids, - ...options - } - ); - } - edit(projectId, featureFlagUserListIId, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/feature_flags_user_lists/${featureFlagUserListIId}`, - options - ); - } - remove(projectId, featureFlagUserListIId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/feature_flags_user_lists/${featureFlagUserListIId}`, - options - ); - } - show(projectId, featureFlagUserListIId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/feature_flags_user_lists/${featureFlagUserListIId}`, - options - ); - } -}; -var FeatureFlags = class extends dist/* BaseResource */.Qx { - all(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/feature_flags`, - options - ); - } - create(projectId, flagName, version, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/feature_flags`, - { - name: flagName, - version, - ...options - } - ); - } - edit(projectId, featureFlagName, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/feature_flags/${featureFlagName}`, - options - ); - } - remove(projectId, flagName, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/feature_flags/${flagName}`, - options - ); - } - show(projectId, flagName, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/feature_flags/${flagName}`, - options - ); - } -}; -var FreezePeriods = class extends dist/* BaseResource */.Qx { - all(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/freeze_periods`, - options - ); - } - create(projectId, freezeStart, freezeEnd, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/freeze_periods`, - { - freezeStart, - freezeEnd, - ...options - } - ); - } - edit(projectId, freezePeriodId, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/freeze_periods/${freezePeriodId}`, - options - ); - } - remove(projectId, freezePeriodId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/freeze_periods/${freezePeriodId}`, - options - ); - } - show(projectId, freezePeriodId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/freeze_periods/${freezePeriodId}`, - options - ); - } -}; -var GitlabPages = class extends dist/* BaseResource */.Qx { - remove(projectId, options) { - return RequestHelper.del()(this, endpoint`projects/${projectId}/pages`, options); - } - showSettings(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/pages`, - options - ); - } -}; -var GoProxy = class extends dist/* BaseResource */.Qx { - all(projectId, moduleName, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/packages/go/${moduleName}/@v/list`, - options - ); - } - showVersionMetadata(projectId, moduleName, moduleVersion, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/packages/go/${moduleName}/@v/${moduleVersion}.info`, - options - ); - } - downloadModuleFile(projectId, moduleName, moduleVersion, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/packages/go/${moduleName}/@v/${moduleVersion}.mod`, - options - ); - } - downloadModuleSource(projectId, moduleName, moduleVersion, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/packages/go/${moduleName}/@v/${moduleVersion}.zip`, - options - ); - } -}; -var Helm = class extends dist/* BaseResource */.Qx { - downloadChartIndex(projectId, channel, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/packages/helm/${channel}/index.yaml`, - options - ); - } - downloadChart(projectId, channel, filename, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/packages/helm/${channel}/charts/${filename}.tgz`, - options - ); - } - import(projectId, channel, chart, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/packages/helm/api/${channel}/charts`, - { - isForm: true, - ...options, - chart: [chart.content, chart.filename] - } - ); - } -}; -var Integrations = class extends dist/* BaseResource */.Qx { - all(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/integrations`, - options - ); - } - edit(projectId, integrationName, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/integrations/${integrationName}`, - options - ); - } - disable(projectId, integrationName, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/integrations/${integrationName}`, - options - ); - } - show(projectId, integrationName, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/integrations/${integrationName}`, - options - ); - } -}; - -// src/resources/IssueAwardEmojis.ts -var IssueAwardEmojis = class extends ResourceAwardEmojis { - constructor(options) { - super("projects", "issues", options); - } -}; - -// src/resources/IssueDiscussions.ts -var IssueDiscussions = class extends ResourceDiscussions { - constructor(options) { - super("projects", "issues", options); - } -}; - -// src/resources/IssueIterationEvents.ts -var IssueIterationEvents = class extends ResourceIterationEvents { - constructor(options) { - super("projects", "issues", options); - } -}; - -// src/resources/IssueLabelEvents.ts -var IssueLabelEvents = class extends ResourceLabelEvents { - constructor(options) { - super("projects", "issues", options); - } -}; -var IssueLinks = class extends dist/* BaseResource */.Qx { - all(projectId, issueIId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/issues/${issueIId}/links`, - options - ); - } - create(projectId, issueIId, targetProjectId, targetIssueIId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/issues/${issueIId}/links`, - { - targetProjectId, - targetIssueIid: targetIssueIId, - ...options - } - ); - } - remove(projectId, issueIId, issueLinkId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/issues/${issueIId}/links/${issueLinkId}`, - options - ); - } -}; - -// src/resources/IssueMilestoneEvents.ts -var IssueMilestoneEvents = class extends ResourceMilestoneEvents { - constructor(options) { - super("projects", "issues", options); - } -}; - -// src/resources/IssueNoteAwardEmojis.ts -var IssueNoteAwardEmojis = class extends ResourceNoteAwardEmojis { - constructor(options) { - super("issues", options); - } -}; - -// src/resources/IssueNotes.ts -var IssueNotes = class extends ResourceNotes { - constructor(options) { - super("projects", "issues", options); - } -}; - -// src/resources/IssueStateEvents.ts -var IssueStateEvents = class extends ResourceStateEvents { - constructor(options) { - super("projects", "issues", options); - } -}; - -// src/resources/IssueWeightEvents.ts -var IssueWeightEvents = class extends ResourceStateEvents { - constructor(options) { - super("projects", "issues", options); - } -}; -var Issues = class extends dist/* BaseResource */.Qx { - addSpentTime(projectId, issueIId, duration, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/issues/${issueIId}/add_spent_time`, - { - duration, - ...options - } - ); - } - addTimeEstimate(projectId, issueIId, duration, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/issues/${issueIId}/time_estimate`, - { - duration, - ...options - } - ); - } - all({ - projectId, - groupId, - ...options - } = {}) { - let url12; - if (projectId) url12 = endpoint`projects/${projectId}/issues`; - else if (groupId) url12 = endpoint`groups/${groupId}/issues`; - else url12 = "issues"; - return RequestHelper.get()(this, url12, options); - } - allMetricImages(projectId, issueIId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/issues/${issueIId}/metric_images`, - options - ); - } - allParticipants(projectId, issueIId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/issues/${issueIId}/participants`, - options - ); - } - allRelatedMergeRequests(projectId, issueIId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/issues/${issueIId}/related_merge_requests`, - options - ); - } - create(projectId, title, options) { - return RequestHelper.post()(this, endpoint`projects/${projectId}/issues`, { - ...options, - title - }); - } - createTodo(projectId, issueIId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/issues/${issueIId}/todo`, - options - ); - } - clone(projectId, issueIId, destinationProjectId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/issues/${issueIId}/clone`, - { - toProjectId: destinationProjectId, - ...options - } - ); - } - edit(projectId, issueIId, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/issues/${issueIId}`, - options - ); - } - editMetricImage(projectId, issueIId, imageId, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/issues/${issueIId}/metric_images/${imageId}`, - options - ); - } - move(projectId, issueIId, destinationProjectId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/issues/${issueIId}/move`, - { - toProjectId: destinationProjectId, - ...options - } - ); - } - // Includes /promote already! - promote(projectId, issueIId, body, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/issues/${issueIId}/notes`, - { - searchParams: { - body: `${body} - /promote` - }, - ...options - } - ); - } - remove(projectId, issueIId, options) { - return RequestHelper.del()(this, endpoint`projects/${projectId}/issues/${issueIId}`, options); - } - removeMetricImage(projectId, issueIId, imageId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/issues/${issueIId}/metric_images/${imageId}`, - options - ); - } - reorder(projectId, issueIId, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/issues/${issueIId}/reorder`, - options - ); - } - resetSpentTime(projectId, issueIId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/issues/${issueIId}/reset_spent_time`, - options - ); - } - resetTimeEstimate(projectId, issueIId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/issues/${issueIId}/reset_time_estimate`, - options - ); - } - show(issueId, { projectId, ...options } = {}) { - const url12 = projectId ? endpoint`projects/${projectId}/issues/${issueId}` : `issues/${issueId}`; - return RequestHelper.get()(this, url12, options); - } - subscribe(projectId, issueIId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/issues/${issueIId}/subscribe`, - options - ); - } - allClosedByMergeRequestst(projectId, issueIId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/issues/${issueIId}/closed_by`, - options - ); - } - showTimeStats(projectId, issueIId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/issues/${issueIId}/time_stats`, - options - ); - } - unsubscribe(projectId, issueIId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/issues/${issueIId}/unsubscribe`, - options - ); - } - uploadMetricImage(projectId, issueIId, metricImage, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/issues/${issueIId}/metric_images`, - { - isForm: true, - ...options, - file: [metricImage.content, metricImage.filename] - } - ); - } - showUserAgentDetails(projectId, issueIId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/issues/${issueIId}/user_agent_details`, - options - ); - } -}; -var IssuesStatistics = class extends dist/* BaseResource */.Qx { - all({ - projectId, - groupId, - ...options - } = {}) { - let url12; - if (projectId) url12 = endpoint`projects/${projectId}/issues_statistics`; - else if (groupId) url12 = endpoint`groups/${groupId}/issues_statistics`; - else url12 = "issues_statistics"; - return RequestHelper.get()(this, url12, options); - } -}; -function generateDownloadPathForJob(projectId, jobId, artifactPath) { - let url12 = endpoint`projects/${projectId}/jobs/${jobId}/artifacts`; - if (artifactPath) url12 += `/${artifactPath}`; - return url12; -} -function generateDownloadPath(projectId, ref, artifactPath) { - let url12 = endpoint`projects/${projectId}/jobs/artifacts/${ref}`; - if (artifactPath) { - url12 += endpoint`/raw/${artifactPath}`; - } else { - url12 += endpoint`/download`; - } - return url12; -} -var JobArtifacts = class extends dist/* BaseResource */.Qx { - downloadArchive(projectId, { - jobId, - artifactPath, - ref, - ...options - } = {}) { - let url12; - if (jobId) url12 = generateDownloadPathForJob(projectId, jobId, artifactPath); - else if (options?.job && ref) url12 = generateDownloadPath(projectId, ref, artifactPath); - else - throw new Error( - "Missing one of the required parameters. See typing documentation for available arguments." - ); - return RequestHelper.get()(this, url12, options); - } - keep(projectId, jobId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/jobs/${jobId}/artifacts/keep`, - options - ); - } - remove(projectId, { jobId, ...options } = {}) { - let url12; - if (jobId) { - url12 = endpoint`projects/${projectId}/jobs/${jobId}/artifacts`; - } else { - url12 = endpoint`projects/${projectId}/artifacts`; - } - return RequestHelper.del()(this, url12, options); - } -}; -var Jobs = class extends dist/* BaseResource */.Qx { - all(projectId, { - pipelineId, - ...options - } = {}) { - const url12 = pipelineId ? endpoint`projects/${projectId}/pipelines/${pipelineId}/jobs` : endpoint`projects/${projectId}/jobs`; - return RequestHelper.get()(this, url12, options); - } - allPipelineBridges(projectId, pipelineId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/pipelines/${pipelineId}/bridges`, - options - ); - } - cancel(projectId, jobId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/jobs/${jobId}/cancel`, - options - ); - } - erase(projectId, jobId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/jobs/${jobId}/erase`, - options - ); - } - play(projectId, jobId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/jobs/${jobId}/play`, - options - ); - } - retry(projectId, jobId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/jobs/${jobId}/retry`, - options - ); - } - show(projectId, jobId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/jobs/${jobId}`, - options - ); - } - showConnectedJob(options) { - if (!this.headers["job-token"]) throw new Error('Missing required header "job-token"'); - return RequestHelper.get()(this, "job", options); - } - showConnectedJobK8Agents(options) { - if (!this.headers["job-token"]) throw new Error('Missing required header "job-token"'); - return RequestHelper.get()(this, "job/allowed_agents", options); - } - showLog(projectId, jobId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/jobs/${jobId}/trace`, - options - ); - } -}; -var MergeRequestApprovals = class extends dist/* BaseResource */.Qx { - allApprovalRules(projectId, { mergerequestIId, ...options } = {}) { - let url12; - if (mergerequestIId) { - url12 = endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/approval_rules`; - } else { - url12 = endpoint`projects/${projectId}/approval_rules`; - } - return RequestHelper.get()(this, url12, options); - } - approve(projectId, mergerequestIId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/approve`, - options - ); - } - createApprovalRule(projectId, name, approvalsRequired, { - mergerequestIId, - ...options - } = {}) { - let url12; - if (mergerequestIId) { - url12 = endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/approval_rules`; - } else { - url12 = endpoint`projects/${projectId}/approval_rules`; - } - return RequestHelper.post()(this, url12, { name, approvalsRequired, ...options }); - } - editApprovalRule(projectId, approvalRuleId, name, approvalsRequired, { - mergerequestIId, - ...options - } = {}) { - let url12; - if (mergerequestIId) { - url12 = endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/approval_rules/${approvalRuleId}`; - } else { - url12 = endpoint`projects/${projectId}/approval_rules/${approvalRuleId}`; - } - return RequestHelper.put()(this, url12, { name, approvalsRequired, ...options }); - } - editConfiguration(projectId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/approvals`, - options - ); - } - removeApprovalRule(projectId, approvalRuleId, { - mergerequestIId, - ...options - } = {}) { - let url12; - if (mergerequestIId) { - url12 = endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/approval_rules/${approvalRuleId}`; - } else { - url12 = endpoint`projects/${projectId}/approval_rules/${approvalRuleId}`; - } - return RequestHelper.del()(this, url12, options); - } - showApprovalRule(projectId, approvalRuleId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/approval_rules/${approvalRuleId}`, - options - ); - } - showApprovalState(projectId, mergerequestIId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/approval_state`, - options - ); - } - showConfiguration(projectId, { mergerequestIId, ...options } = {}) { - let url12; - if (mergerequestIId) { - url12 = endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/approvals`; - } else { - url12 = endpoint`projects/${projectId}/approvals`; - } - return RequestHelper.get()(this, url12, options); - } - unapprove(projectId, mergerequestIId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/unapprove`, - options - ); - } -}; - -// src/resources/MergeRequestAwardEmojis.ts -var MergeRequestAwardEmojis = class extends ResourceAwardEmojis { - constructor(options) { - super("projects", "merge_requests", options); - } -}; -var MergeRequestContextCommits = class extends dist/* BaseResource */.Qx { - all(projectId, mergerequestIId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/context_commits`, - options - ); - } - create(projectId, commits, { mergerequestIId, ...options } = {}) { - const prefix = endpoint`projects/${projectId}/merge_requests`; - const url12 = mergerequestIId ? `${prefix}/${mergerequestIId}/context_commits` : prefix; - return RequestHelper.post()(this, url12, { - commits, - ...options - }); - } - remove(projectId, mergerequestIId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/context_commits`, - options - ); - } -}; - -// src/resources/MergeRequestDiscussions.ts -var MergeRequestDiscussions = class extends ResourceDiscussions { - constructor(options) { - super("projects", "merge_requests", options); - } - resolve(projectId, mergerequestId, discussionId, resolved, options) { - return RequestHelper.put()( - this, - endpoint`${projectId}/merge_requests/${mergerequestId}/discussions/${discussionId}`, - { - searchParams: { resolved }, - ...options - } - ); - } -}; -var MergeRequestDraftNotes = class extends dist/* BaseResource */.Qx { - all(projectId, mergerequestIId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/draft_notes`, - options - ); - } - create(projectId, mergerequestIId, note, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/draft_notes`, - { - ...options, - note - } - ); - } - edit(projectId, mergerequestIId, draftNoteId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/draft_notes/${draftNoteId}`, - options - ); - } - publish(projectId, mergerequestIId, draftNoteId, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/draft_notes/${draftNoteId}/publish`, - options - ); - } - publishBulk(projectId, mergerequestIId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/draft_notes/bulk_publish`, - options - ); - } - remove(projectId, mergerequestIId, draftNoteId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/draft_notes/${draftNoteId}`, - options - ); - } - show(projectId, mergerequestIId, draftNoteId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/draft_notes/${draftNoteId}`, - options - ); - } -}; - -// src/resources/MergeRequestLabelEvents.ts -var MergeRequestLabelEvents = class extends ResourceLabelEvents { - constructor(options) { - super("projects", "merge_requests", options); - } -}; - -// src/resources/MergeRequestMilestoneEvents.ts -var MergeRequestMilestoneEvents = class extends ResourceMilestoneEvents { - constructor(options) { - super("projects", "merge_requests", options); - } -}; - -// src/resources/MergeRequestNoteAwardEmojis.ts -var MergeRequestNoteAwardEmojis = class extends ResourceNoteAwardEmojis { - constructor(options) { - super("merge_requests", options); - } -}; - -// src/resources/MergeRequestNotes.ts -var MergeRequestNotes = class extends ResourceNotes { - constructor(options) { - super("projects", "merge_requests", options); - } -}; -var MergeRequests = class extends dist/* BaseResource */.Qx { - // convenience method - accept(projectId, mergerequestIId, options) { - return this.merge(projectId, mergerequestIId, options); - } - addSpentTime(projectId, mergerequestIId, duration, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/add_spent_time`, - { - duration, - ...options - } - ); - } - all({ - projectId, - groupId, - ...options - } = {}) { - let prefix = ""; - if (projectId) { - prefix = endpoint`projects/${projectId}/`; - } else if (groupId) { - prefix = endpoint`groups/${groupId}/`; - } - return RequestHelper.get()(this, `${prefix}merge_requests`, options); - } - allDiffs(projectId, mergerequestIId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/diffs`, - options - ); - } - allCommits(projectId, mergerequestIId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/commits`, - options - ); - } - allDiffVersions(projectId, mergerequestIId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/versions`, - options - ); - } - allIssuesClosed(projectId, mergerequestIId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/closes_issues`, - options - ); - } - allIssuesRelated(projectId, mergerequestIId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/related_issues`, - options - ); - } - allParticipants(projectId, mergerequestIId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/participants`, - options - ); - } - allPipelines(projectId, mergerequestIId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/pipelines`, - options - ); - } - cancelOnPipelineSuccess(projectId, mergerequestIId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/cancel_merge_when_pipeline_succeeds`, - options - ); - } - create(projectId, sourceBranch, targetBranch, title, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/merge_requests`, - { - sourceBranch, - targetBranch, - title, - ...options - } - ); - } - createPipeline(projectId, mergerequestIId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/pipelines`, - options - ); - } - createTodo(projectId, mergerequestIId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/todo`, - options - ); - } - edit(projectId, mergerequestIId, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}`, - options - ); - } - merge(projectId, mergerequestIId, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/merge`, - options - ); - } - mergeToDefault(projectId, mergerequestIId, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/merge_ref`, - options - ); - } - rebase(projectId, mergerequestIId, { skipCI, ...options } = {}) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/rebase`, - { - ...options, - skipCi: skipCI - } - ); - } - remove(projectId, mergerequestIId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}`, - options - ); - } - resetSpentTime(projectId, mergerequestIId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/reset_spent_time`, - options - ); - } - resetTimeEstimate(projectId, mergerequestIId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/reset_time_estimate`, - options - ); - } - setTimeEstimate(projectId, mergerequestIId, duration, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/time_estimate`, - { - duration, - ...options - } - ); - } - show(projectId, mergerequestIId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}`, - options - ); - } - showChanges(projectId, mergerequestIId, options) { - process.emitWarning( - 'This endpoint was deprecated in GitLab API 15.7 and will be removed in API v5. Please use the "allDiffs" function instead.', - "DeprecationWarning" - ); - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/changes`, - options - ); - } - showDiffVersion(projectId, mergerequestIId, versionId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/versions/${versionId}`, - options - ); - } - showTimeStats(projectId, mergerequestIId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/time_stats`, - options - ); - } - subscribe(projectId, mergerequestIId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/subscribe`, - options - ); - } - unsubscribe(projectId, mergerequestIId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/unsubscribe`, - options - ); - } - showReviewers(projectId, mergerequestIId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/merge_requests/${mergerequestIId}/reviewers`, - options - ); - } -}; -var MergeTrains = class extends dist/* BaseResource */.Qx { - all(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/merge_trains`, - options - ); - } - showStatus(projectId, mergeRequestIId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/merge_trains/merge_requests/${mergeRequestIId}`, - options - ); - } - addMergeRequest(projectId, mergeRequestIId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/merge_trains/merge_requests/${mergeRequestIId}`, - options - ); - } -}; -var PackageRegistry = class extends dist/* BaseResource */.Qx { - publish(projectId, packageName, packageVersion, packageFile, { - contentType, - ...options - } = {}) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/packages/generic/${packageName}/${packageVersion}/${packageFile.filename}`, - { - isForm: true, - file: [packageFile.content, packageFile.filename], - ...options - } - ); - } - download(projectId, packageName, packageVersion, filename, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/packages/generic/${packageName}/${packageVersion}/${filename}`, - options - ); - } -}; -var Packages = class extends dist/* BaseResource */.Qx { - all({ - projectId, - groupId, - ...options - } = {}) { - let url12; - if (projectId) url12 = endpoint`projects/${projectId}/packages`; - else if (groupId) url12 = endpoint`groups/${groupId}/packages`; - else { - throw new Error( - "Missing required argument. Please supply a projectId or a groupId in the options parameter." - ); - } - return RequestHelper.get()(this, url12, options); - } - allFiles(projectId, packageId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/packages/${packageId}/package_files`, - options - ); - } - remove(projectId, packageId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/packages/${packageId}`, - options - ); - } - removeFile(projectId, packageId, projectFileId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/packages/${packageId}/package_files/${projectFileId}`, - options - ); - } - show(projectId, packageId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/packages/${packageId}`, - options - ); - } -}; -var PagesDomains = class extends dist/* BaseResource */.Qx { - all({ - projectId, - ...options - } = {}) { - const prefix = projectId ? endpoint`projects/${projectId}/` : ""; - return RequestHelper.get()(this, `${prefix}pages/domains`, options); - } - create(projectId, domain, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/pages/domains`, - { - domain, - ...options - } - ); - } - edit(projectId, domain, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/pages/domains/${domain}`, - options - ); - } - show(projectId, domain, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/pages/domains/${domain}`, - options - ); - } - remove(projectId, domain, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/pages/domains/${domain}`, - options - ); - } -}; -var PipelineScheduleVariables = class extends dist/* BaseResource */.Qx { - all(projectId, pipelineScheduleId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/pipeline_schedules/${pipelineScheduleId}/variables`, - options - ); - } - create(projectId, pipelineScheduleId, key, value, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/pipeline_schedules/${pipelineScheduleId}/variables`, - { - ...options, - key, - value - } - ); - } - edit(projectId, pipelineScheduleId, key, value, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/pipeline_schedules/${pipelineScheduleId}/variables/${key}`, - { - ...options, - value - } - ); - } - remove(projectId, pipelineScheduleId, key, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/pipeline_schedules/${pipelineScheduleId}/variables/${key}`, - options - ); - } -}; -var PipelineSchedules = class extends dist/* BaseResource */.Qx { - all(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/pipeline_schedules`, - options - ); - } - allTriggeredPipelines(projectId, pipelineScheduleId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/pipeline_schedules/${pipelineScheduleId}/pipelines`, - options - ); - } - create(projectId, description, ref, cron, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/pipeline_schedules`, - { - description, - ref, - cron, - ...options - } - ); - } - edit(projectId, pipelineScheduleId, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/pipeline_schedules/${pipelineScheduleId}`, - options - ); - } - remove(projectId, pipelineScheduleId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/pipeline_schedules/${pipelineScheduleId}`, - options - ); - } - run(projectId, pipelineScheduleId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/pipeline_schedules/${pipelineScheduleId}/play`, - options - ); - } - show(projectId, pipelineScheduleId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/pipeline_schedules/${pipelineScheduleId}`, - options - ); - } - takeOwnership(projectId, pipelineScheduleId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/pipeline_schedules/${pipelineScheduleId}/take_ownership`, - options - ); - } -}; -var PipelineTriggerTokens = class extends dist/* BaseResource */.Qx { - all(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/triggers`, - options - ); - } - create(projectId, description, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/triggers`, - { - description, - ...options - } - ); - } - edit(projectId, triggerId, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/triggers/${triggerId}`, - options - ); - } - remove(projectId, triggerId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/triggers/${triggerId}`, - options - ); - } - show(projectId, triggerId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/triggers/${triggerId}`, - options - ); - } - trigger(projectId, ref, token, { variables, ...options } = {}) { - const opts = { - ...options, - searchParams: { - token, - ref - } - }; - if (variables) { - opts.isForm = true; - Object.assign(opts, reformatObjectOptions(variables, "variables")); - } - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/trigger/pipeline`, - opts - ); - } -}; -var Pipelines = class extends dist/* BaseResource */.Qx { - all(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/pipelines`, - options - ); - } - allVariables(projectId, pipelineId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/pipelines/${pipelineId}/variables`, - options - ); - } - cancel(projectId, pipelineId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/pipelines/${pipelineId}/cancel`, - options - ); - } - create(projectId, ref, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/pipeline`, - { - ref, - ...options - } - ); - } - remove(projectId, pipelineId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/pipelines/${pipelineId}`, - options - ); - } - retry(projectId, pipelineId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/pipelines/${pipelineId}/retry`, - options - ); - } - show(projectId, pipelineId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/pipelines/${pipelineId}`, - options - ); - } - showLatest(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/pipelines/latest`, - options - ); - } - showTestReport(projectId, pipelineId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/pipelines/${pipelineId}/test_report`, - options - ); - } - showTestReportSummary(projectId, pipelineId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/pipelines/${pipelineId}/test_report_summary`, - options - ); - } -}; -var ProductAnalytics = class extends dist/* BaseResource */.Qx { - allFunnels(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/product_analytics/funnels`, - options - ); - } - load(projectId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/product_analytics/request/load`, - options - ); - } - dryRun(projectId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/product_analytics/request/dry-run`, - options - ); - } - showMetadata(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/product_analytics/request/meta`, - options - ); - } -}; - -// src/resources/ProjectAccessRequests.ts -var ProjectAccessRequests = class extends ResourceAccessRequests { - constructor(options) { - super("projects", options); - } -}; - -// src/resources/ProjectAccessTokens.ts -var ProjectAccessTokens = class extends ResourceAccessTokens { - constructor(options) { - super("projects", options); - } -}; -var ProjectAliases = class extends dist/* BaseResource */.Qx { - all(options) { - return RequestHelper.get()(this, "project_aliases", options); - } - create(projectId, name, options) { - return RequestHelper.post()(this, "project_aliases", { - name, - projectId, - ...options - }); - } - edit(name, options) { - return RequestHelper.post()(this, `project_aliases/${name}`, options); - } - remove(name, options) { - return RequestHelper.del()(this, `project_aliases/${name}`, options); - } -}; - -// src/resources/ProjectBadges.ts -var ProjectBadges = class extends ResourceBadges { - constructor(options) { - super("projects", options); - } -}; - -// src/resources/ProjectCustomAttributes.ts -var ProjectCustomAttributes = class extends ResourceCustomAttributes { - constructor(options) { - super("projects", options); - } -}; - -// src/resources/ProjectDORA4Metrics.ts -var ProjectDORA4Metrics = class extends ResourceDORA4Metrics { - constructor(options) { - super("projects", options); - } -}; - -// src/resources/ProjectHooks.ts -var ProjectHooks = class extends ResourceHooks { - constructor(options) { - super("projects", options); - } -}; -var ProjectImportExports = class extends dist/* BaseResource */.Qx { - download(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/export/download`, - options - ); - } - import(file, path, options) { - return RequestHelper.post()(this, "projects/import", { - isForm: true, - ...options, - file: [file.content, file.filename], - path - }); - } - importRemote(url12, path, options) { - return RequestHelper.post()(this, "projects/remote-import", { - ...options, - path, - url: url12 - }); - } - importRemoteS3(accessKeyId, bucketName, fileKey, path, region, secretAccessKey, options) { - return RequestHelper.post()(this, "projects/remote-import", { - ...options, - accessKeyId, - bucketName, - fileKey, - path, - region, - secretAccessKey - }); - } - showExportStatus(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/export`, - options - ); - } - showImportStatus(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/import`, - options - ); - } - scheduleExport(projectId, uploadConfig, options) { - return RequestHelper.post()(this, endpoint`projects/${projectId}/export`, { - ...options, - upload: uploadConfig - }); - } -}; - -// src/resources/ProjectInvitations.ts -var ProjectInvitations = class extends ResourceInvitations { - constructor(options) { - super("projects", options); - } -}; - -// src/resources/ProjectIssueBoards.ts -var ProjectIssueBoards = class extends ResourceIssueBoards { - constructor(options) { - super("projects", options); - } -}; - -// src/resources/ProjectIterations.ts -var ProjectIterations = class extends ResourceIterations { - constructor(options) { - super("project", options); - } -}; -var ProjectJobTokenScopes = class extends dist/* BaseResource */.Qx { - show(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/job_token_scope`, - options - ); - } - edit(projectId, enabled, options) { - return RequestHelper.patch()( - this, - endpoint`projects/${projectId}/job_token_scope`, - { ...options, enabled } - ); - } - showInboundAllowList(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/job_token_scope/allowlist`, - options - ); - } - addToInboundAllowList(projectId, targetProjectId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/job_token_scope/allowlist`, - { ...options, targetProjectId } - ); - } - removeFromInboundAllowList(projectId, targetProjectId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/job_token_scope/allowlist/${targetProjectId}`, - options - ); - } - showGroupsAllowList(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/job_token_scope/groups_allowlist`, - options - ); - } - addToGroupsAllowList(projectId, targetGroupId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/job_token_scope/groups_allowlist`, - { ...options, targetGroupId } - ); - } - removeFromGroupsAllowList(projectId, targetGroupId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/job_token_scope/groups_allowlist/${targetGroupId}`, - options - ); - } -}; - -// src/resources/ProjectLabels.ts -var ProjectLabels = class extends ResourceLabels { - constructor(options) { - super("projects", options); - } -}; - -// src/resources/ProjectMarkdownUploads.ts -var ProjectMarkdownUploads = class extends ResourceMarkdownUploads { - constructor(options) { - super("projects", options); - } - create(projectId, file, options) { - return RequestHelper.post()(this, endpoint`${projectId}/uploads`, { - isForm: true, - ...options, - file: [file.content, file.filename] - }); - } -}; - -// src/resources/ProjectMembers.ts -var ProjectMembers = class extends ResourceMembers { - constructor(options) { - super("projects", options); - } -}; - -// src/resources/ProjectMilestones.ts -var ProjectMilestones = class extends ResourceMilestones { - constructor(options) { - super("projects", options); - } - promote(projectId, milestoneId, options) { - return RequestHelper.post()( - this, - endpoint`${projectId}/milestones/${milestoneId}/promote`, - options - ); - } -}; - -// src/resources/ProjectProtectedEnvironments.ts -var ProjectProtectedEnvironments = class extends ResourceProtectedEnvironments { - constructor(options) { - super("projects", options); - } -}; - -// src/resources/ProjectPushRules.ts -var ProjectPushRules = class extends ResourcePushRules { - constructor(options) { - super("projects", options); - } -}; -var ProjectRelationsExport = class extends dist/* BaseResource */.Qx { - download(projectId, relation, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/export_relations/download`, - { - relation, - ...options - } - ); - } - showExportStatus(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/export_relations/status`, - options - ); - } - scheduleExport(projectId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/export_relations`, - options - ); - } -}; -var ProjectReleases = class extends dist/* BaseResource */.Qx { - all(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/releases`, - options - ); - } - create(projectId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/releases`, - options - ); - } - createEvidence(projectId, tagName, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/releases/${tagName}/evidence`, - options - ); - } - edit(projectId, tagName, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/releases/${tagName}`, - options - ); - } - download(projectId, tagName, filepath, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/releases/${tagName}/downloads/${filepath}`, - options - ); - } - downloadLatest(projectId, filepath, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/releases/permalink/latest/downloads/${filepath}`, - options - ); - } - remove(projectId, tagName, options) { - return RequestHelper.del()(this, endpoint`projects/${projectId}/releases/${tagName}`, options); - } - show(projectId, tagName, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/releases/${tagName}`, - options - ); - } - showLatest(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/releases/permalink/latest`, - options - ); - } - showLatestEvidence(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/releases/permalink/latest/evidence`, - options - ); - } -}; -var ProjectRemoteMirrors = class extends dist/* BaseResource */.Qx { - all(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/remote_mirrors`, - options - ); - } - // Helper method - Duplicated from Projects - createPullMirror(projectId, url12, mirror, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/mirror/pull`, - { - importUrl: url12, - mirror, - ...options - } - ); - } - createPushMirror(projectId, url12, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/remote_mirrors`, - { - url: url12, - ...options - } - ); - } - edit(projectId, mirrorId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/remote_mirrors/${mirrorId}`, - options - ); - } - remove(projectId, mirrorId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/remote_mirrors/${mirrorId}`, - options - ); - } - show(projectId, mirrorId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/remote_mirrors/${mirrorId}`, - options - ); - } - sync(projectId, mirrorId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/remote_mirrors/${mirrorId}/sync`, - options - ); - } -}; - -// src/resources/ProjectRepositoryStorageMoves.ts -var ProjectRepositoryStorageMoves = class extends ResourceRepositoryStorageMoves { - constructor(options) { - super("projects", options); - } -}; - -// src/resources/ProjectSnippetAwardEmojis.ts -var ProjectSnippetAwardEmojis = class extends ResourceAwardEmojis { - constructor(options) { - super("projects", "snippets", options); - } -}; - -// src/resources/ProjectSnippetDiscussions.ts -var ProjectSnippetDiscussions = class extends ResourceDiscussions { - constructor(options) { - super("projects", "snippets", options); - } -}; - -// src/resources/ProjectSnippetNotes.ts -var ProjectSnippetNotes = class extends ResourceNotes { - constructor(options) { - super("projects", "snippets", options); - } -}; -var ProjectSnippets = class extends dist/* BaseResource */.Qx { - all(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/snippets`, - options - ); - } - create(projectId, title, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/snippets`, - { - title, - ...options - } - ); - } - edit(projectId, snippetId, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/snippets/${snippetId}`, - options - ); - } - remove(projectId, snippetId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/snippets/${snippetId}`, - options - ); - } - show(projectId, snippetId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/snippets/${snippetId}`, - options - ); - } - showContent(projectId, snippetId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/snippets/${snippetId}/raw`, - options - ); - } - showRepositoryFileContent(projectId, snippetId, ref, filePath, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/snippets/${snippetId}/files/${ref}/${filePath}/raw`, - options - ); - } - showUserAgentDetails(projectId, snippetId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/snippets/${snippetId}/user_agent_detail`, - options - ); - } -}; -var ProjectStatistics = class extends dist/* BaseResource */.Qx { - show(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/statistics`, - options - ); - } -}; -var ProjectTemplates = class extends dist/* BaseResource */.Qx { - all(projectId, type, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/templates/${type}`, - options - ); - } - show(projectId, type, name, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/templates/${type}/${name}`, - options - ); - } -}; -var ProjectTerraformState = class extends dist/* BaseResource */.Qx { - show(projectId, name, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/terraform/state/${name}`, - options - ); - } - showVersion(projectId, name, serial, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/terraform/state/${name}/versions/${serial}`, - options - ); - } - removeVersion(projectId, name, serial, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/terraform/state/${name}/versions/${serial}`, - options - ); - } - remove(projectId, name, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/terraform/state/${name}`, - options - ); - } - removeTerraformStateLock(projectId, name, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/terraform/state/${name}/lock`, - options - ); - } - createVersion(projectId, name, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/terraform/state/${name}`, - options - ); - } -}; - -// src/resources/ProjectVariables.ts -var ProjectVariables = class extends ResourceVariables { - constructor(options) { - super("projects", options); - } -}; -var ProjectVulnerabilities = class extends dist/* BaseResource */.Qx { - all(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/vulnerabilities`, - options - ); - } - create(projectId, findingId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/vulnerabilities`, - { - ...options, - searchParams: { - findingId - } - } - ); - } -}; - -// src/resources/ProjectWikis.ts -var ProjectWikis = class extends ResourceWikis { - constructor(options) { - super("projects", options); - } -}; -var Projects = class extends dist/* BaseResource */.Qx { - all({ - userId, - starredOnly, - ...options - } = {}) { - let uri; - if (userId && starredOnly) uri = endpoint`users/${userId}/starred_projects`; - else if (userId) uri = endpoint`users/${userId}/projects`; - else uri = "projects"; - return RequestHelper.get()(this, uri, options); - } - allTransferLocations(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/transfer_locations`, - options - ); - } - allUsers(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/users`, - options - ); - } - allGroups(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/groups`, - options - ); - } - allInvitedGroups(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/invited_groups`, - options - ); - } - allSharableGroups(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/share_locations`, - options - ); - } - allForks(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/forks`, - options - ); - } - allStarrers(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/starrers`, - options - ); - } - allStoragePaths(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/storage`, - options - ); - } - archive(projectId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/archive`, - options - ); - } - create({ - userId, - avatar, - ...options - } = {}) { - const url12 = userId ? `projects/user/${userId}` : "projects"; - if (avatar) { - return RequestHelper.post()(this, url12, { - ...options, - isForm: true, - avatar: [avatar.content, avatar.filename] - }); - } - return RequestHelper.post()(this, url12, { ...options, avatar }); - } - createForkRelationship(projectId, forkedFromId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/fork/${forkedFromId}`, - options - ); - } - // Helper method - Duplicated from ProjectRemoteMirrors - createPullMirror(projectId, url12, mirror, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/mirror/pull`, - { - importUrl: url12, - mirror, - ...options - } - ); - } - downloadSnapshot(projectId, options) { - return RequestHelper.get()(this, endpoint`projects/${projectId}/snapshot`, options); - } - edit(projectId, { avatar, ...options } = {}) { - const url12 = endpoint`projects/${projectId}`; - if (avatar) { - return RequestHelper.put()(this, url12, { - ...options, - isForm: true, - avatar: [avatar.content, avatar.filename] - }); - } - return RequestHelper.put()(this, url12, { ...options, avatar }); - } - fork(projectId, options) { - return RequestHelper.post()(this, endpoint`projects/${projectId}/fork`, options); - } - housekeeping(projectId, options) { - return RequestHelper.post()(this, endpoint`projects/${projectId}/housekeeping`, options); - } - importProjectMembers(projectId, sourceProjectId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/import_project_members/${sourceProjectId}`, - options - ); - } - remove(projectId, options) { - return RequestHelper.del()(this, endpoint`projects/${projectId}`, options); - } - removeForkRelationship(projectId, options) { - return RequestHelper.del()(this, endpoint`projects/${projectId}/fork`, options); - } - removeAvatar(projectId, options) { - return RequestHelper.put()(this, endpoint`projects/${projectId}`, { - ...options, - avatar: "" - }); - } - restore(projectId, options) { - return RequestHelper.post()(this, endpoint`projects/${projectId}/restore`, options); - } - search(projectName, options) { - return RequestHelper.get()(this, "projects", { - search: projectName, - ...options - }); - } - share(projectId, groupId, groupAccess, options) { - return RequestHelper.post()(this, endpoint`projects/${projectId}/share`, { - groupId, - groupAccess, - ...options - }); - } - show(projectId, options) { - return RequestHelper.get()(this, endpoint`projects/${projectId}`, options); - } - showLanguages(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/languages`, - options - ); - } - showPullMirror(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/mirror/pull`, - options - ); - } - star(projectId, options) { - return RequestHelper.post()(this, endpoint`projects/${projectId}/star`, options); - } - transfer(projectId, namespaceId, options) { - return RequestHelper.put()(this, endpoint`projects/${projectId}/transfer`, { - ...options, - namespace: namespaceId - }); - } - unarchive(projectId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/unarchive`, - options - ); - } - unshare(projectId, groupId, options) { - return RequestHelper.del()(this, endpoint`projects/${projectId}/share/${groupId}`, options); - } - unstar(projectId, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/unstar`, - options - ); - } - /* Upload file to be used a reference within an issue, merge request or - comment - */ - uploadForReference(projectId, file, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/uploads`, - { - ...options, - isForm: true, - file: [file.content, file.filename] - } - ); - } - uploadAvatar(projectId, avatar, options) { - return RequestHelper.put()(this, endpoint`projects/${projectId}`, { - ...options, - isForm: true, - avatar: [avatar.content, avatar.filename] - }); - } -}; -var ProtectedBranches = class extends dist/* BaseResource */.Qx { - all(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/protected_branches`, - options - ); - } - create(projectId, branchName, options) { - const { sudo, showExpanded, ...opts } = options || {}; - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/protected_branches`, - { - searchParams: { - ...opts, - name: branchName - }, - sudo, - showExpanded - } - ); - } - // Convenience method - create - protect(projectId, branchName, options) { - return this.create(projectId, branchName, options); - } - edit(projectId, branchName, options) { - return RequestHelper.patch()( - this, - endpoint`projects/${projectId}/protected_branches/${branchName}`, - options - ); - } - show(projectId, branchName, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/protected_branches/${branchName}`, - options - ); - } - remove(projectId, branchName, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/protected_branches/${branchName}`, - options - ); - } - // Convenience method - remove - unprotect(projectId, branchName, options) { - return this.remove(projectId, branchName, options); - } -}; -var ProtectedTags = class extends dist/* BaseResource */.Qx { - all(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/protected_tags`, - options - ); - } - create(projectId, tagName, options) { - const { sudo, showExpanded, ...opts } = options || {}; - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/protected_tags`, - { - searchParams: { - name: tagName, - ...opts - }, - sudo, - showExpanded - } - ); - } - // Convenience method - create - protect(projectId, tagName, options) { - return this.create(projectId, tagName, options); - } - show(projectId, tagName, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/protected_tags/${tagName}`, - options - ); - } - remove(projectId, tagName, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/protected_tags/${tagName}`, - options - ); - } - // Convenience method - remove - unprotect(projectId, tagName, options) { - return this.remove(projectId, tagName, options); - } -}; -var ReleaseLinks = class extends dist/* BaseResource */.Qx { - all(projectId, tagName, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/releases/${tagName}/assets/links`, - options - ); - } - create(projectId, tagName, name, url12, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/releases/${tagName}/assets/links`, - { - name, - url: url12, - ...options - } - ); - } - edit(projectId, tagName, linkId, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/releases/${tagName}/assets/links/${linkId}`, - options - ); - } - remove(projectId, tagName, linkId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/releases/${tagName}/assets/links/${linkId}`, - options - ); - } - show(projectId, tagName, linkId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/releases/${tagName}/assets/links/${linkId}`, - options - ); - } -}; -var Repositories = class extends dist/* BaseResource */.Qx { - allContributors(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/repository/contributors`, - options - ); - } - allRepositoryTrees(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/repository/tree`, - options - ); - } - compare(projectId, from, to, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/repository/compare`, - { - from, - to, - ...options - } - ); - } - editChangelog(projectId, version, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/repository/changelog`, - { ...options, version } - ); - } - mergeBase(projectId, refs, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/repository/merge_base`, - { - ...options, - refs - } - ); - } - showArchive(projectId, { - fileType = "tar.gz", - ...options - } = {}) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/repository/archive.${fileType}`, - options - ); - } - showBlob(projectId, sha, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/repository/blobs/${sha}`, - options - ); - } - showBlobRaw(projectId, sha, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/repository/blobs/${sha}/raw`, - options - ); - } - showChangelog(projectId, version, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/repository/changelog`, - { ...options, version } - ); - } -}; -var RepositoryFiles = class extends dist/* BaseResource */.Qx { - allFileBlames(projectId, filePath, ref, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/repository/files/${filePath}/blame`, - { - ref, - ...options - } - ); - } - create(projectId, filePath, branch, content, commitMessage, options) { - return RequestHelper.post()( - this, - endpoint`projects/${projectId}/repository/files/${filePath}`, - { - branch, - content, - commitMessage, - ...options - } - ); - } - edit(projectId, filePath, branch, content, commitMessage, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/repository/files/${filePath}`, - { - branch, - content, - commitMessage, - ...options - } - ); - } - remove(projectId, filePath, branch, commitMessage, options) { - return RequestHelper.del()(this, endpoint`projects/${projectId}/repository/files/${filePath}`, { - branch, - commitMessage, - ...options - }); - } - show(projectId, filePath, ref, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/repository/files/${filePath}`, - { - ref, - ...options - } - ); - } - showRaw(projectId, filePath, ref, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/repository/files/${filePath}/raw`, - { - ref, - ...options - } - ); - } -}; -var RepositorySubmodules = class extends dist/* BaseResource */.Qx { - edit(projectId, submodule, branch, commitSha, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/repository/submodules/${submodule}`, - { - branch, - commitSha, - ...options - } - ); - } -}; -var ResourceGroups = class extends dist/* BaseResource */.Qx { - all(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/resource_groups`, - options - ); - } - edit(projectId, key, options) { - return RequestHelper.put()( - this, - endpoint`projects/${projectId}/resource_groups/${key}`, - options - ); - } - show(projectId, key, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/resource_groups/${key}`, - options - ); - } - allUpcomingJobs(projectId, key, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/resource_groups/${key}/upcoming_jobs`, - options - ); - } -}; -var Runners = class extends dist/* BaseResource */.Qx { - all({ - projectId, - groupId, - owned, - ...options - } = {}) { - let url12; - if (projectId) url12 = endpoint`projects/${projectId}/runners`; - else if (groupId) url12 = endpoint`groups/${groupId}/runners`; - else if (owned) url12 = "runners"; - else url12 = "runners/all"; - return RequestHelper.get()(this, url12, options); - } - allJobs(runnerId, options) { - return RequestHelper.get()(this, `runners/${runnerId}/jobs`, options); - } - // https://docs.gitlab.com/15.9/ee/api/runners.html#register-a-new-runner - create(token, options) { - return RequestHelper.post()(this, `runners`, { - token, - ...options - }); - } - edit(runnerId, options) { - return RequestHelper.put()(this, `runners/${runnerId}`, options); - } - enable(projectId, runnerId, options) { - return RequestHelper.post()(this, endpoint`projects/${projectId}/runners`, { - runnerId, - ...options - }); - } - disable(projectId, runnerId, options) { - return RequestHelper.del()(this, endpoint`projects/${projectId}/runners/${runnerId}`, options); - } - // Create - Convenience method - register(token, options) { - return this.create(token, options); - } - remove({ - runnerId, - token, - ...options - }) { - let url12; - if (runnerId) url12 = `runners/${runnerId}`; - else if (token) { - url12 = "runners"; - } else - throw new Error( - "Missing required argument. Please supply a runnerId or a token in the options parameter" - ); - return RequestHelper.del()(this, url12, { - token, - ...options - }); - } - resetRegistrationToken({ - runnerId, - token, - ...options - } = {}) { - let url12; - if (runnerId) url12 = endpoint`runners/${runnerId}/reset_registration_token`; - else if (token) url12 = "runners/reset_registration_token"; - else { - throw new Error("Missing either runnerId or token parameters"); - } - return RequestHelper.post()(this, url12, { - token, - ...options - }); - } - show(runnerId, options) { - return RequestHelper.get()(this, `runners/${runnerId}`, options); - } - verify(options) { - return RequestHelper.post()(this, `runners/verify`, options); - } -}; -var SecureFiles = class extends dist/* BaseResource */.Qx { - all(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/secure_files`, - options - ); - } - create(projectId, name, file, options) { - return RequestHelper.post()(this, `projects/${projectId}/secure_files`, { - isForm: true, - ...options, - file: [file.content, file.filename], - name - }); - } - download(projectId, secureFileId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/secure_files/${secureFileId}/download`, - options - ); - } - remove(projectId, secureFileId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/secure_files/${secureFileId}`, - options - ); - } - show(projectId, secureFileId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/secure_files/${secureFileId}`, - options - ); - } -}; -var Tags = class extends dist/* BaseResource */.Qx { - all(projectId, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/repository/tags`, - options - ); - } - create(projectId, tagName, ref, options) { - return RequestHelper.post()(this, endpoint`projects/${projectId}/repository/tags`, { - searchParams: { - tagName, - ref - }, - ...options - }); - } - remove(projectId, tagName, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/repository/tags/${tagName}`, - options - ); - } - show(projectId, tagName, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/repository/tags/${tagName}`, - options - ); - } - showSignature(projectId, tagName, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/repository/tags/${tagName}/signature`, - options - ); - } -}; -var UserStarredMetricsDashboard = class extends dist/* BaseResource */.Qx { - create(projectId, dashboardPath, options) { - return RequestHelper.get()( - this, - endpoint`projects/${projectId}/metrics/user_starred_dashboards`, - { - dashboardPath, - ...options - } - ); - } - remove(projectId, options) { - return RequestHelper.del()( - this, - endpoint`projects/${projectId}/metrics/user_starred_dashboards`, - options - ); - } -}; - -// src/resources/EpicAwardEmojis.ts -var EpicAwardEmojis = class extends ResourceAwardEmojis { - constructor(options) { - super("epics", "issues", options); - } -}; - -// src/resources/EpicDiscussions.ts -var EpicDiscussions = class extends ResourceDiscussions { - constructor(options) { - super("groups", "epics", options); - } -}; -var EpicIssues = class extends dist/* BaseResource */.Qx { - all(groupId, epicIId, options) { - return RequestHelper.get()( - this, - endpoint`groups/${groupId}/epics/${epicIId}/issues`, - options - ); - } - assign(groupId, epicIId, epicIssueId, options) { - return RequestHelper.post()( - this, - endpoint`groups/${groupId}/epics/${epicIId}/issues/${epicIssueId}`, - options - ); - } - edit(groupId, epicIId, epicIssueId, options) { - return RequestHelper.put()( - this, - endpoint`groups/${groupId}/epics/${epicIId}/issues/${epicIssueId}`, - options - ); - } - remove(groupId, epicIId, epicIssueId, options) { - return RequestHelper.del()( - this, - endpoint`groups/${groupId}/epics/${epicIId}/issues/${epicIssueId}`, - options - ); - } -}; - -// src/resources/EpicLabelEvents.ts -var EpicLabelEvents = class extends ResourceLabelEvents { - constructor(options) { - super("groups", "epics", options); - } -}; -var EpicLinks = class extends dist/* BaseResource */.Qx { - all(groupId, epicIId, options) { - return RequestHelper.get()( - this, - endpoint`groups/${groupId}/epics/${epicIId}/links`, - options - ); - } - assign(groupId, epicIId, childEpicId, options) { - return RequestHelper.post()( - this, - endpoint`groups/${groupId}/epics/${epicIId}/links/${childEpicId}`, - options - ); - } - create(groupId, epicIId, title, options) { - return RequestHelper.post()( - this, - endpoint`groups/${groupId}/epics/${epicIId}/links`, - { - searchParams: { - title - }, - ...options - } - ); - } - reorder(groupId, epicIId, childEpicId, options) { - return RequestHelper.put()( - this, - endpoint`groups/${groupId}/epics/${epicIId}/links/${childEpicId}`, - options - ); - } - unassign(groupId, epicIId, childEpicId, options) { - return RequestHelper.del()( - this, - endpoint`groups/${groupId}/epics/${epicIId}/links/${childEpicId}`, - options - ); - } -}; - -// src/resources/EpicNotes.ts -var EpicNotes = class extends ResourceNotes { - constructor(options) { - super("groups", "epics", options); - } -}; -var Epics = class extends dist/* BaseResource */.Qx { - all(groupId, options) { - return RequestHelper.get()(this, endpoint`groups/${groupId}/epics`, options); - } - create(groupId, title, options) { - return RequestHelper.post()(this, endpoint`groups/${groupId}/epics`, { - title, - ...options - }); - } - createTodo(groupId, epicIId, options) { - return RequestHelper.post()( - this, - endpoint`groups/${groupId}/epics/${epicIId}/todos`, - options - ); - } - edit(groupId, epicIId, options) { - return RequestHelper.put()( - this, - endpoint`groups/${groupId}/epics/${epicIId}`, - options - ); - } - remove(groupId, epicIId, options) { - return RequestHelper.del()(this, endpoint`groups/${groupId}/epics/${epicIId}`, options); - } - show(groupId, epicIId, options) { - return RequestHelper.get()( - this, - endpoint`groups/${groupId}/epics/${epicIId}`, - options - ); - } -}; - -// src/resources/GroupAccessRequests.ts -var GroupAccessRequests = class extends ResourceAccessRequests { - constructor(options) { - super("groups", options); - } -}; - -// src/resources/GroupAccessTokens.ts -var GroupAccessTokens = class extends ResourceAccessTokens { - constructor(options) { - super("groups", options); - } -}; -var GroupActivityAnalytics = class extends dist/* BaseResource */.Qx { - showIssuesCount(groupPath, options) { - return RequestHelper.get()( - this, - "analytics/group_activity/issues_count", - { - searchParams: { - groupPath - }, - ...options - } - ); - } - showMergeRequestsCount(groupPath, options) { - return RequestHelper.get()( - this, - "analytics/group_activity/merge_requests_count", - { - searchParams: { - groupPath - }, - ...options - } - ); - } - showNewMembersCount(groupPath, options) { - return RequestHelper.get()( - this, - "analytics/group_activity/new_members_count", - { - searchParams: { - groupPath - }, - ...options - } - ); - } -}; - -// src/resources/GroupBadges.ts -var GroupBadges = class extends ResourceBadges { - constructor(options) { - super("groups", options); - } -}; - -// src/resources/GroupCustomAttributes.ts -var GroupCustomAttributes = class extends ResourceCustomAttributes { - constructor(options) { - super("groups", options); - } -}; - -// src/resources/GroupDORA4Metrics.ts -var GroupDORA4Metrics = class extends ResourceDORA4Metrics { - constructor(options) { - super("groups", options); - } -}; -var GroupEpicBoards = class extends dist/* BaseResource */.Qx { - all(groupId, options) { - return RequestHelper.get()( - this, - endpoint`groups/${groupId}/epic_boards`, - options - ); - } - allLists(groupId, boardId, options) { - return RequestHelper.get()( - this, - endpoint`groups/${groupId}/epic_boards/${boardId}/lists`, - options - ); - } - show(groupId, boardId, options) { - return RequestHelper.get()( - this, - endpoint`groups/${groupId}/epic_boards/${boardId}`, - options - ); - } - showList(groupId, boardId, listId, options) { - return RequestHelper.get()( - this, - endpoint`groups/${groupId}/epic_boards/${boardId}/lists/${listId}`, - options - ); - } -}; - -// src/resources/GroupHooks.ts -var GroupHooks = class extends ResourceHooks { - constructor(options) { - super("groups", options); - } -}; -var GroupImportExports = class extends dist/* BaseResource */.Qx { - download(groupId, options) { - return RequestHelper.get()( - this, - endpoint`groups/${groupId}/export/download`, - options - ); - } - import(file, path, { parentId, name, ...options }) { - return RequestHelper.post()(this, "groups/import", { - isForm: true, - ...options, - file: [file.content, file.filename], - path, - name: name || path.split("/").at(0), - parentId - }); - } - scheduleExport(groupId, options) { - return RequestHelper.post()( - this, - endpoint`groups/${groupId}/export`, - options - ); - } -}; - -// src/resources/GroupInvitations.ts -var GroupInvitations = class extends ResourceInvitations { - constructor(options) { - super("groups", options); - } -}; - -// src/resources/GroupIssueBoards.ts -var GroupIssueBoards = class extends ResourceIssueBoards { - constructor(options) { - super("groups", options); - } -}; - -// src/resources/GroupIterations.ts -var GroupIterations = class extends ResourceIterations { - constructor(options) { - super("groups", options); - } -}; -var GroupLDAPLinks = class extends dist/* BaseResource */.Qx { - add(groupId, groupAccess, provider, options) { - return RequestHelper.post()(this, endpoint`groups/${groupId}/ldap_group_links`, { - groupAccess, - provider, - ...options - }); - } - all(groupId, options) { - return RequestHelper.get()( - this, - endpoint`groups/${groupId}/ldap_group_links`, - options - ); - } - remove(groupId, provider, options) { - return RequestHelper.del()(this, endpoint`groups/${groupId}/ldap_group_links`, { - provider, - ...options - }); - } - sync(groupId, options) { - return RequestHelper.post()(this, endpoint`groups/${groupId}/ldap_sync`, options); - } -}; - -// src/resources/GroupLabels.ts -var GroupLabels = class extends ResourceLabels { - constructor(options) { - super("groups", options); - } -}; - -// src/resources/GroupMarkdownUploads.ts -var GroupMarkdownUploads = class extends ResourceMarkdownUploads { - constructor(options) { - super("groups", options); - } -}; -var GroupMemberRoles = class extends dist/* BaseResource */.Qx { - add(groupId, baseAccessLevel, options) { - return RequestHelper.post()(this, endpoint`groups/${groupId}/members`, { - baseAccessLevel, - ...options - }); - } - all(groupId, options) { - return RequestHelper.get()( - this, - endpoint`groups/${groupId}/member_roles`, - options - ); - } - remove(groupId, memberRoleId, options) { - return RequestHelper.del()( - this, - endpoint`groups/${groupId}/member_roles/${memberRoleId}`, - options - ); - } -}; - -// src/resources/GroupMembers.ts -var GroupMembers = class extends ResourceMembers { - constructor(options) { - super("groups", options); - } - allBillable(groupId, options) { - return RequestHelper.get()( - this, - endpoint`${groupId}/billable_members`, - options - ); - } - allPending(groupId, options) { - return RequestHelper.get()(this, endpoint`${groupId}/pending_members`, options); - } - allBillableMemberships(groupId, userId, options) { - return RequestHelper.get()( - this, - endpoint`${groupId}/billable_members/${userId}/memberships`, - options - ); - } - approve(groupId, userId, options) { - return RequestHelper.put()( - this, - endpoint`${groupId}/members/${userId}/approve`, - options - ); - } - approveAll(groupId, options) { - return RequestHelper.put()( - this, - endpoint`${groupId}/members/approve_all`, - options - ); - } - removeBillable(groupId, userId, options) { - return RequestHelper.del()(this, endpoint`${groupId}/billable_members/${userId}`, options); - } - removeOverrideFlag(groupId, userId, options) { - return RequestHelper.del()( - this, - endpoint`${groupId}/members/${userId}/override`, - options - ); - } - setOverrideFlag(groupId, userId, options) { - return RequestHelper.post()( - this, - endpoint`${groupId}/members/${userId}/override`, - options - ); - } -}; - -// src/resources/GroupMilestones.ts -var GroupMilestones = class extends ResourceMilestones { - constructor(options) { - super("groups", options); - } -}; - -// src/resources/GroupProtectedEnvironments.ts -var GroupProtectedEnvironments = class extends ResourceProtectedEnvironments { - constructor(options) { - super("groups", options); - } -}; - -// src/resources/GroupPushRules.ts -var GroupPushRules = class extends ResourcePushRules { - constructor(options) { - super("groups", options); - } -}; -var GroupRelationExports = class extends dist/* BaseResource */.Qx { - download(groupId, relation, options) { - return RequestHelper.get()(this, endpoint`groups/${groupId}/export_relations/download`, { - searchParams: { relation }, - ...options - }); - } - exportStatus(groupId, options) { - return RequestHelper.get()( - this, - endpoint`groups/${groupId}/export_relations`, - options - ); - } - scheduleExport(groupId, options) { - return RequestHelper.post()( - this, - endpoint`groups/${groupId}/export_relations`, - options - ); - } -}; -var GroupReleases = class extends dist/* BaseResource */.Qx { - all(groupId, options) { - return RequestHelper.get()( - this, - endpoint`groups/${groupId}/releases`, - options - ); - } -}; - -// src/resources/GroupRepositoryStorageMoves.ts -var GroupRepositoryStorageMoves = class extends ResourceRepositoryStorageMoves { - constructor(options) { - super("groups", options); - } -}; -var GroupSAMLIdentities = class extends dist/* BaseResource */.Qx { - all(groupId, options) { - return RequestHelper.get()( - this, - endpoint`groups/${groupId}/saml/identities`, - options - ); - } - edit(groupId, identityId, options) { - return RequestHelper.patch()( - this, - endpoint`groups/${groupId}/saml/${identityId}`, - options - ); - } -}; -var GroupSAMLLinks = class extends dist/* BaseResource */.Qx { - all(groupId, options) { - return RequestHelper.get()( - this, - endpoint`groups/${groupId}/saml_group_links`, - options - ); - } - create(groupId, samlGroupName, accessLevel, options) { - return RequestHelper.post()( - this, - endpoint`groups/${groupId}/saml_group_links`, - { - accessLevel, - samlGroupName, - ...options - } - ); - } - remove(groupId, samlGroupName, options) { - return RequestHelper.del()( - this, - endpoint`groups/${groupId}/saml_group_links/${samlGroupName}`, - options - ); - } - show(groupId, samlGroupName, options) { - return RequestHelper.get()( - this, - endpoint`groups/${groupId}/saml_group_links/${samlGroupName}`, - options - ); - } -}; -var GroupSCIMIdentities = class extends dist/* BaseResource */.Qx { - all(groupId, options) { - return RequestHelper.get()( - this, - endpoint`groups/${groupId}/scim/identities`, - options - ); - } - edit(groupId, identityId, options) { - return RequestHelper.patch()( - this, - endpoint`groups/${groupId}/scim/${identityId}`, - options - ); - } -}; -var GroupServiceAccounts = class extends dist/* BaseResource */.Qx { - create(groupId, options) { - return RequestHelper.post()( - this, - endpoint`groups/${groupId}/service_accounts`, - options - ); - } - // @deprecated In favor of `createPersonalAccessToken` - addPersonalAccessToken(groupId, serviceAccountId, options) { - return this.createPersonalAccessToken(groupId, serviceAccountId, options); - } - createPersonalAccessToken(groupId, serviceAccountId, options) { - return RequestHelper.post()( - this, - endpoint`groups/${groupId}/service_accounts/${serviceAccountId}`, - options - ); - } - rotatePersonalAccessToken(groupId, serviceAccountId, tokenId, options) { - return RequestHelper.post()( - this, - endpoint`groups/${groupId}/service_accounts/${serviceAccountId}/personal_access_tokens/${tokenId}/rotate`, - options - ); - } -}; - -// src/resources/GroupVariables.ts -var GroupVariables = class extends ResourceVariables { - constructor(options) { - super("groups", options); - } -}; - -// src/resources/GroupWikis.ts -var GroupWikis = class extends ResourceWikis { - constructor(options) { - super("groups", options); - } -}; -var Groups = class extends dist/* BaseResource */.Qx { - all(options) { - return RequestHelper.get()(this, "groups", options); - } - allDescendantGroups(groupId, options) { - return RequestHelper.get()( - this, - endpoint`groups/${groupId}/descendant_groups`, - options - ); - } - allProjects(groupId, options) { - return RequestHelper.get()( - this, - endpoint`groups/${groupId}/projects`, - options - ); - } - allSharedProjects(groupId, options) { - return RequestHelper.get()( - this, - endpoint`groups/${groupId}/projects/shared`, - options - ); - } - allSubgroups(groupId, options) { - return RequestHelper.get()(this, endpoint`groups/${groupId}/subgroups`, options); - } - allProvisionedUsers(groupId, options) { - return RequestHelper.get()( - this, - endpoint`groups/${groupId}/provisioned_users`, - options - ); - } - allTransferLocations(groupId, options) { - return RequestHelper.get()( - this, - endpoint`groups/${groupId}/transfer_locations`, - options - ); - } - create(name, path, { avatar, ...options } = {}) { - if (avatar) { - return RequestHelper.post()(this, "groups", { - ...options, - isForm: true, - avatar: [avatar.content, avatar.filename], - name, - path - }); - } - return RequestHelper.post()(this, "groups", { name, path, ...options }); - } - downloadAvatar(groupId, options) { - return RequestHelper.get()(this, endpoint`groups/${groupId}/avatar`, options); - } - edit(groupId, { avatar, ...options } = {}) { - if (avatar) { - return RequestHelper.post()(this, endpoint`groups/${groupId}`, { - ...options, - isForm: true, - avatar: [avatar.content, avatar.filename] - }); - } - return RequestHelper.put()(this, endpoint`groups/${groupId}`, options); - } - remove(groupId, options) { - return RequestHelper.del()(this, endpoint`groups/${groupId}`, options); - } - removeAvatar(groupId, options) { - return RequestHelper.put()(this, endpoint`groups/${groupId}`, { - ...options, - avatar: "" - }); - } - restore(groupId, options) { - return RequestHelper.post()(this, endpoint`groups/${groupId}/restore`, options); - } - search(nameOrPath, options) { - return RequestHelper.get()(this, "groups", { - search: nameOrPath, - ...options - }); - } - share(groupId, sharedGroupId, groupAccess, options) { - return RequestHelper.post()(this, endpoint`groups/${groupId}/share`, { - groupId: sharedGroupId, - groupAccess, - ...options - }); - } - show(groupId, options) { - return RequestHelper.get()(this, endpoint`groups/${groupId}`, options); - } - transfer(groupId, options) { - return RequestHelper.post()(this, endpoint`groups/${groupId}/transfer`, options); - } - transferProject(groupId, projectId, options) { - return RequestHelper.post()( - this, - endpoint`groups/${groupId}/projects/${projectId}`, - options - ); - } - unshare(groupId, sharedGroupId, options) { - return RequestHelper.del()(this, endpoint`groups/${groupId}/share/${sharedGroupId}`, options); - } - uploadAvatar(groupId, content, { filename, ...options } = {}) { - return RequestHelper.put()(this, endpoint`groups/${groupId}/avatar`, { - isForm: true, - ...options, - file: [content, filename] - }); - } -}; -var LinkedEpics = class extends dist/* BaseResource */.Qx { - all(groupId, epicIId, options) { - return RequestHelper.get()( - this, - endpoint`groups/${groupId}/epics/${epicIId}/related_epics`, - options - ); - } - create(groupId, epicIId, targetEpicIId, targetGroupId, options) { - return RequestHelper.post()( - this, - endpoint`groups/${groupId}/epics/${epicIId}/related_epics`, - { - searchParams: { - targetGroupId, - targetEpicIid: targetEpicIId - }, - ...options - } - ); - } - remove(groupId, epicIId, relatedEpicLinkId, options) { - return RequestHelper.del()( - this, - endpoint`groups/${groupId}/epics/${epicIId}/related_epics/${relatedEpicLinkId}`, - options - ); - } -}; - -// src/resources/UserCustomAttributes.ts -var UserCustomAttributes = class extends ResourceCustomAttributes { - constructor(options) { - super("users", options); - } -}; -var url9 = (userId) => userId ? `users/${userId}/emails` : "user/emails"; -var UserEmails = class extends dist/* BaseResource */.Qx { - // Convenience method for create - add(email, options) { - return this.create(email, options); - } - all({ - userId, - ...options - } = {}) { - return RequestHelper.get()( - this, - url9(userId), - options - ); - } - create(email, { - userId, - ...options - } = {}) { - return RequestHelper.post()(this, url9(userId), { - email, - ...options - }); - } - show(emailId, options) { - return RequestHelper.get()(this, `user/emails/${emailId}`, options); - } - remove(emailId, { userId, ...options } = {}) { - return RequestHelper.del()( - this, - `${url9(userId)}/${emailId}`, - options - ); - } -}; -var url10 = (userId) => userId ? `users/${userId}/gpg_keys` : "user/gpg_keys"; -var UserGPGKeys = class extends dist/* BaseResource */.Qx { - // Convienence method - add(key, options) { - return this.create(key, options); - } - all({ - userId, - ...options - } = {}) { - return RequestHelper.get()(this, url10(userId), options); - } - create(key, { userId, ...options } = {}) { - return RequestHelper.post()(this, url10(userId), { - key, - ...options - }); - } - show(keyId, { userId, ...options } = {}) { - return RequestHelper.get()(this, `${url10(userId)}/${keyId}`, options); - } - remove(keyId, { userId, ...options } = {}) { - return RequestHelper.del()(this, `${url10(userId)}/${keyId}`, options); - } -}; -var UserImpersonationTokens = class extends dist/* BaseResource */.Qx { - all(userId, options) { - return RequestHelper.get()( - this, - `users/${userId}/impersonation_tokens`, - options - ); - } - create(userId, name, scopes, options) { - return RequestHelper.post()( - this, - `users/${userId}/impersonation_tokens`, - { - name, - scopes, - ...options - } - ); - } - show(userId, tokenId, options) { - return RequestHelper.get()( - this, - `users/${userId}/impersonation_tokens/${tokenId}`, - options - ); - } - remove(userId, tokenId, options) { - return RequestHelper.del()(this, `users/${userId}/impersonation_tokens/${tokenId}`, options); - } - // Convienence method - revoke(userId, tokenId, options) { - return this.remove(userId, tokenId, options); - } -}; -var url11 = (userId) => userId ? `users/${userId}/keys` : "user/keys"; -var UserSSHKeys = class extends dist/* BaseResource */.Qx { - // Convienence method for create - add(title, key, options) { - return this.create(title, key, options); - } - all({ - userId, - ...options - } = {}) { - return RequestHelper.get()( - this, - url11(userId), - options - ); - } - create(title, key, { - userId, - ...options - } = {}) { - return RequestHelper.post()(this, url11(userId), { - title, - key, - ...options - }); - } - show(keyId, { userId, ...options } = {}) { - return RequestHelper.get()( - this, - `${url11(userId)}/${keyId}`, - options - ); - } - remove(keyId, { userId, ...options } = {}) { - return RequestHelper.del()(this, `${url11(userId)}/${keyId}`, options); - } -}; -var Users = class extends dist/* BaseResource */.Qx { - activate(userId, options) { - return RequestHelper.post()(this, endpoint`users/${userId}/activate`, options); - } - all(options) { - return RequestHelper.get()( - this, - "users", - options - ); - } - allActivities(options) { - return RequestHelper.get()(this, "user/activities", options); - } - allEvents(userId, options) { - return RequestHelper.get()(this, endpoint`users/${userId}/events`, options); - } - allFollowers(userId, options) { - return RequestHelper.get()( - this, - endpoint`users/${userId}/followers`, - options - ); - } - allFollowing(userId, options) { - return RequestHelper.get()( - this, - endpoint`users/${userId}/following`, - options - ); - } - allMemberships(userId, options) { - return RequestHelper.get()( - this, - endpoint`users/${userId}/memberships`, - options - ); - } - allProjects(userId, options) { - return RequestHelper.get()(this, endpoint`users/${userId}/projects`, options); - } - allContributedProjects(userId, options) { - return RequestHelper.get()( - this, - endpoint`users/${userId}/contributed_projects`, - options - ); - } - allStarredProjects(userId, options) { - return RequestHelper.get()( - this, - endpoint`users/${userId}/starred_projects`, - options - ); - } - approve(userId, options) { - return RequestHelper.post()( - this, - endpoint`users/${userId}/approve`, - options - ); - } - ban(userId, options) { - return RequestHelper.post()(this, endpoint`users/${userId}/ban`, options); - } - block(userId, options) { - return RequestHelper.post()(this, endpoint`users/${userId}/block`, options); - } - create(options) { - return RequestHelper.post()(this, "users", options); - } - createPersonalAccessToken(userId, name, scopes, options) { - return RequestHelper.post()( - this, - endpoint`users/${userId}/personal_access_tokens`, - { - name, - scopes, - ...options - } - ); - } - createCIRunner(runnerType, options) { - return RequestHelper.post()(this, "user/runners", { - ...options, - runnerType - }); - } - deactivate(userId, options) { - return RequestHelper.post()(this, endpoint`users/${userId}/deactivate`, options); - } - disableTwoFactor(userId, options) { - return RequestHelper.patch()(this, endpoint`users/${userId}/disable_two_factor`, options); - } - edit(userId, { avatar, ...options } = {}) { - const opts = { - ...options, - isForm: true - }; - if (avatar) opts.avatar = [avatar.content, avatar.filename]; - return RequestHelper.put()(this, endpoint`users/${userId}`, opts); - } - editStatus(options) { - return RequestHelper.put()(this, "user/status", options); - } - editCurrentUserPreferences(viewDiffsFileByFile, showWhitespaceInDiffs, options) { - return RequestHelper.put()(this, "user/preferences", { - viewDiffsFileByFile, - showWhitespaceInDiffs, - ...options - }); - } - follow(userId, options) { - return RequestHelper.post()(this, endpoint`users/${userId}/follow`, options); - } - reject(userId, options) { - return RequestHelper.post()( - this, - endpoint`users/${userId}/reject`, - options - ); - } - show(userId, options) { - return RequestHelper.get()( - this, - endpoint`users/${userId}`, - options - ); - } - showCount(options) { - return RequestHelper.get()(this, "user_counts", options); - } - showAssociationsCount(userId, options) { - return RequestHelper.get()( - this, - `users/${userId}/associations_count`, - options - ); - } - showCurrentUser(options) { - return RequestHelper.get()( - this, - "user", - options - ); - } - showCurrentUserPreferences(options) { - return RequestHelper.get()(this, "user/preferences", options); - } - showStatus({ - iDOrUsername, - ...options - } = {}) { - let url12; - if (iDOrUsername) url12 = `users/${iDOrUsername}/status`; - else url12 = "user/status"; - return RequestHelper.get()(this, url12, options); - } - remove(userId, options) { - return RequestHelper.del()(this, endpoint`users/${userId}`, options); - } - removeAuthenticationIdentity(userId, provider, options) { - return RequestHelper.del()(this, endpoint`users/${userId}/identities/${provider}`, options); - } - unban(userId, options) { - return RequestHelper.post()(this, endpoint`users/${userId}/unban`, options); - } - unblock(userId, options) { - return RequestHelper.post()(this, endpoint`users/${userId}/unblock`, options); - } - unfollow(userId, options) { - return RequestHelper.post()(this, endpoint`users/${userId}/unfollow`, options); - } -}; - -// src/resources/MergeRequestStateEvents.ts -var MergeRequestStateEvents = class extends ResourceStateEvents { - constructor(options) { - super("projects", "merge_requests", options); - } -}; - -// src/resources/EpicStateEvents.ts -var EpicStateEvents = class extends ResourceStateEvents { - constructor(options) { - super("groups", "epics", options); - } -}; - -// src/resources/Gitlab.ts -var resources = { - Agents, - AlertManagement, - ApplicationAppearance, - ApplicationPlanLimits, - Applications, - ApplicationSettings, - ApplicationStatistics, - AuditEvents, - Avatar, - BroadcastMessages, - CodeSuggestions, - Composer, - Conan, - DashboardAnnotations, - Debian, - DependencyProxy, - DeployKeys, - DeployTokens, - DockerfileTemplates, - Events, - Experiments, - GeoNodes, - GeoSites, - GitignoreTemplates, - GitLabCIYMLTemplates, - Import, - InstanceLevelCICDVariables, - Keys, - License, - LicenseTemplates, - Lint, - Markdown, - Maven, - Metadata, - Migrations, - Namespaces, - NotificationSettings, - NPM, - NuGet, - PersonalAccessTokens, - PyPI, - RubyGems, - Search, - SearchAdmin, - ServiceAccounts, - ServiceData, - SidekiqMetrics, - SidekiqQueues, - SnippetRepositoryStorageMoves, - Snippets, - Suggestions, - SystemHooks, - TodoLists, - Topics, - Branches, - CommitDiscussions, - Commits, - ContainerRegistry, - Deployments, - Environments, - ErrorTrackingClientKeys, - ErrorTrackingSettings, - ExternalStatusChecks, - FeatureFlags, - FeatureFlagUserLists, - FreezePeriods, - GitlabPages, - GoProxy, - Helm, - Integrations, - IssueAwardEmojis, - IssueDiscussions, - IssueIterationEvents, - IssueLabelEvents, - IssueLinks, - IssueMilestoneEvents, - IssueNoteAwardEmojis, - IssueNotes, - Issues, - IssuesStatistics, - IssueStateEvents, - IssueWeightEvents, - JobArtifacts, - Jobs, - MergeRequestApprovals, - MergeRequestAwardEmojis, - MergeRequestContextCommits, - MergeRequestDiscussions, - MergeRequestLabelEvents, - MergeRequestMilestoneEvents, - MergeRequestStateEvents, - MergeRequestDraftNotes, - MergeRequestNotes, - MergeRequestNoteAwardEmojis, - MergeRequests, - MergeTrains, - PackageRegistry, - Packages, - PagesDomains, - Pipelines, - PipelineSchedules, - PipelineScheduleVariables, - PipelineTriggerTokens, - ProductAnalytics, - ProjectAccessRequests, - ProjectAccessTokens, - ProjectAliases, - ProjectBadges, - ProjectCustomAttributes, - ProjectDORA4Metrics, - ProjectHooks, - ProjectImportExports, - ProjectInvitations, - ProjectIssueBoards, - ProjectIterations, - ProjectJobTokenScopes, - ProjectLabels, - ProjectMarkdownUploads, - ProjectMembers, - ProjectMilestones, - ProjectProtectedEnvironments, - ProjectPushRules, - ProjectRelationsExport, - ProjectReleases, - ProjectRemoteMirrors, - ProjectRepositoryStorageMoves, - Projects, - ProjectSnippetAwardEmojis, - ProjectSnippetDiscussions, - ProjectSnippetNotes, - ProjectSnippets, - ProjectStatistics, - ProjectTemplates, - ProjectTerraformState, - ProjectVariables, - ProjectVulnerabilities, - ProjectWikis, - ProtectedBranches, - ProtectedTags, - ReleaseLinks, - Repositories, - RepositoryFiles, - RepositorySubmodules, - ResourceGroups, - Runners, - SecureFiles, - Tags, - UserStarredMetricsDashboard, - EpicAwardEmojis, - EpicDiscussions, - EpicIssues, - EpicLabelEvents, - EpicLinks, - EpicNotes, - Epics, - EpicStateEvents, - GroupAccessRequests, - GroupAccessTokens, - GroupActivityAnalytics, - GroupBadges, - GroupCustomAttributes, - GroupDORA4Metrics, - GroupEpicBoards, - GroupHooks, - GroupImportExports, - GroupInvitations, - GroupIssueBoards, - GroupIterations, - GroupLabels, - GroupLDAPLinks, - GroupMarkdownUploads, - GroupMembers, - GroupMemberRoles, - GroupMilestones, - GroupProtectedEnvironments, - GroupPushRules, - GroupRelationExports, - GroupReleases, - GroupRepositoryStorageMoves, - Groups, - GroupSAMLIdentities, - GroupSAMLLinks, - GroupSCIMIdentities, - GroupServiceAccounts, - GroupVariables, - GroupWikis, - LinkedEpics, - UserCustomAttributes, - UserEmails, - UserGPGKeys, - UserImpersonationTokens, - Users, - UserSSHKeys -}; -var Gitlab = class extends dist/* BaseResource */.Qx { - constructor(options) { - super(options); - Object.keys(resources).forEach((s) => { - this[s] = new resources[s](options); - }); - } -}; - -// src/constants.ts -var AccessLevel = /* @__PURE__ */ ((AccessLevel2) => { - AccessLevel2[AccessLevel2["NO_ACCESS"] = 0] = "NO_ACCESS"; - AccessLevel2[AccessLevel2["MINIMAL_ACCESS"] = 5] = "MINIMAL_ACCESS"; - AccessLevel2[AccessLevel2["GUEST"] = 10] = "GUEST"; - AccessLevel2[AccessLevel2["REPORTER"] = 20] = "REPORTER"; - AccessLevel2[AccessLevel2["DEVELOPER"] = 30] = "DEVELOPER"; - AccessLevel2[AccessLevel2["MAINTAINER"] = 40] = "MAINTAINER"; - AccessLevel2[AccessLevel2["OWNER"] = 50] = "OWNER"; - AccessLevel2[AccessLevel2["ADMIN"] = 60] = "ADMIN"; - return AccessLevel2; -})(AccessLevel || {}); - - - -;// CONCATENATED MODULE: ./node_modules/@gitbeaker/rest/dist/index.mjs - - - - -// src/index.ts -async function processBody(response) { - const contentType = (response.headers.get("content-type") || "").split(";")[0].trim(); - if (contentType === "application/json") { - return response.json().then((v) => v || {}); - } - if (contentType.startsWith("text/")) { - return response.text().then((t) => t || ""); - } - return response.blob(); -} -function delay(ms) { - return new Promise((resolve) => { - setTimeout(resolve, ms); - }); -} -async function parseResponse(response, asStream = false) { - const { status, headers: rawHeaders } = response; - const headers = Object.fromEntries(rawHeaders.entries()); - let body; - if (asStream) { - body = response.body; - } else { - body = status === 204 ? null : await processBody(response); - } - return { body, headers, status }; -} -async function throwFailedRequestError(request, response) { - const content = await response.text(); - const contentType = response.headers.get("Content-Type"); - let description; - if (contentType?.includes("application/json")) { - const output = JSON.parse(content); - const contentProperty = output?.error || output?.message || ""; - description = typeof contentProperty === "string" ? contentProperty : JSON.stringify(contentProperty); - } else { - description = content; - } - throw new dist.GitbeakerRequestError(description, { - cause: { - description, - request, - response - } - }); -} -function getConditionalMode(endpoint) { - if (endpoint.includes("repository/archive")) return "same-origin"; - return void 0; -} -async function defaultRequestHandler(endpoint, options) { - const retryCodes = [429, 502]; - const maxRetries = 10; - const { rateLimiters, agent, asStream, prefixUrl, searchParams, method, ...opts } = options || {}; - const rateLimit = (0,dist/* getMatchingRateLimiter */.y9)(endpoint, rateLimiters, method); - let lastStatus; - let baseUrl; - if (prefixUrl) baseUrl = prefixUrl.endsWith("/") ? prefixUrl : `${prefixUrl}/`; - const url = new URL(endpoint, baseUrl); - url.search = searchParams || ""; - const mode = getConditionalMode(endpoint); - for (let i = 0; i < maxRetries; i += 1) { - const request = new Request(url, { ...opts, method, mode }); - const fetchArgs = [request]; - if (agent) fetchArgs.push({ dispatcher: agent }); - await rateLimit(); - const response = await fetch(...fetchArgs).catch((e) => { - if (e.name === "TimeoutError" || e.name === "AbortError") { - throw new dist/* GitbeakerTimeoutError */._d("Query timeout was reached"); - } - throw e; - }); - if (response.ok) return parseResponse(response, asStream); - if (!retryCodes.includes(response.status)) await throwFailedRequestError(request, response); - lastStatus = response.status; - await delay(2 ** i * 0.25); - continue; - } - throw new dist/* GitbeakerRetryError */.xQ( - `Could not successfully complete this request after ${maxRetries} retries, last status code: ${lastStatus}. ${lastStatus === 429 ? "Check the applicable rate limits for this endpoint" : "Verify the status of the endpoint"}.` - ); -} -var requesterFn = (0,dist/* createRequesterFn */.PD)( - (_, reqo) => Promise.resolve(reqo), - defaultRequestHandler -); -var { AccessLevel: dist_AccessLevel, ...Resources } = dist_namespaceObject; -var API = (0,dist/* presetResourceArguments */.wA)(Resources, { requesterFn }); -var { Agents: dist_Agents } = API; -var { AlertManagement: dist_AlertManagement } = API; -var { ApplicationAppearance: dist_ApplicationAppearance } = API; -var { ApplicationPlanLimits: dist_ApplicationPlanLimits } = API; -var { Applications: dist_Applications } = API; -var { ApplicationSettings: dist_ApplicationSettings } = API; -var { ApplicationStatistics: dist_ApplicationStatistics } = API; -var { AuditEvents: dist_AuditEvents } = API; -var { Avatar: dist_Avatar } = API; -var { Branches: dist_Branches } = API; -var { BroadcastMessages: dist_BroadcastMessages } = API; -var { CodeSuggestions: dist_CodeSuggestions } = API; -var { CommitDiscussions: dist_CommitDiscussions } = API; -var { Commits: dist_Commits } = API; -var { Composer: dist_Composer } = API; -var { Conan: dist_Conan } = API; -var { ContainerRegistry: dist_ContainerRegistry } = API; -var { DashboardAnnotations: dist_DashboardAnnotations } = API; -var { Debian: dist_Debian } = API; -var { DependencyProxy: dist_DependencyProxy } = API; -var { DeployKeys: dist_DeployKeys } = API; -var { DeployTokens: dist_DeployTokens } = API; -var { Deployments: dist_Deployments } = API; -var { DockerfileTemplates: dist_DockerfileTemplates } = API; -var { Environments: dist_Environments } = API; -var { EpicAwardEmojis: dist_EpicAwardEmojis } = API; -var { EpicDiscussions: dist_EpicDiscussions } = API; -var { EpicIssues: dist_EpicIssues } = API; -var { EpicLabelEvents: dist_EpicLabelEvents } = API; -var { EpicLinks: dist_EpicLinks } = API; -var { EpicNotes: dist_EpicNotes } = API; -var { Epics: dist_Epics } = API; -var { ErrorTrackingClientKeys: dist_ErrorTrackingClientKeys } = API; -var { ErrorTrackingSettings: dist_ErrorTrackingSettings } = API; -var { Events: dist_Events } = API; -var { Experiments: dist_Experiments } = API; -var { ExternalStatusChecks: dist_ExternalStatusChecks } = API; -var { FeatureFlags: dist_FeatureFlags } = API; -var { FeatureFlagUserLists: dist_FeatureFlagUserLists } = API; -var { FreezePeriods: dist_FreezePeriods } = API; -var { GeoNodes: dist_GeoNodes } = API; -var { GeoSites: dist_GeoSites } = API; -var { GitignoreTemplates: dist_GitignoreTemplates } = API; -var { GitLabCIYMLTemplates: dist_GitLabCIYMLTemplates } = API; -var { GitlabPages: dist_GitlabPages } = API; -var { GoProxy: dist_GoProxy } = API; -var { GroupAccessRequests: dist_GroupAccessRequests } = API; -var { GroupAccessTokens: dist_GroupAccessTokens } = API; -var { GroupActivityAnalytics: dist_GroupActivityAnalytics } = API; -var { GroupBadges: dist_GroupBadges } = API; -var { GroupCustomAttributes: dist_GroupCustomAttributes } = API; -var { GroupDORA4Metrics: dist_GroupDORA4Metrics } = API; -var { GroupEpicBoards: dist_GroupEpicBoards } = API; -var { GroupHooks: dist_GroupHooks } = API; -var { GroupImportExports: dist_GroupImportExports } = API; -var { GroupInvitations: dist_GroupInvitations } = API; -var { GroupIssueBoards: dist_GroupIssueBoards } = API; -var { GroupIterations: dist_GroupIterations } = API; -var { GroupLabels: dist_GroupLabels } = API; -var { GroupLDAPLinks: dist_GroupLDAPLinks } = API; -var { GroupMarkdownUploads: dist_GroupMarkdownUploads } = API; -var { GroupMemberRoles: dist_GroupMemberRoles } = API; -var { GroupMembers: dist_GroupMembers } = API; -var { GroupMilestones: dist_GroupMilestones } = API; -var { GroupProtectedEnvironments: dist_GroupProtectedEnvironments } = API; -var { GroupPushRules: dist_GroupPushRules } = API; -var { GroupRelationExports: dist_GroupRelationExports } = API; -var { GroupReleases: dist_GroupReleases } = API; -var { GroupRepositoryStorageMoves: dist_GroupRepositoryStorageMoves } = API; -var { Groups: dist_Groups } = API; -var { GroupSAMLIdentities: dist_GroupSAMLIdentities } = API; -var { GroupSAMLLinks: dist_GroupSAMLLinks } = API; -var { GroupSCIMIdentities: dist_GroupSCIMIdentities } = API; -var { GroupServiceAccounts: dist_GroupServiceAccounts } = API; -var { GroupVariables: dist_GroupVariables } = API; -var { GroupWikis: dist_GroupWikis } = API; -var { Helm: dist_Helm } = API; -var { Import: dist_Import } = API; -var { InstanceLevelCICDVariables: dist_InstanceLevelCICDVariables } = API; -var { Integrations: dist_Integrations } = API; -var { IssueAwardEmojis: dist_IssueAwardEmojis } = API; -var { IssueDiscussions: dist_IssueDiscussions } = API; -var { IssueIterationEvents: dist_IssueIterationEvents } = API; -var { IssueLabelEvents: dist_IssueLabelEvents } = API; -var { IssueLinks: dist_IssueLinks } = API; -var { IssueMilestoneEvents: dist_IssueMilestoneEvents } = API; -var { IssueNoteAwardEmojis: dist_IssueNoteAwardEmojis } = API; -var { IssueNotes: dist_IssueNotes } = API; -var { Issues: dist_Issues } = API; -var { IssuesStatistics: dist_IssuesStatistics } = API; -var { IssueStateEvents: dist_IssueStateEvents } = API; -var { IssueWeightEvents: dist_IssueWeightEvents } = API; -var { JobArtifacts: dist_JobArtifacts } = API; -var { Jobs: dist_Jobs } = API; -var { Keys: dist_Keys } = API; -var { License: dist_License } = API; -var { LicenseTemplates: dist_LicenseTemplates } = API; -var { LinkedEpics: dist_LinkedEpics } = API; -var { Lint: dist_Lint } = API; -var { Markdown: dist_Markdown } = API; -var { Maven: dist_Maven } = API; -var { MergeRequestApprovals: dist_MergeRequestApprovals } = API; -var { MergeRequestAwardEmojis: dist_MergeRequestAwardEmojis } = API; -var { MergeRequestContextCommits: dist_MergeRequestContextCommits } = API; -var { MergeRequestDiscussions: dist_MergeRequestDiscussions } = API; -var { MergeRequestDraftNotes: dist_MergeRequestDraftNotes } = API; -var { MergeRequestLabelEvents: dist_MergeRequestLabelEvents } = API; -var { MergeRequestMilestoneEvents: dist_MergeRequestMilestoneEvents } = API; -var { MergeRequestNoteAwardEmojis: dist_MergeRequestNoteAwardEmojis } = API; -var { MergeRequestNotes: dist_MergeRequestNotes } = API; -var { MergeRequests: dist_MergeRequests } = API; -var { MergeTrains: dist_MergeTrains } = API; -var { Metadata: dist_Metadata } = API; -var { Migrations: dist_Migrations } = API; -var { Namespaces: dist_Namespaces } = API; -var { NotificationSettings: dist_NotificationSettings } = API; -var { NPM: dist_NPM } = API; -var { NuGet: dist_NuGet } = API; -var { PackageRegistry: dist_PackageRegistry } = API; -var { Packages: dist_Packages } = API; -var { PagesDomains: dist_PagesDomains } = API; -var { PersonalAccessTokens: dist_PersonalAccessTokens } = API; -var { PipelineSchedules: dist_PipelineSchedules } = API; -var { PipelineScheduleVariables: dist_PipelineScheduleVariables } = API; -var { Pipelines: dist_Pipelines } = API; -var { PipelineTriggerTokens: dist_PipelineTriggerTokens } = API; -var { ProductAnalytics: dist_ProductAnalytics } = API; -var { ProjectAccessRequests: dist_ProjectAccessRequests } = API; -var { ProjectAccessTokens: dist_ProjectAccessTokens } = API; -var { ProjectAliases: dist_ProjectAliases } = API; -var { ProjectBadges: dist_ProjectBadges } = API; -var { ProjectCustomAttributes: dist_ProjectCustomAttributes } = API; -var { ProjectDORA4Metrics: dist_ProjectDORA4Metrics } = API; -var { ProjectHooks: dist_ProjectHooks } = API; -var { ProjectImportExports: dist_ProjectImportExports } = API; -var { ProjectInvitations: dist_ProjectInvitations } = API; -var { ProjectIssueBoards: dist_ProjectIssueBoards } = API; -var { ProjectIterations: dist_ProjectIterations } = API; -var { ProjectJobTokenScopes: dist_ProjectJobTokenScopes } = API; -var { ProjectLabels: dist_ProjectLabels } = API; -var { ProjectMarkdownUploads: dist_ProjectMarkdownUploads } = API; -var { ProjectMembers: dist_ProjectMembers } = API; -var { ProjectMilestones: dist_ProjectMilestones } = API; -var { ProjectProtectedEnvironments: dist_ProjectProtectedEnvironments } = API; -var { ProjectPushRules: dist_ProjectPushRules } = API; -var { ProjectRelationsExport: dist_ProjectRelationsExport } = API; -var { ProjectReleases: dist_ProjectReleases } = API; -var { ProjectRemoteMirrors: dist_ProjectRemoteMirrors } = API; -var { ProjectRepositoryStorageMoves: dist_ProjectRepositoryStorageMoves } = API; -var { Projects: dist_Projects } = API; -var { ProjectSnippetAwardEmojis: dist_ProjectSnippetAwardEmojis } = API; -var { ProjectSnippetDiscussions: dist_ProjectSnippetDiscussions } = API; -var { ProjectSnippetNotes: dist_ProjectSnippetNotes } = API; -var { ProjectSnippets: dist_ProjectSnippets } = API; -var { ProjectStatistics: dist_ProjectStatistics } = API; -var { ProjectTemplates: dist_ProjectTemplates } = API; -var { ProjectTerraformState: dist_ProjectTerraformState } = API; -var { ProjectVariables: dist_ProjectVariables } = API; -var { ProjectVulnerabilities: dist_ProjectVulnerabilities } = API; -var { ProjectWikis: dist_ProjectWikis } = API; -var { ProtectedBranches: dist_ProtectedBranches } = API; -var { ProtectedTags: dist_ProtectedTags } = API; -var { PyPI: dist_PyPI } = API; -var { ReleaseLinks: dist_ReleaseLinks } = API; -var { Repositories: dist_Repositories } = API; -var { RepositoryFiles: dist_RepositoryFiles } = API; -var { RepositorySubmodules: dist_RepositorySubmodules } = API; -var { ResourceGroups: dist_ResourceGroups } = API; -var { RubyGems: dist_RubyGems } = API; -var { Runners: dist_Runners } = API; -var { Search: dist_Search } = API; -var { SearchAdmin: dist_SearchAdmin } = API; -var { SecureFiles: dist_SecureFiles } = API; -var { ServiceAccounts: dist_ServiceAccounts } = API; -var { ServiceData: dist_ServiceData } = API; -var { SidekiqMetrics: dist_SidekiqMetrics } = API; -var { SidekiqQueues: dist_SidekiqQueues } = API; -var { SnippetRepositoryStorageMoves: dist_SnippetRepositoryStorageMoves } = API; -var { Snippets: dist_Snippets } = API; -var { Suggestions: dist_Suggestions } = API; -var { SystemHooks: dist_SystemHooks } = API; -var { Tags: dist_Tags } = API; -var { TodoLists: dist_TodoLists } = API; -var { Topics: dist_Topics } = API; -var { UserCustomAttributes: dist_UserCustomAttributes } = API; -var { UserEmails: dist_UserEmails } = API; -var { UserGPGKeys: dist_UserGPGKeys } = API; -var { UserImpersonationTokens: dist_UserImpersonationTokens } = API; -var { Users: dist_Users } = API; -var { UserSSHKeys: dist_UserSSHKeys } = API; -var { UserStarredMetricsDashboard: dist_UserStarredMetricsDashboard } = API; -var { Gitlab: dist_Gitlab } = API; - - - - -/***/ }) - -}; -; \ No newline at end of file diff --git a/dist/788.index.js b/dist/788.index.js deleted file mode 100644 index 8b1de1cb..00000000 --- a/dist/788.index.js +++ /dev/null @@ -1,261 +0,0 @@ -exports.id = 788; -exports.ids = [788,407]; -exports.modules = { - -/***/ 65407: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -var map = { - "./BurstyRateLimiter": [ - 85860 - ], - "./BurstyRateLimiter.js": [ - 85860 - ], - "./ExpressBruteFlexible": [ - 83966, - 966 - ], - "./ExpressBruteFlexible.js": [ - 83966, - 966 - ], - "./RLWrapperBlackAndWhite": [ - 87383 - ], - "./RLWrapperBlackAndWhite.js": [ - 87383 - ], - "./RLWrapperTimeouts": [ - 24016 - ], - "./RLWrapperTimeouts.js": [ - 24016 - ], - "./RateLimiterAbstract": [ - 88569 - ], - "./RateLimiterAbstract.js": [ - 88569 - ], - "./RateLimiterCluster": [ - 10565 - ], - "./RateLimiterCluster.js": [ - 10565 - ], - "./RateLimiterDrizzle": [ - 50673 - ], - "./RateLimiterDrizzle.js": [ - 50673 - ], - "./RateLimiterDrizzleNonAtomic": [ - 75347 - ], - "./RateLimiterDrizzleNonAtomic.js": [ - 75347 - ], - "./RateLimiterDynamo": [ - 82309 - ], - "./RateLimiterDynamo.js": [ - 82309 - ], - "./RateLimiterEtcd": [ - 36481 - ], - "./RateLimiterEtcd.js": [ - 36481 - ], - "./RateLimiterEtcdNonAtomic": [ - 15299 - ], - "./RateLimiterEtcdNonAtomic.js": [ - 15299 - ], - "./RateLimiterInsuredAbstract": [ - 33847 - ], - "./RateLimiterInsuredAbstract.js": [ - 33847 - ], - "./RateLimiterMemcache": [ - 73250 - ], - "./RateLimiterMemcache.js": [ - 73250 - ], - "./RateLimiterMemory": [ - 24544 - ], - "./RateLimiterMemory.js": [ - 24544 - ], - "./RateLimiterMongo": [ - 28439 - ], - "./RateLimiterMongo.js": [ - 28439 - ], - "./RateLimiterMySQL": [ - 67793 - ], - "./RateLimiterMySQL.js": [ - 67793 - ], - "./RateLimiterPostgres": [ - 3740 - ], - "./RateLimiterPostgres.js": [ - 3740 - ], - "./RateLimiterPrisma": [ - 16323 - ], - "./RateLimiterPrisma.js": [ - 16323 - ], - "./RateLimiterQueue": [ - 52860 - ], - "./RateLimiterQueue.js": [ - 52860 - ], - "./RateLimiterRedis": [ - 54336 - ], - "./RateLimiterRedis.js": [ - 54336 - ], - "./RateLimiterRes": [ - 80449 - ], - "./RateLimiterRes.js": [ - 80449 - ], - "./RateLimiterSQLite": [ - 73283 - ], - "./RateLimiterSQLite.js": [ - 73283 - ], - "./RateLimiterStoreAbstract": [ - 65140 - ], - "./RateLimiterStoreAbstract.js": [ - 65140 - ], - "./RateLimiterUnion": [ - 10244 - ], - "./RateLimiterUnion.js": [ - 10244 - ], - "./RateLimiterValkey": [ - 32193 - ], - "./RateLimiterValkey.js": [ - 32193 - ], - "./RateLimiterValkeyGlide": [ - 53756 - ], - "./RateLimiterValkeyGlide.js": [ - 53756 - ], - "./component/BlockedKeys": [ - 38830 - ], - "./component/BlockedKeys/": [ - 38830 - ], - "./component/BlockedKeys/BlockedKeys": [ - 85202 - ], - "./component/BlockedKeys/BlockedKeys.js": [ - 85202 - ], - "./component/BlockedKeys/index": [ - 38830 - ], - "./component/BlockedKeys/index.js": [ - 38830 - ], - "./component/MemoryStorage": [ - 28178, - 178 - ], - "./component/MemoryStorage/": [ - 28178, - 178 - ], - "./component/MemoryStorage/MemoryStorage": [ - 81534 - ], - "./component/MemoryStorage/MemoryStorage.js": [ - 81534 - ], - "./component/MemoryStorage/Record": [ - 60749 - ], - "./component/MemoryStorage/Record.js": [ - 60749 - ], - "./component/MemoryStorage/index": [ - 28178, - 178 - ], - "./component/MemoryStorage/index.js": [ - 28178, - 178 - ], - "./component/RateLimiterEtcdTransactionFailedError": [ - 43184 - ], - "./component/RateLimiterEtcdTransactionFailedError.js": [ - 43184 - ], - "./component/RateLimiterQueueError": [ - 27948 - ], - "./component/RateLimiterQueueError.js": [ - 27948 - ], - "./component/RateLimiterSetupError": [ - 72922 - ], - "./component/RateLimiterSetupError.js": [ - 72922 - ], - "./constants": [ - 13880, - 880 - ], - "./constants.js": [ - 13880, - 880 - ] -}; -function webpackAsyncContext(req) { - if(!__webpack_require__.o(map, req)) { - return Promise.resolve().then(() => { - var e = new Error("Cannot find module '" + req + "'"); - e.code = 'MODULE_NOT_FOUND'; - throw e; - }); - } - - var ids = map[req], id = ids[0]; - return Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => { - return __webpack_require__.t(id, 7 | 16); - }); -} -webpackAsyncContext.keys = () => (Object.keys(map)); -webpackAsyncContext.id = 65407; -module.exports = webpackAsyncContext; - -/***/ }) - -}; -; \ No newline at end of file diff --git a/dist/888.index.js b/dist/888.index.js deleted file mode 100644 index 67ee0f26..00000000 --- a/dist/888.index.js +++ /dev/null @@ -1,9814 +0,0 @@ -exports.id = 888; -exports.ids = [888]; -exports.modules = { - -/***/ 23105: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var GetIntrinsic = __webpack_require__(60470); - -var callBindBasic = __webpack_require__(88705); - -/** @type {(thisArg: string, searchString: string, position?: number) => number} */ -var $indexOf = callBindBasic([GetIntrinsic('%String.prototype.indexOf%')]); - -/** @type {import('.')} */ -module.exports = function callBoundIntrinsic(name, allowMissing) { - // eslint-disable-next-line no-extra-parens - var intrinsic = /** @type {Parameters[0][0]} */ (GetIntrinsic(name, !!allowMissing)); - if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) { - return callBindBasic([intrinsic]); - } - return intrinsic; -}; - - -/***/ }), - -/***/ 60506: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -var hasMap = typeof Map === 'function' && Map.prototype; -var mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null; -var mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null; -var mapForEach = hasMap && Map.prototype.forEach; -var hasSet = typeof Set === 'function' && Set.prototype; -var setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null; -var setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null; -var setForEach = hasSet && Set.prototype.forEach; -var hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype; -var weakMapHas = hasWeakMap ? WeakMap.prototype.has : null; -var hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype; -var weakSetHas = hasWeakSet ? WeakSet.prototype.has : null; -var hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype; -var weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null; -var booleanValueOf = Boolean.prototype.valueOf; -var objectToString = Object.prototype.toString; -var functionToString = Function.prototype.toString; -var $match = String.prototype.match; -var $slice = String.prototype.slice; -var $replace = String.prototype.replace; -var $toUpperCase = String.prototype.toUpperCase; -var $toLowerCase = String.prototype.toLowerCase; -var $test = RegExp.prototype.test; -var $concat = Array.prototype.concat; -var $join = Array.prototype.join; -var $arrSlice = Array.prototype.slice; -var $floor = Math.floor; -var bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null; -var gOPS = Object.getOwnPropertySymbols; -var symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null; -var hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object'; -// ie, `has-tostringtag/shams -var toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol') - ? Symbol.toStringTag - : null; -var isEnumerable = Object.prototype.propertyIsEnumerable; - -var gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || ( - [].__proto__ === Array.prototype // eslint-disable-line no-proto - ? function (O) { - return O.__proto__; // eslint-disable-line no-proto - } - : null -); - -function addNumericSeparator(num, str) { - if ( - num === Infinity - || num === -Infinity - || num !== num - || (num && num > -1000 && num < 1000) - || $test.call(/e/, str) - ) { - return str; - } - var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g; - if (typeof num === 'number') { - var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num) - if (int !== num) { - var intStr = String(int); - var dec = $slice.call(str, intStr.length + 1); - return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, ''); - } - } - return $replace.call(str, sepRegex, '$&_'); -} - -var utilInspect = __webpack_require__(58502); -var inspectCustom = utilInspect.custom; -var inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null; - -var quotes = { - __proto__: null, - 'double': '"', - single: "'" -}; -var quoteREs = { - __proto__: null, - 'double': /(["\\])/g, - single: /(['\\])/g -}; - -module.exports = function inspect_(obj, options, depth, seen) { - var opts = options || {}; - - if (has(opts, 'quoteStyle') && !has(quotes, opts.quoteStyle)) { - throw new TypeError('option "quoteStyle" must be "single" or "double"'); - } - if ( - has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number' - ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity - : opts.maxStringLength !== null - ) - ) { - throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`'); - } - var customInspect = has(opts, 'customInspect') ? opts.customInspect : true; - if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') { - throw new TypeError('option "customInspect", if provided, must be `true`, `false`, or `\'symbol\'`'); - } - - if ( - has(opts, 'indent') - && opts.indent !== null - && opts.indent !== '\t' - && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0) - ) { - throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`'); - } - if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') { - throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`'); - } - var numericSeparator = opts.numericSeparator; - - if (typeof obj === 'undefined') { - return 'undefined'; - } - if (obj === null) { - return 'null'; - } - if (typeof obj === 'boolean') { - return obj ? 'true' : 'false'; - } - - if (typeof obj === 'string') { - return inspectString(obj, opts); - } - if (typeof obj === 'number') { - if (obj === 0) { - return Infinity / obj > 0 ? '0' : '-0'; - } - var str = String(obj); - return numericSeparator ? addNumericSeparator(obj, str) : str; - } - if (typeof obj === 'bigint') { - var bigIntStr = String(obj) + 'n'; - return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr; - } - - var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth; - if (typeof depth === 'undefined') { depth = 0; } - if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') { - return isArray(obj) ? '[Array]' : '[Object]'; - } - - var indent = getIndent(opts, depth); - - if (typeof seen === 'undefined') { - seen = []; - } else if (indexOf(seen, obj) >= 0) { - return '[Circular]'; - } - - function inspect(value, from, noIndent) { - if (from) { - seen = $arrSlice.call(seen); - seen.push(from); - } - if (noIndent) { - var newOpts = { - depth: opts.depth - }; - if (has(opts, 'quoteStyle')) { - newOpts.quoteStyle = opts.quoteStyle; - } - return inspect_(value, newOpts, depth + 1, seen); - } - return inspect_(value, opts, depth + 1, seen); - } - - if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable - var name = nameOf(obj); - var keys = arrObjKeys(obj, inspect); - return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : ''); - } - if (isSymbol(obj)) { - var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\(.*\))_[^)]*$/, '$1') : symToString.call(obj); - return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString; - } - if (isElement(obj)) { - var s = '<' + $toLowerCase.call(String(obj.nodeName)); - var attrs = obj.attributes || []; - for (var i = 0; i < attrs.length; i++) { - s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts); - } - s += '>'; - if (obj.childNodes && obj.childNodes.length) { s += '...'; } - s += ''; - return s; - } - if (isArray(obj)) { - if (obj.length === 0) { return '[]'; } - var xs = arrObjKeys(obj, inspect); - if (indent && !singleLineValues(xs)) { - return '[' + indentedJoin(xs, indent) + ']'; - } - return '[ ' + $join.call(xs, ', ') + ' ]'; - } - if (isError(obj)) { - var parts = arrObjKeys(obj, inspect); - if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) { - return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }'; - } - if (parts.length === 0) { return '[' + String(obj) + ']'; } - return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }'; - } - if (typeof obj === 'object' && customInspect) { - if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) { - return utilInspect(obj, { depth: maxDepth - depth }); - } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') { - return obj.inspect(); - } - } - if (isMap(obj)) { - var mapParts = []; - if (mapForEach) { - mapForEach.call(obj, function (value, key) { - mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj)); - }); - } - return collectionOf('Map', mapSize.call(obj), mapParts, indent); - } - if (isSet(obj)) { - var setParts = []; - if (setForEach) { - setForEach.call(obj, function (value) { - setParts.push(inspect(value, obj)); - }); - } - return collectionOf('Set', setSize.call(obj), setParts, indent); - } - if (isWeakMap(obj)) { - return weakCollectionOf('WeakMap'); - } - if (isWeakSet(obj)) { - return weakCollectionOf('WeakSet'); - } - if (isWeakRef(obj)) { - return weakCollectionOf('WeakRef'); - } - if (isNumber(obj)) { - return markBoxed(inspect(Number(obj))); - } - if (isBigInt(obj)) { - return markBoxed(inspect(bigIntValueOf.call(obj))); - } - if (isBoolean(obj)) { - return markBoxed(booleanValueOf.call(obj)); - } - if (isString(obj)) { - return markBoxed(inspect(String(obj))); - } - // note: in IE 8, sometimes `global !== window` but both are the prototypes of each other - /* eslint-env browser */ - if (typeof window !== 'undefined' && obj === window) { - return '{ [object Window] }'; - } - if ( - (typeof globalThis !== 'undefined' && obj === globalThis) - || (typeof global !== 'undefined' && obj === global) - ) { - return '{ [object globalThis] }'; - } - if (!isDate(obj) && !isRegExp(obj)) { - var ys = arrObjKeys(obj, inspect); - var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object; - var protoTag = obj instanceof Object ? '' : 'null prototype'; - var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : ''; - var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : ''; - var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : ''); - if (ys.length === 0) { return tag + '{}'; } - if (indent) { - return tag + '{' + indentedJoin(ys, indent) + '}'; - } - return tag + '{ ' + $join.call(ys, ', ') + ' }'; - } - return String(obj); -}; - -function wrapQuotes(s, defaultStyle, opts) { - var style = opts.quoteStyle || defaultStyle; - var quoteChar = quotes[style]; - return quoteChar + s + quoteChar; -} - -function quote(s) { - return $replace.call(String(s), /"/g, '"'); -} - -function isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } -function isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } -function isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } -function isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } -function isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } -function isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } -function isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } - -// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives -function isSymbol(obj) { - if (hasShammedSymbols) { - return obj && typeof obj === 'object' && obj instanceof Symbol; - } - if (typeof obj === 'symbol') { - return true; - } - if (!obj || typeof obj !== 'object' || !symToString) { - return false; - } - try { - symToString.call(obj); - return true; - } catch (e) {} - return false; -} - -function isBigInt(obj) { - if (!obj || typeof obj !== 'object' || !bigIntValueOf) { - return false; - } - try { - bigIntValueOf.call(obj); - return true; - } catch (e) {} - return false; -} - -var hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; }; -function has(obj, key) { - return hasOwn.call(obj, key); -} - -function toStr(obj) { - return objectToString.call(obj); -} - -function nameOf(f) { - if (f.name) { return f.name; } - var m = $match.call(functionToString.call(f), /^function\s*([\w$]+)/); - if (m) { return m[1]; } - return null; -} - -function indexOf(xs, x) { - if (xs.indexOf) { return xs.indexOf(x); } - for (var i = 0, l = xs.length; i < l; i++) { - if (xs[i] === x) { return i; } - } - return -1; -} - -function isMap(x) { - if (!mapSize || !x || typeof x !== 'object') { - return false; - } - try { - mapSize.call(x); - try { - setSize.call(x); - } catch (s) { - return true; - } - return x instanceof Map; // core-js workaround, pre-v2.5.0 - } catch (e) {} - return false; -} - -function isWeakMap(x) { - if (!weakMapHas || !x || typeof x !== 'object') { - return false; - } - try { - weakMapHas.call(x, weakMapHas); - try { - weakSetHas.call(x, weakSetHas); - } catch (s) { - return true; - } - return x instanceof WeakMap; // core-js workaround, pre-v2.5.0 - } catch (e) {} - return false; -} - -function isWeakRef(x) { - if (!weakRefDeref || !x || typeof x !== 'object') { - return false; - } - try { - weakRefDeref.call(x); - return true; - } catch (e) {} - return false; -} - -function isSet(x) { - if (!setSize || !x || typeof x !== 'object') { - return false; - } - try { - setSize.call(x); - try { - mapSize.call(x); - } catch (m) { - return true; - } - return x instanceof Set; // core-js workaround, pre-v2.5.0 - } catch (e) {} - return false; -} - -function isWeakSet(x) { - if (!weakSetHas || !x || typeof x !== 'object') { - return false; - } - try { - weakSetHas.call(x, weakSetHas); - try { - weakMapHas.call(x, weakMapHas); - } catch (s) { - return true; - } - return x instanceof WeakSet; // core-js workaround, pre-v2.5.0 - } catch (e) {} - return false; -} - -function isElement(x) { - if (!x || typeof x !== 'object') { return false; } - if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) { - return true; - } - return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function'; -} - -function inspectString(str, opts) { - if (str.length > opts.maxStringLength) { - var remaining = str.length - opts.maxStringLength; - var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : ''); - return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer; - } - var quoteRE = quoteREs[opts.quoteStyle || 'single']; - quoteRE.lastIndex = 0; - // eslint-disable-next-line no-control-regex - var s = $replace.call($replace.call(str, quoteRE, '\\$1'), /[\x00-\x1f]/g, lowbyte); - return wrapQuotes(s, 'single', opts); -} - -function lowbyte(c) { - var n = c.charCodeAt(0); - var x = { - 8: 'b', - 9: 't', - 10: 'n', - 12: 'f', - 13: 'r' - }[n]; - if (x) { return '\\' + x; } - return '\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16)); -} - -function markBoxed(str) { - return 'Object(' + str + ')'; -} - -function weakCollectionOf(type) { - return type + ' { ? }'; -} - -function collectionOf(type, size, entries, indent) { - var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', '); - return type + ' (' + size + ') {' + joinedEntries + '}'; -} - -function singleLineValues(xs) { - for (var i = 0; i < xs.length; i++) { - if (indexOf(xs[i], '\n') >= 0) { - return false; - } - } - return true; -} - -function getIndent(opts, depth) { - var baseIndent; - if (opts.indent === '\t') { - baseIndent = '\t'; - } else if (typeof opts.indent === 'number' && opts.indent > 0) { - baseIndent = $join.call(Array(opts.indent + 1), ' '); - } else { - return null; - } - return { - base: baseIndent, - prev: $join.call(Array(depth + 1), baseIndent) - }; -} - -function indentedJoin(xs, indent) { - if (xs.length === 0) { return ''; } - var lineJoiner = '\n' + indent.prev + indent.base; - return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\n' + indent.prev; -} - -function arrObjKeys(obj, inspect) { - var isArr = isArray(obj); - var xs = []; - if (isArr) { - xs.length = obj.length; - for (var i = 0; i < obj.length; i++) { - xs[i] = has(obj, i) ? inspect(obj[i], obj) : ''; - } - } - var syms = typeof gOPS === 'function' ? gOPS(obj) : []; - var symMap; - if (hasShammedSymbols) { - symMap = {}; - for (var k = 0; k < syms.length; k++) { - symMap['$' + syms[k]] = syms[k]; - } - } - - for (var key in obj) { // eslint-disable-line no-restricted-syntax - if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue - if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue - if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) { - // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section - continue; // eslint-disable-line no-restricted-syntax, no-continue - } else if ($test.call(/[^\w$]/, key)) { - xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj)); - } else { - xs.push(key + ': ' + inspect(obj[key], obj)); - } - } - if (typeof gOPS === 'function') { - for (var j = 0; j < syms.length; j++) { - if (isEnumerable.call(obj, syms[j])) { - xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj)); - } - } - } - return xs; -} - - -/***/ }), - -/***/ 58502: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -module.exports = __webpack_require__(39023).inspect; - - -/***/ }), - -/***/ 43379: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -module.exports = __webpack_require__(73505); - - -/***/ }), - -/***/ 30742: -/***/ ((module) => { - -"use strict"; - - -const WIN_SLASH = '\\\\/'; -const WIN_NO_SLASH = `[^${WIN_SLASH}]`; - -/** - * Posix glob regex - */ - -const DOT_LITERAL = '\\.'; -const PLUS_LITERAL = '\\+'; -const QMARK_LITERAL = '\\?'; -const SLASH_LITERAL = '\\/'; -const ONE_CHAR = '(?=.)'; -const QMARK = '[^/]'; -const END_ANCHOR = `(?:${SLASH_LITERAL}|$)`; -const START_ANCHOR = `(?:^|${SLASH_LITERAL})`; -const DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`; -const NO_DOT = `(?!${DOT_LITERAL})`; -const NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`; -const NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`; -const NO_DOTS_SLASH = `(?!${DOTS_SLASH})`; -const QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`; -const STAR = `${QMARK}*?`; -const SEP = '/'; - -const POSIX_CHARS = { - DOT_LITERAL, - PLUS_LITERAL, - QMARK_LITERAL, - SLASH_LITERAL, - ONE_CHAR, - QMARK, - END_ANCHOR, - DOTS_SLASH, - NO_DOT, - NO_DOTS, - NO_DOT_SLASH, - NO_DOTS_SLASH, - QMARK_NO_DOT, - STAR, - START_ANCHOR, - SEP -}; - -/** - * Windows glob regex - */ - -const WINDOWS_CHARS = { - ...POSIX_CHARS, - - SLASH_LITERAL: `[${WIN_SLASH}]`, - QMARK: WIN_NO_SLASH, - STAR: `${WIN_NO_SLASH}*?`, - DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`, - NO_DOT: `(?!${DOT_LITERAL})`, - NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`, - NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`, - NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`, - QMARK_NO_DOT: `[^.${WIN_SLASH}]`, - START_ANCHOR: `(?:^|[${WIN_SLASH}])`, - END_ANCHOR: `(?:[${WIN_SLASH}]|$)`, - SEP: '\\' -}; - -/** - * POSIX Bracket Regex - */ - -const POSIX_REGEX_SOURCE = { - alnum: 'a-zA-Z0-9', - alpha: 'a-zA-Z', - ascii: '\\x00-\\x7F', - blank: ' \\t', - cntrl: '\\x00-\\x1F\\x7F', - digit: '0-9', - graph: '\\x21-\\x7E', - lower: 'a-z', - print: '\\x20-\\x7E ', - punct: '\\-!"#$%&\'()\\*+,./:;<=>?@[\\]^_`{|}~', - space: ' \\t\\r\\n\\v\\f', - upper: 'A-Z', - word: 'A-Za-z0-9_', - xdigit: 'A-Fa-f0-9' -}; - -module.exports = { - MAX_LENGTH: 1024 * 64, - POSIX_REGEX_SOURCE, - - // regular expressions - REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g, - REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/, - REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/, - REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g, - REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g, - REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g, - - // Replace globs with equivalent patterns to reduce parsing time. - REPLACEMENTS: { - '***': '*', - '**/**': '**', - '**/**/**': '**' - }, - - // Digits - CHAR_0: 48, /* 0 */ - CHAR_9: 57, /* 9 */ - - // Alphabet chars. - CHAR_UPPERCASE_A: 65, /* A */ - CHAR_LOWERCASE_A: 97, /* a */ - CHAR_UPPERCASE_Z: 90, /* Z */ - CHAR_LOWERCASE_Z: 122, /* z */ - - CHAR_LEFT_PARENTHESES: 40, /* ( */ - CHAR_RIGHT_PARENTHESES: 41, /* ) */ - - CHAR_ASTERISK: 42, /* * */ - - // Non-alphabetic chars. - CHAR_AMPERSAND: 38, /* & */ - CHAR_AT: 64, /* @ */ - CHAR_BACKWARD_SLASH: 92, /* \ */ - CHAR_CARRIAGE_RETURN: 13, /* \r */ - CHAR_CIRCUMFLEX_ACCENT: 94, /* ^ */ - CHAR_COLON: 58, /* : */ - CHAR_COMMA: 44, /* , */ - CHAR_DOT: 46, /* . */ - CHAR_DOUBLE_QUOTE: 34, /* " */ - CHAR_EQUAL: 61, /* = */ - CHAR_EXCLAMATION_MARK: 33, /* ! */ - CHAR_FORM_FEED: 12, /* \f */ - CHAR_FORWARD_SLASH: 47, /* / */ - CHAR_GRAVE_ACCENT: 96, /* ` */ - CHAR_HASH: 35, /* # */ - CHAR_HYPHEN_MINUS: 45, /* - */ - CHAR_LEFT_ANGLE_BRACKET: 60, /* < */ - CHAR_LEFT_CURLY_BRACE: 123, /* { */ - CHAR_LEFT_SQUARE_BRACKET: 91, /* [ */ - CHAR_LINE_FEED: 10, /* \n */ - CHAR_NO_BREAK_SPACE: 160, /* \u00A0 */ - CHAR_PERCENT: 37, /* % */ - CHAR_PLUS: 43, /* + */ - CHAR_QUESTION_MARK: 63, /* ? */ - CHAR_RIGHT_ANGLE_BRACKET: 62, /* > */ - CHAR_RIGHT_CURLY_BRACE: 125, /* } */ - CHAR_RIGHT_SQUARE_BRACKET: 93, /* ] */ - CHAR_SEMICOLON: 59, /* ; */ - CHAR_SINGLE_QUOTE: 39, /* ' */ - CHAR_SPACE: 32, /* */ - CHAR_TAB: 9, /* \t */ - CHAR_UNDERSCORE: 95, /* _ */ - CHAR_VERTICAL_LINE: 124, /* | */ - CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279, /* \uFEFF */ - - /** - * Create EXTGLOB_CHARS - */ - - extglobChars(chars) { - return { - '!': { type: 'negate', open: '(?:(?!(?:', close: `))${chars.STAR})` }, - '?': { type: 'qmark', open: '(?:', close: ')?' }, - '+': { type: 'plus', open: '(?:', close: ')+' }, - '*': { type: 'star', open: '(?:', close: ')*' }, - '@': { type: 'at', open: '(?:', close: ')' } - }; - }, - - /** - * Create GLOB_CHARS - */ - - globChars(win32) { - return win32 === true ? WINDOWS_CHARS : POSIX_CHARS; - } -}; - - -/***/ }), - -/***/ 31276: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -const constants = __webpack_require__(30742); -const utils = __webpack_require__(32430); - -/** - * Constants - */ - -const { - MAX_LENGTH, - POSIX_REGEX_SOURCE, - REGEX_NON_SPECIAL_CHARS, - REGEX_SPECIAL_CHARS_BACKREF, - REPLACEMENTS -} = constants; - -/** - * Helpers - */ - -const expandRange = (args, options) => { - if (typeof options.expandRange === 'function') { - return options.expandRange(...args, options); - } - - args.sort(); - const value = `[${args.join('-')}]`; - - try { - /* eslint-disable-next-line no-new */ - new RegExp(value); - } catch (ex) { - return args.map(v => utils.escapeRegex(v)).join('..'); - } - - return value; -}; - -/** - * Create the message for a syntax error - */ - -const syntaxError = (type, char) => { - return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`; -}; - -/** - * Parse the given input string. - * @param {String} input - * @param {Object} options - * @return {Object} - */ - -const parse = (input, options) => { - if (typeof input !== 'string') { - throw new TypeError('Expected a string'); - } - - input = REPLACEMENTS[input] || input; - - const opts = { ...options }; - const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; - - let len = input.length; - if (len > max) { - throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`); - } - - const bos = { type: 'bos', value: '', output: opts.prepend || '' }; - const tokens = [bos]; - - const capture = opts.capture ? '' : '?:'; - - // create constants based on platform, for windows or posix - const PLATFORM_CHARS = constants.globChars(opts.windows); - const EXTGLOB_CHARS = constants.extglobChars(PLATFORM_CHARS); - - const { - DOT_LITERAL, - PLUS_LITERAL, - SLASH_LITERAL, - ONE_CHAR, - DOTS_SLASH, - NO_DOT, - NO_DOT_SLASH, - NO_DOTS_SLASH, - QMARK, - QMARK_NO_DOT, - STAR, - START_ANCHOR - } = PLATFORM_CHARS; - - const globstar = (opts) => { - return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`; - }; - - const nodot = opts.dot ? '' : NO_DOT; - const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT; - let star = opts.bash === true ? globstar(opts) : STAR; - - if (opts.capture) { - star = `(${star})`; - } - - // minimatch options support - if (typeof opts.noext === 'boolean') { - opts.noextglob = opts.noext; - } - - const state = { - input, - index: -1, - start: 0, - dot: opts.dot === true, - consumed: '', - output: '', - prefix: '', - backtrack: false, - negated: false, - brackets: 0, - braces: 0, - parens: 0, - quotes: 0, - globstar: false, - tokens - }; - - input = utils.removePrefix(input, state); - len = input.length; - - const extglobs = []; - const braces = []; - const stack = []; - let prev = bos; - let value; - - /** - * Tokenizing helpers - */ - - const eos = () => state.index === len - 1; - const peek = state.peek = (n = 1) => input[state.index + n]; - const advance = state.advance = () => input[++state.index]; - const remaining = () => input.slice(state.index + 1); - const consume = (value = '', num = 0) => { - state.consumed += value; - state.index += num; - }; - const append = token => { - state.output += token.output != null ? token.output : token.value; - consume(token.value); - }; - - const negate = () => { - let count = 1; - - while (peek() === '!' && (peek(2) !== '(' || peek(3) === '?')) { - advance(); - state.start++; - count++; - } - - if (count % 2 === 0) { - return false; - } - - state.negated = true; - state.start++; - return true; - }; - - const increment = type => { - state[type]++; - stack.push(type); - }; - - const decrement = type => { - state[type]--; - stack.pop(); - }; - - /** - * Push tokens onto the tokens array. This helper speeds up - * tokenizing by 1) helping us avoid backtracking as much as possible, - * and 2) helping us avoid creating extra tokens when consecutive - * characters are plain text. This improves performance and simplifies - * lookbehinds. - */ - - const push = tok => { - if (prev.type === 'globstar') { - const isBrace = state.braces > 0 && (tok.type === 'comma' || tok.type === 'brace'); - const isExtglob = tok.extglob === true || (extglobs.length && (tok.type === 'pipe' || tok.type === 'paren')); - - if (tok.type !== 'slash' && tok.type !== 'paren' && !isBrace && !isExtglob) { - state.output = state.output.slice(0, -prev.output.length); - prev.type = 'star'; - prev.value = '*'; - prev.output = star; - state.output += prev.output; - } - } - - if (extglobs.length && tok.type !== 'paren' && !EXTGLOB_CHARS[tok.value]) { - extglobs[extglobs.length - 1].inner += tok.value; - } - - if (tok.value || tok.output) append(tok); - if (prev && prev.type === 'text' && tok.type === 'text') { - prev.value += tok.value; - prev.output = (prev.output || '') + tok.value; - return; - } - - tok.prev = prev; - tokens.push(tok); - prev = tok; - }; - - const extglobOpen = (type, value) => { - const token = { ...EXTGLOB_CHARS[value], conditions: 1, inner: '' }; - - token.prev = prev; - token.parens = state.parens; - token.output = state.output; - const output = (opts.capture ? '(' : '') + token.open; - - increment('parens'); - push({ type, value, output: state.output ? '' : ONE_CHAR }); - push({ type: 'paren', extglob: true, value: advance(), output }); - extglobs.push(token); - }; - - const extglobClose = token => { - let output = token.close + (opts.capture ? ')' : ''); - - if (token.type === 'negate') { - let extglobStar = star; - - if (token.inner && token.inner.length > 1 && token.inner.includes('/')) { - extglobStar = globstar(opts); - } - - if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) { - output = token.close = `)$))${extglobStar}`; - } - - if (token.prev.type === 'bos' && eos()) { - state.negatedExtglob = true; - } - } - - push({ type: 'paren', extglob: true, value, output }); - decrement('parens'); - }; - - /** - * Fast paths - */ - - if (opts.fastpaths !== false && !/(^[*!]|[/()[\]{}"])/.test(input)) { - let backslashes = false; - - let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => { - if (first === '\\') { - backslashes = true; - return m; - } - - if (first === '?') { - if (esc) { - return esc + first + (rest ? QMARK.repeat(rest.length) : ''); - } - if (index === 0) { - return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : ''); - } - return QMARK.repeat(chars.length); - } - - if (first === '.') { - return DOT_LITERAL.repeat(chars.length); - } - - if (first === '*') { - if (esc) { - return esc + first + (rest ? star : ''); - } - return star; - } - return esc ? m : `\\${m}`; - }); - - if (backslashes === true) { - if (opts.unescape === true) { - output = output.replace(/\\/g, ''); - } else { - output = output.replace(/\\+/g, m => { - return m.length % 2 === 0 ? '\\\\' : (m ? '\\' : ''); - }); - } - } - - if (output === input && opts.contains === true) { - state.output = input; - return state; - } - - state.output = utils.wrapOutput(output, state, options); - return state; - } - - /** - * Tokenize input until we reach end-of-string - */ - - while (!eos()) { - value = advance(); - - if (value === '\u0000') { - continue; - } - - /** - * Escaped characters - */ - - if (value === '\\') { - const next = peek(); - - if (next === '/' && opts.bash !== true) { - continue; - } - - if (next === '.' || next === ';') { - continue; - } - - if (!next) { - value += '\\'; - push({ type: 'text', value }); - continue; - } - - // collapse slashes to reduce potential for exploits - const match = /^\\+/.exec(remaining()); - let slashes = 0; - - if (match && match[0].length > 2) { - slashes = match[0].length; - state.index += slashes; - if (slashes % 2 !== 0) { - value += '\\'; - } - } - - if (opts.unescape === true) { - value = advance() || ''; - } else { - value += advance() || ''; - } - - if (state.brackets === 0) { - push({ type: 'text', value }); - continue; - } - } - - /** - * If we're inside a regex character class, continue - * until we reach the closing bracket. - */ - - if (state.brackets > 0 && (value !== ']' || prev.value === '[' || prev.value === '[^')) { - if (opts.posix !== false && value === ':') { - const inner = prev.value.slice(1); - if (inner.includes('[')) { - prev.posix = true; - - if (inner.includes(':')) { - const idx = prev.value.lastIndexOf('['); - const pre = prev.value.slice(0, idx); - const rest = prev.value.slice(idx + 2); - const posix = POSIX_REGEX_SOURCE[rest]; - if (posix) { - prev.value = pre + posix; - state.backtrack = true; - advance(); - - if (!bos.output && tokens.indexOf(prev) === 1) { - bos.output = ONE_CHAR; - } - continue; - } - } - } - } - - if ((value === '[' && peek() !== ':') || (value === '-' && peek() === ']')) { - value = `\\${value}`; - } - - if (value === ']' && (prev.value === '[' || prev.value === '[^')) { - value = `\\${value}`; - } - - if (opts.posix === true && value === '!' && prev.value === '[') { - value = '^'; - } - - prev.value += value; - append({ value }); - continue; - } - - /** - * If we're inside a quoted string, continue - * until we reach the closing double quote. - */ - - if (state.quotes === 1 && value !== '"') { - value = utils.escapeRegex(value); - prev.value += value; - append({ value }); - continue; - } - - /** - * Double quotes - */ - - if (value === '"') { - state.quotes = state.quotes === 1 ? 0 : 1; - if (opts.keepQuotes === true) { - push({ type: 'text', value }); - } - continue; - } - - /** - * Parentheses - */ - - if (value === '(') { - increment('parens'); - push({ type: 'paren', value }); - continue; - } - - if (value === ')') { - if (state.parens === 0 && opts.strictBrackets === true) { - throw new SyntaxError(syntaxError('opening', '(')); - } - - const extglob = extglobs[extglobs.length - 1]; - if (extglob && state.parens === extglob.parens + 1) { - extglobClose(extglobs.pop()); - continue; - } - - push({ type: 'paren', value, output: state.parens ? ')' : '\\)' }); - decrement('parens'); - continue; - } - - /** - * Square brackets - */ - - if (value === '[') { - if (opts.nobracket === true || !remaining().includes(']')) { - if (opts.nobracket !== true && opts.strictBrackets === true) { - throw new SyntaxError(syntaxError('closing', ']')); - } - - value = `\\${value}`; - } else { - increment('brackets'); - } - - push({ type: 'bracket', value }); - continue; - } - - if (value === ']') { - if (opts.nobracket === true || (prev && prev.type === 'bracket' && prev.value.length === 1)) { - push({ type: 'text', value, output: `\\${value}` }); - continue; - } - - if (state.brackets === 0) { - if (opts.strictBrackets === true) { - throw new SyntaxError(syntaxError('opening', '[')); - } - - push({ type: 'text', value, output: `\\${value}` }); - continue; - } - - decrement('brackets'); - - const prevValue = prev.value.slice(1); - if (prev.posix !== true && prevValue[0] === '^' && !prevValue.includes('/')) { - value = `/${value}`; - } - - prev.value += value; - append({ value }); - - // when literal brackets are explicitly disabled - // assume we should match with a regex character class - if (opts.literalBrackets === false || utils.hasRegexChars(prevValue)) { - continue; - } - - const escaped = utils.escapeRegex(prev.value); - state.output = state.output.slice(0, -prev.value.length); - - // when literal brackets are explicitly enabled - // assume we should escape the brackets to match literal characters - if (opts.literalBrackets === true) { - state.output += escaped; - prev.value = escaped; - continue; - } - - // when the user specifies nothing, try to match both - prev.value = `(${capture}${escaped}|${prev.value})`; - state.output += prev.value; - continue; - } - - /** - * Braces - */ - - if (value === '{' && opts.nobrace !== true) { - increment('braces'); - - const open = { - type: 'brace', - value, - output: '(', - outputIndex: state.output.length, - tokensIndex: state.tokens.length - }; - - braces.push(open); - push(open); - continue; - } - - if (value === '}') { - const brace = braces[braces.length - 1]; - - if (opts.nobrace === true || !brace) { - push({ type: 'text', value, output: value }); - continue; - } - - let output = ')'; - - if (brace.dots === true) { - const arr = tokens.slice(); - const range = []; - - for (let i = arr.length - 1; i >= 0; i--) { - tokens.pop(); - if (arr[i].type === 'brace') { - break; - } - if (arr[i].type !== 'dots') { - range.unshift(arr[i].value); - } - } - - output = expandRange(range, opts); - state.backtrack = true; - } - - if (brace.comma !== true && brace.dots !== true) { - const out = state.output.slice(0, brace.outputIndex); - const toks = state.tokens.slice(brace.tokensIndex); - brace.value = brace.output = '\\{'; - value = output = '\\}'; - state.output = out; - for (const t of toks) { - state.output += (t.output || t.value); - } - } - - push({ type: 'brace', value, output }); - decrement('braces'); - braces.pop(); - continue; - } - - /** - * Pipes - */ - - if (value === '|') { - if (extglobs.length > 0) { - extglobs[extglobs.length - 1].conditions++; - } - push({ type: 'text', value }); - continue; - } - - /** - * Commas - */ - - if (value === ',') { - let output = value; - - const brace = braces[braces.length - 1]; - if (brace && stack[stack.length - 1] === 'braces') { - brace.comma = true; - output = '|'; - } - - push({ type: 'comma', value, output }); - continue; - } - - /** - * Slashes - */ - - if (value === '/') { - // if the beginning of the glob is "./", advance the start - // to the current index, and don't add the "./" characters - // to the state. This greatly simplifies lookbehinds when - // checking for BOS characters like "!" and "." (not "./") - if (prev.type === 'dot' && state.index === state.start + 1) { - state.start = state.index + 1; - state.consumed = ''; - state.output = ''; - tokens.pop(); - prev = bos; // reset "prev" to the first token - continue; - } - - push({ type: 'slash', value, output: SLASH_LITERAL }); - continue; - } - - /** - * Dots - */ - - if (value === '.') { - if (state.braces > 0 && prev.type === 'dot') { - if (prev.value === '.') prev.output = DOT_LITERAL; - const brace = braces[braces.length - 1]; - prev.type = 'dots'; - prev.output += value; - prev.value += value; - brace.dots = true; - continue; - } - - if ((state.braces + state.parens) === 0 && prev.type !== 'bos' && prev.type !== 'slash') { - push({ type: 'text', value, output: DOT_LITERAL }); - continue; - } - - push({ type: 'dot', value, output: DOT_LITERAL }); - continue; - } - - /** - * Question marks - */ - - if (value === '?') { - const isGroup = prev && prev.value === '('; - if (!isGroup && opts.noextglob !== true && peek() === '(' && peek(2) !== '?') { - extglobOpen('qmark', value); - continue; - } - - if (prev && prev.type === 'paren') { - const next = peek(); - let output = value; - - if (next === '<' && !utils.supportsLookbehinds()) { - throw new Error('Node.js v10 or higher is required for regex lookbehinds'); - } - - if ((prev.value === '(' && !/[!=<:]/.test(next)) || (next === '<' && !/<([!=]|\w+>)/.test(remaining()))) { - output = `\\${value}`; - } - - push({ type: 'text', value, output }); - continue; - } - - if (opts.dot !== true && (prev.type === 'slash' || prev.type === 'bos')) { - push({ type: 'qmark', value, output: QMARK_NO_DOT }); - continue; - } - - push({ type: 'qmark', value, output: QMARK }); - continue; - } - - /** - * Exclamation - */ - - if (value === '!') { - if (opts.noextglob !== true && peek() === '(') { - if (peek(2) !== '?' || !/[!=<:]/.test(peek(3))) { - extglobOpen('negate', value); - continue; - } - } - - if (opts.nonegate !== true && state.index === 0) { - negate(); - continue; - } - } - - /** - * Plus - */ - - if (value === '+') { - if (opts.noextglob !== true && peek() === '(' && peek(2) !== '?') { - extglobOpen('plus', value); - continue; - } - - if ((prev && prev.value === '(') || opts.regex === false) { - push({ type: 'plus', value, output: PLUS_LITERAL }); - continue; - } - - if ((prev && (prev.type === 'bracket' || prev.type === 'paren' || prev.type === 'brace')) || state.parens > 0) { - push({ type: 'plus', value }); - continue; - } - - push({ type: 'plus', value: PLUS_LITERAL }); - continue; - } - - /** - * Plain text - */ - - if (value === '@') { - if (opts.noextglob !== true && peek() === '(' && peek(2) !== '?') { - push({ type: 'at', extglob: true, value, output: '' }); - continue; - } - - push({ type: 'text', value }); - continue; - } - - /** - * Plain text - */ - - if (value !== '*') { - if (value === '$' || value === '^') { - value = `\\${value}`; - } - - const match = REGEX_NON_SPECIAL_CHARS.exec(remaining()); - if (match) { - value += match[0]; - state.index += match[0].length; - } - - push({ type: 'text', value }); - continue; - } - - /** - * Stars - */ - - if (prev && (prev.type === 'globstar' || prev.star === true)) { - prev.type = 'star'; - prev.star = true; - prev.value += value; - prev.output = star; - state.backtrack = true; - state.globstar = true; - consume(value); - continue; - } - - let rest = remaining(); - if (opts.noextglob !== true && /^\([^?]/.test(rest)) { - extglobOpen('star', value); - continue; - } - - if (prev.type === 'star') { - if (opts.noglobstar === true) { - consume(value); - continue; - } - - const prior = prev.prev; - const before = prior.prev; - const isStart = prior.type === 'slash' || prior.type === 'bos'; - const afterStar = before && (before.type === 'star' || before.type === 'globstar'); - - if (opts.bash === true && (!isStart || (rest[0] && rest[0] !== '/'))) { - push({ type: 'star', value, output: '' }); - continue; - } - - const isBrace = state.braces > 0 && (prior.type === 'comma' || prior.type === 'brace'); - const isExtglob = extglobs.length && (prior.type === 'pipe' || prior.type === 'paren'); - if (!isStart && prior.type !== 'paren' && !isBrace && !isExtglob) { - push({ type: 'star', value, output: '' }); - continue; - } - - // strip consecutive `/**/` - while (rest.slice(0, 3) === '/**') { - const after = input[state.index + 4]; - if (after && after !== '/') { - break; - } - rest = rest.slice(3); - consume('/**', 3); - } - - if (prior.type === 'bos' && eos()) { - prev.type = 'globstar'; - prev.value += value; - prev.output = globstar(opts); - state.output = prev.output; - state.globstar = true; - consume(value); - continue; - } - - if (prior.type === 'slash' && prior.prev.type !== 'bos' && !afterStar && eos()) { - state.output = state.output.slice(0, -(prior.output + prev.output).length); - prior.output = `(?:${prior.output}`; - - prev.type = 'globstar'; - prev.output = globstar(opts) + (opts.strictSlashes ? ')' : '|$)'); - prev.value += value; - state.globstar = true; - state.output += prior.output + prev.output; - consume(value); - continue; - } - - if (prior.type === 'slash' && prior.prev.type !== 'bos' && rest[0] === '/') { - const end = rest[1] !== void 0 ? '|$' : ''; - - state.output = state.output.slice(0, -(prior.output + prev.output).length); - prior.output = `(?:${prior.output}`; - - prev.type = 'globstar'; - prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`; - prev.value += value; - - state.output += prior.output + prev.output; - state.globstar = true; - - consume(value + advance()); - - push({ type: 'slash', value: '/', output: '' }); - continue; - } - - if (prior.type === 'bos' && rest[0] === '/') { - prev.type = 'globstar'; - prev.value += value; - prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`; - state.output = prev.output; - state.globstar = true; - consume(value + advance()); - push({ type: 'slash', value: '/', output: '' }); - continue; - } - - // remove single star from output - state.output = state.output.slice(0, -prev.output.length); - - // reset previous token to globstar - prev.type = 'globstar'; - prev.output = globstar(opts); - prev.value += value; - - // reset output with globstar - state.output += prev.output; - state.globstar = true; - consume(value); - continue; - } - - const token = { type: 'star', value, output: star }; - - if (opts.bash === true) { - token.output = '.*?'; - if (prev.type === 'bos' || prev.type === 'slash') { - token.output = nodot + token.output; - } - push(token); - continue; - } - - if (prev && (prev.type === 'bracket' || prev.type === 'paren') && opts.regex === true) { - token.output = value; - push(token); - continue; - } - - if (state.index === state.start || prev.type === 'slash' || prev.type === 'dot') { - if (prev.type === 'dot') { - state.output += NO_DOT_SLASH; - prev.output += NO_DOT_SLASH; - - } else if (opts.dot === true) { - state.output += NO_DOTS_SLASH; - prev.output += NO_DOTS_SLASH; - - } else { - state.output += nodot; - prev.output += nodot; - } - - if (peek() !== '*') { - state.output += ONE_CHAR; - prev.output += ONE_CHAR; - } - } - - push(token); - } - - while (state.brackets > 0) { - if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ']')); - state.output = utils.escapeLast(state.output, '['); - decrement('brackets'); - } - - while (state.parens > 0) { - if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ')')); - state.output = utils.escapeLast(state.output, '('); - decrement('parens'); - } - - while (state.braces > 0) { - if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', '}')); - state.output = utils.escapeLast(state.output, '{'); - decrement('braces'); - } - - if (opts.strictSlashes !== true && (prev.type === 'star' || prev.type === 'bracket')) { - push({ type: 'maybe_slash', value: '', output: `${SLASH_LITERAL}?` }); - } - - // rebuild the output if we had to backtrack at any point - if (state.backtrack === true) { - state.output = ''; - - for (const token of state.tokens) { - state.output += token.output != null ? token.output : token.value; - - if (token.suffix) { - state.output += token.suffix; - } - } - } - - return state; -}; - -/** - * Fast paths for creating regular expressions for common glob patterns. - * This can significantly speed up processing and has very little downside - * impact when none of the fast paths match. - */ - -parse.fastpaths = (input, options) => { - const opts = { ...options }; - const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; - const len = input.length; - if (len > max) { - throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`); - } - - input = REPLACEMENTS[input] || input; - - // create constants based on platform, for windows or posix - const { - DOT_LITERAL, - SLASH_LITERAL, - ONE_CHAR, - DOTS_SLASH, - NO_DOT, - NO_DOTS, - NO_DOTS_SLASH, - STAR, - START_ANCHOR - } = constants.globChars(opts.windows); - - const nodot = opts.dot ? NO_DOTS : NO_DOT; - const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT; - const capture = opts.capture ? '' : '?:'; - const state = { negated: false, prefix: '' }; - let star = opts.bash === true ? '.*?' : STAR; - - if (opts.capture) { - star = `(${star})`; - } - - const globstar = (opts) => { - if (opts.noglobstar === true) return star; - return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`; - }; - - const create = str => { - switch (str) { - case '*': - return `${nodot}${ONE_CHAR}${star}`; - - case '.*': - return `${DOT_LITERAL}${ONE_CHAR}${star}`; - - case '*.*': - return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`; - - case '*/*': - return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`; - - case '**': - return nodot + globstar(opts); - - case '**/*': - return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`; - - case '**/*.*': - return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`; - - case '**/.*': - return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`; - - default: { - const match = /^(.*?)\.(\w+)$/.exec(str); - if (!match) return; - - const source = create(match[1]); - if (!source) return; - - return source + DOT_LITERAL + match[2]; - } - } - }; - - const output = utils.removePrefix(input, state); - let source = create(output); - - if (source && opts.strictSlashes !== true) { - source += `${SLASH_LITERAL}?`; - } - - return source; -}; - -module.exports = parse; - - -/***/ }), - -/***/ 73505: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -const scan = __webpack_require__(19818); -const parse = __webpack_require__(31276); -const utils = __webpack_require__(32430); -const constants = __webpack_require__(30742); -const isObject = val => val && typeof val === 'object' && !Array.isArray(val); - -/** - * Creates a matcher function from one or more glob patterns. The - * returned function takes a string to match as its first argument, - * and returns true if the string is a match. The returned matcher - * function also takes a boolean as the second argument that, when true, - * returns an object with additional information. - * - * ```js - * const picomatch = require('picomatch'); - * // picomatch(glob[, options]); - * - * const isMatch = picomatch('*.!(*a)'); - * console.log(isMatch('a.a')); //=> false - * console.log(isMatch('a.b')); //=> true - * ``` - * @name picomatch - * @param {String|Array} `globs` One or more glob patterns. - * @param {Object=} `options` - * @return {Function=} Returns a matcher function. - * @api public - */ - -const picomatch = (glob, options, returnState = false) => { - if (Array.isArray(glob)) { - const fns = glob.map(input => picomatch(input, options, returnState)); - const arrayMatcher = str => { - for (const isMatch of fns) { - const state = isMatch(str); - if (state) return state; - } - return false; - }; - return arrayMatcher; - } - - const isState = isObject(glob) && glob.tokens && glob.input; - - if (glob === '' || (typeof glob !== 'string' && !isState)) { - throw new TypeError('Expected pattern to be a non-empty string'); - } - - const opts = options || {}; - const posix = opts.windows; - const regex = isState - ? picomatch.compileRe(glob, options) - : picomatch.makeRe(glob, options, false, true); - - const state = regex.state; - delete regex.state; - - let isIgnored = () => false; - if (opts.ignore) { - const ignoreOpts = { ...options, ignore: null, onMatch: null, onResult: null }; - isIgnored = picomatch(opts.ignore, ignoreOpts, returnState); - } - - const matcher = (input, returnObject = false) => { - const { isMatch, match, output } = picomatch.test(input, regex, options, { glob, posix }); - const result = { glob, state, regex, posix, input, output, match, isMatch }; - - if (typeof opts.onResult === 'function') { - opts.onResult(result); - } - - if (isMatch === false) { - result.isMatch = false; - return returnObject ? result : false; - } - - if (isIgnored(input)) { - if (typeof opts.onIgnore === 'function') { - opts.onIgnore(result); - } - result.isMatch = false; - return returnObject ? result : false; - } - - if (typeof opts.onMatch === 'function') { - opts.onMatch(result); - } - return returnObject ? result : true; - }; - - if (returnState) { - matcher.state = state; - } - - return matcher; -}; - -/** - * Test `input` with the given `regex`. This is used by the main - * `picomatch()` function to test the input string. - * - * ```js - * const picomatch = require('picomatch'); - * // picomatch.test(input, regex[, options]); - * - * console.log(picomatch.test('foo/bar', /^(?:([^/]*?)\/([^/]*?))$/)); - * // { isMatch: true, match: [ 'foo/', 'foo', 'bar' ], output: 'foo/bar' } - * ``` - * @param {String} `input` String to test. - * @param {RegExp} `regex` - * @return {Object} Returns an object with matching info. - * @api public - */ - -picomatch.test = (input, regex, options, { glob, posix } = {}) => { - if (typeof input !== 'string') { - throw new TypeError('Expected input to be a string'); - } - - if (input === '') { - return { isMatch: false, output: '' }; - } - - const opts = options || {}; - const format = opts.format || (posix ? utils.toPosixSlashes : null); - let match = input === glob; - let output = (match && format) ? format(input) : input; - - if (match === false) { - output = format ? format(input) : input; - match = output === glob; - } - - if (match === false || opts.capture === true) { - if (opts.matchBase === true || opts.basename === true) { - match = picomatch.matchBase(input, regex, options, posix); - } else { - match = regex.exec(output); - } - } - - return { isMatch: Boolean(match), match, output }; -}; - -/** - * Match the basename of a filepath. - * - * ```js - * const picomatch = require('picomatch'); - * // picomatch.matchBase(input, glob[, options]); - * console.log(picomatch.matchBase('foo/bar.js', '*.js'); // true - * ``` - * @param {String} `input` String to test. - * @param {RegExp|String} `glob` Glob pattern or regex created by [.makeRe](#makeRe). - * @return {Boolean} - * @api public - */ - -picomatch.matchBase = (input, glob, options) => { - const regex = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options); - return regex.test(utils.basename(input)); -}; - -/** - * Returns true if **any** of the given glob `patterns` match the specified `string`. - * - * ```js - * const picomatch = require('picomatch'); - * // picomatch.isMatch(string, patterns[, options]); - * - * console.log(picomatch.isMatch('a.a', ['b.*', '*.a'])); //=> true - * console.log(picomatch.isMatch('a.a', 'b.*')); //=> false - * ``` - * @param {String|Array} str The string to test. - * @param {String|Array} patterns One or more glob patterns to use for matching. - * @param {Object} [options] See available [options](#options). - * @return {Boolean} Returns true if any patterns match `str` - * @api public - */ - -picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str); - -/** - * Parse a glob pattern to create the source string for a regular - * expression. - * - * ```js - * const picomatch = require('picomatch'); - * const result = picomatch.parse(pattern[, options]); - * ``` - * @param {String} `pattern` - * @param {Object} `options` - * @return {Object} Returns an object with useful properties and output to be used as a regex source string. - * @api public - */ - -picomatch.parse = (pattern, options) => { - if (Array.isArray(pattern)) return pattern.map(p => picomatch.parse(p, options)); - return parse(pattern, { ...options, fastpaths: false }); -}; - -/** - * Scan a glob pattern to separate the pattern into segments. - * - * ```js - * const picomatch = require('picomatch'); - * // picomatch.scan(input[, options]); - * - * const result = picomatch.scan('!./foo/*.js'); - * console.log(result); - * { prefix: '!./', - * input: '!./foo/*.js', - * start: 3, - * base: 'foo', - * glob: '*.js', - * isBrace: false, - * isBracket: false, - * isGlob: true, - * isExtglob: false, - * isGlobstar: false, - * negated: true } - * ``` - * @param {String} `input` Glob pattern to scan. - * @param {Object} `options` - * @return {Object} Returns an object with - * @api public - */ - -picomatch.scan = (input, options) => scan(input, options); - -/** - * Create a regular expression from a parsed glob pattern. - * - * ```js - * const picomatch = require('picomatch'); - * const state = picomatch.parse('*.js'); - * // picomatch.compileRe(state[, options]); - * - * console.log(picomatch.compileRe(state)); - * //=> /^(?:(?!\.)(?=.)[^/]*?\.js)$/ - * ``` - * @param {String} `state` The object returned from the `.parse` method. - * @param {Object} `options` - * @return {RegExp} Returns a regex created from the given pattern. - * @api public - */ - -picomatch.compileRe = (parsed, options, returnOutput = false, returnState = false) => { - if (returnOutput === true) { - return parsed.output; - } - - const opts = options || {}; - const prepend = opts.contains ? '' : '^'; - const append = opts.contains ? '' : '$'; - - let source = `${prepend}(?:${parsed.output})${append}`; - if (parsed && parsed.negated === true) { - source = `^(?!${source}).*$`; - } - - const regex = picomatch.toRegex(source, options); - if (returnState === true) { - regex.state = parsed; - } - - return regex; -}; - -picomatch.makeRe = (input, options, returnOutput = false, returnState = false) => { - if (!input || typeof input !== 'string') { - throw new TypeError('Expected a non-empty string'); - } - - const opts = options || {}; - let parsed = { negated: false, fastpaths: true }; - let prefix = ''; - let output; - - if (input.startsWith('./')) { - input = input.slice(2); - prefix = parsed.prefix = './'; - } - - if (opts.fastpaths !== false && (input[0] === '.' || input[0] === '*')) { - output = parse.fastpaths(input, options); - } - - if (output === undefined) { - parsed = parse(input, options); - parsed.prefix = prefix + (parsed.prefix || ''); - } else { - parsed.output = output; - } - - return picomatch.compileRe(parsed, options, returnOutput, returnState); -}; - -/** - * Create a regular expression from the given regex source string. - * - * ```js - * const picomatch = require('picomatch'); - * // picomatch.toRegex(source[, options]); - * - * const { output } = picomatch.parse('*.js'); - * console.log(picomatch.toRegex(output)); - * //=> /^(?:(?!\.)(?=.)[^/]*?\.js)$/ - * ``` - * @param {String} `source` Regular expression source string. - * @param {Object} `options` - * @return {RegExp} - * @api public - */ - -picomatch.toRegex = (source, options) => { - try { - const opts = options || {}; - return new RegExp(source, opts.flags || (opts.nocase ? 'i' : '')); - } catch (err) { - if (options && options.debug === true) throw err; - return /$^/; - } -}; - -/** - * Picomatch constants. - * @return {Object} - */ - -picomatch.constants = constants; - -/** - * Expose "picomatch" - */ - -module.exports = picomatch; - - -/***/ }), - -/***/ 19818: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -const utils = __webpack_require__(32430); -const { - CHAR_ASTERISK, /* * */ - CHAR_AT, /* @ */ - CHAR_BACKWARD_SLASH, /* \ */ - CHAR_COMMA, /* , */ - CHAR_DOT, /* . */ - CHAR_EXCLAMATION_MARK, /* ! */ - CHAR_FORWARD_SLASH, /* / */ - CHAR_LEFT_CURLY_BRACE, /* { */ - CHAR_LEFT_PARENTHESES, /* ( */ - CHAR_LEFT_SQUARE_BRACKET, /* [ */ - CHAR_PLUS, /* + */ - CHAR_QUESTION_MARK, /* ? */ - CHAR_RIGHT_CURLY_BRACE, /* } */ - CHAR_RIGHT_PARENTHESES, /* ) */ - CHAR_RIGHT_SQUARE_BRACKET /* ] */ -} = __webpack_require__(30742); - -const isPathSeparator = code => { - return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH; -}; - -const depth = token => { - if (token.isPrefix !== true) { - token.depth = token.isGlobstar ? Infinity : 1; - } -}; - -/** - * Quickly scans a glob pattern and returns an object with a handful of - * useful properties, like `isGlob`, `path` (the leading non-glob, if it exists), - * `glob` (the actual pattern), and `negated` (true if the path starts with `!`). - * - * ```js - * const pm = require('picomatch'); - * console.log(pm.scan('foo/bar/*.js')); - * { isGlob: true, input: 'foo/bar/*.js', base: 'foo/bar', glob: '*.js' } - * ``` - * @param {String} `str` - * @param {Object} `options` - * @return {Object} Returns an object with tokens and regex source string. - * @api public - */ - -const scan = (input, options) => { - const opts = options || {}; - - const length = input.length - 1; - const scanToEnd = opts.parts === true || opts.scanToEnd === true; - const slashes = []; - const tokens = []; - const parts = []; - - let str = input; - let index = -1; - let start = 0; - let lastIndex = 0; - let isBrace = false; - let isBracket = false; - let isGlob = false; - let isExtglob = false; - let isGlobstar = false; - let braceEscaped = false; - let backslashes = false; - let negated = false; - let finished = false; - let braces = 0; - let prev; - let code; - let token = { value: '', depth: 0, isGlob: false }; - - const eos = () => index >= length; - const peek = () => str.charCodeAt(index + 1); - const advance = () => { - prev = code; - return str.charCodeAt(++index); - }; - - while (index < length) { - code = advance(); - let next; - - if (code === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - code = advance(); - - if (code === CHAR_LEFT_CURLY_BRACE) { - braceEscaped = true; - } - continue; - } - - if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) { - braces++; - - while (eos() !== true && (code = advance())) { - if (code === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - advance(); - continue; - } - - if (code === CHAR_LEFT_CURLY_BRACE) { - braces++; - continue; - } - - if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) { - isBrace = token.isBrace = true; - isGlob = token.isGlob = true; - finished = true; - - if (scanToEnd === true) { - continue; - } - - break; - } - - if (braceEscaped !== true && code === CHAR_COMMA) { - isBrace = token.isBrace = true; - isGlob = token.isGlob = true; - finished = true; - - if (scanToEnd === true) { - continue; - } - - break; - } - - if (code === CHAR_RIGHT_CURLY_BRACE) { - braces--; - - if (braces === 0) { - braceEscaped = false; - isBrace = token.isBrace = true; - finished = true; - break; - } - } - } - - if (scanToEnd === true) { - continue; - } - - break; - } - - if (code === CHAR_FORWARD_SLASH) { - slashes.push(index); - tokens.push(token); - token = { value: '', depth: 0, isGlob: false }; - - if (finished === true) continue; - if (prev === CHAR_DOT && index === (start + 1)) { - start += 2; - continue; - } - - lastIndex = index + 1; - continue; - } - - if (opts.noext !== true) { - const isExtglobChar = code === CHAR_PLUS - || code === CHAR_AT - || code === CHAR_ASTERISK - || code === CHAR_QUESTION_MARK - || code === CHAR_EXCLAMATION_MARK; - - if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) { - isGlob = token.isGlob = true; - isExtglob = token.isExtglob = true; - finished = true; - - if (scanToEnd === true) { - while (eos() !== true && (code = advance())) { - if (code === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - code = advance(); - continue; - } - - if (code === CHAR_RIGHT_PARENTHESES) { - isGlob = token.isGlob = true; - finished = true; - break; - } - } - continue; - } - break; - } - } - - if (code === CHAR_ASTERISK) { - if (prev === CHAR_ASTERISK) isGlobstar = token.isGlobstar = true; - isGlob = token.isGlob = true; - finished = true; - - if (scanToEnd === true) { - continue; - } - break; - } - - if (code === CHAR_QUESTION_MARK) { - isGlob = token.isGlob = true; - finished = true; - - if (scanToEnd === true) { - continue; - } - break; - } - - if (code === CHAR_LEFT_SQUARE_BRACKET) { - while (eos() !== true && (next = advance())) { - if (next === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - advance(); - continue; - } - - if (next === CHAR_RIGHT_SQUARE_BRACKET) { - isBracket = token.isBracket = true; - isGlob = token.isGlob = true; - finished = true; - - if (scanToEnd === true) { - continue; - } - break; - } - } - } - - if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) { - negated = token.negated = true; - start++; - continue; - } - - if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) { - isGlob = token.isGlob = true; - - if (scanToEnd === true) { - while (eos() !== true && (code = advance())) { - if (code === CHAR_LEFT_PARENTHESES) { - backslashes = token.backslashes = true; - code = advance(); - continue; - } - - if (code === CHAR_RIGHT_PARENTHESES) { - finished = true; - break; - } - } - continue; - } - break; - } - - if (isGlob === true) { - finished = true; - - if (scanToEnd === true) { - continue; - } - - break; - } - } - - if (opts.noext === true) { - isExtglob = false; - isGlob = false; - } - - let base = str; - let prefix = ''; - let glob = ''; - - if (start > 0) { - prefix = str.slice(0, start); - str = str.slice(start); - lastIndex -= start; - } - - if (base && isGlob === true && lastIndex > 0) { - base = str.slice(0, lastIndex); - glob = str.slice(lastIndex); - } else if (isGlob === true) { - base = ''; - glob = str; - } else { - base = str; - } - - if (base && base !== '' && base !== '/' && base !== str) { - if (isPathSeparator(base.charCodeAt(base.length - 1))) { - base = base.slice(0, -1); - } - } - - if (opts.unescape === true) { - if (glob) glob = utils.removeBackslashes(glob); - - if (base && backslashes === true) { - base = utils.removeBackslashes(base); - } - } - - const state = { - prefix, - input, - start, - base, - glob, - isBrace, - isBracket, - isGlob, - isExtglob, - isGlobstar, - negated - }; - - if (opts.tokens === true) { - state.maxDepth = 0; - if (!isPathSeparator(code)) { - tokens.push(token); - } - state.tokens = tokens; - } - - if (opts.parts === true || opts.tokens === true) { - let prevIndex; - - for (let idx = 0; idx < slashes.length; idx++) { - const n = prevIndex ? prevIndex + 1 : start; - const i = slashes[idx]; - const value = input.slice(n, i); - if (opts.tokens) { - if (idx === 0 && start !== 0) { - tokens[idx].isPrefix = true; - tokens[idx].value = prefix; - } else { - tokens[idx].value = value; - } - depth(tokens[idx]); - state.maxDepth += tokens[idx].depth; - } - if (idx !== 0 || value !== '') { - parts.push(value); - } - prevIndex = i; - } - - if (prevIndex && prevIndex + 1 < input.length) { - const value = input.slice(prevIndex + 1); - parts.push(value); - - if (opts.tokens) { - tokens[tokens.length - 1].value = value; - depth(tokens[tokens.length - 1]); - state.maxDepth += tokens[tokens.length - 1].depth; - } - } - - state.slashes = slashes; - state.parts = parts; - } - - return state; -}; - -module.exports = scan; - - -/***/ }), - -/***/ 32430: -/***/ ((__unused_webpack_module, exports, __webpack_require__) => { - -"use strict"; - - -const { - REGEX_BACKSLASH, - REGEX_REMOVE_BACKSLASH, - REGEX_SPECIAL_CHARS, - REGEX_SPECIAL_CHARS_GLOBAL -} = __webpack_require__(30742); - -exports.isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val); -exports.hasRegexChars = str => REGEX_SPECIAL_CHARS.test(str); -exports.isRegexChar = str => str.length === 1 && exports.hasRegexChars(str); -exports.escapeRegex = str => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, '\\$1'); -exports.toPosixSlashes = str => str.replace(REGEX_BACKSLASH, '/'); - -exports.removeBackslashes = str => { - return str.replace(REGEX_REMOVE_BACKSLASH, match => { - return match === '\\' ? '' : match; - }); -}; - -exports.supportsLookbehinds = () => { - const segs = process.version.slice(1).split('.').map(Number); - if (segs.length === 3 && segs[0] >= 9 || (segs[0] === 8 && segs[1] >= 10)) { - return true; - } - return false; -}; - -exports.escapeLast = (input, char, lastIdx) => { - const idx = input.lastIndexOf(char, lastIdx); - if (idx === -1) return input; - if (input[idx - 1] === '\\') return exports.escapeLast(input, char, idx - 1); - return `${input.slice(0, idx)}\\${input.slice(idx)}`; -}; - -exports.removePrefix = (input, state = {}) => { - let output = input; - if (output.startsWith('./')) { - output = output.slice(2); - state.prefix = './'; - } - return output; -}; - -exports.wrapOutput = (input, state = {}, options = {}) => { - const prepend = options.contains ? '' : '^'; - const append = options.contains ? '' : '$'; - - let output = `${prepend}(?:${input})${append}`; - if (state.negated === true) { - output = `(?:^(?!${output}).*$)`; - } - return output; -}; - -exports.basename = (path, { windows } = {}) => { - if (windows) { - return path.replace(/[\\/]$/, '').replace(/.*[\\/]/, ''); - } else { - return path.replace(/\/$/, '').replace(/.*\//, ''); - } -}; - - -/***/ }), - -/***/ 86032: -/***/ ((module) => { - -"use strict"; - - -var replace = String.prototype.replace; -var percentTwenties = /%20/g; - -var Format = { - RFC1738: 'RFC1738', - RFC3986: 'RFC3986' -}; - -module.exports = { - 'default': Format.RFC3986, - formatters: { - RFC1738: function (value) { - return replace.call(value, percentTwenties, '+'); - }, - RFC3986: function (value) { - return String(value); - } - }, - RFC1738: Format.RFC1738, - RFC3986: Format.RFC3986 -}; - - -/***/ }), - -/***/ 40240: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var stringify = __webpack_require__(71293); -var parse = __webpack_require__(79091); -var formats = __webpack_require__(86032); - -module.exports = { - formats: formats, - parse: parse, - stringify: stringify -}; - - -/***/ }), - -/***/ 79091: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var utils = __webpack_require__(25225); - -var has = Object.prototype.hasOwnProperty; -var isArray = Array.isArray; - -var defaults = { - allowDots: false, - allowEmptyArrays: false, - allowPrototypes: false, - allowSparse: false, - arrayLimit: 20, - charset: 'utf-8', - charsetSentinel: false, - comma: false, - decodeDotInKeys: false, - decoder: utils.decode, - delimiter: '&', - depth: 5, - duplicates: 'combine', - ignoreQueryPrefix: false, - interpretNumericEntities: false, - parameterLimit: 1000, - parseArrays: true, - plainObjects: false, - strictDepth: false, - strictNullHandling: false, - throwOnLimitExceeded: false -}; - -var interpretNumericEntities = function (str) { - return str.replace(/&#(\d+);/g, function ($0, numberStr) { - return String.fromCharCode(parseInt(numberStr, 10)); - }); -}; - -var parseArrayValue = function (val, options, currentArrayLength) { - if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) { - return val.split(','); - } - - if (options.throwOnLimitExceeded && currentArrayLength >= options.arrayLimit) { - throw new RangeError('Array limit exceeded. Only ' + options.arrayLimit + ' element' + (options.arrayLimit === 1 ? '' : 's') + ' allowed in an array.'); - } - - return val; -}; - -// This is what browsers will submit when the ✓ character occurs in an -// application/x-www-form-urlencoded body and the encoding of the page containing -// the form is iso-8859-1, or when the submitted form has an accept-charset -// attribute of iso-8859-1. Presumably also with other charsets that do not contain -// the ✓ character, such as us-ascii. -var isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('✓') - -// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded. -var charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓') - -var parseValues = function parseQueryStringValues(str, options) { - var obj = { __proto__: null }; - - var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, '') : str; - cleanStr = cleanStr.replace(/%5B/gi, '[').replace(/%5D/gi, ']'); - - var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit; - var parts = cleanStr.split( - options.delimiter, - options.throwOnLimitExceeded ? limit + 1 : limit - ); - - if (options.throwOnLimitExceeded && parts.length > limit) { - throw new RangeError('Parameter limit exceeded. Only ' + limit + ' parameter' + (limit === 1 ? '' : 's') + ' allowed.'); - } - - var skipIndex = -1; // Keep track of where the utf8 sentinel was found - var i; - - var charset = options.charset; - if (options.charsetSentinel) { - for (i = 0; i < parts.length; ++i) { - if (parts[i].indexOf('utf8=') === 0) { - if (parts[i] === charsetSentinel) { - charset = 'utf-8'; - } else if (parts[i] === isoSentinel) { - charset = 'iso-8859-1'; - } - skipIndex = i; - i = parts.length; // The eslint settings do not allow break; - } - } - } - - for (i = 0; i < parts.length; ++i) { - if (i === skipIndex) { - continue; - } - var part = parts[i]; - - var bracketEqualsPos = part.indexOf(']='); - var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1; - - var key; - var val; - if (pos === -1) { - key = options.decoder(part, defaults.decoder, charset, 'key'); - val = options.strictNullHandling ? null : ''; - } else { - key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key'); - - val = utils.maybeMap( - parseArrayValue( - part.slice(pos + 1), - options, - isArray(obj[key]) ? obj[key].length : 0 - ), - function (encodedVal) { - return options.decoder(encodedVal, defaults.decoder, charset, 'value'); - } - ); - } - - if (val && options.interpretNumericEntities && charset === 'iso-8859-1') { - val = interpretNumericEntities(String(val)); - } - - if (part.indexOf('[]=') > -1) { - val = isArray(val) ? [val] : val; - } - - var existing = has.call(obj, key); - if (existing && options.duplicates === 'combine') { - obj[key] = utils.combine(obj[key], val); - } else if (!existing || options.duplicates === 'last') { - obj[key] = val; - } - } - - return obj; -}; - -var parseObject = function (chain, val, options, valuesParsed) { - var currentArrayLength = 0; - if (chain.length > 0 && chain[chain.length - 1] === '[]') { - var parentKey = chain.slice(0, -1).join(''); - currentArrayLength = Array.isArray(val) && val[parentKey] ? val[parentKey].length : 0; - } - - var leaf = valuesParsed ? val : parseArrayValue(val, options, currentArrayLength); - - for (var i = chain.length - 1; i >= 0; --i) { - var obj; - var root = chain[i]; - - if (root === '[]' && options.parseArrays) { - obj = options.allowEmptyArrays && (leaf === '' || (options.strictNullHandling && leaf === null)) - ? [] - : utils.combine([], leaf); - } else { - obj = options.plainObjects ? { __proto__: null } : {}; - var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root; - var decodedRoot = options.decodeDotInKeys ? cleanRoot.replace(/%2E/g, '.') : cleanRoot; - var index = parseInt(decodedRoot, 10); - if (!options.parseArrays && decodedRoot === '') { - obj = { 0: leaf }; - } else if ( - !isNaN(index) - && root !== decodedRoot - && String(index) === decodedRoot - && index >= 0 - && (options.parseArrays && index <= options.arrayLimit) - ) { - obj = []; - obj[index] = leaf; - } else if (decodedRoot !== '__proto__') { - obj[decodedRoot] = leaf; - } - } - - leaf = obj; - } - - return leaf; -}; - -var parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) { - if (!givenKey) { - return; - } - - // Transform dot notation to bracket notation - var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, '[$1]') : givenKey; - - // The regex chunks - - var brackets = /(\[[^[\]]*])/; - var child = /(\[[^[\]]*])/g; - - // Get the parent - - var segment = options.depth > 0 && brackets.exec(key); - var parent = segment ? key.slice(0, segment.index) : key; - - // Stash the parent if it exists - - var keys = []; - if (parent) { - // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties - if (!options.plainObjects && has.call(Object.prototype, parent)) { - if (!options.allowPrototypes) { - return; - } - } - - keys.push(parent); - } - - // Loop through children appending to the array until we hit depth - - var i = 0; - while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) { - i += 1; - if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) { - if (!options.allowPrototypes) { - return; - } - } - keys.push(segment[1]); - } - - // If there's a remainder, check strictDepth option for throw, else just add whatever is left - - if (segment) { - if (options.strictDepth === true) { - throw new RangeError('Input depth exceeded depth option of ' + options.depth + ' and strictDepth is true'); - } - keys.push('[' + key.slice(segment.index) + ']'); - } - - return parseObject(keys, val, options, valuesParsed); -}; - -var normalizeParseOptions = function normalizeParseOptions(opts) { - if (!opts) { - return defaults; - } - - if (typeof opts.allowEmptyArrays !== 'undefined' && typeof opts.allowEmptyArrays !== 'boolean') { - throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided'); - } - - if (typeof opts.decodeDotInKeys !== 'undefined' && typeof opts.decodeDotInKeys !== 'boolean') { - throw new TypeError('`decodeDotInKeys` option can only be `true` or `false`, when provided'); - } - - if (opts.decoder !== null && typeof opts.decoder !== 'undefined' && typeof opts.decoder !== 'function') { - throw new TypeError('Decoder has to be a function.'); - } - - if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') { - throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined'); - } - - if (typeof opts.throwOnLimitExceeded !== 'undefined' && typeof opts.throwOnLimitExceeded !== 'boolean') { - throw new TypeError('`throwOnLimitExceeded` option must be a boolean'); - } - - var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset; - - var duplicates = typeof opts.duplicates === 'undefined' ? defaults.duplicates : opts.duplicates; - - if (duplicates !== 'combine' && duplicates !== 'first' && duplicates !== 'last') { - throw new TypeError('The duplicates option must be either combine, first, or last'); - } - - var allowDots = typeof opts.allowDots === 'undefined' ? opts.decodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots; - - return { - allowDots: allowDots, - allowEmptyArrays: typeof opts.allowEmptyArrays === 'boolean' ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays, - allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes, - allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse, - arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit, - charset: charset, - charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel, - comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma, - decodeDotInKeys: typeof opts.decodeDotInKeys === 'boolean' ? opts.decodeDotInKeys : defaults.decodeDotInKeys, - decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder, - delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter, - // eslint-disable-next-line no-implicit-coercion, no-extra-parens - depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth, - duplicates: duplicates, - ignoreQueryPrefix: opts.ignoreQueryPrefix === true, - interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities, - parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit, - parseArrays: opts.parseArrays !== false, - plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects, - strictDepth: typeof opts.strictDepth === 'boolean' ? !!opts.strictDepth : defaults.strictDepth, - strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling, - throwOnLimitExceeded: typeof opts.throwOnLimitExceeded === 'boolean' ? opts.throwOnLimitExceeded : false - }; -}; - -module.exports = function (str, opts) { - var options = normalizeParseOptions(opts); - - if (str === '' || str === null || typeof str === 'undefined') { - return options.plainObjects ? { __proto__: null } : {}; - } - - var tempObj = typeof str === 'string' ? parseValues(str, options) : str; - var obj = options.plainObjects ? { __proto__: null } : {}; - - // Iterate over the keys and setup the new object - - var keys = Object.keys(tempObj); - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string'); - obj = utils.merge(obj, newObj, options); - } - - if (options.allowSparse === true) { - return obj; - } - - return utils.compact(obj); -}; - - -/***/ }), - -/***/ 71293: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var getSideChannel = __webpack_require__(94753); -var utils = __webpack_require__(25225); -var formats = __webpack_require__(86032); -var has = Object.prototype.hasOwnProperty; - -var arrayPrefixGenerators = { - brackets: function brackets(prefix) { - return prefix + '[]'; - }, - comma: 'comma', - indices: function indices(prefix, key) { - return prefix + '[' + key + ']'; - }, - repeat: function repeat(prefix) { - return prefix; - } -}; - -var isArray = Array.isArray; -var push = Array.prototype.push; -var pushToArray = function (arr, valueOrArray) { - push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]); -}; - -var toISO = Date.prototype.toISOString; - -var defaultFormat = formats['default']; -var defaults = { - addQueryPrefix: false, - allowDots: false, - allowEmptyArrays: false, - arrayFormat: 'indices', - charset: 'utf-8', - charsetSentinel: false, - commaRoundTrip: false, - delimiter: '&', - encode: true, - encodeDotInKeys: false, - encoder: utils.encode, - encodeValuesOnly: false, - filter: void undefined, - format: defaultFormat, - formatter: formats.formatters[defaultFormat], - // deprecated - indices: false, - serializeDate: function serializeDate(date) { - return toISO.call(date); - }, - skipNulls: false, - strictNullHandling: false -}; - -var isNonNullishPrimitive = function isNonNullishPrimitive(v) { - return typeof v === 'string' - || typeof v === 'number' - || typeof v === 'boolean' - || typeof v === 'symbol' - || typeof v === 'bigint'; -}; - -var sentinel = {}; - -var stringify = function stringify( - object, - prefix, - generateArrayPrefix, - commaRoundTrip, - allowEmptyArrays, - strictNullHandling, - skipNulls, - encodeDotInKeys, - encoder, - filter, - sort, - allowDots, - serializeDate, - format, - formatter, - encodeValuesOnly, - charset, - sideChannel -) { - var obj = object; - - var tmpSc = sideChannel; - var step = 0; - var findFlag = false; - while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) { - // Where object last appeared in the ref tree - var pos = tmpSc.get(object); - step += 1; - if (typeof pos !== 'undefined') { - if (pos === step) { - throw new RangeError('Cyclic object value'); - } else { - findFlag = true; // Break while - } - } - if (typeof tmpSc.get(sentinel) === 'undefined') { - step = 0; - } - } - - if (typeof filter === 'function') { - obj = filter(prefix, obj); - } else if (obj instanceof Date) { - obj = serializeDate(obj); - } else if (generateArrayPrefix === 'comma' && isArray(obj)) { - obj = utils.maybeMap(obj, function (value) { - if (value instanceof Date) { - return serializeDate(value); - } - return value; - }); - } - - if (obj === null) { - if (strictNullHandling) { - return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix; - } - - obj = ''; - } - - if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) { - if (encoder) { - var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format); - return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))]; - } - return [formatter(prefix) + '=' + formatter(String(obj))]; - } - - var values = []; - - if (typeof obj === 'undefined') { - return values; - } - - var objKeys; - if (generateArrayPrefix === 'comma' && isArray(obj)) { - // we need to join elements in - if (encodeValuesOnly && encoder) { - obj = utils.maybeMap(obj, encoder); - } - objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }]; - } else if (isArray(filter)) { - objKeys = filter; - } else { - var keys = Object.keys(obj); - objKeys = sort ? keys.sort(sort) : keys; - } - - var encodedPrefix = encodeDotInKeys ? String(prefix).replace(/\./g, '%2E') : String(prefix); - - var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? encodedPrefix + '[]' : encodedPrefix; - - if (allowEmptyArrays && isArray(obj) && obj.length === 0) { - return adjustedPrefix + '[]'; - } - - for (var j = 0; j < objKeys.length; ++j) { - var key = objKeys[j]; - var value = typeof key === 'object' && key && typeof key.value !== 'undefined' - ? key.value - : obj[key]; - - if (skipNulls && value === null) { - continue; - } - - var encodedKey = allowDots && encodeDotInKeys ? String(key).replace(/\./g, '%2E') : String(key); - var keyPrefix = isArray(obj) - ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, encodedKey) : adjustedPrefix - : adjustedPrefix + (allowDots ? '.' + encodedKey : '[' + encodedKey + ']'); - - sideChannel.set(object, step); - var valueSideChannel = getSideChannel(); - valueSideChannel.set(sentinel, sideChannel); - pushToArray(values, stringify( - value, - keyPrefix, - generateArrayPrefix, - commaRoundTrip, - allowEmptyArrays, - strictNullHandling, - skipNulls, - encodeDotInKeys, - generateArrayPrefix === 'comma' && encodeValuesOnly && isArray(obj) ? null : encoder, - filter, - sort, - allowDots, - serializeDate, - format, - formatter, - encodeValuesOnly, - charset, - valueSideChannel - )); - } - - return values; -}; - -var normalizeStringifyOptions = function normalizeStringifyOptions(opts) { - if (!opts) { - return defaults; - } - - if (typeof opts.allowEmptyArrays !== 'undefined' && typeof opts.allowEmptyArrays !== 'boolean') { - throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided'); - } - - if (typeof opts.encodeDotInKeys !== 'undefined' && typeof opts.encodeDotInKeys !== 'boolean') { - throw new TypeError('`encodeDotInKeys` option can only be `true` or `false`, when provided'); - } - - if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') { - throw new TypeError('Encoder has to be a function.'); - } - - var charset = opts.charset || defaults.charset; - if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') { - throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined'); - } - - var format = formats['default']; - if (typeof opts.format !== 'undefined') { - if (!has.call(formats.formatters, opts.format)) { - throw new TypeError('Unknown format option provided.'); - } - format = opts.format; - } - var formatter = formats.formatters[format]; - - var filter = defaults.filter; - if (typeof opts.filter === 'function' || isArray(opts.filter)) { - filter = opts.filter; - } - - var arrayFormat; - if (opts.arrayFormat in arrayPrefixGenerators) { - arrayFormat = opts.arrayFormat; - } else if ('indices' in opts) { - arrayFormat = opts.indices ? 'indices' : 'repeat'; - } else { - arrayFormat = defaults.arrayFormat; - } - - if ('commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') { - throw new TypeError('`commaRoundTrip` must be a boolean, or absent'); - } - - var allowDots = typeof opts.allowDots === 'undefined' ? opts.encodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots; - - return { - addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix, - allowDots: allowDots, - allowEmptyArrays: typeof opts.allowEmptyArrays === 'boolean' ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays, - arrayFormat: arrayFormat, - charset: charset, - charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel, - commaRoundTrip: !!opts.commaRoundTrip, - delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter, - encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode, - encodeDotInKeys: typeof opts.encodeDotInKeys === 'boolean' ? opts.encodeDotInKeys : defaults.encodeDotInKeys, - encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder, - encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly, - filter: filter, - format: format, - formatter: formatter, - serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate, - skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls, - sort: typeof opts.sort === 'function' ? opts.sort : null, - strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling - }; -}; - -module.exports = function (object, opts) { - var obj = object; - var options = normalizeStringifyOptions(opts); - - var objKeys; - var filter; - - if (typeof options.filter === 'function') { - filter = options.filter; - obj = filter('', obj); - } else if (isArray(options.filter)) { - filter = options.filter; - objKeys = filter; - } - - var keys = []; - - if (typeof obj !== 'object' || obj === null) { - return ''; - } - - var generateArrayPrefix = arrayPrefixGenerators[options.arrayFormat]; - var commaRoundTrip = generateArrayPrefix === 'comma' && options.commaRoundTrip; - - if (!objKeys) { - objKeys = Object.keys(obj); - } - - if (options.sort) { - objKeys.sort(options.sort); - } - - var sideChannel = getSideChannel(); - for (var i = 0; i < objKeys.length; ++i) { - var key = objKeys[i]; - var value = obj[key]; - - if (options.skipNulls && value === null) { - continue; - } - pushToArray(keys, stringify( - value, - key, - generateArrayPrefix, - commaRoundTrip, - options.allowEmptyArrays, - options.strictNullHandling, - options.skipNulls, - options.encodeDotInKeys, - options.encode ? options.encoder : null, - options.filter, - options.sort, - options.allowDots, - options.serializeDate, - options.format, - options.formatter, - options.encodeValuesOnly, - options.charset, - sideChannel - )); - } - - var joined = keys.join(options.delimiter); - var prefix = options.addQueryPrefix === true ? '?' : ''; - - if (options.charsetSentinel) { - if (options.charset === 'iso-8859-1') { - // encodeURIComponent('✓'), the "numeric entity" representation of a checkmark - prefix += 'utf8=%26%2310003%3B&'; - } else { - // encodeURIComponent('✓') - prefix += 'utf8=%E2%9C%93&'; - } - } - - return joined.length > 0 ? prefix + joined : ''; -}; - - -/***/ }), - -/***/ 25225: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var formats = __webpack_require__(86032); - -var has = Object.prototype.hasOwnProperty; -var isArray = Array.isArray; - -var hexTable = (function () { - var array = []; - for (var i = 0; i < 256; ++i) { - array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase()); - } - - return array; -}()); - -var compactQueue = function compactQueue(queue) { - while (queue.length > 1) { - var item = queue.pop(); - var obj = item.obj[item.prop]; - - if (isArray(obj)) { - var compacted = []; - - for (var j = 0; j < obj.length; ++j) { - if (typeof obj[j] !== 'undefined') { - compacted.push(obj[j]); - } - } - - item.obj[item.prop] = compacted; - } - } -}; - -var arrayToObject = function arrayToObject(source, options) { - var obj = options && options.plainObjects ? { __proto__: null } : {}; - for (var i = 0; i < source.length; ++i) { - if (typeof source[i] !== 'undefined') { - obj[i] = source[i]; - } - } - - return obj; -}; - -var merge = function merge(target, source, options) { - /* eslint no-param-reassign: 0 */ - if (!source) { - return target; - } - - if (typeof source !== 'object' && typeof source !== 'function') { - if (isArray(target)) { - target.push(source); - } else if (target && typeof target === 'object') { - if ( - (options && (options.plainObjects || options.allowPrototypes)) - || !has.call(Object.prototype, source) - ) { - target[source] = true; - } - } else { - return [target, source]; - } - - return target; - } - - if (!target || typeof target !== 'object') { - return [target].concat(source); - } - - var mergeTarget = target; - if (isArray(target) && !isArray(source)) { - mergeTarget = arrayToObject(target, options); - } - - if (isArray(target) && isArray(source)) { - source.forEach(function (item, i) { - if (has.call(target, i)) { - var targetItem = target[i]; - if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') { - target[i] = merge(targetItem, item, options); - } else { - target.push(item); - } - } else { - target[i] = item; - } - }); - return target; - } - - return Object.keys(source).reduce(function (acc, key) { - var value = source[key]; - - if (has.call(acc, key)) { - acc[key] = merge(acc[key], value, options); - } else { - acc[key] = value; - } - return acc; - }, mergeTarget); -}; - -var assign = function assignSingleSource(target, source) { - return Object.keys(source).reduce(function (acc, key) { - acc[key] = source[key]; - return acc; - }, target); -}; - -var decode = function (str, defaultDecoder, charset) { - var strWithoutPlus = str.replace(/\+/g, ' '); - if (charset === 'iso-8859-1') { - // unescape never throws, no try...catch needed: - return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape); - } - // utf-8 - try { - return decodeURIComponent(strWithoutPlus); - } catch (e) { - return strWithoutPlus; - } -}; - -var limit = 1024; - -/* eslint operator-linebreak: [2, "before"] */ - -var encode = function encode(str, defaultEncoder, charset, kind, format) { - // This code was originally written by Brian White (mscdex) for the io.js core querystring library. - // It has been adapted here for stricter adherence to RFC 3986 - if (str.length === 0) { - return str; - } - - var string = str; - if (typeof str === 'symbol') { - string = Symbol.prototype.toString.call(str); - } else if (typeof str !== 'string') { - string = String(str); - } - - if (charset === 'iso-8859-1') { - return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) { - return '%26%23' + parseInt($0.slice(2), 16) + '%3B'; - }); - } - - var out = ''; - for (var j = 0; j < string.length; j += limit) { - var segment = string.length >= limit ? string.slice(j, j + limit) : string; - var arr = []; - - for (var i = 0; i < segment.length; ++i) { - var c = segment.charCodeAt(i); - if ( - c === 0x2D // - - || c === 0x2E // . - || c === 0x5F // _ - || c === 0x7E // ~ - || (c >= 0x30 && c <= 0x39) // 0-9 - || (c >= 0x41 && c <= 0x5A) // a-z - || (c >= 0x61 && c <= 0x7A) // A-Z - || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( ) - ) { - arr[arr.length] = segment.charAt(i); - continue; - } - - if (c < 0x80) { - arr[arr.length] = hexTable[c]; - continue; - } - - if (c < 0x800) { - arr[arr.length] = hexTable[0xC0 | (c >> 6)] - + hexTable[0x80 | (c & 0x3F)]; - continue; - } - - if (c < 0xD800 || c >= 0xE000) { - arr[arr.length] = hexTable[0xE0 | (c >> 12)] - + hexTable[0x80 | ((c >> 6) & 0x3F)] - + hexTable[0x80 | (c & 0x3F)]; - continue; - } - - i += 1; - c = 0x10000 + (((c & 0x3FF) << 10) | (segment.charCodeAt(i) & 0x3FF)); - - arr[arr.length] = hexTable[0xF0 | (c >> 18)] - + hexTable[0x80 | ((c >> 12) & 0x3F)] - + hexTable[0x80 | ((c >> 6) & 0x3F)] - + hexTable[0x80 | (c & 0x3F)]; - } - - out += arr.join(''); - } - - return out; -}; - -var compact = function compact(value) { - var queue = [{ obj: { o: value }, prop: 'o' }]; - var refs = []; - - for (var i = 0; i < queue.length; ++i) { - var item = queue[i]; - var obj = item.obj[item.prop]; - - var keys = Object.keys(obj); - for (var j = 0; j < keys.length; ++j) { - var key = keys[j]; - var val = obj[key]; - if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) { - queue.push({ obj: obj, prop: key }); - refs.push(val); - } - } - } - - compactQueue(queue); - - return value; -}; - -var isRegExp = function isRegExp(obj) { - return Object.prototype.toString.call(obj) === '[object RegExp]'; -}; - -var isBuffer = function isBuffer(obj) { - if (!obj || typeof obj !== 'object') { - return false; - } - - return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj)); -}; - -var combine = function combine(a, b) { - return [].concat(a, b); -}; - -var maybeMap = function maybeMap(val, fn) { - if (isArray(val)) { - var mapped = []; - for (var i = 0; i < val.length; i += 1) { - mapped.push(fn(val[i])); - } - return mapped; - } - return fn(val); -}; - -module.exports = { - arrayToObject: arrayToObject, - assign: assign, - combine: combine, - compact: compact, - decode: decode, - encode: encode, - isBuffer: isBuffer, - isRegExp: isRegExp, - maybeMap: maybeMap, - merge: merge -}; - - -/***/ }), - -/***/ 8649: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -const RateLimiterRedis = __webpack_require__(54336); -const RateLimiterMongo = __webpack_require__(28439); -const RateLimiterMySQL = __webpack_require__(67793); -const RateLimiterPostgres = __webpack_require__(3740); -const { RateLimiterClusterMaster, RateLimiterClusterMasterPM2, RateLimiterCluster } = __webpack_require__(10565); -const RateLimiterMemory = __webpack_require__(24544); -const RateLimiterMemcache = __webpack_require__(73250); -const RLWrapperBlackAndWhite = __webpack_require__(87383); -const RLWrapperTimeouts = __webpack_require__(24016); -const RateLimiterUnion = __webpack_require__(10244); -const RateLimiterQueue = __webpack_require__(52860); -const BurstyRateLimiter = __webpack_require__(85860); -const RateLimiterRes = __webpack_require__(80449); -const RateLimiterDynamo = __webpack_require__(82309); -const RateLimiterPrisma = __webpack_require__(16323); -const RateLimiterDrizzle = __webpack_require__(50673); -const RateLimiterDrizzleNonAtomic = __webpack_require__(75347); -const RateLimiterValkey = __webpack_require__(32193); -const RateLimiterValkeyGlide = __webpack_require__(53756); -const RateLimiterSQLite = __webpack_require__(73283); -const RateLimiterEtcd = __webpack_require__(36481); -const RateLimiterEtcdNonAtomic = __webpack_require__(15299); -const RateLimiterQueueError = __webpack_require__(27948); -const RateLimiterEtcdTransactionFailedError = __webpack_require__(43184); - -module.exports = { - RateLimiterRedis, - RateLimiterMongo, - RateLimiterMySQL, - RateLimiterPostgres, - RateLimiterMemory, - RateLimiterMemcache, - RateLimiterClusterMaster, - RateLimiterClusterMasterPM2, - RateLimiterCluster, - RLWrapperBlackAndWhite, - RLWrapperTimeouts, - RateLimiterUnion, - RateLimiterQueue, - BurstyRateLimiter, - RateLimiterRes, - RateLimiterDynamo, - RateLimiterPrisma, - RateLimiterValkey, - RateLimiterValkeyGlide, - RateLimiterSQLite, - RateLimiterEtcd, - RateLimiterDrizzle, - RateLimiterDrizzleNonAtomic, - RateLimiterEtcdNonAtomic, - RateLimiterQueueError, - RateLimiterEtcdTransactionFailedError, -}; - - -/***/ }), - -/***/ 85860: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -const RateLimiterRes = __webpack_require__(80449); - -/** - * Bursty rate limiter exposes only msBeforeNext time and doesn't expose points from bursty limiter by default - * @type {BurstyRateLimiter} - */ -module.exports = class BurstyRateLimiter { - constructor(rateLimiter, burstLimiter) { - this._rateLimiter = rateLimiter; - this._burstLimiter = burstLimiter - } - - /** - * Merge rate limiter response objects. Responses can be null - * - * @param {RateLimiterRes} [rlRes] Rate limiter response - * @param {RateLimiterRes} [blRes] Bursty limiter response - */ - _combineRes(rlRes, blRes) { - if (!rlRes) { - return null - } - - return new RateLimiterRes( - rlRes.remainingPoints, - Math.min(rlRes.msBeforeNext, blRes ? blRes.msBeforeNext : 0), - rlRes.consumedPoints, - rlRes.isFirstInDuration - ) - } - - /** - * @param key - * @param pointsToConsume - * @param options - * @returns {Promise} - */ - consume(key, pointsToConsume = 1, options = {}) { - return this._rateLimiter.consume(key, pointsToConsume, options) - .catch((rlRej) => { - if (rlRej instanceof RateLimiterRes) { - return this._burstLimiter.consume(key, pointsToConsume, options) - .then((blRes) => { - return Promise.resolve(this._combineRes(rlRej, blRes)) - }) - .catch((blRej) => { - if (blRej instanceof RateLimiterRes) { - return Promise.reject(this._combineRes(rlRej, blRej)) - } else { - return Promise.reject(blRej) - } - } - ) - } else { - return Promise.reject(rlRej) - } - }) - } - - /** - * It doesn't expose available points from burstLimiter - * - * @param key - * @returns {Promise} - */ - get(key) { - return Promise.all([ - this._rateLimiter.get(key), - this._burstLimiter.get(key), - ]).then(([rlRes, blRes]) => { - return this._combineRes(rlRes, blRes); - }); - } - - get points() { - return this._rateLimiter.points; - } -}; - - -/***/ }), - -/***/ 87383: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -const RateLimiterRes = __webpack_require__(80449); - -module.exports = class RLWrapperBlackAndWhite { - constructor(opts = {}) { - this.limiter = opts.limiter; - this.blackList = opts.blackList; - this.whiteList = opts.whiteList; - this.isBlackListed = opts.isBlackListed; - this.isWhiteListed = opts.isWhiteListed; - this.runActionAnyway = opts.runActionAnyway; - } - - get limiter() { - return this._limiter; - } - - set limiter(value) { - if (typeof value === 'undefined') { - throw new Error('limiter is not set'); - } - - this._limiter = value; - } - - get runActionAnyway() { - return this._runActionAnyway; - } - - set runActionAnyway(value) { - this._runActionAnyway = typeof value === 'undefined' ? false : value; - } - - get blackList() { - return this._blackList; - } - - set blackList(value) { - this._blackList = Array.isArray(value) ? value : []; - } - - get isBlackListed() { - return this._isBlackListed; - } - - set isBlackListed(func) { - if (typeof func === 'undefined') { - func = () => false; - } - if (typeof func !== 'function') { - throw new Error('isBlackListed must be function'); - } - this._isBlackListed = func; - } - - get whiteList() { - return this._whiteList; - } - - set whiteList(value) { - this._whiteList = Array.isArray(value) ? value : []; - } - - get isWhiteListed() { - return this._isWhiteListed; - } - - set isWhiteListed(func) { - if (typeof func === 'undefined') { - func = () => false; - } - if (typeof func !== 'function') { - throw new Error('isWhiteListed must be function'); - } - this._isWhiteListed = func; - } - - isBlackListedSomewhere(key) { - return this.blackList.indexOf(key) >= 0 || this.isBlackListed(key); - } - - isWhiteListedSomewhere(key) { - return this.whiteList.indexOf(key) >= 0 || this.isWhiteListed(key); - } - - getBlackRes() { - return new RateLimiterRes(0, Number.MAX_SAFE_INTEGER, 0, false); - } - - getWhiteRes() { - return new RateLimiterRes(Number.MAX_SAFE_INTEGER, 0, 0, false); - } - - rejectBlack() { - return Promise.reject(this.getBlackRes()); - } - - resolveBlack() { - return Promise.resolve(this.getBlackRes()); - } - - resolveWhite() { - return Promise.resolve(this.getWhiteRes()); - } - - consume(key, pointsToConsume = 1) { - let res; - if (this.isWhiteListedSomewhere(key)) { - res = this.resolveWhite(); - } else if (this.isBlackListedSomewhere(key)) { - res = this.rejectBlack(); - } - - if (typeof res === 'undefined') { - return this.limiter.consume(key, pointsToConsume); - } - - if (this.runActionAnyway) { - this.limiter.consume(key, pointsToConsume).catch(() => {}); - } - return res; - } - - block(key, secDuration) { - let res; - if (this.isWhiteListedSomewhere(key)) { - res = this.resolveWhite(); - } else if (this.isBlackListedSomewhere(key)) { - res = this.resolveBlack(); - } - - if (typeof res === 'undefined') { - return this.limiter.block(key, secDuration); - } - - if (this.runActionAnyway) { - this.limiter.block(key, secDuration).catch(() => {}); - } - return res; - } - - penalty(key, points) { - let res; - if (this.isWhiteListedSomewhere(key)) { - res = this.resolveWhite(); - } else if (this.isBlackListedSomewhere(key)) { - res = this.resolveBlack(); - } - - if (typeof res === 'undefined') { - return this.limiter.penalty(key, points); - } - - if (this.runActionAnyway) { - this.limiter.penalty(key, points).catch(() => {}); - } - return res; - } - - reward(key, points) { - let res; - if (this.isWhiteListedSomewhere(key)) { - res = this.resolveWhite(); - } else if (this.isBlackListedSomewhere(key)) { - res = this.resolveBlack(); - } - - if (typeof res === 'undefined') { - return this.limiter.reward(key, points); - } - - if (this.runActionAnyway) { - this.limiter.reward(key, points).catch(() => {}); - } - return res; - } - - get(key) { - let res; - if (this.isWhiteListedSomewhere(key)) { - res = this.resolveWhite(); - } else if (this.isBlackListedSomewhere(key)) { - res = this.resolveBlack(); - } - - if (typeof res === 'undefined' || this.runActionAnyway) { - return this.limiter.get(key); - } - - return res; - } - - delete(key) { - return this.limiter.delete(key); - } -}; - - -/***/ }), - -/***/ 24016: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -const RateLimiterAbstract = __webpack_require__(88569); -const RateLimiterInsuredAbstract = __webpack_require__(33847); - -module.exports = class RLWrapperTimeouts extends RateLimiterInsuredAbstract { - constructor(opts= {}) { - super(opts); - this.limiter = opts.limiter; - this.timeoutMs = opts.timeoutMs || 0; - } - - get limiter() { - return this._limiter; - } - - set limiter(limiter) { - if (!(limiter instanceof RateLimiterAbstract)) { - throw new TypeError('limiter must be an instance of RateLimiterAbstract'); - } - this._limiter = limiter; - if (!this.insuranceLimiter && limiter instanceof RateLimiterInsuredAbstract) { - this.insuranceLimiter = limiter.insuranceLimiter; - } - } - - get timeoutMs() { - return this._timeoutMs; - } - - set timeoutMs(value) { - if (typeof value !== 'number' || value < 0) { - throw new TypeError('timeoutMs must be a non-negative number'); - } - this._timeoutMs = value; - } - - _run(funcName, params) { - return new Promise(async (resolve, reject) => { - const timeout = setTimeout(() => { - return reject(new Error('Operation timed out')); - }, this.timeoutMs); - - await this.limiter[funcName](...params) - .then((result) => { - clearTimeout(timeout); - resolve(result); - }) - .catch((err) => { - clearTimeout(timeout); - reject(err); - }); - }); - } - - _consume(key, pointsToConsume = 1, options = {}) { - return this._run('consume', [key, pointsToConsume, options]); - } - - _penalty(key, points = 1, options = {}) { - return this._run('penalty', [key, points, options]); - } - - _reward(key, points = 1, options = {}) { - return this._run('reward', [key, points, options]); - } - - _get(key, options = {}) { - return this._run('get', [key, options]); - } - - _set(key, points, secDuration, options = {}) { - return this._run('set', [key, points, secDuration, options]); - } - - _block(key, secDuration, options = {}) { - return this._run('block', [key, secDuration, options]); - } - - _delete(key, options = {}) { - return this._run('delete', [key, options]); - } - -} - - -/***/ }), - -/***/ 88569: -/***/ ((module) => { - -module.exports = class RateLimiterAbstract { - /** - * - * @param opts Object Defaults { - * points: 4, // Number of points - * duration: 1, // Per seconds - * blockDuration: 0, // Block if consumed more than points in current duration for blockDuration seconds - * execEvenly: false, // Execute allowed actions evenly over duration - * execEvenlyMinDelayMs: duration * 1000 / points, // ms, works with execEvenly=true option - * keyPrefix: 'rlflx', - * } - */ - constructor(opts = {}) { - this.points = opts.points; - this.duration = opts.duration; - this.blockDuration = opts.blockDuration; - this.execEvenly = opts.execEvenly; - this.execEvenlyMinDelayMs = opts.execEvenlyMinDelayMs; - this.keyPrefix = opts.keyPrefix; - } - - get points() { - return this._points; - } - - set points(value) { - this._points = value >= 0 ? value : 4; - } - - get duration() { - return this._duration; - } - - set duration(value) { - this._duration = typeof value === 'undefined' ? 1 : value; - } - - get msDuration() { - return this.duration * 1000; - } - - get blockDuration() { - return this._blockDuration; - } - - set blockDuration(value) { - this._blockDuration = typeof value === 'undefined' ? 0 : value; - } - - get msBlockDuration() { - return this.blockDuration * 1000; - } - - get execEvenly() { - return this._execEvenly; - } - - set execEvenly(value) { - this._execEvenly = typeof value === 'undefined' ? false : Boolean(value); - } - - get execEvenlyMinDelayMs() { - return this._execEvenlyMinDelayMs; - } - - set execEvenlyMinDelayMs(value) { - this._execEvenlyMinDelayMs = typeof value === 'undefined' ? Math.ceil(this.msDuration / this.points) : value; - } - - get keyPrefix() { - return this._keyPrefix; - } - - set keyPrefix(value) { - if (typeof value === 'undefined') { - value = 'rlflx'; - } - if (typeof value !== 'string') { - throw new Error('keyPrefix must be string'); - } - this._keyPrefix = value; - } - - _getKeySecDuration(options = {}) { - return options && options.customDuration >= 0 - ? options.customDuration - : this.duration; - } - - getKey(key) { - return this.keyPrefix.length > 0 ? `${this.keyPrefix}:${key}` : key; - } - - parseKey(rlKey) { - return rlKey.substring(this.keyPrefix.length); - } - - consume() { - throw new Error("You have to implement the method 'consume'!"); - } - - penalty() { - throw new Error("You have to implement the method 'penalty'!"); - } - - reward() { - throw new Error("You have to implement the method 'reward'!"); - } - - get() { - throw new Error("You have to implement the method 'get'!"); - } - - set() { - throw new Error("You have to implement the method 'set'!"); - } - - block() { - throw new Error("You have to implement the method 'block'!"); - } - - delete() { - throw new Error("You have to implement the method 'delete'!"); - } -}; - - -/***/ }), - -/***/ 10565: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -/** - * Implements rate limiting in cluster using built-in IPC - * - * Two classes are described here: master and worker - * Master have to be create in the master process without any options. - * Any number of rate limiters can be created in workers, but each rate limiter must be with unique keyPrefix - * - * Workflow: - * 1. master rate limiter created in master process - * 2. worker rate limiter sends 'init' message with necessary options during creating - * 3. master receives options and adds new rate limiter by keyPrefix if it isn't created yet - * 4. master sends 'init' back to worker's rate limiter - * 5. worker can process requests immediately, - * but they will be postponed by 'workerWaitInit' until master sends 'init' to worker - * 6. every request to worker rate limiter creates a promise - * 7. if master doesn't response for 'timeout', promise is rejected - * 8. master sends 'resolve' or 'reject' command to worker - * 9. worker resolves or rejects promise depending on message from master - * - */ - -const cluster = __webpack_require__(29907); -const crypto = __webpack_require__(76982); -const RateLimiterAbstract = __webpack_require__(88569); -const RateLimiterMemory = __webpack_require__(24544); -const RateLimiterRes = __webpack_require__(80449); - -const channel = 'rate_limiter_flexible'; -let masterInstance = null; - -const masterSendToWorker = function (worker, msg, type, res) { - let data; - if (res === null || res === true || res === false) { - data = res; - } else { - data = { - remainingPoints: res.remainingPoints, - msBeforeNext: res.msBeforeNext, - consumedPoints: res.consumedPoints, - isFirstInDuration: res.isFirstInDuration, - }; - } - worker.send({ - channel, - keyPrefix: msg.keyPrefix, // which rate limiter exactly - promiseId: msg.promiseId, - type, - data, - }); -}; - -const workerWaitInit = function (payload) { - setTimeout(() => { - if (this._initiated) { - process.send(payload); - // Promise will be removed by timeout if too long - } else if (typeof this._promises[payload.promiseId] !== 'undefined') { - workerWaitInit.call(this, payload); - } - }, 30); -}; - -const workerSendToMaster = function (func, promiseId, key, arg, opts) { - const payload = { - channel, - keyPrefix: this.keyPrefix, - func, - promiseId, - data: { - key, - arg, - opts, - }, - }; - - if (!this._initiated) { - // Wait init before sending messages to master - workerWaitInit.call(this, payload); - } else { - process.send(payload); - } -}; - -const masterProcessMsg = function (worker, msg) { - if (!msg || msg.channel !== channel || typeof this._rateLimiters[msg.keyPrefix] === 'undefined') { - return false; - } - - let promise; - - switch (msg.func) { - case 'consume': - promise = this._rateLimiters[msg.keyPrefix].consume(msg.data.key, msg.data.arg, msg.data.opts); - break; - case 'penalty': - promise = this._rateLimiters[msg.keyPrefix].penalty(msg.data.key, msg.data.arg, msg.data.opts); - break; - case 'reward': - promise = this._rateLimiters[msg.keyPrefix].reward(msg.data.key, msg.data.arg, msg.data.opts); - break; - case 'block': - promise = this._rateLimiters[msg.keyPrefix].block(msg.data.key, msg.data.arg, msg.data.opts); - break; - case 'get': - promise = this._rateLimiters[msg.keyPrefix].get(msg.data.key, msg.data.opts); - break; - case 'delete': - promise = this._rateLimiters[msg.keyPrefix].delete(msg.data.key, msg.data.opts); - break; - default: - return false; - } - - if (promise) { - promise - .then((res) => { - masterSendToWorker(worker, msg, 'resolve', res); - }) - .catch((rejRes) => { - masterSendToWorker(worker, msg, 'reject', rejRes); - }); - } -}; - -const workerProcessMsg = function (msg) { - if (!msg || msg.channel !== channel || msg.keyPrefix !== this.keyPrefix) { - return false; - } - - if (this._promises[msg.promiseId]) { - clearTimeout(this._promises[msg.promiseId].timeoutId); - let res; - if (msg.data === null || msg.data === true || msg.data === false) { - res = msg.data; - } else { - res = new RateLimiterRes( - msg.data.remainingPoints, - msg.data.msBeforeNext, - msg.data.consumedPoints, - msg.data.isFirstInDuration // eslint-disable-line comma-dangle - ); - } - - switch (msg.type) { - case 'resolve': - this._promises[msg.promiseId].resolve(res); - break; - case 'reject': - this._promises[msg.promiseId].reject(res); - break; - default: - throw new Error(`RateLimiterCluster: no such message type '${msg.type}'`); - } - - delete this._promises[msg.promiseId]; - } -}; -/** - * Prepare options to send to master - * Master will create rate limiter depending on options - * - * @returns {{points: *, duration: *, blockDuration: *, execEvenly: *, execEvenlyMinDelayMs: *, keyPrefix: *}} - */ -const getOpts = function () { - return { - points: this.points, - duration: this.duration, - blockDuration: this.blockDuration, - execEvenly: this.execEvenly, - execEvenlyMinDelayMs: this.execEvenlyMinDelayMs, - keyPrefix: this.keyPrefix, - }; -}; - -const savePromise = function (resolve, reject) { - const hrtime = process.hrtime(); - let promiseId = hrtime[0].toString() + hrtime[1].toString(); - - if (typeof this._promises[promiseId] !== 'undefined') { - promiseId += crypto.randomBytes(12).toString('base64'); - } - - this._promises[promiseId] = { - resolve, - reject, - timeoutId: setTimeout(() => { - delete this._promises[promiseId]; - reject(new Error('RateLimiterCluster timeout: no answer from master in time')); - }, this.timeoutMs), - }; - - return promiseId; -}; - -class RateLimiterClusterMaster { - constructor() { - if (masterInstance) { - return masterInstance; - } - - this._rateLimiters = {}; - - cluster.setMaxListeners(0); - - cluster.on('message', (worker, msg) => { - if (msg && msg.channel === channel && msg.type === 'init') { - // If init request, check or create rate limiter by key prefix and send 'init' back to worker - if (typeof this._rateLimiters[msg.opts.keyPrefix] === 'undefined') { - this._rateLimiters[msg.opts.keyPrefix] = new RateLimiterMemory(msg.opts); - } - - worker.send({ - channel, - type: 'init', - keyPrefix: msg.opts.keyPrefix, - }); - } else { - masterProcessMsg.call(this, worker, msg); - } - }); - - masterInstance = this; - } -} - -class RateLimiterClusterMasterPM2 { - constructor(pm2) { - if (masterInstance) { - return masterInstance; - } - - this._rateLimiters = {}; - - pm2.launchBus((err, pm2Bus) => { - pm2Bus.on('process:msg', (packet) => { - const msg = packet.raw; - if (msg && msg.channel === channel && msg.type === 'init') { - // If init request, check or create rate limiter by key prefix and send 'init' back to worker - if (typeof this._rateLimiters[msg.opts.keyPrefix] === 'undefined') { - this._rateLimiters[msg.opts.keyPrefix] = new RateLimiterMemory(msg.opts); - } - - pm2.sendDataToProcessId(packet.process.pm_id, { - data: {}, - topic: channel, - channel, - type: 'init', - keyPrefix: msg.opts.keyPrefix, - }, (sendErr, res) => { - if (sendErr) { - console.log(sendErr, res); - } - }); - } else { - const worker = { - send: (msgData) => { - const pm2Message = msgData; - pm2Message.topic = channel; - if (typeof pm2Message.data === 'undefined') { - pm2Message.data = {}; - } - pm2.sendDataToProcessId(packet.process.pm_id, pm2Message, (sendErr, res) => { - if (sendErr) { - console.log(sendErr, res); - } - }); - }, - }; - masterProcessMsg.call(this, worker, msg); - } - }); - }); - - masterInstance = this; - } -} - -class RateLimiterClusterWorker extends RateLimiterAbstract { - get timeoutMs() { - return this._timeoutMs; - } - - set timeoutMs(value) { - this._timeoutMs = typeof value === 'undefined' ? 5000 : Math.abs(parseInt(value)); - } - - constructor(opts = {}) { - super(opts); - - process.setMaxListeners(0); - - this.timeoutMs = opts.timeoutMs; - - this._initiated = false; - - process.on('message', (msg) => { - if (msg && msg.channel === channel && msg.type === 'init' && msg.keyPrefix === this.keyPrefix) { - this._initiated = true; - } else { - workerProcessMsg.call(this, msg); - } - }); - - // Create limiter on master with specific options - process.send({ - channel, - type: 'init', - opts: getOpts.call(this), - }); - - this._promises = {}; - } - - consume(key, pointsToConsume = 1, options = {}) { - return new Promise((resolve, reject) => { - const promiseId = savePromise.call(this, resolve, reject); - - workerSendToMaster.call(this, 'consume', promiseId, key, pointsToConsume, options); - }); - } - - penalty(key, points = 1, options = {}) { - return new Promise((resolve, reject) => { - const promiseId = savePromise.call(this, resolve, reject); - - workerSendToMaster.call(this, 'penalty', promiseId, key, points, options); - }); - } - - reward(key, points = 1, options = {}) { - return new Promise((resolve, reject) => { - const promiseId = savePromise.call(this, resolve, reject); - - workerSendToMaster.call(this, 'reward', promiseId, key, points, options); - }); - } - - block(key, secDuration, options = {}) { - return new Promise((resolve, reject) => { - const promiseId = savePromise.call(this, resolve, reject); - - workerSendToMaster.call(this, 'block', promiseId, key, secDuration, options); - }); - } - - get(key, options = {}) { - return new Promise((resolve, reject) => { - const promiseId = savePromise.call(this, resolve, reject); - - workerSendToMaster.call(this, 'get', promiseId, key, options); - }); - } - - delete(key, options = {}) { - return new Promise((resolve, reject) => { - const promiseId = savePromise.call(this, resolve, reject); - - workerSendToMaster.call(this, 'delete', promiseId, key, options); - }); - } -} - -module.exports = { - RateLimiterClusterMaster, - RateLimiterClusterMasterPM2, - RateLimiterCluster: RateLimiterClusterWorker, -}; - - -/***/ }), - -/***/ 50673: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -let drizzleOperators = null; -const CLEANUP_INTERVAL_MS = 300000; // 5 minutes -const EXPIRED_THRESHOLD_MS = 3600000; // 1 hour - -class RateLimiterDrizzleError extends Error { - constructor(message) { - super(message); - this.name = 'RateLimiterDrizzleError'; - } -} - -async function getDrizzleOperators() { - if (drizzleOperators) return drizzleOperators; - - try { - // Use dynamic import to prevent static analysis tools from detecting the import - function getPackageName() { - return ['drizzle', 'orm'].join('-'); - } - const drizzleOrm = await __webpack_require__(65407)(`${getPackageName()}`); - const { and, or, gt, lt, eq, isNull, sql } = drizzleOrm.default || drizzleOrm; - drizzleOperators = { and, or, gt, lt, eq, isNull, sql }; - return drizzleOperators; - } catch (error) { - throw new RateLimiterDrizzleError( - 'drizzle-orm is not installed. Please install drizzle-orm to use RateLimiterDrizzle.' - ); - } -} - -const RateLimiterStoreAbstract = __webpack_require__(65140); -const RateLimiterRes = __webpack_require__(80449); - -class RateLimiterDrizzle extends RateLimiterStoreAbstract { - constructor(opts) { - super(opts); - - if (!opts?.schema) { - throw new RateLimiterDrizzleError('Drizzle schema is required'); - } - - if (!opts?.storeClient) { - throw new RateLimiterDrizzleError('Drizzle client is required'); - } - - this.schema = opts.schema; - this.drizzleClient = opts.storeClient; - this.clearExpiredByTimeout = opts.clearExpiredByTimeout ?? true; - - if (this.clearExpiredByTimeout) { - this._clearExpiredHourAgo(); - } - } - - _getRateLimiterRes(rlKey, changedPoints, result) { - const res = new RateLimiterRes(); - - let doc = result; - res.isFirstInDuration = doc.points === changedPoints; - res.consumedPoints = doc.points; - res.remainingPoints = Math.max(this.points - res.consumedPoints, 0); - res.msBeforeNext = doc.expire !== null - ? Math.max(new Date(doc.expire).getTime() - Date.now(), 0) - : -1; - - return res; - } - - async _upsert(key, points, msDuration, forceExpire = false) { - if (!this.drizzleClient) { - return Promise.reject(new RateLimiterDrizzleError('Drizzle client is not established')) - } - - const { eq, sql } = await getDrizzleOperators(); - const now = new Date(); - const newExpire = msDuration > 0 ? new Date(now.getTime() + msDuration) : null; - - const query = await this.drizzleClient.transaction(async (tx) => { - const [existingRecord] = await tx - .select() - .from(this.schema) - .where(eq(this.schema.key, key)) - .limit(1); - - const shouldUpdateExpire = - forceExpire || - !existingRecord?.expire || - existingRecord?.expire <= now || - newExpire === null; - - const [data] = await tx - .insert(this.schema) - .values({ - key, - points, - expire: newExpire, - }) - .onConflictDoUpdate({ - target: this.schema.key, - set: { - points: !shouldUpdateExpire - ? sql`${this.schema.points} + ${points}` - : points, - ...(shouldUpdateExpire && { expire: newExpire }), - }, - }) - .returning(); - - return data; - }) - - return query - } - - async _get(rlKey) { - if (!this.drizzleClient) { - return Promise.reject(new RateLimiterDrizzleError('Drizzle client is not established')) - } - - const { and, or, gt, eq, isNull } = await getDrizzleOperators(); - - const [response] = await this.drizzleClient - .select() - .from(this.schema) - .where( - and( - eq(this.schema.key, rlKey), - or(gt(this.schema.expire, new Date()), isNull(this.schema.expire)) - ) - ) - .limit(1); - - return response || null; - - } - - async _delete(rlKey) { - if (!this.drizzleClient) { - return Promise.reject(new RateLimiterDrizzleError('Drizzle client is not established')) - } - - const { eq } = await getDrizzleOperators(); - - const [result] = await this.drizzleClient - .delete(this.schema) - .where(eq(this.schema.key, rlKey)) - .returning({ key: this.schema.key }); - - return !!result?.key - } - - _clearExpiredHourAgo() { - if (this._clearExpiredTimeoutId) { - clearTimeout(this._clearExpiredTimeoutId); - } - - this._clearExpiredTimeoutId = setTimeout(async () => { - try { - const { lt } = await getDrizzleOperators(); - await this.drizzleClient - .delete(this.schema) - .where(lt(this.schema.expire, new Date(Date.now() - EXPIRED_THRESHOLD_MS))); - } catch (error) { - console.warn('Failed to clear expired records:', error); - } - - this._clearExpiredHourAgo(); - }, CLEANUP_INTERVAL_MS); - - this._clearExpiredTimeoutId.unref(); - } -} - -module.exports = RateLimiterDrizzle; - - -/***/ }), - -/***/ 75347: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -let drizzleOperators = null; -const CLEANUP_INTERVAL_MS = 300000; // 5 minutes -const EXPIRED_THRESHOLD_MS = 3600000; // 1 hour - -class RateLimiterDrizzleError extends Error { - constructor(message) { - super(message); - this.name = 'RateLimiterDrizzleError'; - } -} - -async function getDrizzleOperators() { - if (drizzleOperators) return drizzleOperators; - - try { - // Use dynamic import to prevent static analysis tools from detecting the import - function getPackageName() { - return ['drizzle', 'orm'].join('-'); - } - const drizzleOrm = await __webpack_require__(65407)(`${getPackageName()}`); - const { and, or, gt, lt, eq, isNull, sql } = drizzleOrm.default || drizzleOrm; - drizzleOperators = { and, or, gt, lt, eq, isNull, sql }; - return drizzleOperators; - } catch (error) { - throw new RateLimiterDrizzleError( - 'drizzle-orm is not installed. Please install drizzle-orm to use RateLimiterDrizzleNonAtomic.' - ); - } -} - -const RateLimiterStoreAbstract = __webpack_require__(65140); -const RateLimiterRes = __webpack_require__(80449); - -class RateLimiterDrizzleNonAtomic extends RateLimiterStoreAbstract { - constructor(opts) { - super(opts); - - if (!opts?.schema) { - throw new RateLimiterDrizzleError('Drizzle schema is required'); - } - - if (!opts?.storeClient) { - throw new RateLimiterDrizzleError('Drizzle client is required'); - } - - this.schema = opts.schema; - this.drizzleClient = opts.storeClient; - this.clearExpiredByTimeout = opts.clearExpiredByTimeout ?? true; - - if (this.clearExpiredByTimeout) { - this._clearExpiredHourAgo(); - } - } - - _getRateLimiterRes(rlKey, changedPoints, result) { - const res = new RateLimiterRes(); - - let doc = result; - res.isFirstInDuration = doc.points === changedPoints; - res.consumedPoints = doc.points; - res.remainingPoints = Math.max(this.points - res.consumedPoints, 0); - res.msBeforeNext = doc.expire !== null - ? Math.max(new Date(doc.expire).getTime() - Date.now(), 0) - : -1; - - return res; - } - - async _upsert(key, points, msDuration, forceExpire = false) { - if (!this.drizzleClient) { - return Promise.reject(new RateLimiterDrizzleError('Drizzle client is not established')); - } - - const { eq } = await getDrizzleOperators(); - const now = new Date(); - const newExpire = msDuration > 0 ? new Date(now.getTime() + msDuration) : null; - - const [existingRecord] = await this.drizzleClient - .select() - .from(this.schema) - .where(eq(this.schema.key, key)) - .limit(1); - - const shouldUpdateExpire = - forceExpire || - !existingRecord || - !existingRecord.expire || - existingRecord.expire <= now || - newExpire === null; - - let newPoints; - if (existingRecord && !shouldUpdateExpire) { - newPoints = existingRecord.points + points; - } else { - newPoints = points; - } - - const [data] = await this.drizzleClient - .insert(this.schema) - .values({ - key, - points: newPoints, - expire: newExpire, - }) - .onConflictDoUpdate({ - target: this.schema.key, - set: { - points: newPoints, - ...(shouldUpdateExpire && { expire: newExpire }), - }, - }) - .returning(); - - return data; - } - - async _get(rlKey) { - if (!this.drizzleClient) { - return Promise.reject(new RateLimiterDrizzleError('Drizzle client is not established')); - } - - const { and, or, gt, eq, isNull } = await getDrizzleOperators(); - - const [response] = await this.drizzleClient - .select() - .from(this.schema) - .where( - and( - eq(this.schema.key, rlKey), - or(gt(this.schema.expire, new Date()), isNull(this.schema.expire)) - ) - ) - .limit(1); - - return response || null; - } - - async _delete(rlKey) { - if (!this.drizzleClient) { - return Promise.reject(new RateLimiterDrizzleError('Drizzle client is not established')); - } - - const { eq } = await getDrizzleOperators(); - - const [result] = await this.drizzleClient - .delete(this.schema) - .where(eq(this.schema.key, rlKey)) - .returning({ key: this.schema.key }); - - return !!(result && result.key); - } - - _clearExpiredHourAgo() { - if (this._clearExpiredTimeoutId) { - clearTimeout(this._clearExpiredTimeoutId); - } - - this._clearExpiredTimeoutId = setTimeout(async () => { - try { - const { lt } = await getDrizzleOperators(); - await this.drizzleClient - .delete(this.schema) - .where(lt(this.schema.expire, new Date(Date.now() - EXPIRED_THRESHOLD_MS))); - } catch (error) { - console.warn('Failed to clear expired records:', error); - } - - this._clearExpiredHourAgo(); - }, CLEANUP_INTERVAL_MS); - - this._clearExpiredTimeoutId.unref(); - } -} - -module.exports = RateLimiterDrizzleNonAtomic; - - -/***/ }), - -/***/ 82309: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -const RateLimiterRes = __webpack_require__(80449); -const RateLimiterStoreAbstract = __webpack_require__(65140); - -class DynamoItem { - /** - * Create a DynamoItem. - * @param {string} rlKey - The key for the rate limiter. - * @param {number} points - The number of points. - * @param {number} expire - The expiration time in seconds. - */ - constructor(rlKey, points, expire) { - this.key = rlKey; - this.points = points; - this.expire = expire; - } -} - -// Free tier DynamoDB provisioned mode params -const DEFAULT_READ_CAPACITY_UNITS = 25; -const DEFAULT_WRITE_CAPACITY_UNITS = 25; - -/** - * Implementation of RateLimiterStoreAbstract using DynamoDB. - * @class RateLimiterDynamo - * @extends RateLimiterStoreAbstract - */ -class RateLimiterDynamo extends RateLimiterStoreAbstract { - - /** - * Constructs a new instance of the class. - * The storeClient MUST be an instance of AWS.DynamoDB NOT of AWS.DynamoDBClient. - * - * @param {Object} opts - The options for the constructor. - * @param {function} cb - The callback function (optional). - * @return {void} - */ - constructor(opts, cb = null) { - super(opts); - - this.client = opts.storeClient; - this.tableName = opts.tableName; - this.tableCreated = opts.tableCreated; - this.ttlManuallySet = opts.ttlSet; - - if (!this.tableCreated) { - this._createTable(opts.dynamoTableOpts) - .then((data) => { - this.tableCreated = true; - - this._setTTL() - .finally(() => { - // Callback invocation - if (typeof cb === 'function') { - cb(); - } - }); - - }) - .catch( err => { - //callback invocation - if (typeof cb === 'function') { - cb(err); - } else { - throw err; - } - }); - - } else { - - this._setTTL() - .finally(() => { - // Callback invocation - if (typeof cb === 'function') { - cb(); - } - }); - } - } - - get tableName() { - return this._tableName; - } - - set tableName(value) { - this._tableName = typeof value === 'undefined' ? 'node-rate-limiter-flexible' : value; - } - - get tableCreated() { - return this._tableCreated - } - - set tableCreated(value) { - this._tableCreated = typeof value === 'undefined' ? false : !!value; - } - - /** - * Creates a table in the database. Return null if the table already exists. - * - * @param {{readCapacityUnits: number, writeCapacityUnits: number}} tableOpts - * @return {Promise} A promise that resolves with the result of creating the table. - */ - async _createTable(tableOpts) { - - const params = { - TableName: this.tableName, - AttributeDefinitions: [ - { - AttributeName: 'key', - AttributeType: 'S' - } - ], - KeySchema: [ - { - AttributeName: 'key', - KeyType: 'HASH' - } - ], - ProvisionedThroughput: { - ReadCapacityUnits: tableOpts && tableOpts.readCapacityUnits ? tableOpts.readCapacityUnits : DEFAULT_READ_CAPACITY_UNITS, - WriteCapacityUnits: tableOpts && tableOpts.writeCapacityUnits ? tableOpts.writeCapacityUnits : DEFAULT_WRITE_CAPACITY_UNITS - } - }; - - try { - const data = await this.client.createTable(params); - return data; - } catch(err) { - if (err.__type && err.__type.includes('ResourceInUseException')) { - return null; - } else { - throw err; - } - } - } - - /** - * Retrieves an item from the table based on the provided key. - * - * @param {string} rlKey - The key used to retrieve the item. - * @throws {Error} Throws an error if the table is not created yet. - * @return {DynamoItem|null} - The retrieved item, or null if it doesn't exist. - */ - async _get(rlKey) { - - if (!this.tableCreated) { - throw new Error('Table is not created yet'); - } - - const params = { - TableName: this.tableName, - Key: { - key: {S: rlKey} - } - }; - - const data = await this.client.getItem(params); - if(data.Item) { - return new DynamoItem( - data.Item.key.S, - Number(data.Item.points.N), - Number(data.Item.expire.N) - ); - } else { - return null; - } - } - - /** - * Deletes an item from the table based on the given rlKey. - * - * @param {string} rlKey - The rlKey of the item to delete. - * @throws {Error} Throws an error if the table is not created yet. - * @return {boolean} Returns true if the item was successfully deleted, otherwise false. - */ - async _delete(rlKey) { - - if (!this.tableCreated) { - throw new Error('Table is not created yet'); - } - - const params = { - TableName: this.tableName, - Key: { - key: {S: rlKey} - }, - ConditionExpression: 'attribute_exists(#k)', - ExpressionAttributeNames: { - '#k': 'key' - } - } - - try { - const data = await this._client.deleteItem(params); - return data.$metadata.httpStatusCode === 200; - } catch(err) { - // ConditionalCheckFailed, item does not exist in table - if (err.__type && err.__type.includes('ConditionalCheckFailedException')) { - return false; - } else { - throw err; - } - } - - } - - /** - * Implemented with DynamoDB Atomic Counters. 3 calls are made to DynamoDB but each call is atomic. - * From the documentation: "UpdateItem calls are naturally serialized within DynamoDB, - * so there are no race condition concerns with making multiple simultaneous calls." - * See: https://aws.amazon.com/it/blogs/database/implement-resource-counters-with-amazon-dynamodb/ - * @param {*} rlKey - * @param {*} points - * @param {*} msDuration - * @param {*} forceExpire - * @param {*} options - * @returns - */ - async _upsert(rlKey, points, msDuration, forceExpire = false, options = {}) { - - if (!this.tableCreated) { - throw new Error('Table is not created yet'); - } - - const dateNow = Date.now(); - const dateNowSec = dateNow / 1000; - /* -1 means never expire, DynamoDb do not support null values in number fields. - DynamoDb TTL use unix timestamp in seconds. - */ - const newExpireSec = msDuration > 0 ? (dateNow + msDuration) / 1000 : -1; - - // Force expire, overwrite points. Create a new entry if not exists - if (forceExpire) { - return await this._baseUpsert({ - TableName: this.tableName, - Key: { key: {S: rlKey} }, - UpdateExpression: 'SET points = :points, expire = :expire', - ExpressionAttributeValues: { - ':points': {N: points.toString()}, - ':expire': {N: newExpireSec.toString()} - }, - ReturnValues: 'ALL_NEW' - }); - } - - try { - // First try update, success if entry NOT exists or IS expired - return await this._baseUpsert({ - TableName: this.tableName, - Key: { key: {S: rlKey} }, - UpdateExpression: 'SET points = :new_points, expire = :new_expire', - ExpressionAttributeValues: { - ':new_points': {N: points.toString()}, - ':new_expire': {N: newExpireSec.toString()}, - ':where_expire': {N: dateNowSec.toString()} - }, - ConditionExpression: 'expire <= :where_expire OR attribute_not_exists(points)', - ReturnValues: 'ALL_NEW' - }); - - } catch (err) { - // Second try update, success if entry exists and IS NOT expired - return await this._baseUpsert({ - TableName: this.tableName, - Key: { key: {S: rlKey} }, - UpdateExpression: 'SET points = points + :new_points', - ExpressionAttributeValues: { - ':new_points': {N: points.toString()}, - ':where_expire': {N: dateNowSec.toString()} - }, - ConditionExpression: 'expire > :where_expire', - ReturnValues: 'ALL_NEW' - }); - } - } - - /** - * Asynchronously upserts data into the table. params is a DynamoDB params object. - * - * @param {Object} params - The parameters for the upsert operation. - * @throws {Error} Throws an error if the table is not created yet. - * @return {DynamoItem} Returns a DynamoItem object with the updated data. - */ - async _baseUpsert(params) { - - if (!this.tableCreated) { - throw new Error('Table is not created yet'); - } - - try { - const data = await this.client.updateItem(params); - return new DynamoItem( - data.Attributes.key.S, - Number(data.Attributes.points.N), - Number(data.Attributes.expire.N) - ); - } catch (err) { - //console.log('_baseUpsert', params, err); - throw err; - } - } - - /** - * Sets the Time-to-Live (TTL) for the table. TTL use the expire field in the table. - * See: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/howitworks-ttl.html - * - * @return {Promise} A promise that resolves when the TTL is successfully set. - * @throws {Error} Throws an error if the table is not created yet. - * @returns {Promise} - */ - async _setTTL() { - - if (!this.tableCreated) { - throw new Error('Table is not created yet'); - } - - try { - - // Check if the TTL is already set - const isTTLSet = await this._isTTLSet(); - if (isTTLSet) { - return; - } - - const params = { - TableName: this.tableName, - TimeToLiveSpecification: { - AttributeName: 'expire', - Enabled: true - } - } - - const res = await this.client.updateTimeToLive(params); - return res; - - } catch (err) { - throw err; - } - - } - - /** - * Checks if the Time To Live (TTL) feature is set for the DynamoDB table. - * - * @return {boolean} Returns true if the TTL feature is enabled for the table, otherwise false. - * @throws {Error} Throws an error if the table is not created yet or if there is an error while checking the TTL status. - */ - async _isTTLSet() { - - if (!this.tableCreated) { - throw new Error('Table is not created yet'); - } - - if (this.ttlManuallySet) { - return true; - } - - try { - - const res = await this.client.describeTimeToLive({TableName: this.tableName}); - return ( - res.$metadata.httpStatusCode == 200 - && res.TimeToLiveDescription.TimeToLiveStatus === 'ENABLED' - && res.TimeToLiveDescription.AttributeName === 'expire' - ); - - } catch (err) { - throw err; - } - } - - /** - * Generate a RateLimiterRes object based on the provided parameters. - * - * @param {string} rlKey - The key for the rate limiter. - * @param {number} changedPoints - The number of points that have changed. - * @param {DynamoItem} result - The result object of _get() method. - * @returns {RateLimiterRes} - The generated RateLimiterRes object. - */ - _getRateLimiterRes(rlKey, changedPoints, result) { - - const res = new RateLimiterRes(); - res.isFirstInDuration = changedPoints === result.points; - res.consumedPoints = res.isFirstInDuration ? changedPoints : result.points; - res.remainingPoints = Math.max(this.points - res.consumedPoints, 0); - // Expire time saved in unix time seconds not ms - res.msBeforeNext = result.expire != -1 ? Math.max(result.expire * 1000 - Date.now(), 0) : -1; - - return res; - } - -} - -module.exports = RateLimiterDynamo; - -/***/ }), - -/***/ 36481: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -const RateLimiterEtcdTransactionFailedError = __webpack_require__(43184); -const RateLimiterEtcdNonAtomic = __webpack_require__(15299); - -const MAX_TRANSACTION_TRIES = 5; - -class RateLimiterEtcd extends RateLimiterEtcdNonAtomic { - /** - * Resolve with object used for {@link _getRateLimiterRes} to generate {@link RateLimiterRes}. - */ - async _upsert(rlKey, points, msDuration, forceExpire = false) { - const expire = msDuration > 0 ? Date.now() + msDuration : null; - - let newValue = { points, expire }; - let oldValue; - - // If we need to force the expiration, just set the key. - if (forceExpire) { - await this.client - .put(rlKey) - .value(JSON.stringify(newValue)); - } else { - // First try to add a new key - const added = await this.client - .if(rlKey, 'Version', '===', '0') - .then(this.client - .put(rlKey) - .value(JSON.stringify(newValue))) - .commit() - .then(result => !!result.succeeded); - - // If the key already existed, try to update it in a transaction - if (!added) { - let success = false; - - for (let i = 0; i < MAX_TRANSACTION_TRIES; i++) { - // eslint-disable-next-line no-await-in-loop - oldValue = await this._get(rlKey); - newValue = { points: oldValue.points + points, expire }; - - // eslint-disable-next-line no-await-in-loop - success = await this.client - .if(rlKey, 'Value', '===', JSON.stringify(oldValue)) - .then(this.client - .put(rlKey) - .value(JSON.stringify(newValue))) - .commit() - .then(result => !!result.succeeded); - if (success) { - break; - } - } - - if (!success) { - throw new RateLimiterEtcdTransactionFailedError('Could not set new value in a transaction.'); - } - } - } - - return newValue; - } -} - -module.exports = RateLimiterEtcd; - - -/***/ }), - -/***/ 15299: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -const RateLimiterStoreAbstract = __webpack_require__(65140); -const RateLimiterRes = __webpack_require__(80449); -const RateLimiterSetupError = __webpack_require__(72922); - -class RateLimiterEtcdNonAtomic extends RateLimiterStoreAbstract { - /** - * @param {Object} opts - */ - constructor(opts) { - super(opts); - - if (!opts.storeClient) { - throw new RateLimiterSetupError('You need to set the option "storeClient" to an instance of class "Etcd3".'); - } - - this.client = opts.storeClient; - } - - /** - * Get RateLimiterRes object filled depending on storeResult, which specific for exact store. - */ - _getRateLimiterRes(rlKey, changedPoints, result) { - const res = new RateLimiterRes(); - - res.isFirstInDuration = changedPoints === result.points; - res.consumedPoints = res.isFirstInDuration ? changedPoints : result.points; - res.remainingPoints = Math.max(this.points - res.consumedPoints, 0); - res.msBeforeNext = result.expire ? Math.max(result.expire - Date.now(), 0) : -1; - - return res; - } - - /** - * Resolve with object used for {@link _getRateLimiterRes} to generate {@link RateLimiterRes}. - */ - async _upsert(rlKey, points, msDuration, forceExpire = false) { - const expire = msDuration > 0 ? Date.now() + msDuration : null; - - let newValue = { points, expire }; - - // If we need to force the expiration, just set the key. - if (forceExpire) { - await this.client - .put(rlKey) - .value(JSON.stringify(newValue)); - } else { - const oldValue = await this._get(rlKey); - newValue = { points: (oldValue !== null ? oldValue.points : 0) + points, expire }; - await this.client - .put(rlKey) - .value(JSON.stringify(newValue)); - } - - return newValue; - } - - /** - * Resolve with raw result from Store OR null if rlKey is not set - * or Reject with error - */ - async _get(rlKey) { - return this.client - .get(rlKey) - .string() - .then(result => (result !== null ? JSON.parse(result) : null)); - } - - /** - * Resolve with true OR false if rlKey doesn't exist. - * or Reject with error. - */ - async _delete(rlKey) { - return this.client - .delete() - .key(rlKey) - .then(result => result.deleted === '1'); - } -} - -module.exports = RateLimiterEtcdNonAtomic; - - -/***/ }), - -/***/ 33847: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -const RateLimiterAbstract = __webpack_require__(88569); -const RateLimiterRes = __webpack_require__(80449); - -module.exports = class RateLimiterInsuredAbstract extends RateLimiterAbstract { - constructor(opts = {}) { - super(opts); - this.insuranceLimiter = opts.insuranceLimiter; - } - - get insuranceLimiter() { - return this._insuranceLimiter; - } - - set insuranceLimiter(value) { - if (typeof value !== 'undefined' && !(value instanceof RateLimiterAbstract)) { - throw new Error('insuranceLimiter must be instance of RateLimiterAbstract'); - } - this._insuranceLimiter = value; - if (this._insuranceLimiter) { - this._insuranceLimiter.blockDuration = this.blockDuration; - this._insuranceLimiter.execEvenly = this.execEvenly; - } - } - - _handleError(err, funcName, resolve, reject, params) { - if (err instanceof RateLimiterRes) { - reject(err); - } else if (!(this.insuranceLimiter instanceof RateLimiterAbstract)) { - reject(err); - } else { - this.insuranceLimiter[funcName](...params) - .then((res) => { - resolve(res); - }) - .catch((res) => { - reject(res); - }); - } - } - - _operation(funcName, params) { - const promise = this[funcName](...params); - return new Promise((resolve, reject) => { - return promise.then((res) => { - resolve(res); - }) - .catch((err) => { - if (funcName.startsWith('_')) { - funcName = funcName.slice(1); - } - this._handleError(err, funcName, resolve, reject, params); - }); - }); - } - - consume(key, pointsToConsume = 1, options = {}) { - return this._operation('_consume', [key, pointsToConsume, options]); - } - - penalty(key, points = 1, options = {}) { - return this._operation('_penalty', [key, points, options]); - } - - reward(key, points = 1, options = {}) { - return this._operation('_reward', [key, points, options]); - } - - get(key, options = {}) { - return this._operation('_get', [key, options]); - } - - set(key, points, secDuration, options = {}) { - return this._operation('_set', [key, points, secDuration, options]); - } - - block(key, secDuration, options = {}) { - return this._operation('_block', [key, secDuration, options]); - } - - delete(key, options = {}) { - return this._operation('_delete', [key, options]); - } - - _consume() { - throw new Error("You have to implement the method '_consume'!"); - } - - _penalty() { - throw new Error("You have to implement the method '_penalty'!"); - } - - _reward() { - throw new Error("You have to implement the method '_reward'!"); - } - - _get() { - throw new Error("You have to implement the method '_get'!"); - } - - _set() { - throw new Error("You have to implement the method '_set'!"); - } - - _block() { - throw new Error("You have to implement the method '_block'!"); - } - - _delete() { - throw new Error("You have to implement the method '_delete'!"); - } - -} - - -/***/ }), - -/***/ 73250: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -const RateLimiterStoreAbstract = __webpack_require__(65140); -const RateLimiterRes = __webpack_require__(80449); - -class RateLimiterMemcache extends RateLimiterStoreAbstract { - /** - * - * @param {Object} opts - * Defaults { - * ... see other in RateLimiterStoreAbstract - * - * storeClient: memcacheClient - * } - */ - constructor(opts) { - super(opts); - - this.client = opts.storeClient; - } - - _getRateLimiterRes(rlKey, changedPoints, result) { - const res = new RateLimiterRes(); - res.consumedPoints = parseInt(result.consumedPoints); - res.isFirstInDuration = result.consumedPoints === changedPoints; - res.remainingPoints = Math.max(this.points - res.consumedPoints, 0); - res.msBeforeNext = result.msBeforeNext; - - return res; - } - - _upsert(rlKey, points, msDuration, forceExpire = false, options = {}) { - return new Promise((resolve, reject) => { - const nowMs = Date.now(); - const secDuration = Math.floor(msDuration / 1000); - - if (forceExpire) { - this.client.set(rlKey, points, secDuration, (err) => { - if (!err) { - this.client.set( - `${rlKey}_expire`, - secDuration > 0 ? nowMs + (secDuration * 1000) : -1, - secDuration, - () => { - const res = { - consumedPoints: points, - msBeforeNext: secDuration > 0 ? secDuration * 1000 : -1, - }; - resolve(res); - } - ); - } else { - reject(err); - } - }); - } else { - this.client.incr(rlKey, points, (err, consumedPoints) => { - if (err || consumedPoints === false) { - this.client.add(rlKey, points, secDuration, (errAddKey, createdNew) => { - if (errAddKey || !createdNew) { - // Try to upsert again in case of race condition - if (typeof options.attemptNumber === 'undefined' || options.attemptNumber < 3) { - const nextOptions = Object.assign({}, options); - nextOptions.attemptNumber = nextOptions.attemptNumber ? (nextOptions.attemptNumber + 1) : 1; - - this._upsert(rlKey, points, msDuration, forceExpire, nextOptions) - .then(resUpsert => resolve(resUpsert)) - .catch(errUpsert => reject(errUpsert)); - } else { - reject(new Error('Can not add key')); - } - } else { - this.client.add( - `${rlKey}_expire`, - secDuration > 0 ? nowMs + (secDuration * 1000) : -1, - secDuration, - () => { - const res = { - consumedPoints: points, - msBeforeNext: secDuration > 0 ? secDuration * 1000 : -1, - }; - resolve(res); - } - ); - } - }); - } else { - this.client.get(`${rlKey}_expire`, (errGetExpire, resGetExpireMs) => { - if (errGetExpire) { - reject(errGetExpire); - } else { - const expireMs = resGetExpireMs === false ? 0 : resGetExpireMs; - const res = { - consumedPoints, - msBeforeNext: expireMs >= 0 ? Math.max(expireMs - nowMs, 0) : -1, - }; - resolve(res); - } - }); - } - }); - } - }); - } - - _get(rlKey) { - return new Promise((resolve, reject) => { - const nowMs = Date.now(); - - this.client.get(rlKey, (err, consumedPoints) => { - if (!consumedPoints) { - resolve(null); - } else { - this.client.get(`${rlKey}_expire`, (errGetExpire, resGetExpireMs) => { - if (errGetExpire) { - reject(errGetExpire); - } else { - const expireMs = resGetExpireMs === false ? 0 : resGetExpireMs; - const res = { - consumedPoints, - msBeforeNext: expireMs >= 0 ? Math.max(expireMs - nowMs, 0) : -1, - }; - resolve(res); - } - }); - } - }); - }); - } - - _delete(rlKey) { - return new Promise((resolve, reject) => { - this.client.del(rlKey, (err, res) => { - if (err) { - reject(err); - } else if (res === false) { - resolve(res); - } else { - this.client.del(`${rlKey}_expire`, (errDelExpire) => { - if (errDelExpire) { - reject(errDelExpire); - } else { - resolve(res); - } - }); - } - }); - }); - } -} - -module.exports = RateLimiterMemcache; - - -/***/ }), - -/***/ 24544: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -const RateLimiterAbstract = __webpack_require__(88569); -const MemoryStorage = __webpack_require__(81534); -const RateLimiterRes = __webpack_require__(80449); - -class RateLimiterMemory extends RateLimiterAbstract { - constructor(opts = {}) { - super(opts); - - this._memoryStorage = new MemoryStorage(); - } - /** - * - * @param key - * @param pointsToConsume - * @param {Object} options - * @returns {Promise} - */ - consume(key, pointsToConsume = 1, options = {}) { - return new Promise((resolve, reject) => { - const rlKey = this.getKey(key); - const secDuration = this._getKeySecDuration(options); - let res = this._memoryStorage.incrby(rlKey, pointsToConsume, secDuration); - res.remainingPoints = Math.max(this.points - res.consumedPoints, 0); - - if (res.consumedPoints > this.points) { - // Block only first time when consumed more than points - if (this.blockDuration > 0 && res.consumedPoints <= (this.points + pointsToConsume)) { - // Block key - res = this._memoryStorage.set(rlKey, res.consumedPoints, this.blockDuration); - } - reject(res); - } else if (this.execEvenly && res.msBeforeNext > 0 && !res.isFirstInDuration) { - // Execute evenly - let delay = Math.ceil(res.msBeforeNext / (res.remainingPoints + 2)); - if (delay < this.execEvenlyMinDelayMs) { - delay = res.consumedPoints * this.execEvenlyMinDelayMs; - } - - setTimeout(resolve, delay, res); - } else { - resolve(res); - } - }); - } - - penalty(key, points = 1, options = {}) { - const rlKey = this.getKey(key); - return new Promise((resolve) => { - const secDuration = this._getKeySecDuration(options); - const res = this._memoryStorage.incrby(rlKey, points, secDuration); - res.remainingPoints = Math.max(this.points - res.consumedPoints, 0); - resolve(res); - }); - } - - reward(key, points = 1, options = {}) { - const rlKey = this.getKey(key); - return new Promise((resolve) => { - const secDuration = this._getKeySecDuration(options); - const res = this._memoryStorage.incrby(rlKey, -points, secDuration); - res.remainingPoints = Math.max(this.points - res.consumedPoints, 0); - resolve(res); - }); - } - - /** - * Block any key for secDuration seconds - * - * @param key - * @param secDuration - */ - block(key, secDuration) { - const msDuration = secDuration * 1000; - const initPoints = this.points + 1; - - this._memoryStorage.set(this.getKey(key), initPoints, secDuration); - return Promise.resolve( - new RateLimiterRes(0, msDuration === 0 ? -1 : msDuration, initPoints) - ); - } - - set(key, points, secDuration) { - const msDuration = (secDuration >= 0 ? secDuration : this.duration) * 1000; - - this._memoryStorage.set(this.getKey(key), points, secDuration); - return Promise.resolve( - new RateLimiterRes(0, msDuration === 0 ? -1 : msDuration, points) - ); - } - - get(key) { - const res = this._memoryStorage.get(this.getKey(key)); - if (res !== null) { - res.remainingPoints = Math.max(this.points - res.consumedPoints, 0); - } - - return Promise.resolve(res); - } - - delete(key) { - return Promise.resolve(this._memoryStorage.delete(this.getKey(key))); - } -} - -module.exports = RateLimiterMemory; - - - -/***/ }), - -/***/ 28439: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -const RateLimiterStoreAbstract = __webpack_require__(65140); -const RateLimiterRes = __webpack_require__(80449); - -/** - * Get MongoDB driver version as upsert options differ - * @params {Object} Client instance - * @returns {Object} Version Object containing major, feature & minor versions. - */ -function getDriverVersion(client) { - try { - const _client = client.client ? client.client : client; - - let _v = [0, 0, 0]; - if (typeof _client.topology === 'undefined') { - const { version } = _client.options.metadata.driver; - _v = version.split('|', 1)[0].split('.').map(v => parseInt(v)); - } else { - const { version } = _client.topology.s.options.metadata.driver; - _v = version.split('.').map(v => parseInt(v)); - } - - return { - major: _v[0], - feature: _v[1], - patch: _v[2], - }; - } catch (err) { - return { major: 0, feature: 0, patch: 0 }; - } -} - -class RateLimiterMongo extends RateLimiterStoreAbstract { - /** - * - * @param {Object} opts - * Defaults { - * indexKeyPrefix: {attr1: 1, attr2: 1} - * ... see other in RateLimiterStoreAbstract - * - * mongo: MongoClient - * } - */ - constructor(opts) { - super(opts); - - this.dbName = opts.dbName; - this.tableName = opts.tableName; - this.indexKeyPrefix = opts.indexKeyPrefix; - this.disableIndexesCreation = opts.disableIndexesCreation; - - if (opts.mongo) { - this.client = opts.mongo; - } else { - this.client = opts.storeClient; - } - if (typeof this.client.then === 'function') { - // If Promise - this.client - .then((conn) => { - this.client = conn; - this._initCollection(); - this._driverVersion = getDriverVersion(this.client); - }); - } else { - this._initCollection(); - this._driverVersion = getDriverVersion(this.client); - } - } - - get dbName() { - return this._dbName; - } - - set dbName(value) { - this._dbName = typeof value === 'undefined' ? RateLimiterMongo.getDbName() : value; - } - - static getDbName() { - return 'node-rate-limiter-flexible'; - } - - get tableName() { - return this._tableName; - } - - set tableName(value) { - this._tableName = typeof value === 'undefined' ? this.keyPrefix : value; - } - - get client() { - return this._client; - } - - set client(value) { - if (typeof value === 'undefined') { - throw new Error('mongo is not set'); - } - this._client = value; - } - - get indexKeyPrefix() { - return this._indexKeyPrefix; - } - - set indexKeyPrefix(obj) { - this._indexKeyPrefix = obj || {}; - } - - get disableIndexesCreation() { - return this._disableIndexesCreation; - } - set disableIndexesCreation(value) { - this._disableIndexesCreation = !!value; - } - - async createIndexes() { - const db = typeof this.client.db === 'function' - ? this.client.db(this.dbName) - : this.client; - - const collection = db.collection(this.tableName); - await collection.createIndex({ expire: -1 }, { expireAfterSeconds: 0 }); - await collection.createIndex(Object.assign({}, this.indexKeyPrefix, { key: 1 }), { unique: true }); - } - - _initCollection() { - const db = typeof this.client.db === 'function' - ? this.client.db(this.dbName) - : this.client; - - const collection = db.collection(this.tableName); - if (!this.disableIndexesCreation) { - this.createIndexes().catch((err) => { - console.error(`Cannot create indexes for mongo collection ${this.tableName}`, err); - }); - } - - this._collection = collection; - } - - _getRateLimiterRes(rlKey, changedPoints, result) { - const res = new RateLimiterRes(); - - let doc; - if (typeof result.value === 'undefined') { - doc = result; - } else { - doc = result.value; - } - - res.isFirstInDuration = doc.points === changedPoints; - res.consumedPoints = doc.points; - - res.remainingPoints = Math.max(this.points - res.consumedPoints, 0); - res.msBeforeNext = doc.expire !== null - ? Math.max(new Date(doc.expire).getTime() - Date.now(), 0) - : -1; - - return res; - } - - _upsert(key, points, msDuration, forceExpire = false, options = {}) { - if (!this._collection) { - return Promise.reject(Error('Mongo connection is not established')); - } - - const docAttrs = options.attrs || {}; - - let where; - let upsertData; - if (forceExpire) { - where = { key }; - where = Object.assign(where, docAttrs); - upsertData = { - $set: { - key, - points, - expire: msDuration > 0 ? new Date(Date.now() + msDuration) : null, - }, - }; - upsertData.$set = Object.assign(upsertData.$set, docAttrs); - } else { - where = { - $or: [ - { expire: { $gt: new Date() } }, - { expire: { $eq: null } }, - ], - key, - }; - where = Object.assign(where, docAttrs); - upsertData = { - $setOnInsert: { - key, - expire: msDuration > 0 ? new Date(Date.now() + msDuration) : null, - }, - $inc: { points }, - }; - upsertData.$setOnInsert = Object.assign(upsertData.$setOnInsert, docAttrs); - } - - // Options for collection updates differ between driver versions - const upsertOptions = { - upsert: true, - }; - if ((this._driverVersion.major >= 4) || - (this._driverVersion.major === 3 && - (this._driverVersion.feature >=7) || - (this._driverVersion.feature >= 6 && - this._driverVersion.patch >= 7 ))) - { - upsertOptions.returnDocument = 'after'; - } else { - upsertOptions.returnOriginal = false; - } - - /* - * 1. Find actual limit and increment points - * 2. If limit expired, but Mongo doesn't clean doc by TTL yet, try to replace limit doc completely - * 3. If 2 or more Mongo threads try to insert the new limit doc, only the first succeed - * 4. Try to upsert from step 1. Actual limit is created now, points are incremented without problems - */ - return new Promise((resolve, reject) => { - this._collection.findOneAndUpdate( - where, - upsertData, - upsertOptions - ).then((res) => { - resolve(res); - }).catch((errUpsert) => { - if (errUpsert && errUpsert.code === 11000) { // E11000 duplicate key error collection - const replaceWhere = Object.assign({ // try to replace OLD limit doc - $or: [ - { expire: { $lte: new Date() } }, - { expire: { $eq: null } }, - ], - key, - }, docAttrs); - - const replaceTo = { - $set: Object.assign({ - key, - points, - expire: msDuration > 0 ? new Date(Date.now() + msDuration) : null, - }, docAttrs) - }; - - this._collection.findOneAndUpdate( - replaceWhere, - replaceTo, - upsertOptions - ).then((res) => { - resolve(res); - }).catch((errReplace) => { - if (errReplace && errReplace.code === 11000) { // E11000 duplicate key error collection - this._upsert(key, points, msDuration, forceExpire) - .then(res => resolve(res)) - .catch(err => reject(err)); - } else { - reject(errReplace); - } - }); - } else { - reject(errUpsert); - } - }); - }); - } - - _get(rlKey, options = {}) { - if (!this._collection) { - return Promise.reject(Error('Mongo connection is not established')); - } - - const docAttrs = options.attrs || {}; - - const where = Object.assign({ - key: rlKey, - $or: [ - { expire: { $gt: new Date() } }, - { expire: { $eq: null } }, - ], - }, docAttrs); - - return this._collection.findOne(where); - } - - _delete(rlKey, options = {}) { - if (!this._collection) { - return Promise.reject(Error('Mongo connection is not established')); - } - - const docAttrs = options.attrs || {}; - const where = Object.assign({ key: rlKey }, docAttrs); - - return this._collection.deleteOne(where) - .then(res => res.deletedCount > 0); - } -} - -module.exports = RateLimiterMongo; - - -/***/ }), - -/***/ 67793: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -const RateLimiterStoreAbstract = __webpack_require__(65140); -const RateLimiterRes = __webpack_require__(80449); - -class RateLimiterMySQL extends RateLimiterStoreAbstract { - /** - * @callback callback - * @param {Object} err - * - * @param {Object} opts - * @param {callback} cb - * Defaults { - * ... see other in RateLimiterStoreAbstract - * - * storeClient: anySqlClient, - * storeType: 'knex', // required only for Knex instance - * dbName: 'string', - * tableName: 'string', - * } - */ - constructor(opts, cb = null) { - super(opts); - - this.client = opts.storeClient; - this.clientType = opts.storeType; - - this.dbName = opts.dbName; - this.tableName = opts.tableName; - - this.clearExpiredByTimeout = opts.clearExpiredByTimeout; - - this.tableCreated = opts.tableCreated; - if (!this.tableCreated) { - this._createDbAndTable() - .then(() => { - this.tableCreated = true; - if (this.clearExpiredByTimeout) { - this._clearExpiredHourAgo(); - } - if (typeof cb === 'function') { - cb(); - } - }) - .catch((err) => { - if (typeof cb === 'function') { - cb(err); - } else { - throw err; - } - }); - } else { - if (this.clearExpiredByTimeout) { - this._clearExpiredHourAgo(); - } - if (typeof cb === 'function') { - cb(); - } - } - } - - clearExpired(expire) { - return new Promise((resolve) => { - this._getConnection() - .then((conn) => { - conn.query(`DELETE FROM ??.?? WHERE expire < ?`, [this.dbName, this.tableName, expire], () => { - this._releaseConnection(conn); - resolve(); - }); - }) - .catch(() => { - resolve(); - }); - }); - } - - _clearExpiredHourAgo() { - if (this._clearExpiredTimeoutId) { - clearTimeout(this._clearExpiredTimeoutId); - } - this._clearExpiredTimeoutId = setTimeout(() => { - this.clearExpired(Date.now() - 3600000) // Never rejected - .then(() => { - this._clearExpiredHourAgo(); - }); - }, 300000); - this._clearExpiredTimeoutId.unref(); - } - - /** - * - * @return Promise - * @private - */ - _getConnection() { - switch (this.clientType) { - case 'pool': - return new Promise((resolve, reject) => { - this.client.getConnection((errConn, conn) => { - if (errConn) { - return reject(errConn); - } - - resolve(conn); - }); - }); - case 'sequelize': - return this.client.connectionManager.getConnection(); - case 'knex': - return this.client.client.acquireConnection(); - default: - return Promise.resolve(this.client); - } - } - - _releaseConnection(conn) { - switch (this.clientType) { - case 'pool': - return conn.release(); - case 'sequelize': - return this.client.connectionManager.releaseConnection(conn); - case 'knex': - return this.client.client.releaseConnection(conn); - default: - return true; - } - } - - /** - * - * @returns {Promise} - * @private - */ - _createDbAndTable() { - return new Promise((resolve, reject) => { - this._getConnection() - .then((conn) => { - conn.query(`CREATE DATABASE IF NOT EXISTS \`${this.dbName}\`;`, (errDb) => { - if (errDb) { - this._releaseConnection(conn); - return reject(errDb); - } - conn.query(this._getCreateTableStmt(), (err) => { - if (err) { - this._releaseConnection(conn); - return reject(err); - } - this._releaseConnection(conn); - resolve(); - }); - }); - }) - .catch((err) => { - reject(err); - }); - }); - } - - _getCreateTableStmt() { - return `CREATE TABLE IF NOT EXISTS \`${this.dbName}\`.\`${this.tableName}\` (` + - '`key` VARCHAR(255) CHARACTER SET utf8 NOT NULL,' + - '`points` INT(9) NOT NULL default 0,' + - '`expire` BIGINT UNSIGNED,' + - 'PRIMARY KEY (`key`)' + - ') ENGINE = INNODB;'; - } - - get clientType() { - return this._clientType; - } - - set clientType(value) { - if (typeof value === 'undefined') { - if (this.client.constructor.name === 'Connection') { - value = 'connection'; - } else if (this.client.constructor.name === 'Pool') { - value = 'pool'; - } else if (this.client.constructor.name === 'Sequelize') { - value = 'sequelize'; - } else { - throw new Error('storeType is not defined'); - } - } - this._clientType = value.toLowerCase(); - } - - get dbName() { - return this._dbName; - } - - set dbName(value) { - this._dbName = typeof value === 'undefined' ? 'rtlmtrflx' : value; - } - - get tableName() { - return this._tableName; - } - - set tableName(value) { - this._tableName = typeof value === 'undefined' ? this.keyPrefix : value; - } - - get tableCreated() { - return this._tableCreated - } - - set tableCreated(value) { - this._tableCreated = typeof value === 'undefined' ? false : !!value; - } - - get clearExpiredByTimeout() { - return this._clearExpiredByTimeout; - } - - set clearExpiredByTimeout(value) { - this._clearExpiredByTimeout = typeof value === 'undefined' ? true : Boolean(value); - } - - _getRateLimiterRes(rlKey, changedPoints, result) { - const res = new RateLimiterRes(); - const [row] = result; - - res.isFirstInDuration = changedPoints === row.points; - res.consumedPoints = res.isFirstInDuration ? changedPoints : row.points; - - res.remainingPoints = Math.max(this.points - res.consumedPoints, 0); - res.msBeforeNext = row.expire - ? Math.max(row.expire - Date.now(), 0) - : -1; - - return res; - } - - _upsertTransaction(conn, key, points, msDuration, forceExpire) { - return new Promise((resolve, reject) => { - conn.query('BEGIN', (errBegin) => { - if (errBegin) { - conn.rollback(); - - return reject(errBegin); - } - - const dateNow = Date.now(); - const newExpire = msDuration > 0 ? dateNow + msDuration : null; - - let q; - let values; - if (forceExpire) { - q = `INSERT INTO ??.?? VALUES (?, ?, ?) - ON DUPLICATE KEY UPDATE - points = ?, - expire = ?;`; - values = [ - this.dbName, this.tableName, key, points, newExpire, - points, - newExpire, - ]; - } else { - q = `INSERT INTO ??.?? VALUES (?, ?, ?) - ON DUPLICATE KEY UPDATE - points = IF(expire <= ?, ?, points + (?)), - expire = IF(expire <= ?, ?, expire);`; - values = [ - this.dbName, this.tableName, key, points, newExpire, - dateNow, points, points, - dateNow, newExpire, - ]; - } - - conn.query(q, values, (errUpsert) => { - if (errUpsert) { - conn.rollback(); - - return reject(errUpsert); - } - conn.query('SELECT points, expire FROM ??.?? WHERE `key` = ?;', [this.dbName, this.tableName, key], (errSelect, res) => { - if (errSelect) { - conn.rollback(); - - return reject(errSelect); - } - - conn.query('COMMIT', (err) => { - if (err) { - conn.rollback(); - - return reject(err); - } - - resolve(res); - }); - }); - }); - }); - }); - } - - _upsert(key, points, msDuration, forceExpire = false) { - if (!this.tableCreated) { - return Promise.reject(Error('Table is not created yet')); - } - - return new Promise((resolve, reject) => { - this._getConnection() - .then((conn) => { - this._upsertTransaction(conn, key, points, msDuration, forceExpire) - .then((res) => { - resolve(res); - this._releaseConnection(conn); - }) - .catch((err) => { - reject(err); - this._releaseConnection(conn); - }); - }) - .catch((err) => { - reject(err); - }); - }); - } - - _get(rlKey) { - if (!this.tableCreated) { - return Promise.reject(Error('Table is not created yet')); - } - - return new Promise((resolve, reject) => { - this._getConnection() - .then((conn) => { - conn.query( - 'SELECT points, expire FROM ??.?? WHERE `key` = ? AND (`expire` > ? OR `expire` IS NULL)', - [this.dbName, this.tableName, rlKey, Date.now()], - (err, res) => { - if (err) { - reject(err); - } else if (res.length === 0) { - resolve(null); - } else { - resolve(res); - } - - this._releaseConnection(conn); - } // eslint-disable-line - ); - }) - .catch((err) => { - reject(err); - }); - }); - } - - _delete(rlKey) { - if (!this.tableCreated) { - return Promise.reject(Error('Table is not created yet')); - } - - return new Promise((resolve, reject) => { - this._getConnection() - .then((conn) => { - conn.query( - 'DELETE FROM ??.?? WHERE `key` = ?', - [this.dbName, this.tableName, rlKey], - (err, res) => { - if (err) { - reject(err); - } else { - resolve(res.affectedRows > 0); - } - - this._releaseConnection(conn); - } // eslint-disable-line - ); - }) - .catch((err) => { - reject(err); - }); - }); - } -} - -module.exports = RateLimiterMySQL; - - -/***/ }), - -/***/ 3740: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -const RateLimiterStoreAbstract = __webpack_require__(65140); -const RateLimiterRes = __webpack_require__(80449); - -class RateLimiterPostgres extends RateLimiterStoreAbstract { - /** - * @callback callback - * @param {Object} err - * - * @param {Object} opts - * @param {callback} cb - * Defaults { - * ... see other in RateLimiterStoreAbstract - * - * storeClient: postgresClient, - * storeType: 'knex', // required only for Knex instance - * tableName: 'string', - * schemaName: 'string', // optional - * } - */ - constructor(opts, cb = null) { - super(opts); - - this.client = opts.storeClient; - this.clientType = opts.storeType; - - this.tableName = opts.tableName; - this.schemaName = opts.schemaName; - - this.clearExpiredByTimeout = opts.clearExpiredByTimeout; - - this.tableCreated = opts.tableCreated; - if (!this.tableCreated) { - this._createTable() - .then(() => { - this.tableCreated = true; - if (this.clearExpiredByTimeout) { - this._clearExpiredHourAgo(); - } - if (typeof cb === 'function') { - cb(); - } - }) - .catch((err) => { - if (typeof cb === 'function') { - cb(err); - } else { - throw err; - } - }); - } else { - if (this.clearExpiredByTimeout) { - this._clearExpiredHourAgo(); - } - if (typeof cb === 'function') { - cb(); - } - } - } - - _getTableIdentifier() { - return this.schemaName ? `"${this.schemaName}"."${this.tableName}"` : `"${this.tableName}"`; - } - - clearExpired(expire) { - return new Promise((resolve) => { - const q = { - name: 'rlflx-clear-expired', - text: `DELETE FROM ${this._getTableIdentifier()} WHERE expire < $1`, - values: [expire], - }; - this._query(q) - .then(() => { - resolve(); - }) - .catch(() => { - // Deleting expired query is not critical - resolve(); - }); - }); - } - - /** - * Delete all rows expired 1 hour ago once per 5 minutes - * - * @private - */ - _clearExpiredHourAgo() { - if (this._clearExpiredTimeoutId) { - clearTimeout(this._clearExpiredTimeoutId); - } - this._clearExpiredTimeoutId = setTimeout(() => { - this.clearExpired(Date.now() - 3600000) // Never rejected - .then(() => { - this._clearExpiredHourAgo(); - }); - }, 300000); - this._clearExpiredTimeoutId.unref(); - } - - /** - * - * @return Promise - * @private - */ - _getConnection() { - switch (this.clientType) { - case 'pool': - return Promise.resolve(this.client); - case 'sequelize': - return this.client.connectionManager.getConnection(); - case 'knex': - return this.client.client.acquireConnection(); - case 'typeorm': - return Promise.resolve(this.client.driver.master); - default: - return Promise.resolve(this.client); - } - } - - _releaseConnection(conn) { - switch (this.clientType) { - case 'pool': - return true; - case 'sequelize': - return this.client.connectionManager.releaseConnection(conn); - case 'knex': - return this.client.client.releaseConnection(conn); - case 'typeorm': - return true; - default: - return true; - } - } - - /** - * - * @returns {Promise} - * @private - */ - _createTable() { - return new Promise((resolve, reject) => { - this._query({ - text: this._getCreateTableStmt(), - }) - .then(() => { - resolve(); - }) - .catch((err) => { - if (err.code === '23505') { - // Error: duplicate key value violates unique constraint "pg_type_typname_nsp_index" - // Postgres doesn't handle concurrent table creation - // It is supposed, that table is created by another worker - resolve(); - } else { - reject(err); - } - }); - }); - } - - _getCreateTableStmt() { - return `CREATE TABLE IF NOT EXISTS ${this._getTableIdentifier()} ( - key varchar(255) PRIMARY KEY, - points integer NOT NULL DEFAULT 0, - expire bigint - );`; - } - - get clientType() { - return this._clientType; - } - - set clientType(value) { - const constructorName = this.client.constructor.name; - - if (typeof value === 'undefined') { - if (constructorName === 'Client') { - value = 'client'; - } else if ( - constructorName === 'Pool' || - constructorName === 'BoundPool' - ) { - value = 'pool'; - } else if (constructorName === 'Sequelize') { - value = 'sequelize'; - } else { - throw new Error('storeType is not defined'); - } - } - - this._clientType = value.toLowerCase(); - } - - get tableName() { - return this._tableName; - } - - set tableName(value) { - this._tableName = typeof value === 'undefined' ? this.keyPrefix : value; - } - - get schemaName() { - return this._schemaName; - } - - set schemaName(value) { - this._schemaName = value; - } - - get tableCreated() { - return this._tableCreated; - } - - set tableCreated(value) { - this._tableCreated = typeof value === 'undefined' ? false : !!value; - } - - get clearExpiredByTimeout() { - return this._clearExpiredByTimeout; - } - - set clearExpiredByTimeout(value) { - this._clearExpiredByTimeout = typeof value === 'undefined' ? true : Boolean(value); - } - - _getRateLimiterRes(rlKey, changedPoints, result) { - const res = new RateLimiterRes(); - const row = result.rows[0]; - - res.isFirstInDuration = changedPoints === row.points; - res.consumedPoints = res.isFirstInDuration ? changedPoints : row.points; - - res.remainingPoints = Math.max(this.points - res.consumedPoints, 0); - res.msBeforeNext = row.expire - ? Math.max(row.expire - Date.now(), 0) - : -1; - - return res; - } - - _query(q) { - const prefix = this.tableName.toLowerCase(); - const queryObj = { name: `${prefix}:${q.name}`, text: q.text, values: q.values }; - return new Promise((resolve, reject) => { - this._getConnection() - .then((conn) => { - conn.query(queryObj) - .then((res) => { - resolve(res); - this._releaseConnection(conn); - }) - .catch((err) => { - reject(err); - this._releaseConnection(conn); - }); - }) - .catch((err) => { - reject(err); - }); - }); - } - - _upsert(key, points, msDuration, forceExpire = false) { - if (!this.tableCreated) { - return Promise.reject(Error('Table is not created yet')); - } - - const newExpire = msDuration > 0 ? Date.now() + msDuration : null; - const expireQ = forceExpire - ? ' $3 ' - : ` CASE - WHEN ${this._getTableIdentifier()}.expire <= $4 THEN $3 - ELSE ${this._getTableIdentifier()}.expire - END `; - - return this._query({ - name: forceExpire ? 'rlflx-upsert-force' : 'rlflx-upsert', - text: ` - INSERT INTO ${this._getTableIdentifier()} VALUES ($1, $2, $3) - ON CONFLICT(key) DO UPDATE SET - points = CASE - WHEN (${this._getTableIdentifier()}.expire <= $4 OR 1=${forceExpire ? 1 : 0}) THEN $2 - ELSE ${this._getTableIdentifier()}.points + ($2) - END, - expire = ${expireQ} - RETURNING points, expire;`, - values: [key, points, newExpire, Date.now()], - }); - } - - _get(rlKey) { - if (!this.tableCreated) { - return Promise.reject(Error('Table is not created yet')); - } - - return new Promise((resolve, reject) => { - this._query({ - name: 'rlflx-get', - text: ` - SELECT points, expire FROM ${this._getTableIdentifier()} WHERE key = $1 AND (expire > $2 OR expire IS NULL);`, - values: [rlKey, Date.now()], - }) - .then((res) => { - if (res.rowCount === 0) { - res = null; - } - resolve(res); - }) - .catch((err) => { - reject(err); - }); - }); - } - - _delete(rlKey) { - if (!this.tableCreated) { - return Promise.reject(Error('Table is not created yet')); - } - - return this._query({ - name: 'rlflx-delete', - text: `DELETE FROM ${this._getTableIdentifier()} WHERE key = $1`, - values: [rlKey], - }) - .then(res => res.rowCount > 0); - } -} - -module.exports = RateLimiterPostgres; - - -/***/ }), - -/***/ 16323: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -const RateLimiterStoreAbstract = __webpack_require__(65140); -const RateLimiterRes = __webpack_require__(80449); - -class RateLimiterPrisma extends RateLimiterStoreAbstract { - /** - * Constructor for the rate limiter - * @param {Object} opts - Options for the rate limiter - */ - constructor(opts) { - super(opts); - - this.modelName = opts.tableName || 'RateLimiterFlexible'; - this.prismaClient = opts.storeClient; - this.clearExpiredByTimeout = opts.clearExpiredByTimeout || true; - - if (!this.prismaClient) { - throw new Error('Prisma client is not provided'); - } - - if (this.clearExpiredByTimeout) { - this._clearExpiredHourAgo(); - } - } - - _getRateLimiterRes(rlKey, changedPoints, result) { - const res = new RateLimiterRes(); - - let doc = result; - - res.isFirstInDuration = doc.points === changedPoints; - res.consumedPoints = doc.points; - - res.remainingPoints = Math.max(this.points - res.consumedPoints, 0); - res.msBeforeNext = doc.expire !== null - ? Math.max(new Date(doc.expire).getTime() - Date.now(), 0) - : -1; - - return res; - } - - _upsert(key, points, msDuration, forceExpire = false) { - if (!this.prismaClient) { - return Promise.reject(new Error('Prisma client is not established')); - } - - const now = new Date(); - const newExpire = msDuration > 0 ? new Date(now.getTime() + msDuration) : null; - - return this.prismaClient.$transaction(async (prisma) => { - const existingRecord = await prisma[this.modelName].findFirst({ - where: { key: key }, - }); - - if (existingRecord) { - // Determine if we should update the expire field - const shouldUpdateExpire = forceExpire || !existingRecord.expire || existingRecord.expire <= now || newExpire === null; - - return prisma[this.modelName].update({ - where: { key: key }, - data: { - points: !shouldUpdateExpire ? existingRecord.points + points : points, - ...(shouldUpdateExpire && { expire: newExpire }), - }, - }); - } else { - return prisma[this.modelName].create({ - data: { - key: key, - points: points, - expire: newExpire, - }, - }); - } - }); - } - - _get(rlKey) { - if (!this.prismaClient) { - return Promise.reject(new Error('Prisma client is not established')); - } - - return this.prismaClient[this.modelName].findFirst({ - where: { - AND: [ - { key: rlKey }, - { - OR: [ - { expire: { gt: new Date() } }, - { expire: null }, - ], - }, - ], - }, - }); - } - - _delete(rlKey) { - if (!this.prismaClient) { - return Promise.reject(new Error('Prisma client is not established')); - } - - return this.prismaClient[this.modelName].deleteMany({ - where: { - key: rlKey, - }, - }).then(res => res.count > 0); - } - - _clearExpiredHourAgo() { - if (this._clearExpiredTimeoutId) { - clearTimeout(this._clearExpiredTimeoutId); - } - this._clearExpiredTimeoutId = setTimeout(async () => { - await this.prismaClient[this.modelName].deleteMany({ - where: { - expire: { - lt: new Date(Date.now() - 3600000), - }, - }, - }); - this._clearExpiredHourAgo(); - }, 300000); // Clear every 5 minutes - this._clearExpiredTimeoutId.unref(); - } -} - -module.exports = RateLimiterPrisma; - - -/***/ }), - -/***/ 52860: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -const RateLimiterQueueError = __webpack_require__(27948) -const MAX_QUEUE_SIZE = 4294967295; -const KEY_DEFAULT = 'limiter'; - -module.exports = class RateLimiterQueue { - constructor(limiterFlexible, opts = { - maxQueueSize: MAX_QUEUE_SIZE, - }) { - this._queueLimiters = { - KEY_DEFAULT: new RateLimiterQueueInternal(limiterFlexible, opts) - }; - this._limiterFlexible = limiterFlexible; - this._maxQueueSize = opts.maxQueueSize - } - - getTokensRemaining(key = KEY_DEFAULT) { - if (this._queueLimiters[key]) { - return this._queueLimiters[key].getTokensRemaining() - } else { - return Promise.resolve(this._limiterFlexible.points) - } - } - - removeTokens(tokens, key = KEY_DEFAULT) { - if (!this._queueLimiters[key]) { - this._queueLimiters[key] = new RateLimiterQueueInternal( - this._limiterFlexible, { - key, - maxQueueSize: this._maxQueueSize, - }) - } - - return this._queueLimiters[key].removeTokens(tokens) - } -}; - -class RateLimiterQueueInternal { - - constructor(limiterFlexible, opts = { - maxQueueSize: MAX_QUEUE_SIZE, - key: KEY_DEFAULT, - }) { - this._key = opts.key; - this._waitTimeout = null; - this._queue = []; - this._limiterFlexible = limiterFlexible; - - this._maxQueueSize = opts.maxQueueSize - } - - getTokensRemaining() { - return this._limiterFlexible.get(this._key) - .then((rlRes) => { - return rlRes !== null ? rlRes.remainingPoints : this._limiterFlexible.points; - }) - } - - removeTokens(tokens) { - const _this = this; - - return new Promise((resolve, reject) => { - if (tokens > _this._limiterFlexible.points) { - reject(new RateLimiterQueueError(`Requested tokens ${tokens} exceeds maximum ${_this._limiterFlexible.points} tokens per interval`)); - return - } - - if (_this._queue.length > 0) { - _this._queueRequest.call(_this, resolve, reject, tokens); - } else { - _this._limiterFlexible.consume(_this._key, tokens) - .then((res) => { - resolve(res.remainingPoints); - }) - .catch((rej) => { - if (rej instanceof Error) { - reject(rej); - } else { - _this._queueRequest.call(_this, resolve, reject, tokens); - if (_this._waitTimeout === null) { - _this._waitTimeout = setTimeout(_this._processFIFO.bind(_this), rej.msBeforeNext); - } - } - }); - } - }) - } - - _queueRequest(resolve, reject, tokens) { - const _this = this; - if (_this._queue.length < _this._maxQueueSize) { - _this._queue.push({resolve, reject, tokens}); - } else { - reject(new RateLimiterQueueError(`Number of requests reached it's maximum ${_this._maxQueueSize}`)) - } - } - - _processFIFO() { - const _this = this; - - if (_this._waitTimeout !== null) { - clearTimeout(_this._waitTimeout); - _this._waitTimeout = null; - } - - if (_this._queue.length === 0) { - return; - } - - const item = _this._queue.shift(); - _this._limiterFlexible.consume(_this._key, item.tokens) - .then((res) => { - item.resolve(res.remainingPoints); - _this._processFIFO.call(_this); - }) - .catch((rej) => { - if (rej instanceof Error) { - item.reject(rej); - _this._processFIFO.call(_this); - } else { - _this._queue.unshift(item); - if (_this._waitTimeout === null) { - _this._waitTimeout = setTimeout(_this._processFIFO.bind(_this), rej.msBeforeNext); - } - } - }); - } -} - - -/***/ }), - -/***/ 54336: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -const RateLimiterStoreAbstract = __webpack_require__(65140); -const RateLimiterRes = __webpack_require__(80449); - -const incrTtlLuaScript = `redis.call('set', KEYS[1], 0, 'EX', ARGV[2], 'NX') \ -local consumed = redis.call('incrby', KEYS[1], ARGV[1]) \ -local ttl = redis.call('pttl', KEYS[1]) \ -if ttl == -1 then \ - redis.call('expire', KEYS[1], ARGV[2]) \ - ttl = 1000 * ARGV[2] \ -end \ -return {consumed, ttl} \ -`; - -class RateLimiterRedis extends RateLimiterStoreAbstract { - /** - * - * @param {Object} opts - * Defaults { - * ... see other in RateLimiterStoreAbstract - * - * redis: RedisClient - * rejectIfRedisNotReady: boolean = false - reject / invoke insuranceLimiter immediately when redis connection is not "ready" - * } - */ - constructor(opts) { - super(opts); - this.client = opts.storeClient; - - this._rejectIfRedisNotReady = !!opts.rejectIfRedisNotReady; - this._incrTtlLuaScript = opts.customIncrTtlLuaScript || incrTtlLuaScript; - - this.useRedisPackage = opts.useRedisPackage || this.client.constructor.name === 'Commander' || false; - this.useRedis3AndLowerPackage = opts.useRedis3AndLowerPackage; - if (typeof this.client.defineCommand === 'function') { - this.client.defineCommand("rlflxIncr", { - numberOfKeys: 1, - lua: this._incrTtlLuaScript, - }); - } - } - - /** - * Prevent actual redis call if redis connection is not ready - * Because of different connection state checks for ioredis and node-redis, only this clients would be actually checked. - * For any other clients all the requests would be passed directly to redis client - * @param {String} rlKey - * @param {Boolean} isReadonly - * @return {boolean} - * @private - */ - _isRedisReady(rlKey, isReadonly) { - if (!this._rejectIfRedisNotReady) { - return true; - } - // ioredis client - if (this.client.status) { - return this.client.status === 'ready'; - } - // node-redis v3 client - if (typeof this.client.isReady === 'function') { - return this.client.isReady(); - } - - // node-redis v4+ (non-cluster) client - if (typeof this.client.isReady === 'boolean') { - return this.client.isReady === true; - } - - // node-redis v4+ cluster client - if (this.client._slots && typeof this.client._slots.getClient === 'function') { - if (typeof this.client.isOpen === 'boolean' && this.client.isOpen !== true) { - return false; - } - - try { - const slotClient = this.client._slots.getClient(rlKey, isReadonly); - return slotClient && slotClient.isReady === true; - } catch (error) { - return false; - } - } - return true; - } - - _getRateLimiterRes(rlKey, changedPoints, result) { - let [consumed, resTtlMs] = result; - // Support ioredis results format - if (Array.isArray(consumed)) { - [, consumed] = consumed; - [, resTtlMs] = resTtlMs; - } - - const res = new RateLimiterRes(); - res.consumedPoints = parseInt(consumed); - res.isFirstInDuration = res.consumedPoints === changedPoints; - res.remainingPoints = Math.max(this.points - res.consumedPoints, 0); - res.msBeforeNext = resTtlMs; - - return res; - } - - async _upsert(rlKey, points, msDuration, forceExpire = false) { - if( - typeof points == 'string' - ){ - if(!RegExp("^[1-9][0-9]*$").test(points)){ - throw new Error("Consuming string different than integer values is not supported by this package"); - } - } else if (!Number.isInteger(points)){ - throw new Error("Consuming decimal number of points is not supported by this package"); - } - - if (!this._isRedisReady(rlKey, false)) { - throw new Error('Redis connection is not ready'); - } - - const secDuration = Math.floor(msDuration / 1000); - const multi = this.client.multi(); - - if (forceExpire) { - if (secDuration > 0) { - if(!this.useRedisPackage && !this.useRedis3AndLowerPackage){ - multi.set(rlKey, points, "EX", secDuration); - }else{ - multi.set(rlKey, points, { EX: secDuration }); - } - } else { - multi.set(rlKey, points); - } - - if(!this.useRedisPackage && !this.useRedis3AndLowerPackage){ - return multi.pttl(rlKey).exec(true); - } - return multi.pTTL(rlKey).exec(true); - } - - if (secDuration > 0) { - if(!this.useRedisPackage && !this.useRedis3AndLowerPackage){ - return this.client.rlflxIncr( - [rlKey].concat([String(points), String(secDuration), String(this.points), String(this.duration)])); - } - if (this.useRedis3AndLowerPackage) { - return new Promise((resolve, reject) => { - const incrCallback = function (err, result) { - if (err) { - return reject(err); - } - - return resolve(result); - }; - - if (typeof this.client.rlflxIncr === 'function') { - this.client.rlflxIncr(rlKey, points, secDuration, this.points, this.duration, incrCallback); - } else { - this.client.eval(this._incrTtlLuaScript, 1, rlKey, points, secDuration, this.points, this.duration, incrCallback); - } - }); - } else { - return this.client.eval(this._incrTtlLuaScript, { - keys: [rlKey], - arguments: [String(points), String(secDuration), String(this.points), String(this.duration)], - }); - } - } else { - if(!this.useRedisPackage && !this.useRedis3AndLowerPackage){ - return multi.incrby(rlKey, points).pttl(rlKey).exec(true); - } - - return multi.incrBy(rlKey, points).pTTL(rlKey).exec(true); - } - } - - async _get(rlKey) { - if (!this._isRedisReady(rlKey, true)) { - throw new Error('Redis connection is not ready'); - } - if(!this.useRedisPackage && !this.useRedis3AndLowerPackage){ - return this.client - .multi() - .get(rlKey) - .pttl(rlKey) - .exec() - .then((result) => { - const [[,points]] = result; - if (points === null) return null; - return result; - }); - } - - return this.client - .multi() - .get(rlKey) - .pTTL(rlKey) - .exec(true) - .then((result) => { - const [points] = result; - if (points === null) return null; - return result; - }); - } - - _delete(rlKey) { - return this.client - .del(rlKey) - .then(result => result > 0); - } -} - -module.exports = RateLimiterRedis; - - -/***/ }), - -/***/ 80449: -/***/ ((module) => { - -module.exports = class RateLimiterRes { - constructor(remainingPoints, msBeforeNext, consumedPoints, isFirstInDuration) { - this.remainingPoints = typeof remainingPoints === 'undefined' ? 0 : remainingPoints; // Remaining points in current duration - this.msBeforeNext = typeof msBeforeNext === 'undefined' ? 0 : msBeforeNext; // Milliseconds before next action - this.consumedPoints = typeof consumedPoints === 'undefined' ? 0 : consumedPoints; // Consumed points in current duration - this.isFirstInDuration = typeof isFirstInDuration === 'undefined' ? false : isFirstInDuration; - } - - get msBeforeNext() { - return this._msBeforeNext; - } - - set msBeforeNext(ms) { - this._msBeforeNext = ms; - return this; - } - - get remainingPoints() { - return this._remainingPoints; - } - - set remainingPoints(p) { - this._remainingPoints = p; - return this; - } - - get consumedPoints() { - return this._consumedPoints; - } - - set consumedPoints(p) { - this._consumedPoints = p; - return this; - } - - get isFirstInDuration() { - return this._isFirstInDuration; - } - - set isFirstInDuration(value) { - this._isFirstInDuration = Boolean(value); - } - - _getDecoratedProperties() { - return { - remainingPoints: this.remainingPoints, - msBeforeNext: this.msBeforeNext, - consumedPoints: this.consumedPoints, - isFirstInDuration: this.isFirstInDuration, - }; - } - - [Symbol.for("nodejs.util.inspect.custom")]() { - return this._getDecoratedProperties(); - } - - toString() { - return JSON.stringify(this._getDecoratedProperties()); - } - - toJSON() { - return this._getDecoratedProperties(); - } -}; - - -/***/ }), - -/***/ 73283: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -const RateLimiterStoreAbstract = __webpack_require__(65140); -const RateLimiterRes = __webpack_require__(80449); - -class RateLimiterSQLite extends RateLimiterStoreAbstract { - /** - * Internal store type used to determine the SQLite client in use. - * It can be one of the following: - * - `"sqlite3". - * - `"better-sqlite3". - * - * @type {("sqlite3" | "better-sqlite3" | null)} - * @private - */ - _internalStoreType = null; - - /** - * @callback callback - * @param {Object} err - * - * @param {Object} opts - * @param {callback} cb - * Defaults { - * ... see other in RateLimiterStoreAbstract - * storeClient: sqliteClient, // SQLite database instance (sqlite3, better-sqlite3, or knex instance) - * storeType: 'sqlite3' | 'better-sqlite3' | 'knex', // Optional, defaults to 'sqlite3' - * tableName: 'string', - * tableCreated: boolean, - * clearExpiredByTimeout: boolean, - * } - */ - constructor(opts, cb = null) { - super(opts); - - this.client = opts.storeClient; - this.storeType = opts.storeType || "sqlite3"; - this.tableName = opts.tableName; - this.tableCreated = opts.tableCreated || false; - this.clearExpiredByTimeout = opts.clearExpiredByTimeout; - - this._validateStoreTypes(cb); - this._validateStoreClient(cb); - this._setInternalStoreType(cb); - this._validateTableName(cb); - - if (!this.tableCreated) { - this._createDbAndTable() - .then(() => { - this.tableCreated = true; - if (this.clearExpiredByTimeout) this._clearExpiredHourAgo(); - if (typeof cb === "function") cb(); - }) - .catch((err) => { - if (typeof cb === "function") cb(err); - else throw err; - }); - } else { - if (this.clearExpiredByTimeout) this._clearExpiredHourAgo(); - if (typeof cb === "function") cb(); - } - } - _validateStoreTypes(cb) { - const validStoreTypes = ["sqlite3", "better-sqlite3", "knex"]; - if (!validStoreTypes.includes(this.storeType)) { - const err = new Error( - `storeType must be one of: ${validStoreTypes.join(", ")}` - ); - if (typeof cb === "function") return cb(err); - throw err; - } - } - _validateStoreClient(cb) { - if (this.storeType === "sqlite3") { - if (typeof this.client.run !== "function") { - const err = new Error( - "storeClient must be an instance of sqlite3.Database when storeType is 'sqlite3' or no storeType was provided" - ); - if (typeof cb === "function") return cb(err); - throw err; - } - } else if (this.storeType === "better-sqlite3") { - if ( - typeof this.client.prepare !== "function" || - typeof this.client.run !== "undefined" - ) { - const err = new Error( - "storeClient must be an instance of better-sqlite3.Database when storeType is 'better-sqlite3'" - ); - if (typeof cb === "function") return cb(err); - throw err; - } - } else if (this.storeType === "knex") { - if (typeof this.client.raw !== "function") { - const err = new Error( - "storeClient must be an instance of Knex when storeType is 'knex'" - ); - if (typeof cb === "function") return cb(err); - throw err; - } - } - } - _setInternalStoreType(cb) { - if (this.storeType === "knex") { - const knexClientType = this.client.client.config.client; - if (knexClientType === "sqlite3") { - this._internalStoreType = "sqlite3"; - } else if (knexClientType === "better-sqlite3") { - this._internalStoreType = "better-sqlite3"; - } else { - const err = new Error( - "Knex must be configured with 'sqlite3' or 'better-sqlite3' for RateLimiterSQLite" - ); - if (typeof cb === "function") return cb(err); - throw err; - } - } else { - this._internalStoreType = this.storeType; - } - } - _validateTableName(cb) { - if (!/^[A-Za-z0-9_]*$/.test(this.tableName)) { - const err = new Error("Table name must contain only letters and numbers"); - if (typeof cb === "function") return cb(err); - throw err; - } - } - - /** - * Acquires the database connection based on the storeType. - * @returns {Promise} The database client or connection - */ - async _getConnection() { - if (this.storeType === "knex") { - return this.client.client.acquireConnection(); // Acquire raw connection from knex pool - } - return this.client; // For sqlite3 and better-sqlite3, return the client directly - } - - /** - * Releases the database connection if necessary. - * @param {Object} conn The database client or connection - */ - _releaseConnection(conn) { - if (this.storeType === "knex") { - this.client.client.releaseConnection(conn); - } - // No release needed for direct sqlite3 or better-sqlite3 clients - } - - async _createDbAndTable() { - const conn = await this._getConnection(); - try { - switch (this._internalStoreType) { - case "sqlite3": - await new Promise((resolve, reject) => { - conn.run(this._getCreateTableSQL(), (err) => - err ? reject(err) : resolve() - ); - }); - break; - case "better-sqlite3": - conn.prepare(this._getCreateTableSQL()).run(); - break; - default: - throw new Error("Unsupported internalStoreType"); - } - } finally { - this._releaseConnection(conn); - } - } - - _getCreateTableSQL() { - return `CREATE TABLE IF NOT EXISTS ${this.tableName} ( - key TEXT PRIMARY KEY, - points INTEGER NOT NULL DEFAULT 0, - expire INTEGER - )`; - } - - _clearExpiredHourAgo() { - if (this._clearExpiredTimeoutId) clearTimeout(this._clearExpiredTimeoutId); - this._clearExpiredTimeoutId = setTimeout(() => { - this.clearExpired(Date.now() - 3600000) // 1 hour ago - .then(() => this._clearExpiredHourAgo()); - }, 300000); // Every 5 minutes - this._clearExpiredTimeoutId.unref(); - } - - async clearExpired(nowMs) { - const sql = `DELETE FROM ${this.tableName} WHERE expire < ?`; - const conn = await this._getConnection(); - try { - switch (this._internalStoreType) { - case "sqlite3": - await new Promise((resolve, reject) => { - conn.run(sql, [nowMs], (err) => (err ? reject(err) : resolve())); - }); - break; - case "better-sqlite3": - conn.prepare(sql).run(nowMs); - break; - default: - throw new Error("Unsupported internalStoreType"); - } - } finally { - this._releaseConnection(conn); - } - } - - _getRateLimiterRes(rlKey, changedPoints, result) { - const res = new RateLimiterRes(); - res.isFirstInDuration = changedPoints === result.points; - res.consumedPoints = res.isFirstInDuration ? changedPoints : result.points; - res.remainingPoints = Math.max(this.points - res.consumedPoints, 0); - res.msBeforeNext = result.expire - ? Math.max(result.expire - Date.now(), 0) - : -1; - return res; - } - - async _upsertTransactionSQLite3(conn, upsertQuery, upsertParams) { - return await new Promise((resolve, reject) => { - conn.serialize(() => { - conn.run("SAVEPOINT rate_limiter_trx;", (err) => { - if (err) return reject(err); - conn.get(upsertQuery, upsertParams, (err, row) => { - if (err) { - conn.run("ROLLBACK TO SAVEPOINT rate_limiter_trx;", () => - reject(err) - ); - return; - } - conn.run("RELEASE SAVEPOINT rate_limiter_trx;", () => resolve(row)); - }); - }); - }); - }); - } - - async _upsertTransactionBetterSQLite3(conn, upsertQuery, upsertParams) { - return conn.transaction(() => - conn.prepare(upsertQuery).get(...upsertParams) - )(); - } - async _upsertTransaction(rlKey, points, msDuration, forceExpire) { - const dateNow = Date.now(); - const newExpire = msDuration > 0 ? dateNow + msDuration : null; - const upsertQuery = forceExpire - ? `INSERT OR REPLACE INTO ${this.tableName} (key, points, expire) VALUES (?, ?, ?) RETURNING points, expire` - : `INSERT INTO ${this.tableName} (key, points, expire) - VALUES (?, ?, ?) - ON CONFLICT(key) DO UPDATE SET - points = CASE WHEN expire IS NULL OR expire > ? THEN points + excluded.points ELSE excluded.points END, - expire = CASE WHEN expire IS NULL OR expire > ? THEN expire ELSE excluded.expire END - RETURNING points, expire`; - const upsertParams = forceExpire - ? [rlKey, points, newExpire] - : [rlKey, points, newExpire, dateNow, dateNow]; - - const conn = await this._getConnection(); - try { - switch (this._internalStoreType) { - case "sqlite3": - return this._upsertTransactionSQLite3( - conn, - upsertQuery, - upsertParams - ); - case "better-sqlite3": - return this._upsertTransactionBetterSQLite3( - conn, - upsertQuery, - upsertParams - ); - default: - throw new Error("Unsupported internalStoreType"); - } - } finally { - this._releaseConnection(conn); - } - } - - _upsert(rlKey, points, msDuration, forceExpire = false) { - if (!this.tableCreated) { - return Promise.reject(new Error("Table is not created yet")); - } - return this._upsertTransaction(rlKey, points, msDuration, forceExpire); - } - - async _get(rlKey) { - const sql = `SELECT points, expire FROM ${this.tableName} WHERE key = ? AND (expire > ? OR expire IS NULL)`; - const now = Date.now(); - const conn = await this._getConnection(); - try { - switch (this._internalStoreType) { - case "sqlite3": - return await new Promise((resolve, reject) => { - conn.get(sql, [rlKey, now], (err, row) => - err ? reject(err) : resolve(row || null) - ); - }); - case "better-sqlite3": - return conn.prepare(sql).get(rlKey, now) || null; - default: - throw new Error("Unsupported internalStoreType"); - } - } finally { - this._releaseConnection(conn); - } - } - - async _delete(rlKey) { - if (!this.tableCreated) { - return Promise.reject(new Error("Table is not created yet")); - } - const sql = `DELETE FROM ${this.tableName} WHERE key = ?`; - const conn = await this._getConnection(); - try { - switch (this._internalStoreType) { - case "sqlite3": - return await new Promise((resolve, reject) => { - conn.run(sql, [rlKey], function (err) { - if (err) reject(err); - else resolve(this.changes > 0); - }); - }); - case "better-sqlite3": - const result = conn.prepare(sql).run(rlKey); - return result.changes > 0; - default: - throw new Error("Unsupported internalStoreType"); - } - } finally { - this._releaseConnection(conn); - } - } -} - -module.exports = RateLimiterSQLite; - - -/***/ }), - -/***/ 65140: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -const RateLimiterAbstract = __webpack_require__(88569); -const BlockedKeys = __webpack_require__(38830); -const RateLimiterRes = __webpack_require__(80449); -const RateLimiterInsuredAbstract = __webpack_require__(33847); - -module.exports = class RateLimiterStoreAbstract extends RateLimiterInsuredAbstract { - /** - * - * @param opts Object Defaults { - * ... see other in RateLimiterAbstract - * - * inMemoryBlockOnConsumed: 40, // Number of points when key is blocked - * inMemoryBlockDuration: 10, // Block duration in seconds - * insuranceLimiter: RateLimiterAbstract - * } - */ - constructor(opts = {}) { - super(opts); - - this.inMemoryBlockOnConsumed = opts.inMemoryBlockOnConsumed; - this.inMemoryBlockDuration = opts.inMemoryBlockDuration; - this._inMemoryBlockedKeys = new BlockedKeys(); - } - - get client() { - return this._client; - } - - set client(value) { - if (typeof value === 'undefined') { - throw new Error('storeClient is not set'); - } - this._client = value; - } - - /** - * Have to be launched after consume - * It blocks key and execute evenly depending on result from store - * - * It uses _getRateLimiterRes function to prepare RateLimiterRes from store result - * - * @param resolve - * @param reject - * @param rlKey - * @param changedPoints - * @param storeResult - * @param {Object} options - * @private - */ - _afterConsume(resolve, reject, rlKey, changedPoints, storeResult, options = {}) { - const res = this._getRateLimiterRes(rlKey, changedPoints, storeResult); - - if (this.inMemoryBlockOnConsumed > 0 && !(this.inMemoryBlockDuration > 0) - && res.consumedPoints >= this.inMemoryBlockOnConsumed - ) { - this._inMemoryBlockedKeys.addMs(rlKey, res.msBeforeNext); - if (res.consumedPoints > this.points) { - return reject(res); - } else { - return resolve(res) - } - } else if (res.consumedPoints > this.points) { - let blockPromise = Promise.resolve(); - // Block only first time when consumed more than points - if (this.blockDuration > 0 && res.consumedPoints <= (this.points + changedPoints)) { - res.msBeforeNext = this.msBlockDuration; - blockPromise = this._block(rlKey, res.consumedPoints, this.msBlockDuration, options); - } - - if (this.inMemoryBlockOnConsumed > 0 && res.consumedPoints >= this.inMemoryBlockOnConsumed) { - // Block key for this.inMemoryBlockDuration seconds - this._inMemoryBlockedKeys.add(rlKey, this.inMemoryBlockDuration); - res.msBeforeNext = this.msInMemoryBlockDuration; - } - - blockPromise - .then(() => { - reject(res); - }) - .catch((err) => { - reject(err); - }); - } else if (this.execEvenly && res.msBeforeNext > 0 && !res.isFirstInDuration) { - let delay = Math.ceil(res.msBeforeNext / (res.remainingPoints + 2)); - if (delay < this.execEvenlyMinDelayMs) { - delay = res.consumedPoints * this.execEvenlyMinDelayMs; - } - - setTimeout(resolve, delay, res); - } else { - resolve(res); - } - } - - getInMemoryBlockMsBeforeExpire(rlKey) { - if (this.inMemoryBlockOnConsumed > 0) { - return this._inMemoryBlockedKeys.msBeforeExpire(rlKey); - } - - return 0; - } - - get inMemoryBlockOnConsumed() { - return this._inMemoryBlockOnConsumed; - } - - set inMemoryBlockOnConsumed(value) { - this._inMemoryBlockOnConsumed = value ? parseInt(value) : 0; - if (this.inMemoryBlockOnConsumed > 0 && this.points > this.inMemoryBlockOnConsumed) { - throw new Error('inMemoryBlockOnConsumed option must be greater or equal "points" option'); - } - } - - get inMemoryBlockDuration() { - return this._inMemoryBlockDuration; - } - - set inMemoryBlockDuration(value) { - this._inMemoryBlockDuration = value ? parseInt(value) : 0; - if (this.inMemoryBlockDuration > 0 && this.inMemoryBlockOnConsumed === 0) { - throw new Error('inMemoryBlockOnConsumed option must be set up'); - } - } - - get msInMemoryBlockDuration() { - return this._inMemoryBlockDuration * 1000; - } - - /** - * Block any key for secDuration seconds - * - * @param key - * @param secDuration - * @param {Object} options - * - * @return Promise - */ - block(key, secDuration, options = {}) { - const msDuration = secDuration * 1000; - return this._block(this.getKey(key), this.points + 1, msDuration, options); - } - - /** - * Set points by key for any duration - * - * @param key - * @param points - * @param secDuration - * @param {Object} options - * - * @return Promise - */ - set(key, points, secDuration, options = {}) { - const msDuration = (secDuration >= 0 ? secDuration : this.duration) * 1000; - return this._block(this.getKey(key), points, msDuration, options); - } - - /** - * - * @param key - * @param pointsToConsume - * @param {Object} options - * @returns Promise - */ - _consume(key, pointsToConsume = 1, options = {}) { - return new Promise((resolve, reject) => { - const rlKey = this.getKey(key); - - const inMemoryBlockMsBeforeExpire = this.getInMemoryBlockMsBeforeExpire(rlKey); - if (inMemoryBlockMsBeforeExpire > 0) { - return reject(new RateLimiterRes(0, inMemoryBlockMsBeforeExpire)); - } - - this._upsert(rlKey, pointsToConsume, this._getKeySecDuration(options) * 1000, false, options) - .then((res) => { - this._afterConsume(resolve, reject, rlKey, pointsToConsume, res); - }) - .catch((err) => reject(err)); - }); - } - - /** - * - * @param key - * @param points - * @param {Object} options - * @returns Promise - */ - _penalty(key, points = 1, options = {}) { - const rlKey = this.getKey(key); - return new Promise((resolve, reject) => { - this._upsert(rlKey, points, this._getKeySecDuration(options) * 1000, false, options) - .then((res) => { - resolve(this._getRateLimiterRes(rlKey, points, res)); - }) - .catch((res) => reject(res)); - }); - } - - /** - * - * @param key - * @param points - * @param {Object} options - * @returns Promise - */ - _reward(key, points = 1, options = {}) { - const rlKey = this.getKey(key); - return new Promise((resolve, reject) => { - this._upsert(rlKey, -points, this._getKeySecDuration(options) * 1000, false, options) - .then((res) => { - resolve(this._getRateLimiterRes(rlKey, -points, res)); - }) - .catch((res) => reject(res)); - }); - } - - /** - * - * @param key - * @param {Object} options - * @returns Promise|null - */ - get(key, options = {}) { - const rlKey = this.getKey(key); - return new Promise((resolve, reject) => { - this._get(rlKey, options) - .then((res) => { - if (res === null || typeof res === 'undefined') { - resolve(null); - } else { - resolve(this._getRateLimiterRes(rlKey, 0, res)); - } - }) - .catch((err) => { - this._handleError(err, 'get', resolve, reject, [key, options]); - }); - }); - } - - /** - * - * @param key - * @param {Object} options - * @returns Promise - */ - delete(key, options = {}) { - const rlKey = this.getKey(key); - return new Promise((resolve, reject) => { - this._delete(rlKey, options) - .then((res) => { - this._inMemoryBlockedKeys.delete(rlKey); - resolve(res); - }) - .catch((err) => { - this._handleError(err, 'delete', resolve, reject, [key, options]); - }); - }); - } - - /** - * Cleanup keys no-matter expired or not. - */ - deleteInMemoryBlockedAll() { - this._inMemoryBlockedKeys.delete(); - } - - /** - * Get RateLimiterRes object filled depending on storeResult, which specific for exact store - * - * @param rlKey - * @param changedPoints - * @param storeResult - * @private - */ - _getRateLimiterRes(rlKey, changedPoints, storeResult) { // eslint-disable-line no-unused-vars - throw new Error("You have to implement the method '_getRateLimiterRes'!"); - } - - /** - * Block key for this.msBlockDuration milliseconds - * Usually, it just prolongs lifetime of key - * - * @param rlKey - * @param initPoints - * @param msDuration - * @param {Object} options - * - * @return Promise - */ - _block(rlKey, initPoints, msDuration, options = {}) { - return new Promise((resolve, reject) => { - this._upsert(rlKey, initPoints, msDuration, true, options) - .then(() => { - resolve(new RateLimiterRes(0, msDuration > 0 ? msDuration : -1, initPoints)); - }) - .catch((err) => { - this._handleError(err, 'block', resolve, reject, [this.parseKey(rlKey), msDuration / 1000, options]); - }); - }); - } - - /** - * Have to be implemented in every limiter - * Resolve with raw result from Store OR null if rlKey is not set - * or Reject with error - * - * @param rlKey - * @param {Object} options - * @private - * - * @return Promise - */ - _get(rlKey, options = {}) { // eslint-disable-line no-unused-vars - throw new Error("You have to implement the method '_get'!"); - } - - /** - * Have to be implemented - * Resolve with true OR false if rlKey doesn't exist - * or Reject with error - * - * @param rlKey - * @param {Object} options - * @private - * - * @return Promise - */ - _delete(rlKey, options = {}) { // eslint-disable-line no-unused-vars - throw new Error("You have to implement the method '_delete'!"); - } - - /** - * Have to be implemented - * Resolve with object used for {@link _getRateLimiterRes} to generate {@link RateLimiterRes} - * - * @param {string} rlKey - * @param {number} points - * @param {number} msDuration - * @param {boolean} forceExpire - * @param {Object} options - * @abstract - * - * @return Promise - */ - _upsert(rlKey, points, msDuration, forceExpire = false, options = {}) { - throw new Error("You have to implement the method '_upsert'!"); - } -}; - - -/***/ }), - -/***/ 10244: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -const RateLimiterAbstract = __webpack_require__(88569); - -module.exports = class RateLimiterUnion { - constructor(...limiters) { - if (limiters.length < 1) { - throw new Error('RateLimiterUnion: at least one limiter have to be passed'); - } - limiters.forEach((limiter) => { - if (!(limiter instanceof RateLimiterAbstract)) { - throw new Error('RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract'); - } - }); - - this._limiters = limiters; - } - - consume(key, points = 1) { - return new Promise((resolve, reject) => { - const promises = []; - this._limiters.forEach((limiter) => { - promises.push(limiter.consume(key, points).catch(rej => ({ rejected: true, rej }))); - }); - - Promise.all(promises) - .then((res) => { - const resObj = {}; - let rejected = false; - - res.forEach((item) => { - if (item.rejected === true) { - rejected = true; - } - }); - - for (let i = 0; i < res.length; i++) { - if (rejected && res[i].rejected === true) { - resObj[this._limiters[i].keyPrefix] = res[i].rej; - } else if (!rejected) { - resObj[this._limiters[i].keyPrefix] = res[i]; - } - } - - if (rejected) { - reject(resObj); - } else { - resolve(resObj); - } - }); - }); - } -}; - - -/***/ }), - -/***/ 32193: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -const RateLimiterStoreAbstract = __webpack_require__(65140); -const RateLimiterRes = __webpack_require__(80449); - -const incrTtlLuaScript = ` -server.call('set', KEYS[1], 0, 'EX', ARGV[2], 'NX') -local consumed = server.call('incrby', KEYS[1], ARGV[1]) -local ttl = server.call('pttl', KEYS[1]) -return {consumed, ttl} -`; - -class RateLimiterValkey extends RateLimiterStoreAbstract { - /** - * - * @param {Object} opts - * Defaults { - * ... see other in RateLimiterStoreAbstract - * - * storeClient: ValkeyClient - * rejectIfValkeyNotReady: boolean = false - reject / invoke insuranceLimiter immediately when valkey connection is not "ready" - * } - */ - constructor(opts) { - super(opts); - this.client = opts.storeClient; - - this._rejectIfValkeyNotReady = !!opts.rejectIfValkeyNotReady; - this._incrTtlLuaScript = opts.customIncrTtlLuaScript || incrTtlLuaScript; - - this.client.defineCommand('rlflxIncr', { - numberOfKeys: 1, - lua: this._incrTtlLuaScript, - }); - } - - /** - * Prevent actual valkey call if valkey connection is not ready - * @return {boolean} - * @private - */ - _isValkeyReady() { - if (!this._rejectIfValkeyNotReady) { - return true; - } - - return this.client.status === 'ready'; - } - - _getRateLimiterRes(rlKey, changedPoints, result) { - let consumed; - let resTtlMs; - - if (Array.isArray(result[0])) { - [[, consumed], [, resTtlMs]] = result; - } else { - [consumed, resTtlMs] = result; - } - - const res = new RateLimiterRes(); - res.consumedPoints = +consumed; - res.isFirstInDuration = res.consumedPoints === changedPoints; - res.remainingPoints = Math.max(this.points - res.consumedPoints, 0); - res.msBeforeNext = resTtlMs; - - return res; - } - - _upsert(rlKey, points, msDuration, forceExpire = false) { - if (!this._isValkeyReady()) { - throw new Error('Valkey connection is not ready'); - } - - const secDuration = Math.floor(msDuration / 1000); - - if (forceExpire) { - const multi = this.client.multi(); - - if (secDuration > 0) { - multi.set(rlKey, points, 'EX', secDuration); - } else { - multi.set(rlKey, points); - } - - return multi.pttl(rlKey).exec(); - } - - if (secDuration > 0) { - return this.client.rlflxIncr([rlKey, String(points), String(secDuration), String(this.points), String(this.duration)]); - } - - return this.client.multi().incrby(rlKey, points).pttl(rlKey).exec(); - } - - _get(rlKey) { - if (!this._isValkeyReady()) { - throw new Error('Valkey connection is not ready'); - } - - return this.client - .multi() - .get(rlKey) - .pttl(rlKey) - .exec() - .then((result) => { - const [[, points]] = result; - if (points === null) return null; - return result; - }); - } - - _delete(rlKey) { - return this.client - .del(rlKey) - .then(result => result > 0); - } -} - -module.exports = RateLimiterValkey; - - -/***/ }), - -/***/ 53756: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -/* eslint-disable no-unused-vars */ -const RateLimiterStoreAbstract = __webpack_require__(65140); -const RateLimiterRes = __webpack_require__(80449); - -/** - * @typedef {import('@valkey/valkey-glide').GlideClient} GlideClient - * @typedef {import('@valkey/valkey-glide').GlideClusterClient} GlideClusterClient - */ - -const DEFAULT_LIBRARY_NAME = 'ratelimiterflexible'; - -const DEFAULT_VALKEY_SCRIPT = `local key = KEYS[1] -local pointsToConsume = tonumber(ARGV[1]) -if tonumber(ARGV[2]) > 0 then - server.call('set', key, "0", 'EX', ARGV[2], 'NX') - local consumed = server.call('incrby', key, pointsToConsume) - local pttl = server.call('pttl', key) - return {consumed, pttl} -end -local consumed = server.call('incrby', key, pointsToConsume) -local pttl = server.call('pttl', key) -return {consumed, pttl}`; - -const GET_VALKEY_SCRIPT = `local key = KEYS[1] -local value = server.call('get', key) -if value == nil then - return value -end -local pttl = server.call('pttl', key) -return {tonumber(value), pttl}`; - -class RateLimiterValkeyGlide extends RateLimiterStoreAbstract { - /** - * Constructor for RateLimiterValkeyGlide - * - * @param {Object} opts - Configuration options - * @param {GlideClient|GlideClusterClient} opts.storeClient - Valkey Glide client instance (required) - * @param {number} [opts.points=4] - Maximum number of points that can be consumed over duration - * @param {number} [opts.duration=1] - Duration in seconds before points are reset - * @param {number} [opts.blockDuration=0] - Duration in seconds that a key will be blocked for if consumed more than points - * @param {boolean} [opts.rejectIfValkeyNotReady=false] - Whether to reject requests if Valkey is not ready - * @param {boolean} [opts.execEvenly=false] - Delay actions to distribute them evenly over duration - * @param {number} [opts.execEvenlyMinDelayMs] - Minimum delay between actions when execEvenly is true - * @param {string} [opts.customFunction] - Custom Lua script for rate limiting logic - * @param {number} [opts.inMemoryBlockOnConsumed] - Points threshold for in-memory blocking - * @param {number} [opts.inMemoryBlockDuration] - Duration in seconds for in-memory blocking - * @param {string} [opts.customFunctionLibName] - Custom name for the function library, defaults to 'ratelimiter'. - * The name is used to identify the library of the lua function. An custom name should be used only if you - * you want to use different libraries for different rate limiters, otherwise it is not needed. - * @param {RateLimiterAbstract} [opts.insuranceLimiter] - Backup limiter to use when the primary client fails - * - * @example - * const rateLimiter = new RateLimiterValkeyGlide({ - * storeClient: glideClient, - * points: 5, - * duration: 1 - * }); - * - * @example With custom Lua function - * const customScript = `local key = KEYS[1] - * local pointsToConsume = tonumber(ARGV[1]) or 0 - * local secDuration = tonumber(ARGV[2]) or 0 - * - * -- Custom implementation - * -- ... - * - * -- Must return exactly two values: [consumed_points, ttl_in_ms] - * return {consumed, ttl}` - * - * const rateLimiter = new RateLimiterValkeyGlide({ - * storeClient: glideClient, - * points: 5, - * customFunction: customScript - * }); - * - * @example With insurance limiter - * const rateLimiter = new RateLimiterValkeyGlide({ - * storeClient: primaryGlideClient, - * points: 5, - * duration: 2, - * insuranceLimiter: new RateLimiterMemory({ - * points: 5, - * duration: 2 - * }) - * }); - * - * @description - * When providing a custom Lua script via `opts.customFunction`, it must: - * - * 1. Accept parameters: - * - KEYS[1]: The key being rate limited - * - ARGV[1]: Points to consume (as string, use tonumber() to convert) - * - ARGV[2]: Duration in seconds (as string, use tonumber() to convert) - * - * 2. Return an array with exactly two elements: - * - [0]: Consumed points (number) - * - [1]: TTL in milliseconds (number) - * - * 3. Handle scenarios: - * - New key creation: Initialize with expiry for fixed windows - * - Key updates: Increment existing counters - */ - constructor(opts) { - super(opts); - this.client = opts.storeClient; - this._scriptLoaded = false; - this._getScriptLoaded = false; - this._rejectIfValkeyNotReady = !!opts.rejectIfValkeyNotReady; - this._luaScript = opts.customFunction || DEFAULT_VALKEY_SCRIPT; - this._libraryName = opts.customFunctionLibName || DEFAULT_LIBRARY_NAME; - } - - /** - * Ensure scripts are loaded in the Valkey server - * @returns {Promise} True if scripts are loaded - * @private - */ - async _loadScripts() { - if (this._scriptLoaded && this._getScriptLoaded) { - return true; - } - if (!this.client) { - throw new Error('Valkey client is not set'); - } - const promises = []; - if (!this._scriptLoaded) { - const script = Buffer.from(`#!lua name=${this._libraryName} - local function consume(KEYS, ARGV) - ${this._luaScript.trim()} - end - server.register_function('consume', consume)`); - promises.push(this.client.functionLoad(script, { replace: true })); - } else promises.push(Promise.resolve(this._libraryName)); - - if (!this._getScriptLoaded) { - const script = Buffer.from(`#!lua name=ratelimiter_get - local function getValue(KEYS, ARGV) - ${GET_VALKEY_SCRIPT.trim()} - end - server.register_function('getValue', getValue)`); - promises.push(this.client.functionLoad(script, { replace: true })); - } else promises.push(Promise.resolve('ratelimiter_get')); - - const results = await Promise.all(promises); - this._scriptLoaded = results[0] === this._libraryName; - this._getScriptLoaded = results[1] === 'ratelimiter_get'; - - if ((!this._scriptLoaded || !this._getScriptLoaded)) { - throw new Error('Valkey connection is not ready, scripts not loaded'); - } - return true; - } - - /** - * Update or insert the rate limiter record - * - * @param {string} rlKey - The rate limiter key - * @param {number} pointsToConsume - Points to be consumed - * @param {number} msDuration - Duration in milliseconds - * @param {boolean} [forceExpire=false] - Whether to force expiration - * @param {Object} [options={}] - Additional options - * @returns {Promise} Array containing consumed points and TTL - * @private - */ - async _upsert(rlKey, pointsToConsume, msDuration, forceExpire = false, options = {}) { - await this._loadScripts(); - const secDuration = Math.floor(msDuration / 1000); - if (forceExpire) { - if (secDuration > 0) { - await this.client.set( - rlKey, - String(pointsToConsume), - { expiry: { type: 'EX', count: secDuration } }, - ); - return [pointsToConsume, secDuration * 1000]; - } - await this.client.set(rlKey, String(pointsToConsume)); - return [pointsToConsume, -1]; - } - const result = await this.client.fcall( - 'consume', - [rlKey], - [String(pointsToConsume), String(secDuration)], - ); - return result; - } - - /** - * Get the rate limiter record - * - * @param {string} rlKey - The rate limiter key - * @param {Object} [options={}] - Additional options - * @returns {Promise} Array containing consumed points and TTL, or null if not found - * @private - */ - async _get(rlKey, options = {}) { - await this._loadScripts(); - const res = await this.client.fcall('getValue', [rlKey], []); - return res.length > 0 ? res : null; - } - - /** - * Delete the rate limiter record - * - * @param {string} rlKey - The rate limiter key - * @param {Object} [options={}] - Additional options - * @returns {Promise} True if successful, false otherwise - * @private - */ - async _delete(rlKey, options = {}) { - const result = await this.client.del([rlKey]); - return result > 0; - } - - /** - * Convert raw result to RateLimiterRes object - * - * @param {string} rlKey - The rate limiter key - * @param {number} changedPoints - Points changed in this operation - * @param {Array|null} result - Result from Valkey operation - * @returns {RateLimiterRes|null} RateLimiterRes object or null if result is null - * @private - */ - _getRateLimiterRes(rlKey, changedPoints, result) { - if (result === null) { - return null; - } - const res = new RateLimiterRes(); - const [consumedPointsStr, pttl] = result; - const consumedPoints = Number(consumedPointsStr); - - // Handle consumed points - res.isFirstInDuration = consumedPoints === changedPoints; - res.consumedPoints = consumedPoints; - res.remainingPoints = Math.max(this.points - res.consumedPoints, 0); - res.msBeforeNext = pttl; - return res; - } - - /** - * Close the rate limiter and release resources - * Note: The method won't going to close the Valkey client, as it may be shared with other instances. - * @returns {Promise} Promise that resolves when the rate limiter is closed - */ - async close() { - if (this._scriptLoaded) { - await this.client.functionDelete(this._libraryName); - this._scriptLoaded = false; - } - if (this._getScriptLoaded) { - await this.client.functionDelete('ratelimiter_get'); - this._getScriptLoaded = false; - } - if (this.insuranceLimiter) { - try { - await this.insuranceLimiter.close(); - } catch (e) { - // We can't assume that insuranceLimiter is a Valkey client or any - // other insuranceLimiter type which implement close method. - } - } - // Clear instance properties to let garbage collector free memory - this.client = null; - this._scriptLoaded = false; - this._getScriptLoaded = false; - this._rejectIfValkeyNotReady = false; - this._luaScript = null; - this._libraryName = null; - this.insuranceLimiter = null; - } -} - -module.exports = RateLimiterValkeyGlide; - - -/***/ }), - -/***/ 85202: -/***/ ((module) => { - -module.exports = class BlockedKeys { - constructor() { - this._keys = {}; // {'key': 1526279430331} - this._addedKeysAmount = 0; - } - - collectExpired() { - const now = Date.now(); - - Object.keys(this._keys).forEach((key) => { - if (this._keys[key] <= now) { - delete this._keys[key]; - } - }); - - this._addedKeysAmount = Object.keys(this._keys).length; - } - - /** - * Add new blocked key - * - * @param key String - * @param sec Number - */ - add(key, sec) { - this.addMs(key, sec * 1000); - } - - /** - * Add new blocked key for ms - * - * @param key String - * @param ms Number - */ - addMs(key, ms) { - this._keys[key] = Date.now() + ms; - this._addedKeysAmount++; - if (this._addedKeysAmount > 999) { - this.collectExpired(); - } - } - - /** - * 0 means not blocked - * - * @param key - * @returns {number} - */ - msBeforeExpire(key) { - const expire = this._keys[key]; - - if (expire && expire >= Date.now()) { - this.collectExpired(); - const now = Date.now(); - return expire >= now ? expire - now : 0; - } - - return 0; - } - - /** - * If key is not given, delete all data in memory - * - * @param {string|undefined} key - */ - delete(key) { - if (key) { - delete this._keys[key]; - } else { - Object.keys(this._keys).forEach((key) => { - delete this._keys[key]; - }); - } - } -}; - - -/***/ }), - -/***/ 38830: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -const BlockedKeys = __webpack_require__(85202); - -module.exports = BlockedKeys; - - -/***/ }), - -/***/ 81534: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -const Record = __webpack_require__(60749); -const RateLimiterRes = __webpack_require__(80449); - -module.exports = class MemoryStorage { - constructor() { - /** - * @type {Object.} - * @private - */ - this._storage = {}; - } - - incrby(key, value, durationSec) { - if (this._storage[key]) { - const msBeforeExpires = this._storage[key].expiresAt - ? this._storage[key].expiresAt.getTime() - new Date().getTime() - : -1; - if (!this._storage[key].expiresAt || msBeforeExpires > 0) { - // Change value - this._storage[key].value = this._storage[key].value + value; - - return new RateLimiterRes(0, msBeforeExpires, this._storage[key].value, false); - } - - return this.set(key, value, durationSec); - } - return this.set(key, value, durationSec); - } - - set(key, value, durationSec) { - const durationMs = durationSec * 1000; - - if (this._storage[key] && this._storage[key].timeoutId) { - clearTimeout(this._storage[key].timeoutId); - } - - this._storage[key] = new Record( - value, - durationMs > 0 ? new Date(Date.now() + durationMs) : null - ); - if (durationMs > 0) { - this._storage[key].timeoutId = setTimeout(() => { - delete this._storage[key]; - }, durationMs); - if (this._storage[key].timeoutId.unref) { - this._storage[key].timeoutId.unref(); - } - } - - return new RateLimiterRes(0, durationMs === 0 ? -1 : durationMs, this._storage[key].value, true); - } - - /** - * - * @param key - * @returns {*} - */ - get(key) { - if (this._storage[key]) { - const msBeforeExpires = this._storage[key].expiresAt - ? this._storage[key].expiresAt.getTime() - new Date().getTime() - : -1; - return new RateLimiterRes(0, msBeforeExpires, this._storage[key].value, false); - } - return null; - } - - /** - * - * @param key - * @returns {boolean} - */ - delete(key) { - if (this._storage[key]) { - if (this._storage[key].timeoutId) { - clearTimeout(this._storage[key].timeoutId); - } - delete this._storage[key]; - return true; - } - return false; - } -}; - - -/***/ }), - -/***/ 60749: -/***/ ((module) => { - -module.exports = class Record { - /** - * - * @param value int - * @param expiresAt Date|int - * @param timeoutId - */ - constructor(value, expiresAt, timeoutId = null) { - this.value = value; - this.expiresAt = expiresAt; - this.timeoutId = timeoutId; - } - - get value() { - return this._value; - } - - set value(value) { - this._value = parseInt(value); - } - - get expiresAt() { - return this._expiresAt; - } - - set expiresAt(value) { - if (!(value instanceof Date) && Number.isInteger(value)) { - value = new Date(value); - } - this._expiresAt = value; - } - - get timeoutId() { - return this._timeoutId; - } - - set timeoutId(value) { - this._timeoutId = value; - } -}; - - -/***/ }), - -/***/ 43184: -/***/ ((module) => { - -module.exports = class RateLimiterEtcdTransactionFailedError extends Error { - constructor(message) { - super(); - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - this.name = 'RateLimiterEtcdTransactionFailedError'; - this.message = message; - } -}; - - -/***/ }), - -/***/ 27948: -/***/ ((module) => { - -module.exports = class RateLimiterQueueError extends Error { - constructor(message, extra) { - super(); - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - this.name = 'CustomError'; - this.message = message; - if (extra) { - this.extra = extra; - } - } -}; - - -/***/ }), - -/***/ 72922: -/***/ ((module) => { - -module.exports = class RateLimiterSetupError extends Error { - constructor(message) { - super(); - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - this.name = 'RateLimiterSetupError'; - this.message = message; - } -}; - - -/***/ }), - -/***/ 8948: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var inspect = __webpack_require__(60506); - -var $TypeError = __webpack_require__(73314); - -/* -* This function traverses the list returning the node corresponding to the given key. -* -* That node is also moved to the head of the list, so that if it's accessed again we don't need to traverse the whole list. -* By doing so, all the recently used nodes can be accessed relatively quickly. -*/ -/** @type {import('./list.d.ts').listGetNode} */ -// eslint-disable-next-line consistent-return -var listGetNode = function (list, key, isDelete) { - /** @type {typeof list | NonNullable<(typeof list)['next']>} */ - var prev = list; - /** @type {(typeof list)['next']} */ - var curr; - // eslint-disable-next-line eqeqeq - for (; (curr = prev.next) != null; prev = curr) { - if (curr.key === key) { - prev.next = curr.next; - if (!isDelete) { - // eslint-disable-next-line no-extra-parens - curr.next = /** @type {NonNullable} */ (list.next); - list.next = curr; // eslint-disable-line no-param-reassign - } - return curr; - } - } -}; - -/** @type {import('./list.d.ts').listGet} */ -var listGet = function (objects, key) { - if (!objects) { - return void undefined; - } - var node = listGetNode(objects, key); - return node && node.value; -}; -/** @type {import('./list.d.ts').listSet} */ -var listSet = function (objects, key, value) { - var node = listGetNode(objects, key); - if (node) { - node.value = value; - } else { - // Prepend the new node to the beginning of the list - objects.next = /** @type {import('./list.d.ts').ListNode} */ ({ // eslint-disable-line no-param-reassign, no-extra-parens - key: key, - next: objects.next, - value: value - }); - } -}; -/** @type {import('./list.d.ts').listHas} */ -var listHas = function (objects, key) { - if (!objects) { - return false; - } - return !!listGetNode(objects, key); -}; -/** @type {import('./list.d.ts').listDelete} */ -// eslint-disable-next-line consistent-return -var listDelete = function (objects, key) { - if (objects) { - return listGetNode(objects, key, true); - } -}; - -/** @type {import('.')} */ -module.exports = function getSideChannelList() { - /** @typedef {ReturnType} Channel */ - /** @typedef {Parameters[0]} K */ - /** @typedef {Parameters[1]} V */ - - /** @type {import('./list.d.ts').RootNode | undefined} */ var $o; - - /** @type {Channel} */ - var channel = { - assert: function (key) { - if (!channel.has(key)) { - throw new $TypeError('Side channel does not contain ' + inspect(key)); - } - }, - 'delete': function (key) { - var root = $o && $o.next; - var deletedNode = listDelete($o, key); - if (deletedNode && root && root === deletedNode) { - $o = void undefined; - } - return !!deletedNode; - }, - get: function (key) { - return listGet($o, key); - }, - has: function (key) { - return listHas($o, key); - }, - set: function (key, value) { - if (!$o) { - // Initialize the linked list as an empty node, so that we don't have to special-case handling of the first node: we can always refer to it as (previous node).next, instead of something like (list).head - $o = { - next: void undefined - }; - } - // eslint-disable-next-line no-extra-parens - listSet(/** @type {NonNullable} */ ($o), key, value); - } - }; - // @ts-expect-error TODO: figure out why this is erroring - return channel; -}; - - -/***/ }), - -/***/ 82622: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var GetIntrinsic = __webpack_require__(60470); -var callBound = __webpack_require__(23105); -var inspect = __webpack_require__(60506); - -var $TypeError = __webpack_require__(73314); -var $Map = GetIntrinsic('%Map%', true); - -/** @type {(thisArg: Map, key: K) => V} */ -var $mapGet = callBound('Map.prototype.get', true); -/** @type {(thisArg: Map, key: K, value: V) => void} */ -var $mapSet = callBound('Map.prototype.set', true); -/** @type {(thisArg: Map, key: K) => boolean} */ -var $mapHas = callBound('Map.prototype.has', true); -/** @type {(thisArg: Map, key: K) => boolean} */ -var $mapDelete = callBound('Map.prototype.delete', true); -/** @type {(thisArg: Map) => number} */ -var $mapSize = callBound('Map.prototype.size', true); - -/** @type {import('.')} */ -module.exports = !!$Map && /** @type {Exclude} */ function getSideChannelMap() { - /** @typedef {ReturnType} Channel */ - /** @typedef {Parameters[0]} K */ - /** @typedef {Parameters[1]} V */ - - /** @type {Map | undefined} */ var $m; - - /** @type {Channel} */ - var channel = { - assert: function (key) { - if (!channel.has(key)) { - throw new $TypeError('Side channel does not contain ' + inspect(key)); - } - }, - 'delete': function (key) { - if ($m) { - var result = $mapDelete($m, key); - if ($mapSize($m) === 0) { - $m = void undefined; - } - return result; - } - return false; - }, - get: function (key) { // eslint-disable-line consistent-return - if ($m) { - return $mapGet($m, key); - } - }, - has: function (key) { - if ($m) { - return $mapHas($m, key); - } - return false; - }, - set: function (key, value) { - if (!$m) { - // @ts-expect-error TS can't handle narrowing a variable inside a closure - $m = new $Map(); - } - $mapSet($m, key, value); - } - }; - - // @ts-expect-error TODO: figure out why TS is erroring here - return channel; -}; - - -/***/ }), - -/***/ 92870: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var GetIntrinsic = __webpack_require__(60470); -var callBound = __webpack_require__(23105); -var inspect = __webpack_require__(60506); -var getSideChannelMap = __webpack_require__(82622); - -var $TypeError = __webpack_require__(73314); -var $WeakMap = GetIntrinsic('%WeakMap%', true); - -/** @type {(thisArg: WeakMap, key: K) => V} */ -var $weakMapGet = callBound('WeakMap.prototype.get', true); -/** @type {(thisArg: WeakMap, key: K, value: V) => void} */ -var $weakMapSet = callBound('WeakMap.prototype.set', true); -/** @type {(thisArg: WeakMap, key: K) => boolean} */ -var $weakMapHas = callBound('WeakMap.prototype.has', true); -/** @type {(thisArg: WeakMap, key: K) => boolean} */ -var $weakMapDelete = callBound('WeakMap.prototype.delete', true); - -/** @type {import('.')} */ -module.exports = $WeakMap - ? /** @type {Exclude} */ function getSideChannelWeakMap() { - /** @typedef {ReturnType} Channel */ - /** @typedef {Parameters[0]} K */ - /** @typedef {Parameters[1]} V */ - - /** @type {WeakMap | undefined} */ var $wm; - /** @type {Channel | undefined} */ var $m; - - /** @type {Channel} */ - var channel = { - assert: function (key) { - if (!channel.has(key)) { - throw new $TypeError('Side channel does not contain ' + inspect(key)); - } - }, - 'delete': function (key) { - if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) { - if ($wm) { - return $weakMapDelete($wm, key); - } - } else if (getSideChannelMap) { - if ($m) { - return $m['delete'](key); - } - } - return false; - }, - get: function (key) { - if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) { - if ($wm) { - return $weakMapGet($wm, key); - } - } - return $m && $m.get(key); - }, - has: function (key) { - if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) { - if ($wm) { - return $weakMapHas($wm, key); - } - } - return !!$m && $m.has(key); - }, - set: function (key, value) { - if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) { - if (!$wm) { - $wm = new $WeakMap(); - } - $weakMapSet($wm, key, value); - } else if (getSideChannelMap) { - if (!$m) { - $m = getSideChannelMap(); - } - // eslint-disable-next-line no-extra-parens - /** @type {NonNullable} */ ($m).set(key, value); - } - } - }; - - // @ts-expect-error TODO: figure out why this is erroring - return channel; - } - : getSideChannelMap; - - -/***/ }), - -/***/ 94753: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var $TypeError = __webpack_require__(73314); -var inspect = __webpack_require__(60506); -var getSideChannelList = __webpack_require__(8948); -var getSideChannelMap = __webpack_require__(82622); -var getSideChannelWeakMap = __webpack_require__(92870); - -var makeChannel = getSideChannelWeakMap || getSideChannelMap || getSideChannelList; - -/** @type {import('.')} */ -module.exports = function getSideChannel() { - /** @typedef {ReturnType} Channel */ - - /** @type {Channel | undefined} */ var $channelData; - - /** @type {Channel} */ - var channel = { - assert: function (key) { - if (!channel.has(key)) { - throw new $TypeError('Side channel does not contain ' + inspect(key)); - } - }, - 'delete': function (key) { - return !!$channelData && $channelData['delete'](key); - }, - get: function (key) { - return $channelData && $channelData.get(key); - }, - has: function (key) { - return !!$channelData && $channelData.has(key); - }, - set: function (key, value) { - if (!$channelData) { - $channelData = makeChannel(); - } - - $channelData.set(key, value); - } - }; - // @ts-expect-error TODO: figure out why this is erroring - return channel; -}; - - -/***/ }), - -/***/ 4908: -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; -var __webpack_unused_export__; - - -__webpack_unused_export__ = ({ - value: true -}); - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; - -function isLower(char) { - return char >= 0x61 /* 'a' */ && char <= 0x7a /* 'z' */; -} - -function isUpper(char) { - return char >= 0x41 /* 'A' */ && char <= 0x5a /* 'Z' */; -} - -function isDigit(char) { - return char >= 0x30 /* '0' */ && char <= 0x39 /* '9' */; -} - -function toUpper(char) { - return char - 0x20; -} - -function toUpperSafe(char) { - if (isLower(char)) { - return char - 0x20; - } - return char; -} - -function toLower(char) { - return char + 0x20; -} - -function camelize$1(str, separator) { - var firstChar = str.charCodeAt(0); - if (isDigit(firstChar) || isUpper(firstChar) || firstChar == separator) { - return str; - } - var out = []; - var changed = false; - if (isUpper(firstChar)) { - changed = true; - out.push(toLower(firstChar)); - } else { - out.push(firstChar); - } - - var length = str.length; - for (var i = 1; i < length; ++i) { - var c = str.charCodeAt(i); - if (c === separator) { - changed = true; - c = str.charCodeAt(++i); - if (isNaN(c)) { - return str; - } - out.push(toUpperSafe(c)); - } else { - out.push(c); - } - } - return changed ? String.fromCharCode.apply(undefined, out) : str; -} - -function decamelize$1(str, separator) { - var firstChar = str.charCodeAt(0); - if (!isLower(firstChar)) { - return str; - } - var length = str.length; - var changed = false; - var out = []; - for (var i = 0; i < length; ++i) { - var c = str.charCodeAt(i); - if (isUpper(c)) { - out.push(separator); - out.push(toLower(c)); - changed = true; - } else { - out.push(c); - } - } - return changed ? String.fromCharCode.apply(undefined, out) : str; -} - -function pascalize$1(str, separator) { - var firstChar = str.charCodeAt(0); - if (isDigit(firstChar) || firstChar == separator) { - return str; - } - var length = str.length; - var changed = false; - var out = []; - for (var i = 0; i < length; ++i) { - var c = str.charCodeAt(i); - if (c === separator) { - changed = true; - c = str.charCodeAt(++i); - if (isNaN(c)) { - return str; - } - out.push(toUpperSafe(c)); - } else if (i === 0 && isLower(c)) { - changed = true; - out.push(toUpper(c)); - } else { - out.push(c); - } - } - return changed ? String.fromCharCode.apply(undefined, out) : str; -} - -function depascalize$1(str, separator) { - var firstChar = str.charCodeAt(0); - if (!isUpper(firstChar)) { - return str; - } - var length = str.length; - var changed = false; - var out = []; - for (var i = 0; i < length; ++i) { - var c = str.charCodeAt(i); - if (isUpper(c)) { - if (i > 0) { - out.push(separator); - } - out.push(toLower(c)); - changed = true; - } else { - out.push(c); - } - } - return changed ? String.fromCharCode.apply(undefined, out) : str; -} - -function shouldProcessValue(value) { - return value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) == 'object' && !(value instanceof Date) && !(value instanceof Function); -} - -function processKeys(obj, fun, opts) { - var obj2 = void 0; - if (obj instanceof Array) { - obj2 = []; - } else { - if (typeof obj.prototype !== 'undefined') { - // return non-plain object unchanged - return obj; - } - obj2 = {}; - } - for (var key in obj) { - var value = obj[key]; - if (typeof key === 'string') key = fun(key, opts && opts.separator); - if (shouldProcessValue(value)) { - obj2[key] = processKeys(value, fun, opts); - } else { - obj2[key] = value; - } - } - return obj2; -} - -function processKeysInPlace(obj, fun, opts) { - var keys = Object.keys(obj); - for (var idx = 0; idx < keys.length; ++idx) { - var key = keys[idx]; - var value = obj[key]; - var newKey = fun(key, opts && opts.separator); - if (newKey !== key) { - delete obj[key]; - } - if (shouldProcessValue(value)) { - obj[newKey] = processKeys(value, fun, opts); - } else { - obj[newKey] = value; - } - } - return obj; -} - -function camelize$$1(str, separator) { - return camelize$1(str, separator && separator.charCodeAt(0) || 0x5f /* _ */); -} - -function decamelize$$1(str, separator) { - return decamelize$1(str, separator && separator.charCodeAt(0) || 0x5f /* _ */); -} - -function pascalize$$1(str, separator) { - return pascalize$1(str, separator && separator.charCodeAt(0) || 0x5f /* _ */); -} - -function depascalize$$1(str, separator) { - return depascalize$1(str, separator && separator.charCodeAt(0) || 0x5f /* _ */); -} - -function camelizeKeys(obj, opts) { - opts = opts || {}; - if (!shouldProcessValue(obj)) return obj; - if (opts.inPlace) return processKeysInPlace(obj, camelize$$1, opts); - return processKeys(obj, camelize$$1, opts); -} - -function decamelizeKeys(obj, opts) { - opts = opts || {}; - if (!shouldProcessValue(obj)) return obj; - if (opts.inPlace) return processKeysInPlace(obj, decamelize$$1, opts); - return processKeys(obj, decamelize$$1, opts); -} - -function pascalizeKeys(obj, opts) { - opts = opts || {}; - if (!shouldProcessValue(obj)) return obj; - if (opts.inPlace) return processKeysInPlace(obj, pascalize$$1, opts); - return processKeys(obj, pascalize$$1, opts); -} - -function depascalizeKeys(obj, opts) { - opts = opts || {}; - if (!shouldProcessValue(obj)) return obj; - if (opts.inPlace) return processKeysInPlace(obj, depascalize$$1, opts); - return processKeys(obj, depascalize$$1, opts); -} - -__webpack_unused_export__ = camelize$$1; -__webpack_unused_export__ = decamelize$$1; -__webpack_unused_export__ = pascalize$$1; -__webpack_unused_export__ = depascalize$$1; -exports.bn = camelizeKeys; -exports.I8 = decamelizeKeys; -__webpack_unused_export__ = pascalizeKeys; -__webpack_unused_export__ = depascalizeKeys; - - -/***/ }), - -/***/ 33888: -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ GitbeakerRequestError: () => (/* binding */ GitbeakerRequestError), -/* harmony export */ PD: () => (/* binding */ createRequesterFn), -/* harmony export */ Qx: () => (/* binding */ BaseResource), -/* harmony export */ _d: () => (/* binding */ GitbeakerTimeoutError), -/* harmony export */ wA: () => (/* binding */ presetResourceArguments), -/* harmony export */ xQ: () => (/* binding */ GitbeakerRetryError), -/* harmony export */ y9: () => (/* binding */ getMatchingRateLimiter) -/* harmony export */ }); -/* unused harmony exports createRateLimiters, defaultOptionsHandler, formatQuery, generateRateLimiterFn */ -/* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(40240); -/* harmony import */ var xcase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4908); -/* harmony import */ var rate_limiter_flexible__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8649); -/* harmony import */ var picomatch_browser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(43379); - - - - - -// src/RequesterUtils.ts -var { isMatch: isGlobMatch } = picomatch_browser__WEBPACK_IMPORTED_MODULE_2__; -function generateRateLimiterFn(limit, interval) { - const limiter = new rate_limiter_flexible__WEBPACK_IMPORTED_MODULE_1__.RateLimiterQueue( - new rate_limiter_flexible__WEBPACK_IMPORTED_MODULE_1__.RateLimiterMemory({ points: limit, duration: interval }) - ); - return () => limiter.removeTokens(1); -} -function formatQuery(params = {}) { - const decamelized = (0,xcase__WEBPACK_IMPORTED_MODULE_0__/* .decamelizeKeys */ .I8)(params); - return (0,qs__WEBPACK_IMPORTED_MODULE_3__.stringify)(decamelized, { arrayFormat: "brackets" }); -} -async function defaultOptionsHandler(resourceOptions, { - body, - searchParams, - sudo, - signal, - asStream = false, - method = "GET" -} = {}) { - const { headers: preconfiguredHeaders, authHeaders, url, agent } = resourceOptions; - const defaultOptions = { - method, - asStream, - signal, - prefixUrl: url, - agent - }; - defaultOptions.headers = { ...preconfiguredHeaders }; - if (sudo) defaultOptions.headers.sudo = `${sudo}`; - if (body) { - if (body instanceof FormData) { - defaultOptions.body = body; - } else { - defaultOptions.body = JSON.stringify((0,xcase__WEBPACK_IMPORTED_MODULE_0__/* .decamelizeKeys */ .I8)(body)); - defaultOptions.headers["content-type"] = "application/json"; - } - } - if (Object.keys(authHeaders).length > 0) { - const [authHeaderKey, authHeaderFn] = Object.entries(authHeaders)[0]; - defaultOptions.headers[authHeaderKey] = await authHeaderFn(); - } - const q = formatQuery(searchParams); - if (q) defaultOptions.searchParams = q; - return Promise.resolve(defaultOptions); -} -function createRateLimiters(rateLimitOptions = {}, rateLimitDuration = 60) { - const rateLimiters = {}; - Object.entries(rateLimitOptions).forEach(([key, config]) => { - if (typeof config === "number") - rateLimiters[key] = generateRateLimiterFn(config, rateLimitDuration); - else - rateLimiters[key] = { - method: config.method.toUpperCase(), - limit: generateRateLimiterFn(config.limit, rateLimitDuration) - }; - }); - return rateLimiters; -} -function createRequesterFn(optionsHandler, requestHandler) { - const methods = ["get", "post", "put", "patch", "delete"]; - return (serviceOptions) => { - const requester = {}; - const rateLimiters = createRateLimiters( - serviceOptions.rateLimits, - serviceOptions.rateLimitDuration - ); - methods.forEach((m) => { - requester[m] = async (endpoint, options) => { - const defaultRequestOptions = await defaultOptionsHandler(serviceOptions, { - ...options, - method: m.toUpperCase() - }); - const requestOptions = await optionsHandler(serviceOptions, defaultRequestOptions); - return requestHandler(endpoint, { ...requestOptions, rateLimiters }); - }; - }); - return requester; - }; -} -function createPresetConstructor(Constructor, presetConfig) { - return class extends Constructor { - constructor(...args) { - const [config, ...rest] = args; - super({ ...presetConfig, ...config }, ...rest); - } - }; -} -function presetResourceArguments(resources, customConfig = {}) { - const result = {}; - Object.entries(resources).forEach(([key, Constructor]) => { - if (typeof Constructor === "function") { - result[key] = createPresetConstructor( - Constructor, - customConfig - ); - } else { - result[key] = Constructor; - } - }); - return result; -} -function getMatchingRateLimiter(endpoint, rateLimiters = {}, method = "GET") { - const sortedEndpoints = Object.keys(rateLimiters).sort().reverse(); - const match = sortedEndpoints.find((ep) => isGlobMatch(endpoint, ep)); - const rateLimitConfig = match && rateLimiters[match]; - if (typeof rateLimitConfig === "function") return rateLimitConfig; - if (rateLimitConfig && rateLimitConfig?.method?.toUpperCase() === method.toUpperCase()) { - return rateLimitConfig.limit; - } - return generateRateLimiterFn(3e3, 60); -} - -// src/BaseResource.ts -function getDynamicToken(tokenArgument) { - return tokenArgument instanceof Function ? tokenArgument() : Promise.resolve(tokenArgument); -} -var DEFAULT_RATE_LIMITS = Object.freeze({ - // Default rate limit - "**": 3e3, - // Import/Export - "projects/import": 6, - "projects/*/export": 6, - "projects/*/download": 1, - "groups/import": 6, - "groups/*/export": 6, - "groups/*/download": 1, - // Note creation - "projects/*/issues/*/notes": { - method: "post", - limit: 300 - }, - "projects/*/snippets/*/notes": { - method: "post", - limit: 300 - }, - "projects/*/merge_requests/*/notes": { - method: "post", - limit: 300 - }, - "groups/*/epics/*/notes": { - method: "post", - limit: 300 - }, - // Repositories - get file archive - "projects/*/repository/archive*": 5, - // Project Jobs - "projects/*/jobs": 600, - // Member deletion - "projects/*/members": 60, - "groups/*/members": 60 -}); -var BaseResource = class { - url; - requester; - queryTimeout; - headers; - authHeaders; - camelize; - constructor({ - sudo, - profileToken, - camelize, - requesterFn, - agent, - profileMode = "execution", - host = "https://gitlab.com", - prefixUrl = "", - queryTimeout = 3e5, - rateLimitDuration = 60, - rateLimits = DEFAULT_RATE_LIMITS, - ...tokens - }) { - if (!requesterFn) throw new ReferenceError("requesterFn must be passed"); - this.url = [host, "api", "v4", prefixUrl].join("/"); - this.headers = {}; - this.authHeaders = {}; - this.camelize = camelize; - this.queryTimeout = queryTimeout; - if ("oauthToken" in tokens) - this.authHeaders.authorization = async () => { - const token = await getDynamicToken(tokens.oauthToken); - return `Bearer ${token}`; - }; - else if ("jobToken" in tokens) - this.authHeaders["job-token"] = async () => getDynamicToken(tokens.jobToken); - else if ("token" in tokens) - this.authHeaders["private-token"] = async () => getDynamicToken(tokens.token); - if (profileToken) { - this.headers["X-Profile-Token"] = profileToken; - this.headers["X-Profile-Mode"] = profileMode; - } - if (sudo) this.headers.Sudo = `${sudo}`; - this.requester = requesterFn({ ...this, rateLimits, rateLimitDuration, agent }); - } -}; - -// src/GitbeakerError.ts -var GitbeakerRequestError = class extends Error { - cause; - constructor(message, options) { - super(message, options); - this.cause = options?.cause; - this.name = "GitbeakerRequestError"; - } -}; -var GitbeakerTimeoutError = class extends Error { - constructor(message, options) { - super(message, options); - this.name = "GitbeakerTimeoutError"; - } -}; -var GitbeakerRetryError = class extends Error { - constructor(message, options) { - super(message, options); - this.name = "GitbeakerRetryError"; - } -}; - - - - -/***/ }) - -}; -; \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index 3f89b9eb..172a25cb 100644 --- a/dist/index.js +++ b/dist/index.js @@ -68,7 +68,7 @@ uri-js/dist/es5/uri.all.js: `,cliCategory:ni},requirePragma:{since:"1.7.0",category:oa,type:"boolean",default:!1,description:Hn` Require either '@prettier' or '@format' to be present in the file's first docblock comment in order for it to be formatted. - `,cliCategory:ts},tabWidth:{type:"int",category:aa,default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:aa,type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:aa,type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};Bn.exports={CATEGORY_CONFIG:zn,CATEGORY_EDITOR:ni,CATEGORY_FORMAT:Ci,CATEGORY_OTHER:ts,CATEGORY_OUTPUT:Ps,CATEGORY_GLOBAL:aa,CATEGORY_SPECIAL:oa,options:_a}}}),Ov=S({"src/main/support.js"(Me,Bn){"use strict";ca();var zn={compare:Iv(),lt:xv(),gte:kv()},ni=Bv(),Ci=Tv().version,ts=Nv().options;function s(){let{plugins:Me=[],showUnreleased:Bn=!1,showDeprecated:Ps=!1,showInternal:aa=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},oa=Ci.split("-",1)[0],ca=Me.flatMap((Me=>Me.languages||[])).filter(F),_a=ni(Object.assign({},...Me.map((Me=>{let{options:Bn}=Me;return Bn})),ts),"name").filter((Me=>F(Me)&&E(Me))).sort(((Me,Bn)=>Me.name===Bn.name?0:Me.name{Bn=Object.assign({},Bn),Array.isArray(Bn.default)&&(Bn.default=Bn.default.length===1?Bn.default[0].value:Bn.default.filter(F).sort(((Me,Bn)=>zn.compare(Bn.since,Me.since)))[0].value),Array.isArray(Bn.choices)&&(Bn.choices=Bn.choices.filter((Me=>F(Me)&&E(Me))),Bn.name==="parser"&&c(Bn,ca,Me));let Hn=Object.fromEntries(Me.filter((Me=>Me.defaultOptions&&Me.defaultOptions[Bn.name]!==void 0)).map((Me=>[Me.name,Me.defaultOptions[Bn.name]])));return Object.assign(Object.assign({},Bn),{},{pluginDefaults:Hn})}));return{languages:ca,options:_a};function F(Me){return Bn||!("since"in Me)||Me.since&&zn.gte(oa,Me.since)}function E(Me){return Ps||!("deprecated"in Me)||Me.deprecated&&zn.lt(oa,Me.deprecated)}function b(Me){if(aa)return Me;let{cliName:Bn,cliCategory:zn,cliDescription:ni}=Me;return Ol(Me,Hn)}}function c(Me,Bn,Hn){let zn=new Set(Me.choices.map((Me=>Me.value)));for(let ni of Bn)if(ni.parsers){for(let Bn of ni.parsers)if(!zn.has(Bn)){zn.add(Bn);let Ci=Hn.find((Me=>Me.parsers&&Me.parsers[Bn])),ts=ni.name;Ci&&Ci.name&&(ts+=` (plugin: ${Ci.name})`),Me.choices.push({value:Bn,description:ts})}}}Bn.exports={getSupportInfo:s}}}),Mv=S({"src/utils/is-non-empty-array.js"(Me,Bn){"use strict";ca();function u(Me){return Array.isArray(Me)&&Me.length>0}Bn.exports=u}});function b2(){let{onlyFirst:Me=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Bn=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(Bn,Me?void 0:"g")}var OE=je({"node_modules/strip-ansi/node_modules/ansi-regex/index.js"(){ca()}});function w2(Me){if(typeof Me!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof Me}\``);return Me.replace(b2(),"")}var eC=je({"node_modules/strip-ansi/index.js"(){ca(),OE()}});function k2(Me){return Number.isInteger(Me)?Me>=4352&&(Me<=4447||Me===9001||Me===9002||11904<=Me&&Me<=12871&&Me!==12351||12880<=Me&&Me<=19903||19968<=Me&&Me<=42182||43360<=Me&&Me<=43388||44032<=Me&&Me<=55203||63744<=Me&&Me<=64255||65040<=Me&&Me<=65049||65072<=Me&&Me<=65131||65281<=Me&&Me<=65376||65504<=Me&&Me<=65510||110592<=Me&&Me<=110593||127488<=Me&&Me<=127569||131072<=Me&&Me<=262141):!1}var tC=je({"node_modules/is-fullwidth-code-point/index.js"(){ca()}}),rC=S({"node_modules/emoji-regex/index.js"(Me,Bn){"use strict";ca(),Bn.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}}}),nC={};Pi(nC,{default:()=>O2});function O2(Me){if(typeof Me!="string"||Me.length===0||(Me=w2(Me),Me.length===0))return 0;Me=Me.replace((0,iC.default)()," ");let Bn=0;for(let Hn=0;Hn=127&&zn<=159||zn>=768&&zn<=879||(zn>65535&&Hn++,Bn+=k2(zn)?2:1)}return Bn}var iC,sC=je({"node_modules/string-width/index.js"(){ca(),eC(),tC(),iC=Rl(rC())}}),aC=S({"src/utils/get-string-width.js"(Me,Bn){"use strict";ca();var Hn=(sC(),zi(nC)).default,zn=/[^\x20-\x7F]/;function a(Me){return Me?zn.test(Me)?Hn(Me):Me.length:0}Bn.exports=a}}),oC=S({"src/utils/text/skip.js"(Me,Bn){"use strict";ca();function u(Me){return(Bn,Hn,zn)=>{let ni=zn&&zn.backwards;if(Hn===!1)return!1;let{length:Ci}=Bn,ts=Hn;for(;ts>=0&&tsMe[Me.length-2];function E(Me){return(Bn,Hn,zn)=>{let ni=zn&&zn.backwards;if(Hn===!1)return!1;let{length:Ci}=Bn,ts=Hn;for(;ts>=0&&ts2&&arguments[2]!==void 0?arguments[2]:{},zn=aa(Me,Hn.backwards?Bn-1:Bn,Hn),ni=Ha(Me,zn,Hn);return zn!==ni}function f(Me,Bn,Hn){for(let zn=Bn;zn2&&arguments[2]!==void 0?arguments[2]:{};return aa(Me,Hn.backwards?Bn-1:Bn,Hn)!==Bn}function q(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,zn=0;for(let ni=Hn;niHn?Ci:ni}return ts}function O(Me,Bn){let Hn=Me.slice(1,-1),zn=Bn.parser==="json"||Bn.parser==="json5"&&Bn.quoteProps==="preserve"&&!Bn.singleQuote?'"':Bn.__isInHtmlAttribute?"'":B(Hn,Bn.singleQuote?"'":'"').quote;return T(Hn,zn,!(Bn.parser==="css"||Bn.parser==="less"||Bn.parser==="scss"||Bn.__embeddedInHtml))}function T(Me,Bn,Hn){let zn=Bn==='"'?"'":'"',ni=/\\(.)|(["'])/gs,Ci=Me.replace(ni,((Me,ni,Ci)=>ni===zn?ni:Ci===Bn?"\\"+Ci:Ci||(Hn&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(ni)?ni:"\\"+ni)));return Bn+Ci+Bn}function P(Me){return Me.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(\d)/,"$1$2$3").replace(/^([+-]?[\d.]+)e[+-]?0+$/,"$1").replace(/^([+-])?\./,"$10.").replace(/(\.\d+?)0+(?=e|$)/,"$1").replace(/\.(?=e|$)/,"")}function A(Me,Bn){let zn=Me.match(new RegExp(`(${Hn(Bn)})+`,"g"));return zn===null?0:zn.reduce(((Me,Hn)=>Math.max(Me,Hn.length/Bn.length)),0)}function j(Me,Bn){let zn=Me.match(new RegExp(`(${Hn(Bn)})+`,"g"));if(zn===null)return 0;let ni=new Map,Ci=0;for(let Me of zn){let Hn=Me.length/Bn.length;ni.set(Hn,!0),Hn>Ci&&(Ci=Hn)}for(let Me=1;Me{let{name:Hn}=Bn;return Hn.toLowerCase()===Me}))||Hn.find((Bn=>{let{aliases:Hn}=Bn;return Array.isArray(Hn)&&Hn.includes(Me)}))||Hn.find((Bn=>{let{extensions:Hn}=Bn;return Array.isArray(Hn)&&Hn.includes(`.${Me}`)}));return zn&&zn.parsers[0]}function z(Me){return Me&&Me.type==="front-matter"}function M(Me){let Bn=new WeakMap;return function(Hn){return Bn.has(Hn)||Bn.set(Hn,Symbol(Me)),Bn.get(Hn)}}function U(Me){let Bn=Me.type||Me.kind||"(unknown type)",Hn=String(Me.name||Me.id&&(typeof Me.id=="object"?Me.id.name:Me.id)||Me.key&&(typeof Me.key=="object"?Me.key.name:Me.key)||Me.value&&(typeof Me.value=="object"?"":String(Me.value))||Me.operator||"");return Hn.length>20&&(Hn=Hn.slice(0,19)+"…"),Bn+(Hn?" "+Hn:"")}Bn.exports={inferParserByLanguage:J,getStringWidth:ts,getMaxContinuousCount:A,getMinNotPresentContinuousCount:j,getPenultimate:F,getLast:zn,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:so,getNextNonSpaceNonCommentCharacterIndex:m,getNextNonSpaceNonCommentCharacter:C,skip:E,skipWhitespace:Ps,skipSpaces:aa,skipToLineEnd:oa,skipEverythingButNewLine:_a,skipInlineComment:xa,skipTrailingComment:Ga,skipNewline:Ha,isNextLineEmptyAfterIndex:v,isNextLineEmpty:h,isPreviousLineEmpty:x,hasNewline:b,hasNewlineInRange:f,hasSpaces:w,getAlignmentSize:q,getIndentSize:L,getPreferredQuote:B,printString:O,printNumber:P,makeString:T,addLeadingComment:G,addDanglingComment:X,addTrailingComment:R,isFrontMatterNode:z,isNonEmptyArray:Ci,createGroupIdMapper:M}}}),dC=S({"src/language-markdown/constants.evaluate.js"(Me,Bn){Bn.exports={cjkPattern:"(?:[\\u02ea-\\u02eb\\u1100-\\u11ff\\u2e80-\\u2e99\\u2e9b-\\u2ef3\\u2f00-\\u2fd5\\u2ff0-\\u303f\\u3041-\\u3096\\u3099-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u3190-\\u3191\\u3196-\\u31ba\\u31c0-\\u31e3\\u31f0-\\u321e\\u322a-\\u3247\\u3260-\\u327e\\u328a-\\u32b0\\u32c0-\\u32cb\\u32d0-\\u3370\\u337b-\\u337f\\u33e0-\\u33fe\\u3400-\\u4db5\\u4e00-\\u9fef\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufe10-\\ufe1f\\ufe30-\\ufe6f\\uff00-\\uffef]|[\\ud840-\\ud868\\ud86a-\\ud86c\\ud86f-\\ud872\\ud874-\\ud879][\\udc00-\\udfff]|\\ud82c[\\udc00-\\udd1e\\udd50-\\udd52\\udd64-\\udd67]|\\ud83c[\\ude00\\ude50-\\ude51]|\\ud869[\\udc00-\\uded6\\udf00-\\udfff]|\\ud86d[\\udc00-\\udf34\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d\\udc20-\\udfff]|\\ud873[\\udc00-\\udea1\\udeb0-\\udfff]|\\ud87a[\\udc00-\\udfe0]|\\ud87e[\\udc00-\\ude1d])(?:[\\ufe00-\\ufe0f]|\\udb40[\\udd00-\\uddef])?",kPattern:"[\\u1100-\\u11ff\\u3001-\\u3003\\u3008-\\u3011\\u3013-\\u301f\\u302e-\\u3030\\u3037\\u30fb\\u3131-\\u318e\\u3200-\\u321e\\u3260-\\u327e\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ufe45-\\ufe46\\uff61-\\uff65\\uffa0-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]",punctuationPattern:"[\\u0021-\\u002f\\u003a-\\u0040\\u005b-\\u0060\\u007b-\\u007e\\u00a1\\u00a7\\u00ab\\u00b6-\\u00b7\\u00bb\\u00bf\\u037e\\u0387\\u055a-\\u055f\\u0589-\\u058a\\u05be\\u05c0\\u05c3\\u05c6\\u05f3-\\u05f4\\u0609-\\u060a\\u060c-\\u060d\\u061b\\u061e-\\u061f\\u066a-\\u066d\\u06d4\\u0700-\\u070d\\u07f7-\\u07f9\\u0830-\\u083e\\u085e\\u0964-\\u0965\\u0970\\u09fd\\u0a76\\u0af0\\u0c77\\u0c84\\u0df4\\u0e4f\\u0e5a-\\u0e5b\\u0f04-\\u0f12\\u0f14\\u0f3a-\\u0f3d\\u0f85\\u0fd0-\\u0fd4\\u0fd9-\\u0fda\\u104a-\\u104f\\u10fb\\u1360-\\u1368\\u1400\\u166e\\u169b-\\u169c\\u16eb-\\u16ed\\u1735-\\u1736\\u17d4-\\u17d6\\u17d8-\\u17da\\u1800-\\u180a\\u1944-\\u1945\\u1a1e-\\u1a1f\\u1aa0-\\u1aa6\\u1aa8-\\u1aad\\u1b5a-\\u1b60\\u1bfc-\\u1bff\\u1c3b-\\u1c3f\\u1c7e-\\u1c7f\\u1cc0-\\u1cc7\\u1cd3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205e\\u207d-\\u207e\\u208d-\\u208e\\u2308-\\u230b\\u2329-\\u232a\\u2768-\\u2775\\u27c5-\\u27c6\\u27e6-\\u27ef\\u2983-\\u2998\\u29d8-\\u29db\\u29fc-\\u29fd\\u2cf9-\\u2cfc\\u2cfe-\\u2cff\\u2d70\\u2e00-\\u2e2e\\u2e30-\\u2e4f\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301f\\u3030\\u303d\\u30a0\\u30fb\\ua4fe-\\ua4ff\\ua60d-\\ua60f\\ua673\\ua67e\\ua6f2-\\ua6f7\\ua874-\\ua877\\ua8ce-\\ua8cf\\ua8f8-\\ua8fa\\ua8fc\\ua92e-\\ua92f\\ua95f\\ua9c1-\\ua9cd\\ua9de-\\ua9df\\uaa5c-\\uaa5f\\uaade-\\uaadf\\uaaf0-\\uaaf1\\uabeb\\ufd3e-\\ufd3f\\ufe10-\\ufe19\\ufe30-\\ufe52\\ufe54-\\ufe61\\ufe63\\ufe68\\ufe6a-\\ufe6b\\uff01-\\uff03\\uff05-\\uff0a\\uff0c-\\uff0f\\uff1a-\\uff1b\\uff1f-\\uff20\\uff3b-\\uff3d\\uff3f\\uff5b\\uff5d\\uff5f-\\uff65]|\\ud800[\\udd00-\\udd02\\udf9f\\udfd0]|\\ud801[\\udd6f]|\\ud802[\\udc57\\udd1f\\udd3f\\ude50-\\ude58\\ude7f\\udef0-\\udef6\\udf39-\\udf3f\\udf99-\\udf9c]|\\ud803[\\udf55-\\udf59]|\\ud804[\\udc47-\\udc4d\\udcbb-\\udcbc\\udcbe-\\udcc1\\udd40-\\udd43\\udd74-\\udd75\\uddc5-\\uddc8\\uddcd\\udddb\\udddd-\\udddf\\ude38-\\ude3d\\udea9]|\\ud805[\\udc4b-\\udc4f\\udc5b\\udc5d\\udcc6\\uddc1-\\uddd7\\ude41-\\ude43\\ude60-\\ude6c\\udf3c-\\udf3e]|\\ud806[\\udc3b\\udde2\\ude3f-\\ude46\\ude9a-\\ude9c\\ude9e-\\udea2]|\\ud807[\\udc41-\\udc45\\udc70-\\udc71\\udef7-\\udef8\\udfff]|\\ud809[\\udc70-\\udc74]|\\ud81a[\\ude6e-\\ude6f\\udef5\\udf37-\\udf3b\\udf44]|\\ud81b[\\ude97-\\ude9a\\udfe2]|\\ud82f[\\udc9f]|\\ud836[\\ude87-\\ude8b]|\\ud83a[\\udd5e-\\udd5f]"}}}),hC=S({"src/language-markdown/utils.js"(Me,Bn){"use strict";ca();var{getLast:Hn}=fC(),{locStart:zn,locEnd:ni}=Ty(),{cjkPattern:Ci,kPattern:ts,punctuationPattern:Ps}=dC(),aa=["liquidNode","inlineCode","emphasis","esComment","strong","delete","wikiLink","link","linkReference","image","imageReference","footnote","footnoteReference","sentence","whitespace","word","break","inlineMath"],oa=[...aa,"tableCell","paragraph","heading"],_a=new RegExp(ts),xa=new RegExp(Ps);function d(Me,Bn){let zn="non-cjk",ni="cj-letter",ts="k-letter",Ps="cjk-punctuation",aa=[],oa=(Bn.proseWrap==="preserve"?Me:Me.replace(new RegExp(`(${Ci})\n(${Ci})`,"g"),"$1$2")).split(/([\t\n ]+)/);for(let[Me,Bn]of oa.entries()){if(Me%2===1){aa.push({type:"whitespace",value:/\n/.test(Bn)?`\n`:" "});continue}if((Me===0||Me===oa.length-1)&&Bn==="")continue;let ca=Bn.split(new RegExp(`(${Ci})`));for(let[Me,Bn]of ca.entries())if(!((Me===0||Me===ca.length-1)&&Bn==="")){if(Me%2===0){Bn!==""&&L({type:"word",value:Bn,kind:zn,hasLeadingPunctuation:xa.test(Bn[0]),hasTrailingPunctuation:xa.test(Hn(Bn))});continue}L(xa.test(Bn)?{type:"word",value:Bn,kind:Ps,hasLeadingPunctuation:!0,hasTrailingPunctuation:!0}:{type:"word",value:Bn,kind:_a.test(Bn)?ts:ni,hasLeadingPunctuation:!1,hasTrailingPunctuation:!1})}}return aa;function L(Me){let Bn=Hn(aa);Bn&&Bn.type==="word"&&(Bn.kind===zn&&Me.kind===ni&&!Bn.hasTrailingPunctuation||Bn.kind===ni&&Me.kind===zn&&!Me.hasLeadingPunctuation?aa.push({type:"whitespace",value:" "}):!T(zn,Ps)&&![Bn.value,Me.value].some((Me=>/\u3000/.test(Me)))&&aa.push({type:"whitespace",value:""})),aa.push(Me);function T(Hn,zn){return Bn.kind===Hn&&Me.kind===zn||Bn.kind===zn&&Me.kind===Hn}}}function p(Me,Bn){let[,Hn,zn,ni]=Bn.slice(Me.position.start.offset,Me.position.end.offset).match(/^\s*(\d+)(\.|\))(\s*)/);return{numberText:Hn,marker:zn,leadingSpaces:ni}}function g(Me,Bn){if(!Me.ordered||Me.children.length<2)return!1;let Hn=Number(p(Me.children[0],Bn.originalText).numberText),zn=Number(p(Me.children[1],Bn.originalText).numberText);if(Hn===0&&Me.children.length>2){let Hn=Number(p(Me.children[2],Bn.originalText).numberText);return zn===1&&Hn===1}return zn===1}function F(Me,Bn){let{value:Hn}=Me;return Me.position.end.offset===Bn.length&&Hn.endsWith(`\n`)&&Bn.endsWith(`\n`)?Hn.slice(0,-1):Hn}function E(Me,Bn){return function v(Me,Hn,zn){let ni=Object.assign({},Bn(Me,Hn,zn));return ni.children&&(ni.children=ni.children.map(((Me,Bn)=>v(Me,Bn,[ni,...zn])))),ni}(Me,null,[])}function b(Me){if((Me==null?void 0:Me.type)!=="link"||Me.children.length!==1)return!1;let[Bn]=Me.children;return zn(Me)===zn(Bn)&&ni(Me)===ni(Bn)}Bn.exports={mapAst:E,splitText:d,punctuationPattern:Ps,getFencedCodeBlockValue:F,getOrderedListItemInfo:p,hasGitDiffFriendlyOrderedList:g,INLINE_NODE_TYPES:aa,INLINE_NODE_WRAPPER_TYPES:oa,isAutolink:b}}}),AC=S({"src/language-markdown/unified-plugins/html-to-jsx.js"(Me,Bn){"use strict";ca();var Hn=Gy(),{mapAst:zn,INLINE_NODE_WRAPPER_TYPES:ni}=hC();function n(){return Me=>zn(Me,((Me,Bn,zn)=>{let[Ci]=zn;return Me.type!=="html"||Hn.COMMENT_REGEX.test(Me.value)||ni.includes(Ci.type)?Me:Object.assign(Object.assign({},Me),{},{type:"jsx"})}))}Bn.exports=n}}),mC=S({"src/language-markdown/unified-plugins/front-matter.js"(Me,Bn){"use strict";ca();var Hn=py();function t(){let Me=this.Parser.prototype;Me.blockMethods=["frontMatter",...Me.blockMethods],Me.blockTokenizers.frontMatter=n;function n(Me,Bn){let zn=Hn(Bn);if(zn.frontMatter)return Me(zn.frontMatter.raw)(zn.frontMatter)}n.onlyAtStart=!0}Bn.exports=t}}),gC=S({"src/language-markdown/unified-plugins/liquid.js"(Me,Bn){"use strict";ca();function u(){let Me=this.Parser.prototype,Bn=Me.inlineMethods;Bn.splice(Bn.indexOf("text"),0,"liquid"),Me.inlineTokenizers.liquid=n;function n(Me,Bn){let Hn=Bn.match(/^({%.*?%}|{{.*?}})/s);if(Hn)return Me(Hn[0])({type:"liquidNode",value:Hn[0]})}n.locator=function(Me,Bn){return Me.indexOf("{",Bn)}}Bn.exports=u}}),_C=S({"src/language-markdown/unified-plugins/wiki-link.js"(Me,Bn){"use strict";ca();function u(){let Me="wikiLink",Bn=/^\[\[(?.+?)]]/s,Hn=this.Parser.prototype,zn=Hn.inlineMethods;zn.splice(zn.indexOf("link"),0,Me),Hn.inlineTokenizers.wikiLink=c;function c(Hn,zn){let ni=Bn.exec(zn);if(ni){let Bn=ni.groups.linkContents.trim();return Hn(ni[0])({type:Me,value:Bn})}}c.locator=function(Me,Bn){return Me.indexOf("[",Bn)}}Bn.exports=u}}),yC=S({"src/language-markdown/unified-plugins/loose-items.js"(Me,Bn){"use strict";ca();function u(){let Me=this.Parser.prototype,Bn=Me.blockTokenizers.list;function n(Me,Bn,Hn){return Bn.type==="listItem"&&(Bn.loose=Bn.spread||Me.charAt(Me.length-1)===`\n`,Bn.loose&&(Hn.loose=!0)),Bn}Me.blockTokenizers.list=function(Me,Hn,zn){function o(Bn){let Hn=Me(Bn);function p(Me,zn){return Hn(n(Bn,Me,zn),zn)}return p.reset=function(Me,zn){return Hn.reset(n(Bn,Me,zn),zn)},p}return o.now=Me.now,Bn.call(this,o,Hn,zn)}}Bn.exports=u}});ca();var vC=Ug(),EC=Z_(),bC=ny(),CC=iy(),DC=fy(),{locStart:wC,locEnd:SC}=Ty(),IC=Gy(),xC=AC(),kC=mC(),BC=gC(),TC=_C(),FC=yC();function sa(Me){let{isMDX:Bn}=Me;return Me=>{let Hn=EC().use(vC,Object.assign({commonmark:!0},Bn&&{blocks:[IC.BLOCKS_REGEX]})).use(CC).use(kC).use(bC).use(Bn?IC.esSyntax:Ri).use(BC).use(Bn?xC:Ri).use(TC).use(FC);return Hn.runSync(Hn.parse(Me))}}function Ri(Me){return Me}var NC={astFormat:"mdast",hasPragma:DC.hasPragma,locStart:wC,locEnd:SC},QC=Object.assign(Object.assign({},NC),{},{parse:sa({isMDX:!1})}),RC=Object.assign(Object.assign({},NC),{},{parse:sa({isMDX:!0})});Bn.exports={parsers:{remark:QC,markdown:QC,mdx:RC}}}));return Lg()}))},63048:Me=>{(function(Bn){if(true)Me.exports=Bn();else{var Hn}})((function(){"use strict";var B=(Me,Bn)=>()=>(Bn||Me((Bn={exports:{}}).exports,Bn),Bn.exports);var Me=B(((Me,Bn)=>{var A1=function(Me){return Me&&Me.Math==Math&&Me};Bn.exports=A1(typeof globalThis=="object"&&globalThis)||A1(typeof window=="object"&&window)||A1(typeof self=="object"&&self)||A1(typeof global=="object"&&global)||function(){return this}()||Function("return this")()}));var Bn=B(((Me,Bn)=>{Bn.exports=function(Me){try{return!!Me()}catch{return!0}}}));var Hn=B(((Me,Hn)=>{var zn=Bn();Hn.exports=!zn((function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7}))}));var zn=B(((Me,Hn)=>{var zn=Bn();Hn.exports=!zn((function(){var Me=function(){}.bind();return typeof Me!="function"||Me.hasOwnProperty("prototype")}))}));var ni=B(((Me,Bn)=>{var Hn=zn(),ni=Function.prototype.call;Bn.exports=Hn?ni.bind(ni):function(){return ni.apply(ni,arguments)}}));var Ci=B((Me=>{"use strict";var Bn={}.propertyIsEnumerable,Hn=Object.getOwnPropertyDescriptor,zn=Hn&&!Bn.call({1:2},1);Me.f=zn?function(Me){var Bn=Hn(this,Me);return!!Bn&&Bn.enumerable}:Bn}));var ts=B(((Me,Bn)=>{Bn.exports=function(Me,Bn){return{enumerable:!(Me&1),configurable:!(Me&2),writable:!(Me&4),value:Bn}}}));var Ps=B(((Me,Bn)=>{var Hn=zn(),ni=Function.prototype,Ci=ni.call,ts=Hn&&ni.bind.bind(Ci,Ci);Bn.exports=Hn?ts:function(Me){return function(){return Ci.apply(Me,arguments)}}}));var aa=B(((Me,Bn)=>{var Hn=Ps(),zn=Hn({}.toString),ni=Hn("".slice);Bn.exports=function(Me){return ni(zn(Me),8,-1)}}));var oa=B(((Me,Hn)=>{var zn=Ps(),ni=Bn(),Ci=aa(),ts=Object,oa=zn("".split);Hn.exports=ni((function(){return!ts("z").propertyIsEnumerable(0)}))?function(Me){return Ci(Me)=="String"?oa(Me,""):ts(Me)}:ts}));var ca=B(((Me,Bn)=>{Bn.exports=function(Me){return Me==null}}));var _a=B(((Me,Bn)=>{var Hn=ca(),zn=TypeError;Bn.exports=function(Me){if(Hn(Me))throw zn("Can't call method on "+Me);return Me}}));var xa=B(((Me,Bn)=>{var Hn=oa(),zn=_a();Bn.exports=function(Me){return Hn(zn(Me))}}));var Ga=B(((Me,Bn)=>{var Hn=typeof document=="object"&&document.all,zn=typeof Hn>"u"&&Hn!==void 0;Bn.exports={all:Hn,IS_HTMLDDA:zn}}));var Ha=B(((Me,Bn)=>{var Hn=Ga(),zn=Hn.all;Bn.exports=Hn.IS_HTMLDDA?function(Me){return typeof Me=="function"||Me===zn}:function(Me){return typeof Me=="function"}}));var so=B(((Me,Bn)=>{var Hn=Ha(),zn=Ga(),ni=zn.all;Bn.exports=zn.IS_HTMLDDA?function(Me){return typeof Me=="object"?Me!==null:Hn(Me)||Me===ni}:function(Me){return typeof Me=="object"?Me!==null:Hn(Me)}}));var oo=B(((Bn,Hn)=>{var zn=Me(),ni=Ha(),Po=function(Me){return ni(Me)?Me:void 0};Hn.exports=function(Me,Bn){return arguments.length<2?Po(zn[Me]):zn[Me]&&zn[Me][Bn]}}));var Jo=B(((Me,Bn)=>{var Hn=Ps();Bn.exports=Hn({}.isPrototypeOf)}));var tc=B(((Me,Bn)=>{var Hn=oo();Bn.exports=Hn("navigator","userAgent")||""}));var dc=B(((Bn,Hn)=>{var zn=Me(),ni=tc(),Ci=zn.process,ts=zn.Deno,Ps=Ci&&Ci.versions||ts&&ts.version,aa=Ps&&Ps.v8,oa,ca;aa&&(oa=aa.split("."),ca=oa[0]>0&&oa[0]<4?1:+(oa[0]+oa[1]));!ca&&ni&&(oa=ni.match(/Edge\/(\d+)/),(!oa||oa[1]>=74)&&(oa=ni.match(/Chrome\/(\d+)/),oa&&(ca=+oa[1])));Hn.exports=ca}));var Fc=B(((Me,Hn)=>{var zn=dc(),ni=Bn();Hn.exports=!!Object.getOwnPropertySymbols&&!ni((function(){var Me=Symbol();return!String(Me)||!(Object(Me)instanceof Symbol)||!Symbol.sham&&zn&&zn<41}))}));var Jc=B(((Me,Bn)=>{var Hn=Fc();Bn.exports=Hn&&!Symbol.sham&&typeof Symbol.iterator=="symbol"}));var Dp=B(((Me,Bn)=>{var Hn=oo(),zn=Ha(),ni=Jo(),Ci=Jc(),ts=Object;Bn.exports=Ci?function(Me){return typeof Me=="symbol"}:function(Me){var Bn=Hn("Symbol");return zn(Bn)&&ni(Bn.prototype,ts(Me))}}));var kp=B(((Me,Bn)=>{var Hn=String;Bn.exports=function(Me){try{return Hn(Me)}catch{return"Object"}}}));var Qp=B(((Me,Bn)=>{var Hn=Ha(),zn=kp(),ni=TypeError;Bn.exports=function(Me){if(Hn(Me))return Me;throw ni(zn(Me)+" is not a function")}}));var Up=B(((Me,Bn)=>{var Hn=Qp(),zn=ca();Bn.exports=function(Me,Bn){var ni=Me[Bn];return zn(ni)?void 0:Hn(ni)}}));var Vp=B(((Me,Bn)=>{var Hn=ni(),zn=Ha(),Ci=so(),ts=TypeError;Bn.exports=function(Me,Bn){var ni,Ps;if(Bn==="string"&&zn(ni=Me.toString)&&!Ci(Ps=Hn(ni,Me))||zn(ni=Me.valueOf)&&!Ci(Ps=Hn(ni,Me))||Bn!=="string"&&zn(ni=Me.toString)&&!Ci(Ps=Hn(ni,Me)))return Ps;throw ts("Can't convert object to primitive value")}}));var qp=B(((Me,Bn)=>{Bn.exports=!1}));var Jp=B(((Bn,Hn)=>{var zn=Me(),ni=Object.defineProperty;Hn.exports=function(Me,Bn){try{ni(zn,Me,{value:Bn,configurable:!0,writable:!0})}catch{zn[Me]=Bn}return Bn}}));var Wp=B(((Bn,Hn)=>{var zn=Me(),ni=Jp(),Ci="__core-js_shared__",ts=zn[Ci]||ni(Ci,{});Hn.exports=ts}));var zp=B(((Me,Bn)=>{var Hn=qp(),zn=Wp();(Bn.exports=function(Me,Bn){return zn[Me]||(zn[Me]=Bn!==void 0?Bn:{})})("versions",[]).push({version:"3.26.1",mode:Hn?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})}));var Qf=B(((Me,Bn)=>{var Hn=_a(),zn=Object;Bn.exports=function(Me){return zn(Hn(Me))}}));var Yf=B(((Me,Bn)=>{var Hn=Ps(),zn=Qf(),ni=Hn({}.hasOwnProperty);Bn.exports=Object.hasOwn||function(Me,Bn){return ni(zn(Me),Bn)}}));var Kf=B(((Me,Bn)=>{var Hn=Ps(),zn=0,ni=Math.random(),Ci=Hn(1..toString);Bn.exports=function(Me){return"Symbol("+(Me===void 0?"":Me)+")_"+Ci(++zn+ni,36)}}));var Xf=B(((Bn,Hn)=>{var zn=Me(),ni=zp(),Ci=Yf(),ts=Kf(),Ps=Fc(),aa=Jc(),oa=ni("wks"),ca=zn.Symbol,_a=ca&&ca.for,xa=aa?ca:ca&&ca.withoutSetter||ts;Hn.exports=function(Me){if(!Ci(oa,Me)||!(Ps||typeof oa[Me]=="string")){var Bn="Symbol."+Me;Ps&&Ci(ca,Me)?oa[Me]=ca[Me]:aa&&_a?oa[Me]=_a(Bn):oa[Me]=xa(Bn)}return oa[Me]}}));var Ad=B(((Me,Bn)=>{var Hn=ni(),zn=so(),Ci=Dp(),ts=Up(),Ps=Vp(),aa=Xf(),oa=TypeError,ca=aa("toPrimitive");Bn.exports=function(Me,Bn){if(!zn(Me)||Ci(Me))return Me;var ni=ts(Me,ca),aa;if(ni){if(Bn===void 0&&(Bn="default"),aa=Hn(ni,Me,Bn),!zn(aa)||Ci(aa))return aa;throw oa("Can't convert object to primitive value")}return Bn===void 0&&(Bn="number"),Ps(Me,Bn)}}));var Cd=B(((Me,Bn)=>{var Hn=Ad(),zn=Dp();Bn.exports=function(Me){var Bn=Hn(Me,"string");return zn(Bn)?Bn:Bn+""}}));var wd=B(((Bn,Hn)=>{var zn=Me(),ni=so(),Ci=zn.document,ts=ni(Ci)&&ni(Ci.createElement);Hn.exports=function(Me){return ts?Ci.createElement(Me):{}}}));var Sd=B(((Me,zn)=>{var ni=Hn(),Ci=Bn(),ts=wd();zn.exports=!ni&&!Ci((function(){return Object.defineProperty(ts("div"),"a",{get:function(){return 7}}).a!=7}))}));var xd=B((Me=>{var Bn=Hn(),zn=ni(),Ps=Ci(),aa=ts(),oa=xa(),ca=Cd(),_a=Yf(),Ga=Sd(),Ha=Object.getOwnPropertyDescriptor;Me.f=Bn?Ha:function(Me,Bn){if(Me=oa(Me),Bn=ca(Bn),Ga)try{return Ha(Me,Bn)}catch{}if(_a(Me,Bn))return aa(!zn(Ps.f,Me,Bn),Me[Bn])}}));var Td=B(((Me,zn)=>{var ni=Hn(),Ci=Bn();zn.exports=ni&&Ci((function(){return Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype!=42}))}));var Pd=B(((Me,Bn)=>{var Hn=so(),zn=String,ni=TypeError;Bn.exports=function(Me){if(Hn(Me))return Me;throw ni(zn(Me)+" is not an object")}}));var Qh=B((Me=>{var Bn=Hn(),zn=Sd(),ni=Td(),Ci=Pd(),ts=Cd(),Ps=TypeError,aa=Object.defineProperty,oa=Object.getOwnPropertyDescriptor,ca="enumerable",_a="configurable",xa="writable";Me.f=Bn?ni?function(Me,Bn,Hn){if(Ci(Me),Bn=ts(Bn),Ci(Hn),typeof Me=="function"&&Bn==="prototype"&&"value"in Hn&&xa in Hn&&!Hn[xa]){var zn=oa(Me,Bn);zn&&zn[xa]&&(Me[Bn]=Hn.value,Hn={configurable:_a in Hn?Hn[_a]:zn[_a],enumerable:ca in Hn?Hn[ca]:zn[ca],writable:!1})}return aa(Me,Bn,Hn)}:aa:function(Me,Bn,Hn){if(Ci(Me),Bn=ts(Bn),Ci(Hn),zn)try{return aa(Me,Bn,Hn)}catch{}if("get"in Hn||"set"in Hn)throw Ps("Accessors not supported");return"value"in Hn&&(Me[Bn]=Hn.value),Me}}));var Zh=B(((Me,Bn)=>{var zn=Hn(),ni=Qh(),Ci=ts();Bn.exports=zn?function(Me,Bn,Hn){return ni.f(Me,Bn,Ci(1,Hn))}:function(Me,Bn,Hn){return Me[Bn]=Hn,Me}}));var sA=B(((Me,Bn)=>{var zn=Hn(),ni=Yf(),Ci=Function.prototype,ts=zn&&Object.getOwnPropertyDescriptor,Ps=ni(Ci,"name"),aa=Ps&&function(){}.name==="something",oa=Ps&&(!zn||zn&&ts(Ci,"name").configurable);Bn.exports={EXISTS:Ps,PROPER:aa,CONFIGURABLE:oa}}));var oA=B(((Me,Bn)=>{var Hn=Ps(),zn=Ha(),ni=Wp(),Ci=Hn(Function.toString);zn(ni.inspectSource)||(ni.inspectSource=function(Me){return Ci(Me)});Bn.exports=ni.inspectSource}));var hA=B(((Bn,Hn)=>{var zn=Me(),ni=Ha(),Ci=zn.WeakMap;Hn.exports=ni(Ci)&&/native code/.test(String(Ci))}));var eg=B(((Me,Bn)=>{var Hn=zp(),zn=Kf(),ni=Hn("keys");Bn.exports=function(Me){return ni[Me]||(ni[Me]=zn(Me))}}));var tg=B(((Me,Bn)=>{Bn.exports={}}));var rg=B(((Bn,Hn)=>{var zn=hA(),ni=Me(),Ci=so(),ts=Zh(),Ps=Yf(),aa=Wp(),oa=eg(),ca=tg(),_a="Object already initialized",xa=ni.TypeError,Ga=ni.WeakMap,Ha,oo,Jo,pl=function(Me){return Jo(Me)?oo(Me):Ha(Me,{})},e4=function(Me){return function(Bn){var Hn;if(!Ci(Bn)||(Hn=oo(Bn)).type!==Me)throw xa("Incompatible receiver, "+Me+" required");return Hn}};zn||aa.state?(tc=aa.state||(aa.state=new Ga),tc.get=tc.get,tc.has=tc.has,tc.set=tc.set,Ha=function(Me,Bn){if(tc.has(Me))throw xa(_a);return Bn.facade=Me,tc.set(Me,Bn),Bn},oo=function(Me){return tc.get(Me)||{}},Jo=function(Me){return tc.has(Me)}):(dc=oa("state"),ca[dc]=!0,Ha=function(Me,Bn){if(Ps(Me,dc))throw xa(_a);return Bn.facade=Me,ts(Me,dc,Bn),Bn},oo=function(Me){return Ps(Me,dc)?Me[dc]:{}},Jo=function(Me){return Ps(Me,dc)});var tc,dc;Hn.exports={set:Ha,get:oo,has:Jo,enforce:pl,getterFor:e4}}));var ng=B(((Me,zn)=>{var ni=Bn(),Ci=Ha(),ts=Yf(),Ps=Hn(),aa=sA().CONFIGURABLE,oa=oA(),ca=rg(),_a=ca.enforce,xa=ca.get,Ga=Object.defineProperty,so=Ps&&!ni((function(){return Ga((function(){}),"length",{value:8}).length!==8})),oo=String(String).split("String"),Jo=zn.exports=function(Me,Bn,Hn){String(Bn).slice(0,7)==="Symbol("&&(Bn="["+String(Bn).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),Hn&&Hn.getter&&(Bn="get "+Bn),Hn&&Hn.setter&&(Bn="set "+Bn),(!ts(Me,"name")||aa&&Me.name!==Bn)&&(Ps?Ga(Me,"name",{value:Bn,configurable:!0}):Me.name=Bn),so&&Hn&&ts(Hn,"arity")&&Me.length!==Hn.arity&&Ga(Me,"length",{value:Hn.arity});try{Hn&&ts(Hn,"constructor")&&Hn.constructor?Ps&&Ga(Me,"prototype",{writable:!1}):Me.prototype&&(Me.prototype=void 0)}catch{}var zn=_a(Me);return ts(zn,"source")||(zn.source=oo.join(typeof Bn=="string"?Bn:"")),Me};Function.prototype.toString=Jo((function(){return Ci(this)&&xa(this).source||oa(this)}),"toString")}));var ig=B(((Me,Bn)=>{var Hn=Ha(),zn=Qh(),ni=ng(),Ci=Jp();Bn.exports=function(Me,Bn,ts,Ps){Ps||(Ps={});var aa=Ps.enumerable,oa=Ps.name!==void 0?Ps.name:Bn;if(Hn(ts)&&ni(ts,oa,Ps),Ps.global)aa?Me[Bn]=ts:Ci(Bn,ts);else{try{Ps.unsafe?Me[Bn]&&(aa=!0):delete Me[Bn]}catch{}aa?Me[Bn]=ts:zn.f(Me,Bn,{value:ts,enumerable:!1,configurable:!Ps.nonConfigurable,writable:!Ps.nonWritable})}return Me}}));var sg=B(((Me,Bn)=>{var Hn=Math.ceil,zn=Math.floor;Bn.exports=Math.trunc||function(Me){var Bn=+Me;return(Bn>0?zn:Hn)(Bn)}}));var ag=B(((Me,Bn)=>{var Hn=sg();Bn.exports=function(Me){var Bn=+Me;return Bn!==Bn||Bn===0?0:Hn(Bn)}}));var og=B(((Me,Bn)=>{var Hn=ag(),zn=Math.max,ni=Math.min;Bn.exports=function(Me,Bn){var Ci=Hn(Me);return Ci<0?zn(Ci+Bn,0):ni(Ci,Bn)}}));var ug=B(((Me,Bn)=>{var Hn=ag(),zn=Math.min;Bn.exports=function(Me){return Me>0?zn(Hn(Me),9007199254740991):0}}));var cg=B(((Me,Bn)=>{var Hn=ug();Bn.exports=function(Me){return Hn(Me.length)}}));var lg=B(((Me,Bn)=>{var Hn=xa(),zn=og(),ni=cg(),jn=function(Me){return function(Bn,Ci,ts){var Ps=Hn(Bn),aa=ni(Ps),oa=zn(ts,aa),ca;if(Me&&Ci!=Ci){for(;aa>oa;)if(ca=Ps[oa++],ca!=ca)return!0}else for(;aa>oa;oa++)if((Me||oa in Ps)&&Ps[oa]===Ci)return Me||oa||0;return!Me&&-1}};Bn.exports={includes:jn(!0),indexOf:jn(!1)}}));var pg=B(((Me,Bn)=>{var Hn=Ps(),zn=Yf(),ni=xa(),Ci=lg().indexOf,ts=tg(),aa=Hn([].push);Bn.exports=function(Me,Bn){var Hn=ni(Me),Ps=0,oa=[],ca;for(ca in Hn)!zn(ts,ca)&&zn(Hn,ca)&&aa(oa,ca);for(;Bn.length>Ps;)zn(Hn,ca=Bn[Ps++])&&(~Ci(oa,ca)||aa(oa,ca));return oa}}));var fg=B(((Me,Bn)=>{Bn.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]}));var dg=B((Me=>{var Bn=pg(),Hn=fg(),zn=Hn.concat("length","prototype");Me.f=Object.getOwnPropertyNames||function(Me){return Bn(Me,zn)}}));var hg=B((Me=>{Me.f=Object.getOwnPropertySymbols}));var Ag=B(((Me,Bn)=>{var Hn=oo(),zn=Ps(),ni=dg(),Ci=hg(),ts=Pd(),aa=zn([].concat);Bn.exports=Hn("Reflect","ownKeys")||function(Me){var Bn=ni.f(ts(Me)),Hn=Ci.f;return Hn?aa(Bn,Hn(Me)):Bn}}));var mg=B(((Me,Bn)=>{var Hn=Yf(),zn=Ag(),ni=xd(),Ci=Qh();Bn.exports=function(Me,Bn,ts){for(var Ps=zn(Bn),aa=Ci.f,oa=ni.f,ca=0;ca{var zn=Bn(),ni=Ha(),Ci=/#|\.prototype\./,n1=function(Me,Bn){var Hn=Ps[ts(Me)];return Hn==oa?!0:Hn==aa?!1:ni(Bn)?zn(Bn):!!Bn},ts=n1.normalize=function(Me){return String(Me).replace(Ci,".").toLowerCase()},Ps=n1.data={},aa=n1.NATIVE="N",oa=n1.POLYFILL="P";Hn.exports=n1}));var _g=B(((Bn,Hn)=>{var zn=Me(),ni=xd().f,Ci=Zh(),ts=ig(),Ps=Jp(),aa=mg(),oa=gg();Hn.exports=function(Me,Bn){var Hn=Me.target,ca=Me.global,_a=Me.stat,xa,Ga,Ha,so,oo,Jo;if(ca?Ga=zn:_a?Ga=zn[Hn]||Ps(Hn,{}):Ga=(zn[Hn]||{}).prototype,Ga)for(Ha in Bn){if(oo=Bn[Ha],Me.dontCallGetSet?(Jo=ni(Ga,Ha),so=Jo&&Jo.value):so=Ga[Ha],xa=oa(ca?Ha:Hn+(_a?".":"#")+Ha,Me.forced),!xa&&so!==void 0){if(typeof oo==typeof so)continue;aa(oo,so)}(Me.sham||so&&so.sham)&&Ci(oo,"sham",!0),ts(Ga,Ha,oo,Me)}}}));var yg=B((()=>{var Bn=_g(),Hn=Me();Bn({global:!0,forced:Hn.globalThis!==Hn},{globalThis:Hn})}));var vg=B((()=>{yg()}));var Eg=B(((Me,Bn)=>{var Hn=ng(),zn=Qh();Bn.exports=function(Me,Bn,ni){return ni.get&&Hn(ni.get,Bn,{getter:!0}),ni.set&&Hn(ni.set,Bn,{setter:!0}),zn.f(Me,Bn,ni)}}));var bg=B(((Me,Bn)=>{"use strict";var Hn=Pd();Bn.exports=function(){var Me=Hn(this),Bn="";return Me.hasIndices&&(Bn+="d"),Me.global&&(Bn+="g"),Me.ignoreCase&&(Bn+="i"),Me.multiline&&(Bn+="m"),Me.dotAll&&(Bn+="s"),Me.unicode&&(Bn+="u"),Me.unicodeSets&&(Bn+="v"),Me.sticky&&(Bn+="y"),Bn}}));var Cg=B((()=>{var zn=Me(),ni=Hn(),Ci=Eg(),ts=bg(),Ps=Bn(),aa=zn.RegExp,oa=aa.prototype,ca=ni&&Ps((function(){var Me=!0;try{aa(".","d")}catch{Me=!1}var Bn={},Hn="",zn=Me?"dgimsy":"gimsy",A=function(Me,zn){Object.defineProperty(Bn,Me,{get:function(){return Hn+=zn,!0}})},ni={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};Me&&(ni.hasIndices="d");for(var Ci in ni)A(Ci,ni[Ci]);var ts=Object.getOwnPropertyDescriptor(oa,"flags").get.call(Bn);return ts!==zn||Hn!==zn}));ca&&Ci(oa,"flags",{configurable:!0,get:ts})}));var Dg=B(((Me,Bn)=>{vg();Cg();var Hn=Object.defineProperty,zn=Object.getOwnPropertyDescriptor,ni=Object.getOwnPropertyNames,Ci=Object.prototype.hasOwnProperty,b0=(Me,Bn)=>function(){return Me&&(Bn=(0,Me[ni(Me)[0]])(Me=0)),Bn},t2=(Me,Bn)=>function(){return Bn||(0,Me[ni(Me)[0]])((Bn={exports:{}}).exports,Bn),Bn.exports},g3=(Me,Bn)=>{for(var zn in Bn)Hn(Me,zn,{get:Bn[zn],enumerable:!0})},h3=(Me,Bn,ts,Ps)=>{if(Bn&&typeof Bn=="object"||typeof Bn=="function")for(let aa of ni(Bn))!Ci.call(Me,aa)&&aa!==ts&&Hn(Me,aa,{get:()=>Bn[aa],enumerable:!(Ps=zn(Bn,aa))||Ps.enumerable});return Me},m3=Me=>h3(Hn({},"__esModule",{value:!0}),Me),ts=b0({""(){}}),Ps=t2({"src/common/parser-create-error.js"(Me,Bn){"use strict";ts();function b(Me,Bn){let Hn=new SyntaxError(Me+" ("+Bn.start.line+":"+Bn.start.column+")");return Hn.loc=Bn,Hn}Bn.exports=b}}),aa=t2({"src/utils/try-combinations.js"(Me,Bn){"use strict";ts();function b(){let Me;for(var Bn=arguments.length,Hn=new Array(Bn),zn=0;znxa,arch:()=>k3,cpus:()=>D0,default:()=>Ga,endianness:()=>v0,freemem:()=>E0,getNetworkInterfaces:()=>S0,hostname:()=>y0,loadavg:()=>A0,networkInterfaces:()=>B0,platform:()=>r3,release:()=>q0,tmpDir:()=>Je,tmpdir:()=>_a,totalmem:()=>C0,type:()=>w0,uptime:()=>P0});function v0(){if(typeof ca>"u"){var Me=new ArrayBuffer(2),Bn=new Uint8Array(Me),Hn=new Uint16Array(Me);if(Bn[0]=1,Bn[1]=2,Hn[0]===258)ca="BE";else if(Hn[0]===513)ca="LE";else throw new Error("unable to figure out endianess")}return ca}function y0(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function A0(){return[]}function P0(){return 0}function E0(){return Number.MAX_VALUE}function C0(){return Number.MAX_VALUE}function D0(){return[]}function w0(){return"Browser"}function q0(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function B0(){}function S0(){}function k3(){return"javascript"}function r3(){return"browser"}function Je(){return"/tmp"}var ca,_a,xa,Ga,Ha=b0({"node-modules-polyfills:os"(){ts(),_a=Je,xa=`\n`,Ga={EOL:xa,tmpdir:_a,tmpDir:Je,networkInterfaces:B0,getNetworkInterfaces:S0,release:q0,type:w0,cpus:D0,totalmem:C0,freemem:E0,uptime:P0,loadavg:A0,hostname:y0,endianness:v0}}}),so=t2({"node-modules-polyfills-commonjs:os"(Me,Bn){ts();var Hn=(Ha(),m3(oa));if(Hn&&Hn.default){Bn.exports=Hn.default;for(let Me in Hn)Bn.exports[Me]=Hn[Me]}else Hn&&(Bn.exports=Hn)}}),oo=t2({"node_modules/detect-newline/index.js"(Me,Bn){"use strict";ts();var b=Me=>{if(typeof Me!="string")throw new TypeError("Expected a string");let Bn=Me.match(/(?:\r?\n)/g)||[];if(Bn.length===0)return;let Hn=Bn.filter((Me=>Me===`\r\n`)).length,zn=Bn.length-Hn;return Hn>zn?`\r\n`:`\n`};Bn.exports=b,Bn.exports.graceful=Me=>typeof Me=="string"&&b(Me)||`\n`}}),Jo=t2({"node_modules/jest-docblock/build/index.js"(Me){"use strict";ts(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.extract=T,Me.parse=w2,Me.parseWithComments=C,Me.print=J,Me.strip=z;function g(){let Me=so();return g=function(){return Me},Me}function b(){let Me=f(oo());return b=function(){return Me},Me}function f(Me){return Me&&Me.__esModule?Me:{default:Me}}var Bn=/\*\/$/,Hn=/^\/\*\*?/,zn=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,ni=/(^|\s+)\/\/([^\r\n]*)/g,Ci=/^(\r?\n)+/,Ps=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,aa=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,oa=/(\r?\n|^) *\* ?/g,ca=[];function T(Me){let Bn=Me.match(zn);return Bn?Bn[0].trimLeft():""}function z(Me){let Bn=Me.match(zn);return Bn&&Bn[0]?Me.substring(Bn[0].length):Me}function w2(Me){return C(Me).pragmas}function C(Me){let zn=(0,b().default)(Me)||g().EOL;Me=Me.replace(Hn,"").replace(Bn,"").replace(oa,"$1");let ts="";for(;ts!==Me;)ts=Me,Me=Me.replace(Ps,`${zn}$1 $2${zn}`);Me=Me.replace(Ci,"").trimRight();let _a=Object.create(null),xa=Me.replace(aa,"").replace(Ci,"").trimRight(),Ga;for(;Ga=aa.exec(Me);){let Me=Ga[2].replace(ni,"");typeof _a[Ga[1]]=="string"||Array.isArray(_a[Ga[1]])?_a[Ga[1]]=ca.concat(_a[Ga[1]],Me):_a[Ga[1]]=Me}return{comments:xa,pragmas:_a}}function J(Me){let{comments:Bn="",pragmas:Hn={}}=Me,zn=(0,b().default)(Bn)||g().EOL,ni="/**",Ci=" *",ts=" */",Ps=Object.keys(Hn),aa=Ps.map((Me=>p(Me,Hn[Me]))).reduce(((Me,Bn)=>Me.concat(Bn)),[]).map((Me=>`${Ci} ${Me}${zn}`)).join("");if(!Bn){if(Ps.length===0)return"";if(Ps.length===1&&!Array.isArray(Hn[Ps[0]])){let Me=Hn[Ps[0]];return`${ni} ${p(Ps[0],Me)[0]}${ts}`}}let oa=Bn.split(zn).map((Me=>`${Ci} ${Me}`)).join(zn)+zn;return ni+zn+(Bn?oa:"")+(Bn&&Ps.length?Ci+zn:"")+aa+ts}function p(Me,Bn){return ca.concat(Bn).map((Bn=>`@${Me} ${Bn}`.trim()))}}}),tc=t2({"src/common/end-of-line.js"(Me,Bn){"use strict";ts();function b(Me){let Bn=Me.indexOf("\r");return Bn>=0?Me.charAt(Bn+1)===`\n`?"crlf":"cr":"lf"}function f(Me){switch(Me){case"cr":return"\r";case"crlf":return`\r\n`;default:return`\n`}}function A(Me,Bn){let Hn;switch(Bn){case`\n`:Hn=/\n/g;break;case"\r":Hn=/\r/g;break;case`\r\n`:Hn=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(Bn)}.`)}let zn=Me.match(Hn);return zn?zn.length:0}function L(Me){return Me.replace(/\r\n?/g,`\n`)}Bn.exports={guessEndOfLine:b,convertEndOfLineToChars:f,countEndOfLineChars:A,normalizeEndOfLine:L}}}),dc=t2({"src/language-js/utils/get-shebang.js"(Me,Bn){"use strict";ts();function b(Me){if(!Me.startsWith("#!"))return"";let Bn=Me.indexOf(`\n`);return Bn===-1?Me:Me.slice(0,Bn)}Bn.exports=b}}),Fc=t2({"src/language-js/pragma.js"(Me,Bn){"use strict";ts();var{parseWithComments:Hn,strip:zn,extract:ni,print:Ci}=Jo(),{normalizeEndOfLine:Ps}=tc(),aa=dc();function r(Me){let Bn=aa(Me);Bn&&(Me=Me.slice(Bn.length+1));let zn=ni(Me),{pragmas:Ci,comments:ts}=Hn(zn);return{shebang:Bn,text:Me,pragmas:Ci,comments:ts}}function X(Me){let Bn=Object.keys(r(Me).pragmas);return Bn.includes("prettier")||Bn.includes("format")}function Y(Me){let{shebang:Bn,text:Hn,pragmas:ni,comments:ts}=r(Me),aa=zn(Hn),oa=Ci({pragmas:Object.assign({format:""},ni),comments:ts.trimStart()});return(Bn?`${Bn}\n`:"")+Ps(oa)+(aa.startsWith(`\n`)?`\n`:`\n\n`)+aa}Bn.exports={hasPragma:X,insertPragma:Y}}}),Jc=t2({"src/utils/is-non-empty-array.js"(Me,Bn){"use strict";ts();function b(Me){return Array.isArray(Me)&&Me.length>0}Bn.exports=b}}),Dp=t2({"src/language-js/loc.js"(Me,Bn){"use strict";ts();var Hn=Jc();function f(Me){var Bn,zn;let ni=Me.range?Me.range[0]:Me.start,Ci=(Bn=(zn=Me.declaration)===null||zn===void 0?void 0:zn.decorators)!==null&&Bn!==void 0?Bn:Me.decorators;return Hn(Ci)?Math.min(f(Ci[0]),ni):ni}function A(Me){return Me.range?Me.range[1]:Me.end}function L(Me,Bn){let Hn=f(Me);return Number.isInteger(Hn)&&Hn===f(Bn)}function S(Me,Bn){let Hn=A(Me);return Number.isInteger(Hn)&&Hn===A(Bn)}function V(Me,Bn){return L(Me,Bn)&&S(Me,Bn)}Bn.exports={locStart:f,locEnd:A,hasSameLocStart:L,hasSameLoc:V}}}),kp=t2({"src/language-js/parse/utils/create-parser.js"(Me,Bn){"use strict";ts();var{hasPragma:Hn}=Fc(),{locStart:zn,locEnd:ni}=Dp();function L(Me){return Me=typeof Me=="function"?{parse:Me}:Me,Object.assign({astFormat:"estree",hasPragma:Hn,locStart:zn,locEnd:ni},Me)}Bn.exports=L}}),Qp=t2({"src/language-js/utils/is-ts-keyword-type.js"(Me,Bn){"use strict";ts();function b(Me){let{type:Bn}=Me;return Bn.startsWith("TS")&&Bn.endsWith("Keyword")}Bn.exports=b}}),Up=t2({"src/language-js/utils/is-block-comment.js"(Me,Bn){"use strict";ts();var Hn=new Set(["Block","CommentBlock","MultiLine"]),f=Me=>Hn.has(Me==null?void 0:Me.type);Bn.exports=f}}),Vp=t2({"src/language-js/utils/is-type-cast-comment.js"(Me,Bn){"use strict";ts();var Hn=Up();function f(Me){return Hn(Me)&&Me.value[0]==="*"&&/@(?:type|satisfies)\b/.test(Me.value)}Bn.exports=f}}),qp=t2({"src/utils/get-last.js"(Me,Bn){"use strict";ts();var b=Me=>Me[Me.length-1];Bn.exports=b}}),Jp=t2({"src/language-js/parse/postprocess/visit-node.js"(Me,Bn){"use strict";ts();function b(Me,Bn){if(Array.isArray(Me)){for(let Hn=0;Hn{Me.leadingComments&&Me.leadingComments.some(Ci)&&Bn.add(Hn(Me))})),Me=aa(Me,(Me=>{if(Me.type==="ParenthesizedExpression"){let{expression:zn}=Me;if(zn.type==="TypeCastExpression")return zn.range=Me.range,zn;let ni=Hn(Me);if(!Bn.has(ni))return zn.extra=Object.assign(Object.assign({},zn.extra),{},{parenthesized:!0}),zn}}))}return Me=aa(Me,(Me=>{switch(Me.type){case"ChainExpression":return Y(Me.expression);case"LogicalExpression":{if(G(Me))return u2(Me);break}case"VariableDeclaration":{let Bn=Ps(Me.declarations);Bn&&Bn.init&&w2(Me,Bn);break}case"TSParenthesizedType":return ni(Me.typeAnnotation)||Me.typeAnnotation.type==="TSThisType"||(Me.typeAnnotation.range=[Hn(Me),zn(Me)]),Me.typeAnnotation;case"TSTypeParameter":if(typeof Me.name=="string"){let Bn=Hn(Me);Me.name={type:"Identifier",name:Me.name,range:[Bn,Bn+Me.name.length]}}break;case"ObjectExpression":if(Bn.parser==="typescript"){let Bn=Me.properties.find((Me=>Me.type==="Property"&&Me.value.type==="TSEmptyBodyFunctionExpression"));Bn&&oa(Bn.value,"Unexpected token.")}break;case"SequenceExpression":{let Bn=Ps(Me.expressions);Me.range=[Hn(Me),Math.min(zn(Bn),zn(Me))];break}case"TopicReference":Bn.__isUsingHackPipeline=!0;break;case"ExportAllDeclaration":{let{exported:ni}=Me;if(Bn.parser==="meriyah"&&ni&&ni.type==="Identifier"){let Ci=Bn.originalText.slice(Hn(ni),zn(ni));(Ci.startsWith('"')||Ci.startsWith("'"))&&(Me.exported=Object.assign(Object.assign({},Me.exported),{},{type:"Literal",value:Me.exported.name,raw:Ci}))}break}case"PropertyDefinition":if(Bn.parser==="meriyah"&&Me.static&&!Me.computed&&!Me.key){let Bn="static",zn=Hn(Me);Object.assign(Me,{static:!1,key:{type:"Identifier",name:Bn,range:[zn,zn+Bn.length]}})}break}})),Me;function w2(Me,ni){Bn.originalText[zn(ni)]!==";"&&(Me.range=[Hn(Me),zn(ni)])}}function Y(Me){switch(Me.type){case"CallExpression":Me.type="OptionalCallExpression",Me.callee=Y(Me.callee);break;case"MemberExpression":Me.type="OptionalMemberExpression",Me.object=Y(Me.object);break;case"TSNonNullExpression":Me.expression=Y(Me.expression);break}return Me}function G(Me){return Me.type==="LogicalExpression"&&Me.right.type==="LogicalExpression"&&Me.operator===Me.right.operator}function u2(Me){return G(Me)?u2({type:"LogicalExpression",operator:Me.operator,left:u2({type:"LogicalExpression",operator:Me.operator,left:Me.left,right:Me.right.left,range:[Hn(Me.left),zn(Me.right.left)]}),right:Me.right.right,range:[Hn(Me),zn(Me)]}):Me}Bn.exports=X}}),Qf=t2({"node_modules/meriyah/dist/meriyah.cjs"(Me){"use strict";ts(),Object.defineProperty(Me,"__esModule",{value:!0});var Bn={[0]:"Unexpected token",[28]:"Unexpected token: '%0'",[1]:"Octal escape sequences are not allowed in strict mode",[2]:"Octal escape sequences are not allowed in template strings",[3]:"Unexpected token `#`",[4]:"Illegal Unicode escape sequence",[5]:"Invalid code point %0",[6]:"Invalid hexadecimal escape sequence",[8]:"Octal literals are not allowed in strict mode",[7]:"Decimal integer literals with a leading zero are forbidden in strict mode",[9]:"Expected number in radix %0",[145]:"Invalid left-hand side assignment to a destructible right-hand side",[10]:"Non-number found after exponent indicator",[11]:"Invalid BigIntLiteral",[12]:"No identifiers allowed directly after numeric literal",[13]:"Escapes \\8 or \\9 are not syntactically valid escapes",[14]:"Unterminated string literal",[15]:"Unterminated template literal",[16]:"Multiline comment was not closed properly",[17]:"The identifier contained dynamic unicode escape that was not closed",[18]:"Illegal character '%0'",[19]:"Missing hexadecimal digits",[20]:"Invalid implicit octal",[21]:"Invalid line break in string literal",[22]:"Only unicode escapes are legal in identifier names",[23]:"Expected '%0'",[24]:"Invalid left-hand side in assignment",[25]:"Invalid left-hand side in async arrow",[26]:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',[27]:"Member access on super must be in a method",[29]:"Await expression not allowed in formal parameter",[30]:"Yield expression not allowed in formal parameter",[92]:"Unexpected token: 'escaped keyword'",[31]:"Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses",[119]:"Async functions can only be declared at the top level or inside a block",[32]:"Unterminated regular expression",[33]:"Unexpected regular expression flag",[34]:"Duplicate regular expression flag '%0'",[35]:"%0 functions must have exactly %1 argument%2",[36]:"Setter function argument must not be a rest parameter",[37]:"%0 declaration must have a name in this context",[38]:"Function name may not contain any reserved words or be eval or arguments in strict mode",[39]:"The rest operator is missing an argument",[40]:"A getter cannot be a generator",[41]:"A computed property name must be followed by a colon or paren",[130]:"Object literal keys that are strings or numbers must be a method or have a colon",[43]:"Found `* async x(){}` but this should be `async * x(){}`",[42]:"Getters and setters can not be generators",[44]:"'%0' can not be generator method",[45]:"No line break is allowed after '=>'",[46]:"The left-hand side of the arrow can only be destructed through assignment",[47]:"The binding declaration is not destructible",[48]:"Async arrow can not be followed by new expression",[49]:"Classes may not have a static property named 'prototype'",[50]:"Class constructor may not be a %0",[51]:"Duplicate constructor method in class",[52]:"Invalid increment/decrement operand",[53]:"Invalid use of `new` keyword on an increment/decrement expression",[54]:"`=>` is an invalid assignment target",[55]:"Rest element may not have a trailing comma",[56]:"Missing initializer in %0 declaration",[57]:"'for-%0' loop head declarations can not have an initializer",[58]:"Invalid left-hand side in for-%0 loop: Must have a single binding",[59]:"Invalid shorthand property initializer",[60]:"Property name __proto__ appears more than once in object literal",[61]:"Let is disallowed as a lexically bound name",[62]:"Invalid use of '%0' inside new expression",[63]:"Illegal 'use strict' directive in function with non-simple parameter list",[64]:'Identifier "let" disallowed as left-hand side expression in strict mode',[65]:"Illegal continue statement",[66]:"Illegal break statement",[67]:"Cannot have `let[...]` as a var name in strict mode",[68]:"Invalid destructuring assignment target",[69]:"Rest parameter may not have a default initializer",[70]:"The rest argument must the be last parameter",[71]:"Invalid rest argument",[73]:"In strict mode code, functions can only be declared at top level or inside a block",[74]:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement",[75]:"Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement",[76]:"Class declaration can't appear in single-statement context",[77]:"Invalid left-hand side in for-%0",[78]:"Invalid assignment in for-%0",[79]:"for await (... of ...) is only valid in async functions and async generators",[80]:"The first token after the template expression should be a continuation of the template",[82]:"`let` declaration not allowed here and `let` cannot be a regular var name in strict mode",[81]:"`let \n [` is a restricted production at the start of a statement",[83]:"Catch clause requires exactly one parameter, not more (and no trailing comma)",[84]:"Catch clause parameter does not support default values",[85]:"Missing catch or finally after try",[86]:"More than one default clause in switch statement",[87]:"Illegal newline after throw",[88]:"Strict mode code may not include a with statement",[89]:"Illegal return statement",[90]:"The left hand side of the for-header binding declaration is not destructible",[91]:"new.target only allowed within functions",[93]:"'#' not followed by identifier",[99]:"Invalid keyword",[98]:"Can not use 'let' as a class name",[97]:"'A lexical declaration can't define a 'let' binding",[96]:"Can not use `let` as variable name in strict mode",[94]:"'%0' may not be used as an identifier in this context",[95]:"Await is only valid in async functions",[100]:"The %0 keyword can only be used with the module goal",[101]:"Unicode codepoint must not be greater than 0x10FFFF",[102]:"%0 source must be string",[103]:"Only a identifier can be used to indicate alias",[104]:"Only '*' or '{...}' can be imported after default",[105]:"Trailing decorator may be followed by method",[106]:"Decorators can't be used with a constructor",[108]:"HTML comments are only allowed with web compatibility (Annex B)",[109]:"The identifier 'let' must not be in expression position in strict mode",[110]:"Cannot assign to `eval` and `arguments` in strict mode",[111]:"The left-hand side of a for-of loop may not start with 'let'",[112]:"Block body arrows can not be immediately invoked without a group",[113]:"Block body arrows can not be immediately accessed without a group",[114]:"Unexpected strict mode reserved word",[115]:"Unexpected eval or arguments in strict mode",[116]:"Decorators must not be followed by a semicolon",[117]:"Calling delete on expression not allowed in strict mode",[118]:"Pattern can not have a tail",[120]:"Can not have a `yield` expression on the left side of a ternary",[121]:"An arrow function can not have a postfix update operator",[122]:"Invalid object literal key character after generator star",[123]:"Private fields can not be deleted",[125]:"Classes may not have a field called constructor",[124]:"Classes may not have a private element named constructor",[126]:"A class field initializer may not contain arguments",[127]:"Generators can only be declared at the top level or inside a block",[128]:"Async methods are a restricted production and cannot have a newline following it",[129]:"Unexpected character after object literal property name",[131]:"Invalid key token",[132]:"Label '%0' has already been declared",[133]:"continue statement must be nested within an iteration statement",[134]:"Undefined label '%0'",[135]:"Trailing comma is disallowed inside import(...) arguments",[136]:"import() requires exactly one argument",[137]:"Cannot use new with import(...)",[138]:"... is not allowed in import()",[139]:"Expected '=>'",[140]:"Duplicate binding '%0'",[141]:"Cannot export a duplicate name '%0'",[144]:"Duplicate %0 for-binding",[142]:"Exported binding '%0' needs to refer to a top-level declared variable",[143]:"Unexpected private field",[147]:"Numeric separators are not allowed at the end of numeric literals",[146]:"Only one underscore is allowed as numeric separator",[148]:"JSX value should be either an expression or a quoted JSX text",[149]:"Expected corresponding JSX closing tag for %0",[150]:"Adjacent JSX elements must be wrapped in an enclosing tag",[151]:"JSX attributes must only be assigned a non-empty 'expression'",[152]:"'%0' has already been declared",[153]:"'%0' shadowed a catch clause binding",[154]:"Dot property must be an identifier",[155]:"Encountered invalid input after spread/rest argument",[156]:"Catch without try",[157]:"Finally without try",[158]:"Expected corresponding closing tag for JSX fragment",[159]:"Coalescing and logical operators used together in the same expression must be disambiguated with parentheses",[160]:"Invalid tagged template on optional chain",[161]:"Invalid optional chain from super property",[162]:"Invalid optional chain from new expression",[163]:'Cannot use "import.meta" outside a module',[164]:"Leading decorators must be attached to a class declaration"},Hn=class extends SyntaxError{constructor(Me,Hn,zn,ni){for(var Ci=arguments.length,ts=new Array(Ci>4?Ci-4:0),Ps=4;Psts[Bn]));super(`${aa}`),this.index=Me,this.line=Hn,this.column=zn,this.description=aa,this.loc={line:Hn,column:zn}}};function f(Me,Bn){for(var zn=arguments.length,ni=new Array(zn>2?zn-2:0),Ci=2;Ci4?Ci-4:0),Ps=4;Ps{let Hn=new Uint32Array(104448),zn=0,ni=0;for(;zn<3540;){let Ci=Me[zn++];if(Ci<0)ni-=Ci;else{let ts=Me[zn++];Ci&2&&(ts=Bn[ts]),Ci&1?Hn.fill(ts,ni,ni+=Me[zn++]):Hn[ni++]=ts}}return Hn})([-1,2,24,2,25,2,5,-1,0,77595648,3,44,2,3,0,14,2,57,2,58,3,0,3,0,3168796671,0,4294956992,2,1,2,0,2,59,3,0,4,0,4294966523,3,0,4,2,16,2,60,2,0,0,4294836735,0,3221225471,0,4294901942,2,61,0,134152192,3,0,2,0,4294951935,3,0,2,0,2683305983,0,2684354047,2,17,2,0,0,4294961151,3,0,2,2,19,2,0,0,608174079,2,0,2,131,2,6,2,56,-1,2,37,0,4294443263,2,1,3,0,3,0,4294901711,2,39,0,4089839103,0,2961209759,0,1342439375,0,4294543342,0,3547201023,0,1577204103,0,4194240,0,4294688750,2,2,0,80831,0,4261478351,0,4294549486,2,2,0,2967484831,0,196559,0,3594373100,0,3288319768,0,8469959,2,194,2,3,0,3825204735,0,123747807,0,65487,0,4294828015,0,4092591615,0,1080049119,0,458703,2,3,2,0,0,2163244511,0,4227923919,0,4236247022,2,66,0,4284449919,0,851904,2,4,2,11,0,67076095,-1,2,67,0,1073741743,0,4093591391,-1,0,50331649,0,3265266687,2,32,0,4294844415,0,4278190047,2,18,2,129,-1,3,0,2,2,21,2,0,2,9,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,10,0,261632,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,2088959,2,27,2,8,0,909311,3,0,2,0,814743551,2,41,0,67057664,3,0,2,2,40,2,0,2,28,2,0,2,29,2,7,0,268374015,2,26,2,49,2,0,2,76,0,134153215,-1,2,6,2,0,2,7,0,2684354559,0,67044351,0,3221160064,0,1,-1,3,0,2,2,42,0,1046528,3,0,3,2,8,2,0,2,51,0,4294960127,2,9,2,38,2,10,0,4294377472,2,11,3,0,7,0,4227858431,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-1,2,124,0,1048577,2,82,2,13,-1,2,13,0,131042,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,1046559,2,0,2,14,2,0,0,2147516671,2,20,3,86,2,2,0,-16,2,87,0,524222462,2,4,2,0,0,4269801471,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,2,121,2,0,0,3220242431,3,0,3,2,19,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,2,0,0,4351,2,0,2,8,3,0,2,0,67043391,0,3909091327,2,0,2,22,2,8,2,18,3,0,2,0,67076097,2,7,2,0,2,20,0,67059711,0,4236247039,3,0,2,0,939524103,0,8191999,2,97,2,98,2,15,2,21,3,0,3,0,67057663,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,3774349439,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,2,23,0,1638399,2,172,2,105,3,0,3,2,18,2,24,2,25,2,5,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-3,2,150,-4,2,18,2,0,2,35,0,1,2,0,2,62,2,28,2,11,2,9,2,0,2,110,-1,3,0,4,2,9,2,21,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277137519,0,2269118463,-1,3,18,2,-1,2,32,2,36,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,46,-10,2,0,0,203775,-2,2,18,2,43,2,35,-2,2,17,2,117,2,20,3,0,2,2,36,0,2147549120,2,0,2,11,2,17,2,135,2,0,2,37,2,52,0,5242879,3,0,2,0,402644511,-1,2,120,0,1090519039,-2,2,122,2,38,2,0,0,67045375,2,39,0,4226678271,0,3766565279,0,2039759,-4,3,0,2,0,3288270847,0,3,3,0,2,0,67043519,-5,2,0,0,4282384383,0,1056964609,-1,3,0,2,0,67043345,-1,2,0,2,40,2,41,-1,2,10,2,42,-6,2,0,2,11,-3,3,0,2,0,2147484671,2,125,0,4190109695,2,50,-2,2,126,0,4244635647,0,27,2,0,2,7,2,43,2,0,2,63,-1,2,0,2,40,-8,2,54,2,44,0,67043329,2,127,2,45,0,8388351,-2,2,128,0,3028287487,2,46,2,130,0,33259519,2,41,-9,2,20,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,2,41,-2,2,17,2,49,2,0,2,20,2,50,2,132,2,23,-21,3,0,2,-4,3,0,2,0,4294936575,2,0,0,4294934783,-2,0,196635,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,0,1677656575,-166,0,4161266656,0,4071,0,15360,-4,0,28,-13,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,0,4294954999,2,0,-16,2,0,2,88,2,0,0,2105343,0,4160749584,0,65534,-42,0,4194303871,0,2011,-6,2,0,0,1073684479,0,17407,-11,2,0,2,31,-40,3,0,6,0,8323103,-1,3,0,2,2,42,-37,2,55,2,144,2,145,2,146,2,147,2,148,-105,2,24,-32,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-22381,3,0,7,2,23,-6130,3,5,2,-1,0,69207040,3,44,2,3,0,14,2,57,2,58,-3,0,3168731136,0,4294956864,2,1,2,0,2,59,3,0,4,0,4294966275,3,0,4,2,16,2,60,2,0,2,33,-1,2,17,2,61,-1,2,0,2,56,0,4294885376,3,0,2,0,3145727,0,2617294944,0,4294770688,2,23,2,62,3,0,2,0,131135,2,95,0,70256639,0,71303167,0,272,2,40,2,56,-1,2,37,2,30,-1,2,96,2,63,0,4278255616,0,4294836227,0,4294549473,0,600178175,0,2952806400,0,268632067,0,4294543328,0,57540095,0,1577058304,0,1835008,0,4294688736,2,65,2,64,0,33554435,2,123,2,65,2,151,0,131075,0,3594373096,0,67094296,2,64,-1,0,4294828e3,0,603979263,2,160,0,3,0,4294828001,0,602930687,2,183,0,393219,0,4294828016,0,671088639,0,2154840064,0,4227858435,0,4236247008,2,66,2,36,-1,2,4,0,917503,2,36,-1,2,67,0,537788335,0,4026531935,-1,0,1,-1,2,32,2,68,0,7936,-3,2,0,0,2147485695,0,1010761728,0,4292984930,0,16387,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,11,-1,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,253951,3,19,2,0,122879,2,0,2,8,0,276824064,-2,3,0,2,2,40,2,0,0,4294903295,2,0,2,29,2,7,-1,2,17,2,49,2,0,2,76,2,41,-1,2,20,2,0,2,27,-2,0,128,-2,2,77,2,8,0,4064,-1,2,119,0,4227907585,2,0,2,118,2,0,2,48,2,173,2,9,2,38,2,10,-1,0,74440192,3,0,6,-2,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-3,2,82,2,13,-3,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,817183,2,0,2,14,2,0,0,33023,2,20,3,86,2,-17,2,87,0,524157950,2,4,2,0,2,88,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,0,3072,2,0,0,2147516415,2,9,3,0,2,2,23,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,0,4294965179,0,7,2,0,2,8,2,91,2,8,-1,0,1761345536,2,95,0,4294901823,2,36,2,18,2,96,2,34,2,166,0,2080440287,2,0,2,33,2,143,0,3296722943,2,0,0,1046675455,0,939524101,0,1837055,2,97,2,98,2,15,2,21,3,0,3,0,7,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,2700607615,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,-3,2,105,3,0,3,2,18,-1,3,5,2,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-8,2,18,2,0,2,35,-1,2,0,2,62,2,28,2,29,2,9,2,0,2,110,-1,3,0,4,2,9,2,17,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277075969,2,29,-1,3,18,2,-1,2,32,2,117,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,48,-10,2,0,0,197631,-2,2,18,2,43,2,118,-2,2,17,2,117,2,20,2,119,2,51,-2,2,119,2,23,2,17,2,33,2,119,2,36,0,4294901904,0,4718591,2,119,2,34,0,335544350,-1,2,120,2,121,-2,2,122,2,38,2,7,-1,2,123,2,65,0,3758161920,0,3,-4,2,0,2,27,0,2147485568,0,3,2,0,2,23,0,176,-5,2,0,2,47,2,186,-1,2,0,2,23,2,197,-1,2,0,0,16779263,-2,2,11,-7,2,0,2,121,-3,3,0,2,2,124,2,125,0,2147549183,0,2,-2,2,126,2,35,0,10,0,4294965249,0,67633151,0,4026597376,2,0,0,536871935,-1,2,0,2,40,-8,2,54,2,47,0,1,2,127,2,23,-3,2,128,2,35,2,129,2,130,0,16778239,-10,2,34,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,-3,2,17,2,131,2,0,2,23,2,48,2,132,2,23,-21,3,0,2,-4,3,0,2,0,67583,-1,2,103,-2,0,11,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,2,135,-187,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,2,143,-73,2,0,0,1065361407,0,16384,-11,2,0,2,121,-40,3,0,6,2,117,-1,3,0,2,0,2063,-37,2,55,2,144,2,145,2,146,2,147,2,148,-138,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-28517,2,0,0,1,-1,2,124,2,0,0,8193,-21,2,193,0,10255,0,4,-11,2,64,2,171,-1,0,71680,-1,2,161,0,4292900864,0,805306431,-5,2,150,-1,2,157,-1,0,6144,-2,2,127,-1,2,154,-1,0,2147532800,2,151,2,165,2,0,2,164,0,524032,0,4,-4,2,190,0,205128192,0,1333757536,0,2147483696,0,423953,0,747766272,0,2717763192,0,4286578751,0,278545,2,152,0,4294886464,0,33292336,0,417809,2,152,0,1327482464,0,4278190128,0,700594195,0,1006647527,0,4286497336,0,4160749631,2,153,0,469762560,0,4171219488,0,8323120,2,153,0,202375680,0,3214918176,0,4294508592,2,153,-1,0,983584,0,48,0,58720273,0,3489923072,0,10517376,0,4293066815,0,1,0,2013265920,2,177,2,0,0,2089,0,3221225552,0,201375904,2,0,-2,0,256,0,122880,0,16777216,2,150,0,4160757760,2,0,-6,2,167,-11,0,3263218176,-1,0,49664,0,2160197632,0,8388802,-1,0,12713984,-1,2,154,2,159,2,178,-2,2,162,-20,0,3758096385,-2,2,155,0,4292878336,2,90,2,169,0,4294057984,-2,2,163,2,156,2,175,-2,2,155,-1,2,182,-1,2,170,2,124,0,4026593280,0,14,0,4292919296,-1,2,158,0,939588608,-1,0,805306368,-1,2,124,0,1610612736,2,156,2,157,2,4,2,0,-2,2,158,2,159,-3,0,267386880,-1,2,160,0,7168,-1,0,65024,2,154,2,161,2,179,-7,2,168,-8,2,162,-1,0,1426112704,2,163,-1,2,164,0,271581216,0,2149777408,2,23,2,161,2,124,0,851967,2,180,-1,2,23,2,181,-4,2,158,-20,2,195,2,165,-56,0,3145728,2,185,-4,2,166,2,124,-4,0,32505856,-1,2,167,-1,0,2147385088,2,90,1,2155905152,2,-3,2,103,2,0,2,168,-2,2,169,-6,2,170,0,4026597375,0,1,-1,0,1,-1,2,171,-3,2,117,2,64,-2,2,166,-2,2,176,2,124,-878,2,159,-36,2,172,-1,2,201,-10,2,188,-5,2,174,-6,0,4294965251,2,27,-1,2,173,-1,2,174,-2,0,4227874752,-3,0,2146435072,2,159,-2,0,1006649344,2,124,-1,2,90,0,201375744,-3,0,134217720,2,90,0,4286677377,0,32896,-1,2,158,-3,2,175,-349,2,176,0,1920,2,177,3,0,264,-11,2,157,-2,2,178,2,0,0,520617856,0,2692743168,0,36,-3,0,524284,-11,2,23,-1,2,187,-1,2,184,0,3221291007,2,178,-1,2,202,0,2158720,-3,2,159,0,1,-4,2,124,0,3808625411,0,3489628288,2,200,0,1207959680,0,3221274624,2,0,-3,2,179,0,120,0,7340032,-2,2,180,2,4,2,23,2,163,3,0,4,2,159,-1,2,181,2,177,-1,0,8176,2,182,2,179,2,183,-1,0,4290773232,2,0,-4,2,163,2,189,0,15728640,2,177,-1,2,161,-1,0,4294934512,3,0,4,-9,2,90,2,170,2,184,3,0,4,0,704,0,1849688064,2,185,-1,2,124,0,4294901887,2,0,0,130547712,0,1879048192,2,199,3,0,2,-1,2,186,2,187,-1,0,17829776,0,2025848832,0,4261477888,-2,2,0,-1,0,4286580608,-1,0,29360128,2,192,0,16252928,0,3791388672,2,38,3,0,2,-2,2,196,2,0,-1,2,103,-1,0,66584576,-1,2,191,3,0,9,2,124,-1,0,4294755328,3,0,2,-1,2,161,2,178,3,0,2,2,23,2,188,2,90,-2,0,245760,0,2147418112,-1,2,150,2,203,0,4227923456,-1,2,164,2,161,2,90,-3,0,4292870145,0,262144,2,124,3,0,2,0,1073758848,2,189,-1,0,4227921920,2,190,0,68289024,0,528402016,0,4292927536,3,0,4,-2,0,268435456,2,91,-2,2,191,3,0,5,-1,2,192,2,163,2,0,-2,0,4227923936,2,62,-1,2,155,2,95,2,0,2,154,2,158,3,0,6,-1,2,177,3,0,3,-2,0,2146959360,0,9440640,0,104857600,0,4227923840,3,0,2,0,768,2,193,2,77,-2,2,161,-2,2,119,-1,2,155,3,0,8,0,512,0,8388608,2,194,2,172,2,187,0,4286578944,3,0,2,0,1152,0,1266679808,2,191,0,576,0,4261707776,2,95,3,0,9,2,155,3,0,5,2,16,-1,0,2147221504,-28,2,178,3,0,3,-3,0,4292902912,-6,2,96,3,0,85,-33,0,4294934528,3,0,126,-18,2,195,3,0,269,-17,2,155,2,124,2,198,3,0,2,2,23,0,4290822144,-2,0,67174336,0,520093700,2,17,3,0,21,-2,2,179,3,0,3,-2,0,30720,-1,0,32512,3,0,2,0,4294770656,-191,2,174,-38,2,170,2,0,2,196,3,0,279,-8,2,124,2,0,0,4294508543,0,65295,-11,2,177,3,0,72,-3,0,3758159872,0,201391616,3,0,155,-7,2,170,-1,0,384,-1,0,133693440,-3,2,196,-2,2,26,3,0,4,2,169,-2,2,90,2,155,3,0,4,-2,2,164,-1,2,150,0,335552923,2,197,-1,0,538974272,0,2214592512,0,132e3,-10,0,192,-8,0,12288,-21,0,134213632,0,4294901761,3,0,42,0,100663424,0,4294965284,3,0,6,-1,0,3221282816,2,198,3,0,11,-1,2,199,3,0,40,-6,0,4286578784,2,0,-2,0,1006694400,3,0,24,2,35,-1,2,94,3,0,2,0,1,2,163,3,0,6,2,197,0,4110942569,0,1432950139,0,2701658217,0,4026532864,0,4026532881,2,0,2,45,3,0,8,-1,2,158,-2,2,169,0,98304,0,65537,2,170,-5,0,4294950912,2,0,2,118,0,65528,2,177,0,4294770176,2,26,3,0,4,-30,2,174,0,3758153728,-3,2,169,-2,2,155,2,188,2,158,-1,2,191,-1,2,161,0,4294754304,3,0,2,-3,0,33554432,-2,2,200,-3,2,169,0,4175478784,2,201,0,4286643712,0,4286644216,2,0,-4,2,202,-1,2,165,0,4227923967,3,0,32,-1334,2,163,2,0,-129,2,94,-6,2,163,-180,2,203,-233,2,4,3,0,96,-16,2,163,3,0,47,-154,2,165,3,0,22381,-7,2,17,3,0,6128],[4294967295,4294967291,4092460543,4294828031,4294967294,134217726,268435455,2147483647,1048575,1073741823,3892314111,134217727,1061158911,536805376,4294910143,4160749567,4294901759,4294901760,536870911,262143,8388607,4294902783,4294918143,65535,67043328,2281701374,4294967232,2097151,4294903807,4194303,255,67108863,4294967039,511,524287,131071,127,4292870143,4294902271,4294549487,33554431,1023,67047423,4294901888,4286578687,4294770687,67043583,32767,15,2047999,67043343,16777215,4294902e3,4294934527,4294966783,4294967279,2047,262083,20511,4290772991,41943039,493567,4294959104,603979775,65536,602799615,805044223,4294965206,8191,1031749119,4294917631,2134769663,4286578493,4282253311,4294942719,33540095,4294905855,4294967264,2868854591,1608515583,265232348,534519807,2147614720,1060109444,4093640016,17376,2139062143,224,4169138175,4294909951,4286578688,4294967292,4294965759,2044,4292870144,4294966272,4294967280,8289918,4294934399,4294901775,4294965375,1602223615,4294967259,4294443008,268369920,4292804608,486341884,4294963199,3087007615,1073692671,4128527,4279238655,4294902015,4294966591,2445279231,3670015,3238002687,31,63,4294967288,4294705151,4095,3221208447,4294549472,2147483648,4285526655,4294966527,4294705152,4294966143,64,4294966719,16383,3774873592,458752,536807423,67043839,3758096383,3959414372,3755993023,2080374783,4294835295,4294967103,4160749565,4087,184024726,2862017156,1593309078,268434431,268434414,4294901763,536870912,2952790016,202506752,139264,402653184,4261412864,4227922944,49152,61440,3758096384,117440512,65280,3233808384,3221225472,2097152,4294965248,32768,57152,67108864,4293918720,4290772992,25165824,57344,4227915776,4278190080,4227907584,65520,4026531840,4227858432,4160749568,3758129152,4294836224,63488,1073741824,4294967040,4194304,251658240,196608,4294963200,64512,417808,4227923712,12582912,50331648,65472,4294967168,4294966784,16,4294917120,2080374784,4096,65408,524288,65532]);function r(Me){return Me.column++,Me.currentChar=Me.source.charCodeAt(++Me.index)}function X(Me,Bn){if((Bn&64512)!==55296)return 0;let Hn=Me.source.charCodeAt(Me.index+1);return(Hn&64512)!==56320?0:(Bn=Me.currentChar=65536+((Bn&1023)<<10)+(Hn&1023),zn[(Bn>>>5)+0]>>>Bn&31&1||f(Me,18,T(Bn)),Me.index++,Me.column++,1)}function Y(Me,Bn){Me.currentChar=Me.source.charCodeAt(++Me.index),Me.flags|=1,Bn&4||(Me.column=0,Me.line++)}function G(Me){Me.flags|=1,Me.currentChar=Me.source.charCodeAt(++Me.index),Me.column=0,Me.line++}function u2(Me){return Me===160||Me===65279||Me===133||Me===5760||Me>=8192&&Me<=8203||Me===8239||Me===8287||Me===12288||Me===8201||Me===65519}function T(Me){return Me<=65535?String.fromCharCode(Me):String.fromCharCode(Me>>>10)+String.fromCharCode(Me&1023)}function z(Me){return Me<65?Me-48:Me-65+10&15}function w2(Me){switch(Me){case 134283266:return"NumericLiteral";case 134283267:return"StringLiteral";case 86021:case 86022:return"BooleanLiteral";case 86023:return"NullLiteral";case 65540:return"RegularExpression";case 67174408:case 67174409:case 132:return"TemplateLiteral";default:return(Me&143360)===143360?"Identifier":(Me&4096)===4096?"Keyword":"Punctuator"}}var ni=[0,0,0,0,0,0,0,0,0,0,1032,0,0,2056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8192,0,3,0,0,8192,0,0,0,256,0,33024,0,0,242,242,114,114,114,114,114,114,594,594,0,0,16384,0,0,0,0,67,67,67,67,67,67,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,0,4099,0,71,71,71,71,71,71,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,16384,0,0,0,0],Ci=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0],Ps=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0];function U(Me){return Me<=127?Ci[Me]:zn[(Me>>>5)+34816]>>>Me&31&1}function e2(Me){return Me<=127?Ps[Me]:zn[(Me>>>5)+0]>>>Me&31&1||Me===8204||Me===8205}var aa=["SingleLine","MultiLine","HTMLOpen","HTMLClose","HashbangComment"];function l2(Me){let Bn=Me.source;Me.currentChar===35&&Bn.charCodeAt(Me.index+1)===33&&(r(Me),r(Me),f2(Me,Bn,0,4,Me.tokenPos,Me.linePos,Me.colPos))}function V2(Me,Bn,Hn,zn,ni,Ci,ts,Ps){return zn&2048&&f(Me,0),f2(Me,Bn,Hn,ni,Ci,ts,Ps)}function f2(Me,Bn,Hn,zn,Ci,ts,Ps){let{index:oa}=Me;for(Me.tokenPos=Me.index,Me.linePos=Me.line,Me.colPos=Me.column;Me.index=Me.source.length)return f(Me,32)}let ni=Me.index-1,Ci=0,ts=Me.currentChar,{index:Ps}=Me;for(;e2(ts);){switch(ts){case 103:Ci&2&&f(Me,34,"g"),Ci|=2;break;case 105:Ci&1&&f(Me,34,"i"),Ci|=1;break;case 109:Ci&4&&f(Me,34,"m"),Ci|=4;break;case 117:Ci&16&&f(Me,34,"g"),Ci|=16;break;case 121:Ci&8&&f(Me,34,"y"),Ci|=8;break;case 115:Ci&32&&f(Me,34,"s"),Ci|=32;break;default:f(Me,33)}ts=r(Me)}let aa=Me.source.slice(Ps,Me.index),oa=Me.source.slice(Hn,ni);return Me.tokenRegExp={pattern:oa,flags:aa},Bn&512&&(Me.tokenRaw=Me.source.slice(Me.tokenPos,Me.index)),Me.tokenValue=V1(Me,oa,aa),65540}function V1(Me,Bn,Hn){try{return new RegExp(Bn,Hn)}catch{f(Me,32)}}function N1(Me,Bn,Hn){let{index:zn}=Me,Ci="",ts=r(Me),Ps=Me.index;for(;!(ni[ts]&8);){if(ts===Hn)return Ci+=Me.source.slice(Ps,Me.index),r(Me),Bn&512&&(Me.tokenRaw=Me.source.slice(zn,Me.index)),Me.tokenValue=Ci,134283267;if((ts&8)===8&&ts===92){if(Ci+=Me.source.slice(Ps,Me.index),ts=r(Me),ts<127||ts===8232||ts===8233){let Hn=a2(Me,Bn,ts);Hn>=0?Ci+=T(Hn):t1(Me,Hn,0)}else Ci+=T(ts);Ps=Me.index+1}Me.index>=Me.end&&f(Me,14),ts=r(Me)}f(Me,14)}function a2(Me,Bn,Hn){switch(Hn){case 98:return 8;case 102:return 12;case 114:return 13;case 110:return 10;case 116:return 9;case 118:return 11;case 13:if(Me.index1114111)return-5;return Me.currentChar<1||Me.currentChar!==125?-4:Bn}else{if(!(ni[Bn]&64))return-4;let Hn=Me.source.charCodeAt(Me.index+1);if(!(ni[Hn]&64))return-4;let zn=Me.source.charCodeAt(Me.index+2);if(!(ni[zn]&64))return-4;let Ci=Me.source.charCodeAt(Me.index+3);return ni[Ci]&64?(Me.index+=3,Me.column+=3,Me.currentChar=Me.source.charCodeAt(Me.index),z(Bn)<<12|z(Hn)<<8|z(zn)<<4|z(Ci)):-4}}case 56:case 57:if(!(Bn&256))return-3;default:return Hn}}function t1(Me,Bn,Hn){switch(Bn){case-1:return;case-2:f(Me,Hn?2:1);case-3:f(Me,13);case-4:f(Me,6);case-5:f(Me,101)}}function We(Me,Bn){let{index:Hn}=Me,zn=67174409,ni="",Ci=r(Me);for(;Ci!==96;){if(Ci===36&&Me.source.charCodeAt(Me.index+1)===123){r(Me),zn=67174408;break}else if((Ci&8)===8&&Ci===92)if(Ci=r(Me),Ci>126)ni+=T(Ci);else{let Hn=a2(Me,Bn|1024,Ci);if(Hn>=0)ni+=T(Hn);else if(Hn!==-1&&Bn&65536){ni=void 0,Ci=T0(Me,Ci),Ci<0&&(zn=67174408);break}else t1(Me,Hn,1)}else Me.index=Me.end&&f(Me,15),Ci=r(Me)}return r(Me),Me.tokenValue=ni,Me.tokenRaw=Me.source.slice(Hn+1,Me.index-(zn===67174409?1:2)),zn}function T0(Me,Bn){for(;Bn!==96;){switch(Bn){case 36:{let Hn=Me.index+1;if(Hn=Me.end&&f(Me,15),Bn=r(Me)}return Bn}function I0(Me,Bn){return Me.index>=Me.end&&f(Me,0),Me.index--,Me.column--,We(Me,Bn)}function Ke(Me,Bn,Hn){let zn=Me.currentChar,Ci=0,ts=9,Ps=Hn&64?0:1,aa=0,oa=0;if(Hn&64)Ci="."+o1(Me,zn),zn=Me.currentChar,zn===110&&f(Me,11);else{if(zn===48)if(zn=r(Me),(zn|32)===120){for(Hn=136,zn=r(Me);ni[zn]&4160;){if(zn===95){oa||f(Me,146),oa=0,zn=r(Me);continue}oa=1,Ci=Ci*16+z(zn),aa++,zn=r(Me)}(aa<1||!oa)&&f(Me,aa<1?19:147)}else if((zn|32)===111){for(Hn=132,zn=r(Me);ni[zn]&4128;){if(zn===95){oa||f(Me,146),oa=0,zn=r(Me);continue}oa=1,Ci=Ci*8+(zn-48),aa++,zn=r(Me)}(aa<1||!oa)&&f(Me,aa<1?0:147)}else if((zn|32)===98){for(Hn=130,zn=r(Me);ni[zn]&4224;){if(zn===95){oa||f(Me,146),oa=0,zn=r(Me);continue}oa=1,Ci=Ci*2+(zn-48),aa++,zn=r(Me)}(aa<1||!oa)&&f(Me,aa<1?0:147)}else if(ni[zn]&32)for(Bn&1024&&f(Me,1),Hn=1;ni[zn]&16;){if(ni[zn]&512){Hn=32,Ps=0;break}Ci=Ci*8+(zn-48),zn=r(Me)}else ni[zn]&512?(Bn&1024&&f(Me,1),Me.flags|=64,Hn=32):zn===95&&f(Me,0);if(Hn&48){if(Ps){for(;ts>=0&&ni[zn]&4112;){if(zn===95){zn=r(Me),(zn===95||Hn&32)&&S(Me.index,Me.line,Me.index+1,146),oa=1;continue}oa=0,Ci=10*Ci+(zn-48),zn=r(Me),--ts}if(oa&&S(Me.index,Me.line,Me.index+1,147),ts>=0&&!U(zn)&&zn!==46)return Me.tokenValue=Ci,Bn&512&&(Me.tokenRaw=Me.source.slice(Me.tokenPos,Me.index)),134283266}Ci+=o1(Me,zn),zn=Me.currentChar,zn===46&&(r(Me)===95&&f(Me,0),Hn=64,Ci+="."+o1(Me,Me.currentChar),zn=Me.currentChar)}}let ca=Me.index,_a=0;if(zn===110&&Hn&128)_a=1,zn=r(Me);else if((zn|32)===101){zn=r(Me),ni[zn]&256&&(zn=r(Me));let{index:Bn}=Me;(ni[zn]&16)<1&&f(Me,10),Ci+=Me.source.substring(ca,Bn)+o1(Me,zn),zn=Me.currentChar}return(Me.index","(","{",".","...","}",")",";",",","[","]",":","?","'",'"',"","++","--","=","<<=",">>=",">>>=","**=","+=","-=","*=","/=","%=","^=","|=","&=","||=","&&=","??=","typeof","delete","void","!","~","+","-","in","instanceof","*","%","/","**","&&","||","===","!==","==","!=","<=",">=","<",">","<<",">>",">>>","&","|","^","var","let","const","break","case","catch","class","continue","debugger","default","do","else","export","extends","finally","for","function","if","import","new","return","super","switch","this","throw","try","while","with","implements","interface","package","private","protected","public","static","yield","as","async","await","constructor","get","set","from","of","enum","eval","arguments","escaped keyword","escaped future reserved keyword","reserved if strict","#","BigIntLiteral","??","?.","WhiteSpace","Illegal","LineTerminator","PrivateField","Template","@","target","meta","LineFeed","Escaped","JSXText"],ca=Object.create(null,{this:{value:86113},function:{value:86106},if:{value:20571},return:{value:20574},var:{value:86090},else:{value:20565},for:{value:20569},new:{value:86109},in:{value:8738868},typeof:{value:16863277},while:{value:20580},case:{value:20558},break:{value:20557},try:{value:20579},catch:{value:20559},delete:{value:16863278},throw:{value:86114},switch:{value:86112},continue:{value:20561},default:{value:20563},instanceof:{value:8476725},do:{value:20564},void:{value:16863279},finally:{value:20568},async:{value:209007},await:{value:209008},class:{value:86096},const:{value:86092},constructor:{value:12401},debugger:{value:20562},export:{value:20566},extends:{value:20567},false:{value:86021},from:{value:12404},get:{value:12402},implements:{value:36966},import:{value:86108},interface:{value:36967},let:{value:241739},null:{value:86023},of:{value:274549},package:{value:36968},private:{value:36969},protected:{value:36970},public:{value:36971},set:{value:12403},static:{value:36972},super:{value:86111},true:{value:86022},with:{value:20581},yield:{value:241773},enum:{value:86134},eval:{value:537079927},as:{value:77934},arguments:{value:537079928},target:{value:143494},meta:{value:143495}});function Ze(Me,Bn,Hn){for(;Ps[r(Me)];);return Me.tokenValue=Me.source.slice(Me.tokenPos,Me.index),Me.currentChar!==92&&Me.currentChar<126?ca[Me.tokenValue]||208897:j1(Me,Bn,0,Hn)}function R0(Me,Bn){let Hn=Qe(Me);return e2(Hn)||f(Me,4),Me.tokenValue=T(Hn),j1(Me,Bn,1,ni[Hn]&4)}function j1(Me,Bn,Hn,zn){let Ci=Me.index;for(;Me.index=2&&ts<=11){let zn=ca[Me.tokenValue];return zn===void 0?208897:Hn?Bn&1024?zn===209008&&!(Bn&4196352)?zn:zn===36972||(zn&36864)===36864?122:121:Bn&1073741824&&!(Bn&8192)&&(zn&20480)===20480?zn:zn===241773?Bn&1073741824?143483:Bn&2097152?121:zn:zn===209007&&Bn&1073741824?143483:(zn&36864)===36864||zn===209008&&!(Bn&4194304)?zn:121:zn}return 208897}function V0(Me){return U(r(Me))||f(Me,93),131}function Qe(Me){return Me.source.charCodeAt(Me.index+1)!==117&&f(Me,4),Me.currentChar=Me.source.charCodeAt(Me.index+=2),N0(Me)}function N0(Me){let Bn=0,Hn=Me.currentChar;if(Hn===123){let Hn=Me.index-2;for(;ni[r(Me)]&64;)Bn=Bn<<4|z(Me.currentChar),Bn>1114111&&S(Hn,Me.line,Me.index+1,101);return Me.currentChar!==125&&S(Hn,Me.line,Me.index-1,6),r(Me),Bn}ni[Hn]&64||f(Me,6);let zn=Me.source.charCodeAt(Me.index+1);ni[zn]&64||f(Me,6);let Ci=Me.source.charCodeAt(Me.index+2);ni[Ci]&64||f(Me,6);let ts=Me.source.charCodeAt(Me.index+3);return ni[ts]&64||f(Me,6),Bn=z(Hn)<<12|z(zn)<<8|z(Ci)<<4|z(ts),Me.currentChar=Me.source.charCodeAt(Me.index+=4),Bn}var _a=[129,129,129,129,129,129,129,129,129,128,136,128,128,130,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,128,16842800,134283267,131,208897,8457015,8455751,134283267,67174411,16,8457014,25233970,18,25233971,67108877,8457016,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,21,1074790417,8456258,1077936157,8456259,22,133,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,69271571,137,20,8455497,208897,132,4096,4096,4096,4096,4096,4096,4096,208897,4096,208897,208897,4096,208897,4096,208897,4096,208897,4096,4096,4096,208897,4096,4096,208897,4096,4096,2162700,8455240,1074790415,16842801,129];function E(Me,Bn){if(Me.flags=(Me.flags|1)^1,Me.startPos=Me.index,Me.startColumn=Me.column,Me.startLine=Me.line,Me.token=xe(Me,Bn,0),Me.onToken&&Me.token!==1048576){let Bn={start:{line:Me.linePos,column:Me.colPos},end:{line:Me.line,column:Me.column}};Me.onToken(w2(Me.token),Me.tokenPos,Me.index,Bn)}}function xe(Me,Bn,Hn){let ni=Me.index===0,Ci=Me.source,ts=Me.index,Ps=Me.line,aa=Me.column;for(;Me.index=Me.end)return 8457014;let Bn=Me.currentChar;return Bn===61?(r(Me),4194340):Bn!==42?8457014:r(Me)!==61?8457273:(r(Me),4194337)}case 8455497:return r(Me)!==61?8455497:(r(Me),4194343);case 25233970:{r(Me);let Bn=Me.currentChar;return Bn===43?(r(Me),33619995):Bn===61?(r(Me),4194338):25233970}case 25233971:{r(Me);let zn=Me.currentChar;if(zn===45){if(r(Me),(Hn&1||ni)&&Me.currentChar===62){Bn&256||f(Me,108),r(Me),Hn=V2(Me,Ci,Hn,Bn,3,ts,Ps,aa),ts=Me.tokenPos,Ps=Me.linePos,aa=Me.colPos;continue}return 33619996}return zn===61?(r(Me),4194339):25233971}case 8457016:{if(r(Me),Me.index=48&&_a<=57)return Ke(Me,Bn,80);if(_a===46){let Bn=Me.index+1;if(Bn=48&&Bn<=57)))return r(Me),67108991}return 22}}}else{if((oa^8232)<=1){Hn=Hn&-5|1,G(Me);continue}if((oa&64512)===55296||zn[(oa>>>5)+34816]>>>oa&31&1)return(oa&64512)===56320&&(oa=(oa&1023)<<10|oa&1023|65536,zn[(oa>>>5)+0]>>>oa&31&1||f(Me,18,T(oa)),Me.index++,Me.currentChar=oa),Me.column++,Me.tokenValue="",j1(Me,Bn,0,0);if(u2(oa)){r(Me);continue}f(Me,18,T(oa))}}return 1048576}var xa={AElig:"Æ",AMP:"&",Aacute:"Á",Abreve:"Ă",Acirc:"Â",Acy:"А",Afr:"𝔄",Agrave:"À",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"𝔸",ApplyFunction:"⁡",Aring:"Å",Ascr:"𝒜",Assign:"≔",Atilde:"Ã",Auml:"Ä",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"𝔅",Bopf:"𝔹",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COPY:"©",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedil:"Ç",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"¸",CenterDot:"·",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"𝒞",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"𝔇",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"𝔻",Dot:"¨",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"𝒟",Dstrok:"Đ",ENG:"Ŋ",ETH:"Ð",Eacute:"É",Ecaron:"Ě",Ecirc:"Ê",Ecy:"Э",Edot:"Ė",Efr:"𝔈",Egrave:"È",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"𝔼",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Euml:"Ë",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"𝔉",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"𝔽",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacute:"Í",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:`\n`,Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacute:"Ó",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslash:"Ø",Otilde:"Õ",Otimes:"⨷",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:"\t",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acirc:"â",acute:"´",acy:"а",aelig:"æ",af:"⁡",afr:"𝔞",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedil:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"≖",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",eth:"ð",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacute:"í",ic:"⁣",icirc:"î",icy:"и",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacute:"ó",oast:"⊛",ocir:"⊚",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslash:"ø",osol:"⊘",otilde:"õ",otimes:"⊗",otimesas:"⨶",ouml:"ö",ovbar:"⌽",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thorn:"þ",tilde:"˜",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"},Ga={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376};function _0(Me){return Me.replace(/&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g,(Me=>{if(Me.charAt(1)==="#"){let Bn=Me.charAt(2),Hn=Bn==="X"||Bn==="x"?parseInt(Me.slice(3),16):parseInt(Me.slice(2),10);return M0(Hn)}return xa[Me.slice(1,-1)]||Me}))}function M0(Me){return Me>=55296&&Me<=57343||Me>1114111?"�":(Me in Ga&&(Me=Ga[Me]),String.fromCodePoint(Me))}function U0(Me,Bn){return Me.startPos=Me.tokenPos=Me.index,Me.startColumn=Me.colPos=Me.column,Me.startLine=Me.linePos=Me.line,Me.token=ni[Me.currentChar]&8192?J0(Me,Bn):xe(Me,Bn,0),Me.token}function J0(Me,Bn){let Hn=Me.currentChar,zn=r(Me),ni=Me.index;for(;zn!==Hn;)Me.index>=Me.end&&f(Me,14),zn=r(Me);return zn!==Hn&&f(Me,14),Me.tokenValue=Me.source.slice(ni,Me.index),r(Me),Bn&512&&(Me.tokenRaw=Me.source.slice(Me.tokenPos,Me.index)),134283267}function j2(Me,Bn){if(Me.startPos=Me.tokenPos=Me.index,Me.startColumn=Me.colPos=Me.column,Me.startLine=Me.linePos=Me.line,Me.index>=Me.end)return Me.token=1048576;switch(_a[Me.source.charCodeAt(Me.index)]){case 8456258:{r(Me),Me.currentChar===47?(r(Me),Me.token=25):Me.token=8456258;break}case 2162700:{r(Me),Me.token=2162700;break}default:{let Hn=0;for(;Me.index2?Ci-2:0),Ps=2;Ps1&&ni&32&&Me.token&262144&&f(Me,58,oa[Me.token&255]),ts}function cu(Me,Bn,Hn,zn,ni){let{token:Ci,tokenPos:ts,linePos:Ps,colPos:aa}=Me,oa=null,ca=Du(Me,Bn,Hn,zn,ni,ts,Ps,aa);return Me.token===1077936157?(E(Me,Bn|32768),oa=K(Me,Bn,1,0,0,Me.tokenPos,Me.linePos,Me.colPos),(ni&32||(Ci&2097152)<1)&&(Me.token===274549||Me.token===8738868&&(Ci&2097152||(zn&4)<1||Bn&1024))&&L(ts,Me.line,Me.index-3,57,Me.token===274549?"of":"in")):(zn&16||(Ci&2097152)>0)&&(Me.token&262144)!==262144&&f(Me,56,zn&16?"const":"destructuring"),v(Me,Bn,ts,Ps,aa,{type:"VariableDeclarator",id:ca,init:oa})}function gt(Me,Bn,Hn,zn,ni,Ci,ts){E(Me,Bn);let Ps=(Bn&4194304)>0&&M(Me,Bn,209008);q(Me,Bn|32768,67174411),Hn&&(Hn=i2(Hn,1));let aa=null,oa=null,ca=0,_a=null,xa=Me.token===86090||Me.token===241739||Me.token===86092,Ga,{token:Ha,tokenPos:so,linePos:oo,colPos:Jo}=Me;if(xa?Ha===241739?(_a=$(Me,Bn,0),Me.token&2240512?(Me.token===8738868?Bn&1024&&f(Me,64):_a=v(Me,Bn,so,oo,Jo,{type:"VariableDeclaration",kind:"let",declarations:z2(Me,Bn|134217728,Hn,8,32)}),Me.assignable=1):Bn&1024?f(Me,64):(xa=!1,Me.assignable=1,_a=H(Me,Bn,_a,0,0,so,oo,Jo),Me.token===274549&&f(Me,111))):(E(Me,Bn),_a=v(Me,Bn,so,oo,Jo,Ha===86090?{type:"VariableDeclaration",kind:"var",declarations:z2(Me,Bn|134217728,Hn,4,32)}:{type:"VariableDeclaration",kind:"const",declarations:z2(Me,Bn|134217728,Hn,16,32)}),Me.assignable=1):Ha===1074790417?Ps&&f(Me,79):(Ha&2097152)===2097152?(_a=Ha===2162700?b2(Me,Bn,void 0,1,0,0,2,32,so,oo,Jo):m2(Me,Bn,void 0,1,0,0,2,32,so,oo,Jo),ca=Me.destructible,Bn&256&&ca&64&&f(Me,60),Me.assignable=ca&16?2:1,_a=H(Me,Bn|134217728,_a,0,0,Me.tokenPos,Me.linePos,Me.colPos)):_a=h2(Me,Bn|134217728,1,0,1,so,oo,Jo),(Me.token&262144)===262144){if(Me.token===274549){Me.assignable&2&&f(Me,77,Ps?"await":"of"),r2(Me,_a),E(Me,Bn|32768),Ga=K(Me,Bn,1,0,0,Me.tokenPos,Me.linePos,Me.colPos),q(Me,Bn|32768,16);let aa=p2(Me,Bn,Hn,zn);return v(Me,Bn,ni,Ci,ts,{type:"ForOfStatement",left:_a,right:Ga,body:aa,await:Ps})}Me.assignable&2&&f(Me,77,"in"),r2(Me,_a),E(Me,Bn|32768),Ps&&f(Me,79),Ga=o2(Me,Bn,0,1,Me.tokenPos,Me.linePos,Me.colPos),q(Me,Bn|32768,16);let aa=p2(Me,Bn,Hn,zn);return v(Me,Bn,ni,Ci,ts,{type:"ForInStatement",body:aa,left:_a,right:Ga})}Ps&&f(Me,79),xa||(ca&8&&Me.token!==1077936157&&f(Me,77,"loop"),_a=Q(Me,Bn|134217728,0,0,so,oo,Jo,_a)),Me.token===18&&(_a=O2(Me,Bn,0,Me.tokenPos,Me.linePos,Me.colPos,_a)),q(Me,Bn|32768,1074790417),Me.token!==1074790417&&(aa=o2(Me,Bn,0,1,Me.tokenPos,Me.linePos,Me.colPos)),q(Me,Bn|32768,1074790417),Me.token!==16&&(oa=o2(Me,Bn,0,1,Me.tokenPos,Me.linePos,Me.colPos)),q(Me,Bn|32768,16);let tc=p2(Me,Bn,Hn,zn);return v(Me,Bn,ni,Ci,ts,{type:"ForStatement",init:_a,test:aa,update:oa,body:tc})}function su(Me,Bn,Hn){return J1(Bn,Me.token)||f(Me,114),(Me.token&537079808)===537079808&&f(Me,115),Hn&&L2(Me,Bn,Hn,Me.tokenValue,8,0),$(Me,Bn,0)}function ht(Me,Bn,Hn){let zn=Me.tokenPos,ni=Me.linePos,Ci=Me.colPos;E(Me,Bn);let ts=null,{tokenPos:Ps,linePos:aa,colPos:ca}=Me,_a=[];if(Me.token===134283267)ts=c2(Me,Bn);else{if(Me.token&143360){let zn=su(Me,Bn,Hn);if(_a=[v(Me,Bn,Ps,aa,ca,{type:"ImportDefaultSpecifier",local:zn})],M(Me,Bn,18))switch(Me.token){case 8457014:_a.push(au(Me,Bn,Hn));break;case 2162700:du(Me,Bn,Hn,_a);break;default:f(Me,104)}}else switch(Me.token){case 8457014:_a=[au(Me,Bn,Hn)];break;case 2162700:du(Me,Bn,Hn,_a);break;case 67174411:return hu(Me,Bn,zn,ni,Ci);case 67108877:return gu(Me,Bn,zn,ni,Ci);default:f(Me,28,oa[Me.token&255])}ts=mt(Me,Bn)}return s2(Me,Bn|32768),v(Me,Bn,zn,ni,Ci,{type:"ImportDeclaration",specifiers:_a,source:ts})}function au(Me,Bn,Hn){let{tokenPos:zn,linePos:ni,colPos:Ci}=Me;return E(Me,Bn),q(Me,Bn,77934),(Me.token&134217728)===134217728&&L(zn,Me.line,Me.index,28,oa[Me.token&255]),v(Me,Bn,zn,ni,Ci,{type:"ImportNamespaceSpecifier",local:su(Me,Bn,Hn)})}function mt(Me,Bn){return M(Me,Bn,12404),Me.token!==134283267&&f(Me,102,"Import"),c2(Me,Bn)}function du(Me,Bn,Hn,zn){for(E(Me,Bn);Me.token&143360;){let{token:ni,tokenValue:Ci,tokenPos:ts,linePos:Ps,colPos:aa}=Me,oa=$(Me,Bn,0),ca;M(Me,Bn,77934)?((Me.token&134217728)===134217728||Me.token===18?f(Me,103):l1(Me,Bn,16,Me.token,0),Ci=Me.tokenValue,ca=$(Me,Bn,0)):(l1(Me,Bn,16,ni,0),ca=oa),Hn&&L2(Me,Bn,Hn,Ci,8,0),zn.push(v(Me,Bn,ts,Ps,aa,{type:"ImportSpecifier",local:ca,imported:oa})),Me.token!==1074790415&&q(Me,Bn,18)}return q(Me,Bn,1074790415),zn}function gu(Me,Bn,Hn,zn,ni){let Ci=bu(Me,Bn,v(Me,Bn,Hn,zn,ni,{type:"Identifier",name:"import"}),Hn,zn,ni);return Ci=H(Me,Bn,Ci,0,0,Hn,zn,ni),Ci=Q(Me,Bn,0,0,Hn,zn,ni,Ci),X2(Me,Bn,Ci,Hn,zn,ni)}function hu(Me,Bn,Hn,zn,ni){let Ci=ku(Me,Bn,0,Hn,zn,ni);return Ci=H(Me,Bn,Ci,0,0,Hn,zn,ni),X2(Me,Bn,Ci,Hn,zn,ni)}function bt(Me,Bn,Hn){let zn=Me.tokenPos,ni=Me.linePos,Ci=Me.colPos;E(Me,Bn|32768);let ts=[],Ps=null,aa=null,ca;if(M(Me,Bn|32768,20563)){switch(Me.token){case 86106:{Ps=I2(Me,Bn,Hn,4,1,1,0,Me.tokenPos,Me.linePos,Me.colPos);break}case 133:case 86096:Ps=x1(Me,Bn,Hn,1,Me.tokenPos,Me.linePos,Me.colPos);break;case 209007:let{tokenPos:zn,linePos:ni,colPos:Ci}=Me;Ps=$(Me,Bn,0);let{flags:ts}=Me;(ts&1)<1&&(Me.token===86106?Ps=I2(Me,Bn,Hn,4,1,1,1,zn,ni,Ci):Me.token===67174411?(Ps=G1(Me,Bn,Ps,1,1,0,ts,zn,ni,Ci),Ps=H(Me,Bn,Ps,0,0,zn,ni,Ci),Ps=Q(Me,Bn,0,0,zn,ni,Ci,Ps)):Me.token&143360&&(Hn&&(Hn=c1(Me,Bn,Me.tokenValue)),Ps=$(Me,Bn,0),Ps=e1(Me,Bn,Hn,[Ps],1,zn,ni,Ci)));break;default:Ps=K(Me,Bn,1,0,0,Me.tokenPos,Me.linePos,Me.colPos),s2(Me,Bn|32768)}return Hn&&M2(Me,"default"),v(Me,Bn,zn,ni,Ci,{type:"ExportDefaultDeclaration",declaration:Ps})}switch(Me.token){case 8457014:{E(Me,Bn);let ts=null;return M(Me,Bn,77934)&&(Hn&&M2(Me,Me.tokenValue),ts=$(Me,Bn,0)),q(Me,Bn,12404),Me.token!==134283267&&f(Me,102,"Export"),aa=c2(Me,Bn),s2(Me,Bn|32768),v(Me,Bn,zn,ni,Ci,{type:"ExportAllDeclaration",source:aa,exported:ts})}case 2162700:{E(Me,Bn);let zn=[],ni=[];for(;Me.token&143360;){let{tokenPos:Ci,tokenValue:Ps,linePos:aa,colPos:oa}=Me,ca=$(Me,Bn,0),_a;Me.token===77934?(E(Me,Bn),(Me.token&134217728)===134217728&&f(Me,103),Hn&&(zn.push(Me.tokenValue),ni.push(Ps)),_a=$(Me,Bn,0)):(Hn&&(zn.push(Me.tokenValue),ni.push(Me.tokenValue)),_a=ca),ts.push(v(Me,Bn,Ci,aa,oa,{type:"ExportSpecifier",local:ca,exported:_a})),Me.token!==1074790415&&q(Me,Bn,18)}if(q(Me,Bn,1074790415),M(Me,Bn,12404))Me.token!==134283267&&f(Me,102,"Export"),aa=c2(Me,Bn);else if(Hn){let Bn=0,Hn=zn.length;for(;Bn0)&8738868,_a,xa;for(Me.assignable=2;Me.token&8454144&&(_a=Me.token,xa=_a&3840,(_a&524288&&Ps&268435456||Ps&524288&&_a&268435456)&&f(Me,159),!(xa+((_a===8457273)<<8)-((ca===_a)<<12)<=ts));)E(Me,Bn|32768),aa=v(Me,Bn,zn,ni,Ci,{type:_a&524288||_a&268435456?"LogicalExpression":"BinaryExpression",left:aa,right:T2(Me,Bn,Hn,Me.tokenPos,Me.linePos,Me.colPos,xa,_a,h2(Me,Bn,0,Hn,1,Me.tokenPos,Me.linePos,Me.colPos)),operator:oa[_a&255]});return Me.token===1077936157&&f(Me,24),aa}function kt(Me,Bn,Hn,zn,ni,Ci,ts){Hn||f(Me,0);let Ps=Me.token;E(Me,Bn|32768);let aa=h2(Me,Bn,0,ts,1,Me.tokenPos,Me.linePos,Me.colPos);return Me.token===8457273&&f(Me,31),Bn&1024&&Ps===16863278&&(aa.type==="Identifier"?f(Me,117):$0(aa)&&f(Me,123)),Me.assignable=2,v(Me,Bn,zn,ni,Ci,{type:"UnaryExpression",operator:oa[Ps&255],argument:aa,prefix:!0})}function rt(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa,oa){let{token:ca}=Me,_a=$(Me,Bn,Ci),{flags:xa}=Me;if((xa&1)<1){if(Me.token===86106)return vu(Me,Bn,1,Hn,Ps,aa,oa);if((Me.token&143360)===143360)return zn||f(Me,0),Pu(Me,Bn,ni,Ps,aa,oa)}return!ts&&Me.token===67174411?G1(Me,Bn,_a,ni,1,0,xa,Ps,aa,oa):Me.token===10?($1(Me,Bn,ca,1),ts&&f(Me,48),h1(Me,Bn,Me.tokenValue,_a,ts,ni,0,Ps,aa,oa)):_a}function vt(Me,Bn,Hn,zn,ni,Ci,ts){if(Hn&&(Me.destructible|=256),Bn&2097152){E(Me,Bn|32768),Bn&8388608&&f(Me,30),zn||f(Me,24),Me.token===22&&f(Me,120);let Hn=null,Ps=!1;return(Me.flags&1)<1&&(Ps=M(Me,Bn|32768,8457014),(Me.token&77824||Ps)&&(Hn=K(Me,Bn,1,0,0,Me.tokenPos,Me.linePos,Me.colPos))),Me.assignable=2,v(Me,Bn,ni,Ci,ts,{type:"YieldExpression",argument:Hn,delegate:Ps})}return Bn&1024&&f(Me,94,"yield"),Q1(Me,Bn,ni,Ci,ts)}function yt(Me,Bn,Hn,zn,ni,Ci,ts){if(zn&&(Me.destructible|=128),Bn&4194304||Bn&2048&&Bn&8192){Hn&&f(Me,0),Bn&8388608&&L(Me.index,Me.line,Me.index,29),E(Me,Bn|32768);let zn=h2(Me,Bn,0,0,1,Me.tokenPos,Me.linePos,Me.colPos);return Me.token===8457273&&f(Me,31),Me.assignable=2,v(Me,Bn,ni,Ci,ts,{type:"AwaitExpression",argument:zn})}return Bn&2048&&f(Me,95),Q1(Me,Bn,ni,Ci,ts)}function d1(Me,Bn,Hn,zn,ni,Ci){let{tokenPos:ts,linePos:Ps,colPos:aa}=Me;q(Me,Bn|32768,2162700);let oa=[],ca=Bn;if(Me.token!==1074790415){for(;Me.token===134283267;){let{index:Hn,tokenPos:zn,tokenValue:ni,token:Ci}=Me,ts=c2(Me,Bn);eu(Me,Hn,zn,ni)&&(Bn|=1024,Me.flags&128&&L(Me.index,Me.line,Me.tokenPos,63),Me.flags&64&&L(Me.index,Me.line,Me.tokenPos,8)),oa.push(z1(Me,Bn,ts,Ci,zn,Me.linePos,Me.colPos))}Bn&1024&&(ni&&((ni&537079808)===537079808&&f(Me,115),(ni&36864)===36864&&f(Me,38)),Me.flags&512&&f(Me,115),Me.flags&256&&f(Me,114)),Bn&64&&Hn&&Ci!==void 0&&(ca&1024)<1&&(Bn&8192)<1&&A(Ci)}for(Me.flags=(Me.flags|512|256|64)^832,Me.destructible=(Me.destructible|256)^256;Me.token!==1074790415;)oa.push(G2(Me,Bn,Hn,4,{}));return q(Me,zn&24?Bn|32768:Bn,1074790415),Me.flags&=-193,Me.token===1077936157&&f(Me,24),v(Me,Bn,ts,Ps,aa,{type:"BlockStatement",body:oa})}function At(Me,Bn,Hn,zn,ni){switch(E(Me,Bn),Me.token){case 67108991:f(Me,161);case 67174411:{(Bn&524288)<1&&f(Me,26),Bn&16384&&f(Me,27),Me.assignable=2;break}case 69271571:case 67108877:{(Bn&262144)<1&&f(Me,27),Bn&16384&&f(Me,27),Me.assignable=1;break}default:f(Me,28,"super")}return v(Me,Bn,Hn,zn,ni,{type:"Super"})}function h2(Me,Bn,Hn,zn,ni,Ci,ts,Ps){let aa=d2(Me,Bn,2,0,Hn,0,zn,ni,Ci,ts,Ps);return H(Me,Bn,aa,zn,0,Ci,ts,Ps)}function Pt(Me,Bn,Hn,zn,ni,Ci){Me.assignable&2&&f(Me,52);let{token:ts}=Me;return E(Me,Bn),Me.assignable=2,v(Me,Bn,zn,ni,Ci,{type:"UpdateExpression",argument:Hn,operator:oa[ts&255],prefix:!1})}function H(Me,Bn,Hn,zn,ni,Ci,ts,Ps){if((Me.token&33619968)===33619968&&(Me.flags&1)<1)Hn=Pt(Me,Bn,Hn,Ci,ts,Ps);else if((Me.token&67108864)===67108864){switch(Bn=(Bn|134217728)^134217728,Me.token){case 67108877:{E(Me,(Bn|1073741824|8192)^8192),Me.assignable=1;let zn=mu(Me,Bn);Hn=v(Me,Bn,Ci,ts,Ps,{type:"MemberExpression",object:Hn,computed:!1,property:zn});break}case 69271571:{let ni=!1;(Me.flags&2048)===2048&&(ni=!0,Me.flags=(Me.flags|2048)^2048),E(Me,Bn|32768);let{tokenPos:aa,linePos:oa,colPos:ca}=Me,_a=o2(Me,Bn,zn,1,aa,oa,ca);q(Me,Bn,20),Me.assignable=1,Hn=v(Me,Bn,Ci,ts,Ps,{type:"MemberExpression",object:Hn,computed:!0,property:_a}),ni&&(Me.flags|=2048);break}case 67174411:{if((Me.flags&1024)===1024)return Me.flags=(Me.flags|1024)^1024,Hn;let ni=!1;(Me.flags&2048)===2048&&(ni=!0,Me.flags=(Me.flags|2048)^2048);let aa=Z1(Me,Bn,zn);Me.assignable=2,Hn=v(Me,Bn,Ci,ts,Ps,{type:"CallExpression",callee:Hn,arguments:aa}),ni&&(Me.flags|=2048);break}case 67108991:{E(Me,(Bn|1073741824|8192)^8192),Me.flags|=2048,Me.assignable=2,Hn=Et(Me,Bn,Hn,Ci,ts,Ps);break}default:(Me.flags&2048)===2048&&f(Me,160),Me.assignable=2,Hn=v(Me,Bn,Ci,ts,Ps,{type:"TaggedTemplateExpression",tag:Hn,quasi:Me.token===67174408?Y1(Me,Bn|65536):K1(Me,Bn,Me.tokenPos,Me.linePos,Me.colPos)})}Hn=H(Me,Bn,Hn,0,1,Ci,ts,Ps)}return ni===0&&(Me.flags&2048)===2048&&(Me.flags=(Me.flags|2048)^2048,Hn=v(Me,Bn,Ci,ts,Ps,{type:"ChainExpression",expression:Hn})),Hn}function Et(Me,Bn,Hn,zn,ni,Ci){let ts=!1,Ps;if((Me.token===69271571||Me.token===67174411)&&(Me.flags&2048)===2048&&(ts=!0,Me.flags=(Me.flags|2048)^2048),Me.token===69271571){E(Me,Bn|32768);let{tokenPos:ts,linePos:aa,colPos:oa}=Me,ca=o2(Me,Bn,0,1,ts,aa,oa);q(Me,Bn,20),Me.assignable=2,Ps=v(Me,Bn,zn,ni,Ci,{type:"MemberExpression",object:Hn,computed:!0,optional:!0,property:ca})}else if(Me.token===67174411){let ts=Z1(Me,Bn,0);Me.assignable=2,Ps=v(Me,Bn,zn,ni,Ci,{type:"CallExpression",callee:Hn,arguments:ts,optional:!0})}else{(Me.token&143360)<1&&f(Me,154);let ts=$(Me,Bn,0);Me.assignable=2,Ps=v(Me,Bn,zn,ni,Ci,{type:"MemberExpression",object:Hn,computed:!1,optional:!0,property:ts})}return ts&&(Me.flags|=2048),Ps}function mu(Me,Bn){return(Me.token&143360)<1&&Me.token!==131&&f(Me,154),Bn&1&&Me.token===131?r1(Me,Bn,Me.tokenPos,Me.linePos,Me.colPos):$(Me,Bn,0)}function Ct(Me,Bn,Hn,zn,ni,Ci,ts){Hn&&f(Me,53),zn||f(Me,0);let{token:Ps}=Me;E(Me,Bn|32768);let aa=h2(Me,Bn,0,0,1,Me.tokenPos,Me.linePos,Me.colPos);return Me.assignable&2&&f(Me,52),Me.assignable=2,v(Me,Bn,ni,Ci,ts,{type:"UpdateExpression",argument:aa,operator:oa[Ps&255],prefix:!0})}function d2(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa,ca,_a){if((Me.token&143360)===143360){switch(Me.token){case 209008:return yt(Me,Bn,zn,ts,aa,ca,_a);case 241773:return vt(Me,Bn,ts,ni,aa,ca,_a);case 209007:return rt(Me,Bn,ts,Ps,ni,Ci,zn,aa,ca,_a)}let{token:oa,tokenValue:xa}=Me,Ga=$(Me,Bn|65536,Ci);return Me.token===10?(Ps||f(Me,0),$1(Me,Bn,oa,1),h1(Me,Bn,xa,Ga,zn,ni,0,aa,ca,_a)):(Bn&16384&&oa===537079928&&f(Me,126),oa===241739&&(Bn&1024&&f(Me,109),Hn&24&&f(Me,97)),Me.assignable=Bn&1024&&(oa&537079808)===537079808?2:1,Ga)}if((Me.token&134217728)===134217728)return c2(Me,Bn);switch(Me.token){case 33619995:case 33619996:return Ct(Me,Bn,zn,Ps,aa,ca,_a);case 16863278:case 16842800:case 16842801:case 25233970:case 25233971:case 16863277:case 16863279:return kt(Me,Bn,Ps,aa,ca,_a,ts);case 86106:return vu(Me,Bn,0,ts,aa,ca,_a);case 2162700:return Ft(Me,Bn,ni?0:1,ts,aa,ca,_a);case 69271571:return St(Me,Bn,ni?0:1,ts,aa,ca,_a);case 67174411:return Ot(Me,Bn,ni,1,0,aa,ca,_a);case 86021:case 86022:case 86023:return qt(Me,Bn,aa,ca,_a);case 86113:return Bt(Me,Bn);case 65540:return Rt(Me,Bn,aa,ca,_a);case 133:case 86096:return Vt(Me,Bn,ts,aa,ca,_a);case 86111:return At(Me,Bn,aa,ca,_a);case 67174409:return K1(Me,Bn,aa,ca,_a);case 67174408:return Y1(Me,Bn);case 86109:return Tt(Me,Bn,ts,aa,ca,_a);case 134283389:return ru(Me,Bn,aa,ca,_a);case 131:return r1(Me,Bn,aa,ca,_a);case 86108:return Dt(Me,Bn,zn,ts,aa,ca,_a);case 8456258:if(Bn&16)return ee(Me,Bn,1,aa,ca,_a);default:if(J1(Bn,Me.token))return Q1(Me,Bn,aa,ca,_a);f(Me,28,oa[Me.token&255])}}function Dt(Me,Bn,Hn,zn,ni,Ci,ts){let Ps=$(Me,Bn,0);return Me.token===67108877?bu(Me,Bn,Ps,ni,Ci,ts):(Hn&&f(Me,137),Ps=ku(Me,Bn,zn,ni,Ci,ts),Me.assignable=2,H(Me,Bn,Ps,zn,0,ni,Ci,ts))}function bu(Me,Bn,Hn,zn,ni,Ci){return Bn&2048||f(Me,163),E(Me,Bn),Me.token!==143495&&Me.tokenValue!=="meta"&&f(Me,28,oa[Me.token&255]),Me.assignable=2,v(Me,Bn,zn,ni,Ci,{type:"MetaProperty",meta:Hn,property:$(Me,Bn,0)})}function ku(Me,Bn,Hn,zn,ni,Ci){q(Me,Bn|32768,67174411),Me.token===14&&f(Me,138);let ts=K(Me,Bn,1,0,Hn,Me.tokenPos,Me.linePos,Me.colPos);return q(Me,Bn,16),v(Me,Bn,zn,ni,Ci,{type:"ImportExpression",source:ts})}function ru(Me,Bn,Hn,zn,ni){let{tokenRaw:Ci,tokenValue:ts}=Me;return E(Me,Bn),Me.assignable=2,v(Me,Bn,Hn,zn,ni,Bn&512?{type:"Literal",value:ts,bigint:Ci.slice(0,-1),raw:Ci}:{type:"Literal",value:ts,bigint:Ci.slice(0,-1)})}function K1(Me,Bn,Hn,zn,ni){Me.assignable=2;let{tokenValue:Ci,tokenRaw:ts,tokenPos:Ps,linePos:aa,colPos:oa}=Me;q(Me,Bn,67174409);let ca=[g1(Me,Bn,Ci,ts,Ps,aa,oa,!0)];return v(Me,Bn,Hn,zn,ni,{type:"TemplateLiteral",expressions:[],quasis:ca})}function Y1(Me,Bn){Bn=(Bn|134217728)^134217728;let{tokenValue:Hn,tokenRaw:zn,tokenPos:ni,linePos:Ci,colPos:ts}=Me;q(Me,Bn|32768,67174408);let Ps=[g1(Me,Bn,Hn,zn,ni,Ci,ts,!1)],aa=[o2(Me,Bn,0,1,Me.tokenPos,Me.linePos,Me.colPos)];for(Me.token!==1074790415&&f(Me,80);(Me.token=I0(Me,Bn))!==67174409;){let{tokenValue:Hn,tokenRaw:zn,tokenPos:ni,linePos:Ci,colPos:ts}=Me;q(Me,Bn|32768,67174408),Ps.push(g1(Me,Bn,Hn,zn,ni,Ci,ts,!1)),aa.push(o2(Me,Bn,0,1,Me.tokenPos,Me.linePos,Me.colPos)),Me.token!==1074790415&&f(Me,80)}{let{tokenValue:Hn,tokenRaw:zn,tokenPos:ni,linePos:Ci,colPos:ts}=Me;q(Me,Bn,67174409),Ps.push(g1(Me,Bn,Hn,zn,ni,Ci,ts,!0))}return v(Me,Bn,ni,Ci,ts,{type:"TemplateLiteral",expressions:aa,quasis:Ps})}function g1(Me,Bn,Hn,zn,ni,Ci,ts,Ps){let aa=v(Me,Bn,ni,Ci,ts,{type:"TemplateElement",value:{cooked:Hn,raw:zn},tail:Ps}),oa=Ps?1:2;return Bn&2&&(aa.start+=1,aa.range[0]+=1,aa.end-=oa,aa.range[1]-=oa),Bn&4&&(aa.loc.start.column+=1,aa.loc.end.column-=oa),aa}function wt(Me,Bn,Hn,zn,ni){Bn=(Bn|134217728)^134217728,q(Me,Bn|32768,14);let Ci=K(Me,Bn,1,0,0,Me.tokenPos,Me.linePos,Me.colPos);return Me.assignable=1,v(Me,Bn,Hn,zn,ni,{type:"SpreadElement",argument:Ci})}function Z1(Me,Bn,Hn){E(Me,Bn|32768);let zn=[];if(Me.token===16)return E(Me,Bn),zn;for(;Me.token!==16&&(Me.token===14?zn.push(wt(Me,Bn,Me.tokenPos,Me.linePos,Me.colPos)):zn.push(K(Me,Bn,1,0,Hn,Me.tokenPos,Me.linePos,Me.colPos)),!(Me.token!==18||(E(Me,Bn|32768),Me.token===16))););return q(Me,Bn,16),zn}function $(Me,Bn,Hn){let{tokenValue:zn,tokenPos:ni,linePos:Ci,colPos:ts}=Me;return E(Me,Bn),v(Me,Bn,ni,Ci,ts,Bn&268435456?{type:"Identifier",name:zn,pattern:Hn===1}:{type:"Identifier",name:zn})}function c2(Me,Bn){let{tokenValue:Hn,tokenRaw:zn,tokenPos:ni,linePos:Ci,colPos:ts}=Me;return Me.token===134283389?ru(Me,Bn,ni,Ci,ts):(E(Me,Bn),Me.assignable=2,v(Me,Bn,ni,Ci,ts,Bn&512?{type:"Literal",value:Hn,raw:zn}:{type:"Literal",value:Hn}))}function qt(Me,Bn,Hn,zn,ni){let Ci=oa[Me.token&255],ts=Me.token===86023?null:Ci==="true";return E(Me,Bn),Me.assignable=2,v(Me,Bn,Hn,zn,ni,Bn&512?{type:"Literal",value:ts,raw:Ci}:{type:"Literal",value:ts})}function Bt(Me,Bn){let{tokenPos:Hn,linePos:zn,colPos:ni}=Me;return E(Me,Bn),Me.assignable=2,v(Me,Bn,Hn,zn,ni,{type:"ThisExpression"})}function I2(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa,ca){E(Me,Bn|32768);let _a=ni?M1(Me,Bn,8457014):0,xa=null,Ga,Ha=Hn?_2():void 0;if(Me.token===67174411)(Ci&1)<1&&f(Me,37,"Function");else{let ni=zn&4&&((Bn&8192)<1||(Bn&2048)<1)?4:64;uu(Me,Bn|(Bn&3072)<<11,Me.token),Hn&&(ni&4?tu(Me,Bn,Hn,Me.tokenValue,ni):L2(Me,Bn,Hn,Me.tokenValue,ni,zn),Ha=i2(Ha,256),Ci&&Ci&2&&M2(Me,Me.tokenValue)),Ga=Me.token,Me.token&143360?xa=$(Me,Bn,0):f(Me,28,oa[Me.token&255])}Bn=(Bn|32243712)^32243712|67108864|ts*2+_a<<21|(_a?0:1073741824),Hn&&(Ha=i2(Ha,512));let so=Au(Me,Bn|8388608,Ha,0,1),oo=d1(Me,(Bn|8192|4096|131072)^143360,Hn?i2(Ha,128):Ha,8,Ga,Hn?Ha.scopeError:void 0);return v(Me,Bn,Ps,aa,ca,{type:"FunctionDeclaration",id:xa,params:so,body:oo,async:ts===1,generator:_a===1})}function vu(Me,Bn,Hn,zn,ni,Ci,ts){E(Me,Bn|32768);let Ps=M1(Me,Bn,8457014),aa=Hn*2+Ps<<21,oa=null,ca,_a=Bn&64?_2():void 0;(Me.token&176128)>0&&(uu(Me,(Bn|32243712)^32243712|aa,Me.token),_a&&(_a=i2(_a,256)),ca=Me.token,oa=$(Me,Bn,0)),Bn=(Bn|32243712)^32243712|67108864|aa|(Ps?0:1073741824),_a&&(_a=i2(_a,512));let xa=Au(Me,Bn|8388608,_a,zn,1),Ga=d1(Me,Bn&-134377473,_a&&i2(_a,128),0,ca,void 0);return Me.assignable=2,v(Me,Bn,ni,Ci,ts,{type:"FunctionExpression",id:oa,params:xa,body:Ga,async:Hn===1,generator:Ps===1})}function St(Me,Bn,Hn,zn,ni,Ci,ts){let Ps=m2(Me,Bn,void 0,Hn,zn,0,2,0,ni,Ci,ts);return Bn&256&&Me.destructible&64&&f(Me,60),Me.destructible&8&&f(Me,59),Ps}function m2(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa,ca,_a){E(Me,Bn|32768);let xa=[],Ga=0;for(Bn=(Bn|134217728)^134217728;Me.token!==20;)if(M(Me,Bn|32768,18))xa.push(null);else{let zn,{token:aa,tokenPos:ca,linePos:_a,colPos:Ha,tokenValue:so}=Me;if(aa&143360)if(zn=d2(Me,Bn,ts,0,1,0,ni,1,ca,_a,Ha),Me.token===1077936157){Me.assignable&2&&f(Me,24),E(Me,Bn|32768),Hn&&B2(Me,Bn,Hn,so,ts,Ps);let aa=K(Me,Bn,1,1,ni,Me.tokenPos,Me.linePos,Me.colPos);zn=v(Me,Bn,ca,_a,Ha,Ci?{type:"AssignmentPattern",left:zn,right:aa}:{type:"AssignmentExpression",operator:"=",left:zn,right:aa}),Ga|=Me.destructible&256?256:0|Me.destructible&128?128:0}else Me.token===18||Me.token===20?(Me.assignable&2?Ga|=16:Hn&&B2(Me,Bn,Hn,so,ts,Ps),Ga|=Me.destructible&256?256:0|Me.destructible&128?128:0):(Ga|=ts&1?32:(ts&2)<1?16:0,zn=H(Me,Bn,zn,ni,0,ca,_a,Ha),Me.token!==18&&Me.token!==20?(Me.token!==1077936157&&(Ga|=16),zn=Q(Me,Bn,ni,Ci,ca,_a,Ha,zn)):Me.token!==1077936157&&(Ga|=Me.assignable&2?16:32));else aa&2097152?(zn=Me.token===2162700?b2(Me,Bn,Hn,0,ni,Ci,ts,Ps,ca,_a,Ha):m2(Me,Bn,Hn,0,ni,Ci,ts,Ps,ca,_a,Ha),Ga|=Me.destructible,Me.assignable=Me.destructible&16?2:1,Me.token===18||Me.token===20?Me.assignable&2&&(Ga|=16):Me.destructible&8?f(Me,68):(zn=H(Me,Bn,zn,ni,0,ca,_a,Ha),Ga=Me.assignable&2?16:0,Me.token!==18&&Me.token!==20?zn=Q(Me,Bn,ni,Ci,ca,_a,Ha,zn):Me.token!==1077936157&&(Ga|=Me.assignable&2?16:32))):aa===14?(zn=W2(Me,Bn,Hn,20,ts,Ps,0,ni,Ci,ca,_a,Ha),Ga|=Me.destructible,Me.token!==18&&Me.token!==20&&f(Me,28,oa[Me.token&255])):(zn=h2(Me,Bn,1,0,1,ca,_a,Ha),Me.token!==18&&Me.token!==20?(zn=Q(Me,Bn,ni,Ci,ca,_a,Ha,zn),(ts&3)<1&&aa===67174411&&(Ga|=16)):Me.assignable&2?Ga|=16:aa===67174411&&(Ga|=Me.assignable&1&&ts&3?32:16));if(xa.push(zn),M(Me,Bn|32768,18)){if(Me.token===20)break}else break}q(Me,Bn,20);let Ha=v(Me,Bn,aa,ca,_a,{type:Ci?"ArrayPattern":"ArrayExpression",elements:xa});return!zn&&Me.token&4194304?yu(Me,Bn,Ga,ni,Ci,aa,ca,_a,Ha):(Me.destructible=Ga,Ha)}function yu(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa){Me.token!==1077936157&&f(Me,24),E(Me,Bn|32768),Hn&16&&f(Me,24),ni||r2(Me,aa);let{tokenPos:oa,linePos:ca,colPos:_a}=Me,xa=K(Me,Bn,1,1,zn,oa,ca,_a);return Me.destructible=(Hn|64|8)^72|(Me.destructible&128?128:0)|(Me.destructible&256?256:0),v(Me,Bn,Ci,ts,Ps,ni?{type:"AssignmentPattern",left:aa,right:xa}:{type:"AssignmentExpression",left:aa,operator:"=",right:xa})}function W2(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa,oa,ca,_a){E(Me,Bn|32768);let xa=null,Ga=0,{token:Ha,tokenValue:so,tokenPos:oo,linePos:Jo,colPos:tc}=Me;if(Ha&143360)Me.assignable=1,xa=d2(Me,Bn,ni,0,1,0,Ps,1,oo,Jo,tc),Ha=Me.token,xa=H(Me,Bn,xa,Ps,0,oo,Jo,tc),Me.token!==18&&Me.token!==zn&&(Me.assignable&2&&Me.token===1077936157&&f(Me,68),Ga|=16,xa=Q(Me,Bn,Ps,aa,oo,Jo,tc,xa)),Me.assignable&2?Ga|=16:Ha===zn||Ha===18?Hn&&B2(Me,Bn,Hn,so,ni,Ci):Ga|=32,Ga|=Me.destructible&128?128:0;else if(Ha===zn)f(Me,39);else if(Ha&2097152)xa=Me.token===2162700?b2(Me,Bn,Hn,1,Ps,aa,ni,Ci,oo,Jo,tc):m2(Me,Bn,Hn,1,Ps,aa,ni,Ci,oo,Jo,tc),Ha=Me.token,Ha!==1077936157&&Ha!==zn&&Ha!==18?(Me.destructible&8&&f(Me,68),xa=H(Me,Bn,xa,Ps,0,oo,Jo,tc),Ga|=Me.assignable&2?16:0,(Me.token&4194304)===4194304?(Me.token!==1077936157&&(Ga|=16),xa=Q(Me,Bn,Ps,aa,oo,Jo,tc,xa)):((Me.token&8454144)===8454144&&(xa=T2(Me,Bn,1,oo,Jo,tc,4,Ha,xa)),M(Me,Bn|32768,22)&&(xa=U2(Me,Bn,xa,oo,Jo,tc)),Ga|=Me.assignable&2?16:32)):Ga|=zn===1074790415&&Ha!==1077936157?16:Me.destructible;else{Ga|=32,xa=h2(Me,Bn,1,Ps,1,Me.tokenPos,Me.linePos,Me.colPos);let{token:Hn,tokenPos:ni,linePos:Ci,colPos:ts}=Me;return Hn===1077936157&&Hn!==zn&&Hn!==18?(Me.assignable&2&&f(Me,24),xa=Q(Me,Bn,Ps,aa,ni,Ci,ts,xa),Ga|=16):(Hn===18?Ga|=16:Hn!==zn&&(xa=Q(Me,Bn,Ps,aa,ni,Ci,ts,xa)),Ga|=Me.assignable&1?32:16),Me.destructible=Ga,Me.token!==zn&&Me.token!==18&&f(Me,155),v(Me,Bn,oa,ca,_a,{type:aa?"RestElement":"SpreadElement",argument:xa})}if(Me.token!==zn)if(ni&1&&(Ga|=ts?16:32),M(Me,Bn|32768,1077936157)){Ga&16&&f(Me,24),r2(Me,xa);let Hn=K(Me,Bn,1,1,Ps,Me.tokenPos,Me.linePos,Me.colPos);xa=v(Me,Bn,oo,Jo,tc,aa?{type:"AssignmentPattern",left:xa,right:Hn}:{type:"AssignmentExpression",left:xa,operator:"=",right:Hn}),Ga=16}else Ga|=16;return Me.destructible=Ga,v(Me,Bn,oa,ca,_a,{type:aa?"RestElement":"SpreadElement",argument:xa})}function v2(Me,Bn,Hn,zn,ni,Ci,ts){let Ps=(Hn&64)<1?31981568:14680064;Bn=(Bn|Ps)^Ps|(Hn&88)<<18|100925440;let aa=Bn&64?i2(_2(),512):void 0,oa=Lt(Me,Bn|8388608,aa,Hn,1,zn);aa&&(aa=i2(aa,128));let ca=d1(Me,Bn&-134230017,aa,0,void 0,void 0);return v(Me,Bn,ni,Ci,ts,{type:"FunctionExpression",params:oa,body:ca,async:(Hn&16)>0,generator:(Hn&8)>0,id:null})}function Ft(Me,Bn,Hn,zn,ni,Ci,ts){let Ps=b2(Me,Bn,void 0,Hn,zn,0,2,0,ni,Ci,ts);return Bn&256&&Me.destructible&64&&f(Me,60),Me.destructible&8&&f(Me,59),Ps}function b2(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa,ca,_a){E(Me,Bn);let xa=[],Ga=0,Ha=0;for(Bn=(Bn|134217728)^134217728;Me.token!==1074790415;){let{token:zn,tokenValue:aa,linePos:ca,colPos:_a,tokenPos:so}=Me;if(zn===14)xa.push(W2(Me,Bn,Hn,1074790415,ts,Ps,0,ni,Ci,so,ca,_a));else{let oo=0,Jo=null,tc,dc=Me.token;if(Me.token&143360||Me.token===121)if(Jo=$(Me,Bn,0),Me.token===18||Me.token===1074790415||Me.token===1077936157)if(oo|=4,Bn&1024&&(zn&537079808)===537079808?Ga|=16:l1(Me,Bn,ts,zn,0),Hn&&B2(Me,Bn,Hn,aa,ts,Ps),M(Me,Bn|32768,1077936157)){Ga|=8;let Hn=K(Me,Bn,1,1,ni,Me.tokenPos,Me.linePos,Me.colPos);Ga|=Me.destructible&256?256:0|Me.destructible&128?128:0,tc=v(Me,Bn,so,ca,_a,{type:"AssignmentPattern",left:Bn&-2147483648?Object.assign({},Jo):Jo,right:Hn})}else Ga|=(zn===209008?128:0)|(zn===121?16:0),tc=Bn&-2147483648?Object.assign({},Jo):Jo;else if(M(Me,Bn|32768,21)){let{tokenPos:oa,linePos:ca,colPos:_a}=Me;if(aa==="__proto__"&&Ha++,Me.token&143360){let zn=Me.token,aa=Me.tokenValue;Ga|=dc===121?16:0,tc=d2(Me,Bn,ts,0,1,0,ni,1,oa,ca,_a);let{token:xa}=Me;tc=H(Me,Bn,tc,ni,0,oa,ca,_a),Me.token===18||Me.token===1074790415?xa===1077936157||xa===1074790415||xa===18?(Ga|=Me.destructible&128?128:0,Me.assignable&2?Ga|=16:Hn&&(zn&143360)===143360&&B2(Me,Bn,Hn,aa,ts,Ps)):Ga|=Me.assignable&1?32:16:(Me.token&4194304)===4194304?(Me.assignable&2?Ga|=16:xa!==1077936157?Ga|=32:Hn&&B2(Me,Bn,Hn,aa,ts,Ps),tc=Q(Me,Bn,ni,Ci,oa,ca,_a,tc)):(Ga|=16,(Me.token&8454144)===8454144&&(tc=T2(Me,Bn,1,oa,ca,_a,4,xa,tc)),M(Me,Bn|32768,22)&&(tc=U2(Me,Bn,tc,oa,ca,_a)))}else(Me.token&2097152)===2097152?(tc=Me.token===69271571?m2(Me,Bn,Hn,0,ni,Ci,ts,Ps,oa,ca,_a):b2(Me,Bn,Hn,0,ni,Ci,ts,Ps,oa,ca,_a),Ga=Me.destructible,Me.assignable=Ga&16?2:1,Me.token===18||Me.token===1074790415?Me.assignable&2&&(Ga|=16):Me.destructible&8?f(Me,68):(tc=H(Me,Bn,tc,ni,0,oa,ca,_a),Ga=Me.assignable&2?16:0,(Me.token&4194304)===4194304?tc=a1(Me,Bn,ni,Ci,oa,ca,_a,tc):((Me.token&8454144)===8454144&&(tc=T2(Me,Bn,1,oa,ca,_a,4,zn,tc)),M(Me,Bn|32768,22)&&(tc=U2(Me,Bn,tc,oa,ca,_a)),Ga|=Me.assignable&2?16:32))):(tc=h2(Me,Bn,1,ni,1,oa,ca,_a),Ga|=Me.assignable&1?32:16,Me.token===18||Me.token===1074790415?Me.assignable&2&&(Ga|=16):(tc=H(Me,Bn,tc,ni,0,oa,ca,_a),Ga=Me.assignable&2?16:0,Me.token!==18&&zn!==1074790415&&(Me.token!==1077936157&&(Ga|=16),tc=Q(Me,Bn,ni,Ci,oa,ca,_a,tc))))}else Me.token===69271571?(Ga|=16,zn===209007&&(oo|=16),oo|=(zn===12402?256:zn===12403?512:1)|2,Jo=K2(Me,Bn,ni),Ga|=Me.assignable,tc=v2(Me,Bn,oo,ni,Me.tokenPos,Me.linePos,Me.colPos)):Me.token&143360?(Ga|=16,zn===121&&f(Me,92),zn===209007&&(Me.flags&1&&f(Me,128),oo|=16),Jo=$(Me,Bn,0),oo|=zn===12402?256:zn===12403?512:1,tc=v2(Me,Bn,oo,ni,Me.tokenPos,Me.linePos,Me.colPos)):Me.token===67174411?(Ga|=16,oo|=1,tc=v2(Me,Bn,oo,ni,Me.tokenPos,Me.linePos,Me.colPos)):Me.token===8457014?(Ga|=16,zn===12402||zn===12403?f(Me,40):zn===143483&&f(Me,92),E(Me,Bn),oo|=9|(zn===209007?16:0),Me.token&143360?Jo=$(Me,Bn,0):(Me.token&134217728)===134217728?Jo=c2(Me,Bn):Me.token===69271571?(oo|=2,Jo=K2(Me,Bn,ni),Ga|=Me.assignable):f(Me,28,oa[Me.token&255]),tc=v2(Me,Bn,oo,ni,Me.tokenPos,Me.linePos,Me.colPos)):(Me.token&134217728)===134217728?(zn===209007&&(oo|=16),oo|=zn===12402?256:zn===12403?512:1,Ga|=16,Jo=c2(Me,Bn),tc=v2(Me,Bn,oo,ni,Me.tokenPos,Me.linePos,Me.colPos)):f(Me,129);else if((Me.token&134217728)===134217728)if(Jo=c2(Me,Bn),Me.token===21){q(Me,Bn|32768,21);let{tokenPos:oa,linePos:ca,colPos:_a}=Me;if(aa==="__proto__"&&Ha++,Me.token&143360){tc=d2(Me,Bn,ts,0,1,0,ni,1,oa,ca,_a);let{token:zn,tokenValue:aa}=Me;tc=H(Me,Bn,tc,ni,0,oa,ca,_a),Me.token===18||Me.token===1074790415?zn===1077936157||zn===1074790415||zn===18?Me.assignable&2?Ga|=16:Hn&&B2(Me,Bn,Hn,aa,ts,Ps):Ga|=Me.assignable&1?32:16:Me.token===1077936157?(Me.assignable&2&&(Ga|=16),tc=Q(Me,Bn,ni,Ci,oa,ca,_a,tc)):(Ga|=16,tc=Q(Me,Bn,ni,Ci,oa,ca,_a,tc))}else(Me.token&2097152)===2097152?(tc=Me.token===69271571?m2(Me,Bn,Hn,0,ni,Ci,ts,Ps,oa,ca,_a):b2(Me,Bn,Hn,0,ni,Ci,ts,Ps,oa,ca,_a),Ga=Me.destructible,Me.assignable=Ga&16?2:1,Me.token===18||Me.token===1074790415?Me.assignable&2&&(Ga|=16):(Me.destructible&8)!==8&&(tc=H(Me,Bn,tc,ni,0,oa,ca,_a),Ga=Me.assignable&2?16:0,(Me.token&4194304)===4194304?tc=a1(Me,Bn,ni,Ci,oa,ca,_a,tc):((Me.token&8454144)===8454144&&(tc=T2(Me,Bn,1,oa,ca,_a,4,zn,tc)),M(Me,Bn|32768,22)&&(tc=U2(Me,Bn,tc,oa,ca,_a)),Ga|=Me.assignable&2?16:32))):(tc=h2(Me,Bn,1,0,1,oa,ca,_a),Ga|=Me.assignable&1?32:16,Me.token===18||Me.token===1074790415?Me.assignable&2&&(Ga|=16):(tc=H(Me,Bn,tc,ni,0,oa,ca,_a),Ga=Me.assignable&1?0:16,Me.token!==18&&Me.token!==1074790415&&(Me.token!==1077936157&&(Ga|=16),tc=Q(Me,Bn,ni,Ci,oa,ca,_a,tc))))}else Me.token===67174411?(oo|=1,tc=v2(Me,Bn,oo,ni,Me.tokenPos,Me.linePos,Me.colPos),Ga=Me.assignable|16):f(Me,130);else if(Me.token===69271571)if(Jo=K2(Me,Bn,ni),Ga|=Me.destructible&256?256:0,oo|=2,Me.token===21){E(Me,Bn|32768);let{tokenPos:aa,linePos:oa,colPos:ca,tokenValue:_a,token:xa}=Me;if(Me.token&143360){tc=d2(Me,Bn,ts,0,1,0,ni,1,aa,oa,ca);let{token:zn}=Me;tc=H(Me,Bn,tc,ni,0,aa,oa,ca),(Me.token&4194304)===4194304?(Ga|=Me.assignable&2?16:zn===1077936157?0:32,tc=a1(Me,Bn,ni,Ci,aa,oa,ca,tc)):Me.token===18||Me.token===1074790415?zn===1077936157||zn===1074790415||zn===18?Me.assignable&2?Ga|=16:Hn&&(xa&143360)===143360&&B2(Me,Bn,Hn,_a,ts,Ps):Ga|=Me.assignable&1?32:16:(Ga|=16,tc=Q(Me,Bn,ni,Ci,aa,oa,ca,tc))}else(Me.token&2097152)===2097152?(tc=Me.token===69271571?m2(Me,Bn,Hn,0,ni,Ci,ts,Ps,aa,oa,ca):b2(Me,Bn,Hn,0,ni,Ci,ts,Ps,aa,oa,ca),Ga=Me.destructible,Me.assignable=Ga&16?2:1,Me.token===18||Me.token===1074790415?Me.assignable&2&&(Ga|=16):Ga&8?f(Me,59):(tc=H(Me,Bn,tc,ni,0,aa,oa,ca),Ga=Me.assignable&2?Ga|16:0,(Me.token&4194304)===4194304?(Me.token!==1077936157&&(Ga|=16),tc=a1(Me,Bn,ni,Ci,aa,oa,ca,tc)):((Me.token&8454144)===8454144&&(tc=T2(Me,Bn,1,aa,oa,ca,4,zn,tc)),M(Me,Bn|32768,22)&&(tc=U2(Me,Bn,tc,aa,oa,ca)),Ga|=Me.assignable&2?16:32))):(tc=h2(Me,Bn,1,0,1,aa,oa,ca),Ga|=Me.assignable&1?32:16,Me.token===18||Me.token===1074790415?Me.assignable&2&&(Ga|=16):(tc=H(Me,Bn,tc,ni,0,aa,oa,ca),Ga=Me.assignable&1?0:16,Me.token!==18&&Me.token!==1074790415&&(Me.token!==1077936157&&(Ga|=16),tc=Q(Me,Bn,ni,Ci,aa,oa,ca,tc))))}else Me.token===67174411?(oo|=1,tc=v2(Me,Bn,oo,ni,Me.tokenPos,ca,_a),Ga=16):f(Me,41);else if(zn===8457014)if(q(Me,Bn|32768,8457014),oo|=8,Me.token&143360){let{token:Hn,line:zn,index:Ci}=Me;Jo=$(Me,Bn,0),oo|=1,Me.token===67174411?(Ga|=16,tc=v2(Me,Bn,oo,ni,Me.tokenPos,Me.linePos,Me.colPos)):L(Ci,zn,Ci,Hn===209007?43:Hn===12402||Me.token===12403?42:44,oa[Hn&255])}else(Me.token&134217728)===134217728?(Ga|=16,Jo=c2(Me,Bn),oo|=1,tc=v2(Me,Bn,oo,ni,so,ca,_a)):Me.token===69271571?(Ga|=16,oo|=3,Jo=K2(Me,Bn,ni),tc=v2(Me,Bn,oo,ni,Me.tokenPos,Me.linePos,Me.colPos)):f(Me,122);else f(Me,28,oa[zn&255]);Ga|=Me.destructible&128?128:0,Me.destructible=Ga,xa.push(v(Me,Bn,so,ca,_a,{type:"Property",key:Jo,value:tc,kind:oo&768?oo&512?"set":"get":"init",computed:(oo&2)>0,method:(oo&1)>0,shorthand:(oo&4)>0}))}if(Ga|=Me.destructible,Me.token!==18)break;E(Me,Bn)}q(Me,Bn,1074790415),Ha>1&&(Ga|=64);let so=v(Me,Bn,aa,ca,_a,{type:Ci?"ObjectPattern":"ObjectExpression",properties:xa});return!zn&&Me.token&4194304?yu(Me,Bn,Ga,ni,Ci,aa,ca,_a,so):(Me.destructible=Ga,so)}function Lt(Me,Bn,Hn,zn,ni,Ci){q(Me,Bn,67174411);let ts=[];if(Me.flags=(Me.flags|128)^128,Me.token===16)return zn&512&&f(Me,35,"Setter","one",""),E(Me,Bn),ts;zn&256&&f(Me,35,"Getter","no","s"),zn&512&&Me.token===14&&f(Me,36),Bn=(Bn|134217728)^134217728;let Ps=0,aa=0;for(;Me.token!==18;){let oa=null,{tokenPos:ca,linePos:_a,colPos:xa}=Me;if(Me.token&143360?((Bn&1024)<1&&((Me.token&36864)===36864&&(Me.flags|=256),(Me.token&537079808)===537079808&&(Me.flags|=512)),oa=p1(Me,Bn,Hn,zn|1,0,ca,_a,xa)):(Me.token===2162700?oa=b2(Me,Bn,Hn,1,Ci,1,ni,0,ca,_a,xa):Me.token===69271571?oa=m2(Me,Bn,Hn,1,Ci,1,ni,0,ca,_a,xa):Me.token===14&&(oa=W2(Me,Bn,Hn,16,ni,0,0,Ci,1,ca,_a,xa)),aa=1,Me.destructible&48&&f(Me,47)),Me.token===1077936157){E(Me,Bn|32768),aa=1;let Hn=K(Me,Bn,1,1,0,Me.tokenPos,Me.linePos,Me.colPos);oa=v(Me,Bn,ca,_a,xa,{type:"AssignmentPattern",left:oa,right:Hn})}if(Ps++,ts.push(oa),!M(Me,Bn,18)||Me.token===16)break}return zn&512&&Ps!==1&&f(Me,35,"Setter","one",""),Hn&&Hn.scopeError!==void 0&&A(Hn.scopeError),aa&&(Me.flags|=128),q(Me,Bn,16),ts}function K2(Me,Bn,Hn){E(Me,Bn|32768);let zn=K(Me,(Bn|134217728)^134217728,1,0,Hn,Me.tokenPos,Me.linePos,Me.colPos);return q(Me,Bn,20),zn}function Ot(Me,Bn,Hn,zn,ni,Ci,ts,Ps){Me.flags=(Me.flags|128)^128;let{tokenPos:aa,linePos:oa,colPos:ca}=Me;E(Me,Bn|32768|1073741824);let _a=Bn&64?i2(_2(),1024):void 0;if(Bn=(Bn|134217728)^134217728,M(Me,Bn,16))return m1(Me,Bn,_a,[],Hn,0,Ci,ts,Ps);let xa=0;Me.destructible&=-385;let Ga,Ha=[],so=0,oo=0,{tokenPos:Jo,linePos:tc,colPos:dc}=Me;for(Me.assignable=1;Me.token!==16;){let{token:Hn,tokenPos:Ci,linePos:ts,colPos:Ps}=Me;if(Hn&143360)_a&&L2(Me,Bn,_a,Me.tokenValue,1,0),Ga=d2(Me,Bn,zn,0,1,0,1,1,Ci,ts,Ps),Me.token===16||Me.token===18?Me.assignable&2?(xa|=16,oo=1):((Hn&537079808)===537079808||(Hn&36864)===36864)&&(oo=1):(Me.token===1077936157?oo=1:xa|=16,Ga=H(Me,Bn,Ga,1,0,Ci,ts,Ps),Me.token!==16&&Me.token!==18&&(Ga=Q(Me,Bn,1,0,Ci,ts,Ps,Ga)));else if((Hn&2097152)===2097152)Ga=Hn===2162700?b2(Me,Bn|1073741824,_a,0,1,0,zn,ni,Ci,ts,Ps):m2(Me,Bn|1073741824,_a,0,1,0,zn,ni,Ci,ts,Ps),xa|=Me.destructible,oo=1,Me.assignable=2,Me.token!==16&&Me.token!==18&&(xa&8&&f(Me,118),Ga=H(Me,Bn,Ga,0,0,Ci,ts,Ps),xa|=16,Me.token!==16&&Me.token!==18&&(Ga=Q(Me,Bn,0,0,Ci,ts,Ps,Ga)));else if(Hn===14){Ga=W2(Me,Bn,_a,16,zn,ni,0,1,0,Ci,ts,Ps),Me.destructible&16&&f(Me,71),oo=1,so&&(Me.token===16||Me.token===18)&&Ha.push(Ga),xa|=8;break}else{if(xa|=16,Ga=K(Me,Bn,1,0,1,Ci,ts,Ps),so&&(Me.token===16||Me.token===18)&&Ha.push(Ga),Me.token===18&&(so||(so=1,Ha=[Ga])),so){for(;M(Me,Bn|32768,18);)Ha.push(K(Me,Bn,1,0,1,Me.tokenPos,Me.linePos,Me.colPos));Me.assignable=2,Ga=v(Me,Bn,Jo,tc,dc,{type:"SequenceExpression",expressions:Ha})}return q(Me,Bn,16),Me.destructible=xa,Ga}if(so&&(Me.token===16||Me.token===18)&&Ha.push(Ga),!M(Me,Bn|32768,18))break;if(so||(so=1,Ha=[Ga]),Me.token===16){xa|=8;break}}return so&&(Me.assignable=2,Ga=v(Me,Bn,Jo,tc,dc,{type:"SequenceExpression",expressions:Ha})),q(Me,Bn,16),xa&16&&xa&8&&f(Me,145),xa|=Me.destructible&256?256:0|Me.destructible&128?128:0,Me.token===10?(xa&48&&f(Me,46),Bn&4196352&&xa&128&&f(Me,29),Bn&2098176&&xa&256&&f(Me,30),oo&&(Me.flags|=128),m1(Me,Bn,_a,so?Ha:[Ga],Hn,0,Ci,ts,Ps)):(xa&8&&f(Me,139),Me.destructible=(Me.destructible|256)^256|xa,Bn&128?v(Me,Bn,aa,oa,ca,{type:"ParenthesizedExpression",expression:Ga}):Ga)}function Q1(Me,Bn,Hn,zn,ni){let{tokenValue:Ci}=Me,ts=$(Me,Bn,0);if(Me.assignable=1,Me.token===10){let Ps;return Bn&64&&(Ps=c1(Me,Bn,Ci)),Me.flags=(Me.flags|128)^128,e1(Me,Bn,Ps,[ts],0,Hn,zn,ni)}return ts}function h1(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa,oa){Ci||f(Me,54),ni&&f(Me,48),Me.flags&=-129;let ca=Bn&64?c1(Me,Bn,Hn):void 0;return e1(Me,Bn,ca,[zn],ts,Ps,aa,oa)}function m1(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa){ni||f(Me,54);for(let Bn=0;Bn0&&Me.tokenValue==="constructor"&&f(Me,106),Me.token===1074790415&&f(Me,105),M(Me,Bn,1074790417)){Ci>0&&f(Me,116);continue}ca.push(Cu(Me,Bn,zn,Hn,ni,_a,0,ts,Me.tokenPos,Me.linePos,Me.colPos))}return q(Me,Ci&8?Bn|32768:Bn,1074790415),v(Me,Bn,Ps,aa,oa,{type:"ClassBody",body:ca})}function Cu(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa,ca,_a){let xa=ts?32:0,Ga=null,{token:Ha,tokenPos:so,linePos:oo,colPos:Jo}=Me;if(Ha&176128)switch(Ga=$(Me,Bn,0),Ha){case 36972:if(!ts&&Me.token!==67174411)return Cu(Me,Bn,Hn,zn,ni,Ci,1,Ps,aa,ca,_a);break;case 209007:if(Me.token!==67174411&&(Me.flags&1)<1){if(Bn&1&&(Me.token&1073741824)===1073741824)return v1(Me,Bn,Ga,xa,Ci,so,oo,Jo);xa|=16|(M1(Me,Bn,8457014)?8:0)}break;case 12402:if(Me.token!==67174411){if(Bn&1&&(Me.token&1073741824)===1073741824)return v1(Me,Bn,Ga,xa,Ci,so,oo,Jo);xa|=256}break;case 12403:if(Me.token!==67174411){if(Bn&1&&(Me.token&1073741824)===1073741824)return v1(Me,Bn,Ga,xa,Ci,so,oo,Jo);xa|=512}break}else Ha===69271571?(xa|=2,Ga=K2(Me,zn,Ps)):(Ha&134217728)===134217728?Ga=c2(Me,Bn):Ha===8457014?(xa|=8,E(Me,Bn)):Bn&1&&Me.token===131?(xa|=4096,Ga=r1(Me,Bn|16384,so,oo,Jo)):Bn&1&&(Me.token&1073741824)===1073741824?xa|=128:Ha===122?(Ga=$(Me,Bn,0),Me.token!==67174411&&f(Me,28,oa[Me.token&255])):f(Me,28,oa[Me.token&255]);if(xa&792&&(Me.token&143360?Ga=$(Me,Bn,0):(Me.token&134217728)===134217728?Ga=c2(Me,Bn):Me.token===69271571?(xa|=2,Ga=K2(Me,Bn,0)):Me.token===122?Ga=$(Me,Bn,0):Bn&1&&Me.token===131?(xa|=4096,Ga=r1(Me,Bn,so,oo,Jo)):f(Me,131)),(xa&2)<1&&(Me.tokenValue==="constructor"?((Me.token&1073741824)===1073741824?f(Me,125):(xa&32)<1&&Me.token===67174411&&(xa&920?f(Me,50,"accessor"):(Bn&524288)<1&&(Me.flags&32?f(Me,51):Me.flags|=32)),xa|=64):(xa&4096)<1&&xa&824&&Me.tokenValue==="prototype"&&f(Me,49)),Bn&1&&Me.token!==67174411)return v1(Me,Bn,Ga,xa,Ci,so,oo,Jo);let tc=v2(Me,Bn,xa,Ps,Me.tokenPos,Me.linePos,Me.colPos);return v(Me,Bn,aa,ca,_a,Bn&1?{type:"MethodDefinition",kind:(xa&32)<1&&xa&64?"constructor":xa&256?"get":xa&512?"set":"method",static:(xa&32)>0,computed:(xa&2)>0,key:Ga,decorators:Ci,value:tc}:{type:"MethodDefinition",kind:(xa&32)<1&&xa&64?"constructor":xa&256?"get":xa&512?"set":"method",static:(xa&32)>0,computed:(xa&2)>0,key:Ga,value:tc})}function r1(Me,Bn,Hn,zn,ni){E(Me,Bn);let{tokenValue:Ci}=Me;return Ci==="constructor"&&f(Me,124),E(Me,Bn),v(Me,Bn,Hn,zn,ni,{type:"PrivateIdentifier",name:Ci})}function v1(Me,Bn,Hn,zn,ni,Ci,ts,Ps){let aa=null;if(zn&8&&f(Me,0),Me.token===1077936157){E(Me,Bn|32768);let{tokenPos:Hn,linePos:zn,colPos:ni}=Me;Me.token===537079928&&f(Me,115),aa=d2(Me,Bn|16384,2,0,1,0,0,1,Hn,zn,ni),(Me.token&1073741824)!==1073741824&&(aa=H(Me,Bn|16384,aa,0,0,Hn,zn,ni),aa=Q(Me,Bn|16384,0,0,Hn,zn,ni,aa),Me.token===18&&(aa=O2(Me,Bn,0,Ci,ts,Ps,aa)))}return v(Me,Bn,Ci,ts,Ps,{type:"PropertyDefinition",key:Hn,value:aa,static:(zn&32)>0,computed:(zn&2)>0,decorators:ni})}function Du(Me,Bn,Hn,zn,ni,Ci,ts,Ps){if(Me.token&143360)return p1(Me,Bn,Hn,zn,ni,Ci,ts,Ps);(Me.token&2097152)!==2097152&&f(Me,28,oa[Me.token&255]);let aa=Me.token===69271571?m2(Me,Bn,Hn,1,0,1,zn,ni,Ci,ts,Ps):b2(Me,Bn,Hn,1,0,1,zn,ni,Ci,ts,Ps);return Me.destructible&16&&f(Me,47),Me.destructible&32&&f(Me,47),aa}function p1(Me,Bn,Hn,zn,ni,Ci,ts,Ps){let{tokenValue:aa,token:oa}=Me;return Bn&1024&&((oa&537079808)===537079808?f(Me,115):(oa&36864)===36864&&f(Me,114)),(oa&20480)===20480&&f(Me,99),Bn&2099200&&oa===241773&&f(Me,30),oa===241739&&zn&24&&f(Me,97),Bn&4196352&&oa===209008&&f(Me,95),E(Me,Bn),Hn&&B2(Me,Bn,Hn,aa,zn,ni),v(Me,Bn,Ci,ts,Ps,{type:"Identifier",name:aa})}function ee(Me,Bn,Hn,zn,ni,Ci){if(E(Me,Bn),Me.token===8456259)return v(Me,Bn,zn,ni,Ci,{type:"JSXFragment",openingFragment:jt(Me,Bn,zn,ni,Ci),children:wu(Me,Bn),closingFragment:Mt(Me,Bn,Hn,Me.tokenPos,Me.linePos,Me.colPos)});let ts=null,Ps=[],aa=$t(Me,Bn,Hn,zn,ni,Ci);if(!aa.selfClosing){Ps=wu(Me,Bn),ts=_t(Me,Bn,Hn,Me.tokenPos,Me.linePos,Me.colPos);let zn=f1(ts.name);f1(aa.name)!==zn&&f(Me,149,zn)}return v(Me,Bn,zn,ni,Ci,{type:"JSXElement",children:Ps,openingElement:aa,closingElement:ts})}function jt(Me,Bn,Hn,zn,ni){return j2(Me,Bn),v(Me,Bn,Hn,zn,ni,{type:"JSXOpeningFragment"})}function _t(Me,Bn,Hn,zn,ni,Ci){q(Me,Bn,25);let ts=qu(Me,Bn,Me.tokenPos,Me.linePos,Me.colPos);return Hn?q(Me,Bn,8456259):Me.token=j2(Me,Bn),v(Me,Bn,zn,ni,Ci,{type:"JSXClosingElement",name:ts})}function Mt(Me,Bn,Hn,zn,ni,Ci){return q(Me,Bn,25),q(Me,Bn,8456259),v(Me,Bn,zn,ni,Ci,{type:"JSXClosingFragment"})}function wu(Me,Bn){let Hn=[];for(;Me.token!==25;)Me.index=Me.tokenPos=Me.startPos,Me.column=Me.colPos=Me.startColumn,Me.line=Me.linePos=Me.startLine,j2(Me,Bn),Hn.push(Ut(Me,Bn,Me.tokenPos,Me.linePos,Me.colPos));return Hn}function Ut(Me,Bn,Hn,zn,ni){if(Me.token===138)return Jt(Me,Bn,Hn,zn,ni);if(Me.token===2162700)return Su(Me,Bn,0,0,Hn,zn,ni);if(Me.token===8456258)return ee(Me,Bn,0,Hn,zn,ni);f(Me,0)}function Jt(Me,Bn,Hn,zn,ni){j2(Me,Bn);let Ci={type:"JSXText",value:Me.tokenValue};return Bn&512&&(Ci.raw=Me.tokenRaw),v(Me,Bn,Hn,zn,ni,Ci)}function $t(Me,Bn,Hn,zn,ni,Ci){(Me.token&143360)!==143360&&(Me.token&4096)!==4096&&f(Me,0);let ts=qu(Me,Bn,Me.tokenPos,Me.linePos,Me.colPos),Ps=Xt(Me,Bn),aa=Me.token===8457016;return Me.token===8456259?j2(Me,Bn):(q(Me,Bn,8457016),Hn?q(Me,Bn,8456259):j2(Me,Bn)),v(Me,Bn,zn,ni,Ci,{type:"JSXOpeningElement",name:ts,attributes:Ps,selfClosing:aa})}function qu(Me,Bn,Hn,zn,ni){_1(Me);let Ci=y1(Me,Bn,Hn,zn,ni);if(Me.token===21)return Bu(Me,Bn,Ci,Hn,zn,ni);for(;M(Me,Bn,67108877);)_1(Me),Ci=Ht(Me,Bn,Ci,Hn,zn,ni);return Ci}function Ht(Me,Bn,Hn,zn,ni,Ci){let ts=y1(Me,Bn,Me.tokenPos,Me.linePos,Me.colPos);return v(Me,Bn,zn,ni,Ci,{type:"JSXMemberExpression",object:Hn,property:ts})}function Xt(Me,Bn){let Hn=[];for(;Me.token!==8457016&&Me.token!==8456259&&Me.token!==1048576;)Hn.push(Wt(Me,Bn,Me.tokenPos,Me.linePos,Me.colPos));return Hn}function zt(Me,Bn,Hn,zn,ni){E(Me,Bn),q(Me,Bn,14);let Ci=K(Me,Bn,1,0,0,Me.tokenPos,Me.linePos,Me.colPos);return q(Me,Bn,1074790415),v(Me,Bn,Hn,zn,ni,{type:"JSXSpreadAttribute",argument:Ci})}function Wt(Me,Bn,Hn,zn,ni){if(Me.token===2162700)return zt(Me,Bn,Hn,zn,ni);_1(Me);let Ci=null,ts=y1(Me,Bn,Hn,zn,ni);if(Me.token===21&&(ts=Bu(Me,Bn,ts,Hn,zn,ni)),Me.token===1077936157){let Hn=U0(Me,Bn),{tokenPos:zn,linePos:ni,colPos:ts}=Me;switch(Hn){case 134283267:Ci=c2(Me,Bn);break;case 8456258:Ci=ee(Me,Bn,1,zn,ni,ts);break;case 2162700:Ci=Su(Me,Bn,1,1,zn,ni,ts);break;default:f(Me,148)}}return v(Me,Bn,Hn,zn,ni,{type:"JSXAttribute",value:Ci,name:ts})}function Bu(Me,Bn,Hn,zn,ni,Ci){q(Me,Bn,21);let ts=y1(Me,Bn,Me.tokenPos,Me.linePos,Me.colPos);return v(Me,Bn,zn,ni,Ci,{type:"JSXNamespacedName",namespace:Hn,name:ts})}function Su(Me,Bn,Hn,zn,ni,Ci,ts){E(Me,Bn|32768);let{tokenPos:Ps,linePos:aa,colPos:oa}=Me;if(Me.token===14)return Kt(Me,Bn,Ps,aa,oa);let ca=null;return Me.token===1074790415?(zn&&f(Me,151),ca=Yt(Me,Bn,Me.startPos,Me.startLine,Me.startColumn)):ca=K(Me,Bn,1,0,0,Ps,aa,oa),Hn?q(Me,Bn,1074790415):j2(Me,Bn),v(Me,Bn,ni,Ci,ts,{type:"JSXExpressionContainer",expression:ca})}function Kt(Me,Bn,Hn,zn,ni){q(Me,Bn,14);let Ci=K(Me,Bn,1,0,0,Me.tokenPos,Me.linePos,Me.colPos);return q(Me,Bn,1074790415),v(Me,Bn,Hn,zn,ni,{type:"JSXSpreadChild",expression:Ci})}function Yt(Me,Bn,Hn,zn,ni){return Me.startPos=Me.tokenPos,Me.startLine=Me.linePos,Me.startColumn=Me.colPos,v(Me,Bn,Hn,zn,ni,{type:"JSXEmptyExpression"})}function y1(Me,Bn,Hn,zn,ni){let{tokenValue:Ci}=Me;return E(Me,Bn),v(Me,Bn,Hn,zn,ni,{type:"JSXIdentifier",name:Ci})}var Ha=Object.freeze({__proto__:null}),so="4.2.1",oo=so;function xt(Me,Bn){return H1(Me,Bn,0)}function pt(Me,Bn){return H1(Me,Bn,3072)}function eo(Me,Bn){return H1(Me,Bn,0)}Me.ESTree=Ha,Me.parse=eo,Me.parseModule=pt,Me.parseScript=xt,Me.version=oo}});ts();var Yf=Ps(),Kf=aa(),Xf=kp(),Ad=zp(),Cd={module:!0,next:!0,ranges:!0,webcompat:!0,loc:!0,raw:!0,directives:!0,globalReturn:!0,impliedStrict:!1,preserveParens:!1,lexical:!1,identifierPattern:!1,jsx:!0,specDeviation:!0,uniqueKeyInPattern:!1};function m0(Me,Bn){let{parse:Hn}=Qf(),zn=[],ni=[],Ci=Hn(Me,Object.assign(Object.assign({},Cd),{},{module:Bn,onComment:zn,onToken:ni}));return Ci.comments=zn,Ci.tokens=ni,Ci}function U3(Me){let{message:Bn,line:Hn,column:zn}=Me,ni=(Bn.match(/^\[(?\d+):(?\d+)]: (?.*)$/)||{}).groups;return ni&&(Bn=ni.message,typeof Hn!="number"&&(Hn=Number(ni.line),zn=Number(ni.column))),typeof Hn!="number"?Me:Yf(Bn,{start:{line:Hn,column:zn}})}function J3(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{result:zn,error:ni}=Kf((()=>m0(Me,!0)),(()=>m0(Me,!1)));if(!zn)throw U3(ni);return Hn.originalText=Me,Ad(zn,Hn)}Bn.exports={parsers:{meriyah:Xf(J3)}}}));return Dg()}))},57338:Me=>{(function(Bn){if(true)Me.exports=Bn();else{var Hn}})((function(){"use strict";var U=(Me,Bn)=>()=>(Bn||Me((Bn={exports:{}}).exports,Bn),Bn.exports);var Me=U(((Me,Bn)=>{var er=function(Me){return Me&&Me.Math==Math&&Me};Bn.exports=er(typeof globalThis=="object"&&globalThis)||er(typeof window=="object"&&window)||er(typeof self=="object"&&self)||er(typeof global=="object"&&global)||function(){return this}()||Function("return this")()}));var Bn=U(((Me,Bn)=>{Bn.exports=function(Me){try{return!!Me()}catch{return!0}}}));var Hn=U(((Me,Hn)=>{var zn=Bn();Hn.exports=!zn((function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7}))}));var zn=U(((Me,Hn)=>{var zn=Bn();Hn.exports=!zn((function(){var Me=function(){}.bind();return typeof Me!="function"||Me.hasOwnProperty("prototype")}))}));var ni=U(((Me,Bn)=>{var Hn=zn(),ni=Function.prototype.call;Bn.exports=Hn?ni.bind(ni):function(){return ni.apply(ni,arguments)}}));var Ci=U((Me=>{"use strict";var Bn={}.propertyIsEnumerable,Hn=Object.getOwnPropertyDescriptor,zn=Hn&&!Bn.call({1:2},1);Me.f=zn?function(Me){var Bn=Hn(this,Me);return!!Bn&&Bn.enumerable}:Bn}));var ts=U(((Me,Bn)=>{Bn.exports=function(Me,Bn){return{enumerable:!(Me&1),configurable:!(Me&2),writable:!(Me&4),value:Bn}}}));var Ps=U(((Me,Bn)=>{var Hn=zn(),ni=Function.prototype,Ci=ni.call,ts=Hn&&ni.bind.bind(Ci,Ci);Bn.exports=Hn?ts:function(Me){return function(){return Ci.apply(Me,arguments)}}}));var aa=U(((Me,Bn)=>{var Hn=Ps(),zn=Hn({}.toString),ni=Hn("".slice);Bn.exports=function(Me){return ni(zn(Me),8,-1)}}));var oa=U(((Me,Hn)=>{var zn=Ps(),ni=Bn(),Ci=aa(),ts=Object,oa=zn("".split);Hn.exports=ni((function(){return!ts("z").propertyIsEnumerable(0)}))?function(Me){return Ci(Me)=="String"?oa(Me,""):ts(Me)}:ts}));var ca=U(((Me,Bn)=>{Bn.exports=function(Me){return Me==null}}));var _a=U(((Me,Bn)=>{var Hn=ca(),zn=TypeError;Bn.exports=function(Me){if(Hn(Me))throw zn("Can't call method on "+Me);return Me}}));var xa=U(((Me,Bn)=>{var Hn=oa(),zn=_a();Bn.exports=function(Me){return Hn(zn(Me))}}));var Ga=U(((Me,Bn)=>{var Hn=typeof document=="object"&&document.all,zn=typeof Hn>"u"&&Hn!==void 0;Bn.exports={all:Hn,IS_HTMLDDA:zn}}));var Ha=U(((Me,Bn)=>{var Hn=Ga(),zn=Hn.all;Bn.exports=Hn.IS_HTMLDDA?function(Me){return typeof Me=="function"||Me===zn}:function(Me){return typeof Me=="function"}}));var so=U(((Me,Bn)=>{var Hn=Ha(),zn=Ga(),ni=zn.all;Bn.exports=zn.IS_HTMLDDA?function(Me){return typeof Me=="object"?Me!==null:Hn(Me)||Me===ni}:function(Me){return typeof Me=="object"?Me!==null:Hn(Me)}}));var oo=U(((Bn,Hn)=>{var zn=Me(),ni=Ha(),za=function(Me){return ni(Me)?Me:void 0};Hn.exports=function(Me,Bn){return arguments.length<2?za(zn[Me]):zn[Me]&&zn[Me][Bn]}}));var Jo=U(((Me,Bn)=>{var Hn=Ps();Bn.exports=Hn({}.isPrototypeOf)}));var tc=U(((Me,Bn)=>{var Hn=oo();Bn.exports=Hn("navigator","userAgent")||""}));var dc=U(((Bn,Hn)=>{var zn=Me(),ni=tc(),Ci=zn.process,ts=zn.Deno,Ps=Ci&&Ci.versions||ts&&ts.version,aa=Ps&&Ps.v8,oa,ca;aa&&(oa=aa.split("."),ca=oa[0]>0&&oa[0]<4?1:+(oa[0]+oa[1]));!ca&&ni&&(oa=ni.match(/Edge\/(\d+)/),(!oa||oa[1]>=74)&&(oa=ni.match(/Chrome\/(\d+)/),oa&&(ca=+oa[1])));Hn.exports=ca}));var Fc=U(((Me,Hn)=>{var zn=dc(),ni=Bn();Hn.exports=!!Object.getOwnPropertySymbols&&!ni((function(){var Me=Symbol();return!String(Me)||!(Object(Me)instanceof Symbol)||!Symbol.sham&&zn&&zn<41}))}));var Jc=U(((Me,Bn)=>{var Hn=Fc();Bn.exports=Hn&&!Symbol.sham&&typeof Symbol.iterator=="symbol"}));var Dp=U(((Me,Bn)=>{var Hn=oo(),zn=Ha(),ni=Jo(),Ci=Jc(),ts=Object;Bn.exports=Ci?function(Me){return typeof Me=="symbol"}:function(Me){var Bn=Hn("Symbol");return zn(Bn)&&ni(Bn.prototype,ts(Me))}}));var kp=U(((Me,Bn)=>{var Hn=String;Bn.exports=function(Me){try{return Hn(Me)}catch{return"Object"}}}));var Qp=U(((Me,Bn)=>{var Hn=Ha(),zn=kp(),ni=TypeError;Bn.exports=function(Me){if(Hn(Me))return Me;throw ni(zn(Me)+" is not a function")}}));var Up=U(((Me,Bn)=>{var Hn=Qp(),zn=ca();Bn.exports=function(Me,Bn){var ni=Me[Bn];return zn(ni)?void 0:Hn(ni)}}));var Vp=U(((Me,Bn)=>{var Hn=ni(),zn=Ha(),Ci=so(),ts=TypeError;Bn.exports=function(Me,Bn){var ni,Ps;if(Bn==="string"&&zn(ni=Me.toString)&&!Ci(Ps=Hn(ni,Me))||zn(ni=Me.valueOf)&&!Ci(Ps=Hn(ni,Me))||Bn!=="string"&&zn(ni=Me.toString)&&!Ci(Ps=Hn(ni,Me)))return Ps;throw ts("Can't convert object to primitive value")}}));var qp=U(((Me,Bn)=>{Bn.exports=!1}));var Jp=U(((Bn,Hn)=>{var zn=Me(),ni=Object.defineProperty;Hn.exports=function(Me,Bn){try{ni(zn,Me,{value:Bn,configurable:!0,writable:!0})}catch{zn[Me]=Bn}return Bn}}));var Wp=U(((Bn,Hn)=>{var zn=Me(),ni=Jp(),Ci="__core-js_shared__",ts=zn[Ci]||ni(Ci,{});Hn.exports=ts}));var zp=U(((Me,Bn)=>{var Hn=qp(),zn=Wp();(Bn.exports=function(Me,Bn){return zn[Me]||(zn[Me]=Bn!==void 0?Bn:{})})("versions",[]).push({version:"3.26.1",mode:Hn?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})}));var Qf=U(((Me,Bn)=>{var Hn=_a(),zn=Object;Bn.exports=function(Me){return zn(Hn(Me))}}));var Yf=U(((Me,Bn)=>{var Hn=Ps(),zn=Qf(),ni=Hn({}.hasOwnProperty);Bn.exports=Object.hasOwn||function(Me,Bn){return ni(zn(Me),Bn)}}));var Kf=U(((Me,Bn)=>{var Hn=Ps(),zn=0,ni=Math.random(),Ci=Hn(1..toString);Bn.exports=function(Me){return"Symbol("+(Me===void 0?"":Me)+")_"+Ci(++zn+ni,36)}}));var Xf=U(((Bn,Hn)=>{var zn=Me(),ni=zp(),Ci=Yf(),ts=Kf(),Ps=Fc(),aa=Jc(),oa=ni("wks"),ca=zn.Symbol,_a=ca&&ca.for,xa=aa?ca:ca&&ca.withoutSetter||ts;Hn.exports=function(Me){if(!Ci(oa,Me)||!(Ps||typeof oa[Me]=="string")){var Bn="Symbol."+Me;Ps&&Ci(ca,Me)?oa[Me]=ca[Me]:aa&&_a?oa[Me]=_a(Bn):oa[Me]=xa(Bn)}return oa[Me]}}));var Ad=U(((Me,Bn)=>{var Hn=ni(),zn=so(),Ci=Dp(),ts=Up(),Ps=Vp(),aa=Xf(),oa=TypeError,ca=aa("toPrimitive");Bn.exports=function(Me,Bn){if(!zn(Me)||Ci(Me))return Me;var ni=ts(Me,ca),aa;if(ni){if(Bn===void 0&&(Bn="default"),aa=Hn(ni,Me,Bn),!zn(aa)||Ci(aa))return aa;throw oa("Can't convert object to primitive value")}return Bn===void 0&&(Bn="number"),Ps(Me,Bn)}}));var Cd=U(((Me,Bn)=>{var Hn=Ad(),zn=Dp();Bn.exports=function(Me){var Bn=Hn(Me,"string");return zn(Bn)?Bn:Bn+""}}));var wd=U(((Bn,Hn)=>{var zn=Me(),ni=so(),Ci=zn.document,ts=ni(Ci)&&ni(Ci.createElement);Hn.exports=function(Me){return ts?Ci.createElement(Me):{}}}));var Sd=U(((Me,zn)=>{var ni=Hn(),Ci=Bn(),ts=wd();zn.exports=!ni&&!Ci((function(){return Object.defineProperty(ts("div"),"a",{get:function(){return 7}}).a!=7}))}));var xd=U((Me=>{var Bn=Hn(),zn=ni(),Ps=Ci(),aa=ts(),oa=xa(),ca=Cd(),_a=Yf(),Ga=Sd(),Ha=Object.getOwnPropertyDescriptor;Me.f=Bn?Ha:function(Me,Bn){if(Me=oa(Me),Bn=ca(Bn),Ga)try{return Ha(Me,Bn)}catch{}if(_a(Me,Bn))return aa(!zn(Ps.f,Me,Bn),Me[Bn])}}));var Td=U(((Me,zn)=>{var ni=Hn(),Ci=Bn();zn.exports=ni&&Ci((function(){return Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype!=42}))}));var Pd=U(((Me,Bn)=>{var Hn=so(),zn=String,ni=TypeError;Bn.exports=function(Me){if(Hn(Me))return Me;throw ni(zn(Me)+" is not an object")}}));var Qh=U((Me=>{var Bn=Hn(),zn=Sd(),ni=Td(),Ci=Pd(),ts=Cd(),Ps=TypeError,aa=Object.defineProperty,oa=Object.getOwnPropertyDescriptor,ca="enumerable",_a="configurable",xa="writable";Me.f=Bn?ni?function(Me,Bn,Hn){if(Ci(Me),Bn=ts(Bn),Ci(Hn),typeof Me=="function"&&Bn==="prototype"&&"value"in Hn&&xa in Hn&&!Hn[xa]){var zn=oa(Me,Bn);zn&&zn[xa]&&(Me[Bn]=Hn.value,Hn={configurable:_a in Hn?Hn[_a]:zn[_a],enumerable:ca in Hn?Hn[ca]:zn[ca],writable:!1})}return aa(Me,Bn,Hn)}:aa:function(Me,Bn,Hn){if(Ci(Me),Bn=ts(Bn),Ci(Hn),zn)try{return aa(Me,Bn,Hn)}catch{}if("get"in Hn||"set"in Hn)throw Ps("Accessors not supported");return"value"in Hn&&(Me[Bn]=Hn.value),Me}}));var Zh=U(((Me,Bn)=>{var zn=Hn(),ni=Qh(),Ci=ts();Bn.exports=zn?function(Me,Bn,Hn){return ni.f(Me,Bn,Ci(1,Hn))}:function(Me,Bn,Hn){return Me[Bn]=Hn,Me}}));var sA=U(((Me,Bn)=>{var zn=Hn(),ni=Yf(),Ci=Function.prototype,ts=zn&&Object.getOwnPropertyDescriptor,Ps=ni(Ci,"name"),aa=Ps&&function(){}.name==="something",oa=Ps&&(!zn||zn&&ts(Ci,"name").configurable);Bn.exports={EXISTS:Ps,PROPER:aa,CONFIGURABLE:oa}}));var oA=U(((Me,Bn)=>{var Hn=Ps(),zn=Ha(),ni=Wp(),Ci=Hn(Function.toString);zn(ni.inspectSource)||(ni.inspectSource=function(Me){return Ci(Me)});Bn.exports=ni.inspectSource}));var hA=U(((Bn,Hn)=>{var zn=Me(),ni=Ha(),Ci=zn.WeakMap;Hn.exports=ni(Ci)&&/native code/.test(String(Ci))}));var eg=U(((Me,Bn)=>{var Hn=zp(),zn=Kf(),ni=Hn("keys");Bn.exports=function(Me){return ni[Me]||(ni[Me]=zn(Me))}}));var tg=U(((Me,Bn)=>{Bn.exports={}}));var rg=U(((Bn,Hn)=>{var zn=hA(),ni=Me(),Ci=so(),ts=Zh(),Ps=Yf(),aa=Wp(),oa=eg(),ca=tg(),_a="Object already initialized",xa=ni.TypeError,Ga=ni.WeakMap,Ha,oo,Jo,gc=function(Me){return Jo(Me)?oo(Me):Ha(Me,{})},yc=function(Me){return function(Bn){var Hn;if(!Ci(Bn)||(Hn=oo(Bn)).type!==Me)throw xa("Incompatible receiver, "+Me+" required");return Hn}};zn||aa.state?(tc=aa.state||(aa.state=new Ga),tc.get=tc.get,tc.has=tc.has,tc.set=tc.set,Ha=function(Me,Bn){if(tc.has(Me))throw xa(_a);return Bn.facade=Me,tc.set(Me,Bn),Bn},oo=function(Me){return tc.get(Me)||{}},Jo=function(Me){return tc.has(Me)}):(dc=oa("state"),ca[dc]=!0,Ha=function(Me,Bn){if(Ps(Me,dc))throw xa(_a);return Bn.facade=Me,ts(Me,dc,Bn),Bn},oo=function(Me){return Ps(Me,dc)?Me[dc]:{}},Jo=function(Me){return Ps(Me,dc)});var tc,dc;Hn.exports={set:Ha,get:oo,has:Jo,enforce:gc,getterFor:yc}}));var ng=U(((Me,zn)=>{var ni=Bn(),Ci=Ha(),ts=Yf(),Ps=Hn(),aa=sA().CONFIGURABLE,oa=oA(),ca=rg(),_a=ca.enforce,xa=ca.get,Ga=Object.defineProperty,so=Ps&&!ni((function(){return Ga((function(){}),"length",{value:8}).length!==8})),oo=String(String).split("String"),Jo=zn.exports=function(Me,Bn,Hn){String(Bn).slice(0,7)==="Symbol("&&(Bn="["+String(Bn).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),Hn&&Hn.getter&&(Bn="get "+Bn),Hn&&Hn.setter&&(Bn="set "+Bn),(!ts(Me,"name")||aa&&Me.name!==Bn)&&(Ps?Ga(Me,"name",{value:Bn,configurable:!0}):Me.name=Bn),so&&Hn&&ts(Hn,"arity")&&Me.length!==Hn.arity&&Ga(Me,"length",{value:Hn.arity});try{Hn&&ts(Hn,"constructor")&&Hn.constructor?Ps&&Ga(Me,"prototype",{writable:!1}):Me.prototype&&(Me.prototype=void 0)}catch{}var zn=_a(Me);return ts(zn,"source")||(zn.source=oo.join(typeof Bn=="string"?Bn:"")),Me};Function.prototype.toString=Jo((function(){return Ci(this)&&xa(this).source||oa(this)}),"toString")}));var ig=U(((Me,Bn)=>{var Hn=Ha(),zn=Qh(),ni=ng(),Ci=Jp();Bn.exports=function(Me,Bn,ts,Ps){Ps||(Ps={});var aa=Ps.enumerable,oa=Ps.name!==void 0?Ps.name:Bn;if(Hn(ts)&&ni(ts,oa,Ps),Ps.global)aa?Me[Bn]=ts:Ci(Bn,ts);else{try{Ps.unsafe?Me[Bn]&&(aa=!0):delete Me[Bn]}catch{}aa?Me[Bn]=ts:zn.f(Me,Bn,{value:ts,enumerable:!1,configurable:!Ps.nonConfigurable,writable:!Ps.nonWritable})}return Me}}));var sg=U(((Me,Bn)=>{var Hn=Math.ceil,zn=Math.floor;Bn.exports=Math.trunc||function(Me){var Bn=+Me;return(Bn>0?zn:Hn)(Bn)}}));var ag=U(((Me,Bn)=>{var Hn=sg();Bn.exports=function(Me){var Bn=+Me;return Bn!==Bn||Bn===0?0:Hn(Bn)}}));var og=U(((Me,Bn)=>{var Hn=ag(),zn=Math.max,ni=Math.min;Bn.exports=function(Me,Bn){var Ci=Hn(Me);return Ci<0?zn(Ci+Bn,0):ni(Ci,Bn)}}));var ug=U(((Me,Bn)=>{var Hn=ag(),zn=Math.min;Bn.exports=function(Me){return Me>0?zn(Hn(Me),9007199254740991):0}}));var cg=U(((Me,Bn)=>{var Hn=ug();Bn.exports=function(Me){return Hn(Me.length)}}));var lg=U(((Me,Bn)=>{var Hn=xa(),zn=og(),ni=cg(),rs=function(Me){return function(Bn,Ci,ts){var Ps=Hn(Bn),aa=ni(Ps),oa=zn(ts,aa),ca;if(Me&&Ci!=Ci){for(;aa>oa;)if(ca=Ps[oa++],ca!=ca)return!0}else for(;aa>oa;oa++)if((Me||oa in Ps)&&Ps[oa]===Ci)return Me||oa||0;return!Me&&-1}};Bn.exports={includes:rs(!0),indexOf:rs(!1)}}));var pg=U(((Me,Bn)=>{var Hn=Ps(),zn=Yf(),ni=xa(),Ci=lg().indexOf,ts=tg(),aa=Hn([].push);Bn.exports=function(Me,Bn){var Hn=ni(Me),Ps=0,oa=[],ca;for(ca in Hn)!zn(ts,ca)&&zn(Hn,ca)&&aa(oa,ca);for(;Bn.length>Ps;)zn(Hn,ca=Bn[Ps++])&&(~Ci(oa,ca)||aa(oa,ca));return oa}}));var fg=U(((Me,Bn)=>{Bn.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]}));var dg=U((Me=>{var Bn=pg(),Hn=fg(),zn=Hn.concat("length","prototype");Me.f=Object.getOwnPropertyNames||function(Me){return Bn(Me,zn)}}));var hg=U((Me=>{Me.f=Object.getOwnPropertySymbols}));var Ag=U(((Me,Bn)=>{var Hn=oo(),zn=Ps(),ni=dg(),Ci=hg(),ts=Pd(),aa=zn([].concat);Bn.exports=Hn("Reflect","ownKeys")||function(Me){var Bn=ni.f(ts(Me)),Hn=Ci.f;return Hn?aa(Bn,Hn(Me)):Bn}}));var mg=U(((Me,Bn)=>{var Hn=Yf(),zn=Ag(),ni=xd(),Ci=Qh();Bn.exports=function(Me,Bn,ts){for(var Ps=zn(Bn),aa=Ci.f,oa=ni.f,ca=0;ca{var zn=Bn(),ni=Ha(),Ci=/#|\.prototype\./,Ue=function(Me,Bn){var Hn=Ps[ts(Me)];return Hn==oa?!0:Hn==aa?!1:ni(Bn)?zn(Bn):!!Bn},ts=Ue.normalize=function(Me){return String(Me).replace(Ci,".").toLowerCase()},Ps=Ue.data={},aa=Ue.NATIVE="N",oa=Ue.POLYFILL="P";Hn.exports=Ue}));var _g=U(((Bn,Hn)=>{var zn=Me(),ni=xd().f,Ci=Zh(),ts=ig(),Ps=Jp(),aa=mg(),oa=gg();Hn.exports=function(Me,Bn){var Hn=Me.target,ca=Me.global,_a=Me.stat,xa,Ga,Ha,so,oo,Jo;if(ca?Ga=zn:_a?Ga=zn[Hn]||Ps(Hn,{}):Ga=(zn[Hn]||{}).prototype,Ga)for(Ha in Bn){if(oo=Bn[Ha],Me.dontCallGetSet?(Jo=ni(Ga,Ha),so=Jo&&Jo.value):so=Ga[Ha],xa=oa(ca?Ha:Hn+(_a?".":"#")+Ha,Me.forced),!xa&&so!==void 0){if(typeof oo==typeof so)continue;aa(oo,so)}(Me.sham||so&&so.sham)&&Ci(oo,"sham",!0),ts(Ga,Ha,oo,Me)}}}));var yg=U((()=>{var Bn=_g(),Hn=Me();Bn({global:!0,forced:Hn.globalThis!==Hn},{globalThis:Hn})}));var vg=U((()=>{yg()}));var Eg=U(((Me,Bn)=>{vg();var Hn=Object.defineProperty,zn=Object.getOwnPropertyDescriptor,ni=Object.getOwnPropertyNames,Ci=Object.prototype.hasOwnProperty,Le=(Me,Bn)=>function(){return Me&&(Bn=(0,Me[ni(Me)[0]])(Me=0)),Bn},P=(Me,Bn)=>function(){return Bn||(0,Me[ni(Me)[0]])((Bn={exports:{}}).exports,Bn),Bn.exports},At=(Me,Bn)=>{for(var zn in Bn)Hn(Me,zn,{get:Bn[zn],enumerable:!0})},xl=(Me,Bn,ts,Ps)=>{if(Bn&&typeof Bn=="object"||typeof Bn=="function")for(let aa of ni(Bn))!Ci.call(Me,aa)&&aa!==ts&&Hn(Me,aa,{get:()=>Bn[aa],enumerable:!(Ps=zn(Bn,aa))||Ps.enumerable});return Me},Pt=Me=>xl(Hn({},"__esModule",{value:!0}),Me),ts=Le({""(){}}),Ps=P({"src/common/parser-create-error.js"(Me,Bn){"use strict";ts();function i(Me,Bn){let Hn=new SyntaxError(Me+" ("+Bn.start.line+":"+Bn.start.column+")");return Hn.loc=Bn,Hn}Bn.exports=i}}),aa=P({"src/utils/get-last.js"(Me,Bn){"use strict";ts();var i=Me=>Me[Me.length-1];Bn.exports=i}}),oa=P({"src/utils/front-matter/parse.js"(Me,Bn){"use strict";ts();var Hn=new RegExp("^(?-{3}|\\+{3})(?[^\\n]*)\\n(?:|(?.*?)\\n)(?\\k|\\.{3})[^\\S\\n]*(?:\\n|$)","s");function u(Me){let Bn=Me.match(Hn);if(!Bn)return{content:Me};let{startDelimiter:zn,language:ni,value:Ci="",endDelimiter:ts}=Bn.groups,Ps=ni.trim()||"yaml";if(zn==="+++"&&(Ps="toml"),Ps!=="yaml"&&zn!==ts)return{content:Me};let[aa]=Bn;return{frontMatter:{type:"front-matter",lang:Ps,value:Ci,startDelimiter:zn,endDelimiter:ts,raw:aa.replace(/\n$/,"")},content:aa.replace(/[^\n]/g," ")+Me.slice(aa.length)}}Bn.exports=u}}),ca={};At(ca,{EOL:()=>Ga,arch:()=>kl,cpus:()=>Ys,default:()=>Ha,endianness:()=>Vs,freemem:()=>Ks,getNetworkInterfaces:()=>ro,hostname:()=>Gs,loadavg:()=>Hs,networkInterfaces:()=>eo,platform:()=>Ol,release:()=>Zs,tmpDir:()=>wt,tmpdir:()=>xa,totalmem:()=>Qs,type:()=>Xs,uptime:()=>Js});function Vs(){if(typeof _a>"u"){var Me=new ArrayBuffer(2),Bn=new Uint8Array(Me),Hn=new Uint16Array(Me);if(Bn[0]=1,Bn[1]=2,Hn[0]===258)_a="BE";else if(Hn[0]===513)_a="LE";else throw new Error("unable to figure out endianess")}return _a}function Gs(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function Hs(){return[]}function Js(){return 0}function Ks(){return Number.MAX_VALUE}function Qs(){return Number.MAX_VALUE}function Ys(){return[]}function Xs(){return"Browser"}function Zs(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function eo(){}function ro(){}function kl(){return"javascript"}function Ol(){return"browser"}function wt(){return"/tmp"}var _a,xa,Ga,Ha,so=Le({"node-modules-polyfills:os"(){ts(),xa=wt,Ga=`\n`,Ha={EOL:Ga,tmpdir:xa,tmpDir:wt,networkInterfaces:eo,getNetworkInterfaces:ro,release:Zs,type:Xs,cpus:Ys,totalmem:Qs,freemem:Ks,uptime:Js,loadavg:Hs,hostname:Gs,endianness:Vs}}}),oo=P({"node-modules-polyfills-commonjs:os"(Me,Bn){ts();var Hn=(so(),Pt(ca));if(Hn&&Hn.default){Bn.exports=Hn.default;for(let Me in Hn)Bn.exports[Me]=Hn[Me]}else Hn&&(Bn.exports=Hn)}}),Jo=P({"node_modules/detect-newline/index.js"(Me,Bn){"use strict";ts();var i=Me=>{if(typeof Me!="string")throw new TypeError("Expected a string");let Bn=Me.match(/(?:\r?\n)/g)||[];if(Bn.length===0)return;let Hn=Bn.filter((Me=>Me===`\r\n`)).length,zn=Bn.length-Hn;return Hn>zn?`\r\n`:`\n`};Bn.exports=i,Bn.exports.graceful=Me=>typeof Me=="string"&&i(Me)||`\n`}}),tc=P({"node_modules/jest-docblock/build/index.js"(Me){"use strict";ts(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.extract=s,Me.parse=g,Me.parseWithComments=v,Me.print=y,Me.strip=f;function n(){let Me=oo();return n=function(){return Me},Me}function i(){let Me=u(Jo());return i=function(){return Me},Me}function u(Me){return Me&&Me.__esModule?Me:{default:Me}}var Bn=/\*\/$/,Hn=/^\/\*\*?/,zn=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,ni=/(^|\s+)\/\/([^\r\n]*)/g,Ci=/^(\r?\n)+/,Ps=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,aa=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,oa=/(\r?\n|^) *\* ?/g,ca=[];function s(Me){let Bn=Me.match(zn);return Bn?Bn[0].trimLeft():""}function f(Me){let Bn=Me.match(zn);return Bn&&Bn[0]?Me.substring(Bn[0].length):Me}function g(Me){return v(Me).pragmas}function v(Me){let zn=(0,i().default)(Me)||n().EOL;Me=Me.replace(Hn,"").replace(Bn,"").replace(oa,"$1");let ts="";for(;ts!==Me;)ts=Me,Me=Me.replace(Ps,`${zn}$1 $2${zn}`);Me=Me.replace(Ci,"").trimRight();let _a=Object.create(null),xa=Me.replace(aa,"").replace(Ci,"").trimRight(),Ga;for(;Ga=aa.exec(Me);){let Me=Ga[2].replace(ni,"");typeof _a[Ga[1]]=="string"||Array.isArray(_a[Ga[1]])?_a[Ga[1]]=ca.concat(_a[Ga[1]],Me):_a[Ga[1]]=Me}return{comments:xa,pragmas:_a}}function y(Me){let{comments:Bn="",pragmas:Hn={}}=Me,zn=(0,i().default)(Bn)||n().EOL,ni="/**",Ci=" *",ts=" */",Ps=Object.keys(Hn),aa=Ps.map((Me=>w(Me,Hn[Me]))).reduce(((Me,Bn)=>Me.concat(Bn)),[]).map((Me=>`${Ci} ${Me}${zn}`)).join("");if(!Bn){if(Ps.length===0)return"";if(Ps.length===1&&!Array.isArray(Hn[Ps[0]])){let Me=Hn[Ps[0]];return`${ni} ${w(Ps[0],Me)[0]}${ts}`}}let oa=Bn.split(zn).map((Me=>`${Ci} ${Me}`)).join(zn)+zn;return ni+zn+(Bn?oa:"")+(Bn&&Ps.length?Ci+zn:"")+aa+ts}function w(Me,Bn){return ca.concat(Bn).map((Bn=>`@${Me} ${Bn}`.trim()))}}}),dc=P({"src/common/end-of-line.js"(Me,Bn){"use strict";ts();function i(Me){let Bn=Me.indexOf("\r");return Bn>=0?Me.charAt(Bn+1)===`\n`?"crlf":"cr":"lf"}function u(Me){switch(Me){case"cr":return"\r";case"crlf":return`\r\n`;default:return`\n`}}function o(Me,Bn){let Hn;switch(Bn){case`\n`:Hn=/\n/g;break;case"\r":Hn=/\r/g;break;case`\r\n`:Hn=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(Bn)}.`)}let zn=Me.match(Hn);return zn?zn.length:0}function h(Me){return Me.replace(/\r\n?/g,`\n`)}Bn.exports={guessEndOfLine:i,convertEndOfLineToChars:u,countEndOfLineChars:o,normalizeEndOfLine:h}}}),Fc=P({"src/language-js/utils/get-shebang.js"(Me,Bn){"use strict";ts();function i(Me){if(!Me.startsWith("#!"))return"";let Bn=Me.indexOf(`\n`);return Bn===-1?Me:Me.slice(0,Bn)}Bn.exports=i}}),Jc=P({"src/language-js/pragma.js"(Me,Bn){"use strict";ts();var{parseWithComments:Hn,strip:zn,extract:ni,print:Ci}=tc(),{normalizeEndOfLine:Ps}=dc(),aa=Fc();function m(Me){let Bn=aa(Me);Bn&&(Me=Me.slice(Bn.length+1));let zn=ni(Me),{pragmas:Ci,comments:ts}=Hn(zn);return{shebang:Bn,text:Me,pragmas:Ci,comments:ts}}function c(Me){let Bn=Object.keys(m(Me).pragmas);return Bn.includes("prettier")||Bn.includes("format")}function t(Me){let{shebang:Bn,text:Hn,pragmas:ni,comments:ts}=m(Me),aa=zn(Hn),oa=Ci({pragmas:Object.assign({format:""},ni),comments:ts.trimStart()});return(Bn?`${Bn}\n`:"")+Ps(oa)+(aa.startsWith(`\n`)?`\n`:`\n\n`)+aa}Bn.exports={hasPragma:c,insertPragma:t}}}),Dp=P({"src/language-css/pragma.js"(Me,Bn){"use strict";ts();var Hn=Jc(),zn=oa();function o(Me){return Hn.hasPragma(zn(Me).content)}function h(Me){let{frontMatter:Bn,content:ni}=zn(Me);return(Bn?Bn.raw+`\n\n`:"")+Hn.insertPragma(ni)}Bn.exports={hasPragma:o,insertPragma:h}}}),kp=P({"src/utils/text/skip.js"(Me,Bn){"use strict";ts();function i(Me){return(Bn,Hn,zn)=>{let ni=zn&&zn.backwards;if(Hn===!1)return!1;let{length:Ci}=Bn,ts=Hn;for(;ts>=0&&ts0}Bn.exports=i}}),qp=P({"src/language-css/utils/has-scss-interpolation.js"(Me,Bn){"use strict";ts();var Hn=Vp();function u(Me){if(Hn(Me)){for(let Bn=Me.length-1;Bn>0;Bn--)if(Me[Bn].type==="word"&&Me[Bn].value==="{"&&Me[Bn-1].type==="word"&&Me[Bn-1].value.endsWith("#"))return!0}return!1}Bn.exports=u}}),Jp=P({"src/language-css/utils/has-string-or-function.js"(Me,Bn){"use strict";ts();function i(Me){return Me.some((Me=>Me.type==="string"||Me.type==="func"))}Bn.exports=i}}),Wp=P({"src/language-css/utils/is-less-parser.js"(Me,Bn){"use strict";ts();function i(Me){return Me.parser==="css"||Me.parser==="less"}Bn.exports=i}}),zp=P({"src/language-css/utils/is-scss.js"(Me,Bn){"use strict";ts();function i(Me,Bn){return Me==="less"||Me==="scss"?Me==="scss":/(?:\w\s*:\s*[^:}]+|#){|@import[^\n]+(?:url|,)/.test(Bn)}Bn.exports=i}}),Qf=P({"src/language-css/utils/is-scss-nested-property-node.js"(Me,Bn){"use strict";ts();function i(Me){return Me.selector?Me.selector.replace(/\/\*.*?\*\//,"").replace(/\/\/.*\n/,"").trim().endsWith(":"):!1}Bn.exports=i}}),Yf=P({"src/language-css/utils/is-scss-variable.js"(Me,Bn){"use strict";ts();function i(Me){return Boolean((Me==null?void 0:Me.type)==="word"&&Me.value.startsWith("$"))}Bn.exports=i}}),Kf=P({"src/language-css/utils/stringify-node.js"(Me,Bn){"use strict";ts();function i(Me){var Bn,Hn,zn;if(Me.groups){var ni,Ci,ts;let Bn=((ni=Me.open)===null||ni===void 0?void 0:ni.value)||"",Hn=Me.groups.map((Me=>i(Me))).join(((Ci=Me.groups[0])===null||Ci===void 0?void 0:Ci.type)==="comma_group"?",":""),zn=((ts=Me.close)===null||ts===void 0?void 0:ts.value)||"";return Bn+Hn+zn}let Ps=((Bn=Me.raws)===null||Bn===void 0?void 0:Bn.before)||"",aa=((Hn=Me.raws)===null||Hn===void 0?void 0:Hn.quote)||"",oa=Me.type==="atword"?"@":"",ca=Me.value||"",_a=Me.unit||"",xa=Me.group?i(Me.group):"",Ga=((zn=Me.raws)===null||zn===void 0?void 0:zn.after)||"";return Ps+aa+oa+ca+aa+_a+xa+Ga}Bn.exports=i}}),Xf=P({"src/language-css/utils/is-module-rule-name.js"(Me,Bn){"use strict";ts();var Hn=new Set(["import","use","forward"]);function u(Me){return Hn.has(Me)}Bn.exports=u}}),Ad=P({"node_modules/postcss-values-parser/lib/node.js"(Me,Bn){"use strict";ts();var i=function(Me,Bn){let Hn=new Me.constructor;for(let zn in Me){if(!Me.hasOwnProperty(zn))continue;let ni=Me[zn],Ci=typeof ni;zn==="parent"&&Ci==="object"?Bn&&(Hn[zn]=Bn):zn==="source"?Hn[zn]=ni:ni instanceof Array?Hn[zn]=ni.map((Me=>i(Me,Hn))):zn!=="before"&&zn!=="after"&&zn!=="between"&&zn!=="semicolon"&&(Ci==="object"&&ni!==null&&(ni=i(ni)),Hn[zn]=ni)}return Hn};Bn.exports=class{constructor(Me){Me=Me||{},this.raws={before:"",after:""};for(let Bn in Me)this[Bn]=Me[Bn]}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}toString(){return[this.raws.before,String(this.value),this.raws.after].join("")}clone(Me){Me=Me||{};let Bn=i(this);for(let Hn in Me)Bn[Hn]=Me[Hn];return Bn}cloneBefore(Me){Me=Me||{};let Bn=this.clone(Me);return this.parent.insertBefore(this,Bn),Bn}cloneAfter(Me){Me=Me||{};let Bn=this.clone(Me);return this.parent.insertAfter(this,Bn),Bn}replaceWith(){let Me=Array.prototype.slice.call(arguments);if(this.parent){for(let Bn of Me)this.parent.insertBefore(this,Bn);this.remove()}return this}moveTo(Me){return this.cleanRaws(this.root()===Me.root()),this.remove(),Me.append(this),this}moveBefore(Me){return this.cleanRaws(this.root()===Me.root()),this.remove(),Me.parent.insertBefore(Me,this),this}moveAfter(Me){return this.cleanRaws(this.root()===Me.root()),this.remove(),Me.parent.insertAfter(Me,this),this}next(){let Me=this.parent.index(this);return this.parent.nodes[Me+1]}prev(){let Me=this.parent.index(this);return this.parent.nodes[Me-1]}toJSON(){let Me={};for(let Bn in this){if(!this.hasOwnProperty(Bn)||Bn==="parent")continue;let Hn=this[Bn];Hn instanceof Array?Me[Bn]=Hn.map((Me=>typeof Me=="object"&&Me.toJSON?Me.toJSON():Me)):typeof Hn=="object"&&Hn.toJSON?Me[Bn]=Hn.toJSON():Me[Bn]=Hn}return Me}root(){let Me=this;for(;Me.parent;)Me=Me.parent;return Me}cleanRaws(Me){delete this.raws.before,delete this.raws.after,Me||delete this.raws.between}positionInside(Me){let Bn=this.toString(),Hn=this.source.start.column,zn=this.source.start.line;for(let ni=0;ni{let zn=Me(Bn,Hn);return zn!==!1&&Bn.walk&&(zn=Bn.walk(Me)),zn}))}walkType(Me,Bn){if(!Me||!Bn)throw new Error("Parameters {type} and {callback} are required.");let Hn=typeof Me=="function";return this.walk(((zn,ni)=>{if(Hn&&zn instanceof Me||!Hn&&zn.type===Me)return Bn.call(this,zn,ni)}))}append(Me){return Me.parent=this,this.nodes.push(Me),this}prepend(Me){return Me.parent=this,this.nodes.unshift(Me),this}cleanRaws(Me){if(super.cleanRaws(Me),this.nodes)for(let Bn of this.nodes)Bn.cleanRaws(Me)}insertAfter(Me,Bn){let Hn=this.index(Me),zn;this.nodes.splice(Hn+1,0,Bn);for(let Me in this.indexes)zn=this.indexes[Me],Hn<=zn&&(this.indexes[Me]=zn+this.nodes.length);return this}insertBefore(Me,Bn){let Hn=this.index(Me),zn;this.nodes.splice(Hn,0,Bn);for(let Me in this.indexes)zn=this.indexes[Me],Hn<=zn&&(this.indexes[Me]=zn+this.nodes.length);return this}removeChild(Me){Me=this.index(Me),this.nodes[Me].parent=void 0,this.nodes.splice(Me,1);let Bn;for(let Hn in this.indexes)Bn=this.indexes[Hn],Bn>=Me&&(this.indexes[Hn]=Bn-1);return this}removeAll(){for(let Me of this.nodes)Me.parent=void 0;return this.nodes=[],this}every(Me){return this.nodes.every(Me)}some(Me){return this.nodes.some(Me)}index(Me){return typeof Me=="number"?Me:this.nodes.indexOf(Me)}get first(){if(this.nodes)return this.nodes[0]}get last(){if(this.nodes)return this.nodes[this.nodes.length-1]}toString(){let Me=this.nodes.map(String).join("");return this.value&&(Me=this.value+Me),this.raws.before&&(Me=this.raws.before+Me),this.raws.after&&(Me+=this.raws.after),Me}};zn.registerWalker=Me=>{let Bn="walk"+Me.name;Bn.lastIndexOf("s")!==Bn.length-1&&(Bn+="s"),!zn.prototype[Bn]&&(zn.prototype[Bn]=function(Bn){return this.walkType(Me,Bn)})},Bn.exports=zn}}),wd=P({"node_modules/postcss-values-parser/lib/root.js"(Me,Bn){"use strict";ts();var Hn=Cd();Bn.exports=class extends Hn{constructor(Me){super(Me),this.type="root"}}}}),Sd=P({"node_modules/postcss-values-parser/lib/value.js"(Me,Bn){"use strict";ts();var Hn=Cd();Bn.exports=class extends Hn{constructor(Me){super(Me),this.type="value",this.unbalanced=0}}}}),xd=P({"node_modules/postcss-values-parser/lib/atword.js"(Me,Bn){"use strict";ts();var Hn=Cd(),zn=class extends Hn{constructor(Me){super(Me),this.type="atword"}toString(){let Me=this.quoted?this.raws.quote:"";return[this.raws.before,"@",String.prototype.toString.call(this.value),this.raws.after].join("")}};Hn.registerWalker(zn),Bn.exports=zn}}),Td=P({"node_modules/postcss-values-parser/lib/colon.js"(Me,Bn){"use strict";ts();var Hn=Cd(),zn=Ad(),ni=class extends zn{constructor(Me){super(Me),this.type="colon"}};Hn.registerWalker(ni),Bn.exports=ni}}),Pd=P({"node_modules/postcss-values-parser/lib/comma.js"(Me,Bn){"use strict";ts();var Hn=Cd(),zn=Ad(),ni=class extends zn{constructor(Me){super(Me),this.type="comma"}};Hn.registerWalker(ni),Bn.exports=ni}}),Qh=P({"node_modules/postcss-values-parser/lib/comment.js"(Me,Bn){"use strict";ts();var Hn=Cd(),zn=Ad(),ni=class extends zn{constructor(Me){super(Me),this.type="comment",this.inline=Object(Me).inline||!1}toString(){return[this.raws.before,this.inline?"//":"/*",String(this.value),this.inline?"":"*/",this.raws.after].join("")}};Hn.registerWalker(ni),Bn.exports=ni}}),Zh=P({"node_modules/postcss-values-parser/lib/function.js"(Me,Bn){"use strict";ts();var Hn=Cd(),zn=class extends Hn{constructor(Me){super(Me),this.type="func",this.unbalanced=-1}};Hn.registerWalker(zn),Bn.exports=zn}}),sA=P({"node_modules/postcss-values-parser/lib/number.js"(Me,Bn){"use strict";ts();var Hn=Cd(),zn=Ad(),ni=class extends zn{constructor(Me){super(Me),this.type="number",this.unit=Object(Me).unit||""}toString(){return[this.raws.before,String(this.value),this.unit,this.raws.after].join("")}};Hn.registerWalker(ni),Bn.exports=ni}}),oA=P({"node_modules/postcss-values-parser/lib/operator.js"(Me,Bn){"use strict";ts();var Hn=Cd(),zn=Ad(),ni=class extends zn{constructor(Me){super(Me),this.type="operator"}};Hn.registerWalker(ni),Bn.exports=ni}}),hA=P({"node_modules/postcss-values-parser/lib/paren.js"(Me,Bn){"use strict";ts();var Hn=Cd(),zn=Ad(),ni=class extends zn{constructor(Me){super(Me),this.type="paren",this.parenType=""}};Hn.registerWalker(ni),Bn.exports=ni}}),eg=P({"node_modules/postcss-values-parser/lib/string.js"(Me,Bn){"use strict";ts();var Hn=Cd(),zn=Ad(),ni=class extends zn{constructor(Me){super(Me),this.type="string"}toString(){let Me=this.quoted?this.raws.quote:"";return[this.raws.before,Me,this.value+"",Me,this.raws.after].join("")}};Hn.registerWalker(ni),Bn.exports=ni}}),tg=P({"node_modules/postcss-values-parser/lib/word.js"(Me,Bn){"use strict";ts();var Hn=Cd(),zn=Ad(),ni=class extends zn{constructor(Me){super(Me),this.type="word"}};Hn.registerWalker(ni),Bn.exports=ni}}),rg=P({"node_modules/postcss-values-parser/lib/unicode-range.js"(Me,Bn){"use strict";ts();var Hn=Cd(),zn=Ad(),ni=class extends zn{constructor(Me){super(Me),this.type="unicode-range"}};Hn.registerWalker(ni),Bn.exports=ni}});function go(){throw new Error("setTimeout has not been defined")}function yo(){throw new Error("clearTimeout has not been defined")}function wo(Me){if(ng===setTimeout)return setTimeout(Me,0);if((ng===go||!ng)&&setTimeout)return ng=setTimeout,setTimeout(Me,0);try{return ng(Me,0)}catch{try{return ng.call(null,Me,0)}catch{return ng.call(this,Me,0)}}}function Gl(Me){if(ig===clearTimeout)return clearTimeout(Me);if((ig===yo||!ig)&&clearTimeout)return ig=clearTimeout,clearTimeout(Me);try{return ig(Me)}catch{try{return ig.call(null,Me)}catch{return ig.call(this,Me)}}}function Hl(){!ag||!og||(ag=!1,og.length?sg=og.concat(sg):ug=-1,sg.length&&_o())}function _o(){if(!ag){var Me=wo(Hl);ag=!0;for(var Bn=sg.length;Bn;){for(og=sg,sg=[];++ug1)for(var Hn=1;HnMt,debuglog:()=>Oo,default:()=>jg,deprecate:()=>Rt,format:()=>wr,inherits:()=>Ng,inspect:()=>ye,isArray:()=>Ct,isBoolean:()=>_r,isBuffer:()=>Ao,isDate:()=>gr,isError:()=>He,isFunction:()=>Je,isNull:()=>Ke,isNullOrUndefined:()=>To,isNumber:()=>Nt,isObject:()=>je,isPrimitive:()=>qo,isRegExp:()=>Ge,isString:()=>Qe,isSymbol:()=>Eo,isUndefined:()=>ge,log:()=>Po});function wr(Me){if(!Qe(Me)){for(var Bn=[],Hn=0;Hn=ni)return Me;switch(Me){case"%s":return String(zn[Hn++]);case"%d":return Number(zn[Hn++]);case"%j":try{return JSON.stringify(zn[Hn++])}catch{return"[Circular]"}default:return Me}})),ts=zn[Hn];Hn=3&&(Hn.depth=arguments[2]),arguments.length>=4&&(Hn.colors=arguments[3]),_r(Bn)?Hn.showHidden=Bn:Bn&&Mt(Hn,Bn),ge(Hn.showHidden)&&(Hn.showHidden=!1),ge(Hn.depth)&&(Hn.depth=2),ge(Hn.colors)&&(Hn.colors=!1),ge(Hn.customInspect)&&(Hn.customInspect=!0),Hn.colors&&(Hn.stylize=nf),mr(Hn,Me,Hn.depth)}function nf(Me,Bn){var Hn=ye.styles[Bn];return Hn?"["+ye.colors[Hn][0]+"m"+Me+"["+ye.colors[Hn][1]+"m":Me}function sf(Me,Bn){return Me}function of(Me){var Bn={};return Me.forEach((function(Me,Hn){Bn[Me]=!0})),Bn}function mr(Me,Bn,Hn){if(Me.customInspect&&Bn&&Je(Bn.inspect)&&Bn.inspect!==ye&&!(Bn.constructor&&Bn.constructor.prototype===Bn)){var zn=Bn.inspect(Hn,Me);return Qe(zn)||(zn=mr(Me,zn,Hn)),zn}var ni=af(Me,Bn);if(ni)return ni;var Ci=Object.keys(Bn),ts=of(Ci);if(Me.showHidden&&(Ci=Object.getOwnPropertyNames(Bn)),He(Bn)&&(Ci.indexOf("message")>=0||Ci.indexOf("description")>=0))return ht(Bn);if(Ci.length===0){if(Je(Bn)){var Ps=Bn.name?": "+Bn.name:"";return Me.stylize("[Function"+Ps+"]","special")}if(Ge(Bn))return Me.stylize(RegExp.prototype.toString.call(Bn),"regexp");if(gr(Bn))return Me.stylize(Date.prototype.toString.call(Bn),"date");if(He(Bn))return ht(Bn)}var aa="",oa=!1,ca=["{","}"];if(Ct(Bn)&&(oa=!0,ca=["[","]"]),Je(Bn)){var _a=Bn.name?": "+Bn.name:"";aa=" [Function"+_a+"]"}if(Ge(Bn)&&(aa=" "+RegExp.prototype.toString.call(Bn)),gr(Bn)&&(aa=" "+Date.prototype.toUTCString.call(Bn)),He(Bn)&&(aa=" "+ht(Bn)),Ci.length===0&&(!oa||Bn.length==0))return ca[0]+aa+ca[1];if(Hn<0)return Ge(Bn)?Me.stylize(RegExp.prototype.toString.call(Bn),"regexp"):Me.stylize("[Object]","special");Me.seen.push(Bn);var xa;return oa?xa=uf(Me,Bn,Hn,ts,Ci):xa=Ci.map((function(zn){return xt(Me,Bn,Hn,ts,zn,oa)})),Me.seen.pop(),cf(xa,aa,ca)}function af(Me,Bn){if(ge(Bn))return Me.stylize("undefined","undefined");if(Qe(Bn)){var Hn="'"+JSON.stringify(Bn).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return Me.stylize(Hn,"string")}if(Nt(Bn))return Me.stylize(""+Bn,"number");if(_r(Bn))return Me.stylize(""+Bn,"boolean");if(Ke(Bn))return Me.stylize("null","null")}function ht(Me){return"["+Error.prototype.toString.call(Me)+"]"}function uf(Me,Bn,Hn,zn,ni){for(var Ci=[],ts=0,Ps=Bn.length;ts-1&&(Ci?Ps=Ps.split(`\n`).map((function(Me){return" "+Me})).join(`\n`).substr(2):Ps=`\n`+Ps.split(`\n`).map((function(Me){return" "+Me})).join(`\n`))):Ps=Me.stylize("[Circular]","special")),ge(ts)){if(Ci&&ni.match(/^\d+$/))return Ps;ts=JSON.stringify(""+ni),ts.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(ts=ts.substr(1,ts.length-2),ts=Me.stylize(ts,"name")):(ts=ts.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),ts=Me.stylize(ts,"string"))}return ts+": "+Ps}function cf(Me,Bn,Hn){var zn=0,ni=Me.reduce((function(Me,Bn){return zn++,Bn.indexOf(`\n`)>=0&&zn++,Me+Bn.replace(/\u001b\[\d\d?m/g,"").length+1}),0);return ni>60?Hn[0]+(Bn===""?"":Bn+`\n `)+" "+Me.join(`,\n `)+" "+Hn[1]:Hn[0]+Bn+" "+Me.join(", ")+" "+Hn[1]}function Ct(Me){return Array.isArray(Me)}function _r(Me){return typeof Me=="boolean"}function Ke(Me){return Me===null}function To(Me){return Me==null}function Nt(Me){return typeof Me=="number"}function Qe(Me){return typeof Me=="string"}function Eo(Me){return typeof Me=="symbol"}function ge(Me){return Me===void 0}function Ge(Me){return je(Me)&&jt(Me)==="[object RegExp]"}function je(Me){return typeof Me=="object"&&Me!==null}function gr(Me){return je(Me)&&jt(Me)==="[object Date]"}function He(Me){return je(Me)&&(jt(Me)==="[object Error]"||Me instanceof Error)}function Je(Me){return typeof Me=="function"}function qo(Me){return Me===null||typeof Me=="boolean"||typeof Me=="number"||typeof Me=="string"||typeof Me=="symbol"||typeof Me>"u"}function Ao(Me){return Buffer.isBuffer(Me)}function jt(Me){return Object.prototype.toString.call(Me)}function dt(Me){return Me<10?"0"+Me.toString(10):Me.toString(10)}function lf(){var Me=new Date,Bn=[dt(Me.getHours()),dt(Me.getMinutes()),dt(Me.getSeconds())].join(":");return[Me.getDate(),Mg[Me.getMonth()],Bn].join(" ")}function Po(){console.log("%s - %s",lf(),wr.apply(null,arguments))}function Mt(Me,Bn){if(!Bn||!je(Bn))return Me;for(var Hn=Object.keys(Bn),zn=Hn.length;zn--;)Me[Hn[zn]]=Bn[Hn[zn]];return Me}function Io(Me,Bn){return Object.prototype.hasOwnProperty.call(Me,Bn)}var Pg,Og,Lg,Mg,jg,Ug=Le({"node-modules-polyfills:util"(){ts(),Tg(),Qg(),Pg=/%[sdj%]/g,Og={},ye.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},ye.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},Mg=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],jg={inherits:Ng,_extend:Mt,log:Po,isBuffer:Ao,isPrimitive:qo,isFunction:Je,isError:He,isDate:gr,isObject:je,isRegExp:Ge,isUndefined:ge,isSymbol:Eo,isString:Qe,isNumber:Nt,isNullOrUndefined:To,isNull:Ke,isBoolean:_r,isArray:Ct,inspect:ye,deprecate:Rt,format:wr,debuglog:Oo}}}),Gg=P({"node-modules-polyfills-commonjs:util"(Me,Bn){ts();var Hn=(Ug(),Pt(Rg));if(Hn&&Hn.default){Bn.exports=Hn.default;for(let Me in Hn)Bn.exports[Me]=Hn[Me]}else Hn&&(Bn.exports=Hn)}}),Vg=P({"node_modules/postcss-values-parser/lib/errors/TokenizeError.js"(Me,Bn){"use strict";ts();var Hn=class extends Error{constructor(Me){super(Me),this.name=this.constructor.name,this.message=Me||"An error ocurred while tokzenizing.",typeof Error.captureStackTrace=="function"?Error.captureStackTrace(this,this.constructor):this.stack=new Error(Me).stack}};Bn.exports=Hn}}),Hg=P({"node_modules/postcss-values-parser/lib/tokenize.js"(Me,Bn){"use strict";ts();var Hn="{".charCodeAt(0),zn="}".charCodeAt(0),ni="(".charCodeAt(0),Ci=")".charCodeAt(0),Ps="'".charCodeAt(0),aa='"'.charCodeAt(0),oa="\\".charCodeAt(0),ca="/".charCodeAt(0),_a=".".charCodeAt(0),xa=",".charCodeAt(0),Ga=":".charCodeAt(0),Ha="*".charCodeAt(0),so="-".charCodeAt(0),oo="+".charCodeAt(0),Jo="#".charCodeAt(0),tc=`\n`.charCodeAt(0),dc=" ".charCodeAt(0),Fc="\f".charCodeAt(0),Jc="\t".charCodeAt(0),Dp="\r".charCodeAt(0),kp="@".charCodeAt(0),Qp="e".charCodeAt(0),Up="E".charCodeAt(0),Vp="0".charCodeAt(0),qp="9".charCodeAt(0),Jp="u".charCodeAt(0),Wp="U".charCodeAt(0),zp=/[ \n\t\r\{\(\)'"\\;,/]/g,Qf=/[ \n\t\r\(\)\{\}\*:;@!&'"\+\|~>,\[\]\\]|\/(?=\*)/g,Yf=/[ \n\t\r\(\)\{\}\*:;@!&'"\-\+\|~>,\[\]\\]|\//g,Kf=/^[a-z0-9]/i,Xf=/^[a-f0-9?\-]/i,Ad=Gg(),Cd=Vg();Bn.exports=function(Me,Bn){Bn=Bn||{};let ts=[],wd=Me.valueOf(),Sd=wd.length,xd=-1,Td=1,Pd=0,Qh=0,Zh=null,sA,oA,hA,eg,tg,rg,ng,ig,sg,ag,og,ug;function ce(Me){let Bn=Ad.format("Unclosed %s at line: %d, column: %d, token: %d",Me,Td,Pd-xd,Pd);throw new Cd(Bn)}function fe(){let Me=Ad.format("Syntax error at line: %d, column: %d, token: %d",Td,Pd-xd,Pd);throw new Cd(Me)}for(;Pd0&&ts[ts.length-1][0]==="word"&&ts[ts.length-1][1]==="url",ts.push(["(","(",Td,Pd-xd,Td,oA-xd,Pd]);break;case Ci:Qh--,Zh=Zh&&Qh>0,ts.push([")",")",Td,Pd-xd,Td,oA-xd,Pd]);break;case Ps:case aa:hA=sA===Ps?"'":'"',oA=Pd;do{for(ag=!1,oA=wd.indexOf(hA,oA+1),oA===-1&&ce("quote",hA),og=oA;wd.charCodeAt(og-1)===oa;)og-=1,ag=!ag}while(ag);ts.push(["string",wd.slice(Pd,oA+1),Td,Pd-xd,Td,oA-xd,Pd]),Pd=oA;break;case kp:zp.lastIndex=Pd+1,zp.test(wd),zp.lastIndex===0?oA=wd.length-1:oA=zp.lastIndex-2,ts.push(["atword",wd.slice(Pd,oA+1),Td,Pd-xd,Td,oA-xd,Pd]),Pd=oA;break;case oa:oA=Pd,sA=wd.charCodeAt(oA+1),ng&&sA!==ca&&sA!==dc&&sA!==tc&&sA!==Jc&&sA!==Dp&&sA!==Fc&&(oA+=1),ts.push(["word",wd.slice(Pd,oA+1),Td,Pd-xd,Td,oA-xd,Pd]),Pd=oA;break;case oo:case so:case Ha:oA=Pd+1,ug=wd.slice(Pd+1,oA+1);let Me=wd.slice(Pd-1,Pd);if(sA===so&&ug.charCodeAt(0)===so){oA++,ts.push(["word",wd.slice(Pd,oA),Td,Pd-xd,Td,oA-xd,Pd]),Pd=oA-1;break}ts.push(["operator",wd.slice(Pd,oA),Td,Pd-xd,Td,oA-xd,Pd]),Pd=oA-1;break;default:if(sA===ca&&(wd.charCodeAt(Pd+1)===Ha||Bn.loose&&!Zh&&wd.charCodeAt(Pd+1)===ca)){if(wd.charCodeAt(Pd+1)===Ha)oA=wd.indexOf("*/",Pd+2)+1,oA===0&&ce("comment","*/");else{let Me=wd.indexOf(`\n`,Pd+2);oA=Me!==-1?Me-1:Sd}rg=wd.slice(Pd,oA+1),eg=rg.split(`\n`),tg=eg.length-1,tg>0?(ig=Td+tg,sg=oA-eg[tg].length):(ig=Td,sg=xd),ts.push(["comment",rg,Td,Pd-xd,ig,oA-sg,Pd]),xd=sg,Td=ig,Pd=oA}else if(sA===Jo&&!Kf.test(wd.slice(Pd+1,Pd+2)))oA=Pd+1,ts.push(["#",wd.slice(Pd,oA),Td,Pd-xd,Td,oA-xd,Pd]),Pd=oA-1;else if((sA===Jp||sA===Wp)&&wd.charCodeAt(Pd+1)===oo){oA=Pd+2;do{oA+=1,sA=wd.charCodeAt(oA)}while(oA=Vp&&sA<=qp&&(Me=Yf),Me.lastIndex=Pd+1,Me.test(wd),Me.lastIndex===0?oA=wd.length-1:oA=Me.lastIndex-2,Me===Yf||sA===_a){let Me=wd.charCodeAt(oA),Bn=wd.charCodeAt(oA+1),Hn=wd.charCodeAt(oA+2);(Me===Qp||Me===Up)&&(Bn===so||Bn===oo)&&Hn>=Vp&&Hn<=qp&&(Yf.lastIndex=oA+2,Yf.test(wd),Yf.lastIndex===0?oA=wd.length-1:oA=Yf.lastIndex-2)}ts.push(["word",wd.slice(Pd,oA+1),Td,Pd-xd,Td,oA-xd,Pd]),Pd=oA}break}Pd++}return ts}}}),qg=P({"node_modules/flatten/index.js"(Me,Bn){ts(),Bn.exports=function(Me,Bn){if(Bn=typeof Bn=="number"?Bn:1/0,!Bn)return Array.isArray(Me)?Me.map((function(Me){return Me})):Me;return h(Me,1);function h(Me,Hn){return Me.reduce((function(Me,zn){return Array.isArray(zn)&&HnMe-Bn))}Bn.exports=class{constructor(Me,Bn){let ni={loose:!1};this.cache=[],this.input=Me,this.options=Object.assign({},ni,Bn),this.position=0,this.unbalanced=0,this.root=new Hn;let Ci=new zn;this.root.append(Ci),this.current=Ci,this.tokens=oo(Me,this.options)}parse(){return this.loop()}colon(){let Me=this.currToken;this.newNode(new Ci({value:Me[1],source:{start:{line:Me[2],column:Me[3]},end:{line:Me[4],column:Me[5]}},sourceIndex:Me[6]})),this.position++}comma(){let Me=this.currToken;this.newNode(new Ps({value:Me[1],source:{start:{line:Me[2],column:Me[3]},end:{line:Me[4],column:Me[5]}},sourceIndex:Me[6]})),this.position++}comment(){let Me=!1,Bn=this.currToken[1].replace(/\/\*|\*\//g,""),Hn;this.options.loose&&Bn.startsWith("//")&&(Bn=Bn.substring(2),Me=!0),Hn=new aa({value:Bn,inline:Me,source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[4],column:this.currToken[5]}},sourceIndex:this.currToken[6]}),this.newNode(Hn),this.position++}error(Me,Bn){throw new Fc(Me+` at line: ${Bn[2]}, column ${Bn[3]}`)}loop(){for(;this.position0&&(this.current.type==="func"&&this.current.value==="calc"?this.prevToken[0]!=="space"&&this.prevToken[0]!=="("?this.error("Syntax Error",this.currToken):this.nextToken[0]!=="space"&&this.nextToken[0]!=="word"?this.error("Syntax Error",this.currToken):this.nextToken[0]==="word"&&this.current.last.type!=="operator"&&this.current.last.value!=="("&&this.error("Syntax Error",this.currToken):(this.nextToken[0]==="space"||this.nextToken[0]==="operator"||this.prevToken[0]==="operator")&&this.error("Syntax Error",this.currToken)),this.options.loose){if((!this.current.nodes.length||this.current.last&&this.current.last.type==="operator")&&this.nextToken[0]==="word")return this.word()}else if(this.nextToken[0]==="word")return this.word()}return Bn=new _a({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),this.position++,this.newNode(Bn)}parseTokens(){switch(this.currToken[0]){case"space":this.space();break;case"colon":this.colon();break;case"comma":this.comma();break;case"comment":this.comment();break;case"(":this.parenOpen();break;case")":this.parenClose();break;case"atword":case"word":this.word();break;case"operator":this.operator();break;case"string":this.string();break;case"unicoderange":this.unicodeRange();break;default:this.word();break}}parenOpen(){let Me=1,Bn=this.position+1,Hn=this.currToken,zn;for(;Bn=this.tokens.length-1&&!this.current.unbalanced)&&(this.current.unbalanced--,this.current.unbalanced<0&&this.error("Expected opening parenthesis",Me),!this.current.unbalanced&&this.cache.length&&(this.current=this.cache.pop()))}space(){let Me=this.currToken;this.position===this.tokens.length-1||this.nextToken[0]===","||this.nextToken[0]===")"?(this.current.last.raws.after+=Me[1],this.position++):(this.spaces=Me[1],this.position++)}unicodeRange(){let Me=this.currToken;this.newNode(new so({value:Me[1],source:{start:{line:Me[2],column:Me[3]},end:{line:Me[4],column:Me[5]}},sourceIndex:Me[6]})),this.position++}splitWord(){let Me=this.nextToken,Bn=this.currToken[1],Hn=/^[\+\-]?((\d+(\.\d*)?)|(\.\d+))([eE][\+\-]?\d+)?/,zn=/^(?!\#([a-z0-9]+))[\#\{\}]/gi,Ci,ts;if(!zn.test(Bn))for(;Me&&Me[0]==="word";){this.position++;let Hn=this.currToken[1];Bn+=Hn,Me=this.nextToken}Ci=tc(Bn,"@"),ts=_(dc(Jo([[0],Ci]))),ts.forEach(((zn,Ps)=>{let aa=ts[Ps+1]||Bn.length,_a=Bn.slice(zn,aa),xa;if(~Ci.indexOf(zn))xa=new ni({value:_a.slice(1),source:{start:{line:this.currToken[2],column:this.currToken[3]+zn},end:{line:this.currToken[4],column:this.currToken[3]+(aa-1)}},sourceIndex:this.currToken[6]+ts[Ps]});else if(Hn.test(this.currToken[1])){let Me=_a.replace(Hn,"");xa=new ca({value:_a.replace(Me,""),source:{start:{line:this.currToken[2],column:this.currToken[3]+zn},end:{line:this.currToken[4],column:this.currToken[3]+(aa-1)}},sourceIndex:this.currToken[6]+ts[Ps],unit:Me})}else xa=new(Me&&Me[0]==="("?oa:Ha)({value:_a,source:{start:{line:this.currToken[2],column:this.currToken[3]+zn},end:{line:this.currToken[4],column:this.currToken[3]+(aa-1)}},sourceIndex:this.currToken[6]+ts[Ps]}),xa.type==="word"?(xa.isHex=/^#(.+)/.test(_a),xa.isColor=/^#([0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(_a)):this.cache.push(this.current);this.newNode(xa)})),this.position++}string(){let Me=this.currToken,Bn=this.currToken[1],Hn=/^(\"|\')/,zn=Hn.test(Bn),ni="",Ci;zn&&(ni=Bn.match(Hn)[0],Bn=Bn.slice(1,Bn.length-1)),Ci=new Ga({value:Bn,source:{start:{line:Me[2],column:Me[3]},end:{line:Me[4],column:Me[5]}},sourceIndex:Me[6],quoted:zn}),Ci.raws.quote=ni,this.newNode(Ci),this.position++}word(){return this.splitWord()}newNode(Me){return this.spaces&&(Me.raws.before+=this.spaces,this.spaces=""),this.current.append(Me)}get currToken(){return this.tokens[this.position]}get nextToken(){return this.tokens[this.position+1]}get prevToken(){return this.tokens[this.position-1]}}}}),Kg=P({"node_modules/postcss-values-parser/lib/index.js"(Me,Bn){"use strict";ts();var Hn=Wg(),zn=xd(),ni=Td(),Ci=Pd(),Ps=Qh(),aa=Zh(),oa=sA(),ca=oA(),_a=hA(),xa=eg(),Ga=rg(),Ha=Sd(),so=tg(),g=function(Me,Bn){return new Hn(Me,Bn)};g.atword=function(Me){return new zn(Me)},g.colon=function(Me){return new ni(Object.assign({value:":"},Me))},g.comma=function(Me){return new Ci(Object.assign({value:","},Me))},g.comment=function(Me){return new Ps(Me)},g.func=function(Me){return new aa(Me)},g.number=function(Me){return new oa(Me)},g.operator=function(Me){return new ca(Me)},g.paren=function(Me){return new _a(Object.assign({value:"("},Me))},g.string=function(Me){return new xa(Object.assign({quote:"'"},Me))},g.value=function(Me){return new Ha(Me)},g.word=function(Me){return new so(Me)},g.unicodeRange=function(Me){return new Ga(Me)},Bn.exports=g}}),zg=P({"node_modules/postcss-selector-parser/dist/selectors/node.js"(Me,Bn){"use strict";ts(),Me.__esModule=!0;var Hn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Me){return typeof Me}:function(Me){return Me&&typeof Symbol=="function"&&Me.constructor===Symbol&&Me!==Symbol.prototype?"symbol":typeof Me};function u(Me,Bn){if(!(Me instanceof Bn))throw new TypeError("Cannot call a class as a function")}var zn=function l(Me,Bn){if((typeof Me>"u"?"undefined":Hn(Me))!=="object")return Me;var zn=new Me.constructor;for(var ni in Me)if(Me.hasOwnProperty(ni)){var Ci=Me[ni],ts=typeof Ci>"u"?"undefined":Hn(Ci);ni==="parent"&&ts==="object"?Bn&&(zn[ni]=Bn):Ci instanceof Array?zn[ni]=Ci.map((function(Me){return l(Me,zn)})):zn[ni]=l(Ci,zn)}return zn},ni=function(){function l(){var Me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};u(this,l);for(var Bn in Me)this[Bn]=Me[Bn];var Hn=Me.spaces;Hn=Hn===void 0?{}:Hn;var zn=Hn.before,ni=zn===void 0?"":zn,Ci=Hn.after,ts=Ci===void 0?"":Ci;this.spaces={before:ni,after:ts}}return l.prototype.remove=function(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this},l.prototype.replaceWith=function(){if(this.parent){for(var Me in arguments)this.parent.insertBefore(this,arguments[Me]);this.remove()}return this},l.prototype.next=function(){return this.parent.at(this.parent.index(this)+1)},l.prototype.prev=function(){return this.parent.at(this.parent.index(this)-1)},l.prototype.clone=function(){var Me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Bn=zn(this);for(var Hn in Me)Bn[Hn]=Me[Hn];return Bn},l.prototype.toString=function(){return[this.spaces.before,String(this.value),this.spaces.after].join("")},l}();Me.default=ni,Bn.exports=Me.default}}),Xg=P({"node_modules/postcss-selector-parser/dist/selectors/types.js"(Me){"use strict";ts(),Me.__esModule=!0;var Bn=Me.TAG="tag",Hn=Me.STRING="string",zn=Me.SELECTOR="selector",ni=Me.ROOT="root",Ci=Me.PSEUDO="pseudo",Ps=Me.NESTING="nesting",aa=Me.ID="id",oa=Me.COMMENT="comment",ca=Me.COMBINATOR="combinator",_a=Me.CLASS="class",xa=Me.ATTRIBUTE="attribute",Ga=Me.UNIVERSAL="universal"}}),Zg=P({"node_modules/postcss-selector-parser/dist/selectors/container.js"(Me,Bn){"use strict";ts(),Me.__esModule=!0;var Hn=function(){function s(Me,Bn){for(var Hn=0;Hn=Me&&(this.indexes[Hn]=Bn-1);return this},f.prototype.removeAll=function(){for(var Me=this.nodes,Bn=Array.isArray(Me),Hn=0,Me=Bn?Me:Me[Symbol.iterator]();;){var zn;if(Bn){if(Hn>=Me.length)break;zn=Me[Hn++]}else{if(Hn=Me.next(),Hn.done)break;zn=Hn.value}var ni=zn;ni.parent=void 0}return this.nodes=[],this},f.prototype.empty=function(){return this.removeAll()},f.prototype.insertAfter=function(Me,Bn){var Hn=this.index(Me);this.nodes.splice(Hn+1,0,Bn);var zn=void 0;for(var ni in this.indexes)zn=this.indexes[ni],Hn<=zn&&(this.indexes[ni]=zn+this.nodes.length);return this},f.prototype.insertBefore=function(Me,Bn){var Hn=this.index(Me);this.nodes.splice(Hn,0,Bn);var zn=void 0;for(var ni in this.indexes)zn=this.indexes[ni],Hn<=zn&&(this.indexes[ni]=zn+this.nodes.length);return this},f.prototype.each=function(Me){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach++;var Bn=this.lastEach;if(this.indexes[Bn]=0,!!this.length){for(var Hn=void 0,zn=void 0;this.indexes[Bn],\[\]\\]|\/(?=\*)/g;function H(Me){for(var Bn=[],ts=Me.css.valueOf(),Jp=void 0,Wp=void 0,zp=void 0,Qf=void 0,Yf=void 0,Kf=void 0,Xf=void 0,Ad=void 0,Cd=void 0,wd=void 0,Sd=void 0,xd=ts.length,Td=-1,Pd=1,Qh=0,L=function(Bn,Hn){if(Me.safe)ts+=Hn,Wp=ts.length-1;else throw Me.error("Unclosed "+Bn,Pd,Qh-Td,Qh)};Qh0?(Ad=Pd+Yf,Cd=Wp-Qf[Yf].length):(Ad=Pd,Cd=Td),Bn.push(["comment",Kf,Pd,Qh-Td,Ad,Wp-Cd,Qh]),Td=Cd,Pd=Ad,Qh=Wp):(qp.lastIndex=Qh+1,qp.test(ts),qp.lastIndex===0?Wp=ts.length-1:Wp=qp.lastIndex-2,Bn.push(["word",ts.slice(Qh,Wp+1),Pd,Qh-Td,Pd,Wp-Td,Qh]),Qh=Wp);break}Qh++}return Bn}Bn.exports=Me.default}}),Ev=P({"node_modules/postcss-selector-parser/dist/parser.js"(Me,Bn){"use strict";ts(),Me.__esModule=!0;var Hn=function(){function E(Me,Bn){for(var Hn=0;Hn1?(ni[0]===""&&(ni[0]=!0),Ci.attribute=this.parseValue(ni[2]),Ci.namespace=this.parseNamespace(ni[0])):Ci.attribute=this.parseValue(zn[0]),Bn=new qp.default(Ci),zn[2]){var ts=zn[2].split(/(\s+i\s*?)$/),Ps=ts[0].trim();Bn.value=this.lossy?Ps:ts[0],ts[1]&&(Bn.insensitive=!0,this.lossy||(Bn.raws.insensitive=ts[1])),Bn.quoted=Ps[0]==="'"||Ps[0]==='"',Bn.raws.unquoted=Bn.quoted?Ps.slice(1,-1):Ps}this.newNode(Bn),this.position++},E.prototype.combinator=function(){if(this.currToken[1]==="|")return this.namespace();for(var Me=new Qf.default({value:"",source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]});this.position1&&Me.nextToken&&Me.nextToken[0]==="("&&Me.error("Misplaced parenthesis.")}))}else this.error('Unexpected "'+this.currToken[0]+'" found.')},E.prototype.space=function(){var Me=this.currToken;this.position===0||this.prevToken[0]===","||this.prevToken[0]==="("?(this.spaces=this.parseSpace(Me[1]),this.position++):this.position===this.tokens.length-1||this.nextToken[0]===","||this.nextToken[0]===")"?(this.current.last.spaces.after=this.parseSpace(Me[1]),this.position++):this.combinator()},E.prototype.string=function(){var Me=this.currToken;this.newNode(new kp.default({value:this.currToken[1],source:{start:{line:Me[2],column:Me[3]},end:{line:Me[4],column:Me[5]}},sourceIndex:Me[6]})),this.position++},E.prototype.universal=function(Me){var Bn=this.nextToken;if(Bn&&Bn[1]==="|")return this.position++,this.namespace();this.newNode(new Wp.default({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),Me),this.position++},E.prototype.splitWord=function(Me,Bn){for(var Hn=this,zn=this.nextToken,Ci=this.currToken[1];zn&&zn[0]==="word";){this.position++;var ts=this.currToken[1];if(Ci+=ts,ts.lastIndexOf("\\")===ts.length-1){var aa=this.nextToken;aa&&aa[0]==="space"&&(Ci+=this.parseSpace(aa[1]," "),this.position++)}zn=this.nextToken}var ca=(0,Ps.default)(Ci,"."),_a=(0,Ps.default)(Ci,"#"),xa=(0,Ps.default)(Ci,"#{");xa.length&&(_a=_a.filter((function(Me){return!~xa.indexOf(Me)})));var Ga=(0,Ad.default)((0,oa.default)((0,ni.default)([[0],ca,_a])));Ga.forEach((function(zn,ni){var ts=Ga[ni+1]||Ci.length,Ps=Ci.slice(zn,ts);if(ni===0&&Bn)return Bn.call(Hn,Ps,Ga.length);var aa=void 0;~ca.indexOf(zn)?aa=new so.default({value:Ps.slice(1),source:{start:{line:Hn.currToken[2],column:Hn.currToken[3]+zn},end:{line:Hn.currToken[4],column:Hn.currToken[3]+(ts-1)}},sourceIndex:Hn.currToken[6]+Ga[ni]}):~_a.indexOf(zn)?aa=new dc.default({value:Ps.slice(1),source:{start:{line:Hn.currToken[2],column:Hn.currToken[3]+zn},end:{line:Hn.currToken[4],column:Hn.currToken[3]+(ts-1)}},sourceIndex:Hn.currToken[6]+Ga[ni]}):aa=new Jc.default({value:Ps,source:{start:{line:Hn.currToken[2],column:Hn.currToken[3]+zn},end:{line:Hn.currToken[4],column:Hn.currToken[3]+(ts-1)}},sourceIndex:Hn.currToken[6]+Ga[ni]}),Hn.newNode(aa,Me)})),this.position++},E.prototype.word=function(Me){var Bn=this.nextToken;return Bn&&Bn[1]==="|"?(this.position++,this.namespace()):this.splitWord(Me)},E.prototype.loop=function(){for(;this.position1&&arguments[1]!==void 0?arguments[1]:{},Hn=new ni.default({css:Me,error:function(Me){throw new Error(Me)},options:Bn});return this.res=Hn,this.func(Hn),this},Hn(m,[{key:"result",get:function(){return String(this.res)}}]),m}();Me.default=Ci,Bn.exports=Me.default}}),Cv=P({"node_modules/postcss-selector-parser/dist/index.js"(Me,Bn){"use strict";ts(),Me.__esModule=!0;var Hn=bv(),zn=O(Hn),ni=Ty(),Ci=O(ni),Ps=ty(),aa=O(Ps),oa=Vy(),ca=O(oa),_a=ry(),xa=O(_a),Ga=ny(),Ha=O(Ga),so=Hy(),oo=O(so),Jo=fy(),tc=O(Jo),dc=f_(),Fc=O(dc),Jc=Z_(),Dp=O(Jc),kp=py(),Qp=O(kp),Up=iy(),Vp=O(Up),qp=Gy(),Jp=O(qp),Wp=Xg(),zp=B(Wp);function B(Me){if(Me&&Me.__esModule)return Me;var Bn={};if(Me!=null)for(var Hn in Me)Object.prototype.hasOwnProperty.call(Me,Hn)&&(Bn[Hn]=Me[Hn]);return Bn.default=Me,Bn}function O(Me){return Me&&Me.__esModule?Me:{default:Me}}var j=function(Me){return new zn.default(Me)};j.attribute=function(Me){return new Ci.default(Me)},j.className=function(Me){return new aa.default(Me)},j.combinator=function(Me){return new ca.default(Me)},j.comment=function(Me){return new xa.default(Me)},j.id=function(Me){return new Ha.default(Me)},j.nesting=function(Me){return new oo.default(Me)},j.pseudo=function(Me){return new tc.default(Me)},j.root=function(Me){return new Fc.default(Me)},j.selector=function(Me){return new Dp.default(Me)},j.string=function(Me){return new Qp.default(Me)},j.tag=function(Me){return new Vp.default(Me)},j.universal=function(Me){return new Jp.default(Me)},Object.keys(zp).forEach((function(Me){Me!=="__esModule"&&(j[Me]=zp[Me])})),Me.default=j,Bn.exports=Me.default}}),wv=P({"node_modules/postcss-media-query-parser/dist/nodes/Node.js"(Me){"use strict";ts(),Object.defineProperty(Me,"__esModule",{value:!0});function n(Me){this.after=Me.after,this.before=Me.before,this.type=Me.type,this.value=Me.value,this.sourceIndex=Me.sourceIndex}Me.default=n}}),Sv=P({"node_modules/postcss-media-query-parser/dist/nodes/Container.js"(Me){"use strict";ts(),Object.defineProperty(Me,"__esModule",{value:!0});var Bn=wv(),Hn=u(Bn);function u(Me){return Me&&Me.__esModule?Me:{default:Me}}function o(Me){var Bn=this;this.constructor(Me),this.nodes=Me.nodes,this.after===void 0&&(this.after=this.nodes.length>0?this.nodes[this.nodes.length-1].after:""),this.before===void 0&&(this.before=this.nodes.length>0?this.nodes[0].before:""),this.sourceIndex===void 0&&(this.sourceIndex=this.before.length),this.nodes.forEach((function(Me){Me.parent=Bn}))}o.prototype=Object.create(Hn.default.prototype),o.constructor=Hn.default,o.prototype.walk=function(Me,Bn){for(var Hn=typeof Me=="string"||Me instanceof RegExp,zn=Hn?Bn:Me,ni=typeof Me=="string"?new RegExp(Me):Me,Ci=0;Ci0&&(zn[ca-1].after=Ps.before),Ps.type===void 0){if(ca>0){if(zn[ca-1].type==="media-feature-expression"){Ps.type="keyword";continue}if(zn[ca-1].value==="not"||zn[ca-1].value==="only"){Ps.type="media-type";continue}if(zn[ca-1].value==="and"){Ps.type="media-feature-expression";continue}zn[ca-1].type==="media-type"&&(zn[ca+1]?Ps.type=zn[ca+1].type==="media-feature-expression"?"keyword":"media-feature-expression":Ps.type="media-feature-expression")}if(ca===0){if(!zn[ca+1]){Ps.type="media-type";continue}if(zn[ca+1]&&(zn[ca+1].type==="media-feature-expression"||zn[ca+1].type==="keyword")){Ps.type="media-type";continue}if(zn[ca+2]){if(zn[ca+2].type==="media-feature-expression"){Ps.type="media-type",zn[ca+1].type="keyword";continue}if(zn[ca+2].type==="keyword"){Ps.type="keyword",zn[ca+1].type="media-type";continue}}if(zn[ca+3]&&zn[ca+3].type==="media-feature-expression"){Ps.type="keyword",zn[ca+1].type="media-type",zn[ca+2].type="keyword";continue}}}return zn}function m(Me){var Bn=[],zn=0,Ci=0,ts=/^(\s*)url\s*\(/.exec(Me);if(ts!==null){for(var Ps=ts[0].length,aa=1;aa>0;){var oa=Me[Ps];oa==="("&&aa++,oa===")"&&aa--,Ps++}Bn.unshift(new Hn.default({type:"url",value:Me.substring(0,Ps).trim(),sourceIndex:ts[1].length,before:ts[1],after:/^(\s*)/.exec(Me.substring(Ps))[1]})),zn=Ps}for(var ca=zn;cana,default:()=>Ov,delimiter:()=>Nv,dirname:()=>ta,extname:()=>ia,isAbsolute:()=>zt,join:()=>ea,normalize:()=>Lt,relative:()=>ra,resolve:()=>yr,sep:()=>Fv});function Zo(Me,Bn){for(var Hn=0,zn=Me.length-1;zn>=0;zn--){var ni=Me[zn];ni==="."?Me.splice(zn,1):ni===".."?(Me.splice(zn,1),Hn++):Hn&&(Me.splice(zn,1),Hn--)}if(Bn)for(;Hn--;Hn)Me.unshift("..");return Me}function yr(){for(var Me="",Bn=!1,Hn=arguments.length-1;Hn>=-1&&!Bn;Hn--){var zn=Hn>=0?arguments[Hn]:"/";if(typeof zn!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!zn)continue;Me=zn+"/"+Me,Bn=zn.charAt(0)==="/"}return Me=Zo(Bt(Me.split("/"),(function(Me){return!!Me})),!Bn).join("/"),(Bn?"/":"")+Me||"."}function Lt(Me){var Bn=zt(Me),Hn=Mv(Me,-1)==="/";return Me=Zo(Bt(Me.split("/"),(function(Me){return!!Me})),!Bn).join("/"),!Me&&!Bn&&(Me="."),Me&&Hn&&(Me+="/"),(Bn?"/":"")+Me}function zt(Me){return Me.charAt(0)==="/"}function ea(){var Me=Array.prototype.slice.call(arguments,0);return Lt(Bt(Me,(function(Me,Bn){if(typeof Me!="string")throw new TypeError("Arguments to path.join must be strings");return Me})).join("/"))}function ra(Me,Bn){Me=yr(Me).substr(1),Bn=yr(Bn).substr(1);function i(Me){for(var Bn=0;Bn=0&&Me[Hn]==="";Hn--);return Bn>Hn?[]:Me.slice(Bn,Hn-Bn+1)}for(var Hn=i(Me.split("/")),zn=i(Bn.split("/")),ni=Math.min(Hn.length,zn.length),Ci=ni,ts=0;ts"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch{return!1}}function t(Me){return Function.toString.call(Me).indexOf("[native code]")!==-1}function r(Me,Bn){return r=Object.setPrototypeOf||function(Me,Bn){return Me.__proto__=Bn,Me},r(Me,Bn)}function a(Me){return a=Object.setPrototypeOf?Object.getPrototypeOf:function(Me){return Me.__proto__||Object.getPrototypeOf(Me)},a(Me)}var ni=function(Me){l(v,Me);function v(Bn,Hn,zn,ni,Ci,ts){var Ps;return Ps=Me.call(this,Bn)||this,Ps.name="CssSyntaxError",Ps.reason=Bn,Ci&&(Ps.file=Ci),ni&&(Ps.source=ni),ts&&(Ps.plugin=ts),typeof Hn<"u"&&typeof zn<"u"&&(Ps.line=Hn,Ps.column=zn),Ps.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(h(Ps),v),Ps}var Bn=v.prototype;return Bn.setMessage=function(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason},Bn.showSourceCode=function(Me){var Bn=this;if(!this.source)return"";var ni=this.source;zn.default&&(typeof Me>"u"&&(Me=Hn.default.isColorSupported),Me&&(ni=(0,zn.default)(ni)));var Ci=ni.split(/\r?\n/),ts=Math.max(this.line-3,0),Ps=Math.min(this.line+2,Ci.length),aa=String(Ps).length;function $(Bn){return Me&&Hn.default.red?Hn.default.red(Hn.default.bold(Bn)):Bn}function H(Bn){return Me&&Hn.default.gray?Hn.default.gray(Bn):Bn}return Ci.slice(ts,Ps).map((function(Me,Hn){var zn=ts+1+Hn,ni=" "+(" "+zn).slice(-aa)+" | ";if(zn===Bn.line){var Ci=H(ni.replace(/\d/g," "))+Me.slice(0,Bn.column-1).replace(/[^\t]/g," ");return $(">")+H(ni)+Me+`\n `+Ci+$("^")}return" "+H(ni)+Me})).join(`\n`)},Bn.toString=function(){var Me=this.showSourceCode();return Me&&(Me=`\n\n`+Me+`\n`),this.name+": "+this.message+Me},v}(p(Error)),Ci=ni;Me.default=Ci,Bn.exports=Me.default}}),iC=P({"node_modules/postcss/lib/previous-map.js"(Me,Bn){ts(),Bn.exports=class{}}}),sC=P({"node_modules/postcss/lib/input.js"(Me,Bn){"use strict";ts(),Me.__esModule=!0,Me.default=void 0;var Hn=h(eC()),zn=h(nC()),ni=h(iC());function h(Me){return Me&&Me.__esModule?Me:{default:Me}}function l(Me,Bn){for(var Hn=0;Hn"u"||typeof Me=="object"&&!Me.toString)throw new Error("PostCSS received "+Me+" instead of CSS string");this.css=Me.toString(),this.css[0]==="\ufeff"||this.css[0]==="￾"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,Bn.from&&(/^\w+:\/\//.test(Bn.from)||Hn.default.isAbsolute(Bn.from)?this.file=Bn.from:this.file=Hn.default.resolve(Bn.from));var zn=new ni.default(this.css,Bn);if(zn.text){this.map=zn;var ts=zn.consumer().file;!this.file&&ts&&(this.file=this.mapResolve(ts))}this.file||(Ci+=1,this.id=""),this.map&&(this.map.file=this.from)}var Me=r.prototype;return Me.error=function(Me,Bn,Hn,ni){ni===void 0&&(ni={});var Ci,ts=this.origin(Bn,Hn);return ts?Ci=new zn.default(Me,ts.line,ts.column,ts.source,ts.file,ni.plugin):Ci=new zn.default(Me,Bn,Hn,this.css,this.file,ni.plugin),Ci.input={line:Bn,column:Hn,source:this.css},this.file&&(Ci.input.file=this.file),Ci},Me.origin=function(Me,Bn){if(!this.map)return!1;var Hn=this.map.consumer(),zn=Hn.originalPositionFor({line:Me,column:Bn});if(!zn.source)return!1;var ni={file:this.mapResolve(zn.source),line:zn.line,column:zn.column},Ci=Hn.sourceContentFor(zn.source);return Ci&&(ni.source=Ci),ni},Me.mapResolve=function(Me){return/^\w+:\/\//.test(Me)?Me:Hn.default.resolve(this.map.consumer().sourceRoot||".",Me)},p(r,[{key:"from",get:function(){return this.file||this.id}}]),r}(),aa=Ps;Me.default=aa,Bn.exports=Me.default}}),aC=P({"node_modules/postcss/lib/stringifier.js"(Me,Bn){"use strict";ts(),Me.__esModule=!0,Me.default=void 0;var Hn={colon:": ",indent:" ",beforeDecl:`\n`,beforeRule:`\n`,beforeOpen:" ",beforeClose:`\n`,beforeComment:`\n`,after:`\n`,emptyBody:"",commentLeft:" ",commentRight:" ",semicolon:!1};function u(Me){return Me[0].toUpperCase()+Me.slice(1)}var zn=function(){function l(Me){this.builder=Me}var Me=l.prototype;return Me.stringify=function(Me,Bn){this[Me.type](Me,Bn)},Me.root=function(Me){this.body(Me),Me.raws.after&&this.builder(Me.raws.after)},Me.comment=function(Me){var Bn=this.raw(Me,"left","commentLeft"),Hn=this.raw(Me,"right","commentRight");this.builder("/*"+Bn+Me.text+Hn+"*/",Me)},Me.decl=function(Me,Bn){var Hn=this.raw(Me,"between","colon"),zn=Me.prop+Hn+this.rawValue(Me,"value");Me.important&&(zn+=Me.raws.important||" !important"),Bn&&(zn+=";"),this.builder(zn,Me)},Me.rule=function(Me){this.block(Me,this.rawValue(Me,"selector")),Me.raws.ownSemicolon&&this.builder(Me.raws.ownSemicolon,Me,"end")},Me.atrule=function(Me,Bn){var Hn="@"+Me.name,zn=Me.params?this.rawValue(Me,"params"):"";if(typeof Me.raws.afterName<"u"?Hn+=Me.raws.afterName:zn&&(Hn+=" "),Me.nodes)this.block(Me,Hn+zn);else{var ni=(Me.raws.between||"")+(Bn?";":"");this.builder(Hn+zn+ni,Me)}},Me.body=function(Me){for(var Bn=Me.nodes.length-1;Bn>0&&Me.nodes[Bn].type==="comment";)Bn-=1;for(var Hn=this.raw(Me,"semicolon"),zn=0;zn"u"&&(ni=Hn[zn]),ts.rawCache[zn]=ni,ni},Me.rawSemicolon=function(Me){var Bn;return Me.walk((function(Me){if(Me.nodes&&Me.nodes.length&&Me.last.type==="decl"&&(Bn=Me.raws.semicolon,typeof Bn<"u"))return!1})),Bn},Me.rawEmptyBody=function(Me){var Bn;return Me.walk((function(Me){if(Me.nodes&&Me.nodes.length===0&&(Bn=Me.raws.after,typeof Bn<"u"))return!1})),Bn},Me.rawIndent=function(Me){if(Me.raws.indent)return Me.raws.indent;var Bn;return Me.walk((function(Hn){var zn=Hn.parent;if(zn&&zn!==Me&&zn.parent&&zn.parent===Me&&typeof Hn.raws.before<"u"){var ni=Hn.raws.before.split(`\n`);return Bn=ni[ni.length-1],Bn=Bn.replace(/[^\s]/g,""),!1}})),Bn},Me.rawBeforeComment=function(Me,Bn){var Hn;return Me.walkComments((function(Me){if(typeof Me.raws.before<"u")return Hn=Me.raws.before,Hn.indexOf(`\n`)!==-1&&(Hn=Hn.replace(/[^\n]+$/,"")),!1})),typeof Hn>"u"?Hn=this.raw(Bn,null,"beforeDecl"):Hn&&(Hn=Hn.replace(/[^\s]/g,"")),Hn},Me.rawBeforeDecl=function(Me,Bn){var Hn;return Me.walkDecls((function(Me){if(typeof Me.raws.before<"u")return Hn=Me.raws.before,Hn.indexOf(`\n`)!==-1&&(Hn=Hn.replace(/[^\n]+$/,"")),!1})),typeof Hn>"u"?Hn=this.raw(Bn,null,"beforeRule"):Hn&&(Hn=Hn.replace(/[^\s]/g,"")),Hn},Me.rawBeforeRule=function(Me){var Bn;return Me.walk((function(Hn){if(Hn.nodes&&(Hn.parent!==Me||Me.first!==Hn)&&typeof Hn.raws.before<"u")return Bn=Hn.raws.before,Bn.indexOf(`\n`)!==-1&&(Bn=Bn.replace(/[^\n]+$/,"")),!1})),Bn&&(Bn=Bn.replace(/[^\s]/g,"")),Bn},Me.rawBeforeClose=function(Me){var Bn;return Me.walk((function(Me){if(Me.nodes&&Me.nodes.length>0&&typeof Me.raws.after<"u")return Bn=Me.raws.after,Bn.indexOf(`\n`)!==-1&&(Bn=Bn.replace(/[^\n]+$/,"")),!1})),Bn&&(Bn=Bn.replace(/[^\s]/g,"")),Bn},Me.rawBeforeOpen=function(Me){var Bn;return Me.walk((function(Me){if(Me.type!=="decl"&&(Bn=Me.raws.between,typeof Bn<"u"))return!1})),Bn},Me.rawColon=function(Me){var Bn;return Me.walkDecls((function(Me){if(typeof Me.raws.between<"u")return Bn=Me.raws.between.replace(/[^\s:]/g,""),!1})),Bn},Me.beforeAfter=function(Me,Bn){var Hn;Me.type==="decl"?Hn=this.raw(Me,null,"beforeDecl"):Me.type==="comment"?Hn=this.raw(Me,null,"beforeComment"):Bn==="before"?Hn=this.raw(Me,null,"beforeRule"):Hn=this.raw(Me,null,"beforeClose");for(var zn=Me.parent,ni=0;zn&&zn.type!=="root";)ni+=1,zn=zn.parent;if(Hn.indexOf(`\n`)!==-1){var Ci=this.raw(Me,null,"indent");if(Ci.length)for(var ts=0;ts=Pd}function ue(Me){if(hA.length)return hA.pop();if(!(sA>=Pd)){var Bn=Me?Me.ignoreUnclosed:!1;switch(qp=ts.charCodeAt(sA),(qp===Ps||qp===oa||qp===_a&&ts.charCodeAt(sA+1)!==Ps)&&(Qh=sA,Zh+=1),qp){case Ps:case aa:case ca:case _a:case oa:Jp=sA;do{Jp+=1,qp=ts.charCodeAt(Jp),qp===Ps&&(Qh=Jp,Zh+=1)}while(qp===aa||qp===Ps||qp===ca||qp===_a||qp===oa);Td=["space",ts.slice(sA,Jp)],sA=Jp-1;break;case xa:case Ga:case oo:case Jo:case Fc:case tc:case so:var eg=String.fromCharCode(qp);Td=[eg,eg,Zh,sA-Qh];break;case Ha:if(Sd=oA.length?oA.pop()[1]:"",xd=ts.charCodeAt(sA+1),Sd==="url"&&xd!==Hn&&xd!==zn&&xd!==aa&&xd!==Ps&&xd!==ca&&xd!==oa&&xd!==_a){Jp=sA;do{if(Cd=!1,Jp=ts.indexOf(")",Jp+1),Jp===-1)if(Vp||Bn){Jp=sA;break}else ee("bracket");for(wd=Jp;ts.charCodeAt(wd-1)===ni;)wd-=1,Cd=!Cd}while(Cd);Td=["brackets",ts.slice(sA,Jp+1),Zh,sA-Qh,Zh,Jp-Qh],sA=Jp}else Jp=ts.indexOf(")",sA+1),Yf=ts.slice(sA,Jp+1),Jp===-1||Qp.test(Yf)?Td=["(","(",Zh,sA-Qh]:(Td=["brackets",Yf,Zh,sA-Qh,Zh,Jp-Qh],sA=Jp);break;case Hn:case zn:Wp=qp===Hn?"'":'"',Jp=sA;do{if(Cd=!1,Jp=ts.indexOf(Wp,Jp+1),Jp===-1)if(Vp||Bn){Jp=sA+1;break}else ee("string");for(wd=Jp;ts.charCodeAt(wd-1)===ni;)wd-=1,Cd=!Cd}while(Cd);Yf=ts.slice(sA,Jp+1),zp=Yf.split(`\n`),Qf=zp.length-1,Qf>0?(Xf=Zh+Qf,Ad=Jp-zp[Qf].length):(Xf=Zh,Ad=Qh),Td=["string",ts.slice(sA,Jp+1),Zh,sA-Qh,Xf,Jp-Ad],Qh=Ad,Zh=Xf,sA=Jp;break;case Jc:Dp.lastIndex=sA+1,Dp.test(ts),Dp.lastIndex===0?Jp=ts.length-1:Jp=Dp.lastIndex-2,Td=["at-word",ts.slice(sA,Jp+1),Zh,sA-Qh,Zh,Jp-Qh],sA=Jp;break;case ni:for(Jp=sA,Kf=!0;ts.charCodeAt(Jp+1)===ni;)Jp+=1,Kf=!Kf;if(qp=ts.charCodeAt(Jp+1),Kf&&qp!==Ci&&qp!==aa&&qp!==Ps&&qp!==ca&&qp!==_a&&qp!==oa&&(Jp+=1,Up.test(ts.charAt(Jp)))){for(;Up.test(ts.charAt(Jp+1));)Jp+=1;ts.charCodeAt(Jp+1)===aa&&(Jp+=1)}Td=["word",ts.slice(sA,Jp+1),Zh,sA-Qh,Zh,Jp-Qh],sA=Jp;break;default:qp===Ci&&ts.charCodeAt(sA+1)===dc?(Jp=ts.indexOf("*/",sA+2)+1,Jp===0&&(Vp||Bn?Jp=ts.length:ee("comment")),Yf=ts.slice(sA,Jp+1),zp=Yf.split(`\n`),Qf=zp.length-1,Qf>0?(Xf=Zh+Qf,Ad=Jp-zp[Qf].length):(Xf=Zh,Ad=Qh),Td=["comment",Yf,Zh,sA-Qh,Xf,Jp-Ad],Qh=Ad,Zh=Xf,sA=Jp):(kp.lastIndex=sA+1,kp.test(ts),kp.lastIndex===0?Jp=ts.length-1:Jp=kp.lastIndex-2,Td=["word",ts.slice(sA,Jp+1),Zh,sA-Qh,Zh,Jp-Qh],oA.push(Td),sA=Jp);break}return sA++,Td}}function le(Me){hA.push(Me)}return{back:le,nextToken:ue,endOfFile:te,position:z}}Bn.exports=Me.default}}),fC=P({"node_modules/postcss/lib/parse.js"(Me,Bn){"use strict";ts(),Me.__esModule=!0,Me.default=void 0;var Hn=o(DC()),zn=o(sC());function o(Me){return Me&&Me.__esModule?Me:{default:Me}}function h(Me,Bn){var ni=new zn.default(Me,Bn),Ci=new Hn.default(ni);try{Ci.parse()}catch(Me){throw Me}return Ci.root}var ni=h;Me.default=ni,Bn.exports=Me.default}}),dC=P({"node_modules/postcss/lib/list.js"(Me,Bn){"use strict";ts(),Me.__esModule=!0,Me.default=void 0;var Hn={split:function(Me,Bn,Hn){for(var zn=[],ni="",Ci=!1,ts=0,Ps=!1,aa=!1,oa=0;oa0&&(ts-=1):ts===0&&Bn.indexOf(ca)!==-1&&(Ci=!0),Ci?(ni!==""&&zn.push(ni.trim()),ni="",Ci=!1):ni+=ca}return(Hn||ni!=="")&&zn.push(ni.trim()),zn},space:function(Me){var Bn=[" ",`\n`,"\t"];return Hn.split(Me,Bn)},comma:function(Me){return Hn.split(Me,[","],!0)}},zn=Hn;Me.default=zn,Bn.exports=Me.default}}),hC=P({"node_modules/postcss/lib/rule.js"(Me,Bn){"use strict";ts(),Me.__esModule=!0,Me.default=void 0;var Hn=o(AC()),zn=o(dC());function o(Me){return Me&&Me.__esModule?Me:{default:Me}}function h(Me,Bn){for(var Hn=0;Hn"u"||Me[Symbol.iterator]==null){if(Array.isArray(Me)||(Hn=p(Me))||Bn&&Me&&typeof Me.length=="number"){Hn&&(Me=Hn);var zn=0;return function(){return zn>=Me.length?{done:!0}:{done:!1,value:Me[zn++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return Hn=Me[Symbol.iterator](),Hn.next.bind(Hn)}function p(Me,Bn){if(Me){if(typeof Me=="string")return m(Me,Bn);var Hn=Object.prototype.toString.call(Me).slice(8,-1);if(Hn==="Object"&&Me.constructor&&(Hn=Me.constructor.name),Hn==="Map"||Hn==="Set")return Array.from(Me);if(Hn==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Hn))return m(Me,Bn)}}function m(Me,Bn){(Bn==null||Bn>Me.length)&&(Bn=Me.length);for(var Hn=0,zn=new Array(Bn);Hn=Me&&(this.indexes[Hn]=Bn-1);return this},Bn.removeAll=function(){for(var Me=l(this.nodes),Bn;!(Bn=Me()).done;){var Hn=Bn.value;Hn.parent=void 0}return this.nodes=[],this},Bn.replaceValues=function(Me,Bn,Hn){return Hn||(Hn=Bn,Bn={}),this.walkDecls((function(zn){Bn.props&&Bn.props.indexOf(zn.prop)===-1||Bn.fast&&zn.value.indexOf(Bn.fast)===-1||(zn.value=zn.value.replace(Me,Hn))})),this},Bn.every=function(Me){return this.nodes.every(Me)},Bn.some=function(Me){return this.nodes.some(Me)},Bn.index=function(Me){return typeof Me=="number"?Me:this.nodes.indexOf(Me)},Bn.normalize=function(Me,Bn){var ni=this;if(typeof Me=="string"){var Ci=fC();Me=a(Ci(Me).nodes)}else if(Array.isArray(Me)){Me=Me.slice(0);for(var ts=l(Me),Ps;!(Ps=ts()).done;){var aa=Ps.value;aa.parent&&aa.parent.removeChild(aa,"ignore")}}else if(Me.type==="root"){Me=Me.nodes.slice(0);for(var oa=l(Me),ca;!(ca=oa()).done;){var _a=ca.value;_a.parent&&_a.parent.removeChild(_a,"ignore")}}else if(Me.type)Me=[Me];else if(Me.prop){if(typeof Me.value>"u")throw new Error("Value field is missed in node creation");typeof Me.value!="string"&&(Me.value=String(Me.value)),Me=[new Hn.default(Me)]}else if(Me.selector){var xa=hC();Me=[new xa(Me)]}else if(Me.name){var Ga=mC();Me=[new Ga(Me)]}else if(Me.text)Me=[new zn.default(Me)];else throw new Error("Unknown node type in node creation");var Ha=Me.map((function(Me){return Me.parent&&Me.parent.removeChild(Me),typeof Me.raws.before>"u"&&Bn&&typeof Bn.raws.before<"u"&&(Me.raws.before=Bn.raws.before.replace(/[^\s]/g,"")),Me.parent=ni,Me}));return Ha},t(v,[{key:"first",get:function(){if(this.nodes)return this.nodes[0]}},{key:"last",get:function(){if(this.nodes)return this.nodes[this.nodes.length-1]}}]),v}(ni.default),Ps=Ci;Me.default=Ps,Bn.exports=Me.default}}),mC=P({"node_modules/postcss/lib/at-rule.js"(Me,Bn){"use strict";ts(),Me.__esModule=!0,Me.default=void 0;var Hn=u(AC());function u(Me){return Me&&Me.__esModule?Me:{default:Me}}function o(Me,Bn){Me.prototype=Object.create(Bn.prototype),Me.prototype.constructor=Me,Me.__proto__=Bn}var zn=function(Me){o(m,Me);function m(Bn){var Hn;return Hn=Me.call(this,Bn)||this,Hn.type="atrule",Hn}var Bn=m.prototype;return Bn.append=function(){var Bn;this.nodes||(this.nodes=[]);for(var Hn=arguments.length,zn=new Array(Hn),ni=0;ni"u"||Me[Symbol.iterator]==null){if(Array.isArray(Me)||(Hn=c(Me))||Bn&&Me&&typeof Me.length=="number"){Hn&&(Me=Hn);var zn=0;return function(){return zn>=Me.length?{done:!0}:{done:!1,value:Me[zn++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return Hn=Me[Symbol.iterator](),Hn.next.bind(Hn)}function c(Me,Bn){if(Me){if(typeof Me=="string")return t(Me,Bn);var Hn=Object.prototype.toString.call(Me).slice(8,-1);if(Hn==="Object"&&Me.constructor&&(Hn=Me.constructor.name),Hn==="Map"||Hn==="Set")return Array.from(Me);if(Hn==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Hn))return t(Me,Bn)}}function t(Me,Bn){(Bn==null||Bn>Me.length)&&(Bn=Me.length);for(var Hn=0,zn=new Array(Bn);Hn"u"&&(Hn.map={}),Hn.map.inline||(Hn.map.inline=!1),Hn.map.prev=Bn.map);else{var ni=Ps.default;Hn.syntax&&(ni=Hn.syntax.parse),Hn.parser&&(ni=Hn.parser),ni.parse&&(ni=ni.parse);try{zn=ni(Bn,Hn)}catch(Me){this.error=Me}}this.result=new Ci.default(Me,zn,Hn)}var Me=v.prototype;return Me.warnings=function(){return this.sync().warnings()},Me.toString=function(){return this.css},Me.then=function(Me,Bn){return this.async().then(Me,Bn)},Me.catch=function(Me){return this.async().catch(Me)},Me.finally=function(Me){return this.async().then(Me,Me)},Me.handleError=function(Me,Bn){try{if(this.error=Me,Me.name==="CssSyntaxError"&&!Me.plugin)Me.plugin=Bn.postcssPlugin,Me.setMessage();else if(Bn.postcssVersion&&!1){var Hn,zn,ni,Ci,ts}}catch(Me){console&&console.error&&console.error(Me)}},Me.asyncTick=function(Me,Bn){var Hn=this;if(this.plugin>=this.processor.plugins.length)return this.processed=!0,Me();try{var zn=this.processor.plugins[this.plugin],ni=this.run(zn);this.plugin+=1,s(ni)?ni.then((function(){Hn.asyncTick(Me,Bn)})).catch((function(Me){Hn.handleError(Me,zn),Hn.processed=!0,Bn(Me)})):this.asyncTick(Me,Bn)}catch(Me){this.processed=!0,Bn(Me)}},Me.async=function(){var Me=this;return this.processed?new Promise((function(Bn,Hn){Me.error?Hn(Me.error):Bn(Me.stringify())})):this.processing?this.processing:(this.processing=new Promise((function(Bn,Hn){if(Me.error)return Hn(Me.error);Me.plugin=0,Me.asyncTick(Bn,Hn)})).then((function(){return Me.processed=!0,Me.stringify()})),this.processing)},Me.sync=function(){if(this.processed)return this.result;if(this.processed=!0,this.processing)throw new Error("Use process(css).then(cb) to work with async plugins");if(this.error)throw this.error;for(var Me=m(this.result.processor.plugins),Bn;!(Bn=Me()).done;){var Hn=Bn.value,zn=this.run(Hn);if(s(zn))throw new Error("Use process(css).then(cb) to work with async plugins")}return this.result},Me.run=function(Me){this.result.lastPlugin=Me;try{return Me(this.result.root,this.result)}catch(Bn){throw this.handleError(Bn,Me),Bn}},Me.stringify=function(){if(this.stringified)return this.result;this.stringified=!0,this.sync();var Me=this.result.opts,Bn=zn.default;Me.syntax&&(Bn=Me.syntax.stringify),Me.stringifier&&(Bn=Me.stringifier),Bn.stringify&&(Bn=Bn.stringify);var ni=new Hn.default(Bn,this.result.root,this.result.opts),Ci=ni.generate();return this.result.css=Ci[0],this.result.map=Ci[1],this.result},a(v,[{key:"processor",get:function(){return this.result.processor}},{key:"opts",get:function(){return this.result.opts}},{key:"css",get:function(){return this.stringify().css}},{key:"content",get:function(){return this.stringify().content}},{key:"map",get:function(){return this.stringify().map}},{key:"root",get:function(){return this.sync().root}},{key:"messages",get:function(){return this.sync().messages}}]),v}(),oa=aa;Me.default=oa,Bn.exports=Me.default}}),bC=P({"node_modules/postcss/lib/processor.js"(Me,Bn){"use strict";ts(),Me.__esModule=!0,Me.default=void 0;var Hn=u(EC());function u(Me){return Me&&Me.__esModule?Me:{default:Me}}function o(Me,Bn){var Hn;if(typeof Symbol>"u"||Me[Symbol.iterator]==null){if(Array.isArray(Me)||(Hn=h(Me))||Bn&&Me&&typeof Me.length=="number"){Hn&&(Me=Hn);var zn=0;return function(){return zn>=Me.length?{done:!0}:{done:!1,value:Me[zn++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return Hn=Me[Symbol.iterator](),Hn.next.bind(Hn)}function h(Me,Bn){if(Me){if(typeof Me=="string")return l(Me,Bn);var Hn=Object.prototype.toString.call(Me).slice(8,-1);if(Hn==="Object"&&Me.constructor&&(Hn=Me.constructor.name),Hn==="Map"||Hn==="Set")return Array.from(Me);if(Hn==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Hn))return l(Me,Bn)}}function l(Me,Bn){(Bn==null||Bn>Me.length)&&(Bn=Me.length);for(var Hn=0,zn=new Array(Bn);Hn"u"||Me[Symbol.iterator]==null){if(Array.isArray(Me)||(Hn=h(Me))||Bn&&Me&&typeof Me.length=="number"){Hn&&(Me=Hn);var zn=0;return function(){return zn>=Me.length?{done:!0}:{done:!1,value:Me[zn++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return Hn=Me[Symbol.iterator](),Hn.next.bind(Hn)}function h(Me,Bn){if(Me){if(typeof Me=="string")return l(Me,Bn);var Hn=Object.prototype.toString.call(Me).slice(8,-1);if(Hn==="Object"&&Me.constructor&&(Hn=Me.constructor.name),Hn==="Map"||Hn==="Set")return Array.from(Me);if(Hn==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Hn))return l(Me,Bn)}}function l(Me,Bn){(Bn==null||Bn>Me.length)&&(Bn=Me.length);for(var Hn=0,zn=new Array(Bn);Hn1&&(this.nodes[1].raws.before=this.nodes[zn].raws.before),Me.prototype.removeChild.call(this,Bn)},Bn.normalize=function(Bn,Hn,zn){var ni=Me.prototype.normalize.call(this,Bn);if(Hn){if(zn==="prepend")this.nodes.length>1?Hn.raws.before=this.nodes[1].raws.before:delete Hn.raws.before;else if(this.first!==Hn)for(var Ci=o(ni),ts;!(ts=Ci()).done;){var Ps=ts.value;Ps.raws.before=Hn.raws.before}}return ni},Bn.toResult=function(Me){Me===void 0&&(Me={});var Bn=EC(),Hn=bC(),zn=new Bn(new Hn,this,Me);return zn.stringify()},r}(Hn.default),ni=zn;Me.default=ni,Bn.exports=Me.default}}),DC=P({"node_modules/postcss/lib/parser.js"(Me,Bn){"use strict";ts(),Me.__esModule=!0,Me.default=void 0;var Hn=m(lC()),zn=m(pC()),ni=m(cC()),Ci=m(mC()),Ps=m(CC()),aa=m(hC());function m(Me){return Me&&Me.__esModule?Me:{default:Me}}var oa=function(){function t(Me){this.input=Me,this.root=new Ps.default,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:Me,start:{line:1,column:1}}}var Me=t.prototype;return Me.createTokenizer=function(){this.tokenizer=(0,zn.default)(this.input)},Me.parse=function(){for(var Me;!this.tokenizer.endOfFile();)switch(Me=this.tokenizer.nextToken(),Me[0]){case"space":this.spaces+=Me[1];break;case";":this.freeSemicolon(Me);break;case"}":this.end(Me);break;case"comment":this.comment(Me);break;case"at-word":this.atrule(Me);break;case"{":this.emptyRule(Me);break;default:this.other(Me);break}this.endFile()},Me.comment=function(Me){var Bn=new ni.default;this.init(Bn,Me[2],Me[3]),Bn.source.end={line:Me[4],column:Me[5]};var Hn=Me[1].slice(2,-2);if(/^\s*$/.test(Hn))Bn.text="",Bn.raws.left=Hn,Bn.raws.right="";else{var zn=Hn.match(/^(\s*)([^]*[^\s])(\s*)$/);Bn.text=zn[2],Bn.raws.left=zn[1],Bn.raws.right=zn[3]}},Me.emptyRule=function(Me){var Bn=new aa.default;this.init(Bn,Me[2],Me[3]),Bn.selector="",Bn.raws.between="",this.current=Bn},Me.other=function(Me){for(var Bn=!1,Hn=null,zn=!1,ni=null,Ci=[],ts=[],Ps=Me;Ps;){if(Hn=Ps[0],ts.push(Ps),Hn==="("||Hn==="[")ni||(ni=Ps),Ci.push(Hn==="("?")":"]");else if(Ci.length===0)if(Hn===";")if(zn){this.decl(ts);return}else break;else if(Hn==="{"){this.rule(ts);return}else if(Hn==="}"){this.tokenizer.back(ts.pop()),Bn=!0;break}else Hn===":"&&(zn=!0);else Hn===Ci[Ci.length-1]&&(Ci.pop(),Ci.length===0&&(ni=null));Ps=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(Bn=!0),Ci.length>0&&this.unclosedBracket(ni),Bn&&zn){for(;ts.length&&(Ps=ts[ts.length-1][0],!(Ps!=="space"&&Ps!=="comment"));)this.tokenizer.back(ts.pop());this.decl(ts)}else this.unknownWord(ts)},Me.rule=function(Me){Me.pop();var Bn=new aa.default;this.init(Bn,Me[0][2],Me[0][3]),Bn.raws.between=this.spacesAndCommentsFromEnd(Me),this.raw(Bn,"selector",Me),this.current=Bn},Me.decl=function(Me){var Bn=new Hn.default;this.init(Bn);var zn=Me[Me.length-1];for(zn[0]===";"&&(this.semicolon=!0,Me.pop()),zn[4]?Bn.source.end={line:zn[4],column:zn[5]}:Bn.source.end={line:zn[2],column:zn[3]};Me[0][0]!=="word";)Me.length===1&&this.unknownWord(Me),Bn.raws.before+=Me.shift()[1];for(Bn.source.start={line:Me[0][2],column:Me[0][3]},Bn.prop="";Me.length;){var ni=Me[0][0];if(ni===":"||ni==="space"||ni==="comment")break;Bn.prop+=Me.shift()[1]}Bn.raws.between="";for(var Ci;Me.length;)if(Ci=Me.shift(),Ci[0]===":"){Bn.raws.between+=Ci[1];break}else Ci[0]==="word"&&/\w/.test(Ci[1])&&this.unknownWord([Ci]),Bn.raws.between+=Ci[1];(Bn.prop[0]==="_"||Bn.prop[0]==="*")&&(Bn.raws.before+=Bn.prop[0],Bn.prop=Bn.prop.slice(1)),Bn.raws.between+=this.spacesAndCommentsFromStart(Me),this.precheckMissedSemicolon(Me);for(var ts=Me.length-1;ts>0;ts--){if(Ci=Me[ts],Ci[1].toLowerCase()==="!important"){Bn.important=!0;var Ps=this.stringFrom(Me,ts);Ps=this.spacesFromEnd(Me)+Ps,Ps!==" !important"&&(Bn.raws.important=Ps);break}else if(Ci[1].toLowerCase()==="important"){for(var aa=Me.slice(0),oa="",ca=ts;ca>0;ca--){var _a=aa[ca][0];if(oa.trim().indexOf("!")===0&&_a!=="space")break;oa=aa.pop()[1]+oa}oa.trim().indexOf("!")===0&&(Bn.important=!0,Bn.raws.important=oa,Me=aa)}if(Ci[0]!=="space"&&Ci[0]!=="comment")break}this.raw(Bn,"value",Me),Bn.value.indexOf(":")!==-1&&this.checkMissedSemicolon(Me)},Me.atrule=function(Me){var Bn=new Ci.default;Bn.name=Me[1].slice(1),Bn.name===""&&this.unnamedAtrule(Bn,Me),this.init(Bn,Me[2],Me[3]);for(var Hn,zn,ni=!1,ts=!1,Ps=[];!this.tokenizer.endOfFile();){if(Me=this.tokenizer.nextToken(),Me[0]===";"){Bn.source.end={line:Me[2],column:Me[3]},this.semicolon=!0;break}else if(Me[0]==="{"){ts=!0;break}else if(Me[0]==="}"){if(Ps.length>0){for(zn=Ps.length-1,Hn=Ps[zn];Hn&&Hn[0]==="space";)Hn=Ps[--zn];Hn&&(Bn.source.end={line:Hn[4],column:Hn[5]})}this.end(Me);break}else Ps.push(Me);if(this.tokenizer.endOfFile()){ni=!0;break}}Bn.raws.between=this.spacesAndCommentsFromEnd(Ps),Ps.length?(Bn.raws.afterName=this.spacesAndCommentsFromStart(Ps),this.raw(Bn,"params",Ps),ni&&(Me=Ps[Ps.length-1],Bn.source.end={line:Me[4],column:Me[5]},this.spaces=Bn.raws.between,Bn.raws.between="")):(Bn.raws.afterName="",Bn.params=""),ts&&(Bn.nodes=[],this.current=Bn)},Me.end=function(Me){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end={line:Me[2],column:Me[3]},this.current=this.current.parent):this.unexpectedClose(Me)},Me.endFile=function(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces},Me.freeSemicolon=function(Me){if(this.spaces+=Me[1],this.current.nodes){var Bn=this.current.nodes[this.current.nodes.length-1];Bn&&Bn.type==="rule"&&!Bn.raws.ownSemicolon&&(Bn.raws.ownSemicolon=this.spaces,this.spaces="")}},Me.init=function(Me,Bn,Hn){this.current.push(Me),Me.source={start:{line:Bn,column:Hn},input:this.input},Me.raws.before=this.spaces,this.spaces="",Me.type!=="comment"&&(this.semicolon=!1)},Me.raw=function(Me,Bn,Hn){for(var zn,ni,Ci=Hn.length,ts="",Ps=!0,aa,oa,ca=/^([.|#])?([\w])+/i,_a=0;_a=0&&(zn=Me[ni],!(zn[0]!=="space"&&(Hn+=1,Hn===2)));ni--);throw this.input.error("Missed semicolon",zn[2],zn[3])}},t}();Me.default=oa,Bn.exports=Me.default}}),wC=P({"node_modules/postcss-less/lib/nodes/inline-comment.js"(Me,Bn){ts();var Hn=pC(),zn=sC();Bn.exports={isInlineComment(Me){if(Me[0]==="word"&&Me[1].slice(0,2)==="//"){let Bn=Me,ni=[],Ci;for(;Me;){if(/\r?\n/.test(Me[1])){if(/['"].*\r?\n/.test(Me[1])){ni.push(Me[1].substring(0,Me[1].indexOf(`\n`)));let Bn=Me[1].substring(Me[1].indexOf(`\n`));Bn+=this.input.css.valueOf().substring(this.tokenizer.position()),this.input=new zn(Bn),this.tokenizer=Hn(this.input)}else this.tokenizer.back(Me);break}ni.push(Me[1]),Ci=Me,Me=this.tokenizer.nextToken({ignoreUnclosed:!0})}let ts=["comment",ni.join(""),Bn[2],Bn[3],Ci[2],Ci[3]];return this.inlineComment(ts),!0}else if(Me[1]==="/"){let Hn=this.tokenizer.nextToken({ignoreUnclosed:!0});if(Hn[0]==="comment"&&/^\/\*/.test(Hn[1]))return Hn[0]="word",Hn[1]=Hn[1].slice(1),Me[1]="//",this.tokenizer.back(Hn),Bn.exports.isInlineComment.bind(this)(Me)}return!1}}}}),SC=P({"node_modules/postcss-less/lib/nodes/interpolation.js"(Me,Bn){ts(),Bn.exports={interpolation(Me){let Bn=Me,Hn=[Me],zn=["word","{","}"];if(Me=this.tokenizer.nextToken(),Bn[1].length>1||Me[0]!=="{")return this.tokenizer.back(Me),!1;for(;Me&&zn.includes(Me[0]);)Hn.push(Me),Me=this.tokenizer.nextToken();let ni=Hn.map((Me=>Me[1]));[Bn]=Hn;let Ci=Hn.pop(),ts=[Bn[2],Bn[3]],Ps=[Ci[4]||Ci[2],Ci[5]||Ci[3]],aa=["word",ni.join("")].concat(ts,Ps);return this.tokenizer.back(Me),this.tokenizer.back(aa),!0}}}}),IC=P({"node_modules/postcss-less/lib/nodes/mixin.js"(Me,Bn){ts();var Hn=/^#[0-9a-fA-F]{6}$|^#[0-9a-fA-F]{3}$/,zn=/\.[0-9]/,o=Me=>{let[,Bn]=Me,[ni]=Bn;return(ni==="."||ni==="#")&&Hn.test(Bn)===!1&&zn.test(Bn)===!1};Bn.exports={isMixinToken:o}}}),xC=P({"node_modules/postcss-less/lib/nodes/import.js"(Me,Bn){ts();var Hn=pC(),zn=/^url\((.+)\)/;Bn.exports=Me=>{let{name:Bn,params:ni=""}=Me;if(Bn==="import"&&ni.length){Me.import=!0;let Bn=Hn({css:ni});for(Me.filename=ni.replace(zn,"$1");!Bn.endOfFile();){let[Hn,zn]=Bn.nextToken();if(Hn==="word"&&zn==="url")return;if(Hn==="brackets"){Me.options=zn,Me.filename=ni.replace(zn,"").trim();break}}}}}}),kC=P({"node_modules/postcss-less/lib/nodes/variable.js"(Me,Bn){ts();var Hn=/:$/,zn=/^:(\s+)?/;Bn.exports=Me=>{let{name:Bn,params:ni=""}=Me;if(Me.name.slice(-1)===":"){if(Hn.test(Bn)){let[zn]=Bn.match(Hn);Me.name=Bn.replace(zn,""),Me.raws.afterName=zn+(Me.raws.afterName||""),Me.variable=!0,Me.value=Me.params}if(zn.test(ni)){let[Bn]=ni.match(zn);Me.value=ni.replace(Bn,""),Me.raws.afterName=(Me.raws.afterName||"")+Bn,Me.variable=!0}}}}}),BC=P({"node_modules/postcss-less/lib/LessParser.js"(Me,Bn){ts();var Hn=cC(),zn=DC(),{isInlineComment:ni}=wC(),{interpolation:Ci}=SC(),{isMixinToken:Ps}=IC(),aa=xC(),oa=kC(),ca=/(!\s*important)$/i;Bn.exports=class extends zn{constructor(){super(...arguments),this.lastNode=null}atrule(Me){Ci.bind(this)(Me)||(super.atrule(Me),aa(this.lastNode),oa(this.lastNode))}decl(){super.decl(...arguments),/extend\(.+\)/i.test(this.lastNode.value)&&(this.lastNode.extend=!0)}each(Me){Me[0][1]=` ${Me[0][1]}`;let Bn=Me.findIndex((Me=>Me[0]==="(")),Hn=Me.reverse().find((Me=>Me[0]===")")),zn=Me.reverse().indexOf(Hn),ni=Me.splice(Bn,zn).map((Me=>Me[1])).join("");for(let Bn of Me.reverse())this.tokenizer.back(Bn);this.atrule(this.tokenizer.nextToken()),this.lastNode.function=!0,this.lastNode.params=ni}init(Me,Bn,Hn){super.init(Me,Bn,Hn),this.lastNode=Me}inlineComment(Me){let Bn=new Hn,zn=Me[1].slice(2);if(this.init(Bn,Me[2],Me[3]),Bn.source.end={line:Me[4],column:Me[5]},Bn.inline=!0,Bn.raws.begin="//",/^\s*$/.test(zn))Bn.text="",Bn.raws.left=zn,Bn.raws.right="";else{let Me=zn.match(/^(\s*)([^]*[^\s])(\s*)$/);[,Bn.raws.left,Bn.text,Bn.raws.right]=Me}}mixin(Me){let[Bn]=Me,Hn=Bn[1].slice(0,1),zn=Me.findIndex((Me=>Me[0]==="brackets")),ni=Me.findIndex((Me=>Me[0]==="(")),Ci="";if((zn<0||zn>3)&&ni>0){let Bn=Me.reduce(((Me,Bn,Hn)=>Bn[0]===")"?Hn:Me)),Hn=Me.slice(ni,Bn+ni).map((Me=>Me[1])).join(""),[zn]=Me.slice(ni),Ci=[zn[2],zn[3]],[ts]=Me.slice(Bn,Bn+1),Ps=[ts[2],ts[3]],aa=["brackets",Hn].concat(Ci,Ps),oa=Me.slice(0,ni),ca=Me.slice(Bn+1);Me=oa,Me.push(aa),Me=Me.concat(ca)}let ts=[];for(let Bn of Me)if((Bn[1]==="!"||ts.length)&&ts.push(Bn),Bn[1]==="important")break;if(ts.length){let[Bn]=ts,Hn=Me.indexOf(Bn),zn=ts[ts.length-1],ni=[Bn[2],Bn[3]],Ci=[zn[4],zn[5]],Ps=["word",ts.map((Me=>Me[1])).join("")].concat(ni,Ci);Me.splice(Hn,ts.length,Ps)}let Ps=Me.findIndex((Me=>ca.test(Me[1])));Ps>0&&([,Ci]=Me[Ps],Me.splice(Ps,1));for(let Bn of Me.reverse())this.tokenizer.back(Bn);this.atrule(this.tokenizer.nextToken()),this.lastNode.mixin=!0,this.lastNode.raws.identifier=Hn,Ci&&(this.lastNode.important=!0,this.lastNode.raws.important=Ci)}other(Me){ni.bind(this)(Me)||super.other(Me)}rule(Me){let Bn=Me[Me.length-1],Hn=Me[Me.length-2];if(Hn[0]==="at-word"&&Bn[0]==="{"&&(this.tokenizer.back(Bn),Ci.bind(this)(Hn))){let Bn=this.tokenizer.nextToken();Me=Me.slice(0,Me.length-2).concat([Bn]);for(let Bn of Me.reverse())this.tokenizer.back(Bn);return}super.rule(Me),/:extend\(.+\)/i.test(this.lastNode.selector)&&(this.lastNode.extend=!0)}unknownWord(Me){let[Bn]=Me;if(Me[0][1]==="each"&&Me[1][0]==="("){this.each(Me);return}if(Ps(Bn)){this.mixin(Me);return}super.unknownWord(Me)}}}}),TC=P({"node_modules/postcss-less/lib/LessStringifier.js"(Me,Bn){ts();var Hn=aC();Bn.exports=class extends Hn{atrule(Me,Bn){if(!Me.mixin&&!Me.variable&&!Me.function){super.atrule(Me,Bn);return}let Hn=`${Me.function?"":Me.raws.identifier||"@"}${Me.name}`,zn=Me.params?this.rawValue(Me,"params"):"",ni=Me.raws.important||"";if(Me.variable&&(zn=Me.value),typeof Me.raws.afterName<"u"?Hn+=Me.raws.afterName:zn&&(Hn+=" "),Me.nodes)this.block(Me,Hn+zn+ni);else{let Ci=(Me.raws.between||"")+ni+(Bn?";":"");this.builder(Hn+zn+Ci,Me)}}comment(Me){if(Me.inline){let Bn=this.raw(Me,"left","commentLeft"),Hn=this.raw(Me,"right","commentRight");this.builder(`//${Bn}${Me.text}${Hn}`,Me)}else super.comment(Me)}}}}),FC=P({"node_modules/postcss-less/lib/index.js"(Me,Bn){ts();var Hn=sC(),zn=BC(),ni=TC();Bn.exports={parse(Me,Bn){let ni=new Hn(Me,Bn),Ci=new zn(ni);return Ci.parse(),Ci.root},stringify(Me,Bn){new ni(Bn).stringify(Me)},nodeToString(Me){let Hn="";return Bn.exports.stringify(Me,(Me=>{Hn+=Me})),Hn}}}}),NC=P({"node_modules/postcss-scss/lib/scss-stringifier.js"(Me,Bn){"use strict";ts();function i(Me,Bn){Me.prototype=Object.create(Bn.prototype),Me.prototype.constructor=Me,Me.__proto__=Bn}var Hn=aC(),zn=function(Me){i(l,Me);function l(){return Me.apply(this,arguments)||this}var Bn=l.prototype;return Bn.comment=function(Me){var Bn=this.raw(Me,"left","commentLeft"),Hn=this.raw(Me,"right","commentRight");if(Me.raws.inline){var zn=Me.raws.text||Me.text;this.builder("//"+Bn+zn+Hn,Me)}else this.builder("/*"+Bn+Me.text+Hn+"*/",Me)},Bn.decl=function(Bn,Hn){if(!Bn.isNested)Me.prototype.decl.call(this,Bn,Hn);else{var zn=this.raw(Bn,"between","colon"),ni=Bn.prop+zn+this.rawValue(Bn,"value");Bn.important&&(ni+=Bn.raws.important||" !important"),this.builder(ni+"{",Bn,"start");var Ci;Bn.nodes&&Bn.nodes.length?(this.body(Bn),Ci=this.raw(Bn,"after")):Ci=this.raw(Bn,"after","emptyBody"),Ci&&this.builder(Ci),this.builder("}",Bn,"end")}},Bn.rawValue=function(Me,Bn){var Hn=Me[Bn],zn=Me.raws[Bn];return zn&&zn.value===Hn?zn.scss?zn.scss:zn.raw:Hn},l}(Hn);Bn.exports=zn}}),QC=P({"node_modules/postcss-scss/lib/scss-stringify.js"(Me,Bn){"use strict";ts();var Hn=NC();Bn.exports=function(Me,Bn){var zn=new Hn(Bn);zn.stringify(Me)}}}),RC=P({"node_modules/postcss-scss/lib/nested-declaration.js"(Me,Bn){"use strict";ts();function i(Me,Bn){Me.prototype=Object.create(Bn.prototype),Me.prototype.constructor=Me,Me.__proto__=Bn}var Hn=AC(),zn=function(Me){i(l,Me);function l(Bn){var Hn;return Hn=Me.call(this,Bn)||this,Hn.type="decl",Hn.isNested=!0,Hn.nodes||(Hn.nodes=[]),Hn}return l}(Hn);Bn.exports=zn}}),PC=P({"node_modules/postcss-scss/lib/scss-tokenize.js"(Me,Bn){"use strict";ts();var Hn="'".charCodeAt(0),zn='"'.charCodeAt(0),ni="\\".charCodeAt(0),Ci="/".charCodeAt(0),Ps=`\n`.charCodeAt(0),aa=" ".charCodeAt(0),oa="\f".charCodeAt(0),ca="\t".charCodeAt(0),_a="\r".charCodeAt(0),xa="[".charCodeAt(0),Ga="]".charCodeAt(0),Ha="(".charCodeAt(0),so=")".charCodeAt(0),oo="{".charCodeAt(0),Jo="}".charCodeAt(0),tc=";".charCodeAt(0),dc="*".charCodeAt(0),Fc=":".charCodeAt(0),Jc="@".charCodeAt(0),Dp=",".charCodeAt(0),kp="#".charCodeAt(0),Qp=/[ \n\t\r\f{}()'"\\;/[\]#]/g,Up=/[ \n\t\r\f(){}:;@!'"\\\][#]|\/(?=\*)/g,Vp=/.[\\/("'\n]/,qp=/[a-f0-9]/i,Jp=/[\r\f\n]/g;Bn.exports=function(Me,Bn){Bn===void 0&&(Bn={});var ts=Me.css.valueOf(),Wp=Bn.ignoreErrors,zp,Qf,Yf,Kf,Xf,Ad,Cd,wd,Sd,xd,Td,Pd,Qh,Zh,sA=ts.length,oA=-1,hA=1,eg=0,tg=[],rg=[];function ue(Bn){throw Me.error("Unclosed "+Bn,hA,eg-oA)}function le(){return rg.length===0&&eg>=sA}function re(){for(var Me=1,Bn=!1,Ci=!1;Me>0;)Qf+=1,ts.length<=Qf&&ue("interpolation"),zp=ts.charCodeAt(Qf),Pd=ts.charCodeAt(Qf+1),Bn?!Ci&&zp===Bn?(Bn=!1,Ci=!1):zp===ni?Ci=!xd:Ci&&(Ci=!1):zp===Hn||zp===zn?Bn=zp:zp===Jo?Me-=1:zp===kp&&Pd===oo&&(Me+=1)}function ne(){if(rg.length)return rg.pop();if(!(eg>=sA)){switch(zp=ts.charCodeAt(eg),(zp===Ps||zp===oa||zp===_a&&ts.charCodeAt(eg+1)!==Ps)&&(oA=eg,hA+=1),zp){case Ps:case aa:case ca:case _a:case oa:Qf=eg;do{Qf+=1,zp=ts.charCodeAt(Qf),zp===Ps&&(oA=Qf,hA+=1)}while(zp===aa||zp===Ps||zp===ca||zp===_a||zp===oa);Qh=["space",ts.slice(eg,Qf)],eg=Qf-1;break;case xa:Qh=["[","[",hA,eg-oA];break;case Ga:Qh=["]","]",hA,eg-oA];break;case oo:Qh=["{","{",hA,eg-oA];break;case Jo:Qh=["}","}",hA,eg-oA];break;case Dp:Qh=["word",",",hA,eg-oA,hA,eg-oA+1];break;case Fc:Qh=[":",":",hA,eg-oA];break;case tc:Qh=[";",";",hA,eg-oA];break;case Ha:if(Td=tg.length?tg.pop()[1]:"",Pd=ts.charCodeAt(eg+1),Td==="url"&&Pd!==Hn&&Pd!==zn){for(Zh=1,xd=!1,Qf=eg+1;Qf<=ts.length-1;){if(Pd=ts.charCodeAt(Qf),Pd===ni)xd=!xd;else if(Pd===Ha)Zh+=1;else if(Pd===so&&(Zh-=1,Zh===0))break;Qf+=1}Ad=ts.slice(eg,Qf+1),Kf=Ad.split(`\n`),Xf=Kf.length-1,Xf>0?(wd=hA+Xf,Sd=Qf-Kf[Xf].length):(wd=hA,Sd=oA),Qh=["brackets",Ad,hA,eg-oA,wd,Qf-Sd],oA=Sd,hA=wd,eg=Qf}else Qf=ts.indexOf(")",eg+1),Ad=ts.slice(eg,Qf+1),Qf===-1||Vp.test(Ad)?Qh=["(","(",hA,eg-oA]:(Qh=["brackets",Ad,hA,eg-oA,hA,Qf-oA],eg=Qf);break;case so:Qh=[")",")",hA,eg-oA];break;case Hn:case zn:for(Yf=zp,Qf=eg,xd=!1;Qf0?(wd=hA+Xf,Sd=Qf-Kf[Xf].length):(wd=hA,Sd=oA),Qh=["string",ts.slice(eg,Qf+1),hA,eg-oA,wd,Qf-Sd],oA=Sd,hA=wd,eg=Qf;break;case Jc:Qp.lastIndex=eg+1,Qp.test(ts),Qp.lastIndex===0?Qf=ts.length-1:Qf=Qp.lastIndex-2,Qh=["at-word",ts.slice(eg,Qf+1),hA,eg-oA,hA,Qf-oA],eg=Qf;break;case ni:for(Qf=eg,Cd=!0;ts.charCodeAt(Qf+1)===ni;)Qf+=1,Cd=!Cd;if(zp=ts.charCodeAt(Qf+1),Cd&&zp!==Ci&&zp!==aa&&zp!==Ps&&zp!==ca&&zp!==_a&&zp!==oa&&(Qf+=1,qp.test(ts.charAt(Qf)))){for(;qp.test(ts.charAt(Qf+1));)Qf+=1;ts.charCodeAt(Qf+1)===aa&&(Qf+=1)}Qh=["word",ts.slice(eg,Qf+1),hA,eg-oA,hA,Qf-oA],eg=Qf;break;default:Pd=ts.charCodeAt(eg+1),zp===kp&&Pd===oo?(Qf=eg,re(),Ad=ts.slice(eg,Qf+1),Kf=Ad.split(`\n`),Xf=Kf.length-1,Xf>0?(wd=hA+Xf,Sd=Qf-Kf[Xf].length):(wd=hA,Sd=oA),Qh=["word",Ad,hA,eg-oA,wd,Qf-Sd],oA=Sd,hA=wd,eg=Qf):zp===Ci&&Pd===dc?(Qf=ts.indexOf("*/",eg+2)+1,Qf===0&&(Wp?Qf=ts.length:ue("comment")),Ad=ts.slice(eg,Qf+1),Kf=Ad.split(`\n`),Xf=Kf.length-1,Xf>0?(wd=hA+Xf,Sd=Qf-Kf[Xf].length):(wd=hA,Sd=oA),Qh=["comment",Ad,hA,eg-oA,wd,Qf-Sd],oA=Sd,hA=wd,eg=Qf):zp===Ci&&Pd===Ci?(Jp.lastIndex=eg+1,Jp.test(ts),Jp.lastIndex===0?Qf=ts.length-1:Qf=Jp.lastIndex-2,Ad=ts.slice(eg,Qf+1),Qh=["comment",Ad,hA,eg-oA,hA,Qf-oA,"inline"],eg=Qf):(Up.lastIndex=eg+1,Up.test(ts),Up.lastIndex===0?Qf=ts.length-1:Qf=Up.lastIndex-2,Qh=["word",ts.slice(eg,Qf+1),hA,eg-oA,hA,Qf-oA],tg.push(Qh),eg=Qf);break}return eg++,Qh}}function oe(Me){rg.push(Me)}return{back:oe,nextToken:ne,endOfFile:le}}}}),OC=P({"node_modules/postcss-scss/lib/scss-parser.js"(Me,Bn){"use strict";ts();function i(Me,Bn){Me.prototype=Object.create(Bn.prototype),Me.prototype.constructor=Me,Me.__proto__=Bn}var Hn=cC(),zn=DC(),ni=RC(),Ci=PC(),Ps=function(Me){i(c,Me);function c(){return Me.apply(this,arguments)||this}var Bn=c.prototype;return Bn.createTokenizer=function(){this.tokenizer=Ci(this.input)},Bn.rule=function(Bn){for(var Hn=!1,zn=0,Ci="",ts=Bn,Ps=Array.isArray(ts),aa=0,ts=Ps?ts:ts[Symbol.iterator]();;){var oa;if(Ps){if(aa>=ts.length)break;oa=ts[aa++]}else{if(aa=ts.next(),aa.done)break;oa=aa.value}var ca=oa;if(Hn)ca[0]!=="comment"&&ca[0]!=="{"&&(Ci+=ca[1]);else{if(ca[0]==="space"&&ca[1].indexOf(`\n`)!==-1)break;ca[0]==="("?zn+=1:ca[0]===")"?zn-=1:zn===0&&ca[0]===":"&&(Hn=!0)}}if(!Hn||Ci.trim()===""||/^[a-zA-Z-:#]/.test(Ci))Me.prototype.rule.call(this,Bn);else{Bn.pop();var _a=new ni;this.init(_a);var xa=Bn[Bn.length-1];for(xa[4]?_a.source.end={line:xa[4],column:xa[5]}:_a.source.end={line:xa[2],column:xa[3]};Bn[0][0]!=="word";)_a.raws.before+=Bn.shift()[1];for(_a.source.start={line:Bn[0][2],column:Bn[0][3]},_a.prop="";Bn.length;){var Ga=Bn[0][0];if(Ga===":"||Ga==="space"||Ga==="comment")break;_a.prop+=Bn.shift()[1]}_a.raws.between="";for(var Ha;Bn.length;)if(Ha=Bn.shift(),Ha[0]===":"){_a.raws.between+=Ha[1];break}else _a.raws.between+=Ha[1];(_a.prop[0]==="_"||_a.prop[0]==="*")&&(_a.raws.before+=_a.prop[0],_a.prop=_a.prop.slice(1)),_a.raws.between+=this.spacesAndCommentsFromStart(Bn),this.precheckMissedSemicolon(Bn);for(var so=Bn.length-1;so>0;so--){if(Ha=Bn[so],Ha[1]==="!important"){_a.important=!0;var oo=this.stringFrom(Bn,so);oo=this.spacesFromEnd(Bn)+oo,oo!==" !important"&&(_a.raws.important=oo);break}else if(Ha[1]==="important"){for(var Jo=Bn.slice(0),tc="",dc=so;dc>0;dc--){var Fc=Jo[dc][0];if(tc.trim().indexOf("!")===0&&Fc!=="space")break;tc=Jo.pop()[1]+tc}tc.trim().indexOf("!")===0&&(_a.important=!0,_a.raws.important=tc,Bn=Jo)}if(Ha[0]!=="space"&&Ha[0]!=="comment")break}this.raw(_a,"value",Bn),_a.value.indexOf(":")!==-1&&this.checkMissedSemicolon(Bn),this.current=_a}},Bn.comment=function(Bn){if(Bn[6]==="inline"){var zn=new Hn;this.init(zn,Bn[2],Bn[3]),zn.raws.inline=!0,zn.source.end={line:Bn[4],column:Bn[5]};var ni=Bn[1].slice(2);if(/^\s*$/.test(ni))zn.text="",zn.raws.left=ni,zn.raws.right="";else{var Ci=ni.match(/^(\s*)([^]*[^\s])(\s*)$/),ts=Ci[2].replace(/(\*\/|\/\*)/g,"*//*");zn.text=ts,zn.raws.left=Ci[1],zn.raws.right=Ci[3],zn.raws.text=Ci[2]}}else Me.prototype.comment.call(this,Bn)},Bn.raw=function(Bn,Hn,zn){if(Me.prototype.raw.call(this,Bn,Hn,zn),Bn.raws[Hn]){var ni=Bn.raws[Hn].raw;Bn.raws[Hn].raw=zn.reduce((function(Me,Bn){if(Bn[0]==="comment"&&Bn[6]==="inline"){var Hn=Bn[1].slice(2).replace(/(\*\/|\/\*)/g,"*//*");return Me+"/*"+Hn+"*/"}else return Me+Bn[1]}),""),ni!==Bn.raws[Hn].raw&&(Bn.raws[Hn].scss=ni)}},c}(zn);Bn.exports=Ps}}),LC=P({"node_modules/postcss-scss/lib/scss-parse.js"(Me,Bn){"use strict";ts();var Hn=sC(),zn=OC();Bn.exports=function(Me,Bn){var ni=new Hn(Me,Bn),Ci=new zn(ni);return Ci.parse(),Ci.root}}}),MC=P({"node_modules/postcss-scss/lib/scss-syntax.js"(Me,Bn){"use strict";ts();var Hn=QC(),zn=LC();Bn.exports={parse:zn,stringify:Hn}}});ts();var jC=Ps(),UC=aa(),GC=oa(),{hasPragma:HC}=Dp(),{locStart:qC,locEnd:JC}=Up(),{calculateLoc:$C,replaceQuotesInInlineComments:YC}=Up(),WC=qp(),KC=Jp(),zC=Wp(),XC=zp(),ZC=Qf(),iD=Yf(),ew=Kf(),tw=Xf(),fp=Me=>{for(;Me.parent;)Me=Me.parent;return Me};function pp(Me,Bn){let{nodes:Hn}=Me,zn={open:null,close:null,groups:[],type:"paren_group"},ni=[zn],Ci=zn,ts={groups:[],type:"comma_group"},Ps=[ts];for(let Ci=0;Ci0&&zn.groups.push(ts),zn.close=aa,Ps.length===1)throw new Error("Unbalanced parenthesis");Ps.pop(),ts=UC(Ps),ts.groups.push(zn),ni.pop(),zn=UC(ni)}else aa.type==="comma"?(zn.groups.push(ts),ts={groups:[],type:"comma_group"},Ps[Ps.length-1]=ts):ts.groups.push(aa)}return ts.groups.length>0&&zn.groups.push(ts),Ci}function vr(Me){return Me.type==="paren_group"&&!Me.open&&!Me.close&&Me.groups.length===1||Me.type==="comma_group"&&Me.groups.length===1?vr(Me.groups[0]):Me.type==="paren_group"||Me.type==="comma_group"?Object.assign(Object.assign({},Me),{},{groups:Me.groups.map(vr)}):Me}function Xe(Me,Bn,Hn){if(Me&&typeof Me=="object"){delete Me.parent;for(let zn in Me)Xe(Me[zn],Bn,Hn),zn==="type"&&typeof Me[zn]=="string"&&!Me[zn].startsWith(Bn)&&(!Hn||!Hn.test(Me[zn]))&&(Me[zn]=Bn+Me[zn])}return Me}function va(Me){if(Me&&typeof Me=="object"){delete Me.parent;for(let Bn in Me)va(Me[Bn]);!Array.isArray(Me)&&Me.value&&!Me.type&&(Me.type="unknown")}return Me}function ma(Me,Bn){if(Me&&typeof Me=="object"){for(let Hn in Me)Hn!=="parent"&&(ma(Me[Hn],Bn),Hn==="nodes"&&(Me.group=vr(pp(Me,Bn)),delete Me[Hn]));delete Me.parent}return Me}function Pe(Me,Bn){let Hn=Kg(),zn=null;try{zn=Hn(Me,{loose:!0}).parse()}catch{return{type:"value-unknown",value:Me}}zn.text=Me;let ni=ma(zn,Bn);return Xe(ni,"value-",/^selector-/)}function Re(Me){if(/\/\/|\/\*/.test(Me))return{type:"selector-unknown",value:Me.trim()};let Bn=Cv(),Hn=null;try{Bn((Me=>{Hn=Me})).process(Me)}catch{return{type:"selector-unknown",value:Me}}return Xe(Hn,"selector-")}function hp(Me){let Bn=xv().default,Hn=null;try{Hn=Bn(Me)}catch{return{type:"selector-unknown",value:Me}}return Xe(va(Hn),"media-")}var rw=/(\s*)(!default).*$/,nw=/(\s*)(!global).*$/;function ga(Me,Bn){if(Me&&typeof Me=="object"){delete Me.parent;for(let Hn in Me)ga(Me[Hn],Bn);if(!Me.type)return Me;Me.raws||(Me.raws={});let Ci="";if(typeof Me.selector=="string"){var Hn;Ci=Me.raws.selector?(Hn=Me.raws.selector.scss)!==null&&Hn!==void 0?Hn:Me.raws.selector.raw:Me.selector,Me.raws.between&&Me.raws.between.trim().length>0&&(Ci+=Me.raws.between),Me.raws.selector=Ci}let ts="";if(typeof Me.value=="string"){var zn;ts=Me.raws.value?(zn=Me.raws.value.scss)!==null&&zn!==void 0?zn:Me.raws.value.raw:Me.value,ts=ts.trim(),Me.raws.value=ts}let Ps="";if(typeof Me.params=="string"){var ni;Ps=Me.raws.params?(ni=Me.raws.params.scss)!==null&&ni!==void 0?ni:Me.raws.params.raw:Me.params,Me.raws.afterName&&Me.raws.afterName.trim().length>0&&(Ps=Me.raws.afterName+Ps),Me.raws.between&&Me.raws.between.trim().length>0&&(Ps=Ps+Me.raws.between),Ps=Ps.trim(),Me.raws.params=Ps}if(Ci.trim().length>0)return Ci.startsWith("@")&&Ci.endsWith(":")?Me:Me.mixin?(Me.selector=Pe(Ci,Bn),Me):(ZC(Me)&&(Me.isSCSSNesterProperty=!0),Me.selector=Re(Ci),Me);if(ts.length>0){let Hn=ts.match(rw);Hn&&(ts=ts.slice(0,Hn.index),Me.scssDefault=!0,Hn[0].trim()!=="!default"&&(Me.raws.scssDefault=Hn[0]));let zn=ts.match(nw);if(zn&&(ts=ts.slice(0,zn.index),Me.scssGlobal=!0,zn[0].trim()!=="!global"&&(Me.raws.scssGlobal=zn[0])),ts.startsWith("progid:"))return{type:"value-unknown",value:ts};Me.value=Pe(ts,Bn)}if(zC(Bn)&&Me.type==="css-decl"&&ts.startsWith("extend(")&&(Me.extend||(Me.extend=Me.raws.between===":"),Me.extend&&!Me.selector&&(delete Me.value,Me.selector=Re(ts.slice(7,-1)))),Me.type==="css-atrule"){if(zC(Bn)){if(Me.mixin){let Bn=Me.raws.identifier+Me.name+Me.raws.afterName+Me.raws.params;return Me.selector=Re(Bn),delete Me.params,Me}if(Me.function)return Me}if(Bn.parser==="css"&&Me.name==="custom-selector"){let Bn=Me.params.match(/:--\S+\s+/)[0].trim();return Me.customSelector=Bn,Me.selector=Re(Me.params.slice(Bn.length).trim()),delete Me.params,Me}if(zC(Bn)){if(Me.name.includes(":")&&!Me.params){Me.variable=!0;let Hn=Me.name.split(":");Me.name=Hn[0],Me.value=Pe(Hn.slice(1).join(":"),Bn)}if(!["page","nest","keyframes"].includes(Me.name)&&Me.params&&Me.params[0]===":"){Me.variable=!0;let Hn=Me.params.slice(1);Hn&&(Me.value=Pe(Hn,Bn)),Me.raws.afterName+=":"}if(Me.variable)return delete Me.params,Me.value||delete Me.value,Me}}if(Me.type==="css-atrule"&&Ps.length>0){let{name:Hn}=Me,zn=Me.name.toLowerCase();return Hn==="warn"||Hn==="error"?(Me.params={type:"media-unknown",value:Ps},Me):Hn==="extend"||Hn==="nest"?(Me.selector=Re(Ps),delete Me.params,Me):Hn==="at-root"?(/^\(\s*(?:without|with)\s*:.+\)$/s.test(Ps)?Me.params=Pe(Ps,Bn):(Me.selector=Re(Ps),delete Me.params),Me):tw(zn)?(Me.import=!0,delete Me.filename,Me.params=Pe(Ps,Bn),Me):["namespace","supports","if","else","for","each","while","debug","mixin","include","function","return","define-mixin","add-mixin"].includes(Hn)?(Ps=Ps.replace(/(\$\S+?)(\s+)?\.{3}/,"$1...$2"),Ps=Ps.replace(/^(?!if)(\S+)(\s+)\(/,"$1($2"),Me.value=Pe(Ps,Bn),delete Me.params,Me):["media","custom-media"].includes(zn)?Ps.includes("#{")?{type:"media-unknown",value:Ps}:(Me.params=hp(Ps),Me):(Me.params=Ps,Me)}}return Me}function ya(Me,Bn,Hn){let zn=GC(Bn),{frontMatter:ni}=zn;Bn=zn.content;let Ci;try{Ci=Me(Bn)}catch(Me){let{name:Bn,reason:Hn,line:zn,column:ni}=Me;throw typeof zn!="number"?Me:jC(`${Bn}: ${Hn}`,{start:{line:zn,column:ni}})}return Ci=ga(Xe(Ci,"css-"),Hn),$C(Ci,Bn),ni&&(ni.source={startOffset:0,endOffset:ni.raw.length},Ci.nodes.unshift(ni)),Ci}function mp(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},zn=XC(Hn.parser,Me)?[Tt,Ot]:[Ot,Tt],ni;for(let Ci of zn)try{return Ci(Me,Bn,Hn)}catch(Me){ni=ni||Me}if(ni)throw ni}function Ot(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},zn=FC();return ya((Me=>zn.parse(YC(Me))),Me,Hn)}function Tt(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{parse:zn}=MC();return ya(zn,Me,Hn)}var iw={astFormat:"postcss",hasPragma:HC,locStart:qC,locEnd:JC};Bn.exports={parsers:{css:Object.assign(Object.assign({},iw),{},{parse:mp}),less:Object.assign(Object.assign({},iw),{},{parse:Ot}),scss:Object.assign(Object.assign({},iw),{},{parse:Tt})}}}));return Eg()}))},1312:Me=>{(function(Bn){if(true)Me.exports=Bn();else{var Hn}})((function(){"use strict";var dt=(Me,Bn)=>()=>(Bn||Me((Bn={exports:{}}).exports,Bn),Bn.exports);var Me=dt(((Me,Bn)=>{var Yh=function(Me){return Me&&Me.Math==Math&&Me};Bn.exports=Yh(typeof globalThis=="object"&&globalThis)||Yh(typeof window=="object"&&window)||Yh(typeof self=="object"&&self)||Yh(typeof global=="object"&&global)||function(){return this}()||Function("return this")()}));var Bn=dt(((Me,Bn)=>{Bn.exports=function(Me){try{return!!Me()}catch{return!0}}}));var Hn=dt(((Me,Hn)=>{var zn=Bn();Hn.exports=!zn((function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7}))}));var zn=dt(((Me,Hn)=>{var zn=Bn();Hn.exports=!zn((function(){var Me=function(){}.bind();return typeof Me!="function"||Me.hasOwnProperty("prototype")}))}));var ni=dt(((Me,Bn)=>{var Hn=zn(),ni=Function.prototype.call;Bn.exports=Hn?ni.bind(ni):function(){return ni.apply(ni,arguments)}}));var Ci=dt((Me=>{"use strict";var Bn={}.propertyIsEnumerable,Hn=Object.getOwnPropertyDescriptor,zn=Hn&&!Bn.call({1:2},1);Me.f=zn?function(Me){var Bn=Hn(this,Me);return!!Bn&&Bn.enumerable}:Bn}));var ts=dt(((Me,Bn)=>{Bn.exports=function(Me,Bn){return{enumerable:!(Me&1),configurable:!(Me&2),writable:!(Me&4),value:Bn}}}));var Ps=dt(((Me,Bn)=>{var Hn=zn(),ni=Function.prototype,Ci=ni.call,ts=Hn&&ni.bind.bind(Ci,Ci);Bn.exports=Hn?ts:function(Me){return function(){return Ci.apply(Me,arguments)}}}));var aa=dt(((Me,Bn)=>{var Hn=Ps(),zn=Hn({}.toString),ni=Hn("".slice);Bn.exports=function(Me){return ni(zn(Me),8,-1)}}));var oa=dt(((Me,Hn)=>{var zn=Ps(),ni=Bn(),Ci=aa(),ts=Object,oa=zn("".split);Hn.exports=ni((function(){return!ts("z").propertyIsEnumerable(0)}))?function(Me){return Ci(Me)=="String"?oa(Me,""):ts(Me)}:ts}));var ca=dt(((Me,Bn)=>{Bn.exports=function(Me){return Me==null}}));var _a=dt(((Me,Bn)=>{var Hn=ca(),zn=TypeError;Bn.exports=function(Me){if(Hn(Me))throw zn("Can't call method on "+Me);return Me}}));var xa=dt(((Me,Bn)=>{var Hn=oa(),zn=_a();Bn.exports=function(Me){return Hn(zn(Me))}}));var Ga=dt(((Me,Bn)=>{var Hn=typeof document=="object"&&document.all,zn=typeof Hn>"u"&&Hn!==void 0;Bn.exports={all:Hn,IS_HTMLDDA:zn}}));var Ha=dt(((Me,Bn)=>{var Hn=Ga(),zn=Hn.all;Bn.exports=Hn.IS_HTMLDDA?function(Me){return typeof Me=="function"||Me===zn}:function(Me){return typeof Me=="function"}}));var so=dt(((Me,Bn)=>{var Hn=Ha(),zn=Ga(),ni=zn.all;Bn.exports=zn.IS_HTMLDDA?function(Me){return typeof Me=="object"?Me!==null:Hn(Me)||Me===ni}:function(Me){return typeof Me=="object"?Me!==null:Hn(Me)}}));var oo=dt(((Bn,Hn)=>{var zn=Me(),ni=Ha(),bq=function(Me){return ni(Me)?Me:void 0};Hn.exports=function(Me,Bn){return arguments.length<2?bq(zn[Me]):zn[Me]&&zn[Me][Bn]}}));var Jo=dt(((Me,Bn)=>{var Hn=Ps();Bn.exports=Hn({}.isPrototypeOf)}));var tc=dt(((Me,Bn)=>{var Hn=oo();Bn.exports=Hn("navigator","userAgent")||""}));var dc=dt(((Bn,Hn)=>{var zn=Me(),ni=tc(),Ci=zn.process,ts=zn.Deno,Ps=Ci&&Ci.versions||ts&&ts.version,aa=Ps&&Ps.v8,oa,ca;aa&&(oa=aa.split("."),ca=oa[0]>0&&oa[0]<4?1:+(oa[0]+oa[1]));!ca&&ni&&(oa=ni.match(/Edge\/(\d+)/),(!oa||oa[1]>=74)&&(oa=ni.match(/Chrome\/(\d+)/),oa&&(ca=+oa[1])));Hn.exports=ca}));var Fc=dt(((Me,Hn)=>{var zn=dc(),ni=Bn();Hn.exports=!!Object.getOwnPropertySymbols&&!ni((function(){var Me=Symbol();return!String(Me)||!(Object(Me)instanceof Symbol)||!Symbol.sham&&zn&&zn<41}))}));var Jc=dt(((Me,Bn)=>{var Hn=Fc();Bn.exports=Hn&&!Symbol.sham&&typeof Symbol.iterator=="symbol"}));var Dp=dt(((Me,Bn)=>{var Hn=oo(),zn=Ha(),ni=Jo(),Ci=Jc(),ts=Object;Bn.exports=Ci?function(Me){return typeof Me=="symbol"}:function(Me){var Bn=Hn("Symbol");return zn(Bn)&&ni(Bn.prototype,ts(Me))}}));var kp=dt(((Me,Bn)=>{var Hn=String;Bn.exports=function(Me){try{return Hn(Me)}catch{return"Object"}}}));var Qp=dt(((Me,Bn)=>{var Hn=Ha(),zn=kp(),ni=TypeError;Bn.exports=function(Me){if(Hn(Me))return Me;throw ni(zn(Me)+" is not a function")}}));var Up=dt(((Me,Bn)=>{var Hn=Qp(),zn=ca();Bn.exports=function(Me,Bn){var ni=Me[Bn];return zn(ni)?void 0:Hn(ni)}}));var Vp=dt(((Me,Bn)=>{var Hn=ni(),zn=Ha(),Ci=so(),ts=TypeError;Bn.exports=function(Me,Bn){var ni,Ps;if(Bn==="string"&&zn(ni=Me.toString)&&!Ci(Ps=Hn(ni,Me))||zn(ni=Me.valueOf)&&!Ci(Ps=Hn(ni,Me))||Bn!=="string"&&zn(ni=Me.toString)&&!Ci(Ps=Hn(ni,Me)))return Ps;throw ts("Can't convert object to primitive value")}}));var qp=dt(((Me,Bn)=>{Bn.exports=!1}));var Jp=dt(((Bn,Hn)=>{var zn=Me(),ni=Object.defineProperty;Hn.exports=function(Me,Bn){try{ni(zn,Me,{value:Bn,configurable:!0,writable:!0})}catch{zn[Me]=Bn}return Bn}}));var Wp=dt(((Bn,Hn)=>{var zn=Me(),ni=Jp(),Ci="__core-js_shared__",ts=zn[Ci]||ni(Ci,{});Hn.exports=ts}));var zp=dt(((Me,Bn)=>{var Hn=qp(),zn=Wp();(Bn.exports=function(Me,Bn){return zn[Me]||(zn[Me]=Bn!==void 0?Bn:{})})("versions",[]).push({version:"3.26.1",mode:Hn?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})}));var Qf=dt(((Me,Bn)=>{var Hn=_a(),zn=Object;Bn.exports=function(Me){return zn(Hn(Me))}}));var Yf=dt(((Me,Bn)=>{var Hn=Ps(),zn=Qf(),ni=Hn({}.hasOwnProperty);Bn.exports=Object.hasOwn||function(Me,Bn){return ni(zn(Me),Bn)}}));var Kf=dt(((Me,Bn)=>{var Hn=Ps(),zn=0,ni=Math.random(),Ci=Hn(1..toString);Bn.exports=function(Me){return"Symbol("+(Me===void 0?"":Me)+")_"+Ci(++zn+ni,36)}}));var Xf=dt(((Bn,Hn)=>{var zn=Me(),ni=zp(),Ci=Yf(),ts=Kf(),Ps=Fc(),aa=Jc(),oa=ni("wks"),ca=zn.Symbol,_a=ca&&ca.for,xa=aa?ca:ca&&ca.withoutSetter||ts;Hn.exports=function(Me){if(!Ci(oa,Me)||!(Ps||typeof oa[Me]=="string")){var Bn="Symbol."+Me;Ps&&Ci(ca,Me)?oa[Me]=ca[Me]:aa&&_a?oa[Me]=_a(Bn):oa[Me]=xa(Bn)}return oa[Me]}}));var Ad=dt(((Me,Bn)=>{var Hn=ni(),zn=so(),Ci=Dp(),ts=Up(),Ps=Vp(),aa=Xf(),oa=TypeError,ca=aa("toPrimitive");Bn.exports=function(Me,Bn){if(!zn(Me)||Ci(Me))return Me;var ni=ts(Me,ca),aa;if(ni){if(Bn===void 0&&(Bn="default"),aa=Hn(ni,Me,Bn),!zn(aa)||Ci(aa))return aa;throw oa("Can't convert object to primitive value")}return Bn===void 0&&(Bn="number"),Ps(Me,Bn)}}));var Cd=dt(((Me,Bn)=>{var Hn=Ad(),zn=Dp();Bn.exports=function(Me){var Bn=Hn(Me,"string");return zn(Bn)?Bn:Bn+""}}));var wd=dt(((Bn,Hn)=>{var zn=Me(),ni=so(),Ci=zn.document,ts=ni(Ci)&&ni(Ci.createElement);Hn.exports=function(Me){return ts?Ci.createElement(Me):{}}}));var Sd=dt(((Me,zn)=>{var ni=Hn(),Ci=Bn(),ts=wd();zn.exports=!ni&&!Ci((function(){return Object.defineProperty(ts("div"),"a",{get:function(){return 7}}).a!=7}))}));var xd=dt((Me=>{var Bn=Hn(),zn=ni(),Ps=Ci(),aa=ts(),oa=xa(),ca=Cd(),_a=Yf(),Ga=Sd(),Ha=Object.getOwnPropertyDescriptor;Me.f=Bn?Ha:function(Me,Bn){if(Me=oa(Me),Bn=ca(Bn),Ga)try{return Ha(Me,Bn)}catch{}if(_a(Me,Bn))return aa(!zn(Ps.f,Me,Bn),Me[Bn])}}));var Td=dt(((Me,zn)=>{var ni=Hn(),Ci=Bn();zn.exports=ni&&Ci((function(){return Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype!=42}))}));var Pd=dt(((Me,Bn)=>{var Hn=so(),zn=String,ni=TypeError;Bn.exports=function(Me){if(Hn(Me))return Me;throw ni(zn(Me)+" is not an object")}}));var Qh=dt((Me=>{var Bn=Hn(),zn=Sd(),ni=Td(),Ci=Pd(),ts=Cd(),Ps=TypeError,aa=Object.defineProperty,oa=Object.getOwnPropertyDescriptor,ca="enumerable",_a="configurable",xa="writable";Me.f=Bn?ni?function(Me,Bn,Hn){if(Ci(Me),Bn=ts(Bn),Ci(Hn),typeof Me=="function"&&Bn==="prototype"&&"value"in Hn&&xa in Hn&&!Hn[xa]){var zn=oa(Me,Bn);zn&&zn[xa]&&(Me[Bn]=Hn.value,Hn={configurable:_a in Hn?Hn[_a]:zn[_a],enumerable:ca in Hn?Hn[ca]:zn[ca],writable:!1})}return aa(Me,Bn,Hn)}:aa:function(Me,Bn,Hn){if(Ci(Me),Bn=ts(Bn),Ci(Hn),zn)try{return aa(Me,Bn,Hn)}catch{}if("get"in Hn||"set"in Hn)throw Ps("Accessors not supported");return"value"in Hn&&(Me[Bn]=Hn.value),Me}}));var Zh=dt(((Me,Bn)=>{var zn=Hn(),ni=Qh(),Ci=ts();Bn.exports=zn?function(Me,Bn,Hn){return ni.f(Me,Bn,Ci(1,Hn))}:function(Me,Bn,Hn){return Me[Bn]=Hn,Me}}));var sA=dt(((Me,Bn)=>{var zn=Hn(),ni=Yf(),Ci=Function.prototype,ts=zn&&Object.getOwnPropertyDescriptor,Ps=ni(Ci,"name"),aa=Ps&&function(){}.name==="something",oa=Ps&&(!zn||zn&&ts(Ci,"name").configurable);Bn.exports={EXISTS:Ps,PROPER:aa,CONFIGURABLE:oa}}));var oA=dt(((Me,Bn)=>{var Hn=Ps(),zn=Ha(),ni=Wp(),Ci=Hn(Function.toString);zn(ni.inspectSource)||(ni.inspectSource=function(Me){return Ci(Me)});Bn.exports=ni.inspectSource}));var hA=dt(((Bn,Hn)=>{var zn=Me(),ni=Ha(),Ci=zn.WeakMap;Hn.exports=ni(Ci)&&/native code/.test(String(Ci))}));var eg=dt(((Me,Bn)=>{var Hn=zp(),zn=Kf(),ni=Hn("keys");Bn.exports=function(Me){return ni[Me]||(ni[Me]=zn(Me))}}));var tg=dt(((Me,Bn)=>{Bn.exports={}}));var rg=dt(((Bn,Hn)=>{var zn=hA(),ni=Me(),Ci=so(),ts=Zh(),Ps=Yf(),aa=Wp(),oa=eg(),ca=tg(),_a="Object already initialized",xa=ni.TypeError,Ga=ni.WeakMap,Ha,oo,Jo,QU=function(Me){return Jo(Me)?oo(Me):Ha(Me,{})},ZU=function(Me){return function(Bn){var Hn;if(!Ci(Bn)||(Hn=oo(Bn)).type!==Me)throw xa("Incompatible receiver, "+Me+" required");return Hn}};zn||aa.state?(tc=aa.state||(aa.state=new Ga),tc.get=tc.get,tc.has=tc.has,tc.set=tc.set,Ha=function(Me,Bn){if(tc.has(Me))throw xa(_a);return Bn.facade=Me,tc.set(Me,Bn),Bn},oo=function(Me){return tc.get(Me)||{}},Jo=function(Me){return tc.has(Me)}):(dc=oa("state"),ca[dc]=!0,Ha=function(Me,Bn){if(Ps(Me,dc))throw xa(_a);return Bn.facade=Me,ts(Me,dc,Bn),Bn},oo=function(Me){return Ps(Me,dc)?Me[dc]:{}},Jo=function(Me){return Ps(Me,dc)});var tc,dc;Hn.exports={set:Ha,get:oo,has:Jo,enforce:QU,getterFor:ZU}}));var ng=dt(((Me,zn)=>{var ni=Bn(),Ci=Ha(),ts=Yf(),Ps=Hn(),aa=sA().CONFIGURABLE,oa=oA(),ca=rg(),_a=ca.enforce,xa=ca.get,Ga=Object.defineProperty,so=Ps&&!ni((function(){return Ga((function(){}),"length",{value:8}).length!==8})),oo=String(String).split("String"),Jo=zn.exports=function(Me,Bn,Hn){String(Bn).slice(0,7)==="Symbol("&&(Bn="["+String(Bn).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),Hn&&Hn.getter&&(Bn="get "+Bn),Hn&&Hn.setter&&(Bn="set "+Bn),(!ts(Me,"name")||aa&&Me.name!==Bn)&&(Ps?Ga(Me,"name",{value:Bn,configurable:!0}):Me.name=Bn),so&&Hn&&ts(Hn,"arity")&&Me.length!==Hn.arity&&Ga(Me,"length",{value:Hn.arity});try{Hn&&ts(Hn,"constructor")&&Hn.constructor?Ps&&Ga(Me,"prototype",{writable:!1}):Me.prototype&&(Me.prototype=void 0)}catch{}var zn=_a(Me);return ts(zn,"source")||(zn.source=oo.join(typeof Bn=="string"?Bn:"")),Me};Function.prototype.toString=Jo((function(){return Ci(this)&&xa(this).source||oa(this)}),"toString")}));var ig=dt(((Me,Bn)=>{var Hn=Ha(),zn=Qh(),ni=ng(),Ci=Jp();Bn.exports=function(Me,Bn,ts,Ps){Ps||(Ps={});var aa=Ps.enumerable,oa=Ps.name!==void 0?Ps.name:Bn;if(Hn(ts)&&ni(ts,oa,Ps),Ps.global)aa?Me[Bn]=ts:Ci(Bn,ts);else{try{Ps.unsafe?Me[Bn]&&(aa=!0):delete Me[Bn]}catch{}aa?Me[Bn]=ts:zn.f(Me,Bn,{value:ts,enumerable:!1,configurable:!Ps.nonConfigurable,writable:!Ps.nonWritable})}return Me}}));var sg=dt(((Me,Bn)=>{var Hn=Math.ceil,zn=Math.floor;Bn.exports=Math.trunc||function(Me){var Bn=+Me;return(Bn>0?zn:Hn)(Bn)}}));var ag=dt(((Me,Bn)=>{var Hn=sg();Bn.exports=function(Me){var Bn=+Me;return Bn!==Bn||Bn===0?0:Hn(Bn)}}));var og=dt(((Me,Bn)=>{var Hn=ag(),zn=Math.max,ni=Math.min;Bn.exports=function(Me,Bn){var Ci=Hn(Me);return Ci<0?zn(Ci+Bn,0):ni(Ci,Bn)}}));var ug=dt(((Me,Bn)=>{var Hn=ag(),zn=Math.min;Bn.exports=function(Me){return Me>0?zn(Hn(Me),9007199254740991):0}}));var cg=dt(((Me,Bn)=>{var Hn=ug();Bn.exports=function(Me){return Hn(Me.length)}}));var lg=dt(((Me,Bn)=>{var Hn=xa(),zn=og(),ni=cg(),VC=function(Me){return function(Bn,Ci,ts){var Ps=Hn(Bn),aa=ni(Ps),oa=zn(ts,aa),ca;if(Me&&Ci!=Ci){for(;aa>oa;)if(ca=Ps[oa++],ca!=ca)return!0}else for(;aa>oa;oa++)if((Me||oa in Ps)&&Ps[oa]===Ci)return Me||oa||0;return!Me&&-1}};Bn.exports={includes:VC(!0),indexOf:VC(!1)}}));var pg=dt(((Me,Bn)=>{var Hn=Ps(),zn=Yf(),ni=xa(),Ci=lg().indexOf,ts=tg(),aa=Hn([].push);Bn.exports=function(Me,Bn){var Hn=ni(Me),Ps=0,oa=[],ca;for(ca in Hn)!zn(ts,ca)&&zn(Hn,ca)&&aa(oa,ca);for(;Bn.length>Ps;)zn(Hn,ca=Bn[Ps++])&&(~Ci(oa,ca)||aa(oa,ca));return oa}}));var fg=dt(((Me,Bn)=>{Bn.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]}));var dg=dt((Me=>{var Bn=pg(),Hn=fg(),zn=Hn.concat("length","prototype");Me.f=Object.getOwnPropertyNames||function(Me){return Bn(Me,zn)}}));var hg=dt((Me=>{Me.f=Object.getOwnPropertySymbols}));var Ag=dt(((Me,Bn)=>{var Hn=oo(),zn=Ps(),ni=dg(),Ci=hg(),ts=Pd(),aa=zn([].concat);Bn.exports=Hn("Reflect","ownKeys")||function(Me){var Bn=ni.f(ts(Me)),Hn=Ci.f;return Hn?aa(Bn,Hn(Me)):Bn}}));var mg=dt(((Me,Bn)=>{var Hn=Yf(),zn=Ag(),ni=xd(),Ci=Qh();Bn.exports=function(Me,Bn,ts){for(var Ps=zn(Bn),aa=Ci.f,oa=ni.f,ca=0;ca{var zn=Bn(),ni=Ha(),Ci=/#|\.prototype\./,hp=function(Me,Bn){var Hn=Ps[ts(Me)];return Hn==oa?!0:Hn==aa?!1:ni(Bn)?zn(Bn):!!Bn},ts=hp.normalize=function(Me){return String(Me).replace(Ci,".").toLowerCase()},Ps=hp.data={},aa=hp.NATIVE="N",oa=hp.POLYFILL="P";Hn.exports=hp}));var _g=dt(((Bn,Hn)=>{var zn=Me(),ni=xd().f,Ci=Zh(),ts=ig(),Ps=Jp(),aa=mg(),oa=gg();Hn.exports=function(Me,Bn){var Hn=Me.target,ca=Me.global,_a=Me.stat,xa,Ga,Ha,so,oo,Jo;if(ca?Ga=zn:_a?Ga=zn[Hn]||Ps(Hn,{}):Ga=(zn[Hn]||{}).prototype,Ga)for(Ha in Bn){if(oo=Bn[Ha],Me.dontCallGetSet?(Jo=ni(Ga,Ha),so=Jo&&Jo.value):so=Ga[Ha],xa=oa(ca?Ha:Hn+(_a?".":"#")+Ha,Me.forced),!xa&&so!==void 0){if(typeof oo==typeof so)continue;aa(oo,so)}(Me.sham||so&&so.sham)&&Ci(oo,"sham",!0),ts(Ga,Ha,oo,Me)}}}));var yg=dt((()=>{var Bn=_g(),Hn=Me();Bn({global:!0,forced:Hn.globalThis!==Hn},{globalThis:Hn})}));var vg=dt((()=>{yg()}));var Eg=dt(((Me,Bn)=>{var Hn=ng(),zn=Qh();Bn.exports=function(Me,Bn,ni){return ni.get&&Hn(ni.get,Bn,{getter:!0}),ni.set&&Hn(ni.set,Bn,{setter:!0}),zn.f(Me,Bn,ni)}}));var bg=dt(((Me,Bn)=>{"use strict";var Hn=Pd();Bn.exports=function(){var Me=Hn(this),Bn="";return Me.hasIndices&&(Bn+="d"),Me.global&&(Bn+="g"),Me.ignoreCase&&(Bn+="i"),Me.multiline&&(Bn+="m"),Me.dotAll&&(Bn+="s"),Me.unicode&&(Bn+="u"),Me.unicodeSets&&(Bn+="v"),Me.sticky&&(Bn+="y"),Bn}}));var Cg=dt((()=>{var zn=Me(),ni=Hn(),Ci=Eg(),ts=bg(),Ps=Bn(),aa=zn.RegExp,oa=aa.prototype,ca=ni&&Ps((function(){var Me=!0;try{aa(".","d")}catch{Me=!1}var Bn={},Hn="",zn=Me?"dgimsy":"gimsy",D=function(Me,zn){Object.defineProperty(Bn,Me,{get:function(){return Hn+=zn,!0}})},ni={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};Me&&(ni.hasIndices="d");for(var Ci in ni)D(Ci,ni[Ci]);var ts=Object.getOwnPropertyDescriptor(oa,"flags").get.call(Bn);return ts!==zn||Hn!==zn}));ca&&Ci(oa,"flags",{configurable:!0,get:ts})}));var Dg=dt(((Me,Bn)=>{vg();Cg();var Hn=Object.defineProperty,zn=Object.getOwnPropertyDescriptor,ni=Object.getOwnPropertyNames,Ci=Object.prototype.hasOwnProperty,yp=(Me,Bn)=>function(){return Me&&(Bn=(0,Me[ni(Me)[0]])(Me=0)),Bn},Oe=(Me,Bn)=>function(){return Bn||(0,Me[ni(Me)[0]])((Bn={exports:{}}).exports,Bn),Bn.exports},m1=(Me,Bn)=>{for(var zn in Bn)Hn(Me,zn,{get:Bn[zn],enumerable:!0})},uW=(Me,Bn,ts,Ps)=>{if(Bn&&typeof Bn=="object"||typeof Bn=="function")for(let aa of ni(Bn))!Ci.call(Me,aa)&&aa!==ts&&Hn(Me,aa,{get:()=>Bn[aa],enumerable:!(Ps=zn(Bn,aa))||Ps.enumerable});return Me},Li=Me=>uW(Hn({},"__esModule",{value:!0}),Me),ts,Ps=yp({""(){ts={env:{},argv:[]}}}),aa=Oe({"src/common/parser-create-error.js"(Me,Bn){"use strict";Ps();function v(Me,Bn){let Hn=new SyntaxError(Me+" ("+Bn.start.line+":"+Bn.start.column+")");return Hn.loc=Bn,Hn}Bn.exports=v}}),oa=Oe({"src/utils/try-combinations.js"(Me,Bn){"use strict";Ps();function v(){let Me;for(var Bn=arguments.length,Hn=new Array(Bn),zn=0;znGa,arch:()=>fW,cpus:()=>O9,default:()=>Ha,endianness:()=>A9,freemem:()=>I9,getNetworkInterfaces:()=>j9,hostname:()=>P9,loadavg:()=>D9,networkInterfaces:()=>R9,platform:()=>dW,release:()=>L9,tmpDir:()=>Q6,tmpdir:()=>xa,totalmem:()=>N9,type:()=>M9,uptime:()=>k9});function A9(){if(typeof _a>"u"){var Me=new ArrayBuffer(2),Bn=new Uint8Array(Me),Hn=new Uint16Array(Me);if(Bn[0]=1,Bn[1]=2,Hn[0]===258)_a="BE";else if(Hn[0]===513)_a="LE";else throw new Error("unable to figure out endianess")}return _a}function P9(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function D9(){return[]}function k9(){return 0}function I9(){return Number.MAX_VALUE}function N9(){return Number.MAX_VALUE}function O9(){return[]}function M9(){return"Browser"}function L9(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function R9(){}function j9(){}function fW(){return"javascript"}function dW(){return"browser"}function Q6(){return"/tmp"}var _a,xa,Ga,Ha,so=yp({"node-modules-polyfills:os"(){Ps(),xa=Q6,Ga=`\n`,Ha={EOL:Ga,tmpdir:xa,tmpDir:Q6,networkInterfaces:R9,getNetworkInterfaces:j9,release:L9,type:M9,cpus:O9,totalmem:N9,freemem:I9,uptime:k9,loadavg:D9,hostname:P9,endianness:A9}}}),oo=Oe({"node-modules-polyfills-commonjs:os"(Me,Bn){Ps();var Hn=(so(),Li(ca));if(Hn&&Hn.default){Bn.exports=Hn.default;for(let Me in Hn)Bn.exports[Me]=Hn[Me]}else Hn&&(Bn.exports=Hn)}}),Jo=Oe({"node_modules/detect-newline/index.js"(Me,Bn){"use strict";Ps();var v=Me=>{if(typeof Me!="string")throw new TypeError("Expected a string");let Bn=Me.match(/(?:\r?\n)/g)||[];if(Bn.length===0)return;let Hn=Bn.filter((Me=>Me===`\r\n`)).length,zn=Bn.length-Hn;return Hn>zn?`\r\n`:`\n`};Bn.exports=v,Bn.exports.graceful=Me=>typeof Me=="string"&&v(Me)||`\n`}}),tc=Oe({"node_modules/jest-docblock/build/index.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.extract=M,Me.parse=W,Me.parseWithComments=K,Me.print=ce,Me.strip=q;function _(){let Me=oo();return _=function(){return Me},Me}function v(){let Me=h(Jo());return v=function(){return Me},Me}function h(Me){return Me&&Me.__esModule?Me:{default:Me}}var Bn=/\*\/$/,Hn=/^\/\*\*?/,zn=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,ni=/(^|\s+)\/\/([^\r\n]*)/g,Ci=/^(\r?\n)+/,ts=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,aa=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,oa=/(\r?\n|^) *\* ?/g,ca=[];function M(Me){let Bn=Me.match(zn);return Bn?Bn[0].trimLeft():""}function q(Me){let Bn=Me.match(zn);return Bn&&Bn[0]?Me.substring(Bn[0].length):Me}function W(Me){return K(Me).pragmas}function K(Me){let zn=(0,v().default)(Me)||_().EOL;Me=Me.replace(Hn,"").replace(Bn,"").replace(oa,"$1");let Ps="";for(;Ps!==Me;)Ps=Me,Me=Me.replace(ts,`${zn}$1 $2${zn}`);Me=Me.replace(Ci,"").trimRight();let _a=Object.create(null),xa=Me.replace(aa,"").replace(Ci,"").trimRight(),Ga;for(;Ga=aa.exec(Me);){let Me=Ga[2].replace(ni,"");typeof _a[Ga[1]]=="string"||Array.isArray(_a[Ga[1]])?_a[Ga[1]]=ca.concat(_a[Ga[1]],Me):_a[Ga[1]]=Me}return{comments:xa,pragmas:_a}}function ce(Me){let{comments:Bn="",pragmas:Hn={}}=Me,zn=(0,v().default)(Bn)||_().EOL,ni="/**",Ci=" *",ts=" */",Ps=Object.keys(Hn),aa=Ps.map((Me=>Ie(Me,Hn[Me]))).reduce(((Me,Bn)=>Me.concat(Bn)),[]).map((Me=>`${Ci} ${Me}${zn}`)).join("");if(!Bn){if(Ps.length===0)return"";if(Ps.length===1&&!Array.isArray(Hn[Ps[0]])){let Me=Hn[Ps[0]];return`${ni} ${Ie(Ps[0],Me)[0]}${ts}`}}let oa=Bn.split(zn).map((Me=>`${Ci} ${Me}`)).join(zn)+zn;return ni+zn+(Bn?oa:"")+(Bn&&Ps.length?Ci+zn:"")+aa+ts}function Ie(Me,Bn){return ca.concat(Bn).map((Bn=>`@${Me} ${Bn}`.trim()))}}}),dc=Oe({"src/common/end-of-line.js"(Me,Bn){"use strict";Ps();function v(Me){let Bn=Me.indexOf("\r");return Bn>=0?Me.charAt(Bn+1)===`\n`?"crlf":"cr":"lf"}function h(Me){switch(Me){case"cr":return"\r";case"crlf":return`\r\n`;default:return`\n`}}function D(Me,Bn){let Hn;switch(Bn){case`\n`:Hn=/\n/g;break;case"\r":Hn=/\r/g;break;case`\r\n`:Hn=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(Bn)}.`)}let zn=Me.match(Hn);return zn?zn.length:0}function P(Me){return Me.replace(/\r\n?/g,`\n`)}Bn.exports={guessEndOfLine:v,convertEndOfLineToChars:h,countEndOfLineChars:D,normalizeEndOfLine:P}}}),Fc=Oe({"src/language-js/utils/get-shebang.js"(Me,Bn){"use strict";Ps();function v(Me){if(!Me.startsWith("#!"))return"";let Bn=Me.indexOf(`\n`);return Bn===-1?Me:Me.slice(0,Bn)}Bn.exports=v}}),Jc=Oe({"src/language-js/pragma.js"(Me,Bn){"use strict";Ps();var{parseWithComments:Hn,strip:zn,extract:ni,print:Ci}=tc(),{normalizeEndOfLine:ts}=dc(),aa=Fc();function C(Me){let Bn=aa(Me);Bn&&(Me=Me.slice(Bn.length+1));let zn=ni(Me),{pragmas:Ci,comments:ts}=Hn(zn);return{shebang:Bn,text:Me,pragmas:Ci,comments:ts}}function d(Me){let Bn=Object.keys(C(Me).pragmas);return Bn.includes("prettier")||Bn.includes("format")}function E(Me){let{shebang:Bn,text:Hn,pragmas:ni,comments:Ps}=C(Me),aa=zn(Hn),oa=Ci({pragmas:Object.assign({format:""},ni),comments:Ps.trimStart()});return(Bn?`${Bn}\n`:"")+ts(oa)+(aa.startsWith(`\n`)?`\n`:`\n\n`)+aa}Bn.exports={hasPragma:d,insertPragma:E}}}),Dp=Oe({"src/utils/is-non-empty-array.js"(Me,Bn){"use strict";Ps();function v(Me){return Array.isArray(Me)&&Me.length>0}Bn.exports=v}}),kp=Oe({"src/language-js/loc.js"(Me,Bn){"use strict";Ps();var Hn=Dp();function h(Me){var Bn,zn;let ni=Me.range?Me.range[0]:Me.start,Ci=(Bn=(zn=Me.declaration)===null||zn===void 0?void 0:zn.decorators)!==null&&Bn!==void 0?Bn:Me.decorators;return Hn(Ci)?Math.min(h(Ci[0]),ni):ni}function D(Me){return Me.range?Me.range[1]:Me.end}function P(Me,Bn){let Hn=h(Me);return Number.isInteger(Hn)&&Hn===h(Bn)}function y(Me,Bn){let Hn=D(Me);return Number.isInteger(Hn)&&Hn===D(Bn)}function m(Me,Bn){return P(Me,Bn)&&y(Me,Bn)}Bn.exports={locStart:h,locEnd:D,hasSameLocStart:P,hasSameLoc:m}}}),Qp=Oe({"src/language-js/parse/utils/create-parser.js"(Me,Bn){"use strict";Ps();var{hasPragma:Hn}=Jc(),{locStart:zn,locEnd:ni}=kp();function P(Me){return Me=typeof Me=="function"?{parse:Me}:Me,Object.assign({astFormat:"estree",hasPragma:Hn,locStart:zn,locEnd:ni},Me)}Bn.exports=P}}),Up=Oe({"src/language-js/parse/utils/replace-hashbang.js"(Me,Bn){"use strict";Ps();function v(Me){return Me.charAt(0)==="#"&&Me.charAt(1)==="!"?"//"+Me.slice(2):Me}Bn.exports=v}}),Vp=Oe({"src/language-js/utils/is-ts-keyword-type.js"(Me,Bn){"use strict";Ps();function v(Me){let{type:Bn}=Me;return Bn.startsWith("TS")&&Bn.endsWith("Keyword")}Bn.exports=v}}),qp=Oe({"src/language-js/utils/is-block-comment.js"(Me,Bn){"use strict";Ps();var Hn=new Set(["Block","CommentBlock","MultiLine"]),h=Me=>Hn.has(Me==null?void 0:Me.type);Bn.exports=h}}),Jp=Oe({"src/language-js/utils/is-type-cast-comment.js"(Me,Bn){"use strict";Ps();var Hn=qp();function h(Me){return Hn(Me)&&Me.value[0]==="*"&&/@(?:type|satisfies)\b/.test(Me.value)}Bn.exports=h}}),Wp=Oe({"src/utils/get-last.js"(Me,Bn){"use strict";Ps();var v=Me=>Me[Me.length-1];Bn.exports=v}}),zp=Oe({"src/language-js/parse/postprocess/visit-node.js"(Me,Bn){"use strict";Ps();function v(Me,Bn){if(Array.isArray(Me)){for(let Hn=0;Hn{Me.leadingComments&&Me.leadingComments.some(Ci)&&Bn.add(Hn(Me))})),Me=aa(Me,(Me=>{if(Me.type==="ParenthesizedExpression"){let{expression:zn}=Me;if(zn.type==="TypeCastExpression")return zn.range=Me.range,zn;let ni=Hn(Me);if(!Bn.has(ni))return zn.extra=Object.assign(Object.assign({},zn.extra),{},{parenthesized:!0}),zn}}))}return Me=aa(Me,(Me=>{switch(Me.type){case"ChainExpression":return E(Me.expression);case"LogicalExpression":{if(I(Me))return c(Me);break}case"VariableDeclaration":{let Bn=ts(Me.declarations);Bn&&Bn.init&&W(Me,Bn);break}case"TSParenthesizedType":return ni(Me.typeAnnotation)||Me.typeAnnotation.type==="TSThisType"||(Me.typeAnnotation.range=[Hn(Me),zn(Me)]),Me.typeAnnotation;case"TSTypeParameter":if(typeof Me.name=="string"){let Bn=Hn(Me);Me.name={type:"Identifier",name:Me.name,range:[Bn,Bn+Me.name.length]}}break;case"ObjectExpression":if(Bn.parser==="typescript"){let Bn=Me.properties.find((Me=>Me.type==="Property"&&Me.value.type==="TSEmptyBodyFunctionExpression"));Bn&&oa(Bn.value,"Unexpected token.")}break;case"SequenceExpression":{let Bn=ts(Me.expressions);Me.range=[Hn(Me),Math.min(zn(Bn),zn(Me))];break}case"TopicReference":Bn.__isUsingHackPipeline=!0;break;case"ExportAllDeclaration":{let{exported:ni}=Me;if(Bn.parser==="meriyah"&&ni&&ni.type==="Identifier"){let Ci=Bn.originalText.slice(Hn(ni),zn(ni));(Ci.startsWith('"')||Ci.startsWith("'"))&&(Me.exported=Object.assign(Object.assign({},Me.exported),{},{type:"Literal",value:Me.exported.name,raw:Ci}))}break}case"PropertyDefinition":if(Bn.parser==="meriyah"&&Me.static&&!Me.computed&&!Me.key){let Bn="static",zn=Hn(Me);Object.assign(Me,{static:!1,key:{type:"Identifier",name:Bn,range:[zn,zn+Bn.length]}})}break}})),Me;function W(Me,ni){Bn.originalText[zn(ni)]!==";"&&(Me.range=[Hn(Me),zn(ni)])}}function E(Me){switch(Me.type){case"CallExpression":Me.type="OptionalCallExpression",Me.callee=E(Me.callee);break;case"MemberExpression":Me.type="OptionalMemberExpression",Me.object=E(Me.object);break;case"TSNonNullExpression":Me.expression=E(Me.expression);break}return Me}function I(Me){return Me.type==="LogicalExpression"&&Me.right.type==="LogicalExpression"&&Me.operator===Me.right.operator}function c(Me){return I(Me)?c({type:"LogicalExpression",operator:Me.operator,left:c({type:"LogicalExpression",operator:Me.operator,left:Me.left,right:Me.right.left,range:[Hn(Me.left),zn(Me.right.left)]}),right:Me.right.right,range:[Hn(Me),zn(Me)]}):Me}Bn.exports=d}}),Kf=Oe({"node_modules/typescript/lib/typescript.js"(Me,Bn){Ps();var Hn=Object.defineProperty,zn=Object.getOwnPropertyNames,D=(Me,Bn)=>function(){return Me&&(Bn=(0,Me[zn(Me)[0]])(Me=0)),Bn},P=(Me,Bn)=>function(){return Bn||(0,Me[zn(Me)[0]])((Bn={exports:{}}).exports,Bn),Bn.exports},y=(Me,Bn)=>{for(var zn in Bn)Hn(Me,zn,{get:Bn[zn],enumerable:!0})},ni,Ci,aa,oa=D({"src/compiler/corePublic.ts"(){"use strict";ni="5.0",Ci="5.0.2",aa=(Me=>(Me[Me.LessThan=-1]="LessThan",Me[Me.EqualTo=0]="EqualTo",Me[Me.GreaterThan=1]="GreaterThan",Me))(aa||{})}});function I(Me){return Me?Me.length:0}function c(Me,Bn){if(Me)for(let Hn=0;Hn=0;Hn--){let zn=Bn(Me[Hn],Hn);if(zn)return zn}}function q(Me,Bn){if(Me!==void 0)for(let Hn=0;Hn=0;zn--){let Hn=Me[zn];if(Bn(Hn,zn))return Hn}}function he(Me,Bn,Hn){if(Me===void 0)return-1;for(let zn=Hn!=null?Hn:0;zn=0;zn--)if(Bn(Me[zn],zn))return zn;return-1}function R(Me,Bn){for(let Hn=0;Hn2&&arguments[2]!==void 0?arguments[2]:fa;if(Me){for(let zn of Me)if(Hn(zn,Bn))return!0}return!1}function ke(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:fa;return Me.length===Bn.length&&Me.every(((Me,zn)=>Hn(Me,Bn[zn])))}function Je(Me,Bn,Hn){for(let zn=Hn||0;zn{let ni=Bn(zn,Me);if(ni!==void 0){let[Me,Bn]=ni;Me!==void 0&&Bn!==void 0&&Hn.set(Me,Bn)}})),Hn}function la(Me,Bn,Hn){if(Me.has(Bn))return Me.get(Bn);let zn=Hn();return Me.set(Bn,zn),zn}function ua(Me,Bn){return Me.has(Bn)?!1:(Me.add(Bn),!0)}function*Ka(Me){yield Me}function co(Me,Bn,Hn){let zn;if(Me){zn=[];let ni=Me.length,Ci,ts,Ps=0,aa=0;for(;Ps{let[ni,Ci]=Bn(zn,Me);Hn.set(ni,Ci)})),Hn}function Ke(Me,Bn){if(Me)if(Bn){for(let Hn of Me)if(Bn(Hn))return!0}else return Me.length>0;return!1}function Et(Me,Bn,Hn){let zn;for(let ni=0;niMe[Bn]))}function Uc(Me,Bn){let Hn=[];for(let zn of Me)qn(Hn,zn,Bn);return Hn}function ji(Me,Bn,Hn){return Me.length===0?[]:Me.length===1?Me.slice():Hn?m_(Me,Bn,Hn):Uc(Me,Bn)}function lo(Me,Bn){if(Me.length===0)return ca;let Hn=Me[0],zn=[Hn];for(let ni=1;ni0&&(ni&=-2),ni&2&&zn(Ci,Ps)>0&&(ni&=-3),Ci=Ps}return ni}function Hc(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:fa;if(!Me||!Bn)return Me===Bn;if(Me.length!==Bn.length)return!1;for(let zn=0;zn0&&qp.assertGreaterThanOrEqual(Hn(Bn[Ci],Bn[Ci-1]),0);t:for(let ts=ni;nits&&qp.assertGreaterThanOrEqual(Hn(Me[ni],Me[ni-1]),0),Hn(Bn[Ci],Me[ni])){case-1:zn.push(Bn[Ci]);continue e;case 0:continue e;case 1:continue t}}return zn}function tr(Me,Bn){return Bn===void 0?Me:Me===void 0?[Bn]:(Me.push(Bn),Me)}function $c(Me,Bn){return Me===void 0?Bn:Bn===void 0?Me:ir(Me)?ir(Bn)?Ft(Me,Bn):tr(Me,Bn):ir(Bn)?tr(Bn,Me):[Me,Bn]}function po(Me,Bn){return Bn<0?Me.length+Bn:Bn}function jr(Me,Bn,Hn,zn){if(Bn===void 0||Bn.length===0)return Me;if(Me===void 0)return Bn.slice(Hn,zn);Hn=Hn===void 0?0:po(Bn,Hn),zn=zn===void 0?Bn.length:po(Bn,zn);for(let ni=Hn;niHn(Me[Bn],Me[zn])||Vr(Bn,zn)))}function Is(Me,Bn){return Me.length===0?Me:Me.slice().sort(Bn)}function*y_(Me){for(let Bn=Me.length-1;Bn>=0;Bn--)yield Me[Bn]}function Ns(Me,Bn){let Hn=Wr(Me);return ks(Me,Hn,Bn),Hn.map((Bn=>Me[Bn]))}function Kc(Me,Bn,Hn,zn){for(;Hn>1),Ps=Hn(Me[ni],ni);switch(zn(Ps,Bn)){case-1:Ci=ni+1;break;case 0:return ni;case 1:ts=ni-1;break}}return~Ci}function Qa(Me,Bn,Hn,zn,ni){if(Me&&Me.length>0){let Ci=Me.length;if(Ci>0){let ts=zn===void 0||zn<0?0:zn,Ps=ni===void 0||ts+ni>Ci-1?Ci-1:ts+ni,aa;for(arguments.length<=2?(aa=Me[ts],ts++):aa=Hn;ts<=Ps;)aa=Bn(aa,Me[ts],ts),ts++;return aa}}return Hn}function Jr(Me,Bn){return so.call(Me,Bn)}function Qc(Me,Bn){return so.call(Me,Bn)?Me[Bn]:void 0}function ho(Me){let Bn=[];for(let Hn in Me)so.call(Me,Hn)&&Bn.push(Hn);return Bn}function T_(Me){let Bn=[];do{let Hn=Object.getOwnPropertyNames(Me);for(let Me of Hn)qn(Bn,Me)}while(Me=Object.getPrototypeOf(Me));return Bn}function go(Me){let Bn=[];for(let Hn in Me)so.call(Me,Hn)&&Bn.push(Me[Hn]);return Bn}function yo(Me,Bn){let Hn=new Array(Me);for(let zn=0;zn1?Bn-1:0),zn=1;zn2&&arguments[2]!==void 0?arguments[2]:fa;if(Me===Bn)return!0;if(!Me||!Bn)return!1;for(let zn in Me)if(so.call(Me,zn)&&(!so.call(Bn,zn)||!Hn(Me[zn],Bn[zn])))return!1;for(let Hn in Bn)if(so.call(Bn,Hn)&&!so.call(Me,Hn))return!1;return!0}function Zc(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:rr,zn=new Map;for(let ni of Me){let Me=Bn(ni);Me!==void 0&&zn.set(Me,Hn(ni))}return zn}function Os(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:rr,zn=[];for(let ni of Me)zn[Bn(ni)]=Hn(ni);return zn}function bo(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:rr,zn=Be();for(let ni of Me)zn.add(Bn(ni),Hn(ni));return zn}function el(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:rr;return Za(bo(Me,Bn).values(),Hn)}function x_(Me,Bn){var Hn;let zn={};if(Me)for(let ni of Me){let Me=`${Bn(ni)}`;((Hn=zn[Me])!=null?Hn:zn[Me]=[]).push(ni)}return zn}function E_(Me){let Bn={};for(let Hn in Me)so.call(Me,Hn)&&(Bn[Hn]=Me[Hn]);return Bn}function S(Me,Bn){let Hn={};for(let Me in Bn)so.call(Bn,Me)&&(Hn[Me]=Bn[Me]);for(let Bn in Me)so.call(Me,Bn)&&(Hn[Bn]=Me[Bn]);return Hn}function H(Me,Bn){for(let Hn in Bn)so.call(Bn,Hn)&&(Me[Hn]=Bn[Hn])}function le(Me,Bn){return Bn?Bn.bind(Me):void 0}function Be(){let Me=new Map;return Me.add=rt,Me.remove=ut,Me}function rt(Me,Bn){let Hn=this.get(Me);return Hn?Hn.push(Bn):this.set(Me,Hn=[Bn]),Hn}function ut(Me,Bn){let Hn=this.get(Me);Hn&&(bT(Hn,Bn),Hn.length||this.delete(Me))}function Ht(){return Be()}function Fr(Me){let Bn=(Me==null?void 0:Me.slice())||[],Hn=0;function s(){return Hn===Bn.length}function f(){Bn.push(...arguments)}function x(){if(s())throw new Error("Queue is empty");let Me=Bn[Hn];if(Bn[Hn]=void 0,Hn++,Hn>100&&Hn>Bn.length>>1){let Me=Bn.length-Hn;Bn.copyWithin(0,Hn),Bn.length=Me,Hn=0}return Me}return{enqueue:f,dequeue:x,isEmpty:s}}function Cr(Me,Bn){let Hn=new Map,zn=0;function*f(){for(let Me of Hn.values())ir(Me)?yield*Me:yield Me}let ni={has(zn){let ni=Me(zn);if(!Hn.has(ni))return!1;let Ci=Hn.get(ni);if(!ir(Ci))return Bn(Ci,zn);for(let Me of Ci)if(Bn(Me,zn))return!0;return!1},add(ni){let Ci=Me(ni);if(Hn.has(Ci)){let Me=Hn.get(Ci);if(ir(Me))pe(Me,ni,Bn)||(Me.push(ni),zn++);else{let ts=Me;Bn(ts,ni)||(Hn.set(Ci,[ts,ni]),zn++)}}else Hn.set(Ci,ni),zn++;return this},delete(ni){let Ci=Me(ni);if(!Hn.has(Ci))return!1;let ts=Hn.get(Ci);if(ir(ts)){for(let Me=0;Mef(),[Symbol.toStringTag]:Hn[Symbol.toStringTag]};return ni}function ir(Me){return Array.isArray(Me)}function en(Me){return ir(Me)?Me:[Me]}function Ji(Me){return typeof Me=="string"}function gi(Me){return typeof Me=="number"}function ln(Me,Bn){return Me!==void 0&&Bn(Me)?Me:void 0}function ti(Me,Bn){return Me!==void 0&&Bn(Me)?Me:qp.fail(`Invalid cast. The supplied value ${Me} did not pass the test '${qp.getFunctionName(Bn)}'.`)}function yn(Me){}function w_(){return!1}function vp(){return!0}function C1(){}function rr(Me){return Me}function bp(Me){return Me.toLowerCase()}function Tp(Me){return Jo.test(Me)?Me.replace(Jo,bp):Me}function A1(){throw new Error("Not implemented")}function tl(Me){let Bn;return()=>(Me&&(Bn=Me(),Me=void 0),Bn)}function An(Me){let Bn=new Map;return Hn=>{let zn=`${typeof Hn}:${Hn}`,ni=Bn.get(zn);return ni===void 0&&!Bn.has(zn)&&(ni=Me(Hn),Bn.set(zn,ni)),ni}}function P1(Me){let Bn=new WeakMap;return Hn=>{let zn=Bn.get(Hn);return zn===void 0&&!Bn.has(Hn)&&(zn=Me(Hn),Bn.set(Hn,zn)),zn}}function D1(Me,Bn){return function(){for(var Hn=arguments.length,zn=new Array(Hn),ni=0;niQa(Me,((Me,Bn)=>Bn(Me)),Bn)}else return zn?ni=>zn(Hn(Bn(Me(ni)))):Hn?zn=>Hn(Bn(Me(zn))):Bn?Hn=>Bn(Me(Hn)):Me?Bn=>Me(Bn):Me=>Me}function fa(Me,Bn){return Me===Bn}function Ms(Me,Bn){return Me===Bn||Me!==void 0&&Bn!==void 0&&Me.toUpperCase()===Bn.toUpperCase()}function To(Me,Bn){return fa(Me,Bn)}function Sp(Me,Bn){return Me===Bn?0:Me===void 0?-1:Bn===void 0?1:MeBn(Me,Hn)===-1?Me:Hn))}function C_(Me,Bn){return Me===Bn?0:Me===void 0?-1:Bn===void 0?1:(Me=Me.toUpperCase(),Bn=Bn.toUpperCase(),MeBn?1:0)}function O1(Me,Bn){return Me===Bn?0:Me===void 0?-1:Bn===void 0?1:(Me=Me.toLowerCase(),Bn=Bn.toLowerCase(),MeBn?1:0)}function ri(Me,Bn){return Sp(Me,Bn)}function rl(Me){return Me?C_:ri}function M1(){return Jc}function xp(Me){Jc!==Me&&(Jc=Me,Fc=void 0)}function L1(Me,Bn){return(Fc||(Fc=dc(Jc)))(Me,Bn)}function R1(Me,Bn,Hn,zn){return Me===Bn?0:Me===void 0?-1:Bn===void 0?1:zn(Me[Hn],Bn[Hn])}function j1(Me,Bn){return Vr(Me?1:0,Bn?1:0)}function Ep(Me,Bn,Hn){let zn=Math.max(2,Math.floor(Me.length*.34)),ni=Math.floor(Me.length*.4)+1,Ci;for(let ts of Bn){let Bn=Hn(ts);if(Bn!==void 0&&Math.abs(Bn.length-Me.length)<=zn){if(Bn===Me||Bn.length<3&&Bn.toLowerCase()!==Me.toLowerCase())continue;let Hn=J1(Me,Bn,ni-.1);if(Hn===void 0)continue;qp.assert(HnHn?ts-Hn:1),oa=Math.floor(Bn.length>Hn+ts?Hn+ts:Bn.length);ni[0]=ts;let ca=ts;for(let Me=1;MeHn)return;let _a=zn;zn=ni,ni=_a}let ts=zn[Bn.length];return ts>Hn?void 0:ts}function es(Me,Bn){let Hn=Me.length-Bn.length;return Hn>=0&&Me.indexOf(Bn,Hn)===Hn}function F1(Me,Bn){return es(Me,Bn)?Me.slice(0,Me.length-Bn.length):Me}function B1(Me,Bn){return es(Me,Bn)?Me.slice(0,Me.length-Bn.length):void 0}function Fi(Me,Bn){return Me.indexOf(Bn)!==-1}function q1(Me){let Bn=Me.length;for(let Hn=Bn-1;Hn>0;Hn--){let zn=Me.charCodeAt(Hn);if(zn>=48&&zn<=57)do{--Hn,zn=Me.charCodeAt(Hn)}while(Hn>0&&zn>=48&&zn<=57);else if(Hn>4&&(zn===110||zn===78)){if(--Hn,zn=Me.charCodeAt(Hn),zn!==105&&zn!==73||(--Hn,zn=Me.charCodeAt(Hn),zn!==109&&zn!==77))break;--Hn,zn=Me.charCodeAt(Hn)}else break;if(zn!==45&&zn!==46)break;Bn=Hn}return Bn===Me.length?Me:Me.slice(0,Bn)}function J(Me,Bn){for(let Hn=0;HnMe===Bn))}function b5(Me,Bn){for(let Hn=0;Hnni&&(ni=Me.prefix.length,zn=Ci)}return zn}function Pn(Me,Bn){return Me.lastIndexOf(Bn,0)===0}function x5(Me,Bn){return Pn(Me,Bn)?Me.substr(Bn.length):Me}function ST(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:rr;return Pn(Hn(Me),Hn(Bn))?Me.substring(Bn.length):void 0}function z1(Me,Bn){let{prefix:Hn,suffix:zn}=Me;return Bn.length>=Hn.length+zn.length&&Pn(Bn,Hn)&&es(Bn,zn)}function E5(Me,Bn){return Hn=>Me(Hn)&&Bn(Hn)}function W1(){for(var Me=arguments.length,Bn=new Array(Me),Hn=0;Hn2&&arguments[2]!==void 0?arguments[2]:" ";return Bn<=Me.length?Me:Hn.repeat(Bn-Me.length)+Me}function k5(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:" ";return Bn<=Me.length?Me:Me+Hn.repeat(Bn-Me.length)}function I5(Me,Bn){if(Me){let Hn=Me.length,zn=0;for(;zn=0&&os(Me.charCodeAt(Bn));)Bn--;return Me.slice(0,Bn+1)}function M5(){return typeof ts<"u"&&ts.nextTick&&!ts.browser&&typeof Bn=="object"}var ca,_a,xa,Ga,Ha,so,oo,Jo,tc,dc,Fc,Jc,Dp,kp,Qp,Up=D({"src/compiler/core.ts"(){"use strict";Gw(),ca=[],_a=new Map,xa=new Set,Ga=(Me=>(Me[Me.None=0]="None",Me[Me.CaseSensitive=1]="CaseSensitive",Me[Me.CaseInsensitive=2]="CaseInsensitive",Me[Me.Both=3]="Both",Me))(Ga||{}),Ha=Array.prototype.at?(Me,Bn)=>Me==null?void 0:Me.at(Bn):(Me,Bn)=>{if(Me&&(Bn=po(Me,Bn),Bn(Me[Me.None=0]="None",Me[Me.Normal=1]="Normal",Me[Me.Aggressive=2]="Aggressive",Me[Me.VeryAggressive=3]="VeryAggressive",Me))(tc||{}),dc=(()=>{let Me,Bn,Hn=A();return g;function s(Me,Bn,Hn){if(Me===Bn)return 0;if(Me===void 0)return-1;if(Bn===void 0)return 1;let zn=Hn(Me,Bn);return zn<0?-1:zn>0?1:0}function f(Me){let Bn=new Intl.Collator(Me,{usage:"sort",sensitivity:"variant"}).compare;return(Me,Hn)=>s(Me,Hn,Bn)}function x(Me){if(Me!==void 0)return w();return(Me,Bn)=>s(Me,Bn,N);function N(Me,Bn){return Me.localeCompare(Bn)}}function w(){return(Me,Bn)=>s(Me,Bn,B);function B(Me,Bn){return N(Me.toUpperCase(),Bn.toUpperCase())||N(Me,Bn)}function N(Me,Bn){return MeBn?1:0}}function A(){return typeof Intl=="object"&&typeof Intl.Collator=="function"?f:typeof String.prototype.localeCompare=="function"&&typeof String.prototype.toLocaleUpperCase=="function"&&"a".localeCompare("B")<0?x:w}function g(zn){return zn===void 0?Me||(Me=Hn(zn)):zn==="en-US"?Bn||(Bn=Hn(zn)):Hn(zn)}})(),Dp=String.prototype.trim?Me=>Me.trim():Me=>kp(Qp(Me)),kp=String.prototype.trimEnd?Me=>Me.trimEnd():O5,Qp=String.prototype.trimStart?Me=>Me.trimStart():Me=>Me.replace(/^\s+/g,"")}}),Vp,qp,Jp=D({"src/compiler/debug.ts"(){"use strict";Gw(),Gw(),Vp=(Me=>(Me[Me.Off=0]="Off",Me[Me.Error=1]="Error",Me[Me.Warning=2]="Warning",Me[Me.Info=3]="Info",Me[Me.Verbose=4]="Verbose",Me))(Vp||{}),(Me=>{let Bn=0;Me.currentLogLevel=2,Me.isDebugging=!1;function r(Bn){return Me.currentLogLevel<=Bn}Me.shouldLog=r;function s(Bn,Hn){Me.loggingHost&&r(Bn)&&Me.loggingHost.log(Bn,Hn)}function f(Me){s(3,Me)}Me.log=f,(Me=>{function He(Me){s(1,Me)}Me.error=He;function _t(Me){s(2,Me)}Me.warn=_t;function ft(Me){s(3,Me)}Me.log=ft;function Kt(Me){s(4,Me)}Me.trace=Kt})(f=Me.log||(Me.log={}));let Hn={};function w(){return Bn}Me.getAssertionLevel=w;function A(zn){let ni=Bn;if(Bn=zn,zn>ni)for(let Bn of ho(Hn)){let ni=Hn[Bn];ni!==void 0&&Me[Bn]!==ni.assertion&&zn>=ni.level&&(Me[Bn]=ni,Hn[Bn]=void 0)}}Me.setAssertionLevel=A;function g(Me){return Bn>=Me}Me.shouldAssert=g;function B(Bn,zn){return g(Bn)?!0:(Hn[zn]={level:Bn,assertion:Me[zn]},Me[zn]=yn,!1)}function N(Me,Bn){debugger;let Hn=new Error(Me?`Debug Failure. ${Me}`:"Debug Failure.");throw Error.captureStackTrace&&Error.captureStackTrace(Hn,Bn||N),Hn}Me.fail=N;function X(Me,Bn,Hn){return N(`${Bn||"Unexpected node."}\r\nNode ${mr(Me.kind)} was unexpected.`,Hn||X)}Me.failBadSyntaxKind=X;function F(Me,Bn,Hn,zn){Me||(Bn=Bn?`False expression: ${Bn}`:"False expression.",Hn&&(Bn+=`\r\nVerbose Debug Information: `+(typeof Hn=="string"?Hn:Hn())),N(Bn,zn||F))}Me.assert=F;function $(Me,Bn,Hn,zn,ni){if(Me!==Bn){let Ci=Hn?zn?`${Hn} ${zn}`:Hn:"";N(`Expected ${Me} === ${Bn}. ${Ci}`,ni||$)}}Me.assertEqual=$;function ae(Me,Bn,Hn,zn){Me>=Bn&&N(`Expected ${Me} < ${Bn}. ${Hn||""}`,zn||ae)}Me.assertLessThan=ae;function Te(Me,Bn,Hn){Me>Bn&&N(`Expected ${Me} <= ${Bn}`,Hn||Te)}Me.assertLessThanOrEqual=Te;function Se(Me,Bn,Hn){Me= ${Bn}`,Hn||Se)}Me.assertGreaterThanOrEqual=Se;function Ye(Me,Bn,Hn){Me==null&&N(Bn,Hn||Ye)}Me.assertIsDefined=Ye;function Ne(Me,Bn,Hn){return Ye(Me,Bn,Hn||Ne),Me}Me.checkDefined=Ne;function oe(Me,Bn,Hn){for(let zn of Me)Ye(zn,Bn,Hn||oe)}Me.assertEachIsDefined=oe;function Ve(Me,Bn,Hn){return oe(Me,Bn,Hn||Ve),Me}Me.checkEachDefined=Ve;function pt(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Illegal value:",Hn=arguments.length>2?arguments[2]:void 0,zn=typeof Me=="object"&&Jr(Me,"kind")&&Jr(Me,"pos")?"SyntaxKind: "+mr(Me.kind):JSON.stringify(Me);return N(`${Bn} ${zn}`,Hn||pt)}Me.assertNever=pt;function Gt(Me,Bn,Hn,zn){B(1,"assertEachNode")&&F(Bn===void 0||me(Me,Bn),Hn||"Unexpected node.",(()=>`Node array did not pass test '${pn(Bn)}'.`),zn||Gt)}Me.assertEachNode=Gt;function Nt(Me,Bn,Hn,zn){B(1,"assertNode")&&F(Me!==void 0&&(Bn===void 0||Bn(Me)),Hn||"Unexpected node.",(()=>`Node ${mr(Me==null?void 0:Me.kind)} did not pass test '${pn(Bn)}'.`),zn||Nt)}Me.assertNode=Nt;function Xt(Me,Bn,Hn,zn){B(1,"assertNotNode")&&F(Me===void 0||Bn===void 0||!Bn(Me),Hn||"Unexpected node.",(()=>`Node ${mr(Me.kind)} should not have passed test '${pn(Bn)}'.`),zn||Xt)}Me.assertNotNode=Xt;function er(Me,Bn,Hn,zn){B(1,"assertOptionalNode")&&F(Bn===void 0||Me===void 0||Bn(Me),Hn||"Unexpected node.",(()=>`Node ${mr(Me==null?void 0:Me.kind)} did not pass test '${pn(Bn)}'.`),zn||er)}Me.assertOptionalNode=er;function Tn(Me,Bn,Hn,zn){B(1,"assertOptionalToken")&&F(Bn===void 0||Me===void 0||Me.kind===Bn,Hn||"Unexpected node.",(()=>`Node ${mr(Me==null?void 0:Me.kind)} was not a '${mr(Bn)}' token.`),zn||Tn)}Me.assertOptionalToken=Tn;function Hr(Me,Bn,Hn){B(1,"assertMissingNode")&&F(Me===void 0,Bn||"Unexpected node.",(()=>`Node ${mr(Me.kind)} was unexpected'.`),Hn||Hr)}Me.assertMissingNode=Hr;function Gi(Me){}Me.type=Gi;function pn(Me){if(typeof Me!="function")return"";if(Jr(Me,"name"))return Me.name;{let Bn=Function.prototype.toString.call(Me),Hn=/^function\s+([\w\$]+)\s*\(/.exec(Bn);return Hn?Hn[1]:""}}Me.getFunctionName=pn;function fn(Me){return`{ name: ${dl(Me.escapedName)}; flags: ${Sn(Me.flags)}; declarations: ${Ze(Me.declarations,(Me=>mr(Me.kind)))} }`}Me.formatSymbol=fn;function Ut(){let Me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,Bn=arguments.length>1?arguments[1]:void 0,Hn=arguments.length>2?arguments[2]:void 0,zn=an(Bn);if(Me===0)return zn.length>0&&zn[0][0]===0?zn[0][1]:"0";if(Hn){let Bn=[],Hn=Me;for(let[ni,Ci]of zn){if(ni>Me)break;ni!==0&&ni&Me&&(Bn.push(Ci),Hn&=~ni)}if(Hn===0)return Bn.join("|")}else for(let[Bn,Hn]of zn)if(Bn===Me)return Hn;return Me.toString()}Me.formatEnum=Ut;let zn=new Map;function an(Me){let Bn=zn.get(Me);if(Bn)return Bn;let Hn=[];for(let Bn in Me){let zn=Me[Bn];typeof zn=="number"&&Hn.push([zn,Bn])}let ni=Ns(Hn,((Me,Bn)=>Vr(Me[0],Bn[0])));return zn.set(Me,ni),ni}function mr(Me){return Ut(Me,Td,!1)}Me.formatSyntaxKind=mr;function $i(Me){return Ut(Me,f_,!1)}Me.formatSnippetKind=$i;function dn(Me){return Ut(Me,Pd,!0)}Me.formatNodeFlags=dn;function Ur(Me){return Ut(Me,Qh,!0)}Me.formatModifierFlags=Ur;function Gr(Me){return Ut(Me,Zg,!0)}Me.formatTransformFlags=Gr;function _r(Me){return Ut(Me,Z_,!0)}Me.formatEmitFlags=_r;function Sn(Me){return Ut(Me,_g,!0)}Me.formatSymbolFlags=Sn;function In(Me){return Ut(Me,Cg,!0)}Me.formatTypeFlags=In;function pr(Me){return Ut(Me,Bg,!0)}Me.formatSignatureFlags=pr;function Zt(Me){return Ut(Me,Dg,!0)}Me.formatObjectFlags=Zt;function Or(Me){return Ut(Me,eg,!0)}Me.formatFlowFlags=Or;function Nn(Me){return Ut(Me,sA,!0)}Me.formatRelationComparisonResult=Nn;function ar(Me){return Ut(Me,CheckMode,!0)}Me.formatCheckMode=ar;function oi(Me){return Ut(Me,SignatureCheckMode,!0)}Me.formatSignatureCheckMode=oi;function cr(Me){return Ut(Me,TypeFacts,!0)}Me.formatTypeFacts=cr;let ni=!1,Ci;function On(Me){"__debugFlowFlags"in Me||Object.defineProperties(Me,{__tsDebuggerDisplay:{value(){let Me=this.flags&2?"FlowStart":this.flags&4?"FlowBranchLabel":this.flags&8?"FlowLoopLabel":this.flags&16?"FlowAssignment":this.flags&32?"FlowTrueCondition":this.flags&64?"FlowFalseCondition":this.flags&128?"FlowSwitchClause":this.flags&256?"FlowArrayMutation":this.flags&512?"FlowCall":this.flags&1024?"FlowReduceLabel":this.flags&1?"FlowUnreachable":"UnknownFlow",Bn=this.flags&~(2048-1);return`${Me}${Bn?` (${Or(Bn)})`:""}`}},__debugFlowFlags:{get(){return Ut(this.flags,eg,!0)}},__debugToString:{value(){return St(this)}}})}function nr(Me){ni&&(typeof Object.setPrototypeOf=="function"?(Ci||(Ci=Object.create(Object.prototype),On(Ci)),Object.setPrototypeOf(Me,Ci)):On(Me))}Me.attachFlowNodeDebugInfo=nr;let ts;function Kr(Me){"__tsDebuggerDisplay"in Me||Object.defineProperties(Me,{__tsDebuggerDisplay:{value(Me){return Me=String(Me).replace(/(?:,[\s\w\d_]+:[^,]+)+\]$/,"]"),`NodeArray ${Me}`}}})}function wa(Me){ni&&(typeof Object.setPrototypeOf=="function"?(ts||(ts=Object.create(Array.prototype),Kr(ts)),Object.setPrototypeOf(Me,ts)):Kr(Me))}Me.attachNodeArrayDebugInfo=wa;function $n(){if(ni)return;let Me=new WeakMap,Bn=new WeakMap;Object.defineProperties(MC.getSymbolConstructor().prototype,{__tsDebuggerDisplay:{value(){let Me=this.flags&33554432?"TransientSymbol":"Symbol",Bn=this.flags&-33554433;return`${Me} '${rf(this)}'${Bn?` (${Sn(Bn)})`:""}`}},__debugFlags:{get(){return Sn(this.flags)}}}),Object.defineProperties(MC.getTypeConstructor().prototype,{__tsDebuggerDisplay:{value(){let Me=this.flags&98304?"NullableType":this.flags&384?`LiteralType ${JSON.stringify(this.value)}`:this.flags&2048?`LiteralType ${this.value.negative?"-":""}${this.value.base10Value}n`:this.flags&8192?"UniqueESSymbolType":this.flags&32?"EnumType":this.flags&67359327?`IntrinsicType ${this.intrinsicName}`:this.flags&1048576?"UnionType":this.flags&2097152?"IntersectionType":this.flags&4194304?"IndexType":this.flags&8388608?"IndexedAccessType":this.flags&16777216?"ConditionalType":this.flags&33554432?"SubstitutionType":this.flags&262144?"TypeParameter":this.flags&524288?this.objectFlags&3?"InterfaceType":this.objectFlags&4?"TypeReference":this.objectFlags&8?"TupleType":this.objectFlags&16?"AnonymousType":this.objectFlags&32?"MappedType":this.objectFlags&1024?"ReverseMappedType":this.objectFlags&256?"EvolvingArrayType":"ObjectType":"Type",Bn=this.flags&524288?this.objectFlags&-1344:0;return`${Me}${this.symbol?` '${rf(this.symbol)}'`:""}${Bn?` (${Zt(Bn)})`:""}`}},__debugFlags:{get(){return In(this.flags)}},__debugObjectFlags:{get(){return this.flags&524288?Zt(this.objectFlags):""}},__debugTypeToString:{value(){let Bn=Me.get(this);return Bn===void 0&&(Bn=this.checker.typeToString(this),Me.set(this,Bn)),Bn}}}),Object.defineProperties(MC.getSignatureConstructor().prototype,{__debugFlags:{get(){return pr(this.flags)}},__debugSignatureToString:{value(){var Me;return(Me=this.checker)==null?void 0:Me.signatureToString(this)}}});let Hn=[MC.getNodeConstructor(),MC.getIdentifierConstructor(),MC.getTokenConstructor(),MC.getSourceFileConstructor()];for(let Me of Hn)Jr(Me.prototype,"__debugKind")||Object.defineProperties(Me.prototype,{__tsDebuggerDisplay:{value(){return`${cs(this)?"GeneratedIdentifier":yt(this)?`Identifier '${qr(this)}'`:vn(this)?`PrivateIdentifier '${qr(this)}'`:Gn(this)?`StringLiteral ${JSON.stringify(this.text.length<10?this.text:this.text.slice(10)+"...")}`:zs(this)?`NumericLiteral ${this.text}`:Uv(this)?`BigIntLiteral ${this.text}n`:Fo(this)?"TypeParameterDeclaration":Vs(this)?"ParameterDeclaration":nc(this)?"ConstructorDeclaration":Gl(this)?"GetAccessorDeclaration":ic(this)?"SetAccessorDeclaration":Vv(this)?"CallSignatureDeclaration":R8(this)?"ConstructSignatureDeclaration":Hv(this)?"IndexSignatureDeclaration":j8(this)?"TypePredicateNode":ac(this)?"TypeReferenceNode":$l(this)?"FunctionTypeNode":Gv(this)?"ConstructorTypeNode":J8(this)?"TypeQueryNode":id(this)?"TypeLiteralNode":F8(this)?"ArrayTypeNode":B8(this)?"TupleTypeNode":q8(this)?"OptionalTypeNode":U8(this)?"RestTypeNode":z8(this)?"UnionTypeNode":W8(this)?"IntersectionTypeNode":V8(this)?"ConditionalTypeNode":H8(this)?"InferTypeNode":Kv(this)?"ParenthesizedTypeNode":Xv(this)?"ThisTypeNode":G8(this)?"TypeOperatorNode":$8(this)?"IndexedAccessTypeNode":K8(this)?"MappedTypeNode":Yv(this)?"LiteralTypeNode":$v(this)?"NamedTupleMember":Kl(this)?"ImportTypeNode":mr(this.kind)}${this.flags?` (${dn(this.flags)})`:""}`}},__debugKind:{get(){return mr(this.kind)}},__debugNodeFlags:{get(){return dn(this.flags)}},__debugModifierFlags:{get(){return Ur(Y4(this))}},__debugTransformFlags:{get(){return Gr(this.transformFlags)}},__debugIsParseTreeNode:{get(){return pl(this)}},__debugEmitFlags:{get(){return _r(xi(this))}},__debugGetText:{value(Me){if(fs(this))return"";let Hn=Bn.get(this);if(Hn===void 0){let zn=fl(this),ni=zn&&Si(zn);Hn=ni?No(ni,zn,Me):"",Bn.set(this,Hn)}return Hn}}});ni=!0}Me.enableDebugInfo=$n;function Ki(Me){let Bn=Me&7,Hn=Bn===0?"in out":Bn===3?"[bivariant]":Bn===2?"in":Bn===1?"out":Bn===4?"[independent]":"";return Me&8?Hn+=" (unmeasurable)":Me&16&&(Hn+=" (unreliable)"),Hn}Me.formatVariance=Ki;class Mn{__debugToString(){var Me;switch(this.kind){case 3:return((Me=this.debugInfo)==null?void 0:Me.call(this))||"(function mapper)";case 0:return`${this.source.__debugTypeToString()} -> ${this.target.__debugTypeToString()}`;case 1:return ce(this.sources,this.targets||Ze(this.sources,(()=>"any")),((Me,Bn)=>`${Me.__debugTypeToString()} -> ${typeof Bn=="string"?Bn:Bn.__debugTypeToString()}`)).join(", ");case 2:return ce(this.sources,this.targets,((Me,Bn)=>`${Me.__debugTypeToString()} -> ${Bn().__debugTypeToString()}`)).join(", ");case 5:case 4:return`m1: ${this.mapper1.__debugToString().split(`\n`).join(`\n `)}\nm2: ${this.mapper2.__debugToString().split(`\n`).join(`\n `)}`;default:return pt(this)}}}Me.DebugTypeMapper=Mn;function _i(Bn){return Me.isDebugging?Object.setPrototypeOf(Bn,Mn.prototype):Bn}Me.attachDebugPrototypeIfDebug=_i;function Ca(Me){return console.log(St(Me))}Me.printControlFlowGraph=Ca;function St(Me){let Bn=-1;function _t(Me){return Me.id||(Me.id=Bn,Bn--),Me.id}let Hn;(Me=>{Me.lr="─",Me.ud="│",Me.dr="╭",Me.dl="╮",Me.ul="╯",Me.ur="╰",Me.udr="├",Me.udl="┤",Me.dlr="┬",Me.ulr="┴",Me.udlr="╫"})(Hn||(Hn={}));let zn;(Me=>{Me[Me.None=0]="None",Me[Me.Up=1]="Up",Me[Me.Down=2]="Down",Me[Me.Left=4]="Left",Me[Me.Right=8]="Right",Me[Me.UpDown=3]="UpDown",Me[Me.LeftRight=12]="LeftRight",Me[Me.UpLeft=5]="UpLeft",Me[Me.UpRight=9]="UpRight",Me[Me.DownLeft=6]="DownLeft",Me[Me.DownRight=10]="DownRight",Me[Me.UpDownLeft=7]="UpDownLeft",Me[Me.UpDownRight=11]="UpDownRight",Me[Me.UpLeftRight=13]="UpLeftRight",Me[Me.DownLeftRight=14]="DownLeftRight",Me[Me.UpDownLeftRight=15]="UpDownLeftRight",Me[Me.NoChildren=16]="NoChildren"})(zn||(zn={}));let ni=2032,Ci=882,ts=Object.create(null),Ps=[],aa=[],oa=Aa(Me,new Set);for(let Me of Ps)Me.text=xn(Me.flowNode,Me.circular),$s(Me);let ca=li(oa),_a=Yi(ca);return Qi(oa,0),Dt();function Mr(Me){return!!(Me.flags&128)}function gr(Me){return!!(Me.flags&12)&&!!Me.antecedents}function Ln(Me){return!!(Me.flags&ni)}function ys(Me){return!!(Me.flags&Ci)}function ci(Me){let Bn=[];for(let Hn of Me.edges)Hn.source===Me&&Bn.push(Hn.target);return Bn}function Xi(Me){let Bn=[];for(let Hn of Me.edges)Hn.target===Me&&Bn.push(Hn.source);return Bn}function Aa(Me,Bn){let Hn=_t(Me),zn=ts[Hn];if(zn&&Bn.has(Me))return zn.circular=!0,zn={id:-1,flowNode:Me,edges:[],text:"",lane:-1,endLane:-1,level:-1,circular:"circularity"},Ps.push(zn),zn;if(Bn.add(Me),!zn)if(ts[Hn]=zn={id:Hn,flowNode:Me,edges:[],text:"",lane:-1,endLane:-1,level:-1,circular:!1},Ps.push(zn),gr(Me))for(let Hn of Me.antecedents)vs(zn,Hn,Bn);else Ln(Me)&&vs(zn,Me.antecedent,Bn);return Bn.delete(Me),zn}function vs(Me,Bn,Hn){let zn=Aa(Bn,Hn),ni={source:Me,target:zn};aa.push(ni),Me.edges.push(ni),zn.edges.push(ni)}function $s(Me){if(Me.level!==-1)return Me.level;let Bn=0;for(let Hn of Xi(Me))Bn=Math.max(Bn,$s(Hn)+1);return Me.level=Bn}function li(Me){let Bn=0;for(let Hn of ci(Me))Bn=Math.max(Bn,li(Hn));return Bn+1}function Yi(Me){let Bn=Z(Array(Me),0);for(let Me of Ps)Bn[Me.level]=Math.max(Bn[Me.level],Me.text.length);return Bn}function Qi(Me,Bn){if(Me.lane===-1){Me.lane=Bn,Me.endLane=Bn;let Hn=ci(Me);for(let zn=0;zn0&&Bn++;let ni=Hn[zn];Qi(ni,Bn),ni.endLane>Me.endLane&&(Bn=ni.endLane)}Me.endLane=Bn}}function bs(Me){if(Me&2)return"Start";if(Me&4)return"Branch";if(Me&8)return"Loop";if(Me&16)return"Assignment";if(Me&32)return"True";if(Me&64)return"False";if(Me&128)return"SwitchClause";if(Me&256)return"ArrayMutation";if(Me&512)return"Call";if(Me&1024)return"ReduceLabel";if(Me&1)return"Unreachable";throw new Error}function Ai(Me){let Bn=Si(Me);return No(Bn,Me,!1)}function xn(Me,Bn){let Hn=bs(Me.flags);if(Bn&&(Hn=`${Hn}#${_t(Me)}`),ys(Me))Me.node&&(Hn+=` (${Ai(Me.node)})`);else if(Mr(Me)){let Bn=[];for(let Hn=Me.clauseStart;HnMath.max(Me,Bn.lane)),0)+1,Hn=Z(Array(Bn),""),zn=_a.map((()=>Array(Bn))),ni=_a.map((()=>Z(Array(Bn),0)));for(let Me of Ps){zn[Me.level][Me.lane]=Me;let Bn=ci(Me);for(let Hn=0;Hn0&&(Ci|=1),Hn0&&(Ci|=1),Bn0?ni[Hn-1][Me]:0,zn=Me>0?ni[Hn][Me-1]:0,Ci=ni[Hn][Me];Ci||(Bn&8&&(Ci|=12),zn&2&&(Ci|=3),ni[Hn][Me]=Ci)}for(let Bn=0;Bn0?Me.repeat(Bn):"";let Hn="";for(;Hn.length{},j5=()=>{},J5=()=>{},Wp=Date.now,F5=()=>{},zp=new Proxy((()=>{}),{get:()=>zp});function DT(Me){var Bn;if(Kf){let Hn=(Bn=Cd.get(Me))!=null?Bn:0;Cd.set(Me,Hn+1),Ad.set(Me,Wp()),Qf==null||Qf.mark(Me),typeof onProfilerEvent=="function"&&onProfilerEvent(Me)}}function B5(Me,Bn,Hn){var zn,ni;if(Kf){let Ci=(zn=Hn!==void 0?Ad.get(Hn):void 0)!=null?zn:Wp(),ts=(ni=Bn!==void 0?Ad.get(Bn):void 0)!=null?ni:Xf,Ps=wd.get(Me)||0;wd.set(Me,Ps+(Ci-ts)),Qf==null||Qf.measure(Me,Bn,Hn)}}var Qf,Yf,Kf,Xf,Ad,Cd,wd,Sd=D({"src/compiler/performance.ts"(){"use strict";Gw(),Yf={enter:yn,exit:yn},Kf=!1,Xf=Wp(),Ad=new Map,Cd=new Map,wd=new Map}}),IT=()=>{},U5=()=>{},xd;function z5(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Hn=Og[Me.category];return Bn?Hn.toLowerCase():Hn}var Td,Pd,Qh,Zh,sA,oA,hA,eg,tg,rg,ng,ig,sg,ag,og,ug,cg,lg,pg,fg,dg,hg,Ag,mg,gg,_g,yg,vg,Eg,bg,Cg,Dg,wg,Sg,Ig,xg,kg,Bg,Tg,Fg,Ng,Qg,Rg,Pg,Og,Lg,Mg,jg,Ug,Gg,Vg,Hg,qg,Jg,$g,Yg,Wg,Kg,zg,Xg,Zg,f_,Z_,ey,ty,ry,ny,iy,py,fy,Ty,Gy,Vy=D({"src/compiler/types.ts"(){"use strict";Td=(Me=>(Me[Me.Unknown=0]="Unknown",Me[Me.EndOfFileToken=1]="EndOfFileToken",Me[Me.SingleLineCommentTrivia=2]="SingleLineCommentTrivia",Me[Me.MultiLineCommentTrivia=3]="MultiLineCommentTrivia",Me[Me.NewLineTrivia=4]="NewLineTrivia",Me[Me.WhitespaceTrivia=5]="WhitespaceTrivia",Me[Me.ShebangTrivia=6]="ShebangTrivia",Me[Me.ConflictMarkerTrivia=7]="ConflictMarkerTrivia",Me[Me.NumericLiteral=8]="NumericLiteral",Me[Me.BigIntLiteral=9]="BigIntLiteral",Me[Me.StringLiteral=10]="StringLiteral",Me[Me.JsxText=11]="JsxText",Me[Me.JsxTextAllWhiteSpaces=12]="JsxTextAllWhiteSpaces",Me[Me.RegularExpressionLiteral=13]="RegularExpressionLiteral",Me[Me.NoSubstitutionTemplateLiteral=14]="NoSubstitutionTemplateLiteral",Me[Me.TemplateHead=15]="TemplateHead",Me[Me.TemplateMiddle=16]="TemplateMiddle",Me[Me.TemplateTail=17]="TemplateTail",Me[Me.OpenBraceToken=18]="OpenBraceToken",Me[Me.CloseBraceToken=19]="CloseBraceToken",Me[Me.OpenParenToken=20]="OpenParenToken",Me[Me.CloseParenToken=21]="CloseParenToken",Me[Me.OpenBracketToken=22]="OpenBracketToken",Me[Me.CloseBracketToken=23]="CloseBracketToken",Me[Me.DotToken=24]="DotToken",Me[Me.DotDotDotToken=25]="DotDotDotToken",Me[Me.SemicolonToken=26]="SemicolonToken",Me[Me.CommaToken=27]="CommaToken",Me[Me.QuestionDotToken=28]="QuestionDotToken",Me[Me.LessThanToken=29]="LessThanToken",Me[Me.LessThanSlashToken=30]="LessThanSlashToken",Me[Me.GreaterThanToken=31]="GreaterThanToken",Me[Me.LessThanEqualsToken=32]="LessThanEqualsToken",Me[Me.GreaterThanEqualsToken=33]="GreaterThanEqualsToken",Me[Me.EqualsEqualsToken=34]="EqualsEqualsToken",Me[Me.ExclamationEqualsToken=35]="ExclamationEqualsToken",Me[Me.EqualsEqualsEqualsToken=36]="EqualsEqualsEqualsToken",Me[Me.ExclamationEqualsEqualsToken=37]="ExclamationEqualsEqualsToken",Me[Me.EqualsGreaterThanToken=38]="EqualsGreaterThanToken",Me[Me.PlusToken=39]="PlusToken",Me[Me.MinusToken=40]="MinusToken",Me[Me.AsteriskToken=41]="AsteriskToken",Me[Me.AsteriskAsteriskToken=42]="AsteriskAsteriskToken",Me[Me.SlashToken=43]="SlashToken",Me[Me.PercentToken=44]="PercentToken",Me[Me.PlusPlusToken=45]="PlusPlusToken",Me[Me.MinusMinusToken=46]="MinusMinusToken",Me[Me.LessThanLessThanToken=47]="LessThanLessThanToken",Me[Me.GreaterThanGreaterThanToken=48]="GreaterThanGreaterThanToken",Me[Me.GreaterThanGreaterThanGreaterThanToken=49]="GreaterThanGreaterThanGreaterThanToken",Me[Me.AmpersandToken=50]="AmpersandToken",Me[Me.BarToken=51]="BarToken",Me[Me.CaretToken=52]="CaretToken",Me[Me.ExclamationToken=53]="ExclamationToken",Me[Me.TildeToken=54]="TildeToken",Me[Me.AmpersandAmpersandToken=55]="AmpersandAmpersandToken",Me[Me.BarBarToken=56]="BarBarToken",Me[Me.QuestionToken=57]="QuestionToken",Me[Me.ColonToken=58]="ColonToken",Me[Me.AtToken=59]="AtToken",Me[Me.QuestionQuestionToken=60]="QuestionQuestionToken",Me[Me.BacktickToken=61]="BacktickToken",Me[Me.HashToken=62]="HashToken",Me[Me.EqualsToken=63]="EqualsToken",Me[Me.PlusEqualsToken=64]="PlusEqualsToken",Me[Me.MinusEqualsToken=65]="MinusEqualsToken",Me[Me.AsteriskEqualsToken=66]="AsteriskEqualsToken",Me[Me.AsteriskAsteriskEqualsToken=67]="AsteriskAsteriskEqualsToken",Me[Me.SlashEqualsToken=68]="SlashEqualsToken",Me[Me.PercentEqualsToken=69]="PercentEqualsToken",Me[Me.LessThanLessThanEqualsToken=70]="LessThanLessThanEqualsToken",Me[Me.GreaterThanGreaterThanEqualsToken=71]="GreaterThanGreaterThanEqualsToken",Me[Me.GreaterThanGreaterThanGreaterThanEqualsToken=72]="GreaterThanGreaterThanGreaterThanEqualsToken",Me[Me.AmpersandEqualsToken=73]="AmpersandEqualsToken",Me[Me.BarEqualsToken=74]="BarEqualsToken",Me[Me.BarBarEqualsToken=75]="BarBarEqualsToken",Me[Me.AmpersandAmpersandEqualsToken=76]="AmpersandAmpersandEqualsToken",Me[Me.QuestionQuestionEqualsToken=77]="QuestionQuestionEqualsToken",Me[Me.CaretEqualsToken=78]="CaretEqualsToken",Me[Me.Identifier=79]="Identifier",Me[Me.PrivateIdentifier=80]="PrivateIdentifier",Me[Me.BreakKeyword=81]="BreakKeyword",Me[Me.CaseKeyword=82]="CaseKeyword",Me[Me.CatchKeyword=83]="CatchKeyword",Me[Me.ClassKeyword=84]="ClassKeyword",Me[Me.ConstKeyword=85]="ConstKeyword",Me[Me.ContinueKeyword=86]="ContinueKeyword",Me[Me.DebuggerKeyword=87]="DebuggerKeyword",Me[Me.DefaultKeyword=88]="DefaultKeyword",Me[Me.DeleteKeyword=89]="DeleteKeyword",Me[Me.DoKeyword=90]="DoKeyword",Me[Me.ElseKeyword=91]="ElseKeyword",Me[Me.EnumKeyword=92]="EnumKeyword",Me[Me.ExportKeyword=93]="ExportKeyword",Me[Me.ExtendsKeyword=94]="ExtendsKeyword",Me[Me.FalseKeyword=95]="FalseKeyword",Me[Me.FinallyKeyword=96]="FinallyKeyword",Me[Me.ForKeyword=97]="ForKeyword",Me[Me.FunctionKeyword=98]="FunctionKeyword",Me[Me.IfKeyword=99]="IfKeyword",Me[Me.ImportKeyword=100]="ImportKeyword",Me[Me.InKeyword=101]="InKeyword",Me[Me.InstanceOfKeyword=102]="InstanceOfKeyword",Me[Me.NewKeyword=103]="NewKeyword",Me[Me.NullKeyword=104]="NullKeyword",Me[Me.ReturnKeyword=105]="ReturnKeyword",Me[Me.SuperKeyword=106]="SuperKeyword",Me[Me.SwitchKeyword=107]="SwitchKeyword",Me[Me.ThisKeyword=108]="ThisKeyword",Me[Me.ThrowKeyword=109]="ThrowKeyword",Me[Me.TrueKeyword=110]="TrueKeyword",Me[Me.TryKeyword=111]="TryKeyword",Me[Me.TypeOfKeyword=112]="TypeOfKeyword",Me[Me.VarKeyword=113]="VarKeyword",Me[Me.VoidKeyword=114]="VoidKeyword",Me[Me.WhileKeyword=115]="WhileKeyword",Me[Me.WithKeyword=116]="WithKeyword",Me[Me.ImplementsKeyword=117]="ImplementsKeyword",Me[Me.InterfaceKeyword=118]="InterfaceKeyword",Me[Me.LetKeyword=119]="LetKeyword",Me[Me.PackageKeyword=120]="PackageKeyword",Me[Me.PrivateKeyword=121]="PrivateKeyword",Me[Me.ProtectedKeyword=122]="ProtectedKeyword",Me[Me.PublicKeyword=123]="PublicKeyword",Me[Me.StaticKeyword=124]="StaticKeyword",Me[Me.YieldKeyword=125]="YieldKeyword",Me[Me.AbstractKeyword=126]="AbstractKeyword",Me[Me.AccessorKeyword=127]="AccessorKeyword",Me[Me.AsKeyword=128]="AsKeyword",Me[Me.AssertsKeyword=129]="AssertsKeyword",Me[Me.AssertKeyword=130]="AssertKeyword",Me[Me.AnyKeyword=131]="AnyKeyword",Me[Me.AsyncKeyword=132]="AsyncKeyword",Me[Me.AwaitKeyword=133]="AwaitKeyword",Me[Me.BooleanKeyword=134]="BooleanKeyword",Me[Me.ConstructorKeyword=135]="ConstructorKeyword",Me[Me.DeclareKeyword=136]="DeclareKeyword",Me[Me.GetKeyword=137]="GetKeyword",Me[Me.InferKeyword=138]="InferKeyword",Me[Me.IntrinsicKeyword=139]="IntrinsicKeyword",Me[Me.IsKeyword=140]="IsKeyword",Me[Me.KeyOfKeyword=141]="KeyOfKeyword",Me[Me.ModuleKeyword=142]="ModuleKeyword",Me[Me.NamespaceKeyword=143]="NamespaceKeyword",Me[Me.NeverKeyword=144]="NeverKeyword",Me[Me.OutKeyword=145]="OutKeyword",Me[Me.ReadonlyKeyword=146]="ReadonlyKeyword",Me[Me.RequireKeyword=147]="RequireKeyword",Me[Me.NumberKeyword=148]="NumberKeyword",Me[Me.ObjectKeyword=149]="ObjectKeyword",Me[Me.SatisfiesKeyword=150]="SatisfiesKeyword",Me[Me.SetKeyword=151]="SetKeyword",Me[Me.StringKeyword=152]="StringKeyword",Me[Me.SymbolKeyword=153]="SymbolKeyword",Me[Me.TypeKeyword=154]="TypeKeyword",Me[Me.UndefinedKeyword=155]="UndefinedKeyword",Me[Me.UniqueKeyword=156]="UniqueKeyword",Me[Me.UnknownKeyword=157]="UnknownKeyword",Me[Me.FromKeyword=158]="FromKeyword",Me[Me.GlobalKeyword=159]="GlobalKeyword",Me[Me.BigIntKeyword=160]="BigIntKeyword",Me[Me.OverrideKeyword=161]="OverrideKeyword",Me[Me.OfKeyword=162]="OfKeyword",Me[Me.QualifiedName=163]="QualifiedName",Me[Me.ComputedPropertyName=164]="ComputedPropertyName",Me[Me.TypeParameter=165]="TypeParameter",Me[Me.Parameter=166]="Parameter",Me[Me.Decorator=167]="Decorator",Me[Me.PropertySignature=168]="PropertySignature",Me[Me.PropertyDeclaration=169]="PropertyDeclaration",Me[Me.MethodSignature=170]="MethodSignature",Me[Me.MethodDeclaration=171]="MethodDeclaration",Me[Me.ClassStaticBlockDeclaration=172]="ClassStaticBlockDeclaration",Me[Me.Constructor=173]="Constructor",Me[Me.GetAccessor=174]="GetAccessor",Me[Me.SetAccessor=175]="SetAccessor",Me[Me.CallSignature=176]="CallSignature",Me[Me.ConstructSignature=177]="ConstructSignature",Me[Me.IndexSignature=178]="IndexSignature",Me[Me.TypePredicate=179]="TypePredicate",Me[Me.TypeReference=180]="TypeReference",Me[Me.FunctionType=181]="FunctionType",Me[Me.ConstructorType=182]="ConstructorType",Me[Me.TypeQuery=183]="TypeQuery",Me[Me.TypeLiteral=184]="TypeLiteral",Me[Me.ArrayType=185]="ArrayType",Me[Me.TupleType=186]="TupleType",Me[Me.OptionalType=187]="OptionalType",Me[Me.RestType=188]="RestType",Me[Me.UnionType=189]="UnionType",Me[Me.IntersectionType=190]="IntersectionType",Me[Me.ConditionalType=191]="ConditionalType",Me[Me.InferType=192]="InferType",Me[Me.ParenthesizedType=193]="ParenthesizedType",Me[Me.ThisType=194]="ThisType",Me[Me.TypeOperator=195]="TypeOperator",Me[Me.IndexedAccessType=196]="IndexedAccessType",Me[Me.MappedType=197]="MappedType",Me[Me.LiteralType=198]="LiteralType",Me[Me.NamedTupleMember=199]="NamedTupleMember",Me[Me.TemplateLiteralType=200]="TemplateLiteralType",Me[Me.TemplateLiteralTypeSpan=201]="TemplateLiteralTypeSpan",Me[Me.ImportType=202]="ImportType",Me[Me.ObjectBindingPattern=203]="ObjectBindingPattern",Me[Me.ArrayBindingPattern=204]="ArrayBindingPattern",Me[Me.BindingElement=205]="BindingElement",Me[Me.ArrayLiteralExpression=206]="ArrayLiteralExpression",Me[Me.ObjectLiteralExpression=207]="ObjectLiteralExpression",Me[Me.PropertyAccessExpression=208]="PropertyAccessExpression",Me[Me.ElementAccessExpression=209]="ElementAccessExpression",Me[Me.CallExpression=210]="CallExpression",Me[Me.NewExpression=211]="NewExpression",Me[Me.TaggedTemplateExpression=212]="TaggedTemplateExpression",Me[Me.TypeAssertionExpression=213]="TypeAssertionExpression",Me[Me.ParenthesizedExpression=214]="ParenthesizedExpression",Me[Me.FunctionExpression=215]="FunctionExpression",Me[Me.ArrowFunction=216]="ArrowFunction",Me[Me.DeleteExpression=217]="DeleteExpression",Me[Me.TypeOfExpression=218]="TypeOfExpression",Me[Me.VoidExpression=219]="VoidExpression",Me[Me.AwaitExpression=220]="AwaitExpression",Me[Me.PrefixUnaryExpression=221]="PrefixUnaryExpression",Me[Me.PostfixUnaryExpression=222]="PostfixUnaryExpression",Me[Me.BinaryExpression=223]="BinaryExpression",Me[Me.ConditionalExpression=224]="ConditionalExpression",Me[Me.TemplateExpression=225]="TemplateExpression",Me[Me.YieldExpression=226]="YieldExpression",Me[Me.SpreadElement=227]="SpreadElement",Me[Me.ClassExpression=228]="ClassExpression",Me[Me.OmittedExpression=229]="OmittedExpression",Me[Me.ExpressionWithTypeArguments=230]="ExpressionWithTypeArguments",Me[Me.AsExpression=231]="AsExpression",Me[Me.NonNullExpression=232]="NonNullExpression",Me[Me.MetaProperty=233]="MetaProperty",Me[Me.SyntheticExpression=234]="SyntheticExpression",Me[Me.SatisfiesExpression=235]="SatisfiesExpression",Me[Me.TemplateSpan=236]="TemplateSpan",Me[Me.SemicolonClassElement=237]="SemicolonClassElement",Me[Me.Block=238]="Block",Me[Me.EmptyStatement=239]="EmptyStatement",Me[Me.VariableStatement=240]="VariableStatement",Me[Me.ExpressionStatement=241]="ExpressionStatement",Me[Me.IfStatement=242]="IfStatement",Me[Me.DoStatement=243]="DoStatement",Me[Me.WhileStatement=244]="WhileStatement",Me[Me.ForStatement=245]="ForStatement",Me[Me.ForInStatement=246]="ForInStatement",Me[Me.ForOfStatement=247]="ForOfStatement",Me[Me.ContinueStatement=248]="ContinueStatement",Me[Me.BreakStatement=249]="BreakStatement",Me[Me.ReturnStatement=250]="ReturnStatement",Me[Me.WithStatement=251]="WithStatement",Me[Me.SwitchStatement=252]="SwitchStatement",Me[Me.LabeledStatement=253]="LabeledStatement",Me[Me.ThrowStatement=254]="ThrowStatement",Me[Me.TryStatement=255]="TryStatement",Me[Me.DebuggerStatement=256]="DebuggerStatement",Me[Me.VariableDeclaration=257]="VariableDeclaration",Me[Me.VariableDeclarationList=258]="VariableDeclarationList",Me[Me.FunctionDeclaration=259]="FunctionDeclaration",Me[Me.ClassDeclaration=260]="ClassDeclaration",Me[Me.InterfaceDeclaration=261]="InterfaceDeclaration",Me[Me.TypeAliasDeclaration=262]="TypeAliasDeclaration",Me[Me.EnumDeclaration=263]="EnumDeclaration",Me[Me.ModuleDeclaration=264]="ModuleDeclaration",Me[Me.ModuleBlock=265]="ModuleBlock",Me[Me.CaseBlock=266]="CaseBlock",Me[Me.NamespaceExportDeclaration=267]="NamespaceExportDeclaration",Me[Me.ImportEqualsDeclaration=268]="ImportEqualsDeclaration",Me[Me.ImportDeclaration=269]="ImportDeclaration",Me[Me.ImportClause=270]="ImportClause",Me[Me.NamespaceImport=271]="NamespaceImport",Me[Me.NamedImports=272]="NamedImports",Me[Me.ImportSpecifier=273]="ImportSpecifier",Me[Me.ExportAssignment=274]="ExportAssignment",Me[Me.ExportDeclaration=275]="ExportDeclaration",Me[Me.NamedExports=276]="NamedExports",Me[Me.NamespaceExport=277]="NamespaceExport",Me[Me.ExportSpecifier=278]="ExportSpecifier",Me[Me.MissingDeclaration=279]="MissingDeclaration",Me[Me.ExternalModuleReference=280]="ExternalModuleReference",Me[Me.JsxElement=281]="JsxElement",Me[Me.JsxSelfClosingElement=282]="JsxSelfClosingElement",Me[Me.JsxOpeningElement=283]="JsxOpeningElement",Me[Me.JsxClosingElement=284]="JsxClosingElement",Me[Me.JsxFragment=285]="JsxFragment",Me[Me.JsxOpeningFragment=286]="JsxOpeningFragment",Me[Me.JsxClosingFragment=287]="JsxClosingFragment",Me[Me.JsxAttribute=288]="JsxAttribute",Me[Me.JsxAttributes=289]="JsxAttributes",Me[Me.JsxSpreadAttribute=290]="JsxSpreadAttribute",Me[Me.JsxExpression=291]="JsxExpression",Me[Me.CaseClause=292]="CaseClause",Me[Me.DefaultClause=293]="DefaultClause",Me[Me.HeritageClause=294]="HeritageClause",Me[Me.CatchClause=295]="CatchClause",Me[Me.AssertClause=296]="AssertClause",Me[Me.AssertEntry=297]="AssertEntry",Me[Me.ImportTypeAssertionContainer=298]="ImportTypeAssertionContainer",Me[Me.PropertyAssignment=299]="PropertyAssignment",Me[Me.ShorthandPropertyAssignment=300]="ShorthandPropertyAssignment",Me[Me.SpreadAssignment=301]="SpreadAssignment",Me[Me.EnumMember=302]="EnumMember",Me[Me.UnparsedPrologue=303]="UnparsedPrologue",Me[Me.UnparsedPrepend=304]="UnparsedPrepend",Me[Me.UnparsedText=305]="UnparsedText",Me[Me.UnparsedInternalText=306]="UnparsedInternalText",Me[Me.UnparsedSyntheticReference=307]="UnparsedSyntheticReference",Me[Me.SourceFile=308]="SourceFile",Me[Me.Bundle=309]="Bundle",Me[Me.UnparsedSource=310]="UnparsedSource",Me[Me.InputFiles=311]="InputFiles",Me[Me.JSDocTypeExpression=312]="JSDocTypeExpression",Me[Me.JSDocNameReference=313]="JSDocNameReference",Me[Me.JSDocMemberName=314]="JSDocMemberName",Me[Me.JSDocAllType=315]="JSDocAllType",Me[Me.JSDocUnknownType=316]="JSDocUnknownType",Me[Me.JSDocNullableType=317]="JSDocNullableType",Me[Me.JSDocNonNullableType=318]="JSDocNonNullableType",Me[Me.JSDocOptionalType=319]="JSDocOptionalType",Me[Me.JSDocFunctionType=320]="JSDocFunctionType",Me[Me.JSDocVariadicType=321]="JSDocVariadicType",Me[Me.JSDocNamepathType=322]="JSDocNamepathType",Me[Me.JSDoc=323]="JSDoc",Me[Me.JSDocComment=323]="JSDocComment",Me[Me.JSDocText=324]="JSDocText",Me[Me.JSDocTypeLiteral=325]="JSDocTypeLiteral",Me[Me.JSDocSignature=326]="JSDocSignature",Me[Me.JSDocLink=327]="JSDocLink",Me[Me.JSDocLinkCode=328]="JSDocLinkCode",Me[Me.JSDocLinkPlain=329]="JSDocLinkPlain",Me[Me.JSDocTag=330]="JSDocTag",Me[Me.JSDocAugmentsTag=331]="JSDocAugmentsTag",Me[Me.JSDocImplementsTag=332]="JSDocImplementsTag",Me[Me.JSDocAuthorTag=333]="JSDocAuthorTag",Me[Me.JSDocDeprecatedTag=334]="JSDocDeprecatedTag",Me[Me.JSDocClassTag=335]="JSDocClassTag",Me[Me.JSDocPublicTag=336]="JSDocPublicTag",Me[Me.JSDocPrivateTag=337]="JSDocPrivateTag",Me[Me.JSDocProtectedTag=338]="JSDocProtectedTag",Me[Me.JSDocReadonlyTag=339]="JSDocReadonlyTag",Me[Me.JSDocOverrideTag=340]="JSDocOverrideTag",Me[Me.JSDocCallbackTag=341]="JSDocCallbackTag",Me[Me.JSDocOverloadTag=342]="JSDocOverloadTag",Me[Me.JSDocEnumTag=343]="JSDocEnumTag",Me[Me.JSDocParameterTag=344]="JSDocParameterTag",Me[Me.JSDocReturnTag=345]="JSDocReturnTag",Me[Me.JSDocThisTag=346]="JSDocThisTag",Me[Me.JSDocTypeTag=347]="JSDocTypeTag",Me[Me.JSDocTemplateTag=348]="JSDocTemplateTag",Me[Me.JSDocTypedefTag=349]="JSDocTypedefTag",Me[Me.JSDocSeeTag=350]="JSDocSeeTag",Me[Me.JSDocPropertyTag=351]="JSDocPropertyTag",Me[Me.JSDocThrowsTag=352]="JSDocThrowsTag",Me[Me.JSDocSatisfiesTag=353]="JSDocSatisfiesTag",Me[Me.SyntaxList=354]="SyntaxList",Me[Me.NotEmittedStatement=355]="NotEmittedStatement",Me[Me.PartiallyEmittedExpression=356]="PartiallyEmittedExpression",Me[Me.CommaListExpression=357]="CommaListExpression",Me[Me.MergeDeclarationMarker=358]="MergeDeclarationMarker",Me[Me.EndOfDeclarationMarker=359]="EndOfDeclarationMarker",Me[Me.SyntheticReferenceExpression=360]="SyntheticReferenceExpression",Me[Me.Count=361]="Count",Me[Me.FirstAssignment=63]="FirstAssignment",Me[Me.LastAssignment=78]="LastAssignment",Me[Me.FirstCompoundAssignment=64]="FirstCompoundAssignment",Me[Me.LastCompoundAssignment=78]="LastCompoundAssignment",Me[Me.FirstReservedWord=81]="FirstReservedWord",Me[Me.LastReservedWord=116]="LastReservedWord",Me[Me.FirstKeyword=81]="FirstKeyword",Me[Me.LastKeyword=162]="LastKeyword",Me[Me.FirstFutureReservedWord=117]="FirstFutureReservedWord",Me[Me.LastFutureReservedWord=125]="LastFutureReservedWord",Me[Me.FirstTypeNode=179]="FirstTypeNode",Me[Me.LastTypeNode=202]="LastTypeNode",Me[Me.FirstPunctuation=18]="FirstPunctuation",Me[Me.LastPunctuation=78]="LastPunctuation",Me[Me.FirstToken=0]="FirstToken",Me[Me.LastToken=162]="LastToken",Me[Me.FirstTriviaToken=2]="FirstTriviaToken",Me[Me.LastTriviaToken=7]="LastTriviaToken",Me[Me.FirstLiteralToken=8]="FirstLiteralToken",Me[Me.LastLiteralToken=14]="LastLiteralToken",Me[Me.FirstTemplateToken=14]="FirstTemplateToken",Me[Me.LastTemplateToken=17]="LastTemplateToken",Me[Me.FirstBinaryOperator=29]="FirstBinaryOperator",Me[Me.LastBinaryOperator=78]="LastBinaryOperator",Me[Me.FirstStatement=240]="FirstStatement",Me[Me.LastStatement=256]="LastStatement",Me[Me.FirstNode=163]="FirstNode",Me[Me.FirstJSDocNode=312]="FirstJSDocNode",Me[Me.LastJSDocNode=353]="LastJSDocNode",Me[Me.FirstJSDocTagNode=330]="FirstJSDocTagNode",Me[Me.LastJSDocTagNode=353]="LastJSDocTagNode",Me[Me.FirstContextualKeyword=126]="FirstContextualKeyword",Me[Me.LastContextualKeyword=162]="LastContextualKeyword",Me))(Td||{}),Pd=(Me=>(Me[Me.None=0]="None",Me[Me.Let=1]="Let",Me[Me.Const=2]="Const",Me[Me.NestedNamespace=4]="NestedNamespace",Me[Me.Synthesized=8]="Synthesized",Me[Me.Namespace=16]="Namespace",Me[Me.OptionalChain=32]="OptionalChain",Me[Me.ExportContext=64]="ExportContext",Me[Me.ContainsThis=128]="ContainsThis",Me[Me.HasImplicitReturn=256]="HasImplicitReturn",Me[Me.HasExplicitReturn=512]="HasExplicitReturn",Me[Me.GlobalAugmentation=1024]="GlobalAugmentation",Me[Me.HasAsyncFunctions=2048]="HasAsyncFunctions",Me[Me.DisallowInContext=4096]="DisallowInContext",Me[Me.YieldContext=8192]="YieldContext",Me[Me.DecoratorContext=16384]="DecoratorContext",Me[Me.AwaitContext=32768]="AwaitContext",Me[Me.DisallowConditionalTypesContext=65536]="DisallowConditionalTypesContext",Me[Me.ThisNodeHasError=131072]="ThisNodeHasError",Me[Me.JavaScriptFile=262144]="JavaScriptFile",Me[Me.ThisNodeOrAnySubNodesHasError=524288]="ThisNodeOrAnySubNodesHasError",Me[Me.HasAggregatedChildData=1048576]="HasAggregatedChildData",Me[Me.PossiblyContainsDynamicImport=2097152]="PossiblyContainsDynamicImport",Me[Me.PossiblyContainsImportMeta=4194304]="PossiblyContainsImportMeta",Me[Me.JSDoc=8388608]="JSDoc",Me[Me.Ambient=16777216]="Ambient",Me[Me.InWithStatement=33554432]="InWithStatement",Me[Me.JsonFile=67108864]="JsonFile",Me[Me.TypeCached=134217728]="TypeCached",Me[Me.Deprecated=268435456]="Deprecated",Me[Me.BlockScoped=3]="BlockScoped",Me[Me.ReachabilityCheckFlags=768]="ReachabilityCheckFlags",Me[Me.ReachabilityAndEmitFlags=2816]="ReachabilityAndEmitFlags",Me[Me.ContextFlags=50720768]="ContextFlags",Me[Me.TypeExcludesFlags=40960]="TypeExcludesFlags",Me[Me.PermanentlySetIncrementalFlags=6291456]="PermanentlySetIncrementalFlags",Me[Me.IdentifierHasExtendedUnicodeEscape=128]="IdentifierHasExtendedUnicodeEscape",Me[Me.IdentifierIsInJSDocNamespace=2048]="IdentifierIsInJSDocNamespace",Me))(Pd||{}),Qh=(Me=>(Me[Me.None=0]="None",Me[Me.Export=1]="Export",Me[Me.Ambient=2]="Ambient",Me[Me.Public=4]="Public",Me[Me.Private=8]="Private",Me[Me.Protected=16]="Protected",Me[Me.Static=32]="Static",Me[Me.Readonly=64]="Readonly",Me[Me.Accessor=128]="Accessor",Me[Me.Abstract=256]="Abstract",Me[Me.Async=512]="Async",Me[Me.Default=1024]="Default",Me[Me.Const=2048]="Const",Me[Me.HasComputedJSDocModifiers=4096]="HasComputedJSDocModifiers",Me[Me.Deprecated=8192]="Deprecated",Me[Me.Override=16384]="Override",Me[Me.In=32768]="In",Me[Me.Out=65536]="Out",Me[Me.Decorator=131072]="Decorator",Me[Me.HasComputedFlags=536870912]="HasComputedFlags",Me[Me.AccessibilityModifier=28]="AccessibilityModifier",Me[Me.ParameterPropertyModifier=16476]="ParameterPropertyModifier",Me[Me.NonPublicAccessibilityModifier=24]="NonPublicAccessibilityModifier",Me[Me.TypeScriptModifier=117086]="TypeScriptModifier",Me[Me.ExportDefault=1025]="ExportDefault",Me[Me.All=258047]="All",Me[Me.Modifier=126975]="Modifier",Me))(Qh||{}),Zh=(Me=>(Me[Me.None=0]="None",Me[Me.IntrinsicNamedElement=1]="IntrinsicNamedElement",Me[Me.IntrinsicIndexedElement=2]="IntrinsicIndexedElement",Me[Me.IntrinsicElement=3]="IntrinsicElement",Me))(Zh||{}),sA=(Me=>(Me[Me.Succeeded=1]="Succeeded",Me[Me.Failed=2]="Failed",Me[Me.Reported=4]="Reported",Me[Me.ReportsUnmeasurable=8]="ReportsUnmeasurable",Me[Me.ReportsUnreliable=16]="ReportsUnreliable",Me[Me.ReportsMask=24]="ReportsMask",Me))(sA||{}),oA=(Me=>(Me[Me.None=0]="None",Me[Me.Auto=1]="Auto",Me[Me.Loop=2]="Loop",Me[Me.Unique=3]="Unique",Me[Me.Node=4]="Node",Me[Me.KindMask=7]="KindMask",Me[Me.ReservedInNestedScopes=8]="ReservedInNestedScopes",Me[Me.Optimistic=16]="Optimistic",Me[Me.FileLevel=32]="FileLevel",Me[Me.AllowNameSubstitution=64]="AllowNameSubstitution",Me))(oA||{}),hA=(Me=>(Me[Me.None=0]="None",Me[Me.PrecedingLineBreak=1]="PrecedingLineBreak",Me[Me.PrecedingJSDocComment=2]="PrecedingJSDocComment",Me[Me.Unterminated=4]="Unterminated",Me[Me.ExtendedUnicodeEscape=8]="ExtendedUnicodeEscape",Me[Me.Scientific=16]="Scientific",Me[Me.Octal=32]="Octal",Me[Me.HexSpecifier=64]="HexSpecifier",Me[Me.BinarySpecifier=128]="BinarySpecifier",Me[Me.OctalSpecifier=256]="OctalSpecifier",Me[Me.ContainsSeparator=512]="ContainsSeparator",Me[Me.UnicodeEscape=1024]="UnicodeEscape",Me[Me.ContainsInvalidEscape=2048]="ContainsInvalidEscape",Me[Me.BinaryOrOctalSpecifier=384]="BinaryOrOctalSpecifier",Me[Me.NumericLiteralFlags=1008]="NumericLiteralFlags",Me[Me.TemplateLiteralLikeFlags=2048]="TemplateLiteralLikeFlags",Me))(hA||{}),eg=(Me=>(Me[Me.Unreachable=1]="Unreachable",Me[Me.Start=2]="Start",Me[Me.BranchLabel=4]="BranchLabel",Me[Me.LoopLabel=8]="LoopLabel",Me[Me.Assignment=16]="Assignment",Me[Me.TrueCondition=32]="TrueCondition",Me[Me.FalseCondition=64]="FalseCondition",Me[Me.SwitchClause=128]="SwitchClause",Me[Me.ArrayMutation=256]="ArrayMutation",Me[Me.Call=512]="Call",Me[Me.ReduceLabel=1024]="ReduceLabel",Me[Me.Referenced=2048]="Referenced",Me[Me.Shared=4096]="Shared",Me[Me.Label=12]="Label",Me[Me.Condition=96]="Condition",Me))(eg||{}),tg=(Me=>(Me[Me.ExpectError=0]="ExpectError",Me[Me.Ignore=1]="Ignore",Me))(tg||{}),rg=class{},ng=(Me=>(Me[Me.RootFile=0]="RootFile",Me[Me.SourceFromProjectReference=1]="SourceFromProjectReference",Me[Me.OutputFromProjectReference=2]="OutputFromProjectReference",Me[Me.Import=3]="Import",Me[Me.ReferenceFile=4]="ReferenceFile",Me[Me.TypeReferenceDirective=5]="TypeReferenceDirective",Me[Me.LibFile=6]="LibFile",Me[Me.LibReferenceDirective=7]="LibReferenceDirective",Me[Me.AutomaticTypeDirectiveFile=8]="AutomaticTypeDirectiveFile",Me))(ng||{}),ig=(Me=>(Me[Me.FilePreprocessingReferencedDiagnostic=0]="FilePreprocessingReferencedDiagnostic",Me[Me.FilePreprocessingFileExplainingDiagnostic=1]="FilePreprocessingFileExplainingDiagnostic",Me[Me.ResolutionDiagnostics=2]="ResolutionDiagnostics",Me))(ig||{}),sg=(Me=>(Me[Me.Js=0]="Js",Me[Me.Dts=1]="Dts",Me))(sg||{}),ag=(Me=>(Me[Me.Not=0]="Not",Me[Me.SafeModules=1]="SafeModules",Me[Me.Completely=2]="Completely",Me))(ag||{}),og=(Me=>(Me[Me.Success=0]="Success",Me[Me.DiagnosticsPresent_OutputsSkipped=1]="DiagnosticsPresent_OutputsSkipped",Me[Me.DiagnosticsPresent_OutputsGenerated=2]="DiagnosticsPresent_OutputsGenerated",Me[Me.InvalidProject_OutputsSkipped=3]="InvalidProject_OutputsSkipped",Me[Me.ProjectReferenceCycle_OutputsSkipped=4]="ProjectReferenceCycle_OutputsSkipped",Me))(og||{}),ug=(Me=>(Me[Me.Ok=0]="Ok",Me[Me.NeedsOverride=1]="NeedsOverride",Me[Me.HasInvalidOverride=2]="HasInvalidOverride",Me))(ug||{}),cg=(Me=>(Me[Me.None=0]="None",Me[Me.Literal=1]="Literal",Me[Me.Subtype=2]="Subtype",Me))(cg||{}),lg=(Me=>(Me[Me.None=0]="None",Me[Me.Signature=1]="Signature",Me[Me.NoConstraints=2]="NoConstraints",Me[Me.Completions=4]="Completions",Me[Me.SkipBindingPatterns=8]="SkipBindingPatterns",Me))(lg||{}),pg=(Me=>(Me[Me.None=0]="None",Me[Me.NoTruncation=1]="NoTruncation",Me[Me.WriteArrayAsGenericType=2]="WriteArrayAsGenericType",Me[Me.GenerateNamesForShadowedTypeParams=4]="GenerateNamesForShadowedTypeParams",Me[Me.UseStructuralFallback=8]="UseStructuralFallback",Me[Me.ForbidIndexedAccessSymbolReferences=16]="ForbidIndexedAccessSymbolReferences",Me[Me.WriteTypeArgumentsOfSignature=32]="WriteTypeArgumentsOfSignature",Me[Me.UseFullyQualifiedType=64]="UseFullyQualifiedType",Me[Me.UseOnlyExternalAliasing=128]="UseOnlyExternalAliasing",Me[Me.SuppressAnyReturnType=256]="SuppressAnyReturnType",Me[Me.WriteTypeParametersInQualifiedName=512]="WriteTypeParametersInQualifiedName",Me[Me.MultilineObjectLiterals=1024]="MultilineObjectLiterals",Me[Me.WriteClassExpressionAsTypeLiteral=2048]="WriteClassExpressionAsTypeLiteral",Me[Me.UseTypeOfFunction=4096]="UseTypeOfFunction",Me[Me.OmitParameterModifiers=8192]="OmitParameterModifiers",Me[Me.UseAliasDefinedOutsideCurrentScope=16384]="UseAliasDefinedOutsideCurrentScope",Me[Me.UseSingleQuotesForStringLiteralType=268435456]="UseSingleQuotesForStringLiteralType",Me[Me.NoTypeReduction=536870912]="NoTypeReduction",Me[Me.OmitThisParameter=33554432]="OmitThisParameter",Me[Me.AllowThisInObjectLiteral=32768]="AllowThisInObjectLiteral",Me[Me.AllowQualifiedNameInPlaceOfIdentifier=65536]="AllowQualifiedNameInPlaceOfIdentifier",Me[Me.AllowAnonymousIdentifier=131072]="AllowAnonymousIdentifier",Me[Me.AllowEmptyUnionOrIntersection=262144]="AllowEmptyUnionOrIntersection",Me[Me.AllowEmptyTuple=524288]="AllowEmptyTuple",Me[Me.AllowUniqueESSymbolType=1048576]="AllowUniqueESSymbolType",Me[Me.AllowEmptyIndexInfoType=2097152]="AllowEmptyIndexInfoType",Me[Me.WriteComputedProps=1073741824]="WriteComputedProps",Me[Me.AllowNodeModulesRelativePaths=67108864]="AllowNodeModulesRelativePaths",Me[Me.DoNotIncludeSymbolChain=134217728]="DoNotIncludeSymbolChain",Me[Me.IgnoreErrors=70221824]="IgnoreErrors",Me[Me.InObjectTypeLiteral=4194304]="InObjectTypeLiteral",Me[Me.InTypeAlias=8388608]="InTypeAlias",Me[Me.InInitialEntityName=16777216]="InInitialEntityName",Me))(pg||{}),fg=(Me=>(Me[Me.None=0]="None",Me[Me.NoTruncation=1]="NoTruncation",Me[Me.WriteArrayAsGenericType=2]="WriteArrayAsGenericType",Me[Me.UseStructuralFallback=8]="UseStructuralFallback",Me[Me.WriteTypeArgumentsOfSignature=32]="WriteTypeArgumentsOfSignature",Me[Me.UseFullyQualifiedType=64]="UseFullyQualifiedType",Me[Me.SuppressAnyReturnType=256]="SuppressAnyReturnType",Me[Me.MultilineObjectLiterals=1024]="MultilineObjectLiterals",Me[Me.WriteClassExpressionAsTypeLiteral=2048]="WriteClassExpressionAsTypeLiteral",Me[Me.UseTypeOfFunction=4096]="UseTypeOfFunction",Me[Me.OmitParameterModifiers=8192]="OmitParameterModifiers",Me[Me.UseAliasDefinedOutsideCurrentScope=16384]="UseAliasDefinedOutsideCurrentScope",Me[Me.UseSingleQuotesForStringLiteralType=268435456]="UseSingleQuotesForStringLiteralType",Me[Me.NoTypeReduction=536870912]="NoTypeReduction",Me[Me.OmitThisParameter=33554432]="OmitThisParameter",Me[Me.AllowUniqueESSymbolType=1048576]="AllowUniqueESSymbolType",Me[Me.AddUndefined=131072]="AddUndefined",Me[Me.WriteArrowStyleSignature=262144]="WriteArrowStyleSignature",Me[Me.InArrayType=524288]="InArrayType",Me[Me.InElementType=2097152]="InElementType",Me[Me.InFirstTypeArgument=4194304]="InFirstTypeArgument",Me[Me.InTypeAlias=8388608]="InTypeAlias",Me[Me.NodeBuilderFlagsMask=848330091]="NodeBuilderFlagsMask",Me))(fg||{}),dg=(Me=>(Me[Me.None=0]="None",Me[Me.WriteTypeParametersOrArguments=1]="WriteTypeParametersOrArguments",Me[Me.UseOnlyExternalAliasing=2]="UseOnlyExternalAliasing",Me[Me.AllowAnyNodeKind=4]="AllowAnyNodeKind",Me[Me.UseAliasDefinedOutsideCurrentScope=8]="UseAliasDefinedOutsideCurrentScope",Me[Me.WriteComputedProps=16]="WriteComputedProps",Me[Me.DoNotIncludeSymbolChain=32]="DoNotIncludeSymbolChain",Me))(dg||{}),hg=(Me=>(Me[Me.Accessible=0]="Accessible",Me[Me.NotAccessible=1]="NotAccessible",Me[Me.CannotBeNamed=2]="CannotBeNamed",Me))(hg||{}),Ag=(Me=>(Me[Me.UnionOrIntersection=0]="UnionOrIntersection",Me[Me.Spread=1]="Spread",Me))(Ag||{}),mg=(Me=>(Me[Me.This=0]="This",Me[Me.Identifier=1]="Identifier",Me[Me.AssertsThis=2]="AssertsThis",Me[Me.AssertsIdentifier=3]="AssertsIdentifier",Me))(mg||{}),gg=(Me=>(Me[Me.Unknown=0]="Unknown",Me[Me.TypeWithConstructSignatureAndValue=1]="TypeWithConstructSignatureAndValue",Me[Me.VoidNullableOrNeverType=2]="VoidNullableOrNeverType",Me[Me.NumberLikeType=3]="NumberLikeType",Me[Me.BigIntLikeType=4]="BigIntLikeType",Me[Me.StringLikeType=5]="StringLikeType",Me[Me.BooleanType=6]="BooleanType",Me[Me.ArrayLikeType=7]="ArrayLikeType",Me[Me.ESSymbolType=8]="ESSymbolType",Me[Me.Promise=9]="Promise",Me[Me.TypeWithCallSignature=10]="TypeWithCallSignature",Me[Me.ObjectType=11]="ObjectType",Me))(gg||{}),_g=(Me=>(Me[Me.None=0]="None",Me[Me.FunctionScopedVariable=1]="FunctionScopedVariable",Me[Me.BlockScopedVariable=2]="BlockScopedVariable",Me[Me.Property=4]="Property",Me[Me.EnumMember=8]="EnumMember",Me[Me.Function=16]="Function",Me[Me.Class=32]="Class",Me[Me.Interface=64]="Interface",Me[Me.ConstEnum=128]="ConstEnum",Me[Me.RegularEnum=256]="RegularEnum",Me[Me.ValueModule=512]="ValueModule",Me[Me.NamespaceModule=1024]="NamespaceModule",Me[Me.TypeLiteral=2048]="TypeLiteral",Me[Me.ObjectLiteral=4096]="ObjectLiteral",Me[Me.Method=8192]="Method",Me[Me.Constructor=16384]="Constructor",Me[Me.GetAccessor=32768]="GetAccessor",Me[Me.SetAccessor=65536]="SetAccessor",Me[Me.Signature=131072]="Signature",Me[Me.TypeParameter=262144]="TypeParameter",Me[Me.TypeAlias=524288]="TypeAlias",Me[Me.ExportValue=1048576]="ExportValue",Me[Me.Alias=2097152]="Alias",Me[Me.Prototype=4194304]="Prototype",Me[Me.ExportStar=8388608]="ExportStar",Me[Me.Optional=16777216]="Optional",Me[Me.Transient=33554432]="Transient",Me[Me.Assignment=67108864]="Assignment",Me[Me.ModuleExports=134217728]="ModuleExports",Me[Me.All=67108863]="All",Me[Me.Enum=384]="Enum",Me[Me.Variable=3]="Variable",Me[Me.Value=111551]="Value",Me[Me.Type=788968]="Type",Me[Me.Namespace=1920]="Namespace",Me[Me.Module=1536]="Module",Me[Me.Accessor=98304]="Accessor",Me[Me.FunctionScopedVariableExcludes=111550]="FunctionScopedVariableExcludes",Me[Me.BlockScopedVariableExcludes=111551]="BlockScopedVariableExcludes",Me[Me.ParameterExcludes=111551]="ParameterExcludes",Me[Me.PropertyExcludes=0]="PropertyExcludes",Me[Me.EnumMemberExcludes=900095]="EnumMemberExcludes",Me[Me.FunctionExcludes=110991]="FunctionExcludes",Me[Me.ClassExcludes=899503]="ClassExcludes",Me[Me.InterfaceExcludes=788872]="InterfaceExcludes",Me[Me.RegularEnumExcludes=899327]="RegularEnumExcludes",Me[Me.ConstEnumExcludes=899967]="ConstEnumExcludes",Me[Me.ValueModuleExcludes=110735]="ValueModuleExcludes",Me[Me.NamespaceModuleExcludes=0]="NamespaceModuleExcludes",Me[Me.MethodExcludes=103359]="MethodExcludes",Me[Me.GetAccessorExcludes=46015]="GetAccessorExcludes",Me[Me.SetAccessorExcludes=78783]="SetAccessorExcludes",Me[Me.AccessorExcludes=13247]="AccessorExcludes",Me[Me.TypeParameterExcludes=526824]="TypeParameterExcludes",Me[Me.TypeAliasExcludes=788968]="TypeAliasExcludes",Me[Me.AliasExcludes=2097152]="AliasExcludes",Me[Me.ModuleMember=2623475]="ModuleMember",Me[Me.ExportHasLocal=944]="ExportHasLocal",Me[Me.BlockScoped=418]="BlockScoped",Me[Me.PropertyOrAccessor=98308]="PropertyOrAccessor",Me[Me.ClassMember=106500]="ClassMember",Me[Me.ExportSupportsDefaultModifier=112]="ExportSupportsDefaultModifier",Me[Me.ExportDoesNotSupportDefaultModifier=-113]="ExportDoesNotSupportDefaultModifier",Me[Me.Classifiable=2885600]="Classifiable",Me[Me.LateBindingContainer=6256]="LateBindingContainer",Me))(_g||{}),yg=(Me=>(Me[Me.Numeric=0]="Numeric",Me[Me.Literal=1]="Literal",Me))(yg||{}),vg=(Me=>(Me[Me.None=0]="None",Me[Me.Instantiated=1]="Instantiated",Me[Me.SyntheticProperty=2]="SyntheticProperty",Me[Me.SyntheticMethod=4]="SyntheticMethod",Me[Me.Readonly=8]="Readonly",Me[Me.ReadPartial=16]="ReadPartial",Me[Me.WritePartial=32]="WritePartial",Me[Me.HasNonUniformType=64]="HasNonUniformType",Me[Me.HasLiteralType=128]="HasLiteralType",Me[Me.ContainsPublic=256]="ContainsPublic",Me[Me.ContainsProtected=512]="ContainsProtected",Me[Me.ContainsPrivate=1024]="ContainsPrivate",Me[Me.ContainsStatic=2048]="ContainsStatic",Me[Me.Late=4096]="Late",Me[Me.ReverseMapped=8192]="ReverseMapped",Me[Me.OptionalParameter=16384]="OptionalParameter",Me[Me.RestParameter=32768]="RestParameter",Me[Me.DeferredType=65536]="DeferredType",Me[Me.HasNeverType=131072]="HasNeverType",Me[Me.Mapped=262144]="Mapped",Me[Me.StripOptional=524288]="StripOptional",Me[Me.Unresolved=1048576]="Unresolved",Me[Me.Synthetic=6]="Synthetic",Me[Me.Discriminant=192]="Discriminant",Me[Me.Partial=48]="Partial",Me))(vg||{}),Eg=(Me=>(Me.Call="__call",Me.Constructor="__constructor",Me.New="__new",Me.Index="__index",Me.ExportStar="__export",Me.Global="__global",Me.Missing="__missing",Me.Type="__type",Me.Object="__object",Me.JSXAttributes="__jsxAttributes",Me.Class="__class",Me.Function="__function",Me.Computed="__computed",Me.Resolving="__resolving__",Me.ExportEquals="export=",Me.Default="default",Me.This="this",Me))(Eg||{}),bg=(Me=>(Me[Me.None=0]="None",Me[Me.TypeChecked=1]="TypeChecked",Me[Me.LexicalThis=2]="LexicalThis",Me[Me.CaptureThis=4]="CaptureThis",Me[Me.CaptureNewTarget=8]="CaptureNewTarget",Me[Me.SuperInstance=16]="SuperInstance",Me[Me.SuperStatic=32]="SuperStatic",Me[Me.ContextChecked=64]="ContextChecked",Me[Me.MethodWithSuperPropertyAccessInAsync=128]="MethodWithSuperPropertyAccessInAsync",Me[Me.MethodWithSuperPropertyAssignmentInAsync=256]="MethodWithSuperPropertyAssignmentInAsync",Me[Me.CaptureArguments=512]="CaptureArguments",Me[Me.EnumValuesComputed=1024]="EnumValuesComputed",Me[Me.LexicalModuleMergesWithClass=2048]="LexicalModuleMergesWithClass",Me[Me.LoopWithCapturedBlockScopedBinding=4096]="LoopWithCapturedBlockScopedBinding",Me[Me.ContainsCapturedBlockScopeBinding=8192]="ContainsCapturedBlockScopeBinding",Me[Me.CapturedBlockScopedBinding=16384]="CapturedBlockScopedBinding",Me[Me.BlockScopedBindingInLoop=32768]="BlockScopedBindingInLoop",Me[Me.ClassWithBodyScopedClassBinding=65536]="ClassWithBodyScopedClassBinding",Me[Me.BodyScopedClassBinding=131072]="BodyScopedClassBinding",Me[Me.NeedsLoopOutParameter=262144]="NeedsLoopOutParameter",Me[Me.AssignmentsMarked=524288]="AssignmentsMarked",Me[Me.ClassWithConstructorReference=1048576]="ClassWithConstructorReference",Me[Me.ConstructorReferenceInClass=2097152]="ConstructorReferenceInClass",Me[Me.ContainsClassWithPrivateIdentifiers=4194304]="ContainsClassWithPrivateIdentifiers",Me[Me.ContainsSuperPropertyInStaticInitializer=8388608]="ContainsSuperPropertyInStaticInitializer",Me[Me.InCheckIdentifier=16777216]="InCheckIdentifier",Me))(bg||{}),Cg=(Me=>(Me[Me.Any=1]="Any",Me[Me.Unknown=2]="Unknown",Me[Me.String=4]="String",Me[Me.Number=8]="Number",Me[Me.Boolean=16]="Boolean",Me[Me.Enum=32]="Enum",Me[Me.BigInt=64]="BigInt",Me[Me.StringLiteral=128]="StringLiteral",Me[Me.NumberLiteral=256]="NumberLiteral",Me[Me.BooleanLiteral=512]="BooleanLiteral",Me[Me.EnumLiteral=1024]="EnumLiteral",Me[Me.BigIntLiteral=2048]="BigIntLiteral",Me[Me.ESSymbol=4096]="ESSymbol",Me[Me.UniqueESSymbol=8192]="UniqueESSymbol",Me[Me.Void=16384]="Void",Me[Me.Undefined=32768]="Undefined",Me[Me.Null=65536]="Null",Me[Me.Never=131072]="Never",Me[Me.TypeParameter=262144]="TypeParameter",Me[Me.Object=524288]="Object",Me[Me.Union=1048576]="Union",Me[Me.Intersection=2097152]="Intersection",Me[Me.Index=4194304]="Index",Me[Me.IndexedAccess=8388608]="IndexedAccess",Me[Me.Conditional=16777216]="Conditional",Me[Me.Substitution=33554432]="Substitution",Me[Me.NonPrimitive=67108864]="NonPrimitive",Me[Me.TemplateLiteral=134217728]="TemplateLiteral",Me[Me.StringMapping=268435456]="StringMapping",Me[Me.AnyOrUnknown=3]="AnyOrUnknown",Me[Me.Nullable=98304]="Nullable",Me[Me.Literal=2944]="Literal",Me[Me.Unit=109472]="Unit",Me[Me.Freshable=2976]="Freshable",Me[Me.StringOrNumberLiteral=384]="StringOrNumberLiteral",Me[Me.StringOrNumberLiteralOrUnique=8576]="StringOrNumberLiteralOrUnique",Me[Me.DefinitelyFalsy=117632]="DefinitelyFalsy",Me[Me.PossiblyFalsy=117724]="PossiblyFalsy",Me[Me.Intrinsic=67359327]="Intrinsic",Me[Me.Primitive=134348796]="Primitive",Me[Me.StringLike=402653316]="StringLike",Me[Me.NumberLike=296]="NumberLike",Me[Me.BigIntLike=2112]="BigIntLike",Me[Me.BooleanLike=528]="BooleanLike",Me[Me.EnumLike=1056]="EnumLike",Me[Me.ESSymbolLike=12288]="ESSymbolLike",Me[Me.VoidLike=49152]="VoidLike",Me[Me.DefinitelyNonNullable=470302716]="DefinitelyNonNullable",Me[Me.DisjointDomains=469892092]="DisjointDomains",Me[Me.UnionOrIntersection=3145728]="UnionOrIntersection",Me[Me.StructuredType=3670016]="StructuredType",Me[Me.TypeVariable=8650752]="TypeVariable",Me[Me.InstantiableNonPrimitive=58982400]="InstantiableNonPrimitive",Me[Me.InstantiablePrimitive=406847488]="InstantiablePrimitive",Me[Me.Instantiable=465829888]="Instantiable",Me[Me.StructuredOrInstantiable=469499904]="StructuredOrInstantiable",Me[Me.ObjectFlagsType=3899393]="ObjectFlagsType",Me[Me.Simplifiable=25165824]="Simplifiable",Me[Me.Singleton=67358815]="Singleton",Me[Me.Narrowable=536624127]="Narrowable",Me[Me.IncludesMask=205258751]="IncludesMask",Me[Me.IncludesMissingType=262144]="IncludesMissingType",Me[Me.IncludesNonWideningType=4194304]="IncludesNonWideningType",Me[Me.IncludesWildcard=8388608]="IncludesWildcard",Me[Me.IncludesEmptyObject=16777216]="IncludesEmptyObject",Me[Me.IncludesInstantiable=33554432]="IncludesInstantiable",Me[Me.NotPrimitiveUnion=36323363]="NotPrimitiveUnion",Me))(Cg||{}),Dg=(Me=>(Me[Me.None=0]="None",Me[Me.Class=1]="Class",Me[Me.Interface=2]="Interface",Me[Me.Reference=4]="Reference",Me[Me.Tuple=8]="Tuple",Me[Me.Anonymous=16]="Anonymous",Me[Me.Mapped=32]="Mapped",Me[Me.Instantiated=64]="Instantiated",Me[Me.ObjectLiteral=128]="ObjectLiteral",Me[Me.EvolvingArray=256]="EvolvingArray",Me[Me.ObjectLiteralPatternWithComputedProperties=512]="ObjectLiteralPatternWithComputedProperties",Me[Me.ReverseMapped=1024]="ReverseMapped",Me[Me.JsxAttributes=2048]="JsxAttributes",Me[Me.JSLiteral=4096]="JSLiteral",Me[Me.FreshLiteral=8192]="FreshLiteral",Me[Me.ArrayLiteral=16384]="ArrayLiteral",Me[Me.PrimitiveUnion=32768]="PrimitiveUnion",Me[Me.ContainsWideningType=65536]="ContainsWideningType",Me[Me.ContainsObjectOrArrayLiteral=131072]="ContainsObjectOrArrayLiteral",Me[Me.NonInferrableType=262144]="NonInferrableType",Me[Me.CouldContainTypeVariablesComputed=524288]="CouldContainTypeVariablesComputed",Me[Me.CouldContainTypeVariables=1048576]="CouldContainTypeVariables",Me[Me.ClassOrInterface=3]="ClassOrInterface",Me[Me.RequiresWidening=196608]="RequiresWidening",Me[Me.PropagatingFlags=458752]="PropagatingFlags",Me[Me.ObjectTypeKindMask=1343]="ObjectTypeKindMask",Me[Me.ContainsSpread=2097152]="ContainsSpread",Me[Me.ObjectRestType=4194304]="ObjectRestType",Me[Me.InstantiationExpressionType=8388608]="InstantiationExpressionType",Me[Me.IsClassInstanceClone=16777216]="IsClassInstanceClone",Me[Me.IdenticalBaseTypeCalculated=33554432]="IdenticalBaseTypeCalculated",Me[Me.IdenticalBaseTypeExists=67108864]="IdenticalBaseTypeExists",Me[Me.IsGenericTypeComputed=2097152]="IsGenericTypeComputed",Me[Me.IsGenericObjectType=4194304]="IsGenericObjectType",Me[Me.IsGenericIndexType=8388608]="IsGenericIndexType",Me[Me.IsGenericType=12582912]="IsGenericType",Me[Me.ContainsIntersections=16777216]="ContainsIntersections",Me[Me.IsUnknownLikeUnionComputed=33554432]="IsUnknownLikeUnionComputed",Me[Me.IsUnknownLikeUnion=67108864]="IsUnknownLikeUnion",Me[Me.IsNeverIntersectionComputed=16777216]="IsNeverIntersectionComputed",Me[Me.IsNeverIntersection=33554432]="IsNeverIntersection",Me))(Dg||{}),wg=(Me=>(Me[Me.Invariant=0]="Invariant",Me[Me.Covariant=1]="Covariant",Me[Me.Contravariant=2]="Contravariant",Me[Me.Bivariant=3]="Bivariant",Me[Me.Independent=4]="Independent",Me[Me.VarianceMask=7]="VarianceMask",Me[Me.Unmeasurable=8]="Unmeasurable",Me[Me.Unreliable=16]="Unreliable",Me[Me.AllowsStructuralFallback=24]="AllowsStructuralFallback",Me))(wg||{}),Sg=(Me=>(Me[Me.Required=1]="Required",Me[Me.Optional=2]="Optional",Me[Me.Rest=4]="Rest",Me[Me.Variadic=8]="Variadic",Me[Me.Fixed=3]="Fixed",Me[Me.Variable=12]="Variable",Me[Me.NonRequired=14]="NonRequired",Me[Me.NonRest=11]="NonRest",Me))(Sg||{}),Ig=(Me=>(Me[Me.None=0]="None",Me[Me.IncludeUndefined=1]="IncludeUndefined",Me[Me.NoIndexSignatures=2]="NoIndexSignatures",Me[Me.Writing=4]="Writing",Me[Me.CacheSymbol=8]="CacheSymbol",Me[Me.NoTupleBoundsCheck=16]="NoTupleBoundsCheck",Me[Me.ExpressionPosition=32]="ExpressionPosition",Me[Me.ReportDeprecated=64]="ReportDeprecated",Me[Me.SuppressNoImplicitAnyError=128]="SuppressNoImplicitAnyError",Me[Me.Contextual=256]="Contextual",Me[Me.Persistent=1]="Persistent",Me))(Ig||{}),xg=(Me=>(Me[Me.Component=0]="Component",Me[Me.Function=1]="Function",Me[Me.Mixed=2]="Mixed",Me))(xg||{}),kg=(Me=>(Me[Me.Call=0]="Call",Me[Me.Construct=1]="Construct",Me))(kg||{}),Bg=(Me=>(Me[Me.None=0]="None",Me[Me.HasRestParameter=1]="HasRestParameter",Me[Me.HasLiteralTypes=2]="HasLiteralTypes",Me[Me.Abstract=4]="Abstract",Me[Me.IsInnerCallChain=8]="IsInnerCallChain",Me[Me.IsOuterCallChain=16]="IsOuterCallChain",Me[Me.IsUntypedSignatureInJSFile=32]="IsUntypedSignatureInJSFile",Me[Me.PropagatingFlags=39]="PropagatingFlags",Me[Me.CallChainFlags=24]="CallChainFlags",Me))(Bg||{}),Tg=(Me=>(Me[Me.String=0]="String",Me[Me.Number=1]="Number",Me))(Tg||{}),Fg=(Me=>(Me[Me.Simple=0]="Simple",Me[Me.Array=1]="Array",Me[Me.Deferred=2]="Deferred",Me[Me.Function=3]="Function",Me[Me.Composite=4]="Composite",Me[Me.Merged=5]="Merged",Me))(Fg||{}),Ng=(Me=>(Me[Me.None=0]="None",Me[Me.NakedTypeVariable=1]="NakedTypeVariable",Me[Me.SpeculativeTuple=2]="SpeculativeTuple",Me[Me.SubstituteSource=4]="SubstituteSource",Me[Me.HomomorphicMappedType=8]="HomomorphicMappedType",Me[Me.PartialHomomorphicMappedType=16]="PartialHomomorphicMappedType",Me[Me.MappedTypeConstraint=32]="MappedTypeConstraint",Me[Me.ContravariantConditional=64]="ContravariantConditional",Me[Me.ReturnType=128]="ReturnType",Me[Me.LiteralKeyof=256]="LiteralKeyof",Me[Me.NoConstraints=512]="NoConstraints",Me[Me.AlwaysStrict=1024]="AlwaysStrict",Me[Me.MaxValue=2048]="MaxValue",Me[Me.PriorityImpliesCombination=416]="PriorityImpliesCombination",Me[Me.Circularity=-1]="Circularity",Me))(Ng||{}),Qg=(Me=>(Me[Me.None=0]="None",Me[Me.NoDefault=1]="NoDefault",Me[Me.AnyDefault=2]="AnyDefault",Me[Me.SkippedGenericFunction=4]="SkippedGenericFunction",Me))(Qg||{}),Rg=(Me=>(Me[Me.False=0]="False",Me[Me.Unknown=1]="Unknown",Me[Me.Maybe=3]="Maybe",Me[Me.True=-1]="True",Me))(Rg||{}),Pg=(Me=>(Me[Me.None=0]="None",Me[Me.ExportsProperty=1]="ExportsProperty",Me[Me.ModuleExports=2]="ModuleExports",Me[Me.PrototypeProperty=3]="PrototypeProperty",Me[Me.ThisProperty=4]="ThisProperty",Me[Me.Property=5]="Property",Me[Me.Prototype=6]="Prototype",Me[Me.ObjectDefinePropertyValue=7]="ObjectDefinePropertyValue",Me[Me.ObjectDefinePropertyExports=8]="ObjectDefinePropertyExports",Me[Me.ObjectDefinePrototypeProperty=9]="ObjectDefinePrototypeProperty",Me))(Pg||{}),Og=(Me=>(Me[Me.Warning=0]="Warning",Me[Me.Error=1]="Error",Me[Me.Suggestion=2]="Suggestion",Me[Me.Message=3]="Message",Me))(Og||{}),Lg=(Me=>(Me[Me.Classic=1]="Classic",Me[Me.NodeJs=2]="NodeJs",Me[Me.Node10=2]="Node10",Me[Me.Node16=3]="Node16",Me[Me.NodeNext=99]="NodeNext",Me[Me.Bundler=100]="Bundler",Me))(Lg||{}),Mg=(Me=>(Me[Me.Legacy=1]="Legacy",Me[Me.Auto=2]="Auto",Me[Me.Force=3]="Force",Me))(Mg||{}),jg=(Me=>(Me[Me.FixedPollingInterval=0]="FixedPollingInterval",Me[Me.PriorityPollingInterval=1]="PriorityPollingInterval",Me[Me.DynamicPriorityPolling=2]="DynamicPriorityPolling",Me[Me.FixedChunkSizePolling=3]="FixedChunkSizePolling",Me[Me.UseFsEvents=4]="UseFsEvents",Me[Me.UseFsEventsOnParentDirectory=5]="UseFsEventsOnParentDirectory",Me))(jg||{}),Ug=(Me=>(Me[Me.UseFsEvents=0]="UseFsEvents",Me[Me.FixedPollingInterval=1]="FixedPollingInterval",Me[Me.DynamicPriorityPolling=2]="DynamicPriorityPolling",Me[Me.FixedChunkSizePolling=3]="FixedChunkSizePolling",Me))(Ug||{}),Gg=(Me=>(Me[Me.FixedInterval=0]="FixedInterval",Me[Me.PriorityInterval=1]="PriorityInterval",Me[Me.DynamicPriority=2]="DynamicPriority",Me[Me.FixedChunkSize=3]="FixedChunkSize",Me))(Gg||{}),Vg=(Me=>(Me[Me.None=0]="None",Me[Me.CommonJS=1]="CommonJS",Me[Me.AMD=2]="AMD",Me[Me.UMD=3]="UMD",Me[Me.System=4]="System",Me[Me.ES2015=5]="ES2015",Me[Me.ES2020=6]="ES2020",Me[Me.ES2022=7]="ES2022",Me[Me.ESNext=99]="ESNext",Me[Me.Node16=100]="Node16",Me[Me.NodeNext=199]="NodeNext",Me))(Vg||{}),Hg=(Me=>(Me[Me.None=0]="None",Me[Me.Preserve=1]="Preserve",Me[Me.React=2]="React",Me[Me.ReactNative=3]="ReactNative",Me[Me.ReactJSX=4]="ReactJSX",Me[Me.ReactJSXDev=5]="ReactJSXDev",Me))(Hg||{}),qg=(Me=>(Me[Me.Remove=0]="Remove",Me[Me.Preserve=1]="Preserve",Me[Me.Error=2]="Error",Me))(qg||{}),Jg=(Me=>(Me[Me.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",Me[Me.LineFeed=1]="LineFeed",Me))(Jg||{}),$g=(Me=>(Me[Me.Unknown=0]="Unknown",Me[Me.JS=1]="JS",Me[Me.JSX=2]="JSX",Me[Me.TS=3]="TS",Me[Me.TSX=4]="TSX",Me[Me.External=5]="External",Me[Me.JSON=6]="JSON",Me[Me.Deferred=7]="Deferred",Me))($g||{}),Yg=(Me=>(Me[Me.ES3=0]="ES3",Me[Me.ES5=1]="ES5",Me[Me.ES2015=2]="ES2015",Me[Me.ES2016=3]="ES2016",Me[Me.ES2017=4]="ES2017",Me[Me.ES2018=5]="ES2018",Me[Me.ES2019=6]="ES2019",Me[Me.ES2020=7]="ES2020",Me[Me.ES2021=8]="ES2021",Me[Me.ES2022=9]="ES2022",Me[Me.ESNext=99]="ESNext",Me[Me.JSON=100]="JSON",Me[Me.Latest=99]="Latest",Me))(Yg||{}),Wg=(Me=>(Me[Me.Standard=0]="Standard",Me[Me.JSX=1]="JSX",Me))(Wg||{}),Kg=(Me=>(Me[Me.None=0]="None",Me[Me.Recursive=1]="Recursive",Me))(Kg||{}),zg=(Me=>(Me[Me.nullCharacter=0]="nullCharacter",Me[Me.maxAsciiCharacter=127]="maxAsciiCharacter",Me[Me.lineFeed=10]="lineFeed",Me[Me.carriageReturn=13]="carriageReturn",Me[Me.lineSeparator=8232]="lineSeparator",Me[Me.paragraphSeparator=8233]="paragraphSeparator",Me[Me.nextLine=133]="nextLine",Me[Me.space=32]="space",Me[Me.nonBreakingSpace=160]="nonBreakingSpace",Me[Me.enQuad=8192]="enQuad",Me[Me.emQuad=8193]="emQuad",Me[Me.enSpace=8194]="enSpace",Me[Me.emSpace=8195]="emSpace",Me[Me.threePerEmSpace=8196]="threePerEmSpace",Me[Me.fourPerEmSpace=8197]="fourPerEmSpace",Me[Me.sixPerEmSpace=8198]="sixPerEmSpace",Me[Me.figureSpace=8199]="figureSpace",Me[Me.punctuationSpace=8200]="punctuationSpace",Me[Me.thinSpace=8201]="thinSpace",Me[Me.hairSpace=8202]="hairSpace",Me[Me.zeroWidthSpace=8203]="zeroWidthSpace",Me[Me.narrowNoBreakSpace=8239]="narrowNoBreakSpace",Me[Me.ideographicSpace=12288]="ideographicSpace",Me[Me.mathematicalSpace=8287]="mathematicalSpace",Me[Me.ogham=5760]="ogham",Me[Me._=95]="_",Me[Me.$=36]="$",Me[Me._0=48]="_0",Me[Me._1=49]="_1",Me[Me._2=50]="_2",Me[Me._3=51]="_3",Me[Me._4=52]="_4",Me[Me._5=53]="_5",Me[Me._6=54]="_6",Me[Me._7=55]="_7",Me[Me._8=56]="_8",Me[Me._9=57]="_9",Me[Me.a=97]="a",Me[Me.b=98]="b",Me[Me.c=99]="c",Me[Me.d=100]="d",Me[Me.e=101]="e",Me[Me.f=102]="f",Me[Me.g=103]="g",Me[Me.h=104]="h",Me[Me.i=105]="i",Me[Me.j=106]="j",Me[Me.k=107]="k",Me[Me.l=108]="l",Me[Me.m=109]="m",Me[Me.n=110]="n",Me[Me.o=111]="o",Me[Me.p=112]="p",Me[Me.q=113]="q",Me[Me.r=114]="r",Me[Me.s=115]="s",Me[Me.t=116]="t",Me[Me.u=117]="u",Me[Me.v=118]="v",Me[Me.w=119]="w",Me[Me.x=120]="x",Me[Me.y=121]="y",Me[Me.z=122]="z",Me[Me.A=65]="A",Me[Me.B=66]="B",Me[Me.C=67]="C",Me[Me.D=68]="D",Me[Me.E=69]="E",Me[Me.F=70]="F",Me[Me.G=71]="G",Me[Me.H=72]="H",Me[Me.I=73]="I",Me[Me.J=74]="J",Me[Me.K=75]="K",Me[Me.L=76]="L",Me[Me.M=77]="M",Me[Me.N=78]="N",Me[Me.O=79]="O",Me[Me.P=80]="P",Me[Me.Q=81]="Q",Me[Me.R=82]="R",Me[Me.S=83]="S",Me[Me.T=84]="T",Me[Me.U=85]="U",Me[Me.V=86]="V",Me[Me.W=87]="W",Me[Me.X=88]="X",Me[Me.Y=89]="Y",Me[Me.Z=90]="Z",Me[Me.ampersand=38]="ampersand",Me[Me.asterisk=42]="asterisk",Me[Me.at=64]="at",Me[Me.backslash=92]="backslash",Me[Me.backtick=96]="backtick",Me[Me.bar=124]="bar",Me[Me.caret=94]="caret",Me[Me.closeBrace=125]="closeBrace",Me[Me.closeBracket=93]="closeBracket",Me[Me.closeParen=41]="closeParen",Me[Me.colon=58]="colon",Me[Me.comma=44]="comma",Me[Me.dot=46]="dot",Me[Me.doubleQuote=34]="doubleQuote",Me[Me.equals=61]="equals",Me[Me.exclamation=33]="exclamation",Me[Me.greaterThan=62]="greaterThan",Me[Me.hash=35]="hash",Me[Me.lessThan=60]="lessThan",Me[Me.minus=45]="minus",Me[Me.openBrace=123]="openBrace",Me[Me.openBracket=91]="openBracket",Me[Me.openParen=40]="openParen",Me[Me.percent=37]="percent",Me[Me.plus=43]="plus",Me[Me.question=63]="question",Me[Me.semicolon=59]="semicolon",Me[Me.singleQuote=39]="singleQuote",Me[Me.slash=47]="slash",Me[Me.tilde=126]="tilde",Me[Me.backspace=8]="backspace",Me[Me.formFeed=12]="formFeed",Me[Me.byteOrderMark=65279]="byteOrderMark",Me[Me.tab=9]="tab",Me[Me.verticalTab=11]="verticalTab",Me))(zg||{}),Xg=(Me=>(Me.Ts=".ts",Me.Tsx=".tsx",Me.Dts=".d.ts",Me.Js=".js",Me.Jsx=".jsx",Me.Json=".json",Me.TsBuildInfo=".tsbuildinfo",Me.Mjs=".mjs",Me.Mts=".mts",Me.Dmts=".d.mts",Me.Cjs=".cjs",Me.Cts=".cts",Me.Dcts=".d.cts",Me))(Xg||{}),Zg=(Me=>(Me[Me.None=0]="None",Me[Me.ContainsTypeScript=1]="ContainsTypeScript",Me[Me.ContainsJsx=2]="ContainsJsx",Me[Me.ContainsESNext=4]="ContainsESNext",Me[Me.ContainsES2022=8]="ContainsES2022",Me[Me.ContainsES2021=16]="ContainsES2021",Me[Me.ContainsES2020=32]="ContainsES2020",Me[Me.ContainsES2019=64]="ContainsES2019",Me[Me.ContainsES2018=128]="ContainsES2018",Me[Me.ContainsES2017=256]="ContainsES2017",Me[Me.ContainsES2016=512]="ContainsES2016",Me[Me.ContainsES2015=1024]="ContainsES2015",Me[Me.ContainsGenerator=2048]="ContainsGenerator",Me[Me.ContainsDestructuringAssignment=4096]="ContainsDestructuringAssignment",Me[Me.ContainsTypeScriptClassSyntax=8192]="ContainsTypeScriptClassSyntax",Me[Me.ContainsLexicalThis=16384]="ContainsLexicalThis",Me[Me.ContainsRestOrSpread=32768]="ContainsRestOrSpread",Me[Me.ContainsObjectRestOrSpread=65536]="ContainsObjectRestOrSpread",Me[Me.ContainsComputedPropertyName=131072]="ContainsComputedPropertyName",Me[Me.ContainsBlockScopedBinding=262144]="ContainsBlockScopedBinding",Me[Me.ContainsBindingPattern=524288]="ContainsBindingPattern",Me[Me.ContainsYield=1048576]="ContainsYield",Me[Me.ContainsAwait=2097152]="ContainsAwait",Me[Me.ContainsHoistedDeclarationOrCompletion=4194304]="ContainsHoistedDeclarationOrCompletion",Me[Me.ContainsDynamicImport=8388608]="ContainsDynamicImport",Me[Me.ContainsClassFields=16777216]="ContainsClassFields",Me[Me.ContainsDecorators=33554432]="ContainsDecorators",Me[Me.ContainsPossibleTopLevelAwait=67108864]="ContainsPossibleTopLevelAwait",Me[Me.ContainsLexicalSuper=134217728]="ContainsLexicalSuper",Me[Me.ContainsUpdateExpressionForIdentifier=268435456]="ContainsUpdateExpressionForIdentifier",Me[Me.ContainsPrivateIdentifierInExpression=536870912]="ContainsPrivateIdentifierInExpression",Me[Me.HasComputedFlags=-2147483648]="HasComputedFlags",Me[Me.AssertTypeScript=1]="AssertTypeScript",Me[Me.AssertJsx=2]="AssertJsx",Me[Me.AssertESNext=4]="AssertESNext",Me[Me.AssertES2022=8]="AssertES2022",Me[Me.AssertES2021=16]="AssertES2021",Me[Me.AssertES2020=32]="AssertES2020",Me[Me.AssertES2019=64]="AssertES2019",Me[Me.AssertES2018=128]="AssertES2018",Me[Me.AssertES2017=256]="AssertES2017",Me[Me.AssertES2016=512]="AssertES2016",Me[Me.AssertES2015=1024]="AssertES2015",Me[Me.AssertGenerator=2048]="AssertGenerator",Me[Me.AssertDestructuringAssignment=4096]="AssertDestructuringAssignment",Me[Me.OuterExpressionExcludes=-2147483648]="OuterExpressionExcludes",Me[Me.PropertyAccessExcludes=-2147483648]="PropertyAccessExcludes",Me[Me.NodeExcludes=-2147483648]="NodeExcludes",Me[Me.ArrowFunctionExcludes=-2072174592]="ArrowFunctionExcludes",Me[Me.FunctionExcludes=-1937940480]="FunctionExcludes",Me[Me.ConstructorExcludes=-1937948672]="ConstructorExcludes",Me[Me.MethodOrAccessorExcludes=-2005057536]="MethodOrAccessorExcludes",Me[Me.PropertyExcludes=-2013249536]="PropertyExcludes",Me[Me.ClassExcludes=-2147344384]="ClassExcludes",Me[Me.ModuleExcludes=-1941676032]="ModuleExcludes",Me[Me.TypeExcludes=-2]="TypeExcludes",Me[Me.ObjectLiteralExcludes=-2147278848]="ObjectLiteralExcludes",Me[Me.ArrayLiteralOrCallOrNewExcludes=-2147450880]="ArrayLiteralOrCallOrNewExcludes",Me[Me.VariableDeclarationListExcludes=-2146893824]="VariableDeclarationListExcludes",Me[Me.ParameterExcludes=-2147483648]="ParameterExcludes",Me[Me.CatchClauseExcludes=-2147418112]="CatchClauseExcludes",Me[Me.BindingPatternExcludes=-2147450880]="BindingPatternExcludes",Me[Me.ContainsLexicalThisOrSuper=134234112]="ContainsLexicalThisOrSuper",Me[Me.PropertyNamePropagatingFlags=134234112]="PropertyNamePropagatingFlags",Me))(Zg||{}),f_=(Me=>(Me[Me.TabStop=0]="TabStop",Me[Me.Placeholder=1]="Placeholder",Me[Me.Choice=2]="Choice",Me[Me.Variable=3]="Variable",Me))(f_||{}),Z_=(Me=>(Me[Me.None=0]="None",Me[Me.SingleLine=1]="SingleLine",Me[Me.MultiLine=2]="MultiLine",Me[Me.AdviseOnEmitNode=4]="AdviseOnEmitNode",Me[Me.NoSubstitution=8]="NoSubstitution",Me[Me.CapturesThis=16]="CapturesThis",Me[Me.NoLeadingSourceMap=32]="NoLeadingSourceMap",Me[Me.NoTrailingSourceMap=64]="NoTrailingSourceMap",Me[Me.NoSourceMap=96]="NoSourceMap",Me[Me.NoNestedSourceMaps=128]="NoNestedSourceMaps",Me[Me.NoTokenLeadingSourceMaps=256]="NoTokenLeadingSourceMaps",Me[Me.NoTokenTrailingSourceMaps=512]="NoTokenTrailingSourceMaps",Me[Me.NoTokenSourceMaps=768]="NoTokenSourceMaps",Me[Me.NoLeadingComments=1024]="NoLeadingComments",Me[Me.NoTrailingComments=2048]="NoTrailingComments",Me[Me.NoComments=3072]="NoComments",Me[Me.NoNestedComments=4096]="NoNestedComments",Me[Me.HelperName=8192]="HelperName",Me[Me.ExportName=16384]="ExportName",Me[Me.LocalName=32768]="LocalName",Me[Me.InternalName=65536]="InternalName",Me[Me.Indented=131072]="Indented",Me[Me.NoIndentation=262144]="NoIndentation",Me[Me.AsyncFunctionBody=524288]="AsyncFunctionBody",Me[Me.ReuseTempVariableScope=1048576]="ReuseTempVariableScope",Me[Me.CustomPrologue=2097152]="CustomPrologue",Me[Me.NoHoisting=4194304]="NoHoisting",Me[Me.HasEndOfDeclarationMarker=8388608]="HasEndOfDeclarationMarker",Me[Me.Iterator=16777216]="Iterator",Me[Me.NoAsciiEscaping=33554432]="NoAsciiEscaping",Me))(Z_||{}),ey=(Me=>(Me[Me.None=0]="None",Me[Me.TypeScriptClassWrapper=1]="TypeScriptClassWrapper",Me[Me.NeverApplyImportHelper=2]="NeverApplyImportHelper",Me[Me.IgnoreSourceNewlines=4]="IgnoreSourceNewlines",Me[Me.Immutable=8]="Immutable",Me[Me.IndirectCall=16]="IndirectCall",Me[Me.TransformPrivateStaticElements=32]="TransformPrivateStaticElements",Me))(ey||{}),ty=(Me=>(Me[Me.Extends=1]="Extends",Me[Me.Assign=2]="Assign",Me[Me.Rest=4]="Rest",Me[Me.Decorate=8]="Decorate",Me[Me.ESDecorateAndRunInitializers=8]="ESDecorateAndRunInitializers",Me[Me.Metadata=16]="Metadata",Me[Me.Param=32]="Param",Me[Me.Awaiter=64]="Awaiter",Me[Me.Generator=128]="Generator",Me[Me.Values=256]="Values",Me[Me.Read=512]="Read",Me[Me.SpreadArray=1024]="SpreadArray",Me[Me.Await=2048]="Await",Me[Me.AsyncGenerator=4096]="AsyncGenerator",Me[Me.AsyncDelegator=8192]="AsyncDelegator",Me[Me.AsyncValues=16384]="AsyncValues",Me[Me.ExportStar=32768]="ExportStar",Me[Me.ImportStar=65536]="ImportStar",Me[Me.ImportDefault=131072]="ImportDefault",Me[Me.MakeTemplateObject=262144]="MakeTemplateObject",Me[Me.ClassPrivateFieldGet=524288]="ClassPrivateFieldGet",Me[Me.ClassPrivateFieldSet=1048576]="ClassPrivateFieldSet",Me[Me.ClassPrivateFieldIn=2097152]="ClassPrivateFieldIn",Me[Me.CreateBinding=4194304]="CreateBinding",Me[Me.SetFunctionName=8388608]="SetFunctionName",Me[Me.PropKey=16777216]="PropKey",Me[Me.FirstEmitHelper=1]="FirstEmitHelper",Me[Me.LastEmitHelper=16777216]="LastEmitHelper",Me[Me.ForOfIncludes=256]="ForOfIncludes",Me[Me.ForAwaitOfIncludes=16384]="ForAwaitOfIncludes",Me[Me.AsyncGeneratorIncludes=6144]="AsyncGeneratorIncludes",Me[Me.AsyncDelegatorIncludes=26624]="AsyncDelegatorIncludes",Me[Me.SpreadIncludes=1536]="SpreadIncludes",Me))(ty||{}),ry=(Me=>(Me[Me.SourceFile=0]="SourceFile",Me[Me.Expression=1]="Expression",Me[Me.IdentifierName=2]="IdentifierName",Me[Me.MappedTypeParameter=3]="MappedTypeParameter",Me[Me.Unspecified=4]="Unspecified",Me[Me.EmbeddedStatement=5]="EmbeddedStatement",Me[Me.JsxAttributeValue=6]="JsxAttributeValue",Me))(ry||{}),ny=(Me=>(Me[Me.Parentheses=1]="Parentheses",Me[Me.TypeAssertions=2]="TypeAssertions",Me[Me.NonNullAssertions=4]="NonNullAssertions",Me[Me.PartiallyEmittedExpressions=8]="PartiallyEmittedExpressions",Me[Me.Assertions=6]="Assertions",Me[Me.All=15]="All",Me[Me.ExcludeJSDocTypeAssertion=16]="ExcludeJSDocTypeAssertion",Me))(ny||{}),iy=(Me=>(Me[Me.None=0]="None",Me[Me.InParameters=1]="InParameters",Me[Me.VariablesHoistedInParameters=2]="VariablesHoistedInParameters",Me))(iy||{}),py=(Me=>(Me.Prologue="prologue",Me.EmitHelpers="emitHelpers",Me.NoDefaultLib="no-default-lib",Me.Reference="reference",Me.Type="type",Me.TypeResolutionModeRequire="type-require",Me.TypeResolutionModeImport="type-import",Me.Lib="lib",Me.Prepend="prepend",Me.Text="text",Me.Internal="internal",Me))(py||{}),fy=(Me=>(Me[Me.None=0]="None",Me[Me.SingleLine=0]="SingleLine",Me[Me.MultiLine=1]="MultiLine",Me[Me.PreserveLines=2]="PreserveLines",Me[Me.LinesMask=3]="LinesMask",Me[Me.NotDelimited=0]="NotDelimited",Me[Me.BarDelimited=4]="BarDelimited",Me[Me.AmpersandDelimited=8]="AmpersandDelimited",Me[Me.CommaDelimited=16]="CommaDelimited",Me[Me.AsteriskDelimited=32]="AsteriskDelimited",Me[Me.DelimitersMask=60]="DelimitersMask",Me[Me.AllowTrailingComma=64]="AllowTrailingComma",Me[Me.Indented=128]="Indented",Me[Me.SpaceBetweenBraces=256]="SpaceBetweenBraces",Me[Me.SpaceBetweenSiblings=512]="SpaceBetweenSiblings",Me[Me.Braces=1024]="Braces",Me[Me.Parenthesis=2048]="Parenthesis",Me[Me.AngleBrackets=4096]="AngleBrackets",Me[Me.SquareBrackets=8192]="SquareBrackets",Me[Me.BracketsMask=15360]="BracketsMask",Me[Me.OptionalIfUndefined=16384]="OptionalIfUndefined",Me[Me.OptionalIfEmpty=32768]="OptionalIfEmpty",Me[Me.Optional=49152]="Optional",Me[Me.PreferNewLine=65536]="PreferNewLine",Me[Me.NoTrailingNewLine=131072]="NoTrailingNewLine",Me[Me.NoInterveningComments=262144]="NoInterveningComments",Me[Me.NoSpaceIfEmpty=524288]="NoSpaceIfEmpty",Me[Me.SingleElement=1048576]="SingleElement",Me[Me.SpaceAfterList=2097152]="SpaceAfterList",Me[Me.Modifiers=2359808]="Modifiers",Me[Me.HeritageClauses=512]="HeritageClauses",Me[Me.SingleLineTypeLiteralMembers=768]="SingleLineTypeLiteralMembers",Me[Me.MultiLineTypeLiteralMembers=32897]="MultiLineTypeLiteralMembers",Me[Me.SingleLineTupleTypeElements=528]="SingleLineTupleTypeElements",Me[Me.MultiLineTupleTypeElements=657]="MultiLineTupleTypeElements",Me[Me.UnionTypeConstituents=516]="UnionTypeConstituents",Me[Me.IntersectionTypeConstituents=520]="IntersectionTypeConstituents",Me[Me.ObjectBindingPatternElements=525136]="ObjectBindingPatternElements",Me[Me.ArrayBindingPatternElements=524880]="ArrayBindingPatternElements",Me[Me.ObjectLiteralExpressionProperties=526226]="ObjectLiteralExpressionProperties",Me[Me.ImportClauseEntries=526226]="ImportClauseEntries",Me[Me.ArrayLiteralExpressionElements=8914]="ArrayLiteralExpressionElements",Me[Me.CommaListElements=528]="CommaListElements",Me[Me.CallExpressionArguments=2576]="CallExpressionArguments",Me[Me.NewExpressionArguments=18960]="NewExpressionArguments",Me[Me.TemplateExpressionSpans=262144]="TemplateExpressionSpans",Me[Me.SingleLineBlockStatements=768]="SingleLineBlockStatements",Me[Me.MultiLineBlockStatements=129]="MultiLineBlockStatements",Me[Me.VariableDeclarationList=528]="VariableDeclarationList",Me[Me.SingleLineFunctionBodyStatements=768]="SingleLineFunctionBodyStatements",Me[Me.MultiLineFunctionBodyStatements=1]="MultiLineFunctionBodyStatements",Me[Me.ClassHeritageClauses=0]="ClassHeritageClauses",Me[Me.ClassMembers=129]="ClassMembers",Me[Me.InterfaceMembers=129]="InterfaceMembers",Me[Me.EnumMembers=145]="EnumMembers",Me[Me.CaseBlockClauses=129]="CaseBlockClauses",Me[Me.NamedImportsOrExportsElements=525136]="NamedImportsOrExportsElements",Me[Me.JsxElementOrFragmentChildren=262144]="JsxElementOrFragmentChildren",Me[Me.JsxElementAttributes=262656]="JsxElementAttributes",Me[Me.CaseOrDefaultClauseStatements=163969]="CaseOrDefaultClauseStatements",Me[Me.HeritageClauseTypes=528]="HeritageClauseTypes",Me[Me.SourceFileStatements=131073]="SourceFileStatements",Me[Me.Decorators=2146305]="Decorators",Me[Me.TypeArguments=53776]="TypeArguments",Me[Me.TypeParameters=53776]="TypeParameters",Me[Me.Parameters=2576]="Parameters",Me[Me.IndexSignatureParameters=8848]="IndexSignatureParameters",Me[Me.JSDocComment=33]="JSDocComment",Me))(fy||{}),Ty=(Me=>(Me[Me.None=0]="None",Me[Me.TripleSlashXML=1]="TripleSlashXML",Me[Me.SingleLine=2]="SingleLine",Me[Me.MultiLine=4]="MultiLine",Me[Me.All=7]="All",Me[Me.Default=7]="Default",Me))(Ty||{}),Gy={reference:{args:[{name:"types",optional:!0,captureSpan:!0},{name:"lib",optional:!0,captureSpan:!0},{name:"path",optional:!0,captureSpan:!0},{name:"no-default-lib",optional:!0},{name:"resolution-mode",optional:!0}],kind:1},"amd-dependency":{args:[{name:"path"},{name:"name",optional:!0}],kind:1},"amd-module":{args:[{name:"name"}],kind:1},"ts-check":{kind:2},"ts-nocheck":{kind:2},jsx:{args:[{name:"factory"}],kind:4},jsxfrag:{args:[{name:"factory"}],kind:4},jsximportsource:{args:[{name:"factory"}],kind:4},jsxruntime:{args:[{name:"factory"}],kind:4}}}}),W5=()=>{},Hy;function ay(Me){return Me===47||Me===92}function V5(Me){return al(Me)<0}function A_(Me){return al(Me)>0}function H5(Me){let Bn=al(Me);return Bn>0&&Bn===Me.length}function sy(Me){return al(Me)!==0}function So(Me){return/^\.\.?($|[\\/])/.test(Me)}function G5(Me){return!sy(Me)&&!So(Me)}function OT(Me){return Fi(sl(Me),".")}function ns(Me,Bn){return Me.length>Bn.length&&es(Me,Bn)}function da(Me,Bn){for(let Hn of Bn)if(ns(Me,Hn))return!0;return!1}function Hp(Me){return Me.length>0&&ay(Me.charCodeAt(Me.length-1))}function MT(Me){return Me>=97&&Me<=122||Me>=65&&Me<=90}function $5(Me,Bn){let Hn=Me.charCodeAt(Bn);if(Hn===58)return Bn+1;if(Hn===37&&Me.charCodeAt(Bn+1)===51){let Hn=Me.charCodeAt(Bn+2);if(Hn===97||Hn===65)return Bn+3}return-1}function al(Me){if(!Me)return 0;let Bn=Me.charCodeAt(0);if(Bn===47||Bn===92){if(Me.charCodeAt(1)!==Bn)return 1;let Hn=Me.indexOf(Bn===47?Av:vv,2);return Hn<0?Me.length:Hn+1}if(MT(Bn)&&Me.charCodeAt(1)===58){let Bn=Me.charCodeAt(2);if(Bn===47||Bn===92)return 3;if(Me.length===2)return 2}let Hn=Me.indexOf(Ev);if(Hn!==-1){let Bn=Hn+Ev.length,zn=Me.indexOf(Av,Bn);if(zn!==-1){let ni=Me.slice(0,Hn),Ci=Me.slice(Bn,zn);if(ni==="file"&&(Ci===""||Ci==="localhost")&&MT(Me.charCodeAt(zn+1))){let Bn=$5(Me,zn+2);if(Bn!==-1){if(Me.charCodeAt(Bn)===47)return~(Bn+1);if(Bn===Me.length)return~Bn}}return~(zn+1)}return~Me.length}return 0}function Bi(Me){let Bn=al(Me);return Bn<0?~Bn:Bn}function ma(Me){Me=Eo(Me);let Bn=Bi(Me);return Bn===Me.length?Me:(Me=P_(Me),Me.slice(0,Math.max(Bn,Me.lastIndexOf(Av))))}function sl(Me,Bn,Hn){if(Me=Eo(Me),Bi(Me)===Me.length)return"";Me=P_(Me);let zn=Me.slice(Math.max(Bi(Me),Me.lastIndexOf(Av)+1)),ni=Bn!==void 0&&Hn!==void 0?Gp(zn,Bn,Hn):void 0;return ni?zn.slice(0,zn.length-ni.length):zn}function LT(Me,Bn,Hn){if(Pn(Bn,".")||(Bn="."+Bn),Me.length>=Bn.length&&Me.charCodeAt(Me.length-Bn.length)===46){let zn=Me.slice(Me.length-Bn.length);if(Hn(zn,Bn))return zn}}function K5(Me,Bn,Hn){if(typeof Bn=="string")return LT(Me,Bn,Hn)||"";for(let zn of Bn){let Bn=LT(Me,zn,Hn);if(Bn)return Bn}return""}function Gp(Me,Bn,Hn){if(Bn)return K5(P_(Me),Bn,Hn?Ms:To);let zn=sl(Me),ni=zn.lastIndexOf(".");return ni>=0?zn.substring(ni):""}function X5(Me,Bn){let Hn=Me.substring(0,Bn),zn=Me.substring(Bn).split(Av);return zn.length&&!Cn(zn)&&zn.pop(),[Hn,...zn]}function qi(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return Me=tn(Bn,Me),X5(Me,Bi(Me))}function xo(Me){return Me.length===0?"":(Me[0]&&wo(Me[0]))+Me.slice(1).join(Av)}function Eo(Me){return Me.indexOf("\\")!==-1?Me.replace(bv,Av):Me}function is(Me){if(!Ke(Me))return[];let Bn=[Me[0]];for(let Hn=1;Hn1){if(Bn[Bn.length-1]!==".."){Bn.pop();continue}}else if(Bn[0])continue}Bn.push(zn)}}return Bn}function tn(Me){Me&&(Me=Eo(Me));for(var Bn=arguments.length,Hn=new Array(Bn>1?Bn-1:0),zn=1;zn1?Bn-1:0),zn=1;zn0==Bi(Bn)>0,"Paths must either both be absolute or both be relative");let zn=ly(Me,Bn,(typeof Hn=="boolean"?Hn:!1)?Ms:To,typeof Hn=="function"?Hn:rr);return xo(zn)}function nA(Me,Bn,Hn){return A_(Me)?uy(Bn,Me,Bn,Hn,!1):Me}function iA(Me,Bn,Hn){return _y(JT(ma(Me),Bn,Hn))}function uy(Me,Bn,Hn,zn,ni){let Ci=ly(oy(Hn,Me),oy(Hn,Bn),To,zn),ts=Ci[0];if(ni&&A_(ts)){let Me=ts.charAt(0)===Av?"file://":"file:///";Ci[0]=Me+ts}return xo(Ci)}function FT(Me,Bn){for(;;){let Hn=Bn(Me);if(Hn!==void 0)return Hn;let zn=ma(Me);if(zn===Me)return;Me=zn}}function aA(Me){return es(Me,"/node_modules")}var Av,vv,Ev,bv,Cv,wv=D({"src/compiler/path.ts"(){"use strict";Gw(),Av="/",vv="\\",Ev="://",bv=/\\/g,Cv=/(?:\/\/)|(?:^|\/)\.\.?(?:$|\/)/}});function i(Me,Bn,Hn,zn,ni,Ci,ts){return{code:Me,category:Bn,key:Hn,message:zn,reportsUnnecessary:ni,elidedInCompatabilityPyramid:Ci,reportsDeprecated:ts}}var Sv,Iv=D({"src/compiler/diagnosticInformationMap.generated.ts"(){"use strict";Vy(),Sv={Unterminated_string_literal:i(1002,1,"Unterminated_string_literal_1002","Unterminated string literal."),Identifier_expected:i(1003,1,"Identifier_expected_1003","Identifier expected."),_0_expected:i(1005,1,"_0_expected_1005","'{0}' expected."),A_file_cannot_have_a_reference_to_itself:i(1006,1,"A_file_cannot_have_a_reference_to_itself_1006","A file cannot have a reference to itself."),The_parser_expected_to_find_a_1_to_match_the_0_token_here:i(1007,1,"The_parser_expected_to_find_a_1_to_match_the_0_token_here_1007","The parser expected to find a '{1}' to match the '{0}' token here."),Trailing_comma_not_allowed:i(1009,1,"Trailing_comma_not_allowed_1009","Trailing comma not allowed."),Asterisk_Slash_expected:i(1010,1,"Asterisk_Slash_expected_1010","'*/' expected."),An_element_access_expression_should_take_an_argument:i(1011,1,"An_element_access_expression_should_take_an_argument_1011","An element access expression should take an argument."),Unexpected_token:i(1012,1,"Unexpected_token_1012","Unexpected token."),A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma:i(1013,1,"A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma_1013","A rest parameter or binding pattern may not have a trailing comma."),A_rest_parameter_must_be_last_in_a_parameter_list:i(1014,1,"A_rest_parameter_must_be_last_in_a_parameter_list_1014","A rest parameter must be last in a parameter list."),Parameter_cannot_have_question_mark_and_initializer:i(1015,1,"Parameter_cannot_have_question_mark_and_initializer_1015","Parameter cannot have question mark and initializer."),A_required_parameter_cannot_follow_an_optional_parameter:i(1016,1,"A_required_parameter_cannot_follow_an_optional_parameter_1016","A required parameter cannot follow an optional parameter."),An_index_signature_cannot_have_a_rest_parameter:i(1017,1,"An_index_signature_cannot_have_a_rest_parameter_1017","An index signature cannot have a rest parameter."),An_index_signature_parameter_cannot_have_an_accessibility_modifier:i(1018,1,"An_index_signature_parameter_cannot_have_an_accessibility_modifier_1018","An index signature parameter cannot have an accessibility modifier."),An_index_signature_parameter_cannot_have_a_question_mark:i(1019,1,"An_index_signature_parameter_cannot_have_a_question_mark_1019","An index signature parameter cannot have a question mark."),An_index_signature_parameter_cannot_have_an_initializer:i(1020,1,"An_index_signature_parameter_cannot_have_an_initializer_1020","An index signature parameter cannot have an initializer."),An_index_signature_must_have_a_type_annotation:i(1021,1,"An_index_signature_must_have_a_type_annotation_1021","An index signature must have a type annotation."),An_index_signature_parameter_must_have_a_type_annotation:i(1022,1,"An_index_signature_parameter_must_have_a_type_annotation_1022","An index signature parameter must have a type annotation."),readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature:i(1024,1,"readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature_1024","'readonly' modifier can only appear on a property declaration or index signature."),An_index_signature_cannot_have_a_trailing_comma:i(1025,1,"An_index_signature_cannot_have_a_trailing_comma_1025","An index signature cannot have a trailing comma."),Accessibility_modifier_already_seen:i(1028,1,"Accessibility_modifier_already_seen_1028","Accessibility modifier already seen."),_0_modifier_must_precede_1_modifier:i(1029,1,"_0_modifier_must_precede_1_modifier_1029","'{0}' modifier must precede '{1}' modifier."),_0_modifier_already_seen:i(1030,1,"_0_modifier_already_seen_1030","'{0}' modifier already seen."),_0_modifier_cannot_appear_on_class_elements_of_this_kind:i(1031,1,"_0_modifier_cannot_appear_on_class_elements_of_this_kind_1031","'{0}' modifier cannot appear on class elements of this kind."),super_must_be_followed_by_an_argument_list_or_member_access:i(1034,1,"super_must_be_followed_by_an_argument_list_or_member_access_1034","'super' must be followed by an argument list or member access."),Only_ambient_modules_can_use_quoted_names:i(1035,1,"Only_ambient_modules_can_use_quoted_names_1035","Only ambient modules can use quoted names."),Statements_are_not_allowed_in_ambient_contexts:i(1036,1,"Statements_are_not_allowed_in_ambient_contexts_1036","Statements are not allowed in ambient contexts."),A_declare_modifier_cannot_be_used_in_an_already_ambient_context:i(1038,1,"A_declare_modifier_cannot_be_used_in_an_already_ambient_context_1038","A 'declare' modifier cannot be used in an already ambient context."),Initializers_are_not_allowed_in_ambient_contexts:i(1039,1,"Initializers_are_not_allowed_in_ambient_contexts_1039","Initializers are not allowed in ambient contexts."),_0_modifier_cannot_be_used_in_an_ambient_context:i(1040,1,"_0_modifier_cannot_be_used_in_an_ambient_context_1040","'{0}' modifier cannot be used in an ambient context."),_0_modifier_cannot_be_used_here:i(1042,1,"_0_modifier_cannot_be_used_here_1042","'{0}' modifier cannot be used here."),_0_modifier_cannot_appear_on_a_module_or_namespace_element:i(1044,1,"_0_modifier_cannot_appear_on_a_module_or_namespace_element_1044","'{0}' modifier cannot appear on a module or namespace element."),Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier:i(1046,1,"Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier_1046","Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier."),A_rest_parameter_cannot_be_optional:i(1047,1,"A_rest_parameter_cannot_be_optional_1047","A rest parameter cannot be optional."),A_rest_parameter_cannot_have_an_initializer:i(1048,1,"A_rest_parameter_cannot_have_an_initializer_1048","A rest parameter cannot have an initializer."),A_set_accessor_must_have_exactly_one_parameter:i(1049,1,"A_set_accessor_must_have_exactly_one_parameter_1049","A 'set' accessor must have exactly one parameter."),A_set_accessor_cannot_have_an_optional_parameter:i(1051,1,"A_set_accessor_cannot_have_an_optional_parameter_1051","A 'set' accessor cannot have an optional parameter."),A_set_accessor_parameter_cannot_have_an_initializer:i(1052,1,"A_set_accessor_parameter_cannot_have_an_initializer_1052","A 'set' accessor parameter cannot have an initializer."),A_set_accessor_cannot_have_rest_parameter:i(1053,1,"A_set_accessor_cannot_have_rest_parameter_1053","A 'set' accessor cannot have rest parameter."),A_get_accessor_cannot_have_parameters:i(1054,1,"A_get_accessor_cannot_have_parameters_1054","A 'get' accessor cannot have parameters."),Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value:i(1055,1,"Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Prom_1055","Type '{0}' is not a valid async function return type in ES5/ES3 because it does not refer to a Promise-compatible constructor value."),Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher:i(1056,1,"Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher_1056","Accessors are only available when targeting ECMAScript 5 and higher."),The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:i(1058,1,"The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_t_1058","The return type of an async function must either be a valid promise or must not contain a callable 'then' member."),A_promise_must_have_a_then_method:i(1059,1,"A_promise_must_have_a_then_method_1059","A promise must have a 'then' method."),The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback:i(1060,1,"The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback_1060","The first parameter of the 'then' method of a promise must be a callback."),Enum_member_must_have_initializer:i(1061,1,"Enum_member_must_have_initializer_1061","Enum member must have initializer."),Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method:i(1062,1,"Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method_1062","Type is referenced directly or indirectly in the fulfillment callback of its own 'then' method."),An_export_assignment_cannot_be_used_in_a_namespace:i(1063,1,"An_export_assignment_cannot_be_used_in_a_namespace_1063","An export assignment cannot be used in a namespace."),The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0:i(1064,1,"The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_wri_1064","The return type of an async function or method must be the global Promise type. Did you mean to write 'Promise<{0}>'?"),In_ambient_enum_declarations_member_initializer_must_be_constant_expression:i(1066,1,"In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066","In ambient enum declarations member initializer must be constant expression."),Unexpected_token_A_constructor_method_accessor_or_property_was_expected:i(1068,1,"Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068","Unexpected token. A constructor, method, accessor, or property was expected."),Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces:i(1069,1,"Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069","Unexpected token. A type parameter name was expected without curly braces."),_0_modifier_cannot_appear_on_a_type_member:i(1070,1,"_0_modifier_cannot_appear_on_a_type_member_1070","'{0}' modifier cannot appear on a type member."),_0_modifier_cannot_appear_on_an_index_signature:i(1071,1,"_0_modifier_cannot_appear_on_an_index_signature_1071","'{0}' modifier cannot appear on an index signature."),A_0_modifier_cannot_be_used_with_an_import_declaration:i(1079,1,"A_0_modifier_cannot_be_used_with_an_import_declaration_1079","A '{0}' modifier cannot be used with an import declaration."),Invalid_reference_directive_syntax:i(1084,1,"Invalid_reference_directive_syntax_1084","Invalid 'reference' directive syntax."),Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:i(1085,1,"Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0_1085","Octal literals are not available when targeting ECMAScript 5 and higher. Use the syntax '{0}'."),_0_modifier_cannot_appear_on_a_constructor_declaration:i(1089,1,"_0_modifier_cannot_appear_on_a_constructor_declaration_1089","'{0}' modifier cannot appear on a constructor declaration."),_0_modifier_cannot_appear_on_a_parameter:i(1090,1,"_0_modifier_cannot_appear_on_a_parameter_1090","'{0}' modifier cannot appear on a parameter."),Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:i(1091,1,"Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091","Only a single variable declaration is allowed in a 'for...in' statement."),Type_parameters_cannot_appear_on_a_constructor_declaration:i(1092,1,"Type_parameters_cannot_appear_on_a_constructor_declaration_1092","Type parameters cannot appear on a constructor declaration."),Type_annotation_cannot_appear_on_a_constructor_declaration:i(1093,1,"Type_annotation_cannot_appear_on_a_constructor_declaration_1093","Type annotation cannot appear on a constructor declaration."),An_accessor_cannot_have_type_parameters:i(1094,1,"An_accessor_cannot_have_type_parameters_1094","An accessor cannot have type parameters."),A_set_accessor_cannot_have_a_return_type_annotation:i(1095,1,"A_set_accessor_cannot_have_a_return_type_annotation_1095","A 'set' accessor cannot have a return type annotation."),An_index_signature_must_have_exactly_one_parameter:i(1096,1,"An_index_signature_must_have_exactly_one_parameter_1096","An index signature must have exactly one parameter."),_0_list_cannot_be_empty:i(1097,1,"_0_list_cannot_be_empty_1097","'{0}' list cannot be empty."),Type_parameter_list_cannot_be_empty:i(1098,1,"Type_parameter_list_cannot_be_empty_1098","Type parameter list cannot be empty."),Type_argument_list_cannot_be_empty:i(1099,1,"Type_argument_list_cannot_be_empty_1099","Type argument list cannot be empty."),Invalid_use_of_0_in_strict_mode:i(1100,1,"Invalid_use_of_0_in_strict_mode_1100","Invalid use of '{0}' in strict mode."),with_statements_are_not_allowed_in_strict_mode:i(1101,1,"with_statements_are_not_allowed_in_strict_mode_1101","'with' statements are not allowed in strict mode."),delete_cannot_be_called_on_an_identifier_in_strict_mode:i(1102,1,"delete_cannot_be_called_on_an_identifier_in_strict_mode_1102","'delete' cannot be called on an identifier in strict mode."),for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:i(1103,1,"for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1103","'for await' loops are only allowed within async functions and at the top levels of modules."),A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement:i(1104,1,"A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104","A 'continue' statement can only be used within an enclosing iteration statement."),A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:i(1105,1,"A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105","A 'break' statement can only be used within an enclosing iteration or switch statement."),The_left_hand_side_of_a_for_of_statement_may_not_be_async:i(1106,1,"The_left_hand_side_of_a_for_of_statement_may_not_be_async_1106","The left-hand side of a 'for...of' statement may not be 'async'."),Jump_target_cannot_cross_function_boundary:i(1107,1,"Jump_target_cannot_cross_function_boundary_1107","Jump target cannot cross function boundary."),A_return_statement_can_only_be_used_within_a_function_body:i(1108,1,"A_return_statement_can_only_be_used_within_a_function_body_1108","A 'return' statement can only be used within a function body."),Expression_expected:i(1109,1,"Expression_expected_1109","Expression expected."),Type_expected:i(1110,1,"Type_expected_1110","Type expected."),A_default_clause_cannot_appear_more_than_once_in_a_switch_statement:i(1113,1,"A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113","A 'default' clause cannot appear more than once in a 'switch' statement."),Duplicate_label_0:i(1114,1,"Duplicate_label_0_1114","Duplicate label '{0}'."),A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement:i(1115,1,"A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115","A 'continue' statement can only jump to a label of an enclosing iteration statement."),A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:i(1116,1,"A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116","A 'break' statement can only jump to a label of an enclosing statement."),An_object_literal_cannot_have_multiple_properties_with_the_same_name:i(1117,1,"An_object_literal_cannot_have_multiple_properties_with_the_same_name_1117","An object literal cannot have multiple properties with the same name."),An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name:i(1118,1,"An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118","An object literal cannot have multiple get/set accessors with the same name."),An_object_literal_cannot_have_property_and_accessor_with_the_same_name:i(1119,1,"An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119","An object literal cannot have property and accessor with the same name."),An_export_assignment_cannot_have_modifiers:i(1120,1,"An_export_assignment_cannot_have_modifiers_1120","An export assignment cannot have modifiers."),Octal_literals_are_not_allowed_in_strict_mode:i(1121,1,"Octal_literals_are_not_allowed_in_strict_mode_1121","Octal literals are not allowed in strict mode."),Variable_declaration_list_cannot_be_empty:i(1123,1,"Variable_declaration_list_cannot_be_empty_1123","Variable declaration list cannot be empty."),Digit_expected:i(1124,1,"Digit_expected_1124","Digit expected."),Hexadecimal_digit_expected:i(1125,1,"Hexadecimal_digit_expected_1125","Hexadecimal digit expected."),Unexpected_end_of_text:i(1126,1,"Unexpected_end_of_text_1126","Unexpected end of text."),Invalid_character:i(1127,1,"Invalid_character_1127","Invalid character."),Declaration_or_statement_expected:i(1128,1,"Declaration_or_statement_expected_1128","Declaration or statement expected."),Statement_expected:i(1129,1,"Statement_expected_1129","Statement expected."),case_or_default_expected:i(1130,1,"case_or_default_expected_1130","'case' or 'default' expected."),Property_or_signature_expected:i(1131,1,"Property_or_signature_expected_1131","Property or signature expected."),Enum_member_expected:i(1132,1,"Enum_member_expected_1132","Enum member expected."),Variable_declaration_expected:i(1134,1,"Variable_declaration_expected_1134","Variable declaration expected."),Argument_expression_expected:i(1135,1,"Argument_expression_expected_1135","Argument expression expected."),Property_assignment_expected:i(1136,1,"Property_assignment_expected_1136","Property assignment expected."),Expression_or_comma_expected:i(1137,1,"Expression_or_comma_expected_1137","Expression or comma expected."),Parameter_declaration_expected:i(1138,1,"Parameter_declaration_expected_1138","Parameter declaration expected."),Type_parameter_declaration_expected:i(1139,1,"Type_parameter_declaration_expected_1139","Type parameter declaration expected."),Type_argument_expected:i(1140,1,"Type_argument_expected_1140","Type argument expected."),String_literal_expected:i(1141,1,"String_literal_expected_1141","String literal expected."),Line_break_not_permitted_here:i(1142,1,"Line_break_not_permitted_here_1142","Line break not permitted here."),or_expected:i(1144,1,"or_expected_1144","'{' or ';' expected."),or_JSX_element_expected:i(1145,1,"or_JSX_element_expected_1145","'{' or JSX element expected."),Declaration_expected:i(1146,1,"Declaration_expected_1146","Declaration expected."),Import_declarations_in_a_namespace_cannot_reference_a_module:i(1147,1,"Import_declarations_in_a_namespace_cannot_reference_a_module_1147","Import declarations in a namespace cannot reference a module."),Cannot_use_imports_exports_or_module_augmentations_when_module_is_none:i(1148,1,"Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148","Cannot use imports, exports, or module augmentations when '--module' is 'none'."),File_name_0_differs_from_already_included_file_name_1_only_in_casing:i(1149,1,"File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149","File name '{0}' differs from already included file name '{1}' only in casing."),const_declarations_must_be_initialized:i(1155,1,"const_declarations_must_be_initialized_1155","'const' declarations must be initialized."),const_declarations_can_only_be_declared_inside_a_block:i(1156,1,"const_declarations_can_only_be_declared_inside_a_block_1156","'const' declarations can only be declared inside a block."),let_declarations_can_only_be_declared_inside_a_block:i(1157,1,"let_declarations_can_only_be_declared_inside_a_block_1157","'let' declarations can only be declared inside a block."),Unterminated_template_literal:i(1160,1,"Unterminated_template_literal_1160","Unterminated template literal."),Unterminated_regular_expression_literal:i(1161,1,"Unterminated_regular_expression_literal_1161","Unterminated regular expression literal."),An_object_member_cannot_be_declared_optional:i(1162,1,"An_object_member_cannot_be_declared_optional_1162","An object member cannot be declared optional."),A_yield_expression_is_only_allowed_in_a_generator_body:i(1163,1,"A_yield_expression_is_only_allowed_in_a_generator_body_1163","A 'yield' expression is only allowed in a generator body."),Computed_property_names_are_not_allowed_in_enums:i(1164,1,"Computed_property_names_are_not_allowed_in_enums_1164","Computed property names are not allowed in enums."),A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:i(1165,1,"A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_t_1165","A computed property name in an ambient context must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_symbol_type:i(1166,1,"A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_1166","A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type."),A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:i(1168,1,"A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_ty_1168","A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:i(1169,1,"A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_1169","A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:i(1170,1,"A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type__1170","A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_comma_expression_is_not_allowed_in_a_computed_property_name:i(1171,1,"A_comma_expression_is_not_allowed_in_a_computed_property_name_1171","A comma expression is not allowed in a computed property name."),extends_clause_already_seen:i(1172,1,"extends_clause_already_seen_1172","'extends' clause already seen."),extends_clause_must_precede_implements_clause:i(1173,1,"extends_clause_must_precede_implements_clause_1173","'extends' clause must precede 'implements' clause."),Classes_can_only_extend_a_single_class:i(1174,1,"Classes_can_only_extend_a_single_class_1174","Classes can only extend a single class."),implements_clause_already_seen:i(1175,1,"implements_clause_already_seen_1175","'implements' clause already seen."),Interface_declaration_cannot_have_implements_clause:i(1176,1,"Interface_declaration_cannot_have_implements_clause_1176","Interface declaration cannot have 'implements' clause."),Binary_digit_expected:i(1177,1,"Binary_digit_expected_1177","Binary digit expected."),Octal_digit_expected:i(1178,1,"Octal_digit_expected_1178","Octal digit expected."),Unexpected_token_expected:i(1179,1,"Unexpected_token_expected_1179","Unexpected token. '{' expected."),Property_destructuring_pattern_expected:i(1180,1,"Property_destructuring_pattern_expected_1180","Property destructuring pattern expected."),Array_element_destructuring_pattern_expected:i(1181,1,"Array_element_destructuring_pattern_expected_1181","Array element destructuring pattern expected."),A_destructuring_declaration_must_have_an_initializer:i(1182,1,"A_destructuring_declaration_must_have_an_initializer_1182","A destructuring declaration must have an initializer."),An_implementation_cannot_be_declared_in_ambient_contexts:i(1183,1,"An_implementation_cannot_be_declared_in_ambient_contexts_1183","An implementation cannot be declared in ambient contexts."),Modifiers_cannot_appear_here:i(1184,1,"Modifiers_cannot_appear_here_1184","Modifiers cannot appear here."),Merge_conflict_marker_encountered:i(1185,1,"Merge_conflict_marker_encountered_1185","Merge conflict marker encountered."),A_rest_element_cannot_have_an_initializer:i(1186,1,"A_rest_element_cannot_have_an_initializer_1186","A rest element cannot have an initializer."),A_parameter_property_may_not_be_declared_using_a_binding_pattern:i(1187,1,"A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187","A parameter property may not be declared using a binding pattern."),Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement:i(1188,1,"Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188","Only a single variable declaration is allowed in a 'for...of' statement."),The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:i(1189,1,"The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189","The variable declaration of a 'for...in' statement cannot have an initializer."),The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer:i(1190,1,"The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190","The variable declaration of a 'for...of' statement cannot have an initializer."),An_import_declaration_cannot_have_modifiers:i(1191,1,"An_import_declaration_cannot_have_modifiers_1191","An import declaration cannot have modifiers."),Module_0_has_no_default_export:i(1192,1,"Module_0_has_no_default_export_1192","Module '{0}' has no default export."),An_export_declaration_cannot_have_modifiers:i(1193,1,"An_export_declaration_cannot_have_modifiers_1193","An export declaration cannot have modifiers."),Export_declarations_are_not_permitted_in_a_namespace:i(1194,1,"Export_declarations_are_not_permitted_in_a_namespace_1194","Export declarations are not permitted in a namespace."),export_Asterisk_does_not_re_export_a_default:i(1195,1,"export_Asterisk_does_not_re_export_a_default_1195","'export *' does not re-export a default."),Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified:i(1196,1,"Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified_1196","Catch clause variable type annotation must be 'any' or 'unknown' if specified."),Catch_clause_variable_cannot_have_an_initializer:i(1197,1,"Catch_clause_variable_cannot_have_an_initializer_1197","Catch clause variable cannot have an initializer."),An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive:i(1198,1,"An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198","An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive."),Unterminated_Unicode_escape_sequence:i(1199,1,"Unterminated_Unicode_escape_sequence_1199","Unterminated Unicode escape sequence."),Line_terminator_not_permitted_before_arrow:i(1200,1,"Line_terminator_not_permitted_before_arrow_1200","Line terminator not permitted before arrow."),Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead:i(1202,1,"Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_1202",`Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead.`),Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead:i(1203,1,"Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or__1203","Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead."),Re_exporting_a_type_when_0_is_enabled_requires_using_export_type:i(1205,1,"Re_exporting_a_type_when_0_is_enabled_requires_using_export_type_1205","Re-exporting a type when '{0}' is enabled requires using 'export type'."),Decorators_are_not_valid_here:i(1206,1,"Decorators_are_not_valid_here_1206","Decorators are not valid here."),Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name:i(1207,1,"Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207","Decorators cannot be applied to multiple get/set accessors of the same name."),Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0:i(1209,1,"Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0_1209","Invalid optional chain from new expression. Did you mean to call '{0}()'?"),Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode:i(1210,1,"Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of__1210","Code contained in a class is evaluated in JavaScript's strict mode which does not allow this use of '{0}'. For more information, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode."),A_class_declaration_without_the_default_modifier_must_have_a_name:i(1211,1,"A_class_declaration_without_the_default_modifier_must_have_a_name_1211","A class declaration without the 'default' modifier must have a name."),Identifier_expected_0_is_a_reserved_word_in_strict_mode:i(1212,1,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212","Identifier expected. '{0}' is a reserved word in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:i(1213,1,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213","Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:i(1214,1,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214","Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode."),Invalid_use_of_0_Modules_are_automatically_in_strict_mode:i(1215,1,"Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215","Invalid use of '{0}'. Modules are automatically in strict mode."),Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules:i(1216,1,"Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216","Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules."),Export_assignment_is_not_supported_when_module_flag_is_system:i(1218,1,"Export_assignment_is_not_supported_when_module_flag_is_system_1218","Export assignment is not supported when '--module' flag is 'system'."),Generators_are_not_allowed_in_an_ambient_context:i(1221,1,"Generators_are_not_allowed_in_an_ambient_context_1221","Generators are not allowed in an ambient context."),An_overload_signature_cannot_be_declared_as_a_generator:i(1222,1,"An_overload_signature_cannot_be_declared_as_a_generator_1222","An overload signature cannot be declared as a generator."),_0_tag_already_specified:i(1223,1,"_0_tag_already_specified_1223","'{0}' tag already specified."),Signature_0_must_be_a_type_predicate:i(1224,1,"Signature_0_must_be_a_type_predicate_1224","Signature '{0}' must be a type predicate."),Cannot_find_parameter_0:i(1225,1,"Cannot_find_parameter_0_1225","Cannot find parameter '{0}'."),Type_predicate_0_is_not_assignable_to_1:i(1226,1,"Type_predicate_0_is_not_assignable_to_1_1226","Type predicate '{0}' is not assignable to '{1}'."),Parameter_0_is_not_in_the_same_position_as_parameter_1:i(1227,1,"Parameter_0_is_not_in_the_same_position_as_parameter_1_1227","Parameter '{0}' is not in the same position as parameter '{1}'."),A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods:i(1228,1,"A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228","A type predicate is only allowed in return type position for functions and methods."),A_type_predicate_cannot_reference_a_rest_parameter:i(1229,1,"A_type_predicate_cannot_reference_a_rest_parameter_1229","A type predicate cannot reference a rest parameter."),A_type_predicate_cannot_reference_element_0_in_a_binding_pattern:i(1230,1,"A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230","A type predicate cannot reference element '{0}' in a binding pattern."),An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration:i(1231,1,"An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration_1231","An export assignment must be at the top level of a file or module declaration."),An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module:i(1232,1,"An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module_1232","An import declaration can only be used at the top level of a namespace or module."),An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module:i(1233,1,"An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module_1233","An export declaration can only be used at the top level of a namespace or module."),An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:i(1234,1,"An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234","An ambient module declaration is only allowed at the top level in a file."),A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module:i(1235,1,"A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module_1235","A namespace declaration is only allowed at the top level of a namespace or module."),The_return_type_of_a_property_decorator_function_must_be_either_void_or_any:i(1236,1,"The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236","The return type of a property decorator function must be either 'void' or 'any'."),The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any:i(1237,1,"The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237","The return type of a parameter decorator function must be either 'void' or 'any'."),Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression:i(1238,1,"Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238","Unable to resolve signature of class decorator when called as an expression."),Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression:i(1239,1,"Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239","Unable to resolve signature of parameter decorator when called as an expression."),Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression:i(1240,1,"Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240","Unable to resolve signature of property decorator when called as an expression."),Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression:i(1241,1,"Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241","Unable to resolve signature of method decorator when called as an expression."),abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration:i(1242,1,"abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242","'abstract' modifier can only appear on a class, method, or property declaration."),_0_modifier_cannot_be_used_with_1_modifier:i(1243,1,"_0_modifier_cannot_be_used_with_1_modifier_1243","'{0}' modifier cannot be used with '{1}' modifier."),Abstract_methods_can_only_appear_within_an_abstract_class:i(1244,1,"Abstract_methods_can_only_appear_within_an_abstract_class_1244","Abstract methods can only appear within an abstract class."),Method_0_cannot_have_an_implementation_because_it_is_marked_abstract:i(1245,1,"Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245","Method '{0}' cannot have an implementation because it is marked abstract."),An_interface_property_cannot_have_an_initializer:i(1246,1,"An_interface_property_cannot_have_an_initializer_1246","An interface property cannot have an initializer."),A_type_literal_property_cannot_have_an_initializer:i(1247,1,"A_type_literal_property_cannot_have_an_initializer_1247","A type literal property cannot have an initializer."),A_class_member_cannot_have_the_0_keyword:i(1248,1,"A_class_member_cannot_have_the_0_keyword_1248","A class member cannot have the '{0}' keyword."),A_decorator_can_only_decorate_a_method_implementation_not_an_overload:i(1249,1,"A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249","A decorator can only decorate a method implementation, not an overload."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5:i(1250,1,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:i(1251,1,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Class definitions are automatically in strict mode."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:i(1252,1,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Modules are automatically in strict mode."),A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference:i(1254,1,"A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_refere_1254","A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference."),A_definite_assignment_assertion_is_not_permitted_in_this_context:i(1255,1,"A_definite_assignment_assertion_is_not_permitted_in_this_context_1255","A definite assignment assertion '!' is not permitted in this context."),A_required_element_cannot_follow_an_optional_element:i(1257,1,"A_required_element_cannot_follow_an_optional_element_1257","A required element cannot follow an optional element."),A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration:i(1258,1,"A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration_1258","A default export must be at the top level of a file or module declaration."),Module_0_can_only_be_default_imported_using_the_1_flag:i(1259,1,"Module_0_can_only_be_default_imported_using_the_1_flag_1259","Module '{0}' can only be default-imported using the '{1}' flag"),Keywords_cannot_contain_escape_characters:i(1260,1,"Keywords_cannot_contain_escape_characters_1260","Keywords cannot contain escape characters."),Already_included_file_name_0_differs_from_file_name_1_only_in_casing:i(1261,1,"Already_included_file_name_0_differs_from_file_name_1_only_in_casing_1261","Already included file name '{0}' differs from file name '{1}' only in casing."),Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module:i(1262,1,"Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module_1262","Identifier expected. '{0}' is a reserved word at the top-level of a module."),Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:i(1263,1,"Declarations_with_initializers_cannot_also_have_definite_assignment_assertions_1263","Declarations with initializers cannot also have definite assignment assertions."),Declarations_with_definite_assignment_assertions_must_also_have_type_annotations:i(1264,1,"Declarations_with_definite_assignment_assertions_must_also_have_type_annotations_1264","Declarations with definite assignment assertions must also have type annotations."),A_rest_element_cannot_follow_another_rest_element:i(1265,1,"A_rest_element_cannot_follow_another_rest_element_1265","A rest element cannot follow another rest element."),An_optional_element_cannot_follow_a_rest_element:i(1266,1,"An_optional_element_cannot_follow_a_rest_element_1266","An optional element cannot follow a rest element."),Property_0_cannot_have_an_initializer_because_it_is_marked_abstract:i(1267,1,"Property_0_cannot_have_an_initializer_because_it_is_marked_abstract_1267","Property '{0}' cannot have an initializer because it is marked abstract."),An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type:i(1268,1,"An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type_1268","An index signature parameter type must be 'string', 'number', 'symbol', or a template literal type."),Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled:i(1269,1,"Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled_1269","Cannot use 'export import' on a type or type-only namespace when '{0}' is enabled."),Decorator_function_return_type_0_is_not_assignable_to_type_1:i(1270,1,"Decorator_function_return_type_0_is_not_assignable_to_type_1_1270","Decorator function return type '{0}' is not assignable to type '{1}'."),Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any:i(1271,1,"Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any_1271","Decorator function return type is '{0}' but is expected to be 'void' or 'any'."),A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled:i(1272,1,"A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_w_1272","A type referenced in a decorated signature must be imported with 'import type' or a namespace import when 'isolatedModules' and 'emitDecoratorMetadata' are enabled."),_0_modifier_cannot_appear_on_a_type_parameter:i(1273,1,"_0_modifier_cannot_appear_on_a_type_parameter_1273","'{0}' modifier cannot appear on a type parameter"),_0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias:i(1274,1,"_0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias_1274","'{0}' modifier can only appear on a type parameter of a class, interface or type alias"),accessor_modifier_can_only_appear_on_a_property_declaration:i(1275,1,"accessor_modifier_can_only_appear_on_a_property_declaration_1275","'accessor' modifier can only appear on a property declaration."),An_accessor_property_cannot_be_declared_optional:i(1276,1,"An_accessor_property_cannot_be_declared_optional_1276","An 'accessor' property cannot be declared optional."),_0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class:i(1277,1,"_0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class_1277","'{0}' modifier can only appear on a type parameter of a function, method or class"),The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_0:i(1278,1,"The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_0_1278","The runtime will invoke the decorator with {1} arguments, but the decorator expects {0}."),The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_at_least_0:i(1279,1,"The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_at_least_0_1279","The runtime will invoke the decorator with {1} arguments, but the decorator expects at least {0}."),Namespaces_are_not_allowed_in_global_script_files_when_0_is_enabled_If_this_file_is_not_intended_to_be_a_global_script_set_moduleDetection_to_force_or_add_an_empty_export_statement:i(1280,1,"Namespaces_are_not_allowed_in_global_script_files_when_0_is_enabled_If_this_file_is_not_intended_to__1280","Namespaces are not allowed in global script files when '{0}' is enabled. If this file is not intended to be a global script, set 'moduleDetection' to 'force' or add an empty 'export {}' statement."),Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead:i(1281,1,"Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead_1281","Cannot access '{0}' from another file without qualification when '{1}' is enabled. Use '{2}' instead."),An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type:i(1282,1,"An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers__1282","An 'export =' declaration must reference a value when 'verbatimModuleSyntax' is enabled, but '{0}' only refers to a type."),An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration:i(1283,1,"An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolve_1283","An 'export =' declaration must reference a real value when 'verbatimModuleSyntax' is enabled, but '{0}' resolves to a type-only declaration."),An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type:i(1284,1,"An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_1284","An 'export default' must reference a value when 'verbatimModuleSyntax' is enabled, but '{0}' only refers to a type."),An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration:i(1285,1,"An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_1285","An 'export default' must reference a real value when 'verbatimModuleSyntax' is enabled, but '{0}' resolves to a type-only declaration."),ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled:i(1286,1,"ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled_1286","ESM syntax is not allowed in a CommonJS module when 'verbatimModuleSyntax' is enabled."),A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled:i(1287,1,"A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimM_1287","A top-level 'export' modifier cannot be used on value declarations in a CommonJS module when 'verbatimModuleSyntax' is enabled."),An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabled:i(1288,1,"An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabl_1288","An import alias cannot resolve to a type or type-only declaration when 'verbatimModuleSyntax' is enabled."),with_statements_are_not_allowed_in_an_async_function_block:i(1300,1,"with_statements_are_not_allowed_in_an_async_function_block_1300","'with' statements are not allowed in an async function block."),await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:i(1308,1,"await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1308","'await' expressions are only allowed within async functions and at the top levels of modules."),The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level:i(1309,1,"The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level_1309","The current file is a CommonJS module and cannot use 'await' at the top level."),Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern:i(1312,1,"Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_1312","Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern."),The_body_of_an_if_statement_cannot_be_the_empty_statement:i(1313,1,"The_body_of_an_if_statement_cannot_be_the_empty_statement_1313","The body of an 'if' statement cannot be the empty statement."),Global_module_exports_may_only_appear_in_module_files:i(1314,1,"Global_module_exports_may_only_appear_in_module_files_1314","Global module exports may only appear in module files."),Global_module_exports_may_only_appear_in_declaration_files:i(1315,1,"Global_module_exports_may_only_appear_in_declaration_files_1315","Global module exports may only appear in declaration files."),Global_module_exports_may_only_appear_at_top_level:i(1316,1,"Global_module_exports_may_only_appear_at_top_level_1316","Global module exports may only appear at top level."),A_parameter_property_cannot_be_declared_using_a_rest_parameter:i(1317,1,"A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317","A parameter property cannot be declared using a rest parameter."),An_abstract_accessor_cannot_have_an_implementation:i(1318,1,"An_abstract_accessor_cannot_have_an_implementation_1318","An abstract accessor cannot have an implementation."),A_default_export_can_only_be_used_in_an_ECMAScript_style_module:i(1319,1,"A_default_export_can_only_be_used_in_an_ECMAScript_style_module_1319","A default export can only be used in an ECMAScript-style module."),Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:i(1320,1,"Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320","Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member."),Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:i(1321,1,"Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321","Type of 'yield' operand in an async generator must either be a valid promise or must not contain a callable 'then' member."),Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:i(1322,1,"Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322","Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member."),Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node16_or_nodenext:i(1323,1,"Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd__1323","Dynamic imports are only supported when the '--module' flag is set to 'es2020', 'es2022', 'esnext', 'commonjs', 'amd', 'system', 'umd', 'node16', or 'nodenext'."),Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_or_nodenext:i(1324,1,"Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_or_nod_1324","Dynamic imports only support a second argument when the '--module' option is set to 'esnext', 'node16', or 'nodenext'."),Argument_of_dynamic_import_cannot_be_spread_element:i(1325,1,"Argument_of_dynamic_import_cannot_be_spread_element_1325","Argument of dynamic import cannot be spread element."),This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments:i(1326,1,"This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot__1326","This use of 'import' is invalid. 'import()' calls can be written, but they must have parentheses and cannot have type arguments."),String_literal_with_double_quotes_expected:i(1327,1,"String_literal_with_double_quotes_expected_1327","String literal with double quotes expected."),Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal:i(1328,1,"Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_li_1328","Property value can only be string literal, numeric literal, 'true', 'false', 'null', object literal or array literal."),_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0:i(1329,1,"_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write__1329","'{0}' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@{0}()'?"),A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly:i(1330,1,"A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly_1330","A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'."),A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly:i(1331,1,"A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly_1331","A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'."),A_variable_whose_type_is_a_unique_symbol_type_must_be_const:i(1332,1,"A_variable_whose_type_is_a_unique_symbol_type_must_be_const_1332","A variable whose type is a 'unique symbol' type must be 'const'."),unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name:i(1333,1,"unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name_1333","'unique symbol' types may not be used on a variable declaration with a binding name."),unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement:i(1334,1,"unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement_1334","'unique symbol' types are only allowed on variables in a variable statement."),unique_symbol_types_are_not_allowed_here:i(1335,1,"unique_symbol_types_are_not_allowed_here_1335","'unique symbol' types are not allowed here."),An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead:i(1337,1,"An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_o_1337","An index signature parameter type cannot be a literal type or generic type. Consider using a mapped object type instead."),infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type:i(1338,1,"infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type_1338","'infer' declarations are only permitted in the 'extends' clause of a conditional type."),Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here:i(1339,1,"Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here_1339","Module '{0}' does not refer to a value, but is used as a value here."),Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0:i(1340,1,"Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0_1340","Module '{0}' does not refer to a type, but is used as a type here. Did you mean 'typeof import('{0}')'?"),Class_constructor_may_not_be_an_accessor:i(1341,1,"Class_constructor_may_not_be_an_accessor_1341","Class constructor may not be an accessor."),The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node16_or_nodenext:i(1343,1,"The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system__1343","The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'es2022', 'esnext', 'system', 'node16', or 'nodenext'."),A_label_is_not_allowed_here:i(1344,1,"A_label_is_not_allowed_here_1344","'A label is not allowed here."),An_expression_of_type_void_cannot_be_tested_for_truthiness:i(1345,1,"An_expression_of_type_void_cannot_be_tested_for_truthiness_1345","An expression of type 'void' cannot be tested for truthiness."),This_parameter_is_not_allowed_with_use_strict_directive:i(1346,1,"This_parameter_is_not_allowed_with_use_strict_directive_1346","This parameter is not allowed with 'use strict' directive."),use_strict_directive_cannot_be_used_with_non_simple_parameter_list:i(1347,1,"use_strict_directive_cannot_be_used_with_non_simple_parameter_list_1347","'use strict' directive cannot be used with non-simple parameter list."),Non_simple_parameter_declared_here:i(1348,1,"Non_simple_parameter_declared_here_1348","Non-simple parameter declared here."),use_strict_directive_used_here:i(1349,1,"use_strict_directive_used_here_1349","'use strict' directive used here."),Print_the_final_configuration_instead_of_building:i(1350,3,"Print_the_final_configuration_instead_of_building_1350","Print the final configuration instead of building."),An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal:i(1351,1,"An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal_1351","An identifier or keyword cannot immediately follow a numeric literal."),A_bigint_literal_cannot_use_exponential_notation:i(1352,1,"A_bigint_literal_cannot_use_exponential_notation_1352","A bigint literal cannot use exponential notation."),A_bigint_literal_must_be_an_integer:i(1353,1,"A_bigint_literal_must_be_an_integer_1353","A bigint literal must be an integer."),readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types:i(1354,1,"readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types_1354","'readonly' type modifier is only permitted on array and tuple literal types."),A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array_or_object_literals:i(1355,1,"A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array__1355","A 'const' assertions can only be applied to references to enum members, or string, number, boolean, array, or object literals."),Did_you_mean_to_mark_this_function_as_async:i(1356,1,"Did_you_mean_to_mark_this_function_as_async_1356","Did you mean to mark this function as 'async'?"),An_enum_member_name_must_be_followed_by_a_or:i(1357,1,"An_enum_member_name_must_be_followed_by_a_or_1357","An enum member name must be followed by a ',', '=', or '}'."),Tagged_template_expressions_are_not_permitted_in_an_optional_chain:i(1358,1,"Tagged_template_expressions_are_not_permitted_in_an_optional_chain_1358","Tagged template expressions are not permitted in an optional chain."),Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:i(1359,1,"Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359","Identifier expected. '{0}' is a reserved word that cannot be used here."),Type_0_does_not_satisfy_the_expected_type_1:i(1360,1,"Type_0_does_not_satisfy_the_expected_type_1_1360","Type '{0}' does not satisfy the expected type '{1}'."),_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type:i(1361,1,"_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type_1361","'{0}' cannot be used as a value because it was imported using 'import type'."),_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:i(1362,1,"_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type_1362","'{0}' cannot be used as a value because it was exported using 'export type'."),A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both:i(1363,1,"A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both_1363","A type-only import can specify a default import or named bindings, but not both."),Convert_to_type_only_export:i(1364,3,"Convert_to_type_only_export_1364","Convert to type-only export"),Convert_all_re_exported_types_to_type_only_exports:i(1365,3,"Convert_all_re_exported_types_to_type_only_exports_1365","Convert all re-exported types to type-only exports"),Split_into_two_separate_import_declarations:i(1366,3,"Split_into_two_separate_import_declarations_1366","Split into two separate import declarations"),Split_all_invalid_type_only_imports:i(1367,3,"Split_all_invalid_type_only_imports_1367","Split all invalid type-only imports"),Class_constructor_may_not_be_a_generator:i(1368,1,"Class_constructor_may_not_be_a_generator_1368","Class constructor may not be a generator."),Did_you_mean_0:i(1369,3,"Did_you_mean_0_1369","Did you mean '{0}'?"),This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set_to_error:i(1371,1,"This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set__1371","This import is never used as a value and must use 'import type' because 'importsNotUsedAsValues' is set to 'error'."),Convert_to_type_only_import:i(1373,3,"Convert_to_type_only_import_1373","Convert to type-only import"),Convert_all_imports_not_used_as_a_value_to_type_only_imports:i(1374,3,"Convert_all_imports_not_used_as_a_value_to_type_only_imports_1374","Convert all imports not used as a value to type-only imports"),await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:i(1375,1,"await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_fi_1375","'await' expressions are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),_0_was_imported_here:i(1376,3,"_0_was_imported_here_1376","'{0}' was imported here."),_0_was_exported_here:i(1377,3,"_0_was_exported_here_1377","'{0}' was exported here."),Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher:i(1378,1,"Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_n_1378","Top-level 'await' expressions are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', or 'nodenext', and the 'target' option is set to 'es2017' or higher."),An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type:i(1379,1,"An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type_1379","An import alias cannot reference a declaration that was exported using 'export type'."),An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type:i(1380,1,"An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type_1380","An import alias cannot reference a declaration that was imported using 'import type'."),Unexpected_token_Did_you_mean_or_rbrace:i(1381,1,"Unexpected_token_Did_you_mean_or_rbrace_1381","Unexpected token. Did you mean `{'}'}` or `}`?"),Unexpected_token_Did_you_mean_or_gt:i(1382,1,"Unexpected_token_Did_you_mean_or_gt_1382","Unexpected token. Did you mean `{'>'}` or `>`?"),Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:i(1385,1,"Function_type_notation_must_be_parenthesized_when_used_in_a_union_type_1385","Function type notation must be parenthesized when used in a union type."),Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:i(1386,1,"Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type_1386","Constructor type notation must be parenthesized when used in a union type."),Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:i(1387,1,"Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1387","Function type notation must be parenthesized when used in an intersection type."),Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:i(1388,1,"Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1388","Constructor type notation must be parenthesized when used in an intersection type."),_0_is_not_allowed_as_a_variable_declaration_name:i(1389,1,"_0_is_not_allowed_as_a_variable_declaration_name_1389","'{0}' is not allowed as a variable declaration name."),_0_is_not_allowed_as_a_parameter_name:i(1390,1,"_0_is_not_allowed_as_a_parameter_name_1390","'{0}' is not allowed as a parameter name."),An_import_alias_cannot_use_import_type:i(1392,1,"An_import_alias_cannot_use_import_type_1392","An import alias cannot use 'import type'"),Imported_via_0_from_file_1:i(1393,3,"Imported_via_0_from_file_1_1393","Imported via {0} from file '{1}'"),Imported_via_0_from_file_1_with_packageId_2:i(1394,3,"Imported_via_0_from_file_1_with_packageId_2_1394","Imported via {0} from file '{1}' with packageId '{2}'"),Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions:i(1395,3,"Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions_1395","Imported via {0} from file '{1}' to import 'importHelpers' as specified in compilerOptions"),Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions:i(1396,3,"Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions_1396","Imported via {0} from file '{1}' with packageId '{2}' to import 'importHelpers' as specified in compilerOptions"),Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions:i(1397,3,"Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions_1397","Imported via {0} from file '{1}' to import 'jsx' and 'jsxs' factory functions"),Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions:i(1398,3,"Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions_1398","Imported via {0} from file '{1}' with packageId '{2}' to import 'jsx' and 'jsxs' factory functions"),File_is_included_via_import_here:i(1399,3,"File_is_included_via_import_here_1399","File is included via import here."),Referenced_via_0_from_file_1:i(1400,3,"Referenced_via_0_from_file_1_1400","Referenced via '{0}' from file '{1}'"),File_is_included_via_reference_here:i(1401,3,"File_is_included_via_reference_here_1401","File is included via reference here."),Type_library_referenced_via_0_from_file_1:i(1402,3,"Type_library_referenced_via_0_from_file_1_1402","Type library referenced via '{0}' from file '{1}'"),Type_library_referenced_via_0_from_file_1_with_packageId_2:i(1403,3,"Type_library_referenced_via_0_from_file_1_with_packageId_2_1403","Type library referenced via '{0}' from file '{1}' with packageId '{2}'"),File_is_included_via_type_library_reference_here:i(1404,3,"File_is_included_via_type_library_reference_here_1404","File is included via type library reference here."),Library_referenced_via_0_from_file_1:i(1405,3,"Library_referenced_via_0_from_file_1_1405","Library referenced via '{0}' from file '{1}'"),File_is_included_via_library_reference_here:i(1406,3,"File_is_included_via_library_reference_here_1406","File is included via library reference here."),Matched_by_include_pattern_0_in_1:i(1407,3,"Matched_by_include_pattern_0_in_1_1407","Matched by include pattern '{0}' in '{1}'"),File_is_matched_by_include_pattern_specified_here:i(1408,3,"File_is_matched_by_include_pattern_specified_here_1408","File is matched by include pattern specified here."),Part_of_files_list_in_tsconfig_json:i(1409,3,"Part_of_files_list_in_tsconfig_json_1409","Part of 'files' list in tsconfig.json"),File_is_matched_by_files_list_specified_here:i(1410,3,"File_is_matched_by_files_list_specified_here_1410","File is matched by 'files' list specified here."),Output_from_referenced_project_0_included_because_1_specified:i(1411,3,"Output_from_referenced_project_0_included_because_1_specified_1411","Output from referenced project '{0}' included because '{1}' specified"),Output_from_referenced_project_0_included_because_module_is_specified_as_none:i(1412,3,"Output_from_referenced_project_0_included_because_module_is_specified_as_none_1412","Output from referenced project '{0}' included because '--module' is specified as 'none'"),File_is_output_from_referenced_project_specified_here:i(1413,3,"File_is_output_from_referenced_project_specified_here_1413","File is output from referenced project specified here."),Source_from_referenced_project_0_included_because_1_specified:i(1414,3,"Source_from_referenced_project_0_included_because_1_specified_1414","Source from referenced project '{0}' included because '{1}' specified"),Source_from_referenced_project_0_included_because_module_is_specified_as_none:i(1415,3,"Source_from_referenced_project_0_included_because_module_is_specified_as_none_1415","Source from referenced project '{0}' included because '--module' is specified as 'none'"),File_is_source_from_referenced_project_specified_here:i(1416,3,"File_is_source_from_referenced_project_specified_here_1416","File is source from referenced project specified here."),Entry_point_of_type_library_0_specified_in_compilerOptions:i(1417,3,"Entry_point_of_type_library_0_specified_in_compilerOptions_1417","Entry point of type library '{0}' specified in compilerOptions"),Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1:i(1418,3,"Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1_1418","Entry point of type library '{0}' specified in compilerOptions with packageId '{1}'"),File_is_entry_point_of_type_library_specified_here:i(1419,3,"File_is_entry_point_of_type_library_specified_here_1419","File is entry point of type library specified here."),Entry_point_for_implicit_type_library_0:i(1420,3,"Entry_point_for_implicit_type_library_0_1420","Entry point for implicit type library '{0}'"),Entry_point_for_implicit_type_library_0_with_packageId_1:i(1421,3,"Entry_point_for_implicit_type_library_0_with_packageId_1_1421","Entry point for implicit type library '{0}' with packageId '{1}'"),Library_0_specified_in_compilerOptions:i(1422,3,"Library_0_specified_in_compilerOptions_1422","Library '{0}' specified in compilerOptions"),File_is_library_specified_here:i(1423,3,"File_is_library_specified_here_1423","File is library specified here."),Default_library:i(1424,3,"Default_library_1424","Default library"),Default_library_for_target_0:i(1425,3,"Default_library_for_target_0_1425","Default library for target '{0}'"),File_is_default_library_for_target_specified_here:i(1426,3,"File_is_default_library_for_target_specified_here_1426","File is default library for target specified here."),Root_file_specified_for_compilation:i(1427,3,"Root_file_specified_for_compilation_1427","Root file specified for compilation"),File_is_output_of_project_reference_source_0:i(1428,3,"File_is_output_of_project_reference_source_0_1428","File is output of project reference source '{0}'"),File_redirects_to_file_0:i(1429,3,"File_redirects_to_file_0_1429","File redirects to file '{0}'"),The_file_is_in_the_program_because_Colon:i(1430,3,"The_file_is_in_the_program_because_Colon_1430","The file is in the program because:"),for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:i(1431,1,"for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_1431","'for await' loops are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher:i(1432,1,"Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_nod_1432","Top-level 'for await' loops are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', or 'nodenext', and the 'target' option is set to 'es2017' or higher."),Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters:i(1433,1,"Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters_1433","Neither decorators nor modifiers may be applied to 'this' parameters."),Unexpected_keyword_or_identifier:i(1434,1,"Unexpected_keyword_or_identifier_1434","Unexpected keyword or identifier."),Unknown_keyword_or_identifier_Did_you_mean_0:i(1435,1,"Unknown_keyword_or_identifier_Did_you_mean_0_1435","Unknown keyword or identifier. Did you mean '{0}'?"),Decorators_must_precede_the_name_and_all_keywords_of_property_declarations:i(1436,1,"Decorators_must_precede_the_name_and_all_keywords_of_property_declarations_1436","Decorators must precede the name and all keywords of property declarations."),Namespace_must_be_given_a_name:i(1437,1,"Namespace_must_be_given_a_name_1437","Namespace must be given a name."),Interface_must_be_given_a_name:i(1438,1,"Interface_must_be_given_a_name_1438","Interface must be given a name."),Type_alias_must_be_given_a_name:i(1439,1,"Type_alias_must_be_given_a_name_1439","Type alias must be given a name."),Variable_declaration_not_allowed_at_this_location:i(1440,1,"Variable_declaration_not_allowed_at_this_location_1440","Variable declaration not allowed at this location."),Cannot_start_a_function_call_in_a_type_annotation:i(1441,1,"Cannot_start_a_function_call_in_a_type_annotation_1441","Cannot start a function call in a type annotation."),Expected_for_property_initializer:i(1442,1,"Expected_for_property_initializer_1442","Expected '=' for property initializer."),Module_declaration_names_may_only_use_or_quoted_strings:i(1443,1,"Module_declaration_names_may_only_use_or_quoted_strings_1443",`Module declaration names may only use ' or " quoted strings.`),_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled:i(1444,1,"_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedMod_1444","'{0}' is a type and must be imported using a type-only import when 'preserveValueImports' and 'isolatedModules' are both enabled."),_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled:i(1446,1,"_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveVa_1446","'{0}' resolves to a type-only declaration and must be imported using a type-only import when 'preserveValueImports' and 'isolatedModules' are both enabled."),_0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_enabled:i(1448,1,"_0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_1448","'{0}' resolves to a type-only declaration and must be re-exported using a type-only re-export when '{1}' is enabled."),Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed:i(1449,3,"Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed_1449","Preserve unused imported values in the JavaScript output that would otherwise be removed."),Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments:i(1450,3,"Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments_1450","Dynamic imports can only accept a module specifier and an optional assertion as arguments"),Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression:i(1451,1,"Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member__1451","Private identifiers are only allowed in class bodies and may only be used as part of a class member declaration, property access, or on the left-hand-side of an 'in' expression"),resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext:i(1452,1,"resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext_1452","'resolution-mode' assertions are only supported when `moduleResolution` is `node16` or `nodenext`."),resolution_mode_should_be_either_require_or_import:i(1453,1,"resolution_mode_should_be_either_require_or_import_1453","`resolution-mode` should be either `require` or `import`."),resolution_mode_can_only_be_set_for_type_only_imports:i(1454,1,"resolution_mode_can_only_be_set_for_type_only_imports_1454","`resolution-mode` can only be set for type-only imports."),resolution_mode_is_the_only_valid_key_for_type_import_assertions:i(1455,1,"resolution_mode_is_the_only_valid_key_for_type_import_assertions_1455","`resolution-mode` is the only valid key for type import assertions."),Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require:i(1456,1,"Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require_1456","Type import assertions should have exactly one key - `resolution-mode` - with value `import` or `require`."),Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk:i(1457,3,"Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk_1457","Matched by default include pattern '**/*'"),File_is_ECMAScript_module_because_0_has_field_type_with_value_module:i(1458,3,"File_is_ECMAScript_module_because_0_has_field_type_with_value_module_1458",`File is ECMAScript module because '{0}' has field "type" with value "module"`),File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module:i(1459,3,"File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module_1459",`File is CommonJS module because '{0}' has field "type" whose value is not "module"`),File_is_CommonJS_module_because_0_does_not_have_field_type:i(1460,3,"File_is_CommonJS_module_because_0_does_not_have_field_type_1460",`File is CommonJS module because '{0}' does not have field "type"`),File_is_CommonJS_module_because_package_json_was_not_found:i(1461,3,"File_is_CommonJS_module_because_package_json_was_not_found_1461","File is CommonJS module because 'package.json' was not found"),The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output:i(1470,1,"The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output_1470","The 'import.meta' meta-property is not allowed in files which will build into CommonJS output."),Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_with_require_Use_an_ECMAScript_import_instead:i(1471,1,"Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_c_1471","Module '{0}' cannot be imported using this construct. The specifier only resolves to an ES module, which cannot be imported with 'require'. Use an ECMAScript import instead."),catch_or_finally_expected:i(1472,1,"catch_or_finally_expected_1472","'catch' or 'finally' expected."),An_import_declaration_can_only_be_used_at_the_top_level_of_a_module:i(1473,1,"An_import_declaration_can_only_be_used_at_the_top_level_of_a_module_1473","An import declaration can only be used at the top level of a module."),An_export_declaration_can_only_be_used_at_the_top_level_of_a_module:i(1474,1,"An_export_declaration_can_only_be_used_at_the_top_level_of_a_module_1474","An export declaration can only be used at the top level of a module."),Control_what_method_is_used_to_detect_module_format_JS_files:i(1475,3,"Control_what_method_is_used_to_detect_module_format_JS_files_1475","Control what method is used to detect module-format JS files."),auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_with_module_Colon_node16_as_modules:i(1476,3,"auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_w_1476",'"auto": Treat files with imports, exports, import.meta, jsx (with jsx: react-jsx), or esm format (with module: node16+) as modules.'),An_instantiation_expression_cannot_be_followed_by_a_property_access:i(1477,1,"An_instantiation_expression_cannot_be_followed_by_a_property_access_1477","An instantiation expression cannot be followed by a property access."),Identifier_or_string_literal_expected:i(1478,1,"Identifier_or_string_literal_expected_1478","Identifier or string literal expected."),The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_referenced_file_is_an_ECMAScript_module_and_cannot_be_imported_with_require_Consider_writing_a_dynamic_import_0_call_instead:i(1479,1,"The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_reference_1479",`The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("{0}")' call instead.`),To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_package_json_file_with_type_Colon_module:i(1480,3,"To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_packag_1480",'To convert this file to an ECMAScript module, change its file extension to \'{0}\' or create a local package.json file with `{ "type": "module" }`.'),To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1:i(1481,3,"To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Co_1481",`To convert this file to an ECMAScript module, change its file extension to '{0}', or add the field \`"type": "module"\` to '{1}'.`),To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0:i(1482,3,"To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0_1482",'To convert this file to an ECMAScript module, add the field `"type": "module"` to \'{0}\'.'),To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module:i(1483,3,"To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module_1483",'To convert this file to an ECMAScript module, create a local package.json file with `{ "type": "module" }`.'),_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled:i(1484,1,"_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled_1484","'{0}' is a type and must be imported using a type-only import when 'verbatimModuleSyntax' is enabled."),_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled:i(1485,1,"_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimMo_1485","'{0}' resolves to a type-only declaration and must be imported using a type-only import when 'verbatimModuleSyntax' is enabled."),Decorator_used_before_export_here:i(1486,1,"Decorator_used_before_export_here_1486","Decorator used before 'export' here."),The_types_of_0_are_incompatible_between_these_types:i(2200,1,"The_types_of_0_are_incompatible_between_these_types_2200","The types of '{0}' are incompatible between these types."),The_types_returned_by_0_are_incompatible_between_these_types:i(2201,1,"The_types_returned_by_0_are_incompatible_between_these_types_2201","The types returned by '{0}' are incompatible between these types."),Call_signature_return_types_0_and_1_are_incompatible:i(2202,1,"Call_signature_return_types_0_and_1_are_incompatible_2202","Call signature return types '{0}' and '{1}' are incompatible.",void 0,!0),Construct_signature_return_types_0_and_1_are_incompatible:i(2203,1,"Construct_signature_return_types_0_and_1_are_incompatible_2203","Construct signature return types '{0}' and '{1}' are incompatible.",void 0,!0),Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:i(2204,1,"Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2204","Call signatures with no arguments have incompatible return types '{0}' and '{1}'.",void 0,!0),Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:i(2205,1,"Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2205","Construct signatures with no arguments have incompatible return types '{0}' and '{1}'.",void 0,!0),The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement:i(2206,1,"The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement_2206","The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement."),The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement:i(2207,1,"The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement_2207","The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement."),This_type_parameter_might_need_an_extends_0_constraint:i(2208,1,"This_type_parameter_might_need_an_extends_0_constraint_2208","This type parameter might need an `extends {0}` constraint."),The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate:i(2209,1,"The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_roo_2209","The project root is ambiguous, but is required to resolve export map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate."),The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate:i(2210,1,"The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_roo_2210","The project root is ambiguous, but is required to resolve import map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate."),Add_extends_constraint:i(2211,3,"Add_extends_constraint_2211","Add `extends` constraint."),Add_extends_constraint_to_all_type_parameters:i(2212,3,"Add_extends_constraint_to_all_type_parameters_2212","Add `extends` constraint to all type parameters"),Duplicate_identifier_0:i(2300,1,"Duplicate_identifier_0_2300","Duplicate identifier '{0}'."),Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:i(2301,1,"Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301","Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."),Static_members_cannot_reference_class_type_parameters:i(2302,1,"Static_members_cannot_reference_class_type_parameters_2302","Static members cannot reference class type parameters."),Circular_definition_of_import_alias_0:i(2303,1,"Circular_definition_of_import_alias_0_2303","Circular definition of import alias '{0}'."),Cannot_find_name_0:i(2304,1,"Cannot_find_name_0_2304","Cannot find name '{0}'."),Module_0_has_no_exported_member_1:i(2305,1,"Module_0_has_no_exported_member_1_2305","Module '{0}' has no exported member '{1}'."),File_0_is_not_a_module:i(2306,1,"File_0_is_not_a_module_2306","File '{0}' is not a module."),Cannot_find_module_0_or_its_corresponding_type_declarations:i(2307,1,"Cannot_find_module_0_or_its_corresponding_type_declarations_2307","Cannot find module '{0}' or its corresponding type declarations."),Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity:i(2308,1,"Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308","Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity."),An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements:i(2309,1,"An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309","An export assignment cannot be used in a module with other exported elements."),Type_0_recursively_references_itself_as_a_base_type:i(2310,1,"Type_0_recursively_references_itself_as_a_base_type_2310","Type '{0}' recursively references itself as a base type."),Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function:i(2311,1,"Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function_2311","Cannot find name '{0}'. Did you mean to write this in an async function?"),An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members:i(2312,1,"An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_me_2312","An interface can only extend an object type or intersection of object types with statically known members."),Type_parameter_0_has_a_circular_constraint:i(2313,1,"Type_parameter_0_has_a_circular_constraint_2313","Type parameter '{0}' has a circular constraint."),Generic_type_0_requires_1_type_argument_s:i(2314,1,"Generic_type_0_requires_1_type_argument_s_2314","Generic type '{0}' requires {1} type argument(s)."),Type_0_is_not_generic:i(2315,1,"Type_0_is_not_generic_2315","Type '{0}' is not generic."),Global_type_0_must_be_a_class_or_interface_type:i(2316,1,"Global_type_0_must_be_a_class_or_interface_type_2316","Global type '{0}' must be a class or interface type."),Global_type_0_must_have_1_type_parameter_s:i(2317,1,"Global_type_0_must_have_1_type_parameter_s_2317","Global type '{0}' must have {1} type parameter(s)."),Cannot_find_global_type_0:i(2318,1,"Cannot_find_global_type_0_2318","Cannot find global type '{0}'."),Named_property_0_of_types_1_and_2_are_not_identical:i(2319,1,"Named_property_0_of_types_1_and_2_are_not_identical_2319","Named property '{0}' of types '{1}' and '{2}' are not identical."),Interface_0_cannot_simultaneously_extend_types_1_and_2:i(2320,1,"Interface_0_cannot_simultaneously_extend_types_1_and_2_2320","Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'."),Excessive_stack_depth_comparing_types_0_and_1:i(2321,1,"Excessive_stack_depth_comparing_types_0_and_1_2321","Excessive stack depth comparing types '{0}' and '{1}'."),Type_0_is_not_assignable_to_type_1:i(2322,1,"Type_0_is_not_assignable_to_type_1_2322","Type '{0}' is not assignable to type '{1}'."),Cannot_redeclare_exported_variable_0:i(2323,1,"Cannot_redeclare_exported_variable_0_2323","Cannot redeclare exported variable '{0}'."),Property_0_is_missing_in_type_1:i(2324,1,"Property_0_is_missing_in_type_1_2324","Property '{0}' is missing in type '{1}'."),Property_0_is_private_in_type_1_but_not_in_type_2:i(2325,1,"Property_0_is_private_in_type_1_but_not_in_type_2_2325","Property '{0}' is private in type '{1}' but not in type '{2}'."),Types_of_property_0_are_incompatible:i(2326,1,"Types_of_property_0_are_incompatible_2326","Types of property '{0}' are incompatible."),Property_0_is_optional_in_type_1_but_required_in_type_2:i(2327,1,"Property_0_is_optional_in_type_1_but_required_in_type_2_2327","Property '{0}' is optional in type '{1}' but required in type '{2}'."),Types_of_parameters_0_and_1_are_incompatible:i(2328,1,"Types_of_parameters_0_and_1_are_incompatible_2328","Types of parameters '{0}' and '{1}' are incompatible."),Index_signature_for_type_0_is_missing_in_type_1:i(2329,1,"Index_signature_for_type_0_is_missing_in_type_1_2329","Index signature for type '{0}' is missing in type '{1}'."),_0_and_1_index_signatures_are_incompatible:i(2330,1,"_0_and_1_index_signatures_are_incompatible_2330","'{0}' and '{1}' index signatures are incompatible."),this_cannot_be_referenced_in_a_module_or_namespace_body:i(2331,1,"this_cannot_be_referenced_in_a_module_or_namespace_body_2331","'this' cannot be referenced in a module or namespace body."),this_cannot_be_referenced_in_current_location:i(2332,1,"this_cannot_be_referenced_in_current_location_2332","'this' cannot be referenced in current location."),this_cannot_be_referenced_in_constructor_arguments:i(2333,1,"this_cannot_be_referenced_in_constructor_arguments_2333","'this' cannot be referenced in constructor arguments."),this_cannot_be_referenced_in_a_static_property_initializer:i(2334,1,"this_cannot_be_referenced_in_a_static_property_initializer_2334","'this' cannot be referenced in a static property initializer."),super_can_only_be_referenced_in_a_derived_class:i(2335,1,"super_can_only_be_referenced_in_a_derived_class_2335","'super' can only be referenced in a derived class."),super_cannot_be_referenced_in_constructor_arguments:i(2336,1,"super_cannot_be_referenced_in_constructor_arguments_2336","'super' cannot be referenced in constructor arguments."),Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors:i(2337,1,"Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337","Super calls are not permitted outside constructors or in nested functions inside constructors."),super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class:i(2338,1,"super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338","'super' property access is permitted only in a constructor, member function, or member accessor of a derived class."),Property_0_does_not_exist_on_type_1:i(2339,1,"Property_0_does_not_exist_on_type_1_2339","Property '{0}' does not exist on type '{1}'."),Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword:i(2340,1,"Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340","Only public and protected methods of the base class are accessible via the 'super' keyword."),Property_0_is_private_and_only_accessible_within_class_1:i(2341,1,"Property_0_is_private_and_only_accessible_within_class_1_2341","Property '{0}' is private and only accessible within class '{1}'."),This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0:i(2343,1,"This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_ve_2343","This syntax requires an imported helper named '{1}' which does not exist in '{0}'. Consider upgrading your version of '{0}'."),Type_0_does_not_satisfy_the_constraint_1:i(2344,1,"Type_0_does_not_satisfy_the_constraint_1_2344","Type '{0}' does not satisfy the constraint '{1}'."),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1:i(2345,1,"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345","Argument of type '{0}' is not assignable to parameter of type '{1}'."),Call_target_does_not_contain_any_signatures:i(2346,1,"Call_target_does_not_contain_any_signatures_2346","Call target does not contain any signatures."),Untyped_function_calls_may_not_accept_type_arguments:i(2347,1,"Untyped_function_calls_may_not_accept_type_arguments_2347","Untyped function calls may not accept type arguments."),Value_of_type_0_is_not_callable_Did_you_mean_to_include_new:i(2348,1,"Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348","Value of type '{0}' is not callable. Did you mean to include 'new'?"),This_expression_is_not_callable:i(2349,1,"This_expression_is_not_callable_2349","This expression is not callable."),Only_a_void_function_can_be_called_with_the_new_keyword:i(2350,1,"Only_a_void_function_can_be_called_with_the_new_keyword_2350","Only a void function can be called with the 'new' keyword."),This_expression_is_not_constructable:i(2351,1,"This_expression_is_not_constructable_2351","This expression is not constructable."),Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first:i(2352,1,"Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the__2352","Conversion of type '{0}' to type '{1}' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first."),Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1:i(2353,1,"Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353","Object literal may only specify known properties, and '{0}' does not exist in type '{1}'."),This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found:i(2354,1,"This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found_2354","This syntax requires an imported helper but module '{0}' cannot be found."),A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value:i(2355,1,"A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_2355","A function whose declared type is neither 'void' nor 'any' must return a value."),An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type:i(2356,1,"An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type_2356","An arithmetic operand must be of type 'any', 'number', 'bigint' or an enum type."),The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access:i(2357,1,"The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357","The operand of an increment or decrement operator must be a variable or a property access."),The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:i(2358,1,"The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358","The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter."),The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type:i(2359,1,"The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_F_2359","The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type."),The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:i(2362,1,"The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2362","The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:i(2363,1,"The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2363","The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access:i(2364,1,"The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364","The left-hand side of an assignment expression must be a variable or a property access."),Operator_0_cannot_be_applied_to_types_1_and_2:i(2365,1,"Operator_0_cannot_be_applied_to_types_1_and_2_2365","Operator '{0}' cannot be applied to types '{1}' and '{2}'."),Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined:i(2366,1,"Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366","Function lacks ending return statement and return type does not include 'undefined'."),This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap:i(2367,1,"This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap_2367","This comparison appears to be unintentional because the types '{0}' and '{1}' have no overlap."),Type_parameter_name_cannot_be_0:i(2368,1,"Type_parameter_name_cannot_be_0_2368","Type parameter name cannot be '{0}'."),A_parameter_property_is_only_allowed_in_a_constructor_implementation:i(2369,1,"A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369","A parameter property is only allowed in a constructor implementation."),A_rest_parameter_must_be_of_an_array_type:i(2370,1,"A_rest_parameter_must_be_of_an_array_type_2370","A rest parameter must be of an array type."),A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation:i(2371,1,"A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371","A parameter initializer is only allowed in a function or constructor implementation."),Parameter_0_cannot_reference_itself:i(2372,1,"Parameter_0_cannot_reference_itself_2372","Parameter '{0}' cannot reference itself."),Parameter_0_cannot_reference_identifier_1_declared_after_it:i(2373,1,"Parameter_0_cannot_reference_identifier_1_declared_after_it_2373","Parameter '{0}' cannot reference identifier '{1}' declared after it."),Duplicate_index_signature_for_type_0:i(2374,1,"Duplicate_index_signature_for_type_0_2374","Duplicate index signature for type '{0}'."),Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties:i(2375,1,"Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefi_2375","Type '{0}' is not assignable to type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties."),A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_class_contains_initialized_properties_parameter_properties_or_private_identifiers:i(2376,1,"A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_2376","A 'super' call must be the first statement in the constructor to refer to 'super' or 'this' when a derived class contains initialized properties, parameter properties, or private identifiers."),Constructors_for_derived_classes_must_contain_a_super_call:i(2377,1,"Constructors_for_derived_classes_must_contain_a_super_call_2377","Constructors for derived classes must contain a 'super' call."),A_get_accessor_must_return_a_value:i(2378,1,"A_get_accessor_must_return_a_value_2378","A 'get' accessor must return a value."),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties:i(2379,1,"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_tr_2379","Argument of type '{0}' is not assignable to parameter of type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties."),The_return_type_of_a_get_accessor_must_be_assignable_to_its_set_accessor_type:i(2380,1,"The_return_type_of_a_get_accessor_must_be_assignable_to_its_set_accessor_type_2380","The return type of a 'get' accessor must be assignable to its 'set' accessor type"),Overload_signatures_must_all_be_exported_or_non_exported:i(2383,1,"Overload_signatures_must_all_be_exported_or_non_exported_2383","Overload signatures must all be exported or non-exported."),Overload_signatures_must_all_be_ambient_or_non_ambient:i(2384,1,"Overload_signatures_must_all_be_ambient_or_non_ambient_2384","Overload signatures must all be ambient or non-ambient."),Overload_signatures_must_all_be_public_private_or_protected:i(2385,1,"Overload_signatures_must_all_be_public_private_or_protected_2385","Overload signatures must all be public, private or protected."),Overload_signatures_must_all_be_optional_or_required:i(2386,1,"Overload_signatures_must_all_be_optional_or_required_2386","Overload signatures must all be optional or required."),Function_overload_must_be_static:i(2387,1,"Function_overload_must_be_static_2387","Function overload must be static."),Function_overload_must_not_be_static:i(2388,1,"Function_overload_must_not_be_static_2388","Function overload must not be static."),Function_implementation_name_must_be_0:i(2389,1,"Function_implementation_name_must_be_0_2389","Function implementation name must be '{0}'."),Constructor_implementation_is_missing:i(2390,1,"Constructor_implementation_is_missing_2390","Constructor implementation is missing."),Function_implementation_is_missing_or_not_immediately_following_the_declaration:i(2391,1,"Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391","Function implementation is missing or not immediately following the declaration."),Multiple_constructor_implementations_are_not_allowed:i(2392,1,"Multiple_constructor_implementations_are_not_allowed_2392","Multiple constructor implementations are not allowed."),Duplicate_function_implementation:i(2393,1,"Duplicate_function_implementation_2393","Duplicate function implementation."),This_overload_signature_is_not_compatible_with_its_implementation_signature:i(2394,1,"This_overload_signature_is_not_compatible_with_its_implementation_signature_2394","This overload signature is not compatible with its implementation signature."),Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local:i(2395,1,"Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395","Individual declarations in merged declaration '{0}' must be all exported or all local."),Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters:i(2396,1,"Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396","Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters."),Declaration_name_conflicts_with_built_in_global_identifier_0:i(2397,1,"Declaration_name_conflicts_with_built_in_global_identifier_0_2397","Declaration name conflicts with built-in global identifier '{0}'."),constructor_cannot_be_used_as_a_parameter_property_name:i(2398,1,"constructor_cannot_be_used_as_a_parameter_property_name_2398","'constructor' cannot be used as a parameter property name."),Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference:i(2399,1,"Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399","Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference."),Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference:i(2400,1,"Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400","Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference."),A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_initialized_properties_parameter_properties_or_private_identifiers:i(2401,1,"A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_in_2401","A 'super' call must be a root-level statement within a constructor of a derived class that contains initialized properties, parameter properties, or private identifiers."),Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference:i(2402,1,"Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402","Expression resolves to '_super' that compiler uses to capture base class reference."),Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2:i(2403,1,"Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403","Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'."),The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:i(2404,1,"The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404","The left-hand side of a 'for...in' statement cannot use a type annotation."),The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any:i(2405,1,"The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405","The left-hand side of a 'for...in' statement must be of type 'string' or 'any'."),The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access:i(2406,1,"The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access_2406","The left-hand side of a 'for...in' statement must be a variable or a property access."),The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0:i(2407,1,"The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_2407","The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type '{0}'."),Setters_cannot_return_a_value:i(2408,1,"Setters_cannot_return_a_value_2408","Setters cannot return a value."),Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class:i(2409,1,"Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409","Return type of constructor signature must be assignable to the instance type of the class."),The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any:i(2410,1,"The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any_2410","The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'."),Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target:i(2412,1,"Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefi_2412","Type '{0}' is not assignable to type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the type of the target."),Property_0_of_type_1_is_not_assignable_to_2_index_type_3:i(2411,1,"Property_0_of_type_1_is_not_assignable_to_2_index_type_3_2411","Property '{0}' of type '{1}' is not assignable to '{2}' index type '{3}'."),_0_index_type_1_is_not_assignable_to_2_index_type_3:i(2413,1,"_0_index_type_1_is_not_assignable_to_2_index_type_3_2413","'{0}' index type '{1}' is not assignable to '{2}' index type '{3}'."),Class_name_cannot_be_0:i(2414,1,"Class_name_cannot_be_0_2414","Class name cannot be '{0}'."),Class_0_incorrectly_extends_base_class_1:i(2415,1,"Class_0_incorrectly_extends_base_class_1_2415","Class '{0}' incorrectly extends base class '{1}'."),Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2:i(2416,1,"Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2_2416","Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'."),Class_static_side_0_incorrectly_extends_base_class_static_side_1:i(2417,1,"Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417","Class static side '{0}' incorrectly extends base class static side '{1}'."),Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1:i(2418,1,"Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1_2418","Type of computed property's value is '{0}', which is not assignable to type '{1}'."),Types_of_construct_signatures_are_incompatible:i(2419,1,"Types_of_construct_signatures_are_incompatible_2419","Types of construct signatures are incompatible."),Class_0_incorrectly_implements_interface_1:i(2420,1,"Class_0_incorrectly_implements_interface_1_2420","Class '{0}' incorrectly implements interface '{1}'."),A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members:i(2422,1,"A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_memb_2422","A class can only implement an object type or intersection of object types with statically known members."),Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor:i(2423,1,"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423","Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor."),Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function:i(2425,1,"Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425","Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function."),Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:i(2426,1,"Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426","Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function."),Interface_name_cannot_be_0:i(2427,1,"Interface_name_cannot_be_0_2427","Interface name cannot be '{0}'."),All_declarations_of_0_must_have_identical_type_parameters:i(2428,1,"All_declarations_of_0_must_have_identical_type_parameters_2428","All declarations of '{0}' must have identical type parameters."),Interface_0_incorrectly_extends_interface_1:i(2430,1,"Interface_0_incorrectly_extends_interface_1_2430","Interface '{0}' incorrectly extends interface '{1}'."),Enum_name_cannot_be_0:i(2431,1,"Enum_name_cannot_be_0_2431","Enum name cannot be '{0}'."),In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element:i(2432,1,"In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432","In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element."),A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged:i(2433,1,"A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433","A namespace declaration cannot be in a different file from a class or function with which it is merged."),A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged:i(2434,1,"A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434","A namespace declaration cannot be located prior to a class or function with which it is merged."),Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces:i(2435,1,"Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435","Ambient modules cannot be nested in other modules or namespaces."),Ambient_module_declaration_cannot_specify_relative_module_name:i(2436,1,"Ambient_module_declaration_cannot_specify_relative_module_name_2436","Ambient module declaration cannot specify relative module name."),Module_0_is_hidden_by_a_local_declaration_with_the_same_name:i(2437,1,"Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437","Module '{0}' is hidden by a local declaration with the same name."),Import_name_cannot_be_0:i(2438,1,"Import_name_cannot_be_0_2438","Import name cannot be '{0}'."),Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name:i(2439,1,"Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439","Import or export declaration in an ambient module declaration cannot reference module through relative module name."),Import_declaration_conflicts_with_local_declaration_of_0:i(2440,1,"Import_declaration_conflicts_with_local_declaration_of_0_2440","Import declaration conflicts with local declaration of '{0}'."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module:i(2441,1,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module."),Types_have_separate_declarations_of_a_private_property_0:i(2442,1,"Types_have_separate_declarations_of_a_private_property_0_2442","Types have separate declarations of a private property '{0}'."),Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2:i(2443,1,"Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443","Property '{0}' is protected but type '{1}' is not a class derived from '{2}'."),Property_0_is_protected_in_type_1_but_public_in_type_2:i(2444,1,"Property_0_is_protected_in_type_1_but_public_in_type_2_2444","Property '{0}' is protected in type '{1}' but public in type '{2}'."),Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses:i(2445,1,"Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445","Property '{0}' is protected and only accessible within class '{1}' and its subclasses."),Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_class_2:i(2446,1,"Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_cl_2446","Property '{0}' is protected and only accessible through an instance of class '{1}'. This is an instance of class '{2}'."),The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead:i(2447,1,"The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447","The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead."),Block_scoped_variable_0_used_before_its_declaration:i(2448,1,"Block_scoped_variable_0_used_before_its_declaration_2448","Block-scoped variable '{0}' used before its declaration."),Class_0_used_before_its_declaration:i(2449,1,"Class_0_used_before_its_declaration_2449","Class '{0}' used before its declaration."),Enum_0_used_before_its_declaration:i(2450,1,"Enum_0_used_before_its_declaration_2450","Enum '{0}' used before its declaration."),Cannot_redeclare_block_scoped_variable_0:i(2451,1,"Cannot_redeclare_block_scoped_variable_0_2451","Cannot redeclare block-scoped variable '{0}'."),An_enum_member_cannot_have_a_numeric_name:i(2452,1,"An_enum_member_cannot_have_a_numeric_name_2452","An enum member cannot have a numeric name."),Variable_0_is_used_before_being_assigned:i(2454,1,"Variable_0_is_used_before_being_assigned_2454","Variable '{0}' is used before being assigned."),Type_alias_0_circularly_references_itself:i(2456,1,"Type_alias_0_circularly_references_itself_2456","Type alias '{0}' circularly references itself."),Type_alias_name_cannot_be_0:i(2457,1,"Type_alias_name_cannot_be_0_2457","Type alias name cannot be '{0}'."),An_AMD_module_cannot_have_multiple_name_assignments:i(2458,1,"An_AMD_module_cannot_have_multiple_name_assignments_2458","An AMD module cannot have multiple name assignments."),Module_0_declares_1_locally_but_it_is_not_exported:i(2459,1,"Module_0_declares_1_locally_but_it_is_not_exported_2459","Module '{0}' declares '{1}' locally, but it is not exported."),Module_0_declares_1_locally_but_it_is_exported_as_2:i(2460,1,"Module_0_declares_1_locally_but_it_is_exported_as_2_2460","Module '{0}' declares '{1}' locally, but it is exported as '{2}'."),Type_0_is_not_an_array_type:i(2461,1,"Type_0_is_not_an_array_type_2461","Type '{0}' is not an array type."),A_rest_element_must_be_last_in_a_destructuring_pattern:i(2462,1,"A_rest_element_must_be_last_in_a_destructuring_pattern_2462","A rest element must be last in a destructuring pattern."),A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature:i(2463,1,"A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463","A binding pattern parameter cannot be optional in an implementation signature."),A_computed_property_name_must_be_of_type_string_number_symbol_or_any:i(2464,1,"A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464","A computed property name must be of type 'string', 'number', 'symbol', or 'any'."),this_cannot_be_referenced_in_a_computed_property_name:i(2465,1,"this_cannot_be_referenced_in_a_computed_property_name_2465","'this' cannot be referenced in a computed property name."),super_cannot_be_referenced_in_a_computed_property_name:i(2466,1,"super_cannot_be_referenced_in_a_computed_property_name_2466","'super' cannot be referenced in a computed property name."),A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type:i(2467,1,"A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467","A computed property name cannot reference a type parameter from its containing type."),Cannot_find_global_value_0:i(2468,1,"Cannot_find_global_value_0_2468","Cannot find global value '{0}'."),The_0_operator_cannot_be_applied_to_type_symbol:i(2469,1,"The_0_operator_cannot_be_applied_to_type_symbol_2469","The '{0}' operator cannot be applied to type 'symbol'."),Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher:i(2472,1,"Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472","Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher."),Enum_declarations_must_all_be_const_or_non_const:i(2473,1,"Enum_declarations_must_all_be_const_or_non_const_2473","Enum declarations must all be const or non-const."),const_enum_member_initializers_must_be_constant_expressions:i(2474,1,"const_enum_member_initializers_must_be_constant_expressions_2474","const enum member initializers must be constant expressions."),const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query:i(2475,1,"const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475","'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment or type query."),A_const_enum_member_can_only_be_accessed_using_a_string_literal:i(2476,1,"A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476","A const enum member can only be accessed using a string literal."),const_enum_member_initializer_was_evaluated_to_a_non_finite_value:i(2477,1,"const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477","'const' enum member initializer was evaluated to a non-finite value."),const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:i(2478,1,"const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478","'const' enum member initializer was evaluated to disallowed value 'NaN'."),let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations:i(2480,1,"let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480","'let' is not allowed to be used as a name in 'let' or 'const' declarations."),Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1:i(2481,1,"Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481","Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'."),The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation:i(2483,1,"The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483","The left-hand side of a 'for...of' statement cannot use a type annotation."),Export_declaration_conflicts_with_exported_declaration_of_0:i(2484,1,"Export_declaration_conflicts_with_exported_declaration_of_0_2484","Export declaration conflicts with exported declaration of '{0}'."),The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access:i(2487,1,"The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access_2487","The left-hand side of a 'for...of' statement must be a variable or a property access."),Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator:i(2488,1,"Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488","Type '{0}' must have a '[Symbol.iterator]()' method that returns an iterator."),An_iterator_must_have_a_next_method:i(2489,1,"An_iterator_must_have_a_next_method_2489","An iterator must have a 'next()' method."),The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property:i(2490,1,"The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property_2490","The type returned by the '{0}()' method of an iterator must have a 'value' property."),The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern:i(2491,1,"The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491","The left-hand side of a 'for...in' statement cannot be a destructuring pattern."),Cannot_redeclare_identifier_0_in_catch_clause:i(2492,1,"Cannot_redeclare_identifier_0_in_catch_clause_2492","Cannot redeclare identifier '{0}' in catch clause."),Tuple_type_0_of_length_1_has_no_element_at_index_2:i(2493,1,"Tuple_type_0_of_length_1_has_no_element_at_index_2_2493","Tuple type '{0}' of length '{1}' has no element at index '{2}'."),Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher:i(2494,1,"Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494","Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher."),Type_0_is_not_an_array_type_or_a_string_type:i(2495,1,"Type_0_is_not_an_array_type_or_a_string_type_2495","Type '{0}' is not an array type or a string type."),The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression:i(2496,1,"The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_stand_2496","The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression."),This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export:i(2497,1,"This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_2497","This module can only be referenced with ECMAScript imports/exports by turning on the '{0}' flag and referencing its default export."),Module_0_uses_export_and_cannot_be_used_with_export_Asterisk:i(2498,1,"Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498","Module '{0}' uses 'export =' and cannot be used with 'export *'."),An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments:i(2499,1,"An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499","An interface can only extend an identifier/qualified-name with optional type arguments."),A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments:i(2500,1,"A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500","A class can only implement an identifier/qualified-name with optional type arguments."),A_rest_element_cannot_contain_a_binding_pattern:i(2501,1,"A_rest_element_cannot_contain_a_binding_pattern_2501","A rest element cannot contain a binding pattern."),_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation:i(2502,1,"_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502","'{0}' is referenced directly or indirectly in its own type annotation."),Cannot_find_namespace_0:i(2503,1,"Cannot_find_namespace_0_2503","Cannot find namespace '{0}'."),Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:i(2504,1,"Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator_2504","Type '{0}' must have a '[Symbol.asyncIterator]()' method that returns an async iterator."),A_generator_cannot_have_a_void_type_annotation:i(2505,1,"A_generator_cannot_have_a_void_type_annotation_2505","A generator cannot have a 'void' type annotation."),_0_is_referenced_directly_or_indirectly_in_its_own_base_expression:i(2506,1,"_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506","'{0}' is referenced directly or indirectly in its own base expression."),Type_0_is_not_a_constructor_function_type:i(2507,1,"Type_0_is_not_a_constructor_function_type_2507","Type '{0}' is not a constructor function type."),No_base_constructor_has_the_specified_number_of_type_arguments:i(2508,1,"No_base_constructor_has_the_specified_number_of_type_arguments_2508","No base constructor has the specified number of type arguments."),Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members:i(2509,1,"Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_2509","Base constructor return type '{0}' is not an object type or intersection of object types with statically known members."),Base_constructors_must_all_have_the_same_return_type:i(2510,1,"Base_constructors_must_all_have_the_same_return_type_2510","Base constructors must all have the same return type."),Cannot_create_an_instance_of_an_abstract_class:i(2511,1,"Cannot_create_an_instance_of_an_abstract_class_2511","Cannot create an instance of an abstract class."),Overload_signatures_must_all_be_abstract_or_non_abstract:i(2512,1,"Overload_signatures_must_all_be_abstract_or_non_abstract_2512","Overload signatures must all be abstract or non-abstract."),Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression:i(2513,1,"Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513","Abstract method '{0}' in class '{1}' cannot be accessed via super expression."),A_tuple_type_cannot_be_indexed_with_a_negative_value:i(2514,1,"A_tuple_type_cannot_be_indexed_with_a_negative_value_2514","A tuple type cannot be indexed with a negative value."),Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2:i(2515,1,"Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515","Non-abstract class '{0}' does not implement inherited abstract member '{1}' from class '{2}'."),All_declarations_of_an_abstract_method_must_be_consecutive:i(2516,1,"All_declarations_of_an_abstract_method_must_be_consecutive_2516","All declarations of an abstract method must be consecutive."),Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type:i(2517,1,"Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517","Cannot assign an abstract constructor type to a non-abstract constructor type."),A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard:i(2518,1,"A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518","A 'this'-based type guard is not compatible with a parameter-based type guard."),An_async_iterator_must_have_a_next_method:i(2519,1,"An_async_iterator_must_have_a_next_method_2519","An async iterator must have a 'next()' method."),Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions:i(2520,1,"Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520","Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions."),The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method:i(2522,1,"The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_usi_2522","The 'arguments' object cannot be referenced in an async function or method in ES3 and ES5. Consider using a standard function or method."),yield_expressions_cannot_be_used_in_a_parameter_initializer:i(2523,1,"yield_expressions_cannot_be_used_in_a_parameter_initializer_2523","'yield' expressions cannot be used in a parameter initializer."),await_expressions_cannot_be_used_in_a_parameter_initializer:i(2524,1,"await_expressions_cannot_be_used_in_a_parameter_initializer_2524","'await' expressions cannot be used in a parameter initializer."),Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value:i(2525,1,"Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value_2525","Initializer provides no value for this binding element and the binding element has no default value."),A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface:i(2526,1,"A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526","A 'this' type is available only in a non-static member of a class or interface."),The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary:i(2527,1,"The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary_2527","The inferred type of '{0}' references an inaccessible '{1}' type. A type annotation is necessary."),A_module_cannot_have_multiple_default_exports:i(2528,1,"A_module_cannot_have_multiple_default_exports_2528","A module cannot have multiple default exports."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions:i(2529,1,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions."),Property_0_is_incompatible_with_index_signature:i(2530,1,"Property_0_is_incompatible_with_index_signature_2530","Property '{0}' is incompatible with index signature."),Object_is_possibly_null:i(2531,1,"Object_is_possibly_null_2531","Object is possibly 'null'."),Object_is_possibly_undefined:i(2532,1,"Object_is_possibly_undefined_2532","Object is possibly 'undefined'."),Object_is_possibly_null_or_undefined:i(2533,1,"Object_is_possibly_null_or_undefined_2533","Object is possibly 'null' or 'undefined'."),A_function_returning_never_cannot_have_a_reachable_end_point:i(2534,1,"A_function_returning_never_cannot_have_a_reachable_end_point_2534","A function returning 'never' cannot have a reachable end point."),Type_0_cannot_be_used_to_index_type_1:i(2536,1,"Type_0_cannot_be_used_to_index_type_1_2536","Type '{0}' cannot be used to index type '{1}'."),Type_0_has_no_matching_index_signature_for_type_1:i(2537,1,"Type_0_has_no_matching_index_signature_for_type_1_2537","Type '{0}' has no matching index signature for type '{1}'."),Type_0_cannot_be_used_as_an_index_type:i(2538,1,"Type_0_cannot_be_used_as_an_index_type_2538","Type '{0}' cannot be used as an index type."),Cannot_assign_to_0_because_it_is_not_a_variable:i(2539,1,"Cannot_assign_to_0_because_it_is_not_a_variable_2539","Cannot assign to '{0}' because it is not a variable."),Cannot_assign_to_0_because_it_is_a_read_only_property:i(2540,1,"Cannot_assign_to_0_because_it_is_a_read_only_property_2540","Cannot assign to '{0}' because it is a read-only property."),Index_signature_in_type_0_only_permits_reading:i(2542,1,"Index_signature_in_type_0_only_permits_reading_2542","Index signature in type '{0}' only permits reading."),Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference:i(2543,1,"Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_me_2543","Duplicate identifier '_newTarget'. Compiler uses variable declaration '_newTarget' to capture 'new.target' meta-property reference."),Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference:i(2544,1,"Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta__2544","Expression resolves to variable declaration '_newTarget' that compiler uses to capture 'new.target' meta-property reference."),A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any:i(2545,1,"A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any_2545","A mixin class must have a constructor with a single rest parameter of type 'any[]'."),The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property:i(2547,1,"The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_pro_2547","The type returned by the '{0}()' method of an async iterator must be a promise for a type with a 'value' property."),Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:i(2548,1,"Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator_2548","Type '{0}' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:i(2549,1,"Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns__2549","Type '{0}' is not an array type or a string type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2_or_later:i(2550,1,"Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_c_2550","Property '{0}' does not exist on type '{1}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{2}' or later."),Property_0_does_not_exist_on_type_1_Did_you_mean_2:i(2551,1,"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","Property '{0}' does not exist on type '{1}'. Did you mean '{2}'?"),Cannot_find_name_0_Did_you_mean_1:i(2552,1,"Cannot_find_name_0_Did_you_mean_1_2552","Cannot find name '{0}'. Did you mean '{1}'?"),Computed_values_are_not_permitted_in_an_enum_with_string_valued_members:i(2553,1,"Computed_values_are_not_permitted_in_an_enum_with_string_valued_members_2553","Computed values are not permitted in an enum with string valued members."),Expected_0_arguments_but_got_1:i(2554,1,"Expected_0_arguments_but_got_1_2554","Expected {0} arguments, but got {1}."),Expected_at_least_0_arguments_but_got_1:i(2555,1,"Expected_at_least_0_arguments_but_got_1_2555","Expected at least {0} arguments, but got {1}."),A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter:i(2556,1,"A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter_2556","A spread argument must either have a tuple type or be passed to a rest parameter."),Expected_0_type_arguments_but_got_1:i(2558,1,"Expected_0_type_arguments_but_got_1_2558","Expected {0} type arguments, but got {1}."),Type_0_has_no_properties_in_common_with_type_1:i(2559,1,"Type_0_has_no_properties_in_common_with_type_1_2559","Type '{0}' has no properties in common with type '{1}'."),Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it:i(2560,1,"Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it_2560","Value of type '{0}' has no properties in common with type '{1}'. Did you mean to call it?"),Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2:i(2561,1,"Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_writ_2561","Object literal may only specify known properties, but '{0}' does not exist in type '{1}'. Did you mean to write '{2}'?"),Base_class_expressions_cannot_reference_class_type_parameters:i(2562,1,"Base_class_expressions_cannot_reference_class_type_parameters_2562","Base class expressions cannot reference class type parameters."),The_containing_function_or_module_body_is_too_large_for_control_flow_analysis:i(2563,1,"The_containing_function_or_module_body_is_too_large_for_control_flow_analysis_2563","The containing function or module body is too large for control flow analysis."),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor:i(2564,1,"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor_2564","Property '{0}' has no initializer and is not definitely assigned in the constructor."),Property_0_is_used_before_being_assigned:i(2565,1,"Property_0_is_used_before_being_assigned_2565","Property '{0}' is used before being assigned."),A_rest_element_cannot_have_a_property_name:i(2566,1,"A_rest_element_cannot_have_a_property_name_2566","A rest element cannot have a property name."),Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations:i(2567,1,"Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations_2567","Enum declarations can only merge with namespace or other enum declarations."),Property_0_may_not_exist_on_type_1_Did_you_mean_2:i(2568,1,"Property_0_may_not_exist_on_type_1_Did_you_mean_2_2568","Property '{0}' may not exist on type '{1}'. Did you mean '{2}'?"),Could_not_find_name_0_Did_you_mean_1:i(2570,1,"Could_not_find_name_0_Did_you_mean_1_2570","Could not find name '{0}'. Did you mean '{1}'?"),Object_is_of_type_unknown:i(2571,1,"Object_is_of_type_unknown_2571","Object is of type 'unknown'."),A_rest_element_type_must_be_an_array_type:i(2574,1,"A_rest_element_type_must_be_an_array_type_2574","A rest element type must be an array type."),No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments:i(2575,1,"No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments_2575","No overload expects {0} arguments, but overloads do exist that expect either {1} or {2} arguments."),Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead:i(2576,1,"Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead_2576","Property '{0}' does not exist on type '{1}'. Did you mean to access the static member '{2}' instead?"),Return_type_annotation_circularly_references_itself:i(2577,1,"Return_type_annotation_circularly_references_itself_2577","Return type annotation circularly references itself."),Unused_ts_expect_error_directive:i(2578,1,"Unused_ts_expect_error_directive_2578","Unused '@ts-expect-error' directive."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode:i(2580,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2580","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery:i(2581,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2581","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha:i(2582,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2582","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later:i(2583,1,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2583","Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{1}' or later."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom:i(2584,1,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2584","Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later:i(2585,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_2585","'{0}' only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the 'lib' compiler option to es2015 or later."),Cannot_assign_to_0_because_it_is_a_constant:i(2588,1,"Cannot_assign_to_0_because_it_is_a_constant_2588","Cannot assign to '{0}' because it is a constant."),Type_instantiation_is_excessively_deep_and_possibly_infinite:i(2589,1,"Type_instantiation_is_excessively_deep_and_possibly_infinite_2589","Type instantiation is excessively deep and possibly infinite."),Expression_produces_a_union_type_that_is_too_complex_to_represent:i(2590,1,"Expression_produces_a_union_type_that_is_too_complex_to_represent_2590","Expression produces a union type that is too complex to represent."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig:i(2591,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2591","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig:i(2592,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2592","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery` and then add 'jquery' to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig:i(2593,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2593","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha` and then add 'jest' or 'mocha' to the types field in your tsconfig."),This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag:i(2594,1,"This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag_2594","This module is declared with 'export =', and can only be used with a default import when using the '{0}' flag."),_0_can_only_be_imported_by_using_a_default_import:i(2595,1,"_0_can_only_be_imported_by_using_a_default_import_2595","'{0}' can only be imported by using a default import."),_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:i(2596,1,"_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import_2596","'{0}' can only be imported by turning on the 'esModuleInterop' flag and using a default import."),_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:i(2597,1,"_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import_2597","'{0}' can only be imported by using a 'require' call or by using a default import."),_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:i(2598,1,"_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using__2598","'{0}' can only be imported by using a 'require' call or by turning on the 'esModuleInterop' flag and using a default import."),JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist:i(2602,1,"JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602","JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist."),Property_0_in_type_1_is_not_assignable_to_type_2:i(2603,1,"Property_0_in_type_1_is_not_assignable_to_type_2_2603","Property '{0}' in type '{1}' is not assignable to type '{2}'."),JSX_element_type_0_does_not_have_any_construct_or_call_signatures:i(2604,1,"JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604","JSX element type '{0}' does not have any construct or call signatures."),Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property:i(2606,1,"Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606","Property '{0}' of JSX spread attribute is not assignable to target property."),JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property:i(2607,1,"JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607","JSX element class does not support attributes because it does not have a '{0}' property."),The_global_type_JSX_0_may_not_have_more_than_one_property:i(2608,1,"The_global_type_JSX_0_may_not_have_more_than_one_property_2608","The global type 'JSX.{0}' may not have more than one property."),JSX_spread_child_must_be_an_array_type:i(2609,1,"JSX_spread_child_must_be_an_array_type_2609","JSX spread child must be an array type."),_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property:i(2610,1,"_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property_2610","'{0}' is defined as an accessor in class '{1}', but is overridden here in '{2}' as an instance property."),_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor:i(2611,1,"_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor_2611","'{0}' is defined as a property in class '{1}', but is overridden here in '{2}' as an accessor."),Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration:i(2612,1,"Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_2612","Property '{0}' will overwrite the base property in '{1}'. If this is intentional, add an initializer. Otherwise, add a 'declare' modifier or remove the redundant declaration."),Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead:i(2613,1,"Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead_2613","Module '{0}' has no default export. Did you mean to use 'import { {1} } from {0}' instead?"),Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead:i(2614,1,"Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead_2614","Module '{0}' has no exported member '{1}'. Did you mean to use 'import {1} from {0}' instead?"),Type_of_property_0_circularly_references_itself_in_mapped_type_1:i(2615,1,"Type_of_property_0_circularly_references_itself_in_mapped_type_1_2615","Type of property '{0}' circularly references itself in mapped type '{1}'."),_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:i(2616,1,"_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import_2616","'{0}' can only be imported by using 'import {1} = require({2})' or a default import."),_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:i(2617,1,"_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_us_2617","'{0}' can only be imported by using 'import {1} = require({2})' or by turning on the 'esModuleInterop' flag and using a default import."),Source_has_0_element_s_but_target_requires_1:i(2618,1,"Source_has_0_element_s_but_target_requires_1_2618","Source has {0} element(s) but target requires {1}."),Source_has_0_element_s_but_target_allows_only_1:i(2619,1,"Source_has_0_element_s_but_target_allows_only_1_2619","Source has {0} element(s) but target allows only {1}."),Target_requires_0_element_s_but_source_may_have_fewer:i(2620,1,"Target_requires_0_element_s_but_source_may_have_fewer_2620","Target requires {0} element(s) but source may have fewer."),Target_allows_only_0_element_s_but_source_may_have_more:i(2621,1,"Target_allows_only_0_element_s_but_source_may_have_more_2621","Target allows only {0} element(s) but source may have more."),Source_provides_no_match_for_required_element_at_position_0_in_target:i(2623,1,"Source_provides_no_match_for_required_element_at_position_0_in_target_2623","Source provides no match for required element at position {0} in target."),Source_provides_no_match_for_variadic_element_at_position_0_in_target:i(2624,1,"Source_provides_no_match_for_variadic_element_at_position_0_in_target_2624","Source provides no match for variadic element at position {0} in target."),Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target:i(2625,1,"Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target_2625","Variadic element at position {0} in source does not match element at position {1} in target."),Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target:i(2626,1,"Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target_2626","Type at position {0} in source is not compatible with type at position {1} in target."),Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target:i(2627,1,"Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target_2627","Type at positions {0} through {1} in source is not compatible with type at position {2} in target."),Cannot_assign_to_0_because_it_is_an_enum:i(2628,1,"Cannot_assign_to_0_because_it_is_an_enum_2628","Cannot assign to '{0}' because it is an enum."),Cannot_assign_to_0_because_it_is_a_class:i(2629,1,"Cannot_assign_to_0_because_it_is_a_class_2629","Cannot assign to '{0}' because it is a class."),Cannot_assign_to_0_because_it_is_a_function:i(2630,1,"Cannot_assign_to_0_because_it_is_a_function_2630","Cannot assign to '{0}' because it is a function."),Cannot_assign_to_0_because_it_is_a_namespace:i(2631,1,"Cannot_assign_to_0_because_it_is_a_namespace_2631","Cannot assign to '{0}' because it is a namespace."),Cannot_assign_to_0_because_it_is_an_import:i(2632,1,"Cannot_assign_to_0_because_it_is_an_import_2632","Cannot assign to '{0}' because it is an import."),JSX_property_access_expressions_cannot_include_JSX_namespace_names:i(2633,1,"JSX_property_access_expressions_cannot_include_JSX_namespace_names_2633","JSX property access expressions cannot include JSX namespace names"),_0_index_signatures_are_incompatible:i(2634,1,"_0_index_signatures_are_incompatible_2634","'{0}' index signatures are incompatible."),Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable:i(2635,1,"Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable_2635","Type '{0}' has no signatures for which the type argument list is applicable."),Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation:i(2636,1,"Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation_2636","Type '{0}' is not assignable to type '{1}' as implied by variance annotation."),Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_types:i(2637,1,"Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_t_2637","Variance annotations are only supported in type aliases for object, function, constructor, and mapped types."),Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operator:i(2638,1,"Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operato_2638","Type '{0}' may represent a primitive value, which is not permitted as the right operand of the 'in' operator."),Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity:i(2649,1,"Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649","Cannot augment module '{0}' with value exports because it resolves to a non-module entity."),A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums:i(2651,1,"A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651","A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums."),Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead:i(2652,1,"Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652","Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead."),Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1:i(2653,1,"Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653","Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'."),JSX_expressions_must_have_one_parent_element:i(2657,1,"JSX_expressions_must_have_one_parent_element_2657","JSX expressions must have one parent element."),Type_0_provides_no_match_for_the_signature_1:i(2658,1,"Type_0_provides_no_match_for_the_signature_1_2658","Type '{0}' provides no match for the signature '{1}'."),super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher:i(2659,1,"super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659","'super' is only allowed in members of object literal expressions when option 'target' is 'ES2015' or higher."),super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions:i(2660,1,"super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660","'super' can only be referenced in members of derived classes or object literal expressions."),Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module:i(2661,1,"Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661","Cannot export '{0}'. Only local declarations can be exported from a module."),Cannot_find_name_0_Did_you_mean_the_static_member_1_0:i(2662,1,"Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662","Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?"),Cannot_find_name_0_Did_you_mean_the_instance_member_this_0:i(2663,1,"Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663","Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?"),Invalid_module_name_in_augmentation_module_0_cannot_be_found:i(2664,1,"Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664","Invalid module name in augmentation, module '{0}' cannot be found."),Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented:i(2665,1,"Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augm_2665","Invalid module name in augmentation. Module '{0}' resolves to an untyped module at '{1}', which cannot be augmented."),Exports_and_export_assignments_are_not_permitted_in_module_augmentations:i(2666,1,"Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666","Exports and export assignments are not permitted in module augmentations."),Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module:i(2667,1,"Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667","Imports are not permitted in module augmentations. Consider moving them to the enclosing external module."),export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible:i(2668,1,"export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668","'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible."),Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations:i(2669,1,"Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669","Augmentations for the global scope can only be directly nested in external modules or ambient module declarations."),Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context:i(2670,1,"Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670","Augmentations for the global scope should have 'declare' modifier unless they appear in already ambient context."),Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity:i(2671,1,"Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671","Cannot augment module '{0}' because it resolves to a non-module entity."),Cannot_assign_a_0_constructor_type_to_a_1_constructor_type:i(2672,1,"Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672","Cannot assign a '{0}' constructor type to a '{1}' constructor type."),Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration:i(2673,1,"Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673","Constructor of class '{0}' is private and only accessible within the class declaration."),Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration:i(2674,1,"Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674","Constructor of class '{0}' is protected and only accessible within the class declaration."),Cannot_extend_a_class_0_Class_constructor_is_marked_as_private:i(2675,1,"Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675","Cannot extend a class '{0}'. Class constructor is marked as private."),Accessors_must_both_be_abstract_or_non_abstract:i(2676,1,"Accessors_must_both_be_abstract_or_non_abstract_2676","Accessors must both be abstract or non-abstract."),A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type:i(2677,1,"A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677","A type predicate's type must be assignable to its parameter's type."),Type_0_is_not_comparable_to_type_1:i(2678,1,"Type_0_is_not_comparable_to_type_1_2678","Type '{0}' is not comparable to type '{1}'."),A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void:i(2679,1,"A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679","A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'."),A_0_parameter_must_be_the_first_parameter:i(2680,1,"A_0_parameter_must_be_the_first_parameter_2680","A '{0}' parameter must be the first parameter."),A_constructor_cannot_have_a_this_parameter:i(2681,1,"A_constructor_cannot_have_a_this_parameter_2681","A constructor cannot have a 'this' parameter."),this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation:i(2683,1,"this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683","'this' implicitly has type 'any' because it does not have a type annotation."),The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1:i(2684,1,"The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684","The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'."),The_this_types_of_each_signature_are_incompatible:i(2685,1,"The_this_types_of_each_signature_are_incompatible_2685","The 'this' types of each signature are incompatible."),_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead:i(2686,1,"_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead_2686","'{0}' refers to a UMD global, but the current file is a module. Consider adding an import instead."),All_declarations_of_0_must_have_identical_modifiers:i(2687,1,"All_declarations_of_0_must_have_identical_modifiers_2687","All declarations of '{0}' must have identical modifiers."),Cannot_find_type_definition_file_for_0:i(2688,1,"Cannot_find_type_definition_file_for_0_2688","Cannot find type definition file for '{0}'."),Cannot_extend_an_interface_0_Did_you_mean_implements:i(2689,1,"Cannot_extend_an_interface_0_Did_you_mean_implements_2689","Cannot extend an interface '{0}'. Did you mean 'implements'?"),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0:i(2690,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0_2690","'{0}' only refers to a type, but is being used as a value here. Did you mean to use '{1} in {0}'?"),_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible:i(2692,1,"_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692","'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here:i(2693,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693","'{0}' only refers to a type, but is being used as a value here."),Namespace_0_has_no_exported_member_1:i(2694,1,"Namespace_0_has_no_exported_member_1_2694","Namespace '{0}' has no exported member '{1}'."),Left_side_of_comma_operator_is_unused_and_has_no_side_effects:i(2695,1,"Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695","Left side of comma operator is unused and has no side effects.",!0),The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead:i(2696,1,"The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696","The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?"),An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:i(2697,1,"An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697","An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option."),Spread_types_may_only_be_created_from_object_types:i(2698,1,"Spread_types_may_only_be_created_from_object_types_2698","Spread types may only be created from object types."),Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1:i(2699,1,"Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1_2699","Static property '{0}' conflicts with built-in property 'Function.{0}' of constructor function '{1}'."),Rest_types_may_only_be_created_from_object_types:i(2700,1,"Rest_types_may_only_be_created_from_object_types_2700","Rest types may only be created from object types."),The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access:i(2701,1,"The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access_2701","The target of an object rest assignment must be a variable or a property access."),_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here:i(2702,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here_2702","'{0}' only refers to a type, but is being used as a namespace here."),The_operand_of_a_delete_operator_must_be_a_property_reference:i(2703,1,"The_operand_of_a_delete_operator_must_be_a_property_reference_2703","The operand of a 'delete' operator must be a property reference."),The_operand_of_a_delete_operator_cannot_be_a_read_only_property:i(2704,1,"The_operand_of_a_delete_operator_cannot_be_a_read_only_property_2704","The operand of a 'delete' operator cannot be a read-only property."),An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:i(2705,1,"An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_de_2705","An async function or method in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option."),Required_type_parameters_may_not_follow_optional_type_parameters:i(2706,1,"Required_type_parameters_may_not_follow_optional_type_parameters_2706","Required type parameters may not follow optional type parameters."),Generic_type_0_requires_between_1_and_2_type_arguments:i(2707,1,"Generic_type_0_requires_between_1_and_2_type_arguments_2707","Generic type '{0}' requires between {1} and {2} type arguments."),Cannot_use_namespace_0_as_a_value:i(2708,1,"Cannot_use_namespace_0_as_a_value_2708","Cannot use namespace '{0}' as a value."),Cannot_use_namespace_0_as_a_type:i(2709,1,"Cannot_use_namespace_0_as_a_type_2709","Cannot use namespace '{0}' as a type."),_0_are_specified_twice_The_attribute_named_0_will_be_overwritten:i(2710,1,"_0_are_specified_twice_The_attribute_named_0_will_be_overwritten_2710","'{0}' are specified twice. The attribute named '{0}' will be overwritten."),A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:i(2711,1,"A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES20_2711","A dynamic import call returns a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option."),A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:i(2712,1,"A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declarat_2712","A dynamic import call in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option."),Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1:i(2713,1,"Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_p_2713",`Cannot access '{0}.{1}' because '{0}' is a type, but not a namespace. Did you mean to retrieve the type of the property '{1}' in '{0}' with '{0}["{1}"]'?`),The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context:i(2714,1,"The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context_2714","The expression of an export assignment must be an identifier or qualified name in an ambient context."),Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor:i(2715,1,"Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor_2715","Abstract property '{0}' in class '{1}' cannot be accessed in the constructor."),Type_parameter_0_has_a_circular_default:i(2716,1,"Type_parameter_0_has_a_circular_default_2716","Type parameter '{0}' has a circular default."),Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:i(2717,1,"Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_t_2717","Subsequent property declarations must have the same type. Property '{0}' must be of type '{1}', but here has type '{2}'."),Duplicate_property_0:i(2718,1,"Duplicate_property_0_2718","Duplicate property '{0}'."),Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated:i(2719,1,"Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated_2719","Type '{0}' is not assignable to type '{1}'. Two different types with this name exist, but they are unrelated."),Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass:i(2720,1,"Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclas_2720","Class '{0}' incorrectly implements class '{1}'. Did you mean to extend '{1}' and inherit its members as a subclass?"),Cannot_invoke_an_object_which_is_possibly_null:i(2721,1,"Cannot_invoke_an_object_which_is_possibly_null_2721","Cannot invoke an object which is possibly 'null'."),Cannot_invoke_an_object_which_is_possibly_undefined:i(2722,1,"Cannot_invoke_an_object_which_is_possibly_undefined_2722","Cannot invoke an object which is possibly 'undefined'."),Cannot_invoke_an_object_which_is_possibly_null_or_undefined:i(2723,1,"Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723","Cannot invoke an object which is possibly 'null' or 'undefined'."),_0_has_no_exported_member_named_1_Did_you_mean_2:i(2724,1,"_0_has_no_exported_member_named_1_Did_you_mean_2_2724","'{0}' has no exported member named '{1}'. Did you mean '{2}'?"),Class_name_cannot_be_Object_when_targeting_ES5_with_module_0:i(2725,1,"Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725","Class name cannot be 'Object' when targeting ES5 with module {0}."),Cannot_find_lib_definition_for_0:i(2726,1,"Cannot_find_lib_definition_for_0_2726","Cannot find lib definition for '{0}'."),Cannot_find_lib_definition_for_0_Did_you_mean_1:i(2727,1,"Cannot_find_lib_definition_for_0_Did_you_mean_1_2727","Cannot find lib definition for '{0}'. Did you mean '{1}'?"),_0_is_declared_here:i(2728,3,"_0_is_declared_here_2728","'{0}' is declared here."),Property_0_is_used_before_its_initialization:i(2729,1,"Property_0_is_used_before_its_initialization_2729","Property '{0}' is used before its initialization."),An_arrow_function_cannot_have_a_this_parameter:i(2730,1,"An_arrow_function_cannot_have_a_this_parameter_2730","An arrow function cannot have a 'this' parameter."),Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String:i(2731,1,"Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_i_2731","Implicit conversion of a 'symbol' to a 'string' will fail at runtime. Consider wrapping this expression in 'String(...)'."),Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension:i(2732,1,"Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension_2732","Cannot find module '{0}'. Consider using '--resolveJsonModule' to import module with '.json' extension."),Property_0_was_also_declared_here:i(2733,1,"Property_0_was_also_declared_here_2733","Property '{0}' was also declared here."),Are_you_missing_a_semicolon:i(2734,1,"Are_you_missing_a_semicolon_2734","Are you missing a semicolon?"),Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1:i(2735,1,"Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1_2735","Did you mean for '{0}' to be constrained to type 'new (...args: any[]) => {1}'?"),Operator_0_cannot_be_applied_to_type_1:i(2736,1,"Operator_0_cannot_be_applied_to_type_1_2736","Operator '{0}' cannot be applied to type '{1}'."),BigInt_literals_are_not_available_when_targeting_lower_than_ES2020:i(2737,1,"BigInt_literals_are_not_available_when_targeting_lower_than_ES2020_2737","BigInt literals are not available when targeting lower than ES2020."),An_outer_value_of_this_is_shadowed_by_this_container:i(2738,3,"An_outer_value_of_this_is_shadowed_by_this_container_2738","An outer value of 'this' is shadowed by this container."),Type_0_is_missing_the_following_properties_from_type_1_Colon_2:i(2739,1,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_2739","Type '{0}' is missing the following properties from type '{1}': {2}"),Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more:i(2740,1,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more_2740","Type '{0}' is missing the following properties from type '{1}': {2}, and {3} more."),Property_0_is_missing_in_type_1_but_required_in_type_2:i(2741,1,"Property_0_is_missing_in_type_1_but_required_in_type_2_2741","Property '{0}' is missing in type '{1}' but required in type '{2}'."),The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary:i(2742,1,"The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_a_2742","The inferred type of '{0}' cannot be named without a reference to '{1}'. This is likely not portable. A type annotation is necessary."),No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments:i(2743,1,"No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments_2743","No overload expects {0} type arguments, but overloads do exist that expect either {1} or {2} type arguments."),Type_parameter_defaults_can_only_reference_previously_declared_type_parameters:i(2744,1,"Type_parameter_defaults_can_only_reference_previously_declared_type_parameters_2744","Type parameter defaults can only reference previously declared type parameters."),This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_provided:i(2745,1,"This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_pr_2745","This JSX tag's '{0}' prop expects type '{1}' which requires multiple children, but only a single child was provided."),This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided:i(2746,1,"This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided_2746","This JSX tag's '{0}' prop expects a single child of type '{1}', but multiple children were provided."),_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_type_of_1_is_2:i(2747,1,"_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_t_2747","'{0}' components don't accept text as child elements. Text in JSX has the type 'string', but the expected type of '{1}' is '{2}'."),Cannot_access_ambient_const_enums_when_0_is_enabled:i(2748,1,"Cannot_access_ambient_const_enums_when_0_is_enabled_2748","Cannot access ambient const enums when '{0}' is enabled."),_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0:i(2749,1,"_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0_2749","'{0}' refers to a value, but is being used as a type here. Did you mean 'typeof {0}'?"),The_implementation_signature_is_declared_here:i(2750,1,"The_implementation_signature_is_declared_here_2750","The implementation signature is declared here."),Circularity_originates_in_type_at_this_location:i(2751,1,"Circularity_originates_in_type_at_this_location_2751","Circularity originates in type at this location."),The_first_export_default_is_here:i(2752,1,"The_first_export_default_is_here_2752","The first export default is here."),Another_export_default_is_here:i(2753,1,"Another_export_default_is_here_2753","Another export default is here."),super_may_not_use_type_arguments:i(2754,1,"super_may_not_use_type_arguments_2754","'super' may not use type arguments."),No_constituent_of_type_0_is_callable:i(2755,1,"No_constituent_of_type_0_is_callable_2755","No constituent of type '{0}' is callable."),Not_all_constituents_of_type_0_are_callable:i(2756,1,"Not_all_constituents_of_type_0_are_callable_2756","Not all constituents of type '{0}' are callable."),Type_0_has_no_call_signatures:i(2757,1,"Type_0_has_no_call_signatures_2757","Type '{0}' has no call signatures."),Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_other:i(2758,1,"Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_2758","Each member of the union type '{0}' has signatures, but none of those signatures are compatible with each other."),No_constituent_of_type_0_is_constructable:i(2759,1,"No_constituent_of_type_0_is_constructable_2759","No constituent of type '{0}' is constructable."),Not_all_constituents_of_type_0_are_constructable:i(2760,1,"Not_all_constituents_of_type_0_are_constructable_2760","Not all constituents of type '{0}' are constructable."),Type_0_has_no_construct_signatures:i(2761,1,"Type_0_has_no_construct_signatures_2761","Type '{0}' has no construct signatures."),Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_with_each_other:i(2762,1,"Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_2762","Each member of the union type '{0}' has construct signatures, but none of those signatures are compatible with each other."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0:i(2763,1,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_s_2763","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but for-of will always send '{0}'."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0:i(2764,1,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_al_2764","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array spread will always send '{0}'."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0:i(2765,1,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring__2765","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array destructuring will always send '{0}'."),Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0:i(2766,1,"Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_co_2766","Cannot delegate iteration to value because the 'next' method of its iterator expects type '{1}', but the containing generator will always send '{0}'."),The_0_property_of_an_iterator_must_be_a_method:i(2767,1,"The_0_property_of_an_iterator_must_be_a_method_2767","The '{0}' property of an iterator must be a method."),The_0_property_of_an_async_iterator_must_be_a_method:i(2768,1,"The_0_property_of_an_async_iterator_must_be_a_method_2768","The '{0}' property of an async iterator must be a method."),No_overload_matches_this_call:i(2769,1,"No_overload_matches_this_call_2769","No overload matches this call."),The_last_overload_gave_the_following_error:i(2770,1,"The_last_overload_gave_the_following_error_2770","The last overload gave the following error."),The_last_overload_is_declared_here:i(2771,1,"The_last_overload_is_declared_here_2771","The last overload is declared here."),Overload_0_of_1_2_gave_the_following_error:i(2772,1,"Overload_0_of_1_2_gave_the_following_error_2772","Overload {0} of {1}, '{2}', gave the following error."),Did_you_forget_to_use_await:i(2773,1,"Did_you_forget_to_use_await_2773","Did you forget to use 'await'?"),This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead:i(2774,1,"This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_2774","This condition will always return true since this function is always defined. Did you mean to call it instead?"),Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation:i(2775,1,"Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation_2775","Assertions require every name in the call target to be declared with an explicit type annotation."),Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name:i(2776,1,"Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name_2776","Assertions require the call target to be an identifier or qualified name."),The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access:i(2777,1,"The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access_2777","The operand of an increment or decrement operator may not be an optional property access."),The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access:i(2778,1,"The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access_2778","The target of an object rest assignment may not be an optional property access."),The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access:i(2779,1,"The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access_2779","The left-hand side of an assignment expression may not be an optional property access."),The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access:i(2780,1,"The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access_2780","The left-hand side of a 'for...in' statement may not be an optional property access."),The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access:i(2781,1,"The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access_2781","The left-hand side of a 'for...of' statement may not be an optional property access."),_0_needs_an_explicit_type_annotation:i(2782,3,"_0_needs_an_explicit_type_annotation_2782","'{0}' needs an explicit type annotation."),_0_is_specified_more_than_once_so_this_usage_will_be_overwritten:i(2783,1,"_0_is_specified_more_than_once_so_this_usage_will_be_overwritten_2783","'{0}' is specified more than once, so this usage will be overwritten."),get_and_set_accessors_cannot_declare_this_parameters:i(2784,1,"get_and_set_accessors_cannot_declare_this_parameters_2784","'get' and 'set' accessors cannot declare 'this' parameters."),This_spread_always_overwrites_this_property:i(2785,1,"This_spread_always_overwrites_this_property_2785","This spread always overwrites this property."),_0_cannot_be_used_as_a_JSX_component:i(2786,1,"_0_cannot_be_used_as_a_JSX_component_2786","'{0}' cannot be used as a JSX component."),Its_return_type_0_is_not_a_valid_JSX_element:i(2787,1,"Its_return_type_0_is_not_a_valid_JSX_element_2787","Its return type '{0}' is not a valid JSX element."),Its_instance_type_0_is_not_a_valid_JSX_element:i(2788,1,"Its_instance_type_0_is_not_a_valid_JSX_element_2788","Its instance type '{0}' is not a valid JSX element."),Its_element_type_0_is_not_a_valid_JSX_element:i(2789,1,"Its_element_type_0_is_not_a_valid_JSX_element_2789","Its element type '{0}' is not a valid JSX element."),The_operand_of_a_delete_operator_must_be_optional:i(2790,1,"The_operand_of_a_delete_operator_must_be_optional_2790","The operand of a 'delete' operator must be optional."),Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later:i(2791,1,"Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_lat_2791","Exponentiation cannot be performed on 'bigint' values unless the 'target' option is set to 'es2016' or later."),Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_to_the_paths_option:i(2792,1,"Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_t_2792","Cannot find module '{0}'. Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option?"),The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible:i(2793,1,"The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_2793","The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible."),Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise:i(2794,1,"Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise_2794","Expected {0} arguments, but got {1}. Did you forget to include 'void' in your type argument to 'Promise'?"),The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types:i(2795,1,"The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types_2795","The 'intrinsic' keyword can only be used to declare compiler provided intrinsic types."),It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tagged_template_expression_which_cannot_be_invoked:i(2796,1,"It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tag_2796","It is likely that you are missing a comma to separate these two template expressions. They form a tagged template expression which cannot be invoked."),A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_be_declared_abstract:i(2797,1,"A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_2797","A mixin class that extends from a type variable containing an abstract construct signature must also be declared 'abstract'."),The_declaration_was_marked_as_deprecated_here:i(2798,1,"The_declaration_was_marked_as_deprecated_here_2798","The declaration was marked as deprecated here."),Type_produces_a_tuple_type_that_is_too_large_to_represent:i(2799,1,"Type_produces_a_tuple_type_that_is_too_large_to_represent_2799","Type produces a tuple type that is too large to represent."),Expression_produces_a_tuple_type_that_is_too_large_to_represent:i(2800,1,"Expression_produces_a_tuple_type_that_is_too_large_to_represent_2800","Expression produces a tuple type that is too large to represent."),This_condition_will_always_return_true_since_this_0_is_always_defined:i(2801,1,"This_condition_will_always_return_true_since_this_0_is_always_defined_2801","This condition will always return true since this '{0}' is always defined."),Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher:i(2802,1,"Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es201_2802","Type '{0}' can only be iterated through when using the '--downlevelIteration' flag or with a '--target' of 'es2015' or higher."),Cannot_assign_to_private_method_0_Private_methods_are_not_writable:i(2803,1,"Cannot_assign_to_private_method_0_Private_methods_are_not_writable_2803","Cannot assign to private method '{0}'. Private methods are not writable."),Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name:i(2804,1,"Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name_2804","Duplicate identifier '{0}'. Static and instance elements cannot share the same private name."),Private_accessor_was_defined_without_a_getter:i(2806,1,"Private_accessor_was_defined_without_a_getter_2806","Private accessor was defined without a getter."),This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0:i(2807,1,"This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_o_2807","This syntax requires an imported helper named '{1}' with {2} parameters, which is not compatible with the one in '{0}'. Consider upgrading your version of '{0}'."),A_get_accessor_must_be_at_least_as_accessible_as_the_setter:i(2808,1,"A_get_accessor_must_be_at_least_as_accessible_as_the_setter_2808","A get accessor must be at least as accessible as the setter"),Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_whole_assignment_in_parentheses:i(2809,1,"Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_d_2809","Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the whole assignment in parentheses."),Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_without_arguments:i(2810,1,"Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_2810","Expected 1 argument, but got 0. 'new Promise()' needs a JSDoc hint to produce a 'resolve' that can be called without arguments."),Initializer_for_property_0:i(2811,1,"Initializer_for_property_0_2811","Initializer for property '{0}'"),Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom:i(2812,1,"Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom_2812","Property '{0}' does not exist on type '{1}'. Try changing the 'lib' compiler option to include 'dom'."),Class_declaration_cannot_implement_overload_list_for_0:i(2813,1,"Class_declaration_cannot_implement_overload_list_for_0_2813","Class declaration cannot implement overload list for '{0}'."),Function_with_bodies_can_only_merge_with_classes_that_are_ambient:i(2814,1,"Function_with_bodies_can_only_merge_with_classes_that_are_ambient_2814","Function with bodies can only merge with classes that are ambient."),arguments_cannot_be_referenced_in_property_initializers:i(2815,1,"arguments_cannot_be_referenced_in_property_initializers_2815","'arguments' cannot be referenced in property initializers."),Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class:i(2816,1,"Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class_2816","Cannot use 'this' in a static property initializer of a decorated class."),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_a_class_static_block:i(2817,1,"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_a_class_static_block_2817","Property '{0}' has no initializer and is not definitely assigned in a class static block."),Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializers:i(2818,1,"Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializer_2818","Duplicate identifier '{0}'. Compiler reserves name '{1}' when emitting 'super' references in static initializers."),Namespace_name_cannot_be_0:i(2819,1,"Namespace_name_cannot_be_0_2819","Namespace name cannot be '{0}'."),Type_0_is_not_assignable_to_type_1_Did_you_mean_2:i(2820,1,"Type_0_is_not_assignable_to_type_1_Did_you_mean_2_2820","Type '{0}' is not assignable to type '{1}'. Did you mean '{2}'?"),Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_or_nodenext:i(2821,1,"Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_or_nodenext_2821","Import assertions are only supported when the '--module' option is set to 'esnext' or 'nodenext'."),Import_assertions_cannot_be_used_with_type_only_imports_or_exports:i(2822,1,"Import_assertions_cannot_be_used_with_type_only_imports_or_exports_2822","Import assertions cannot be used with type-only imports or exports."),Cannot_find_namespace_0_Did_you_mean_1:i(2833,1,"Cannot_find_namespace_0_Did_you_mean_1_2833","Cannot find namespace '{0}'. Did you mean '{1}'?"),Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node16_or_nodenext_Consider_adding_an_extension_to_the_import_path:i(2834,1,"Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_n_2834","Relative import paths need explicit file extensions in EcmaScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Consider adding an extension to the import path."),Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node16_or_nodenext_Did_you_mean_0:i(2835,1,"Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_n_2835","Relative import paths need explicit file extensions in EcmaScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Did you mean '{0}'?"),Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls:i(2836,1,"Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls_2836","Import assertions are not allowed on statements that transpile to commonjs 'require' calls."),Import_assertion_values_must_be_string_literal_expressions:i(2837,1,"Import_assertion_values_must_be_string_literal_expressions_2837","Import assertion values must be string literal expressions."),All_declarations_of_0_must_have_identical_constraints:i(2838,1,"All_declarations_of_0_must_have_identical_constraints_2838","All declarations of '{0}' must have identical constraints."),This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value:i(2839,1,"This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value_2839","This condition will always return '{0}' since JavaScript compares objects by reference, not value."),An_interface_cannot_extend_a_primitive_type_like_0_an_interface_can_only_extend_named_types_and_classes:i(2840,1,"An_interface_cannot_extend_a_primitive_type_like_0_an_interface_can_only_extend_named_types_and_clas_2840","An interface cannot extend a primitive type like '{0}'; an interface can only extend named types and classes"),The_type_of_this_expression_cannot_be_named_without_a_resolution_mode_assertion_which_is_an_unstable_feature_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next:i(2841,1,"The_type_of_this_expression_cannot_be_named_without_a_resolution_mode_assertion_which_is_an_unstable_2841","The type of this expression cannot be named without a 'resolution-mode' assertion, which is an unstable feature. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),_0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation:i(2842,1,"_0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation_2842","'{0}' is an unused renaming of '{1}'. Did you intend to use it as a type annotation?"),We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here:i(2843,1,"We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here_2843","We can only write a type for '{0}' by adding a type for the entire parameter here."),Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:i(2844,1,"Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2844","Type of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."),This_condition_will_always_return_0:i(2845,1,"This_condition_will_always_return_0_2845","This condition will always return '{0}'."),A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_file_0_instead:i(2846,1,"A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_f_2846","A declaration file cannot be imported without 'import type'. Did you mean to import an implementation file '{0}' instead?"),Import_declaration_0_is_using_private_name_1:i(4e3,1,"Import_declaration_0_is_using_private_name_1_4000","Import declaration '{0}' is using private name '{1}'."),Type_parameter_0_of_exported_class_has_or_is_using_private_name_1:i(4002,1,"Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002","Type parameter '{0}' of exported class has or is using private name '{1}'."),Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1:i(4004,1,"Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004","Type parameter '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:i(4006,1,"Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006","Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:i(4008,1,"Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008","Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:i(4010,1,"Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010","Type parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:i(4012,1,"Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012","Type parameter '{0}' of public method from exported class has or is using private name '{1}'."),Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:i(4014,1,"Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014","Type parameter '{0}' of method from exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_function_has_or_is_using_private_name_1:i(4016,1,"Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016","Type parameter '{0}' of exported function has or is using private name '{1}'."),Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:i(4019,1,"Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019","Implements clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_0_has_or_is_using_private_name_1:i(4020,1,"extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020","'extends' clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_has_or_is_using_private_name_0:i(4021,1,"extends_clause_of_exported_class_has_or_is_using_private_name_0_4021","'extends' clause of exported class has or is using private name '{0}'."),extends_clause_of_exported_interface_0_has_or_is_using_private_name_1:i(4022,1,"extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022","'extends' clause of exported interface '{0}' has or is using private name '{1}'."),Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4023,1,"Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023","Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named."),Exported_variable_0_has_or_is_using_name_1_from_private_module_2:i(4024,1,"Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024","Exported variable '{0}' has or is using name '{1}' from private module '{2}'."),Exported_variable_0_has_or_is_using_private_name_1:i(4025,1,"Exported_variable_0_has_or_is_using_private_name_1_4025","Exported variable '{0}' has or is using private name '{1}'."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4026,1,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026","Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i(4027,1,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027","Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:i(4028,1,"Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028","Public static property '{0}' of exported class has or is using private name '{1}'."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4029,1,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029","Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i(4030,1,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030","Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_property_0_of_exported_class_has_or_is_using_private_name_1:i(4031,1,"Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031","Public property '{0}' of exported class has or is using private name '{1}'."),Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4032,1,"Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032","Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Property_0_of_exported_interface_has_or_is_using_private_name_1:i(4033,1,"Property_0_of_exported_interface_has_or_is_using_private_name_1_4033","Property '{0}' of exported interface has or is using private name '{1}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4034,1,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_mod_4034","Parameter type of public static setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:i(4035,1,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1_4035","Parameter type of public static setter '{0}' from exported class has or is using private name '{1}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4036,1,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4036","Parameter type of public setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:i(4037,1,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1_4037","Parameter type of public setter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4038,1,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_modul_4038","Return type of public static getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4039,1,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_4039","Return type of public static getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:i(4040,1,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1_4040","Return type of public static getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4041,1,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_4041","Return type of public getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4042,1,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4042","Return type of public getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1:i(4043,1,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1_4043","Return type of public getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i(4044,1,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044","Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0:i(4045,1,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045","Return type of constructor signature from exported interface has or is using private name '{0}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i(4046,1,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046","Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0:i(4047,1,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047","Return type of call signature from exported interface has or is using private name '{0}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i(4048,1,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048","Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0:i(4049,1,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049","Return type of index signature from exported interface has or is using private name '{0}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:i(4050,1,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050","Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:i(4051,1,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051","Return type of public static method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:i(4052,1,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052","Return type of public static method from exported class has or is using private name '{0}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:i(4053,1,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053","Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:i(4054,1,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054","Return type of public method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:i(4055,1,"Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055","Return type of public method from exported class has or is using private name '{0}'."),Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i(4056,1,"Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056","Return type of method from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0:i(4057,1,"Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057","Return type of method from exported interface has or is using private name '{0}'."),Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:i(4058,1,"Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058","Return type of exported function has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:i(4059,1,"Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059","Return type of exported function has or is using name '{0}' from private module '{1}'."),Return_type_of_exported_function_has_or_is_using_private_name_0:i(4060,1,"Return_type_of_exported_function_has_or_is_using_private_name_0_4060","Return type of exported function has or is using private name '{0}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4061,1,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061","Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4062,1,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062","Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1:i(4063,1,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063","Parameter '{0}' of constructor from exported class has or is using private name '{1}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4064,1,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064","Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:i(4065,1,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065","Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4066,1,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066","Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:i(4067,1,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067","Parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4068,1,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068","Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4069,1,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069","Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:i(4070,1,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070","Parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4071,1,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071","Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4072,1,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072","Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:i(4073,1,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073","Parameter '{0}' of public method from exported class has or is using private name '{1}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4074,1,"Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074","Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:i(4075,1,"Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075","Parameter '{0}' of method from exported interface has or is using private name '{1}'."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4076,1,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076","Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:i(4077,1,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077","Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'."),Parameter_0_of_exported_function_has_or_is_using_private_name_1:i(4078,1,"Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078","Parameter '{0}' of exported function has or is using private name '{1}'."),Exported_type_alias_0_has_or_is_using_private_name_1:i(4081,1,"Exported_type_alias_0_has_or_is_using_private_name_1_4081","Exported type alias '{0}' has or is using private name '{1}'."),Default_export_of_the_module_has_or_is_using_private_name_0:i(4082,1,"Default_export_of_the_module_has_or_is_using_private_name_0_4082","Default export of the module has or is using private name '{0}'."),Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1:i(4083,1,"Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1_4083","Type parameter '{0}' of exported type alias has or is using private name '{1}'."),Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2:i(4084,1,"Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2_4084","Exported type alias '{0}' has or is using private name '{1}' from module {2}."),Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1:i(4085,1,"Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1_4085","Extends clause for inferred type '{0}' has or is using private name '{1}'."),Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict:i(4090,1,"Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_librar_4090","Conflicting definitions for '{0}' found at '{1}' and '{2}'. Consider installing a specific version of this library to resolve the conflict."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4091,1,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4091","Parameter '{0}' of index signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1:i(4092,1,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1_4092","Parameter '{0}' of index signature from exported interface has or is using private name '{1}'."),Property_0_of_exported_class_expression_may_not_be_private_or_protected:i(4094,1,"Property_0_of_exported_class_expression_may_not_be_private_or_protected_4094","Property '{0}' of exported class expression may not be private or protected."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4095,1,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_4095","Public static method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i(4096,1,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4096","Public static method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:i(4097,1,"Public_static_method_0_of_exported_class_has_or_is_using_private_name_1_4097","Public static method '{0}' of exported class has or is using private name '{1}'."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4098,1,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4098","Public method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i(4099,1,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4099","Public method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_method_0_of_exported_class_has_or_is_using_private_name_1:i(4100,1,"Public_method_0_of_exported_class_has_or_is_using_private_name_1_4100","Public method '{0}' of exported class has or is using private name '{1}'."),Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4101,1,"Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4101","Method '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Method_0_of_exported_interface_has_or_is_using_private_name_1:i(4102,1,"Method_0_of_exported_interface_has_or_is_using_private_name_1_4102","Method '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1:i(4103,1,"Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1_4103","Type parameter '{0}' of exported mapped object type is using private name '{1}'."),The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1:i(4104,1,"The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1_4104","The type '{0}' is 'readonly' and cannot be assigned to the mutable type '{1}'."),Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter:i(4105,1,"Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter_4105","Private or protected member '{0}' cannot be accessed on a type parameter."),Parameter_0_of_accessor_has_or_is_using_private_name_1:i(4106,1,"Parameter_0_of_accessor_has_or_is_using_private_name_1_4106","Parameter '{0}' of accessor has or is using private name '{1}'."),Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:i(4107,1,"Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2_4107","Parameter '{0}' of accessor has or is using name '{1}' from private module '{2}'."),Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4108,1,"Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4108","Parameter '{0}' of accessor has or is using name '{1}' from external module '{2}' but cannot be named."),Type_arguments_for_0_circularly_reference_themselves:i(4109,1,"Type_arguments_for_0_circularly_reference_themselves_4109","Type arguments for '{0}' circularly reference themselves."),Tuple_type_arguments_circularly_reference_themselves:i(4110,1,"Tuple_type_arguments_circularly_reference_themselves_4110","Tuple type arguments circularly reference themselves."),Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0:i(4111,1,"Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0_4111","Property '{0}' comes from an index signature, so it must be accessed with ['{0}']."),This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class:i(4112,1,"This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another__4112","This member cannot have an 'override' modifier because its containing class '{0}' does not extend another class."),This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0:i(4113,1,"This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_4113","This member cannot have an 'override' modifier because it is not declared in the base class '{0}'."),This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0:i(4114,1,"This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0_4114","This member must have an 'override' modifier because it overrides a member in the base class '{0}'."),This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0:i(4115,1,"This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0_4115","This parameter property must have an 'override' modifier because it overrides a member in base class '{0}'."),This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0:i(4116,1,"This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared__4116","This member must have an 'override' modifier because it overrides an abstract method that is declared in the base class '{0}'."),This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1:i(4117,1,"This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you__4117","This member cannot have an 'override' modifier because it is not declared in the base class '{0}'. Did you mean '{1}'?"),The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized:i(4118,1,"The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized_4118","The type of this node cannot be serialized because its property '{0}' cannot be serialized."),This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:i(4119,1,"This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_4119","This member must have a JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'."),This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:i(4120,1,"This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_4120","This parameter property must have a JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class:i(4121,1,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_4121","This member cannot have a JSDoc comment with an '@override' tag because its containing class '{0}' does not extend another class."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0:i(4122,1,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4122","This member cannot have a JSDoc comment with an '@override' tag because it is not declared in the base class '{0}'."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1:i(4123,1,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4123","This member cannot have a JSDoc comment with an 'override' tag because it is not declared in the base class '{0}'. Did you mean '{1}'?"),Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next:i(4124,1,"Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_w_4124","Compiler option '{0}' of value '{1}' is unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next:i(4125,1,"resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_wi_4125","'resolution-mode' assertions are unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),The_current_host_does_not_support_the_0_option:i(5001,1,"The_current_host_does_not_support_the_0_option_5001","The current host does not support the '{0}' option."),Cannot_find_the_common_subdirectory_path_for_the_input_files:i(5009,1,"Cannot_find_the_common_subdirectory_path_for_the_input_files_5009","Cannot find the common subdirectory path for the input files."),File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:i(5010,1,"File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010","File specification cannot end in a recursive directory wildcard ('**'): '{0}'."),Cannot_read_file_0_Colon_1:i(5012,1,"Cannot_read_file_0_Colon_1_5012","Cannot read file '{0}': {1}."),Failed_to_parse_file_0_Colon_1:i(5014,1,"Failed_to_parse_file_0_Colon_1_5014","Failed to parse file '{0}': {1}."),Unknown_compiler_option_0:i(5023,1,"Unknown_compiler_option_0_5023","Unknown compiler option '{0}'."),Compiler_option_0_requires_a_value_of_type_1:i(5024,1,"Compiler_option_0_requires_a_value_of_type_1_5024","Compiler option '{0}' requires a value of type {1}."),Unknown_compiler_option_0_Did_you_mean_1:i(5025,1,"Unknown_compiler_option_0_Did_you_mean_1_5025","Unknown compiler option '{0}'. Did you mean '{1}'?"),Could_not_write_file_0_Colon_1:i(5033,1,"Could_not_write_file_0_Colon_1_5033","Could not write file '{0}': {1}."),Option_project_cannot_be_mixed_with_source_files_on_a_command_line:i(5042,1,"Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042","Option 'project' cannot be mixed with source files on a command line."),Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher:i(5047,1,"Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047","Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher."),Option_0_cannot_be_specified_when_option_target_is_ES3:i(5048,1,"Option_0_cannot_be_specified_when_option_target_is_ES3_5048","Option '{0}' cannot be specified when option 'target' is 'ES3'."),Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided:i(5051,1,"Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051","Option '{0} can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided."),Option_0_cannot_be_specified_without_specifying_option_1:i(5052,1,"Option_0_cannot_be_specified_without_specifying_option_1_5052","Option '{0}' cannot be specified without specifying option '{1}'."),Option_0_cannot_be_specified_with_option_1:i(5053,1,"Option_0_cannot_be_specified_with_option_1_5053","Option '{0}' cannot be specified with option '{1}'."),A_tsconfig_json_file_is_already_defined_at_Colon_0:i(5054,1,"A_tsconfig_json_file_is_already_defined_at_Colon_0_5054","A 'tsconfig.json' file is already defined at: '{0}'."),Cannot_write_file_0_because_it_would_overwrite_input_file:i(5055,1,"Cannot_write_file_0_because_it_would_overwrite_input_file_5055","Cannot write file '{0}' because it would overwrite input file."),Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files:i(5056,1,"Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056","Cannot write file '{0}' because it would be overwritten by multiple input files."),Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0:i(5057,1,"Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057","Cannot find a tsconfig.json file at the specified directory: '{0}'."),The_specified_path_does_not_exist_Colon_0:i(5058,1,"The_specified_path_does_not_exist_Colon_0_5058","The specified path does not exist: '{0}'."),Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier:i(5059,1,"Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059","Invalid value for '--reactNamespace'. '{0}' is not a valid identifier."),Pattern_0_can_have_at_most_one_Asterisk_character:i(5061,1,"Pattern_0_can_have_at_most_one_Asterisk_character_5061","Pattern '{0}' can have at most one '*' character."),Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character:i(5062,1,"Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character_5062","Substitution '{0}' in pattern '{1}' can have at most one '*' character."),Substitutions_for_pattern_0_should_be_an_array:i(5063,1,"Substitutions_for_pattern_0_should_be_an_array_5063","Substitutions for pattern '{0}' should be an array."),Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2:i(5064,1,"Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064","Substitution '{0}' for pattern '{1}' has incorrect type, expected 'string', got '{2}'."),File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:i(5065,1,"File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065","File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '{0}'."),Substitutions_for_pattern_0_shouldn_t_be_an_empty_array:i(5066,1,"Substitutions_for_pattern_0_shouldn_t_be_an_empty_array_5066","Substitutions for pattern '{0}' shouldn't be an empty array."),Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name:i(5067,1,"Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067","Invalid value for 'jsxFactory'. '{0}' is not a valid identifier or qualified-name."),Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig:i(5068,1,"Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__5068","Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig."),Option_0_cannot_be_specified_without_specifying_option_1_or_option_2:i(5069,1,"Option_0_cannot_be_specified_without_specifying_option_1_or_option_2_5069","Option '{0}' cannot be specified without specifying option '{1}' or option '{2}'."),Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic:i(5070,1,"Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic_5070","Option '--resolveJsonModule' cannot be specified when 'moduleResolution' is set to 'classic'."),Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_esNext:i(5071,1,"Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_5071","Option '--resolveJsonModule' can only be specified when module code generation is 'commonjs', 'amd', 'es2015' or 'esNext'."),Unknown_build_option_0:i(5072,1,"Unknown_build_option_0_5072","Unknown build option '{0}'."),Build_option_0_requires_a_value_of_type_1:i(5073,1,"Build_option_0_requires_a_value_of_type_1_5073","Build option '{0}' requires a value of type {1}."),Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBuildInfoFile_is_specified:i(5074,1,"Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBui_5074","Option '--incremental' can only be specified using tsconfig, emitting to single file or when option '--tsBuildInfoFile' is specified."),_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_constraint_2:i(5075,1,"_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_5075","'{0}' is assignable to the constraint of type '{1}', but '{1}' could be instantiated with a different subtype of constraint '{2}'."),_0_and_1_operations_cannot_be_mixed_without_parentheses:i(5076,1,"_0_and_1_operations_cannot_be_mixed_without_parentheses_5076","'{0}' and '{1}' operations cannot be mixed without parentheses."),Unknown_build_option_0_Did_you_mean_1:i(5077,1,"Unknown_build_option_0_Did_you_mean_1_5077","Unknown build option '{0}'. Did you mean '{1}'?"),Unknown_watch_option_0:i(5078,1,"Unknown_watch_option_0_5078","Unknown watch option '{0}'."),Unknown_watch_option_0_Did_you_mean_1:i(5079,1,"Unknown_watch_option_0_Did_you_mean_1_5079","Unknown watch option '{0}'. Did you mean '{1}'?"),Watch_option_0_requires_a_value_of_type_1:i(5080,1,"Watch_option_0_requires_a_value_of_type_1_5080","Watch option '{0}' requires a value of type {1}."),Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0:i(5081,1,"Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0_5081","Cannot find a tsconfig.json file at the current directory: {0}."),_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1:i(5082,1,"_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1_5082","'{0}' could be instantiated with an arbitrary type which could be unrelated to '{1}'."),Cannot_read_file_0:i(5083,1,"Cannot_read_file_0_5083","Cannot read file '{0}'."),Tuple_members_must_all_have_names_or_all_not_have_names:i(5084,1,"Tuple_members_must_all_have_names_or_all_not_have_names_5084","Tuple members must all have names or all not have names."),A_tuple_member_cannot_be_both_optional_and_rest:i(5085,1,"A_tuple_member_cannot_be_both_optional_and_rest_5085","A tuple member cannot be both optional and rest."),A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type:i(5086,1,"A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_c_5086","A labeled tuple element is declared as optional with a question mark after the name and before the colon, rather than after the type."),A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type:i(5087,1,"A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type_5087","A labeled tuple element is declared as rest with a '...' before the name, rather than before the type."),The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary:i(5088,1,"The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialize_5088","The inferred type of '{0}' references a type with a cyclic structure which cannot be trivially serialized. A type annotation is necessary."),Option_0_cannot_be_specified_when_option_jsx_is_1:i(5089,1,"Option_0_cannot_be_specified_when_option_jsx_is_1_5089","Option '{0}' cannot be specified when option 'jsx' is '{1}'."),Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash:i(5090,1,"Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash_5090","Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?"),Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled:i(5091,1,"Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled_5091","Option 'preserveConstEnums' cannot be disabled when '{0}' is enabled."),The_root_value_of_a_0_file_must_be_an_object:i(5092,1,"The_root_value_of_a_0_file_must_be_an_object_5092","The root value of a '{0}' file must be an object."),Compiler_option_0_may_only_be_used_with_build:i(5093,1,"Compiler_option_0_may_only_be_used_with_build_5093","Compiler option '--{0}' may only be used with '--build'."),Compiler_option_0_may_not_be_used_with_build:i(5094,1,"Compiler_option_0_may_not_be_used_with_build_5094","Compiler option '--{0}' may not be used with '--build'."),Option_0_can_only_be_used_when_module_is_set_to_es2015_or_later:i(5095,1,"Option_0_can_only_be_used_when_module_is_set_to_es2015_or_later_5095","Option '{0}' can only be used when 'module' is set to 'es2015' or later."),Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set:i(5096,1,"Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set_5096","Option 'allowImportingTsExtensions' can only be used when either 'noEmit' or 'emitDeclarationOnly' is set."),An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled:i(5097,1,"An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled_5097","An import path can only end with a '{0}' extension when 'allowImportingTsExtensions' is enabled."),Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler:i(5098,1,"Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler_5098","Option '{0}' can only be used when 'moduleResolution' is set to 'node16', 'nodenext', or 'bundler'."),Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprecations_Colon_2_to_silence_this_error:i(5101,1,"Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprec_5101",`Option '{0}' is deprecated and will stop functioning in TypeScript {1}. Specify compilerOption '"ignoreDeprecations": "{2}"' to silence this error.`),Option_0_has_been_removed_Please_remove_it_from_your_configuration:i(5102,1,"Option_0_has_been_removed_Please_remove_it_from_your_configuration_5102","Option '{0}' has been removed. Please remove it from your configuration."),Invalid_value_for_ignoreDeprecations:i(5103,1,"Invalid_value_for_ignoreDeprecations_5103","Invalid value for '--ignoreDeprecations'."),Option_0_is_redundant_and_cannot_be_specified_with_option_1:i(5104,1,"Option_0_is_redundant_and_cannot_be_specified_with_option_1_5104","Option '{0}' is redundant and cannot be specified with option '{1}'."),Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System:i(5105,1,"Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System_5105","Option 'verbatimModuleSyntax' cannot be used when 'module' is set to 'UMD', 'AMD', or 'System'."),Use_0_instead:i(5106,3,"Use_0_instead_5106","Use '{0}' instead."),Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDeprecations_Colon_3_to_silence_this_error:i(5107,1,"Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDepr_5107",`Option '{0}={1}' is deprecated and will stop functioning in TypeScript {2}. Specify compilerOption '"ignoreDeprecations": "{3}"' to silence this error.`),Option_0_1_has_been_removed_Please_remove_it_from_your_configuration:i(5108,1,"Option_0_1_has_been_removed_Please_remove_it_from_your_configuration_5108","Option '{0}={1}' has been removed. Please remove it from your configuration."),Generates_a_sourcemap_for_each_corresponding_d_ts_file:i(6e3,3,"Generates_a_sourcemap_for_each_corresponding_d_ts_file_6000","Generates a sourcemap for each corresponding '.d.ts' file."),Concatenate_and_emit_output_to_single_file:i(6001,3,"Concatenate_and_emit_output_to_single_file_6001","Concatenate and emit output to single file."),Generates_corresponding_d_ts_file:i(6002,3,"Generates_corresponding_d_ts_file_6002","Generates corresponding '.d.ts' file."),Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations:i(6004,3,"Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004","Specify the location where debugger should locate TypeScript files instead of source locations."),Watch_input_files:i(6005,3,"Watch_input_files_6005","Watch input files."),Redirect_output_structure_to_the_directory:i(6006,3,"Redirect_output_structure_to_the_directory_6006","Redirect output structure to the directory."),Do_not_erase_const_enum_declarations_in_generated_code:i(6007,3,"Do_not_erase_const_enum_declarations_in_generated_code_6007","Do not erase const enum declarations in generated code."),Do_not_emit_outputs_if_any_errors_were_reported:i(6008,3,"Do_not_emit_outputs_if_any_errors_were_reported_6008","Do not emit outputs if any errors were reported."),Do_not_emit_comments_to_output:i(6009,3,"Do_not_emit_comments_to_output_6009","Do not emit comments to output."),Do_not_emit_outputs:i(6010,3,"Do_not_emit_outputs_6010","Do not emit outputs."),Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking:i(6011,3,"Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011","Allow default imports from modules with no default export. This does not affect code emit, just typechecking."),Skip_type_checking_of_declaration_files:i(6012,3,"Skip_type_checking_of_declaration_files_6012","Skip type checking of declaration files."),Do_not_resolve_the_real_path_of_symlinks:i(6013,3,"Do_not_resolve_the_real_path_of_symlinks_6013","Do not resolve the real path of symlinks."),Only_emit_d_ts_declaration_files:i(6014,3,"Only_emit_d_ts_declaration_files_6014","Only emit '.d.ts' declaration files."),Specify_ECMAScript_target_version:i(6015,3,"Specify_ECMAScript_target_version_6015","Specify ECMAScript target version."),Specify_module_code_generation:i(6016,3,"Specify_module_code_generation_6016","Specify module code generation."),Print_this_message:i(6017,3,"Print_this_message_6017","Print this message."),Print_the_compiler_s_version:i(6019,3,"Print_the_compiler_s_version_6019","Print the compiler's version."),Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json:i(6020,3,"Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json_6020","Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'."),Syntax_Colon_0:i(6023,3,"Syntax_Colon_0_6023","Syntax: {0}"),options:i(6024,3,"options_6024","options"),file:i(6025,3,"file_6025","file"),Examples_Colon_0:i(6026,3,"Examples_Colon_0_6026","Examples: {0}"),Options_Colon:i(6027,3,"Options_Colon_6027","Options:"),Version_0:i(6029,3,"Version_0_6029","Version {0}"),Insert_command_line_options_and_files_from_a_file:i(6030,3,"Insert_command_line_options_and_files_from_a_file_6030","Insert command line options and files from a file."),Starting_compilation_in_watch_mode:i(6031,3,"Starting_compilation_in_watch_mode_6031","Starting compilation in watch mode..."),File_change_detected_Starting_incremental_compilation:i(6032,3,"File_change_detected_Starting_incremental_compilation_6032","File change detected. Starting incremental compilation..."),KIND:i(6034,3,"KIND_6034","KIND"),FILE:i(6035,3,"FILE_6035","FILE"),VERSION:i(6036,3,"VERSION_6036","VERSION"),LOCATION:i(6037,3,"LOCATION_6037","LOCATION"),DIRECTORY:i(6038,3,"DIRECTORY_6038","DIRECTORY"),STRATEGY:i(6039,3,"STRATEGY_6039","STRATEGY"),FILE_OR_DIRECTORY:i(6040,3,"FILE_OR_DIRECTORY_6040","FILE OR DIRECTORY"),Errors_Files:i(6041,3,"Errors_Files_6041","Errors Files"),Generates_corresponding_map_file:i(6043,3,"Generates_corresponding_map_file_6043","Generates corresponding '.map' file."),Compiler_option_0_expects_an_argument:i(6044,1,"Compiler_option_0_expects_an_argument_6044","Compiler option '{0}' expects an argument."),Unterminated_quoted_string_in_response_file_0:i(6045,1,"Unterminated_quoted_string_in_response_file_0_6045","Unterminated quoted string in response file '{0}'."),Argument_for_0_option_must_be_Colon_1:i(6046,1,"Argument_for_0_option_must_be_Colon_1_6046","Argument for '{0}' option must be: {1}."),Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1:i(6048,1,"Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048","Locale must be of the form or -. For example '{0}' or '{1}'."),Unable_to_open_file_0:i(6050,1,"Unable_to_open_file_0_6050","Unable to open file '{0}'."),Corrupted_locale_file_0:i(6051,1,"Corrupted_locale_file_0_6051","Corrupted locale file {0}."),Raise_error_on_expressions_and_declarations_with_an_implied_any_type:i(6052,3,"Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052","Raise error on expressions and declarations with an implied 'any' type."),File_0_not_found:i(6053,1,"File_0_not_found_6053","File '{0}' not found."),File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1:i(6054,1,"File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1_6054","File '{0}' has an unsupported extension. The only supported extensions are {1}."),Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures:i(6055,3,"Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055","Suppress noImplicitAny errors for indexing objects lacking index signatures."),Do_not_emit_declarations_for_code_that_has_an_internal_annotation:i(6056,3,"Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056","Do not emit declarations for code that has an '@internal' annotation."),Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir:i(6058,3,"Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058","Specify the root directory of input files. Use to control the output directory structure with --outDir."),File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files:i(6059,1,"File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059","File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files."),Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix:i(6060,3,"Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060","Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)."),NEWLINE:i(6061,3,"NEWLINE_6061","NEWLINE"),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line:i(6064,1,"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line_6064","Option '{0}' can only be specified in 'tsconfig.json' file or set to 'null' on command line."),Enables_experimental_support_for_ES7_decorators:i(6065,3,"Enables_experimental_support_for_ES7_decorators_6065","Enables experimental support for ES7 decorators."),Enables_experimental_support_for_emitting_type_metadata_for_decorators:i(6066,3,"Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066","Enables experimental support for emitting type metadata for decorators."),Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file:i(6070,3,"Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070","Initializes a TypeScript project and creates a tsconfig.json file."),Successfully_created_a_tsconfig_json_file:i(6071,3,"Successfully_created_a_tsconfig_json_file_6071","Successfully created a tsconfig.json file."),Suppress_excess_property_checks_for_object_literals:i(6072,3,"Suppress_excess_property_checks_for_object_literals_6072","Suppress excess property checks for object literals."),Stylize_errors_and_messages_using_color_and_context_experimental:i(6073,3,"Stylize_errors_and_messages_using_color_and_context_experimental_6073","Stylize errors and messages using color and context (experimental)."),Do_not_report_errors_on_unused_labels:i(6074,3,"Do_not_report_errors_on_unused_labels_6074","Do not report errors on unused labels."),Report_error_when_not_all_code_paths_in_function_return_a_value:i(6075,3,"Report_error_when_not_all_code_paths_in_function_return_a_value_6075","Report error when not all code paths in function return a value."),Report_errors_for_fallthrough_cases_in_switch_statement:i(6076,3,"Report_errors_for_fallthrough_cases_in_switch_statement_6076","Report errors for fallthrough cases in switch statement."),Do_not_report_errors_on_unreachable_code:i(6077,3,"Do_not_report_errors_on_unreachable_code_6077","Do not report errors on unreachable code."),Disallow_inconsistently_cased_references_to_the_same_file:i(6078,3,"Disallow_inconsistently_cased_references_to_the_same_file_6078","Disallow inconsistently-cased references to the same file."),Specify_library_files_to_be_included_in_the_compilation:i(6079,3,"Specify_library_files_to_be_included_in_the_compilation_6079","Specify library files to be included in the compilation."),Specify_JSX_code_generation:i(6080,3,"Specify_JSX_code_generation_6080","Specify JSX code generation."),File_0_has_an_unsupported_extension_so_skipping_it:i(6081,3,"File_0_has_an_unsupported_extension_so_skipping_it_6081","File '{0}' has an unsupported extension, so skipping it."),Only_amd_and_system_modules_are_supported_alongside_0:i(6082,1,"Only_amd_and_system_modules_are_supported_alongside_0_6082","Only 'amd' and 'system' modules are supported alongside --{0}."),Base_directory_to_resolve_non_absolute_module_names:i(6083,3,"Base_directory_to_resolve_non_absolute_module_names_6083","Base directory to resolve non-absolute module names."),Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit:i(6084,3,"Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084","[Deprecated] Use '--jsxFactory' instead. Specify the object invoked for createElement when targeting 'react' JSX emit"),Enable_tracing_of_the_name_resolution_process:i(6085,3,"Enable_tracing_of_the_name_resolution_process_6085","Enable tracing of the name resolution process."),Resolving_module_0_from_1:i(6086,3,"Resolving_module_0_from_1_6086","======== Resolving module '{0}' from '{1}'. ========"),Explicitly_specified_module_resolution_kind_Colon_0:i(6087,3,"Explicitly_specified_module_resolution_kind_Colon_0_6087","Explicitly specified module resolution kind: '{0}'."),Module_resolution_kind_is_not_specified_using_0:i(6088,3,"Module_resolution_kind_is_not_specified_using_0_6088","Module resolution kind is not specified, using '{0}'."),Module_name_0_was_successfully_resolved_to_1:i(6089,3,"Module_name_0_was_successfully_resolved_to_1_6089","======== Module name '{0}' was successfully resolved to '{1}'. ========"),Module_name_0_was_not_resolved:i(6090,3,"Module_name_0_was_not_resolved_6090","======== Module name '{0}' was not resolved. ========"),paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0:i(6091,3,"paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091","'paths' option is specified, looking for a pattern to match module name '{0}'."),Module_name_0_matched_pattern_1:i(6092,3,"Module_name_0_matched_pattern_1_6092","Module name '{0}', matched pattern '{1}'."),Trying_substitution_0_candidate_module_location_Colon_1:i(6093,3,"Trying_substitution_0_candidate_module_location_Colon_1_6093","Trying substitution '{0}', candidate module location: '{1}'."),Resolving_module_name_0_relative_to_base_url_1_2:i(6094,3,"Resolving_module_name_0_relative_to_base_url_1_2_6094","Resolving module name '{0}' relative to base url '{1}' - '{2}'."),Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_types_Colon_1:i(6095,3,"Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_types_Colon_1_6095","Loading module as file / folder, candidate module location '{0}', target file types: {1}."),File_0_does_not_exist:i(6096,3,"File_0_does_not_exist_6096","File '{0}' does not exist."),File_0_exists_use_it_as_a_name_resolution_result:i(6097,3,"File_0_exists_use_it_as_a_name_resolution_result_6097","File '{0}' exists - use it as a name resolution result."),Loading_module_0_from_node_modules_folder_target_file_types_Colon_1:i(6098,3,"Loading_module_0_from_node_modules_folder_target_file_types_Colon_1_6098","Loading module '{0}' from 'node_modules' folder, target file types: {1}."),Found_package_json_at_0:i(6099,3,"Found_package_json_at_0_6099","Found 'package.json' at '{0}'."),package_json_does_not_have_a_0_field:i(6100,3,"package_json_does_not_have_a_0_field_6100","'package.json' does not have a '{0}' field."),package_json_has_0_field_1_that_references_2:i(6101,3,"package_json_has_0_field_1_that_references_2_6101","'package.json' has '{0}' field '{1}' that references '{2}'."),Allow_javascript_files_to_be_compiled:i(6102,3,"Allow_javascript_files_to_be_compiled_6102","Allow javascript files to be compiled."),Checking_if_0_is_the_longest_matching_prefix_for_1_2:i(6104,3,"Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104","Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'."),Expected_type_of_0_field_in_package_json_to_be_1_got_2:i(6105,3,"Expected_type_of_0_field_in_package_json_to_be_1_got_2_6105","Expected type of '{0}' field in 'package.json' to be '{1}', got '{2}'."),baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1:i(6106,3,"baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106","'baseUrl' option is set to '{0}', using this value to resolve non-relative module name '{1}'."),rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0:i(6107,3,"rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107","'rootDirs' option is set, using it to resolve relative module name '{0}'."),Longest_matching_prefix_for_0_is_1:i(6108,3,"Longest_matching_prefix_for_0_is_1_6108","Longest matching prefix for '{0}' is '{1}'."),Loading_0_from_the_root_dir_1_candidate_location_2:i(6109,3,"Loading_0_from_the_root_dir_1_candidate_location_2_6109","Loading '{0}' from the root dir '{1}', candidate location '{2}'."),Trying_other_entries_in_rootDirs:i(6110,3,"Trying_other_entries_in_rootDirs_6110","Trying other entries in 'rootDirs'."),Module_resolution_using_rootDirs_has_failed:i(6111,3,"Module_resolution_using_rootDirs_has_failed_6111","Module resolution using 'rootDirs' has failed."),Do_not_emit_use_strict_directives_in_module_output:i(6112,3,"Do_not_emit_use_strict_directives_in_module_output_6112","Do not emit 'use strict' directives in module output."),Enable_strict_null_checks:i(6113,3,"Enable_strict_null_checks_6113","Enable strict null checks."),Unknown_option_excludes_Did_you_mean_exclude:i(6114,1,"Unknown_option_excludes_Did_you_mean_exclude_6114","Unknown option 'excludes'. Did you mean 'exclude'?"),Raise_error_on_this_expressions_with_an_implied_any_type:i(6115,3,"Raise_error_on_this_expressions_with_an_implied_any_type_6115","Raise error on 'this' expressions with an implied 'any' type."),Resolving_type_reference_directive_0_containing_file_1_root_directory_2:i(6116,3,"Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116","======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========"),Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2:i(6119,3,"Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119","======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========"),Type_reference_directive_0_was_not_resolved:i(6120,3,"Type_reference_directive_0_was_not_resolved_6120","======== Type reference directive '{0}' was not resolved. ========"),Resolving_with_primary_search_path_0:i(6121,3,"Resolving_with_primary_search_path_0_6121","Resolving with primary search path '{0}'."),Root_directory_cannot_be_determined_skipping_primary_search_paths:i(6122,3,"Root_directory_cannot_be_determined_skipping_primary_search_paths_6122","Root directory cannot be determined, skipping primary search paths."),Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set:i(6123,3,"Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123","======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========"),Type_declaration_files_to_be_included_in_compilation:i(6124,3,"Type_declaration_files_to_be_included_in_compilation_6124","Type declaration files to be included in compilation."),Looking_up_in_node_modules_folder_initial_location_0:i(6125,3,"Looking_up_in_node_modules_folder_initial_location_0_6125","Looking up in 'node_modules' folder, initial location '{0}'."),Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder:i(6126,3,"Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126","Containing file is not specified and root directory cannot be determined, skipping lookup in 'node_modules' folder."),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1:i(6127,3,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127","======== Resolving type reference directive '{0}', containing file not set, root directory '{1}'. ========"),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set:i(6128,3,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128","======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========"),Resolving_real_path_for_0_result_1:i(6130,3,"Resolving_real_path_for_0_result_1_6130","Resolving real path for '{0}', result '{1}'."),Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system:i(6131,1,"Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131","Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'."),File_name_0_has_a_1_extension_stripping_it:i(6132,3,"File_name_0_has_a_1_extension_stripping_it_6132","File name '{0}' has a '{1}' extension - stripping it."),_0_is_declared_but_its_value_is_never_read:i(6133,1,"_0_is_declared_but_its_value_is_never_read_6133","'{0}' is declared but its value is never read.",!0),Report_errors_on_unused_locals:i(6134,3,"Report_errors_on_unused_locals_6134","Report errors on unused locals."),Report_errors_on_unused_parameters:i(6135,3,"Report_errors_on_unused_parameters_6135","Report errors on unused parameters."),The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files:i(6136,3,"The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136","The maximum dependency depth to search under node_modules and load JavaScript files."),Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1:i(6137,1,"Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1_6137","Cannot import type declaration files. Consider importing '{0}' instead of '{1}'."),Property_0_is_declared_but_its_value_is_never_read:i(6138,1,"Property_0_is_declared_but_its_value_is_never_read_6138","Property '{0}' is declared but its value is never read.",!0),Import_emit_helpers_from_tslib:i(6139,3,"Import_emit_helpers_from_tslib_6139","Import emit helpers from 'tslib'."),Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2:i(6140,1,"Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using__6140","Auto discovery for typings is enabled in project '{0}'. Running extra resolution pass for module '{1}' using cache location '{2}'."),Parse_in_strict_mode_and_emit_use_strict_for_each_source_file:i(6141,3,"Parse_in_strict_mode_and_emit_use_strict_for_each_source_file_6141",'Parse in strict mode and emit "use strict" for each source file.'),Module_0_was_resolved_to_1_but_jsx_is_not_set:i(6142,1,"Module_0_was_resolved_to_1_but_jsx_is_not_set_6142","Module '{0}' was resolved to '{1}', but '--jsx' is not set."),Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1:i(6144,3,"Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1_6144","Module '{0}' was resolved as locally declared ambient module in file '{1}'."),Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified:i(6145,3,"Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified_6145","Module '{0}' was resolved as ambient module declared in '{1}' since this file was not modified."),Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h:i(6146,3,"Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h_6146","Specify the JSX factory function to use when targeting 'react' JSX emit, e.g. 'React.createElement' or 'h'."),Resolution_for_module_0_was_found_in_cache_from_location_1:i(6147,3,"Resolution_for_module_0_was_found_in_cache_from_location_1_6147","Resolution for module '{0}' was found in cache from location '{1}'."),Directory_0_does_not_exist_skipping_all_lookups_in_it:i(6148,3,"Directory_0_does_not_exist_skipping_all_lookups_in_it_6148","Directory '{0}' does not exist, skipping all lookups in it."),Show_diagnostic_information:i(6149,3,"Show_diagnostic_information_6149","Show diagnostic information."),Show_verbose_diagnostic_information:i(6150,3,"Show_verbose_diagnostic_information_6150","Show verbose diagnostic information."),Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file:i(6151,3,"Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file_6151","Emit a single file with source maps instead of having a separate file."),Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set:i(6152,3,"Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap__6152","Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set."),Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule:i(6153,3,"Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule_6153","Transpile each file as a separate module (similar to 'ts.transpileModule')."),Print_names_of_generated_files_part_of_the_compilation:i(6154,3,"Print_names_of_generated_files_part_of_the_compilation_6154","Print names of generated files part of the compilation."),Print_names_of_files_part_of_the_compilation:i(6155,3,"Print_names_of_files_part_of_the_compilation_6155","Print names of files part of the compilation."),The_locale_used_when_displaying_messages_to_the_user_e_g_en_us:i(6156,3,"The_locale_used_when_displaying_messages_to_the_user_e_g_en_us_6156","The locale used when displaying messages to the user (e.g. 'en-us')"),Do_not_generate_custom_helper_functions_like_extends_in_compiled_output:i(6157,3,"Do_not_generate_custom_helper_functions_like_extends_in_compiled_output_6157","Do not generate custom helper functions like '__extends' in compiled output."),Do_not_include_the_default_library_file_lib_d_ts:i(6158,3,"Do_not_include_the_default_library_file_lib_d_ts_6158","Do not include the default library file (lib.d.ts)."),Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files:i(6159,3,"Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files_6159","Do not add triple-slash references or imported modules to the list of compiled files."),Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files:i(6160,3,"Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files_6160","[Deprecated] Use '--skipLibCheck' instead. Skip type checking of default library declaration files."),List_of_folders_to_include_type_definitions_from:i(6161,3,"List_of_folders_to_include_type_definitions_from_6161","List of folders to include type definitions from."),Disable_size_limitations_on_JavaScript_projects:i(6162,3,"Disable_size_limitations_on_JavaScript_projects_6162","Disable size limitations on JavaScript projects."),The_character_set_of_the_input_files:i(6163,3,"The_character_set_of_the_input_files_6163","The character set of the input files."),Do_not_truncate_error_messages:i(6165,3,"Do_not_truncate_error_messages_6165","Do not truncate error messages."),Output_directory_for_generated_declaration_files:i(6166,3,"Output_directory_for_generated_declaration_files_6166","Output directory for generated declaration files."),A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl:i(6167,3,"A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl_6167","A series of entries which re-map imports to lookup locations relative to the 'baseUrl'."),List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime:i(6168,3,"List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime_6168","List of root folders whose combined content represents the structure of the project at runtime."),Show_all_compiler_options:i(6169,3,"Show_all_compiler_options_6169","Show all compiler options."),Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file:i(6170,3,"Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file_6170","[Deprecated] Use '--outFile' instead. Concatenate and emit output to single file"),Command_line_Options:i(6171,3,"Command_line_Options_6171","Command-line Options"),Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3:i(6179,3,"Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3_6179","Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'."),Enable_all_strict_type_checking_options:i(6180,3,"Enable_all_strict_type_checking_options_6180","Enable all strict type-checking options."),Scoped_package_detected_looking_in_0:i(6182,3,"Scoped_package_detected_looking_in_0_6182","Scoped package detected, looking in '{0}'"),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2:i(6183,3,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_6183","Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}'."),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:i(6184,3,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package__6184","Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}' with Package ID '{3}'."),Enable_strict_checking_of_function_types:i(6186,3,"Enable_strict_checking_of_function_types_6186","Enable strict checking of function types."),Enable_strict_checking_of_property_initialization_in_classes:i(6187,3,"Enable_strict_checking_of_property_initialization_in_classes_6187","Enable strict checking of property initialization in classes."),Numeric_separators_are_not_allowed_here:i(6188,1,"Numeric_separators_are_not_allowed_here_6188","Numeric separators are not allowed here."),Multiple_consecutive_numeric_separators_are_not_permitted:i(6189,1,"Multiple_consecutive_numeric_separators_are_not_permitted_6189","Multiple consecutive numeric separators are not permitted."),Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen:i(6191,3,"Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen_6191","Whether to keep outdated console output in watch mode instead of clearing the screen."),All_imports_in_import_declaration_are_unused:i(6192,1,"All_imports_in_import_declaration_are_unused_6192","All imports in import declaration are unused.",!0),Found_1_error_Watching_for_file_changes:i(6193,3,"Found_1_error_Watching_for_file_changes_6193","Found 1 error. Watching for file changes."),Found_0_errors_Watching_for_file_changes:i(6194,3,"Found_0_errors_Watching_for_file_changes_6194","Found {0} errors. Watching for file changes."),Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols:i(6195,3,"Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols_6195","Resolve 'keyof' to string valued property names only (no numbers or symbols)."),_0_is_declared_but_never_used:i(6196,1,"_0_is_declared_but_never_used_6196","'{0}' is declared but never used.",!0),Include_modules_imported_with_json_extension:i(6197,3,"Include_modules_imported_with_json_extension_6197","Include modules imported with '.json' extension"),All_destructured_elements_are_unused:i(6198,1,"All_destructured_elements_are_unused_6198","All destructured elements are unused.",!0),All_variables_are_unused:i(6199,1,"All_variables_are_unused_6199","All variables are unused.",!0),Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0:i(6200,1,"Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0_6200","Definitions of the following identifiers conflict with those in another file: {0}"),Conflicts_are_in_this_file:i(6201,3,"Conflicts_are_in_this_file_6201","Conflicts are in this file."),Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0:i(6202,1,"Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202","Project references may not form a circular graph. Cycle detected: {0}"),_0_was_also_declared_here:i(6203,3,"_0_was_also_declared_here_6203","'{0}' was also declared here."),and_here:i(6204,3,"and_here_6204","and here."),All_type_parameters_are_unused:i(6205,1,"All_type_parameters_are_unused_6205","All type parameters are unused."),package_json_has_a_typesVersions_field_with_version_specific_path_mappings:i(6206,3,"package_json_has_a_typesVersions_field_with_version_specific_path_mappings_6206","'package.json' has a 'typesVersions' field with version-specific path mappings."),package_json_does_not_have_a_typesVersions_entry_that_matches_version_0:i(6207,3,"package_json_does_not_have_a_typesVersions_entry_that_matches_version_0_6207","'package.json' does not have a 'typesVersions' entry that matches version '{0}'."),package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2:i(6208,3,"package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_ma_6208","'package.json' has a 'typesVersions' entry '{0}' that matches compiler version '{1}', looking for a pattern to match module name '{2}'."),package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range:i(6209,3,"package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range_6209","'package.json' has a 'typesVersions' entry '{0}' that is not a valid semver range."),An_argument_for_0_was_not_provided:i(6210,3,"An_argument_for_0_was_not_provided_6210","An argument for '{0}' was not provided."),An_argument_matching_this_binding_pattern_was_not_provided:i(6211,3,"An_argument_matching_this_binding_pattern_was_not_provided_6211","An argument matching this binding pattern was not provided."),Did_you_mean_to_call_this_expression:i(6212,3,"Did_you_mean_to_call_this_expression_6212","Did you mean to call this expression?"),Did_you_mean_to_use_new_with_this_expression:i(6213,3,"Did_you_mean_to_use_new_with_this_expression_6213","Did you mean to use 'new' with this expression?"),Enable_strict_bind_call_and_apply_methods_on_functions:i(6214,3,"Enable_strict_bind_call_and_apply_methods_on_functions_6214","Enable strict 'bind', 'call', and 'apply' methods on functions."),Using_compiler_options_of_project_reference_redirect_0:i(6215,3,"Using_compiler_options_of_project_reference_redirect_0_6215","Using compiler options of project reference redirect '{0}'."),Found_1_error:i(6216,3,"Found_1_error_6216","Found 1 error."),Found_0_errors:i(6217,3,"Found_0_errors_6217","Found {0} errors."),Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2:i(6218,3,"Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2_6218","======== Module name '{0}' was successfully resolved to '{1}' with Package ID '{2}'. ========"),Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3:i(6219,3,"Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3_6219","======== Type reference directive '{0}' was successfully resolved to '{1}' with Package ID '{2}', primary: {3}. ========"),package_json_had_a_falsy_0_field:i(6220,3,"package_json_had_a_falsy_0_field_6220","'package.json' had a falsy '{0}' field."),Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects:i(6221,3,"Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects_6221","Disable use of source files instead of declaration files from referenced projects."),Emit_class_fields_with_Define_instead_of_Set:i(6222,3,"Emit_class_fields_with_Define_instead_of_Set_6222","Emit class fields with Define instead of Set."),Generates_a_CPU_profile:i(6223,3,"Generates_a_CPU_profile_6223","Generates a CPU profile."),Disable_solution_searching_for_this_project:i(6224,3,"Disable_solution_searching_for_this_project_6224","Disable solution searching for this project."),Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling_UseFsEvents_UseFsEventsOnParentDirectory:i(6225,3,"Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_Dynami_6225","Specify strategy for watching file: 'FixedPollingInterval' (default), 'PriorityPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling', 'UseFsEvents', 'UseFsEventsOnParentDirectory'."),Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively_Colon_UseFsEvents_default_FixedPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling:i(6226,3,"Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively__6226","Specify strategy for watching directory on platforms that don't support recursive watching natively: 'UseFsEvents' (default), 'FixedPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling'."),Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_FixedInterval_default_PriorityInterval_DynamicPriority_FixedChunkSize:i(6227,3,"Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_6227","Specify strategy for creating a polling watch when it fails to create using file system events: 'FixedInterval' (default), 'PriorityInterval', 'DynamicPriority', 'FixedChunkSize'."),Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3:i(6229,1,"Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3_6229","Tag '{0}' expects at least '{1}' arguments, but the JSX factory '{2}' provides at most '{3}'."),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line:i(6230,1,"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line_6230","Option '{0}' can only be specified in 'tsconfig.json' file or set to 'false' or 'null' on command line."),Could_not_resolve_the_path_0_with_the_extensions_Colon_1:i(6231,1,"Could_not_resolve_the_path_0_with_the_extensions_Colon_1_6231","Could not resolve the path '{0}' with the extensions: {1}."),Declaration_augments_declaration_in_another_file_This_cannot_be_serialized:i(6232,1,"Declaration_augments_declaration_in_another_file_This_cannot_be_serialized_6232","Declaration augments declaration in another file. This cannot be serialized."),This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file:i(6233,1,"This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_fil_6233","This is the declaration being augmented. Consider moving the augmenting declaration into the same file."),This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without:i(6234,1,"This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without_6234","This expression is not callable because it is a 'get' accessor. Did you mean to use it without '()'?"),Disable_loading_referenced_projects:i(6235,3,"Disable_loading_referenced_projects_6235","Disable loading referenced projects."),Arguments_for_the_rest_parameter_0_were_not_provided:i(6236,1,"Arguments_for_the_rest_parameter_0_were_not_provided_6236","Arguments for the rest parameter '{0}' were not provided."),Generates_an_event_trace_and_a_list_of_types:i(6237,3,"Generates_an_event_trace_and_a_list_of_types_6237","Generates an event trace and a list of types."),Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react:i(6238,1,"Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react_6238","Specify the module specifier to be used to import the 'jsx' and 'jsxs' factory functions from. eg, react"),File_0_exists_according_to_earlier_cached_lookups:i(6239,3,"File_0_exists_according_to_earlier_cached_lookups_6239","File '{0}' exists according to earlier cached lookups."),File_0_does_not_exist_according_to_earlier_cached_lookups:i(6240,3,"File_0_does_not_exist_according_to_earlier_cached_lookups_6240","File '{0}' does not exist according to earlier cached lookups."),Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1:i(6241,3,"Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1_6241","Resolution for type reference directive '{0}' was found in cache from location '{1}'."),Resolving_type_reference_directive_0_containing_file_1:i(6242,3,"Resolving_type_reference_directive_0_containing_file_1_6242","======== Resolving type reference directive '{0}', containing file '{1}'. ========"),Interpret_optional_property_types_as_written_rather_than_adding_undefined:i(6243,3,"Interpret_optional_property_types_as_written_rather_than_adding_undefined_6243","Interpret optional property types as written, rather than adding 'undefined'."),Modules:i(6244,3,"Modules_6244","Modules"),File_Management:i(6245,3,"File_Management_6245","File Management"),Emit:i(6246,3,"Emit_6246","Emit"),JavaScript_Support:i(6247,3,"JavaScript_Support_6247","JavaScript Support"),Type_Checking:i(6248,3,"Type_Checking_6248","Type Checking"),Editor_Support:i(6249,3,"Editor_Support_6249","Editor Support"),Watch_and_Build_Modes:i(6250,3,"Watch_and_Build_Modes_6250","Watch and Build Modes"),Compiler_Diagnostics:i(6251,3,"Compiler_Diagnostics_6251","Compiler Diagnostics"),Interop_Constraints:i(6252,3,"Interop_Constraints_6252","Interop Constraints"),Backwards_Compatibility:i(6253,3,"Backwards_Compatibility_6253","Backwards Compatibility"),Language_and_Environment:i(6254,3,"Language_and_Environment_6254","Language and Environment"),Projects:i(6255,3,"Projects_6255","Projects"),Output_Formatting:i(6256,3,"Output_Formatting_6256","Output Formatting"),Completeness:i(6257,3,"Completeness_6257","Completeness"),_0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file:i(6258,1,"_0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file_6258","'{0}' should be set inside the 'compilerOptions' object of the config json file"),Found_1_error_in_1:i(6259,3,"Found_1_error_in_1_6259","Found 1 error in {1}"),Found_0_errors_in_the_same_file_starting_at_Colon_1:i(6260,3,"Found_0_errors_in_the_same_file_starting_at_Colon_1_6260","Found {0} errors in the same file, starting at: {1}"),Found_0_errors_in_1_files:i(6261,3,"Found_0_errors_in_1_files_6261","Found {0} errors in {1} files."),File_name_0_has_a_1_extension_looking_up_2_instead:i(6262,3,"File_name_0_has_a_1_extension_looking_up_2_instead_6262","File name '{0}' has a '{1}' extension - looking up '{2}' instead."),Module_0_was_resolved_to_1_but_allowArbitraryExtensions_is_not_set:i(6263,1,"Module_0_was_resolved_to_1_but_allowArbitraryExtensions_is_not_set_6263","Module '{0}' was resolved to '{1}', but '--allowArbitraryExtensions' is not set."),Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present:i(6264,3,"Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present_6264","Enable importing files with any extension, provided a declaration file is present."),Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve:i(6270,3,"Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve_6270","Directory '{0}' has no containing package.json scope. Imports will not resolve."),Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1:i(6271,3,"Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6271","Import specifier '{0}' does not exist in package.json scope at path '{1}'."),Invalid_import_specifier_0_has_no_possible_resolutions:i(6272,3,"Invalid_import_specifier_0_has_no_possible_resolutions_6272","Invalid import specifier '{0}' has no possible resolutions."),package_json_scope_0_has_no_imports_defined:i(6273,3,"package_json_scope_0_has_no_imports_defined_6273","package.json scope '{0}' has no imports defined."),package_json_scope_0_explicitly_maps_specifier_1_to_null:i(6274,3,"package_json_scope_0_explicitly_maps_specifier_1_to_null_6274","package.json scope '{0}' explicitly maps specifier '{1}' to null."),package_json_scope_0_has_invalid_type_for_target_of_specifier_1:i(6275,3,"package_json_scope_0_has_invalid_type_for_target_of_specifier_1_6275","package.json scope '{0}' has invalid type for target of specifier '{1}'"),Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1:i(6276,3,"Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6276","Export specifier '{0}' does not exist in package.json scope at path '{1}'."),Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_if_npm_library_needs_configuration_update:i(6277,3,"Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_i_6277","Resolution of non-relative name failed; trying with modern Node resolution features disabled to see if npm library needs configuration update."),There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The_1_library_may_need_to_update_its_package_json_or_typings:i(6278,3,"There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The__6278",`There are types at '{0}', but this result could not be resolved when respecting package.json "exports". The '{1}' library may need to update its package.json or typings.`),Enable_project_compilation:i(6302,3,"Enable_project_compilation_6302","Enable project compilation"),Composite_projects_may_not_disable_declaration_emit:i(6304,1,"Composite_projects_may_not_disable_declaration_emit_6304","Composite projects may not disable declaration emit."),Output_file_0_has_not_been_built_from_source_file_1:i(6305,1,"Output_file_0_has_not_been_built_from_source_file_1_6305","Output file '{0}' has not been built from source file '{1}'."),Referenced_project_0_must_have_setting_composite_Colon_true:i(6306,1,"Referenced_project_0_must_have_setting_composite_Colon_true_6306",`Referenced project '{0}' must have setting "composite": true.`),File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_include_pattern:i(6307,1,"File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_includ_6307","File '{0}' is not listed within the file list of project '{1}'. Projects must list all files or use an 'include' pattern."),Cannot_prepend_project_0_because_it_does_not_have_outFile_set:i(6308,1,"Cannot_prepend_project_0_because_it_does_not_have_outFile_set_6308","Cannot prepend project '{0}' because it does not have 'outFile' set"),Output_file_0_from_project_1_does_not_exist:i(6309,1,"Output_file_0_from_project_1_does_not_exist_6309","Output file '{0}' from project '{1}' does not exist"),Referenced_project_0_may_not_disable_emit:i(6310,1,"Referenced_project_0_may_not_disable_emit_6310","Referenced project '{0}' may not disable emit."),Project_0_is_out_of_date_because_output_1_is_older_than_input_2:i(6350,3,"Project_0_is_out_of_date_because_output_1_is_older_than_input_2_6350","Project '{0}' is out of date because output '{1}' is older than input '{2}'"),Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2:i(6351,3,"Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2_6351","Project '{0}' is up to date because newest input '{1}' is older than output '{2}'"),Project_0_is_out_of_date_because_output_file_1_does_not_exist:i(6352,3,"Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352","Project '{0}' is out of date because output file '{1}' does not exist"),Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date:i(6353,3,"Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353","Project '{0}' is out of date because its dependency '{1}' is out of date"),Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies:i(6354,3,"Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354","Project '{0}' is up to date with .d.ts files from its dependencies"),Projects_in_this_build_Colon_0:i(6355,3,"Projects_in_this_build_Colon_0_6355","Projects in this build: {0}"),A_non_dry_build_would_delete_the_following_files_Colon_0:i(6356,3,"A_non_dry_build_would_delete_the_following_files_Colon_0_6356","A non-dry build would delete the following files: {0}"),A_non_dry_build_would_build_project_0:i(6357,3,"A_non_dry_build_would_build_project_0_6357","A non-dry build would build project '{0}'"),Building_project_0:i(6358,3,"Building_project_0_6358","Building project '{0}'..."),Updating_output_timestamps_of_project_0:i(6359,3,"Updating_output_timestamps_of_project_0_6359","Updating output timestamps of project '{0}'..."),Project_0_is_up_to_date:i(6361,3,"Project_0_is_up_to_date_6361","Project '{0}' is up to date"),Skipping_build_of_project_0_because_its_dependency_1_has_errors:i(6362,3,"Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362","Skipping build of project '{0}' because its dependency '{1}' has errors"),Project_0_can_t_be_built_because_its_dependency_1_has_errors:i(6363,3,"Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363","Project '{0}' can't be built because its dependency '{1}' has errors"),Build_one_or_more_projects_and_their_dependencies_if_out_of_date:i(6364,3,"Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364","Build one or more projects and their dependencies, if out of date"),Delete_the_outputs_of_all_projects:i(6365,3,"Delete_the_outputs_of_all_projects_6365","Delete the outputs of all projects."),Show_what_would_be_built_or_deleted_if_specified_with_clean:i(6367,3,"Show_what_would_be_built_or_deleted_if_specified_with_clean_6367","Show what would be built (or deleted, if specified with '--clean')"),Option_build_must_be_the_first_command_line_argument:i(6369,1,"Option_build_must_be_the_first_command_line_argument_6369","Option '--build' must be the first command line argument."),Options_0_and_1_cannot_be_combined:i(6370,1,"Options_0_and_1_cannot_be_combined_6370","Options '{0}' and '{1}' cannot be combined."),Updating_unchanged_output_timestamps_of_project_0:i(6371,3,"Updating_unchanged_output_timestamps_of_project_0_6371","Updating unchanged output timestamps of project '{0}'..."),Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed:i(6372,3,"Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed_6372","Project '{0}' is out of date because output of its dependency '{1}' has changed"),Updating_output_of_project_0:i(6373,3,"Updating_output_of_project_0_6373","Updating output of project '{0}'..."),A_non_dry_build_would_update_timestamps_for_output_of_project_0:i(6374,3,"A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374","A non-dry build would update timestamps for output of project '{0}'"),A_non_dry_build_would_update_output_of_project_0:i(6375,3,"A_non_dry_build_would_update_output_of_project_0_6375","A non-dry build would update output of project '{0}'"),Cannot_update_output_of_project_0_because_there_was_error_reading_file_1:i(6376,3,"Cannot_update_output_of_project_0_because_there_was_error_reading_file_1_6376","Cannot update output of project '{0}' because there was error reading file '{1}'"),Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1:i(6377,1,"Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1_6377","Cannot write file '{0}' because it will overwrite '.tsbuildinfo' file generated by referenced project '{1}'"),Composite_projects_may_not_disable_incremental_compilation:i(6379,1,"Composite_projects_may_not_disable_incremental_compilation_6379","Composite projects may not disable incremental compilation."),Specify_file_to_store_incremental_compilation_information:i(6380,3,"Specify_file_to_store_incremental_compilation_information_6380","Specify file to store incremental compilation information"),Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2:i(6381,3,"Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_curren_6381","Project '{0}' is out of date because output for it was generated with version '{1}' that differs with current version '{2}'"),Skipping_build_of_project_0_because_its_dependency_1_was_not_built:i(6382,3,"Skipping_build_of_project_0_because_its_dependency_1_was_not_built_6382","Skipping build of project '{0}' because its dependency '{1}' was not built"),Project_0_can_t_be_built_because_its_dependency_1_was_not_built:i(6383,3,"Project_0_can_t_be_built_because_its_dependency_1_was_not_built_6383","Project '{0}' can't be built because its dependency '{1}' was not built"),Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:i(6384,3,"Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_di_6384","Have recompiles in '--incremental' and '--watch' assume that changes within a file will only affect files directly depending on it."),_0_is_deprecated:i(6385,2,"_0_is_deprecated_6385","'{0}' is deprecated.",void 0,void 0,!0),Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_native_implementation_of_the_Web_Performance_API_could_not_be_found:i(6386,3,"Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_nativ_6386","Performance timings for '--diagnostics' or '--extendedDiagnostics' are not available in this session. A native implementation of the Web Performance API could not be found."),The_signature_0_of_1_is_deprecated:i(6387,2,"The_signature_0_of_1_is_deprecated_6387","The signature '{0}' of '{1}' is deprecated.",void 0,void 0,!0),Project_0_is_being_forcibly_rebuilt:i(6388,3,"Project_0_is_being_forcibly_rebuilt_6388","Project '{0}' is being forcibly rebuilt"),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved:i(6389,3,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved_6389","Reusing resolution of module '{0}' from '{1}' of old program, it was not resolved."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2:i(6390,3,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved__6390","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was successfully resolved to '{2}'."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:i(6391,3,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved__6391","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was successfully resolved to '{2}' with Package ID '{3}'."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved:i(6392,3,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved_6392","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was not resolved."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3:i(6393,3,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_6393","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}'."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4:i(6394,3,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_6394","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}' with Package ID '{4}'."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_not_resolved:i(6395,3,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_not_resolved_6395","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was not resolved."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3:i(6396,3,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6396","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}'."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4:i(6397,3,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6397","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}' with Package ID '{4}'."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_resolved:i(6398,3,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_re_6398","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was not resolved."),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitted:i(6399,3,"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitte_6399","Project '{0}' is out of date because buildinfo file '{1}' indicates that some of the changes were not emitted"),Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_files:i(6400,3,"Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_fil_6400","Project '{0}' is up to date but needs to update timestamps of output files that are older than input files"),Project_0_is_out_of_date_because_there_was_error_reading_file_1:i(6401,3,"Project_0_is_out_of_date_because_there_was_error_reading_file_1_6401","Project '{0}' is out of date because there was error reading file '{1}'"),Resolving_in_0_mode_with_conditions_1:i(6402,3,"Resolving_in_0_mode_with_conditions_1_6402","Resolving in {0} mode with conditions {1}."),Matched_0_condition_1:i(6403,3,"Matched_0_condition_1_6403","Matched '{0}' condition '{1}'."),Using_0_subpath_1_with_target_2:i(6404,3,"Using_0_subpath_1_with_target_2_6404","Using '{0}' subpath '{1}' with target '{2}'."),Saw_non_matching_condition_0:i(6405,3,"Saw_non_matching_condition_0_6405","Saw non-matching condition '{0}'."),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions:i(6406,3,"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions_6406","Project '{0}' is out of date because buildinfo file '{1}' indicates there is change in compilerOptions"),Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noEmit_or_emitDeclarationOnly_to_be_set:i(6407,3,"Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noE_6407","Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set."),Use_the_package_json_exports_field_when_resolving_package_imports:i(6408,3,"Use_the_package_json_exports_field_when_resolving_package_imports_6408","Use the package.json 'exports' field when resolving package imports."),Use_the_package_json_imports_field_when_resolving_imports:i(6409,3,"Use_the_package_json_imports_field_when_resolving_imports_6409","Use the package.json 'imports' field when resolving imports."),Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports:i(6410,3,"Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports_6410","Conditions to set in addition to the resolver-specific defaults when resolving imports."),true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false:i(6411,3,"true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false_6411","`true` when 'moduleResolution' is 'node16', 'nodenext', or 'bundler'; otherwise `false`."),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_but_not_any_more:i(6412,3,"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_6412","Project '{0}' is out of date because buildinfo file '{1}' indicates that file '{2}' was root file of compilation but not any more."),Entering_conditional_exports:i(6413,3,"Entering_conditional_exports_6413","Entering conditional exports."),Resolved_under_condition_0:i(6414,3,"Resolved_under_condition_0_6414","Resolved under condition '{0}'."),Failed_to_resolve_under_condition_0:i(6415,3,"Failed_to_resolve_under_condition_0_6415","Failed to resolve under condition '{0}'."),Exiting_conditional_exports:i(6416,3,"Exiting_conditional_exports_6416","Exiting conditional exports."),The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1:i(6500,3,"The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1_6500","The expected type comes from property '{0}' which is declared here on type '{1}'"),The_expected_type_comes_from_this_index_signature:i(6501,3,"The_expected_type_comes_from_this_index_signature_6501","The expected type comes from this index signature."),The_expected_type_comes_from_the_return_type_of_this_signature:i(6502,3,"The_expected_type_comes_from_the_return_type_of_this_signature_6502","The expected type comes from the return type of this signature."),Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing:i(6503,3,"Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing_6503","Print names of files that are part of the compilation and then stop processing."),File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option:i(6504,1,"File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option_6504","File '{0}' is a JavaScript file. Did you mean to enable the 'allowJs' option?"),Print_names_of_files_and_the_reason_they_are_part_of_the_compilation:i(6505,3,"Print_names_of_files_and_the_reason_they_are_part_of_the_compilation_6505","Print names of files and the reason they are part of the compilation."),Consider_adding_a_declare_modifier_to_this_class:i(6506,3,"Consider_adding_a_declare_modifier_to_this_class_6506","Consider adding a 'declare' modifier to this class."),Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these_files:i(6600,3,"Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these__6600","Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files."),Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export:i(6601,3,"Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export_6601","Allow 'import x from y' when a module doesn't have a default export."),Allow_accessing_UMD_globals_from_modules:i(6602,3,"Allow_accessing_UMD_globals_from_modules_6602","Allow accessing UMD globals from modules."),Disable_error_reporting_for_unreachable_code:i(6603,3,"Disable_error_reporting_for_unreachable_code_6603","Disable error reporting for unreachable code."),Disable_error_reporting_for_unused_labels:i(6604,3,"Disable_error_reporting_for_unused_labels_6604","Disable error reporting for unused labels."),Ensure_use_strict_is_always_emitted:i(6605,3,"Ensure_use_strict_is_always_emitted_6605","Ensure 'use strict' is always emitted."),Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:i(6606,3,"Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_wi_6606","Have recompiles in projects that use 'incremental' and 'watch' mode assume that changes within a file will only affect files directly depending on it."),Specify_the_base_directory_to_resolve_non_relative_module_names:i(6607,3,"Specify_the_base_directory_to_resolve_non_relative_module_names_6607","Specify the base directory to resolve non-relative module names."),No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files:i(6608,3,"No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files_6608","No longer supported. In early versions, manually set the text encoding for reading files."),Enable_error_reporting_in_type_checked_JavaScript_files:i(6609,3,"Enable_error_reporting_in_type_checked_JavaScript_files_6609","Enable error reporting in type-checked JavaScript files."),Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references:i(6611,3,"Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references_6611","Enable constraints that allow a TypeScript project to be used with project references."),Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project:i(6612,3,"Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project_6612","Generate .d.ts files from TypeScript and JavaScript files in your project."),Specify_the_output_directory_for_generated_declaration_files:i(6613,3,"Specify_the_output_directory_for_generated_declaration_files_6613","Specify the output directory for generated declaration files."),Create_sourcemaps_for_d_ts_files:i(6614,3,"Create_sourcemaps_for_d_ts_files_6614","Create sourcemaps for d.ts files."),Output_compiler_performance_information_after_building:i(6615,3,"Output_compiler_performance_information_after_building_6615","Output compiler performance information after building."),Disables_inference_for_type_acquisition_by_looking_at_filenames_in_a_project:i(6616,3,"Disables_inference_for_type_acquisition_by_looking_at_filenames_in_a_project_6616","Disables inference for type acquisition by looking at filenames in a project."),Reduce_the_number_of_projects_loaded_automatically_by_TypeScript:i(6617,3,"Reduce_the_number_of_projects_loaded_automatically_by_TypeScript_6617","Reduce the number of projects loaded automatically by TypeScript."),Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server:i(6618,3,"Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server_6618","Remove the 20mb cap on total source code size for JavaScript files in the TypeScript language server."),Opt_a_project_out_of_multi_project_reference_checking_when_editing:i(6619,3,"Opt_a_project_out_of_multi_project_reference_checking_when_editing_6619","Opt a project out of multi-project reference checking when editing."),Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects:i(6620,3,"Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects_6620","Disable preferring source files instead of declaration files when referencing composite projects."),Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration:i(6621,3,"Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration_6621","Emit more compliant, but verbose and less performant JavaScript for iteration."),Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files:i(6622,3,"Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files_6622","Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files."),Only_output_d_ts_files_and_not_JavaScript_files:i(6623,3,"Only_output_d_ts_files_and_not_JavaScript_files_6623","Only output d.ts files and not JavaScript files."),Emit_design_type_metadata_for_decorated_declarations_in_source_files:i(6624,3,"Emit_design_type_metadata_for_decorated_declarations_in_source_files_6624","Emit design-type metadata for decorated declarations in source files."),Disable_the_type_acquisition_for_JavaScript_projects:i(6625,3,"Disable_the_type_acquisition_for_JavaScript_projects_6625","Disable the type acquisition for JavaScript projects"),Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheticDefaultImports_for_type_compatibility:i(6626,3,"Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheti_6626","Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility."),Filters_results_from_the_include_option:i(6627,3,"Filters_results_from_the_include_option_6627","Filters results from the `include` option."),Remove_a_list_of_directories_from_the_watch_process:i(6628,3,"Remove_a_list_of_directories_from_the_watch_process_6628","Remove a list of directories from the watch process."),Remove_a_list_of_files_from_the_watch_mode_s_processing:i(6629,3,"Remove_a_list_of_files_from_the_watch_mode_s_processing_6629","Remove a list of files from the watch mode's processing."),Enable_experimental_support_for_legacy_experimental_decorators:i(6630,3,"Enable_experimental_support_for_legacy_experimental_decorators_6630","Enable experimental support for legacy experimental decorators."),Print_files_read_during_the_compilation_including_why_it_was_included:i(6631,3,"Print_files_read_during_the_compilation_including_why_it_was_included_6631","Print files read during the compilation including why it was included."),Output_more_detailed_compiler_performance_information_after_building:i(6632,3,"Output_more_detailed_compiler_performance_information_after_building_6632","Output more detailed compiler performance information after building."),Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_are_inherited:i(6633,3,"Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_a_6633","Specify one or more path or node module references to base configuration files from which settings are inherited."),Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers:i(6634,3,"Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers_6634","Specify what approach the watcher should use if the system runs out of native file watchers."),Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include:i(6635,3,"Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include_6635","Include a list of files. This does not support glob patterns, as opposed to `include`."),Build_all_projects_including_those_that_appear_to_be_up_to_date:i(6636,3,"Build_all_projects_including_those_that_appear_to_be_up_to_date_6636","Build all projects, including those that appear to be up to date."),Ensure_that_casing_is_correct_in_imports:i(6637,3,"Ensure_that_casing_is_correct_in_imports_6637","Ensure that casing is correct in imports."),Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging:i(6638,3,"Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging_6638","Emit a v8 CPU profile of the compiler run for debugging."),Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file:i(6639,3,"Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file_6639","Allow importing helper functions from tslib once per project, instead of including them per-file."),Specify_a_list_of_glob_patterns_that_match_files_to_be_included_in_compilation:i(6641,3,"Specify_a_list_of_glob_patterns_that_match_files_to_be_included_in_compilation_6641","Specify a list of glob patterns that match files to be included in compilation."),Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects:i(6642,3,"Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects_6642","Save .tsbuildinfo files to allow for incremental compilation of projects."),Include_sourcemap_files_inside_the_emitted_JavaScript:i(6643,3,"Include_sourcemap_files_inside_the_emitted_JavaScript_6643","Include sourcemap files inside the emitted JavaScript."),Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript:i(6644,3,"Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript_6644","Include source code in the sourcemaps inside the emitted JavaScript."),Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports:i(6645,3,"Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports_6645","Ensure that each file can be safely transpiled without relying on other imports."),Specify_what_JSX_code_is_generated:i(6646,3,"Specify_what_JSX_code_is_generated_6646","Specify what JSX code is generated."),Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h:i(6647,3,"Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h_6647","Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'."),Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragment_or_Fragment:i(6648,3,"Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragme_6648","Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'."),Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Asterisk:i(6649,3,"Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Ast_6649","Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'."),Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option:i(6650,3,"Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option_6650","Make keyof only return strings instead of string, numbers or symbols. Legacy option."),Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment:i(6651,3,"Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment_6651","Specify a set of bundled library declaration files that describe the target runtime environment."),Print_the_names_of_emitted_files_after_a_compilation:i(6652,3,"Print_the_names_of_emitted_files_after_a_compilation_6652","Print the names of emitted files after a compilation."),Print_all_of_the_files_read_during_the_compilation:i(6653,3,"Print_all_of_the_files_read_during_the_compilation_6653","Print all of the files read during the compilation."),Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit:i(6654,3,"Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit_6654","Set the language of the messaging from TypeScript. This does not affect emit."),Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations:i(6655,3,"Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6655","Specify the location where debugger should locate map files instead of generated locations."),Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicable_with_allowJs:i(6656,3,"Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicabl_6656","Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'."),Specify_what_module_code_is_generated:i(6657,3,"Specify_what_module_code_is_generated_6657","Specify what module code is generated."),Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier:i(6658,3,"Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier_6658","Specify how TypeScript looks up a file from a given module specifier."),Set_the_newline_character_for_emitting_files:i(6659,3,"Set_the_newline_character_for_emitting_files_6659","Set the newline character for emitting files."),Disable_emitting_files_from_a_compilation:i(6660,3,"Disable_emitting_files_from_a_compilation_6660","Disable emitting files from a compilation."),Disable_generating_custom_helper_functions_like_extends_in_compiled_output:i(6661,3,"Disable_generating_custom_helper_functions_like_extends_in_compiled_output_6661","Disable generating custom helper functions like '__extends' in compiled output."),Disable_emitting_files_if_any_type_checking_errors_are_reported:i(6662,3,"Disable_emitting_files_if_any_type_checking_errors_are_reported_6662","Disable emitting files if any type checking errors are reported."),Disable_truncating_types_in_error_messages:i(6663,3,"Disable_truncating_types_in_error_messages_6663","Disable truncating types in error messages."),Enable_error_reporting_for_fallthrough_cases_in_switch_statements:i(6664,3,"Enable_error_reporting_for_fallthrough_cases_in_switch_statements_6664","Enable error reporting for fallthrough cases in switch statements."),Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type:i(6665,3,"Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type_6665","Enable error reporting for expressions and declarations with an implied 'any' type."),Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier:i(6666,3,"Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier_6666","Ensure overriding members in derived classes are marked with an override modifier."),Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function:i(6667,3,"Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function_6667","Enable error reporting for codepaths that do not explicitly return in a function."),Enable_error_reporting_when_this_is_given_the_type_any:i(6668,3,"Enable_error_reporting_when_this_is_given_the_type_any_6668","Enable error reporting when 'this' is given the type 'any'."),Disable_adding_use_strict_directives_in_emitted_JavaScript_files:i(6669,3,"Disable_adding_use_strict_directives_in_emitted_JavaScript_files_6669","Disable adding 'use strict' directives in emitted JavaScript files."),Disable_including_any_library_files_including_the_default_lib_d_ts:i(6670,3,"Disable_including_any_library_files_including_the_default_lib_d_ts_6670","Disable including any library files, including the default lib.d.ts."),Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type:i(6671,3,"Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type_6671","Enforces using indexed accessors for keys declared using an indexed type."),Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add_to_a_project:i(6672,3,"Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add__6672","Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project."),Disable_strict_checking_of_generic_signatures_in_function_types:i(6673,3,"Disable_strict_checking_of_generic_signatures_in_function_types_6673","Disable strict checking of generic signatures in function types."),Add_undefined_to_a_type_when_accessed_using_an_index:i(6674,3,"Add_undefined_to_a_type_when_accessed_using_an_index_6674","Add 'undefined' to a type when accessed using an index."),Enable_error_reporting_when_local_variables_aren_t_read:i(6675,3,"Enable_error_reporting_when_local_variables_aren_t_read_6675","Enable error reporting when local variables aren't read."),Raise_an_error_when_a_function_parameter_isn_t_read:i(6676,3,"Raise_an_error_when_a_function_parameter_isn_t_read_6676","Raise an error when a function parameter isn't read."),Deprecated_setting_Use_outFile_instead:i(6677,3,"Deprecated_setting_Use_outFile_instead_6677","Deprecated setting. Use 'outFile' instead."),Specify_an_output_folder_for_all_emitted_files:i(6678,3,"Specify_an_output_folder_for_all_emitted_files_6678","Specify an output folder for all emitted files."),Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designates_a_file_that_bundles_all_d_ts_output:i(6679,3,"Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designa_6679","Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output."),Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations:i(6680,3,"Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations_6680","Specify a set of entries that re-map imports to additional lookup locations."),Specify_a_list_of_language_service_plugins_to_include:i(6681,3,"Specify_a_list_of_language_service_plugins_to_include_6681","Specify a list of language service plugins to include."),Disable_erasing_const_enum_declarations_in_generated_code:i(6682,3,"Disable_erasing_const_enum_declarations_in_generated_code_6682","Disable erasing 'const enum' declarations in generated code."),Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node:i(6683,3,"Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node_6683","Disable resolving symlinks to their realpath. This correlates to the same flag in node."),Disable_wiping_the_console_in_watch_mode:i(6684,3,"Disable_wiping_the_console_in_watch_mode_6684","Disable wiping the console in watch mode."),Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read:i(6685,3,"Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read_6685","Enable color and formatting in TypeScript's output to make compiler errors easier to read."),Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit:i(6686,3,"Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit_6686","Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit."),Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references:i(6687,3,"Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references_6687","Specify an array of objects that specify paths for projects. Used in project references."),Disable_emitting_comments:i(6688,3,"Disable_emitting_comments_6688","Disable emitting comments."),Enable_importing_json_files:i(6689,3,"Enable_importing_json_files_6689","Enable importing .json files."),Specify_the_root_folder_within_your_source_files:i(6690,3,"Specify_the_root_folder_within_your_source_files_6690","Specify the root folder within your source files."),Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules:i(6691,3,"Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules_6691","Allow multiple folders to be treated as one when resolving modules."),Skip_type_checking_d_ts_files_that_are_included_with_TypeScript:i(6692,3,"Skip_type_checking_d_ts_files_that_are_included_with_TypeScript_6692","Skip type checking .d.ts files that are included with TypeScript."),Skip_type_checking_all_d_ts_files:i(6693,3,"Skip_type_checking_all_d_ts_files_6693","Skip type checking all .d.ts files."),Create_source_map_files_for_emitted_JavaScript_files:i(6694,3,"Create_source_map_files_for_emitted_JavaScript_files_6694","Create source map files for emitted JavaScript files."),Specify_the_root_path_for_debuggers_to_find_the_reference_source_code:i(6695,3,"Specify_the_root_path_for_debuggers_to_find_the_reference_source_code_6695","Specify the root path for debuggers to find the reference source code."),Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function:i(6697,3,"Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function_6697","Check that the arguments for 'bind', 'call', and 'apply' methods match the original function."),When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible:i(6698,3,"When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible_6698","When assigning functions, check to ensure parameters and the return values are subtype-compatible."),When_type_checking_take_into_account_null_and_undefined:i(6699,3,"When_type_checking_take_into_account_null_and_undefined_6699","When type checking, take into account 'null' and 'undefined'."),Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor:i(6700,3,"Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor_6700","Check for class properties that are declared but not set in the constructor."),Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments:i(6701,3,"Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments_6701","Disable emitting declarations that have '@internal' in their JSDoc comments."),Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals:i(6702,3,"Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals_6702","Disable reporting of excess property errors during the creation of object literals."),Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures:i(6703,3,"Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures_6703","Suppress 'noImplicitAny' errors when indexing objects that lack index signatures."),Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively:i(6704,3,"Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_supp_6704","Synchronously call callbacks and update the state of directory watchers on platforms that don`t support recursive watching natively."),Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declarations:i(6705,3,"Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declaratio_6705","Set the JavaScript language version for emitted JavaScript and include compatible library declarations."),Log_paths_used_during_the_moduleResolution_process:i(6706,3,"Log_paths_used_during_the_moduleResolution_process_6706","Log paths used during the 'moduleResolution' process."),Specify_the_path_to_tsbuildinfo_incremental_compilation_file:i(6707,3,"Specify_the_path_to_tsbuildinfo_incremental_compilation_file_6707","Specify the path to .tsbuildinfo incremental compilation file."),Specify_options_for_automatic_acquisition_of_declaration_files:i(6709,3,"Specify_options_for_automatic_acquisition_of_declaration_files_6709","Specify options for automatic acquisition of declaration files."),Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types:i(6710,3,"Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types_6710","Specify multiple folders that act like './node_modules/@types'."),Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file:i(6711,3,"Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file_6711","Specify type package names to be included without being referenced in a source file."),Emit_ECMAScript_standard_compliant_class_fields:i(6712,3,"Emit_ECMAScript_standard_compliant_class_fields_6712","Emit ECMAScript-standard-compliant class fields."),Enable_verbose_logging:i(6713,3,"Enable_verbose_logging_6713","Enable verbose logging."),Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality:i(6714,3,"Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality_6714","Specify how directories are watched on systems that lack recursive file-watching functionality."),Specify_how_the_TypeScript_watch_mode_works:i(6715,3,"Specify_how_the_TypeScript_watch_mode_works_6715","Specify how the TypeScript watch mode works."),Require_undeclared_properties_from_index_signatures_to_use_element_accesses:i(6717,3,"Require_undeclared_properties_from_index_signatures_to_use_element_accesses_6717","Require undeclared properties from index signatures to use element accesses."),Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types:i(6718,3,"Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_6718","Specify emit/checking behavior for imports that are only used for types."),Default_catch_clause_variables_as_unknown_instead_of_any:i(6803,3,"Default_catch_clause_variables_as_unknown_instead_of_any_6803","Default catch clause variables as 'unknown' instead of 'any'."),Do_not_transform_or_elide_any_imports_or_exports_not_marked_as_type_only_ensuring_they_are_written_in_the_output_file_s_format_based_on_the_module_setting:i(6804,3,"Do_not_transform_or_elide_any_imports_or_exports_not_marked_as_type_only_ensuring_they_are_written_i_6804","Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting."),one_of_Colon:i(6900,3,"one_of_Colon_6900","one of:"),one_or_more_Colon:i(6901,3,"one_or_more_Colon_6901","one or more:"),type_Colon:i(6902,3,"type_Colon_6902","type:"),default_Colon:i(6903,3,"default_Colon_6903","default:"),module_system_or_esModuleInterop:i(6904,3,"module_system_or_esModuleInterop_6904",'module === "system" or esModuleInterop'),false_unless_strict_is_set:i(6905,3,"false_unless_strict_is_set_6905","`false`, unless `strict` is set"),false_unless_composite_is_set:i(6906,3,"false_unless_composite_is_set_6906","`false`, unless `composite` is set"),node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified:i(6907,3,"node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified_6907",'`["node_modules", "bower_components", "jspm_packages"]`, plus the value of `outDir` if one is specified.'),if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk:i(6908,3,"if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk_6908",'`[]` if `files` is specified, otherwise `["**/*"]`'),true_if_composite_false_otherwise:i(6909,3,"true_if_composite_false_otherwise_6909","`true` if `composite`, `false` otherwise"),module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node:i(69010,3,"module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node_69010","module === `AMD` or `UMD` or `System` or `ES6`, then `Classic`, Otherwise `Node`"),Computed_from_the_list_of_input_files:i(6911,3,"Computed_from_the_list_of_input_files_6911","Computed from the list of input files"),Platform_specific:i(6912,3,"Platform_specific_6912","Platform specific"),You_can_learn_about_all_of_the_compiler_options_at_0:i(6913,3,"You_can_learn_about_all_of_the_compiler_options_at_0_6913","You can learn about all of the compiler options at {0}"),Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_config_watch_mode_with_Colon:i(6914,3,"Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_conf_6914","Including --watch, -w will start watching the current project for the file changes. Once set, you can config watch mode with:"),Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_trigger_building_composite_projects_which_you_can_learn_more_about_at_0:i(6915,3,"Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_tr_6915","Using --build, -b will make tsc behave more like a build orchestrator than a compiler. This is used to trigger building composite projects which you can learn more about at {0}"),COMMON_COMMANDS:i(6916,3,"COMMON_COMMANDS_6916","COMMON COMMANDS"),ALL_COMPILER_OPTIONS:i(6917,3,"ALL_COMPILER_OPTIONS_6917","ALL COMPILER OPTIONS"),WATCH_OPTIONS:i(6918,3,"WATCH_OPTIONS_6918","WATCH OPTIONS"),BUILD_OPTIONS:i(6919,3,"BUILD_OPTIONS_6919","BUILD OPTIONS"),COMMON_COMPILER_OPTIONS:i(6920,3,"COMMON_COMPILER_OPTIONS_6920","COMMON COMPILER OPTIONS"),COMMAND_LINE_FLAGS:i(6921,3,"COMMAND_LINE_FLAGS_6921","COMMAND LINE FLAGS"),tsc_Colon_The_TypeScript_Compiler:i(6922,3,"tsc_Colon_The_TypeScript_Compiler_6922","tsc: The TypeScript Compiler"),Compiles_the_current_project_tsconfig_json_in_the_working_directory:i(6923,3,"Compiles_the_current_project_tsconfig_json_in_the_working_directory_6923","Compiles the current project (tsconfig.json in the working directory.)"),Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options:i(6924,3,"Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options_6924","Ignoring tsconfig.json, compiles the specified files with default compiler options."),Build_a_composite_project_in_the_working_directory:i(6925,3,"Build_a_composite_project_in_the_working_directory_6925","Build a composite project in the working directory."),Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory:i(6926,3,"Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory_6926","Creates a tsconfig.json with the recommended settings in the working directory."),Compiles_the_TypeScript_project_located_at_the_specified_path:i(6927,3,"Compiles_the_TypeScript_project_located_at_the_specified_path_6927","Compiles the TypeScript project located at the specified path."),An_expanded_version_of_this_information_showing_all_possible_compiler_options:i(6928,3,"An_expanded_version_of_this_information_showing_all_possible_compiler_options_6928","An expanded version of this information, showing all possible compiler options"),Compiles_the_current_project_with_additional_settings:i(6929,3,"Compiles_the_current_project_with_additional_settings_6929","Compiles the current project, with additional settings."),true_for_ES2022_and_above_including_ESNext:i(6930,3,"true_for_ES2022_and_above_including_ESNext_6930","`true` for ES2022 and above, including ESNext."),List_of_file_name_suffixes_to_search_when_resolving_a_module:i(6931,1,"List_of_file_name_suffixes_to_search_when_resolving_a_module_6931","List of file name suffixes to search when resolving a module."),Variable_0_implicitly_has_an_1_type:i(7005,1,"Variable_0_implicitly_has_an_1_type_7005","Variable '{0}' implicitly has an '{1}' type."),Parameter_0_implicitly_has_an_1_type:i(7006,1,"Parameter_0_implicitly_has_an_1_type_7006","Parameter '{0}' implicitly has an '{1}' type."),Member_0_implicitly_has_an_1_type:i(7008,1,"Member_0_implicitly_has_an_1_type_7008","Member '{0}' implicitly has an '{1}' type."),new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type:i(7009,1,"new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009","'new' expression, whose target lacks a construct signature, implicitly has an 'any' type."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:i(7010,1,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010","'{0}', which lacks return-type annotation, implicitly has an '{1}' return type."),Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:i(7011,1,"Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011","Function expression, which lacks return-type annotation, implicitly has an '{0}' return type."),This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation:i(7012,1,"This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation_7012","This overload implicitly returns the type '{0}' because it lacks a return type annotation."),Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:i(7013,1,"Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013","Construct signature, which lacks return-type annotation, implicitly has an 'any' return type."),Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:i(7014,1,"Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7014","Function type, which lacks return-type annotation, implicitly has an '{0}' return type."),Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number:i(7015,1,"Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015","Element implicitly has an 'any' type because index expression is not of type 'number'."),Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type:i(7016,1,"Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type_7016","Could not find a declaration file for module '{0}'. '{1}' implicitly has an 'any' type."),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature:i(7017,1,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_7017","Element implicitly has an 'any' type because type '{0}' has no index signature."),Object_literal_s_property_0_implicitly_has_an_1_type:i(7018,1,"Object_literal_s_property_0_implicitly_has_an_1_type_7018","Object literal's property '{0}' implicitly has an '{1}' type."),Rest_parameter_0_implicitly_has_an_any_type:i(7019,1,"Rest_parameter_0_implicitly_has_an_any_type_7019","Rest parameter '{0}' implicitly has an 'any[]' type."),Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:i(7020,1,"Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020","Call signature, which lacks return-type annotation, implicitly has an 'any' return type."),_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer:i(7022,1,"_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022","'{0}' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer."),_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:i(7023,1,"_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023","'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:i(7024,1,"Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024","Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation:i(7025,1,"Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_retu_7025","Generator implicitly has yield type '{0}' because it does not yield any values. Consider supplying a return type annotation."),JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists:i(7026,1,"JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026","JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists."),Unreachable_code_detected:i(7027,1,"Unreachable_code_detected_7027","Unreachable code detected.",!0),Unused_label:i(7028,1,"Unused_label_7028","Unused label.",!0),Fallthrough_case_in_switch:i(7029,1,"Fallthrough_case_in_switch_7029","Fallthrough case in switch."),Not_all_code_paths_return_a_value:i(7030,1,"Not_all_code_paths_return_a_value_7030","Not all code paths return a value."),Binding_element_0_implicitly_has_an_1_type:i(7031,1,"Binding_element_0_implicitly_has_an_1_type_7031","Binding element '{0}' implicitly has an '{1}' type."),Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation:i(7032,1,"Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation_7032","Property '{0}' implicitly has type 'any', because its set accessor lacks a parameter type annotation."),Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation:i(7033,1,"Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation_7033","Property '{0}' implicitly has type 'any', because its get accessor lacks a return type annotation."),Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined:i(7034,1,"Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined_7034","Variable '{0}' implicitly has type '{1}' in some locations where its type cannot be determined."),Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0:i(7035,1,"Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare__7035","Try `npm i --save-dev @types/{1}` if it exists or add a new declaration (.d.ts) file containing `declare module '{0}';`"),Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0:i(7036,1,"Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0_7036","Dynamic import's specifier must be of type 'string', but here has type '{0}'."),Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports:i(7037,3,"Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for__7037","Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'."),Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead:i(7038,3,"Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cau_7038","Type originates at this import. A namespace-style import cannot be called or constructed, and will cause a failure at runtime. Consider using a default import or import require here instead."),Mapped_object_type_implicitly_has_an_any_template_type:i(7039,1,"Mapped_object_type_implicitly_has_an_any_template_type_7039","Mapped object type implicitly has an 'any' template type."),If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1:i(7040,1,"If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040","If the '{0}' package actually exposes this module, consider sending a pull request to amend 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}'"),The_containing_arrow_function_captures_the_global_value_of_this:i(7041,1,"The_containing_arrow_function_captures_the_global_value_of_this_7041","The containing arrow function captures the global value of 'this'."),Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used:i(7042,1,"Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used_7042","Module '{0}' was resolved to '{1}', but '--resolveJsonModule' is not used."),Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:i(7043,2,"Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7043","Variable '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:i(7044,2,"Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7044","Parameter '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:i(7045,2,"Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045","Member '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage:i(7046,2,"Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage_7046","Variable '{0}' implicitly has type '{1}' in some locations, but a better type may be inferred from usage."),Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:i(7047,2,"Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage_7047","Rest parameter '{0}' implicitly has an 'any[]' type, but a better type may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage:i(7048,2,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage_7048","Property '{0}' implicitly has type 'any', but a better type for its get accessor may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage:i(7049,2,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage_7049","Property '{0}' implicitly has type 'any', but a better type for its set accessor may be inferred from usage."),_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage:i(7050,2,"_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage_7050","'{0}' implicitly has an '{1}' return type, but a better type may be inferred from usage."),Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1:i(7051,1,"Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1_7051","Parameter has a name but no type. Did you mean '{0}: {1}'?"),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1:i(7052,1,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1_7052","Element implicitly has an 'any' type because type '{0}' has no index signature. Did you mean to call '{1}'?"),Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1:i(7053,1,"Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1_7053","Element implicitly has an 'any' type because expression of type '{0}' can't be used to index type '{1}'."),No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1:i(7054,1,"No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1_7054","No index signature with a parameter of type '{0}' was found on type '{1}'."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type:i(7055,1,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type_7055","'{0}', which lacks return-type annotation, implicitly has an '{1}' yield type."),The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed:i(7056,1,"The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_ty_7056","The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed."),yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_type_annotation:i(7057,1,"yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_t_7057","'yield' expression implicitly results in an 'any' type because its containing generator lacks a return-type annotation."),If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_declare_module_1:i(7058,1,"If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_decl_7058","If the '{0}' package actually exposes this module, try adding a new declaration (.d.ts) file containing `declare module '{1}';`"),This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead:i(7059,1,"This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead_7059","This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead."),This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_constraint:i(7060,1,"This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_cons_7060","This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma or explicit constraint."),A_mapped_type_may_not_declare_properties_or_methods:i(7061,1,"A_mapped_type_may_not_declare_properties_or_methods_7061","A mapped type may not declare properties or methods."),You_cannot_rename_this_element:i(8e3,1,"You_cannot_rename_this_element_8000","You cannot rename this element."),You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library:i(8001,1,"You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001","You cannot rename elements that are defined in the standard TypeScript library."),import_can_only_be_used_in_TypeScript_files:i(8002,1,"import_can_only_be_used_in_TypeScript_files_8002","'import ... =' can only be used in TypeScript files."),export_can_only_be_used_in_TypeScript_files:i(8003,1,"export_can_only_be_used_in_TypeScript_files_8003","'export =' can only be used in TypeScript files."),Type_parameter_declarations_can_only_be_used_in_TypeScript_files:i(8004,1,"Type_parameter_declarations_can_only_be_used_in_TypeScript_files_8004","Type parameter declarations can only be used in TypeScript files."),implements_clauses_can_only_be_used_in_TypeScript_files:i(8005,1,"implements_clauses_can_only_be_used_in_TypeScript_files_8005","'implements' clauses can only be used in TypeScript files."),_0_declarations_can_only_be_used_in_TypeScript_files:i(8006,1,"_0_declarations_can_only_be_used_in_TypeScript_files_8006","'{0}' declarations can only be used in TypeScript files."),Type_aliases_can_only_be_used_in_TypeScript_files:i(8008,1,"Type_aliases_can_only_be_used_in_TypeScript_files_8008","Type aliases can only be used in TypeScript files."),The_0_modifier_can_only_be_used_in_TypeScript_files:i(8009,1,"The_0_modifier_can_only_be_used_in_TypeScript_files_8009","The '{0}' modifier can only be used in TypeScript files."),Type_annotations_can_only_be_used_in_TypeScript_files:i(8010,1,"Type_annotations_can_only_be_used_in_TypeScript_files_8010","Type annotations can only be used in TypeScript files."),Type_arguments_can_only_be_used_in_TypeScript_files:i(8011,1,"Type_arguments_can_only_be_used_in_TypeScript_files_8011","Type arguments can only be used in TypeScript files."),Parameter_modifiers_can_only_be_used_in_TypeScript_files:i(8012,1,"Parameter_modifiers_can_only_be_used_in_TypeScript_files_8012","Parameter modifiers can only be used in TypeScript files."),Non_null_assertions_can_only_be_used_in_TypeScript_files:i(8013,1,"Non_null_assertions_can_only_be_used_in_TypeScript_files_8013","Non-null assertions can only be used in TypeScript files."),Type_assertion_expressions_can_only_be_used_in_TypeScript_files:i(8016,1,"Type_assertion_expressions_can_only_be_used_in_TypeScript_files_8016","Type assertion expressions can only be used in TypeScript files."),Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:i(8017,1,"Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0_8017","Octal literal types must use ES2015 syntax. Use the syntax '{0}'."),Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0:i(8018,1,"Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0_8018","Octal literals are not allowed in enums members initializer. Use the syntax '{0}'."),Report_errors_in_js_files:i(8019,3,"Report_errors_in_js_files_8019","Report errors in .js files."),JSDoc_types_can_only_be_used_inside_documentation_comments:i(8020,1,"JSDoc_types_can_only_be_used_inside_documentation_comments_8020","JSDoc types can only be used inside documentation comments."),JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags:i(8021,1,"JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags_8021","JSDoc '@typedef' tag should either have a type annotation or be followed by '@property' or '@member' tags."),JSDoc_0_is_not_attached_to_a_class:i(8022,1,"JSDoc_0_is_not_attached_to_a_class_8022","JSDoc '@{0}' is not attached to a class."),JSDoc_0_1_does_not_match_the_extends_2_clause:i(8023,1,"JSDoc_0_1_does_not_match_the_extends_2_clause_8023","JSDoc '@{0} {1}' does not match the 'extends {2}' clause."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name:i(8024,1,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_8024","JSDoc '@param' tag has name '{0}', but there is no parameter with that name."),Class_declarations_cannot_have_more_than_one_augments_or_extends_tag:i(8025,1,"Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025","Class declarations cannot have more than one '@augments' or '@extends' tag."),Expected_0_type_arguments_provide_these_with_an_extends_tag:i(8026,1,"Expected_0_type_arguments_provide_these_with_an_extends_tag_8026","Expected {0} type arguments; provide these with an '@extends' tag."),Expected_0_1_type_arguments_provide_these_with_an_extends_tag:i(8027,1,"Expected_0_1_type_arguments_provide_these_with_an_extends_tag_8027","Expected {0}-{1} type arguments; provide these with an '@extends' tag."),JSDoc_may_only_appear_in_the_last_parameter_of_a_signature:i(8028,1,"JSDoc_may_only_appear_in_the_last_parameter_of_a_signature_8028","JSDoc '...' may only appear in the last parameter of a signature."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type:i(8029,1,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_h_8029","JSDoc '@param' tag has name '{0}', but there is no parameter with that name. It would match 'arguments' if it had an array type."),The_type_of_a_function_declaration_must_match_the_function_s_signature:i(8030,1,"The_type_of_a_function_declaration_must_match_the_function_s_signature_8030","The type of a function declaration must match the function's signature."),You_cannot_rename_a_module_via_a_global_import:i(8031,1,"You_cannot_rename_a_module_via_a_global_import_8031","You cannot rename a module via a global import."),Qualified_name_0_is_not_allowed_without_a_leading_param_object_1:i(8032,1,"Qualified_name_0_is_not_allowed_without_a_leading_param_object_1_8032","Qualified name '{0}' is not allowed without a leading '@param {object} {1}'."),A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags:i(8033,1,"A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags_8033","A JSDoc '@typedef' comment may not contain multiple '@type' tags."),The_tag_was_first_specified_here:i(8034,1,"The_tag_was_first_specified_here_8034","The tag was first specified here."),You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder:i(8035,1,"You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder_8035","You cannot rename elements that are defined in a 'node_modules' folder."),You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder:i(8036,1,"You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder_8036","You cannot rename elements that are defined in another 'node_modules' folder."),Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files:i(8037,1,"Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files_8037","Type satisfaction expressions can only be used in TypeScript files."),Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export:i(8038,1,"Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export_8038","Decorators may not appear after 'export' or 'export default' if they also appear before 'export'."),Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit:i(9005,1,"Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_9005","Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit."),Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit:i(9006,1,"Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotati_9006","Declaration emit for this file requires using private name '{0}' from module '{1}'. An explicit type annotation may unblock declaration emit."),JSX_attributes_must_only_be_assigned_a_non_empty_expression:i(17e3,1,"JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000","JSX attributes must only be assigned a non-empty 'expression'."),JSX_elements_cannot_have_multiple_attributes_with_the_same_name:i(17001,1,"JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001","JSX elements cannot have multiple attributes with the same name."),Expected_corresponding_JSX_closing_tag_for_0:i(17002,1,"Expected_corresponding_JSX_closing_tag_for_0_17002","Expected corresponding JSX closing tag for '{0}'."),Cannot_use_JSX_unless_the_jsx_flag_is_provided:i(17004,1,"Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004","Cannot use JSX unless the '--jsx' flag is provided."),A_constructor_cannot_contain_a_super_call_when_its_class_extends_null:i(17005,1,"A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005","A constructor cannot contain a 'super' call when its class extends 'null'."),An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:i(17006,1,"An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006","An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:i(17007,1,"A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007","A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),JSX_element_0_has_no_corresponding_closing_tag:i(17008,1,"JSX_element_0_has_no_corresponding_closing_tag_17008","JSX element '{0}' has no corresponding closing tag."),super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class:i(17009,1,"super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009","'super' must be called before accessing 'this' in the constructor of a derived class."),Unknown_type_acquisition_option_0:i(17010,1,"Unknown_type_acquisition_option_0_17010","Unknown type acquisition option '{0}'."),super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class:i(17011,1,"super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class_17011","'super' must be called before accessing a property of 'super' in the constructor of a derived class."),_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2:i(17012,1,"_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2_17012","'{0}' is not a valid meta-property for keyword '{1}'. Did you mean '{2}'?"),Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor:i(17013,1,"Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constru_17013","Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor."),JSX_fragment_has_no_corresponding_closing_tag:i(17014,1,"JSX_fragment_has_no_corresponding_closing_tag_17014","JSX fragment has no corresponding closing tag."),Expected_corresponding_closing_tag_for_JSX_fragment:i(17015,1,"Expected_corresponding_closing_tag_for_JSX_fragment_17015","Expected corresponding closing tag for JSX fragment."),The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option:i(17016,1,"The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_com_17016","The 'jsxFragmentFactory' compiler option must be provided to use JSX fragments with the 'jsxFactory' compiler option."),An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments:i(17017,1,"An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments_17017","An @jsxFrag pragma is required when using an @jsx pragma with JSX fragments."),Unknown_type_acquisition_option_0_Did_you_mean_1:i(17018,1,"Unknown_type_acquisition_option_0_Did_you_mean_1_17018","Unknown type acquisition option '{0}'. Did you mean '{1}'?"),_0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1:i(17019,1,"_0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1_17019","'{0}' at the end of a type is not valid TypeScript syntax. Did you mean to write '{1}'?"),_0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1:i(17020,1,"_0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1_17020","'{0}' at the start of a type is not valid TypeScript syntax. Did you mean to write '{1}'?"),Circularity_detected_while_resolving_configuration_Colon_0:i(18e3,1,"Circularity_detected_while_resolving_configuration_Colon_0_18000","Circularity detected while resolving configuration: {0}"),The_files_list_in_config_file_0_is_empty:i(18002,1,"The_files_list_in_config_file_0_is_empty_18002","The 'files' list in config file '{0}' is empty."),No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2:i(18003,1,"No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2_18003","No inputs were found in config file '{0}'. Specified 'include' paths were '{1}' and 'exclude' paths were '{2}'."),File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module:i(80001,2,"File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module_80001","File is a CommonJS module; it may be converted to an ES module."),This_constructor_function_may_be_converted_to_a_class_declaration:i(80002,2,"This_constructor_function_may_be_converted_to_a_class_declaration_80002","This constructor function may be converted to a class declaration."),Import_may_be_converted_to_a_default_import:i(80003,2,"Import_may_be_converted_to_a_default_import_80003","Import may be converted to a default import."),JSDoc_types_may_be_moved_to_TypeScript_types:i(80004,2,"JSDoc_types_may_be_moved_to_TypeScript_types_80004","JSDoc types may be moved to TypeScript types."),require_call_may_be_converted_to_an_import:i(80005,2,"require_call_may_be_converted_to_an_import_80005","'require' call may be converted to an import."),This_may_be_converted_to_an_async_function:i(80006,2,"This_may_be_converted_to_an_async_function_80006","This may be converted to an async function."),await_has_no_effect_on_the_type_of_this_expression:i(80007,2,"await_has_no_effect_on_the_type_of_this_expression_80007","'await' has no effect on the type of this expression."),Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers:i(80008,2,"Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accur_80008","Numeric literals with absolute values equal to 2^53 or greater are too large to be represented accurately as integers."),Add_missing_super_call:i(90001,3,"Add_missing_super_call_90001","Add missing 'super()' call"),Make_super_call_the_first_statement_in_the_constructor:i(90002,3,"Make_super_call_the_first_statement_in_the_constructor_90002","Make 'super()' call the first statement in the constructor"),Change_extends_to_implements:i(90003,3,"Change_extends_to_implements_90003","Change 'extends' to 'implements'"),Remove_unused_declaration_for_Colon_0:i(90004,3,"Remove_unused_declaration_for_Colon_0_90004","Remove unused declaration for: '{0}'"),Remove_import_from_0:i(90005,3,"Remove_import_from_0_90005","Remove import from '{0}'"),Implement_interface_0:i(90006,3,"Implement_interface_0_90006","Implement interface '{0}'"),Implement_inherited_abstract_class:i(90007,3,"Implement_inherited_abstract_class_90007","Implement inherited abstract class"),Add_0_to_unresolved_variable:i(90008,3,"Add_0_to_unresolved_variable_90008","Add '{0}.' to unresolved variable"),Remove_variable_statement:i(90010,3,"Remove_variable_statement_90010","Remove variable statement"),Remove_template_tag:i(90011,3,"Remove_template_tag_90011","Remove template tag"),Remove_type_parameters:i(90012,3,"Remove_type_parameters_90012","Remove type parameters"),Import_0_from_1:i(90013,3,"Import_0_from_1_90013",`Import '{0}' from "{1}"`),Change_0_to_1:i(90014,3,"Change_0_to_1_90014","Change '{0}' to '{1}'"),Declare_property_0:i(90016,3,"Declare_property_0_90016","Declare property '{0}'"),Add_index_signature_for_property_0:i(90017,3,"Add_index_signature_for_property_0_90017","Add index signature for property '{0}'"),Disable_checking_for_this_file:i(90018,3,"Disable_checking_for_this_file_90018","Disable checking for this file"),Ignore_this_error_message:i(90019,3,"Ignore_this_error_message_90019","Ignore this error message"),Initialize_property_0_in_the_constructor:i(90020,3,"Initialize_property_0_in_the_constructor_90020","Initialize property '{0}' in the constructor"),Initialize_static_property_0:i(90021,3,"Initialize_static_property_0_90021","Initialize static property '{0}'"),Change_spelling_to_0:i(90022,3,"Change_spelling_to_0_90022","Change spelling to '{0}'"),Declare_method_0:i(90023,3,"Declare_method_0_90023","Declare method '{0}'"),Declare_static_method_0:i(90024,3,"Declare_static_method_0_90024","Declare static method '{0}'"),Prefix_0_with_an_underscore:i(90025,3,"Prefix_0_with_an_underscore_90025","Prefix '{0}' with an underscore"),Rewrite_as_the_indexed_access_type_0:i(90026,3,"Rewrite_as_the_indexed_access_type_0_90026","Rewrite as the indexed access type '{0}'"),Declare_static_property_0:i(90027,3,"Declare_static_property_0_90027","Declare static property '{0}'"),Call_decorator_expression:i(90028,3,"Call_decorator_expression_90028","Call decorator expression"),Add_async_modifier_to_containing_function:i(90029,3,"Add_async_modifier_to_containing_function_90029","Add async modifier to containing function"),Replace_infer_0_with_unknown:i(90030,3,"Replace_infer_0_with_unknown_90030","Replace 'infer {0}' with 'unknown'"),Replace_all_unused_infer_with_unknown:i(90031,3,"Replace_all_unused_infer_with_unknown_90031","Replace all unused 'infer' with 'unknown'"),Add_parameter_name:i(90034,3,"Add_parameter_name_90034","Add parameter name"),Declare_private_property_0:i(90035,3,"Declare_private_property_0_90035","Declare private property '{0}'"),Replace_0_with_Promise_1:i(90036,3,"Replace_0_with_Promise_1_90036","Replace '{0}' with 'Promise<{1}>'"),Fix_all_incorrect_return_type_of_an_async_functions:i(90037,3,"Fix_all_incorrect_return_type_of_an_async_functions_90037","Fix all incorrect return type of an async functions"),Declare_private_method_0:i(90038,3,"Declare_private_method_0_90038","Declare private method '{0}'"),Remove_unused_destructuring_declaration:i(90039,3,"Remove_unused_destructuring_declaration_90039","Remove unused destructuring declaration"),Remove_unused_declarations_for_Colon_0:i(90041,3,"Remove_unused_declarations_for_Colon_0_90041","Remove unused declarations for: '{0}'"),Declare_a_private_field_named_0:i(90053,3,"Declare_a_private_field_named_0_90053","Declare a private field named '{0}'."),Includes_imports_of_types_referenced_by_0:i(90054,3,"Includes_imports_of_types_referenced_by_0_90054","Includes imports of types referenced by '{0}'"),Remove_type_from_import_declaration_from_0:i(90055,3,"Remove_type_from_import_declaration_from_0_90055",`Remove 'type' from import declaration from "{0}"`),Remove_type_from_import_of_0_from_1:i(90056,3,"Remove_type_from_import_of_0_from_1_90056",`Remove 'type' from import of '{0}' from "{1}"`),Add_import_from_0:i(90057,3,"Add_import_from_0_90057",'Add import from "{0}"'),Update_import_from_0:i(90058,3,"Update_import_from_0_90058",'Update import from "{0}"'),Export_0_from_module_1:i(90059,3,"Export_0_from_module_1_90059","Export '{0}' from module '{1}'"),Export_all_referenced_locals:i(90060,3,"Export_all_referenced_locals_90060","Export all referenced locals"),Convert_function_to_an_ES2015_class:i(95001,3,"Convert_function_to_an_ES2015_class_95001","Convert function to an ES2015 class"),Convert_0_to_1_in_0:i(95003,3,"Convert_0_to_1_in_0_95003","Convert '{0}' to '{1} in {0}'"),Extract_to_0_in_1:i(95004,3,"Extract_to_0_in_1_95004","Extract to {0} in {1}"),Extract_function:i(95005,3,"Extract_function_95005","Extract function"),Extract_constant:i(95006,3,"Extract_constant_95006","Extract constant"),Extract_to_0_in_enclosing_scope:i(95007,3,"Extract_to_0_in_enclosing_scope_95007","Extract to {0} in enclosing scope"),Extract_to_0_in_1_scope:i(95008,3,"Extract_to_0_in_1_scope_95008","Extract to {0} in {1} scope"),Annotate_with_type_from_JSDoc:i(95009,3,"Annotate_with_type_from_JSDoc_95009","Annotate with type from JSDoc"),Infer_type_of_0_from_usage:i(95011,3,"Infer_type_of_0_from_usage_95011","Infer type of '{0}' from usage"),Infer_parameter_types_from_usage:i(95012,3,"Infer_parameter_types_from_usage_95012","Infer parameter types from usage"),Convert_to_default_import:i(95013,3,"Convert_to_default_import_95013","Convert to default import"),Install_0:i(95014,3,"Install_0_95014","Install '{0}'"),Replace_import_with_0:i(95015,3,"Replace_import_with_0_95015","Replace import with '{0}'."),Use_synthetic_default_member:i(95016,3,"Use_synthetic_default_member_95016","Use synthetic 'default' member."),Convert_to_ES_module:i(95017,3,"Convert_to_ES_module_95017","Convert to ES module"),Add_undefined_type_to_property_0:i(95018,3,"Add_undefined_type_to_property_0_95018","Add 'undefined' type to property '{0}'"),Add_initializer_to_property_0:i(95019,3,"Add_initializer_to_property_0_95019","Add initializer to property '{0}'"),Add_definite_assignment_assertion_to_property_0:i(95020,3,"Add_definite_assignment_assertion_to_property_0_95020","Add definite assignment assertion to property '{0}'"),Convert_all_type_literals_to_mapped_type:i(95021,3,"Convert_all_type_literals_to_mapped_type_95021","Convert all type literals to mapped type"),Add_all_missing_members:i(95022,3,"Add_all_missing_members_95022","Add all missing members"),Infer_all_types_from_usage:i(95023,3,"Infer_all_types_from_usage_95023","Infer all types from usage"),Delete_all_unused_declarations:i(95024,3,"Delete_all_unused_declarations_95024","Delete all unused declarations"),Prefix_all_unused_declarations_with_where_possible:i(95025,3,"Prefix_all_unused_declarations_with_where_possible_95025","Prefix all unused declarations with '_' where possible"),Fix_all_detected_spelling_errors:i(95026,3,"Fix_all_detected_spelling_errors_95026","Fix all detected spelling errors"),Add_initializers_to_all_uninitialized_properties:i(95027,3,"Add_initializers_to_all_uninitialized_properties_95027","Add initializers to all uninitialized properties"),Add_definite_assignment_assertions_to_all_uninitialized_properties:i(95028,3,"Add_definite_assignment_assertions_to_all_uninitialized_properties_95028","Add definite assignment assertions to all uninitialized properties"),Add_undefined_type_to_all_uninitialized_properties:i(95029,3,"Add_undefined_type_to_all_uninitialized_properties_95029","Add undefined type to all uninitialized properties"),Change_all_jsdoc_style_types_to_TypeScript:i(95030,3,"Change_all_jsdoc_style_types_to_TypeScript_95030","Change all jsdoc-style types to TypeScript"),Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types:i(95031,3,"Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types_95031","Change all jsdoc-style types to TypeScript (and add '| undefined' to nullable types)"),Implement_all_unimplemented_interfaces:i(95032,3,"Implement_all_unimplemented_interfaces_95032","Implement all unimplemented interfaces"),Install_all_missing_types_packages:i(95033,3,"Install_all_missing_types_packages_95033","Install all missing types packages"),Rewrite_all_as_indexed_access_types:i(95034,3,"Rewrite_all_as_indexed_access_types_95034","Rewrite all as indexed access types"),Convert_all_to_default_imports:i(95035,3,"Convert_all_to_default_imports_95035","Convert all to default imports"),Make_all_super_calls_the_first_statement_in_their_constructor:i(95036,3,"Make_all_super_calls_the_first_statement_in_their_constructor_95036","Make all 'super()' calls the first statement in their constructor"),Add_qualifier_to_all_unresolved_variables_matching_a_member_name:i(95037,3,"Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037","Add qualifier to all unresolved variables matching a member name"),Change_all_extended_interfaces_to_implements:i(95038,3,"Change_all_extended_interfaces_to_implements_95038","Change all extended interfaces to 'implements'"),Add_all_missing_super_calls:i(95039,3,"Add_all_missing_super_calls_95039","Add all missing super calls"),Implement_all_inherited_abstract_classes:i(95040,3,"Implement_all_inherited_abstract_classes_95040","Implement all inherited abstract classes"),Add_all_missing_async_modifiers:i(95041,3,"Add_all_missing_async_modifiers_95041","Add all missing 'async' modifiers"),Add_ts_ignore_to_all_error_messages:i(95042,3,"Add_ts_ignore_to_all_error_messages_95042","Add '@ts-ignore' to all error messages"),Annotate_everything_with_types_from_JSDoc:i(95043,3,"Annotate_everything_with_types_from_JSDoc_95043","Annotate everything with types from JSDoc"),Add_to_all_uncalled_decorators:i(95044,3,"Add_to_all_uncalled_decorators_95044","Add '()' to all uncalled decorators"),Convert_all_constructor_functions_to_classes:i(95045,3,"Convert_all_constructor_functions_to_classes_95045","Convert all constructor functions to classes"),Generate_get_and_set_accessors:i(95046,3,"Generate_get_and_set_accessors_95046","Generate 'get' and 'set' accessors"),Convert_require_to_import:i(95047,3,"Convert_require_to_import_95047","Convert 'require' to 'import'"),Convert_all_require_to_import:i(95048,3,"Convert_all_require_to_import_95048","Convert all 'require' to 'import'"),Move_to_a_new_file:i(95049,3,"Move_to_a_new_file_95049","Move to a new file"),Remove_unreachable_code:i(95050,3,"Remove_unreachable_code_95050","Remove unreachable code"),Remove_all_unreachable_code:i(95051,3,"Remove_all_unreachable_code_95051","Remove all unreachable code"),Add_missing_typeof:i(95052,3,"Add_missing_typeof_95052","Add missing 'typeof'"),Remove_unused_label:i(95053,3,"Remove_unused_label_95053","Remove unused label"),Remove_all_unused_labels:i(95054,3,"Remove_all_unused_labels_95054","Remove all unused labels"),Convert_0_to_mapped_object_type:i(95055,3,"Convert_0_to_mapped_object_type_95055","Convert '{0}' to mapped object type"),Convert_namespace_import_to_named_imports:i(95056,3,"Convert_namespace_import_to_named_imports_95056","Convert namespace import to named imports"),Convert_named_imports_to_namespace_import:i(95057,3,"Convert_named_imports_to_namespace_import_95057","Convert named imports to namespace import"),Add_or_remove_braces_in_an_arrow_function:i(95058,3,"Add_or_remove_braces_in_an_arrow_function_95058","Add or remove braces in an arrow function"),Add_braces_to_arrow_function:i(95059,3,"Add_braces_to_arrow_function_95059","Add braces to arrow function"),Remove_braces_from_arrow_function:i(95060,3,"Remove_braces_from_arrow_function_95060","Remove braces from arrow function"),Convert_default_export_to_named_export:i(95061,3,"Convert_default_export_to_named_export_95061","Convert default export to named export"),Convert_named_export_to_default_export:i(95062,3,"Convert_named_export_to_default_export_95062","Convert named export to default export"),Add_missing_enum_member_0:i(95063,3,"Add_missing_enum_member_0_95063","Add missing enum member '{0}'"),Add_all_missing_imports:i(95064,3,"Add_all_missing_imports_95064","Add all missing imports"),Convert_to_async_function:i(95065,3,"Convert_to_async_function_95065","Convert to async function"),Convert_all_to_async_functions:i(95066,3,"Convert_all_to_async_functions_95066","Convert all to async functions"),Add_missing_call_parentheses:i(95067,3,"Add_missing_call_parentheses_95067","Add missing call parentheses"),Add_all_missing_call_parentheses:i(95068,3,"Add_all_missing_call_parentheses_95068","Add all missing call parentheses"),Add_unknown_conversion_for_non_overlapping_types:i(95069,3,"Add_unknown_conversion_for_non_overlapping_types_95069","Add 'unknown' conversion for non-overlapping types"),Add_unknown_to_all_conversions_of_non_overlapping_types:i(95070,3,"Add_unknown_to_all_conversions_of_non_overlapping_types_95070","Add 'unknown' to all conversions of non-overlapping types"),Add_missing_new_operator_to_call:i(95071,3,"Add_missing_new_operator_to_call_95071","Add missing 'new' operator to call"),Add_missing_new_operator_to_all_calls:i(95072,3,"Add_missing_new_operator_to_all_calls_95072","Add missing 'new' operator to all calls"),Add_names_to_all_parameters_without_names:i(95073,3,"Add_names_to_all_parameters_without_names_95073","Add names to all parameters without names"),Enable_the_experimentalDecorators_option_in_your_configuration_file:i(95074,3,"Enable_the_experimentalDecorators_option_in_your_configuration_file_95074","Enable the 'experimentalDecorators' option in your configuration file"),Convert_parameters_to_destructured_object:i(95075,3,"Convert_parameters_to_destructured_object_95075","Convert parameters to destructured object"),Extract_type:i(95077,3,"Extract_type_95077","Extract type"),Extract_to_type_alias:i(95078,3,"Extract_to_type_alias_95078","Extract to type alias"),Extract_to_typedef:i(95079,3,"Extract_to_typedef_95079","Extract to typedef"),Infer_this_type_of_0_from_usage:i(95080,3,"Infer_this_type_of_0_from_usage_95080","Infer 'this' type of '{0}' from usage"),Add_const_to_unresolved_variable:i(95081,3,"Add_const_to_unresolved_variable_95081","Add 'const' to unresolved variable"),Add_const_to_all_unresolved_variables:i(95082,3,"Add_const_to_all_unresolved_variables_95082","Add 'const' to all unresolved variables"),Add_await:i(95083,3,"Add_await_95083","Add 'await'"),Add_await_to_initializer_for_0:i(95084,3,"Add_await_to_initializer_for_0_95084","Add 'await' to initializer for '{0}'"),Fix_all_expressions_possibly_missing_await:i(95085,3,"Fix_all_expressions_possibly_missing_await_95085","Fix all expressions possibly missing 'await'"),Remove_unnecessary_await:i(95086,3,"Remove_unnecessary_await_95086","Remove unnecessary 'await'"),Remove_all_unnecessary_uses_of_await:i(95087,3,"Remove_all_unnecessary_uses_of_await_95087","Remove all unnecessary uses of 'await'"),Enable_the_jsx_flag_in_your_configuration_file:i(95088,3,"Enable_the_jsx_flag_in_your_configuration_file_95088","Enable the '--jsx' flag in your configuration file"),Add_await_to_initializers:i(95089,3,"Add_await_to_initializers_95089","Add 'await' to initializers"),Extract_to_interface:i(95090,3,"Extract_to_interface_95090","Extract to interface"),Convert_to_a_bigint_numeric_literal:i(95091,3,"Convert_to_a_bigint_numeric_literal_95091","Convert to a bigint numeric literal"),Convert_all_to_bigint_numeric_literals:i(95092,3,"Convert_all_to_bigint_numeric_literals_95092","Convert all to bigint numeric literals"),Convert_const_to_let:i(95093,3,"Convert_const_to_let_95093","Convert 'const' to 'let'"),Prefix_with_declare:i(95094,3,"Prefix_with_declare_95094","Prefix with 'declare'"),Prefix_all_incorrect_property_declarations_with_declare:i(95095,3,"Prefix_all_incorrect_property_declarations_with_declare_95095","Prefix all incorrect property declarations with 'declare'"),Convert_to_template_string:i(95096,3,"Convert_to_template_string_95096","Convert to template string"),Add_export_to_make_this_file_into_a_module:i(95097,3,"Add_export_to_make_this_file_into_a_module_95097","Add 'export {}' to make this file into a module"),Set_the_target_option_in_your_configuration_file_to_0:i(95098,3,"Set_the_target_option_in_your_configuration_file_to_0_95098","Set the 'target' option in your configuration file to '{0}'"),Set_the_module_option_in_your_configuration_file_to_0:i(95099,3,"Set_the_module_option_in_your_configuration_file_to_0_95099","Set the 'module' option in your configuration file to '{0}'"),Convert_invalid_character_to_its_html_entity_code:i(95100,3,"Convert_invalid_character_to_its_html_entity_code_95100","Convert invalid character to its html entity code"),Convert_all_invalid_characters_to_HTML_entity_code:i(95101,3,"Convert_all_invalid_characters_to_HTML_entity_code_95101","Convert all invalid characters to HTML entity code"),Convert_all_const_to_let:i(95102,3,"Convert_all_const_to_let_95102","Convert all 'const' to 'let'"),Convert_function_expression_0_to_arrow_function:i(95105,3,"Convert_function_expression_0_to_arrow_function_95105","Convert function expression '{0}' to arrow function"),Convert_function_declaration_0_to_arrow_function:i(95106,3,"Convert_function_declaration_0_to_arrow_function_95106","Convert function declaration '{0}' to arrow function"),Fix_all_implicit_this_errors:i(95107,3,"Fix_all_implicit_this_errors_95107","Fix all implicit-'this' errors"),Wrap_invalid_character_in_an_expression_container:i(95108,3,"Wrap_invalid_character_in_an_expression_container_95108","Wrap invalid character in an expression container"),Wrap_all_invalid_characters_in_an_expression_container:i(95109,3,"Wrap_all_invalid_characters_in_an_expression_container_95109","Wrap all invalid characters in an expression container"),Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file:i(95110,3,"Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file_95110","Visit https://aka.ms/tsconfig to read more about this file"),Add_a_return_statement:i(95111,3,"Add_a_return_statement_95111","Add a return statement"),Remove_braces_from_arrow_function_body:i(95112,3,"Remove_braces_from_arrow_function_body_95112","Remove braces from arrow function body"),Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal:i(95113,3,"Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal_95113","Wrap the following body with parentheses which should be an object literal"),Add_all_missing_return_statement:i(95114,3,"Add_all_missing_return_statement_95114","Add all missing return statement"),Remove_braces_from_all_arrow_function_bodies_with_relevant_issues:i(95115,3,"Remove_braces_from_all_arrow_function_bodies_with_relevant_issues_95115","Remove braces from all arrow function bodies with relevant issues"),Wrap_all_object_literal_with_parentheses:i(95116,3,"Wrap_all_object_literal_with_parentheses_95116","Wrap all object literal with parentheses"),Move_labeled_tuple_element_modifiers_to_labels:i(95117,3,"Move_labeled_tuple_element_modifiers_to_labels_95117","Move labeled tuple element modifiers to labels"),Convert_overload_list_to_single_signature:i(95118,3,"Convert_overload_list_to_single_signature_95118","Convert overload list to single signature"),Generate_get_and_set_accessors_for_all_overriding_properties:i(95119,3,"Generate_get_and_set_accessors_for_all_overriding_properties_95119","Generate 'get' and 'set' accessors for all overriding properties"),Wrap_in_JSX_fragment:i(95120,3,"Wrap_in_JSX_fragment_95120","Wrap in JSX fragment"),Wrap_all_unparented_JSX_in_JSX_fragment:i(95121,3,"Wrap_all_unparented_JSX_in_JSX_fragment_95121","Wrap all unparented JSX in JSX fragment"),Convert_arrow_function_or_function_expression:i(95122,3,"Convert_arrow_function_or_function_expression_95122","Convert arrow function or function expression"),Convert_to_anonymous_function:i(95123,3,"Convert_to_anonymous_function_95123","Convert to anonymous function"),Convert_to_named_function:i(95124,3,"Convert_to_named_function_95124","Convert to named function"),Convert_to_arrow_function:i(95125,3,"Convert_to_arrow_function_95125","Convert to arrow function"),Remove_parentheses:i(95126,3,"Remove_parentheses_95126","Remove parentheses"),Could_not_find_a_containing_arrow_function:i(95127,3,"Could_not_find_a_containing_arrow_function_95127","Could not find a containing arrow function"),Containing_function_is_not_an_arrow_function:i(95128,3,"Containing_function_is_not_an_arrow_function_95128","Containing function is not an arrow function"),Could_not_find_export_statement:i(95129,3,"Could_not_find_export_statement_95129","Could not find export statement"),This_file_already_has_a_default_export:i(95130,3,"This_file_already_has_a_default_export_95130","This file already has a default export"),Could_not_find_import_clause:i(95131,3,"Could_not_find_import_clause_95131","Could not find import clause"),Could_not_find_namespace_import_or_named_imports:i(95132,3,"Could_not_find_namespace_import_or_named_imports_95132","Could not find namespace import or named imports"),Selection_is_not_a_valid_type_node:i(95133,3,"Selection_is_not_a_valid_type_node_95133","Selection is not a valid type node"),No_type_could_be_extracted_from_this_type_node:i(95134,3,"No_type_could_be_extracted_from_this_type_node_95134","No type could be extracted from this type node"),Could_not_find_property_for_which_to_generate_accessor:i(95135,3,"Could_not_find_property_for_which_to_generate_accessor_95135","Could not find property for which to generate accessor"),Name_is_not_valid:i(95136,3,"Name_is_not_valid_95136","Name is not valid"),Can_only_convert_property_with_modifier:i(95137,3,"Can_only_convert_property_with_modifier_95137","Can only convert property with modifier"),Switch_each_misused_0_to_1:i(95138,3,"Switch_each_misused_0_to_1_95138","Switch each misused '{0}' to '{1}'"),Convert_to_optional_chain_expression:i(95139,3,"Convert_to_optional_chain_expression_95139","Convert to optional chain expression"),Could_not_find_convertible_access_expression:i(95140,3,"Could_not_find_convertible_access_expression_95140","Could not find convertible access expression"),Could_not_find_matching_access_expressions:i(95141,3,"Could_not_find_matching_access_expressions_95141","Could not find matching access expressions"),Can_only_convert_logical_AND_access_chains:i(95142,3,"Can_only_convert_logical_AND_access_chains_95142","Can only convert logical AND access chains"),Add_void_to_Promise_resolved_without_a_value:i(95143,3,"Add_void_to_Promise_resolved_without_a_value_95143","Add 'void' to Promise resolved without a value"),Add_void_to_all_Promises_resolved_without_a_value:i(95144,3,"Add_void_to_all_Promises_resolved_without_a_value_95144","Add 'void' to all Promises resolved without a value"),Use_element_access_for_0:i(95145,3,"Use_element_access_for_0_95145","Use element access for '{0}'"),Use_element_access_for_all_undeclared_properties:i(95146,3,"Use_element_access_for_all_undeclared_properties_95146","Use element access for all undeclared properties."),Delete_all_unused_imports:i(95147,3,"Delete_all_unused_imports_95147","Delete all unused imports"),Infer_function_return_type:i(95148,3,"Infer_function_return_type_95148","Infer function return type"),Return_type_must_be_inferred_from_a_function:i(95149,3,"Return_type_must_be_inferred_from_a_function_95149","Return type must be inferred from a function"),Could_not_determine_function_return_type:i(95150,3,"Could_not_determine_function_return_type_95150","Could not determine function return type"),Could_not_convert_to_arrow_function:i(95151,3,"Could_not_convert_to_arrow_function_95151","Could not convert to arrow function"),Could_not_convert_to_named_function:i(95152,3,"Could_not_convert_to_named_function_95152","Could not convert to named function"),Could_not_convert_to_anonymous_function:i(95153,3,"Could_not_convert_to_anonymous_function_95153","Could not convert to anonymous function"),Can_only_convert_string_concatenation:i(95154,3,"Can_only_convert_string_concatenation_95154","Can only convert string concatenation"),Selection_is_not_a_valid_statement_or_statements:i(95155,3,"Selection_is_not_a_valid_statement_or_statements_95155","Selection is not a valid statement or statements"),Add_missing_function_declaration_0:i(95156,3,"Add_missing_function_declaration_0_95156","Add missing function declaration '{0}'"),Add_all_missing_function_declarations:i(95157,3,"Add_all_missing_function_declarations_95157","Add all missing function declarations"),Method_not_implemented:i(95158,3,"Method_not_implemented_95158","Method not implemented."),Function_not_implemented:i(95159,3,"Function_not_implemented_95159","Function not implemented."),Add_override_modifier:i(95160,3,"Add_override_modifier_95160","Add 'override' modifier"),Remove_override_modifier:i(95161,3,"Remove_override_modifier_95161","Remove 'override' modifier"),Add_all_missing_override_modifiers:i(95162,3,"Add_all_missing_override_modifiers_95162","Add all missing 'override' modifiers"),Remove_all_unnecessary_override_modifiers:i(95163,3,"Remove_all_unnecessary_override_modifiers_95163","Remove all unnecessary 'override' modifiers"),Can_only_convert_named_export:i(95164,3,"Can_only_convert_named_export_95164","Can only convert named export"),Add_missing_properties:i(95165,3,"Add_missing_properties_95165","Add missing properties"),Add_all_missing_properties:i(95166,3,"Add_all_missing_properties_95166","Add all missing properties"),Add_missing_attributes:i(95167,3,"Add_missing_attributes_95167","Add missing attributes"),Add_all_missing_attributes:i(95168,3,"Add_all_missing_attributes_95168","Add all missing attributes"),Add_undefined_to_optional_property_type:i(95169,3,"Add_undefined_to_optional_property_type_95169","Add 'undefined' to optional property type"),Convert_named_imports_to_default_import:i(95170,3,"Convert_named_imports_to_default_import_95170","Convert named imports to default import"),Delete_unused_param_tag_0:i(95171,3,"Delete_unused_param_tag_0_95171","Delete unused '@param' tag '{0}'"),Delete_all_unused_param_tags:i(95172,3,"Delete_all_unused_param_tags_95172","Delete all unused '@param' tags"),Rename_param_tag_name_0_to_1:i(95173,3,"Rename_param_tag_name_0_to_1_95173","Rename '@param' tag name '{0}' to '{1}'"),Use_0:i(95174,3,"Use_0_95174","Use `{0}`."),Use_Number_isNaN_in_all_conditions:i(95175,3,"Use_Number_isNaN_in_all_conditions_95175","Use `Number.isNaN` in all conditions."),No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer:i(18004,1,"No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer_18004","No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer."),Classes_may_not_have_a_field_named_constructor:i(18006,1,"Classes_may_not_have_a_field_named_constructor_18006","Classes may not have a field named 'constructor'."),JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array:i(18007,1,"JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array_18007","JSX expressions may not use the comma operator. Did you mean to write an array?"),Private_identifiers_cannot_be_used_as_parameters:i(18009,1,"Private_identifiers_cannot_be_used_as_parameters_18009","Private identifiers cannot be used as parameters."),An_accessibility_modifier_cannot_be_used_with_a_private_identifier:i(18010,1,"An_accessibility_modifier_cannot_be_used_with_a_private_identifier_18010","An accessibility modifier cannot be used with a private identifier."),The_operand_of_a_delete_operator_cannot_be_a_private_identifier:i(18011,1,"The_operand_of_a_delete_operator_cannot_be_a_private_identifier_18011","The operand of a 'delete' operator cannot be a private identifier."),constructor_is_a_reserved_word:i(18012,1,"constructor_is_a_reserved_word_18012","'#constructor' is a reserved word."),Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier:i(18013,1,"Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier_18013","Property '{0}' is not accessible outside class '{1}' because it has a private identifier."),The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_private_identifier_with_the_same_spelling:i(18014,1,"The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_priv_18014","The property '{0}' cannot be accessed on type '{1}' within this class because it is shadowed by another private identifier with the same spelling."),Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2:i(18015,1,"Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2_18015","Property '{0}' in type '{1}' refers to a different member that cannot be accessed from within type '{2}'."),Private_identifiers_are_not_allowed_outside_class_bodies:i(18016,1,"Private_identifiers_are_not_allowed_outside_class_bodies_18016","Private identifiers are not allowed outside class bodies."),The_shadowing_declaration_of_0_is_defined_here:i(18017,1,"The_shadowing_declaration_of_0_is_defined_here_18017","The shadowing declaration of '{0}' is defined here"),The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here:i(18018,1,"The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here_18018","The declaration of '{0}' that you probably intended to use is defined here"),_0_modifier_cannot_be_used_with_a_private_identifier:i(18019,1,"_0_modifier_cannot_be_used_with_a_private_identifier_18019","'{0}' modifier cannot be used with a private identifier."),An_enum_member_cannot_be_named_with_a_private_identifier:i(18024,1,"An_enum_member_cannot_be_named_with_a_private_identifier_18024","An enum member cannot be named with a private identifier."),can_only_be_used_at_the_start_of_a_file:i(18026,1,"can_only_be_used_at_the_start_of_a_file_18026","'#!' can only be used at the start of a file."),Compiler_reserves_name_0_when_emitting_private_identifier_downlevel:i(18027,1,"Compiler_reserves_name_0_when_emitting_private_identifier_downlevel_18027","Compiler reserves name '{0}' when emitting private identifier downlevel."),Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher:i(18028,1,"Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher_18028","Private identifiers are only available when targeting ECMAScript 2015 and higher."),Private_identifiers_are_not_allowed_in_variable_declarations:i(18029,1,"Private_identifiers_are_not_allowed_in_variable_declarations_18029","Private identifiers are not allowed in variable declarations."),An_optional_chain_cannot_contain_private_identifiers:i(18030,1,"An_optional_chain_cannot_contain_private_identifiers_18030","An optional chain cannot contain private identifiers."),The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents:i(18031,1,"The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituent_18031","The intersection '{0}' was reduced to 'never' because property '{1}' has conflicting types in some constituents."),The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some:i(18032,1,"The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_pr_18032","The intersection '{0}' was reduced to 'never' because property '{1}' exists in multiple constituents and is private in some."),Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values:i(18033,1,"Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values_18033","Type '{0}' is not assignable to type '{1}' as required for computed enum member values."),Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compiler_option_is_specified_e_g_Fragment:i(18034,3,"Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compi_18034","Specify the JSX fragment factory function to use when targeting 'react' JSX emit with 'jsxFactory' compiler option is specified, e.g. 'Fragment'."),Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name:i(18035,1,"Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name_18035","Invalid value for 'jsxFragmentFactory'. '{0}' is not a valid identifier or qualified-name."),Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator:i(18036,1,"Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_dec_18036","Class decorators can't be used with static private identifier. Consider removing the experimental decorator."),Await_expression_cannot_be_used_inside_a_class_static_block:i(18037,1,"Await_expression_cannot_be_used_inside_a_class_static_block_18037","Await expression cannot be used inside a class static block."),For_await_loops_cannot_be_used_inside_a_class_static_block:i(18038,1,"For_await_loops_cannot_be_used_inside_a_class_static_block_18038","'For await' loops cannot be used inside a class static block."),Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block:i(18039,1,"Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block_18039","Invalid use of '{0}'. It cannot be used inside a class static block."),A_return_statement_cannot_be_used_inside_a_class_static_block:i(18041,1,"A_return_statement_cannot_be_used_inside_a_class_static_block_18041","A 'return' statement cannot be used inside a class static block."),_0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation:i(18042,1,"_0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation_18042","'{0}' is a type and cannot be imported in JavaScript files. Use '{1}' in a JSDoc type annotation."),Types_cannot_appear_in_export_declarations_in_JavaScript_files:i(18043,1,"Types_cannot_appear_in_export_declarations_in_JavaScript_files_18043","Types cannot appear in export declarations in JavaScript files."),_0_is_automatically_exported_here:i(18044,3,"_0_is_automatically_exported_here_18044","'{0}' is automatically exported here."),Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher:i(18045,1,"Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher_18045","Properties with the 'accessor' modifier are only available when targeting ECMAScript 2015 and higher."),_0_is_of_type_unknown:i(18046,1,"_0_is_of_type_unknown_18046","'{0}' is of type 'unknown'."),_0_is_possibly_null:i(18047,1,"_0_is_possibly_null_18047","'{0}' is possibly 'null'."),_0_is_possibly_undefined:i(18048,1,"_0_is_possibly_undefined_18048","'{0}' is possibly 'undefined'."),_0_is_possibly_null_or_undefined:i(18049,1,"_0_is_possibly_null_or_undefined_18049","'{0}' is possibly 'null' or 'undefined'."),The_value_0_cannot_be_used_here:i(18050,1,"The_value_0_cannot_be_used_here_18050","The value '{0}' cannot be used here."),Compiler_option_0_cannot_be_given_an_empty_string:i(18051,1,"Compiler_option_0_cannot_be_given_an_empty_string_18051","Compiler option '{0}' cannot be given an empty string.")}}});function fr(Me){return Me>=79}function qT(Me){return Me===31||fr(Me)}function D_(Me,Bn){if(Me=2?D_(Me,Mv):Bn===1?D_(Me,Nv):D_(Me,Tv)}function _A(Me,Bn){return Bn>=2?D_(Me,OE):Bn===1?D_(Me,Ov):D_(Me,Fv)}function cA(Me){let Bn=[];return Me.forEach(((Me,Hn)=>{Bn[Me]=Hn})),Bn}function Br(Me){return rC[Me]}function _l(Me){return Bv.get(Me)}function Kp(Me){let Bn=[],Hn=0,zn=0;for(;Hn127&&un(ni)&&(Bn.push(zn),zn=Hn);break}}return Bn.push(zn),Bn}function lA(Me,Bn,Hn,zn){return Me.getPositionOfLineAndCharacter?Me.getPositionOfLineAndCharacter(Bn,Hn,zn):dy(ss(Me),Bn,Hn,Me.text,zn)}function dy(Me,Bn,Hn,zn,ni){(Bn<0||Bn>=Me.length)&&(ni?Bn=Bn<0?0:Bn>=Me.length?Me.length-1:Bn:qp.fail(`Bad line number. Line: ${Bn}, lineStarts.length: ${Me.length} , line map is correct? ${zn!==void 0?ke(Me,Kp(zn)):"unknown"}`));let Ci=Me[Bn]+Hn;return ni?Ci>Me[Bn+1]?Me[Bn+1]:typeof zn=="string"&&Ci>zn.length?zn.length:Ci:(Bn=8192&&Me<=8203||Me===8239||Me===8287||Me===12288||Me===65279}function un(Me){return Me===10||Me===13||Me===8232||Me===8233}function O_(Me){return Me>=48&&Me<=57}function Xp(Me){return O_(Me)||Me>=65&&Me<=70||Me>=97&&Me<=102}function uA(Me){return Me<=1114111}function hy(Me){return Me>=48&&Me<=55}function pA(Me,Bn){let Hn=Me.charCodeAt(Bn);switch(Hn){case 13:case 10:case 9:case 11:case 12:case 32:case 47:case 60:case 124:case 61:case 62:return!0;case 35:return Bn===0;default:return Hn>127}}function Ar(Me,Bn,Hn,zn,ni){if(hs(Bn))return Bn;let Ci=!1;for(;;){let ts=Me.charCodeAt(Bn);switch(ts){case 13:Me.charCodeAt(Bn+1)===10&&Bn++;case 10:if(Bn++,Hn)return Bn;Ci=!!ni;continue;case 9:case 11:case 12:case 32:Bn++;continue;case 47:if(zn)break;if(Me.charCodeAt(Bn+1)===47){for(Bn+=2;Bn127&&os(ts)){Bn++;continue}break}return Bn}}function Co(Me,Bn){if(qp.assert(Bn>=0),Bn===0||un(Me.charCodeAt(Bn-1))){let Hn=Me.charCodeAt(Bn);if(Bn+nC=0&&Hn127&&os(ts)){_a&&un(ts)&&(ca=!0),Hn++;continue}break e}}return _a&&(Ga=ni(Ps,aa,oa,ca,Ci,Ga)),Ga}function fA(Me,Bn,Hn,zn){return Yp(!1,Me,Bn,!1,Hn,zn)}function dA(Me,Bn,Hn,zn){return Yp(!1,Me,Bn,!0,Hn,zn)}function zT(Me,Bn,Hn,zn,ni){return Yp(!0,Me,Bn,!1,Hn,zn,ni)}function WT(Me,Bn,Hn,zn,ni){return Yp(!0,Me,Bn,!0,Hn,zn,ni)}function VT(Me,Bn,Hn,zn,ni){let Ci=arguments.length>5&&arguments[5]!==void 0?arguments[5]:[];return Ci.push({kind:Hn,pos:Me,end:Bn,hasTrailingNewLine:zn}),Ci}function Ao(Me,Bn){return zT(Me,Bn,VT,void 0,void 0)}function HT(Me,Bn){return WT(Me,Bn,VT,void 0,void 0)}function GT(Me){let Bn=iC.exec(Me);if(Bn)return Bn[0]}function Wn(Me,Bn){return Me>=65&&Me<=90||Me>=97&&Me<=122||Me===36||Me===95||Me>127&&UT(Me,Bn)}function Rs(Me,Bn,Hn){return Me>=65&&Me<=90||Me>=97&&Me<=122||Me>=48&&Me<=57||Me===36||Me===95||(Hn===1?Me===45||Me===58:!1)||Me>127&&_A(Me,Bn)}function vy(Me,Bn,Hn){let zn=sC(Me,0);if(!Wn(zn,Bn))return!1;for(let ni=yi(zn);ni2&&arguments[2]!==void 0?arguments[2]:0,zn=arguments.length>3?arguments[3]:void 0,ni=arguments.length>4?arguments[4]:void 0,Ci=arguments.length>5?arguments[5]:void 0,ts=arguments.length>6?arguments[6]:void 0;var Ps=zn,aa,oa,ca,_a,xa,Ga,Ha,so,oo=0;ue(Ps,Ci,ts);var Jo={getStartPos:()=>ca,getTextPos:()=>aa,getToken:()=>xa,getTokenPos:()=>_a,getTokenText:()=>Ps.substring(_a,aa),getTokenValue:()=>Ga,hasUnicodeEscape:()=>(Ha&1024)!==0,hasExtendedUnicodeEscape:()=>(Ha&8)!==0,hasPrecedingLineBreak:()=>(Ha&1)!==0,hasPrecedingJSDocComment:()=>(Ha&2)!==0,isIdentifier:()=>xa===79||xa>116,isReservedWord:()=>xa>=81&&xa<=116,isUnterminated:()=>(Ha&4)!==0,getCommentDirectives:()=>so,getNumericLiteralFlags:()=>Ha&1008,getTokenFlags:()=>Ha,reScanGreaterToken:Sn,reScanAsteriskEqualsToken:In,reScanSlashToken:pr,reScanTemplateToken:Nn,reScanTemplateHeadOrNoSubstitutionTemplate:ar,scanJsxIdentifier:nr,scanJsxAttributeValue:br,reScanJsxAttributeValue:Kr,reScanJsxToken:oi,reScanLessThanToken:cr,reScanHashToken:$r,reScanQuestionToken:hr,reScanInvalidIdentifier:Gr,scanJsxToken:On,scanJsDocToken:wa,scan:Ur,getText:Ca,clearCommentDirectives:St,setText:ue,setScriptTarget:_t,setLanguageVariant:ft,setOnError:He,setTextPos:Kt,setInJSDocType:zt,tryScan:_i,lookAhead:Mn,scanRange:Ki};return qp.isDebugging&&Object.defineProperty(Jo,"__debugShowCurrentPositionInText",{get:()=>{let Me=Jo.getText();return Me.slice(0,Jo.getStartPos())+"║"+Me.slice(Jo.getStartPos())}}),Jo;function Ne(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:aa,Hn=arguments.length>2?arguments[2]:void 0;if(ni){let zn=aa;aa=Bn,ni(Me,Hn||0),aa=zn}}function oe(){let Me=aa,Bn=!1,Hn=!1,zn="";for(;;){let ni=Ps.charCodeAt(aa);if(ni===95){Ha|=512,Bn?(Bn=!1,Hn=!0,zn+=Ps.substring(Me,aa)):Ne(Hn?Sv.Multiple_consecutive_numeric_separators_are_not_permitted:Sv.Numeric_separators_are_not_allowed_here,aa,1),aa++,Me=aa;continue}if(O_(ni)){Bn=!0,Hn=!1,aa++;continue}break}return Ps.charCodeAt(aa-1)===95&&Ne(Sv.Numeric_separators_are_not_allowed_here,aa-1,1),zn+Ps.substring(Me,aa)}function Ve(){let Me=aa,Bn=oe(),Hn,zn;Ps.charCodeAt(aa)===46&&(aa++,Hn=oe());let ni=aa;if(Ps.charCodeAt(aa)===69||Ps.charCodeAt(aa)===101){aa++,Ha|=16,(Ps.charCodeAt(aa)===43||Ps.charCodeAt(aa)===45)&&aa++;let Me=aa,Bn=oe();Bn?(zn=Ps.substring(ni,Me)+Bn,ni=aa):Ne(Sv.Digit_expected)}let Ci;if(Ha&512?(Ci=Bn,Hn&&(Ci+="."+Hn),zn&&(Ci+=zn)):Ci=Ps.substring(Me,ni),Hn!==void 0||Ha&16)return pt(Me,Hn===void 0&&!!(Ha&16)),{type:8,value:""+ +Ci};{Ga=Ci;let Bn=dn();return pt(Me),{type:Bn,value:Ga}}}function pt(Bn,Hn){if(!Wn(sC(Ps,aa),Me))return;let zn=aa,{length:ni}=an();ni===1&&Ps[zn]==="n"?Ne(Hn?Sv.A_bigint_literal_cannot_use_exponential_notation:Sv.A_bigint_literal_must_be_an_integer,Bn,zn-Bn+1):(Ne(Sv.An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal,zn,ni),aa=zn)}function Gt(){let Me=aa;for(;hy(Ps.charCodeAt(aa));)aa++;return+Ps.substring(Me,aa)}function Nt(Me,Bn){let Hn=er(Me,!1,Bn);return Hn?parseInt(Hn,16):-1}function Xt(Me,Bn){return er(Me,!0,Bn)}function er(Me,Bn,Hn){let zn=[],ni=!1,Ci=!1;for(;zn.length=65&&Me<=70)Me+=97-65;else if(!(Me>=48&&Me<=57||Me>=97&&Me<=102))break;zn.push(Me),aa++,Ci=!1}return zn.length0&&arguments[0]!==void 0?arguments[0]:!1,Bn=Ps.charCodeAt(aa);aa++;let Hn="",zn=aa;for(;;){if(aa>=oa){Hn+=Ps.substring(zn,aa),Ha|=4,Ne(Sv.Unterminated_string_literal);break}let ni=Ps.charCodeAt(aa);if(ni===Bn){Hn+=Ps.substring(zn,aa),aa++;break}if(ni===92&&!Me){Hn+=Ps.substring(zn,aa),Hn+=Gi(),zn=aa;continue}if(un(ni)&&!Me){Hn+=Ps.substring(zn,aa),Ha|=4,Ne(Sv.Unterminated_string_literal);break}aa++}return Hn}function Hr(Me){let Bn=Ps.charCodeAt(aa)===96;aa++;let Hn=aa,zn="",ni;for(;;){if(aa>=oa){zn+=Ps.substring(Hn,aa),Ha|=4,Ne(Sv.Unterminated_template_literal),ni=Bn?14:17;break}let Ci=Ps.charCodeAt(aa);if(Ci===96){zn+=Ps.substring(Hn,aa),aa++,ni=Bn?14:17;break}if(Ci===36&&aa+1=oa)return Ne(Sv.Unexpected_end_of_text),"";let Hn=Ps.charCodeAt(aa);switch(aa++,Hn){case 48:return Me&&aa=0?String.fromCharCode(Bn):(Ne(Sv.Hexadecimal_digit_expected),"")}function fn(){let Me=Xt(1,!1),Bn=Me?parseInt(Me,16):-1,Hn=!1;return Bn<0?(Ne(Sv.Hexadecimal_digit_expected),Hn=!0):Bn>1114111&&(Ne(Sv.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive),Hn=!0),aa>=oa?(Ne(Sv.Unexpected_end_of_text),Hn=!0):Ps.charCodeAt(aa)===125?aa++:(Ne(Sv.Unterminated_Unicode_escape_sequence),Hn=!0),Hn?"":by(Bn)}function Ut(){if(aa+5=0&&Rs(zn,Me)){aa+=3,Ha|=8,Bn+=fn(),Hn=aa;continue}if(zn=Ut(),!(zn>=0&&Rs(zn,Me)))break;Ha|=1024,Bn+=Ps.substring(Hn,aa),Bn+=by(zn),aa+=6,Hn=aa}else break}return Bn+=Ps.substring(Hn,aa),Bn}function mr(){let Me=Ga.length;if(Me>=2&&Me<=12){let Me=Ga.charCodeAt(0);if(Me>=97&&Me<=122){let Me=kv.get(Ga);if(Me!==void 0)return xa=Me}}return xa=79}function $i(Me){let Bn="",Hn=!1,zn=!1;for(;;){let ni=Ps.charCodeAt(aa);if(ni===95){Ha|=512,Hn?(Hn=!1,zn=!0):Ne(zn?Sv.Multiple_consecutive_numeric_separators_are_not_permitted:Sv.Numeric_separators_are_not_allowed_here,aa,1),aa++;continue}if(Hn=!0,!O_(ni)||ni-48>=Me)break;Bn+=Ps[aa],aa++,zn=!1}return Ps.charCodeAt(aa-1)===95&&Ne(Sv.Numeric_separators_are_not_allowed_here,aa-1,1),Bn}function dn(){return Ps.charCodeAt(aa)===110?(Ga+="n",Ha&384&&(Ga=Hf(Ga)+"n"),aa++,9):(Ga=""+(Ha&128?parseInt(Ga.slice(2),2):Ha&256?parseInt(Ga.slice(2),8):+Ga),8)}function Ur(){ca=aa,Ha=0;let zn=!1;for(;;){if(_a=aa,aa>=oa)return xa=1;let ni=sC(Ps,aa);if(ni===35&&aa===0&&gy(Ps,aa)){if(aa=yy(Ps,aa),Bn)continue;return xa=6}switch(ni){case 10:case 13:if(Ha|=1,Bn){aa++;continue}else return ni===13&&aa+1=0&&Wn(Ci,Me))return aa+=3,Ha|=8,Ga=fn()+an(),xa=mr();let ts=Ut();return ts>=0&&Wn(ts,Me)?(aa+=6,Ha|=1024,Ga=String.fromCharCode(ts)+an(),xa=mr()):(Ne(Sv.Invalid_character),aa++,xa=0);case 35:if(aa!==0&&Ps[aa+1]==="!")return Ne(Sv.can_only_be_used_at_the_start_of_a_file),aa++,xa=0;let ca=sC(Ps,aa+1);if(ca===92){aa++;let Bn=kn();if(Bn>=0&&Wn(Bn,Me))return aa+=3,Ha|=8,Ga="#"+fn()+an(),xa=80;let Hn=Ut();if(Hn>=0&&Wn(Hn,Me))return aa+=6,Ha|=1024,Ga="#"+String.fromCharCode(Hn)+an(),xa=80;aa--}return Wn(ca,Me)?(aa++,_r(ca,Me)):(Ga="#",Ne(Sv.Invalid_character,aa++,yi(ni))),xa=80;default:let Jo=_r(ni,Me);if(Jo)return xa=Jo;if(N_(ni)){aa+=yi(ni);continue}else if(un(ni)){Ha|=1,aa+=yi(ni);continue}let tc=yi(ni);return Ne(Sv.Invalid_character,aa,tc),aa+=tc,xa=0}}}function Gr(){qp.assert(xa===0,"'reScanInvalidIdentifier' should only be called when the current token is 'SyntaxKind.Unknown'."),aa=_a=ca,Ha=0;let Me=sC(Ps,aa),Bn=_r(Me,99);return Bn?xa=Bn:(aa+=yi(Me),xa)}function _r(Me,Bn){let Hn=Me;if(Wn(Hn,Bn)){for(aa+=yi(Hn);aa0&&arguments[0]!==void 0?arguments[0]:!0;return aa=_a=ca,xa=On(Me)}function cr(){return xa===47?(aa=_a+1,xa=29):xa}function $r(){return xa===80?(aa=_a+1,xa=62):xa}function hr(){return qp.assert(xa===60,"'reScanQuestionToken' should only be called on a '??'"),aa=_a+1,xa=57}function On(){let Me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;if(ca=_a=aa,aa>=oa)return xa=1;let Bn=Ps.charCodeAt(aa);if(Bn===60)return Ps.charCodeAt(aa+1)===47?(aa+=2,xa=30):(aa++,xa=29);if(Bn===123)return aa++,xa=18;let Hn=0;for(;aa0)break;os(Bn)||(Hn=aa)}aa++}return Ga=Ps.substring(ca,aa),Hn===-1?12:11}function nr(){if(fr(xa)){let Me=!1;for(;aa=oa)return xa=1;let Bn=sC(Ps,aa);switch(aa+=yi(Bn),Bn){case 9:case 11:case 12:case 32:for(;aa=0&&Wn(Bn,Me))return aa+=3,Ha|=8,Ga=fn()+an(),xa=mr();let Hn=Ut();return Hn>=0&&Wn(Hn,Me)?(aa+=6,Ha|=1024,Ga=String.fromCharCode(Hn)+an(),xa=mr()):(aa++,xa=0)}if(Wn(Bn,Me)){let Hn=Bn;for(;aa=0),aa=Me,ca=Me,_a=Me,xa=0,Ga=void 0,Ha=0}function zt(Me){oo+=Me?1:-1}}function yi(Me){return Me>=65536?2:1}function mA(Me){if(qp.assert(0<=Me&&Me<=1114111),Me<=65535)return String.fromCharCode(Me);let Bn=Math.floor((Me-65536)/1024)+55296,Hn=(Me-65536)%1024+56320;return String.fromCharCode(Bn,Hn)}function by(Me){return aC(Me)}var xv,kv,Bv,Tv,Fv,Nv,Ov,Mv,OE,eC,tC,rC,nC,iC,sC,aC,oC=D({"src/compiler/scanner.ts"(){"use strict";Gw(),xv={abstract:126,accessor:127,any:131,as:128,asserts:129,assert:130,bigint:160,boolean:134,break:81,case:82,catch:83,class:84,continue:86,const:85,constructor:135,debugger:87,declare:136,default:88,delete:89,do:90,else:91,enum:92,export:93,extends:94,false:95,finally:96,for:97,from:158,function:98,get:137,if:99,implements:117,import:100,in:101,infer:138,instanceof:102,interface:118,intrinsic:139,is:140,keyof:141,let:119,module:142,namespace:143,never:144,new:103,null:104,number:148,object:149,package:120,private:121,protected:122,public:123,override:161,out:145,readonly:146,require:147,global:159,return:105,satisfies:150,set:151,static:124,string:152,super:106,switch:107,symbol:153,this:108,throw:109,true:110,try:111,type:154,typeof:112,undefined:155,unique:156,unknown:157,var:113,void:114,while:115,with:116,yield:125,async:132,await:133,of:162},kv=new Map(Object.entries(xv)),Bv=new Map(Object.entries(Object.assign(Object.assign({},xv),{},{"{":18,"}":19,"(":20,")":21,"[":22,"]":23,".":24,"...":25,";":26,",":27,"<":29,">":31,"<=":32,">=":33,"==":34,"!=":35,"===":36,"!==":37,"=>":38,"+":39,"-":40,"**":42,"*":41,"/":43,"%":44,"++":45,"--":46,"<<":47,">":48,">>>":49,"&":50,"|":51,"^":52,"!":53,"~":54,"&&":55,"||":56,"?":57,"??":60,"?.":28,":":58,"=":63,"+=":64,"-=":65,"*=":66,"**=":67,"/=":68,"%=":69,"<<=":70,">>=":71,">>>=":72,"&=":73,"|=":74,"^=":78,"||=":75,"&&=":76,"??=":77,"@":59,"#":62,"`":61}))),Tv=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1569,1594,1600,1610,1649,1747,1749,1749,1765,1766,1786,1788,1808,1808,1810,1836,1920,1957,2309,2361,2365,2365,2384,2384,2392,2401,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2784,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2877,2877,2908,2909,2911,2913,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3294,3294,3296,3297,3333,3340,3342,3344,3346,3368,3370,3385,3424,3425,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3946,3976,3979,4096,4129,4131,4135,4137,4138,4176,4181,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6067,6176,6263,6272,6312,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8319,8319,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12329,12337,12341,12344,12346,12353,12436,12445,12446,12449,12538,12540,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65138,65140,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],Fv=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,768,846,864,866,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1155,1158,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1425,1441,1443,1465,1467,1469,1471,1471,1473,1474,1476,1476,1488,1514,1520,1522,1569,1594,1600,1621,1632,1641,1648,1747,1749,1756,1759,1768,1770,1773,1776,1788,1808,1836,1840,1866,1920,1968,2305,2307,2309,2361,2364,2381,2384,2388,2392,2403,2406,2415,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2524,2525,2527,2531,2534,2545,2562,2562,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2649,2652,2654,2654,2662,2676,2689,2691,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2784,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2876,2883,2887,2888,2891,2893,2902,2903,2908,2909,2911,2913,2918,2927,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3006,3010,3014,3016,3018,3021,3031,3031,3047,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3134,3140,3142,3144,3146,3149,3157,3158,3168,3169,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3262,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3297,3302,3311,3330,3331,3333,3340,3342,3344,3346,3368,3370,3385,3390,3395,3398,3400,3402,3405,3415,3415,3424,3425,3430,3439,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3805,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3946,3953,3972,3974,3979,3984,3991,3993,4028,4038,4038,4096,4129,4131,4135,4137,4138,4140,4146,4150,4153,4160,4169,4176,4185,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,4969,4977,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6099,6112,6121,6160,6169,6176,6263,6272,6313,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8319,8319,8400,8412,8417,8417,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12335,12337,12341,12344,12346,12353,12436,12441,12442,12445,12446,12449,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65056,65059,65075,65076,65101,65103,65136,65138,65140,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65381,65470,65474,65479,65482,65487,65490,65495,65498,65500],Nv=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2208,2208,2210,2220,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7413,7414,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],Ov=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1319,1329,1366,1369,1369,1377,1415,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1520,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2048,2093,2112,2139,2208,2208,2210,2220,2276,2302,2304,2403,2406,2415,2417,2423,2425,2431,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3161,3168,3171,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3330,3331,3333,3340,3342,3344,3346,3386,3389,3396,3398,3400,3402,3406,3415,3415,3424,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6263,6272,6314,6320,6389,6400,6428,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7376,7378,7380,7414,7424,7654,7676,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8204,8205,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,11823,11823,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12442,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42647,42655,42737,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43047,43072,43123,43136,43204,43216,43225,43232,43255,43259,43259,43264,43309,43312,43347,43360,43388,43392,43456,43471,43481,43520,43574,43584,43597,43600,43609,43616,43638,43642,43643,43648,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65062,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],Mv=[65,90,97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2208,2228,2230,2237,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6264,6272,6312,6314,6314,6320,6389,6400,6430,6480,6509,6512,6516,6528,6571,6576,6601,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12443,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42653,42656,42735,42775,42783,42786,42888,42891,42943,42946,42950,42999,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43261,43262,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43488,43492,43494,43503,43514,43518,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66176,66204,66208,66256,66304,66335,66349,66378,66384,66421,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,69376,69404,69415,69415,69424,69445,69600,69622,69635,69687,69763,69807,69840,69864,69891,69926,69956,69956,69968,70002,70006,70006,70019,70066,70081,70084,70106,70106,70108,70108,70144,70161,70163,70187,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70751,70751,70784,70831,70852,70853,70855,70855,71040,71086,71128,71131,71168,71215,71236,71236,71296,71338,71352,71352,71424,71450,71680,71723,71840,71903,71935,71935,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72384,72440,72704,72712,72714,72750,72768,72768,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73056,73061,73063,73064,73066,73097,73112,73112,73440,73458,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92880,92909,92928,92975,92992,92995,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,123136,123180,123191,123197,123214,123214,123584,123627,124928,125124,125184,125251,125259,125259,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101],OE=[48,57,65,90,95,95,97,122,170,170,181,181,183,183,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,895,895,902,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1327,1329,1366,1369,1369,1376,1416,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1519,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2045,2045,2048,2093,2112,2139,2144,2154,2208,2228,2230,2237,2259,2273,2275,2403,2406,2415,2417,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2556,2556,2558,2558,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2809,2815,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3072,3084,3086,3088,3090,3112,3114,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3162,3168,3171,3174,3183,3200,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3328,3331,3333,3340,3342,3344,3346,3396,3398,3400,3402,3406,3412,3415,3423,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3558,3567,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4969,4977,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6264,6272,6314,6320,6389,6400,6430,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6618,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6832,6845,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7296,7304,7312,7354,7357,7359,7376,7378,7380,7418,7424,7673,7675,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42737,42775,42783,42786,42888,42891,42943,42946,42950,42999,43047,43072,43123,43136,43205,43216,43225,43232,43255,43259,43259,43261,43309,43312,43347,43360,43388,43392,43456,43471,43481,43488,43518,43520,43574,43584,43597,43600,43609,43616,43638,43642,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65071,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66045,66045,66176,66204,66208,66256,66272,66272,66304,66335,66349,66378,66384,66426,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66720,66729,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68099,68101,68102,68108,68115,68117,68119,68121,68149,68152,68154,68159,68159,68192,68220,68224,68252,68288,68295,68297,68326,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68903,68912,68921,69376,69404,69415,69415,69424,69456,69600,69622,69632,69702,69734,69743,69759,69818,69840,69864,69872,69881,69888,69940,69942,69951,69956,69958,69968,70003,70006,70006,70016,70084,70089,70092,70096,70106,70108,70108,70144,70161,70163,70199,70206,70206,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70378,70384,70393,70400,70403,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70459,70468,70471,70472,70475,70477,70480,70480,70487,70487,70493,70499,70502,70508,70512,70516,70656,70730,70736,70745,70750,70751,70784,70853,70855,70855,70864,70873,71040,71093,71096,71104,71128,71133,71168,71232,71236,71236,71248,71257,71296,71352,71360,71369,71424,71450,71453,71467,71472,71481,71680,71738,71840,71913,71935,71935,72096,72103,72106,72151,72154,72161,72163,72164,72192,72254,72263,72263,72272,72345,72349,72349,72384,72440,72704,72712,72714,72758,72760,72768,72784,72793,72818,72847,72850,72871,72873,72886,72960,72966,72968,72969,72971,73014,73018,73018,73020,73021,73023,73031,73040,73049,73056,73061,73063,73064,73066,73102,73104,73105,73107,73112,73120,73129,73440,73462,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92768,92777,92880,92909,92912,92916,92928,92982,92992,92995,93008,93017,93027,93047,93053,93071,93760,93823,93952,94026,94031,94087,94095,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,113821,113822,119141,119145,119149,119154,119163,119170,119173,119179,119210,119213,119362,119364,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,120782,120831,121344,121398,121403,121452,121461,121461,121476,121476,121499,121503,121505,121519,122880,122886,122888,122904,122907,122913,122915,122916,122918,122922,123136,123180,123184,123197,123200,123209,123214,123214,123584,123641,124928,125124,125136,125142,125184,125259,125264,125273,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101,917760,917999],eC=/^\/\/\/?\s*@(ts-expect-error|ts-ignore)/,tC=/^(?:\/|\*)*\s*@(ts-expect-error|ts-ignore)/,rC=cA(Bv),nC=7,iC=/^#!.*/,sC=String.prototype.codePointAt?(Me,Bn)=>Me.codePointAt(Bn):function(Me,Bn){let Hn=Me.length;if(Bn<0||Bn>=Hn)return;let zn=Me.charCodeAt(Bn);if(zn>=55296&&zn<=56319&&Hn>Bn+1){let Hn=Me.charCodeAt(Bn+1);if(Hn>=56320&&Hn<=57343)return(zn-55296)*1024+Hn-56320+65536}return zn},aC=String.fromCodePoint?Me=>String.fromCodePoint(Me):mA}});function gA(Me){return So(Me)||A_(Me)}function yA(Me){return uo(Me,av)}function aS(Me){switch(Uf(Me)){case 99:return"lib.esnext.full.d.ts";case 9:return"lib.es2022.full.d.ts";case 8:return"lib.es2021.full.d.ts";case 7:return"lib.es2020.full.d.ts";case 6:return"lib.es2019.full.d.ts";case 5:return"lib.es2018.full.d.ts";case 4:return"lib.es2017.full.d.ts";case 3:return"lib.es2016.full.d.ts";case 2:return"lib.es6.d.ts";default:return"lib.d.ts"}}function Ir(Me){return Me.start+Me.length}function sS(Me){return Me.length===0}function vA(Me,Bn){return Bn>=Me.start&&Bn=Me.pos&&Bn<=Me.end}function TA(Me,Bn){return Bn.start>=Me.start&&Ir(Bn)<=Ir(Me)}function SA(Me,Bn){return oS(Me,Bn)!==void 0}function oS(Me,Bn){let Hn=_S(Me,Bn);return Hn&&Hn.length===0?void 0:Hn}function xA(Me,Bn){return Sy(Me.start,Me.length,Bn.start,Bn.length)}function EA(Me,Bn,Hn){return Sy(Me.start,Me.length,Bn,Hn)}function Sy(Me,Bn,Hn,zn){let ni=Me+Bn,Ci=Hn+zn;return Hn<=ni&&Ci>=Me}function wA(Me,Bn){return Bn<=Ir(Me)&&Bn>=Me.start}function _S(Me,Bn){let Hn=Math.max(Me.start,Bn.start),zn=Math.min(Ir(Me),Ir(Bn));return Hn<=zn?ha(Hn,zn):void 0}function L_(Me,Bn){if(Me<0)throw new Error("start < 0");if(Bn<0)throw new Error("length < 0");return{start:Me,length:Bn}}function ha(Me,Bn){return L_(Me,Bn-Me)}function R_(Me){return L_(Me.span.start,Me.newLength)}function cS(Me){return sS(Me.span)&&Me.newLength===0}function Zp(Me,Bn){if(Bn<0)throw new Error("newLength < 0");return{span:Me,newLength:Bn}}function CA(Me){if(Me.length===0)return uC;if(Me.length===1)return Me[0];let Bn=Me[0],Hn=Bn.span.start,zn=Ir(Bn.span),ni=Hn+Bn.newLength;for(let Bn=1;BnMe.flags))}function DA(Me,Bn,Hn){let zn=Me.toLowerCase(),ni=/^([a-z]+)([_\-]([a-z]+))?$/.exec(zn);if(!ni){Hn&&Hn.push(Ol(Sv.Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1,"en","ja-jp"));return}let Ci=ni[1],ts=ni[3];pe(cC,zn)&&!A(Ci,ts,Hn)&&A(Ci,void 0,Hn),xp(Me);function A(Me,Hn,zn){let ni=Un(Bn.getExecutingFilePath()),Ci=ma(ni),ts=tn(Ci,Me);if(Hn&&(ts=ts+"-"+Hn),ts=Bn.resolvePath(tn(ts,"diagnosticMessages.generated.json")),!Bn.fileExists(ts))return!1;let Ps="";try{Ps=Bn.readFile(ts)}catch{return zn&&zn.push(Ol(Sv.Unable_to_open_file_0,ts)),!1}try{yx(JSON.parse(Ps))}catch{return zn&&zn.push(Ol(Sv.Corrupted_locale_file_0,ts)),!1}return!0}}function ul(Me,Bn){if(Me)for(;Me.original!==void 0;)Me=Me.original;return!Me||!Bn||Bn(Me)?Me:void 0}function zi(Me,Bn){for(;Me;){let Hn=Bn(Me);if(Hn==="quit")return;if(Hn)return Me;Me=Me.parent}}function pl(Me){return(Me.flags&8)===0}function fl(Me,Bn){if(Me===void 0||pl(Me))return Me;for(Me=Me.original;Me;){if(pl(Me))return!Bn||Bn(Me)?Me:void 0;Me=Me.original}}function vi(Me){return Me.length>=2&&Me.charCodeAt(0)===95&&Me.charCodeAt(1)===95?"_"+Me:Me}function dl(Me){let Bn=Me;return Bn.length>=3&&Bn.charCodeAt(0)===95&&Bn.charCodeAt(1)===95&&Bn.charCodeAt(2)===95?Bn.substr(1):Bn}function qr(Me){return dl(Me.escapedText)}function dS(Me){let Bn=_l(Me.escapedText);return Bn?ln(Bn,ba):void 0}function rf(Me){return Me.valueDeclaration&&zS(Me.valueDeclaration)?qr(Me.valueDeclaration.name):dl(Me.escapedName)}function mS(Me){let Bn=Me.parent.parent;if(Bn){if(ko(Bn))return nf(Bn);switch(Bn.kind){case 240:if(Bn.declarationList&&Bn.declarationList.declarations[0])return nf(Bn.declarationList.declarations[0]);break;case 241:let Me=Bn.expression;switch(Me.kind===223&&Me.operatorToken.kind===63&&(Me=Me.left),Me.kind){case 208:return Me.name;case 209:let Bn=Me.argumentExpression;if(yt(Bn))return Bn}break;case 214:return nf(Bn.expression);case 253:{if(ko(Bn.statement)||mf(Bn.statement))return nf(Bn.statement);break}}}}function nf(Me){let Bn=ml(Me);return Bn&&yt(Bn)?Bn:void 0}function hS(Me,Bn){return!!(af(Me)&&yt(Me.name)&&qr(Me.name)===qr(Bn)||zo(Me)&&Ke(Me.declarationList.declarations,(Me=>hS(Me,Bn))))}function gS(Me){return Me.name||mS(Me)}function af(Me){return!!Me.name}function Ey(Me){switch(Me.kind){case 79:return Me;case 351:case 344:{let{name:Bn}=Me;if(Bn.kind===163)return Bn.right;break}case 210:case 223:{let Bn=Me;switch(ps(Bn)){case 1:case 4:case 5:case 3:return Cf(Bn.left);case 7:case 8:case 9:return Bn.arguments[1];default:return}}case 349:return gS(Me);case 343:return mS(Me);case 274:{let{expression:Bn}=Me;return yt(Bn)?Bn:void 0}case 209:let Bn=Me;if(x0(Bn))return Bn.argumentExpression}return Me.name}function ml(Me){if(Me!==void 0)return Ey(Me)||(ad(Me)||sd(Me)||_d(Me)?yS(Me):void 0)}function yS(Me){if(Me.parent){if(lc(Me.parent)||Xl(Me.parent))return Me.parent.name;if(ur(Me.parent)&&Me===Me.parent.right){if(yt(Me.parent.left))return Me.parent.left;if(Lo(Me.parent.left))return Cf(Me.parent.left)}else if(Vi(Me.parent)&&yt(Me.parent.name))return Me.parent.name}else return}function kA(Me){if(Il(Me))return ee(Me.modifiers,zl)}function sf(Me){if(rn(Me,126975))return ee(Me.modifiers,Oy)}function vS(Me,Bn){if(Me.name)if(yt(Me.name)){let Hn=Me.name.escapedText;return j_(Me.parent,Bn).filter((Me=>pc(Me)&&yt(Me.name)&&Me.name.escapedText===Hn))}else{let Hn=Me.parent.parameters.indexOf(Me);qp.assert(Hn>-1,"Parameters should always be in their parents' parameter list");let zn=j_(Me.parent,Bn).filter(pc);if(HnGo(Me)&&Me.typeParameters.some((Me=>Me.name.escapedText===Hn))))}function SS(Me){return TS(Me,!1)}function xS(Me){return TS(Me,!0)}function IA(Me){return!!Nr(Me,pc)}function ES(Me){return Nr(Me,md)}function wS(Me){return MS(Me,hE)}function NA(Me){return Nr(Me,pE)}function OA(Me){return Nr(Me,d2)}function CS(Me){return Nr(Me,d2,!0)}function MA(Me){return Nr(Me,m2)}function AS(Me){return Nr(Me,m2,!0)}function LA(Me){return Nr(Me,h2)}function PS(Me){return Nr(Me,h2,!0)}function RA(Me){return Nr(Me,g2)}function DS(Me){return Nr(Me,g2,!0)}function kS(Me){return Nr(Me,fE,!0)}function jA(Me){return Nr(Me,v2)}function IS(Me){return Nr(Me,v2,!0)}function JA(Me){return Nr(Me,dE)}function FA(Me){return Nr(Me,mE)}function NS(Me){return Nr(Me,b2)}function BA(Me){return Nr(Me,Go)}function wy(Me){return Nr(Me,T2)}function _f(Me){let Bn=Nr(Me,au);if(Bn&&Bn.typeExpression&&Bn.typeExpression.type)return Bn}function cf(Me){let Bn=Nr(Me,au);return!Bn&&Vs(Me)&&(Bn=Ae(of(Me),(Me=>!!Me.typeExpression))),Bn&&Bn.typeExpression&&Bn.typeExpression.type}function OS(Me){let Bn=NS(Me);if(Bn&&Bn.typeExpression)return Bn.typeExpression.type;let Hn=_f(Me);if(Hn&&Hn.typeExpression){let Me=Hn.typeExpression.type;if(id(Me)){let Bn=Ae(Me.members,Vv);return Bn&&Bn.type}if($l(Me)||dd(Me))return Me.type}}function j_(Me,Bn){var Hn,zn;if(!Af(Me))return ca;let ni=(Hn=Me.jsDoc)==null?void 0:Hn.jsDocCache;if(ni===void 0||Bn){let Hn=r4(Me,Bn);qp.assert(Hn.length<2||Hn[0]!==Hn[1]),ni=ne(Hn,(Me=>Ho(Me)?Me.tags:Me)),Bn||((zn=Me.jsDoc)!=null||(Me.jsDoc=[]),Me.jsDoc.jsDocCache=ni)}return ni}function hl(Me){return j_(Me,!1)}function qA(Me){return j_(Me,!0)}function Nr(Me,Bn,Hn){return Ae(j_(Me,Hn),Bn)}function MS(Me,Bn){return hl(Me).filter(Bn)}function UA(Me,Bn){return hl(Me).filter((Me=>Me.kind===Bn))}function zA(Me){return typeof Me=="string"?Me:Me==null?void 0:Me.map((Me=>Me.kind===324?Me.text:WA(Me))).join("")}function WA(Me){let Bn=Me.kind===327?"link":Me.kind===328?"linkcode":"linkplain",Hn=Me.name?ls(Me.name):"",zn=Me.name&&Me.text.startsWith("://")?"":" ";return`{@${Bn} ${Hn}${zn}${Me.text}}`}function VA(Me){if(iu(Me)){if(y2(Me.parent)){let Bn=P0(Me.parent);if(Bn&&I(Bn.tags))return ne(Bn.tags,(Me=>Go(Me)?Me.typeParameters:void 0))}return ca}if(Cl(Me))return qp.assert(Me.parent.kind===323),ne(Me.parent.tags,(Me=>Go(Me)?Me.typeParameters:void 0));if(Me.typeParameters||IE(Me)&&Me.typeParameters)return Me.typeParameters;if(Pr(Me)){let Bn=F4(Me);if(Bn.length)return Bn;let Hn=cf(Me);if(Hn&&$l(Hn)&&Hn.typeParameters)return Hn.typeParameters}return ca}function HA(Me){return Me.constraint?Me.constraint:Go(Me.parent)&&Me===Me.parent.typeParameters[0]?Me.parent.constraint:void 0}function js(Me){return Me.kind===79||Me.kind===80}function GA(Me){return Me.kind===175||Me.kind===174}function LS(Me){return bn(Me)&&!!(Me.flags&32)}function RS(Me){return gs(Me)&&!!(Me.flags&32)}function Cy(Me){return sc(Me)&&!!(Me.flags&32)}function Ay(Me){let Bn=Me.kind;return!!(Me.flags&32)&&(Bn===208||Bn===209||Bn===210||Bn===232)}function Py(Me){return Ay(Me)&&!Uo(Me)&&!!Me.questionDotToken}function $A(Me){return Py(Me.parent)&&Me.parent.expression===Me}function KA(Me){return!Ay(Me.parent)||Py(Me.parent)||Me!==Me.parent.expression}function XA(Me){return Me.kind===223&&Me.operatorToken.kind===60}function jS(Me){return ac(Me)&&yt(Me.typeName)&&Me.typeName.escapedText==="const"&&!Me.typeArguments}function lf(Me){return $o(Me,8)}function JS(Me){return Uo(Me)&&!!(Me.flags&32)}function YA(Me){return Me.kind===249||Me.kind===248}function QA(Me){return Me.kind===277||Me.kind===276}function FS(Me){switch(Me.kind){case 305:case 306:return!0;default:return!1}}function ZA(Me){return FS(Me)||Me.kind===303||Me.kind===307}function Dy(Me){return Me.kind===351||Me.kind===344}function eP(Me){return gl(Me.kind)}function gl(Me){return Me>=163}function BS(Me){return Me>=0&&Me<=162}function tP(Me){return BS(Me.kind)}function _s(Me){return Jr(Me,"pos")&&Jr(Me,"end")}function ky(Me){return 8<=Me&&Me<=14}function Iy(Me){return ky(Me.kind)}function rP(Me){switch(Me.kind){case 207:case 206:case 13:case 215:case 228:return!0}return!1}function yl(Me){return 14<=Me&&Me<=17}function nP(Me){return yl(Me.kind)}function iP(Me){let Bn=Me.kind;return Bn===16||Bn===17}function aP(Me){return nE(Me)||aE(Me)}function qS(Me){switch(Me.kind){case 273:return Me.isTypeOnly||Me.parent.parent.isTypeOnly;case 271:return Me.parent.isTypeOnly;case 270:case 268:return Me.isTypeOnly}return!1}function US(Me){switch(Me.kind){case 278:return Me.isTypeOnly||Me.parent.parent.isTypeOnly;case 275:return Me.isTypeOnly&&!!Me.moduleSpecifier&&!Me.exportClause;case 277:return Me.parent.isTypeOnly}return!1}function sP(Me){return qS(Me)||US(Me)}function oP(Me){return Gn(Me)||yt(Me)}function _P(Me){return Me.kind===10||yl(Me.kind)}function cs(Me){var Bn;return yt(Me)&&((Bn=Me.emitNode)==null?void 0:Bn.autoGenerate)!==void 0}function Ny(Me){var Bn;return vn(Me)&&((Bn=Me.emitNode)==null?void 0:Bn.autoGenerate)!==void 0}function zS(Me){return(Bo(Me)||Ly(Me))&&vn(Me.name)}function cP(Me){return bn(Me)&&vn(Me.name)}function Wi(Me){switch(Me){case 126:case 127:case 132:case 85:case 136:case 88:case 93:case 101:case 123:case 121:case 122:case 146:case 124:case 145:case 161:return!0}return!1}function WS(Me){return!!(Q0(Me)&16476)}function VS(Me){return WS(Me)||Me===124||Me===161||Me===127}function Oy(Me){return Wi(Me.kind)}function lP(Me){let Bn=Me.kind;return Bn===163||Bn===79}function vl(Me){let Bn=Me.kind;return Bn===79||Bn===80||Bn===10||Bn===8||Bn===164}function uP(Me){let Bn=Me.kind;return Bn===79||Bn===203||Bn===204}function ga(Me){return!!Me&&My(Me.kind)}function uf(Me){return!!Me&&(My(Me.kind)||Hl(Me))}function HS(Me){return Me&&GS(Me.kind)}function pP(Me){return Me.kind===110||Me.kind===95}function GS(Me){switch(Me){case 259:case 171:case 173:case 174:case 175:case 215:case 216:return!0;default:return!1}}function My(Me){switch(Me){case 170:case 176:case 326:case 177:case 178:case 181:case 320:case 182:return!0;default:return GS(Me)}}function fP(Me){return wi(Me)||rE(Me)||Ql(Me)&&ga(Me.parent)}function Js(Me){let Bn=Me.kind;return Bn===173||Bn===169||Bn===171||Bn===174||Bn===175||Bn===178||Bn===172||Bn===237}function bi(Me){return Me&&(Me.kind===260||Me.kind===228)}function pf(Me){return Me&&(Me.kind===174||Me.kind===175)}function $S(Me){return Bo(Me)&&H4(Me)}function Ly(Me){switch(Me.kind){case 171:case 174:case 175:return!0;default:return!1}}function dP(Me){switch(Me.kind){case 171:case 174:case 175:case 169:return!0;default:return!1}}function ff(Me){return Oy(Me)||zl(Me)}function Ry(Me){let Bn=Me.kind;return Bn===177||Bn===176||Bn===168||Bn===170||Bn===178||Bn===174||Bn===175}function mP(Me){return Ry(Me)||Js(Me)}function jy(Me){let Bn=Me.kind;return Bn===299||Bn===300||Bn===301||Bn===171||Bn===174||Bn===175}function Jy(Me){return hx(Me.kind)}function hP(Me){switch(Me.kind){case 181:case 182:return!0}return!1}function df(Me){if(Me){let Bn=Me.kind;return Bn===204||Bn===203}return!1}function KS(Me){let Bn=Me.kind;return Bn===206||Bn===207}function gP(Me){let Bn=Me.kind;return Bn===205||Bn===229}function Fy(Me){switch(Me.kind){case 257:case 166:case 205:return!0}return!1}function yP(Me){return Vi(Me)||Vs(Me)||YS(Me)||ZS(Me)}function vP(Me){return XS(Me)||QS(Me)}function XS(Me){switch(Me.kind){case 203:case 207:return!0}return!1}function YS(Me){switch(Me.kind){case 205:case 299:case 300:case 301:return!0}return!1}function QS(Me){switch(Me.kind){case 204:case 206:return!0}return!1}function ZS(Me){switch(Me.kind){case 205:case 229:case 227:case 206:case 207:case 79:case 208:case 209:return!0}return ms(Me,!0)}function bP(Me){let Bn=Me.kind;return Bn===208||Bn===163||Bn===202}function TP(Me){let Bn=Me.kind;return Bn===208||Bn===163}function SP(Me){switch(Me.kind){case 283:case 282:case 210:case 211:case 212:case 167:return!0;default:return!1}}function xP(Me){return Me.kind===210||Me.kind===211}function EP(Me){let Bn=Me.kind;return Bn===225||Bn===14}function Do(Me){return e3(lf(Me).kind)}function e3(Me){switch(Me){case 208:case 209:case 211:case 210:case 281:case 282:case 285:case 212:case 206:case 214:case 207:case 228:case 215:case 79:case 80:case 13:case 8:case 9:case 10:case 14:case 225:case 95:case 104:case 108:case 110:case 106:case 232:case 230:case 233:case 100:case 279:return!0;default:return!1}}function t3(Me){return r3(lf(Me).kind)}function r3(Me){switch(Me){case 221:case 222:case 217:case 218:case 219:case 220:case 213:return!0;default:return e3(Me)}}function wP(Me){switch(Me.kind){case 222:return!0;case 221:return Me.operator===45||Me.operator===46;default:return!1}}function CP(Me){switch(Me.kind){case 104:case 110:case 95:case 221:return!0;default:return Iy(Me)}}function mf(Me){return AP(lf(Me).kind)}function AP(Me){switch(Me){case 224:case 226:case 216:case 223:case 227:case 231:case 229:case 357:case 356:case 235:return!0;default:return r3(Me)}}function PP(Me){let Bn=Me.kind;return Bn===213||Bn===231}function DP(Me){return c2(Me)||Z8(Me)}function n3(Me,Bn){switch(Me.kind){case 245:case 246:case 247:case 243:case 244:return!0;case 253:return Bn&&n3(Me.statement,Bn)}return!1}function i3(Me){return Vo(Me)||cc(Me)}function kP(Me){return Ke(Me,i3)}function IP(Me){return!bf(Me)&&!Vo(Me)&&!rn(Me,1)&&!yf(Me)}function NP(Me){return bf(Me)||Vo(Me)||rn(Me,1)}function OP(Me){return Me.kind===246||Me.kind===247}function MP(Me){return Ql(Me)||mf(Me)}function LP(Me){return Ql(Me)}function RP(Me){return r2(Me)||mf(Me)}function jP(Me){let Bn=Me.kind;return Bn===265||Bn===264||Bn===79}function JP(Me){let Bn=Me.kind;return Bn===265||Bn===264}function FP(Me){let Bn=Me.kind;return Bn===79||Bn===264}function BP(Me){let Bn=Me.kind;return Bn===272||Bn===271}function qP(Me){return Me.kind===264||Me.kind===263}function UP(Me){switch(Me.kind){case 216:case 223:case 205:case 210:case 176:case 260:case 228:case 172:case 173:case 182:case 177:case 209:case 263:case 302:case 274:case 275:case 278:case 259:case 215:case 181:case 174:case 79:case 270:case 268:case 273:case 178:case 261:case 341:case 343:case 320:case 344:case 351:case 326:case 349:case 325:case 288:case 289:case 290:case 197:case 171:case 170:case 264:case 199:case 277:case 267:case 271:case 211:case 14:case 8:case 207:case 166:case 208:case 299:case 169:case 168:case 175:case 300:case 308:case 301:case 10:case 262:case 184:case 165:case 257:return!0;default:return!1}}function zP(Me){switch(Me.kind){case 216:case 238:case 176:case 266:case 295:case 172:case 191:case 173:case 182:case 177:case 245:case 246:case 247:case 259:case 215:case 181:case 174:case 178:case 341:case 343:case 320:case 326:case 349:case 197:case 171:case 170:case 264:case 175:case 308:case 262:return!0;default:return!1}}function WP(Me){return Me===216||Me===205||Me===260||Me===228||Me===172||Me===173||Me===263||Me===302||Me===278||Me===259||Me===215||Me===174||Me===270||Me===268||Me===273||Me===261||Me===288||Me===171||Me===170||Me===264||Me===267||Me===271||Me===277||Me===166||Me===299||Me===169||Me===168||Me===175||Me===300||Me===262||Me===165||Me===257||Me===349||Me===341||Me===351}function By(Me){return Me===259||Me===279||Me===260||Me===261||Me===262||Me===263||Me===264||Me===269||Me===268||Me===275||Me===274||Me===267}function qy(Me){return Me===249||Me===248||Me===256||Me===243||Me===241||Me===239||Me===246||Me===247||Me===245||Me===242||Me===253||Me===250||Me===252||Me===254||Me===255||Me===240||Me===244||Me===251||Me===355||Me===359||Me===358}function ko(Me){return Me.kind===165?Me.parent&&Me.parent.kind!==348||Pr(Me):WP(Me.kind)}function VP(Me){return By(Me.kind)}function HP(Me){return qy(Me.kind)}function a3(Me){let Bn=Me.kind;return qy(Bn)||By(Bn)||GP(Me)}function GP(Me){return Me.kind!==238||Me.parent!==void 0&&(Me.parent.kind===255||Me.parent.kind===295)?!1:!O3(Me)}function s3(Me){let Bn=Me.kind;return qy(Bn)||By(Bn)||Bn===238}function $P(Me){let Bn=Me.kind;return Bn===280||Bn===163||Bn===79}function KP(Me){let Bn=Me.kind;return Bn===108||Bn===79||Bn===208}function o3(Me){let Bn=Me.kind;return Bn===281||Bn===291||Bn===282||Bn===11||Bn===285}function XP(Me){let Bn=Me.kind;return Bn===288||Bn===290}function YP(Me){let Bn=Me.kind;return Bn===10||Bn===291}function _3(Me){let Bn=Me.kind;return Bn===283||Bn===282}function QP(Me){let Bn=Me.kind;return Bn===292||Bn===293}function Uy(Me){return Me.kind>=312&&Me.kind<=353}function c3(Me){return Me.kind===323||Me.kind===322||Me.kind===324||Sl(Me)||zy(Me)||f2(Me)||iu(Me)}function zy(Me){return Me.kind>=330&&Me.kind<=353}function bl(Me){return Me.kind===175}function Tl(Me){return Me.kind===174}function ya(Me){if(!Af(Me))return!1;let{jsDoc:Bn}=Me;return!!Bn&&Bn.length>0}function ZP(Me){return!!Me.type}function l3(Me){return!!Me.initializer}function eD(Me){switch(Me.kind){case 257:case 166:case 205:case 169:case 299:case 302:return!0;default:return!1}}function Wy(Me){return Me.kind===288||Me.kind===290||jy(Me)}function tD(Me){return Me.kind===180||Me.kind===230}function rD(Me){let Bn=lC;for(let Hn of Me){if(!Hn.length)continue;let Me=0;for(;MeMe.kind===Bn))}function oD(Me){let Bn=new Map;if(Me)for(let Hn of Me)Bn.set(Hn.escapedName,Hn);return Bn}function $y(Me){return(Me.flags&33554432)!==0}function _D(){var Me="";let t=Bn=>Me+=Bn;return{getText:()=>Me,write:t,rawWrite:t,writeKeyword:t,writeOperator:t,writePunctuation:t,writeSpace:t,writeStringLiteral:t,writeLiteral:t,writeParameter:t,writeProperty:t,writeSymbol:(Me,Bn)=>t(Me),writeTrailingSemicolon:t,writeComment:t,getTextPos:()=>Me.length,getLine:()=>0,getColumn:()=>0,getIndent:()=>0,isAtStartOfLine:()=>!1,hasTrailingComment:()=>!1,hasTrailingWhitespace:()=>!!Me.length&&os(Me.charCodeAt(Me.length-1)),writeLine:()=>Me+=" ",increaseIndent:yn,decreaseIndent:yn,clear:()=>Me=""}}function cD(Me,Bn){return Me.configFilePath!==Bn.configFilePath||p3(Me,Bn)}function p3(Me,Bn){return J_(Me,Bn,moduleResolutionOptionDeclarations)}function lD(Me,Bn){return J_(Me,Bn,optionsAffectingProgramStructure)}function J_(Me,Bn,Hn){return Me!==Bn&&Hn.some((Hn=>!gv(uv(Me,Hn),uv(Bn,Hn))))}function uD(Me,Bn){for(;;){let Hn=Bn(Me);if(Hn==="quit")return;if(Hn!==void 0)return Hn;if(wi(Me))return;Me=Me.parent}}function pD(Me,Bn){let Hn=Me.entries();for(let[Me,zn]of Hn){let Hn=Bn(zn,Me);if(Hn)return Hn}}function fD(Me,Bn){let Hn=Me.keys();for(let Me of Hn){let Hn=Bn(Me);if(Hn)return Hn}}function dD(Me,Bn){Me.forEach(((Me,Hn)=>{Bn.set(Hn,Me)}))}function mD(Me){let Bn=mC.getText();try{return Me(mC),mC.getText()}finally{mC.clear(),mC.writeKeyword(Bn)}}function hf(Me){return Me.end-Me.pos}function hD(Me,Bn,Hn){var zn,ni;return(ni=(zn=Me==null?void 0:Me.resolvedModules)==null?void 0:zn.get(Bn,Hn))==null?void 0:ni.resolvedModule}function gD(Me,Bn,Hn,zn){Me.resolvedModules||(Me.resolvedModules=createModeAwareCache()),Me.resolvedModules.set(Bn,zn,Hn)}function yD(Me,Bn,Hn,zn){Me.resolvedTypeReferenceDirectiveNames||(Me.resolvedTypeReferenceDirectiveNames=createModeAwareCache()),Me.resolvedTypeReferenceDirectiveNames.set(Bn,zn,Hn)}function vD(Me,Bn,Hn){var zn,ni;return(ni=(zn=Me==null?void 0:Me.resolvedTypeReferenceDirectiveNames)==null?void 0:zn.get(Bn,Hn))==null?void 0:ni.resolvedTypeReferenceDirective}function bD(Me,Bn){return Me.path===Bn.path&&!Me.prepend==!Bn.prepend&&!Me.circular==!Bn.circular}function TD(Me,Bn){return Me===Bn||Me.resolvedModule===Bn.resolvedModule||!!Me.resolvedModule&&!!Bn.resolvedModule&&Me.resolvedModule.isExternalLibraryImport===Bn.resolvedModule.isExternalLibraryImport&&Me.resolvedModule.extension===Bn.resolvedModule.extension&&Me.resolvedModule.resolvedFileName===Bn.resolvedModule.resolvedFileName&&Me.resolvedModule.originalPath===Bn.resolvedModule.originalPath&&SD(Me.resolvedModule.packageId,Bn.resolvedModule.packageId)}function SD(Me,Bn){return Me===Bn||!!Me&&!!Bn&&Me.name===Bn.name&&Me.subModuleName===Bn.subModuleName&&Me.version===Bn.version}function f3(Me){let{name:Bn,subModuleName:Hn}=Me;return Hn?`${Bn}/${Hn}`:Bn}function xD(Me){return`${f3(Me)}@${Me.version}`}function ED(Me,Bn){return Me===Bn||Me.resolvedTypeReferenceDirective===Bn.resolvedTypeReferenceDirective||!!Me.resolvedTypeReferenceDirective&&!!Bn.resolvedTypeReferenceDirective&&Me.resolvedTypeReferenceDirective.resolvedFileName===Bn.resolvedTypeReferenceDirective.resolvedFileName&&!!Me.resolvedTypeReferenceDirective.primary==!!Bn.resolvedTypeReferenceDirective.primary&&Me.resolvedTypeReferenceDirective.originalPath===Bn.resolvedTypeReferenceDirective.originalPath}function wD(Me,Bn,Hn,zn,ni,Ci){qp.assert(Me.length===Hn.length);for(let ts=0;ts=0),ss(Bn)[Me]}function ID(Me){let Bn=Si(Me),Hn=Ls(Bn,Me.pos);return`${Bn.fileName}(${Hn.line+1},${Hn.character+1})`}function d3(Me,Bn){qp.assert(Me>=0);let Hn=ss(Bn),zn=Me,ni=Bn.text;if(zn+1===Hn.length)return ni.length-1;{let Me=Hn[zn],Bn=Hn[zn+1]-1;for(qp.assert(un(ni.charCodeAt(Bn)));Me<=Bn&&un(ni.charCodeAt(Bn));)Bn--;return Bn}}function m3(Me,Bn,Hn){return!(Hn&&Hn(Bn))&&!Me.identifiers.has(Bn)}function va(Me){return Me===void 0?!0:Me.pos===Me.end&&Me.pos>=0&&Me.kind!==1}function xl(Me){return!va(Me)}function ND(Me,Bn){return Fo(Me)?Bn===Me.expression:Hl(Me)?Bn===Me.modifiers:Wl(Me)?Bn===Me.initializer:Bo(Me)?Bn===Me.questionToken&&$S(Me):lc(Me)?Bn===Me.modifiers||Bn===Me.questionToken||Bn===Me.exclamationToken||F_(Me.modifiers,Bn,ff):nu(Me)?Bn===Me.equalsToken||Bn===Me.modifiers||Bn===Me.questionToken||Bn===Me.exclamationToken||F_(Me.modifiers,Bn,ff):Vl(Me)?Bn===Me.exclamationToken:nc(Me)?Bn===Me.typeParameters||Bn===Me.type||F_(Me.typeParameters,Bn,Fo):Gl(Me)?Bn===Me.typeParameters||F_(Me.typeParameters,Bn,Fo):ic(Me)?Bn===Me.typeParameters||Bn===Me.type||F_(Me.typeParameters,Bn,Fo):a2(Me)?Bn===Me.modifiers||F_(Me.modifiers,Bn,ff):!1}function F_(Me,Bn,Hn){return!Me||ir(Bn)||!Hn(Bn)?!1:pe(Me,Bn)}function h3(Me,Bn,Hn){if(Bn===void 0||Bn.length===0)return Me;let zn=0;for(;zn[`${Ls(Me,Bn.range.end).line}`,Bn]))),zn=new Map;return{getUnusedExpectations:f,markUsed:x};function f(){return Za(Hn.entries()).filter((Me=>{let[Bn,Hn]=Me;return Hn.type===0&&!zn.get(Bn)})).map((Me=>{let[Bn,Hn]=Me;return Hn}))}function x(Me){return Hn.has(`${Me}`)?(zn.set(`${Me}`,!0),!0):!1}}function Io(Me,Bn,Hn){return va(Me)?Me.pos:Uy(Me)||Me.kind===11?Ar((Bn||Si(Me)).text,Me.pos,!1,!0):Hn&&ya(Me)?Io(Me.jsDoc[0],Bn):Me.kind===354&&Me._children.length>0?Io(Me._children[0],Bn,Hn):Ar((Bn||Si(Me)).text,Me.pos,!1,!1,q3(Me))}function FD(Me,Bn){let Hn=!va(Me)&&fc(Me)?te(Me.modifiers,zl):void 0;return Hn?Ar((Bn||Si(Me)).text,Hn.end):Io(Me,Bn)}function No(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return B_(Me.text,Bn,Hn)}function BD(Me){return!!zi(Me,lE)}function b3(Me){return!!(cc(Me)&&Me.exportClause&&ld(Me.exportClause)&&Me.exportClause.name.escapedText==="default")}function B_(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(va(Bn))return"";let zn=Me.substring(Hn?Bn.pos:Ar(Me,Bn.pos),Bn.end);return BD(Bn)&&(zn=zn.split(/\r\n|\n|\r/).map((Me=>Qp(Me.replace(/^\s*\*/,"")))).join(`\n`)),zn}function gf(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return No(Si(Me),Me,Bn)}function qD(Me){return Me.pos}function UD(Me,Bn){return Ya(Me,Bn,qD,Vr)}function xi(Me){let Bn=Me.emitNode;return Bn&&Bn.flags||0}function zD(Me){let Bn=Me.emitNode;return Bn&&Bn.internalFlags||0}function WD(Me,Bn,Hn){var zn;if(Bn&&VD(Me,Hn))return No(Bn,Me);switch(Me.kind){case 10:{let Bn=Hn&2?A4:Hn&1||xi(Me)&33554432?Nf:Of;return Me.singleQuote?"'"+Bn(Me.text,39)+"'":'"'+Bn(Me.text,34)+'"'}case 14:case 15:case 16:case 17:{let Bn=Hn&1||xi(Me)&33554432?Nf:Of,ni=(zn=Me.rawText)!=null?zn:SN(Bn(Me.text,96));switch(Me.kind){case 14:return"`"+ni+"`";case 15:return"`"+ni+"${";case 16:return"}"+ni+"${";case 17:return"}"+ni+"`"}break}case 8:case 9:return Me.text;case 13:return Hn&4&&Me.isUnterminated?Me.text+(Me.text.charCodeAt(Me.text.length-1)===92?" /":"/"):Me.text}return qp.fail(`Literal kind '${Me.kind}' not accounted for.`)}function VD(Me,Bn){return fs(Me)||!Me.parent||Bn&4&&Me.isUnterminated?!1:zs(Me)&&Me.numericLiteralFlags&512?!!(Bn&8):!Uv(Me)}function HD(Me){return Ji(Me)?'"'+Of(Me)+'"':""+Me}function GD(Me){return sl(Me).replace(/^(\d)/,"_$1").replace(/\W/g,"_")}function $D(Me){return(tf(Me)&3)!==0||T3(Me)}function T3(Me){let Bn=If(Me);return Bn.kind===257&&Bn.parent.kind===295}function yf(Me){return Ea(Me)&&(Me.name.kind===10||vf(Me))}function KD(Me){return Ea(Me)&&Me.name.kind===10}function XD(Me){return Ea(Me)&&Gn(Me.name)}function S3(Me){return Ea(Me)||yt(Me)}function YD(Me){return QD(Me.valueDeclaration)}function QD(Me){return!!Me&&Me.kind===264&&!Me.body}function ZD(Me){return Me.kind===308||Me.kind===264||uf(Me)}function vf(Me){return!!(Me.flags&1024)}function Xy(Me){return yf(Me)&&x3(Me)}function x3(Me){switch(Me.parent.kind){case 308:return Qo(Me.parent);case 265:return yf(Me.parent.parent)&&wi(Me.parent.parent.parent)&&!Qo(Me.parent.parent.parent)}return!1}function E3(Me){var Bn;return(Bn=Me.declarations)==null?void 0:Bn.find((Me=>!Xy(Me)&&!(Ea(Me)&&vf(Me))))}function ek(Me){return Me===1||Me===100||Me===199}function Yy(Me,Bn){return Qo(Me)||zf(Bn)||ek(Ei(Bn))&&!!Me.commonJsModuleIndicator}function tk(Me,Bn){switch(Me.scriptKind){case 1:case 3:case 2:case 4:break;default:return!1}return Me.isDeclarationFile?!1:lv(Bn,"alwaysStrict")||SE(Me.statements)?!0:Qo(Me)||zf(Bn)?Ei(Bn)>=5?!0:!Bn.noImplicitUseStrict:!1}function rk(Me){return!!(Me.flags&16777216)||rn(Me,2)}function w3(Me,Bn){switch(Me.kind){case 308:case 266:case 295:case 264:case 245:case 246:case 247:case 173:case 171:case 174:case 175:case 259:case 215:case 216:case 169:case 172:return!0;case 238:return!uf(Bn)}return!1}function nk(Me){switch(qp.type(Me),Me.kind){case 341:case 349:case 326:return!0;default:return C3(Me)}}function C3(Me){switch(qp.type(Me),Me.kind){case 176:case 177:case 170:case 178:case 181:case 182:case 320:case 260:case 228:case 261:case 262:case 348:case 259:case 171:case 173:case 174:case 175:case 215:case 216:return!0;default:return!1}}function Qy(Me){switch(Me.kind){case 269:case 268:return!0;default:return!1}}function ik(Me){return Qy(Me)||Ef(Me)}function ak(Me){switch(Me.kind){case 269:case 268:case 240:case 260:case 259:case 264:case 262:case 261:case 263:return!0;default:return!1}}function sk(Me){return bf(Me)||Ea(Me)||Kl(Me)||s0(Me)}function bf(Me){return Qy(Me)||cc(Me)}function Zy(Me){return zi(Me.parent,(Me=>w3(Me,Me.parent)))}function ok(Me,Bn){let Hn=Zy(Me);for(;Hn;)Bn(Hn),Hn=Zy(Hn)}function A3(Me){return!Me||hf(Me)===0?"(Missing)":gf(Me)}function _k(Me){return Me.declaration?A3(Me.declaration.parameters[0].name):void 0}function ck(Me){return Me.kind===164&&!Ta(Me.expression)}function e0(Me){var Bn;switch(Me.kind){case 79:case 80:return(Bn=Me.emitNode)!=null&&Bn.autoGenerate?void 0:Me.escapedText;case 10:case 8:case 14:return vi(Me.text);case 164:return Ta(Me.expression)?vi(Me.expression.text):void 0;default:return qp.assertNever(Me)}}function lk(Me){return qp.checkDefined(e0(Me))}function ls(Me){switch(Me.kind){case 108:return"this";case 80:case 79:return hf(Me)===0?qr(Me):gf(Me);case 163:return ls(Me.left)+"."+ls(Me.right);case 208:return yt(Me.name)||vn(Me.name)?ls(Me.expression)+"."+ls(Me.name):qp.assertNever(Me.name);case 314:return ls(Me.left)+ls(Me.right);default:return qp.assertNever(Me)}}function uk(Me,Bn,Hn,zn,ni,Ci){let ts=Si(Me);return P3(ts,Me,Bn,Hn,zn,ni,Ci)}function pk(Me,Bn,Hn,zn,ni,Ci,ts){let Ps=Ar(Me.text,Bn.pos);return iv(Me,Ps,Bn.end-Ps,Hn,zn,ni,Ci,ts)}function P3(Me,Bn,Hn,zn,ni,Ci,ts){let Ps=i0(Me,Bn);return iv(Me,Ps.start,Ps.length,Hn,zn,ni,Ci,ts)}function fk(Me,Bn,Hn,zn){let ni=i0(Me,Bn);return r0(Me,ni.start,ni.length,Hn,zn)}function dk(Me,Bn,Hn,zn){let ni=Ar(Me.text,Bn.pos);return r0(Me,ni,Bn.end-ni,Hn,zn)}function t0(Me,Bn,Hn){qp.assertGreaterThanOrEqual(Bn,0),qp.assertGreaterThanOrEqual(Hn,0),Me&&(qp.assertLessThanOrEqual(Bn,Me.text.length),qp.assertLessThanOrEqual(Bn+Hn,Me.text.length))}function r0(Me,Bn,Hn,zn,ni){return t0(Me,Bn,Hn),{file:Me,start:Bn,length:Hn,code:zn.code,category:zn.category,messageText:zn.next?zn:zn.messageText,relatedInformation:ni}}function mk(Me,Bn,Hn){return{file:Me,start:0,length:0,code:Bn.code,category:Bn.category,messageText:Bn.next?Bn:Bn.messageText,relatedInformation:Hn}}function hk(Me){return typeof Me.messageText=="string"?{code:Me.code,category:Me.category,messageText:Me.messageText,next:Me.next}:Me.messageText}function gk(Me,Bn,Hn){return{file:Me,start:Bn.pos,length:Bn.end-Bn.pos,code:Hn.code,category:Hn.category,messageText:Hn.message}}function n0(Me,Bn){let Hn=Po(Me.languageVersion,!0,Me.languageVariant,Me.text,void 0,Bn);Hn.scan();let zn=Hn.getTokenPos();return ha(zn,Hn.getTextPos())}function yk(Me,Bn){let Hn=Po(Me.languageVersion,!0,Me.languageVariant,Me.text,void 0,Bn);return Hn.scan(),Hn.getToken()}function vk(Me,Bn){let Hn=Ar(Me.text,Bn.pos);if(Bn.body&&Bn.body.kind===238){let{line:zn}=Ls(Me,Bn.body.pos),{line:ni}=Ls(Me,Bn.body.end);if(zn0?Bn.statements[0].pos:Bn.end;return ha(ni,Ci)}if(Hn===void 0)return n0(Me,Bn.pos);qp.assert(!Ho(Hn));let zn=va(Hn),ni=zn||td(Bn)?Hn.pos:Ar(Me.text,Hn.pos);return zn?(qp.assert(ni===Hn.pos,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"),qp.assert(ni===Hn.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")):(qp.assert(ni>=Hn.pos,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"),qp.assert(ni<=Hn.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")),ha(ni,Hn.end)}function bk(Me){return(Me.externalModuleIndicator||Me.commonJsModuleIndicator)!==void 0}function a0(Me){return Me.scriptKind===6}function Tk(Me){return!!(ef(Me)&2048)}function Sk(Me){return!!(ef(Me)&64&&!lS(Me,Me.parent))}function D3(Me){return!!(tf(Me)&2)}function xk(Me){return!!(tf(Me)&1)}function Ek(Me){return Me.kind===210&&Me.expression.kind===106}function s0(Me){return Me.kind===210&&Me.expression.kind===100}function o0(Me){return t2(Me)&&Me.keywordToken===100&&Me.name.escapedText==="meta"}function k3(Me){return Kl(Me)&&Yv(Me.argument)&&Gn(Me.argument.literal)}function us(Me){return Me.kind===241&&Me.expression.kind===10}function Tf(Me){return!!(xi(Me)&2097152)}function _0(Me){return Tf(Me)&&Wo(Me)}function wk(Me){return yt(Me.name)&&!Me.initializer}function c0(Me){return Tf(Me)&&zo(Me)&&me(Me.declarationList.declarations,wk)}function Ck(Me,Bn){return Me.kind!==11?Ao(Bn.text,Me.pos):void 0}function I3(Me,Bn){let Hn=Me.kind===166||Me.kind===165||Me.kind===215||Me.kind===216||Me.kind===214||Me.kind===257||Me.kind===278?Ft(HT(Bn,Me.pos),Ao(Bn,Me.pos)):Ao(Bn,Me.pos);return ee(Hn,(Me=>Bn.charCodeAt(Me.pos+1)===42&&Bn.charCodeAt(Me.pos+2)===42&&Bn.charCodeAt(Me.pos+3)!==47))}function l0(Me){if(179<=Me.kind&&Me.kind<=202)return!0;switch(Me.kind){case 131:case 157:case 148:case 160:case 152:case 134:case 153:case 149:case 155:case 144:return!0;case 114:return Me.parent.kind!==219;case 230:return ru(Me.parent)&&!Z0(Me);case 165:return Me.parent.kind===197||Me.parent.kind===192;case 79:(Me.parent.kind===163&&Me.parent.right===Me||Me.parent.kind===208&&Me.parent.name===Me)&&(Me=Me.parent),qp.assert(Me.kind===79||Me.kind===163||Me.kind===208,"'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'.");case 163:case 208:case 108:{let{parent:Bn}=Me;if(Bn.kind===183)return!1;if(Bn.kind===202)return!Bn.isTypeOf;if(179<=Bn.kind&&Bn.kind<=202)return!0;switch(Bn.kind){case 230:return ru(Bn.parent)&&!Z0(Bn);case 165:return Me===Bn.constraint;case 348:return Me===Bn.constraint;case 169:case 168:case 166:case 257:return Me===Bn.type;case 259:case 215:case 216:case 173:case 171:case 170:case 174:case 175:return Me===Bn.type;case 176:case 177:case 178:return Me===Bn.type;case 213:return Me===Bn.type;case 210:case 211:return pe(Bn.typeArguments,Me);case 212:return!1}}}return!1}function Ak(Me,Bn){for(;Me;){if(Me.kind===Bn)return!0;Me=Me.parent}return!1}function Pk(Me,Bn){return r(Me);function r(Me){switch(Me.kind){case 250:return Bn(Me);case 266:case 238:case 242:case 243:case 244:case 245:case 246:case 247:case 251:case 252:case 292:case 293:case 253:case 255:case 295:return xr(Me,r)}}}function Dk(Me,Bn){return r(Me);function r(Me){switch(Me.kind){case 226:Bn(Me);let Hn=Me.expression;Hn&&r(Hn);return;case 263:case 261:case 264:case 262:return;default:if(ga(Me)){if(Me.name&&Me.name.kind===164){r(Me.name.expression);return}}else l0(Me)||xr(Me,r)}}}function kk(Me){return Me&&Me.kind===185?Me.elementType:Me&&Me.kind===180?Xa(Me.typeArguments):void 0}function Ik(Me){switch(Me.kind){case 261:case 260:case 228:case 184:return Me.members;case 207:return Me.properties}}function u0(Me){if(Me)switch(Me.kind){case 205:case 302:case 166:case 299:case 169:case 168:case 300:case 257:return!0}return!1}function Nk(Me){return u0(Me)||pf(Me)}function N3(Me){return Me.parent.kind===258&&Me.parent.parent.kind===240}function Ok(Me){return Pr(Me)?Hs(Me.parent)&&ur(Me.parent.parent)&&ps(Me.parent.parent)===2||p0(Me.parent):!1}function p0(Me){return Pr(Me)?ur(Me)&&ps(Me)===1:!1}function Mk(Me){return(Vi(Me)?D3(Me)&&yt(Me.name)&&N3(Me):Bo(Me)?$0(Me)&&Lf(Me):Wl(Me)&&$0(Me))||p0(Me)}function Lk(Me){switch(Me.kind){case 171:case 170:case 173:case 174:case 175:case 259:case 215:return!0}return!1}function Rk(Me,Bn){for(;;){if(Bn&&Bn(Me),Me.statement.kind!==253)return Me.statement;Me=Me.statement}}function O3(Me){return Me&&Me.kind===238&&ga(Me.parent)}function jk(Me){return Me&&Me.kind===171&&Me.parent.kind===207}function Jk(Me){return(Me.kind===171||Me.kind===174||Me.kind===175)&&(Me.parent.kind===207||Me.parent.kind===228)}function Fk(Me){return Me&&Me.kind===1}function Bk(Me){return Me&&Me.kind===0}function f0(Me,Bn,Hn){return Me.properties.filter((Me=>{if(Me.kind===299){let zn=e0(Me.name);return Bn===zn||!!Hn&&Hn===zn}return!1}))}function qk(Me,Bn,Hn){return q(f0(Me,Bn),(Me=>Yl(Me.initializer)?Ae(Me.initializer.elements,(Me=>Gn(Me)&&Me.text===Hn)):void 0))}function M3(Me){if(Me&&Me.statements.length){let Bn=Me.statements[0].expression;return ln(Bn,Hs)}}function Uk(Me,Bn,Hn){return q(L3(Me,Bn),(Me=>Yl(Me.initializer)?Ae(Me.initializer.elements,(Me=>Gn(Me)&&Me.text===Hn)):void 0))}function L3(Me,Bn){let Hn=M3(Me);return Hn?f0(Hn,Bn):ca}function zk(Me){return zi(Me.parent,ga)}function Wk(Me){return zi(Me.parent,HS)}function Vk(Me){return zi(Me.parent,bi)}function Hk(Me){return zi(Me.parent,(Me=>bi(Me)||ga(Me)?"quit":Hl(Me)))}function Gk(Me){return zi(Me.parent,uf)}function d0(Me,Bn,Hn){for(qp.assert(Me.kind!==308);;){if(Me=Me.parent,!Me)return qp.fail();switch(Me.kind){case 164:if(Hn&&bi(Me.parent.parent))return Me;Me=Me.parent.parent;break;case 167:Me.parent.kind===166&&Js(Me.parent.parent)?Me=Me.parent.parent:Js(Me.parent)&&(Me=Me.parent);break;case 216:if(!Bn)continue;case 259:case 215:case 264:case 172:case 169:case 168:case 171:case 170:case 173:case 174:case 175:case 176:case 177:case 178:case 263:case 308:return Me}}}function $k(Me){switch(Me.kind){case 216:case 259:case 215:case 169:return!0;case 238:switch(Me.parent.kind){case 173:case 171:case 174:case 175:return!0;default:return!1}default:return!1}}function Kk(Me){yt(Me)&&(_c(Me.parent)||Wo(Me.parent))&&Me.parent.name===Me&&(Me=Me.parent);let Bn=d0(Me,!0,!1);return wi(Bn)}function Xk(Me){let Bn=d0(Me,!1,!1);if(Bn)switch(Bn.kind){case 173:case 259:case 215:return Bn}}function Yk(Me,Bn){for(;;){if(Me=Me.parent,!Me)return;switch(Me.kind){case 164:Me=Me.parent;break;case 259:case 215:case 216:if(!Bn)continue;case 169:case 168:case 171:case 170:case 173:case 174:case 175:case 172:return Me;case 167:Me.parent.kind===166&&Js(Me.parent.parent)?Me=Me.parent.parent:Js(Me.parent)&&(Me=Me.parent);break}}}function Qk(Me){if(Me.kind===215||Me.kind===216){let Bn=Me,Hn=Me.parent;for(;Hn.kind===214;)Bn=Hn,Hn=Hn.parent;if(Hn.kind===210&&Hn.expression===Bn)return Hn}}function Zk(Me){return Me.kind===106||Sf(Me)}function Sf(Me){let Bn=Me.kind;return(Bn===208||Bn===209)&&Me.expression.kind===106}function eI(Me){let Bn=Me.kind;return(Bn===208||Bn===209)&&Me.expression.kind===108}function tI(Me){var Bn;return!!Me&&Vi(Me)&&((Bn=Me.initializer)==null?void 0:Bn.kind)===108}function rI(Me){return!!Me&&(nu(Me)||lc(Me))&&ur(Me.parent.parent)&&Me.parent.parent.operatorToken.kind===63&&Me.parent.parent.right.kind===108}function nI(Me){switch(Me.kind){case 180:return Me.typeName;case 230:return Bs(Me.expression)?Me.expression:void 0;case 79:case 163:return Me}}function iI(Me){switch(Me.kind){case 212:return Me.tag;case 283:case 282:return Me.tagName;default:return Me.expression}}function R3(Me,Bn,Hn,zn){if(Me&&af(Bn)&&vn(Bn.name))return!1;switch(Bn.kind){case 260:return!0;case 228:return!Me;case 169:return Hn!==void 0&&(Me?_c(Hn):bi(Hn)&&!W4(Bn)&&!V4(Bn));case 174:case 175:case 171:return Bn.body!==void 0&&Hn!==void 0&&(Me?_c(Hn):bi(Hn));case 166:return Me?Hn!==void 0&&Hn.body!==void 0&&(Hn.kind===173||Hn.kind===171||Hn.kind===175)&&j4(Hn)!==Bn&&zn!==void 0&&zn.kind===260:!1}return!1}function q_(Me,Bn,Hn,zn){return Il(Bn)&&R3(Me,Bn,Hn,zn)}function m0(Me,Bn,Hn,zn){return q_(Me,Bn,Hn,zn)||h0(Me,Bn,Hn)}function h0(Me,Bn,Hn){switch(Bn.kind){case 260:return Ke(Bn.members,(zn=>m0(Me,zn,Bn,Hn)));case 228:return!Me&&Ke(Bn.members,(zn=>m0(Me,zn,Bn,Hn)));case 171:case 175:case 173:return Ke(Bn.parameters,(zn=>q_(Me,zn,Bn,Hn)));default:return!1}}function aI(Me,Bn){if(q_(Me,Bn))return!0;let Hn=R4(Bn);return!!Hn&&h0(Me,Hn,Bn)}function sI(Me,Bn,Hn){let zn;if(pf(Bn)){let{firstAccessor:Me,secondAccessor:ni,setAccessor:Ci}=W0(Hn.members,Bn),ts=Il(Me)?Me:ni&&Il(ni)?ni:void 0;if(!ts||Bn!==ts)return!1;zn=Ci==null?void 0:Ci.parameters}else Vl(Bn)&&(zn=Bn.parameters);if(q_(Me,Bn,Hn))return!0;if(zn){for(let ni of zn)if(!kl(ni)&&q_(Me,ni,Bn,Hn))return!0}return!1}function j3(Me){if(Me.textSourceNode){switch(Me.textSourceNode.kind){case 10:return j3(Me.textSourceNode);case 14:return Me.text===""}return!1}return Me.text===""}function xf(Me){let{parent:Bn}=Me;return Bn.kind===283||Bn.kind===282||Bn.kind===284?Bn.tagName===Me:!1}function g0(Me){switch(Me.kind){case 106:case 104:case 110:case 95:case 13:case 206:case 207:case 208:case 209:case 210:case 211:case 212:case 231:case 213:case 235:case 232:case 214:case 215:case 228:case 216:case 219:case 217:case 218:case 221:case 222:case 223:case 224:case 227:case 225:case 229:case 281:case 282:case 285:case 226:case 220:case 233:return!0;case 230:return!ru(Me.parent)&&!md(Me.parent);case 163:for(;Me.parent.kind===163;)Me=Me.parent;return Me.parent.kind===183||Sl(Me.parent)||fd(Me.parent)||uc(Me.parent)||xf(Me);case 314:for(;uc(Me.parent);)Me=Me.parent;return Me.parent.kind===183||Sl(Me.parent)||fd(Me.parent)||uc(Me.parent)||xf(Me);case 80:return ur(Me.parent)&&Me.parent.left===Me&&Me.parent.operatorToken.kind===101;case 79:if(Me.parent.kind===183||Sl(Me.parent)||fd(Me.parent)||uc(Me.parent)||xf(Me))return!0;case 8:case 9:case 10:case 14:case 108:return J3(Me);default:return!1}}function J3(Me){let{parent:Bn}=Me;switch(Bn.kind){case 257:case 166:case 169:case 168:case 302:case 299:case 205:return Bn.initializer===Me;case 241:case 242:case 243:case 244:case 250:case 251:case 252:case 292:case 254:return Bn.expression===Me;case 245:let Hn=Bn;return Hn.initializer===Me&&Hn.initializer.kind!==258||Hn.condition===Me||Hn.incrementor===Me;case 246:case 247:let zn=Bn;return zn.initializer===Me&&zn.initializer.kind!==258||zn.expression===Me;case 213:case 231:return Me===Bn.expression;case 236:return Me===Bn.expression;case 164:return Me===Bn.expression;case 167:case 291:case 290:case 301:return!0;case 230:return Bn.expression===Me&&!l0(Bn);case 300:return Bn.objectAssignmentInitializer===Me;case 235:return Me===Bn.expression;default:return g0(Bn)}}function F3(Me){for(;Me.kind===163||Me.kind===79;)Me=Me.parent;return Me.kind===183}function oI(Me){return ld(Me)&&!!Me.parent.moduleSpecifier}function B3(Me){return Me.kind===268&&Me.moduleReference.kind===280}function _I(Me){return qp.assert(B3(Me)),Me.moduleReference.expression}function cI(Me){return Ef(Me)&&rv(Me.initializer).arguments[0]}function lI(Me){return Me.kind===268&&Me.moduleReference.kind!==280}function y0(Me){return Pr(Me)}function uI(Me){return!Pr(Me)}function Pr(Me){return!!Me&&!!(Me.flags&262144)}function pI(Me){return!!Me&&!!(Me.flags&67108864)}function fI(Me){return!a0(Me)}function q3(Me){return!!Me&&!!(Me.flags&8388608)}function dI(Me){return ac(Me)&&yt(Me.typeName)&&Me.typeName.escapedText==="Object"&&Me.typeArguments&&Me.typeArguments.length===2&&(Me.typeArguments[0].kind===152||Me.typeArguments[0].kind===148)}function El(Me,Bn){if(Me.kind!==210)return!1;let{expression:Hn,arguments:zn}=Me;if(Hn.kind!==79||Hn.escapedText!=="require"||zn.length!==1)return!1;let ni=zn[0];return!Bn||Ti(ni)}function U3(Me){return z3(Me,!1)}function Ef(Me){return z3(Me,!0)}function mI(Me){return Xl(Me)&&Ef(Me.parent.parent)}function z3(Me,Bn){return Vi(Me)&&!!Me.initializer&&El(Bn?rv(Me.initializer):Me.initializer,!0)}function W3(Me){return zo(Me)&&Me.declarationList.declarations.length>0&&me(Me.declarationList.declarations,(Me=>U3(Me)))}function hI(Me){return Me===39||Me===34}function gI(Me,Bn){return No(Bn,Me).charCodeAt(0)===34}function v0(Me){return ur(Me)||Lo(Me)||yt(Me)||sc(Me)}function V3(Me){return Pr(Me)&&Me.initializer&&ur(Me.initializer)&&(Me.initializer.operatorToken.kind===56||Me.initializer.operatorToken.kind===60)&&Me.name&&Bs(Me.name)&&z_(Me.name,Me.initializer.left)?Me.initializer.right:Me.initializer}function yI(Me){let Bn=V3(Me);return Bn&&U_(Bn,Nl(Me.name))}function vI(Me,Bn){return c(Me.properties,(Me=>lc(Me)&&yt(Me.name)&&Me.name.escapedText==="value"&&Me.initializer&&U_(Me.initializer,Bn)))}function bI(Me){if(Me&&Me.parent&&ur(Me.parent)&&Me.parent.operatorToken.kind===63){let Bn=Nl(Me.parent.left);return U_(Me.parent.right,Bn)||TI(Me.parent.left,Me.parent.right,Bn)}if(Me&&sc(Me)&&S0(Me)){let Bn=vI(Me.arguments[2],Me.arguments[1].text==="prototype");if(Bn)return Bn}}function U_(Me,Bn){if(sc(Me)){let Bn=Pl(Me.expression);return Bn.kind===215||Bn.kind===216?Me:void 0}if(Me.kind===215||Me.kind===228||Me.kind===216||Hs(Me)&&(Me.properties.length===0||Bn))return Me}function TI(Me,Bn,Hn){let zn=ur(Bn)&&(Bn.operatorToken.kind===56||Bn.operatorToken.kind===60)&&U_(Bn.right,Hn);if(zn&&z_(Me,Bn.left))return zn}function SI(Me){let Bn=Vi(Me.parent)?Me.parent.name:ur(Me.parent)&&Me.parent.operatorToken.kind===63?Me.parent.left:void 0;return Bn&&U_(Me.right,Nl(Bn))&&Bs(Bn)&&z_(Bn,Me.left)}function xI(Me){if(ur(Me.parent)){let Bn=(Me.parent.operatorToken.kind===56||Me.parent.operatorToken.kind===60)&&ur(Me.parent.parent)?Me.parent.parent:Me.parent;if(Bn.operatorToken.kind===63&&yt(Bn.left))return Bn.left}else if(Vi(Me.parent))return Me.parent.name}function z_(Me,Bn){return L0(Me)&&L0(Bn)?kf(Me)===kf(Bn):js(Me)&&wf(Bn)&&(Bn.expression.kind===108||yt(Bn.expression)&&(Bn.expression.escapedText==="window"||Bn.expression.escapedText==="self"||Bn.expression.escapedText==="global"))?z_(Me,$3(Bn)):wf(Me)&&wf(Bn)?Fs(Me)===Fs(Bn)&&z_(Me.expression,Bn.expression):!1}function b0(Me){for(;ms(Me,!0);)Me=Me.right;return Me}function H3(Me){return yt(Me)&&Me.escapedText==="exports"}function G3(Me){return yt(Me)&&Me.escapedText==="module"}function T0(Me){return(bn(Me)||wl(Me))&&G3(Me.expression)&&Fs(Me)==="exports"}function ps(Me){let Bn=EI(Me);return Bn===5||Pr(Me)?Bn:0}function S0(Me){return I(Me.arguments)===3&&bn(Me.expression)&&yt(Me.expression.expression)&&qr(Me.expression.expression)==="Object"&&qr(Me.expression.name)==="defineProperty"&&Ta(Me.arguments[1])&&V_(Me.arguments[0],!0)}function wf(Me){return bn(Me)||wl(Me)}function wl(Me){return gs(Me)&&Ta(Me.argumentExpression)}function W_(Me,Bn){return bn(Me)&&(!Bn&&Me.expression.kind===108||yt(Me.name)&&V_(Me.expression,!0))||x0(Me,Bn)}function x0(Me,Bn){return wl(Me)&&(!Bn&&Me.expression.kind===108||Bs(Me.expression)||W_(Me.expression,!0))}function V_(Me,Bn){return Bs(Me)||W_(Me,Bn)}function $3(Me){return bn(Me)?Me.name:Me.argumentExpression}function EI(Me){if(sc(Me)){if(!S0(Me))return 0;let Bn=Me.arguments[0];return H3(Bn)||T0(Bn)?8:W_(Bn)&&Fs(Bn)==="prototype"?9:7}return Me.operatorToken.kind!==63||!Lo(Me.left)||wI(b0(Me))?0:V_(Me.left.expression,!0)&&Fs(Me.left)==="prototype"&&Hs(X3(Me))?6:K3(Me.left)}function wI(Me){return Qv(Me)&&zs(Me.expression)&&Me.expression.text==="0"}function Cf(Me){if(bn(Me))return Me.name;let Bn=Pl(Me.argumentExpression);return zs(Bn)||Ti(Bn)?Bn:Me}function Fs(Me){let Bn=Cf(Me);if(Bn){if(yt(Bn))return Bn.escapedText;if(Ti(Bn)||zs(Bn))return vi(Bn.text)}}function K3(Me){if(Me.expression.kind===108)return 4;if(T0(Me))return 2;if(V_(Me.expression,!0)){if(Nl(Me.expression))return 3;let Bn=Me;for(;!yt(Bn.expression);)Bn=Bn.expression;let Hn=Bn.expression;if((Hn.escapedText==="exports"||Hn.escapedText==="module"&&Fs(Bn)==="exports")&&W_(Me))return 1;if(V_(Me,!0)||gs(Me)&&M0(Me))return 5}return 0}function X3(Me){for(;ur(Me.right);)Me=Me.right;return Me.right}function CI(Me){return ur(Me)&&ps(Me)===3}function AI(Me){return Pr(Me)&&Me.parent&&Me.parent.kind===241&&(!gs(Me)||wl(Me))&&!!_f(Me.parent)}function PI(Me,Bn){let{valueDeclaration:Hn}=Me;(!Hn||!(Bn.flags&16777216&&!Pr(Bn)&&!(Hn.flags&16777216))&&v0(Hn)&&!v0(Bn)||Hn.kind!==Bn.kind&&S3(Hn))&&(Me.valueDeclaration=Bn)}function DI(Me){if(!Me||!Me.valueDeclaration)return!1;let Bn=Me.valueDeclaration;return Bn.kind===259||Vi(Bn)&&Bn.initializer&&ga(Bn.initializer)}function kI(Me){var Bn,Hn;switch(Me.kind){case 257:case 205:return(Bn=zi(Me.initializer,(Me=>El(Me,!0))))==null?void 0:Bn.arguments[0];case 269:return ln(Me.moduleSpecifier,Ti);case 268:return ln((Hn=ln(Me.moduleReference,ud))==null?void 0:Hn.expression,Ti);case 270:case 277:return ln(Me.parent.moduleSpecifier,Ti);case 271:case 278:return ln(Me.parent.parent.moduleSpecifier,Ti);case 273:return ln(Me.parent.parent.parent.moduleSpecifier,Ti);default:qp.assertNever(Me)}}function II(Me){return Y3(Me)||qp.failBadSyntaxKind(Me.parent)}function Y3(Me){switch(Me.parent.kind){case 269:case 275:return Me.parent;case 280:return Me.parent.parent;case 210:return s0(Me.parent)||El(Me.parent,!1)?Me.parent:void 0;case 198:return qp.assert(Gn(Me)),ln(Me.parent.parent,Kl);default:return}}function E0(Me){switch(Me.kind){case 269:case 275:return Me.moduleSpecifier;case 268:return Me.moduleReference.kind===280?Me.moduleReference.expression:void 0;case 202:return k3(Me)?Me.argument.literal:void 0;case 210:return Me.arguments[0];case 264:return Me.name.kind===10?Me.name:void 0;default:return qp.assertNever(Me)}}function Q3(Me){switch(Me.kind){case 269:return Me.importClause&&ln(Me.importClause.namedBindings,_2);case 268:return Me;case 275:return Me.exportClause&&ln(Me.exportClause,ld);default:return qp.assertNever(Me)}}function Z3(Me){return Me.kind===269&&!!Me.importClause&&!!Me.importClause.name}function NI(Me,Bn){if(Me.name){let Hn=Bn(Me);if(Hn)return Hn}if(Me.namedBindings){let Hn=_2(Me.namedBindings)?Bn(Me.namedBindings):c(Me.namedBindings.elements,Bn);if(Hn)return Hn}}function OI(Me){if(Me)switch(Me.kind){case 166:case 171:case 170:case 300:case 299:case 169:case 168:return Me.questionToken!==void 0}return!1}function MI(Me){let Bn=dd(Me)?pa(Me.parameters):void 0,Hn=ln(Bn&&Bn.name,yt);return!!Hn&&Hn.escapedText==="new"}function Cl(Me){return Me.kind===349||Me.kind===341||Me.kind===343}function LI(Me){return Cl(Me)||n2(Me)}function RI(Me){return Zl(Me)&&ur(Me.expression)&&Me.expression.operatorToken.kind===63?b0(Me.expression):void 0}function e4(Me){return Zl(Me)&&ur(Me.expression)&&ps(Me.expression)!==0&&ur(Me.expression.right)&&(Me.expression.right.operatorToken.kind===56||Me.expression.right.operatorToken.kind===60)?Me.expression.right.right:void 0}function w0(Me){switch(Me.kind){case 240:let Bn=Al(Me);return Bn&&Bn.initializer;case 169:return Me.initializer;case 299:return Me.initializer}}function Al(Me){return zo(Me)?pa(Me.declarationList.declarations):void 0}function t4(Me){return Ea(Me)&&Me.body&&Me.body.kind===264?Me.body:void 0}function jI(Me){if(Me.kind>=240&&Me.kind<=256)return!0;switch(Me.kind){case 79:case 108:case 106:case 163:case 233:case 209:case 208:case 205:case 215:case 216:case 171:case 174:case 175:return!0;default:return!1}}function Af(Me){switch(Me.kind){case 216:case 223:case 238:case 249:case 176:case 292:case 260:case 228:case 172:case 173:case 182:case 177:case 248:case 256:case 243:case 209:case 239:case 1:case 263:case 302:case 274:case 275:case 278:case 241:case 246:case 247:case 245:case 259:case 215:case 181:case 174:case 79:case 242:case 269:case 268:case 178:case 261:case 320:case 326:case 253:case 171:case 170:case 264:case 199:case 267:case 207:case 166:case 214:case 208:case 299:case 169:case 168:case 250:case 175:case 300:case 301:case 252:case 254:case 255:case 262:case 165:case 257:case 240:case 244:case 251:return!0;default:return!1}}function r4(Me,Bn){let Hn;u0(Me)&&l3(Me)&&ya(Me.initializer)&&(Hn=jr(Hn,n4(Me,Zn(Me.initializer.jsDoc))));let zn=Me;for(;zn&&zn.parent;){if(ya(zn)&&(Hn=jr(Hn,n4(Me,Zn(zn.jsDoc)))),zn.kind===166){Hn=jr(Hn,(Bn?bS:of)(zn));break}if(zn.kind===165){Hn=jr(Hn,(Bn?xS:SS)(zn));break}zn=a4(zn)}return Hn||ca}function n4(Me,Bn){if(Ho(Bn)){let Hn=ee(Bn.tags,(Bn=>i4(Me,Bn)));return Bn.tags===Hn?[Bn]:Hn}return i4(Me,Bn)?[Bn]:void 0}function i4(Me,Bn){return!(au(Bn)||T2(Bn))||!Bn.parent||!Ho(Bn.parent)||!qo(Bn.parent.parent)||Bn.parent.parent===Me}function a4(Me){let Bn=Me.parent;if(Bn.kind===299||Bn.kind===274||Bn.kind===169||Bn.kind===241&&Me.kind===208||Bn.kind===250||t4(Bn)||ur(Me)&&Me.operatorToken.kind===63)return Bn;if(Bn.parent&&(Al(Bn.parent)===Me||ur(Bn)&&Bn.operatorToken.kind===63))return Bn.parent;if(Bn.parent&&Bn.parent.parent&&(Al(Bn.parent.parent)||w0(Bn.parent.parent)===Me||e4(Bn.parent.parent)))return Bn.parent.parent}function JI(Me){if(Me.symbol)return Me.symbol;if(!yt(Me.name))return;let Bn=Me.name.escapedText,Hn=C0(Me);if(!Hn)return;let zn=Ae(Hn.parameters,(Me=>Me.name.kind===79&&Me.name.escapedText===Bn));return zn&&zn.symbol}function FI(Me){if(Ho(Me.parent)&&Me.parent.tags){let Bn=Ae(Me.parent.tags,Cl);if(Bn)return Bn}return C0(Me)}function C0(Me){let Bn=A0(Me);if(Bn)return Wl(Bn)&&Bn.type&&ga(Bn.type)?Bn.type:ga(Bn)?Bn:void 0}function A0(Me){let Bn=s4(Me);if(Bn)return e4(Bn)||RI(Bn)||w0(Bn)||Al(Bn)||t4(Bn)||Bn}function s4(Me){let Bn=P0(Me);if(!Bn)return;let Hn=Bn.parent;if(Hn&&Hn.jsDoc&&Bn===Cn(Hn.jsDoc))return Hn}function P0(Me){return zi(Me.parent,Ho)}function BI(Me){let Bn=Me.name.escapedText,{typeParameters:Hn}=Me.parent.parent.parent;return Hn&&Ae(Hn,(Me=>Me.name.escapedText===Bn))}function qI(Me){return!!Me.typeArguments}function o4(Me){let Bn=Me.parent;for(;;){switch(Bn.kind){case 223:let Hn=Bn.operatorToken.kind;return G_(Hn)&&Bn.left===Me?Hn===63||jf(Hn)?1:2:0;case 221:case 222:let zn=Bn.operator;return zn===45||zn===46?2:0;case 246:case 247:return Bn.initializer===Me?1:0;case 214:case 206:case 227:case 232:Me=Bn;break;case 301:Me=Bn.parent;break;case 300:if(Bn.name!==Me)return 0;Me=Bn.parent;break;case 299:if(Bn.name===Me)return 0;Me=Bn.parent;break;default:return 0}Bn=Me.parent}}function UI(Me){return o4(Me)!==0}function zI(Me){switch(Me.kind){case 238:case 240:case 251:case 242:case 252:case 266:case 292:case 293:case 253:case 245:case 246:case 247:case 243:case 244:case 255:case 295:return!0}return!1}function WI(Me){return ad(Me)||sd(Me)||Ly(Me)||Wo(Me)||nc(Me)}function _4(Me,Bn){for(;Me&&Me.kind===Bn;)Me=Me.parent;return Me}function VI(Me){return _4(Me,193)}function D0(Me){return _4(Me,214)}function HI(Me){let Bn;for(;Me&&Me.kind===193;)Bn=Me,Me=Me.parent;return[Bn,Me]}function GI(Me){for(;Kv(Me);)Me=Me.type;return Me}function Pl(Me,Bn){return $o(Me,Bn?17:1)}function $I(Me){return Me.kind!==208&&Me.kind!==209?!1:(Me=D0(Me.parent),Me&&Me.kind===217)}function KI(Me,Bn){for(;Me;){if(Me===Bn)return!0;Me=Me.parent}return!1}function c4(Me){return!wi(Me)&&!df(Me)&&ko(Me.parent)&&Me.parent.name===Me}function XI(Me){let Bn=Me.parent;switch(Me.kind){case 10:case 14:case 8:if(Ws(Bn))return Bn.parent;case 79:if(ko(Bn))return Bn.name===Me?Bn:void 0;if(rc(Bn)){let Me=Bn.parent;return pc(Me)&&Me.name===Bn?Me:void 0}else{let Hn=Bn.parent;return ur(Hn)&&ps(Hn)!==0&&(Hn.left.symbol||Hn.symbol)&&ml(Hn)===Me?Hn:void 0}case 80:return ko(Bn)&&Bn.name===Me?Bn:void 0;default:return}}function l4(Me){return Ta(Me)&&Me.parent.kind===164&&ko(Me.parent.parent)}function YI(Me){let Bn=Me.parent;switch(Bn.kind){case 169:case 168:case 171:case 170:case 174:case 175:case 302:case 299:case 208:return Bn.name===Me;case 163:return Bn.right===Me;case 205:case 273:return Bn.propertyName===Me;case 278:case 288:case 282:case 283:case 284:return!0}return!1}function QI(Me){return Me.kind===268||Me.kind===267||Me.kind===270&&Me.name||Me.kind===271||Me.kind===277||Me.kind===273||Me.kind===278||Me.kind===274&&I0(Me)?!0:Pr(Me)&&(ur(Me)&&ps(Me)===2&&I0(Me)||bn(Me)&&ur(Me.parent)&&Me.parent.left===Me&&Me.parent.operatorToken.kind===63&&k0(Me.parent.right))}function u4(Me){switch(Me.parent.kind){case 270:case 273:case 271:case 278:case 274:case 268:case 277:return Me.parent;case 163:do{Me=Me.parent}while(Me.parent.kind===163);return u4(Me)}}function k0(Me){return Bs(Me)||_d(Me)}function I0(Me){let Bn=p4(Me);return k0(Bn)}function p4(Me){return Vo(Me)?Me.expression:Me.right}function ZI(Me){return Me.kind===300?Me.name:Me.kind===299?Me.initializer:Me.parent.right}function f4(Me){let Bn=d4(Me);if(Bn&&Pr(Me)){let Bn=ES(Me);if(Bn)return Bn.class}return Bn}function d4(Me){let Bn=Pf(Me.heritageClauses,94);return Bn&&Bn.types.length>0?Bn.types[0]:void 0}function m4(Me){if(Pr(Me))return wS(Me).map((Me=>Me.class));{let Bn=Pf(Me.heritageClauses,117);return Bn==null?void 0:Bn.types}}function h4(Me){return eu(Me)?g4(Me)||ca:bi(Me)&&Ft(Cp(f4(Me)),m4(Me))||ca}function g4(Me){let Bn=Pf(Me.heritageClauses,94);return Bn?Bn.types:void 0}function Pf(Me,Bn){if(Me){for(let Hn of Me)if(Hn.token===Bn)return Hn}}function eN(Me,Bn){for(;Me;){if(Me.kind===Bn)return Me;Me=Me.parent}}function ba(Me){return 81<=Me&&Me<=162}function N0(Me){return 126<=Me&&Me<=162}function y4(Me){return ba(Me)&&!N0(Me)}function tN(Me){return 117<=Me&&Me<=125}function rN(Me){let Bn=_l(Me);return Bn!==void 0&&y4(Bn)}function nN(Me){let Bn=_l(Me);return Bn!==void 0&&ba(Bn)}function iN(Me){let Bn=dS(Me);return!!Bn&&!N0(Bn)}function aN(Me){return 2<=Me&&Me<=7}function sN(Me){if(!Me)return 4;let Bn=0;switch(Me.kind){case 259:case 215:case 171:Me.asteriskToken&&(Bn|=1);case 216:rn(Me,512)&&(Bn|=2);break}return Me.body||(Bn|=4),Bn}function oN(Me){switch(Me.kind){case 259:case 215:case 216:case 171:return Me.body!==void 0&&Me.asteriskToken===void 0&&rn(Me,512)}return!1}function Ta(Me){return Ti(Me)||zs(Me)}function O0(Me){return od(Me)&&(Me.operator===39||Me.operator===40)&&zs(Me.operand)}function v4(Me){let Bn=ml(Me);return!!Bn&&M0(Bn)}function M0(Me){if(!(Me.kind===164||Me.kind===209))return!1;let Bn=gs(Me)?Pl(Me.argumentExpression):Me.expression;return!Ta(Bn)&&!O0(Bn)}function Df(Me){switch(Me.kind){case 79:case 80:return Me.escapedText;case 10:case 8:return vi(Me.text);case 164:let Bn=Me.expression;return Ta(Bn)?vi(Bn.text):O0(Bn)?Bn.operator===40?Br(Bn.operator)+Bn.operand.text:Bn.operand.text:void 0;default:return qp.assertNever(Me)}}function L0(Me){switch(Me.kind){case 79:case 10:case 14:case 8:return!0;default:return!1}}function kf(Me){return js(Me)?qr(Me):Me.text}function b4(Me){return js(Me)?Me.escapedText:vi(Me.text)}function _N(Me){return`__@${getSymbolId(Me)}@${Me.escapedName}`}function cN(Me,Bn){return`__#${getSymbolId(Me)}@${Bn}`}function lN(Me){return Pn(Me.escapedName,"__@")}function uN(Me){return Pn(Me.escapedName,"__#")}function pN(Me){return Me.kind===79&&Me.escapedText==="Symbol"}function T4(Me){return yt(Me)?qr(Me)==="__proto__":Gn(Me)&&Me.text==="__proto__"}function H_(Me,Bn){switch(Me=$o(Me),Me.kind){case 228:case 215:if(Me.name)return!1;break;case 216:break;default:return!1}return typeof Bn=="function"?Bn(Me):!0}function S4(Me){switch(Me.kind){case 299:return!T4(Me.name);case 300:return!!Me.objectAssignmentInitializer;case 257:return yt(Me.name)&&!!Me.initializer;case 166:return yt(Me.name)&&!!Me.initializer&&!Me.dotDotDotToken;case 205:return yt(Me.name)&&!!Me.initializer&&!Me.dotDotDotToken;case 169:return!!Me.initializer;case 223:switch(Me.operatorToken.kind){case 63:case 76:case 75:case 77:return yt(Me.left)}break;case 274:return!0}return!1}function fN(Me,Bn){if(!S4(Me))return!1;switch(Me.kind){case 299:return H_(Me.initializer,Bn);case 300:return H_(Me.objectAssignmentInitializer,Bn);case 257:case 166:case 205:case 169:return H_(Me.initializer,Bn);case 223:return H_(Me.right,Bn);case 274:return H_(Me.expression,Bn)}}function dN(Me){return Me.escapedText==="push"||Me.escapedText==="unshift"}function mN(Me){return If(Me).kind===166}function If(Me){for(;Me.kind===205;)Me=Me.parent.parent;return Me}function hN(Me){let Bn=Me.kind;return Bn===173||Bn===215||Bn===259||Bn===216||Bn===171||Bn===174||Bn===175||Bn===264||Bn===308}function fs(Me){return hs(Me.pos)||hs(Me.end)}function gN(Me){return fl(Me,wi)||Me}function yN(Me){let Bn=R0(Me),Hn=Me.kind===211&&Me.arguments!==void 0;return x4(Me.kind,Bn,Hn)}function x4(Me,Bn,Hn){switch(Me){case 211:return Hn?0:1;case 221:case 218:case 219:case 217:case 220:case 224:case 226:return 1;case 223:switch(Bn){case 42:case 63:case 64:case 65:case 67:case 66:case 68:case 69:case 70:case 71:case 72:case 73:case 78:case 74:case 75:case 76:case 77:return 1}}return 0}function vN(Me){let Bn=R0(Me),Hn=Me.kind===211&&Me.arguments!==void 0;return E4(Me.kind,Bn,Hn)}function R0(Me){return Me.kind===223?Me.operatorToken.kind:Me.kind===221||Me.kind===222?Me.operator:Me.kind}function E4(Me,Bn,Hn){switch(Me){case 357:return 0;case 227:return 1;case 226:return 2;case 224:return 4;case 223:switch(Bn){case 27:return 0;case 63:case 64:case 65:case 67:case 66:case 68:case 69:case 70:case 71:case 72:case 73:case 78:case 74:case 75:case 76:case 77:return 3;default:return Dl(Bn)}case 213:case 232:case 221:case 218:case 219:case 217:case 220:return 16;case 222:return 17;case 210:return 18;case 211:return Hn?19:18;case 212:case 208:case 209:case 233:return 19;case 231:case 235:return 11;case 108:case 106:case 79:case 80:case 104:case 110:case 95:case 8:case 9:case 10:case 206:case 207:case 215:case 216:case 228:case 13:case 14:case 225:case 214:case 229:case 281:case 282:case 285:return 20;default:return-1}}function Dl(Me){switch(Me){case 60:return 4;case 56:return 5;case 55:return 6;case 51:return 7;case 52:return 8;case 50:return 9;case 34:case 35:case 36:case 37:return 10;case 29:case 31:case 32:case 33:case 102:case 101:case 128:case 150:return 11;case 47:case 48:case 49:return 12;case 39:case 40:return 13;case 41:case 43:case 44:return 14;case 42:return 15}return-1}function bN(Me){return ee(Me,(Me=>{switch(Me.kind){case 291:return!!Me.expression;case 11:return!Me.containsOnlyTriviaWhiteSpaces;default:return!0}}))}function TN(){let Me=[],Bn=[],Hn=new Map,zn=!1;return{add:x,lookup:f,getGlobalDiagnostics:w,getDiagnostics:A};function f(Bn){let zn;if(Bn.file?zn=Hn.get(Bn.file.fileName):zn=Me,!zn)return;let ni=Ya(zn,Bn,rr,qf);if(ni>=0)return zn[ni]}function x(ni){let Ci;ni.file?(Ci=Hn.get(ni.file.fileName),Ci||(Ci=[],Hn.set(ni.file.fileName,Ci),Qn(Bn,ni.file.fileName,ri))):(zn&&(zn=!1,Me=Me.slice()),Ci=Me),Qn(Ci,ni,qf)}function w(){return zn=!0,Me}function A(zn){if(zn)return Hn.get(zn)||[];let ni=ge(Bn,(Me=>Hn.get(Me)));return Me.length&&ni.unshift(...Me),ni}}function SN(Me){return Me.replace(SC,"\\${")}function w4(Me){return Me&&!!(k8(Me)?Me.templateFlags:Me.head.templateFlags||Ke(Me.templateSpans,(Me=>!!Me.literal.templateFlags)))}function C4(Me){return"\\u"+("0000"+Me.toString(16).toUpperCase()).slice(-4)}function xN(Me,Bn,Hn){if(Me.charCodeAt(0)===0){let zn=Hn.charCodeAt(Bn+Me.length);return zn>=48&&zn<=57?"\\x00":"\\0"}return BC.get(Me)||C4(Me.charCodeAt(0))}function Nf(Me,Bn){let Hn=Bn===96?kC:Bn===39?xC:IC;return Me.replace(Hn,xN)}function Of(Me,Bn){return Me=Nf(Me,Bn),TC.test(Me)?Me.replace(TC,(Me=>C4(Me.charCodeAt(0)))):Me}function EN(Me){return"&#x"+Me.toString(16).toUpperCase()+";"}function wN(Me){return Me.charCodeAt(0)===0?"�":QC.get(Me)||EN(Me.charCodeAt(0))}function A4(Me,Bn){let Hn=Bn===39?NC:FC;return Me.replace(Hn,wN)}function CN(Me){let Bn=Me.length;return Bn>=2&&Me.charCodeAt(0)===Me.charCodeAt(Bn-1)&&AN(Me.charCodeAt(0))?Me.substring(1,Bn-1):Me}function AN(Me){return Me===39||Me===34||Me===96}function P4(Me){let Bn=Me.charCodeAt(0);return Bn>=97&&Bn<=122||Fi(Me,"-")||Fi(Me,":")}function j0(Me){let Bn=RC[1];for(let Hn=RC.length;Hn<=Me;Hn++)RC.push(RC[Hn-1]+Bn);return RC[Me]}function Oo(){return RC[1].length}function PN(){return Fi(Ci,"-dev")||Fi(Ci,"-insiders")}function DN(Me){var Bn,Hn,zn,ni,Ci,ts=!1;function A(Me){let Hn=Kp(Me);Hn.length>1?(ni=ni+Hn.length-1,Ci=Bn.length-Me.length+Zn(Hn),zn=Ci-Bn.length===0):zn=!1}function g(Me){Me&&Me.length&&(zn&&(Me=j0(Hn)+Me,zn=!1),Bn+=Me,A(Me))}function B(Me){Me&&(ts=!1),g(Me)}function N(Me){Me&&(ts=!0),g(Me)}function X(){Bn="",Hn=0,zn=!0,ni=0,Ci=0,ts=!1}function F(Me){Me!==void 0&&(Bn+=Me,A(Me),ts=!1)}function $(Me){Me&&Me.length&&B(Me)}function ae(Hn){(!zn||Hn)&&(Bn+=Me,ni++,Ci=Bn.length,zn=!0,ts=!1)}function Te(){return zn?Bn.length:Bn.length+Me.length}return X(),{write:B,rawWrite:F,writeLiteral:$,writeLine:ae,increaseIndent:()=>{Hn++},decreaseIndent:()=>{Hn--},getIndent:()=>Hn,getTextPos:()=>Bn.length,getLine:()=>ni,getColumn:()=>zn?Hn*Oo():Bn.length-Ci,getText:()=>Bn,isAtStartOfLine:()=>zn,hasTrailingComment:()=>ts,hasTrailingWhitespace:()=>!!Bn.length&&os(Bn.charCodeAt(Bn.length-1)),clear:X,writeKeyword:B,writeOperator:B,writeParameter:B,writeProperty:B,writePunctuation:B,writeSpace:B,writeStringLiteral:B,writeSymbol:(Me,Bn)=>B(Me),writeTrailingSemicolon:B,writeComment:N,getTextPosWithWriteLine:Te}}function kN(Me){let Bn=!1;function r(){Bn&&(Me.writeTrailingSemicolon(";"),Bn=!1)}return Object.assign(Object.assign({},Me),{},{writeTrailingSemicolon(){Bn=!0},writeLiteral(Bn){r(),Me.writeLiteral(Bn)},writeStringLiteral(Bn){r(),Me.writeStringLiteral(Bn)},writeSymbol(Bn,Hn){r(),Me.writeSymbol(Bn,Hn)},writePunctuation(Bn){r(),Me.writePunctuation(Bn)},writeKeyword(Bn){r(),Me.writeKeyword(Bn)},writeOperator(Bn){r(),Me.writeOperator(Bn)},writeParameter(Bn){r(),Me.writeParameter(Bn)},writeSpace(Bn){r(),Me.writeSpace(Bn)},writeProperty(Bn){r(),Me.writeProperty(Bn)},writeComment(Bn){r(),Me.writeComment(Bn)},writeLine(){r(),Me.writeLine()},increaseIndent(){r(),Me.increaseIndent()},decreaseIndent(){r(),Me.decreaseIndent()}})}function J0(Me){return Me.useCaseSensitiveFileNames?Me.useCaseSensitiveFileNames():!1}function D4(Me){return wp(J0(Me))}function k4(Me,Bn,Hn){return Bn.moduleName||F0(Me,Bn.fileName,Hn&&Hn.fileName)}function I4(Me,Bn){return Me.getCanonicalFileName(as(Bn,Me.getCurrentDirectory()))}function IN(Me,Bn,Hn){let zn=Bn.getExternalModuleFileFromDeclaration(Hn);if(!zn||zn.isDeclarationFile)return;let ni=E0(Hn);if(!(ni&&Ti(ni)&&!So(ni.text)&&I4(Me,zn.path).indexOf(I4(Me,wo(Me.getCommonSourceDirectory())))===-1))return k4(Me,zn)}function F0(Me,Bn,Hn){let s=Bn=>Me.getCanonicalFileName(Bn),zn=Ui(Hn?ma(Hn):Me.getCommonSourceDirectory(),Me.getCurrentDirectory(),s),ni=as(Bn,Me.getCurrentDirectory()),Ci=uy(zn,ni,zn,s,!1),ts=Ll(Ci);return Hn?_y(ts):ts}function NN(Me,Bn,Hn){let zn=Bn.getCompilerOptions(),ni;return zn.outDir?ni=Ll(M4(Me,Bn,zn.outDir)):ni=Ll(Me),ni+Hn}function ON(Me,Bn){return N4(Me,Bn.getCompilerOptions(),Bn.getCurrentDirectory(),Bn.getCommonSourceDirectory(),(Me=>Bn.getCanonicalFileName(Me)))}function N4(Me,Bn,Hn,zn,ni){let Ci=Bn.declarationDir||Bn.outDir,ts=Ci?U0(Me,Ci,Hn,zn,ni):Me,Ps=O4(ts);return Ll(ts)+Ps}function O4(Me){return da(Me,[".mjs",".mts"])?".d.mts":da(Me,[".cjs",".cts"])?".d.cts":da(Me,[".json"])?".d.json.ts":".d.ts"}function MN(Me){return da(Me,[".d.mts",".mjs",".mts"])?[".mts",".mjs"]:da(Me,[".d.cts",".cjs",".cts"])?[".cts",".cjs"]:da(Me,[".d.json.ts"])?[".json"]:[".tsx",".ts",".jsx",".js"]}function B0(Me){return Me.outFile||Me.out}function LN(Me,Bn){var Hn,zn;if(Me.paths)return(zn=Me.baseUrl)!=null?zn:qp.checkDefined(Me.pathsBasePath||((Hn=Bn.getCurrentDirectory)==null?void 0:Hn.call(Bn)),"Encountered 'paths' without a 'baseUrl', config file, or host 'getCurrentDirectory'.")}function RN(Me,Bn,Hn){let zn=Me.getCompilerOptions();if(B0(zn)){let Bn=Ei(zn),ni=zn.emitDeclarationOnly||Bn===2||Bn===4;return ee(Me.getSourceFiles(),(Bn=>(ni||!Qo(Bn))&&q0(Bn,Me,Hn)))}else{let zn=Bn===void 0?Me.getSourceFiles():[Bn];return ee(zn,(Bn=>q0(Bn,Me,Hn)))}}function q0(Me,Bn,Hn){return!(Bn.getCompilerOptions().noEmitForJsFiles&&y0(Me))&&!Me.isDeclarationFile&&!Bn.isSourceFileFromExternalLibrary(Me)&&(Hn||!(a0(Me)&&Bn.getResolvedProjectReferenceToRedirect(Me.fileName))&&!Bn.isSourceOfProjectReferenceRedirect(Me.fileName))}function M4(Me,Bn,Hn){return U0(Me,Hn,Bn.getCurrentDirectory(),Bn.getCommonSourceDirectory(),(Me=>Bn.getCanonicalFileName(Me)))}function U0(Me,Bn,Hn,zn,ni){let Ci=as(Me,Hn);return Ci=ni(Ci).indexOf(ni(zn))===0?Ci.substring(zn.length):Ci,tn(Bn,Ci)}function jN(Me,Bn,Hn,zn,ni,Ci,ts){Me.writeFile(Hn,zn,ni,(Me=>{Bn.add(Ol(Sv.Could_not_write_file_0_Colon_1,Hn,Me))}),Ci,ts)}function L4(Me,Bn,Hn){if(Me.length>Bi(Me)&&!Hn(Me)){let zn=ma(Me);L4(zn,Bn,Hn),Bn(Me)}}function JN(Me,Bn,Hn,zn,ni,Ci){try{zn(Me,Bn,Hn)}catch{L4(ma(Un(Me)),ni,Ci),zn(Me,Bn,Hn)}}function FN(Me,Bn){let Hn=ss(Me);return k_(Hn,Bn)}function ds(Me,Bn){return k_(Me,Bn)}function R4(Me){return Ae(Me.members,(Me=>nc(Me)&&xl(Me.body)))}function z0(Me){if(Me&&Me.parameters.length>0){let Bn=Me.parameters.length===2&&kl(Me.parameters[0]);return Me.parameters[Bn?1:0]}}function BN(Me){let Bn=z0(Me);return Bn&&Bn.type}function j4(Me){if(Me.parameters.length&&!iu(Me)){let Bn=Me.parameters[0];if(kl(Bn))return Bn}}function kl(Me){return Mf(Me.name)}function Mf(Me){return!!Me&&Me.kind===79&&J4(Me)}function qN(Me){if(!Mf(Me))return!1;for(;rc(Me.parent)&&Me.parent.left===Me;)Me=Me.parent;return Me.parent.kind===183}function J4(Me){return Me.escapedText==="this"}function W0(Me,Bn){let Hn,zn,ni,Ci;return v4(Bn)?(Hn=Bn,Bn.kind===174?ni=Bn:Bn.kind===175?Ci=Bn:qp.fail("Accessor has wrong kind")):c(Me,(Me=>{if(pf(Me)&&G0(Me)===G0(Bn)){let ts=Df(Me.name),Ps=Df(Bn.name);ts===Ps&&(Hn?zn||(zn=Me):Hn=Me,Me.kind===174&&!ni&&(ni=Me),Me.kind===175&&!Ci&&(Ci=Me))}})),{firstAccessor:Hn,secondAccessor:zn,getAccessor:ni,setAccessor:Ci}}function V0(Me){if(!Pr(Me)&&Wo(Me))return;let Bn=Me.type;return Bn||!Pr(Me)?Bn:Dy(Me)?Me.typeExpression&&Me.typeExpression.type:cf(Me)}function UN(Me){return Me.type}function zN(Me){return iu(Me)?Me.type&&Me.type.typeExpression&&Me.type.typeExpression.type:Me.type||(Pr(Me)?OS(Me):void 0)}function F4(Me){return ne(hl(Me),(Me=>WN(Me)?Me.typeParameters:void 0))}function WN(Me){return Go(Me)&&!(Me.parent.kind===323&&(Me.parent.tags.some(Cl)||Me.parent.tags.some(y2)))}function VN(Me){let Bn=z0(Me);return Bn&&V0(Bn)}function B4(Me,Bn,Hn,zn){q4(Me,Bn,Hn.pos,zn)}function q4(Me,Bn,Hn,zn){zn&&zn.length&&Hn!==zn[0].pos&&ds(Me,Hn)!==ds(Me,zn[0].pos)&&Bn.writeLine()}function HN(Me,Bn,Hn,zn){Hn!==zn&&ds(Me,Hn)!==ds(Me,zn)&&Bn.writeLine()}function U4(Me,Bn,Hn,zn,ni,Ci,ts,Ps){if(zn&&zn.length>0){ni&&Hn.writeSpace(" ");let aa=!1;for(let ni of zn)aa&&(Hn.writeSpace(" "),aa=!1),Ps(Me,Bn,Hn,ni.pos,ni.end,ts),ni.hasTrailingNewLine?Hn.writeLine():aa=!0;aa&&Ci&&Hn.writeSpace(" ")}}function GN(Me,Bn,Hn,zn,ni,Ci,ts){let Ps,aa;if(ts?ni.pos===0&&(Ps=ee(Ao(Me,ni.pos),B)):Ps=Ao(Me,ni.pos),Ps){let ts=[],oa;for(let Me of Ps){if(oa){let Hn=ds(Bn,oa.end);if(ds(Bn,Me.pos)>=Hn+2)break}ts.push(Me),oa=Me}if(ts.length){let oa=ds(Bn,Zn(ts).end);ds(Bn,Ar(Me,ni.pos))>=oa+2&&(B4(Bn,Hn,ni,Ps),U4(Me,Bn,Hn,ts,!1,!0,Ci,zn),aa={nodePos:ni.pos,detachedCommentEndPos:Zn(ts).end})}}return aa;function B(Bn){return v3(Me,Bn.pos)}}function $N(Me,Bn,Hn,zn,ni,Ci){if(Me.charCodeAt(zn+1)===42){let ts=my(Bn,zn),Ps=Bn.length,aa;for(let oa=zn,ca=ts.line;oa0){let Me=ni%Oo(),Bn=j0((ni-Me)/Oo());for(Hn.rawWrite(Bn);Me;)Hn.rawWrite(" "),Me--}else Hn.rawWrite("")}KN(Me,ni,Hn,Ci,oa,_a),oa=_a}}else Hn.writeComment(Me.substring(zn,ni))}function KN(Me,Bn,Hn,zn,ni,Ci){let ts=Math.min(Bn,Ci-1),Ps=Dp(Me.substring(ni,ts));Ps?(Hn.writeComment(Ps),ts!==Bn&&Hn.writeLine()):Hn.rawWrite(zn)}function z4(Me,Bn,Hn){let zn=0;for(;Bn=0&&Me.kind<=162?0:(Me.modifierFlagsCache&536870912||(Me.modifierFlagsCache=Y0(Me)|536870912),Bn&&!(Me.modifierFlagsCache&4096)&&(Hn||Pr(Me))&&Me.parent&&(Me.modifierFlagsCache|=X4(Me)|4096),Me.modifierFlagsCache&-536875009)}function Rf(Me){return K0(Me,!0)}function K4(Me){return K0(Me,!0,!0)}function X0(Me){return K0(Me,!1)}function X4(Me){let Bn=0;return Me.parent&&!Vs(Me)&&(Pr(Me)&&(CS(Me)&&(Bn|=4),AS(Me)&&(Bn|=8),PS(Me)&&(Bn|=16),DS(Me)&&(Bn|=64),kS(Me)&&(Bn|=16384)),IS(Me)&&(Bn|=8192)),Bn}function Y4(Me){return Y0(Me)|X4(Me)}function Y0(Me){let Bn=fc(Me)?Vn(Me.modifiers):0;return(Me.flags&4||Me.kind===79&&Me.flags&2048)&&(Bn|=1),Bn}function Vn(Me){let Bn=0;if(Me)for(let Hn of Me)Bn|=Q0(Hn.kind);return Bn}function Q0(Me){switch(Me){case 124:return 32;case 123:return 4;case 122:return 16;case 121:return 8;case 126:return 256;case 127:return 128;case 93:return 1;case 136:return 2;case 85:return 2048;case 88:return 1024;case 132:return 512;case 146:return 64;case 161:return 16384;case 101:return 32768;case 145:return 65536;case 167:return 131072}return 0}function Q4(Me){return Me===56||Me===55}function ZN(Me){return Q4(Me)||Me===53}function jf(Me){return Me===75||Me===76||Me===77}function eO(Me){return ur(Me)&&jf(Me.operatorToken.kind)}function Z4(Me){return Q4(Me)||Me===60}function tO(Me){return ur(Me)&&Z4(Me.operatorToken.kind)}function G_(Me){return Me>=63&&Me<=78}function ex(Me){let Bn=tx(Me);return Bn&&!Bn.isImplements?Bn.class:void 0}function tx(Me){if(e2(Me)){if(ru(Me.parent)&&bi(Me.parent.parent))return{class:Me.parent.parent,isImplements:Me.parent.token===117};if(md(Me.parent)){let Bn=A0(Me.parent);if(Bn&&bi(Bn))return{class:Bn,isImplements:!1}}}}function ms(Me,Bn){return ur(Me)&&(Bn?Me.operatorToken.kind===63:G_(Me.operatorToken.kind))&&Do(Me.left)}function rO(Me){return ms(Me.parent)&&Me.parent.left===Me}function nO(Me){if(ms(Me,!0)){let Bn=Me.left.kind;return Bn===207||Bn===206}return!1}function Z0(Me){return ex(Me)!==void 0}function Bs(Me){return Me.kind===79||rx(Me)}function iO(Me){switch(Me.kind){case 79:return Me;case 163:do{Me=Me.left}while(Me.kind!==79);return Me;case 208:do{Me=Me.expression}while(Me.kind!==79);return Me}}function ev(Me){return Me.kind===79||Me.kind===108||Me.kind===106||Me.kind===233||Me.kind===208&&ev(Me.expression)||Me.kind===214&&ev(Me.expression)}function rx(Me){return bn(Me)&&yt(Me.name)&&Bs(Me.expression)}function tv(Me){if(bn(Me)){let Bn=tv(Me.expression);if(Bn!==void 0)return Bn+"."+ls(Me.name)}else if(gs(Me)){let Bn=tv(Me.expression);if(Bn!==void 0&&vl(Me.argumentExpression))return Bn+"."+Df(Me.argumentExpression)}else if(yt(Me))return dl(Me.escapedText)}function Nl(Me){return W_(Me)&&Fs(Me)==="prototype"}function aO(Me){return Me.parent.kind===163&&Me.parent.right===Me||Me.parent.kind===208&&Me.parent.name===Me}function nx(Me){return bn(Me.parent)&&Me.parent.name===Me||gs(Me.parent)&&Me.parent.argumentExpression===Me}function sO(Me){return rc(Me.parent)&&Me.parent.right===Me||bn(Me.parent)&&Me.parent.name===Me||uc(Me.parent)&&Me.parent.right===Me}function oO(Me){return Me.kind===207&&Me.properties.length===0}function _O(Me){return Me.kind===206&&Me.elements.length===0}function cO(Me){if(!(!lO(Me)||!Me.declarations)){for(let Bn of Me.declarations)if(Bn.localSymbol)return Bn.localSymbol}}function lO(Me){return Me&&I(Me.declarations)>0&&rn(Me.declarations[0],1024)}function uO(Me){return Ae(iD,(Bn=>ns(Me,Bn)))}function pO(Me){let Bn=[],Hn=Me.length;for(let zn=0;zn>6|192),Bn.push(Hn&63|128)):Hn<65536?(Bn.push(Hn>>12|224),Bn.push(Hn>>6&63|128),Bn.push(Hn&63|128)):Hn<131072?(Bn.push(Hn>>18|240),Bn.push(Hn>>12&63|128),Bn.push(Hn>>6&63|128),Bn.push(Hn&63|128)):qp.assert(!1,"Unexpected code point")}return Bn}function ix(Me){let Bn="",Hn=pO(Me),zn=0,ni=Hn.length,Ci,ts,Ps,aa;for(;zn>2,ts=(Hn[zn]&3)<<4|Hn[zn+1]>>4,Ps=(Hn[zn+1]&15)<<2|Hn[zn+2]>>6,aa=Hn[zn+2]&63,zn+1>=ni?Ps=aa=64:zn+2>=ni&&(aa=64),Bn+=PC.charAt(Ci)+PC.charAt(ts)+PC.charAt(Ps)+PC.charAt(aa),zn+=3;return Bn}function fO(Me){let Bn="",Hn=0,zn=Me.length;for(;Hn>4&3,aa=(Hn&15)<<4|Ci>>2&15,oa=(Ci&3)<<6|ts&63;aa===0&&Ci!==0?zn.push(Ps):oa===0&&ts!==0?zn.push(Ps,aa):zn.push(Ps,aa,oa),ni+=4}return fO(zn)}function ax(Me,Bn){let Hn=Ji(Bn)?Bn:Bn.readFile(Me);if(!Hn)return;let zn=parseConfigFileTextToJson(Me,Hn);return zn.error?void 0:zn.config}function hO(Me,Bn){return ax(Me,Bn)||{}}function sx(Me,Bn){return!Bn.directoryExists||Bn.directoryExists(Me)}function ox(Me){switch(Me.newLine){case 0:return OC;case 1:case void 0:return LC}}function Jf(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Me;return qp.assert(Bn>=Me||Bn===-1),{pos:Me,end:Bn}}function gO(Me,Bn){return Jf(Me.pos,Bn)}function Ff(Me,Bn){return Jf(Bn,Me.end)}function _x(Me){let Bn=fc(Me)?te(Me.modifiers,zl):void 0;return Bn&&!hs(Bn.end)?Ff(Me,Bn.end):Me}function yO(Me){if(Bo(Me)||Vl(Me))return Ff(Me,Me.name.pos);let Bn=fc(Me)?Cn(Me.modifiers):void 0;return Bn&&!hs(Bn.end)?Ff(Me,Bn.end):_x(Me)}function vO(Me){return Me.pos===Me.end}function bO(Me,Bn){return Jf(Me,Me+Br(Bn).length)}function TO(Me,Bn){return cx(Me,Me,Bn)}function SO(Me,Bn,Hn){return $_(K_(Me,Hn,!1),K_(Bn,Hn,!1),Hn)}function xO(Me,Bn,Hn){return $_(Me.end,Bn.end,Hn)}function cx(Me,Bn,Hn){return $_(K_(Me,Hn,!1),Bn.end,Hn)}function EO(Me,Bn,Hn){return $_(Me.end,K_(Bn,Hn,!1),Hn)}function wO(Me,Bn,Hn,zn){let ni=K_(Bn,Hn,zn);return I_(Hn,Me.end,ni)}function CO(Me,Bn,Hn){return I_(Hn,Me.end,Bn.end)}function AO(Me,Bn){return!$_(Me.pos,Me.end,Bn)}function $_(Me,Bn,Hn){return I_(Hn,Me,Bn)===0}function K_(Me,Bn,Hn){return hs(Me.pos)?-1:Ar(Bn.text,Me.pos,!1,Hn)}function PO(Me,Bn,Hn,zn){let ni=Ar(Hn.text,Me,!1,zn),Ci=kO(ni,Bn,Hn);return I_(Hn,Ci!=null?Ci:Bn,ni)}function DO(Me,Bn,Hn,zn){let ni=Ar(Hn.text,Me,!1,zn);return I_(Hn,Me,Math.min(Bn,ni))}function kO(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,Hn=arguments.length>2?arguments[2]:void 0;for(;Me-- >Bn;)if(!os(Hn.text.charCodeAt(Me)))return Me}function IO(Me){let Bn=fl(Me);if(Bn)switch(Bn.parent.kind){case 263:case 264:return Bn===Bn.parent.name}return!1}function NO(Me){return ee(Me.declarations,lx)}function lx(Me){return Vi(Me)&&Me.initializer!==void 0}function OO(Me){return Me.watch&&Jr(Me,"watch")}function MO(Me){Me.close()}function ux(Me){return Me.flags&33554432?Me.links.checkFlags:0}function LO(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(Me.valueDeclaration){let Hn=Bn&&Me.declarations&&Ae(Me.declarations,ic)||Me.flags&32768&&Ae(Me.declarations,Gl)||Me.valueDeclaration,zn=ef(Hn);return Me.parent&&Me.parent.flags&32?zn:zn&-29}if(ux(Me)&6){let Bn=Me.links.checkFlags,Hn=Bn&1024?8:Bn&256?4:16,zn=Bn&2048?32:0;return Hn|zn}return Me.flags&4194304?36:0}function RO(Me,Bn){return Me.flags&2097152?Bn.getAliasedSymbol(Me):Me}function jO(Me){return Me.exportSymbol?Me.exportSymbol.flags|Me.flags:Me.flags}function JO(Me){return Mo(Me)===1}function FO(Me){return Mo(Me)!==0}function Mo(Me){let{parent:Bn}=Me;if(!Bn)return 0;switch(Bn.kind){case 214:return Mo(Bn);case 222:case 221:let{operator:Hn}=Bn;return Hn===45||Hn===46?r():0;case 223:let{left:zn,operatorToken:ni}=Bn;return zn===Me&&G_(ni.kind)?ni.kind===63?1:r():0;case 208:return Bn.name!==Me?0:Mo(Bn);case 299:{let Hn=Mo(Bn.parent);return Me===Bn.name?BO(Hn):Hn}case 300:return Me===Bn.objectAssignmentInitializer?0:Mo(Bn.parent);case 206:return Mo(Bn);default:return 0}function r(){return Bn.parent&&D0(Bn.parent).kind===241?1:2}}function BO(Me){switch(Me){case 0:return 1;case 1:return 0;case 2:return 2;default:return qp.assertNever(Me)}}function px(Me,Bn){if(!Me||!Bn||Object.keys(Me).length!==Object.keys(Bn).length)return!1;for(let Hn in Me)if(typeof Me[Hn]=="object"){if(!px(Me[Hn],Bn[Hn]))return!1}else if(typeof Me[Hn]!="function"&&Me[Hn]!==Bn[Hn])return!1;return!0}function qO(Me,Bn){Me.forEach(Bn),Me.clear()}function fx(Me,Bn,Hn){let{onDeleteValue:zn,onExistingValue:ni}=Hn;Me.forEach(((Hn,Ci)=>{let ts=Bn.get(Ci);ts===void 0?(Me.delete(Ci),zn(Hn,Ci)):ni&&ni(Hn,ts,Ci)}))}function UO(Me,Bn,Hn){fx(Me,Bn,Hn);let{createNewValue:zn}=Hn;Bn.forEach(((Bn,Hn)=>{Me.has(Hn)||Me.set(Hn,zn(Hn,Bn))}))}function zO(Me){if(Me.flags&32){let Bn=dx(Me);return!!Bn&&rn(Bn,256)}return!1}function dx(Me){var Bn;return(Bn=Me.declarations)==null?void 0:Bn.find(bi)}function Bf(Me){return Me.flags&3899393?Me.objectFlags:0}function WO(Me,Bn){return!!FT(Me,(Me=>Bn(Me)?!0:void 0))}function VO(Me){return!!Me&&!!Me.declarations&&!!Me.declarations[0]&&a2(Me.declarations[0])}function HO(Me){let{moduleSpecifier:Bn}=Me;return Gn(Bn)?Bn.text:gf(Bn)}function mx(Me){let Bn;return xr(Me,(Me=>{xl(Me)&&(Bn=Me)}),(Me=>{for(let Hn=Me.length-1;Hn>=0;Hn--)if(xl(Me[Hn])){Bn=Me[Hn];break}})),Bn}function GO(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return Me.has(Bn)?!1:(Me.set(Bn,Hn),!0)}function $O(Me){return bi(Me)||eu(Me)||id(Me)}function hx(Me){return Me>=179&&Me<=202||Me===131||Me===157||Me===148||Me===160||Me===149||Me===134||Me===152||Me===153||Me===114||Me===155||Me===144||Me===139||Me===230||Me===315||Me===316||Me===317||Me===318||Me===319||Me===320||Me===321}function Lo(Me){return Me.kind===208||Me.kind===209}function KO(Me){return Me.kind===208?Me.name:(qp.assert(Me.kind===209),Me.argumentExpression)}function XO(Me){switch(Me.kind){case"text":case"internal":return!0;default:return!1}}function YO(Me){return Me.kind===272||Me.kind===276}function rv(Me){for(;Lo(Me);)Me=Me.expression;return Me}function QO(Me,Bn){if(Lo(Me.parent)&&nx(Me))return r(Me.parent);function r(Me){if(Me.kind===208){let Hn=Bn(Me.name);if(Hn!==void 0)return Hn}else if(Me.kind===209)if(yt(Me.argumentExpression)||Ti(Me.argumentExpression)){let Hn=Bn(Me.argumentExpression);if(Hn!==void 0)return Hn}else return;if(Lo(Me.expression))return r(Me.expression);if(yt(Me.expression))return Bn(Me.expression)}}function ZO(Me,Bn){for(;;){switch(Me.kind){case 222:Me=Me.operand;continue;case 223:Me=Me.left;continue;case 224:Me=Me.condition;continue;case 212:Me=Me.tag;continue;case 210:if(Bn)return Me;case 231:case 209:case 208:case 232:case 356:case 235:Me=Me.expression;continue}return Me}}function eM(Me,Bn){this.flags=Me,this.escapedName=Bn,this.declarations=void 0,this.valueDeclaration=void 0,this.id=0,this.mergeId=0,this.parent=void 0,this.members=void 0,this.exports=void 0,this.exportSymbol=void 0,this.constEnumOnlyModule=void 0,this.isReferenced=void 0,this.isAssigned=void 0,this.links=void 0}function tM(Me,Bn){this.flags=Bn,(qp.isDebugging||xd)&&(this.checker=Me)}function rM(Me,Bn){this.flags=Bn,qp.isDebugging&&(this.checker=Me)}function nv(Me,Bn,Hn){this.pos=Bn,this.end=Hn,this.kind=Me,this.id=0,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.original=void 0,this.emitNode=void 0}function nM(Me,Bn,Hn){this.pos=Bn,this.end=Hn,this.kind=Me,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0,this.emitNode=void 0}function iM(Me,Bn,Hn){this.pos=Bn,this.end=Hn,this.kind=Me,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0,this.original=void 0,this.emitNode=void 0}function aM(Me,Bn,Hn){this.fileName=Me,this.text=Bn,this.skipTrivia=Hn||(Me=>Me)}function sM(Me){jC.push(Me),Me(MC)}function gx(Me){Object.assign(MC,Me),c(jC,(Me=>Me(MC)))}function X_(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Me.replace(/{(\d+)}/g,((Me,zn)=>""+qp.checkDefined(Bn[+zn+Hn])))}function yx(Me){UC=Me}function vx(Me){!UC&&Me&&(UC=Me())}function Y_(Me){return UC&&UC[Me.key]||Me.message}function Ro(Me,Bn,Hn,zn){t0(void 0,Bn,Hn);let ni=Y_(zn);return arguments.length>4&&(ni=X_(ni,arguments,4)),{file:void 0,start:Bn,length:Hn,messageText:ni,category:zn.category,code:zn.code,reportsUnnecessary:zn.reportsUnnecessary,fileName:Me}}function oM(Me){return Me.file===void 0&&Me.start!==void 0&&Me.length!==void 0&&typeof Me.fileName=="string"}function bx(Me,Bn){let Hn=Bn.fileName||"",zn=Bn.text.length;qp.assertEqual(Me.fileName,Hn),qp.assertLessThanOrEqual(Me.start,zn),qp.assertLessThanOrEqual(Me.start+Me.length,zn);let ni={file:Bn,start:Me.start,length:Me.length,messageText:Me.messageText,category:Me.category,code:Me.code,reportsUnnecessary:Me.reportsUnnecessary};if(Me.relatedInformation){ni.relatedInformation=[];for(let Ci of Me.relatedInformation)oM(Ci)&&Ci.fileName===Hn?(qp.assertLessThanOrEqual(Ci.start,zn),qp.assertLessThanOrEqual(Ci.start+Ci.length,zn),ni.relatedInformation.push(bx(Ci,Bn))):ni.relatedInformation.push(Ci)}return ni}function qs(Me,Bn){let Hn=[];for(let zn of Me)Hn.push(bx(zn,Bn));return Hn}function iv(Me,Bn,Hn,zn){t0(Me,Bn,Hn);let ni=Y_(zn);return arguments.length>4&&(ni=X_(ni,arguments,4)),{file:Me,start:Bn,length:Hn,messageText:ni,category:zn.category,code:zn.code,reportsUnnecessary:zn.reportsUnnecessary,reportsDeprecated:zn.reportsDeprecated}}function _M(Me,Bn){let Hn=Y_(Bn);return arguments.length>2&&(Hn=X_(Hn,arguments,2)),Hn}function Ol(Me){let Bn=Y_(Me);return arguments.length>1&&(Bn=X_(Bn,arguments,1)),{file:void 0,start:void 0,length:void 0,messageText:Bn,category:Me.category,code:Me.code,reportsUnnecessary:Me.reportsUnnecessary,reportsDeprecated:Me.reportsDeprecated}}function cM(Me,Bn){return{file:void 0,start:void 0,length:void 0,code:Me.code,category:Me.category,messageText:Me.next?Me:Me.messageText,relatedInformation:Bn}}function lM(Me,Bn){let Hn=Y_(Bn);return arguments.length>2&&(Hn=X_(Hn,arguments,2)),{messageText:Hn,category:Bn.category,code:Bn.code,next:Me===void 0||Array.isArray(Me)?Me:[Me]}}function uM(Me,Bn){let Hn=Me;for(;Hn.next;)Hn=Hn.next[0];Hn.next=[Bn]}function Tx(Me){return Me.file?Me.file.path:void 0}function av(Me,Bn){return qf(Me,Bn)||pM(Me,Bn)||0}function qf(Me,Bn){return ri(Tx(Me),Tx(Bn))||Vr(Me.start,Bn.start)||Vr(Me.length,Bn.length)||Vr(Me.code,Bn.code)||Sx(Me.messageText,Bn.messageText)||0}function pM(Me,Bn){return!Me.relatedInformation&&!Bn.relatedInformation?0:Me.relatedInformation&&Bn.relatedInformation?Vr(Me.relatedInformation.length,Bn.relatedInformation.length)||c(Me.relatedInformation,((Me,Hn)=>{let zn=Bn.relatedInformation[Hn];return av(Me,zn)}))||0:Me.relatedInformation?-1:1}function Sx(Me,Bn){if(typeof Me=="string"&&typeof Bn=="string")return ri(Me,Bn);if(typeof Me=="string")return-1;if(typeof Bn=="string")return 1;let Hn=ri(Me.messageText,Bn.messageText);if(Hn)return Hn;if(!Me.next&&!Bn.next)return 0;if(!Me.next)return-1;if(!Bn.next)return 1;let zn=Math.min(Me.next.length,Bn.next.length);for(let ni=0;niBn.next.length?1:0}function sv(Me){return Me===4||Me===2||Me===1||Me===6?1:0}function xx(Me){if(Me.transformFlags&2)return _3(Me)||pd(Me)?Me:xr(Me,xx)}function fM(Me){return Me.isDeclarationFile?void 0:xx(Me)}function dM(Me){return(Me.impliedNodeFormat===99||da(Me.fileName,[".cjs",".cts",".mjs",".mts"]))&&!Me.isDeclarationFile?!0:void 0}function Ex(Me){switch(wx(Me)){case 3:return Me=>{Me.externalModuleIndicator=ou(Me)||!Me.isDeclarationFile||void 0};case 1:return Me=>{Me.externalModuleIndicator=ou(Me)};case 2:let Bn=[ou];(Me.jsx===4||Me.jsx===5)&&Bn.push(fM),Bn.push(dM);let Hn=W1(...Bn);return Me=>void(Me.externalModuleIndicator=Hn(Me))}}function Uf(Me){var Bn;return(Bn=Me.target)!=null?Bn:Me.module===100&&9||Me.module===199&&99||1}function Ei(Me){return typeof Me.module=="number"?Me.module:Uf(Me)>=2?5:1}function mM(Me){return Me>=5&&Me<=99}function Ml(Me){let Bn=Me.moduleResolution;if(Bn===void 0)switch(Ei(Me)){case 1:Bn=2;break;case 100:Bn=3;break;case 199:Bn=99;break;default:Bn=1;break}return Bn}function wx(Me){return Me.moduleDetection||(Ei(Me)===100||Ei(Me)===199?3:2)}function hM(Me){switch(Ei(Me)){case 1:case 2:case 5:case 6:case 7:case 99:case 100:case 199:return!0;default:return!1}}function zf(Me){return!!(Me.isolatedModules||Me.verbatimModuleSyntax)}function gM(Me){return Me.verbatimModuleSyntax||Me.isolatedModules&&Me.preserveValueImports}function yM(Me){return Me.allowUnreachableCode===!1}function vM(Me){return Me.allowUnusedLabels===!1}function bM(Me){return!!(cv(Me)&&Me.declarationMap)}function ov(Me){if(Me.esModuleInterop!==void 0)return Me.esModuleInterop;switch(Ei(Me)){case 100:case 199:return!0}}function TM(Me){return Me.allowSyntheticDefaultImports!==void 0?Me.allowSyntheticDefaultImports:ov(Me)||Ei(Me)===4||Ml(Me)===100}function _v(Me){return Me>=3&&Me<=99||Me===100}function SM(Me){let Bn=Ml(Me);if(!_v(Bn))return!1;if(Me.resolvePackageJsonExports!==void 0)return Me.resolvePackageJsonExports;switch(Bn){case 3:case 99:case 100:return!0}return!1}function xM(Me){let Bn=Ml(Me);if(!_v(Bn))return!1;if(Me.resolvePackageJsonExports!==void 0)return Me.resolvePackageJsonExports;switch(Bn){case 3:case 99:case 100:return!0}return!1}function Cx(Me){return Me.resolveJsonModule!==void 0?Me.resolveJsonModule:Ml(Me)===100}function cv(Me){return!!(Me.declaration||Me.composite)}function EM(Me){return!!(Me.preserveConstEnums||zf(Me))}function wM(Me){return!!(Me.incremental||Me.composite)}function lv(Me,Bn){return Me[Bn]===void 0?!!Me.strict:!!Me[Bn]}function Ax(Me){return Me.allowJs===void 0?!!Me.checkJs:Me.allowJs}function CM(Me){return Me.useDefineForClassFields===void 0?Uf(Me)>=9:Me.useDefineForClassFields}function AM(Me,Bn){return J_(Bn,Me,semanticDiagnosticsOptionDeclarations)}function PM(Me,Bn){return J_(Bn,Me,affectsEmitOptionDeclarations)}function DM(Me,Bn){return J_(Bn,Me,affectsDeclarationPathOptionDeclarations)}function uv(Me,Bn){return Bn.strictFlag?lv(Me,Bn.name):Me[Bn.name]}function kM(Me){let Bn=Me.jsx;return Bn===2||Bn===4||Bn===5}function IM(Me,Bn){let Hn=Bn==null?void 0:Bn.pragmas.get("jsximportsource"),zn=ir(Hn)?Hn[Hn.length-1]:Hn;return Me.jsx===4||Me.jsx===5||Me.jsxImportSource||zn?(zn==null?void 0:zn.arguments.factory)||Me.jsxImportSource||"react":void 0}function NM(Me,Bn){return Me?`${Me}/${Bn.jsx===5?"jsx-dev-runtime":"jsx-runtime"}`:void 0}function OM(Me){let Bn=!1;for(let Hn=0;Hnni,getSymlinkedDirectories:()=>Hn,getSymlinkedDirectoriesByRealpath:()=>zn,setSymlinkedFile:(Me,Bn)=>(ni||(ni=new Map)).set(Me,Bn),setSymlinkedDirectory:(ni,Ci)=>{let ts=Ui(ni,Me,Bn);Hx(ts)||(ts=wo(ts),Ci!==!1&&!(Hn!=null&&Hn.has(ts))&&(zn||(zn=Be())).add(wo(Ci.realPath),ni),(Hn||(Hn=new Map)).set(ts,Ci))},setSymlinksFromResolutions(Me,Bn){var Hn,zn;qp.assert(!Ci),Ci=!0;for(let Bn of Me)(Hn=Bn.resolvedModules)==null||Hn.forEach((Me=>w(this,Me.resolvedModule))),(zn=Bn.resolvedTypeReferenceDirectiveNames)==null||zn.forEach((Me=>w(this,Me.resolvedTypeReferenceDirective)));Bn.forEach((Me=>w(this,Me.resolvedTypeReferenceDirective)))},hasProcessedResolutions:()=>Ci};function w(Hn,zn){if(!zn||!zn.originalPath||!zn.resolvedFileName)return;let{resolvedFileName:ni,originalPath:Ci}=zn;Hn.setSymlinkedFile(Ui(Ci,Me,Bn),ni);let[ts,Ps]=LM(ni,Ci,Me,Bn)||ca;ts&&Ps&&Hn.setSymlinkedDirectory(Ps,{real:ts,realPath:Ui(ts,Me,Bn)})}}function LM(Me,Bn,Hn,zn){let ni=qi(as(Me,Hn)),Ci=qi(as(Bn,Hn)),ts=!1;for(;ni.length>=2&&Ci.length>=2&&!Px(ni[ni.length-2],zn)&&!Px(Ci[Ci.length-2],zn)&&zn(ni[ni.length-1])===zn(Ci[Ci.length-1]);)ni.pop(),Ci.pop(),ts=!0;return ts?[xo(ni),xo(Ci)]:void 0}function Px(Me,Bn){return Me!==void 0&&(Bn(Me)==="node_modules"||Pn(Me,"@"))}function RM(Me){return ay(Me.charCodeAt(0))?Me.slice(1):void 0}function jM(Me,Bn,Hn){let zn=ST(Me,Bn,Hn);return zn===void 0?void 0:RM(zn)}function JM(Me){return Me.replace(GC,FM)}function FM(Me){return"\\"+Me}function Wf(Me,Bn,Hn){let zn=pv(Me,Bn,Hn);return!zn||!zn.length?void 0:`^(${zn.map((Me=>`(${Me})`)).join("|")})${Hn==="exclude"?"($|/)":"$"}`}function pv(Me,Bn,Hn){if(!(Me===void 0||Me.length===0))return ne(Me,(Me=>Me&&kx(Me,Bn,Hn,KC[Hn])))}function Dx(Me){return!/[.*?]/.test(Me)}function BM(Me,Bn,Hn){let zn=Me&&kx(Me,Bn,Hn,KC[Hn]);return zn&&`^(${zn})${Hn==="exclude"?"($|/)":"$"}`}function kx(Me,Bn,Hn,zn){let{singleAsteriskRegexFragment:ni,doubleAsteriskRegexFragment:Ci,replaceWildcardCharacter:ts}=zn,Ps="",aa=!1,oa=$p(Me,Bn),ca=Zn(oa);if(Hn!=="exclude"&&ca==="**")return;oa[0]=P_(oa[0]),Dx(ca)&&oa.push("**","*");let _a=0;for(let Me of oa){if(Me==="**")Ps+=Ci;else if(Hn==="directories"&&(Ps+="(",_a++),aa&&(Ps+=Av),Hn!=="exclude"){let Bn="";Me.charCodeAt(0)===42?(Bn+="([^./]"+ni+")?",Me=Me.substr(1)):Me.charCodeAt(0)===63&&(Bn+="[^./]",Me=Me.substr(1)),Bn+=Me.replace(GC,ts),Bn!==Me&&(Ps+=JC),Ps+=Bn}else Ps+=Me.replace(GC,ts);aa=!0}for(;_a>0;)Ps+=")?",_a--;return Ps}function fv(Me,Bn){return Me==="*"?Bn:Me==="?"?"[^/]":"\\"+Me}function Ix(Me,Bn,Hn,zn,ni){Me=Un(Me),ni=Un(ni);let Ci=tn(ni,Me);return{includeFilePatterns:Ze(pv(Hn,Ci,"files"),(Me=>`^${Me}$`)),includeFilePattern:Wf(Hn,Ci,"files"),includeDirectoryPattern:Wf(Hn,Ci,"directories"),excludePattern:Wf(Bn,Ci,"exclude"),basePaths:UM(Me,Hn,zn)}}function Vf(Me,Bn){return new RegExp(Me,Bn?"":"i")}function qM(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa){Me=Un(Me),Ci=Un(Ci);let oa=Ix(Me,Hn,zn,ni,Ci),ca=oa.includeFilePatterns&&oa.includeFilePatterns.map((Me=>Vf(Me,ni))),_a=oa.includeDirectoryPattern&&Vf(oa.includeDirectoryPattern,ni),xa=oa.excludePattern&&Vf(oa.excludePattern,ni),Ga=ca?ca.map((()=>[])):[[]],Ha=new Map,so=wp(ni);for(let Me of oa.basePaths)Se(Me,tn(Ci,Me),ts);return ct(Ga);function Se(Me,Hn,zn){let ni=so(aa(Hn));if(Ha.has(ni))return;Ha.set(ni,!0);let{files:Ci,directories:ts}=Ps(Me);for(let zn of Is(Ci,ri)){let ni=tn(Me,zn),Ci=tn(Hn,zn);if(!(Bn&&!da(ni,Bn))&&!(xa&&xa.test(Ci)))if(!ca)Ga[0].push(ni);else{let Me=he(ca,(Me=>Me.test(Ci)));Me!==-1&&Ga[Me].push(ni)}}if(!(zn!==void 0&&(zn--,zn===0)))for(let Bn of Is(ts,ri)){let ni=tn(Me,Bn),Ci=tn(Hn,Bn);(!_a||_a.test(Ci))&&(!xa||!xa.test(Ci))&&Se(ni,Ci,zn)}}}function UM(Me,Bn,Hn){let zn=[Me];if(Bn){let ni=[];for(let Hn of Bn){let Bn=A_(Hn)?Hn:Un(tn(Me,Hn));ni.push(zM(Bn))}ni.sort(rl(!Hn));for(let Bn of ni)me(zn,(zn=>!jT(zn,Bn,Me,!Hn)))&&zn.push(Bn)}return zn}function zM(Me){let Bn=Je(Me,HC);return Bn<0?OT(Me)?P_(ma(Me)):Me:Me.substring(0,Me.lastIndexOf(Av,Bn))}function Nx(Me,Bn){return Bn||Ox(Me)||3}function Ox(Me){switch(Me.substr(Me.lastIndexOf(".")).toLowerCase()){case".js":case".cjs":case".mjs":return 1;case".jsx":return 2;case".ts":case".cts":case".mts":return 3;case".tsx":return 4;case".json":return 6;default:return 0}}function Mx(Me,Bn){let Hn=Me&&Ax(Me);if(!Bn||Bn.length===0)return Hn?rw:zC;let zn=Hn?rw:zC,ni=ct(zn);return[...zn,...qt(Bn,(Me=>Me.scriptKind===7||Hn&&WM(Me.scriptKind)&&ni.indexOf(Me.extension)===-1?[Me.extension]:void 0))]}function Lx(Me,Bn){return!Me||!Cx(Me)?Bn:Bn===rw?nw:Bn===zC?ZC:[...Bn,[".json"]]}function WM(Me){return Me===1||Me===2}function dv(Me){return Ke(tw,(Bn=>ns(Me,Bn)))}function mv(Me){return Ke(XC,(Bn=>ns(Me,Bn)))}function Rx(Me){let{imports:Bn}=Me,Hn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:W1(dv,mv);return q(Bn,(Me=>{let{text:Bn}=Me;return So(Bn)?Hn(Bn):void 0}))||!1}function VM(Me,Bn,Hn,zn){if(Me==="js"||Bn===99)return shouldAllowImportingTsExtension(Hn)&&f()!==2?3:2;if(Me==="minimal")return 0;if(Me==="index")return 1;if(!shouldAllowImportingTsExtension(Hn))return Rx(zn)?2:0;return f();function f(){let Me=!1,Bn=zn.imports.length?zn.imports.map((Me=>Me.text)):y0(zn)?HM(zn).map((Me=>Me.arguments[0].text)):ca;for(let Hn of Bn)if(So(Hn)){if(mv(Hn))return 3;dv(Hn)&&(Me=!0)}return Me?2:0}}function HM(Me){let Bn=0,Hn;for(let zn of Me.statements){if(Bn>3)break;W3(zn)?Hn=Ft(Hn,zn.declarationList.declarations.map((Me=>Me.initializer))):Zl(zn)&&El(zn.expression,!0)?Hn=tr(Hn,zn.expression):Bn++}return Hn||ca}function GM(Me,Bn,Hn){if(!Me)return!1;let zn=Mx(Bn,Hn);for(let Hn of ct(Lx(Bn,zn)))if(ns(Me,Hn))return!0;return!1}function jx(Me){let Bn=Me.match(/\//g);return Bn?Bn.length:0}function $M(Me,Bn){return Vr(jx(Me),jx(Bn))}function Ll(Me){for(let Bn of ow){let Hn=Jx(Me,Bn);if(Hn!==void 0)return Hn}return Me}function Jx(Me,Bn){return ns(Me,Bn)?Fx(Me,Bn):void 0}function Fx(Me,Bn){return Me.substring(0,Me.length-Bn.length)}function KM(Me,Bn){return RT(Me,Bn,ow,!1)}function Bx(Me){let Bn=Me.indexOf("*");return Bn===-1?Me:Me.indexOf("*",Bn+1)!==-1?void 0:{prefix:Me.substr(0,Bn),suffix:Me.substr(Bn+1)}}function XM(Me){return qt(ho(Me),(Me=>Bx(Me)))}function hs(Me){return!(Me>=0)}function qx(Me){return Me===".ts"||Me===".tsx"||Me===".d.ts"||Me===".cts"||Me===".mts"||Me===".d.mts"||Me===".d.cts"||Pn(Me,".d.")&&es(Me,".ts")}function YM(Me){return qx(Me)||Me===".json"}function QM(Me){let Bn=hv(Me);return Bn!==void 0?Bn:qp.fail(`File ${Me} has unknown extension.`)}function ZM(Me){return hv(Me)!==void 0}function hv(Me){return Ae(ow,(Bn=>ns(Me,Bn)))}function eL(Me,Bn){return Me.checkJsDirective?Me.checkJsDirective.enabled:Bn.checkJs}function tL(Me,Bn){let Hn=[];for(let zn of Me){if(zn===Bn)return Bn;Ji(zn)||Hn.push(zn)}return TT(Hn,(Me=>Me),Bn)}function rL(Me,Bn){let Hn=Me.indexOf(Bn);return qp.assert(Hn!==-1),Me.slice(Hn)}function Rl(Me){for(var Bn=arguments.length,Hn=new Array(Bn>1?Bn-1:0),zn=1;znzn&&(zn=Ci)}return{min:Hn,max:zn}}function iL(Me){return{pos:Io(Me),end:Me.end}}function aL(Me,Bn){let Hn=Bn.pos-1,zn=Math.min(Me.text.length,Ar(Me.text,Bn.end)+1);return{pos:Hn,end:zn}}function sL(Me,Bn,Hn){return Bn.skipLibCheck&&Me.isDeclarationFile||Bn.skipDefaultLibCheck&&Me.hasNoDefaultLib||Hn.isSourceOfProjectReferenceRedirect(Me.fileName)}function gv(Me,Bn){return Me===Bn||typeof Me=="object"&&Me!==null&&typeof Bn=="object"&&Bn!==null&&S_(Me,Bn,gv)}function Hf(Me){let Bn;switch(Me.charCodeAt(1)){case 98:case 66:Bn=1;break;case 111:case 79:Bn=3;break;case 120:case 88:Bn=4;break;default:let Hn=Me.length-1,zn=0;for(;Me.charCodeAt(zn)===48;)zn++;return Me.slice(zn,Hn)||"0"}let Hn=2,zn=Me.length-1,ni=(zn-Hn)*Bn,Ci=new Uint16Array((ni>>>4)+(ni&15?1:0));for(let ni=zn-1,ts=0;ni>=Hn;ni--,ts+=Bn){let Bn=ts>>>4,Hn=Me.charCodeAt(ni),zn=(Hn<=57?Hn-48:10+Hn-(Hn<=70?65:97))<<(ts&15);Ci[Bn]|=zn;let Ps=zn>>>16;Ps&&(Ci[Bn+1]|=Ps)}let ts="",Ps=Ci.length-1,aa=!0;for(;aa;){let Me=0;aa=!1;for(let Bn=Ps;Bn>=0;Bn--){let Hn=Me<<16|Ci[Bn],zn=Hn/10|0;Ci[Bn]=zn,Me=Hn-zn*10,zn&&!aa&&(Ps=Bn,aa=!0)}ts=Me+ts}return ts}function yv(Me){let{negative:Bn,base10Value:Hn}=Me;return(Bn&&Hn!=="0"?"-":"")+Hn}function oL(Me){if(zx(Me,!1))return Ux(Me)}function Ux(Me){let Bn=Me.startsWith("-"),Hn=Hf(`${Bn?Me.slice(1):Me}n`);return{negative:Bn,base10Value:Hn}}function zx(Me,Bn){if(Me==="")return!1;let Hn=Po(99,!1),zn=!0;Hn.setOnError((()=>zn=!1)),Hn.setText(Me+"n");let ni=Hn.scan(),Ci=ni===40;Ci&&(ni=Hn.scan());let ts=Hn.getTokenFlags();return zn&&ni===9&&Hn.getTextPos()===Me.length+1&&!(ts&512)&&(!Bn||Me===yv({negative:Ci,base10Value:Hf(Hn.getTokenValue())}))}function _L(Me){return!!(Me.flags&16777216)||F3(Me)||uL(Me)||lL(Me)||!(g0(Me)||cL(Me))}function cL(Me){return yt(Me)&&nu(Me.parent)&&Me.parent.name===Me}function lL(Me){for(;Me.kind===79||Me.kind===208;)Me=Me.parent;if(Me.kind!==164)return!1;if(rn(Me.parent,256))return!0;let Bn=Me.parent.parent.kind;return Bn===261||Bn===184}function uL(Me){if(Me.kind!==79)return!1;let Bn=zi(Me.parent,(Me=>{switch(Me.kind){case 294:return!0;case 208:case 230:return!1;default:return"quit"}}));return(Bn==null?void 0:Bn.token)===117||(Bn==null?void 0:Bn.parent.kind)===261}function pL(Me){return ac(Me)&&yt(Me.typeName)}function fL(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fa;if(Me.length<2)return!0;let Hn=Me[0];for(let zn=1,ni=Me.length;znFi(Me,Bn)))}function yL(Me){if(!Me.parent)return;switch(Me.kind){case 165:let{parent:Bn}=Me;return Bn.kind===192?void 0:Bn.typeParameters;case 166:return Me.parent.parameters;case 201:return Me.parent.templateSpans;case 236:return Me.parent.templateSpans;case 167:{let{parent:Bn}=Me;return ME(Bn)?Bn.modifiers:void 0}case 294:return Me.parent.heritageClauses}let{parent:Bn}=Me;if(zy(Me))return f2(Me.parent)?void 0:Me.parent.tags;switch(Bn.kind){case 184:case 261:return Ry(Me)?Bn.members:void 0;case 189:case 190:return Bn.types;case 186:case 206:case 357:case 272:case 276:return Bn.elements;case 207:case 289:return Bn.properties;case 210:case 211:return Jy(Me)?Bn.typeArguments:Bn.expression===Me?void 0:Bn.arguments;case 281:case 285:return o3(Me)?Bn.children:void 0;case 283:case 282:return Jy(Me)?Bn.typeArguments:void 0;case 238:case 292:case 293:case 265:return Bn.statements;case 266:return Bn.clauses;case 260:case 228:return Js(Me)?Bn.members:void 0;case 263:return cE(Me)?Bn.members:void 0;case 308:return Bn.statements}}function vL(Me){if(!Me.typeParameters){if(Ke(Me.parameters,(Me=>!V0(Me))))return!0;if(Me.kind!==216){let Bn=pa(Me.parameters);if(!(Bn&&kl(Bn)))return!0}}return!1}function bL(Me){return Me==="Infinity"||Me==="-Infinity"||Me==="NaN"}function Gx(Me){return Me.kind===257&&Me.parent.kind===295}function TL(Me){let Bn=Me.valueDeclaration&&If(Me.valueDeclaration);return!!Bn&&(Vs(Bn)||Gx(Bn))}function SL(Me){return Me.kind===215||Me.kind===216}function xL(Me){return Me.replace(/\$/gm,(()=>"\\$"))}function $x(Me){return(+Me).toString()===Me}function EL(Me,Bn,Hn,zn){return vy(Me,Bn)?vw.createIdentifier(Me):!zn&&$x(Me)&&+Me>=0?vw.createNumericLiteral(+Me):vw.createStringLiteral(Me,!!Hn)}function Kx(Me){return!!(Me.flags&262144&&Me.isThisType)}function wL(Me){let Bn=0,Hn=0,zn=0,ni=0,Ci;(Me=>{Me[Me.BeforeNodeModules=0]="BeforeNodeModules",Me[Me.NodeModules=1]="NodeModules",Me[Me.Scope=2]="Scope",Me[Me.PackageContent=3]="PackageContent"})(Ci||(Ci={}));let ts=0,Ps=0,aa=0;for(;Ps>=0;)switch(ts=Ps,Ps=Me.indexOf("/",ts+1),aa){case 0:Me.indexOf(nodeModulesPathPart,ts)===ts&&(Bn=ts,Hn=Ps,aa=1);break;case 1:case 2:aa===1&&Me.charAt(ts+1)==="@"?aa=2:(zn=Ps,aa=3);break;case 3:Me.indexOf(nodeModulesPathPart,ts)===ts?aa=1:aa=3;break}return ni=ts,aa>1?{topLevelNodeModulesIndex:Bn,topLevelPackageNameIndex:Hn,packageRootIndex:zn,fileNameIndex:ni}:void 0}function CL(Me){var Bn;return Me.kind===344?(Bn=Me.typeExpression)==null?void 0:Bn.type:Me.type}function Xx(Me){switch(Me.kind){case 165:case 260:case 261:case 262:case 263:case 349:case 341:case 343:return!0;case 270:return Me.isTypeOnly;case 273:case 278:return Me.parent.parent.isTypeOnly;default:return!1}}function AL(Me){return i2(Me)||zo(Me)||Wo(Me)||_c(Me)||eu(Me)||Xx(Me)||Ea(Me)&&!Xy(Me)&&!vf(Me)}function Yx(Me){if(!Dy(Me))return!1;let{isBracketed:Bn,typeExpression:Hn}=Me;return Bn||!!Hn&&Hn.type.kind===319}function PL(Me,Bn){if(Me.length===0)return!1;let Hn=Me.charCodeAt(0);return Hn===35?Me.length>1&&Wn(Me.charCodeAt(1),Bn):Wn(Hn,Bn)}function Qx(Me){var Bn;return((Bn=getSnippetElement(Me))==null?void 0:Bn.kind)===0}function Zx(Me){return Pr(Me)&&(Me.type&&Me.type.kind===319||of(Me).some((Me=>{let{isBracketed:Bn,typeExpression:Hn}=Me;return Bn||!!Hn&&Hn.type.kind===319})))}function DL(Me){switch(Me.kind){case 169:case 168:return!!Me.questionToken;case 166:return!!Me.questionToken||Zx(Me);case 351:case 344:return Yx(Me);default:return!1}}function kL(Me){let Bn=Me.kind;return(Bn===208||Bn===209)&&Uo(Me.expression)}function IL(Me){return Pr(Me)&&qo(Me)&&ya(Me)&&!!wy(Me)}function NL(Me){return qp.checkDefined(e8(Me))}function e8(Me){let Bn=wy(Me);return Bn&&Bn.typeExpression&&Bn.typeExpression.type}var fC,dC,hC,AC,mC,gC,_C,yC,vC,EC,bC,CC,DC,wC,SC,IC,xC,kC,BC,TC,FC,NC,QC,RC,PC,OC,LC,MC,jC,UC,GC,HC,qC,JC,$C,YC,WC,KC,zC,XC,ZC,iD,ew,tw,rw,nw,iw,sw,aw,ow,uw,cw=D({"src/compiler/utilities.ts"(){"use strict";Gw(),fC=[],dC="tslib",hC=160,AC=1e6,mC=_D(),gC=(Me=>(Me[Me.None=0]="None",Me[Me.NeverAsciiEscape=1]="NeverAsciiEscape",Me[Me.JsxAttributeEscape=2]="JsxAttributeEscape",Me[Me.TerminateUnterminatedLiterals=4]="TerminateUnterminatedLiterals",Me[Me.AllowNumericSeparator=8]="AllowNumericSeparator",Me))(gC||{}),_C=/^(\/\/\/\s*/,yC=/^(\/\/\/\s*/,vC=/^(\/\/\/\s*/,EC=/^(\/\/\/\s*/,bC=(Me=>(Me[Me.None=0]="None",Me[Me.Definite=1]="Definite",Me[Me.Compound=2]="Compound",Me))(bC||{}),CC=(Me=>(Me[Me.Normal=0]="Normal",Me[Me.Generator=1]="Generator",Me[Me.Async=2]="Async",Me[Me.Invalid=4]="Invalid",Me[Me.AsyncGenerator=3]="AsyncGenerator",Me))(CC||{}),DC=(Me=>(Me[Me.Left=0]="Left",Me[Me.Right=1]="Right",Me))(DC||{}),wC=(Me=>(Me[Me.Comma=0]="Comma",Me[Me.Spread=1]="Spread",Me[Me.Yield=2]="Yield",Me[Me.Assignment=3]="Assignment",Me[Me.Conditional=4]="Conditional",Me[Me.Coalesce=4]="Coalesce",Me[Me.LogicalOR=5]="LogicalOR",Me[Me.LogicalAND=6]="LogicalAND",Me[Me.BitwiseOR=7]="BitwiseOR",Me[Me.BitwiseXOR=8]="BitwiseXOR",Me[Me.BitwiseAND=9]="BitwiseAND",Me[Me.Equality=10]="Equality",Me[Me.Relational=11]="Relational",Me[Me.Shift=12]="Shift",Me[Me.Additive=13]="Additive",Me[Me.Multiplicative=14]="Multiplicative",Me[Me.Exponentiation=15]="Exponentiation",Me[Me.Unary=16]="Unary",Me[Me.Update=17]="Update",Me[Me.LeftHandSide=18]="LeftHandSide",Me[Me.Member=19]="Member",Me[Me.Primary=20]="Primary",Me[Me.Highest=20]="Highest",Me[Me.Lowest=0]="Lowest",Me[Me.Invalid=-1]="Invalid",Me))(wC||{}),SC=/\$\{/g,IC=/[\\\"\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,xC=/[\\\'\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,kC=/\r\n|[\\\`\u0000-\u001f\t\v\f\b\r\u2028\u2029\u0085]/g,BC=new Map(Object.entries({"\t":"\\t","\v":"\\v","\f":"\\f","\b":"\\b","\r":"\\r","\n":"\\n","\\":"\\\\",'"':'\\"',"'":"\\'","`":"\\`","\u2028":"\\u2028","\u2029":"\\u2029","…":"\\u0085","\r\n":"\\r\\n"})),TC=/[^\u0000-\u007F]/g,FC=/[\"\u0000-\u001f\u2028\u2029\u0085]/g,NC=/[\'\u0000-\u001f\u2028\u2029\u0085]/g,QC=new Map(Object.entries({'"':""","'":"'"})),RC=[""," "],PC="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",OC=`\r\n`,LC=`\n`,MC={getNodeConstructor:()=>nv,getTokenConstructor:()=>nM,getIdentifierConstructor:()=>iM,getPrivateIdentifierConstructor:()=>nv,getSourceFileConstructor:()=>nv,getSymbolConstructor:()=>eM,getTypeConstructor:()=>tM,getSignatureConstructor:()=>rM,getSourceMapSourceConstructor:()=>aM},jC=[],GC=/[^\w\s\/]/g,HC=[42,63],qC=["node_modules","bower_components","jspm_packages"],JC=`(?!(${qC.join("|")})(/|$))`,$C={singleAsteriskRegexFragment:"([^./]|(\\.(?!min\\.js$))?)*",doubleAsteriskRegexFragment:`(/${JC}[^/.][^/]*)*?`,replaceWildcardCharacter:Me=>fv(Me,$C.singleAsteriskRegexFragment)},YC={singleAsteriskRegexFragment:"[^/]*",doubleAsteriskRegexFragment:`(/${JC}[^/.][^/]*)*?`,replaceWildcardCharacter:Me=>fv(Me,YC.singleAsteriskRegexFragment)},WC={singleAsteriskRegexFragment:"[^/]*",doubleAsteriskRegexFragment:"(/.+?)?",replaceWildcardCharacter:Me=>fv(Me,WC.singleAsteriskRegexFragment)},KC={files:$C,directories:YC,exclude:WC},zC=[[".ts",".tsx",".d.ts"],[".cts",".d.cts"],[".mts",".d.mts"]],XC=ct(zC),ZC=[...zC,[".json"]],iD=[".d.ts",".d.cts",".d.mts",".cts",".mts",".ts",".tsx",".cts",".mts"],ew=[[".js",".jsx"],[".mjs"],[".cjs"]],tw=ct(ew),rw=[[".ts",".tsx",".d.ts",".js",".jsx"],[".cts",".d.cts",".cjs"],[".mts",".d.mts",".mjs"]],nw=[...rw,[".json"]],iw=[".d.ts",".d.cts",".d.mts"],sw=[".ts",".cts",".mts",".tsx"],aw=(Me=>(Me[Me.Minimal=0]="Minimal",Me[Me.Index=1]="Index",Me[Me.JsExtension=2]="JsExtension",Me[Me.TsExtension=3]="TsExtension",Me))(aw||{}),ow=[".d.ts",".d.mts",".d.cts",".mjs",".mts",".cjs",".cts",".ts",".js",".tsx",".jsx",".json"],uw={files:ca,directories:ca}}});function S8(){let Me,Bn,Hn,zn,ni;return{createBaseSourceFileNode:x,createBaseIdentifierNode:w,createBasePrivateIdentifierNode:A,createBaseTokenNode:g,createBaseNode:B};function x(Me){return new(ni||(ni=MC.getSourceFileConstructor()))(Me,-1,-1)}function w(Me){return new(Hn||(Hn=MC.getIdentifierConstructor()))(Me,-1,-1)}function A(Me){return new(zn||(zn=MC.getPrivateIdentifierConstructor()))(Me,-1,-1)}function g(Me){return new(Bn||(Bn=MC.getTokenConstructor()))(Me,-1,-1)}function B(Bn){return new(Me||(Me=MC.getNodeConstructor()))(Bn,-1,-1)}}var lw=D({"src/compiler/factory/baseNodeFactory.ts"(){"use strict";Gw()}}),pw,fw=D({"src/compiler/factory/parenthesizerRules.ts"(){"use strict";Gw(),pw={getParenthesizeLeftSideOfBinaryForOperator:Me=>rr,getParenthesizeRightSideOfBinaryForOperator:Me=>rr,parenthesizeLeftSideOfBinary:(Me,Bn)=>Bn,parenthesizeRightSideOfBinary:(Me,Bn,Hn)=>Hn,parenthesizeExpressionOfComputedPropertyName:rr,parenthesizeConditionOfConditionalExpression:rr,parenthesizeBranchOfConditionalExpression:rr,parenthesizeExpressionOfExportDefault:rr,parenthesizeExpressionOfNew:Me=>ti(Me,Do),parenthesizeLeftSideOfAccess:Me=>ti(Me,Do),parenthesizeOperandOfPostfixUnary:Me=>ti(Me,Do),parenthesizeOperandOfPrefixUnary:Me=>ti(Me,t3),parenthesizeExpressionsOfCommaDelimitedList:Me=>ti(Me,_s),parenthesizeExpressionForDisallowedComma:rr,parenthesizeExpressionOfExpressionStatement:rr,parenthesizeConciseBodyOfArrowFunction:rr,parenthesizeCheckTypeOfConditionalType:rr,parenthesizeExtendsTypeOfConditionalType:rr,parenthesizeConstituentTypesOfUnionType:Me=>ti(Me,_s),parenthesizeConstituentTypeOfUnionType:rr,parenthesizeConstituentTypesOfIntersectionType:Me=>ti(Me,_s),parenthesizeConstituentTypeOfIntersectionType:rr,parenthesizeOperandOfTypeOperator:rr,parenthesizeOperandOfReadonlyTypeOperator:rr,parenthesizeNonArrayTypeOfPostfixType:rr,parenthesizeElementTypesOfTupleType:Me=>ti(Me,_s),parenthesizeElementTypeOfTupleType:rr,parenthesizeTypeOfOptionalType:rr,parenthesizeTypeArguments:Me=>Me&&ti(Me,_s),parenthesizeLeadingTypeArgument:rr}}}),RL=()=>{},x8=()=>new Proxy({},{get:()=>()=>{}});function jL(Me){Aw.push(Me)}function Zf(Me,Bn){let Hn=Me&8?JL:FL,zn=tl((()=>Me&1?pw:createParenthesizerRules(tc))),ni=tl((()=>Me&2?nullNodeConverters:x8(tc))),Ci=An((Me=>(Bn,Hn)=>xu(Bn,Me,Hn))),ts=An((Me=>Bn=>Tu(Me,Bn))),Ps=An((Me=>Bn=>Su(Bn,Me))),aa=An((Me=>()=>db(Me))),oa=An((Me=>Bn=>Ac(Me,Bn))),_a=An((Me=>(Bn,Hn)=>mb(Me,Bn,Hn))),xa=An((Me=>(Bn,Hn)=>Km(Me,Bn,Hn))),Ga=An((Me=>(Bn,Hn)=>Xm(Me,Bn,Hn))),Ha=An((Me=>(Bn,Hn)=>ph(Me,Bn,Hn))),so=An((Me=>(Bn,Hn,zn)=>Cb(Me,Bn,Hn,zn))),oo=An((Me=>(Bn,Hn,zn)=>fh(Me,Bn,Hn,zn))),Jo=An((Me=>(Bn,Hn,zn,ni)=>Ab(Me,Bn,Hn,zn,ni))),tc={get parenthesizer(){return zn()},get converters(){return ni()},baseFactory:Bn,flags:Me,createNodeArray:Ne,createNumericLiteral:Gt,createBigIntLiteral:Nt,createStringLiteral:er,createStringLiteralFromNode:Tn,createRegularExpressionLiteral:Hr,createLiteralLikeNode:Gi,createIdentifier:Ut,createTempVariable:kn,createLoopVariable:an,createUniqueName:mr,getGeneratedNameForNode:$i,createPrivateIdentifier:Ur,createUniquePrivateName:_r,getGeneratedPrivateNameForNode:Sn,createToken:pr,createSuper:Zt,createThis:Or,createNull:Nn,createTrue:ar,createFalse:oi,createModifier:cr,createModifiersFromModifierFlags:$r,createQualifiedName:hr,updateQualifiedName:On,createComputedPropertyName:nr,updateComputedPropertyName:br,createTypeParameterDeclaration:Kr,updateTypeParameterDeclaration:wa,createParameterDeclaration:$n,updateParameterDeclaration:Ki,createDecorator:Mn,updateDecorator:_i,createPropertySignature:Ca,updatePropertySignature:St,createPropertyDeclaration:He,updatePropertyDeclaration:_t,createMethodSignature:ft,updateMethodSignature:Kt,createMethodDeclaration:zt,updateMethodDeclaration:xe,createConstructorDeclaration:Mt,updateConstructorDeclaration:It,createGetAccessorDeclaration:gr,updateGetAccessorDeclaration:Ln,createSetAccessorDeclaration:ci,updateSetAccessorDeclaration:Xi,createCallSignature:vs,updateCallSignature:$s,createConstructSignature:li,updateConstructSignature:Yi,createIndexSignature:Qi,updateIndexSignature:bs,createClassStaticBlockDeclaration:Re,updateClassStaticBlockDeclaration:ot,createTemplateLiteralTypeSpan:Ai,updateTemplateLiteralTypeSpan:xn,createKeywordTypeNode:Dt,createTypePredicateNode:Pi,updateTypePredicateNode:Z,createTypeReferenceNode:ie,updateTypeReferenceNode:U,createFunctionTypeNode:L,updateFunctionTypeNode:fe,createConstructorTypeNode:it,updateConstructorTypeNode:Ge,createTypeQueryNode:Yt,updateTypeQueryNode:$t,createTypeLiteralNode:Wt,updateTypeLiteralNode:Xr,createArrayTypeNode:Dr,updateArrayTypeNode:Lr,createTupleTypeNode:yr,updateTupleTypeNode:Rn,createNamedTupleMember:wt,updateNamedTupleMember:Tr,createOptionalTypeNode:Tt,updateOptionalTypeNode:kt,createRestTypeNode:de,updateRestTypeNode:jn,createUnionTypeNode:e_,updateUnionTypeNode:mc,createIntersectionTypeNode:Da,updateIntersectionTypeNode:Ts,createConditionalTypeNode:Ot,updateConditionalTypeNode:dr,createInferTypeNode:Dd,updateInferTypeNode:ea,createImportTypeNode:Id,updateImportTypeNode:ka,createParenthesizedType:t_,updateParenthesizedType:En,createThisTypeNode:Er,createTypeOperatorNode:Q,updateTypeOperatorNode:Jn,createIndexedAccessTypeNode:Ia,updateIndexedAccessTypeNode:Ss,createMappedTypeNode:hc,updateMappedTypeNode:wr,createLiteralTypeNode:zr,updateLiteralTypeNode:xs,createTemplateLiteralType:kd,updateTemplateLiteralType:sn,createObjectBindingPattern:Nd,updateObjectBindingPattern:R2,createArrayBindingPattern:Es,updateArrayBindingPattern:j2,createBindingElement:gc,updateBindingElement:Ks,createArrayLiteralExpression:uu,updateArrayLiteralExpression:Od,createObjectLiteralExpression:r_,updateObjectLiteralExpression:J2,createPropertyAccessExpression:Me&4?(Me,Bn)=>setEmitFlags(ta(Me,Bn),262144):ta,updatePropertyAccessExpression:Ld,createPropertyAccessChain:Me&4?(Me,Bn,Hn)=>setEmitFlags(Xs(Me,Bn,Hn),262144):Xs,updatePropertyAccessChain:Rd,createElementAccessExpression:pu,updateElementAccessExpression:F2,createElementAccessChain:fu,updateElementAccessChain:jd,createCallExpression:Na,updateCallExpression:B2,createCallChain:du,updateCallChain:Kn,createNewExpression:vc,updateNewExpression:mu,createTaggedTemplateExpression:hu,updateTaggedTemplateExpression:q2,createTypeAssertion:Fd,updateTypeAssertion:Bd,createParenthesizedExpression:gu,updateParenthesizedExpression:qd,createFunctionExpression:yu,updateFunctionExpression:Ud,createArrowFunction:vu,updateArrowFunction:zd,createDeleteExpression:bu,updateDeleteExpression:U2,createTypeOfExpression:mn,updateTypeOfExpression:z2,createVoidExpression:ui,updateVoidExpression:W2,createAwaitExpression:Oa,updateAwaitExpression:Ys,createPrefixUnaryExpression:Tu,updatePrefixUnaryExpression:bc,createPostfixUnaryExpression:Su,updatePostfixUnaryExpression:Wd,createBinaryExpression:xu,updateBinaryExpression:V2,createConditionalExpression:Eu,updateConditionalExpression:H2,createTemplateExpression:Di,updateTemplateExpression:Hd,createTemplateHead:Sc,createTemplateMiddle:Cu,createTemplateTail:G2,createNoSubstitutionTemplateLiteral:$d,createTemplateLiteralLikeNode:Qs,createYieldExpression:Kd,updateYieldExpression:$2,createSpreadElement:Xd,updateSpreadElement:K2,createClassExpression:Yd,updateClassExpression:xc,createOmittedExpression:X2,createExpressionWithTypeArguments:Qd,updateExpressionWithTypeArguments:Xn,createAsExpression:Ec,updateAsExpression:Zd,createNonNullExpression:em,updateNonNullExpression:Au,createSatisfiesExpression:tm,updateSatisfiesExpression:Pu,createNonNullChain:pi,updateNonNullChain:rm,createMetaProperty:wc,updateMetaProperty:ra,createTemplateSpan:i_,updateTemplateSpan:nm,createSemicolonClassElement:im,createBlock:Zs,updateBlock:am,createVariableStatement:sm,updateVariableStatement:om,createEmptyStatement:Du,createExpressionStatement:a_,updateExpressionStatement:Y2,createIfStatement:ku,updateIfStatement:Q2,createDoStatement:Iu,updateDoStatement:Z2,createWhileStatement:_m,updateWhileStatement:eb,createForStatement:Nu,updateForStatement:cm,createForInStatement:lm,updateForInStatement:tb,createForOfStatement:um,updateForOfStatement:rb,createContinueStatement:pm,updateContinueStatement:fm,createBreakStatement:Ou,updateBreakStatement:dm,createReturnStatement:mm,updateReturnStatement:nb,createWithStatement:Mu,updateWithStatement:hm,createSwitchStatement:Lu,updateSwitchStatement:eo,createLabeledStatement:gm,updateLabeledStatement:ym,createThrowStatement:vm,updateThrowStatement:ib,createTryStatement:bm,updateTryStatement:ab,createDebuggerStatement:Tm,createVariableDeclaration:Cc,updateVariableDeclaration:Sm,createVariableDeclarationList:Ru,updateVariableDeclarationList:sb,createFunctionDeclaration:xm,updateFunctionDeclaration:ju,createClassDeclaration:Em,updateClassDeclaration:Ju,createInterfaceDeclaration:wm,updateInterfaceDeclaration:Cm,createTypeAliasDeclaration:sr,updateTypeAliasDeclaration:Ma,createEnumDeclaration:Fu,updateEnumDeclaration:La,createModuleDeclaration:Am,updateModuleDeclaration:Sr,createModuleBlock:Ra,updateModuleBlock:Yr,createCaseBlock:Pm,updateCaseBlock:_b,createNamespaceExportDeclaration:Dm,updateNamespaceExportDeclaration:km,createImportEqualsDeclaration:Im,updateImportEqualsDeclaration:Nm,createImportDeclaration:Om,updateImportDeclaration:Mm,createImportClause:Lm,updateImportClause:Rm,createAssertClause:Bu,updateAssertClause:lb,createAssertEntry:s_,updateAssertEntry:jm,createImportTypeAssertionContainer:qu,updateImportTypeAssertionContainer:Jm,createNamespaceImport:Fm,updateNamespaceImport:Uu,createNamespaceExport:Bm,updateNamespaceExport:qm,createNamedImports:Um,updateNamedImports:ub,createImportSpecifier:zm,updateImportSpecifier:pb,createExportAssignment:zu,updateExportAssignment:Wu,createExportDeclaration:na,updateExportDeclaration:Wm,createNamedExports:to,updateNamedExports:Hm,createExportSpecifier:Vu,updateExportSpecifier:o_,createMissingDeclaration:fb,createExternalModuleReference:Gm,updateExternalModuleReference:$m,get createJSDocAllType(){return aa(315)},get createJSDocUnknownType(){return aa(316)},get createJSDocNonNullableType(){return xa(318)},get updateJSDocNonNullableType(){return Ga(318)},get createJSDocNullableType(){return xa(317)},get updateJSDocNullableType(){return Ga(317)},get createJSDocOptionalType(){return oa(319)},get updateJSDocOptionalType(){return _a(319)},get createJSDocVariadicType(){return oa(321)},get updateJSDocVariadicType(){return _a(321)},get createJSDocNamepathType(){return oa(322)},get updateJSDocNamepathType(){return _a(322)},createJSDocFunctionType:Ym,updateJSDocFunctionType:hb,createJSDocTypeLiteral:Qm,updateJSDocTypeLiteral:gb,createJSDocTypeExpression:Zm,updateJSDocTypeExpression:yb,createJSDocSignature:eh,updateJSDocSignature:Hu,createJSDocTemplateTag:__,updateJSDocTemplateTag:Gu,createJSDocTypedefTag:$u,updateJSDocTypedefTag:th,createJSDocParameterTag:Pc,updateJSDocParameterTag:vb,createJSDocPropertyTag:Ku,updateJSDocPropertyTag:bb,createJSDocCallbackTag:rh,updateJSDocCallbackTag:nh,createJSDocOverloadTag:ih,updateJSDocOverloadTag:ah,createJSDocAugmentsTag:sh,updateJSDocAugmentsTag:Xu,createJSDocImplementsTag:Yu,updateJSDocImplementsTag:wb,createJSDocSeeTag:ro,updateJSDocSeeTag:Tb,createJSDocNameReference:ws,updateJSDocNameReference:Dc,createJSDocMemberName:oh,updateJSDocMemberName:Sb,createJSDocLink:_h,updateJSDocLink:xb,createJSDocLinkCode:ch,updateJSDocLinkCode:lh,createJSDocLinkPlain:uh,updateJSDocLinkPlain:Eb,get createJSDocTypeTag(){return oo(347)},get updateJSDocTypeTag(){return Jo(347)},get createJSDocReturnTag(){return oo(345)},get updateJSDocReturnTag(){return Jo(345)},get createJSDocThisTag(){return oo(346)},get updateJSDocThisTag(){return Jo(346)},get createJSDocAuthorTag(){return Ha(333)},get updateJSDocAuthorTag(){return so(333)},get createJSDocClassTag(){return Ha(335)},get updateJSDocClassTag(){return so(335)},get createJSDocPublicTag(){return Ha(336)},get updateJSDocPublicTag(){return so(336)},get createJSDocPrivateTag(){return Ha(337)},get updateJSDocPrivateTag(){return so(337)},get createJSDocProtectedTag(){return Ha(338)},get updateJSDocProtectedTag(){return so(338)},get createJSDocReadonlyTag(){return Ha(339)},get updateJSDocReadonlyTag(){return so(339)},get createJSDocOverrideTag(){return Ha(340)},get updateJSDocOverrideTag(){return so(340)},get createJSDocDeprecatedTag(){return Ha(334)},get updateJSDocDeprecatedTag(){return so(334)},get createJSDocThrowsTag(){return oo(352)},get updateJSDocThrowsTag(){return Jo(352)},get createJSDocSatisfiesTag(){return oo(353)},get updateJSDocSatisfiesTag(){return Jo(353)},createJSDocEnumTag:mh,updateJSDocEnumTag:Db,createJSDocUnknownTag:dh,updateJSDocUnknownTag:Pb,createJSDocText:hh,updateJSDocText:Qu,createJSDocComment:gh,updateJSDocComment:yh,createJsxElement:Zu,updateJsxElement:kb,createJsxSelfClosingElement:c_,updateJsxSelfClosingElement:vh,createJsxOpeningElement:bh,updateJsxOpeningElement:Ib,createJsxClosingElement:on,updateJsxClosingElement:Th,createJsxFragment:ep,createJsxText:l_,updateJsxText:Ob,createJsxOpeningFragment:kc,createJsxJsxClosingFragment:Mb,updateJsxFragment:Nb,createJsxAttribute:Sh,updateJsxAttribute:Lb,createJsxAttributes:xh,updateJsxAttributes:tp,createJsxSpreadAttribute:no,updateJsxSpreadAttribute:Rb,createJsxExpression:Ic,updateJsxExpression:Eh,createCaseClause:wh,updateCaseClause:rp,createDefaultClause:np,updateDefaultClause:jb,createHeritageClause:Ch,updateHeritageClause:Ah,createCatchClause:ip,updateCatchClause:Ph,createPropertyAssignment:Fa,updatePropertyAssignment:Jb,createShorthandPropertyAssignment:Dh,updateShorthandPropertyAssignment:Bb,createSpreadAssignment:ap,updateSpreadAssignment:ki,createEnumMember:sp,updateEnumMember:qb,createSourceFile:Ub,updateSourceFile:Mh,createRedirectedSourceFile:Ih,createBundle:Lh,updateBundle:Wb,createUnparsedSource:Nc,createUnparsedPrologue:Vb,createUnparsedPrepend:Hb,createUnparsedTextLike:Gb,createUnparsedSyntheticReference:$b,createInputFiles:Kb,createSyntheticExpression:Rh,createSyntaxList:jh,createNotEmittedStatement:Jh,createPartiallyEmittedExpression:Fh,updatePartiallyEmittedExpression:Bh,createCommaListExpression:Mc,updateCommaListExpression:Xb,createEndOfDeclarationMarker:Yb,createMergeDeclarationMarker:Qb,createSyntheticReferenceExpression:Uh,updateSyntheticReferenceExpression:_p,cloneNode:cp,get createComma(){return Ci(27)},get createAssignment(){return Ci(63)},get createLogicalOr(){return Ci(56)},get createLogicalAnd(){return Ci(55)},get createBitwiseOr(){return Ci(51)},get createBitwiseXor(){return Ci(52)},get createBitwiseAnd(){return Ci(50)},get createStrictEquality(){return Ci(36)},get createStrictInequality(){return Ci(37)},get createEquality(){return Ci(34)},get createInequality(){return Ci(35)},get createLessThan(){return Ci(29)},get createLessThanEquals(){return Ci(32)},get createGreaterThan(){return Ci(31)},get createGreaterThanEquals(){return Ci(33)},get createLeftShift(){return Ci(47)},get createRightShift(){return Ci(48)},get createUnsignedRightShift(){return Ci(49)},get createAdd(){return Ci(39)},get createSubtract(){return Ci(40)},get createMultiply(){return Ci(41)},get createDivide(){return Ci(43)},get createModulo(){return Ci(44)},get createExponent(){return Ci(42)},get createPrefixPlus(){return ts(39)},get createPrefixMinus(){return ts(40)},get createPrefixIncrement(){return ts(45)},get createPrefixDecrement(){return ts(46)},get createBitwiseNot(){return ts(54)},get createLogicalNot(){return ts(53)},get createPostfixIncrement(){return Ps(45)},get createPostfixDecrement(){return Ps(46)},createImmediatelyInvokedFunctionExpression:n6,createImmediatelyInvokedArrowFunction:Lc,createVoidZero:Rc,createExportDefault:zh,createExternalModuleExport:i6,createTypeCheck:a6,createMethodCall:Ba,createGlobalMethodCall:io,createFunctionBindCall:s6,createFunctionCallCall:o6,createFunctionApplyCall:_6,createArraySliceCall:Wh,createArrayConcatCall:Vh,createObjectDefinePropertyCall:u,createObjectGetOwnPropertyDescriptorCall:b,createReflectGetCall:O,createReflectSetCall:j,createPropertyDescriptor:re,createCallBinding:Jt,createAssignmentTargetWrapper:Lt,inlineExpressions:At,getInternalName:Fn,getLocalName:di,getExportName:Ii,getDeclarationName:_n,getNamespaceMemberName:qa,getExternalModuleOrNamespaceExportName:Hh,restoreOuterExpressions:We,restoreEnclosingLabel:$e,createUseStrictPrologue:wn,copyPrologue:lp,copyStandardPrologue:Ua,copyCustomPrologue:up,ensureUseStrict:Qr,liftToBlock:jc,mergeLexicalEnvironment:$h,updateModifiers:Kh};return c(Aw,(Me=>Me(tc))),tc;function Ne(Me,Bn){if(Me===void 0||Me===ca)Me=[];else if(_s(Me)){if(Bn===void 0||Me.hasTrailingComma===Bn)return Me.transformFlags===void 0&&E8(Me),qp.attachNodeArrayDebugInfo(Me),Me;let Hn=Me.slice();return Hn.pos=Me.pos,Hn.end=Me.end,Hn.hasTrailingComma=Bn,Hn.transformFlags=Me.transformFlags,qp.attachNodeArrayDebugInfo(Hn),Hn}let Hn=Me.length,zn=Hn>=1&&Hn<=4?Me.slice():Me;return zn.pos=-1,zn.end=-1,zn.hasTrailingComma=!!Bn,zn.transformFlags=0,E8(zn),qp.attachNodeArrayDebugInfo(zn),zn}function oe(Me){return Bn.createBaseNode(Me)}function Ve(Me){let Bn=oe(Me);return Bn.symbol=void 0,Bn.localSymbol=void 0,Bn}function pt(Me,Bn){return Me!==Bn&&(Me.typeArguments=Bn.typeArguments),Hn(Me,Bn)}function Gt(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,Hn=Ve(8);return Hn.text=typeof Me=="number"?Me+"":Me,Hn.numericLiteralFlags=Bn,Bn&384&&(Hn.transformFlags|=1024),Hn}function Nt(Me){let Bn=In(9);return Bn.text=typeof Me=="string"?Me:yv(Me)+"n",Bn.transformFlags|=4,Bn}function Xt(Me,Bn){let Hn=Ve(10);return Hn.text=Me,Hn.singleQuote=Bn,Hn}function er(Me,Bn,Hn){let zn=Xt(Me,Bn);return zn.hasExtendedUnicodeEscape=Hn,Hn&&(zn.transformFlags|=1024),zn}function Tn(Me){let Bn=Xt(kf(Me),void 0);return Bn.textSourceNode=Me,Bn}function Hr(Me){let Bn=In(13);return Bn.text=Me,Bn}function Gi(Me,Bn){switch(Me){case 8:return Gt(Bn,0);case 9:return Nt(Bn);case 10:return er(Bn,void 0);case 11:return l_(Bn,!1);case 12:return l_(Bn,!0);case 13:return Hr(Bn);case 14:return Qs(Me,Bn,void 0,0)}}function pn(Me){let Hn=Bn.createBaseIdentifierNode(79);return Hn.escapedText=Me,Hn.jsDoc=void 0,Hn.flowNode=void 0,Hn.symbol=void 0,Hn}function fn(Me,Bn,Hn,zn){let ni=pn(vi(Me));return setIdentifierAutoGenerate(ni,{flags:Bn,id:dw,prefix:Hn,suffix:zn}),dw++,ni}function Ut(Me,Bn,Hn){Bn===void 0&&Me&&(Bn=_l(Me)),Bn===79&&(Bn=void 0);let zn=pn(vi(Me));return Hn&&(zn.flags|=128),zn.escapedText==="await"&&(zn.transformFlags|=67108864),zn.flags&128&&(zn.transformFlags|=1024),zn}function kn(Me,Bn,Hn,zn){let ni=1;Bn&&(ni|=8);let Ci=fn("",ni,Hn,zn);return Me&&Me(Ci),Ci}function an(Me){let Bn=2;return Me&&(Bn|=8),fn("",Bn,void 0,void 0)}function mr(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,Hn=arguments.length>2?arguments[2]:void 0,zn=arguments.length>3?arguments[3]:void 0;return qp.assert(!(Bn&7),"Argument out of range: flags"),qp.assert((Bn&48)!==32,"GeneratedIdentifierFlags.FileLevel cannot be set without also setting GeneratedIdentifierFlags.Optimistic"),fn(Me,3|Bn,Hn,zn)}function $i(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,Hn=arguments.length>2?arguments[2]:void 0,zn=arguments.length>3?arguments[3]:void 0;qp.assert(!(Bn&7),"Argument out of range: flags");let ni=Me?js(Me)?bd(!1,Hn,Me,zn,qr):`generated@${getNodeId(Me)}`:"";(Hn||zn)&&(Bn|=16);let Ci=fn(ni,4|Bn,Hn,zn);return Ci.original=Me,Ci}function dn(Me){let Hn=Bn.createBasePrivateIdentifierNode(80);return Hn.escapedText=Me,Hn.transformFlags|=16777216,Hn}function Ur(Me){return Pn(Me,"#")||qp.fail("First character of private identifier must be #: "+Me),dn(vi(Me))}function Gr(Me,Bn,Hn,zn){let ni=dn(vi(Me));return setIdentifierAutoGenerate(ni,{flags:Bn,id:dw,prefix:Hn,suffix:zn}),dw++,ni}function _r(Me,Bn,Hn){Me&&!Pn(Me,"#")&&qp.fail("First character of private identifier must be #: "+Me);let zn=8|(Me?3:1);return Gr(Me!=null?Me:"",zn,Bn,Hn)}function Sn(Me,Bn,Hn){let zn=js(Me)?bd(!0,Bn,Me,Hn,qr):`#generated@${getNodeId(Me)}`,ni=Gr(zn,4|(Bn||Hn?16:0),Bn,Hn);return ni.original=Me,ni}function In(Me){return Bn.createBaseTokenNode(Me)}function pr(Me){qp.assert(Me>=0&&Me<=162,"Invalid token"),qp.assert(Me<=14||Me>=17,"Invalid token. Use 'createTemplateLiteralLikeNode' to create template literals."),qp.assert(Me<=8||Me>=14,"Invalid token. Use 'createLiteralLikeNode' to create literals."),qp.assert(Me!==79,"Invalid token. Use 'createIdentifier' to create identifiers");let Bn=In(Me),Hn=0;switch(Me){case 132:Hn=384;break;case 123:case 121:case 122:case 146:case 126:case 136:case 85:case 131:case 148:case 160:case 144:case 149:case 101:case 145:case 161:case 152:case 134:case 153:case 114:case 157:case 155:Hn=1;break;case 106:Hn=134218752,Bn.flowNode=void 0;break;case 124:Hn=1024;break;case 127:Hn=16777216;break;case 108:Hn=16384,Bn.flowNode=void 0;break}return Hn&&(Bn.transformFlags|=Hn),Bn}function Zt(){return pr(106)}function Or(){return pr(108)}function Nn(){return pr(104)}function ar(){return pr(110)}function oi(){return pr(95)}function cr(Me){return pr(Me)}function $r(Me){let Bn=[];return Me&1&&Bn.push(cr(93)),Me&2&&Bn.push(cr(136)),Me&1024&&Bn.push(cr(88)),Me&2048&&Bn.push(cr(85)),Me&4&&Bn.push(cr(123)),Me&8&&Bn.push(cr(121)),Me&16&&Bn.push(cr(122)),Me&256&&Bn.push(cr(126)),Me&32&&Bn.push(cr(124)),Me&16384&&Bn.push(cr(161)),Me&64&&Bn.push(cr(146)),Me&128&&Bn.push(cr(127)),Me&512&&Bn.push(cr(132)),Me&32768&&Bn.push(cr(101)),Me&65536&&Bn.push(cr(145)),Bn.length?Bn:void 0}function hr(Me,Bn){let Hn=oe(163);return Hn.left=Me,Hn.right=Qt(Bn),Hn.transformFlags|=ye(Hn.left)|ec(Hn.right),Hn.flowNode=void 0,Hn}function On(Me,Bn,zn){return Me.left!==Bn||Me.right!==zn?Hn(hr(Bn,zn),Me):Me}function nr(Me){let Bn=oe(164);return Bn.expression=zn().parenthesizeExpressionOfComputedPropertyName(Me),Bn.transformFlags|=ye(Bn.expression)|1024|131072,Bn}function br(Me,Bn){return Me.expression!==Bn?Hn(nr(Bn),Me):Me}function Kr(Me,Bn,Hn,zn){let ni=Ve(165);return ni.modifiers=xt(Me),ni.name=Qt(Bn),ni.constraint=Hn,ni.default=zn,ni.transformFlags=1,ni.expression=void 0,ni.jsDoc=void 0,ni}function wa(Me,Bn,zn,ni,Ci){return Me.modifiers!==Bn||Me.name!==zn||Me.constraint!==ni||Me.default!==Ci?Hn(Kr(Bn,zn,ni,Ci),Me):Me}function $n(Me,Bn,Hn,zn,ni,Ci){var ts,Ps;let aa=Ve(166);return aa.modifiers=xt(Me),aa.dotDotDotToken=Bn,aa.name=Qt(Hn),aa.questionToken=zn,aa.type=ni,aa.initializer=Wa(Ci),Mf(aa.name)?aa.transformFlags=1:aa.transformFlags=gt(aa.modifiers)|ye(aa.dotDotDotToken)|ai(aa.name)|ye(aa.questionToken)|ye(aa.initializer)|(((ts=aa.questionToken)!=null?ts:aa.type)?1:0)|(((Ps=aa.dotDotDotToken)!=null?Ps:aa.initializer)?1024:0)|(Vn(aa.modifiers)&16476?8192:0),aa.jsDoc=void 0,aa}function Ki(Me,Bn,zn,ni,Ci,ts,Ps){return Me.modifiers!==Bn||Me.dotDotDotToken!==zn||Me.name!==ni||Me.questionToken!==Ci||Me.type!==ts||Me.initializer!==Ps?Hn($n(Bn,zn,ni,Ci,ts,Ps),Me):Me}function Mn(Me){let Bn=oe(167);return Bn.expression=zn().parenthesizeLeftSideOfAccess(Me,!1),Bn.transformFlags|=ye(Bn.expression)|1|8192|33554432,Bn}function _i(Me,Bn){return Me.expression!==Bn?Hn(Mn(Bn),Me):Me}function Ca(Me,Bn,Hn,zn){let ni=Ve(168);return ni.modifiers=xt(Me),ni.name=Qt(Bn),ni.type=zn,ni.questionToken=Hn,ni.transformFlags=1,ni.initializer=void 0,ni.jsDoc=void 0,ni}function St(Me,Bn,Hn,zn,ni){return Me.modifiers!==Bn||Me.name!==Hn||Me.questionToken!==zn||Me.type!==ni?ue(Ca(Bn,Hn,zn,ni),Me):Me}function ue(Me,Bn){return Me!==Bn&&(Me.initializer=Bn.initializer),Hn(Me,Bn)}function He(Me,Bn,Hn,zn,ni){let Ci=Ve(169);Ci.modifiers=xt(Me),Ci.name=Qt(Bn),Ci.questionToken=Hn&&ql(Hn)?Hn:void 0,Ci.exclamationToken=Hn&&rd(Hn)?Hn:void 0,Ci.type=zn,Ci.initializer=Wa(ni);let ts=Ci.flags&16777216||Vn(Ci.modifiers)&2;return Ci.transformFlags=gt(Ci.modifiers)|ai(Ci.name)|ye(Ci.initializer)|(ts||Ci.questionToken||Ci.exclamationToken||Ci.type?1:0)|(Ws(Ci.name)||Vn(Ci.modifiers)&32&&Ci.initializer?8192:0)|16777216,Ci.jsDoc=void 0,Ci}function _t(Me,Bn,zn,ni,Ci,ts){return Me.modifiers!==Bn||Me.name!==zn||Me.questionToken!==(ni!==void 0&&ql(ni)?ni:void 0)||Me.exclamationToken!==(ni!==void 0&&rd(ni)?ni:void 0)||Me.type!==Ci||Me.initializer!==ts?Hn(He(Bn,zn,ni,Ci,ts),Me):Me}function ft(Me,Bn,Hn,zn,ni,Ci){let ts=Ve(170);return ts.modifiers=xt(Me),ts.name=Qt(Bn),ts.questionToken=Hn,ts.typeParameters=xt(zn),ts.parameters=xt(ni),ts.type=Ci,ts.transformFlags=1,ts.jsDoc=void 0,ts.locals=void 0,ts.nextContainer=void 0,ts.typeArguments=void 0,ts}function Kt(Me,Bn,Hn,zn,ni,Ci,ts){return Me.modifiers!==Bn||Me.name!==Hn||Me.questionToken!==zn||Me.typeParameters!==ni||Me.parameters!==Ci||Me.type!==ts?pt(ft(Bn,Hn,zn,ni,Ci,ts),Me):Me}function zt(Me,Bn,Hn,zn,ni,Ci,ts,Ps){let aa=Ve(171);if(aa.modifiers=xt(Me),aa.asteriskToken=Bn,aa.name=Qt(Hn),aa.questionToken=zn,aa.exclamationToken=void 0,aa.typeParameters=xt(ni),aa.parameters=Ne(Ci),aa.type=ts,aa.body=Ps,!aa.body)aa.transformFlags=1;else{let Me=Vn(aa.modifiers)&512,Bn=!!aa.asteriskToken,Hn=Me&&Bn;aa.transformFlags=gt(aa.modifiers)|ye(aa.asteriskToken)|ai(aa.name)|ye(aa.questionToken)|gt(aa.typeParameters)|gt(aa.parameters)|ye(aa.type)|ye(aa.body)&-67108865|(Hn?128:Me?256:Bn?2048:0)|(aa.questionToken||aa.typeParameters||aa.type?1:0)|1024}return aa.typeArguments=void 0,aa.jsDoc=void 0,aa.locals=void 0,aa.nextContainer=void 0,aa.flowNode=void 0,aa.endFlowNode=void 0,aa.returnFlowNode=void 0,aa}function xe(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa){return Me.modifiers!==Bn||Me.asteriskToken!==Hn||Me.name!==zn||Me.questionToken!==ni||Me.typeParameters!==Ci||Me.parameters!==ts||Me.type!==Ps||Me.body!==aa?Le(zt(Bn,Hn,zn,ni,Ci,ts,Ps,aa),Me):Me}function Le(Me,Bn){return Me!==Bn&&(Me.exclamationToken=Bn.exclamationToken),Hn(Me,Bn)}function Re(Me){let Bn=Ve(172);return Bn.body=Me,Bn.transformFlags=ye(Me)|16777216,Bn.modifiers=void 0,Bn.jsDoc=void 0,Bn.locals=void 0,Bn.nextContainer=void 0,Bn.endFlowNode=void 0,Bn.returnFlowNode=void 0,Bn}function ot(Me,Bn){return Me.body!==Bn?Ct(Re(Bn),Me):Me}function Ct(Me,Bn){return Me!==Bn&&(Me.modifiers=Bn.modifiers),Hn(Me,Bn)}function Mt(Me,Bn,Hn){let zn=Ve(173);return zn.modifiers=xt(Me),zn.parameters=Ne(Bn),zn.body=Hn,zn.transformFlags=gt(zn.modifiers)|gt(zn.parameters)|ye(zn.body)&-67108865|1024,zn.typeParameters=void 0,zn.type=void 0,zn.typeArguments=void 0,zn.jsDoc=void 0,zn.locals=void 0,zn.nextContainer=void 0,zn.endFlowNode=void 0,zn.returnFlowNode=void 0,zn}function It(Me,Bn,Hn,zn){return Me.modifiers!==Bn||Me.parameters!==Hn||Me.body!==zn?Mr(Mt(Bn,Hn,zn),Me):Me}function Mr(Me,Bn){return Me!==Bn&&(Me.typeParameters=Bn.typeParameters,Me.type=Bn.type),pt(Me,Bn)}function gr(Me,Bn,Hn,zn,ni){let Ci=Ve(174);return Ci.modifiers=xt(Me),Ci.name=Qt(Bn),Ci.parameters=Ne(Hn),Ci.type=zn,Ci.body=ni,Ci.body?Ci.transformFlags=gt(Ci.modifiers)|ai(Ci.name)|gt(Ci.parameters)|ye(Ci.type)|ye(Ci.body)&-67108865|(Ci.type?1:0):Ci.transformFlags=1,Ci.typeArguments=void 0,Ci.typeParameters=void 0,Ci.jsDoc=void 0,Ci.locals=void 0,Ci.nextContainer=void 0,Ci.flowNode=void 0,Ci.endFlowNode=void 0,Ci.returnFlowNode=void 0,Ci}function Ln(Me,Bn,Hn,zn,ni,Ci){return Me.modifiers!==Bn||Me.name!==Hn||Me.parameters!==zn||Me.type!==ni||Me.body!==Ci?ys(gr(Bn,Hn,zn,ni,Ci),Me):Me}function ys(Me,Bn){return Me!==Bn&&(Me.typeParameters=Bn.typeParameters),pt(Me,Bn)}function ci(Me,Bn,Hn,zn){let ni=Ve(175);return ni.modifiers=xt(Me),ni.name=Qt(Bn),ni.parameters=Ne(Hn),ni.body=zn,ni.body?ni.transformFlags=gt(ni.modifiers)|ai(ni.name)|gt(ni.parameters)|ye(ni.body)&-67108865|(ni.type?1:0):ni.transformFlags=1,ni.typeArguments=void 0,ni.typeParameters=void 0,ni.type=void 0,ni.jsDoc=void 0,ni.locals=void 0,ni.nextContainer=void 0,ni.flowNode=void 0,ni.endFlowNode=void 0,ni.returnFlowNode=void 0,ni}function Xi(Me,Bn,Hn,zn,ni){return Me.modifiers!==Bn||Me.name!==Hn||Me.parameters!==zn||Me.body!==ni?Aa(ci(Bn,Hn,zn,ni),Me):Me}function Aa(Me,Bn){return Me!==Bn&&(Me.typeParameters=Bn.typeParameters,Me.type=Bn.type),pt(Me,Bn)}function vs(Me,Bn,Hn){let zn=Ve(176);return zn.typeParameters=xt(Me),zn.parameters=xt(Bn),zn.type=Hn,zn.transformFlags=1,zn.jsDoc=void 0,zn.locals=void 0,zn.nextContainer=void 0,zn.typeArguments=void 0,zn}function $s(Me,Bn,Hn,zn){return Me.typeParameters!==Bn||Me.parameters!==Hn||Me.type!==zn?pt(vs(Bn,Hn,zn),Me):Me}function li(Me,Bn,Hn){let zn=Ve(177);return zn.typeParameters=xt(Me),zn.parameters=xt(Bn),zn.type=Hn,zn.transformFlags=1,zn.jsDoc=void 0,zn.locals=void 0,zn.nextContainer=void 0,zn.typeArguments=void 0,zn}function Yi(Me,Bn,Hn,zn){return Me.typeParameters!==Bn||Me.parameters!==Hn||Me.type!==zn?pt(li(Bn,Hn,zn),Me):Me}function Qi(Me,Bn,Hn){let zn=Ve(178);return zn.modifiers=xt(Me),zn.parameters=xt(Bn),zn.type=Hn,zn.transformFlags=1,zn.jsDoc=void 0,zn.locals=void 0,zn.nextContainer=void 0,zn.typeArguments=void 0,zn}function bs(Me,Bn,Hn,zn){return Me.parameters!==Hn||Me.type!==zn||Me.modifiers!==Bn?pt(Qi(Bn,Hn,zn),Me):Me}function Ai(Me,Bn){let Hn=oe(201);return Hn.type=Me,Hn.literal=Bn,Hn.transformFlags=1,Hn}function xn(Me,Bn,zn){return Me.type!==Bn||Me.literal!==zn?Hn(Ai(Bn,zn),Me):Me}function Dt(Me){return pr(Me)}function Pi(Me,Bn,Hn){let zn=oe(179);return zn.assertsModifier=Me,zn.parameterName=Qt(Bn),zn.type=Hn,zn.transformFlags=1,zn}function Z(Me,Bn,zn,ni){return Me.assertsModifier!==Bn||Me.parameterName!==zn||Me.type!==ni?Hn(Pi(Bn,zn,ni),Me):Me}function ie(Me,Bn){let Hn=oe(180);return Hn.typeName=Qt(Me),Hn.typeArguments=Bn&&zn().parenthesizeTypeArguments(Ne(Bn)),Hn.transformFlags=1,Hn}function U(Me,Bn,zn){return Me.typeName!==Bn||Me.typeArguments!==zn?Hn(ie(Bn,zn),Me):Me}function L(Me,Bn,Hn){let zn=Ve(181);return zn.typeParameters=xt(Me),zn.parameters=xt(Bn),zn.type=Hn,zn.transformFlags=1,zn.modifiers=void 0,zn.jsDoc=void 0,zn.locals=void 0,zn.nextContainer=void 0,zn.typeArguments=void 0,zn}function fe(Me,Bn,Hn,zn){return Me.typeParameters!==Bn||Me.parameters!==Hn||Me.type!==zn?T(L(Bn,Hn,zn),Me):Me}function T(Me,Bn){return Me!==Bn&&(Me.modifiers=Bn.modifiers),pt(Me,Bn)}function it(){return arguments.length===4?mt(...arguments):arguments.length===3?_e(...arguments):qp.fail("Incorrect number of arguments specified.")}function mt(Me,Bn,Hn,zn){let ni=Ve(182);return ni.modifiers=xt(Me),ni.typeParameters=xt(Bn),ni.parameters=xt(Hn),ni.type=zn,ni.transformFlags=1,ni.jsDoc=void 0,ni.locals=void 0,ni.nextContainer=void 0,ni.typeArguments=void 0,ni}function _e(Me,Bn,Hn){return mt(void 0,Me,Bn,Hn)}function Ge(){return arguments.length===5?bt(...arguments):arguments.length===4?jt(...arguments):qp.fail("Incorrect number of arguments specified.")}function bt(Me,Bn,Hn,zn,ni){return Me.modifiers!==Bn||Me.typeParameters!==Hn||Me.parameters!==zn||Me.type!==ni?pt(it(Bn,Hn,zn,ni),Me):Me}function jt(Me,Bn,Hn,zn){return bt(Me,Me.modifiers,Bn,Hn,zn)}function Yt(Me,Bn){let Hn=oe(183);return Hn.exprName=Me,Hn.typeArguments=Bn&&zn().parenthesizeTypeArguments(Bn),Hn.transformFlags=1,Hn}function $t(Me,Bn,zn){return Me.exprName!==Bn||Me.typeArguments!==zn?Hn(Yt(Bn,zn),Me):Me}function Wt(Me){let Bn=Ve(184);return Bn.members=Ne(Me),Bn.transformFlags=1,Bn}function Xr(Me,Bn){return Me.members!==Bn?Hn(Wt(Bn),Me):Me}function Dr(Me){let Bn=oe(185);return Bn.elementType=zn().parenthesizeNonArrayTypeOfPostfixType(Me),Bn.transformFlags=1,Bn}function Lr(Me,Bn){return Me.elementType!==Bn?Hn(Dr(Bn),Me):Me}function yr(Me){let Bn=oe(186);return Bn.elements=Ne(zn().parenthesizeElementTypesOfTupleType(Me)),Bn.transformFlags=1,Bn}function Rn(Me,Bn){return Me.elements!==Bn?Hn(yr(Bn),Me):Me}function wt(Me,Bn,Hn,zn){let ni=Ve(199);return ni.dotDotDotToken=Me,ni.name=Bn,ni.questionToken=Hn,ni.type=zn,ni.transformFlags=1,ni.jsDoc=void 0,ni}function Tr(Me,Bn,zn,ni,Ci){return Me.dotDotDotToken!==Bn||Me.name!==zn||Me.questionToken!==ni||Me.type!==Ci?Hn(wt(Bn,zn,ni,Ci),Me):Me}function Tt(Me){let Bn=oe(187);return Bn.type=zn().parenthesizeTypeOfOptionalType(Me),Bn.transformFlags=1,Bn}function kt(Me,Bn){return Me.type!==Bn?Hn(Tt(Bn),Me):Me}function de(Me){let Bn=oe(188);return Bn.type=Me,Bn.transformFlags=1,Bn}function jn(Me,Bn){return Me.type!==Bn?Hn(de(Bn),Me):Me}function Zi(Me,Bn,Hn){let zn=oe(Me);return zn.types=tc.createNodeArray(Hn(Bn)),zn.transformFlags=1,zn}function Pa(Me,Bn,zn){return Me.types!==Bn?Hn(Zi(Me.kind,Bn,zn),Me):Me}function e_(Me){return Zi(189,Me,zn().parenthesizeConstituentTypesOfUnionType)}function mc(Me,Bn){return Pa(Me,Bn,zn().parenthesizeConstituentTypesOfUnionType)}function Da(Me){return Zi(190,Me,zn().parenthesizeConstituentTypesOfIntersectionType)}function Ts(Me,Bn){return Pa(Me,Bn,zn().parenthesizeConstituentTypesOfIntersectionType)}function Ot(Me,Bn,Hn,ni){let Ci=oe(191);return Ci.checkType=zn().parenthesizeCheckTypeOfConditionalType(Me),Ci.extendsType=zn().parenthesizeExtendsTypeOfConditionalType(Bn),Ci.trueType=Hn,Ci.falseType=ni,Ci.transformFlags=1,Ci.locals=void 0,Ci.nextContainer=void 0,Ci}function dr(Me,Bn,zn,ni,Ci){return Me.checkType!==Bn||Me.extendsType!==zn||Me.trueType!==ni||Me.falseType!==Ci?Hn(Ot(Bn,zn,ni,Ci),Me):Me}function Dd(Me){let Bn=oe(192);return Bn.typeParameter=Me,Bn.transformFlags=1,Bn}function ea(Me,Bn){return Me.typeParameter!==Bn?Hn(Dd(Bn),Me):Me}function kd(Me,Bn){let Hn=oe(200);return Hn.head=Me,Hn.templateSpans=Ne(Bn),Hn.transformFlags=1,Hn}function sn(Me,Bn,zn){return Me.head!==Bn||Me.templateSpans!==zn?Hn(kd(Bn,zn),Me):Me}function Id(Me,Bn,Hn,ni){let Ci=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1,ts=oe(202);return ts.argument=Me,ts.assertions=Bn,ts.qualifier=Hn,ts.typeArguments=ni&&zn().parenthesizeTypeArguments(ni),ts.isTypeOf=Ci,ts.transformFlags=1,ts}function ka(Me,Bn,zn,ni,Ci){let ts=arguments.length>5&&arguments[5]!==void 0?arguments[5]:Me.isTypeOf;return Me.argument!==Bn||Me.assertions!==zn||Me.qualifier!==ni||Me.typeArguments!==Ci||Me.isTypeOf!==ts?Hn(Id(Bn,zn,ni,Ci,ts),Me):Me}function t_(Me){let Bn=oe(193);return Bn.type=Me,Bn.transformFlags=1,Bn}function En(Me,Bn){return Me.type!==Bn?Hn(t_(Bn),Me):Me}function Er(){let Me=oe(194);return Me.transformFlags=1,Me}function Q(Me,Bn){let Hn=oe(195);return Hn.operator=Me,Hn.type=Me===146?zn().parenthesizeOperandOfReadonlyTypeOperator(Bn):zn().parenthesizeOperandOfTypeOperator(Bn),Hn.transformFlags=1,Hn}function Jn(Me,Bn){return Me.type!==Bn?Hn(Q(Me.operator,Bn),Me):Me}function Ia(Me,Bn){let Hn=oe(196);return Hn.objectType=zn().parenthesizeNonArrayTypeOfPostfixType(Me),Hn.indexType=Bn,Hn.transformFlags=1,Hn}function Ss(Me,Bn,zn){return Me.objectType!==Bn||Me.indexType!==zn?Hn(Ia(Bn,zn),Me):Me}function hc(Me,Bn,Hn,zn,ni,Ci){let ts=Ve(197);return ts.readonlyToken=Me,ts.typeParameter=Bn,ts.nameType=Hn,ts.questionToken=zn,ts.type=ni,ts.members=Ci&&Ne(Ci),ts.transformFlags=1,ts.locals=void 0,ts.nextContainer=void 0,ts}function wr(Me,Bn,zn,ni,Ci,ts,Ps){return Me.readonlyToken!==Bn||Me.typeParameter!==zn||Me.nameType!==ni||Me.questionToken!==Ci||Me.type!==ts||Me.members!==Ps?Hn(hc(Bn,zn,ni,Ci,ts,Ps),Me):Me}function zr(Me){let Bn=oe(198);return Bn.literal=Me,Bn.transformFlags=1,Bn}function xs(Me,Bn){return Me.literal!==Bn?Hn(zr(Bn),Me):Me}function Nd(Me){let Bn=oe(203);return Bn.elements=Ne(Me),Bn.transformFlags|=gt(Bn.elements)|1024|524288,Bn.transformFlags&32768&&(Bn.transformFlags|=65664),Bn}function R2(Me,Bn){return Me.elements!==Bn?Hn(Nd(Bn),Me):Me}function Es(Me){let Bn=oe(204);return Bn.elements=Ne(Me),Bn.transformFlags|=gt(Bn.elements)|1024|524288,Bn}function j2(Me,Bn){return Me.elements!==Bn?Hn(Es(Bn),Me):Me}function gc(Me,Bn,Hn,zn){let ni=Ve(205);return ni.dotDotDotToken=Me,ni.propertyName=Qt(Bn),ni.name=Qt(Hn),ni.initializer=Wa(zn),ni.transformFlags|=ye(ni.dotDotDotToken)|ai(ni.propertyName)|ai(ni.name)|ye(ni.initializer)|(ni.dotDotDotToken?32768:0)|1024,ni.flowNode=void 0,ni}function Ks(Me,Bn,zn,ni,Ci){return Me.propertyName!==zn||Me.dotDotDotToken!==Bn||Me.name!==ni||Me.initializer!==Ci?Hn(gc(Bn,zn,ni,Ci),Me):Me}function uu(Me,Bn){let Hn=oe(206),ni=Me&&Cn(Me),Ci=Ne(Me,ni&&cd(ni)?!0:void 0);return Hn.elements=zn().parenthesizeExpressionsOfCommaDelimitedList(Ci),Hn.multiLine=Bn,Hn.transformFlags|=gt(Hn.elements),Hn}function Od(Me,Bn){return Me.elements!==Bn?Hn(uu(Bn,Me.multiLine),Me):Me}function r_(Me,Bn){let Hn=Ve(207);return Hn.properties=Ne(Me),Hn.multiLine=Bn,Hn.transformFlags|=gt(Hn.properties),Hn.jsDoc=void 0,Hn}function J2(Me,Bn){return Me.properties!==Bn?Hn(r_(Bn,Me.multiLine),Me):Me}function Md(Me,Bn,Hn){let zn=Ve(208);return zn.expression=Me,zn.questionDotToken=Bn,zn.name=Hn,zn.transformFlags=ye(zn.expression)|ye(zn.questionDotToken)|(yt(zn.name)?ec(zn.name):ye(zn.name)|536870912),zn.jsDoc=void 0,zn.flowNode=void 0,zn}function ta(Me,Bn){let Hn=Md(zn().parenthesizeLeftSideOfAccess(Me,!1),void 0,Qt(Bn));return nd(Me)&&(Hn.transformFlags|=384),Hn}function Ld(Me,Bn,zn){return LS(Me)?Rd(Me,Bn,Me.questionDotToken,ti(zn,yt)):Me.expression!==Bn||Me.name!==zn?Hn(ta(Bn,zn),Me):Me}function Xs(Me,Bn,Hn){let ni=Md(zn().parenthesizeLeftSideOfAccess(Me,!0),Bn,Qt(Hn));return ni.flags|=32,ni.transformFlags|=32,ni}function Rd(Me,Bn,zn,ni){return qp.assert(!!(Me.flags&32),"Cannot update a PropertyAccessExpression using updatePropertyAccessChain. Use updatePropertyAccess instead."),Me.expression!==Bn||Me.questionDotToken!==zn||Me.name!==ni?Hn(Xs(Bn,zn,ni),Me):Me}function yc(Me,Bn,Hn){let zn=Ve(209);return zn.expression=Me,zn.questionDotToken=Bn,zn.argumentExpression=Hn,zn.transformFlags|=ye(zn.expression)|ye(zn.questionDotToken)|ye(zn.argumentExpression),zn.jsDoc=void 0,zn.flowNode=void 0,zn}function pu(Me,Bn){let Hn=yc(zn().parenthesizeLeftSideOfAccess(Me,!1),void 0,za(Bn));return nd(Me)&&(Hn.transformFlags|=384),Hn}function F2(Me,Bn,zn){return RS(Me)?jd(Me,Bn,Me.questionDotToken,zn):Me.expression!==Bn||Me.argumentExpression!==zn?Hn(pu(Bn,zn),Me):Me}function fu(Me,Bn,Hn){let ni=yc(zn().parenthesizeLeftSideOfAccess(Me,!0),Bn,za(Hn));return ni.flags|=32,ni.transformFlags|=32,ni}function jd(Me,Bn,zn,ni){return qp.assert(!!(Me.flags&32),"Cannot update a ElementAccessExpression using updateElementAccessChain. Use updateElementAccess instead."),Me.expression!==Bn||Me.questionDotToken!==zn||Me.argumentExpression!==ni?Hn(fu(Bn,zn,ni),Me):Me}function Jd(Me,Bn,Hn,zn){let ni=Ve(210);return ni.expression=Me,ni.questionDotToken=Bn,ni.typeArguments=Hn,ni.arguments=zn,ni.transformFlags|=ye(ni.expression)|ye(ni.questionDotToken)|gt(ni.typeArguments)|gt(ni.arguments),ni.typeArguments&&(ni.transformFlags|=1),Sf(ni.expression)&&(ni.transformFlags|=16384),ni}function Na(Me,Bn,Hn){let ni=Jd(zn().parenthesizeLeftSideOfAccess(Me,!1),void 0,xt(Bn),zn().parenthesizeExpressionsOfCommaDelimitedList(Ne(Hn)));return M8(ni.expression)&&(ni.transformFlags|=8388608),ni}function B2(Me,Bn,zn,ni){return Cy(Me)?Kn(Me,Bn,Me.questionDotToken,zn,ni):Me.expression!==Bn||Me.typeArguments!==zn||Me.arguments!==ni?Hn(Na(Bn,zn,ni),Me):Me}function du(Me,Bn,Hn,ni){let Ci=Jd(zn().parenthesizeLeftSideOfAccess(Me,!0),Bn,xt(Hn),zn().parenthesizeExpressionsOfCommaDelimitedList(Ne(ni)));return Ci.flags|=32,Ci.transformFlags|=32,Ci}function Kn(Me,Bn,zn,ni,Ci){return qp.assert(!!(Me.flags&32),"Cannot update a CallExpression using updateCallChain. Use updateCall instead."),Me.expression!==Bn||Me.questionDotToken!==zn||Me.typeArguments!==ni||Me.arguments!==Ci?Hn(du(Bn,zn,ni,Ci),Me):Me}function vc(Me,Bn,Hn){let ni=Ve(211);return ni.expression=zn().parenthesizeExpressionOfNew(Me),ni.typeArguments=xt(Bn),ni.arguments=Hn?zn().parenthesizeExpressionsOfCommaDelimitedList(Hn):void 0,ni.transformFlags|=ye(ni.expression)|gt(ni.typeArguments)|gt(ni.arguments)|32,ni.typeArguments&&(ni.transformFlags|=1),ni}function mu(Me,Bn,zn,ni){return Me.expression!==Bn||Me.typeArguments!==zn||Me.arguments!==ni?Hn(vc(Bn,zn,ni),Me):Me}function hu(Me,Bn,Hn){let ni=oe(212);return ni.tag=zn().parenthesizeLeftSideOfAccess(Me,!1),ni.typeArguments=xt(Bn),ni.template=Hn,ni.transformFlags|=ye(ni.tag)|gt(ni.typeArguments)|ye(ni.template)|1024,ni.typeArguments&&(ni.transformFlags|=1),w4(ni.template)&&(ni.transformFlags|=128),ni}function q2(Me,Bn,zn,ni){return Me.tag!==Bn||Me.typeArguments!==zn||Me.template!==ni?Hn(hu(Bn,zn,ni),Me):Me}function Fd(Me,Bn){let Hn=oe(213);return Hn.expression=zn().parenthesizeOperandOfPrefixUnary(Bn),Hn.type=Me,Hn.transformFlags|=ye(Hn.expression)|ye(Hn.type)|1,Hn}function Bd(Me,Bn,zn){return Me.type!==Bn||Me.expression!==zn?Hn(Fd(Bn,zn),Me):Me}function gu(Me){let Bn=oe(214);return Bn.expression=Me,Bn.transformFlags=ye(Bn.expression),Bn.jsDoc=void 0,Bn}function qd(Me,Bn){return Me.expression!==Bn?Hn(gu(Bn),Me):Me}function yu(Me,Bn,Hn,zn,ni,Ci,ts){let Ps=Ve(215);Ps.modifiers=xt(Me),Ps.asteriskToken=Bn,Ps.name=Qt(Hn),Ps.typeParameters=xt(zn),Ps.parameters=Ne(ni),Ps.type=Ci,Ps.body=ts;let aa=Vn(Ps.modifiers)&512,oa=!!Ps.asteriskToken,ca=aa&&oa;return Ps.transformFlags=gt(Ps.modifiers)|ye(Ps.asteriskToken)|ai(Ps.name)|gt(Ps.typeParameters)|gt(Ps.parameters)|ye(Ps.type)|ye(Ps.body)&-67108865|(ca?128:aa?256:oa?2048:0)|(Ps.typeParameters||Ps.type?1:0)|4194304,Ps.typeArguments=void 0,Ps.jsDoc=void 0,Ps.locals=void 0,Ps.nextContainer=void 0,Ps.flowNode=void 0,Ps.endFlowNode=void 0,Ps.returnFlowNode=void 0,Ps}function Ud(Me,Bn,Hn,zn,ni,Ci,ts,Ps){return Me.name!==zn||Me.modifiers!==Bn||Me.asteriskToken!==Hn||Me.typeParameters!==ni||Me.parameters!==Ci||Me.type!==ts||Me.body!==Ps?pt(yu(Bn,Hn,zn,ni,Ci,ts,Ps),Me):Me}function vu(Me,Bn,Hn,ni,Ci,ts){let Ps=Ve(216);Ps.modifiers=xt(Me),Ps.typeParameters=xt(Bn),Ps.parameters=Ne(Hn),Ps.type=ni,Ps.equalsGreaterThanToken=Ci!=null?Ci:pr(38),Ps.body=zn().parenthesizeConciseBodyOfArrowFunction(ts);let aa=Vn(Ps.modifiers)&512;return Ps.transformFlags=gt(Ps.modifiers)|gt(Ps.typeParameters)|gt(Ps.parameters)|ye(Ps.type)|ye(Ps.equalsGreaterThanToken)|ye(Ps.body)&-67108865|(Ps.typeParameters||Ps.type?1:0)|(aa?16640:0)|1024,Ps.typeArguments=void 0,Ps.jsDoc=void 0,Ps.locals=void 0,Ps.nextContainer=void 0,Ps.flowNode=void 0,Ps.endFlowNode=void 0,Ps.returnFlowNode=void 0,Ps}function zd(Me,Bn,Hn,zn,ni,Ci,ts){return Me.modifiers!==Bn||Me.typeParameters!==Hn||Me.parameters!==zn||Me.type!==ni||Me.equalsGreaterThanToken!==Ci||Me.body!==ts?pt(vu(Bn,Hn,zn,ni,Ci,ts),Me):Me}function bu(Me){let Bn=oe(217);return Bn.expression=zn().parenthesizeOperandOfPrefixUnary(Me),Bn.transformFlags|=ye(Bn.expression),Bn}function U2(Me,Bn){return Me.expression!==Bn?Hn(bu(Bn),Me):Me}function mn(Me){let Bn=oe(218);return Bn.expression=zn().parenthesizeOperandOfPrefixUnary(Me),Bn.transformFlags|=ye(Bn.expression),Bn}function z2(Me,Bn){return Me.expression!==Bn?Hn(mn(Bn),Me):Me}function ui(Me){let Bn=oe(219);return Bn.expression=zn().parenthesizeOperandOfPrefixUnary(Me),Bn.transformFlags|=ye(Bn.expression),Bn}function W2(Me,Bn){return Me.expression!==Bn?Hn(ui(Bn),Me):Me}function Oa(Me){let Bn=oe(220);return Bn.expression=zn().parenthesizeOperandOfPrefixUnary(Me),Bn.transformFlags|=ye(Bn.expression)|256|128|2097152,Bn}function Ys(Me,Bn){return Me.expression!==Bn?Hn(Oa(Bn),Me):Me}function Tu(Me,Bn){let Hn=oe(221);return Hn.operator=Me,Hn.operand=zn().parenthesizeOperandOfPrefixUnary(Bn),Hn.transformFlags|=ye(Hn.operand),(Me===45||Me===46)&&yt(Hn.operand)&&!cs(Hn.operand)&&!E2(Hn.operand)&&(Hn.transformFlags|=268435456),Hn}function bc(Me,Bn){return Me.operand!==Bn?Hn(Tu(Me.operator,Bn),Me):Me}function Su(Me,Bn){let Hn=oe(222);return Hn.operator=Bn,Hn.operand=zn().parenthesizeOperandOfPostfixUnary(Me),Hn.transformFlags|=ye(Hn.operand),yt(Hn.operand)&&!cs(Hn.operand)&&!E2(Hn.operand)&&(Hn.transformFlags|=268435456),Hn}function Wd(Me,Bn){return Me.operand!==Bn?Hn(Su(Bn,Me.operator),Me):Me}function xu(Me,Bn,Hn){let ni=Ve(223),Ci=c6(Bn),ts=Ci.kind;return ni.left=zn().parenthesizeLeftSideOfBinary(ts,Me),ni.operatorToken=Ci,ni.right=zn().parenthesizeRightSideOfBinary(ts,ni.left,Hn),ni.transformFlags|=ye(ni.left)|ye(ni.operatorToken)|ye(ni.right),ts===60?ni.transformFlags|=32:ts===63?Hs(ni.left)?ni.transformFlags|=5248|Vd(ni.left):Yl(ni.left)&&(ni.transformFlags|=5120|Vd(ni.left)):ts===42||ts===67?ni.transformFlags|=512:jf(ts)&&(ni.transformFlags|=16),ts===101&&vn(ni.left)&&(ni.transformFlags|=536870912),ni.jsDoc=void 0,ni}function Vd(Me){return A2(Me)?65536:0}function V2(Me,Bn,zn,ni){return Me.left!==Bn||Me.operatorToken!==zn||Me.right!==ni?Hn(xu(Bn,zn,ni),Me):Me}function Eu(Me,Bn,Hn,ni,Ci){let ts=oe(224);return ts.condition=zn().parenthesizeConditionOfConditionalExpression(Me),ts.questionToken=Bn!=null?Bn:pr(57),ts.whenTrue=zn().parenthesizeBranchOfConditionalExpression(Hn),ts.colonToken=ni!=null?ni:pr(58),ts.whenFalse=zn().parenthesizeBranchOfConditionalExpression(Ci),ts.transformFlags|=ye(ts.condition)|ye(ts.questionToken)|ye(ts.whenTrue)|ye(ts.colonToken)|ye(ts.whenFalse),ts}function H2(Me,Bn,zn,ni,Ci,ts){return Me.condition!==Bn||Me.questionToken!==zn||Me.whenTrue!==ni||Me.colonToken!==Ci||Me.whenFalse!==ts?Hn(Eu(Bn,zn,ni,Ci,ts),Me):Me}function Di(Me,Bn){let Hn=oe(225);return Hn.head=Me,Hn.templateSpans=Ne(Bn),Hn.transformFlags|=ye(Hn.head)|gt(Hn.templateSpans)|1024,Hn}function Hd(Me,Bn,zn){return Me.head!==Bn||Me.templateSpans!==zn?Hn(Di(Bn,zn),Me):Me}function Tc(Me,Bn,Hn){let zn=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;qp.assert(!(zn&-2049),"Unsupported template flags.");let ni;if(Hn!==void 0&&Hn!==Bn&&(ni=BL(Me,Hn),typeof ni=="object"))return qp.fail("Invalid raw text");if(Bn===void 0){if(ni===void 0)return qp.fail("Arguments 'text' and 'rawText' may not both be undefined.");Bn=ni}else ni!==void 0&&qp.assert(Bn===ni,"Expected argument 'text' to be the normalized (i.e. 'cooked') version of argument 'rawText'.");return Bn}function Gd(Me){let Bn=1024;return Me&&(Bn|=128),Bn}function n_(Me,Bn,Hn,zn){let ni=In(Me);return ni.text=Bn,ni.rawText=Hn,ni.templateFlags=zn&2048,ni.transformFlags=Gd(ni.templateFlags),ni}function wu(Me,Bn,Hn,zn){let ni=Ve(Me);return ni.text=Bn,ni.rawText=Hn,ni.templateFlags=zn&2048,ni.transformFlags=Gd(ni.templateFlags),ni}function Qs(Me,Bn,Hn,zn){return Me===14?wu(Me,Bn,Hn,zn):n_(Me,Bn,Hn,zn)}function Sc(Me,Bn,Hn){return Me=Tc(15,Me,Bn,Hn),Qs(15,Me,Bn,Hn)}function Cu(Me,Bn,Hn){return Me=Tc(15,Me,Bn,Hn),Qs(16,Me,Bn,Hn)}function G2(Me,Bn,Hn){return Me=Tc(15,Me,Bn,Hn),Qs(17,Me,Bn,Hn)}function $d(Me,Bn,Hn){return Me=Tc(15,Me,Bn,Hn),wu(14,Me,Bn,Hn)}function Kd(Me,Bn){qp.assert(!Me||!!Bn,"A `YieldExpression` with an asteriskToken must have an expression.");let Hn=oe(226);return Hn.expression=Bn&&zn().parenthesizeExpressionForDisallowedComma(Bn),Hn.asteriskToken=Me,Hn.transformFlags|=ye(Hn.expression)|ye(Hn.asteriskToken)|1024|128|1048576,Hn}function $2(Me,Bn,zn){return Me.expression!==zn||Me.asteriskToken!==Bn?Hn(Kd(Bn,zn),Me):Me}function Xd(Me){let Bn=oe(227);return Bn.expression=zn().parenthesizeExpressionForDisallowedComma(Me),Bn.transformFlags|=ye(Bn.expression)|1024|32768,Bn}function K2(Me,Bn){return Me.expression!==Bn?Hn(Xd(Bn),Me):Me}function Yd(Me,Bn,Hn,zn,ni){let Ci=Ve(228);return Ci.modifiers=xt(Me),Ci.name=Qt(Bn),Ci.typeParameters=xt(Hn),Ci.heritageClauses=xt(zn),Ci.members=Ne(ni),Ci.transformFlags|=gt(Ci.modifiers)|ai(Ci.name)|gt(Ci.typeParameters)|gt(Ci.heritageClauses)|gt(Ci.members)|(Ci.typeParameters?1:0)|1024,Ci.jsDoc=void 0,Ci}function xc(Me,Bn,zn,ni,Ci,ts){return Me.modifiers!==Bn||Me.name!==zn||Me.typeParameters!==ni||Me.heritageClauses!==Ci||Me.members!==ts?Hn(Yd(Bn,zn,ni,Ci,ts),Me):Me}function X2(){return oe(229)}function Qd(Me,Bn){let Hn=oe(230);return Hn.expression=zn().parenthesizeLeftSideOfAccess(Me,!1),Hn.typeArguments=Bn&&zn().parenthesizeTypeArguments(Bn),Hn.transformFlags|=ye(Hn.expression)|gt(Hn.typeArguments)|1024,Hn}function Xn(Me,Bn,zn){return Me.expression!==Bn||Me.typeArguments!==zn?Hn(Qd(Bn,zn),Me):Me}function Ec(Me,Bn){let Hn=oe(231);return Hn.expression=Me,Hn.type=Bn,Hn.transformFlags|=ye(Hn.expression)|ye(Hn.type)|1,Hn}function Zd(Me,Bn,zn){return Me.expression!==Bn||Me.type!==zn?Hn(Ec(Bn,zn),Me):Me}function em(Me){let Bn=oe(232);return Bn.expression=zn().parenthesizeLeftSideOfAccess(Me,!1),Bn.transformFlags|=ye(Bn.expression)|1,Bn}function Au(Me,Bn){return JS(Me)?rm(Me,Bn):Me.expression!==Bn?Hn(em(Bn),Me):Me}function tm(Me,Bn){let Hn=oe(235);return Hn.expression=Me,Hn.type=Bn,Hn.transformFlags|=ye(Hn.expression)|ye(Hn.type)|1,Hn}function Pu(Me,Bn,zn){return Me.expression!==Bn||Me.type!==zn?Hn(tm(Bn,zn),Me):Me}function pi(Me){let Bn=oe(232);return Bn.flags|=32,Bn.expression=zn().parenthesizeLeftSideOfAccess(Me,!0),Bn.transformFlags|=ye(Bn.expression)|1,Bn}function rm(Me,Bn){return qp.assert(!!(Me.flags&32),"Cannot update a NonNullExpression using updateNonNullChain. Use updateNonNullExpression instead."),Me.expression!==Bn?Hn(pi(Bn),Me):Me}function wc(Me,Bn){let Hn=oe(233);switch(Hn.keywordToken=Me,Hn.name=Bn,Hn.transformFlags|=ye(Hn.name),Me){case 103:Hn.transformFlags|=1024;break;case 100:Hn.transformFlags|=4;break;default:return qp.assertNever(Me)}return Hn.flowNode=void 0,Hn}function ra(Me,Bn){return Me.name!==Bn?Hn(wc(Me.keywordToken,Bn),Me):Me}function i_(Me,Bn){let Hn=oe(236);return Hn.expression=Me,Hn.literal=Bn,Hn.transformFlags|=ye(Hn.expression)|ye(Hn.literal)|1024,Hn}function nm(Me,Bn,zn){return Me.expression!==Bn||Me.literal!==zn?Hn(i_(Bn,zn),Me):Me}function im(){let Me=oe(237);return Me.transformFlags|=1024,Me}function Zs(Me,Bn){let Hn=oe(238);return Hn.statements=Ne(Me),Hn.multiLine=Bn,Hn.transformFlags|=gt(Hn.statements),Hn.jsDoc=void 0,Hn.locals=void 0,Hn.nextContainer=void 0,Hn}function am(Me,Bn){return Me.statements!==Bn?Hn(Zs(Bn,Me.multiLine),Me):Me}function sm(Me,Bn){let Hn=oe(240);return Hn.modifiers=xt(Me),Hn.declarationList=ir(Bn)?Ru(Bn):Bn,Hn.transformFlags|=gt(Hn.modifiers)|ye(Hn.declarationList),Vn(Hn.modifiers)&2&&(Hn.transformFlags=1),Hn.jsDoc=void 0,Hn.flowNode=void 0,Hn}function om(Me,Bn,zn){return Me.modifiers!==Bn||Me.declarationList!==zn?Hn(sm(Bn,zn),Me):Me}function Du(){let Me=oe(239);return Me.jsDoc=void 0,Me}function a_(Me){let Bn=oe(241);return Bn.expression=zn().parenthesizeExpressionOfExpressionStatement(Me),Bn.transformFlags|=ye(Bn.expression),Bn.jsDoc=void 0,Bn.flowNode=void 0,Bn}function Y2(Me,Bn){return Me.expression!==Bn?Hn(a_(Bn),Me):Me}function ku(Me,Bn,Hn){let zn=oe(242);return zn.expression=Me,zn.thenStatement=Yn(Bn),zn.elseStatement=Yn(Hn),zn.transformFlags|=ye(zn.expression)|ye(zn.thenStatement)|ye(zn.elseStatement),zn.jsDoc=void 0,zn.flowNode=void 0,zn}function Q2(Me,Bn,zn,ni){return Me.expression!==Bn||Me.thenStatement!==zn||Me.elseStatement!==ni?Hn(ku(Bn,zn,ni),Me):Me}function Iu(Me,Bn){let Hn=oe(243);return Hn.statement=Yn(Me),Hn.expression=Bn,Hn.transformFlags|=ye(Hn.statement)|ye(Hn.expression),Hn.jsDoc=void 0,Hn.flowNode=void 0,Hn}function Z2(Me,Bn,zn){return Me.statement!==Bn||Me.expression!==zn?Hn(Iu(Bn,zn),Me):Me}function _m(Me,Bn){let Hn=oe(244);return Hn.expression=Me,Hn.statement=Yn(Bn),Hn.transformFlags|=ye(Hn.expression)|ye(Hn.statement),Hn.jsDoc=void 0,Hn.flowNode=void 0,Hn}function eb(Me,Bn,zn){return Me.expression!==Bn||Me.statement!==zn?Hn(_m(Bn,zn),Me):Me}function Nu(Me,Bn,Hn,zn){let ni=oe(245);return ni.initializer=Me,ni.condition=Bn,ni.incrementor=Hn,ni.statement=Yn(zn),ni.transformFlags|=ye(ni.initializer)|ye(ni.condition)|ye(ni.incrementor)|ye(ni.statement),ni.jsDoc=void 0,ni.locals=void 0,ni.nextContainer=void 0,ni.flowNode=void 0,ni}function cm(Me,Bn,zn,ni,Ci){return Me.initializer!==Bn||Me.condition!==zn||Me.incrementor!==ni||Me.statement!==Ci?Hn(Nu(Bn,zn,ni,Ci),Me):Me}function lm(Me,Bn,Hn){let zn=oe(246);return zn.initializer=Me,zn.expression=Bn,zn.statement=Yn(Hn),zn.transformFlags|=ye(zn.initializer)|ye(zn.expression)|ye(zn.statement),zn.jsDoc=void 0,zn.locals=void 0,zn.nextContainer=void 0,zn.flowNode=void 0,zn}function tb(Me,Bn,zn,ni){return Me.initializer!==Bn||Me.expression!==zn||Me.statement!==ni?Hn(lm(Bn,zn,ni),Me):Me}function um(Me,Bn,Hn,ni){let Ci=oe(247);return Ci.awaitModifier=Me,Ci.initializer=Bn,Ci.expression=zn().parenthesizeExpressionForDisallowedComma(Hn),Ci.statement=Yn(ni),Ci.transformFlags|=ye(Ci.awaitModifier)|ye(Ci.initializer)|ye(Ci.expression)|ye(Ci.statement)|1024,Me&&(Ci.transformFlags|=128),Ci.jsDoc=void 0,Ci.locals=void 0,Ci.nextContainer=void 0,Ci.flowNode=void 0,Ci}function rb(Me,Bn,zn,ni,Ci){return Me.awaitModifier!==Bn||Me.initializer!==zn||Me.expression!==ni||Me.statement!==Ci?Hn(um(Bn,zn,ni,Ci),Me):Me}function pm(Me){let Bn=oe(248);return Bn.label=Qt(Me),Bn.transformFlags|=ye(Bn.label)|4194304,Bn.jsDoc=void 0,Bn.flowNode=void 0,Bn}function fm(Me,Bn){return Me.label!==Bn?Hn(pm(Bn),Me):Me}function Ou(Me){let Bn=oe(249);return Bn.label=Qt(Me),Bn.transformFlags|=ye(Bn.label)|4194304,Bn.jsDoc=void 0,Bn.flowNode=void 0,Bn}function dm(Me,Bn){return Me.label!==Bn?Hn(Ou(Bn),Me):Me}function mm(Me){let Bn=oe(250);return Bn.expression=Me,Bn.transformFlags|=ye(Bn.expression)|128|4194304,Bn.jsDoc=void 0,Bn.flowNode=void 0,Bn}function nb(Me,Bn){return Me.expression!==Bn?Hn(mm(Bn),Me):Me}function Mu(Me,Bn){let Hn=oe(251);return Hn.expression=Me,Hn.statement=Yn(Bn),Hn.transformFlags|=ye(Hn.expression)|ye(Hn.statement),Hn.jsDoc=void 0,Hn.flowNode=void 0,Hn}function hm(Me,Bn,zn){return Me.expression!==Bn||Me.statement!==zn?Hn(Mu(Bn,zn),Me):Me}function Lu(Me,Bn){let Hn=oe(252);return Hn.expression=zn().parenthesizeExpressionForDisallowedComma(Me),Hn.caseBlock=Bn,Hn.transformFlags|=ye(Hn.expression)|ye(Hn.caseBlock),Hn.jsDoc=void 0,Hn.flowNode=void 0,Hn.possiblyExhaustive=!1,Hn}function eo(Me,Bn,zn){return Me.expression!==Bn||Me.caseBlock!==zn?Hn(Lu(Bn,zn),Me):Me}function gm(Me,Bn){let Hn=oe(253);return Hn.label=Qt(Me),Hn.statement=Yn(Bn),Hn.transformFlags|=ye(Hn.label)|ye(Hn.statement),Hn.jsDoc=void 0,Hn.flowNode=void 0,Hn}function ym(Me,Bn,zn){return Me.label!==Bn||Me.statement!==zn?Hn(gm(Bn,zn),Me):Me}function vm(Me){let Bn=oe(254);return Bn.expression=Me,Bn.transformFlags|=ye(Bn.expression),Bn.jsDoc=void 0,Bn.flowNode=void 0,Bn}function ib(Me,Bn){return Me.expression!==Bn?Hn(vm(Bn),Me):Me}function bm(Me,Bn,Hn){let zn=oe(255);return zn.tryBlock=Me,zn.catchClause=Bn,zn.finallyBlock=Hn,zn.transformFlags|=ye(zn.tryBlock)|ye(zn.catchClause)|ye(zn.finallyBlock),zn.jsDoc=void 0,zn.flowNode=void 0,zn}function ab(Me,Bn,zn,ni){return Me.tryBlock!==Bn||Me.catchClause!==zn||Me.finallyBlock!==ni?Hn(bm(Bn,zn,ni),Me):Me}function Tm(){let Me=oe(256);return Me.jsDoc=void 0,Me.flowNode=void 0,Me}function Cc(Me,Bn,Hn,zn){var ni;let Ci=Ve(257);return Ci.name=Qt(Me),Ci.exclamationToken=Bn,Ci.type=Hn,Ci.initializer=Wa(zn),Ci.transformFlags|=ai(Ci.name)|ye(Ci.initializer)|(((ni=Ci.exclamationToken)!=null?ni:Ci.type)?1:0),Ci.jsDoc=void 0,Ci}function Sm(Me,Bn,zn,ni,Ci){return Me.name!==Bn||Me.type!==ni||Me.exclamationToken!==zn||Me.initializer!==Ci?Hn(Cc(Bn,zn,ni,Ci),Me):Me}function Ru(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,Hn=oe(258);return Hn.flags|=Bn&3,Hn.declarations=Ne(Me),Hn.transformFlags|=gt(Hn.declarations)|4194304,Bn&3&&(Hn.transformFlags|=263168),Hn}function sb(Me,Bn){return Me.declarations!==Bn?Hn(Ru(Bn,Me.flags),Me):Me}function xm(Me,Bn,Hn,zn,ni,Ci,ts){let Ps=Ve(259);if(Ps.modifiers=xt(Me),Ps.asteriskToken=Bn,Ps.name=Qt(Hn),Ps.typeParameters=xt(zn),Ps.parameters=Ne(ni),Ps.type=Ci,Ps.body=ts,!Ps.body||Vn(Ps.modifiers)&2)Ps.transformFlags=1;else{let Me=Vn(Ps.modifiers)&512,Bn=!!Ps.asteriskToken,Hn=Me&&Bn;Ps.transformFlags=gt(Ps.modifiers)|ye(Ps.asteriskToken)|ai(Ps.name)|gt(Ps.typeParameters)|gt(Ps.parameters)|ye(Ps.type)|ye(Ps.body)&-67108865|(Hn?128:Me?256:Bn?2048:0)|(Ps.typeParameters||Ps.type?1:0)|4194304}return Ps.typeArguments=void 0,Ps.jsDoc=void 0,Ps.locals=void 0,Ps.nextContainer=void 0,Ps.endFlowNode=void 0,Ps.returnFlowNode=void 0,Ps}function ju(Me,Bn,Hn,zn,ni,Ci,ts,Ps){return Me.modifiers!==Bn||Me.asteriskToken!==Hn||Me.name!==zn||Me.typeParameters!==ni||Me.parameters!==Ci||Me.type!==ts||Me.body!==Ps?ob(xm(Bn,Hn,zn,ni,Ci,ts,Ps),Me):Me}function ob(Me,Bn){return Me!==Bn&&Me.modifiers===Bn.modifiers&&(Me.modifiers=Bn.modifiers),pt(Me,Bn)}function Em(Me,Bn,Hn,zn,ni){let Ci=Ve(260);return Ci.modifiers=xt(Me),Ci.name=Qt(Bn),Ci.typeParameters=xt(Hn),Ci.heritageClauses=xt(zn),Ci.members=Ne(ni),Vn(Ci.modifiers)&2?Ci.transformFlags=1:(Ci.transformFlags|=gt(Ci.modifiers)|ai(Ci.name)|gt(Ci.typeParameters)|gt(Ci.heritageClauses)|gt(Ci.members)|(Ci.typeParameters?1:0)|1024,Ci.transformFlags&8192&&(Ci.transformFlags|=1)),Ci.jsDoc=void 0,Ci}function Ju(Me,Bn,zn,ni,Ci,ts){return Me.modifiers!==Bn||Me.name!==zn||Me.typeParameters!==ni||Me.heritageClauses!==Ci||Me.members!==ts?Hn(Em(Bn,zn,ni,Ci,ts),Me):Me}function wm(Me,Bn,Hn,zn,ni){let Ci=Ve(261);return Ci.modifiers=xt(Me),Ci.name=Qt(Bn),Ci.typeParameters=xt(Hn),Ci.heritageClauses=xt(zn),Ci.members=Ne(ni),Ci.transformFlags=1,Ci.jsDoc=void 0,Ci}function Cm(Me,Bn,zn,ni,Ci,ts){return Me.modifiers!==Bn||Me.name!==zn||Me.typeParameters!==ni||Me.heritageClauses!==Ci||Me.members!==ts?Hn(wm(Bn,zn,ni,Ci,ts),Me):Me}function sr(Me,Bn,Hn,zn){let ni=Ve(262);return ni.modifiers=xt(Me),ni.name=Qt(Bn),ni.typeParameters=xt(Hn),ni.type=zn,ni.transformFlags=1,ni.jsDoc=void 0,ni.locals=void 0,ni.nextContainer=void 0,ni}function Ma(Me,Bn,zn,ni,Ci){return Me.modifiers!==Bn||Me.name!==zn||Me.typeParameters!==ni||Me.type!==Ci?Hn(sr(Bn,zn,ni,Ci),Me):Me}function Fu(Me,Bn,Hn){let zn=Ve(263);return zn.modifiers=xt(Me),zn.name=Qt(Bn),zn.members=Ne(Hn),zn.transformFlags|=gt(zn.modifiers)|ye(zn.name)|gt(zn.members)|1,zn.transformFlags&=-67108865,zn.jsDoc=void 0,zn}function La(Me,Bn,zn,ni){return Me.modifiers!==Bn||Me.name!==zn||Me.members!==ni?Hn(Fu(Bn,zn,ni),Me):Me}function Am(Me,Bn,Hn){let zn=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,ni=Ve(264);return ni.modifiers=xt(Me),ni.flags|=zn&1044,ni.name=Bn,ni.body=Hn,Vn(ni.modifiers)&2?ni.transformFlags=1:ni.transformFlags|=gt(ni.modifiers)|ye(ni.name)|ye(ni.body)|1,ni.transformFlags&=-67108865,ni.jsDoc=void 0,ni.locals=void 0,ni.nextContainer=void 0,ni}function Sr(Me,Bn,zn,ni){return Me.modifiers!==Bn||Me.name!==zn||Me.body!==ni?Hn(Am(Bn,zn,ni,Me.flags),Me):Me}function Ra(Me){let Bn=oe(265);return Bn.statements=Ne(Me),Bn.transformFlags|=gt(Bn.statements),Bn.jsDoc=void 0,Bn}function Yr(Me,Bn){return Me.statements!==Bn?Hn(Ra(Bn),Me):Me}function Pm(Me){let Bn=oe(266);return Bn.clauses=Ne(Me),Bn.transformFlags|=gt(Bn.clauses),Bn.locals=void 0,Bn.nextContainer=void 0,Bn}function _b(Me,Bn){return Me.clauses!==Bn?Hn(Pm(Bn),Me):Me}function Dm(Me){let Bn=Ve(267);return Bn.name=Qt(Me),Bn.transformFlags|=ec(Bn.name)|1,Bn.modifiers=void 0,Bn.jsDoc=void 0,Bn}function km(Me,Bn){return Me.name!==Bn?cb(Dm(Bn),Me):Me}function cb(Me,Bn){return Me!==Bn&&(Me.modifiers=Bn.modifiers),Hn(Me,Bn)}function Im(Me,Bn,Hn,zn){let ni=Ve(268);return ni.modifiers=xt(Me),ni.name=Qt(Hn),ni.isTypeOnly=Bn,ni.moduleReference=zn,ni.transformFlags|=gt(ni.modifiers)|ec(ni.name)|ye(ni.moduleReference),ud(ni.moduleReference)||(ni.transformFlags|=1),ni.transformFlags&=-67108865,ni.jsDoc=void 0,ni}function Nm(Me,Bn,zn,ni,Ci){return Me.modifiers!==Bn||Me.isTypeOnly!==zn||Me.name!==ni||Me.moduleReference!==Ci?Hn(Im(Bn,zn,ni,Ci),Me):Me}function Om(Me,Bn,Hn,zn){let ni=oe(269);return ni.modifiers=xt(Me),ni.importClause=Bn,ni.moduleSpecifier=Hn,ni.assertClause=zn,ni.transformFlags|=ye(ni.importClause)|ye(ni.moduleSpecifier),ni.transformFlags&=-67108865,ni.jsDoc=void 0,ni}function Mm(Me,Bn,zn,ni,Ci){return Me.modifiers!==Bn||Me.importClause!==zn||Me.moduleSpecifier!==ni||Me.assertClause!==Ci?Hn(Om(Bn,zn,ni,Ci),Me):Me}function Lm(Me,Bn,Hn){let zn=Ve(270);return zn.isTypeOnly=Me,zn.name=Bn,zn.namedBindings=Hn,zn.transformFlags|=ye(zn.name)|ye(zn.namedBindings),Me&&(zn.transformFlags|=1),zn.transformFlags&=-67108865,zn}function Rm(Me,Bn,zn,ni){return Me.isTypeOnly!==Bn||Me.name!==zn||Me.namedBindings!==ni?Hn(Lm(Bn,zn,ni),Me):Me}function Bu(Me,Bn){let Hn=oe(296);return Hn.elements=Ne(Me),Hn.multiLine=Bn,Hn.transformFlags|=4,Hn}function lb(Me,Bn,zn){return Me.elements!==Bn||Me.multiLine!==zn?Hn(Bu(Bn,zn),Me):Me}function s_(Me,Bn){let Hn=oe(297);return Hn.name=Me,Hn.value=Bn,Hn.transformFlags|=4,Hn}function jm(Me,Bn,zn){return Me.name!==Bn||Me.value!==zn?Hn(s_(Bn,zn),Me):Me}function qu(Me,Bn){let Hn=oe(298);return Hn.assertClause=Me,Hn.multiLine=Bn,Hn}function Jm(Me,Bn,zn){return Me.assertClause!==Bn||Me.multiLine!==zn?Hn(qu(Bn,zn),Me):Me}function Fm(Me){let Bn=Ve(271);return Bn.name=Me,Bn.transformFlags|=ye(Bn.name),Bn.transformFlags&=-67108865,Bn}function Uu(Me,Bn){return Me.name!==Bn?Hn(Fm(Bn),Me):Me}function Bm(Me){let Bn=Ve(277);return Bn.name=Me,Bn.transformFlags|=ye(Bn.name)|4,Bn.transformFlags&=-67108865,Bn}function qm(Me,Bn){return Me.name!==Bn?Hn(Bm(Bn),Me):Me}function Um(Me){let Bn=oe(272);return Bn.elements=Ne(Me),Bn.transformFlags|=gt(Bn.elements),Bn.transformFlags&=-67108865,Bn}function ub(Me,Bn){return Me.elements!==Bn?Hn(Um(Bn),Me):Me}function zm(Me,Bn,Hn){let zn=Ve(273);return zn.isTypeOnly=Me,zn.propertyName=Bn,zn.name=Hn,zn.transformFlags|=ye(zn.propertyName)|ye(zn.name),zn.transformFlags&=-67108865,zn}function pb(Me,Bn,zn,ni){return Me.isTypeOnly!==Bn||Me.propertyName!==zn||Me.name!==ni?Hn(zm(Bn,zn,ni),Me):Me}function zu(Me,Bn,Hn){let ni=Ve(274);return ni.modifiers=xt(Me),ni.isExportEquals=Bn,ni.expression=Bn?zn().parenthesizeRightSideOfBinary(63,void 0,Hn):zn().parenthesizeExpressionOfExportDefault(Hn),ni.transformFlags|=gt(ni.modifiers)|ye(ni.expression),ni.transformFlags&=-67108865,ni.jsDoc=void 0,ni}function Wu(Me,Bn,zn){return Me.modifiers!==Bn||Me.expression!==zn?Hn(zu(Bn,Me.isExportEquals,zn),Me):Me}function na(Me,Bn,Hn,zn,ni){let Ci=Ve(275);return Ci.modifiers=xt(Me),Ci.isTypeOnly=Bn,Ci.exportClause=Hn,Ci.moduleSpecifier=zn,Ci.assertClause=ni,Ci.transformFlags|=gt(Ci.modifiers)|ye(Ci.exportClause)|ye(Ci.moduleSpecifier),Ci.transformFlags&=-67108865,Ci.jsDoc=void 0,Ci}function Wm(Me,Bn,Hn,zn,ni,Ci){return Me.modifiers!==Bn||Me.isTypeOnly!==Hn||Me.exportClause!==zn||Me.moduleSpecifier!==ni||Me.assertClause!==Ci?Vm(na(Bn,Hn,zn,ni,Ci),Me):Me}function Vm(Me,Bn){return Me!==Bn&&Me.modifiers===Bn.modifiers&&(Me.modifiers=Bn.modifiers),Hn(Me,Bn)}function to(Me){let Bn=oe(276);return Bn.elements=Ne(Me),Bn.transformFlags|=gt(Bn.elements),Bn.transformFlags&=-67108865,Bn}function Hm(Me,Bn){return Me.elements!==Bn?Hn(to(Bn),Me):Me}function Vu(Me,Bn,Hn){let zn=oe(278);return zn.isTypeOnly=Me,zn.propertyName=Qt(Bn),zn.name=Qt(Hn),zn.transformFlags|=ye(zn.propertyName)|ye(zn.name),zn.transformFlags&=-67108865,zn.jsDoc=void 0,zn}function o_(Me,Bn,zn,ni){return Me.isTypeOnly!==Bn||Me.propertyName!==zn||Me.name!==ni?Hn(Vu(Bn,zn,ni),Me):Me}function fb(){let Me=Ve(279);return Me.jsDoc=void 0,Me}function Gm(Me){let Bn=oe(280);return Bn.expression=Me,Bn.transformFlags|=ye(Bn.expression),Bn.transformFlags&=-67108865,Bn}function $m(Me,Bn){return Me.expression!==Bn?Hn(Gm(Bn),Me):Me}function db(Me){return oe(Me)}function Km(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,ni=Ac(Me,Hn?Bn&&zn().parenthesizeNonArrayTypeOfPostfixType(Bn):Bn);return ni.postfix=Hn,ni}function Ac(Me,Bn){let Hn=oe(Me);return Hn.type=Bn,Hn}function Xm(Me,Bn,zn){return Bn.type!==zn?Hn(Km(Me,zn,Bn.postfix),Bn):Bn}function mb(Me,Bn,zn){return Bn.type!==zn?Hn(Ac(Me,zn),Bn):Bn}function Ym(Me,Bn){let Hn=Ve(320);return Hn.parameters=xt(Me),Hn.type=Bn,Hn.transformFlags=gt(Hn.parameters)|(Hn.type?1:0),Hn.jsDoc=void 0,Hn.locals=void 0,Hn.nextContainer=void 0,Hn.typeArguments=void 0,Hn}function hb(Me,Bn,zn){return Me.parameters!==Bn||Me.type!==zn?Hn(Ym(Bn,zn),Me):Me}function Qm(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Hn=Ve(325);return Hn.jsDocPropertyTags=xt(Me),Hn.isArrayType=Bn,Hn}function gb(Me,Bn,zn){return Me.jsDocPropertyTags!==Bn||Me.isArrayType!==zn?Hn(Qm(Bn,zn),Me):Me}function Zm(Me){let Bn=oe(312);return Bn.type=Me,Bn}function yb(Me,Bn){return Me.type!==Bn?Hn(Zm(Bn),Me):Me}function eh(Me,Bn,Hn){let zn=Ve(326);return zn.typeParameters=xt(Me),zn.parameters=Ne(Bn),zn.type=Hn,zn.jsDoc=void 0,zn.locals=void 0,zn.nextContainer=void 0,zn}function Hu(Me,Bn,zn,ni){return Me.typeParameters!==Bn||Me.parameters!==zn||Me.type!==ni?Hn(eh(Bn,zn,ni),Me):Me}function fi(Me){let Bn=ed(Me.kind);return Me.tagName.escapedText===vi(Bn)?Me.tagName:Ut(Bn)}function ja(Me,Bn,Hn){let zn=oe(Me);return zn.tagName=Bn,zn.comment=Hn,zn}function Ja(Me,Bn,Hn){let zn=Ve(Me);return zn.tagName=Bn,zn.comment=Hn,zn}function __(Me,Bn,Hn,zn){let ni=ja(348,Me!=null?Me:Ut("template"),zn);return ni.constraint=Bn,ni.typeParameters=Ne(Hn),ni}function Gu(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(Me),zn=arguments.length>2?arguments[2]:void 0,ni=arguments.length>3?arguments[3]:void 0,Ci=arguments.length>4?arguments[4]:void 0;return Me.tagName!==Bn||Me.constraint!==zn||Me.typeParameters!==ni||Me.comment!==Ci?Hn(__(Bn,zn,ni,Ci),Me):Me}function $u(Me,Bn,Hn,zn){let ni=Ja(349,Me!=null?Me:Ut("typedef"),zn);return ni.typeExpression=Bn,ni.fullName=Hn,ni.name=w2(Hn),ni.locals=void 0,ni.nextContainer=void 0,ni}function th(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(Me),zn=arguments.length>2?arguments[2]:void 0,ni=arguments.length>3?arguments[3]:void 0,Ci=arguments.length>4?arguments[4]:void 0;return Me.tagName!==Bn||Me.typeExpression!==zn||Me.fullName!==ni||Me.comment!==Ci?Hn($u(Bn,zn,ni,Ci),Me):Me}function Pc(Me,Bn,Hn,zn,ni,Ci){let ts=Ja(344,Me!=null?Me:Ut("param"),Ci);return ts.typeExpression=zn,ts.name=Bn,ts.isNameFirst=!!ni,ts.isBracketed=Hn,ts}function vb(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(Me),zn=arguments.length>2?arguments[2]:void 0,ni=arguments.length>3?arguments[3]:void 0,Ci=arguments.length>4?arguments[4]:void 0,ts=arguments.length>5?arguments[5]:void 0,Ps=arguments.length>6?arguments[6]:void 0;return Me.tagName!==Bn||Me.name!==zn||Me.isBracketed!==ni||Me.typeExpression!==Ci||Me.isNameFirst!==ts||Me.comment!==Ps?Hn(Pc(Bn,zn,ni,Ci,ts,Ps),Me):Me}function Ku(Me,Bn,Hn,zn,ni,Ci){let ts=Ja(351,Me!=null?Me:Ut("prop"),Ci);return ts.typeExpression=zn,ts.name=Bn,ts.isNameFirst=!!ni,ts.isBracketed=Hn,ts}function bb(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(Me),zn=arguments.length>2?arguments[2]:void 0,ni=arguments.length>3?arguments[3]:void 0,Ci=arguments.length>4?arguments[4]:void 0,ts=arguments.length>5?arguments[5]:void 0,Ps=arguments.length>6?arguments[6]:void 0;return Me.tagName!==Bn||Me.name!==zn||Me.isBracketed!==ni||Me.typeExpression!==Ci||Me.isNameFirst!==ts||Me.comment!==Ps?Hn(Ku(Bn,zn,ni,Ci,ts,Ps),Me):Me}function rh(Me,Bn,Hn,zn){let ni=Ja(341,Me!=null?Me:Ut("callback"),zn);return ni.typeExpression=Bn,ni.fullName=Hn,ni.name=w2(Hn),ni.locals=void 0,ni.nextContainer=void 0,ni}function nh(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(Me),zn=arguments.length>2?arguments[2]:void 0,ni=arguments.length>3?arguments[3]:void 0,Ci=arguments.length>4?arguments[4]:void 0;return Me.tagName!==Bn||Me.typeExpression!==zn||Me.fullName!==ni||Me.comment!==Ci?Hn(rh(Bn,zn,ni,Ci),Me):Me}function ih(Me,Bn,Hn){let zn=ja(342,Me!=null?Me:Ut("overload"),Hn);return zn.typeExpression=Bn,zn}function ah(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(Me),zn=arguments.length>2?arguments[2]:void 0,ni=arguments.length>3?arguments[3]:void 0;return Me.tagName!==Bn||Me.typeExpression!==zn||Me.comment!==ni?Hn(ih(Bn,zn,ni),Me):Me}function sh(Me,Bn,Hn){let zn=ja(331,Me!=null?Me:Ut("augments"),Hn);return zn.class=Bn,zn}function Xu(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(Me),zn=arguments.length>2?arguments[2]:void 0,ni=arguments.length>3?arguments[3]:void 0;return Me.tagName!==Bn||Me.class!==zn||Me.comment!==ni?Hn(sh(Bn,zn,ni),Me):Me}function Yu(Me,Bn,Hn){let zn=ja(332,Me!=null?Me:Ut("implements"),Hn);return zn.class=Bn,zn}function ro(Me,Bn,Hn){let zn=ja(350,Me!=null?Me:Ut("see"),Hn);return zn.name=Bn,zn}function Tb(Me,Bn,zn,ni){return Me.tagName!==Bn||Me.name!==zn||Me.comment!==ni?Hn(ro(Bn,zn,ni),Me):Me}function ws(Me){let Bn=oe(313);return Bn.name=Me,Bn}function Dc(Me,Bn){return Me.name!==Bn?Hn(ws(Bn),Me):Me}function oh(Me,Bn){let Hn=oe(314);return Hn.left=Me,Hn.right=Bn,Hn.transformFlags|=ye(Hn.left)|ye(Hn.right),Hn}function Sb(Me,Bn,zn){return Me.left!==Bn||Me.right!==zn?Hn(oh(Bn,zn),Me):Me}function _h(Me,Bn){let Hn=oe(327);return Hn.name=Me,Hn.text=Bn,Hn}function xb(Me,Bn,zn){return Me.name!==Bn?Hn(_h(Bn,zn),Me):Me}function ch(Me,Bn){let Hn=oe(328);return Hn.name=Me,Hn.text=Bn,Hn}function lh(Me,Bn,zn){return Me.name!==Bn?Hn(ch(Bn,zn),Me):Me}function uh(Me,Bn){let Hn=oe(329);return Hn.name=Me,Hn.text=Bn,Hn}function Eb(Me,Bn,zn){return Me.name!==Bn?Hn(uh(Bn,zn),Me):Me}function wb(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(Me),zn=arguments.length>2?arguments[2]:void 0,ni=arguments.length>3?arguments[3]:void 0;return Me.tagName!==Bn||Me.class!==zn||Me.comment!==ni?Hn(Yu(Bn,zn,ni),Me):Me}function ph(Me,Bn,Hn){return ja(Me,Bn!=null?Bn:Ut(ed(Me)),Hn)}function Cb(Me,Bn){let zn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:fi(Bn),ni=arguments.length>3?arguments[3]:void 0;return Bn.tagName!==zn||Bn.comment!==ni?Hn(ph(Me,zn,ni),Bn):Bn}function fh(Me,Bn,Hn,zn){let ni=ja(Me,Bn!=null?Bn:Ut(ed(Me)),zn);return ni.typeExpression=Hn,ni}function Ab(Me,Bn){let zn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:fi(Bn),ni=arguments.length>3?arguments[3]:void 0,Ci=arguments.length>4?arguments[4]:void 0;return Bn.tagName!==zn||Bn.typeExpression!==ni||Bn.comment!==Ci?Hn(fh(Me,zn,ni,Ci),Bn):Bn}function dh(Me,Bn){return ja(330,Me,Bn)}function Pb(Me,Bn,zn){return Me.tagName!==Bn||Me.comment!==zn?Hn(dh(Bn,zn),Me):Me}function mh(Me,Bn,Hn){let zn=Ja(343,Me!=null?Me:Ut(ed(343)),Hn);return zn.typeExpression=Bn,zn.locals=void 0,zn.nextContainer=void 0,zn}function Db(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(Me),zn=arguments.length>2?arguments[2]:void 0,ni=arguments.length>3?arguments[3]:void 0;return Me.tagName!==Bn||Me.typeExpression!==zn||Me.comment!==ni?Hn(mh(Bn,zn,ni),Me):Me}function hh(Me){let Bn=oe(324);return Bn.text=Me,Bn}function Qu(Me,Bn){return Me.text!==Bn?Hn(hh(Bn),Me):Me}function gh(Me,Bn){let Hn=oe(323);return Hn.comment=Me,Hn.tags=xt(Bn),Hn}function yh(Me,Bn,zn){return Me.comment!==Bn||Me.tags!==zn?Hn(gh(Bn,zn),Me):Me}function Zu(Me,Bn,Hn){let zn=oe(281);return zn.openingElement=Me,zn.children=Ne(Bn),zn.closingElement=Hn,zn.transformFlags|=ye(zn.openingElement)|gt(zn.children)|ye(zn.closingElement)|2,zn}function kb(Me,Bn,zn,ni){return Me.openingElement!==Bn||Me.children!==zn||Me.closingElement!==ni?Hn(Zu(Bn,zn,ni),Me):Me}function c_(Me,Bn,Hn){let zn=oe(282);return zn.tagName=Me,zn.typeArguments=xt(Bn),zn.attributes=Hn,zn.transformFlags|=ye(zn.tagName)|gt(zn.typeArguments)|ye(zn.attributes)|2,zn.typeArguments&&(zn.transformFlags|=1),zn}function vh(Me,Bn,zn,ni){return Me.tagName!==Bn||Me.typeArguments!==zn||Me.attributes!==ni?Hn(c_(Bn,zn,ni),Me):Me}function bh(Me,Bn,Hn){let zn=oe(283);return zn.tagName=Me,zn.typeArguments=xt(Bn),zn.attributes=Hn,zn.transformFlags|=ye(zn.tagName)|gt(zn.typeArguments)|ye(zn.attributes)|2,Bn&&(zn.transformFlags|=1),zn}function Ib(Me,Bn,zn,ni){return Me.tagName!==Bn||Me.typeArguments!==zn||Me.attributes!==ni?Hn(bh(Bn,zn,ni),Me):Me}function on(Me){let Bn=oe(284);return Bn.tagName=Me,Bn.transformFlags|=ye(Bn.tagName)|2,Bn}function Th(Me,Bn){return Me.tagName!==Bn?Hn(on(Bn),Me):Me}function ep(Me,Bn,Hn){let zn=oe(285);return zn.openingFragment=Me,zn.children=Ne(Bn),zn.closingFragment=Hn,zn.transformFlags|=ye(zn.openingFragment)|gt(zn.children)|ye(zn.closingFragment)|2,zn}function Nb(Me,Bn,zn,ni){return Me.openingFragment!==Bn||Me.children!==zn||Me.closingFragment!==ni?Hn(ep(Bn,zn,ni),Me):Me}function l_(Me,Bn){let Hn=oe(11);return Hn.text=Me,Hn.containsOnlyTriviaWhiteSpaces=!!Bn,Hn.transformFlags|=2,Hn}function Ob(Me,Bn,zn){return Me.text!==Bn||Me.containsOnlyTriviaWhiteSpaces!==zn?Hn(l_(Bn,zn),Me):Me}function kc(){let Me=oe(286);return Me.transformFlags|=2,Me}function Mb(){let Me=oe(287);return Me.transformFlags|=2,Me}function Sh(Me,Bn){let Hn=Ve(288);return Hn.name=Me,Hn.initializer=Bn,Hn.transformFlags|=ye(Hn.name)|ye(Hn.initializer)|2,Hn}function Lb(Me,Bn,zn){return Me.name!==Bn||Me.initializer!==zn?Hn(Sh(Bn,zn),Me):Me}function xh(Me){let Bn=Ve(289);return Bn.properties=Ne(Me),Bn.transformFlags|=gt(Bn.properties)|2,Bn}function tp(Me,Bn){return Me.properties!==Bn?Hn(xh(Bn),Me):Me}function no(Me){let Bn=oe(290);return Bn.expression=Me,Bn.transformFlags|=ye(Bn.expression)|2,Bn}function Rb(Me,Bn){return Me.expression!==Bn?Hn(no(Bn),Me):Me}function Ic(Me,Bn){let Hn=oe(291);return Hn.dotDotDotToken=Me,Hn.expression=Bn,Hn.transformFlags|=ye(Hn.dotDotDotToken)|ye(Hn.expression)|2,Hn}function Eh(Me,Bn){return Me.expression!==Bn?Hn(Ic(Me.dotDotDotToken,Bn),Me):Me}function wh(Me,Bn){let Hn=oe(292);return Hn.expression=zn().parenthesizeExpressionForDisallowedComma(Me),Hn.statements=Ne(Bn),Hn.transformFlags|=ye(Hn.expression)|gt(Hn.statements),Hn.jsDoc=void 0,Hn}function rp(Me,Bn,zn){return Me.expression!==Bn||Me.statements!==zn?Hn(wh(Bn,zn),Me):Me}function np(Me){let Bn=oe(293);return Bn.statements=Ne(Me),Bn.transformFlags=gt(Bn.statements),Bn}function jb(Me,Bn){return Me.statements!==Bn?Hn(np(Bn),Me):Me}function Ch(Me,Bn){let Hn=oe(294);switch(Hn.token=Me,Hn.types=Ne(Bn),Hn.transformFlags|=gt(Hn.types),Me){case 94:Hn.transformFlags|=1024;break;case 117:Hn.transformFlags|=1;break;default:return qp.assertNever(Me)}return Hn}function Ah(Me,Bn){return Me.types!==Bn?Hn(Ch(Me.token,Bn),Me):Me}function ip(Me,Bn){let Hn=oe(295);return Hn.variableDeclaration=Xh(Me),Hn.block=Bn,Hn.transformFlags|=ye(Hn.variableDeclaration)|ye(Hn.block)|(Me?0:64),Hn.locals=void 0,Hn.nextContainer=void 0,Hn}function Ph(Me,Bn,zn){return Me.variableDeclaration!==Bn||Me.block!==zn?Hn(ip(Bn,zn),Me):Me}function Fa(Me,Bn){let Hn=Ve(299);return Hn.name=Qt(Me),Hn.initializer=zn().parenthesizeExpressionForDisallowedComma(Bn),Hn.transformFlags|=ai(Hn.name)|ye(Hn.initializer),Hn.modifiers=void 0,Hn.questionToken=void 0,Hn.exclamationToken=void 0,Hn.jsDoc=void 0,Hn}function Jb(Me,Bn,Hn){return Me.name!==Bn||Me.initializer!==Hn?Fb(Fa(Bn,Hn),Me):Me}function Fb(Me,Bn){return Me!==Bn&&(Me.modifiers=Bn.modifiers,Me.questionToken=Bn.questionToken,Me.exclamationToken=Bn.exclamationToken),Hn(Me,Bn)}function Dh(Me,Bn){let Hn=Ve(300);return Hn.name=Qt(Me),Hn.objectAssignmentInitializer=Bn&&zn().parenthesizeExpressionForDisallowedComma(Bn),Hn.transformFlags|=ec(Hn.name)|ye(Hn.objectAssignmentInitializer)|1024,Hn.equalsToken=void 0,Hn.modifiers=void 0,Hn.questionToken=void 0,Hn.exclamationToken=void 0,Hn.jsDoc=void 0,Hn}function Bb(Me,Bn,Hn){return Me.name!==Bn||Me.objectAssignmentInitializer!==Hn?kh(Dh(Bn,Hn),Me):Me}function kh(Me,Bn){return Me!==Bn&&(Me.modifiers=Bn.modifiers,Me.questionToken=Bn.questionToken,Me.exclamationToken=Bn.exclamationToken,Me.equalsToken=Bn.equalsToken),Hn(Me,Bn)}function ap(Me){let Bn=Ve(301);return Bn.expression=zn().parenthesizeExpressionForDisallowedComma(Me),Bn.transformFlags|=ye(Bn.expression)|128|65536,Bn.jsDoc=void 0,Bn}function ki(Me,Bn){return Me.expression!==Bn?Hn(ap(Bn),Me):Me}function sp(Me,Bn){let Hn=Ve(302);return Hn.name=Qt(Me),Hn.initializer=Bn&&zn().parenthesizeExpressionForDisallowedComma(Bn),Hn.transformFlags|=ye(Hn.name)|ye(Hn.initializer)|1,Hn.jsDoc=void 0,Hn}function qb(Me,Bn,zn){return Me.name!==Bn||Me.initializer!==zn?Hn(sp(Bn,zn),Me):Me}function Ub(Me,Hn,zn){let ni=Bn.createBaseSourceFileNode(308);return ni.statements=Ne(Me),ni.endOfFileToken=Hn,ni.flags|=zn,ni.text="",ni.fileName="",ni.path="",ni.resolvedPath="",ni.originalFileName="",ni.languageVersion=0,ni.languageVariant=0,ni.scriptKind=0,ni.isDeclarationFile=!1,ni.hasNoDefaultLib=!1,ni.transformFlags|=gt(ni.statements)|ye(ni.endOfFileToken),ni.locals=void 0,ni.nextContainer=void 0,ni.endFlowNode=void 0,ni.nodeCount=0,ni.identifierCount=0,ni.symbolCount=0,ni.parseDiagnostics=void 0,ni.bindDiagnostics=void 0,ni.bindSuggestionDiagnostics=void 0,ni.lineMap=void 0,ni.externalModuleIndicator=void 0,ni.setExternalModuleIndicator=void 0,ni.pragmas=void 0,ni.checkJsDirective=void 0,ni.referencedFiles=void 0,ni.typeReferenceDirectives=void 0,ni.libReferenceDirectives=void 0,ni.amdDependencies=void 0,ni.commentDirectives=void 0,ni.identifiers=void 0,ni.packageJsonLocations=void 0,ni.packageJsonScope=void 0,ni.imports=void 0,ni.moduleAugmentations=void 0,ni.ambientModuleNames=void 0,ni.resolvedModules=void 0,ni.classifiableNames=void 0,ni.impliedNodeFormat=void 0,ni}function Ih(Me){let Bn=Object.create(Me.redirectTarget);return Object.defineProperties(Bn,{id:{get(){return this.redirectInfo.redirectTarget.id},set(Me){this.redirectInfo.redirectTarget.id=Me}},symbol:{get(){return this.redirectInfo.redirectTarget.symbol},set(Me){this.redirectInfo.redirectTarget.symbol=Me}}}),Bn.redirectInfo=Me,Bn}function Nh(Me){let Bn=Ih(Me.redirectInfo);return Bn.flags|=Me.flags&-9,Bn.fileName=Me.fileName,Bn.path=Me.path,Bn.resolvedPath=Me.resolvedPath,Bn.originalFileName=Me.originalFileName,Bn.packageJsonLocations=Me.packageJsonLocations,Bn.packageJsonScope=Me.packageJsonScope,Bn.emitNode=void 0,Bn}function op(Me){let Hn=Bn.createBaseSourceFileNode(308);Hn.flags|=Me.flags&-9;for(let Bn in Me)if(!(Jr(Hn,Bn)||!Jr(Me,Bn))){if(Bn==="emitNode"){Hn.emitNode=void 0;continue}Hn[Bn]=Me[Bn]}return Hn}function Oh(Me){let Bn=Me.redirectInfo?Nh(Me):op(Me);return Dn(Bn,Me),Bn}function zb(Me,Bn,Hn,zn,ni,Ci,ts){let Ps=Oh(Me);return Ps.statements=Ne(Bn),Ps.isDeclarationFile=Hn,Ps.referencedFiles=zn,Ps.typeReferenceDirectives=ni,Ps.hasNoDefaultLib=Ci,Ps.libReferenceDirectives=ts,Ps.transformFlags=gt(Ps.statements)|ye(Ps.endOfFileToken),Ps}function Mh(Me,Bn){let zn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Me.isDeclarationFile,ni=arguments.length>3&&arguments[3]!==void 0?arguments[3]:Me.referencedFiles,Ci=arguments.length>4&&arguments[4]!==void 0?arguments[4]:Me.typeReferenceDirectives,ts=arguments.length>5&&arguments[5]!==void 0?arguments[5]:Me.hasNoDefaultLib,Ps=arguments.length>6&&arguments[6]!==void 0?arguments[6]:Me.libReferenceDirectives;return Me.statements!==Bn||Me.isDeclarationFile!==zn||Me.referencedFiles!==ni||Me.typeReferenceDirectives!==Ci||Me.hasNoDefaultLib!==ts||Me.libReferenceDirectives!==Ps?Hn(zb(Me,Bn,zn,ni,Ci,ts,Ps),Me):Me}function Lh(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ca,Hn=oe(309);return Hn.prepends=Bn,Hn.sourceFiles=Me,Hn.syntheticFileReferences=void 0,Hn.syntheticTypeReferences=void 0,Hn.syntheticLibReferences=void 0,Hn.hasNoDefaultLib=void 0,Hn}function Wb(Me,Bn){let zn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ca;return Me.sourceFiles!==Bn||Me.prepends!==zn?Hn(Lh(Bn,zn),Me):Me}function Nc(Me,Bn,Hn){let zn=oe(310);return zn.prologues=Me,zn.syntheticReferences=Bn,zn.texts=Hn,zn.fileName="",zn.text="",zn.referencedFiles=ca,zn.libReferenceDirectives=ca,zn.getLineAndCharacterOfPosition=Me=>Ls(zn,Me),zn}function Oc(Me,Bn){let Hn=oe(Me);return Hn.data=Bn,Hn}function Vb(Me){return Oc(303,Me)}function Hb(Me,Bn){let Hn=Oc(304,Me);return Hn.texts=Bn,Hn}function Gb(Me,Bn){return Oc(Bn?306:305,Me)}function $b(Me){let Bn=oe(307);return Bn.data=Me.data,Bn.section=Me,Bn}function Kb(){let Me=oe(311);return Me.javascriptText="",Me.declarationText="",Me}function Rh(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Hn=arguments.length>2?arguments[2]:void 0,zn=oe(234);return zn.type=Me,zn.isSpread=Bn,zn.tupleNameSource=Hn,zn}function jh(Me){let Bn=oe(354);return Bn._children=Me,Bn}function Jh(Me){let Bn=oe(355);return Bn.original=Me,Rt(Bn,Me),Bn}function Fh(Me,Bn){let Hn=oe(356);return Hn.expression=Me,Hn.original=Bn,Hn.transformFlags|=ye(Hn.expression)|1,Rt(Hn,Bn),Hn}function Bh(Me,Bn){return Me.expression!==Bn?Hn(Fh(Bn,Me.original),Me):Me}function qh(Me){if(fs(Me)&&!pl(Me)&&!Me.original&&!Me.emitNode&&!Me.id){if(oc(Me))return Me.elements;if(ur(Me)&&I8(Me.operatorToken))return[Me.left,Me.right]}return Me}function Mc(Me){let Bn=oe(357);return Bn.elements=Ne(at(Me,qh)),Bn.transformFlags|=gt(Bn.elements),Bn}function Xb(Me,Bn){return Me.elements!==Bn?Hn(Mc(Bn),Me):Me}function Yb(Me){let Bn=oe(359);return Bn.emitNode={},Bn.original=Me,Bn}function Qb(Me){let Bn=oe(358);return Bn.emitNode={},Bn.original=Me,Bn}function Uh(Me,Bn){let Hn=oe(360);return Hn.expression=Me,Hn.thisArg=Bn,Hn.transformFlags|=ye(Hn.expression)|ye(Hn.thisArg),Hn}function _p(Me,Bn,zn){return Me.expression!==Bn||Me.thisArg!==zn?Hn(Uh(Bn,zn),Me):Me}function Zb(Me){let Bn=pn(Me.escapedText);return Bn.flags|=Me.flags&-9,Bn.transformFlags=Me.transformFlags,Dn(Bn,Me),setIdentifierAutoGenerate(Bn,Object.assign({},Me.emitNode.autoGenerate)),Bn}function e6(Me){let Bn=pn(Me.escapedText);Bn.flags|=Me.flags&-9,Bn.jsDoc=Me.jsDoc,Bn.flowNode=Me.flowNode,Bn.symbol=Me.symbol,Bn.transformFlags=Me.transformFlags,Dn(Bn,Me);let Hn=getIdentifierTypeArguments(Me);return Hn&&setIdentifierTypeArguments(Bn,Hn),Bn}function t6(Me){let Bn=dn(Me.escapedText);return Bn.flags|=Me.flags&-9,Bn.transformFlags=Me.transformFlags,Dn(Bn,Me),setIdentifierAutoGenerate(Bn,Object.assign({},Me.emitNode.autoGenerate)),Bn}function r6(Me){let Bn=dn(Me.escapedText);return Bn.flags|=Me.flags&-9,Bn.transformFlags=Me.transformFlags,Dn(Bn,Me),Bn}function cp(Me){if(Me===void 0)return Me;if(wi(Me))return Oh(Me);if(cs(Me))return Zb(Me);if(yt(Me))return e6(Me);if(Ny(Me))return t6(Me);if(vn(Me))return r6(Me);let Hn=gl(Me.kind)?Bn.createBaseNode(Me.kind):Bn.createBaseTokenNode(Me.kind);Hn.flags|=Me.flags&-9,Hn.transformFlags=Me.transformFlags,Dn(Hn,Me);for(let Bn in Me)Jr(Hn,Bn)||!Jr(Me,Bn)||(Hn[Bn]=Me[Bn]);return Hn}function n6(Me,Bn,Hn){return Na(yu(void 0,void 0,void 0,void 0,Bn?[Bn]:[],void 0,Zs(Me,!0)),void 0,Hn?[Hn]:[])}function Lc(Me,Bn,Hn){return Na(vu(void 0,void 0,Bn?[Bn]:[],void 0,void 0,Zs(Me,!0)),void 0,Hn?[Hn]:[])}function Rc(){return ui(Gt("0"))}function zh(Me){return zu(void 0,!1,Me)}function i6(Me){return na(void 0,!1,to([Vu(!1,void 0,Me)]))}function a6(Me,Bn){return Bn==="undefined"?tc.createStrictEquality(Me,Rc()):tc.createStrictEquality(mn(Me),er(Bn))}function Ba(Me,Bn,Hn){return Cy(Me)?du(Xs(Me,void 0,Bn),void 0,void 0,Hn):Na(ta(Me,Bn),void 0,Hn)}function s6(Me,Bn,Hn){return Ba(Me,"bind",[Bn,...Hn])}function o6(Me,Bn,Hn){return Ba(Me,"call",[Bn,...Hn])}function _6(Me,Bn,Hn){return Ba(Me,"apply",[Bn,Hn])}function io(Me,Bn,Hn){return Ba(Ut(Me),Bn,Hn)}function Wh(Me,Bn){return Ba(Me,"slice",Bn===void 0?[]:[za(Bn)])}function Vh(Me,Bn){return Ba(Me,"concat",Bn)}function u(Me,Bn,Hn){return io("Object","defineProperty",[Me,za(Bn),Hn])}function b(Me,Bn){return io("Object","getOwnPropertyDescriptor",[Me,za(Bn)])}function O(Me,Bn,Hn){return io("Reflect","get",Hn?[Me,Bn,Hn]:[Me,Bn])}function j(Me,Bn,Hn,zn){return io("Reflect","set",zn?[Me,Bn,Hn,zn]:[Me,Bn,Hn])}function z(Me,Bn,Hn){return Hn?(Me.push(Fa(Bn,Hn)),!0):!1}function re(Me,Bn){let Hn=[];z(Hn,"enumerable",za(Me.enumerable)),z(Hn,"configurable",za(Me.configurable));let zn=z(Hn,"writable",za(Me.writable));zn=z(Hn,"value",Me.value)||zn;let ni=z(Hn,"get",Me.get);return ni=z(Hn,"set",Me.set)||ni,qp.assert(!(zn&&ni),"A PropertyDescriptor may not be both an accessor descriptor and a data descriptor."),r_(Hn,!Bn)}function Ee(Me,Bn){switch(Me.kind){case 214:return qd(Me,Bn);case 213:return Bd(Me,Me.type,Bn);case 231:return Zd(Me,Bn,Me.type);case 235:return Pu(Me,Bn,Me.type);case 232:return Au(Me,Bn);case 356:return Bh(Me,Bn)}}function qe(Me){return qo(Me)&&fs(Me)&&fs(getSourceMapRange(Me))&&fs(getCommentRange(Me))&&!Ke(getSyntheticLeadingComments(Me))&&!Ke(getSyntheticTrailingComments(Me))}function We(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:15;return Me&&yd(Me,Hn)&&!qe(Me)?Ee(Me,We(Me.expression,Bn)):Bn}function $e(Me,Bn,Hn){if(!Bn)return Me;let zn=ym(Bn,Bn.label,tE(Bn.statement)?$e(Me,Bn.statement):Me);return Hn&&Hn(Bn),zn}function lt(Me,Bn){let Hn=Pl(Me);switch(Hn.kind){case 79:return Bn;case 108:case 8:case 9:case 10:return!1;case 206:return Hn.elements.length!==0;case 207:return Hn.properties.length>0;default:return!0}}function Jt(Me,Bn,Hn){let ni=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,Ci=$o(Me,15),ts,Ps;return Sf(Ci)?(ts=Or(),Ps=Ci):nd(Ci)?(ts=Or(),Ps=Hn!==void 0&&Hn<2?Rt(Ut("_super"),Ci):Ci):xi(Ci)&8192?(ts=Rc(),Ps=zn().parenthesizeLeftSideOfAccess(Ci,!1)):bn(Ci)?lt(Ci.expression,ni)?(ts=kn(Bn),Ps=ta(Rt(tc.createAssignment(ts,Ci.expression),Ci.expression),Ci.name),Rt(Ps,Ci)):(ts=Ci.expression,Ps=Ci):gs(Ci)?lt(Ci.expression,ni)?(ts=kn(Bn),Ps=pu(Rt(tc.createAssignment(ts,Ci.expression),Ci.expression),Ci.argumentExpression),Rt(Ps,Ci)):(ts=Ci.expression,Ps=Ci):(ts=Rc(),Ps=zn().parenthesizeLeftSideOfAccess(Me,!1)),{target:Ps,thisArg:ts}}function Lt(Me,Bn){return ta(gu(r_([ci(void 0,"value",[$n(void 0,void 0,Me,void 0,void 0,void 0)],Zs([a_(Bn)]))])),"value")}function At(Me){return Me.length>10?Mc(Me):Qa(Me,tc.createComma)}function kr(Me,Bn,Hn){let zn=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,ni=ml(Me);if(ni&&yt(ni)&&!cs(ni)){let Me=Sa(Rt(cp(ni),ni),ni.parent);return zn|=xi(ni),Hn||(zn|=96),Bn||(zn|=3072),zn&&setEmitFlags(Me,zn),Me}return $i(Me)}function Fn(Me,Bn,Hn){return kr(Me,Bn,Hn,98304)}function di(Me,Bn,Hn){return kr(Me,Bn,Hn,32768)}function Ii(Me,Bn,Hn){return kr(Me,Bn,Hn,16384)}function _n(Me,Bn,Hn){return kr(Me,Bn,Hn)}function qa(Me,Bn,Hn,zn){let ni=ta(Me,fs(Bn)?Bn:cp(Bn));Rt(ni,Bn);let Ci=0;return zn||(Ci|=96),Hn||(Ci|=3072),Ci&&setEmitFlags(ni,Ci),ni}function Hh(Me,Bn,Hn,zn){return Me&&rn(Bn,1)?qa(Me,kr(Bn),Hn,zn):Ii(Bn,Hn,zn)}function lp(Me,Bn,Hn,zn){let ni=Ua(Me,Bn,0,Hn);return up(Me,Bn,ni,zn)}function Gh(Me){return Gn(Me.expression)&&Me.expression.text==="use strict"}function wn(){return vd(a_(er("use strict")))}function Ua(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,zn=arguments.length>3?arguments[3]:void 0;qp.assert(Bn.length===0,"Prologue directives should be at the first statement in the target statements array");let ni=!1,Ci=Me.length;for(;Hn4&&arguments[4]!==void 0?arguments[4]:vp,Ci=Me.length;for(;Hn!==void 0&&HnPs&&oa.splice(ni,0,...Bn.slice(Ps,aa)),Ps>ts&&oa.splice(zn,0,...Bn.slice(ts,Ps)),ts>Ci&&oa.splice(Hn,0,...Bn.slice(Ci,ts)),Ci>0)if(Hn===0)oa.splice(0,0,...Bn.slice(0,Ci));else{let zn=new Map;for(let Bn=0;Bn=0;Me--){let Hn=Bn[Me];zn.has(Hn.expression.text)||oa.unshift(Hn)}}return _s(Me)?Rt(Ne(oa,Me.hasTrailingComma),Me):Me}function Kh(Me,Bn){var Hn;let zn;return typeof Bn=="number"?zn=$r(Bn):zn=Bn,Fo(Me)?wa(Me,zn,Me.name,Me.constraint,Me.default):Vs(Me)?Ki(Me,zn,Me.dotDotDotToken,Me.name,Me.questionToken,Me.type,Me.initializer):Gv(Me)?bt(Me,zn,Me.typeParameters,Me.parameters,Me.type):Wl(Me)?St(Me,zn,Me.name,Me.questionToken,Me.type):Bo(Me)?_t(Me,zn,Me.name,(Hn=Me.questionToken)!=null?Hn:Me.exclamationToken,Me.type,Me.initializer):L8(Me)?Kt(Me,zn,Me.name,Me.questionToken,Me.typeParameters,Me.parameters,Me.type):Vl(Me)?xe(Me,zn,Me.asteriskToken,Me.name,Me.questionToken,Me.typeParameters,Me.parameters,Me.type,Me.body):nc(Me)?It(Me,zn,Me.parameters,Me.body):Gl(Me)?Ln(Me,zn,Me.name,Me.parameters,Me.type,Me.body):ic(Me)?Xi(Me,zn,Me.name,Me.parameters,Me.body):Hv(Me)?bs(Me,zn,Me.parameters,Me.type):ad(Me)?Ud(Me,zn,Me.asteriskToken,Me.name,Me.typeParameters,Me.parameters,Me.type,Me.body):sd(Me)?zd(Me,zn,Me.typeParameters,Me.parameters,Me.type,Me.equalsGreaterThanToken,Me.body):_d(Me)?xc(Me,zn,Me.name,Me.typeParameters,Me.heritageClauses,Me.members):zo(Me)?om(Me,zn,Me.declarationList):Wo(Me)?ju(Me,zn,Me.asteriskToken,Me.name,Me.typeParameters,Me.parameters,Me.type,Me.body):_c(Me)?Ju(Me,zn,Me.name,Me.typeParameters,Me.heritageClauses,Me.members):eu(Me)?Cm(Me,zn,Me.name,Me.typeParameters,Me.heritageClauses,Me.members):n2(Me)?Ma(Me,zn,Me.name,Me.typeParameters,Me.type):i2(Me)?La(Me,zn,Me.name,Me.members):Ea(Me)?Sr(Me,zn,Me.name,Me.body):s2(Me)?Nm(Me,zn,Me.isTypeOnly,Me.name,Me.moduleReference):o2(Me)?Mm(Me,zn,Me.importClause,Me.moduleSpecifier,Me.assertClause):Vo(Me)?Wu(Me,zn,Me.expression):cc(Me)?Wm(Me,zn,Me.isTypeOnly,Me.exportClause,Me.moduleSpecifier,Me.assertClause):qp.assertNever(Me)}function xt(Me){return Me?Ne(Me):void 0}function Qt(Me){return typeof Me=="string"?Ut(Me):Me}function za(Me){return typeof Me=="string"?er(Me):typeof Me=="number"?Gt(Me):typeof Me=="boolean"?Me?ar():oi():Me}function Wa(Me){return Me&&zn().parenthesizeExpressionForDisallowedComma(Me)}function c6(Me){return typeof Me=="number"?pr(Me):Me}function Yn(Me){return Me&&c2(Me)?Rt(Dn(Du(),Me),Me):Me}function Xh(Me){return typeof Me=="string"||Me&&!Vi(Me)?Cc(Me,void 0,void 0,void 0):Me}}function JL(Me,Bn){return Me!==Bn&&Rt(Me,Bn),Me}function FL(Me,Bn){return Me!==Bn&&(Dn(Me,Bn),Rt(Me,Bn)),Me}function ed(Me){switch(Me){case 347:return"type";case 345:return"returns";case 346:return"this";case 343:return"enum";case 333:return"author";case 335:return"class";case 336:return"public";case 337:return"private";case 338:return"protected";case 339:return"readonly";case 340:return"override";case 348:return"template";case 349:return"typedef";case 344:return"param";case 351:return"prop";case 341:return"callback";case 342:return"overload";case 331:return"augments";case 332:return"implements";default:return qp.fail(`Unsupported kind: ${qp.formatSyntaxKind(Me)}`)}}function BL(Me,Bn){switch(mw||(mw=Po(99,!1,0)),Me){case 14:mw.setText("`"+Bn+"`");break;case 15:mw.setText("`"+Bn+"${");break;case 16:mw.setText("}"+Bn+"${");break;case 17:mw.setText("}"+Bn+"`");break}let Hn=mw.scan();if(Hn===19&&(Hn=mw.reScanTemplateToken(!1)),mw.isUnterminated())return mw.setText(void 0),gw;let zn;switch(Hn){case 14:case 15:case 16:case 17:zn=mw.getTokenValue();break}return zn===void 0||mw.scan()!==1?(mw.setText(void 0),gw):(mw.setText(void 0),zn)}function ai(Me){return Me&&yt(Me)?ec(Me):ye(Me)}function ec(Me){return ye(Me)&-67108865}function qL(Me,Bn){return Bn|Me.transformFlags&134234112}function ye(Me){if(!Me)return 0;let Bn=Me.transformFlags&~w8(Me.kind);return af(Me)&&vl(Me.name)?qL(Me.name,Bn):Bn}function gt(Me){return Me?Me.transformFlags:0}function E8(Me){let Bn=0;for(let Hn of Me)Bn|=ye(Hn);Me.transformFlags=Bn}function w8(Me){if(Me>=179&&Me<=202)return-2;switch(Me){case 210:case 211:case 206:return-2147450880;case 264:return-1941676032;case 166:return-2147483648;case 216:return-2072174592;case 215:case 259:return-1937940480;case 258:return-2146893824;case 260:case 228:return-2147344384;case 173:return-1937948672;case 169:return-2013249536;case 171:case 174:case 175:return-2005057536;case 131:case 148:case 160:case 144:case 152:case 149:case 134:case 153:case 114:case 165:case 168:case 170:case 176:case 177:case 178:case 261:case 262:return-2;case 207:return-2147278848;case 295:return-2147418112;case 203:case 204:return-2147450880;case 213:case 235:case 231:case 356:case 214:case 106:return-2147483648;case 208:case 209:return-2147483648;default:return-2147483648}}function Fl(Me){return Me.flags|=8,Me}function UL(Me,Bn,Hn){let zn,ni,Ci,ts,Ps,aa,oa,ca,_a,xa;Ji(Me)?(Ci="",ts=Me,Ps=Me.length,aa=Bn,oa=Hn):(qp.assert(Bn==="js"||Bn==="dts"),Ci=(Bn==="js"?Me.javascriptPath:Me.declarationPath)||"",aa=Bn==="js"?Me.javascriptMapPath:Me.declarationMapPath,ca=()=>Bn==="js"?Me.javascriptText:Me.declarationText,_a=()=>Bn==="js"?Me.javascriptMapText:Me.declarationMapText,Ps=()=>ca().length,Me.buildInfo&&Me.buildInfo.bundle&&(qp.assert(Hn===void 0||typeof Hn=="boolean"),zn=Hn,ni=Bn==="js"?Me.buildInfo.bundle.js:Me.buildInfo.bundle.dts,xa=Me.oldFileOfCurrentEmit));let Ga=xa?WL(qp.checkDefined(ni)):zL(ni,zn,Ps);return Ga.fileName=Ci,Ga.sourceMapPath=aa,Ga.oldFileOfCurrentEmit=xa,ca&&_a?(Object.defineProperty(Ga,"text",{get:ca}),Object.defineProperty(Ga,"sourceMapText",{get:_a})):(qp.assert(!xa),Ga.text=ts!=null?ts:"",Ga.sourceMapText=oa),Ga}function zL(Me,Bn,Hn){let zn,ni,Ci,ts,Ps,aa,oa,_a;for(let Hn of Me?Me.sections:ca)switch(Hn.kind){case"prologue":zn=tr(zn,Rt(vw.createUnparsedPrologue(Hn.data),Hn));break;case"emitHelpers":ni=tr(ni,getAllUnscopedEmitHelpers().get(Hn.data));break;case"no-default-lib":_a=!0;break;case"reference":Ci=tr(Ci,{pos:-1,end:-1,fileName:Hn.data});break;case"type":ts=tr(ts,{pos:-1,end:-1,fileName:Hn.data});break;case"type-import":ts=tr(ts,{pos:-1,end:-1,fileName:Hn.data,resolutionMode:99});break;case"type-require":ts=tr(ts,{pos:-1,end:-1,fileName:Hn.data,resolutionMode:1});break;case"lib":Ps=tr(Ps,{pos:-1,end:-1,fileName:Hn.data});break;case"prepend":let Me;for(let zn of Hn.texts)(!Bn||zn.kind!=="internal")&&(Me=tr(Me,Rt(vw.createUnparsedTextLike(zn.data,zn.kind==="internal"),zn)));aa=jr(aa,Me),oa=tr(oa,vw.createUnparsedPrepend(Hn.data,Me!=null?Me:ca));break;case"internal":if(Bn){oa||(oa=[]);break}case"text":oa=tr(oa,Rt(vw.createUnparsedTextLike(Hn.data,Hn.kind==="internal"),Hn));break;default:qp.assertNever(Hn)}if(!oa){let Me=vw.createUnparsedTextLike(void 0,!1);$f(Me,0,typeof Hn=="function"?Hn():Hn),oa=[Me]}let xa=Qw.createUnparsedSource(zn!=null?zn:ca,void 0,oa);return Q_(zn,xa),Q_(oa,xa),Q_(aa,xa),xa.hasNoDefaultLib=_a,xa.helpers=ni,xa.referencedFiles=Ci||ca,xa.typeReferenceDirectives=ts,xa.libReferenceDirectives=Ps||ca,xa}function WL(Me){let Bn,Hn;for(let zn of Me.sections)switch(zn.kind){case"internal":case"text":Bn=tr(Bn,Rt(vw.createUnparsedTextLike(zn.data,zn.kind==="internal"),zn));break;case"no-default-lib":case"reference":case"type":case"type-import":case"type-require":case"lib":Hn=tr(Hn,Rt(vw.createUnparsedSyntheticReference(zn),zn));break;case"prologue":case"emitHelpers":case"prepend":break;default:qp.assertNever(zn)}let zn=vw.createUnparsedSource(ca,Hn,Bn!=null?Bn:ca);return Q_(Hn,zn),Q_(Bn,zn),zn.helpers=Ze(Me.sources&&Me.sources.helpers,(Me=>getAllUnscopedEmitHelpers().get(Me))),zn}function VL(Me,Bn,Hn,zn,ni,Ci){return Ji(Me)?A8(void 0,Me,Hn,zn,void 0,Bn,ni,Ci):C8(Me,Bn,Hn,zn,ni,Ci)}function C8(Me,Bn,Hn,zn,ni,Ci,ts,Ps){let aa=Qw.createInputFiles();aa.javascriptPath=Bn,aa.javascriptMapPath=Hn,aa.declarationPath=zn,aa.declarationMapPath=ni,aa.buildInfoPath=Ci;let oa=new Map,N=Bn=>{if(Bn===void 0)return;let Hn=oa.get(Bn);return Hn===void 0&&(Hn=Me(Bn),oa.set(Bn,Hn!==void 0?Hn:!1)),Hn!==!1?Hn:void 0},X=Me=>{let Bn=N(Me);return Bn!==void 0?Bn:`/* Input file ${Me} was missing */\r\n`},ca;return Object.defineProperties(aa,{javascriptText:{get:()=>X(Bn)},javascriptMapText:{get:()=>N(Hn)},declarationText:{get:()=>X(qp.checkDefined(zn))},declarationMapText:{get:()=>N(ni)},buildInfo:{get:()=>{var Me,Bn;if(ca===void 0&&Ci)if(ts!=null&&ts.getBuildInfo)ca=(Me=ts.getBuildInfo(Ci,Ps.configFilePath))!=null?Me:!1;else{let Me=N(Ci);ca=Me!==void 0&&(Bn=getBuildInfo(Ci,Me))!=null?Bn:!1}return ca||void 0}}}),aa}function A8(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa,oa,ca){let _a=Qw.createInputFiles();return _a.javascriptPath=Me,_a.javascriptText=Bn,_a.javascriptMapPath=Hn,_a.javascriptMapText=zn,_a.declarationPath=ni,_a.declarationText=Ci,_a.declarationMapPath=ts,_a.declarationMapText=Ps,_a.buildInfoPath=aa,_a.buildInfo=oa,_a.oldFileOfCurrentEmit=ca,_a}function HL(Me,Bn,Hn){return new(Ew||(Ew=MC.getSourceMapSourceConstructor()))(Me,Bn,Hn)}function Dn(Me,Bn){if(Me.original=Bn,Bn){let Hn=Bn.emitNode;Hn&&(Me.emitNode=GL(Hn,Me.emitNode))}return Me}function GL(Me,Bn){let{flags:Hn,internalFlags:zn,leadingComments:ni,trailingComments:Ci,commentRange:ts,sourceMapRange:Ps,tokenSourceMapRanges:aa,constantValue:oa,helpers:ca,startsOnNewLine:_a,snippetElement:xa}=Me;if(Bn||(Bn={}),ni&&(Bn.leadingComments=jr(ni.slice(),Bn.leadingComments)),Ci&&(Bn.trailingComments=jr(Ci.slice(),Bn.trailingComments)),Hn&&(Bn.flags=Hn),zn&&(Bn.internalFlags=zn&-9),ts&&(Bn.commentRange=ts),Ps&&(Bn.sourceMapRange=Ps),aa&&(Bn.tokenSourceMapRanges=$L(aa,Bn.tokenSourceMapRanges)),oa!==void 0&&(Bn.constantValue=oa),ca)for(let Me of ca)Bn.helpers=g_(Bn.helpers,Me);return _a!==void 0&&(Bn.startsOnNewLine=_a),xa!==void 0&&(Bn.snippetElement=xa),Bn}function $L(Me,Bn){Bn||(Bn=[]);for(let Hn in Me)Bn[Hn]=Me[Hn];return Bn}var dw,hw,Aw,mw,gw,_w,yw,vw,Ew,bw=D({"src/compiler/factory/nodeFactory.ts"(){"use strict";Gw(),dw=0,hw=(Me=>(Me[Me.None=0]="None",Me[Me.NoParenthesizerRules=1]="NoParenthesizerRules",Me[Me.NoNodeConverters=2]="NoNodeConverters",Me[Me.NoIndentationOnFreshPropertyAccess=4]="NoIndentationOnFreshPropertyAccess",Me[Me.NoOriginalNode=8]="NoOriginalNode",Me))(hw||{}),Aw=[],gw={},_w=S8(),yw={createBaseSourceFileNode:Me=>Fl(_w.createBaseSourceFileNode(Me)),createBaseIdentifierNode:Me=>Fl(_w.createBaseIdentifierNode(Me)),createBasePrivateIdentifierNode:Me=>Fl(_w.createBasePrivateIdentifierNode(Me)),createBaseTokenNode:Me=>Fl(_w.createBaseTokenNode(Me)),createBaseNode:Me=>Fl(_w.createBaseNode(Me))},vw=Zf(4,yw)}}),XL=()=>{},YL=()=>{};function zs(Me){return Me.kind===8}function Uv(Me){return Me.kind===9}function Gn(Me){return Me.kind===10}function td(Me){return Me.kind===11}function QL(Me){return Me.kind===13}function k8(Me){return Me.kind===14}function ZL(Me){return Me.kind===15}function eR(Me){return Me.kind===16}function tR(Me){return Me.kind===17}function rR(Me){return Me.kind===25}function I8(Me){return Me.kind===27}function zv(Me){return Me.kind===39}function Wv(Me){return Me.kind===40}function nR(Me){return Me.kind===41}function rd(Me){return Me.kind===53}function ql(Me){return Me.kind===57}function iR(Me){return Me.kind===58}function aR(Me){return Me.kind===28}function sR(Me){return Me.kind===38}function yt(Me){return Me.kind===79}function vn(Me){return Me.kind===80}function N8(Me){return Me.kind===93}function oR(Me){return Me.kind===88}function Ul(Me){return Me.kind===132}function _R(Me){return Me.kind===129}function cR(Me){return Me.kind===133}function O8(Me){return Me.kind===146}function lR(Me){return Me.kind===124}function uR(Me){return Me.kind===126}function pR(Me){return Me.kind===161}function fR(Me){return Me.kind===127}function nd(Me){return Me.kind===106}function M8(Me){return Me.kind===100}function dR(Me){return Me.kind===82}function rc(Me){return Me.kind===163}function Ws(Me){return Me.kind===164}function Fo(Me){return Me.kind===165}function Vs(Me){return Me.kind===166}function zl(Me){return Me.kind===167}function Wl(Me){return Me.kind===168}function Bo(Me){return Me.kind===169}function L8(Me){return Me.kind===170}function Vl(Me){return Me.kind===171}function Hl(Me){return Me.kind===172}function nc(Me){return Me.kind===173}function Gl(Me){return Me.kind===174}function ic(Me){return Me.kind===175}function Vv(Me){return Me.kind===176}function R8(Me){return Me.kind===177}function Hv(Me){return Me.kind===178}function j8(Me){return Me.kind===179}function ac(Me){return Me.kind===180}function $l(Me){return Me.kind===181}function Gv(Me){return Me.kind===182}function J8(Me){return Me.kind===183}function id(Me){return Me.kind===184}function F8(Me){return Me.kind===185}function B8(Me){return Me.kind===186}function $v(Me){return Me.kind===199}function q8(Me){return Me.kind===187}function U8(Me){return Me.kind===188}function z8(Me){return Me.kind===189}function W8(Me){return Me.kind===190}function V8(Me){return Me.kind===191}function H8(Me){return Me.kind===192}function Kv(Me){return Me.kind===193}function Xv(Me){return Me.kind===194}function G8(Me){return Me.kind===195}function $8(Me){return Me.kind===196}function K8(Me){return Me.kind===197}function Yv(Me){return Me.kind===198}function Kl(Me){return Me.kind===202}function mR(Me){return Me.kind===201}function hR(Me){return Me.kind===200}function gR(Me){return Me.kind===203}function yR(Me){return Me.kind===204}function Xl(Me){return Me.kind===205}function Yl(Me){return Me.kind===206}function Hs(Me){return Me.kind===207}function bn(Me){return Me.kind===208}function gs(Me){return Me.kind===209}function sc(Me){return Me.kind===210}function X8(Me){return Me.kind===211}function Y8(Me){return Me.kind===212}function vR(Me){return Me.kind===213}function qo(Me){return Me.kind===214}function ad(Me){return Me.kind===215}function sd(Me){return Me.kind===216}function bR(Me){return Me.kind===217}function TR(Me){return Me.kind===218}function Qv(Me){return Me.kind===219}function SR(Me){return Me.kind===220}function od(Me){return Me.kind===221}function Q8(Me){return Me.kind===222}function ur(Me){return Me.kind===223}function xR(Me){return Me.kind===224}function ER(Me){return Me.kind===225}function wR(Me){return Me.kind===226}function Zv(Me){return Me.kind===227}function _d(Me){return Me.kind===228}function cd(Me){return Me.kind===229}function e2(Me){return Me.kind===230}function CR(Me){return Me.kind===231}function AR(Me){return Me.kind===235}function Uo(Me){return Me.kind===232}function t2(Me){return Me.kind===233}function PR(Me){return Me.kind===234}function Z8(Me){return Me.kind===356}function oc(Me){return Me.kind===357}function DR(Me){return Me.kind===236}function kR(Me){return Me.kind===237}function Ql(Me){return Me.kind===238}function zo(Me){return Me.kind===240}function IR(Me){return Me.kind===239}function Zl(Me){return Me.kind===241}function NR(Me){return Me.kind===242}function OR(Me){return Me.kind===243}function MR(Me){return Me.kind===244}function eE(Me){return Me.kind===245}function LR(Me){return Me.kind===246}function RR(Me){return Me.kind===247}function jR(Me){return Me.kind===248}function JR(Me){return Me.kind===249}function FR(Me){return Me.kind===250}function BR(Me){return Me.kind===251}function qR(Me){return Me.kind===252}function tE(Me){return Me.kind===253}function UR(Me){return Me.kind===254}function zR(Me){return Me.kind===255}function WR(Me){return Me.kind===256}function Vi(Me){return Me.kind===257}function r2(Me){return Me.kind===258}function Wo(Me){return Me.kind===259}function _c(Me){return Me.kind===260}function eu(Me){return Me.kind===261}function n2(Me){return Me.kind===262}function i2(Me){return Me.kind===263}function Ea(Me){return Me.kind===264}function rE(Me){return Me.kind===265}function VR(Me){return Me.kind===266}function a2(Me){return Me.kind===267}function s2(Me){return Me.kind===268}function o2(Me){return Me.kind===269}function HR(Me){return Me.kind===270}function GR(Me){return Me.kind===298}function $R(Me){return Me.kind===296}function KR(Me){return Me.kind===297}function _2(Me){return Me.kind===271}function ld(Me){return Me.kind===277}function XR(Me){return Me.kind===272}function nE(Me){return Me.kind===273}function Vo(Me){return Me.kind===274}function cc(Me){return Me.kind===275}function iE(Me){return Me.kind===276}function aE(Me){return Me.kind===278}function YR(Me){return Me.kind===279}function c2(Me){return Me.kind===355}function QR(Me){return Me.kind===360}function ZR(Me){return Me.kind===358}function ej(Me){return Me.kind===359}function ud(Me){return Me.kind===280}function l2(Me){return Me.kind===281}function tj(Me){return Me.kind===282}function tu(Me){return Me.kind===283}function sE(Me){return Me.kind===284}function pd(Me){return Me.kind===285}function u2(Me){return Me.kind===286}function rj(Me){return Me.kind===287}function nj(Me){return Me.kind===288}function p2(Me){return Me.kind===289}function ij(Me){return Me.kind===290}function aj(Me){return Me.kind===291}function sj(Me){return Me.kind===292}function oE(Me){return Me.kind===293}function ru(Me){return Me.kind===294}function oj(Me){return Me.kind===295}function lc(Me){return Me.kind===299}function nu(Me){return Me.kind===300}function _E(Me){return Me.kind===301}function cE(Me){return Me.kind===302}function _j(Me){return Me.kind===304}function wi(Me){return Me.kind===308}function cj(Me){return Me.kind===309}function lj(Me){return Me.kind===310}function lE(Me){return Me.kind===312}function fd(Me){return Me.kind===313}function uc(Me){return Me.kind===314}function uj(Me){return Me.kind===327}function pj(Me){return Me.kind===328}function fj(Me){return Me.kind===329}function dj(Me){return Me.kind===315}function mj(Me){return Me.kind===316}function uE(Me){return Me.kind===317}function hj(Me){return Me.kind===318}function gj(Me){return Me.kind===319}function dd(Me){return Me.kind===320}function yj(Me){return Me.kind===321}function vj(Me){return Me.kind===322}function Ho(Me){return Me.kind===323}function f2(Me){return Me.kind===325}function iu(Me){return Me.kind===326}function md(Me){return Me.kind===331}function bj(Me){return Me.kind===333}function pE(Me){return Me.kind===335}function Tj(Me){return Me.kind===341}function d2(Me){return Me.kind===336}function m2(Me){return Me.kind===337}function h2(Me){return Me.kind===338}function g2(Me){return Me.kind===339}function fE(Me){return Me.kind===340}function y2(Me){return Me.kind===342}function v2(Me){return Me.kind===334}function Sj(Me){return Me.kind===350}function dE(Me){return Me.kind===343}function pc(Me){return Me.kind===344}function b2(Me){return Me.kind===345}function mE(Me){return Me.kind===346}function au(Me){return Me.kind===347}function Go(Me){return Me.kind===348}function xj(Me){return Me.kind===349}function Ej(Me){return Me.kind===330}function wj(Me){return Me.kind===351}function hE(Me){return Me.kind===332}function T2(Me){return Me.kind===353}function Cj(Me){return Me.kind===352}function Aj(Me){return Me.kind===354}var Cw=D({"src/compiler/factory/nodeTests.ts"(){"use strict";Gw()}});function Dj(Me){return Me.createExportDeclaration(void 0,!1,Me.createNamedExports([]),void 0)}function hd(Me,Bn,Hn,zn){if(Ws(Hn))return Rt(Me.createElementAccessExpression(Bn,Hn.expression),zn);{let zn=Rt(js(Hn)?Me.createPropertyAccessExpression(Bn,Hn):Me.createElementAccessExpression(Bn,Hn),Hn);return addEmitFlags(zn,128),zn}}function S2(Me,Bn){let Hn=Qw.createIdentifier(Me||"React");return Sa(Hn,fl(Bn)),Hn}function x2(Me,Bn,Hn){if(rc(Bn)){let zn=x2(Me,Bn.left,Hn),ni=Me.createIdentifier(qr(Bn.right));return ni.escapedText=Bn.right.escapedText,Me.createPropertyAccessExpression(zn,ni)}else return S2(qr(Bn),Hn)}function gE(Me,Bn,Hn,zn){return Bn?x2(Me,Bn,zn):Me.createPropertyAccessExpression(S2(Hn,zn),"createElement")}function kj(Me,Bn,Hn,zn){return Bn?x2(Me,Bn,zn):Me.createPropertyAccessExpression(S2(Hn,zn),"Fragment")}function Ij(Me,Bn,Hn,zn,ni,Ci){let ts=[Hn];if(zn&&ts.push(zn),ni&&ni.length>0)if(zn||ts.push(Me.createNull()),ni.length>1)for(let Me of ni)vd(Me),ts.push(Me);else ts.push(ni[0]);return Rt(Me.createCallExpression(Bn,void 0,ts),Ci)}function Nj(Me,Bn,Hn,zn,ni,Ci,ts){let Ps=[kj(Me,Hn,zn,Ci),Me.createNull()];if(ni&&ni.length>0)if(ni.length>1)for(let Me of ni)vd(Me),Ps.push(Me);else Ps.push(ni[0]);return Rt(Me.createCallExpression(gE(Me,Bn,zn,Ci),void 0,Ps),ts)}function Oj(Me,Bn,Hn){if(r2(Bn)){let zn=fo(Bn.declarations),ni=Me.updateVariableDeclaration(zn,zn.name,void 0,void 0,Hn);return Rt(Me.createVariableStatement(void 0,Me.updateVariableDeclarationList(Bn,[ni])),Bn)}else{let zn=Rt(Me.createAssignment(Bn,Hn),Bn);return Rt(Me.createExpressionStatement(zn),Bn)}}function Mj(Me,Bn,Hn){return Ql(Bn)?Me.updateBlock(Bn,Rt(Me.createNodeArray([Hn,...Bn.statements]),Bn.statements)):Me.createBlock(Me.createNodeArray([Bn,Hn]),!0)}function yE(Me,Bn){if(rc(Bn)){let Hn=yE(Me,Bn.left),zn=Sa(Rt(Me.cloneNode(Bn.right),Bn.right),Bn.right.parent);return Rt(Me.createPropertyAccessExpression(Hn,zn),Bn)}else return Sa(Rt(Me.cloneNode(Bn),Bn),Bn.parent)}function vE(Me,Bn){return yt(Bn)?Me.createStringLiteralFromNode(Bn):Ws(Bn)?Sa(Rt(Me.cloneNode(Bn.expression),Bn.expression),Bn.expression.parent):Sa(Rt(Me.cloneNode(Bn),Bn),Bn.parent)}function Lj(Me,Bn,Hn,zn,ni){let{firstAccessor:Ci,getAccessor:ts,setAccessor:Ps}=W0(Bn,Hn);if(Hn===Ci)return Rt(Me.createObjectDefinePropertyCall(zn,vE(Me,Hn.name),Me.createPropertyDescriptor({enumerable:Me.createFalse(),configurable:!0,get:ts&&Rt(Dn(Me.createFunctionExpression(sf(ts),void 0,void 0,void 0,ts.parameters,void 0,ts.body),ts),ts),set:Ps&&Rt(Dn(Me.createFunctionExpression(sf(Ps),void 0,void 0,void 0,Ps.parameters,void 0,Ps.body),Ps),Ps)},!ni)),Ci)}function Rj(Me,Bn,Hn){return Dn(Rt(Me.createAssignment(hd(Me,Hn,Bn.name,Bn.name),Bn.initializer),Bn),Bn)}function jj(Me,Bn,Hn){return Dn(Rt(Me.createAssignment(hd(Me,Hn,Bn.name,Bn.name),Me.cloneNode(Bn.name)),Bn),Bn)}function Jj(Me,Bn,Hn){return Dn(Rt(Me.createAssignment(hd(Me,Hn,Bn.name,Bn.name),Dn(Rt(Me.createFunctionExpression(sf(Bn),Bn.asteriskToken,void 0,void 0,Bn.parameters,void 0,Bn.body),Bn),Bn)),Bn),Bn)}function Fj(Me,Bn,Hn,zn){switch(Hn.name&&vn(Hn.name)&&qp.failBadSyntaxKind(Hn.name,"Private identifiers are not allowed in object literals."),Hn.kind){case 174:case 175:return Lj(Me,Bn.properties,Hn,zn,!!Bn.multiLine);case 299:return Rj(Me,Hn,zn);case 300:return jj(Me,Hn,zn);case 171:return Jj(Me,Hn,zn)}}function Bj(Me,Bn,Hn,zn,ni){let Ci=Bn.operator;qp.assert(Ci===45||Ci===46,"Expected 'node' to be a pre- or post-increment or pre- or post-decrement expression");let ts=Me.createTempVariable(zn);Hn=Me.createAssignment(ts,Hn),Rt(Hn,Bn.operand);let Ps=od(Bn)?Me.createPrefixUnaryExpression(Ci,ts):Me.createPostfixUnaryExpression(ts,Ci);return Rt(Ps,Bn),ni&&(Ps=Me.createAssignment(ni,Ps),Rt(Ps,Bn)),Hn=Me.createComma(Hn,Ps),Rt(Hn,Bn),Q8(Bn)&&(Hn=Me.createComma(Hn,ts),Rt(Hn,Bn)),Hn}function qj(Me){return(xi(Me)&65536)!==0}function E2(Me){return(xi(Me)&32768)!==0}function Uj(Me){return(xi(Me)&16384)!==0}function bE(Me){return Gn(Me.expression)&&Me.expression.text==="use strict"}function TE(Me){for(let Bn of Me)if(us(Bn)){if(bE(Bn))return Bn}else break}function SE(Me){let Bn=pa(Me);return Bn!==void 0&&us(Bn)&&bE(Bn)}function gd(Me){return Me.kind===223&&Me.operatorToken.kind===27}function zj(Me){return gd(Me)||oc(Me)}function xE(Me){return qo(Me)&&Pr(Me)&&!!_f(Me)}function Wj(Me){let Bn=cf(Me);return qp.assertIsDefined(Bn),Bn}function yd(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:15;switch(Me.kind){case 214:return Bn&16&&xE(Me)?!1:(Bn&1)!==0;case 213:case 231:case 230:case 235:return(Bn&2)!==0;case 232:return(Bn&4)!==0;case 356:return(Bn&8)!==0}return!1}function $o(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:15;for(;yd(Me,Bn);)Me=Me.expression;return Me}function Vj(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:15,Hn=Me.parent;for(;yd(Hn,Bn);)Hn=Hn.parent,qp.assert(Hn);return Hn}function Hj(Me){return $o(Me,6)}function vd(Me){return setStartsOnNewLine(Me,!0)}function EE(Me){let Bn=ul(Me,wi),Hn=Bn&&Bn.emitNode;return Hn&&Hn.externalHelpersModuleName}function Gj(Me){let Bn=ul(Me,wi),Hn=Bn&&Bn.emitNode;return!!Hn&&(!!Hn.externalHelpersModuleName||!!Hn.externalHelpers)}function $j(Me,Bn,Hn,zn,ni,Ci,ts){if(zn.importHelpers&&Yy(Hn,zn)){let Ps,aa=Ei(zn);if(aa>=5&&aa<=99||Hn.impliedNodeFormat===99){let zn=getEmitHelpers(Hn);if(zn){let ni=[];for(let Me of zn)if(!Me.scoped){let Bn=Me.importName;Bn&&qn(ni,Bn)}if(Ke(ni)){ni.sort(ri),Ps=Me.createNamedImports(Ze(ni,(zn=>m3(Hn,zn)?Me.createImportSpecifier(!1,void 0,Me.createIdentifier(zn)):Me.createImportSpecifier(!1,Me.createIdentifier(zn),Bn.getUnscopedHelperName(zn)))));let zn=ul(Hn,wi),Ci=getOrCreateEmitNode(zn);Ci.externalHelpers=!0}}}else{let Bn=wE(Me,Hn,zn,ni,Ci||ts);Bn&&(Ps=Me.createNamespaceImport(Bn))}if(Ps){let Bn=Me.createImportDeclaration(void 0,Me.createImportClause(!1,void 0,Ps),Me.createStringLiteral(dC),void 0);return addInternalEmitFlags(Bn,2),Bn}}}function wE(Me,Bn,Hn,zn,ni){if(Hn.importHelpers&&Yy(Bn,Hn)){let Ci=EE(Bn);if(Ci)return Ci;let ts=Ei(Hn),Ps=(zn||ov(Hn)&&ni)&&ts!==4&&(ts<5||Bn.impliedNodeFormat===1);if(!Ps){let Me=getEmitHelpers(Bn);if(Me){for(let Bn of Me)if(!Bn.scoped){Ps=!0;break}}}if(Ps){let Hn=ul(Bn,wi),zn=getOrCreateEmitNode(Hn);return zn.externalHelpersModuleName||(zn.externalHelpersModuleName=Me.createUniqueName(dC))}}}function Kj(Me,Bn,Hn){let zn=Q3(Bn);if(zn&&!Z3(Bn)&&!b3(Bn)){let Bn=zn.name;return cs(Bn)?Bn:Me.createIdentifier(No(Hn,Bn)||qr(Bn))}if(Bn.kind===269&&Bn.importClause||Bn.kind===275&&Bn.moduleSpecifier)return Me.getGeneratedNameForNode(Bn)}function Xj(Me,Bn,Hn,zn,ni,Ci){let ts=E0(Bn);if(ts&&Gn(ts))return Qj(Bn,zn,Me,ni,Ci)||Yj(Me,ts,Hn)||Me.cloneNode(ts)}function Yj(Me,Bn,Hn){let zn=Hn.renamedDependencies&&Hn.renamedDependencies.get(Bn.text);return zn?Me.createStringLiteral(zn):void 0}function CE(Me,Bn,Hn,zn){if(Bn){if(Bn.moduleName)return Me.createStringLiteral(Bn.moduleName);if(!Bn.isDeclarationFile&&B0(zn))return Me.createStringLiteral(F0(Hn,Bn.fileName))}}function Qj(Me,Bn,Hn,zn,ni){return CE(Hn,zn.getExternalModuleFileFromDeclaration(Me),Bn,ni)}function AE(Me){if(Fy(Me))return Me.initializer;if(lc(Me)){let Bn=Me.initializer;return ms(Bn,!0)?Bn.right:void 0}if(nu(Me))return Me.objectAssignmentInitializer;if(ms(Me,!0))return Me.right;if(Zv(Me))return AE(Me.expression)}function Ko(Me){if(Fy(Me))return Me.name;if(jy(Me)){switch(Me.kind){case 299:return Ko(Me.initializer);case 300:return Me.name;case 301:return Ko(Me.expression)}return}return ms(Me,!0)?Ko(Me.left):Zv(Me)?Ko(Me.expression):Me}function Zj(Me){switch(Me.kind){case 166:case 205:return Me.dotDotDotToken;case 227:case 301:return Me}}function eJ(Me){let Bn=PE(Me);return qp.assert(!!Bn||_E(Me),"Invalid property name for binding element."),Bn}function PE(Me){switch(Me.kind){case 205:if(Me.propertyName){let Bn=Me.propertyName;return vn(Bn)?qp.failBadSyntaxKind(Bn):Ws(Bn)&&DE(Bn.expression)?Bn.expression:Bn}break;case 299:if(Me.name){let Bn=Me.name;return vn(Bn)?qp.failBadSyntaxKind(Bn):Ws(Bn)&&DE(Bn.expression)?Bn.expression:Bn}break;case 301:return Me.name&&vn(Me.name)?qp.failBadSyntaxKind(Me.name):Me.name}let Bn=Ko(Me);if(Bn&&vl(Bn))return Bn}function DE(Me){let Bn=Me.kind;return Bn===10||Bn===8}function kE(Me){switch(Me.kind){case 203:case 204:case 206:return Me.elements;case 207:return Me.properties}}function w2(Me){if(Me){let Bn=Me;for(;;){if(yt(Bn)||!Bn.body)return yt(Bn)?Bn:Bn.name;Bn=Bn.body}}}function tJ(Me){let Bn=Me.kind;return Bn===173||Bn===175}function IE(Me){let Bn=Me.kind;return Bn===173||Bn===174||Bn===175}function rJ(Me){let Bn=Me.kind;return Bn===299||Bn===300||Bn===259||Bn===173||Bn===178||Bn===172||Bn===279||Bn===240||Bn===261||Bn===262||Bn===263||Bn===264||Bn===268||Bn===269||Bn===267||Bn===275||Bn===274}function nJ(Me){let Bn=Me.kind;return Bn===172||Bn===299||Bn===300||Bn===279||Bn===267}function iJ(Me){return ql(Me)||rd(Me)}function aJ(Me){return yt(Me)||Xv(Me)}function sJ(Me){return O8(Me)||zv(Me)||Wv(Me)}function oJ(Me){return ql(Me)||zv(Me)||Wv(Me)}function _J(Me){return yt(Me)||Gn(Me)}function cJ(Me){let Bn=Me.kind;return Bn===104||Bn===110||Bn===95||Iy(Me)||od(Me)}function lJ(Me){return Me===42}function uJ(Me){return Me===41||Me===43||Me===44}function pJ(Me){return lJ(Me)||uJ(Me)}function fJ(Me){return Me===39||Me===40}function dJ(Me){return fJ(Me)||pJ(Me)}function mJ(Me){return Me===47||Me===48||Me===49}function hJ(Me){return mJ(Me)||dJ(Me)}function gJ(Me){return Me===29||Me===32||Me===31||Me===33||Me===102||Me===101}function yJ(Me){return gJ(Me)||hJ(Me)}function vJ(Me){return Me===34||Me===36||Me===35||Me===37}function bJ(Me){return vJ(Me)||yJ(Me)}function TJ(Me){return Me===50||Me===51||Me===52}function SJ(Me){return TJ(Me)||bJ(Me)}function xJ(Me){return Me===55||Me===56}function EJ(Me){return xJ(Me)||SJ(Me)}function wJ(Me){return Me===60||EJ(Me)||G_(Me)}function CJ(Me){return wJ(Me)||Me===27}function AJ(Me){return CJ(Me.kind)}function PJ(Me,Bn,Hn,zn,ni,Ci){let ts=new ww(Me,Bn,Hn,zn,ni,Ci);return A;function A(Me,Bn){let Hn={value:void 0},zn=[Dw.enter],ni=[Me],Ci=[void 0],Ps=0;for(;zn[Ps]!==Dw.done;)Ps=zn[Ps](ts,Ps,zn,ni,Ci,Hn,Bn);return qp.assertEqual(Ps,0),Hn.value}}function NE(Me){return Me===93||Me===88}function DJ(Me){let Bn=Me.kind;return NE(Bn)}function kJ(Me){let Bn=Me.kind;return Wi(Bn)&&!NE(Bn)}function IJ(Me,Bn){if(Bn!==void 0)return Bn.length===0?Bn:Rt(Me.createNodeArray([],Bn.hasTrailingComma),Bn)}function NJ(Me){var Bn;let Hn=Me.emitNode.autoGenerate;if(Hn.flags&4){let zn=Hn.id,ni=Me,Ci=ni.original;for(;Ci;){ni=Ci;let Me=(Bn=ni.emitNode)==null?void 0:Bn.autoGenerate;if(js(ni)&&(Me===void 0||Me.flags&4&&Me.id!==zn))break;Ci=ni.original}return ni}return Me}function C2(Me,Bn){return typeof Me=="object"?bd(!1,Me.prefix,Me.node,Me.suffix,Bn):typeof Me=="string"?Me.length>0&&Me.charCodeAt(0)===35?Me.slice(1):Me:""}function OJ(Me,Bn){return typeof Me=="string"?Me:MJ(Me,qp.checkDefined(Bn))}function MJ(Me,Bn){return Ny(Me)?Bn(Me).slice(1):cs(Me)?Bn(Me):vn(Me)?Me.escapedText.slice(1):qr(Me)}function bd(Me,Bn,Hn,zn,ni){return Bn=C2(Bn,ni),zn=C2(zn,ni),Hn=OJ(Hn,ni),`${Me?"#":""}${Bn}${Hn}${zn}`}function LJ(Me,Bn,Hn,zn){return Me.updatePropertyDeclaration(Bn,Hn,Me.getGeneratedPrivateNameForNode(Bn.name,void 0,"_accessor_storage"),void 0,void 0,zn)}function RJ(Me,Bn,Hn,zn){return Me.createGetAccessorDeclaration(Hn,zn,[],void 0,Me.createBlock([Me.createReturnStatement(Me.createPropertyAccessExpression(Me.createThis(),Me.getGeneratedPrivateNameForNode(Bn.name,void 0,"_accessor_storage")))]))}function jJ(Me,Bn,Hn,zn){return Me.createSetAccessorDeclaration(Hn,zn,[Me.createParameterDeclaration(void 0,void 0,"value")],Me.createBlock([Me.createExpressionStatement(Me.createAssignment(Me.createPropertyAccessExpression(Me.createThis(),Me.getGeneratedPrivateNameForNode(Bn.name,void 0,"_accessor_storage")),Me.createIdentifier("value")))]))}function JJ(Me){let Bn=Me.expression;for(;;){if(Bn=$o(Bn),oc(Bn)){Bn=Zn(Bn.elements);continue}if(gd(Bn)){Bn=Bn.right;continue}if(ms(Bn,!0)&&cs(Bn.left))return Bn;break}}function FJ(Me){return qo(Me)&&fs(Me)&&!Me.emitNode}function su(Me,Bn){if(FJ(Me))su(Me.expression,Bn);else if(gd(Me))su(Me.left,Bn),su(Me.right,Bn);else if(oc(Me))for(let Hn of Me.elements)su(Hn,Bn);else Bn.push(Me)}function BJ(Me){let Bn=[];return su(Me,Bn),Bn}function A2(Me){if(Me.transformFlags&65536)return!0;if(Me.transformFlags&128)for(let Bn of kE(Me)){let Me=Ko(Bn);if(Me&&KS(Me)&&(Me.transformFlags&65536||Me.transformFlags&128&&A2(Me)))return!0}return!1}var Dw,ww,Sw=D({"src/compiler/factory/utilities.ts"(){"use strict";Gw(),(Me=>{function t(Me,Bn,Hn,zn,ni,Ci,ts){let Ps=Bn>0?ni[Bn-1]:void 0;return qp.assertEqual(Hn[Bn],t),ni[Bn]=Me.onEnter(zn[Bn],Ps,ts),Hn[Bn]=A(Me,t),Bn}Me.enter=t;function r(Me,Bn,Hn,zn,ni,Ci,ts){qp.assertEqual(Hn[Bn],r),qp.assertIsDefined(Me.onLeft),Hn[Bn]=A(Me,r);let Ps=Me.onLeft(zn[Bn].left,ni[Bn],zn[Bn]);return Ps?(B(Bn,zn,Ps),g(Bn,Hn,zn,ni,Ps)):Bn}Me.left=r;function s(Me,Bn,Hn,zn,ni,Ci,ts){return qp.assertEqual(Hn[Bn],s),qp.assertIsDefined(Me.onOperator),Hn[Bn]=A(Me,s),Me.onOperator(zn[Bn].operatorToken,ni[Bn],zn[Bn]),Bn}Me.operator=s;function f(Me,Bn,Hn,zn,ni,Ci,ts){qp.assertEqual(Hn[Bn],f),qp.assertIsDefined(Me.onRight),Hn[Bn]=A(Me,f);let Ps=Me.onRight(zn[Bn].right,ni[Bn],zn[Bn]);return Ps?(B(Bn,zn,Ps),g(Bn,Hn,zn,ni,Ps)):Bn}Me.right=f;function x(Me,Bn,Hn,zn,ni,Ci,ts){qp.assertEqual(Hn[Bn],x),Hn[Bn]=A(Me,x);let Ps=Me.onExit(zn[Bn],ni[Bn]);if(Bn>0){if(Bn--,Me.foldState){let zn=Hn[Bn]===x?"right":"left";ni[Bn]=Me.foldState(ni[Bn],Ps,zn)}}else Ci.value=Ps;return Bn}Me.exit=x;function w(Me,Bn,Hn,zn,ni,Ci,ts){return qp.assertEqual(Hn[Bn],w),Bn}Me.done=w;function A(Me,Bn){switch(Bn){case t:if(Me.onLeft)return r;case r:if(Me.onOperator)return s;case s:if(Me.onRight)return f;case f:return x;case x:return w;case w:return w;default:qp.fail("Invalid state")}}Me.nextState=A;function g(Me,Bn,Hn,zn,ni){return Me++,Bn[Me]=t,Hn[Me]=ni,zn[Me]=void 0,Me}function B(Me,Bn,Hn){if(qp.shouldAssert(2))for(;Me>=0;)qp.assert(Bn[Me]!==Hn,"Circular traversal detected."),Me--}})(Dw||(Dw={})),ww=class{constructor(Me,Bn,Hn,zn,ni,Ci){this.onEnter=Me,this.onLeft=Bn,this.onOperator=Hn,this.onRight=zn,this.onExit=ni,this.foldState=Ci}}}});function Rt(Me,Bn){return Bn?Us(Me,Bn.pos,Bn.end):Me}function fc(Me){let Bn=Me.kind;return Bn===165||Bn===166||Bn===168||Bn===169||Bn===170||Bn===171||Bn===173||Bn===174||Bn===175||Bn===178||Bn===182||Bn===215||Bn===216||Bn===228||Bn===240||Bn===259||Bn===260||Bn===261||Bn===262||Bn===263||Bn===264||Bn===268||Bn===269||Bn===274||Bn===275}function ME(Me){let Bn=Me.kind;return Bn===166||Bn===169||Bn===171||Bn===174||Bn===175||Bn===228||Bn===260}var Iw=D({"src/compiler/factory/utilitiesPublic.ts"(){"use strict";Gw()}});function G(Me,Bn){return Bn&&Me(Bn)}function ze(Me,Bn,Hn){if(Hn){if(Bn)return Bn(Hn);for(let Bn of Hn){let Hn=Me(Bn);if(Hn)return Hn}}}function LE(Me,Bn){return Me.charCodeAt(Bn+1)===42&&Me.charCodeAt(Bn+2)===42&&Me.charCodeAt(Bn+3)!==47}function ou(Me){return c(Me.statements,zJ)||WJ(Me)}function zJ(Me){return fc(Me)&&VJ(Me,93)||s2(Me)&&ud(Me.moduleReference)||o2(Me)||Vo(Me)||cc(Me)?Me:void 0}function WJ(Me){return Me.flags&4194304?RE(Me):void 0}function RE(Me){return HJ(Me)?Me:xr(Me,RE)}function VJ(Me,Bn){return Ke(Me.modifiers,(Me=>Me.kind===Bn))}function HJ(Me){return t2(Me)&&Me.keywordToken===100&&Me.name.escapedText==="meta"}function jE(Me,Bn,Hn){return ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.parameters)||G(Bn,Me.type)}function JE(Me,Bn,Hn){return ze(Bn,Hn,Me.types)}function FE(Me,Bn,Hn){return G(Bn,Me.type)}function BE(Me,Bn,Hn){return ze(Bn,Hn,Me.elements)}function qE(Me,Bn,Hn){return G(Bn,Me.expression)||G(Bn,Me.questionDotToken)||ze(Bn,Hn,Me.typeArguments)||ze(Bn,Hn,Me.arguments)}function UE(Me,Bn,Hn){return ze(Bn,Hn,Me.statements)}function zE(Me,Bn,Hn){return G(Bn,Me.label)}function WE(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.heritageClauses)||ze(Bn,Hn,Me.members)}function VE(Me,Bn,Hn){return ze(Bn,Hn,Me.elements)}function HE(Me,Bn,Hn){return G(Bn,Me.propertyName)||G(Bn,Me.name)}function GE(Me,Bn,Hn){return G(Bn,Me.tagName)||ze(Bn,Hn,Me.typeArguments)||G(Bn,Me.attributes)}function Xo(Me,Bn,Hn){return G(Bn,Me.type)}function $E(Me,Bn,Hn){return G(Bn,Me.tagName)||(Me.isNameFirst?G(Bn,Me.name)||G(Bn,Me.typeExpression):G(Bn,Me.typeExpression)||G(Bn,Me.name))||(typeof Me.comment=="string"?void 0:ze(Bn,Hn,Me.comment))}function Yo(Me,Bn,Hn){return G(Bn,Me.tagName)||G(Bn,Me.typeExpression)||(typeof Me.comment=="string"?void 0:ze(Bn,Hn,Me.comment))}function P2(Me,Bn,Hn){return G(Bn,Me.name)}function Gs(Me,Bn,Hn){return G(Bn,Me.tagName)||(typeof Me.comment=="string"?void 0:ze(Bn,Hn,Me.comment))}function GJ(Me,Bn,Hn){return G(Bn,Me.expression)}function xr(Me,Bn,Hn){if(Me===void 0||Me.kind<=162)return;let zn=Rw[Me.kind];return zn===void 0?void 0:zn(Me,Bn,Hn)}function D2(Me,Bn,Hn){let zn=KE(Me),ni=[];for(;ni.length=0;--Bn)zn.push(Me[Bn]),ni.push(Ci)}else{let Hn=Bn(Me,Ci);if(Hn){if(Hn==="skip")continue;return Hn}if(Me.kind>=163)for(let Bn of KE(Me))zn.push(Bn),ni.push(Me)}}}function KE(Me){let Bn=[];return xr(Me,r,r),Bn;function r(Me){Bn.unshift(Me)}}function XE(Me){Me.externalModuleIndicator=ou(Me)}function YE(Me,Bn,Hn){let zn=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,ni=arguments.length>4?arguments[4]:void 0;var Ci,ts;(Ci=xd)==null||Ci.push(xd.Phase.Parse,"createSourceFile",{path:Me},!0),DT("beforeParse");let Ps;zp.logStartParseSourceFile(Me);let{languageVersion:aa,setExternalModuleIndicator:oa,impliedNodeFormat:ca}=typeof Hn=="object"?Hn:{languageVersion:Hn};if(aa===100)Ps=Pw.parseSourceFile(Me,Bn,aa,void 0,zn,6,yn);else{let Hn=ca===void 0?oa:Me=>(Me.impliedNodeFormat=ca,(oa||XE)(Me));Ps=Pw.parseSourceFile(Me,Bn,aa,void 0,zn,ni,Hn)}return zp.logStopParseSourceFile(),DT("afterParse"),B5("Parse","beforeParse","afterParse"),(ts=xd)==null||ts.pop(),Ps}function $J(Me,Bn){return Pw.parseIsolatedEntityName(Me,Bn)}function KJ(Me,Bn){return Pw.parseJsonText(Me,Bn)}function Qo(Me){return Me.externalModuleIndicator!==void 0}function k2(Me,Bn,Hn){let zn=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,ni=Ow.updateSourceFile(Me,Bn,Hn,zn);return ni.flags|=Me.flags&6291456,ni}function XJ(Me,Bn,Hn){let zn=Pw.JSDocParser.parseIsolatedJSDocComment(Me,Bn,Hn);return zn&&zn.jsDoc&&Pw.fixupParentReferences(zn.jsDoc),zn}function YJ(Me,Bn,Hn){return Pw.JSDocParser.parseJSDocTypeExpressionForTests(Me,Bn,Hn)}function QE(Me){return da(Me,iw)||ns(Me,".ts")&&Fi(sl(Me),".d.")}function QJ(Me,Bn,Hn,zn){if(Me){if(Me==="import")return 99;if(Me==="require")return 1;zn(Bn,Hn-Bn,Sv.resolution_mode_should_be_either_require_or_import)}}function ZE(Me,Bn){let Hn=[];for(let Me of Ao(Bn,0)||ca){let zn=Bn.substring(Me.pos,Me.end);eF(Hn,Me,zn)}Me.pragmas=new Map;for(let Bn of Hn){if(Me.pragmas.has(Bn.name)){let Hn=Me.pragmas.get(Bn.name);Hn instanceof Array?Hn.push(Bn.args):Me.pragmas.set(Bn.name,[Hn,Bn.args]);continue}Me.pragmas.set(Bn.name,Bn.args)}}function e7(Me,Bn){Me.checkJsDirective=void 0,Me.referencedFiles=[],Me.typeReferenceDirectives=[],Me.libReferenceDirectives=[],Me.amdDependencies=[],Me.hasNoDefaultLib=!1,Me.pragmas.forEach(((Hn,zn)=>{switch(zn){case"reference":{let zn=Me.referencedFiles,ni=Me.typeReferenceDirectives,Ci=Me.libReferenceDirectives;c(en(Hn),(Hn=>{let{types:ts,lib:Ps,path:aa,["resolution-mode"]:oa}=Hn.arguments;if(Hn.arguments["no-default-lib"])Me.hasNoDefaultLib=!0;else if(ts){let Me=QJ(oa,ts.pos,ts.end,Bn);ni.push(Object.assign({pos:ts.pos,end:ts.end,fileName:ts.value},Me?{resolutionMode:Me}:{}))}else Ps?Ci.push({pos:Ps.pos,end:Ps.end,fileName:Ps.value}):aa?zn.push({pos:aa.pos,end:aa.end,fileName:aa.value}):Bn(Hn.range.pos,Hn.range.end-Hn.range.pos,Sv.Invalid_reference_directive_syntax)}));break}case"amd-dependency":{Me.amdDependencies=Ze(en(Hn),(Me=>({name:Me.arguments.name,path:Me.arguments.path})));break}case"amd-module":{if(Hn instanceof Array)for(let zn of Hn)Me.moduleName&&Bn(zn.range.pos,zn.range.end-zn.range.pos,Sv.An_AMD_module_cannot_have_multiple_name_assignments),Me.moduleName=zn.arguments.name;else Me.moduleName=Hn.arguments.name;break}case"ts-nocheck":case"ts-check":{c(en(Hn),(Bn=>{(!Me.checkJsDirective||Bn.range.pos>Me.checkJsDirective.pos)&&(Me.checkJsDirective={enabled:zn==="ts-check",end:Bn.range.end,pos:Bn.range.pos})}));break}case"jsx":case"jsxfrag":case"jsximportsource":case"jsxruntime":return;default:qp.fail("Unhandled pragma kind")}}))}function ZJ(Me){if(Lw.has(Me))return Lw.get(Me);let Bn=new RegExp(`(\\s${Me}\\s*=\\s*)(?:(?:'([^']*)')|(?:"([^"]*)"))`,"im");return Lw.set(Me,Bn),Bn}function eF(Me,Bn,Hn){let zn=Bn.kind===2&&Mw.exec(Hn);if(zn){let ni=zn[1].toLowerCase(),Ci=Gy[ni];if(!Ci||!(Ci.kind&1))return;if(Ci.args){let zn={};for(let Me of Ci.args){let ni=ZJ(Me.name).exec(Hn);if(!ni&&!Me.optional)return;if(ni){let Hn=ni[2]||ni[3];if(Me.captureSpan){let Ci=Bn.pos+ni.index+ni[1].length+1;zn[Me.name]={value:Hn,pos:Ci,end:Ci+Hn.length}}else zn[Me.name]=Hn}}Me.push({name:ni,args:{arguments:zn,range:Bn}})}else Me.push({name:ni,args:{arguments:{},range:Bn}});return}let ni=Bn.kind===2&&jw.exec(Hn);if(ni)return t7(Me,Bn,2,ni);if(Bn.kind===3){let zn=/@(\S+)(\s+.*)?$/gim,ni;for(;ni=zn.exec(Hn);)t7(Me,Bn,4,ni)}}function t7(Me,Bn,Hn,zn){if(!zn)return;let ni=zn[1].toLowerCase(),Ci=Gy[ni];if(!Ci||!(Ci.kind&Hn))return;let ts=zn[2],Ps=tF(Ci,ts);Ps!=="fail"&&Me.push({name:ni,args:{arguments:Ps,range:Bn}})}function tF(Me,Bn){if(!Bn)return{};if(!Me.args)return{};let Hn=Dp(Bn).split(/\s+/),zn={};for(let Bn=0;Bnnew(Fw||(Fw=MC.getSourceFileConstructor()))(Me,-1,-1),createBaseIdentifierNode:Me=>new(Bw||(Bw=MC.getIdentifierConstructor()))(Me,-1,-1),createBasePrivateIdentifierNode:Me=>new(Tw||(Tw=MC.getPrivateIdentifierConstructor()))(Me,-1,-1),createBaseTokenNode:Me=>new(kw||(kw=MC.getTokenConstructor()))(Me,-1,-1),createBaseNode:Me=>new(xw||(xw=MC.getNodeConstructor()))(Me,-1,-1)},Qw=Zf(1,Nw),Rw={[163]:function(Me,Bn,Hn){return G(Bn,Me.left)||G(Bn,Me.right)},[165]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||G(Bn,Me.constraint)||G(Bn,Me.default)||G(Bn,Me.expression)},[300]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||G(Bn,Me.questionToken)||G(Bn,Me.exclamationToken)||G(Bn,Me.equalsToken)||G(Bn,Me.objectAssignmentInitializer)},[301]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[166]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.dotDotDotToken)||G(Bn,Me.name)||G(Bn,Me.questionToken)||G(Bn,Me.type)||G(Bn,Me.initializer)},[169]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||G(Bn,Me.questionToken)||G(Bn,Me.exclamationToken)||G(Bn,Me.type)||G(Bn,Me.initializer)},[168]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||G(Bn,Me.questionToken)||G(Bn,Me.type)||G(Bn,Me.initializer)},[299]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||G(Bn,Me.questionToken)||G(Bn,Me.exclamationToken)||G(Bn,Me.initializer)},[257]:function(Me,Bn,Hn){return G(Bn,Me.name)||G(Bn,Me.exclamationToken)||G(Bn,Me.type)||G(Bn,Me.initializer)},[205]:function(Me,Bn,Hn){return G(Bn,Me.dotDotDotToken)||G(Bn,Me.propertyName)||G(Bn,Me.name)||G(Bn,Me.initializer)},[178]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.parameters)||G(Bn,Me.type)},[182]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.parameters)||G(Bn,Me.type)},[181]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.parameters)||G(Bn,Me.type)},[176]:jE,[177]:jE,[171]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.asteriskToken)||G(Bn,Me.name)||G(Bn,Me.questionToken)||G(Bn,Me.exclamationToken)||ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.parameters)||G(Bn,Me.type)||G(Bn,Me.body)},[170]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||G(Bn,Me.questionToken)||ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.parameters)||G(Bn,Me.type)},[173]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.parameters)||G(Bn,Me.type)||G(Bn,Me.body)},[174]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.parameters)||G(Bn,Me.type)||G(Bn,Me.body)},[175]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.parameters)||G(Bn,Me.type)||G(Bn,Me.body)},[259]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.asteriskToken)||G(Bn,Me.name)||ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.parameters)||G(Bn,Me.type)||G(Bn,Me.body)},[215]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.asteriskToken)||G(Bn,Me.name)||ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.parameters)||G(Bn,Me.type)||G(Bn,Me.body)},[216]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.parameters)||G(Bn,Me.type)||G(Bn,Me.equalsGreaterThanToken)||G(Bn,Me.body)},[172]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.body)},[180]:function(Me,Bn,Hn){return G(Bn,Me.typeName)||ze(Bn,Hn,Me.typeArguments)},[179]:function(Me,Bn,Hn){return G(Bn,Me.assertsModifier)||G(Bn,Me.parameterName)||G(Bn,Me.type)},[183]:function(Me,Bn,Hn){return G(Bn,Me.exprName)||ze(Bn,Hn,Me.typeArguments)},[184]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.members)},[185]:function(Me,Bn,Hn){return G(Bn,Me.elementType)},[186]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.elements)},[189]:JE,[190]:JE,[191]:function(Me,Bn,Hn){return G(Bn,Me.checkType)||G(Bn,Me.extendsType)||G(Bn,Me.trueType)||G(Bn,Me.falseType)},[192]:function(Me,Bn,Hn){return G(Bn,Me.typeParameter)},[202]:function(Me,Bn,Hn){return G(Bn,Me.argument)||G(Bn,Me.assertions)||G(Bn,Me.qualifier)||ze(Bn,Hn,Me.typeArguments)},[298]:function(Me,Bn,Hn){return G(Bn,Me.assertClause)},[193]:FE,[195]:FE,[196]:function(Me,Bn,Hn){return G(Bn,Me.objectType)||G(Bn,Me.indexType)},[197]:function(Me,Bn,Hn){return G(Bn,Me.readonlyToken)||G(Bn,Me.typeParameter)||G(Bn,Me.nameType)||G(Bn,Me.questionToken)||G(Bn,Me.type)||ze(Bn,Hn,Me.members)},[198]:function(Me,Bn,Hn){return G(Bn,Me.literal)},[199]:function(Me,Bn,Hn){return G(Bn,Me.dotDotDotToken)||G(Bn,Me.name)||G(Bn,Me.questionToken)||G(Bn,Me.type)},[203]:BE,[204]:BE,[206]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.elements)},[207]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.properties)},[208]:function(Me,Bn,Hn){return G(Bn,Me.expression)||G(Bn,Me.questionDotToken)||G(Bn,Me.name)},[209]:function(Me,Bn,Hn){return G(Bn,Me.expression)||G(Bn,Me.questionDotToken)||G(Bn,Me.argumentExpression)},[210]:qE,[211]:qE,[212]:function(Me,Bn,Hn){return G(Bn,Me.tag)||G(Bn,Me.questionDotToken)||ze(Bn,Hn,Me.typeArguments)||G(Bn,Me.template)},[213]:function(Me,Bn,Hn){return G(Bn,Me.type)||G(Bn,Me.expression)},[214]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[217]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[218]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[219]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[221]:function(Me,Bn,Hn){return G(Bn,Me.operand)},[226]:function(Me,Bn,Hn){return G(Bn,Me.asteriskToken)||G(Bn,Me.expression)},[220]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[222]:function(Me,Bn,Hn){return G(Bn,Me.operand)},[223]:function(Me,Bn,Hn){return G(Bn,Me.left)||G(Bn,Me.operatorToken)||G(Bn,Me.right)},[231]:function(Me,Bn,Hn){return G(Bn,Me.expression)||G(Bn,Me.type)},[232]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[235]:function(Me,Bn,Hn){return G(Bn,Me.expression)||G(Bn,Me.type)},[233]:function(Me,Bn,Hn){return G(Bn,Me.name)},[224]:function(Me,Bn,Hn){return G(Bn,Me.condition)||G(Bn,Me.questionToken)||G(Bn,Me.whenTrue)||G(Bn,Me.colonToken)||G(Bn,Me.whenFalse)},[227]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[238]:UE,[265]:UE,[308]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.statements)||G(Bn,Me.endOfFileToken)},[240]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.declarationList)},[258]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.declarations)},[241]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[242]:function(Me,Bn,Hn){return G(Bn,Me.expression)||G(Bn,Me.thenStatement)||G(Bn,Me.elseStatement)},[243]:function(Me,Bn,Hn){return G(Bn,Me.statement)||G(Bn,Me.expression)},[244]:function(Me,Bn,Hn){return G(Bn,Me.expression)||G(Bn,Me.statement)},[245]:function(Me,Bn,Hn){return G(Bn,Me.initializer)||G(Bn,Me.condition)||G(Bn,Me.incrementor)||G(Bn,Me.statement)},[246]:function(Me,Bn,Hn){return G(Bn,Me.initializer)||G(Bn,Me.expression)||G(Bn,Me.statement)},[247]:function(Me,Bn,Hn){return G(Bn,Me.awaitModifier)||G(Bn,Me.initializer)||G(Bn,Me.expression)||G(Bn,Me.statement)},[248]:zE,[249]:zE,[250]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[251]:function(Me,Bn,Hn){return G(Bn,Me.expression)||G(Bn,Me.statement)},[252]:function(Me,Bn,Hn){return G(Bn,Me.expression)||G(Bn,Me.caseBlock)},[266]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.clauses)},[292]:function(Me,Bn,Hn){return G(Bn,Me.expression)||ze(Bn,Hn,Me.statements)},[293]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.statements)},[253]:function(Me,Bn,Hn){return G(Bn,Me.label)||G(Bn,Me.statement)},[254]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[255]:function(Me,Bn,Hn){return G(Bn,Me.tryBlock)||G(Bn,Me.catchClause)||G(Bn,Me.finallyBlock)},[295]:function(Me,Bn,Hn){return G(Bn,Me.variableDeclaration)||G(Bn,Me.block)},[167]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[260]:WE,[228]:WE,[261]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.heritageClauses)||ze(Bn,Hn,Me.members)},[262]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||ze(Bn,Hn,Me.typeParameters)||G(Bn,Me.type)},[263]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||ze(Bn,Hn,Me.members)},[302]:function(Me,Bn,Hn){return G(Bn,Me.name)||G(Bn,Me.initializer)},[264]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||G(Bn,Me.body)},[268]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||G(Bn,Me.moduleReference)},[269]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.importClause)||G(Bn,Me.moduleSpecifier)||G(Bn,Me.assertClause)},[270]:function(Me,Bn,Hn){return G(Bn,Me.name)||G(Bn,Me.namedBindings)},[296]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.elements)},[297]:function(Me,Bn,Hn){return G(Bn,Me.name)||G(Bn,Me.value)},[267]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)},[271]:function(Me,Bn,Hn){return G(Bn,Me.name)},[277]:function(Me,Bn,Hn){return G(Bn,Me.name)},[272]:VE,[276]:VE,[275]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.exportClause)||G(Bn,Me.moduleSpecifier)||G(Bn,Me.assertClause)},[273]:HE,[278]:HE,[274]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.expression)},[225]:function(Me,Bn,Hn){return G(Bn,Me.head)||ze(Bn,Hn,Me.templateSpans)},[236]:function(Me,Bn,Hn){return G(Bn,Me.expression)||G(Bn,Me.literal)},[200]:function(Me,Bn,Hn){return G(Bn,Me.head)||ze(Bn,Hn,Me.templateSpans)},[201]:function(Me,Bn,Hn){return G(Bn,Me.type)||G(Bn,Me.literal)},[164]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[294]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.types)},[230]:function(Me,Bn,Hn){return G(Bn,Me.expression)||ze(Bn,Hn,Me.typeArguments)},[280]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[279]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)},[357]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.elements)},[281]:function(Me,Bn,Hn){return G(Bn,Me.openingElement)||ze(Bn,Hn,Me.children)||G(Bn,Me.closingElement)},[285]:function(Me,Bn,Hn){return G(Bn,Me.openingFragment)||ze(Bn,Hn,Me.children)||G(Bn,Me.closingFragment)},[282]:GE,[283]:GE,[289]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.properties)},[288]:function(Me,Bn,Hn){return G(Bn,Me.name)||G(Bn,Me.initializer)},[290]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[291]:function(Me,Bn,Hn){return G(Bn,Me.dotDotDotToken)||G(Bn,Me.expression)},[284]:function(Me,Bn,Hn){return G(Bn,Me.tagName)},[187]:Xo,[188]:Xo,[312]:Xo,[318]:Xo,[317]:Xo,[319]:Xo,[321]:Xo,[320]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.parameters)||G(Bn,Me.type)},[323]:function(Me,Bn,Hn){return(typeof Me.comment=="string"?void 0:ze(Bn,Hn,Me.comment))||ze(Bn,Hn,Me.tags)},[350]:function(Me,Bn,Hn){return G(Bn,Me.tagName)||G(Bn,Me.name)||(typeof Me.comment=="string"?void 0:ze(Bn,Hn,Me.comment))},[313]:function(Me,Bn,Hn){return G(Bn,Me.name)},[314]:function(Me,Bn,Hn){return G(Bn,Me.left)||G(Bn,Me.right)},[344]:$E,[351]:$E,[333]:function(Me,Bn,Hn){return G(Bn,Me.tagName)||(typeof Me.comment=="string"?void 0:ze(Bn,Hn,Me.comment))},[332]:function(Me,Bn,Hn){return G(Bn,Me.tagName)||G(Bn,Me.class)||(typeof Me.comment=="string"?void 0:ze(Bn,Hn,Me.comment))},[331]:function(Me,Bn,Hn){return G(Bn,Me.tagName)||G(Bn,Me.class)||(typeof Me.comment=="string"?void 0:ze(Bn,Hn,Me.comment))},[348]:function(Me,Bn,Hn){return G(Bn,Me.tagName)||G(Bn,Me.constraint)||ze(Bn,Hn,Me.typeParameters)||(typeof Me.comment=="string"?void 0:ze(Bn,Hn,Me.comment))},[349]:function(Me,Bn,Hn){return G(Bn,Me.tagName)||(Me.typeExpression&&Me.typeExpression.kind===312?G(Bn,Me.typeExpression)||G(Bn,Me.fullName)||(typeof Me.comment=="string"?void 0:ze(Bn,Hn,Me.comment)):G(Bn,Me.fullName)||G(Bn,Me.typeExpression)||(typeof Me.comment=="string"?void 0:ze(Bn,Hn,Me.comment)))},[341]:function(Me,Bn,Hn){return G(Bn,Me.tagName)||G(Bn,Me.fullName)||G(Bn,Me.typeExpression)||(typeof Me.comment=="string"?void 0:ze(Bn,Hn,Me.comment))},[345]:Yo,[347]:Yo,[346]:Yo,[343]:Yo,[353]:Yo,[352]:Yo,[342]:Yo,[326]:function(Me,Bn,Hn){return c(Me.typeParameters,Bn)||c(Me.parameters,Bn)||G(Bn,Me.type)},[327]:P2,[328]:P2,[329]:P2,[325]:function(Me,Bn,Hn){return c(Me.jsDocPropertyTags,Bn)},[330]:Gs,[335]:Gs,[336]:Gs,[337]:Gs,[338]:Gs,[339]:Gs,[334]:Gs,[340]:Gs,[356]:GJ},(Me=>{var Bn=Po(99,!0),Hn=20480,zn,ni,Ci,ts,Ps;function g(Me){return rg++,Me}var aa={createBaseSourceFileNode:Me=>g(new Ps(Me,0,0)),createBaseIdentifierNode:Me=>g(new Ci(Me,0,0)),createBasePrivateIdentifierNode:Me=>g(new ts(Me,0,0)),createBaseTokenNode:Me=>g(new ni(Me,0,0)),createBaseNode:Me=>g(new zn(Me,0,0))},oa=Zf(11,aa),{createNodeArray:xa,createNumericLiteral:Ga,createStringLiteral:Ha,createLiteralLikeNode:so,createIdentifier:oo,createPrivateIdentifier:Jo,createToken:tc,createArrayLiteralExpression:dc,createObjectLiteralExpression:Fc,createPropertyAccessExpression:Jc,createPropertyAccessChain:Dp,createElementAccessExpression:kp,createElementAccessChain:Qp,createCallExpression:Up,createCallChain:Vp,createNewExpression:Jp,createParenthesizedExpression:Wp,createBlock:zp,createVariableStatement:Qf,createExpressionStatement:Yf,createIfStatement:Kf,createWhileStatement:Xf,createForStatement:Ad,createForOfStatement:Cd,createVariableDeclaration:wd,createVariableDeclarationList:Sd}=oa,xd,Td,Pd,Qh,Zh,sA,oA,hA,eg,tg,rg,ng,ig,sg,ag,og,ug=!0,cg=!1;function wa(Me,Bn,Hn,zn){let ni=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1,Ci=arguments.length>5?arguments[5]:void 0,ts=arguments.length>6?arguments[6]:void 0;var Ps;if(Ci=Nx(Me,Ci),Ci===6){let Ci=Ki(Me,Bn,Hn,zn,ni);return convertToObjectWorker(Ci,(Ps=Ci.statements[0])==null?void 0:Ps.expression,Ci.parseDiagnostics,!1,void 0,void 0),Ci.referencedFiles=ca,Ci.typeReferenceDirectives=ca,Ci.libReferenceDirectives=ca,Ci.amdDependencies=ca,Ci.hasNoDefaultLib=!1,Ci.pragmas=_a,Ci}Mn(Me,Bn,Hn,zn,Ci);let aa=Ca(Hn,ni,Ci,ts||XE);return _i(),aa}Me.parseSourceFile=wa;function $n(Me,Bn){Mn("",Me,Bn,void 0,1),_e();let Hn=Ys(!0),zn=T()===1&&!oA.length;return _i(),zn?Hn:void 0}Me.parseIsolatedEntityName=$n;function Ki(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:2,zn=arguments.length>3?arguments[3]:void 0,ni=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;Mn(Me,Bn,Hn,zn,6),Td=og,_e();let Ci=L(),ts,Ps;if(T()===1)ts=Er([],Ci,Ci),Ps=sn();else{let Me;for(;T()!==1;){let Bn;switch(T()){case 22:Bn=ah();break;case 110:case 95:case 104:Bn=sn();break;case 40:wt((()=>_e()===8&&_e()!==58))?Bn=qm():Bn=Xu();break;case 8:case 10:if(wt((()=>_e()!==58))){Bn=Di();break}default:Bn=Xu();break}Me&&ir(Me)?Me.push(Bn):Me?Me=[Me,Bn]:(Me=Bn,T()!==1&&Dt(Sv.Unexpected_token))}let Bn=ir(Me)?Q(dc(Me),Ci):qp.checkDefined(Me),Hn=Yf(Bn);Q(Hn,Ci),ts=Er([Hn],Ci),Ps=ea(1,Sv.Unexpected_token)}let aa=Kt(Me,2,6,!1,ts,Ps,Td,yn);ni&&ft(aa),aa.nodeCount=rg,aa.identifierCount=ig,aa.identifiers=ng,aa.parseDiagnostics=qs(oA,aa),hA&&(aa.jsDocDiagnostics=qs(hA,aa));let oa=aa;return _i(),oa}Me.parseJsonText=Ki;function Mn(Me,Hn,aa,oa,ca){switch(zn=MC.getNodeConstructor(),ni=MC.getTokenConstructor(),Ci=MC.getIdentifierConstructor(),ts=MC.getPrivateIdentifierConstructor(),Ps=MC.getSourceFileConstructor(),xd=Un(Me),Pd=Hn,Qh=aa,eg=oa,Zh=ca,sA=sv(ca),oA=[],sg=0,ng=new Map,ig=0,rg=0,Td=0,ug=!0,Zh){case 1:case 2:og=262144;break;case 6:og=67371008;break;default:og=0;break}cg=!1,Bn.setText(Pd),Bn.setOnError(U),Bn.setScriptTarget(Qh),Bn.setLanguageVariant(sA)}function _i(){Bn.clearCommentDirectives(),Bn.setText(""),Bn.setOnError(void 0),Pd=void 0,Qh=void 0,eg=void 0,Zh=void 0,sA=void 0,Td=0,oA=void 0,hA=void 0,sg=0,ng=void 0,ag=void 0,ug=!0}function Ca(Me,Hn,zn,ni){let Ci=QE(xd);Ci&&(og|=16777216),Td=og,_e();let ts=Kn(0,on);qp.assert(T()===1);let Ps=He(sn()),aa=Kt(xd,Me,zn,Ci,ts,Ps,Td,ni);return ZE(aa,Pd),e7(aa,We),aa.commentDirectives=Bn.getCommentDirectives(),aa.nodeCount=rg,aa.identifierCount=ig,aa.identifiers=ng,aa.parseDiagnostics=qs(oA,aa),hA&&(aa.jsDocDiagnostics=qs(hA,aa)),Hn&&ft(aa),aa;function We(Me,Bn,Hn){oA.push(Ro(xd,Me,Bn,Hn))}}function St(Me,Bn){return Bn?He(Me):Me}let lg=!1;function He(Me){qp.assert(!Me.jsDoc);let Bn=qt(I3(Me,Pd),(Bn=>hg.parseJSDocComment(Me,Bn.pos,Bn.end-Bn.pos)));return Bn.length&&(Me.jsDoc=Bn),lg&&(lg=!1,Me.flags|=268435456),Me}function _t(Me){let Hn=eg,zn=Ow.createSyntaxCursor(Me);eg={currentNode:lt};let ni=[],Ci=oA;oA=[];let ts=0,Ps=We(Me.statements,0);for(;Ps!==-1;){let Hn=Me.statements[ts],zn=Me.statements[Ps];jr(ni,Me.statements,ts,Ps),ts=$e(Me.statements,Ps);let aa=he(Ci,(Me=>Me.start>=Hn.pos)),oa=aa>=0?he(Ci,(Me=>Me.start>=zn.pos),aa):-1;aa>=0&&jr(oA,Ci,aa,oa>=0?oa:void 0),Rn((()=>{let Hn=og;for(og|=32768,Bn.setTextPos(zn.pos),_e();T()!==1;){let Hn=Bn.getStartPos(),zn=vc(0,on);if(ni.push(zn),Hn===Bn.getStartPos()&&_e(),ts>=0){let Bn=Me.statements[ts];if(zn.end===Bn.pos)break;zn.end>Bn.pos&&(ts=$e(Me.statements,ts+1))}}og=Hn}),2),Ps=ts>=0?We(Me.statements,ts):-1}if(ts>=0){let Bn=Me.statements[ts];jr(ni,Me.statements,ts);let Hn=he(Ci,(Me=>Me.start>=Bn.pos));Hn>=0&&jr(oA,Ci,Hn)}return eg=Hn,oa.updateSourceFile(Me,Rt(xa(ni),Me.statements));function qe(Me){return!(Me.flags&32768)&&!!(Me.transformFlags&67108864)}function We(Me,Bn){for(let Hn=Bn;Hn116}function kt(){return T()===79?!0:T()===125&&Yi()||T()===133&&xn()?!1:T()>116}function de(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return T()===Me?(Hn&&_e(),!0):(Bn?Dt(Bn):Dt(Sv._0_expected,Br(Me)),!1)}let pg=Object.keys(xv).filter((Me=>Me.length>2));function Zi(Me){var Hn;if(Y8(Me)){Z(Ar(Pd,Me.template.pos),Me.template.end,Sv.Module_declaration_names_may_only_use_or_quoted_strings);return}let zn=yt(Me)?qr(Me):void 0;if(!zn||!vy(zn,Qh)){Dt(Sv._0_expected,Br(26));return}let ni=Ar(Pd,Me.pos);switch(zn){case"const":case"let":case"var":Z(ni,Me.end,Sv.Variable_declaration_not_allowed_at_this_location);return;case"declare":return;case"interface":Pa(Sv.Interface_name_cannot_be_0,Sv.Interface_must_be_given_a_name,18);return;case"is":Z(ni,Bn.getTextPos(),Sv.A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods);return;case"module":case"namespace":Pa(Sv.Namespace_name_cannot_be_0,Sv.Namespace_must_be_given_a_name,18);return;case"type":Pa(Sv.Type_alias_name_cannot_be_0,Sv.Type_alias_must_be_given_a_name,63);return}let Ci=(Hn=Ep(zn,pg,(Me=>Me)))!=null?Hn:e_(zn);if(Ci){Z(ni,Me.end,Sv.Unknown_keyword_or_identifier_Did_you_mean_0,Ci);return}T()!==0&&Z(ni,Me.end,Sv.Unexpected_keyword_or_identifier)}function Pa(Me,Hn,zn){T()===zn?Dt(Hn):Dt(Me,Bn.getTokenValue())}function e_(Me){for(let Bn of pg)if(Me.length>Bn.length+2&&Pn(Me,Bn))return`${Bn} ${Me.slice(Bn.length)}`}function mc(Me,Hn,zn){if(T()===59&&!Bn.hasPrecedingLineBreak()){Dt(Sv.Decorators_must_precede_the_name_and_all_keywords_of_property_declarations);return}if(T()===20){Dt(Sv.Cannot_start_a_function_call_in_a_type_annotation),_e();return}if(Hn&&!ka()){zn?Dt(Sv._0_expected,Br(26)):Dt(Sv.Expected_for_property_initializer);return}if(!t_()){if(zn){Dt(Sv._0_expected,Br(26));return}Zi(Me)}}function Da(Me){return T()===Me?(Ge(),!0):(Dt(Sv._0_expected,Br(Me)),!1)}function Ts(Me,Bn,Hn,zn){if(T()===Bn){_e();return}let ni=Dt(Sv._0_expected,Br(Bn));Hn&&ni&&Rl(ni,Ro(xd,zn,1,Sv.The_parser_expected_to_find_a_1_to_match_the_0_token_here,Br(Me),Br(Bn)))}function Ot(Me){return T()===Me?(_e(),!0):!1}function dr(Me){if(T()===Me)return sn()}function Dd(Me){if(T()===Me)return Id()}function ea(Me,Bn,Hn){return dr(Me)||Jn(Me,!1,Bn||Sv._0_expected,Hn||Br(Me))}function kd(Me){return Dd(Me)||Jn(Me,!1,Sv._0_expected,Br(Me))}function sn(){let Me=L(),Bn=T();return _e(),Q(tc(Bn),Me)}function Id(){let Me=L(),Bn=T();return Ge(),Q(tc(Bn),Me)}function ka(){return T()===26?!0:T()===19||T()===1||Bn.hasPrecedingLineBreak()}function t_(){return ka()?(T()===26&&_e(),!0):!1}function En(){return t_()||de(26)}function Er(Me,Hn,zn,ni){let Ci=xa(Me,ni);return Us(Ci,Hn,zn!=null?zn:Bn.getStartPos()),Ci}function Q(Me,Hn,zn){return Us(Me,Hn,zn!=null?zn:Bn.getStartPos()),og&&(Me.flags|=og),cg&&(cg=!1,Me.flags|=131072),Me}function Jn(Me,Hn,zn,ni){Hn?Pi(Bn.getStartPos(),0,zn,ni):zn&&Dt(zn,ni);let Ci=L(),ts=Me===79?oo("",void 0):yl(Me)?oa.createTemplateLiteralLikeNode(Me,"","",void 0):Me===8?Ga("",void 0):Me===10?Ha("",void 0):Me===279?oa.createMissingDeclaration():tc(Me);return Q(ts,Ci)}function Ia(Me){let Bn=ng.get(Me);return Bn===void 0&&ng.set(Me,Bn=Me),Bn}function Ss(Me,Hn,zn){if(Me){ig++;let Me=L(),Hn=T(),zn=Ia(Bn.getTokenValue()),ni=Bn.hasExtendedUnicodeEscape();return it(),Q(oo(zn,Hn,ni),Me)}if(T()===80)return Dt(zn||Sv.Private_identifiers_are_not_allowed_outside_class_bodies),Ss(!0);if(T()===0&&Bn.tryScan((()=>Bn.reScanInvalidIdentifier()===79)))return Ss(!0);ig++;let ni=T()===1,Ci=Bn.isReservedWord(),ts=Bn.getTokenText(),Ps=Ci?Sv.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:Sv.Identifier_expected;return Jn(79,ni,Hn||Ps,ts)}function hc(Me){return Ss(Tt(),void 0,Me)}function wr(Me,Bn){return Ss(kt(),Me,Bn)}function zr(Me){return Ss(fr(T()),Me)}function xs(){return fr(T())||T()===10||T()===8}function Nd(){return fr(T())||T()===10}function R2(Me){if(T()===10||T()===8){let Me=Di();return Me.text=Ia(Me.text),Me}return Me&&T()===22?j2():T()===80?gc():zr()}function Es(){return R2(!0)}function j2(){let Me=L();de(22);let Bn=It(Sr);return de(23),Q(oa.createComputedPropertyName(Bn),Me)}function gc(){let Me=L(),Hn=Jo(Ia(Bn.getTokenValue()));return _e(),Q(Hn,Me)}function Ks(Me){return T()===Me&&Tr(Od)}function uu(){return _e(),Bn.hasPrecedingLineBreak()?!1:ta()}function Od(){switch(T()){case 85:return _e()===92;case 93:return _e(),T()===88?wt(Ld):T()===154?wt(J2):r_();case 88:return Ld();case 124:case 137:case 151:return _e(),ta();default:return uu()}}function r_(){return T()===59||T()!==41&&T()!==128&&T()!==18&&ta()}function J2(){return _e(),r_()}function Md(){return Wi(T())&&Tr(Od)}function ta(){return T()===22||T()===18||T()===41||T()===25||xs()}function Ld(){return _e(),T()===84||T()===98||T()===118||T()===59||T()===126&&wt(gh)||T()===132&&wt(yh)}function Xs(Me,Bn){if(mu(Me))return!0;switch(Me){case 0:case 1:case 3:return!(T()===26&&Bn)&&vh();case 2:return T()===82||T()===88;case 4:return wt(om);case 5:return wt(Jb)||T()===26&&!Bn;case 6:return T()===22||xs();case 12:switch(T()){case 22:case 41:case 25:case 24:return!0;default:return xs()}case 18:return xs();case 9:return T()===22||T()===25||xs();case 24:return Nd();case 7:return T()===18?wt(Rd):Bn?kt()&&!fu():Fu()&&!fu();case 8:return tp();case 10:return T()===27||T()===25||tp();case 19:return T()===101||T()===85||kt();case 15:switch(T()){case 27:case 24:return!0}case 11:return T()===25||La();case 16:return Ec(!1);case 17:return Ec(!0);case 20:case 21:return T()===27||eo();case 22:return Oc();case 23:return fr(T());case 13:return fr(T())||T()===18;case 14:return!0}return qp.fail("Non-exhaustive case in 'isListElement'.")}function Rd(){if(qp.assert(T()===18),_e()===19){let Me=_e();return Me===27||Me===18||Me===94||Me===117}return!0}function yc(){return _e(),kt()}function pu(){return _e(),fr(T())}function F2(){return _e(),qT(T())}function fu(){return T()===117||T()===94?wt(jd):!1}function jd(){return _e(),La()}function Jd(){return _e(),eo()}function Na(Me){if(T()===1)return!0;switch(Me){case 1:case 2:case 4:case 5:case 6:case 12:case 9:case 23:case 24:return T()===19;case 3:return T()===19||T()===82||T()===88;case 7:return T()===18||T()===94||T()===117;case 8:return B2();case 19:return T()===31||T()===20||T()===18||T()===94||T()===117;case 11:return T()===21||T()===26;case 15:case 21:case 10:return T()===23;case 17:case 16:case 18:return T()===21||T()===23;case 20:return T()!==27;case 22:return T()===18||T()===19;case 13:return T()===31||T()===43;case 14:return T()===29&&wt(Xb);default:return!1}}function B2(){return!!(ka()||jm(T())||T()===38)}function du(){for(let Me=0;Me<25;Me++)if(sg&1<=0)}function z2(Me){return Me===6?Sv.An_enum_member_name_must_be_followed_by_a_or:void 0}function ui(){let Me=Er([],L());return Me.isMissingList=!0,Me}function W2(Me){return!!Me.isMissingList}function Oa(Me,Bn,Hn,zn){if(de(Hn)){let Hn=mn(Me,Bn);return de(zn),Hn}return ui()}function Ys(Me,Bn){let Hn=L(),zn=Me?zr(Bn):wr(Bn);for(;Ot(24)&&T()!==29;)zn=Q(oa.createQualifiedName(zn,bc(Me,!1)),Hn);return zn}function Tu(Me,Bn){return Q(oa.createQualifiedName(Me,Bn),Me.pos)}function bc(Me,Hn){if(Bn.hasPrecedingLineBreak()&&fr(T())&&wt(Qu))return Jn(79,!0,Sv.Identifier_expected);if(T()===80){let Me=gc();return Hn?Me:Jn(79,!0,Sv.Identifier_expected)}return Me?zr():wr()}function Su(Me){let Bn=L(),Hn=[],zn;do{zn=H2(Me),Hn.push(zn)}while(zn.literal.kind===16);return Er(Hn,Bn)}function Wd(Me){let Bn=L();return Q(oa.createTemplateExpression(Hd(Me),Su(Me)),Bn)}function xu(){let Me=L();return Q(oa.createTemplateLiteralType(Hd(!1),Vd()),Me)}function Vd(){let Me=L(),Bn=[],Hn;do{Hn=V2(),Bn.push(Hn)}while(Hn.literal.kind===16);return Er(Bn,Me)}function V2(){let Me=L();return Q(oa.createTemplateLiteralTypeSpan(sr(),Eu(!1)),Me)}function Eu(Me){return T()===19?(Yt(Me),Tc()):ea(17,Sv._0_expected,Br(19))}function H2(Me){let Bn=L();return Q(oa.createTemplateSpan(It(Sr),Eu(Me)),Bn)}function Di(){return n_(T())}function Hd(Me){Me&&$t();let Bn=n_(T());return qp.assert(Bn.kind===15,"Template head has wrong token kind"),Bn}function Tc(){let Me=n_(T());return qp.assert(Me.kind===16||Me.kind===17,"Template fragment has wrong token kind"),Me}function Gd(Me){let Hn=Me===14||Me===17,zn=Bn.getTokenText();return zn.substring(1,zn.length-(Bn.isUnterminated()?0:Hn?1:2))}function n_(Me){let Hn=L(),zn=yl(Me)?oa.createTemplateLiteralLikeNode(Me,Bn.getTokenValue(),Gd(Me),Bn.getTokenFlags()&2048):Me===8?Ga(Bn.getTokenValue(),Bn.getNumericLiteralFlags()):Me===10?Ha(Bn.getTokenValue(),void 0,Bn.hasExtendedUnicodeEscape()):ky(Me)?so(Me,Bn.getTokenValue()):qp.fail();return Bn.hasExtendedUnicodeEscape()&&(zn.hasExtendedUnicodeEscape=!0),Bn.isUnterminated()&&(zn.isUnterminated=!0),_e(),Q(zn,Hn)}function wu(){return Ys(!0,Sv.Type_expected)}function Qs(){if(!Bn.hasPrecedingLineBreak()&&Wt()===29)return Oa(20,sr,29,31)}function Sc(){let Me=L();return Q(oa.createTypeReferenceNode(wu(),Qs()),Me)}function Cu(Me){switch(Me.kind){case 180:return va(Me.typeName);case 181:case 182:{let{parameters:Bn,type:Hn}=Me;return W2(Bn)||Cu(Hn)}case 193:return Cu(Me.type);default:return!1}}function G2(Me){return _e(),Q(oa.createTypePredicateNode(void 0,Me,sr()),Me.pos)}function $d(){let Me=L();return _e(),Q(oa.createThisTypeNode(),Me)}function Kd(){let Me=L();return _e(),Q(oa.createJSDocAllType(),Me)}function $2(){let Me=L();return _e(),Q(oa.createJSDocNonNullableType(Lu(),!1),Me)}function Xd(){let Me=L();return _e(),T()===27||T()===19||T()===21||T()===31||T()===63||T()===51?Q(oa.createJSDocUnknownType(),Me):Q(oa.createJSDocNullableType(sr(),!1),Me)}function K2(){let Me=L(),Bn=fe();if(wt(qh)){_e();let Hn=ra(36),zn=pi(58,!1);return St(Q(oa.createJSDocFunctionType(Hn,zn),Me),Bn)}return Q(oa.createTypeReferenceNode(zr(),void 0),Me)}function Yd(){let Me=L(),Bn;return(T()===108||T()===103)&&(Bn=zr(),de(58)),Q(oa.createParameterDeclaration(void 0,void 0,Bn,void 0,xc(),void 0),Me)}function xc(){Bn.setInJSDocType(!0);let Me=L();if(Ot(142)){let Hn=oa.createJSDocNamepathType(void 0);e:for(;;)switch(T()){case 19:case 1:case 27:case 5:break e;default:Ge()}return Bn.setInJSDocType(!1),Q(Hn,Me)}let Hn=Ot(25),zn=Ju();return Bn.setInJSDocType(!1),Hn&&(zn=Q(oa.createJSDocVariadicType(zn),Me)),T()===63?(_e(),Q(oa.createJSDocOptionalType(zn),Me)):zn}function X2(){let Me=L();de(112);let Hn=Ys(!0),zn=Bn.hasPrecedingLineBreak()?void 0:Nc();return Q(oa.createTypeQueryNode(Hn,zn),Me)}function Qd(){let Me=L(),Bn=ki(!1,!0),Hn=wr(),zn,ni;Ot(94)&&(eo()||!La()?zn=sr():ni=Wu());let Ci=Ot(63)?sr():void 0,ts=oa.createTypeParameterDeclaration(Bn,Hn,zn,Ci);return ts.expression=ni,Q(ts,Me)}function Xn(){if(T()===29)return Oa(19,Qd,29,31)}function Ec(Me){return T()===25||tp()||Wi(T())||T()===59||eo(!Me)}function Zd(Me){let Bn=no(Sv.Private_identifiers_cannot_be_used_as_parameters);return hf(Bn)===0&&!Ke(Me)&&Wi(T())&&_e(),Bn}function em(){return Tt()||T()===22||T()===18}function Au(Me){return Pu(Me)}function tm(Me){return Pu(Me,!1)}function Pu(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Hn=L(),zn=fe(),ni=Me?Xi((()=>ki(!0))):Aa((()=>ki(!0)));if(T()===108){let Me=oa.createParameterDeclaration(ni,void 0,Ss(!0),void 0,Ma(),void 0),Bn=pa(ni);return Bn&&ie(Bn,Sv.Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters),St(Q(Me,Hn),zn)}let Ci=ug;ug=!1;let ts=dr(25);if(!Bn&&!em())return;let Ps=St(Q(oa.createParameterDeclaration(ni,ts,Zd(ni),dr(57),Ma(),Ra()),Hn),zn);return ug=Ci,Ps}function pi(Me,Bn){if(rm(Me,Bn))return gr(Ju)}function rm(Me,Bn){return Me===38?(de(Me),!0):Ot(58)?!0:Bn&&T()===38?(Dt(Sv._0_expected,Br(58)),_e(),!0):!1}function wc(Me,Bn){let Hn=Yi(),zn=xn();Le(!!(Me&1)),ot(!!(Me&2));let ni=Me&32?mn(17,Yd):mn(16,(()=>Bn?Au(zn):tm(zn)));return Le(Hn),ot(zn),ni}function ra(Me){if(!de(20))return ui();let Bn=wc(Me,!0);return de(21),Bn}function i_(){Ot(27)||En()}function nm(Me){let Bn=L(),Hn=fe();Me===177&&de(103);let zn=Xn(),ni=ra(4),Ci=pi(58,!0);i_();let ts=Me===176?oa.createCallSignature(zn,ni,Ci):oa.createConstructSignature(zn,ni,Ci);return St(Q(ts,Bn),Hn)}function im(){return T()===22&&wt(Zs)}function Zs(){if(_e(),T()===25||T()===23)return!0;if(Wi(T())){if(_e(),kt())return!0}else if(kt())_e();else return!1;return T()===58||T()===27?!0:T()!==57?!1:(_e(),T()===58||T()===27||T()===23)}function am(Me,Bn,Hn){let zn=Oa(16,(()=>Au(!1)),22,23),ni=Ma();i_();let Ci=oa.createIndexSignature(Hn,zn,ni);return St(Q(Ci,Me),Bn)}function sm(Me,Bn,Hn){let zn=Es(),ni=dr(57),Ci;if(T()===20||T()===29){let Me=Xn(),Bn=ra(4),ts=pi(58,!0);Ci=oa.createMethodSignature(Hn,zn,ni,Me,Bn,ts)}else{let Me=Ma();Ci=oa.createPropertySignature(Hn,zn,ni,Me),T()===63&&(Ci.initializer=Ra())}return i_(),St(Q(Ci,Me),Bn)}function om(){if(T()===20||T()===29||T()===137||T()===151)return!0;let Me=!1;for(;Wi(T());)Me=!0,_e();return T()===22?!0:(xs()&&(Me=!0,_e()),Me?T()===20||T()===29||T()===57||T()===58||T()===27||ka():!1)}function Du(){if(T()===20||T()===29)return nm(176);if(T()===103&&wt(a_))return nm(177);let Me=L(),Bn=fe(),Hn=ki(!1);return Ks(137)?Fa(Me,Bn,Hn,174,4):Ks(151)?Fa(Me,Bn,Hn,175,4):im()?am(Me,Bn,Hn):sm(Me,Bn,Hn)}function a_(){return _e(),T()===20||T()===29}function Y2(){return _e()===24}function ku(){switch(_e()){case 20:case 29:case 24:return!0}return!1}function Q2(){let Me=L();return Q(oa.createTypeLiteralNode(Iu()),Me)}function Iu(){let Me;return de(18)?(Me=Kn(4,Du),de(19)):Me=ui(),Me}function Z2(){return _e(),T()===39||T()===40?_e()===146:(T()===146&&_e(),T()===22&&yc()&&_e()===101)}function _m(){let Me=L(),Bn=zr();de(101);let Hn=sr();return Q(oa.createTypeParameterDeclaration(void 0,Bn,Hn,void 0),Me)}function eb(){let Me=L();de(18);let Bn;(T()===146||T()===39||T()===40)&&(Bn=sn(),Bn.kind!==146&&de(146)),de(22);let Hn=_m(),zn=Ot(128)?sr():void 0;de(23);let ni;(T()===57||T()===39||T()===40)&&(ni=sn(),ni.kind!==57&&de(57));let Ci=Ma();En();let ts=Kn(4,Du);return de(19),Q(oa.createMappedTypeNode(Bn,Hn,zn,ni,Ci,ts),Me)}function Nu(){let Me=L();if(Ot(25))return Q(oa.createRestTypeNode(sr()),Me);let Bn=sr();if(uE(Bn)&&Bn.pos===Bn.type.pos){let Me=oa.createOptionalTypeNode(Bn.type);return Rt(Me,Bn),Me.flags=Bn.flags,Me}return Bn}function cm(){return _e()===58||T()===57&&_e()===58}function lm(){return T()===25?fr(_e())&&cm():fr(T())&&cm()}function tb(){if(wt(lm)){let Me=L(),Bn=fe(),Hn=dr(25),zn=zr(),ni=dr(57);de(58);let Ci=Nu(),ts=oa.createNamedTupleMember(Hn,zn,ni,Ci);return St(Q(ts,Me),Bn)}return Nu()}function um(){let Me=L();return Q(oa.createTupleTypeNode(Oa(21,tb,22,23)),Me)}function rb(){let Me=L();de(20);let Bn=sr();return de(21),Q(oa.createParenthesizedType(Bn),Me)}function pm(){let Me;if(T()===126){let Bn=L();_e();let Hn=Q(tc(126),Bn);Me=Er([Hn],Bn)}return Me}function fm(){let Me=L(),Bn=fe(),Hn=pm(),zn=Ot(103);qp.assert(!Hn||zn,"Per isStartOfFunctionOrConstructorType, a function type cannot have modifiers.");let ni=Xn(),Ci=ra(4),ts=pi(38,!1),Ps=zn?oa.createConstructorTypeNode(Hn,ni,Ci,ts):oa.createFunctionTypeNode(ni,Ci,ts);return St(Q(Ps,Me),Bn)}function Ou(){let Me=sn();return T()===24?void 0:Me}function dm(Me){let Bn=L();Me&&_e();let Hn=T()===110||T()===95||T()===104?sn():n_(T());return Me&&(Hn=Q(oa.createPrefixUnaryExpression(40,Hn),Bn)),Q(oa.createLiteralTypeNode(Hn),Bn)}function mm(){return _e(),T()===100}function nb(){let Me=L(),Hn=Bn.getTokenPos();de(18);let zn=Bn.hasPrecedingLineBreak();de(130),de(58);let ni=_p(!0);if(!de(19)){let Me=Cn(oA);Me&&Me.code===Sv._0_expected.code&&Rl(Me,Ro(xd,Hn,1,Sv.The_parser_expected_to_find_a_1_to_match_the_0_token_here,"{","}"))}return Q(oa.createImportTypeAssertionContainer(ni,zn),Me)}function Mu(){Td|=2097152;let Me=L(),Bn=Ot(112);de(100),de(20);let Hn=sr(),zn;Ot(27)&&(zn=nb()),de(21);let ni=Ot(24)?wu():void 0,Ci=Qs();return Q(oa.createImportTypeNode(Hn,zn,ni,Ci,Bn),Me)}function hm(){return _e(),T()===8||T()===9}function Lu(){switch(T()){case 131:case 157:case 152:case 148:case 160:case 153:case 134:case 155:case 144:case 149:return Tr(Ou)||Sc();case 66:Bn.reScanAsteriskEqualsToken();case 41:return Kd();case 60:Bn.reScanQuestionToken();case 57:return Xd();case 98:return K2();case 53:return $2();case 14:case 10:case 8:case 9:case 110:case 95:case 104:return dm();case 40:return wt(hm)?dm(!0):Sc();case 114:return sn();case 108:{let Me=$d();return T()===140&&!Bn.hasPrecedingLineBreak()?G2(Me):Me}case 112:return wt(mm)?Mu():X2();case 18:return wt(Z2)?eb():Q2();case 22:return um();case 20:return rb();case 100:return Mu();case 129:return wt(Qu)?Cm():Sc();case 15:return xu();default:return Sc()}}function eo(Me){switch(T()){case 131:case 157:case 152:case 148:case 160:case 134:case 146:case 153:case 156:case 114:case 155:case 104:case 108:case 112:case 144:case 18:case 22:case 29:case 51:case 50:case 103:case 10:case 8:case 9:case 110:case 95:case 149:case 41:case 57:case 53:case 25:case 138:case 100:case 129:case 14:case 15:return!0;case 98:return!Me;case 40:return!Me&&wt(hm);case 20:return!Me&&wt(gm);default:return kt()}}function gm(){return _e(),T()===21||Ec(!1)||eo()}function ym(){let Me=L(),Hn=Lu();for(;!Bn.hasPrecedingLineBreak();)switch(T()){case 53:_e(),Hn=Q(oa.createJSDocNonNullableType(Hn,!0),Me);break;case 57:if(wt(Jd))return Hn;_e(),Hn=Q(oa.createJSDocNullableType(Hn,!0),Me);break;case 22:if(de(22),eo()){let Bn=sr();de(23),Hn=Q(oa.createIndexedAccessTypeNode(Hn,Bn),Me)}else de(23),Hn=Q(oa.createArrayTypeNode(Hn),Me);break;default:return Hn}return Hn}function vm(Me){let Bn=L();return de(Me),Q(oa.createTypeOperatorNode(Me,Tm()),Bn)}function ib(){if(Ot(94)){let Me=Ln(sr);if(bs()||T()!==57)return Me}}function bm(){let Me=L(),Bn=wr(),Hn=Tr(ib),zn=oa.createTypeParameterDeclaration(void 0,Bn,Hn);return Q(zn,Me)}function ab(){let Me=L();return de(138),Q(oa.createInferTypeNode(bm()),Me)}function Tm(){let Me=T();switch(Me){case 141:case 156:case 146:return vm(Me);case 138:return ab()}return gr(ym)}function Cc(Me){if(ju()){let Bn=fm(),Hn;return $l(Bn)?Hn=Me?Sv.Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:Sv.Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:Hn=Me?Sv.Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:Sv.Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type,ie(Bn,Hn),Bn}}function Sm(Me,Bn,Hn){let zn=L(),ni=Me===51,Ci=Ot(Me),ts=Ci&&Cc(ni)||Bn();if(T()===Me||Ci){let Ci=[ts];for(;Ot(Me);)Ci.push(Cc(ni)||Bn());ts=Q(Hn(Er(Ci,zn)),zn)}return ts}function Ru(){return Sm(50,Tm,oa.createIntersectionTypeNode)}function sb(){return Sm(51,Ru,oa.createUnionTypeNode)}function xm(){return _e(),T()===103}function ju(){return T()===29||T()===20&&wt(Em)?!0:T()===103||T()===126&&wt(xm)}function ob(){if(Wi(T())&&ki(!1),kt()||T()===108)return _e(),!0;if(T()===22||T()===18){let Me=oA.length;return no(),Me===oA.length}return!1}function Em(){return _e(),!!(T()===21||T()===25||ob()&&(T()===58||T()===27||T()===57||T()===63||T()===21&&(_e(),T()===38)))}function Ju(){let Me=L(),Bn=kt()&&Tr(wm),Hn=sr();return Bn?Q(oa.createTypePredicateNode(void 0,Bn,Hn),Me):Hn}function wm(){let Me=wr();if(T()===140&&!Bn.hasPrecedingLineBreak())return _e(),Me}function Cm(){let Me=L(),Bn=ea(129),Hn=T()===108?$d():wr(),zn=Ot(140)?sr():void 0;return Q(oa.createTypePredicateNode(Bn,Hn,zn),Me)}function sr(){if(og&40960)return Ct(40960,sr);if(ju())return fm();let Me=L(),Hn=sb();if(!bs()&&!Bn.hasPrecedingLineBreak()&&Ot(94)){let Bn=Ln(sr);de(57);let zn=gr(sr);de(58);let ni=gr(sr);return Q(oa.createConditionalTypeNode(Hn,Bn,zn,ni),Me)}return Hn}function Ma(){return Ot(58)?sr():void 0}function Fu(){switch(T()){case 108:case 106:case 104:case 110:case 95:case 8:case 9:case 10:case 14:case 15:case 20:case 22:case 18:case 98:case 84:case 103:case 43:case 68:case 79:return!0;case 100:return wt(ku);default:return kt()}}function La(){if(Fu())return!0;switch(T()){case 39:case 40:case 54:case 53:case 89:case 112:case 114:case 45:case 46:case 29:case 133:case 125:case 80:case 59:return!0;default:return Jm()?!0:kt()}}function Am(){return T()!==18&&T()!==98&&T()!==84&&T()!==59&&La()}function Sr(){let Me=Ai();Me&&Re(!1);let Bn=L(),Hn=Yr(!0),zn;for(;zn=dr(27);)Hn=Uu(Hn,zn,Yr(!0),Bn);return Me&&Re(!0),Hn}function Ra(){return Ot(63)?Yr(!0):void 0}function Yr(Me){if(Pm())return Dm();let Bn=cb(Me)||Mm(Me);if(Bn)return Bn;let Hn=L(),zn=s_(0);return zn.kind===79&&T()===38?km(Hn,zn,Me,void 0):Do(zn)&&G_(bt())?Uu(zn,sn(),Yr(Me),Hn):lb(zn,Hn,Me)}function Pm(){return T()===125?Yi()?!0:wt(Zu):!1}function _b(){return _e(),!Bn.hasPrecedingLineBreak()&&kt()}function Dm(){let Me=L();return _e(),!Bn.hasPrecedingLineBreak()&&(T()===41||La())?Q(oa.createYieldExpression(dr(41),Yr(!0)),Me):Q(oa.createYieldExpression(void 0,void 0),Me)}function km(Me,Bn,Hn,zn){qp.assert(T()===38,"parseSimpleArrowFunctionExpression should only have been called if we had a =>");let ni=oa.createParameterDeclaration(void 0,void 0,Bn,void 0,void 0,void 0);Q(ni,Bn.pos);let Ci=Er([ni],ni.pos,ni.end),ts=ea(38),Ps=Bu(!!zn,Hn),aa=oa.createArrowFunction(zn,void 0,Ci,void 0,ts,Ps);return He(Q(aa,Me))}function cb(Me){let Bn=Im();if(Bn!==0)return Bn===1?Rm(!0,!0):Tr((()=>Om(Me)))}function Im(){return T()===20||T()===29||T()===132?wt(Nm):T()===38?1:0}function Nm(){if(T()===132&&(_e(),Bn.hasPrecedingLineBreak()||T()!==20&&T()!==29))return 0;let Me=T(),Hn=_e();if(Me===20){if(Hn===21)switch(_e()){case 38:case 58:case 18:return 1;default:return 0}if(Hn===22||Hn===18)return 2;if(Hn===25)return 1;if(Wi(Hn)&&Hn!==132&&wt(yc))return _e()===128?0:1;if(!kt()&&Hn!==108)return 0;switch(_e()){case 58:return 1;case 57:return _e(),T()===58||T()===27||T()===63||T()===21?1:0;case 27:case 63:case 21:return 2}return 0}else return qp.assert(Me===29),!kt()&&T()!==85?0:sA===1?wt((()=>{Ot(85);let Me=_e();if(Me===94)switch(_e()){case 63:case 31:case 43:return!1;default:return!0}else if(Me===27||Me===63)return!0;return!1}))?1:0:2}function Om(Me){let Hn=Bn.getTokenPos();if(ag!=null&&ag.has(Hn))return;let zn=Rm(!1,Me);return zn||(ag||(ag=new Set)).add(Hn),zn}function Mm(Me){if(T()===132&&wt(Lm)===1){let Bn=L(),Hn=sp(),zn=s_(0);return km(Bn,zn,Me,Hn)}}function Lm(){if(T()===132){if(_e(),Bn.hasPrecedingLineBreak()||T()===38)return 0;let Me=s_(0);if(!Bn.hasPrecedingLineBreak()&&Me.kind===79&&T()===38)return 1}return 0}function Rm(Me,Bn){let Hn=L(),zn=fe(),ni=sp(),Ci=Ke(ni,Ul)?2:0,ts=Xn(),Ps;if(de(20)){if(Me)Ps=wc(Ci,Me);else{let Bn=wc(Ci,Me);if(!Bn)return;Ps=Bn}if(!de(21)&&!Me)return}else{if(!Me)return;Ps=ui()}let aa=T()===58,ca=pi(58,!1);if(ca&&!Me&&Cu(ca))return;let _a=ca;for(;(_a==null?void 0:_a.kind)===193;)_a=_a.type;let xa=_a&&dd(_a);if(!Me&&T()!==38&&(xa||T()!==18))return;let Ga=T(),Ha=ea(38),so=Ga===38||Ga===18?Bu(Ke(ni,Ul),Bn):wr();if(!Bn&&aa&&T()!==58)return;let oo=oa.createArrowFunction(ni,ts,Ps,ca,Ha,so);return St(Q(oo,Hn),zn)}function Bu(Me,Bn){if(T()===18)return Dc(Me?2:0);if(T()!==26&&T()!==98&&T()!==84&&vh()&&!Am())return Dc(16|(Me?2:0));let Hn=ug;ug=!1;let zn=Me?Xi((()=>Yr(Bn))):Aa((()=>Yr(Bn)));return ug=Hn,zn}function lb(Me,Bn,zn){let ni=dr(57);if(!ni)return Me;let Ci;return Q(oa.createConditionalExpression(Me,ni,Ct(Hn,(()=>Yr(!1))),Ci=ea(58),xl(Ci)?Yr(zn):Jn(79,!1,Sv._0_expected,Br(58))),Bn)}function s_(Me){let Bn=L(),Hn=Wu();return qu(Me,Hn,Bn)}function jm(Me){return Me===101||Me===162}function qu(Me,Hn,zn){for(;;){bt();let ni=Dl(T());if(!(T()===42?ni>=Me:ni>Me)||T()===101&&Qi())break;if(T()===128||T()===150){if(Bn.hasPrecedingLineBreak())break;{let Me=T();_e(),Hn=Me===150?Fm(Hn,sr()):Bm(Hn,sr())}}else Hn=Uu(Hn,sn(),s_(ni),zn)}return Hn}function Jm(){return Qi()&&T()===101?!1:Dl(T())>0}function Fm(Me,Bn){return Q(oa.createSatisfiesExpression(Me,Bn),Me.pos)}function Uu(Me,Bn,Hn,zn){return Q(oa.createBinaryExpression(Me,Bn,Hn),zn)}function Bm(Me,Bn){return Q(oa.createAsExpression(Me,Bn),Me.pos)}function qm(){let Me=L();return Q(oa.createPrefixUnaryExpression(T(),mt(na)),Me)}function Um(){let Me=L();return Q(oa.createDeleteExpression(mt(na)),Me)}function ub(){let Me=L();return Q(oa.createTypeOfExpression(mt(na)),Me)}function zm(){let Me=L();return Q(oa.createVoidExpression(mt(na)),Me)}function pb(){return T()===133?xn()?!0:wt(Zu):!1}function zu(){let Me=L();return Q(oa.createAwaitExpression(mt(na)),Me)}function Wu(){if(Wm()){let Me=L(),Bn=Vm();return T()===42?qu(Dl(T()),Bn,Me):Bn}let Me=T(),Bn=na();if(T()===42){let Hn=Ar(Pd,Bn.pos),{end:zn}=Bn;Bn.kind===213?Z(Hn,zn,Sv.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses):Z(Hn,zn,Sv.An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses,Br(Me))}return Bn}function na(){switch(T()){case 39:case 40:case 54:case 53:return qm();case 89:return Um();case 112:return ub();case 114:return zm();case 29:return sA===1?o_(!0):Zm();case 133:if(pb())return zu();default:return Vm()}}function Wm(){switch(T()){case 39:case 40:case 54:case 53:case 89:case 112:case 114:case 133:return!1;case 29:if(sA!==1)return!1;default:return!0}}function Vm(){if(T()===45||T()===46){let Me=L();return Q(oa.createPrefixUnaryExpression(T(),mt(to)),Me)}else if(sA===1&&T()===29&&wt(F2))return o_(!0);let Me=to();if(qp.assert(Do(Me)),(T()===45||T()===46)&&!Bn.hasPrecedingLineBreak()){let Bn=T();return _e(),Q(oa.createPostfixUnaryExpression(Me,Bn),Me.pos)}return Me}function to(){let Me=L(),Bn;return T()===100?wt(a_)?(Td|=2097152,Bn=sn()):wt(Y2)?(_e(),_e(),Bn=Q(oa.createMetaProperty(100,zr()),Me),Td|=4194304):Bn=Hm():Bn=T()===106?Vu():Hm(),$u(Me,Bn)}function Hm(){let Me=L(),Bn=Ku();return Ja(Me,Bn,!0)}function Vu(){let Me=L(),Bn=sn();if(T()===29){let Me=L(),Hn=Tr(Pc);Hn!==void 0&&(Z(Me,L(),Sv.super_may_not_use_type_arguments),__()||(Bn=oa.createExpressionWithTypeArguments(Bn,Hn)))}return T()===20||T()===24||T()===22?Bn:(ea(24,Sv.super_must_be_followed_by_an_argument_list_or_member_access),Q(Jc(Bn,bc(!0,!0)),Me))}function o_(Me,Bn,Hn){let zn=L(),ni=Km(Me),Ci;if(ni.kind===283){let Bn=$m(ni),ts,Ps=Bn[Bn.length-1];if((Ps==null?void 0:Ps.kind)===281&&!Hi(Ps.openingElement.tagName,Ps.closingElement.tagName)&&Hi(ni.tagName,Ps.closingElement.tagName)){let Me=Ps.children.end,Hn=Q(oa.createJsxElement(Ps.openingElement,Ps.children,Q(oa.createJsxClosingElement(Q(oo(""),Me,Me)),Me,Me)),Ps.openingElement.pos,Me);Bn=Er([...Bn.slice(0,Bn.length-1),Hn],Bn.pos,Me),ts=Ps.closingElement}else ts=Qm(ni,Me),Hi(ni.tagName,ts.tagName)||(Hn&&tu(Hn)&&Hi(ts.tagName,Hn.tagName)?ie(ni.tagName,Sv.JSX_element_0_has_no_corresponding_closing_tag,B_(Pd,ni.tagName)):ie(ts.tagName,Sv.Expected_corresponding_JSX_closing_tag_for_0,B_(Pd,ni.tagName)));Ci=Q(oa.createJsxElement(ni,Bn,ts),zn)}else ni.kind===286?Ci=Q(oa.createJsxFragment(ni,$m(ni),gb(Me)),zn):(qp.assert(ni.kind===282),Ci=ni);if(Me&&T()===29){let Me=typeof Bn>"u"?Ci.pos:Bn,Hn=Tr((()=>o_(!0,Me)));if(Hn){let Bn=Jn(27,!1);return $f(Bn,Hn.pos,0),Z(Ar(Pd,Me),Hn.end,Sv.JSX_expressions_must_have_one_parent_element),Q(oa.createBinaryExpression(Ci,Bn,Hn),zn)}}return Ci}function fb(){let Me=L(),Hn=oa.createJsxText(Bn.getTokenValue(),tg===12);return tg=Bn.scanJsxToken(),Q(Hn,Me)}function Gm(Me,Bn){switch(Bn){case 1:if(u2(Me))ie(Me,Sv.JSX_fragment_has_no_corresponding_closing_tag);else{let Bn=Me.tagName,Hn=Ar(Pd,Bn.pos);Z(Hn,Bn.end,Sv.JSX_element_0_has_no_corresponding_closing_tag,B_(Pd,Me.tagName))}return;case 30:case 7:return;case 11:case 12:return fb();case 18:return Xm(!1);case 29:return o_(!1,void 0,Me);default:return qp.assertNever(Bn)}}function $m(Me){let Hn=[],zn=L(),ni=sg;for(sg|=1<<14;;){let zn=Gm(Me,tg=Bn.reScanJsxToken());if(!zn||(Hn.push(zn),tu(Me)&&(zn==null?void 0:zn.kind)===281&&!Hi(zn.openingElement.tagName,zn.closingElement.tagName)&&Hi(Me.tagName,zn.closingElement.tagName)))break}return sg=ni,Er(Hn,zn)}function db(){let Me=L();return Q(oa.createJsxAttributes(Kn(13,mb)),Me)}function Km(Me){let Bn=L();if(de(29),T()===31)return Lr(),Q(oa.createJsxOpeningFragment(),Bn);let Hn=Ac(),zn=og&262144?void 0:Nc(),ni=db(),Ci;return T()===31?(Lr(),Ci=oa.createJsxOpeningElement(Hn,zn,ni)):(de(43),de(31,void 0,!1)&&(Me?_e():Lr()),Ci=oa.createJsxSelfClosingElement(Hn,zn,ni)),Q(Ci,Bn)}function Ac(){let Me=L();Dr();let Bn=T()===108?sn():zr();for(;Ot(24);)Bn=Q(Jc(Bn,bc(!0,!1)),Me);return Bn}function Xm(Me){let Bn=L();if(!de(18))return;let Hn,zn;return T()!==19&&(Hn=dr(25),zn=Sr()),Me?de(19):de(19,void 0,!1)&&Lr(),Q(oa.createJsxExpression(Hn,zn),Bn)}function mb(){if(T()===18)return hb();Dr();let Me=L();return Q(oa.createJsxAttribute(zr(),Ym()),Me)}function Ym(){if(T()===63){if(yr()===10)return Di();if(T()===18)return Xm(!0);if(T()===29)return o_(!0);Dt(Sv.or_JSX_element_expected)}}function hb(){let Me=L();de(18),de(25);let Bn=Sr();return de(19),Q(oa.createJsxSpreadAttribute(Bn),Me)}function Qm(Me,Bn){let Hn=L();de(30);let zn=Ac();return de(31,void 0,!1)&&(Bn||!Hi(Me.tagName,zn)?_e():Lr()),Q(oa.createJsxClosingElement(zn),Hn)}function gb(Me){let Bn=L();return de(30),de(31,Sv.Expected_corresponding_closing_tag_for_JSX_fragment,!1)&&(Me?_e():Lr()),Q(oa.createJsxJsxClosingFragment(),Bn)}function Zm(){qp.assert(sA!==1,"Type assertions should never be parsed in JSX; they should be parsed as comparisons or JSX elements/fragments.");let Me=L();de(29);let Bn=sr();de(31);let Hn=na();return Q(oa.createTypeAssertion(Bn,Hn),Me)}function yb(){return _e(),fr(T())||T()===22||__()}function eh(){return T()===28&&wt(yb)}function Hu(Me){if(Me.flags&32)return!0;if(Uo(Me)){let Bn=Me.expression;for(;Uo(Bn)&&!(Bn.flags&32);)Bn=Bn.expression;if(Bn.flags&32){for(;Uo(Me);)Me.flags|=32,Me=Me.expression;return!0}}return!1}function fi(Me,Bn,Hn){let zn=bc(!0,!0),ni=Hn||Hu(Bn),Ci=ni?Dp(Bn,Hn,zn):Jc(Bn,zn);if(ni&&vn(Ci.name)&&ie(Ci.name,Sv.An_optional_chain_cannot_contain_private_identifiers),e2(Bn)&&Bn.typeArguments){let Me=Bn.typeArguments.pos-1,Hn=Ar(Pd,Bn.typeArguments.end)+1;Z(Me,Hn,Sv.An_instantiation_expression_cannot_be_followed_by_a_property_access)}return Q(Ci,Me)}function ja(Me,Bn,Hn){let zn;if(T()===23)zn=Jn(79,!0,Sv.An_element_access_expression_should_take_an_argument);else{let Me=It(Sr);Ta(Me)&&(Me.text=Ia(Me.text)),zn=Me}de(23);let ni=Hn||Hu(Bn)?Qp(Bn,Hn,zn):kp(Bn,zn);return Q(ni,Me)}function Ja(Me,Hn,zn){for(;;){let ni,Ci=!1;if(zn&&eh()?(ni=ea(28),Ci=fr(T())):Ci=Ot(24),Ci){Hn=fi(Me,Hn,ni);continue}if((ni||!Ai())&&Ot(22)){Hn=ja(Me,Hn,ni);continue}if(__()){Hn=!ni&&Hn.kind===230?Gu(Me,Hn.expression,ni,Hn.typeArguments):Gu(Me,Hn,ni,void 0);continue}if(!ni){if(T()===53&&!Bn.hasPrecedingLineBreak()){_e(),Hn=Q(oa.createNonNullExpression(Hn),Me);continue}let zn=Tr(Pc);if(zn){Hn=Q(oa.createExpressionWithTypeArguments(Hn,zn),Me);continue}}return Hn}}function __(){return T()===14||T()===15}function Gu(Me,Bn,Hn,zn){let ni=oa.createTaggedTemplateExpression(Bn,zn,T()===14?($t(),Di()):Wd(!0));return(Hn||Bn.flags&32)&&(ni.flags|=32),ni.questionDotToken=Hn,Q(ni,Me)}function $u(Me,Bn){for(;;){Bn=Ja(Me,Bn,!0);let Hn,zn=dr(28);if(zn&&(Hn=Tr(Pc),__())){Bn=Gu(Me,Bn,zn,Hn);continue}if(Hn||T()===20){!zn&&Bn.kind===230&&(Hn=Bn.typeArguments,Bn=Bn.expression);let ni=th(),Ci=zn||Hu(Bn)?Vp(Bn,zn,Hn,ni):Up(Bn,Hn,ni);Bn=Q(Ci,Me);continue}if(zn){let Hn=Jn(79,!1,Sv.Identifier_expected);Bn=Q(Dp(Bn,zn,Hn),Me)}break}return Bn}function th(){de(20);let Me=mn(11,ih);return de(21),Me}function Pc(){if(og&262144||Wt()!==29)return;_e();let Me=mn(20,sr);if(bt()===31)return _e(),Me&&vb()?Me:void 0}function vb(){switch(T()){case 20:case 14:case 15:return!0;case 29:case 31:case 39:case 40:return!1}return Bn.hasPrecedingLineBreak()||Jm()||!La()}function Ku(){switch(T()){case 8:case 9:case 10:case 14:return Di();case 108:case 106:case 104:case 110:case 95:return sn();case 20:return bb();case 22:return ah();case 18:return Xu();case 132:if(!wt(yh))break;return Yu();case 59:return Ub();case 84:return Ih();case 98:return Yu();case 103:return Tb();case 43:case 68:if(jt()===13)return Di();break;case 15:return Wd(!1);case 80:return gc()}return wr(Sv.Expression_expected)}function bb(){let Me=L(),Bn=fe();de(20);let Hn=It(Sr);return de(21),St(Q(Wp(Hn),Me),Bn)}function rh(){let Me=L();de(25);let Bn=Yr(!0);return Q(oa.createSpreadElement(Bn),Me)}function nh(){return T()===25?rh():T()===27?Q(oa.createOmittedExpression(),L()):Yr(!0)}function ih(){return Ct(Hn,nh)}function ah(){let Me=L(),Hn=Bn.getTokenPos(),zn=de(22),ni=Bn.hasPrecedingLineBreak(),Ci=mn(15,nh);return Ts(22,23,zn,Hn),Q(dc(Ci,ni),Me)}function sh(){let Me=L(),Bn=fe();if(dr(25)){let Hn=Yr(!0);return St(Q(oa.createSpreadAssignment(Hn),Me),Bn)}let Hn=ki(!0);if(Ks(137))return Fa(Me,Bn,Hn,174,0);if(Ks(151))return Fa(Me,Bn,Hn,175,0);let zn=dr(41),ni=kt(),Ci=Es(),ts=dr(57),Ps=dr(53);if(zn||T()===20||T()===29)return Ah(Me,Bn,Hn,zn,Ci,ts,Ps);let aa;if(ni&&T()!==58){let Me=dr(63),Bn=Me?It((()=>Yr(!0))):void 0;aa=oa.createShorthandPropertyAssignment(Ci,Bn),aa.equalsToken=Me}else{de(58);let Me=It((()=>Yr(!0)));aa=oa.createPropertyAssignment(Ci,Me)}return aa.modifiers=Hn,aa.questionToken=ts,aa.exclamationToken=Ps,St(Q(aa,Me),Bn)}function Xu(){let Me=L(),Hn=Bn.getTokenPos(),zn=de(18),ni=Bn.hasPrecedingLineBreak(),Ci=mn(12,sh,!0);return Ts(18,19,zn,Hn),Q(Fc(Ci,ni),Me)}function Yu(){let Me=Ai();Re(!1);let Bn=L(),Hn=fe(),zn=ki(!1);de(98);let ni=dr(41),Ci=ni?1:0,ts=Ke(zn,Ul)?2:0,Ps=Ci&&ts?vs(ro):Ci?ys(ro):ts?Xi(ro):ro(),aa=Xn(),ca=ra(Ci|ts),_a=pi(58,!1),xa=Dc(Ci|ts);Re(Me);let Ga=oa.createFunctionExpression(zn,ni,Ps,aa,ca,_a,xa);return St(Q(Ga,Bn),Hn)}function ro(){return Tt()?hc():void 0}function Tb(){let Me=L();if(de(103),Ot(24)){let Bn=zr();return Q(oa.createMetaProperty(103,Bn),Me)}let Bn=L(),Hn=Ja(Bn,Ku(),!1),zn;Hn.kind===230&&(zn=Hn.typeArguments,Hn=Hn.expression),T()===28&&Dt(Sv.Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0,B_(Pd,Hn));let ni=T()===20?th():void 0;return Q(Jp(Hn,zn,ni),Me)}function ws(Me,Hn){let zn=L(),ni=fe(),Ci=Bn.getTokenPos(),ts=de(18,Hn);if(ts||Me){let Me=Bn.hasPrecedingLineBreak(),Hn=Kn(1,on);Ts(18,19,ts,Ci);let Ps=St(Q(zp(Hn,Me),zn),ni);return T()===63&&(Dt(Sv.Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_whole_assignment_in_parentheses),_e()),Ps}else{let Me=ui();return St(Q(zp(Me,void 0),zn),ni)}}function Dc(Me,Bn){let Hn=Yi();Le(!!(Me&1));let zn=xn();ot(!!(Me&2));let ni=ug;ug=!1;let Ci=Ai();Ci&&Re(!1);let ts=ws(!!(Me&16),Bn);return Ci&&Re(!0),ug=ni,Le(Hn),ot(zn),ts}function oh(){let Me=L(),Bn=fe();return de(26),St(Q(oa.createEmptyStatement(),Me),Bn)}function Sb(){let Me=L(),Hn=fe();de(99);let zn=Bn.getTokenPos(),ni=de(20),Ci=It(Sr);Ts(20,21,ni,zn);let ts=on(),Ps=Ot(91)?on():void 0;return St(Q(Kf(Ci,ts,Ps),Me),Hn)}function _h(){let Me=L(),Hn=fe();de(90);let zn=on();de(115);let ni=Bn.getTokenPos(),Ci=de(20),ts=It(Sr);return Ts(20,21,Ci,ni),Ot(26),St(Q(oa.createDoStatement(zn,ts),Me),Hn)}function xb(){let Me=L(),Hn=fe();de(115);let zn=Bn.getTokenPos(),ni=de(20),Ci=It(Sr);Ts(20,21,ni,zn);let ts=on();return St(Q(Xf(Ci,ts),Me),Hn)}function ch(){let Me=L(),Bn=fe();de(97);let Hn=dr(133);de(20);let zn;T()!==26&&(T()===113||T()===119||T()===85?zn=Eh(!0):zn=Mr(Sr));let ni;if(Hn?de(162):Ot(162)){let Me=It((()=>Yr(!0)));de(21),ni=Cd(Hn,zn,Me,on())}else if(Ot(101)){let Me=It(Sr);de(21),ni=oa.createForInStatement(zn,Me,on())}else{de(26);let Me=T()!==26&&T()!==21?It(Sr):void 0;de(26);let Bn=T()!==21?It(Sr):void 0;de(21),ni=Ad(zn,Me,Bn,on())}return St(Q(ni,Me),Bn)}function lh(Me){let Bn=L(),Hn=fe();de(Me===249?81:86);let zn=ka()?void 0:wr();En();let ni=Me===249?oa.createBreakStatement(zn):oa.createContinueStatement(zn);return St(Q(ni,Bn),Hn)}function uh(){let Me=L(),Bn=fe();de(105);let Hn=ka()?void 0:It(Sr);return En(),St(Q(oa.createReturnStatement(Hn),Me),Bn)}function Eb(){let Me=L(),Hn=fe();de(116);let zn=Bn.getTokenPos(),ni=de(20),Ci=It(Sr);Ts(20,21,ni,zn);let ts=Mt(33554432,on);return St(Q(oa.createWithStatement(Ci,ts),Me),Hn)}function wb(){let Me=L(),Bn=fe();de(82);let Hn=It(Sr);de(58);let zn=Kn(3,on);return St(Q(oa.createCaseClause(Hn,zn),Me),Bn)}function ph(){let Me=L();de(88),de(58);let Bn=Kn(3,on);return Q(oa.createDefaultClause(Bn),Me)}function Cb(){return T()===82?wb():ph()}function fh(){let Me=L();de(18);let Bn=Kn(2,Cb);return de(19),Q(oa.createCaseBlock(Bn),Me)}function Ab(){let Me=L(),Bn=fe();de(107),de(20);let Hn=It(Sr);de(21);let zn=fh();return St(Q(oa.createSwitchStatement(Hn,zn),Me),Bn)}function dh(){let Me=L(),Hn=fe();de(109);let zn=Bn.hasPrecedingLineBreak()?void 0:It(Sr);return zn===void 0&&(ig++,zn=Q(oo(""),L())),t_()||Zi(zn),St(Q(oa.createThrowStatement(zn),Me),Hn)}function Pb(){let Me=L(),Bn=fe();de(111);let Hn=ws(!1),zn=T()===83?mh():void 0,ni;return(!zn||T()===96)&&(de(96,Sv.catch_or_finally_expected),ni=ws(!1)),St(Q(oa.createTryStatement(Hn,zn,ni),Me),Bn)}function mh(){let Me=L();de(83);let Bn;Ot(20)?(Bn=Ic(),de(21)):Bn=void 0;let Hn=ws(!1);return Q(oa.createCatchClause(Bn,Hn),Me)}function Db(){let Me=L(),Bn=fe();return de(87),En(),St(Q(oa.createDebuggerStatement(),Me),Bn)}function hh(){let Me=L(),Bn=fe(),Hn,zn=T()===20,ni=It(Sr);return yt(ni)&&Ot(58)?Hn=oa.createLabeledStatement(ni,on()):(t_()||Zi(ni),Hn=Yf(ni),zn&&(Bn=!1)),St(Q(Hn,Me),Bn)}function Qu(){return _e(),fr(T())&&!Bn.hasPrecedingLineBreak()}function gh(){return _e(),T()===84&&!Bn.hasPrecedingLineBreak()}function yh(){return _e(),T()===98&&!Bn.hasPrecedingLineBreak()}function Zu(){return _e(),(fr(T())||T()===8||T()===9||T()===10)&&!Bn.hasPrecedingLineBreak()}function kb(){for(;;)switch(T()){case 113:case 119:case 85:case 98:case 84:case 92:return!0;case 118:case 154:return _b();case 142:case 143:return Ob();case 126:case 127:case 132:case 136:case 121:case 122:case 123:case 146:if(_e(),Bn.hasPrecedingLineBreak())return!1;continue;case 159:return _e(),T()===18||T()===79||T()===93;case 100:return _e(),T()===10||T()===41||T()===18||fr(T());case 93:let Me=_e();if(Me===154&&(Me=wt(_e)),Me===63||Me===41||Me===18||Me===88||Me===128||Me===59)return!0;continue;case 124:_e();continue;default:return!1}}function c_(){return wt(kb)}function vh(){switch(T()){case 59:case 26:case 18:case 113:case 119:case 98:case 84:case 92:case 99:case 90:case 115:case 97:case 86:case 81:case 105:case 116:case 107:case 109:case 111:case 87:case 83:case 96:return!0;case 100:return c_()||wt(ku);case 85:case 93:return c_();case 132:case 136:case 118:case 142:case 143:case 154:case 159:return!0;case 127:case 123:case 121:case 122:case 124:case 146:return c_()||!wt(Qu);default:return La()}}function bh(){return _e(),Tt()||T()===18||T()===22}function Ib(){return wt(bh)}function on(){switch(T()){case 26:return oh();case 18:return ws(!1);case 113:return rp(L(),fe(),void 0);case 119:if(Ib())return rp(L(),fe(),void 0);break;case 98:return np(L(),fe(),void 0);case 84:return Nh(L(),fe(),void 0);case 99:return Sb();case 90:return _h();case 115:return xb();case 97:return ch();case 86:return lh(248);case 81:return lh(249);case 105:return uh();case 116:return Eb();case 107:return Ab();case 109:return dh();case 111:case 83:case 96:return Pb();case 87:return Db();case 59:return ep();case 132:case 118:case 154:case 142:case 143:case 136:case 85:case 92:case 93:case 100:case 121:case 122:case 123:case 126:case 127:case 124:case 146:case 159:if(c_())return ep();break}return hh()}function Th(Me){return Me.kind===136}function ep(){let Me=L(),Bn=fe(),Hn=ki(!0);if(Ke(Hn,Th)){let zn=Nb(Me);if(zn)return zn;for(let Me of Hn)Me.flags|=16777216;return Mt(16777216,(()=>l_(Me,Bn,Hn)))}else return l_(Me,Bn,Hn)}function Nb(Me){return Mt(16777216,(()=>{let Bn=mu(sg,Me);if(Bn)return hu(Bn)}))}function l_(Me,Bn,Hn){switch(T()){case 113:case 119:case 85:return rp(Me,Bn,Hn);case 98:return np(Me,Bn,Hn);case 84:return Nh(Me,Bn,Hn);case 118:return Hb(Me,Bn,Hn);case 154:return Gb(Me,Bn,Hn);case 92:return Kb(Me,Bn,Hn);case 159:case 142:case 143:return Fh(Me,Bn,Hn);case 100:return Qb(Me,Bn,Hn);case 93:switch(_e(),T()){case 88:case 63:return _6(Me,Bn,Hn);case 128:return Yb(Me,Bn,Hn);default:return o6(Me,Bn,Hn)}default:if(Hn){let Bn=Jn(279,!0,Sv.Declaration_expected);return Gf(Bn,Me),Bn.modifiers=Hn,Bn}return}}function Ob(){return _e(),!Bn.hasPrecedingLineBreak()&&(kt()||T()===10)}function kc(Me,Bn){if(T()!==18){if(Me&4){i_();return}if(ka()){En();return}}return Dc(Me,Bn)}function Mb(){let Me=L();if(T()===27)return Q(oa.createOmittedExpression(),Me);let Bn=dr(25),Hn=no(),zn=Ra();return Q(oa.createBindingElement(Bn,void 0,Hn,zn),Me)}function Sh(){let Me=L(),Bn=dr(25),Hn=Tt(),zn=Es(),ni;Hn&&T()!==58?(ni=zn,zn=void 0):(de(58),ni=no());let Ci=Ra();return Q(oa.createBindingElement(Bn,zn,ni,Ci),Me)}function Lb(){let Me=L();de(18);let Bn=mn(9,Sh);return de(19),Q(oa.createObjectBindingPattern(Bn),Me)}function xh(){let Me=L();de(22);let Bn=mn(10,Mb);return de(23),Q(oa.createArrayBindingPattern(Bn),Me)}function tp(){return T()===18||T()===22||T()===80||Tt()}function no(Me){return T()===22?xh():T()===18?Lb():hc(Me)}function Rb(){return Ic(!0)}function Ic(Me){let Hn=L(),zn=fe(),ni=no(Sv.Private_identifiers_are_not_allowed_in_variable_declarations),Ci;Me&&ni.kind===79&&T()===53&&!Bn.hasPrecedingLineBreak()&&(Ci=sn());let ts=Ma(),Ps=jm(T())?void 0:Ra(),aa=wd(ni,Ci,ts,Ps);return St(Q(aa,Hn),zn)}function Eh(Me){let Bn=L(),Hn=0;switch(T()){case 113:break;case 119:Hn|=1;break;case 85:Hn|=2;break;default:qp.fail()}_e();let zn;if(T()===162&&wt(wh))zn=ui();else{let Bn=Qi();xe(Me),zn=mn(8,Me?Ic:Rb),xe(Bn)}return Q(Sd(zn,Hn),Bn)}function wh(){return yc()&&_e()===21}function rp(Me,Bn,Hn){let zn=Eh(!1);En();let ni=Qf(Hn,zn);return St(Q(ni,Me),Bn)}function np(Me,Bn,Hn){let zn=xn(),ni=Vn(Hn);de(98);let Ci=dr(41),ts=ni&1024?ro():hc(),Ps=Ci?1:0,aa=ni&512?2:0,ca=Xn();ni&1&&ot(!0);let _a=ra(Ps|aa),xa=pi(58,!1),Ga=kc(Ps|aa,Sv.or_expected);ot(zn);let Ha=oa.createFunctionDeclaration(Hn,Ci,ts,ca,_a,xa,Ga);return St(Q(Ha,Me),Bn)}function jb(){if(T()===135)return de(135);if(T()===10&&wt(_e)===20)return Tr((()=>{let Me=Di();return Me.text==="constructor"?Me:void 0}))}function Ch(Me,Bn,Hn){return Tr((()=>{if(jb()){let zn=Xn(),ni=ra(0),Ci=pi(58,!1),ts=kc(0,Sv.or_expected),Ps=oa.createConstructorDeclaration(Hn,ni,ts);return Ps.typeParameters=zn,Ps.type=Ci,St(Q(Ps,Me),Bn)}}))}function Ah(Me,Bn,Hn,zn,ni,Ci,ts,Ps){let aa=zn?1:0,ca=Ke(Hn,Ul)?2:0,_a=Xn(),xa=ra(aa|ca),Ga=pi(58,!1),Ha=kc(aa|ca,Ps),so=oa.createMethodDeclaration(Hn,zn,ni,Ci,_a,xa,Ga,Ha);return so.exclamationToken=ts,St(Q(so,Me),Bn)}function ip(Me,Hn,zn,ni,Ci){let ts=!Ci&&!Bn.hasPrecedingLineBreak()?dr(53):void 0,Ps=Ma(),aa=Ct(45056,Ra);mc(ni,Ps,aa);let ca=oa.createPropertyDeclaration(zn,ni,Ci||ts,Ps,aa);return St(Q(ca,Me),Hn)}function Ph(Me,Bn,Hn){let zn=dr(41),ni=Es(),Ci=dr(57);return zn||T()===20||T()===29?Ah(Me,Bn,Hn,zn,ni,Ci,void 0,Sv.or_expected):ip(Me,Bn,Hn,ni,Ci)}function Fa(Me,Bn,Hn,zn,ni){let Ci=Es(),ts=Xn(),Ps=ra(0),aa=pi(58,!1),ca=kc(ni),_a=zn===174?oa.createGetAccessorDeclaration(Hn,Ci,Ps,aa,ca):oa.createSetAccessorDeclaration(Hn,Ci,Ps,ca);return _a.typeParameters=ts,ic(_a)&&(_a.type=aa),St(Q(_a,Me),Bn)}function Jb(){let Me;if(T()===59)return!0;for(;Wi(T());){if(Me=T(),VS(Me))return!0;_e()}if(T()===41||(xs()&&(Me=T(),_e()),T()===22))return!0;if(Me!==void 0){if(!ba(Me)||Me===151||Me===137)return!0;switch(T()){case 20:case 29:case 53:case 58:case 63:case 57:return!0;default:return ka()}}return!1}function Fb(Me,Bn,Hn){ea(124);let zn=Dh(),ni=St(Q(oa.createClassStaticBlockDeclaration(zn),Me),Bn);return ni.modifiers=Hn,ni}function Dh(){let Me=Yi(),Bn=xn();Le(!1),ot(!0);let Hn=ws(!1);return Le(Me),ot(Bn),Hn}function Bb(){if(xn()&&T()===133){let Me=L(),Bn=wr(Sv.Expression_expected);_e();let Hn=Ja(Me,Bn,!0);return $u(Me,Hn)}return to()}function kh(){let Me=L();if(!Ot(59))return;let Bn=ci(Bb);return Q(oa.createDecorator(Bn),Me)}function ap(Me,Bn,Hn){let zn=L(),ni=T();if(T()===85&&Bn){if(!Tr(uu))return}else{if(Hn&&T()===124&&wt(Mc))return;if(Me&&T()===124)return;if(!Md())return}return Q(tc(ni),zn)}function ki(Me,Bn,Hn){let zn=L(),ni,Ci,ts,Ps=!1,aa=!1,oa=!1;if(Me&&T()===59)for(;Ci=kh();)ni=tr(ni,Ci);for(;ts=ap(Ps,Bn,Hn);)ts.kind===124&&(Ps=!0),ni=tr(ni,ts),aa=!0;if(aa&&Me&&T()===59)for(;Ci=kh();)ni=tr(ni,Ci),oa=!0;if(oa)for(;ts=ap(Ps,Bn,Hn);)ts.kind===124&&(Ps=!0),ni=tr(ni,ts);return ni&&Er(ni,zn)}function sp(){let Me;if(T()===132){let Bn=L();_e();let Hn=Q(tc(132),Bn);Me=Er([Hn],Bn)}return Me}function qb(){let Me=L();if(T()===26)return _e(),Q(oa.createSemicolonClassElement(),Me);let Bn=fe(),Hn=ki(!0,!0,!0);if(T()===124&&wt(Mc))return Fb(Me,Bn,Hn);if(Ks(137))return Fa(Me,Bn,Hn,174,0);if(Ks(151))return Fa(Me,Bn,Hn,175,0);if(T()===135||T()===10){let zn=Ch(Me,Bn,Hn);if(zn)return zn}if(im())return am(Me,Bn,Hn);if(fr(T())||T()===10||T()===8||T()===41||T()===22)if(Ke(Hn,Th)){for(let Me of Hn)Me.flags|=16777216;return Mt(16777216,(()=>Ph(Me,Bn,Hn)))}else return Ph(Me,Bn,Hn);if(Hn){let zn=Jn(79,!0,Sv.Declaration_expected);return ip(Me,Bn,Hn,zn,void 0)}return qp.fail("Should not have attempted to parse class member declaration.")}function Ub(){let Me=L(),Bn=fe(),Hn=ki(!0);if(T()===84)return op(Me,Bn,Hn,228);let zn=Jn(279,!0,Sv.Expression_expected);return Gf(zn,Me),zn.modifiers=Hn,zn}function Ih(){return op(L(),fe(),void 0,228)}function Nh(Me,Bn,Hn){return op(Me,Bn,Hn,260)}function op(Me,Bn,Hn,zn){let ni=xn();de(84);let Ci=Oh(),ts=Xn();Ke(Hn,N8)&&ot(!0);let Ps=Mh(),aa;de(18)?(aa=Vb(),de(19)):aa=ui(),ot(ni);let ca=zn===260?oa.createClassDeclaration(Hn,Ci,ts,Ps,aa):oa.createClassExpression(Hn,Ci,ts,Ps,aa);return St(Q(ca,Me),Bn)}function Oh(){return Tt()&&!zb()?Ss(Tt()):void 0}function zb(){return T()===117&&wt(pu)}function Mh(){if(Oc())return Kn(22,Lh)}function Lh(){let Me=L(),Bn=T();qp.assert(Bn===94||Bn===117),_e();let Hn=mn(7,Wb);return Q(oa.createHeritageClause(Bn,Hn),Me)}function Wb(){let Me=L(),Bn=to();if(Bn.kind===230)return Bn;let Hn=Nc();return Q(oa.createExpressionWithTypeArguments(Bn,Hn),Me)}function Nc(){return T()===29?Oa(20,sr,29,31):void 0}function Oc(){return T()===94||T()===117}function Vb(){return Kn(5,qb)}function Hb(Me,Bn,Hn){de(118);let zn=wr(),ni=Xn(),Ci=Mh(),ts=Iu(),Ps=oa.createInterfaceDeclaration(Hn,zn,ni,Ci,ts);return St(Q(Ps,Me),Bn)}function Gb(Me,Bn,Hn){de(154);let zn=wr(),ni=Xn();de(63);let Ci=T()===139&&Tr(Ou)||sr();En();let ts=oa.createTypeAliasDeclaration(Hn,zn,ni,Ci);return St(Q(ts,Me),Bn)}function $b(){let Me=L(),Bn=fe(),Hn=Es(),zn=It(Ra);return St(Q(oa.createEnumMember(Hn,zn),Me),Bn)}function Kb(Me,Bn,Hn){de(92);let zn=wr(),ni;de(18)?(ni=$s((()=>mn(6,$b))),de(19)):ni=ui();let Ci=oa.createEnumDeclaration(Hn,zn,ni);return St(Q(Ci,Me),Bn)}function Rh(){let Me=L(),Bn;return de(18)?(Bn=Kn(1,on),de(19)):Bn=ui(),Q(oa.createModuleBlock(Bn),Me)}function jh(Me,Bn,Hn,zn){let ni=zn&16,Ci=wr(),ts=Ot(24)?jh(L(),!1,void 0,4|ni):Rh(),Ps=oa.createModuleDeclaration(Hn,Ci,ts,zn);return St(Q(Ps,Me),Bn)}function Jh(Me,Bn,Hn){let zn=0,ni;T()===159?(ni=wr(),zn|=1024):(ni=Di(),ni.text=Ia(ni.text));let Ci;T()===18?Ci=Rh():En();let ts=oa.createModuleDeclaration(Hn,ni,Ci,zn);return St(Q(ts,Me),Bn)}function Fh(Me,Bn,Hn){let zn=0;if(T()===159)return Jh(Me,Bn,Hn);if(Ot(143))zn|=16;else if(de(142),T()===10)return Jh(Me,Bn,Hn);return jh(Me,Bn,Hn,zn)}function Bh(){return T()===147&&wt(qh)}function qh(){return _e()===20}function Mc(){return _e()===18}function Xb(){return _e()===43}function Yb(Me,Bn,Hn){de(128),de(143);let zn=wr();En();let ni=oa.createNamespaceExportDeclaration(zn);return ni.modifiers=Hn,St(Q(ni,Me),Bn)}function Qb(Me,Hn,zn){de(100);let ni=Bn.getStartPos(),Ci;kt()&&(Ci=wr());let ts=!1;if(T()!==158&&(Ci==null?void 0:Ci.escapedText)==="type"&&(kt()||Zb())&&(ts=!0,Ci=kt()?wr():void 0),Ci&&!e6())return t6(Me,Hn,zn,Ci,ts);let Ps;(Ci||T()===41||T()===18)&&(Ps=r6(Ci,ni,ts),de(158));let aa=Lc(),ca;T()===130&&!Bn.hasPrecedingLineBreak()&&(ca=_p()),En();let _a=oa.createImportDeclaration(zn,Ps,aa,ca);return St(Q(_a,Me),Hn)}function Uh(){let Me=L(),Bn=fr(T())?zr():n_(10);de(58);let Hn=Yr(!0);return Q(oa.createAssertEntry(Bn,Hn),Me)}function _p(Me){let Hn=L();Me||de(130);let zn=Bn.getTokenPos();if(de(18)){let Me=Bn.hasPrecedingLineBreak(),ni=mn(24,Uh,!0);if(!de(19)){let Me=Cn(oA);Me&&Me.code===Sv._0_expected.code&&Rl(Me,Ro(xd,zn,1,Sv.The_parser_expected_to_find_a_1_to_match_the_0_token_here,"{","}"))}return Q(oa.createAssertClause(ni,Me),Hn)}else{let Me=Er([],L(),void 0,!1);return Q(oa.createAssertClause(Me,!1),Hn)}}function Zb(){return T()===41||T()===18}function e6(){return T()===27||T()===158}function t6(Me,Bn,Hn,zn,ni){de(63);let Ci=cp();En();let ts=oa.createImportEqualsDeclaration(Hn,ni,zn,Ci);return St(Q(ts,Me),Bn)}function r6(Me,Bn,Hn){let zn;return(!Me||Ot(27))&&(zn=T()===41?Rc():zh(272)),Q(oa.createImportClause(Hn,Me,zn),Bn)}function cp(){return Bh()?n6():Ys(!1)}function n6(){let Me=L();de(147),de(20);let Bn=Lc();return de(21),Q(oa.createExternalModuleReference(Bn),Me)}function Lc(){if(T()===10){let Me=Di();return Me.text=Ia(Me.text),Me}else return Sr()}function Rc(){let Me=L();de(41),de(128);let Bn=wr();return Q(oa.createNamespaceImport(Bn),Me)}function zh(Me){let Bn=L(),Hn=Me===272?oa.createNamedImports(Oa(23,a6,18,19)):oa.createNamedExports(Oa(23,i6,18,19));return Q(Hn,Bn)}function i6(){let Me=fe();return St(Ba(278),Me)}function a6(){return Ba(273)}function Ba(Me){let Hn=L(),zn=ba(T())&&!kt(),ni=Bn.getTokenPos(),Ci=Bn.getTextPos(),ts=!1,Ps,aa=!0,ca=zr();if(ca.escapedText==="type")if(T()===128){let Me=zr();if(T()===128){let Bn=zr();fr(T())?(ts=!0,Ps=Me,ca=lt(),aa=!1):(Ps=ca,ca=Bn,aa=!1)}else fr(T())?(Ps=ca,aa=!1,ca=lt()):(ts=!0,ca=Me)}else fr(T())&&(ts=!0,ca=lt());aa&&T()===128&&(Ps=ca,de(128),ca=lt()),Me===273&&zn&&Z(ni,Ci,Sv.Identifier_expected);let _a=Me===273?oa.createImportSpecifier(ts,Ps,ca):oa.createExportSpecifier(ts,Ps,ca);return Q(_a,Hn);function lt(){return zn=ba(T())&&!kt(),ni=Bn.getTokenPos(),Ci=Bn.getTextPos(),zr()}}function s6(Me){return Q(oa.createNamespaceExport(zr()),Me)}function o6(Me,Hn,zn){let ni=xn();ot(!0);let Ci,ts,Ps,aa=Ot(154),ca=L();Ot(41)?(Ot(128)&&(Ci=s6(ca)),de(158),ts=Lc()):(Ci=zh(276),(T()===158||T()===10&&!Bn.hasPrecedingLineBreak())&&(de(158),ts=Lc())),ts&&T()===130&&!Bn.hasPrecedingLineBreak()&&(Ps=_p()),En(),ot(ni);let _a=oa.createExportDeclaration(zn,aa,Ci,ts,Ps);return St(Q(_a,Me),Hn)}function _6(Me,Bn,Hn){let zn=xn();ot(!0);let ni;Ot(63)?ni=!0:de(88);let Ci=Yr(!0);En(),ot(zn);let ts=oa.createExportAssignment(Hn,ni,Ci);return St(Q(ts,Me),Bn)}let fg;(Me=>{Me[Me.SourceElements=0]="SourceElements",Me[Me.BlockStatements=1]="BlockStatements",Me[Me.SwitchClauses=2]="SwitchClauses",Me[Me.SwitchClauseStatements=3]="SwitchClauseStatements",Me[Me.TypeMembers=4]="TypeMembers",Me[Me.ClassMembers=5]="ClassMembers",Me[Me.EnumMembers=6]="EnumMembers",Me[Me.HeritageClauseElement=7]="HeritageClauseElement",Me[Me.VariableDeclarations=8]="VariableDeclarations",Me[Me.ObjectBindingElements=9]="ObjectBindingElements",Me[Me.ArrayBindingElements=10]="ArrayBindingElements",Me[Me.ArgumentExpressions=11]="ArgumentExpressions",Me[Me.ObjectLiteralMembers=12]="ObjectLiteralMembers",Me[Me.JsxAttributes=13]="JsxAttributes",Me[Me.JsxChildren=14]="JsxChildren",Me[Me.ArrayLiteralMembers=15]="ArrayLiteralMembers",Me[Me.Parameters=16]="Parameters",Me[Me.JSDocParameters=17]="JSDocParameters",Me[Me.RestProperties=18]="RestProperties",Me[Me.TypeParameters=19]="TypeParameters",Me[Me.TypeArguments=20]="TypeArguments",Me[Me.TupleElementTypes=21]="TupleElementTypes",Me[Me.HeritageClauses=22]="HeritageClauses",Me[Me.ImportOrExportSpecifiers=23]="ImportOrExportSpecifiers",Me[Me.AssertEntries=24]="AssertEntries",Me[Me.Count=25]="Count"})(fg||(fg={}));let dg;(Me=>{Me[Me.False=0]="False",Me[Me.True=1]="True",Me[Me.Unknown=2]="Unknown"})(dg||(dg={}));let hg;(Me=>{function b(Me,Hn,zn){Mn("file.js",Me,99,void 0,1),Bn.setText(Me,Hn,zn),tg=Bn.scan();let ni=O(),Ci=Kt("file.js",99,1,!1,[],tc(1),0,yn),ts=qs(oA,Ci);return hA&&(Ci.jsDocDiagnostics=qs(hA,Ci)),_i(),ni?{jsDocTypeExpression:ni,diagnostics:ts}:void 0}Me.parseJSDocTypeExpressionForTests=b;function O(Me){let Bn=L(),Hn=(Me?Ot:de)(18),zn=Mt(8388608,xc);(!Me||Hn)&&Da(19);let ni=oa.createJSDocTypeExpression(zn);return ft(ni),Q(ni,Bn)}Me.parseJSDocTypeExpression=O;function j(){let Me=L(),Bn=Ot(18),Hn=L(),zn=Ys(!1);for(;T()===80;)Xr(),Ge(),zn=Q(oa.createJSDocMemberName(zn,wr()),Hn);Bn&&Da(19);let ni=oa.createJSDocNameReference(zn);return ft(ni),Q(ni,Me)}Me.parseJSDocNameReference=j;function z(Me,Bn,Hn){Mn("",Me,99,void 0,1);let zn=Mt(8388608,(()=>We(Bn,Hn))),ni=qs(oA,{languageVariant:0,text:Me});return _i(),zn?{jsDoc:zn,diagnostics:ni}:void 0}Me.parseIsolatedJSDocComment=z;function re(Me,Bn,Hn){let zn=tg,ni=oA.length,Ci=cg,ts=Mt(8388608,(()=>We(Bn,Hn)));return Sa(ts,Me),og&262144&&(hA||(hA=[]),hA.push(...oA)),tg=zn,oA.length=ni,cg=Ci,ts}Me.parseJSDocComment=re;let Hn;(Me=>{Me[Me.BeginningOfLine=0]="BeginningOfLine",Me[Me.SawAsterisk=1]="SawAsterisk",Me[Me.SavingComments=2]="SavingComments",Me[Me.SavingBackticks=3]="SavingBackticks"})(Hn||(Hn={}));let zn;(Me=>{Me[Me.Property=1]="Property",Me[Me.Parameter=2]="Parameter",Me[Me.CallbackParameter=4]="CallbackParameter"})(zn||(zn={}));function We(){let Me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,Hn=arguments.length>1?arguments[1]:void 0,zn=Pd,ni=Hn===void 0?zn.length:Me+Hn;if(Hn=ni-Me,qp.assert(Me>=0),qp.assert(Me<=ni),qp.assert(ni<=zn.length),!LE(zn,Me))return;let Ci,ts,Ps,aa,ca,_a=[],xa=[];return Bn.scanRange(Me+3,Hn-5,(()=>{let Hn=1,Ga,Ha=Me-(zn.lastIndexOf(`\n`,Me)+1)+4;function Ue(Me){Ga||(Ga=Ha),_a.push(Me),Ha+=Me.length}for(Ge();u_(5););u_(4)&&(Hn=0,Ha=0);e:for(;;){switch(T()){case 59:Hn===0||Hn===1?(lp(_a),ca||(ca=L()),za(up(Ha)),Hn=0,Ga=void 0):Ue(Bn.getTokenText());break;case 4:_a.push(Bn.getTokenText()),Hn=0,Ha=0;break;case 41:let zn=Bn.getTokenText();Hn===1||Hn===2?(Hn=2,Ue(zn)):(Hn=1,Ha+=zn.length);break;case 5:let ni=Bn.getTokenText();Hn===2?_a.push(ni):Ga!==void 0&&Ha+ni.length>Ga&&_a.push(ni.slice(Ga-Ha)),Ha+=ni.length;break;case 1:break e;case 18:Hn=2;let Ci=Bn.getStartPos(),ts=Bn.getTextPos()-1,Ps=$h(ts);if(Ps){aa||Hh(_a),xa.push(Q(oa.createJSDocText(_a.join("")),aa!=null?aa:Me,Ci)),xa.push(Ps),_a=[],aa=Bn.getTextPos();break}default:Hn=2,Ue(Bn.getTokenText());break}Ge()}lp(_a),xa.length&&_a.length&&xa.push(Q(oa.createJSDocText(_a.join("")),aa!=null?aa:Me,ca)),xa.length&&Ci&&qp.assertIsDefined(ca,"having parsed tags implies that the end of the comment span should be set");let so=Ci&&Er(Ci,ts,Ps);return Q(oa.createJSDocComment(xa.length?Er(xa,Me,ca):_a.length?_a.join(""):void 0,so),Me,ni)}));function Hh(Me){for(;Me.length&&(Me[0]===`\n`||Me[0]==="\r");)Me.shift()}function lp(Me){for(;Me.length&&Me[Me.length-1].trim()==="";)Me.pop()}function Gh(){for(;;){if(Ge(),T()===1)return!0;if(!(T()===5||T()===4))return!1}}function wn(){if(!((T()===5||T()===4)&&wt(Gh)))for(;T()===5||T()===4;)Ge()}function Ua(){if((T()===5||T()===4)&&wt(Gh))return"";let Me=Bn.hasPrecedingLineBreak(),Hn=!1,zn="";for(;Me&&T()===41||T()===5||T()===4;)zn+=Bn.getTokenText(),T()===4?(Me=!0,Hn=!0,zn=""):T()===41&&(Me=!1),Ge();return Hn?zn:""}function up(Me){qp.assert(T()===59);let Hn=Bn.getTokenPos();Ge();let zn=ao(void 0),ni=Ua(),Ci;switch(zn.escapedText){case"author":Ci=V(Hn,zn,Me,ni);break;case"implements":Ci=et(Hn,zn,Me,ni);break;case"augments":case"extends":Ci=ht(Hn,zn,Me,ni);break;case"class":case"constructor":Ci=Oi(Hn,oa.createJSDocClassTag,zn,Me,ni);break;case"public":Ci=Oi(Hn,oa.createJSDocPublicTag,zn,Me,ni);break;case"private":Ci=Oi(Hn,oa.createJSDocPrivateTag,zn,Me,ni);break;case"protected":Ci=Oi(Hn,oa.createJSDocProtectedTag,zn,Me,ni);break;case"readonly":Ci=Oi(Hn,oa.createJSDocReadonlyTag,zn,Me,ni);break;case"override":Ci=Oi(Hn,oa.createJSDocOverrideTag,zn,Me,ni);break;case"deprecated":lg=!0,Ci=Oi(Hn,oa.createJSDocDeprecatedTag,zn,Me,ni);break;case"this":Ci=qB(Hn,zn,Me,ni);break;case"enum":Ci=UB(Hn,zn,Me,ni);break;case"arg":case"argument":case"param":return Xh(Hn,zn,2,Me);case"return":case"returns":Ci=o(Hn,zn,Me,ni);break;case"template":Ci=QB(Hn,zn,Me,ni);break;case"type":Ci=l(Hn,zn,Me,ni);break;case"typedef":Ci=zB(Hn,zn,Me,ni);break;case"callback":Ci=VB(Hn,zn,Me,ni);break;case"overload":Ci=HB(Hn,zn,Me,ni);break;case"satisfies":Ci=hn(Hn,zn,Me,ni);break;case"see":Ci=p(Hn,zn,Me,ni);break;case"exception":case"throws":Ci=k(Hn,zn,Me,ni);break;default:Ci=Qt(Hn,zn,Me,ni);break}return Ci}function Qr(Me,Bn,Hn,zn){return zn||(Hn+=Bn-Me),jc(Hn,zn.slice(Hn))}function jc(Me,Hn){let zn=L(),ni=[],Ci=[],ts,Ps=0,aa=!0,ca;function mi(Bn){ca||(ca=Me),ni.push(Bn),Me+=Bn.length}Hn!==void 0&&(Hn!==""&&mi(Hn),Ps=1);let _a=T();e:for(;;){switch(_a){case 4:Ps=0,ni.push(Bn.getTokenText()),Me=0;break;case 59:if(Ps===3||Ps===2&&(!aa||wt(Cs))){ni.push(Bn.getTokenText());break}Bn.setTextPos(Bn.getTextPos()-1);case 1:break e;case 5:if(Ps===2||Ps===3)mi(Bn.getTokenText());else{let Hn=Bn.getTokenText();ca!==void 0&&Me+Hn.length>ca&&ni.push(Hn.slice(ca-Me)),Me+=Hn.length}break;case 18:Ps=2;let Hn=Bn.getStartPos(),_a=Bn.getTextPos()-1,xa=$h(_a);xa?(Ci.push(Q(oa.createJSDocText(ni.join("")),ts!=null?ts:zn,Hn)),Ci.push(xa),ni=[],ts=Bn.getTextPos()):mi(Bn.getTokenText());break;case 61:Ps===3?Ps=2:Ps=3,mi(Bn.getTokenText());break;case 41:if(Ps===0){Ps=1,Me+=1;break}default:Ps!==3&&(Ps=2),mi(Bn.getTokenText());break}aa=T()===5,_a=Ge()}if(Hh(ni),lp(ni),Ci.length)return ni.length&&Ci.push(Q(oa.createJSDocText(ni.join("")),ts!=null?ts:zn)),Er(Ci,zn,Bn.getTextPos());if(ni.length)return ni.join("")}function Cs(){let Me=Ge();return Me===5||Me===4}function $h(Me){let Hn=Tr(Kh);if(!Hn)return;Ge(),wn();let zn=L(),ni=fr(T())?Ys(!0):void 0;if(ni)for(;T()===80;)Xr(),Ge(),ni=Q(oa.createJSDocMemberName(ni,wr()),zn);let Ci=[];for(;T()!==19&&T()!==4&&T()!==1;)Ci.push(Bn.getTokenText()),Ge();let ts=Hn==="link"?oa.createJSDocLink:Hn==="linkcode"?oa.createJSDocLinkCode:oa.createJSDocLinkPlain;return Q(ts(ni,Ci.join("")),Me,Bn.getTextPos())}function Kh(){if(Ua(),T()===18&&Ge()===59&&fr(Ge())){let Me=Bn.getTokenValue();if(xt(Me))return Me}}function xt(Me){return Me==="link"||Me==="linkcode"||Me==="linkplain"}function Qt(Me,Bn,Hn,zn){return Q(oa.createJSDocUnknownTag(Bn,Qr(Me,L(),Hn,zn)),Me)}function za(Me){Me&&(Ci?Ci.push(Me):(Ci=[Me],ts=Me.pos),Ps=Me.end)}function Wa(){return Ua(),T()===18?O():void 0}function c6(){let Me=u_(22);Me&&wn();let Bn=u_(61),Hn=ZB();return Bn&&kd(61),Me&&(wn(),dr(63)&&Sr(),de(23)),{name:Hn,isBracketed:Me}}function Yn(Me){switch(Me.kind){case 149:return!0;case 185:return Yn(Me.elementType);default:return ac(Me)&&yt(Me.typeName)&&Me.typeName.escapedText==="Object"&&!Me.typeArguments}}function Xh(Me,Bn,Hn,zn){let ni=Wa(),Ci=!ni;Ua();let{name:ts,isBracketed:Ps}=c6(),aa=Ua();Ci&&!wt(Kh)&&(ni=Wa());let ca=Qr(Me,L(),zn,aa),_a=Hn!==4&&n(ni,ts,Hn,zn);_a&&(ni=_a,Ci=!0);let xa=Hn===1?oa.createJSDocPropertyTag(Bn,ts,Ps,ni,Ci,ca):oa.createJSDocParameterTag(Bn,ts,Ps,ni,Ci,ca);return Q(xa,Me)}function n(Me,Bn,Hn,zn){if(Me&&Yn(Me.type)){let ni=L(),Ci,ts;for(;Ci=Tr((()=>u6(Hn,zn,Bn)));)(Ci.kind===344||Ci.kind===351)&&(ts=tr(ts,Ci));if(ts){let Bn=Q(oa.createJSDocTypeLiteral(ts,Me.type.kind===185),ni);return Q(oa.createJSDocTypeExpression(Bn),ni)}}}function o(Me,Hn,zn,ni){Ke(Ci,b2)&&Z(Hn.pos,Bn.getTokenPos(),Sv._0_tag_already_specified,Hn.escapedText);let ts=Wa();return Q(oa.createJSDocReturnTag(Hn,ts,Qr(Me,L(),zn,ni)),Me)}function l(Me,Hn,zn,ni){Ke(Ci,au)&&Z(Hn.pos,Bn.getTokenPos(),Sv._0_tag_already_specified,Hn.escapedText);let ts=O(!0),Ps=zn!==void 0&&ni!==void 0?Qr(Me,L(),zn,ni):void 0;return Q(oa.createJSDocTypeTag(Hn,ts,Ps),Me)}function p(Me,Hn,zn,ni){let Ci=T()===22||wt((()=>Ge()===59&&fr(Ge())&&xt(Bn.getTokenValue())))?void 0:j(),ts=zn!==void 0&&ni!==void 0?Qr(Me,L(),zn,ni):void 0;return Q(oa.createJSDocSeeTag(Hn,Ci,ts),Me)}function k(Me,Bn,Hn,zn){let ni=Wa(),Ci=Qr(Me,L(),Hn,zn);return Q(oa.createJSDocThrowsTag(Bn,ni,Ci),Me)}function V(Me,Hn,zn,ni){let Ci=L(),ts=we(),Ps=Bn.getStartPos(),aa=Qr(Me,Ps,zn,ni);aa||(Ps=Bn.getStartPos());let ca=typeof aa!="string"?Er(Ft([Q(ts,Ci,Ps)],aa),Ci):ts.text+aa;return Q(oa.createJSDocAuthorTag(Hn,ca),Me)}function we(){let Me=[],Hn=!1,zn=Bn.getToken();for(;zn!==1&&zn!==4;){if(zn===29)Hn=!0;else{if(zn===59&&!Hn)break;if(zn===31&&Hn){Me.push(Bn.getTokenText()),Bn.setTextPos(Bn.getTokenPos()+1);break}}Me.push(Bn.getTokenText()),zn=Ge()}return oa.createJSDocText(Me.join(""))}function et(Me,Bn,Hn,zn){let ni=Ni();return Q(oa.createJSDocImplementsTag(Bn,ni,Qr(Me,L(),Hn,zn)),Me)}function ht(Me,Bn,Hn,zn){let ni=Ni();return Q(oa.createJSDocAugmentsTag(Bn,ni,Qr(Me,L(),Hn,zn)),Me)}function hn(Me,Bn,Hn,zn){let ni=O(!1),Ci=Hn!==void 0&&zn!==void 0?Qr(Me,L(),Hn,zn):void 0;return Q(oa.createJSDocSatisfiesTag(Bn,ni,Ci),Me)}function Ni(){let Me=Ot(18),Bn=L(),Hn=ia(),zn=Nc(),ni=oa.createExpressionWithTypeArguments(Hn,zn),Ci=Q(ni,Bn);return Me&&de(19),Ci}function ia(){let Me=L(),Bn=ao();for(;Ot(24);){let Hn=ao();Bn=Q(Jc(Bn,Hn),Me)}return Bn}function Oi(Me,Bn,Hn,zn,ni){return Q(Bn(Hn,Qr(Me,L(),zn,ni)),Me)}function qB(Me,Bn,Hn,zn){let ni=O(!0);return wn(),Q(oa.createJSDocThisTag(Bn,ni,Qr(Me,L(),Hn,zn)),Me)}function UB(Me,Bn,Hn,zn){let ni=O(!0);return wn(),Q(oa.createJSDocEnumTag(Bn,ni,Qr(Me,L(),Hn,zn)),Me)}function zB(Me,Bn,Hn,zn){var ni;let Ci=Wa();Ua();let ts=l6();wn();let Ps=jc(Hn),aa;if(!Ci||Yn(Ci.type)){let Bn,zn,ni,ts=!1;for(;Bn=Tr((()=>$B(Hn)));)if(ts=!0,Bn.kind===347)if(zn){let Me=Dt(Sv.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags);Me&&Rl(Me,Ro(xd,0,0,Sv.The_tag_was_first_specified_here));break}else zn=Bn;else ni=tr(ni,Bn);if(ts){let Bn=Ci&&Ci.type.kind===185,Hn=oa.createJSDocTypeLiteral(ni,Bn);Ci=zn&&zn.typeExpression&&!Yn(zn.typeExpression.type)?zn.typeExpression:Q(Hn,Me),aa=Ci.end}}aa=aa||Ps!==void 0?L():((ni=ts!=null?ts:Ci)!=null?ni:Bn).end,Ps||(Ps=Qr(Me,aa,Hn,zn));let ca=oa.createJSDocTypedefTag(Bn,Ci,ts,Ps);return Q(ca,Me,aa)}function l6(Me){let Hn=Bn.getTokenPos();if(!fr(T()))return;let zn=ao();if(Ot(24)){let Bn=l6(!0),ni=oa.createModuleDeclaration(void 0,zn,Bn,Me?4:void 0);return Q(ni,Hn)}return Me&&(zn.flags|=2048),zn}function WB(Me){let Bn=L(),Hn,zn;for(;Hn=Tr((()=>u6(4,Me)));)zn=tr(zn,Hn);return Er(zn||[],Bn)}function j7(Me,Bn){let Hn=WB(Bn),zn=Tr((()=>{if(u_(59)){let Me=up(Bn);if(Me&&Me.kind===345)return Me}}));return Q(oa.createJSDocSignature(void 0,Hn,zn),Me)}function VB(Me,Bn,Hn,zn){let ni=l6();wn();let Ci=jc(Hn),ts=j7(Me,Hn);Ci||(Ci=Qr(Me,L(),Hn,zn));let Ps=Ci!==void 0?L():ts.end;return Q(oa.createJSDocCallbackTag(Bn,ts,ni,Ci),Me,Ps)}function HB(Me,Bn,Hn,zn){wn();let ni=jc(Hn),Ci=j7(Me,Hn);ni||(ni=Qr(Me,L(),Hn,zn));let ts=ni!==void 0?L():Ci.end;return Q(oa.createJSDocOverloadTag(Bn,Ci,ni),Me,ts)}function GB(Me,Bn){for(;!yt(Me)||!yt(Bn);)if(!yt(Me)&&!yt(Bn)&&Me.right.escapedText===Bn.right.escapedText)Me=Me.left,Bn=Bn.left;else return!1;return Me.escapedText===Bn.escapedText}function $B(Me){return u6(1,Me)}function u6(Me,Bn,Hn){let zn=!0,ni=!1;for(;;)switch(Ge()){case 59:if(zn){let zn=KB(Me,Bn);return zn&&(zn.kind===344||zn.kind===351)&&Me!==4&&Hn&&(yt(zn.name)||!GB(Hn,zn.name.left))?!1:zn}ni=!1;break;case 4:zn=!0,ni=!1;break;case 41:ni&&(zn=!1),ni=!0;break;case 79:zn=!1;break;case 1:return!1}}function KB(Me,Hn){qp.assert(T()===59);let zn=Bn.getStartPos();Ge();let ni=ao();wn();let Ci;switch(ni.escapedText){case"type":return Me===1&&l(zn,ni);case"prop":case"property":Ci=1;break;case"arg":case"argument":case"param":Ci=6;break;default:return!1}return Me&Ci?Xh(zn,ni,Me,Hn):!1}function XB(){let Me=L(),Bn=u_(22);Bn&&wn();let Hn=ao(Sv.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces),zn;if(Bn&&(wn(),de(63),zn=Mt(8388608,xc),de(23)),!va(Hn))return Q(oa.createTypeParameterDeclaration(void 0,Hn,void 0,zn),Me)}function YB(){let Me=L(),Bn=[];do{wn();let Me=XB();Me!==void 0&&Bn.push(Me),Ua()}while(u_(27));return Er(Bn,Me)}function QB(Me,Bn,Hn,zn){let ni=T()===18?O():void 0,Ci=YB();return Q(oa.createJSDocTemplateTag(Bn,ni,Ci,Qr(Me,L(),Hn,zn)),Me)}function u_(Me){return T()===Me?(Ge(),!0):!1}function ZB(){let Me=ao();for(Ot(22)&&de(23);Ot(24);){let Bn=ao();Ot(22)&&de(23),Me=Tu(Me,Bn)}return Me}function ao(Me){if(!fr(T()))return Jn(79,!Me,Me||Sv.Identifier_expected);ig++;let Hn=Bn.getTokenPos(),zn=Bn.getTextPos(),ni=T(),Ci=Ia(Bn.getTokenValue()),ts=Q(oo(Ci,ni),Hn,zn);return Ge(),ts}}})(hg=Me.JSDocParser||(Me.JSDocParser={}))})(Pw||(Pw={})),(Me=>{function t(Me,Bn,Hn,zn){if(zn=zn||qp.shouldAssert(2),N(Me,Bn,Hn,zn),cS(Hn))return Me;if(Me.statements.length===0)return Pw.parseSourceFile(Me.fileName,Bn,Me.languageVersion,void 0,!0,Me.scriptKind,Me.setExternalModuleIndicator);let ni=Me;qp.assert(!ni.hasBeenIncrementallyParsed),ni.hasBeenIncrementallyParsed=!0,Pw.fixupParentReferences(ni);let Ci=Me.text,ts=X(Me),Ps=g(Me,Hn);N(Me,Bn,Ps,zn),qp.assert(Ps.span.start<=Hn.span.start),qp.assert(Ir(Ps.span)===Ir(Hn.span)),qp.assert(Ir(R_(Ps))===Ir(R_(Hn)));let aa=R_(Ps).length-Ps.span.length;A(ni,Ps.span.start,Ir(Ps.span),Ir(R_(Ps)),aa,Ci,Bn,zn);let oa=Pw.parseSourceFile(Me.fileName,Bn,Me.languageVersion,ts,!0,Me.scriptKind,Me.setExternalModuleIndicator);return oa.commentDirectives=r(Me.commentDirectives,oa.commentDirectives,Ps.span.start,Ir(Ps.span),aa,Ci,Bn,zn),oa.impliedNodeFormat=Me.impliedNodeFormat,oa}Me.updateSourceFile=t;function r(Me,Bn,Hn,zn,ni,Ci,ts,Ps){if(!Me)return Bn;let aa,oa=!1;for(let Bn of Me){let{range:Me,type:oa}=Bn;if(Me.endzn){Nt();let Bn={range:{pos:Me.pos+ni,end:Me.end+ni},type:oa};aa=tr(aa,Bn),Ps&&qp.assert(Ci.substring(Me.pos,Me.end)===ts.substring(Bn.range.pos,Bn.range.end))}}return Nt(),aa;function Nt(){oa||(oa=!0,aa?Bn&&aa.push(...Bn):aa=Bn)}}function s(Me,Bn,Hn,zn,ni,Ci){Bn?Ve(Me):oe(Me);return;function oe(Me){let Bn="";if(Ci&&f(Me)&&(Bn=zn.substring(Me.pos,Me.end)),Me._children&&(Me._children=void 0),Us(Me,Me.pos+Hn,Me.end+Hn),Ci&&f(Me)&&qp.assert(Bn===ni.substring(Me.pos,Me.end)),xr(Me,oe,Ve),ya(Me))for(let Bn of Me.jsDoc)oe(Bn);w(Me,Ci)}function Ve(Me){Me._children=void 0,Us(Me,Me.pos+Hn,Me.end+Hn);for(let Bn of Me)oe(Bn)}}function f(Me){switch(Me.kind){case 10:case 8:case 79:return!0}return!1}function x(Me,Bn,Hn,zn,ni){qp.assert(Me.end>=Bn,"Adjusting an element that was entirely before the change range"),qp.assert(Me.pos<=Hn,"Adjusting an element that was entirely after the change range"),qp.assert(Me.pos<=Me.end);let Ci=Math.min(Me.pos,zn),ts=Me.end>=Hn?Me.end+ni:Math.min(Me.end,zn);qp.assert(Ci<=ts),Me.parent&&(qp.assertGreaterThanOrEqual(Ci,Me.parent.pos),qp.assertLessThanOrEqual(ts,Me.parent.end)),Us(Me,Ci,ts)}function w(Me,Bn){if(Bn){let Bn=Me.pos,Se=Me=>{qp.assert(Me.pos>=Bn),Bn=Me.end};if(ya(Me))for(let Bn of Me.jsDoc)Se(Bn);xr(Me,Se),qp.assert(Bn<=Me.end)}}function A(Me,Bn,Hn,zn,ni,Ci,ts,Ps){pt(Me);return;function pt(Me){if(qp.assert(Me.pos<=Me.end),Me.pos>Hn){s(Me,!1,ni,Ci,ts,Ps);return}let aa=Me.end;if(aa>=Bn){if(Me.intersectsChange=!0,Me._children=void 0,x(Me,Bn,Hn,zn,ni),xr(Me,pt,Gt),ya(Me))for(let Bn of Me.jsDoc)pt(Bn);w(Me,Ps);return}qp.assert(aaHn){s(Me,!0,ni,Ci,ts,Ps);return}let aa=Me.end;if(aa>=Bn){Me.intersectsChange=!0,Me._children=void 0,x(Me,Bn,Hn,zn,ni);for(let Bn of Me)pt(Bn);return}qp.assert(aa0&&Bn<=1;Bn++){let Bn=B(Me,Hn);qp.assert(Bn.pos<=Hn);let zn=Bn.pos;Hn=Math.max(0,zn-1)}let zn=ha(Hn,Ir(Bn.span)),ni=Bn.newLength+(Bn.span.start-Hn);return Zp(zn,ni)}function B(Me,Bn){let Hn=Me,zn;if(xr(Me,Ne),zn){let Me=Ye(zn);Me.pos>Hn.pos&&(Hn=Me)}return Hn;function Ye(Me){for(;;){let Bn=mx(Me);if(Bn)Me=Bn;else return Me}}function Ne(Me){if(!va(Me))if(Me.pos<=Bn){if(Me.pos>=Hn.pos&&(Hn=Me),BnBn),!0}}function N(Me,Bn,Hn,zn){let ni=Me.text;if(Hn&&(qp.assert(ni.length-Hn.span.length+Hn.newLength===Bn.length),zn||qp.shouldAssert(3))){let Me=ni.substr(0,Hn.span.start),zn=Bn.substr(0,Hn.span.start);qp.assert(Me===zn);let Ci=ni.substring(Ir(Hn.span),ni.length),ts=Bn.substring(Ir(R_(Hn)),Bn.length);qp.assert(Ci===ts)}}function X(Me){let Bn=Me.statements,Hn=0;qp.assert(Hn=Me.pos&&ni=Me.pos&&ni{Me[Me.Value=-1]="Value"})(Bn||(Bn={}))})(Ow||(Ow={})),Lw=new Map,Mw=/^\/\/\/\s*<(\S+)\s.*?\/>/im,jw=/^\/\/\/?\s*@(\S+)\s*(.*)\s*$/im}}),nF=()=>{},iF=()=>{},aF=()=>{},sF=()=>{},oF=()=>{},_F=()=>{},cF=()=>{},lF=()=>{},uF=()=>{},pF=()=>{},fF=()=>{},dF=()=>{},mF=()=>{},hF=()=>{},gF=()=>{},yF=()=>{},vF=()=>{},bF=()=>{},TF=()=>{},SF=()=>{},xF=()=>{},EF=()=>{},wF=()=>{},CF=()=>{},AF=()=>{},PF=()=>{},DF=()=>{},kF=()=>{},IF=()=>{},NF=()=>{},OF=()=>{},MF=()=>{},LF=()=>{},RF=()=>{},jF=()=>{},JF=()=>{},FF=()=>{},BF=()=>{},qF=()=>{},UF=()=>{},zF=()=>{},WF=()=>{},VF=()=>{},HF=()=>{},GF=()=>{},$F=()=>{},Gw=D({"src/compiler/_namespaces/ts.ts"(){"use strict";oa(),Up(),Jp(),R5(),j5(),F5(),U5(),Vy(),W5(),wv(),Iv(),oC(),pC(),cw(),lw(),fw(),RL(),bw(),XL(),YL(),Cw(),Sw(),Iw(),Uw(),nF(),iF(),aF(),sF(),_F(),cF(),lF(),uF(),pF(),fF(),dF(),mF(),hF(),gF(),yF(),vF(),bF(),TF(),SF(),xF(),EF(),wF(),CF(),AF(),PF(),DF(),kF(),IF(),NF(),OF(),MF(),LF(),RF(),jF(),JF(),FF(),BF(),qF(),UF(),zF(),WF(),VF(),HF(),GF(),$F(),oF(),IT()}}),l7=()=>{},KF=()=>{},u7=()=>{},Vw,u7=()=>{Jp(),Vw=Po(99,!0)},XF=()=>{},YF=()=>{},QF=()=>{},ZF=()=>{},eB=()=>{},tB=()=>{},rB=()=>{},nB=()=>{},iB=()=>{},aB=()=>{},p7=()=>{},f7=()=>{};function d7(Me,Bn,Hn,zn){let ni=gl(Me)?new qw(Me,Bn,Hn):Me===79?new Ww(79,Bn,Hn):Me===80?new Kw(80,Bn,Hn):new Yw(Me,Bn,Hn);return ni.parent=zn,ni.flags=zn.flags&50720768,ni}function sB(Me,Bn){if(!gl(Me.kind))return ca;let Hn=[];if(c3(Me))return Me.forEachChild((Me=>{Hn.push(Me)})),Hn;Vw.setText((Bn||Me.getSourceFile()).text);let zn=Me.pos,f=Bn=>{_u(Hn,zn,Bn.pos,Me),Hn.push(Bn),zn=Bn.end},x=Bn=>{_u(Hn,zn,Bn.pos,Me),Hn.push(oB(Bn,Me)),zn=Bn.end};return c(Me.jsDoc,f),zn=Me.pos,Me.forEachChild(f,x),_u(Hn,zn,Me.end,Me),Vw.setText(void 0),Hn}function _u(Me,Bn,Hn,zn){for(Vw.setTextPos(Bn);BnMe.tagName.text==="inheritDoc"||Me.tagName.text==="inheritdoc"))}function Ed(Me,Bn){if(!Me)return ca;let Hn=ts_JsDoc_exports.getJsDocTagsFromDeclarations(Me,Bn);if(Bn&&(Hn.length===0||Me.some(m7))){let zn=new Set;for(let ni of Me){let Me=h7(Bn,ni,(Me=>{var Hn;if(!zn.has(Me))return zn.add(Me),ni.kind===174||ni.kind===175?Me.getContextualJsDocTags(ni,Bn):((Hn=Me.declarations)==null?void 0:Hn.length)===1?Me.getJsDocTags():void 0}));Me&&(Hn=[...Me,...Hn])}}return Hn}function cu(Me,Bn){if(!Me)return ca;let Hn=ts_JsDoc_exports.getJsDocCommentsFromDeclarations(Me,Bn);if(Bn&&(Hn.length===0||Me.some(m7))){let zn=new Set;for(let ni of Me){let Me=h7(Bn,ni,(Me=>{if(!zn.has(Me))return zn.add(Me),ni.kind===174||ni.kind===175?Me.getContextualDocumentationComment(ni,Bn):Me.getDocumentationComment(Bn)}));Me&&(Hn=Hn.length===0?Me.slice():Me.concat(lineBreakPart(),Hn))}}return Hn}function h7(Me,Bn,Hn){var zn;let ni=((zn=Bn.parent)==null?void 0:zn.kind)===173?Bn.parent.parent:Bn.parent;if(!ni)return;let Ci=Lf(Bn);return q(h4(ni),(zn=>{let ni=Me.getTypeAtLocation(zn),ts=Ci&&ni.symbol?Me.getTypeOfSymbol(ni.symbol):ni,Ps=Me.getPropertyOfType(ts,Bn.symbol.name);return Ps?Hn(Ps):void 0}))}function _B(){return{getNodeConstructor:()=>qw,getTokenConstructor:()=>Yw,getIdentifierConstructor:()=>Ww,getPrivateIdentifierConstructor:()=>Kw,getSourceFileConstructor:()=>Zw,getSymbolConstructor:()=>$w,getTypeConstructor:()=>zw,getSignatureConstructor:()=>Xw,getSourceMapSourceConstructor:()=>eS}}function lu(Me){let Bn=!0;for(let Hn in Me)if(Jr(Me,Hn)&&!g7(Hn)){Bn=!1;break}if(Bn)return Me;let Hn={};for(let Bn in Me)if(Jr(Me,Bn)){let zn=g7(Bn)?Bn:Bn.charAt(0).toLowerCase()+Bn.substr(1);Hn[zn]=Me[Bn]}return Hn}function g7(Me){return!Me.length||Me.charAt(0)===Me.charAt(0).toLowerCase()}function cB(Me){return Me?Ze(Me,(Me=>Me.text)).join(""):""}function y7(){return{target:1,jsx:1}}function v7(){return ts_codefix_exports.getSupportedErrorCodes()}function b7(Me,Bn,Hn){Me.version=Hn,Me.scriptSnapshot=Bn}function N2(Me,Bn,Hn,zn,ni,Ci){let ts=YE(Me,getSnapshotText(Bn),Hn,ni,Ci);return b7(ts,Bn,zn),ts}function T7(Me,Bn,Hn,zn,ni){if(zn&&Hn!==Me.version){let Ci,ts=zn.span.start!==0?Me.text.substr(0,zn.span.start):"",Ps=Ir(zn.span)!==Me.text.length?Me.text.substr(Ir(zn.span)):"";if(zn.newLength===0)Ci=ts&&Ps?ts+Ps:ts||Ps;else{let Me=Bn.getText(zn.span.start,zn.span.start+zn.newLength);Ci=ts&&Ps?ts+Me+Ps:ts?ts+Me:Me+Ps}let aa=k2(Me,Ci,zn,ni);return b7(aa,Bn,Hn),aa.nameTable=void 0,Me!==aa&&Me.scriptSnapshot&&(Me.scriptSnapshot.dispose&&Me.scriptSnapshot.dispose(),Me.scriptSnapshot=void 0),aa}let Ci={languageVersion:Me.languageVersion,impliedNodeFormat:Me.impliedNodeFormat,setExternalModuleIndicator:Me.setExternalModuleIndicator};return N2(Me.fileName,Bn,Ci,Hn,!0,Me.scriptKind)}function lB(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:createDocumentRegistry(Me.useCaseSensitiveFileNames&&Me.useCaseSensitiveFileNames(),Me.getCurrentDirectory()),Hn=arguments.length>2?arguments[2]:void 0;var zn;let ni;Hn===void 0?ni=0:typeof Hn=="boolean"?ni=Hn?2:0:ni=Hn;let Ci=new tS(Me),ts,Ps,aa=0,oa=Me.getCancellationToken?new nS(Me.getCancellationToken()):rS,_a=Me.getCurrentDirectory();vx((zn=Me.getLocalizedDiagnosticMessages)==null?void 0:zn.bind(Me));function X(Bn){Me.log&&Me.log(Bn)}let xa=J0(Me),Ga=wp(xa),Ha=getSourceMapper({useCaseSensitiveFileNames:()=>xa,getCurrentDirectory:()=>_a,getProgram:Ye,fileExists:le(Me,Me.fileExists),readFile:le(Me,Me.readFile),getDocumentPositionMapper:le(Me,Me.getDocumentPositionMapper),getSourceFileLike:le(Me,Me.getSourceFileLike),log:X});function Te(Me){let Bn=ts.getSourceFile(Me);if(!Bn){let Bn=new Error(`Could not find source file: '${Me}'.`);throw Bn.ProgramFiles=ts.getSourceFiles().map((Me=>Me.fileName)),Bn}return Bn}function Se(){var Hn,zn,Ci;if(qp.assert(ni!==2),Me.getProjectVersion){let Bn=Me.getProjectVersion();if(Bn){if(Ps===Bn&&!((Hn=Me.hasChangedAutomaticTypeDirectiveNames)!=null&&Hn.call(Me)))return;Ps=Bn}}let ca=Me.getTypeRootsVersion?Me.getTypeRootsVersion():0;aa!==ca&&(X("TypeRoots version has changed; provide new program"),ts=void 0,aa=ca);let so=Me.getScriptFileNames().slice(),oo=Me.getCompilationSettings()||y7(),Jo=Me.hasInvalidatedResolutions||w_,tc=le(Me,Me.hasChangedAutomaticTypeDirectiveNames),dc=(zn=Me.getProjectReferences)==null?void 0:zn.call(Me),Fc,Jc={getSourceFile:wt,getSourceFileByPath:Tr,getCancellationToken:()=>oa,getCanonicalFileName:Ga,useCaseSensitiveFileNames:()=>xa,getNewLine:()=>ox(oo),getDefaultLibFileName:Bn=>Me.getDefaultLibFileName(Bn),writeFile:yn,getCurrentDirectory:()=>_a,fileExists:Bn=>Me.fileExists(Bn),readFile:Bn=>Me.readFile&&Me.readFile(Bn),getSymlinkCache:le(Me,Me.getSymlinkCache),realpath:le(Me,Me.realpath),directoryExists:Bn=>sx(Bn,Me),getDirectories:Bn=>Me.getDirectories?Me.getDirectories(Bn):[],readDirectory:(Bn,Hn,zn,ni,Ci)=>(qp.checkDefined(Me.readDirectory,"'LanguageServiceHost.readDirectory' must be implemented to correctly process 'projectReferences'"),Me.readDirectory(Bn,Hn,zn,ni,Ci)),onReleaseOldSourceFile:Rn,onReleaseParsedCommandLine:yr,hasInvalidatedResolutions:Jo,hasChangedAutomaticTypeDirectiveNames:tc,trace:le(Me,Me.trace),resolveModuleNames:le(Me,Me.resolveModuleNames),getModuleResolutionCache:le(Me,Me.getModuleResolutionCache),createHash:le(Me,Me.createHash),resolveTypeReferenceDirectives:le(Me,Me.resolveTypeReferenceDirectives),resolveModuleNameLiterals:le(Me,Me.resolveModuleNameLiterals),resolveTypeReferenceDirectiveReferences:le(Me,Me.resolveTypeReferenceDirectiveReferences),useSourceOfProjectReferenceRedirect:le(Me,Me.useSourceOfProjectReferenceRedirect),getParsedCommandLine:Dr},Dp=Jc.getSourceFile,{getSourceFileWithCache:kp}=changeCompilerHostLikeToUseCache(Jc,(Me=>Ui(Me,_a,Ga)),(function(){for(var Me=arguments.length,Bn=new Array(Me),Hn=0;HnJc.fileExists(Me),readFile:Me=>Jc.readFile(Me),readDirectory:function(){return Jc.readDirectory(...arguments)},trace:Jc.trace,getCurrentDirectory:Jc.getCurrentDirectory,onUnRecoverableConfigFileDiagnostic:yn},Up=Bn.getKeyForCompilationSettings(oo);if(isProgramUptoDate(ts,so,oo,((Bn,Hn)=>Me.getScriptVersion(Hn)),(Me=>Jc.fileExists(Me)),Jo,tc,Dr,dc))return;let Vp={rootNames:so,options:oo,host:Jc,oldProgram:ts,projectReferences:dc};ts=createProgram(Vp),Jc=void 0,Fc=void 0,Ha.clearCache(),ts.getTypeChecker();return;function Dr(Bn){let Hn=Ui(Bn,_a,Ga),zn=Fc==null?void 0:Fc.get(Hn);if(zn!==void 0)return zn||void 0;let ni=Me.getParsedCommandLine?Me.getParsedCommandLine(Bn):Lr(Bn);return(Fc||(Fc=new Map)).set(Hn,ni||!1),ni}function Lr(Me){let Bn=wt(Me,100);if(Bn)return Bn.path=Ui(Me,_a,Ga),Bn.resolvedPath=Bn.path,Bn.originalFileName=Bn.fileName,parseJsonSourceFileConfigFileContent(Bn,Qp,as(ma(Me),_a),void 0,as(Me,_a))}function yr(Bn,Hn,zn){var ni;Me.getParsedCommandLine?(ni=Me.onReleaseParsedCommandLine)==null||ni.call(Me,Bn,Hn,zn):Hn&&Rn(Hn.sourceFile,zn)}function Rn(Me,Hn){let zn=Bn.getKeyForCompilationSettings(Hn);Bn.releaseDocumentWithKey(Me.resolvedPath,zn,Me.scriptKind,Me.impliedNodeFormat)}function wt(Me,Bn,Hn,zn){return Tr(Me,Ui(Me,_a,Ga),Bn,Hn,zn)}function Tr(Hn,zn,ni,Ci,Ps){qp.assert(Jc,"getOrCreateSourceFileByPath called after typical CompilerHost lifetime, check the callstack something with a reference to an old host.");let aa=Me.getScriptSnapshot(Hn);if(!aa)return;let oa=getScriptKind(Hn,Me),ca=Me.getScriptVersion(Hn);if(!Ps){let Ci=ts&&ts.getSourceFileByPath(zn);if(Ci){if(oa===Ci.scriptKind)return Bn.updateDocumentWithKey(Hn,zn,Me,Up,aa,ca,oa,ni);Bn.releaseDocumentWithKey(Ci.resolvedPath,Bn.getKeyForCompilationSettings(ts.getCompilerOptions()),Ci.scriptKind,Ci.impliedNodeFormat)}}return Bn.acquireDocumentWithKey(Hn,zn,Me,Up,aa,ca,oa,ni)}}function Ye(){if(ni===2){qp.assert(ts===void 0);return}return Se(),ts}function Ne(){var Bn;return(Bn=Me.getPackageJsonAutoImportProvider)==null?void 0:Bn.call(Me)}function oe(Bn,Hn){let zn=ts.getTypeChecker(),ni=fe();if(!ni)return!1;for(let zn of Bn)for(let Bn of zn.references){let zn=T(Bn);if(qp.assertIsDefined(zn),Hn.has(Bn)||ts_FindAllReferences_exports.isDeclarationOfSymbol(zn,ni)){Hn.add(Bn),Bn.isDefinition=!0;let zn=getMappedDocumentSpan(Bn,Ha,le(Me,Me.fileExists));zn&&Hn.add(zn)}else Bn.isDefinition=!1}return!0;function fe(){for(let ni of Bn)for(let Bn of ni.references){if(Hn.has(Bn)){let Me=T(Bn);return qp.assertIsDefined(Me),zn.getSymbolAtLocation(Me)}let ni=getMappedDocumentSpan(Bn,Ha,le(Me,Me.fileExists));if(ni&&Hn.has(ni)){let Me=T(ni);if(Me)return zn.getSymbolAtLocation(Me)}}}function T(Me){let Bn=ts.getSourceFile(Me.fileName);if(!Bn)return;let Hn=getTouchingPropertyName(Bn,Me.textSpan.start);return ts_FindAllReferences_exports.Core.getAdjustedNode(Hn,{use:ts_FindAllReferences_exports.FindReferencesUse.References})}}function Ve(){ts=void 0}function pt(){if(ts){let Me=Bn.getKeyForCompilationSettings(ts.getCompilerOptions());c(ts.getSourceFiles(),(Hn=>Bn.releaseDocumentWithKey(Hn.resolvedPath,Me,Hn.scriptKind,Hn.impliedNodeFormat))),ts=void 0}Me=void 0}function Gt(Me){return Se(),ts.getSyntacticDiagnostics(Te(Me),oa).slice()}function Nt(Me){Se();let Bn=Te(Me),Hn=ts.getSemanticDiagnostics(Bn,oa);if(!cv(ts.getCompilerOptions()))return Hn.slice();let zn=ts.getDeclarationDiagnostics(Bn,oa);return[...Hn,...zn]}function Xt(Me){return Se(),computeSuggestionDiagnostics(Te(Me),ts,oa)}function er(){return Se(),[...ts.getOptionsDiagnostics(oa),...ts.getGlobalDiagnostics(oa)]}function Tn(Bn,Hn){let zn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:emptyOptions,ni=arguments.length>3?arguments[3]:void 0,Ci=Object.assign(Object.assign({},zn),{},{includeCompletionsForModuleExports:zn.includeCompletionsForModuleExports||zn.includeExternalModuleExports,includeCompletionsWithInsertText:zn.includeCompletionsWithInsertText||zn.includeInsertTextCompletions});return Se(),ts_Completions_exports.getCompletionsAtPosition(Me,ts,X,Te(Bn),Hn,Ci,zn.triggerCharacter,zn.triggerKind,oa,ni&&ts_formatting_exports.getFormatContext(ni,Me),zn.includeSymbol)}function Hr(Bn,Hn,zn,ni,Ci){let Ps=arguments.length>5&&arguments[5]!==void 0?arguments[5]:emptyOptions,aa=arguments.length>6?arguments[6]:void 0;return Se(),ts_Completions_exports.getCompletionEntryDetails(ts,X,Te(Bn),Hn,{name:zn,source:Ci,data:aa},Me,ni&&ts_formatting_exports.getFormatContext(ni,Me),Ps,oa)}function Gi(Bn,Hn,zn,ni){let Ci=arguments.length>4&&arguments[4]!==void 0?arguments[4]:emptyOptions;return Se(),ts_Completions_exports.getCompletionEntrySymbol(ts,X,Te(Bn),Hn,{name:zn,source:ni},Me,Ci)}function pn(Me,Bn){Se();let Hn=Te(Me),zn=getTouchingPropertyName(Hn,Bn);if(zn===Hn)return;let ni=ts.getTypeChecker(),Ci=fn(zn),Ps=mB(Ci,ni);if(!Ps||ni.isUnknownSymbol(Ps)){let Me=Ut(Hn,Ci,Bn)?ni.getTypeAtLocation(Ci):void 0;return Me&&{kind:"",kindModifiers:"",textSpan:createTextSpanFromNode(Ci,Hn),displayParts:ni.runWithCancellationToken(oa,(Bn=>typeToDisplayParts(Bn,Me,getContainerNode(Ci)))),documentation:Me.symbol?Me.symbol.getDocumentationComment(ni):void 0,tags:Me.symbol?Me.symbol.getJsDocTags(ni):void 0}}let{symbolKind:aa,displayParts:ca,documentation:_a,tags:xa}=ni.runWithCancellationToken(oa,(Me=>ts_SymbolDisplay_exports.getSymbolDisplayPartsDocumentationAndSymbolKind(Me,Ps,Hn,getContainerNode(Ci),Ci)));return{kind:aa,kindModifiers:ts_SymbolDisplay_exports.getSymbolModifiers(ni,Ps),textSpan:createTextSpanFromNode(Ci,Hn),displayParts:ca,documentation:_a,tags:xa}}function fn(Me){return X8(Me.parent)&&Me.pos===Me.parent.pos?Me.parent.expression:$v(Me.parent)&&Me.pos===Me.parent.pos||o0(Me.parent)&&Me.parent.name===Me?Me.parent:Me}function Ut(Me,Bn,Hn){switch(Bn.kind){case 79:return!isLabelName(Bn)&&!isTagName(Bn)&&!jS(Bn.parent);case 208:case 163:return!isInComment(Me,Hn);case 108:case 194:case 106:case 199:return!0;case 233:return o0(Bn);default:return!1}}function kn(Me,Bn,Hn,zn){return Se(),ts_GoToDefinition_exports.getDefinitionAtPosition(ts,Te(Me),Bn,Hn,zn)}function an(Me,Bn){return Se(),ts_GoToDefinition_exports.getDefinitionAndBoundSpan(ts,Te(Me),Bn)}function mr(Me,Bn){return Se(),ts_GoToDefinition_exports.getTypeDefinitionAtPosition(ts.getTypeChecker(),Te(Me),Bn)}function $i(Me,Bn){return Se(),ts_FindAllReferences_exports.getImplementationsAtPosition(ts,oa,ts.getSourceFiles(),Te(Me),Bn)}function dn(Me,Bn){return ne(Ur(Me,Bn,[Me]),(Me=>Me.highlightSpans.map((Bn=>Object.assign(Object.assign({fileName:Me.fileName,textSpan:Bn.textSpan,isWriteAccess:Bn.kind==="writtenReference"},Bn.isInString&&{isInString:!0}),Bn.contextSpan&&{contextSpan:Bn.contextSpan})))))}function Ur(Me,Bn,Hn){let zn=Un(Me);qp.assert(Hn.some((Me=>Un(Me)===zn))),Se();let ni=qt(Hn,(Me=>ts.getSourceFile(Me))),Ci=Te(Me);return DocumentHighlights.getDocumentHighlights(ts,oa,Ci,Bn,ni)}function Gr(Me,Bn,Hn,zn,ni){Se();let Ci=Te(Me),ts=getAdjustedRenameLocation(getTouchingPropertyName(Ci,Bn));if(ts_Rename_exports.nodeIsEligibleForRename(ts))if(yt(ts)&&(tu(ts.parent)||sE(ts.parent))&&P4(ts.escapedText)){let{openingElement:Me,closingElement:Bn}=ts.parent.parent;return[Me,Bn].map((Me=>{let Bn=createTextSpanFromNode(Me.tagName,Ci);return Object.assign({fileName:Ci.fileName,textSpan:Bn},ts_FindAllReferences_exports.toContextSpan(Bn,Ci,Me.parent))}))}else return Sn(ts,Bn,{findInStrings:Hn,findInComments:zn,providePrefixAndSuffixTextForRename:ni,use:ts_FindAllReferences_exports.FindReferencesUse.Rename},((Me,Bn,Hn)=>ts_FindAllReferences_exports.toRenameLocation(Me,Bn,Hn,ni||!1)))}function _r(Me,Bn){return Se(),Sn(getTouchingPropertyName(Te(Me),Bn),Bn,{use:ts_FindAllReferences_exports.FindReferencesUse.References},ts_FindAllReferences_exports.toReferenceEntry)}function Sn(Me,Bn,Hn,zn){Se();let ni=Hn&&Hn.use===ts_FindAllReferences_exports.FindReferencesUse.Rename?ts.getSourceFiles().filter((Me=>!ts.isSourceFileDefaultLibrary(Me))):ts.getSourceFiles();return ts_FindAllReferences_exports.findReferenceOrRenameEntries(ts,oa,ni,Me,Bn,Hn,zn)}function In(Me,Bn){return Se(),ts_FindAllReferences_exports.findReferencedSymbols(ts,oa,ts.getSourceFiles(),Te(Me),Bn)}function pr(Me){return Se(),ts_FindAllReferences_exports.Core.getReferencesForFileName(Me,ts,ts.getSourceFiles()).map(ts_FindAllReferences_exports.toReferenceEntry)}function Zt(Me,Bn,Hn){let zn=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;Se();let ni=Hn?[Te(Hn)]:ts.getSourceFiles();return getNavigateToItems(ni,ts.getTypeChecker(),oa,Me,Bn,zn)}function Or(Bn,Hn,zn){Se();let ni=Te(Bn),Ci=Me.getCustomTransformers&&Me.getCustomTransformers();return getFileEmitOutput(ts,ni,!!Hn,oa,Ci,zn)}function Nn(Me,Bn){let{triggerReason:Hn}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:emptyOptions;Se();let zn=Te(Me);return ts_SignatureHelp_exports.getSignatureHelpItems(ts,zn,Bn,Hn,oa)}function ar(Me){return Ci.getCurrentSourceFile(Me)}function oi(Me,Bn,Hn){let zn=Ci.getCurrentSourceFile(Me),ni=getTouchingPropertyName(zn,Bn);if(ni===zn)return;switch(ni.kind){case 208:case 163:case 10:case 95:case 110:case 104:case 106:case 108:case 194:case 79:break;default:return}let ts=ni;for(;;)if(isRightSideOfPropertyAccess(ts)||isRightSideOfQualifiedName(ts))ts=ts.parent;else if(isNameOfModuleDeclaration(ts))if(ts.parent.parent.kind===264&&ts.parent.parent.body===ts.parent)ts=ts.parent.parent.name;else break;else break;return ha(ts.getStart(),ni.getEnd())}function cr(Me,Bn){let Hn=Ci.getCurrentSourceFile(Me);return ts_BreakpointResolver_exports.spanInSourceFileAtLocation(Hn,Bn)}function $r(Me){return getNavigationBarItems(Ci.getCurrentSourceFile(Me),oa)}function hr(Me){return getNavigationTree(Ci.getCurrentSourceFile(Me),oa)}function On(Me,Bn,Hn){return Se(),(Hn||"original")==="2020"?ts_classifier_exports.v2020.getSemanticClassifications(ts,oa,Te(Me),Bn):getSemanticClassifications(ts.getTypeChecker(),oa,Te(Me),ts.getClassifiableNames(),Bn)}function nr(Me,Bn,Hn){return Se(),(Hn||"original")==="original"?getEncodedSemanticClassifications(ts.getTypeChecker(),oa,Te(Me),ts.getClassifiableNames(),Bn):ts_classifier_exports.v2020.getEncodedSemanticClassifications(ts,oa,Te(Me),Bn)}function br(Me,Bn){return getSyntacticClassifications(oa,Ci.getCurrentSourceFile(Me),Bn)}function Kr(Me,Bn){return getEncodedSyntacticClassifications(oa,Ci.getCurrentSourceFile(Me),Bn)}function wa(Me){let Bn=Ci.getCurrentSourceFile(Me);return ts_OutliningElementsCollector_exports.collectElements(Bn,oa)}let so=new Map(Object.entries({[18]:19,[20]:21,[22]:23,[31]:29}));so.forEach(((Me,Bn)=>so.set(Me.toString(),Number(Bn))));function Ki(Me,Bn){let Hn=Ci.getCurrentSourceFile(Me),zn=getTouchingToken(Hn,Bn),ni=zn.getStart(Hn)===Bn?so.get(zn.kind.toString()):void 0,ts=ni&&findChildOfKind(zn.parent,ni,Hn);return ts?[createTextSpanFromNode(zn,Hn),createTextSpanFromNode(ts,Hn)].sort(((Me,Bn)=>Me.start-Bn.start)):ca}function Mn(Me,Bn,Hn){let zn=Wp(),ni=lu(Hn),ts=Ci.getCurrentSourceFile(Me);X("getIndentationAtPosition: getCurrentSourceFile: "+(Wp()-zn)),zn=Wp();let Ps=ts_formatting_exports.SmartIndenter.getIndentation(Bn,ts,ni);return X("getIndentationAtPosition: computeIndentation : "+(Wp()-zn)),Ps}function _i(Bn,Hn,zn,ni){let ts=Ci.getCurrentSourceFile(Bn);return ts_formatting_exports.formatSelection(Hn,zn,ts,ts_formatting_exports.getFormatContext(lu(ni),Me))}function Ca(Bn,Hn){return ts_formatting_exports.formatDocument(Ci.getCurrentSourceFile(Bn),ts_formatting_exports.getFormatContext(lu(Hn),Me))}function St(Bn,Hn,zn,ni){let ts=Ci.getCurrentSourceFile(Bn),Ps=ts_formatting_exports.getFormatContext(lu(ni),Me);if(!isInComment(ts,Hn))switch(zn){case"{":return ts_formatting_exports.formatOnOpeningCurly(Hn,ts,Ps);case"}":return ts_formatting_exports.formatOnClosingCurly(Hn,ts,Ps);case";":return ts_formatting_exports.formatOnSemicolon(Hn,ts,Ps);case`\n`:return ts_formatting_exports.formatOnEnter(Hn,ts,Ps)}return[]}function ue(Bn,Hn,zn,ni,Ci){let Ps=arguments.length>5&&arguments[5]!==void 0?arguments[5]:emptyOptions;Se();let aa=Te(Bn),ca=ha(Hn,zn),_a=ts_formatting_exports.getFormatContext(Ci,Me);return ne(ji(ni,fa,Vr),(Bn=>(oa.throwIfCancellationRequested(),ts_codefix_exports.getFixes({errorCode:Bn,sourceFile:aa,span:ca,program:ts,host:Me,cancellationToken:oa,formatContext:_a,preferences:Ps}))))}function He(Bn,Hn,zn){let ni=arguments.length>3&&arguments[3]!==void 0?arguments[3]:emptyOptions;Se(),qp.assert(Bn.type==="file");let Ci=Te(Bn.fileName),Ps=ts_formatting_exports.getFormatContext(zn,Me);return ts_codefix_exports.getAllFixes({fixId:Hn,sourceFile:Ci,program:ts,host:Me,cancellationToken:oa,formatContext:Ps,preferences:ni})}function _t(Bn,Hn){let zn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:emptyOptions;var ni;Se(),qp.assert(Bn.type==="file");let Ci=Te(Bn.fileName),Ps=ts_formatting_exports.getFormatContext(Hn,Me),aa=(ni=Bn.mode)!=null?ni:Bn.skipDestructiveCodeActions?"SortAndCombine":"All";return ts_OrganizeImports_exports.organizeImports(Ci,Ps,Me,ts,zn,aa)}function ft(Bn,Hn,zn){let ni=arguments.length>3&&arguments[3]!==void 0?arguments[3]:emptyOptions;return getEditsForFileRename(Ye(),Bn,Hn,Me,ts_formatting_exports.getFormatContext(zn,Me),ni,Ha)}function Kt(Me,Bn){let Hn=typeof Me=="string"?Bn:Me;return ir(Hn)?Promise.all(Hn.map((Me=>zt(Me)))):zt(Hn)}function zt(Bn){let ie=Me=>Ui(Me,_a,Ga);return qp.assertEqual(Bn.type,"install package"),Me.installPackage?Me.installPackage({fileName:ie(Bn.file),packageName:Bn.packageName}):Promise.reject("Host does not implement `installPackage`")}function xe(Bn,Hn,zn,ni){let ts=ni?ts_formatting_exports.getFormatContext(ni,Me).options:void 0;return ts_JsDoc_exports.getDocCommentTemplateAtPosition(getNewLineOrDefaultFromHost(Me,ts),Ci.getCurrentSourceFile(Bn),Hn,zn)}function Le(Me,Bn,Hn){if(Hn===60)return!1;let zn=Ci.getCurrentSourceFile(Me);if(isInString(zn,Bn))return!1;if(isInsideJsxElementOrAttribute(zn,Bn))return Hn===123;if(isInTemplateString(zn,Bn))return!1;switch(Hn){case 39:case 34:case 96:return!isInComment(zn,Bn)}return!0}function Re(Me,Bn){let Hn=Ci.getCurrentSourceFile(Me),zn=findPrecedingToken(Bn,Hn);if(!zn)return;let ni=zn.kind===31&&tu(zn.parent)?zn.parent.parent:td(zn)&&l2(zn.parent)?zn.parent:void 0;if(ni&&gr(ni))return{newText:``};let ts=zn.kind===31&&u2(zn.parent)?zn.parent.parent:td(zn)&&pd(zn.parent)?zn.parent:void 0;if(ts&&Ln(ts))return{newText:""}}function ot(Me,Bn){return{lineStarts:Me.getLineStarts(),firstLine:Me.getLineAndCharacterOfPosition(Bn.pos).line,lastLine:Me.getLineAndCharacterOfPosition(Bn.end).line}}function Ct(Me,Bn,Hn){let zn=Ci.getCurrentSourceFile(Me),ni=[],{lineStarts:ts,firstLine:Ps,lastLine:aa}=ot(zn,Bn),oa=Hn||!1,ca=Number.MAX_VALUE,_a=new Map,xa=new RegExp(/\S/),Ga=isInsideJsxElement(zn,ts[Ps]),Ha=Ga?"{/*":"//";for(let Me=Ps;Me<=aa;Me++){let Bn=zn.text.substring(ts[Me],zn.getLineEndOfPosition(ts[Me])),ni=xa.exec(Bn);ni&&(ca=Math.min(ca,ni.index),_a.set(Me.toString(),ni.index),Bn.substr(ni.index,Ha.length)!==Ha&&(oa=Hn===void 0||Hn))}for(let Hn=Ps;Hn<=aa;Hn++){if(Ps!==aa&&ts[Hn]===Bn.end)continue;let Ci=_a.get(Hn.toString());Ci!==void 0&&(Ga?ni.push.apply(ni,Mt(Me,{pos:ts[Hn]+ca,end:zn.getLineEndOfPosition(ts[Hn])},oa,Ga)):oa?ni.push({newText:Ha,span:{length:0,start:ts[Hn]+ca}}):zn.text.substr(ts[Hn]+Ci,Ha.length)===Ha&&ni.push({newText:"",span:{length:Ha.length,start:ts[Hn]+Ci}}))}return ni}function Mt(Me,Bn,Hn,zn){var ni;let ts=Ci.getCurrentSourceFile(Me),Ps=[],{text:aa}=ts,oa=!1,ca=Hn||!1,_a=[],{pos:xa}=Bn,Ga=zn!==void 0?zn:isInsideJsxElement(ts,xa),Ha=Ga?"{/*":"/*",so=Ga?"*/}":"*/",oo=Ga?"\\{\\/\\*":"\\/\\*",Jo=Ga?"\\*\\/\\}":"\\*\\/";for(;xa<=Bn.end;){let Me=aa.substr(xa,Ha.length)===Ha?Ha.length:0,zn=isInComment(ts,xa+Me);if(zn)Ga&&(zn.pos--,zn.end++),_a.push(zn.pos),zn.kind===3&&_a.push(zn.end),oa=!0,xa=zn.end+1;else{let Me=aa.substring(xa,Bn.end).search(`(${oo})|(${Jo})`);ca=Hn!==void 0?Hn:ca||!isTextWhiteSpaceLike(aa,xa,Me===-1?Bn.end:xa+Me),xa=Me===-1?Bn.end+1:xa+Me+so.length}}if(ca||!oa){((ni=isInComment(ts,Bn.pos))==null?void 0:ni.kind)!==2&&Qn(_a,Bn.pos,Vr),Qn(_a,Bn.end,Vr);let Me=_a[0];aa.substr(Me,Ha.length)!==Ha&&Ps.push({newText:Ha,span:{length:0,start:Me}});for(let Me=1;Me<_a.length-1;Me++)aa.substr(_a[Me]-so.length,so.length)!==so&&Ps.push({newText:so,span:{length:0,start:_a[Me]}}),aa.substr(_a[Me],Ha.length)!==Ha&&Ps.push({newText:Ha,span:{length:0,start:_a[Me]}});Ps.length%2!==0&&Ps.push({newText:so,span:{length:0,start:_a[_a.length-1]}})}else for(let Me of _a){let Bn=Me-so.length>0?Me-so.length:0,Hn=aa.substr(Bn,so.length)===so?so.length:0;Ps.push({newText:"",span:{length:Ha.length,start:Me-Hn}})}return Ps}function It(Me,Bn){let Hn=Ci.getCurrentSourceFile(Me),{firstLine:zn,lastLine:ni}=ot(Hn,Bn);return zn===ni&&Bn.pos!==Bn.end?Mt(Me,Bn,!0):Ct(Me,Bn,!0)}function Mr(Me,Bn){let Hn=Ci.getCurrentSourceFile(Me),zn=[],{pos:ni}=Bn,{end:ts}=Bn;ni===ts&&(ts+=isInsideJsxElement(Hn,ni)?2:1);for(let Bn=ni;Bn<=ts;Bn++){let ni=isInComment(Hn,Bn);if(ni){switch(ni.kind){case 2:zn.push.apply(zn,Ct(Me,{end:ni.end,pos:ni.pos+1},!1));break;case 3:zn.push.apply(zn,Mt(Me,{end:ni.end,pos:ni.pos+1},!1))}Bn=ni.end+1}}return zn}function gr(Me){let{openingElement:Bn,closingElement:Hn,parent:zn}=Me;return!Hi(Bn.tagName,Hn.tagName)||l2(zn)&&Hi(Bn.tagName,zn.openingElement.tagName)&&gr(zn)}function Ln(Me){let{closingFragment:Bn,parent:Hn}=Me;return!!(Bn.flags&131072)||pd(Hn)&&Ln(Hn)}function ys(Me,Bn,Hn){let zn=Ci.getCurrentSourceFile(Me),ni=ts_formatting_exports.getRangeOfEnclosingComment(zn,Bn);return ni&&(!Hn||ni.kind===3)?createTextSpanFromRange(ni):void 0}function ci(Me,Bn){Se();let Hn=Te(Me);oa.throwIfCancellationRequested();let zn=Hn.text,ni=[];if(Bn.length>0&&!_e(Hn.fileName)){let Me=it(),Ci;for(;Ci=Me.exec(zn);){oa.throwIfCancellationRequested();let Me=3;qp.assert(Ci.length===Bn.length+Me);let ts=Ci[1],Ps=Ci.index+ts.length;if(!isInComment(Hn,Ps))continue;let aa;for(let Hn=0;Hn"("+T(Me.text)+")")).join("|")+")",Ci=/(?:$|\*\/)/.source,ts=/(?:.*?)/.source,Ps="("+ni+ts+")",aa=zn+Ps+Ci;return new RegExp(aa,"gim")}function mt(Me){return Me>=97&&Me<=122||Me>=65&&Me<=90||Me>=48&&Me<=57}function _e(Me){return Fi(Me,"/node_modules/")}}function Xi(Me,Bn,Hn){return Se(),ts_Rename_exports.getRenameInfo(ts,Te(Me),Bn,Hn||{})}function Aa(Bn,Hn,zn,ni,Ci,ts){let[Ps,aa]=typeof Hn=="number"?[Hn,void 0]:[Hn.pos,Hn.end];return{file:Bn,startPosition:Ps,endPosition:aa,program:Ye(),host:Me,formatContext:ts_formatting_exports.getFormatContext(ni,Me),cancellationToken:oa,preferences:zn,triggerReason:Ci,kind:ts}}function vs(Bn,Hn,zn){return{file:Bn,program:Ye(),host:Me,span:Hn,preferences:zn,cancellationToken:oa}}function $s(Me,Bn){return ts_SmartSelectionRange_exports.getSmartSelectionRange(Bn,Ci.getCurrentSourceFile(Me))}function li(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:emptyOptions,zn=arguments.length>3?arguments[3]:void 0,ni=arguments.length>4?arguments[4]:void 0;Se();let Ci=Te(Me);return ts_refactor_exports.getApplicableRefactors(Aa(Ci,Bn,Hn,emptyOptions,zn,ni))}function Yi(Me,Bn,Hn,zn,ni){let Ci=arguments.length>5&&arguments[5]!==void 0?arguments[5]:emptyOptions;Se();let ts=Te(Me);return ts_refactor_exports.getEditsForRefactor(Aa(ts,Hn,Ci,Bn),zn,ni)}function Qi(Me,Bn){return Bn===0?{line:0,character:0}:Ha.toLineColumnOffset(Me,Bn)}function bs(Me,Bn){Se();let Hn=ts_CallHierarchy_exports.resolveCallHierarchyDeclaration(ts,getTouchingPropertyName(Te(Me),Bn));return Hn&&mapOneOrMany(Hn,(Me=>ts_CallHierarchy_exports.createCallHierarchyItem(ts,Me)))}function Ai(Me,Bn){Se();let Hn=Te(Me),zn=firstOrOnly(ts_CallHierarchy_exports.resolveCallHierarchyDeclaration(ts,Bn===0?Hn:getTouchingPropertyName(Hn,Bn)));return zn?ts_CallHierarchy_exports.getIncomingCalls(ts,zn,oa):[]}function xn(Me,Bn){Se();let Hn=Te(Me),zn=firstOrOnly(ts_CallHierarchy_exports.resolveCallHierarchyDeclaration(ts,Bn===0?Hn:getTouchingPropertyName(Hn,Bn)));return zn?ts_CallHierarchy_exports.getOutgoingCalls(ts,zn):[]}function Dt(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:emptyOptions;Se();let zn=Te(Me);return ts_InlayHints_exports.provideInlayHints(vs(zn,Bn,Hn))}let oo={dispose:pt,cleanupSemanticCache:Ve,getSyntacticDiagnostics:Gt,getSemanticDiagnostics:Nt,getSuggestionDiagnostics:Xt,getCompilerOptionsDiagnostics:er,getSyntacticClassifications:br,getSemanticClassifications:On,getEncodedSyntacticClassifications:Kr,getEncodedSemanticClassifications:nr,getCompletionsAtPosition:Tn,getCompletionEntryDetails:Hr,getCompletionEntrySymbol:Gi,getSignatureHelpItems:Nn,getQuickInfoAtPosition:pn,getDefinitionAtPosition:kn,getDefinitionAndBoundSpan:an,getImplementationAtPosition:$i,getTypeDefinitionAtPosition:mr,getReferencesAtPosition:_r,findReferences:In,getFileReferences:pr,getOccurrencesAtPosition:dn,getDocumentHighlights:Ur,getNameOrDottedNameSpan:oi,getBreakpointStatementAtPosition:cr,getNavigateToItems:Zt,getRenameInfo:Xi,getSmartSelectionRange:$s,findRenameLocations:Gr,getNavigationBarItems:$r,getNavigationTree:hr,getOutliningSpans:wa,getTodoComments:ci,getBraceMatchingAtPosition:Ki,getIndentationAtPosition:Mn,getFormattingEditsForRange:_i,getFormattingEditsForDocument:Ca,getFormattingEditsAfterKeystroke:St,getDocCommentTemplateAtPosition:xe,isValidBraceCompletionAtPosition:Le,getJsxClosingTagAtPosition:Re,getSpanOfEnclosingComment:ys,getCodeFixesAtPosition:ue,getCombinedCodeFix:He,applyCodeActionCommand:Kt,organizeImports:_t,getEditsForFileRename:ft,getEmitOutput:Or,getNonBoundSourceFile:ar,getProgram:Ye,getCurrentProgram:()=>ts,getAutoImportProvider:Ne,updateIsDefinitionOfReferencedSymbols:oe,getApplicableRefactors:li,getEditsForRefactor:Yi,toLineColumnOffset:Qi,getSourceMapper:()=>Ha,clearSourceMapperCache:()=>Ha.clearCache(),prepareCallHierarchy:bs,provideCallHierarchyIncomingCalls:Ai,provideCallHierarchyOutgoingCalls:xn,toggleLineComment:Ct,toggleMultilineComment:Mt,commentSelection:It,uncommentSelection:Mr,provideInlayHints:Dt,getSupportedCodeFixes:v7};switch(ni){case 0:break;case 1:yB.forEach((Me=>oo[Me]=()=>{throw new Error(`LanguageService Operation: ${Me} not allowed in LanguageServiceMode.PartialSemantic`)}));break;case 2:BB.forEach((Me=>oo[Me]=()=>{throw new Error(`LanguageService Operation: ${Me} not allowed in LanguageServiceMode.Syntactic`)}));break;default:qp.assertNever(ni)}return oo}function uB(Me){return Me.nameTable||pB(Me),Me.nameTable}function pB(Me){let Bn=Me.nameTable=new Map;Me.forEachChild((function r(Me){if(yt(Me)&&!isTagName(Me)&&Me.escapedText||Ta(Me)&&fB(Me)){let Hn=b4(Me);Bn.set(Hn,Bn.get(Hn)===void 0?Me.pos:-1)}else if(vn(Me)){let Hn=Me.escapedText;Bn.set(Hn,Bn.get(Hn)===void 0?Me.pos:-1)}if(xr(Me,r),ya(Me))for(let Bn of Me.jsDoc)xr(Bn,r)}))}function fB(Me){return c4(Me)||Me.parent.kind===280||hB(Me)||l4(Me)}function S7(Me){let Bn=dB(Me);return Bn&&(Hs(Bn.parent)||p2(Bn.parent))?Bn:void 0}function dB(Me){switch(Me.kind){case 10:case 14:case 8:if(Me.parent.kind===164)return Wy(Me.parent.parent)?Me.parent.parent:void 0;case 79:return Wy(Me.parent)&&(Me.parent.parent.kind===207||Me.parent.parent.kind===289)&&Me.parent.name===Me?Me.parent:void 0}}function mB(Me,Bn){let Hn=S7(Me);if(Hn){let Me=Bn.getContextualType(Hn.parent),zn=Me&&x7(Hn,Bn,Me,!1);if(zn&&zn.length===1)return fo(zn)}return Bn.getSymbolAtLocation(Me)}function x7(Me,Bn,Hn,zn){let ni=getNameFromPropertyName(Me.name);if(!ni)return ca;if(!Hn.isUnion()){let Me=Hn.getProperty(ni);return Me?[Me]:ca}let Ci=qt(Hn.types,(Hn=>(Hs(Me.parent)||p2(Me.parent))&&Bn.isTypeInvalidDueToUnionDiscriminant(Hn,Me.parent)?void 0:Hn.getProperty(ni)));if(zn&&(Ci.length===0||Ci.length===Hn.types.length)){let Me=Hn.getProperty(ni);if(Me)return[Me]}return Ci.length===0?qt(Hn.types,(Me=>Me.getProperty(ni))):Ci}function hB(Me){return Me&&Me.parent&&Me.parent.kind===209&&Me.parent.argumentExpression===Me}function gB(Me){if(Hy)return tn(ma(Un(Hy.getExecutingFilePath())),aS(Me));throw new Error("getDefaultLibFilePath is only supported when consumed as a node module. ")}var Hw,qw,Jw,$w,Yw,Ww,Kw,zw,Xw,Zw,eS,tS,rS,nS,iS,yB,BB,eT=D({"src/services/services.ts"(){"use strict";rT(),rT(),p7(),f7(),Hw="0.8",qw=class{constructor(Me,Bn,Hn){this.pos=Bn,this.end=Hn,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.kind=Me}assertHasRealPosition(Me){qp.assert(!hs(this.pos)&&!hs(this.end),Me||"Node must have a real position for this operation")}getSourceFile(){return Si(this)}getStart(Me,Bn){return this.assertHasRealPosition(),Io(this,Me,Bn)}getFullStart(){return this.assertHasRealPosition(),this.pos}getEnd(){return this.assertHasRealPosition(),this.end}getWidth(Me){return this.assertHasRealPosition(),this.getEnd()-this.getStart(Me)}getFullWidth(){return this.assertHasRealPosition(),this.end-this.pos}getLeadingTriviaWidth(Me){return this.assertHasRealPosition(),this.getStart(Me)-this.pos}getFullText(Me){return this.assertHasRealPosition(),(Me||this.getSourceFile()).text.substring(this.pos,this.end)}getText(Me){return this.assertHasRealPosition(),Me||(Me=this.getSourceFile()),Me.text.substring(this.getStart(Me),this.getEnd())}getChildCount(Me){return this.getChildren(Me).length}getChildAt(Me,Bn){return this.getChildren(Bn)[Me]}getChildren(Me){return this.assertHasRealPosition("Node without a real position cannot be scanned and thus has no token nodes - use forEachChild and collect the result if that's fine"),this._children||(this._children=sB(this,Me))}getFirstToken(Me){this.assertHasRealPosition();let Bn=this.getChildren(Me);if(!Bn.length)return;let Hn=Ae(Bn,(Me=>Me.kind<312||Me.kind>353));return Hn.kind<163?Hn:Hn.getFirstToken(Me)}getLastToken(Me){this.assertHasRealPosition();let Bn=this.getChildren(Me),Hn=Cn(Bn);if(Hn)return Hn.kind<163?Hn:Hn.getLastToken(Me)}forEachChild(Me,Bn){return xr(this,Me,Bn)}},Jw=class{constructor(Me,Bn){this.pos=Me,this.end=Bn,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0}getSourceFile(){return Si(this)}getStart(Me,Bn){return Io(this,Me,Bn)}getFullStart(){return this.pos}getEnd(){return this.end}getWidth(Me){return this.getEnd()-this.getStart(Me)}getFullWidth(){return this.end-this.pos}getLeadingTriviaWidth(Me){return this.getStart(Me)-this.pos}getFullText(Me){return(Me||this.getSourceFile()).text.substring(this.pos,this.end)}getText(Me){return Me||(Me=this.getSourceFile()),Me.text.substring(this.getStart(Me),this.getEnd())}getChildCount(){return this.getChildren().length}getChildAt(Me){return this.getChildren()[Me]}getChildren(){return this.kind===1&&this.jsDoc||ca}getFirstToken(){}getLastToken(){}forEachChild(){}},$w=class{constructor(Me,Bn){this.id=0,this.mergeId=0,this.flags=Me,this.escapedName=Bn}getFlags(){return this.flags}get name(){return rf(this)}getEscapedName(){return this.escapedName}getName(){return this.name}getDeclarations(){return this.declarations}getDocumentationComment(Me){if(!this.documentationComment)if(this.documentationComment=ca,!this.declarations&&$y(this)&&this.links.target&&$y(this.links.target)&&this.links.target.links.tupleLabelDeclaration){let Bn=this.links.target.links.tupleLabelDeclaration;this.documentationComment=cu([Bn],Me)}else this.documentationComment=cu(this.declarations,Me);return this.documentationComment}getContextualDocumentationComment(Me,Bn){if(Me){if(Tl(Me)&&(this.contextualGetAccessorDocumentationComment||(this.contextualGetAccessorDocumentationComment=cu(ee(this.declarations,Tl),Bn)),I(this.contextualGetAccessorDocumentationComment)))return this.contextualGetAccessorDocumentationComment;if(bl(Me)&&(this.contextualSetAccessorDocumentationComment||(this.contextualSetAccessorDocumentationComment=cu(ee(this.declarations,bl),Bn)),I(this.contextualSetAccessorDocumentationComment)))return this.contextualSetAccessorDocumentationComment}return this.getDocumentationComment(Bn)}getJsDocTags(Me){return this.tags===void 0&&(this.tags=Ed(this.declarations,Me)),this.tags}getContextualJsDocTags(Me,Bn){if(Me){if(Tl(Me)&&(this.contextualGetAccessorTags||(this.contextualGetAccessorTags=Ed(ee(this.declarations,Tl),Bn)),I(this.contextualGetAccessorTags)))return this.contextualGetAccessorTags;if(bl(Me)&&(this.contextualSetAccessorTags||(this.contextualSetAccessorTags=Ed(ee(this.declarations,bl),Bn)),I(this.contextualSetAccessorTags)))return this.contextualSetAccessorTags}return this.getJsDocTags(Bn)}},Yw=class extends Jw{constructor(Me,Bn,Hn){super(Bn,Hn),this.kind=Me}},Ww=class extends Jw{constructor(Me,Bn,Hn){super(Bn,Hn),this.kind=79}get text(){return qr(this)}},Ww.prototype.kind=79,Kw=class extends Jw{constructor(Me,Bn,Hn){super(Bn,Hn),this.kind=80}get text(){return qr(this)}},Kw.prototype.kind=80,zw=class{constructor(Me,Bn){this.checker=Me,this.flags=Bn}getFlags(){return this.flags}getSymbol(){return this.symbol}getProperties(){return this.checker.getPropertiesOfType(this)}getProperty(Me){return this.checker.getPropertyOfType(this,Me)}getApparentProperties(){return this.checker.getAugmentedPropertiesOfType(this)}getCallSignatures(){return this.checker.getSignaturesOfType(this,0)}getConstructSignatures(){return this.checker.getSignaturesOfType(this,1)}getStringIndexType(){return this.checker.getIndexTypeOfType(this,0)}getNumberIndexType(){return this.checker.getIndexTypeOfType(this,1)}getBaseTypes(){return this.isClassOrInterface()?this.checker.getBaseTypes(this):void 0}isNullableType(){return this.checker.isNullableType(this)}getNonNullableType(){return this.checker.getNonNullableType(this)}getNonOptionalType(){return this.checker.getNonOptionalType(this)}getConstraint(){return this.checker.getBaseConstraintOfType(this)}getDefault(){return this.checker.getDefaultFromTypeParameter(this)}isUnion(){return!!(this.flags&1048576)}isIntersection(){return!!(this.flags&2097152)}isUnionOrIntersection(){return!!(this.flags&3145728)}isLiteral(){return!!(this.flags&2432)}isStringLiteral(){return!!(this.flags&128)}isNumberLiteral(){return!!(this.flags&256)}isTypeParameter(){return!!(this.flags&262144)}isClassOrInterface(){return!!(Bf(this)&3)}isClass(){return!!(Bf(this)&1)}isIndexType(){return!!(this.flags&4194304)}get typeArguments(){if(Bf(this)&4)return this.checker.getTypeArguments(this)}},Xw=class{constructor(Me,Bn){this.checker=Me,this.flags=Bn}getDeclaration(){return this.declaration}getTypeParameters(){return this.typeParameters}getParameters(){return this.parameters}getReturnType(){return this.checker.getReturnTypeOfSignature(this)}getTypeParameterAtPosition(Me){let Bn=this.checker.getParameterType(this,Me);if(Bn.isIndexType()&&Kx(Bn.type)){let Me=Bn.type.getConstraint();if(Me)return this.checker.getIndexType(Me)}return Bn}getDocumentationComment(){return this.documentationComment||(this.documentationComment=cu(Cp(this.declaration),this.checker))}getJsDocTags(){return this.jsDocTags||(this.jsDocTags=Ed(Cp(this.declaration),this.checker))}},Zw=class extends qw{constructor(Me,Bn,Hn){super(Me,Bn,Hn),this.kind=308}update(Me,Bn){return k2(this,Me,Bn)}getLineAndCharacterOfPosition(Me){return Ls(this,Me)}getLineStarts(){return ss(this)}getPositionOfLineAndCharacter(Me,Bn,Hn){return dy(ss(this),Me,Bn,this.text,Hn)}getLineEndOfPosition(Me){let{line:Bn}=this.getLineAndCharacterOfPosition(Me),Hn=this.getLineStarts(),zn;Bn+1>=Hn.length&&(zn=this.getEnd()),zn||(zn=Hn[Bn+1]-1);let ni=this.getFullText();return ni[zn]===`\n`&&ni[zn-1]==="\r"?zn-1:zn}getNamedDeclarations(){return this.namedDeclarations||(this.namedDeclarations=this.computeNamedDeclarations()),this.namedDeclarations}computeNamedDeclarations(){let Me=Be();return this.forEachChild(f),Me;function t(Bn){let Hn=s(Bn);Hn&&Me.add(Hn,Bn)}function r(Bn){let Hn=Me.get(Bn);return Hn||Me.set(Bn,Hn=[]),Hn}function s(Me){let Bn=Ey(Me);return Bn&&(Ws(Bn)&&bn(Bn.expression)?Bn.expression.name.text:vl(Bn)?getNameFromPropertyName(Bn):void 0)}function f(Me){switch(Me.kind){case 259:case 215:case 171:case 170:let Bn=Me,Hn=s(Bn);if(Hn){let Me=r(Hn),zn=Cn(Me);zn&&Bn.parent===zn.parent&&Bn.symbol===zn.symbol?Bn.body&&!zn.body&&(Me[Me.length-1]=Bn):Me.push(Bn)}xr(Me,f);break;case 260:case 228:case 261:case 262:case 263:case 264:case 268:case 278:case 273:case 270:case 271:case 174:case 175:case 184:t(Me),xr(Me,f);break;case 166:if(!rn(Me,16476))break;case 257:case 205:{let Bn=Me;if(df(Bn.name)){xr(Bn.name,f);break}Bn.initializer&&f(Bn.initializer)}case 302:case 169:case 168:t(Me);break;case 275:let zn=Me;zn.exportClause&&(iE(zn.exportClause)?c(zn.exportClause.elements,f):f(zn.exportClause.name));break;case 269:let ni=Me.importClause;ni&&(ni.name&&t(ni.name),ni.namedBindings&&(ni.namedBindings.kind===271?t(ni.namedBindings):c(ni.namedBindings.elements,f)));break;case 223:ps(Me)!==0&&t(Me);default:xr(Me,f)}}}},eS=class{constructor(Me,Bn,Hn){this.fileName=Me,this.text=Bn,this.skipTrivia=Hn}getLineAndCharacterOfPosition(Me){return Ls(this,Me)}},tS=class{constructor(Me){this.host=Me}getCurrentSourceFile(Me){var Bn,Hn,zn,ni,Ci,ts,Ps,aa;let oa=this.host.getScriptSnapshot(Me);if(!oa)throw new Error("Could not find file: '"+Me+"'.");let ca=getScriptKind(Me,this.host),_a=this.host.getScriptVersion(Me),xa;if(this.currentFileName!==Me){let Ga={languageVersion:99,impliedNodeFormat:getImpliedNodeFormatForFile(Ui(Me,this.host.getCurrentDirectory(),((zn=(Hn=(Bn=this.host).getCompilerHost)==null?void 0:Hn.call(Bn))==null?void 0:zn.getCanonicalFileName)||D4(this.host)),(aa=(Ps=(ts=(Ci=(ni=this.host).getCompilerHost)==null?void 0:Ci.call(ni))==null?void 0:ts.getModuleResolutionCache)==null?void 0:Ps.call(ts))==null?void 0:aa.getPackageJsonInfoCache(),this.host,this.host.getCompilationSettings()),setExternalModuleIndicator:Ex(this.host.getCompilationSettings())};xa=N2(Me,oa,Ga,_a,!0,ca)}else if(this.currentFileVersion!==_a){let Me=oa.getChangeRange(this.currentFileScriptSnapshot);xa=T7(this.currentSourceFile,oa,_a,Me)}return xa&&(this.currentFileVersion=_a,this.currentFileName=Me,this.currentFileScriptSnapshot=oa,this.currentSourceFile=xa),this.currentSourceFile}},rS={isCancellationRequested:w_,throwIfCancellationRequested:yn},nS=class{constructor(Me){this.cancellationToken=Me}isCancellationRequested(){return this.cancellationToken.isCancellationRequested()}throwIfCancellationRequested(){var Me;if(this.isCancellationRequested())throw(Me=xd)==null||Me.instant(xd.Phase.Session,"cancellationThrown",{kind:"CancellationTokenObject"}),new rg}},iS=class{constructor(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:20;this.hostCancellationToken=Me,this.throttleWaitMilliseconds=Bn,this.lastCancellationCheckTime=0}isCancellationRequested(){let Me=Wp();return Math.abs(Me-this.lastCancellationCheckTime)>=this.throttleWaitMilliseconds?(this.lastCancellationCheckTime=Me,this.hostCancellationToken.isCancellationRequested()):!1}throwIfCancellationRequested(){var Me;if(this.isCancellationRequested())throw(Me=xd)==null||Me.instant(xd.Phase.Session,"cancellationThrown",{kind:"ThrottledCancellationToken"}),new rg}},yB=["getSemanticDiagnostics","getSuggestionDiagnostics","getCompilerOptionsDiagnostics","getSemanticClassifications","getEncodedSemanticClassifications","getCodeFixesAtPosition","getCombinedCodeFix","applyCodeActionCommand","organizeImports","getEditsForFileRename","getEmitOutput","getApplicableRefactors","getEditsForRefactor","prepareCallHierarchy","provideCallHierarchyIncomingCalls","provideCallHierarchyOutgoingCalls","provideInlayHints","getSupportedCodeFixes"],BB=[...yB,"getCompletionsAtPosition","getCompletionEntryDetails","getCompletionEntrySymbol","getSignatureHelpItems","getQuickInfoAtPosition","getDefinitionAtPosition","getDefinitionAndBoundSpan","getImplementationAtPosition","getTypeDefinitionAtPosition","getReferencesAtPosition","findReferences","getOccurrencesAtPosition","getDocumentHighlights","getNavigateToItems","getRenameInfo","findRenameLocations","getApplicableRefactors"],gx(_B())}}),vB=()=>{},bB=()=>{},TB=()=>{},SB=()=>{},xB=()=>{},EB=()=>{},wB=()=>{},CB=()=>{},AB=()=>{},PB=()=>{},DB=()=>{},kB=()=>{},IB=()=>{},NB=()=>{},OB=()=>{},MB=()=>{},LB=()=>{},RB=()=>{},jB=()=>{},JB=()=>{},rT=D({"src/services/_namespaces/ts.ts"(){"use strict";Gw(),l7(),KF(),u7(),XF(),YF(),QF(),ZF(),eB(),tB(),rB(),nB(),iB(),aB(),eT(),vB(),bB(),TB(),SB(),xB(),EB(),wB(),CB(),AB(),PB(),DB(),p7(),f7(),kB(),IB(),NB(),OB(),MB(),LB(),RB(),jB(),JB()}}),FB=()=>{},nT={};y(nT,{ANONYMOUS:()=>ANONYMOUS,AccessFlags:()=>Ig,AssertionLevel:()=>tc,AssignmentDeclarationKind:()=>Pg,AssignmentKind:()=>bC,Associativity:()=>DC,BreakpointResolver:()=>ts_BreakpointResolver_exports,BuilderFileEmit:()=>BuilderFileEmit,BuilderProgramKind:()=>BuilderProgramKind,BuilderState:()=>BuilderState,BundleFileSectionKind:()=>py,CallHierarchy:()=>ts_CallHierarchy_exports,CharacterCodes:()=>zg,CheckFlags:()=>vg,CheckMode:()=>CheckMode,ClassificationType:()=>ClassificationType,ClassificationTypeNames:()=>ClassificationTypeNames,CommentDirectiveType:()=>tg,Comparison:()=>aa,CompletionInfoFlags:()=>CompletionInfoFlags,CompletionTriggerKind:()=>CompletionTriggerKind,Completions:()=>ts_Completions_exports,ConfigFileProgramReloadLevel:()=>ConfigFileProgramReloadLevel,ContextFlags:()=>lg,CoreServicesShimHostAdapter:()=>CoreServicesShimHostAdapter,Debug:()=>qp,DiagnosticCategory:()=>Og,Diagnostics:()=>Sv,DocumentHighlights:()=>DocumentHighlights,ElementFlags:()=>Sg,EmitFlags:()=>Z_,EmitHint:()=>ry,EmitOnly:()=>sg,EndOfLineState:()=>EndOfLineState,EnumKind:()=>yg,ExitStatus:()=>og,ExportKind:()=>ExportKind,Extension:()=>Xg,ExternalEmitHelpers:()=>ty,FileIncludeKind:()=>ng,FilePreprocessingDiagnosticsKind:()=>ig,FileSystemEntryKind:()=>FileSystemEntryKind,FileWatcherEventKind:()=>FileWatcherEventKind,FindAllReferences:()=>ts_FindAllReferences_exports,FlattenLevel:()=>FlattenLevel,FlowFlags:()=>eg,ForegroundColorEscapeSequences:()=>ForegroundColorEscapeSequences,FunctionFlags:()=>CC,GeneratedIdentifierFlags:()=>oA,GetLiteralTextFlags:()=>gC,GoToDefinition:()=>ts_GoToDefinition_exports,HighlightSpanKind:()=>HighlightSpanKind,ImportKind:()=>ImportKind,ImportsNotUsedAsValues:()=>qg,IndentStyle:()=>IndentStyle,IndexKind:()=>Tg,InferenceFlags:()=>Qg,InferencePriority:()=>Ng,InlayHintKind:()=>InlayHintKind,InlayHints:()=>ts_InlayHints_exports,InternalEmitFlags:()=>ey,InternalSymbolName:()=>Eg,InvalidatedProjectKind:()=>InvalidatedProjectKind,JsDoc:()=>ts_JsDoc_exports,JsTyping:()=>ts_JsTyping_exports,JsxEmit:()=>Hg,JsxFlags:()=>Zh,JsxReferenceKind:()=>xg,LanguageServiceMode:()=>LanguageServiceMode,LanguageServiceShimHostAdapter:()=>LanguageServiceShimHostAdapter,LanguageVariant:()=>Wg,LexicalEnvironmentFlags:()=>iy,ListFormat:()=>fy,LogLevel:()=>Vp,MemberOverrideStatus:()=>ug,ModifierFlags:()=>Qh,ModuleDetectionKind:()=>Mg,ModuleInstanceState:()=>ModuleInstanceState,ModuleKind:()=>Vg,ModuleResolutionKind:()=>Lg,ModuleSpecifierEnding:()=>aw,NavigateTo:()=>ts_NavigateTo_exports,NavigationBar:()=>ts_NavigationBar_exports,NewLineKind:()=>Jg,NodeBuilderFlags:()=>pg,NodeCheckFlags:()=>bg,NodeFactoryFlags:()=>hw,NodeFlags:()=>Pd,NodeResolutionFeatures:()=>NodeResolutionFeatures,ObjectFlags:()=>Dg,OperationCanceledException:()=>rg,OperatorPrecedence:()=>wC,OrganizeImports:()=>ts_OrganizeImports_exports,OrganizeImportsMode:()=>OrganizeImportsMode,OuterExpressionKinds:()=>ny,OutliningElementsCollector:()=>ts_OutliningElementsCollector_exports,OutliningSpanKind:()=>OutliningSpanKind,OutputFileType:()=>OutputFileType,PackageJsonAutoImportPreference:()=>PackageJsonAutoImportPreference,PackageJsonDependencyGroup:()=>PackageJsonDependencyGroup,PatternMatchKind:()=>PatternMatchKind,PollingInterval:()=>PollingInterval,PollingWatchKind:()=>Gg,PragmaKindFlags:()=>Ty,PrivateIdentifierKind:()=>PrivateIdentifierKind,ProcessLevel:()=>ProcessLevel,QuotePreference:()=>QuotePreference,RelationComparisonResult:()=>sA,Rename:()=>ts_Rename_exports,ScriptElementKind:()=>ScriptElementKind,ScriptElementKindModifier:()=>ScriptElementKindModifier,ScriptKind:()=>$g,ScriptSnapshot:()=>ScriptSnapshot,ScriptTarget:()=>Yg,SemanticClassificationFormat:()=>SemanticClassificationFormat,SemanticMeaning:()=>SemanticMeaning,SemicolonPreference:()=>SemicolonPreference,SignatureCheckMode:()=>SignatureCheckMode,SignatureFlags:()=>Bg,SignatureHelp:()=>ts_SignatureHelp_exports,SignatureKind:()=>kg,SmartSelectionRange:()=>ts_SmartSelectionRange_exports,SnippetKind:()=>f_,SortKind:()=>Ga,StructureIsReused:()=>ag,SymbolAccessibility:()=>hg,SymbolDisplay:()=>ts_SymbolDisplay_exports,SymbolDisplayPartKind:()=>SymbolDisplayPartKind,SymbolFlags:()=>_g,SymbolFormatFlags:()=>dg,SyntaxKind:()=>Td,SyntheticSymbolKind:()=>Ag,Ternary:()=>Rg,ThrottledCancellationToken:()=>iS,TokenClass:()=>TokenClass,TokenFlags:()=>hA,TransformFlags:()=>Zg,TypeFacts:()=>TypeFacts,TypeFlags:()=>Cg,TypeFormatFlags:()=>fg,TypeMapKind:()=>Fg,TypePredicateKind:()=>mg,TypeReferenceSerializationKind:()=>gg,TypeScriptServicesFactory:()=>TypeScriptServicesFactory,UnionReduction:()=>cg,UpToDateStatusType:()=>UpToDateStatusType,VarianceFlags:()=>wg,Version:()=>Version,VersionRange:()=>VersionRange,WatchDirectoryFlags:()=>Kg,WatchDirectoryKind:()=>Ug,WatchFileKind:()=>jg,WatchLogLevel:()=>WatchLogLevel,WatchType:()=>WatchType,accessPrivateIdentifier:()=>accessPrivateIdentifier,addEmitFlags:()=>addEmitFlags,addEmitHelper:()=>addEmitHelper,addEmitHelpers:()=>addEmitHelpers,addInternalEmitFlags:()=>addInternalEmitFlags,addNodeFactoryPatcher:()=>jL,addObjectAllocatorPatcher:()=>sM,addRange:()=>jr,addRelatedInfo:()=>Rl,addSyntheticLeadingComment:()=>addSyntheticLeadingComment,addSyntheticTrailingComment:()=>addSyntheticTrailingComment,addToSeen:()=>GO,advancedAsyncSuperHelper:()=>advancedAsyncSuperHelper,affectsDeclarationPathOptionDeclarations:()=>affectsDeclarationPathOptionDeclarations,affectsEmitOptionDeclarations:()=>affectsEmitOptionDeclarations,allKeysStartWithDot:()=>allKeysStartWithDot,altDirectorySeparator:()=>vv,and:()=>E5,append:()=>tr,appendIfUnique:()=>g_,arrayFrom:()=>Za,arrayIsEqualTo:()=>Hc,arrayIsHomogeneous:()=>fL,arrayIsSorted:()=>Wc,arrayOf:()=>yo,arrayReverseIterator:()=>y_,arrayToMap:()=>Zc,arrayToMultiMap:()=>bo,arrayToNumericMap:()=>Os,arraysEqual:()=>ke,assertType:()=>C5,assign:()=>vo,assignHelper:()=>assignHelper,asyncDelegator:()=>asyncDelegator,asyncGeneratorHelper:()=>asyncGeneratorHelper,asyncSuperHelper:()=>asyncSuperHelper,asyncValues:()=>asyncValues,attachFileToDiagnostics:()=>qs,awaitHelper:()=>awaitHelper,awaiterHelper:()=>awaiterHelper,base64decode:()=>mO,base64encode:()=>dO,binarySearch:()=>Ya,binarySearchKey:()=>b_,bindSourceFile:()=>bindSourceFile,breakIntoCharacterSpans:()=>breakIntoCharacterSpans,breakIntoWordSpans:()=>breakIntoWordSpans,buildLinkParts:()=>buildLinkParts,buildOpts:()=>buildOpts,buildOverload:()=>buildOverload,bundlerModuleNameResolver:()=>bundlerModuleNameResolver,canBeConvertedToAsync:()=>canBeConvertedToAsync,canHaveDecorators:()=>ME,canHaveExportModifier:()=>AL,canHaveFlowNode:()=>jI,canHaveIllegalDecorators:()=>rJ,canHaveIllegalModifiers:()=>nJ,canHaveIllegalType:()=>tJ,canHaveIllegalTypeParameters:()=>IE,canHaveJSDoc:()=>Af,canHaveLocals:()=>zP,canHaveModifiers:()=>fc,canHaveSymbol:()=>UP,canJsonReportNoInputFiles:()=>canJsonReportNoInputFiles,canProduceDiagnostics:()=>canProduceDiagnostics,canUsePropertyAccess:()=>PL,canWatchDirectoryOrFile:()=>canWatchDirectoryOrFile,cartesianProduct:()=>P5,cast:()=>ti,chainBundle:()=>chainBundle,chainDiagnosticMessages:()=>lM,changeAnyExtension:()=>RT,changeCompilerHostLikeToUseCache:()=>changeCompilerHostLikeToUseCache,changeExtension:()=>KM,changesAffectModuleResolution:()=>cD,changesAffectingProgramStructure:()=>lD,childIsDecorated:()=>h0,classElementOrClassElementParameterIsDecorated:()=>sI,classOrConstructorParameterIsDecorated:()=>aI,classPrivateFieldGetHelper:()=>classPrivateFieldGetHelper,classPrivateFieldInHelper:()=>classPrivateFieldInHelper,classPrivateFieldSetHelper:()=>classPrivateFieldSetHelper,classicNameResolver:()=>classicNameResolver,classifier:()=>ts_classifier_exports,cleanExtendedConfigCache:()=>cleanExtendedConfigCache,clear:()=>nt,clearMap:()=>qO,clearSharedExtendedConfigFileWatcher:()=>clearSharedExtendedConfigFileWatcher,climbPastPropertyAccess:()=>climbPastPropertyAccess,climbPastPropertyOrElementAccess:()=>climbPastPropertyOrElementAccess,clone:()=>E_,cloneCompilerOptions:()=>cloneCompilerOptions,closeFileWatcher:()=>MO,closeFileWatcherOf:()=>closeFileWatcherOf,codefix:()=>ts_codefix_exports,collapseTextChangeRangesAcrossMultipleVersions:()=>CA,collectExternalModuleInfo:()=>collectExternalModuleInfo,combine:()=>$c,combinePaths:()=>tn,commentPragmas:()=>Gy,commonOptionsWithBuild:()=>commonOptionsWithBuild,commonPackageFolders:()=>qC,compact:()=>Gc,compareBooleans:()=>j1,compareDataObjects:()=>px,compareDiagnostics:()=>av,compareDiagnosticsSkipRelatedInformation:()=>qf,compareEmitHelpers:()=>compareEmitHelpers,compareNumberOfDirectorySeparators:()=>$M,comparePaths:()=>tA,comparePathsCaseInsensitive:()=>eA,comparePathsCaseSensitive:()=>Z5,comparePatternKeys:()=>comparePatternKeys,compareProperties:()=>R1,compareStringsCaseInsensitive:()=>C_,compareStringsCaseInsensitiveEslintCompatible:()=>O1,compareStringsCaseSensitive:()=>ri,compareStringsCaseSensitiveUI:()=>L1,compareTextSpans:()=>I1,compareValues:()=>Vr,compileOnSaveCommandLineOption:()=>compileOnSaveCommandLineOption,compilerOptionsAffectDeclarationPath:()=>DM,compilerOptionsAffectEmit:()=>PM,compilerOptionsAffectSemanticDiagnostics:()=>AM,compilerOptionsDidYouMeanDiagnostics:()=>compilerOptionsDidYouMeanDiagnostics,compilerOptionsIndicateEsModules:()=>compilerOptionsIndicateEsModules,compose:()=>k1,computeCommonSourceDirectoryOfFilenames:()=>computeCommonSourceDirectoryOfFilenames,computeLineAndCharacterOfPosition:()=>my,computeLineOfPosition:()=>k_,computeLineStarts:()=>Kp,computePositionOfLineAndCharacter:()=>dy,computeSignature:()=>computeSignature,computeSignatureWithDiagnostics:()=>computeSignatureWithDiagnostics,computeSuggestionDiagnostics:()=>computeSuggestionDiagnostics,concatenate:()=>Ft,concatenateDiagnosticMessageChains:()=>uM,consumesNodeCoreModules:()=>consumesNodeCoreModules,contains:()=>pe,containsIgnoredPath:()=>Hx,containsObjectRestOrSpread:()=>A2,containsParseError:()=>Ky,containsPath:()=>jT,convertCompilerOptionsForTelemetry:()=>convertCompilerOptionsForTelemetry,convertCompilerOptionsFromJson:()=>convertCompilerOptionsFromJson,convertJsonOption:()=>convertJsonOption,convertToBase64:()=>ix,convertToObject:()=>convertToObject,convertToObjectWorker:()=>convertToObjectWorker,convertToOptionsWithAbsolutePaths:()=>convertToOptionsWithAbsolutePaths,convertToRelativePath:()=>nA,convertToTSConfig:()=>convertToTSConfig,convertTypeAcquisitionFromJson:()=>convertTypeAcquisitionFromJson,copyComments:()=>copyComments,copyEntries:()=>dD,copyLeadingComments:()=>copyLeadingComments,copyProperties:()=>H,copyTrailingAsLeadingComments:()=>copyTrailingAsLeadingComments,copyTrailingComments:()=>copyTrailingComments,couldStartTrivia:()=>pA,countWhere:()=>Xe,createAbstractBuilder:()=>createAbstractBuilder,createAccessorPropertyBackingField:()=>LJ,createAccessorPropertyGetRedirector:()=>RJ,createAccessorPropertySetRedirector:()=>jJ,createBaseNodeFactory:()=>S8,createBinaryExpressionTrampoline:()=>PJ,createBindingHelper:()=>createBindingHelper,createBuildInfo:()=>createBuildInfo,createBuilderProgram:()=>createBuilderProgram,createBuilderProgramUsingProgramBuildInfo:()=>createBuilderProgramUsingProgramBuildInfo,createBuilderStatusReporter:()=>createBuilderStatusReporter,createCacheWithRedirects:()=>createCacheWithRedirects,createCacheableExportInfoMap:()=>createCacheableExportInfoMap,createCachedDirectoryStructureHost:()=>createCachedDirectoryStructureHost,createClassifier:()=>createClassifier,createCommentDirectivesMap:()=>JD,createCompilerDiagnostic:()=>Ol,createCompilerDiagnosticForInvalidCustomType:()=>createCompilerDiagnosticForInvalidCustomType,createCompilerDiagnosticFromMessageChain:()=>cM,createCompilerHost:()=>createCompilerHost,createCompilerHostFromProgramHost:()=>createCompilerHostFromProgramHost,createCompilerHostWorker:()=>createCompilerHostWorker,createDetachedDiagnostic:()=>Ro,createDiagnosticCollection:()=>TN,createDiagnosticForFileFromMessageChain:()=>mk,createDiagnosticForNode:()=>uk,createDiagnosticForNodeArray:()=>pk,createDiagnosticForNodeArrayFromMessageChain:()=>dk,createDiagnosticForNodeFromMessageChain:()=>fk,createDiagnosticForNodeInSourceFile:()=>P3,createDiagnosticForRange:()=>gk,createDiagnosticMessageChainFromDiagnostic:()=>hk,createDiagnosticReporter:()=>createDiagnosticReporter,createDocumentPositionMapper:()=>createDocumentPositionMapper,createDocumentRegistry:()=>createDocumentRegistry,createDocumentRegistryInternal:()=>createDocumentRegistryInternal,createEmitAndSemanticDiagnosticsBuilderProgram:()=>createEmitAndSemanticDiagnosticsBuilderProgram,createEmitHelperFactory:()=>createEmitHelperFactory,createEmptyExports:()=>Dj,createExpressionForJsxElement:()=>Ij,createExpressionForJsxFragment:()=>Nj,createExpressionForObjectLiteralElementLike:()=>Fj,createExpressionForPropertyName:()=>vE,createExpressionFromEntityName:()=>yE,createExternalHelpersImportDeclarationIfNeeded:()=>$j,createFileDiagnostic:()=>iv,createFileDiagnosticFromMessageChain:()=>r0,createForOfBindingStatement:()=>Oj,createGetCanonicalFileName:()=>wp,createGetSourceFile:()=>createGetSourceFile,createGetSymbolAccessibilityDiagnosticForNode:()=>createGetSymbolAccessibilityDiagnosticForNode,createGetSymbolAccessibilityDiagnosticForNodeName:()=>createGetSymbolAccessibilityDiagnosticForNodeName,createGetSymbolWalker:()=>createGetSymbolWalker,createIncrementalCompilerHost:()=>createIncrementalCompilerHost,createIncrementalProgram:()=>createIncrementalProgram,createInputFiles:()=>VL,createInputFilesWithFilePaths:()=>C8,createInputFilesWithFileTexts:()=>A8,createJsxFactoryExpression:()=>gE,createLanguageService:()=>lB,createLanguageServiceSourceFile:()=>N2,createMemberAccessForPropertyName:()=>hd,createModeAwareCache:()=>createModeAwareCache,createModeAwareCacheKey:()=>createModeAwareCacheKey,createModuleResolutionCache:()=>createModuleResolutionCache,createModuleResolutionLoader:()=>createModuleResolutionLoader,createModuleSpecifierResolutionHost:()=>createModuleSpecifierResolutionHost,createMultiMap:()=>Be,createNodeConverters:()=>x8,createNodeFactory:()=>Zf,createOptionNameMap:()=>createOptionNameMap,createOverload:()=>createOverload,createPackageJsonImportFilter:()=>createPackageJsonImportFilter,createPackageJsonInfo:()=>createPackageJsonInfo,createParenthesizerRules:()=>createParenthesizerRules,createPatternMatcher:()=>createPatternMatcher,createPrependNodes:()=>createPrependNodes,createPrinter:()=>createPrinter,createPrinterWithDefaults:()=>createPrinterWithDefaults,createPrinterWithRemoveComments:()=>createPrinterWithRemoveComments,createPrinterWithRemoveCommentsNeverAsciiEscape:()=>createPrinterWithRemoveCommentsNeverAsciiEscape,createPrinterWithRemoveCommentsOmitTrailingSemicolon:()=>createPrinterWithRemoveCommentsOmitTrailingSemicolon,createProgram:()=>createProgram,createProgramHost:()=>createProgramHost,createPropertyNameNodeForIdentifierOrLiteral:()=>EL,createQueue:()=>Fr,createRange:()=>Jf,createRedirectedBuilderProgram:()=>createRedirectedBuilderProgram,createResolutionCache:()=>createResolutionCache,createRuntimeTypeSerializer:()=>createRuntimeTypeSerializer,createScanner:()=>Po,createSemanticDiagnosticsBuilderProgram:()=>createSemanticDiagnosticsBuilderProgram,createSet:()=>Cr,createSolutionBuilder:()=>createSolutionBuilder,createSolutionBuilderHost:()=>createSolutionBuilderHost,createSolutionBuilderWithWatch:()=>createSolutionBuilderWithWatch,createSolutionBuilderWithWatchHost:()=>createSolutionBuilderWithWatchHost,createSortedArray:()=>zc,createSourceFile:()=>YE,createSourceMapGenerator:()=>createSourceMapGenerator,createSourceMapSource:()=>HL,createSuperAccessVariableStatement:()=>createSuperAccessVariableStatement,createSymbolTable:()=>oD,createSymlinkCache:()=>MM,createSystemWatchFunctions:()=>createSystemWatchFunctions,createTextChange:()=>createTextChange,createTextChangeFromStartLength:()=>createTextChangeFromStartLength,createTextChangeRange:()=>Zp,createTextRangeFromNode:()=>createTextRangeFromNode,createTextRangeFromSpan:()=>createTextRangeFromSpan,createTextSpan:()=>L_,createTextSpanFromBounds:()=>ha,createTextSpanFromNode:()=>createTextSpanFromNode,createTextSpanFromRange:()=>createTextSpanFromRange,createTextSpanFromStringLiteralLikeContent:()=>createTextSpanFromStringLiteralLikeContent,createTextWriter:()=>DN,createTokenRange:()=>bO,createTypeChecker:()=>createTypeChecker,createTypeReferenceDirectiveResolutionCache:()=>createTypeReferenceDirectiveResolutionCache,createTypeReferenceResolutionLoader:()=>createTypeReferenceResolutionLoader,createUnderscoreEscapedMultiMap:()=>Ht,createUnparsedSourceFile:()=>UL,createWatchCompilerHost:()=>createWatchCompilerHost2,createWatchCompilerHostOfConfigFile:()=>createWatchCompilerHostOfConfigFile,createWatchCompilerHostOfFilesAndCompilerOptions:()=>createWatchCompilerHostOfFilesAndCompilerOptions,createWatchFactory:()=>createWatchFactory,createWatchHost:()=>createWatchHost,createWatchProgram:()=>createWatchProgram,createWatchStatusReporter:()=>createWatchStatusReporter,createWriteFileMeasuringIO:()=>createWriteFileMeasuringIO,declarationNameToString:()=>A3,decodeMappings:()=>decodeMappings,decodedTextSpanIntersectsWith:()=>Sy,decorateHelper:()=>decorateHelper,deduplicate:()=>ji,defaultIncludeSpec:()=>defaultIncludeSpec,defaultInitCompilerOptions:()=>defaultInitCompilerOptions,defaultMaximumTruncationLength:()=>hC,detectSortCaseSensitivity:()=>Vc,diagnosticCategoryName:()=>z5,diagnosticToString:()=>diagnosticToString,directoryProbablyExists:()=>sx,directorySeparator:()=>Av,displayPart:()=>displayPart,displayPartsToString:()=>cB,disposeEmitNodes:()=>disposeEmitNodes,documentSpansEqual:()=>documentSpansEqual,dumpTracingLegend:()=>dumpTracingLegend,elementAt:()=>Ha,elideNodes:()=>IJ,emitComments:()=>U4,emitDetachedComments:()=>GN,emitFiles:()=>emitFiles,emitFilesAndReportErrors:()=>emitFilesAndReportErrors,emitFilesAndReportErrorsAndGetExitStatus:()=>emitFilesAndReportErrorsAndGetExitStatus,emitModuleKindIsNonNodeESM:()=>mM,emitNewLineBeforeLeadingCommentOfPosition:()=>HN,emitNewLineBeforeLeadingComments:()=>B4,emitNewLineBeforeLeadingCommentsOfPosition:()=>q4,emitSkippedWithNoDiagnostics:()=>emitSkippedWithNoDiagnostics,emitUsingBuildInfo:()=>emitUsingBuildInfo,emptyArray:()=>ca,emptyFileSystemEntries:()=>uw,emptyMap:()=>_a,emptyOptions:()=>emptyOptions,emptySet:()=>xa,endsWith:()=>es,ensurePathIsNonModuleName:()=>_y,ensureScriptKind:()=>Nx,ensureTrailingDirectorySeparator:()=>wo,entityNameToString:()=>ls,enumerateInsertsAndDeletes:()=>A5,equalOwnProperties:()=>S_,equateStringsCaseInsensitive:()=>Ms,equateStringsCaseSensitive:()=>To,equateValues:()=>fa,esDecorateHelper:()=>esDecorateHelper,escapeJsxAttributeString:()=>A4,escapeLeadingUnderscores:()=>vi,escapeNonAsciiString:()=>Of,escapeSnippetText:()=>xL,escapeString:()=>Nf,every:()=>me,expandPreOrPostfixIncrementOrDecrementExpression:()=>Bj,explainFiles:()=>explainFiles,explainIfFileIsRedirectAndImpliedFormat:()=>explainIfFileIsRedirectAndImpliedFormat,exportAssignmentIsAlias:()=>I0,exportStarHelper:()=>exportStarHelper,expressionResultIsUnused:()=>gL,extend:()=>S,extendsHelper:()=>extendsHelper,extensionFromPath:()=>QM,extensionIsTS:()=>qx,externalHelpersModuleNameText:()=>dC,factory:()=>vw,fileExtensionIs:()=>ns,fileExtensionIsOneOf:()=>da,fileIncludeReasonToDiagnostics:()=>fileIncludeReasonToDiagnostics,filter:()=>ee,filterMutate:()=>je,filterSemanticDiagnostics:()=>filterSemanticDiagnostics,find:()=>Ae,findAncestor:()=>zi,findBestPatternMatch:()=>TT,findChildOfKind:()=>findChildOfKind,findComputedPropertyNameCacheAssignment:()=>JJ,findConfigFile:()=>findConfigFile,findContainingList:()=>findContainingList,findDiagnosticForNode:()=>findDiagnosticForNode,findFirstNonJsxWhitespaceToken:()=>findFirstNonJsxWhitespaceToken,findIndex:()=>he,findLast:()=>te,findLastIndex:()=>Pe,findListItemInfo:()=>findListItemInfo,findMap:()=>R,findModifier:()=>findModifier,findNextToken:()=>findNextToken,findPackageJson:()=>findPackageJson,findPackageJsons:()=>findPackageJsons,findPrecedingMatchingToken:()=>findPrecedingMatchingToken,findPrecedingToken:()=>findPrecedingToken,findSuperStatementIndex:()=>findSuperStatementIndex,findTokenOnLeftOfPosition:()=>findTokenOnLeftOfPosition,findUseStrictPrologue:()=>TE,first:()=>fo,firstDefined:()=>q,firstDefinedIterator:()=>W,firstIterator:()=>v_,firstOrOnly:()=>firstOrOnly,firstOrUndefined:()=>pa,firstOrUndefinedIterator:()=>Xc,fixupCompilerOptions:()=>fixupCompilerOptions,flatMap:()=>ne,flatMapIterator:()=>Fe,flatMapToMutable:()=>ge,flatten:()=>ct,flattenCommaList:()=>BJ,flattenDestructuringAssignment:()=>flattenDestructuringAssignment,flattenDestructuringBinding:()=>flattenDestructuringBinding,flattenDiagnosticMessageText:()=>flattenDiagnosticMessageText,forEach:()=>c,forEachAncestor:()=>uD,forEachAncestorDirectory:()=>FT,forEachChild:()=>xr,forEachChildRecursively:()=>D2,forEachEmittedFile:()=>forEachEmittedFile,forEachEnclosingBlockScopeContainer:()=>ok,forEachEntry:()=>pD,forEachExternalModuleToImportFrom:()=>forEachExternalModuleToImportFrom,forEachImportClauseDeclaration:()=>NI,forEachKey:()=>fD,forEachLeadingCommentRange:()=>fA,forEachNameInAccessChainWalkingLeft:()=>QO,forEachResolvedProjectReference:()=>forEachResolvedProjectReference,forEachReturnStatement:()=>Pk,forEachRight:()=>M,forEachTrailingCommentRange:()=>dA,forEachUnique:()=>forEachUnique,forEachYieldExpression:()=>Dk,forSomeAncestorDirectory:()=>WO,formatColorAndReset:()=>formatColorAndReset,formatDiagnostic:()=>formatDiagnostic,formatDiagnostics:()=>formatDiagnostics,formatDiagnosticsWithColorAndContext:()=>formatDiagnosticsWithColorAndContext,formatGeneratedName:()=>bd,formatGeneratedNamePart:()=>C2,formatLocation:()=>formatLocation,formatMessage:()=>_M,formatStringFromArgs:()=>X_,formatting:()=>ts_formatting_exports,fullTripleSlashAMDReferencePathRegEx:()=>vC,fullTripleSlashReferencePathRegEx:()=>_C,generateDjb2Hash:()=>generateDjb2Hash,generateTSConfig:()=>generateTSConfig,generatorHelper:()=>generatorHelper,getAdjustedReferenceLocation:()=>getAdjustedReferenceLocation,getAdjustedRenameLocation:()=>getAdjustedRenameLocation,getAliasDeclarationFromName:()=>u4,getAllAccessorDeclarations:()=>W0,getAllDecoratorsOfClass:()=>getAllDecoratorsOfClass,getAllDecoratorsOfClassElement:()=>getAllDecoratorsOfClassElement,getAllJSDocTags:()=>MS,getAllJSDocTagsOfKind:()=>UA,getAllKeys:()=>T_,getAllProjectOutputs:()=>getAllProjectOutputs,getAllSuperTypeNodes:()=>h4,getAllUnscopedEmitHelpers:()=>getAllUnscopedEmitHelpers,getAllowJSCompilerOption:()=>Ax,getAllowSyntheticDefaultImports:()=>TM,getAncestor:()=>eN,getAnyExtensionFromPath:()=>Gp,getAreDeclarationMapsEnabled:()=>bM,getAssignedExpandoInitializer:()=>bI,getAssignedName:()=>yS,getAssignmentDeclarationKind:()=>ps,getAssignmentDeclarationPropertyAccessKind:()=>K3,getAssignmentTargetKind:()=>o4,getAutomaticTypeDirectiveNames:()=>getAutomaticTypeDirectiveNames,getBaseFileName:()=>sl,getBinaryOperatorPrecedence:()=>Dl,getBuildInfo:()=>getBuildInfo,getBuildInfoFileVersionMap:()=>getBuildInfoFileVersionMap,getBuildInfoText:()=>getBuildInfoText,getBuildOrderFromAnyBuildOrder:()=>getBuildOrderFromAnyBuildOrder,getBuilderCreationParameters:()=>getBuilderCreationParameters,getBuilderFileEmit:()=>getBuilderFileEmit,getCheckFlags:()=>ux,getClassExtendsHeritageElement:()=>d4,getClassLikeDeclarationOfSymbol:()=>dx,getCombinedLocalAndExportSymbolFlags:()=>jO,getCombinedModifierFlags:()=>ef,getCombinedNodeFlags:()=>tf,getCombinedNodeFlagsAlwaysIncludeJSDoc:()=>PA,getCommentRange:()=>getCommentRange,getCommonSourceDirectory:()=>getCommonSourceDirectory,getCommonSourceDirectoryOfConfig:()=>getCommonSourceDirectoryOfConfig,getCompilerOptionValue:()=>uv,getCompilerOptionsDiffValue:()=>getCompilerOptionsDiffValue,getConditions:()=>getConditions,getConfigFileParsingDiagnostics:()=>getConfigFileParsingDiagnostics,getConstantValue:()=>getConstantValue,getContainerNode:()=>getContainerNode,getContainingClass:()=>Vk,getContainingClassStaticBlock:()=>Hk,getContainingFunction:()=>zk,getContainingFunctionDeclaration:()=>Wk,getContainingFunctionOrClassStaticBlock:()=>Gk,getContainingNodeArray:()=>yL,getContainingObjectLiteralElement:()=>S7,getContextualTypeFromParent:()=>getContextualTypeFromParent,getContextualTypeFromParentOrAncestorTypeNode:()=>getContextualTypeFromParentOrAncestorTypeNode,getCurrentTime:()=>getCurrentTime,getDeclarationDiagnostics:()=>getDeclarationDiagnostics,getDeclarationEmitExtensionForPath:()=>O4,getDeclarationEmitOutputFilePath:()=>ON,getDeclarationEmitOutputFilePathWorker:()=>N4,getDeclarationFromName:()=>XI,getDeclarationModifierFlagsFromSymbol:()=>LO,getDeclarationOfKind:()=>aD,getDeclarationsOfKind:()=>sD,getDeclaredExpandoInitializer:()=>yI,getDecorators:()=>kA,getDefaultCompilerOptions:()=>y7,getDefaultExportInfoWorker:()=>getDefaultExportInfoWorker,getDefaultFormatCodeSettings:()=>getDefaultFormatCodeSettings,getDefaultLibFileName:()=>aS,getDefaultLibFilePath:()=>gB,getDefaultLikeExportInfo:()=>getDefaultLikeExportInfo,getDiagnosticText:()=>getDiagnosticText,getDiagnosticsWithinSpan:()=>getDiagnosticsWithinSpan,getDirectoryPath:()=>ma,getDocumentPositionMapper:()=>getDocumentPositionMapper,getESModuleInterop:()=>ov,getEditsForFileRename:()=>getEditsForFileRename,getEffectiveBaseTypeNode:()=>f4,getEffectiveConstraintOfTypeParameter:()=>HA,getEffectiveContainerForJSDocTemplateTag:()=>FI,getEffectiveImplementsTypeNodes:()=>m4,getEffectiveInitializer:()=>V3,getEffectiveJSDocHost:()=>A0,getEffectiveModifierFlags:()=>Rf,getEffectiveModifierFlagsAlwaysIncludeJSDoc:()=>K4,getEffectiveModifierFlagsNoCache:()=>Y4,getEffectiveReturnTypeNode:()=>zN,getEffectiveSetAccessorTypeAnnotationNode:()=>VN,getEffectiveTypeAnnotationNode:()=>V0,getEffectiveTypeParameterDeclarations:()=>VA,getEffectiveTypeRoots:()=>getEffectiveTypeRoots,getElementOrPropertyAccessArgumentExpressionOrName:()=>Cf,getElementOrPropertyAccessName:()=>Fs,getElementsOfBindingOrAssignmentPattern:()=>kE,getEmitDeclarations:()=>cv,getEmitFlags:()=>xi,getEmitHelpers:()=>getEmitHelpers,getEmitModuleDetectionKind:()=>wx,getEmitModuleKind:()=>Ei,getEmitModuleResolutionKind:()=>Ml,getEmitScriptTarget:()=>Uf,getEnclosingBlockScopeContainer:()=>Zy,getEncodedSemanticClassifications:()=>getEncodedSemanticClassifications,getEncodedSyntacticClassifications:()=>getEncodedSyntacticClassifications,getEndLinePosition:()=>d3,getEntityNameFromTypeNode:()=>nI,getEntrypointsFromPackageJsonInfo:()=>getEntrypointsFromPackageJsonInfo,getErrorCountForSummary:()=>getErrorCountForSummary,getErrorSpanForNode:()=>i0,getErrorSummaryText:()=>getErrorSummaryText,getEscapedTextOfIdentifierOrLiteral:()=>b4,getExpandoInitializer:()=>U_,getExportAssignmentExpression:()=>p4,getExportInfoMap:()=>getExportInfoMap,getExportNeedsImportStarHelper:()=>getExportNeedsImportStarHelper,getExpressionAssociativity:()=>yN,getExpressionPrecedence:()=>vN,getExternalHelpersModuleName:()=>EE,getExternalModuleImportEqualsDeclarationExpression:()=>_I,getExternalModuleName:()=>E0,getExternalModuleNameFromDeclaration:()=>IN,getExternalModuleNameFromPath:()=>F0,getExternalModuleNameLiteral:()=>Xj,getExternalModuleRequireArgument:()=>cI,getFallbackOptions:()=>getFallbackOptions,getFileEmitOutput:()=>getFileEmitOutput,getFileMatcherPatterns:()=>Ix,getFileNamesFromConfigSpecs:()=>getFileNamesFromConfigSpecs,getFileWatcherEventKind:()=>getFileWatcherEventKind,getFilesInErrorForSummary:()=>getFilesInErrorForSummary,getFirstConstructorWithBody:()=>R4,getFirstIdentifier:()=>iO,getFirstNonSpaceCharacterPosition:()=>getFirstNonSpaceCharacterPosition,getFirstProjectOutput:()=>getFirstProjectOutput,getFixableErrorSpanExpression:()=>getFixableErrorSpanExpression,getFormatCodeSettingsForWriting:()=>getFormatCodeSettingsForWriting,getFullWidth:()=>hf,getFunctionFlags:()=>sN,getHeritageClause:()=>Pf,getHostSignatureFromJSDoc:()=>C0,getIdentifierAutoGenerate:()=>getIdentifierAutoGenerate,getIdentifierGeneratedImportReference:()=>getIdentifierGeneratedImportReference,getIdentifierTypeArguments:()=>getIdentifierTypeArguments,getImmediatelyInvokedFunctionExpression:()=>Qk,getImpliedNodeFormatForFile:()=>getImpliedNodeFormatForFile,getImpliedNodeFormatForFileWorker:()=>getImpliedNodeFormatForFileWorker,getImportNeedsImportDefaultHelper:()=>getImportNeedsImportDefaultHelper,getImportNeedsImportStarHelper:()=>getImportNeedsImportStarHelper,getIndentSize:()=>Oo,getIndentString:()=>j0,getInitializedVariables:()=>NO,getInitializerOfBinaryExpression:()=>X3,getInitializerOfBindingOrAssignmentElement:()=>AE,getInterfaceBaseTypeNodes:()=>g4,getInternalEmitFlags:()=>zD,getInvokedExpression:()=>iI,getIsolatedModules:()=>zf,getJSDocAugmentsTag:()=>ES,getJSDocClassTag:()=>NA,getJSDocCommentRanges:()=>I3,getJSDocCommentsAndTags:()=>r4,getJSDocDeprecatedTag:()=>jA,getJSDocDeprecatedTagNoCache:()=>IS,getJSDocEnumTag:()=>JA,getJSDocHost:()=>s4,getJSDocImplementsTags:()=>wS,getJSDocOverrideTagNoCache:()=>kS,getJSDocParameterTags:()=>of,getJSDocParameterTagsNoCache:()=>bS,getJSDocPrivateTag:()=>MA,getJSDocPrivateTagNoCache:()=>AS,getJSDocProtectedTag:()=>LA,getJSDocProtectedTagNoCache:()=>PS,getJSDocPublicTag:()=>OA,getJSDocPublicTagNoCache:()=>CS,getJSDocReadonlyTag:()=>RA,getJSDocReadonlyTagNoCache:()=>DS,getJSDocReturnTag:()=>NS,getJSDocReturnType:()=>OS,getJSDocRoot:()=>P0,getJSDocSatisfiesExpressionType:()=>NL,getJSDocSatisfiesTag:()=>wy,getJSDocTags:()=>hl,getJSDocTagsNoCache:()=>qA,getJSDocTemplateTag:()=>BA,getJSDocThisTag:()=>FA,getJSDocType:()=>cf,getJSDocTypeAliasName:()=>w2,getJSDocTypeAssertionType:()=>Wj,getJSDocTypeParameterDeclarations:()=>F4,getJSDocTypeParameterTags:()=>SS,getJSDocTypeParameterTagsNoCache:()=>xS,getJSDocTypeTag:()=>_f,getJSXImplicitImportBase:()=>IM,getJSXRuntimeImport:()=>NM,getJSXTransformEnabled:()=>kM,getKeyForCompilerOptions:()=>getKeyForCompilerOptions,getLanguageVariant:()=>sv,getLastChild:()=>mx,getLeadingCommentRanges:()=>Ao,getLeadingCommentRangesOfNode:()=>Ck,getLeftmostAccessExpression:()=>rv,getLeftmostExpression:()=>ZO,getLineAndCharacterOfPosition:()=>Ls,getLineInfo:()=>getLineInfo,getLineOfLocalPosition:()=>FN,getLineOfLocalPositionFromLineMap:()=>ds,getLineStartPositionForPosition:()=>getLineStartPositionForPosition,getLineStarts:()=>ss,getLinesBetweenPositionAndNextNonWhitespaceCharacter:()=>DO,getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter:()=>PO,getLinesBetweenPositions:()=>I_,getLinesBetweenRangeEndAndRangeStart:()=>wO,getLinesBetweenRangeEndPositions:()=>CO,getLiteralText:()=>WD,getLocalNameForExternalImport:()=>Kj,getLocalSymbolForExportDefault:()=>cO,getLocaleSpecificMessage:()=>Y_,getLocaleTimeString:()=>getLocaleTimeString,getMappedContextSpan:()=>getMappedContextSpan,getMappedDocumentSpan:()=>getMappedDocumentSpan,getMappedLocation:()=>getMappedLocation,getMatchedFileSpec:()=>getMatchedFileSpec,getMatchedIncludeSpec:()=>getMatchedIncludeSpec,getMeaningFromDeclaration:()=>getMeaningFromDeclaration,getMeaningFromLocation:()=>getMeaningFromLocation,getMembersOfDeclaration:()=>Ik,getModeForFileReference:()=>getModeForFileReference,getModeForResolutionAtIndex:()=>getModeForResolutionAtIndex,getModeForUsageLocation:()=>getModeForUsageLocation,getModifiedTime:()=>getModifiedTime,getModifiers:()=>sf,getModuleInstanceState:()=>getModuleInstanceState,getModuleNameStringLiteralAt:()=>getModuleNameStringLiteralAt,getModuleSpecifierEndingPreference:()=>VM,getModuleSpecifierResolverHost:()=>getModuleSpecifierResolverHost,getNameForExportedSymbol:()=>getNameForExportedSymbol,getNameFromIndexInfo:()=>_k,getNameFromPropertyName:()=>getNameFromPropertyName,getNameOfAccessExpression:()=>KO,getNameOfCompilerOptionValue:()=>getNameOfCompilerOptionValue,getNameOfDeclaration:()=>ml,getNameOfExpando:()=>xI,getNameOfJSDocTypedef:()=>gS,getNameOrArgument:()=>$3,getNameTable:()=>uB,getNamesForExportedSymbol:()=>getNamesForExportedSymbol,getNamespaceDeclarationNode:()=>Q3,getNewLineCharacter:()=>ox,getNewLineKind:()=>getNewLineKind,getNewLineOrDefaultFromHost:()=>getNewLineOrDefaultFromHost,getNewTargetContainer:()=>Xk,getNextJSDocCommentLocation:()=>a4,getNodeForGeneratedName:()=>NJ,getNodeId:()=>getNodeId,getNodeKind:()=>getNodeKind,getNodeModifiers:()=>getNodeModifiers,getNodeModulePathParts:()=>wL,getNonAssignedNameOfDeclaration:()=>Ey,getNonAssignmentOperatorForCompoundAssignment:()=>getNonAssignmentOperatorForCompoundAssignment,getNonAugmentationDeclaration:()=>E3,getNonDecoratorTokenPosOfNode:()=>FD,getNormalizedAbsolutePath:()=>as,getNormalizedAbsolutePathWithoutRoot:()=>Q5,getNormalizedPathComponents:()=>$p,getObjectFlags:()=>Bf,getOperator:()=>R0,getOperatorAssociativity:()=>x4,getOperatorPrecedence:()=>E4,getOptionFromName:()=>getOptionFromName,getOptionsNameMap:()=>getOptionsNameMap,getOrCreateEmitNode:()=>getOrCreateEmitNode,getOrCreateExternalHelpersModuleNameIfNeeded:()=>wE,getOrUpdate:()=>la,getOriginalNode:()=>ul,getOriginalNodeId:()=>getOriginalNodeId,getOriginalSourceFile:()=>gN,getOutputDeclarationFileName:()=>getOutputDeclarationFileName,getOutputExtension:()=>getOutputExtension,getOutputFileNames:()=>getOutputFileNames,getOutputPathsFor:()=>getOutputPathsFor,getOutputPathsForBundle:()=>getOutputPathsForBundle,getOwnEmitOutputFilePath:()=>NN,getOwnKeys:()=>ho,getOwnValues:()=>go,getPackageJsonInfo:()=>getPackageJsonInfo,getPackageJsonTypesVersionsPaths:()=>getPackageJsonTypesVersionsPaths,getPackageJsonsVisibleToFile:()=>getPackageJsonsVisibleToFile,getPackageNameFromTypesPackageName:()=>getPackageNameFromTypesPackageName,getPackageScopeForPath:()=>getPackageScopeForPath,getParameterSymbolFromJSDoc:()=>JI,getParameterTypeNode:()=>CL,getParentNodeInSpan:()=>getParentNodeInSpan,getParseTreeNode:()=>fl,getParsedCommandLineOfConfigFile:()=>getParsedCommandLineOfConfigFile,getPathComponents:()=>qi,getPathComponentsRelativeTo:()=>ly,getPathFromPathComponents:()=>xo,getPathUpdater:()=>getPathUpdater,getPathsBasePath:()=>LN,getPatternFromSpec:()=>BM,getPendingEmitKind:()=>getPendingEmitKind,getPositionOfLineAndCharacter:()=>lA,getPossibleGenericSignatures:()=>getPossibleGenericSignatures,getPossibleOriginalInputExtensionForExtension:()=>MN,getPossibleTypeArgumentsInfo:()=>getPossibleTypeArgumentsInfo,getPreEmitDiagnostics:()=>getPreEmitDiagnostics,getPrecedingNonSpaceCharacterPosition:()=>getPrecedingNonSpaceCharacterPosition,getPrivateIdentifier:()=>getPrivateIdentifier,getProperties:()=>getProperties,getProperty:()=>Qc,getPropertyArrayElementValue:()=>qk,getPropertyAssignment:()=>f0,getPropertyAssignmentAliasLikeExpression:()=>ZI,getPropertyNameForPropertyNameNode:()=>Df,getPropertyNameForUniqueESSymbol:()=>_N,getPropertyNameOfBindingOrAssignmentElement:()=>eJ,getPropertySymbolFromBindingElement:()=>getPropertySymbolFromBindingElement,getPropertySymbolsFromContextualType:()=>x7,getQuoteFromPreference:()=>getQuoteFromPreference,getQuotePreference:()=>getQuotePreference,getRangesWhere:()=>Et,getRefactorContextSpan:()=>getRefactorContextSpan,getReferencedFileLocation:()=>getReferencedFileLocation,getRegexFromPattern:()=>Vf,getRegularExpressionForWildcard:()=>Wf,getRegularExpressionsForWildcards:()=>pv,getRelativePathFromDirectory:()=>JT,getRelativePathFromFile:()=>iA,getRelativePathToDirectoryOrUrl:()=>uy,getRenameLocation:()=>getRenameLocation,getReplacementSpanForContextToken:()=>getReplacementSpanForContextToken,getResolutionDiagnostic:()=>getResolutionDiagnostic,getResolutionModeOverrideForClause:()=>getResolutionModeOverrideForClause,getResolveJsonModule:()=>Cx,getResolvePackageJsonExports:()=>SM,getResolvePackageJsonImports:()=>xM,getResolvedExternalModuleName:()=>k4,getResolvedModule:()=>hD,getResolvedTypeReferenceDirective:()=>vD,getRestIndicatorOfBindingOrAssignmentElement:()=>Zj,getRestParameterElementType:()=>kk,getRightMostAssignedExpression:()=>b0,getRootDeclaration:()=>If,getRootLength:()=>Bi,getScriptKind:()=>getScriptKind,getScriptKindFromFileName:()=>Ox,getScriptTargetFeatures:()=>getScriptTargetFeatures,getSelectedEffectiveModifierFlags:()=>G4,getSelectedSyntacticModifierFlags:()=>$4,getSemanticClassifications:()=>getSemanticClassifications,getSemanticJsxChildren:()=>bN,getSetAccessorTypeAnnotationNode:()=>BN,getSetAccessorValueParameter:()=>z0,getSetExternalModuleIndicator:()=>Ex,getShebang:()=>GT,getSingleInitializerOfVariableStatementOrPropertyDeclaration:()=>w0,getSingleVariableOfVariableStatement:()=>Al,getSnapshotText:()=>getSnapshotText,getSnippetElement:()=>getSnippetElement,getSourceFileOfModule:()=>AD,getSourceFileOfNode:()=>Si,getSourceFilePathInNewDir:()=>M4,getSourceFilePathInNewDirWorker:()=>U0,getSourceFileVersionAsHashFromText:()=>getSourceFileVersionAsHashFromText,getSourceFilesToEmit:()=>RN,getSourceMapRange:()=>getSourceMapRange,getSourceMapper:()=>getSourceMapper,getSourceTextOfNodeFromSourceFile:()=>No,getSpanOfTokenAtPosition:()=>n0,getSpellingSuggestion:()=>Ep,getStartPositionOfLine:()=>kD,getStartPositionOfRange:()=>K_,getStartsOnNewLine:()=>getStartsOnNewLine,getStaticPropertiesAndClassStaticBlock:()=>getStaticPropertiesAndClassStaticBlock,getStrictOptionValue:()=>lv,getStringComparer:()=>rl,getSuperCallFromStatement:()=>getSuperCallFromStatement,getSuperContainer:()=>Yk,getSupportedCodeFixes:()=>v7,getSupportedExtensions:()=>Mx,getSupportedExtensionsWithJsonIfResolveJsonModule:()=>Lx,getSwitchedType:()=>getSwitchedType,getSymbolId:()=>getSymbolId,getSymbolNameForPrivateIdentifier:()=>cN,getSymbolTarget:()=>getSymbolTarget,getSyntacticClassifications:()=>getSyntacticClassifications,getSyntacticModifierFlags:()=>X0,getSyntacticModifierFlagsNoCache:()=>Y0,getSynthesizedDeepClone:()=>getSynthesizedDeepClone,getSynthesizedDeepCloneWithReplacements:()=>getSynthesizedDeepCloneWithReplacements,getSynthesizedDeepClones:()=>getSynthesizedDeepClones,getSynthesizedDeepClonesWithReplacements:()=>getSynthesizedDeepClonesWithReplacements,getSyntheticLeadingComments:()=>getSyntheticLeadingComments,getSyntheticTrailingComments:()=>getSyntheticTrailingComments,getTargetLabel:()=>getTargetLabel,getTargetOfBindingOrAssignmentElement:()=>Ko,getTemporaryModuleResolutionState:()=>getTemporaryModuleResolutionState,getTextOfConstantValue:()=>HD,getTextOfIdentifierOrLiteral:()=>kf,getTextOfJSDocComment:()=>zA,getTextOfNode:()=>gf,getTextOfNodeFromSourceText:()=>B_,getTextOfPropertyName:()=>lk,getThisContainer:()=>d0,getThisParameter:()=>j4,getTokenAtPosition:()=>getTokenAtPosition,getTokenPosOfNode:()=>Io,getTokenSourceMapRange:()=>getTokenSourceMapRange,getTouchingPropertyName:()=>getTouchingPropertyName,getTouchingToken:()=>getTouchingToken,getTrailingCommentRanges:()=>HT,getTrailingSemicolonDeferringWriter:()=>kN,getTransformFlagsSubtreeExclusions:()=>w8,getTransformers:()=>getTransformers,getTsBuildInfoEmitOutputFilePath:()=>getTsBuildInfoEmitOutputFilePath,getTsConfigObjectLiteralExpression:()=>M3,getTsConfigPropArray:()=>L3,getTsConfigPropArrayElementValue:()=>Uk,getTypeAnnotationNode:()=>UN,getTypeArgumentOrTypeParameterList:()=>getTypeArgumentOrTypeParameterList,getTypeKeywordOfTypeOnlyImport:()=>getTypeKeywordOfTypeOnlyImport,getTypeNode:()=>getTypeNode,getTypeNodeIfAccessible:()=>getTypeNodeIfAccessible,getTypeParameterFromJsDoc:()=>BI,getTypeParameterOwner:()=>AA,getTypesPackageName:()=>getTypesPackageName,getUILocale:()=>M1,getUniqueName:()=>getUniqueName,getUniqueSymbolId:()=>getUniqueSymbolId,getUseDefineForClassFields:()=>CM,getWatchErrorSummaryDiagnosticMessage:()=>getWatchErrorSummaryDiagnosticMessage,getWatchFactory:()=>getWatchFactory,group:()=>el,groupBy:()=>x_,guessIndentation:()=>rD,handleNoEmitOptions:()=>handleNoEmitOptions,hasAbstractModifier:()=>W4,hasAccessorModifier:()=>H4,hasAmbientModifier:()=>V4,hasChangesInResolutions:()=>wD,hasChildOfKind:()=>hasChildOfKind,hasContextSensitiveParameters:()=>vL,hasDecorators:()=>Il,hasDocComment:()=>hasDocComment,hasDynamicName:()=>v4,hasEffectiveModifier:()=>H0,hasEffectiveModifiers:()=>XN,hasEffectiveReadonlyModifier:()=>$0,hasExtension:()=>OT,hasIndexSignature:()=>hasIndexSignature,hasInitializer:()=>l3,hasInvalidEscape:()=>w4,hasJSDocNodes:()=>ya,hasJSDocParameterTags:()=>IA,hasJSFileExtension:()=>dv,hasJsonModuleEmitEnabled:()=>hM,hasOnlyExpressionInitializer:()=>eD,hasOverrideModifier:()=>QN,hasPossibleExternalModuleReference:()=>sk,hasProperty:()=>Jr,hasPropertyAccessExpressionWithName:()=>hasPropertyAccessExpressionWithName,hasQuestionToken:()=>OI,hasRecordedExternalHelpers:()=>Gj,hasRestParameter:()=>nD,hasScopeMarker:()=>kP,hasStaticModifier:()=>Lf,hasSyntacticModifier:()=>rn,hasSyntacticModifiers:()=>YN,hasTSFileExtension:()=>mv,hasTabstop:()=>Qx,hasTrailingDirectorySeparator:()=>Hp,hasType:()=>ZP,hasTypeArguments:()=>qI,hasZeroOrOneAsteriskCharacter:()=>OM,helperString:()=>helperString,hostGetCanonicalFileName:()=>D4,hostUsesCaseSensitiveFileNames:()=>J0,idText:()=>qr,identifierIsThisKeyword:()=>J4,identifierToKeywordKind:()=>dS,identity:()=>rr,identitySourceMapConsumer:()=>identitySourceMapConsumer,ignoreSourceNewlines:()=>ignoreSourceNewlines,ignoredPaths:()=>ignoredPaths,importDefaultHelper:()=>importDefaultHelper,importFromModuleSpecifier:()=>II,importNameElisionDisabled:()=>gM,importStarHelper:()=>importStarHelper,indexOfAnyCharCode:()=>Je,indexOfNode:()=>UD,indicesOf:()=>Wr,inferredTypesContainingFile:()=>inferredTypesContainingFile,insertImports:()=>insertImports,insertLeadingStatement:()=>Mj,insertSorted:()=>Qn,insertStatementAfterCustomPrologue:()=>RD,insertStatementAfterStandardPrologue:()=>LD,insertStatementsAfterCustomPrologue:()=>MD,insertStatementsAfterStandardPrologue:()=>OD,intersperse:()=>Ie,introducesArgumentsExoticObject:()=>Lk,inverseJsxOptionMap:()=>inverseJsxOptionMap,isAbstractConstructorSymbol:()=>zO,isAbstractModifier:()=>uR,isAccessExpression:()=>Lo,isAccessibilityModifier:()=>isAccessibilityModifier,isAccessor:()=>pf,isAccessorModifier:()=>fR,isAliasSymbolDeclaration:()=>QI,isAliasableExpression:()=>k0,isAmbientModule:()=>yf,isAmbientPropertyDeclaration:()=>rk,isAnonymousFunctionDefinition:()=>H_,isAnyDirectorySeparator:()=>ay,isAnyImportOrBareOrAccessedRequire:()=>ik,isAnyImportOrReExport:()=>bf,isAnyImportSyntax:()=>Qy,isAnySupportedFileExtension:()=>ZM,isApplicableVersionedTypesKey:()=>isApplicableVersionedTypesKey,isArgumentExpressionOfElementAccess:()=>isArgumentExpressionOfElementAccess,isArray:()=>ir,isArrayBindingElement:()=>gP,isArrayBindingOrAssignmentElement:()=>ZS,isArrayBindingOrAssignmentPattern:()=>QS,isArrayBindingPattern:()=>yR,isArrayLiteralExpression:()=>Yl,isArrayLiteralOrObjectLiteralDestructuringPattern:()=>isArrayLiteralOrObjectLiteralDestructuringPattern,isArrayTypeNode:()=>F8,isArrowFunction:()=>sd,isAsExpression:()=>CR,isAssertClause:()=>$R,isAssertEntry:()=>KR,isAssertionExpression:()=>PP,isAssertionKey:()=>oP,isAssertsKeyword:()=>_R,isAssignmentDeclaration:()=>v0,isAssignmentExpression:()=>ms,isAssignmentOperator:()=>G_,isAssignmentPattern:()=>KS,isAssignmentTarget:()=>UI,isAsteriskToken:()=>nR,isAsyncFunction:()=>oN,isAsyncModifier:()=>Ul,isAutoAccessorPropertyDeclaration:()=>$S,isAwaitExpression:()=>SR,isAwaitKeyword:()=>cR,isBigIntLiteral:()=>Uv,isBinaryExpression:()=>ur,isBinaryOperatorToken:()=>AJ,isBindableObjectDefinePropertyCall:()=>S0,isBindableStaticAccessExpression:()=>W_,isBindableStaticElementAccessExpression:()=>x0,isBindableStaticNameExpression:()=>V_,isBindingElement:()=>Xl,isBindingElementOfBareOrAccessedRequire:()=>mI,isBindingName:()=>uP,isBindingOrAssignmentElement:()=>yP,isBindingOrAssignmentPattern:()=>vP,isBindingPattern:()=>df,isBlock:()=>Ql,isBlockOrCatchScoped:()=>$D,isBlockScope:()=>w3,isBlockScopedContainerTopLevel:()=>ZD,isBooleanLiteral:()=>pP,isBreakOrContinueStatement:()=>YA,isBreakStatement:()=>JR,isBuildInfoFile:()=>isBuildInfoFile,isBuilderProgram:()=>isBuilderProgram2,isBundle:()=>cj,isBundleFileTextLike:()=>XO,isCallChain:()=>Cy,isCallExpression:()=>sc,isCallExpressionTarget:()=>isCallExpressionTarget,isCallLikeExpression:()=>SP,isCallOrNewExpression:()=>xP,isCallOrNewExpressionTarget:()=>isCallOrNewExpressionTarget,isCallSignatureDeclaration:()=>Vv,isCallToHelper:()=>isCallToHelper,isCaseBlock:()=>VR,isCaseClause:()=>sj,isCaseKeyword:()=>dR,isCaseOrDefaultClause:()=>QP,isCatchClause:()=>oj,isCatchClauseVariableDeclaration:()=>Gx,isCatchClauseVariableDeclarationOrBindingElement:()=>T3,isCheckJsEnabledForFile:()=>eL,isChildOfNodeWithKind:()=>Ak,isCircularBuildOrder:()=>isCircularBuildOrder,isClassDeclaration:()=>_c,isClassElement:()=>Js,isClassExpression:()=>_d,isClassLike:()=>bi,isClassMemberModifier:()=>VS,isClassOrTypeElement:()=>mP,isClassStaticBlockDeclaration:()=>Hl,isCollapsedRange:()=>vO,isColonToken:()=>iR,isCommaExpression:()=>gd,isCommaListExpression:()=>oc,isCommaSequence:()=>zj,isCommaToken:()=>I8,isComment:()=>isComment,isCommonJsExportPropertyAssignment:()=>p0,isCommonJsExportedExpression:()=>Ok,isCompoundAssignment:()=>isCompoundAssignment,isComputedNonLiteralName:()=>ck,isComputedPropertyName:()=>Ws,isConciseBody:()=>MP,isConditionalExpression:()=>xR,isConditionalTypeNode:()=>V8,isConstTypeReference:()=>jS,isConstructSignatureDeclaration:()=>R8,isConstructorDeclaration:()=>nc,isConstructorTypeNode:()=>Gv,isContextualKeyword:()=>N0,isContinueStatement:()=>jR,isCustomPrologue:()=>Tf,isDebuggerStatement:()=>WR,isDeclaration:()=>ko,isDeclarationBindingElement:()=>Fy,isDeclarationFileName:()=>QE,isDeclarationName:()=>c4,isDeclarationNameOfEnumOrNamespace:()=>IO,isDeclarationReadonly:()=>Sk,isDeclarationStatement:()=>VP,isDeclarationWithTypeParameterChildren:()=>C3,isDeclarationWithTypeParameters:()=>nk,isDecorator:()=>zl,isDecoratorTarget:()=>isDecoratorTarget,isDefaultClause:()=>oE,isDefaultImport:()=>Z3,isDefaultModifier:()=>oR,isDefaultedExpandoInitializer:()=>SI,isDeleteExpression:()=>bR,isDeleteTarget:()=>$I,isDeprecatedDeclaration:()=>isDeprecatedDeclaration,isDestructuringAssignment:()=>nO,isDiagnosticWithLocation:()=>isDiagnosticWithLocation,isDiskPathRoot:()=>H5,isDoStatement:()=>OR,isDotDotDotToken:()=>rR,isDottedName:()=>ev,isDynamicName:()=>M0,isESSymbolIdentifier:()=>pN,isEffectiveExternalModule:()=>Yy,isEffectiveModuleDeclaration:()=>S3,isEffectiveStrictModeSourceFile:()=>tk,isElementAccessChain:()=>RS,isElementAccessExpression:()=>gs,isEmittedFileOfProgram:()=>isEmittedFileOfProgram,isEmptyArrayLiteral:()=>_O,isEmptyBindingElement:()=>pS,isEmptyBindingPattern:()=>uS,isEmptyObjectLiteral:()=>oO,isEmptyStatement:()=>IR,isEmptyStringLiteral:()=>j3,isEndOfDeclarationMarker:()=>ej,isEntityName:()=>lP,isEntityNameExpression:()=>Bs,isEnumConst:()=>Tk,isEnumDeclaration:()=>i2,isEnumMember:()=>cE,isEqualityOperatorKind:()=>isEqualityOperatorKind,isEqualsGreaterThanToken:()=>sR,isExclamationToken:()=>rd,isExcludedFile:()=>isExcludedFile,isExclusivelyTypeOnlyImportOrExport:()=>isExclusivelyTypeOnlyImportOrExport,isExportAssignment:()=>Vo,isExportDeclaration:()=>cc,isExportModifier:()=>N8,isExportName:()=>Uj,isExportNamespaceAsDefaultDeclaration:()=>b3,isExportOrDefaultModifier:()=>DJ,isExportSpecifier:()=>aE,isExportsIdentifier:()=>H3,isExportsOrModuleExportsOrAlias:()=>isExportsOrModuleExportsOrAlias,isExpression:()=>mf,isExpressionNode:()=>g0,isExpressionOfExternalModuleImportEqualsDeclaration:()=>isExpressionOfExternalModuleImportEqualsDeclaration,isExpressionOfOptionalChainRoot:()=>$A,isExpressionStatement:()=>Zl,isExpressionWithTypeArguments:()=>e2,isExpressionWithTypeArgumentsInClassExtendsClause:()=>Z0,isExternalModule:()=>Qo,isExternalModuleAugmentation:()=>Xy,isExternalModuleImportEqualsDeclaration:()=>B3,isExternalModuleIndicator:()=>NP,isExternalModuleNameRelative:()=>gA,isExternalModuleReference:()=>ud,isExternalModuleSymbol:()=>isExternalModuleSymbol,isExternalOrCommonJsModule:()=>bk,isFileLevelUniqueName:()=>m3,isFileProbablyExternalModule:()=>ou,isFirstDeclarationOfSymbolParameter:()=>isFirstDeclarationOfSymbolParameter,isFixablePromiseHandler:()=>isFixablePromiseHandler,isForInOrOfStatement:()=>OP,isForInStatement:()=>LR,isForInitializer:()=>RP,isForOfStatement:()=>RR,isForStatement:()=>eE,isFunctionBlock:()=>O3,isFunctionBody:()=>LP,isFunctionDeclaration:()=>Wo,isFunctionExpression:()=>ad,isFunctionExpressionOrArrowFunction:()=>SL,isFunctionLike:()=>ga,isFunctionLikeDeclaration:()=>HS,isFunctionLikeKind:()=>My,isFunctionLikeOrClassStaticBlockDeclaration:()=>uf,isFunctionOrConstructorTypeNode:()=>hP,isFunctionOrModuleBlock:()=>fP,isFunctionSymbol:()=>DI,isFunctionTypeNode:()=>$l,isFutureReservedKeyword:()=>tN,isGeneratedIdentifier:()=>cs,isGeneratedPrivateIdentifier:()=>Ny,isGetAccessor:()=>Tl,isGetAccessorDeclaration:()=>Gl,isGetOrSetAccessorDeclaration:()=>GA,isGlobalDeclaration:()=>isGlobalDeclaration,isGlobalScopeAugmentation:()=>vf,isGrammarError:()=>ND,isHeritageClause:()=>ru,isHoistedFunction:()=>_0,isHoistedVariableStatement:()=>c0,isIdentifier:()=>yt,isIdentifierANonContextualKeyword:()=>iN,isIdentifierName:()=>YI,isIdentifierOrThisTypeNode:()=>aJ,isIdentifierPart:()=>Rs,isIdentifierStart:()=>Wn,isIdentifierText:()=>vy,isIdentifierTypePredicate:()=>Fk,isIdentifierTypeReference:()=>pL,isIfStatement:()=>NR,isIgnoredFileFromWildCardWatching:()=>isIgnoredFileFromWildCardWatching,isImplicitGlob:()=>Dx,isImportCall:()=>s0,isImportClause:()=>HR,isImportDeclaration:()=>o2,isImportEqualsDeclaration:()=>s2,isImportKeyword:()=>M8,isImportMeta:()=>o0,isImportOrExportSpecifier:()=>aP,isImportOrExportSpecifierName:()=>isImportOrExportSpecifierName,isImportSpecifier:()=>nE,isImportTypeAssertionContainer:()=>GR,isImportTypeNode:()=>Kl,isImportableFile:()=>isImportableFile,isInComment:()=>isInComment,isInExpressionContext:()=>J3,isInJSDoc:()=>q3,isInJSFile:()=>Pr,isInJSXText:()=>isInJSXText,isInJsonFile:()=>pI,isInNonReferenceComment:()=>isInNonReferenceComment,isInReferenceComment:()=>isInReferenceComment,isInRightSideOfInternalImportEqualsDeclaration:()=>isInRightSideOfInternalImportEqualsDeclaration,isInString:()=>isInString,isInTemplateString:()=>isInTemplateString,isInTopLevelContext:()=>Kk,isIncrementalCompilation:()=>wM,isIndexSignatureDeclaration:()=>Hv,isIndexedAccessTypeNode:()=>$8,isInferTypeNode:()=>H8,isInfinityOrNaNString:()=>bL,isInitializedProperty:()=>isInitializedProperty,isInitializedVariable:()=>lx,isInsideJsxElement:()=>isInsideJsxElement,isInsideJsxElementOrAttribute:()=>isInsideJsxElementOrAttribute,isInsideNodeModules:()=>isInsideNodeModules,isInsideTemplateLiteral:()=>isInsideTemplateLiteral,isInstantiatedModule:()=>isInstantiatedModule,isInterfaceDeclaration:()=>eu,isInternalDeclaration:()=>isInternalDeclaration,isInternalModuleImportEqualsDeclaration:()=>lI,isInternalName:()=>qj,isIntersectionTypeNode:()=>W8,isIntrinsicJsxName:()=>P4,isIterationStatement:()=>n3,isJSDoc:()=>Ho,isJSDocAllType:()=>dj,isJSDocAugmentsTag:()=>md,isJSDocAuthorTag:()=>bj,isJSDocCallbackTag:()=>Tj,isJSDocClassTag:()=>pE,isJSDocCommentContainingNode:()=>c3,isJSDocConstructSignature:()=>MI,isJSDocDeprecatedTag:()=>v2,isJSDocEnumTag:()=>dE,isJSDocFunctionType:()=>dd,isJSDocImplementsTag:()=>hE,isJSDocIndexSignature:()=>dI,isJSDocLikeText:()=>LE,isJSDocLink:()=>uj,isJSDocLinkCode:()=>pj,isJSDocLinkLike:()=>Sl,isJSDocLinkPlain:()=>fj,isJSDocMemberName:()=>uc,isJSDocNameReference:()=>fd,isJSDocNamepathType:()=>vj,isJSDocNamespaceBody:()=>FP,isJSDocNode:()=>Uy,isJSDocNonNullableType:()=>hj,isJSDocNullableType:()=>uE,isJSDocOptionalParameter:()=>Zx,isJSDocOptionalType:()=>gj,isJSDocOverloadTag:()=>y2,isJSDocOverrideTag:()=>fE,isJSDocParameterTag:()=>pc,isJSDocPrivateTag:()=>m2,isJSDocPropertyLikeTag:()=>Dy,isJSDocPropertyTag:()=>wj,isJSDocProtectedTag:()=>h2,isJSDocPublicTag:()=>d2,isJSDocReadonlyTag:()=>g2,isJSDocReturnTag:()=>b2,isJSDocSatisfiesExpression:()=>IL,isJSDocSatisfiesTag:()=>T2,isJSDocSeeTag:()=>Sj,isJSDocSignature:()=>iu,isJSDocTag:()=>zy,isJSDocTemplateTag:()=>Go,isJSDocThisTag:()=>mE,isJSDocThrowsTag:()=>Cj,isJSDocTypeAlias:()=>Cl,isJSDocTypeAssertion:()=>xE,isJSDocTypeExpression:()=>lE,isJSDocTypeLiteral:()=>f2,isJSDocTypeTag:()=>au,isJSDocTypedefTag:()=>xj,isJSDocUnknownTag:()=>Ej,isJSDocUnknownType:()=>mj,isJSDocVariadicType:()=>yj,isJSXTagName:()=>xf,isJsonEqual:()=>gv,isJsonSourceFile:()=>a0,isJsxAttribute:()=>nj,isJsxAttributeLike:()=>XP,isJsxAttributes:()=>p2,isJsxChild:()=>o3,isJsxClosingElement:()=>sE,isJsxClosingFragment:()=>rj,isJsxElement:()=>l2,isJsxExpression:()=>aj,isJsxFragment:()=>pd,isJsxOpeningElement:()=>tu,isJsxOpeningFragment:()=>u2,isJsxOpeningLikeElement:()=>_3,isJsxOpeningLikeElementTagName:()=>isJsxOpeningLikeElementTagName,isJsxSelfClosingElement:()=>tj,isJsxSpreadAttribute:()=>ij,isJsxTagNameExpression:()=>KP,isJsxText:()=>td,isJumpStatementTarget:()=>isJumpStatementTarget,isKeyword:()=>ba,isKnownSymbol:()=>lN,isLabelName:()=>isLabelName,isLabelOfLabeledStatement:()=>isLabelOfLabeledStatement,isLabeledStatement:()=>tE,isLateVisibilityPaintedStatement:()=>ak,isLeftHandSideExpression:()=>Do,isLeftHandSideOfAssignment:()=>rO,isLet:()=>xk,isLineBreak:()=>un,isLiteralComputedPropertyDeclarationName:()=>l4,isLiteralExpression:()=>Iy,isLiteralExpressionOfObject:()=>rP,isLiteralImportTypeNode:()=>k3,isLiteralKind:()=>ky,isLiteralLikeAccess:()=>wf,isLiteralLikeElementAccess:()=>wl,isLiteralNameOfPropertyDeclarationOrIndexAccess:()=>isLiteralNameOfPropertyDeclarationOrIndexAccess,isLiteralTypeLikeExpression:()=>cJ,isLiteralTypeLiteral:()=>CP,isLiteralTypeNode:()=>Yv,isLocalName:()=>E2,isLogicalOperator:()=>ZN,isLogicalOrCoalescingAssignmentExpression:()=>eO,isLogicalOrCoalescingAssignmentOperator:()=>jf,isLogicalOrCoalescingBinaryExpression:()=>tO,isLogicalOrCoalescingBinaryOperator:()=>Z4,isMappedTypeNode:()=>K8,isMemberName:()=>js,isMergeDeclarationMarker:()=>ZR,isMetaProperty:()=>t2,isMethodDeclaration:()=>Vl,isMethodOrAccessor:()=>Ly,isMethodSignature:()=>L8,isMinusToken:()=>Wv,isMissingDeclaration:()=>YR,isModifier:()=>Oy,isModifierKind:()=>Wi,isModifierLike:()=>ff,isModuleAugmentationExternal:()=>x3,isModuleBlock:()=>rE,isModuleBody:()=>jP,isModuleDeclaration:()=>Ea,isModuleExportsAccessExpression:()=>T0,isModuleIdentifier:()=>G3,isModuleName:()=>_J,isModuleOrEnumDeclaration:()=>qP,isModuleReference:()=>$P,isModuleSpecifierLike:()=>isModuleSpecifierLike,isModuleWithStringLiteralName:()=>KD,isNameOfFunctionDeclaration:()=>isNameOfFunctionDeclaration,isNameOfModuleDeclaration:()=>isNameOfModuleDeclaration,isNamedClassElement:()=>dP,isNamedDeclaration:()=>af,isNamedEvaluation:()=>fN,isNamedEvaluationSource:()=>S4,isNamedExportBindings:()=>QA,isNamedExports:()=>iE,isNamedImportBindings:()=>BP,isNamedImports:()=>XR,isNamedImportsOrExports:()=>YO,isNamedTupleMember:()=>$v,isNamespaceBody:()=>JP,isNamespaceExport:()=>ld,isNamespaceExportDeclaration:()=>a2,isNamespaceImport:()=>_2,isNamespaceReexportDeclaration:()=>oI,isNewExpression:()=>X8,isNewExpressionTarget:()=>isNewExpressionTarget,isNightly:()=>PN,isNoSubstitutionTemplateLiteral:()=>k8,isNode:()=>eP,isNodeArray:()=>_s,isNodeArrayMultiLine:()=>AO,isNodeDescendantOf:()=>KI,isNodeKind:()=>gl,isNodeLikeSystem:()=>M5,isNodeModulesDirectory:()=>aA,isNodeWithPossibleHoistedDeclaration:()=>zI,isNonContextualKeyword:()=>y4,isNonExportDefaultModifier:()=>kJ,isNonGlobalAmbientModule:()=>XD,isNonGlobalDeclaration:()=>isNonGlobalDeclaration,isNonNullAccess:()=>kL,isNonNullChain:()=>JS,isNonNullExpression:()=>Uo,isNonStaticMethodOrAccessorWithPrivateName:()=>isNonStaticMethodOrAccessorWithPrivateName,isNotEmittedOrPartiallyEmittedNode:()=>DP,isNotEmittedStatement:()=>c2,isNullishCoalesce:()=>XA,isNumber:()=>gi,isNumericLiteral:()=>zs,isNumericLiteralName:()=>$x,isObjectBindingElementWithoutPropertyName:()=>isObjectBindingElementWithoutPropertyName,isObjectBindingOrAssignmentElement:()=>YS,isObjectBindingOrAssignmentPattern:()=>XS,isObjectBindingPattern:()=>gR,isObjectLiteralElement:()=>Wy,isObjectLiteralElementLike:()=>jy,isObjectLiteralExpression:()=>Hs,isObjectLiteralMethod:()=>jk,isObjectLiteralOrClassExpressionMethodOrAccessor:()=>Jk,isObjectTypeDeclaration:()=>$O,isOctalDigit:()=>hy,isOmittedExpression:()=>cd,isOptionalChain:()=>Ay,isOptionalChainRoot:()=>Py,isOptionalDeclaration:()=>DL,isOptionalJSDocPropertyLikeTag:()=>Yx,isOptionalTypeNode:()=>q8,isOuterExpression:()=>yd,isOutermostOptionalChain:()=>KA,isOverrideModifier:()=>pR,isPackedArrayLiteral:()=>hL,isParameter:()=>Vs,isParameterDeclaration:()=>mN,isParameterOrCatchClauseVariable:()=>TL,isParameterPropertyDeclaration:()=>lS,isParameterPropertyModifier:()=>WS,isParenthesizedExpression:()=>qo,isParenthesizedTypeNode:()=>Kv,isParseTreeNode:()=>pl,isPartOfTypeNode:()=>l0,isPartOfTypeQuery:()=>F3,isPartiallyEmittedExpression:()=>Z8,isPatternMatch:()=>z1,isPinnedComment:()=>v3,isPlainJsFile:()=>PD,isPlusToken:()=>zv,isPossiblyTypeArgumentPosition:()=>isPossiblyTypeArgumentPosition,isPostfixUnaryExpression:()=>Q8,isPrefixUnaryExpression:()=>od,isPrivateIdentifier:()=>vn,isPrivateIdentifierClassElementDeclaration:()=>zS,isPrivateIdentifierPropertyAccessExpression:()=>cP,isPrivateIdentifierSymbol:()=>uN,isProgramBundleEmitBuildInfo:()=>isProgramBundleEmitBuildInfo,isProgramUptoDate:()=>isProgramUptoDate,isPrologueDirective:()=>us,isPropertyAccessChain:()=>LS,isPropertyAccessEntityNameExpression:()=>rx,isPropertyAccessExpression:()=>bn,isPropertyAccessOrQualifiedName:()=>TP,isPropertyAccessOrQualifiedNameOrImportTypeNode:()=>bP,isPropertyAssignment:()=>lc,isPropertyDeclaration:()=>Bo,isPropertyName:()=>vl,isPropertyNameLiteral:()=>L0,isPropertySignature:()=>Wl,isProtoSetter:()=>T4,isPrototypeAccess:()=>Nl,isPrototypePropertyAssignment:()=>CI,isPunctuation:()=>isPunctuation,isPushOrUnshiftIdentifier:()=>dN,isQualifiedName:()=>rc,isQuestionDotToken:()=>aR,isQuestionOrExclamationToken:()=>iJ,isQuestionOrPlusOrMinusToken:()=>oJ,isQuestionToken:()=>ql,isRawSourceMap:()=>isRawSourceMap,isReadonlyKeyword:()=>O8,isReadonlyKeywordOrPlusOrMinusToken:()=>sJ,isRecognizedTripleSlashComment:()=>jD,isReferenceFileLocation:()=>isReferenceFileLocation,isReferencedFile:()=>isReferencedFile,isRegularExpressionLiteral:()=>QL,isRequireCall:()=>El,isRequireVariableStatement:()=>W3,isRestParameter:()=>u3,isRestTypeNode:()=>U8,isReturnStatement:()=>FR,isReturnStatementWithFixablePromiseHandler:()=>isReturnStatementWithFixablePromiseHandler,isRightSideOfAccessExpression:()=>nx,isRightSideOfPropertyAccess:()=>isRightSideOfPropertyAccess,isRightSideOfQualifiedName:()=>isRightSideOfQualifiedName,isRightSideOfQualifiedNameOrPropertyAccess:()=>aO,isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName:()=>sO,isRootedDiskPath:()=>A_,isSameEntityName:()=>z_,isSatisfiesExpression:()=>AR,isScopeMarker:()=>i3,isSemicolonClassElement:()=>kR,isSetAccessor:()=>bl,isSetAccessorDeclaration:()=>ic,isShebangTrivia:()=>gy,isShorthandAmbientModuleSymbol:()=>YD,isShorthandPropertyAssignment:()=>nu,isSignedNumericLiteral:()=>O0,isSimpleCopiableExpression:()=>isSimpleCopiableExpression,isSimpleInlineableExpression:()=>isSimpleInlineableExpression,isSingleOrDoubleQuote:()=>hI,isSourceFile:()=>wi,isSourceFileFromLibrary:()=>isSourceFileFromLibrary,isSourceFileJS:()=>y0,isSourceFileNotJS:()=>uI,isSourceFileNotJson:()=>fI,isSourceMapping:()=>isSourceMapping,isSpecialPropertyDeclaration:()=>AI,isSpreadAssignment:()=>_E,isSpreadElement:()=>Zv,isStatement:()=>a3,isStatementButNotDeclaration:()=>HP,isStatementOrBlock:()=>s3,isStatementWithLocals:()=>DD,isStatic:()=>G0,isStaticModifier:()=>lR,isString:()=>Ji,isStringAKeyword:()=>nN,isStringANonContextualKeyword:()=>rN,isStringAndEmptyAnonymousObjectIntersection:()=>isStringAndEmptyAnonymousObjectIntersection,isStringDoubleQuoted:()=>gI,isStringLiteral:()=>Gn,isStringLiteralLike:()=>Ti,isStringLiteralOrJsxExpression:()=>YP,isStringLiteralOrTemplate:()=>isStringLiteralOrTemplate,isStringOrNumericLiteralLike:()=>Ta,isStringOrRegularExpressionOrTemplateLiteral:()=>isStringOrRegularExpressionOrTemplateLiteral,isStringTextContainingNode:()=>_P,isSuperCall:()=>Ek,isSuperKeyword:()=>nd,isSuperOrSuperProperty:()=>Zk,isSuperProperty:()=>Sf,isSupportedSourceFileName:()=>GM,isSwitchStatement:()=>qR,isSyntaxList:()=>Aj,isSyntheticExpression:()=>PR,isSyntheticReference:()=>QR,isTagName:()=>isTagName,isTaggedTemplateExpression:()=>Y8,isTaggedTemplateTag:()=>isTaggedTemplateTag,isTemplateExpression:()=>ER,isTemplateHead:()=>ZL,isTemplateLiteral:()=>EP,isTemplateLiteralKind:()=>yl,isTemplateLiteralToken:()=>nP,isTemplateLiteralTypeNode:()=>hR,isTemplateLiteralTypeSpan:()=>mR,isTemplateMiddle:()=>eR,isTemplateMiddleOrTemplateTail:()=>iP,isTemplateSpan:()=>DR,isTemplateTail:()=>tR,isTextWhiteSpaceLike:()=>isTextWhiteSpaceLike,isThis:()=>isThis,isThisContainerOrFunctionBlock:()=>$k,isThisIdentifier:()=>Mf,isThisInTypeQuery:()=>qN,isThisInitializedDeclaration:()=>tI,isThisInitializedObjectBindingExpression:()=>rI,isThisProperty:()=>eI,isThisTypeNode:()=>Xv,isThisTypeParameter:()=>Kx,isThisTypePredicate:()=>Bk,isThrowStatement:()=>UR,isToken:()=>tP,isTokenKind:()=>BS,isTraceEnabled:()=>isTraceEnabled,isTransientSymbol:()=>$y,isTrivia:()=>aN,isTryStatement:()=>zR,isTupleTypeNode:()=>B8,isTypeAlias:()=>LI,isTypeAliasDeclaration:()=>n2,isTypeAssertionExpression:()=>vR,isTypeDeclaration:()=>Xx,isTypeElement:()=>Ry,isTypeKeyword:()=>isTypeKeyword,isTypeKeywordToken:()=>isTypeKeywordToken,isTypeKeywordTokenOrIdentifier:()=>isTypeKeywordTokenOrIdentifier,isTypeLiteralNode:()=>id,isTypeNode:()=>Jy,isTypeNodeKind:()=>hx,isTypeOfExpression:()=>TR,isTypeOnlyExportDeclaration:()=>US,isTypeOnlyImportDeclaration:()=>qS,isTypeOnlyImportOrExportDeclaration:()=>sP,isTypeOperatorNode:()=>G8,isTypeParameterDeclaration:()=>Fo,isTypePredicateNode:()=>j8,isTypeQueryNode:()=>J8,isTypeReferenceNode:()=>ac,isTypeReferenceType:()=>tD,isUMDExportSymbol:()=>VO,isUnaryExpression:()=>t3,isUnaryExpressionWithWrite:()=>wP,isUnicodeIdentifierStart:()=>UT,isUnionTypeNode:()=>z8,isUnparsedNode:()=>ZA,isUnparsedPrepend:()=>_j,isUnparsedSource:()=>lj,isUnparsedTextLike:()=>FS,isUrl:()=>V5,isValidBigIntString:()=>zx,isValidESSymbolDeclaration:()=>Mk,isValidTypeOnlyAliasUseSite:()=>_L,isValueSignatureDeclaration:()=>WI,isVarConst:()=>D3,isVariableDeclaration:()=>Vi,isVariableDeclarationInVariableStatement:()=>N3,isVariableDeclarationInitializedToBareOrAccessedRequire:()=>Ef,isVariableDeclarationInitializedToRequire:()=>U3,isVariableDeclarationList:()=>r2,isVariableLike:()=>u0,isVariableLikeOrAccessor:()=>Nk,isVariableStatement:()=>zo,isVoidExpression:()=>Qv,isWatchSet:()=>OO,isWhileStatement:()=>MR,isWhiteSpaceLike:()=>os,isWhiteSpaceSingleLine:()=>N_,isWithStatement:()=>BR,isWriteAccess:()=>FO,isWriteOnlyAccess:()=>JO,isYieldExpression:()=>wR,jsxModeNeedsExplicitImport:()=>jsxModeNeedsExplicitImport,keywordPart:()=>keywordPart,last:()=>Zn,lastOrUndefined:()=>Cn,length:()=>I,libMap:()=>libMap,libs:()=>libs,lineBreakPart:()=>lineBreakPart,linkNamePart:()=>linkNamePart,linkPart:()=>linkPart,linkTextPart:()=>linkTextPart,listFiles:()=>listFiles,loadModuleFromGlobalCache:()=>loadModuleFromGlobalCache,loadWithModeAwareCache:()=>loadWithModeAwareCache,makeIdentifierFromModuleName:()=>GD,makeImport:()=>makeImport,makeImportIfNecessary:()=>makeImportIfNecessary,makeStringLiteral:()=>makeStringLiteral,mangleScopedPackageName:()=>mangleScopedPackageName,map:()=>Ze,mapAllOrFail:()=>Pt,mapDefined:()=>qt,mapDefinedEntries:()=>Ri,mapDefinedIterator:()=>Zr,mapEntries:()=>be,mapIterator:()=>st,mapOneOrMany:()=>mapOneOrMany,mapToDisplayParts:()=>mapToDisplayParts,matchFiles:()=>qM,matchPatternOrExact:()=>tL,matchedText:()=>S5,matchesExclude:()=>matchesExclude,maybeBind:()=>le,maybeSetLocalizedDiagnosticMessages:()=>vx,memoize:()=>tl,memoizeCached:()=>D1,memoizeOne:()=>An,memoizeWeak:()=>P1,metadataHelper:()=>metadataHelper,min:()=>N1,minAndMax:()=>nL,missingFileModifiedTime:()=>missingFileModifiedTime,modifierToFlag:()=>Q0,modifiersToFlags:()=>Vn,moduleOptionDeclaration:()=>moduleOptionDeclaration,moduleResolutionIsEqualTo:()=>TD,moduleResolutionNameAndModeGetter:()=>moduleResolutionNameAndModeGetter,moduleResolutionOptionDeclarations:()=>moduleResolutionOptionDeclarations,moduleResolutionSupportsPackageJsonExportsAndImports:()=>_v,moduleResolutionUsesNodeModules:()=>moduleResolutionUsesNodeModules,moduleSpecifiers:()=>ts_moduleSpecifiers_exports,moveEmitHelpers:()=>moveEmitHelpers,moveRangeEnd:()=>gO,moveRangePastDecorators:()=>_x,moveRangePastModifiers:()=>yO,moveRangePos:()=>Ff,moveSyntheticComments:()=>moveSyntheticComments,mutateMap:()=>UO,mutateMapSkippingNewValues:()=>fx,needsParentheses:()=>needsParentheses,needsScopeMarker:()=>IP,newCaseClauseTracker:()=>newCaseClauseTracker,newPrivateEnvironment:()=>newPrivateEnvironment,noEmitNotification:()=>noEmitNotification,noEmitSubstitution:()=>noEmitSubstitution,noTransformers:()=>noTransformers,noTruncationMaximumTruncationLength:()=>AC,nodeCanBeDecorated:()=>R3,nodeHasName:()=>hS,nodeIsDecorated:()=>q_,nodeIsMissing:()=>va,nodeIsPresent:()=>xl,nodeIsSynthesized:()=>fs,nodeModuleNameResolver:()=>nodeModuleNameResolver,nodeModulesPathPart:()=>nodeModulesPathPart,nodeNextJsonConfigResolver:()=>nodeNextJsonConfigResolver,nodeOrChildIsDecorated:()=>m0,nodeOverlapsWithStartEnd:()=>nodeOverlapsWithStartEnd,nodePosToString:()=>ID,nodeSeenTracker:()=>nodeSeenTracker,nodeStartsNewLexicalEnvironment:()=>hN,nodeToDisplayParts:()=>nodeToDisplayParts,noop:()=>yn,noopFileWatcher:()=>noopFileWatcher,noopPush:()=>oo,normalizePath:()=>Un,normalizeSlashes:()=>Eo,not:()=>w5,notImplemented:()=>A1,notImplementedResolver:()=>notImplementedResolver,nullNodeConverters:()=>nullNodeConverters,nullParenthesizerRules:()=>pw,nullTransformationContext:()=>nullTransformationContext,objectAllocator:()=>MC,operatorPart:()=>operatorPart,optionDeclarations:()=>optionDeclarations,optionMapToObject:()=>optionMapToObject,optionsAffectingProgramStructure:()=>optionsAffectingProgramStructure,optionsForBuild:()=>optionsForBuild,optionsForWatch:()=>optionsForWatch,optionsHaveChanges:()=>J_,optionsHaveModuleResolutionChanges:()=>p3,or:()=>W1,orderedRemoveItem:()=>J,orderedRemoveItemAt:()=>vT,outFile:()=>B0,packageIdToPackageName:()=>f3,packageIdToString:()=>xD,padLeft:()=>D5,padRight:()=>k5,paramHelper:()=>paramHelper,parameterIsThisKeyword:()=>kl,parameterNamePart:()=>parameterNamePart,parseBaseNodeFactory:()=>Nw,parseBigInt:()=>oL,parseBuildCommand:()=>parseBuildCommand,parseCommandLine:()=>parseCommandLine,parseCommandLineWorker:()=>parseCommandLineWorker,parseConfigFileTextToJson:()=>parseConfigFileTextToJson,parseConfigFileWithSystem:()=>parseConfigFileWithSystem,parseConfigHostFromCompilerHostLike:()=>parseConfigHostFromCompilerHostLike,parseCustomTypeOption:()=>parseCustomTypeOption,parseIsolatedEntityName:()=>$J,parseIsolatedJSDocComment:()=>XJ,parseJSDocTypeExpressionForTests:()=>YJ,parseJsonConfigFileContent:()=>parseJsonConfigFileContent,parseJsonSourceFileConfigFileContent:()=>parseJsonSourceFileConfigFileContent,parseJsonText:()=>KJ,parseListTypeOption:()=>parseListTypeOption,parseNodeFactory:()=>Qw,parseNodeModuleFromPath:()=>parseNodeModuleFromPath,parsePackageName:()=>parsePackageName,parsePseudoBigInt:()=>Hf,parseValidBigInt:()=>Ux,patchWriteFileEnsuringDirectory:()=>patchWriteFileEnsuringDirectory,pathContainsNodeModules:()=>pathContainsNodeModules,pathIsAbsolute:()=>sy,pathIsBareSpecifier:()=>G5,pathIsRelative:()=>So,patternText:()=>T5,perfLogger:()=>zp,performIncrementalCompilation:()=>performIncrementalCompilation,performance:()=>ts_performance_exports,plainJSErrors:()=>plainJSErrors,positionBelongsToNode:()=>positionBelongsToNode,positionIsASICandidate:()=>positionIsASICandidate,positionIsSynthesized:()=>hs,positionsAreOnSameLine:()=>$_,preProcessFile:()=>preProcessFile,probablyUsesSemicolons:()=>probablyUsesSemicolons,processCommentPragmas:()=>ZE,processPragmasIntoFields:()=>e7,processTaggedTemplateExpression:()=>processTaggedTemplateExpression,programContainsEsModules:()=>programContainsEsModules,programContainsModules:()=>programContainsModules,projectReferenceIsEqualTo:()=>bD,propKeyHelper:()=>propKeyHelper,propertyNamePart:()=>propertyNamePart,pseudoBigIntToString:()=>yv,punctuationPart:()=>punctuationPart,pushIfUnique:()=>qn,quote:()=>quote,quotePreferenceFromString:()=>quotePreferenceFromString,rangeContainsPosition:()=>rangeContainsPosition,rangeContainsPositionExclusive:()=>rangeContainsPositionExclusive,rangeContainsRange:()=>rangeContainsRange,rangeContainsRangeExclusive:()=>rangeContainsRangeExclusive,rangeContainsStartEnd:()=>rangeContainsStartEnd,rangeEndIsOnSameLineAsRangeStart:()=>EO,rangeEndPositionsAreOnSameLine:()=>xO,rangeEquals:()=>Kc,rangeIsOnSingleLine:()=>TO,rangeOfNode:()=>iL,rangeOfTypeParameters:()=>aL,rangeOverlapsWithStartEnd:()=>rangeOverlapsWithStartEnd,rangeStartIsOnSameLineAsRangeEnd:()=>cx,rangeStartPositionsAreOnSameLine:()=>SO,readBuilderProgram:()=>readBuilderProgram,readConfigFile:()=>readConfigFile,readHelper:()=>readHelper,readJson:()=>hO,readJsonConfigFile:()=>readJsonConfigFile,readJsonOrUndefined:()=>ax,realizeDiagnostics:()=>realizeDiagnostics,reduceEachLeadingCommentRange:()=>zT,reduceEachTrailingCommentRange:()=>WT,reduceLeft:()=>Qa,reduceLeftIterator:()=>K,reducePathComponents:()=>is,refactor:()=>ts_refactor_exports,regExpEscape:()=>JM,relativeComplement:()=>h_,removeAllComments:()=>removeAllComments,removeEmitHelper:()=>removeEmitHelper,removeExtension:()=>Fx,removeFileExtension:()=>Ll,removeIgnoredPath:()=>removeIgnoredPath,removeMinAndVersionNumbers:()=>q1,removeOptionality:()=>removeOptionality,removePrefix:()=>x5,removeSuffix:()=>F1,removeTrailingDirectorySeparator:()=>P_,repeatString:()=>repeatString,replaceElement:()=>ei,resolutionExtensionIsTSOrJson:()=>YM,resolveConfigFileProjectName:()=>resolveConfigFileProjectName,resolveJSModule:()=>resolveJSModule,resolveModuleName:()=>resolveModuleName,resolveModuleNameFromCache:()=>resolveModuleNameFromCache,resolvePackageNameToPackageJson:()=>resolvePackageNameToPackageJson,resolvePath:()=>oy,resolveProjectReferencePath:()=>resolveProjectReferencePath,resolveTripleslashReference:()=>resolveTripleslashReference,resolveTypeReferenceDirective:()=>resolveTypeReferenceDirective,resolvingEmptyArray:()=>fC,restHelper:()=>restHelper,returnFalse:()=>w_,returnNoopFileWatcher:()=>returnNoopFileWatcher,returnTrue:()=>vp,returnUndefined:()=>C1,returnsPromise:()=>returnsPromise,runInitializersHelper:()=>runInitializersHelper,sameFlatMap:()=>at,sameMap:()=>tt,sameMapping:()=>sameMapping,scanShebangTrivia:()=>yy,scanTokenAtPosition:()=>yk,scanner:()=>Vw,screenStartingMessageCodes:()=>screenStartingMessageCodes,semanticDiagnosticsOptionDeclarations:()=>semanticDiagnosticsOptionDeclarations,serializeCompilerOptions:()=>serializeCompilerOptions,server:()=>ts_server_exports,servicesVersion:()=>Hw,setCommentRange:()=>setCommentRange,setConfigFileInOptions:()=>setConfigFileInOptions,setConstantValue:()=>setConstantValue,setEachParent:()=>Q_,setEmitFlags:()=>setEmitFlags,setFunctionNameHelper:()=>setFunctionNameHelper,setGetSourceFileAsHashVersioned:()=>setGetSourceFileAsHashVersioned,setIdentifierAutoGenerate:()=>setIdentifierAutoGenerate,setIdentifierGeneratedImportReference:()=>setIdentifierGeneratedImportReference,setIdentifierTypeArguments:()=>setIdentifierTypeArguments,setInternalEmitFlags:()=>setInternalEmitFlags,setLocalizedDiagnosticMessages:()=>yx,setModuleDefaultHelper:()=>setModuleDefaultHelper,setNodeFlags:()=>dL,setObjectAllocator:()=>gx,setOriginalNode:()=>Dn,setParent:()=>Sa,setParentRecursive:()=>Vx,setPrivateIdentifier:()=>setPrivateIdentifier,setResolvedModule:()=>gD,setResolvedTypeReferenceDirective:()=>yD,setSnippetElement:()=>setSnippetElement,setSourceMapRange:()=>setSourceMapRange,setStackTraceLimit:()=>setStackTraceLimit,setStartsOnNewLine:()=>setStartsOnNewLine,setSyntheticLeadingComments:()=>setSyntheticLeadingComments,setSyntheticTrailingComments:()=>setSyntheticTrailingComments,setSys:()=>setSys,setSysLog:()=>setSysLog,setTextRange:()=>Rt,setTextRangeEnd:()=>Wx,setTextRangePos:()=>Gf,setTextRangePosEnd:()=>Us,setTextRangePosWidth:()=>$f,setTokenSourceMapRange:()=>setTokenSourceMapRange,setTypeNode:()=>setTypeNode,setUILocale:()=>xp,setValueDeclaration:()=>PI,shouldAllowImportingTsExtension:()=>shouldAllowImportingTsExtension,shouldPreserveConstEnums:()=>EM,shouldUseUriStyleNodeCoreModules:()=>shouldUseUriStyleNodeCoreModules,showModuleSpecifier:()=>HO,signatureHasLiteralTypes:()=>signatureHasLiteralTypes,signatureHasRestParameter:()=>signatureHasRestParameter,signatureToDisplayParts:()=>signatureToDisplayParts,single:()=>Yc,singleElementArray:()=>Cp,singleIterator:()=>Ka,singleOrMany:()=>mo,singleOrUndefined:()=>Xa,skipAlias:()=>RO,skipAssertions:()=>Hj,skipConstraint:()=>skipConstraint,skipOuterExpressions:()=>$o,skipParentheses:()=>Pl,skipPartiallyEmittedExpressions:()=>lf,skipTrivia:()=>Ar,skipTypeChecking:()=>sL,skipTypeParentheses:()=>GI,skipWhile:()=>N5,sliceAfter:()=>rL,some:()=>Ke,sort:()=>Is,sortAndDeduplicate:()=>uo,sortAndDeduplicateDiagnostics:()=>yA,sourceFileAffectingCompilerOptions:()=>sourceFileAffectingCompilerOptions,sourceFileMayBeEmitted:()=>q0,sourceMapCommentRegExp:()=>sourceMapCommentRegExp,sourceMapCommentRegExpDontCareLineStart:()=>sourceMapCommentRegExpDontCareLineStart,spacePart:()=>spacePart,spanMap:()=>co,spreadArrayHelper:()=>spreadArrayHelper,stableSort:()=>Ns,startEndContainsRange:()=>startEndContainsRange,startEndOverlapsWithStartEnd:()=>startEndOverlapsWithStartEnd,startOnNewLine:()=>vd,startTracing:()=>startTracing,startsWith:()=>Pn,startsWithDirectory:()=>rA,startsWithUnderscore:()=>startsWithUnderscore,startsWithUseStrict:()=>SE,stringContains:()=>Fi,stringContainsAt:()=>stringContainsAt,stringToToken:()=>_l,stripQuotes:()=>CN,supportedDeclarationExtensions:()=>iw,supportedJSExtensions:()=>ew,supportedJSExtensionsFlat:()=>tw,supportedLocaleDirectories:()=>cC,supportedTSExtensions:()=>zC,supportedTSExtensionsFlat:()=>XC,supportedTSImplementationExtensions:()=>sw,suppressLeadingAndTrailingTrivia:()=>suppressLeadingAndTrailingTrivia,suppressLeadingTrivia:()=>suppressLeadingTrivia,suppressTrailingTrivia:()=>suppressTrailingTrivia,symbolEscapedNameNoDefault:()=>symbolEscapedNameNoDefault,symbolName:()=>rf,symbolNameNoDefault:()=>symbolNameNoDefault,symbolPart:()=>symbolPart,symbolToDisplayParts:()=>symbolToDisplayParts,syntaxMayBeASICandidate:()=>syntaxMayBeASICandidate,syntaxRequiresTrailingSemicolonOrASI:()=>syntaxRequiresTrailingSemicolonOrASI,sys:()=>Hy,sysLog:()=>sysLog,tagNamesAreEquivalent:()=>Hi,takeWhile:()=>I5,targetOptionDeclaration:()=>targetOptionDeclaration,templateObjectHelper:()=>templateObjectHelper,testFormatSettings:()=>testFormatSettings,textChangeRangeIsUnchanged:()=>cS,textChangeRangeNewSpan:()=>R_,textChanges:()=>ts_textChanges_exports,textOrKeywordPart:()=>textOrKeywordPart,textPart:()=>textPart,textRangeContainsPositionInclusive:()=>bA,textSpanContainsPosition:()=>vA,textSpanContainsTextSpan:()=>TA,textSpanEnd:()=>Ir,textSpanIntersection:()=>_S,textSpanIntersectsWith:()=>EA,textSpanIntersectsWithPosition:()=>wA,textSpanIntersectsWithTextSpan:()=>xA,textSpanIsEmpty:()=>sS,textSpanOverlap:()=>oS,textSpanOverlapsWith:()=>SA,textSpansEqual:()=>textSpansEqual,textToKeywordObj:()=>xv,timestamp:()=>Wp,toArray:()=>en,toBuilderFileEmit:()=>toBuilderFileEmit,toBuilderStateFileInfoForMultiEmit:()=>toBuilderStateFileInfoForMultiEmit,toEditorSettings:()=>lu,toFileNameLowerCase:()=>Tp,toLowerCase:()=>bp,toPath:()=>Ui,toProgramEmitPending:()=>toProgramEmitPending,tokenIsIdentifierOrKeyword:()=>fr,tokenIsIdentifierOrKeywordOrGreaterThan:()=>qT,tokenToString:()=>Br,trace:()=>trace,tracing:()=>xd,tracingEnabled:()=>tracingEnabled,transform:()=>transform,transformClassFields:()=>transformClassFields,transformDeclarations:()=>transformDeclarations,transformECMAScriptModule:()=>transformECMAScriptModule,transformES2015:()=>transformES2015,transformES2016:()=>transformES2016,transformES2017:()=>transformES2017,transformES2018:()=>transformES2018,transformES2019:()=>transformES2019,transformES2020:()=>transformES2020,transformES2021:()=>transformES2021,transformES5:()=>transformES5,transformESDecorators:()=>transformESDecorators,transformESNext:()=>transformESNext,transformGenerators:()=>transformGenerators,transformJsx:()=>transformJsx,transformLegacyDecorators:()=>transformLegacyDecorators,transformModule:()=>transformModule,transformNodeModule:()=>transformNodeModule,transformNodes:()=>transformNodes,transformSystemModule:()=>transformSystemModule,transformTypeScript:()=>transformTypeScript,transpile:()=>transpile,transpileModule:()=>transpileModule,transpileOptionValueCompilerOptions:()=>transpileOptionValueCompilerOptions,trimString:()=>Dp,trimStringEnd:()=>kp,trimStringStart:()=>Qp,tryAddToSet:()=>ua,tryAndIgnoreErrors:()=>tryAndIgnoreErrors,tryCast:()=>ln,tryDirectoryExists:()=>tryDirectoryExists,tryExtractTSExtension:()=>uO,tryFileExists:()=>tryFileExists,tryGetClassExtendingExpressionWithTypeArguments:()=>ex,tryGetClassImplementingOrExtendingExpressionWithTypeArguments:()=>tx,tryGetDirectories:()=>tryGetDirectories,tryGetExtensionFromPath:()=>hv,tryGetImportFromModuleSpecifier:()=>Y3,tryGetJSDocSatisfiesTypeNode:()=>e8,tryGetModuleNameFromFile:()=>CE,tryGetModuleSpecifierFromDeclaration:()=>kI,tryGetNativePerformanceHooks:()=>J5,tryGetPropertyAccessOrIdentifierToString:()=>tv,tryGetPropertyNameOfBindingOrAssignmentElement:()=>PE,tryGetSourceMappingURL:()=>tryGetSourceMappingURL,tryGetTextOfPropertyName:()=>e0,tryIOAndConsumeErrors:()=>tryIOAndConsumeErrors,tryParsePattern:()=>Bx,tryParsePatterns:()=>XM,tryParseRawSourceMap:()=>tryParseRawSourceMap,tryReadDirectory:()=>tryReadDirectory,tryReadFile:()=>tryReadFile,tryRemoveDirectoryPrefix:()=>jM,tryRemoveExtension:()=>Jx,tryRemovePrefix:()=>ST,tryRemoveSuffix:()=>B1,typeAcquisitionDeclarations:()=>typeAcquisitionDeclarations,typeAliasNamePart:()=>typeAliasNamePart,typeDirectiveIsEqualTo:()=>ED,typeKeywords:()=>typeKeywords,typeParameterNamePart:()=>typeParameterNamePart,typeReferenceResolutionNameAndModeGetter:()=>typeReferenceResolutionNameAndModeGetter,typeToDisplayParts:()=>typeToDisplayParts,unchangedPollThresholds:()=>unchangedPollThresholds,unchangedTextChangeRange:()=>uC,unescapeLeadingUnderscores:()=>dl,unmangleScopedPackageName:()=>unmangleScopedPackageName,unorderedRemoveItem:()=>bT,unorderedRemoveItemAt:()=>U1,unreachableCodeIsError:()=>yM,unusedLabelIsError:()=>vM,unwrapInnermostStatementOfLabel:()=>Rk,updateErrorForNoInputFiles:()=>updateErrorForNoInputFiles,updateLanguageServiceSourceFile:()=>T7,updateMissingFilePathsWatch:()=>updateMissingFilePathsWatch,updatePackageJsonWatch:()=>updatePackageJsonWatch,updateResolutionField:()=>updateResolutionField,updateSharedExtendedConfigFileWatcher:()=>updateSharedExtendedConfigFileWatcher,updateSourceFile:()=>k2,updateWatchingWildcardDirectories:()=>updateWatchingWildcardDirectories,usesExtensionsOnImports:()=>Rx,usingSingleLineStringWriter:()=>mD,utf16EncodeAsString:()=>by,validateLocaleAndSetLanguage:()=>DA,valuesHelper:()=>valuesHelper,version:()=>Ci,versionMajorMinor:()=>ni,visitArray:()=>visitArray,visitCommaListElements:()=>visitCommaListElements,visitEachChild:()=>visitEachChild,visitFunctionBody:()=>visitFunctionBody,visitIterationBody:()=>visitIterationBody,visitLexicalEnvironment:()=>visitLexicalEnvironment,visitNode:()=>visitNode,visitNodes:()=>visitNodes2,visitParameterList:()=>visitParameterList,walkUpBindingElementsAndPatterns:()=>fS,walkUpLexicalEnvironments:()=>walkUpLexicalEnvironments,walkUpOuterExpressions:()=>Vj,walkUpParenthesizedExpressions:()=>D0,walkUpParenthesizedTypes:()=>VI,walkUpParenthesizedTypesAndGetParentAndChild:()=>HI,whitespaceOrMapCommentRegExp:()=>whitespaceOrMapCommentRegExp,writeCommentRange:()=>$N,writeFile:()=>jN,writeFileEnsuringDirectories:()=>JN,zipToModeAwareCache:()=>zipToModeAwareCache,zipWith:()=>ce});var iT=D({"src/typescript/_namespaces/ts.ts"(){"use strict";Gw(),l7(),rT(),FB()}}),sT=P({"src/typescript/typescript.ts"(Me,Bn){iT(),iT(),typeof console<"u"&&(qp.loggingHost={log(Me,Bn){switch(Me){case 1:return console.error(Bn);case 2:return console.warn(Bn);case 3:return console.log(Bn);case 4:return console.log(Bn)}}}),Bn.exports=nT}});Bn.exports=sT()}}),Xf=Oe({"src/language-js/parse/postprocess/typescript.js"(Me,Bn){"use strict";Ps();var Hn=Dp(),zn=zp(),ni=Qf(),Ci={AbstractKeyword:126,SourceFile:308,PropertyDeclaration:169};function y(Me){for(;Me&&Me.kind!==Ci.SourceFile;)Me=Me.parent;return Me}function m(Me,Bn){let Hn=y(Me),[zn,Ci]=[Me.getStart(),Me.end].map((Me=>{let{line:Bn,character:zn}=Hn.getLineAndCharacterOfPosition(Me);return{line:Bn+1,column:zn}}));ni({loc:{start:zn,end:Ci}},Bn)}function C(Me){let Bn=Kf();return[!0,!1].some((Hn=>Bn.nodeCanBeDecorated(Hn,Me,Me.parent,Me.parent.parent)))}function d(Me){let{modifiers:Bn}=Me;if(!Hn(Bn))return;let zn=Kf(),{SyntaxKind:ni}=zn;for(let Hn of Bn)zn.isDecorator(Hn)&&!C(Me)&&(Me.kind===ni.MethodDeclaration&&!zn.nodeIsPresent(Me.body)&&m(Hn,"A decorator can only decorate a method implementation, not an overload."),m(Hn,"Decorators are not valid here."))}function E(Me,Bn){Me.kind!==Ci.PropertyDeclaration||Me.modifiers&&!Me.modifiers.some((Me=>Me.kind===Ci.AbstractKeyword))||Me.initializer&&Bn.value===null&&ni(Bn,"Abstract property cannot have an initializer")}function I(Me,Bn){if(!/@|abstract/.test(Bn.originalText))return;let{esTreeNodeToTSNodeMap:Hn,tsNodeToESTreeNodeMap:ni}=Me;zn(Me.ast,(Me=>{let Bn=Hn.get(Me);if(!Bn)return;let zn=ni.get(Bn);zn===Me&&(d(Bn),E(Bn,zn))}))}Bn.exports={throwErrorForInvalidNodes:I}}}),Ad=Oe({"scripts/build/shims/debug.cjs"(Me,Bn){"use strict";Ps(),Bn.exports=()=>()=>{}}}),Cd=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/internal/constants.js"(Me,Bn){Ps();var Hn="2.0.0",zn=256,ni=Number.MAX_SAFE_INTEGER||9007199254740991,Ci=16;Bn.exports={SEMVER_SPEC_VERSION:Hn,MAX_LENGTH:zn,MAX_SAFE_INTEGER:ni,MAX_SAFE_COMPONENT_LENGTH:Ci}}}),wd=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/internal/debug.js"(Me,Bn){Ps();var Hn=typeof ts=="object"&&ts.env&&ts.env.NODE_DEBUG&&/\bsemver\b/i.test(ts.env.NODE_DEBUG)?function(){for(var Me=arguments.length,Bn=new Array(Me),Hn=0;Hn{};Bn.exports=Hn}}),Sd=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/internal/re.js"(Me,Bn){Ps();var{MAX_SAFE_COMPONENT_LENGTH:Hn}=Cd(),zn=wd();Me=Bn.exports={};var ni=Me.re=[],Ci=Me.src=[],ts=Me.t={},aa=0,C=(Me,Bn,Hn)=>{let Ps=aa++;zn(Me,Ps,Bn),ts[Me]=Ps,Ci[Ps]=Bn,ni[Ps]=new RegExp(Bn,Hn?"g":void 0)};C("NUMERICIDENTIFIER","0|[1-9]\\d*"),C("NUMERICIDENTIFIERLOOSE","[0-9]+"),C("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),C("MAINVERSION",`(${Ci[ts.NUMERICIDENTIFIER]})\\.(${Ci[ts.NUMERICIDENTIFIER]})\\.(${Ci[ts.NUMERICIDENTIFIER]})`),C("MAINVERSIONLOOSE",`(${Ci[ts.NUMERICIDENTIFIERLOOSE]})\\.(${Ci[ts.NUMERICIDENTIFIERLOOSE]})\\.(${Ci[ts.NUMERICIDENTIFIERLOOSE]})`),C("PRERELEASEIDENTIFIER",`(?:${Ci[ts.NUMERICIDENTIFIER]}|${Ci[ts.NONNUMERICIDENTIFIER]})`),C("PRERELEASEIDENTIFIERLOOSE",`(?:${Ci[ts.NUMERICIDENTIFIERLOOSE]}|${Ci[ts.NONNUMERICIDENTIFIER]})`),C("PRERELEASE",`(?:-(${Ci[ts.PRERELEASEIDENTIFIER]}(?:\\.${Ci[ts.PRERELEASEIDENTIFIER]})*))`),C("PRERELEASELOOSE",`(?:-?(${Ci[ts.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${Ci[ts.PRERELEASEIDENTIFIERLOOSE]})*))`),C("BUILDIDENTIFIER","[0-9A-Za-z-]+"),C("BUILD",`(?:\\+(${Ci[ts.BUILDIDENTIFIER]}(?:\\.${Ci[ts.BUILDIDENTIFIER]})*))`),C("FULLPLAIN",`v?${Ci[ts.MAINVERSION]}${Ci[ts.PRERELEASE]}?${Ci[ts.BUILD]}?`),C("FULL",`^${Ci[ts.FULLPLAIN]}$`),C("LOOSEPLAIN",`[v=\\s]*${Ci[ts.MAINVERSIONLOOSE]}${Ci[ts.PRERELEASELOOSE]}?${Ci[ts.BUILD]}?`),C("LOOSE",`^${Ci[ts.LOOSEPLAIN]}$`),C("GTLT","((?:<|>)?=?)"),C("XRANGEIDENTIFIERLOOSE",`${Ci[ts.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),C("XRANGEIDENTIFIER",`${Ci[ts.NUMERICIDENTIFIER]}|x|X|\\*`),C("XRANGEPLAIN",`[v=\\s]*(${Ci[ts.XRANGEIDENTIFIER]})(?:\\.(${Ci[ts.XRANGEIDENTIFIER]})(?:\\.(${Ci[ts.XRANGEIDENTIFIER]})(?:${Ci[ts.PRERELEASE]})?${Ci[ts.BUILD]}?)?)?`),C("XRANGEPLAINLOOSE",`[v=\\s]*(${Ci[ts.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Ci[ts.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Ci[ts.XRANGEIDENTIFIERLOOSE]})(?:${Ci[ts.PRERELEASELOOSE]})?${Ci[ts.BUILD]}?)?)?`),C("XRANGE",`^${Ci[ts.GTLT]}\\s*${Ci[ts.XRANGEPLAIN]}$`),C("XRANGELOOSE",`^${Ci[ts.GTLT]}\\s*${Ci[ts.XRANGEPLAINLOOSE]}$`),C("COERCE",`(^|[^\\d])(\\d{1,${Hn}})(?:\\.(\\d{1,${Hn}}))?(?:\\.(\\d{1,${Hn}}))?(?:$|[^\\d])`),C("COERCERTL",Ci[ts.COERCE],!0),C("LONETILDE","(?:~>?)"),C("TILDETRIM",`(\\s*)${Ci[ts.LONETILDE]}\\s+`,!0),Me.tildeTrimReplace="$1~",C("TILDE",`^${Ci[ts.LONETILDE]}${Ci[ts.XRANGEPLAIN]}$`),C("TILDELOOSE",`^${Ci[ts.LONETILDE]}${Ci[ts.XRANGEPLAINLOOSE]}$`),C("LONECARET","(?:\\^)"),C("CARETTRIM",`(\\s*)${Ci[ts.LONECARET]}\\s+`,!0),Me.caretTrimReplace="$1^",C("CARET",`^${Ci[ts.LONECARET]}${Ci[ts.XRANGEPLAIN]}$`),C("CARETLOOSE",`^${Ci[ts.LONECARET]}${Ci[ts.XRANGEPLAINLOOSE]}$`),C("COMPARATORLOOSE",`^${Ci[ts.GTLT]}\\s*(${Ci[ts.LOOSEPLAIN]})$|^$`),C("COMPARATOR",`^${Ci[ts.GTLT]}\\s*(${Ci[ts.FULLPLAIN]})$|^$`),C("COMPARATORTRIM",`(\\s*)${Ci[ts.GTLT]}\\s*(${Ci[ts.LOOSEPLAIN]}|${Ci[ts.XRANGEPLAIN]})`,!0),Me.comparatorTrimReplace="$1$2$3",C("HYPHENRANGE",`^\\s*(${Ci[ts.XRANGEPLAIN]})\\s+-\\s+(${Ci[ts.XRANGEPLAIN]})\\s*$`),C("HYPHENRANGELOOSE",`^\\s*(${Ci[ts.XRANGEPLAINLOOSE]})\\s+-\\s+(${Ci[ts.XRANGEPLAINLOOSE]})\\s*$`),C("STAR","(<|>)?=?\\s*\\*"),C("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),C("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}}),xd=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/internal/parse-options.js"(Me,Bn){Ps();var Hn=["includePrerelease","loose","rtl"],h=Me=>Me?typeof Me!="object"?{loose:!0}:Hn.filter((Bn=>Me[Bn])).reduce(((Me,Bn)=>(Me[Bn]=!0,Me)),{}):{};Bn.exports=h}}),Td=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/internal/identifiers.js"(Me,Bn){Ps();var Hn=/^[0-9]+$/,h=(Me,Bn)=>{let zn=Hn.test(Me),ni=Hn.test(Bn);return zn&&ni&&(Me=+Me,Bn=+Bn),Me===Bn?0:zn&&!ni?-1:ni&&!zn?1:Meh(Bn,Me);Bn.exports={compareIdentifiers:h,rcompareIdentifiers:D}}}),Pd=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/classes/semver.js"(Me,Bn){Ps();var Hn=wd(),{MAX_LENGTH:zn,MAX_SAFE_INTEGER:ni}=Cd(),{re:Ci,t:ts}=Sd(),aa=xd(),{compareIdentifiers:oa}=Td(),ca=class{constructor(Me,Bn){if(Bn=aa(Bn),Me instanceof ca){if(Me.loose===!!Bn.loose&&Me.includePrerelease===!!Bn.includePrerelease)return Me;Me=Me.version}else if(typeof Me!="string")throw new TypeError(`Invalid Version: ${Me}`);if(Me.length>zn)throw new TypeError(`version is longer than ${zn} characters`);Hn("SemVer",Me,Bn),this.options=Bn,this.loose=!!Bn.loose,this.includePrerelease=!!Bn.includePrerelease;let Ps=Me.trim().match(Bn.loose?Ci[ts.LOOSE]:Ci[ts.FULL]);if(!Ps)throw new TypeError(`Invalid Version: ${Me}`);if(this.raw=Me,this.major=+Ps[1],this.minor=+Ps[2],this.patch=+Ps[3],this.major>ni||this.major<0)throw new TypeError("Invalid major version");if(this.minor>ni||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>ni||this.patch<0)throw new TypeError("Invalid patch version");Ps[4]?this.prerelease=Ps[4].split(".").map((Me=>{if(/^[0-9]+$/.test(Me)){let Bn=+Me;if(Bn>=0&&Bn=0;)typeof this.prerelease[Me]=="number"&&(this.prerelease[Me]++,Me=-2);Me===-1&&this.prerelease.push(0)}Bn&&(oa(this.prerelease[0],Bn)===0?isNaN(this.prerelease[1])&&(this.prerelease=[Bn,0]):this.prerelease=[Bn,0]);break;default:throw new Error(`invalid increment argument: ${Me}`)}return this.format(),this.raw=this.version,this}};Bn.exports=ca}}),Qh=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/parse.js"(Me,Bn){Ps();var{MAX_LENGTH:Hn}=Cd(),{re:zn,t:ni}=Sd(),Ci=Pd(),ts=xd(),m=(Me,Bn)=>{if(Bn=ts(Bn),Me instanceof Ci)return Me;if(typeof Me!="string"||Me.length>Hn||!(Bn.loose?zn[ni.LOOSE]:zn[ni.FULL]).test(Me))return null;try{return new Ci(Me,Bn)}catch{return null}};Bn.exports=m}}),Zh=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/valid.js"(Me,Bn){Ps();var Hn=Qh(),h=(Me,Bn)=>{let zn=Hn(Me,Bn);return zn?zn.version:null};Bn.exports=h}}),sA=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/clean.js"(Me,Bn){Ps();var Hn=Qh(),h=(Me,Bn)=>{let zn=Hn(Me.trim().replace(/^[=v]+/,""),Bn);return zn?zn.version:null};Bn.exports=h}}),oA=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/inc.js"(Me,Bn){Ps();var Hn=Pd(),h=(Me,Bn,zn,ni)=>{typeof zn=="string"&&(ni=zn,zn=void 0);try{return new Hn(Me instanceof Hn?Me.version:Me,zn).inc(Bn,ni).version}catch{return null}};Bn.exports=h}}),hA=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/compare.js"(Me,Bn){Ps();var Hn=Pd(),h=(Me,Bn,zn)=>new Hn(Me,zn).compare(new Hn(Bn,zn));Bn.exports=h}}),eg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/eq.js"(Me,Bn){Ps();var Hn=hA(),h=(Me,Bn,zn)=>Hn(Me,Bn,zn)===0;Bn.exports=h}}),tg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/diff.js"(Me,Bn){Ps();var Hn=Qh(),zn=eg(),D=(Me,Bn)=>{if(zn(Me,Bn))return null;{let zn=Hn(Me),ni=Hn(Bn),Ci=zn.prerelease.length||ni.prerelease.length,ts=Ci?"pre":"",Ps=Ci?"prerelease":"";for(let Me in zn)if((Me==="major"||Me==="minor"||Me==="patch")&&zn[Me]!==ni[Me])return ts+Me;return Ps}};Bn.exports=D}}),rg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/major.js"(Me,Bn){Ps();var Hn=Pd(),h=(Me,Bn)=>new Hn(Me,Bn).major;Bn.exports=h}}),ng=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/minor.js"(Me,Bn){Ps();var Hn=Pd(),h=(Me,Bn)=>new Hn(Me,Bn).minor;Bn.exports=h}}),ig=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/patch.js"(Me,Bn){Ps();var Hn=Pd(),h=(Me,Bn)=>new Hn(Me,Bn).patch;Bn.exports=h}}),sg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/prerelease.js"(Me,Bn){Ps();var Hn=Qh(),h=(Me,Bn)=>{let zn=Hn(Me,Bn);return zn&&zn.prerelease.length?zn.prerelease:null};Bn.exports=h}}),ag=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/rcompare.js"(Me,Bn){Ps();var Hn=hA(),h=(Me,Bn,zn)=>Hn(Bn,Me,zn);Bn.exports=h}}),og=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/compare-loose.js"(Me,Bn){Ps();var Hn=hA(),h=(Me,Bn)=>Hn(Me,Bn,!0);Bn.exports=h}}),ug=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/compare-build.js"(Me,Bn){Ps();var Hn=Pd(),h=(Me,Bn,zn)=>{let ni=new Hn(Me,zn),Ci=new Hn(Bn,zn);return ni.compare(Ci)||ni.compareBuild(Ci)};Bn.exports=h}}),cg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/sort.js"(Me,Bn){Ps();var Hn=ug(),h=(Me,Bn)=>Me.sort(((Me,zn)=>Hn(Me,zn,Bn)));Bn.exports=h}}),lg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/rsort.js"(Me,Bn){Ps();var Hn=ug(),h=(Me,Bn)=>Me.sort(((Me,zn)=>Hn(zn,Me,Bn)));Bn.exports=h}}),pg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/gt.js"(Me,Bn){Ps();var Hn=hA(),h=(Me,Bn,zn)=>Hn(Me,Bn,zn)>0;Bn.exports=h}}),fg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/lt.js"(Me,Bn){Ps();var Hn=hA(),h=(Me,Bn,zn)=>Hn(Me,Bn,zn)<0;Bn.exports=h}}),dg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/neq.js"(Me,Bn){Ps();var Hn=hA(),h=(Me,Bn,zn)=>Hn(Me,Bn,zn)!==0;Bn.exports=h}}),hg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/gte.js"(Me,Bn){Ps();var Hn=hA(),h=(Me,Bn,zn)=>Hn(Me,Bn,zn)>=0;Bn.exports=h}}),Ag=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/lte.js"(Me,Bn){Ps();var Hn=hA(),h=(Me,Bn,zn)=>Hn(Me,Bn,zn)<=0;Bn.exports=h}}),mg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/cmp.js"(Me,Bn){Ps();var Hn=eg(),zn=dg(),ni=pg(),Ci=hg(),ts=fg(),aa=Ag(),C=(Me,Bn,Ps,oa)=>{switch(Bn){case"===":return typeof Me=="object"&&(Me=Me.version),typeof Ps=="object"&&(Ps=Ps.version),Me===Ps;case"!==":return typeof Me=="object"&&(Me=Me.version),typeof Ps=="object"&&(Ps=Ps.version),Me!==Ps;case"":case"=":case"==":return Hn(Me,Ps,oa);case"!=":return zn(Me,Ps,oa);case">":return ni(Me,Ps,oa);case">=":return Ci(Me,Ps,oa);case"<":return ts(Me,Ps,oa);case"<=":return aa(Me,Ps,oa);default:throw new TypeError(`Invalid operator: ${Bn}`)}};Bn.exports=C}}),gg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/coerce.js"(Me,Bn){Ps();var Hn=Pd(),zn=Qh(),{re:ni,t:Ci}=Sd(),y=(Me,Bn)=>{if(Me instanceof Hn)return Me;if(typeof Me=="number"&&(Me=String(Me)),typeof Me!="string")return null;Bn=Bn||{};let ts=null;if(!Bn.rtl)ts=Me.match(ni[Ci.COERCE]);else{let Bn;for(;(Bn=ni[Ci.COERCERTL].exec(Me))&&(!ts||ts.index+ts[0].length!==Me.length);)(!ts||Bn.index+Bn[0].length!==ts.index+ts[0].length)&&(ts=Bn),ni[Ci.COERCERTL].lastIndex=Bn.index+Bn[1].length+Bn[2].length;ni[Ci.COERCERTL].lastIndex=-1}return ts===null?null:zn(`${ts[2]}.${ts[3]||"0"}.${ts[4]||"0"}`,Bn)};Bn.exports=y}}),_g=Oe({"node_modules/yallist/iterator.js"(Me,Bn){"use strict";Ps(),Bn.exports=function(Me){Me.prototype[Symbol.iterator]=function*(){for(let Me=this.head;Me;Me=Me.next)yield Me.value}}}}),yg=Oe({"node_modules/yallist/yallist.js"(Me,Bn){"use strict";Ps(),Bn.exports=v,v.Node=y,v.create=v;function v(Me){var Bn=this;if(Bn instanceof v||(Bn=new v),Bn.tail=null,Bn.head=null,Bn.length=0,Me&&typeof Me.forEach=="function")Me.forEach((function(Me){Bn.push(Me)}));else if(arguments.length>0)for(var Hn=0,zn=arguments.length;Hn1)Hn=Bn;else if(this.head)zn=this.head.next,Hn=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var ni=0;zn!==null;ni++)Hn=Me(Hn,zn.value,ni),zn=zn.next;return Hn},v.prototype.reduceReverse=function(Me,Bn){var Hn,zn=this.tail;if(arguments.length>1)Hn=Bn;else if(this.tail)zn=this.tail.prev,Hn=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var ni=this.length-1;zn!==null;ni--)Hn=Me(Hn,zn.value,ni),zn=zn.prev;return Hn},v.prototype.toArray=function(){for(var Me=new Array(this.length),Bn=0,Hn=this.head;Hn!==null;Bn++)Me[Bn]=Hn.value,Hn=Hn.next;return Me},v.prototype.toArrayReverse=function(){for(var Me=new Array(this.length),Bn=0,Hn=this.tail;Hn!==null;Bn++)Me[Bn]=Hn.value,Hn=Hn.prev;return Me},v.prototype.slice=function(Me,Bn){Bn=Bn||this.length,Bn<0&&(Bn+=this.length),Me=Me||0,Me<0&&(Me+=this.length);var Hn=new v;if(Bnthis.length&&(Bn=this.length);for(var zn=0,ni=this.head;ni!==null&&znthis.length&&(Bn=this.length);for(var zn=this.length,ni=this.tail;ni!==null&&zn>Bn;zn--)ni=ni.prev;for(;ni!==null&&zn>Me;zn--,ni=ni.prev)Hn.push(ni.value);return Hn},v.prototype.splice=function(Me,Bn){Me>this.length&&(Me=this.length-1),Me<0&&(Me=this.length+Me);for(var Hn=0,zn=this.head;zn!==null&&Hn1,Ha=class{constructor(Me){if(typeof Me=="number"&&(Me={max:Me}),Me||(Me={}),Me.max&&(typeof Me.max!="number"||Me.max<0))throw new TypeError("max must be a non-negative number");let Bn=this[zn]=Me.max||1/0,Hn=Me.length||M;if(this[Ci]=typeof Hn!="function"?M:Hn,this[ts]=Me.stale||!1,Me.maxAge&&typeof Me.maxAge!="number")throw new TypeError("maxAge must be a number");this[aa]=Me.maxAge||0,this[oa]=Me.dispose,this[ca]=Me.noDisposeOnSet||!1,this[Ga]=Me.updateAgeOnGet||!1,this.reset()}set max(Me){if(typeof Me!="number"||Me<0)throw new TypeError("max must be a non-negative number");this[zn]=Me||1/0,ce(this)}get max(){return this[zn]}set allowStale(Me){this[ts]=!!Me}get allowStale(){return this[ts]}set maxAge(Me){if(typeof Me!="number")throw new TypeError("maxAge must be a non-negative number");this[aa]=Me,ce(this)}get maxAge(){return this[aa]}set lengthCalculator(Me){typeof Me!="function"&&(Me=M),Me!==this[Ci]&&(this[Ci]=Me,this[ni]=0,this[_a].forEach((Me=>{Me.length=this[Ci](Me.value,Me.key),this[ni]+=Me.length}))),ce(this)}get lengthCalculator(){return this[Ci]}get length(){return this[ni]}get itemCount(){return this[_a].length}rforEach(Me,Bn){Bn=Bn||this;for(let Hn=this[_a].tail;Hn!==null;){let zn=Hn.prev;Ae(this,Me,Hn,Bn),Hn=zn}}forEach(Me,Bn){Bn=Bn||this;for(let Hn=this[_a].head;Hn!==null;){let zn=Hn.next;Ae(this,Me,Hn,Bn),Hn=zn}}keys(){return this[_a].toArray().map((Me=>Me.key))}values(){return this[_a].toArray().map((Me=>Me.value))}reset(){this[oa]&&this[_a]&&this[_a].length&&this[_a].forEach((Me=>this[oa](Me.key,Me.value))),this[xa]=new Map,this[_a]=new Hn,this[ni]=0}dump(){return this[_a].map((Me=>K(this,Me)?!1:{k:Me.key,v:Me.value,e:Me.now+(Me.maxAge||0)})).toArray().filter((Me=>Me))}dumpLru(){return this[_a]}set(Me,Bn,Hn){if(Hn=Hn||this[aa],Hn&&typeof Hn!="number")throw new TypeError("maxAge must be a number");let ts=Hn?Date.now():0,Ps=this[Ci](Bn,Me);if(this[xa].has(Me)){if(Ps>this[zn])return Ie(this,this[xa].get(Me)),!1;let Ci=this[xa].get(Me).value;return this[oa]&&(this[ca]||this[oa](Me,Ci.value)),Ci.now=ts,Ci.maxAge=Hn,Ci.value=Bn,this[ni]+=Ps-Ci.length,Ci.length=Ps,this.get(Me),ce(this),!0}let Ga=new so(Me,Bn,Ps,ts,Hn);return Ga.length>this[zn]?(this[oa]&&this[oa](Me,Bn),!1):(this[ni]+=Ga.length,this[_a].unshift(Ga),this[xa].set(Me,this[_a].head),ce(this),!0)}has(Me){if(!this[xa].has(Me))return!1;let Bn=this[xa].get(Me).value;return!K(this,Bn)}get(Me){return W(this,Me,!0)}peek(Me){return W(this,Me,!1)}pop(){let Me=this[_a].tail;return Me?(Ie(this,Me),Me.value):null}del(Me){Ie(this,this[xa].get(Me))}load(Me){this.reset();let Bn=Date.now();for(let Hn=Me.length-1;Hn>=0;Hn--){let zn=Me[Hn],ni=zn.e||0;if(ni===0)this.set(zn.k,zn.v);else{let Me=ni-Bn;Me>0&&this.set(zn.k,zn.v,Me)}}}prune(){this[xa].forEach(((Me,Bn)=>W(this,Bn,!1)))}},W=(Me,Bn,Hn)=>{let zn=Me[xa].get(Bn);if(zn){let Bn=zn.value;if(K(Me,Bn)){if(Ie(Me,zn),!Me[ts])return}else Hn&&(Me[Ga]&&(zn.value.now=Date.now()),Me[_a].unshiftNode(zn));return Bn.value}},K=(Me,Bn)=>{if(!Bn||!Bn.maxAge&&!Me[aa])return!1;let Hn=Date.now()-Bn.now;return Bn.maxAge?Hn>Bn.maxAge:Me[aa]&&Hn>Me[aa]},ce=Me=>{if(Me[ni]>Me[zn])for(let Bn=Me[_a].tail;Me[ni]>Me[zn]&&Bn!==null;){let Hn=Bn.prev;Ie(Me,Bn),Bn=Hn}},Ie=(Me,Bn)=>{if(Bn){let Hn=Bn.value;Me[oa]&&Me[oa](Hn.key,Hn.value),Me[ni]-=Hn.length,Me[xa].delete(Hn.key),Me[_a].removeNode(Bn)}},so=class{constructor(Me,Bn,Hn,zn,ni){this.key=Me,this.value=Bn,this.length=Hn,this.now=zn,this.maxAge=ni||0}},Ae=(Me,Bn,Hn,zn)=>{let ni=Hn.value;K(Me,ni)&&(Ie(Me,Hn),Me[ts]||(ni=void 0)),ni&&Bn.call(zn,ni.value,ni.key,Me)};Bn.exports=Ha}}),bg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/classes/range.js"(Me,Bn){Ps();var Hn=class{constructor(Me,Bn){if(Bn=Ci(Bn),Me instanceof Hn)return Me.loose===!!Bn.loose&&Me.includePrerelease===!!Bn.includePrerelease?Me:new Hn(Me.raw,Bn);if(Me instanceof ts)return this.raw=Me.value,this.set=[[Me]],this.format(),this;if(this.options=Bn,this.loose=!!Bn.loose,this.includePrerelease=!!Bn.includePrerelease,this.raw=Me,this.set=Me.split("||").map((Me=>this.parseRange(Me.trim()))).filter((Me=>Me.length)),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${Me}`);if(this.set.length>1){let Me=this.set[0];if(this.set=this.set.filter((Me=>!q(Me[0]))),this.set.length===0)this.set=[Me];else if(this.set.length>1){for(let Me of this.set)if(Me.length===1&&W(Me[0])){this.set=[Me];break}}}this.format()}format(){return this.range=this.set.map((Me=>Me.join(" ").trim())).join("||").trim(),this.range}toString(){return this.range}parseRange(Me){Me=Me.trim();let Bn=`parseRange:${Object.keys(this.options).join(",")}:${Me}`,Hn=ni.get(Bn);if(Hn)return Hn;let zn=this.options.loose,Ci=zn?ca[_a.HYPHENRANGELOOSE]:ca[_a.HYPHENRANGE];Me=Me.replace(Ci,Je(this.options.includePrerelease)),aa("hyphen replace",Me),Me=Me.replace(ca[_a.COMPARATORTRIM],xa),aa("comparator trim",Me),Me=Me.replace(ca[_a.TILDETRIM],Ga),Me=Me.replace(ca[_a.CARETTRIM],Ha),Me=Me.split(/\s+/).join(" ");let Ps=Me.split(" ").map((Me=>ce(Me,this.options))).join(" ").split(/\s+/).map((Me=>ke(Me,this.options)));zn&&(Ps=Ps.filter((Me=>(aa("loose invalid filter",Me,this.options),!!Me.match(ca[_a.COMPARATORLOOSE]))))),aa("range list",Ps);let oa=new Map,so=Ps.map((Me=>new ts(Me,this.options)));for(let Me of so){if(q(Me))return[Me];oa.set(Me.value,Me)}oa.size>1&&oa.has("")&&oa.delete("");let oo=[...oa.values()];return ni.set(Bn,oo),oo}intersects(Me,Bn){if(!(Me instanceof Hn))throw new TypeError("a Range is required");return this.set.some((Hn=>K(Hn,Bn)&&Me.set.some((Me=>K(Me,Bn)&&Hn.every((Hn=>Me.every((Me=>Hn.intersects(Me,Bn)))))))))}test(Me){if(!Me)return!1;if(typeof Me=="string")try{Me=new oa(Me,this.options)}catch{return!1}for(let Bn=0;BnMe.value==="<0.0.0-0",W=Me=>Me.value==="",K=(Me,Bn)=>{let Hn=!0,zn=Me.slice(),ni=zn.pop();for(;Hn&&zn.length;)Hn=zn.every((Me=>ni.intersects(Me,Bn))),ni=zn.pop();return Hn},ce=(Me,Bn)=>(aa("comp",Me,Bn),Me=te(Me,Bn),aa("caret",Me),Me=me(Me,Bn),aa("tildes",Me),Me=Pe(Me,Bn),aa("xrange",Me),Me=pe(Me,Bn),aa("stars",Me),Me),Ie=Me=>!Me||Me.toLowerCase()==="x"||Me==="*",me=(Me,Bn)=>Me.trim().split(/\s+/).map((Me=>Ae(Me,Bn))).join(" "),Ae=(Me,Bn)=>{let Hn=Bn.loose?ca[_a.TILDELOOSE]:ca[_a.TILDE];return Me.replace(Hn,((Bn,Hn,zn,ni,Ci)=>{aa("tilde",Me,Bn,Hn,zn,ni,Ci);let ts;return Ie(Hn)?ts="":Ie(zn)?ts=`>=${Hn}.0.0 <${+Hn+1}.0.0-0`:Ie(ni)?ts=`>=${Hn}.${zn}.0 <${Hn}.${+zn+1}.0-0`:Ci?(aa("replaceTilde pr",Ci),ts=`>=${Hn}.${zn}.${ni}-${Ci} <${Hn}.${+zn+1}.0-0`):ts=`>=${Hn}.${zn}.${ni} <${Hn}.${+zn+1}.0-0`,aa("tilde return",ts),ts}))},te=(Me,Bn)=>Me.trim().split(/\s+/).map((Me=>he(Me,Bn))).join(" "),he=(Me,Bn)=>{aa("caret",Me,Bn);let Hn=Bn.loose?ca[_a.CARETLOOSE]:ca[_a.CARET],zn=Bn.includePrerelease?"-0":"";return Me.replace(Hn,((Bn,Hn,ni,Ci,ts)=>{aa("caret",Me,Bn,Hn,ni,Ci,ts);let Ps;return Ie(Hn)?Ps="":Ie(ni)?Ps=`>=${Hn}.0.0${zn} <${+Hn+1}.0.0-0`:Ie(Ci)?Hn==="0"?Ps=`>=${Hn}.${ni}.0${zn} <${Hn}.${+ni+1}.0-0`:Ps=`>=${Hn}.${ni}.0${zn} <${+Hn+1}.0.0-0`:ts?(aa("replaceCaret pr",ts),Hn==="0"?ni==="0"?Ps=`>=${Hn}.${ni}.${Ci}-${ts} <${Hn}.${ni}.${+Ci+1}-0`:Ps=`>=${Hn}.${ni}.${Ci}-${ts} <${Hn}.${+ni+1}.0-0`:Ps=`>=${Hn}.${ni}.${Ci}-${ts} <${+Hn+1}.0.0-0`):(aa("no pr"),Hn==="0"?ni==="0"?Ps=`>=${Hn}.${ni}.${Ci}${zn} <${Hn}.${ni}.${+Ci+1}-0`:Ps=`>=${Hn}.${ni}.${Ci}${zn} <${Hn}.${+ni+1}.0-0`:Ps=`>=${Hn}.${ni}.${Ci} <${+Hn+1}.0.0-0`),aa("caret return",Ps),Ps}))},Pe=(Me,Bn)=>(aa("replaceXRanges",Me,Bn),Me.split(/\s+/).map((Me=>R(Me,Bn))).join(" ")),R=(Me,Bn)=>{Me=Me.trim();let Hn=Bn.loose?ca[_a.XRANGELOOSE]:ca[_a.XRANGE];return Me.replace(Hn,((Hn,zn,ni,Ci,ts,Ps)=>{aa("xRange",Me,Hn,zn,ni,Ci,ts,Ps);let oa=Ie(ni),ca=oa||Ie(Ci),_a=ca||Ie(ts),xa=_a;return zn==="="&&xa&&(zn=""),Ps=Bn.includePrerelease?"-0":"",oa?zn===">"||zn==="<"?Hn="<0.0.0-0":Hn="*":zn&&xa?(ca&&(Ci=0),ts=0,zn===">"?(zn=">=",ca?(ni=+ni+1,Ci=0,ts=0):(Ci=+Ci+1,ts=0)):zn==="<="&&(zn="<",ca?ni=+ni+1:Ci=+Ci+1),zn==="<"&&(Ps="-0"),Hn=`${zn+ni}.${Ci}.${ts}${Ps}`):ca?Hn=`>=${ni}.0.0${Ps} <${+ni+1}.0.0-0`:_a&&(Hn=`>=${ni}.${Ci}.0${Ps} <${ni}.${+Ci+1}.0-0`),aa("xRange return",Hn),Hn}))},pe=(Me,Bn)=>(aa("replaceStars",Me,Bn),Me.trim().replace(ca[_a.STAR],"")),ke=(Me,Bn)=>(aa("replaceGTE0",Me,Bn),Me.trim().replace(ca[Bn.includePrerelease?_a.GTE0PRE:_a.GTE0],"")),Je=Me=>(Bn,Hn,zn,ni,Ci,ts,Ps,aa,oa,ca,_a,xa,Ga)=>(Ie(zn)?Hn="":Ie(ni)?Hn=`>=${zn}.0.0${Me?"-0":""}`:Ie(Ci)?Hn=`>=${zn}.${ni}.0${Me?"-0":""}`:ts?Hn=`>=${Hn}`:Hn=`>=${Hn}${Me?"-0":""}`,Ie(oa)?aa="":Ie(ca)?aa=`<${+oa+1}.0.0-0`:Ie(_a)?aa=`<${oa}.${+ca+1}.0-0`:xa?aa=`<=${oa}.${ca}.${_a}-${xa}`:Me?aa=`<${oa}.${ca}.${+_a+1}-0`:aa=`<=${aa}`,`${Hn} ${aa}`.trim()),Xe=(Me,Bn,Hn)=>{for(let Hn=0;Hn0){let zn=Me[Hn].semver;if(zn.major===Bn.major&&zn.minor===Bn.minor&&zn.patch===Bn.patch)return!0}return!1}return!0}}}),Dg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/classes/comparator.js"(Me,Bn){Ps();var Hn=Symbol("SemVer ANY"),zn=class{static get ANY(){return Hn}constructor(Me,Bn){if(Bn=ni(Bn),Me instanceof zn){if(Me.loose===!!Bn.loose)return Me;Me=Me.value}oa("comparator",Me,Bn),this.options=Bn,this.loose=!!Bn.loose,this.parse(Me),this.semver===Hn?this.value="":this.value=this.operator+this.semver.version,oa("comp",this)}parse(Me){let Bn=this.options.loose?Ci[ts.COMPARATORLOOSE]:Ci[ts.COMPARATOR],zn=Me.match(Bn);if(!zn)throw new TypeError(`Invalid comparator: ${Me}`);this.operator=zn[1]!==void 0?zn[1]:"",this.operator==="="&&(this.operator=""),zn[2]?this.semver=new ca(zn[2],this.options.loose):this.semver=Hn}toString(){return this.value}test(Me){if(oa("Comparator.test",Me,this.options.loose),this.semver===Hn||Me===Hn)return!0;if(typeof Me=="string")try{Me=new ca(Me,this.options)}catch{return!1}return aa(Me,this.operator,this.semver,this.options)}intersects(Me,Bn){if(!(Me instanceof zn))throw new TypeError("a Comparator is required");if((!Bn||typeof Bn!="object")&&(Bn={loose:!!Bn,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new _a(Me.value,Bn).test(this.value);if(Me.operator==="")return Me.value===""?!0:new _a(this.value,Bn).test(Me.semver);let Hn=(this.operator===">="||this.operator===">")&&(Me.operator===">="||Me.operator===">"),ni=(this.operator==="<="||this.operator==="<")&&(Me.operator==="<="||Me.operator==="<"),Ci=this.semver.version===Me.semver.version,ts=(this.operator===">="||this.operator==="<=")&&(Me.operator===">="||Me.operator==="<="),Ps=aa(this.semver,"<",Me.semver,Bn)&&(this.operator===">="||this.operator===">")&&(Me.operator==="<="||Me.operator==="<"),oa=aa(this.semver,">",Me.semver,Bn)&&(this.operator==="<="||this.operator==="<")&&(Me.operator===">="||Me.operator===">");return Hn||ni||Ci&&ts||Ps||oa}};Bn.exports=zn;var ni=xd(),{re:Ci,t:ts}=Sd(),aa=mg(),oa=wd(),ca=Pd(),_a=bg()}}),wg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/satisfies.js"(Me,Bn){Ps();var Hn=bg(),h=(Me,Bn,zn)=>{try{Bn=new Hn(Bn,zn)}catch{return!1}return Bn.test(Me)};Bn.exports=h}}),Sg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/to-comparators.js"(Me,Bn){Ps();var Hn=bg(),h=(Me,Bn)=>new Hn(Me,Bn).set.map((Me=>Me.map((Me=>Me.value)).join(" ").trim().split(" ")));Bn.exports=h}}),Ig=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/max-satisfying.js"(Me,Bn){Ps();var Hn=Pd(),zn=bg(),D=(Me,Bn,ni)=>{let Ci=null,ts=null,Ps=null;try{Ps=new zn(Bn,ni)}catch{return null}return Me.forEach((Me=>{Ps.test(Me)&&(!Ci||ts.compare(Me)===-1)&&(Ci=Me,ts=new Hn(Ci,ni))})),Ci};Bn.exports=D}}),xg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/min-satisfying.js"(Me,Bn){Ps();var Hn=Pd(),zn=bg(),D=(Me,Bn,ni)=>{let Ci=null,ts=null,Ps=null;try{Ps=new zn(Bn,ni)}catch{return null}return Me.forEach((Me=>{Ps.test(Me)&&(!Ci||ts.compare(Me)===1)&&(Ci=Me,ts=new Hn(Ci,ni))})),Ci};Bn.exports=D}}),kg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/min-version.js"(Me,Bn){Ps();var Hn=Pd(),zn=bg(),ni=pg(),P=(Me,Bn)=>{Me=new zn(Me,Bn);let Ci=new Hn("0.0.0");if(Me.test(Ci)||(Ci=new Hn("0.0.0-0"),Me.test(Ci)))return Ci;Ci=null;for(let Bn=0;Bn{let Bn=new Hn(Me.semver.version);switch(Me.operator){case">":Bn.prerelease.length===0?Bn.patch++:Bn.prerelease.push(0),Bn.raw=Bn.format();case"":case">=":(!ts||ni(Bn,ts))&&(ts=Bn);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${Me.operator}`)}})),ts&&(!Ci||ni(Ci,ts))&&(Ci=ts)}return Ci&&Me.test(Ci)?Ci:null};Bn.exports=P}}),Bg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/valid.js"(Me,Bn){Ps();var Hn=bg(),h=(Me,Bn)=>{try{return new Hn(Me,Bn).range||"*"}catch{return null}};Bn.exports=h}}),Tg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/outside.js"(Me,Bn){Ps();var Hn=Pd(),zn=Dg(),{ANY:ni}=zn,Ci=bg(),ts=wg(),aa=pg(),oa=fg(),ca=Ag(),_a=hg(),I=(Me,Bn,Ps,xa)=>{Me=new Hn(Me,xa),Bn=new Ci(Bn,xa);let Ga,Ha,so,oo,Jo;switch(Ps){case">":Ga=aa,Ha=ca,so=oa,oo=">",Jo=">=";break;case"<":Ga=oa,Ha=_a,so=aa,oo="<",Jo="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(ts(Me,Bn,xa))return!1;for(let Hn=0;Hn{Me.semver===ni&&(Me=new zn(">=0.0.0")),ts=ts||Me,Ps=Ps||Me,Ga(Me.semver,ts.semver,xa)?ts=Me:so(Me.semver,Ps.semver,xa)&&(Ps=Me)})),ts.operator===oo||ts.operator===Jo||(!Ps.operator||Ps.operator===oo)&&Ha(Me,Ps.semver))return!1;if(Ps.operator===Jo&&so(Me,Ps.semver))return!1}return!0};Bn.exports=I}}),Fg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/gtr.js"(Me,Bn){Ps();var Hn=Tg(),h=(Me,Bn,zn)=>Hn(Me,Bn,">",zn);Bn.exports=h}}),Ng=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/ltr.js"(Me,Bn){Ps();var Hn=Tg(),h=(Me,Bn,zn)=>Hn(Me,Bn,"<",zn);Bn.exports=h}}),Qg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/intersects.js"(Me,Bn){Ps();var Hn=bg(),h=(Me,Bn,zn)=>(Me=new Hn(Me,zn),Bn=new Hn(Bn,zn),Me.intersects(Bn));Bn.exports=h}}),Rg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/simplify.js"(Me,Bn){Ps();var Hn=wg(),zn=hA();Bn.exports=(Me,Bn,ni)=>{let Ci=[],ts=null,Ps=null,aa=Me.sort(((Me,Bn)=>zn(Me,Bn,ni)));for(let Me of aa)Hn(Me,Bn,ni)?(Ps=Me,ts||(ts=Me)):(Ps&&Ci.push([ts,Ps]),Ps=null,ts=null);ts&&Ci.push([ts,null]);let oa=[];for(let[Me,Bn]of Ci)Me===Bn?oa.push(Me):!Bn&&Me===aa[0]?oa.push("*"):Bn?Me===aa[0]?oa.push(`<=${Bn}`):oa.push(`${Me} - ${Bn}`):oa.push(`>=${Me}`);let ca=oa.join(" || "),_a=typeof Bn.raw=="string"?Bn.raw:String(Bn);return ca.length<_a.length?ca:Bn}}}),Pg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/subset.js"(Me,Bn){Ps();var Hn=bg(),zn=Dg(),{ANY:ni}=zn,Ci=wg(),ts=hA(),m=function(Me,Bn){let zn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(Me===Bn)return!0;Me=new Hn(Me,zn),Bn=new Hn(Bn,zn);let ni=!1;e:for(let Hn of Me.set){for(let Me of Bn.set){let Bn=C(Hn,Me,zn);if(ni=ni||Bn!==null,Bn)continue e}if(ni)return!1}return!0},C=(Me,Bn,Hn)=>{if(Me===Bn)return!0;if(Me.length===1&&Me[0].semver===ni){if(Bn.length===1&&Bn[0].semver===ni)return!0;Hn.includePrerelease?Me=[new zn(">=0.0.0-0")]:Me=[new zn(">=0.0.0")]}if(Bn.length===1&&Bn[0].semver===ni){if(Hn.includePrerelease)return!0;Bn=[new zn(">=0.0.0")]}let Ps=new Set,aa,oa;for(let Bn of Me)Bn.operator===">"||Bn.operator===">="?aa=d(aa,Bn,Hn):Bn.operator==="<"||Bn.operator==="<="?oa=E(oa,Bn,Hn):Ps.add(Bn.semver);if(Ps.size>1)return null;let ca;if(aa&&oa){if(ca=ts(aa.semver,oa.semver,Hn),ca>0)return null;if(ca===0&&(aa.operator!==">="||oa.operator!=="<="))return null}for(let Me of Ps){if(aa&&!Ci(Me,String(aa),Hn)||oa&&!Ci(Me,String(oa),Hn))return null;for(let zn of Bn)if(!Ci(Me,String(zn),Hn))return!1;return!0}let _a,xa,Ga,Ha,so=oa&&!Hn.includePrerelease&&oa.semver.prerelease.length?oa.semver:!1,oo=aa&&!Hn.includePrerelease&&aa.semver.prerelease.length?aa.semver:!1;so&&so.prerelease.length===1&&oa.operator==="<"&&so.prerelease[0]===0&&(so=!1);for(let Me of Bn){if(Ha=Ha||Me.operator===">"||Me.operator===">=",Ga=Ga||Me.operator==="<"||Me.operator==="<=",aa){if(oo&&Me.semver.prerelease&&Me.semver.prerelease.length&&Me.semver.major===oo.major&&Me.semver.minor===oo.minor&&Me.semver.patch===oo.patch&&(oo=!1),Me.operator===">"||Me.operator===">="){if(_a=d(aa,Me,Hn),_a===Me&&_a!==aa)return!1}else if(aa.operator===">="&&!Ci(aa.semver,String(Me),Hn))return!1}if(oa){if(so&&Me.semver.prerelease&&Me.semver.prerelease.length&&Me.semver.major===so.major&&Me.semver.minor===so.minor&&Me.semver.patch===so.patch&&(so=!1),Me.operator==="<"||Me.operator==="<="){if(xa=E(oa,Me,Hn),xa===Me&&xa!==oa)return!1}else if(oa.operator==="<="&&!Ci(oa.semver,String(Me),Hn))return!1}if(!Me.operator&&(oa||aa)&&ca!==0)return!1}return!(aa&&Ga&&!oa&&ca!==0||oa&&Ha&&!aa&&ca!==0||oo||so)},d=(Me,Bn,Hn)=>{if(!Me)return Bn;let zn=ts(Me.semver,Bn.semver,Hn);return zn>0?Me:zn<0||Bn.operator===">"&&Me.operator===">="?Bn:Me},E=(Me,Bn,Hn)=>{if(!Me)return Bn;let zn=ts(Me.semver,Bn.semver,Hn);return zn<0?Me:zn>0||Bn.operator==="<"&&Me.operator==="<="?Bn:Me};Bn.exports=m}}),Og=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/index.js"(Me,Bn){Ps();var Hn=Sd(),zn=Cd(),ni=Pd(),Ci=Td(),ts=Qh(),aa=Zh(),oa=sA(),ca=oA(),_a=tg(),xa=rg(),Ga=ng(),Ha=ig(),so=sg(),oo=hA(),Jo=ag(),tc=og(),dc=ug(),Fc=cg(),Jc=lg(),Dp=pg(),kp=fg(),Qp=eg(),Up=dg(),Vp=hg(),qp=Ag(),Jp=mg(),Wp=gg(),zp=Dg(),Qf=bg(),Yf=wg(),Kf=Sg(),Xf=Ig(),Ad=xg(),wd=kg(),xd=Bg(),_g=Tg(),yg=Fg(),vg=Ng(),Eg=Qg(),Cg=Rg(),Og=Pg();Bn.exports={parse:ts,valid:aa,clean:oa,inc:ca,diff:_a,major:xa,minor:Ga,patch:Ha,prerelease:so,compare:oo,rcompare:Jo,compareLoose:tc,compareBuild:dc,sort:Fc,rsort:Jc,gt:Dp,lt:kp,eq:Qp,neq:Up,gte:Vp,lte:qp,cmp:Jp,coerce:Wp,Comparator:zp,Range:Qf,satisfies:Yf,toComparators:Kf,maxSatisfying:Xf,minSatisfying:Ad,minVersion:wd,validRange:xd,outside:_g,gtr:yg,ltr:vg,intersects:Eg,simplifyRange:Cg,subset:Og,SemVer:ni,re:Hn.re,src:Hn.src,tokens:Hn.t,SEMVER_SPEC_VERSION:zn.SEMVER_SPEC_VERSION,compareIdentifiers:Ci.compareIdentifiers,rcompareIdentifiers:Ci.rcompareIdentifiers}}}),Lg=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/version-check.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn};Object.defineProperty(Me,"__esModule",{value:!0}),Me.typescriptVersionIsAtLeast=void 0;var ni=zn(Og()),Ci=zn(Kf()),ts=["3.7","3.8","3.9","4.0","4.1","4.2","4.3","4.4","4.5","4.6","4.7","4.8","4.9","5.0"],aa={};Me.typescriptVersionIsAtLeast=aa;for(let Me of ts)aa[Me]=!0}}),Mg=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/getModifiers.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn};Object.defineProperty(Me,"__esModule",{value:!0}),Me.getDecorators=Me.getModifiers=void 0;var ni=zn(Kf()),Ci=Lg(),ts=Ci.typescriptVersionIsAtLeast["4.8"];function m(Me){var Bn;if(Me!=null){if(ts){if(ni.canHaveModifiers(Me)){let Bn=ni.getModifiers(Me);return Bn?Array.from(Bn):void 0}return}return(Bn=Me.modifiers)===null||Bn===void 0?void 0:Bn.filter((Me=>!ni.isDecorator(Me)))}}Me.getModifiers=m;function C(Me){var Bn;if(Me!=null){if(ts){if(ni.canHaveDecorators(Me)){let Bn=ni.getDecorators(Me);return Bn?Array.from(Bn):void 0}return}return(Bn=Me.decorators)===null||Bn===void 0?void 0:Bn.filter(ni.isDecorator)}}Me.getDecorators=C}}),jg=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/jsx/xhtml-entities.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.xhtmlEntities=void 0,Me.xhtmlEntities={quot:'"',amp:"&",apos:"'",lt:"<",gt:">",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"}}}),Ug=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.AST_TOKEN_TYPES=Me.AST_NODE_TYPES=void 0;var Bn;(function(Me){Me.AccessorProperty="AccessorProperty",Me.ArrayExpression="ArrayExpression",Me.ArrayPattern="ArrayPattern",Me.ArrowFunctionExpression="ArrowFunctionExpression",Me.AssignmentExpression="AssignmentExpression",Me.AssignmentPattern="AssignmentPattern",Me.AwaitExpression="AwaitExpression",Me.BinaryExpression="BinaryExpression",Me.BlockStatement="BlockStatement",Me.BreakStatement="BreakStatement",Me.CallExpression="CallExpression",Me.CatchClause="CatchClause",Me.ChainExpression="ChainExpression",Me.ClassBody="ClassBody",Me.ClassDeclaration="ClassDeclaration",Me.ClassExpression="ClassExpression",Me.ConditionalExpression="ConditionalExpression",Me.ContinueStatement="ContinueStatement",Me.DebuggerStatement="DebuggerStatement",Me.Decorator="Decorator",Me.DoWhileStatement="DoWhileStatement",Me.EmptyStatement="EmptyStatement",Me.ExportAllDeclaration="ExportAllDeclaration",Me.ExportDefaultDeclaration="ExportDefaultDeclaration",Me.ExportNamedDeclaration="ExportNamedDeclaration",Me.ExportSpecifier="ExportSpecifier",Me.ExpressionStatement="ExpressionStatement",Me.ForInStatement="ForInStatement",Me.ForOfStatement="ForOfStatement",Me.ForStatement="ForStatement",Me.FunctionDeclaration="FunctionDeclaration",Me.FunctionExpression="FunctionExpression",Me.Identifier="Identifier",Me.IfStatement="IfStatement",Me.ImportAttribute="ImportAttribute",Me.ImportDeclaration="ImportDeclaration",Me.ImportDefaultSpecifier="ImportDefaultSpecifier",Me.ImportExpression="ImportExpression",Me.ImportNamespaceSpecifier="ImportNamespaceSpecifier",Me.ImportSpecifier="ImportSpecifier",Me.JSXAttribute="JSXAttribute",Me.JSXClosingElement="JSXClosingElement",Me.JSXClosingFragment="JSXClosingFragment",Me.JSXElement="JSXElement",Me.JSXEmptyExpression="JSXEmptyExpression",Me.JSXExpressionContainer="JSXExpressionContainer",Me.JSXFragment="JSXFragment",Me.JSXIdentifier="JSXIdentifier",Me.JSXMemberExpression="JSXMemberExpression",Me.JSXNamespacedName="JSXNamespacedName",Me.JSXOpeningElement="JSXOpeningElement",Me.JSXOpeningFragment="JSXOpeningFragment",Me.JSXSpreadAttribute="JSXSpreadAttribute",Me.JSXSpreadChild="JSXSpreadChild",Me.JSXText="JSXText",Me.LabeledStatement="LabeledStatement",Me.Literal="Literal",Me.LogicalExpression="LogicalExpression",Me.MemberExpression="MemberExpression",Me.MetaProperty="MetaProperty",Me.MethodDefinition="MethodDefinition",Me.NewExpression="NewExpression",Me.ObjectExpression="ObjectExpression",Me.ObjectPattern="ObjectPattern",Me.PrivateIdentifier="PrivateIdentifier",Me.Program="Program",Me.Property="Property",Me.PropertyDefinition="PropertyDefinition",Me.RestElement="RestElement",Me.ReturnStatement="ReturnStatement",Me.SequenceExpression="SequenceExpression",Me.SpreadElement="SpreadElement",Me.StaticBlock="StaticBlock",Me.Super="Super",Me.SwitchCase="SwitchCase",Me.SwitchStatement="SwitchStatement",Me.TaggedTemplateExpression="TaggedTemplateExpression",Me.TemplateElement="TemplateElement",Me.TemplateLiteral="TemplateLiteral",Me.ThisExpression="ThisExpression",Me.ThrowStatement="ThrowStatement",Me.TryStatement="TryStatement",Me.UnaryExpression="UnaryExpression",Me.UpdateExpression="UpdateExpression",Me.VariableDeclaration="VariableDeclaration",Me.VariableDeclarator="VariableDeclarator",Me.WhileStatement="WhileStatement",Me.WithStatement="WithStatement",Me.YieldExpression="YieldExpression",Me.TSAbstractAccessorProperty="TSAbstractAccessorProperty",Me.TSAbstractKeyword="TSAbstractKeyword",Me.TSAbstractMethodDefinition="TSAbstractMethodDefinition",Me.TSAbstractPropertyDefinition="TSAbstractPropertyDefinition",Me.TSAnyKeyword="TSAnyKeyword",Me.TSArrayType="TSArrayType",Me.TSAsExpression="TSAsExpression",Me.TSAsyncKeyword="TSAsyncKeyword",Me.TSBigIntKeyword="TSBigIntKeyword",Me.TSBooleanKeyword="TSBooleanKeyword",Me.TSCallSignatureDeclaration="TSCallSignatureDeclaration",Me.TSClassImplements="TSClassImplements",Me.TSConditionalType="TSConditionalType",Me.TSConstructorType="TSConstructorType",Me.TSConstructSignatureDeclaration="TSConstructSignatureDeclaration",Me.TSDeclareFunction="TSDeclareFunction",Me.TSDeclareKeyword="TSDeclareKeyword",Me.TSEmptyBodyFunctionExpression="TSEmptyBodyFunctionExpression",Me.TSEnumDeclaration="TSEnumDeclaration",Me.TSEnumMember="TSEnumMember",Me.TSExportAssignment="TSExportAssignment",Me.TSExportKeyword="TSExportKeyword",Me.TSExternalModuleReference="TSExternalModuleReference",Me.TSFunctionType="TSFunctionType",Me.TSInstantiationExpression="TSInstantiationExpression",Me.TSImportEqualsDeclaration="TSImportEqualsDeclaration",Me.TSImportType="TSImportType",Me.TSIndexedAccessType="TSIndexedAccessType",Me.TSIndexSignature="TSIndexSignature",Me.TSInferType="TSInferType",Me.TSInterfaceBody="TSInterfaceBody",Me.TSInterfaceDeclaration="TSInterfaceDeclaration",Me.TSInterfaceHeritage="TSInterfaceHeritage",Me.TSIntersectionType="TSIntersectionType",Me.TSIntrinsicKeyword="TSIntrinsicKeyword",Me.TSLiteralType="TSLiteralType",Me.TSMappedType="TSMappedType",Me.TSMethodSignature="TSMethodSignature",Me.TSModuleBlock="TSModuleBlock",Me.TSModuleDeclaration="TSModuleDeclaration",Me.TSNamedTupleMember="TSNamedTupleMember",Me.TSNamespaceExportDeclaration="TSNamespaceExportDeclaration",Me.TSNeverKeyword="TSNeverKeyword",Me.TSNonNullExpression="TSNonNullExpression",Me.TSNullKeyword="TSNullKeyword",Me.TSNumberKeyword="TSNumberKeyword",Me.TSObjectKeyword="TSObjectKeyword",Me.TSOptionalType="TSOptionalType",Me.TSParameterProperty="TSParameterProperty",Me.TSPrivateKeyword="TSPrivateKeyword",Me.TSPropertySignature="TSPropertySignature",Me.TSProtectedKeyword="TSProtectedKeyword",Me.TSPublicKeyword="TSPublicKeyword",Me.TSQualifiedName="TSQualifiedName",Me.TSReadonlyKeyword="TSReadonlyKeyword",Me.TSRestType="TSRestType",Me.TSSatisfiesExpression="TSSatisfiesExpression",Me.TSStaticKeyword="TSStaticKeyword",Me.TSStringKeyword="TSStringKeyword",Me.TSSymbolKeyword="TSSymbolKeyword",Me.TSTemplateLiteralType="TSTemplateLiteralType",Me.TSThisType="TSThisType",Me.TSTupleType="TSTupleType",Me.TSTypeAliasDeclaration="TSTypeAliasDeclaration",Me.TSTypeAnnotation="TSTypeAnnotation",Me.TSTypeAssertion="TSTypeAssertion",Me.TSTypeLiteral="TSTypeLiteral",Me.TSTypeOperator="TSTypeOperator",Me.TSTypeParameter="TSTypeParameter",Me.TSTypeParameterDeclaration="TSTypeParameterDeclaration",Me.TSTypeParameterInstantiation="TSTypeParameterInstantiation",Me.TSTypePredicate="TSTypePredicate",Me.TSTypeQuery="TSTypeQuery",Me.TSTypeReference="TSTypeReference",Me.TSUndefinedKeyword="TSUndefinedKeyword",Me.TSUnionType="TSUnionType",Me.TSUnknownKeyword="TSUnknownKeyword",Me.TSVoidKeyword="TSVoidKeyword"})(Bn=Me.AST_NODE_TYPES||(Me.AST_NODE_TYPES={}));var Hn;(function(Me){Me.Boolean="Boolean",Me.Identifier="Identifier",Me.JSXIdentifier="JSXIdentifier",Me.JSXText="JSXText",Me.Keyword="Keyword",Me.Null="Null",Me.Numeric="Numeric",Me.Punctuator="Punctuator",Me.RegularExpression="RegularExpression",Me.String="String",Me.Template="Template",Me.Block="Block",Me.Line="Line"})(Hn=Me.AST_TOKEN_TYPES||(Me.AST_TOKEN_TYPES={}))}}),Gg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/types/dist/lib.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0})}}),Vg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/types/dist/parser-options.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0})}}),Hg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/types/dist/ts-estree.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn};Object.defineProperty(Me,"__esModule",{value:!0}),Me.TSESTree=void 0,Me.TSESTree=zn(Ug())}}),qg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/types/dist/index.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__exportStar||function(Me,Hn){for(var zn in Me)zn!=="default"&&!Object.prototype.hasOwnProperty.call(Hn,zn)&&Bn(Hn,Me,zn)};Object.defineProperty(Me,"__esModule",{value:!0}),Me.AST_TOKEN_TYPES=Me.AST_NODE_TYPES=void 0;var zn=Ug();Object.defineProperty(Me,"AST_NODE_TYPES",{enumerable:!0,get:function(){return zn.AST_NODE_TYPES}}),Object.defineProperty(Me,"AST_TOKEN_TYPES",{enumerable:!0,get:function(){return zn.AST_TOKEN_TYPES}}),Hn(Gg(),Me),Hn(Vg(),Me),Hn(Hg(),Me)}}),Jg=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0})}}),$g=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0})}}),Yg=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/index.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__exportStar||function(Me,Hn){for(var zn in Me)zn!=="default"&&!Object.prototype.hasOwnProperty.call(Hn,zn)&&Bn(Hn,Me,zn)};Object.defineProperty(Me,"__esModule",{value:!0}),Me.TSESTree=Me.AST_TOKEN_TYPES=Me.AST_NODE_TYPES=void 0;var zn=qg();Object.defineProperty(Me,"AST_NODE_TYPES",{enumerable:!0,get:function(){return zn.AST_NODE_TYPES}}),Object.defineProperty(Me,"AST_TOKEN_TYPES",{enumerable:!0,get:function(){return zn.AST_TOKEN_TYPES}}),Object.defineProperty(Me,"TSESTree",{enumerable:!0,get:function(){return zn.TSESTree}}),Hn(Jg(),Me),Hn($g(),Me)}}),Wg=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/node-utils.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn};Object.defineProperty(Me,"__esModule",{value:!0}),Me.isThisInTypeQuery=Me.isThisIdentifier=Me.identifierIsThisKeyword=Me.firstDefined=Me.nodeHasTokens=Me.createError=Me.TSError=Me.convertTokens=Me.convertToken=Me.getTokenType=Me.isChildUnwrappableOptionalChain=Me.isChainExpression=Me.isOptional=Me.isComputedProperty=Me.unescapeStringLiteralText=Me.hasJSXAncestor=Me.findFirstMatchingAncestor=Me.findNextToken=Me.getTSNodeAccessibility=Me.getDeclarationKind=Me.isJSXToken=Me.isToken=Me.getRange=Me.canContainDirective=Me.getLocFor=Me.getLineAndCharacterFor=Me.getBinaryExpressionType=Me.isJSDocComment=Me.isComment=Me.isComma=Me.getLastModifier=Me.hasModifier=Me.isESTreeClassMember=Me.getTextForTokenKind=Me.isLogicalOperator=Me.isAssignmentOperator=void 0;var ni=zn(Kf()),Ci=Mg(),ts=jg(),aa=Yg(),oa=Lg(),ca=oa.typescriptVersionIsAtLeast["5.0"],_a=ni.SyntaxKind,xa=[_a.BarBarToken,_a.AmpersandAmpersandToken,_a.QuestionQuestionToken];function c(Me){return Me.kind>=_a.FirstAssignment&&Me.kind<=_a.LastAssignment}Me.isAssignmentOperator=c;function M(Me){return xa.includes(Me.kind)}Me.isLogicalOperator=M;function q(Me){return ni.tokenToString(Me)}Me.getTextForTokenKind=q;function W(Me){return Me.kind!==_a.SemicolonClassElement}Me.isESTreeClassMember=W;function K(Me,Bn){let Hn=(0,Ci.getModifiers)(Bn);return(Hn==null?void 0:Hn.some((Bn=>Bn.kind===Me)))===!0}Me.hasModifier=K;function ce(Me){var Bn;let Hn=(0,Ci.getModifiers)(Me);return Hn==null?null:(Bn=Hn[Hn.length-1])!==null&&Bn!==void 0?Bn:null}Me.getLastModifier=ce;function Ie(Me){return Me.kind===_a.CommaToken}Me.isComma=Ie;function me(Me){return Me.kind===_a.SingleLineCommentTrivia||Me.kind===_a.MultiLineCommentTrivia}Me.isComment=me;function Ae(Me){return Me.kind===_a.JSDocComment}Me.isJSDocComment=Ae;function te(Me){return c(Me)?aa.AST_NODE_TYPES.AssignmentExpression:M(Me)?aa.AST_NODE_TYPES.LogicalExpression:aa.AST_NODE_TYPES.BinaryExpression}Me.getBinaryExpressionType=te;function he(Me,Bn){let Hn=Bn.getLineAndCharacterOfPosition(Me);return{line:Hn.line+1,column:Hn.character}}Me.getLineAndCharacterFor=he;function Pe(Me,Bn,Hn){return{start:he(Me,Hn),end:he(Bn,Hn)}}Me.getLocFor=Pe;function R(Me){if(Me.kind===ni.SyntaxKind.Block)switch(Me.parent.kind){case ni.SyntaxKind.Constructor:case ni.SyntaxKind.GetAccessor:case ni.SyntaxKind.SetAccessor:case ni.SyntaxKind.ArrowFunction:case ni.SyntaxKind.FunctionExpression:case ni.SyntaxKind.FunctionDeclaration:case ni.SyntaxKind.MethodDeclaration:return!0;default:return!1}return!0}Me.canContainDirective=R;function pe(Me,Bn){return[Me.getStart(Bn),Me.getEnd()]}Me.getRange=pe;function ke(Me){return Me.kind>=_a.FirstToken&&Me.kind<=_a.LastToken}Me.isToken=ke;function Je(Me){return Me.kind>=_a.JsxElement&&Me.kind<=_a.JsxAttribute}Me.isJSXToken=Je;function Xe(Me){return Me.flags&ni.NodeFlags.Let?"let":Me.flags&ni.NodeFlags.Const?"const":"var"}Me.getDeclarationKind=Xe;function ee(Me){let Bn=(0,Ci.getModifiers)(Me);if(Bn==null)return null;for(let Me of Bn)switch(Me.kind){case _a.PublicKeyword:return"public";case _a.ProtectedKeyword:return"protected";case _a.PrivateKeyword:return"private";default:break}return null}Me.getTSNodeAccessibility=ee;function je(Me,Bn,Hn){return Ft(Bn);function Ft(Bn){return ni.isToken(Bn)&&Bn.pos===Me.end?Bn:la(Bn.getChildren(Hn),(Bn=>(Bn.pos<=Me.pos&&Bn.end>Me.end||Bn.pos===Me.end)&&Ri(Bn,Hn)?Ft(Bn):void 0))}}Me.findNextToken=je;function nt(Me,Bn){for(;Me;){if(Bn(Me))return Me;Me=Me.parent}}Me.findFirstMatchingAncestor=nt;function Ze(Me){return!!nt(Me,Je)}Me.hasJSXAncestor=Ze;function st(Me){return Me.replace(/&(?:#\d+|#x[\da-fA-F]+|[0-9a-zA-Z]+);/g,(Me=>{let Bn=Me.slice(1,-1);if(Bn[0]==="#"){let Hn=Bn[1]==="x"?parseInt(Bn.slice(2),16):parseInt(Bn.slice(1),10);return Hn>1114111?Me:String.fromCodePoint(Hn)}return ts.xhtmlEntities[Bn]||Me}))}Me.unescapeStringLiteralText=st;function tt(Me){return Me.kind===_a.ComputedPropertyName}Me.isComputedProperty=tt;function ct(Me){return Me.questionToken?Me.questionToken.kind===_a.QuestionToken:!1}Me.isOptional=ct;function ne(Me){return Me.type===aa.AST_NODE_TYPES.ChainExpression}Me.isChainExpression=ne;function ge(Me,Bn){return ne(Bn)&&Me.expression.kind!==ni.SyntaxKind.ParenthesizedExpression}Me.isChildUnwrappableOptionalChain=ge;function Fe(Me){let Bn;if(ca&&Me.kind===_a.Identifier?Bn=ni.identifierToKeywordKind(Me):"originalKeywordKind"in Me&&(Bn=Me.originalKeywordKind),Bn)return Bn===_a.NullKeyword?aa.AST_TOKEN_TYPES.Null:Bn>=_a.FirstFutureReservedWord&&Bn<=_a.LastKeyword?aa.AST_TOKEN_TYPES.Identifier:aa.AST_TOKEN_TYPES.Keyword;if(Me.kind>=_a.FirstKeyword&&Me.kind<=_a.LastFutureReservedWord)return Me.kind===_a.FalseKeyword||Me.kind===_a.TrueKeyword?aa.AST_TOKEN_TYPES.Boolean:aa.AST_TOKEN_TYPES.Keyword;if(Me.kind>=_a.FirstPunctuation&&Me.kind<=_a.LastPunctuation)return aa.AST_TOKEN_TYPES.Punctuator;if(Me.kind>=_a.NoSubstitutionTemplateLiteral&&Me.kind<=_a.TemplateTail)return aa.AST_TOKEN_TYPES.Template;switch(Me.kind){case _a.NumericLiteral:return aa.AST_TOKEN_TYPES.Numeric;case _a.JsxText:return aa.AST_TOKEN_TYPES.JSXText;case _a.StringLiteral:return Me.parent&&(Me.parent.kind===_a.JsxAttribute||Me.parent.kind===_a.JsxElement)?aa.AST_TOKEN_TYPES.JSXText:aa.AST_TOKEN_TYPES.String;case _a.RegularExpressionLiteral:return aa.AST_TOKEN_TYPES.RegularExpression;case _a.Identifier:case _a.ConstructorKeyword:case _a.GetKeyword:case _a.SetKeyword:default:}return Me.parent&&Me.kind===_a.Identifier&&(Je(Me.parent)||Me.parent.kind===_a.PropertyAccessExpression&&Ze(Me))?aa.AST_TOKEN_TYPES.JSXIdentifier:aa.AST_TOKEN_TYPES.Identifier}Me.getTokenType=Fe;function at(Me,Bn){let Hn=Me.kind===_a.JsxText?Me.getFullStart():Me.getStart(Bn),zn=Me.getEnd(),ni=Bn.text.slice(Hn,zn),Ci=Fe(Me);return Ci===aa.AST_TOKEN_TYPES.RegularExpression?{type:Ci,value:ni,range:[Hn,zn],loc:Pe(Hn,zn,Bn),regex:{pattern:ni.slice(1,ni.lastIndexOf("/")),flags:ni.slice(ni.lastIndexOf("/")+1)}}:{type:Ci,value:ni,range:[Hn,zn],loc:Pe(Hn,zn,Bn)}}Me.convertToken=at;function Pt(Me){let Bn=[];function Et(Hn){if(!(me(Hn)||Ae(Hn)))if(ke(Hn)&&Hn.kind!==_a.EndOfFileToken){let zn=at(Hn,Me);zn&&Bn.push(zn)}else Hn.getChildren(Me).forEach(Et)}return Et(Me),Bn}Me.convertTokens=Pt;var Ga=class extends Error{constructor(Me,Bn,Hn,zn,ni){super(Me),this.fileName=Bn,this.index=Hn,this.lineNumber=zn,this.column=ni,Object.defineProperty(this,"name",{value:new.target.name,enumerable:!1,configurable:!0})}};Me.TSError=Ga;function Zr(Me,Bn,Hn){let zn=Me.getLineAndCharacterOfPosition(Bn);return new Ga(Hn,Me.fileName,Bn,zn.line+1,zn.character)}Me.createError=Zr;function Ri(Me,Bn){return Me.kind===_a.EndOfFileToken?!!Me.jsDoc:Me.getWidth(Bn)!==0}Me.nodeHasTokens=Ri;function la(Me,Bn){if(Me!==void 0)for(let Hn=0;Hn{let Bn=this.convertChild(Me);if(Hn)if(Bn!=null&&Bn.expression&&ni.isExpressionStatement(Me)&&ni.isStringLiteral(Me.expression)){let Me=Bn.expression.raw;return Bn.directive=Me.slice(1,-1),Bn}else Hn=!1;return Bn})).filter((Me=>Me))}convertTypeArgumentsToTypeParameters(Me,Bn){let Hn=(0,ts.findNextToken)(Me,this.ast,this.ast);return this.createNode(Bn,{type:aa.AST_NODE_TYPES.TSTypeParameterInstantiation,range:[Me.pos-1,Hn.end],params:Me.map((Me=>this.convertType(Me)))})}convertTSTypeParametersToTypeParametersDeclaration(Me){let Bn=(0,ts.findNextToken)(Me,this.ast,this.ast);return{type:aa.AST_NODE_TYPES.TSTypeParameterDeclaration,range:[Me.pos-1,Bn.end],loc:(0,ts.getLocFor)(Me.pos-1,Bn.end,this.ast),params:Me.map((Me=>this.convertType(Me)))}}convertParameters(Me){return Me!=null&&Me.length?Me.map((Me=>{let Bn=this.convertChild(Me),Hn=(0,Ci.getDecorators)(Me);return Hn!=null&&Hn.length&&(Bn.decorators=Hn.map((Me=>this.convertChild(Me)))),Bn})):[]}convertChainExpression(Me,Bn){let{child:Hn,isOptional:zn}=(()=>Me.type===aa.AST_NODE_TYPES.MemberExpression?{child:Me.object,isOptional:Me.optional}:Me.type===aa.AST_NODE_TYPES.CallExpression?{child:Me.callee,isOptional:Me.optional}:{child:Me.expression,isOptional:!1})(),ni=(0,ts.isChildUnwrappableOptionalChain)(Bn,Hn);if(!ni&&!zn)return Me;if(ni&&(0,ts.isChainExpression)(Hn)){let Bn=Hn.expression;Me.type===aa.AST_NODE_TYPES.MemberExpression?Me.object=Bn:Me.type===aa.AST_NODE_TYPES.CallExpression?Me.callee=Bn:Me.expression=Bn}return this.createNode(Bn,{type:aa.AST_NODE_TYPES.ChainExpression,expression:Me})}deeplyCopy(Me){if(Me.kind===ni.SyntaxKind.JSDocFunctionType)throw(0,ts.createError)(this.ast,Me.pos,"JSDoc types can only be used inside documentation comments.");let Bn=`TS${ca[Me.kind]}`;if(this.options.errorOnUnknownASTType&&!aa.AST_NODE_TYPES[Bn])throw new Error(`Unknown AST_NODE_TYPE: "${Bn}"`);let Hn=this.createNode(Me,{type:Bn});"type"in Me&&(Hn.typeAnnotation=Me.type&&"kind"in Me.type&&ni.isTypeNode(Me.type)?this.convertTypeAnnotation(Me.type,Me):null),"typeArguments"in Me&&(Hn.typeParameters=Me.typeArguments&&"pos"in Me.typeArguments?this.convertTypeArgumentsToTypeParameters(Me.typeArguments,Me):null),"typeParameters"in Me&&(Hn.typeParameters=Me.typeParameters&&"pos"in Me.typeParameters?this.convertTSTypeParametersToTypeParametersDeclaration(Me.typeParameters):null);let zn=(0,Ci.getDecorators)(Me);zn!=null&&zn.length&&(Hn.decorators=zn.map((Me=>this.convertChild(Me))));let Ps=new Set(["_children","decorators","end","flags","illegalDecorators","heritageClauses","locals","localSymbol","jsDoc","kind","modifierFlagsCache","modifiers","nextContainer","parent","pos","symbol","transformFlags","type","typeArguments","typeParameters"]);return Object.entries(Me).filter((Me=>{let[Bn]=Me;return!Ps.has(Bn)})).forEach((Me=>{let[Bn,zn]=Me;Array.isArray(zn)?Hn[Bn]=zn.map((Me=>this.convertChild(Me))):zn&&typeof zn=="object"&&zn.kind?Hn[Bn]=this.convertChild(zn):Hn[Bn]=zn})),Hn}convertJSXIdentifier(Me){let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXIdentifier,name:Me.getText()});return this.registerTSNodeInNodeMap(Me,Bn),Bn}convertJSXNamespaceOrIdentifier(Me){let Bn=Me.getText(),Hn=Bn.indexOf(":");if(Hn>0){let zn=(0,ts.getRange)(Me,this.ast),ni=this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXNamespacedName,namespace:this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXIdentifier,name:Bn.slice(0,Hn),range:[zn[0],zn[0]+Hn]}),name:this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXIdentifier,name:Bn.slice(Hn+1),range:[zn[0]+Hn+1,zn[1]]}),range:zn});return this.registerTSNodeInNodeMap(Me,ni),ni}return this.convertJSXIdentifier(Me)}convertJSXTagName(Me,Bn){let Hn;switch(Me.kind){case ca.PropertyAccessExpression:if(Me.name.kind===ca.PrivateIdentifier)throw new Error("Non-private identifier expected.");Hn=this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXMemberExpression,object:this.convertJSXTagName(Me.expression,Bn),property:this.convertJSXIdentifier(Me.name)});break;case ca.ThisKeyword:case ca.Identifier:default:return this.convertJSXNamespaceOrIdentifier(Me)}return this.registerTSNodeInNodeMap(Me,Hn),Hn}convertMethodSignature(Me){let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TSMethodSignature,computed:(0,ts.isComputedProperty)(Me.name),key:this.convertChild(Me.name),params:this.convertParameters(Me.parameters),kind:(()=>{switch(Me.kind){case ca.GetAccessor:return"get";case ca.SetAccessor:return"set";case ca.MethodSignature:return"method"}})()});(0,ts.isOptional)(Me)&&(Bn.optional=!0),Me.type&&(Bn.returnType=this.convertTypeAnnotation(Me.type,Me)),(0,ts.hasModifier)(ca.ReadonlyKeyword,Me)&&(Bn.readonly=!0),Me.typeParameters&&(Bn.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(Me.typeParameters));let Hn=(0,ts.getTSNodeAccessibility)(Me);return Hn&&(Bn.accessibility=Hn),(0,ts.hasModifier)(ca.ExportKeyword,Me)&&(Bn.export=!0),(0,ts.hasModifier)(ca.StaticKeyword,Me)&&(Bn.static=!0),Bn}convertAssertClasue(Me){return Me===void 0?[]:Me.elements.map((Me=>this.convertChild(Me)))}applyModifiersToResult(Me,Bn){if(!Bn)return;let Hn=[];for(let zn of Bn)switch(zn.kind){case ca.ExportKeyword:case ca.DefaultKeyword:break;case ca.ConstKeyword:Me.const=!0;break;case ca.DeclareKeyword:Me.declare=!0;break;default:Hn.push(this.convertChild(zn));break}Hn.length>0&&(Me.modifiers=Hn)}fixParentLocation(Me,Bn){Bn[0]Me.range[1]&&(Me.range[1]=Bn[1],Me.loc.end=(0,ts.getLineAndCharacterFor)(Me.range[1],this.ast))}assertModuleSpecifier(Me,Bn){var Hn;if(!Bn&&Me.moduleSpecifier==null)throw(0,ts.createError)(this.ast,Me.pos,"Module specifier must be a string literal.");if(Me.moduleSpecifier&&((Hn=Me.moduleSpecifier)===null||Hn===void 0?void 0:Hn.kind)!==ca.StringLiteral)throw(0,ts.createError)(this.ast,Me.moduleSpecifier.pos,"Module specifier must be a string literal.")}convertNode(Me,Bn){var Hn,zn,Ps,_a,xa,Ga,Ha,so,oo,Jo;switch(Me.kind){case ca.SourceFile:return this.createNode(Me,{type:aa.AST_NODE_TYPES.Program,body:this.convertBodyExpressions(Me.statements,Me),sourceType:Me.externalModuleIndicator?"module":"script",range:[Me.getStart(this.ast),Me.endOfFileToken.end]});case ca.Block:return this.createNode(Me,{type:aa.AST_NODE_TYPES.BlockStatement,body:this.convertBodyExpressions(Me.statements,Me)});case ca.Identifier:return(0,ts.isThisInTypeQuery)(Me)?this.createNode(Me,{type:aa.AST_NODE_TYPES.ThisExpression}):this.createNode(Me,{type:aa.AST_NODE_TYPES.Identifier,name:Me.text});case ca.PrivateIdentifier:return this.createNode(Me,{type:aa.AST_NODE_TYPES.PrivateIdentifier,name:Me.text.slice(1)});case ca.WithStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.WithStatement,object:this.convertChild(Me.expression),body:this.convertChild(Me.statement)});case ca.ReturnStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ReturnStatement,argument:this.convertChild(Me.expression)});case ca.LabeledStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.LabeledStatement,label:this.convertChild(Me.label),body:this.convertChild(Me.statement)});case ca.ContinueStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ContinueStatement,label:this.convertChild(Me.label)});case ca.BreakStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.BreakStatement,label:this.convertChild(Me.label)});case ca.IfStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.IfStatement,test:this.convertChild(Me.expression),consequent:this.convertChild(Me.thenStatement),alternate:this.convertChild(Me.elseStatement)});case ca.SwitchStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.SwitchStatement,discriminant:this.convertChild(Me.expression),cases:Me.caseBlock.clauses.map((Me=>this.convertChild(Me)))});case ca.CaseClause:case ca.DefaultClause:return this.createNode(Me,{type:aa.AST_NODE_TYPES.SwitchCase,test:Me.kind===ca.CaseClause?this.convertChild(Me.expression):null,consequent:Me.statements.map((Me=>this.convertChild(Me)))});case ca.ThrowStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ThrowStatement,argument:this.convertChild(Me.expression)});case ca.TryStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TryStatement,block:this.convertChild(Me.tryBlock),handler:this.convertChild(Me.catchClause),finalizer:this.convertChild(Me.finallyBlock)});case ca.CatchClause:return this.createNode(Me,{type:aa.AST_NODE_TYPES.CatchClause,param:Me.variableDeclaration?this.convertBindingNameWithTypeAnnotation(Me.variableDeclaration.name,Me.variableDeclaration.type):null,body:this.convertChild(Me.block)});case ca.WhileStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.WhileStatement,test:this.convertChild(Me.expression),body:this.convertChild(Me.statement)});case ca.DoStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.DoWhileStatement,test:this.convertChild(Me.expression),body:this.convertChild(Me.statement)});case ca.ForStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ForStatement,init:this.convertChild(Me.initializer),test:this.convertChild(Me.condition),update:this.convertChild(Me.incrementor),body:this.convertChild(Me.statement)});case ca.ForInStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ForInStatement,left:this.convertPattern(Me.initializer),right:this.convertChild(Me.expression),body:this.convertChild(Me.statement)});case ca.ForOfStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ForOfStatement,left:this.convertPattern(Me.initializer),right:this.convertChild(Me.expression),body:this.convertChild(Me.statement),await:Boolean(Me.awaitModifier&&Me.awaitModifier.kind===ca.AwaitKeyword)});case ca.FunctionDeclaration:{let Bn=(0,ts.hasModifier)(ca.DeclareKeyword,Me),Hn=this.createNode(Me,{type:Bn||!Me.body?aa.AST_NODE_TYPES.TSDeclareFunction:aa.AST_NODE_TYPES.FunctionDeclaration,id:this.convertChild(Me.name),generator:!!Me.asteriskToken,expression:!1,async:(0,ts.hasModifier)(ca.AsyncKeyword,Me),params:this.convertParameters(Me.parameters),body:this.convertChild(Me.body)||void 0});return Me.type&&(Hn.returnType=this.convertTypeAnnotation(Me.type,Me)),Me.typeParameters&&(Hn.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(Me.typeParameters)),Bn&&(Hn.declare=!0),this.fixExports(Me,Hn)}case ca.VariableDeclaration:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.VariableDeclarator,id:this.convertBindingNameWithTypeAnnotation(Me.name,Me.type,Me),init:this.convertChild(Me.initializer)});return Me.exclamationToken&&(Bn.definite=!0),Bn}case ca.VariableStatement:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.VariableDeclaration,declarations:Me.declarationList.declarations.map((Me=>this.convertChild(Me))),kind:(0,ts.getDeclarationKind)(Me.declarationList)});return(0,ts.hasModifier)(ca.DeclareKeyword,Me)&&(Bn.declare=!0),this.fixExports(Me,Bn)}case ca.VariableDeclarationList:return this.createNode(Me,{type:aa.AST_NODE_TYPES.VariableDeclaration,declarations:Me.declarations.map((Me=>this.convertChild(Me))),kind:(0,ts.getDeclarationKind)(Me)});case ca.ExpressionStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ExpressionStatement,expression:this.convertChild(Me.expression)});case ca.ThisKeyword:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ThisExpression});case ca.ArrayLiteralExpression:return this.allowPattern?this.createNode(Me,{type:aa.AST_NODE_TYPES.ArrayPattern,elements:Me.elements.map((Me=>this.convertPattern(Me)))}):this.createNode(Me,{type:aa.AST_NODE_TYPES.ArrayExpression,elements:Me.elements.map((Me=>this.convertChild(Me)))});case ca.ObjectLiteralExpression:return this.allowPattern?this.createNode(Me,{type:aa.AST_NODE_TYPES.ObjectPattern,properties:Me.properties.map((Me=>this.convertPattern(Me)))}):this.createNode(Me,{type:aa.AST_NODE_TYPES.ObjectExpression,properties:Me.properties.map((Me=>this.convertChild(Me)))});case ca.PropertyAssignment:return this.createNode(Me,{type:aa.AST_NODE_TYPES.Property,key:this.convertChild(Me.name),value:this.converter(Me.initializer,Me,this.inTypeMode,this.allowPattern),computed:(0,ts.isComputedProperty)(Me.name),method:!1,shorthand:!1,kind:"init"});case ca.ShorthandPropertyAssignment:return Me.objectAssignmentInitializer?this.createNode(Me,{type:aa.AST_NODE_TYPES.Property,key:this.convertChild(Me.name),value:this.createNode(Me,{type:aa.AST_NODE_TYPES.AssignmentPattern,left:this.convertPattern(Me.name),right:this.convertChild(Me.objectAssignmentInitializer)}),computed:!1,method:!1,shorthand:!0,kind:"init"}):this.createNode(Me,{type:aa.AST_NODE_TYPES.Property,key:this.convertChild(Me.name),value:this.convertChild(Me.name),computed:!1,method:!1,shorthand:!0,kind:"init"});case ca.ComputedPropertyName:return this.convertChild(Me.expression);case ca.PropertyDeclaration:{let Bn=(0,ts.hasModifier)(ca.AbstractKeyword,Me),Hn=(0,ts.hasModifier)(ca.AccessorKeyword,Me),zn=(()=>Hn?Bn?aa.AST_NODE_TYPES.TSAbstractAccessorProperty:aa.AST_NODE_TYPES.AccessorProperty:Bn?aa.AST_NODE_TYPES.TSAbstractPropertyDefinition:aa.AST_NODE_TYPES.PropertyDefinition)(),ni=this.createNode(Me,{type:zn,key:this.convertChild(Me.name),value:Bn?null:this.convertChild(Me.initializer),computed:(0,ts.isComputedProperty)(Me.name),static:(0,ts.hasModifier)(ca.StaticKeyword,Me),readonly:(0,ts.hasModifier)(ca.ReadonlyKeyword,Me)||void 0,declare:(0,ts.hasModifier)(ca.DeclareKeyword,Me),override:(0,ts.hasModifier)(ca.OverrideKeyword,Me)});Me.type&&(ni.typeAnnotation=this.convertTypeAnnotation(Me.type,Me));let Ps=(0,Ci.getDecorators)(Me);Ps&&(ni.decorators=Ps.map((Me=>this.convertChild(Me))));let oa=(0,ts.getTSNodeAccessibility)(Me);return oa&&(ni.accessibility=oa),(Me.name.kind===ca.Identifier||Me.name.kind===ca.ComputedPropertyName||Me.name.kind===ca.PrivateIdentifier)&&Me.questionToken&&(ni.optional=!0),Me.exclamationToken&&(ni.definite=!0),ni.key.type===aa.AST_NODE_TYPES.Literal&&Me.questionToken&&(ni.optional=!0),ni}case ca.GetAccessor:case ca.SetAccessor:if(Me.parent.kind===ca.InterfaceDeclaration||Me.parent.kind===ca.TypeLiteral)return this.convertMethodSignature(Me);case ca.MethodDeclaration:{let Hn=this.createNode(Me,{type:Me.body?aa.AST_NODE_TYPES.FunctionExpression:aa.AST_NODE_TYPES.TSEmptyBodyFunctionExpression,id:null,generator:!!Me.asteriskToken,expression:!1,async:(0,ts.hasModifier)(ca.AsyncKeyword,Me),body:this.convertChild(Me.body),range:[Me.parameters.pos-1,Me.end],params:[]});Me.type&&(Hn.returnType=this.convertTypeAnnotation(Me.type,Me)),Me.typeParameters&&(Hn.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(Me.typeParameters),this.fixParentLocation(Hn,Hn.typeParameters.range));let zn;if(Bn.kind===ca.ObjectLiteralExpression)Hn.params=Me.parameters.map((Me=>this.convertChild(Me))),zn=this.createNode(Me,{type:aa.AST_NODE_TYPES.Property,key:this.convertChild(Me.name),value:Hn,computed:(0,ts.isComputedProperty)(Me.name),method:Me.kind===ca.MethodDeclaration,shorthand:!1,kind:"init"});else{Hn.params=this.convertParameters(Me.parameters);let Bn=(0,ts.hasModifier)(ca.AbstractKeyword,Me)?aa.AST_NODE_TYPES.TSAbstractMethodDefinition:aa.AST_NODE_TYPES.MethodDefinition;zn=this.createNode(Me,{type:Bn,key:this.convertChild(Me.name),value:Hn,computed:(0,ts.isComputedProperty)(Me.name),static:(0,ts.hasModifier)(ca.StaticKeyword,Me),kind:"method",override:(0,ts.hasModifier)(ca.OverrideKeyword,Me)});let ni=(0,Ci.getDecorators)(Me);ni&&(zn.decorators=ni.map((Me=>this.convertChild(Me))));let Ps=(0,ts.getTSNodeAccessibility)(Me);Ps&&(zn.accessibility=Ps)}return Me.questionToken&&(zn.optional=!0),Me.kind===ca.GetAccessor?zn.kind="get":Me.kind===ca.SetAccessor?zn.kind="set":!zn.static&&Me.name.kind===ca.StringLiteral&&Me.name.text==="constructor"&&zn.type!==aa.AST_NODE_TYPES.Property&&(zn.kind="constructor"),zn}case ca.Constructor:{let Bn=(0,ts.getLastModifier)(Me),Hn=Bn&&(0,ts.findNextToken)(Bn,Me,this.ast)||Me.getFirstToken(),zn=this.createNode(Me,{type:Me.body?aa.AST_NODE_TYPES.FunctionExpression:aa.AST_NODE_TYPES.TSEmptyBodyFunctionExpression,id:null,params:this.convertParameters(Me.parameters),generator:!1,expression:!1,async:!1,body:this.convertChild(Me.body),range:[Me.parameters.pos-1,Me.end]});Me.typeParameters&&(zn.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(Me.typeParameters),this.fixParentLocation(zn,zn.typeParameters.range)),Me.type&&(zn.returnType=this.convertTypeAnnotation(Me.type,Me));let ni=this.createNode(Me,{type:aa.AST_NODE_TYPES.Identifier,name:"constructor",range:[Hn.getStart(this.ast),Hn.end]}),Ci=(0,ts.hasModifier)(ca.StaticKeyword,Me),Ps=this.createNode(Me,{type:(0,ts.hasModifier)(ca.AbstractKeyword,Me)?aa.AST_NODE_TYPES.TSAbstractMethodDefinition:aa.AST_NODE_TYPES.MethodDefinition,key:ni,value:zn,computed:!1,static:Ci,kind:Ci?"method":"constructor",override:!1}),oa=(0,ts.getTSNodeAccessibility)(Me);return oa&&(Ps.accessibility=oa),Ps}case ca.FunctionExpression:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.FunctionExpression,id:this.convertChild(Me.name),generator:!!Me.asteriskToken,params:this.convertParameters(Me.parameters),body:this.convertChild(Me.body),async:(0,ts.hasModifier)(ca.AsyncKeyword,Me),expression:!1});return Me.type&&(Bn.returnType=this.convertTypeAnnotation(Me.type,Me)),Me.typeParameters&&(Bn.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(Me.typeParameters)),Bn}case ca.SuperKeyword:return this.createNode(Me,{type:aa.AST_NODE_TYPES.Super});case ca.ArrayBindingPattern:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ArrayPattern,elements:Me.elements.map((Me=>this.convertPattern(Me)))});case ca.OmittedExpression:return null;case ca.ObjectBindingPattern:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ObjectPattern,properties:Me.elements.map((Me=>this.convertPattern(Me)))});case ca.BindingElement:if(Bn.kind===ca.ArrayBindingPattern){let Hn=this.convertChild(Me.name,Bn);return Me.initializer?this.createNode(Me,{type:aa.AST_NODE_TYPES.AssignmentPattern,left:Hn,right:this.convertChild(Me.initializer)}):Me.dotDotDotToken?this.createNode(Me,{type:aa.AST_NODE_TYPES.RestElement,argument:Hn}):Hn}else{let Bn;return Me.dotDotDotToken?Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.RestElement,argument:this.convertChild((Hn=Me.propertyName)!==null&&Hn!==void 0?Hn:Me.name)}):Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.Property,key:this.convertChild((zn=Me.propertyName)!==null&&zn!==void 0?zn:Me.name),value:this.convertChild(Me.name),computed:Boolean(Me.propertyName&&Me.propertyName.kind===ca.ComputedPropertyName),method:!1,shorthand:!Me.propertyName,kind:"init"}),Me.initializer&&(Bn.value=this.createNode(Me,{type:aa.AST_NODE_TYPES.AssignmentPattern,left:this.convertChild(Me.name),right:this.convertChild(Me.initializer),range:[Me.name.getStart(this.ast),Me.initializer.end]})),Bn}case ca.ArrowFunction:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.ArrowFunctionExpression,generator:!1,id:null,params:this.convertParameters(Me.parameters),body:this.convertChild(Me.body),async:(0,ts.hasModifier)(ca.AsyncKeyword,Me),expression:Me.body.kind!==ca.Block});return Me.type&&(Bn.returnType=this.convertTypeAnnotation(Me.type,Me)),Me.typeParameters&&(Bn.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(Me.typeParameters)),Bn}case ca.YieldExpression:return this.createNode(Me,{type:aa.AST_NODE_TYPES.YieldExpression,delegate:!!Me.asteriskToken,argument:this.convertChild(Me.expression)});case ca.AwaitExpression:return this.createNode(Me,{type:aa.AST_NODE_TYPES.AwaitExpression,argument:this.convertChild(Me.expression)});case ca.NoSubstitutionTemplateLiteral:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TemplateLiteral,quasis:[this.createNode(Me,{type:aa.AST_NODE_TYPES.TemplateElement,value:{raw:this.ast.text.slice(Me.getStart(this.ast)+1,Me.end-1),cooked:Me.text},tail:!0})],expressions:[]});case ca.TemplateExpression:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TemplateLiteral,quasis:[this.convertChild(Me.head)],expressions:[]});return Me.templateSpans.forEach((Me=>{Bn.expressions.push(this.convertChild(Me.expression)),Bn.quasis.push(this.convertChild(Me.literal))})),Bn}case ca.TaggedTemplateExpression:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TaggedTemplateExpression,typeParameters:Me.typeArguments?this.convertTypeArgumentsToTypeParameters(Me.typeArguments,Me):void 0,tag:this.convertChild(Me.tag),quasi:this.convertChild(Me.template)});case ca.TemplateHead:case ca.TemplateMiddle:case ca.TemplateTail:{let Bn=Me.kind===ca.TemplateTail;return this.createNode(Me,{type:aa.AST_NODE_TYPES.TemplateElement,value:{raw:this.ast.text.slice(Me.getStart(this.ast)+1,Me.end-(Bn?1:2)),cooked:Me.text},tail:Bn})}case ca.SpreadAssignment:case ca.SpreadElement:return this.allowPattern?this.createNode(Me,{type:aa.AST_NODE_TYPES.RestElement,argument:this.convertPattern(Me.expression)}):this.createNode(Me,{type:aa.AST_NODE_TYPES.SpreadElement,argument:this.convertChild(Me.expression)});case ca.Parameter:{let Hn,zn;return Me.dotDotDotToken?Hn=zn=this.createNode(Me,{type:aa.AST_NODE_TYPES.RestElement,argument:this.convertChild(Me.name)}):Me.initializer?(Hn=this.convertChild(Me.name),zn=this.createNode(Me,{type:aa.AST_NODE_TYPES.AssignmentPattern,left:Hn,right:this.convertChild(Me.initializer)}),(0,Ci.getModifiers)(Me)&&(zn.range[0]=Hn.range[0],zn.loc=(0,ts.getLocFor)(zn.range[0],zn.range[1],this.ast))):Hn=zn=this.convertChild(Me.name,Bn),Me.type&&(Hn.typeAnnotation=this.convertTypeAnnotation(Me.type,Me),this.fixParentLocation(Hn,Hn.typeAnnotation.range)),Me.questionToken&&(Me.questionToken.end>Hn.range[1]&&(Hn.range[1]=Me.questionToken.end,Hn.loc.end=(0,ts.getLineAndCharacterFor)(Hn.range[1],this.ast)),Hn.optional=!0),(0,Ci.getModifiers)(Me)?this.createNode(Me,{type:aa.AST_NODE_TYPES.TSParameterProperty,accessibility:(Ps=(0,ts.getTSNodeAccessibility)(Me))!==null&&Ps!==void 0?Ps:void 0,readonly:(0,ts.hasModifier)(ca.ReadonlyKeyword,Me)||void 0,static:(0,ts.hasModifier)(ca.StaticKeyword,Me)||void 0,export:(0,ts.hasModifier)(ca.ExportKeyword,Me)||void 0,override:(0,ts.hasModifier)(ca.OverrideKeyword,Me)||void 0,parameter:zn}):zn}case ca.ClassDeclaration:case ca.ClassExpression:{let Bn=(_a=Me.heritageClauses)!==null&&_a!==void 0?_a:[],Hn=Me.kind===ca.ClassDeclaration?aa.AST_NODE_TYPES.ClassDeclaration:aa.AST_NODE_TYPES.ClassExpression,zn=Bn.find((Me=>Me.token===ca.ExtendsKeyword)),ni=Bn.find((Me=>Me.token===ca.ImplementsKeyword)),Ps=this.createNode(Me,{type:Hn,id:this.convertChild(Me.name),body:this.createNode(Me,{type:aa.AST_NODE_TYPES.ClassBody,body:[],range:[Me.members.pos-1,Me.end]}),superClass:zn!=null&&zn.types[0]?this.convertChild(zn.types[0].expression):null});if(zn){if(zn.types.length>1)throw(0,ts.createError)(this.ast,zn.types[1].pos,"Classes can only extend a single class.");!((xa=zn.types[0])===null||xa===void 0)&&xa.typeArguments&&(Ps.superTypeParameters=this.convertTypeArgumentsToTypeParameters(zn.types[0].typeArguments,zn.types[0]))}Me.typeParameters&&(Ps.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(Me.typeParameters)),ni&&(Ps.implements=ni.types.map((Me=>this.convertChild(Me)))),(0,ts.hasModifier)(ca.AbstractKeyword,Me)&&(Ps.abstract=!0),(0,ts.hasModifier)(ca.DeclareKeyword,Me)&&(Ps.declare=!0);let oa=(0,Ci.getDecorators)(Me);oa&&(Ps.decorators=oa.map((Me=>this.convertChild(Me))));let Ga=Me.members.filter(ts.isESTreeClassMember);return Ga.length&&(Ps.body.body=Ga.map((Me=>this.convertChild(Me)))),this.fixExports(Me,Ps)}case ca.ModuleBlock:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSModuleBlock,body:this.convertBodyExpressions(Me.statements,Me)});case ca.ImportDeclaration:{this.assertModuleSpecifier(Me,!1);let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.ImportDeclaration,source:this.convertChild(Me.moduleSpecifier),specifiers:[],importKind:"value",assertions:this.convertAssertClasue(Me.assertClause)});if(Me.importClause&&(Me.importClause.isTypeOnly&&(Bn.importKind="type"),Me.importClause.name&&Bn.specifiers.push(this.convertChild(Me.importClause)),Me.importClause.namedBindings))switch(Me.importClause.namedBindings.kind){case ca.NamespaceImport:Bn.specifiers.push(this.convertChild(Me.importClause.namedBindings));break;case ca.NamedImports:Bn.specifiers=Bn.specifiers.concat(Me.importClause.namedBindings.elements.map((Me=>this.convertChild(Me))));break}return Bn}case ca.NamespaceImport:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ImportNamespaceSpecifier,local:this.convertChild(Me.name)});case ca.ImportSpecifier:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ImportSpecifier,local:this.convertChild(Me.name),imported:this.convertChild((Ga=Me.propertyName)!==null&&Ga!==void 0?Ga:Me.name),importKind:Me.isTypeOnly?"type":"value"});case ca.ImportClause:{let Bn=this.convertChild(Me.name);return this.createNode(Me,{type:aa.AST_NODE_TYPES.ImportDefaultSpecifier,local:Bn,range:Bn.range})}case ca.ExportDeclaration:return((Ha=Me.exportClause)===null||Ha===void 0?void 0:Ha.kind)===ca.NamedExports?(this.assertModuleSpecifier(Me,!0),this.createNode(Me,{type:aa.AST_NODE_TYPES.ExportNamedDeclaration,source:this.convertChild(Me.moduleSpecifier),specifiers:Me.exportClause.elements.map((Me=>this.convertChild(Me))),exportKind:Me.isTypeOnly?"type":"value",declaration:null,assertions:this.convertAssertClasue(Me.assertClause)})):(this.assertModuleSpecifier(Me,!1),this.createNode(Me,{type:aa.AST_NODE_TYPES.ExportAllDeclaration,source:this.convertChild(Me.moduleSpecifier),exportKind:Me.isTypeOnly?"type":"value",exported:Me.exportClause&&Me.exportClause.kind===ca.NamespaceExport?this.convertChild(Me.exportClause.name):null,assertions:this.convertAssertClasue(Me.assertClause)}));case ca.ExportSpecifier:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ExportSpecifier,local:this.convertChild((so=Me.propertyName)!==null&&so!==void 0?so:Me.name),exported:this.convertChild(Me.name),exportKind:Me.isTypeOnly?"type":"value"});case ca.ExportAssignment:return Me.isExportEquals?this.createNode(Me,{type:aa.AST_NODE_TYPES.TSExportAssignment,expression:this.convertChild(Me.expression)}):this.createNode(Me,{type:aa.AST_NODE_TYPES.ExportDefaultDeclaration,declaration:this.convertChild(Me.expression),exportKind:"value"});case ca.PrefixUnaryExpression:case ca.PostfixUnaryExpression:{let Bn=(0,ts.getTextForTokenKind)(Me.operator);return Bn==="++"||Bn==="--"?this.createNode(Me,{type:aa.AST_NODE_TYPES.UpdateExpression,operator:Bn,prefix:Me.kind===ca.PrefixUnaryExpression,argument:this.convertChild(Me.operand)}):this.createNode(Me,{type:aa.AST_NODE_TYPES.UnaryExpression,operator:Bn,prefix:Me.kind===ca.PrefixUnaryExpression,argument:this.convertChild(Me.operand)})}case ca.DeleteExpression:return this.createNode(Me,{type:aa.AST_NODE_TYPES.UnaryExpression,operator:"delete",prefix:!0,argument:this.convertChild(Me.expression)});case ca.VoidExpression:return this.createNode(Me,{type:aa.AST_NODE_TYPES.UnaryExpression,operator:"void",prefix:!0,argument:this.convertChild(Me.expression)});case ca.TypeOfExpression:return this.createNode(Me,{type:aa.AST_NODE_TYPES.UnaryExpression,operator:"typeof",prefix:!0,argument:this.convertChild(Me.expression)});case ca.TypeOperator:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSTypeOperator,operator:(0,ts.getTextForTokenKind)(Me.operator),typeAnnotation:this.convertChild(Me.type)});case ca.BinaryExpression:if((0,ts.isComma)(Me.operatorToken)){let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.SequenceExpression,expressions:[]}),Hn=this.convertChild(Me.left);return Hn.type===aa.AST_NODE_TYPES.SequenceExpression&&Me.left.kind!==ca.ParenthesizedExpression?Bn.expressions=Bn.expressions.concat(Hn.expressions):Bn.expressions.push(Hn),Bn.expressions.push(this.convertChild(Me.right)),Bn}else{let Bn=(0,ts.getBinaryExpressionType)(Me.operatorToken);return this.allowPattern&&Bn===aa.AST_NODE_TYPES.AssignmentExpression?this.createNode(Me,{type:aa.AST_NODE_TYPES.AssignmentPattern,left:this.convertPattern(Me.left,Me),right:this.convertChild(Me.right)}):this.createNode(Me,{type:Bn,operator:(0,ts.getTextForTokenKind)(Me.operatorToken.kind),left:this.converter(Me.left,Me,this.inTypeMode,Bn===aa.AST_NODE_TYPES.AssignmentExpression),right:this.convertChild(Me.right)})}case ca.PropertyAccessExpression:{let Bn=this.convertChild(Me.expression),Hn=this.convertChild(Me.name),zn=!1,ni=this.createNode(Me,{type:aa.AST_NODE_TYPES.MemberExpression,object:Bn,property:Hn,computed:zn,optional:Me.questionDotToken!==void 0});return this.convertChainExpression(ni,Me)}case ca.ElementAccessExpression:{let Bn=this.convertChild(Me.expression),Hn=this.convertChild(Me.argumentExpression),zn=!0,ni=this.createNode(Me,{type:aa.AST_NODE_TYPES.MemberExpression,object:Bn,property:Hn,computed:zn,optional:Me.questionDotToken!==void 0});return this.convertChainExpression(ni,Me)}case ca.CallExpression:{if(Me.expression.kind===ca.ImportKeyword){if(Me.arguments.length!==1&&Me.arguments.length!==2)throw(0,ts.createError)(this.ast,Me.arguments.pos,"Dynamic import requires exactly one or two arguments.");return this.createNode(Me,{type:aa.AST_NODE_TYPES.ImportExpression,source:this.convertChild(Me.arguments[0]),attributes:Me.arguments[1]?this.convertChild(Me.arguments[1]):null})}let Bn=this.convertChild(Me.expression),Hn=Me.arguments.map((Me=>this.convertChild(Me))),zn=this.createNode(Me,{type:aa.AST_NODE_TYPES.CallExpression,callee:Bn,arguments:Hn,optional:Me.questionDotToken!==void 0});return Me.typeArguments&&(zn.typeParameters=this.convertTypeArgumentsToTypeParameters(Me.typeArguments,Me)),this.convertChainExpression(zn,Me)}case ca.NewExpression:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.NewExpression,callee:this.convertChild(Me.expression),arguments:Me.arguments?Me.arguments.map((Me=>this.convertChild(Me))):[]});return Me.typeArguments&&(Bn.typeParameters=this.convertTypeArgumentsToTypeParameters(Me.typeArguments,Me)),Bn}case ca.ConditionalExpression:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ConditionalExpression,test:this.convertChild(Me.condition),consequent:this.convertChild(Me.whenTrue),alternate:this.convertChild(Me.whenFalse)});case ca.MetaProperty:return this.createNode(Me,{type:aa.AST_NODE_TYPES.MetaProperty,meta:this.createNode(Me.getFirstToken(),{type:aa.AST_NODE_TYPES.Identifier,name:(0,ts.getTextForTokenKind)(Me.keywordToken)}),property:this.convertChild(Me.name)});case ca.Decorator:return this.createNode(Me,{type:aa.AST_NODE_TYPES.Decorator,expression:this.convertChild(Me.expression)});case ca.StringLiteral:return this.createNode(Me,{type:aa.AST_NODE_TYPES.Literal,value:Bn.kind===ca.JsxAttribute?(0,ts.unescapeStringLiteralText)(Me.text):Me.text,raw:Me.getText()});case ca.NumericLiteral:return this.createNode(Me,{type:aa.AST_NODE_TYPES.Literal,value:Number(Me.text),raw:Me.getText()});case ca.BigIntLiteral:{let Bn=(0,ts.getRange)(Me,this.ast),Hn=this.ast.text.slice(Bn[0],Bn[1]),zn=Hn.slice(0,-1).replace(/_/g,""),ni=typeof BigInt<"u"?BigInt(zn):null;return this.createNode(Me,{type:aa.AST_NODE_TYPES.Literal,raw:Hn,value:ni,bigint:ni==null?zn:String(ni),range:Bn})}case ca.RegularExpressionLiteral:{let Bn=Me.text.slice(1,Me.text.lastIndexOf("/")),Hn=Me.text.slice(Me.text.lastIndexOf("/")+1),zn=null;try{zn=new RegExp(Bn,Hn)}catch{zn=null}return this.createNode(Me,{type:aa.AST_NODE_TYPES.Literal,value:zn,raw:Me.text,regex:{pattern:Bn,flags:Hn}})}case ca.TrueKeyword:return this.createNode(Me,{type:aa.AST_NODE_TYPES.Literal,value:!0,raw:"true"});case ca.FalseKeyword:return this.createNode(Me,{type:aa.AST_NODE_TYPES.Literal,value:!1,raw:"false"});case ca.NullKeyword:return!oa.typescriptVersionIsAtLeast["4.0"]&&this.inTypeMode?this.createNode(Me,{type:aa.AST_NODE_TYPES.TSNullKeyword}):this.createNode(Me,{type:aa.AST_NODE_TYPES.Literal,value:null,raw:"null"});case ca.EmptyStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.EmptyStatement});case ca.DebuggerStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.DebuggerStatement});case ca.JsxElement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXElement,openingElement:this.convertChild(Me.openingElement),closingElement:this.convertChild(Me.closingElement),children:Me.children.map((Me=>this.convertChild(Me)))});case ca.JsxFragment:return this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXFragment,openingFragment:this.convertChild(Me.openingFragment),closingFragment:this.convertChild(Me.closingFragment),children:Me.children.map((Me=>this.convertChild(Me)))});case ca.JsxSelfClosingElement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXElement,openingElement:this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXOpeningElement,typeParameters:Me.typeArguments?this.convertTypeArgumentsToTypeParameters(Me.typeArguments,Me):void 0,selfClosing:!0,name:this.convertJSXTagName(Me.tagName,Me),attributes:Me.attributes.properties.map((Me=>this.convertChild(Me))),range:(0,ts.getRange)(Me,this.ast)}),closingElement:null,children:[]});case ca.JsxOpeningElement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXOpeningElement,typeParameters:Me.typeArguments?this.convertTypeArgumentsToTypeParameters(Me.typeArguments,Me):void 0,selfClosing:!1,name:this.convertJSXTagName(Me.tagName,Me),attributes:Me.attributes.properties.map((Me=>this.convertChild(Me)))});case ca.JsxClosingElement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXClosingElement,name:this.convertJSXTagName(Me.tagName,Me)});case ca.JsxOpeningFragment:return this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXOpeningFragment});case ca.JsxClosingFragment:return this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXClosingFragment});case ca.JsxExpression:{let Bn=Me.expression?this.convertChild(Me.expression):this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXEmptyExpression,range:[Me.getStart(this.ast)+1,Me.getEnd()-1]});return Me.dotDotDotToken?this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXSpreadChild,expression:Bn}):this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXExpressionContainer,expression:Bn})}case ca.JsxAttribute:return this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXAttribute,name:this.convertJSXNamespaceOrIdentifier(Me.name),value:this.convertChild(Me.initializer)});case ca.JsxText:{let Bn=Me.getFullStart(),Hn=Me.getEnd(),zn=this.ast.text.slice(Bn,Hn);return this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXText,value:(0,ts.unescapeStringLiteralText)(zn),raw:zn,range:[Bn,Hn]})}case ca.JsxSpreadAttribute:return this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXSpreadAttribute,argument:this.convertChild(Me.expression)});case ca.QualifiedName:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSQualifiedName,left:this.convertChild(Me.left),right:this.convertChild(Me.right)});case ca.TypeReference:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSTypeReference,typeName:this.convertType(Me.typeName),typeParameters:Me.typeArguments?this.convertTypeArgumentsToTypeParameters(Me.typeArguments,Me):void 0});case ca.TypeParameter:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSTypeParameter,name:this.convertType(Me.name),constraint:Me.constraint?this.convertType(Me.constraint):void 0,default:Me.default?this.convertType(Me.default):void 0,in:(0,ts.hasModifier)(ca.InKeyword,Me),out:(0,ts.hasModifier)(ca.OutKeyword,Me),const:(0,ts.hasModifier)(ca.ConstKeyword,Me)});case ca.ThisType:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSThisType});case ca.AnyKeyword:case ca.BigIntKeyword:case ca.BooleanKeyword:case ca.NeverKeyword:case ca.NumberKeyword:case ca.ObjectKeyword:case ca.StringKeyword:case ca.SymbolKeyword:case ca.UnknownKeyword:case ca.VoidKeyword:case ca.UndefinedKeyword:case ca.IntrinsicKeyword:return this.createNode(Me,{type:aa.AST_NODE_TYPES[`TS${ca[Me.kind]}`]});case ca.NonNullExpression:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TSNonNullExpression,expression:this.convertChild(Me.expression)});return this.convertChainExpression(Bn,Me)}case ca.TypeLiteral:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSTypeLiteral,members:Me.members.map((Me=>this.convertChild(Me)))});case ca.ArrayType:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSArrayType,elementType:this.convertType(Me.elementType)});case ca.IndexedAccessType:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSIndexedAccessType,objectType:this.convertType(Me.objectType),indexType:this.convertType(Me.indexType)});case ca.ConditionalType:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSConditionalType,checkType:this.convertType(Me.checkType),extendsType:this.convertType(Me.extendsType),trueType:this.convertType(Me.trueType),falseType:this.convertType(Me.falseType)});case ca.TypeQuery:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSTypeQuery,exprName:this.convertType(Me.exprName),typeParameters:Me.typeArguments&&this.convertTypeArgumentsToTypeParameters(Me.typeArguments,Me)});case ca.MappedType:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TSMappedType,typeParameter:this.convertType(Me.typeParameter),nameType:(oo=this.convertType(Me.nameType))!==null&&oo!==void 0?oo:null});return Me.readonlyToken&&(Me.readonlyToken.kind===ca.ReadonlyKeyword?Bn.readonly=!0:Bn.readonly=(0,ts.getTextForTokenKind)(Me.readonlyToken.kind)),Me.questionToken&&(Me.questionToken.kind===ca.QuestionToken?Bn.optional=!0:Bn.optional=(0,ts.getTextForTokenKind)(Me.questionToken.kind)),Me.type&&(Bn.typeAnnotation=this.convertType(Me.type)),Bn}case ca.ParenthesizedExpression:return this.convertChild(Me.expression,Bn);case ca.TypeAliasDeclaration:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TSTypeAliasDeclaration,id:this.convertChild(Me.name),typeAnnotation:this.convertType(Me.type)});return(0,ts.hasModifier)(ca.DeclareKeyword,Me)&&(Bn.declare=!0),Me.typeParameters&&(Bn.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(Me.typeParameters)),this.fixExports(Me,Bn)}case ca.MethodSignature:return this.convertMethodSignature(Me);case ca.PropertySignature:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TSPropertySignature,optional:(0,ts.isOptional)(Me)||void 0,computed:(0,ts.isComputedProperty)(Me.name),key:this.convertChild(Me.name),typeAnnotation:Me.type?this.convertTypeAnnotation(Me.type,Me):void 0,initializer:this.convertChild(Me.initializer)||void 0,readonly:(0,ts.hasModifier)(ca.ReadonlyKeyword,Me)||void 0,static:(0,ts.hasModifier)(ca.StaticKeyword,Me)||void 0,export:(0,ts.hasModifier)(ca.ExportKeyword,Me)||void 0}),Hn=(0,ts.getTSNodeAccessibility)(Me);return Hn&&(Bn.accessibility=Hn),Bn}case ca.IndexSignature:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TSIndexSignature,parameters:Me.parameters.map((Me=>this.convertChild(Me)))});Me.type&&(Bn.typeAnnotation=this.convertTypeAnnotation(Me.type,Me)),(0,ts.hasModifier)(ca.ReadonlyKeyword,Me)&&(Bn.readonly=!0);let Hn=(0,ts.getTSNodeAccessibility)(Me);return Hn&&(Bn.accessibility=Hn),(0,ts.hasModifier)(ca.ExportKeyword,Me)&&(Bn.export=!0),(0,ts.hasModifier)(ca.StaticKeyword,Me)&&(Bn.static=!0),Bn}case ca.ConstructorType:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TSConstructorType,params:this.convertParameters(Me.parameters),abstract:(0,ts.hasModifier)(ca.AbstractKeyword,Me)});return Me.type&&(Bn.returnType=this.convertTypeAnnotation(Me.type,Me)),Me.typeParameters&&(Bn.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(Me.typeParameters)),Bn}case ca.FunctionType:case ca.ConstructSignature:case ca.CallSignature:{let Bn=Me.kind===ca.ConstructSignature?aa.AST_NODE_TYPES.TSConstructSignatureDeclaration:Me.kind===ca.CallSignature?aa.AST_NODE_TYPES.TSCallSignatureDeclaration:aa.AST_NODE_TYPES.TSFunctionType,Hn=this.createNode(Me,{type:Bn,params:this.convertParameters(Me.parameters)});return Me.type&&(Hn.returnType=this.convertTypeAnnotation(Me.type,Me)),Me.typeParameters&&(Hn.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(Me.typeParameters)),Hn}case ca.ExpressionWithTypeArguments:{let Hn=Bn.kind,zn=Hn===ca.InterfaceDeclaration?aa.AST_NODE_TYPES.TSInterfaceHeritage:Hn===ca.HeritageClause?aa.AST_NODE_TYPES.TSClassImplements:aa.AST_NODE_TYPES.TSInstantiationExpression,ni=this.createNode(Me,{type:zn,expression:this.convertChild(Me.expression)});return Me.typeArguments&&(ni.typeParameters=this.convertTypeArgumentsToTypeParameters(Me.typeArguments,Me)),ni}case ca.InterfaceDeclaration:{let Bn=(Jo=Me.heritageClauses)!==null&&Jo!==void 0?Jo:[],Hn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TSInterfaceDeclaration,body:this.createNode(Me,{type:aa.AST_NODE_TYPES.TSInterfaceBody,body:Me.members.map((Me=>this.convertChild(Me))),range:[Me.members.pos-1,Me.end]}),id:this.convertChild(Me.name)});if(Me.typeParameters&&(Hn.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(Me.typeParameters)),Bn.length>0){let zn=[],ni=[];for(let Hn of Bn)if(Hn.token===ca.ExtendsKeyword)for(let Bn of Hn.types)zn.push(this.convertChild(Bn,Me));else for(let Bn of Hn.types)ni.push(this.convertChild(Bn,Me));zn.length&&(Hn.extends=zn),ni.length&&(Hn.implements=ni)}return(0,ts.hasModifier)(ca.AbstractKeyword,Me)&&(Hn.abstract=!0),(0,ts.hasModifier)(ca.DeclareKeyword,Me)&&(Hn.declare=!0),this.fixExports(Me,Hn)}case ca.TypePredicate:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TSTypePredicate,asserts:Me.assertsModifier!==void 0,parameterName:this.convertChild(Me.parameterName),typeAnnotation:null});return Me.type&&(Bn.typeAnnotation=this.convertTypeAnnotation(Me.type,Me),Bn.typeAnnotation.loc=Bn.typeAnnotation.typeAnnotation.loc,Bn.typeAnnotation.range=Bn.typeAnnotation.typeAnnotation.range),Bn}case ca.ImportType:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSImportType,isTypeOf:!!Me.isTypeOf,parameter:this.convertChild(Me.argument),qualifier:this.convertChild(Me.qualifier),typeParameters:Me.typeArguments?this.convertTypeArgumentsToTypeParameters(Me.typeArguments,Me):null});case ca.EnumDeclaration:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TSEnumDeclaration,id:this.convertChild(Me.name),members:Me.members.map((Me=>this.convertChild(Me)))});return this.applyModifiersToResult(Bn,(0,Ci.getModifiers)(Me)),this.fixExports(Me,Bn)}case ca.EnumMember:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TSEnumMember,id:this.convertChild(Me.name)});return Me.initializer&&(Bn.initializer=this.convertChild(Me.initializer)),Me.name.kind===ni.SyntaxKind.ComputedPropertyName&&(Bn.computed=!0),Bn}case ca.ModuleDeclaration:{let Bn=this.createNode(Me,Object.assign({type:aa.AST_NODE_TYPES.TSModuleDeclaration},(()=>{let Bn=this.convertChild(Me.name),Hn=this.convertChild(Me.body);if(Me.flags&ni.NodeFlags.GlobalAugmentation){if(Hn==null||Hn.type===aa.AST_NODE_TYPES.TSModuleDeclaration)throw new Error("Expected a valid module body");if(Bn.type!==aa.AST_NODE_TYPES.Identifier)throw new Error("global module augmentation must have an Identifier id");return{kind:"global",id:Bn,body:Hn,global:!0}}else if(Me.flags&ni.NodeFlags.Namespace){if(Hn==null)throw new Error("Expected a module body");if(Bn.type!==aa.AST_NODE_TYPES.Identifier)throw new Error("`namespace`s must have an Identifier id");return{kind:"namespace",id:Bn,body:Hn}}else return Object.assign({kind:"module",id:Bn},Hn!=null?{body:Hn}:{})})()));return this.applyModifiersToResult(Bn,(0,Ci.getModifiers)(Me)),this.fixExports(Me,Bn)}case ca.ParenthesizedType:return this.convertType(Me.type);case ca.UnionType:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSUnionType,types:Me.types.map((Me=>this.convertType(Me)))});case ca.IntersectionType:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSIntersectionType,types:Me.types.map((Me=>this.convertType(Me)))});case ca.AsExpression:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSAsExpression,expression:this.convertChild(Me.expression),typeAnnotation:this.convertType(Me.type)});case ca.InferType:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSInferType,typeParameter:this.convertType(Me.typeParameter)});case ca.LiteralType:return oa.typescriptVersionIsAtLeast["4.0"]&&Me.literal.kind===ca.NullKeyword?this.createNode(Me.literal,{type:aa.AST_NODE_TYPES.TSNullKeyword}):this.createNode(Me,{type:aa.AST_NODE_TYPES.TSLiteralType,literal:this.convertType(Me.literal)});case ca.TypeAssertionExpression:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSTypeAssertion,typeAnnotation:this.convertType(Me.type),expression:this.convertChild(Me.expression)});case ca.ImportEqualsDeclaration:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSImportEqualsDeclaration,id:this.convertChild(Me.name),moduleReference:this.convertChild(Me.moduleReference),importKind:Me.isTypeOnly?"type":"value",isExport:(0,ts.hasModifier)(ca.ExportKeyword,Me)});case ca.ExternalModuleReference:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSExternalModuleReference,expression:this.convertChild(Me.expression)});case ca.NamespaceExportDeclaration:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSNamespaceExportDeclaration,id:this.convertChild(Me.name)});case ca.AbstractKeyword:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSAbstractKeyword});case ca.TupleType:{let Bn="elementTypes"in Me?Me.elementTypes.map((Me=>this.convertType(Me))):Me.elements.map((Me=>this.convertType(Me)));return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSTupleType,elementTypes:Bn})}case ca.NamedTupleMember:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TSNamedTupleMember,elementType:this.convertType(Me.type,Me),label:this.convertChild(Me.name,Me),optional:Me.questionToken!=null});return Me.dotDotDotToken?(Bn.range[0]=Bn.label.range[0],Bn.loc.start=Bn.label.loc.start,this.createNode(Me,{type:aa.AST_NODE_TYPES.TSRestType,typeAnnotation:Bn})):Bn}case ca.OptionalType:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSOptionalType,typeAnnotation:this.convertType(Me.type)});case ca.RestType:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSRestType,typeAnnotation:this.convertType(Me.type)});case ca.TemplateLiteralType:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TSTemplateLiteralType,quasis:[this.convertChild(Me.head)],types:[]});return Me.templateSpans.forEach((Me=>{Bn.types.push(this.convertChild(Me.type)),Bn.quasis.push(this.convertChild(Me.literal))})),Bn}case ca.ClassStaticBlockDeclaration:return this.createNode(Me,{type:aa.AST_NODE_TYPES.StaticBlock,body:this.convertBodyExpressions(Me.body.statements,Me)});case ca.AssertEntry:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ImportAttribute,key:this.convertChild(Me.name),value:this.convertChild(Me.value)});case ca.SatisfiesExpression:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSSatisfiesExpression,expression:this.convertChild(Me.expression),typeAnnotation:this.convertChild(Me.type)});default:return this.deeplyCopy(Me)}}};Me.Converter=_a}}),zg={};m1(zg,{__assign:()=>Zg,__asyncDelegator:()=>TV,__asyncGenerator:()=>bV,__asyncValues:()=>SV,__await:()=>gp,__awaiter:()=>dV,__classPrivateFieldGet:()=>CV,__classPrivateFieldSet:()=>AV,__createBinding:()=>hV,__decorate:()=>uV,__exportStar:()=>gV,__extends:()=>cV,__generator:()=>mV,__importDefault:()=>wV,__importStar:()=>EV,__makeTemplateObject:()=>xV,__metadata:()=>fV,__param:()=>pV,__read:()=>$9,__rest:()=>lV,__spread:()=>yV,__spreadArrays:()=>vV,__values:()=>tT});function cV(Me,Bn){Xg(Me,Bn);function v(){this.constructor=Me}Me.prototype=Bn===null?Object.create(Bn):(v.prototype=Bn.prototype,new v)}function lV(Me,Bn){var Hn={};for(var zn in Me)Object.prototype.hasOwnProperty.call(Me,zn)&&Bn.indexOf(zn)<0&&(Hn[zn]=Me[zn]);if(Me!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ni=0,zn=Object.getOwnPropertySymbols(Me);ni=0;Ps--)(ts=Me[Ps])&&(Ci=(ni<3?ts(Ci):ni>3?ts(Bn,Hn,Ci):ts(Bn,Hn))||Ci);return ni>3&&Ci&&Object.defineProperty(Bn,Hn,Ci),Ci}function pV(Me,Bn){return function(Hn,zn){Bn(Hn,zn,Me)}}function fV(Me,Bn){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(Me,Bn)}function dV(Me,Bn,Hn,zn){function D(Me){return Me instanceof Hn?Me:new Hn((function(Bn){Bn(Me)}))}return new(Hn||(Hn=Promise))((function(Hn,ni){function m(Me){try{d(zn.next(Me))}catch(Me){ni(Me)}}function C(Me){try{d(zn.throw(Me))}catch(Me){ni(Me)}}function d(Me){Me.done?Hn(Me.value):D(Me.value).then(m,C)}d((zn=zn.apply(Me,Bn||[])).next())}))}function mV(Me,Bn){var Hn={label:0,sent:function(){if(Ci[0]&1)throw Ci[1];return Ci[1]},trys:[],ops:[]},zn,ni,Ci,ts;return ts={next:m(0),throw:m(1),return:m(2)},typeof Symbol=="function"&&(ts[Symbol.iterator]=function(){return this}),ts;function m(Me){return function(Bn){return C([Me,Bn])}}function C(ts){if(zn)throw new TypeError("Generator is already executing.");for(;Hn;)try{if(zn=1,ni&&(Ci=ts[0]&2?ni.return:ts[0]?ni.throw||((Ci=ni.return)&&Ci.call(ni),0):ni.next)&&!(Ci=Ci.call(ni,ts[1])).done)return Ci;switch(ni=0,Ci&&(ts=[ts[0]&2,Ci.value]),ts[0]){case 0:case 1:Ci=ts;break;case 4:return Hn.label++,{value:ts[1],done:!1};case 5:Hn.label++,ni=ts[1],ts=[0];continue;case 7:ts=Hn.ops.pop(),Hn.trys.pop();continue;default:if(Ci=Hn.trys,!(Ci=Ci.length>0&&Ci[Ci.length-1])&&(ts[0]===6||ts[0]===2)){Hn=0;continue}if(ts[0]===3&&(!Ci||ts[1]>Ci[0]&&ts[1]=Me.length&&(Me=void 0),{value:Me&&Me[zn++],done:!Me}}};throw new TypeError(Bn?"Object is not iterable.":"Symbol.iterator is not defined.")}function $9(Me,Bn){var Hn=typeof Symbol=="function"&&Me[Symbol.iterator];if(!Hn)return Me;var zn=Hn.call(Me),ni,Ci=[],ts;try{for(;(Bn===void 0||Bn-- >0)&&!(ni=zn.next()).done;)Ci.push(ni.value)}catch(Me){ts={error:Me}}finally{try{ni&&!ni.done&&(Hn=zn.return)&&Hn.call(zn)}finally{if(ts)throw ts.error}}return Ci}function yV(){for(var Me=[],Bn=0;Bn1||m(Me,Bn)}))})}function m(Me,Bn){try{C(zn[Me](Bn))}catch(Me){I(Ci[0][3],Me)}}function C(Me){Me.value instanceof gp?Promise.resolve(Me.value.v).then(d,E):I(Ci[0][2],Me)}function d(Me){m("next",Me)}function E(Me){m("throw",Me)}function I(Me,Bn){Me(Bn),Ci.shift(),Ci.length&&m(Ci[0][0],Ci[0][1])}}function TV(Me){var Bn,Hn;return Bn={},h("next"),h("throw",(function(Me){throw Me})),h("return"),Bn[Symbol.iterator]=function(){return this},Bn;function h(zn,ni){Bn[zn]=Me[zn]?function(Bn){return(Hn=!Hn)?{value:gp(Me[zn](Bn)),done:zn==="return"}:ni?ni(Bn):Bn}:ni}}function SV(Me){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var Bn=Me[Symbol.asyncIterator],Hn;return Bn?Bn.call(Me):(Me=typeof tT=="function"?tT(Me):Me[Symbol.iterator](),Hn={},h("next"),h("throw"),h("return"),Hn[Symbol.asyncIterator]=function(){return this},Hn);function h(Bn){Hn[Bn]=Me[Bn]&&function(Hn){return new Promise((function(zn,ni){Hn=Me[Bn](Hn),D(zn,ni,Hn.done,Hn.value)}))}}function D(Me,Bn,Hn,zn){Promise.resolve(zn).then((function(Bn){Me({value:Bn,done:Hn})}),Bn)}}function xV(Me,Bn){return Object.defineProperty?Object.defineProperty(Me,"raw",{value:Bn}):Me.raw=Bn,Me}function EV(Me){if(Me&&Me.__esModule)return Me;var Bn={};if(Me!=null)for(var Hn in Me)Object.hasOwnProperty.call(Me,Hn)&&(Bn[Hn]=Me[Hn]);return Bn.default=Me,Bn}function wV(Me){return Me&&Me.__esModule?Me:{default:Me}}function CV(Me,Bn){if(!Bn.has(Me))throw new TypeError("attempted to get private field on non-instance");return Bn.get(Me)}function AV(Me,Bn,Hn){if(!Bn.has(Me))throw new TypeError("attempted to set private field on non-instance");return Bn.set(Me,Hn),Hn}var Xg,Zg,f_=yp({"node_modules/tslib/tslib.es6.js"(){Ps(),Xg=function(Me,Bn){return Xg=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Me,Bn){Me.__proto__=Bn}||function(Me,Bn){for(var Hn in Bn)Bn.hasOwnProperty(Hn)&&(Me[Hn]=Bn[Hn])},Xg(Me,Bn)},Zg=function(){return Zg=Object.assign||function(Me){for(var Bn,Hn=1,zn=arguments.length;Hn=Bn.SyntaxKind.FirstLiteralToken&&Me.kind<=Bn.SyntaxKind.LastLiteralToken}Me.isLiteralExpression=Jr;function Qc(Me){return Me.kind===Bn.SyntaxKind.LiteralType}Me.isLiteralTypeNode=Qc;function ho(Me){return Me.kind===Bn.SyntaxKind.MappedType}Me.isMappedTypeNode=ho;function T_(Me){return Me.kind===Bn.SyntaxKind.MetaProperty}Me.isMetaProperty=T_;function go(Me){return Me.kind===Bn.SyntaxKind.MethodDeclaration}Me.isMethodDeclaration=go;function yo(Me){return Me.kind===Bn.SyntaxKind.MethodSignature}Me.isMethodSignature=yo;function Za(Me){return Me.kind===Bn.SyntaxKind.ModuleBlock}Me.isModuleBlock=Za;function vo(Me){return Me.kind===Bn.SyntaxKind.ModuleDeclaration}Me.isModuleDeclaration=vo;function S_(Me){return Me.kind===Bn.SyntaxKind.NamedExports}Me.isNamedExports=S_;function Zc(Me){return Me.kind===Bn.SyntaxKind.NamedImports}Me.isNamedImports=Zc;function Os(Me){return vo(Me)&&Me.name.kind===Bn.SyntaxKind.Identifier&&Me.body!==void 0&&(Me.body.kind===Bn.SyntaxKind.ModuleBlock||Os(Me.body))}Me.isNamespaceDeclaration=Os;function bo(Me){return Me.kind===Bn.SyntaxKind.NamespaceImport}Me.isNamespaceImport=bo;function el(Me){return Me.kind===Bn.SyntaxKind.NamespaceExportDeclaration}Me.isNamespaceExportDeclaration=el;function x_(Me){return Me.kind===Bn.SyntaxKind.NewExpression}Me.isNewExpression=x_;function E_(Me){return Me.kind===Bn.SyntaxKind.NonNullExpression}Me.isNonNullExpression=E_;function S(Me){return Me.kind===Bn.SyntaxKind.NoSubstitutionTemplateLiteral}Me.isNoSubstitutionTemplateLiteral=S;function H(Me){return Me.kind===Bn.SyntaxKind.NullKeyword}Me.isNullLiteral=H;function le(Me){return Me.kind===Bn.SyntaxKind.NumericLiteral}Me.isNumericLiteral=le;function Be(Me){switch(Me.kind){case Bn.SyntaxKind.StringLiteral:case Bn.SyntaxKind.NumericLiteral:case Bn.SyntaxKind.NoSubstitutionTemplateLiteral:return!0;default:return!1}}Me.isNumericOrStringLikeLiteral=Be;function rt(Me){return Me.kind===Bn.SyntaxKind.ObjectBindingPattern}Me.isObjectBindingPattern=rt;function ut(Me){return Me.kind===Bn.SyntaxKind.ObjectLiteralExpression}Me.isObjectLiteralExpression=ut;function Ht(Me){return Me.kind===Bn.SyntaxKind.OmittedExpression}Me.isOmittedExpression=Ht;function Fr(Me){return Me.kind===Bn.SyntaxKind.Parameter}Me.isParameterDeclaration=Fr;function Cr(Me){return Me.kind===Bn.SyntaxKind.ParenthesizedExpression}Me.isParenthesizedExpression=Cr;function ir(Me){return Me.kind===Bn.SyntaxKind.ParenthesizedType}Me.isParenthesizedTypeNode=ir;function en(Me){return Me.kind===Bn.SyntaxKind.PostfixUnaryExpression}Me.isPostfixUnaryExpression=en;function Ji(Me){return Me.kind===Bn.SyntaxKind.PrefixUnaryExpression}Me.isPrefixUnaryExpression=Ji;function gi(Me){return Me.kind===Bn.SyntaxKind.PropertyAccessExpression}Me.isPropertyAccessExpression=gi;function ln(Me){return Me.kind===Bn.SyntaxKind.PropertyAssignment}Me.isPropertyAssignment=ln;function ti(Me){return Me.kind===Bn.SyntaxKind.PropertyDeclaration}Me.isPropertyDeclaration=ti;function yn(Me){return Me.kind===Bn.SyntaxKind.PropertySignature}Me.isPropertySignature=yn;function w_(Me){return Me.kind===Bn.SyntaxKind.QualifiedName}Me.isQualifiedName=w_;function vp(Me){return Me.kind===Bn.SyntaxKind.RegularExpressionLiteral}Me.isRegularExpressionLiteral=vp;function C1(Me){return Me.kind===Bn.SyntaxKind.ReturnStatement}Me.isReturnStatement=C1;function rr(Me){return Me.kind===Bn.SyntaxKind.SetAccessor}Me.isSetAccessorDeclaration=rr;function bp(Me){return Me.kind===Bn.SyntaxKind.ShorthandPropertyAssignment}Me.isShorthandPropertyAssignment=bp;function Tp(Me){return Me.parameters!==void 0}Me.isSignatureDeclaration=Tp;function A1(Me){return Me.kind===Bn.SyntaxKind.SourceFile}Me.isSourceFile=A1;function tl(Me){return Me.kind===Bn.SyntaxKind.SpreadAssignment}Me.isSpreadAssignment=tl;function An(Me){return Me.kind===Bn.SyntaxKind.SpreadElement}Me.isSpreadElement=An;function P1(Me){return Me.kind===Bn.SyntaxKind.StringLiteral}Me.isStringLiteral=P1;function D1(Me){return Me.kind===Bn.SyntaxKind.SwitchStatement}Me.isSwitchStatement=D1;function k1(Me){return Me.kind===Bn.SyntaxKind.SyntaxList}Me.isSyntaxList=k1;function fa(Me){return Me.kind===Bn.SyntaxKind.TaggedTemplateExpression}Me.isTaggedTemplateExpression=fa;function Ms(Me){return Me.kind===Bn.SyntaxKind.TemplateExpression}Me.isTemplateExpression=Ms;function To(Me){return Me.kind===Bn.SyntaxKind.TemplateExpression||Me.kind===Bn.SyntaxKind.NoSubstitutionTemplateLiteral}Me.isTemplateLiteral=To;function Sp(Me){return Me.kind===Bn.SyntaxKind.StringLiteral||Me.kind===Bn.SyntaxKind.NoSubstitutionTemplateLiteral}Me.isTextualLiteral=Sp;function Vr(Me){return Me.kind===Bn.SyntaxKind.ThrowStatement}Me.isThrowStatement=Vr;function I1(Me){return Me.kind===Bn.SyntaxKind.TryStatement}Me.isTryStatement=I1;function N1(Me){return Me.kind===Bn.SyntaxKind.TupleType}Me.isTupleTypeNode=N1;function C_(Me){return Me.kind===Bn.SyntaxKind.TypeAliasDeclaration}Me.isTypeAliasDeclaration=C_;function O1(Me){return Me.kind===Bn.SyntaxKind.TypeAssertionExpression}Me.isTypeAssertion=O1;function ri(Me){return Me.kind===Bn.SyntaxKind.TypeLiteral}Me.isTypeLiteralNode=ri;function rl(Me){return Me.kind===Bn.SyntaxKind.TypeOfExpression}Me.isTypeOfExpression=rl;function M1(Me){return Me.kind===Bn.SyntaxKind.TypeOperator}Me.isTypeOperatorNode=M1;function xp(Me){return Me.kind===Bn.SyntaxKind.TypeParameter}Me.isTypeParameterDeclaration=xp;function L1(Me){return Me.kind===Bn.SyntaxKind.TypePredicate}Me.isTypePredicateNode=L1;function R1(Me){return Me.kind===Bn.SyntaxKind.TypeReference}Me.isTypeReferenceNode=R1;function j1(Me){return Me.kind===Bn.SyntaxKind.TypeQuery}Me.isTypeQueryNode=j1;function Ep(Me){return Me.kind===Bn.SyntaxKind.UnionType}Me.isUnionTypeNode=Ep;function J1(Me){return Me.kind===Bn.SyntaxKind.VariableDeclaration}Me.isVariableDeclaration=J1;function es(Me){return Me.kind===Bn.SyntaxKind.VariableStatement}Me.isVariableStatement=es;function F1(Me){return Me.kind===Bn.SyntaxKind.VariableDeclarationList}Me.isVariableDeclarationList=F1;function B1(Me){return Me.kind===Bn.SyntaxKind.VoidExpression}Me.isVoidExpression=B1;function Fi(Me){return Me.kind===Bn.SyntaxKind.WhileStatement}Me.isWhileStatement=Fi;function q1(Me){return Me.kind===Bn.SyntaxKind.WithStatement}Me.isWithStatement=q1}}),ey=Oe({"node_modules/tsutils/typeguard/2.9/node.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.isImportTypeNode=void 0;var Bn=(f_(),Li(zg));Bn.__exportStar(Z_(),Me);var Hn=Kf();function h(Me){return Me.kind===Hn.SyntaxKind.ImportType}Me.isImportTypeNode=h}}),ty=Oe({"node_modules/tsutils/typeguard/3.0/node.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.isSyntheticExpression=Me.isRestTypeNode=Me.isOptionalTypeNode=void 0;var Bn=(f_(),Li(zg));Bn.__exportStar(ey(),Me);var Hn=Kf();function h(Me){return Me.kind===Hn.SyntaxKind.OptionalType}Me.isOptionalTypeNode=h;function D(Me){return Me.kind===Hn.SyntaxKind.RestType}Me.isRestTypeNode=D;function P(Me){return Me.kind===Hn.SyntaxKind.SyntheticExpression}Me.isSyntheticExpression=P}}),ry=Oe({"node_modules/tsutils/typeguard/3.2/node.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.isBigIntLiteral=void 0;var Bn=(f_(),Li(zg));Bn.__exportStar(ty(),Me);var Hn=Kf();function h(Me){return Me.kind===Hn.SyntaxKind.BigIntLiteral}Me.isBigIntLiteral=h}}),ny=Oe({"node_modules/tsutils/typeguard/node.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0});var Bn=(f_(),Li(zg));Bn.__exportStar(ry(),Me)}}),iy=Oe({"node_modules/tsutils/typeguard/2.8/type.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.isUniqueESSymbolType=Me.isUnionType=Me.isUnionOrIntersectionType=Me.isTypeVariable=Me.isTypeReference=Me.isTypeParameter=Me.isSubstitutionType=Me.isObjectType=Me.isLiteralType=Me.isIntersectionType=Me.isInterfaceType=Me.isInstantiableType=Me.isIndexedAccessype=Me.isIndexedAccessType=Me.isGenericType=Me.isEnumType=Me.isConditionalType=void 0;var Bn=Kf();function v(Me){return(Me.flags&Bn.TypeFlags.Conditional)!==0}Me.isConditionalType=v;function h(Me){return(Me.flags&Bn.TypeFlags.Enum)!==0}Me.isEnumType=h;function D(Me){return(Me.flags&Bn.TypeFlags.Object)!==0&&(Me.objectFlags&Bn.ObjectFlags.ClassOrInterface)!==0&&(Me.objectFlags&Bn.ObjectFlags.Reference)!==0}Me.isGenericType=D;function P(Me){return(Me.flags&Bn.TypeFlags.IndexedAccess)!==0}Me.isIndexedAccessType=P;function y(Me){return(Me.flags&Bn.TypeFlags.Index)!==0}Me.isIndexedAccessype=y;function m(Me){return(Me.flags&Bn.TypeFlags.Instantiable)!==0}Me.isInstantiableType=m;function C(Me){return(Me.flags&Bn.TypeFlags.Object)!==0&&(Me.objectFlags&Bn.ObjectFlags.ClassOrInterface)!==0}Me.isInterfaceType=C;function d(Me){return(Me.flags&Bn.TypeFlags.Intersection)!==0}Me.isIntersectionType=d;function E(Me){return(Me.flags&(Bn.TypeFlags.StringOrNumberLiteral|Bn.TypeFlags.BigIntLiteral))!==0}Me.isLiteralType=E;function I(Me){return(Me.flags&Bn.TypeFlags.Object)!==0}Me.isObjectType=I;function c(Me){return(Me.flags&Bn.TypeFlags.Substitution)!==0}Me.isSubstitutionType=c;function M(Me){return(Me.flags&Bn.TypeFlags.TypeParameter)!==0}Me.isTypeParameter=M;function q(Me){return(Me.flags&Bn.TypeFlags.Object)!==0&&(Me.objectFlags&Bn.ObjectFlags.Reference)!==0}Me.isTypeReference=q;function W(Me){return(Me.flags&Bn.TypeFlags.TypeVariable)!==0}Me.isTypeVariable=W;function K(Me){return(Me.flags&Bn.TypeFlags.UnionOrIntersection)!==0}Me.isUnionOrIntersectionType=K;function ce(Me){return(Me.flags&Bn.TypeFlags.Union)!==0}Me.isUnionType=ce;function Ie(Me){return(Me.flags&Bn.TypeFlags.UniqueESSymbol)!==0}Me.isUniqueESSymbolType=Ie}}),py=Oe({"node_modules/tsutils/typeguard/2.9/type.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0});var Bn=(f_(),Li(zg));Bn.__exportStar(iy(),Me)}}),fy=Oe({"node_modules/tsutils/typeguard/3.0/type.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.isTupleTypeReference=Me.isTupleType=void 0;var Bn=(f_(),Li(zg));Bn.__exportStar(py(),Me);var Hn=Kf(),zn=py();function D(Me){return(Me.flags&Hn.TypeFlags.Object&&Me.objectFlags&Hn.ObjectFlags.Tuple)!==0}Me.isTupleType=D;function P(Me){return zn.isTypeReference(Me)&&D(Me.target)}Me.isTupleTypeReference=P}}),Ty=Oe({"node_modules/tsutils/typeguard/3.2/type.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0});var Bn=(f_(),Li(zg));Bn.__exportStar(fy(),Me)}}),Gy=Oe({"node_modules/tsutils/typeguard/3.2/index.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0});var Bn=(f_(),Li(zg));Bn.__exportStar(ry(),Me),Bn.__exportStar(Ty(),Me)}}),Vy=Oe({"node_modules/tsutils/typeguard/type.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0});var Bn=(f_(),Li(zg));Bn.__exportStar(Ty(),Me)}}),Hy=Oe({"node_modules/tsutils/util/type.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.getBaseClassMemberOfClassElement=Me.getIteratorYieldResultFromIteratorResult=Me.getInstanceTypeOfClassLikeDeclaration=Me.getConstructorTypeOfClassLikeDeclaration=Me.getSymbolOfClassLikeDeclaration=Me.getPropertyNameFromType=Me.symbolHasReadonlyDeclaration=Me.isPropertyReadonlyInType=Me.getWellKnownSymbolPropertyOfType=Me.getPropertyOfType=Me.isBooleanLiteralType=Me.isFalsyType=Me.isThenableType=Me.someTypePart=Me.intersectionTypeParts=Me.unionTypeParts=Me.getCallSignaturesOfType=Me.isTypeAssignableToString=Me.isTypeAssignableToNumber=Me.isOptionalChainingUndefinedMarkerType=Me.removeOptionalChainingUndefinedMarkerType=Me.removeOptionalityFromType=Me.isEmptyObjectType=void 0;var Bn=Kf(),Hn=Vy(),zn=Av(),ni=ny();function P(Me){if(Hn.isObjectType(Me)&&Me.objectFlags&Bn.ObjectFlags.Anonymous&&Me.getProperties().length===0&&Me.getCallSignatures().length===0&&Me.getConstructSignatures().length===0&&Me.getStringIndexType()===void 0&&Me.getNumberIndexType()===void 0){let Bn=Me.getBaseTypes();return Bn===void 0||Bn.every(P)}return!1}Me.isEmptyObjectType=P;function y(Me,Hn){if(!m(Hn,Bn.TypeFlags.Undefined))return Hn;let zn=m(Hn,Bn.TypeFlags.Null);return Hn=Me.getNonNullableType(Hn),zn?Me.getNullableType(Hn,Bn.TypeFlags.Null):Hn}Me.removeOptionalityFromType=y;function m(Me,Bn){for(let Hn of q(Me))if(zn.isTypeFlagSet(Hn,Bn))return!0;return!1}function C(Me,Bn){if(!Hn.isUnionType(Bn))return d(Me,Bn)?Bn.getNonNullableType():Bn;let zn=0,ni=!1;for(let Hn of Bn.types)d(Me,Hn)?ni=!0:zn|=Hn.flags;return ni?Me.getNullableType(Bn.getNonNullableType(),zn):Bn}Me.removeOptionalChainingUndefinedMarkerType=C;function d(Me,Hn){return zn.isTypeFlagSet(Hn,Bn.TypeFlags.Undefined)&&Me.getNullableType(Hn.getNonNullableType(),Bn.TypeFlags.Undefined)!==Hn}Me.isOptionalChainingUndefinedMarkerType=d;function E(Me,Hn){return c(Me,Hn,Bn.TypeFlags.NumberLike)}Me.isTypeAssignableToNumber=E;function I(Me,Hn){return c(Me,Hn,Bn.TypeFlags.StringLike)}Me.isTypeAssignableToString=I;function c(Me,ni,Ci){Ci|=Bn.TypeFlags.Any;let ts;return function Pt(Bn){if(Hn.isTypeParameter(Bn)&&Bn.symbol!==void 0&&Bn.symbol.declarations!==void 0){if(ts===void 0)ts=new Set([Bn]);else if(!ts.has(Bn))ts.add(Bn);else return!1;let Hn=Bn.symbol.declarations[0];return Hn.constraint===void 0?!0:Pt(Me.getTypeFromTypeNode(Hn.constraint))}return Hn.isUnionType(Bn)?Bn.types.every(Pt):Hn.isIntersectionType(Bn)?Bn.types.some(Pt):zn.isTypeFlagSet(Bn,Ci)}(ni)}function M(Me){if(Hn.isUnionType(Me)){let Bn=[];for(let Hn of Me.types)Bn.push(...M(Hn));return Bn}if(Hn.isIntersectionType(Me)){let Bn;for(let Hn of Me.types){let Me=M(Hn);if(Me.length!==0){if(Bn!==void 0)return[];Bn=Me}}return Bn===void 0?[]:Bn}return Me.getCallSignatures()}Me.getCallSignaturesOfType=M;function q(Me){return Hn.isUnionType(Me)?Me.types:[Me]}Me.unionTypeParts=q;function W(Me){return Hn.isIntersectionType(Me)?Me.types:[Me]}Me.intersectionTypeParts=W;function K(Me,Bn,Hn){return Bn(Me)?Me.types.some(Hn):Hn(Me)}Me.someTypePart=K;function ce(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Me.getTypeAtLocation(Bn);for(let zn of q(Me.getApparentType(Hn))){let Hn=zn.getProperty("then");if(Hn===void 0)continue;let ni=Me.getTypeOfSymbolAtLocation(Hn,Bn);for(let Hn of q(ni))for(let zn of Hn.getCallSignatures())if(zn.parameters.length!==0&&Ie(Me,zn.parameters[0],Bn))return!0}return!1}Me.isThenableType=ce;function Ie(Me,Bn,Hn){let zn=Me.getApparentType(Me.getTypeOfSymbolAtLocation(Bn,Hn));if(Bn.valueDeclaration.dotDotDotToken&&(zn=zn.getNumberIndexType(),zn===void 0))return!1;for(let Me of q(zn))if(Me.getCallSignatures().length!==0)return!0;return!1}function me(Me){return Me.flags&(Bn.TypeFlags.Undefined|Bn.TypeFlags.Null|Bn.TypeFlags.Void)?!0:Hn.isLiteralType(Me)?!Me.value:Ae(Me,!1)}Me.isFalsyType=me;function Ae(Me,Hn){return zn.isTypeFlagSet(Me,Bn.TypeFlags.BooleanLiteral)&&Me.intrinsicName===(Hn?"true":"false")}Me.isBooleanLiteralType=Ae;function te(Me,Bn){return Bn.startsWith("__")?Me.getProperties().find((Me=>Me.escapedName===Bn)):Me.getProperty(Bn)}Me.getPropertyOfType=te;function he(Me,Bn,Hn){let zn="__@"+Bn;for(let ni of Me.getProperties()){if(!ni.name.startsWith(zn))continue;let Me=Hn.getApparentType(Hn.getTypeAtLocation(ni.valueDeclaration.name.expression)).symbol;if(ni.escapedName===Pe(Hn,Me,Bn))return ni}}Me.getWellKnownSymbolPropertyOfType=he;function Pe(Me,Bn,zn){let ni=Bn&&Me.getTypeOfSymbolAtLocation(Bn,Bn.valueDeclaration).getProperty(zn),Ci=ni&&Me.getTypeOfSymbolAtLocation(ni,ni.valueDeclaration);return Ci&&Hn.isUniqueESSymbolType(Ci)?Ci.escapedName:"__@"+zn}function R(Me,Hn,ni){let Ci=!1,ts=!1;for(let Ps of q(Me))if(te(Ps,Hn)===void 0){let Me=(zn.isNumericPropertyName(Hn)?ni.getIndexInfoOfType(Ps,Bn.IndexKind.Number):void 0)||ni.getIndexInfoOfType(Ps,Bn.IndexKind.String);if(Me!==void 0&&Me.isReadonly){if(Ci)return!0;ts=!0}}else{if(ts||pe(Ps,Hn,ni))return!0;Ci=!0}return!1}Me.isPropertyReadonlyInType=R;function pe(Me,ni,Ci){return K(Me,Hn.isIntersectionType,(Me=>{let ts=te(Me,ni);if(ts===void 0)return!1;if(ts.flags&Bn.SymbolFlags.Transient){if(/^(?:[1-9]\d*|0)$/.test(ni)&&Hn.isTupleTypeReference(Me))return Me.target.readonly;switch(ke(Me,ni,Ci)){case!0:return!0;case!1:return!1;default:}}return zn.isSymbolFlagSet(ts,Bn.SymbolFlags.ValueModule)||Je(ts,Ci)}))}function ke(Me,ni,Ci){if(!Hn.isObjectType(Me)||!zn.isObjectFlagSet(Me,Bn.ObjectFlags.Mapped))return;let ts=Me.symbol.declarations[0];return ts.readonlyToken!==void 0&&!/^__@[^@]+$/.test(ni)?ts.readonlyToken.kind!==Bn.SyntaxKind.MinusToken:R(Me.modifiersType,ni,Ci)}function Je(Me,Hn){return(Me.flags&Bn.SymbolFlags.Accessor)===Bn.SymbolFlags.GetAccessor||Me.declarations!==void 0&&Me.declarations.some((Me=>zn.isModifierFlagSet(Me,Bn.ModifierFlags.Readonly)||ni.isVariableDeclaration(Me)&&zn.isNodeFlagSet(Me.parent,Bn.NodeFlags.Const)||ni.isCallExpression(Me)&&zn.isReadonlyAssignmentDeclaration(Me,Hn)||ni.isEnumMember(Me)||(ni.isPropertyAssignment(Me)||ni.isShorthandPropertyAssignment(Me))&&zn.isInConstContext(Me.parent)))}Me.symbolHasReadonlyDeclaration=Je;function Xe(Me){if(Me.flags&(Bn.TypeFlags.StringLiteral|Bn.TypeFlags.NumberLiteral)){let Hn=String(Me.value);return{displayName:Hn,symbolName:Bn.escapeLeadingUnderscores(Hn)}}if(Hn.isUniqueESSymbolType(Me))return{displayName:`[${Me.symbol?`${ee(Me.symbol)?"Symbol.":""}${Me.symbol.name}`:Me.escapedName.replace(/^__@|@\d+$/g,"")}]`,symbolName:Me.escapedName}}Me.getPropertyNameFromType=Xe;function ee(Me){return zn.isSymbolFlagSet(Me,Bn.SymbolFlags.Property)&&Me.valueDeclaration!==void 0&&ni.isInterfaceDeclaration(Me.valueDeclaration.parent)&&Me.valueDeclaration.parent.name.text==="SymbolConstructor"&&je(Me.valueDeclaration.parent)}function je(Me){return zn.isNodeFlagSet(Me.parent,Bn.NodeFlags.GlobalAugmentation)||ni.isSourceFile(Me.parent)&&!Bn.isExternalModule(Me.parent)}function nt(Me,Hn){var ni;return Hn.getSymbolAtLocation((ni=Me.name)!==null&&ni!==void 0?ni:zn.getChildOfKind(Me,Bn.SyntaxKind.ClassKeyword))}Me.getSymbolOfClassLikeDeclaration=nt;function Ze(Me,Hn){return Me.kind===Bn.SyntaxKind.ClassExpression?Hn.getTypeAtLocation(Me):Hn.getTypeOfSymbolAtLocation(nt(Me,Hn),Me)}Me.getConstructorTypeOfClassLikeDeclaration=Ze;function st(Me,Hn){return Me.kind===Bn.SyntaxKind.ClassDeclaration?Hn.getTypeAtLocation(Me):Hn.getDeclaredTypeOfSymbol(nt(Me,Hn))}Me.getInstanceTypeOfClassLikeDeclaration=st;function tt(Me,Bn,zn){return Hn.isUnionType(Me)&&Me.types.find((Me=>{let Hn=Me.getProperty("done");return Hn!==void 0&&Ae(y(zn,zn.getTypeOfSymbolAtLocation(Hn,Bn)),!1)}))||Me}Me.getIteratorYieldResultFromIteratorResult=tt;function ct(Me,Hn){if(!ni.isClassLikeDeclaration(Me.parent))return;let Ci=zn.getBaseOfClassLikeExpression(Me.parent);if(Ci===void 0)return;let ts=zn.getSingleLateBoundPropertyNameOfPropertyName(Me.name,Hn);if(ts===void 0)return;let Ps=Hn.getTypeAtLocation(zn.hasModifier(Me.modifiers,Bn.SyntaxKind.StaticKeyword)?Ci.expression:Ci);return te(Ps,ts.symbolName)}Me.getBaseClassMemberOfClassElement=ct}}),Av=Oe({"node_modules/tsutils/util/util.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.isValidIdentifier=Me.getLineBreakStyle=Me.getLineRanges=Me.forEachComment=Me.forEachTokenWithTrivia=Me.forEachToken=Me.isFunctionWithBody=Me.hasOwnThisReference=Me.isBlockScopeBoundary=Me.isFunctionScopeBoundary=Me.isTypeScopeBoundary=Me.isScopeBoundary=Me.ScopeBoundarySelector=Me.ScopeBoundary=Me.isInSingleStatementContext=Me.isBlockScopedDeclarationStatement=Me.isBlockScopedVariableDeclaration=Me.isBlockScopedVariableDeclarationList=Me.getVariableDeclarationKind=Me.VariableDeclarationKind=Me.forEachDeclaredVariable=Me.forEachDestructuringIdentifier=Me.getPropertyName=Me.getWrappedNodeAtPosition=Me.getAstNodeAtPosition=Me.commentText=Me.isPositionInComment=Me.getCommentAtPosition=Me.getTokenAtPosition=Me.getNextToken=Me.getPreviousToken=Me.getNextStatement=Me.getPreviousStatement=Me.isModifierFlagSet=Me.isObjectFlagSet=Me.isSymbolFlagSet=Me.isTypeFlagSet=Me.isNodeFlagSet=Me.hasAccessModifier=Me.isParameterProperty=Me.hasModifier=Me.getModifier=Me.isThisParameter=Me.isKeywordKind=Me.isJsDocKind=Me.isTypeNodeKind=Me.isAssignmentKind=Me.isNodeKind=Me.isTokenKind=Me.getChildOfKind=void 0,Me.getBaseOfClassLikeExpression=Me.hasExhaustiveCaseClauses=Me.formatPseudoBigInt=Me.unwrapParentheses=Me.getSingleLateBoundPropertyNameOfPropertyName=Me.getLateBoundPropertyNamesOfPropertyName=Me.getLateBoundPropertyNames=Me.getPropertyNameOfWellKnownSymbol=Me.isWellKnownSymbolLiterally=Me.isBindableObjectDefinePropertyCall=Me.isReadonlyAssignmentDeclaration=Me.isInConstContext=Me.isConstAssertion=Me.getTsCheckDirective=Me.getCheckJsDirective=Me.isAmbientModule=Me.isCompilerOptionEnabled=Me.isStrictCompilerOptionEnabled=Me.getIIFE=Me.isAmbientModuleBlock=Me.isStatementInAmbientContext=Me.findImportLikeNodes=Me.findImports=Me.ImportKind=Me.parseJsDocOfNode=Me.getJsDoc=Me.canHaveJsDoc=Me.isReassignmentTarget=Me.getAccessKind=Me.AccessKind=Me.isExpressionValueUsed=Me.getDeclarationOfBindingElement=Me.hasSideEffects=Me.SideEffectOptions=Me.isSameLine=Me.isNumericPropertyName=Me.isValidJsxIdentifier=Me.isValidNumericLiteral=Me.isValidPropertyName=Me.isValidPropertyAccess=void 0;var Bn=Kf(),Hn=ny(),zn=Gy(),ni=Hy();function P(Me,Bn,Hn){for(let zn of Me.getChildren(Hn))if(zn.kind===Bn)return zn}Me.getChildOfKind=P;function y(Me){return Me>=Bn.SyntaxKind.FirstToken&&Me<=Bn.SyntaxKind.LastToken}Me.isTokenKind=y;function m(Me){return Me>=Bn.SyntaxKind.FirstNode}Me.isNodeKind=m;function C(Me){return Me>=Bn.SyntaxKind.FirstAssignment&&Me<=Bn.SyntaxKind.LastAssignment}Me.isAssignmentKind=C;function d(Me){return Me>=Bn.SyntaxKind.FirstTypeNode&&Me<=Bn.SyntaxKind.LastTypeNode}Me.isTypeNodeKind=d;function E(Me){return Me>=Bn.SyntaxKind.FirstJSDocNode&&Me<=Bn.SyntaxKind.LastJSDocNode}Me.isJsDocKind=E;function I(Me){return Me>=Bn.SyntaxKind.FirstKeyword&&Me<=Bn.SyntaxKind.LastKeyword}Me.isKeywordKind=I;function c(Me){return Me.name.kind===Bn.SyntaxKind.Identifier&&Me.name.originalKeywordKind===Bn.SyntaxKind.ThisKeyword}Me.isThisParameter=c;function M(Me,Bn){if(Me.modifiers!==void 0){for(let Hn of Me.modifiers)if(Hn.kind===Bn)return Hn}}Me.getModifier=M;function q(Me){if(Me===void 0)return!1;for(var Bn=arguments.length,Hn=new Array(Bn>1?Bn-1:0),zn=1;zn0)return Bn.statements[Hn-1]}}Me.getPreviousStatement=Ae;function te(Me){let Bn=Me.parent;if(Hn.isBlockLike(Bn)){let Hn=Bn.statements.indexOf(Me);if(Hn=Me.end))return y(Me.kind)?Me:pe(Me,Bn,Hn!=null?Hn:Me.getSourceFile(),zn===!0)}Me.getTokenAtPosition=R;function pe(Me,Hn,zn,ni){if(!ni&&(Me=je(Me,Hn),y(Me.kind)))return Me;e:for(;;){for(let Ci of Me.getChildren(zn))if(Ci.end>Hn&&(ni||Ci.kind!==Bn.SyntaxKind.JSDocComment)){if(y(Ci.kind))return Ci;Me=Ci;continue e}return}}function ke(Me,Hn){let zn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Me,ni=R(zn,Hn,Me);if(ni===void 0||ni.kind===Bn.SyntaxKind.JsxText||Hn>=ni.end-(Bn.tokenToString(ni.kind)||"").length)return;let Ci=ni.pos===0?(Bn.getShebang(Me.text)||"").length:ni.pos;return Ci!==0&&Bn.forEachTrailingCommentRange(Me.text,Ci,Je,Hn)||Bn.forEachLeadingCommentRange(Me.text,Ci,Je,Hn)}Me.getCommentAtPosition=ke;function Je(Me,Bn,Hn,zn,ni){return ni>=Me&&niHn||Me.end<=Hn)){for(;m(Me.kind);){let zn=Bn.forEachChild(Me,(Me=>Me.pos<=Hn&&Me.end>Hn?Me:void 0));if(zn===void 0)break;Me=zn}return Me}}Me.getAstNodeAtPosition=je;function nt(Me,Bn){if(Me.node.pos>Bn||Me.node.end<=Bn)return;e:for(;;){for(let Hn of Me.children){if(Hn.node.pos>Bn)return Me;if(Hn.node.end>Bn){Me=Hn;continue e}}return Me}}Me.getWrappedNodeAtPosition=nt;function Ze(Me){if(Me.kind===Bn.SyntaxKind.ComputedPropertyName){let ni=Os(Me.expression);if(Hn.isPrefixUnaryExpression(ni)){let Me=!1;switch(ni.operator){case Bn.SyntaxKind.MinusToken:Me=!0;case Bn.SyntaxKind.PlusToken:return Hn.isNumericLiteral(ni.operand)?`${Me?"-":""}${ni.operand.text}`:zn.isBigIntLiteral(ni.operand)?`${Me?"-":""}${ni.operand.text.slice(0,-1)}`:void 0;default:return}}return zn.isBigIntLiteral(ni)?ni.text.slice(0,-1):Hn.isNumericOrStringLikeLiteral(ni)?ni.text:void 0}return Me.kind===Bn.SyntaxKind.PrivateIdentifier?void 0:Me.text}Me.getPropertyName=Ze;function st(Me,Hn){for(let zn of Me.elements){if(zn.kind!==Bn.SyntaxKind.BindingElement)continue;let Me;if(zn.name.kind===Bn.SyntaxKind.Identifier?Me=Hn(zn):Me=st(zn.name,Hn),Me)return Me}}Me.forEachDestructuringIdentifier=st;function tt(Me,Hn){for(let zn of Me.declarations){let Me;if(zn.name.kind===Bn.SyntaxKind.Identifier?Me=Hn(zn):Me=st(zn.name,Hn),Me)return Me}}Me.forEachDeclaredVariable=tt;var Ci;(function(Me){Me[Me.Var=0]="Var",Me[Me.Let=1]="Let",Me[Me.Const=2]="Const"})(Ci=Me.VariableDeclarationKind||(Me.VariableDeclarationKind={}));function ne(Me){return Me.flags&Bn.NodeFlags.Let?1:Me.flags&Bn.NodeFlags.Const?2:0}Me.getVariableDeclarationKind=ne;function ge(Me){return(Me.flags&Bn.NodeFlags.BlockScoped)!==0}Me.isBlockScopedVariableDeclarationList=ge;function Fe(Me){let Hn=Me.parent;return Hn.kind===Bn.SyntaxKind.CatchClause||ge(Hn)}Me.isBlockScopedVariableDeclaration=Fe;function at(Me){switch(Me.kind){case Bn.SyntaxKind.VariableStatement:return ge(Me.declarationList);case Bn.SyntaxKind.ClassDeclaration:case Bn.SyntaxKind.EnumDeclaration:case Bn.SyntaxKind.InterfaceDeclaration:case Bn.SyntaxKind.TypeAliasDeclaration:return!0;default:return!1}}Me.isBlockScopedDeclarationStatement=at;function Pt(Me){switch(Me.parent.kind){case Bn.SyntaxKind.ForStatement:case Bn.SyntaxKind.ForInStatement:case Bn.SyntaxKind.ForOfStatement:case Bn.SyntaxKind.WhileStatement:case Bn.SyntaxKind.DoStatement:case Bn.SyntaxKind.IfStatement:case Bn.SyntaxKind.WithStatement:case Bn.SyntaxKind.LabeledStatement:return!0;default:return!1}}Me.isInSingleStatementContext=Pt;var ts;(function(Me){Me[Me.None=0]="None",Me[Me.Function=1]="Function",Me[Me.Block=2]="Block",Me[Me.Type=4]="Type",Me[Me.ConditionalType=8]="ConditionalType"})(ts=Me.ScopeBoundary||(Me.ScopeBoundary={}));var aa;(function(Me){Me[Me.Function=1]="Function",Me[Me.Block=3]="Block",Me[Me.Type=7]="Type",Me[Me.InferType=8]="InferType"})(aa=Me.ScopeBoundarySelector||(Me.ScopeBoundarySelector={}));function Ri(Me){return ua(Me)||Ka(Me)||la(Me)}Me.isScopeBoundary=Ri;function la(Me){switch(Me.kind){case Bn.SyntaxKind.InterfaceDeclaration:case Bn.SyntaxKind.TypeAliasDeclaration:case Bn.SyntaxKind.MappedType:return 4;case Bn.SyntaxKind.ConditionalType:return 8;default:return 0}}Me.isTypeScopeBoundary=la;function ua(Me){switch(Me.kind){case Bn.SyntaxKind.FunctionExpression:case Bn.SyntaxKind.ArrowFunction:case Bn.SyntaxKind.Constructor:case Bn.SyntaxKind.ModuleDeclaration:case Bn.SyntaxKind.ClassDeclaration:case Bn.SyntaxKind.ClassExpression:case Bn.SyntaxKind.EnumDeclaration:case Bn.SyntaxKind.MethodDeclaration:case Bn.SyntaxKind.FunctionDeclaration:case Bn.SyntaxKind.GetAccessor:case Bn.SyntaxKind.SetAccessor:case Bn.SyntaxKind.MethodSignature:case Bn.SyntaxKind.CallSignature:case Bn.SyntaxKind.ConstructSignature:case Bn.SyntaxKind.ConstructorType:case Bn.SyntaxKind.FunctionType:return 1;case Bn.SyntaxKind.SourceFile:return Bn.isExternalModule(Me)?1:0;default:return 0}}Me.isFunctionScopeBoundary=ua;function Ka(Me){switch(Me.kind){case Bn.SyntaxKind.Block:let Hn=Me.parent;return Hn.kind!==Bn.SyntaxKind.CatchClause&&(Hn.kind===Bn.SyntaxKind.SourceFile||!ua(Hn))?2:0;case Bn.SyntaxKind.ForStatement:case Bn.SyntaxKind.ForInStatement:case Bn.SyntaxKind.ForOfStatement:case Bn.SyntaxKind.CaseBlock:case Bn.SyntaxKind.CatchClause:case Bn.SyntaxKind.WithStatement:return 2;default:return 0}}Me.isBlockScopeBoundary=Ka;function co(Me){switch(Me.kind){case Bn.SyntaxKind.ClassDeclaration:case Bn.SyntaxKind.ClassExpression:case Bn.SyntaxKind.FunctionExpression:return!0;case Bn.SyntaxKind.FunctionDeclaration:return Me.body!==void 0;case Bn.SyntaxKind.MethodDeclaration:case Bn.SyntaxKind.GetAccessor:case Bn.SyntaxKind.SetAccessor:return Me.parent.kind===Bn.SyntaxKind.ObjectLiteralExpression;default:return!1}}Me.hasOwnThisReference=co;function be(Me){switch(Me.kind){case Bn.SyntaxKind.GetAccessor:case Bn.SyntaxKind.SetAccessor:case Bn.SyntaxKind.FunctionDeclaration:case Bn.SyntaxKind.MethodDeclaration:case Bn.SyntaxKind.Constructor:return Me.body!==void 0;case Bn.SyntaxKind.FunctionExpression:case Bn.SyntaxKind.ArrowFunction:return!0;default:return!1}}Me.isFunctionWithBody=be;function Ke(Me,Hn){let zn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Me.getSourceFile(),ni=[];for(;;){if(y(Me.kind))Hn(Me);else if(Me.kind!==Bn.SyntaxKind.JSDocComment){let Bn=Me.getChildren(zn);if(Bn.length===1){Me=Bn[0];continue}for(let Me=Bn.length-1;Me>=0;--Me)ni.push(Bn[Me])}if(ni.length===0)break;Me=ni.pop()}}Me.forEachToken=Ke;function Et(Me,Hn){let zn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Me.getSourceFile(),ni=zn.text,Ci=Bn.createScanner(zn.languageVersion,!1,zn.languageVariant,ni);return Ke(Me,(Me=>{let ts=Me.kind===Bn.SyntaxKind.JsxText||Me.pos===Me.end?Me.pos:Me.getStart(zn);if(ts!==Me.pos){Ci.setTextPos(Me.pos);let Bn=Ci.scan(),zn=Ci.getTokenPos();for(;zn2&&arguments[2]!==void 0?arguments[2]:Me.getSourceFile(),ni=zn.text,Ci=zn.languageVariant!==Bn.LanguageVariant.JSX;return Ke(Me,(Me=>{if(Me.pos!==Me.end&&(Me.kind!==Bn.SyntaxKind.JsxText&&Bn.forEachLeadingCommentRange(ni,Me.pos===0?(Bn.getShebang(ni)||"").length:Me.pos,ut),Ci||or(Me)))return Bn.forEachTrailingCommentRange(ni,Me.end,ut)}),zn);function ut(Me,Bn,zn){Hn(ni,{pos:Me,end:Bn,kind:zn})}}Me.forEachComment=Ft;function or(Me){switch(Me.kind){case Bn.SyntaxKind.CloseBraceToken:return Me.parent.kind!==Bn.SyntaxKind.JsxExpression||!Wr(Me.parent.parent);case Bn.SyntaxKind.GreaterThanToken:switch(Me.parent.kind){case Bn.SyntaxKind.JsxOpeningElement:return Me.end!==Me.parent.end;case Bn.SyntaxKind.JsxOpeningFragment:return!1;case Bn.SyntaxKind.JsxSelfClosingElement:return Me.end!==Me.parent.end||!Wr(Me.parent.parent);case Bn.SyntaxKind.JsxClosingElement:case Bn.SyntaxKind.JsxClosingFragment:return!Wr(Me.parent.parent.parent)}}return!0}function Wr(Me){return Me.kind===Bn.SyntaxKind.JsxElement||Me.kind===Bn.SyntaxKind.JsxFragment}function m_(Me){let Hn=Me.getLineStarts(),zn=[],ni=Hn.length,Ci=Me.text,ts=0;for(let Me=1;Mets&&Bn.isLineBreak(Ci.charCodeAt(Ps-1));--Ps);zn.push({pos:ts,end:ni,contentLength:Ps-ts}),ts=ni}return zn.push({pos:ts,end:Me.end,contentLength:Me.end-ts}),zn}Me.getLineRanges=m_;function Uc(Me){let Bn=Me.getLineStarts();return Bn.length===1||Bn[1]<2||Me.text[Bn[1]-2]!=="\r"?`\n`:`\r\n`}Me.getLineBreakStyle=Uc;var oa;function lo(Me,Hn){return oa===void 0?oa=Bn.createScanner(Hn,!1,void 0,Me):(oa.setScriptTarget(Hn),oa.setText(Me)),oa.scan(),oa}function zc(Me){let Hn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Bn.ScriptTarget.Latest,zn=lo(Me,Hn);return zn.isIdentifier()&&zn.getTextPos()===Me.length&&zn.getTokenPos()===0}Me.isValidIdentifier=zc;function Qn(Me){return Me>=65536?2:1}function uo(Me){let Hn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Bn.ScriptTarget.Latest;if(Me.length===0)return!1;let zn=Me.codePointAt(0);if(!Bn.isIdentifierStart(zn,Hn))return!1;for(let ni=Qn(zn);ni1&&arguments[1]!==void 0?arguments[1]:Bn.ScriptTarget.Latest;if(uo(Me,Hn))return!0;let zn=lo(Me,Hn);return zn.getTextPos()===Me.length&&zn.getToken()===Bn.SyntaxKind.NumericLiteral&&zn.getTokenValue()===Me}Me.isValidPropertyName=Wc;function Vc(Me){let Hn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Bn.ScriptTarget.Latest,zn=lo(Me,Hn);return zn.getToken()===Bn.SyntaxKind.NumericLiteral&&zn.getTextPos()===Me.length&&zn.getTokenPos()===0}Me.isValidNumericLiteral=Vc;function Hc(Me){let Hn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Bn.ScriptTarget.Latest;if(Me.length===0)return!1;let zn=!1,ni=Me.codePointAt(0);if(!Bn.isIdentifierStart(ni,Hn))return!1;for(let Ci=Qn(ni);Ci2&&arguments[2]!==void 0?arguments[2]:Me.getSourceFile();if(y_(Me)&&Me.kind!==Bn.SyntaxKind.EndOfFileToken){let Bn=Ns(Me,zn);if(Bn.length!==0||!Hn)return Bn}return pa(Me,Me.getStart(zn),zn,Hn)}Me.parseJsDocOfNode=Kc;function pa(Me,Hn,zn,ni){let Ci=Bn[ni&&h_(zn,Me.pos,Hn)?"forEachTrailingCommentRange":"forEachLeadingCommentRange"](zn.text,Me.pos,((Me,Hn,ni)=>ni===Bn.SyntaxKind.MultiLineCommentTrivia&&zn.text[Me+2]==="*"?{pos:Me}:void 0));if(Ci===void 0)return[];let ts=Ci.pos,Ps=zn.text.slice(ts,Hn),aa=Bn.createSourceFile("jsdoc.ts",`${Ps}var a;`,zn.languageVersion),oa=Ns(aa.statements[0],aa);for(let Bn of oa)ir(Bn,Me);return oa;function ir(Me,Hn){return Me.pos+=ts,Me.end+=ts,Me.parent=Hn,Bn.forEachChild(Me,(Bn=>ir(Bn,Me)),(Bn=>{Bn.pos+=ts,Bn.end+=ts;for(let Hn of Bn)ir(Hn,Me)}))}}var xa;(function(Me){Me[Me.ImportDeclaration=1]="ImportDeclaration",Me[Me.ImportEquals=2]="ImportEquals",Me[Me.ExportFrom=4]="ExportFrom",Me[Me.DynamicImport=8]="DynamicImport",Me[Me.Require=16]="Require",Me[Me.ImportType=32]="ImportType",Me[Me.All=63]="All",Me[Me.AllImports=59]="AllImports",Me[Me.AllStaticImports=3]="AllStaticImports",Me[Me.AllImportExpressions=24]="AllImportExpressions",Me[Me.AllRequireLike=18]="AllRequireLike",Me[Me.AllNestedImports=56]="AllNestedImports",Me[Me.AllTopLevelImports=7]="AllTopLevelImports"})(xa=Me.ImportKind||(Me.ImportKind={}));function fo(Me,zn){let ni=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,Ci=[];for(let Ci of v_(Me,zn,ni))switch(Ci.kind){case Bn.SyntaxKind.ImportDeclaration:rt(Ci.moduleSpecifier);break;case Bn.SyntaxKind.ImportEqualsDeclaration:rt(Ci.moduleReference.expression);break;case Bn.SyntaxKind.ExportDeclaration:rt(Ci.moduleSpecifier);break;case Bn.SyntaxKind.CallExpression:rt(Ci.arguments[0]);break;case Bn.SyntaxKind.ImportType:Hn.isLiteralTypeNode(Ci.argument)&&rt(Ci.argument.literal);break;default:throw new Error("unexpected node")}return Ci;function rt(Me){Hn.isTextualLiteral(Me)&&Ci.push(Me)}}Me.findImports=fo;function v_(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return new Ga(Me,Bn,Hn).find()}Me.findImportLikeNodes=v_;var Ga=class{constructor(Me,Bn,Hn){this._sourceFile=Me,this._options=Bn,this._ignoreFileName=Hn,this._result=[]}find(){return this._sourceFile.isDeclarationFile&&(this._options&=-25),this._options&7&&this._findImports(this._sourceFile.statements),this._options&56&&this._findNestedImports(),this._result}_findImports(Me){for(let zn of Me)Hn.isImportDeclaration(zn)?this._options&1&&this._result.push(zn):Hn.isImportEqualsDeclaration(zn)?this._options&2&&zn.moduleReference.kind===Bn.SyntaxKind.ExternalModuleReference&&this._result.push(zn):Hn.isExportDeclaration(zn)?zn.moduleSpecifier!==void 0&&this._options&4&&this._result.push(zn):Hn.isModuleDeclaration(zn)&&this._findImportsInModule(zn)}_findImportsInModule(Me){if(Me.body!==void 0){if(Me.body.kind===Bn.SyntaxKind.ModuleDeclaration)return this._findImportsInModule(Me.body);this._findImports(Me.body.statements)}}_findNestedImports(){let Me=this._ignoreFileName||(this._sourceFile.flags&Bn.NodeFlags.JavaScriptFile)!==0,Hn,zn;if((this._options&56)===16){if(!Me)return;Hn=/\brequire\s*[1&&this._result.push(Hn.parent)}}else Hn.kind===Bn.SyntaxKind.Identifier&&Hn.end-7===Me.index&&Hn.parent.kind===Bn.SyntaxKind.CallExpression&&Hn.parent.expression===Hn&&Hn.parent.arguments.length===1&&this._result.push(Hn.parent)}}};function Zn(Me){for(;Me.flags&Bn.NodeFlags.NestedNamespace;)Me=Me.parent;return q(Me.modifiers,Bn.SyntaxKind.DeclareKeyword)||Xa(Me.parent)}Me.isStatementInAmbientContext=Zn;function Xa(Me){for(;Me.kind===Bn.SyntaxKind.ModuleBlock;){do{Me=Me.parent}while(Me.flags&Bn.NodeFlags.NestedNamespace);if(q(Me.modifiers,Bn.SyntaxKind.DeclareKeyword))return!0;Me=Me.parent}return!1}Me.isAmbientModuleBlock=Xa;function Yc(Me){let zn=Me.parent;for(;zn.kind===Bn.SyntaxKind.ParenthesizedExpression;)zn=zn.parent;return Hn.isCallExpression(zn)&&Me.end<=zn.expression.end?zn:void 0}Me.getIIFE=Yc;function mo(Me,Bn){return(Me.strict?Me[Bn]!==!1:Me[Bn]===!0)&&(Bn!=="strictPropertyInitialization"||mo(Me,"strictNullChecks"))}Me.isStrictCompilerOptionEnabled=mo;function ei(Me,Hn){switch(Hn){case"stripInternal":case"declarationMap":case"emitDeclarationOnly":return Me[Hn]===!0&&ei(Me,"declaration");case"declaration":return Me.declaration||ei(Me,"composite");case"incremental":return Me.incremental===void 0?ei(Me,"composite"):Me.incremental;case"skipDefaultLibCheck":return Me.skipDefaultLibCheck||ei(Me,"skipLibCheck");case"suppressImplicitAnyIndexErrors":return Me.suppressImplicitAnyIndexErrors===!0&&ei(Me,"noImplicitAny");case"allowSyntheticDefaultImports":return Me.allowSyntheticDefaultImports!==void 0?Me.allowSyntheticDefaultImports:ei(Me,"esModuleInterop")||Me.module===Bn.ModuleKind.System;case"noUncheckedIndexedAccess":return Me.noUncheckedIndexedAccess===!0&&ei(Me,"strictNullChecks");case"allowJs":return Me.allowJs===void 0?ei(Me,"checkJs"):Me.allowJs;case"noImplicitAny":case"noImplicitThis":case"strictNullChecks":case"strictFunctionTypes":case"strictPropertyInitialization":case"alwaysStrict":case"strictBindCallApply":return mo(Me,Hn)}return Me[Hn]===!0}Me.isCompilerOptionEnabled=ei;function Ya(Me){return Me.name.kind===Bn.SyntaxKind.StringLiteral||(Me.flags&Bn.NodeFlags.GlobalAugmentation)!==0}Me.isAmbientModule=Ya;function b_(Me){return Qa(Me)}Me.getCheckJsDirective=b_;function Qa(Me){let Hn;return Bn.forEachLeadingCommentRange(Me,(Bn.getShebang(Me)||"").length,((zn,ni,Ci)=>{if(Ci===Bn.SyntaxKind.SingleLineCommentTrivia){let Bn=Me.slice(zn,ni),Ci=/^\/{2,3}\s*@ts-(no)?check(?:\s|$)/i.exec(Bn);Ci!==null&&(Hn={pos:zn,end:ni,enabled:Ci[1]===void 0})}})),Hn}Me.getTsCheckDirective=Qa;function Jr(Me){return Hn.isTypeReferenceNode(Me.type)&&Me.type.typeName.kind===Bn.SyntaxKind.Identifier&&Me.type.typeName.escapedText==="const"}Me.isConstAssertion=Jr;function Qc(Me){let Hn=Me;for(;;){let Me=Hn.parent;e:switch(Me.kind){case Bn.SyntaxKind.TypeAssertionExpression:case Bn.SyntaxKind.AsExpression:return Jr(Me);case Bn.SyntaxKind.PrefixUnaryExpression:if(Hn.kind!==Bn.SyntaxKind.NumericLiteral)return!1;switch(Me.operator){case Bn.SyntaxKind.PlusToken:case Bn.SyntaxKind.MinusToken:Hn=Me;break e;default:return!1}case Bn.SyntaxKind.PropertyAssignment:if(Me.initializer!==Hn)return!1;Hn=Me.parent;break;case Bn.SyntaxKind.ShorthandPropertyAssignment:Hn=Me.parent;break;case Bn.SyntaxKind.ParenthesizedExpression:case Bn.SyntaxKind.ArrayLiteralExpression:case Bn.SyntaxKind.ObjectLiteralExpression:case Bn.SyntaxKind.TemplateExpression:Hn=Me;break;default:return!1}}}Me.isInConstContext=Qc;function ho(Me,Bn){if(!T_(Me))return!1;let zn=Bn.getTypeAtLocation(Me.arguments[2]);if(zn.getProperty("value")===void 0)return zn.getProperty("set")===void 0;let Ci=zn.getProperty("writable");if(Ci===void 0)return!1;let ts=Ci.valueDeclaration!==void 0&&Hn.isPropertyAssignment(Ci.valueDeclaration)?Bn.getTypeAtLocation(Ci.valueDeclaration.initializer):Bn.getTypeOfSymbolAtLocation(Ci,Me.arguments[2]);return ni.isBooleanLiteralType(ts,!1)}Me.isReadonlyAssignmentDeclaration=ho;function T_(Me){return Me.arguments.length===3&&Hn.isEntityNameExpression(Me.arguments[0])&&Hn.isNumericOrStringLikeLiteral(Me.arguments[1])&&Hn.isPropertyAccessExpression(Me.expression)&&Me.expression.name.escapedText==="defineProperty"&&Hn.isIdentifier(Me.expression.expression)&&Me.expression.expression.escapedText==="Object"}Me.isBindableObjectDefinePropertyCall=T_;function go(Me){return Bn.isPropertyAccessExpression(Me)&&Bn.isIdentifier(Me.expression)&&Me.expression.escapedText==="Symbol"}Me.isWellKnownSymbolLiterally=go;function yo(Me){return{displayName:`[Symbol.${Me.name.text}]`,symbolName:"__@"+Me.name.text}}Me.getPropertyNameOfWellKnownSymbol=yo;var Ha=(Me=>{let[Bn,Hn]=Me;return Bn<"4"||Bn==="4"&&Hn<"3"})(Bn.versionMajorMinor.split("."));function vo(Me,Bn){let Hn={known:!0,names:[]};if(Me=Os(Me),Ha&&go(Me))Hn.names.push(yo(Me));else{let zn=Bn.getTypeAtLocation(Me);for(let Me of ni.unionTypeParts(Bn.getBaseConstraintOfType(zn)||zn)){let Bn=ni.getPropertyNameFromType(Me);Bn?Hn.names.push(Bn):Hn.known=!1}}return Hn}Me.getLateBoundPropertyNames=vo;function S_(Me,Hn){let zn=Ze(Me);return zn!==void 0?{known:!0,names:[{displayName:zn,symbolName:Bn.escapeLeadingUnderscores(zn)}]}:Me.kind===Bn.SyntaxKind.PrivateIdentifier?{known:!0,names:[{displayName:Me.text,symbolName:Hn.getSymbolAtLocation(Me).escapedName}]}:vo(Me.expression,Hn)}Me.getLateBoundPropertyNamesOfPropertyName=S_;function Zc(Me,Hn){let zn=Ze(Me);if(zn!==void 0)return{displayName:zn,symbolName:Bn.escapeLeadingUnderscores(zn)};if(Me.kind===Bn.SyntaxKind.PrivateIdentifier)return{displayName:Me.text,symbolName:Hn.getSymbolAtLocation(Me).escapedName};let{expression:Ci}=Me;return Ha&&go(Ci)?yo(Ci):ni.getPropertyNameFromType(Hn.getTypeAtLocation(Ci))}Me.getSingleLateBoundPropertyNameOfPropertyName=Zc;function Os(Me){for(;Me.kind===Bn.SyntaxKind.ParenthesizedExpression;)Me=Me.expression;return Me}Me.unwrapParentheses=Os;function bo(Me){return`${Me.negative?"-":""}${Me.base10Value}n`}Me.formatPseudoBigInt=bo;function el(zn,Ci){let ts=zn.caseBlock.clauses.filter(Hn.isCaseClause);if(ts.length===0)return!1;let Ps=ni.unionTypeParts(Ci.getTypeAtLocation(zn.expression));if(Ps.length>ts.length)return!1;let aa=new Set(Ps.map(x_));if(aa.has(void 0))return!1;let oa=new Set;for(let Hn of ts){let zn=Ci.getTypeAtLocation(Hn.expression);if(Me.isTypeFlagSet(zn,Bn.TypeFlags.Never))continue;let ni=x_(zn);if(aa.has(ni))oa.add(ni);else if(ni!=="null"&&ni!=="undefined")return!1}return aa.size===oa.size}Me.hasExhaustiveCaseClauses=el;function x_(Hn){if(Me.isTypeFlagSet(Hn,Bn.TypeFlags.Null))return"null";if(Me.isTypeFlagSet(Hn,Bn.TypeFlags.Undefined))return"undefined";if(Me.isTypeFlagSet(Hn,Bn.TypeFlags.NumberLiteral))return`${Me.isTypeFlagSet(Hn,Bn.TypeFlags.EnumLiteral)?"enum:":""}${Hn.value}`;if(Me.isTypeFlagSet(Hn,Bn.TypeFlags.StringLiteral))return`${Me.isTypeFlagSet(Hn,Bn.TypeFlags.EnumLiteral)?"enum:":""}string:${Hn.value}`;if(Me.isTypeFlagSet(Hn,Bn.TypeFlags.BigIntLiteral))return bo(Hn.value);if(zn.isUniqueESSymbolType(Hn))return Hn.escapedName;if(ni.isBooleanLiteralType(Hn,!0))return"true";if(ni.isBooleanLiteralType(Hn,!1))return"false"}function E_(Me){var Hn;if(((Hn=Me.heritageClauses)===null||Hn===void 0?void 0:Hn[0].token)===Bn.SyntaxKind.ExtendsKeyword)return Me.heritageClauses[0].types[0]}Me.getBaseOfClassLikeExpression=E_}}),vv=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/convert-comments.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn};Object.defineProperty(Me,"__esModule",{value:!0}),Me.convertComments=void 0;var ni=Av(),Ci=zn(Kf()),ts=Wg(),aa=Yg();function C(Me,Bn){let Hn=[];return(0,ni.forEachComment)(Me,((zn,ni)=>{let Ps=ni.kind===Ci.SyntaxKind.SingleLineCommentTrivia?aa.AST_TOKEN_TYPES.Line:aa.AST_TOKEN_TYPES.Block,oa=[ni.pos,ni.end],ca=(0,ts.getLocFor)(oa[0],oa[1],Me),_a=oa[0]+2,xa=ni.kind===Ci.SyntaxKind.SingleLineCommentTrivia?oa[1]-_a:oa[1]-_a-2;Hn.push({type:Ps,value:Bn.slice(_a,_a+xa),range:oa,loc:ca})}),Me),Hn}Me.convertComments=C}}),Ev=Oe({"node_modules/eslint-visitor-keys/dist/eslint-visitor-keys.cjs"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0});var Bn={AssignmentExpression:["left","right"],AssignmentPattern:["left","right"],ArrayExpression:["elements"],ArrayPattern:["elements"],ArrowFunctionExpression:["params","body"],AwaitExpression:["argument"],BlockStatement:["body"],BinaryExpression:["left","right"],BreakStatement:["label"],CallExpression:["callee","arguments"],CatchClause:["param","body"],ChainExpression:["expression"],ClassBody:["body"],ClassDeclaration:["id","superClass","body"],ClassExpression:["id","superClass","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExportAllDeclaration:["exported","source"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source"],ExportSpecifier:["exported","local"],ExpressionStatement:["expression"],ExperimentalRestProperty:["argument"],ExperimentalSpreadProperty:["argument"],ForStatement:["init","test","update","body"],ForInStatement:["left","right","body"],ForOfStatement:["left","right","body"],FunctionDeclaration:["id","params","body"],FunctionExpression:["id","params","body"],Identifier:[],IfStatement:["test","consequent","alternate"],ImportDeclaration:["specifiers","source"],ImportDefaultSpecifier:["local"],ImportExpression:["source"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","attributes"],JSXSpreadAttribute:["argument"],JSXText:[],JSXFragment:["openingFragment","children","closingFragment"],JSXClosingFragment:[],JSXOpeningFragment:[],Literal:[],LabeledStatement:["label","body"],LogicalExpression:["left","right"],MemberExpression:["object","property"],MetaProperty:["meta","property"],MethodDefinition:["key","value"],NewExpression:["callee","arguments"],ObjectExpression:["properties"],ObjectPattern:["properties"],PrivateIdentifier:[],Program:["body"],Property:["key","value"],PropertyDefinition:["key","value"],RestElement:["argument"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SpreadElement:["argument"],StaticBlock:["body"],Super:[],SwitchStatement:["discriminant","cases"],SwitchCase:["test","consequent"],TaggedTemplateExpression:["tag","quasi"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"]},Hn=Object.keys(Bn);for(let Me of Hn)Object.freeze(Bn[Me]);Object.freeze(Bn);var zn=new Set(["parent","leadingComments","trailingComments"]);function D(Me){return!zn.has(Me)&&Me[0]!=="_"}function P(Me){return Object.keys(Me).filter(D)}function y(Me){let Hn=Object.assign({},Bn);for(let Bn of Object.keys(Me))if(Object.prototype.hasOwnProperty.call(Hn,Bn)){let zn=new Set(Me[Bn]);for(let Me of Hn[Bn])zn.add(Me);Hn[Bn]=Object.freeze(Array.from(zn))}else Hn[Bn]=Object.freeze(Array.from(Me[Bn]));return Object.freeze(Hn)}Me.KEYS=Bn,Me.getKeys=P,Me.unionWith=y}}),bv=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/visitor-keys/dist/get-keys.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.getKeys=void 0;var Bn=Ev(),Hn=Bn.getKeys;Me.getKeys=Hn}}),Cv=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn};Object.defineProperty(Me,"__esModule",{value:!0}),Me.visitorKeys=void 0;var ni=zn(Ev()),Ci=(()=>{let Me=["typeParameters","params","returnType"],Bn=[...Me,"body"],Hn=["decorators","key","typeAnnotation"];return{AnonymousFunction:Bn,Function:["id",...Bn],FunctionType:Me,ClassDeclaration:["decorators","id","typeParameters","superClass","superTypeParameters","implements","body"],AbstractPropertyDefinition:["decorators","key","typeAnnotation"],PropertyDefinition:[...Hn,"value"],TypeAssertion:["expression","typeAnnotation"]}})(),ts={AccessorProperty:Ci.PropertyDefinition,ArrayPattern:["decorators","elements","typeAnnotation"],ArrowFunctionExpression:Ci.AnonymousFunction,AssignmentPattern:["decorators","left","right","typeAnnotation"],CallExpression:["callee","typeParameters","arguments"],ClassDeclaration:Ci.ClassDeclaration,ClassExpression:Ci.ClassDeclaration,Decorator:["expression"],ExportAllDeclaration:["exported","source","assertions"],ExportNamedDeclaration:["declaration","specifiers","source","assertions"],FunctionDeclaration:Ci.Function,FunctionExpression:Ci.Function,Identifier:["decorators","typeAnnotation"],ImportAttribute:["key","value"],ImportDeclaration:["specifiers","source","assertions"],ImportExpression:["source","attributes"],JSXClosingFragment:[],JSXOpeningElement:["name","typeParameters","attributes"],JSXOpeningFragment:[],JSXSpreadChild:["expression"],MethodDefinition:["decorators","key","value","typeParameters"],NewExpression:["callee","typeParameters","arguments"],ObjectPattern:["decorators","properties","typeAnnotation"],PropertyDefinition:Ci.PropertyDefinition,RestElement:["decorators","argument","typeAnnotation"],StaticBlock:["body"],TaggedTemplateExpression:["tag","typeParameters","quasi"],TSAbstractAccessorProperty:Ci.AbstractPropertyDefinition,TSAbstractKeyword:[],TSAbstractMethodDefinition:["key","value"],TSAbstractPropertyDefinition:Ci.AbstractPropertyDefinition,TSAnyKeyword:[],TSArrayType:["elementType"],TSAsExpression:Ci.TypeAssertion,TSAsyncKeyword:[],TSBigIntKeyword:[],TSBooleanKeyword:[],TSCallSignatureDeclaration:Ci.FunctionType,TSClassImplements:["expression","typeParameters"],TSConditionalType:["checkType","extendsType","trueType","falseType"],TSConstructorType:Ci.FunctionType,TSConstructSignatureDeclaration:Ci.FunctionType,TSDeclareFunction:Ci.Function,TSDeclareKeyword:[],TSEmptyBodyFunctionExpression:["id",...Ci.FunctionType],TSEnumDeclaration:["id","members"],TSEnumMember:["id","initializer"],TSExportAssignment:["expression"],TSExportKeyword:[],TSExternalModuleReference:["expression"],TSFunctionType:Ci.FunctionType,TSImportEqualsDeclaration:["id","moduleReference"],TSImportType:["parameter","qualifier","typeParameters"],TSIndexedAccessType:["indexType","objectType"],TSIndexSignature:["parameters","typeAnnotation"],TSInferType:["typeParameter"],TSInstantiationExpression:["expression","typeParameters"],TSInterfaceBody:["body"],TSInterfaceDeclaration:["id","typeParameters","extends","body"],TSInterfaceHeritage:["expression","typeParameters"],TSIntersectionType:["types"],TSIntrinsicKeyword:[],TSLiteralType:["literal"],TSMappedType:["nameType","typeParameter","typeAnnotation"],TSMethodSignature:["typeParameters","key","params","returnType"],TSModuleBlock:["body"],TSModuleDeclaration:["id","body"],TSNamedTupleMember:["label","elementType"],TSNamespaceExportDeclaration:["id"],TSNeverKeyword:[],TSNonNullExpression:["expression"],TSNullKeyword:[],TSNumberKeyword:[],TSObjectKeyword:[],TSOptionalType:["typeAnnotation"],TSParameterProperty:["decorators","parameter"],TSPrivateKeyword:[],TSPropertySignature:["typeAnnotation","key","initializer"],TSProtectedKeyword:[],TSPublicKeyword:[],TSQualifiedName:["left","right"],TSReadonlyKeyword:[],TSRestType:["typeAnnotation"],TSSatisfiesExpression:["typeAnnotation","expression"],TSStaticKeyword:[],TSStringKeyword:[],TSSymbolKeyword:[],TSTemplateLiteralType:["quasis","types"],TSThisType:[],TSTupleType:["elementTypes"],TSTypeAliasDeclaration:["id","typeParameters","typeAnnotation"],TSTypeAnnotation:["typeAnnotation"],TSTypeAssertion:Ci.TypeAssertion,TSTypeLiteral:["members"],TSTypeOperator:["typeAnnotation"],TSTypeParameter:["name","constraint","default"],TSTypeParameterDeclaration:["params"],TSTypeParameterInstantiation:["params"],TSTypePredicate:["typeAnnotation","parameterName"],TSTypeQuery:["exprName","typeParameters"],TSTypeReference:["typeName","typeParameters"],TSUndefinedKeyword:[],TSUnionType:["types"],TSUnknownKeyword:[],TSVoidKeyword:[]},aa=ni.unionWith(ts);Me.visitorKeys=aa}}),wv=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/visitor-keys/dist/index.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.visitorKeys=Me.getKeys=void 0;var Bn=bv();Object.defineProperty(Me,"getKeys",{enumerable:!0,get:function(){return Bn.getKeys}});var Hn=Cv();Object.defineProperty(Me,"visitorKeys",{enumerable:!0,get:function(){return Hn.visitorKeys}})}}),Sv=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.simpleTraverse=void 0;var Bn=wv();function v(Me){return Me!=null&&typeof Me=="object"&&typeof Me.type=="string"}function h(Me,Bn){let Hn=Me[Bn.type];return Hn!=null?Hn:[]}var Hn=class{constructor(Me){let Hn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.allVisitorKeys=Bn.visitorKeys,this.selectors=Me,this.setParentPointers=Hn}traverse(Me,Bn){if(!v(Me))return;this.setParentPointers&&(Me.parent=Bn),"enter"in this.selectors?this.selectors.enter(Me,Bn):Me.type in this.selectors&&this.selectors[Me.type](Me,Bn);let Hn=h(this.allVisitorKeys,Me);if(!(Hn.length<1))for(let Bn of Hn){let Hn=Me[Bn];if(Array.isArray(Hn))for(let Bn of Hn)this.traverse(Bn,Me);else this.traverse(Hn,Me)}}};function P(Me,Bn){let zn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;new Hn(Bn,zn).traverse(Me,void 0)}Me.simpleTraverse=P}}),Iv=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/ast-converter.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.astConverter=void 0;var Bn=Kg(),Hn=vv(),zn=Wg(),ni=Sv();function P(Me,Ci,ts){let{parseDiagnostics:Ps}=Me;if(Ps.length)throw(0,Bn.convertError)(Ps[0]);let aa=new Bn.Converter(Me,{errorOnUnknownASTType:Ci.errorOnUnknownASTType||!1,shouldPreserveNodeMaps:ts}),oa=aa.convertProgram();(!Ci.range||!Ci.loc)&&(0,ni.simpleTraverse)(oa,{enter:Me=>{Ci.range||delete Me.range,Ci.loc||delete Me.loc}}),Ci.tokens&&(oa.tokens=(0,zn.convertTokens)(Me)),Ci.comment&&(oa.comments=(0,Hn.convertComments)(Me,Ci.code));let ca=aa.getASTMaps();return{estree:oa,astMaps:ca}}Me.astConverter=P}}),xv={};m1(xv,{basename:()=>o5,default:()=>Nv,delimiter:()=>Fv,dirname:()=>s5,extname:()=>_5,isAbsolute:()=>mT,join:()=>i5,normalize:()=>dT,relative:()=>a5,resolve:()=>d1,sep:()=>Tv});function n5(Me,Bn){for(var Hn=0,zn=Me.length-1;zn>=0;zn--){var ni=Me[zn];ni==="."?Me.splice(zn,1):ni===".."?(Me.splice(zn,1),Hn++):Hn&&(Me.splice(zn,1),Hn--)}if(Bn)for(;Hn--;Hn)Me.unshift("..");return Me}function d1(){for(var Me="",Bn=!1,Hn=arguments.length-1;Hn>=-1&&!Bn;Hn--){var zn=Hn>=0?arguments[Hn]:"/";if(typeof zn!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!zn)continue;Me=zn+"/"+Me,Bn=zn.charAt(0)==="/"}return Me=n5(hT(Me.split("/"),(function(Me){return!!Me})),!Bn).join("/"),(Bn?"/":"")+Me||"."}function dT(Me){var Bn=mT(Me),Hn=Ov(Me,-1)==="/";return Me=n5(hT(Me.split("/"),(function(Me){return!!Me})),!Bn).join("/"),!Me&&!Bn&&(Me="."),Me&&Hn&&(Me+="/"),(Bn?"/":"")+Me}function mT(Me){return Me.charAt(0)==="/"}function i5(){var Me=Array.prototype.slice.call(arguments,0);return dT(hT(Me,(function(Me,Bn){if(typeof Me!="string")throw new TypeError("Arguments to path.join must be strings");return Me})).join("/"))}function a5(Me,Bn){Me=d1(Me).substr(1),Bn=d1(Bn).substr(1);function v(Me){for(var Bn=0;Bn=0&&Me[Hn]==="";Hn--);return Bn>Hn?[]:Me.slice(Bn,Hn-Bn+1)}for(var Hn=v(Me.split("/")),zn=v(Bn.split("/")),ni=Math.min(Hn.length,zn.length),Ci=ni,ts=0;tsMe:Me=>Me.toLowerCase();function c(Me){let Bn=Ci.default.normalize(Me);return Bn.endsWith(Ci.default.sep)&&(Bn=Bn.slice(0,-1)),_a(Bn)}Me.getCanonicalFileName=c;function M(Me,Bn){return Ci.default.isAbsolute(Me)?Me:Ci.default.join(Bn||"/prettier-security-dirname-placeholder",Me)}Me.ensureAbsolutePath=M;function q(Me){return Ci.default.dirname(Me)}Me.canonicalDirname=q;var xa=[ts.Extension.Dts,ts.Extension.Dcts,ts.Extension.Dmts];function K(Me){var Bn;return Me?(Bn=xa.find((Bn=>Me.endsWith(Bn))))!==null&&Bn!==void 0?Bn:Ci.default.extname(Me):null}function ce(Me,Bn){let Hn=Me.getSourceFile(Bn.filePath),zn=K(Bn.filePath),ni=K(Hn==null?void 0:Hn.fileName);if(zn===ni)return Hn&&{ast:Hn,program:Me}}Me.getAstFromProgram=ce;function Ie(Me){let Bn;try{throw new Error("Dynamic require is not supported")}catch{let Me=["Could not find the provided parserOptions.moduleResolver.","Hint: use an absolute path if you are not in control over where the ESLint instance runs."];throw new Error(Me.join(`\n`))}return Bn}Me.getModuleResolver=Ie;function me(Me){var Bn;return!((Bn=ts.sys)===null||Bn===void 0)&&Bn.createHash?ts.sys.createHash(Me):Me}Me.createHash=me}}),tC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/createDefaultProgram.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn},ni=Me&&Me.__importDefault||function(Me){return Me&&Me.__esModule?Me:{default:Me}};Object.defineProperty(Me,"__esModule",{value:!0}),Me.createDefaultProgram=void 0;var Ci=ni(Ad()),ts=ni(OE()),aa=zn(Kf()),oa=eC(),ca=(0,Ci.default)("typescript-eslint:typescript-estree:createDefaultProgram");function E(Me){var Bn;if(ca("Getting default program for: %s",Me.filePath||"unnamed file"),((Bn=Me.projects)===null||Bn===void 0?void 0:Bn.length)!==1)return;let Hn=Me.projects[0],zn=aa.getParsedCommandLineOfConfigFile(Hn,(0,oa.createDefaultCompilerOptionsFromExtra)(Me),Object.assign(Object.assign({},aa.sys),{onUnRecoverableConfigFileDiagnostic:()=>{}}));if(!zn)return;let ni=aa.createCompilerHost(zn.options,!0);Me.moduleResolver&&(ni.resolveModuleNames=(0,oa.getModuleResolver)(Me.moduleResolver).resolveModuleNames);let Ci=ni.readFile;ni.readFile=Bn=>ts.default.normalize(Bn)===ts.default.normalize(Me.filePath)?Me.code:Ci(Bn);let Ps=aa.createProgram([Me.filePath],zn.options,ni),_a=Ps.getSourceFile(Me.filePath);return _a&&{ast:_a,program:Ps}}Me.createDefaultProgram=E}}),rC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/getScriptKind.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn},ni=Me&&Me.__importDefault||function(Me){return Me&&Me.__esModule?Me:{default:Me}};Object.defineProperty(Me,"__esModule",{value:!0}),Me.getLanguageVariant=Me.getScriptKind=void 0;var Ci=ni(OE()),ts=zn(Kf());function m(Me,Bn){switch(Ci.default.extname(Me).toLowerCase()){case ts.Extension.Js:case ts.Extension.Cjs:case ts.Extension.Mjs:return ts.ScriptKind.JS;case ts.Extension.Jsx:return ts.ScriptKind.JSX;case ts.Extension.Ts:case ts.Extension.Cts:case ts.Extension.Mts:return ts.ScriptKind.TS;case ts.Extension.Tsx:return ts.ScriptKind.TSX;case ts.Extension.Json:return ts.ScriptKind.JSON;default:return Bn?ts.ScriptKind.TSX:ts.ScriptKind.TS}}Me.getScriptKind=m;function C(Me){switch(Me){case ts.ScriptKind.TSX:case ts.ScriptKind.JSX:case ts.ScriptKind.JS:case ts.ScriptKind.JSON:return ts.LanguageVariant.JSX;default:return ts.LanguageVariant.Standard}}Me.getLanguageVariant=C}}),nC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/createIsolatedProgram.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn},ni=Me&&Me.__importDefault||function(Me){return Me&&Me.__esModule?Me:{default:Me}};Object.defineProperty(Me,"__esModule",{value:!0}),Me.createIsolatedProgram=void 0;var Ci=ni(Ad()),ts=zn(Kf()),aa=rC(),oa=eC(),ca=(0,Ci.default)("typescript-eslint:typescript-estree:createIsolatedProgram");function E(Me){ca("Getting isolated program in %s mode for: %s",Me.jsx?"TSX":"TS",Me.filePath);let Bn={fileExists(){return!0},getCanonicalFileName(){return Me.filePath},getCurrentDirectory(){return""},getDirectories(){return[]},getDefaultLibFileName(){return"lib.d.ts"},getNewLine(){return`\n`},getSourceFile(Bn){return ts.createSourceFile(Bn,Me.code,ts.ScriptTarget.Latest,!0,(0,aa.getScriptKind)(Me.filePath,Me.jsx))},readFile(){},useCaseSensitiveFileNames(){return!0},writeFile(){return null}},Hn=ts.createProgram([Me.filePath],Object.assign({noResolve:!0,target:ts.ScriptTarget.Latest,jsx:Me.jsx?ts.JsxEmit.Preserve:void 0},(0,oa.createDefaultCompilerOptionsFromExtra)(Me)),Bn),zn=Hn.getSourceFile(Me.filePath);if(!zn)throw new Error("Expected an ast to be returned for the single-file isolated program.");return{ast:zn,program:Hn}}Me.createIsolatedProgram=E}}),iC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/describeFilePath.js"(Me){"use strict";Ps();var Bn=Me&&Me.__importDefault||function(Me){return Me&&Me.__esModule?Me:{default:Me}};Object.defineProperty(Me,"__esModule",{value:!0}),Me.describeFilePath=void 0;var Hn=Bn(OE());function h(Me,Bn){let zn=Hn.default.relative(Bn,Me);return zn&&!zn.startsWith("..")&&!Hn.default.isAbsolute(zn)?`/${zn}`:/^[(\w+:)\\/~]/.test(Me)||/\.\.[/\\]\.\./.test(zn)?Me:`/${zn}`}Me.describeFilePath=h}}),sC={};m1(sC,{default:()=>aC});var aC,oC=yp({"node-modules-polyfills:fs"(){Ps(),aC={}}}),uC=Oe({"node-modules-polyfills-commonjs:fs"(Me,Bn){Ps();var Hn=(oC(),Li(sC));if(Hn&&Hn.default){Bn.exports=Hn.default;for(let Me in Hn)Bn.exports[Me]=Hn[Me]}else Hn&&(Bn.exports=Hn)}}),cC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/getWatchProgramsForProjects.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn},ni=Me&&Me.__importDefault||function(Me){return Me&&Me.__esModule?Me:{default:Me}};Object.defineProperty(Me,"__esModule",{value:!0}),Me.getWatchProgramsForProjects=Me.clearWatchCaches=void 0;var Ci=ni(Ad()),aa=ni(uC()),oa=ni(Og()),ca=zn(Kf()),_a=eC(),xa=(0,Ci.default)("typescript-eslint:typescript-estree:createWatchProgram"),Ga=new Map,Ha=new Map,so=new Map,oo=new Map,Jo=new Map,tc=new Map;function ce(){Ga.clear(),Ha.clear(),so.clear(),tc.clear(),oo.clear(),Jo.clear()}Me.clearWatchCaches=ce;function Ie(Me){return(Bn,Hn)=>{let zn=(0,_a.getCanonicalFileName)(Bn),ni=(()=>{let Bn=Me.get(zn);return Bn||(Bn=new Set,Me.set(zn,Bn)),Bn})();return ni.add(Hn),{close:()=>{ni.delete(Hn)}}}}var dc={code:"",filePath:""};function Ae(Me){throw new Error(ca.flattenDiagnosticMessageText(Me.messageText,ca.sys.newLine))}function te(Me,Bn,Hn){let zn=Hn.EXPERIMENTAL_useSourceOfProjectReferenceRedirect?new Set(Bn.getSourceFiles().map((Me=>(0,_a.getCanonicalFileName)(Me.fileName)))):new Set(Bn.getRootFileNames().map((Me=>(0,_a.getCanonicalFileName)(Me))));return oo.set(Me,zn),zn}function he(Me){let Bn=(0,_a.getCanonicalFileName)(Me.filePath),Hn=[];dc.code=Me.code,dc.filePath=Bn;let zn=Ha.get(Bn),ni=(0,_a.createHash)(Me.code);tc.get(Bn)!==ni&&zn&&zn.size>0&&zn.forEach((Me=>Me(Bn,ca.FileWatcherEventKind.Changed)));let Ci=new Set(Me.projects);for(let[Hn,zn]of Ga.entries()){if(!Ci.has(Hn))continue;let ni=oo.get(Hn),ts=null;if(ni||(ts=zn.getProgram().getProgram(),ni=te(Hn,ts,Me)),ni.has(Bn))return xa("Found existing program for file. %s",Bn),ts=ts!=null?ts:zn.getProgram().getProgram(),ts.getTypeChecker(),[ts]}xa("File did not belong to any existing programs, moving to create/update. %s",Bn);for(let zn of Me.projects){let ni=Ga.get(zn);if(ni){let Ci=ke(ni,Bn,zn);if(!Ci)continue;if(Ci.getTypeChecker(),te(zn,Ci,Me).has(Bn))return xa("Found updated program for file. %s",Bn),[Ci];Hn.push(Ci);continue}let Ci=R(zn,Me);Ga.set(zn,Ci);let ts=Ci.getProgram().getProgram();if(ts.getTypeChecker(),te(zn,ts,Me).has(Bn))return xa("Found program for file. %s",Bn),[ts];Hn.push(ts)}return Hn}Me.getWatchProgramsForProjects=he;var Fc=oa.default.satisfies(ca.version,">=3.9.0-beta",{includePrerelease:!0});function R(Me,Bn){xa("Creating watch program for %s.",Me);let Hn=ca.createWatchCompilerHost(Me,(0,_a.createDefaultCompilerOptionsFromExtra)(Bn),ca.sys,ca.createAbstractBuilder,Ae,(()=>{}));Bn.moduleResolver&&(Hn.resolveModuleNames=(0,_a.getModuleResolver)(Bn.moduleResolver).resolveModuleNames);let zn=Hn.readFile;Hn.readFile=(Me,Bn)=>{let Hn=(0,_a.getCanonicalFileName)(Me),ni=Hn===dc.filePath?dc.code:zn(Hn,Bn);return ni!==void 0&&tc.set(Hn,(0,_a.createHash)(ni)),ni},Hn.onUnRecoverableConfigFileDiagnostic=Ae,Hn.afterProgramCreate=Me=>{let Bn=Me.getConfigFileParsingDiagnostics().filter((Me=>Me.category===ca.DiagnosticCategory.Error&&Me.code!==18003));Bn.length>0&&Ae(Bn[0])},Hn.watchFile=Ie(Ha),Hn.watchDirectory=Ie(so);let ni=Hn.onCachedDirectoryStructureHostCreate;Hn.onCachedDirectoryStructureHostCreate=Me=>{let Hn=Me.readDirectory;Me.readDirectory=(Me,zn,ni,Ci,ts)=>Hn(Me,zn?zn.concat(Bn.extraFileExtensions):void 0,ni,Ci,ts),ni(Me)},Hn.extraFileExtensions=Bn.extraFileExtensions.map((Me=>({extension:Me,isMixedContent:!0,scriptKind:ca.ScriptKind.Deferred}))),Hn.trace=xa,Hn.useSourceOfProjectReferenceRedirect=()=>Bn.EXPERIMENTAL_useSourceOfProjectReferenceRedirect;let Ci;Fc?(Hn.setTimeout=void 0,Hn.clearTimeout=void 0):(xa("Running without timeout fix"),Hn.setTimeout=function(Me,Bn){for(var Hn=arguments.length,zn=new Array(Hn>2?Hn-2:0),ni=2;ni{Ci=void 0});let ts=ca.createWatchProgram(Hn);if(!Fc){let Me=ts.getProgram;ts.getProgram=()=>(Ci&&Ci(),Ci=void 0,Me.call(ts))}return ts}function pe(Me){let Bn=aa.default.statSync(Me).mtimeMs,Hn=Jo.get(Me);return Jo.set(Me,Bn),Hn===void 0?!1:Math.abs(Hn-Bn)>Number.EPSILON}function ke(Me,Bn,Hn){let zn=Me.getProgram().getProgram();if(ts.env.TSESTREE_NO_INVALIDATION==="true")return zn;pe(Hn)&&(xa("tsconfig has changed - triggering program update. %s",Hn),Ha.get(Hn).forEach((Me=>Me(Hn,ca.FileWatcherEventKind.Changed))),oo.delete(Hn));let ni=zn.getSourceFile(Bn);if(ni)return zn;xa("File was not found in program - triggering folder update. %s",Bn);let Ci=(0,_a.canonicalDirname)(Bn),Ps=null,oa=Ci,Ga=!1;for(;Ps!==oa;){Ps=oa;let Me=so.get(Ps);Me&&(Me.forEach((Me=>{Ci!==Ps&&Me(Ci,ca.FileWatcherEventKind.Changed),Me(Ps,ca.FileWatcherEventKind.Changed)})),Ga=!0),oa=(0,_a.canonicalDirname)(Ps)}if(!Ga)return xa("No callback found for file, not part of this program. %s",Bn),null;if(oo.delete(Hn),zn=Me.getProgram().getProgram(),ni=zn.getSourceFile(Bn),ni)return zn;xa("File was still not found in program after directory update - checking file deletions. %s",Bn);let Jo=zn.getRootFileNames().find((Me=>!aa.default.existsSync(Me)));if(!Jo)return null;let tc=Ha.get((0,_a.getCanonicalFileName)(Jo));return tc?(xa("Marking file as deleted. %s",Jo),tc.forEach((Me=>Me(Jo,ca.FileWatcherEventKind.Deleted))),oo.delete(Hn),zn=Me.getProgram().getProgram(),ni=zn.getSourceFile(Bn),ni?zn:(xa("File was still not found in program after deletion check, assuming it is not part of this program. %s",Bn),null)):(xa("Could not find watch callbacks for root file. %s",Jo),zn)}}}),lC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn},ni=Me&&Me.__importDefault||function(Me){return Me&&Me.__esModule?Me:{default:Me}};Object.defineProperty(Me,"__esModule",{value:!0}),Me.createProjectProgram=void 0;var Ci=ni(Ad()),ts=ni(OE()),aa=zn(Kf()),oa=Wg(),ca=iC(),_a=cC(),xa=eC(),Ga=(0,Ci.default)("typescript-eslint:typescript-estree:createProjectProgram"),Ha=[aa.Extension.Ts,aa.Extension.Tsx,aa.Extension.Js,aa.Extension.Jsx,aa.Extension.Mjs,aa.Extension.Mts,aa.Extension.Cjs,aa.Extension.Cts];function q(Me){Ga("Creating project program for: %s",Me.filePath);let Bn=(0,_a.getWatchProgramsForProjects)(Me),Hn=(0,oa.firstDefined)(Bn,(Bn=>(0,xa.getAstFromProgram)(Bn,Me)));if(Hn||Me.createDefaultProgram)return Hn;let Ie=Bn=>(0,ca.describeFilePath)(Bn,Me.tsconfigRootDir),zn=(0,ca.describeFilePath)(Me.filePath,Me.tsconfigRootDir),ni=Me.projects.map(Ie),Ci=ni.length===1?ni[0]:`\n${ni.map((Me=>`- ${Me}`)).join(`\n`)}`,Ps=[`ESLint was configured to run on \`${zn}\` using \`parserOptions.project\`: ${Ci}`],aa=!1,so=Me.extraFileExtensions||[];so.forEach((Me=>{Me.startsWith(".")||Ps.push(`Found unexpected extension \`${Me}\` specified with the \`parserOptions.extraFileExtensions\` option. Did you mean \`.${Me}\`?`),Ha.includes(Me)&&Ps.push(`You unnecessarily included the extension \`${Me}\` with the \`parserOptions.extraFileExtensions\` option. This extension is already handled by the parser by default.`)}));let oo=ts.default.extname(Me.filePath);if(!Ha.includes(oo)){let Me=`The extension for the file (\`${oo}\`) is non-standard`;so.length>0?so.includes(oo)||(Ps.push(`${Me}. It should be added to your existing \`parserOptions.extraFileExtensions\`.`),aa=!0):(Ps.push(`${Me}. You should add \`parserOptions.extraFileExtensions\` to your config.`),aa=!0)}if(!aa){let[Bn,Hn]=Me.projects.length===1?["that TSConfig does not","that TSConfig"]:["none of those TSConfigs","one of those TSConfigs"];Ps.push(`However, ${Bn} include this file. Either:`,"- Change ESLint's list of included files to not include this file",`- Change ${Hn} to include this file`,"- Create a new TSConfig that includes this file and include it in your parserOptions.project","See the typescript-eslint docs for more info: https://typescript-eslint.io/linting/troubleshooting#i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file")}throw new Error(Ps.join(`\n`))}Me.createProjectProgram=q}}),pC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/createSourceFile.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn},ni=Me&&Me.__importDefault||function(Me){return Me&&Me.__esModule?Me:{default:Me}};Object.defineProperty(Me,"__esModule",{value:!0}),Me.createSourceFile=void 0;var Ci=ni(Ad()),ts=zn(Kf()),aa=rC(),oa=(0,Ci.default)("typescript-eslint:typescript-estree:createSourceFile");function d(Me){return oa("Getting AST without type information in %s mode for: %s",Me.jsx?"TSX":"TS",Me.filePath),ts.createSourceFile(Me.filePath,Me.code,ts.ScriptTarget.Latest,!0,(0,aa.getScriptKind)(Me.filePath,Me.jsx))}Me.createSourceFile=d}}),fC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/useProvidedPrograms.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn},ni=Me&&Me.__importDefault||function(Me){return Me&&Me.__esModule?Me:{default:Me}};Object.defineProperty(Me,"__esModule",{value:!0}),Me.createProgramFromConfigFile=Me.useProvidedPrograms=void 0;var Ci=ni(Ad()),aa=zn(uC()),oa=zn(OE()),ca=zn(Kf()),_a=eC(),xa=(0,Ci.default)("typescript-eslint:typescript-estree:useProvidedProgram");function I(Me,Bn){xa("Retrieving ast for %s from provided program instance(s)",Bn.filePath);let Hn;for(let zn of Me)if(Hn=(0,_a.getAstFromProgram)(zn,Bn),Hn)break;if(!Hn){let Me=['"parserOptions.programs" has been provided for @typescript-eslint/parser.',`The file was not found in any of the provided program instance(s): ${oa.relative(Bn.tsconfigRootDir||"/prettier-security-dirname-placeholder",Bn.filePath)}`];throw new Error(Me.join(`\n`))}return Hn.program.getTypeChecker(),Hn}Me.useProvidedPrograms=I;function c(Me,Bn){if(ca.sys===void 0)throw new Error("`createProgramFromConfigFile` is only supported in a Node-like environment.");let Hn=ca.getParsedCommandLineOfConfigFile(Me,_a.CORE_COMPILER_OPTIONS,{onUnRecoverableConfigFileDiagnostic:Me=>{throw new Error(M([Me]))},fileExists:aa.existsSync,getCurrentDirectory:()=>Bn&&oa.resolve(Bn)||"/prettier-security-dirname-placeholder",readDirectory:ca.sys.readDirectory,readFile:Me=>aa.readFileSync(Me,"utf-8"),useCaseSensitiveFileNames:ca.sys.useCaseSensitiveFileNames});if(Hn.errors.length)throw new Error(M(Hn.errors));let zn=ca.createCompilerHost(Hn.options,!0);return ca.createProgram(Hn.fileNames,Hn.options,zn)}Me.createProgramFromConfigFile=c;function M(Me){return ca.formatDiagnostics(Me,{getCanonicalFileName:Me=>Me,getCurrentDirectory:ts.cwd,getNewLine:()=>`\n`})}}}),dC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.js"(Me){"use strict";Ps();var Bn=Me&&Me.__classPrivateFieldSet||function(Me,Bn,Hn,zn,ni){if(zn==="m")throw new TypeError("Private method is not writable");if(zn==="a"&&!ni)throw new TypeError("Private accessor was defined without a setter");if(typeof Bn=="function"?Me!==Bn||!ni:!Bn.has(Me))throw new TypeError("Cannot write private member to an object whose class did not declare it");return zn==="a"?ni.call(Me,Hn):ni?ni.value=Hn:Bn.set(Me,Hn),Hn},Hn=Me&&Me.__classPrivateFieldGet||function(Me,Bn,Hn,zn){if(Hn==="a"&&!zn)throw new TypeError("Private accessor was defined without a getter");if(typeof Bn=="function"?Me!==Bn||!zn:!Bn.has(Me))throw new TypeError("Cannot read private member from an object whose class did not declare it");return Hn==="m"?zn:Hn==="a"?zn.call(Me):zn?zn.value:Bn.get(Me)},zn,ni;Object.defineProperty(Me,"__esModule",{value:!0}),Me.ExpiringCache=Me.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS=void 0,Me.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS=30;var Ci=[0,0],aa=class{constructor(Me){zn.set(this,void 0),ni.set(this,new Map),Bn(this,zn,Me,"f")}set(Me,Bn){return Hn(this,ni,"f").set(Me,{value:Bn,lastSeen:Hn(this,zn,"f")==="Infinity"?Ci:ts.hrtime()}),this}get(Me){let Bn=Hn(this,ni,"f").get(Me);if((Bn==null?void 0:Bn.value)!=null){if(Hn(this,zn,"f")==="Infinity"||ts.hrtime(Bn.lastSeen)[0]1&&zn.length>=Me.tsconfigRootDir.length);throw new Error(`project was set to \`true\` but couldn't find any tsconfig.json relative to '${Me.filePath}' within '${Me.tsconfigRootDir}'.`)}Me.getProjectConfigFiles=d}}),AC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/inferSingleRun.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.inferSingleRun=void 0;var Bn=OE();function v(Me){return(Me==null?void 0:Me.project)==null||(Me==null?void 0:Me.programs)!=null||ts.env.TSESTREE_SINGLE_RUN==="false"?!1:!!(ts.env.TSESTREE_SINGLE_RUN==="true"||Me!=null&&Me.allowAutomaticSingleRunInference&&(ts.env.CI==="true"||ts.argv[1].endsWith((0,Bn.normalize)("node_modules/.bin/eslint"))))}Me.inferSingleRun=v}}),mC=Oe({"node_modules/is-extglob/index.js"(Me,Bn){Ps(),Bn.exports=function(Me){if(typeof Me!="string"||Me==="")return!1;for(var Bn;Bn=/(\\).|([@?!+*]\(.*\))/g.exec(Me);){if(Bn[2])return!0;Me=Me.slice(Bn.index+Bn[0].length)}return!1}}}),gC=Oe({"node_modules/is-glob/index.js"(Me,Bn){Ps();var Hn=mC(),zn={"{":"}","(":")","[":"]"},D=function(Me){if(Me[0]==="!")return!0;for(var Bn=0,Hn=-2,ni=-2,Ci=-2,ts=-2,Ps=-2;BnBn&&(Ps===-1||Ps>ni||(Ps=Me.indexOf("\\",Bn),Ps===-1||Ps>ni)))||Ci!==-1&&Me[Bn]==="{"&&Me[Bn+1]!=="}"&&(Ci=Me.indexOf("}",Bn),Ci>Bn&&(Ps=Me.indexOf("\\",Bn),Ps===-1||Ps>Ci))||ts!==-1&&Me[Bn]==="("&&Me[Bn+1]==="?"&&/[:!=]/.test(Me[Bn+2])&&Me[Bn+3]!==")"&&(ts=Me.indexOf(")",Bn),ts>Bn&&(Ps=Me.indexOf("\\",Bn),Ps===-1||Ps>ts))||Hn!==-1&&Me[Bn]==="("&&Me[Bn+1]!=="|"&&(HnHn&&(Ps=Me.indexOf("\\",Hn),Ps===-1||Ps>ts))))return!0;if(Me[Bn]==="\\"){var aa=Me[Bn+1];Bn+=2;var oa=zn[aa];if(oa){var ca=Me.indexOf(oa,Bn);ca!==-1&&(Bn=ca+1)}if(Me[Bn]==="!")return!0}else Bn++}return!1},P=function(Me){if(Me[0]==="!")return!0;for(var Bn=0;Bn(typeof Bn=="string"&&Me.push(Bn),Me)),[]).map((Me=>Me.startsWith("!")?Me:`!${Me}`)),xa=I({project:ca,projectFolderIgnoreList:_a,tsconfigRootDir:Me.tsconfigRootDir});if(oa==null)oa=new ts.ExpiringCache(Me.singleRun?"Infinity":(Ps=(Hn=Me.cacheLifetime)===null||Hn===void 0?void 0:Hn.glob)!==null&&Ps!==void 0?Ps:ts.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS);else{let Me=oa.get(xa);if(Me)return Me}let Ga=ca.filter((Me=>!(0,ni.default)(Me))),Ha=ca.filter((Me=>(0,ni.default)(Me))),so=new Set(Ga.concat(Ha.length===0?[]:(0,zn.sync)([...Ha,..._a],{cwd:Me.tsconfigRootDir})).map((Bn=>(0,Ci.getCanonicalFileName)((0,Ci.ensureAbsolutePath)(Bn,Me.tsconfigRootDir)))));aa("parserOptions.project (excluding ignored) matched projects: %s",so);let oo=Array.from(so);return oa.set(xa,oo),oo}Me.resolveProjectList=E;function I(Me){let{project:Bn,projectFolderIgnoreList:Hn,tsconfigRootDir:zn}=Me,ni={tsconfigRootDir:zn,project:Bn,projectFolderIgnoreList:[...Hn].sort()};return(0,Ci.createHash)(JSON.stringify(ni))}function c(){oa==null||oa.clear(),oa=null}Me.clearGlobResolutionCache=c}}),yC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn},ni=Me&&Me.__importDefault||function(Me){return Me&&Me.__esModule?Me:{default:Me}};Object.defineProperty(Me,"__esModule",{value:!0}),Me.warnAboutTSVersion=void 0;var Ci=ni(Og()),aa=zn(Kf()),oa=">=3.3.1 <5.1.0",ca=["5.0.1-rc"],_a=aa.version,xa=Ci.default.satisfies(_a,[oa].concat(ca).join(" || ")),Ga=!1;function c(Me){var Bn;if(!xa&&!Ga){if(typeof ts>"u"?!1:(Bn=ts.stdout)===null||Bn===void 0?void 0:Bn.isTTY){let Bn="=============",Hn=[Bn,"WARNING: You are currently running a version of TypeScript which is not officially supported by @typescript-eslint/typescript-estree.","You may find that it works just fine, or you may not.",`SUPPORTED TYPESCRIPT VERSIONS: ${oa}`,`YOUR TYPESCRIPT VERSION: ${_a}`,"Please only submit bug reports when using the officially supported version.",Bn];Me.log(Hn.join(`\n\n`))}Ga=!0}}Me.warnAboutTSVersion=c}}),vC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.js"(Me){"use strict";Ps();var Bn=Me&&Me.__importDefault||function(Me){return Me&&Me.__esModule?Me:{default:Me}};Object.defineProperty(Me,"__esModule",{value:!0}),Me.clearTSConfigMatchCache=Me.createParseSettings=void 0;var Hn=Bn(Ad()),zn=eC(),ni=dC(),Ci=hC(),ts=AC(),aa=_C(),oa=yC(),ca=(0,Hn.default)("typescript-eslint:typescript-estree:parser:parseSettings:createParseSettings"),_a;function I(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var Ps,xa,Ga;let Ha=(0,ts.inferSingleRun)(Bn),so=typeof Bn.tsconfigRootDir=="string"?Bn.tsconfigRootDir:"/prettier-security-dirname-placeholder",oo={code:M(Me),comment:Bn.comment===!0,comments:[],createDefaultProgram:Bn.createDefaultProgram===!0,debugLevel:Bn.debugLevel===!0?new Set(["typescript-eslint"]):Array.isArray(Bn.debugLevel)?new Set(Bn.debugLevel):new Set,errorOnTypeScriptSyntacticAndSemanticIssues:!1,errorOnUnknownASTType:Bn.errorOnUnknownASTType===!0,EXPERIMENTAL_useSourceOfProjectReferenceRedirect:Bn.EXPERIMENTAL_useSourceOfProjectReferenceRedirect===!0,extraFileExtensions:Array.isArray(Bn.extraFileExtensions)&&Bn.extraFileExtensions.every((Me=>typeof Me=="string"))?Bn.extraFileExtensions:[],filePath:(0,zn.ensureAbsolutePath)(typeof Bn.filePath=="string"&&Bn.filePath!==""?Bn.filePath:q(Bn.jsx),so),jsx:Bn.jsx===!0,loc:Bn.loc===!0,log:typeof Bn.loggerFn=="function"?Bn.loggerFn:Bn.loggerFn===!1?()=>{}:console.log,moduleResolver:(Ps=Bn.moduleResolver)!==null&&Ps!==void 0?Ps:"",preserveNodeMaps:Bn.preserveNodeMaps!==!1,programs:Array.isArray(Bn.programs)?Bn.programs:null,projects:[],range:Bn.range===!0,singleRun:Ha,tokens:Bn.tokens===!0?[]:null,tsconfigMatchCache:_a!=null?_a:_a=new ni.ExpiringCache(Ha?"Infinity":(Ga=(xa=Bn.cacheLifetime)===null||xa===void 0?void 0:xa.glob)!==null&&Ga!==void 0?Ga:ni.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS),tsconfigRootDir:so};if(oo.debugLevel.size>0){let Me=[];oo.debugLevel.has("typescript-eslint")&&Me.push("typescript-eslint:*"),(oo.debugLevel.has("eslint")||Hn.default.enabled("eslint:*,-eslint:code-path"))&&Me.push("eslint:*,-eslint:code-path"),Hn.default.enable(Me.join(","))}if(Array.isArray(Bn.programs)){if(!Bn.programs.length)throw new Error("You have set parserOptions.programs to an empty array. This will cause all files to not be found in existing programs. Either provide one or more existing TypeScript Program instances in the array, or remove the parserOptions.programs setting.");ca("parserOptions.programs was provided, so parserOptions.project will be ignored.")}return oo.programs||(oo.projects=(0,aa.resolveProjectList)({cacheLifetime:Bn.cacheLifetime,project:(0,Ci.getProjectConfigFiles)(oo,Bn.project),projectFolderIgnoreList:Bn.projectFolderIgnoreList,singleRun:oo.singleRun,tsconfigRootDir:so})),(0,oa.warnAboutTSVersion)(oo),oo}Me.createParseSettings=I;function c(){_a==null||_a.clear()}Me.clearTSConfigMatchCache=c;function M(Me){return typeof Me!="string"?String(Me):Me}function q(Me){return Me?"estree.tsx":"estree.ts"}}}),EC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/semantic-or-syntactic-errors.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.getFirstSemanticOrSyntacticError=void 0;var Bn=Kf();function v(Me,Bn){try{let Hn=h(Me.getSyntacticDiagnostics(Bn));if(Hn.length)return D(Hn[0]);let zn=h(Me.getSemanticDiagnostics(Bn));return zn.length?D(zn[0]):void 0}catch(Me){console.warn(`Warning From TSC: "${Me.message}`);return}}Me.getFirstSemanticOrSyntacticError=v;function h(Me){return Me.filter((Me=>{switch(Me.code){case 1013:case 1014:case 1044:case 1045:case 1048:case 1049:case 1070:case 1071:case 1085:case 1090:case 1096:case 1097:case 1098:case 1099:case 1117:case 1121:case 1123:case 1141:case 1162:case 1164:case 1172:case 1173:case 1175:case 1176:case 1190:case 1196:case 1200:case 1206:case 1211:case 1242:case 1246:case 1255:case 1308:case 2364:case 2369:case 2452:case 2462:case 8017:case 17012:case 17013:return!0}return!1}))}function D(Me){return Object.assign(Object.assign({},Me),{message:(0,Bn.flattenDiagnosticMessageText)(Me.messageText,Bn.sys.newLine)})}}}),bC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/parser.js"(Me){"use strict";Ps();var Bn=Me&&Me.__importDefault||function(Me){return Me&&Me.__esModule?Me:{default:Me}};Object.defineProperty(Me,"__esModule",{value:!0}),Me.clearParseAndGenerateServicesCalls=Me.clearProgramCache=Me.parseWithNodeMaps=Me.parseAndGenerateServices=Me.parse=void 0;var Hn=Bn(Ad()),zn=Iv(),ni=Kg(),Ci=tC(),ts=nC(),aa=lC(),oa=pC(),ca=fC(),_a=vC(),xa=EC(),Ga=(0,Hn.default)("typescript-eslint:typescript-estree:parser"),Ha=new Map;function q(){Ha.clear()}Me.clearProgramCache=q;function W(Me,Bn){return Me.programs&&(0,ca.useProvidedPrograms)(Me.programs,Me)||Bn&&(0,aa.createProjectProgram)(Me)||Bn&&Me.createDefaultProgram&&(0,Ci.createDefaultProgram)(Me)||(0,ts.createIsolatedProgram)(Me)}function K(Me,Bn){let{ast:Hn}=ce(Me,Bn,!1);return Hn}Me.parse=K;function ce(Me,Bn,Hn){let ni=(0,_a.createParseSettings)(Me,Bn);if(Bn!=null&&Bn.errorOnTypeScriptSyntacticAndSemanticIssues)throw new Error('"errorOnTypeScriptSyntacticAndSemanticIssues" is only supported for parseAndGenerateServices()');let Ci=(0,oa.createSourceFile)(ni),{estree:ts,astMaps:Ps}=(0,zn.astConverter)(Ci,ni,Hn);return{ast:ts,esTreeNodeToTSNodeMap:Ps.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:Ps.tsNodeToESTreeNodeMap}}function Ie(Me,Bn){return ce(Me,Bn,!0)}Me.parseWithNodeMaps=Ie;var so={};function Ae(){so={}}Me.clearParseAndGenerateServicesCalls=Ae;function te(Me,Bn){var Hn,Ci;let Ps=(0,_a.createParseSettings)(Me,Bn);Bn!==void 0&&typeof Bn.errorOnTypeScriptSyntacticAndSemanticIssues=="boolean"&&Bn.errorOnTypeScriptSyntacticAndSemanticIssues&&(Ps.errorOnTypeScriptSyntacticAndSemanticIssues=!0),Ps.singleRun&&!Ps.programs&&((Hn=Ps.projects)===null||Hn===void 0?void 0:Hn.length)>0&&(Ps.programs={*[Symbol.iterator](){for(let Me of Ps.projects){let Bn=Ha.get(Me);if(Bn)yield Bn;else{Ga("Detected single-run/CLI usage, creating Program once ahead of time for project: %s",Me);let Bn=(0,ca.createProgramFromConfigFile)(Me);Ha.set(Me,Bn),yield Bn}}}});let aa=Ps.programs!=null||((Ci=Ps.projects)===null||Ci===void 0?void 0:Ci.length)>0;Ps.singleRun&&Bn.filePath&&(so[Bn.filePath]=(so[Bn.filePath]||0)+1);let{ast:oa,program:oo}=Ps.singleRun&&Bn.filePath&&so[Bn.filePath]>1?(0,ts.createIsolatedProgram)(Ps):W(Ps,aa),Jo=typeof Ps.preserveNodeMaps=="boolean"?Ps.preserveNodeMaps:!0,{estree:tc,astMaps:dc}=(0,zn.astConverter)(oa,Ps,Jo);if(oo&&Ps.errorOnTypeScriptSyntacticAndSemanticIssues){let Me=(0,xa.getFirstSemanticOrSyntacticError)(oo,oa);if(Me)throw(0,ni.convertError)(Me)}return{ast:tc,services:{hasFullTypeInformation:aa,program:oo,esTreeNodeToTSNodeMap:dc.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:dc.tsNodeToESTreeNodeMap}}}Me.parseAndGenerateServices=te}}),CC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.clearProgramCache=Me.clearCaches=void 0;var Bn=cC(),Hn=bC(),zn=vC(),ni=_C();function P(){(0,Hn.clearProgramCache)(),(0,Bn.clearWatchCaches)(),(0,zn.clearTSConfigMatchCache)(),(0,ni.clearGlobCache)()}Me.clearCaches=P,Me.clearProgramCache=P}}),DC=Oe({"node_modules/@typescript-eslint/typescript-estree/package.json"(Me,Bn){Bn.exports={name:"@typescript-eslint/typescript-estree",version:"5.55.0",description:"A parser that converts TypeScript source code into an ESTree compatible form",main:"dist/index.js",types:"dist/index.d.ts",files:["dist","_ts3.4","README.md","LICENSE"],engines:{node:"^12.22.0 || ^14.17.0 || >=16.0.0"},repository:{type:"git",url:"https://github.com/typescript-eslint/typescript-eslint.git",directory:"packages/typescript-estree"},bugs:{url:"https://github.com/typescript-eslint/typescript-eslint/issues"},license:"BSD-2-Clause",keywords:["ast","estree","ecmascript","javascript","typescript","parser","syntax"],scripts:{build:"tsc -b tsconfig.build.json",postbuild:"downlevel-dts dist _ts3.4/dist",clean:"tsc -b tsconfig.build.json --clean",postclean:"rimraf dist && rimraf _ts3.4 && rimraf coverage",format:'prettier --write "./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}" --ignore-path ../../.prettierignore',lint:"nx lint",test:"jest --coverage",typecheck:"tsc -p tsconfig.json --noEmit"},dependencies:{"@typescript-eslint/types":"5.55.0","@typescript-eslint/visitor-keys":"5.55.0",debug:"^4.3.4",globby:"^11.1.0","is-glob":"^4.0.3",semver:"^7.3.7",tsutils:"^3.21.0"},devDependencies:{"@babel/code-frame":"*","@babel/parser":"*","@types/babel__code-frame":"*","@types/debug":"*","@types/glob":"*","@types/is-glob":"*","@types/semver":"*","@types/tmp":"*",glob:"*","jest-specific-snapshot":"*","make-dir":"*",tmp:"*",typescript:"*"},peerDependenciesMeta:{typescript:{optional:!0}},funding:{type:"opencollective",url:"https://opencollective.com/typescript-eslint"},typesVersions:{"<3.8":{"*":["_ts3.4/*"]}},gitHead:"877d73327fca3bdbe7e170e8b3a906d090a6de37"}}}),wC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/index.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__exportStar||function(Me,Hn){for(var zn in Me)zn!=="default"&&!Object.prototype.hasOwnProperty.call(Hn,zn)&&Bn(Hn,Me,zn)};Object.defineProperty(Me,"__esModule",{value:!0}),Me.version=Me.visitorKeys=Me.typescriptVersionIsAtLeast=Me.createProgram=Me.simpleTraverse=Me.parseWithNodeMaps=Me.parseAndGenerateServices=Me.parse=void 0;var zn=bC();Object.defineProperty(Me,"parse",{enumerable:!0,get:function(){return zn.parse}}),Object.defineProperty(Me,"parseAndGenerateServices",{enumerable:!0,get:function(){return zn.parseAndGenerateServices}}),Object.defineProperty(Me,"parseWithNodeMaps",{enumerable:!0,get:function(){return zn.parseWithNodeMaps}});var ni=Sv();Object.defineProperty(Me,"simpleTraverse",{enumerable:!0,get:function(){return ni.simpleTraverse}}),Hn(Yg(),Me);var Ci=fC();Object.defineProperty(Me,"createProgram",{enumerable:!0,get:function(){return Ci.createProgramFromConfigFile}}),Hn(rC(),Me);var ts=Lg();Object.defineProperty(Me,"typescriptVersionIsAtLeast",{enumerable:!0,get:function(){return ts.typescriptVersionIsAtLeast}}),Hn(Mg(),Me),Hn(CC(),Me);var aa=wv();Object.defineProperty(Me,"visitorKeys",{enumerable:!0,get:function(){return aa.visitorKeys}}),Me.version=DC().version}});Ps();var SC=aa(),IC=oa(),xC=Qp(),kC=Up(),BC=Yf(),{throwErrorForInvalidNodes:TC}=Xf(),FC={loc:!0,range:!0,comment:!0,jsx:!0,tokens:!0,loggerFn:!1,project:[]};function _H(Me){let{message:Bn,lineNumber:Hn,column:zn}=Me;return typeof Hn!="number"?Me:SC(Bn,{start:{line:Hn,column:zn+1}})}function cH(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},zn=kC(Me),ni=lH(Me),{parseWithNodeMaps:Ci}=wC(),{result:ts,error:Ps}=IC((()=>Ci(zn,Object.assign(Object.assign({},FC),{},{jsx:ni}))),(()=>Ci(zn,Object.assign(Object.assign({},FC),{},{jsx:!ni}))));if(!ts)throw _H(Ps);return Hn.originalText=Me,TC(ts,Hn),BC(ts.ast,Hn)}function lH(Me){return new RegExp(["(?:^[^\"'`]*)"].join(""),"m").test(Me)}Bn.exports={parsers:{typescript:xC(cH)}}}));return Dg()}))},73620:Me=>{(function(Bn){if(true)Me.exports=Bn();else{var Hn}})((function(){"use strict";var yt=(Me,Bn)=>()=>(Bn||Me((Bn={exports:{}}).exports,Bn),Bn.exports);var Me=yt(((Me,Bn)=>{var Hn=Object.defineProperty,zn=Object.getOwnPropertyDescriptor,ni=Object.getOwnPropertyNames,Ci=Object.prototype.hasOwnProperty,Ke=(Me,Bn)=>function(){return Me&&(Bn=(0,Me[ni(Me)[0]])(Me=0)),Bn},D=(Me,Bn)=>function(){return Bn||(0,Me[ni(Me)[0]])((Bn={exports:{}}).exports,Bn),Bn.exports},St=(Me,Bn)=>{for(var zn in Bn)Hn(Me,zn,{get:Bn[zn],enumerable:!0})},Et=(Me,Bn,ts,Ps)=>{if(Bn&&typeof Bn=="object"||typeof Bn=="function")for(let aa of ni(Bn))!Ci.call(Me,aa)&&aa!==ts&&Hn(Me,aa,{get:()=>Bn[aa],enumerable:!(Ps=zn(Bn,aa))||Ps.enumerable});return Me},se=Me=>Et(Hn({},"__esModule",{value:!0}),Me),ts,Ps=Ke({""(){ts={env:{},argv:[]}}}),aa=D({"src/common/parser-create-error.js"(Me,Bn){"use strict";Ps();function r(Me,Bn){let Hn=new SyntaxError(Me+" ("+Bn.start.line+":"+Bn.start.column+")");return Hn.loc=Bn,Hn}Bn.exports=r}}),oa=D({"src/language-yaml/pragma.js"(Me,Bn){"use strict";Ps();function r(Me){return/^\s*@(?:prettier|format)\s*$/.test(Me)}function c(Me){return/^\s*#[^\S\n]*@(?:prettier|format)\s*?(?:\n|$)/.test(Me)}function h(Me){return`# @format\n\n${Me}`}Bn.exports={isPragma:r,hasPragma:c,insertPragma:h}}}),ca=D({"src/language-yaml/loc.js"(Me,Bn){"use strict";Ps();function r(Me){return Me.position.start.offset}function c(Me){return Me.position.end.offset}Bn.exports={locStart:r,locEnd:c}}}),_a={};St(_a,{__assign:()=>Ga,__asyncDelegator:()=>Yt,__asyncGenerator:()=>jt,__asyncValues:()=>Dt,__await:()=>Ce,__awaiter:()=>Pt,__classPrivateFieldGet:()=>Qt,__classPrivateFieldSet:()=>Ut,__createBinding:()=>Rt,__decorate:()=>Tt,__exportStar:()=>qt,__extends:()=>At,__generator:()=>It,__importDefault:()=>Vt,__importStar:()=>Wt,__makeTemplateObject:()=>Ft,__metadata:()=>kt,__param:()=>Ct,__read:()=>Je,__rest:()=>Nt,__spread:()=>$t,__spreadArrays:()=>Bt,__values:()=>je});function At(Me,Bn){xa(Me,Bn);function r(){this.constructor=Me}Me.prototype=Bn===null?Object.create(Bn):(r.prototype=Bn.prototype,new r)}function Nt(Me,Bn){var Hn={};for(var zn in Me)Object.prototype.hasOwnProperty.call(Me,zn)&&Bn.indexOf(zn)<0&&(Hn[zn]=Me[zn]);if(Me!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ni=0,zn=Object.getOwnPropertySymbols(Me);ni=0;Ps--)(ts=Me[Ps])&&(Ci=(ni<3?ts(Ci):ni>3?ts(Bn,Hn,Ci):ts(Bn,Hn))||Ci);return ni>3&&Ci&&Object.defineProperty(Bn,Hn,Ci),Ci}function Ct(Me,Bn){return function(Hn,zn){Bn(Hn,zn,Me)}}function kt(Me,Bn){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(Me,Bn)}function Pt(Me,Bn,Hn,zn){function h(Me){return Me instanceof Hn?Me:new Hn((function(Bn){Bn(Me)}))}return new(Hn||(Hn=Promise))((function(Hn,ni){function E(Me){try{S(zn.next(Me))}catch(Me){ni(Me)}}function I(Me){try{S(zn.throw(Me))}catch(Me){ni(Me)}}function S(Me){Me.done?Hn(Me.value):h(Me.value).then(E,I)}S((zn=zn.apply(Me,Bn||[])).next())}))}function It(Me,Bn){var Hn={label:0,sent:function(){if(Ci[0]&1)throw Ci[1];return Ci[1]},trys:[],ops:[]},zn,ni,Ci,ts;return ts={next:E(0),throw:E(1),return:E(2)},typeof Symbol=="function"&&(ts[Symbol.iterator]=function(){return this}),ts;function E(Me){return function(Bn){return I([Me,Bn])}}function I(ts){if(zn)throw new TypeError("Generator is already executing.");for(;Hn;)try{if(zn=1,ni&&(Ci=ts[0]&2?ni.return:ts[0]?ni.throw||((Ci=ni.return)&&Ci.call(ni),0):ni.next)&&!(Ci=Ci.call(ni,ts[1])).done)return Ci;switch(ni=0,Ci&&(ts=[ts[0]&2,Ci.value]),ts[0]){case 0:case 1:Ci=ts;break;case 4:return Hn.label++,{value:ts[1],done:!1};case 5:Hn.label++,ni=ts[1],ts=[0];continue;case 7:ts=Hn.ops.pop(),Hn.trys.pop();continue;default:if(Ci=Hn.trys,!(Ci=Ci.length>0&&Ci[Ci.length-1])&&(ts[0]===6||ts[0]===2)){Hn=0;continue}if(ts[0]===3&&(!Ci||ts[1]>Ci[0]&&ts[1]=Me.length&&(Me=void 0),{value:Me&&Me[zn++],done:!Me}}};throw new TypeError(Bn?"Object is not iterable.":"Symbol.iterator is not defined.")}function Je(Me,Bn){var Hn=typeof Symbol=="function"&&Me[Symbol.iterator];if(!Hn)return Me;var zn=Hn.call(Me),ni,Ci=[],ts;try{for(;(Bn===void 0||Bn-- >0)&&!(ni=zn.next()).done;)Ci.push(ni.value)}catch(Me){ts={error:Me}}finally{try{ni&&!ni.done&&(Hn=zn.return)&&Hn.call(zn)}finally{if(ts)throw ts.error}}return Ci}function $t(){for(var Me=[],Bn=0;Bn1||E(Me,Bn)}))})}function E(Me,Bn){try{I(zn[Me](Bn))}catch(Me){T(Ci[0][3],Me)}}function I(Me){Me.value instanceof Ce?Promise.resolve(Me.value.v).then(S,M):T(Ci[0][2],Me)}function S(Me){E("next",Me)}function M(Me){E("throw",Me)}function T(Me,Bn){Me(Bn),Ci.shift(),Ci.length&&E(Ci[0][0],Ci[0][1])}}function Yt(Me){var Bn,Hn;return Bn={},c("next"),c("throw",(function(Me){throw Me})),c("return"),Bn[Symbol.iterator]=function(){return this},Bn;function c(zn,ni){Bn[zn]=Me[zn]?function(Bn){return(Hn=!Hn)?{value:Ce(Me[zn](Bn)),done:zn==="return"}:ni?ni(Bn):Bn}:ni}}function Dt(Me){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var Bn=Me[Symbol.asyncIterator],Hn;return Bn?Bn.call(Me):(Me=typeof je=="function"?je(Me):Me[Symbol.iterator](),Hn={},c("next"),c("throw"),c("return"),Hn[Symbol.asyncIterator]=function(){return this},Hn);function c(Bn){Hn[Bn]=Me[Bn]&&function(Hn){return new Promise((function(zn,ni){Hn=Me[Bn](Hn),h(zn,ni,Hn.done,Hn.value)}))}}function h(Me,Bn,Hn,zn){Promise.resolve(zn).then((function(Bn){Me({value:Bn,done:Hn})}),Bn)}}function Ft(Me,Bn){return Object.defineProperty?Object.defineProperty(Me,"raw",{value:Bn}):Me.raw=Bn,Me}function Wt(Me){if(Me&&Me.__esModule)return Me;var Bn={};if(Me!=null)for(var Hn in Me)Object.hasOwnProperty.call(Me,Hn)&&(Bn[Hn]=Me[Hn]);return Bn.default=Me,Bn}function Vt(Me){return Me&&Me.__esModule?Me:{default:Me}}function Qt(Me,Bn){if(!Bn.has(Me))throw new TypeError("attempted to get private field on non-instance");return Bn.get(Me)}function Ut(Me,Bn,Hn){if(!Bn.has(Me))throw new TypeError("attempted to set private field on non-instance");return Bn.set(Me,Hn),Hn}var xa,Ga,Ha=Ke({"node_modules/tslib/tslib.es6.js"(){Ps(),xa=function(Me,Bn){return xa=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Me,Bn){Me.__proto__=Bn}||function(Me,Bn){for(var Hn in Bn)Bn.hasOwnProperty(Hn)&&(Me[Hn]=Bn[Hn])},xa(Me,Bn)},Ga=function(){return Ga=Object.assign||function(Me){for(var Bn,Hn=1,zn=arguments.length;Hnthis.string.length)return null;for(var Bn=0,Hn=this.offsets;Hn[Bn+1]<=Me;)Bn++;var zn=Me-Hn[Bn];return{line:Bn,column:zn}},h.prototype.indexForLocation=function(Me){var Bn=Me.line,Hn=Me.column;return Bn<0||Bn>=this.offsets.length||Hn<0||Hn>this.lengthOfLine(Bn)?null:this.offsets[Bn]+Hn},h.prototype.lengthOfLine=function(Me){var Bn=this.offsets[Me],Hn=Me===this.offsets.length-1?this.string.length:this.offsets[Me+1];return Hn-Bn},h}();Me.LinesAndColumns=zn,Me.default=zn}}),oo=D({"node_modules/yaml-unist-parser/lib/utils/define-parents.js"(Me){"use strict";Ps(),Me.__esModule=!0;function e(Me,Bn){Bn===void 0&&(Bn=null),"children"in Me&&Me.children.forEach((function(Bn){return e(Bn,Me)})),"anchor"in Me&&Me.anchor&&e(Me.anchor,Me),"tag"in Me&&Me.tag&&e(Me.tag,Me),"leadingComments"in Me&&Me.leadingComments.forEach((function(Bn){return e(Bn,Me)})),"middleComments"in Me&&Me.middleComments.forEach((function(Bn){return e(Bn,Me)})),"indicatorComment"in Me&&Me.indicatorComment&&e(Me.indicatorComment,Me),"trailingComment"in Me&&Me.trailingComment&&e(Me.trailingComment,Me),"endComments"in Me&&Me.endComments.forEach((function(Bn){return e(Bn,Me)})),Object.defineProperty(Me,"_parent",{value:Bn,enumerable:!1})}Me.defineParents=e}}),Jo=D({"node_modules/yaml-unist-parser/lib/utils/get-point-text.js"(Me){"use strict";Ps(),Me.__esModule=!0;function e(Me){return Me.line+":"+Me.column}Me.getPointText=e}}),tc=D({"node_modules/yaml-unist-parser/lib/attach.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=oo(),Hn=Jo();function c(Me){Bn.defineParents(Me);var Hn=h(Me),zn=Me.children.slice();Me.comments.sort((function(Me,Bn){return Me.position.start.offset-Bn.position.end.offset})).filter((function(Me){return!Me._parent})).forEach((function(Me){for(;zn.length>1&&Me.position.start.line>zn[0].position.end.line;)zn.shift();y(Me,Hn,zn[0])}))}Me.attachComments=c;function h(Me){for(var Bn=Array.from(new Array(Me.position.end.line),(function(){return{}})),Hn=0,zn=Me.comments;Hn1&&Bn.type!=="document"&&Bn.type!=="documentHead"){var ni=Bn.position.end,Ci=Me[ni.line-1].trailingAttachableNode;(!Ci||ni.column>=Ci.position.end.column)&&(Me[ni.line-1].trailingAttachableNode=Bn)}if(Bn.type!=="root"&&Bn.type!=="document"&&Bn.type!=="documentHead"&&Bn.type!=="documentBody")for(var ts=Bn.position,Hn=ts.start,ni=ts.end,Ps=[ni.line].concat(Hn.line===ni.line?[]:Hn.line),aa=0,oa=Ps;aa=_a.position.end.column)&&(Me[ca-1].trailingNode=Bn)}"children"in Bn&&Bn.children.forEach((function(Bn){d(Me,Bn)}))}}function y(Me,zn,ni){var Ci=Me.position.start.line,ts=zn[Ci-1].trailingAttachableNode;if(ts){if(ts.trailingComment)throw new Error("Unexpected multiple trailing comment at "+Hn.getPointText(Me.position.start));Bn.defineParents(Me,ts),ts.trailingComment=Me;return}for(var Ps=Ci;Ps>=ni.position.start.line;Ps--){var aa=zn[Ps-1].trailingNode,oa=void 0;if(aa)oa=aa;else if(Ps!==Ci&&zn[Ps-1].comment)oa=zn[Ps-1].comment._parent;else continue;if((oa.type==="sequence"||oa.type==="mapping")&&(oa=oa.children[0]),oa.type==="mappingItem"){var ca=oa.children,_a=ca[0],xa=ca[1];oa=I(_a)?_a:xa}for(;;){if(E(oa,Me)){Bn.defineParents(Me,oa),oa.endComments.push(Me);return}if(!oa._parent)break;oa=oa._parent}break}for(var Ps=Ci+1;Ps<=ni.position.end.line;Ps++){var Ga=zn[Ps-1].leadingAttachableNode;if(Ga){Bn.defineParents(Me,Ga),Ga.leadingComments.push(Me);return}}var Ha=ni.children[1];Bn.defineParents(Me,Ha),Ha.endComments.push(Me)}function E(Me,Bn){if(Me.position.start.offsetBn.position.end.offset)switch(Me.type){case"flowMapping":case"flowSequence":return Me.children.length===0||Bn.position.start.line>Me.children[Me.children.length-1].position.end.line}if(Bn.position.end.offsetMe.position.start.column;case"mappingKey":case"mappingValue":return Bn.position.start.column>Me._parent.position.start.column&&(Me.children.length===0||Me.children.length===1&&Me.children[0].type!=="blockFolded"&&Me.children[0].type!=="blockLiteral")&&(Me.type==="mappingValue"||I(Me));default:return!1}}function I(Me){return Me.position.start!==Me.position.end&&(Me.children.length===0||Me.position.start.offset!==Me.children[0].position.start.offset)}}}),dc=D({"node_modules/yaml-unist-parser/lib/factories/node.js"(Me){"use strict";Ps(),Me.__esModule=!0;function e(Me,Bn){return{type:Me,position:Bn}}Me.createNode=e}}),Fc=D({"node_modules/yaml-unist-parser/lib/factories/root.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=dc();function c(Me,zn,ni){return Bn.__assign(Bn.__assign({},Hn.createNode("root",Me)),{children:zn,comments:ni})}Me.createRoot=c}}),Jc=D({"node_modules/yaml-unist-parser/lib/preprocess.js"(Me){"use strict";Ps(),Me.__esModule=!0;function e(Me){switch(Me.type){case"DOCUMENT":for(var Bn=Me.contents.length-1;Bn>=0;Bn--)Me.contents[Bn].type==="BLANK_LINE"?Me.contents.splice(Bn,1):e(Me.contents[Bn]);for(var Bn=Me.directives.length-1;Bn>=0;Bn--)Me.directives[Bn].type==="BLANK_LINE"&&Me.directives.splice(Bn,1);break;case"FLOW_MAP":case"FLOW_SEQ":case"MAP":case"SEQ":for(var Bn=Me.items.length-1;Bn>=0;Bn--){var Hn=Me.items[Bn];"char"in Hn||(Hn.type==="BLANK_LINE"?Me.items.splice(Bn,1):e(Hn))}break;case"MAP_KEY":case"MAP_VALUE":case"SEQ_ITEM":Me.node&&e(Me.node);break;case"ALIAS":case"BLANK_LINE":case"BLOCK_FOLDED":case"BLOCK_LITERAL":case"COMMENT":case"DIRECTIVE":case"PLAIN":case"QUOTE_DOUBLE":case"QUOTE_SINGLE":break;default:throw new Error("Unexpected node type "+JSON.stringify(Me.type))}}Me.removeCstBlankLine=e}}),Dp=D({"node_modules/yaml-unist-parser/lib/factories/leading-comment-attachable.js"(Me){"use strict";Ps(),Me.__esModule=!0;function e(){return{leadingComments:[]}}Me.createLeadingCommentAttachable=e}}),kp=D({"node_modules/yaml-unist-parser/lib/factories/trailing-comment-attachable.js"(Me){"use strict";Ps(),Me.__esModule=!0;function e(Me){return Me===void 0&&(Me=null),{trailingComment:Me}}Me.createTrailingCommentAttachable=e}}),Qp=D({"node_modules/yaml-unist-parser/lib/factories/comment-attachable.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=Dp(),zn=kp();function h(){return Bn.__assign(Bn.__assign({},Hn.createLeadingCommentAttachable()),zn.createTrailingCommentAttachable())}Me.createCommentAttachable=h}}),Up=D({"node_modules/yaml-unist-parser/lib/factories/alias.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=Qp(),zn=dc();function h(Me,ni,Ci){return Bn.__assign(Bn.__assign(Bn.__assign(Bn.__assign({},zn.createNode("alias",Me)),Hn.createCommentAttachable()),ni),{value:Ci})}Me.createAlias=h}}),Vp=D({"node_modules/yaml-unist-parser/lib/transforms/alias.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=Up();function r(Me,Hn){var zn=Me.cstNode;return Bn.createAlias(Hn.transformRange({origStart:zn.valueRange.origStart-1,origEnd:zn.valueRange.origEnd}),Hn.transformContent(Me),zn.rawValue)}Me.transformAlias=r}}),qp=D({"node_modules/yaml-unist-parser/lib/factories/block-folded.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a));function r(Me){return Bn.__assign(Bn.__assign({},Me),{type:"blockFolded"})}Me.createBlockFolded=r}}),Jp=D({"node_modules/yaml-unist-parser/lib/factories/block-value.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=Dp(),zn=dc();function h(Me,ni,Ci,ts,Ps,aa){return Bn.__assign(Bn.__assign(Bn.__assign(Bn.__assign({},zn.createNode("blockValue",Me)),Hn.createLeadingCommentAttachable()),ni),{chomping:Ci,indent:ts,value:Ps,indicatorComment:aa})}Me.createBlockValue=h}}),Wp=D({"node_modules/yaml-unist-parser/lib/constants.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn;(function(Me){Me.Tag="!",Me.Anchor="&",Me.Comment="#"})(Bn=Me.PropLeadingCharacter||(Me.PropLeadingCharacter={}))}}),zp=D({"node_modules/yaml-unist-parser/lib/factories/anchor.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=dc();function c(Me,zn){return Bn.__assign(Bn.__assign({},Hn.createNode("anchor",Me)),{value:zn})}Me.createAnchor=c}}),Qf=D({"node_modules/yaml-unist-parser/lib/factories/comment.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=dc();function c(Me,zn){return Bn.__assign(Bn.__assign({},Hn.createNode("comment",Me)),{value:zn})}Me.createComment=c}}),Yf=D({"node_modules/yaml-unist-parser/lib/factories/content.js"(Me){"use strict";Ps(),Me.__esModule=!0;function e(Me,Bn,Hn){return{anchor:Bn,tag:Me,middleComments:Hn}}Me.createContent=e}}),Kf=D({"node_modules/yaml-unist-parser/lib/factories/tag.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=dc();function c(Me,zn){return Bn.__assign(Bn.__assign({},Hn.createNode("tag",Me)),{value:zn})}Me.createTag=c}}),Xf=D({"node_modules/yaml-unist-parser/lib/transforms/content.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=Wp(),Hn=zp(),zn=Qf(),ni=Yf(),Ci=Kf();function y(Me,ts,Ps){Ps===void 0&&(Ps=function(){return!1});for(var aa=Me.cstNode,oa=[],ca=null,_a=null,xa=null,Ga=0,Ha=aa.props;Ga=0;ca--){var _a=Me.contents[ca];if(_a.type==="COMMENT"){var xa=Bn.transformNode(_a);Hn&&Hn.line===xa.position.start.line?aa.unshift(xa):oa?ni.unshift(xa):xa.position.start.offset>=Me.valueRange.origEnd?Ps.unshift(xa):ni.unshift(xa)}else oa=!0}if(Ps.length>1)throw new Error("Unexpected multiple document trailing comments at "+Ci.getPointText(Ps[1].position.start));if(aa.length>1)throw new Error("Unexpected multiple documentHead trailing comments at "+Ci.getPointText(aa[1].position.start));return{comments:ni,endComments:ts,documentTrailingComment:zn.getLast(Ps)||null,documentHeadTrailingComment:zn.getLast(aa)||null}}function I(Me,Bn,Hn){var zn=ni.getMatchIndex(Hn.text.slice(Me.valueRange.origEnd),/^\.\.\./),Ci=zn===-1?Me.valueRange.origEnd:Math.max(0,Me.valueRange.origEnd-1);Hn.text[Ci-1]==="\r"&&Ci--;var ts=Hn.transformRange({origStart:Bn!==null?Bn.position.start.offset:Ci,origEnd:Ci}),Ps=zn===-1?ts.end:Hn.transformOffset(Me.valueRange.origEnd+3);return{position:ts,documentEndPoint:Ps}}}}),ng=D({"node_modules/yaml-unist-parser/lib/factories/document-head.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=oA(),zn=dc(),ni=kp();function d(Me,Ci,ts,Ps){return Bn.__assign(Bn.__assign(Bn.__assign(Bn.__assign({},zn.createNode("documentHead",Me)),Hn.createEndCommentAttachable(ts)),ni.createTrailingCommentAttachable(Ps)),{children:Ci})}Me.createDocumentHead=d}}),ig=D({"node_modules/yaml-unist-parser/lib/transforms/document-head.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=ng(),zn=tg();function h(Me,zn){var ni,Ci=Me.cstNode,ts=d(Ci,zn),Ps=ts.directives,aa=ts.comments,oa=ts.endComments,ca=y(Ci,Ps,zn),_a=ca.position,xa=ca.endMarkerPoint;(ni=zn.comments).push.apply(ni,Bn.__spreadArrays(aa,oa));var f=function(Me){return Me&&zn.comments.push(Me),Hn.createDocumentHead(_a,Ps,oa,Me)};return{createDocumentHeadWithTrailingComment:f,documentHeadEndMarkerPoint:xa}}Me.transformDocumentHead=h;function d(Me,Bn){for(var Hn=[],zn=[],ni=[],Ci=!1,ts=Me.directives.length-1;ts>=0;ts--){var Ps=Bn.transformNode(Me.directives[ts]);Ps.type==="comment"?Ci?zn.unshift(Ps):ni.unshift(Ps):(Ci=!0,Hn.unshift(Ps))}return{directives:Hn,comments:zn,endComments:ni}}function y(Me,Bn,Hn){var ni=zn.getMatchIndex(Hn.text.slice(0,Me.valueRange.origStart),/---\s*$/);ni>0&&!/[\r\n]/.test(Hn.text[ni-1])&&(ni=-1);var Ci=ni===-1?{origStart:Me.valueRange.origStart,origEnd:Me.valueRange.origStart}:{origStart:ni,origEnd:ni+3};return Bn.length!==0&&(Ci.origStart=Bn[0].position.start.offset),{position:Hn.transformRange(Ci),endMarkerPoint:ni===-1?null:Hn.transformOffset(ni)}}}}),sg=D({"node_modules/yaml-unist-parser/lib/transforms/document.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=Zh(),Hn=sA(),zn=rg(),ni=ig();function d(Me,Ci){var ts=ni.transformDocumentHead(Me,Ci),Ps=ts.createDocumentHeadWithTrailingComment,aa=ts.documentHeadEndMarkerPoint,oa=zn.transformDocumentBody(Me,Ci,aa),ca=oa.documentBody,_a=oa.documentEndPoint,xa=oa.documentTrailingComment,Ga=oa.documentHeadTrailingComment,Ha=Ps(Ga);return xa&&Ci.comments.push(xa),Bn.createDocument(Hn.createPosition(Ha.position.start,_a),Ha,ca,xa)}Me.transformDocument=d}}),ag=D({"node_modules/yaml-unist-parser/lib/factories/flow-collection.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=Qp(),zn=oA(),ni=dc();function d(Me,Ci,ts){return Bn.__assign(Bn.__assign(Bn.__assign(Bn.__assign(Bn.__assign({},ni.createNode("flowCollection",Me)),Hn.createCommentAttachable()),zn.createEndCommentAttachable()),Ci),{children:ts})}Me.createFlowCollection=d}}),og=D({"node_modules/yaml-unist-parser/lib/factories/flow-mapping.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=ag();function c(Me,zn,ni){return Bn.__assign(Bn.__assign({},Hn.createFlowCollection(Me,zn,ni)),{type:"flowMapping"})}Me.createFlowMapping=c}}),ug=D({"node_modules/yaml-unist-parser/lib/factories/flow-mapping-item.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=Dp(),zn=dc();function h(Me,ni,Ci){return Bn.__assign(Bn.__assign(Bn.__assign({},zn.createNode("flowMappingItem",Me)),Hn.createLeadingCommentAttachable()),{children:[ni,Ci]})}Me.createFlowMappingItem=h}}),cg=D({"node_modules/yaml-unist-parser/lib/utils/extract-comments.js"(Me){"use strict";Ps(),Me.__esModule=!0;function e(Me,Bn){for(var Hn=[],zn=0,ni=Me;zn=0;zn--)if(Hn.test(Me[zn]))return zn;return-1}Me.findLastCharIndex=e}}),wg=D({"node_modules/yaml-unist-parser/lib/transforms/plain.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=Cg(),Hn=Dg();function c(Me,zn){var ni=Me.cstNode;return Bn.createPlain(zn.transformRange({origStart:ni.valueRange.origStart,origEnd:Hn.findLastCharIndex(zn.text,ni.valueRange.origEnd-1,/\S/)+1}),zn.transformContent(Me),ni.strValue)}Me.transformPlain=c}}),Sg=D({"node_modules/yaml-unist-parser/lib/factories/quote-double.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a));function r(Me){return Bn.__assign(Bn.__assign({},Me),{type:"quoteDouble"})}Me.createQuoteDouble=r}}),Ig=D({"node_modules/yaml-unist-parser/lib/factories/quote-value.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=Qp(),zn=dc();function h(Me,ni,Ci){return Bn.__assign(Bn.__assign(Bn.__assign(Bn.__assign({},zn.createNode("quoteValue",Me)),ni),Hn.createCommentAttachable()),{value:Ci})}Me.createQuoteValue=h}}),xg=D({"node_modules/yaml-unist-parser/lib/transforms/quote-value.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=Ig();function r(Me,Hn){var zn=Me.cstNode;return Bn.createQuoteValue(Hn.transformRange(zn.valueRange),Hn.transformContent(Me),zn.strValue)}Me.transformAstQuoteValue=r}}),kg=D({"node_modules/yaml-unist-parser/lib/transforms/quote-double.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=Sg(),Hn=xg();function c(Me,zn){return Bn.createQuoteDouble(Hn.transformAstQuoteValue(Me,zn))}Me.transformQuoteDouble=c}}),Bg=D({"node_modules/yaml-unist-parser/lib/factories/quote-single.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a));function r(Me){return Bn.__assign(Bn.__assign({},Me),{type:"quoteSingle"})}Me.createQuoteSingle=r}}),Tg=D({"node_modules/yaml-unist-parser/lib/transforms/quote-single.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=Bg(),Hn=xg();function c(Me,zn){return Bn.createQuoteSingle(Hn.transformAstQuoteValue(Me,zn))}Me.transformQuoteSingle=c}}),Fg=D({"node_modules/yaml-unist-parser/lib/factories/sequence.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=oA(),zn=Dp(),ni=dc();function d(Me,Ci,ts){return Bn.__assign(Bn.__assign(Bn.__assign(Bn.__assign(Bn.__assign({},ni.createNode("sequence",Me)),zn.createLeadingCommentAttachable()),Hn.createEndCommentAttachable()),Ci),{children:ts})}Me.createSequence=d}}),Ng=D({"node_modules/yaml-unist-parser/lib/factories/sequence-item.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=Qp(),zn=oA(),ni=dc();function d(Me,Ci){return Bn.__assign(Bn.__assign(Bn.__assign(Bn.__assign({},ni.createNode("sequenceItem",Me)),Hn.createCommentAttachable()),zn.createEndCommentAttachable()),{children:Ci?[Ci]:[]})}Me.createSequenceItem=d}}),Qg=D({"node_modules/yaml-unist-parser/lib/transforms/seq.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=sA(),Hn=Fg(),zn=Ng(),ni=cg(),Ci=Pd(),ts=eg();function E(Me,Ps){var aa=ni.extractComments(Me.cstNode.items,Ps),oa=aa.map((function(Hn,ni){Ci.extractPropComments(Hn,Ps);var ts=Ps.transformNode(Me.items[ni]);return zn.createSequenceItem(Bn.createPosition(Ps.transformOffset(Hn.valueRange.origStart),ts===null?Ps.transformOffset(Hn.valueRange.origStart+1):ts.position.end),ts)}));return Hn.createSequence(Bn.createPosition(oa[0].position.start,ts.getLast(oa).position.end),Ps.transformContent(Me),oa)}Me.transformSeq=E}}),Rg=D({"node_modules/yaml-unist-parser/lib/transform.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=Vp(),Hn=Cd(),zn=Sd(),ni=xd(),Ci=Qh(),ts=sg(),aa=mg(),oa=yg(),ca=bg(),_a=wg(),xa=kg(),Ga=Tg(),Ha=Qg();function q(Me,Ps){if(Me===null||Me.type===void 0&&Me.value===null)return null;switch(Me.type){case"ALIAS":return Bn.transformAlias(Me,Ps);case"BLOCK_FOLDED":return Hn.transformBlockFolded(Me,Ps);case"BLOCK_LITERAL":return zn.transformBlockLiteral(Me,Ps);case"COMMENT":return ni.transformComment(Me,Ps);case"DIRECTIVE":return Ci.transformDirective(Me,Ps);case"DOCUMENT":return ts.transformDocument(Me,Ps);case"FLOW_MAP":return aa.transformFlowMap(Me,Ps);case"FLOW_SEQ":return oa.transformFlowSeq(Me,Ps);case"MAP":return ca.transformMap(Me,Ps);case"PLAIN":return _a.transformPlain(Me,Ps);case"QUOTE_DOUBLE":return xa.transformQuoteDouble(Me,Ps);case"QUOTE_SINGLE":return Ga.transformQuoteSingle(Me,Ps);case"SEQ":return Ha.transformSeq(Me,Ps);default:throw new Error("Unexpected node type "+Me.type)}}Me.transformNode=q}}),Pg=D({"node_modules/yaml-unist-parser/lib/factories/error.js"(Me){"use strict";Ps(),Me.__esModule=!0;function e(Me,Bn,Hn){var zn=new SyntaxError(Me);return zn.name="YAMLSyntaxError",zn.source=Bn,zn.position=Hn,zn}Me.createError=e}}),Og=D({"node_modules/yaml-unist-parser/lib/transforms/error.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=Pg();function r(Me,Hn){var zn=Me.source.range||Me.source.valueRange;return Bn.createError(Me.message,Hn.text,Hn.transformRange(zn))}Me.transformError=r}}),Lg=D({"node_modules/yaml-unist-parser/lib/factories/point.js"(Me){"use strict";Ps(),Me.__esModule=!0;function e(Me,Bn,Hn){return{offset:Me,line:Bn,column:Hn}}Me.createPoint=e}}),Mg=D({"node_modules/yaml-unist-parser/lib/transforms/offset.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=Lg();function r(Me,Hn){Me<0?Me=0:Me>Hn.text.length&&(Me=Hn.text.length);var zn=Hn.locator.locationForIndex(Me);return Bn.createPoint(Me,zn.line+1,zn.column+1)}Me.transformOffset=r}}),jg=D({"node_modules/yaml-unist-parser/lib/transforms/range.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=sA();function r(Me,Hn){return Bn.createPosition(Hn.transformOffset(Me.origStart),Hn.transformOffset(Me.origEnd))}Me.transformRange=r}}),Ug=D({"node_modules/yaml-unist-parser/lib/utils/add-orig-range.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=!0;function r(Me){if(!Me.setOrigRanges()){var E=function(Me){if(h(Me))return Me.origStart=Me.start,Me.origEnd=Me.end,Bn;if(d(Me))return Me.origOffset=Me.offset,Bn};Me.forEach((function(Me){return c(Me,E)}))}}Me.addOrigRange=r;function c(Me,Hn){if(!(!Me||typeof Me!="object")&&Hn(Me)!==Bn)for(var zn=0,ni=Object.keys(Me);znMe.offset}}}),qg=D({"node_modules/yaml/dist/PlainValue-ec8e588e.js"(Me){"use strict";Ps();var Bn={ANCHOR:"&",COMMENT:"#",TAG:"!",DIRECTIVES_END:"-",DOCUMENT_END:"."},Hn={ALIAS:"ALIAS",BLANK_LINE:"BLANK_LINE",BLOCK_FOLDED:"BLOCK_FOLDED",BLOCK_LITERAL:"BLOCK_LITERAL",COMMENT:"COMMENT",DIRECTIVE:"DIRECTIVE",DOCUMENT:"DOCUMENT",FLOW_MAP:"FLOW_MAP",FLOW_SEQ:"FLOW_SEQ",MAP:"MAP",MAP_KEY:"MAP_KEY",MAP_VALUE:"MAP_VALUE",PLAIN:"PLAIN",QUOTE_DOUBLE:"QUOTE_DOUBLE",QUOTE_SINGLE:"QUOTE_SINGLE",SEQ:"SEQ",SEQ_ITEM:"SEQ_ITEM"},zn="tag:yaml.org,2002:",ni={MAP:"tag:yaml.org,2002:map",SEQ:"tag:yaml.org,2002:seq",STR:"tag:yaml.org,2002:str"};function d(Me){let Bn=[0],Hn=Me.indexOf(`\n`);for(;Hn!==-1;)Hn+=1,Bn.push(Hn),Hn=Me.indexOf(`\n`,Hn);return Bn}function y(Me){let Bn,Hn;return typeof Me=="string"?(Bn=d(Me),Hn=Me):(Array.isArray(Me)&&(Me=Me[0]),Me&&Me.context&&(Me.lineStarts||(Me.lineStarts=d(Me.context.src)),Bn=Me.lineStarts,Hn=Me.context.src)),{lineStarts:Bn,src:Hn}}function E(Me,Bn){if(typeof Me!="number"||Me<0)return null;let{lineStarts:Hn,src:zn}=y(Bn);if(!Hn||!zn||Me>zn.length)return null;for(let Bn=0;Bn=1)||Me>Hn.length)return null;let ni=Hn[Me-1],Ci=Hn[Me];for(;Ci&&Ci>ni&&zn[Ci-1]===`\n`;)--Ci;return zn.slice(ni,Ci)}function S(Me,Bn){let{start:Hn,end:zn}=Me,ni=arguments.length>2&&arguments[2]!==void 0?arguments[2]:80,Ci=I(Hn.line,Bn);if(!Ci)return null;let{col:ts}=Hn;if(Ci.length>ni)if(ts<=ni-10)Ci=Ci.substr(0,ni-1)+"…";else{let Me=Math.round(ni/2);Ci.length>ts+Me&&(Ci=Ci.substr(0,ts+Me-1)+"…"),ts-=Ci.length-ni,Ci="…"+Ci.substr(1-ni)}let Ps=1,aa="";zn&&(zn.line===Hn.line&&ts+(zn.col-Hn.col)<=ni+1?Ps=zn.col-Hn.col:(Ps=Math.min(Ci.length+1,ni)-ts,aa="…"));let oa=ts>1?" ".repeat(ts-1):"",ca="^".repeat(Ps);return`${Ci}\n${oa}${ca}${aa}`}var Ci=class{static copy(Me){return new Ci(Me.start,Me.end)}constructor(Me,Bn){this.start=Me,this.end=Bn||Me}isEmpty(){return typeof this.start!="number"||!this.end||this.end<=this.start}setOrigRange(Me,Bn){let{start:Hn,end:zn}=this;if(Me.length===0||zn<=Me[0])return this.origStart=Hn,this.origEnd=zn,Bn;let ni=Bn;for(;niHn);)++ni;this.origStart=Hn+ni;let Ci=ni;for(;ni=zn);)++ni;return this.origEnd=zn+ni,Ci}},ts=class{static addStringTerminator(Me,Bn,Hn){if(Hn[Hn.length-1]===`\n`)return Hn;let zn=ts.endOfWhiteSpace(Me,Bn);return zn>=Me.length||Me[zn]===`\n`?Hn+`\n`:Hn}static atDocumentBoundary(Me,Hn,zn){let ni=Me[Hn];if(!ni)return!0;let Ci=Me[Hn-1];if(Ci&&Ci!==`\n`)return!1;if(zn){if(ni!==zn)return!1}else if(ni!==Bn.DIRECTIVES_END&&ni!==Bn.DOCUMENT_END)return!1;let ts=Me[Hn+1],Ps=Me[Hn+2];if(ts!==ni||Ps!==ni)return!1;let aa=Me[Hn+3];return!aa||aa===`\n`||aa==="\t"||aa===" "}static endOfIdentifier(Me,Bn){let Hn=Me[Bn],zn=Hn==="<",ni=zn?[`\n`,"\t"," ",">"]:[`\n`,"\t"," ","[","]","{","}",","];for(;Hn&&ni.indexOf(Hn)===-1;)Hn=Me[Bn+=1];return zn&&Hn===">"&&(Bn+=1),Bn}static endOfIndent(Me,Bn){let Hn=Me[Bn];for(;Hn===" ";)Hn=Me[Bn+=1];return Bn}static endOfLine(Me,Bn){let Hn=Me[Bn];for(;Hn&&Hn!==`\n`;)Hn=Me[Bn+=1];return Bn}static endOfWhiteSpace(Me,Bn){let Hn=Me[Bn];for(;Hn==="\t"||Hn===" ";)Hn=Me[Bn+=1];return Bn}static startOfLine(Me,Bn){let Hn=Me[Bn-1];if(Hn===`\n`)return Bn;for(;Hn&&Hn!==`\n`;)Hn=Me[Bn-=1];return Bn+1}static endOfBlockIndent(Me,Bn,Hn){let zn=ts.endOfIndent(Me,Hn);if(zn>Hn+Bn)return zn;{let Bn=ts.endOfWhiteSpace(Me,zn),Hn=Me[Bn];if(!Hn||Hn===`\n`)return Bn}return null}static atBlank(Me,Bn,Hn){let zn=Me[Bn];return zn===`\n`||zn==="\t"||zn===" "||Hn&&!zn}static nextNodeIsIndented(Me,Bn,Hn){return!Me||Bn<0?!1:Bn>0?!0:Hn&&Me==="-"}static normalizeOffset(Me,Bn){let Hn=Me[Bn];return Hn?Hn!==`\n`&&Me[Bn-1]===`\n`?Bn-1:ts.endOfWhiteSpace(Me,Bn):Bn}static foldNewline(Me,Bn,Hn){let zn=0,ni=!1,Ci="",Ps=Me[Bn+1];for(;Ps===" "||Ps==="\t"||Ps===`\n`;){switch(Ps){case`\n`:zn=0,Bn+=1,Ci+=`\n`;break;case"\t":zn<=Hn&&(ni=!0),Bn=ts.endOfWhiteSpace(Me,Bn+2)-1;break;case" ":zn+=1,Bn+=1;break}Ps=Me[Bn+1]}return Ci||(Ci=" "),Ps&&zn<=Hn&&(ni=!0),{fold:Ci,offset:Bn,error:ni}}constructor(Me,Bn,Hn){Object.defineProperty(this,"context",{value:Hn||null,writable:!0}),this.error=null,this.range=null,this.valueRange=null,this.props=Bn||[],this.type=Me,this.value=null}getPropValue(Me,Bn,Hn){if(!this.context)return null;let{src:zn}=this.context,ni=this.props[Me];return ni&&zn[ni.start]===Bn?zn.slice(ni.start+(Hn?1:0),ni.end):null}get anchor(){for(let Me=0;Me0?Me.join(`\n`):null}commentHasRequiredWhitespace(Me){let{src:Bn}=this.context;if(this.header&&Me===this.header.end||!this.valueRange)return!1;let{end:Hn}=this.valueRange;return Me!==Hn||ts.atBlank(Bn,Hn-1)}get hasComment(){if(this.context){let{src:Me}=this.context;for(let Hn=0;HnHn.setOrigRange(Me,Bn))),Bn}toString(){let{context:{src:Me},range:Bn,value:Hn}=this;if(Hn!=null)return Hn;let zn=Me.slice(Bn.start,Bn.end);return ts.addStringTerminator(Me,Bn.end,zn)}},aa=class extends Error{constructor(Me,Bn,Hn){if(!Hn||!(Bn instanceof ts))throw new Error(`Invalid arguments for new ${Me}`);super(),this.name=Me,this.message=Hn,this.source=Bn}makePretty(){if(!this.source)return;this.nodeType=this.source.type;let Me=this.source.context&&this.source.context.root;if(typeof this.offset=="number"){this.range=new Ci(this.offset,this.offset+1);let Bn=Me&&E(this.offset,Me);if(Bn){let Me={line:Bn.line,col:Bn.col+1};this.linePos={start:Bn,end:Me}}delete this.offset}else this.range=this.source.range,this.linePos=this.source.rangeAsLinePos;if(this.linePos){let{line:Bn,col:Hn}=this.linePos.start;this.message+=` at line ${Bn}, column ${Hn}`;let zn=Me&&S(this.linePos,Me);zn&&(this.message+=`:\n\n${zn}\n`)}delete this.source}},oa=class extends aa{constructor(Me,Bn){super("YAMLReferenceError",Me,Bn)}},ca=class extends aa{constructor(Me,Bn){super("YAMLSemanticError",Me,Bn)}},_a=class extends aa{constructor(Me,Bn){super("YAMLSyntaxError",Me,Bn)}},xa=class extends aa{constructor(Me,Bn){super("YAMLWarning",Me,Bn)}};function U(Me,Bn,Hn){return Bn in Me?Object.defineProperty(Me,Bn,{value:Hn,enumerable:!0,configurable:!0,writable:!0}):Me[Bn]=Hn,Me}var Ga=class extends ts{static endOfLine(Me,Bn,Hn){let zn=Me[Bn],ni=Bn;for(;zn&&zn!==`\n`&&!(Hn&&(zn==="["||zn==="]"||zn==="{"||zn==="}"||zn===","));){let Bn=Me[ni+1];if(zn===":"&&(!Bn||Bn===`\n`||Bn==="\t"||Bn===" "||Hn&&Bn===",")||(zn===" "||zn==="\t")&&Bn==="#")break;ni+=1,zn=Bn}return ni}get strValue(){if(!this.valueRange||!this.context)return null;let{start:Me,end:Bn}=this.valueRange,{src:Hn}=this.context,zn=Hn[Bn-1];for(;MeCi?Hn.slice(Ci,zn+1):Me)}else ni+=Me}let Ci=Hn[Me];switch(Ci){case"\t":{let Me="Plain value cannot start with a tab character";return{errors:[new ca(this,Me)],str:ni}}case"@":case"`":{let Me=`Plain value cannot start with reserved character ${Ci}`;return{errors:[new ca(this,Me)],str:ni}}default:return ni}}parseBlockValue(Me){let{indent:Bn,inFlow:Hn,src:zn}=this.context,ni=Me,Ci=Me;for(let Me=zn[ni];Me===`\n`&&!ts.atDocumentBoundary(zn,ni+1);Me=zn[ni]){let Me=ts.endOfBlockIndent(zn,Bn,ni+1);if(Me===null||zn[Me]==="#")break;zn[Me]===`\n`?ni=Me:(Ci=Ga.endOfLine(zn,Me,Hn),ni=Ci)}return this.valueRange.isEmpty()&&(this.valueRange.start=Me),this.valueRange.end=Ci,Ci}parse(Me,Bn){this.context=Me;let{inFlow:Hn,src:zn}=Me,ni=Bn,Ps=zn[ni];return Ps&&Ps!=="#"&&Ps!==`\n`&&(ni=Ga.endOfLine(zn,Bn,Hn)),this.valueRange=new Ci(Bn,ni),ni=ts.endOfWhiteSpace(zn,ni),ni=this.parseComment(ni),(!this.hasComment||this.valueRange.isEmpty())&&(ni=this.parseBlockValue(ni)),ni}};Me.Char=Bn,Me.Node=ts,Me.PlainValue=Ga,Me.Range=Ci,Me.Type=Hn,Me.YAMLError=aa,Me.YAMLReferenceError=oa,Me.YAMLSemanticError=ca,Me.YAMLSyntaxError=_a,Me.YAMLWarning=xa,Me._defineProperty=U,Me.defaultTagPrefix=zn,Me.defaultTags=ni}}),Jg=D({"node_modules/yaml/dist/parse-cst.js"(Me){"use strict";Ps();var Bn=qg(),Hn=class extends Bn.Node{constructor(){super(Bn.Type.BLANK_LINE)}get includesTrailingLines(){return!0}parse(Me,Hn){return this.context=Me,this.range=new Bn.Range(Hn,Hn+1),Hn+1}},zn=class extends Bn.Node{constructor(Me,Bn){super(Me,Bn),this.node=null}get includesTrailingLines(){return!!this.node&&this.node.includesTrailingLines}parse(Me,zn){this.context=Me;let{parseNode:ni,src:Ci}=Me,{atLineStart:ts,lineStart:Ps}=Me;!ts&&this.type===Bn.Type.SEQ_ITEM&&(this.error=new Bn.YAMLSemanticError(this,"Sequence items must not have preceding content on the same line"));let aa=ts?zn-Ps:Me.indent,oa=Bn.Node.endOfWhiteSpace(Ci,zn+1),ca=Ci[oa],_a=ca==="#",xa=[],Ga=null;for(;ca===`\n`||ca==="#";){if(ca==="#"){let Me=Bn.Node.endOfLine(Ci,oa+1);xa.push(new Bn.Range(oa,Me)),oa=Me}else{ts=!0,Ps=oa+1;let Me=Bn.Node.endOfWhiteSpace(Ci,Ps);Ci[Me]===`\n`&&xa.length===0&&(Ga=new Hn,Ps=Ga.parse({src:Ci},Ps)),oa=Bn.Node.endOfIndent(Ci,Ps)}ca=Ci[oa]}if(Bn.Node.nextNodeIsIndented(ca,oa-(Ps+aa),this.type!==Bn.Type.SEQ_ITEM)?this.node=ni({atLineStart:ts,inCollection:!1,indent:aa,lineStart:Ps,parent:this},oa):ca&&Ps>zn+1&&(oa=Ps-1),this.node){if(Ga){let Bn=Me.parent.items||Me.parent.contents;Bn&&Bn.push(Ga)}xa.length&&Array.prototype.push.apply(this.props,xa),oa=this.node.range.end}else if(_a){let Me=xa[0];this.props.push(Me),oa=Me.end}else oa=Bn.Node.endOfLine(Ci,zn+1);let Ha=this.node?this.node.valueRange.end:oa;return this.valueRange=new Bn.Range(zn,Ha),oa}setOrigRanges(Me,Bn){return Bn=super.setOrigRanges(Me,Bn),this.node?this.node.setOrigRanges(Me,Bn):Bn}toString(){let{context:{src:Me},node:Hn,range:zn,value:ni}=this;if(ni!=null)return ni;let Ci=Hn?Me.slice(zn.start,Hn.range.start)+String(Hn):Me.slice(zn.start,zn.end);return Bn.Node.addStringTerminator(Me,zn.end,Ci)}},ni=class extends Bn.Node{constructor(){super(Bn.Type.COMMENT)}parse(Me,Hn){this.context=Me;let zn=this.parseComment(Hn);return this.range=new Bn.Range(Hn,zn),zn}};function d(Me){let Hn=Me;for(;Hn instanceof zn;)Hn=Hn.node;if(!(Hn instanceof Ci))return null;let ni=Hn.items.length,ts=-1;for(let Me=ni-1;Me>=0;--Me){let zn=Hn.items[Me];if(zn.type===Bn.Type.COMMENT){let{indent:Bn,lineStart:Hn}=zn.context;if(Bn>0&&zn.range.start>=Hn+Bn)break;ts=Me}else if(zn.type===Bn.Type.BLANK_LINE)ts=Me;else break}if(ts===-1)return null;let Ps=Hn.items.splice(ts,ni-ts),aa=Ps[0].range.start;for(;Hn.range.end=aa,Hn.valueRange&&Hn.valueRange.end>aa&&(Hn.valueRange.end=aa),Hn!==Me;)Hn=Hn.context.parent;return Ps}var Ci=class extends Bn.Node{static nextContentHasIndent(Me,Hn,zn){let ni=Bn.Node.endOfLine(Me,Hn)+1;Hn=Bn.Node.endOfWhiteSpace(Me,ni);let ts=Me[Hn];return ts?Hn>=ni+zn?!0:ts!=="#"&&ts!==`\n`?!1:Ci.nextContentHasIndent(Me,Hn,zn):!1}constructor(Me){super(Me.type===Bn.Type.SEQ_ITEM?Bn.Type.SEQ:Bn.Type.MAP);for(let Bn=Me.props.length-1;Bn>=0;--Bn)if(Me.props[Bn].start0}parse(Me,zn){this.context=Me;let{parseNode:ts,src:Ps}=Me,aa=Bn.Node.startOfLine(Ps,zn),oa=this.items[0];oa.context.parent=this,this.valueRange=Bn.Range.copy(oa.valueRange);let ca=oa.range.start-oa.context.lineStart,_a=zn;_a=Bn.Node.normalizeOffset(Ps,_a);let xa=Ps[_a],Ga=Bn.Node.endOfWhiteSpace(Ps,aa)===_a,Ha=!1;for(;xa;){for(;xa===`\n`||xa==="#";){if(Ga&&xa===`\n`&&!Ha){let Me=new Hn;if(_a=Me.parse({src:Ps},_a),this.valueRange.end=_a,_a>=Ps.length){xa=null;break}this.items.push(Me),_a-=1}else if(xa==="#"){if(_a=Ps.length){xa=null;break}}if(aa=_a+1,_a=Bn.Node.endOfIndent(Ps,aa),Bn.Node.atBlank(Ps,_a)){let Me=Bn.Node.endOfWhiteSpace(Ps,_a),Hn=Ps[Me];(!Hn||Hn===`\n`||Hn==="#")&&(_a=Me)}xa=Ps[_a],Ga=!0}if(!xa)break;if(_a!==aa+ca&&(Ga||xa!==":")){if(_azn&&(_a=aa);break}else if(!this.error){let Me="All collection items must start at the same column";this.error=new Bn.YAMLSyntaxError(this,Me)}}if(oa.type===Bn.Type.SEQ_ITEM){if(xa!=="-"){aa>zn&&(_a=aa);break}}else if(xa==="-"&&!this.error){let Me=Ps[_a+1];if(!Me||Me===`\n`||Me==="\t"||Me===" "){let Me="A collection cannot be both a mapping and a sequence";this.error=new Bn.YAMLSyntaxError(this,Me)}}let Me=ts({atLineStart:Ga,inCollection:!0,indent:ca,lineStart:aa,parent:this},_a);if(!Me)return _a;if(this.items.push(Me),this.valueRange.end=Me.valueRange.end,_a=Bn.Node.normalizeOffset(Ps,Me.range.end),xa=Ps[_a],Ga=!1,Ha=Me.includesTrailingLines,xa){let Me=_a-1,Bn=Ps[Me];for(;Bn===" "||Bn==="\t";)Bn=Ps[--Me];Bn===`\n`&&(aa=Me+1,Ga=!0)}let so=d(Me);so&&Array.prototype.push.apply(this.items,so)}return _a}setOrigRanges(Me,Bn){return Bn=super.setOrigRanges(Me,Bn),this.items.forEach((Hn=>{Bn=Hn.setOrigRanges(Me,Bn)})),Bn}toString(){let{context:{src:Me},items:Hn,range:zn,value:ni}=this;if(ni!=null)return ni;let Ci=Me.slice(zn.start,Hn[0].range.start)+String(Hn[0]);for(let Me=1;Me0&&(this.contents=this.directives,this.directives=[]),oa}return zn[oa]?(this.directivesEndMarker=new Bn.Range(oa,oa+3),oa+3):(Ps?this.error=new Bn.YAMLSemanticError(this,"Missing directives-end indicator line"):this.directives.length>0&&(this.contents=this.directives,this.directives=[]),oa)}parseContents(Me){let{parseNode:zn,src:Ci}=this.context;this.contents||(this.contents=[]);let ts=Me;for(;Ci[ts-1]==="-";)ts-=1;let Ps=Bn.Node.endOfWhiteSpace(Ci,Me),oa=ts===Me;for(this.valueRange=new Bn.Range(Ps);!Bn.Node.atDocumentBoundary(Ci,Ps,Bn.Char.DOCUMENT_END);){switch(Ci[Ps]){case`\n`:if(oa){let Me=new Hn;Ps=Me.parse({src:Ci},Ps),Ps{Bn=Hn.setOrigRanges(Me,Bn)})),this.directivesEndMarker&&(Bn=this.directivesEndMarker.setOrigRange(Me,Bn)),this.contents.forEach((Hn=>{Bn=Hn.setOrigRanges(Me,Bn)})),this.documentEndMarker&&(Bn=this.documentEndMarker.setOrigRange(Me,Bn)),Bn}toString(){let{contents:Me,directives:Hn,value:zn}=this;if(zn!=null)return zn;let ni=Hn.join("");return Me.length>0&&((Hn.length>0||Me[0].type===Bn.Type.COMMENT)&&(ni+=`---\n`),ni+=Me.join("")),ni[ni.length-1]!==`\n`&&(ni+=`\n`),ni}},oa=class extends Bn.Node{parse(Me,Hn){this.context=Me;let{src:zn}=Me,ni=Bn.Node.endOfIdentifier(zn,Hn+1);return this.valueRange=new Bn.Range(Hn+1,ni),ni=Bn.Node.endOfWhiteSpace(zn,ni),ni=this.parseComment(ni),ni}},ca={CLIP:"CLIP",KEEP:"KEEP",STRIP:"STRIP"},_a=class extends Bn.Node{constructor(Me,Bn){super(Me,Bn),this.blockIndent=null,this.chomping=ca.CLIP,this.header=null}get includesTrailingLines(){return this.chomping===ca.KEEP}get strValue(){if(!this.valueRange||!this.context)return null;let{start:Me,end:Hn}=this.valueRange,{indent:zn,src:ni}=this.context;if(this.valueRange.isEmpty())return"";let Ci=null,ts=ni[Hn-1];for(;ts===`\n`||ts==="\t"||ts===" ";){if(Hn-=1,Hn<=Me){if(this.chomping===ca.KEEP)break;return""}ts===`\n`&&(Ci=Hn),ts=ni[Hn-1]}let Ps=Hn+1;Ci&&(this.chomping===ca.KEEP?(Ps=Ci,Hn=this.valueRange.end):Hn=Ci);let aa=zn+this.blockIndent,oa=this.type===Bn.Type.BLOCK_FOLDED,_a=!0,xa="",Ga="",Ha=!1;for(let zn=Me;znPs&&(Ps=oa);zn[Me]===`\n`?Ci=Me:Ci=ts=Bn.Node.endOfLine(zn,Me)}return this.chomping!==ca.KEEP&&(Ci=zn[ts]?ts+1:ts),this.valueRange=new Bn.Range(Me+1,Ci),Ci}parse(Me,Hn){this.context=Me;let{src:zn}=Me,ni=this.parseBlockHeader(Hn);return ni=Bn.Node.endOfWhiteSpace(zn,ni),ni=this.parseComment(ni),ni=this.parseBlockValue(ni),ni}setOrigRanges(Me,Bn){return Bn=super.setOrigRanges(Me,Bn),this.header?this.header.setOrigRange(Me,Bn):Bn}},xa=class extends Bn.Node{constructor(Me,Bn){super(Me,Bn),this.items=null}prevNodeIsJsonLike(){let Me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.items.length,Hn=this.items[Me-1];return!!Hn&&(Hn.jsonLike||Hn.type===Bn.Type.COMMENT&&this.prevNodeIsJsonLike(Me-1))}parse(Me,zn){this.context=Me;let{parseNode:Ci,src:ts}=Me,{indent:Ps,lineStart:aa}=Me,oa=ts[zn];this.items=[{char:oa,offset:zn}];let ca=Bn.Node.endOfWhiteSpace(ts,zn+1);for(oa=ts[ca];oa&&oa!=="]"&&oa!=="}";){switch(oa){case`\n`:{aa=ca+1;let Me=Bn.Node.endOfWhiteSpace(ts,aa);if(ts[Me]===`\n`){let Me=new Hn;aa=Me.parse({src:ts},aa),this.items.push(Me)}if(ca=Bn.Node.endOfIndent(ts,aa),ca<=aa+Ps&&(oa=ts[ca],ca{if(zn instanceof Bn.Node)Hn=zn.setOrigRanges(Me,Hn);else if(Me.length===0)zn.origOffset=zn.offset;else{let Bn=Hn;for(;Bnzn.offset);)++Bn;zn.origOffset=zn.offset+Bn,Hn=Bn}})),Hn}toString(){let{context:{src:Me},items:Hn,range:zn,value:ni}=this;if(ni!=null)return ni;let Ci=Hn.filter((Me=>Me instanceof Bn.Node)),ts="",Ps=zn.start;return Ci.forEach((Bn=>{let Hn=Me.slice(Ps,Bn.range.start);Ps=Bn.range.end,ts+=Hn+String(Bn),ts[ts.length-1]===`\n`&&Me[Ps-1]!==`\n`&&Me[Ps]===`\n`&&(Ps+=1)})),ts+=Me.slice(Ps,zn.end),Bn.Node.addStringTerminator(Me,zn.end,ts)}},Ga=class extends Bn.Node{static endOfQuote(Me,Bn){let Hn=Me[Bn];for(;Hn&&Hn!=='"';)Bn+=Hn==="\\"?2:1,Hn=Me[Bn];return Bn+1}get strValue(){if(!this.valueRange||!this.context)return null;let Me=[],{start:Hn,end:zn}=this.valueRange,{indent:ni,src:Ci}=this.context;Ci[zn-1]!=='"'&&Me.push(new Bn.YAMLSyntaxError(this,'Missing closing "quote'));let ts="";for(let Ps=Hn+1;PsMe?Ci.slice(Me,Ps+1):Hn)}else ts+=Hn}return Me.length>0?{errors:Me,str:ts}:ts}parseCharCode(Me,Hn,zn){let{src:ni}=this.context,Ci=ni.substr(Me,Hn),ts=Ci.length===Hn&&/^[0-9a-fA-F]+$/.test(Ci)?parseInt(Ci,16):NaN;return isNaN(ts)?(zn.push(new Bn.YAMLSyntaxError(this,`Invalid escape sequence ${ni.substr(Me-2,Hn+2)}`)),ni.substr(Me-2,Hn+2)):String.fromCodePoint(ts)}parse(Me,Hn){this.context=Me;let{src:zn}=Me,ni=Ga.endOfQuote(zn,Hn+1);return this.valueRange=new Bn.Range(Hn,ni),ni=Bn.Node.endOfWhiteSpace(zn,ni),ni=this.parseComment(ni),ni}},Ha=class extends Bn.Node{static endOfQuote(Me,Bn){let Hn=Me[Bn];for(;Hn;)if(Hn==="'"){if(Me[Bn+1]!=="'")break;Hn=Me[Bn+=2]}else Hn=Me[Bn+=1];return Bn+1}get strValue(){if(!this.valueRange||!this.context)return null;let Me=[],{start:Hn,end:zn}=this.valueRange,{indent:ni,src:Ci}=this.context;Ci[zn-1]!=="'"&&Me.push(new Bn.YAMLSyntaxError(this,"Missing closing 'quote"));let ts="";for(let Ps=Hn+1;PsMe?Ci.slice(Me,Ps+1):Hn)}else ts+=Hn}return Me.length>0?{errors:Me,str:ts}:ts}parse(Me,Hn){this.context=Me;let{src:zn}=Me,ni=Ha.endOfQuote(zn,Hn+1);return this.valueRange=new Bn.Range(Hn,ni),ni=Bn.Node.endOfWhiteSpace(zn,ni),ni=this.parseComment(ni),ni}};function R(Me,Hn){switch(Me){case Bn.Type.ALIAS:return new oa(Me,Hn);case Bn.Type.BLOCK_FOLDED:case Bn.Type.BLOCK_LITERAL:return new _a(Me,Hn);case Bn.Type.FLOW_MAP:case Bn.Type.FLOW_SEQ:return new xa(Me,Hn);case Bn.Type.MAP_KEY:case Bn.Type.MAP_VALUE:case Bn.Type.SEQ_ITEM:return new zn(Me,Hn);case Bn.Type.COMMENT:case Bn.Type.PLAIN:return new Bn.PlainValue(Me,Hn);case Bn.Type.QUOTE_DOUBLE:return new Ga(Me,Hn);case Bn.Type.QUOTE_SINGLE:return new Ha(Me,Hn);default:return null}}var so=class{static parseType(Me,Hn,zn){switch(Me[Hn]){case"*":return Bn.Type.ALIAS;case">":return Bn.Type.BLOCK_FOLDED;case"|":return Bn.Type.BLOCK_LITERAL;case"{":return Bn.Type.FLOW_MAP;case"[":return Bn.Type.FLOW_SEQ;case"?":return!zn&&Bn.Node.atBlank(Me,Hn+1,!0)?Bn.Type.MAP_KEY:Bn.Type.PLAIN;case":":return!zn&&Bn.Node.atBlank(Me,Hn+1,!0)?Bn.Type.MAP_VALUE:Bn.Type.PLAIN;case"-":return!zn&&Bn.Node.atBlank(Me,Hn+1,!0)?Bn.Type.SEQ_ITEM:Bn.Type.PLAIN;case'"':return Bn.Type.QUOTE_DOUBLE;case"'":return Bn.Type.QUOTE_SINGLE;default:return Bn.Type.PLAIN}}constructor(){let Me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{atLineStart:Hn,inCollection:zn,inFlow:ni,indent:ts,lineStart:Ps,parent:aa}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Bn._defineProperty(this,"parseNode",((Me,Hn)=>{if(Bn.Node.atDocumentBoundary(this.src,Hn))return null;let zn=new so(this,Me),{props:ni,type:ts,valueStart:Ps}=zn.parseProps(Hn),aa=R(ts,ni),oa=aa.parse(zn,Ps);if(aa.range=new Bn.Range(Hn,oa),oa<=Hn&&(aa.error=new Error("Node#parse consumed no characters"),aa.error.parseEnd=oa,aa.error.source=aa,aa.range.end=Hn+1),zn.nodeStartsCollection(aa)){!aa.error&&!zn.atLineStart&&zn.parent.type===Bn.Type.DOCUMENT&&(aa.error=new Bn.YAMLSyntaxError(aa,"Block collection must not have preceding content here (e.g. directives-end indicator)"));let Me=new Ci(aa);return oa=Me.parse(new so(zn),oa),Me.range=new Bn.Range(Hn,oa),Me}return aa})),this.atLineStart=Hn!=null?Hn:Me.atLineStart||!1,this.inCollection=zn!=null?zn:Me.inCollection||!1,this.inFlow=ni!=null?ni:Me.inFlow||!1,this.indent=ts!=null?ts:Me.indent,this.lineStart=Ps!=null?Ps:Me.lineStart,this.parent=aa!=null?aa:Me.parent||{},this.root=Me.root,this.src=Me.src}nodeStartsCollection(Me){let{inCollection:Hn,inFlow:ni,src:Ci}=this;if(Hn||ni)return!1;if(Me instanceof zn)return!0;let ts=Me.range.end;return Ci[ts]===`\n`||Ci[ts-1]===`\n`?!1:(ts=Bn.Node.endOfWhiteSpace(Ci,ts),Ci[ts]===":")}parseProps(Me){let{inFlow:Hn,parent:zn,src:ni}=this,Ci=[],ts=!1;Me=this.atLineStart?Bn.Node.endOfIndent(ni,Me):Bn.Node.endOfWhiteSpace(ni,Me);let Ps=ni[Me];for(;Ps===Bn.Char.ANCHOR||Ps===Bn.Char.COMMENT||Ps===Bn.Char.TAG||Ps===`\n`;){if(Ps===`\n`){let Hn=Me,Ci;do{Ci=Hn+1,Hn=Bn.Node.endOfIndent(ni,Ci)}while(ni[Hn]===`\n`);let Ps=Hn-(Ci+this.indent),aa=zn.type===Bn.Type.SEQ_ITEM&&zn.context.atLineStart;if(ni[Hn]!=="#"&&!Bn.Node.nextNodeIsIndented(ni[Hn],Ps,!aa))break;this.atLineStart=!0,this.lineStart=Ci,ts=!1,Me=Hn}else if(Ps===Bn.Char.COMMENT){let Hn=Bn.Node.endOfLine(ni,Me+1);Ci.push(new Bn.Range(Me,Hn)),Me=Hn}else{let Hn=Bn.Node.endOfIdentifier(ni,Me+1);Ps===Bn.Char.TAG&&ni[Hn]===","&&/^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(ni.slice(Me+1,Hn+13))&&(Hn=Bn.Node.endOfIdentifier(ni,Hn+5)),Ci.push(new Bn.Range(Me,Hn)),ts=!0,Me=Bn.Node.endOfWhiteSpace(ni,Hn)}Ps=ni[Me]}ts&&Ps===":"&&Bn.Node.atBlank(ni,Me+1,!0)&&(Me-=1);let aa=so.parseType(ni,Me,Hn);return{props:Ci,type:aa,valueStart:Me}}};function U(Me){let Bn=[];Me.indexOf("\r")!==-1&&(Me=Me.replace(/\r\n?/g,((Me,Hn)=>(Me.length>1&&Bn.push(Hn),`\n`))));let Hn=[],zn=0;do{let Bn=new aa,ni=new so({src:Me});zn=Bn.parse(ni,zn),Hn.push(Bn)}while(zn{if(Bn.length===0)return!1;for(let Me=1;MeHn.join(`...\n`),Hn}Me.parse=U}}),$g=D({"node_modules/yaml/dist/resolveSeq-d03cb037.js"(Me){"use strict";Ps();var Bn=qg();function r(Me,Bn,Hn){return Hn?`#${Hn.replace(/[\s\S]^/gm,`$&${Bn}#`)}\n${Bn}${Me}`:Me}function c(Me,Bn,Hn){return Hn?Hn.indexOf(`\n`)===-1?`${Me} #${Hn}`:`${Me}\n`+Hn.replace(/^/gm,`${Bn||""}#`):Me}var Hn=class{};function d(Me,Bn,Hn){if(Array.isArray(Me))return Me.map(((Me,Bn)=>d(Me,String(Bn),Hn)));if(Me&&typeof Me.toJSON=="function"){let zn=Hn&&Hn.anchors&&Hn.anchors.get(Me);zn&&(Hn.onCreate=Me=>{zn.res=Me,delete Hn.onCreate});let ni=Me.toJSON(Bn,Hn);return zn&&Hn.onCreate&&Hn.onCreate(ni),ni}return(!Hn||!Hn.keep)&&typeof Me=="bigint"?Number(Me):Me}var zn=class extends Hn{constructor(Me){super(),this.value=Me}toJSON(Me,Bn){return Bn&&Bn.keep?this.value:d(this.value,Me,Bn)}toString(){return String(this.value)}};function E(Me,Bn,Hn){let zn=Hn;for(let Me=Bn.length-1;Me>=0;--Me){let Hn=Bn[Me];if(Number.isInteger(Hn)&&Hn>=0){let Me=[];Me[Hn]=zn,zn=Me}else{let Me={};Object.defineProperty(Me,Hn,{value:zn,writable:!0,enumerable:!0,configurable:!0}),zn=Me}}return Me.createNode(zn,!1)}var I=Me=>Me==null||typeof Me=="object"&&Me[Symbol.iterator]().next().done,ni=class extends Hn{constructor(Me){super(),Bn._defineProperty(this,"items",[]),this.schema=Me}addIn(Me,Bn){if(I(Me))this.add(Bn);else{let[Hn,...zn]=Me,Ci=this.get(Hn,!0);if(Ci instanceof ni)Ci.addIn(zn,Bn);else if(Ci===void 0&&this.schema)this.set(Hn,E(this.schema,zn,Bn));else throw new Error(`Expected YAML collection at ${Hn}. Remaining path: ${zn}`)}}deleteIn(Me){let[Bn,...Hn]=Me;if(Hn.length===0)return this.delete(Bn);let zn=this.get(Bn,!0);if(zn instanceof ni)return zn.deleteIn(Hn);throw new Error(`Expected YAML collection at ${Bn}. Remaining path: ${Hn}`)}getIn(Me,Bn){let[Hn,...Ci]=Me,ts=this.get(Hn,!0);return Ci.length===0?!Bn&&ts instanceof zn?ts.value:ts:ts instanceof ni?ts.getIn(Ci,Bn):void 0}hasAllNullValues(){return this.items.every((Me=>{if(!Me||Me.type!=="PAIR")return!1;let Bn=Me.value;return Bn==null||Bn instanceof zn&&Bn.value==null&&!Bn.commentBefore&&!Bn.comment&&!Bn.tag}))}hasIn(Me){let[Bn,...Hn]=Me;if(Hn.length===0)return this.has(Bn);let zn=this.get(Bn,!0);return zn instanceof ni?zn.hasIn(Hn):!1}setIn(Me,Bn){let[Hn,...zn]=Me;if(zn.length===0)this.set(Hn,Bn);else{let Me=this.get(Hn,!0);if(Me instanceof ni)Me.setIn(zn,Bn);else if(Me===void 0&&this.schema)this.set(Hn,E(this.schema,zn,Bn));else throw new Error(`Expected YAML collection at ${Hn}. Remaining path: ${zn}`)}}toJSON(){return null}toString(Me,Hn,zn,Ci){let{blockItem:ts,flowChars:Ps,isMap:aa,itemIndent:oa}=Hn,{indent:ca,indentStep:_a,stringify:xa}=Me,Ga=this.type===Bn.Type.FLOW_MAP||this.type===Bn.Type.FLOW_SEQ||Me.inFlow;Ga&&(oa+=_a);let Ha=aa&&this.hasAllNullValues();Me=Object.assign({},Me,{allNullValues:Ha,indent:oa,inFlow:Ga,type:null});let so=!1,oo=!1,Jo=this.items.reduce(((Bn,Hn,zn)=>{let ni;Hn&&(!so&&Hn.spaceBefore&&Bn.push({type:"comment",str:""}),Hn.commentBefore&&Hn.commentBefore.match(/^.*$/gm).forEach((Me=>{Bn.push({type:"comment",str:`#${Me}`})})),Hn.comment&&(ni=Hn.comment),Ga&&(!so&&Hn.spaceBefore||Hn.commentBefore||Hn.comment||Hn.key&&(Hn.key.commentBefore||Hn.key.comment)||Hn.value&&(Hn.value.commentBefore||Hn.value.comment))&&(oo=!0)),so=!1;let Ci=xa(Hn,Me,(()=>ni=null),(()=>so=!0));return Ga&&!oo&&Ci.includes(`\n`)&&(oo=!0),Ga&&znMe.str));if(oo||Hn.reduce(((Me,Bn)=>Me+Bn.length+2),2)>ni.maxFlowStringSingleLineLength){tc=Me;for(let Me of Hn)tc+=Me?`\n${_a}${ca}${Me}`:`\n`;tc+=`\n${ca}${Bn}`}else tc=`${Me} ${Hn.join(" ")} ${Bn}`}else{let Me=Jo.map(ts);tc=Me.shift();for(let Bn of Me)tc+=Bn?`\n${ca}${Bn}`:`\n`}return this.comment?(tc+=`\n`+this.comment.replace(/^/gm,`${ca}#`),zn&&zn()):so&&Ci&&Ci(),tc}};Bn._defineProperty(ni,"maxFlowStringSingleLineLength",60);function M(Me){let Bn=Me instanceof zn?Me.value:Me;return Bn&&typeof Bn=="string"&&(Bn=Number(Bn)),Number.isInteger(Bn)&&Bn>=0?Bn:null}var Ci=class extends ni{add(Me){this.items.push(Me)}delete(Me){let Bn=M(Me);return typeof Bn!="number"?!1:this.items.splice(Bn,1).length>0}get(Me,Bn){let Hn=M(Me);if(typeof Hn!="number")return;let ni=this.items[Hn];return!Bn&&ni instanceof zn?ni.value:ni}has(Me){let Bn=M(Me);return typeof Bn=="number"&&BnMe.type==="comment"?Me.str:`- ${Me.str}`,flowChars:{start:"[",end:"]"},isMap:!1,itemIndent:(Me.indent||"")+" "},Bn,Hn):JSON.stringify(this)}},P=(Me,Bn,zn)=>Bn===null?"":typeof Bn!="object"?String(Bn):Me instanceof Hn&&zn&&zn.doc?Me.toString({anchors:Object.create(null),doc:zn.doc,indent:"",indentStep:zn.indentStep,inFlow:!0,inStringifyKey:!0,stringify:zn.stringify}):JSON.stringify(Bn),ts=class extends Hn{constructor(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;super(),this.key=Me,this.value=Bn,this.type=ts.Type.PAIR}get commentBefore(){return this.key instanceof Hn?this.key.commentBefore:void 0}set commentBefore(Me){if(this.key==null&&(this.key=new zn(null)),this.key instanceof Hn)this.key.commentBefore=Me;else{let Me="Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.";throw new Error(Me)}}addToJSMap(Me,Bn){let Hn=d(this.key,"",Me);if(Bn instanceof Map){let zn=d(this.value,Hn,Me);Bn.set(Hn,zn)}else if(Bn instanceof Set)Bn.add(Hn);else{let zn=P(this.key,Hn,Me),ni=d(this.value,zn,Me);zn in Bn?Object.defineProperty(Bn,zn,{value:ni,writable:!0,enumerable:!0,configurable:!0}):Bn[zn]=ni}return Bn}toJSON(Me,Bn){let Hn=Bn&&Bn.mapAsMap?new Map:{};return this.addToJSMap(Bn,Hn)}toString(Me,ts,Ps){if(!Me||!Me.doc)return JSON.stringify(this);let{indent:aa,indentSeq:oa,simpleKeys:ca}=Me.doc.options,{key:_a,value:xa}=this,Ga=_a instanceof Hn&&_a.comment;if(ca){if(Ga)throw new Error("With simple keys, key nodes cannot have comments");if(_a instanceof ni){let Me="With simple keys, collection cannot be used as a key value";throw new Error(Me)}}let Ha=!ca&&(!_a||Ga||(_a instanceof Hn?_a instanceof ni||_a.type===Bn.Type.BLOCK_FOLDED||_a.type===Bn.Type.BLOCK_LITERAL:typeof _a=="object")),{doc:so,indent:oo,indentStep:Jo,stringify:tc}=Me;Me=Object.assign({},Me,{implicitKey:!Ha,indent:oo+Jo});let dc=!1,Fc=tc(_a,Me,(()=>Ga=null),(()=>dc=!0));if(Fc=c(Fc,Me.indent,Ga),!Ha&&Fc.length>1024){if(ca)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");Ha=!0}if(Me.allNullValues&&!ca)return this.comment?(Fc=c(Fc,Me.indent,this.comment),ts&&ts()):dc&&!Ga&&Ps&&Ps(),Me.inFlow&&!Ha?Fc:`? ${Fc}`;Fc=Ha?`? ${Fc}\n${oo}:`:`${Fc}:`,this.comment&&(Fc=c(Fc,Me.indent,this.comment),ts&&ts());let Jc="",Dp=null;if(xa instanceof Hn){if(xa.spaceBefore&&(Jc=`\n`),xa.commentBefore){let Bn=xa.commentBefore.replace(/^/gm,`${Me.indent}#`);Jc+=`\n${Bn}`}Dp=xa.comment}else xa&&typeof xa=="object"&&(xa=so.schema.createNode(xa,!0));Me.implicitKey=!1,!Ha&&!this.comment&&xa instanceof zn&&(Me.indentAtStart=Fc.length+1),dc=!1,!oa&&aa>=2&&!Me.inFlow&&!Ha&&xa instanceof Ci&&xa.type!==Bn.Type.FLOW_SEQ&&!xa.tag&&!so.anchors.getName(xa)&&(Me.indent=Me.indent.substr(2));let kp=tc(xa,Me,(()=>Dp=null),(()=>dc=!0)),Qp=" ";return Jc||this.comment?Qp=`${Jc}\n${Me.indent}`:!Ha&&xa instanceof ni?(!(kp[0]==="["||kp[0]==="{")||kp.includes(`\n`))&&(Qp=`\n${Me.indent}`):kp[0]===`\n`&&(Qp=""),dc&&!Dp&&Ps&&Ps(),c(Fc+Qp+kp,Me.indent,Dp)}};Bn._defineProperty(ts,"Type",{PAIR:"PAIR",MERGE_PAIR:"MERGE_PAIR"});var q=(Me,Bn)=>{if(Me instanceof aa){let Hn=Bn.get(Me.source);return Hn.count*Hn.aliasCount}else if(Me instanceof ni){let Hn=0;for(let zn of Me.items){let Me=q(zn,Bn);Me>Hn&&(Hn=Me)}return Hn}else if(Me instanceof ts){let Hn=q(Me.key,Bn),zn=q(Me.value,Bn);return Math.max(Hn,zn)}return 1},aa=class extends Hn{static stringify(Me,Bn){let{range:Hn,source:zn}=Me,{anchors:ni,doc:Ci,implicitKey:ts,inStringifyKey:Ps}=Bn,aa=Object.keys(ni).find((Me=>ni[Me]===zn));if(!aa&&Ps&&(aa=Ci.anchors.getName(zn)||Ci.anchors.newName()),aa)return`*${aa}${ts?" ":""}`;let oa=Ci.anchors.getName(zn)?"Alias node must be after source node":"Source node not found for alias node";throw new Error(`${oa} [${Hn}]`)}constructor(Me){super(),this.source=Me,this.type=Bn.Type.ALIAS}set tag(Me){throw new Error("Alias nodes cannot have tags")}toJSON(Me,Hn){if(!Hn)return d(this.source,Me,Hn);let{anchors:zn,maxAliasCount:ni}=Hn,Ci=zn.get(this.source);if(!Ci||Ci.res===void 0){let Me="This should not happen: Alias anchor was not resolved?";throw this.cstNode?new Bn.YAMLReferenceError(this.cstNode,Me):new ReferenceError(Me)}if(ni>=0&&(Ci.count+=1,Ci.aliasCount===0&&(Ci.aliasCount=q(this.source,zn)),Ci.count*Ci.aliasCount>ni)){let Me="Excessive alias count indicates a resource exhaustion attack";throw this.cstNode?new Bn.YAMLReferenceError(this.cstNode,Me):new ReferenceError(Me)}return Ci.res}toString(Me){return aa.stringify(this,Me)}};Bn._defineProperty(aa,"default",!0);function B(Me,Bn){let Hn=Bn instanceof zn?Bn.value:Bn;for(let zn of Me)if(zn instanceof ts&&(zn.key===Bn||zn.key===Hn||zn.key&&zn.key.value===Hn))return zn}var oa=class extends ni{add(Me,Bn){Me?Me instanceof ts||(Me=new ts(Me.key||Me,Me.value)):Me=new ts(Me);let Hn=B(this.items,Me.key),zn=this.schema&&this.schema.sortMapEntries;if(Hn)if(Bn)Hn.value=Me.value;else throw new Error(`Key ${Me.key} already set`);else if(zn){let Bn=this.items.findIndex((Bn=>zn(Me,Bn)<0));Bn===-1?this.items.push(Me):this.items.splice(Bn,0,Me)}else this.items.push(Me)}delete(Me){let Bn=B(this.items,Me);return Bn?this.items.splice(this.items.indexOf(Bn),1).length>0:!1}get(Me,Bn){let Hn=B(this.items,Me),ni=Hn&&Hn.value;return!Bn&&ni instanceof zn?ni.value:ni}has(Me){return!!B(this.items,Me)}set(Me,Bn){this.add(new ts(Me,Bn),!0)}toJSON(Me,Bn,Hn){let zn=Hn?new Hn:Bn&&Bn.mapAsMap?new Map:{};Bn&&Bn.onCreate&&Bn.onCreate(zn);for(let Me of this.items)Me.addToJSMap(Bn,zn);return zn}toString(Me,Bn,Hn){if(!Me)return JSON.stringify(this);for(let Me of this.items)if(!(Me instanceof ts))throw new Error(`Map items must all be pairs; found ${JSON.stringify(Me)} instead`);return super.toString(Me,{blockItem:Me=>Me.str,flowChars:{start:"{",end:"}"},isMap:!0,itemIndent:Me.indent||""},Bn,Hn)}},ca="<<",_a=class extends ts{constructor(Me){if(Me instanceof ts){let Bn=Me.value;Bn instanceof Ci||(Bn=new Ci,Bn.items.push(Me.value),Bn.range=Me.value.range),super(Me.key,Bn),this.range=Me.range}else super(new zn(ca),new Ci);this.type=ts.Type.MERGE_PAIR}addToJSMap(Me,Bn){for(let{source:Hn}of this.value.items){if(!(Hn instanceof oa))throw new Error("Merge sources must be maps");let zn=Hn.toJSON(null,Me,Map);for(let[Me,Hn]of zn)Bn instanceof Map?Bn.has(Me)||Bn.set(Me,Hn):Bn instanceof Set?Bn.add(Me):Object.prototype.hasOwnProperty.call(Bn,Me)||Object.defineProperty(Bn,Me,{value:Hn,writable:!0,enumerable:!0,configurable:!0})}return Bn}toString(Me,Bn){let Hn=this.value;if(Hn.items.length>1)return super.toString(Me,Bn);this.value=Hn.items[0];let zn=super.toString(Me,Bn);return this.value=Hn,zn}},xa={defaultType:Bn.Type.BLOCK_LITERAL,lineWidth:76},Ga={trueStr:"true",falseStr:"false"},Ha={asBigInt:!1},so={nullStr:"null"},oo={defaultType:Bn.Type.PLAIN,doubleQuoted:{jsonEncoding:!1,minMultiLineLength:40},fold:{lineWidth:80,minContentWidth:20}};function u(Me,Bn,Hn){for(let{format:Hn,test:ni,resolve:Ci}of Bn)if(ni){let Bn=Me.match(ni);if(Bn){let Me=Ci.apply(null,Bn);return Me instanceof zn||(Me=new zn(Me)),Hn&&(Me.format=Hn),Me}}return Hn&&(Me=Hn(Me)),new zn(Me)}var Jo="flow",tc="block",dc="quoted",$=(Me,Bn)=>{let Hn=Me[Bn+1];for(;Hn===" "||Hn==="\t";){do{Hn=Me[Bn+=1]}while(Hn&&Hn!==`\n`);Hn=Me[Bn+1]}return Bn};function K(Me,Bn,Hn,zn){let{indentAtStart:ni,lineWidth:Ci=80,minContentWidth:ts=20,onFold:Ps,onOverflow:aa}=zn;if(!Ci||Ci<0)return Me;let oa=Math.max(1+ts,1+Ci-Bn.length);if(Me.length<=oa)return Me;let ca=[],_a={},xa=Ci-Bn.length;typeof ni=="number"&&(ni>Ci-Math.max(2,ts)?ca.push(0):xa=Ci-ni);let Ga,Ha,so=!1,oo=-1,Jo=-1,Fc=-1;Hn===tc&&(oo=$(Me,oo),oo!==-1&&(xa=oo+oa));for(let Bn;Bn=Me[oo+=1];){if(Hn===dc&&Bn==="\\"){switch(Jo=oo,Me[oo+1]){case"x":oo+=3;break;case"u":oo+=5;break;case"U":oo+=9;break;default:oo+=1}Fc=oo}if(Bn===`\n`)Hn===tc&&(oo=$(Me,oo)),xa=oo+oa,Ga=void 0;else{if(Bn===" "&&Ha&&Ha!==" "&&Ha!==`\n`&&Ha!=="\t"){let Bn=Me[oo+1];Bn&&Bn!==" "&&Bn!==`\n`&&Bn!=="\t"&&(Ga=oo)}if(oo>=xa)if(Ga)ca.push(Ga),xa=Ga+oa,Ga=void 0;else if(Hn===dc){for(;Ha===" "||Ha==="\t";)Ha=Bn,Bn=Me[oo+=1],so=!0;let Hn=oo>Fc+1?oo-2:Jo-1;if(_a[Hn])return Me;ca.push(Hn),_a[Hn]=!0,xa=Hn+oa,Ga=void 0}else so=!0}Ha=Bn}if(so&&aa&&aa(),ca.length===0)return Me;Ps&&Ps();let Jc=Me.slice(0,ca[0]);for(let zn=0;zn{let{indentAtStart:Bn}=Me;return Bn?Object.assign({indentAtStart:Bn},oo.fold):oo.fold},z=Me=>/^(%|---|\.\.\.)/m.test(Me);function ae(Me,Bn,Hn){if(!Bn||Bn<0)return!1;let zn=Bn-Hn,ni=Me.length;if(ni<=zn)return!1;for(let Bn=0,Hn=0;Bnzn)return!0;if(Hn=Bn+1,ni-Hn<=zn)return!1}return!0}function ue(Me,Bn){let{implicitKey:Hn}=Bn,{jsonEncoding:zn,minMultiLineLength:ni}=oo.doubleQuoted,Ci=JSON.stringify(Me);if(zn)return Ci;let ts=Bn.indent||(z(Me)?" ":""),Ps="",aa=0;for(let Me=0,Bn=Ci[Me];Bn;Bn=Ci[++Me])if(Bn===" "&&Ci[Me+1]==="\\"&&Ci[Me+2]==="n"&&(Ps+=Ci.slice(aa,Me)+"\\ ",Me+=1,aa=Me,Bn="\\"),Bn==="\\")switch(Ci[Me+1]){case"u":{Ps+=Ci.slice(aa,Me);let Bn=Ci.substr(Me+2,4);switch(Bn){case"0000":Ps+="\\0";break;case"0007":Ps+="\\a";break;case"000b":Ps+="\\v";break;case"001b":Ps+="\\e";break;case"0085":Ps+="\\N";break;case"00a0":Ps+="\\_";break;case"2028":Ps+="\\L";break;case"2029":Ps+="\\P";break;default:Bn.substr(0,2)==="00"?Ps+="\\x"+Bn.substr(2):Ps+=Ci.substr(Me,6)}Me+=5,aa=Me+1}break;case"n":if(Hn||Ci[Me+2]==='"'||Ci.length";if(!Ps)return _a+`\n`;let xa="",Ga="";if(Ps=Ps.replace(/[\n\t ]*$/,(Me=>{let Bn=Me.indexOf(`\n`);return Bn===-1?_a+="-":(Ps===Me||Bn!==Me.length-1)&&(_a+="+",ni&&ni()),Ga=Me.replace(/\n$/,""),""})).replace(/^[\n ]*/,(Me=>{Me.indexOf(" ")!==-1&&(_a+=oa);let Bn=Me.match(/ +$/);return Bn?(xa=Me.slice(0,-Bn[0].length),Bn[0]):(xa=Me,"")})),Ga&&(Ga=Ga.replace(/\n+(?!\n|$)/g,`$&${aa}`)),xa&&(xa=xa.replace(/\n+/g,`$&${aa}`)),Ci&&(_a+=" #"+Ci.replace(/ ?[\r\n]+/g," "),zn&&zn()),!Ps)return`${_a}${oa}\n${aa}${Ga}`;if(ca)return Ps=Ps.replace(/\n+/g,`$&${aa}`),`${_a}\n${aa}${xa}${Ps}${Ga}`;Ps=Ps.replace(/\n+/g,`\n$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${aa}`);let Ha=K(`${xa}${Ps}${Ga}`,aa,tc,oo.fold);return`${_a}\n${aa}${Ha}`}function O(Me,Hn,zn,ni){let{comment:Ci,type:ts,value:Ps}=Me,{actualString:aa,implicitKey:oa,indent:ca,inFlow:_a}=Hn;if(oa&&/[\n[\]{},]/.test(Ps)||_a&&/[[\]{},]/.test(Ps))return ue(Ps,Hn);if(!Ps||/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(Ps))return oa||_a||Ps.indexOf(`\n`)===-1?Ps.indexOf('"')!==-1&&Ps.indexOf("'")===-1?pe(Ps,Hn):ue(Ps,Hn):ge(Me,Hn,zn,ni);if(!oa&&!_a&&ts!==Bn.Type.PLAIN&&Ps.indexOf(`\n`)!==-1)return ge(Me,Hn,zn,ni);if(ca===""&&z(Ps))return Hn.forceBlockIndent=!0,ge(Me,Hn,zn,ni);let xa=Ps.replace(/\n+/g,`$&\n${ca}`);if(aa){let{tags:Me}=Hn.doc.schema;if(typeof u(xa,Me,Me.scalarFallback).value!="string")return ue(Ps,Hn)}let Ga=oa?xa:K(xa,ca,Jo,V(Hn));return Ci&&!_a&&(Ga.indexOf(`\n`)!==-1||Ci.indexOf(`\n`)!==-1)?(zn&&zn(),r(Ga,ca,Ci)):Ga}function W(Me,Hn,zn,ni){let{defaultType:Ci}=oo,{implicitKey:ts,inFlow:Ps}=Hn,{type:aa,value:oa}=Me;typeof oa!="string"&&(oa=String(oa),Me=Object.assign({},Me,{value:oa}));let F=Ci=>{switch(Ci){case Bn.Type.BLOCK_FOLDED:case Bn.Type.BLOCK_LITERAL:return ge(Me,Hn,zn,ni);case Bn.Type.QUOTE_DOUBLE:return ue(oa,Hn);case Bn.Type.QUOTE_SINGLE:return pe(oa,Hn);case Bn.Type.PLAIN:return O(Me,Hn,zn,ni);default:return null}};(aa!==Bn.Type.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(oa)||(ts||Ps)&&(aa===Bn.Type.BLOCK_FOLDED||aa===Bn.Type.BLOCK_LITERAL))&&(aa=Bn.Type.QUOTE_DOUBLE);let ca=F(aa);if(ca===null&&(ca=F(Ci),ca===null))throw new Error(`Unsupported default string type ${Ci}`);return ca}function J(Me){let{format:Bn,minFractionDigits:Hn,tag:zn,value:ni}=Me;if(typeof ni=="bigint")return String(ni);if(!isFinite(ni))return isNaN(ni)?".nan":ni<0?"-.inf":".inf";let Ci=JSON.stringify(ni);if(!Bn&&Hn&&(!zn||zn==="tag:yaml.org,2002:float")&&/^\d/.test(Ci)){let Me=Ci.indexOf(".");Me<0&&(Me=Ci.length,Ci+=".");let Bn=Hn-(Ci.length-Me-1);for(;Bn-- >0;)Ci+="0"}return Ci}function x(Me,Hn){let zn,ni;switch(Hn.type){case Bn.Type.FLOW_MAP:zn="}",ni="flow map";break;case Bn.Type.FLOW_SEQ:zn="]",ni="flow sequence";break;default:Me.push(new Bn.YAMLSemanticError(Hn,"Not a flow collection!?"));return}let Ci;for(let Me=Hn.items.length-1;Me>=0;--Me){let zn=Hn.items[Me];if(!zn||zn.type!==Bn.Type.COMMENT){Ci=zn;break}}if(Ci&&Ci.char!==zn){let ts=`Expected ${ni} to end with ${zn}`,Ps;typeof Ci.offset=="number"?(Ps=new Bn.YAMLSemanticError(Hn,ts),Ps.offset=Ci.offset+1):(Ps=new Bn.YAMLSemanticError(Ci,ts),Ci.range&&Ci.range.end&&(Ps.offset=Ci.range.end-Ci.range.start)),Me.push(Ps)}}function G(Me,Hn){let zn=Hn.context.src[Hn.range.start-1];if(zn!==`\n`&&zn!=="\t"&&zn!==" "){let zn="Comments must be separated from other tokens by white space characters";Me.push(new Bn.YAMLSemanticError(Hn,zn))}}function re(Me,Hn){let zn=String(Hn),ni=zn.substr(0,8)+"..."+zn.substr(-8);return new Bn.YAMLSemanticError(Me,`The "${ni}" key is too long`)}function _e(Me,Bn){for(let{afterKey:Hn,before:zn,comment:ni}of Bn){let Bn=Me.items[zn];Bn?(Hn&&Bn.value&&(Bn=Bn.value),ni===void 0?(Hn||!Bn.commentBefore)&&(Bn.spaceBefore=!0):Bn.commentBefore?Bn.commentBefore+=`\n`+ni:Bn.commentBefore=ni):ni!==void 0&&(Me.comment?Me.comment+=`\n`+ni:Me.comment=ni)}}function ye(Me,Bn){let Hn=Bn.strValue;return Hn?typeof Hn=="string"?Hn:(Hn.errors.forEach((Hn=>{Hn.source||(Hn.source=Bn),Me.errors.push(Hn)})),Hn.str):""}function be(Me,Hn){let{handle:zn,suffix:ni}=Hn.tag,Ci=Me.tagPrefixes.find((Me=>Me.handle===zn));if(!Ci){let ni=Me.getDefaults().tagPrefixes;if(ni&&(Ci=ni.find((Me=>Me.handle===zn))),!Ci)throw new Bn.YAMLSemanticError(Hn,`The ${zn} tag handle is non-default and was not declared.`)}if(!ni)throw new Bn.YAMLSemanticError(Hn,`The ${zn} tag has no suffix.`);if(zn==="!"&&(Me.version||Me.options.version)==="1.0"){if(ni[0]==="^")return Me.warnings.push(new Bn.YAMLWarning(Hn,"YAML 1.0 ^ tag expansion is not supported")),ni;if(/[:/]/.test(ni)){let Me=ni.match(/^([a-z0-9-]+)\/(.*)/i);return Me?`tag:${Me[1]}.yaml.org,2002:${Me[2]}`:`tag:${ni}`}}return Ci.prefix+decodeURIComponent(ni)}function ve(Me,Hn){let{tag:zn,type:ni}=Hn,Ci=!1;if(zn){let{handle:ni,suffix:ts,verbatim:Ps}=zn;if(Ps){if(Ps!=="!"&&Ps!=="!!")return Ps;let zn=`Verbatim tags aren't resolved, so ${Ps} is invalid.`;Me.errors.push(new Bn.YAMLSemanticError(Hn,zn))}else if(ni==="!"&&!ts)Ci=!0;else try{return be(Me,Hn)}catch(Bn){Me.errors.push(Bn)}}switch(ni){case Bn.Type.BLOCK_FOLDED:case Bn.Type.BLOCK_LITERAL:case Bn.Type.QUOTE_DOUBLE:case Bn.Type.QUOTE_SINGLE:return Bn.defaultTags.STR;case Bn.Type.FLOW_MAP:case Bn.Type.MAP:return Bn.defaultTags.MAP;case Bn.Type.FLOW_SEQ:case Bn.Type.SEQ:return Bn.defaultTags.SEQ;case Bn.Type.PLAIN:return Ci?Bn.defaultTags.STR:null;default:return null}}function Ne(Me,Bn,Hn){let{tags:Ci}=Me.schema,ts=[];for(let Ps of Ci)if(Ps.tag===Hn)if(Ps.test)ts.push(Ps);else{let Hn=Ps.resolve(Me,Bn);return Hn instanceof ni?Hn:new zn(Hn)}let Ps=ye(Me,Bn);return typeof Ps=="string"&&ts.length>0?u(Ps,ts,Ci.scalarFallback):null}function Pe(Me){let{type:Hn}=Me;switch(Hn){case Bn.Type.FLOW_MAP:case Bn.Type.MAP:return Bn.defaultTags.MAP;case Bn.Type.FLOW_SEQ:case Bn.Type.SEQ:return Bn.defaultTags.SEQ;default:return Bn.defaultTags.STR}}function ot(Me,Hn,zn){try{let Bn=Ne(Me,Hn,zn);if(Bn)return zn&&Hn.tag&&(Bn.tag=zn),Bn}catch(Bn){return Bn.source||(Bn.source=Hn),Me.errors.push(Bn),null}try{let ni=Pe(Hn);if(!ni)throw new Error(`The tag ${zn} is unavailable`);let Ci=`The tag ${zn} is unavailable, falling back to ${ni}`;Me.warnings.push(new Bn.YAMLWarning(Hn,Ci));let ts=Ne(Me,Hn,ni);return ts.tag=zn,ts}catch(zn){let ni=new Bn.YAMLReferenceError(Hn,zn.message);return ni.stack=zn.stack,Me.errors.push(ni),null}}var lt=Me=>{if(!Me)return!1;let{type:Hn}=Me;return Hn===Bn.Type.MAP_KEY||Hn===Bn.Type.MAP_VALUE||Hn===Bn.Type.SEQ_ITEM};function ct(Me,Hn){let zn={before:[],after:[]},ni=!1,Ci=!1,ts=lt(Hn.context.parent)?Hn.context.parent.props.concat(Hn.props):Hn.props;for(let{start:Ps,end:aa}of ts)switch(Hn.context.src[Ps]){case Bn.Char.COMMENT:{if(!Hn.commentHasRequiredWhitespace(Ps)){let zn="Comments must be separated from other tokens by white space characters";Me.push(new Bn.YAMLSemanticError(Hn,zn))}let{header:ni,valueRange:Ci}=Hn;(Ci&&(Ps>Ci.start||ni&&Ps>ni.start)?zn.after:zn.before).push(Hn.context.src.slice(Ps+1,aa));break}case Bn.Char.ANCHOR:if(ni){let zn="A node can have at most one anchor";Me.push(new Bn.YAMLSemanticError(Hn,zn))}ni=!0;break;case Bn.Char.TAG:if(Ci){let zn="A node can have at most one tag";Me.push(new Bn.YAMLSemanticError(Hn,zn))}Ci=!0;break}return{comments:zn,hasAnchor:ni,hasTag:Ci}}function ut(Me,Hn){let{anchors:zn,errors:ni,schema:Ci}=Me;if(Hn.type===Bn.Type.ALIAS){let Me=Hn.rawValue,Ci=zn.getNode(Me);if(!Ci){let zn=`Aliased anchor not found: ${Me}`;return ni.push(new Bn.YAMLReferenceError(Hn,zn)),null}let ts=new aa(Ci);return zn._cstAliases.push(ts),ts}let ts=ve(Me,Hn);if(ts)return ot(Me,Hn,ts);if(Hn.type!==Bn.Type.PLAIN){let Me=`Failed to resolve ${Hn.type} node here`;return ni.push(new Bn.YAMLSyntaxError(Hn,Me)),null}try{let Bn=ye(Me,Hn);return u(Bn,Ci.tags,Ci.tags.scalarFallback)}catch(Me){return Me.source||(Me.source=Hn),ni.push(Me),null}}function we(Me,Hn){if(!Hn)return null;Hn.error&&Me.errors.push(Hn.error);let{comments:zn,hasAnchor:ni,hasTag:Ci}=ct(Me.errors,Hn);if(ni){let{anchors:Bn}=Me,zn=Hn.anchor,ni=Bn.getNode(zn);ni&&(Bn.map[Bn.newName(zn)]=ni),Bn.map[zn]=Hn}if(Hn.type===Bn.Type.ALIAS&&(ni||Ci)){let zn="An alias node must not specify any properties";Me.errors.push(new Bn.YAMLSemanticError(Hn,zn))}let ts=ut(Me,Hn);if(ts){ts.range=[Hn.range.start,Hn.range.end],Me.options.keepCstNodes&&(ts.cstNode=Hn),Me.options.keepNodeTypes&&(ts.type=Hn.type);let Bn=zn.before.join(`\n`);Bn&&(ts.commentBefore=ts.commentBefore?`${ts.commentBefore}\n${Bn}`:Bn);let ni=zn.after.join(`\n`);ni&&(ts.comment=ts.comment?`${ts.comment}\n${ni}`:ni)}return Hn.resolved=ts}function ft(Me,Hn){if(Hn.type!==Bn.Type.MAP&&Hn.type!==Bn.Type.FLOW_MAP){let zn=`A ${Hn.type} node cannot be resolved as a mapping`;return Me.errors.push(new Bn.YAMLSyntaxError(Hn,zn)),null}let{comments:zn,items:Ci}=Hn.type===Bn.Type.FLOW_MAP?gt(Me,Hn):ht(Me,Hn),ts=new oa;ts.items=Ci,_e(ts,zn);let Ps=!1;for(let zn=0;zn{if(Me instanceof aa){let{type:Hn}=Me.source;return Hn===Bn.Type.MAP||Hn===Bn.Type.FLOW_MAP?!1:ts="Merge nodes aliases can only point to maps"}return ts="Merge nodes can only have Alias nodes as values"})),ts&&Me.errors.push(new Bn.YAMLSemanticError(Hn,ts))}else for(let ni=zn+1;ni{let{context:{lineStart:Hn,node:zn,src:ni},props:Ci}=Me;if(Ci.length===0)return!1;let{start:ts}=Ci[0];if(zn&&ts>zn.valueRange.start||ni[ts]!==Bn.Char.COMMENT)return!1;for(let Me=Hn;Me0){zn=new Bn.PlainValue(Bn.Type.PLAIN,[]),zn.context={parent:oa,src:oa.context.src};let Me=oa.range.start+1;if(zn.range={start:Me,end:Me},zn.valueRange={start:Me,end:Me},typeof oa.range.origStart=="number"){let Me=oa.range.origStart+1;zn.range.origStart=zn.range.origEnd=Me,zn.valueRange.origStart=zn.valueRange.origEnd=Me}}let aa=new ts(Ci,we(Me,zn));dt(oa,aa),ni.push(aa),Ci&&typeof Ps=="number"&&oa.range.start>Ps+1024&&Me.errors.push(re(Hn,Ci)),Ci=void 0,Ps=null}break;default:Ci!==void 0&&ni.push(new ts(Ci)),Ci=we(Me,oa),Ps=oa.range.start,oa.error&&Me.errors.push(oa.error);e:for(let zn=aa+1;;++zn){let ni=Hn.items[zn];switch(ni&&ni.type){case Bn.Type.BLANK_LINE:case Bn.Type.COMMENT:continue e;case Bn.Type.MAP_VALUE:break e;default:{let Hn="Implicit map keys need to be followed by map values";Me.errors.push(new Bn.YAMLSemanticError(oa,Hn));break e}}}if(oa.valueRangeContainsNewline){let Hn="Implicit map keys need to be on a single line";Me.errors.push(new Bn.YAMLSemanticError(oa,Hn))}}}return Ci!==void 0&&ni.push(new ts(Ci)),{comments:zn,items:ni}}function gt(Me,Hn){let zn=[],ni=[],Ci,Ps=!1,aa="{";for(let oa=0;oaMe instanceof ts&&Me.key instanceof ni))){let zn="Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.";Me.warnings.push(new Bn.YAMLWarning(Hn,zn))}return Hn.resolved=aa,aa}function _t(Me,Hn){let zn=[],ni=[];for(let Ci=0;Ciaa+1024&&Me.errors.push(re(Hn,Ps));let{src:ni}=ca.context;for(let Hn=aa;HnMe instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve:(Me,zn)=>{let ni=Hn.resolveString(Me,zn);if(typeof Buffer=="function")return Buffer.from(ni,"base64");if(typeof atob=="function"){let Me=atob(ni.replace(/[\n\r]/g,"")),Bn=new Uint8Array(Me.length);for(let Hn=0;Hn{let{comment:ts,type:Ps,value:aa}=Me,oa;if(typeof Buffer=="function")oa=aa instanceof Buffer?aa.toString("base64"):Buffer.from(aa.buffer).toString("base64");else if(typeof btoa=="function"){let Me="";for(let Bn=0;Bn1){let Me="Each pair must have its own sequence indicator";throw new Bn.YAMLSemanticError(zn,Me)}let Me=Ci.items[0]||new Hn.Pair;Ci.commentBefore&&(Me.commentBefore=Me.commentBefore?`${Ci.commentBefore}\n${Me.commentBefore}`:Ci.commentBefore),Ci.comment&&(Me.comment=Me.comment?`${Ci.comment}\n${Me.comment}`:Ci.comment),Ci=Me}ni.items[Me]=Ci instanceof Hn.Pair?Ci:new Hn.Pair(Ci)}}return ni}function d(Me,Bn,zn){let ni=new Hn.YAMLSeq(Me);ni.tag="tag:yaml.org,2002:pairs";for(let Hn of Bn){let Bn,Ci;if(Array.isArray(Hn))if(Hn.length===2)Bn=Hn[0],Ci=Hn[1];else throw new TypeError(`Expected [key, value] tuple: ${Hn}`);else if(Hn&&Hn instanceof Object){let Me=Object.keys(Hn);if(Me.length===1)Bn=Me[0],Ci=Hn[Bn];else throw new TypeError(`Expected { key: value } tuple: ${Hn}`)}else Bn=Hn;let ts=Me.createPair(Bn,Ci,zn);ni.items.push(ts)}return ni}var ni={default:!1,tag:"tag:yaml.org,2002:pairs",resolve:h,createNode:d},Ci=class extends Hn.YAMLSeq{constructor(){super(),Bn._defineProperty(this,"add",Hn.YAMLMap.prototype.add.bind(this)),Bn._defineProperty(this,"delete",Hn.YAMLMap.prototype.delete.bind(this)),Bn._defineProperty(this,"get",Hn.YAMLMap.prototype.get.bind(this)),Bn._defineProperty(this,"has",Hn.YAMLMap.prototype.has.bind(this)),Bn._defineProperty(this,"set",Hn.YAMLMap.prototype.set.bind(this)),this.tag=Ci.tag}toJSON(Me,Bn){let zn=new Map;Bn&&Bn.onCreate&&Bn.onCreate(zn);for(let Me of this.items){let ni,Ci;if(Me instanceof Hn.Pair?(ni=Hn.toJSON(Me.key,"",Bn),Ci=Hn.toJSON(Me.value,ni,Bn)):ni=Hn.toJSON(Me,"",Bn),zn.has(ni))throw new Error("Ordered maps must not include duplicate keys");zn.set(ni,Ci)}return zn}};Bn._defineProperty(Ci,"tag","tag:yaml.org,2002:omap");function I(Me,zn){let ni=h(Me,zn),ts=[];for(let{key:Me}of ni.items)if(Me instanceof Hn.Scalar)if(ts.includes(Me.value)){let Me="Ordered maps must not include duplicate keys";throw new Bn.YAMLSemanticError(zn,Me)}else ts.push(Me.value);return Object.assign(new Ci,ni)}function S(Me,Bn,Hn){let zn=d(Me,Bn,Hn),ni=new Ci;return ni.items=zn.items,ni}var aa={identify:Me=>Me instanceof Map,nodeClass:Ci,default:!1,tag:"tag:yaml.org,2002:omap",resolve:I,createNode:S},oa=class extends Hn.YAMLMap{constructor(){super(),this.tag=oa.tag}add(Me){let Bn=Me instanceof Hn.Pair?Me:new Hn.Pair(Me);Hn.findPair(this.items,Bn.key)||this.items.push(Bn)}get(Me,Bn){let zn=Hn.findPair(this.items,Me);return!Bn&&zn instanceof Hn.Pair?zn.key instanceof Hn.Scalar?zn.key.value:zn.key:zn}set(Me,Bn){if(typeof Bn!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof Bn}`);let zn=Hn.findPair(this.items,Me);zn&&!Bn?this.items.splice(this.items.indexOf(zn),1):!zn&&Bn&&this.items.push(new Hn.Pair(Me))}toJSON(Me,Bn){return super.toJSON(Me,Bn,Set)}toString(Me,Bn,Hn){if(!Me)return JSON.stringify(this);if(this.hasAllNullValues())return super.toString(Me,Bn,Hn);throw new Error("Set items must all have null values")}};Bn._defineProperty(oa,"tag","tag:yaml.org,2002:set");function P(Me,zn){let ni=Hn.resolveMap(Me,zn);if(!ni.hasAllNullValues())throw new Bn.YAMLSemanticError(zn,"Set items must all have null values");return Object.assign(new oa,ni)}function C(Me,Bn,Hn){let zn=new oa;for(let ni of Bn)zn.items.push(Me.createPair(ni,null,Hn));return zn}var ca={identify:Me=>Me instanceof Set,nodeClass:oa,default:!1,tag:"tag:yaml.org,2002:set",resolve:P,createNode:C},R=(Me,Bn)=>{let Hn=Bn.split(":").reduce(((Me,Bn)=>Me*60+Number(Bn)),0);return Me==="-"?-Hn:Hn},B=Me=>{let{value:Bn}=Me;if(isNaN(Bn)||!isFinite(Bn))return Hn.stringifyNumber(Bn);let zn="";Bn<0&&(zn="-",Bn=Math.abs(Bn));let ni=[Bn%60];return Bn<60?ni.unshift(0):(Bn=Math.round((Bn-ni[0])/60),ni.unshift(Bn%60),Bn>=60&&(Bn=Math.round((Bn-ni[0])/60),ni.unshift(Bn))),zn+ni.map((Me=>Me<10?"0"+String(Me):String(Me))).join(":").replace(/000000\d*$/,"")},_a={identify:Me=>typeof Me=="number",default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,resolve:(Me,Bn,Hn)=>R(Bn,Hn.replace(/_/g,"")),stringify:B},xa={identify:Me=>typeof Me=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*)$/,resolve:(Me,Bn,Hn)=>R(Bn,Hn.replace(/_/g,"")),stringify:B},Ga={identify:Me=>Me instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^(?:([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?)$"),resolve:(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa)=>{Ps&&(Ps=(Ps+"00").substr(1,3));let oa=Date.UTC(Bn,Hn-1,zn,ni||0,Ci||0,ts||0,Ps||0);if(aa&&aa!=="Z"){let Me=R(aa[0],aa.slice(1));Math.abs(Me)<30&&(Me*=60),oa-=6e4*Me}return new Date(oa)},stringify:Me=>{let{value:Bn}=Me;return Bn.toISOString().replace(/((T00:00)?:00)?\.000Z$/,"")}};function t(Me){let Bn=typeof ts<"u"&&ts.env||{};return Me?typeof YAML_SILENCE_DEPRECATION_WARNINGS<"u"?!YAML_SILENCE_DEPRECATION_WARNINGS:!Bn.YAML_SILENCE_DEPRECATION_WARNINGS:typeof YAML_SILENCE_WARNINGS<"u"?!YAML_SILENCE_WARNINGS:!Bn.YAML_SILENCE_WARNINGS}function s(Me,Bn){if(t(!1)){let Hn=typeof ts<"u"&&ts.emitWarning;Hn?Hn(Me,Bn):console.warn(Bn?`${Bn}: ${Me}`:Me)}}function a(Me){if(t(!0)){let Bn=Me.replace(/.*yaml[/\\]/i,"").replace(/\.js$/,"").replace(/\\/g,"/");s(`The endpoint 'yaml/${Bn}' will be removed in a future release.`,"DeprecationWarning")}}var Ha={};function g(Me,Bn){if(!Ha[Me]&&t(!0)){Ha[Me]=!0;let Hn=`The option '${Me}' will be removed in a future release`;Hn+=Bn?`, use '${Bn}' instead.`:".",s(Hn,"DeprecationWarning")}}Me.binary=zn,Me.floatTime=xa,Me.intTime=_a,Me.omap=aa,Me.pairs=ni,Me.set=ca,Me.timestamp=Ga,Me.warn=s,Me.warnFileDeprecation=a,Me.warnOptionDeprecation=g}}),Wg=D({"node_modules/yaml/dist/Schema-88e323a7.js"(Me){"use strict";Ps();var Bn=qg(),Hn=$g(),zn=Yg();function h(Me,Bn,zn){let ni=new Hn.YAMLMap(Me);if(Bn instanceof Map)for(let[Hn,Ci]of Bn)ni.items.push(Me.createPair(Hn,Ci,zn));else if(Bn&&typeof Bn=="object")for(let Hn of Object.keys(Bn))ni.items.push(Me.createPair(Hn,Bn[Hn],zn));return typeof Me.sortMapEntries=="function"&&ni.items.sort(Me.sortMapEntries),ni}var ni={createNode:h,default:!0,nodeClass:Hn.YAMLMap,tag:"tag:yaml.org,2002:map",resolve:Hn.resolveMap};function y(Me,Bn,zn){let ni=new Hn.YAMLSeq(Me);if(Bn&&Bn[Symbol.iterator])for(let Hn of Bn){let Bn=Me.createNode(Hn,zn.wrapScalars,null,zn);ni.items.push(Bn)}return ni}var Ci={createNode:y,default:!0,nodeClass:Hn.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve:Hn.resolveSeq},ts={identify:Me=>typeof Me=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:Hn.resolveString,stringify(Me,Bn,zn,ni){return Bn=Object.assign({actualString:!0},Bn),Hn.stringifyString(Me,Bn,zn,ni)},options:Hn.strOptions},aa=[ni,Ci,ts],M=Me=>typeof Me=="bigint"||Number.isInteger(Me),T=(Me,Bn,zn)=>Hn.intOptions.asBigInt?BigInt(Me):parseInt(Bn,zn);function P(Me,Bn,zn){let{value:ni}=Me;return M(ni)&&ni>=0?zn+ni.toString(Bn):Hn.stringifyNumber(Me)}var oa={identify:Me=>Me==null,createNode:(Me,Bn,zn)=>zn.wrapScalars?new Hn.Scalar(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:Hn.nullOptions,stringify:()=>Hn.nullOptions.nullStr},ca={identify:Me=>typeof Me=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:Me=>Me[0]==="t"||Me[0]==="T",options:Hn.boolOptions,stringify:Me=>{let{value:Bn}=Me;return Bn?Hn.boolOptions.trueStr:Hn.boolOptions.falseStr}},_a={identify:Me=>M(Me)&&Me>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o([0-7]+)$/,resolve:(Me,Bn)=>T(Me,Bn,8),options:Hn.intOptions,stringify:Me=>P(Me,8,"0o")},xa={identify:M,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:Me=>T(Me,Me,10),options:Hn.intOptions,stringify:Hn.stringifyNumber},Ga={identify:Me=>M(Me)&&Me>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x([0-9a-fA-F]+)$/,resolve:(Me,Bn)=>T(Me,Bn,16),options:Hn.intOptions,stringify:Me=>P(Me,16,"0x")},Ha={identify:Me=>typeof Me=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(Me,Bn)=>Bn?NaN:Me[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Hn.stringifyNumber},so={identify:Me=>typeof Me=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:Me=>parseFloat(Me),stringify:Me=>{let{value:Bn}=Me;return Number(Bn).toExponential()}},oo={identify:Me=>typeof Me=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.([0-9]+)|[0-9]+\.([0-9]*))$/,resolve(Me,Bn,zn){let ni=Bn||zn,Ci=new Hn.Scalar(parseFloat(Me));return ni&&ni[ni.length-1]==="0"&&(Ci.minFractionDigits=ni.length),Ci},stringify:Hn.stringifyNumber},Jo=aa.concat([oa,ca,_a,xa,Ga,Ha,so,oo]),a=Me=>typeof Me=="bigint"||Number.isInteger(Me),m=Me=>{let{value:Bn}=Me;return JSON.stringify(Bn)},tc=[ni,Ci,{identify:Me=>typeof Me=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:Hn.resolveString,stringify:m},{identify:Me=>Me==null,createNode:(Me,Bn,zn)=>zn.wrapScalars?new Hn.Scalar(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:m},{identify:Me=>typeof Me=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true|false$/,resolve:Me=>Me==="true",stringify:m},{identify:a,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:Me=>Hn.intOptions.asBigInt?BigInt(Me):parseInt(Me,10),stringify:Me=>{let{value:Bn}=Me;return a(Bn)?Bn.toString():JSON.stringify(Bn)}},{identify:Me=>typeof Me=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:Me=>parseFloat(Me),stringify:m}];tc.scalarFallback=Me=>{throw new SyntaxError(`Unresolved plain scalar ${JSON.stringify(Me)}`)};var u=Me=>{let{value:Bn}=Me;return Bn?Hn.boolOptions.trueStr:Hn.boolOptions.falseStr},p=Me=>typeof Me=="bigint"||Number.isInteger(Me);function L(Me,Bn,zn){let ni=Bn.replace(/_/g,"");if(Hn.intOptions.asBigInt){switch(zn){case 2:ni=`0b${ni}`;break;case 8:ni=`0o${ni}`;break;case 16:ni=`0x${ni}`;break}let Bn=BigInt(ni);return Me==="-"?BigInt(-1)*Bn:Bn}let Ci=parseInt(ni,zn);return Me==="-"?-1*Ci:Ci}function k(Me,Bn,zn){let{value:ni}=Me;if(p(ni)){let Me=ni.toString(Bn);return ni<0?"-"+zn+Me.substr(1):zn+Me}return Hn.stringifyNumber(Me)}var dc=aa.concat([{identify:Me=>Me==null,createNode:(Me,Bn,zn)=>zn.wrapScalars?new Hn.Scalar(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:Hn.nullOptions,stringify:()=>Hn.nullOptions.nullStr},{identify:Me=>typeof Me=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>!0,options:Hn.boolOptions,stringify:u},{identify:Me=>typeof Me=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,resolve:()=>!1,options:Hn.boolOptions,stringify:u},{identify:p,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^([-+]?)0b([0-1_]+)$/,resolve:(Me,Bn,Hn)=>L(Bn,Hn,2),stringify:Me=>k(Me,2,"0b")},{identify:p,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^([-+]?)0([0-7_]+)$/,resolve:(Me,Bn,Hn)=>L(Bn,Hn,8),stringify:Me=>k(Me,8,"0")},{identify:p,default:!0,tag:"tag:yaml.org,2002:int",test:/^([-+]?)([0-9][0-9_]*)$/,resolve:(Me,Bn,Hn)=>L(Bn,Hn,10),stringify:Hn.stringifyNumber},{identify:p,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^([-+]?)0x([0-9a-fA-F_]+)$/,resolve:(Me,Bn,Hn)=>L(Bn,Hn,16),stringify:Me=>k(Me,16,"0x")},{identify:Me=>typeof Me=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(Me,Bn)=>Bn?NaN:Me[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Hn.stringifyNumber},{identify:Me=>typeof Me=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:Me=>parseFloat(Me.replace(/_/g,"")),stringify:Me=>{let{value:Bn}=Me;return Number(Bn).toExponential()}},{identify:Me=>typeof Me=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/,resolve(Me,Bn){let zn=new Hn.Scalar(parseFloat(Me.replace(/_/g,"")));if(Bn){let Me=Bn.replace(/_/g,"");Me[Me.length-1]==="0"&&(zn.minFractionDigits=Me.length)}return zn},stringify:Hn.stringifyNumber}],zn.binary,zn.omap,zn.pairs,zn.set,zn.intTime,zn.floatTime,zn.timestamp),Fc={core:Jo,failsafe:aa,json:tc,yaml11:dc},Jc={binary:zn.binary,bool:ca,float:oo,floatExp:so,floatNaN:Ha,floatTime:zn.floatTime,int:xa,intHex:Ga,intOct:_a,intTime:zn.intTime,map:ni,null:oa,omap:zn.omap,pairs:zn.pairs,seq:Ci,set:zn.set,timestamp:zn.timestamp};function z(Me,Bn,Hn){if(Bn){let Me=Hn.filter((Me=>Me.tag===Bn)),zn=Me.find((Me=>!Me.format))||Me[0];if(!zn)throw new Error(`Tag ${Bn} not found`);return zn}return Hn.find((Bn=>(Bn.identify&&Bn.identify(Me)||Bn.class&&Me instanceof Bn.class)&&!Bn.format))}function ae(Me,Bn,zn){if(Me instanceof Hn.Node)return Me;let{defaultPrefix:ts,onTagObj:Ps,prevObjects:aa,schema:oa,wrapScalars:ca}=zn;Bn&&Bn.startsWith("!!")&&(Bn=ts+Bn.slice(2));let _a=z(Me,Bn,oa.tags);if(!_a){if(typeof Me.toJSON=="function"&&(Me=Me.toJSON()),!Me||typeof Me!="object")return ca?new Hn.Scalar(Me):Me;_a=Me instanceof Map?ni:Me[Symbol.iterator]?Ci:ni}Ps&&(Ps(_a),delete zn.onTagObj);let xa={value:void 0,node:void 0};if(Me&&typeof Me=="object"&&aa){let Bn=aa.get(Me);if(Bn){let Me=new Hn.Alias(Bn);return zn.aliasNodes.push(Me),Me}xa.value=Me,aa.set(Me,xa)}return xa.node=_a.createNode?_a.createNode(zn.schema,Me,zn):ca?new Hn.Scalar(Me):Me,Bn&&xa.node instanceof Hn.Node&&(xa.node.tag=Bn),xa.node}function ue(Me,Bn,Hn,zn){let ni=Me[zn.replace(/\W/g,"")];if(!ni){let Bn=Object.keys(Me).map((Me=>JSON.stringify(Me))).join(", ");throw new Error(`Unknown schema "${zn}"; use one of ${Bn}`)}if(Array.isArray(Hn))for(let Me of Hn)ni=ni.concat(Me);else typeof Hn=="function"&&(ni=Hn(ni.slice()));for(let Me=0;MeJSON.stringify(Me))).join(", ");throw new Error(`Unknown custom tag "${Hn}"; use one of ${Me}`)}ni[Me]=zn}}return ni}var pe=(Me,Bn)=>Me.keyBn.key?1:0,Dp=class{constructor(Me){let{customTags:Bn,merge:Hn,schema:ni,sortMapEntries:Ci,tags:ts}=Me;this.merge=!!Hn,this.name=ni,this.sortMapEntries=Ci===!0?pe:Ci||null,!Bn&&ts&&zn.warnOptionDeprecation("tags","customTags"),this.tags=ue(Fc,Jc,Bn||ts,ni)}createNode(Me,Bn,Hn,zn){let ni={defaultPrefix:Dp.defaultPrefix,schema:this,wrapScalars:Bn},Ci=zn?Object.assign(zn,ni):ni;return ae(Me,Hn,Ci)}createPair(Me,Bn,zn){zn||(zn={wrapScalars:!0});let ni=this.createNode(Me,zn.wrapScalars,null,zn),Ci=this.createNode(Bn,zn.wrapScalars,null,zn);return new Hn.Pair(ni,Ci)}};Bn._defineProperty(Dp,"defaultPrefix",Bn.defaultTagPrefix),Bn._defineProperty(Dp,"defaultTags",Bn.defaultTags),Me.Schema=Dp}}),Kg=D({"node_modules/yaml/dist/Document-9b4560a1.js"(Me){"use strict";Ps();var Bn=qg(),Hn=$g(),zn=Wg(),ni={anchorPrefix:"a",customTags:null,indent:2,indentSeq:!0,keepCstNodes:!1,keepNodeTypes:!0,keepBlobsInJSON:!0,mapAsMap:!1,maxAliasCount:100,prettyErrors:!1,simpleKeys:!1,version:"1.2"},Ci={get binary(){return Hn.binaryOptions},set binary(Me){Object.assign(Hn.binaryOptions,Me)},get bool(){return Hn.boolOptions},set bool(Me){Object.assign(Hn.boolOptions,Me)},get int(){return Hn.intOptions},set int(Me){Object.assign(Hn.intOptions,Me)},get null(){return Hn.nullOptions},set null(Me){Object.assign(Hn.nullOptions,Me)},get str(){return Hn.strOptions},set str(Me){Object.assign(Hn.strOptions,Me)}},ts={"1.0":{schema:"yaml-1.1",merge:!0,tagPrefixes:[{handle:"!",prefix:Bn.defaultTagPrefix},{handle:"!!",prefix:"tag:private.yaml.org,2002:"}]},1.1:{schema:"yaml-1.1",merge:!0,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:Bn.defaultTagPrefix}]},1.2:{schema:"core",merge:!1,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:Bn.defaultTagPrefix}]}};function E(Me,Bn){if((Me.version||Me.options.version)==="1.0"){let Me=Bn.match(/^tag:private\.yaml\.org,2002:([^:/]+)$/);if(Me)return"!"+Me[1];let Hn=Bn.match(/^tag:([a-zA-Z0-9-]+)\.yaml\.org,2002:(.*)/);return Hn?`!${Hn[1]}/${Hn[2]}`:`!${Bn.replace(/^tag:/,"")}`}let Hn=Me.tagPrefixes.find((Me=>Bn.indexOf(Me.prefix)===0));if(!Hn){let zn=Me.getDefaults().tagPrefixes;Hn=zn&&zn.find((Me=>Bn.indexOf(Me.prefix)===0))}if(!Hn)return Bn[0]==="!"?Bn:`!<${Bn}>`;let zn=Bn.substr(Hn.prefix.length).replace(/[!,[\]{}]/g,(Me=>({"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"}[Me])));return Hn.handle+zn}function I(Me,Bn){if(Bn instanceof Hn.Alias)return Hn.Alias;if(Bn.tag){let Hn=Me.filter((Me=>Me.tag===Bn.tag));if(Hn.length>0)return Hn.find((Me=>Me.format===Bn.format))||Hn[0]}let zn,ni;if(Bn instanceof Hn.Scalar){ni=Bn.value;let Hn=Me.filter((Me=>Me.identify&&Me.identify(ni)||Me.class&&ni instanceof Me.class));zn=Hn.find((Me=>Me.format===Bn.format))||Hn.find((Me=>!Me.format))}else ni=Bn,zn=Me.find((Me=>Me.nodeClass&&ni instanceof Me.nodeClass));if(!zn){let Me=ni&&ni.constructor?ni.constructor.name:typeof ni;throw new Error(`Tag not resolved for ${Me} value`)}return zn}function S(Me,Bn,Hn){let{anchors:zn,doc:ni}=Hn,Ci=[],ts=ni.anchors.getName(Me);return ts&&(zn[ts]=Me,Ci.push(`&${ts}`)),Me.tag?Ci.push(E(ni,Me.tag)):Bn.default||Ci.push(E(ni,Bn.tag)),Ci.join(" ")}function M(Me,Bn,zn,ni){let{anchors:Ci,schema:ts}=Bn.doc,Ps;if(!(Me instanceof Hn.Node)){let Bn={aliasNodes:[],onTagObj:Me=>Ps=Me,prevObjects:new Map};Me=ts.createNode(Me,!0,null,Bn);for(let Me of Bn.aliasNodes){Me.source=Me.source.node;let Bn=Ci.getName(Me.source);Bn||(Bn=Ci.newName(),Ci.map[Bn]=Me.source)}}if(Me instanceof Hn.Pair)return Me.toString(Bn,zn,ni);Ps||(Ps=I(ts.tags,Me));let aa=S(Me,Ps,Bn);aa.length>0&&(Bn.indentAtStart=(Bn.indentAtStart||0)+aa.length+1);let oa=typeof Ps.stringify=="function"?Ps.stringify(Me,Bn,zn,ni):Me instanceof Hn.Scalar?Hn.stringifyString(Me,Bn,zn,ni):Me.toString(Bn,zn,ni);return aa?Me instanceof Hn.Scalar||oa[0]==="{"||oa[0]==="["?`${aa} ${oa}`:`${aa}\n${Bn.indent}${oa}`:oa}var aa=class{static validAnchorNode(Me){return Me instanceof Hn.Scalar||Me instanceof Hn.YAMLSeq||Me instanceof Hn.YAMLMap}constructor(Me){Bn._defineProperty(this,"map",Object.create(null)),this.prefix=Me}createAlias(Me,Bn){return this.setAnchor(Me,Bn),new Hn.Alias(Me)}createMergePair(){let Me=new Hn.Merge;for(var Bn=arguments.length,zn=new Array(Bn),ni=0;ni{if(Me instanceof Hn.Alias){if(Me.source instanceof Hn.YAMLMap)return Me}else if(Me instanceof Hn.YAMLMap)return this.createAlias(Me);throw new Error("Merge sources must be Map nodes or their Aliases")})),Me}getName(Me){let{map:Bn}=this;return Object.keys(Bn).find((Hn=>Bn[Hn]===Me))}getNames(){return Object.keys(this.map)}getNode(Me){return this.map[Me]}newName(Me){Me||(Me=this.prefix);let Bn=Object.keys(this.map);for(let Hn=1;;++Hn){let zn=`${Me}${Hn}`;if(!Bn.includes(zn))return zn}}resolveNodes(){let{map:Me,_cstAliases:Bn}=this;Object.keys(Me).forEach((Bn=>{Me[Bn]=Me[Bn].resolved})),Bn.forEach((Me=>{Me.source=Me.source.resolved})),delete this._cstAliases}setAnchor(Me,Bn){if(Me!=null&&!aa.validAnchorNode(Me))throw new Error("Anchors may only be set for Scalar, Seq and Map nodes");if(Bn&&/[\x00-\x19\s,[\]{}]/.test(Bn))throw new Error("Anchor names must not contain whitespace or control characters");let{map:Hn}=this,zn=Me&&Object.keys(Hn).find((Bn=>Hn[Bn]===Me));if(zn)if(Bn)zn!==Bn&&(delete Hn[zn],Hn[Bn]=Me);else return zn;else{if(!Bn){if(!Me)return null;Bn=this.newName()}Hn[Bn]=Me}return Bn}},P=(Me,Bn)=>{if(Me&&typeof Me=="object"){let{tag:zn}=Me;Me instanceof Hn.Collection?(zn&&(Bn[zn]=!0),Me.items.forEach((Me=>P(Me,Bn)))):Me instanceof Hn.Pair?(P(Me.key,Bn),P(Me.value,Bn)):Me instanceof Hn.Scalar&&zn&&(Bn[zn]=!0)}return Bn},C=Me=>Object.keys(P(Me,{}));function q(Me,zn){let ni={before:[],after:[]},Ci,ts=!1;for(let Ps of zn)if(Ps.valueRange){if(Ci!==void 0){let Hn="Document contains trailing content not separated by a ... or --- line";Me.errors.push(new Bn.YAMLSyntaxError(Ps,Hn));break}let zn=Hn.resolveNode(Me,Ps);ts&&(zn.spaceBefore=!0,ts=!1),Ci=zn}else Ps.comment!==null?(Ci===void 0?ni.before:ni.after).push(Ps.comment):Ps.type===Bn.Type.BLANK_LINE&&(ts=!0,Ci===void 0&&ni.before.length>0&&!Me.commentBefore&&(Me.commentBefore=ni.before.join(`\n`),ni.before=[]));if(Me.contents=Ci||null,!Ci)Me.comment=ni.before.concat(ni.after).join(`\n`)||null;else{let Bn=ni.before.join(`\n`);if(Bn){let Me=Ci instanceof Hn.Collection&&Ci.items[0]?Ci.items[0]:Ci;Me.commentBefore=Me.commentBefore?`${Bn}\n${Me.commentBefore}`:Bn}Me.comment=ni.after.join(`\n`)||null}}function R(Me,Hn){let{tagPrefixes:zn}=Me,[ni,Ci]=Hn.parameters;if(!ni||!Ci){let Me="Insufficient parameters given for %TAG directive";throw new Bn.YAMLSemanticError(Hn,Me)}if(zn.some((Me=>Me.handle===ni))){let Me="The %TAG directive must only be given at most once per handle in the same document.";throw new Bn.YAMLSemanticError(Hn,Me)}return{handle:ni,prefix:Ci}}function B(Me,Hn){let[zn]=Hn.parameters;if(Hn.name==="YAML:1.0"&&(zn="1.0"),!zn){let Me="Insufficient parameters given for %YAML directive";throw new Bn.YAMLSemanticError(Hn,Me)}if(!ts[zn]){let ni=`Document will be parsed as YAML ${Me.version||Me.options.version} rather than YAML ${zn}`;Me.warnings.push(new Bn.YAMLWarning(Hn,ni))}return zn}function U(Me,Hn,zn){let ni=[],Ci=!1;for(let zn of Hn){let{comment:Hn,name:ts}=zn;switch(ts){case"TAG":try{Me.tagPrefixes.push(R(Me,zn))}catch(Bn){Me.errors.push(Bn)}Ci=!0;break;case"YAML":case"YAML:1.0":if(Me.version){let Hn="The %YAML directive must only be given at most once per document.";Me.errors.push(new Bn.YAMLSemanticError(zn,Hn))}try{Me.version=B(Me,zn)}catch(Bn){Me.errors.push(Bn)}Ci=!0;break;default:if(ts){let Hn=`YAML only supports %TAG and %YAML directives, and not %${ts}`;Me.warnings.push(new Bn.YAMLWarning(zn,Hn))}}Hn&&ni.push(Hn)}if(zn&&!Ci&&(Me.version||zn.version||Me.options.version)==="1.1"){let u=Me=>{let{handle:Bn,prefix:Hn}=Me;return{handle:Bn,prefix:Hn}};Me.tagPrefixes=zn.tagPrefixes.map(u),Me.version=zn.version}Me.commentBefore=ni.join(`\n`)||null}function f(Me){if(Me instanceof Hn.Collection)return!0;throw new Error("Expected a YAML collection as document contents")}var oa=class{constructor(Me){this.anchors=new aa(Me.anchorPrefix),this.commentBefore=null,this.comment=null,this.contents=null,this.directivesEndMarker=null,this.errors=[],this.options=Me,this.schema=null,this.tagPrefixes=[],this.version=null,this.warnings=[]}add(Me){return f(this.contents),this.contents.add(Me)}addIn(Me,Bn){f(this.contents),this.contents.addIn(Me,Bn)}delete(Me){return f(this.contents),this.contents.delete(Me)}deleteIn(Me){return Hn.isEmptyPath(Me)?this.contents==null?!1:(this.contents=null,!0):(f(this.contents),this.contents.deleteIn(Me))}getDefaults(){return oa.defaults[this.version]||oa.defaults[this.options.version]||{}}get(Me,Bn){return this.contents instanceof Hn.Collection?this.contents.get(Me,Bn):void 0}getIn(Me,Bn){return Hn.isEmptyPath(Me)?!Bn&&this.contents instanceof Hn.Scalar?this.contents.value:this.contents:this.contents instanceof Hn.Collection?this.contents.getIn(Me,Bn):void 0}has(Me){return this.contents instanceof Hn.Collection?this.contents.has(Me):!1}hasIn(Me){return Hn.isEmptyPath(Me)?this.contents!==void 0:this.contents instanceof Hn.Collection?this.contents.hasIn(Me):!1}set(Me,Bn){f(this.contents),this.contents.set(Me,Bn)}setIn(Me,Bn){Hn.isEmptyPath(Me)?this.contents=Bn:(f(this.contents),this.contents.setIn(Me,Bn))}setSchema(Me,Bn){if(!Me&&!Bn&&this.schema)return;typeof Me=="number"&&(Me=Me.toFixed(1)),Me==="1.0"||Me==="1.1"||Me==="1.2"?(this.version?this.version=Me:this.options.version=Me,delete this.options.schema):Me&&typeof Me=="string"&&(this.options.schema=Me),Array.isArray(Bn)&&(this.options.customTags=Bn);let Hn=Object.assign({},this.getDefaults(),this.options);this.schema=new zn.Schema(Hn)}parse(Me,Hn){this.options.keepCstNodes&&(this.cstNode=Me),this.options.keepNodeTypes&&(this.type="DOCUMENT");let{directives:zn=[],contents:ni=[],directivesEndMarker:Ci,error:ts,valueRange:Ps}=Me;if(ts&&(ts.source||(ts.source=this),this.errors.push(ts)),U(this,zn,Hn),Ci&&(this.directivesEndMarker=!0),this.range=Ps?[Ps.start,Ps.end]:null,this.setSchema(),this.anchors._cstAliases=[],q(this,ni),this.anchors.resolveNodes(),this.options.prettyErrors){for(let Me of this.errors)Me instanceof Bn.YAMLError&&Me.makePretty();for(let Me of this.warnings)Me instanceof Bn.YAMLError&&Me.makePretty()}return this}listNonDefaultTags(){return C(this.contents).filter((Me=>Me.indexOf(zn.Schema.defaultPrefix)!==0))}setTagPrefix(Me,Bn){if(Me[0]!=="!"||Me[Me.length-1]!=="!")throw new Error("Handle must start and end with !");if(Bn){let Hn=this.tagPrefixes.find((Bn=>Bn.handle===Me));Hn?Hn.prefix=Bn:this.tagPrefixes.push({handle:Me,prefix:Bn})}else this.tagPrefixes=this.tagPrefixes.filter((Bn=>Bn.handle!==Me))}toJSON(Me,Bn){let{keepBlobsInJSON:zn,mapAsMap:ni,maxAliasCount:Ci}=this.options,ts=zn&&(typeof Me!="string"||!(this.contents instanceof Hn.Scalar)),Ps={doc:this,indentStep:" ",keep:ts,mapAsMap:ts&&!!ni,maxAliasCount:Ci,stringify:M},aa=Object.keys(this.anchors.map);aa.length>0&&(Ps.anchors=new Map(aa.map((Me=>[this.anchors.map[Me],{alias:[],aliasCount:0,count:1}]))));let oa=Hn.toJSON(this.contents,Me,Ps);if(typeof Bn=="function"&&Ps.anchors)for(let{count:Me,res:Hn}of Ps.anchors.values())Bn(Hn,Me);return oa}toString(){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");let Me=this.options.indent;if(!Number.isInteger(Me)||Me<=0){let Bn=JSON.stringify(Me);throw new Error(`"indent" option must be a positive integer, not ${Bn}`)}this.setSchema();let Bn=[],zn=!1;if(this.version){let Me="%YAML 1.2";this.schema.name==="yaml-1.1"&&(this.version==="1.0"?Me="%YAML:1.0":this.version==="1.1"&&(Me="%YAML 1.1")),Bn.push(Me),zn=!0}let ni=this.listNonDefaultTags();this.tagPrefixes.forEach((Me=>{let{handle:Hn,prefix:Ci}=Me;ni.some((Me=>Me.indexOf(Ci)===0))&&(Bn.push(`%TAG ${Hn} ${Ci}`),zn=!0)})),(zn||this.directivesEndMarker)&&Bn.push("---"),this.commentBefore&&((zn||!this.directivesEndMarker)&&Bn.unshift(""),Bn.unshift(this.commentBefore.replace(/^/gm,"#")));let Ci={anchors:Object.create(null),doc:this,indent:"",indentStep:" ".repeat(Me),stringify:M},ts=!1,Ps=null;if(this.contents){this.contents instanceof Hn.Node&&(this.contents.spaceBefore&&(zn||this.directivesEndMarker)&&Bn.push(""),this.contents.commentBefore&&Bn.push(this.contents.commentBefore.replace(/^/gm,"#")),Ci.forceBlockIndent=!!this.comment,Ps=this.contents.comment);let Me=Ps?null:()=>ts=!0,ni=M(this.contents,Ci,(()=>Ps=null),Me);Bn.push(Hn.addComment(ni,"",Ps))}else this.contents!==void 0&&Bn.push(M(this.contents,Ci));return this.comment&&((!ts||Ps)&&Bn[Bn.length-1]!==""&&Bn.push(""),Bn.push(this.comment.replace(/^/gm,"#"))),Bn.join(`\n`)+`\n`}};Bn._defineProperty(oa,"defaults",ts),Me.Document=oa,Me.defaultOptions=ni,Me.scalarOptions=Ci}}),zg=D({"node_modules/yaml/dist/index.js"(Me){"use strict";Ps();var Bn=Jg(),Hn=Kg(),zn=Wg(),ni=qg(),Ci=Yg();$g();function y(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,ni=arguments.length>2?arguments[2]:void 0;ni===void 0&&typeof Bn=="string"&&(ni=Bn,Bn=!0);let Ci=Object.assign({},Hn.Document.defaults[Hn.defaultOptions.version],Hn.defaultOptions);return new zn.Schema(Ci).createNode(Me,Bn,ni)}var ts=class extends Hn.Document{constructor(Me){super(Object.assign({},Hn.defaultOptions,Me))}};function I(Me,Hn){let zn=[],ni;for(let Ci of Bn.parse(Me)){let Me=new ts(Hn);Me.parse(Ci,ni),zn.push(Me),ni=Me}return zn}function S(Me,Hn){let zn=Bn.parse(Me),Ci=new ts(Hn).parse(zn[0]);if(zn.length>1){let Me="Source contains multiple documents; please use YAML.parseAllDocuments()";Ci.errors.unshift(new ni.YAMLSemanticError(zn[1],Me))}return Ci}function M(Me,Bn){let Hn=S(Me,Bn);if(Hn.warnings.forEach((Me=>Ci.warn(Me))),Hn.errors.length>0)throw Hn.errors[0];return Hn.toJSON()}function T(Me,Bn){let Hn=new ts(Bn);return Hn.contents=Me,String(Hn)}var aa={createNode:y,defaultOptions:Hn.defaultOptions,Document:ts,parse:M,parseAllDocuments:I,parseCST:Bn.parse,parseDocument:S,scalarOptions:Hn.scalarOptions,stringify:T};Me.YAML=aa}}),Xg=D({"node_modules/yaml/index.js"(Me,Bn){Ps(),Bn.exports=zg().YAML}}),Zg=D({"node_modules/yaml/dist/util.js"(Me){"use strict";Ps();var Bn=$g(),Hn=qg();Me.findPair=Bn.findPair,Me.parseMap=Bn.resolveMap,Me.parseSeq=Bn.resolveSeq,Me.stringifyNumber=Bn.stringifyNumber,Me.stringifyString=Bn.stringifyString,Me.toJSON=Bn.toJSON,Me.Type=Hn.Type,Me.YAMLError=Hn.YAMLError,Me.YAMLReferenceError=Hn.YAMLReferenceError,Me.YAMLSemanticError=Hn.YAMLSemanticError,Me.YAMLSyntaxError=Hn.YAMLSyntaxError,Me.YAMLWarning=Hn.YAMLWarning}}),f_=D({"node_modules/yaml/util.js"(Me){Ps();var Bn=Zg();Me.findPair=Bn.findPair,Me.toJSON=Bn.toJSON,Me.parseMap=Bn.parseMap,Me.parseSeq=Bn.parseSeq,Me.stringifyNumber=Bn.stringifyNumber,Me.stringifyString=Bn.stringifyString,Me.Type=Bn.Type,Me.YAMLError=Bn.YAMLError,Me.YAMLReferenceError=Bn.YAMLReferenceError,Me.YAMLSemanticError=Bn.YAMLSemanticError,Me.YAMLSyntaxError=Bn.YAMLSyntaxError,Me.YAMLWarning=Bn.YAMLWarning}}),Z_=D({"node_modules/yaml-unist-parser/lib/yaml.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=Xg();Me.Document=Bn.Document;var Hn=Xg();Me.parseCST=Hn.parseCST;var zn=f_();Me.YAMLError=zn.YAMLError,Me.YAMLSyntaxError=zn.YAMLSyntaxError,Me.YAMLSemanticError=zn.YAMLSemanticError}}),ey=D({"node_modules/yaml-unist-parser/lib/parse.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=so(),Hn=tc(),zn=Fc(),ni=Jc(),Ci=Rg(),ts=Xf(),aa=Og(),oa=Mg(),ca=jg(),_a=Ug(),xa=Gg(),Ga=Hg(),Ha=Z_();function q(Me){var Ps=Ha.parseCST(Me);_a.addOrigRange(Ps);for(var so=Ps.map((function(Me){return new Ha.Document({merge:!1,keepCstNodes:!0}).parse(Me)})),oo=new Bn.default(Me),Jo=[],tc={text:Me,locator:oo,comments:Jo,transformOffset:function(Me){return oa.transformOffset(Me,tc)},transformRange:function(Me){return ca.transformRange(Me,tc)},transformNode:function(Me){return Ci.transformNode(Me,tc)},transformContent:function(Me){return ts.transformContent(Me,tc)}},dc=0,Fc=so;dc{"use strict";var zn=Object.getOwnPropertyNames;var __commonJS=(Me,Bn)=>function __require(){return Bn||(0,Me[zn(Me)[0]])((Bn={exports:{}}).exports,Bn),Bn.exports};var ni=__commonJS({"node_modules/import-fresh/node_modules/resolve-from/index.js"(Me,Bn){"use strict";var zn=Hn(16928);var ni=Hn(73339);var Ci=Hn(79896);var resolveFrom=(Me,Bn,Hn)=>{if(typeof Me!=="string"){throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof Me}\``)}if(typeof Bn!=="string"){throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof Bn}\``)}try{Me=Ci.realpathSync(Me)}catch(Bn){if(Bn.code==="ENOENT"){Me=zn.resolve(Me)}else if(Hn){return null}else{throw Bn}}const ts=zn.join(Me,"noop.js");const resolveFileName=()=>ni._resolveFilename(Bn,{id:ts,filename:ts,paths:ni._nodeModulePaths(Me)});if(Hn){try{return resolveFileName()}catch(Me){return null}}return resolveFileName()};Bn.exports=(Me,Bn)=>resolveFrom(Me,Bn);Bn.exports.silent=(Me,Bn)=>resolveFrom(Me,Bn,true)}});var Ci=__commonJS({"scripts/build/shims/parent-module.cjs"(Me,Bn){"use strict";Bn.exports=Me=>Me}});var ts=__commonJS({"node_modules/import-fresh/index.js"(Me,Bn){"use strict";var zn=Hn(16928);var ts=ni();var Ps=Ci();Bn.exports=Me=>{if(typeof Me!=="string"){throw new TypeError("Expected a string")}const Bn=Ps(__filename);const Hn=Bn?zn.dirname(Bn):__dirname;const ni=ts(Hn,Me);const Ci=require.cache[ni];if(Ci&&Ci.parent){let Me=Ci.parent.children.length;while(Me--){if(Ci.parent.children[Me].id===ni){Ci.parent.children.splice(Me,1)}}}delete require.cache[ni];const aa=require.cache[Bn];return aa===void 0?require(ni):aa.require(ni)}}});var Ps=__commonJS({"node_modules/is-arrayish/index.js"(Me,Bn){"use strict";Bn.exports=function isArrayish(Me){if(!Me){return false}return Me instanceof Array||Array.isArray(Me)||Me.length>=0&&Me.splice instanceof Function}}});var aa=__commonJS({"node_modules/error-ex/index.js"(Me,Bn){"use strict";var zn=Hn(39023);var ni=Ps();var Ci=function errorEx2(Me,Bn){if(!Me||Me.constructor!==String){Bn=Me||{};Me=Error.name}var Hn=function ErrorEXError(zn){if(!this){return new ErrorEXError(zn)}zn=zn instanceof Error?zn.message:zn||this.message;Error.call(this,zn);Error.captureStackTrace(this,Hn);this.name=Me;Object.defineProperty(this,"message",{configurable:true,enumerable:false,get:function(){var Me=zn.split(/\r?\n/g);for(var Hn in Bn){if(!Bn.hasOwnProperty(Hn)){continue}var Ci=Bn[Hn];if("message"in Ci){Me=Ci.message(this[Hn],Me)||Me;if(!ni(Me)){Me=[Me]}}}return Me.join("\n")},set:function(Me){zn=Me}});var Ci=null;var ts=Object.getOwnPropertyDescriptor(this,"stack");var Ps=ts.get;var aa=ts.value;delete ts.value;delete ts.writable;ts.set=function(Me){Ci=Me};ts.get=function(){var Me=(Ci||(Ps?Ps.call(this):aa)).split(/\r?\n+/g);if(!Ci){Me[0]=this.name+": "+this.message}var Hn=1;for(var zn in Bn){if(!Bn.hasOwnProperty(zn)){continue}var ni=Bn[zn];if("line"in ni){var ts=ni.line(this[zn]);if(ts){Me.splice(Hn++,0," "+ts)}}if("stack"in ni){ni.stack(this[zn],Me)}}return Me.join("\n")};Object.defineProperty(this,"stack",ts)};if(Object.setPrototypeOf){Object.setPrototypeOf(Hn.prototype,Error.prototype);Object.setPrototypeOf(Hn,Error)}else{zn.inherits(Hn,Error)}return Hn};Ci.append=function(Me,Bn){return{message:function(Hn,zn){Hn=Hn||Bn;if(Hn){zn[0]+=" "+Me.replace("%s",Hn.toString())}return zn}}};Ci.line=function(Me,Bn){return{line:function(Hn){Hn=Hn||Bn;if(Hn){return Me.replace("%s",Hn.toString())}return null}}};Bn.exports=Ci}});var oa=__commonJS({"node_modules/json-parse-even-better-errors/index.js"(Me,Bn){"use strict";var hexify=Me=>{const Bn=Me.charCodeAt(0).toString(16).toUpperCase();return"0x"+(Bn.length%2?"0":"")+Bn};var parseError=(Me,Bn,Hn)=>{if(!Bn){return{message:Me.message+" while parsing empty string",position:0}}const zn=Me.message.match(/^Unexpected token (.) .*position\s+(\d+)/i);const ni=zn?+zn[2]:Me.message.match(/^Unexpected end of JSON.*/i)?Bn.length-1:null;const Ci=zn?Me.message.replace(/^Unexpected token ./,`Unexpected token ${JSON.stringify(zn[1])} (${hexify(zn[1])})`):Me.message;if(ni!==null&&ni!==void 0){const Me=ni<=Hn?0:ni-Hn;const zn=ni+Hn>=Bn.length?Bn.length:ni+Hn;const ts=(Me===0?"":"...")+Bn.slice(Me,zn)+(zn===Bn.length?"":"...");const Ps=Bn===ts?"":"near ";return{message:Ci+` while parsing ${Ps}${JSON.stringify(ts)}`,position:ni}}else{return{message:Ci+` while parsing '${Bn.slice(0,Hn*2)}'`,position:0}}};var Hn=class extends SyntaxError{constructor(Me,Bn,Hn,zn){Hn=Hn||20;const ni=parseError(Me,Bn,Hn);super(ni.message);Object.assign(this,ni);this.code="EJSONPARSE";this.systemError=Me;Error.captureStackTrace(this,zn||this.constructor)}get name(){return this.constructor.name}set name(Me){}get[Symbol.toStringTag](){return this.constructor.name}};var zn=Symbol.for("indent");var ni=Symbol.for("newline");var Ci=/^\s*[{\[]((?:\r?\n)+)([\s\t]*)/;var ts=/^(?:\{\}|\[\])((?:\r?\n)+)?$/;var parseJson=(Me,Bn,Ps)=>{const aa=stripBOM(Me);Ps=Ps||20;try{const[,Me="\n",Hn=" "]=aa.match(ts)||aa.match(Ci)||[,"",""];const Ps=JSON.parse(aa,Bn);if(Ps&&typeof Ps==="object"){Ps[ni]=Me;Ps[zn]=Hn}return Ps}catch(Bn){if(typeof Me!=="string"&&!Buffer.isBuffer(Me)){const Hn=Array.isArray(Me)&&Me.length===0;throw Object.assign(new TypeError(`Cannot parse ${Hn?"an empty array":String(Me)}`),{code:"EJSONPARSE",systemError:Bn})}throw new Hn(Bn,aa,Ps,parseJson)}};var stripBOM=Me=>String(Me).replace(/^\uFEFF/,"");Bn.exports=parseJson;parseJson.JSONParseError=Hn;parseJson.noExceptions=(Me,Bn)=>{try{return JSON.parse(stripBOM(Me),Bn)}catch(Me){}}}});var ca=__commonJS({"node_modules/parse-json/node_modules/lines-and-columns/build/index.js"(Me){"use strict";Me.__esModule=true;Me.LinesAndColumns=void 0;var Bn="\n";var Hn="\r";var zn=function(){function LinesAndColumns2(Me){this.string=Me;var zn=[0];for(var ni=0;nithis.string.length){return null}var Bn=0;var Hn=this.offsets;while(Hn[Bn+1]<=Me){Bn++}var zn=Me-Hn[Bn];return{line:Bn,column:zn}};LinesAndColumns2.prototype.indexForLocation=function(Me){var Bn=Me.line,Hn=Me.column;if(Bn<0||Bn>=this.offsets.length){return null}if(Hn<0||Hn>this.lengthOfLine(Bn)){return null}return this.offsets[Bn]+Hn};LinesAndColumns2.prototype.lengthOfLine=function(Me){var Bn=this.offsets[Me];var Hn=Me===this.offsets.length-1?this.string.length:this.offsets[Me+1];return Hn-Bn};return LinesAndColumns2}();Me.LinesAndColumns=zn;Me["default"]=zn}});var _a=__commonJS({"node_modules/js-tokens/index.js"(Me){Object.defineProperty(Me,"__esModule",{value:true});Me.default=/((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g;Me.matchToToken=function(Me){var Bn={type:"invalid",value:Me[0],closed:void 0};if(Me[1])Bn.type="string",Bn.closed=!!(Me[3]||Me[4]);else if(Me[5])Bn.type="comment";else if(Me[6])Bn.type="comment",Bn.closed=!!Me[7];else if(Me[8])Bn.type="regex";else if(Me[9])Bn.type="number";else if(Me[10])Bn.type="name";else if(Me[11])Bn.type="punctuator";else if(Me[12])Bn.type="whitespace";return Bn}}});var xa=__commonJS({"node_modules/@babel/helper-validator-identifier/lib/identifier.js"(Me){"use strict";Object.defineProperty(Me,"__esModule",{value:true});Me.isIdentifierChar=isIdentifierChar;Me.isIdentifierName=isIdentifierName;Me.isIdentifierStart=isIdentifierStart;var Bn="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ";var Hn="‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-ᫎᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_";var zn=new RegExp("["+Bn+"]");var ni=new RegExp("["+Bn+Hn+"]");Bn=Hn=null;var Ci=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,4026,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,757,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,3104,541,1507,4938,6,4191];var ts=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,81,2,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,9,5351,0,7,14,13835,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,983,6,110,6,6,9,4759,9,787719,239];function isInAstralSet(Me,Bn){let Hn=65536;for(let zn=0,ni=Bn.length;znMe)return false;Hn+=Bn[zn+1];if(Hn>=Me)return true}return false}function isIdentifierStart(Me){if(Me<65)return Me===36;if(Me<=90)return true;if(Me<97)return Me===95;if(Me<=122)return true;if(Me<=65535){return Me>=170&&zn.test(String.fromCharCode(Me))}return isInAstralSet(Me,Ci)}function isIdentifierChar(Me){if(Me<48)return Me===36;if(Me<58)return true;if(Me<65)return false;if(Me<=90)return true;if(Me<97)return Me===95;if(Me<=122)return true;if(Me<=65535){return Me>=170&&ni.test(String.fromCharCode(Me))}return isInAstralSet(Me,Ci)||isInAstralSet(Me,ts)}function isIdentifierName(Me){let Bn=true;for(let Hn=0;Hn1){ni-=1}}return[ni*360,Ci*100,oa*100]};Ci.rgb.hwb=function(Me){var Bn=Me[0];var Hn=Me[1];var zn=Me[2];var ni=Ci.rgb.hsl(Me)[0];var ts=1/255*Math.min(Bn,Math.min(Hn,zn));zn=1-1/255*Math.max(Bn,Math.max(Hn,zn));return[ni,ts*100,zn*100]};Ci.rgb.cmyk=function(Me){var Bn=Me[0]/255;var Hn=Me[1]/255;var zn=Me[2]/255;var ni;var Ci;var ts;var Ps;Ps=Math.min(1-Bn,1-Hn,1-zn);ni=(1-Bn-Ps)/(1-Ps)||0;Ci=(1-Hn-Ps)/(1-Ps)||0;ts=(1-zn-Ps)/(1-Ps)||0;return[ni*100,Ci*100,ts*100,Ps*100]};function comparativeDistance(Me,Bn){return Math.pow(Me[0]-Bn[0],2)+Math.pow(Me[1]-Bn[1],2)+Math.pow(Me[2]-Bn[2],2)}Ci.rgb.keyword=function(Me){var Bn=zn[Me];if(Bn){return Bn}var ni=Infinity;var Ci;for(var ts in Hn){if(Hn.hasOwnProperty(ts)){var Ps=Hn[ts];var aa=comparativeDistance(Me,Ps);if(aa.04045?Math.pow((Bn+.055)/1.055,2.4):Bn/12.92;Hn=Hn>.04045?Math.pow((Hn+.055)/1.055,2.4):Hn/12.92;zn=zn>.04045?Math.pow((zn+.055)/1.055,2.4):zn/12.92;var ni=Bn*.4124+Hn*.3576+zn*.1805;var Ci=Bn*.2126+Hn*.7152+zn*.0722;var ts=Bn*.0193+Hn*.1192+zn*.9505;return[ni*100,Ci*100,ts*100]};Ci.rgb.lab=function(Me){var Bn=Ci.rgb.xyz(Me);var Hn=Bn[0];var zn=Bn[1];var ni=Bn[2];var ts;var Ps;var aa;Hn/=95.047;zn/=100;ni/=108.883;Hn=Hn>.008856?Math.pow(Hn,1/3):7.787*Hn+16/116;zn=zn>.008856?Math.pow(zn,1/3):7.787*zn+16/116;ni=ni>.008856?Math.pow(ni,1/3):7.787*ni+16/116;ts=116*zn-16;Ps=500*(Hn-zn);aa=200*(zn-ni);return[ts,Ps,aa]};Ci.hsl.rgb=function(Me){var Bn=Me[0]/360;var Hn=Me[1]/100;var zn=Me[2]/100;var ni;var Ci;var ts;var Ps;var aa;if(Hn===0){aa=zn*255;return[aa,aa,aa]}if(zn<.5){Ci=zn*(1+Hn)}else{Ci=zn+Hn-zn*Hn}ni=2*zn-Ci;Ps=[0,0,0];for(var oa=0;oa<3;oa++){ts=Bn+1/3*-(oa-1);if(ts<0){ts++}if(ts>1){ts--}if(6*ts<1){aa=ni+(Ci-ni)*6*ts}else if(2*ts<1){aa=Ci}else if(3*ts<2){aa=ni+(Ci-ni)*(2/3-ts)*6}else{aa=ni}Ps[oa]=aa*255}return Ps};Ci.hsl.hsv=function(Me){var Bn=Me[0];var Hn=Me[1]/100;var zn=Me[2]/100;var ni=Hn;var Ci=Math.max(zn,.01);var ts;var Ps;zn*=2;Hn*=zn<=1?zn:2-zn;ni*=Ci<=1?Ci:2-Ci;Ps=(zn+Hn)/2;ts=zn===0?2*ni/(Ci+ni):2*Hn/(zn+Hn);return[Bn,ts*100,Ps*100]};Ci.hsv.rgb=function(Me){var Bn=Me[0]/60;var Hn=Me[1]/100;var zn=Me[2]/100;var ni=Math.floor(Bn)%6;var Ci=Bn-Math.floor(Bn);var ts=255*zn*(1-Hn);var Ps=255*zn*(1-Hn*Ci);var aa=255*zn*(1-Hn*(1-Ci));zn*=255;switch(ni){case 0:return[zn,aa,ts];case 1:return[Ps,zn,ts];case 2:return[ts,zn,aa];case 3:return[ts,Ps,zn];case 4:return[aa,ts,zn];case 5:return[zn,ts,Ps]}};Ci.hsv.hsl=function(Me){var Bn=Me[0];var Hn=Me[1]/100;var zn=Me[2]/100;var ni=Math.max(zn,.01);var Ci;var ts;var Ps;Ps=(2-Hn)*zn;Ci=(2-Hn)*ni;ts=Hn*ni;ts/=Ci<=1?Ci:2-Ci;ts=ts||0;Ps/=2;return[Bn,ts*100,Ps*100]};Ci.hwb.rgb=function(Me){var Bn=Me[0]/360;var Hn=Me[1]/100;var zn=Me[2]/100;var ni=Hn+zn;var Ci;var ts;var Ps;var aa;if(ni>1){Hn/=ni;zn/=ni}Ci=Math.floor(6*Bn);ts=1-zn;Ps=6*Bn-Ci;if((Ci&1)!==0){Ps=1-Ps}aa=Hn+Ps*(ts-Hn);var oa;var ca;var _a;switch(Ci){default:case 6:case 0:oa=ts;ca=aa;_a=Hn;break;case 1:oa=aa;ca=ts;_a=Hn;break;case 2:oa=Hn;ca=ts;_a=aa;break;case 3:oa=Hn;ca=aa;_a=ts;break;case 4:oa=aa;ca=Hn;_a=ts;break;case 5:oa=ts;ca=Hn;_a=aa;break}return[oa*255,ca*255,_a*255]};Ci.cmyk.rgb=function(Me){var Bn=Me[0]/100;var Hn=Me[1]/100;var zn=Me[2]/100;var ni=Me[3]/100;var Ci;var ts;var Ps;Ci=1-Math.min(1,Bn*(1-ni)+ni);ts=1-Math.min(1,Hn*(1-ni)+ni);Ps=1-Math.min(1,zn*(1-ni)+ni);return[Ci*255,ts*255,Ps*255]};Ci.xyz.rgb=function(Me){var Bn=Me[0]/100;var Hn=Me[1]/100;var zn=Me[2]/100;var ni;var Ci;var ts;ni=Bn*3.2406+Hn*-1.5372+zn*-.4986;Ci=Bn*-.9689+Hn*1.8758+zn*.0415;ts=Bn*.0557+Hn*-.204+zn*1.057;ni=ni>.0031308?1.055*Math.pow(ni,1/2.4)-.055:ni*12.92;Ci=Ci>.0031308?1.055*Math.pow(Ci,1/2.4)-.055:Ci*12.92;ts=ts>.0031308?1.055*Math.pow(ts,1/2.4)-.055:ts*12.92;ni=Math.min(Math.max(0,ni),1);Ci=Math.min(Math.max(0,Ci),1);ts=Math.min(Math.max(0,ts),1);return[ni*255,Ci*255,ts*255]};Ci.xyz.lab=function(Me){var Bn=Me[0];var Hn=Me[1];var zn=Me[2];var ni;var Ci;var ts;Bn/=95.047;Hn/=100;zn/=108.883;Bn=Bn>.008856?Math.pow(Bn,1/3):7.787*Bn+16/116;Hn=Hn>.008856?Math.pow(Hn,1/3):7.787*Hn+16/116;zn=zn>.008856?Math.pow(zn,1/3):7.787*zn+16/116;ni=116*Hn-16;Ci=500*(Bn-Hn);ts=200*(Hn-zn);return[ni,Ci,ts]};Ci.lab.xyz=function(Me){var Bn=Me[0];var Hn=Me[1];var zn=Me[2];var ni;var Ci;var ts;Ci=(Bn+16)/116;ni=Hn/500+Ci;ts=Ci-zn/200;var Ps=Math.pow(Ci,3);var aa=Math.pow(ni,3);var oa=Math.pow(ts,3);Ci=Ps>.008856?Ps:(Ci-16/116)/7.787;ni=aa>.008856?aa:(ni-16/116)/7.787;ts=oa>.008856?oa:(ts-16/116)/7.787;ni*=95.047;Ci*=100;ts*=108.883;return[ni,Ci,ts]};Ci.lab.lch=function(Me){var Bn=Me[0];var Hn=Me[1];var zn=Me[2];var ni;var Ci;var ts;ni=Math.atan2(zn,Hn);Ci=ni*360/2/Math.PI;if(Ci<0){Ci+=360}ts=Math.sqrt(Hn*Hn+zn*zn);return[Bn,ts,Ci]};Ci.lch.lab=function(Me){var Bn=Me[0];var Hn=Me[1];var zn=Me[2];var ni;var Ci;var ts;ts=zn/360*2*Math.PI;ni=Hn*Math.cos(ts);Ci=Hn*Math.sin(ts);return[Bn,ni,Ci]};Ci.rgb.ansi16=function(Me){var Bn=Me[0];var Hn=Me[1];var zn=Me[2];var ni=1 in arguments?arguments[1]:Ci.rgb.hsv(Me)[2];ni=Math.round(ni/50);if(ni===0){return 30}var ts=30+(Math.round(zn/255)<<2|Math.round(Hn/255)<<1|Math.round(Bn/255));if(ni===2){ts+=60}return ts};Ci.hsv.ansi16=function(Me){return Ci.rgb.ansi16(Ci.hsv.rgb(Me),Me[2])};Ci.rgb.ansi256=function(Me){var Bn=Me[0];var Hn=Me[1];var zn=Me[2];if(Bn===Hn&&Hn===zn){if(Bn<8){return 16}if(Bn>248){return 231}return Math.round((Bn-8)/247*24)+232}var ni=16+36*Math.round(Bn/255*5)+6*Math.round(Hn/255*5)+Math.round(zn/255*5);return ni};Ci.ansi16.rgb=function(Me){var Bn=Me%10;if(Bn===0||Bn===7){if(Me>50){Bn+=3.5}Bn=Bn/10.5*255;return[Bn,Bn,Bn]}var Hn=(~~(Me>50)+1)*.5;var zn=(Bn&1)*Hn*255;var ni=(Bn>>1&1)*Hn*255;var Ci=(Bn>>2&1)*Hn*255;return[zn,ni,Ci]};Ci.ansi256.rgb=function(Me){if(Me>=232){var Bn=(Me-232)*10+8;return[Bn,Bn,Bn]}Me-=16;var Hn;var zn=Math.floor(Me/36)/5*255;var ni=Math.floor((Hn=Me%36)/6)/5*255;var Ci=Hn%6/5*255;return[zn,ni,Ci]};Ci.rgb.hex=function(Me){var Bn=((Math.round(Me[0])&255)<<16)+((Math.round(Me[1])&255)<<8)+(Math.round(Me[2])&255);var Hn=Bn.toString(16).toUpperCase();return"000000".substring(Hn.length)+Hn};Ci.hex.rgb=function(Me){var Bn=Me.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!Bn){return[0,0,0]}var Hn=Bn[0];if(Bn[0].length===3){Hn=Hn.split("").map((function(Me){return Me+Me})).join("")}var zn=parseInt(Hn,16);var ni=zn>>16&255;var Ci=zn>>8&255;var ts=zn&255;return[ni,Ci,ts]};Ci.rgb.hcg=function(Me){var Bn=Me[0]/255;var Hn=Me[1]/255;var zn=Me[2]/255;var ni=Math.max(Math.max(Bn,Hn),zn);var Ci=Math.min(Math.min(Bn,Hn),zn);var ts=ni-Ci;var Ps;var aa;if(ts<1){Ps=Ci/(1-ts)}else{Ps=0}if(ts<=0){aa=0}else if(ni===Bn){aa=(Hn-zn)/ts%6}else if(ni===Hn){aa=2+(zn-Bn)/ts}else{aa=4+(Bn-Hn)/ts+4}aa/=6;aa%=1;return[aa*360,ts*100,Ps*100]};Ci.hsl.hcg=function(Me){var Bn=Me[1]/100;var Hn=Me[2]/100;var zn=1;var ni=0;if(Hn<.5){zn=2*Bn*Hn}else{zn=2*Bn*(1-Hn)}if(zn<1){ni=(Hn-.5*zn)/(1-zn)}return[Me[0],zn*100,ni*100]};Ci.hsv.hcg=function(Me){var Bn=Me[1]/100;var Hn=Me[2]/100;var zn=Bn*Hn;var ni=0;if(zn<1){ni=(Hn-zn)/(1-zn)}return[Me[0],zn*100,ni*100]};Ci.hcg.rgb=function(Me){var Bn=Me[0]/360;var Hn=Me[1]/100;var zn=Me[2]/100;if(Hn===0){return[zn*255,zn*255,zn*255]}var ni=[0,0,0];var Ci=Bn%1*6;var ts=Ci%1;var Ps=1-ts;var aa=0;switch(Math.floor(Ci)){case 0:ni[0]=1;ni[1]=ts;ni[2]=0;break;case 1:ni[0]=Ps;ni[1]=1;ni[2]=0;break;case 2:ni[0]=0;ni[1]=1;ni[2]=ts;break;case 3:ni[0]=0;ni[1]=Ps;ni[2]=1;break;case 4:ni[0]=ts;ni[1]=0;ni[2]=1;break;default:ni[0]=1;ni[1]=0;ni[2]=Ps}aa=(1-Hn)*zn;return[(Hn*ni[0]+aa)*255,(Hn*ni[1]+aa)*255,(Hn*ni[2]+aa)*255]};Ci.hcg.hsv=function(Me){var Bn=Me[1]/100;var Hn=Me[2]/100;var zn=Bn+Hn*(1-Bn);var ni=0;if(zn>0){ni=Bn/zn}return[Me[0],ni*100,zn*100]};Ci.hcg.hsl=function(Me){var Bn=Me[1]/100;var Hn=Me[2]/100;var zn=Hn*(1-Bn)+.5*Bn;var ni=0;if(zn>0&&zn<.5){ni=Bn/(2*zn)}else if(zn>=.5&&zn<1){ni=Bn/(2*(1-zn))}return[Me[0],ni*100,zn*100]};Ci.hcg.hwb=function(Me){var Bn=Me[1]/100;var Hn=Me[2]/100;var zn=Bn+Hn*(1-Bn);return[Me[0],(zn-Bn)*100,(1-zn)*100]};Ci.hwb.hcg=function(Me){var Bn=Me[1]/100;var Hn=Me[2]/100;var zn=1-Hn;var ni=zn-Bn;var Ci=0;if(ni<1){Ci=(zn-ni)/(1-ni)}return[Me[0],ni*100,Ci*100]};Ci.apple.rgb=function(Me){return[Me[0]/65535*255,Me[1]/65535*255,Me[2]/65535*255]};Ci.rgb.apple=function(Me){return[Me[0]/255*65535,Me[1]/255*65535,Me[2]/255*65535]};Ci.gray.rgb=function(Me){return[Me[0]/100*255,Me[0]/100*255,Me[0]/100*255]};Ci.gray.hsl=Ci.gray.hsv=function(Me){return[0,0,Me[0]]};Ci.gray.hwb=function(Me){return[0,100,Me[0]]};Ci.gray.cmyk=function(Me){return[0,0,0,Me[0]]};Ci.gray.lab=function(Me){return[Me[0],0,0]};Ci.gray.hex=function(Me){var Bn=Math.round(Me[0]/100*255)&255;var Hn=(Bn<<16)+(Bn<<8)+Bn;var zn=Hn.toString(16).toUpperCase();return"000000".substring(zn.length)+zn};Ci.rgb.gray=function(Me){var Bn=(Me[0]+Me[1]+Me[2])/3;return[Bn/255*100]}}});var tc=__commonJS({"node_modules/color-convert/route.js"(Me,Bn){var Hn=Jo();function buildGraph(){var Me={};var Bn=Object.keys(Hn);for(var zn=Bn.length,ni=0;ni1){Bn=Array.prototype.slice.call(arguments)}return Me(Bn)};if("conversion"in Me){wrappedFn.conversion=Me.conversion}return wrappedFn}function wrapRounded(Me){var wrappedFn=function(Bn){if(Bn===void 0||Bn===null){return Bn}if(arguments.length>1){Bn=Array.prototype.slice.call(arguments)}var Hn=Me(Bn);if(typeof Hn==="object"){for(var zn=Hn.length,ni=0;nifunction(){const zn=Me.apply(Hn,arguments);return`[${zn+Bn}m`};var wrapAnsi256=(Me,Bn)=>function(){const zn=Me.apply(Hn,arguments);return`[${38+Bn};5;${zn}m`};var wrapAnsi16m=(Me,Bn)=>function(){const zn=Me.apply(Hn,arguments);return`[${38+Bn};2;${zn[0]};${zn[1]};${zn[2]}m`};function assembleStyles(){const Me=new Map;const Bn={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Bn.color.grey=Bn.color.gray;for(const Hn of Object.keys(Bn)){const zn=Bn[Hn];for(const Hn of Object.keys(zn)){const ni=zn[Hn];Bn[Hn]={open:`[${ni[0]}m`,close:`[${ni[1]}m`};zn[Hn]=Bn[Hn];Me.set(ni[0],ni[1])}Object.defineProperty(Bn,Hn,{value:zn,enumerable:false});Object.defineProperty(Bn,"codes",{value:Me,enumerable:false})}const ansi2ansi=Me=>Me;const rgb2rgb=(Me,Bn,Hn)=>[Me,Bn,Hn];Bn.color.close="";Bn.bgColor.close="";Bn.color.ansi={ansi:wrapAnsi16(ansi2ansi,0)};Bn.color.ansi256={ansi256:wrapAnsi256(ansi2ansi,0)};Bn.color.ansi16m={rgb:wrapAnsi16m(rgb2rgb,0)};Bn.bgColor.ansi={ansi:wrapAnsi16(ansi2ansi,10)};Bn.bgColor.ansi256={ansi256:wrapAnsi256(ansi2ansi,10)};Bn.bgColor.ansi16m={rgb:wrapAnsi16m(rgb2rgb,10)};for(let Me of Object.keys(Hn)){if(typeof Hn[Me]!=="object"){continue}const zn=Hn[Me];if(Me==="ansi16"){Me="ansi"}if("ansi16"in zn){Bn.color.ansi[Me]=wrapAnsi16(zn.ansi16,0);Bn.bgColor.ansi[Me]=wrapAnsi16(zn.ansi16,10)}if("ansi256"in zn){Bn.color.ansi256[Me]=wrapAnsi256(zn.ansi256,0);Bn.bgColor.ansi256[Me]=wrapAnsi256(zn.ansi256,10)}if("rgb"in zn){Bn.color.ansi16m[Me]=wrapAnsi16m(zn.rgb,0);Bn.bgColor.ansi16m[Me]=wrapAnsi16m(zn.rgb,10)}}return Bn}Object.defineProperty(Bn,"exports",{enumerable:true,get:assembleStyles})}});var Jc=__commonJS({"node_modules/@babel/highlight/node_modules/has-flag/index.js"(Me,Bn){"use strict";Bn.exports=(Me,Bn)=>{Bn=Bn||process.argv;const Hn=Me.startsWith("-")?"":Me.length===1?"-":"--";const zn=Bn.indexOf(Hn+Me);const ni=Bn.indexOf("--");return zn!==-1&&(ni===-1?true:zn=2,has16m:Me>=3}}function supportsColor(Me){if(ts===false){return 0}if(ni("color=16m")||ni("color=full")||ni("color=truecolor")){return 3}if(ni("color=256")){return 2}if(Me&&!Me.isTTY&&ts!==true){return 0}const Bn=ts?1:0;if(process.platform==="win32"){const Me=zn.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(Me[0])>=10&&Number(Me[2])>=10586){return Number(Me[2])>=14931?3:2}return 1}if("CI"in Ci){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((Me=>Me in Ci))||Ci.CI_NAME==="codeship"){return 1}return Bn}if("TEAMCITY_VERSION"in Ci){return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ci.TEAMCITY_VERSION)?1:0}if(Ci.COLORTERM==="truecolor"){return 3}if("TERM_PROGRAM"in Ci){const Me=parseInt((Ci.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ci.TERM_PROGRAM){case"iTerm.app":return Me>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(Ci.TERM)){return 2}if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ci.TERM)){return 1}if("COLORTERM"in Ci){return 1}if(Ci.TERM==="dumb"){return Bn}return Bn}function getSupportLevel(Me){const Bn=supportsColor(Me);return translateLevel(Bn)}Bn.exports={supportsColor:getSupportLevel,stdout:getSupportLevel(process.stdout),stderr:getSupportLevel(process.stderr)}}});var kp=__commonJS({"node_modules/@babel/highlight/node_modules/chalk/templates.js"(Me,Bn){"use strict";var Hn=/(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi;var zn=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g;var ni=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/;var Ci=/\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi;var ts=new Map([["n","\n"],["r","\r"],["t","\t"],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a",""]]);function unescape(Me){if(Me[0]==="u"&&Me.length===5||Me[0]==="x"&&Me.length===3){return String.fromCharCode(parseInt(Me.slice(1),16))}return ts.get(Me)||Me}function parseArguments(Me,Bn){const Hn=[];const zn=Bn.trim().split(/\s*,\s*/g);let ts;for(const Bn of zn){if(!isNaN(Bn)){Hn.push(Number(Bn))}else if(ts=Bn.match(ni)){Hn.push(ts[2].replace(Ci,((Me,Bn,Hn)=>Bn?unescape(Bn):Hn)))}else{throw new Error(`Invalid Chalk template style argument: ${Bn} (in style '${Me}')`)}}return Hn}function parseStyle(Me){zn.lastIndex=0;const Bn=[];let Hn;while((Hn=zn.exec(Me))!==null){const Me=Hn[1];if(Hn[2]){const zn=parseArguments(Me,Hn[2]);Bn.push([Me].concat(zn))}else{Bn.push([Me])}}return Bn}function buildStyle(Me,Bn){const Hn={};for(const Me of Bn){for(const Bn of Me.styles){Hn[Bn[0]]=Me.inverse?null:Bn.slice(1)}}let zn=Me;for(const Me of Object.keys(Hn)){if(Array.isArray(Hn[Me])){if(!(Me in zn)){throw new Error(`Unknown Chalk style: ${Me}`)}if(Hn[Me].length>0){zn=zn[Me].apply(zn,Hn[Me])}else{zn=zn[Me]}}}return zn}Bn.exports=(Me,Bn)=>{const zn=[];const ni=[];let Ci=[];Bn.replace(Hn,((Bn,Hn,ts,Ps,aa,oa)=>{if(Hn){Ci.push(unescape(Hn))}else if(Ps){const Bn=Ci.join("");Ci=[];ni.push(zn.length===0?Bn:buildStyle(Me,zn)(Bn));zn.push({inverse:ts,styles:parseStyle(Ps)})}else if(aa){if(zn.length===0){throw new Error("Found extraneous } in Chalk template literal")}ni.push(buildStyle(Me,zn)(Ci.join("")));Ci=[];zn.pop()}else{Ci.push(oa)}}));ni.push(Ci.join(""));if(zn.length>0){const Me=`Chalk template literal is missing ${zn.length} closing bracket${zn.length===1?"":"s"} (\`}\`)`;throw new Error(Me)}return ni.join("")}}});var Qp=__commonJS({"node_modules/@babel/highlight/node_modules/chalk/index.js"(Me,Bn){"use strict";var Hn=so();var zn=Fc();var ni=Dp().stdout;var Ci=kp();var ts=process.platform==="win32"&&!(process.env.TERM||"").toLowerCase().startsWith("xterm");var Ps=["ansi","ansi","ansi256","ansi16m"];var aa=new Set(["gray"]);var oa=Object.create(null);function applyOptions(Me,Bn){Bn=Bn||{};const Hn=ni?ni.level:0;Me.level=Bn.level===void 0?Hn:Bn.level;Me.enabled="enabled"in Bn?Bn.enabled:Me.level>0}function Chalk(Me){if(!this||!(this instanceof Chalk)||this.template){const Bn={};applyOptions(Bn,Me);Bn.template=function(){const Me=[].slice.call(arguments);return chalkTag.apply(null,[Bn.template].concat(Me))};Object.setPrototypeOf(Bn,Chalk.prototype);Object.setPrototypeOf(Bn.template,Bn);Bn.template.constructor=Chalk;return Bn.template}applyOptions(this,Me)}if(ts){zn.blue.open=""}for(const Me of Object.keys(zn)){zn[Me].closeRe=new RegExp(Hn(zn[Me].close),"g");oa[Me]={get(){const Bn=zn[Me];return build.call(this,this._styles?this._styles.concat(Bn):[Bn],this._empty,Me)}}}oa.visible={get(){return build.call(this,this._styles||[],true,"visible")}};zn.color.closeRe=new RegExp(Hn(zn.color.close),"g");for(const Me of Object.keys(zn.color.ansi)){if(aa.has(Me)){continue}oa[Me]={get(){const Bn=this.level;return function(){const Hn=zn.color[Ps[Bn]][Me].apply(null,arguments);const ni={open:Hn,close:zn.color.close,closeRe:zn.color.closeRe};return build.call(this,this._styles?this._styles.concat(ni):[ni],this._empty,Me)}}}}zn.bgColor.closeRe=new RegExp(Hn(zn.bgColor.close),"g");for(const Me of Object.keys(zn.bgColor.ansi)){if(aa.has(Me)){continue}const Bn="bg"+Me[0].toUpperCase()+Me.slice(1);oa[Bn]={get(){const Bn=this.level;return function(){const Hn=zn.bgColor[Ps[Bn]][Me].apply(null,arguments);const ni={open:Hn,close:zn.bgColor.close,closeRe:zn.bgColor.closeRe};return build.call(this,this._styles?this._styles.concat(ni):[ni],this._empty,Me)}}}}var ca=Object.defineProperties((()=>{}),oa);function build(Me,Bn,Hn){const builder=function(){return applyStyle.apply(builder,arguments)};builder._styles=Me;builder._empty=Bn;const zn=this;Object.defineProperty(builder,"level",{enumerable:true,get(){return zn.level},set(Me){zn.level=Me}});Object.defineProperty(builder,"enabled",{enumerable:true,get(){return zn.enabled},set(Me){zn.enabled=Me}});builder.hasGrey=this.hasGrey||Hn==="gray"||Hn==="grey";builder.__proto__=ca;return builder}function applyStyle(){const Me=arguments;const Bn=Me.length;let Hn=String(arguments[0]);if(Bn===0){return""}if(Bn>1){for(let zn=1;znBn(Me))).join("\n")}else{Hn+=ni}}return Hn}function shouldHighlight(Me){return!!zn.supportsColor||Me.forceColor}function getChalk(Me){return Me.forceColor?new zn.constructor({enabled:true,level:1}):zn}function highlight(Me,Bn={}){if(Me!==""&&shouldHighlight(Bn)){const Hn=getChalk(Bn);const zn=getDefs(Hn);return highlightTokens(zn,Me)}else{return Me}}}});var Vp=__commonJS({"node_modules/@babel/code-frame/lib/index.js"(Me){"use strict";Object.defineProperty(Me,"__esModule",{value:true});Me.codeFrameColumns=codeFrameColumns;Me.default=_default;var Bn=Up();var Hn=false;function getDefs(Me){return{gutter:Me.grey,marker:Me.red.bold,message:Me.red.bold}}var zn=/\r\n|[\n\r\u2028\u2029]/;function getMarkerLines(Me,Bn,Hn){const zn=Object.assign({column:0,line:-1},Me.start);const ni=Object.assign({},zn,Me.end);const{linesAbove:Ci=2,linesBelow:ts=3}=Hn||{};const Ps=zn.line;const aa=zn.column;const oa=ni.line;const ca=ni.column;let _a=Math.max(Ps-(Ci+1),0);let xa=Math.min(Bn.length,oa+ts);if(Ps===-1){_a=0}if(oa===-1){xa=Bn.length}const Ga=oa-Ps;const Ha={};if(Ga){for(let Me=0;Me<=Ga;Me++){const Hn=Me+Ps;if(!aa){Ha[Hn]=true}else if(Me===0){const Me=Bn[Hn-1].length;Ha[Hn]=[aa,Me-aa+1]}else if(Me===Ga){Ha[Hn]=[0,ca]}else{const zn=Bn[Hn-Me].length;Ha[Hn]=[0,zn]}}}else{if(aa===ca){if(aa){Ha[Ps]=[aa,0]}else{Ha[Ps]=true}}else{Ha[Ps]=[aa,ca-aa]}}return{start:_a,end:xa,markerLines:Ha}}function codeFrameColumns(Me,Hn,ni={}){const Ci=(ni.highlightCode||ni.forceColor)&&(0,Bn.shouldHighlight)(ni);const ts=(0,Bn.getChalk)(ni);const Ps=getDefs(ts);const maybeHighlight=(Me,Bn)=>Ci?Me(Bn):Bn;const aa=Me.split(zn);const{start:oa,end:ca,markerLines:_a}=getMarkerLines(Hn,aa,ni);const xa=Hn.start&&typeof Hn.start.column==="number";const Ga=String(ca).length;const Ha=Ci?(0,Bn.default)(Me,ni):Me;let so=Ha.split(zn,ca).slice(oa,ca).map(((Me,Bn)=>{const Hn=oa+1+Bn;const zn=` ${Hn}`.slice(-Ga);const Ci=` ${zn} |`;const ts=_a[Hn];const aa=!_a[Hn+1];if(ts){let Bn="";if(Array.isArray(ts)){const Hn=Me.slice(0,Math.max(ts[0]-1,0)).replace(/[^\t]/g," ");const zn=ts[1]||1;Bn=["\n ",maybeHighlight(Ps.gutter,Ci.replace(/\d/g," "))," ",Hn,maybeHighlight(Ps.marker,"^").repeat(zn)].join("");if(aa&&ni.message){Bn+=" "+maybeHighlight(Ps.message,ni.message)}}return[maybeHighlight(Ps.marker,">"),maybeHighlight(Ps.gutter,Ci),Me.length>0?` ${Me}`:"",Bn].join("")}else{return` ${maybeHighlight(Ps.gutter,Ci)}${Me.length>0?` ${Me}`:""}`}})).join("\n");if(ni.message&&!xa){so=`${" ".repeat(Ga+1)}${ni.message}\n${so}`}if(Ci){return ts.reset(so)}else{return so}}function _default(Me,Bn,zn,ni={}){if(!Hn){Hn=true;const Me="Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";if(process.emitWarning){process.emitWarning(Me,"DeprecationWarning")}else{const Bn=new Error(Me);Bn.name="DeprecationWarning";console.warn(new Error(Me))}}zn=Math.max(zn,0);const Ci={start:{column:zn,line:Bn}};return codeFrameColumns(Me,Ci,ni)}}});var qp=__commonJS({"node_modules/parse-json/index.js"(Me,Bn){"use strict";var Hn=aa();var zn=oa();var{default:ni}=ca();var{codeFrameColumns:Ci}=Vp();var ts=Hn("JSONError",{fileName:Hn.append("in %s"),codeFrame:Hn.append("\n\n%s\n")});var parseJson=(Me,Bn,Hn)=>{if(typeof Bn==="string"){Hn=Bn;Bn=null}try{try{return JSON.parse(Me,Bn)}catch(Hn){zn(Me,Bn);throw Hn}}catch(Bn){Bn.message=Bn.message.replace(/\n/g,"");const zn=Bn.message.match(/in JSON at position (\d+) while parsing/);const Ps=new ts(Bn);if(Hn){Ps.fileName=Hn}if(zn&&zn.length>0){const Bn=new ni(Me);const Hn=Number(zn[1]);const ts=Bn.locationForIndex(Hn);const aa=Ci(Me,{start:{line:ts.line+1,column:ts.column+1}},{highlightCode:true});Ps.codeFrame=aa}throw Ps}};parseJson.JSONError=ts;Bn.exports=parseJson}});var Jp=__commonJS({"node_modules/yaml/dist/PlainValue-ec8e588e.js"(Me){"use strict";var Bn={ANCHOR:"&",COMMENT:"#",TAG:"!",DIRECTIVES_END:"-",DOCUMENT_END:"."};var Hn={ALIAS:"ALIAS",BLANK_LINE:"BLANK_LINE",BLOCK_FOLDED:"BLOCK_FOLDED",BLOCK_LITERAL:"BLOCK_LITERAL",COMMENT:"COMMENT",DIRECTIVE:"DIRECTIVE",DOCUMENT:"DOCUMENT",FLOW_MAP:"FLOW_MAP",FLOW_SEQ:"FLOW_SEQ",MAP:"MAP",MAP_KEY:"MAP_KEY",MAP_VALUE:"MAP_VALUE",PLAIN:"PLAIN",QUOTE_DOUBLE:"QUOTE_DOUBLE",QUOTE_SINGLE:"QUOTE_SINGLE",SEQ:"SEQ",SEQ_ITEM:"SEQ_ITEM"};var zn="tag:yaml.org,2002:";var ni={MAP:"tag:yaml.org,2002:map",SEQ:"tag:yaml.org,2002:seq",STR:"tag:yaml.org,2002:str"};function findLineStarts(Me){const Bn=[0];let Hn=Me.indexOf("\n");while(Hn!==-1){Hn+=1;Bn.push(Hn);Hn=Me.indexOf("\n",Hn)}return Bn}function getSrcInfo(Me){let Bn,Hn;if(typeof Me==="string"){Bn=findLineStarts(Me);Hn=Me}else{if(Array.isArray(Me))Me=Me[0];if(Me&&Me.context){if(!Me.lineStarts)Me.lineStarts=findLineStarts(Me.context.src);Bn=Me.lineStarts;Hn=Me.context.src}}return{lineStarts:Bn,src:Hn}}function getLinePos(Me,Bn){if(typeof Me!=="number"||Me<0)return null;const{lineStarts:Hn,src:zn}=getSrcInfo(Bn);if(!Hn||!zn||Me>zn.length)return null;for(let Bn=0;Bn=1)||Me>Hn.length)return null;const ni=Hn[Me-1];let Ci=Hn[Me];while(Ci&&Ci>ni&&zn[Ci-1]==="\n")--Ci;return zn.slice(ni,Ci)}function getPrettyContext({start:Me,end:Bn},Hn,zn=80){let ni=getLine(Me.line,Hn);if(!ni)return null;let{col:Ci}=Me;if(ni.length>zn){if(Ci<=zn-10){ni=ni.substr(0,zn-1)+"…"}else{const Me=Math.round(zn/2);if(ni.length>Ci+Me)ni=ni.substr(0,Ci+Me-1)+"…";Ci-=ni.length-zn;ni="…"+ni.substr(1-zn)}}let ts=1;let Ps="";if(Bn){if(Bn.line===Me.line&&Ci+(Bn.col-Me.col)<=zn+1){ts=Bn.col-Me.col}else{ts=Math.min(ni.length+1,zn)-Ci;Ps="…"}}const aa=Ci>1?" ".repeat(Ci-1):"";const oa="^".repeat(ts);return`${ni}\n${aa}${oa}${Ps}`}var Ci=class{static copy(Me){return new Ci(Me.start,Me.end)}constructor(Me,Bn){this.start=Me;this.end=Bn||Me}isEmpty(){return typeof this.start!=="number"||!this.end||this.end<=this.start}setOrigRange(Me,Bn){const{start:Hn,end:zn}=this;if(Me.length===0||zn<=Me[0]){this.origStart=Hn;this.origEnd=zn;return Bn}let ni=Bn;while(niHn)break;else++ni}this.origStart=Hn+ni;const Ci=ni;while(ni=zn)break;else++ni}this.origEnd=zn+ni;return Ci}};var ts=class{static addStringTerminator(Me,Bn,Hn){if(Hn[Hn.length-1]==="\n")return Hn;const zn=ts.endOfWhiteSpace(Me,Bn);return zn>=Me.length||Me[zn]==="\n"?Hn+"\n":Hn}static atDocumentBoundary(Me,Hn,zn){const ni=Me[Hn];if(!ni)return true;const Ci=Me[Hn-1];if(Ci&&Ci!=="\n")return false;if(zn){if(ni!==zn)return false}else{if(ni!==Bn.DIRECTIVES_END&&ni!==Bn.DOCUMENT_END)return false}const ts=Me[Hn+1];const Ps=Me[Hn+2];if(ts!==ni||Ps!==ni)return false;const aa=Me[Hn+3];return!aa||aa==="\n"||aa==="\t"||aa===" "}static endOfIdentifier(Me,Bn){let Hn=Me[Bn];const zn=Hn==="<";const ni=zn?["\n","\t"," ",">"]:["\n","\t"," ","[","]","{","}",","];while(Hn&&ni.indexOf(Hn)===-1)Hn=Me[Bn+=1];if(zn&&Hn===">")Bn+=1;return Bn}static endOfIndent(Me,Bn){let Hn=Me[Bn];while(Hn===" ")Hn=Me[Bn+=1];return Bn}static endOfLine(Me,Bn){let Hn=Me[Bn];while(Hn&&Hn!=="\n")Hn=Me[Bn+=1];return Bn}static endOfWhiteSpace(Me,Bn){let Hn=Me[Bn];while(Hn==="\t"||Hn===" ")Hn=Me[Bn+=1];return Bn}static startOfLine(Me,Bn){let Hn=Me[Bn-1];if(Hn==="\n")return Bn;while(Hn&&Hn!=="\n")Hn=Me[Bn-=1];return Bn+1}static endOfBlockIndent(Me,Bn,Hn){const zn=ts.endOfIndent(Me,Hn);if(zn>Hn+Bn){return zn}else{const Bn=ts.endOfWhiteSpace(Me,zn);const Hn=Me[Bn];if(!Hn||Hn==="\n")return Bn}return null}static atBlank(Me,Bn,Hn){const zn=Me[Bn];return zn==="\n"||zn==="\t"||zn===" "||Hn&&!zn}static nextNodeIsIndented(Me,Bn,Hn){if(!Me||Bn<0)return false;if(Bn>0)return true;return Hn&&Me==="-"}static normalizeOffset(Me,Bn){const Hn=Me[Bn];return!Hn?Bn:Hn!=="\n"&&Me[Bn-1]==="\n"?Bn-1:ts.endOfWhiteSpace(Me,Bn)}static foldNewline(Me,Bn,Hn){let zn=0;let ni=false;let Ci="";let Ps=Me[Bn+1];while(Ps===" "||Ps==="\t"||Ps==="\n"){switch(Ps){case"\n":zn=0;Bn+=1;Ci+="\n";break;case"\t":if(zn<=Hn)ni=true;Bn=ts.endOfWhiteSpace(Me,Bn+2)-1;break;case" ":zn+=1;Bn+=1;break}Ps=Me[Bn+1]}if(!Ci)Ci=" ";if(Ps&&zn<=Hn)ni=true;return{fold:Ci,offset:Bn,error:ni}}constructor(Me,Bn,Hn){Object.defineProperty(this,"context",{value:Hn||null,writable:true});this.error=null;this.range=null;this.valueRange=null;this.props=Bn||[];this.type=Me;this.value=null}getPropValue(Me,Bn,Hn){if(!this.context)return null;const{src:zn}=this.context;const ni=this.props[Me];return ni&&zn[ni.start]===Bn?zn.slice(ni.start+(Hn?1:0),ni.end):null}get anchor(){for(let Me=0;Me0?Me.join("\n"):null}commentHasRequiredWhitespace(Me){const{src:Bn}=this.context;if(this.header&&Me===this.header.end)return false;if(!this.valueRange)return false;const{end:Hn}=this.valueRange;return Me!==Hn||ts.atBlank(Bn,Hn-1)}get hasComment(){if(this.context){const{src:Me}=this.context;for(let Hn=0;HnHn.setOrigRange(Me,Bn)));return Bn}toString(){const{context:{src:Me},range:Bn,value:Hn}=this;if(Hn!=null)return Hn;const zn=Me.slice(Bn.start,Bn.end);return ts.addStringTerminator(Me,Bn.end,zn)}};var Ps=class extends Error{constructor(Me,Bn,Hn){if(!Hn||!(Bn instanceof ts))throw new Error(`Invalid arguments for new ${Me}`);super();this.name=Me;this.message=Hn;this.source=Bn}makePretty(){if(!this.source)return;this.nodeType=this.source.type;const Me=this.source.context&&this.source.context.root;if(typeof this.offset==="number"){this.range=new Ci(this.offset,this.offset+1);const Bn=Me&&getLinePos(this.offset,Me);if(Bn){const Me={line:Bn.line,col:Bn.col+1};this.linePos={start:Bn,end:Me}}delete this.offset}else{this.range=this.source.range;this.linePos=this.source.rangeAsLinePos}if(this.linePos){const{line:Bn,col:Hn}=this.linePos.start;this.message+=` at line ${Bn}, column ${Hn}`;const zn=Me&&getPrettyContext(this.linePos,Me);if(zn)this.message+=`:\n\n${zn}\n`}delete this.source}};var aa=class extends Ps{constructor(Me,Bn){super("YAMLReferenceError",Me,Bn)}};var oa=class extends Ps{constructor(Me,Bn){super("YAMLSemanticError",Me,Bn)}};var ca=class extends Ps{constructor(Me,Bn){super("YAMLSyntaxError",Me,Bn)}};var _a=class extends Ps{constructor(Me,Bn){super("YAMLWarning",Me,Bn)}};function _defineProperty(Me,Bn,Hn){if(Bn in Me){Object.defineProperty(Me,Bn,{value:Hn,enumerable:true,configurable:true,writable:true})}else{Me[Bn]=Hn}return Me}var xa=class extends ts{static endOfLine(Me,Bn,Hn){let zn=Me[Bn];let ni=Bn;while(zn&&zn!=="\n"){if(Hn&&(zn==="["||zn==="]"||zn==="{"||zn==="}"||zn===","))break;const Bn=Me[ni+1];if(zn===":"&&(!Bn||Bn==="\n"||Bn==="\t"||Bn===" "||Hn&&Bn===","))break;if((zn===" "||zn==="\t")&&Bn==="#")break;ni+=1;zn=Bn}return ni}get strValue(){if(!this.valueRange||!this.context)return null;let{start:Me,end:Bn}=this.valueRange;const{src:Hn}=this.context;let zn=Hn[Bn-1];while(MeCi?Hn.slice(Ci,zn+1):Me}else{ni+=Me}}const Ci=Hn[Me];switch(Ci){case"\t":{const Me="Plain value cannot start with a tab character";const Bn=[new oa(this,Me)];return{errors:Bn,str:ni}}case"@":case"`":{const Me=`Plain value cannot start with reserved character ${Ci}`;const Bn=[new oa(this,Me)];return{errors:Bn,str:ni}}default:return ni}}parseBlockValue(Me){const{indent:Bn,inFlow:Hn,src:zn}=this.context;let ni=Me;let Ci=Me;for(let Me=zn[ni];Me==="\n";Me=zn[ni]){if(ts.atDocumentBoundary(zn,ni+1))break;const Me=ts.endOfBlockIndent(zn,Bn,ni+1);if(Me===null||zn[Me]==="#")break;if(zn[Me]==="\n"){ni=Me}else{Ci=xa.endOfLine(zn,Me,Hn);ni=Ci}}if(this.valueRange.isEmpty())this.valueRange.start=Me;this.valueRange.end=Ci;return Ci}parse(Me,Bn){this.context=Me;const{inFlow:Hn,src:zn}=Me;let ni=Bn;const Ps=zn[ni];if(Ps&&Ps!=="#"&&Ps!=="\n"){ni=xa.endOfLine(zn,Bn,Hn)}this.valueRange=new Ci(Bn,ni);ni=ts.endOfWhiteSpace(zn,ni);ni=this.parseComment(ni);if(!this.hasComment||this.valueRange.isEmpty()){ni=this.parseBlockValue(ni)}return ni}};Me.Char=Bn;Me.Node=ts;Me.PlainValue=xa;Me.Range=Ci;Me.Type=Hn;Me.YAMLError=Ps;Me.YAMLReferenceError=aa;Me.YAMLSemanticError=oa;Me.YAMLSyntaxError=ca;Me.YAMLWarning=_a;Me._defineProperty=_defineProperty;Me.defaultTagPrefix=zn;Me.defaultTags=ni}});var Wp=__commonJS({"node_modules/yaml/dist/parse-cst.js"(Me){"use strict";var Bn=Jp();var Hn=class extends Bn.Node{constructor(){super(Bn.Type.BLANK_LINE)}get includesTrailingLines(){return true}parse(Me,Hn){this.context=Me;this.range=new Bn.Range(Hn,Hn+1);return Hn+1}};var zn=class extends Bn.Node{constructor(Me,Bn){super(Me,Bn);this.node=null}get includesTrailingLines(){return!!this.node&&this.node.includesTrailingLines}parse(Me,zn){this.context=Me;const{parseNode:ni,src:Ci}=Me;let{atLineStart:ts,lineStart:Ps}=Me;if(!ts&&this.type===Bn.Type.SEQ_ITEM)this.error=new Bn.YAMLSemanticError(this,"Sequence items must not have preceding content on the same line");const aa=ts?zn-Ps:Me.indent;let oa=Bn.Node.endOfWhiteSpace(Ci,zn+1);let ca=Ci[oa];const _a=ca==="#";const xa=[];let Ga=null;while(ca==="\n"||ca==="#"){if(ca==="#"){const Me=Bn.Node.endOfLine(Ci,oa+1);xa.push(new Bn.Range(oa,Me));oa=Me}else{ts=true;Ps=oa+1;const Me=Bn.Node.endOfWhiteSpace(Ci,Ps);if(Ci[Me]==="\n"&&xa.length===0){Ga=new Hn;Ps=Ga.parse({src:Ci},Ps)}oa=Bn.Node.endOfIndent(Ci,Ps)}ca=Ci[oa]}if(Bn.Node.nextNodeIsIndented(ca,oa-(Ps+aa),this.type!==Bn.Type.SEQ_ITEM)){this.node=ni({atLineStart:ts,inCollection:false,indent:aa,lineStart:Ps,parent:this},oa)}else if(ca&&Ps>zn+1){oa=Ps-1}if(this.node){if(Ga){const Bn=Me.parent.items||Me.parent.contents;if(Bn)Bn.push(Ga)}if(xa.length)Array.prototype.push.apply(this.props,xa);oa=this.node.range.end}else{if(_a){const Me=xa[0];this.props.push(Me);oa=Me.end}else{oa=Bn.Node.endOfLine(Ci,zn+1)}}const Ha=this.node?this.node.valueRange.end:oa;this.valueRange=new Bn.Range(zn,Ha);return oa}setOrigRanges(Me,Bn){Bn=super.setOrigRanges(Me,Bn);return this.node?this.node.setOrigRanges(Me,Bn):Bn}toString(){const{context:{src:Me},node:Hn,range:zn,value:ni}=this;if(ni!=null)return ni;const Ci=Hn?Me.slice(zn.start,Hn.range.start)+String(Hn):Me.slice(zn.start,zn.end);return Bn.Node.addStringTerminator(Me,zn.end,Ci)}};var ni=class extends Bn.Node{constructor(){super(Bn.Type.COMMENT)}parse(Me,Hn){this.context=Me;const zn=this.parseComment(Hn);this.range=new Bn.Range(Hn,zn);return zn}};function grabCollectionEndComments(Me){let Hn=Me;while(Hn instanceof zn)Hn=Hn.node;if(!(Hn instanceof Ci))return null;const ni=Hn.items.length;let ts=-1;for(let Me=ni-1;Me>=0;--Me){const zn=Hn.items[Me];if(zn.type===Bn.Type.COMMENT){const{indent:Bn,lineStart:Hn}=zn.context;if(Bn>0&&zn.range.start>=Hn+Bn)break;ts=Me}else if(zn.type===Bn.Type.BLANK_LINE)ts=Me;else break}if(ts===-1)return null;const Ps=Hn.items.splice(ts,ni-ts);const aa=Ps[0].range.start;while(true){Hn.range.end=aa;if(Hn.valueRange&&Hn.valueRange.end>aa)Hn.valueRange.end=aa;if(Hn===Me)break;Hn=Hn.context.parent}return Ps}var Ci=class extends Bn.Node{static nextContentHasIndent(Me,Hn,zn){const ni=Bn.Node.endOfLine(Me,Hn)+1;Hn=Bn.Node.endOfWhiteSpace(Me,ni);const ts=Me[Hn];if(!ts)return false;if(Hn>=ni+zn)return true;if(ts!=="#"&&ts!=="\n")return false;return Ci.nextContentHasIndent(Me,Hn,zn)}constructor(Me){super(Me.type===Bn.Type.SEQ_ITEM?Bn.Type.SEQ:Bn.Type.MAP);for(let Bn=Me.props.length-1;Bn>=0;--Bn){if(Me.props[Bn].start0}parse(Me,zn){this.context=Me;const{parseNode:ts,src:Ps}=Me;let aa=Bn.Node.startOfLine(Ps,zn);const oa=this.items[0];oa.context.parent=this;this.valueRange=Bn.Range.copy(oa.valueRange);const ca=oa.range.start-oa.context.lineStart;let _a=zn;_a=Bn.Node.normalizeOffset(Ps,_a);let xa=Ps[_a];let Ga=Bn.Node.endOfWhiteSpace(Ps,aa)===_a;let Ha=false;while(xa){while(xa==="\n"||xa==="#"){if(Ga&&xa==="\n"&&!Ha){const Me=new Hn;_a=Me.parse({src:Ps},_a);this.valueRange.end=_a;if(_a>=Ps.length){xa=null;break}this.items.push(Me);_a-=1}else if(xa==="#"){if(_a=Ps.length){xa=null;break}}aa=_a+1;_a=Bn.Node.endOfIndent(Ps,aa);if(Bn.Node.atBlank(Ps,_a)){const Me=Bn.Node.endOfWhiteSpace(Ps,_a);const Hn=Ps[Me];if(!Hn||Hn==="\n"||Hn==="#"){_a=Me}}xa=Ps[_a];Ga=true}if(!xa){break}if(_a!==aa+ca&&(Ga||xa!==":")){if(_azn)_a=aa;break}else if(!this.error){const Me="All collection items must start at the same column";this.error=new Bn.YAMLSyntaxError(this,Me)}}if(oa.type===Bn.Type.SEQ_ITEM){if(xa!=="-"){if(aa>zn)_a=aa;break}}else if(xa==="-"&&!this.error){const Me=Ps[_a+1];if(!Me||Me==="\n"||Me==="\t"||Me===" "){const Me="A collection cannot be both a mapping and a sequence";this.error=new Bn.YAMLSyntaxError(this,Me)}}const Me=ts({atLineStart:Ga,inCollection:true,indent:ca,lineStart:aa,parent:this},_a);if(!Me)return _a;this.items.push(Me);this.valueRange.end=Me.valueRange.end;_a=Bn.Node.normalizeOffset(Ps,Me.range.end);xa=Ps[_a];Ga=false;Ha=Me.includesTrailingLines;if(xa){let Me=_a-1;let Bn=Ps[Me];while(Bn===" "||Bn==="\t")Bn=Ps[--Me];if(Bn==="\n"){aa=Me+1;Ga=true}}const so=grabCollectionEndComments(Me);if(so)Array.prototype.push.apply(this.items,so)}return _a}setOrigRanges(Me,Bn){Bn=super.setOrigRanges(Me,Bn);this.items.forEach((Hn=>{Bn=Hn.setOrigRanges(Me,Bn)}));return Bn}toString(){const{context:{src:Me},items:Hn,range:zn,value:ni}=this;if(ni!=null)return ni;let Ci=Me.slice(zn.start,Hn[0].range.start)+String(Hn[0]);for(let Me=1;Me0){this.contents=this.directives;this.directives=[]}return oa}}if(zn[oa]){this.directivesEndMarker=new Bn.Range(oa,oa+3);return oa+3}if(aa){this.error=new Bn.YAMLSemanticError(this,"Missing directives-end indicator line")}else if(this.directives.length>0){this.contents=this.directives;this.directives=[]}return oa}parseContents(Me){const{parseNode:zn,src:Ci}=this.context;if(!this.contents)this.contents=[];let ts=Me;while(Ci[ts-1]==="-")ts-=1;let aa=Bn.Node.endOfWhiteSpace(Ci,Me);let oa=ts===Me;this.valueRange=new Bn.Range(aa);while(!Bn.Node.atDocumentBoundary(Ci,aa,Bn.Char.DOCUMENT_END)){switch(Ci[aa]){case"\n":if(oa){const Me=new Hn;aa=Me.parse({src:Ci},aa);if(aa{Bn=Hn.setOrigRanges(Me,Bn)}));if(this.directivesEndMarker)Bn=this.directivesEndMarker.setOrigRange(Me,Bn);this.contents.forEach((Hn=>{Bn=Hn.setOrigRanges(Me,Bn)}));if(this.documentEndMarker)Bn=this.documentEndMarker.setOrigRange(Me,Bn);return Bn}toString(){const{contents:Me,directives:Hn,value:zn}=this;if(zn!=null)return zn;let ni=Hn.join("");if(Me.length>0){if(Hn.length>0||Me[0].type===Bn.Type.COMMENT)ni+="---\n";ni+=Me.join("")}if(ni[ni.length-1]!=="\n")ni+="\n";return ni}};var aa=class extends Bn.Node{parse(Me,Hn){this.context=Me;const{src:zn}=Me;let ni=Bn.Node.endOfIdentifier(zn,Hn+1);this.valueRange=new Bn.Range(Hn+1,ni);ni=Bn.Node.endOfWhiteSpace(zn,ni);ni=this.parseComment(ni);return ni}};var oa={CLIP:"CLIP",KEEP:"KEEP",STRIP:"STRIP"};var ca=class extends Bn.Node{constructor(Me,Bn){super(Me,Bn);this.blockIndent=null;this.chomping=oa.CLIP;this.header=null}get includesTrailingLines(){return this.chomping===oa.KEEP}get strValue(){if(!this.valueRange||!this.context)return null;let{start:Me,end:Hn}=this.valueRange;const{indent:zn,src:ni}=this.context;if(this.valueRange.isEmpty())return"";let Ci=null;let ts=ni[Hn-1];while(ts==="\n"||ts==="\t"||ts===" "){Hn-=1;if(Hn<=Me){if(this.chomping===oa.KEEP)break;else return""}if(ts==="\n")Ci=Hn;ts=ni[Hn-1]}let Ps=Hn+1;if(Ci){if(this.chomping===oa.KEEP){Ps=Ci;Hn=this.valueRange.end}else{Hn=Ci}}const aa=zn+this.blockIndent;const ca=this.type===Bn.Type.BLOCK_FOLDED;let _a=true;let xa="";let Ga="";let Ha=false;for(let zn=Me;znPs){Ps=oa}}else if(aa&&aa!=="\n"&&oa{if(zn instanceof Bn.Node){Hn=zn.setOrigRanges(Me,Hn)}else if(Me.length===0){zn.origOffset=zn.offset}else{let Bn=Hn;while(Bnzn.offset)break;else++Bn}zn.origOffset=zn.offset+Bn;Hn=Bn}}));return Hn}toString(){const{context:{src:Me},items:Hn,range:zn,value:ni}=this;if(ni!=null)return ni;const Ci=Hn.filter((Me=>Me instanceof Bn.Node));let ts="";let Ps=zn.start;Ci.forEach((Bn=>{const Hn=Me.slice(Ps,Bn.range.start);Ps=Bn.range.end;ts+=Hn+String(Bn);if(ts[ts.length-1]==="\n"&&Me[Ps-1]!=="\n"&&Me[Ps]==="\n"){Ps+=1}}));ts+=Me.slice(Ps,zn.end);return Bn.Node.addStringTerminator(Me,zn.end,ts)}};var xa=class extends Bn.Node{static endOfQuote(Me,Bn){let Hn=Me[Bn];while(Hn&&Hn!=='"'){Bn+=Hn==="\\"?2:1;Hn=Me[Bn]}return Bn+1}get strValue(){if(!this.valueRange||!this.context)return null;const Me=[];const{start:Hn,end:zn}=this.valueRange;const{indent:ni,src:Ci}=this.context;if(Ci[zn-1]!=='"')Me.push(new Bn.YAMLSyntaxError(this,'Missing closing "quote'));let ts="";for(let Ps=Hn+1;PsMe?Ci.slice(Me,Ps+1):Hn}else{ts+=Hn}}return Me.length>0?{errors:Me,str:ts}:ts}parseCharCode(Me,Hn,zn){const{src:ni}=this.context;const Ci=ni.substr(Me,Hn);const ts=Ci.length===Hn&&/^[0-9a-fA-F]+$/.test(Ci);const Ps=ts?parseInt(Ci,16):NaN;if(isNaN(Ps)){zn.push(new Bn.YAMLSyntaxError(this,`Invalid escape sequence ${ni.substr(Me-2,Hn+2)}`));return ni.substr(Me-2,Hn+2)}return String.fromCodePoint(Ps)}parse(Me,Hn){this.context=Me;const{src:zn}=Me;let ni=xa.endOfQuote(zn,Hn+1);this.valueRange=new Bn.Range(Hn,ni);ni=Bn.Node.endOfWhiteSpace(zn,ni);ni=this.parseComment(ni);return ni}};var Ga=class extends Bn.Node{static endOfQuote(Me,Bn){let Hn=Me[Bn];while(Hn){if(Hn==="'"){if(Me[Bn+1]!=="'")break;Hn=Me[Bn+=2]}else{Hn=Me[Bn+=1]}}return Bn+1}get strValue(){if(!this.valueRange||!this.context)return null;const Me=[];const{start:Hn,end:zn}=this.valueRange;const{indent:ni,src:Ci}=this.context;if(Ci[zn-1]!=="'")Me.push(new Bn.YAMLSyntaxError(this,"Missing closing 'quote"));let ts="";for(let Ps=Hn+1;PsMe?Ci.slice(Me,Ps+1):Hn}else{ts+=Hn}}return Me.length>0?{errors:Me,str:ts}:ts}parse(Me,Hn){this.context=Me;const{src:zn}=Me;let ni=Ga.endOfQuote(zn,Hn+1);this.valueRange=new Bn.Range(Hn,ni);ni=Bn.Node.endOfWhiteSpace(zn,ni);ni=this.parseComment(ni);return ni}};function createNewNode(Me,Hn){switch(Me){case Bn.Type.ALIAS:return new aa(Me,Hn);case Bn.Type.BLOCK_FOLDED:case Bn.Type.BLOCK_LITERAL:return new ca(Me,Hn);case Bn.Type.FLOW_MAP:case Bn.Type.FLOW_SEQ:return new _a(Me,Hn);case Bn.Type.MAP_KEY:case Bn.Type.MAP_VALUE:case Bn.Type.SEQ_ITEM:return new zn(Me,Hn);case Bn.Type.COMMENT:case Bn.Type.PLAIN:return new Bn.PlainValue(Me,Hn);case Bn.Type.QUOTE_DOUBLE:return new xa(Me,Hn);case Bn.Type.QUOTE_SINGLE:return new Ga(Me,Hn);default:return null}}var Ha=class{static parseType(Me,Hn,zn){switch(Me[Hn]){case"*":return Bn.Type.ALIAS;case">":return Bn.Type.BLOCK_FOLDED;case"|":return Bn.Type.BLOCK_LITERAL;case"{":return Bn.Type.FLOW_MAP;case"[":return Bn.Type.FLOW_SEQ;case"?":return!zn&&Bn.Node.atBlank(Me,Hn+1,true)?Bn.Type.MAP_KEY:Bn.Type.PLAIN;case":":return!zn&&Bn.Node.atBlank(Me,Hn+1,true)?Bn.Type.MAP_VALUE:Bn.Type.PLAIN;case"-":return!zn&&Bn.Node.atBlank(Me,Hn+1,true)?Bn.Type.SEQ_ITEM:Bn.Type.PLAIN;case'"':return Bn.Type.QUOTE_DOUBLE;case"'":return Bn.Type.QUOTE_SINGLE;default:return Bn.Type.PLAIN}}constructor(Me={},{atLineStart:Hn,inCollection:zn,inFlow:ni,indent:ts,lineStart:Ps,parent:aa}={}){Bn._defineProperty(this,"parseNode",((Me,Hn)=>{if(Bn.Node.atDocumentBoundary(this.src,Hn))return null;const zn=new Ha(this,Me);const{props:ni,type:ts,valueStart:Ps}=zn.parseProps(Hn);const aa=createNewNode(ts,ni);let oa=aa.parse(zn,Ps);aa.range=new Bn.Range(Hn,oa);if(oa<=Hn){aa.error=new Error(`Node#parse consumed no characters`);aa.error.parseEnd=oa;aa.error.source=aa;aa.range.end=Hn+1}if(zn.nodeStartsCollection(aa)){if(!aa.error&&!zn.atLineStart&&zn.parent.type===Bn.Type.DOCUMENT){aa.error=new Bn.YAMLSyntaxError(aa,"Block collection must not have preceding content here (e.g. directives-end indicator)")}const Me=new Ci(aa);oa=Me.parse(new Ha(zn),oa);Me.range=new Bn.Range(Hn,oa);return Me}return aa}));this.atLineStart=Hn!=null?Hn:Me.atLineStart||false;this.inCollection=zn!=null?zn:Me.inCollection||false;this.inFlow=ni!=null?ni:Me.inFlow||false;this.indent=ts!=null?ts:Me.indent;this.lineStart=Ps!=null?Ps:Me.lineStart;this.parent=aa!=null?aa:Me.parent||{};this.root=Me.root;this.src=Me.src}nodeStartsCollection(Me){const{inCollection:Hn,inFlow:ni,src:Ci}=this;if(Hn||ni)return false;if(Me instanceof zn)return true;let ts=Me.range.end;if(Ci[ts]==="\n"||Ci[ts-1]==="\n")return false;ts=Bn.Node.endOfWhiteSpace(Ci,ts);return Ci[ts]===":"}parseProps(Me){const{inFlow:Hn,parent:zn,src:ni}=this;const Ci=[];let ts=false;Me=this.atLineStart?Bn.Node.endOfIndent(ni,Me):Bn.Node.endOfWhiteSpace(ni,Me);let Ps=ni[Me];while(Ps===Bn.Char.ANCHOR||Ps===Bn.Char.COMMENT||Ps===Bn.Char.TAG||Ps==="\n"){if(Ps==="\n"){let Hn=Me;let Ci;do{Ci=Hn+1;Hn=Bn.Node.endOfIndent(ni,Ci)}while(ni[Hn]==="\n");const Ps=Hn-(Ci+this.indent);const aa=zn.type===Bn.Type.SEQ_ITEM&&zn.context.atLineStart;if(ni[Hn]!=="#"&&!Bn.Node.nextNodeIsIndented(ni[Hn],Ps,!aa))break;this.atLineStart=true;this.lineStart=Ci;ts=false;Me=Hn}else if(Ps===Bn.Char.COMMENT){const Hn=Bn.Node.endOfLine(ni,Me+1);Ci.push(new Bn.Range(Me,Hn));Me=Hn}else{let Hn=Bn.Node.endOfIdentifier(ni,Me+1);if(Ps===Bn.Char.TAG&&ni[Hn]===","&&/^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(ni.slice(Me+1,Hn+13))){Hn=Bn.Node.endOfIdentifier(ni,Hn+5)}Ci.push(new Bn.Range(Me,Hn));ts=true;Me=Bn.Node.endOfWhiteSpace(ni,Hn)}Ps=ni[Me]}if(ts&&Ps===":"&&Bn.Node.atBlank(ni,Me+1,true))Me-=1;const aa=Ha.parseType(ni,Me,Hn);return{props:Ci,type:aa,valueStart:Me}}};function parse(Me){const Bn=[];if(Me.indexOf("\r")!==-1){Me=Me.replace(/\r\n?/g,((Me,Hn)=>{if(Me.length>1)Bn.push(Hn);return"\n"}))}const Hn=[];let zn=0;do{const Bn=new Ps;const ni=new Ha({src:Me});zn=Bn.parse(ni,zn);Hn.push(Bn)}while(zn{if(Bn.length===0)return false;for(let Me=1;MeHn.join("...\n");return Hn}Me.parse=parse}});var zp=__commonJS({"node_modules/yaml/dist/resolveSeq-d03cb037.js"(Me){"use strict";var Bn=Jp();function addCommentBefore(Me,Bn,Hn){if(!Hn)return Me;const zn=Hn.replace(/[\s\S]^/gm,`$&${Bn}#`);return`#${zn}\n${Bn}${Me}`}function addComment(Me,Bn,Hn){return!Hn?Me:Hn.indexOf("\n")===-1?`${Me} #${Hn}`:`${Me}\n`+Hn.replace(/^/gm,`${Bn||""}#`)}var Hn=class{};function toJSON(Me,Bn,Hn){if(Array.isArray(Me))return Me.map(((Me,Bn)=>toJSON(Me,String(Bn),Hn)));if(Me&&typeof Me.toJSON==="function"){const zn=Hn&&Hn.anchors&&Hn.anchors.get(Me);if(zn)Hn.onCreate=Me=>{zn.res=Me;delete Hn.onCreate};const ni=Me.toJSON(Bn,Hn);if(zn&&Hn.onCreate)Hn.onCreate(ni);return ni}if((!Hn||!Hn.keep)&&typeof Me==="bigint")return Number(Me);return Me}var zn=class extends Hn{constructor(Me){super();this.value=Me}toJSON(Me,Bn){return Bn&&Bn.keep?this.value:toJSON(this.value,Me,Bn)}toString(){return String(this.value)}};function collectionFromPath(Me,Bn,Hn){let zn=Hn;for(let Me=Bn.length-1;Me>=0;--Me){const Hn=Bn[Me];if(Number.isInteger(Hn)&&Hn>=0){const Me=[];Me[Hn]=zn;zn=Me}else{const Me={};Object.defineProperty(Me,Hn,{value:zn,writable:true,enumerable:true,configurable:true});zn=Me}}return Me.createNode(zn,false)}var isEmptyPath=Me=>Me==null||typeof Me==="object"&&Me[Symbol.iterator]().next().done;var ni=class extends Hn{constructor(Me){super();Bn._defineProperty(this,"items",[]);this.schema=Me}addIn(Me,Bn){if(isEmptyPath(Me))this.add(Bn);else{const[Hn,...zn]=Me;const Ci=this.get(Hn,true);if(Ci instanceof ni)Ci.addIn(zn,Bn);else if(Ci===void 0&&this.schema)this.set(Hn,collectionFromPath(this.schema,zn,Bn));else throw new Error(`Expected YAML collection at ${Hn}. Remaining path: ${zn}`)}}deleteIn([Me,...Bn]){if(Bn.length===0)return this.delete(Me);const Hn=this.get(Me,true);if(Hn instanceof ni)return Hn.deleteIn(Bn);else throw new Error(`Expected YAML collection at ${Me}. Remaining path: ${Bn}`)}getIn([Me,...Bn],Hn){const Ci=this.get(Me,true);if(Bn.length===0)return!Hn&&Ci instanceof zn?Ci.value:Ci;else return Ci instanceof ni?Ci.getIn(Bn,Hn):void 0}hasAllNullValues(){return this.items.every((Me=>{if(!Me||Me.type!=="PAIR")return false;const Bn=Me.value;return Bn==null||Bn instanceof zn&&Bn.value==null&&!Bn.commentBefore&&!Bn.comment&&!Bn.tag}))}hasIn([Me,...Bn]){if(Bn.length===0)return this.has(Me);const Hn=this.get(Me,true);return Hn instanceof ni?Hn.hasIn(Bn):false}setIn([Me,...Bn],Hn){if(Bn.length===0){this.set(Me,Hn)}else{const zn=this.get(Me,true);if(zn instanceof ni)zn.setIn(Bn,Hn);else if(zn===void 0&&this.schema)this.set(Me,collectionFromPath(this.schema,Bn,Hn));else throw new Error(`Expected YAML collection at ${Me}. Remaining path: ${Bn}`)}}toJSON(){return null}toString(Me,{blockItem:Hn,flowChars:zn,isMap:Ci,itemIndent:ts},Ps,aa){const{indent:oa,indentStep:ca,stringify:_a}=Me;const xa=this.type===Bn.Type.FLOW_MAP||this.type===Bn.Type.FLOW_SEQ||Me.inFlow;if(xa)ts+=ca;const Ga=Ci&&this.hasAllNullValues();Me=Object.assign({},Me,{allNullValues:Ga,indent:ts,inFlow:xa,type:null});let Ha=false;let so=false;const oo=this.items.reduce(((Bn,Hn,zn)=>{let ni;if(Hn){if(!Ha&&Hn.spaceBefore)Bn.push({type:"comment",str:""});if(Hn.commentBefore)Hn.commentBefore.match(/^.*$/gm).forEach((Me=>{Bn.push({type:"comment",str:`#${Me}`})}));if(Hn.comment)ni=Hn.comment;if(xa&&(!Ha&&Hn.spaceBefore||Hn.commentBefore||Hn.comment||Hn.key&&(Hn.key.commentBefore||Hn.key.comment)||Hn.value&&(Hn.value.commentBefore||Hn.value.comment)))so=true}Ha=false;let Ci=_a(Hn,Me,(()=>ni=null),(()=>Ha=true));if(xa&&!so&&Ci.includes("\n"))so=true;if(xa&&znMe.str));if(so||Hn.reduce(((Me,Bn)=>Me+Bn.length+2),2)>ni.maxFlowStringSingleLineLength){Jo=Me;for(const Me of Hn){Jo+=Me?`\n${ca}${oa}${Me}`:"\n"}Jo+=`\n${oa}${Bn}`}else{Jo=`${Me} ${Hn.join(" ")} ${Bn}`}}else{const Me=oo.map(Hn);Jo=Me.shift();for(const Bn of Me)Jo+=Bn?`\n${oa}${Bn}`:"\n"}if(this.comment){Jo+="\n"+this.comment.replace(/^/gm,`${oa}#`);if(Ps)Ps()}else if(Ha&&aa)aa();return Jo}};Bn._defineProperty(ni,"maxFlowStringSingleLineLength",60);function asItemIndex(Me){let Bn=Me instanceof zn?Me.value:Me;if(Bn&&typeof Bn==="string")Bn=Number(Bn);return Number.isInteger(Bn)&&Bn>=0?Bn:null}var Ci=class extends ni{add(Me){this.items.push(Me)}delete(Me){const Bn=asItemIndex(Me);if(typeof Bn!=="number")return false;const Hn=this.items.splice(Bn,1);return Hn.length>0}get(Me,Bn){const Hn=asItemIndex(Me);if(typeof Hn!=="number")return void 0;const ni=this.items[Hn];return!Bn&&ni instanceof zn?ni.value:ni}has(Me){const Bn=asItemIndex(Me);return typeof Bn==="number"&&BnMe.type==="comment"?Me.str:`- ${Me.str}`,flowChars:{start:"[",end:"]"},isMap:false,itemIndent:(Me.indent||"")+" "},Bn,Hn)}};var stringifyKey=(Me,Bn,zn)=>{if(Bn===null)return"";if(typeof Bn!=="object")return String(Bn);if(Me instanceof Hn&&zn&&zn.doc)return Me.toString({anchors:Object.create(null),doc:zn.doc,indent:"",indentStep:zn.indentStep,inFlow:true,inStringifyKey:true,stringify:zn.stringify});return JSON.stringify(Bn)};var ts=class extends Hn{constructor(Me,Bn=null){super();this.key=Me;this.value=Bn;this.type=ts.Type.PAIR}get commentBefore(){return this.key instanceof Hn?this.key.commentBefore:void 0}set commentBefore(Me){if(this.key==null)this.key=new zn(null);if(this.key instanceof Hn)this.key.commentBefore=Me;else{const Me="Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.";throw new Error(Me)}}addToJSMap(Me,Bn){const Hn=toJSON(this.key,"",Me);if(Bn instanceof Map){const zn=toJSON(this.value,Hn,Me);Bn.set(Hn,zn)}else if(Bn instanceof Set){Bn.add(Hn)}else{const zn=stringifyKey(this.key,Hn,Me);const ni=toJSON(this.value,zn,Me);if(zn in Bn)Object.defineProperty(Bn,zn,{value:ni,writable:true,enumerable:true,configurable:true});else Bn[zn]=ni}return Bn}toJSON(Me,Bn){const Hn=Bn&&Bn.mapAsMap?new Map:{};return this.addToJSMap(Bn,Hn)}toString(Me,ts,Ps){if(!Me||!Me.doc)return JSON.stringify(this);const{indent:aa,indentSeq:oa,simpleKeys:ca}=Me.doc.options;let{key:_a,value:xa}=this;let Ga=_a instanceof Hn&&_a.comment;if(ca){if(Ga){throw new Error("With simple keys, key nodes cannot have comments")}if(_a instanceof ni){const Me="With simple keys, collection cannot be used as a key value";throw new Error(Me)}}let Ha=!ca&&(!_a||Ga||(_a instanceof Hn?_a instanceof ni||_a.type===Bn.Type.BLOCK_FOLDED||_a.type===Bn.Type.BLOCK_LITERAL:typeof _a==="object"));const{doc:so,indent:oo,indentStep:Jo,stringify:tc}=Me;Me=Object.assign({},Me,{implicitKey:!Ha,indent:oo+Jo});let dc=false;let Fc=tc(_a,Me,(()=>Ga=null),(()=>dc=true));Fc=addComment(Fc,Me.indent,Ga);if(!Ha&&Fc.length>1024){if(ca)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");Ha=true}if(Me.allNullValues&&!ca){if(this.comment){Fc=addComment(Fc,Me.indent,this.comment);if(ts)ts()}else if(dc&&!Ga&&Ps)Ps();return Me.inFlow&&!Ha?Fc:`? ${Fc}`}Fc=Ha?`? ${Fc}\n${oo}:`:`${Fc}:`;if(this.comment){Fc=addComment(Fc,Me.indent,this.comment);if(ts)ts()}let Jc="";let Dp=null;if(xa instanceof Hn){if(xa.spaceBefore)Jc="\n";if(xa.commentBefore){const Bn=xa.commentBefore.replace(/^/gm,`${Me.indent}#`);Jc+=`\n${Bn}`}Dp=xa.comment}else if(xa&&typeof xa==="object"){xa=so.schema.createNode(xa,true)}Me.implicitKey=false;if(!Ha&&!this.comment&&xa instanceof zn)Me.indentAtStart=Fc.length+1;dc=false;if(!oa&&aa>=2&&!Me.inFlow&&!Ha&&xa instanceof Ci&&xa.type!==Bn.Type.FLOW_SEQ&&!xa.tag&&!so.anchors.getName(xa)){Me.indent=Me.indent.substr(2)}const kp=tc(xa,Me,(()=>Dp=null),(()=>dc=true));let Qp=" ";if(Jc||this.comment){Qp=`${Jc}\n${Me.indent}`}else if(!Ha&&xa instanceof ni){const Bn=kp[0]==="["||kp[0]==="{";if(!Bn||kp.includes("\n"))Qp=`\n${Me.indent}`}else if(kp[0]==="\n")Qp="";if(dc&&!Dp&&Ps)Ps();return addComment(Fc+Qp+kp,Me.indent,Dp)}};Bn._defineProperty(ts,"Type",{PAIR:"PAIR",MERGE_PAIR:"MERGE_PAIR"});var getAliasCount=(Me,Bn)=>{if(Me instanceof Ps){const Hn=Bn.get(Me.source);return Hn.count*Hn.aliasCount}else if(Me instanceof ni){let Hn=0;for(const zn of Me.items){const Me=getAliasCount(zn,Bn);if(Me>Hn)Hn=Me}return Hn}else if(Me instanceof ts){const Hn=getAliasCount(Me.key,Bn);const zn=getAliasCount(Me.value,Bn);return Math.max(Hn,zn)}return 1};var Ps=class extends Hn{static stringify({range:Me,source:Bn},{anchors:Hn,doc:zn,implicitKey:ni,inStringifyKey:Ci}){let ts=Object.keys(Hn).find((Me=>Hn[Me]===Bn));if(!ts&&Ci)ts=zn.anchors.getName(Bn)||zn.anchors.newName();if(ts)return`*${ts}${ni?" ":""}`;const Ps=zn.anchors.getName(Bn)?"Alias node must be after source node":"Source node not found for alias node";throw new Error(`${Ps} [${Me}]`)}constructor(Me){super();this.source=Me;this.type=Bn.Type.ALIAS}set tag(Me){throw new Error("Alias nodes cannot have tags")}toJSON(Me,Hn){if(!Hn)return toJSON(this.source,Me,Hn);const{anchors:zn,maxAliasCount:ni}=Hn;const Ci=zn.get(this.source);if(!Ci||Ci.res===void 0){const Me="This should not happen: Alias anchor was not resolved?";if(this.cstNode)throw new Bn.YAMLReferenceError(this.cstNode,Me);else throw new ReferenceError(Me)}if(ni>=0){Ci.count+=1;if(Ci.aliasCount===0)Ci.aliasCount=getAliasCount(this.source,zn);if(Ci.count*Ci.aliasCount>ni){const Me="Excessive alias count indicates a resource exhaustion attack";if(this.cstNode)throw new Bn.YAMLReferenceError(this.cstNode,Me);else throw new ReferenceError(Me)}}return Ci.res}toString(Me){return Ps.stringify(this,Me)}};Bn._defineProperty(Ps,"default",true);function findPair(Me,Bn){const Hn=Bn instanceof zn?Bn.value:Bn;for(const zn of Me){if(zn instanceof ts){if(zn.key===Bn||zn.key===Hn)return zn;if(zn.key&&zn.key.value===Hn)return zn}}return void 0}var aa=class extends ni{add(Me,Bn){if(!Me)Me=new ts(Me);else if(!(Me instanceof ts))Me=new ts(Me.key||Me,Me.value);const Hn=findPair(this.items,Me.key);const zn=this.schema&&this.schema.sortMapEntries;if(Hn){if(Bn)Hn.value=Me.value;else throw new Error(`Key ${Me.key} already set`)}else if(zn){const Bn=this.items.findIndex((Bn=>zn(Me,Bn)<0));if(Bn===-1)this.items.push(Me);else this.items.splice(Bn,0,Me)}else{this.items.push(Me)}}delete(Me){const Bn=findPair(this.items,Me);if(!Bn)return false;const Hn=this.items.splice(this.items.indexOf(Bn),1);return Hn.length>0}get(Me,Bn){const Hn=findPair(this.items,Me);const ni=Hn&&Hn.value;return!Bn&&ni instanceof zn?ni.value:ni}has(Me){return!!findPair(this.items,Me)}set(Me,Bn){this.add(new ts(Me,Bn),true)}toJSON(Me,Bn,Hn){const zn=Hn?new Hn:Bn&&Bn.mapAsMap?new Map:{};if(Bn&&Bn.onCreate)Bn.onCreate(zn);for(const Me of this.items)Me.addToJSMap(Bn,zn);return zn}toString(Me,Bn,Hn){if(!Me)return JSON.stringify(this);for(const Me of this.items){if(!(Me instanceof ts))throw new Error(`Map items must all be pairs; found ${JSON.stringify(Me)} instead`)}return super.toString(Me,{blockItem:Me=>Me.str,flowChars:{start:"{",end:"}"},isMap:true,itemIndent:Me.indent||""},Bn,Hn)}};var oa="<<";var ca=class extends ts{constructor(Me){if(Me instanceof ts){let Bn=Me.value;if(!(Bn instanceof Ci)){Bn=new Ci;Bn.items.push(Me.value);Bn.range=Me.value.range}super(Me.key,Bn);this.range=Me.range}else{super(new zn(oa),new Ci)}this.type=ts.Type.MERGE_PAIR}addToJSMap(Me,Bn){for(const{source:Hn}of this.value.items){if(!(Hn instanceof aa))throw new Error("Merge sources must be maps");const zn=Hn.toJSON(null,Me,Map);for(const[Me,Hn]of zn){if(Bn instanceof Map){if(!Bn.has(Me))Bn.set(Me,Hn)}else if(Bn instanceof Set){Bn.add(Me)}else if(!Object.prototype.hasOwnProperty.call(Bn,Me)){Object.defineProperty(Bn,Me,{value:Hn,writable:true,enumerable:true,configurable:true})}}}return Bn}toString(Me,Bn){const Hn=this.value;if(Hn.items.length>1)return super.toString(Me,Bn);this.value=Hn.items[0];const zn=super.toString(Me,Bn);this.value=Hn;return zn}};var _a={defaultType:Bn.Type.BLOCK_LITERAL,lineWidth:76};var xa={trueStr:"true",falseStr:"false"};var Ga={asBigInt:false};var Ha={nullStr:"null"};var so={defaultType:Bn.Type.PLAIN,doubleQuoted:{jsonEncoding:false,minMultiLineLength:40},fold:{lineWidth:80,minContentWidth:20}};function resolveScalar(Me,Bn,Hn){for(const{format:Hn,test:ni,resolve:Ci}of Bn){if(ni){const Bn=Me.match(ni);if(Bn){let Me=Ci.apply(null,Bn);if(!(Me instanceof zn))Me=new zn(Me);if(Hn)Me.format=Hn;return Me}}}if(Hn)Me=Hn(Me);return new zn(Me)}var oo="flow";var Jo="block";var tc="quoted";var consumeMoreIndentedLines=(Me,Bn)=>{let Hn=Me[Bn+1];while(Hn===" "||Hn==="\t"){do{Hn=Me[Bn+=1]}while(Hn&&Hn!=="\n");Hn=Me[Bn+1]}return Bn};function foldFlowLines(Me,Bn,Hn,{indentAtStart:zn,lineWidth:ni=80,minContentWidth:Ci=20,onFold:ts,onOverflow:Ps}){if(!ni||ni<0)return Me;const aa=Math.max(1+Ci,1+ni-Bn.length);if(Me.length<=aa)return Me;const oa=[];const ca={};let _a=ni-Bn.length;if(typeof zn==="number"){if(zn>ni-Math.max(2,Ci))oa.push(0);else _a=ni-zn}let xa=void 0;let Ga=void 0;let Ha=false;let so=-1;let oo=-1;let dc=-1;if(Hn===Jo){so=consumeMoreIndentedLines(Me,so);if(so!==-1)_a=so+aa}for(let Bn;Bn=Me[so+=1];){if(Hn===tc&&Bn==="\\"){oo=so;switch(Me[so+1]){case"x":so+=3;break;case"u":so+=5;break;case"U":so+=9;break;default:so+=1}dc=so}if(Bn==="\n"){if(Hn===Jo)so=consumeMoreIndentedLines(Me,so);_a=so+aa;xa=void 0}else{if(Bn===" "&&Ga&&Ga!==" "&&Ga!=="\n"&&Ga!=="\t"){const Bn=Me[so+1];if(Bn&&Bn!==" "&&Bn!=="\n"&&Bn!=="\t")xa=so}if(so>=_a){if(xa){oa.push(xa);_a=xa+aa;xa=void 0}else if(Hn===tc){while(Ga===" "||Ga==="\t"){Ga=Bn;Bn=Me[so+=1];Ha=true}const Hn=so>dc+1?so-2:oo-1;if(ca[Hn])return Me;oa.push(Hn);ca[Hn]=true;_a=Hn+aa;xa=void 0}else{Ha=true}}}Ga=Bn}if(Ha&&Ps)Ps();if(oa.length===0)return Me;if(ts)ts();let Fc=Me.slice(0,oa[0]);for(let zn=0;znMe?Object.assign({indentAtStart:Me},so.fold):so.fold;var containsDocumentMarker=Me=>/^(%|---|\.\.\.)/m.test(Me);function lineLengthOverLimit(Me,Bn,Hn){if(!Bn||Bn<0)return false;const zn=Bn-Hn;const ni=Me.length;if(ni<=zn)return false;for(let Bn=0,Hn=0;Bnzn)return true;Hn=Bn+1;if(ni-Hn<=zn)return false}}return true}function doubleQuotedString(Me,Bn){const{implicitKey:Hn}=Bn;const{jsonEncoding:zn,minMultiLineLength:ni}=so.doubleQuoted;const Ci=JSON.stringify(Me);if(zn)return Ci;const ts=Bn.indent||(containsDocumentMarker(Me)?" ":"");let Ps="";let aa=0;for(let Me=0,Bn=Ci[Me];Bn;Bn=Ci[++Me]){if(Bn===" "&&Ci[Me+1]==="\\"&&Ci[Me+2]==="n"){Ps+=Ci.slice(aa,Me)+"\\ ";Me+=1;aa=Me;Bn="\\"}if(Bn==="\\")switch(Ci[Me+1]){case"u":{Ps+=Ci.slice(aa,Me);const Bn=Ci.substr(Me+2,4);switch(Bn){case"0000":Ps+="\\0";break;case"0007":Ps+="\\a";break;case"000b":Ps+="\\v";break;case"001b":Ps+="\\e";break;case"0085":Ps+="\\N";break;case"00a0":Ps+="\\_";break;case"2028":Ps+="\\L";break;case"2029":Ps+="\\P";break;default:if(Bn.substr(0,2)==="00")Ps+="\\x"+Bn.substr(2);else Ps+=Ci.substr(Me,6)}Me+=5;aa=Me+1}break;case"n":if(Hn||Ci[Me+2]==='"'||Ci.length";if(!zn)return ca+"\n";let _a="";let xa="";zn=zn.replace(/[\n\t ]*$/,(Me=>{const Bn=Me.indexOf("\n");if(Bn===-1){ca+="-"}else if(zn===Me||Bn!==Me.length-1){ca+="+";if(ts)ts()}xa=Me.replace(/\n$/,"");return""})).replace(/^[\n ]*/,(Me=>{if(Me.indexOf(" ")!==-1)ca+=aa;const Bn=Me.match(/ +$/);if(Bn){_a=Me.slice(0,-Bn[0].length);return Bn[0]}else{_a=Me;return""}}));if(xa)xa=xa.replace(/\n+(?!\n|$)/g,`$&${Ps}`);if(_a)_a=_a.replace(/\n+/g,`$&${Ps}`);if(Me){ca+=" #"+Me.replace(/ ?[\r\n]+/g," ");if(Ci)Ci()}if(!zn)return`${ca}${aa}\n${Ps}${xa}`;if(oa){zn=zn.replace(/\n+/g,`$&${Ps}`);return`${ca}\n${Ps}${_a}${zn}${xa}`}zn=zn.replace(/\n+/g,"\n$&").replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${Ps}`);const Ga=foldFlowLines(`${_a}${zn}${xa}`,Ps,Jo,so.fold);return`${ca}\n${Ps}${Ga}`}function plainString(Me,Hn,zn,ni){const{comment:Ci,type:ts,value:Ps}=Me;const{actualString:aa,implicitKey:oa,indent:ca,inFlow:_a}=Hn;if(oa&&/[\n[\]{},]/.test(Ps)||_a&&/[[\]{},]/.test(Ps)){return doubleQuotedString(Ps,Hn)}if(!Ps||/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(Ps)){return oa||_a||Ps.indexOf("\n")===-1?Ps.indexOf('"')!==-1&&Ps.indexOf("'")===-1?singleQuotedString(Ps,Hn):doubleQuotedString(Ps,Hn):blockString(Me,Hn,zn,ni)}if(!oa&&!_a&&ts!==Bn.Type.PLAIN&&Ps.indexOf("\n")!==-1){return blockString(Me,Hn,zn,ni)}if(ca===""&&containsDocumentMarker(Ps)){Hn.forceBlockIndent=true;return blockString(Me,Hn,zn,ni)}const xa=Ps.replace(/\n+/g,`$&\n${ca}`);if(aa){const{tags:Me}=Hn.doc.schema;const Bn=resolveScalar(xa,Me,Me.scalarFallback).value;if(typeof Bn!=="string")return doubleQuotedString(Ps,Hn)}const Ga=oa?xa:foldFlowLines(xa,ca,oo,getFoldOptions(Hn));if(Ci&&!_a&&(Ga.indexOf("\n")!==-1||Ci.indexOf("\n")!==-1)){if(zn)zn();return addCommentBefore(Ga,ca,Ci)}return Ga}function stringifyString(Me,Hn,zn,ni){const{defaultType:Ci}=so;const{implicitKey:ts,inFlow:Ps}=Hn;let{type:aa,value:oa}=Me;if(typeof oa!=="string"){oa=String(oa);Me=Object.assign({},Me,{value:oa})}const _stringify=Ci=>{switch(Ci){case Bn.Type.BLOCK_FOLDED:case Bn.Type.BLOCK_LITERAL:return blockString(Me,Hn,zn,ni);case Bn.Type.QUOTE_DOUBLE:return doubleQuotedString(oa,Hn);case Bn.Type.QUOTE_SINGLE:return singleQuotedString(oa,Hn);case Bn.Type.PLAIN:return plainString(Me,Hn,zn,ni);default:return null}};if(aa!==Bn.Type.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(oa)){aa=Bn.Type.QUOTE_DOUBLE}else if((ts||Ps)&&(aa===Bn.Type.BLOCK_FOLDED||aa===Bn.Type.BLOCK_LITERAL)){aa=Bn.Type.QUOTE_DOUBLE}let ca=_stringify(aa);if(ca===null){ca=_stringify(Ci);if(ca===null)throw new Error(`Unsupported default string type ${Ci}`)}return ca}function stringifyNumber({format:Me,minFractionDigits:Bn,tag:Hn,value:zn}){if(typeof zn==="bigint")return String(zn);if(!isFinite(zn))return isNaN(zn)?".nan":zn<0?"-.inf":".inf";let ni=JSON.stringify(zn);if(!Me&&Bn&&(!Hn||Hn==="tag:yaml.org,2002:float")&&/^\d/.test(ni)){let Me=ni.indexOf(".");if(Me<0){Me=ni.length;ni+="."}let Hn=Bn-(ni.length-Me-1);while(Hn-- >0)ni+="0"}return ni}function checkFlowCollectionEnd(Me,Hn){let zn,ni;switch(Hn.type){case Bn.Type.FLOW_MAP:zn="}";ni="flow map";break;case Bn.Type.FLOW_SEQ:zn="]";ni="flow sequence";break;default:Me.push(new Bn.YAMLSemanticError(Hn,"Not a flow collection!?"));return}let Ci;for(let Me=Hn.items.length-1;Me>=0;--Me){const zn=Hn.items[Me];if(!zn||zn.type!==Bn.Type.COMMENT){Ci=zn;break}}if(Ci&&Ci.char!==zn){const ts=`Expected ${ni} to end with ${zn}`;let Ps;if(typeof Ci.offset==="number"){Ps=new Bn.YAMLSemanticError(Hn,ts);Ps.offset=Ci.offset+1}else{Ps=new Bn.YAMLSemanticError(Ci,ts);if(Ci.range&&Ci.range.end)Ps.offset=Ci.range.end-Ci.range.start}Me.push(Ps)}}function checkFlowCommentSpace(Me,Hn){const zn=Hn.context.src[Hn.range.start-1];if(zn!=="\n"&&zn!=="\t"&&zn!==" "){const zn="Comments must be separated from other tokens by white space characters";Me.push(new Bn.YAMLSemanticError(Hn,zn))}}function getLongKeyError(Me,Hn){const zn=String(Hn);const ni=zn.substr(0,8)+"..."+zn.substr(-8);return new Bn.YAMLSemanticError(Me,`The "${ni}" key is too long`)}function resolveComments(Me,Bn){for(const{afterKey:Hn,before:zn,comment:ni}of Bn){let Bn=Me.items[zn];if(!Bn){if(ni!==void 0){if(Me.comment)Me.comment+="\n"+ni;else Me.comment=ni}}else{if(Hn&&Bn.value)Bn=Bn.value;if(ni===void 0){if(Hn||!Bn.commentBefore)Bn.spaceBefore=true}else{if(Bn.commentBefore)Bn.commentBefore+="\n"+ni;else Bn.commentBefore=ni}}}}function resolveString(Me,Bn){const Hn=Bn.strValue;if(!Hn)return"";if(typeof Hn==="string")return Hn;Hn.errors.forEach((Hn=>{if(!Hn.source)Hn.source=Bn;Me.errors.push(Hn)}));return Hn.str}function resolveTagHandle(Me,Hn){const{handle:zn,suffix:ni}=Hn.tag;let Ci=Me.tagPrefixes.find((Me=>Me.handle===zn));if(!Ci){const ni=Me.getDefaults().tagPrefixes;if(ni)Ci=ni.find((Me=>Me.handle===zn));if(!Ci)throw new Bn.YAMLSemanticError(Hn,`The ${zn} tag handle is non-default and was not declared.`)}if(!ni)throw new Bn.YAMLSemanticError(Hn,`The ${zn} tag has no suffix.`);if(zn==="!"&&(Me.version||Me.options.version)==="1.0"){if(ni[0]==="^"){Me.warnings.push(new Bn.YAMLWarning(Hn,"YAML 1.0 ^ tag expansion is not supported"));return ni}if(/[:/]/.test(ni)){const Me=ni.match(/^([a-z0-9-]+)\/(.*)/i);return Me?`tag:${Me[1]}.yaml.org,2002:${Me[2]}`:`tag:${ni}`}}return Ci.prefix+decodeURIComponent(ni)}function resolveTagName(Me,Hn){const{tag:zn,type:ni}=Hn;let Ci=false;if(zn){const{handle:ni,suffix:ts,verbatim:Ps}=zn;if(Ps){if(Ps!=="!"&&Ps!=="!!")return Ps;const zn=`Verbatim tags aren't resolved, so ${Ps} is invalid.`;Me.errors.push(new Bn.YAMLSemanticError(Hn,zn))}else if(ni==="!"&&!ts){Ci=true}else{try{return resolveTagHandle(Me,Hn)}catch(Bn){Me.errors.push(Bn)}}}switch(ni){case Bn.Type.BLOCK_FOLDED:case Bn.Type.BLOCK_LITERAL:case Bn.Type.QUOTE_DOUBLE:case Bn.Type.QUOTE_SINGLE:return Bn.defaultTags.STR;case Bn.Type.FLOW_MAP:case Bn.Type.MAP:return Bn.defaultTags.MAP;case Bn.Type.FLOW_SEQ:case Bn.Type.SEQ:return Bn.defaultTags.SEQ;case Bn.Type.PLAIN:return Ci?Bn.defaultTags.STR:null;default:return null}}function resolveByTagName(Me,Bn,Hn){const{tags:Ci}=Me.schema;const ts=[];for(const Ps of Ci){if(Ps.tag===Hn){if(Ps.test)ts.push(Ps);else{const Hn=Ps.resolve(Me,Bn);return Hn instanceof ni?Hn:new zn(Hn)}}}const Ps=resolveString(Me,Bn);if(typeof Ps==="string"&&ts.length>0)return resolveScalar(Ps,ts,Ci.scalarFallback);return null}function getFallbackTagName({type:Me}){switch(Me){case Bn.Type.FLOW_MAP:case Bn.Type.MAP:return Bn.defaultTags.MAP;case Bn.Type.FLOW_SEQ:case Bn.Type.SEQ:return Bn.defaultTags.SEQ;default:return Bn.defaultTags.STR}}function resolveTag(Me,Hn,zn){try{const Bn=resolveByTagName(Me,Hn,zn);if(Bn){if(zn&&Hn.tag)Bn.tag=zn;return Bn}}catch(Bn){if(!Bn.source)Bn.source=Hn;Me.errors.push(Bn);return null}try{const ni=getFallbackTagName(Hn);if(!ni)throw new Error(`The tag ${zn} is unavailable`);const Ci=`The tag ${zn} is unavailable, falling back to ${ni}`;Me.warnings.push(new Bn.YAMLWarning(Hn,Ci));const ts=resolveByTagName(Me,Hn,ni);ts.tag=zn;return ts}catch(zn){const ni=new Bn.YAMLReferenceError(Hn,zn.message);ni.stack=zn.stack;Me.errors.push(ni);return null}}var isCollectionItem=Me=>{if(!Me)return false;const{type:Hn}=Me;return Hn===Bn.Type.MAP_KEY||Hn===Bn.Type.MAP_VALUE||Hn===Bn.Type.SEQ_ITEM};function resolveNodeProps(Me,Hn){const zn={before:[],after:[]};let ni=false;let Ci=false;const ts=isCollectionItem(Hn.context.parent)?Hn.context.parent.props.concat(Hn.props):Hn.props;for(const{start:Ps,end:aa}of ts){switch(Hn.context.src[Ps]){case Bn.Char.COMMENT:{if(!Hn.commentHasRequiredWhitespace(Ps)){const zn="Comments must be separated from other tokens by white space characters";Me.push(new Bn.YAMLSemanticError(Hn,zn))}const{header:ni,valueRange:Ci}=Hn;const ts=Ci&&(Ps>Ci.start||ni&&Ps>ni.start)?zn.after:zn.before;ts.push(Hn.context.src.slice(Ps+1,aa));break}case Bn.Char.ANCHOR:if(ni){const zn="A node can have at most one anchor";Me.push(new Bn.YAMLSemanticError(Hn,zn))}ni=true;break;case Bn.Char.TAG:if(Ci){const zn="A node can have at most one tag";Me.push(new Bn.YAMLSemanticError(Hn,zn))}Ci=true;break}}return{comments:zn,hasAnchor:ni,hasTag:Ci}}function resolveNodeValue(Me,Hn){const{anchors:zn,errors:ni,schema:Ci}=Me;if(Hn.type===Bn.Type.ALIAS){const Me=Hn.rawValue;const Ci=zn.getNode(Me);if(!Ci){const zn=`Aliased anchor not found: ${Me}`;ni.push(new Bn.YAMLReferenceError(Hn,zn));return null}const ts=new Ps(Ci);zn._cstAliases.push(ts);return ts}const ts=resolveTagName(Me,Hn);if(ts)return resolveTag(Me,Hn,ts);if(Hn.type!==Bn.Type.PLAIN){const Me=`Failed to resolve ${Hn.type} node here`;ni.push(new Bn.YAMLSyntaxError(Hn,Me));return null}try{const Bn=resolveString(Me,Hn);return resolveScalar(Bn,Ci.tags,Ci.tags.scalarFallback)}catch(Me){if(!Me.source)Me.source=Hn;ni.push(Me);return null}}function resolveNode(Me,Hn){if(!Hn)return null;if(Hn.error)Me.errors.push(Hn.error);const{comments:zn,hasAnchor:ni,hasTag:Ci}=resolveNodeProps(Me.errors,Hn);if(ni){const{anchors:Bn}=Me;const zn=Hn.anchor;const ni=Bn.getNode(zn);if(ni)Bn.map[Bn.newName(zn)]=ni;Bn.map[zn]=Hn}if(Hn.type===Bn.Type.ALIAS&&(ni||Ci)){const zn="An alias node must not specify any properties";Me.errors.push(new Bn.YAMLSemanticError(Hn,zn))}const ts=resolveNodeValue(Me,Hn);if(ts){ts.range=[Hn.range.start,Hn.range.end];if(Me.options.keepCstNodes)ts.cstNode=Hn;if(Me.options.keepNodeTypes)ts.type=Hn.type;const Bn=zn.before.join("\n");if(Bn){ts.commentBefore=ts.commentBefore?`${ts.commentBefore}\n${Bn}`:Bn}const ni=zn.after.join("\n");if(ni)ts.comment=ts.comment?`${ts.comment}\n${ni}`:ni}return Hn.resolved=ts}function resolveMap(Me,Hn){if(Hn.type!==Bn.Type.MAP&&Hn.type!==Bn.Type.FLOW_MAP){const zn=`A ${Hn.type} node cannot be resolved as a mapping`;Me.errors.push(new Bn.YAMLSyntaxError(Hn,zn));return null}const{comments:zn,items:Ci}=Hn.type===Bn.Type.FLOW_MAP?resolveFlowMapItems(Me,Hn):resolveBlockMapItems(Me,Hn);const ts=new aa;ts.items=Ci;resolveComments(ts,zn);let _a=false;for(let zn=0;zn{if(Me instanceof Ps){const{type:Hn}=Me.source;if(Hn===Bn.Type.MAP||Hn===Bn.Type.FLOW_MAP)return false;return ts="Merge nodes aliases can only point to maps"}return ts="Merge nodes can only have Alias nodes as values"}));if(ts)Me.errors.push(new Bn.YAMLSemanticError(Hn,ts))}else{for(let ni=zn+1;ni{if(ni.length===0)return false;const{start:Ci}=ni[0];if(Hn&&Ci>Hn.valueRange.start)return false;if(zn[Ci]!==Bn.Char.COMMENT)return false;for(let Bn=Me;Bn0){zn=new Bn.PlainValue(Bn.Type.PLAIN,[]);zn.context={parent:oa,src:oa.context.src};const Me=oa.range.start+1;zn.range={start:Me,end:Me};zn.valueRange={start:Me,end:Me};if(typeof oa.range.origStart==="number"){const Me=oa.range.origStart+1;zn.range.origStart=zn.range.origEnd=Me;zn.valueRange.origStart=zn.valueRange.origEnd=Me}}const aa=new ts(Ci,resolveNode(Me,zn));resolvePairComment(oa,aa);ni.push(aa);if(Ci&&typeof Ps==="number"){if(oa.range.start>Ps+1024)Me.errors.push(getLongKeyError(Hn,Ci))}Ci=void 0;Ps=null}break;default:if(Ci!==void 0)ni.push(new ts(Ci));Ci=resolveNode(Me,oa);Ps=oa.range.start;if(oa.error)Me.errors.push(oa.error);e:for(let zn=aa+1;;++zn){const ni=Hn.items[zn];switch(ni&&ni.type){case Bn.Type.BLANK_LINE:case Bn.Type.COMMENT:continue e;case Bn.Type.MAP_VALUE:break e;default:{const Hn="Implicit map keys need to be followed by map values";Me.errors.push(new Bn.YAMLSemanticError(oa,Hn));break e}}}if(oa.valueRangeContainsNewline){const Hn="Implicit map keys need to be on a single line";Me.errors.push(new Bn.YAMLSemanticError(oa,Hn))}}}if(Ci!==void 0)ni.push(new ts(Ci));return{comments:zn,items:ni}}function resolveFlowMapItems(Me,Hn){const zn=[];const ni=[];let Ci=void 0;let Ps=false;let aa="{";for(let oa=0;oaMe instanceof ts&&Me.key instanceof ni))){const zn="Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.";Me.warnings.push(new Bn.YAMLWarning(Hn,zn))}Hn.resolved=aa;return aa}function resolveBlockSeqItems(Me,Hn){const zn=[];const ni=[];for(let Ci=0;Ciaa+1024)Me.errors.push(getLongKeyError(Hn,Ps));const{src:ni}=ca.context;for(let Hn=aa;HnMe instanceof Uint8Array,default:false,tag:"tag:yaml.org,2002:binary",resolve:(Me,zn)=>{const ni=Hn.resolveString(Me,zn);if(typeof Buffer==="function"){return Buffer.from(ni,"base64")}else if(typeof atob==="function"){const Me=atob(ni.replace(/[\n\r]/g,""));const Bn=new Uint8Array(Me.length);for(let Hn=0;Hn{let aa;if(typeof Buffer==="function"){aa=ni instanceof Buffer?ni.toString("base64"):Buffer.from(ni.buffer).toString("base64")}else if(typeof btoa==="function"){let Me="";for(let Bn=0;Bn1){const Me="Each pair must have its own sequence indicator";throw new Bn.YAMLSemanticError(zn,Me)}const Me=Ci.items[0]||new Hn.Pair;if(Ci.commentBefore)Me.commentBefore=Me.commentBefore?`${Ci.commentBefore}\n${Me.commentBefore}`:Ci.commentBefore;if(Ci.comment)Me.comment=Me.comment?`${Ci.comment}\n${Me.comment}`:Ci.comment;Ci=Me}ni.items[Me]=Ci instanceof Hn.Pair?Ci:new Hn.Pair(Ci)}return ni}function createPairs(Me,Bn,zn){const ni=new Hn.YAMLSeq(Me);ni.tag="tag:yaml.org,2002:pairs";for(const Hn of Bn){let Bn,Ci;if(Array.isArray(Hn)){if(Hn.length===2){Bn=Hn[0];Ci=Hn[1]}else throw new TypeError(`Expected [key, value] tuple: ${Hn}`)}else if(Hn&&Hn instanceof Object){const Me=Object.keys(Hn);if(Me.length===1){Bn=Me[0];Ci=Hn[Bn]}else throw new TypeError(`Expected { key: value } tuple: ${Hn}`)}else{Bn=Hn}const ts=Me.createPair(Bn,Ci,zn);ni.items.push(ts)}return ni}var ni={default:false,tag:"tag:yaml.org,2002:pairs",resolve:parsePairs,createNode:createPairs};var Ci=class extends Hn.YAMLSeq{constructor(){super();Bn._defineProperty(this,"add",Hn.YAMLMap.prototype.add.bind(this));Bn._defineProperty(this,"delete",Hn.YAMLMap.prototype.delete.bind(this));Bn._defineProperty(this,"get",Hn.YAMLMap.prototype.get.bind(this));Bn._defineProperty(this,"has",Hn.YAMLMap.prototype.has.bind(this));Bn._defineProperty(this,"set",Hn.YAMLMap.prototype.set.bind(this));this.tag=Ci.tag}toJSON(Me,Bn){const zn=new Map;if(Bn&&Bn.onCreate)Bn.onCreate(zn);for(const Me of this.items){let ni,Ci;if(Me instanceof Hn.Pair){ni=Hn.toJSON(Me.key,"",Bn);Ci=Hn.toJSON(Me.value,ni,Bn)}else{ni=Hn.toJSON(Me,"",Bn)}if(zn.has(ni))throw new Error("Ordered maps must not include duplicate keys");zn.set(ni,Ci)}return zn}};Bn._defineProperty(Ci,"tag","tag:yaml.org,2002:omap");function parseOMap(Me,zn){const ni=parsePairs(Me,zn);const ts=[];for(const{key:Me}of ni.items){if(Me instanceof Hn.Scalar){if(ts.includes(Me.value)){const Me="Ordered maps must not include duplicate keys";throw new Bn.YAMLSemanticError(zn,Me)}else{ts.push(Me.value)}}}return Object.assign(new Ci,ni)}function createOMap(Me,Bn,Hn){const zn=createPairs(Me,Bn,Hn);const ni=new Ci;ni.items=zn.items;return ni}var ts={identify:Me=>Me instanceof Map,nodeClass:Ci,default:false,tag:"tag:yaml.org,2002:omap",resolve:parseOMap,createNode:createOMap};var Ps=class extends Hn.YAMLMap{constructor(){super();this.tag=Ps.tag}add(Me){const Bn=Me instanceof Hn.Pair?Me:new Hn.Pair(Me);const zn=Hn.findPair(this.items,Bn.key);if(!zn)this.items.push(Bn)}get(Me,Bn){const zn=Hn.findPair(this.items,Me);return!Bn&&zn instanceof Hn.Pair?zn.key instanceof Hn.Scalar?zn.key.value:zn.key:zn}set(Me,Bn){if(typeof Bn!=="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof Bn}`);const zn=Hn.findPair(this.items,Me);if(zn&&!Bn){this.items.splice(this.items.indexOf(zn),1)}else if(!zn&&Bn){this.items.push(new Hn.Pair(Me))}}toJSON(Me,Bn){return super.toJSON(Me,Bn,Set)}toString(Me,Bn,Hn){if(!Me)return JSON.stringify(this);if(this.hasAllNullValues())return super.toString(Me,Bn,Hn);else throw new Error("Set items must all have null values")}};Bn._defineProperty(Ps,"tag","tag:yaml.org,2002:set");function parseSet(Me,zn){const ni=Hn.resolveMap(Me,zn);if(!ni.hasAllNullValues())throw new Bn.YAMLSemanticError(zn,"Set items must all have null values");return Object.assign(new Ps,ni)}function createSet(Me,Bn,Hn){const zn=new Ps;for(const ni of Bn)zn.items.push(Me.createPair(ni,null,Hn));return zn}var aa={identify:Me=>Me instanceof Set,nodeClass:Ps,default:false,tag:"tag:yaml.org,2002:set",resolve:parseSet,createNode:createSet};var parseSexagesimal=(Me,Bn)=>{const Hn=Bn.split(":").reduce(((Me,Bn)=>Me*60+Number(Bn)),0);return Me==="-"?-Hn:Hn};var stringifySexagesimal=({value:Me})=>{if(isNaN(Me)||!isFinite(Me))return Hn.stringifyNumber(Me);let Bn="";if(Me<0){Bn="-";Me=Math.abs(Me)}const zn=[Me%60];if(Me<60){zn.unshift(0)}else{Me=Math.round((Me-zn[0])/60);zn.unshift(Me%60);if(Me>=60){Me=Math.round((Me-zn[0])/60);zn.unshift(Me)}}return Bn+zn.map((Me=>Me<10?"0"+String(Me):String(Me))).join(":").replace(/000000\d*$/,"")};var oa={identify:Me=>typeof Me==="number",default:true,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,resolve:(Me,Bn,Hn)=>parseSexagesimal(Bn,Hn.replace(/_/g,"")),stringify:stringifySexagesimal};var ca={identify:Me=>typeof Me==="number",default:true,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*)$/,resolve:(Me,Bn,Hn)=>parseSexagesimal(Bn,Hn.replace(/_/g,"")),stringify:stringifySexagesimal};var _a={identify:Me=>Me instanceof Date,default:true,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^(?:([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?)$"),resolve:(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa)=>{if(Ps)Ps=(Ps+"00").substr(1,3);let oa=Date.UTC(Bn,Hn-1,zn,ni||0,Ci||0,ts||0,Ps||0);if(aa&&aa!=="Z"){let Me=parseSexagesimal(aa[0],aa.slice(1));if(Math.abs(Me)<30)Me*=60;oa-=6e4*Me}return new Date(oa)},stringify:({value:Me})=>Me.toISOString().replace(/((T00:00)?:00)?\.000Z$/,"")};function shouldWarn(Me){const Bn=typeof process!=="undefined"&&process.env||{};if(Me){if(typeof YAML_SILENCE_DEPRECATION_WARNINGS!=="undefined")return!YAML_SILENCE_DEPRECATION_WARNINGS;return!Bn.YAML_SILENCE_DEPRECATION_WARNINGS}if(typeof YAML_SILENCE_WARNINGS!=="undefined")return!YAML_SILENCE_WARNINGS;return!Bn.YAML_SILENCE_WARNINGS}function warn(Me,Bn){if(shouldWarn(false)){const Hn=typeof process!=="undefined"&&process.emitWarning;if(Hn)Hn(Me,Bn);else{console.warn(Bn?`${Bn}: ${Me}`:Me)}}}function warnFileDeprecation(Me){if(shouldWarn(true)){const Bn=Me.replace(/.*yaml[/\\]/i,"").replace(/\.js$/,"").replace(/\\/g,"/");warn(`The endpoint 'yaml/${Bn}' will be removed in a future release.`,"DeprecationWarning")}}var xa={};function warnOptionDeprecation(Me,Bn){if(!xa[Me]&&shouldWarn(true)){xa[Me]=true;let Hn=`The option '${Me}' will be removed in a future release`;Hn+=Bn?`, use '${Bn}' instead.`:".";warn(Hn,"DeprecationWarning")}}Me.binary=zn;Me.floatTime=ca;Me.intTime=oa;Me.omap=ts;Me.pairs=ni;Me.set=aa;Me.timestamp=_a;Me.warn=warn;Me.warnFileDeprecation=warnFileDeprecation;Me.warnOptionDeprecation=warnOptionDeprecation}});var Yf=__commonJS({"node_modules/yaml/dist/Schema-88e323a7.js"(Me){"use strict";var Bn=Jp();var Hn=zp();var zn=Qf();function createMap(Me,Bn,zn){const ni=new Hn.YAMLMap(Me);if(Bn instanceof Map){for(const[Hn,Ci]of Bn)ni.items.push(Me.createPair(Hn,Ci,zn))}else if(Bn&&typeof Bn==="object"){for(const Hn of Object.keys(Bn))ni.items.push(Me.createPair(Hn,Bn[Hn],zn))}if(typeof Me.sortMapEntries==="function"){ni.items.sort(Me.sortMapEntries)}return ni}var ni={createNode:createMap,default:true,nodeClass:Hn.YAMLMap,tag:"tag:yaml.org,2002:map",resolve:Hn.resolveMap};function createSeq(Me,Bn,zn){const ni=new Hn.YAMLSeq(Me);if(Bn&&Bn[Symbol.iterator]){for(const Hn of Bn){const Bn=Me.createNode(Hn,zn.wrapScalars,null,zn);ni.items.push(Bn)}}return ni}var Ci={createNode:createSeq,default:true,nodeClass:Hn.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve:Hn.resolveSeq};var ts={identify:Me=>typeof Me==="string",default:true,tag:"tag:yaml.org,2002:str",resolve:Hn.resolveString,stringify(Me,Bn,zn,ni){Bn=Object.assign({actualString:true},Bn);return Hn.stringifyString(Me,Bn,zn,ni)},options:Hn.strOptions};var Ps=[ni,Ci,ts];var intIdentify$2=Me=>typeof Me==="bigint"||Number.isInteger(Me);var intResolve$1=(Me,Bn,zn)=>Hn.intOptions.asBigInt?BigInt(Me):parseInt(Bn,zn);function intStringify$1(Me,Bn,zn){const{value:ni}=Me;if(intIdentify$2(ni)&&ni>=0)return zn+ni.toString(Bn);return Hn.stringifyNumber(Me)}var aa={identify:Me=>Me==null,createNode:(Me,Bn,zn)=>zn.wrapScalars?new Hn.Scalar(null):null,default:true,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:Hn.nullOptions,stringify:()=>Hn.nullOptions.nullStr};var oa={identify:Me=>typeof Me==="boolean",default:true,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:Me=>Me[0]==="t"||Me[0]==="T",options:Hn.boolOptions,stringify:({value:Me})=>Me?Hn.boolOptions.trueStr:Hn.boolOptions.falseStr};var ca={identify:Me=>intIdentify$2(Me)&&Me>=0,default:true,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o([0-7]+)$/,resolve:(Me,Bn)=>intResolve$1(Me,Bn,8),options:Hn.intOptions,stringify:Me=>intStringify$1(Me,8,"0o")};var _a={identify:intIdentify$2,default:true,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:Me=>intResolve$1(Me,Me,10),options:Hn.intOptions,stringify:Hn.stringifyNumber};var xa={identify:Me=>intIdentify$2(Me)&&Me>=0,default:true,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x([0-9a-fA-F]+)$/,resolve:(Me,Bn)=>intResolve$1(Me,Bn,16),options:Hn.intOptions,stringify:Me=>intStringify$1(Me,16,"0x")};var Ga={identify:Me=>typeof Me==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(Me,Bn)=>Bn?NaN:Me[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Hn.stringifyNumber};var Ha={identify:Me=>typeof Me==="number",default:true,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:Me=>parseFloat(Me),stringify:({value:Me})=>Number(Me).toExponential()};var so={identify:Me=>typeof Me==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.([0-9]+)|[0-9]+\.([0-9]*))$/,resolve(Me,Bn,zn){const ni=Bn||zn;const Ci=new Hn.Scalar(parseFloat(Me));if(ni&&ni[ni.length-1]==="0")Ci.minFractionDigits=ni.length;return Ci},stringify:Hn.stringifyNumber};var oo=Ps.concat([aa,oa,ca,_a,xa,Ga,Ha,so]);var intIdentify$1=Me=>typeof Me==="bigint"||Number.isInteger(Me);var stringifyJSON=({value:Me})=>JSON.stringify(Me);var Jo=[ni,Ci,{identify:Me=>typeof Me==="string",default:true,tag:"tag:yaml.org,2002:str",resolve:Hn.resolveString,stringify:stringifyJSON},{identify:Me=>Me==null,createNode:(Me,Bn,zn)=>zn.wrapScalars?new Hn.Scalar(null):null,default:true,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:stringifyJSON},{identify:Me=>typeof Me==="boolean",default:true,tag:"tag:yaml.org,2002:bool",test:/^true|false$/,resolve:Me=>Me==="true",stringify:stringifyJSON},{identify:intIdentify$1,default:true,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:Me=>Hn.intOptions.asBigInt?BigInt(Me):parseInt(Me,10),stringify:({value:Me})=>intIdentify$1(Me)?Me.toString():JSON.stringify(Me)},{identify:Me=>typeof Me==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:Me=>parseFloat(Me),stringify:stringifyJSON}];Jo.scalarFallback=Me=>{throw new SyntaxError(`Unresolved plain scalar ${JSON.stringify(Me)}`)};var boolStringify=({value:Me})=>Me?Hn.boolOptions.trueStr:Hn.boolOptions.falseStr;var intIdentify=Me=>typeof Me==="bigint"||Number.isInteger(Me);function intResolve(Me,Bn,zn){let ni=Bn.replace(/_/g,"");if(Hn.intOptions.asBigInt){switch(zn){case 2:ni=`0b${ni}`;break;case 8:ni=`0o${ni}`;break;case 16:ni=`0x${ni}`;break}const Bn=BigInt(ni);return Me==="-"?BigInt(-1)*Bn:Bn}const Ci=parseInt(ni,zn);return Me==="-"?-1*Ci:Ci}function intStringify(Me,Bn,zn){const{value:ni}=Me;if(intIdentify(ni)){const Me=ni.toString(Bn);return ni<0?"-"+zn+Me.substr(1):zn+Me}return Hn.stringifyNumber(Me)}var tc=Ps.concat([{identify:Me=>Me==null,createNode:(Me,Bn,zn)=>zn.wrapScalars?new Hn.Scalar(null):null,default:true,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:Hn.nullOptions,stringify:()=>Hn.nullOptions.nullStr},{identify:Me=>typeof Me==="boolean",default:true,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>true,options:Hn.boolOptions,stringify:boolStringify},{identify:Me=>typeof Me==="boolean",default:true,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,resolve:()=>false,options:Hn.boolOptions,stringify:boolStringify},{identify:intIdentify,default:true,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^([-+]?)0b([0-1_]+)$/,resolve:(Me,Bn,Hn)=>intResolve(Bn,Hn,2),stringify:Me=>intStringify(Me,2,"0b")},{identify:intIdentify,default:true,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^([-+]?)0([0-7_]+)$/,resolve:(Me,Bn,Hn)=>intResolve(Bn,Hn,8),stringify:Me=>intStringify(Me,8,"0")},{identify:intIdentify,default:true,tag:"tag:yaml.org,2002:int",test:/^([-+]?)([0-9][0-9_]*)$/,resolve:(Me,Bn,Hn)=>intResolve(Bn,Hn,10),stringify:Hn.stringifyNumber},{identify:intIdentify,default:true,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^([-+]?)0x([0-9a-fA-F_]+)$/,resolve:(Me,Bn,Hn)=>intResolve(Bn,Hn,16),stringify:Me=>intStringify(Me,16,"0x")},{identify:Me=>typeof Me==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(Me,Bn)=>Bn?NaN:Me[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Hn.stringifyNumber},{identify:Me=>typeof Me==="number",default:true,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:Me=>parseFloat(Me.replace(/_/g,"")),stringify:({value:Me})=>Number(Me).toExponential()},{identify:Me=>typeof Me==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/,resolve(Me,Bn){const zn=new Hn.Scalar(parseFloat(Me.replace(/_/g,"")));if(Bn){const Me=Bn.replace(/_/g,"");if(Me[Me.length-1]==="0")zn.minFractionDigits=Me.length}return zn},stringify:Hn.stringifyNumber}],zn.binary,zn.omap,zn.pairs,zn.set,zn.intTime,zn.floatTime,zn.timestamp);var dc={core:oo,failsafe:Ps,json:Jo,yaml11:tc};var Fc={binary:zn.binary,bool:oa,float:so,floatExp:Ha,floatNaN:Ga,floatTime:zn.floatTime,int:_a,intHex:xa,intOct:ca,intTime:zn.intTime,map:ni,null:aa,omap:zn.omap,pairs:zn.pairs,seq:Ci,set:zn.set,timestamp:zn.timestamp};function findTagObject(Me,Bn,Hn){if(Bn){const Me=Hn.filter((Me=>Me.tag===Bn));const zn=Me.find((Me=>!Me.format))||Me[0];if(!zn)throw new Error(`Tag ${Bn} not found`);return zn}return Hn.find((Bn=>(Bn.identify&&Bn.identify(Me)||Bn.class&&Me instanceof Bn.class)&&!Bn.format))}function createNode(Me,Bn,zn){if(Me instanceof Hn.Node)return Me;const{defaultPrefix:ts,onTagObj:Ps,prevObjects:aa,schema:oa,wrapScalars:ca}=zn;if(Bn&&Bn.startsWith("!!"))Bn=ts+Bn.slice(2);let _a=findTagObject(Me,Bn,oa.tags);if(!_a){if(typeof Me.toJSON==="function")Me=Me.toJSON();if(!Me||typeof Me!=="object")return ca?new Hn.Scalar(Me):Me;_a=Me instanceof Map?ni:Me[Symbol.iterator]?Ci:ni}if(Ps){Ps(_a);delete zn.onTagObj}const xa={value:void 0,node:void 0};if(Me&&typeof Me==="object"&&aa){const Bn=aa.get(Me);if(Bn){const Me=new Hn.Alias(Bn);zn.aliasNodes.push(Me);return Me}xa.value=Me;aa.set(Me,xa)}xa.node=_a.createNode?_a.createNode(zn.schema,Me,zn):ca?new Hn.Scalar(Me):Me;if(Bn&&xa.node instanceof Hn.Node)xa.node.tag=Bn;return xa.node}function getSchemaTags(Me,Bn,Hn,zn){let ni=Me[zn.replace(/\W/g,"")];if(!ni){const Bn=Object.keys(Me).map((Me=>JSON.stringify(Me))).join(", ");throw new Error(`Unknown schema "${zn}"; use one of ${Bn}`)}if(Array.isArray(Hn)){for(const Me of Hn)ni=ni.concat(Me)}else if(typeof Hn==="function"){ni=Hn(ni.slice())}for(let Me=0;MeJSON.stringify(Me))).join(", ");throw new Error(`Unknown custom tag "${Hn}"; use one of ${Me}`)}ni[Me]=zn}}return ni}var sortMapEntriesByKey=(Me,Bn)=>Me.keyBn.key?1:0;var Jc=class{constructor({customTags:Me,merge:Bn,schema:Hn,sortMapEntries:ni,tags:Ci}){this.merge=!!Bn;this.name=Hn;this.sortMapEntries=ni===true?sortMapEntriesByKey:ni||null;if(!Me&&Ci)zn.warnOptionDeprecation("tags","customTags");this.tags=getSchemaTags(dc,Fc,Me||Ci,Hn)}createNode(Me,Bn,Hn,zn){const ni={defaultPrefix:Jc.defaultPrefix,schema:this,wrapScalars:Bn};const Ci=zn?Object.assign(zn,ni):ni;return createNode(Me,Hn,Ci)}createPair(Me,Bn,zn){if(!zn)zn={wrapScalars:true};const ni=this.createNode(Me,zn.wrapScalars,null,zn);const Ci=this.createNode(Bn,zn.wrapScalars,null,zn);return new Hn.Pair(ni,Ci)}};Bn._defineProperty(Jc,"defaultPrefix",Bn.defaultTagPrefix);Bn._defineProperty(Jc,"defaultTags",Bn.defaultTags);Me.Schema=Jc}});var Kf=__commonJS({"node_modules/yaml/dist/Document-9b4560a1.js"(Me){"use strict";var Bn=Jp();var Hn=zp();var zn=Yf();var ni={anchorPrefix:"a",customTags:null,indent:2,indentSeq:true,keepCstNodes:false,keepNodeTypes:true,keepBlobsInJSON:true,mapAsMap:false,maxAliasCount:100,prettyErrors:false,simpleKeys:false,version:"1.2"};var Ci={get binary(){return Hn.binaryOptions},set binary(Me){Object.assign(Hn.binaryOptions,Me)},get bool(){return Hn.boolOptions},set bool(Me){Object.assign(Hn.boolOptions,Me)},get int(){return Hn.intOptions},set int(Me){Object.assign(Hn.intOptions,Me)},get null(){return Hn.nullOptions},set null(Me){Object.assign(Hn.nullOptions,Me)},get str(){return Hn.strOptions},set str(Me){Object.assign(Hn.strOptions,Me)}};var ts={"1.0":{schema:"yaml-1.1",merge:true,tagPrefixes:[{handle:"!",prefix:Bn.defaultTagPrefix},{handle:"!!",prefix:"tag:private.yaml.org,2002:"}]},1.1:{schema:"yaml-1.1",merge:true,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:Bn.defaultTagPrefix}]},1.2:{schema:"core",merge:false,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:Bn.defaultTagPrefix}]}};function stringifyTag(Me,Bn){if((Me.version||Me.options.version)==="1.0"){const Me=Bn.match(/^tag:private\.yaml\.org,2002:([^:/]+)$/);if(Me)return"!"+Me[1];const Hn=Bn.match(/^tag:([a-zA-Z0-9-]+)\.yaml\.org,2002:(.*)/);return Hn?`!${Hn[1]}/${Hn[2]}`:`!${Bn.replace(/^tag:/,"")}`}let Hn=Me.tagPrefixes.find((Me=>Bn.indexOf(Me.prefix)===0));if(!Hn){const zn=Me.getDefaults().tagPrefixes;Hn=zn&&zn.find((Me=>Bn.indexOf(Me.prefix)===0))}if(!Hn)return Bn[0]==="!"?Bn:`!<${Bn}>`;const zn=Bn.substr(Hn.prefix.length).replace(/[!,[\]{}]/g,(Me=>({"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"}[Me])));return Hn.handle+zn}function getTagObject(Me,Bn){if(Bn instanceof Hn.Alias)return Hn.Alias;if(Bn.tag){const Hn=Me.filter((Me=>Me.tag===Bn.tag));if(Hn.length>0)return Hn.find((Me=>Me.format===Bn.format))||Hn[0]}let zn,ni;if(Bn instanceof Hn.Scalar){ni=Bn.value;const Hn=Me.filter((Me=>Me.identify&&Me.identify(ni)||Me.class&&ni instanceof Me.class));zn=Hn.find((Me=>Me.format===Bn.format))||Hn.find((Me=>!Me.format))}else{ni=Bn;zn=Me.find((Me=>Me.nodeClass&&ni instanceof Me.nodeClass))}if(!zn){const Me=ni&&ni.constructor?ni.constructor.name:typeof ni;throw new Error(`Tag not resolved for ${Me} value`)}return zn}function stringifyProps(Me,Bn,{anchors:Hn,doc:zn}){const ni=[];const Ci=zn.anchors.getName(Me);if(Ci){Hn[Ci]=Me;ni.push(`&${Ci}`)}if(Me.tag){ni.push(stringifyTag(zn,Me.tag))}else if(!Bn.default){ni.push(stringifyTag(zn,Bn.tag))}return ni.join(" ")}function stringify(Me,Bn,zn,ni){const{anchors:Ci,schema:ts}=Bn.doc;let Ps;if(!(Me instanceof Hn.Node)){const Bn={aliasNodes:[],onTagObj:Me=>Ps=Me,prevObjects:new Map};Me=ts.createNode(Me,true,null,Bn);for(const Me of Bn.aliasNodes){Me.source=Me.source.node;let Bn=Ci.getName(Me.source);if(!Bn){Bn=Ci.newName();Ci.map[Bn]=Me.source}}}if(Me instanceof Hn.Pair)return Me.toString(Bn,zn,ni);if(!Ps)Ps=getTagObject(ts.tags,Me);const aa=stringifyProps(Me,Ps,Bn);if(aa.length>0)Bn.indentAtStart=(Bn.indentAtStart||0)+aa.length+1;const oa=typeof Ps.stringify==="function"?Ps.stringify(Me,Bn,zn,ni):Me instanceof Hn.Scalar?Hn.stringifyString(Me,Bn,zn,ni):Me.toString(Bn,zn,ni);if(!aa)return oa;return Me instanceof Hn.Scalar||oa[0]==="{"||oa[0]==="["?`${aa} ${oa}`:`${aa}\n${Bn.indent}${oa}`}var Ps=class{static validAnchorNode(Me){return Me instanceof Hn.Scalar||Me instanceof Hn.YAMLSeq||Me instanceof Hn.YAMLMap}constructor(Me){Bn._defineProperty(this,"map",Object.create(null));this.prefix=Me}createAlias(Me,Bn){this.setAnchor(Me,Bn);return new Hn.Alias(Me)}createMergePair(...Me){const Bn=new Hn.Merge;Bn.value.items=Me.map((Me=>{if(Me instanceof Hn.Alias){if(Me.source instanceof Hn.YAMLMap)return Me}else if(Me instanceof Hn.YAMLMap){return this.createAlias(Me)}throw new Error("Merge sources must be Map nodes or their Aliases")}));return Bn}getName(Me){const{map:Bn}=this;return Object.keys(Bn).find((Hn=>Bn[Hn]===Me))}getNames(){return Object.keys(this.map)}getNode(Me){return this.map[Me]}newName(Me){if(!Me)Me=this.prefix;const Bn=Object.keys(this.map);for(let Hn=1;true;++Hn){const zn=`${Me}${Hn}`;if(!Bn.includes(zn))return zn}}resolveNodes(){const{map:Me,_cstAliases:Bn}=this;Object.keys(Me).forEach((Bn=>{Me[Bn]=Me[Bn].resolved}));Bn.forEach((Me=>{Me.source=Me.source.resolved}));delete this._cstAliases}setAnchor(Me,Bn){if(Me!=null&&!Ps.validAnchorNode(Me)){throw new Error("Anchors may only be set for Scalar, Seq and Map nodes")}if(Bn&&/[\x00-\x19\s,[\]{}]/.test(Bn)){throw new Error("Anchor names must not contain whitespace or control characters")}const{map:Hn}=this;const zn=Me&&Object.keys(Hn).find((Bn=>Hn[Bn]===Me));if(zn){if(!Bn){return zn}else if(zn!==Bn){delete Hn[zn];Hn[Bn]=Me}}else{if(!Bn){if(!Me)return null;Bn=this.newName()}Hn[Bn]=Me}return Bn}};var visit=(Me,Bn)=>{if(Me&&typeof Me==="object"){const{tag:zn}=Me;if(Me instanceof Hn.Collection){if(zn)Bn[zn]=true;Me.items.forEach((Me=>visit(Me,Bn)))}else if(Me instanceof Hn.Pair){visit(Me.key,Bn);visit(Me.value,Bn)}else if(Me instanceof Hn.Scalar){if(zn)Bn[zn]=true}}return Bn};var listTagNames=Me=>Object.keys(visit(Me,{}));function parseContents(Me,zn){const ni={before:[],after:[]};let Ci=void 0;let ts=false;for(const Ps of zn){if(Ps.valueRange){if(Ci!==void 0){const Hn="Document contains trailing content not separated by a ... or --- line";Me.errors.push(new Bn.YAMLSyntaxError(Ps,Hn));break}const zn=Hn.resolveNode(Me,Ps);if(ts){zn.spaceBefore=true;ts=false}Ci=zn}else if(Ps.comment!==null){const Me=Ci===void 0?ni.before:ni.after;Me.push(Ps.comment)}else if(Ps.type===Bn.Type.BLANK_LINE){ts=true;if(Ci===void 0&&ni.before.length>0&&!Me.commentBefore){Me.commentBefore=ni.before.join("\n");ni.before=[]}}}Me.contents=Ci||null;if(!Ci){Me.comment=ni.before.concat(ni.after).join("\n")||null}else{const Bn=ni.before.join("\n");if(Bn){const Me=Ci instanceof Hn.Collection&&Ci.items[0]?Ci.items[0]:Ci;Me.commentBefore=Me.commentBefore?`${Bn}\n${Me.commentBefore}`:Bn}Me.comment=ni.after.join("\n")||null}}function resolveTagDirective({tagPrefixes:Me},Hn){const[zn,ni]=Hn.parameters;if(!zn||!ni){const Me="Insufficient parameters given for %TAG directive";throw new Bn.YAMLSemanticError(Hn,Me)}if(Me.some((Me=>Me.handle===zn))){const Me="The %TAG directive must only be given at most once per handle in the same document.";throw new Bn.YAMLSemanticError(Hn,Me)}return{handle:zn,prefix:ni}}function resolveYamlDirective(Me,Hn){let[zn]=Hn.parameters;if(Hn.name==="YAML:1.0")zn="1.0";if(!zn){const Me="Insufficient parameters given for %YAML directive";throw new Bn.YAMLSemanticError(Hn,Me)}if(!ts[zn]){const ni=Me.version||Me.options.version;const Ci=`Document will be parsed as YAML ${ni} rather than YAML ${zn}`;Me.warnings.push(new Bn.YAMLWarning(Hn,Ci))}return zn}function parseDirectives(Me,Hn,zn){const ni=[];let Ci=false;for(const zn of Hn){const{comment:Hn,name:ts}=zn;switch(ts){case"TAG":try{Me.tagPrefixes.push(resolveTagDirective(Me,zn))}catch(Bn){Me.errors.push(Bn)}Ci=true;break;case"YAML":case"YAML:1.0":if(Me.version){const Hn="The %YAML directive must only be given at most once per document.";Me.errors.push(new Bn.YAMLSemanticError(zn,Hn))}try{Me.version=resolveYamlDirective(Me,zn)}catch(Bn){Me.errors.push(Bn)}Ci=true;break;default:if(ts){const Hn=`YAML only supports %TAG and %YAML directives, and not %${ts}`;Me.warnings.push(new Bn.YAMLWarning(zn,Hn))}}if(Hn)ni.push(Hn)}if(zn&&!Ci&&"1.1"===(Me.version||zn.version||Me.options.version)){const copyTagPrefix=({handle:Me,prefix:Bn})=>({handle:Me,prefix:Bn});Me.tagPrefixes=zn.tagPrefixes.map(copyTagPrefix);Me.version=zn.version}Me.commentBefore=ni.join("\n")||null}function assertCollection(Me){if(Me instanceof Hn.Collection)return true;throw new Error("Expected a YAML collection as document contents")}var aa=class{constructor(Me){this.anchors=new Ps(Me.anchorPrefix);this.commentBefore=null;this.comment=null;this.contents=null;this.directivesEndMarker=null;this.errors=[];this.options=Me;this.schema=null;this.tagPrefixes=[];this.version=null;this.warnings=[]}add(Me){assertCollection(this.contents);return this.contents.add(Me)}addIn(Me,Bn){assertCollection(this.contents);this.contents.addIn(Me,Bn)}delete(Me){assertCollection(this.contents);return this.contents.delete(Me)}deleteIn(Me){if(Hn.isEmptyPath(Me)){if(this.contents==null)return false;this.contents=null;return true}assertCollection(this.contents);return this.contents.deleteIn(Me)}getDefaults(){return aa.defaults[this.version]||aa.defaults[this.options.version]||{}}get(Me,Bn){return this.contents instanceof Hn.Collection?this.contents.get(Me,Bn):void 0}getIn(Me,Bn){if(Hn.isEmptyPath(Me))return!Bn&&this.contents instanceof Hn.Scalar?this.contents.value:this.contents;return this.contents instanceof Hn.Collection?this.contents.getIn(Me,Bn):void 0}has(Me){return this.contents instanceof Hn.Collection?this.contents.has(Me):false}hasIn(Me){if(Hn.isEmptyPath(Me))return this.contents!==void 0;return this.contents instanceof Hn.Collection?this.contents.hasIn(Me):false}set(Me,Bn){assertCollection(this.contents);this.contents.set(Me,Bn)}setIn(Me,Bn){if(Hn.isEmptyPath(Me))this.contents=Bn;else{assertCollection(this.contents);this.contents.setIn(Me,Bn)}}setSchema(Me,Bn){if(!Me&&!Bn&&this.schema)return;if(typeof Me==="number")Me=Me.toFixed(1);if(Me==="1.0"||Me==="1.1"||Me==="1.2"){if(this.version)this.version=Me;else this.options.version=Me;delete this.options.schema}else if(Me&&typeof Me==="string"){this.options.schema=Me}if(Array.isArray(Bn))this.options.customTags=Bn;const Hn=Object.assign({},this.getDefaults(),this.options);this.schema=new zn.Schema(Hn)}parse(Me,Hn){if(this.options.keepCstNodes)this.cstNode=Me;if(this.options.keepNodeTypes)this.type="DOCUMENT";const{directives:zn=[],contents:ni=[],directivesEndMarker:Ci,error:ts,valueRange:Ps}=Me;if(ts){if(!ts.source)ts.source=this;this.errors.push(ts)}parseDirectives(this,zn,Hn);if(Ci)this.directivesEndMarker=true;this.range=Ps?[Ps.start,Ps.end]:null;this.setSchema();this.anchors._cstAliases=[];parseContents(this,ni);this.anchors.resolveNodes();if(this.options.prettyErrors){for(const Me of this.errors)if(Me instanceof Bn.YAMLError)Me.makePretty();for(const Me of this.warnings)if(Me instanceof Bn.YAMLError)Me.makePretty()}return this}listNonDefaultTags(){return listTagNames(this.contents).filter((Me=>Me.indexOf(zn.Schema.defaultPrefix)!==0))}setTagPrefix(Me,Bn){if(Me[0]!=="!"||Me[Me.length-1]!=="!")throw new Error("Handle must start and end with !");if(Bn){const Hn=this.tagPrefixes.find((Bn=>Bn.handle===Me));if(Hn)Hn.prefix=Bn;else this.tagPrefixes.push({handle:Me,prefix:Bn})}else{this.tagPrefixes=this.tagPrefixes.filter((Bn=>Bn.handle!==Me))}}toJSON(Me,Bn){const{keepBlobsInJSON:zn,mapAsMap:ni,maxAliasCount:Ci}=this.options;const ts=zn&&(typeof Me!=="string"||!(this.contents instanceof Hn.Scalar));const Ps={doc:this,indentStep:" ",keep:ts,mapAsMap:ts&&!!ni,maxAliasCount:Ci,stringify:stringify};const aa=Object.keys(this.anchors.map);if(aa.length>0)Ps.anchors=new Map(aa.map((Me=>[this.anchors.map[Me],{alias:[],aliasCount:0,count:1}])));const oa=Hn.toJSON(this.contents,Me,Ps);if(typeof Bn==="function"&&Ps.anchors)for(const{count:Me,res:Hn}of Ps.anchors.values())Bn(Hn,Me);return oa}toString(){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");const Me=this.options.indent;if(!Number.isInteger(Me)||Me<=0){const Bn=JSON.stringify(Me);throw new Error(`"indent" option must be a positive integer, not ${Bn}`)}this.setSchema();const Bn=[];let zn=false;if(this.version){let Me="%YAML 1.2";if(this.schema.name==="yaml-1.1"){if(this.version==="1.0")Me="%YAML:1.0";else if(this.version==="1.1")Me="%YAML 1.1"}Bn.push(Me);zn=true}const ni=this.listNonDefaultTags();this.tagPrefixes.forEach((({handle:Me,prefix:Hn})=>{if(ni.some((Me=>Me.indexOf(Hn)===0))){Bn.push(`%TAG ${Me} ${Hn}`);zn=true}}));if(zn||this.directivesEndMarker)Bn.push("---");if(this.commentBefore){if(zn||!this.directivesEndMarker)Bn.unshift("");Bn.unshift(this.commentBefore.replace(/^/gm,"#"))}const Ci={anchors:Object.create(null),doc:this,indent:"",indentStep:" ".repeat(Me),stringify:stringify};let ts=false;let Ps=null;if(this.contents){if(this.contents instanceof Hn.Node){if(this.contents.spaceBefore&&(zn||this.directivesEndMarker))Bn.push("");if(this.contents.commentBefore)Bn.push(this.contents.commentBefore.replace(/^/gm,"#"));Ci.forceBlockIndent=!!this.comment;Ps=this.contents.comment}const Me=Ps?null:()=>ts=true;const ni=stringify(this.contents,Ci,(()=>Ps=null),Me);Bn.push(Hn.addComment(ni,"",Ps))}else if(this.contents!==void 0){Bn.push(stringify(this.contents,Ci))}if(this.comment){if((!ts||Ps)&&Bn[Bn.length-1]!=="")Bn.push("");Bn.push(this.comment.replace(/^/gm,"#"))}return Bn.join("\n")+"\n"}};Bn._defineProperty(aa,"defaults",ts);Me.Document=aa;Me.defaultOptions=ni;Me.scalarOptions=Ci}});var Xf=__commonJS({"node_modules/yaml/dist/index.js"(Me){"use strict";var Bn=Wp();var Hn=Kf();var zn=Yf();var ni=Jp();var Ci=Qf();zp();function createNode(Me,Bn=true,ni){if(ni===void 0&&typeof Bn==="string"){ni=Bn;Bn=true}const Ci=Object.assign({},Hn.Document.defaults[Hn.defaultOptions.version],Hn.defaultOptions);const ts=new zn.Schema(Ci);return ts.createNode(Me,Bn,ni)}var ts=class extends Hn.Document{constructor(Me){super(Object.assign({},Hn.defaultOptions,Me))}};function parseAllDocuments(Me,Hn){const zn=[];let ni;for(const Ci of Bn.parse(Me)){const Me=new ts(Hn);Me.parse(Ci,ni);zn.push(Me);ni=Me}return zn}function parseDocument(Me,Hn){const zn=Bn.parse(Me);const Ci=new ts(Hn).parse(zn[0]);if(zn.length>1){const Me="Source contains multiple documents; please use YAML.parseAllDocuments()";Ci.errors.unshift(new ni.YAMLSemanticError(zn[1],Me))}return Ci}function parse(Me,Bn){const Hn=parseDocument(Me,Bn);Hn.warnings.forEach((Me=>Ci.warn(Me)));if(Hn.errors.length>0)throw Hn.errors[0];return Hn.toJSON()}function stringify(Me,Bn){const Hn=new ts(Bn);Hn.contents=Me;return String(Hn)}var Ps={createNode:createNode,defaultOptions:Hn.defaultOptions,Document:ts,parse:parse,parseAllDocuments:parseAllDocuments,parseCST:Bn.parse,parseDocument:parseDocument,scalarOptions:Hn.scalarOptions,stringify:stringify};Me.YAML=Ps}});var Ad=__commonJS({"node_modules/yaml/index.js"(Me,Bn){Bn.exports=Xf().YAML}});var Cd=__commonJS({"node_modules/cosmiconfig/dist/loaders.js"(Me){"use strict";Object.defineProperty(Me,"__esModule",{value:true});Me.loaders=void 0;var Bn;var Hn=function loadJs2(Me){if(Bn===void 0){Bn=ts()}const Hn=Bn(Me);return Hn};var zn;var ni=function loadJson2(Me,Bn){if(zn===void 0){zn=qp()}try{const Me=zn(Bn);return Me}catch(Bn){Bn.message=`JSON Error in ${Me}:\n${Bn.message}`;throw Bn}};var Ci;var Ps=function loadYaml2(Me,Bn){if(Ci===void 0){Ci=Ad()}try{const Me=Ci.parse(Bn,{prettyErrors:true});return Me}catch(Bn){Bn.message=`YAML Error in ${Me}:\n${Bn.message}`;throw Bn}};var aa={loadJs:Hn,loadJson:ni,loadYaml:Ps};Me.loaders=aa}});var wd=__commonJS({"node_modules/cosmiconfig/dist/getPropertyByPath.js"(Me){"use strict";Object.defineProperty(Me,"__esModule",{value:true});Me.getPropertyByPath=getPropertyByPath;function getPropertyByPath(Me,Bn){if(typeof Bn==="string"&&Object.prototype.hasOwnProperty.call(Me,Bn)){return Me[Bn]}const Hn=typeof Bn==="string"?Bn.split("."):Bn;return Hn.reduce(((Me,Bn)=>{if(Me===void 0){return Me}return Me[Bn]}),Me)}}});var Sd=__commonJS({"node_modules/cosmiconfig/dist/ExplorerBase.js"(Me){"use strict";Object.defineProperty(Me,"__esModule",{value:true});Me.getExtensionDescription=getExtensionDescription;Me.ExplorerBase=void 0;var Bn=_interopRequireDefault(Hn(16928));var zn=Cd();var ni=wd();function _interopRequireDefault(Me){return Me&&Me.__esModule?Me:{default:Me}}var Ci=class{constructor(Me){if(Me.cache===true){this.loadCache=new Map;this.searchCache=new Map}this.config=Me;this.validateConfig()}clearLoadCache(){if(this.loadCache){this.loadCache.clear()}}clearSearchCache(){if(this.searchCache){this.searchCache.clear()}}clearCaches(){this.clearLoadCache();this.clearSearchCache()}validateConfig(){const Me=this.config;Me.searchPlaces.forEach((Hn=>{const zn=Bn.default.extname(Hn)||"noExt";const ni=Me.loaders[zn];if(!ni){throw new Error(`No loader specified for ${getExtensionDescription(Hn)}, so searchPlaces item "${Hn}" is invalid`)}if(typeof ni!=="function"){throw new Error(`loader for ${getExtensionDescription(Hn)} is not a function (type provided: "${typeof ni}"), so searchPlaces item "${Hn}" is invalid`)}}))}shouldSearchStopWithResult(Me){if(Me===null)return false;if(Me.isEmpty&&this.config.ignoreEmptySearchPlaces)return false;return true}nextDirectoryToSearch(Me,Bn){if(this.shouldSearchStopWithResult(Bn)){return null}const Hn=nextDirUp(Me);if(Hn===Me||Me===this.config.stopDir){return null}return Hn}loadPackageProp(Me,Bn){const Hn=zn.loaders.loadJson(Me,Bn);const Ci=(0,ni.getPropertyByPath)(Hn,this.config.packageProp);return Ci||null}getLoaderEntryForFile(Me){if(Bn.default.basename(Me)==="package.json"){const Me=this.loadPackageProp.bind(this);return Me}const Hn=Bn.default.extname(Me)||"noExt";const zn=this.config.loaders[Hn];if(!zn){throw new Error(`No loader specified for ${getExtensionDescription(Me)}`)}return zn}loadedContentToCosmiconfigResult(Me,Bn){if(Bn===null){return null}if(Bn===void 0){return{filepath:Me,config:void 0,isEmpty:true}}return{config:Bn,filepath:Me}}validateFilePath(Me){if(!Me){throw new Error("load must pass a non-empty string")}}};Me.ExplorerBase=Ci;function nextDirUp(Me){return Bn.default.dirname(Me)}function getExtensionDescription(Me){const Hn=Bn.default.extname(Me);return Hn?`extension "${Hn}"`:"files without extensions"}}});var xd=__commonJS({"node_modules/cosmiconfig/dist/readFile.js"(Me){"use strict";Object.defineProperty(Me,"__esModule",{value:true});Me.readFile=readFile;Me.readFileSync=readFileSync;var Bn=_interopRequireDefault(Hn(79896));function _interopRequireDefault(Me){return Me&&Me.__esModule?Me:{default:Me}}async function fsReadFileAsync(Me,Hn){return new Promise(((zn,ni)=>{Bn.default.readFile(Me,Hn,((Me,Bn)=>{if(Me){ni(Me);return}zn(Bn)}))}))}async function readFile(Me,Bn={}){const Hn=Bn.throwNotFound===true;try{const Bn=await fsReadFileAsync(Me,"utf8");return Bn}catch(Me){if(Hn===false&&(Me.code==="ENOENT"||Me.code==="EISDIR")){return null}throw Me}}function readFileSync(Me,Hn={}){const zn=Hn.throwNotFound===true;try{const Hn=Bn.default.readFileSync(Me,"utf8");return Hn}catch(Me){if(zn===false&&(Me.code==="ENOENT"||Me.code==="EISDIR")){return null}throw Me}}}});var Td=__commonJS({"node_modules/cosmiconfig/dist/cacheWrapper.js"(Me){"use strict";Object.defineProperty(Me,"__esModule",{value:true});Me.cacheWrapper=cacheWrapper;Me.cacheWrapperSync=cacheWrapperSync;async function cacheWrapper(Me,Bn,Hn){const zn=Me.get(Bn);if(zn!==void 0){return zn}const ni=await Hn();Me.set(Bn,ni);return ni}function cacheWrapperSync(Me,Bn,Hn){const zn=Me.get(Bn);if(zn!==void 0){return zn}const ni=Hn();Me.set(Bn,ni);return ni}}});var Pd=__commonJS({"node_modules/path-type/index.js"(Me){"use strict";var{promisify:Bn}=Hn(39023);var zn=Hn(79896);async function isType(Me,Hn,ni){if(typeof ni!=="string"){throw new TypeError(`Expected a string, got ${typeof ni}`)}try{const Ci=await Bn(zn[Me])(ni);return Ci[Hn]()}catch(Me){if(Me.code==="ENOENT"){return false}throw Me}}function isTypeSync(Me,Bn,Hn){if(typeof Hn!=="string"){throw new TypeError(`Expected a string, got ${typeof Hn}`)}try{return zn[Me](Hn)[Bn]()}catch(Me){if(Me.code==="ENOENT"){return false}throw Me}}Me.isFile=isType.bind(null,"stat","isFile");Me.isDirectory=isType.bind(null,"stat","isDirectory");Me.isSymlink=isType.bind(null,"lstat","isSymbolicLink");Me.isFileSync=isTypeSync.bind(null,"statSync","isFile");Me.isDirectorySync=isTypeSync.bind(null,"statSync","isDirectory");Me.isSymlinkSync=isTypeSync.bind(null,"lstatSync","isSymbolicLink")}});var Qh=__commonJS({"node_modules/cosmiconfig/dist/getDirectory.js"(Me){"use strict";Object.defineProperty(Me,"__esModule",{value:true});Me.getDirectory=getDirectory;Me.getDirectorySync=getDirectorySync;var Bn=_interopRequireDefault(Hn(16928));var zn=Pd();function _interopRequireDefault(Me){return Me&&Me.__esModule?Me:{default:Me}}async function getDirectory(Me){const Hn=await(0,zn.isDirectory)(Me);if(Hn===true){return Me}const ni=Bn.default.dirname(Me);return ni}function getDirectorySync(Me){const Hn=(0,zn.isDirectorySync)(Me);if(Hn===true){return Me}const ni=Bn.default.dirname(Me);return ni}}});var Zh=__commonJS({"node_modules/cosmiconfig/dist/Explorer.js"(Me){"use strict";Object.defineProperty(Me,"__esModule",{value:true});Me.Explorer=void 0;var Bn=_interopRequireDefault(Hn(16928));var zn=Sd();var ni=xd();var Ci=Td();var ts=Qh();function _interopRequireDefault(Me){return Me&&Me.__esModule?Me:{default:Me}}var Ps=class extends zn.ExplorerBase{constructor(Me){super(Me)}async search(Me=process.cwd()){const Bn=await(0,ts.getDirectory)(Me);const Hn=await this.searchFromDirectory(Bn);return Hn}async searchFromDirectory(Me){const Hn=Bn.default.resolve(process.cwd(),Me);const run=async()=>{const Me=await this.searchDirectory(Hn);const Bn=this.nextDirectoryToSearch(Hn,Me);if(Bn){return this.searchFromDirectory(Bn)}const zn=await this.config.transform(Me);return zn};if(this.searchCache){return(0,Ci.cacheWrapper)(this.searchCache,Hn,run)}return run()}async searchDirectory(Me){for await(const Bn of this.config.searchPlaces){const Hn=await this.loadSearchPlace(Me,Bn);if(this.shouldSearchStopWithResult(Hn)===true){return Hn}}return null}async loadSearchPlace(Me,Hn){const zn=Bn.default.join(Me,Hn);const Ci=await(0,ni.readFile)(zn);const ts=await this.createCosmiconfigResult(zn,Ci);return ts}async loadFileContent(Me,Bn){if(Bn===null){return null}if(Bn.trim()===""){return void 0}const Hn=this.getLoaderEntryForFile(Me);const zn=await Hn(Me,Bn);return zn}async createCosmiconfigResult(Me,Bn){const Hn=await this.loadFileContent(Me,Bn);const zn=this.loadedContentToCosmiconfigResult(Me,Hn);return zn}async load(Me){this.validateFilePath(Me);const Hn=Bn.default.resolve(process.cwd(),Me);const runLoad=async()=>{const Me=await(0,ni.readFile)(Hn,{throwNotFound:true});const Bn=await this.createCosmiconfigResult(Hn,Me);const zn=await this.config.transform(Bn);return zn};if(this.loadCache){return(0,Ci.cacheWrapper)(this.loadCache,Hn,runLoad)}return runLoad()}};Me.Explorer=Ps}});var sA=__commonJS({"node_modules/cosmiconfig/dist/ExplorerSync.js"(Me){"use strict";Object.defineProperty(Me,"__esModule",{value:true});Me.ExplorerSync=void 0;var Bn=_interopRequireDefault(Hn(16928));var zn=Sd();var ni=xd();var Ci=Td();var ts=Qh();function _interopRequireDefault(Me){return Me&&Me.__esModule?Me:{default:Me}}var Ps=class extends zn.ExplorerBase{constructor(Me){super(Me)}searchSync(Me=process.cwd()){const Bn=(0,ts.getDirectorySync)(Me);const Hn=this.searchFromDirectorySync(Bn);return Hn}searchFromDirectorySync(Me){const Hn=Bn.default.resolve(process.cwd(),Me);const run=()=>{const Me=this.searchDirectorySync(Hn);const Bn=this.nextDirectoryToSearch(Hn,Me);if(Bn){return this.searchFromDirectorySync(Bn)}const zn=this.config.transform(Me);return zn};if(this.searchCache){return(0,Ci.cacheWrapperSync)(this.searchCache,Hn,run)}return run()}searchDirectorySync(Me){for(const Bn of this.config.searchPlaces){const Hn=this.loadSearchPlaceSync(Me,Bn);if(this.shouldSearchStopWithResult(Hn)===true){return Hn}}return null}loadSearchPlaceSync(Me,Hn){const zn=Bn.default.join(Me,Hn);const Ci=(0,ni.readFileSync)(zn);const ts=this.createCosmiconfigResultSync(zn,Ci);return ts}loadFileContentSync(Me,Bn){if(Bn===null){return null}if(Bn.trim()===""){return void 0}const Hn=this.getLoaderEntryForFile(Me);const zn=Hn(Me,Bn);return zn}createCosmiconfigResultSync(Me,Bn){const Hn=this.loadFileContentSync(Me,Bn);const zn=this.loadedContentToCosmiconfigResult(Me,Hn);return zn}loadSync(Me){this.validateFilePath(Me);const Hn=Bn.default.resolve(process.cwd(),Me);const runLoadSync=()=>{const Me=(0,ni.readFileSync)(Hn,{throwNotFound:true});const Bn=this.createCosmiconfigResultSync(Hn,Me);const zn=this.config.transform(Bn);return zn};if(this.loadCache){return(0,Ci.cacheWrapperSync)(this.loadCache,Hn,runLoadSync)}return runLoadSync()}};Me.ExplorerSync=Ps}});var oA=__commonJS({"node_modules/cosmiconfig/dist/types.js"(Me){"use strict";Object.defineProperty(Me,"__esModule",{value:true})}});var hA=__commonJS({"node_modules/cosmiconfig/dist/index.js"(Me){"use strict";Object.defineProperty(Me,"__esModule",{value:true});Me.cosmiconfig=cosmiconfig;Me.cosmiconfigSync=cosmiconfigSync;Me.defaultLoaders=void 0;var Bn=_interopRequireDefault(Hn(70857));var zn=Zh();var ni=sA();var Ci=Cd();var ts=oA();function _interopRequireDefault(Me){return Me&&Me.__esModule?Me:{default:Me}}function cosmiconfig(Me,Bn={}){const Hn=normalizeOptions(Me,Bn);const ni=new zn.Explorer(Hn);return{search:ni.search.bind(ni),load:ni.load.bind(ni),clearLoadCache:ni.clearLoadCache.bind(ni),clearSearchCache:ni.clearSearchCache.bind(ni),clearCaches:ni.clearCaches.bind(ni)}}function cosmiconfigSync(Me,Bn={}){const Hn=normalizeOptions(Me,Bn);const zn=new ni.ExplorerSync(Hn);return{search:zn.searchSync.bind(zn),load:zn.loadSync.bind(zn),clearLoadCache:zn.clearLoadCache.bind(zn),clearSearchCache:zn.clearSearchCache.bind(zn),clearCaches:zn.clearCaches.bind(zn)}}var Ps=Object.freeze({".cjs":Ci.loaders.loadJs,".js":Ci.loaders.loadJs,".json":Ci.loaders.loadJson,".yaml":Ci.loaders.loadYaml,".yml":Ci.loaders.loadYaml,noExt:Ci.loaders.loadYaml});Me.defaultLoaders=Ps;var aa=function identity2(Me){return Me};function normalizeOptions(Me,Hn){const zn={packageProp:Me,searchPlaces:["package.json",`.${Me}rc`,`.${Me}rc.json`,`.${Me}rc.yaml`,`.${Me}rc.yml`,`.${Me}rc.js`,`.${Me}rc.cjs`,`${Me}.config.js`,`${Me}.config.cjs`],ignoreEmptySearchPlaces:true,stopDir:Bn.default.homedir(),cache:true,transform:aa,loaders:Ps};const ni=Object.assign(Object.assign(Object.assign({},zn),Hn),{},{loaders:Object.assign(Object.assign({},zn.loaders),Hn.loaders)});return ni}}});var eg=__commonJS({"node_modules/find-parent-dir/index.js"(Me,Bn){"use strict";var zn=Hn(16928);var ni=Hn(79896);var Ci=ni.exists||zn.exists;var ts=ni.existsSync||zn.existsSync;function splitPath(Me){var Bn=Me.split(/(\/|\\)/);if(!Bn.length)return Bn;return!Bn[0].length?Bn.slice(1):Bn}Me=Bn.exports=function(Me,Bn,Hn){function testDir(Me){if(Me.length===0)return Hn(null,null);var ni=Me.join("");Ci(zn.join(ni,Bn),(function(Bn){if(Bn)return Hn(null,ni);testDir(Me.slice(0,-1))}))}testDir(splitPath(Me))};Me.sync=function(Me,Bn){function testDir(Me){if(Me.length===0)return null;var Hn=Me.join("");var ni=ts(zn.join(Hn,Bn));return ni?Hn:testDir(Me.slice(0,-1))}return testDir(splitPath(Me))}}});var tg=__commonJS({"node_modules/get-stdin/index.js"(Me,Bn){"use strict";var{stdin:Hn}=process;Bn.exports=async()=>{let Me="";if(Hn.isTTY){return Me}Hn.setEncoding("utf8");for await(const Bn of Hn){Me+=Bn}return Me};Bn.exports.buffer=async()=>{const Me=[];let Bn=0;if(Hn.isTTY){return Buffer.concat([])}for await(const zn of Hn){Me.push(zn);Bn+=zn.length}return Buffer.concat(Me,Bn)}}});var rg=__commonJS({"node_modules/ci-info/vendors.json"(Me,Bn){Bn.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"Expo Application Services",constant:"EAS",env:"EAS_BUILD"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]}});var ng=__commonJS({"node_modules/ci-info/index.js"(Me){"use strict";var Bn=rg();var Hn=process.env;Object.defineProperty(Me,"_vendors",{value:Bn.map((function(Me){return Me.constant}))});Me.name=null;Me.isPR=null;Bn.forEach((function(Bn){const zn=Array.isArray(Bn.env)?Bn.env:[Bn.env];const ni=zn.every((function(Me){return checkEnv(Me)}));Me[Bn.constant]=ni;if(ni){Me.name=Bn.name;switch(typeof Bn.pr){case"string":Me.isPR=!!Hn[Bn.pr];break;case"object":if("env"in Bn.pr){Me.isPR=Bn.pr.env in Hn&&Hn[Bn.pr.env]!==Bn.pr.ne}else if("any"in Bn.pr){Me.isPR=Bn.pr.any.some((function(Me){return!!Hn[Me]}))}else{Me.isPR=checkEnv(Bn.pr)}break;default:Me.isPR=null}}}));Me.isCI=!!(Hn.CI||Hn.CONTINUOUS_INTEGRATION||Hn.BUILD_NUMBER||Hn.RUN_ID||Me.name||false);function checkEnv(Me){if(typeof Me==="string")return!!Hn[Me];return Object.keys(Me).every((function(Bn){return Hn[Bn]===Me[Bn]}))}}});Me.exports={cosmiconfig:hA().cosmiconfig,cosmiconfigSync:hA().cosmiconfigSync,findParentDir:eg().sync,getStdin:tg(),isCI:()=>ng().isCI}},77864:Me=>{"use strict";var Bn=Object.defineProperty;var Hn=Object.getOwnPropertyDescriptor;var zn=Object.getOwnPropertyNames;var ni=Object.prototype.hasOwnProperty;var __export=(Me,Hn)=>{for(var zn in Hn)Bn(Me,zn,{get:Hn[zn],enumerable:true})};var __copyProps=(Me,Ci,ts,Ps)=>{if(Ci&&typeof Ci==="object"||typeof Ci==="function"){for(let aa of zn(Ci))if(!ni.call(Me,aa)&&aa!==ts)Bn(Me,aa,{get:()=>Ci[aa],enumerable:!(Ps=Hn(Ci,aa))||Ps.enumerable})}return Me};var __toCommonJS=Me=>__copyProps(Bn({},"__esModule",{value:true}),Me);var Ci={};__export(Ci,{createTokenAuth:()=>oa});Me.exports=__toCommonJS(Ci);var ts=/^v1\./;var Ps=/^ghs_/;var aa=/^ghu_/;async function auth(Me){const Bn=Me.split(/\./).length===3;const Hn=ts.test(Me)||Ps.test(Me);const zn=aa.test(Me);const ni=Bn?"app":Hn?"installation":zn?"user-to-server":"oauth";return{type:"token",token:Me,tokenType:ni}}function withAuthorizationPrefix(Me){if(Me.split(/\./).length===3){return`bearer ${Me}`}return`token ${Me}`}async function hook(Me,Bn,Hn,zn){const ni=Bn.endpoint.merge(Hn,zn);ni.headers.authorization=withAuthorizationPrefix(Me);return Bn(ni)}var oa=function createTokenAuth2(Me){if(!Me){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof Me!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}Me=Me.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,Me),{hook:hook.bind(null,Me)})};0&&0},61897:(Me,Bn,Hn)=>{"use strict";var zn=Object.defineProperty;var ni=Object.getOwnPropertyDescriptor;var Ci=Object.getOwnPropertyNames;var ts=Object.prototype.hasOwnProperty;var __export=(Me,Bn)=>{for(var Hn in Bn)zn(Me,Hn,{get:Bn[Hn],enumerable:true})};var __copyProps=(Me,Bn,Hn,Ps)=>{if(Bn&&typeof Bn==="object"||typeof Bn==="function"){for(let aa of Ci(Bn))if(!ts.call(Me,aa)&&aa!==Hn)zn(Me,aa,{get:()=>Bn[aa],enumerable:!(Ps=ni(Bn,aa))||Ps.enumerable})}return Me};var __toCommonJS=Me=>__copyProps(zn({},"__esModule",{value:true}),Me);var Ps={};__export(Ps,{Octokit:()=>Jo});Me.exports=__toCommonJS(Ps);var aa=Hn(33843);var oa=Hn(52732);var ca=Hn(66255);var _a=Hn(70007);var xa=Hn(77864);var Ga="5.2.1";var noop=()=>{};var Ha=console.warn.bind(console);var so=console.error.bind(console);var oo=`octokit-core.js/${Ga} ${(0,aa.getUserAgent)()}`;var Jo=class{static{this.VERSION=Ga}static defaults(Me){const Bn=class extends(this){constructor(...Bn){const Hn=Bn[0]||{};if(typeof Me==="function"){super(Me(Hn));return}super(Object.assign({},Me,Hn,Hn.userAgent&&Me.userAgent?{userAgent:`${Hn.userAgent} ${Me.userAgent}`}:null))}};return Bn}static{this.plugins=[]}static plugin(...Me){const Bn=this.plugins;const Hn=class extends(this){static{this.plugins=Bn.concat(Me.filter((Me=>!Bn.includes(Me))))}};return Hn}constructor(Me={}){const Bn=new oa.Collection;const Hn={baseUrl:ca.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},Me.request,{hook:Bn.bind(null,"request")}),mediaType:{previews:[],format:""}};Hn.headers["user-agent"]=Me.userAgent?`${Me.userAgent} ${oo}`:oo;if(Me.baseUrl){Hn.baseUrl=Me.baseUrl}if(Me.previews){Hn.mediaType.previews=Me.previews}if(Me.timeZone){Hn.headers["time-zone"]=Me.timeZone}this.request=ca.request.defaults(Hn);this.graphql=(0,_a.withCustomRequest)(this.request).defaults(Hn);this.log=Object.assign({debug:noop,info:noop,warn:Ha,error:so},Me.log);this.hook=Bn;if(!Me.authStrategy){if(!Me.auth){this.auth=async()=>({type:"unauthenticated"})}else{const Hn=(0,xa.createTokenAuth)(Me.auth);Bn.wrap("request",Hn.hook);this.auth=Hn}}else{const{authStrategy:Hn,...zn}=Me;const ni=Hn(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:zn},Me.auth));Bn.wrap("request",ni.hook);this.auth=ni}const zn=this.constructor;for(let Bn=0;Bn{"use strict";var zn=Object.defineProperty;var ni=Object.getOwnPropertyDescriptor;var Ci=Object.getOwnPropertyNames;var ts=Object.prototype.hasOwnProperty;var __export=(Me,Bn)=>{for(var Hn in Bn)zn(Me,Hn,{get:Bn[Hn],enumerable:true})};var __copyProps=(Me,Bn,Hn,Ps)=>{if(Bn&&typeof Bn==="object"||typeof Bn==="function"){for(let aa of Ci(Bn))if(!ts.call(Me,aa)&&aa!==Hn)zn(Me,aa,{get:()=>Bn[aa],enumerable:!(Ps=ni(Bn,aa))||Ps.enumerable})}return Me};var __toCommonJS=Me=>__copyProps(zn({},"__esModule",{value:true}),Me);var Ps={};__export(Ps,{endpoint:()=>Ga});Me.exports=__toCommonJS(Ps);var aa=Hn(33843);var oa="9.0.6";var ca=`octokit-endpoint.js/${oa} ${(0,aa.getUserAgent)()}`;var _a={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":ca},mediaType:{format:""}};function lowercaseKeys(Me){if(!Me){return{}}return Object.keys(Me).reduce(((Bn,Hn)=>{Bn[Hn.toLowerCase()]=Me[Hn];return Bn}),{})}function isPlainObject(Me){if(typeof Me!=="object"||Me===null)return false;if(Object.prototype.toString.call(Me)!=="[object Object]")return false;const Bn=Object.getPrototypeOf(Me);if(Bn===null)return true;const Hn=Object.prototype.hasOwnProperty.call(Bn,"constructor")&&Bn.constructor;return typeof Hn==="function"&&Hn instanceof Hn&&Function.prototype.call(Hn)===Function.prototype.call(Me)}function mergeDeep(Me,Bn){const Hn=Object.assign({},Me);Object.keys(Bn).forEach((zn=>{if(isPlainObject(Bn[zn])){if(!(zn in Me))Object.assign(Hn,{[zn]:Bn[zn]});else Hn[zn]=mergeDeep(Me[zn],Bn[zn])}else{Object.assign(Hn,{[zn]:Bn[zn]})}}));return Hn}function removeUndefinedProperties(Me){for(const Bn in Me){if(Me[Bn]===void 0){delete Me[Bn]}}return Me}function merge(Me,Bn,Hn){if(typeof Bn==="string"){let[Me,zn]=Bn.split(" ");Hn=Object.assign(zn?{method:Me,url:zn}:{url:Me},Hn)}else{Hn=Object.assign({},Bn)}Hn.headers=lowercaseKeys(Hn.headers);removeUndefinedProperties(Hn);removeUndefinedProperties(Hn.headers);const zn=mergeDeep(Me||{},Hn);if(Hn.url==="/graphql"){if(Me&&Me.mediaType.previews?.length){zn.mediaType.previews=Me.mediaType.previews.filter((Me=>!zn.mediaType.previews.includes(Me))).concat(zn.mediaType.previews)}zn.mediaType.previews=(zn.mediaType.previews||[]).map((Me=>Me.replace(/-preview/,"")))}return zn}function addQueryParameters(Me,Bn){const Hn=/\?/.test(Me)?"&":"?";const zn=Object.keys(Bn);if(zn.length===0){return Me}return Me+Hn+zn.map((Me=>{if(Me==="q"){return"q="+Bn.q.split("+").map(encodeURIComponent).join("+")}return`${Me}=${encodeURIComponent(Bn[Me])}`})).join("&")}var xa=/\{[^{}}]+\}/g;function removeNonChars(Me){return Me.replace(/(?:^\W+)|(?:(?Me.concat(Bn)),[])}function omit(Me,Bn){const Hn={__proto__:null};for(const zn of Object.keys(Me)){if(Bn.indexOf(zn)===-1){Hn[zn]=Me[zn]}}return Hn}function encodeReserved(Me){return Me.split(/(%[0-9A-Fa-f]{2})/g).map((function(Me){if(!/%[0-9A-Fa-f]/.test(Me)){Me=encodeURI(Me).replace(/%5B/g,"[").replace(/%5D/g,"]")}return Me})).join("")}function encodeUnreserved(Me){return encodeURIComponent(Me).replace(/[!'()*]/g,(function(Me){return"%"+Me.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(Me,Bn,Hn){Bn=Me==="+"||Me==="#"?encodeReserved(Bn):encodeUnreserved(Bn);if(Hn){return encodeUnreserved(Hn)+"="+Bn}else{return Bn}}function isDefined(Me){return Me!==void 0&&Me!==null}function isKeyOperator(Me){return Me===";"||Me==="&"||Me==="?"}function getValues(Me,Bn,Hn,zn){var ni=Me[Hn],Ci=[];if(isDefined(ni)&&ni!==""){if(typeof ni==="string"||typeof ni==="number"||typeof ni==="boolean"){ni=ni.toString();if(zn&&zn!=="*"){ni=ni.substring(0,parseInt(zn,10))}Ci.push(encodeValue(Bn,ni,isKeyOperator(Bn)?Hn:""))}else{if(zn==="*"){if(Array.isArray(ni)){ni.filter(isDefined).forEach((function(Me){Ci.push(encodeValue(Bn,Me,isKeyOperator(Bn)?Hn:""))}))}else{Object.keys(ni).forEach((function(Me){if(isDefined(ni[Me])){Ci.push(encodeValue(Bn,ni[Me],Me))}}))}}else{const Me=[];if(Array.isArray(ni)){ni.filter(isDefined).forEach((function(Hn){Me.push(encodeValue(Bn,Hn))}))}else{Object.keys(ni).forEach((function(Hn){if(isDefined(ni[Hn])){Me.push(encodeUnreserved(Hn));Me.push(encodeValue(Bn,ni[Hn].toString()))}}))}if(isKeyOperator(Bn)){Ci.push(encodeUnreserved(Hn)+"="+Me.join(","))}else if(Me.length!==0){Ci.push(Me.join(","))}}}}else{if(Bn===";"){if(isDefined(ni)){Ci.push(encodeUnreserved(Hn))}}else if(ni===""&&(Bn==="&"||Bn==="?")){Ci.push(encodeUnreserved(Hn)+"=")}else if(ni===""){Ci.push("")}}return Ci}function parseUrl(Me){return{expand:expand.bind(null,Me)}}function expand(Me,Bn){var Hn=["+","#",".","/",";","?","&"];Me=Me.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(Me,zn,ni){if(zn){let Me="";const ni=[];if(Hn.indexOf(zn.charAt(0))!==-1){Me=zn.charAt(0);zn=zn.substr(1)}zn.split(/,/g).forEach((function(Hn){var zn=/([^:\*]*)(?::(\d+)|(\*))?/.exec(Hn);ni.push(getValues(Bn,Me,zn[1],zn[2]||zn[3]))}));if(Me&&Me!=="+"){var Ci=",";if(Me==="?"){Ci="&"}else if(Me!=="#"){Ci=Me}return(ni.length!==0?Me:"")+ni.join(Ci)}else{return ni.join(",")}}else{return encodeReserved(ni)}}));if(Me==="/"){return Me}else{return Me.replace(/\/$/,"")}}function parse(Me){let Bn=Me.method.toUpperCase();let Hn=(Me.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let zn=Object.assign({},Me.headers);let ni;let Ci=omit(Me,["method","baseUrl","url","headers","request","mediaType"]);const ts=extractUrlVariableNames(Hn);Hn=parseUrl(Hn).expand(Ci);if(!/^http/.test(Hn)){Hn=Me.baseUrl+Hn}const Ps=Object.keys(Me).filter((Me=>ts.includes(Me))).concat("baseUrl");const aa=omit(Ci,Ps);const oa=/application\/octet-stream/i.test(zn.accept);if(!oa){if(Me.mediaType.format){zn.accept=zn.accept.split(/,/).map((Bn=>Bn.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${Me.mediaType.format}`))).join(",")}if(Hn.endsWith("/graphql")){if(Me.mediaType.previews?.length){const Bn=zn.accept.match(/(?{const Hn=Me.mediaType.format?`.${Me.mediaType.format}`:"+json";return`application/vnd.github.${Bn}-preview${Hn}`})).join(",")}}}if(["GET","HEAD"].includes(Bn)){Hn=addQueryParameters(Hn,aa)}else{if("data"in aa){ni=aa.data}else{if(Object.keys(aa).length){ni=aa}}}if(!zn["content-type"]&&typeof ni!=="undefined"){zn["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(Bn)&&typeof ni==="undefined"){ni=""}return Object.assign({method:Bn,url:Hn,headers:zn},typeof ni!=="undefined"?{body:ni}:null,Me.request?{request:Me.request}:null)}function endpointWithDefaults(Me,Bn,Hn){return parse(merge(Me,Bn,Hn))}function withDefaults(Me,Bn){const Hn=merge(Me,Bn);const zn=endpointWithDefaults.bind(null,Hn);return Object.assign(zn,{DEFAULTS:Hn,defaults:withDefaults.bind(null,Hn),merge:merge.bind(null,Hn),parse:parse})}var Ga=withDefaults(null,_a);0&&0},70007:(Me,Bn,Hn)=>{"use strict";var zn=Object.defineProperty;var ni=Object.getOwnPropertyDescriptor;var Ci=Object.getOwnPropertyNames;var ts=Object.prototype.hasOwnProperty;var __export=(Me,Bn)=>{for(var Hn in Bn)zn(Me,Hn,{get:Bn[Hn],enumerable:true})};var __copyProps=(Me,Bn,Hn,Ps)=>{if(Bn&&typeof Bn==="object"||typeof Bn==="function"){for(let aa of Ci(Bn))if(!ts.call(Me,aa)&&aa!==Hn)zn(Me,aa,{get:()=>Bn[aa],enumerable:!(Ps=ni(Bn,aa))||Ps.enumerable})}return Me};var __toCommonJS=Me=>__copyProps(zn({},"__esModule",{value:true}),Me);var Ps={};__export(Ps,{GraphqlResponseError:()=>Ga,graphql:()=>Jo,withCustomRequest:()=>withCustomRequest});Me.exports=__toCommonJS(Ps);var aa=Hn(66255);var oa=Hn(33843);var ca="7.1.1";var _a=Hn(66255);var xa=Hn(66255);function _buildMessageForResponseErrors(Me){return`Request failed due to following response errors:\n`+Me.errors.map((Me=>` - ${Me.message}`)).join("\n")}var Ga=class extends Error{constructor(Me,Bn,Hn){super(_buildMessageForResponseErrors(Hn));this.request=Me;this.headers=Bn;this.response=Hn;this.name="GraphqlResponseError";this.errors=Hn.errors;this.data=Hn.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}};var Ha=["method","baseUrl","url","headers","request","query","mediaType"];var so=["query","method","url"];var oo=/\/api\/v3\/?$/;function graphql(Me,Bn,Hn){if(Hn){if(typeof Bn==="string"&&"query"in Hn){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const Me in Hn){if(!so.includes(Me))continue;return Promise.reject(new Error(`[@octokit/graphql] "${Me}" cannot be used as variable name`))}}const zn=typeof Bn==="string"?Object.assign({query:Bn},Hn):Bn;const ni=Object.keys(zn).reduce(((Me,Bn)=>{if(Ha.includes(Bn)){Me[Bn]=zn[Bn];return Me}if(!Me.variables){Me.variables={}}Me.variables[Bn]=zn[Bn];return Me}),{});const Ci=zn.baseUrl||Me.endpoint.DEFAULTS.baseUrl;if(oo.test(Ci)){ni.url=Ci.replace(oo,"/api/graphql")}return Me(ni).then((Me=>{if(Me.data.errors){const Bn={};for(const Hn of Object.keys(Me.headers)){Bn[Hn]=Me.headers[Hn]}throw new Ga(ni,Bn,Me.data)}return Me.data.data}))}function withDefaults(Me,Bn){const Hn=Me.defaults(Bn);const newApi=(Me,Bn)=>graphql(Hn,Me,Bn);return Object.assign(newApi,{defaults:withDefaults.bind(null,Hn),endpoint:Hn.endpoint})}var Jo=withDefaults(aa.request,{headers:{"user-agent":`octokit-graphql.js/${ca} ${(0,oa.getUserAgent)()}`},method:"POST",url:"/graphql"});function withCustomRequest(Me){return withDefaults(Me,{method:"POST",url:"/graphql"})}0&&0},38082:Me=>{"use strict";var Bn=Object.defineProperty;var Hn=Object.getOwnPropertyDescriptor;var zn=Object.getOwnPropertyNames;var ni=Object.prototype.hasOwnProperty;var __export=(Me,Hn)=>{for(var zn in Hn)Bn(Me,zn,{get:Hn[zn],enumerable:true})};var __copyProps=(Me,Ci,ts,Ps)=>{if(Ci&&typeof Ci==="object"||typeof Ci==="function"){for(let aa of zn(Ci))if(!ni.call(Me,aa)&&aa!==ts)Bn(Me,aa,{get:()=>Ci[aa],enumerable:!(Ps=Hn(Ci,aa))||Ps.enumerable})}return Me};var __toCommonJS=Me=>__copyProps(Bn({},"__esModule",{value:true}),Me);var Ci={};__export(Ci,{composePaginateRest:()=>Ps,isPaginatingEndpoint:()=>isPaginatingEndpoint,paginateRest:()=>paginateRest,paginatingEndpoints:()=>aa});Me.exports=__toCommonJS(Ci);var ts="11.4.4-cjs.2";function normalizePaginatedListResponse(Me){if(!Me.data){return{...Me,data:[]}}const Bn="total_count"in Me.data&&!("url"in Me.data);if(!Bn)return Me;const Hn=Me.data.incomplete_results;const zn=Me.data.repository_selection;const ni=Me.data.total_count;delete Me.data.incomplete_results;delete Me.data.repository_selection;delete Me.data.total_count;const Ci=Object.keys(Me.data)[0];const ts=Me.data[Ci];Me.data=ts;if(typeof Hn!=="undefined"){Me.data.incomplete_results=Hn}if(typeof zn!=="undefined"){Me.data.repository_selection=zn}Me.data.total_count=ni;return Me}function iterator(Me,Bn,Hn){const zn=typeof Bn==="function"?Bn.endpoint(Hn):Me.request.endpoint(Bn,Hn);const ni=typeof Bn==="function"?Bn:Me.request;const Ci=zn.method;const ts=zn.headers;let Ps=zn.url;return{[Symbol.asyncIterator]:()=>({async next(){if(!Ps)return{done:true};try{const Me=await ni({method:Ci,url:Ps,headers:ts});const Bn=normalizePaginatedListResponse(Me);Ps=((Bn.headers.link||"").match(/<([^<>]+)>;\s*rel="next"/)||[])[1];return{value:Bn}}catch(Me){if(Me.status!==409)throw Me;Ps="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(Me,Bn,Hn,zn){if(typeof Hn==="function"){zn=Hn;Hn=void 0}return gather(Me,[],iterator(Me,Bn,Hn)[Symbol.asyncIterator](),zn)}function gather(Me,Bn,Hn,zn){return Hn.next().then((ni=>{if(ni.done){return Bn}let Ci=false;function done(){Ci=true}Bn=Bn.concat(zn?zn(ni.value,done):ni.value.data);if(Ci){return Bn}return gather(Me,Bn,Hn,zn)}))}var Ps=Object.assign(paginate,{iterator:iterator});var aa=["GET /advisories","GET /app/hook/deliveries","GET /app/installation-requests","GET /app/installations","GET /assignments/{assignment_id}/accepted_assignments","GET /classrooms","GET /classrooms/{classroom_id}/assignments","GET /enterprises/{enterprise}/code-security/configurations","GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories","GET /enterprises/{enterprise}/dependabot/alerts","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/actions/variables","GET /orgs/{org}/actions/variables/{name}/repositories","GET /orgs/{org}/attestations/{subject_digest}","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/code-security/configurations","GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories","GET /orgs/{org}/codespaces","GET /orgs/{org}/codespaces/secrets","GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories","GET /orgs/{org}/copilot/billing/seats","GET /orgs/{org}/copilot/metrics","GET /orgs/{org}/copilot/usage","GET /orgs/{org}/dependabot/alerts","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/insights/api/route-stats/{actor_type}/{actor_id}","GET /orgs/{org}/insights/api/subject-stats","GET /orgs/{org}/insights/api/user-stats/{user_id}","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/members/{username}/codespaces","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/organization-roles/{role_id}/teams","GET /orgs/{org}/organization-roles/{role_id}/users","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/personal-access-token-requests","GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories","GET /orgs/{org}/personal-access-tokens","GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories","GET /orgs/{org}/private-registries","GET /orgs/{org}/projects","GET /orgs/{org}/properties/values","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/rulesets","GET /orgs/{org}/rulesets/rule-suites","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/security-advisories","GET /orgs/{org}/team/{team_slug}/copilot/metrics","GET /orgs/{org}/team/{team_slug}/copilot/usage","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/organization-secrets","GET /repos/{owner}/{repo}/actions/organization-variables","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/variables","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/activity","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/attestations/{subject_digest}","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/alerts","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies","GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps","GET /repos/{owner}/{repo}/environments/{environment_name}/secrets","GET /repos/{owner}/{repo}/environments/{environment_name}/variables","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/rules/branches/{branch}","GET /repos/{owner}/{repo}/rulesets","GET /repos/{owner}/{repo}/rulesets/rule-suites","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/security-advisories","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/social_accounts","GET /user/ssh_signing_keys","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/attestations/{subject_digest}","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/social_accounts","GET /users/{username}/ssh_signing_keys","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(Me){if(typeof Me==="string"){return aa.includes(Me)}else{return false}}function paginateRest(Me){return{paginate:Object.assign(paginate.bind(null,Me),{iterator:iterator.bind(null,Me)})}}paginateRest.VERSION=ts;0&&0},6966:Me=>{"use strict";var Bn=Object.defineProperty;var Hn=Object.getOwnPropertyDescriptor;var zn=Object.getOwnPropertyNames;var ni=Object.prototype.hasOwnProperty;var __export=(Me,Hn)=>{for(var zn in Hn)Bn(Me,zn,{get:Hn[zn],enumerable:true})};var __copyProps=(Me,Ci,ts,Ps)=>{if(Ci&&typeof Ci==="object"||typeof Ci==="function"){for(let aa of zn(Ci))if(!ni.call(Me,aa)&&aa!==ts)Bn(Me,aa,{get:()=>Ci[aa],enumerable:!(Ps=Hn(Ci,aa))||Ps.enumerable})}return Me};var __toCommonJS=Me=>__copyProps(Bn({},"__esModule",{value:true}),Me);var Ci={};__export(Ci,{requestLog:()=>requestLog});Me.exports=__toCommonJS(Ci);var ts="4.0.1";function requestLog(Me){Me.hook.wrap("request",((Bn,Hn)=>{Me.log.debug("request",Hn);const zn=Date.now();const ni=Me.request.endpoint.parse(Hn);const Ci=ni.url.replace(Hn.baseUrl,"");return Bn(Hn).then((Bn=>{Me.log.info(`${ni.method} ${Ci} - ${Bn.status} in ${Date.now()-zn}ms`);return Bn})).catch((Bn=>{Me.log.info(`${ni.method} ${Ci} - ${Bn.status} in ${Date.now()-zn}ms`);throw Bn}))}))}requestLog.VERSION=ts;0&&0},84935:Me=>{"use strict";var Bn=Object.defineProperty;var Hn=Object.getOwnPropertyDescriptor;var zn=Object.getOwnPropertyNames;var ni=Object.prototype.hasOwnProperty;var __export=(Me,Hn)=>{for(var zn in Hn)Bn(Me,zn,{get:Hn[zn],enumerable:true})};var __copyProps=(Me,Ci,ts,Ps)=>{if(Ci&&typeof Ci==="object"||typeof Ci==="function"){for(let aa of zn(Ci))if(!ni.call(Me,aa)&&aa!==ts)Bn(Me,aa,{get:()=>Ci[aa],enumerable:!(Ps=Hn(Ci,aa))||Ps.enumerable})}return Me};var __toCommonJS=Me=>__copyProps(Bn({},"__esModule",{value:true}),Me);var Ci={};__export(Ci,{legacyRestEndpointMethods:()=>legacyRestEndpointMethods,restEndpointMethods:()=>restEndpointMethods});Me.exports=__toCommonJS(Ci);var ts="13.3.2-cjs.1";var Ps={actions:{addCustomLabelsToSelfHostedRunnerForOrg:["POST /orgs/{org}/actions/runners/{runner_id}/labels"],addCustomLabelsToSelfHostedRunnerForRepo:["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],addRepoAccessToSelfHostedRunnerGroupInOrg:["PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],approveWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"],cancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"],createEnvironmentVariable:["POST /repos/{owner}/{repo}/environments/{environment_name}/variables"],createOrUpdateEnvironmentSecret:["PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"],createOrgVariable:["POST /orgs/{org}/actions/variables"],createRegistrationTokenForOrg:["POST /orgs/{org}/actions/runners/registration-token"],createRegistrationTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/registration-token"],createRemoveTokenForOrg:["POST /orgs/{org}/actions/runners/remove-token"],createRemoveTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/remove-token"],createRepoVariable:["POST /repos/{owner}/{repo}/actions/variables"],createWorkflowDispatch:["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"],deleteActionsCacheById:["DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"],deleteActionsCacheByKey:["DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"],deleteArtifact:["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],deleteEnvironmentSecret:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],deleteEnvironmentVariable:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"],deleteOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}"],deleteOrgVariable:["DELETE /orgs/{org}/actions/variables/{name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"],deleteRepoVariable:["DELETE /repos/{owner}/{repo}/actions/variables/{name}"],deleteSelfHostedRunnerFromOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}"],deleteSelfHostedRunnerFromRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"],deleteWorkflowRun:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"],deleteWorkflowRunLogs:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],disableSelectedRepositoryGithubActionsOrganization:["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"],disableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"],downloadArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"],downloadJobLogsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"],downloadWorkflowRunAttemptLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"],downloadWorkflowRunLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],enableSelectedRepositoryGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"],enableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"],forceCancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel"],generateRunnerJitconfigForOrg:["POST /orgs/{org}/actions/runners/generate-jitconfig"],generateRunnerJitconfigForRepo:["POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig"],getActionsCacheList:["GET /repos/{owner}/{repo}/actions/caches"],getActionsCacheUsage:["GET /repos/{owner}/{repo}/actions/cache/usage"],getActionsCacheUsageByRepoForOrg:["GET /orgs/{org}/actions/cache/usage-by-repository"],getActionsCacheUsageForOrg:["GET /orgs/{org}/actions/cache/usage"],getAllowedActionsOrganization:["GET /orgs/{org}/actions/permissions/selected-actions"],getAllowedActionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"],getArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],getCustomOidcSubClaimForRepo:["GET /repos/{owner}/{repo}/actions/oidc/customization/sub"],getEnvironmentPublicKey:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key"],getEnvironmentSecret:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],getEnvironmentVariable:["GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"],getGithubActionsDefaultWorkflowPermissionsOrganization:["GET /orgs/{org}/actions/permissions/workflow"],getGithubActionsDefaultWorkflowPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/workflow"],getGithubActionsPermissionsOrganization:["GET /orgs/{org}/actions/permissions"],getGithubActionsPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions"],getJobForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"],getOrgPublicKey:["GET /orgs/{org}/actions/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}"],getOrgVariable:["GET /orgs/{org}/actions/variables/{name}"],getPendingDeploymentsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],getRepoPermissions:["GET /repos/{owner}/{repo}/actions/permissions",{},{renamed:["actions","getGithubActionsPermissionsRepository"]}],getRepoPublicKey:["GET /repos/{owner}/{repo}/actions/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"],getRepoVariable:["GET /repos/{owner}/{repo}/actions/variables/{name}"],getReviewsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"],getSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}"],getSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"],getWorkflow:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"],getWorkflowAccessToRepository:["GET /repos/{owner}/{repo}/actions/permissions/access"],getWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}"],getWorkflowRunAttempt:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"],getWorkflowRunUsage:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"],getWorkflowUsage:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"],listArtifactsForRepo:["GET /repos/{owner}/{repo}/actions/artifacts"],listEnvironmentSecrets:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets"],listEnvironmentVariables:["GET /repos/{owner}/{repo}/environments/{environment_name}/variables"],listJobsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"],listJobsForWorkflowRunAttempt:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"],listLabelsForSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}/labels"],listLabelsForSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],listOrgSecrets:["GET /orgs/{org}/actions/secrets"],listOrgVariables:["GET /orgs/{org}/actions/variables"],listRepoOrganizationSecrets:["GET /repos/{owner}/{repo}/actions/organization-secrets"],listRepoOrganizationVariables:["GET /repos/{owner}/{repo}/actions/organization-variables"],listRepoSecrets:["GET /repos/{owner}/{repo}/actions/secrets"],listRepoVariables:["GET /repos/{owner}/{repo}/actions/variables"],listRepoWorkflows:["GET /repos/{owner}/{repo}/actions/workflows"],listRunnerApplicationsForOrg:["GET /orgs/{org}/actions/runners/downloads"],listRunnerApplicationsForRepo:["GET /repos/{owner}/{repo}/actions/runners/downloads"],listSelectedReposForOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"],listSelectedReposForOrgVariable:["GET /orgs/{org}/actions/variables/{name}/repositories"],listSelectedRepositoriesEnabledGithubActionsOrganization:["GET /orgs/{org}/actions/permissions/repositories"],listSelfHostedRunnersForOrg:["GET /orgs/{org}/actions/runners"],listSelfHostedRunnersForRepo:["GET /repos/{owner}/{repo}/actions/runners"],listWorkflowRunArtifacts:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"],listWorkflowRuns:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"],listWorkflowRunsForRepo:["GET /repos/{owner}/{repo}/actions/runs"],reRunJobForWorkflowRun:["POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"],reRunWorkflow:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"],reRunWorkflowFailedJobs:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"],removeAllCustomLabelsFromSelfHostedRunnerForOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}/labels"],removeAllCustomLabelsFromSelfHostedRunnerForRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],removeCustomLabelFromSelfHostedRunnerForOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"],removeCustomLabelFromSelfHostedRunnerForRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],removeSelectedRepoFromOrgVariable:["DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],reviewCustomGatesForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule"],reviewPendingDeploymentsForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],setAllowedActionsOrganization:["PUT /orgs/{org}/actions/permissions/selected-actions"],setAllowedActionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"],setCustomLabelsForSelfHostedRunnerForOrg:["PUT /orgs/{org}/actions/runners/{runner_id}/labels"],setCustomLabelsForSelfHostedRunnerForRepo:["PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],setCustomOidcSubClaimForRepo:["PUT /repos/{owner}/{repo}/actions/oidc/customization/sub"],setGithubActionsDefaultWorkflowPermissionsOrganization:["PUT /orgs/{org}/actions/permissions/workflow"],setGithubActionsDefaultWorkflowPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/workflow"],setGithubActionsPermissionsOrganization:["PUT /orgs/{org}/actions/permissions"],setGithubActionsPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"],setSelectedReposForOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories"],setSelectedRepositoriesEnabledGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories"],setWorkflowAccessToRepository:["PUT /repos/{owner}/{repo}/actions/permissions/access"],updateEnvironmentVariable:["PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"],updateOrgVariable:["PATCH /orgs/{org}/actions/variables/{name}"],updateRepoVariable:["PATCH /repos/{owner}/{repo}/actions/variables/{name}"]},activity:{checkRepoIsStarredByAuthenticatedUser:["GET /user/starred/{owner}/{repo}"],deleteRepoSubscription:["DELETE /repos/{owner}/{repo}/subscription"],deleteThreadSubscription:["DELETE /notifications/threads/{thread_id}/subscription"],getFeeds:["GET /feeds"],getRepoSubscription:["GET /repos/{owner}/{repo}/subscription"],getThread:["GET /notifications/threads/{thread_id}"],getThreadSubscriptionForAuthenticatedUser:["GET /notifications/threads/{thread_id}/subscription"],listEventsForAuthenticatedUser:["GET /users/{username}/events"],listNotificationsForAuthenticatedUser:["GET /notifications"],listOrgEventsForAuthenticatedUser:["GET /users/{username}/events/orgs/{org}"],listPublicEvents:["GET /events"],listPublicEventsForRepoNetwork:["GET /networks/{owner}/{repo}/events"],listPublicEventsForUser:["GET /users/{username}/events/public"],listPublicOrgEvents:["GET /orgs/{org}/events"],listReceivedEventsForUser:["GET /users/{username}/received_events"],listReceivedPublicEventsForUser:["GET /users/{username}/received_events/public"],listRepoEvents:["GET /repos/{owner}/{repo}/events"],listRepoNotificationsForAuthenticatedUser:["GET /repos/{owner}/{repo}/notifications"],listReposStarredByAuthenticatedUser:["GET /user/starred"],listReposStarredByUser:["GET /users/{username}/starred"],listReposWatchedByUser:["GET /users/{username}/subscriptions"],listStargazersForRepo:["GET /repos/{owner}/{repo}/stargazers"],listWatchedReposForAuthenticatedUser:["GET /user/subscriptions"],listWatchersForRepo:["GET /repos/{owner}/{repo}/subscribers"],markNotificationsAsRead:["PUT /notifications"],markRepoNotificationsAsRead:["PUT /repos/{owner}/{repo}/notifications"],markThreadAsDone:["DELETE /notifications/threads/{thread_id}"],markThreadAsRead:["PATCH /notifications/threads/{thread_id}"],setRepoSubscription:["PUT /repos/{owner}/{repo}/subscription"],setThreadSubscription:["PUT /notifications/threads/{thread_id}/subscription"],starRepoForAuthenticatedUser:["PUT /user/starred/{owner}/{repo}"],unstarRepoForAuthenticatedUser:["DELETE /user/starred/{owner}/{repo}"]},apps:{addRepoToInstallation:["PUT /user/installations/{installation_id}/repositories/{repository_id}",{},{renamed:["apps","addRepoToInstallationForAuthenticatedUser"]}],addRepoToInstallationForAuthenticatedUser:["PUT /user/installations/{installation_id}/repositories/{repository_id}"],checkToken:["POST /applications/{client_id}/token"],createFromManifest:["POST /app-manifests/{code}/conversions"],createInstallationAccessToken:["POST /app/installations/{installation_id}/access_tokens"],deleteAuthorization:["DELETE /applications/{client_id}/grant"],deleteInstallation:["DELETE /app/installations/{installation_id}"],deleteToken:["DELETE /applications/{client_id}/token"],getAuthenticated:["GET /app"],getBySlug:["GET /apps/{app_slug}"],getInstallation:["GET /app/installations/{installation_id}"],getOrgInstallation:["GET /orgs/{org}/installation"],getRepoInstallation:["GET /repos/{owner}/{repo}/installation"],getSubscriptionPlanForAccount:["GET /marketplace_listing/accounts/{account_id}"],getSubscriptionPlanForAccountStubbed:["GET /marketplace_listing/stubbed/accounts/{account_id}"],getUserInstallation:["GET /users/{username}/installation"],getWebhookConfigForApp:["GET /app/hook/config"],getWebhookDelivery:["GET /app/hook/deliveries/{delivery_id}"],listAccountsForPlan:["GET /marketplace_listing/plans/{plan_id}/accounts"],listAccountsForPlanStubbed:["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"],listInstallationReposForAuthenticatedUser:["GET /user/installations/{installation_id}/repositories"],listInstallationRequestsForAuthenticatedApp:["GET /app/installation-requests"],listInstallations:["GET /app/installations"],listInstallationsForAuthenticatedUser:["GET /user/installations"],listPlans:["GET /marketplace_listing/plans"],listPlansStubbed:["GET /marketplace_listing/stubbed/plans"],listReposAccessibleToInstallation:["GET /installation/repositories"],listSubscriptionsForAuthenticatedUser:["GET /user/marketplace_purchases"],listSubscriptionsForAuthenticatedUserStubbed:["GET /user/marketplace_purchases/stubbed"],listWebhookDeliveries:["GET /app/hook/deliveries"],redeliverWebhookDelivery:["POST /app/hook/deliveries/{delivery_id}/attempts"],removeRepoFromInstallation:["DELETE /user/installations/{installation_id}/repositories/{repository_id}",{},{renamed:["apps","removeRepoFromInstallationForAuthenticatedUser"]}],removeRepoFromInstallationForAuthenticatedUser:["DELETE /user/installations/{installation_id}/repositories/{repository_id}"],resetToken:["PATCH /applications/{client_id}/token"],revokeInstallationAccessToken:["DELETE /installation/token"],scopeToken:["POST /applications/{client_id}/token/scoped"],suspendInstallation:["PUT /app/installations/{installation_id}/suspended"],unsuspendInstallation:["DELETE /app/installations/{installation_id}/suspended"],updateWebhookConfigForApp:["PATCH /app/hook/config"]},billing:{getGithubActionsBillingOrg:["GET /orgs/{org}/settings/billing/actions"],getGithubActionsBillingUser:["GET /users/{username}/settings/billing/actions"],getGithubBillingUsageReportOrg:["GET /organizations/{org}/settings/billing/usage"],getGithubPackagesBillingOrg:["GET /orgs/{org}/settings/billing/packages"],getGithubPackagesBillingUser:["GET /users/{username}/settings/billing/packages"],getSharedStorageBillingOrg:["GET /orgs/{org}/settings/billing/shared-storage"],getSharedStorageBillingUser:["GET /users/{username}/settings/billing/shared-storage"]},checks:{create:["POST /repos/{owner}/{repo}/check-runs"],createSuite:["POST /repos/{owner}/{repo}/check-suites"],get:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"],getSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"],listAnnotations:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"],listForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"],listForSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"],listSuitesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"],rerequestRun:["POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"],rerequestSuite:["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"],setSuitesPreferences:["PATCH /repos/{owner}/{repo}/check-suites/preferences"],update:["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"]},codeScanning:{commitAutofix:["POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits"],createAutofix:["POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix"],createVariantAnalysis:["POST /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses"],deleteAnalysis:["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"],deleteCodeqlDatabase:["DELETE /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"],getAlert:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}",{},{renamedParameters:{alert_id:"alert_number"}}],getAnalysis:["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"],getAutofix:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix"],getCodeqlDatabase:["GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"],getDefaultSetup:["GET /repos/{owner}/{repo}/code-scanning/default-setup"],getSarif:["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"],getVariantAnalysis:["GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}"],getVariantAnalysisRepoTask:["GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}"],listAlertInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"],listAlertsForOrg:["GET /orgs/{org}/code-scanning/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/code-scanning/alerts"],listAlertsInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",{},{renamed:["codeScanning","listAlertInstances"]}],listCodeqlDatabases:["GET /repos/{owner}/{repo}/code-scanning/codeql/databases"],listRecentAnalyses:["GET /repos/{owner}/{repo}/code-scanning/analyses"],updateAlert:["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"],updateDefaultSetup:["PATCH /repos/{owner}/{repo}/code-scanning/default-setup"],uploadSarif:["POST /repos/{owner}/{repo}/code-scanning/sarifs"]},codeSecurity:{attachConfiguration:["POST /orgs/{org}/code-security/configurations/{configuration_id}/attach"],attachEnterpriseConfiguration:["POST /enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach"],createConfiguration:["POST /orgs/{org}/code-security/configurations"],createConfigurationForEnterprise:["POST /enterprises/{enterprise}/code-security/configurations"],deleteConfiguration:["DELETE /orgs/{org}/code-security/configurations/{configuration_id}"],deleteConfigurationForEnterprise:["DELETE /enterprises/{enterprise}/code-security/configurations/{configuration_id}"],detachConfiguration:["DELETE /orgs/{org}/code-security/configurations/detach"],getConfiguration:["GET /orgs/{org}/code-security/configurations/{configuration_id}"],getConfigurationForRepository:["GET /repos/{owner}/{repo}/code-security-configuration"],getConfigurationsForEnterprise:["GET /enterprises/{enterprise}/code-security/configurations"],getConfigurationsForOrg:["GET /orgs/{org}/code-security/configurations"],getDefaultConfigurations:["GET /orgs/{org}/code-security/configurations/defaults"],getDefaultConfigurationsForEnterprise:["GET /enterprises/{enterprise}/code-security/configurations/defaults"],getRepositoriesForConfiguration:["GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories"],getRepositoriesForEnterpriseConfiguration:["GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories"],getSingleConfigurationForEnterprise:["GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}"],setConfigurationAsDefault:["PUT /orgs/{org}/code-security/configurations/{configuration_id}/defaults"],setConfigurationAsDefaultForEnterprise:["PUT /enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults"],updateConfiguration:["PATCH /orgs/{org}/code-security/configurations/{configuration_id}"],updateEnterpriseConfiguration:["PATCH /enterprises/{enterprise}/code-security/configurations/{configuration_id}"]},codesOfConduct:{getAllCodesOfConduct:["GET /codes_of_conduct"],getConductCode:["GET /codes_of_conduct/{key}"]},codespaces:{addRepositoryForSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"],checkPermissionsForDevcontainer:["GET /repos/{owner}/{repo}/codespaces/permissions_check"],codespaceMachinesForAuthenticatedUser:["GET /user/codespaces/{codespace_name}/machines"],createForAuthenticatedUser:["POST /user/codespaces"],createOrUpdateOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],createOrUpdateSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}"],createWithPrForAuthenticatedUser:["POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"],createWithRepoForAuthenticatedUser:["POST /repos/{owner}/{repo}/codespaces"],deleteForAuthenticatedUser:["DELETE /user/codespaces/{codespace_name}"],deleteFromOrganization:["DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"],deleteOrgSecret:["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],deleteSecretForAuthenticatedUser:["DELETE /user/codespaces/secrets/{secret_name}"],exportForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/exports"],getCodespacesForUserInOrg:["GET /orgs/{org}/members/{username}/codespaces"],getExportDetailsForAuthenticatedUser:["GET /user/codespaces/{codespace_name}/exports/{export_id}"],getForAuthenticatedUser:["GET /user/codespaces/{codespace_name}"],getOrgPublicKey:["GET /orgs/{org}/codespaces/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/codespaces/secrets/{secret_name}"],getPublicKeyForAuthenticatedUser:["GET /user/codespaces/secrets/public-key"],getRepoPublicKey:["GET /repos/{owner}/{repo}/codespaces/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],getSecretForAuthenticatedUser:["GET /user/codespaces/secrets/{secret_name}"],listDevcontainersInRepositoryForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/devcontainers"],listForAuthenticatedUser:["GET /user/codespaces"],listInOrganization:["GET /orgs/{org}/codespaces",{},{renamedParameters:{org_id:"org"}}],listInRepositoryForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces"],listOrgSecrets:["GET /orgs/{org}/codespaces/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/codespaces/secrets"],listRepositoriesForSecretForAuthenticatedUser:["GET /user/codespaces/secrets/{secret_name}/repositories"],listSecretsForAuthenticatedUser:["GET /user/codespaces/secrets"],listSelectedReposForOrgSecret:["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"],preFlightWithRepoForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/new"],publishForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/publish"],removeRepositoryForSecretForAuthenticatedUser:["DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"],repoMachinesForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/machines"],setRepositoriesForSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}/repositories"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories"],startForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/start"],stopForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/stop"],stopInOrganization:["POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"],updateForAuthenticatedUser:["PATCH /user/codespaces/{codespace_name}"]},copilot:{addCopilotSeatsForTeams:["POST /orgs/{org}/copilot/billing/selected_teams"],addCopilotSeatsForUsers:["POST /orgs/{org}/copilot/billing/selected_users"],cancelCopilotSeatAssignmentForTeams:["DELETE /orgs/{org}/copilot/billing/selected_teams"],cancelCopilotSeatAssignmentForUsers:["DELETE /orgs/{org}/copilot/billing/selected_users"],copilotMetricsForOrganization:["GET /orgs/{org}/copilot/metrics"],copilotMetricsForTeam:["GET /orgs/{org}/team/{team_slug}/copilot/metrics"],getCopilotOrganizationDetails:["GET /orgs/{org}/copilot/billing"],getCopilotSeatDetailsForUser:["GET /orgs/{org}/members/{username}/copilot"],listCopilotSeats:["GET /orgs/{org}/copilot/billing/seats"],usageMetricsForOrg:["GET /orgs/{org}/copilot/usage"],usageMetricsForTeam:["GET /orgs/{org}/team/{team_slug}/copilot/usage"]},dependabot:{addSelectedRepoToOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],deleteOrgSecret:["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],getAlert:["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"],getOrgPublicKey:["GET /orgs/{org}/dependabot/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/dependabot/secrets/{secret_name}"],getRepoPublicKey:["GET /repos/{owner}/{repo}/dependabot/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],listAlertsForEnterprise:["GET /enterprises/{enterprise}/dependabot/alerts"],listAlertsForOrg:["GET /orgs/{org}/dependabot/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/dependabot/alerts"],listOrgSecrets:["GET /orgs/{org}/dependabot/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/dependabot/secrets"],listSelectedReposForOrgSecret:["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"],updateAlert:["PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"]},dependencyGraph:{createRepositorySnapshot:["POST /repos/{owner}/{repo}/dependency-graph/snapshots"],diffRange:["GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"],exportSbom:["GET /repos/{owner}/{repo}/dependency-graph/sbom"]},emojis:{get:["GET /emojis"]},gists:{checkIsStarred:["GET /gists/{gist_id}/star"],create:["POST /gists"],createComment:["POST /gists/{gist_id}/comments"],delete:["DELETE /gists/{gist_id}"],deleteComment:["DELETE /gists/{gist_id}/comments/{comment_id}"],fork:["POST /gists/{gist_id}/forks"],get:["GET /gists/{gist_id}"],getComment:["GET /gists/{gist_id}/comments/{comment_id}"],getRevision:["GET /gists/{gist_id}/{sha}"],list:["GET /gists"],listComments:["GET /gists/{gist_id}/comments"],listCommits:["GET /gists/{gist_id}/commits"],listForUser:["GET /users/{username}/gists"],listForks:["GET /gists/{gist_id}/forks"],listPublic:["GET /gists/public"],listStarred:["GET /gists/starred"],star:["PUT /gists/{gist_id}/star"],unstar:["DELETE /gists/{gist_id}/star"],update:["PATCH /gists/{gist_id}"],updateComment:["PATCH /gists/{gist_id}/comments/{comment_id}"]},git:{createBlob:["POST /repos/{owner}/{repo}/git/blobs"],createCommit:["POST /repos/{owner}/{repo}/git/commits"],createRef:["POST /repos/{owner}/{repo}/git/refs"],createTag:["POST /repos/{owner}/{repo}/git/tags"],createTree:["POST /repos/{owner}/{repo}/git/trees"],deleteRef:["DELETE /repos/{owner}/{repo}/git/refs/{ref}"],getBlob:["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"],getCommit:["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"],getRef:["GET /repos/{owner}/{repo}/git/ref/{ref}"],getTag:["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"],getTree:["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"],listMatchingRefs:["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"],updateRef:["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]},gitignore:{getAllTemplates:["GET /gitignore/templates"],getTemplate:["GET /gitignore/templates/{name}"]},interactions:{getRestrictionsForAuthenticatedUser:["GET /user/interaction-limits"],getRestrictionsForOrg:["GET /orgs/{org}/interaction-limits"],getRestrictionsForRepo:["GET /repos/{owner}/{repo}/interaction-limits"],getRestrictionsForYourPublicRepos:["GET /user/interaction-limits",{},{renamed:["interactions","getRestrictionsForAuthenticatedUser"]}],removeRestrictionsForAuthenticatedUser:["DELETE /user/interaction-limits"],removeRestrictionsForOrg:["DELETE /orgs/{org}/interaction-limits"],removeRestrictionsForRepo:["DELETE /repos/{owner}/{repo}/interaction-limits"],removeRestrictionsForYourPublicRepos:["DELETE /user/interaction-limits",{},{renamed:["interactions","removeRestrictionsForAuthenticatedUser"]}],setRestrictionsForAuthenticatedUser:["PUT /user/interaction-limits"],setRestrictionsForOrg:["PUT /orgs/{org}/interaction-limits"],setRestrictionsForRepo:["PUT /repos/{owner}/{repo}/interaction-limits"],setRestrictionsForYourPublicRepos:["PUT /user/interaction-limits",{},{renamed:["interactions","setRestrictionsForAuthenticatedUser"]}]},issues:{addAssignees:["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"],addLabels:["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"],addSubIssue:["POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues"],checkUserCanBeAssigned:["GET /repos/{owner}/{repo}/assignees/{assignee}"],checkUserCanBeAssignedToIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}"],create:["POST /repos/{owner}/{repo}/issues"],createComment:["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"],createLabel:["POST /repos/{owner}/{repo}/labels"],createMilestone:["POST /repos/{owner}/{repo}/milestones"],deleteComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"],deleteLabel:["DELETE /repos/{owner}/{repo}/labels/{name}"],deleteMilestone:["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"],get:["GET /repos/{owner}/{repo}/issues/{issue_number}"],getComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"],getEvent:["GET /repos/{owner}/{repo}/issues/events/{event_id}"],getLabel:["GET /repos/{owner}/{repo}/labels/{name}"],getMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}"],list:["GET /issues"],listAssignees:["GET /repos/{owner}/{repo}/assignees"],listComments:["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"],listCommentsForRepo:["GET /repos/{owner}/{repo}/issues/comments"],listEvents:["GET /repos/{owner}/{repo}/issues/{issue_number}/events"],listEventsForRepo:["GET /repos/{owner}/{repo}/issues/events"],listEventsForTimeline:["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"],listForAuthenticatedUser:["GET /user/issues"],listForOrg:["GET /orgs/{org}/issues"],listForRepo:["GET /repos/{owner}/{repo}/issues"],listLabelsForMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"],listLabelsForRepo:["GET /repos/{owner}/{repo}/labels"],listLabelsOnIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"],listMilestones:["GET /repos/{owner}/{repo}/milestones"],listSubIssues:["GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues"],lock:["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"],removeAllLabels:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"],removeAssignees:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"],removeLabel:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"],removeSubIssue:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue"],reprioritizeSubIssue:["PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority"],setLabels:["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"],unlock:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"],update:["PATCH /repos/{owner}/{repo}/issues/{issue_number}"],updateComment:["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"],updateLabel:["PATCH /repos/{owner}/{repo}/labels/{name}"],updateMilestone:["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"]},licenses:{get:["GET /licenses/{license}"],getAllCommonlyUsed:["GET /licenses"],getForRepo:["GET /repos/{owner}/{repo}/license"]},markdown:{render:["POST /markdown"],renderRaw:["POST /markdown/raw",{headers:{"content-type":"text/plain; charset=utf-8"}}]},meta:{get:["GET /meta"],getAllVersions:["GET /versions"],getOctocat:["GET /octocat"],getZen:["GET /zen"],root:["GET /"]},migrations:{deleteArchiveForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/archive"],deleteArchiveForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/archive"],downloadArchiveForOrg:["GET /orgs/{org}/migrations/{migration_id}/archive"],getArchiveForAuthenticatedUser:["GET /user/migrations/{migration_id}/archive"],getStatusForAuthenticatedUser:["GET /user/migrations/{migration_id}"],getStatusForOrg:["GET /orgs/{org}/migrations/{migration_id}"],listForAuthenticatedUser:["GET /user/migrations"],listForOrg:["GET /orgs/{org}/migrations"],listReposForAuthenticatedUser:["GET /user/migrations/{migration_id}/repositories"],listReposForOrg:["GET /orgs/{org}/migrations/{migration_id}/repositories"],listReposForUser:["GET /user/migrations/{migration_id}/repositories",{},{renamed:["migrations","listReposForAuthenticatedUser"]}],startForAuthenticatedUser:["POST /user/migrations"],startForOrg:["POST /orgs/{org}/migrations"],unlockRepoForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"],unlockRepoForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"]},oidc:{getOidcCustomSubTemplateForOrg:["GET /orgs/{org}/actions/oidc/customization/sub"],updateOidcCustomSubTemplateForOrg:["PUT /orgs/{org}/actions/oidc/customization/sub"]},orgs:{addSecurityManagerTeam:["PUT /orgs/{org}/security-managers/teams/{team_slug}",{},{deprecated:"octokit.rest.orgs.addSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#add-a-security-manager-team"}],assignTeamToOrgRole:["PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"],assignUserToOrgRole:["PUT /orgs/{org}/organization-roles/users/{username}/{role_id}"],blockUser:["PUT /orgs/{org}/blocks/{username}"],cancelInvitation:["DELETE /orgs/{org}/invitations/{invitation_id}"],checkBlockedUser:["GET /orgs/{org}/blocks/{username}"],checkMembershipForUser:["GET /orgs/{org}/members/{username}"],checkPublicMembershipForUser:["GET /orgs/{org}/public_members/{username}"],convertMemberToOutsideCollaborator:["PUT /orgs/{org}/outside_collaborators/{username}"],createInvitation:["POST /orgs/{org}/invitations"],createOrUpdateCustomProperties:["PATCH /orgs/{org}/properties/schema"],createOrUpdateCustomPropertiesValuesForRepos:["PATCH /orgs/{org}/properties/values"],createOrUpdateCustomProperty:["PUT /orgs/{org}/properties/schema/{custom_property_name}"],createWebhook:["POST /orgs/{org}/hooks"],delete:["DELETE /orgs/{org}"],deleteWebhook:["DELETE /orgs/{org}/hooks/{hook_id}"],enableOrDisableSecurityProductOnAllOrgRepos:["POST /orgs/{org}/{security_product}/{enablement}",{},{deprecated:"octokit.rest.orgs.enableOrDisableSecurityProductOnAllOrgRepos() is deprecated, see https://docs.github.com/rest/orgs/orgs#enable-or-disable-a-security-feature-for-an-organization"}],get:["GET /orgs/{org}"],getAllCustomProperties:["GET /orgs/{org}/properties/schema"],getCustomProperty:["GET /orgs/{org}/properties/schema/{custom_property_name}"],getMembershipForAuthenticatedUser:["GET /user/memberships/orgs/{org}"],getMembershipForUser:["GET /orgs/{org}/memberships/{username}"],getOrgRole:["GET /orgs/{org}/organization-roles/{role_id}"],getWebhook:["GET /orgs/{org}/hooks/{hook_id}"],getWebhookConfigForOrg:["GET /orgs/{org}/hooks/{hook_id}/config"],getWebhookDelivery:["GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"],list:["GET /organizations"],listAppInstallations:["GET /orgs/{org}/installations"],listAttestations:["GET /orgs/{org}/attestations/{subject_digest}"],listBlockedUsers:["GET /orgs/{org}/blocks"],listCustomPropertiesValuesForRepos:["GET /orgs/{org}/properties/values"],listFailedInvitations:["GET /orgs/{org}/failed_invitations"],listForAuthenticatedUser:["GET /user/orgs"],listForUser:["GET /users/{username}/orgs"],listInvitationTeams:["GET /orgs/{org}/invitations/{invitation_id}/teams"],listMembers:["GET /orgs/{org}/members"],listMembershipsForAuthenticatedUser:["GET /user/memberships/orgs"],listOrgRoleTeams:["GET /orgs/{org}/organization-roles/{role_id}/teams"],listOrgRoleUsers:["GET /orgs/{org}/organization-roles/{role_id}/users"],listOrgRoles:["GET /orgs/{org}/organization-roles"],listOrganizationFineGrainedPermissions:["GET /orgs/{org}/organization-fine-grained-permissions"],listOutsideCollaborators:["GET /orgs/{org}/outside_collaborators"],listPatGrantRepositories:["GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"],listPatGrantRequestRepositories:["GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"],listPatGrantRequests:["GET /orgs/{org}/personal-access-token-requests"],listPatGrants:["GET /orgs/{org}/personal-access-tokens"],listPendingInvitations:["GET /orgs/{org}/invitations"],listPublicMembers:["GET /orgs/{org}/public_members"],listSecurityManagerTeams:["GET /orgs/{org}/security-managers",{},{deprecated:"octokit.rest.orgs.listSecurityManagerTeams() is deprecated, see https://docs.github.com/rest/orgs/security-managers#list-security-manager-teams"}],listWebhookDeliveries:["GET /orgs/{org}/hooks/{hook_id}/deliveries"],listWebhooks:["GET /orgs/{org}/hooks"],pingWebhook:["POST /orgs/{org}/hooks/{hook_id}/pings"],redeliverWebhookDelivery:["POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"],removeCustomProperty:["DELETE /orgs/{org}/properties/schema/{custom_property_name}"],removeMember:["DELETE /orgs/{org}/members/{username}"],removeMembershipForUser:["DELETE /orgs/{org}/memberships/{username}"],removeOutsideCollaborator:["DELETE /orgs/{org}/outside_collaborators/{username}"],removePublicMembershipForAuthenticatedUser:["DELETE /orgs/{org}/public_members/{username}"],removeSecurityManagerTeam:["DELETE /orgs/{org}/security-managers/teams/{team_slug}",{},{deprecated:"octokit.rest.orgs.removeSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#remove-a-security-manager-team"}],reviewPatGrantRequest:["POST /orgs/{org}/personal-access-token-requests/{pat_request_id}"],reviewPatGrantRequestsInBulk:["POST /orgs/{org}/personal-access-token-requests"],revokeAllOrgRolesTeam:["DELETE /orgs/{org}/organization-roles/teams/{team_slug}"],revokeAllOrgRolesUser:["DELETE /orgs/{org}/organization-roles/users/{username}"],revokeOrgRoleTeam:["DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"],revokeOrgRoleUser:["DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}"],setMembershipForUser:["PUT /orgs/{org}/memberships/{username}"],setPublicMembershipForAuthenticatedUser:["PUT /orgs/{org}/public_members/{username}"],unblockUser:["DELETE /orgs/{org}/blocks/{username}"],update:["PATCH /orgs/{org}"],updateMembershipForAuthenticatedUser:["PATCH /user/memberships/orgs/{org}"],updatePatAccess:["POST /orgs/{org}/personal-access-tokens/{pat_id}"],updatePatAccesses:["POST /orgs/{org}/personal-access-tokens"],updateWebhook:["PATCH /orgs/{org}/hooks/{hook_id}"],updateWebhookConfigForOrg:["PATCH /orgs/{org}/hooks/{hook_id}/config"]},packages:{deletePackageForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}"],deletePackageForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}"],deletePackageForUser:["DELETE /users/{username}/packages/{package_type}/{package_name}"],deletePackageVersionForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForUser:["DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getAllPackageVersionsForAPackageOwnedByAnOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByOrg"]}],getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByAuthenticatedUser"]}],getAllPackageVersionsForPackageOwnedByAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions"],getPackageForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}"],getPackageForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}"],getPackageForUser:["GET /users/{username}/packages/{package_type}/{package_name}"],getPackageVersionForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],listDockerMigrationConflictingPackagesForAuthenticatedUser:["GET /user/docker/conflicts"],listDockerMigrationConflictingPackagesForOrganization:["GET /orgs/{org}/docker/conflicts"],listDockerMigrationConflictingPackagesForUser:["GET /users/{username}/docker/conflicts"],listPackagesForAuthenticatedUser:["GET /user/packages"],listPackagesForOrganization:["GET /orgs/{org}/packages"],listPackagesForUser:["GET /users/{username}/packages"],restorePackageForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForUser:["POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageVersionForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForUser:["POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]},privateRegistries:{createOrgPrivateRegistry:["POST /orgs/{org}/private-registries"],deleteOrgPrivateRegistry:["DELETE /orgs/{org}/private-registries/{secret_name}"],getOrgPrivateRegistry:["GET /orgs/{org}/private-registries/{secret_name}"],getOrgPublicKey:["GET /orgs/{org}/private-registries/public-key"],listOrgPrivateRegistries:["GET /orgs/{org}/private-registries"],updateOrgPrivateRegistry:["PATCH /orgs/{org}/private-registries/{secret_name}"]},projects:{addCollaborator:["PUT /projects/{project_id}/collaborators/{username}"],createCard:["POST /projects/columns/{column_id}/cards"],createColumn:["POST /projects/{project_id}/columns"],createForAuthenticatedUser:["POST /user/projects"],createForOrg:["POST /orgs/{org}/projects"],createForRepo:["POST /repos/{owner}/{repo}/projects"],delete:["DELETE /projects/{project_id}"],deleteCard:["DELETE /projects/columns/cards/{card_id}"],deleteColumn:["DELETE /projects/columns/{column_id}"],get:["GET /projects/{project_id}"],getCard:["GET /projects/columns/cards/{card_id}"],getColumn:["GET /projects/columns/{column_id}"],getPermissionForUser:["GET /projects/{project_id}/collaborators/{username}/permission"],listCards:["GET /projects/columns/{column_id}/cards"],listCollaborators:["GET /projects/{project_id}/collaborators"],listColumns:["GET /projects/{project_id}/columns"],listForOrg:["GET /orgs/{org}/projects"],listForRepo:["GET /repos/{owner}/{repo}/projects"],listForUser:["GET /users/{username}/projects"],moveCard:["POST /projects/columns/cards/{card_id}/moves"],moveColumn:["POST /projects/columns/{column_id}/moves"],removeCollaborator:["DELETE /projects/{project_id}/collaborators/{username}"],update:["PATCH /projects/{project_id}"],updateCard:["PATCH /projects/columns/cards/{card_id}"],updateColumn:["PATCH /projects/columns/{column_id}"]},pulls:{checkIfMerged:["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"],create:["POST /repos/{owner}/{repo}/pulls"],createReplyForReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"],createReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],createReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"],deletePendingReview:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],deleteReviewComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"],dismissReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"],get:["GET /repos/{owner}/{repo}/pulls/{pull_number}"],getReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],getReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"],list:["GET /repos/{owner}/{repo}/pulls"],listCommentsForReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"],listCommits:["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"],listFiles:["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"],listRequestedReviewers:["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],listReviewComments:["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"],listReviewCommentsForRepo:["GET /repos/{owner}/{repo}/pulls/comments"],listReviews:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],merge:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"],removeRequestedReviewers:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],requestReviewers:["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],submitReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"],update:["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"],updateBranch:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"],updateReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],updateReviewComment:["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"]},rateLimit:{get:["GET /rate_limit"]},reactions:{createForCommitComment:["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"],createForIssue:["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"],createForIssueComment:["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"],createForPullRequestReviewComment:["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"],createForRelease:["POST /repos/{owner}/{repo}/releases/{release_id}/reactions"],createForTeamDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"],createForTeamDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"],deleteForCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"],deleteForIssue:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"],deleteForIssueComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"],deleteForPullRequestComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"],deleteForRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"],deleteForTeamDiscussion:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"],deleteForTeamDiscussionComment:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"],listForCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"],listForIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"],listForIssueComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"],listForPullRequestReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"],listForRelease:["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"],listForTeamDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"],listForTeamDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]},repos:{acceptInvitation:["PATCH /user/repository_invitations/{invitation_id}",{},{renamed:["repos","acceptInvitationForAuthenticatedUser"]}],acceptInvitationForAuthenticatedUser:["PATCH /user/repository_invitations/{invitation_id}"],addAppAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],addCollaborator:["PUT /repos/{owner}/{repo}/collaborators/{username}"],addStatusCheckContexts:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],addTeamAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],addUserAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],cancelPagesDeployment:["POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel"],checkAutomatedSecurityFixes:["GET /repos/{owner}/{repo}/automated-security-fixes"],checkCollaborator:["GET /repos/{owner}/{repo}/collaborators/{username}"],checkPrivateVulnerabilityReporting:["GET /repos/{owner}/{repo}/private-vulnerability-reporting"],checkVulnerabilityAlerts:["GET /repos/{owner}/{repo}/vulnerability-alerts"],codeownersErrors:["GET /repos/{owner}/{repo}/codeowners/errors"],compareCommits:["GET /repos/{owner}/{repo}/compare/{base}...{head}"],compareCommitsWithBasehead:["GET /repos/{owner}/{repo}/compare/{basehead}"],createAttestation:["POST /repos/{owner}/{repo}/attestations"],createAutolink:["POST /repos/{owner}/{repo}/autolinks"],createCommitComment:["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"],createCommitSignatureProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],createCommitStatus:["POST /repos/{owner}/{repo}/statuses/{sha}"],createDeployKey:["POST /repos/{owner}/{repo}/keys"],createDeployment:["POST /repos/{owner}/{repo}/deployments"],createDeploymentBranchPolicy:["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"],createDeploymentProtectionRule:["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"],createDeploymentStatus:["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],createDispatchEvent:["POST /repos/{owner}/{repo}/dispatches"],createForAuthenticatedUser:["POST /user/repos"],createFork:["POST /repos/{owner}/{repo}/forks"],createInOrg:["POST /orgs/{org}/repos"],createOrUpdateCustomPropertiesValues:["PATCH /repos/{owner}/{repo}/properties/values"],createOrUpdateEnvironment:["PUT /repos/{owner}/{repo}/environments/{environment_name}"],createOrUpdateFileContents:["PUT /repos/{owner}/{repo}/contents/{path}"],createOrgRuleset:["POST /orgs/{org}/rulesets"],createPagesDeployment:["POST /repos/{owner}/{repo}/pages/deployments"],createPagesSite:["POST /repos/{owner}/{repo}/pages"],createRelease:["POST /repos/{owner}/{repo}/releases"],createRepoRuleset:["POST /repos/{owner}/{repo}/rulesets"],createUsingTemplate:["POST /repos/{template_owner}/{template_repo}/generate"],createWebhook:["POST /repos/{owner}/{repo}/hooks"],declineInvitation:["DELETE /user/repository_invitations/{invitation_id}",{},{renamed:["repos","declineInvitationForAuthenticatedUser"]}],declineInvitationForAuthenticatedUser:["DELETE /user/repository_invitations/{invitation_id}"],delete:["DELETE /repos/{owner}/{repo}"],deleteAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],deleteAdminBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],deleteAnEnvironment:["DELETE /repos/{owner}/{repo}/environments/{environment_name}"],deleteAutolink:["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"],deleteBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"],deleteCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}"],deleteCommitSignatureProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],deleteDeployKey:["DELETE /repos/{owner}/{repo}/keys/{key_id}"],deleteDeployment:["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"],deleteDeploymentBranchPolicy:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],deleteFile:["DELETE /repos/{owner}/{repo}/contents/{path}"],deleteInvitation:["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"],deleteOrgRuleset:["DELETE /orgs/{org}/rulesets/{ruleset_id}"],deletePagesSite:["DELETE /repos/{owner}/{repo}/pages"],deletePullRequestReviewProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],deleteRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}"],deleteReleaseAsset:["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"],deleteRepoRuleset:["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"],deleteWebhook:["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"],disableAutomatedSecurityFixes:["DELETE /repos/{owner}/{repo}/automated-security-fixes"],disableDeploymentProtectionRule:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],disablePrivateVulnerabilityReporting:["DELETE /repos/{owner}/{repo}/private-vulnerability-reporting"],disableVulnerabilityAlerts:["DELETE /repos/{owner}/{repo}/vulnerability-alerts"],downloadArchive:["GET /repos/{owner}/{repo}/zipball/{ref}",{},{renamed:["repos","downloadZipballArchive"]}],downloadTarballArchive:["GET /repos/{owner}/{repo}/tarball/{ref}"],downloadZipballArchive:["GET /repos/{owner}/{repo}/zipball/{ref}"],enableAutomatedSecurityFixes:["PUT /repos/{owner}/{repo}/automated-security-fixes"],enablePrivateVulnerabilityReporting:["PUT /repos/{owner}/{repo}/private-vulnerability-reporting"],enableVulnerabilityAlerts:["PUT /repos/{owner}/{repo}/vulnerability-alerts"],generateReleaseNotes:["POST /repos/{owner}/{repo}/releases/generate-notes"],get:["GET /repos/{owner}/{repo}"],getAccessRestrictions:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],getAdminBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],getAllDeploymentProtectionRules:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"],getAllEnvironments:["GET /repos/{owner}/{repo}/environments"],getAllStatusCheckContexts:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],getAllTopics:["GET /repos/{owner}/{repo}/topics"],getAppsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"],getAutolink:["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"],getBranch:["GET /repos/{owner}/{repo}/branches/{branch}"],getBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection"],getBranchRules:["GET /repos/{owner}/{repo}/rules/branches/{branch}"],getClones:["GET /repos/{owner}/{repo}/traffic/clones"],getCodeFrequencyStats:["GET /repos/{owner}/{repo}/stats/code_frequency"],getCollaboratorPermissionLevel:["GET /repos/{owner}/{repo}/collaborators/{username}/permission"],getCombinedStatusForRef:["GET /repos/{owner}/{repo}/commits/{ref}/status"],getCommit:["GET /repos/{owner}/{repo}/commits/{ref}"],getCommitActivityStats:["GET /repos/{owner}/{repo}/stats/commit_activity"],getCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}"],getCommitSignatureProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],getCommunityProfileMetrics:["GET /repos/{owner}/{repo}/community/profile"],getContent:["GET /repos/{owner}/{repo}/contents/{path}"],getContributorsStats:["GET /repos/{owner}/{repo}/stats/contributors"],getCustomDeploymentProtectionRule:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],getCustomPropertiesValues:["GET /repos/{owner}/{repo}/properties/values"],getDeployKey:["GET /repos/{owner}/{repo}/keys/{key_id}"],getDeployment:["GET /repos/{owner}/{repo}/deployments/{deployment_id}"],getDeploymentBranchPolicy:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],getDeploymentStatus:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"],getEnvironment:["GET /repos/{owner}/{repo}/environments/{environment_name}"],getLatestPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/latest"],getLatestRelease:["GET /repos/{owner}/{repo}/releases/latest"],getOrgRuleSuite:["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"],getOrgRuleSuites:["GET /orgs/{org}/rulesets/rule-suites"],getOrgRuleset:["GET /orgs/{org}/rulesets/{ruleset_id}"],getOrgRulesets:["GET /orgs/{org}/rulesets"],getPages:["GET /repos/{owner}/{repo}/pages"],getPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/{build_id}"],getPagesDeployment:["GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}"],getPagesHealthCheck:["GET /repos/{owner}/{repo}/pages/health"],getParticipationStats:["GET /repos/{owner}/{repo}/stats/participation"],getPullRequestReviewProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],getPunchCardStats:["GET /repos/{owner}/{repo}/stats/punch_card"],getReadme:["GET /repos/{owner}/{repo}/readme"],getReadmeInDirectory:["GET /repos/{owner}/{repo}/readme/{dir}"],getRelease:["GET /repos/{owner}/{repo}/releases/{release_id}"],getReleaseAsset:["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"],getReleaseByTag:["GET /repos/{owner}/{repo}/releases/tags/{tag}"],getRepoRuleSuite:["GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}"],getRepoRuleSuites:["GET /repos/{owner}/{repo}/rulesets/rule-suites"],getRepoRuleset:["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"],getRepoRulesets:["GET /repos/{owner}/{repo}/rulesets"],getStatusChecksProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],getTeamsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],getTopPaths:["GET /repos/{owner}/{repo}/traffic/popular/paths"],getTopReferrers:["GET /repos/{owner}/{repo}/traffic/popular/referrers"],getUsersWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"],getViews:["GET /repos/{owner}/{repo}/traffic/views"],getWebhook:["GET /repos/{owner}/{repo}/hooks/{hook_id}"],getWebhookConfigForRepo:["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"],getWebhookDelivery:["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"],listActivities:["GET /repos/{owner}/{repo}/activity"],listAttestations:["GET /repos/{owner}/{repo}/attestations/{subject_digest}"],listAutolinks:["GET /repos/{owner}/{repo}/autolinks"],listBranches:["GET /repos/{owner}/{repo}/branches"],listBranchesForHeadCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"],listCollaborators:["GET /repos/{owner}/{repo}/collaborators"],listCommentsForCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"],listCommitCommentsForRepo:["GET /repos/{owner}/{repo}/comments"],listCommitStatusesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/statuses"],listCommits:["GET /repos/{owner}/{repo}/commits"],listContributors:["GET /repos/{owner}/{repo}/contributors"],listCustomDeploymentRuleIntegrations:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"],listDeployKeys:["GET /repos/{owner}/{repo}/keys"],listDeploymentBranchPolicies:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"],listDeploymentStatuses:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],listDeployments:["GET /repos/{owner}/{repo}/deployments"],listForAuthenticatedUser:["GET /user/repos"],listForOrg:["GET /orgs/{org}/repos"],listForUser:["GET /users/{username}/repos"],listForks:["GET /repos/{owner}/{repo}/forks"],listInvitations:["GET /repos/{owner}/{repo}/invitations"],listInvitationsForAuthenticatedUser:["GET /user/repository_invitations"],listLanguages:["GET /repos/{owner}/{repo}/languages"],listPagesBuilds:["GET /repos/{owner}/{repo}/pages/builds"],listPublic:["GET /repositories"],listPullRequestsAssociatedWithCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"],listReleaseAssets:["GET /repos/{owner}/{repo}/releases/{release_id}/assets"],listReleases:["GET /repos/{owner}/{repo}/releases"],listTags:["GET /repos/{owner}/{repo}/tags"],listTeams:["GET /repos/{owner}/{repo}/teams"],listWebhookDeliveries:["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"],listWebhooks:["GET /repos/{owner}/{repo}/hooks"],merge:["POST /repos/{owner}/{repo}/merges"],mergeUpstream:["POST /repos/{owner}/{repo}/merge-upstream"],pingWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"],redeliverWebhookDelivery:["POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"],removeAppAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],removeCollaborator:["DELETE /repos/{owner}/{repo}/collaborators/{username}"],removeStatusCheckContexts:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],removeStatusCheckProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],removeTeamAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],removeUserAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],renameBranch:["POST /repos/{owner}/{repo}/branches/{branch}/rename"],replaceAllTopics:["PUT /repos/{owner}/{repo}/topics"],requestPagesBuild:["POST /repos/{owner}/{repo}/pages/builds"],setAdminBranchProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],setAppAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],setStatusCheckContexts:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],setTeamAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],setUserAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],testPushWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"],transfer:["POST /repos/{owner}/{repo}/transfer"],update:["PATCH /repos/{owner}/{repo}"],updateBranchProtection:["PUT /repos/{owner}/{repo}/branches/{branch}/protection"],updateCommitComment:["PATCH /repos/{owner}/{repo}/comments/{comment_id}"],updateDeploymentBranchPolicy:["PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],updateInformationAboutPagesSite:["PUT /repos/{owner}/{repo}/pages"],updateInvitation:["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"],updateOrgRuleset:["PUT /orgs/{org}/rulesets/{ruleset_id}"],updatePullRequestReviewProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],updateRelease:["PATCH /repos/{owner}/{repo}/releases/{release_id}"],updateReleaseAsset:["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"],updateRepoRuleset:["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"],updateStatusCheckPotection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks",{},{renamed:["repos","updateStatusCheckProtection"]}],updateStatusCheckProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],updateWebhook:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"],updateWebhookConfigForRepo:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"],uploadReleaseAsset:["POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}",{baseUrl:"https://uploads.github.com"}]},search:{code:["GET /search/code"],commits:["GET /search/commits"],issuesAndPullRequests:["GET /search/issues"],labels:["GET /search/labels"],repos:["GET /search/repositories"],topics:["GET /search/topics"],users:["GET /search/users"]},secretScanning:{createPushProtectionBypass:["POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses"],getAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"],getScanHistory:["GET /repos/{owner}/{repo}/secret-scanning/scan-history"],listAlertsForEnterprise:["GET /enterprises/{enterprise}/secret-scanning/alerts"],listAlertsForOrg:["GET /orgs/{org}/secret-scanning/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/secret-scanning/alerts"],listLocationsForAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"],updateAlert:["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"]},securityAdvisories:{createFork:["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks"],createPrivateVulnerabilityReport:["POST /repos/{owner}/{repo}/security-advisories/reports"],createRepositoryAdvisory:["POST /repos/{owner}/{repo}/security-advisories"],createRepositoryAdvisoryCveRequest:["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"],getGlobalAdvisory:["GET /advisories/{ghsa_id}"],getRepositoryAdvisory:["GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"],listGlobalAdvisories:["GET /advisories"],listOrgRepositoryAdvisories:["GET /orgs/{org}/security-advisories"],listRepositoryAdvisories:["GET /repos/{owner}/{repo}/security-advisories"],updateRepositoryAdvisory:["PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"]},teams:{addOrUpdateMembershipForUserInOrg:["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"],addOrUpdateProjectPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"],addOrUpdateRepoPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],checkPermissionsForProjectInOrg:["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"],checkPermissionsForRepoInOrg:["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],create:["POST /orgs/{org}/teams"],createDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],createDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions"],deleteDiscussionCommentInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],deleteDiscussionInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],deleteInOrg:["DELETE /orgs/{org}/teams/{team_slug}"],getByName:["GET /orgs/{org}/teams/{team_slug}"],getDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],getDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],getMembershipForUserInOrg:["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"],list:["GET /orgs/{org}/teams"],listChildInOrg:["GET /orgs/{org}/teams/{team_slug}/teams"],listDiscussionCommentsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],listDiscussionsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions"],listForAuthenticatedUser:["GET /user/teams"],listMembersInOrg:["GET /orgs/{org}/teams/{team_slug}/members"],listPendingInvitationsInOrg:["GET /orgs/{org}/teams/{team_slug}/invitations"],listProjectsInOrg:["GET /orgs/{org}/teams/{team_slug}/projects"],listReposInOrg:["GET /orgs/{org}/teams/{team_slug}/repos"],removeMembershipForUserInOrg:["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"],removeProjectInOrg:["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"],removeRepoInOrg:["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],updateDiscussionCommentInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],updateDiscussionInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],updateInOrg:["PATCH /orgs/{org}/teams/{team_slug}"]},users:{addEmailForAuthenticated:["POST /user/emails",{},{renamed:["users","addEmailForAuthenticatedUser"]}],addEmailForAuthenticatedUser:["POST /user/emails"],addSocialAccountForAuthenticatedUser:["POST /user/social_accounts"],block:["PUT /user/blocks/{username}"],checkBlocked:["GET /user/blocks/{username}"],checkFollowingForUser:["GET /users/{username}/following/{target_user}"],checkPersonIsFollowedByAuthenticated:["GET /user/following/{username}"],createGpgKeyForAuthenticated:["POST /user/gpg_keys",{},{renamed:["users","createGpgKeyForAuthenticatedUser"]}],createGpgKeyForAuthenticatedUser:["POST /user/gpg_keys"],createPublicSshKeyForAuthenticated:["POST /user/keys",{},{renamed:["users","createPublicSshKeyForAuthenticatedUser"]}],createPublicSshKeyForAuthenticatedUser:["POST /user/keys"],createSshSigningKeyForAuthenticatedUser:["POST /user/ssh_signing_keys"],deleteEmailForAuthenticated:["DELETE /user/emails",{},{renamed:["users","deleteEmailForAuthenticatedUser"]}],deleteEmailForAuthenticatedUser:["DELETE /user/emails"],deleteGpgKeyForAuthenticated:["DELETE /user/gpg_keys/{gpg_key_id}",{},{renamed:["users","deleteGpgKeyForAuthenticatedUser"]}],deleteGpgKeyForAuthenticatedUser:["DELETE /user/gpg_keys/{gpg_key_id}"],deletePublicSshKeyForAuthenticated:["DELETE /user/keys/{key_id}",{},{renamed:["users","deletePublicSshKeyForAuthenticatedUser"]}],deletePublicSshKeyForAuthenticatedUser:["DELETE /user/keys/{key_id}"],deleteSocialAccountForAuthenticatedUser:["DELETE /user/social_accounts"],deleteSshSigningKeyForAuthenticatedUser:["DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"],follow:["PUT /user/following/{username}"],getAuthenticated:["GET /user"],getById:["GET /user/{account_id}"],getByUsername:["GET /users/{username}"],getContextForUser:["GET /users/{username}/hovercard"],getGpgKeyForAuthenticated:["GET /user/gpg_keys/{gpg_key_id}",{},{renamed:["users","getGpgKeyForAuthenticatedUser"]}],getGpgKeyForAuthenticatedUser:["GET /user/gpg_keys/{gpg_key_id}"],getPublicSshKeyForAuthenticated:["GET /user/keys/{key_id}",{},{renamed:["users","getPublicSshKeyForAuthenticatedUser"]}],getPublicSshKeyForAuthenticatedUser:["GET /user/keys/{key_id}"],getSshSigningKeyForAuthenticatedUser:["GET /user/ssh_signing_keys/{ssh_signing_key_id}"],list:["GET /users"],listAttestations:["GET /users/{username}/attestations/{subject_digest}"],listBlockedByAuthenticated:["GET /user/blocks",{},{renamed:["users","listBlockedByAuthenticatedUser"]}],listBlockedByAuthenticatedUser:["GET /user/blocks"],listEmailsForAuthenticated:["GET /user/emails",{},{renamed:["users","listEmailsForAuthenticatedUser"]}],listEmailsForAuthenticatedUser:["GET /user/emails"],listFollowedByAuthenticated:["GET /user/following",{},{renamed:["users","listFollowedByAuthenticatedUser"]}],listFollowedByAuthenticatedUser:["GET /user/following"],listFollowersForAuthenticatedUser:["GET /user/followers"],listFollowersForUser:["GET /users/{username}/followers"],listFollowingForUser:["GET /users/{username}/following"],listGpgKeysForAuthenticated:["GET /user/gpg_keys",{},{renamed:["users","listGpgKeysForAuthenticatedUser"]}],listGpgKeysForAuthenticatedUser:["GET /user/gpg_keys"],listGpgKeysForUser:["GET /users/{username}/gpg_keys"],listPublicEmailsForAuthenticated:["GET /user/public_emails",{},{renamed:["users","listPublicEmailsForAuthenticatedUser"]}],listPublicEmailsForAuthenticatedUser:["GET /user/public_emails"],listPublicKeysForUser:["GET /users/{username}/keys"],listPublicSshKeysForAuthenticated:["GET /user/keys",{},{renamed:["users","listPublicSshKeysForAuthenticatedUser"]}],listPublicSshKeysForAuthenticatedUser:["GET /user/keys"],listSocialAccountsForAuthenticatedUser:["GET /user/social_accounts"],listSocialAccountsForUser:["GET /users/{username}/social_accounts"],listSshSigningKeysForAuthenticatedUser:["GET /user/ssh_signing_keys"],listSshSigningKeysForUser:["GET /users/{username}/ssh_signing_keys"],setPrimaryEmailVisibilityForAuthenticated:["PATCH /user/email/visibility",{},{renamed:["users","setPrimaryEmailVisibilityForAuthenticatedUser"]}],setPrimaryEmailVisibilityForAuthenticatedUser:["PATCH /user/email/visibility"],unblock:["DELETE /user/blocks/{username}"],unfollow:["DELETE /user/following/{username}"],updateAuthenticated:["PATCH /user"]}};var aa=Ps;var oa=new Map;for(const[Me,Bn]of Object.entries(aa)){for(const[Hn,zn]of Object.entries(Bn)){const[Bn,ni,Ci]=zn;const[ts,Ps]=Bn.split(/ /);const aa=Object.assign({method:ts,url:Ps},ni);if(!oa.has(Me)){oa.set(Me,new Map)}oa.get(Me).set(Hn,{scope:Me,methodName:Hn,endpointDefaults:aa,decorations:Ci})}}var ca={has({scope:Me},Bn){return oa.get(Me).has(Bn)},getOwnPropertyDescriptor(Me,Bn){return{value:this.get(Me,Bn),configurable:true,writable:true,enumerable:true}},defineProperty(Me,Bn,Hn){Object.defineProperty(Me.cache,Bn,Hn);return true},deleteProperty(Me,Bn){delete Me.cache[Bn];return true},ownKeys({scope:Me}){return[...oa.get(Me).keys()]},set(Me,Bn,Hn){return Me.cache[Bn]=Hn},get({octokit:Me,scope:Bn,cache:Hn},zn){if(Hn[zn]){return Hn[zn]}const ni=oa.get(Bn).get(zn);if(!ni){return void 0}const{endpointDefaults:Ci,decorations:ts}=ni;if(ts){Hn[zn]=decorate(Me,Bn,zn,Ci,ts)}else{Hn[zn]=Me.request.defaults(Ci)}return Hn[zn]}};function endpointsToMethods(Me){const Bn={};for(const Hn of oa.keys()){Bn[Hn]=new Proxy({octokit:Me,scope:Hn,cache:{}},ca)}return Bn}function decorate(Me,Bn,Hn,zn,ni){const Ci=Me.request.defaults(zn);function withDecorations(...zn){let ts=Ci.endpoint.merge(...zn);if(ni.mapToData){ts=Object.assign({},ts,{data:ts[ni.mapToData],[ni.mapToData]:void 0});return Ci(ts)}if(ni.renamed){const[zn,Ci]=ni.renamed;Me.log.warn(`octokit.${Bn}.${Hn}() has been renamed to octokit.${zn}.${Ci}()`)}if(ni.deprecated){Me.log.warn(ni.deprecated)}if(ni.renamedParameters){const ts=Ci.endpoint.merge(...zn);for(const[zn,Ci]of Object.entries(ni.renamedParameters)){if(zn in ts){Me.log.warn(`"${zn}" parameter is deprecated for "octokit.${Bn}.${Hn}()". Use "${Ci}" instead`);if(!(Ci in ts)){ts[Ci]=ts[zn]}delete ts[zn]}}return Ci(ts)}return Ci(...zn)}return Object.assign(withDecorations,Ci)}function restEndpointMethods(Me){const Bn=endpointsToMethods(Me);return{rest:Bn}}restEndpointMethods.VERSION=ts;function legacyRestEndpointMethods(Me){const Bn=endpointsToMethods(Me);return{...Bn,rest:Bn}}legacyRestEndpointMethods.VERSION=ts;0&&0},93708:(Me,Bn,Hn)=>{"use strict";var zn=Object.create;var ni=Object.defineProperty;var Ci=Object.getOwnPropertyDescriptor;var ts=Object.getOwnPropertyNames;var Ps=Object.getPrototypeOf;var aa=Object.prototype.hasOwnProperty;var __export=(Me,Bn)=>{for(var Hn in Bn)ni(Me,Hn,{get:Bn[Hn],enumerable:true})};var __copyProps=(Me,Bn,Hn,zn)=>{if(Bn&&typeof Bn==="object"||typeof Bn==="function"){for(let Ps of ts(Bn))if(!aa.call(Me,Ps)&&Ps!==Hn)ni(Me,Ps,{get:()=>Bn[Ps],enumerable:!(zn=Ci(Bn,Ps))||zn.enumerable})}return Me};var __toESM=(Me,Bn,Hn)=>(Hn=Me!=null?zn(Ps(Me)):{},__copyProps(Bn||!Me||!Me.__esModule?ni(Hn,"default",{value:Me,enumerable:true}):Hn,Me));var __toCommonJS=Me=>__copyProps(ni({},"__esModule",{value:true}),Me);var oa={};__export(oa,{RequestError:()=>Ha});Me.exports=__toCommonJS(oa);var ca=Hn(14150);var _a=__toESM(Hn(55560));var xa=(0,_a.default)((Me=>console.warn(Me)));var Ga=(0,_a.default)((Me=>console.warn(Me)));var Ha=class extends Error{constructor(Me,Bn,Hn){super(Me);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=Bn;let zn;if("headers"in Hn&&typeof Hn.headers!=="undefined"){zn=Hn.headers}if("response"in Hn){this.response=Hn.response;zn=Hn.response.headers}const ni=Object.assign({},Hn.request);if(Hn.request.headers.authorization){ni.headers=Object.assign({},Hn.request.headers,{authorization:Hn.request.headers.authorization.replace(/(?{"use strict";var zn=Object.defineProperty;var ni=Object.getOwnPropertyDescriptor;var Ci=Object.getOwnPropertyNames;var ts=Object.prototype.hasOwnProperty;var __export=(Me,Bn)=>{for(var Hn in Bn)zn(Me,Hn,{get:Bn[Hn],enumerable:true})};var __copyProps=(Me,Bn,Hn,Ps)=>{if(Bn&&typeof Bn==="object"||typeof Bn==="function"){for(let aa of Ci(Bn))if(!ts.call(Me,aa)&&aa!==Hn)zn(Me,aa,{get:()=>Bn[aa],enumerable:!(Ps=ni(Bn,aa))||Ps.enumerable})}return Me};var __toCommonJS=Me=>__copyProps(zn({},"__esModule",{value:true}),Me);var Ps={};__export(Ps,{request:()=>xa});Me.exports=__toCommonJS(Ps);var aa=Hn(54471);var oa=Hn(33843);var ca="8.4.1";function isPlainObject(Me){if(typeof Me!=="object"||Me===null)return false;if(Object.prototype.toString.call(Me)!=="[object Object]")return false;const Bn=Object.getPrototypeOf(Me);if(Bn===null)return true;const Hn=Object.prototype.hasOwnProperty.call(Bn,"constructor")&&Bn.constructor;return typeof Hn==="function"&&Hn instanceof Hn&&Function.prototype.call(Hn)===Function.prototype.call(Me)}var _a=Hn(93708);function getBufferResponse(Me){return Me.arrayBuffer()}function fetchWrapper(Me){var Bn,Hn,zn,ni;const Ci=Me.request&&Me.request.log?Me.request.log:console;const ts=((Bn=Me.request)==null?void 0:Bn.parseSuccessResponseBody)!==false;if(isPlainObject(Me.body)||Array.isArray(Me.body)){Me.body=JSON.stringify(Me.body)}let Ps={};let aa;let oa;let{fetch:ca}=globalThis;if((Hn=Me.request)==null?void 0:Hn.fetch){ca=Me.request.fetch}if(!ca){throw new Error("fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing")}return ca(Me.url,{method:Me.method,body:Me.body,redirect:(zn=Me.request)==null?void 0:zn.redirect,headers:Me.headers,signal:(ni=Me.request)==null?void 0:ni.signal,...Me.body&&{duplex:"half"}}).then((async Bn=>{oa=Bn.url;aa=Bn.status;for(const Me of Bn.headers){Ps[Me[0]]=Me[1]}if("deprecation"in Ps){const Bn=Ps.link&&Ps.link.match(/<([^<>]+)>; rel="deprecation"/);const Hn=Bn&&Bn.pop();Ci.warn(`[@octokit/request] "${Me.method} ${Me.url}" is deprecated. It is scheduled to be removed on ${Ps.sunset}${Hn?`. See ${Hn}`:""}`)}if(aa===204||aa===205){return}if(Me.method==="HEAD"){if(aa<400){return}throw new _a.RequestError(Bn.statusText,aa,{response:{url:oa,status:aa,headers:Ps,data:void 0},request:Me})}if(aa===304){throw new _a.RequestError("Not modified",aa,{response:{url:oa,status:aa,headers:Ps,data:await getResponseData(Bn)},request:Me})}if(aa>=400){const Hn=await getResponseData(Bn);const zn=new _a.RequestError(toErrorMessage(Hn),aa,{response:{url:oa,status:aa,headers:Ps,data:Hn},request:Me});throw zn}return ts?await getResponseData(Bn):Bn.body})).then((Me=>({status:aa,url:oa,headers:Ps,data:Me}))).catch((Bn=>{if(Bn instanceof _a.RequestError)throw Bn;else if(Bn.name==="AbortError")throw Bn;let Hn=Bn.message;if(Bn.name==="TypeError"&&"cause"in Bn){if(Bn.cause instanceof Error){Hn=Bn.cause.message}else if(typeof Bn.cause==="string"){Hn=Bn.cause}}throw new _a.RequestError(Hn,500,{request:Me})}))}async function getResponseData(Me){const Bn=Me.headers.get("content-type");if(/application\/json/.test(Bn)){return Me.json().catch((()=>Me.text())).catch((()=>""))}if(!Bn||/^text\/|charset=utf-8$/.test(Bn)){return Me.text()}return getBufferResponse(Me)}function toErrorMessage(Me){if(typeof Me==="string")return Me;let Bn;if("documentation_url"in Me){Bn=` - ${Me.documentation_url}`}else{Bn=""}if("message"in Me){if(Array.isArray(Me.errors)){return`${Me.message}: ${Me.errors.map(JSON.stringify).join(", ")}${Bn}`}return`${Me.message}${Bn}`}return`Unknown error: ${JSON.stringify(Me)}`}function withDefaults(Me,Bn){const Hn=Me.defaults(Bn);const newApi=function(Me,Bn){const zn=Hn.merge(Me,Bn);if(!zn.request||!zn.request.hook){return fetchWrapper(Hn.parse(zn))}const request2=(Me,Bn)=>fetchWrapper(Hn.parse(Hn.merge(Me,Bn)));Object.assign(request2,{endpoint:Hn,defaults:withDefaults.bind(null,Hn)});return zn.request.hook(request2,zn)};return Object.assign(newApi,{endpoint:Hn,defaults:withDefaults.bind(null,Hn)})}var xa=withDefaults(aa.endpoint,{headers:{"user-agent":`octokit-request.js/${ca} ${(0,oa.getUserAgent)()}`}});0&&0},65772:(Me,Bn,Hn)=>{"use strict";var zn=Object.defineProperty;var ni=Object.getOwnPropertyDescriptor;var Ci=Object.getOwnPropertyNames;var ts=Object.prototype.hasOwnProperty;var __export=(Me,Bn)=>{for(var Hn in Bn)zn(Me,Hn,{get:Bn[Hn],enumerable:true})};var __copyProps=(Me,Bn,Hn,Ps)=>{if(Bn&&typeof Bn==="object"||typeof Bn==="function"){for(let aa of Ci(Bn))if(!ts.call(Me,aa)&&aa!==Hn)zn(Me,aa,{get:()=>Bn[aa],enumerable:!(Ps=ni(Bn,aa))||Ps.enumerable})}return Me};var __toCommonJS=Me=>__copyProps(zn({},"__esModule",{value:true}),Me);var Ps={};__export(Ps,{Octokit:()=>Ga});Me.exports=__toCommonJS(Ps);var aa=Hn(61897);var oa=Hn(6966);var ca=Hn(38082);var _a=Hn(84935);var xa="20.1.2";var Ga=aa.Octokit.plugin(oa.requestLog,_a.legacyRestEndpointMethods,ca.paginateRest).defaults({userAgent:`octokit-rest.js/${xa}`});0&&0},17330:function(Me){(function(Bn){"use strict";var executeSync=function(){var Me=Array.prototype.slice.call(arguments);if(typeof Me[0]==="function"){Me[0].apply(null,Me.splice(1))}};var executeAsync=function(Me){if(typeof setImmediate==="function"){setImmediate(Me)}else if(typeof process!=="undefined"&&process.nextTick){process.nextTick(Me)}else{setTimeout(Me,0)}};var makeIterator=function(Me){var makeCallback=function(Bn){var fn=function(){if(Me.length){Me[Bn].apply(null,arguments)}return fn.next()};fn.next=function(){return Bn{"use strict";var zn=Hn(7151);var ni=[];Me.exports=asap;function asap(Me){var Bn;if(ni.length){Bn=ni.pop()}else{Bn=new RawTask}Bn.task=Me;Bn.domain=process.domain;zn(Bn)}function RawTask(){this.task=null;this.domain=null}RawTask.prototype.call=function(){if(this.domain){this.domain.enter()}var Me=true;try{this.task.call();Me=false;if(this.domain){this.domain.exit()}}finally{if(Me){zn.requestFlush()}this.task=null;this.domain=null;ni.push(this)}}},7151:(Me,Bn,Hn)=>{"use strict";var zn;var ni=typeof setImmediate==="function";Me.exports=rawAsap;function rawAsap(Me){if(!Ci.length){requestFlush();ts=true}Ci[Ci.length]=Me}var Ci=[];var ts=false;var Ps=0;var aa=1024;function flush(){while(Psaa){for(var Bn=0,Hn=Ci.length-Ps;Bn{Me.exports={parallel:Hn(83857),serial:Hn(31054),serialOrdered:Hn(53961)}},24818:Me=>{Me.exports=abort;function abort(Me){Object.keys(Me.jobs).forEach(clean.bind(Me));Me.jobs={}}function clean(Me){if(typeof this.jobs[Me]=="function"){this.jobs[Me]()}}},78452:(Me,Bn,Hn)=>{var zn=Hn(29200);Me.exports=async;function async(Me){var Bn=false;zn((function(){Bn=true}));return function async_callback(Hn,ni){if(Bn){Me(Hn,ni)}else{zn((function nextTick_callback(){Me(Hn,ni)}))}}}},29200:Me=>{Me.exports=defer;function defer(Me){var Bn=typeof setImmediate=="function"?setImmediate:typeof process=="object"&&typeof process.nextTick=="function"?process.nextTick:null;if(Bn){Bn(Me)}else{setTimeout(Me,0)}}},24902:(Me,Bn,Hn)=>{var zn=Hn(78452),ni=Hn(24818);Me.exports=iterate;function iterate(Me,Bn,Hn,zn){var Ci=Hn["keyedList"]?Hn["keyedList"][Hn.index]:Hn.index;Hn.jobs[Ci]=runJob(Bn,Ci,Me[Ci],(function(Me,Bn){if(!(Ci in Hn.jobs)){return}delete Hn.jobs[Ci];if(Me){ni(Hn)}else{Hn.results[Ci]=Bn}zn(Me,Hn.results)}))}function runJob(Me,Bn,Hn,ni){var Ci;if(Me.length==2){Ci=Me(Hn,zn(ni))}else{Ci=Me(Hn,Bn,zn(ni))}return Ci}},81721:Me=>{Me.exports=state;function state(Me,Bn){var Hn=!Array.isArray(Me),zn={index:0,keyedList:Hn||Bn?Object.keys(Me):null,jobs:{},results:Hn?{}:[],size:Hn?Object.keys(Me).length:Me.length};if(Bn){zn.keyedList.sort(Hn?Bn:function(Hn,zn){return Bn(Me[Hn],Me[zn])})}return zn}},33351:(Me,Bn,Hn)=>{var zn=Hn(24818),ni=Hn(78452);Me.exports=terminator;function terminator(Me){if(!Object.keys(this.jobs).length){return}this.index=this.size;zn(this);ni(Me)(null,this.results)}},83857:(Me,Bn,Hn)=>{var zn=Hn(24902),ni=Hn(81721),Ci=Hn(33351);Me.exports=parallel;function parallel(Me,Bn,Hn){var ts=ni(Me);while(ts.index<(ts["keyedList"]||Me).length){zn(Me,Bn,ts,(function(Me,Bn){if(Me){Hn(Me,Bn);return}if(Object.keys(ts.jobs).length===0){Hn(null,ts.results);return}}));ts.index++}return Ci.bind(ts,Hn)}},31054:(Me,Bn,Hn)=>{var zn=Hn(53961);Me.exports=serial;function serial(Me,Bn,Hn){return zn(Me,Bn,null,Hn)}},53961:(Me,Bn,Hn)=>{var zn=Hn(24902),ni=Hn(81721),Ci=Hn(33351);Me.exports=serialOrdered;Me.exports.ascending=ascending;Me.exports.descending=descending;function serialOrdered(Me,Bn,Hn,ts){var Ps=ni(Me,Hn);zn(Me,Bn,Ps,(function iteratorHandler(Hn,ni){if(Hn){ts(Hn,ni);return}Ps.index++;if(Ps.index<(Ps["keyedList"]||Me).length){zn(Me,Bn,Ps,iteratorHandler);return}ts(null,Ps.results)}));return Ci.bind(Ps,ts)}function ascending(Me,Bn){return MeBn?1:0}function descending(Me,Bn){return-1*ascending(Me,Bn)}},52732:(Me,Bn,Hn)=>{var zn=Hn(11063);var ni=Hn(22027);var Ci=Hn(59934);var ts=Function.bind;var Ps=ts.bind(ts);function bindApi(Me,Bn,Hn){var zn=Ps(Ci,null).apply(null,Hn?[Bn,Hn]:[Bn]);Me.api={remove:zn};Me.remove=zn;["before","error","after","wrap"].forEach((function(zn){var Ci=Hn?[Bn,zn,Hn]:[Bn,zn];Me[zn]=Me.api[zn]=Ps(ni,null).apply(null,Ci)}))}function HookSingular(){var Me="h";var Bn={registry:{}};var Hn=zn.bind(null,Bn,Me);bindApi(Hn,Bn,Me);return Hn}function HookCollection(){var Me={registry:{}};var Bn=zn.bind(null,Me);bindApi(Bn,Me);return Bn}var aa=false;function Hook(){if(!aa){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');aa=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();Me.exports=Hook;Me.exports.Hook=Hook;Me.exports.Singular=Hook.Singular;Me.exports.Collection=Hook.Collection},22027:Me=>{Me.exports=addHook;function addHook(Me,Bn,Hn,zn){var ni=zn;if(!Me.registry[Hn]){Me.registry[Hn]=[]}if(Bn==="before"){zn=function(Me,Bn){return Promise.resolve().then(ni.bind(null,Bn)).then(Me.bind(null,Bn))}}if(Bn==="after"){zn=function(Me,Bn){var Hn;return Promise.resolve().then(Me.bind(null,Bn)).then((function(Me){Hn=Me;return ni(Hn,Bn)})).then((function(){return Hn}))}}if(Bn==="error"){zn=function(Me,Bn){return Promise.resolve().then(Me.bind(null,Bn)).catch((function(Me){return ni(Me,Bn)}))}}Me.registry[Hn].push({hook:zn,orig:ni})}},11063:Me=>{Me.exports=register;function register(Me,Bn,Hn,zn){if(typeof Hn!=="function"){throw new Error("method for before hook must be a function")}if(!zn){zn={}}if(Array.isArray(Bn)){return Bn.reverse().reduce((function(Bn,Hn){return register.bind(null,Me,Hn,Bn,zn)}),Hn)()}return Promise.resolve().then((function(){if(!Me.registry[Bn]){return Hn(zn)}return Me.registry[Bn].reduce((function(Me,Bn){return Bn.hook.bind(null,Me,zn)}),Hn)()}))}},59934:Me=>{Me.exports=removeHook;function removeHook(Me,Bn,Hn){if(!Me.registry[Bn]){return}var zn=Me.registry[Bn].map((function(Me){return Me.orig})).indexOf(Hn);if(zn===-1){return}Me.registry[Bn].splice(zn,1)}},39732:(Me,Bn,Hn)=>{"use strict";var zn=Hn(20181).Buffer;var ni=Hn(20181).SlowBuffer;Me.exports=bufferEq;function bufferEq(Me,Bn){if(!zn.isBuffer(Me)||!zn.isBuffer(Bn)){return false}if(Me.length!==Bn.length){return false}var Hn=0;for(var ni=0;ni{"use strict";var zn=Hn(37564);var ni=Hn(33945);var Ci=Hn(88093);var ts=Hn(31330);Me.exports=ts||zn.call(Ci,ni)},33945:Me=>{"use strict";Me.exports=Function.prototype.apply},88093:Me=>{"use strict";Me.exports=Function.prototype.call},88705:(Me,Bn,Hn)=>{"use strict";var zn=Hn(37564);var ni=Hn(73314);var Ci=Hn(88093);var ts=Hn(22639);Me.exports=function callBindBasic(Me){if(Me.length<1||typeof Me[0]!=="function"){throw new ni("a function is required")}return ts(zn,Ci,Me)}},31330:Me=>{"use strict";Me.exports=typeof Reflect!=="undefined"&&Reflect&&Reflect.apply},23105:(Me,Bn,Hn)=>{"use strict";var zn=Hn(60470);var ni=Hn(88705);var Ci=ni([zn("%String.prototype.indexOf%")]);Me.exports=function callBoundIntrinsic(Me,Bn){var Hn=zn(Me,!!Bn);if(typeof Hn==="function"&&Ci(Me,".prototype.")>-1){return ni([Hn])}return Hn}},35630:(Me,Bn,Hn)=>{var zn=Hn(39023);var ni=Hn(2203).Stream;var Ci=Hn(72710);Me.exports=CombinedStream;function CombinedStream(){this.writable=false;this.readable=true;this.dataSize=0;this.maxDataSize=2*1024*1024;this.pauseStreams=true;this._released=false;this._streams=[];this._currentStream=null;this._insideLoop=false;this._pendingNext=false}zn.inherits(CombinedStream,ni);CombinedStream.create=function(Me){var Bn=new this;Me=Me||{};for(var Hn in Me){Bn[Hn]=Me[Hn]}return Bn};CombinedStream.isStreamLike=function(Me){return typeof Me!=="function"&&typeof Me!=="string"&&typeof Me!=="boolean"&&typeof Me!=="number"&&!Buffer.isBuffer(Me)};CombinedStream.prototype.append=function(Me){var Bn=CombinedStream.isStreamLike(Me);if(Bn){if(!(Me instanceof Ci)){var Hn=Ci.create(Me,{maxDataSize:Infinity,pauseStream:this.pauseStreams});Me.on("data",this._checkDataSize.bind(this));Me=Hn}this._handleErrors(Me);if(this.pauseStreams){Me.pause()}}this._streams.push(Me);return this};CombinedStream.prototype.pipe=function(Me,Bn){ni.prototype.pipe.call(this,Me,Bn);this.resume();return Me};CombinedStream.prototype._getNext=function(){this._currentStream=null;if(this._insideLoop){this._pendingNext=true;return}this._insideLoop=true;try{do{this._pendingNext=false;this._realGetNext()}while(this._pendingNext)}finally{this._insideLoop=false}};CombinedStream.prototype._realGetNext=function(){var Me=this._streams.shift();if(typeof Me=="undefined"){this.end();return}if(typeof Me!=="function"){this._pipeNext(Me);return}var Bn=Me;Bn(function(Me){var Bn=CombinedStream.isStreamLike(Me);if(Bn){Me.on("data",this._checkDataSize.bind(this));this._handleErrors(Me)}this._pipeNext(Me)}.bind(this))};CombinedStream.prototype._pipeNext=function(Me){this._currentStream=Me;var Bn=CombinedStream.isStreamLike(Me);if(Bn){Me.on("end",this._getNext.bind(this));Me.pipe(this,{end:false});return}var Hn=Me;this.write(Hn);this._getNext()};CombinedStream.prototype._handleErrors=function(Me){var Bn=this;Me.on("error",(function(Me){Bn._emitError(Me)}))};CombinedStream.prototype.write=function(Me){this.emit("data",Me)};CombinedStream.prototype.pause=function(){if(!this.pauseStreams){return}if(this.pauseStreams&&this._currentStream&&typeof this._currentStream.pause=="function")this._currentStream.pause();this.emit("pause")};CombinedStream.prototype.resume=function(){if(!this._released){this._released=true;this.writable=true;this._getNext()}if(this.pauseStreams&&this._currentStream&&typeof this._currentStream.resume=="function")this._currentStream.resume();this.emit("resume")};CombinedStream.prototype.end=function(){this._reset();this.emit("end")};CombinedStream.prototype.destroy=function(){this._reset();this.emit("close")};CombinedStream.prototype._reset=function(){this.writable=false;this._streams=[];this._currentStream=null};CombinedStream.prototype._checkDataSize=function(){this._updateDataSize();if(this.dataSize<=this.maxDataSize){return}var Me="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this._emitError(new Error(Me))};CombinedStream.prototype._updateDataSize=function(){this.dataSize=0;var Me=this;this._streams.forEach((function(Bn){if(!Bn.dataSize){return}Me.dataSize+=Bn.dataSize}));if(this._currentStream&&this._currentStream.dataSize){this.dataSize+=this._currentStream.dataSize}};CombinedStream.prototype._emitError=function(Me){this._reset();this.emit("error",Me)}},6110:(Me,Bn,Hn)=>{Bn.formatArgs=formatArgs;Bn.save=save;Bn.load=load;Bn.useColors=useColors;Bn.storage=localstorage();Bn.destroy=(()=>{let Me=false;return()=>{if(!Me){Me=true;console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}}})();Bn.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function useColors(){if(typeof window!=="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)){return true}if(typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)){return false}let Me;return typeof document!=="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=="undefined"&&navigator.userAgent&&(Me=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(Me[1],10)>=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs(Bn){Bn[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+Bn[0]+(this.useColors?"%c ":" ")+"+"+Me.exports.humanize(this.diff);if(!this.useColors){return}const Hn="color: "+this.color;Bn.splice(1,0,Hn,"color: inherit");let zn=0;let ni=0;Bn[0].replace(/%[a-zA-Z%]/g,(Me=>{if(Me==="%%"){return}zn++;if(Me==="%c"){ni=zn}}));Bn.splice(ni,0,Hn)}Bn.log=console.debug||console.log||(()=>{});function save(Me){try{if(Me){Bn.storage.setItem("debug",Me)}else{Bn.storage.removeItem("debug")}}catch(Me){}}function load(){let Me;try{Me=Bn.storage.getItem("debug")||Bn.storage.getItem("DEBUG")}catch(Me){}if(!Me&&typeof process!=="undefined"&&"env"in process){Me=process.env.DEBUG}return Me}function localstorage(){try{return localStorage}catch(Me){}}Me.exports=Hn(40897)(Bn);const{formatters:zn}=Me.exports;zn.j=function(Me){try{return JSON.stringify(Me)}catch(Me){return"[UnexpectedJSONParseError]: "+Me.message}}},40897:(Me,Bn,Hn)=>{function setup(Me){createDebug.debug=createDebug;createDebug.default=createDebug;createDebug.coerce=coerce;createDebug.disable=disable;createDebug.enable=enable;createDebug.enabled=enabled;createDebug.humanize=Hn(70744);createDebug.destroy=destroy;Object.keys(Me).forEach((Bn=>{createDebug[Bn]=Me[Bn]}));createDebug.names=[];createDebug.skips=[];createDebug.formatters={};function selectColor(Me){let Bn=0;for(let Hn=0;Hn{if(Bn==="%%"){return"%"}Ci++;const ni=createDebug.formatters[zn];if(typeof ni==="function"){const zn=Me[Ci];Bn=ni.call(Hn,zn);Me.splice(Ci,1);Ci--}return Bn}));createDebug.formatArgs.call(Hn,Me);const ts=Hn.log||createDebug.log;ts.apply(Hn,Me)}debug.namespace=Me;debug.useColors=createDebug.useColors();debug.color=createDebug.selectColor(Me);debug.extend=extend;debug.destroy=createDebug.destroy;Object.defineProperty(debug,"enabled",{enumerable:true,configurable:false,get:()=>{if(Hn!==null){return Hn}if(zn!==createDebug.namespaces){zn=createDebug.namespaces;ni=createDebug.enabled(Me)}return ni},set:Me=>{Hn=Me}});if(typeof createDebug.init==="function"){createDebug.init(debug)}return debug}function extend(Me,Bn){const Hn=createDebug(this.namespace+(typeof Bn==="undefined"?":":Bn)+Me);Hn.log=this.log;return Hn}function enable(Me){createDebug.save(Me);createDebug.namespaces=Me;createDebug.names=[];createDebug.skips=[];const Bn=(typeof Me==="string"?Me:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const Me of Bn){if(Me[0]==="-"){createDebug.skips.push(Me.slice(1))}else{createDebug.names.push(Me)}}}function matchesTemplate(Me,Bn){let Hn=0;let zn=0;let ni=-1;let Ci=0;while(Hn"-"+Me))].join(",");createDebug.enable("");return Me}function enabled(Me){for(const Bn of createDebug.skips){if(matchesTemplate(Me,Bn)){return false}}for(const Bn of createDebug.names){if(matchesTemplate(Me,Bn)){return true}}return false}function coerce(Me){if(Me instanceof Error){return Me.stack||Me.message}return Me}function destroy(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}createDebug.enable(createDebug.load());return createDebug}Me.exports=setup},2830:(Me,Bn,Hn)=>{if(typeof process==="undefined"||process.type==="renderer"||process.browser===true||process.__nwjs){Me.exports=Hn(6110)}else{Me.exports=Hn(95108)}},95108:(Me,Bn,Hn)=>{const zn=Hn(52018);const ni=Hn(39023);Bn.init=init;Bn.log=log;Bn.formatArgs=formatArgs;Bn.save=save;Bn.load=load;Bn.useColors=useColors;Bn.destroy=ni.deprecate((()=>{}),"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Bn.colors=[6,2,3,4,5,1];try{const Me=Hn(21450);if(Me&&(Me.stderr||Me).level>=2){Bn.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}}catch(Me){}Bn.inspectOpts=Object.keys(process.env).filter((Me=>/^debug_/i.test(Me))).reduce(((Me,Bn)=>{const Hn=Bn.substring(6).toLowerCase().replace(/_([a-z])/g,((Me,Bn)=>Bn.toUpperCase()));let zn=process.env[Bn];if(/^(yes|on|true|enabled)$/i.test(zn)){zn=true}else if(/^(no|off|false|disabled)$/i.test(zn)){zn=false}else if(zn==="null"){zn=null}else{zn=Number(zn)}Me[Hn]=zn;return Me}),{});function useColors(){return"colors"in Bn.inspectOpts?Boolean(Bn.inspectOpts.colors):zn.isatty(process.stderr.fd)}function formatArgs(Bn){const{namespace:Hn,useColors:zn}=this;if(zn){const zn=this.color;const ni="[3"+(zn<8?zn:"8;5;"+zn);const Ci=` ${ni};1m${Hn} `;Bn[0]=Ci+Bn[0].split("\n").join("\n"+Ci);Bn.push(ni+"m+"+Me.exports.humanize(this.diff)+"")}else{Bn[0]=getDate()+Hn+" "+Bn[0]}}function getDate(){if(Bn.inspectOpts.hideDate){return""}return(new Date).toISOString()+" "}function log(...Me){return process.stderr.write(ni.formatWithOptions(Bn.inspectOpts,...Me)+"\n")}function save(Me){if(Me){process.env.DEBUG=Me}else{delete process.env.DEBUG}}function load(){return process.env.DEBUG}function init(Me){Me.inspectOpts={};const Hn=Object.keys(Bn.inspectOpts);for(let zn=0;znMe.trim())).join(" ")};Ci.O=function(Me){this.inspectOpts.colors=this.useColors;return ni.inspect(Me,this.inspectOpts)}},72710:(Me,Bn,Hn)=>{var zn=Hn(2203).Stream;var ni=Hn(39023);Me.exports=DelayedStream;function DelayedStream(){this.source=null;this.dataSize=0;this.maxDataSize=1024*1024;this.pauseStream=true;this._maxDataSizeExceeded=false;this._released=false;this._bufferedEvents=[]}ni.inherits(DelayedStream,zn);DelayedStream.create=function(Me,Bn){var Hn=new this;Bn=Bn||{};for(var zn in Bn){Hn[zn]=Bn[zn]}Hn.source=Me;var ni=Me.emit;Me.emit=function(){Hn._handleEmit(arguments);return ni.apply(Me,arguments)};Me.on("error",(function(){}));if(Hn.pauseStream){Me.pause()}return Hn};Object.defineProperty(DelayedStream.prototype,"readable",{configurable:true,enumerable:true,get:function(){return this.source.readable}});DelayedStream.prototype.setEncoding=function(){return this.source.setEncoding.apply(this.source,arguments)};DelayedStream.prototype.resume=function(){if(!this._released){this.release()}this.source.resume()};DelayedStream.prototype.pause=function(){this.source.pause()};DelayedStream.prototype.release=function(){this._released=true;this._bufferedEvents.forEach(function(Me){this.emit.apply(this,Me)}.bind(this));this._bufferedEvents=[]};DelayedStream.prototype.pipe=function(){var Me=zn.prototype.pipe.apply(this,arguments);this.resume();return Me};DelayedStream.prototype._handleEmit=function(Me){if(this._released){this.emit.apply(this,Me);return}if(Me[0]==="data"){this.dataSize+=Me[1].length;this._checkIfMaxDataSizeExceeded()}this._bufferedEvents.push(Me)};DelayedStream.prototype._checkIfMaxDataSizeExceeded=function(){if(this._maxDataSizeExceeded){return}if(this.dataSize<=this.maxDataSize){return}this._maxDataSizeExceeded=true;var Me="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this.emit("error",new Error(Me))}},14150:(Me,Bn)=>{"use strict";Object.defineProperty(Bn,"__esModule",{value:true});class Deprecation extends Error{constructor(Me){super(Me);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}Bn.Deprecation=Deprecation},26669:(Me,Bn,Hn)=>{"use strict";var zn=Hn(88705);var ni=Hn(33170);var Ci;try{Ci=[].__proto__===Array.prototype}catch(Me){if(!Me||typeof Me!=="object"||!("code"in Me)||Me.code!=="ERR_PROTO_ACCESS"){throw Me}}var ts=!!Ci&&ni&&ni(Object.prototype,"__proto__");var Ps=Object;var aa=Ps.getPrototypeOf;Me.exports=ts&&typeof ts.get==="function"?zn([ts.get]):typeof aa==="function"?function getDunder(Me){return aa(Me==null?Me:Ps(Me))}:false},325:(Me,Bn,Hn)=>{"use strict";var zn=Hn(93058).Buffer;var ni=Hn(5028);var Ci=128,ts=0,Ps=32,aa=16,oa=2,ca=aa|Ps|ts<<6,_a=oa|ts<<6;function base64Url(Me){return Me.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function signatureAsBuffer(Me){if(zn.isBuffer(Me)){return Me}else if("string"===typeof Me){return zn.from(Me,"base64")}throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function derToJose(Me,Bn){Me=signatureAsBuffer(Me);var Hn=ni(Bn);var ts=Hn+1;var Ps=Me.length;var aa=0;if(Me[aa++]!==ca){throw new Error('Could not find expected "seq"')}var oa=Me[aa++];if(oa===(Ci|1)){oa=Me[aa++]}if(Ps-aa=Ci;if(ni){--zn}return zn}function joseToDer(Me,Bn){Me=signatureAsBuffer(Me);var Hn=ni(Bn);var ts=Me.length;if(ts!==Hn*2){throw new TypeError('"'+Bn+'" signatures must be "'+Hn*2+'" bytes, saw "'+ts+'"')}var Ps=countPadding(Me,0,Hn);var aa=countPadding(Me,Hn,Me.length);var oa=Hn-Ps;var xa=Hn-aa;var Ga=1+1+oa+1+1+xa;var Ha=Ga{"use strict";function getParamSize(Me){var Bn=(Me/8|0)+(Me%8===0?0:1);return Bn}var Bn={ES256:getParamSize(256),ES384:getParamSize(384),ES512:getParamSize(521)};function getParamBytesForAlg(Me){var Hn=Bn[Me];if(Hn){return Hn}throw new Error('Unknown algorithm "'+Me+'"')}Me.exports=getParamBytesForAlg},79094:Me=>{"use strict";var Bn=Object.defineProperty||false;if(Bn){try{Bn({},"a",{value:1})}catch(Me){Bn=false}}Me.exports=Bn},33056:Me=>{"use strict";Me.exports=EvalError},31620:Me=>{"use strict";Me.exports=Error},14585:Me=>{"use strict";Me.exports=RangeError},46905:Me=>{"use strict";Me.exports=ReferenceError},80105:Me=>{"use strict";Me.exports=SyntaxError},73314:Me=>{"use strict";Me.exports=TypeError},32578:Me=>{"use strict";Me.exports=URIError},95399:Me=>{"use strict";Me.exports=Object},88700:(Me,Bn,Hn)=>{"use strict";var zn=Hn(60470);var ni=zn("%Object.defineProperty%",true);var Ci=Hn(85479)();var ts=Hn(54076);var Ps=Hn(73314);var aa=Ci?Symbol.toStringTag:null;Me.exports=function setToStringTag(Me,Bn){var Hn=arguments.length>2&&!!arguments[2]&&arguments[2].force;var zn=arguments.length>2&&!!arguments[2]&&arguments[2].nonConfigurable;if(typeof Hn!=="undefined"&&typeof Hn!=="boolean"||typeof zn!=="undefined"&&typeof zn!=="boolean"){throw new Ps("if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans")}if(aa&&(Hn||!ts(Me,aa))){if(ni){ni(Me,aa,{configurable:!zn,enumerable:false,value:Bn,writable:false})}else{Me[aa]=Bn}}}},34778:(Me,Bn,Hn)=>{var zn;Me.exports=function(){if(!zn){try{zn=Hn(2830)("follow-redirects")}catch(Me){}if(typeof zn!=="function"){zn=function(){}}}zn.apply(null,arguments)}},1573:(Me,Bn,Hn)=>{var zn=Hn(87016);var ni=zn.URL;var Ci=Hn(58611);var ts=Hn(65692);var Ps=Hn(2203).Writable;var aa=Hn(42613);var oa=Hn(34778);(function detectUnsupportedEnvironment(){var Me=typeof process!=="undefined";var Bn=typeof window!=="undefined"&&typeof document!=="undefined";var Hn=isFunction(Error.captureStackTrace);if(!Me&&(Bn||!Hn)){console.warn("The follow-redirects package should be excluded from browser builds.")}})();var ca=false;try{aa(new ni(""))}catch(Me){ca=Me.code==="ERR_INVALID_URL"}var _a=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"];var xa=["abort","aborted","connect","error","socket","timeout"];var Ga=Object.create(null);xa.forEach((function(Me){Ga[Me]=function(Bn,Hn,zn){this._redirectable.emit(Me,Bn,Hn,zn)}}));var Ha=createErrorType("ERR_INVALID_URL","Invalid URL",TypeError);var so=createErrorType("ERR_FR_REDIRECTION_FAILURE","Redirected request failed");var oo=createErrorType("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",so);var Jo=createErrorType("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit");var tc=createErrorType("ERR_STREAM_WRITE_AFTER_END","write after end");var dc=Ps.prototype.destroy||noop;function RedirectableRequest(Me,Bn){Ps.call(this);this._sanitizeOptions(Me);this._options=Me;this._ended=false;this._ending=false;this._redirectCount=0;this._redirects=[];this._requestBodyLength=0;this._requestBodyBuffers=[];if(Bn){this.on("response",Bn)}var Hn=this;this._onNativeResponse=function(Me){try{Hn._processResponse(Me)}catch(Me){Hn.emit("error",Me instanceof so?Me:new so({cause:Me}))}};this._performRequest()}RedirectableRequest.prototype=Object.create(Ps.prototype);RedirectableRequest.prototype.abort=function(){destroyRequest(this._currentRequest);this._currentRequest.abort();this.emit("abort")};RedirectableRequest.prototype.destroy=function(Me){destroyRequest(this._currentRequest,Me);dc.call(this,Me);return this};RedirectableRequest.prototype.write=function(Me,Bn,Hn){if(this._ending){throw new tc}if(!isString(Me)&&!isBuffer(Me)){throw new TypeError("data should be a string, Buffer or Uint8Array")}if(isFunction(Bn)){Hn=Bn;Bn=null}if(Me.length===0){if(Hn){Hn()}return}if(this._requestBodyLength+Me.length<=this._options.maxBodyLength){this._requestBodyLength+=Me.length;this._requestBodyBuffers.push({data:Me,encoding:Bn});this._currentRequest.write(Me,Bn,Hn)}else{this.emit("error",new Jo);this.abort()}};RedirectableRequest.prototype.end=function(Me,Bn,Hn){if(isFunction(Me)){Hn=Me;Me=Bn=null}else if(isFunction(Bn)){Hn=Bn;Bn=null}if(!Me){this._ended=this._ending=true;this._currentRequest.end(null,null,Hn)}else{var zn=this;var ni=this._currentRequest;this.write(Me,Bn,(function(){zn._ended=true;ni.end(null,null,Hn)}));this._ending=true}};RedirectableRequest.prototype.setHeader=function(Me,Bn){this._options.headers[Me]=Bn;this._currentRequest.setHeader(Me,Bn)};RedirectableRequest.prototype.removeHeader=function(Me){delete this._options.headers[Me];this._currentRequest.removeHeader(Me)};RedirectableRequest.prototype.setTimeout=function(Me,Bn){var Hn=this;function destroyOnTimeout(Bn){Bn.setTimeout(Me);Bn.removeListener("timeout",Bn.destroy);Bn.addListener("timeout",Bn.destroy)}function startTimer(Bn){if(Hn._timeout){clearTimeout(Hn._timeout)}Hn._timeout=setTimeout((function(){Hn.emit("timeout");clearTimer()}),Me);destroyOnTimeout(Bn)}function clearTimer(){if(Hn._timeout){clearTimeout(Hn._timeout);Hn._timeout=null}Hn.removeListener("abort",clearTimer);Hn.removeListener("error",clearTimer);Hn.removeListener("response",clearTimer);Hn.removeListener("close",clearTimer);if(Bn){Hn.removeListener("timeout",Bn)}if(!Hn.socket){Hn._currentRequest.removeListener("socket",startTimer)}}if(Bn){this.on("timeout",Bn)}if(this.socket){startTimer(this.socket)}else{this._currentRequest.once("socket",startTimer)}this.on("socket",destroyOnTimeout);this.on("abort",clearTimer);this.on("error",clearTimer);this.on("response",clearTimer);this.on("close",clearTimer);return this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach((function(Me){RedirectableRequest.prototype[Me]=function(Bn,Hn){return this._currentRequest[Me](Bn,Hn)}}));["aborted","connection","socket"].forEach((function(Me){Object.defineProperty(RedirectableRequest.prototype,Me,{get:function(){return this._currentRequest[Me]}})}));RedirectableRequest.prototype._sanitizeOptions=function(Me){if(!Me.headers){Me.headers={}}if(Me.host){if(!Me.hostname){Me.hostname=Me.host}delete Me.host}if(!Me.pathname&&Me.path){var Bn=Me.path.indexOf("?");if(Bn<0){Me.pathname=Me.path}else{Me.pathname=Me.path.substring(0,Bn);Me.search=Me.path.substring(Bn)}}};RedirectableRequest.prototype._performRequest=function(){var Me=this._options.protocol;var Bn=this._options.nativeProtocols[Me];if(!Bn){throw new TypeError("Unsupported protocol "+Me)}if(this._options.agents){var Hn=Me.slice(0,-1);this._options.agent=this._options.agents[Hn]}var ni=this._currentRequest=Bn.request(this._options,this._onNativeResponse);ni._redirectable=this;for(var Ci of xa){ni.on(Ci,Ga[Ci])}this._currentUrl=/^\//.test(this._options.path)?zn.format(this._options):this._options.path;if(this._isRedirect){var ts=0;var Ps=this;var aa=this._requestBodyBuffers;(function writeNext(Me){if(ni===Ps._currentRequest){if(Me){Ps.emit("error",Me)}else if(ts=400){Me.responseUrl=this._currentUrl;Me.redirects=this._redirects;this.emit("response",Me);this._requestBodyBuffers=[];return}destroyRequest(this._currentRequest);Me.destroy();if(++this._redirectCount>this._options.maxRedirects){throw new oo}var ni;var Ci=this._options.beforeRedirect;if(Ci){ni=Object.assign({Host:Me.req.getHeader("host")},this._options.headers)}var ts=this._options.method;if((Bn===301||Bn===302)&&this._options.method==="POST"||Bn===303&&!/^(?:GET|HEAD)$/.test(this._options.method)){this._options.method="GET";this._requestBodyBuffers=[];removeMatchingHeaders(/^content-/i,this._options.headers)}var Ps=removeMatchingHeaders(/^host$/i,this._options.headers);var aa=parseUrl(this._currentUrl);var ca=Ps||aa.host;var _a=/^\w+:/.test(Hn)?this._currentUrl:zn.format(Object.assign(aa,{host:ca}));var xa=resolveUrl(Hn,_a);oa("redirecting to",xa.href);this._isRedirect=true;spreadUrlObject(xa,this._options);if(xa.protocol!==aa.protocol&&xa.protocol!=="https:"||xa.host!==ca&&!isSubdomain(xa.host,ca)){removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i,this._options.headers)}if(isFunction(Ci)){var Ga={headers:Me.headers,statusCode:Bn};var Ha={url:_a,method:ts,headers:ni};Ci(this._options,Ga,Ha);this._sanitizeOptions(this._options)}this._performRequest()};function wrap(Me){var Bn={maxRedirects:21,maxBodyLength:10*1024*1024};var Hn={};Object.keys(Me).forEach((function(zn){var ni=zn+":";var Ci=Hn[ni]=Me[zn];var ts=Bn[zn]=Object.create(Ci);function request(Me,zn,Ci){if(isURL(Me)){Me=spreadUrlObject(Me)}else if(isString(Me)){Me=spreadUrlObject(parseUrl(Me))}else{Ci=zn;zn=validateUrl(Me);Me={protocol:ni}}if(isFunction(zn)){Ci=zn;zn=null}zn=Object.assign({maxRedirects:Bn.maxRedirects,maxBodyLength:Bn.maxBodyLength},Me,zn);zn.nativeProtocols=Hn;if(!isString(zn.host)&&!isString(zn.hostname)){zn.hostname="::1"}aa.equal(zn.protocol,ni,"protocol mismatch");oa("options",zn);return new RedirectableRequest(zn,Ci)}function get(Me,Bn,Hn){var zn=ts.request(Me,Bn,Hn);zn.end();return zn}Object.defineProperties(ts,{request:{value:request,configurable:true,enumerable:true,writable:true},get:{value:get,configurable:true,enumerable:true,writable:true}})}));return Bn}function noop(){}function parseUrl(Me){var Bn;if(ca){Bn=new ni(Me)}else{Bn=validateUrl(zn.parse(Me));if(!isString(Bn.protocol)){throw new Ha({input:Me})}}return Bn}function resolveUrl(Me,Bn){return ca?new ni(Me,Bn):parseUrl(zn.resolve(Bn,Me))}function validateUrl(Me){if(/^\[/.test(Me.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(Me.hostname)){throw new Ha({input:Me.href||Me})}if(/^\[/.test(Me.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(Me.host)){throw new Ha({input:Me.href||Me})}return Me}function spreadUrlObject(Me,Bn){var Hn=Bn||{};for(var zn of _a){Hn[zn]=Me[zn]}if(Hn.hostname.startsWith("[")){Hn.hostname=Hn.hostname.slice(1,-1)}if(Hn.port!==""){Hn.port=Number(Hn.port)}Hn.path=Hn.search?Hn.pathname+Hn.search:Hn.pathname;return Hn}function removeMatchingHeaders(Me,Bn){var Hn;for(var zn in Bn){if(Me.test(zn)){Hn=Bn[zn];delete Bn[zn]}}return Hn===null||typeof Hn==="undefined"?undefined:String(Hn).trim()}function createErrorType(Me,Bn,Hn){function CustomError(Hn){if(isFunction(Error.captureStackTrace)){Error.captureStackTrace(this,this.constructor)}Object.assign(this,Hn||{});this.code=Me;this.message=this.cause?Bn+": "+this.cause.message:Bn}CustomError.prototype=new(Hn||Error);Object.defineProperties(CustomError.prototype,{constructor:{value:CustomError,enumerable:false},name:{value:"Error ["+Me+"]",enumerable:false}});return CustomError}function destroyRequest(Me,Bn){for(var Hn of xa){Me.removeListener(Hn,Ga[Hn])}Me.on("error",noop);Me.destroy(Bn)}function isSubdomain(Me,Bn){aa(isString(Me)&&isString(Bn));var Hn=Me.length-Bn.length-1;return Hn>0&&Me[Hn]==="."&&Me.endsWith(Bn)}function isString(Me){return typeof Me==="string"||Me instanceof String}function isFunction(Me){return typeof Me==="function"}function isBuffer(Me){return typeof Me==="object"&&"length"in Me}function isURL(Me){return ni&&Me instanceof ni}Me.exports=wrap({http:Ci,https:ts});Me.exports.wrap=wrap},96454:(Me,Bn,Hn)=>{"use strict";var zn=Hn(35630);var ni=Hn(39023);var Ci=Hn(16928);var ts=Hn(58611);var Ps=Hn(65692);var aa=Hn(87016).parse;var oa=Hn(79896);var ca=Hn(2203).Stream;var _a=Hn(76982);var xa=Hn(14096);var Ga=Hn(31324);var Ha=Hn(88700);var so=Hn(54076);var oo=Hn(11835);function FormData(Me){if(!(this instanceof FormData)){return new FormData(Me)}this._overheadLength=0;this._valueLength=0;this._valuesToMeasure=[];zn.call(this);Me=Me||{};for(var Bn in Me){this[Bn]=Me[Bn]}}ni.inherits(FormData,zn);FormData.LINE_BREAK="\r\n";FormData.DEFAULT_CONTENT_TYPE="application/octet-stream";FormData.prototype.append=function(Me,Bn,Hn){Hn=Hn||{};if(typeof Hn==="string"){Hn={filename:Hn}}var ni=zn.prototype.append.bind(this);if(typeof Bn==="number"||Bn==null){Bn=String(Bn)}if(Array.isArray(Bn)){this._error(new Error("Arrays are not supported."));return}var Ci=this._multiPartHeader(Me,Bn,Hn);var ts=this._multiPartFooter();ni(Ci);ni(Bn);ni(ts);this._trackLength(Ci,Bn,Hn)};FormData.prototype._trackLength=function(Me,Bn,Hn){var zn=0;if(Hn.knownLength!=null){zn+=Number(Hn.knownLength)}else if(Buffer.isBuffer(Bn)){zn=Bn.length}else if(typeof Bn==="string"){zn=Buffer.byteLength(Bn)}this._valueLength+=zn;this._overheadLength+=Buffer.byteLength(Me)+FormData.LINE_BREAK.length;if(!Bn||!Bn.path&&!(Bn.readable&&so(Bn,"httpVersion"))&&!(Bn instanceof ca)){return}if(!Hn.knownLength){this._valuesToMeasure.push(Bn)}};FormData.prototype._lengthRetriever=function(Me,Bn){if(so(Me,"fd")){if(Me.end!=undefined&&Me.end!=Infinity&&Me.start!=undefined){Bn(null,Me.end+1-(Me.start?Me.start:0))}else{oa.stat(Me.path,(function(Hn,zn){if(Hn){Bn(Hn);return}var ni=zn.size-(Me.start?Me.start:0);Bn(null,ni)}))}}else if(so(Me,"httpVersion")){Bn(null,Number(Me.headers["content-length"]))}else if(so(Me,"httpModule")){Me.on("response",(function(Hn){Me.pause();Bn(null,Number(Hn.headers["content-length"]))}));Me.resume()}else{Bn("Unknown stream")}};FormData.prototype._multiPartHeader=function(Me,Bn,Hn){if(typeof Hn.header==="string"){return Hn.header}var zn=this._getContentDisposition(Bn,Hn);var ni=this._getContentType(Bn,Hn);var Ci="";var ts={"Content-Disposition":["form-data",'name="'+Me+'"'].concat(zn||[]),"Content-Type":[].concat(ni||[])};if(typeof Hn.header==="object"){oo(ts,Hn.header)}var Ps;for(var aa in ts){if(so(ts,aa)){Ps=ts[aa];if(Ps==null){continue}if(!Array.isArray(Ps)){Ps=[Ps]}if(Ps.length){Ci+=aa+": "+Ps.join("; ")+FormData.LINE_BREAK}}}return"--"+this.getBoundary()+FormData.LINE_BREAK+Ci+FormData.LINE_BREAK};FormData.prototype._getContentDisposition=function(Me,Bn){var Hn;if(typeof Bn.filepath==="string"){Hn=Ci.normalize(Bn.filepath).replace(/\\/g,"/")}else if(Bn.filename||Me&&(Me.name||Me.path)){Hn=Ci.basename(Bn.filename||Me&&(Me.name||Me.path))}else if(Me&&Me.readable&&so(Me,"httpVersion")){Hn=Ci.basename(Me.client._httpMessage.path||"")}if(Hn){return'filename="'+Hn+'"'}};FormData.prototype._getContentType=function(Me,Bn){var Hn=Bn.contentType;if(!Hn&&Me&&Me.name){Hn=xa.lookup(Me.name)}if(!Hn&&Me&&Me.path){Hn=xa.lookup(Me.path)}if(!Hn&&Me&&Me.readable&&so(Me,"httpVersion")){Hn=Me.headers["content-type"]}if(!Hn&&(Bn.filepath||Bn.filename)){Hn=xa.lookup(Bn.filepath||Bn.filename)}if(!Hn&&Me&&typeof Me==="object"){Hn=FormData.DEFAULT_CONTENT_TYPE}return Hn};FormData.prototype._multiPartFooter=function(){return function(Me){var Bn=FormData.LINE_BREAK;var Hn=this._streams.length===0;if(Hn){Bn+=this._lastBoundary()}Me(Bn)}.bind(this)};FormData.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"+FormData.LINE_BREAK};FormData.prototype.getHeaders=function(Me){var Bn;var Hn={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(Bn in Me){if(so(Me,Bn)){Hn[Bn.toLowerCase()]=Me[Bn]}}return Hn};FormData.prototype.setBoundary=function(Me){if(typeof Me!=="string"){throw new TypeError("FormData boundary must be a string")}this._boundary=Me};FormData.prototype.getBoundary=function(){if(!this._boundary){this._generateBoundary()}return this._boundary};FormData.prototype.getBuffer=function(){var Me=new Buffer.alloc(0);var Bn=this.getBoundary();for(var Hn=0,zn=this._streams.length;Hn{"use strict";Me.exports=function(Me,Bn){Object.keys(Bn).forEach((function(Hn){Me[Hn]=Me[Hn]||Bn[Hn]}));return Me}},99808:Me=>{"use strict";var Bn="Function.prototype.bind called on incompatible ";var Hn=Object.prototype.toString;var zn=Math.max;var ni="[object Function]";var Ci=function concatty(Me,Bn){var Hn=[];for(var zn=0;zn{"use strict";var zn=Hn(99808);Me.exports=Function.prototype.bind||zn},60470:(Me,Bn,Hn)=>{"use strict";var zn;var ni=Hn(95399);var Ci=Hn(31620);var ts=Hn(33056);var Ps=Hn(14585);var aa=Hn(46905);var oa=Hn(80105);var ca=Hn(73314);var _a=Hn(32578);var xa=Hn(55641);var Ga=Hn(96171);var Ha=Hn(57147);var so=Hn(41017);var oo=Hn(56947);var Jo=Hn(42621);var tc=Hn(30156);var dc=Function;var getEvalledConstructor=function(Me){try{return dc('"use strict"; return ('+Me+").constructor;")()}catch(Me){}};var Fc=Hn(33170);var Jc=Hn(79094);var throwTypeError=function(){throw new ca};var Dp=Fc?function(){try{arguments.callee;return throwTypeError}catch(Me){try{return Fc(arguments,"callee").get}catch(Me){return throwTypeError}}}():throwTypeError;var kp=Hn(23336)();var Qp=Hn(81967);var Up=Hn(91311);var Vp=Hn(48681);var qp=Hn(33945);var Jp=Hn(88093);var Wp={};var zp=typeof Uint8Array==="undefined"||!Qp?zn:Qp(Uint8Array);var Qf={__proto__:null,"%AggregateError%":typeof AggregateError==="undefined"?zn:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer==="undefined"?zn:ArrayBuffer,"%ArrayIteratorPrototype%":kp&&Qp?Qp([][Symbol.iterator]()):zn,"%AsyncFromSyncIteratorPrototype%":zn,"%AsyncFunction%":Wp,"%AsyncGenerator%":Wp,"%AsyncGeneratorFunction%":Wp,"%AsyncIteratorPrototype%":Wp,"%Atomics%":typeof Atomics==="undefined"?zn:Atomics,"%BigInt%":typeof BigInt==="undefined"?zn:BigInt,"%BigInt64Array%":typeof BigInt64Array==="undefined"?zn:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array==="undefined"?zn:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView==="undefined"?zn:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Ci,"%eval%":eval,"%EvalError%":ts,"%Float32Array%":typeof Float32Array==="undefined"?zn:Float32Array,"%Float64Array%":typeof Float64Array==="undefined"?zn:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry==="undefined"?zn:FinalizationRegistry,"%Function%":dc,"%GeneratorFunction%":Wp,"%Int8Array%":typeof Int8Array==="undefined"?zn:Int8Array,"%Int16Array%":typeof Int16Array==="undefined"?zn:Int16Array,"%Int32Array%":typeof Int32Array==="undefined"?zn:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":kp&&Qp?Qp(Qp([][Symbol.iterator]())):zn,"%JSON%":typeof JSON==="object"?JSON:zn,"%Map%":typeof Map==="undefined"?zn:Map,"%MapIteratorPrototype%":typeof Map==="undefined"||!kp||!Qp?zn:Qp((new Map)[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":ni,"%Object.getOwnPropertyDescriptor%":Fc,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise==="undefined"?zn:Promise,"%Proxy%":typeof Proxy==="undefined"?zn:Proxy,"%RangeError%":Ps,"%ReferenceError%":aa,"%Reflect%":typeof Reflect==="undefined"?zn:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set==="undefined"?zn:Set,"%SetIteratorPrototype%":typeof Set==="undefined"||!kp||!Qp?zn:Qp((new Set)[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer==="undefined"?zn:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":kp&&Qp?Qp(""[Symbol.iterator]()):zn,"%Symbol%":kp?Symbol:zn,"%SyntaxError%":oa,"%ThrowTypeError%":Dp,"%TypedArray%":zp,"%TypeError%":ca,"%Uint8Array%":typeof Uint8Array==="undefined"?zn:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray==="undefined"?zn:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array==="undefined"?zn:Uint16Array,"%Uint32Array%":typeof Uint32Array==="undefined"?zn:Uint32Array,"%URIError%":_a,"%WeakMap%":typeof WeakMap==="undefined"?zn:WeakMap,"%WeakRef%":typeof WeakRef==="undefined"?zn:WeakRef,"%WeakSet%":typeof WeakSet==="undefined"?zn:WeakSet,"%Function.prototype.call%":Jp,"%Function.prototype.apply%":qp,"%Object.defineProperty%":Jc,"%Object.getPrototypeOf%":Up,"%Math.abs%":xa,"%Math.floor%":Ga,"%Math.max%":Ha,"%Math.min%":so,"%Math.pow%":oo,"%Math.round%":Jo,"%Math.sign%":tc,"%Reflect.getPrototypeOf%":Vp};if(Qp){try{null.error}catch(Me){var Yf=Qp(Qp(Me));Qf["%Error.prototype%"]=Yf}}var Kf=function doEval(Me){var Bn;if(Me==="%AsyncFunction%"){Bn=getEvalledConstructor("async function () {}")}else if(Me==="%GeneratorFunction%"){Bn=getEvalledConstructor("function* () {}")}else if(Me==="%AsyncGeneratorFunction%"){Bn=getEvalledConstructor("async function* () {}")}else if(Me==="%AsyncGenerator%"){var Hn=doEval("%AsyncGeneratorFunction%");if(Hn){Bn=Hn.prototype}}else if(Me==="%AsyncIteratorPrototype%"){var zn=doEval("%AsyncGenerator%");if(zn&&Qp){Bn=Qp(zn.prototype)}}Qf[Me]=Bn;return Bn};var Xf={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]};var Ad=Hn(37564);var Cd=Hn(54076);var wd=Ad.call(Jp,Array.prototype.concat);var Sd=Ad.call(qp,Array.prototype.splice);var xd=Ad.call(Jp,String.prototype.replace);var Td=Ad.call(Jp,String.prototype.slice);var Pd=Ad.call(Jp,RegExp.prototype.exec);var Qh=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;var Zh=/\\(\\)?/g;var sA=function stringToPath(Me){var Bn=Td(Me,0,1);var Hn=Td(Me,-1);if(Bn==="%"&&Hn!=="%"){throw new oa("invalid intrinsic syntax, expected closing `%`")}else if(Hn==="%"&&Bn!=="%"){throw new oa("invalid intrinsic syntax, expected opening `%`")}var zn=[];xd(Me,Qh,(function(Me,Bn,Hn,ni){zn[zn.length]=Hn?xd(ni,Zh,"$1"):Bn||Me}));return zn};var oA=function getBaseIntrinsic(Me,Bn){var Hn=Me;var zn;if(Cd(Xf,Hn)){zn=Xf[Hn];Hn="%"+zn[0]+"%"}if(Cd(Qf,Hn)){var ni=Qf[Hn];if(ni===Wp){ni=Kf(Hn)}if(typeof ni==="undefined"&&!Bn){throw new ca("intrinsic "+Me+" exists, but is not available. Please file an issue!")}return{alias:zn,name:Hn,value:ni}}throw new oa("intrinsic "+Me+" does not exist!")};Me.exports=function GetIntrinsic(Me,Bn){if(typeof Me!=="string"||Me.length===0){throw new ca("intrinsic name must be a non-empty string")}if(arguments.length>1&&typeof Bn!=="boolean"){throw new ca('"allowMissing" argument must be a boolean')}if(Pd(/^%?[^%]*%?$/,Me)===null){throw new oa("`%` may not be present anywhere but at the beginning and end of the intrinsic name")}var Hn=sA(Me);var ni=Hn.length>0?Hn[0]:"";var Ci=oA("%"+ni+"%",Bn);var ts=Ci.name;var Ps=Ci.value;var aa=false;var _a=Ci.alias;if(_a){ni=_a[0];Sd(Hn,wd([0,1],_a))}for(var xa=1,Ga=true;xa=Hn.length){var Jo=Fc(Ps,Ha);Ga=!!Jo;if(Ga&&"get"in Jo&&!("originalValue"in Jo.get)){Ps=Jo.get}else{Ps=Ps[Ha]}}else{Ga=Cd(Ps,Ha);Ps=Ps[Ha]}if(Ga&&!aa){Qf[ts]=Ps}}}return Ps}},91311:(Me,Bn,Hn)=>{"use strict";var zn=Hn(95399);Me.exports=zn.getPrototypeOf||null},48681:Me=>{"use strict";Me.exports=typeof Reflect!=="undefined"&&Reflect.getPrototypeOf||null},81967:(Me,Bn,Hn)=>{"use strict";var zn=Hn(48681);var ni=Hn(91311);var Ci=Hn(26669);Me.exports=zn?function getProto(Me){return zn(Me)}:ni?function getProto(Me){if(!Me||typeof Me!=="object"&&typeof Me!=="function"){throw new TypeError("getProto: not an object")}return ni(Me)}:Ci?function getProto(Me){return Ci(Me)}:null},1174:Me=>{"use strict";Me.exports=Object.getOwnPropertyDescriptor},33170:(Me,Bn,Hn)=>{"use strict";var zn=Hn(1174);if(zn){try{zn([],"length")}catch(Me){zn=null}}Me.exports=zn},83813:Me=>{"use strict";Me.exports=(Me,Bn=process.argv)=>{const Hn=Me.startsWith("-")?"":Me.length===1?"-":"--";const zn=Bn.indexOf(Hn+Me);const ni=Bn.indexOf("--");return zn!==-1&&(ni===-1||zn{"use strict";var zn=typeof Symbol!=="undefined"&&Symbol;var ni=Hn(61114);Me.exports=function hasNativeSymbols(){if(typeof zn!=="function"){return false}if(typeof Symbol!=="function"){return false}if(typeof zn("foo")!=="symbol"){return false}if(typeof Symbol("bar")!=="symbol"){return false}return ni()}},61114:Me=>{"use strict";Me.exports=function hasSymbols(){if(typeof Symbol!=="function"||typeof Object.getOwnPropertySymbols!=="function"){return false}if(typeof Symbol.iterator==="symbol"){return true}var Me={};var Bn=Symbol("test");var Hn=Object(Bn);if(typeof Bn==="string"){return false}if(Object.prototype.toString.call(Bn)!=="[object Symbol]"){return false}if(Object.prototype.toString.call(Hn)!=="[object Symbol]"){return false}var zn=42;Me[Bn]=zn;for(var ni in Me){return false}if(typeof Object.keys==="function"&&Object.keys(Me).length!==0){return false}if(typeof Object.getOwnPropertyNames==="function"&&Object.getOwnPropertyNames(Me).length!==0){return false}var Ci=Object.getOwnPropertySymbols(Me);if(Ci.length!==1||Ci[0]!==Bn){return false}if(!Object.prototype.propertyIsEnumerable.call(Me,Bn)){return false}if(typeof Object.getOwnPropertyDescriptor==="function"){var ts=Object.getOwnPropertyDescriptor(Me,Bn);if(ts.value!==zn||ts.enumerable!==true){return false}}return true}},85479:(Me,Bn,Hn)=>{"use strict";var zn=Hn(61114);Me.exports=function hasToStringTagShams(){return zn()&&!!Symbol.toStringTag}},54076:(Me,Bn,Hn)=>{"use strict";var zn=Function.prototype.call;var ni=Object.prototype.hasOwnProperty;var Ci=Hn(37564);Me.exports=Ci.call(zn,ni)},74281:(Me,Bn,Hn)=>{"use strict";var zn=Hn(91950);var ni=Hn(59980);function renamed(Me,Bn){return function(){throw new Error("Function yaml."+Me+" is removed in js-yaml 4. "+"Use yaml."+Bn+" instead, which is now safe by default.")}}Me.exports.Type=Hn(9557);Me.exports.Schema=Hn(62046);Me.exports.FAILSAFE_SCHEMA=Hn(69832);Me.exports.JSON_SCHEMA=Hn(58927);Me.exports.CORE_SCHEMA=Hn(55746);Me.exports.DEFAULT_SCHEMA=Hn(97336);Me.exports.load=zn.load;Me.exports.loadAll=zn.loadAll;Me.exports.dump=ni.dump;Me.exports.YAMLException=Hn(41248);Me.exports.types={binary:Hn(8149),float:Hn(57584),map:Hn(47316),null:Hn(4333),pairs:Hn(16267),set:Hn(78758),timestamp:Hn(28966),bool:Hn(67296),int:Hn(62271),merge:Hn(76854),omap:Hn(58649),seq:Hn(77161),str:Hn(53929)};Me.exports.safeLoad=renamed("safeLoad","load");Me.exports.safeLoadAll=renamed("safeLoadAll","loadAll");Me.exports.safeDump=renamed("safeDump","dump")},19816:Me=>{"use strict";function isNothing(Me){return typeof Me==="undefined"||Me===null}function isObject(Me){return typeof Me==="object"&&Me!==null}function toArray(Me){if(Array.isArray(Me))return Me;else if(isNothing(Me))return[];return[Me]}function extend(Me,Bn){var Hn,zn,ni,Ci;if(Bn){Ci=Object.keys(Bn);for(Hn=0,zn=Ci.length;Hn{"use strict";var zn=Hn(19816);var ni=Hn(41248);var Ci=Hn(97336);var ts=Object.prototype.toString;var Ps=Object.prototype.hasOwnProperty;var aa=65279;var oa=9;var ca=10;var _a=13;var xa=32;var Ga=33;var Ha=34;var so=35;var oo=37;var Jo=38;var tc=39;var dc=42;var Fc=44;var Jc=45;var Dp=58;var kp=61;var Qp=62;var Up=63;var Vp=64;var qp=91;var Jp=93;var Wp=96;var zp=123;var Qf=124;var Yf=125;var Kf={};Kf[0]="\\0";Kf[7]="\\a";Kf[8]="\\b";Kf[9]="\\t";Kf[10]="\\n";Kf[11]="\\v";Kf[12]="\\f";Kf[13]="\\r";Kf[27]="\\e";Kf[34]='\\"';Kf[92]="\\\\";Kf[133]="\\N";Kf[160]="\\_";Kf[8232]="\\L";Kf[8233]="\\P";var Xf=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];var Ad=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function compileStyleMap(Me,Bn){var Hn,zn,ni,Ci,ts,aa,oa;if(Bn===null)return{};Hn={};zn=Object.keys(Bn);for(ni=0,Ci=zn.length;ni=55296&&Hn<=56319&&Bn+1=56320&&zn<=57343){return(Hn-55296)*1024+zn-56320+65536}}return Hn}function needIndentIndicator(Me){var Bn=/^\n* /;return Bn.test(Me)}var Sd=1,xd=2,Td=3,Pd=4,Qh=5;function chooseScalarStyle(Me,Bn,Hn,zn,ni,Ci,ts,Ps){var aa;var oa=0;var _a=null;var xa=false;var Ga=false;var Ha=zn!==-1;var so=-1;var oo=isPlainSafeFirst(codePointAt(Me,0))&&isPlainSafeLast(codePointAt(Me,Me.length-1));if(Bn||ts){for(aa=0;aa=65536?aa+=2:aa++){oa=codePointAt(Me,aa);if(!isPrintable(oa)){return Qh}oo=oo&&isPlainSafe(oa,_a,Ps);_a=oa}}else{for(aa=0;aa=65536?aa+=2:aa++){oa=codePointAt(Me,aa);if(oa===ca){xa=true;if(Ha){Ga=Ga||aa-so-1>zn&&Me[so+1]!==" ";so=aa}}else if(!isPrintable(oa)){return Qh}oo=oo&&isPlainSafe(oa,_a,Ps);_a=oa}Ga=Ga||Ha&&(aa-so-1>zn&&Me[so+1]!==" ")}if(!xa&&!Ga){if(oo&&!ts&&!ni(Me)){return Sd}return Ci===wd?Qh:xd}if(Hn>9&&needIndentIndicator(Me)){return Qh}if(!ts){return Ga?Pd:Td}return Ci===wd?Qh:xd}function writeScalar(Me,Bn,Hn,zn,Ci){Me.dump=function(){if(Bn.length===0){return Me.quotingType===wd?'""':"''"}if(!Me.noCompatMode){if(Xf.indexOf(Bn)!==-1||Ad.test(Bn)){return Me.quotingType===wd?'"'+Bn+'"':"'"+Bn+"'"}}var ts=Me.indent*Math.max(1,Hn);var Ps=Me.lineWidth===-1?-1:Math.max(Math.min(Me.lineWidth,40),Me.lineWidth-ts);var aa=zn||Me.flowLevel>-1&&Hn>=Me.flowLevel;function testAmbiguity(Bn){return testImplicitResolving(Me,Bn)}switch(chooseScalarStyle(Bn,aa,Me.indent,Ps,testAmbiguity,Me.quotingType,Me.forceQuotes&&!zn,Ci)){case Sd:return Bn;case xd:return"'"+Bn.replace(/'/g,"''")+"'";case Td:return"|"+blockHeader(Bn,Me.indent)+dropEndingNewline(indentString(Bn,ts));case Pd:return">"+blockHeader(Bn,Me.indent)+dropEndingNewline(indentString(foldString(Bn,Ps),ts));case Qh:return'"'+escapeString(Bn,Ps)+'"';default:throw new ni("impossible error: invalid scalar style")}}()}function blockHeader(Me,Bn){var Hn=needIndentIndicator(Me)?String(Bn):"";var zn=Me[Me.length-1]==="\n";var ni=zn&&(Me[Me.length-2]==="\n"||Me==="\n");var Ci=ni?"+":zn?"":"-";return Hn+Ci+"\n"}function dropEndingNewline(Me){return Me[Me.length-1]==="\n"?Me.slice(0,-1):Me}function foldString(Me,Bn){var Hn=/(\n+)([^\n]*)/g;var zn=function(){var zn=Me.indexOf("\n");zn=zn!==-1?zn:Me.length;Hn.lastIndex=zn;return foldLine(Me.slice(0,zn),Bn)}();var ni=Me[0]==="\n"||Me[0]===" ";var Ci;var ts;while(ts=Hn.exec(Me)){var Ps=ts[1],aa=ts[2];Ci=aa[0]===" ";zn+=Ps+(!ni&&!Ci&&aa!==""?"\n":"")+foldLine(aa,Bn);ni=Ci}return zn}function foldLine(Me,Bn){if(Me===""||Me[0]===" ")return Me;var Hn=/ [^ ]/g;var zn;var ni=0,Ci,ts=0,Ps=0;var aa="";while(zn=Hn.exec(Me)){Ps=zn.index;if(Ps-ni>Bn){Ci=ts>ni?ts:Ps;aa+="\n"+Me.slice(ni,Ci);ni=Ci+1}ts=Ps}aa+="\n";if(Me.length-ni>Bn&&ts>ni){aa+=Me.slice(ni,ts)+"\n"+Me.slice(ts+1)}else{aa+=Me.slice(ni)}return aa.slice(1)}function escapeString(Me){var Bn="";var Hn=0;var zn;for(var ni=0;ni=65536?ni+=2:ni++){Hn=codePointAt(Me,ni);zn=Kf[Hn];if(!zn&&isPrintable(Hn)){Bn+=Me[ni];if(Hn>=65536)Bn+=Me[ni+1]}else{Bn+=zn||encodeHex(Hn)}}return Bn}function writeFlowSequence(Me,Bn,Hn){var zn="",ni=Me.tag,Ci,ts,Ps;for(Ci=0,ts=Hn.length;Ci1024)ca+="? ";ca+=Me.dump+(Me.condenseFlow?'"':"")+":"+(Me.condenseFlow?"":" ");if(!writeNode(Me,Bn,oa,false,false)){continue}ca+=Me.dump;zn+=ca}Me.tag=ni;Me.dump="{"+zn+"}"}function writeBlockMapping(Me,Bn,Hn,zn){var Ci="",ts=Me.tag,Ps=Object.keys(Hn),aa,oa,_a,xa,Ga,Ha;if(Me.sortKeys===true){Ps.sort()}else if(typeof Me.sortKeys==="function"){Ps.sort(Me.sortKeys)}else if(Me.sortKeys){throw new ni("sortKeys must be a boolean or a function")}for(aa=0,oa=Ps.length;aa1024;if(Ga){if(Me.dump&&ca===Me.dump.charCodeAt(0)){Ha+="?"}else{Ha+="? "}}Ha+=Me.dump;if(Ga){Ha+=generateNextLine(Me,Bn)}if(!writeNode(Me,Bn+1,xa,true,Ga)){continue}if(Me.dump&&ca===Me.dump.charCodeAt(0)){Ha+=":"}else{Ha+=": "}Ha+=Me.dump;Ci+=Ha}Me.tag=ts;Me.dump=Ci||"{}"}function detectType(Me,Bn,Hn){var zn,Ci,aa,oa,ca,_a;Ci=Hn?Me.explicitTypes:Me.implicitTypes;for(aa=0,oa=Ci.length;aa tag resolver accepts not "'+_a+'" style')}Me.dump=zn}return true}}return false}function writeNode(Me,Bn,Hn,zn,Ci,Ps,aa){Me.tag=null;Me.dump=Hn;if(!detectType(Me,Hn,false)){detectType(Me,Hn,true)}var oa=ts.call(Me.dump);var ca=zn;var _a;if(zn){zn=Me.flowLevel<0||Me.flowLevel>Bn}var xa=oa==="[object Object]"||oa==="[object Array]",Ga,Ha;if(xa){Ga=Me.duplicates.indexOf(Hn);Ha=Ga!==-1}if(Me.tag!==null&&Me.tag!=="?"||Ha||Me.indent!==2&&Bn>0){Ci=false}if(Ha&&Me.usedDuplicates[Ga]){Me.dump="*ref_"+Ga}else{if(xa&&Ha&&!Me.usedDuplicates[Ga]){Me.usedDuplicates[Ga]=true}if(oa==="[object Object]"){if(zn&&Object.keys(Me.dump).length!==0){writeBlockMapping(Me,Bn,Me.dump,Ci);if(Ha){Me.dump="&ref_"+Ga+Me.dump}}else{writeFlowMapping(Me,Bn,Me.dump);if(Ha){Me.dump="&ref_"+Ga+" "+Me.dump}}}else if(oa==="[object Array]"){if(zn&&Me.dump.length!==0){if(Me.noArrayIndent&&!aa&&Bn>0){writeBlockSequence(Me,Bn-1,Me.dump,Ci)}else{writeBlockSequence(Me,Bn,Me.dump,Ci)}if(Ha){Me.dump="&ref_"+Ga+Me.dump}}else{writeFlowSequence(Me,Bn,Me.dump);if(Ha){Me.dump="&ref_"+Ga+" "+Me.dump}}}else if(oa==="[object String]"){if(Me.tag!=="?"){writeScalar(Me,Me.dump,Bn,Ps,ca)}}else if(oa==="[object Undefined]"){return false}else{if(Me.skipInvalid)return false;throw new ni("unacceptable kind of an object to dump "+oa)}if(Me.tag!==null&&Me.tag!=="?"){_a=encodeURI(Me.tag[0]==="!"?Me.tag.slice(1):Me.tag).replace(/!/g,"%21");if(Me.tag[0]==="!"){_a="!"+_a}else if(_a.slice(0,18)==="tag:yaml.org,2002:"){_a="!!"+_a.slice(18)}else{_a="!<"+_a+">"}Me.dump=_a+" "+Me.dump}}return true}function getDuplicateReferences(Me,Bn){var Hn=[],zn=[],ni,Ci;inspectNode(Me,Hn,zn);for(ni=0,Ci=zn.length;ni{"use strict";function formatError(Me,Bn){var Hn="",zn=Me.reason||"(unknown reason)";if(!Me.mark)return zn;if(Me.mark.name){Hn+='in "'+Me.mark.name+'" '}Hn+="("+(Me.mark.line+1)+":"+(Me.mark.column+1)+")";if(!Bn&&Me.mark.snippet){Hn+="\n\n"+Me.mark.snippet}return zn+" "+Hn}function YAMLException(Me,Bn){Error.call(this);this.name="YAMLException";this.reason=Me;this.mark=Bn;this.message=formatError(this,false);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}else{this.stack=(new Error).stack||""}}YAMLException.prototype=Object.create(Error.prototype);YAMLException.prototype.constructor=YAMLException;YAMLException.prototype.toString=function toString(Me){return this.name+": "+formatError(this,Me)};Me.exports=YAMLException},91950:(Me,Bn,Hn)=>{"use strict";var zn=Hn(19816);var ni=Hn(41248);var Ci=Hn(9440);var ts=Hn(97336);var Ps=Object.prototype.hasOwnProperty;var aa=1;var oa=2;var ca=3;var _a=4;var xa=1;var Ga=2;var Ha=3;var so=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;var oo=/[\x85\u2028\u2029]/;var Jo=/[,\[\]\{\}]/;var tc=/^(?:!|!!|![a-z\-]+!)$/i;var dc=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function _class(Me){return Object.prototype.toString.call(Me)}function is_EOL(Me){return Me===10||Me===13}function is_WHITE_SPACE(Me){return Me===9||Me===32}function is_WS_OR_EOL(Me){return Me===9||Me===32||Me===10||Me===13}function is_FLOW_INDICATOR(Me){return Me===44||Me===91||Me===93||Me===123||Me===125}function fromHexCode(Me){var Bn;if(48<=Me&&Me<=57){return Me-48}Bn=Me|32;if(97<=Bn&&Bn<=102){return Bn-97+10}return-1}function escapedHexLen(Me){if(Me===120){return 2}if(Me===117){return 4}if(Me===85){return 8}return 0}function fromDecimalCode(Me){if(48<=Me&&Me<=57){return Me-48}return-1}function simpleEscapeSequence(Me){return Me===48?"\0":Me===97?"":Me===98?"\b":Me===116?"\t":Me===9?"\t":Me===110?"\n":Me===118?"\v":Me===102?"\f":Me===114?"\r":Me===101?"":Me===32?" ":Me===34?'"':Me===47?"/":Me===92?"\\":Me===78?"…":Me===95?" ":Me===76?"\u2028":Me===80?"\u2029":""}function charFromCodepoint(Me){if(Me<=65535){return String.fromCharCode(Me)}return String.fromCharCode((Me-65536>>10)+55296,(Me-65536&1023)+56320)}function setProperty(Me,Bn,Hn){if(Bn==="__proto__"){Object.defineProperty(Me,Bn,{configurable:true,enumerable:true,writable:true,value:Hn})}else{Me[Bn]=Hn}}var Fc=new Array(256);var Jc=new Array(256);for(var Dp=0;Dp<256;Dp++){Fc[Dp]=simpleEscapeSequence(Dp)?1:0;Jc[Dp]=simpleEscapeSequence(Dp)}function State(Me,Bn){this.input=Me;this.filename=Bn["filename"]||null;this.schema=Bn["schema"]||ts;this.onWarning=Bn["onWarning"]||null;this.legacy=Bn["legacy"]||false;this.json=Bn["json"]||false;this.listener=Bn["listener"]||null;this.implicitTypes=this.schema.compiledImplicit;this.typeMap=this.schema.compiledTypeMap;this.length=Me.length;this.position=0;this.line=0;this.lineStart=0;this.lineIndent=0;this.firstTabInLine=-1;this.documents=[]}function generateError(Me,Bn){var Hn={name:Me.filename,buffer:Me.input.slice(0,-1),position:Me.position,line:Me.line,column:Me.position-Me.lineStart};Hn.snippet=Ci(Hn);return new ni(Bn,Hn)}function throwError(Me,Bn){throw generateError(Me,Bn)}function throwWarning(Me,Bn){if(Me.onWarning){Me.onWarning.call(null,generateError(Me,Bn))}}var kp={YAML:function handleYamlDirective(Me,Bn,Hn){var zn,ni,Ci;if(Me.version!==null){throwError(Me,"duplication of %YAML directive")}if(Hn.length!==1){throwError(Me,"YAML directive accepts exactly one argument")}zn=/^([0-9]+)\.([0-9]+)$/.exec(Hn[0]);if(zn===null){throwError(Me,"ill-formed argument of the YAML directive")}ni=parseInt(zn[1],10);Ci=parseInt(zn[2],10);if(ni!==1){throwError(Me,"unacceptable YAML version of the document")}Me.version=Hn[0];Me.checkLineBreaks=Ci<2;if(Ci!==1&&Ci!==2){throwWarning(Me,"unsupported YAML version of the document")}},TAG:function handleTagDirective(Me,Bn,Hn){var zn,ni;if(Hn.length!==2){throwError(Me,"TAG directive accepts exactly two arguments")}zn=Hn[0];ni=Hn[1];if(!tc.test(zn)){throwError(Me,"ill-formed tag handle (first argument) of the TAG directive")}if(Ps.call(Me.tagMap,zn)){throwError(Me,'there is a previously declared suffix for "'+zn+'" tag handle')}if(!dc.test(ni)){throwError(Me,"ill-formed tag prefix (second argument) of the TAG directive")}try{ni=decodeURIComponent(ni)}catch(Bn){throwError(Me,"tag prefix is malformed: "+ni)}Me.tagMap[zn]=ni}};function captureSegment(Me,Bn,Hn,zn){var ni,Ci,ts,Ps;if(Bn1){Me.result+=zn.repeat("\n",Bn-1)}}function readPlainScalar(Me,Bn,Hn){var zn,ni,Ci,ts,Ps,aa,oa,ca,_a=Me.kind,xa=Me.result,Ga;Ga=Me.input.charCodeAt(Me.position);if(is_WS_OR_EOL(Ga)||is_FLOW_INDICATOR(Ga)||Ga===35||Ga===38||Ga===42||Ga===33||Ga===124||Ga===62||Ga===39||Ga===34||Ga===37||Ga===64||Ga===96){return false}if(Ga===63||Ga===45){ni=Me.input.charCodeAt(Me.position+1);if(is_WS_OR_EOL(ni)||Hn&&is_FLOW_INDICATOR(ni)){return false}}Me.kind="scalar";Me.result="";Ci=ts=Me.position;Ps=false;while(Ga!==0){if(Ga===58){ni=Me.input.charCodeAt(Me.position+1);if(is_WS_OR_EOL(ni)||Hn&&is_FLOW_INDICATOR(ni)){break}}else if(Ga===35){zn=Me.input.charCodeAt(Me.position-1);if(is_WS_OR_EOL(zn)){break}}else if(Me.position===Me.lineStart&&testDocumentSeparator(Me)||Hn&&is_FLOW_INDICATOR(Ga)){break}else if(is_EOL(Ga)){aa=Me.line;oa=Me.lineStart;ca=Me.lineIndent;skipSeparationSpace(Me,false,-1);if(Me.lineIndent>=Bn){Ps=true;Ga=Me.input.charCodeAt(Me.position);continue}else{Me.position=ts;Me.line=aa;Me.lineStart=oa;Me.lineIndent=ca;break}}if(Ps){captureSegment(Me,Ci,ts,false);writeFoldedLines(Me,Me.line-aa);Ci=ts=Me.position;Ps=false}if(!is_WHITE_SPACE(Ga)){ts=Me.position+1}Ga=Me.input.charCodeAt(++Me.position)}captureSegment(Me,Ci,ts,false);if(Me.result){return true}Me.kind=_a;Me.result=xa;return false}function readSingleQuotedScalar(Me,Bn){var Hn,zn,ni;Hn=Me.input.charCodeAt(Me.position);if(Hn!==39){return false}Me.kind="scalar";Me.result="";Me.position++;zn=ni=Me.position;while((Hn=Me.input.charCodeAt(Me.position))!==0){if(Hn===39){captureSegment(Me,zn,Me.position,true);Hn=Me.input.charCodeAt(++Me.position);if(Hn===39){zn=Me.position;Me.position++;ni=Me.position}else{return true}}else if(is_EOL(Hn)){captureSegment(Me,zn,ni,true);writeFoldedLines(Me,skipSeparationSpace(Me,false,Bn));zn=ni=Me.position}else if(Me.position===Me.lineStart&&testDocumentSeparator(Me)){throwError(Me,"unexpected end of the document within a single quoted scalar")}else{Me.position++;ni=Me.position}}throwError(Me,"unexpected end of the stream within a single quoted scalar")}function readDoubleQuotedScalar(Me,Bn){var Hn,zn,ni,Ci,ts,Ps;Ps=Me.input.charCodeAt(Me.position);if(Ps!==34){return false}Me.kind="scalar";Me.result="";Me.position++;Hn=zn=Me.position;while((Ps=Me.input.charCodeAt(Me.position))!==0){if(Ps===34){captureSegment(Me,Hn,Me.position,true);Me.position++;return true}else if(Ps===92){captureSegment(Me,Hn,Me.position,true);Ps=Me.input.charCodeAt(++Me.position);if(is_EOL(Ps)){skipSeparationSpace(Me,false,Bn)}else if(Ps<256&&Fc[Ps]){Me.result+=Jc[Ps];Me.position++}else if((ts=escapedHexLen(Ps))>0){ni=ts;Ci=0;for(;ni>0;ni--){Ps=Me.input.charCodeAt(++Me.position);if((ts=fromHexCode(Ps))>=0){Ci=(Ci<<4)+ts}else{throwError(Me,"expected hexadecimal character")}}Me.result+=charFromCodepoint(Ci);Me.position++}else{throwError(Me,"unknown escape sequence")}Hn=zn=Me.position}else if(is_EOL(Ps)){captureSegment(Me,Hn,zn,true);writeFoldedLines(Me,skipSeparationSpace(Me,false,Bn));Hn=zn=Me.position}else if(Me.position===Me.lineStart&&testDocumentSeparator(Me)){throwError(Me,"unexpected end of the document within a double quoted scalar")}else{Me.position++;zn=Me.position}}throwError(Me,"unexpected end of the stream within a double quoted scalar")}function readFlowCollection(Me,Bn){var Hn=true,zn,ni,Ci,ts=Me.tag,Ps,oa=Me.anchor,ca,_a,xa,Ga,Ha,so=Object.create(null),oo,Jo,tc,dc;dc=Me.input.charCodeAt(Me.position);if(dc===91){_a=93;Ha=false;Ps=[]}else if(dc===123){_a=125;Ha=true;Ps={}}else{return false}if(Me.anchor!==null){Me.anchorMap[Me.anchor]=Ps}dc=Me.input.charCodeAt(++Me.position);while(dc!==0){skipSeparationSpace(Me,true,Bn);dc=Me.input.charCodeAt(Me.position);if(dc===_a){Me.position++;Me.tag=ts;Me.anchor=oa;Me.kind=Ha?"mapping":"sequence";Me.result=Ps;return true}else if(!Hn){throwError(Me,"missed comma between flow collection entries")}else if(dc===44){throwError(Me,"expected the node content, but found ','")}Jo=oo=tc=null;xa=Ga=false;if(dc===63){ca=Me.input.charCodeAt(Me.position+1);if(is_WS_OR_EOL(ca)){xa=Ga=true;Me.position++;skipSeparationSpace(Me,true,Bn)}}zn=Me.line;ni=Me.lineStart;Ci=Me.position;composeNode(Me,Bn,aa,false,true);Jo=Me.tag;oo=Me.result;skipSeparationSpace(Me,true,Bn);dc=Me.input.charCodeAt(Me.position);if((Ga||Me.line===zn)&&dc===58){xa=true;dc=Me.input.charCodeAt(++Me.position);skipSeparationSpace(Me,true,Bn);composeNode(Me,Bn,aa,false,true);tc=Me.result}if(Ha){storeMappingPair(Me,Ps,so,Jo,oo,tc,zn,ni,Ci)}else if(xa){Ps.push(storeMappingPair(Me,null,so,Jo,oo,tc,zn,ni,Ci))}else{Ps.push(oo)}skipSeparationSpace(Me,true,Bn);dc=Me.input.charCodeAt(Me.position);if(dc===44){Hn=true;dc=Me.input.charCodeAt(++Me.position)}else{Hn=false}}throwError(Me,"unexpected end of the stream within a flow collection")}function readBlockScalar(Me,Bn){var Hn,ni,Ci=xa,ts=false,Ps=false,aa=Bn,oa=0,ca=false,_a,so;so=Me.input.charCodeAt(Me.position);if(so===124){ni=false}else if(so===62){ni=true}else{return false}Me.kind="scalar";Me.result="";while(so!==0){so=Me.input.charCodeAt(++Me.position);if(so===43||so===45){if(xa===Ci){Ci=so===43?Ha:Ga}else{throwError(Me,"repeat of a chomping mode identifier")}}else if((_a=fromDecimalCode(so))>=0){if(_a===0){throwError(Me,"bad explicit indentation width of a block scalar; it cannot be less than one")}else if(!Ps){aa=Bn+_a-1;Ps=true}else{throwError(Me,"repeat of an indentation width identifier")}}else{break}}if(is_WHITE_SPACE(so)){do{so=Me.input.charCodeAt(++Me.position)}while(is_WHITE_SPACE(so));if(so===35){do{so=Me.input.charCodeAt(++Me.position)}while(!is_EOL(so)&&so!==0)}}while(so!==0){readLineBreak(Me);Me.lineIndent=0;so=Me.input.charCodeAt(Me.position);while((!Ps||Me.lineIndentaa){aa=Me.lineIndent}if(is_EOL(so)){oa++;continue}if(Me.lineIndentBn)&&aa!==0){throwError(Me,"bad indentation of a sequence entry")}else if(Me.lineIndentBn){if(tc){ts=Me.line;Ps=Me.lineStart;aa=Me.position}if(composeNode(Me,Bn,_a,true,ni)){if(tc){oo=Me.result}else{Jo=Me.result}}if(!tc){storeMappingPair(Me,Ga,Ha,so,oo,Jo,ts,Ps,aa);so=oo=Jo=null}skipSeparationSpace(Me,true,-1);Fc=Me.input.charCodeAt(Me.position)}if((Me.line===Ci||Me.lineIndent>Bn)&&Fc!==0){throwError(Me,"bad indentation of a mapping entry")}else if(Me.lineIndentBn){Ga=1}else if(Me.lineIndent===Bn){Ga=0}else if(Me.lineIndentBn){Ga=1}else if(Me.lineIndent===Bn){Ga=0}else if(Me.lineIndent tag; it should be "scalar", not "'+Me.kind+'"')}for(oo=0,Jo=Me.implicitTypes.length;oo")}if(Me.result!==null&&dc.kind!==Me.kind){throwError(Me,"unacceptable node kind for !<"+Me.tag+'> tag; it should be "'+dc.kind+'", not "'+Me.kind+'"')}if(!dc.resolve(Me.result,Me.tag)){throwError(Me,"cannot resolve a node with !<"+Me.tag+"> explicit tag")}else{Me.result=dc.construct(Me.result,Me.tag);if(Me.anchor!==null){Me.anchorMap[Me.anchor]=Me.result}}}if(Me.listener!==null){Me.listener("close",Me)}return Me.tag!==null||Me.anchor!==null||so}function readDocument(Me){var Bn=Me.position,Hn,zn,ni,Ci=false,ts;Me.version=null;Me.checkLineBreaks=Me.legacy;Me.tagMap=Object.create(null);Me.anchorMap=Object.create(null);while((ts=Me.input.charCodeAt(Me.position))!==0){skipSeparationSpace(Me,true,-1);ts=Me.input.charCodeAt(Me.position);if(Me.lineIndent>0||ts!==37){break}Ci=true;ts=Me.input.charCodeAt(++Me.position);Hn=Me.position;while(ts!==0&&!is_WS_OR_EOL(ts)){ts=Me.input.charCodeAt(++Me.position)}zn=Me.input.slice(Hn,Me.position);ni=[];if(zn.length<1){throwError(Me,"directive name must not be less than one character in length")}while(ts!==0){while(is_WHITE_SPACE(ts)){ts=Me.input.charCodeAt(++Me.position)}if(ts===35){do{ts=Me.input.charCodeAt(++Me.position)}while(ts!==0&&!is_EOL(ts));break}if(is_EOL(ts))break;Hn=Me.position;while(ts!==0&&!is_WS_OR_EOL(ts)){ts=Me.input.charCodeAt(++Me.position)}ni.push(Me.input.slice(Hn,Me.position))}if(ts!==0)readLineBreak(Me);if(Ps.call(kp,zn)){kp[zn](Me,zn,ni)}else{throwWarning(Me,'unknown document directive "'+zn+'"')}}skipSeparationSpace(Me,true,-1);if(Me.lineIndent===0&&Me.input.charCodeAt(Me.position)===45&&Me.input.charCodeAt(Me.position+1)===45&&Me.input.charCodeAt(Me.position+2)===45){Me.position+=3;skipSeparationSpace(Me,true,-1)}else if(Ci){throwError(Me,"directives end mark is expected")}composeNode(Me,Me.lineIndent-1,_a,false,true);skipSeparationSpace(Me,true,-1);if(Me.checkLineBreaks&&oo.test(Me.input.slice(Bn,Me.position))){throwWarning(Me,"non-ASCII line breaks are interpreted as content")}Me.documents.push(Me.result);if(Me.position===Me.lineStart&&testDocumentSeparator(Me)){if(Me.input.charCodeAt(Me.position)===46){Me.position+=3;skipSeparationSpace(Me,true,-1)}return}if(Me.position{"use strict";var zn=Hn(41248);var ni=Hn(9557);function compileList(Me,Bn){var Hn=[];Me[Bn].forEach((function(Me){var Bn=Hn.length;Hn.forEach((function(Hn,zn){if(Hn.tag===Me.tag&&Hn.kind===Me.kind&&Hn.multi===Me.multi){Bn=zn}}));Hn[Bn]=Me}));return Hn}function compileMap(){var Me={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},Bn,Hn;function collectType(Bn){if(Bn.multi){Me.multi[Bn.kind].push(Bn);Me.multi["fallback"].push(Bn)}else{Me[Bn.kind][Bn.tag]=Me["fallback"][Bn.tag]=Bn}}for(Bn=0,Hn=arguments.length;Bn{"use strict";Me.exports=Hn(58927)},97336:(Me,Bn,Hn)=>{"use strict";Me.exports=Hn(55746).extend({implicit:[Hn(28966),Hn(76854)],explicit:[Hn(8149),Hn(58649),Hn(16267),Hn(78758)]})},69832:(Me,Bn,Hn)=>{"use strict";var zn=Hn(62046);Me.exports=new zn({explicit:[Hn(53929),Hn(77161),Hn(47316)]})},58927:(Me,Bn,Hn)=>{"use strict";Me.exports=Hn(69832).extend({implicit:[Hn(4333),Hn(67296),Hn(62271),Hn(57584)]})},9440:(Me,Bn,Hn)=>{"use strict";var zn=Hn(19816);function getLine(Me,Bn,Hn,zn,ni){var Ci="";var ts="";var Ps=Math.floor(ni/2)-1;if(zn-Bn>Ps){Ci=" ... ";Bn=zn-Ps+Ci.length}if(Hn-zn>Ps){ts=" ...";Hn=zn+Ps-ts.length}return{str:Ci+Me.slice(Bn,Hn).replace(/\t/g,"→")+ts,pos:zn-Bn+Ci.length}}function padStart(Me,Bn){return zn.repeat(" ",Bn-Me.length)+Me}function makeSnippet(Me,Bn){Bn=Object.create(Bn||null);if(!Me.buffer)return null;if(!Bn.maxLength)Bn.maxLength=79;if(typeof Bn.indent!=="number")Bn.indent=1;if(typeof Bn.linesBefore!=="number")Bn.linesBefore=3;if(typeof Bn.linesAfter!=="number")Bn.linesAfter=2;var Hn=/\r?\n|\r|\0/g;var ni=[0];var Ci=[];var ts;var Ps=-1;while(ts=Hn.exec(Me.buffer)){Ci.push(ts.index);ni.push(ts.index+ts[0].length);if(Me.position<=ts.index&&Ps<0){Ps=ni.length-2}}if(Ps<0)Ps=ni.length-1;var aa="",oa,ca;var _a=Math.min(Me.line+Bn.linesAfter,Ci.length).toString().length;var xa=Bn.maxLength-(Bn.indent+_a+3);for(oa=1;oa<=Bn.linesBefore;oa++){if(Ps-oa<0)break;ca=getLine(Me.buffer,ni[Ps-oa],Ci[Ps-oa],Me.position-(ni[Ps]-ni[Ps-oa]),xa);aa=zn.repeat(" ",Bn.indent)+padStart((Me.line-oa+1).toString(),_a)+" | "+ca.str+"\n"+aa}ca=getLine(Me.buffer,ni[Ps],Ci[Ps],Me.position,xa);aa+=zn.repeat(" ",Bn.indent)+padStart((Me.line+1).toString(),_a)+" | "+ca.str+"\n";aa+=zn.repeat("-",Bn.indent+_a+3+ca.pos)+"^"+"\n";for(oa=1;oa<=Bn.linesAfter;oa++){if(Ps+oa>=Ci.length)break;ca=getLine(Me.buffer,ni[Ps+oa],Ci[Ps+oa],Me.position-(ni[Ps]-ni[Ps+oa]),xa);aa+=zn.repeat(" ",Bn.indent)+padStart((Me.line+oa+1).toString(),_a)+" | "+ca.str+"\n"}return aa.replace(/\n$/,"")}Me.exports=makeSnippet},9557:(Me,Bn,Hn)=>{"use strict";var zn=Hn(41248);var ni=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"];var Ci=["scalar","sequence","mapping"];function compileStyleAliases(Me){var Bn={};if(Me!==null){Object.keys(Me).forEach((function(Hn){Me[Hn].forEach((function(Me){Bn[String(Me)]=Hn}))}))}return Bn}function Type(Me,Bn){Bn=Bn||{};Object.keys(Bn).forEach((function(Bn){if(ni.indexOf(Bn)===-1){throw new zn('Unknown option "'+Bn+'" is met in definition of "'+Me+'" YAML type.')}}));this.options=Bn;this.tag=Me;this.kind=Bn["kind"]||null;this.resolve=Bn["resolve"]||function(){return true};this.construct=Bn["construct"]||function(Me){return Me};this.instanceOf=Bn["instanceOf"]||null;this.predicate=Bn["predicate"]||null;this.represent=Bn["represent"]||null;this.representName=Bn["representName"]||null;this.defaultStyle=Bn["defaultStyle"]||null;this.multi=Bn["multi"]||false;this.styleAliases=compileStyleAliases(Bn["styleAliases"]||null);if(Ci.indexOf(this.kind)===-1){throw new zn('Unknown kind "'+this.kind+'" is specified for "'+Me+'" YAML type.')}}Me.exports=Type},8149:(Me,Bn,Hn)=>{"use strict";var zn=Hn(9557);var ni="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";function resolveYamlBinary(Me){if(Me===null)return false;var Bn,Hn,zn=0,Ci=Me.length,ts=ni;for(Hn=0;Hn64)continue;if(Bn<0)return false;zn+=6}return zn%8===0}function constructYamlBinary(Me){var Bn,Hn,zn=Me.replace(/[\r\n=]/g,""),Ci=zn.length,ts=ni,Ps=0,aa=[];for(Bn=0;Bn>16&255);aa.push(Ps>>8&255);aa.push(Ps&255)}Ps=Ps<<6|ts.indexOf(zn.charAt(Bn))}Hn=Ci%4*6;if(Hn===0){aa.push(Ps>>16&255);aa.push(Ps>>8&255);aa.push(Ps&255)}else if(Hn===18){aa.push(Ps>>10&255);aa.push(Ps>>2&255)}else if(Hn===12){aa.push(Ps>>4&255)}return new Uint8Array(aa)}function representYamlBinary(Me){var Bn="",Hn=0,zn,Ci,ts=Me.length,Ps=ni;for(zn=0;zn>18&63];Bn+=Ps[Hn>>12&63];Bn+=Ps[Hn>>6&63];Bn+=Ps[Hn&63]}Hn=(Hn<<8)+Me[zn]}Ci=ts%3;if(Ci===0){Bn+=Ps[Hn>>18&63];Bn+=Ps[Hn>>12&63];Bn+=Ps[Hn>>6&63];Bn+=Ps[Hn&63]}else if(Ci===2){Bn+=Ps[Hn>>10&63];Bn+=Ps[Hn>>4&63];Bn+=Ps[Hn<<2&63];Bn+=Ps[64]}else if(Ci===1){Bn+=Ps[Hn>>2&63];Bn+=Ps[Hn<<4&63];Bn+=Ps[64];Bn+=Ps[64]}return Bn}function isBinary(Me){return Object.prototype.toString.call(Me)==="[object Uint8Array]"}Me.exports=new zn("tag:yaml.org,2002:binary",{kind:"scalar",resolve:resolveYamlBinary,construct:constructYamlBinary,predicate:isBinary,represent:representYamlBinary})},67296:(Me,Bn,Hn)=>{"use strict";var zn=Hn(9557);function resolveYamlBoolean(Me){if(Me===null)return false;var Bn=Me.length;return Bn===4&&(Me==="true"||Me==="True"||Me==="TRUE")||Bn===5&&(Me==="false"||Me==="False"||Me==="FALSE")}function constructYamlBoolean(Me){return Me==="true"||Me==="True"||Me==="TRUE"}function isBoolean(Me){return Object.prototype.toString.call(Me)==="[object Boolean]"}Me.exports=new zn("tag:yaml.org,2002:bool",{kind:"scalar",resolve:resolveYamlBoolean,construct:constructYamlBoolean,predicate:isBoolean,represent:{lowercase:function(Me){return Me?"true":"false"},uppercase:function(Me){return Me?"TRUE":"FALSE"},camelcase:function(Me){return Me?"True":"False"}},defaultStyle:"lowercase"})},57584:(Me,Bn,Hn)=>{"use strict";var zn=Hn(19816);var ni=Hn(9557);var Ci=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?"+"|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?"+"|[-+]?\\.(?:inf|Inf|INF)"+"|\\.(?:nan|NaN|NAN))$");function resolveYamlFloat(Me){if(Me===null)return false;if(!Ci.test(Me)||Me[Me.length-1]==="_"){return false}return true}function constructYamlFloat(Me){var Bn,Hn;Bn=Me.replace(/_/g,"").toLowerCase();Hn=Bn[0]==="-"?-1:1;if("+-".indexOf(Bn[0])>=0){Bn=Bn.slice(1)}if(Bn===".inf"){return Hn===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY}else if(Bn===".nan"){return NaN}return Hn*parseFloat(Bn,10)}var ts=/^[-+]?[0-9]+e/;function representYamlFloat(Me,Bn){var Hn;if(isNaN(Me)){switch(Bn){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}}else if(Number.POSITIVE_INFINITY===Me){switch(Bn){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}}else if(Number.NEGATIVE_INFINITY===Me){switch(Bn){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}}else if(zn.isNegativeZero(Me)){return"-0.0"}Hn=Me.toString(10);return ts.test(Hn)?Hn.replace("e",".e"):Hn}function isFloat(Me){return Object.prototype.toString.call(Me)==="[object Number]"&&(Me%1!==0||zn.isNegativeZero(Me))}Me.exports=new ni("tag:yaml.org,2002:float",{kind:"scalar",resolve:resolveYamlFloat,construct:constructYamlFloat,predicate:isFloat,represent:representYamlFloat,defaultStyle:"lowercase"})},62271:(Me,Bn,Hn)=>{"use strict";var zn=Hn(19816);var ni=Hn(9557);function isHexCode(Me){return 48<=Me&&Me<=57||65<=Me&&Me<=70||97<=Me&&Me<=102}function isOctCode(Me){return 48<=Me&&Me<=55}function isDecCode(Me){return 48<=Me&&Me<=57}function resolveYamlInteger(Me){if(Me===null)return false;var Bn=Me.length,Hn=0,zn=false,ni;if(!Bn)return false;ni=Me[Hn];if(ni==="-"||ni==="+"){ni=Me[++Hn]}if(ni==="0"){if(Hn+1===Bn)return true;ni=Me[++Hn];if(ni==="b"){Hn++;for(;Hn=0?"0b"+Me.toString(2):"-0b"+Me.toString(2).slice(1)},octal:function(Me){return Me>=0?"0o"+Me.toString(8):"-0o"+Me.toString(8).slice(1)},decimal:function(Me){return Me.toString(10)},hexadecimal:function(Me){return Me>=0?"0x"+Me.toString(16).toUpperCase():"-0x"+Me.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},47316:(Me,Bn,Hn)=>{"use strict";var zn=Hn(9557);Me.exports=new zn("tag:yaml.org,2002:map",{kind:"mapping",construct:function(Me){return Me!==null?Me:{}}})},76854:(Me,Bn,Hn)=>{"use strict";var zn=Hn(9557);function resolveYamlMerge(Me){return Me==="<<"||Me===null}Me.exports=new zn("tag:yaml.org,2002:merge",{kind:"scalar",resolve:resolveYamlMerge})},4333:(Me,Bn,Hn)=>{"use strict";var zn=Hn(9557);function resolveYamlNull(Me){if(Me===null)return true;var Bn=Me.length;return Bn===1&&Me==="~"||Bn===4&&(Me==="null"||Me==="Null"||Me==="NULL")}function constructYamlNull(){return null}function isNull(Me){return Me===null}Me.exports=new zn("tag:yaml.org,2002:null",{kind:"scalar",resolve:resolveYamlNull,construct:constructYamlNull,predicate:isNull,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"})},58649:(Me,Bn,Hn)=>{"use strict";var zn=Hn(9557);var ni=Object.prototype.hasOwnProperty;var Ci=Object.prototype.toString;function resolveYamlOmap(Me){if(Me===null)return true;var Bn=[],Hn,zn,ts,Ps,aa,oa=Me;for(Hn=0,zn=oa.length;Hn{"use strict";var zn=Hn(9557);var ni=Object.prototype.toString;function resolveYamlPairs(Me){if(Me===null)return true;var Bn,Hn,zn,Ci,ts,Ps=Me;ts=new Array(Ps.length);for(Bn=0,Hn=Ps.length;Bn{"use strict";var zn=Hn(9557);Me.exports=new zn("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(Me){return Me!==null?Me:[]}})},78758:(Me,Bn,Hn)=>{"use strict";var zn=Hn(9557);var ni=Object.prototype.hasOwnProperty;function resolveYamlSet(Me){if(Me===null)return true;var Bn,Hn=Me;for(Bn in Hn){if(ni.call(Hn,Bn)){if(Hn[Bn]!==null)return false}}return true}function constructYamlSet(Me){return Me!==null?Me:{}}Me.exports=new zn("tag:yaml.org,2002:set",{kind:"mapping",resolve:resolveYamlSet,construct:constructYamlSet})},53929:(Me,Bn,Hn)=>{"use strict";var zn=Hn(9557);Me.exports=new zn("tag:yaml.org,2002:str",{kind:"scalar",construct:function(Me){return Me!==null?Me:""}})},28966:(Me,Bn,Hn)=>{"use strict";var zn=Hn(9557);var ni=new RegExp("^([0-9][0-9][0-9][0-9])"+"-([0-9][0-9])"+"-([0-9][0-9])$");var Ci=new RegExp("^([0-9][0-9][0-9][0-9])"+"-([0-9][0-9]?)"+"-([0-9][0-9]?)"+"(?:[Tt]|[ \\t]+)"+"([0-9][0-9]?)"+":([0-9][0-9])"+":([0-9][0-9])"+"(?:\\.([0-9]*))?"+"(?:[ \\t]*(Z|([-+])([0-9][0-9]?)"+"(?::([0-9][0-9]))?))?$");function resolveYamlTimestamp(Me){if(Me===null)return false;if(ni.exec(Me)!==null)return true;if(Ci.exec(Me)!==null)return true;return false}function constructYamlTimestamp(Me){var Bn,Hn,zn,ts,Ps,aa,oa,ca=0,_a=null,xa,Ga,Ha;Bn=ni.exec(Me);if(Bn===null)Bn=Ci.exec(Me);if(Bn===null)throw new Error("Date resolve error");Hn=+Bn[1];zn=+Bn[2]-1;ts=+Bn[3];if(!Bn[4]){return new Date(Date.UTC(Hn,zn,ts))}Ps=+Bn[4];aa=+Bn[5];oa=+Bn[6];if(Bn[7]){ca=Bn[7].slice(0,3);while(ca.length<3){ca+="0"}ca=+ca}if(Bn[9]){xa=+Bn[10];Ga=+(Bn[11]||0);_a=(xa*60+Ga)*6e4;if(Bn[9]==="-")_a=-_a}Ha=new Date(Date.UTC(Hn,zn,ts,Ps,aa,oa,ca));if(_a)Ha.setTime(Ha.getTime()-_a);return Ha}function representYamlTimestamp(Me){return Me.toISOString()}Me.exports=new zn("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:resolveYamlTimestamp,construct:constructYamlTimestamp,instanceOf:Date,represent:representYamlTimestamp})},92047:(Me,Bn,Hn)=>{var zn=Hn(33324);Me.exports=function(Me,Bn){Bn=Bn||{};var Hn=zn.decode(Me,Bn);if(!Hn){return null}var ni=Hn.payload;if(typeof ni==="string"){try{var Ci=JSON.parse(ni);if(Ci!==null&&typeof Ci==="object"){ni=Ci}}catch(Me){}}if(Bn.complete===true){return{header:Hn.header,payload:ni,signature:Hn.signature}}return ni}},69653:(Me,Bn,Hn)=>{Me.exports={decode:Hn(92047),verify:Hn(60772),sign:Hn(14912),JsonWebTokenError:Hn(26248),NotBeforeError:Hn(91269),TokenExpiredError:Hn(41241)}},26248:Me=>{var JsonWebTokenError=function(Me,Bn){Error.call(this,Me);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="JsonWebTokenError";this.message=Me;if(Bn)this.inner=Bn};JsonWebTokenError.prototype=Object.create(Error.prototype);JsonWebTokenError.prototype.constructor=JsonWebTokenError;Me.exports=JsonWebTokenError},91269:(Me,Bn,Hn)=>{var zn=Hn(26248);var NotBeforeError=function(Me,Bn){zn.call(this,Me);this.name="NotBeforeError";this.date=Bn};NotBeforeError.prototype=Object.create(zn.prototype);NotBeforeError.prototype.constructor=NotBeforeError;Me.exports=NotBeforeError},41241:(Me,Bn,Hn)=>{var zn=Hn(26248);var TokenExpiredError=function(Me,Bn){zn.call(this,Me);this.name="TokenExpiredError";this.expiredAt=Bn};TokenExpiredError.prototype=Object.create(zn.prototype);TokenExpiredError.prototype.constructor=TokenExpiredError;Me.exports=TokenExpiredError},51136:(Me,Bn,Hn)=>{const zn=Hn(62088);Me.exports=zn.satisfies(process.version,">=15.7.0")},3948:(Me,Bn,Hn)=>{var zn=Hn(62088);Me.exports=zn.satisfies(process.version,"^6.12.0 || >=8.0.0")},45318:(Me,Bn,Hn)=>{const zn=Hn(62088);Me.exports=zn.satisfies(process.version,">=16.9.0")},96688:(Me,Bn,Hn)=>{var zn=Hn(70744);Me.exports=function(Me,Bn){var Hn=Bn||Math.floor(Date.now()/1e3);if(typeof Me==="string"){var ni=zn(Me);if(typeof ni==="undefined"){return}return Math.floor(Hn+ni/1e3)}else if(typeof Me==="number"){return Hn+Me}else{return}}},91006:(Me,Bn,Hn)=>{const zn=Hn(51136);const ni=Hn(45318);const Ci={ec:["ES256","ES384","ES512"],rsa:["RS256","PS256","RS384","PS384","RS512","PS512"],"rsa-pss":["PS256","PS384","PS512"]};const ts={ES256:"prime256v1",ES384:"secp384r1",ES512:"secp521r1"};Me.exports=function(Me,Bn){if(!Me||!Bn)return;const Hn=Bn.asymmetricKeyType;if(!Hn)return;const Ps=Ci[Hn];if(!Ps){throw new Error(`Unknown key type "${Hn}".`)}if(!Ps.includes(Me)){throw new Error(`"alg" parameter for "${Hn}" key type must be one of: ${Ps.join(", ")}.`)}if(zn){switch(Hn){case"ec":const Hn=Bn.asymmetricKeyDetails.namedCurve;const zn=ts[Me];if(Hn!==zn){throw new Error(`"alg" parameter "${Me}" requires curve "${zn}".`)}break;case"rsa-pss":if(ni){const Hn=parseInt(Me.slice(-3),10);const{hashAlgorithm:zn,mgf1HashAlgorithm:ni,saltLength:Ci}=Bn.asymmetricKeyDetails;if(zn!==`sha${Hn}`||ni!==zn){throw new Error(`Invalid key for this operation, its RSA-PSS parameters do not meet the requirements of "alg" ${Me}.`)}if(Ci!==undefined&&Ci>Hn>>3){throw new Error(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of "alg" ${Me}.`)}}break}}}},14912:(Me,Bn,Hn)=>{const zn=Hn(96688);const ni=Hn(3948);const Ci=Hn(91006);const ts=Hn(33324);const Ps=Hn(46248);const aa=Hn(1999);const oa=Hn(39841);const ca=Hn(80116);const _a=Hn(29888);const xa=Hn(56172);const Ga=Hn(82192);const{KeyObject:Ha,createSecretKey:so,createPrivateKey:oo}=Hn(76982);const Jo=["RS256","RS384","RS512","ES256","ES384","ES512","HS256","HS384","HS512","none"];if(ni){Jo.splice(3,0,"PS256","PS384","PS512")}const tc={expiresIn:{isValid:function(Me){return oa(Me)||xa(Me)&&Me},message:'"expiresIn" should be a number of seconds or string representing a timespan'},notBefore:{isValid:function(Me){return oa(Me)||xa(Me)&&Me},message:'"notBefore" should be a number of seconds or string representing a timespan'},audience:{isValid:function(Me){return xa(Me)||Array.isArray(Me)},message:'"audience" must be a string or array'},algorithm:{isValid:Ps.bind(null,Jo),message:'"algorithm" must be a valid string enum value'},header:{isValid:_a,message:'"header" must be an object'},encoding:{isValid:xa,message:'"encoding" must be a string'},issuer:{isValid:xa,message:'"issuer" must be a string'},subject:{isValid:xa,message:'"subject" must be a string'},jwtid:{isValid:xa,message:'"jwtid" must be a string'},noTimestamp:{isValid:aa,message:'"noTimestamp" must be a boolean'},keyid:{isValid:xa,message:'"keyid" must be a string'},mutatePayload:{isValid:aa,message:'"mutatePayload" must be a boolean'},allowInsecureKeySizes:{isValid:aa,message:'"allowInsecureKeySizes" must be a boolean'},allowInvalidAsymmetricKeyTypes:{isValid:aa,message:'"allowInvalidAsymmetricKeyTypes" must be a boolean'}};const dc={iat:{isValid:ca,message:'"iat" should be a number of seconds'},exp:{isValid:ca,message:'"exp" should be a number of seconds'},nbf:{isValid:ca,message:'"nbf" should be a number of seconds'}};function validate(Me,Bn,Hn,zn){if(!_a(Hn)){throw new Error('Expected "'+zn+'" to be a plain object.')}Object.keys(Hn).forEach((function(ni){const Ci=Me[ni];if(!Ci){if(!Bn){throw new Error('"'+ni+'" is not allowed in "'+zn+'"')}return}if(!Ci.isValid(Hn[ni])){throw new Error(Ci.message)}}))}function validateOptions(Me){return validate(tc,false,Me,"options")}function validatePayload(Me){return validate(dc,true,Me,"payload")}const Fc={audience:"aud",issuer:"iss",subject:"sub",jwtid:"jti"};const Jc=["expiresIn","notBefore","noTimestamp","audience","issuer","subject","jwtid"];Me.exports=function(Me,Bn,Hn,ni){if(typeof Hn==="function"){ni=Hn;Hn={}}else{Hn=Hn||{}}const Ps=typeof Me==="object"&&!Buffer.isBuffer(Me);const aa=Object.assign({alg:Hn.algorithm||"HS256",typ:Ps?"JWT":undefined,kid:Hn.keyid},Hn.header);function failure(Me){if(ni){return ni(Me)}throw Me}if(!Bn&&Hn.algorithm!=="none"){return failure(new Error("secretOrPrivateKey must have a value"))}if(Bn!=null&&!(Bn instanceof Ha)){try{Bn=oo(Bn)}catch(Me){try{Bn=so(typeof Bn==="string"?Buffer.from(Bn):Bn)}catch(Me){return failure(new Error("secretOrPrivateKey is not valid key material"))}}}if(aa.alg.startsWith("HS")&&Bn.type!=="secret"){return failure(new Error(`secretOrPrivateKey must be a symmetric key when using ${aa.alg}`))}else if(/^(?:RS|PS|ES)/.test(aa.alg)){if(Bn.type!=="private"){return failure(new Error(`secretOrPrivateKey must be an asymmetric key when using ${aa.alg}`))}if(!Hn.allowInsecureKeySizes&&!aa.alg.startsWith("ES")&&Bn.asymmetricKeyDetails!==undefined&&Bn.asymmetricKeyDetails.modulusLength<2048){return failure(new Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${aa.alg}`))}}if(typeof Me==="undefined"){return failure(new Error("payload is required"))}else if(Ps){try{validatePayload(Me)}catch(Me){return failure(Me)}if(!Hn.mutatePayload){Me=Object.assign({},Me)}}else{const Bn=Jc.filter((function(Me){return typeof Hn[Me]!=="undefined"}));if(Bn.length>0){return failure(new Error("invalid "+Bn.join(",")+" option for "+typeof Me+" payload"))}}if(typeof Me.exp!=="undefined"&&typeof Hn.expiresIn!=="undefined"){return failure(new Error('Bad "options.expiresIn" option the payload already has an "exp" property.'))}if(typeof Me.nbf!=="undefined"&&typeof Hn.notBefore!=="undefined"){return failure(new Error('Bad "options.notBefore" option the payload already has an "nbf" property.'))}try{validateOptions(Hn)}catch(Me){return failure(Me)}if(!Hn.allowInvalidAsymmetricKeyTypes){try{Ci(aa.alg,Bn)}catch(Me){return failure(Me)}}const oa=Me.iat||Math.floor(Date.now()/1e3);if(Hn.noTimestamp){delete Me.iat}else if(Ps){Me.iat=oa}if(typeof Hn.notBefore!=="undefined"){try{Me.nbf=zn(Hn.notBefore,oa)}catch(Me){return failure(Me)}if(typeof Me.nbf==="undefined"){return failure(new Error('"notBefore" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}}if(typeof Hn.expiresIn!=="undefined"&&typeof Me==="object"){try{Me.exp=zn(Hn.expiresIn,oa)}catch(Me){return failure(Me)}if(typeof Me.exp==="undefined"){return failure(new Error('"expiresIn" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}}Object.keys(Fc).forEach((function(Bn){const zn=Fc[Bn];if(typeof Hn[Bn]!=="undefined"){if(typeof Me[zn]!=="undefined"){return failure(new Error('Bad "options.'+Bn+'" option. The payload already has an "'+zn+'" property.'))}Me[zn]=Hn[Bn]}}));const ca=Hn.encoding||"utf8";if(typeof ni==="function"){ni=ni&&Ga(ni);ts.createSign({header:aa,privateKey:Bn,payload:Me,encoding:ca}).once("error",ni).once("done",(function(Me){if(!Hn.allowInsecureKeySizes&&/^(?:RS|PS)/.test(aa.alg)&&Me.length<256){return ni(new Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${aa.alg}`))}ni(null,Me)}))}else{let zn=ts.sign({header:aa,payload:Me,secret:Bn,encoding:ca});if(!Hn.allowInsecureKeySizes&&/^(?:RS|PS)/.test(aa.alg)&&zn.length<256){throw new Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${aa.alg}`)}return zn}}},60772:(Me,Bn,Hn)=>{const zn=Hn(26248);const ni=Hn(91269);const Ci=Hn(41241);const ts=Hn(92047);const Ps=Hn(96688);const aa=Hn(91006);const oa=Hn(3948);const ca=Hn(33324);const{KeyObject:_a,createSecretKey:xa,createPublicKey:Ga}=Hn(76982);const Ha=["RS256","RS384","RS512"];const so=["ES256","ES384","ES512"];const oo=["RS256","RS384","RS512"];const Jo=["HS256","HS384","HS512"];if(oa){Ha.splice(Ha.length,0,"PS256","PS384","PS512");oo.splice(oo.length,0,"PS256","PS384","PS512")}Me.exports=function(Me,Bn,Hn,oa){if(typeof Hn==="function"&&!oa){oa=Hn;Hn={}}if(!Hn){Hn={}}Hn=Object.assign({},Hn);let tc;if(oa){tc=oa}else{tc=function(Me,Bn){if(Me)throw Me;return Bn}}if(Hn.clockTimestamp&&typeof Hn.clockTimestamp!=="number"){return tc(new zn("clockTimestamp must be a number"))}if(Hn.nonce!==undefined&&(typeof Hn.nonce!=="string"||Hn.nonce.trim()==="")){return tc(new zn("nonce must be a non-empty string"))}if(Hn.allowInvalidAsymmetricKeyTypes!==undefined&&typeof Hn.allowInvalidAsymmetricKeyTypes!=="boolean"){return tc(new zn("allowInvalidAsymmetricKeyTypes must be a boolean"))}const dc=Hn.clockTimestamp||Math.floor(Date.now()/1e3);if(!Me){return tc(new zn("jwt must be provided"))}if(typeof Me!=="string"){return tc(new zn("jwt must be a string"))}const Fc=Me.split(".");if(Fc.length!==3){return tc(new zn("jwt malformed"))}let Jc;try{Jc=ts(Me,{complete:true})}catch(Me){return tc(Me)}if(!Jc){return tc(new zn("invalid token"))}const Dp=Jc.header;let kp;if(typeof Bn==="function"){if(!oa){return tc(new zn("verify must be called asynchronous if secret or public key is provided as a callback"))}kp=Bn}else{kp=function(Me,Hn){return Hn(null,Bn)}}return kp(Dp,(function(Bn,ts){if(Bn){return tc(new zn("error in secret or public key callback: "+Bn.message))}const oa=Fc[2].trim()!=="";if(!oa&&ts){return tc(new zn("jwt signature is required"))}if(oa&&!ts){return tc(new zn("secret or public key must be provided"))}if(!oa&&!Hn.algorithms){return tc(new zn('please specify "none" in "algorithms" to verify unsigned tokens'))}if(ts!=null&&!(ts instanceof _a)){try{ts=Ga(ts)}catch(Me){try{ts=xa(typeof ts==="string"?Buffer.from(ts):ts)}catch(Me){return tc(new zn("secretOrPublicKey is not valid key material"))}}}if(!Hn.algorithms){if(ts.type==="secret"){Hn.algorithms=Jo}else if(["rsa","rsa-pss"].includes(ts.asymmetricKeyType)){Hn.algorithms=oo}else if(ts.asymmetricKeyType==="ec"){Hn.algorithms=so}else{Hn.algorithms=Ha}}if(Hn.algorithms.indexOf(Jc.header.alg)===-1){return tc(new zn("invalid algorithm"))}if(Dp.alg.startsWith("HS")&&ts.type!=="secret"){return tc(new zn(`secretOrPublicKey must be a symmetric key when using ${Dp.alg}`))}else if(/^(?:RS|PS|ES)/.test(Dp.alg)&&ts.type!=="public"){return tc(new zn(`secretOrPublicKey must be an asymmetric key when using ${Dp.alg}`))}if(!Hn.allowInvalidAsymmetricKeyTypes){try{aa(Dp.alg,ts)}catch(Me){return tc(Me)}}let kp;try{kp=ca.verify(Me,Jc.header.alg,ts)}catch(Me){return tc(Me)}if(!kp){return tc(new zn("invalid signature"))}const Qp=Jc.payload;if(typeof Qp.nbf!=="undefined"&&!Hn.ignoreNotBefore){if(typeof Qp.nbf!=="number"){return tc(new zn("invalid nbf value"))}if(Qp.nbf>dc+(Hn.clockTolerance||0)){return tc(new ni("jwt not active",new Date(Qp.nbf*1e3)))}}if(typeof Qp.exp!=="undefined"&&!Hn.ignoreExpiration){if(typeof Qp.exp!=="number"){return tc(new zn("invalid exp value"))}if(dc>=Qp.exp+(Hn.clockTolerance||0)){return tc(new Ci("jwt expired",new Date(Qp.exp*1e3)))}}if(Hn.audience){const Me=Array.isArray(Hn.audience)?Hn.audience:[Hn.audience];const Bn=Array.isArray(Qp.aud)?Qp.aud:[Qp.aud];const ni=Bn.some((function(Bn){return Me.some((function(Me){return Me instanceof RegExp?Me.test(Bn):Me===Bn}))}));if(!ni){return tc(new zn("jwt audience invalid. expected: "+Me.join(" or ")))}}if(Hn.issuer){const Me=typeof Hn.issuer==="string"&&Qp.iss!==Hn.issuer||Array.isArray(Hn.issuer)&&Hn.issuer.indexOf(Qp.iss)===-1;if(Me){return tc(new zn("jwt issuer invalid. expected: "+Hn.issuer))}}if(Hn.subject){if(Qp.sub!==Hn.subject){return tc(new zn("jwt subject invalid. expected: "+Hn.subject))}}if(Hn.jwtid){if(Qp.jti!==Hn.jwtid){return tc(new zn("jwt jwtid invalid. expected: "+Hn.jwtid))}}if(Hn.nonce){if(Qp.nonce!==Hn.nonce){return tc(new zn("jwt nonce invalid. expected: "+Hn.nonce))}}if(Hn.maxAge){if(typeof Qp.iat!=="number"){return tc(new zn("iat required when maxAge is specified"))}const Me=Ps(Hn.maxAge,Qp.iat);if(typeof Me==="undefined"){return tc(new zn('"maxAge" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}if(dc>=Me+(Hn.clockTolerance||0)){return tc(new Ci("maxAge exceeded",new Date(Me*1e3)))}}if(Hn.complete===true){const Me=Jc.signature;return tc(null,{header:Dp,payload:Qp,signature:Me})}return tc(null,Qp)}))}},38622:(Me,Bn,Hn)=>{var zn=Hn(93058).Buffer;var ni=Hn(76982);var Ci=Hn(325);var ts=Hn(39023);var Ps='"%s" is not a valid algorithm.\n Supported algorithms are:\n "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".';var aa="secret must be a string or buffer";var oa="key must be a string or a buffer";var ca="key must be a string, a buffer or an object";var _a=typeof ni.createPublicKey==="function";if(_a){oa+=" or a KeyObject";aa+="or a KeyObject"}function checkIsPublicKey(Me){if(zn.isBuffer(Me)){return}if(typeof Me==="string"){return}if(!_a){throw typeError(oa)}if(typeof Me!=="object"){throw typeError(oa)}if(typeof Me.type!=="string"){throw typeError(oa)}if(typeof Me.asymmetricKeyType!=="string"){throw typeError(oa)}if(typeof Me.export!=="function"){throw typeError(oa)}}function checkIsPrivateKey(Me){if(zn.isBuffer(Me)){return}if(typeof Me==="string"){return}if(typeof Me==="object"){return}throw typeError(ca)}function checkIsSecretKey(Me){if(zn.isBuffer(Me)){return}if(typeof Me==="string"){return Me}if(!_a){throw typeError(aa)}if(typeof Me!=="object"){throw typeError(aa)}if(Me.type!=="secret"){throw typeError(aa)}if(typeof Me.export!=="function"){throw typeError(aa)}}function fromBase64(Me){return Me.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function toBase64(Me){Me=Me.toString();var Bn=4-Me.length%4;if(Bn!==4){for(var Hn=0;Hn{var zn=Hn(78600);var ni=Hn(4368);var Ci=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];Bn.ALGORITHMS=Ci;Bn.sign=zn.sign;Bn.verify=ni.verify;Bn.decode=ni.decode;Bn.isValid=ni.isValid;Bn.createSign=function createSign(Me){return new zn(Me)};Bn.createVerify=function createVerify(Me){return new ni(Me)}},41831:(Me,Bn,Hn)=>{var zn=Hn(93058).Buffer;var ni=Hn(2203);var Ci=Hn(39023);function DataStream(Me){this.buffer=null;this.writable=true;this.readable=true;if(!Me){this.buffer=zn.alloc(0);return this}if(typeof Me.pipe==="function"){this.buffer=zn.alloc(0);Me.pipe(this);return this}if(Me.length||typeof Me==="object"){this.buffer=Me;this.writable=false;process.nextTick(function(){this.emit("end",Me);this.readable=false;this.emit("close")}.bind(this));return this}throw new TypeError("Unexpected data type ("+typeof Me+")")}Ci.inherits(DataStream,ni);DataStream.prototype.write=function write(Me){this.buffer=zn.concat([this.buffer,zn.from(Me)]);this.emit("data",Me)};DataStream.prototype.end=function end(Me){if(Me)this.write(Me);this.emit("end",Me);this.emit("close");this.writable=false;this.readable=false};Me.exports=DataStream},78600:(Me,Bn,Hn)=>{var zn=Hn(93058).Buffer;var ni=Hn(41831);var Ci=Hn(38622);var ts=Hn(2203);var Ps=Hn(95126);var aa=Hn(39023);function base64url(Me,Bn){return zn.from(Me,Bn).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function jwsSecuredInput(Me,Bn,Hn){Hn=Hn||"utf8";var zn=base64url(Ps(Me),"binary");var ni=base64url(Ps(Bn),Hn);return aa.format("%s.%s",zn,ni)}function jwsSign(Me){var Bn=Me.header;var Hn=Me.payload;var zn=Me.secret||Me.privateKey;var ni=Me.encoding;var ts=Ci(Bn.alg);var Ps=jwsSecuredInput(Bn,Hn,ni);var oa=ts.sign(Ps,zn);return aa.format("%s.%s",Ps,oa)}function SignStream(Me){var Bn=Me.secret;Bn=Bn==null?Me.privateKey:Bn;Bn=Bn==null?Me.key:Bn;if(/^hs/i.test(Me.header.alg)===true&&Bn==null){throw new TypeError("secret must be a string or buffer or a KeyObject")}var Hn=new ni(Bn);this.readable=true;this.header=Me.header;this.encoding=Me.encoding;this.secret=this.privateKey=this.key=Hn;this.payload=new ni(Me.payload);this.secret.once("close",function(){if(!this.payload.writable&&this.readable)this.sign()}.bind(this));this.payload.once("close",function(){if(!this.secret.writable&&this.readable)this.sign()}.bind(this))}aa.inherits(SignStream,ts);SignStream.prototype.sign=function sign(){try{var Me=jwsSign({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});this.emit("done",Me);this.emit("data",Me);this.emit("end");this.readable=false;return Me}catch(Me){this.readable=false;this.emit("error",Me);this.emit("close")}};SignStream.sign=jwsSign;Me.exports=SignStream},95126:(Me,Bn,Hn)=>{var zn=Hn(20181).Buffer;Me.exports=function toString(Me){if(typeof Me==="string")return Me;if(typeof Me==="number"||zn.isBuffer(Me))return Me.toString();return JSON.stringify(Me)}},4368:(Me,Bn,Hn)=>{var zn=Hn(93058).Buffer;var ni=Hn(41831);var Ci=Hn(38622);var ts=Hn(2203);var Ps=Hn(95126);var aa=Hn(39023);var oa=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function isObject(Me){return Object.prototype.toString.call(Me)==="[object Object]"}function safeJsonParse(Me){if(isObject(Me))return Me;try{return JSON.parse(Me)}catch(Me){return undefined}}function headerFromJWS(Me){var Bn=Me.split(".",1)[0];return safeJsonParse(zn.from(Bn,"base64").toString("binary"))}function securedInputFromJWS(Me){return Me.split(".",2).join(".")}function signatureFromJWS(Me){return Me.split(".")[2]}function payloadFromJWS(Me,Bn){Bn=Bn||"utf8";var Hn=Me.split(".")[1];return zn.from(Hn,"base64").toString(Bn)}function isValidJws(Me){return oa.test(Me)&&!!headerFromJWS(Me)}function jwsVerify(Me,Bn,Hn){if(!Bn){var zn=new Error("Missing algorithm parameter for jws.verify");zn.code="MISSING_ALGORITHM";throw zn}Me=Ps(Me);var ni=signatureFromJWS(Me);var ts=securedInputFromJWS(Me);var aa=Ci(Bn);return aa.verify(ts,ni,Hn)}function jwsDecode(Me,Bn){Bn=Bn||{};Me=Ps(Me);if(!isValidJws(Me))return null;var Hn=headerFromJWS(Me);if(!Hn)return null;var zn=payloadFromJWS(Me);if(Hn.typ==="JWT"||Bn.json)zn=JSON.parse(zn,Bn.encoding);return{header:Hn,payload:zn,signature:signatureFromJWS(Me)}}function VerifyStream(Me){Me=Me||{};var Bn=Me.secret;Bn=Bn==null?Me.publicKey:Bn;Bn=Bn==null?Me.key:Bn;if(/^hs/i.test(Me.algorithm)===true&&Bn==null){throw new TypeError("secret must be a string or buffer or a KeyObject")}var Hn=new ni(Bn);this.readable=true;this.algorithm=Me.algorithm;this.encoding=Me.encoding;this.secret=this.publicKey=this.key=Hn;this.signature=new ni(Me.signature);this.secret.once("close",function(){if(!this.signature.writable&&this.readable)this.verify()}.bind(this));this.signature.once("close",function(){if(!this.secret.writable&&this.readable)this.verify()}.bind(this))}aa.inherits(VerifyStream,ts);VerifyStream.prototype.verify=function verify(){try{var Me=jwsVerify(this.signature.buffer,this.algorithm,this.key.buffer);var Bn=jwsDecode(this.signature.buffer,this.encoding);this.emit("done",Me,Bn);this.emit("data",Me);this.emit("end");this.readable=false;return Me}catch(Me){this.readable=false;this.emit("error",Me);this.emit("close")}};VerifyStream.decode=jwsDecode;VerifyStream.isValid=isValidJws;VerifyStream.verify=jwsVerify;Me.exports=VerifyStream},46248:Me=>{var Bn=1/0,Hn=9007199254740991,zn=17976931348623157e292,ni=0/0;var Ci="[object Arguments]",ts="[object Function]",Ps="[object GeneratorFunction]",aa="[object String]",oa="[object Symbol]";var ca=/^\s+|\s+$/g;var _a=/^[-+]0x[0-9a-f]+$/i;var xa=/^0b[01]+$/i;var Ga=/^0o[0-7]+$/i;var Ha=/^(?:0|[1-9]\d*)$/;var so=parseInt;function arrayMap(Me,Bn){var Hn=-1,zn=Me?Me.length:0,ni=Array(zn);while(++Hn-1&&Me%1==0&&Me-1:!!ni&&baseIndexOf(Me,Bn,Hn)>-1}function isArguments(Me){return isArrayLikeObject(Me)&&Jo.call(Me,"callee")&&(!dc.call(Me,"callee")||tc.call(Me)==Ci)}var Dp=Array.isArray;function isArrayLike(Me){return Me!=null&&isLength(Me.length)&&!isFunction(Me)}function isArrayLikeObject(Me){return isObjectLike(Me)&&isArrayLike(Me)}function isFunction(Me){var Bn=isObject(Me)?tc.call(Me):"";return Bn==ts||Bn==Ps}function isLength(Me){return typeof Me=="number"&&Me>-1&&Me%1==0&&Me<=Hn}function isObject(Me){var Bn=typeof Me;return!!Me&&(Bn=="object"||Bn=="function")}function isObjectLike(Me){return!!Me&&typeof Me=="object"}function isString(Me){return typeof Me=="string"||!Dp(Me)&&isObjectLike(Me)&&tc.call(Me)==aa}function isSymbol(Me){return typeof Me=="symbol"||isObjectLike(Me)&&tc.call(Me)==oa}function toFinite(Me){if(!Me){return Me===0?Me:0}Me=toNumber(Me);if(Me===Bn||Me===-Bn){var Hn=Me<0?-1:1;return Hn*zn}return Me===Me?Me:0}function toInteger(Me){var Bn=toFinite(Me),Hn=Bn%1;return Bn===Bn?Hn?Bn-Hn:Bn:0}function toNumber(Me){if(typeof Me=="number"){return Me}if(isSymbol(Me)){return ni}if(isObject(Me)){var Bn=typeof Me.valueOf=="function"?Me.valueOf():Me;Me=isObject(Bn)?Bn+"":Bn}if(typeof Me!="string"){return Me===0?Me:+Me}Me=Me.replace(ca,"");var Hn=xa.test(Me);return Hn||Ga.test(Me)?so(Me.slice(2),Hn?2:8):_a.test(Me)?ni:+Me}function keys(Me){return isArrayLike(Me)?arrayLikeKeys(Me):baseKeys(Me)}function values(Me){return Me?baseValues(Me,keys(Me)):[]}Me.exports=includes},1999:Me=>{var Bn="[object Boolean]";var Hn=Object.prototype;var zn=Hn.toString;function isBoolean(Me){return Me===true||Me===false||isObjectLike(Me)&&zn.call(Me)==Bn}function isObjectLike(Me){return!!Me&&typeof Me=="object"}Me.exports=isBoolean},39841:Me=>{var Bn=1/0,Hn=17976931348623157e292,zn=0/0;var ni="[object Symbol]";var Ci=/^\s+|\s+$/g;var ts=/^[-+]0x[0-9a-f]+$/i;var Ps=/^0b[01]+$/i;var aa=/^0o[0-7]+$/i;var oa=parseInt;var ca=Object.prototype;var _a=ca.toString;function isInteger(Me){return typeof Me=="number"&&Me==toInteger(Me)}function isObject(Me){var Bn=typeof Me;return!!Me&&(Bn=="object"||Bn=="function")}function isObjectLike(Me){return!!Me&&typeof Me=="object"}function isSymbol(Me){return typeof Me=="symbol"||isObjectLike(Me)&&_a.call(Me)==ni}function toFinite(Me){if(!Me){return Me===0?Me:0}Me=toNumber(Me);if(Me===Bn||Me===-Bn){var zn=Me<0?-1:1;return zn*Hn}return Me===Me?Me:0}function toInteger(Me){var Bn=toFinite(Me),Hn=Bn%1;return Bn===Bn?Hn?Bn-Hn:Bn:0}function toNumber(Me){if(typeof Me=="number"){return Me}if(isSymbol(Me)){return zn}if(isObject(Me)){var Bn=typeof Me.valueOf=="function"?Me.valueOf():Me;Me=isObject(Bn)?Bn+"":Bn}if(typeof Me!="string"){return Me===0?Me:+Me}Me=Me.replace(Ci,"");var Hn=Ps.test(Me);return Hn||aa.test(Me)?oa(Me.slice(2),Hn?2:8):ts.test(Me)?zn:+Me}Me.exports=isInteger},80116:Me=>{var Bn="[object Number]";var Hn=Object.prototype;var zn=Hn.toString;function isObjectLike(Me){return!!Me&&typeof Me=="object"}function isNumber(Me){return typeof Me=="number"||isObjectLike(Me)&&zn.call(Me)==Bn}Me.exports=isNumber},29888:Me=>{var Bn="[object Object]";function isHostObject(Me){var Bn=false;if(Me!=null&&typeof Me.toString!="function"){try{Bn=!!(Me+"")}catch(Me){}}return Bn}function overArg(Me,Bn){return function(Hn){return Me(Bn(Hn))}}var Hn=Function.prototype,zn=Object.prototype;var ni=Hn.toString;var Ci=zn.hasOwnProperty;var ts=ni.call(Object);var Ps=zn.toString;var aa=overArg(Object.getPrototypeOf,Object);function isObjectLike(Me){return!!Me&&typeof Me=="object"}function isPlainObject(Me){if(!isObjectLike(Me)||Ps.call(Me)!=Bn||isHostObject(Me)){return false}var Hn=aa(Me);if(Hn===null){return true}var zn=Ci.call(Hn,"constructor")&&Hn.constructor;return typeof zn=="function"&&zn instanceof zn&&ni.call(zn)==ts}Me.exports=isPlainObject},56172:Me=>{var Bn="[object String]";var Hn=Object.prototype;var zn=Hn.toString;var ni=Array.isArray;function isObjectLike(Me){return!!Me&&typeof Me=="object"}function isString(Me){return typeof Me=="string"||!ni(Me)&&isObjectLike(Me)&&zn.call(Me)==Bn}Me.exports=isString},82192:Me=>{var Bn="Expected a function";var Hn=1/0,zn=17976931348623157e292,ni=0/0;var Ci="[object Symbol]";var ts=/^\s+|\s+$/g;var Ps=/^[-+]0x[0-9a-f]+$/i;var aa=/^0b[01]+$/i;var oa=/^0o[0-7]+$/i;var ca=parseInt;var _a=Object.prototype;var xa=_a.toString;function before(Me,Hn){var zn;if(typeof Hn!="function"){throw new TypeError(Bn)}Me=toInteger(Me);return function(){if(--Me>0){zn=Hn.apply(this,arguments)}if(Me<=1){Hn=undefined}return zn}}function once(Me){return before(2,Me)}function isObject(Me){var Bn=typeof Me;return!!Me&&(Bn=="object"||Bn=="function")}function isObjectLike(Me){return!!Me&&typeof Me=="object"}function isSymbol(Me){return typeof Me=="symbol"||isObjectLike(Me)&&xa.call(Me)==Ci}function toFinite(Me){if(!Me){return Me===0?Me:0}Me=toNumber(Me);if(Me===Hn||Me===-Hn){var Bn=Me<0?-1:1;return Bn*zn}return Me===Me?Me:0}function toInteger(Me){var Bn=toFinite(Me),Hn=Bn%1;return Bn===Bn?Hn?Bn-Hn:Bn:0}function toNumber(Me){if(typeof Me=="number"){return Me}if(isSymbol(Me)){return ni}if(isObject(Me)){var Bn=typeof Me.valueOf=="function"?Me.valueOf():Me;Me=isObject(Bn)?Bn+"":Bn}if(typeof Me!="string"){return Me===0?Me:+Me}Me=Me.replace(ts,"");var Hn=aa.test(Me);return Hn||oa.test(Me)?ca(Me.slice(2),Hn?2:8):Ps.test(Me)?ni:+Me}Me.exports=once},47033:(Me,Bn,Hn)=>{var zn=Hn(68573),ni=Hn(6748);var Ci=zn(ni,"DataView");Me.exports=Ci},66320:(Me,Bn,Hn)=>{var zn=Hn(48051),ni=Hn(15431),Ci=Hn(26934),ts=Hn(64306),Ps=Hn(17226);function Hash(Me){var Bn=-1,Hn=Me==null?0:Me.length;this.clear();while(++Bn{var zn=Hn(99791),ni=Hn(24555),Ci=Hn(86634),ts=Hn(8430),Ps=Hn(36918);function ListCache(Me){var Bn=-1,Hn=Me==null?0:Me.length;this.clear();while(++Bn{var zn=Hn(68573),ni=Hn(6748);var Ci=zn(ni,"Map");Me.exports=Ci},79660:(Me,Bn,Hn)=>{var zn=Hn(88487),ni=Hn(36275),Ci=Hn(30130),ts=Hn(69254),Ps=Hn(59806);function MapCache(Me){var Bn=-1,Hn=Me==null?0:Me.length;this.clear();while(++Bn{var zn=Hn(68573),ni=Hn(6748);var Ci=zn(ni,"Promise");Me.exports=Ci},84986:(Me,Bn,Hn)=>{var zn=Hn(68573),ni=Hn(6748);var Ci=zn(ni,"Set");Me.exports=Ci},23706:(Me,Bn,Hn)=>{var zn=Hn(79660),ni=Hn(44671),Ci=Hn(71884);function SetCache(Me){var Bn=-1,Hn=Me==null?0:Me.length;this.__data__=new zn;while(++Bn{var zn=Hn(68884),ni=Hn(91509),Ci=Hn(837),ts=Hn(46572),Ps=Hn(66216),aa=Hn(51976);function Stack(Me){var Bn=this.__data__=new zn(Me);this.size=Bn.size}Stack.prototype.clear=ni;Stack.prototype["delete"]=Ci;Stack.prototype.get=ts;Stack.prototype.has=Ps;Stack.prototype.set=aa;Me.exports=Stack},38584:(Me,Bn,Hn)=>{var zn=Hn(6748);var ni=zn.Symbol;Me.exports=ni},59525:(Me,Bn,Hn)=>{var zn=Hn(6748);var ni=zn.Uint8Array;Me.exports=ni},97364:(Me,Bn,Hn)=>{var zn=Hn(68573),ni=Hn(6748);var Ci=zn(ni,"WeakMap");Me.exports=Ci},59678:Me=>{function apply(Me,Bn,Hn){switch(Hn.length){case 0:return Me.call(Bn);case 1:return Me.call(Bn,Hn[0]);case 2:return Me.call(Bn,Hn[0],Hn[1]);case 3:return Me.call(Bn,Hn[0],Hn[1],Hn[2])}return Me.apply(Bn,Hn)}Me.exports=apply},19362:Me=>{function arrayEach(Me,Bn){var Hn=-1,zn=Me==null?0:Me.length;while(++Hn{function arrayFilter(Me,Bn){var Hn=-1,zn=Me==null?0:Me.length,ni=0,Ci=[];while(++Hn{var zn=Hn(21299),ni=Hn(60541),Ci=Hn(77192),ts=Hn(43739),Ps=Hn(37446),aa=Hn(35e3);var oa=Object.prototype;var ca=oa.hasOwnProperty;function arrayLikeKeys(Me,Bn){var Hn=Ci(Me),oa=!Hn&&ni(Me),_a=!Hn&&!oa&&ts(Me),xa=!Hn&&!oa&&!_a&&aa(Me),Ga=Hn||oa||_a||xa,Ha=Ga?zn(Me.length,String):[],so=Ha.length;for(var oo in Me){if((Bn||ca.call(Me,oo))&&!(Ga&&(oo=="length"||_a&&(oo=="offset"||oo=="parent")||xa&&(oo=="buffer"||oo=="byteLength"||oo=="byteOffset")||Ps(oo,so)))){Ha.push(oo)}}return Ha}Me.exports=arrayLikeKeys},56649:Me=>{function arrayMap(Me,Bn){var Hn=-1,zn=Me==null?0:Me.length,ni=Array(zn);while(++Hn{function arrayPush(Me,Bn){var Hn=-1,zn=Bn.length,ni=Me.length;while(++Hn{function arraySome(Me,Bn){var Hn=-1,zn=Me==null?0:Me.length;while(++Hn{var zn=Hn(63579),ni=Hn(75199);function assignMergeValue(Me,Bn,Hn){if(Hn!==undefined&&!ni(Me[Bn],Hn)||Hn===undefined&&!(Bn in Me)){zn(Me,Bn,Hn)}}Me.exports=assignMergeValue},99128:(Me,Bn,Hn)=>{var zn=Hn(63579),ni=Hn(75199);var Ci=Object.prototype;var ts=Ci.hasOwnProperty;function assignValue(Me,Bn,Hn){var Ci=Me[Bn];if(!(ts.call(Me,Bn)&&ni(Ci,Hn))||Hn===undefined&&!(Bn in Me)){zn(Me,Bn,Hn)}}Me.exports=assignValue},74024:(Me,Bn,Hn)=>{var zn=Hn(75199);function assocIndexOf(Me,Bn){var Hn=Me.length;while(Hn--){if(zn(Me[Hn][0],Bn)){return Hn}}return-1}Me.exports=assocIndexOf},31684:(Me,Bn,Hn)=>{var zn=Hn(69330),ni=Hn(26741);function baseAssign(Me,Bn){return Me&&zn(Bn,ni(Bn),Me)}Me.exports=baseAssign},30731:(Me,Bn,Hn)=>{var zn=Hn(69330),ni=Hn(19430);function baseAssignIn(Me,Bn){return Me&&zn(Bn,ni(Bn),Me)}Me.exports=baseAssignIn},63579:(Me,Bn,Hn)=>{var zn=Hn(83106);function baseAssignValue(Me,Bn,Hn){if(Bn=="__proto__"&&zn){zn(Me,Bn,{configurable:true,enumerable:true,value:Hn,writable:true})}else{Me[Bn]=Hn}}Me.exports=baseAssignValue},62504:(Me,Bn,Hn)=>{var zn=Hn(73262),ni=Hn(19362),Ci=Hn(99128),ts=Hn(31684),Ps=Hn(30731),aa=Hn(165),oa=Hn(77560),ca=Hn(97472),_a=Hn(61935),xa=Hn(78479),Ga=Hn(17172),Ha=Hn(44512),so=Hn(43688),oo=Hn(75906),Jo=Hn(20866),tc=Hn(77192),dc=Hn(43739),Fc=Hn(85995),Jc=Hn(96482),Dp=Hn(27077),kp=Hn(26741),Qp=Hn(19430);var Up=1,Vp=2,qp=4;var Jp="[object Arguments]",Wp="[object Array]",zp="[object Boolean]",Qf="[object Date]",Yf="[object Error]",Kf="[object Function]",Xf="[object GeneratorFunction]",Ad="[object Map]",Cd="[object Number]",wd="[object Object]",Sd="[object RegExp]",xd="[object Set]",Td="[object String]",Pd="[object Symbol]",Qh="[object WeakMap]";var Zh="[object ArrayBuffer]",sA="[object DataView]",oA="[object Float32Array]",hA="[object Float64Array]",eg="[object Int8Array]",tg="[object Int16Array]",rg="[object Int32Array]",ng="[object Uint8Array]",ig="[object Uint8ClampedArray]",sg="[object Uint16Array]",ag="[object Uint32Array]";var og={};og[Jp]=og[Wp]=og[Zh]=og[sA]=og[zp]=og[Qf]=og[oA]=og[hA]=og[eg]=og[tg]=og[rg]=og[Ad]=og[Cd]=og[wd]=og[Sd]=og[xd]=og[Td]=og[Pd]=og[ng]=og[ig]=og[sg]=og[ag]=true;og[Yf]=og[Kf]=og[Qh]=false;function baseClone(Me,Bn,Hn,Wp,zp,Qf){var Yf,Ad=Bn&Up,Cd=Bn&Vp,Sd=Bn&qp;if(Hn){Yf=zp?Hn(Me,Wp,zp,Qf):Hn(Me)}if(Yf!==undefined){return Yf}if(!Jc(Me)){return Me}var xd=tc(Me);if(xd){Yf=so(Me);if(!Ad){return oa(Me,Yf)}}else{var Td=Ha(Me),Pd=Td==Kf||Td==Xf;if(dc(Me)){return aa(Me,Ad)}if(Td==wd||Td==Jp||Pd&&!zp){Yf=Cd||Pd?{}:Jo(Me);if(!Ad){return Cd?_a(Me,Ps(Yf,Me)):ca(Me,ts(Yf,Me))}}else{if(!og[Td]){return zp?Me:{}}Yf=oo(Me,Td,Ad)}}Qf||(Qf=new zn);var Qh=Qf.get(Me);if(Qh){return Qh}Qf.set(Me,Yf);if(Dp(Me)){Me.forEach((function(zn){Yf.add(baseClone(zn,Bn,Hn,zn,Me,Qf))}))}else if(Fc(Me)){Me.forEach((function(zn,ni){Yf.set(ni,baseClone(zn,Bn,Hn,ni,Me,Qf))}))}var Zh=Sd?Cd?Ga:xa:Cd?Qp:kp;var sA=xd?undefined:Zh(Me);ni(sA||Me,(function(zn,ni){if(sA){ni=zn;zn=Me[ni]}Ci(Yf,ni,baseClone(zn,Bn,Hn,ni,Me,Qf))}));return Yf}Me.exports=baseClone},33733:(Me,Bn,Hn)=>{var zn=Hn(96482);var ni=Object.create;var Ci=function(){function object(){}return function(Me){if(!zn(Me)){return{}}if(ni){return ni(Me)}object.prototype=Me;var Bn=new object;object.prototype=undefined;return Bn}}();Me.exports=Ci},11616:(Me,Bn,Hn)=>{var zn=Hn(16484),ni=Hn(40728);var Ci=ni(zn);Me.exports=Ci},39143:(Me,Bn,Hn)=>{var zn=Hn(11616);function baseFilter(Me,Bn){var Hn=[];zn(Me,(function(Me,zn,ni){if(Bn(Me,zn,ni)){Hn.push(Me)}}));return Hn}Me.exports=baseFilter},63183:(Me,Bn,Hn)=>{var zn=Hn(50827),ni=Hn(45088);function baseFlatten(Me,Bn,Hn,Ci,ts){var Ps=-1,aa=Me.length;Hn||(Hn=ni);ts||(ts=[]);while(++Ps0&&Hn(oa)){if(Bn>1){baseFlatten(oa,Bn-1,Hn,Ci,ts)}else{zn(ts,oa)}}else if(!Ci){ts[ts.length]=oa}}return ts}Me.exports=baseFlatten},26798:(Me,Bn,Hn)=>{var zn=Hn(13142);var ni=zn();Me.exports=ni},16484:(Me,Bn,Hn)=>{var zn=Hn(26798),ni=Hn(26741);function baseForOwn(Me,Bn){return Me&&zn(Me,Bn,ni)}Me.exports=baseForOwn},40877:(Me,Bn,Hn)=>{var zn=Hn(77336),ni=Hn(95086);function baseGet(Me,Bn){Bn=zn(Bn,Me);var Hn=0,Ci=Bn.length;while(Me!=null&&Hn{var zn=Hn(50827),ni=Hn(77192);function baseGetAllKeys(Me,Bn,Hn){var Ci=Bn(Me);return ni(Me)?Ci:zn(Ci,Hn(Me))}Me.exports=baseGetAllKeys},29117:(Me,Bn,Hn)=>{var zn=Hn(38584),ni=Hn(95292),Ci=Hn(71723);var ts="[object Null]",Ps="[object Undefined]";var aa=zn?zn.toStringTag:undefined;function baseGetTag(Me){if(Me==null){return Me===undefined?Ps:ts}return aa&&aa in Object(Me)?ni(Me):Ci(Me)}Me.exports=baseGetTag},6186:Me=>{function baseHasIn(Me,Bn){return Me!=null&&Bn in Object(Me)}Me.exports=baseHasIn},93605:(Me,Bn,Hn)=>{var zn=Hn(29117),ni=Hn(51645);var Ci="[object Arguments]";function baseIsArguments(Me){return ni(Me)&&zn(Me)==Ci}Me.exports=baseIsArguments},95777:(Me,Bn,Hn)=>{var zn=Hn(19275),ni=Hn(51645);function baseIsEqual(Me,Bn,Hn,Ci,ts){if(Me===Bn){return true}if(Me==null||Bn==null||!ni(Me)&&!ni(Bn)){return Me!==Me&&Bn!==Bn}return zn(Me,Bn,Hn,Ci,baseIsEqual,ts)}Me.exports=baseIsEqual},19275:(Me,Bn,Hn)=>{var zn=Hn(73262),ni=Hn(5248),Ci=Hn(9895),ts=Hn(52500),Ps=Hn(44512),aa=Hn(77192),oa=Hn(43739),ca=Hn(35e3);var _a=1;var xa="[object Arguments]",Ga="[object Array]",Ha="[object Object]";var so=Object.prototype;var oo=so.hasOwnProperty;function baseIsEqualDeep(Me,Bn,Hn,so,Jo,tc){var dc=aa(Me),Fc=aa(Bn),Jc=dc?Ga:Ps(Me),Dp=Fc?Ga:Ps(Bn);Jc=Jc==xa?Ha:Jc;Dp=Dp==xa?Ha:Dp;var kp=Jc==Ha,Qp=Dp==Ha,Up=Jc==Dp;if(Up&&oa(Me)){if(!oa(Bn)){return false}dc=true;kp=false}if(Up&&!kp){tc||(tc=new zn);return dc||ca(Me)?ni(Me,Bn,Hn,so,Jo,tc):Ci(Me,Bn,Jc,Hn,so,Jo,tc)}if(!(Hn&_a)){var Vp=kp&&oo.call(Me,"__wrapped__"),qp=Qp&&oo.call(Bn,"__wrapped__");if(Vp||qp){var Jp=Vp?Me.value():Me,Wp=qp?Bn.value():Bn;tc||(tc=new zn);return Jo(Jp,Wp,Hn,so,tc)}}if(!Up){return false}tc||(tc=new zn);return ts(Me,Bn,Hn,so,Jo,tc)}Me.exports=baseIsEqualDeep},66051:(Me,Bn,Hn)=>{var zn=Hn(44512),ni=Hn(51645);var Ci="[object Map]";function baseIsMap(Me){return ni(Me)&&zn(Me)==Ci}Me.exports=baseIsMap},67792:(Me,Bn,Hn)=>{var zn=Hn(73262),ni=Hn(95777);var Ci=1,ts=2;function baseIsMatch(Me,Bn,Hn,Ps){var aa=Hn.length,oa=aa,ca=!Ps;if(Me==null){return!oa}Me=Object(Me);while(aa--){var _a=Hn[aa];if(ca&&_a[2]?_a[1]!==Me[_a[0]]:!(_a[0]in Me)){return false}}while(++aa{var zn=Hn(34329),ni=Hn(46613),Ci=Hn(96482),ts=Hn(57192);var Ps=/[\\^$.*+?()[\]{}|]/g;var aa=/^\[object .+?Constructor\]$/;var oa=Function.prototype,ca=Object.prototype;var _a=oa.toString;var xa=ca.hasOwnProperty;var Ga=RegExp("^"+_a.call(xa).replace(Ps,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function baseIsNative(Me){if(!Ci(Me)||ni(Me)){return false}var Bn=zn(Me)?Ga:aa;return Bn.test(ts(Me))}Me.exports=baseIsNative},85901:(Me,Bn,Hn)=>{var zn=Hn(44512),ni=Hn(51645);var Ci="[object Set]";function baseIsSet(Me){return ni(Me)&&zn(Me)==Ci}Me.exports=baseIsSet},16880:(Me,Bn,Hn)=>{var zn=Hn(29117),ni=Hn(56657),Ci=Hn(51645);var ts="[object Arguments]",Ps="[object Array]",aa="[object Boolean]",oa="[object Date]",ca="[object Error]",_a="[object Function]",xa="[object Map]",Ga="[object Number]",Ha="[object Object]",so="[object RegExp]",oo="[object Set]",Jo="[object String]",tc="[object WeakMap]";var dc="[object ArrayBuffer]",Fc="[object DataView]",Jc="[object Float32Array]",Dp="[object Float64Array]",kp="[object Int8Array]",Qp="[object Int16Array]",Up="[object Int32Array]",Vp="[object Uint8Array]",qp="[object Uint8ClampedArray]",Jp="[object Uint16Array]",Wp="[object Uint32Array]";var zp={};zp[Jc]=zp[Dp]=zp[kp]=zp[Qp]=zp[Up]=zp[Vp]=zp[qp]=zp[Jp]=zp[Wp]=true;zp[ts]=zp[Ps]=zp[dc]=zp[aa]=zp[Fc]=zp[oa]=zp[ca]=zp[_a]=zp[xa]=zp[Ga]=zp[Ha]=zp[so]=zp[oo]=zp[Jo]=zp[tc]=false;function baseIsTypedArray(Me){return Ci(Me)&&ni(Me.length)&&!!zp[zn(Me)]}Me.exports=baseIsTypedArray},47988:(Me,Bn,Hn)=>{var zn=Hn(21244),ni=Hn(66481),Ci=Hn(46851),ts=Hn(77192),Ps=Hn(11024);function baseIteratee(Me){if(typeof Me=="function"){return Me}if(Me==null){return Ci}if(typeof Me=="object"){return ts(Me)?ni(Me[0],Me[1]):zn(Me)}return Ps(Me)}Me.exports=baseIteratee},31517:(Me,Bn,Hn)=>{var zn=Hn(55944),ni=Hn(63787);var Ci=Object.prototype;var ts=Ci.hasOwnProperty;function baseKeys(Me){if(!zn(Me)){return ni(Me)}var Bn=[];for(var Hn in Object(Me)){if(ts.call(Me,Hn)&&Hn!="constructor"){Bn.push(Hn)}}return Bn}Me.exports=baseKeys},82094:(Me,Bn,Hn)=>{var zn=Hn(96482),ni=Hn(55944),Ci=Hn(94008);var ts=Object.prototype;var Ps=ts.hasOwnProperty;function baseKeysIn(Me){if(!zn(Me)){return Ci(Me)}var Bn=ni(Me),Hn=[];for(var ts in Me){if(!(ts=="constructor"&&(Bn||!Ps.call(Me,ts)))){Hn.push(ts)}}return Hn}Me.exports=baseKeysIn},44503:(Me,Bn,Hn)=>{var zn=Hn(11616),ni=Hn(75119);function baseMap(Me,Bn){var Hn=-1,Ci=ni(Me)?Array(Me.length):[];zn(Me,(function(Me,zn,ni){Ci[++Hn]=Bn(Me,zn,ni)}));return Ci}Me.exports=baseMap},21244:(Me,Bn,Hn)=>{var zn=Hn(67792),ni=Hn(69081),Ci=Hn(78218);function baseMatches(Me){var Bn=ni(Me);if(Bn.length==1&&Bn[0][2]){return Ci(Bn[0][0],Bn[0][1])}return function(Hn){return Hn===Me||zn(Hn,Me,Bn)}}Me.exports=baseMatches},66481:(Me,Bn,Hn)=>{var zn=Hn(95777),ni=Hn(40181),Ci=Hn(66306),ts=Hn(20897),Ps=Hn(12757),aa=Hn(78218),oa=Hn(95086);var ca=1,_a=2;function baseMatchesProperty(Me,Bn){if(ts(Me)&&Ps(Bn)){return aa(oa(Me),Bn)}return function(Hn){var ts=ni(Hn,Me);return ts===undefined&&ts===Bn?Ci(Hn,Me):zn(Bn,ts,ca|_a)}}Me.exports=baseMatchesProperty},47313:(Me,Bn,Hn)=>{var zn=Hn(73262),ni=Hn(12872),Ci=Hn(26798),ts=Hn(20763),Ps=Hn(96482),aa=Hn(19430),oa=Hn(1589);function baseMerge(Me,Bn,Hn,ca,_a){if(Me===Bn){return}Ci(Bn,(function(Ci,aa){_a||(_a=new zn);if(Ps(Ci)){ts(Me,Bn,aa,Hn,baseMerge,ca,_a)}else{var xa=ca?ca(oa(Me,aa),Ci,aa+"",Me,Bn,_a):undefined;if(xa===undefined){xa=Ci}ni(Me,aa,xa)}}),aa)}Me.exports=baseMerge},20763:(Me,Bn,Hn)=>{var zn=Hn(12872),ni=Hn(165),Ci=Hn(60946),ts=Hn(77560),Ps=Hn(20866),aa=Hn(60541),oa=Hn(77192),ca=Hn(97100),_a=Hn(43739),xa=Hn(34329),Ga=Hn(96482),Ha=Hn(36542),so=Hn(35e3),oo=Hn(1589),Jo=Hn(88485);function baseMergeDeep(Me,Bn,Hn,tc,dc,Fc,Jc){var Dp=oo(Me,Hn),kp=oo(Bn,Hn),Qp=Jc.get(kp);if(Qp){zn(Me,Hn,Qp);return}var Up=Fc?Fc(Dp,kp,Hn+"",Me,Bn,Jc):undefined;var Vp=Up===undefined;if(Vp){var qp=oa(kp),Jp=!qp&&_a(kp),Wp=!qp&&!Jp&&so(kp);Up=kp;if(qp||Jp||Wp){if(oa(Dp)){Up=Dp}else if(ca(Dp)){Up=ts(Dp)}else if(Jp){Vp=false;Up=ni(kp,true)}else if(Wp){Vp=false;Up=Ci(kp,true)}else{Up=[]}}else if(Ha(kp)||aa(kp)){Up=Dp;if(aa(Dp)){Up=Jo(Dp)}else if(!Ga(Dp)||xa(Dp)){Up=Ps(kp)}}else{Vp=false}}if(Vp){Jc.set(kp,Up);dc(Up,kp,tc,Fc,Jc);Jc["delete"](kp)}zn(Me,Hn,Up)}Me.exports=baseMergeDeep},89196:(Me,Bn,Hn)=>{var zn=Hn(56649),ni=Hn(40877),Ci=Hn(47988),ts=Hn(44503),Ps=Hn(22388),aa=Hn(55506),oa=Hn(37073),ca=Hn(46851),_a=Hn(77192);function baseOrderBy(Me,Bn,Hn){if(Bn.length){Bn=zn(Bn,(function(Me){if(_a(Me)){return function(Bn){return ni(Bn,Me.length===1?Me[0]:Me)}}return Me}))}else{Bn=[ca]}var xa=-1;Bn=zn(Bn,aa(Ci));var Ga=ts(Me,(function(Me,Hn,ni){var Ci=zn(Bn,(function(Bn){return Bn(Me)}));return{criteria:Ci,index:++xa,value:Me}}));return Ps(Ga,(function(Me,Bn){return oa(Me,Bn,Hn)}))}Me.exports=baseOrderBy},49996:(Me,Bn,Hn)=>{var zn=Hn(72237),ni=Hn(66306);function basePick(Me,Bn){return zn(Me,Bn,(function(Bn,Hn){return ni(Me,Hn)}))}Me.exports=basePick},72237:(Me,Bn,Hn)=>{var zn=Hn(40877),ni=Hn(26057),Ci=Hn(77336);function basePickBy(Me,Bn,Hn){var ts=-1,Ps=Bn.length,aa={};while(++ts{function baseProperty(Me){return function(Bn){return Bn==null?undefined:Bn[Me]}}Me.exports=baseProperty},32310:(Me,Bn,Hn)=>{var zn=Hn(40877);function basePropertyDeep(Me){return function(Bn){return zn(Bn,Me)}}Me.exports=basePropertyDeep},22035:(Me,Bn,Hn)=>{var zn=Hn(46851),ni=Hn(20168),Ci=Hn(59402);function baseRest(Me,Bn){return Ci(ni(Me,Bn,zn),Me+"")}Me.exports=baseRest},26057:(Me,Bn,Hn)=>{var zn=Hn(99128),ni=Hn(77336),Ci=Hn(37446),ts=Hn(96482),Ps=Hn(95086);function baseSet(Me,Bn,Hn,aa){if(!ts(Me)){return Me}Bn=ni(Bn,Me);var oa=-1,ca=Bn.length,_a=ca-1,xa=Me;while(xa!=null&&++oa{var zn=Hn(85089),ni=Hn(83106),Ci=Hn(46851);var ts=!ni?Ci:function(Me,Bn){return ni(Me,"toString",{configurable:true,enumerable:false,value:zn(Bn),writable:true})};Me.exports=ts},37115:Me=>{function baseSlice(Me,Bn,Hn){var zn=-1,ni=Me.length;if(Bn<0){Bn=-Bn>ni?0:ni+Bn}Hn=Hn>ni?ni:Hn;if(Hn<0){Hn+=ni}ni=Bn>Hn?0:Hn-Bn>>>0;Bn>>>=0;var Ci=Array(ni);while(++zn{function baseSortBy(Me,Bn){var Hn=Me.length;Me.sort(Bn);while(Hn--){Me[Hn]=Me[Hn].value}return Me}Me.exports=baseSortBy},96834:Me=>{function baseSum(Me,Bn){var Hn,zn=-1,ni=Me.length;while(++zn{function baseTimes(Me,Bn){var Hn=-1,zn=Array(Me);while(++Hn{var zn=Hn(38584),ni=Hn(56649),Ci=Hn(77192),ts=Hn(70661);var Ps=1/0;var aa=zn?zn.prototype:undefined,oa=aa?aa.toString:undefined;function baseToString(Me){if(typeof Me=="string"){return Me}if(Ci(Me)){return ni(Me,baseToString)+""}if(ts(Me)){return oa?oa.call(Me):""}var Bn=Me+"";return Bn=="0"&&1/Me==-Ps?"-0":Bn}Me.exports=baseToString},14441:(Me,Bn,Hn)=>{var zn=Hn(54395);var ni=/^\s+/;function baseTrim(Me){return Me?Me.slice(0,zn(Me)+1).replace(ni,""):Me}Me.exports=baseTrim},55506:Me=>{function baseUnary(Me){return function(Bn){return Me(Bn)}}Me.exports=baseUnary},86344:(Me,Bn,Hn)=>{var zn=Hn(77336),ni=Hn(14781),Ci=Hn(94240),ts=Hn(95086);var Ps=Object.prototype;var aa=Ps.hasOwnProperty;function baseUnset(Me,Bn){Bn=zn(Bn,Me);var Hn=-1,Ps=Bn.length;if(!Ps){return true}var oa=Me==null||typeof Me!=="object"&&typeof Me!=="function";while(++Hn{function cacheHas(Me,Bn){return Me.has(Bn)}Me.exports=cacheHas},77336:(Me,Bn,Hn)=>{var zn=Hn(77192),ni=Hn(20897),Ci=Hn(72187),ts=Hn(87233);function castPath(Me,Bn){if(zn(Me)){return Me}return ni(Me,Bn)?[Me]:Ci(ts(Me))}Me.exports=castPath},71336:(Me,Bn,Hn)=>{var zn=Hn(59525);function cloneArrayBuffer(Me){var Bn=new Me.constructor(Me.byteLength);new zn(Bn).set(new zn(Me));return Bn}Me.exports=cloneArrayBuffer},165:(Me,Bn,Hn)=>{Me=Hn.nmd(Me);var zn=Hn(6748);var ni=true&&Bn&&!Bn.nodeType&&Bn;var Ci=ni&&"object"=="object"&&Me&&!Me.nodeType&&Me;var ts=Ci&&Ci.exports===ni;var Ps=ts?zn.Buffer:undefined,aa=Ps?Ps.allocUnsafe:undefined;function cloneBuffer(Me,Bn){if(Bn){return Me.slice()}var Hn=Me.length,zn=aa?aa(Hn):new Me.constructor(Hn);Me.copy(zn);return zn}Me.exports=cloneBuffer},20114:(Me,Bn,Hn)=>{var zn=Hn(71336);function cloneDataView(Me,Bn){var Hn=Bn?zn(Me.buffer):Me.buffer;return new Me.constructor(Hn,Me.byteOffset,Me.byteLength)}Me.exports=cloneDataView},14798:Me=>{var Bn=/\w*$/;function cloneRegExp(Me){var Hn=new Me.constructor(Me.source,Bn.exec(Me));Hn.lastIndex=Me.lastIndex;return Hn}Me.exports=cloneRegExp},10539:(Me,Bn,Hn)=>{var zn=Hn(38584);var ni=zn?zn.prototype:undefined,Ci=ni?ni.valueOf:undefined;function cloneSymbol(Me){return Ci?Object(Ci.call(Me)):{}}Me.exports=cloneSymbol},60946:(Me,Bn,Hn)=>{var zn=Hn(71336);function cloneTypedArray(Me,Bn){var Hn=Bn?zn(Me.buffer):Me.buffer;return new Me.constructor(Hn,Me.byteOffset,Me.length)}Me.exports=cloneTypedArray},63427:(Me,Bn,Hn)=>{var zn=Hn(70661);function compareAscending(Me,Bn){if(Me!==Bn){var Hn=Me!==undefined,ni=Me===null,Ci=Me===Me,ts=zn(Me);var Ps=Bn!==undefined,aa=Bn===null,oa=Bn===Bn,ca=zn(Bn);if(!aa&&!ca&&!ts&&Me>Bn||ts&&Ps&&oa&&!aa&&!ca||ni&&Ps&&oa||!Hn&&oa||!Ci){return 1}if(!ni&&!ts&&!ca&&Me{var zn=Hn(63427);function compareMultiple(Me,Bn,Hn){var ni=-1,Ci=Me.criteria,ts=Bn.criteria,Ps=Ci.length,aa=Hn.length;while(++ni=aa){return oa}var ca=Hn[ni];return oa*(ca=="desc"?-1:1)}}return Me.index-Bn.index}Me.exports=compareMultiple},77560:Me=>{function copyArray(Me,Bn){var Hn=-1,zn=Me.length;Bn||(Bn=Array(zn));while(++Hn{var zn=Hn(99128),ni=Hn(63579);function copyObject(Me,Bn,Hn,Ci){var ts=!Hn;Hn||(Hn={});var Ps=-1,aa=Bn.length;while(++Ps{var zn=Hn(69330),ni=Hn(65889);function copySymbols(Me,Bn){return zn(Me,ni(Me),Bn)}Me.exports=copySymbols},61935:(Me,Bn,Hn)=>{var zn=Hn(69330),ni=Hn(99882);function copySymbolsIn(Me,Bn){return zn(Me,ni(Me),Bn)}Me.exports=copySymbolsIn},60252:(Me,Bn,Hn)=>{var zn=Hn(6748);var ni=zn["__core-js_shared__"];Me.exports=ni},8070:(Me,Bn,Hn)=>{var zn=Hn(22035),ni=Hn(3349);function createAssigner(Me){return zn((function(Bn,Hn){var zn=-1,Ci=Hn.length,ts=Ci>1?Hn[Ci-1]:undefined,Ps=Ci>2?Hn[2]:undefined;ts=Me.length>3&&typeof ts=="function"?(Ci--,ts):undefined;if(Ps&&ni(Hn[0],Hn[1],Ps)){ts=Ci<3?undefined:ts;Ci=1}Bn=Object(Bn);while(++zn{var zn=Hn(75119);function createBaseEach(Me,Bn){return function(Hn,ni){if(Hn==null){return Hn}if(!zn(Hn)){return Me(Hn,ni)}var Ci=Hn.length,ts=Bn?Ci:-1,Ps=Object(Hn);while(Bn?ts--:++ts{function createBaseFor(Me){return function(Bn,Hn,zn){var ni=-1,Ci=Object(Bn),ts=zn(Bn),Ps=ts.length;while(Ps--){var aa=ts[Me?Ps:++ni];if(Hn(Ci[aa],aa,Ci)===false){break}}return Bn}}Me.exports=createBaseFor},9429:(Me,Bn,Hn)=>{var zn=Hn(36542);function customOmitClone(Me){return zn(Me)?undefined:Me}Me.exports=customOmitClone},83106:(Me,Bn,Hn)=>{var zn=Hn(68573);var ni=function(){try{var Me=zn(Object,"defineProperty");Me({},"",{});return Me}catch(Me){}}();Me.exports=ni},5248:(Me,Bn,Hn)=>{var zn=Hn(23706),ni=Hn(90935),Ci=Hn(64486);var ts=1,Ps=2;function equalArrays(Me,Bn,Hn,aa,oa,ca){var _a=Hn&ts,xa=Me.length,Ga=Bn.length;if(xa!=Ga&&!(_a&&Ga>xa)){return false}var Ha=ca.get(Me);var so=ca.get(Bn);if(Ha&&so){return Ha==Bn&&so==Me}var oo=-1,Jo=true,tc=Hn&Ps?new zn:undefined;ca.set(Me,Bn);ca.set(Bn,Me);while(++oo{var zn=Hn(38584),ni=Hn(59525),Ci=Hn(75199),ts=Hn(5248),Ps=Hn(43428),aa=Hn(11894);var oa=1,ca=2;var _a="[object Boolean]",xa="[object Date]",Ga="[object Error]",Ha="[object Map]",so="[object Number]",oo="[object RegExp]",Jo="[object Set]",tc="[object String]",dc="[object Symbol]";var Fc="[object ArrayBuffer]",Jc="[object DataView]";var Dp=zn?zn.prototype:undefined,kp=Dp?Dp.valueOf:undefined;function equalByTag(Me,Bn,Hn,zn,Dp,Qp,Up){switch(Hn){case Jc:if(Me.byteLength!=Bn.byteLength||Me.byteOffset!=Bn.byteOffset){return false}Me=Me.buffer;Bn=Bn.buffer;case Fc:if(Me.byteLength!=Bn.byteLength||!Qp(new ni(Me),new ni(Bn))){return false}return true;case _a:case xa:case so:return Ci(+Me,+Bn);case Ga:return Me.name==Bn.name&&Me.message==Bn.message;case oo:case tc:return Me==Bn+"";case Ha:var Vp=Ps;case Jo:var qp=zn&oa;Vp||(Vp=aa);if(Me.size!=Bn.size&&!qp){return false}var Jp=Up.get(Me);if(Jp){return Jp==Bn}zn|=ca;Up.set(Me,Bn);var Wp=ts(Vp(Me),Vp(Bn),zn,Dp,Qp,Up);Up["delete"](Me);return Wp;case dc:if(kp){return kp.call(Me)==kp.call(Bn)}}return false}Me.exports=equalByTag},52500:(Me,Bn,Hn)=>{var zn=Hn(78479);var ni=1;var Ci=Object.prototype;var ts=Ci.hasOwnProperty;function equalObjects(Me,Bn,Hn,Ci,Ps,aa){var oa=Hn&ni,ca=zn(Me),_a=ca.length,xa=zn(Bn),Ga=xa.length;if(_a!=Ga&&!oa){return false}var Ha=_a;while(Ha--){var so=ca[Ha];if(!(oa?so in Bn:ts.call(Bn,so))){return false}}var oo=aa.get(Me);var Jo=aa.get(Bn);if(oo&&Jo){return oo==Bn&&Jo==Me}var tc=true;aa.set(Me,Bn);aa.set(Bn,Me);var dc=oa;while(++Ha<_a){so=ca[Ha];var Fc=Me[so],Jc=Bn[so];if(Ci){var Dp=oa?Ci(Jc,Fc,so,Bn,Me,aa):Ci(Fc,Jc,so,Me,Bn,aa)}if(!(Dp===undefined?Fc===Jc||Ps(Fc,Jc,Hn,Ci,aa):Dp)){tc=false;break}dc||(dc=so=="constructor")}if(tc&&!dc){var kp=Me.constructor,Qp=Bn.constructor;if(kp!=Qp&&("constructor"in Me&&"constructor"in Bn)&&!(typeof kp=="function"&&kp instanceof kp&&typeof Qp=="function"&&Qp instanceof Qp)){tc=false}}aa["delete"](Me);aa["delete"](Bn);return tc}Me.exports=equalObjects},8389:(Me,Bn,Hn)=>{var zn=Hn(97047),ni=Hn(20168),Ci=Hn(59402);function flatRest(Me){return Ci(ni(Me,undefined,zn),Me+"")}Me.exports=flatRest},78997:Me=>{var Bn=typeof global=="object"&&global&&global.Object===Object&&global;Me.exports=Bn},78479:(Me,Bn,Hn)=>{var zn=Hn(24586),ni=Hn(65889),Ci=Hn(26741);function getAllKeys(Me){return zn(Me,Ci,ni)}Me.exports=getAllKeys},17172:(Me,Bn,Hn)=>{var zn=Hn(24586),ni=Hn(99882),Ci=Hn(19430);function getAllKeysIn(Me){return zn(Me,Ci,ni)}Me.exports=getAllKeysIn},1194:(Me,Bn,Hn)=>{var zn=Hn(93245);function getMapData(Me,Bn){var Hn=Me.__data__;return zn(Bn)?Hn[typeof Bn=="string"?"string":"hash"]:Hn.map}Me.exports=getMapData},69081:(Me,Bn,Hn)=>{var zn=Hn(12757),ni=Hn(26741);function getMatchData(Me){var Bn=ni(Me),Hn=Bn.length;while(Hn--){var Ci=Bn[Hn],ts=Me[Ci];Bn[Hn]=[Ci,ts,zn(ts)]}return Bn}Me.exports=getMatchData},68573:(Me,Bn,Hn)=>{var zn=Hn(92334),ni=Hn(8293);function getNative(Me,Bn){var Hn=ni(Me,Bn);return zn(Hn)?Hn:undefined}Me.exports=getNative},86194:(Me,Bn,Hn)=>{var zn=Hn(61128);var ni=zn(Object.getPrototypeOf,Object);Me.exports=ni},95292:(Me,Bn,Hn)=>{var zn=Hn(38584);var ni=Object.prototype;var Ci=ni.hasOwnProperty;var ts=ni.toString;var Ps=zn?zn.toStringTag:undefined;function getRawTag(Me){var Bn=Ci.call(Me,Ps),Hn=Me[Ps];try{Me[Ps]=undefined;var zn=true}catch(Me){}var ni=ts.call(Me);if(zn){if(Bn){Me[Ps]=Hn}else{delete Me[Ps]}}return ni}Me.exports=getRawTag},65889:(Me,Bn,Hn)=>{var zn=Hn(78573),ni=Hn(43400);var Ci=Object.prototype;var ts=Ci.propertyIsEnumerable;var Ps=Object.getOwnPropertySymbols;var aa=!Ps?ni:function(Me){if(Me==null){return[]}Me=Object(Me);return zn(Ps(Me),(function(Bn){return ts.call(Me,Bn)}))};Me.exports=aa},99882:(Me,Bn,Hn)=>{var zn=Hn(50827),ni=Hn(86194),Ci=Hn(65889),ts=Hn(43400);var Ps=Object.getOwnPropertySymbols;var aa=!Ps?ts:function(Me){var Bn=[];while(Me){zn(Bn,Ci(Me));Me=ni(Me)}return Bn};Me.exports=aa},44512:(Me,Bn,Hn)=>{var zn=Hn(47033),ni=Hn(98272),Ci=Hn(4455),ts=Hn(84986),Ps=Hn(97364),aa=Hn(29117),oa=Hn(57192);var ca="[object Map]",_a="[object Object]",xa="[object Promise]",Ga="[object Set]",Ha="[object WeakMap]";var so="[object DataView]";var oo=oa(zn),Jo=oa(ni),tc=oa(Ci),dc=oa(ts),Fc=oa(Ps);var Jc=aa;if(zn&&Jc(new zn(new ArrayBuffer(1)))!=so||ni&&Jc(new ni)!=ca||Ci&&Jc(Ci.resolve())!=xa||ts&&Jc(new ts)!=Ga||Ps&&Jc(new Ps)!=Ha){Jc=function(Me){var Bn=aa(Me),Hn=Bn==_a?Me.constructor:undefined,zn=Hn?oa(Hn):"";if(zn){switch(zn){case oo:return so;case Jo:return ca;case tc:return xa;case dc:return Ga;case Fc:return Ha}}return Bn}}Me.exports=Jc},8293:Me=>{function getValue(Me,Bn){return Me==null?undefined:Me[Bn]}Me.exports=getValue},48253:(Me,Bn,Hn)=>{var zn=Hn(77336),ni=Hn(60541),Ci=Hn(77192),ts=Hn(37446),Ps=Hn(56657),aa=Hn(95086);function hasPath(Me,Bn,Hn){Bn=zn(Bn,Me);var oa=-1,ca=Bn.length,_a=false;while(++oa{var zn=Hn(71563);function hashClear(){this.__data__=zn?zn(null):{};this.size=0}Me.exports=hashClear},15431:Me=>{function hashDelete(Me){var Bn=this.has(Me)&&delete this.__data__[Me];this.size-=Bn?1:0;return Bn}Me.exports=hashDelete},26934:(Me,Bn,Hn)=>{var zn=Hn(71563);var ni="__lodash_hash_undefined__";var Ci=Object.prototype;var ts=Ci.hasOwnProperty;function hashGet(Me){var Bn=this.__data__;if(zn){var Hn=Bn[Me];return Hn===ni?undefined:Hn}return ts.call(Bn,Me)?Bn[Me]:undefined}Me.exports=hashGet},64306:(Me,Bn,Hn)=>{var zn=Hn(71563);var ni=Object.prototype;var Ci=ni.hasOwnProperty;function hashHas(Me){var Bn=this.__data__;return zn?Bn[Me]!==undefined:Ci.call(Bn,Me)}Me.exports=hashHas},17226:(Me,Bn,Hn)=>{var zn=Hn(71563);var ni="__lodash_hash_undefined__";function hashSet(Me,Bn){var Hn=this.__data__;this.size+=this.has(Me)?0:1;Hn[Me]=zn&&Bn===undefined?ni:Bn;return this}Me.exports=hashSet},43688:Me=>{var Bn=Object.prototype;var Hn=Bn.hasOwnProperty;function initCloneArray(Me){var Bn=Me.length,zn=new Me.constructor(Bn);if(Bn&&typeof Me[0]=="string"&&Hn.call(Me,"index")){zn.index=Me.index;zn.input=Me.input}return zn}Me.exports=initCloneArray},75906:(Me,Bn,Hn)=>{var zn=Hn(71336),ni=Hn(20114),Ci=Hn(14798),ts=Hn(10539),Ps=Hn(60946);var aa="[object Boolean]",oa="[object Date]",ca="[object Map]",_a="[object Number]",xa="[object RegExp]",Ga="[object Set]",Ha="[object String]",so="[object Symbol]";var oo="[object ArrayBuffer]",Jo="[object DataView]",tc="[object Float32Array]",dc="[object Float64Array]",Fc="[object Int8Array]",Jc="[object Int16Array]",Dp="[object Int32Array]",kp="[object Uint8Array]",Qp="[object Uint8ClampedArray]",Up="[object Uint16Array]",Vp="[object Uint32Array]";function initCloneByTag(Me,Bn,Hn){var qp=Me.constructor;switch(Bn){case oo:return zn(Me);case aa:case oa:return new qp(+Me);case Jo:return ni(Me,Hn);case tc:case dc:case Fc:case Jc:case Dp:case kp:case Qp:case Up:case Vp:return Ps(Me,Hn);case ca:return new qp;case _a:case Ha:return new qp(Me);case xa:return Ci(Me);case Ga:return new qp;case so:return ts(Me)}}Me.exports=initCloneByTag},20866:(Me,Bn,Hn)=>{var zn=Hn(33733),ni=Hn(86194),Ci=Hn(55944);function initCloneObject(Me){return typeof Me.constructor=="function"&&!Ci(Me)?zn(ni(Me)):{}}Me.exports=initCloneObject},45088:(Me,Bn,Hn)=>{var zn=Hn(38584),ni=Hn(60541),Ci=Hn(77192);var ts=zn?zn.isConcatSpreadable:undefined;function isFlattenable(Me){return Ci(Me)||ni(Me)||!!(ts&&Me&&Me[ts])}Me.exports=isFlattenable},37446:Me=>{var Bn=9007199254740991;var Hn=/^(?:0|[1-9]\d*)$/;function isIndex(Me,zn){var ni=typeof Me;zn=zn==null?Bn:zn;return!!zn&&(ni=="number"||ni!="symbol"&&Hn.test(Me))&&(Me>-1&&Me%1==0&&Me{var zn=Hn(75199),ni=Hn(75119),Ci=Hn(37446),ts=Hn(96482);function isIterateeCall(Me,Bn,Hn){if(!ts(Hn)){return false}var Ps=typeof Bn;if(Ps=="number"?ni(Hn)&&Ci(Bn,Hn.length):Ps=="string"&&Bn in Hn){return zn(Hn[Bn],Me)}return false}Me.exports=isIterateeCall},20897:(Me,Bn,Hn)=>{var zn=Hn(77192),ni=Hn(70661);var Ci=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ts=/^\w*$/;function isKey(Me,Bn){if(zn(Me)){return false}var Hn=typeof Me;if(Hn=="number"||Hn=="symbol"||Hn=="boolean"||Me==null||ni(Me)){return true}return ts.test(Me)||!Ci.test(Me)||Bn!=null&&Me in Object(Bn)}Me.exports=isKey},93245:Me=>{function isKeyable(Me){var Bn=typeof Me;return Bn=="string"||Bn=="number"||Bn=="symbol"||Bn=="boolean"?Me!=="__proto__":Me===null}Me.exports=isKeyable},46613:(Me,Bn,Hn)=>{var zn=Hn(60252);var ni=function(){var Me=/[^.]+$/.exec(zn&&zn.keys&&zn.keys.IE_PROTO||"");return Me?"Symbol(src)_1."+Me:""}();function isMasked(Me){return!!ni&&ni in Me}Me.exports=isMasked},55944:Me=>{var Bn=Object.prototype;function isPrototype(Me){var Hn=Me&&Me.constructor,zn=typeof Hn=="function"&&Hn.prototype||Bn;return Me===zn}Me.exports=isPrototype},12757:(Me,Bn,Hn)=>{var zn=Hn(96482);function isStrictComparable(Me){return Me===Me&&!zn(Me)}Me.exports=isStrictComparable},99791:Me=>{function listCacheClear(){this.__data__=[];this.size=0}Me.exports=listCacheClear},24555:(Me,Bn,Hn)=>{var zn=Hn(74024);var ni=Array.prototype;var Ci=ni.splice;function listCacheDelete(Me){var Bn=this.__data__,Hn=zn(Bn,Me);if(Hn<0){return false}var ni=Bn.length-1;if(Hn==ni){Bn.pop()}else{Ci.call(Bn,Hn,1)}--this.size;return true}Me.exports=listCacheDelete},86634:(Me,Bn,Hn)=>{var zn=Hn(74024);function listCacheGet(Me){var Bn=this.__data__,Hn=zn(Bn,Me);return Hn<0?undefined:Bn[Hn][1]}Me.exports=listCacheGet},8430:(Me,Bn,Hn)=>{var zn=Hn(74024);function listCacheHas(Me){return zn(this.__data__,Me)>-1}Me.exports=listCacheHas},36918:(Me,Bn,Hn)=>{var zn=Hn(74024);function listCacheSet(Me,Bn){var Hn=this.__data__,ni=zn(Hn,Me);if(ni<0){++this.size;Hn.push([Me,Bn])}else{Hn[ni][1]=Bn}return this}Me.exports=listCacheSet},88487:(Me,Bn,Hn)=>{var zn=Hn(66320),ni=Hn(68884),Ci=Hn(98272);function mapCacheClear(){this.size=0;this.__data__={hash:new zn,map:new(Ci||ni),string:new zn}}Me.exports=mapCacheClear},36275:(Me,Bn,Hn)=>{var zn=Hn(1194);function mapCacheDelete(Me){var Bn=zn(this,Me)["delete"](Me);this.size-=Bn?1:0;return Bn}Me.exports=mapCacheDelete},30130:(Me,Bn,Hn)=>{var zn=Hn(1194);function mapCacheGet(Me){return zn(this,Me).get(Me)}Me.exports=mapCacheGet},69254:(Me,Bn,Hn)=>{var zn=Hn(1194);function mapCacheHas(Me){return zn(this,Me).has(Me)}Me.exports=mapCacheHas},59806:(Me,Bn,Hn)=>{var zn=Hn(1194);function mapCacheSet(Me,Bn){var Hn=zn(this,Me),ni=Hn.size;Hn.set(Me,Bn);this.size+=Hn.size==ni?0:1;return this}Me.exports=mapCacheSet},43428:Me=>{function mapToArray(Me){var Bn=-1,Hn=Array(Me.size);Me.forEach((function(Me,zn){Hn[++Bn]=[zn,Me]}));return Hn}Me.exports=mapToArray},78218:Me=>{function matchesStrictComparable(Me,Bn){return function(Hn){if(Hn==null){return false}return Hn[Me]===Bn&&(Bn!==undefined||Me in Object(Hn))}}Me.exports=matchesStrictComparable},41471:(Me,Bn,Hn)=>{var zn=Hn(24769);var ni=500;function memoizeCapped(Me){var Bn=zn(Me,(function(Me){if(Hn.size===ni){Hn.clear()}return Me}));var Hn=Bn.cache;return Bn}Me.exports=memoizeCapped},71563:(Me,Bn,Hn)=>{var zn=Hn(68573);var ni=zn(Object,"create");Me.exports=ni},63787:(Me,Bn,Hn)=>{var zn=Hn(61128);var ni=zn(Object.keys,Object);Me.exports=ni},94008:Me=>{function nativeKeysIn(Me){var Bn=[];if(Me!=null){for(var Hn in Object(Me)){Bn.push(Hn)}}return Bn}Me.exports=nativeKeysIn},88724:(Me,Bn,Hn)=>{Me=Hn.nmd(Me);var zn=Hn(78997);var ni=true&&Bn&&!Bn.nodeType&&Bn;var Ci=ni&&"object"=="object"&&Me&&!Me.nodeType&&Me;var ts=Ci&&Ci.exports===ni;var Ps=ts&&zn.process;var aa=function(){try{var Me=Ci&&Ci.require&&Ci.require("util").types;if(Me){return Me}return Ps&&Ps.binding&&Ps.binding("util")}catch(Me){}}();Me.exports=aa},71723:Me=>{var Bn=Object.prototype;var Hn=Bn.toString;function objectToString(Me){return Hn.call(Me)}Me.exports=objectToString},61128:Me=>{function overArg(Me,Bn){return function(Hn){return Me(Bn(Hn))}}Me.exports=overArg},20168:(Me,Bn,Hn)=>{var zn=Hn(59678);var ni=Math.max;function overRest(Me,Bn,Hn){Bn=ni(Bn===undefined?Me.length-1:Bn,0);return function(){var Ci=arguments,ts=-1,Ps=ni(Ci.length-Bn,0),aa=Array(Ps);while(++ts{var zn=Hn(40877),ni=Hn(37115);function parent(Me,Bn){return Bn.length<2?Me:zn(Me,ni(Bn,0,-1))}Me.exports=parent},6748:(Me,Bn,Hn)=>{var zn=Hn(78997);var ni=typeof self=="object"&&self&&self.Object===Object&&self;var Ci=zn||ni||Function("return this")();Me.exports=Ci},1589:Me=>{function safeGet(Me,Bn){if(Bn==="constructor"&&typeof Me[Bn]==="function"){return}if(Bn=="__proto__"){return}return Me[Bn]}Me.exports=safeGet},44671:Me=>{var Bn="__lodash_hash_undefined__";function setCacheAdd(Me){this.__data__.set(Me,Bn);return this}Me.exports=setCacheAdd},71884:Me=>{function setCacheHas(Me){return this.__data__.has(Me)}Me.exports=setCacheHas},11894:Me=>{function setToArray(Me){var Bn=-1,Hn=Array(Me.size);Me.forEach((function(Me){Hn[++Bn]=Me}));return Hn}Me.exports=setToArray},59402:(Me,Bn,Hn)=>{var zn=Hn(64953),ni=Hn(83286);var Ci=ni(zn);Me.exports=Ci},83286:Me=>{var Bn=800,Hn=16;var zn=Date.now;function shortOut(Me){var ni=0,Ci=0;return function(){var ts=zn(),Ps=Hn-(ts-Ci);Ci=ts;if(Ps>0){if(++ni>=Bn){return arguments[0]}}else{ni=0}return Me.apply(undefined,arguments)}}Me.exports=shortOut},91509:(Me,Bn,Hn)=>{var zn=Hn(68884);function stackClear(){this.__data__=new zn;this.size=0}Me.exports=stackClear},837:Me=>{function stackDelete(Me){var Bn=this.__data__,Hn=Bn["delete"](Me);this.size=Bn.size;return Hn}Me.exports=stackDelete},46572:Me=>{function stackGet(Me){return this.__data__.get(Me)}Me.exports=stackGet},66216:Me=>{function stackHas(Me){return this.__data__.has(Me)}Me.exports=stackHas},51976:(Me,Bn,Hn)=>{var zn=Hn(68884),ni=Hn(98272),Ci=Hn(79660);var ts=200;function stackSet(Me,Bn){var Hn=this.__data__;if(Hn instanceof zn){var Ps=Hn.__data__;if(!ni||Ps.length{var zn=Hn(41471);var ni=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;var Ci=/\\(\\)?/g;var ts=zn((function(Me){var Bn=[];if(Me.charCodeAt(0)===46){Bn.push("")}Me.replace(ni,(function(Me,Hn,zn,ni){Bn.push(zn?ni.replace(Ci,"$1"):Hn||Me)}));return Bn}));Me.exports=ts},95086:(Me,Bn,Hn)=>{var zn=Hn(70661);var ni=1/0;function toKey(Me){if(typeof Me=="string"||zn(Me)){return Me}var Bn=Me+"";return Bn=="0"&&1/Me==-ni?"-0":Bn}Me.exports=toKey},57192:Me=>{var Bn=Function.prototype;var Hn=Bn.toString;function toSource(Me){if(Me!=null){try{return Hn.call(Me)}catch(Me){}try{return Me+""}catch(Me){}}return""}Me.exports=toSource},54395:Me=>{var Bn=/\s/;function trimmedEndIndex(Me){var Hn=Me.length;while(Hn--&&Bn.test(Me.charAt(Hn))){}return Hn}Me.exports=trimmedEndIndex},80542:(Me,Bn,Hn)=>{var zn=Hn(62504);var ni=1,Ci=4;function cloneDeep(Me){return zn(Me,ni|Ci)}Me.exports=cloneDeep},85089:Me=>{function constant(Me){return function(){return Me}}Me.exports=constant},75199:Me=>{function eq(Me,Bn){return Me===Bn||Me!==Me&&Bn!==Bn}Me.exports=eq},19263:(Me,Bn,Hn)=>{var zn=Hn(78573),ni=Hn(39143),Ci=Hn(47988),ts=Hn(77192);function filter(Me,Bn){var Hn=ts(Me)?zn:ni;return Hn(Me,Ci(Bn,3))}Me.exports=filter},97047:(Me,Bn,Hn)=>{var zn=Hn(63183);function flatten(Me){var Bn=Me==null?0:Me.length;return Bn?zn(Me,1):[]}Me.exports=flatten},40181:(Me,Bn,Hn)=>{var zn=Hn(40877);function get(Me,Bn,Hn){var ni=Me==null?undefined:zn(Me,Bn);return ni===undefined?Hn:ni}Me.exports=get},66306:(Me,Bn,Hn)=>{var zn=Hn(6186),ni=Hn(48253);function hasIn(Me,Bn){return Me!=null&&ni(Me,Bn,zn)}Me.exports=hasIn},46851:Me=>{function identity(Me){return Me}Me.exports=identity},60541:(Me,Bn,Hn)=>{var zn=Hn(93605),ni=Hn(51645);var Ci=Object.prototype;var ts=Ci.hasOwnProperty;var Ps=Ci.propertyIsEnumerable;var aa=zn(function(){return arguments}())?zn:function(Me){return ni(Me)&&ts.call(Me,"callee")&&!Ps.call(Me,"callee")};Me.exports=aa},77192:Me=>{var Bn=Array.isArray;Me.exports=Bn},75119:(Me,Bn,Hn)=>{var zn=Hn(34329),ni=Hn(56657);function isArrayLike(Me){return Me!=null&&ni(Me.length)&&!zn(Me)}Me.exports=isArrayLike},97100:(Me,Bn,Hn)=>{var zn=Hn(75119),ni=Hn(51645);function isArrayLikeObject(Me){return ni(Me)&&zn(Me)}Me.exports=isArrayLikeObject},43739:(Me,Bn,Hn)=>{Me=Hn.nmd(Me);var zn=Hn(6748),ni=Hn(92074);var Ci=true&&Bn&&!Bn.nodeType&&Bn;var ts=Ci&&"object"=="object"&&Me&&!Me.nodeType&&Me;var Ps=ts&&ts.exports===Ci;var aa=Ps?zn.Buffer:undefined;var oa=aa?aa.isBuffer:undefined;var ca=oa||ni;Me.exports=ca},34329:(Me,Bn,Hn)=>{var zn=Hn(29117),ni=Hn(96482);var Ci="[object AsyncFunction]",ts="[object Function]",Ps="[object GeneratorFunction]",aa="[object Proxy]";function isFunction(Me){if(!ni(Me)){return false}var Bn=zn(Me);return Bn==ts||Bn==Ps||Bn==Ci||Bn==aa}Me.exports=isFunction},56657:Me=>{var Bn=9007199254740991;function isLength(Me){return typeof Me=="number"&&Me>-1&&Me%1==0&&Me<=Bn}Me.exports=isLength},85995:(Me,Bn,Hn)=>{var zn=Hn(66051),ni=Hn(55506),Ci=Hn(88724);var ts=Ci&&Ci.isMap;var Ps=ts?ni(ts):zn;Me.exports=Ps},96482:Me=>{function isObject(Me){var Bn=typeof Me;return Me!=null&&(Bn=="object"||Bn=="function")}Me.exports=isObject},51645:Me=>{function isObjectLike(Me){return Me!=null&&typeof Me=="object"}Me.exports=isObjectLike},36542:(Me,Bn,Hn)=>{var zn=Hn(29117),ni=Hn(86194),Ci=Hn(51645);var ts="[object Object]";var Ps=Function.prototype,aa=Object.prototype;var oa=Ps.toString;var ca=aa.hasOwnProperty;var _a=oa.call(Object);function isPlainObject(Me){if(!Ci(Me)||zn(Me)!=ts){return false}var Bn=ni(Me);if(Bn===null){return true}var Hn=ca.call(Bn,"constructor")&&Bn.constructor;return typeof Hn=="function"&&Hn instanceof Hn&&oa.call(Hn)==_a}Me.exports=isPlainObject},27077:(Me,Bn,Hn)=>{var zn=Hn(85901),ni=Hn(55506),Ci=Hn(88724);var ts=Ci&&Ci.isSet;var Ps=ts?ni(ts):zn;Me.exports=Ps},70661:(Me,Bn,Hn)=>{var zn=Hn(29117),ni=Hn(51645);var Ci="[object Symbol]";function isSymbol(Me){return typeof Me=="symbol"||ni(Me)&&zn(Me)==Ci}Me.exports=isSymbol},35e3:(Me,Bn,Hn)=>{var zn=Hn(16880),ni=Hn(55506),Ci=Hn(88724);var ts=Ci&&Ci.isTypedArray;var Ps=ts?ni(ts):zn;Me.exports=Ps},4257:Me=>{function isUndefined(Me){return Me===undefined}Me.exports=isUndefined},26741:(Me,Bn,Hn)=>{var zn=Hn(62e3),ni=Hn(31517),Ci=Hn(75119);function keys(Me){return Ci(Me)?zn(Me):ni(Me)}Me.exports=keys},19430:(Me,Bn,Hn)=>{var zn=Hn(62e3),ni=Hn(82094),Ci=Hn(75119);function keysIn(Me){return Ci(Me)?zn(Me,true):ni(Me)}Me.exports=keysIn},14781:Me=>{function last(Me){var Bn=Me==null?0:Me.length;return Bn?Me[Bn-1]:undefined}Me.exports=last},52356:function(Me,Bn,Hn){Me=Hn.nmd(Me); + `,cliCategory:ts},tabWidth:{type:"int",category:aa,default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:aa,type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:aa,type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};Bn.exports={CATEGORY_CONFIG:zn,CATEGORY_EDITOR:ni,CATEGORY_FORMAT:Ci,CATEGORY_OTHER:ts,CATEGORY_OUTPUT:Ps,CATEGORY_GLOBAL:aa,CATEGORY_SPECIAL:oa,options:_a}}}),Ov=S({"src/main/support.js"(Me,Bn){"use strict";ca();var zn={compare:Iv(),lt:xv(),gte:kv()},ni=Bv(),Ci=Tv().version,ts=Nv().options;function s(){let{plugins:Me=[],showUnreleased:Bn=!1,showDeprecated:Ps=!1,showInternal:aa=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},oa=Ci.split("-",1)[0],ca=Me.flatMap((Me=>Me.languages||[])).filter(F),_a=ni(Object.assign({},...Me.map((Me=>{let{options:Bn}=Me;return Bn})),ts),"name").filter((Me=>F(Me)&&E(Me))).sort(((Me,Bn)=>Me.name===Bn.name?0:Me.name{Bn=Object.assign({},Bn),Array.isArray(Bn.default)&&(Bn.default=Bn.default.length===1?Bn.default[0].value:Bn.default.filter(F).sort(((Me,Bn)=>zn.compare(Bn.since,Me.since)))[0].value),Array.isArray(Bn.choices)&&(Bn.choices=Bn.choices.filter((Me=>F(Me)&&E(Me))),Bn.name==="parser"&&c(Bn,ca,Me));let Hn=Object.fromEntries(Me.filter((Me=>Me.defaultOptions&&Me.defaultOptions[Bn.name]!==void 0)).map((Me=>[Me.name,Me.defaultOptions[Bn.name]])));return Object.assign(Object.assign({},Bn),{},{pluginDefaults:Hn})}));return{languages:ca,options:_a};function F(Me){return Bn||!("since"in Me)||Me.since&&zn.gte(oa,Me.since)}function E(Me){return Ps||!("deprecated"in Me)||Me.deprecated&&zn.lt(oa,Me.deprecated)}function b(Me){if(aa)return Me;let{cliName:Bn,cliCategory:zn,cliDescription:ni}=Me;return Ol(Me,Hn)}}function c(Me,Bn,Hn){let zn=new Set(Me.choices.map((Me=>Me.value)));for(let ni of Bn)if(ni.parsers){for(let Bn of ni.parsers)if(!zn.has(Bn)){zn.add(Bn);let Ci=Hn.find((Me=>Me.parsers&&Me.parsers[Bn])),ts=ni.name;Ci&&Ci.name&&(ts+=` (plugin: ${Ci.name})`),Me.choices.push({value:Bn,description:ts})}}}Bn.exports={getSupportInfo:s}}}),Mv=S({"src/utils/is-non-empty-array.js"(Me,Bn){"use strict";ca();function u(Me){return Array.isArray(Me)&&Me.length>0}Bn.exports=u}});function b2(){let{onlyFirst:Me=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Bn=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(Bn,Me?void 0:"g")}var OE=je({"node_modules/strip-ansi/node_modules/ansi-regex/index.js"(){ca()}});function w2(Me){if(typeof Me!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof Me}\``);return Me.replace(b2(),"")}var eC=je({"node_modules/strip-ansi/index.js"(){ca(),OE()}});function k2(Me){return Number.isInteger(Me)?Me>=4352&&(Me<=4447||Me===9001||Me===9002||11904<=Me&&Me<=12871&&Me!==12351||12880<=Me&&Me<=19903||19968<=Me&&Me<=42182||43360<=Me&&Me<=43388||44032<=Me&&Me<=55203||63744<=Me&&Me<=64255||65040<=Me&&Me<=65049||65072<=Me&&Me<=65131||65281<=Me&&Me<=65376||65504<=Me&&Me<=65510||110592<=Me&&Me<=110593||127488<=Me&&Me<=127569||131072<=Me&&Me<=262141):!1}var tC=je({"node_modules/is-fullwidth-code-point/index.js"(){ca()}}),rC=S({"node_modules/emoji-regex/index.js"(Me,Bn){"use strict";ca(),Bn.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}}}),nC={};Pi(nC,{default:()=>O2});function O2(Me){if(typeof Me!="string"||Me.length===0||(Me=w2(Me),Me.length===0))return 0;Me=Me.replace((0,iC.default)()," ");let Bn=0;for(let Hn=0;Hn=127&&zn<=159||zn>=768&&zn<=879||(zn>65535&&Hn++,Bn+=k2(zn)?2:1)}return Bn}var iC,sC=je({"node_modules/string-width/index.js"(){ca(),eC(),tC(),iC=Rl(rC())}}),aC=S({"src/utils/get-string-width.js"(Me,Bn){"use strict";ca();var Hn=(sC(),zi(nC)).default,zn=/[^\x20-\x7F]/;function a(Me){return Me?zn.test(Me)?Hn(Me):Me.length:0}Bn.exports=a}}),oC=S({"src/utils/text/skip.js"(Me,Bn){"use strict";ca();function u(Me){return(Bn,Hn,zn)=>{let ni=zn&&zn.backwards;if(Hn===!1)return!1;let{length:Ci}=Bn,ts=Hn;for(;ts>=0&&tsMe[Me.length-2];function E(Me){return(Bn,Hn,zn)=>{let ni=zn&&zn.backwards;if(Hn===!1)return!1;let{length:Ci}=Bn,ts=Hn;for(;ts>=0&&ts2&&arguments[2]!==void 0?arguments[2]:{},zn=aa(Me,Hn.backwards?Bn-1:Bn,Hn),ni=Ha(Me,zn,Hn);return zn!==ni}function f(Me,Bn,Hn){for(let zn=Bn;zn2&&arguments[2]!==void 0?arguments[2]:{};return aa(Me,Hn.backwards?Bn-1:Bn,Hn)!==Bn}function q(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,zn=0;for(let ni=Hn;niHn?Ci:ni}return ts}function O(Me,Bn){let Hn=Me.slice(1,-1),zn=Bn.parser==="json"||Bn.parser==="json5"&&Bn.quoteProps==="preserve"&&!Bn.singleQuote?'"':Bn.__isInHtmlAttribute?"'":B(Hn,Bn.singleQuote?"'":'"').quote;return T(Hn,zn,!(Bn.parser==="css"||Bn.parser==="less"||Bn.parser==="scss"||Bn.__embeddedInHtml))}function T(Me,Bn,Hn){let zn=Bn==='"'?"'":'"',ni=/\\(.)|(["'])/gs,Ci=Me.replace(ni,((Me,ni,Ci)=>ni===zn?ni:Ci===Bn?"\\"+Ci:Ci||(Hn&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(ni)?ni:"\\"+ni)));return Bn+Ci+Bn}function P(Me){return Me.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(\d)/,"$1$2$3").replace(/^([+-]?[\d.]+)e[+-]?0+$/,"$1").replace(/^([+-])?\./,"$10.").replace(/(\.\d+?)0+(?=e|$)/,"$1").replace(/\.(?=e|$)/,"")}function A(Me,Bn){let zn=Me.match(new RegExp(`(${Hn(Bn)})+`,"g"));return zn===null?0:zn.reduce(((Me,Hn)=>Math.max(Me,Hn.length/Bn.length)),0)}function j(Me,Bn){let zn=Me.match(new RegExp(`(${Hn(Bn)})+`,"g"));if(zn===null)return 0;let ni=new Map,Ci=0;for(let Me of zn){let Hn=Me.length/Bn.length;ni.set(Hn,!0),Hn>Ci&&(Ci=Hn)}for(let Me=1;Me{let{name:Hn}=Bn;return Hn.toLowerCase()===Me}))||Hn.find((Bn=>{let{aliases:Hn}=Bn;return Array.isArray(Hn)&&Hn.includes(Me)}))||Hn.find((Bn=>{let{extensions:Hn}=Bn;return Array.isArray(Hn)&&Hn.includes(`.${Me}`)}));return zn&&zn.parsers[0]}function z(Me){return Me&&Me.type==="front-matter"}function M(Me){let Bn=new WeakMap;return function(Hn){return Bn.has(Hn)||Bn.set(Hn,Symbol(Me)),Bn.get(Hn)}}function U(Me){let Bn=Me.type||Me.kind||"(unknown type)",Hn=String(Me.name||Me.id&&(typeof Me.id=="object"?Me.id.name:Me.id)||Me.key&&(typeof Me.key=="object"?Me.key.name:Me.key)||Me.value&&(typeof Me.value=="object"?"":String(Me.value))||Me.operator||"");return Hn.length>20&&(Hn=Hn.slice(0,19)+"…"),Bn+(Hn?" "+Hn:"")}Bn.exports={inferParserByLanguage:J,getStringWidth:ts,getMaxContinuousCount:A,getMinNotPresentContinuousCount:j,getPenultimate:F,getLast:zn,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:so,getNextNonSpaceNonCommentCharacterIndex:m,getNextNonSpaceNonCommentCharacter:C,skip:E,skipWhitespace:Ps,skipSpaces:aa,skipToLineEnd:oa,skipEverythingButNewLine:_a,skipInlineComment:xa,skipTrailingComment:Ga,skipNewline:Ha,isNextLineEmptyAfterIndex:v,isNextLineEmpty:h,isPreviousLineEmpty:x,hasNewline:b,hasNewlineInRange:f,hasSpaces:w,getAlignmentSize:q,getIndentSize:L,getPreferredQuote:B,printString:O,printNumber:P,makeString:T,addLeadingComment:G,addDanglingComment:X,addTrailingComment:R,isFrontMatterNode:z,isNonEmptyArray:Ci,createGroupIdMapper:M}}}),dC=S({"src/language-markdown/constants.evaluate.js"(Me,Bn){Bn.exports={cjkPattern:"(?:[\\u02ea-\\u02eb\\u1100-\\u11ff\\u2e80-\\u2e99\\u2e9b-\\u2ef3\\u2f00-\\u2fd5\\u2ff0-\\u303f\\u3041-\\u3096\\u3099-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u3190-\\u3191\\u3196-\\u31ba\\u31c0-\\u31e3\\u31f0-\\u321e\\u322a-\\u3247\\u3260-\\u327e\\u328a-\\u32b0\\u32c0-\\u32cb\\u32d0-\\u3370\\u337b-\\u337f\\u33e0-\\u33fe\\u3400-\\u4db5\\u4e00-\\u9fef\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufe10-\\ufe1f\\ufe30-\\ufe6f\\uff00-\\uffef]|[\\ud840-\\ud868\\ud86a-\\ud86c\\ud86f-\\ud872\\ud874-\\ud879][\\udc00-\\udfff]|\\ud82c[\\udc00-\\udd1e\\udd50-\\udd52\\udd64-\\udd67]|\\ud83c[\\ude00\\ude50-\\ude51]|\\ud869[\\udc00-\\uded6\\udf00-\\udfff]|\\ud86d[\\udc00-\\udf34\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d\\udc20-\\udfff]|\\ud873[\\udc00-\\udea1\\udeb0-\\udfff]|\\ud87a[\\udc00-\\udfe0]|\\ud87e[\\udc00-\\ude1d])(?:[\\ufe00-\\ufe0f]|\\udb40[\\udd00-\\uddef])?",kPattern:"[\\u1100-\\u11ff\\u3001-\\u3003\\u3008-\\u3011\\u3013-\\u301f\\u302e-\\u3030\\u3037\\u30fb\\u3131-\\u318e\\u3200-\\u321e\\u3260-\\u327e\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ufe45-\\ufe46\\uff61-\\uff65\\uffa0-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]",punctuationPattern:"[\\u0021-\\u002f\\u003a-\\u0040\\u005b-\\u0060\\u007b-\\u007e\\u00a1\\u00a7\\u00ab\\u00b6-\\u00b7\\u00bb\\u00bf\\u037e\\u0387\\u055a-\\u055f\\u0589-\\u058a\\u05be\\u05c0\\u05c3\\u05c6\\u05f3-\\u05f4\\u0609-\\u060a\\u060c-\\u060d\\u061b\\u061e-\\u061f\\u066a-\\u066d\\u06d4\\u0700-\\u070d\\u07f7-\\u07f9\\u0830-\\u083e\\u085e\\u0964-\\u0965\\u0970\\u09fd\\u0a76\\u0af0\\u0c77\\u0c84\\u0df4\\u0e4f\\u0e5a-\\u0e5b\\u0f04-\\u0f12\\u0f14\\u0f3a-\\u0f3d\\u0f85\\u0fd0-\\u0fd4\\u0fd9-\\u0fda\\u104a-\\u104f\\u10fb\\u1360-\\u1368\\u1400\\u166e\\u169b-\\u169c\\u16eb-\\u16ed\\u1735-\\u1736\\u17d4-\\u17d6\\u17d8-\\u17da\\u1800-\\u180a\\u1944-\\u1945\\u1a1e-\\u1a1f\\u1aa0-\\u1aa6\\u1aa8-\\u1aad\\u1b5a-\\u1b60\\u1bfc-\\u1bff\\u1c3b-\\u1c3f\\u1c7e-\\u1c7f\\u1cc0-\\u1cc7\\u1cd3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205e\\u207d-\\u207e\\u208d-\\u208e\\u2308-\\u230b\\u2329-\\u232a\\u2768-\\u2775\\u27c5-\\u27c6\\u27e6-\\u27ef\\u2983-\\u2998\\u29d8-\\u29db\\u29fc-\\u29fd\\u2cf9-\\u2cfc\\u2cfe-\\u2cff\\u2d70\\u2e00-\\u2e2e\\u2e30-\\u2e4f\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301f\\u3030\\u303d\\u30a0\\u30fb\\ua4fe-\\ua4ff\\ua60d-\\ua60f\\ua673\\ua67e\\ua6f2-\\ua6f7\\ua874-\\ua877\\ua8ce-\\ua8cf\\ua8f8-\\ua8fa\\ua8fc\\ua92e-\\ua92f\\ua95f\\ua9c1-\\ua9cd\\ua9de-\\ua9df\\uaa5c-\\uaa5f\\uaade-\\uaadf\\uaaf0-\\uaaf1\\uabeb\\ufd3e-\\ufd3f\\ufe10-\\ufe19\\ufe30-\\ufe52\\ufe54-\\ufe61\\ufe63\\ufe68\\ufe6a-\\ufe6b\\uff01-\\uff03\\uff05-\\uff0a\\uff0c-\\uff0f\\uff1a-\\uff1b\\uff1f-\\uff20\\uff3b-\\uff3d\\uff3f\\uff5b\\uff5d\\uff5f-\\uff65]|\\ud800[\\udd00-\\udd02\\udf9f\\udfd0]|\\ud801[\\udd6f]|\\ud802[\\udc57\\udd1f\\udd3f\\ude50-\\ude58\\ude7f\\udef0-\\udef6\\udf39-\\udf3f\\udf99-\\udf9c]|\\ud803[\\udf55-\\udf59]|\\ud804[\\udc47-\\udc4d\\udcbb-\\udcbc\\udcbe-\\udcc1\\udd40-\\udd43\\udd74-\\udd75\\uddc5-\\uddc8\\uddcd\\udddb\\udddd-\\udddf\\ude38-\\ude3d\\udea9]|\\ud805[\\udc4b-\\udc4f\\udc5b\\udc5d\\udcc6\\uddc1-\\uddd7\\ude41-\\ude43\\ude60-\\ude6c\\udf3c-\\udf3e]|\\ud806[\\udc3b\\udde2\\ude3f-\\ude46\\ude9a-\\ude9c\\ude9e-\\udea2]|\\ud807[\\udc41-\\udc45\\udc70-\\udc71\\udef7-\\udef8\\udfff]|\\ud809[\\udc70-\\udc74]|\\ud81a[\\ude6e-\\ude6f\\udef5\\udf37-\\udf3b\\udf44]|\\ud81b[\\ude97-\\ude9a\\udfe2]|\\ud82f[\\udc9f]|\\ud836[\\ude87-\\ude8b]|\\ud83a[\\udd5e-\\udd5f]"}}}),hC=S({"src/language-markdown/utils.js"(Me,Bn){"use strict";ca();var{getLast:Hn}=fC(),{locStart:zn,locEnd:ni}=Ty(),{cjkPattern:Ci,kPattern:ts,punctuationPattern:Ps}=dC(),aa=["liquidNode","inlineCode","emphasis","esComment","strong","delete","wikiLink","link","linkReference","image","imageReference","footnote","footnoteReference","sentence","whitespace","word","break","inlineMath"],oa=[...aa,"tableCell","paragraph","heading"],_a=new RegExp(ts),xa=new RegExp(Ps);function d(Me,Bn){let zn="non-cjk",ni="cj-letter",ts="k-letter",Ps="cjk-punctuation",aa=[],oa=(Bn.proseWrap==="preserve"?Me:Me.replace(new RegExp(`(${Ci})\n(${Ci})`,"g"),"$1$2")).split(/([\t\n ]+)/);for(let[Me,Bn]of oa.entries()){if(Me%2===1){aa.push({type:"whitespace",value:/\n/.test(Bn)?`\n`:" "});continue}if((Me===0||Me===oa.length-1)&&Bn==="")continue;let ca=Bn.split(new RegExp(`(${Ci})`));for(let[Me,Bn]of ca.entries())if(!((Me===0||Me===ca.length-1)&&Bn==="")){if(Me%2===0){Bn!==""&&L({type:"word",value:Bn,kind:zn,hasLeadingPunctuation:xa.test(Bn[0]),hasTrailingPunctuation:xa.test(Hn(Bn))});continue}L(xa.test(Bn)?{type:"word",value:Bn,kind:Ps,hasLeadingPunctuation:!0,hasTrailingPunctuation:!0}:{type:"word",value:Bn,kind:_a.test(Bn)?ts:ni,hasLeadingPunctuation:!1,hasTrailingPunctuation:!1})}}return aa;function L(Me){let Bn=Hn(aa);Bn&&Bn.type==="word"&&(Bn.kind===zn&&Me.kind===ni&&!Bn.hasTrailingPunctuation||Bn.kind===ni&&Me.kind===zn&&!Me.hasLeadingPunctuation?aa.push({type:"whitespace",value:" "}):!T(zn,Ps)&&![Bn.value,Me.value].some((Me=>/\u3000/.test(Me)))&&aa.push({type:"whitespace",value:""})),aa.push(Me);function T(Hn,zn){return Bn.kind===Hn&&Me.kind===zn||Bn.kind===zn&&Me.kind===Hn}}}function p(Me,Bn){let[,Hn,zn,ni]=Bn.slice(Me.position.start.offset,Me.position.end.offset).match(/^\s*(\d+)(\.|\))(\s*)/);return{numberText:Hn,marker:zn,leadingSpaces:ni}}function g(Me,Bn){if(!Me.ordered||Me.children.length<2)return!1;let Hn=Number(p(Me.children[0],Bn.originalText).numberText),zn=Number(p(Me.children[1],Bn.originalText).numberText);if(Hn===0&&Me.children.length>2){let Hn=Number(p(Me.children[2],Bn.originalText).numberText);return zn===1&&Hn===1}return zn===1}function F(Me,Bn){let{value:Hn}=Me;return Me.position.end.offset===Bn.length&&Hn.endsWith(`\n`)&&Bn.endsWith(`\n`)?Hn.slice(0,-1):Hn}function E(Me,Bn){return function v(Me,Hn,zn){let ni=Object.assign({},Bn(Me,Hn,zn));return ni.children&&(ni.children=ni.children.map(((Me,Bn)=>v(Me,Bn,[ni,...zn])))),ni}(Me,null,[])}function b(Me){if((Me==null?void 0:Me.type)!=="link"||Me.children.length!==1)return!1;let[Bn]=Me.children;return zn(Me)===zn(Bn)&&ni(Me)===ni(Bn)}Bn.exports={mapAst:E,splitText:d,punctuationPattern:Ps,getFencedCodeBlockValue:F,getOrderedListItemInfo:p,hasGitDiffFriendlyOrderedList:g,INLINE_NODE_TYPES:aa,INLINE_NODE_WRAPPER_TYPES:oa,isAutolink:b}}}),AC=S({"src/language-markdown/unified-plugins/html-to-jsx.js"(Me,Bn){"use strict";ca();var Hn=Gy(),{mapAst:zn,INLINE_NODE_WRAPPER_TYPES:ni}=hC();function n(){return Me=>zn(Me,((Me,Bn,zn)=>{let[Ci]=zn;return Me.type!=="html"||Hn.COMMENT_REGEX.test(Me.value)||ni.includes(Ci.type)?Me:Object.assign(Object.assign({},Me),{},{type:"jsx"})}))}Bn.exports=n}}),mC=S({"src/language-markdown/unified-plugins/front-matter.js"(Me,Bn){"use strict";ca();var Hn=py();function t(){let Me=this.Parser.prototype;Me.blockMethods=["frontMatter",...Me.blockMethods],Me.blockTokenizers.frontMatter=n;function n(Me,Bn){let zn=Hn(Bn);if(zn.frontMatter)return Me(zn.frontMatter.raw)(zn.frontMatter)}n.onlyAtStart=!0}Bn.exports=t}}),gC=S({"src/language-markdown/unified-plugins/liquid.js"(Me,Bn){"use strict";ca();function u(){let Me=this.Parser.prototype,Bn=Me.inlineMethods;Bn.splice(Bn.indexOf("text"),0,"liquid"),Me.inlineTokenizers.liquid=n;function n(Me,Bn){let Hn=Bn.match(/^({%.*?%}|{{.*?}})/s);if(Hn)return Me(Hn[0])({type:"liquidNode",value:Hn[0]})}n.locator=function(Me,Bn){return Me.indexOf("{",Bn)}}Bn.exports=u}}),_C=S({"src/language-markdown/unified-plugins/wiki-link.js"(Me,Bn){"use strict";ca();function u(){let Me="wikiLink",Bn=/^\[\[(?.+?)]]/s,Hn=this.Parser.prototype,zn=Hn.inlineMethods;zn.splice(zn.indexOf("link"),0,Me),Hn.inlineTokenizers.wikiLink=c;function c(Hn,zn){let ni=Bn.exec(zn);if(ni){let Bn=ni.groups.linkContents.trim();return Hn(ni[0])({type:Me,value:Bn})}}c.locator=function(Me,Bn){return Me.indexOf("[",Bn)}}Bn.exports=u}}),yC=S({"src/language-markdown/unified-plugins/loose-items.js"(Me,Bn){"use strict";ca();function u(){let Me=this.Parser.prototype,Bn=Me.blockTokenizers.list;function n(Me,Bn,Hn){return Bn.type==="listItem"&&(Bn.loose=Bn.spread||Me.charAt(Me.length-1)===`\n`,Bn.loose&&(Hn.loose=!0)),Bn}Me.blockTokenizers.list=function(Me,Hn,zn){function o(Bn){let Hn=Me(Bn);function p(Me,zn){return Hn(n(Bn,Me,zn),zn)}return p.reset=function(Me,zn){return Hn.reset(n(Bn,Me,zn),zn)},p}return o.now=Me.now,Bn.call(this,o,Hn,zn)}}Bn.exports=u}});ca();var vC=Ug(),EC=Z_(),bC=ny(),CC=iy(),DC=fy(),{locStart:wC,locEnd:SC}=Ty(),IC=Gy(),xC=AC(),kC=mC(),BC=gC(),TC=_C(),FC=yC();function sa(Me){let{isMDX:Bn}=Me;return Me=>{let Hn=EC().use(vC,Object.assign({commonmark:!0},Bn&&{blocks:[IC.BLOCKS_REGEX]})).use(CC).use(kC).use(bC).use(Bn?IC.esSyntax:Ri).use(BC).use(Bn?xC:Ri).use(TC).use(FC);return Hn.runSync(Hn.parse(Me))}}function Ri(Me){return Me}var NC={astFormat:"mdast",hasPragma:DC.hasPragma,locStart:wC,locEnd:SC},QC=Object.assign(Object.assign({},NC),{},{parse:sa({isMDX:!1})}),RC=Object.assign(Object.assign({},NC),{},{parse:sa({isMDX:!0})});Bn.exports={parsers:{remark:QC,markdown:QC,mdx:RC}}}));return Lg()}))},63048:Me=>{(function(Bn){if(true)Me.exports=Bn();else{var Hn}})((function(){"use strict";var B=(Me,Bn)=>()=>(Bn||Me((Bn={exports:{}}).exports,Bn),Bn.exports);var Me=B(((Me,Bn)=>{var A1=function(Me){return Me&&Me.Math==Math&&Me};Bn.exports=A1(typeof globalThis=="object"&&globalThis)||A1(typeof window=="object"&&window)||A1(typeof self=="object"&&self)||A1(typeof global=="object"&&global)||function(){return this}()||Function("return this")()}));var Bn=B(((Me,Bn)=>{Bn.exports=function(Me){try{return!!Me()}catch{return!0}}}));var Hn=B(((Me,Hn)=>{var zn=Bn();Hn.exports=!zn((function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7}))}));var zn=B(((Me,Hn)=>{var zn=Bn();Hn.exports=!zn((function(){var Me=function(){}.bind();return typeof Me!="function"||Me.hasOwnProperty("prototype")}))}));var ni=B(((Me,Bn)=>{var Hn=zn(),ni=Function.prototype.call;Bn.exports=Hn?ni.bind(ni):function(){return ni.apply(ni,arguments)}}));var Ci=B((Me=>{"use strict";var Bn={}.propertyIsEnumerable,Hn=Object.getOwnPropertyDescriptor,zn=Hn&&!Bn.call({1:2},1);Me.f=zn?function(Me){var Bn=Hn(this,Me);return!!Bn&&Bn.enumerable}:Bn}));var ts=B(((Me,Bn)=>{Bn.exports=function(Me,Bn){return{enumerable:!(Me&1),configurable:!(Me&2),writable:!(Me&4),value:Bn}}}));var Ps=B(((Me,Bn)=>{var Hn=zn(),ni=Function.prototype,Ci=ni.call,ts=Hn&&ni.bind.bind(Ci,Ci);Bn.exports=Hn?ts:function(Me){return function(){return Ci.apply(Me,arguments)}}}));var aa=B(((Me,Bn)=>{var Hn=Ps(),zn=Hn({}.toString),ni=Hn("".slice);Bn.exports=function(Me){return ni(zn(Me),8,-1)}}));var oa=B(((Me,Hn)=>{var zn=Ps(),ni=Bn(),Ci=aa(),ts=Object,oa=zn("".split);Hn.exports=ni((function(){return!ts("z").propertyIsEnumerable(0)}))?function(Me){return Ci(Me)=="String"?oa(Me,""):ts(Me)}:ts}));var ca=B(((Me,Bn)=>{Bn.exports=function(Me){return Me==null}}));var _a=B(((Me,Bn)=>{var Hn=ca(),zn=TypeError;Bn.exports=function(Me){if(Hn(Me))throw zn("Can't call method on "+Me);return Me}}));var xa=B(((Me,Bn)=>{var Hn=oa(),zn=_a();Bn.exports=function(Me){return Hn(zn(Me))}}));var Ga=B(((Me,Bn)=>{var Hn=typeof document=="object"&&document.all,zn=typeof Hn>"u"&&Hn!==void 0;Bn.exports={all:Hn,IS_HTMLDDA:zn}}));var Ha=B(((Me,Bn)=>{var Hn=Ga(),zn=Hn.all;Bn.exports=Hn.IS_HTMLDDA?function(Me){return typeof Me=="function"||Me===zn}:function(Me){return typeof Me=="function"}}));var so=B(((Me,Bn)=>{var Hn=Ha(),zn=Ga(),ni=zn.all;Bn.exports=zn.IS_HTMLDDA?function(Me){return typeof Me=="object"?Me!==null:Hn(Me)||Me===ni}:function(Me){return typeof Me=="object"?Me!==null:Hn(Me)}}));var oo=B(((Bn,Hn)=>{var zn=Me(),ni=Ha(),Po=function(Me){return ni(Me)?Me:void 0};Hn.exports=function(Me,Bn){return arguments.length<2?Po(zn[Me]):zn[Me]&&zn[Me][Bn]}}));var Jo=B(((Me,Bn)=>{var Hn=Ps();Bn.exports=Hn({}.isPrototypeOf)}));var tc=B(((Me,Bn)=>{var Hn=oo();Bn.exports=Hn("navigator","userAgent")||""}));var dc=B(((Bn,Hn)=>{var zn=Me(),ni=tc(),Ci=zn.process,ts=zn.Deno,Ps=Ci&&Ci.versions||ts&&ts.version,aa=Ps&&Ps.v8,oa,ca;aa&&(oa=aa.split("."),ca=oa[0]>0&&oa[0]<4?1:+(oa[0]+oa[1]));!ca&&ni&&(oa=ni.match(/Edge\/(\d+)/),(!oa||oa[1]>=74)&&(oa=ni.match(/Chrome\/(\d+)/),oa&&(ca=+oa[1])));Hn.exports=ca}));var Fc=B(((Me,Hn)=>{var zn=dc(),ni=Bn();Hn.exports=!!Object.getOwnPropertySymbols&&!ni((function(){var Me=Symbol();return!String(Me)||!(Object(Me)instanceof Symbol)||!Symbol.sham&&zn&&zn<41}))}));var Jc=B(((Me,Bn)=>{var Hn=Fc();Bn.exports=Hn&&!Symbol.sham&&typeof Symbol.iterator=="symbol"}));var Dp=B(((Me,Bn)=>{var Hn=oo(),zn=Ha(),ni=Jo(),Ci=Jc(),ts=Object;Bn.exports=Ci?function(Me){return typeof Me=="symbol"}:function(Me){var Bn=Hn("Symbol");return zn(Bn)&&ni(Bn.prototype,ts(Me))}}));var kp=B(((Me,Bn)=>{var Hn=String;Bn.exports=function(Me){try{return Hn(Me)}catch{return"Object"}}}));var Qp=B(((Me,Bn)=>{var Hn=Ha(),zn=kp(),ni=TypeError;Bn.exports=function(Me){if(Hn(Me))return Me;throw ni(zn(Me)+" is not a function")}}));var Up=B(((Me,Bn)=>{var Hn=Qp(),zn=ca();Bn.exports=function(Me,Bn){var ni=Me[Bn];return zn(ni)?void 0:Hn(ni)}}));var Vp=B(((Me,Bn)=>{var Hn=ni(),zn=Ha(),Ci=so(),ts=TypeError;Bn.exports=function(Me,Bn){var ni,Ps;if(Bn==="string"&&zn(ni=Me.toString)&&!Ci(Ps=Hn(ni,Me))||zn(ni=Me.valueOf)&&!Ci(Ps=Hn(ni,Me))||Bn!=="string"&&zn(ni=Me.toString)&&!Ci(Ps=Hn(ni,Me)))return Ps;throw ts("Can't convert object to primitive value")}}));var qp=B(((Me,Bn)=>{Bn.exports=!1}));var Jp=B(((Bn,Hn)=>{var zn=Me(),ni=Object.defineProperty;Hn.exports=function(Me,Bn){try{ni(zn,Me,{value:Bn,configurable:!0,writable:!0})}catch{zn[Me]=Bn}return Bn}}));var Wp=B(((Bn,Hn)=>{var zn=Me(),ni=Jp(),Ci="__core-js_shared__",ts=zn[Ci]||ni(Ci,{});Hn.exports=ts}));var zp=B(((Me,Bn)=>{var Hn=qp(),zn=Wp();(Bn.exports=function(Me,Bn){return zn[Me]||(zn[Me]=Bn!==void 0?Bn:{})})("versions",[]).push({version:"3.26.1",mode:Hn?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})}));var Qf=B(((Me,Bn)=>{var Hn=_a(),zn=Object;Bn.exports=function(Me){return zn(Hn(Me))}}));var Yf=B(((Me,Bn)=>{var Hn=Ps(),zn=Qf(),ni=Hn({}.hasOwnProperty);Bn.exports=Object.hasOwn||function(Me,Bn){return ni(zn(Me),Bn)}}));var Kf=B(((Me,Bn)=>{var Hn=Ps(),zn=0,ni=Math.random(),Ci=Hn(1..toString);Bn.exports=function(Me){return"Symbol("+(Me===void 0?"":Me)+")_"+Ci(++zn+ni,36)}}));var Xf=B(((Bn,Hn)=>{var zn=Me(),ni=zp(),Ci=Yf(),ts=Kf(),Ps=Fc(),aa=Jc(),oa=ni("wks"),ca=zn.Symbol,_a=ca&&ca.for,xa=aa?ca:ca&&ca.withoutSetter||ts;Hn.exports=function(Me){if(!Ci(oa,Me)||!(Ps||typeof oa[Me]=="string")){var Bn="Symbol."+Me;Ps&&Ci(ca,Me)?oa[Me]=ca[Me]:aa&&_a?oa[Me]=_a(Bn):oa[Me]=xa(Bn)}return oa[Me]}}));var Ad=B(((Me,Bn)=>{var Hn=ni(),zn=so(),Ci=Dp(),ts=Up(),Ps=Vp(),aa=Xf(),oa=TypeError,ca=aa("toPrimitive");Bn.exports=function(Me,Bn){if(!zn(Me)||Ci(Me))return Me;var ni=ts(Me,ca),aa;if(ni){if(Bn===void 0&&(Bn="default"),aa=Hn(ni,Me,Bn),!zn(aa)||Ci(aa))return aa;throw oa("Can't convert object to primitive value")}return Bn===void 0&&(Bn="number"),Ps(Me,Bn)}}));var Cd=B(((Me,Bn)=>{var Hn=Ad(),zn=Dp();Bn.exports=function(Me){var Bn=Hn(Me,"string");return zn(Bn)?Bn:Bn+""}}));var wd=B(((Bn,Hn)=>{var zn=Me(),ni=so(),Ci=zn.document,ts=ni(Ci)&&ni(Ci.createElement);Hn.exports=function(Me){return ts?Ci.createElement(Me):{}}}));var Sd=B(((Me,zn)=>{var ni=Hn(),Ci=Bn(),ts=wd();zn.exports=!ni&&!Ci((function(){return Object.defineProperty(ts("div"),"a",{get:function(){return 7}}).a!=7}))}));var xd=B((Me=>{var Bn=Hn(),zn=ni(),Ps=Ci(),aa=ts(),oa=xa(),ca=Cd(),_a=Yf(),Ga=Sd(),Ha=Object.getOwnPropertyDescriptor;Me.f=Bn?Ha:function(Me,Bn){if(Me=oa(Me),Bn=ca(Bn),Ga)try{return Ha(Me,Bn)}catch{}if(_a(Me,Bn))return aa(!zn(Ps.f,Me,Bn),Me[Bn])}}));var Td=B(((Me,zn)=>{var ni=Hn(),Ci=Bn();zn.exports=ni&&Ci((function(){return Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype!=42}))}));var Pd=B(((Me,Bn)=>{var Hn=so(),zn=String,ni=TypeError;Bn.exports=function(Me){if(Hn(Me))return Me;throw ni(zn(Me)+" is not an object")}}));var Qh=B((Me=>{var Bn=Hn(),zn=Sd(),ni=Td(),Ci=Pd(),ts=Cd(),Ps=TypeError,aa=Object.defineProperty,oa=Object.getOwnPropertyDescriptor,ca="enumerable",_a="configurable",xa="writable";Me.f=Bn?ni?function(Me,Bn,Hn){if(Ci(Me),Bn=ts(Bn),Ci(Hn),typeof Me=="function"&&Bn==="prototype"&&"value"in Hn&&xa in Hn&&!Hn[xa]){var zn=oa(Me,Bn);zn&&zn[xa]&&(Me[Bn]=Hn.value,Hn={configurable:_a in Hn?Hn[_a]:zn[_a],enumerable:ca in Hn?Hn[ca]:zn[ca],writable:!1})}return aa(Me,Bn,Hn)}:aa:function(Me,Bn,Hn){if(Ci(Me),Bn=ts(Bn),Ci(Hn),zn)try{return aa(Me,Bn,Hn)}catch{}if("get"in Hn||"set"in Hn)throw Ps("Accessors not supported");return"value"in Hn&&(Me[Bn]=Hn.value),Me}}));var Zh=B(((Me,Bn)=>{var zn=Hn(),ni=Qh(),Ci=ts();Bn.exports=zn?function(Me,Bn,Hn){return ni.f(Me,Bn,Ci(1,Hn))}:function(Me,Bn,Hn){return Me[Bn]=Hn,Me}}));var sA=B(((Me,Bn)=>{var zn=Hn(),ni=Yf(),Ci=Function.prototype,ts=zn&&Object.getOwnPropertyDescriptor,Ps=ni(Ci,"name"),aa=Ps&&function(){}.name==="something",oa=Ps&&(!zn||zn&&ts(Ci,"name").configurable);Bn.exports={EXISTS:Ps,PROPER:aa,CONFIGURABLE:oa}}));var oA=B(((Me,Bn)=>{var Hn=Ps(),zn=Ha(),ni=Wp(),Ci=Hn(Function.toString);zn(ni.inspectSource)||(ni.inspectSource=function(Me){return Ci(Me)});Bn.exports=ni.inspectSource}));var hA=B(((Bn,Hn)=>{var zn=Me(),ni=Ha(),Ci=zn.WeakMap;Hn.exports=ni(Ci)&&/native code/.test(String(Ci))}));var eg=B(((Me,Bn)=>{var Hn=zp(),zn=Kf(),ni=Hn("keys");Bn.exports=function(Me){return ni[Me]||(ni[Me]=zn(Me))}}));var tg=B(((Me,Bn)=>{Bn.exports={}}));var rg=B(((Bn,Hn)=>{var zn=hA(),ni=Me(),Ci=so(),ts=Zh(),Ps=Yf(),aa=Wp(),oa=eg(),ca=tg(),_a="Object already initialized",xa=ni.TypeError,Ga=ni.WeakMap,Ha,oo,Jo,pl=function(Me){return Jo(Me)?oo(Me):Ha(Me,{})},e4=function(Me){return function(Bn){var Hn;if(!Ci(Bn)||(Hn=oo(Bn)).type!==Me)throw xa("Incompatible receiver, "+Me+" required");return Hn}};zn||aa.state?(tc=aa.state||(aa.state=new Ga),tc.get=tc.get,tc.has=tc.has,tc.set=tc.set,Ha=function(Me,Bn){if(tc.has(Me))throw xa(_a);return Bn.facade=Me,tc.set(Me,Bn),Bn},oo=function(Me){return tc.get(Me)||{}},Jo=function(Me){return tc.has(Me)}):(dc=oa("state"),ca[dc]=!0,Ha=function(Me,Bn){if(Ps(Me,dc))throw xa(_a);return Bn.facade=Me,ts(Me,dc,Bn),Bn},oo=function(Me){return Ps(Me,dc)?Me[dc]:{}},Jo=function(Me){return Ps(Me,dc)});var tc,dc;Hn.exports={set:Ha,get:oo,has:Jo,enforce:pl,getterFor:e4}}));var ng=B(((Me,zn)=>{var ni=Bn(),Ci=Ha(),ts=Yf(),Ps=Hn(),aa=sA().CONFIGURABLE,oa=oA(),ca=rg(),_a=ca.enforce,xa=ca.get,Ga=Object.defineProperty,so=Ps&&!ni((function(){return Ga((function(){}),"length",{value:8}).length!==8})),oo=String(String).split("String"),Jo=zn.exports=function(Me,Bn,Hn){String(Bn).slice(0,7)==="Symbol("&&(Bn="["+String(Bn).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),Hn&&Hn.getter&&(Bn="get "+Bn),Hn&&Hn.setter&&(Bn="set "+Bn),(!ts(Me,"name")||aa&&Me.name!==Bn)&&(Ps?Ga(Me,"name",{value:Bn,configurable:!0}):Me.name=Bn),so&&Hn&&ts(Hn,"arity")&&Me.length!==Hn.arity&&Ga(Me,"length",{value:Hn.arity});try{Hn&&ts(Hn,"constructor")&&Hn.constructor?Ps&&Ga(Me,"prototype",{writable:!1}):Me.prototype&&(Me.prototype=void 0)}catch{}var zn=_a(Me);return ts(zn,"source")||(zn.source=oo.join(typeof Bn=="string"?Bn:"")),Me};Function.prototype.toString=Jo((function(){return Ci(this)&&xa(this).source||oa(this)}),"toString")}));var ig=B(((Me,Bn)=>{var Hn=Ha(),zn=Qh(),ni=ng(),Ci=Jp();Bn.exports=function(Me,Bn,ts,Ps){Ps||(Ps={});var aa=Ps.enumerable,oa=Ps.name!==void 0?Ps.name:Bn;if(Hn(ts)&&ni(ts,oa,Ps),Ps.global)aa?Me[Bn]=ts:Ci(Bn,ts);else{try{Ps.unsafe?Me[Bn]&&(aa=!0):delete Me[Bn]}catch{}aa?Me[Bn]=ts:zn.f(Me,Bn,{value:ts,enumerable:!1,configurable:!Ps.nonConfigurable,writable:!Ps.nonWritable})}return Me}}));var sg=B(((Me,Bn)=>{var Hn=Math.ceil,zn=Math.floor;Bn.exports=Math.trunc||function(Me){var Bn=+Me;return(Bn>0?zn:Hn)(Bn)}}));var ag=B(((Me,Bn)=>{var Hn=sg();Bn.exports=function(Me){var Bn=+Me;return Bn!==Bn||Bn===0?0:Hn(Bn)}}));var og=B(((Me,Bn)=>{var Hn=ag(),zn=Math.max,ni=Math.min;Bn.exports=function(Me,Bn){var Ci=Hn(Me);return Ci<0?zn(Ci+Bn,0):ni(Ci,Bn)}}));var ug=B(((Me,Bn)=>{var Hn=ag(),zn=Math.min;Bn.exports=function(Me){return Me>0?zn(Hn(Me),9007199254740991):0}}));var cg=B(((Me,Bn)=>{var Hn=ug();Bn.exports=function(Me){return Hn(Me.length)}}));var lg=B(((Me,Bn)=>{var Hn=xa(),zn=og(),ni=cg(),jn=function(Me){return function(Bn,Ci,ts){var Ps=Hn(Bn),aa=ni(Ps),oa=zn(ts,aa),ca;if(Me&&Ci!=Ci){for(;aa>oa;)if(ca=Ps[oa++],ca!=ca)return!0}else for(;aa>oa;oa++)if((Me||oa in Ps)&&Ps[oa]===Ci)return Me||oa||0;return!Me&&-1}};Bn.exports={includes:jn(!0),indexOf:jn(!1)}}));var pg=B(((Me,Bn)=>{var Hn=Ps(),zn=Yf(),ni=xa(),Ci=lg().indexOf,ts=tg(),aa=Hn([].push);Bn.exports=function(Me,Bn){var Hn=ni(Me),Ps=0,oa=[],ca;for(ca in Hn)!zn(ts,ca)&&zn(Hn,ca)&&aa(oa,ca);for(;Bn.length>Ps;)zn(Hn,ca=Bn[Ps++])&&(~Ci(oa,ca)||aa(oa,ca));return oa}}));var fg=B(((Me,Bn)=>{Bn.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]}));var dg=B((Me=>{var Bn=pg(),Hn=fg(),zn=Hn.concat("length","prototype");Me.f=Object.getOwnPropertyNames||function(Me){return Bn(Me,zn)}}));var hg=B((Me=>{Me.f=Object.getOwnPropertySymbols}));var Ag=B(((Me,Bn)=>{var Hn=oo(),zn=Ps(),ni=dg(),Ci=hg(),ts=Pd(),aa=zn([].concat);Bn.exports=Hn("Reflect","ownKeys")||function(Me){var Bn=ni.f(ts(Me)),Hn=Ci.f;return Hn?aa(Bn,Hn(Me)):Bn}}));var mg=B(((Me,Bn)=>{var Hn=Yf(),zn=Ag(),ni=xd(),Ci=Qh();Bn.exports=function(Me,Bn,ts){for(var Ps=zn(Bn),aa=Ci.f,oa=ni.f,ca=0;ca{var zn=Bn(),ni=Ha(),Ci=/#|\.prototype\./,n1=function(Me,Bn){var Hn=Ps[ts(Me)];return Hn==oa?!0:Hn==aa?!1:ni(Bn)?zn(Bn):!!Bn},ts=n1.normalize=function(Me){return String(Me).replace(Ci,".").toLowerCase()},Ps=n1.data={},aa=n1.NATIVE="N",oa=n1.POLYFILL="P";Hn.exports=n1}));var _g=B(((Bn,Hn)=>{var zn=Me(),ni=xd().f,Ci=Zh(),ts=ig(),Ps=Jp(),aa=mg(),oa=gg();Hn.exports=function(Me,Bn){var Hn=Me.target,ca=Me.global,_a=Me.stat,xa,Ga,Ha,so,oo,Jo;if(ca?Ga=zn:_a?Ga=zn[Hn]||Ps(Hn,{}):Ga=(zn[Hn]||{}).prototype,Ga)for(Ha in Bn){if(oo=Bn[Ha],Me.dontCallGetSet?(Jo=ni(Ga,Ha),so=Jo&&Jo.value):so=Ga[Ha],xa=oa(ca?Ha:Hn+(_a?".":"#")+Ha,Me.forced),!xa&&so!==void 0){if(typeof oo==typeof so)continue;aa(oo,so)}(Me.sham||so&&so.sham)&&Ci(oo,"sham",!0),ts(Ga,Ha,oo,Me)}}}));var yg=B((()=>{var Bn=_g(),Hn=Me();Bn({global:!0,forced:Hn.globalThis!==Hn},{globalThis:Hn})}));var vg=B((()=>{yg()}));var Eg=B(((Me,Bn)=>{var Hn=ng(),zn=Qh();Bn.exports=function(Me,Bn,ni){return ni.get&&Hn(ni.get,Bn,{getter:!0}),ni.set&&Hn(ni.set,Bn,{setter:!0}),zn.f(Me,Bn,ni)}}));var bg=B(((Me,Bn)=>{"use strict";var Hn=Pd();Bn.exports=function(){var Me=Hn(this),Bn="";return Me.hasIndices&&(Bn+="d"),Me.global&&(Bn+="g"),Me.ignoreCase&&(Bn+="i"),Me.multiline&&(Bn+="m"),Me.dotAll&&(Bn+="s"),Me.unicode&&(Bn+="u"),Me.unicodeSets&&(Bn+="v"),Me.sticky&&(Bn+="y"),Bn}}));var Cg=B((()=>{var zn=Me(),ni=Hn(),Ci=Eg(),ts=bg(),Ps=Bn(),aa=zn.RegExp,oa=aa.prototype,ca=ni&&Ps((function(){var Me=!0;try{aa(".","d")}catch{Me=!1}var Bn={},Hn="",zn=Me?"dgimsy":"gimsy",A=function(Me,zn){Object.defineProperty(Bn,Me,{get:function(){return Hn+=zn,!0}})},ni={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};Me&&(ni.hasIndices="d");for(var Ci in ni)A(Ci,ni[Ci]);var ts=Object.getOwnPropertyDescriptor(oa,"flags").get.call(Bn);return ts!==zn||Hn!==zn}));ca&&Ci(oa,"flags",{configurable:!0,get:ts})}));var Dg=B(((Me,Bn)=>{vg();Cg();var Hn=Object.defineProperty,zn=Object.getOwnPropertyDescriptor,ni=Object.getOwnPropertyNames,Ci=Object.prototype.hasOwnProperty,b0=(Me,Bn)=>function(){return Me&&(Bn=(0,Me[ni(Me)[0]])(Me=0)),Bn},t2=(Me,Bn)=>function(){return Bn||(0,Me[ni(Me)[0]])((Bn={exports:{}}).exports,Bn),Bn.exports},g3=(Me,Bn)=>{for(var zn in Bn)Hn(Me,zn,{get:Bn[zn],enumerable:!0})},h3=(Me,Bn,ts,Ps)=>{if(Bn&&typeof Bn=="object"||typeof Bn=="function")for(let aa of ni(Bn))!Ci.call(Me,aa)&&aa!==ts&&Hn(Me,aa,{get:()=>Bn[aa],enumerable:!(Ps=zn(Bn,aa))||Ps.enumerable});return Me},m3=Me=>h3(Hn({},"__esModule",{value:!0}),Me),ts=b0({""(){}}),Ps=t2({"src/common/parser-create-error.js"(Me,Bn){"use strict";ts();function b(Me,Bn){let Hn=new SyntaxError(Me+" ("+Bn.start.line+":"+Bn.start.column+")");return Hn.loc=Bn,Hn}Bn.exports=b}}),aa=t2({"src/utils/try-combinations.js"(Me,Bn){"use strict";ts();function b(){let Me;for(var Bn=arguments.length,Hn=new Array(Bn),zn=0;znxa,arch:()=>k3,cpus:()=>D0,default:()=>Ga,endianness:()=>v0,freemem:()=>E0,getNetworkInterfaces:()=>S0,hostname:()=>y0,loadavg:()=>A0,networkInterfaces:()=>B0,platform:()=>r3,release:()=>q0,tmpDir:()=>Je,tmpdir:()=>_a,totalmem:()=>C0,type:()=>w0,uptime:()=>P0});function v0(){if(typeof ca>"u"){var Me=new ArrayBuffer(2),Bn=new Uint8Array(Me),Hn=new Uint16Array(Me);if(Bn[0]=1,Bn[1]=2,Hn[0]===258)ca="BE";else if(Hn[0]===513)ca="LE";else throw new Error("unable to figure out endianess")}return ca}function y0(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function A0(){return[]}function P0(){return 0}function E0(){return Number.MAX_VALUE}function C0(){return Number.MAX_VALUE}function D0(){return[]}function w0(){return"Browser"}function q0(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function B0(){}function S0(){}function k3(){return"javascript"}function r3(){return"browser"}function Je(){return"/tmp"}var ca,_a,xa,Ga,Ha=b0({"node-modules-polyfills:os"(){ts(),_a=Je,xa=`\n`,Ga={EOL:xa,tmpdir:_a,tmpDir:Je,networkInterfaces:B0,getNetworkInterfaces:S0,release:q0,type:w0,cpus:D0,totalmem:C0,freemem:E0,uptime:P0,loadavg:A0,hostname:y0,endianness:v0}}}),so=t2({"node-modules-polyfills-commonjs:os"(Me,Bn){ts();var Hn=(Ha(),m3(oa));if(Hn&&Hn.default){Bn.exports=Hn.default;for(let Me in Hn)Bn.exports[Me]=Hn[Me]}else Hn&&(Bn.exports=Hn)}}),oo=t2({"node_modules/detect-newline/index.js"(Me,Bn){"use strict";ts();var b=Me=>{if(typeof Me!="string")throw new TypeError("Expected a string");let Bn=Me.match(/(?:\r?\n)/g)||[];if(Bn.length===0)return;let Hn=Bn.filter((Me=>Me===`\r\n`)).length,zn=Bn.length-Hn;return Hn>zn?`\r\n`:`\n`};Bn.exports=b,Bn.exports.graceful=Me=>typeof Me=="string"&&b(Me)||`\n`}}),Jo=t2({"node_modules/jest-docblock/build/index.js"(Me){"use strict";ts(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.extract=T,Me.parse=w2,Me.parseWithComments=C,Me.print=J,Me.strip=z;function g(){let Me=so();return g=function(){return Me},Me}function b(){let Me=f(oo());return b=function(){return Me},Me}function f(Me){return Me&&Me.__esModule?Me:{default:Me}}var Bn=/\*\/$/,Hn=/^\/\*\*?/,zn=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,ni=/(^|\s+)\/\/([^\r\n]*)/g,Ci=/^(\r?\n)+/,Ps=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,aa=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,oa=/(\r?\n|^) *\* ?/g,ca=[];function T(Me){let Bn=Me.match(zn);return Bn?Bn[0].trimLeft():""}function z(Me){let Bn=Me.match(zn);return Bn&&Bn[0]?Me.substring(Bn[0].length):Me}function w2(Me){return C(Me).pragmas}function C(Me){let zn=(0,b().default)(Me)||g().EOL;Me=Me.replace(Hn,"").replace(Bn,"").replace(oa,"$1");let ts="";for(;ts!==Me;)ts=Me,Me=Me.replace(Ps,`${zn}$1 $2${zn}`);Me=Me.replace(Ci,"").trimRight();let _a=Object.create(null),xa=Me.replace(aa,"").replace(Ci,"").trimRight(),Ga;for(;Ga=aa.exec(Me);){let Me=Ga[2].replace(ni,"");typeof _a[Ga[1]]=="string"||Array.isArray(_a[Ga[1]])?_a[Ga[1]]=ca.concat(_a[Ga[1]],Me):_a[Ga[1]]=Me}return{comments:xa,pragmas:_a}}function J(Me){let{comments:Bn="",pragmas:Hn={}}=Me,zn=(0,b().default)(Bn)||g().EOL,ni="/**",Ci=" *",ts=" */",Ps=Object.keys(Hn),aa=Ps.map((Me=>p(Me,Hn[Me]))).reduce(((Me,Bn)=>Me.concat(Bn)),[]).map((Me=>`${Ci} ${Me}${zn}`)).join("");if(!Bn){if(Ps.length===0)return"";if(Ps.length===1&&!Array.isArray(Hn[Ps[0]])){let Me=Hn[Ps[0]];return`${ni} ${p(Ps[0],Me)[0]}${ts}`}}let oa=Bn.split(zn).map((Me=>`${Ci} ${Me}`)).join(zn)+zn;return ni+zn+(Bn?oa:"")+(Bn&&Ps.length?Ci+zn:"")+aa+ts}function p(Me,Bn){return ca.concat(Bn).map((Bn=>`@${Me} ${Bn}`.trim()))}}}),tc=t2({"src/common/end-of-line.js"(Me,Bn){"use strict";ts();function b(Me){let Bn=Me.indexOf("\r");return Bn>=0?Me.charAt(Bn+1)===`\n`?"crlf":"cr":"lf"}function f(Me){switch(Me){case"cr":return"\r";case"crlf":return`\r\n`;default:return`\n`}}function A(Me,Bn){let Hn;switch(Bn){case`\n`:Hn=/\n/g;break;case"\r":Hn=/\r/g;break;case`\r\n`:Hn=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(Bn)}.`)}let zn=Me.match(Hn);return zn?zn.length:0}function L(Me){return Me.replace(/\r\n?/g,`\n`)}Bn.exports={guessEndOfLine:b,convertEndOfLineToChars:f,countEndOfLineChars:A,normalizeEndOfLine:L}}}),dc=t2({"src/language-js/utils/get-shebang.js"(Me,Bn){"use strict";ts();function b(Me){if(!Me.startsWith("#!"))return"";let Bn=Me.indexOf(`\n`);return Bn===-1?Me:Me.slice(0,Bn)}Bn.exports=b}}),Fc=t2({"src/language-js/pragma.js"(Me,Bn){"use strict";ts();var{parseWithComments:Hn,strip:zn,extract:ni,print:Ci}=Jo(),{normalizeEndOfLine:Ps}=tc(),aa=dc();function r(Me){let Bn=aa(Me);Bn&&(Me=Me.slice(Bn.length+1));let zn=ni(Me),{pragmas:Ci,comments:ts}=Hn(zn);return{shebang:Bn,text:Me,pragmas:Ci,comments:ts}}function X(Me){let Bn=Object.keys(r(Me).pragmas);return Bn.includes("prettier")||Bn.includes("format")}function Y(Me){let{shebang:Bn,text:Hn,pragmas:ni,comments:ts}=r(Me),aa=zn(Hn),oa=Ci({pragmas:Object.assign({format:""},ni),comments:ts.trimStart()});return(Bn?`${Bn}\n`:"")+Ps(oa)+(aa.startsWith(`\n`)?`\n`:`\n\n`)+aa}Bn.exports={hasPragma:X,insertPragma:Y}}}),Jc=t2({"src/utils/is-non-empty-array.js"(Me,Bn){"use strict";ts();function b(Me){return Array.isArray(Me)&&Me.length>0}Bn.exports=b}}),Dp=t2({"src/language-js/loc.js"(Me,Bn){"use strict";ts();var Hn=Jc();function f(Me){var Bn,zn;let ni=Me.range?Me.range[0]:Me.start,Ci=(Bn=(zn=Me.declaration)===null||zn===void 0?void 0:zn.decorators)!==null&&Bn!==void 0?Bn:Me.decorators;return Hn(Ci)?Math.min(f(Ci[0]),ni):ni}function A(Me){return Me.range?Me.range[1]:Me.end}function L(Me,Bn){let Hn=f(Me);return Number.isInteger(Hn)&&Hn===f(Bn)}function S(Me,Bn){let Hn=A(Me);return Number.isInteger(Hn)&&Hn===A(Bn)}function V(Me,Bn){return L(Me,Bn)&&S(Me,Bn)}Bn.exports={locStart:f,locEnd:A,hasSameLocStart:L,hasSameLoc:V}}}),kp=t2({"src/language-js/parse/utils/create-parser.js"(Me,Bn){"use strict";ts();var{hasPragma:Hn}=Fc(),{locStart:zn,locEnd:ni}=Dp();function L(Me){return Me=typeof Me=="function"?{parse:Me}:Me,Object.assign({astFormat:"estree",hasPragma:Hn,locStart:zn,locEnd:ni},Me)}Bn.exports=L}}),Qp=t2({"src/language-js/utils/is-ts-keyword-type.js"(Me,Bn){"use strict";ts();function b(Me){let{type:Bn}=Me;return Bn.startsWith("TS")&&Bn.endsWith("Keyword")}Bn.exports=b}}),Up=t2({"src/language-js/utils/is-block-comment.js"(Me,Bn){"use strict";ts();var Hn=new Set(["Block","CommentBlock","MultiLine"]),f=Me=>Hn.has(Me==null?void 0:Me.type);Bn.exports=f}}),Vp=t2({"src/language-js/utils/is-type-cast-comment.js"(Me,Bn){"use strict";ts();var Hn=Up();function f(Me){return Hn(Me)&&Me.value[0]==="*"&&/@(?:type|satisfies)\b/.test(Me.value)}Bn.exports=f}}),qp=t2({"src/utils/get-last.js"(Me,Bn){"use strict";ts();var b=Me=>Me[Me.length-1];Bn.exports=b}}),Jp=t2({"src/language-js/parse/postprocess/visit-node.js"(Me,Bn){"use strict";ts();function b(Me,Bn){if(Array.isArray(Me)){for(let Hn=0;Hn{Me.leadingComments&&Me.leadingComments.some(Ci)&&Bn.add(Hn(Me))})),Me=aa(Me,(Me=>{if(Me.type==="ParenthesizedExpression"){let{expression:zn}=Me;if(zn.type==="TypeCastExpression")return zn.range=Me.range,zn;let ni=Hn(Me);if(!Bn.has(ni))return zn.extra=Object.assign(Object.assign({},zn.extra),{},{parenthesized:!0}),zn}}))}return Me=aa(Me,(Me=>{switch(Me.type){case"ChainExpression":return Y(Me.expression);case"LogicalExpression":{if(G(Me))return u2(Me);break}case"VariableDeclaration":{let Bn=Ps(Me.declarations);Bn&&Bn.init&&w2(Me,Bn);break}case"TSParenthesizedType":return ni(Me.typeAnnotation)||Me.typeAnnotation.type==="TSThisType"||(Me.typeAnnotation.range=[Hn(Me),zn(Me)]),Me.typeAnnotation;case"TSTypeParameter":if(typeof Me.name=="string"){let Bn=Hn(Me);Me.name={type:"Identifier",name:Me.name,range:[Bn,Bn+Me.name.length]}}break;case"ObjectExpression":if(Bn.parser==="typescript"){let Bn=Me.properties.find((Me=>Me.type==="Property"&&Me.value.type==="TSEmptyBodyFunctionExpression"));Bn&&oa(Bn.value,"Unexpected token.")}break;case"SequenceExpression":{let Bn=Ps(Me.expressions);Me.range=[Hn(Me),Math.min(zn(Bn),zn(Me))];break}case"TopicReference":Bn.__isUsingHackPipeline=!0;break;case"ExportAllDeclaration":{let{exported:ni}=Me;if(Bn.parser==="meriyah"&&ni&&ni.type==="Identifier"){let Ci=Bn.originalText.slice(Hn(ni),zn(ni));(Ci.startsWith('"')||Ci.startsWith("'"))&&(Me.exported=Object.assign(Object.assign({},Me.exported),{},{type:"Literal",value:Me.exported.name,raw:Ci}))}break}case"PropertyDefinition":if(Bn.parser==="meriyah"&&Me.static&&!Me.computed&&!Me.key){let Bn="static",zn=Hn(Me);Object.assign(Me,{static:!1,key:{type:"Identifier",name:Bn,range:[zn,zn+Bn.length]}})}break}})),Me;function w2(Me,ni){Bn.originalText[zn(ni)]!==";"&&(Me.range=[Hn(Me),zn(ni)])}}function Y(Me){switch(Me.type){case"CallExpression":Me.type="OptionalCallExpression",Me.callee=Y(Me.callee);break;case"MemberExpression":Me.type="OptionalMemberExpression",Me.object=Y(Me.object);break;case"TSNonNullExpression":Me.expression=Y(Me.expression);break}return Me}function G(Me){return Me.type==="LogicalExpression"&&Me.right.type==="LogicalExpression"&&Me.operator===Me.right.operator}function u2(Me){return G(Me)?u2({type:"LogicalExpression",operator:Me.operator,left:u2({type:"LogicalExpression",operator:Me.operator,left:Me.left,right:Me.right.left,range:[Hn(Me.left),zn(Me.right.left)]}),right:Me.right.right,range:[Hn(Me),zn(Me)]}):Me}Bn.exports=X}}),Qf=t2({"node_modules/meriyah/dist/meriyah.cjs"(Me){"use strict";ts(),Object.defineProperty(Me,"__esModule",{value:!0});var Bn={[0]:"Unexpected token",[28]:"Unexpected token: '%0'",[1]:"Octal escape sequences are not allowed in strict mode",[2]:"Octal escape sequences are not allowed in template strings",[3]:"Unexpected token `#`",[4]:"Illegal Unicode escape sequence",[5]:"Invalid code point %0",[6]:"Invalid hexadecimal escape sequence",[8]:"Octal literals are not allowed in strict mode",[7]:"Decimal integer literals with a leading zero are forbidden in strict mode",[9]:"Expected number in radix %0",[145]:"Invalid left-hand side assignment to a destructible right-hand side",[10]:"Non-number found after exponent indicator",[11]:"Invalid BigIntLiteral",[12]:"No identifiers allowed directly after numeric literal",[13]:"Escapes \\8 or \\9 are not syntactically valid escapes",[14]:"Unterminated string literal",[15]:"Unterminated template literal",[16]:"Multiline comment was not closed properly",[17]:"The identifier contained dynamic unicode escape that was not closed",[18]:"Illegal character '%0'",[19]:"Missing hexadecimal digits",[20]:"Invalid implicit octal",[21]:"Invalid line break in string literal",[22]:"Only unicode escapes are legal in identifier names",[23]:"Expected '%0'",[24]:"Invalid left-hand side in assignment",[25]:"Invalid left-hand side in async arrow",[26]:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',[27]:"Member access on super must be in a method",[29]:"Await expression not allowed in formal parameter",[30]:"Yield expression not allowed in formal parameter",[92]:"Unexpected token: 'escaped keyword'",[31]:"Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses",[119]:"Async functions can only be declared at the top level or inside a block",[32]:"Unterminated regular expression",[33]:"Unexpected regular expression flag",[34]:"Duplicate regular expression flag '%0'",[35]:"%0 functions must have exactly %1 argument%2",[36]:"Setter function argument must not be a rest parameter",[37]:"%0 declaration must have a name in this context",[38]:"Function name may not contain any reserved words or be eval or arguments in strict mode",[39]:"The rest operator is missing an argument",[40]:"A getter cannot be a generator",[41]:"A computed property name must be followed by a colon or paren",[130]:"Object literal keys that are strings or numbers must be a method or have a colon",[43]:"Found `* async x(){}` but this should be `async * x(){}`",[42]:"Getters and setters can not be generators",[44]:"'%0' can not be generator method",[45]:"No line break is allowed after '=>'",[46]:"The left-hand side of the arrow can only be destructed through assignment",[47]:"The binding declaration is not destructible",[48]:"Async arrow can not be followed by new expression",[49]:"Classes may not have a static property named 'prototype'",[50]:"Class constructor may not be a %0",[51]:"Duplicate constructor method in class",[52]:"Invalid increment/decrement operand",[53]:"Invalid use of `new` keyword on an increment/decrement expression",[54]:"`=>` is an invalid assignment target",[55]:"Rest element may not have a trailing comma",[56]:"Missing initializer in %0 declaration",[57]:"'for-%0' loop head declarations can not have an initializer",[58]:"Invalid left-hand side in for-%0 loop: Must have a single binding",[59]:"Invalid shorthand property initializer",[60]:"Property name __proto__ appears more than once in object literal",[61]:"Let is disallowed as a lexically bound name",[62]:"Invalid use of '%0' inside new expression",[63]:"Illegal 'use strict' directive in function with non-simple parameter list",[64]:'Identifier "let" disallowed as left-hand side expression in strict mode',[65]:"Illegal continue statement",[66]:"Illegal break statement",[67]:"Cannot have `let[...]` as a var name in strict mode",[68]:"Invalid destructuring assignment target",[69]:"Rest parameter may not have a default initializer",[70]:"The rest argument must the be last parameter",[71]:"Invalid rest argument",[73]:"In strict mode code, functions can only be declared at top level or inside a block",[74]:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement",[75]:"Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement",[76]:"Class declaration can't appear in single-statement context",[77]:"Invalid left-hand side in for-%0",[78]:"Invalid assignment in for-%0",[79]:"for await (... of ...) is only valid in async functions and async generators",[80]:"The first token after the template expression should be a continuation of the template",[82]:"`let` declaration not allowed here and `let` cannot be a regular var name in strict mode",[81]:"`let \n [` is a restricted production at the start of a statement",[83]:"Catch clause requires exactly one parameter, not more (and no trailing comma)",[84]:"Catch clause parameter does not support default values",[85]:"Missing catch or finally after try",[86]:"More than one default clause in switch statement",[87]:"Illegal newline after throw",[88]:"Strict mode code may not include a with statement",[89]:"Illegal return statement",[90]:"The left hand side of the for-header binding declaration is not destructible",[91]:"new.target only allowed within functions",[93]:"'#' not followed by identifier",[99]:"Invalid keyword",[98]:"Can not use 'let' as a class name",[97]:"'A lexical declaration can't define a 'let' binding",[96]:"Can not use `let` as variable name in strict mode",[94]:"'%0' may not be used as an identifier in this context",[95]:"Await is only valid in async functions",[100]:"The %0 keyword can only be used with the module goal",[101]:"Unicode codepoint must not be greater than 0x10FFFF",[102]:"%0 source must be string",[103]:"Only a identifier can be used to indicate alias",[104]:"Only '*' or '{...}' can be imported after default",[105]:"Trailing decorator may be followed by method",[106]:"Decorators can't be used with a constructor",[108]:"HTML comments are only allowed with web compatibility (Annex B)",[109]:"The identifier 'let' must not be in expression position in strict mode",[110]:"Cannot assign to `eval` and `arguments` in strict mode",[111]:"The left-hand side of a for-of loop may not start with 'let'",[112]:"Block body arrows can not be immediately invoked without a group",[113]:"Block body arrows can not be immediately accessed without a group",[114]:"Unexpected strict mode reserved word",[115]:"Unexpected eval or arguments in strict mode",[116]:"Decorators must not be followed by a semicolon",[117]:"Calling delete on expression not allowed in strict mode",[118]:"Pattern can not have a tail",[120]:"Can not have a `yield` expression on the left side of a ternary",[121]:"An arrow function can not have a postfix update operator",[122]:"Invalid object literal key character after generator star",[123]:"Private fields can not be deleted",[125]:"Classes may not have a field called constructor",[124]:"Classes may not have a private element named constructor",[126]:"A class field initializer may not contain arguments",[127]:"Generators can only be declared at the top level or inside a block",[128]:"Async methods are a restricted production and cannot have a newline following it",[129]:"Unexpected character after object literal property name",[131]:"Invalid key token",[132]:"Label '%0' has already been declared",[133]:"continue statement must be nested within an iteration statement",[134]:"Undefined label '%0'",[135]:"Trailing comma is disallowed inside import(...) arguments",[136]:"import() requires exactly one argument",[137]:"Cannot use new with import(...)",[138]:"... is not allowed in import()",[139]:"Expected '=>'",[140]:"Duplicate binding '%0'",[141]:"Cannot export a duplicate name '%0'",[144]:"Duplicate %0 for-binding",[142]:"Exported binding '%0' needs to refer to a top-level declared variable",[143]:"Unexpected private field",[147]:"Numeric separators are not allowed at the end of numeric literals",[146]:"Only one underscore is allowed as numeric separator",[148]:"JSX value should be either an expression or a quoted JSX text",[149]:"Expected corresponding JSX closing tag for %0",[150]:"Adjacent JSX elements must be wrapped in an enclosing tag",[151]:"JSX attributes must only be assigned a non-empty 'expression'",[152]:"'%0' has already been declared",[153]:"'%0' shadowed a catch clause binding",[154]:"Dot property must be an identifier",[155]:"Encountered invalid input after spread/rest argument",[156]:"Catch without try",[157]:"Finally without try",[158]:"Expected corresponding closing tag for JSX fragment",[159]:"Coalescing and logical operators used together in the same expression must be disambiguated with parentheses",[160]:"Invalid tagged template on optional chain",[161]:"Invalid optional chain from super property",[162]:"Invalid optional chain from new expression",[163]:'Cannot use "import.meta" outside a module',[164]:"Leading decorators must be attached to a class declaration"},Hn=class extends SyntaxError{constructor(Me,Hn,zn,ni){for(var Ci=arguments.length,ts=new Array(Ci>4?Ci-4:0),Ps=4;Psts[Bn]));super(`${aa}`),this.index=Me,this.line=Hn,this.column=zn,this.description=aa,this.loc={line:Hn,column:zn}}};function f(Me,Bn){for(var zn=arguments.length,ni=new Array(zn>2?zn-2:0),Ci=2;Ci4?Ci-4:0),Ps=4;Ps{let Hn=new Uint32Array(104448),zn=0,ni=0;for(;zn<3540;){let Ci=Me[zn++];if(Ci<0)ni-=Ci;else{let ts=Me[zn++];Ci&2&&(ts=Bn[ts]),Ci&1?Hn.fill(ts,ni,ni+=Me[zn++]):Hn[ni++]=ts}}return Hn})([-1,2,24,2,25,2,5,-1,0,77595648,3,44,2,3,0,14,2,57,2,58,3,0,3,0,3168796671,0,4294956992,2,1,2,0,2,59,3,0,4,0,4294966523,3,0,4,2,16,2,60,2,0,0,4294836735,0,3221225471,0,4294901942,2,61,0,134152192,3,0,2,0,4294951935,3,0,2,0,2683305983,0,2684354047,2,17,2,0,0,4294961151,3,0,2,2,19,2,0,0,608174079,2,0,2,131,2,6,2,56,-1,2,37,0,4294443263,2,1,3,0,3,0,4294901711,2,39,0,4089839103,0,2961209759,0,1342439375,0,4294543342,0,3547201023,0,1577204103,0,4194240,0,4294688750,2,2,0,80831,0,4261478351,0,4294549486,2,2,0,2967484831,0,196559,0,3594373100,0,3288319768,0,8469959,2,194,2,3,0,3825204735,0,123747807,0,65487,0,4294828015,0,4092591615,0,1080049119,0,458703,2,3,2,0,0,2163244511,0,4227923919,0,4236247022,2,66,0,4284449919,0,851904,2,4,2,11,0,67076095,-1,2,67,0,1073741743,0,4093591391,-1,0,50331649,0,3265266687,2,32,0,4294844415,0,4278190047,2,18,2,129,-1,3,0,2,2,21,2,0,2,9,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,10,0,261632,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,2088959,2,27,2,8,0,909311,3,0,2,0,814743551,2,41,0,67057664,3,0,2,2,40,2,0,2,28,2,0,2,29,2,7,0,268374015,2,26,2,49,2,0,2,76,0,134153215,-1,2,6,2,0,2,7,0,2684354559,0,67044351,0,3221160064,0,1,-1,3,0,2,2,42,0,1046528,3,0,3,2,8,2,0,2,51,0,4294960127,2,9,2,38,2,10,0,4294377472,2,11,3,0,7,0,4227858431,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-1,2,124,0,1048577,2,82,2,13,-1,2,13,0,131042,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,1046559,2,0,2,14,2,0,0,2147516671,2,20,3,86,2,2,0,-16,2,87,0,524222462,2,4,2,0,0,4269801471,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,2,121,2,0,0,3220242431,3,0,3,2,19,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,2,0,0,4351,2,0,2,8,3,0,2,0,67043391,0,3909091327,2,0,2,22,2,8,2,18,3,0,2,0,67076097,2,7,2,0,2,20,0,67059711,0,4236247039,3,0,2,0,939524103,0,8191999,2,97,2,98,2,15,2,21,3,0,3,0,67057663,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,3774349439,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,2,23,0,1638399,2,172,2,105,3,0,3,2,18,2,24,2,25,2,5,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-3,2,150,-4,2,18,2,0,2,35,0,1,2,0,2,62,2,28,2,11,2,9,2,0,2,110,-1,3,0,4,2,9,2,21,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277137519,0,2269118463,-1,3,18,2,-1,2,32,2,36,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,46,-10,2,0,0,203775,-2,2,18,2,43,2,35,-2,2,17,2,117,2,20,3,0,2,2,36,0,2147549120,2,0,2,11,2,17,2,135,2,0,2,37,2,52,0,5242879,3,0,2,0,402644511,-1,2,120,0,1090519039,-2,2,122,2,38,2,0,0,67045375,2,39,0,4226678271,0,3766565279,0,2039759,-4,3,0,2,0,3288270847,0,3,3,0,2,0,67043519,-5,2,0,0,4282384383,0,1056964609,-1,3,0,2,0,67043345,-1,2,0,2,40,2,41,-1,2,10,2,42,-6,2,0,2,11,-3,3,0,2,0,2147484671,2,125,0,4190109695,2,50,-2,2,126,0,4244635647,0,27,2,0,2,7,2,43,2,0,2,63,-1,2,0,2,40,-8,2,54,2,44,0,67043329,2,127,2,45,0,8388351,-2,2,128,0,3028287487,2,46,2,130,0,33259519,2,41,-9,2,20,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,2,41,-2,2,17,2,49,2,0,2,20,2,50,2,132,2,23,-21,3,0,2,-4,3,0,2,0,4294936575,2,0,0,4294934783,-2,0,196635,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,0,1677656575,-166,0,4161266656,0,4071,0,15360,-4,0,28,-13,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,0,4294954999,2,0,-16,2,0,2,88,2,0,0,2105343,0,4160749584,0,65534,-42,0,4194303871,0,2011,-6,2,0,0,1073684479,0,17407,-11,2,0,2,31,-40,3,0,6,0,8323103,-1,3,0,2,2,42,-37,2,55,2,144,2,145,2,146,2,147,2,148,-105,2,24,-32,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-22381,3,0,7,2,23,-6130,3,5,2,-1,0,69207040,3,44,2,3,0,14,2,57,2,58,-3,0,3168731136,0,4294956864,2,1,2,0,2,59,3,0,4,0,4294966275,3,0,4,2,16,2,60,2,0,2,33,-1,2,17,2,61,-1,2,0,2,56,0,4294885376,3,0,2,0,3145727,0,2617294944,0,4294770688,2,23,2,62,3,0,2,0,131135,2,95,0,70256639,0,71303167,0,272,2,40,2,56,-1,2,37,2,30,-1,2,96,2,63,0,4278255616,0,4294836227,0,4294549473,0,600178175,0,2952806400,0,268632067,0,4294543328,0,57540095,0,1577058304,0,1835008,0,4294688736,2,65,2,64,0,33554435,2,123,2,65,2,151,0,131075,0,3594373096,0,67094296,2,64,-1,0,4294828e3,0,603979263,2,160,0,3,0,4294828001,0,602930687,2,183,0,393219,0,4294828016,0,671088639,0,2154840064,0,4227858435,0,4236247008,2,66,2,36,-1,2,4,0,917503,2,36,-1,2,67,0,537788335,0,4026531935,-1,0,1,-1,2,32,2,68,0,7936,-3,2,0,0,2147485695,0,1010761728,0,4292984930,0,16387,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,11,-1,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,253951,3,19,2,0,122879,2,0,2,8,0,276824064,-2,3,0,2,2,40,2,0,0,4294903295,2,0,2,29,2,7,-1,2,17,2,49,2,0,2,76,2,41,-1,2,20,2,0,2,27,-2,0,128,-2,2,77,2,8,0,4064,-1,2,119,0,4227907585,2,0,2,118,2,0,2,48,2,173,2,9,2,38,2,10,-1,0,74440192,3,0,6,-2,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-3,2,82,2,13,-3,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,817183,2,0,2,14,2,0,0,33023,2,20,3,86,2,-17,2,87,0,524157950,2,4,2,0,2,88,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,0,3072,2,0,0,2147516415,2,9,3,0,2,2,23,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,0,4294965179,0,7,2,0,2,8,2,91,2,8,-1,0,1761345536,2,95,0,4294901823,2,36,2,18,2,96,2,34,2,166,0,2080440287,2,0,2,33,2,143,0,3296722943,2,0,0,1046675455,0,939524101,0,1837055,2,97,2,98,2,15,2,21,3,0,3,0,7,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,2700607615,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,-3,2,105,3,0,3,2,18,-1,3,5,2,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-8,2,18,2,0,2,35,-1,2,0,2,62,2,28,2,29,2,9,2,0,2,110,-1,3,0,4,2,9,2,17,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277075969,2,29,-1,3,18,2,-1,2,32,2,117,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,48,-10,2,0,0,197631,-2,2,18,2,43,2,118,-2,2,17,2,117,2,20,2,119,2,51,-2,2,119,2,23,2,17,2,33,2,119,2,36,0,4294901904,0,4718591,2,119,2,34,0,335544350,-1,2,120,2,121,-2,2,122,2,38,2,7,-1,2,123,2,65,0,3758161920,0,3,-4,2,0,2,27,0,2147485568,0,3,2,0,2,23,0,176,-5,2,0,2,47,2,186,-1,2,0,2,23,2,197,-1,2,0,0,16779263,-2,2,11,-7,2,0,2,121,-3,3,0,2,2,124,2,125,0,2147549183,0,2,-2,2,126,2,35,0,10,0,4294965249,0,67633151,0,4026597376,2,0,0,536871935,-1,2,0,2,40,-8,2,54,2,47,0,1,2,127,2,23,-3,2,128,2,35,2,129,2,130,0,16778239,-10,2,34,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,-3,2,17,2,131,2,0,2,23,2,48,2,132,2,23,-21,3,0,2,-4,3,0,2,0,67583,-1,2,103,-2,0,11,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,2,135,-187,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,2,143,-73,2,0,0,1065361407,0,16384,-11,2,0,2,121,-40,3,0,6,2,117,-1,3,0,2,0,2063,-37,2,55,2,144,2,145,2,146,2,147,2,148,-138,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-28517,2,0,0,1,-1,2,124,2,0,0,8193,-21,2,193,0,10255,0,4,-11,2,64,2,171,-1,0,71680,-1,2,161,0,4292900864,0,805306431,-5,2,150,-1,2,157,-1,0,6144,-2,2,127,-1,2,154,-1,0,2147532800,2,151,2,165,2,0,2,164,0,524032,0,4,-4,2,190,0,205128192,0,1333757536,0,2147483696,0,423953,0,747766272,0,2717763192,0,4286578751,0,278545,2,152,0,4294886464,0,33292336,0,417809,2,152,0,1327482464,0,4278190128,0,700594195,0,1006647527,0,4286497336,0,4160749631,2,153,0,469762560,0,4171219488,0,8323120,2,153,0,202375680,0,3214918176,0,4294508592,2,153,-1,0,983584,0,48,0,58720273,0,3489923072,0,10517376,0,4293066815,0,1,0,2013265920,2,177,2,0,0,2089,0,3221225552,0,201375904,2,0,-2,0,256,0,122880,0,16777216,2,150,0,4160757760,2,0,-6,2,167,-11,0,3263218176,-1,0,49664,0,2160197632,0,8388802,-1,0,12713984,-1,2,154,2,159,2,178,-2,2,162,-20,0,3758096385,-2,2,155,0,4292878336,2,90,2,169,0,4294057984,-2,2,163,2,156,2,175,-2,2,155,-1,2,182,-1,2,170,2,124,0,4026593280,0,14,0,4292919296,-1,2,158,0,939588608,-1,0,805306368,-1,2,124,0,1610612736,2,156,2,157,2,4,2,0,-2,2,158,2,159,-3,0,267386880,-1,2,160,0,7168,-1,0,65024,2,154,2,161,2,179,-7,2,168,-8,2,162,-1,0,1426112704,2,163,-1,2,164,0,271581216,0,2149777408,2,23,2,161,2,124,0,851967,2,180,-1,2,23,2,181,-4,2,158,-20,2,195,2,165,-56,0,3145728,2,185,-4,2,166,2,124,-4,0,32505856,-1,2,167,-1,0,2147385088,2,90,1,2155905152,2,-3,2,103,2,0,2,168,-2,2,169,-6,2,170,0,4026597375,0,1,-1,0,1,-1,2,171,-3,2,117,2,64,-2,2,166,-2,2,176,2,124,-878,2,159,-36,2,172,-1,2,201,-10,2,188,-5,2,174,-6,0,4294965251,2,27,-1,2,173,-1,2,174,-2,0,4227874752,-3,0,2146435072,2,159,-2,0,1006649344,2,124,-1,2,90,0,201375744,-3,0,134217720,2,90,0,4286677377,0,32896,-1,2,158,-3,2,175,-349,2,176,0,1920,2,177,3,0,264,-11,2,157,-2,2,178,2,0,0,520617856,0,2692743168,0,36,-3,0,524284,-11,2,23,-1,2,187,-1,2,184,0,3221291007,2,178,-1,2,202,0,2158720,-3,2,159,0,1,-4,2,124,0,3808625411,0,3489628288,2,200,0,1207959680,0,3221274624,2,0,-3,2,179,0,120,0,7340032,-2,2,180,2,4,2,23,2,163,3,0,4,2,159,-1,2,181,2,177,-1,0,8176,2,182,2,179,2,183,-1,0,4290773232,2,0,-4,2,163,2,189,0,15728640,2,177,-1,2,161,-1,0,4294934512,3,0,4,-9,2,90,2,170,2,184,3,0,4,0,704,0,1849688064,2,185,-1,2,124,0,4294901887,2,0,0,130547712,0,1879048192,2,199,3,0,2,-1,2,186,2,187,-1,0,17829776,0,2025848832,0,4261477888,-2,2,0,-1,0,4286580608,-1,0,29360128,2,192,0,16252928,0,3791388672,2,38,3,0,2,-2,2,196,2,0,-1,2,103,-1,0,66584576,-1,2,191,3,0,9,2,124,-1,0,4294755328,3,0,2,-1,2,161,2,178,3,0,2,2,23,2,188,2,90,-2,0,245760,0,2147418112,-1,2,150,2,203,0,4227923456,-1,2,164,2,161,2,90,-3,0,4292870145,0,262144,2,124,3,0,2,0,1073758848,2,189,-1,0,4227921920,2,190,0,68289024,0,528402016,0,4292927536,3,0,4,-2,0,268435456,2,91,-2,2,191,3,0,5,-1,2,192,2,163,2,0,-2,0,4227923936,2,62,-1,2,155,2,95,2,0,2,154,2,158,3,0,6,-1,2,177,3,0,3,-2,0,2146959360,0,9440640,0,104857600,0,4227923840,3,0,2,0,768,2,193,2,77,-2,2,161,-2,2,119,-1,2,155,3,0,8,0,512,0,8388608,2,194,2,172,2,187,0,4286578944,3,0,2,0,1152,0,1266679808,2,191,0,576,0,4261707776,2,95,3,0,9,2,155,3,0,5,2,16,-1,0,2147221504,-28,2,178,3,0,3,-3,0,4292902912,-6,2,96,3,0,85,-33,0,4294934528,3,0,126,-18,2,195,3,0,269,-17,2,155,2,124,2,198,3,0,2,2,23,0,4290822144,-2,0,67174336,0,520093700,2,17,3,0,21,-2,2,179,3,0,3,-2,0,30720,-1,0,32512,3,0,2,0,4294770656,-191,2,174,-38,2,170,2,0,2,196,3,0,279,-8,2,124,2,0,0,4294508543,0,65295,-11,2,177,3,0,72,-3,0,3758159872,0,201391616,3,0,155,-7,2,170,-1,0,384,-1,0,133693440,-3,2,196,-2,2,26,3,0,4,2,169,-2,2,90,2,155,3,0,4,-2,2,164,-1,2,150,0,335552923,2,197,-1,0,538974272,0,2214592512,0,132e3,-10,0,192,-8,0,12288,-21,0,134213632,0,4294901761,3,0,42,0,100663424,0,4294965284,3,0,6,-1,0,3221282816,2,198,3,0,11,-1,2,199,3,0,40,-6,0,4286578784,2,0,-2,0,1006694400,3,0,24,2,35,-1,2,94,3,0,2,0,1,2,163,3,0,6,2,197,0,4110942569,0,1432950139,0,2701658217,0,4026532864,0,4026532881,2,0,2,45,3,0,8,-1,2,158,-2,2,169,0,98304,0,65537,2,170,-5,0,4294950912,2,0,2,118,0,65528,2,177,0,4294770176,2,26,3,0,4,-30,2,174,0,3758153728,-3,2,169,-2,2,155,2,188,2,158,-1,2,191,-1,2,161,0,4294754304,3,0,2,-3,0,33554432,-2,2,200,-3,2,169,0,4175478784,2,201,0,4286643712,0,4286644216,2,0,-4,2,202,-1,2,165,0,4227923967,3,0,32,-1334,2,163,2,0,-129,2,94,-6,2,163,-180,2,203,-233,2,4,3,0,96,-16,2,163,3,0,47,-154,2,165,3,0,22381,-7,2,17,3,0,6128],[4294967295,4294967291,4092460543,4294828031,4294967294,134217726,268435455,2147483647,1048575,1073741823,3892314111,134217727,1061158911,536805376,4294910143,4160749567,4294901759,4294901760,536870911,262143,8388607,4294902783,4294918143,65535,67043328,2281701374,4294967232,2097151,4294903807,4194303,255,67108863,4294967039,511,524287,131071,127,4292870143,4294902271,4294549487,33554431,1023,67047423,4294901888,4286578687,4294770687,67043583,32767,15,2047999,67043343,16777215,4294902e3,4294934527,4294966783,4294967279,2047,262083,20511,4290772991,41943039,493567,4294959104,603979775,65536,602799615,805044223,4294965206,8191,1031749119,4294917631,2134769663,4286578493,4282253311,4294942719,33540095,4294905855,4294967264,2868854591,1608515583,265232348,534519807,2147614720,1060109444,4093640016,17376,2139062143,224,4169138175,4294909951,4286578688,4294967292,4294965759,2044,4292870144,4294966272,4294967280,8289918,4294934399,4294901775,4294965375,1602223615,4294967259,4294443008,268369920,4292804608,486341884,4294963199,3087007615,1073692671,4128527,4279238655,4294902015,4294966591,2445279231,3670015,3238002687,31,63,4294967288,4294705151,4095,3221208447,4294549472,2147483648,4285526655,4294966527,4294705152,4294966143,64,4294966719,16383,3774873592,458752,536807423,67043839,3758096383,3959414372,3755993023,2080374783,4294835295,4294967103,4160749565,4087,184024726,2862017156,1593309078,268434431,268434414,4294901763,536870912,2952790016,202506752,139264,402653184,4261412864,4227922944,49152,61440,3758096384,117440512,65280,3233808384,3221225472,2097152,4294965248,32768,57152,67108864,4293918720,4290772992,25165824,57344,4227915776,4278190080,4227907584,65520,4026531840,4227858432,4160749568,3758129152,4294836224,63488,1073741824,4294967040,4194304,251658240,196608,4294963200,64512,417808,4227923712,12582912,50331648,65472,4294967168,4294966784,16,4294917120,2080374784,4096,65408,524288,65532]);function r(Me){return Me.column++,Me.currentChar=Me.source.charCodeAt(++Me.index)}function X(Me,Bn){if((Bn&64512)!==55296)return 0;let Hn=Me.source.charCodeAt(Me.index+1);return(Hn&64512)!==56320?0:(Bn=Me.currentChar=65536+((Bn&1023)<<10)+(Hn&1023),zn[(Bn>>>5)+0]>>>Bn&31&1||f(Me,18,T(Bn)),Me.index++,Me.column++,1)}function Y(Me,Bn){Me.currentChar=Me.source.charCodeAt(++Me.index),Me.flags|=1,Bn&4||(Me.column=0,Me.line++)}function G(Me){Me.flags|=1,Me.currentChar=Me.source.charCodeAt(++Me.index),Me.column=0,Me.line++}function u2(Me){return Me===160||Me===65279||Me===133||Me===5760||Me>=8192&&Me<=8203||Me===8239||Me===8287||Me===12288||Me===8201||Me===65519}function T(Me){return Me<=65535?String.fromCharCode(Me):String.fromCharCode(Me>>>10)+String.fromCharCode(Me&1023)}function z(Me){return Me<65?Me-48:Me-65+10&15}function w2(Me){switch(Me){case 134283266:return"NumericLiteral";case 134283267:return"StringLiteral";case 86021:case 86022:return"BooleanLiteral";case 86023:return"NullLiteral";case 65540:return"RegularExpression";case 67174408:case 67174409:case 132:return"TemplateLiteral";default:return(Me&143360)===143360?"Identifier":(Me&4096)===4096?"Keyword":"Punctuator"}}var ni=[0,0,0,0,0,0,0,0,0,0,1032,0,0,2056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8192,0,3,0,0,8192,0,0,0,256,0,33024,0,0,242,242,114,114,114,114,114,114,594,594,0,0,16384,0,0,0,0,67,67,67,67,67,67,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,0,4099,0,71,71,71,71,71,71,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,16384,0,0,0,0],Ci=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0],Ps=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0];function U(Me){return Me<=127?Ci[Me]:zn[(Me>>>5)+34816]>>>Me&31&1}function e2(Me){return Me<=127?Ps[Me]:zn[(Me>>>5)+0]>>>Me&31&1||Me===8204||Me===8205}var aa=["SingleLine","MultiLine","HTMLOpen","HTMLClose","HashbangComment"];function l2(Me){let Bn=Me.source;Me.currentChar===35&&Bn.charCodeAt(Me.index+1)===33&&(r(Me),r(Me),f2(Me,Bn,0,4,Me.tokenPos,Me.linePos,Me.colPos))}function V2(Me,Bn,Hn,zn,ni,Ci,ts,Ps){return zn&2048&&f(Me,0),f2(Me,Bn,Hn,ni,Ci,ts,Ps)}function f2(Me,Bn,Hn,zn,Ci,ts,Ps){let{index:oa}=Me;for(Me.tokenPos=Me.index,Me.linePos=Me.line,Me.colPos=Me.column;Me.index=Me.source.length)return f(Me,32)}let ni=Me.index-1,Ci=0,ts=Me.currentChar,{index:Ps}=Me;for(;e2(ts);){switch(ts){case 103:Ci&2&&f(Me,34,"g"),Ci|=2;break;case 105:Ci&1&&f(Me,34,"i"),Ci|=1;break;case 109:Ci&4&&f(Me,34,"m"),Ci|=4;break;case 117:Ci&16&&f(Me,34,"g"),Ci|=16;break;case 121:Ci&8&&f(Me,34,"y"),Ci|=8;break;case 115:Ci&32&&f(Me,34,"s"),Ci|=32;break;default:f(Me,33)}ts=r(Me)}let aa=Me.source.slice(Ps,Me.index),oa=Me.source.slice(Hn,ni);return Me.tokenRegExp={pattern:oa,flags:aa},Bn&512&&(Me.tokenRaw=Me.source.slice(Me.tokenPos,Me.index)),Me.tokenValue=V1(Me,oa,aa),65540}function V1(Me,Bn,Hn){try{return new RegExp(Bn,Hn)}catch{f(Me,32)}}function N1(Me,Bn,Hn){let{index:zn}=Me,Ci="",ts=r(Me),Ps=Me.index;for(;!(ni[ts]&8);){if(ts===Hn)return Ci+=Me.source.slice(Ps,Me.index),r(Me),Bn&512&&(Me.tokenRaw=Me.source.slice(zn,Me.index)),Me.tokenValue=Ci,134283267;if((ts&8)===8&&ts===92){if(Ci+=Me.source.slice(Ps,Me.index),ts=r(Me),ts<127||ts===8232||ts===8233){let Hn=a2(Me,Bn,ts);Hn>=0?Ci+=T(Hn):t1(Me,Hn,0)}else Ci+=T(ts);Ps=Me.index+1}Me.index>=Me.end&&f(Me,14),ts=r(Me)}f(Me,14)}function a2(Me,Bn,Hn){switch(Hn){case 98:return 8;case 102:return 12;case 114:return 13;case 110:return 10;case 116:return 9;case 118:return 11;case 13:if(Me.index1114111)return-5;return Me.currentChar<1||Me.currentChar!==125?-4:Bn}else{if(!(ni[Bn]&64))return-4;let Hn=Me.source.charCodeAt(Me.index+1);if(!(ni[Hn]&64))return-4;let zn=Me.source.charCodeAt(Me.index+2);if(!(ni[zn]&64))return-4;let Ci=Me.source.charCodeAt(Me.index+3);return ni[Ci]&64?(Me.index+=3,Me.column+=3,Me.currentChar=Me.source.charCodeAt(Me.index),z(Bn)<<12|z(Hn)<<8|z(zn)<<4|z(Ci)):-4}}case 56:case 57:if(!(Bn&256))return-3;default:return Hn}}function t1(Me,Bn,Hn){switch(Bn){case-1:return;case-2:f(Me,Hn?2:1);case-3:f(Me,13);case-4:f(Me,6);case-5:f(Me,101)}}function We(Me,Bn){let{index:Hn}=Me,zn=67174409,ni="",Ci=r(Me);for(;Ci!==96;){if(Ci===36&&Me.source.charCodeAt(Me.index+1)===123){r(Me),zn=67174408;break}else if((Ci&8)===8&&Ci===92)if(Ci=r(Me),Ci>126)ni+=T(Ci);else{let Hn=a2(Me,Bn|1024,Ci);if(Hn>=0)ni+=T(Hn);else if(Hn!==-1&&Bn&65536){ni=void 0,Ci=T0(Me,Ci),Ci<0&&(zn=67174408);break}else t1(Me,Hn,1)}else Me.index=Me.end&&f(Me,15),Ci=r(Me)}return r(Me),Me.tokenValue=ni,Me.tokenRaw=Me.source.slice(Hn+1,Me.index-(zn===67174409?1:2)),zn}function T0(Me,Bn){for(;Bn!==96;){switch(Bn){case 36:{let Hn=Me.index+1;if(Hn=Me.end&&f(Me,15),Bn=r(Me)}return Bn}function I0(Me,Bn){return Me.index>=Me.end&&f(Me,0),Me.index--,Me.column--,We(Me,Bn)}function Ke(Me,Bn,Hn){let zn=Me.currentChar,Ci=0,ts=9,Ps=Hn&64?0:1,aa=0,oa=0;if(Hn&64)Ci="."+o1(Me,zn),zn=Me.currentChar,zn===110&&f(Me,11);else{if(zn===48)if(zn=r(Me),(zn|32)===120){for(Hn=136,zn=r(Me);ni[zn]&4160;){if(zn===95){oa||f(Me,146),oa=0,zn=r(Me);continue}oa=1,Ci=Ci*16+z(zn),aa++,zn=r(Me)}(aa<1||!oa)&&f(Me,aa<1?19:147)}else if((zn|32)===111){for(Hn=132,zn=r(Me);ni[zn]&4128;){if(zn===95){oa||f(Me,146),oa=0,zn=r(Me);continue}oa=1,Ci=Ci*8+(zn-48),aa++,zn=r(Me)}(aa<1||!oa)&&f(Me,aa<1?0:147)}else if((zn|32)===98){for(Hn=130,zn=r(Me);ni[zn]&4224;){if(zn===95){oa||f(Me,146),oa=0,zn=r(Me);continue}oa=1,Ci=Ci*2+(zn-48),aa++,zn=r(Me)}(aa<1||!oa)&&f(Me,aa<1?0:147)}else if(ni[zn]&32)for(Bn&1024&&f(Me,1),Hn=1;ni[zn]&16;){if(ni[zn]&512){Hn=32,Ps=0;break}Ci=Ci*8+(zn-48),zn=r(Me)}else ni[zn]&512?(Bn&1024&&f(Me,1),Me.flags|=64,Hn=32):zn===95&&f(Me,0);if(Hn&48){if(Ps){for(;ts>=0&&ni[zn]&4112;){if(zn===95){zn=r(Me),(zn===95||Hn&32)&&S(Me.index,Me.line,Me.index+1,146),oa=1;continue}oa=0,Ci=10*Ci+(zn-48),zn=r(Me),--ts}if(oa&&S(Me.index,Me.line,Me.index+1,147),ts>=0&&!U(zn)&&zn!==46)return Me.tokenValue=Ci,Bn&512&&(Me.tokenRaw=Me.source.slice(Me.tokenPos,Me.index)),134283266}Ci+=o1(Me,zn),zn=Me.currentChar,zn===46&&(r(Me)===95&&f(Me,0),Hn=64,Ci+="."+o1(Me,Me.currentChar),zn=Me.currentChar)}}let ca=Me.index,_a=0;if(zn===110&&Hn&128)_a=1,zn=r(Me);else if((zn|32)===101){zn=r(Me),ni[zn]&256&&(zn=r(Me));let{index:Bn}=Me;(ni[zn]&16)<1&&f(Me,10),Ci+=Me.source.substring(ca,Bn)+o1(Me,zn),zn=Me.currentChar}return(Me.index","(","{",".","...","}",")",";",",","[","]",":","?","'",'"',"","++","--","=","<<=",">>=",">>>=","**=","+=","-=","*=","/=","%=","^=","|=","&=","||=","&&=","??=","typeof","delete","void","!","~","+","-","in","instanceof","*","%","/","**","&&","||","===","!==","==","!=","<=",">=","<",">","<<",">>",">>>","&","|","^","var","let","const","break","case","catch","class","continue","debugger","default","do","else","export","extends","finally","for","function","if","import","new","return","super","switch","this","throw","try","while","with","implements","interface","package","private","protected","public","static","yield","as","async","await","constructor","get","set","from","of","enum","eval","arguments","escaped keyword","escaped future reserved keyword","reserved if strict","#","BigIntLiteral","??","?.","WhiteSpace","Illegal","LineTerminator","PrivateField","Template","@","target","meta","LineFeed","Escaped","JSXText"],ca=Object.create(null,{this:{value:86113},function:{value:86106},if:{value:20571},return:{value:20574},var:{value:86090},else:{value:20565},for:{value:20569},new:{value:86109},in:{value:8738868},typeof:{value:16863277},while:{value:20580},case:{value:20558},break:{value:20557},try:{value:20579},catch:{value:20559},delete:{value:16863278},throw:{value:86114},switch:{value:86112},continue:{value:20561},default:{value:20563},instanceof:{value:8476725},do:{value:20564},void:{value:16863279},finally:{value:20568},async:{value:209007},await:{value:209008},class:{value:86096},const:{value:86092},constructor:{value:12401},debugger:{value:20562},export:{value:20566},extends:{value:20567},false:{value:86021},from:{value:12404},get:{value:12402},implements:{value:36966},import:{value:86108},interface:{value:36967},let:{value:241739},null:{value:86023},of:{value:274549},package:{value:36968},private:{value:36969},protected:{value:36970},public:{value:36971},set:{value:12403},static:{value:36972},super:{value:86111},true:{value:86022},with:{value:20581},yield:{value:241773},enum:{value:86134},eval:{value:537079927},as:{value:77934},arguments:{value:537079928},target:{value:143494},meta:{value:143495}});function Ze(Me,Bn,Hn){for(;Ps[r(Me)];);return Me.tokenValue=Me.source.slice(Me.tokenPos,Me.index),Me.currentChar!==92&&Me.currentChar<126?ca[Me.tokenValue]||208897:j1(Me,Bn,0,Hn)}function R0(Me,Bn){let Hn=Qe(Me);return e2(Hn)||f(Me,4),Me.tokenValue=T(Hn),j1(Me,Bn,1,ni[Hn]&4)}function j1(Me,Bn,Hn,zn){let Ci=Me.index;for(;Me.index=2&&ts<=11){let zn=ca[Me.tokenValue];return zn===void 0?208897:Hn?Bn&1024?zn===209008&&!(Bn&4196352)?zn:zn===36972||(zn&36864)===36864?122:121:Bn&1073741824&&!(Bn&8192)&&(zn&20480)===20480?zn:zn===241773?Bn&1073741824?143483:Bn&2097152?121:zn:zn===209007&&Bn&1073741824?143483:(zn&36864)===36864||zn===209008&&!(Bn&4194304)?zn:121:zn}return 208897}function V0(Me){return U(r(Me))||f(Me,93),131}function Qe(Me){return Me.source.charCodeAt(Me.index+1)!==117&&f(Me,4),Me.currentChar=Me.source.charCodeAt(Me.index+=2),N0(Me)}function N0(Me){let Bn=0,Hn=Me.currentChar;if(Hn===123){let Hn=Me.index-2;for(;ni[r(Me)]&64;)Bn=Bn<<4|z(Me.currentChar),Bn>1114111&&S(Hn,Me.line,Me.index+1,101);return Me.currentChar!==125&&S(Hn,Me.line,Me.index-1,6),r(Me),Bn}ni[Hn]&64||f(Me,6);let zn=Me.source.charCodeAt(Me.index+1);ni[zn]&64||f(Me,6);let Ci=Me.source.charCodeAt(Me.index+2);ni[Ci]&64||f(Me,6);let ts=Me.source.charCodeAt(Me.index+3);return ni[ts]&64||f(Me,6),Bn=z(Hn)<<12|z(zn)<<8|z(Ci)<<4|z(ts),Me.currentChar=Me.source.charCodeAt(Me.index+=4),Bn}var _a=[129,129,129,129,129,129,129,129,129,128,136,128,128,130,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,128,16842800,134283267,131,208897,8457015,8455751,134283267,67174411,16,8457014,25233970,18,25233971,67108877,8457016,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,21,1074790417,8456258,1077936157,8456259,22,133,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,69271571,137,20,8455497,208897,132,4096,4096,4096,4096,4096,4096,4096,208897,4096,208897,208897,4096,208897,4096,208897,4096,208897,4096,4096,4096,208897,4096,4096,208897,4096,4096,2162700,8455240,1074790415,16842801,129];function E(Me,Bn){if(Me.flags=(Me.flags|1)^1,Me.startPos=Me.index,Me.startColumn=Me.column,Me.startLine=Me.line,Me.token=xe(Me,Bn,0),Me.onToken&&Me.token!==1048576){let Bn={start:{line:Me.linePos,column:Me.colPos},end:{line:Me.line,column:Me.column}};Me.onToken(w2(Me.token),Me.tokenPos,Me.index,Bn)}}function xe(Me,Bn,Hn){let ni=Me.index===0,Ci=Me.source,ts=Me.index,Ps=Me.line,aa=Me.column;for(;Me.index=Me.end)return 8457014;let Bn=Me.currentChar;return Bn===61?(r(Me),4194340):Bn!==42?8457014:r(Me)!==61?8457273:(r(Me),4194337)}case 8455497:return r(Me)!==61?8455497:(r(Me),4194343);case 25233970:{r(Me);let Bn=Me.currentChar;return Bn===43?(r(Me),33619995):Bn===61?(r(Me),4194338):25233970}case 25233971:{r(Me);let zn=Me.currentChar;if(zn===45){if(r(Me),(Hn&1||ni)&&Me.currentChar===62){Bn&256||f(Me,108),r(Me),Hn=V2(Me,Ci,Hn,Bn,3,ts,Ps,aa),ts=Me.tokenPos,Ps=Me.linePos,aa=Me.colPos;continue}return 33619996}return zn===61?(r(Me),4194339):25233971}case 8457016:{if(r(Me),Me.index=48&&_a<=57)return Ke(Me,Bn,80);if(_a===46){let Bn=Me.index+1;if(Bn=48&&Bn<=57)))return r(Me),67108991}return 22}}}else{if((oa^8232)<=1){Hn=Hn&-5|1,G(Me);continue}if((oa&64512)===55296||zn[(oa>>>5)+34816]>>>oa&31&1)return(oa&64512)===56320&&(oa=(oa&1023)<<10|oa&1023|65536,zn[(oa>>>5)+0]>>>oa&31&1||f(Me,18,T(oa)),Me.index++,Me.currentChar=oa),Me.column++,Me.tokenValue="",j1(Me,Bn,0,0);if(u2(oa)){r(Me);continue}f(Me,18,T(oa))}}return 1048576}var xa={AElig:"Æ",AMP:"&",Aacute:"Á",Abreve:"Ă",Acirc:"Â",Acy:"А",Afr:"𝔄",Agrave:"À",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"𝔸",ApplyFunction:"⁡",Aring:"Å",Ascr:"𝒜",Assign:"≔",Atilde:"Ã",Auml:"Ä",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"𝔅",Bopf:"𝔹",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COPY:"©",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedil:"Ç",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"¸",CenterDot:"·",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"𝒞",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"𝔇",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"𝔻",Dot:"¨",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"𝒟",Dstrok:"Đ",ENG:"Ŋ",ETH:"Ð",Eacute:"É",Ecaron:"Ě",Ecirc:"Ê",Ecy:"Э",Edot:"Ė",Efr:"𝔈",Egrave:"È",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"𝔼",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Euml:"Ë",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"𝔉",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"𝔽",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacute:"Í",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:`\n`,Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacute:"Ó",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslash:"Ø",Otilde:"Õ",Otimes:"⨷",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:"\t",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acirc:"â",acute:"´",acy:"а",aelig:"æ",af:"⁡",afr:"𝔞",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedil:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"≖",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",eth:"ð",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacute:"í",ic:"⁣",icirc:"î",icy:"и",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacute:"ó",oast:"⊛",ocir:"⊚",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslash:"ø",osol:"⊘",otilde:"õ",otimes:"⊗",otimesas:"⨶",ouml:"ö",ovbar:"⌽",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thorn:"þ",tilde:"˜",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"},Ga={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376};function _0(Me){return Me.replace(/&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g,(Me=>{if(Me.charAt(1)==="#"){let Bn=Me.charAt(2),Hn=Bn==="X"||Bn==="x"?parseInt(Me.slice(3),16):parseInt(Me.slice(2),10);return M0(Hn)}return xa[Me.slice(1,-1)]||Me}))}function M0(Me){return Me>=55296&&Me<=57343||Me>1114111?"�":(Me in Ga&&(Me=Ga[Me]),String.fromCodePoint(Me))}function U0(Me,Bn){return Me.startPos=Me.tokenPos=Me.index,Me.startColumn=Me.colPos=Me.column,Me.startLine=Me.linePos=Me.line,Me.token=ni[Me.currentChar]&8192?J0(Me,Bn):xe(Me,Bn,0),Me.token}function J0(Me,Bn){let Hn=Me.currentChar,zn=r(Me),ni=Me.index;for(;zn!==Hn;)Me.index>=Me.end&&f(Me,14),zn=r(Me);return zn!==Hn&&f(Me,14),Me.tokenValue=Me.source.slice(ni,Me.index),r(Me),Bn&512&&(Me.tokenRaw=Me.source.slice(Me.tokenPos,Me.index)),134283267}function j2(Me,Bn){if(Me.startPos=Me.tokenPos=Me.index,Me.startColumn=Me.colPos=Me.column,Me.startLine=Me.linePos=Me.line,Me.index>=Me.end)return Me.token=1048576;switch(_a[Me.source.charCodeAt(Me.index)]){case 8456258:{r(Me),Me.currentChar===47?(r(Me),Me.token=25):Me.token=8456258;break}case 2162700:{r(Me),Me.token=2162700;break}default:{let Hn=0;for(;Me.index2?Ci-2:0),Ps=2;Ps1&&ni&32&&Me.token&262144&&f(Me,58,oa[Me.token&255]),ts}function cu(Me,Bn,Hn,zn,ni){let{token:Ci,tokenPos:ts,linePos:Ps,colPos:aa}=Me,oa=null,ca=Du(Me,Bn,Hn,zn,ni,ts,Ps,aa);return Me.token===1077936157?(E(Me,Bn|32768),oa=K(Me,Bn,1,0,0,Me.tokenPos,Me.linePos,Me.colPos),(ni&32||(Ci&2097152)<1)&&(Me.token===274549||Me.token===8738868&&(Ci&2097152||(zn&4)<1||Bn&1024))&&L(ts,Me.line,Me.index-3,57,Me.token===274549?"of":"in")):(zn&16||(Ci&2097152)>0)&&(Me.token&262144)!==262144&&f(Me,56,zn&16?"const":"destructuring"),v(Me,Bn,ts,Ps,aa,{type:"VariableDeclarator",id:ca,init:oa})}function gt(Me,Bn,Hn,zn,ni,Ci,ts){E(Me,Bn);let Ps=(Bn&4194304)>0&&M(Me,Bn,209008);q(Me,Bn|32768,67174411),Hn&&(Hn=i2(Hn,1));let aa=null,oa=null,ca=0,_a=null,xa=Me.token===86090||Me.token===241739||Me.token===86092,Ga,{token:Ha,tokenPos:so,linePos:oo,colPos:Jo}=Me;if(xa?Ha===241739?(_a=$(Me,Bn,0),Me.token&2240512?(Me.token===8738868?Bn&1024&&f(Me,64):_a=v(Me,Bn,so,oo,Jo,{type:"VariableDeclaration",kind:"let",declarations:z2(Me,Bn|134217728,Hn,8,32)}),Me.assignable=1):Bn&1024?f(Me,64):(xa=!1,Me.assignable=1,_a=H(Me,Bn,_a,0,0,so,oo,Jo),Me.token===274549&&f(Me,111))):(E(Me,Bn),_a=v(Me,Bn,so,oo,Jo,Ha===86090?{type:"VariableDeclaration",kind:"var",declarations:z2(Me,Bn|134217728,Hn,4,32)}:{type:"VariableDeclaration",kind:"const",declarations:z2(Me,Bn|134217728,Hn,16,32)}),Me.assignable=1):Ha===1074790417?Ps&&f(Me,79):(Ha&2097152)===2097152?(_a=Ha===2162700?b2(Me,Bn,void 0,1,0,0,2,32,so,oo,Jo):m2(Me,Bn,void 0,1,0,0,2,32,so,oo,Jo),ca=Me.destructible,Bn&256&&ca&64&&f(Me,60),Me.assignable=ca&16?2:1,_a=H(Me,Bn|134217728,_a,0,0,Me.tokenPos,Me.linePos,Me.colPos)):_a=h2(Me,Bn|134217728,1,0,1,so,oo,Jo),(Me.token&262144)===262144){if(Me.token===274549){Me.assignable&2&&f(Me,77,Ps?"await":"of"),r2(Me,_a),E(Me,Bn|32768),Ga=K(Me,Bn,1,0,0,Me.tokenPos,Me.linePos,Me.colPos),q(Me,Bn|32768,16);let aa=p2(Me,Bn,Hn,zn);return v(Me,Bn,ni,Ci,ts,{type:"ForOfStatement",left:_a,right:Ga,body:aa,await:Ps})}Me.assignable&2&&f(Me,77,"in"),r2(Me,_a),E(Me,Bn|32768),Ps&&f(Me,79),Ga=o2(Me,Bn,0,1,Me.tokenPos,Me.linePos,Me.colPos),q(Me,Bn|32768,16);let aa=p2(Me,Bn,Hn,zn);return v(Me,Bn,ni,Ci,ts,{type:"ForInStatement",body:aa,left:_a,right:Ga})}Ps&&f(Me,79),xa||(ca&8&&Me.token!==1077936157&&f(Me,77,"loop"),_a=Q(Me,Bn|134217728,0,0,so,oo,Jo,_a)),Me.token===18&&(_a=O2(Me,Bn,0,Me.tokenPos,Me.linePos,Me.colPos,_a)),q(Me,Bn|32768,1074790417),Me.token!==1074790417&&(aa=o2(Me,Bn,0,1,Me.tokenPos,Me.linePos,Me.colPos)),q(Me,Bn|32768,1074790417),Me.token!==16&&(oa=o2(Me,Bn,0,1,Me.tokenPos,Me.linePos,Me.colPos)),q(Me,Bn|32768,16);let tc=p2(Me,Bn,Hn,zn);return v(Me,Bn,ni,Ci,ts,{type:"ForStatement",init:_a,test:aa,update:oa,body:tc})}function su(Me,Bn,Hn){return J1(Bn,Me.token)||f(Me,114),(Me.token&537079808)===537079808&&f(Me,115),Hn&&L2(Me,Bn,Hn,Me.tokenValue,8,0),$(Me,Bn,0)}function ht(Me,Bn,Hn){let zn=Me.tokenPos,ni=Me.linePos,Ci=Me.colPos;E(Me,Bn);let ts=null,{tokenPos:Ps,linePos:aa,colPos:ca}=Me,_a=[];if(Me.token===134283267)ts=c2(Me,Bn);else{if(Me.token&143360){let zn=su(Me,Bn,Hn);if(_a=[v(Me,Bn,Ps,aa,ca,{type:"ImportDefaultSpecifier",local:zn})],M(Me,Bn,18))switch(Me.token){case 8457014:_a.push(au(Me,Bn,Hn));break;case 2162700:du(Me,Bn,Hn,_a);break;default:f(Me,104)}}else switch(Me.token){case 8457014:_a=[au(Me,Bn,Hn)];break;case 2162700:du(Me,Bn,Hn,_a);break;case 67174411:return hu(Me,Bn,zn,ni,Ci);case 67108877:return gu(Me,Bn,zn,ni,Ci);default:f(Me,28,oa[Me.token&255])}ts=mt(Me,Bn)}return s2(Me,Bn|32768),v(Me,Bn,zn,ni,Ci,{type:"ImportDeclaration",specifiers:_a,source:ts})}function au(Me,Bn,Hn){let{tokenPos:zn,linePos:ni,colPos:Ci}=Me;return E(Me,Bn),q(Me,Bn,77934),(Me.token&134217728)===134217728&&L(zn,Me.line,Me.index,28,oa[Me.token&255]),v(Me,Bn,zn,ni,Ci,{type:"ImportNamespaceSpecifier",local:su(Me,Bn,Hn)})}function mt(Me,Bn){return M(Me,Bn,12404),Me.token!==134283267&&f(Me,102,"Import"),c2(Me,Bn)}function du(Me,Bn,Hn,zn){for(E(Me,Bn);Me.token&143360;){let{token:ni,tokenValue:Ci,tokenPos:ts,linePos:Ps,colPos:aa}=Me,oa=$(Me,Bn,0),ca;M(Me,Bn,77934)?((Me.token&134217728)===134217728||Me.token===18?f(Me,103):l1(Me,Bn,16,Me.token,0),Ci=Me.tokenValue,ca=$(Me,Bn,0)):(l1(Me,Bn,16,ni,0),ca=oa),Hn&&L2(Me,Bn,Hn,Ci,8,0),zn.push(v(Me,Bn,ts,Ps,aa,{type:"ImportSpecifier",local:ca,imported:oa})),Me.token!==1074790415&&q(Me,Bn,18)}return q(Me,Bn,1074790415),zn}function gu(Me,Bn,Hn,zn,ni){let Ci=bu(Me,Bn,v(Me,Bn,Hn,zn,ni,{type:"Identifier",name:"import"}),Hn,zn,ni);return Ci=H(Me,Bn,Ci,0,0,Hn,zn,ni),Ci=Q(Me,Bn,0,0,Hn,zn,ni,Ci),X2(Me,Bn,Ci,Hn,zn,ni)}function hu(Me,Bn,Hn,zn,ni){let Ci=ku(Me,Bn,0,Hn,zn,ni);return Ci=H(Me,Bn,Ci,0,0,Hn,zn,ni),X2(Me,Bn,Ci,Hn,zn,ni)}function bt(Me,Bn,Hn){let zn=Me.tokenPos,ni=Me.linePos,Ci=Me.colPos;E(Me,Bn|32768);let ts=[],Ps=null,aa=null,ca;if(M(Me,Bn|32768,20563)){switch(Me.token){case 86106:{Ps=I2(Me,Bn,Hn,4,1,1,0,Me.tokenPos,Me.linePos,Me.colPos);break}case 133:case 86096:Ps=x1(Me,Bn,Hn,1,Me.tokenPos,Me.linePos,Me.colPos);break;case 209007:let{tokenPos:zn,linePos:ni,colPos:Ci}=Me;Ps=$(Me,Bn,0);let{flags:ts}=Me;(ts&1)<1&&(Me.token===86106?Ps=I2(Me,Bn,Hn,4,1,1,1,zn,ni,Ci):Me.token===67174411?(Ps=G1(Me,Bn,Ps,1,1,0,ts,zn,ni,Ci),Ps=H(Me,Bn,Ps,0,0,zn,ni,Ci),Ps=Q(Me,Bn,0,0,zn,ni,Ci,Ps)):Me.token&143360&&(Hn&&(Hn=c1(Me,Bn,Me.tokenValue)),Ps=$(Me,Bn,0),Ps=e1(Me,Bn,Hn,[Ps],1,zn,ni,Ci)));break;default:Ps=K(Me,Bn,1,0,0,Me.tokenPos,Me.linePos,Me.colPos),s2(Me,Bn|32768)}return Hn&&M2(Me,"default"),v(Me,Bn,zn,ni,Ci,{type:"ExportDefaultDeclaration",declaration:Ps})}switch(Me.token){case 8457014:{E(Me,Bn);let ts=null;return M(Me,Bn,77934)&&(Hn&&M2(Me,Me.tokenValue),ts=$(Me,Bn,0)),q(Me,Bn,12404),Me.token!==134283267&&f(Me,102,"Export"),aa=c2(Me,Bn),s2(Me,Bn|32768),v(Me,Bn,zn,ni,Ci,{type:"ExportAllDeclaration",source:aa,exported:ts})}case 2162700:{E(Me,Bn);let zn=[],ni=[];for(;Me.token&143360;){let{tokenPos:Ci,tokenValue:Ps,linePos:aa,colPos:oa}=Me,ca=$(Me,Bn,0),_a;Me.token===77934?(E(Me,Bn),(Me.token&134217728)===134217728&&f(Me,103),Hn&&(zn.push(Me.tokenValue),ni.push(Ps)),_a=$(Me,Bn,0)):(Hn&&(zn.push(Me.tokenValue),ni.push(Me.tokenValue)),_a=ca),ts.push(v(Me,Bn,Ci,aa,oa,{type:"ExportSpecifier",local:ca,exported:_a})),Me.token!==1074790415&&q(Me,Bn,18)}if(q(Me,Bn,1074790415),M(Me,Bn,12404))Me.token!==134283267&&f(Me,102,"Export"),aa=c2(Me,Bn);else if(Hn){let Bn=0,Hn=zn.length;for(;Bn0)&8738868,_a,xa;for(Me.assignable=2;Me.token&8454144&&(_a=Me.token,xa=_a&3840,(_a&524288&&Ps&268435456||Ps&524288&&_a&268435456)&&f(Me,159),!(xa+((_a===8457273)<<8)-((ca===_a)<<12)<=ts));)E(Me,Bn|32768),aa=v(Me,Bn,zn,ni,Ci,{type:_a&524288||_a&268435456?"LogicalExpression":"BinaryExpression",left:aa,right:T2(Me,Bn,Hn,Me.tokenPos,Me.linePos,Me.colPos,xa,_a,h2(Me,Bn,0,Hn,1,Me.tokenPos,Me.linePos,Me.colPos)),operator:oa[_a&255]});return Me.token===1077936157&&f(Me,24),aa}function kt(Me,Bn,Hn,zn,ni,Ci,ts){Hn||f(Me,0);let Ps=Me.token;E(Me,Bn|32768);let aa=h2(Me,Bn,0,ts,1,Me.tokenPos,Me.linePos,Me.colPos);return Me.token===8457273&&f(Me,31),Bn&1024&&Ps===16863278&&(aa.type==="Identifier"?f(Me,117):$0(aa)&&f(Me,123)),Me.assignable=2,v(Me,Bn,zn,ni,Ci,{type:"UnaryExpression",operator:oa[Ps&255],argument:aa,prefix:!0})}function rt(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa,oa){let{token:ca}=Me,_a=$(Me,Bn,Ci),{flags:xa}=Me;if((xa&1)<1){if(Me.token===86106)return vu(Me,Bn,1,Hn,Ps,aa,oa);if((Me.token&143360)===143360)return zn||f(Me,0),Pu(Me,Bn,ni,Ps,aa,oa)}return!ts&&Me.token===67174411?G1(Me,Bn,_a,ni,1,0,xa,Ps,aa,oa):Me.token===10?($1(Me,Bn,ca,1),ts&&f(Me,48),h1(Me,Bn,Me.tokenValue,_a,ts,ni,0,Ps,aa,oa)):_a}function vt(Me,Bn,Hn,zn,ni,Ci,ts){if(Hn&&(Me.destructible|=256),Bn&2097152){E(Me,Bn|32768),Bn&8388608&&f(Me,30),zn||f(Me,24),Me.token===22&&f(Me,120);let Hn=null,Ps=!1;return(Me.flags&1)<1&&(Ps=M(Me,Bn|32768,8457014),(Me.token&77824||Ps)&&(Hn=K(Me,Bn,1,0,0,Me.tokenPos,Me.linePos,Me.colPos))),Me.assignable=2,v(Me,Bn,ni,Ci,ts,{type:"YieldExpression",argument:Hn,delegate:Ps})}return Bn&1024&&f(Me,94,"yield"),Q1(Me,Bn,ni,Ci,ts)}function yt(Me,Bn,Hn,zn,ni,Ci,ts){if(zn&&(Me.destructible|=128),Bn&4194304||Bn&2048&&Bn&8192){Hn&&f(Me,0),Bn&8388608&&L(Me.index,Me.line,Me.index,29),E(Me,Bn|32768);let zn=h2(Me,Bn,0,0,1,Me.tokenPos,Me.linePos,Me.colPos);return Me.token===8457273&&f(Me,31),Me.assignable=2,v(Me,Bn,ni,Ci,ts,{type:"AwaitExpression",argument:zn})}return Bn&2048&&f(Me,95),Q1(Me,Bn,ni,Ci,ts)}function d1(Me,Bn,Hn,zn,ni,Ci){let{tokenPos:ts,linePos:Ps,colPos:aa}=Me;q(Me,Bn|32768,2162700);let oa=[],ca=Bn;if(Me.token!==1074790415){for(;Me.token===134283267;){let{index:Hn,tokenPos:zn,tokenValue:ni,token:Ci}=Me,ts=c2(Me,Bn);eu(Me,Hn,zn,ni)&&(Bn|=1024,Me.flags&128&&L(Me.index,Me.line,Me.tokenPos,63),Me.flags&64&&L(Me.index,Me.line,Me.tokenPos,8)),oa.push(z1(Me,Bn,ts,Ci,zn,Me.linePos,Me.colPos))}Bn&1024&&(ni&&((ni&537079808)===537079808&&f(Me,115),(ni&36864)===36864&&f(Me,38)),Me.flags&512&&f(Me,115),Me.flags&256&&f(Me,114)),Bn&64&&Hn&&Ci!==void 0&&(ca&1024)<1&&(Bn&8192)<1&&A(Ci)}for(Me.flags=(Me.flags|512|256|64)^832,Me.destructible=(Me.destructible|256)^256;Me.token!==1074790415;)oa.push(G2(Me,Bn,Hn,4,{}));return q(Me,zn&24?Bn|32768:Bn,1074790415),Me.flags&=-193,Me.token===1077936157&&f(Me,24),v(Me,Bn,ts,Ps,aa,{type:"BlockStatement",body:oa})}function At(Me,Bn,Hn,zn,ni){switch(E(Me,Bn),Me.token){case 67108991:f(Me,161);case 67174411:{(Bn&524288)<1&&f(Me,26),Bn&16384&&f(Me,27),Me.assignable=2;break}case 69271571:case 67108877:{(Bn&262144)<1&&f(Me,27),Bn&16384&&f(Me,27),Me.assignable=1;break}default:f(Me,28,"super")}return v(Me,Bn,Hn,zn,ni,{type:"Super"})}function h2(Me,Bn,Hn,zn,ni,Ci,ts,Ps){let aa=d2(Me,Bn,2,0,Hn,0,zn,ni,Ci,ts,Ps);return H(Me,Bn,aa,zn,0,Ci,ts,Ps)}function Pt(Me,Bn,Hn,zn,ni,Ci){Me.assignable&2&&f(Me,52);let{token:ts}=Me;return E(Me,Bn),Me.assignable=2,v(Me,Bn,zn,ni,Ci,{type:"UpdateExpression",argument:Hn,operator:oa[ts&255],prefix:!1})}function H(Me,Bn,Hn,zn,ni,Ci,ts,Ps){if((Me.token&33619968)===33619968&&(Me.flags&1)<1)Hn=Pt(Me,Bn,Hn,Ci,ts,Ps);else if((Me.token&67108864)===67108864){switch(Bn=(Bn|134217728)^134217728,Me.token){case 67108877:{E(Me,(Bn|1073741824|8192)^8192),Me.assignable=1;let zn=mu(Me,Bn);Hn=v(Me,Bn,Ci,ts,Ps,{type:"MemberExpression",object:Hn,computed:!1,property:zn});break}case 69271571:{let ni=!1;(Me.flags&2048)===2048&&(ni=!0,Me.flags=(Me.flags|2048)^2048),E(Me,Bn|32768);let{tokenPos:aa,linePos:oa,colPos:ca}=Me,_a=o2(Me,Bn,zn,1,aa,oa,ca);q(Me,Bn,20),Me.assignable=1,Hn=v(Me,Bn,Ci,ts,Ps,{type:"MemberExpression",object:Hn,computed:!0,property:_a}),ni&&(Me.flags|=2048);break}case 67174411:{if((Me.flags&1024)===1024)return Me.flags=(Me.flags|1024)^1024,Hn;let ni=!1;(Me.flags&2048)===2048&&(ni=!0,Me.flags=(Me.flags|2048)^2048);let aa=Z1(Me,Bn,zn);Me.assignable=2,Hn=v(Me,Bn,Ci,ts,Ps,{type:"CallExpression",callee:Hn,arguments:aa}),ni&&(Me.flags|=2048);break}case 67108991:{E(Me,(Bn|1073741824|8192)^8192),Me.flags|=2048,Me.assignable=2,Hn=Et(Me,Bn,Hn,Ci,ts,Ps);break}default:(Me.flags&2048)===2048&&f(Me,160),Me.assignable=2,Hn=v(Me,Bn,Ci,ts,Ps,{type:"TaggedTemplateExpression",tag:Hn,quasi:Me.token===67174408?Y1(Me,Bn|65536):K1(Me,Bn,Me.tokenPos,Me.linePos,Me.colPos)})}Hn=H(Me,Bn,Hn,0,1,Ci,ts,Ps)}return ni===0&&(Me.flags&2048)===2048&&(Me.flags=(Me.flags|2048)^2048,Hn=v(Me,Bn,Ci,ts,Ps,{type:"ChainExpression",expression:Hn})),Hn}function Et(Me,Bn,Hn,zn,ni,Ci){let ts=!1,Ps;if((Me.token===69271571||Me.token===67174411)&&(Me.flags&2048)===2048&&(ts=!0,Me.flags=(Me.flags|2048)^2048),Me.token===69271571){E(Me,Bn|32768);let{tokenPos:ts,linePos:aa,colPos:oa}=Me,ca=o2(Me,Bn,0,1,ts,aa,oa);q(Me,Bn,20),Me.assignable=2,Ps=v(Me,Bn,zn,ni,Ci,{type:"MemberExpression",object:Hn,computed:!0,optional:!0,property:ca})}else if(Me.token===67174411){let ts=Z1(Me,Bn,0);Me.assignable=2,Ps=v(Me,Bn,zn,ni,Ci,{type:"CallExpression",callee:Hn,arguments:ts,optional:!0})}else{(Me.token&143360)<1&&f(Me,154);let ts=$(Me,Bn,0);Me.assignable=2,Ps=v(Me,Bn,zn,ni,Ci,{type:"MemberExpression",object:Hn,computed:!1,optional:!0,property:ts})}return ts&&(Me.flags|=2048),Ps}function mu(Me,Bn){return(Me.token&143360)<1&&Me.token!==131&&f(Me,154),Bn&1&&Me.token===131?r1(Me,Bn,Me.tokenPos,Me.linePos,Me.colPos):$(Me,Bn,0)}function Ct(Me,Bn,Hn,zn,ni,Ci,ts){Hn&&f(Me,53),zn||f(Me,0);let{token:Ps}=Me;E(Me,Bn|32768);let aa=h2(Me,Bn,0,0,1,Me.tokenPos,Me.linePos,Me.colPos);return Me.assignable&2&&f(Me,52),Me.assignable=2,v(Me,Bn,ni,Ci,ts,{type:"UpdateExpression",argument:aa,operator:oa[Ps&255],prefix:!0})}function d2(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa,ca,_a){if((Me.token&143360)===143360){switch(Me.token){case 209008:return yt(Me,Bn,zn,ts,aa,ca,_a);case 241773:return vt(Me,Bn,ts,ni,aa,ca,_a);case 209007:return rt(Me,Bn,ts,Ps,ni,Ci,zn,aa,ca,_a)}let{token:oa,tokenValue:xa}=Me,Ga=$(Me,Bn|65536,Ci);return Me.token===10?(Ps||f(Me,0),$1(Me,Bn,oa,1),h1(Me,Bn,xa,Ga,zn,ni,0,aa,ca,_a)):(Bn&16384&&oa===537079928&&f(Me,126),oa===241739&&(Bn&1024&&f(Me,109),Hn&24&&f(Me,97)),Me.assignable=Bn&1024&&(oa&537079808)===537079808?2:1,Ga)}if((Me.token&134217728)===134217728)return c2(Me,Bn);switch(Me.token){case 33619995:case 33619996:return Ct(Me,Bn,zn,Ps,aa,ca,_a);case 16863278:case 16842800:case 16842801:case 25233970:case 25233971:case 16863277:case 16863279:return kt(Me,Bn,Ps,aa,ca,_a,ts);case 86106:return vu(Me,Bn,0,ts,aa,ca,_a);case 2162700:return Ft(Me,Bn,ni?0:1,ts,aa,ca,_a);case 69271571:return St(Me,Bn,ni?0:1,ts,aa,ca,_a);case 67174411:return Ot(Me,Bn,ni,1,0,aa,ca,_a);case 86021:case 86022:case 86023:return qt(Me,Bn,aa,ca,_a);case 86113:return Bt(Me,Bn);case 65540:return Rt(Me,Bn,aa,ca,_a);case 133:case 86096:return Vt(Me,Bn,ts,aa,ca,_a);case 86111:return At(Me,Bn,aa,ca,_a);case 67174409:return K1(Me,Bn,aa,ca,_a);case 67174408:return Y1(Me,Bn);case 86109:return Tt(Me,Bn,ts,aa,ca,_a);case 134283389:return ru(Me,Bn,aa,ca,_a);case 131:return r1(Me,Bn,aa,ca,_a);case 86108:return Dt(Me,Bn,zn,ts,aa,ca,_a);case 8456258:if(Bn&16)return ee(Me,Bn,1,aa,ca,_a);default:if(J1(Bn,Me.token))return Q1(Me,Bn,aa,ca,_a);f(Me,28,oa[Me.token&255])}}function Dt(Me,Bn,Hn,zn,ni,Ci,ts){let Ps=$(Me,Bn,0);return Me.token===67108877?bu(Me,Bn,Ps,ni,Ci,ts):(Hn&&f(Me,137),Ps=ku(Me,Bn,zn,ni,Ci,ts),Me.assignable=2,H(Me,Bn,Ps,zn,0,ni,Ci,ts))}function bu(Me,Bn,Hn,zn,ni,Ci){return Bn&2048||f(Me,163),E(Me,Bn),Me.token!==143495&&Me.tokenValue!=="meta"&&f(Me,28,oa[Me.token&255]),Me.assignable=2,v(Me,Bn,zn,ni,Ci,{type:"MetaProperty",meta:Hn,property:$(Me,Bn,0)})}function ku(Me,Bn,Hn,zn,ni,Ci){q(Me,Bn|32768,67174411),Me.token===14&&f(Me,138);let ts=K(Me,Bn,1,0,Hn,Me.tokenPos,Me.linePos,Me.colPos);return q(Me,Bn,16),v(Me,Bn,zn,ni,Ci,{type:"ImportExpression",source:ts})}function ru(Me,Bn,Hn,zn,ni){let{tokenRaw:Ci,tokenValue:ts}=Me;return E(Me,Bn),Me.assignable=2,v(Me,Bn,Hn,zn,ni,Bn&512?{type:"Literal",value:ts,bigint:Ci.slice(0,-1),raw:Ci}:{type:"Literal",value:ts,bigint:Ci.slice(0,-1)})}function K1(Me,Bn,Hn,zn,ni){Me.assignable=2;let{tokenValue:Ci,tokenRaw:ts,tokenPos:Ps,linePos:aa,colPos:oa}=Me;q(Me,Bn,67174409);let ca=[g1(Me,Bn,Ci,ts,Ps,aa,oa,!0)];return v(Me,Bn,Hn,zn,ni,{type:"TemplateLiteral",expressions:[],quasis:ca})}function Y1(Me,Bn){Bn=(Bn|134217728)^134217728;let{tokenValue:Hn,tokenRaw:zn,tokenPos:ni,linePos:Ci,colPos:ts}=Me;q(Me,Bn|32768,67174408);let Ps=[g1(Me,Bn,Hn,zn,ni,Ci,ts,!1)],aa=[o2(Me,Bn,0,1,Me.tokenPos,Me.linePos,Me.colPos)];for(Me.token!==1074790415&&f(Me,80);(Me.token=I0(Me,Bn))!==67174409;){let{tokenValue:Hn,tokenRaw:zn,tokenPos:ni,linePos:Ci,colPos:ts}=Me;q(Me,Bn|32768,67174408),Ps.push(g1(Me,Bn,Hn,zn,ni,Ci,ts,!1)),aa.push(o2(Me,Bn,0,1,Me.tokenPos,Me.linePos,Me.colPos)),Me.token!==1074790415&&f(Me,80)}{let{tokenValue:Hn,tokenRaw:zn,tokenPos:ni,linePos:Ci,colPos:ts}=Me;q(Me,Bn,67174409),Ps.push(g1(Me,Bn,Hn,zn,ni,Ci,ts,!0))}return v(Me,Bn,ni,Ci,ts,{type:"TemplateLiteral",expressions:aa,quasis:Ps})}function g1(Me,Bn,Hn,zn,ni,Ci,ts,Ps){let aa=v(Me,Bn,ni,Ci,ts,{type:"TemplateElement",value:{cooked:Hn,raw:zn},tail:Ps}),oa=Ps?1:2;return Bn&2&&(aa.start+=1,aa.range[0]+=1,aa.end-=oa,aa.range[1]-=oa),Bn&4&&(aa.loc.start.column+=1,aa.loc.end.column-=oa),aa}function wt(Me,Bn,Hn,zn,ni){Bn=(Bn|134217728)^134217728,q(Me,Bn|32768,14);let Ci=K(Me,Bn,1,0,0,Me.tokenPos,Me.linePos,Me.colPos);return Me.assignable=1,v(Me,Bn,Hn,zn,ni,{type:"SpreadElement",argument:Ci})}function Z1(Me,Bn,Hn){E(Me,Bn|32768);let zn=[];if(Me.token===16)return E(Me,Bn),zn;for(;Me.token!==16&&(Me.token===14?zn.push(wt(Me,Bn,Me.tokenPos,Me.linePos,Me.colPos)):zn.push(K(Me,Bn,1,0,Hn,Me.tokenPos,Me.linePos,Me.colPos)),!(Me.token!==18||(E(Me,Bn|32768),Me.token===16))););return q(Me,Bn,16),zn}function $(Me,Bn,Hn){let{tokenValue:zn,tokenPos:ni,linePos:Ci,colPos:ts}=Me;return E(Me,Bn),v(Me,Bn,ni,Ci,ts,Bn&268435456?{type:"Identifier",name:zn,pattern:Hn===1}:{type:"Identifier",name:zn})}function c2(Me,Bn){let{tokenValue:Hn,tokenRaw:zn,tokenPos:ni,linePos:Ci,colPos:ts}=Me;return Me.token===134283389?ru(Me,Bn,ni,Ci,ts):(E(Me,Bn),Me.assignable=2,v(Me,Bn,ni,Ci,ts,Bn&512?{type:"Literal",value:Hn,raw:zn}:{type:"Literal",value:Hn}))}function qt(Me,Bn,Hn,zn,ni){let Ci=oa[Me.token&255],ts=Me.token===86023?null:Ci==="true";return E(Me,Bn),Me.assignable=2,v(Me,Bn,Hn,zn,ni,Bn&512?{type:"Literal",value:ts,raw:Ci}:{type:"Literal",value:ts})}function Bt(Me,Bn){let{tokenPos:Hn,linePos:zn,colPos:ni}=Me;return E(Me,Bn),Me.assignable=2,v(Me,Bn,Hn,zn,ni,{type:"ThisExpression"})}function I2(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa,ca){E(Me,Bn|32768);let _a=ni?M1(Me,Bn,8457014):0,xa=null,Ga,Ha=Hn?_2():void 0;if(Me.token===67174411)(Ci&1)<1&&f(Me,37,"Function");else{let ni=zn&4&&((Bn&8192)<1||(Bn&2048)<1)?4:64;uu(Me,Bn|(Bn&3072)<<11,Me.token),Hn&&(ni&4?tu(Me,Bn,Hn,Me.tokenValue,ni):L2(Me,Bn,Hn,Me.tokenValue,ni,zn),Ha=i2(Ha,256),Ci&&Ci&2&&M2(Me,Me.tokenValue)),Ga=Me.token,Me.token&143360?xa=$(Me,Bn,0):f(Me,28,oa[Me.token&255])}Bn=(Bn|32243712)^32243712|67108864|ts*2+_a<<21|(_a?0:1073741824),Hn&&(Ha=i2(Ha,512));let so=Au(Me,Bn|8388608,Ha,0,1),oo=d1(Me,(Bn|8192|4096|131072)^143360,Hn?i2(Ha,128):Ha,8,Ga,Hn?Ha.scopeError:void 0);return v(Me,Bn,Ps,aa,ca,{type:"FunctionDeclaration",id:xa,params:so,body:oo,async:ts===1,generator:_a===1})}function vu(Me,Bn,Hn,zn,ni,Ci,ts){E(Me,Bn|32768);let Ps=M1(Me,Bn,8457014),aa=Hn*2+Ps<<21,oa=null,ca,_a=Bn&64?_2():void 0;(Me.token&176128)>0&&(uu(Me,(Bn|32243712)^32243712|aa,Me.token),_a&&(_a=i2(_a,256)),ca=Me.token,oa=$(Me,Bn,0)),Bn=(Bn|32243712)^32243712|67108864|aa|(Ps?0:1073741824),_a&&(_a=i2(_a,512));let xa=Au(Me,Bn|8388608,_a,zn,1),Ga=d1(Me,Bn&-134377473,_a&&i2(_a,128),0,ca,void 0);return Me.assignable=2,v(Me,Bn,ni,Ci,ts,{type:"FunctionExpression",id:oa,params:xa,body:Ga,async:Hn===1,generator:Ps===1})}function St(Me,Bn,Hn,zn,ni,Ci,ts){let Ps=m2(Me,Bn,void 0,Hn,zn,0,2,0,ni,Ci,ts);return Bn&256&&Me.destructible&64&&f(Me,60),Me.destructible&8&&f(Me,59),Ps}function m2(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa,ca,_a){E(Me,Bn|32768);let xa=[],Ga=0;for(Bn=(Bn|134217728)^134217728;Me.token!==20;)if(M(Me,Bn|32768,18))xa.push(null);else{let zn,{token:aa,tokenPos:ca,linePos:_a,colPos:Ha,tokenValue:so}=Me;if(aa&143360)if(zn=d2(Me,Bn,ts,0,1,0,ni,1,ca,_a,Ha),Me.token===1077936157){Me.assignable&2&&f(Me,24),E(Me,Bn|32768),Hn&&B2(Me,Bn,Hn,so,ts,Ps);let aa=K(Me,Bn,1,1,ni,Me.tokenPos,Me.linePos,Me.colPos);zn=v(Me,Bn,ca,_a,Ha,Ci?{type:"AssignmentPattern",left:zn,right:aa}:{type:"AssignmentExpression",operator:"=",left:zn,right:aa}),Ga|=Me.destructible&256?256:0|Me.destructible&128?128:0}else Me.token===18||Me.token===20?(Me.assignable&2?Ga|=16:Hn&&B2(Me,Bn,Hn,so,ts,Ps),Ga|=Me.destructible&256?256:0|Me.destructible&128?128:0):(Ga|=ts&1?32:(ts&2)<1?16:0,zn=H(Me,Bn,zn,ni,0,ca,_a,Ha),Me.token!==18&&Me.token!==20?(Me.token!==1077936157&&(Ga|=16),zn=Q(Me,Bn,ni,Ci,ca,_a,Ha,zn)):Me.token!==1077936157&&(Ga|=Me.assignable&2?16:32));else aa&2097152?(zn=Me.token===2162700?b2(Me,Bn,Hn,0,ni,Ci,ts,Ps,ca,_a,Ha):m2(Me,Bn,Hn,0,ni,Ci,ts,Ps,ca,_a,Ha),Ga|=Me.destructible,Me.assignable=Me.destructible&16?2:1,Me.token===18||Me.token===20?Me.assignable&2&&(Ga|=16):Me.destructible&8?f(Me,68):(zn=H(Me,Bn,zn,ni,0,ca,_a,Ha),Ga=Me.assignable&2?16:0,Me.token!==18&&Me.token!==20?zn=Q(Me,Bn,ni,Ci,ca,_a,Ha,zn):Me.token!==1077936157&&(Ga|=Me.assignable&2?16:32))):aa===14?(zn=W2(Me,Bn,Hn,20,ts,Ps,0,ni,Ci,ca,_a,Ha),Ga|=Me.destructible,Me.token!==18&&Me.token!==20&&f(Me,28,oa[Me.token&255])):(zn=h2(Me,Bn,1,0,1,ca,_a,Ha),Me.token!==18&&Me.token!==20?(zn=Q(Me,Bn,ni,Ci,ca,_a,Ha,zn),(ts&3)<1&&aa===67174411&&(Ga|=16)):Me.assignable&2?Ga|=16:aa===67174411&&(Ga|=Me.assignable&1&&ts&3?32:16));if(xa.push(zn),M(Me,Bn|32768,18)){if(Me.token===20)break}else break}q(Me,Bn,20);let Ha=v(Me,Bn,aa,ca,_a,{type:Ci?"ArrayPattern":"ArrayExpression",elements:xa});return!zn&&Me.token&4194304?yu(Me,Bn,Ga,ni,Ci,aa,ca,_a,Ha):(Me.destructible=Ga,Ha)}function yu(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa){Me.token!==1077936157&&f(Me,24),E(Me,Bn|32768),Hn&16&&f(Me,24),ni||r2(Me,aa);let{tokenPos:oa,linePos:ca,colPos:_a}=Me,xa=K(Me,Bn,1,1,zn,oa,ca,_a);return Me.destructible=(Hn|64|8)^72|(Me.destructible&128?128:0)|(Me.destructible&256?256:0),v(Me,Bn,Ci,ts,Ps,ni?{type:"AssignmentPattern",left:aa,right:xa}:{type:"AssignmentExpression",left:aa,operator:"=",right:xa})}function W2(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa,oa,ca,_a){E(Me,Bn|32768);let xa=null,Ga=0,{token:Ha,tokenValue:so,tokenPos:oo,linePos:Jo,colPos:tc}=Me;if(Ha&143360)Me.assignable=1,xa=d2(Me,Bn,ni,0,1,0,Ps,1,oo,Jo,tc),Ha=Me.token,xa=H(Me,Bn,xa,Ps,0,oo,Jo,tc),Me.token!==18&&Me.token!==zn&&(Me.assignable&2&&Me.token===1077936157&&f(Me,68),Ga|=16,xa=Q(Me,Bn,Ps,aa,oo,Jo,tc,xa)),Me.assignable&2?Ga|=16:Ha===zn||Ha===18?Hn&&B2(Me,Bn,Hn,so,ni,Ci):Ga|=32,Ga|=Me.destructible&128?128:0;else if(Ha===zn)f(Me,39);else if(Ha&2097152)xa=Me.token===2162700?b2(Me,Bn,Hn,1,Ps,aa,ni,Ci,oo,Jo,tc):m2(Me,Bn,Hn,1,Ps,aa,ni,Ci,oo,Jo,tc),Ha=Me.token,Ha!==1077936157&&Ha!==zn&&Ha!==18?(Me.destructible&8&&f(Me,68),xa=H(Me,Bn,xa,Ps,0,oo,Jo,tc),Ga|=Me.assignable&2?16:0,(Me.token&4194304)===4194304?(Me.token!==1077936157&&(Ga|=16),xa=Q(Me,Bn,Ps,aa,oo,Jo,tc,xa)):((Me.token&8454144)===8454144&&(xa=T2(Me,Bn,1,oo,Jo,tc,4,Ha,xa)),M(Me,Bn|32768,22)&&(xa=U2(Me,Bn,xa,oo,Jo,tc)),Ga|=Me.assignable&2?16:32)):Ga|=zn===1074790415&&Ha!==1077936157?16:Me.destructible;else{Ga|=32,xa=h2(Me,Bn,1,Ps,1,Me.tokenPos,Me.linePos,Me.colPos);let{token:Hn,tokenPos:ni,linePos:Ci,colPos:ts}=Me;return Hn===1077936157&&Hn!==zn&&Hn!==18?(Me.assignable&2&&f(Me,24),xa=Q(Me,Bn,Ps,aa,ni,Ci,ts,xa),Ga|=16):(Hn===18?Ga|=16:Hn!==zn&&(xa=Q(Me,Bn,Ps,aa,ni,Ci,ts,xa)),Ga|=Me.assignable&1?32:16),Me.destructible=Ga,Me.token!==zn&&Me.token!==18&&f(Me,155),v(Me,Bn,oa,ca,_a,{type:aa?"RestElement":"SpreadElement",argument:xa})}if(Me.token!==zn)if(ni&1&&(Ga|=ts?16:32),M(Me,Bn|32768,1077936157)){Ga&16&&f(Me,24),r2(Me,xa);let Hn=K(Me,Bn,1,1,Ps,Me.tokenPos,Me.linePos,Me.colPos);xa=v(Me,Bn,oo,Jo,tc,aa?{type:"AssignmentPattern",left:xa,right:Hn}:{type:"AssignmentExpression",left:xa,operator:"=",right:Hn}),Ga=16}else Ga|=16;return Me.destructible=Ga,v(Me,Bn,oa,ca,_a,{type:aa?"RestElement":"SpreadElement",argument:xa})}function v2(Me,Bn,Hn,zn,ni,Ci,ts){let Ps=(Hn&64)<1?31981568:14680064;Bn=(Bn|Ps)^Ps|(Hn&88)<<18|100925440;let aa=Bn&64?i2(_2(),512):void 0,oa=Lt(Me,Bn|8388608,aa,Hn,1,zn);aa&&(aa=i2(aa,128));let ca=d1(Me,Bn&-134230017,aa,0,void 0,void 0);return v(Me,Bn,ni,Ci,ts,{type:"FunctionExpression",params:oa,body:ca,async:(Hn&16)>0,generator:(Hn&8)>0,id:null})}function Ft(Me,Bn,Hn,zn,ni,Ci,ts){let Ps=b2(Me,Bn,void 0,Hn,zn,0,2,0,ni,Ci,ts);return Bn&256&&Me.destructible&64&&f(Me,60),Me.destructible&8&&f(Me,59),Ps}function b2(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa,ca,_a){E(Me,Bn);let xa=[],Ga=0,Ha=0;for(Bn=(Bn|134217728)^134217728;Me.token!==1074790415;){let{token:zn,tokenValue:aa,linePos:ca,colPos:_a,tokenPos:so}=Me;if(zn===14)xa.push(W2(Me,Bn,Hn,1074790415,ts,Ps,0,ni,Ci,so,ca,_a));else{let oo=0,Jo=null,tc,dc=Me.token;if(Me.token&143360||Me.token===121)if(Jo=$(Me,Bn,0),Me.token===18||Me.token===1074790415||Me.token===1077936157)if(oo|=4,Bn&1024&&(zn&537079808)===537079808?Ga|=16:l1(Me,Bn,ts,zn,0),Hn&&B2(Me,Bn,Hn,aa,ts,Ps),M(Me,Bn|32768,1077936157)){Ga|=8;let Hn=K(Me,Bn,1,1,ni,Me.tokenPos,Me.linePos,Me.colPos);Ga|=Me.destructible&256?256:0|Me.destructible&128?128:0,tc=v(Me,Bn,so,ca,_a,{type:"AssignmentPattern",left:Bn&-2147483648?Object.assign({},Jo):Jo,right:Hn})}else Ga|=(zn===209008?128:0)|(zn===121?16:0),tc=Bn&-2147483648?Object.assign({},Jo):Jo;else if(M(Me,Bn|32768,21)){let{tokenPos:oa,linePos:ca,colPos:_a}=Me;if(aa==="__proto__"&&Ha++,Me.token&143360){let zn=Me.token,aa=Me.tokenValue;Ga|=dc===121?16:0,tc=d2(Me,Bn,ts,0,1,0,ni,1,oa,ca,_a);let{token:xa}=Me;tc=H(Me,Bn,tc,ni,0,oa,ca,_a),Me.token===18||Me.token===1074790415?xa===1077936157||xa===1074790415||xa===18?(Ga|=Me.destructible&128?128:0,Me.assignable&2?Ga|=16:Hn&&(zn&143360)===143360&&B2(Me,Bn,Hn,aa,ts,Ps)):Ga|=Me.assignable&1?32:16:(Me.token&4194304)===4194304?(Me.assignable&2?Ga|=16:xa!==1077936157?Ga|=32:Hn&&B2(Me,Bn,Hn,aa,ts,Ps),tc=Q(Me,Bn,ni,Ci,oa,ca,_a,tc)):(Ga|=16,(Me.token&8454144)===8454144&&(tc=T2(Me,Bn,1,oa,ca,_a,4,xa,tc)),M(Me,Bn|32768,22)&&(tc=U2(Me,Bn,tc,oa,ca,_a)))}else(Me.token&2097152)===2097152?(tc=Me.token===69271571?m2(Me,Bn,Hn,0,ni,Ci,ts,Ps,oa,ca,_a):b2(Me,Bn,Hn,0,ni,Ci,ts,Ps,oa,ca,_a),Ga=Me.destructible,Me.assignable=Ga&16?2:1,Me.token===18||Me.token===1074790415?Me.assignable&2&&(Ga|=16):Me.destructible&8?f(Me,68):(tc=H(Me,Bn,tc,ni,0,oa,ca,_a),Ga=Me.assignable&2?16:0,(Me.token&4194304)===4194304?tc=a1(Me,Bn,ni,Ci,oa,ca,_a,tc):((Me.token&8454144)===8454144&&(tc=T2(Me,Bn,1,oa,ca,_a,4,zn,tc)),M(Me,Bn|32768,22)&&(tc=U2(Me,Bn,tc,oa,ca,_a)),Ga|=Me.assignable&2?16:32))):(tc=h2(Me,Bn,1,ni,1,oa,ca,_a),Ga|=Me.assignable&1?32:16,Me.token===18||Me.token===1074790415?Me.assignable&2&&(Ga|=16):(tc=H(Me,Bn,tc,ni,0,oa,ca,_a),Ga=Me.assignable&2?16:0,Me.token!==18&&zn!==1074790415&&(Me.token!==1077936157&&(Ga|=16),tc=Q(Me,Bn,ni,Ci,oa,ca,_a,tc))))}else Me.token===69271571?(Ga|=16,zn===209007&&(oo|=16),oo|=(zn===12402?256:zn===12403?512:1)|2,Jo=K2(Me,Bn,ni),Ga|=Me.assignable,tc=v2(Me,Bn,oo,ni,Me.tokenPos,Me.linePos,Me.colPos)):Me.token&143360?(Ga|=16,zn===121&&f(Me,92),zn===209007&&(Me.flags&1&&f(Me,128),oo|=16),Jo=$(Me,Bn,0),oo|=zn===12402?256:zn===12403?512:1,tc=v2(Me,Bn,oo,ni,Me.tokenPos,Me.linePos,Me.colPos)):Me.token===67174411?(Ga|=16,oo|=1,tc=v2(Me,Bn,oo,ni,Me.tokenPos,Me.linePos,Me.colPos)):Me.token===8457014?(Ga|=16,zn===12402||zn===12403?f(Me,40):zn===143483&&f(Me,92),E(Me,Bn),oo|=9|(zn===209007?16:0),Me.token&143360?Jo=$(Me,Bn,0):(Me.token&134217728)===134217728?Jo=c2(Me,Bn):Me.token===69271571?(oo|=2,Jo=K2(Me,Bn,ni),Ga|=Me.assignable):f(Me,28,oa[Me.token&255]),tc=v2(Me,Bn,oo,ni,Me.tokenPos,Me.linePos,Me.colPos)):(Me.token&134217728)===134217728?(zn===209007&&(oo|=16),oo|=zn===12402?256:zn===12403?512:1,Ga|=16,Jo=c2(Me,Bn),tc=v2(Me,Bn,oo,ni,Me.tokenPos,Me.linePos,Me.colPos)):f(Me,129);else if((Me.token&134217728)===134217728)if(Jo=c2(Me,Bn),Me.token===21){q(Me,Bn|32768,21);let{tokenPos:oa,linePos:ca,colPos:_a}=Me;if(aa==="__proto__"&&Ha++,Me.token&143360){tc=d2(Me,Bn,ts,0,1,0,ni,1,oa,ca,_a);let{token:zn,tokenValue:aa}=Me;tc=H(Me,Bn,tc,ni,0,oa,ca,_a),Me.token===18||Me.token===1074790415?zn===1077936157||zn===1074790415||zn===18?Me.assignable&2?Ga|=16:Hn&&B2(Me,Bn,Hn,aa,ts,Ps):Ga|=Me.assignable&1?32:16:Me.token===1077936157?(Me.assignable&2&&(Ga|=16),tc=Q(Me,Bn,ni,Ci,oa,ca,_a,tc)):(Ga|=16,tc=Q(Me,Bn,ni,Ci,oa,ca,_a,tc))}else(Me.token&2097152)===2097152?(tc=Me.token===69271571?m2(Me,Bn,Hn,0,ni,Ci,ts,Ps,oa,ca,_a):b2(Me,Bn,Hn,0,ni,Ci,ts,Ps,oa,ca,_a),Ga=Me.destructible,Me.assignable=Ga&16?2:1,Me.token===18||Me.token===1074790415?Me.assignable&2&&(Ga|=16):(Me.destructible&8)!==8&&(tc=H(Me,Bn,tc,ni,0,oa,ca,_a),Ga=Me.assignable&2?16:0,(Me.token&4194304)===4194304?tc=a1(Me,Bn,ni,Ci,oa,ca,_a,tc):((Me.token&8454144)===8454144&&(tc=T2(Me,Bn,1,oa,ca,_a,4,zn,tc)),M(Me,Bn|32768,22)&&(tc=U2(Me,Bn,tc,oa,ca,_a)),Ga|=Me.assignable&2?16:32))):(tc=h2(Me,Bn,1,0,1,oa,ca,_a),Ga|=Me.assignable&1?32:16,Me.token===18||Me.token===1074790415?Me.assignable&2&&(Ga|=16):(tc=H(Me,Bn,tc,ni,0,oa,ca,_a),Ga=Me.assignable&1?0:16,Me.token!==18&&Me.token!==1074790415&&(Me.token!==1077936157&&(Ga|=16),tc=Q(Me,Bn,ni,Ci,oa,ca,_a,tc))))}else Me.token===67174411?(oo|=1,tc=v2(Me,Bn,oo,ni,Me.tokenPos,Me.linePos,Me.colPos),Ga=Me.assignable|16):f(Me,130);else if(Me.token===69271571)if(Jo=K2(Me,Bn,ni),Ga|=Me.destructible&256?256:0,oo|=2,Me.token===21){E(Me,Bn|32768);let{tokenPos:aa,linePos:oa,colPos:ca,tokenValue:_a,token:xa}=Me;if(Me.token&143360){tc=d2(Me,Bn,ts,0,1,0,ni,1,aa,oa,ca);let{token:zn}=Me;tc=H(Me,Bn,tc,ni,0,aa,oa,ca),(Me.token&4194304)===4194304?(Ga|=Me.assignable&2?16:zn===1077936157?0:32,tc=a1(Me,Bn,ni,Ci,aa,oa,ca,tc)):Me.token===18||Me.token===1074790415?zn===1077936157||zn===1074790415||zn===18?Me.assignable&2?Ga|=16:Hn&&(xa&143360)===143360&&B2(Me,Bn,Hn,_a,ts,Ps):Ga|=Me.assignable&1?32:16:(Ga|=16,tc=Q(Me,Bn,ni,Ci,aa,oa,ca,tc))}else(Me.token&2097152)===2097152?(tc=Me.token===69271571?m2(Me,Bn,Hn,0,ni,Ci,ts,Ps,aa,oa,ca):b2(Me,Bn,Hn,0,ni,Ci,ts,Ps,aa,oa,ca),Ga=Me.destructible,Me.assignable=Ga&16?2:1,Me.token===18||Me.token===1074790415?Me.assignable&2&&(Ga|=16):Ga&8?f(Me,59):(tc=H(Me,Bn,tc,ni,0,aa,oa,ca),Ga=Me.assignable&2?Ga|16:0,(Me.token&4194304)===4194304?(Me.token!==1077936157&&(Ga|=16),tc=a1(Me,Bn,ni,Ci,aa,oa,ca,tc)):((Me.token&8454144)===8454144&&(tc=T2(Me,Bn,1,aa,oa,ca,4,zn,tc)),M(Me,Bn|32768,22)&&(tc=U2(Me,Bn,tc,aa,oa,ca)),Ga|=Me.assignable&2?16:32))):(tc=h2(Me,Bn,1,0,1,aa,oa,ca),Ga|=Me.assignable&1?32:16,Me.token===18||Me.token===1074790415?Me.assignable&2&&(Ga|=16):(tc=H(Me,Bn,tc,ni,0,aa,oa,ca),Ga=Me.assignable&1?0:16,Me.token!==18&&Me.token!==1074790415&&(Me.token!==1077936157&&(Ga|=16),tc=Q(Me,Bn,ni,Ci,aa,oa,ca,tc))))}else Me.token===67174411?(oo|=1,tc=v2(Me,Bn,oo,ni,Me.tokenPos,ca,_a),Ga=16):f(Me,41);else if(zn===8457014)if(q(Me,Bn|32768,8457014),oo|=8,Me.token&143360){let{token:Hn,line:zn,index:Ci}=Me;Jo=$(Me,Bn,0),oo|=1,Me.token===67174411?(Ga|=16,tc=v2(Me,Bn,oo,ni,Me.tokenPos,Me.linePos,Me.colPos)):L(Ci,zn,Ci,Hn===209007?43:Hn===12402||Me.token===12403?42:44,oa[Hn&255])}else(Me.token&134217728)===134217728?(Ga|=16,Jo=c2(Me,Bn),oo|=1,tc=v2(Me,Bn,oo,ni,so,ca,_a)):Me.token===69271571?(Ga|=16,oo|=3,Jo=K2(Me,Bn,ni),tc=v2(Me,Bn,oo,ni,Me.tokenPos,Me.linePos,Me.colPos)):f(Me,122);else f(Me,28,oa[zn&255]);Ga|=Me.destructible&128?128:0,Me.destructible=Ga,xa.push(v(Me,Bn,so,ca,_a,{type:"Property",key:Jo,value:tc,kind:oo&768?oo&512?"set":"get":"init",computed:(oo&2)>0,method:(oo&1)>0,shorthand:(oo&4)>0}))}if(Ga|=Me.destructible,Me.token!==18)break;E(Me,Bn)}q(Me,Bn,1074790415),Ha>1&&(Ga|=64);let so=v(Me,Bn,aa,ca,_a,{type:Ci?"ObjectPattern":"ObjectExpression",properties:xa});return!zn&&Me.token&4194304?yu(Me,Bn,Ga,ni,Ci,aa,ca,_a,so):(Me.destructible=Ga,so)}function Lt(Me,Bn,Hn,zn,ni,Ci){q(Me,Bn,67174411);let ts=[];if(Me.flags=(Me.flags|128)^128,Me.token===16)return zn&512&&f(Me,35,"Setter","one",""),E(Me,Bn),ts;zn&256&&f(Me,35,"Getter","no","s"),zn&512&&Me.token===14&&f(Me,36),Bn=(Bn|134217728)^134217728;let Ps=0,aa=0;for(;Me.token!==18;){let oa=null,{tokenPos:ca,linePos:_a,colPos:xa}=Me;if(Me.token&143360?((Bn&1024)<1&&((Me.token&36864)===36864&&(Me.flags|=256),(Me.token&537079808)===537079808&&(Me.flags|=512)),oa=p1(Me,Bn,Hn,zn|1,0,ca,_a,xa)):(Me.token===2162700?oa=b2(Me,Bn,Hn,1,Ci,1,ni,0,ca,_a,xa):Me.token===69271571?oa=m2(Me,Bn,Hn,1,Ci,1,ni,0,ca,_a,xa):Me.token===14&&(oa=W2(Me,Bn,Hn,16,ni,0,0,Ci,1,ca,_a,xa)),aa=1,Me.destructible&48&&f(Me,47)),Me.token===1077936157){E(Me,Bn|32768),aa=1;let Hn=K(Me,Bn,1,1,0,Me.tokenPos,Me.linePos,Me.colPos);oa=v(Me,Bn,ca,_a,xa,{type:"AssignmentPattern",left:oa,right:Hn})}if(Ps++,ts.push(oa),!M(Me,Bn,18)||Me.token===16)break}return zn&512&&Ps!==1&&f(Me,35,"Setter","one",""),Hn&&Hn.scopeError!==void 0&&A(Hn.scopeError),aa&&(Me.flags|=128),q(Me,Bn,16),ts}function K2(Me,Bn,Hn){E(Me,Bn|32768);let zn=K(Me,(Bn|134217728)^134217728,1,0,Hn,Me.tokenPos,Me.linePos,Me.colPos);return q(Me,Bn,20),zn}function Ot(Me,Bn,Hn,zn,ni,Ci,ts,Ps){Me.flags=(Me.flags|128)^128;let{tokenPos:aa,linePos:oa,colPos:ca}=Me;E(Me,Bn|32768|1073741824);let _a=Bn&64?i2(_2(),1024):void 0;if(Bn=(Bn|134217728)^134217728,M(Me,Bn,16))return m1(Me,Bn,_a,[],Hn,0,Ci,ts,Ps);let xa=0;Me.destructible&=-385;let Ga,Ha=[],so=0,oo=0,{tokenPos:Jo,linePos:tc,colPos:dc}=Me;for(Me.assignable=1;Me.token!==16;){let{token:Hn,tokenPos:Ci,linePos:ts,colPos:Ps}=Me;if(Hn&143360)_a&&L2(Me,Bn,_a,Me.tokenValue,1,0),Ga=d2(Me,Bn,zn,0,1,0,1,1,Ci,ts,Ps),Me.token===16||Me.token===18?Me.assignable&2?(xa|=16,oo=1):((Hn&537079808)===537079808||(Hn&36864)===36864)&&(oo=1):(Me.token===1077936157?oo=1:xa|=16,Ga=H(Me,Bn,Ga,1,0,Ci,ts,Ps),Me.token!==16&&Me.token!==18&&(Ga=Q(Me,Bn,1,0,Ci,ts,Ps,Ga)));else if((Hn&2097152)===2097152)Ga=Hn===2162700?b2(Me,Bn|1073741824,_a,0,1,0,zn,ni,Ci,ts,Ps):m2(Me,Bn|1073741824,_a,0,1,0,zn,ni,Ci,ts,Ps),xa|=Me.destructible,oo=1,Me.assignable=2,Me.token!==16&&Me.token!==18&&(xa&8&&f(Me,118),Ga=H(Me,Bn,Ga,0,0,Ci,ts,Ps),xa|=16,Me.token!==16&&Me.token!==18&&(Ga=Q(Me,Bn,0,0,Ci,ts,Ps,Ga)));else if(Hn===14){Ga=W2(Me,Bn,_a,16,zn,ni,0,1,0,Ci,ts,Ps),Me.destructible&16&&f(Me,71),oo=1,so&&(Me.token===16||Me.token===18)&&Ha.push(Ga),xa|=8;break}else{if(xa|=16,Ga=K(Me,Bn,1,0,1,Ci,ts,Ps),so&&(Me.token===16||Me.token===18)&&Ha.push(Ga),Me.token===18&&(so||(so=1,Ha=[Ga])),so){for(;M(Me,Bn|32768,18);)Ha.push(K(Me,Bn,1,0,1,Me.tokenPos,Me.linePos,Me.colPos));Me.assignable=2,Ga=v(Me,Bn,Jo,tc,dc,{type:"SequenceExpression",expressions:Ha})}return q(Me,Bn,16),Me.destructible=xa,Ga}if(so&&(Me.token===16||Me.token===18)&&Ha.push(Ga),!M(Me,Bn|32768,18))break;if(so||(so=1,Ha=[Ga]),Me.token===16){xa|=8;break}}return so&&(Me.assignable=2,Ga=v(Me,Bn,Jo,tc,dc,{type:"SequenceExpression",expressions:Ha})),q(Me,Bn,16),xa&16&&xa&8&&f(Me,145),xa|=Me.destructible&256?256:0|Me.destructible&128?128:0,Me.token===10?(xa&48&&f(Me,46),Bn&4196352&&xa&128&&f(Me,29),Bn&2098176&&xa&256&&f(Me,30),oo&&(Me.flags|=128),m1(Me,Bn,_a,so?Ha:[Ga],Hn,0,Ci,ts,Ps)):(xa&8&&f(Me,139),Me.destructible=(Me.destructible|256)^256|xa,Bn&128?v(Me,Bn,aa,oa,ca,{type:"ParenthesizedExpression",expression:Ga}):Ga)}function Q1(Me,Bn,Hn,zn,ni){let{tokenValue:Ci}=Me,ts=$(Me,Bn,0);if(Me.assignable=1,Me.token===10){let Ps;return Bn&64&&(Ps=c1(Me,Bn,Ci)),Me.flags=(Me.flags|128)^128,e1(Me,Bn,Ps,[ts],0,Hn,zn,ni)}return ts}function h1(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa,oa){Ci||f(Me,54),ni&&f(Me,48),Me.flags&=-129;let ca=Bn&64?c1(Me,Bn,Hn):void 0;return e1(Me,Bn,ca,[zn],ts,Ps,aa,oa)}function m1(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa){ni||f(Me,54);for(let Bn=0;Bn0&&Me.tokenValue==="constructor"&&f(Me,106),Me.token===1074790415&&f(Me,105),M(Me,Bn,1074790417)){Ci>0&&f(Me,116);continue}ca.push(Cu(Me,Bn,zn,Hn,ni,_a,0,ts,Me.tokenPos,Me.linePos,Me.colPos))}return q(Me,Ci&8?Bn|32768:Bn,1074790415),v(Me,Bn,Ps,aa,oa,{type:"ClassBody",body:ca})}function Cu(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa,ca,_a){let xa=ts?32:0,Ga=null,{token:Ha,tokenPos:so,linePos:oo,colPos:Jo}=Me;if(Ha&176128)switch(Ga=$(Me,Bn,0),Ha){case 36972:if(!ts&&Me.token!==67174411)return Cu(Me,Bn,Hn,zn,ni,Ci,1,Ps,aa,ca,_a);break;case 209007:if(Me.token!==67174411&&(Me.flags&1)<1){if(Bn&1&&(Me.token&1073741824)===1073741824)return v1(Me,Bn,Ga,xa,Ci,so,oo,Jo);xa|=16|(M1(Me,Bn,8457014)?8:0)}break;case 12402:if(Me.token!==67174411){if(Bn&1&&(Me.token&1073741824)===1073741824)return v1(Me,Bn,Ga,xa,Ci,so,oo,Jo);xa|=256}break;case 12403:if(Me.token!==67174411){if(Bn&1&&(Me.token&1073741824)===1073741824)return v1(Me,Bn,Ga,xa,Ci,so,oo,Jo);xa|=512}break}else Ha===69271571?(xa|=2,Ga=K2(Me,zn,Ps)):(Ha&134217728)===134217728?Ga=c2(Me,Bn):Ha===8457014?(xa|=8,E(Me,Bn)):Bn&1&&Me.token===131?(xa|=4096,Ga=r1(Me,Bn|16384,so,oo,Jo)):Bn&1&&(Me.token&1073741824)===1073741824?xa|=128:Ha===122?(Ga=$(Me,Bn,0),Me.token!==67174411&&f(Me,28,oa[Me.token&255])):f(Me,28,oa[Me.token&255]);if(xa&792&&(Me.token&143360?Ga=$(Me,Bn,0):(Me.token&134217728)===134217728?Ga=c2(Me,Bn):Me.token===69271571?(xa|=2,Ga=K2(Me,Bn,0)):Me.token===122?Ga=$(Me,Bn,0):Bn&1&&Me.token===131?(xa|=4096,Ga=r1(Me,Bn,so,oo,Jo)):f(Me,131)),(xa&2)<1&&(Me.tokenValue==="constructor"?((Me.token&1073741824)===1073741824?f(Me,125):(xa&32)<1&&Me.token===67174411&&(xa&920?f(Me,50,"accessor"):(Bn&524288)<1&&(Me.flags&32?f(Me,51):Me.flags|=32)),xa|=64):(xa&4096)<1&&xa&824&&Me.tokenValue==="prototype"&&f(Me,49)),Bn&1&&Me.token!==67174411)return v1(Me,Bn,Ga,xa,Ci,so,oo,Jo);let tc=v2(Me,Bn,xa,Ps,Me.tokenPos,Me.linePos,Me.colPos);return v(Me,Bn,aa,ca,_a,Bn&1?{type:"MethodDefinition",kind:(xa&32)<1&&xa&64?"constructor":xa&256?"get":xa&512?"set":"method",static:(xa&32)>0,computed:(xa&2)>0,key:Ga,decorators:Ci,value:tc}:{type:"MethodDefinition",kind:(xa&32)<1&&xa&64?"constructor":xa&256?"get":xa&512?"set":"method",static:(xa&32)>0,computed:(xa&2)>0,key:Ga,value:tc})}function r1(Me,Bn,Hn,zn,ni){E(Me,Bn);let{tokenValue:Ci}=Me;return Ci==="constructor"&&f(Me,124),E(Me,Bn),v(Me,Bn,Hn,zn,ni,{type:"PrivateIdentifier",name:Ci})}function v1(Me,Bn,Hn,zn,ni,Ci,ts,Ps){let aa=null;if(zn&8&&f(Me,0),Me.token===1077936157){E(Me,Bn|32768);let{tokenPos:Hn,linePos:zn,colPos:ni}=Me;Me.token===537079928&&f(Me,115),aa=d2(Me,Bn|16384,2,0,1,0,0,1,Hn,zn,ni),(Me.token&1073741824)!==1073741824&&(aa=H(Me,Bn|16384,aa,0,0,Hn,zn,ni),aa=Q(Me,Bn|16384,0,0,Hn,zn,ni,aa),Me.token===18&&(aa=O2(Me,Bn,0,Ci,ts,Ps,aa)))}return v(Me,Bn,Ci,ts,Ps,{type:"PropertyDefinition",key:Hn,value:aa,static:(zn&32)>0,computed:(zn&2)>0,decorators:ni})}function Du(Me,Bn,Hn,zn,ni,Ci,ts,Ps){if(Me.token&143360)return p1(Me,Bn,Hn,zn,ni,Ci,ts,Ps);(Me.token&2097152)!==2097152&&f(Me,28,oa[Me.token&255]);let aa=Me.token===69271571?m2(Me,Bn,Hn,1,0,1,zn,ni,Ci,ts,Ps):b2(Me,Bn,Hn,1,0,1,zn,ni,Ci,ts,Ps);return Me.destructible&16&&f(Me,47),Me.destructible&32&&f(Me,47),aa}function p1(Me,Bn,Hn,zn,ni,Ci,ts,Ps){let{tokenValue:aa,token:oa}=Me;return Bn&1024&&((oa&537079808)===537079808?f(Me,115):(oa&36864)===36864&&f(Me,114)),(oa&20480)===20480&&f(Me,99),Bn&2099200&&oa===241773&&f(Me,30),oa===241739&&zn&24&&f(Me,97),Bn&4196352&&oa===209008&&f(Me,95),E(Me,Bn),Hn&&B2(Me,Bn,Hn,aa,zn,ni),v(Me,Bn,Ci,ts,Ps,{type:"Identifier",name:aa})}function ee(Me,Bn,Hn,zn,ni,Ci){if(E(Me,Bn),Me.token===8456259)return v(Me,Bn,zn,ni,Ci,{type:"JSXFragment",openingFragment:jt(Me,Bn,zn,ni,Ci),children:wu(Me,Bn),closingFragment:Mt(Me,Bn,Hn,Me.tokenPos,Me.linePos,Me.colPos)});let ts=null,Ps=[],aa=$t(Me,Bn,Hn,zn,ni,Ci);if(!aa.selfClosing){Ps=wu(Me,Bn),ts=_t(Me,Bn,Hn,Me.tokenPos,Me.linePos,Me.colPos);let zn=f1(ts.name);f1(aa.name)!==zn&&f(Me,149,zn)}return v(Me,Bn,zn,ni,Ci,{type:"JSXElement",children:Ps,openingElement:aa,closingElement:ts})}function jt(Me,Bn,Hn,zn,ni){return j2(Me,Bn),v(Me,Bn,Hn,zn,ni,{type:"JSXOpeningFragment"})}function _t(Me,Bn,Hn,zn,ni,Ci){q(Me,Bn,25);let ts=qu(Me,Bn,Me.tokenPos,Me.linePos,Me.colPos);return Hn?q(Me,Bn,8456259):Me.token=j2(Me,Bn),v(Me,Bn,zn,ni,Ci,{type:"JSXClosingElement",name:ts})}function Mt(Me,Bn,Hn,zn,ni,Ci){return q(Me,Bn,25),q(Me,Bn,8456259),v(Me,Bn,zn,ni,Ci,{type:"JSXClosingFragment"})}function wu(Me,Bn){let Hn=[];for(;Me.token!==25;)Me.index=Me.tokenPos=Me.startPos,Me.column=Me.colPos=Me.startColumn,Me.line=Me.linePos=Me.startLine,j2(Me,Bn),Hn.push(Ut(Me,Bn,Me.tokenPos,Me.linePos,Me.colPos));return Hn}function Ut(Me,Bn,Hn,zn,ni){if(Me.token===138)return Jt(Me,Bn,Hn,zn,ni);if(Me.token===2162700)return Su(Me,Bn,0,0,Hn,zn,ni);if(Me.token===8456258)return ee(Me,Bn,0,Hn,zn,ni);f(Me,0)}function Jt(Me,Bn,Hn,zn,ni){j2(Me,Bn);let Ci={type:"JSXText",value:Me.tokenValue};return Bn&512&&(Ci.raw=Me.tokenRaw),v(Me,Bn,Hn,zn,ni,Ci)}function $t(Me,Bn,Hn,zn,ni,Ci){(Me.token&143360)!==143360&&(Me.token&4096)!==4096&&f(Me,0);let ts=qu(Me,Bn,Me.tokenPos,Me.linePos,Me.colPos),Ps=Xt(Me,Bn),aa=Me.token===8457016;return Me.token===8456259?j2(Me,Bn):(q(Me,Bn,8457016),Hn?q(Me,Bn,8456259):j2(Me,Bn)),v(Me,Bn,zn,ni,Ci,{type:"JSXOpeningElement",name:ts,attributes:Ps,selfClosing:aa})}function qu(Me,Bn,Hn,zn,ni){_1(Me);let Ci=y1(Me,Bn,Hn,zn,ni);if(Me.token===21)return Bu(Me,Bn,Ci,Hn,zn,ni);for(;M(Me,Bn,67108877);)_1(Me),Ci=Ht(Me,Bn,Ci,Hn,zn,ni);return Ci}function Ht(Me,Bn,Hn,zn,ni,Ci){let ts=y1(Me,Bn,Me.tokenPos,Me.linePos,Me.colPos);return v(Me,Bn,zn,ni,Ci,{type:"JSXMemberExpression",object:Hn,property:ts})}function Xt(Me,Bn){let Hn=[];for(;Me.token!==8457016&&Me.token!==8456259&&Me.token!==1048576;)Hn.push(Wt(Me,Bn,Me.tokenPos,Me.linePos,Me.colPos));return Hn}function zt(Me,Bn,Hn,zn,ni){E(Me,Bn),q(Me,Bn,14);let Ci=K(Me,Bn,1,0,0,Me.tokenPos,Me.linePos,Me.colPos);return q(Me,Bn,1074790415),v(Me,Bn,Hn,zn,ni,{type:"JSXSpreadAttribute",argument:Ci})}function Wt(Me,Bn,Hn,zn,ni){if(Me.token===2162700)return zt(Me,Bn,Hn,zn,ni);_1(Me);let Ci=null,ts=y1(Me,Bn,Hn,zn,ni);if(Me.token===21&&(ts=Bu(Me,Bn,ts,Hn,zn,ni)),Me.token===1077936157){let Hn=U0(Me,Bn),{tokenPos:zn,linePos:ni,colPos:ts}=Me;switch(Hn){case 134283267:Ci=c2(Me,Bn);break;case 8456258:Ci=ee(Me,Bn,1,zn,ni,ts);break;case 2162700:Ci=Su(Me,Bn,1,1,zn,ni,ts);break;default:f(Me,148)}}return v(Me,Bn,Hn,zn,ni,{type:"JSXAttribute",value:Ci,name:ts})}function Bu(Me,Bn,Hn,zn,ni,Ci){q(Me,Bn,21);let ts=y1(Me,Bn,Me.tokenPos,Me.linePos,Me.colPos);return v(Me,Bn,zn,ni,Ci,{type:"JSXNamespacedName",namespace:Hn,name:ts})}function Su(Me,Bn,Hn,zn,ni,Ci,ts){E(Me,Bn|32768);let{tokenPos:Ps,linePos:aa,colPos:oa}=Me;if(Me.token===14)return Kt(Me,Bn,Ps,aa,oa);let ca=null;return Me.token===1074790415?(zn&&f(Me,151),ca=Yt(Me,Bn,Me.startPos,Me.startLine,Me.startColumn)):ca=K(Me,Bn,1,0,0,Ps,aa,oa),Hn?q(Me,Bn,1074790415):j2(Me,Bn),v(Me,Bn,ni,Ci,ts,{type:"JSXExpressionContainer",expression:ca})}function Kt(Me,Bn,Hn,zn,ni){q(Me,Bn,14);let Ci=K(Me,Bn,1,0,0,Me.tokenPos,Me.linePos,Me.colPos);return q(Me,Bn,1074790415),v(Me,Bn,Hn,zn,ni,{type:"JSXSpreadChild",expression:Ci})}function Yt(Me,Bn,Hn,zn,ni){return Me.startPos=Me.tokenPos,Me.startLine=Me.linePos,Me.startColumn=Me.colPos,v(Me,Bn,Hn,zn,ni,{type:"JSXEmptyExpression"})}function y1(Me,Bn,Hn,zn,ni){let{tokenValue:Ci}=Me;return E(Me,Bn),v(Me,Bn,Hn,zn,ni,{type:"JSXIdentifier",name:Ci})}var Ha=Object.freeze({__proto__:null}),so="4.2.1",oo=so;function xt(Me,Bn){return H1(Me,Bn,0)}function pt(Me,Bn){return H1(Me,Bn,3072)}function eo(Me,Bn){return H1(Me,Bn,0)}Me.ESTree=Ha,Me.parse=eo,Me.parseModule=pt,Me.parseScript=xt,Me.version=oo}});ts();var Yf=Ps(),Kf=aa(),Xf=kp(),Ad=zp(),Cd={module:!0,next:!0,ranges:!0,webcompat:!0,loc:!0,raw:!0,directives:!0,globalReturn:!0,impliedStrict:!1,preserveParens:!1,lexical:!1,identifierPattern:!1,jsx:!0,specDeviation:!0,uniqueKeyInPattern:!1};function m0(Me,Bn){let{parse:Hn}=Qf(),zn=[],ni=[],Ci=Hn(Me,Object.assign(Object.assign({},Cd),{},{module:Bn,onComment:zn,onToken:ni}));return Ci.comments=zn,Ci.tokens=ni,Ci}function U3(Me){let{message:Bn,line:Hn,column:zn}=Me,ni=(Bn.match(/^\[(?\d+):(?\d+)]: (?.*)$/)||{}).groups;return ni&&(Bn=ni.message,typeof Hn!="number"&&(Hn=Number(ni.line),zn=Number(ni.column))),typeof Hn!="number"?Me:Yf(Bn,{start:{line:Hn,column:zn}})}function J3(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{result:zn,error:ni}=Kf((()=>m0(Me,!0)),(()=>m0(Me,!1)));if(!zn)throw U3(ni);return Hn.originalText=Me,Ad(zn,Hn)}Bn.exports={parsers:{meriyah:Xf(J3)}}}));return Dg()}))},57338:Me=>{(function(Bn){if(true)Me.exports=Bn();else{var Hn}})((function(){"use strict";var U=(Me,Bn)=>()=>(Bn||Me((Bn={exports:{}}).exports,Bn),Bn.exports);var Me=U(((Me,Bn)=>{var er=function(Me){return Me&&Me.Math==Math&&Me};Bn.exports=er(typeof globalThis=="object"&&globalThis)||er(typeof window=="object"&&window)||er(typeof self=="object"&&self)||er(typeof global=="object"&&global)||function(){return this}()||Function("return this")()}));var Bn=U(((Me,Bn)=>{Bn.exports=function(Me){try{return!!Me()}catch{return!0}}}));var Hn=U(((Me,Hn)=>{var zn=Bn();Hn.exports=!zn((function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7}))}));var zn=U(((Me,Hn)=>{var zn=Bn();Hn.exports=!zn((function(){var Me=function(){}.bind();return typeof Me!="function"||Me.hasOwnProperty("prototype")}))}));var ni=U(((Me,Bn)=>{var Hn=zn(),ni=Function.prototype.call;Bn.exports=Hn?ni.bind(ni):function(){return ni.apply(ni,arguments)}}));var Ci=U((Me=>{"use strict";var Bn={}.propertyIsEnumerable,Hn=Object.getOwnPropertyDescriptor,zn=Hn&&!Bn.call({1:2},1);Me.f=zn?function(Me){var Bn=Hn(this,Me);return!!Bn&&Bn.enumerable}:Bn}));var ts=U(((Me,Bn)=>{Bn.exports=function(Me,Bn){return{enumerable:!(Me&1),configurable:!(Me&2),writable:!(Me&4),value:Bn}}}));var Ps=U(((Me,Bn)=>{var Hn=zn(),ni=Function.prototype,Ci=ni.call,ts=Hn&&ni.bind.bind(Ci,Ci);Bn.exports=Hn?ts:function(Me){return function(){return Ci.apply(Me,arguments)}}}));var aa=U(((Me,Bn)=>{var Hn=Ps(),zn=Hn({}.toString),ni=Hn("".slice);Bn.exports=function(Me){return ni(zn(Me),8,-1)}}));var oa=U(((Me,Hn)=>{var zn=Ps(),ni=Bn(),Ci=aa(),ts=Object,oa=zn("".split);Hn.exports=ni((function(){return!ts("z").propertyIsEnumerable(0)}))?function(Me){return Ci(Me)=="String"?oa(Me,""):ts(Me)}:ts}));var ca=U(((Me,Bn)=>{Bn.exports=function(Me){return Me==null}}));var _a=U(((Me,Bn)=>{var Hn=ca(),zn=TypeError;Bn.exports=function(Me){if(Hn(Me))throw zn("Can't call method on "+Me);return Me}}));var xa=U(((Me,Bn)=>{var Hn=oa(),zn=_a();Bn.exports=function(Me){return Hn(zn(Me))}}));var Ga=U(((Me,Bn)=>{var Hn=typeof document=="object"&&document.all,zn=typeof Hn>"u"&&Hn!==void 0;Bn.exports={all:Hn,IS_HTMLDDA:zn}}));var Ha=U(((Me,Bn)=>{var Hn=Ga(),zn=Hn.all;Bn.exports=Hn.IS_HTMLDDA?function(Me){return typeof Me=="function"||Me===zn}:function(Me){return typeof Me=="function"}}));var so=U(((Me,Bn)=>{var Hn=Ha(),zn=Ga(),ni=zn.all;Bn.exports=zn.IS_HTMLDDA?function(Me){return typeof Me=="object"?Me!==null:Hn(Me)||Me===ni}:function(Me){return typeof Me=="object"?Me!==null:Hn(Me)}}));var oo=U(((Bn,Hn)=>{var zn=Me(),ni=Ha(),za=function(Me){return ni(Me)?Me:void 0};Hn.exports=function(Me,Bn){return arguments.length<2?za(zn[Me]):zn[Me]&&zn[Me][Bn]}}));var Jo=U(((Me,Bn)=>{var Hn=Ps();Bn.exports=Hn({}.isPrototypeOf)}));var tc=U(((Me,Bn)=>{var Hn=oo();Bn.exports=Hn("navigator","userAgent")||""}));var dc=U(((Bn,Hn)=>{var zn=Me(),ni=tc(),Ci=zn.process,ts=zn.Deno,Ps=Ci&&Ci.versions||ts&&ts.version,aa=Ps&&Ps.v8,oa,ca;aa&&(oa=aa.split("."),ca=oa[0]>0&&oa[0]<4?1:+(oa[0]+oa[1]));!ca&&ni&&(oa=ni.match(/Edge\/(\d+)/),(!oa||oa[1]>=74)&&(oa=ni.match(/Chrome\/(\d+)/),oa&&(ca=+oa[1])));Hn.exports=ca}));var Fc=U(((Me,Hn)=>{var zn=dc(),ni=Bn();Hn.exports=!!Object.getOwnPropertySymbols&&!ni((function(){var Me=Symbol();return!String(Me)||!(Object(Me)instanceof Symbol)||!Symbol.sham&&zn&&zn<41}))}));var Jc=U(((Me,Bn)=>{var Hn=Fc();Bn.exports=Hn&&!Symbol.sham&&typeof Symbol.iterator=="symbol"}));var Dp=U(((Me,Bn)=>{var Hn=oo(),zn=Ha(),ni=Jo(),Ci=Jc(),ts=Object;Bn.exports=Ci?function(Me){return typeof Me=="symbol"}:function(Me){var Bn=Hn("Symbol");return zn(Bn)&&ni(Bn.prototype,ts(Me))}}));var kp=U(((Me,Bn)=>{var Hn=String;Bn.exports=function(Me){try{return Hn(Me)}catch{return"Object"}}}));var Qp=U(((Me,Bn)=>{var Hn=Ha(),zn=kp(),ni=TypeError;Bn.exports=function(Me){if(Hn(Me))return Me;throw ni(zn(Me)+" is not a function")}}));var Up=U(((Me,Bn)=>{var Hn=Qp(),zn=ca();Bn.exports=function(Me,Bn){var ni=Me[Bn];return zn(ni)?void 0:Hn(ni)}}));var Vp=U(((Me,Bn)=>{var Hn=ni(),zn=Ha(),Ci=so(),ts=TypeError;Bn.exports=function(Me,Bn){var ni,Ps;if(Bn==="string"&&zn(ni=Me.toString)&&!Ci(Ps=Hn(ni,Me))||zn(ni=Me.valueOf)&&!Ci(Ps=Hn(ni,Me))||Bn!=="string"&&zn(ni=Me.toString)&&!Ci(Ps=Hn(ni,Me)))return Ps;throw ts("Can't convert object to primitive value")}}));var qp=U(((Me,Bn)=>{Bn.exports=!1}));var Jp=U(((Bn,Hn)=>{var zn=Me(),ni=Object.defineProperty;Hn.exports=function(Me,Bn){try{ni(zn,Me,{value:Bn,configurable:!0,writable:!0})}catch{zn[Me]=Bn}return Bn}}));var Wp=U(((Bn,Hn)=>{var zn=Me(),ni=Jp(),Ci="__core-js_shared__",ts=zn[Ci]||ni(Ci,{});Hn.exports=ts}));var zp=U(((Me,Bn)=>{var Hn=qp(),zn=Wp();(Bn.exports=function(Me,Bn){return zn[Me]||(zn[Me]=Bn!==void 0?Bn:{})})("versions",[]).push({version:"3.26.1",mode:Hn?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})}));var Qf=U(((Me,Bn)=>{var Hn=_a(),zn=Object;Bn.exports=function(Me){return zn(Hn(Me))}}));var Yf=U(((Me,Bn)=>{var Hn=Ps(),zn=Qf(),ni=Hn({}.hasOwnProperty);Bn.exports=Object.hasOwn||function(Me,Bn){return ni(zn(Me),Bn)}}));var Kf=U(((Me,Bn)=>{var Hn=Ps(),zn=0,ni=Math.random(),Ci=Hn(1..toString);Bn.exports=function(Me){return"Symbol("+(Me===void 0?"":Me)+")_"+Ci(++zn+ni,36)}}));var Xf=U(((Bn,Hn)=>{var zn=Me(),ni=zp(),Ci=Yf(),ts=Kf(),Ps=Fc(),aa=Jc(),oa=ni("wks"),ca=zn.Symbol,_a=ca&&ca.for,xa=aa?ca:ca&&ca.withoutSetter||ts;Hn.exports=function(Me){if(!Ci(oa,Me)||!(Ps||typeof oa[Me]=="string")){var Bn="Symbol."+Me;Ps&&Ci(ca,Me)?oa[Me]=ca[Me]:aa&&_a?oa[Me]=_a(Bn):oa[Me]=xa(Bn)}return oa[Me]}}));var Ad=U(((Me,Bn)=>{var Hn=ni(),zn=so(),Ci=Dp(),ts=Up(),Ps=Vp(),aa=Xf(),oa=TypeError,ca=aa("toPrimitive");Bn.exports=function(Me,Bn){if(!zn(Me)||Ci(Me))return Me;var ni=ts(Me,ca),aa;if(ni){if(Bn===void 0&&(Bn="default"),aa=Hn(ni,Me,Bn),!zn(aa)||Ci(aa))return aa;throw oa("Can't convert object to primitive value")}return Bn===void 0&&(Bn="number"),Ps(Me,Bn)}}));var Cd=U(((Me,Bn)=>{var Hn=Ad(),zn=Dp();Bn.exports=function(Me){var Bn=Hn(Me,"string");return zn(Bn)?Bn:Bn+""}}));var wd=U(((Bn,Hn)=>{var zn=Me(),ni=so(),Ci=zn.document,ts=ni(Ci)&&ni(Ci.createElement);Hn.exports=function(Me){return ts?Ci.createElement(Me):{}}}));var Sd=U(((Me,zn)=>{var ni=Hn(),Ci=Bn(),ts=wd();zn.exports=!ni&&!Ci((function(){return Object.defineProperty(ts("div"),"a",{get:function(){return 7}}).a!=7}))}));var xd=U((Me=>{var Bn=Hn(),zn=ni(),Ps=Ci(),aa=ts(),oa=xa(),ca=Cd(),_a=Yf(),Ga=Sd(),Ha=Object.getOwnPropertyDescriptor;Me.f=Bn?Ha:function(Me,Bn){if(Me=oa(Me),Bn=ca(Bn),Ga)try{return Ha(Me,Bn)}catch{}if(_a(Me,Bn))return aa(!zn(Ps.f,Me,Bn),Me[Bn])}}));var Td=U(((Me,zn)=>{var ni=Hn(),Ci=Bn();zn.exports=ni&&Ci((function(){return Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype!=42}))}));var Pd=U(((Me,Bn)=>{var Hn=so(),zn=String,ni=TypeError;Bn.exports=function(Me){if(Hn(Me))return Me;throw ni(zn(Me)+" is not an object")}}));var Qh=U((Me=>{var Bn=Hn(),zn=Sd(),ni=Td(),Ci=Pd(),ts=Cd(),Ps=TypeError,aa=Object.defineProperty,oa=Object.getOwnPropertyDescriptor,ca="enumerable",_a="configurable",xa="writable";Me.f=Bn?ni?function(Me,Bn,Hn){if(Ci(Me),Bn=ts(Bn),Ci(Hn),typeof Me=="function"&&Bn==="prototype"&&"value"in Hn&&xa in Hn&&!Hn[xa]){var zn=oa(Me,Bn);zn&&zn[xa]&&(Me[Bn]=Hn.value,Hn={configurable:_a in Hn?Hn[_a]:zn[_a],enumerable:ca in Hn?Hn[ca]:zn[ca],writable:!1})}return aa(Me,Bn,Hn)}:aa:function(Me,Bn,Hn){if(Ci(Me),Bn=ts(Bn),Ci(Hn),zn)try{return aa(Me,Bn,Hn)}catch{}if("get"in Hn||"set"in Hn)throw Ps("Accessors not supported");return"value"in Hn&&(Me[Bn]=Hn.value),Me}}));var Zh=U(((Me,Bn)=>{var zn=Hn(),ni=Qh(),Ci=ts();Bn.exports=zn?function(Me,Bn,Hn){return ni.f(Me,Bn,Ci(1,Hn))}:function(Me,Bn,Hn){return Me[Bn]=Hn,Me}}));var sA=U(((Me,Bn)=>{var zn=Hn(),ni=Yf(),Ci=Function.prototype,ts=zn&&Object.getOwnPropertyDescriptor,Ps=ni(Ci,"name"),aa=Ps&&function(){}.name==="something",oa=Ps&&(!zn||zn&&ts(Ci,"name").configurable);Bn.exports={EXISTS:Ps,PROPER:aa,CONFIGURABLE:oa}}));var oA=U(((Me,Bn)=>{var Hn=Ps(),zn=Ha(),ni=Wp(),Ci=Hn(Function.toString);zn(ni.inspectSource)||(ni.inspectSource=function(Me){return Ci(Me)});Bn.exports=ni.inspectSource}));var hA=U(((Bn,Hn)=>{var zn=Me(),ni=Ha(),Ci=zn.WeakMap;Hn.exports=ni(Ci)&&/native code/.test(String(Ci))}));var eg=U(((Me,Bn)=>{var Hn=zp(),zn=Kf(),ni=Hn("keys");Bn.exports=function(Me){return ni[Me]||(ni[Me]=zn(Me))}}));var tg=U(((Me,Bn)=>{Bn.exports={}}));var rg=U(((Bn,Hn)=>{var zn=hA(),ni=Me(),Ci=so(),ts=Zh(),Ps=Yf(),aa=Wp(),oa=eg(),ca=tg(),_a="Object already initialized",xa=ni.TypeError,Ga=ni.WeakMap,Ha,oo,Jo,gc=function(Me){return Jo(Me)?oo(Me):Ha(Me,{})},yc=function(Me){return function(Bn){var Hn;if(!Ci(Bn)||(Hn=oo(Bn)).type!==Me)throw xa("Incompatible receiver, "+Me+" required");return Hn}};zn||aa.state?(tc=aa.state||(aa.state=new Ga),tc.get=tc.get,tc.has=tc.has,tc.set=tc.set,Ha=function(Me,Bn){if(tc.has(Me))throw xa(_a);return Bn.facade=Me,tc.set(Me,Bn),Bn},oo=function(Me){return tc.get(Me)||{}},Jo=function(Me){return tc.has(Me)}):(dc=oa("state"),ca[dc]=!0,Ha=function(Me,Bn){if(Ps(Me,dc))throw xa(_a);return Bn.facade=Me,ts(Me,dc,Bn),Bn},oo=function(Me){return Ps(Me,dc)?Me[dc]:{}},Jo=function(Me){return Ps(Me,dc)});var tc,dc;Hn.exports={set:Ha,get:oo,has:Jo,enforce:gc,getterFor:yc}}));var ng=U(((Me,zn)=>{var ni=Bn(),Ci=Ha(),ts=Yf(),Ps=Hn(),aa=sA().CONFIGURABLE,oa=oA(),ca=rg(),_a=ca.enforce,xa=ca.get,Ga=Object.defineProperty,so=Ps&&!ni((function(){return Ga((function(){}),"length",{value:8}).length!==8})),oo=String(String).split("String"),Jo=zn.exports=function(Me,Bn,Hn){String(Bn).slice(0,7)==="Symbol("&&(Bn="["+String(Bn).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),Hn&&Hn.getter&&(Bn="get "+Bn),Hn&&Hn.setter&&(Bn="set "+Bn),(!ts(Me,"name")||aa&&Me.name!==Bn)&&(Ps?Ga(Me,"name",{value:Bn,configurable:!0}):Me.name=Bn),so&&Hn&&ts(Hn,"arity")&&Me.length!==Hn.arity&&Ga(Me,"length",{value:Hn.arity});try{Hn&&ts(Hn,"constructor")&&Hn.constructor?Ps&&Ga(Me,"prototype",{writable:!1}):Me.prototype&&(Me.prototype=void 0)}catch{}var zn=_a(Me);return ts(zn,"source")||(zn.source=oo.join(typeof Bn=="string"?Bn:"")),Me};Function.prototype.toString=Jo((function(){return Ci(this)&&xa(this).source||oa(this)}),"toString")}));var ig=U(((Me,Bn)=>{var Hn=Ha(),zn=Qh(),ni=ng(),Ci=Jp();Bn.exports=function(Me,Bn,ts,Ps){Ps||(Ps={});var aa=Ps.enumerable,oa=Ps.name!==void 0?Ps.name:Bn;if(Hn(ts)&&ni(ts,oa,Ps),Ps.global)aa?Me[Bn]=ts:Ci(Bn,ts);else{try{Ps.unsafe?Me[Bn]&&(aa=!0):delete Me[Bn]}catch{}aa?Me[Bn]=ts:zn.f(Me,Bn,{value:ts,enumerable:!1,configurable:!Ps.nonConfigurable,writable:!Ps.nonWritable})}return Me}}));var sg=U(((Me,Bn)=>{var Hn=Math.ceil,zn=Math.floor;Bn.exports=Math.trunc||function(Me){var Bn=+Me;return(Bn>0?zn:Hn)(Bn)}}));var ag=U(((Me,Bn)=>{var Hn=sg();Bn.exports=function(Me){var Bn=+Me;return Bn!==Bn||Bn===0?0:Hn(Bn)}}));var og=U(((Me,Bn)=>{var Hn=ag(),zn=Math.max,ni=Math.min;Bn.exports=function(Me,Bn){var Ci=Hn(Me);return Ci<0?zn(Ci+Bn,0):ni(Ci,Bn)}}));var ug=U(((Me,Bn)=>{var Hn=ag(),zn=Math.min;Bn.exports=function(Me){return Me>0?zn(Hn(Me),9007199254740991):0}}));var cg=U(((Me,Bn)=>{var Hn=ug();Bn.exports=function(Me){return Hn(Me.length)}}));var lg=U(((Me,Bn)=>{var Hn=xa(),zn=og(),ni=cg(),rs=function(Me){return function(Bn,Ci,ts){var Ps=Hn(Bn),aa=ni(Ps),oa=zn(ts,aa),ca;if(Me&&Ci!=Ci){for(;aa>oa;)if(ca=Ps[oa++],ca!=ca)return!0}else for(;aa>oa;oa++)if((Me||oa in Ps)&&Ps[oa]===Ci)return Me||oa||0;return!Me&&-1}};Bn.exports={includes:rs(!0),indexOf:rs(!1)}}));var pg=U(((Me,Bn)=>{var Hn=Ps(),zn=Yf(),ni=xa(),Ci=lg().indexOf,ts=tg(),aa=Hn([].push);Bn.exports=function(Me,Bn){var Hn=ni(Me),Ps=0,oa=[],ca;for(ca in Hn)!zn(ts,ca)&&zn(Hn,ca)&&aa(oa,ca);for(;Bn.length>Ps;)zn(Hn,ca=Bn[Ps++])&&(~Ci(oa,ca)||aa(oa,ca));return oa}}));var fg=U(((Me,Bn)=>{Bn.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]}));var dg=U((Me=>{var Bn=pg(),Hn=fg(),zn=Hn.concat("length","prototype");Me.f=Object.getOwnPropertyNames||function(Me){return Bn(Me,zn)}}));var hg=U((Me=>{Me.f=Object.getOwnPropertySymbols}));var Ag=U(((Me,Bn)=>{var Hn=oo(),zn=Ps(),ni=dg(),Ci=hg(),ts=Pd(),aa=zn([].concat);Bn.exports=Hn("Reflect","ownKeys")||function(Me){var Bn=ni.f(ts(Me)),Hn=Ci.f;return Hn?aa(Bn,Hn(Me)):Bn}}));var mg=U(((Me,Bn)=>{var Hn=Yf(),zn=Ag(),ni=xd(),Ci=Qh();Bn.exports=function(Me,Bn,ts){for(var Ps=zn(Bn),aa=Ci.f,oa=ni.f,ca=0;ca{var zn=Bn(),ni=Ha(),Ci=/#|\.prototype\./,Ue=function(Me,Bn){var Hn=Ps[ts(Me)];return Hn==oa?!0:Hn==aa?!1:ni(Bn)?zn(Bn):!!Bn},ts=Ue.normalize=function(Me){return String(Me).replace(Ci,".").toLowerCase()},Ps=Ue.data={},aa=Ue.NATIVE="N",oa=Ue.POLYFILL="P";Hn.exports=Ue}));var _g=U(((Bn,Hn)=>{var zn=Me(),ni=xd().f,Ci=Zh(),ts=ig(),Ps=Jp(),aa=mg(),oa=gg();Hn.exports=function(Me,Bn){var Hn=Me.target,ca=Me.global,_a=Me.stat,xa,Ga,Ha,so,oo,Jo;if(ca?Ga=zn:_a?Ga=zn[Hn]||Ps(Hn,{}):Ga=(zn[Hn]||{}).prototype,Ga)for(Ha in Bn){if(oo=Bn[Ha],Me.dontCallGetSet?(Jo=ni(Ga,Ha),so=Jo&&Jo.value):so=Ga[Ha],xa=oa(ca?Ha:Hn+(_a?".":"#")+Ha,Me.forced),!xa&&so!==void 0){if(typeof oo==typeof so)continue;aa(oo,so)}(Me.sham||so&&so.sham)&&Ci(oo,"sham",!0),ts(Ga,Ha,oo,Me)}}}));var yg=U((()=>{var Bn=_g(),Hn=Me();Bn({global:!0,forced:Hn.globalThis!==Hn},{globalThis:Hn})}));var vg=U((()=>{yg()}));var Eg=U(((Me,Bn)=>{vg();var Hn=Object.defineProperty,zn=Object.getOwnPropertyDescriptor,ni=Object.getOwnPropertyNames,Ci=Object.prototype.hasOwnProperty,Le=(Me,Bn)=>function(){return Me&&(Bn=(0,Me[ni(Me)[0]])(Me=0)),Bn},P=(Me,Bn)=>function(){return Bn||(0,Me[ni(Me)[0]])((Bn={exports:{}}).exports,Bn),Bn.exports},At=(Me,Bn)=>{for(var zn in Bn)Hn(Me,zn,{get:Bn[zn],enumerable:!0})},xl=(Me,Bn,ts,Ps)=>{if(Bn&&typeof Bn=="object"||typeof Bn=="function")for(let aa of ni(Bn))!Ci.call(Me,aa)&&aa!==ts&&Hn(Me,aa,{get:()=>Bn[aa],enumerable:!(Ps=zn(Bn,aa))||Ps.enumerable});return Me},Pt=Me=>xl(Hn({},"__esModule",{value:!0}),Me),ts=Le({""(){}}),Ps=P({"src/common/parser-create-error.js"(Me,Bn){"use strict";ts();function i(Me,Bn){let Hn=new SyntaxError(Me+" ("+Bn.start.line+":"+Bn.start.column+")");return Hn.loc=Bn,Hn}Bn.exports=i}}),aa=P({"src/utils/get-last.js"(Me,Bn){"use strict";ts();var i=Me=>Me[Me.length-1];Bn.exports=i}}),oa=P({"src/utils/front-matter/parse.js"(Me,Bn){"use strict";ts();var Hn=new RegExp("^(?-{3}|\\+{3})(?[^\\n]*)\\n(?:|(?.*?)\\n)(?\\k|\\.{3})[^\\S\\n]*(?:\\n|$)","s");function u(Me){let Bn=Me.match(Hn);if(!Bn)return{content:Me};let{startDelimiter:zn,language:ni,value:Ci="",endDelimiter:ts}=Bn.groups,Ps=ni.trim()||"yaml";if(zn==="+++"&&(Ps="toml"),Ps!=="yaml"&&zn!==ts)return{content:Me};let[aa]=Bn;return{frontMatter:{type:"front-matter",lang:Ps,value:Ci,startDelimiter:zn,endDelimiter:ts,raw:aa.replace(/\n$/,"")},content:aa.replace(/[^\n]/g," ")+Me.slice(aa.length)}}Bn.exports=u}}),ca={};At(ca,{EOL:()=>Ga,arch:()=>kl,cpus:()=>Ys,default:()=>Ha,endianness:()=>Vs,freemem:()=>Ks,getNetworkInterfaces:()=>ro,hostname:()=>Gs,loadavg:()=>Hs,networkInterfaces:()=>eo,platform:()=>Ol,release:()=>Zs,tmpDir:()=>wt,tmpdir:()=>xa,totalmem:()=>Qs,type:()=>Xs,uptime:()=>Js});function Vs(){if(typeof _a>"u"){var Me=new ArrayBuffer(2),Bn=new Uint8Array(Me),Hn=new Uint16Array(Me);if(Bn[0]=1,Bn[1]=2,Hn[0]===258)_a="BE";else if(Hn[0]===513)_a="LE";else throw new Error("unable to figure out endianess")}return _a}function Gs(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function Hs(){return[]}function Js(){return 0}function Ks(){return Number.MAX_VALUE}function Qs(){return Number.MAX_VALUE}function Ys(){return[]}function Xs(){return"Browser"}function Zs(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function eo(){}function ro(){}function kl(){return"javascript"}function Ol(){return"browser"}function wt(){return"/tmp"}var _a,xa,Ga,Ha,so=Le({"node-modules-polyfills:os"(){ts(),xa=wt,Ga=`\n`,Ha={EOL:Ga,tmpdir:xa,tmpDir:wt,networkInterfaces:eo,getNetworkInterfaces:ro,release:Zs,type:Xs,cpus:Ys,totalmem:Qs,freemem:Ks,uptime:Js,loadavg:Hs,hostname:Gs,endianness:Vs}}}),oo=P({"node-modules-polyfills-commonjs:os"(Me,Bn){ts();var Hn=(so(),Pt(ca));if(Hn&&Hn.default){Bn.exports=Hn.default;for(let Me in Hn)Bn.exports[Me]=Hn[Me]}else Hn&&(Bn.exports=Hn)}}),Jo=P({"node_modules/detect-newline/index.js"(Me,Bn){"use strict";ts();var i=Me=>{if(typeof Me!="string")throw new TypeError("Expected a string");let Bn=Me.match(/(?:\r?\n)/g)||[];if(Bn.length===0)return;let Hn=Bn.filter((Me=>Me===`\r\n`)).length,zn=Bn.length-Hn;return Hn>zn?`\r\n`:`\n`};Bn.exports=i,Bn.exports.graceful=Me=>typeof Me=="string"&&i(Me)||`\n`}}),tc=P({"node_modules/jest-docblock/build/index.js"(Me){"use strict";ts(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.extract=s,Me.parse=g,Me.parseWithComments=v,Me.print=y,Me.strip=f;function n(){let Me=oo();return n=function(){return Me},Me}function i(){let Me=u(Jo());return i=function(){return Me},Me}function u(Me){return Me&&Me.__esModule?Me:{default:Me}}var Bn=/\*\/$/,Hn=/^\/\*\*?/,zn=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,ni=/(^|\s+)\/\/([^\r\n]*)/g,Ci=/^(\r?\n)+/,Ps=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,aa=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,oa=/(\r?\n|^) *\* ?/g,ca=[];function s(Me){let Bn=Me.match(zn);return Bn?Bn[0].trimLeft():""}function f(Me){let Bn=Me.match(zn);return Bn&&Bn[0]?Me.substring(Bn[0].length):Me}function g(Me){return v(Me).pragmas}function v(Me){let zn=(0,i().default)(Me)||n().EOL;Me=Me.replace(Hn,"").replace(Bn,"").replace(oa,"$1");let ts="";for(;ts!==Me;)ts=Me,Me=Me.replace(Ps,`${zn}$1 $2${zn}`);Me=Me.replace(Ci,"").trimRight();let _a=Object.create(null),xa=Me.replace(aa,"").replace(Ci,"").trimRight(),Ga;for(;Ga=aa.exec(Me);){let Me=Ga[2].replace(ni,"");typeof _a[Ga[1]]=="string"||Array.isArray(_a[Ga[1]])?_a[Ga[1]]=ca.concat(_a[Ga[1]],Me):_a[Ga[1]]=Me}return{comments:xa,pragmas:_a}}function y(Me){let{comments:Bn="",pragmas:Hn={}}=Me,zn=(0,i().default)(Bn)||n().EOL,ni="/**",Ci=" *",ts=" */",Ps=Object.keys(Hn),aa=Ps.map((Me=>w(Me,Hn[Me]))).reduce(((Me,Bn)=>Me.concat(Bn)),[]).map((Me=>`${Ci} ${Me}${zn}`)).join("");if(!Bn){if(Ps.length===0)return"";if(Ps.length===1&&!Array.isArray(Hn[Ps[0]])){let Me=Hn[Ps[0]];return`${ni} ${w(Ps[0],Me)[0]}${ts}`}}let oa=Bn.split(zn).map((Me=>`${Ci} ${Me}`)).join(zn)+zn;return ni+zn+(Bn?oa:"")+(Bn&&Ps.length?Ci+zn:"")+aa+ts}function w(Me,Bn){return ca.concat(Bn).map((Bn=>`@${Me} ${Bn}`.trim()))}}}),dc=P({"src/common/end-of-line.js"(Me,Bn){"use strict";ts();function i(Me){let Bn=Me.indexOf("\r");return Bn>=0?Me.charAt(Bn+1)===`\n`?"crlf":"cr":"lf"}function u(Me){switch(Me){case"cr":return"\r";case"crlf":return`\r\n`;default:return`\n`}}function o(Me,Bn){let Hn;switch(Bn){case`\n`:Hn=/\n/g;break;case"\r":Hn=/\r/g;break;case`\r\n`:Hn=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(Bn)}.`)}let zn=Me.match(Hn);return zn?zn.length:0}function h(Me){return Me.replace(/\r\n?/g,`\n`)}Bn.exports={guessEndOfLine:i,convertEndOfLineToChars:u,countEndOfLineChars:o,normalizeEndOfLine:h}}}),Fc=P({"src/language-js/utils/get-shebang.js"(Me,Bn){"use strict";ts();function i(Me){if(!Me.startsWith("#!"))return"";let Bn=Me.indexOf(`\n`);return Bn===-1?Me:Me.slice(0,Bn)}Bn.exports=i}}),Jc=P({"src/language-js/pragma.js"(Me,Bn){"use strict";ts();var{parseWithComments:Hn,strip:zn,extract:ni,print:Ci}=tc(),{normalizeEndOfLine:Ps}=dc(),aa=Fc();function m(Me){let Bn=aa(Me);Bn&&(Me=Me.slice(Bn.length+1));let zn=ni(Me),{pragmas:Ci,comments:ts}=Hn(zn);return{shebang:Bn,text:Me,pragmas:Ci,comments:ts}}function c(Me){let Bn=Object.keys(m(Me).pragmas);return Bn.includes("prettier")||Bn.includes("format")}function t(Me){let{shebang:Bn,text:Hn,pragmas:ni,comments:ts}=m(Me),aa=zn(Hn),oa=Ci({pragmas:Object.assign({format:""},ni),comments:ts.trimStart()});return(Bn?`${Bn}\n`:"")+Ps(oa)+(aa.startsWith(`\n`)?`\n`:`\n\n`)+aa}Bn.exports={hasPragma:c,insertPragma:t}}}),Dp=P({"src/language-css/pragma.js"(Me,Bn){"use strict";ts();var Hn=Jc(),zn=oa();function o(Me){return Hn.hasPragma(zn(Me).content)}function h(Me){let{frontMatter:Bn,content:ni}=zn(Me);return(Bn?Bn.raw+`\n\n`:"")+Hn.insertPragma(ni)}Bn.exports={hasPragma:o,insertPragma:h}}}),kp=P({"src/utils/text/skip.js"(Me,Bn){"use strict";ts();function i(Me){return(Bn,Hn,zn)=>{let ni=zn&&zn.backwards;if(Hn===!1)return!1;let{length:Ci}=Bn,ts=Hn;for(;ts>=0&&ts0}Bn.exports=i}}),qp=P({"src/language-css/utils/has-scss-interpolation.js"(Me,Bn){"use strict";ts();var Hn=Vp();function u(Me){if(Hn(Me)){for(let Bn=Me.length-1;Bn>0;Bn--)if(Me[Bn].type==="word"&&Me[Bn].value==="{"&&Me[Bn-1].type==="word"&&Me[Bn-1].value.endsWith("#"))return!0}return!1}Bn.exports=u}}),Jp=P({"src/language-css/utils/has-string-or-function.js"(Me,Bn){"use strict";ts();function i(Me){return Me.some((Me=>Me.type==="string"||Me.type==="func"))}Bn.exports=i}}),Wp=P({"src/language-css/utils/is-less-parser.js"(Me,Bn){"use strict";ts();function i(Me){return Me.parser==="css"||Me.parser==="less"}Bn.exports=i}}),zp=P({"src/language-css/utils/is-scss.js"(Me,Bn){"use strict";ts();function i(Me,Bn){return Me==="less"||Me==="scss"?Me==="scss":/(?:\w\s*:\s*[^:}]+|#){|@import[^\n]+(?:url|,)/.test(Bn)}Bn.exports=i}}),Qf=P({"src/language-css/utils/is-scss-nested-property-node.js"(Me,Bn){"use strict";ts();function i(Me){return Me.selector?Me.selector.replace(/\/\*.*?\*\//,"").replace(/\/\/.*\n/,"").trim().endsWith(":"):!1}Bn.exports=i}}),Yf=P({"src/language-css/utils/is-scss-variable.js"(Me,Bn){"use strict";ts();function i(Me){return Boolean((Me==null?void 0:Me.type)==="word"&&Me.value.startsWith("$"))}Bn.exports=i}}),Kf=P({"src/language-css/utils/stringify-node.js"(Me,Bn){"use strict";ts();function i(Me){var Bn,Hn,zn;if(Me.groups){var ni,Ci,ts;let Bn=((ni=Me.open)===null||ni===void 0?void 0:ni.value)||"",Hn=Me.groups.map((Me=>i(Me))).join(((Ci=Me.groups[0])===null||Ci===void 0?void 0:Ci.type)==="comma_group"?",":""),zn=((ts=Me.close)===null||ts===void 0?void 0:ts.value)||"";return Bn+Hn+zn}let Ps=((Bn=Me.raws)===null||Bn===void 0?void 0:Bn.before)||"",aa=((Hn=Me.raws)===null||Hn===void 0?void 0:Hn.quote)||"",oa=Me.type==="atword"?"@":"",ca=Me.value||"",_a=Me.unit||"",xa=Me.group?i(Me.group):"",Ga=((zn=Me.raws)===null||zn===void 0?void 0:zn.after)||"";return Ps+aa+oa+ca+aa+_a+xa+Ga}Bn.exports=i}}),Xf=P({"src/language-css/utils/is-module-rule-name.js"(Me,Bn){"use strict";ts();var Hn=new Set(["import","use","forward"]);function u(Me){return Hn.has(Me)}Bn.exports=u}}),Ad=P({"node_modules/postcss-values-parser/lib/node.js"(Me,Bn){"use strict";ts();var i=function(Me,Bn){let Hn=new Me.constructor;for(let zn in Me){if(!Me.hasOwnProperty(zn))continue;let ni=Me[zn],Ci=typeof ni;zn==="parent"&&Ci==="object"?Bn&&(Hn[zn]=Bn):zn==="source"?Hn[zn]=ni:ni instanceof Array?Hn[zn]=ni.map((Me=>i(Me,Hn))):zn!=="before"&&zn!=="after"&&zn!=="between"&&zn!=="semicolon"&&(Ci==="object"&&ni!==null&&(ni=i(ni)),Hn[zn]=ni)}return Hn};Bn.exports=class{constructor(Me){Me=Me||{},this.raws={before:"",after:""};for(let Bn in Me)this[Bn]=Me[Bn]}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}toString(){return[this.raws.before,String(this.value),this.raws.after].join("")}clone(Me){Me=Me||{};let Bn=i(this);for(let Hn in Me)Bn[Hn]=Me[Hn];return Bn}cloneBefore(Me){Me=Me||{};let Bn=this.clone(Me);return this.parent.insertBefore(this,Bn),Bn}cloneAfter(Me){Me=Me||{};let Bn=this.clone(Me);return this.parent.insertAfter(this,Bn),Bn}replaceWith(){let Me=Array.prototype.slice.call(arguments);if(this.parent){for(let Bn of Me)this.parent.insertBefore(this,Bn);this.remove()}return this}moveTo(Me){return this.cleanRaws(this.root()===Me.root()),this.remove(),Me.append(this),this}moveBefore(Me){return this.cleanRaws(this.root()===Me.root()),this.remove(),Me.parent.insertBefore(Me,this),this}moveAfter(Me){return this.cleanRaws(this.root()===Me.root()),this.remove(),Me.parent.insertAfter(Me,this),this}next(){let Me=this.parent.index(this);return this.parent.nodes[Me+1]}prev(){let Me=this.parent.index(this);return this.parent.nodes[Me-1]}toJSON(){let Me={};for(let Bn in this){if(!this.hasOwnProperty(Bn)||Bn==="parent")continue;let Hn=this[Bn];Hn instanceof Array?Me[Bn]=Hn.map((Me=>typeof Me=="object"&&Me.toJSON?Me.toJSON():Me)):typeof Hn=="object"&&Hn.toJSON?Me[Bn]=Hn.toJSON():Me[Bn]=Hn}return Me}root(){let Me=this;for(;Me.parent;)Me=Me.parent;return Me}cleanRaws(Me){delete this.raws.before,delete this.raws.after,Me||delete this.raws.between}positionInside(Me){let Bn=this.toString(),Hn=this.source.start.column,zn=this.source.start.line;for(let ni=0;ni{let zn=Me(Bn,Hn);return zn!==!1&&Bn.walk&&(zn=Bn.walk(Me)),zn}))}walkType(Me,Bn){if(!Me||!Bn)throw new Error("Parameters {type} and {callback} are required.");let Hn=typeof Me=="function";return this.walk(((zn,ni)=>{if(Hn&&zn instanceof Me||!Hn&&zn.type===Me)return Bn.call(this,zn,ni)}))}append(Me){return Me.parent=this,this.nodes.push(Me),this}prepend(Me){return Me.parent=this,this.nodes.unshift(Me),this}cleanRaws(Me){if(super.cleanRaws(Me),this.nodes)for(let Bn of this.nodes)Bn.cleanRaws(Me)}insertAfter(Me,Bn){let Hn=this.index(Me),zn;this.nodes.splice(Hn+1,0,Bn);for(let Me in this.indexes)zn=this.indexes[Me],Hn<=zn&&(this.indexes[Me]=zn+this.nodes.length);return this}insertBefore(Me,Bn){let Hn=this.index(Me),zn;this.nodes.splice(Hn,0,Bn);for(let Me in this.indexes)zn=this.indexes[Me],Hn<=zn&&(this.indexes[Me]=zn+this.nodes.length);return this}removeChild(Me){Me=this.index(Me),this.nodes[Me].parent=void 0,this.nodes.splice(Me,1);let Bn;for(let Hn in this.indexes)Bn=this.indexes[Hn],Bn>=Me&&(this.indexes[Hn]=Bn-1);return this}removeAll(){for(let Me of this.nodes)Me.parent=void 0;return this.nodes=[],this}every(Me){return this.nodes.every(Me)}some(Me){return this.nodes.some(Me)}index(Me){return typeof Me=="number"?Me:this.nodes.indexOf(Me)}get first(){if(this.nodes)return this.nodes[0]}get last(){if(this.nodes)return this.nodes[this.nodes.length-1]}toString(){let Me=this.nodes.map(String).join("");return this.value&&(Me=this.value+Me),this.raws.before&&(Me=this.raws.before+Me),this.raws.after&&(Me+=this.raws.after),Me}};zn.registerWalker=Me=>{let Bn="walk"+Me.name;Bn.lastIndexOf("s")!==Bn.length-1&&(Bn+="s"),!zn.prototype[Bn]&&(zn.prototype[Bn]=function(Bn){return this.walkType(Me,Bn)})},Bn.exports=zn}}),wd=P({"node_modules/postcss-values-parser/lib/root.js"(Me,Bn){"use strict";ts();var Hn=Cd();Bn.exports=class extends Hn{constructor(Me){super(Me),this.type="root"}}}}),Sd=P({"node_modules/postcss-values-parser/lib/value.js"(Me,Bn){"use strict";ts();var Hn=Cd();Bn.exports=class extends Hn{constructor(Me){super(Me),this.type="value",this.unbalanced=0}}}}),xd=P({"node_modules/postcss-values-parser/lib/atword.js"(Me,Bn){"use strict";ts();var Hn=Cd(),zn=class extends Hn{constructor(Me){super(Me),this.type="atword"}toString(){let Me=this.quoted?this.raws.quote:"";return[this.raws.before,"@",String.prototype.toString.call(this.value),this.raws.after].join("")}};Hn.registerWalker(zn),Bn.exports=zn}}),Td=P({"node_modules/postcss-values-parser/lib/colon.js"(Me,Bn){"use strict";ts();var Hn=Cd(),zn=Ad(),ni=class extends zn{constructor(Me){super(Me),this.type="colon"}};Hn.registerWalker(ni),Bn.exports=ni}}),Pd=P({"node_modules/postcss-values-parser/lib/comma.js"(Me,Bn){"use strict";ts();var Hn=Cd(),zn=Ad(),ni=class extends zn{constructor(Me){super(Me),this.type="comma"}};Hn.registerWalker(ni),Bn.exports=ni}}),Qh=P({"node_modules/postcss-values-parser/lib/comment.js"(Me,Bn){"use strict";ts();var Hn=Cd(),zn=Ad(),ni=class extends zn{constructor(Me){super(Me),this.type="comment",this.inline=Object(Me).inline||!1}toString(){return[this.raws.before,this.inline?"//":"/*",String(this.value),this.inline?"":"*/",this.raws.after].join("")}};Hn.registerWalker(ni),Bn.exports=ni}}),Zh=P({"node_modules/postcss-values-parser/lib/function.js"(Me,Bn){"use strict";ts();var Hn=Cd(),zn=class extends Hn{constructor(Me){super(Me),this.type="func",this.unbalanced=-1}};Hn.registerWalker(zn),Bn.exports=zn}}),sA=P({"node_modules/postcss-values-parser/lib/number.js"(Me,Bn){"use strict";ts();var Hn=Cd(),zn=Ad(),ni=class extends zn{constructor(Me){super(Me),this.type="number",this.unit=Object(Me).unit||""}toString(){return[this.raws.before,String(this.value),this.unit,this.raws.after].join("")}};Hn.registerWalker(ni),Bn.exports=ni}}),oA=P({"node_modules/postcss-values-parser/lib/operator.js"(Me,Bn){"use strict";ts();var Hn=Cd(),zn=Ad(),ni=class extends zn{constructor(Me){super(Me),this.type="operator"}};Hn.registerWalker(ni),Bn.exports=ni}}),hA=P({"node_modules/postcss-values-parser/lib/paren.js"(Me,Bn){"use strict";ts();var Hn=Cd(),zn=Ad(),ni=class extends zn{constructor(Me){super(Me),this.type="paren",this.parenType=""}};Hn.registerWalker(ni),Bn.exports=ni}}),eg=P({"node_modules/postcss-values-parser/lib/string.js"(Me,Bn){"use strict";ts();var Hn=Cd(),zn=Ad(),ni=class extends zn{constructor(Me){super(Me),this.type="string"}toString(){let Me=this.quoted?this.raws.quote:"";return[this.raws.before,Me,this.value+"",Me,this.raws.after].join("")}};Hn.registerWalker(ni),Bn.exports=ni}}),tg=P({"node_modules/postcss-values-parser/lib/word.js"(Me,Bn){"use strict";ts();var Hn=Cd(),zn=Ad(),ni=class extends zn{constructor(Me){super(Me),this.type="word"}};Hn.registerWalker(ni),Bn.exports=ni}}),rg=P({"node_modules/postcss-values-parser/lib/unicode-range.js"(Me,Bn){"use strict";ts();var Hn=Cd(),zn=Ad(),ni=class extends zn{constructor(Me){super(Me),this.type="unicode-range"}};Hn.registerWalker(ni),Bn.exports=ni}});function go(){throw new Error("setTimeout has not been defined")}function yo(){throw new Error("clearTimeout has not been defined")}function wo(Me){if(ng===setTimeout)return setTimeout(Me,0);if((ng===go||!ng)&&setTimeout)return ng=setTimeout,setTimeout(Me,0);try{return ng(Me,0)}catch{try{return ng.call(null,Me,0)}catch{return ng.call(this,Me,0)}}}function Gl(Me){if(ig===clearTimeout)return clearTimeout(Me);if((ig===yo||!ig)&&clearTimeout)return ig=clearTimeout,clearTimeout(Me);try{return ig(Me)}catch{try{return ig.call(null,Me)}catch{return ig.call(this,Me)}}}function Hl(){!ag||!og||(ag=!1,og.length?sg=og.concat(sg):ug=-1,sg.length&&_o())}function _o(){if(!ag){var Me=wo(Hl);ag=!0;for(var Bn=sg.length;Bn;){for(og=sg,sg=[];++ug1)for(var Hn=1;HnMt,debuglog:()=>Oo,default:()=>jg,deprecate:()=>Rt,format:()=>wr,inherits:()=>Ng,inspect:()=>ye,isArray:()=>Ct,isBoolean:()=>_r,isBuffer:()=>Ao,isDate:()=>gr,isError:()=>He,isFunction:()=>Je,isNull:()=>Ke,isNullOrUndefined:()=>To,isNumber:()=>Nt,isObject:()=>je,isPrimitive:()=>qo,isRegExp:()=>Ge,isString:()=>Qe,isSymbol:()=>Eo,isUndefined:()=>ge,log:()=>Po});function wr(Me){if(!Qe(Me)){for(var Bn=[],Hn=0;Hn=ni)return Me;switch(Me){case"%s":return String(zn[Hn++]);case"%d":return Number(zn[Hn++]);case"%j":try{return JSON.stringify(zn[Hn++])}catch{return"[Circular]"}default:return Me}})),ts=zn[Hn];Hn=3&&(Hn.depth=arguments[2]),arguments.length>=4&&(Hn.colors=arguments[3]),_r(Bn)?Hn.showHidden=Bn:Bn&&Mt(Hn,Bn),ge(Hn.showHidden)&&(Hn.showHidden=!1),ge(Hn.depth)&&(Hn.depth=2),ge(Hn.colors)&&(Hn.colors=!1),ge(Hn.customInspect)&&(Hn.customInspect=!0),Hn.colors&&(Hn.stylize=nf),mr(Hn,Me,Hn.depth)}function nf(Me,Bn){var Hn=ye.styles[Bn];return Hn?"["+ye.colors[Hn][0]+"m"+Me+"["+ye.colors[Hn][1]+"m":Me}function sf(Me,Bn){return Me}function of(Me){var Bn={};return Me.forEach((function(Me,Hn){Bn[Me]=!0})),Bn}function mr(Me,Bn,Hn){if(Me.customInspect&&Bn&&Je(Bn.inspect)&&Bn.inspect!==ye&&!(Bn.constructor&&Bn.constructor.prototype===Bn)){var zn=Bn.inspect(Hn,Me);return Qe(zn)||(zn=mr(Me,zn,Hn)),zn}var ni=af(Me,Bn);if(ni)return ni;var Ci=Object.keys(Bn),ts=of(Ci);if(Me.showHidden&&(Ci=Object.getOwnPropertyNames(Bn)),He(Bn)&&(Ci.indexOf("message")>=0||Ci.indexOf("description")>=0))return ht(Bn);if(Ci.length===0){if(Je(Bn)){var Ps=Bn.name?": "+Bn.name:"";return Me.stylize("[Function"+Ps+"]","special")}if(Ge(Bn))return Me.stylize(RegExp.prototype.toString.call(Bn),"regexp");if(gr(Bn))return Me.stylize(Date.prototype.toString.call(Bn),"date");if(He(Bn))return ht(Bn)}var aa="",oa=!1,ca=["{","}"];if(Ct(Bn)&&(oa=!0,ca=["[","]"]),Je(Bn)){var _a=Bn.name?": "+Bn.name:"";aa=" [Function"+_a+"]"}if(Ge(Bn)&&(aa=" "+RegExp.prototype.toString.call(Bn)),gr(Bn)&&(aa=" "+Date.prototype.toUTCString.call(Bn)),He(Bn)&&(aa=" "+ht(Bn)),Ci.length===0&&(!oa||Bn.length==0))return ca[0]+aa+ca[1];if(Hn<0)return Ge(Bn)?Me.stylize(RegExp.prototype.toString.call(Bn),"regexp"):Me.stylize("[Object]","special");Me.seen.push(Bn);var xa;return oa?xa=uf(Me,Bn,Hn,ts,Ci):xa=Ci.map((function(zn){return xt(Me,Bn,Hn,ts,zn,oa)})),Me.seen.pop(),cf(xa,aa,ca)}function af(Me,Bn){if(ge(Bn))return Me.stylize("undefined","undefined");if(Qe(Bn)){var Hn="'"+JSON.stringify(Bn).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return Me.stylize(Hn,"string")}if(Nt(Bn))return Me.stylize(""+Bn,"number");if(_r(Bn))return Me.stylize(""+Bn,"boolean");if(Ke(Bn))return Me.stylize("null","null")}function ht(Me){return"["+Error.prototype.toString.call(Me)+"]"}function uf(Me,Bn,Hn,zn,ni){for(var Ci=[],ts=0,Ps=Bn.length;ts-1&&(Ci?Ps=Ps.split(`\n`).map((function(Me){return" "+Me})).join(`\n`).substr(2):Ps=`\n`+Ps.split(`\n`).map((function(Me){return" "+Me})).join(`\n`))):Ps=Me.stylize("[Circular]","special")),ge(ts)){if(Ci&&ni.match(/^\d+$/))return Ps;ts=JSON.stringify(""+ni),ts.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(ts=ts.substr(1,ts.length-2),ts=Me.stylize(ts,"name")):(ts=ts.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),ts=Me.stylize(ts,"string"))}return ts+": "+Ps}function cf(Me,Bn,Hn){var zn=0,ni=Me.reduce((function(Me,Bn){return zn++,Bn.indexOf(`\n`)>=0&&zn++,Me+Bn.replace(/\u001b\[\d\d?m/g,"").length+1}),0);return ni>60?Hn[0]+(Bn===""?"":Bn+`\n `)+" "+Me.join(`,\n `)+" "+Hn[1]:Hn[0]+Bn+" "+Me.join(", ")+" "+Hn[1]}function Ct(Me){return Array.isArray(Me)}function _r(Me){return typeof Me=="boolean"}function Ke(Me){return Me===null}function To(Me){return Me==null}function Nt(Me){return typeof Me=="number"}function Qe(Me){return typeof Me=="string"}function Eo(Me){return typeof Me=="symbol"}function ge(Me){return Me===void 0}function Ge(Me){return je(Me)&&jt(Me)==="[object RegExp]"}function je(Me){return typeof Me=="object"&&Me!==null}function gr(Me){return je(Me)&&jt(Me)==="[object Date]"}function He(Me){return je(Me)&&(jt(Me)==="[object Error]"||Me instanceof Error)}function Je(Me){return typeof Me=="function"}function qo(Me){return Me===null||typeof Me=="boolean"||typeof Me=="number"||typeof Me=="string"||typeof Me=="symbol"||typeof Me>"u"}function Ao(Me){return Buffer.isBuffer(Me)}function jt(Me){return Object.prototype.toString.call(Me)}function dt(Me){return Me<10?"0"+Me.toString(10):Me.toString(10)}function lf(){var Me=new Date,Bn=[dt(Me.getHours()),dt(Me.getMinutes()),dt(Me.getSeconds())].join(":");return[Me.getDate(),Mg[Me.getMonth()],Bn].join(" ")}function Po(){console.log("%s - %s",lf(),wr.apply(null,arguments))}function Mt(Me,Bn){if(!Bn||!je(Bn))return Me;for(var Hn=Object.keys(Bn),zn=Hn.length;zn--;)Me[Hn[zn]]=Bn[Hn[zn]];return Me}function Io(Me,Bn){return Object.prototype.hasOwnProperty.call(Me,Bn)}var Pg,Og,Lg,Mg,jg,Ug=Le({"node-modules-polyfills:util"(){ts(),Tg(),Qg(),Pg=/%[sdj%]/g,Og={},ye.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},ye.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},Mg=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],jg={inherits:Ng,_extend:Mt,log:Po,isBuffer:Ao,isPrimitive:qo,isFunction:Je,isError:He,isDate:gr,isObject:je,isRegExp:Ge,isUndefined:ge,isSymbol:Eo,isString:Qe,isNumber:Nt,isNullOrUndefined:To,isNull:Ke,isBoolean:_r,isArray:Ct,inspect:ye,deprecate:Rt,format:wr,debuglog:Oo}}}),Gg=P({"node-modules-polyfills-commonjs:util"(Me,Bn){ts();var Hn=(Ug(),Pt(Rg));if(Hn&&Hn.default){Bn.exports=Hn.default;for(let Me in Hn)Bn.exports[Me]=Hn[Me]}else Hn&&(Bn.exports=Hn)}}),Vg=P({"node_modules/postcss-values-parser/lib/errors/TokenizeError.js"(Me,Bn){"use strict";ts();var Hn=class extends Error{constructor(Me){super(Me),this.name=this.constructor.name,this.message=Me||"An error ocurred while tokzenizing.",typeof Error.captureStackTrace=="function"?Error.captureStackTrace(this,this.constructor):this.stack=new Error(Me).stack}};Bn.exports=Hn}}),Hg=P({"node_modules/postcss-values-parser/lib/tokenize.js"(Me,Bn){"use strict";ts();var Hn="{".charCodeAt(0),zn="}".charCodeAt(0),ni="(".charCodeAt(0),Ci=")".charCodeAt(0),Ps="'".charCodeAt(0),aa='"'.charCodeAt(0),oa="\\".charCodeAt(0),ca="/".charCodeAt(0),_a=".".charCodeAt(0),xa=",".charCodeAt(0),Ga=":".charCodeAt(0),Ha="*".charCodeAt(0),so="-".charCodeAt(0),oo="+".charCodeAt(0),Jo="#".charCodeAt(0),tc=`\n`.charCodeAt(0),dc=" ".charCodeAt(0),Fc="\f".charCodeAt(0),Jc="\t".charCodeAt(0),Dp="\r".charCodeAt(0),kp="@".charCodeAt(0),Qp="e".charCodeAt(0),Up="E".charCodeAt(0),Vp="0".charCodeAt(0),qp="9".charCodeAt(0),Jp="u".charCodeAt(0),Wp="U".charCodeAt(0),zp=/[ \n\t\r\{\(\)'"\\;,/]/g,Qf=/[ \n\t\r\(\)\{\}\*:;@!&'"\+\|~>,\[\]\\]|\/(?=\*)/g,Yf=/[ \n\t\r\(\)\{\}\*:;@!&'"\-\+\|~>,\[\]\\]|\//g,Kf=/^[a-z0-9]/i,Xf=/^[a-f0-9?\-]/i,Ad=Gg(),Cd=Vg();Bn.exports=function(Me,Bn){Bn=Bn||{};let ts=[],wd=Me.valueOf(),Sd=wd.length,xd=-1,Td=1,Pd=0,Qh=0,Zh=null,sA,oA,hA,eg,tg,rg,ng,ig,sg,ag,og,ug;function ce(Me){let Bn=Ad.format("Unclosed %s at line: %d, column: %d, token: %d",Me,Td,Pd-xd,Pd);throw new Cd(Bn)}function fe(){let Me=Ad.format("Syntax error at line: %d, column: %d, token: %d",Td,Pd-xd,Pd);throw new Cd(Me)}for(;Pd0&&ts[ts.length-1][0]==="word"&&ts[ts.length-1][1]==="url",ts.push(["(","(",Td,Pd-xd,Td,oA-xd,Pd]);break;case Ci:Qh--,Zh=Zh&&Qh>0,ts.push([")",")",Td,Pd-xd,Td,oA-xd,Pd]);break;case Ps:case aa:hA=sA===Ps?"'":'"',oA=Pd;do{for(ag=!1,oA=wd.indexOf(hA,oA+1),oA===-1&&ce("quote",hA),og=oA;wd.charCodeAt(og-1)===oa;)og-=1,ag=!ag}while(ag);ts.push(["string",wd.slice(Pd,oA+1),Td,Pd-xd,Td,oA-xd,Pd]),Pd=oA;break;case kp:zp.lastIndex=Pd+1,zp.test(wd),zp.lastIndex===0?oA=wd.length-1:oA=zp.lastIndex-2,ts.push(["atword",wd.slice(Pd,oA+1),Td,Pd-xd,Td,oA-xd,Pd]),Pd=oA;break;case oa:oA=Pd,sA=wd.charCodeAt(oA+1),ng&&sA!==ca&&sA!==dc&&sA!==tc&&sA!==Jc&&sA!==Dp&&sA!==Fc&&(oA+=1),ts.push(["word",wd.slice(Pd,oA+1),Td,Pd-xd,Td,oA-xd,Pd]),Pd=oA;break;case oo:case so:case Ha:oA=Pd+1,ug=wd.slice(Pd+1,oA+1);let Me=wd.slice(Pd-1,Pd);if(sA===so&&ug.charCodeAt(0)===so){oA++,ts.push(["word",wd.slice(Pd,oA),Td,Pd-xd,Td,oA-xd,Pd]),Pd=oA-1;break}ts.push(["operator",wd.slice(Pd,oA),Td,Pd-xd,Td,oA-xd,Pd]),Pd=oA-1;break;default:if(sA===ca&&(wd.charCodeAt(Pd+1)===Ha||Bn.loose&&!Zh&&wd.charCodeAt(Pd+1)===ca)){if(wd.charCodeAt(Pd+1)===Ha)oA=wd.indexOf("*/",Pd+2)+1,oA===0&&ce("comment","*/");else{let Me=wd.indexOf(`\n`,Pd+2);oA=Me!==-1?Me-1:Sd}rg=wd.slice(Pd,oA+1),eg=rg.split(`\n`),tg=eg.length-1,tg>0?(ig=Td+tg,sg=oA-eg[tg].length):(ig=Td,sg=xd),ts.push(["comment",rg,Td,Pd-xd,ig,oA-sg,Pd]),xd=sg,Td=ig,Pd=oA}else if(sA===Jo&&!Kf.test(wd.slice(Pd+1,Pd+2)))oA=Pd+1,ts.push(["#",wd.slice(Pd,oA),Td,Pd-xd,Td,oA-xd,Pd]),Pd=oA-1;else if((sA===Jp||sA===Wp)&&wd.charCodeAt(Pd+1)===oo){oA=Pd+2;do{oA+=1,sA=wd.charCodeAt(oA)}while(oA=Vp&&sA<=qp&&(Me=Yf),Me.lastIndex=Pd+1,Me.test(wd),Me.lastIndex===0?oA=wd.length-1:oA=Me.lastIndex-2,Me===Yf||sA===_a){let Me=wd.charCodeAt(oA),Bn=wd.charCodeAt(oA+1),Hn=wd.charCodeAt(oA+2);(Me===Qp||Me===Up)&&(Bn===so||Bn===oo)&&Hn>=Vp&&Hn<=qp&&(Yf.lastIndex=oA+2,Yf.test(wd),Yf.lastIndex===0?oA=wd.length-1:oA=Yf.lastIndex-2)}ts.push(["word",wd.slice(Pd,oA+1),Td,Pd-xd,Td,oA-xd,Pd]),Pd=oA}break}Pd++}return ts}}}),qg=P({"node_modules/flatten/index.js"(Me,Bn){ts(),Bn.exports=function(Me,Bn){if(Bn=typeof Bn=="number"?Bn:1/0,!Bn)return Array.isArray(Me)?Me.map((function(Me){return Me})):Me;return h(Me,1);function h(Me,Hn){return Me.reduce((function(Me,zn){return Array.isArray(zn)&&HnMe-Bn))}Bn.exports=class{constructor(Me,Bn){let ni={loose:!1};this.cache=[],this.input=Me,this.options=Object.assign({},ni,Bn),this.position=0,this.unbalanced=0,this.root=new Hn;let Ci=new zn;this.root.append(Ci),this.current=Ci,this.tokens=oo(Me,this.options)}parse(){return this.loop()}colon(){let Me=this.currToken;this.newNode(new Ci({value:Me[1],source:{start:{line:Me[2],column:Me[3]},end:{line:Me[4],column:Me[5]}},sourceIndex:Me[6]})),this.position++}comma(){let Me=this.currToken;this.newNode(new Ps({value:Me[1],source:{start:{line:Me[2],column:Me[3]},end:{line:Me[4],column:Me[5]}},sourceIndex:Me[6]})),this.position++}comment(){let Me=!1,Bn=this.currToken[1].replace(/\/\*|\*\//g,""),Hn;this.options.loose&&Bn.startsWith("//")&&(Bn=Bn.substring(2),Me=!0),Hn=new aa({value:Bn,inline:Me,source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[4],column:this.currToken[5]}},sourceIndex:this.currToken[6]}),this.newNode(Hn),this.position++}error(Me,Bn){throw new Fc(Me+` at line: ${Bn[2]}, column ${Bn[3]}`)}loop(){for(;this.position0&&(this.current.type==="func"&&this.current.value==="calc"?this.prevToken[0]!=="space"&&this.prevToken[0]!=="("?this.error("Syntax Error",this.currToken):this.nextToken[0]!=="space"&&this.nextToken[0]!=="word"?this.error("Syntax Error",this.currToken):this.nextToken[0]==="word"&&this.current.last.type!=="operator"&&this.current.last.value!=="("&&this.error("Syntax Error",this.currToken):(this.nextToken[0]==="space"||this.nextToken[0]==="operator"||this.prevToken[0]==="operator")&&this.error("Syntax Error",this.currToken)),this.options.loose){if((!this.current.nodes.length||this.current.last&&this.current.last.type==="operator")&&this.nextToken[0]==="word")return this.word()}else if(this.nextToken[0]==="word")return this.word()}return Bn=new _a({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),this.position++,this.newNode(Bn)}parseTokens(){switch(this.currToken[0]){case"space":this.space();break;case"colon":this.colon();break;case"comma":this.comma();break;case"comment":this.comment();break;case"(":this.parenOpen();break;case")":this.parenClose();break;case"atword":case"word":this.word();break;case"operator":this.operator();break;case"string":this.string();break;case"unicoderange":this.unicodeRange();break;default:this.word();break}}parenOpen(){let Me=1,Bn=this.position+1,Hn=this.currToken,zn;for(;Bn=this.tokens.length-1&&!this.current.unbalanced)&&(this.current.unbalanced--,this.current.unbalanced<0&&this.error("Expected opening parenthesis",Me),!this.current.unbalanced&&this.cache.length&&(this.current=this.cache.pop()))}space(){let Me=this.currToken;this.position===this.tokens.length-1||this.nextToken[0]===","||this.nextToken[0]===")"?(this.current.last.raws.after+=Me[1],this.position++):(this.spaces=Me[1],this.position++)}unicodeRange(){let Me=this.currToken;this.newNode(new so({value:Me[1],source:{start:{line:Me[2],column:Me[3]},end:{line:Me[4],column:Me[5]}},sourceIndex:Me[6]})),this.position++}splitWord(){let Me=this.nextToken,Bn=this.currToken[1],Hn=/^[\+\-]?((\d+(\.\d*)?)|(\.\d+))([eE][\+\-]?\d+)?/,zn=/^(?!\#([a-z0-9]+))[\#\{\}]/gi,Ci,ts;if(!zn.test(Bn))for(;Me&&Me[0]==="word";){this.position++;let Hn=this.currToken[1];Bn+=Hn,Me=this.nextToken}Ci=tc(Bn,"@"),ts=_(dc(Jo([[0],Ci]))),ts.forEach(((zn,Ps)=>{let aa=ts[Ps+1]||Bn.length,_a=Bn.slice(zn,aa),xa;if(~Ci.indexOf(zn))xa=new ni({value:_a.slice(1),source:{start:{line:this.currToken[2],column:this.currToken[3]+zn},end:{line:this.currToken[4],column:this.currToken[3]+(aa-1)}},sourceIndex:this.currToken[6]+ts[Ps]});else if(Hn.test(this.currToken[1])){let Me=_a.replace(Hn,"");xa=new ca({value:_a.replace(Me,""),source:{start:{line:this.currToken[2],column:this.currToken[3]+zn},end:{line:this.currToken[4],column:this.currToken[3]+(aa-1)}},sourceIndex:this.currToken[6]+ts[Ps],unit:Me})}else xa=new(Me&&Me[0]==="("?oa:Ha)({value:_a,source:{start:{line:this.currToken[2],column:this.currToken[3]+zn},end:{line:this.currToken[4],column:this.currToken[3]+(aa-1)}},sourceIndex:this.currToken[6]+ts[Ps]}),xa.type==="word"?(xa.isHex=/^#(.+)/.test(_a),xa.isColor=/^#([0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(_a)):this.cache.push(this.current);this.newNode(xa)})),this.position++}string(){let Me=this.currToken,Bn=this.currToken[1],Hn=/^(\"|\')/,zn=Hn.test(Bn),ni="",Ci;zn&&(ni=Bn.match(Hn)[0],Bn=Bn.slice(1,Bn.length-1)),Ci=new Ga({value:Bn,source:{start:{line:Me[2],column:Me[3]},end:{line:Me[4],column:Me[5]}},sourceIndex:Me[6],quoted:zn}),Ci.raws.quote=ni,this.newNode(Ci),this.position++}word(){return this.splitWord()}newNode(Me){return this.spaces&&(Me.raws.before+=this.spaces,this.spaces=""),this.current.append(Me)}get currToken(){return this.tokens[this.position]}get nextToken(){return this.tokens[this.position+1]}get prevToken(){return this.tokens[this.position-1]}}}}),Kg=P({"node_modules/postcss-values-parser/lib/index.js"(Me,Bn){"use strict";ts();var Hn=Wg(),zn=xd(),ni=Td(),Ci=Pd(),Ps=Qh(),aa=Zh(),oa=sA(),ca=oA(),_a=hA(),xa=eg(),Ga=rg(),Ha=Sd(),so=tg(),g=function(Me,Bn){return new Hn(Me,Bn)};g.atword=function(Me){return new zn(Me)},g.colon=function(Me){return new ni(Object.assign({value:":"},Me))},g.comma=function(Me){return new Ci(Object.assign({value:","},Me))},g.comment=function(Me){return new Ps(Me)},g.func=function(Me){return new aa(Me)},g.number=function(Me){return new oa(Me)},g.operator=function(Me){return new ca(Me)},g.paren=function(Me){return new _a(Object.assign({value:"("},Me))},g.string=function(Me){return new xa(Object.assign({quote:"'"},Me))},g.value=function(Me){return new Ha(Me)},g.word=function(Me){return new so(Me)},g.unicodeRange=function(Me){return new Ga(Me)},Bn.exports=g}}),zg=P({"node_modules/postcss-selector-parser/dist/selectors/node.js"(Me,Bn){"use strict";ts(),Me.__esModule=!0;var Hn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Me){return typeof Me}:function(Me){return Me&&typeof Symbol=="function"&&Me.constructor===Symbol&&Me!==Symbol.prototype?"symbol":typeof Me};function u(Me,Bn){if(!(Me instanceof Bn))throw new TypeError("Cannot call a class as a function")}var zn=function l(Me,Bn){if((typeof Me>"u"?"undefined":Hn(Me))!=="object")return Me;var zn=new Me.constructor;for(var ni in Me)if(Me.hasOwnProperty(ni)){var Ci=Me[ni],ts=typeof Ci>"u"?"undefined":Hn(Ci);ni==="parent"&&ts==="object"?Bn&&(zn[ni]=Bn):Ci instanceof Array?zn[ni]=Ci.map((function(Me){return l(Me,zn)})):zn[ni]=l(Ci,zn)}return zn},ni=function(){function l(){var Me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};u(this,l);for(var Bn in Me)this[Bn]=Me[Bn];var Hn=Me.spaces;Hn=Hn===void 0?{}:Hn;var zn=Hn.before,ni=zn===void 0?"":zn,Ci=Hn.after,ts=Ci===void 0?"":Ci;this.spaces={before:ni,after:ts}}return l.prototype.remove=function(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this},l.prototype.replaceWith=function(){if(this.parent){for(var Me in arguments)this.parent.insertBefore(this,arguments[Me]);this.remove()}return this},l.prototype.next=function(){return this.parent.at(this.parent.index(this)+1)},l.prototype.prev=function(){return this.parent.at(this.parent.index(this)-1)},l.prototype.clone=function(){var Me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Bn=zn(this);for(var Hn in Me)Bn[Hn]=Me[Hn];return Bn},l.prototype.toString=function(){return[this.spaces.before,String(this.value),this.spaces.after].join("")},l}();Me.default=ni,Bn.exports=Me.default}}),Xg=P({"node_modules/postcss-selector-parser/dist/selectors/types.js"(Me){"use strict";ts(),Me.__esModule=!0;var Bn=Me.TAG="tag",Hn=Me.STRING="string",zn=Me.SELECTOR="selector",ni=Me.ROOT="root",Ci=Me.PSEUDO="pseudo",Ps=Me.NESTING="nesting",aa=Me.ID="id",oa=Me.COMMENT="comment",ca=Me.COMBINATOR="combinator",_a=Me.CLASS="class",xa=Me.ATTRIBUTE="attribute",Ga=Me.UNIVERSAL="universal"}}),Zg=P({"node_modules/postcss-selector-parser/dist/selectors/container.js"(Me,Bn){"use strict";ts(),Me.__esModule=!0;var Hn=function(){function s(Me,Bn){for(var Hn=0;Hn=Me&&(this.indexes[Hn]=Bn-1);return this},f.prototype.removeAll=function(){for(var Me=this.nodes,Bn=Array.isArray(Me),Hn=0,Me=Bn?Me:Me[Symbol.iterator]();;){var zn;if(Bn){if(Hn>=Me.length)break;zn=Me[Hn++]}else{if(Hn=Me.next(),Hn.done)break;zn=Hn.value}var ni=zn;ni.parent=void 0}return this.nodes=[],this},f.prototype.empty=function(){return this.removeAll()},f.prototype.insertAfter=function(Me,Bn){var Hn=this.index(Me);this.nodes.splice(Hn+1,0,Bn);var zn=void 0;for(var ni in this.indexes)zn=this.indexes[ni],Hn<=zn&&(this.indexes[ni]=zn+this.nodes.length);return this},f.prototype.insertBefore=function(Me,Bn){var Hn=this.index(Me);this.nodes.splice(Hn,0,Bn);var zn=void 0;for(var ni in this.indexes)zn=this.indexes[ni],Hn<=zn&&(this.indexes[ni]=zn+this.nodes.length);return this},f.prototype.each=function(Me){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach++;var Bn=this.lastEach;if(this.indexes[Bn]=0,!!this.length){for(var Hn=void 0,zn=void 0;this.indexes[Bn],\[\]\\]|\/(?=\*)/g;function H(Me){for(var Bn=[],ts=Me.css.valueOf(),Jp=void 0,Wp=void 0,zp=void 0,Qf=void 0,Yf=void 0,Kf=void 0,Xf=void 0,Ad=void 0,Cd=void 0,wd=void 0,Sd=void 0,xd=ts.length,Td=-1,Pd=1,Qh=0,L=function(Bn,Hn){if(Me.safe)ts+=Hn,Wp=ts.length-1;else throw Me.error("Unclosed "+Bn,Pd,Qh-Td,Qh)};Qh0?(Ad=Pd+Yf,Cd=Wp-Qf[Yf].length):(Ad=Pd,Cd=Td),Bn.push(["comment",Kf,Pd,Qh-Td,Ad,Wp-Cd,Qh]),Td=Cd,Pd=Ad,Qh=Wp):(qp.lastIndex=Qh+1,qp.test(ts),qp.lastIndex===0?Wp=ts.length-1:Wp=qp.lastIndex-2,Bn.push(["word",ts.slice(Qh,Wp+1),Pd,Qh-Td,Pd,Wp-Td,Qh]),Qh=Wp);break}Qh++}return Bn}Bn.exports=Me.default}}),Ev=P({"node_modules/postcss-selector-parser/dist/parser.js"(Me,Bn){"use strict";ts(),Me.__esModule=!0;var Hn=function(){function E(Me,Bn){for(var Hn=0;Hn1?(ni[0]===""&&(ni[0]=!0),Ci.attribute=this.parseValue(ni[2]),Ci.namespace=this.parseNamespace(ni[0])):Ci.attribute=this.parseValue(zn[0]),Bn=new qp.default(Ci),zn[2]){var ts=zn[2].split(/(\s+i\s*?)$/),Ps=ts[0].trim();Bn.value=this.lossy?Ps:ts[0],ts[1]&&(Bn.insensitive=!0,this.lossy||(Bn.raws.insensitive=ts[1])),Bn.quoted=Ps[0]==="'"||Ps[0]==='"',Bn.raws.unquoted=Bn.quoted?Ps.slice(1,-1):Ps}this.newNode(Bn),this.position++},E.prototype.combinator=function(){if(this.currToken[1]==="|")return this.namespace();for(var Me=new Qf.default({value:"",source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]});this.position1&&Me.nextToken&&Me.nextToken[0]==="("&&Me.error("Misplaced parenthesis.")}))}else this.error('Unexpected "'+this.currToken[0]+'" found.')},E.prototype.space=function(){var Me=this.currToken;this.position===0||this.prevToken[0]===","||this.prevToken[0]==="("?(this.spaces=this.parseSpace(Me[1]),this.position++):this.position===this.tokens.length-1||this.nextToken[0]===","||this.nextToken[0]===")"?(this.current.last.spaces.after=this.parseSpace(Me[1]),this.position++):this.combinator()},E.prototype.string=function(){var Me=this.currToken;this.newNode(new kp.default({value:this.currToken[1],source:{start:{line:Me[2],column:Me[3]},end:{line:Me[4],column:Me[5]}},sourceIndex:Me[6]})),this.position++},E.prototype.universal=function(Me){var Bn=this.nextToken;if(Bn&&Bn[1]==="|")return this.position++,this.namespace();this.newNode(new Wp.default({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),Me),this.position++},E.prototype.splitWord=function(Me,Bn){for(var Hn=this,zn=this.nextToken,Ci=this.currToken[1];zn&&zn[0]==="word";){this.position++;var ts=this.currToken[1];if(Ci+=ts,ts.lastIndexOf("\\")===ts.length-1){var aa=this.nextToken;aa&&aa[0]==="space"&&(Ci+=this.parseSpace(aa[1]," "),this.position++)}zn=this.nextToken}var ca=(0,Ps.default)(Ci,"."),_a=(0,Ps.default)(Ci,"#"),xa=(0,Ps.default)(Ci,"#{");xa.length&&(_a=_a.filter((function(Me){return!~xa.indexOf(Me)})));var Ga=(0,Ad.default)((0,oa.default)((0,ni.default)([[0],ca,_a])));Ga.forEach((function(zn,ni){var ts=Ga[ni+1]||Ci.length,Ps=Ci.slice(zn,ts);if(ni===0&&Bn)return Bn.call(Hn,Ps,Ga.length);var aa=void 0;~ca.indexOf(zn)?aa=new so.default({value:Ps.slice(1),source:{start:{line:Hn.currToken[2],column:Hn.currToken[3]+zn},end:{line:Hn.currToken[4],column:Hn.currToken[3]+(ts-1)}},sourceIndex:Hn.currToken[6]+Ga[ni]}):~_a.indexOf(zn)?aa=new dc.default({value:Ps.slice(1),source:{start:{line:Hn.currToken[2],column:Hn.currToken[3]+zn},end:{line:Hn.currToken[4],column:Hn.currToken[3]+(ts-1)}},sourceIndex:Hn.currToken[6]+Ga[ni]}):aa=new Jc.default({value:Ps,source:{start:{line:Hn.currToken[2],column:Hn.currToken[3]+zn},end:{line:Hn.currToken[4],column:Hn.currToken[3]+(ts-1)}},sourceIndex:Hn.currToken[6]+Ga[ni]}),Hn.newNode(aa,Me)})),this.position++},E.prototype.word=function(Me){var Bn=this.nextToken;return Bn&&Bn[1]==="|"?(this.position++,this.namespace()):this.splitWord(Me)},E.prototype.loop=function(){for(;this.position1&&arguments[1]!==void 0?arguments[1]:{},Hn=new ni.default({css:Me,error:function(Me){throw new Error(Me)},options:Bn});return this.res=Hn,this.func(Hn),this},Hn(m,[{key:"result",get:function(){return String(this.res)}}]),m}();Me.default=Ci,Bn.exports=Me.default}}),Cv=P({"node_modules/postcss-selector-parser/dist/index.js"(Me,Bn){"use strict";ts(),Me.__esModule=!0;var Hn=bv(),zn=O(Hn),ni=Ty(),Ci=O(ni),Ps=ty(),aa=O(Ps),oa=Vy(),ca=O(oa),_a=ry(),xa=O(_a),Ga=ny(),Ha=O(Ga),so=Hy(),oo=O(so),Jo=fy(),tc=O(Jo),dc=f_(),Fc=O(dc),Jc=Z_(),Dp=O(Jc),kp=py(),Qp=O(kp),Up=iy(),Vp=O(Up),qp=Gy(),Jp=O(qp),Wp=Xg(),zp=B(Wp);function B(Me){if(Me&&Me.__esModule)return Me;var Bn={};if(Me!=null)for(var Hn in Me)Object.prototype.hasOwnProperty.call(Me,Hn)&&(Bn[Hn]=Me[Hn]);return Bn.default=Me,Bn}function O(Me){return Me&&Me.__esModule?Me:{default:Me}}var j=function(Me){return new zn.default(Me)};j.attribute=function(Me){return new Ci.default(Me)},j.className=function(Me){return new aa.default(Me)},j.combinator=function(Me){return new ca.default(Me)},j.comment=function(Me){return new xa.default(Me)},j.id=function(Me){return new Ha.default(Me)},j.nesting=function(Me){return new oo.default(Me)},j.pseudo=function(Me){return new tc.default(Me)},j.root=function(Me){return new Fc.default(Me)},j.selector=function(Me){return new Dp.default(Me)},j.string=function(Me){return new Qp.default(Me)},j.tag=function(Me){return new Vp.default(Me)},j.universal=function(Me){return new Jp.default(Me)},Object.keys(zp).forEach((function(Me){Me!=="__esModule"&&(j[Me]=zp[Me])})),Me.default=j,Bn.exports=Me.default}}),wv=P({"node_modules/postcss-media-query-parser/dist/nodes/Node.js"(Me){"use strict";ts(),Object.defineProperty(Me,"__esModule",{value:!0});function n(Me){this.after=Me.after,this.before=Me.before,this.type=Me.type,this.value=Me.value,this.sourceIndex=Me.sourceIndex}Me.default=n}}),Sv=P({"node_modules/postcss-media-query-parser/dist/nodes/Container.js"(Me){"use strict";ts(),Object.defineProperty(Me,"__esModule",{value:!0});var Bn=wv(),Hn=u(Bn);function u(Me){return Me&&Me.__esModule?Me:{default:Me}}function o(Me){var Bn=this;this.constructor(Me),this.nodes=Me.nodes,this.after===void 0&&(this.after=this.nodes.length>0?this.nodes[this.nodes.length-1].after:""),this.before===void 0&&(this.before=this.nodes.length>0?this.nodes[0].before:""),this.sourceIndex===void 0&&(this.sourceIndex=this.before.length),this.nodes.forEach((function(Me){Me.parent=Bn}))}o.prototype=Object.create(Hn.default.prototype),o.constructor=Hn.default,o.prototype.walk=function(Me,Bn){for(var Hn=typeof Me=="string"||Me instanceof RegExp,zn=Hn?Bn:Me,ni=typeof Me=="string"?new RegExp(Me):Me,Ci=0;Ci0&&(zn[ca-1].after=Ps.before),Ps.type===void 0){if(ca>0){if(zn[ca-1].type==="media-feature-expression"){Ps.type="keyword";continue}if(zn[ca-1].value==="not"||zn[ca-1].value==="only"){Ps.type="media-type";continue}if(zn[ca-1].value==="and"){Ps.type="media-feature-expression";continue}zn[ca-1].type==="media-type"&&(zn[ca+1]?Ps.type=zn[ca+1].type==="media-feature-expression"?"keyword":"media-feature-expression":Ps.type="media-feature-expression")}if(ca===0){if(!zn[ca+1]){Ps.type="media-type";continue}if(zn[ca+1]&&(zn[ca+1].type==="media-feature-expression"||zn[ca+1].type==="keyword")){Ps.type="media-type";continue}if(zn[ca+2]){if(zn[ca+2].type==="media-feature-expression"){Ps.type="media-type",zn[ca+1].type="keyword";continue}if(zn[ca+2].type==="keyword"){Ps.type="keyword",zn[ca+1].type="media-type";continue}}if(zn[ca+3]&&zn[ca+3].type==="media-feature-expression"){Ps.type="keyword",zn[ca+1].type="media-type",zn[ca+2].type="keyword";continue}}}return zn}function m(Me){var Bn=[],zn=0,Ci=0,ts=/^(\s*)url\s*\(/.exec(Me);if(ts!==null){for(var Ps=ts[0].length,aa=1;aa>0;){var oa=Me[Ps];oa==="("&&aa++,oa===")"&&aa--,Ps++}Bn.unshift(new Hn.default({type:"url",value:Me.substring(0,Ps).trim(),sourceIndex:ts[1].length,before:ts[1],after:/^(\s*)/.exec(Me.substring(Ps))[1]})),zn=Ps}for(var ca=zn;cana,default:()=>Ov,delimiter:()=>Nv,dirname:()=>ta,extname:()=>ia,isAbsolute:()=>zt,join:()=>ea,normalize:()=>Lt,relative:()=>ra,resolve:()=>yr,sep:()=>Fv});function Zo(Me,Bn){for(var Hn=0,zn=Me.length-1;zn>=0;zn--){var ni=Me[zn];ni==="."?Me.splice(zn,1):ni===".."?(Me.splice(zn,1),Hn++):Hn&&(Me.splice(zn,1),Hn--)}if(Bn)for(;Hn--;Hn)Me.unshift("..");return Me}function yr(){for(var Me="",Bn=!1,Hn=arguments.length-1;Hn>=-1&&!Bn;Hn--){var zn=Hn>=0?arguments[Hn]:"/";if(typeof zn!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!zn)continue;Me=zn+"/"+Me,Bn=zn.charAt(0)==="/"}return Me=Zo(Bt(Me.split("/"),(function(Me){return!!Me})),!Bn).join("/"),(Bn?"/":"")+Me||"."}function Lt(Me){var Bn=zt(Me),Hn=Mv(Me,-1)==="/";return Me=Zo(Bt(Me.split("/"),(function(Me){return!!Me})),!Bn).join("/"),!Me&&!Bn&&(Me="."),Me&&Hn&&(Me+="/"),(Bn?"/":"")+Me}function zt(Me){return Me.charAt(0)==="/"}function ea(){var Me=Array.prototype.slice.call(arguments,0);return Lt(Bt(Me,(function(Me,Bn){if(typeof Me!="string")throw new TypeError("Arguments to path.join must be strings");return Me})).join("/"))}function ra(Me,Bn){Me=yr(Me).substr(1),Bn=yr(Bn).substr(1);function i(Me){for(var Bn=0;Bn=0&&Me[Hn]==="";Hn--);return Bn>Hn?[]:Me.slice(Bn,Hn-Bn+1)}for(var Hn=i(Me.split("/")),zn=i(Bn.split("/")),ni=Math.min(Hn.length,zn.length),Ci=ni,ts=0;ts"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch{return!1}}function t(Me){return Function.toString.call(Me).indexOf("[native code]")!==-1}function r(Me,Bn){return r=Object.setPrototypeOf||function(Me,Bn){return Me.__proto__=Bn,Me},r(Me,Bn)}function a(Me){return a=Object.setPrototypeOf?Object.getPrototypeOf:function(Me){return Me.__proto__||Object.getPrototypeOf(Me)},a(Me)}var ni=function(Me){l(v,Me);function v(Bn,Hn,zn,ni,Ci,ts){var Ps;return Ps=Me.call(this,Bn)||this,Ps.name="CssSyntaxError",Ps.reason=Bn,Ci&&(Ps.file=Ci),ni&&(Ps.source=ni),ts&&(Ps.plugin=ts),typeof Hn<"u"&&typeof zn<"u"&&(Ps.line=Hn,Ps.column=zn),Ps.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(h(Ps),v),Ps}var Bn=v.prototype;return Bn.setMessage=function(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason},Bn.showSourceCode=function(Me){var Bn=this;if(!this.source)return"";var ni=this.source;zn.default&&(typeof Me>"u"&&(Me=Hn.default.isColorSupported),Me&&(ni=(0,zn.default)(ni)));var Ci=ni.split(/\r?\n/),ts=Math.max(this.line-3,0),Ps=Math.min(this.line+2,Ci.length),aa=String(Ps).length;function $(Bn){return Me&&Hn.default.red?Hn.default.red(Hn.default.bold(Bn)):Bn}function H(Bn){return Me&&Hn.default.gray?Hn.default.gray(Bn):Bn}return Ci.slice(ts,Ps).map((function(Me,Hn){var zn=ts+1+Hn,ni=" "+(" "+zn).slice(-aa)+" | ";if(zn===Bn.line){var Ci=H(ni.replace(/\d/g," "))+Me.slice(0,Bn.column-1).replace(/[^\t]/g," ");return $(">")+H(ni)+Me+`\n `+Ci+$("^")}return" "+H(ni)+Me})).join(`\n`)},Bn.toString=function(){var Me=this.showSourceCode();return Me&&(Me=`\n\n`+Me+`\n`),this.name+": "+this.message+Me},v}(p(Error)),Ci=ni;Me.default=Ci,Bn.exports=Me.default}}),iC=P({"node_modules/postcss/lib/previous-map.js"(Me,Bn){ts(),Bn.exports=class{}}}),sC=P({"node_modules/postcss/lib/input.js"(Me,Bn){"use strict";ts(),Me.__esModule=!0,Me.default=void 0;var Hn=h(eC()),zn=h(nC()),ni=h(iC());function h(Me){return Me&&Me.__esModule?Me:{default:Me}}function l(Me,Bn){for(var Hn=0;Hn"u"||typeof Me=="object"&&!Me.toString)throw new Error("PostCSS received "+Me+" instead of CSS string");this.css=Me.toString(),this.css[0]==="\ufeff"||this.css[0]==="￾"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,Bn.from&&(/^\w+:\/\//.test(Bn.from)||Hn.default.isAbsolute(Bn.from)?this.file=Bn.from:this.file=Hn.default.resolve(Bn.from));var zn=new ni.default(this.css,Bn);if(zn.text){this.map=zn;var ts=zn.consumer().file;!this.file&&ts&&(this.file=this.mapResolve(ts))}this.file||(Ci+=1,this.id=""),this.map&&(this.map.file=this.from)}var Me=r.prototype;return Me.error=function(Me,Bn,Hn,ni){ni===void 0&&(ni={});var Ci,ts=this.origin(Bn,Hn);return ts?Ci=new zn.default(Me,ts.line,ts.column,ts.source,ts.file,ni.plugin):Ci=new zn.default(Me,Bn,Hn,this.css,this.file,ni.plugin),Ci.input={line:Bn,column:Hn,source:this.css},this.file&&(Ci.input.file=this.file),Ci},Me.origin=function(Me,Bn){if(!this.map)return!1;var Hn=this.map.consumer(),zn=Hn.originalPositionFor({line:Me,column:Bn});if(!zn.source)return!1;var ni={file:this.mapResolve(zn.source),line:zn.line,column:zn.column},Ci=Hn.sourceContentFor(zn.source);return Ci&&(ni.source=Ci),ni},Me.mapResolve=function(Me){return/^\w+:\/\//.test(Me)?Me:Hn.default.resolve(this.map.consumer().sourceRoot||".",Me)},p(r,[{key:"from",get:function(){return this.file||this.id}}]),r}(),aa=Ps;Me.default=aa,Bn.exports=Me.default}}),aC=P({"node_modules/postcss/lib/stringifier.js"(Me,Bn){"use strict";ts(),Me.__esModule=!0,Me.default=void 0;var Hn={colon:": ",indent:" ",beforeDecl:`\n`,beforeRule:`\n`,beforeOpen:" ",beforeClose:`\n`,beforeComment:`\n`,after:`\n`,emptyBody:"",commentLeft:" ",commentRight:" ",semicolon:!1};function u(Me){return Me[0].toUpperCase()+Me.slice(1)}var zn=function(){function l(Me){this.builder=Me}var Me=l.prototype;return Me.stringify=function(Me,Bn){this[Me.type](Me,Bn)},Me.root=function(Me){this.body(Me),Me.raws.after&&this.builder(Me.raws.after)},Me.comment=function(Me){var Bn=this.raw(Me,"left","commentLeft"),Hn=this.raw(Me,"right","commentRight");this.builder("/*"+Bn+Me.text+Hn+"*/",Me)},Me.decl=function(Me,Bn){var Hn=this.raw(Me,"between","colon"),zn=Me.prop+Hn+this.rawValue(Me,"value");Me.important&&(zn+=Me.raws.important||" !important"),Bn&&(zn+=";"),this.builder(zn,Me)},Me.rule=function(Me){this.block(Me,this.rawValue(Me,"selector")),Me.raws.ownSemicolon&&this.builder(Me.raws.ownSemicolon,Me,"end")},Me.atrule=function(Me,Bn){var Hn="@"+Me.name,zn=Me.params?this.rawValue(Me,"params"):"";if(typeof Me.raws.afterName<"u"?Hn+=Me.raws.afterName:zn&&(Hn+=" "),Me.nodes)this.block(Me,Hn+zn);else{var ni=(Me.raws.between||"")+(Bn?";":"");this.builder(Hn+zn+ni,Me)}},Me.body=function(Me){for(var Bn=Me.nodes.length-1;Bn>0&&Me.nodes[Bn].type==="comment";)Bn-=1;for(var Hn=this.raw(Me,"semicolon"),zn=0;zn"u"&&(ni=Hn[zn]),ts.rawCache[zn]=ni,ni},Me.rawSemicolon=function(Me){var Bn;return Me.walk((function(Me){if(Me.nodes&&Me.nodes.length&&Me.last.type==="decl"&&(Bn=Me.raws.semicolon,typeof Bn<"u"))return!1})),Bn},Me.rawEmptyBody=function(Me){var Bn;return Me.walk((function(Me){if(Me.nodes&&Me.nodes.length===0&&(Bn=Me.raws.after,typeof Bn<"u"))return!1})),Bn},Me.rawIndent=function(Me){if(Me.raws.indent)return Me.raws.indent;var Bn;return Me.walk((function(Hn){var zn=Hn.parent;if(zn&&zn!==Me&&zn.parent&&zn.parent===Me&&typeof Hn.raws.before<"u"){var ni=Hn.raws.before.split(`\n`);return Bn=ni[ni.length-1],Bn=Bn.replace(/[^\s]/g,""),!1}})),Bn},Me.rawBeforeComment=function(Me,Bn){var Hn;return Me.walkComments((function(Me){if(typeof Me.raws.before<"u")return Hn=Me.raws.before,Hn.indexOf(`\n`)!==-1&&(Hn=Hn.replace(/[^\n]+$/,"")),!1})),typeof Hn>"u"?Hn=this.raw(Bn,null,"beforeDecl"):Hn&&(Hn=Hn.replace(/[^\s]/g,"")),Hn},Me.rawBeforeDecl=function(Me,Bn){var Hn;return Me.walkDecls((function(Me){if(typeof Me.raws.before<"u")return Hn=Me.raws.before,Hn.indexOf(`\n`)!==-1&&(Hn=Hn.replace(/[^\n]+$/,"")),!1})),typeof Hn>"u"?Hn=this.raw(Bn,null,"beforeRule"):Hn&&(Hn=Hn.replace(/[^\s]/g,"")),Hn},Me.rawBeforeRule=function(Me){var Bn;return Me.walk((function(Hn){if(Hn.nodes&&(Hn.parent!==Me||Me.first!==Hn)&&typeof Hn.raws.before<"u")return Bn=Hn.raws.before,Bn.indexOf(`\n`)!==-1&&(Bn=Bn.replace(/[^\n]+$/,"")),!1})),Bn&&(Bn=Bn.replace(/[^\s]/g,"")),Bn},Me.rawBeforeClose=function(Me){var Bn;return Me.walk((function(Me){if(Me.nodes&&Me.nodes.length>0&&typeof Me.raws.after<"u")return Bn=Me.raws.after,Bn.indexOf(`\n`)!==-1&&(Bn=Bn.replace(/[^\n]+$/,"")),!1})),Bn&&(Bn=Bn.replace(/[^\s]/g,"")),Bn},Me.rawBeforeOpen=function(Me){var Bn;return Me.walk((function(Me){if(Me.type!=="decl"&&(Bn=Me.raws.between,typeof Bn<"u"))return!1})),Bn},Me.rawColon=function(Me){var Bn;return Me.walkDecls((function(Me){if(typeof Me.raws.between<"u")return Bn=Me.raws.between.replace(/[^\s:]/g,""),!1})),Bn},Me.beforeAfter=function(Me,Bn){var Hn;Me.type==="decl"?Hn=this.raw(Me,null,"beforeDecl"):Me.type==="comment"?Hn=this.raw(Me,null,"beforeComment"):Bn==="before"?Hn=this.raw(Me,null,"beforeRule"):Hn=this.raw(Me,null,"beforeClose");for(var zn=Me.parent,ni=0;zn&&zn.type!=="root";)ni+=1,zn=zn.parent;if(Hn.indexOf(`\n`)!==-1){var Ci=this.raw(Me,null,"indent");if(Ci.length)for(var ts=0;ts=Pd}function ue(Me){if(hA.length)return hA.pop();if(!(sA>=Pd)){var Bn=Me?Me.ignoreUnclosed:!1;switch(qp=ts.charCodeAt(sA),(qp===Ps||qp===oa||qp===_a&&ts.charCodeAt(sA+1)!==Ps)&&(Qh=sA,Zh+=1),qp){case Ps:case aa:case ca:case _a:case oa:Jp=sA;do{Jp+=1,qp=ts.charCodeAt(Jp),qp===Ps&&(Qh=Jp,Zh+=1)}while(qp===aa||qp===Ps||qp===ca||qp===_a||qp===oa);Td=["space",ts.slice(sA,Jp)],sA=Jp-1;break;case xa:case Ga:case oo:case Jo:case Fc:case tc:case so:var eg=String.fromCharCode(qp);Td=[eg,eg,Zh,sA-Qh];break;case Ha:if(Sd=oA.length?oA.pop()[1]:"",xd=ts.charCodeAt(sA+1),Sd==="url"&&xd!==Hn&&xd!==zn&&xd!==aa&&xd!==Ps&&xd!==ca&&xd!==oa&&xd!==_a){Jp=sA;do{if(Cd=!1,Jp=ts.indexOf(")",Jp+1),Jp===-1)if(Vp||Bn){Jp=sA;break}else ee("bracket");for(wd=Jp;ts.charCodeAt(wd-1)===ni;)wd-=1,Cd=!Cd}while(Cd);Td=["brackets",ts.slice(sA,Jp+1),Zh,sA-Qh,Zh,Jp-Qh],sA=Jp}else Jp=ts.indexOf(")",sA+1),Yf=ts.slice(sA,Jp+1),Jp===-1||Qp.test(Yf)?Td=["(","(",Zh,sA-Qh]:(Td=["brackets",Yf,Zh,sA-Qh,Zh,Jp-Qh],sA=Jp);break;case Hn:case zn:Wp=qp===Hn?"'":'"',Jp=sA;do{if(Cd=!1,Jp=ts.indexOf(Wp,Jp+1),Jp===-1)if(Vp||Bn){Jp=sA+1;break}else ee("string");for(wd=Jp;ts.charCodeAt(wd-1)===ni;)wd-=1,Cd=!Cd}while(Cd);Yf=ts.slice(sA,Jp+1),zp=Yf.split(`\n`),Qf=zp.length-1,Qf>0?(Xf=Zh+Qf,Ad=Jp-zp[Qf].length):(Xf=Zh,Ad=Qh),Td=["string",ts.slice(sA,Jp+1),Zh,sA-Qh,Xf,Jp-Ad],Qh=Ad,Zh=Xf,sA=Jp;break;case Jc:Dp.lastIndex=sA+1,Dp.test(ts),Dp.lastIndex===0?Jp=ts.length-1:Jp=Dp.lastIndex-2,Td=["at-word",ts.slice(sA,Jp+1),Zh,sA-Qh,Zh,Jp-Qh],sA=Jp;break;case ni:for(Jp=sA,Kf=!0;ts.charCodeAt(Jp+1)===ni;)Jp+=1,Kf=!Kf;if(qp=ts.charCodeAt(Jp+1),Kf&&qp!==Ci&&qp!==aa&&qp!==Ps&&qp!==ca&&qp!==_a&&qp!==oa&&(Jp+=1,Up.test(ts.charAt(Jp)))){for(;Up.test(ts.charAt(Jp+1));)Jp+=1;ts.charCodeAt(Jp+1)===aa&&(Jp+=1)}Td=["word",ts.slice(sA,Jp+1),Zh,sA-Qh,Zh,Jp-Qh],sA=Jp;break;default:qp===Ci&&ts.charCodeAt(sA+1)===dc?(Jp=ts.indexOf("*/",sA+2)+1,Jp===0&&(Vp||Bn?Jp=ts.length:ee("comment")),Yf=ts.slice(sA,Jp+1),zp=Yf.split(`\n`),Qf=zp.length-1,Qf>0?(Xf=Zh+Qf,Ad=Jp-zp[Qf].length):(Xf=Zh,Ad=Qh),Td=["comment",Yf,Zh,sA-Qh,Xf,Jp-Ad],Qh=Ad,Zh=Xf,sA=Jp):(kp.lastIndex=sA+1,kp.test(ts),kp.lastIndex===0?Jp=ts.length-1:Jp=kp.lastIndex-2,Td=["word",ts.slice(sA,Jp+1),Zh,sA-Qh,Zh,Jp-Qh],oA.push(Td),sA=Jp);break}return sA++,Td}}function le(Me){hA.push(Me)}return{back:le,nextToken:ue,endOfFile:te,position:z}}Bn.exports=Me.default}}),fC=P({"node_modules/postcss/lib/parse.js"(Me,Bn){"use strict";ts(),Me.__esModule=!0,Me.default=void 0;var Hn=o(DC()),zn=o(sC());function o(Me){return Me&&Me.__esModule?Me:{default:Me}}function h(Me,Bn){var ni=new zn.default(Me,Bn),Ci=new Hn.default(ni);try{Ci.parse()}catch(Me){throw Me}return Ci.root}var ni=h;Me.default=ni,Bn.exports=Me.default}}),dC=P({"node_modules/postcss/lib/list.js"(Me,Bn){"use strict";ts(),Me.__esModule=!0,Me.default=void 0;var Hn={split:function(Me,Bn,Hn){for(var zn=[],ni="",Ci=!1,ts=0,Ps=!1,aa=!1,oa=0;oa0&&(ts-=1):ts===0&&Bn.indexOf(ca)!==-1&&(Ci=!0),Ci?(ni!==""&&zn.push(ni.trim()),ni="",Ci=!1):ni+=ca}return(Hn||ni!=="")&&zn.push(ni.trim()),zn},space:function(Me){var Bn=[" ",`\n`,"\t"];return Hn.split(Me,Bn)},comma:function(Me){return Hn.split(Me,[","],!0)}},zn=Hn;Me.default=zn,Bn.exports=Me.default}}),hC=P({"node_modules/postcss/lib/rule.js"(Me,Bn){"use strict";ts(),Me.__esModule=!0,Me.default=void 0;var Hn=o(AC()),zn=o(dC());function o(Me){return Me&&Me.__esModule?Me:{default:Me}}function h(Me,Bn){for(var Hn=0;Hn"u"||Me[Symbol.iterator]==null){if(Array.isArray(Me)||(Hn=p(Me))||Bn&&Me&&typeof Me.length=="number"){Hn&&(Me=Hn);var zn=0;return function(){return zn>=Me.length?{done:!0}:{done:!1,value:Me[zn++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return Hn=Me[Symbol.iterator](),Hn.next.bind(Hn)}function p(Me,Bn){if(Me){if(typeof Me=="string")return m(Me,Bn);var Hn=Object.prototype.toString.call(Me).slice(8,-1);if(Hn==="Object"&&Me.constructor&&(Hn=Me.constructor.name),Hn==="Map"||Hn==="Set")return Array.from(Me);if(Hn==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Hn))return m(Me,Bn)}}function m(Me,Bn){(Bn==null||Bn>Me.length)&&(Bn=Me.length);for(var Hn=0,zn=new Array(Bn);Hn=Me&&(this.indexes[Hn]=Bn-1);return this},Bn.removeAll=function(){for(var Me=l(this.nodes),Bn;!(Bn=Me()).done;){var Hn=Bn.value;Hn.parent=void 0}return this.nodes=[],this},Bn.replaceValues=function(Me,Bn,Hn){return Hn||(Hn=Bn,Bn={}),this.walkDecls((function(zn){Bn.props&&Bn.props.indexOf(zn.prop)===-1||Bn.fast&&zn.value.indexOf(Bn.fast)===-1||(zn.value=zn.value.replace(Me,Hn))})),this},Bn.every=function(Me){return this.nodes.every(Me)},Bn.some=function(Me){return this.nodes.some(Me)},Bn.index=function(Me){return typeof Me=="number"?Me:this.nodes.indexOf(Me)},Bn.normalize=function(Me,Bn){var ni=this;if(typeof Me=="string"){var Ci=fC();Me=a(Ci(Me).nodes)}else if(Array.isArray(Me)){Me=Me.slice(0);for(var ts=l(Me),Ps;!(Ps=ts()).done;){var aa=Ps.value;aa.parent&&aa.parent.removeChild(aa,"ignore")}}else if(Me.type==="root"){Me=Me.nodes.slice(0);for(var oa=l(Me),ca;!(ca=oa()).done;){var _a=ca.value;_a.parent&&_a.parent.removeChild(_a,"ignore")}}else if(Me.type)Me=[Me];else if(Me.prop){if(typeof Me.value>"u")throw new Error("Value field is missed in node creation");typeof Me.value!="string"&&(Me.value=String(Me.value)),Me=[new Hn.default(Me)]}else if(Me.selector){var xa=hC();Me=[new xa(Me)]}else if(Me.name){var Ga=mC();Me=[new Ga(Me)]}else if(Me.text)Me=[new zn.default(Me)];else throw new Error("Unknown node type in node creation");var Ha=Me.map((function(Me){return Me.parent&&Me.parent.removeChild(Me),typeof Me.raws.before>"u"&&Bn&&typeof Bn.raws.before<"u"&&(Me.raws.before=Bn.raws.before.replace(/[^\s]/g,"")),Me.parent=ni,Me}));return Ha},t(v,[{key:"first",get:function(){if(this.nodes)return this.nodes[0]}},{key:"last",get:function(){if(this.nodes)return this.nodes[this.nodes.length-1]}}]),v}(ni.default),Ps=Ci;Me.default=Ps,Bn.exports=Me.default}}),mC=P({"node_modules/postcss/lib/at-rule.js"(Me,Bn){"use strict";ts(),Me.__esModule=!0,Me.default=void 0;var Hn=u(AC());function u(Me){return Me&&Me.__esModule?Me:{default:Me}}function o(Me,Bn){Me.prototype=Object.create(Bn.prototype),Me.prototype.constructor=Me,Me.__proto__=Bn}var zn=function(Me){o(m,Me);function m(Bn){var Hn;return Hn=Me.call(this,Bn)||this,Hn.type="atrule",Hn}var Bn=m.prototype;return Bn.append=function(){var Bn;this.nodes||(this.nodes=[]);for(var Hn=arguments.length,zn=new Array(Hn),ni=0;ni"u"||Me[Symbol.iterator]==null){if(Array.isArray(Me)||(Hn=c(Me))||Bn&&Me&&typeof Me.length=="number"){Hn&&(Me=Hn);var zn=0;return function(){return zn>=Me.length?{done:!0}:{done:!1,value:Me[zn++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return Hn=Me[Symbol.iterator](),Hn.next.bind(Hn)}function c(Me,Bn){if(Me){if(typeof Me=="string")return t(Me,Bn);var Hn=Object.prototype.toString.call(Me).slice(8,-1);if(Hn==="Object"&&Me.constructor&&(Hn=Me.constructor.name),Hn==="Map"||Hn==="Set")return Array.from(Me);if(Hn==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Hn))return t(Me,Bn)}}function t(Me,Bn){(Bn==null||Bn>Me.length)&&(Bn=Me.length);for(var Hn=0,zn=new Array(Bn);Hn"u"&&(Hn.map={}),Hn.map.inline||(Hn.map.inline=!1),Hn.map.prev=Bn.map);else{var ni=Ps.default;Hn.syntax&&(ni=Hn.syntax.parse),Hn.parser&&(ni=Hn.parser),ni.parse&&(ni=ni.parse);try{zn=ni(Bn,Hn)}catch(Me){this.error=Me}}this.result=new Ci.default(Me,zn,Hn)}var Me=v.prototype;return Me.warnings=function(){return this.sync().warnings()},Me.toString=function(){return this.css},Me.then=function(Me,Bn){return this.async().then(Me,Bn)},Me.catch=function(Me){return this.async().catch(Me)},Me.finally=function(Me){return this.async().then(Me,Me)},Me.handleError=function(Me,Bn){try{if(this.error=Me,Me.name==="CssSyntaxError"&&!Me.plugin)Me.plugin=Bn.postcssPlugin,Me.setMessage();else if(Bn.postcssVersion&&!1){var Hn,zn,ni,Ci,ts}}catch(Me){console&&console.error&&console.error(Me)}},Me.asyncTick=function(Me,Bn){var Hn=this;if(this.plugin>=this.processor.plugins.length)return this.processed=!0,Me();try{var zn=this.processor.plugins[this.plugin],ni=this.run(zn);this.plugin+=1,s(ni)?ni.then((function(){Hn.asyncTick(Me,Bn)})).catch((function(Me){Hn.handleError(Me,zn),Hn.processed=!0,Bn(Me)})):this.asyncTick(Me,Bn)}catch(Me){this.processed=!0,Bn(Me)}},Me.async=function(){var Me=this;return this.processed?new Promise((function(Bn,Hn){Me.error?Hn(Me.error):Bn(Me.stringify())})):this.processing?this.processing:(this.processing=new Promise((function(Bn,Hn){if(Me.error)return Hn(Me.error);Me.plugin=0,Me.asyncTick(Bn,Hn)})).then((function(){return Me.processed=!0,Me.stringify()})),this.processing)},Me.sync=function(){if(this.processed)return this.result;if(this.processed=!0,this.processing)throw new Error("Use process(css).then(cb) to work with async plugins");if(this.error)throw this.error;for(var Me=m(this.result.processor.plugins),Bn;!(Bn=Me()).done;){var Hn=Bn.value,zn=this.run(Hn);if(s(zn))throw new Error("Use process(css).then(cb) to work with async plugins")}return this.result},Me.run=function(Me){this.result.lastPlugin=Me;try{return Me(this.result.root,this.result)}catch(Bn){throw this.handleError(Bn,Me),Bn}},Me.stringify=function(){if(this.stringified)return this.result;this.stringified=!0,this.sync();var Me=this.result.opts,Bn=zn.default;Me.syntax&&(Bn=Me.syntax.stringify),Me.stringifier&&(Bn=Me.stringifier),Bn.stringify&&(Bn=Bn.stringify);var ni=new Hn.default(Bn,this.result.root,this.result.opts),Ci=ni.generate();return this.result.css=Ci[0],this.result.map=Ci[1],this.result},a(v,[{key:"processor",get:function(){return this.result.processor}},{key:"opts",get:function(){return this.result.opts}},{key:"css",get:function(){return this.stringify().css}},{key:"content",get:function(){return this.stringify().content}},{key:"map",get:function(){return this.stringify().map}},{key:"root",get:function(){return this.sync().root}},{key:"messages",get:function(){return this.sync().messages}}]),v}(),oa=aa;Me.default=oa,Bn.exports=Me.default}}),bC=P({"node_modules/postcss/lib/processor.js"(Me,Bn){"use strict";ts(),Me.__esModule=!0,Me.default=void 0;var Hn=u(EC());function u(Me){return Me&&Me.__esModule?Me:{default:Me}}function o(Me,Bn){var Hn;if(typeof Symbol>"u"||Me[Symbol.iterator]==null){if(Array.isArray(Me)||(Hn=h(Me))||Bn&&Me&&typeof Me.length=="number"){Hn&&(Me=Hn);var zn=0;return function(){return zn>=Me.length?{done:!0}:{done:!1,value:Me[zn++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return Hn=Me[Symbol.iterator](),Hn.next.bind(Hn)}function h(Me,Bn){if(Me){if(typeof Me=="string")return l(Me,Bn);var Hn=Object.prototype.toString.call(Me).slice(8,-1);if(Hn==="Object"&&Me.constructor&&(Hn=Me.constructor.name),Hn==="Map"||Hn==="Set")return Array.from(Me);if(Hn==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Hn))return l(Me,Bn)}}function l(Me,Bn){(Bn==null||Bn>Me.length)&&(Bn=Me.length);for(var Hn=0,zn=new Array(Bn);Hn"u"||Me[Symbol.iterator]==null){if(Array.isArray(Me)||(Hn=h(Me))||Bn&&Me&&typeof Me.length=="number"){Hn&&(Me=Hn);var zn=0;return function(){return zn>=Me.length?{done:!0}:{done:!1,value:Me[zn++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return Hn=Me[Symbol.iterator](),Hn.next.bind(Hn)}function h(Me,Bn){if(Me){if(typeof Me=="string")return l(Me,Bn);var Hn=Object.prototype.toString.call(Me).slice(8,-1);if(Hn==="Object"&&Me.constructor&&(Hn=Me.constructor.name),Hn==="Map"||Hn==="Set")return Array.from(Me);if(Hn==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Hn))return l(Me,Bn)}}function l(Me,Bn){(Bn==null||Bn>Me.length)&&(Bn=Me.length);for(var Hn=0,zn=new Array(Bn);Hn1&&(this.nodes[1].raws.before=this.nodes[zn].raws.before),Me.prototype.removeChild.call(this,Bn)},Bn.normalize=function(Bn,Hn,zn){var ni=Me.prototype.normalize.call(this,Bn);if(Hn){if(zn==="prepend")this.nodes.length>1?Hn.raws.before=this.nodes[1].raws.before:delete Hn.raws.before;else if(this.first!==Hn)for(var Ci=o(ni),ts;!(ts=Ci()).done;){var Ps=ts.value;Ps.raws.before=Hn.raws.before}}return ni},Bn.toResult=function(Me){Me===void 0&&(Me={});var Bn=EC(),Hn=bC(),zn=new Bn(new Hn,this,Me);return zn.stringify()},r}(Hn.default),ni=zn;Me.default=ni,Bn.exports=Me.default}}),DC=P({"node_modules/postcss/lib/parser.js"(Me,Bn){"use strict";ts(),Me.__esModule=!0,Me.default=void 0;var Hn=m(lC()),zn=m(pC()),ni=m(cC()),Ci=m(mC()),Ps=m(CC()),aa=m(hC());function m(Me){return Me&&Me.__esModule?Me:{default:Me}}var oa=function(){function t(Me){this.input=Me,this.root=new Ps.default,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:Me,start:{line:1,column:1}}}var Me=t.prototype;return Me.createTokenizer=function(){this.tokenizer=(0,zn.default)(this.input)},Me.parse=function(){for(var Me;!this.tokenizer.endOfFile();)switch(Me=this.tokenizer.nextToken(),Me[0]){case"space":this.spaces+=Me[1];break;case";":this.freeSemicolon(Me);break;case"}":this.end(Me);break;case"comment":this.comment(Me);break;case"at-word":this.atrule(Me);break;case"{":this.emptyRule(Me);break;default:this.other(Me);break}this.endFile()},Me.comment=function(Me){var Bn=new ni.default;this.init(Bn,Me[2],Me[3]),Bn.source.end={line:Me[4],column:Me[5]};var Hn=Me[1].slice(2,-2);if(/^\s*$/.test(Hn))Bn.text="",Bn.raws.left=Hn,Bn.raws.right="";else{var zn=Hn.match(/^(\s*)([^]*[^\s])(\s*)$/);Bn.text=zn[2],Bn.raws.left=zn[1],Bn.raws.right=zn[3]}},Me.emptyRule=function(Me){var Bn=new aa.default;this.init(Bn,Me[2],Me[3]),Bn.selector="",Bn.raws.between="",this.current=Bn},Me.other=function(Me){for(var Bn=!1,Hn=null,zn=!1,ni=null,Ci=[],ts=[],Ps=Me;Ps;){if(Hn=Ps[0],ts.push(Ps),Hn==="("||Hn==="[")ni||(ni=Ps),Ci.push(Hn==="("?")":"]");else if(Ci.length===0)if(Hn===";")if(zn){this.decl(ts);return}else break;else if(Hn==="{"){this.rule(ts);return}else if(Hn==="}"){this.tokenizer.back(ts.pop()),Bn=!0;break}else Hn===":"&&(zn=!0);else Hn===Ci[Ci.length-1]&&(Ci.pop(),Ci.length===0&&(ni=null));Ps=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(Bn=!0),Ci.length>0&&this.unclosedBracket(ni),Bn&&zn){for(;ts.length&&(Ps=ts[ts.length-1][0],!(Ps!=="space"&&Ps!=="comment"));)this.tokenizer.back(ts.pop());this.decl(ts)}else this.unknownWord(ts)},Me.rule=function(Me){Me.pop();var Bn=new aa.default;this.init(Bn,Me[0][2],Me[0][3]),Bn.raws.between=this.spacesAndCommentsFromEnd(Me),this.raw(Bn,"selector",Me),this.current=Bn},Me.decl=function(Me){var Bn=new Hn.default;this.init(Bn);var zn=Me[Me.length-1];for(zn[0]===";"&&(this.semicolon=!0,Me.pop()),zn[4]?Bn.source.end={line:zn[4],column:zn[5]}:Bn.source.end={line:zn[2],column:zn[3]};Me[0][0]!=="word";)Me.length===1&&this.unknownWord(Me),Bn.raws.before+=Me.shift()[1];for(Bn.source.start={line:Me[0][2],column:Me[0][3]},Bn.prop="";Me.length;){var ni=Me[0][0];if(ni===":"||ni==="space"||ni==="comment")break;Bn.prop+=Me.shift()[1]}Bn.raws.between="";for(var Ci;Me.length;)if(Ci=Me.shift(),Ci[0]===":"){Bn.raws.between+=Ci[1];break}else Ci[0]==="word"&&/\w/.test(Ci[1])&&this.unknownWord([Ci]),Bn.raws.between+=Ci[1];(Bn.prop[0]==="_"||Bn.prop[0]==="*")&&(Bn.raws.before+=Bn.prop[0],Bn.prop=Bn.prop.slice(1)),Bn.raws.between+=this.spacesAndCommentsFromStart(Me),this.precheckMissedSemicolon(Me);for(var ts=Me.length-1;ts>0;ts--){if(Ci=Me[ts],Ci[1].toLowerCase()==="!important"){Bn.important=!0;var Ps=this.stringFrom(Me,ts);Ps=this.spacesFromEnd(Me)+Ps,Ps!==" !important"&&(Bn.raws.important=Ps);break}else if(Ci[1].toLowerCase()==="important"){for(var aa=Me.slice(0),oa="",ca=ts;ca>0;ca--){var _a=aa[ca][0];if(oa.trim().indexOf("!")===0&&_a!=="space")break;oa=aa.pop()[1]+oa}oa.trim().indexOf("!")===0&&(Bn.important=!0,Bn.raws.important=oa,Me=aa)}if(Ci[0]!=="space"&&Ci[0]!=="comment")break}this.raw(Bn,"value",Me),Bn.value.indexOf(":")!==-1&&this.checkMissedSemicolon(Me)},Me.atrule=function(Me){var Bn=new Ci.default;Bn.name=Me[1].slice(1),Bn.name===""&&this.unnamedAtrule(Bn,Me),this.init(Bn,Me[2],Me[3]);for(var Hn,zn,ni=!1,ts=!1,Ps=[];!this.tokenizer.endOfFile();){if(Me=this.tokenizer.nextToken(),Me[0]===";"){Bn.source.end={line:Me[2],column:Me[3]},this.semicolon=!0;break}else if(Me[0]==="{"){ts=!0;break}else if(Me[0]==="}"){if(Ps.length>0){for(zn=Ps.length-1,Hn=Ps[zn];Hn&&Hn[0]==="space";)Hn=Ps[--zn];Hn&&(Bn.source.end={line:Hn[4],column:Hn[5]})}this.end(Me);break}else Ps.push(Me);if(this.tokenizer.endOfFile()){ni=!0;break}}Bn.raws.between=this.spacesAndCommentsFromEnd(Ps),Ps.length?(Bn.raws.afterName=this.spacesAndCommentsFromStart(Ps),this.raw(Bn,"params",Ps),ni&&(Me=Ps[Ps.length-1],Bn.source.end={line:Me[4],column:Me[5]},this.spaces=Bn.raws.between,Bn.raws.between="")):(Bn.raws.afterName="",Bn.params=""),ts&&(Bn.nodes=[],this.current=Bn)},Me.end=function(Me){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end={line:Me[2],column:Me[3]},this.current=this.current.parent):this.unexpectedClose(Me)},Me.endFile=function(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces},Me.freeSemicolon=function(Me){if(this.spaces+=Me[1],this.current.nodes){var Bn=this.current.nodes[this.current.nodes.length-1];Bn&&Bn.type==="rule"&&!Bn.raws.ownSemicolon&&(Bn.raws.ownSemicolon=this.spaces,this.spaces="")}},Me.init=function(Me,Bn,Hn){this.current.push(Me),Me.source={start:{line:Bn,column:Hn},input:this.input},Me.raws.before=this.spaces,this.spaces="",Me.type!=="comment"&&(this.semicolon=!1)},Me.raw=function(Me,Bn,Hn){for(var zn,ni,Ci=Hn.length,ts="",Ps=!0,aa,oa,ca=/^([.|#])?([\w])+/i,_a=0;_a=0&&(zn=Me[ni],!(zn[0]!=="space"&&(Hn+=1,Hn===2)));ni--);throw this.input.error("Missed semicolon",zn[2],zn[3])}},t}();Me.default=oa,Bn.exports=Me.default}}),wC=P({"node_modules/postcss-less/lib/nodes/inline-comment.js"(Me,Bn){ts();var Hn=pC(),zn=sC();Bn.exports={isInlineComment(Me){if(Me[0]==="word"&&Me[1].slice(0,2)==="//"){let Bn=Me,ni=[],Ci;for(;Me;){if(/\r?\n/.test(Me[1])){if(/['"].*\r?\n/.test(Me[1])){ni.push(Me[1].substring(0,Me[1].indexOf(`\n`)));let Bn=Me[1].substring(Me[1].indexOf(`\n`));Bn+=this.input.css.valueOf().substring(this.tokenizer.position()),this.input=new zn(Bn),this.tokenizer=Hn(this.input)}else this.tokenizer.back(Me);break}ni.push(Me[1]),Ci=Me,Me=this.tokenizer.nextToken({ignoreUnclosed:!0})}let ts=["comment",ni.join(""),Bn[2],Bn[3],Ci[2],Ci[3]];return this.inlineComment(ts),!0}else if(Me[1]==="/"){let Hn=this.tokenizer.nextToken({ignoreUnclosed:!0});if(Hn[0]==="comment"&&/^\/\*/.test(Hn[1]))return Hn[0]="word",Hn[1]=Hn[1].slice(1),Me[1]="//",this.tokenizer.back(Hn),Bn.exports.isInlineComment.bind(this)(Me)}return!1}}}}),SC=P({"node_modules/postcss-less/lib/nodes/interpolation.js"(Me,Bn){ts(),Bn.exports={interpolation(Me){let Bn=Me,Hn=[Me],zn=["word","{","}"];if(Me=this.tokenizer.nextToken(),Bn[1].length>1||Me[0]!=="{")return this.tokenizer.back(Me),!1;for(;Me&&zn.includes(Me[0]);)Hn.push(Me),Me=this.tokenizer.nextToken();let ni=Hn.map((Me=>Me[1]));[Bn]=Hn;let Ci=Hn.pop(),ts=[Bn[2],Bn[3]],Ps=[Ci[4]||Ci[2],Ci[5]||Ci[3]],aa=["word",ni.join("")].concat(ts,Ps);return this.tokenizer.back(Me),this.tokenizer.back(aa),!0}}}}),IC=P({"node_modules/postcss-less/lib/nodes/mixin.js"(Me,Bn){ts();var Hn=/^#[0-9a-fA-F]{6}$|^#[0-9a-fA-F]{3}$/,zn=/\.[0-9]/,o=Me=>{let[,Bn]=Me,[ni]=Bn;return(ni==="."||ni==="#")&&Hn.test(Bn)===!1&&zn.test(Bn)===!1};Bn.exports={isMixinToken:o}}}),xC=P({"node_modules/postcss-less/lib/nodes/import.js"(Me,Bn){ts();var Hn=pC(),zn=/^url\((.+)\)/;Bn.exports=Me=>{let{name:Bn,params:ni=""}=Me;if(Bn==="import"&&ni.length){Me.import=!0;let Bn=Hn({css:ni});for(Me.filename=ni.replace(zn,"$1");!Bn.endOfFile();){let[Hn,zn]=Bn.nextToken();if(Hn==="word"&&zn==="url")return;if(Hn==="brackets"){Me.options=zn,Me.filename=ni.replace(zn,"").trim();break}}}}}}),kC=P({"node_modules/postcss-less/lib/nodes/variable.js"(Me,Bn){ts();var Hn=/:$/,zn=/^:(\s+)?/;Bn.exports=Me=>{let{name:Bn,params:ni=""}=Me;if(Me.name.slice(-1)===":"){if(Hn.test(Bn)){let[zn]=Bn.match(Hn);Me.name=Bn.replace(zn,""),Me.raws.afterName=zn+(Me.raws.afterName||""),Me.variable=!0,Me.value=Me.params}if(zn.test(ni)){let[Bn]=ni.match(zn);Me.value=ni.replace(Bn,""),Me.raws.afterName=(Me.raws.afterName||"")+Bn,Me.variable=!0}}}}}),BC=P({"node_modules/postcss-less/lib/LessParser.js"(Me,Bn){ts();var Hn=cC(),zn=DC(),{isInlineComment:ni}=wC(),{interpolation:Ci}=SC(),{isMixinToken:Ps}=IC(),aa=xC(),oa=kC(),ca=/(!\s*important)$/i;Bn.exports=class extends zn{constructor(){super(...arguments),this.lastNode=null}atrule(Me){Ci.bind(this)(Me)||(super.atrule(Me),aa(this.lastNode),oa(this.lastNode))}decl(){super.decl(...arguments),/extend\(.+\)/i.test(this.lastNode.value)&&(this.lastNode.extend=!0)}each(Me){Me[0][1]=` ${Me[0][1]}`;let Bn=Me.findIndex((Me=>Me[0]==="(")),Hn=Me.reverse().find((Me=>Me[0]===")")),zn=Me.reverse().indexOf(Hn),ni=Me.splice(Bn,zn).map((Me=>Me[1])).join("");for(let Bn of Me.reverse())this.tokenizer.back(Bn);this.atrule(this.tokenizer.nextToken()),this.lastNode.function=!0,this.lastNode.params=ni}init(Me,Bn,Hn){super.init(Me,Bn,Hn),this.lastNode=Me}inlineComment(Me){let Bn=new Hn,zn=Me[1].slice(2);if(this.init(Bn,Me[2],Me[3]),Bn.source.end={line:Me[4],column:Me[5]},Bn.inline=!0,Bn.raws.begin="//",/^\s*$/.test(zn))Bn.text="",Bn.raws.left=zn,Bn.raws.right="";else{let Me=zn.match(/^(\s*)([^]*[^\s])(\s*)$/);[,Bn.raws.left,Bn.text,Bn.raws.right]=Me}}mixin(Me){let[Bn]=Me,Hn=Bn[1].slice(0,1),zn=Me.findIndex((Me=>Me[0]==="brackets")),ni=Me.findIndex((Me=>Me[0]==="(")),Ci="";if((zn<0||zn>3)&&ni>0){let Bn=Me.reduce(((Me,Bn,Hn)=>Bn[0]===")"?Hn:Me)),Hn=Me.slice(ni,Bn+ni).map((Me=>Me[1])).join(""),[zn]=Me.slice(ni),Ci=[zn[2],zn[3]],[ts]=Me.slice(Bn,Bn+1),Ps=[ts[2],ts[3]],aa=["brackets",Hn].concat(Ci,Ps),oa=Me.slice(0,ni),ca=Me.slice(Bn+1);Me=oa,Me.push(aa),Me=Me.concat(ca)}let ts=[];for(let Bn of Me)if((Bn[1]==="!"||ts.length)&&ts.push(Bn),Bn[1]==="important")break;if(ts.length){let[Bn]=ts,Hn=Me.indexOf(Bn),zn=ts[ts.length-1],ni=[Bn[2],Bn[3]],Ci=[zn[4],zn[5]],Ps=["word",ts.map((Me=>Me[1])).join("")].concat(ni,Ci);Me.splice(Hn,ts.length,Ps)}let Ps=Me.findIndex((Me=>ca.test(Me[1])));Ps>0&&([,Ci]=Me[Ps],Me.splice(Ps,1));for(let Bn of Me.reverse())this.tokenizer.back(Bn);this.atrule(this.tokenizer.nextToken()),this.lastNode.mixin=!0,this.lastNode.raws.identifier=Hn,Ci&&(this.lastNode.important=!0,this.lastNode.raws.important=Ci)}other(Me){ni.bind(this)(Me)||super.other(Me)}rule(Me){let Bn=Me[Me.length-1],Hn=Me[Me.length-2];if(Hn[0]==="at-word"&&Bn[0]==="{"&&(this.tokenizer.back(Bn),Ci.bind(this)(Hn))){let Bn=this.tokenizer.nextToken();Me=Me.slice(0,Me.length-2).concat([Bn]);for(let Bn of Me.reverse())this.tokenizer.back(Bn);return}super.rule(Me),/:extend\(.+\)/i.test(this.lastNode.selector)&&(this.lastNode.extend=!0)}unknownWord(Me){let[Bn]=Me;if(Me[0][1]==="each"&&Me[1][0]==="("){this.each(Me);return}if(Ps(Bn)){this.mixin(Me);return}super.unknownWord(Me)}}}}),TC=P({"node_modules/postcss-less/lib/LessStringifier.js"(Me,Bn){ts();var Hn=aC();Bn.exports=class extends Hn{atrule(Me,Bn){if(!Me.mixin&&!Me.variable&&!Me.function){super.atrule(Me,Bn);return}let Hn=`${Me.function?"":Me.raws.identifier||"@"}${Me.name}`,zn=Me.params?this.rawValue(Me,"params"):"",ni=Me.raws.important||"";if(Me.variable&&(zn=Me.value),typeof Me.raws.afterName<"u"?Hn+=Me.raws.afterName:zn&&(Hn+=" "),Me.nodes)this.block(Me,Hn+zn+ni);else{let Ci=(Me.raws.between||"")+ni+(Bn?";":"");this.builder(Hn+zn+Ci,Me)}}comment(Me){if(Me.inline){let Bn=this.raw(Me,"left","commentLeft"),Hn=this.raw(Me,"right","commentRight");this.builder(`//${Bn}${Me.text}${Hn}`,Me)}else super.comment(Me)}}}}),FC=P({"node_modules/postcss-less/lib/index.js"(Me,Bn){ts();var Hn=sC(),zn=BC(),ni=TC();Bn.exports={parse(Me,Bn){let ni=new Hn(Me,Bn),Ci=new zn(ni);return Ci.parse(),Ci.root},stringify(Me,Bn){new ni(Bn).stringify(Me)},nodeToString(Me){let Hn="";return Bn.exports.stringify(Me,(Me=>{Hn+=Me})),Hn}}}}),NC=P({"node_modules/postcss-scss/lib/scss-stringifier.js"(Me,Bn){"use strict";ts();function i(Me,Bn){Me.prototype=Object.create(Bn.prototype),Me.prototype.constructor=Me,Me.__proto__=Bn}var Hn=aC(),zn=function(Me){i(l,Me);function l(){return Me.apply(this,arguments)||this}var Bn=l.prototype;return Bn.comment=function(Me){var Bn=this.raw(Me,"left","commentLeft"),Hn=this.raw(Me,"right","commentRight");if(Me.raws.inline){var zn=Me.raws.text||Me.text;this.builder("//"+Bn+zn+Hn,Me)}else this.builder("/*"+Bn+Me.text+Hn+"*/",Me)},Bn.decl=function(Bn,Hn){if(!Bn.isNested)Me.prototype.decl.call(this,Bn,Hn);else{var zn=this.raw(Bn,"between","colon"),ni=Bn.prop+zn+this.rawValue(Bn,"value");Bn.important&&(ni+=Bn.raws.important||" !important"),this.builder(ni+"{",Bn,"start");var Ci;Bn.nodes&&Bn.nodes.length?(this.body(Bn),Ci=this.raw(Bn,"after")):Ci=this.raw(Bn,"after","emptyBody"),Ci&&this.builder(Ci),this.builder("}",Bn,"end")}},Bn.rawValue=function(Me,Bn){var Hn=Me[Bn],zn=Me.raws[Bn];return zn&&zn.value===Hn?zn.scss?zn.scss:zn.raw:Hn},l}(Hn);Bn.exports=zn}}),QC=P({"node_modules/postcss-scss/lib/scss-stringify.js"(Me,Bn){"use strict";ts();var Hn=NC();Bn.exports=function(Me,Bn){var zn=new Hn(Bn);zn.stringify(Me)}}}),RC=P({"node_modules/postcss-scss/lib/nested-declaration.js"(Me,Bn){"use strict";ts();function i(Me,Bn){Me.prototype=Object.create(Bn.prototype),Me.prototype.constructor=Me,Me.__proto__=Bn}var Hn=AC(),zn=function(Me){i(l,Me);function l(Bn){var Hn;return Hn=Me.call(this,Bn)||this,Hn.type="decl",Hn.isNested=!0,Hn.nodes||(Hn.nodes=[]),Hn}return l}(Hn);Bn.exports=zn}}),PC=P({"node_modules/postcss-scss/lib/scss-tokenize.js"(Me,Bn){"use strict";ts();var Hn="'".charCodeAt(0),zn='"'.charCodeAt(0),ni="\\".charCodeAt(0),Ci="/".charCodeAt(0),Ps=`\n`.charCodeAt(0),aa=" ".charCodeAt(0),oa="\f".charCodeAt(0),ca="\t".charCodeAt(0),_a="\r".charCodeAt(0),xa="[".charCodeAt(0),Ga="]".charCodeAt(0),Ha="(".charCodeAt(0),so=")".charCodeAt(0),oo="{".charCodeAt(0),Jo="}".charCodeAt(0),tc=";".charCodeAt(0),dc="*".charCodeAt(0),Fc=":".charCodeAt(0),Jc="@".charCodeAt(0),Dp=",".charCodeAt(0),kp="#".charCodeAt(0),Qp=/[ \n\t\r\f{}()'"\\;/[\]#]/g,Up=/[ \n\t\r\f(){}:;@!'"\\\][#]|\/(?=\*)/g,Vp=/.[\\/("'\n]/,qp=/[a-f0-9]/i,Jp=/[\r\f\n]/g;Bn.exports=function(Me,Bn){Bn===void 0&&(Bn={});var ts=Me.css.valueOf(),Wp=Bn.ignoreErrors,zp,Qf,Yf,Kf,Xf,Ad,Cd,wd,Sd,xd,Td,Pd,Qh,Zh,sA=ts.length,oA=-1,hA=1,eg=0,tg=[],rg=[];function ue(Bn){throw Me.error("Unclosed "+Bn,hA,eg-oA)}function le(){return rg.length===0&&eg>=sA}function re(){for(var Me=1,Bn=!1,Ci=!1;Me>0;)Qf+=1,ts.length<=Qf&&ue("interpolation"),zp=ts.charCodeAt(Qf),Pd=ts.charCodeAt(Qf+1),Bn?!Ci&&zp===Bn?(Bn=!1,Ci=!1):zp===ni?Ci=!xd:Ci&&(Ci=!1):zp===Hn||zp===zn?Bn=zp:zp===Jo?Me-=1:zp===kp&&Pd===oo&&(Me+=1)}function ne(){if(rg.length)return rg.pop();if(!(eg>=sA)){switch(zp=ts.charCodeAt(eg),(zp===Ps||zp===oa||zp===_a&&ts.charCodeAt(eg+1)!==Ps)&&(oA=eg,hA+=1),zp){case Ps:case aa:case ca:case _a:case oa:Qf=eg;do{Qf+=1,zp=ts.charCodeAt(Qf),zp===Ps&&(oA=Qf,hA+=1)}while(zp===aa||zp===Ps||zp===ca||zp===_a||zp===oa);Qh=["space",ts.slice(eg,Qf)],eg=Qf-1;break;case xa:Qh=["[","[",hA,eg-oA];break;case Ga:Qh=["]","]",hA,eg-oA];break;case oo:Qh=["{","{",hA,eg-oA];break;case Jo:Qh=["}","}",hA,eg-oA];break;case Dp:Qh=["word",",",hA,eg-oA,hA,eg-oA+1];break;case Fc:Qh=[":",":",hA,eg-oA];break;case tc:Qh=[";",";",hA,eg-oA];break;case Ha:if(Td=tg.length?tg.pop()[1]:"",Pd=ts.charCodeAt(eg+1),Td==="url"&&Pd!==Hn&&Pd!==zn){for(Zh=1,xd=!1,Qf=eg+1;Qf<=ts.length-1;){if(Pd=ts.charCodeAt(Qf),Pd===ni)xd=!xd;else if(Pd===Ha)Zh+=1;else if(Pd===so&&(Zh-=1,Zh===0))break;Qf+=1}Ad=ts.slice(eg,Qf+1),Kf=Ad.split(`\n`),Xf=Kf.length-1,Xf>0?(wd=hA+Xf,Sd=Qf-Kf[Xf].length):(wd=hA,Sd=oA),Qh=["brackets",Ad,hA,eg-oA,wd,Qf-Sd],oA=Sd,hA=wd,eg=Qf}else Qf=ts.indexOf(")",eg+1),Ad=ts.slice(eg,Qf+1),Qf===-1||Vp.test(Ad)?Qh=["(","(",hA,eg-oA]:(Qh=["brackets",Ad,hA,eg-oA,hA,Qf-oA],eg=Qf);break;case so:Qh=[")",")",hA,eg-oA];break;case Hn:case zn:for(Yf=zp,Qf=eg,xd=!1;Qf0?(wd=hA+Xf,Sd=Qf-Kf[Xf].length):(wd=hA,Sd=oA),Qh=["string",ts.slice(eg,Qf+1),hA,eg-oA,wd,Qf-Sd],oA=Sd,hA=wd,eg=Qf;break;case Jc:Qp.lastIndex=eg+1,Qp.test(ts),Qp.lastIndex===0?Qf=ts.length-1:Qf=Qp.lastIndex-2,Qh=["at-word",ts.slice(eg,Qf+1),hA,eg-oA,hA,Qf-oA],eg=Qf;break;case ni:for(Qf=eg,Cd=!0;ts.charCodeAt(Qf+1)===ni;)Qf+=1,Cd=!Cd;if(zp=ts.charCodeAt(Qf+1),Cd&&zp!==Ci&&zp!==aa&&zp!==Ps&&zp!==ca&&zp!==_a&&zp!==oa&&(Qf+=1,qp.test(ts.charAt(Qf)))){for(;qp.test(ts.charAt(Qf+1));)Qf+=1;ts.charCodeAt(Qf+1)===aa&&(Qf+=1)}Qh=["word",ts.slice(eg,Qf+1),hA,eg-oA,hA,Qf-oA],eg=Qf;break;default:Pd=ts.charCodeAt(eg+1),zp===kp&&Pd===oo?(Qf=eg,re(),Ad=ts.slice(eg,Qf+1),Kf=Ad.split(`\n`),Xf=Kf.length-1,Xf>0?(wd=hA+Xf,Sd=Qf-Kf[Xf].length):(wd=hA,Sd=oA),Qh=["word",Ad,hA,eg-oA,wd,Qf-Sd],oA=Sd,hA=wd,eg=Qf):zp===Ci&&Pd===dc?(Qf=ts.indexOf("*/",eg+2)+1,Qf===0&&(Wp?Qf=ts.length:ue("comment")),Ad=ts.slice(eg,Qf+1),Kf=Ad.split(`\n`),Xf=Kf.length-1,Xf>0?(wd=hA+Xf,Sd=Qf-Kf[Xf].length):(wd=hA,Sd=oA),Qh=["comment",Ad,hA,eg-oA,wd,Qf-Sd],oA=Sd,hA=wd,eg=Qf):zp===Ci&&Pd===Ci?(Jp.lastIndex=eg+1,Jp.test(ts),Jp.lastIndex===0?Qf=ts.length-1:Qf=Jp.lastIndex-2,Ad=ts.slice(eg,Qf+1),Qh=["comment",Ad,hA,eg-oA,hA,Qf-oA,"inline"],eg=Qf):(Up.lastIndex=eg+1,Up.test(ts),Up.lastIndex===0?Qf=ts.length-1:Qf=Up.lastIndex-2,Qh=["word",ts.slice(eg,Qf+1),hA,eg-oA,hA,Qf-oA],tg.push(Qh),eg=Qf);break}return eg++,Qh}}function oe(Me){rg.push(Me)}return{back:oe,nextToken:ne,endOfFile:le}}}}),OC=P({"node_modules/postcss-scss/lib/scss-parser.js"(Me,Bn){"use strict";ts();function i(Me,Bn){Me.prototype=Object.create(Bn.prototype),Me.prototype.constructor=Me,Me.__proto__=Bn}var Hn=cC(),zn=DC(),ni=RC(),Ci=PC(),Ps=function(Me){i(c,Me);function c(){return Me.apply(this,arguments)||this}var Bn=c.prototype;return Bn.createTokenizer=function(){this.tokenizer=Ci(this.input)},Bn.rule=function(Bn){for(var Hn=!1,zn=0,Ci="",ts=Bn,Ps=Array.isArray(ts),aa=0,ts=Ps?ts:ts[Symbol.iterator]();;){var oa;if(Ps){if(aa>=ts.length)break;oa=ts[aa++]}else{if(aa=ts.next(),aa.done)break;oa=aa.value}var ca=oa;if(Hn)ca[0]!=="comment"&&ca[0]!=="{"&&(Ci+=ca[1]);else{if(ca[0]==="space"&&ca[1].indexOf(`\n`)!==-1)break;ca[0]==="("?zn+=1:ca[0]===")"?zn-=1:zn===0&&ca[0]===":"&&(Hn=!0)}}if(!Hn||Ci.trim()===""||/^[a-zA-Z-:#]/.test(Ci))Me.prototype.rule.call(this,Bn);else{Bn.pop();var _a=new ni;this.init(_a);var xa=Bn[Bn.length-1];for(xa[4]?_a.source.end={line:xa[4],column:xa[5]}:_a.source.end={line:xa[2],column:xa[3]};Bn[0][0]!=="word";)_a.raws.before+=Bn.shift()[1];for(_a.source.start={line:Bn[0][2],column:Bn[0][3]},_a.prop="";Bn.length;){var Ga=Bn[0][0];if(Ga===":"||Ga==="space"||Ga==="comment")break;_a.prop+=Bn.shift()[1]}_a.raws.between="";for(var Ha;Bn.length;)if(Ha=Bn.shift(),Ha[0]===":"){_a.raws.between+=Ha[1];break}else _a.raws.between+=Ha[1];(_a.prop[0]==="_"||_a.prop[0]==="*")&&(_a.raws.before+=_a.prop[0],_a.prop=_a.prop.slice(1)),_a.raws.between+=this.spacesAndCommentsFromStart(Bn),this.precheckMissedSemicolon(Bn);for(var so=Bn.length-1;so>0;so--){if(Ha=Bn[so],Ha[1]==="!important"){_a.important=!0;var oo=this.stringFrom(Bn,so);oo=this.spacesFromEnd(Bn)+oo,oo!==" !important"&&(_a.raws.important=oo);break}else if(Ha[1]==="important"){for(var Jo=Bn.slice(0),tc="",dc=so;dc>0;dc--){var Fc=Jo[dc][0];if(tc.trim().indexOf("!")===0&&Fc!=="space")break;tc=Jo.pop()[1]+tc}tc.trim().indexOf("!")===0&&(_a.important=!0,_a.raws.important=tc,Bn=Jo)}if(Ha[0]!=="space"&&Ha[0]!=="comment")break}this.raw(_a,"value",Bn),_a.value.indexOf(":")!==-1&&this.checkMissedSemicolon(Bn),this.current=_a}},Bn.comment=function(Bn){if(Bn[6]==="inline"){var zn=new Hn;this.init(zn,Bn[2],Bn[3]),zn.raws.inline=!0,zn.source.end={line:Bn[4],column:Bn[5]};var ni=Bn[1].slice(2);if(/^\s*$/.test(ni))zn.text="",zn.raws.left=ni,zn.raws.right="";else{var Ci=ni.match(/^(\s*)([^]*[^\s])(\s*)$/),ts=Ci[2].replace(/(\*\/|\/\*)/g,"*//*");zn.text=ts,zn.raws.left=Ci[1],zn.raws.right=Ci[3],zn.raws.text=Ci[2]}}else Me.prototype.comment.call(this,Bn)},Bn.raw=function(Bn,Hn,zn){if(Me.prototype.raw.call(this,Bn,Hn,zn),Bn.raws[Hn]){var ni=Bn.raws[Hn].raw;Bn.raws[Hn].raw=zn.reduce((function(Me,Bn){if(Bn[0]==="comment"&&Bn[6]==="inline"){var Hn=Bn[1].slice(2).replace(/(\*\/|\/\*)/g,"*//*");return Me+"/*"+Hn+"*/"}else return Me+Bn[1]}),""),ni!==Bn.raws[Hn].raw&&(Bn.raws[Hn].scss=ni)}},c}(zn);Bn.exports=Ps}}),LC=P({"node_modules/postcss-scss/lib/scss-parse.js"(Me,Bn){"use strict";ts();var Hn=sC(),zn=OC();Bn.exports=function(Me,Bn){var ni=new Hn(Me,Bn),Ci=new zn(ni);return Ci.parse(),Ci.root}}}),MC=P({"node_modules/postcss-scss/lib/scss-syntax.js"(Me,Bn){"use strict";ts();var Hn=QC(),zn=LC();Bn.exports={parse:zn,stringify:Hn}}});ts();var jC=Ps(),UC=aa(),GC=oa(),{hasPragma:HC}=Dp(),{locStart:qC,locEnd:JC}=Up(),{calculateLoc:$C,replaceQuotesInInlineComments:YC}=Up(),WC=qp(),KC=Jp(),zC=Wp(),XC=zp(),ZC=Qf(),iD=Yf(),ew=Kf(),tw=Xf(),fp=Me=>{for(;Me.parent;)Me=Me.parent;return Me};function pp(Me,Bn){let{nodes:Hn}=Me,zn={open:null,close:null,groups:[],type:"paren_group"},ni=[zn],Ci=zn,ts={groups:[],type:"comma_group"},Ps=[ts];for(let Ci=0;Ci0&&zn.groups.push(ts),zn.close=aa,Ps.length===1)throw new Error("Unbalanced parenthesis");Ps.pop(),ts=UC(Ps),ts.groups.push(zn),ni.pop(),zn=UC(ni)}else aa.type==="comma"?(zn.groups.push(ts),ts={groups:[],type:"comma_group"},Ps[Ps.length-1]=ts):ts.groups.push(aa)}return ts.groups.length>0&&zn.groups.push(ts),Ci}function vr(Me){return Me.type==="paren_group"&&!Me.open&&!Me.close&&Me.groups.length===1||Me.type==="comma_group"&&Me.groups.length===1?vr(Me.groups[0]):Me.type==="paren_group"||Me.type==="comma_group"?Object.assign(Object.assign({},Me),{},{groups:Me.groups.map(vr)}):Me}function Xe(Me,Bn,Hn){if(Me&&typeof Me=="object"){delete Me.parent;for(let zn in Me)Xe(Me[zn],Bn,Hn),zn==="type"&&typeof Me[zn]=="string"&&!Me[zn].startsWith(Bn)&&(!Hn||!Hn.test(Me[zn]))&&(Me[zn]=Bn+Me[zn])}return Me}function va(Me){if(Me&&typeof Me=="object"){delete Me.parent;for(let Bn in Me)va(Me[Bn]);!Array.isArray(Me)&&Me.value&&!Me.type&&(Me.type="unknown")}return Me}function ma(Me,Bn){if(Me&&typeof Me=="object"){for(let Hn in Me)Hn!=="parent"&&(ma(Me[Hn],Bn),Hn==="nodes"&&(Me.group=vr(pp(Me,Bn)),delete Me[Hn]));delete Me.parent}return Me}function Pe(Me,Bn){let Hn=Kg(),zn=null;try{zn=Hn(Me,{loose:!0}).parse()}catch{return{type:"value-unknown",value:Me}}zn.text=Me;let ni=ma(zn,Bn);return Xe(ni,"value-",/^selector-/)}function Re(Me){if(/\/\/|\/\*/.test(Me))return{type:"selector-unknown",value:Me.trim()};let Bn=Cv(),Hn=null;try{Bn((Me=>{Hn=Me})).process(Me)}catch{return{type:"selector-unknown",value:Me}}return Xe(Hn,"selector-")}function hp(Me){let Bn=xv().default,Hn=null;try{Hn=Bn(Me)}catch{return{type:"selector-unknown",value:Me}}return Xe(va(Hn),"media-")}var rw=/(\s*)(!default).*$/,nw=/(\s*)(!global).*$/;function ga(Me,Bn){if(Me&&typeof Me=="object"){delete Me.parent;for(let Hn in Me)ga(Me[Hn],Bn);if(!Me.type)return Me;Me.raws||(Me.raws={});let Ci="";if(typeof Me.selector=="string"){var Hn;Ci=Me.raws.selector?(Hn=Me.raws.selector.scss)!==null&&Hn!==void 0?Hn:Me.raws.selector.raw:Me.selector,Me.raws.between&&Me.raws.between.trim().length>0&&(Ci+=Me.raws.between),Me.raws.selector=Ci}let ts="";if(typeof Me.value=="string"){var zn;ts=Me.raws.value?(zn=Me.raws.value.scss)!==null&&zn!==void 0?zn:Me.raws.value.raw:Me.value,ts=ts.trim(),Me.raws.value=ts}let Ps="";if(typeof Me.params=="string"){var ni;Ps=Me.raws.params?(ni=Me.raws.params.scss)!==null&&ni!==void 0?ni:Me.raws.params.raw:Me.params,Me.raws.afterName&&Me.raws.afterName.trim().length>0&&(Ps=Me.raws.afterName+Ps),Me.raws.between&&Me.raws.between.trim().length>0&&(Ps=Ps+Me.raws.between),Ps=Ps.trim(),Me.raws.params=Ps}if(Ci.trim().length>0)return Ci.startsWith("@")&&Ci.endsWith(":")?Me:Me.mixin?(Me.selector=Pe(Ci,Bn),Me):(ZC(Me)&&(Me.isSCSSNesterProperty=!0),Me.selector=Re(Ci),Me);if(ts.length>0){let Hn=ts.match(rw);Hn&&(ts=ts.slice(0,Hn.index),Me.scssDefault=!0,Hn[0].trim()!=="!default"&&(Me.raws.scssDefault=Hn[0]));let zn=ts.match(nw);if(zn&&(ts=ts.slice(0,zn.index),Me.scssGlobal=!0,zn[0].trim()!=="!global"&&(Me.raws.scssGlobal=zn[0])),ts.startsWith("progid:"))return{type:"value-unknown",value:ts};Me.value=Pe(ts,Bn)}if(zC(Bn)&&Me.type==="css-decl"&&ts.startsWith("extend(")&&(Me.extend||(Me.extend=Me.raws.between===":"),Me.extend&&!Me.selector&&(delete Me.value,Me.selector=Re(ts.slice(7,-1)))),Me.type==="css-atrule"){if(zC(Bn)){if(Me.mixin){let Bn=Me.raws.identifier+Me.name+Me.raws.afterName+Me.raws.params;return Me.selector=Re(Bn),delete Me.params,Me}if(Me.function)return Me}if(Bn.parser==="css"&&Me.name==="custom-selector"){let Bn=Me.params.match(/:--\S+\s+/)[0].trim();return Me.customSelector=Bn,Me.selector=Re(Me.params.slice(Bn.length).trim()),delete Me.params,Me}if(zC(Bn)){if(Me.name.includes(":")&&!Me.params){Me.variable=!0;let Hn=Me.name.split(":");Me.name=Hn[0],Me.value=Pe(Hn.slice(1).join(":"),Bn)}if(!["page","nest","keyframes"].includes(Me.name)&&Me.params&&Me.params[0]===":"){Me.variable=!0;let Hn=Me.params.slice(1);Hn&&(Me.value=Pe(Hn,Bn)),Me.raws.afterName+=":"}if(Me.variable)return delete Me.params,Me.value||delete Me.value,Me}}if(Me.type==="css-atrule"&&Ps.length>0){let{name:Hn}=Me,zn=Me.name.toLowerCase();return Hn==="warn"||Hn==="error"?(Me.params={type:"media-unknown",value:Ps},Me):Hn==="extend"||Hn==="nest"?(Me.selector=Re(Ps),delete Me.params,Me):Hn==="at-root"?(/^\(\s*(?:without|with)\s*:.+\)$/s.test(Ps)?Me.params=Pe(Ps,Bn):(Me.selector=Re(Ps),delete Me.params),Me):tw(zn)?(Me.import=!0,delete Me.filename,Me.params=Pe(Ps,Bn),Me):["namespace","supports","if","else","for","each","while","debug","mixin","include","function","return","define-mixin","add-mixin"].includes(Hn)?(Ps=Ps.replace(/(\$\S+?)(\s+)?\.{3}/,"$1...$2"),Ps=Ps.replace(/^(?!if)(\S+)(\s+)\(/,"$1($2"),Me.value=Pe(Ps,Bn),delete Me.params,Me):["media","custom-media"].includes(zn)?Ps.includes("#{")?{type:"media-unknown",value:Ps}:(Me.params=hp(Ps),Me):(Me.params=Ps,Me)}}return Me}function ya(Me,Bn,Hn){let zn=GC(Bn),{frontMatter:ni}=zn;Bn=zn.content;let Ci;try{Ci=Me(Bn)}catch(Me){let{name:Bn,reason:Hn,line:zn,column:ni}=Me;throw typeof zn!="number"?Me:jC(`${Bn}: ${Hn}`,{start:{line:zn,column:ni}})}return Ci=ga(Xe(Ci,"css-"),Hn),$C(Ci,Bn),ni&&(ni.source={startOffset:0,endOffset:ni.raw.length},Ci.nodes.unshift(ni)),Ci}function mp(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},zn=XC(Hn.parser,Me)?[Tt,Ot]:[Ot,Tt],ni;for(let Ci of zn)try{return Ci(Me,Bn,Hn)}catch(Me){ni=ni||Me}if(ni)throw ni}function Ot(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},zn=FC();return ya((Me=>zn.parse(YC(Me))),Me,Hn)}function Tt(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{parse:zn}=MC();return ya(zn,Me,Hn)}var iw={astFormat:"postcss",hasPragma:HC,locStart:qC,locEnd:JC};Bn.exports={parsers:{css:Object.assign(Object.assign({},iw),{},{parse:mp}),less:Object.assign(Object.assign({},iw),{},{parse:Ot}),scss:Object.assign(Object.assign({},iw),{},{parse:Tt})}}}));return Eg()}))},1312:Me=>{(function(Bn){if(true)Me.exports=Bn();else{var Hn}})((function(){"use strict";var dt=(Me,Bn)=>()=>(Bn||Me((Bn={exports:{}}).exports,Bn),Bn.exports);var Me=dt(((Me,Bn)=>{var Yh=function(Me){return Me&&Me.Math==Math&&Me};Bn.exports=Yh(typeof globalThis=="object"&&globalThis)||Yh(typeof window=="object"&&window)||Yh(typeof self=="object"&&self)||Yh(typeof global=="object"&&global)||function(){return this}()||Function("return this")()}));var Bn=dt(((Me,Bn)=>{Bn.exports=function(Me){try{return!!Me()}catch{return!0}}}));var Hn=dt(((Me,Hn)=>{var zn=Bn();Hn.exports=!zn((function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7}))}));var zn=dt(((Me,Hn)=>{var zn=Bn();Hn.exports=!zn((function(){var Me=function(){}.bind();return typeof Me!="function"||Me.hasOwnProperty("prototype")}))}));var ni=dt(((Me,Bn)=>{var Hn=zn(),ni=Function.prototype.call;Bn.exports=Hn?ni.bind(ni):function(){return ni.apply(ni,arguments)}}));var Ci=dt((Me=>{"use strict";var Bn={}.propertyIsEnumerable,Hn=Object.getOwnPropertyDescriptor,zn=Hn&&!Bn.call({1:2},1);Me.f=zn?function(Me){var Bn=Hn(this,Me);return!!Bn&&Bn.enumerable}:Bn}));var ts=dt(((Me,Bn)=>{Bn.exports=function(Me,Bn){return{enumerable:!(Me&1),configurable:!(Me&2),writable:!(Me&4),value:Bn}}}));var Ps=dt(((Me,Bn)=>{var Hn=zn(),ni=Function.prototype,Ci=ni.call,ts=Hn&&ni.bind.bind(Ci,Ci);Bn.exports=Hn?ts:function(Me){return function(){return Ci.apply(Me,arguments)}}}));var aa=dt(((Me,Bn)=>{var Hn=Ps(),zn=Hn({}.toString),ni=Hn("".slice);Bn.exports=function(Me){return ni(zn(Me),8,-1)}}));var oa=dt(((Me,Hn)=>{var zn=Ps(),ni=Bn(),Ci=aa(),ts=Object,oa=zn("".split);Hn.exports=ni((function(){return!ts("z").propertyIsEnumerable(0)}))?function(Me){return Ci(Me)=="String"?oa(Me,""):ts(Me)}:ts}));var ca=dt(((Me,Bn)=>{Bn.exports=function(Me){return Me==null}}));var _a=dt(((Me,Bn)=>{var Hn=ca(),zn=TypeError;Bn.exports=function(Me){if(Hn(Me))throw zn("Can't call method on "+Me);return Me}}));var xa=dt(((Me,Bn)=>{var Hn=oa(),zn=_a();Bn.exports=function(Me){return Hn(zn(Me))}}));var Ga=dt(((Me,Bn)=>{var Hn=typeof document=="object"&&document.all,zn=typeof Hn>"u"&&Hn!==void 0;Bn.exports={all:Hn,IS_HTMLDDA:zn}}));var Ha=dt(((Me,Bn)=>{var Hn=Ga(),zn=Hn.all;Bn.exports=Hn.IS_HTMLDDA?function(Me){return typeof Me=="function"||Me===zn}:function(Me){return typeof Me=="function"}}));var so=dt(((Me,Bn)=>{var Hn=Ha(),zn=Ga(),ni=zn.all;Bn.exports=zn.IS_HTMLDDA?function(Me){return typeof Me=="object"?Me!==null:Hn(Me)||Me===ni}:function(Me){return typeof Me=="object"?Me!==null:Hn(Me)}}));var oo=dt(((Bn,Hn)=>{var zn=Me(),ni=Ha(),bq=function(Me){return ni(Me)?Me:void 0};Hn.exports=function(Me,Bn){return arguments.length<2?bq(zn[Me]):zn[Me]&&zn[Me][Bn]}}));var Jo=dt(((Me,Bn)=>{var Hn=Ps();Bn.exports=Hn({}.isPrototypeOf)}));var tc=dt(((Me,Bn)=>{var Hn=oo();Bn.exports=Hn("navigator","userAgent")||""}));var dc=dt(((Bn,Hn)=>{var zn=Me(),ni=tc(),Ci=zn.process,ts=zn.Deno,Ps=Ci&&Ci.versions||ts&&ts.version,aa=Ps&&Ps.v8,oa,ca;aa&&(oa=aa.split("."),ca=oa[0]>0&&oa[0]<4?1:+(oa[0]+oa[1]));!ca&&ni&&(oa=ni.match(/Edge\/(\d+)/),(!oa||oa[1]>=74)&&(oa=ni.match(/Chrome\/(\d+)/),oa&&(ca=+oa[1])));Hn.exports=ca}));var Fc=dt(((Me,Hn)=>{var zn=dc(),ni=Bn();Hn.exports=!!Object.getOwnPropertySymbols&&!ni((function(){var Me=Symbol();return!String(Me)||!(Object(Me)instanceof Symbol)||!Symbol.sham&&zn&&zn<41}))}));var Jc=dt(((Me,Bn)=>{var Hn=Fc();Bn.exports=Hn&&!Symbol.sham&&typeof Symbol.iterator=="symbol"}));var Dp=dt(((Me,Bn)=>{var Hn=oo(),zn=Ha(),ni=Jo(),Ci=Jc(),ts=Object;Bn.exports=Ci?function(Me){return typeof Me=="symbol"}:function(Me){var Bn=Hn("Symbol");return zn(Bn)&&ni(Bn.prototype,ts(Me))}}));var kp=dt(((Me,Bn)=>{var Hn=String;Bn.exports=function(Me){try{return Hn(Me)}catch{return"Object"}}}));var Qp=dt(((Me,Bn)=>{var Hn=Ha(),zn=kp(),ni=TypeError;Bn.exports=function(Me){if(Hn(Me))return Me;throw ni(zn(Me)+" is not a function")}}));var Up=dt(((Me,Bn)=>{var Hn=Qp(),zn=ca();Bn.exports=function(Me,Bn){var ni=Me[Bn];return zn(ni)?void 0:Hn(ni)}}));var Vp=dt(((Me,Bn)=>{var Hn=ni(),zn=Ha(),Ci=so(),ts=TypeError;Bn.exports=function(Me,Bn){var ni,Ps;if(Bn==="string"&&zn(ni=Me.toString)&&!Ci(Ps=Hn(ni,Me))||zn(ni=Me.valueOf)&&!Ci(Ps=Hn(ni,Me))||Bn!=="string"&&zn(ni=Me.toString)&&!Ci(Ps=Hn(ni,Me)))return Ps;throw ts("Can't convert object to primitive value")}}));var qp=dt(((Me,Bn)=>{Bn.exports=!1}));var Jp=dt(((Bn,Hn)=>{var zn=Me(),ni=Object.defineProperty;Hn.exports=function(Me,Bn){try{ni(zn,Me,{value:Bn,configurable:!0,writable:!0})}catch{zn[Me]=Bn}return Bn}}));var Wp=dt(((Bn,Hn)=>{var zn=Me(),ni=Jp(),Ci="__core-js_shared__",ts=zn[Ci]||ni(Ci,{});Hn.exports=ts}));var zp=dt(((Me,Bn)=>{var Hn=qp(),zn=Wp();(Bn.exports=function(Me,Bn){return zn[Me]||(zn[Me]=Bn!==void 0?Bn:{})})("versions",[]).push({version:"3.26.1",mode:Hn?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})}));var Qf=dt(((Me,Bn)=>{var Hn=_a(),zn=Object;Bn.exports=function(Me){return zn(Hn(Me))}}));var Yf=dt(((Me,Bn)=>{var Hn=Ps(),zn=Qf(),ni=Hn({}.hasOwnProperty);Bn.exports=Object.hasOwn||function(Me,Bn){return ni(zn(Me),Bn)}}));var Kf=dt(((Me,Bn)=>{var Hn=Ps(),zn=0,ni=Math.random(),Ci=Hn(1..toString);Bn.exports=function(Me){return"Symbol("+(Me===void 0?"":Me)+")_"+Ci(++zn+ni,36)}}));var Xf=dt(((Bn,Hn)=>{var zn=Me(),ni=zp(),Ci=Yf(),ts=Kf(),Ps=Fc(),aa=Jc(),oa=ni("wks"),ca=zn.Symbol,_a=ca&&ca.for,xa=aa?ca:ca&&ca.withoutSetter||ts;Hn.exports=function(Me){if(!Ci(oa,Me)||!(Ps||typeof oa[Me]=="string")){var Bn="Symbol."+Me;Ps&&Ci(ca,Me)?oa[Me]=ca[Me]:aa&&_a?oa[Me]=_a(Bn):oa[Me]=xa(Bn)}return oa[Me]}}));var Ad=dt(((Me,Bn)=>{var Hn=ni(),zn=so(),Ci=Dp(),ts=Up(),Ps=Vp(),aa=Xf(),oa=TypeError,ca=aa("toPrimitive");Bn.exports=function(Me,Bn){if(!zn(Me)||Ci(Me))return Me;var ni=ts(Me,ca),aa;if(ni){if(Bn===void 0&&(Bn="default"),aa=Hn(ni,Me,Bn),!zn(aa)||Ci(aa))return aa;throw oa("Can't convert object to primitive value")}return Bn===void 0&&(Bn="number"),Ps(Me,Bn)}}));var Cd=dt(((Me,Bn)=>{var Hn=Ad(),zn=Dp();Bn.exports=function(Me){var Bn=Hn(Me,"string");return zn(Bn)?Bn:Bn+""}}));var wd=dt(((Bn,Hn)=>{var zn=Me(),ni=so(),Ci=zn.document,ts=ni(Ci)&&ni(Ci.createElement);Hn.exports=function(Me){return ts?Ci.createElement(Me):{}}}));var Sd=dt(((Me,zn)=>{var ni=Hn(),Ci=Bn(),ts=wd();zn.exports=!ni&&!Ci((function(){return Object.defineProperty(ts("div"),"a",{get:function(){return 7}}).a!=7}))}));var xd=dt((Me=>{var Bn=Hn(),zn=ni(),Ps=Ci(),aa=ts(),oa=xa(),ca=Cd(),_a=Yf(),Ga=Sd(),Ha=Object.getOwnPropertyDescriptor;Me.f=Bn?Ha:function(Me,Bn){if(Me=oa(Me),Bn=ca(Bn),Ga)try{return Ha(Me,Bn)}catch{}if(_a(Me,Bn))return aa(!zn(Ps.f,Me,Bn),Me[Bn])}}));var Td=dt(((Me,zn)=>{var ni=Hn(),Ci=Bn();zn.exports=ni&&Ci((function(){return Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype!=42}))}));var Pd=dt(((Me,Bn)=>{var Hn=so(),zn=String,ni=TypeError;Bn.exports=function(Me){if(Hn(Me))return Me;throw ni(zn(Me)+" is not an object")}}));var Qh=dt((Me=>{var Bn=Hn(),zn=Sd(),ni=Td(),Ci=Pd(),ts=Cd(),Ps=TypeError,aa=Object.defineProperty,oa=Object.getOwnPropertyDescriptor,ca="enumerable",_a="configurable",xa="writable";Me.f=Bn?ni?function(Me,Bn,Hn){if(Ci(Me),Bn=ts(Bn),Ci(Hn),typeof Me=="function"&&Bn==="prototype"&&"value"in Hn&&xa in Hn&&!Hn[xa]){var zn=oa(Me,Bn);zn&&zn[xa]&&(Me[Bn]=Hn.value,Hn={configurable:_a in Hn?Hn[_a]:zn[_a],enumerable:ca in Hn?Hn[ca]:zn[ca],writable:!1})}return aa(Me,Bn,Hn)}:aa:function(Me,Bn,Hn){if(Ci(Me),Bn=ts(Bn),Ci(Hn),zn)try{return aa(Me,Bn,Hn)}catch{}if("get"in Hn||"set"in Hn)throw Ps("Accessors not supported");return"value"in Hn&&(Me[Bn]=Hn.value),Me}}));var Zh=dt(((Me,Bn)=>{var zn=Hn(),ni=Qh(),Ci=ts();Bn.exports=zn?function(Me,Bn,Hn){return ni.f(Me,Bn,Ci(1,Hn))}:function(Me,Bn,Hn){return Me[Bn]=Hn,Me}}));var sA=dt(((Me,Bn)=>{var zn=Hn(),ni=Yf(),Ci=Function.prototype,ts=zn&&Object.getOwnPropertyDescriptor,Ps=ni(Ci,"name"),aa=Ps&&function(){}.name==="something",oa=Ps&&(!zn||zn&&ts(Ci,"name").configurable);Bn.exports={EXISTS:Ps,PROPER:aa,CONFIGURABLE:oa}}));var oA=dt(((Me,Bn)=>{var Hn=Ps(),zn=Ha(),ni=Wp(),Ci=Hn(Function.toString);zn(ni.inspectSource)||(ni.inspectSource=function(Me){return Ci(Me)});Bn.exports=ni.inspectSource}));var hA=dt(((Bn,Hn)=>{var zn=Me(),ni=Ha(),Ci=zn.WeakMap;Hn.exports=ni(Ci)&&/native code/.test(String(Ci))}));var eg=dt(((Me,Bn)=>{var Hn=zp(),zn=Kf(),ni=Hn("keys");Bn.exports=function(Me){return ni[Me]||(ni[Me]=zn(Me))}}));var tg=dt(((Me,Bn)=>{Bn.exports={}}));var rg=dt(((Bn,Hn)=>{var zn=hA(),ni=Me(),Ci=so(),ts=Zh(),Ps=Yf(),aa=Wp(),oa=eg(),ca=tg(),_a="Object already initialized",xa=ni.TypeError,Ga=ni.WeakMap,Ha,oo,Jo,QU=function(Me){return Jo(Me)?oo(Me):Ha(Me,{})},ZU=function(Me){return function(Bn){var Hn;if(!Ci(Bn)||(Hn=oo(Bn)).type!==Me)throw xa("Incompatible receiver, "+Me+" required");return Hn}};zn||aa.state?(tc=aa.state||(aa.state=new Ga),tc.get=tc.get,tc.has=tc.has,tc.set=tc.set,Ha=function(Me,Bn){if(tc.has(Me))throw xa(_a);return Bn.facade=Me,tc.set(Me,Bn),Bn},oo=function(Me){return tc.get(Me)||{}},Jo=function(Me){return tc.has(Me)}):(dc=oa("state"),ca[dc]=!0,Ha=function(Me,Bn){if(Ps(Me,dc))throw xa(_a);return Bn.facade=Me,ts(Me,dc,Bn),Bn},oo=function(Me){return Ps(Me,dc)?Me[dc]:{}},Jo=function(Me){return Ps(Me,dc)});var tc,dc;Hn.exports={set:Ha,get:oo,has:Jo,enforce:QU,getterFor:ZU}}));var ng=dt(((Me,zn)=>{var ni=Bn(),Ci=Ha(),ts=Yf(),Ps=Hn(),aa=sA().CONFIGURABLE,oa=oA(),ca=rg(),_a=ca.enforce,xa=ca.get,Ga=Object.defineProperty,so=Ps&&!ni((function(){return Ga((function(){}),"length",{value:8}).length!==8})),oo=String(String).split("String"),Jo=zn.exports=function(Me,Bn,Hn){String(Bn).slice(0,7)==="Symbol("&&(Bn="["+String(Bn).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),Hn&&Hn.getter&&(Bn="get "+Bn),Hn&&Hn.setter&&(Bn="set "+Bn),(!ts(Me,"name")||aa&&Me.name!==Bn)&&(Ps?Ga(Me,"name",{value:Bn,configurable:!0}):Me.name=Bn),so&&Hn&&ts(Hn,"arity")&&Me.length!==Hn.arity&&Ga(Me,"length",{value:Hn.arity});try{Hn&&ts(Hn,"constructor")&&Hn.constructor?Ps&&Ga(Me,"prototype",{writable:!1}):Me.prototype&&(Me.prototype=void 0)}catch{}var zn=_a(Me);return ts(zn,"source")||(zn.source=oo.join(typeof Bn=="string"?Bn:"")),Me};Function.prototype.toString=Jo((function(){return Ci(this)&&xa(this).source||oa(this)}),"toString")}));var ig=dt(((Me,Bn)=>{var Hn=Ha(),zn=Qh(),ni=ng(),Ci=Jp();Bn.exports=function(Me,Bn,ts,Ps){Ps||(Ps={});var aa=Ps.enumerable,oa=Ps.name!==void 0?Ps.name:Bn;if(Hn(ts)&&ni(ts,oa,Ps),Ps.global)aa?Me[Bn]=ts:Ci(Bn,ts);else{try{Ps.unsafe?Me[Bn]&&(aa=!0):delete Me[Bn]}catch{}aa?Me[Bn]=ts:zn.f(Me,Bn,{value:ts,enumerable:!1,configurable:!Ps.nonConfigurable,writable:!Ps.nonWritable})}return Me}}));var sg=dt(((Me,Bn)=>{var Hn=Math.ceil,zn=Math.floor;Bn.exports=Math.trunc||function(Me){var Bn=+Me;return(Bn>0?zn:Hn)(Bn)}}));var ag=dt(((Me,Bn)=>{var Hn=sg();Bn.exports=function(Me){var Bn=+Me;return Bn!==Bn||Bn===0?0:Hn(Bn)}}));var og=dt(((Me,Bn)=>{var Hn=ag(),zn=Math.max,ni=Math.min;Bn.exports=function(Me,Bn){var Ci=Hn(Me);return Ci<0?zn(Ci+Bn,0):ni(Ci,Bn)}}));var ug=dt(((Me,Bn)=>{var Hn=ag(),zn=Math.min;Bn.exports=function(Me){return Me>0?zn(Hn(Me),9007199254740991):0}}));var cg=dt(((Me,Bn)=>{var Hn=ug();Bn.exports=function(Me){return Hn(Me.length)}}));var lg=dt(((Me,Bn)=>{var Hn=xa(),zn=og(),ni=cg(),VC=function(Me){return function(Bn,Ci,ts){var Ps=Hn(Bn),aa=ni(Ps),oa=zn(ts,aa),ca;if(Me&&Ci!=Ci){for(;aa>oa;)if(ca=Ps[oa++],ca!=ca)return!0}else for(;aa>oa;oa++)if((Me||oa in Ps)&&Ps[oa]===Ci)return Me||oa||0;return!Me&&-1}};Bn.exports={includes:VC(!0),indexOf:VC(!1)}}));var pg=dt(((Me,Bn)=>{var Hn=Ps(),zn=Yf(),ni=xa(),Ci=lg().indexOf,ts=tg(),aa=Hn([].push);Bn.exports=function(Me,Bn){var Hn=ni(Me),Ps=0,oa=[],ca;for(ca in Hn)!zn(ts,ca)&&zn(Hn,ca)&&aa(oa,ca);for(;Bn.length>Ps;)zn(Hn,ca=Bn[Ps++])&&(~Ci(oa,ca)||aa(oa,ca));return oa}}));var fg=dt(((Me,Bn)=>{Bn.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]}));var dg=dt((Me=>{var Bn=pg(),Hn=fg(),zn=Hn.concat("length","prototype");Me.f=Object.getOwnPropertyNames||function(Me){return Bn(Me,zn)}}));var hg=dt((Me=>{Me.f=Object.getOwnPropertySymbols}));var Ag=dt(((Me,Bn)=>{var Hn=oo(),zn=Ps(),ni=dg(),Ci=hg(),ts=Pd(),aa=zn([].concat);Bn.exports=Hn("Reflect","ownKeys")||function(Me){var Bn=ni.f(ts(Me)),Hn=Ci.f;return Hn?aa(Bn,Hn(Me)):Bn}}));var mg=dt(((Me,Bn)=>{var Hn=Yf(),zn=Ag(),ni=xd(),Ci=Qh();Bn.exports=function(Me,Bn,ts){for(var Ps=zn(Bn),aa=Ci.f,oa=ni.f,ca=0;ca{var zn=Bn(),ni=Ha(),Ci=/#|\.prototype\./,hp=function(Me,Bn){var Hn=Ps[ts(Me)];return Hn==oa?!0:Hn==aa?!1:ni(Bn)?zn(Bn):!!Bn},ts=hp.normalize=function(Me){return String(Me).replace(Ci,".").toLowerCase()},Ps=hp.data={},aa=hp.NATIVE="N",oa=hp.POLYFILL="P";Hn.exports=hp}));var _g=dt(((Bn,Hn)=>{var zn=Me(),ni=xd().f,Ci=Zh(),ts=ig(),Ps=Jp(),aa=mg(),oa=gg();Hn.exports=function(Me,Bn){var Hn=Me.target,ca=Me.global,_a=Me.stat,xa,Ga,Ha,so,oo,Jo;if(ca?Ga=zn:_a?Ga=zn[Hn]||Ps(Hn,{}):Ga=(zn[Hn]||{}).prototype,Ga)for(Ha in Bn){if(oo=Bn[Ha],Me.dontCallGetSet?(Jo=ni(Ga,Ha),so=Jo&&Jo.value):so=Ga[Ha],xa=oa(ca?Ha:Hn+(_a?".":"#")+Ha,Me.forced),!xa&&so!==void 0){if(typeof oo==typeof so)continue;aa(oo,so)}(Me.sham||so&&so.sham)&&Ci(oo,"sham",!0),ts(Ga,Ha,oo,Me)}}}));var yg=dt((()=>{var Bn=_g(),Hn=Me();Bn({global:!0,forced:Hn.globalThis!==Hn},{globalThis:Hn})}));var vg=dt((()=>{yg()}));var Eg=dt(((Me,Bn)=>{var Hn=ng(),zn=Qh();Bn.exports=function(Me,Bn,ni){return ni.get&&Hn(ni.get,Bn,{getter:!0}),ni.set&&Hn(ni.set,Bn,{setter:!0}),zn.f(Me,Bn,ni)}}));var bg=dt(((Me,Bn)=>{"use strict";var Hn=Pd();Bn.exports=function(){var Me=Hn(this),Bn="";return Me.hasIndices&&(Bn+="d"),Me.global&&(Bn+="g"),Me.ignoreCase&&(Bn+="i"),Me.multiline&&(Bn+="m"),Me.dotAll&&(Bn+="s"),Me.unicode&&(Bn+="u"),Me.unicodeSets&&(Bn+="v"),Me.sticky&&(Bn+="y"),Bn}}));var Cg=dt((()=>{var zn=Me(),ni=Hn(),Ci=Eg(),ts=bg(),Ps=Bn(),aa=zn.RegExp,oa=aa.prototype,ca=ni&&Ps((function(){var Me=!0;try{aa(".","d")}catch{Me=!1}var Bn={},Hn="",zn=Me?"dgimsy":"gimsy",D=function(Me,zn){Object.defineProperty(Bn,Me,{get:function(){return Hn+=zn,!0}})},ni={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};Me&&(ni.hasIndices="d");for(var Ci in ni)D(Ci,ni[Ci]);var ts=Object.getOwnPropertyDescriptor(oa,"flags").get.call(Bn);return ts!==zn||Hn!==zn}));ca&&Ci(oa,"flags",{configurable:!0,get:ts})}));var Dg=dt(((Me,Bn)=>{vg();Cg();var Hn=Object.defineProperty,zn=Object.getOwnPropertyDescriptor,ni=Object.getOwnPropertyNames,Ci=Object.prototype.hasOwnProperty,yp=(Me,Bn)=>function(){return Me&&(Bn=(0,Me[ni(Me)[0]])(Me=0)),Bn},Oe=(Me,Bn)=>function(){return Bn||(0,Me[ni(Me)[0]])((Bn={exports:{}}).exports,Bn),Bn.exports},m1=(Me,Bn)=>{for(var zn in Bn)Hn(Me,zn,{get:Bn[zn],enumerable:!0})},uW=(Me,Bn,ts,Ps)=>{if(Bn&&typeof Bn=="object"||typeof Bn=="function")for(let aa of ni(Bn))!Ci.call(Me,aa)&&aa!==ts&&Hn(Me,aa,{get:()=>Bn[aa],enumerable:!(Ps=zn(Bn,aa))||Ps.enumerable});return Me},Li=Me=>uW(Hn({},"__esModule",{value:!0}),Me),ts,Ps=yp({""(){ts={env:{},argv:[]}}}),aa=Oe({"src/common/parser-create-error.js"(Me,Bn){"use strict";Ps();function v(Me,Bn){let Hn=new SyntaxError(Me+" ("+Bn.start.line+":"+Bn.start.column+")");return Hn.loc=Bn,Hn}Bn.exports=v}}),oa=Oe({"src/utils/try-combinations.js"(Me,Bn){"use strict";Ps();function v(){let Me;for(var Bn=arguments.length,Hn=new Array(Bn),zn=0;znGa,arch:()=>fW,cpus:()=>O9,default:()=>Ha,endianness:()=>A9,freemem:()=>I9,getNetworkInterfaces:()=>j9,hostname:()=>P9,loadavg:()=>D9,networkInterfaces:()=>R9,platform:()=>dW,release:()=>L9,tmpDir:()=>Q6,tmpdir:()=>xa,totalmem:()=>N9,type:()=>M9,uptime:()=>k9});function A9(){if(typeof _a>"u"){var Me=new ArrayBuffer(2),Bn=new Uint8Array(Me),Hn=new Uint16Array(Me);if(Bn[0]=1,Bn[1]=2,Hn[0]===258)_a="BE";else if(Hn[0]===513)_a="LE";else throw new Error("unable to figure out endianess")}return _a}function P9(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function D9(){return[]}function k9(){return 0}function I9(){return Number.MAX_VALUE}function N9(){return Number.MAX_VALUE}function O9(){return[]}function M9(){return"Browser"}function L9(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function R9(){}function j9(){}function fW(){return"javascript"}function dW(){return"browser"}function Q6(){return"/tmp"}var _a,xa,Ga,Ha,so=yp({"node-modules-polyfills:os"(){Ps(),xa=Q6,Ga=`\n`,Ha={EOL:Ga,tmpdir:xa,tmpDir:Q6,networkInterfaces:R9,getNetworkInterfaces:j9,release:L9,type:M9,cpus:O9,totalmem:N9,freemem:I9,uptime:k9,loadavg:D9,hostname:P9,endianness:A9}}}),oo=Oe({"node-modules-polyfills-commonjs:os"(Me,Bn){Ps();var Hn=(so(),Li(ca));if(Hn&&Hn.default){Bn.exports=Hn.default;for(let Me in Hn)Bn.exports[Me]=Hn[Me]}else Hn&&(Bn.exports=Hn)}}),Jo=Oe({"node_modules/detect-newline/index.js"(Me,Bn){"use strict";Ps();var v=Me=>{if(typeof Me!="string")throw new TypeError("Expected a string");let Bn=Me.match(/(?:\r?\n)/g)||[];if(Bn.length===0)return;let Hn=Bn.filter((Me=>Me===`\r\n`)).length,zn=Bn.length-Hn;return Hn>zn?`\r\n`:`\n`};Bn.exports=v,Bn.exports.graceful=Me=>typeof Me=="string"&&v(Me)||`\n`}}),tc=Oe({"node_modules/jest-docblock/build/index.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.extract=M,Me.parse=W,Me.parseWithComments=K,Me.print=ce,Me.strip=q;function _(){let Me=oo();return _=function(){return Me},Me}function v(){let Me=h(Jo());return v=function(){return Me},Me}function h(Me){return Me&&Me.__esModule?Me:{default:Me}}var Bn=/\*\/$/,Hn=/^\/\*\*?/,zn=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,ni=/(^|\s+)\/\/([^\r\n]*)/g,Ci=/^(\r?\n)+/,ts=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,aa=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,oa=/(\r?\n|^) *\* ?/g,ca=[];function M(Me){let Bn=Me.match(zn);return Bn?Bn[0].trimLeft():""}function q(Me){let Bn=Me.match(zn);return Bn&&Bn[0]?Me.substring(Bn[0].length):Me}function W(Me){return K(Me).pragmas}function K(Me){let zn=(0,v().default)(Me)||_().EOL;Me=Me.replace(Hn,"").replace(Bn,"").replace(oa,"$1");let Ps="";for(;Ps!==Me;)Ps=Me,Me=Me.replace(ts,`${zn}$1 $2${zn}`);Me=Me.replace(Ci,"").trimRight();let _a=Object.create(null),xa=Me.replace(aa,"").replace(Ci,"").trimRight(),Ga;for(;Ga=aa.exec(Me);){let Me=Ga[2].replace(ni,"");typeof _a[Ga[1]]=="string"||Array.isArray(_a[Ga[1]])?_a[Ga[1]]=ca.concat(_a[Ga[1]],Me):_a[Ga[1]]=Me}return{comments:xa,pragmas:_a}}function ce(Me){let{comments:Bn="",pragmas:Hn={}}=Me,zn=(0,v().default)(Bn)||_().EOL,ni="/**",Ci=" *",ts=" */",Ps=Object.keys(Hn),aa=Ps.map((Me=>Ie(Me,Hn[Me]))).reduce(((Me,Bn)=>Me.concat(Bn)),[]).map((Me=>`${Ci} ${Me}${zn}`)).join("");if(!Bn){if(Ps.length===0)return"";if(Ps.length===1&&!Array.isArray(Hn[Ps[0]])){let Me=Hn[Ps[0]];return`${ni} ${Ie(Ps[0],Me)[0]}${ts}`}}let oa=Bn.split(zn).map((Me=>`${Ci} ${Me}`)).join(zn)+zn;return ni+zn+(Bn?oa:"")+(Bn&&Ps.length?Ci+zn:"")+aa+ts}function Ie(Me,Bn){return ca.concat(Bn).map((Bn=>`@${Me} ${Bn}`.trim()))}}}),dc=Oe({"src/common/end-of-line.js"(Me,Bn){"use strict";Ps();function v(Me){let Bn=Me.indexOf("\r");return Bn>=0?Me.charAt(Bn+1)===`\n`?"crlf":"cr":"lf"}function h(Me){switch(Me){case"cr":return"\r";case"crlf":return`\r\n`;default:return`\n`}}function D(Me,Bn){let Hn;switch(Bn){case`\n`:Hn=/\n/g;break;case"\r":Hn=/\r/g;break;case`\r\n`:Hn=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(Bn)}.`)}let zn=Me.match(Hn);return zn?zn.length:0}function P(Me){return Me.replace(/\r\n?/g,`\n`)}Bn.exports={guessEndOfLine:v,convertEndOfLineToChars:h,countEndOfLineChars:D,normalizeEndOfLine:P}}}),Fc=Oe({"src/language-js/utils/get-shebang.js"(Me,Bn){"use strict";Ps();function v(Me){if(!Me.startsWith("#!"))return"";let Bn=Me.indexOf(`\n`);return Bn===-1?Me:Me.slice(0,Bn)}Bn.exports=v}}),Jc=Oe({"src/language-js/pragma.js"(Me,Bn){"use strict";Ps();var{parseWithComments:Hn,strip:zn,extract:ni,print:Ci}=tc(),{normalizeEndOfLine:ts}=dc(),aa=Fc();function C(Me){let Bn=aa(Me);Bn&&(Me=Me.slice(Bn.length+1));let zn=ni(Me),{pragmas:Ci,comments:ts}=Hn(zn);return{shebang:Bn,text:Me,pragmas:Ci,comments:ts}}function d(Me){let Bn=Object.keys(C(Me).pragmas);return Bn.includes("prettier")||Bn.includes("format")}function E(Me){let{shebang:Bn,text:Hn,pragmas:ni,comments:Ps}=C(Me),aa=zn(Hn),oa=Ci({pragmas:Object.assign({format:""},ni),comments:Ps.trimStart()});return(Bn?`${Bn}\n`:"")+ts(oa)+(aa.startsWith(`\n`)?`\n`:`\n\n`)+aa}Bn.exports={hasPragma:d,insertPragma:E}}}),Dp=Oe({"src/utils/is-non-empty-array.js"(Me,Bn){"use strict";Ps();function v(Me){return Array.isArray(Me)&&Me.length>0}Bn.exports=v}}),kp=Oe({"src/language-js/loc.js"(Me,Bn){"use strict";Ps();var Hn=Dp();function h(Me){var Bn,zn;let ni=Me.range?Me.range[0]:Me.start,Ci=(Bn=(zn=Me.declaration)===null||zn===void 0?void 0:zn.decorators)!==null&&Bn!==void 0?Bn:Me.decorators;return Hn(Ci)?Math.min(h(Ci[0]),ni):ni}function D(Me){return Me.range?Me.range[1]:Me.end}function P(Me,Bn){let Hn=h(Me);return Number.isInteger(Hn)&&Hn===h(Bn)}function y(Me,Bn){let Hn=D(Me);return Number.isInteger(Hn)&&Hn===D(Bn)}function m(Me,Bn){return P(Me,Bn)&&y(Me,Bn)}Bn.exports={locStart:h,locEnd:D,hasSameLocStart:P,hasSameLoc:m}}}),Qp=Oe({"src/language-js/parse/utils/create-parser.js"(Me,Bn){"use strict";Ps();var{hasPragma:Hn}=Jc(),{locStart:zn,locEnd:ni}=kp();function P(Me){return Me=typeof Me=="function"?{parse:Me}:Me,Object.assign({astFormat:"estree",hasPragma:Hn,locStart:zn,locEnd:ni},Me)}Bn.exports=P}}),Up=Oe({"src/language-js/parse/utils/replace-hashbang.js"(Me,Bn){"use strict";Ps();function v(Me){return Me.charAt(0)==="#"&&Me.charAt(1)==="!"?"//"+Me.slice(2):Me}Bn.exports=v}}),Vp=Oe({"src/language-js/utils/is-ts-keyword-type.js"(Me,Bn){"use strict";Ps();function v(Me){let{type:Bn}=Me;return Bn.startsWith("TS")&&Bn.endsWith("Keyword")}Bn.exports=v}}),qp=Oe({"src/language-js/utils/is-block-comment.js"(Me,Bn){"use strict";Ps();var Hn=new Set(["Block","CommentBlock","MultiLine"]),h=Me=>Hn.has(Me==null?void 0:Me.type);Bn.exports=h}}),Jp=Oe({"src/language-js/utils/is-type-cast-comment.js"(Me,Bn){"use strict";Ps();var Hn=qp();function h(Me){return Hn(Me)&&Me.value[0]==="*"&&/@(?:type|satisfies)\b/.test(Me.value)}Bn.exports=h}}),Wp=Oe({"src/utils/get-last.js"(Me,Bn){"use strict";Ps();var v=Me=>Me[Me.length-1];Bn.exports=v}}),zp=Oe({"src/language-js/parse/postprocess/visit-node.js"(Me,Bn){"use strict";Ps();function v(Me,Bn){if(Array.isArray(Me)){for(let Hn=0;Hn{Me.leadingComments&&Me.leadingComments.some(Ci)&&Bn.add(Hn(Me))})),Me=aa(Me,(Me=>{if(Me.type==="ParenthesizedExpression"){let{expression:zn}=Me;if(zn.type==="TypeCastExpression")return zn.range=Me.range,zn;let ni=Hn(Me);if(!Bn.has(ni))return zn.extra=Object.assign(Object.assign({},zn.extra),{},{parenthesized:!0}),zn}}))}return Me=aa(Me,(Me=>{switch(Me.type){case"ChainExpression":return E(Me.expression);case"LogicalExpression":{if(I(Me))return c(Me);break}case"VariableDeclaration":{let Bn=ts(Me.declarations);Bn&&Bn.init&&W(Me,Bn);break}case"TSParenthesizedType":return ni(Me.typeAnnotation)||Me.typeAnnotation.type==="TSThisType"||(Me.typeAnnotation.range=[Hn(Me),zn(Me)]),Me.typeAnnotation;case"TSTypeParameter":if(typeof Me.name=="string"){let Bn=Hn(Me);Me.name={type:"Identifier",name:Me.name,range:[Bn,Bn+Me.name.length]}}break;case"ObjectExpression":if(Bn.parser==="typescript"){let Bn=Me.properties.find((Me=>Me.type==="Property"&&Me.value.type==="TSEmptyBodyFunctionExpression"));Bn&&oa(Bn.value,"Unexpected token.")}break;case"SequenceExpression":{let Bn=ts(Me.expressions);Me.range=[Hn(Me),Math.min(zn(Bn),zn(Me))];break}case"TopicReference":Bn.__isUsingHackPipeline=!0;break;case"ExportAllDeclaration":{let{exported:ni}=Me;if(Bn.parser==="meriyah"&&ni&&ni.type==="Identifier"){let Ci=Bn.originalText.slice(Hn(ni),zn(ni));(Ci.startsWith('"')||Ci.startsWith("'"))&&(Me.exported=Object.assign(Object.assign({},Me.exported),{},{type:"Literal",value:Me.exported.name,raw:Ci}))}break}case"PropertyDefinition":if(Bn.parser==="meriyah"&&Me.static&&!Me.computed&&!Me.key){let Bn="static",zn=Hn(Me);Object.assign(Me,{static:!1,key:{type:"Identifier",name:Bn,range:[zn,zn+Bn.length]}})}break}})),Me;function W(Me,ni){Bn.originalText[zn(ni)]!==";"&&(Me.range=[Hn(Me),zn(ni)])}}function E(Me){switch(Me.type){case"CallExpression":Me.type="OptionalCallExpression",Me.callee=E(Me.callee);break;case"MemberExpression":Me.type="OptionalMemberExpression",Me.object=E(Me.object);break;case"TSNonNullExpression":Me.expression=E(Me.expression);break}return Me}function I(Me){return Me.type==="LogicalExpression"&&Me.right.type==="LogicalExpression"&&Me.operator===Me.right.operator}function c(Me){return I(Me)?c({type:"LogicalExpression",operator:Me.operator,left:c({type:"LogicalExpression",operator:Me.operator,left:Me.left,right:Me.right.left,range:[Hn(Me.left),zn(Me.right.left)]}),right:Me.right.right,range:[Hn(Me),zn(Me)]}):Me}Bn.exports=d}}),Kf=Oe({"node_modules/typescript/lib/typescript.js"(Me,Bn){Ps();var Hn=Object.defineProperty,zn=Object.getOwnPropertyNames,D=(Me,Bn)=>function(){return Me&&(Bn=(0,Me[zn(Me)[0]])(Me=0)),Bn},P=(Me,Bn)=>function(){return Bn||(0,Me[zn(Me)[0]])((Bn={exports:{}}).exports,Bn),Bn.exports},y=(Me,Bn)=>{for(var zn in Bn)Hn(Me,zn,{get:Bn[zn],enumerable:!0})},ni,Ci,aa,oa=D({"src/compiler/corePublic.ts"(){"use strict";ni="5.0",Ci="5.0.2",aa=(Me=>(Me[Me.LessThan=-1]="LessThan",Me[Me.EqualTo=0]="EqualTo",Me[Me.GreaterThan=1]="GreaterThan",Me))(aa||{})}});function I(Me){return Me?Me.length:0}function c(Me,Bn){if(Me)for(let Hn=0;Hn=0;Hn--){let zn=Bn(Me[Hn],Hn);if(zn)return zn}}function q(Me,Bn){if(Me!==void 0)for(let Hn=0;Hn=0;zn--){let Hn=Me[zn];if(Bn(Hn,zn))return Hn}}function he(Me,Bn,Hn){if(Me===void 0)return-1;for(let zn=Hn!=null?Hn:0;zn=0;zn--)if(Bn(Me[zn],zn))return zn;return-1}function R(Me,Bn){for(let Hn=0;Hn2&&arguments[2]!==void 0?arguments[2]:fa;if(Me){for(let zn of Me)if(Hn(zn,Bn))return!0}return!1}function ke(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:fa;return Me.length===Bn.length&&Me.every(((Me,zn)=>Hn(Me,Bn[zn])))}function Je(Me,Bn,Hn){for(let zn=Hn||0;zn{let ni=Bn(zn,Me);if(ni!==void 0){let[Me,Bn]=ni;Me!==void 0&&Bn!==void 0&&Hn.set(Me,Bn)}})),Hn}function la(Me,Bn,Hn){if(Me.has(Bn))return Me.get(Bn);let zn=Hn();return Me.set(Bn,zn),zn}function ua(Me,Bn){return Me.has(Bn)?!1:(Me.add(Bn),!0)}function*Ka(Me){yield Me}function co(Me,Bn,Hn){let zn;if(Me){zn=[];let ni=Me.length,Ci,ts,Ps=0,aa=0;for(;Ps{let[ni,Ci]=Bn(zn,Me);Hn.set(ni,Ci)})),Hn}function Ke(Me,Bn){if(Me)if(Bn){for(let Hn of Me)if(Bn(Hn))return!0}else return Me.length>0;return!1}function Et(Me,Bn,Hn){let zn;for(let ni=0;niMe[Bn]))}function Uc(Me,Bn){let Hn=[];for(let zn of Me)qn(Hn,zn,Bn);return Hn}function ji(Me,Bn,Hn){return Me.length===0?[]:Me.length===1?Me.slice():Hn?m_(Me,Bn,Hn):Uc(Me,Bn)}function lo(Me,Bn){if(Me.length===0)return ca;let Hn=Me[0],zn=[Hn];for(let ni=1;ni0&&(ni&=-2),ni&2&&zn(Ci,Ps)>0&&(ni&=-3),Ci=Ps}return ni}function Hc(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:fa;if(!Me||!Bn)return Me===Bn;if(Me.length!==Bn.length)return!1;for(let zn=0;zn0&&qp.assertGreaterThanOrEqual(Hn(Bn[Ci],Bn[Ci-1]),0);t:for(let ts=ni;nits&&qp.assertGreaterThanOrEqual(Hn(Me[ni],Me[ni-1]),0),Hn(Bn[Ci],Me[ni])){case-1:zn.push(Bn[Ci]);continue e;case 0:continue e;case 1:continue t}}return zn}function tr(Me,Bn){return Bn===void 0?Me:Me===void 0?[Bn]:(Me.push(Bn),Me)}function $c(Me,Bn){return Me===void 0?Bn:Bn===void 0?Me:ir(Me)?ir(Bn)?Ft(Me,Bn):tr(Me,Bn):ir(Bn)?tr(Bn,Me):[Me,Bn]}function po(Me,Bn){return Bn<0?Me.length+Bn:Bn}function jr(Me,Bn,Hn,zn){if(Bn===void 0||Bn.length===0)return Me;if(Me===void 0)return Bn.slice(Hn,zn);Hn=Hn===void 0?0:po(Bn,Hn),zn=zn===void 0?Bn.length:po(Bn,zn);for(let ni=Hn;niHn(Me[Bn],Me[zn])||Vr(Bn,zn)))}function Is(Me,Bn){return Me.length===0?Me:Me.slice().sort(Bn)}function*y_(Me){for(let Bn=Me.length-1;Bn>=0;Bn--)yield Me[Bn]}function Ns(Me,Bn){let Hn=Wr(Me);return ks(Me,Hn,Bn),Hn.map((Bn=>Me[Bn]))}function Kc(Me,Bn,Hn,zn){for(;Hn>1),Ps=Hn(Me[ni],ni);switch(zn(Ps,Bn)){case-1:Ci=ni+1;break;case 0:return ni;case 1:ts=ni-1;break}}return~Ci}function Qa(Me,Bn,Hn,zn,ni){if(Me&&Me.length>0){let Ci=Me.length;if(Ci>0){let ts=zn===void 0||zn<0?0:zn,Ps=ni===void 0||ts+ni>Ci-1?Ci-1:ts+ni,aa;for(arguments.length<=2?(aa=Me[ts],ts++):aa=Hn;ts<=Ps;)aa=Bn(aa,Me[ts],ts),ts++;return aa}}return Hn}function Jr(Me,Bn){return so.call(Me,Bn)}function Qc(Me,Bn){return so.call(Me,Bn)?Me[Bn]:void 0}function ho(Me){let Bn=[];for(let Hn in Me)so.call(Me,Hn)&&Bn.push(Hn);return Bn}function T_(Me){let Bn=[];do{let Hn=Object.getOwnPropertyNames(Me);for(let Me of Hn)qn(Bn,Me)}while(Me=Object.getPrototypeOf(Me));return Bn}function go(Me){let Bn=[];for(let Hn in Me)so.call(Me,Hn)&&Bn.push(Me[Hn]);return Bn}function yo(Me,Bn){let Hn=new Array(Me);for(let zn=0;zn1?Bn-1:0),zn=1;zn2&&arguments[2]!==void 0?arguments[2]:fa;if(Me===Bn)return!0;if(!Me||!Bn)return!1;for(let zn in Me)if(so.call(Me,zn)&&(!so.call(Bn,zn)||!Hn(Me[zn],Bn[zn])))return!1;for(let Hn in Bn)if(so.call(Bn,Hn)&&!so.call(Me,Hn))return!1;return!0}function Zc(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:rr,zn=new Map;for(let ni of Me){let Me=Bn(ni);Me!==void 0&&zn.set(Me,Hn(ni))}return zn}function Os(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:rr,zn=[];for(let ni of Me)zn[Bn(ni)]=Hn(ni);return zn}function bo(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:rr,zn=Be();for(let ni of Me)zn.add(Bn(ni),Hn(ni));return zn}function el(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:rr;return Za(bo(Me,Bn).values(),Hn)}function x_(Me,Bn){var Hn;let zn={};if(Me)for(let ni of Me){let Me=`${Bn(ni)}`;((Hn=zn[Me])!=null?Hn:zn[Me]=[]).push(ni)}return zn}function E_(Me){let Bn={};for(let Hn in Me)so.call(Me,Hn)&&(Bn[Hn]=Me[Hn]);return Bn}function S(Me,Bn){let Hn={};for(let Me in Bn)so.call(Bn,Me)&&(Hn[Me]=Bn[Me]);for(let Bn in Me)so.call(Me,Bn)&&(Hn[Bn]=Me[Bn]);return Hn}function H(Me,Bn){for(let Hn in Bn)so.call(Bn,Hn)&&(Me[Hn]=Bn[Hn])}function le(Me,Bn){return Bn?Bn.bind(Me):void 0}function Be(){let Me=new Map;return Me.add=rt,Me.remove=ut,Me}function rt(Me,Bn){let Hn=this.get(Me);return Hn?Hn.push(Bn):this.set(Me,Hn=[Bn]),Hn}function ut(Me,Bn){let Hn=this.get(Me);Hn&&(bT(Hn,Bn),Hn.length||this.delete(Me))}function Ht(){return Be()}function Fr(Me){let Bn=(Me==null?void 0:Me.slice())||[],Hn=0;function s(){return Hn===Bn.length}function f(){Bn.push(...arguments)}function x(){if(s())throw new Error("Queue is empty");let Me=Bn[Hn];if(Bn[Hn]=void 0,Hn++,Hn>100&&Hn>Bn.length>>1){let Me=Bn.length-Hn;Bn.copyWithin(0,Hn),Bn.length=Me,Hn=0}return Me}return{enqueue:f,dequeue:x,isEmpty:s}}function Cr(Me,Bn){let Hn=new Map,zn=0;function*f(){for(let Me of Hn.values())ir(Me)?yield*Me:yield Me}let ni={has(zn){let ni=Me(zn);if(!Hn.has(ni))return!1;let Ci=Hn.get(ni);if(!ir(Ci))return Bn(Ci,zn);for(let Me of Ci)if(Bn(Me,zn))return!0;return!1},add(ni){let Ci=Me(ni);if(Hn.has(Ci)){let Me=Hn.get(Ci);if(ir(Me))pe(Me,ni,Bn)||(Me.push(ni),zn++);else{let ts=Me;Bn(ts,ni)||(Hn.set(Ci,[ts,ni]),zn++)}}else Hn.set(Ci,ni),zn++;return this},delete(ni){let Ci=Me(ni);if(!Hn.has(Ci))return!1;let ts=Hn.get(Ci);if(ir(ts)){for(let Me=0;Mef(),[Symbol.toStringTag]:Hn[Symbol.toStringTag]};return ni}function ir(Me){return Array.isArray(Me)}function en(Me){return ir(Me)?Me:[Me]}function Ji(Me){return typeof Me=="string"}function gi(Me){return typeof Me=="number"}function ln(Me,Bn){return Me!==void 0&&Bn(Me)?Me:void 0}function ti(Me,Bn){return Me!==void 0&&Bn(Me)?Me:qp.fail(`Invalid cast. The supplied value ${Me} did not pass the test '${qp.getFunctionName(Bn)}'.`)}function yn(Me){}function w_(){return!1}function vp(){return!0}function C1(){}function rr(Me){return Me}function bp(Me){return Me.toLowerCase()}function Tp(Me){return Jo.test(Me)?Me.replace(Jo,bp):Me}function A1(){throw new Error("Not implemented")}function tl(Me){let Bn;return()=>(Me&&(Bn=Me(),Me=void 0),Bn)}function An(Me){let Bn=new Map;return Hn=>{let zn=`${typeof Hn}:${Hn}`,ni=Bn.get(zn);return ni===void 0&&!Bn.has(zn)&&(ni=Me(Hn),Bn.set(zn,ni)),ni}}function P1(Me){let Bn=new WeakMap;return Hn=>{let zn=Bn.get(Hn);return zn===void 0&&!Bn.has(Hn)&&(zn=Me(Hn),Bn.set(Hn,zn)),zn}}function D1(Me,Bn){return function(){for(var Hn=arguments.length,zn=new Array(Hn),ni=0;niQa(Me,((Me,Bn)=>Bn(Me)),Bn)}else return zn?ni=>zn(Hn(Bn(Me(ni)))):Hn?zn=>Hn(Bn(Me(zn))):Bn?Hn=>Bn(Me(Hn)):Me?Bn=>Me(Bn):Me=>Me}function fa(Me,Bn){return Me===Bn}function Ms(Me,Bn){return Me===Bn||Me!==void 0&&Bn!==void 0&&Me.toUpperCase()===Bn.toUpperCase()}function To(Me,Bn){return fa(Me,Bn)}function Sp(Me,Bn){return Me===Bn?0:Me===void 0?-1:Bn===void 0?1:MeBn(Me,Hn)===-1?Me:Hn))}function C_(Me,Bn){return Me===Bn?0:Me===void 0?-1:Bn===void 0?1:(Me=Me.toUpperCase(),Bn=Bn.toUpperCase(),MeBn?1:0)}function O1(Me,Bn){return Me===Bn?0:Me===void 0?-1:Bn===void 0?1:(Me=Me.toLowerCase(),Bn=Bn.toLowerCase(),MeBn?1:0)}function ri(Me,Bn){return Sp(Me,Bn)}function rl(Me){return Me?C_:ri}function M1(){return Jc}function xp(Me){Jc!==Me&&(Jc=Me,Fc=void 0)}function L1(Me,Bn){return(Fc||(Fc=dc(Jc)))(Me,Bn)}function R1(Me,Bn,Hn,zn){return Me===Bn?0:Me===void 0?-1:Bn===void 0?1:zn(Me[Hn],Bn[Hn])}function j1(Me,Bn){return Vr(Me?1:0,Bn?1:0)}function Ep(Me,Bn,Hn){let zn=Math.max(2,Math.floor(Me.length*.34)),ni=Math.floor(Me.length*.4)+1,Ci;for(let ts of Bn){let Bn=Hn(ts);if(Bn!==void 0&&Math.abs(Bn.length-Me.length)<=zn){if(Bn===Me||Bn.length<3&&Bn.toLowerCase()!==Me.toLowerCase())continue;let Hn=J1(Me,Bn,ni-.1);if(Hn===void 0)continue;qp.assert(HnHn?ts-Hn:1),oa=Math.floor(Bn.length>Hn+ts?Hn+ts:Bn.length);ni[0]=ts;let ca=ts;for(let Me=1;MeHn)return;let _a=zn;zn=ni,ni=_a}let ts=zn[Bn.length];return ts>Hn?void 0:ts}function es(Me,Bn){let Hn=Me.length-Bn.length;return Hn>=0&&Me.indexOf(Bn,Hn)===Hn}function F1(Me,Bn){return es(Me,Bn)?Me.slice(0,Me.length-Bn.length):Me}function B1(Me,Bn){return es(Me,Bn)?Me.slice(0,Me.length-Bn.length):void 0}function Fi(Me,Bn){return Me.indexOf(Bn)!==-1}function q1(Me){let Bn=Me.length;for(let Hn=Bn-1;Hn>0;Hn--){let zn=Me.charCodeAt(Hn);if(zn>=48&&zn<=57)do{--Hn,zn=Me.charCodeAt(Hn)}while(Hn>0&&zn>=48&&zn<=57);else if(Hn>4&&(zn===110||zn===78)){if(--Hn,zn=Me.charCodeAt(Hn),zn!==105&&zn!==73||(--Hn,zn=Me.charCodeAt(Hn),zn!==109&&zn!==77))break;--Hn,zn=Me.charCodeAt(Hn)}else break;if(zn!==45&&zn!==46)break;Bn=Hn}return Bn===Me.length?Me:Me.slice(0,Bn)}function J(Me,Bn){for(let Hn=0;HnMe===Bn))}function b5(Me,Bn){for(let Hn=0;Hnni&&(ni=Me.prefix.length,zn=Ci)}return zn}function Pn(Me,Bn){return Me.lastIndexOf(Bn,0)===0}function x5(Me,Bn){return Pn(Me,Bn)?Me.substr(Bn.length):Me}function ST(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:rr;return Pn(Hn(Me),Hn(Bn))?Me.substring(Bn.length):void 0}function z1(Me,Bn){let{prefix:Hn,suffix:zn}=Me;return Bn.length>=Hn.length+zn.length&&Pn(Bn,Hn)&&es(Bn,zn)}function E5(Me,Bn){return Hn=>Me(Hn)&&Bn(Hn)}function W1(){for(var Me=arguments.length,Bn=new Array(Me),Hn=0;Hn2&&arguments[2]!==void 0?arguments[2]:" ";return Bn<=Me.length?Me:Hn.repeat(Bn-Me.length)+Me}function k5(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:" ";return Bn<=Me.length?Me:Me+Hn.repeat(Bn-Me.length)}function I5(Me,Bn){if(Me){let Hn=Me.length,zn=0;for(;zn=0&&os(Me.charCodeAt(Bn));)Bn--;return Me.slice(0,Bn+1)}function M5(){return typeof ts<"u"&&ts.nextTick&&!ts.browser&&typeof Bn=="object"}var ca,_a,xa,Ga,Ha,so,oo,Jo,tc,dc,Fc,Jc,Dp,kp,Qp,Up=D({"src/compiler/core.ts"(){"use strict";Gw(),ca=[],_a=new Map,xa=new Set,Ga=(Me=>(Me[Me.None=0]="None",Me[Me.CaseSensitive=1]="CaseSensitive",Me[Me.CaseInsensitive=2]="CaseInsensitive",Me[Me.Both=3]="Both",Me))(Ga||{}),Ha=Array.prototype.at?(Me,Bn)=>Me==null?void 0:Me.at(Bn):(Me,Bn)=>{if(Me&&(Bn=po(Me,Bn),Bn(Me[Me.None=0]="None",Me[Me.Normal=1]="Normal",Me[Me.Aggressive=2]="Aggressive",Me[Me.VeryAggressive=3]="VeryAggressive",Me))(tc||{}),dc=(()=>{let Me,Bn,Hn=A();return g;function s(Me,Bn,Hn){if(Me===Bn)return 0;if(Me===void 0)return-1;if(Bn===void 0)return 1;let zn=Hn(Me,Bn);return zn<0?-1:zn>0?1:0}function f(Me){let Bn=new Intl.Collator(Me,{usage:"sort",sensitivity:"variant"}).compare;return(Me,Hn)=>s(Me,Hn,Bn)}function x(Me){if(Me!==void 0)return w();return(Me,Bn)=>s(Me,Bn,N);function N(Me,Bn){return Me.localeCompare(Bn)}}function w(){return(Me,Bn)=>s(Me,Bn,B);function B(Me,Bn){return N(Me.toUpperCase(),Bn.toUpperCase())||N(Me,Bn)}function N(Me,Bn){return MeBn?1:0}}function A(){return typeof Intl=="object"&&typeof Intl.Collator=="function"?f:typeof String.prototype.localeCompare=="function"&&typeof String.prototype.toLocaleUpperCase=="function"&&"a".localeCompare("B")<0?x:w}function g(zn){return zn===void 0?Me||(Me=Hn(zn)):zn==="en-US"?Bn||(Bn=Hn(zn)):Hn(zn)}})(),Dp=String.prototype.trim?Me=>Me.trim():Me=>kp(Qp(Me)),kp=String.prototype.trimEnd?Me=>Me.trimEnd():O5,Qp=String.prototype.trimStart?Me=>Me.trimStart():Me=>Me.replace(/^\s+/g,"")}}),Vp,qp,Jp=D({"src/compiler/debug.ts"(){"use strict";Gw(),Gw(),Vp=(Me=>(Me[Me.Off=0]="Off",Me[Me.Error=1]="Error",Me[Me.Warning=2]="Warning",Me[Me.Info=3]="Info",Me[Me.Verbose=4]="Verbose",Me))(Vp||{}),(Me=>{let Bn=0;Me.currentLogLevel=2,Me.isDebugging=!1;function r(Bn){return Me.currentLogLevel<=Bn}Me.shouldLog=r;function s(Bn,Hn){Me.loggingHost&&r(Bn)&&Me.loggingHost.log(Bn,Hn)}function f(Me){s(3,Me)}Me.log=f,(Me=>{function He(Me){s(1,Me)}Me.error=He;function _t(Me){s(2,Me)}Me.warn=_t;function ft(Me){s(3,Me)}Me.log=ft;function Kt(Me){s(4,Me)}Me.trace=Kt})(f=Me.log||(Me.log={}));let Hn={};function w(){return Bn}Me.getAssertionLevel=w;function A(zn){let ni=Bn;if(Bn=zn,zn>ni)for(let Bn of ho(Hn)){let ni=Hn[Bn];ni!==void 0&&Me[Bn]!==ni.assertion&&zn>=ni.level&&(Me[Bn]=ni,Hn[Bn]=void 0)}}Me.setAssertionLevel=A;function g(Me){return Bn>=Me}Me.shouldAssert=g;function B(Bn,zn){return g(Bn)?!0:(Hn[zn]={level:Bn,assertion:Me[zn]},Me[zn]=yn,!1)}function N(Me,Bn){debugger;let Hn=new Error(Me?`Debug Failure. ${Me}`:"Debug Failure.");throw Error.captureStackTrace&&Error.captureStackTrace(Hn,Bn||N),Hn}Me.fail=N;function X(Me,Bn,Hn){return N(`${Bn||"Unexpected node."}\r\nNode ${mr(Me.kind)} was unexpected.`,Hn||X)}Me.failBadSyntaxKind=X;function F(Me,Bn,Hn,zn){Me||(Bn=Bn?`False expression: ${Bn}`:"False expression.",Hn&&(Bn+=`\r\nVerbose Debug Information: `+(typeof Hn=="string"?Hn:Hn())),N(Bn,zn||F))}Me.assert=F;function $(Me,Bn,Hn,zn,ni){if(Me!==Bn){let Ci=Hn?zn?`${Hn} ${zn}`:Hn:"";N(`Expected ${Me} === ${Bn}. ${Ci}`,ni||$)}}Me.assertEqual=$;function ae(Me,Bn,Hn,zn){Me>=Bn&&N(`Expected ${Me} < ${Bn}. ${Hn||""}`,zn||ae)}Me.assertLessThan=ae;function Te(Me,Bn,Hn){Me>Bn&&N(`Expected ${Me} <= ${Bn}`,Hn||Te)}Me.assertLessThanOrEqual=Te;function Se(Me,Bn,Hn){Me= ${Bn}`,Hn||Se)}Me.assertGreaterThanOrEqual=Se;function Ye(Me,Bn,Hn){Me==null&&N(Bn,Hn||Ye)}Me.assertIsDefined=Ye;function Ne(Me,Bn,Hn){return Ye(Me,Bn,Hn||Ne),Me}Me.checkDefined=Ne;function oe(Me,Bn,Hn){for(let zn of Me)Ye(zn,Bn,Hn||oe)}Me.assertEachIsDefined=oe;function Ve(Me,Bn,Hn){return oe(Me,Bn,Hn||Ve),Me}Me.checkEachDefined=Ve;function pt(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Illegal value:",Hn=arguments.length>2?arguments[2]:void 0,zn=typeof Me=="object"&&Jr(Me,"kind")&&Jr(Me,"pos")?"SyntaxKind: "+mr(Me.kind):JSON.stringify(Me);return N(`${Bn} ${zn}`,Hn||pt)}Me.assertNever=pt;function Gt(Me,Bn,Hn,zn){B(1,"assertEachNode")&&F(Bn===void 0||me(Me,Bn),Hn||"Unexpected node.",(()=>`Node array did not pass test '${pn(Bn)}'.`),zn||Gt)}Me.assertEachNode=Gt;function Nt(Me,Bn,Hn,zn){B(1,"assertNode")&&F(Me!==void 0&&(Bn===void 0||Bn(Me)),Hn||"Unexpected node.",(()=>`Node ${mr(Me==null?void 0:Me.kind)} did not pass test '${pn(Bn)}'.`),zn||Nt)}Me.assertNode=Nt;function Xt(Me,Bn,Hn,zn){B(1,"assertNotNode")&&F(Me===void 0||Bn===void 0||!Bn(Me),Hn||"Unexpected node.",(()=>`Node ${mr(Me.kind)} should not have passed test '${pn(Bn)}'.`),zn||Xt)}Me.assertNotNode=Xt;function er(Me,Bn,Hn,zn){B(1,"assertOptionalNode")&&F(Bn===void 0||Me===void 0||Bn(Me),Hn||"Unexpected node.",(()=>`Node ${mr(Me==null?void 0:Me.kind)} did not pass test '${pn(Bn)}'.`),zn||er)}Me.assertOptionalNode=er;function Tn(Me,Bn,Hn,zn){B(1,"assertOptionalToken")&&F(Bn===void 0||Me===void 0||Me.kind===Bn,Hn||"Unexpected node.",(()=>`Node ${mr(Me==null?void 0:Me.kind)} was not a '${mr(Bn)}' token.`),zn||Tn)}Me.assertOptionalToken=Tn;function Hr(Me,Bn,Hn){B(1,"assertMissingNode")&&F(Me===void 0,Bn||"Unexpected node.",(()=>`Node ${mr(Me.kind)} was unexpected'.`),Hn||Hr)}Me.assertMissingNode=Hr;function Gi(Me){}Me.type=Gi;function pn(Me){if(typeof Me!="function")return"";if(Jr(Me,"name"))return Me.name;{let Bn=Function.prototype.toString.call(Me),Hn=/^function\s+([\w\$]+)\s*\(/.exec(Bn);return Hn?Hn[1]:""}}Me.getFunctionName=pn;function fn(Me){return`{ name: ${dl(Me.escapedName)}; flags: ${Sn(Me.flags)}; declarations: ${Ze(Me.declarations,(Me=>mr(Me.kind)))} }`}Me.formatSymbol=fn;function Ut(){let Me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,Bn=arguments.length>1?arguments[1]:void 0,Hn=arguments.length>2?arguments[2]:void 0,zn=an(Bn);if(Me===0)return zn.length>0&&zn[0][0]===0?zn[0][1]:"0";if(Hn){let Bn=[],Hn=Me;for(let[ni,Ci]of zn){if(ni>Me)break;ni!==0&&ni&Me&&(Bn.push(Ci),Hn&=~ni)}if(Hn===0)return Bn.join("|")}else for(let[Bn,Hn]of zn)if(Bn===Me)return Hn;return Me.toString()}Me.formatEnum=Ut;let zn=new Map;function an(Me){let Bn=zn.get(Me);if(Bn)return Bn;let Hn=[];for(let Bn in Me){let zn=Me[Bn];typeof zn=="number"&&Hn.push([zn,Bn])}let ni=Ns(Hn,((Me,Bn)=>Vr(Me[0],Bn[0])));return zn.set(Me,ni),ni}function mr(Me){return Ut(Me,Td,!1)}Me.formatSyntaxKind=mr;function $i(Me){return Ut(Me,f_,!1)}Me.formatSnippetKind=$i;function dn(Me){return Ut(Me,Pd,!0)}Me.formatNodeFlags=dn;function Ur(Me){return Ut(Me,Qh,!0)}Me.formatModifierFlags=Ur;function Gr(Me){return Ut(Me,Zg,!0)}Me.formatTransformFlags=Gr;function _r(Me){return Ut(Me,Z_,!0)}Me.formatEmitFlags=_r;function Sn(Me){return Ut(Me,_g,!0)}Me.formatSymbolFlags=Sn;function In(Me){return Ut(Me,Cg,!0)}Me.formatTypeFlags=In;function pr(Me){return Ut(Me,Bg,!0)}Me.formatSignatureFlags=pr;function Zt(Me){return Ut(Me,Dg,!0)}Me.formatObjectFlags=Zt;function Or(Me){return Ut(Me,eg,!0)}Me.formatFlowFlags=Or;function Nn(Me){return Ut(Me,sA,!0)}Me.formatRelationComparisonResult=Nn;function ar(Me){return Ut(Me,CheckMode,!0)}Me.formatCheckMode=ar;function oi(Me){return Ut(Me,SignatureCheckMode,!0)}Me.formatSignatureCheckMode=oi;function cr(Me){return Ut(Me,TypeFacts,!0)}Me.formatTypeFacts=cr;let ni=!1,Ci;function On(Me){"__debugFlowFlags"in Me||Object.defineProperties(Me,{__tsDebuggerDisplay:{value(){let Me=this.flags&2?"FlowStart":this.flags&4?"FlowBranchLabel":this.flags&8?"FlowLoopLabel":this.flags&16?"FlowAssignment":this.flags&32?"FlowTrueCondition":this.flags&64?"FlowFalseCondition":this.flags&128?"FlowSwitchClause":this.flags&256?"FlowArrayMutation":this.flags&512?"FlowCall":this.flags&1024?"FlowReduceLabel":this.flags&1?"FlowUnreachable":"UnknownFlow",Bn=this.flags&~(2048-1);return`${Me}${Bn?` (${Or(Bn)})`:""}`}},__debugFlowFlags:{get(){return Ut(this.flags,eg,!0)}},__debugToString:{value(){return St(this)}}})}function nr(Me){ni&&(typeof Object.setPrototypeOf=="function"?(Ci||(Ci=Object.create(Object.prototype),On(Ci)),Object.setPrototypeOf(Me,Ci)):On(Me))}Me.attachFlowNodeDebugInfo=nr;let ts;function Kr(Me){"__tsDebuggerDisplay"in Me||Object.defineProperties(Me,{__tsDebuggerDisplay:{value(Me){return Me=String(Me).replace(/(?:,[\s\w\d_]+:[^,]+)+\]$/,"]"),`NodeArray ${Me}`}}})}function wa(Me){ni&&(typeof Object.setPrototypeOf=="function"?(ts||(ts=Object.create(Array.prototype),Kr(ts)),Object.setPrototypeOf(Me,ts)):Kr(Me))}Me.attachNodeArrayDebugInfo=wa;function $n(){if(ni)return;let Me=new WeakMap,Bn=new WeakMap;Object.defineProperties(MC.getSymbolConstructor().prototype,{__tsDebuggerDisplay:{value(){let Me=this.flags&33554432?"TransientSymbol":"Symbol",Bn=this.flags&-33554433;return`${Me} '${rf(this)}'${Bn?` (${Sn(Bn)})`:""}`}},__debugFlags:{get(){return Sn(this.flags)}}}),Object.defineProperties(MC.getTypeConstructor().prototype,{__tsDebuggerDisplay:{value(){let Me=this.flags&98304?"NullableType":this.flags&384?`LiteralType ${JSON.stringify(this.value)}`:this.flags&2048?`LiteralType ${this.value.negative?"-":""}${this.value.base10Value}n`:this.flags&8192?"UniqueESSymbolType":this.flags&32?"EnumType":this.flags&67359327?`IntrinsicType ${this.intrinsicName}`:this.flags&1048576?"UnionType":this.flags&2097152?"IntersectionType":this.flags&4194304?"IndexType":this.flags&8388608?"IndexedAccessType":this.flags&16777216?"ConditionalType":this.flags&33554432?"SubstitutionType":this.flags&262144?"TypeParameter":this.flags&524288?this.objectFlags&3?"InterfaceType":this.objectFlags&4?"TypeReference":this.objectFlags&8?"TupleType":this.objectFlags&16?"AnonymousType":this.objectFlags&32?"MappedType":this.objectFlags&1024?"ReverseMappedType":this.objectFlags&256?"EvolvingArrayType":"ObjectType":"Type",Bn=this.flags&524288?this.objectFlags&-1344:0;return`${Me}${this.symbol?` '${rf(this.symbol)}'`:""}${Bn?` (${Zt(Bn)})`:""}`}},__debugFlags:{get(){return In(this.flags)}},__debugObjectFlags:{get(){return this.flags&524288?Zt(this.objectFlags):""}},__debugTypeToString:{value(){let Bn=Me.get(this);return Bn===void 0&&(Bn=this.checker.typeToString(this),Me.set(this,Bn)),Bn}}}),Object.defineProperties(MC.getSignatureConstructor().prototype,{__debugFlags:{get(){return pr(this.flags)}},__debugSignatureToString:{value(){var Me;return(Me=this.checker)==null?void 0:Me.signatureToString(this)}}});let Hn=[MC.getNodeConstructor(),MC.getIdentifierConstructor(),MC.getTokenConstructor(),MC.getSourceFileConstructor()];for(let Me of Hn)Jr(Me.prototype,"__debugKind")||Object.defineProperties(Me.prototype,{__tsDebuggerDisplay:{value(){return`${cs(this)?"GeneratedIdentifier":yt(this)?`Identifier '${qr(this)}'`:vn(this)?`PrivateIdentifier '${qr(this)}'`:Gn(this)?`StringLiteral ${JSON.stringify(this.text.length<10?this.text:this.text.slice(10)+"...")}`:zs(this)?`NumericLiteral ${this.text}`:Uv(this)?`BigIntLiteral ${this.text}n`:Fo(this)?"TypeParameterDeclaration":Vs(this)?"ParameterDeclaration":nc(this)?"ConstructorDeclaration":Gl(this)?"GetAccessorDeclaration":ic(this)?"SetAccessorDeclaration":Vv(this)?"CallSignatureDeclaration":R8(this)?"ConstructSignatureDeclaration":Hv(this)?"IndexSignatureDeclaration":j8(this)?"TypePredicateNode":ac(this)?"TypeReferenceNode":$l(this)?"FunctionTypeNode":Gv(this)?"ConstructorTypeNode":J8(this)?"TypeQueryNode":id(this)?"TypeLiteralNode":F8(this)?"ArrayTypeNode":B8(this)?"TupleTypeNode":q8(this)?"OptionalTypeNode":U8(this)?"RestTypeNode":z8(this)?"UnionTypeNode":W8(this)?"IntersectionTypeNode":V8(this)?"ConditionalTypeNode":H8(this)?"InferTypeNode":Kv(this)?"ParenthesizedTypeNode":Xv(this)?"ThisTypeNode":G8(this)?"TypeOperatorNode":$8(this)?"IndexedAccessTypeNode":K8(this)?"MappedTypeNode":Yv(this)?"LiteralTypeNode":$v(this)?"NamedTupleMember":Kl(this)?"ImportTypeNode":mr(this.kind)}${this.flags?` (${dn(this.flags)})`:""}`}},__debugKind:{get(){return mr(this.kind)}},__debugNodeFlags:{get(){return dn(this.flags)}},__debugModifierFlags:{get(){return Ur(Y4(this))}},__debugTransformFlags:{get(){return Gr(this.transformFlags)}},__debugIsParseTreeNode:{get(){return pl(this)}},__debugEmitFlags:{get(){return _r(xi(this))}},__debugGetText:{value(Me){if(fs(this))return"";let Hn=Bn.get(this);if(Hn===void 0){let zn=fl(this),ni=zn&&Si(zn);Hn=ni?No(ni,zn,Me):"",Bn.set(this,Hn)}return Hn}}});ni=!0}Me.enableDebugInfo=$n;function Ki(Me){let Bn=Me&7,Hn=Bn===0?"in out":Bn===3?"[bivariant]":Bn===2?"in":Bn===1?"out":Bn===4?"[independent]":"";return Me&8?Hn+=" (unmeasurable)":Me&16&&(Hn+=" (unreliable)"),Hn}Me.formatVariance=Ki;class Mn{__debugToString(){var Me;switch(this.kind){case 3:return((Me=this.debugInfo)==null?void 0:Me.call(this))||"(function mapper)";case 0:return`${this.source.__debugTypeToString()} -> ${this.target.__debugTypeToString()}`;case 1:return ce(this.sources,this.targets||Ze(this.sources,(()=>"any")),((Me,Bn)=>`${Me.__debugTypeToString()} -> ${typeof Bn=="string"?Bn:Bn.__debugTypeToString()}`)).join(", ");case 2:return ce(this.sources,this.targets,((Me,Bn)=>`${Me.__debugTypeToString()} -> ${Bn().__debugTypeToString()}`)).join(", ");case 5:case 4:return`m1: ${this.mapper1.__debugToString().split(`\n`).join(`\n `)}\nm2: ${this.mapper2.__debugToString().split(`\n`).join(`\n `)}`;default:return pt(this)}}}Me.DebugTypeMapper=Mn;function _i(Bn){return Me.isDebugging?Object.setPrototypeOf(Bn,Mn.prototype):Bn}Me.attachDebugPrototypeIfDebug=_i;function Ca(Me){return console.log(St(Me))}Me.printControlFlowGraph=Ca;function St(Me){let Bn=-1;function _t(Me){return Me.id||(Me.id=Bn,Bn--),Me.id}let Hn;(Me=>{Me.lr="─",Me.ud="│",Me.dr="╭",Me.dl="╮",Me.ul="╯",Me.ur="╰",Me.udr="├",Me.udl="┤",Me.dlr="┬",Me.ulr="┴",Me.udlr="╫"})(Hn||(Hn={}));let zn;(Me=>{Me[Me.None=0]="None",Me[Me.Up=1]="Up",Me[Me.Down=2]="Down",Me[Me.Left=4]="Left",Me[Me.Right=8]="Right",Me[Me.UpDown=3]="UpDown",Me[Me.LeftRight=12]="LeftRight",Me[Me.UpLeft=5]="UpLeft",Me[Me.UpRight=9]="UpRight",Me[Me.DownLeft=6]="DownLeft",Me[Me.DownRight=10]="DownRight",Me[Me.UpDownLeft=7]="UpDownLeft",Me[Me.UpDownRight=11]="UpDownRight",Me[Me.UpLeftRight=13]="UpLeftRight",Me[Me.DownLeftRight=14]="DownLeftRight",Me[Me.UpDownLeftRight=15]="UpDownLeftRight",Me[Me.NoChildren=16]="NoChildren"})(zn||(zn={}));let ni=2032,Ci=882,ts=Object.create(null),Ps=[],aa=[],oa=Aa(Me,new Set);for(let Me of Ps)Me.text=xn(Me.flowNode,Me.circular),$s(Me);let ca=li(oa),_a=Yi(ca);return Qi(oa,0),Dt();function Mr(Me){return!!(Me.flags&128)}function gr(Me){return!!(Me.flags&12)&&!!Me.antecedents}function Ln(Me){return!!(Me.flags&ni)}function ys(Me){return!!(Me.flags&Ci)}function ci(Me){let Bn=[];for(let Hn of Me.edges)Hn.source===Me&&Bn.push(Hn.target);return Bn}function Xi(Me){let Bn=[];for(let Hn of Me.edges)Hn.target===Me&&Bn.push(Hn.source);return Bn}function Aa(Me,Bn){let Hn=_t(Me),zn=ts[Hn];if(zn&&Bn.has(Me))return zn.circular=!0,zn={id:-1,flowNode:Me,edges:[],text:"",lane:-1,endLane:-1,level:-1,circular:"circularity"},Ps.push(zn),zn;if(Bn.add(Me),!zn)if(ts[Hn]=zn={id:Hn,flowNode:Me,edges:[],text:"",lane:-1,endLane:-1,level:-1,circular:!1},Ps.push(zn),gr(Me))for(let Hn of Me.antecedents)vs(zn,Hn,Bn);else Ln(Me)&&vs(zn,Me.antecedent,Bn);return Bn.delete(Me),zn}function vs(Me,Bn,Hn){let zn=Aa(Bn,Hn),ni={source:Me,target:zn};aa.push(ni),Me.edges.push(ni),zn.edges.push(ni)}function $s(Me){if(Me.level!==-1)return Me.level;let Bn=0;for(let Hn of Xi(Me))Bn=Math.max(Bn,$s(Hn)+1);return Me.level=Bn}function li(Me){let Bn=0;for(let Hn of ci(Me))Bn=Math.max(Bn,li(Hn));return Bn+1}function Yi(Me){let Bn=Z(Array(Me),0);for(let Me of Ps)Bn[Me.level]=Math.max(Bn[Me.level],Me.text.length);return Bn}function Qi(Me,Bn){if(Me.lane===-1){Me.lane=Bn,Me.endLane=Bn;let Hn=ci(Me);for(let zn=0;zn0&&Bn++;let ni=Hn[zn];Qi(ni,Bn),ni.endLane>Me.endLane&&(Bn=ni.endLane)}Me.endLane=Bn}}function bs(Me){if(Me&2)return"Start";if(Me&4)return"Branch";if(Me&8)return"Loop";if(Me&16)return"Assignment";if(Me&32)return"True";if(Me&64)return"False";if(Me&128)return"SwitchClause";if(Me&256)return"ArrayMutation";if(Me&512)return"Call";if(Me&1024)return"ReduceLabel";if(Me&1)return"Unreachable";throw new Error}function Ai(Me){let Bn=Si(Me);return No(Bn,Me,!1)}function xn(Me,Bn){let Hn=bs(Me.flags);if(Bn&&(Hn=`${Hn}#${_t(Me)}`),ys(Me))Me.node&&(Hn+=` (${Ai(Me.node)})`);else if(Mr(Me)){let Bn=[];for(let Hn=Me.clauseStart;HnMath.max(Me,Bn.lane)),0)+1,Hn=Z(Array(Bn),""),zn=_a.map((()=>Array(Bn))),ni=_a.map((()=>Z(Array(Bn),0)));for(let Me of Ps){zn[Me.level][Me.lane]=Me;let Bn=ci(Me);for(let Hn=0;Hn0&&(Ci|=1),Hn0&&(Ci|=1),Bn0?ni[Hn-1][Me]:0,zn=Me>0?ni[Hn][Me-1]:0,Ci=ni[Hn][Me];Ci||(Bn&8&&(Ci|=12),zn&2&&(Ci|=3),ni[Hn][Me]=Ci)}for(let Bn=0;Bn0?Me.repeat(Bn):"";let Hn="";for(;Hn.length{},j5=()=>{},J5=()=>{},Wp=Date.now,F5=()=>{},zp=new Proxy((()=>{}),{get:()=>zp});function DT(Me){var Bn;if(Kf){let Hn=(Bn=Cd.get(Me))!=null?Bn:0;Cd.set(Me,Hn+1),Ad.set(Me,Wp()),Qf==null||Qf.mark(Me),typeof onProfilerEvent=="function"&&onProfilerEvent(Me)}}function B5(Me,Bn,Hn){var zn,ni;if(Kf){let Ci=(zn=Hn!==void 0?Ad.get(Hn):void 0)!=null?zn:Wp(),ts=(ni=Bn!==void 0?Ad.get(Bn):void 0)!=null?ni:Xf,Ps=wd.get(Me)||0;wd.set(Me,Ps+(Ci-ts)),Qf==null||Qf.measure(Me,Bn,Hn)}}var Qf,Yf,Kf,Xf,Ad,Cd,wd,Sd=D({"src/compiler/performance.ts"(){"use strict";Gw(),Yf={enter:yn,exit:yn},Kf=!1,Xf=Wp(),Ad=new Map,Cd=new Map,wd=new Map}}),IT=()=>{},U5=()=>{},xd;function z5(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Hn=Og[Me.category];return Bn?Hn.toLowerCase():Hn}var Td,Pd,Qh,Zh,sA,oA,hA,eg,tg,rg,ng,ig,sg,ag,og,ug,cg,lg,pg,fg,dg,hg,Ag,mg,gg,_g,yg,vg,Eg,bg,Cg,Dg,wg,Sg,Ig,xg,kg,Bg,Tg,Fg,Ng,Qg,Rg,Pg,Og,Lg,Mg,jg,Ug,Gg,Vg,Hg,qg,Jg,$g,Yg,Wg,Kg,zg,Xg,Zg,f_,Z_,ey,ty,ry,ny,iy,py,fy,Ty,Gy,Vy=D({"src/compiler/types.ts"(){"use strict";Td=(Me=>(Me[Me.Unknown=0]="Unknown",Me[Me.EndOfFileToken=1]="EndOfFileToken",Me[Me.SingleLineCommentTrivia=2]="SingleLineCommentTrivia",Me[Me.MultiLineCommentTrivia=3]="MultiLineCommentTrivia",Me[Me.NewLineTrivia=4]="NewLineTrivia",Me[Me.WhitespaceTrivia=5]="WhitespaceTrivia",Me[Me.ShebangTrivia=6]="ShebangTrivia",Me[Me.ConflictMarkerTrivia=7]="ConflictMarkerTrivia",Me[Me.NumericLiteral=8]="NumericLiteral",Me[Me.BigIntLiteral=9]="BigIntLiteral",Me[Me.StringLiteral=10]="StringLiteral",Me[Me.JsxText=11]="JsxText",Me[Me.JsxTextAllWhiteSpaces=12]="JsxTextAllWhiteSpaces",Me[Me.RegularExpressionLiteral=13]="RegularExpressionLiteral",Me[Me.NoSubstitutionTemplateLiteral=14]="NoSubstitutionTemplateLiteral",Me[Me.TemplateHead=15]="TemplateHead",Me[Me.TemplateMiddle=16]="TemplateMiddle",Me[Me.TemplateTail=17]="TemplateTail",Me[Me.OpenBraceToken=18]="OpenBraceToken",Me[Me.CloseBraceToken=19]="CloseBraceToken",Me[Me.OpenParenToken=20]="OpenParenToken",Me[Me.CloseParenToken=21]="CloseParenToken",Me[Me.OpenBracketToken=22]="OpenBracketToken",Me[Me.CloseBracketToken=23]="CloseBracketToken",Me[Me.DotToken=24]="DotToken",Me[Me.DotDotDotToken=25]="DotDotDotToken",Me[Me.SemicolonToken=26]="SemicolonToken",Me[Me.CommaToken=27]="CommaToken",Me[Me.QuestionDotToken=28]="QuestionDotToken",Me[Me.LessThanToken=29]="LessThanToken",Me[Me.LessThanSlashToken=30]="LessThanSlashToken",Me[Me.GreaterThanToken=31]="GreaterThanToken",Me[Me.LessThanEqualsToken=32]="LessThanEqualsToken",Me[Me.GreaterThanEqualsToken=33]="GreaterThanEqualsToken",Me[Me.EqualsEqualsToken=34]="EqualsEqualsToken",Me[Me.ExclamationEqualsToken=35]="ExclamationEqualsToken",Me[Me.EqualsEqualsEqualsToken=36]="EqualsEqualsEqualsToken",Me[Me.ExclamationEqualsEqualsToken=37]="ExclamationEqualsEqualsToken",Me[Me.EqualsGreaterThanToken=38]="EqualsGreaterThanToken",Me[Me.PlusToken=39]="PlusToken",Me[Me.MinusToken=40]="MinusToken",Me[Me.AsteriskToken=41]="AsteriskToken",Me[Me.AsteriskAsteriskToken=42]="AsteriskAsteriskToken",Me[Me.SlashToken=43]="SlashToken",Me[Me.PercentToken=44]="PercentToken",Me[Me.PlusPlusToken=45]="PlusPlusToken",Me[Me.MinusMinusToken=46]="MinusMinusToken",Me[Me.LessThanLessThanToken=47]="LessThanLessThanToken",Me[Me.GreaterThanGreaterThanToken=48]="GreaterThanGreaterThanToken",Me[Me.GreaterThanGreaterThanGreaterThanToken=49]="GreaterThanGreaterThanGreaterThanToken",Me[Me.AmpersandToken=50]="AmpersandToken",Me[Me.BarToken=51]="BarToken",Me[Me.CaretToken=52]="CaretToken",Me[Me.ExclamationToken=53]="ExclamationToken",Me[Me.TildeToken=54]="TildeToken",Me[Me.AmpersandAmpersandToken=55]="AmpersandAmpersandToken",Me[Me.BarBarToken=56]="BarBarToken",Me[Me.QuestionToken=57]="QuestionToken",Me[Me.ColonToken=58]="ColonToken",Me[Me.AtToken=59]="AtToken",Me[Me.QuestionQuestionToken=60]="QuestionQuestionToken",Me[Me.BacktickToken=61]="BacktickToken",Me[Me.HashToken=62]="HashToken",Me[Me.EqualsToken=63]="EqualsToken",Me[Me.PlusEqualsToken=64]="PlusEqualsToken",Me[Me.MinusEqualsToken=65]="MinusEqualsToken",Me[Me.AsteriskEqualsToken=66]="AsteriskEqualsToken",Me[Me.AsteriskAsteriskEqualsToken=67]="AsteriskAsteriskEqualsToken",Me[Me.SlashEqualsToken=68]="SlashEqualsToken",Me[Me.PercentEqualsToken=69]="PercentEqualsToken",Me[Me.LessThanLessThanEqualsToken=70]="LessThanLessThanEqualsToken",Me[Me.GreaterThanGreaterThanEqualsToken=71]="GreaterThanGreaterThanEqualsToken",Me[Me.GreaterThanGreaterThanGreaterThanEqualsToken=72]="GreaterThanGreaterThanGreaterThanEqualsToken",Me[Me.AmpersandEqualsToken=73]="AmpersandEqualsToken",Me[Me.BarEqualsToken=74]="BarEqualsToken",Me[Me.BarBarEqualsToken=75]="BarBarEqualsToken",Me[Me.AmpersandAmpersandEqualsToken=76]="AmpersandAmpersandEqualsToken",Me[Me.QuestionQuestionEqualsToken=77]="QuestionQuestionEqualsToken",Me[Me.CaretEqualsToken=78]="CaretEqualsToken",Me[Me.Identifier=79]="Identifier",Me[Me.PrivateIdentifier=80]="PrivateIdentifier",Me[Me.BreakKeyword=81]="BreakKeyword",Me[Me.CaseKeyword=82]="CaseKeyword",Me[Me.CatchKeyword=83]="CatchKeyword",Me[Me.ClassKeyword=84]="ClassKeyword",Me[Me.ConstKeyword=85]="ConstKeyword",Me[Me.ContinueKeyword=86]="ContinueKeyword",Me[Me.DebuggerKeyword=87]="DebuggerKeyword",Me[Me.DefaultKeyword=88]="DefaultKeyword",Me[Me.DeleteKeyword=89]="DeleteKeyword",Me[Me.DoKeyword=90]="DoKeyword",Me[Me.ElseKeyword=91]="ElseKeyword",Me[Me.EnumKeyword=92]="EnumKeyword",Me[Me.ExportKeyword=93]="ExportKeyword",Me[Me.ExtendsKeyword=94]="ExtendsKeyword",Me[Me.FalseKeyword=95]="FalseKeyword",Me[Me.FinallyKeyword=96]="FinallyKeyword",Me[Me.ForKeyword=97]="ForKeyword",Me[Me.FunctionKeyword=98]="FunctionKeyword",Me[Me.IfKeyword=99]="IfKeyword",Me[Me.ImportKeyword=100]="ImportKeyword",Me[Me.InKeyword=101]="InKeyword",Me[Me.InstanceOfKeyword=102]="InstanceOfKeyword",Me[Me.NewKeyword=103]="NewKeyword",Me[Me.NullKeyword=104]="NullKeyword",Me[Me.ReturnKeyword=105]="ReturnKeyword",Me[Me.SuperKeyword=106]="SuperKeyword",Me[Me.SwitchKeyword=107]="SwitchKeyword",Me[Me.ThisKeyword=108]="ThisKeyword",Me[Me.ThrowKeyword=109]="ThrowKeyword",Me[Me.TrueKeyword=110]="TrueKeyword",Me[Me.TryKeyword=111]="TryKeyword",Me[Me.TypeOfKeyword=112]="TypeOfKeyword",Me[Me.VarKeyword=113]="VarKeyword",Me[Me.VoidKeyword=114]="VoidKeyword",Me[Me.WhileKeyword=115]="WhileKeyword",Me[Me.WithKeyword=116]="WithKeyword",Me[Me.ImplementsKeyword=117]="ImplementsKeyword",Me[Me.InterfaceKeyword=118]="InterfaceKeyword",Me[Me.LetKeyword=119]="LetKeyword",Me[Me.PackageKeyword=120]="PackageKeyword",Me[Me.PrivateKeyword=121]="PrivateKeyword",Me[Me.ProtectedKeyword=122]="ProtectedKeyword",Me[Me.PublicKeyword=123]="PublicKeyword",Me[Me.StaticKeyword=124]="StaticKeyword",Me[Me.YieldKeyword=125]="YieldKeyword",Me[Me.AbstractKeyword=126]="AbstractKeyword",Me[Me.AccessorKeyword=127]="AccessorKeyword",Me[Me.AsKeyword=128]="AsKeyword",Me[Me.AssertsKeyword=129]="AssertsKeyword",Me[Me.AssertKeyword=130]="AssertKeyword",Me[Me.AnyKeyword=131]="AnyKeyword",Me[Me.AsyncKeyword=132]="AsyncKeyword",Me[Me.AwaitKeyword=133]="AwaitKeyword",Me[Me.BooleanKeyword=134]="BooleanKeyword",Me[Me.ConstructorKeyword=135]="ConstructorKeyword",Me[Me.DeclareKeyword=136]="DeclareKeyword",Me[Me.GetKeyword=137]="GetKeyword",Me[Me.InferKeyword=138]="InferKeyword",Me[Me.IntrinsicKeyword=139]="IntrinsicKeyword",Me[Me.IsKeyword=140]="IsKeyword",Me[Me.KeyOfKeyword=141]="KeyOfKeyword",Me[Me.ModuleKeyword=142]="ModuleKeyword",Me[Me.NamespaceKeyword=143]="NamespaceKeyword",Me[Me.NeverKeyword=144]="NeverKeyword",Me[Me.OutKeyword=145]="OutKeyword",Me[Me.ReadonlyKeyword=146]="ReadonlyKeyword",Me[Me.RequireKeyword=147]="RequireKeyword",Me[Me.NumberKeyword=148]="NumberKeyword",Me[Me.ObjectKeyword=149]="ObjectKeyword",Me[Me.SatisfiesKeyword=150]="SatisfiesKeyword",Me[Me.SetKeyword=151]="SetKeyword",Me[Me.StringKeyword=152]="StringKeyword",Me[Me.SymbolKeyword=153]="SymbolKeyword",Me[Me.TypeKeyword=154]="TypeKeyword",Me[Me.UndefinedKeyword=155]="UndefinedKeyword",Me[Me.UniqueKeyword=156]="UniqueKeyword",Me[Me.UnknownKeyword=157]="UnknownKeyword",Me[Me.FromKeyword=158]="FromKeyword",Me[Me.GlobalKeyword=159]="GlobalKeyword",Me[Me.BigIntKeyword=160]="BigIntKeyword",Me[Me.OverrideKeyword=161]="OverrideKeyword",Me[Me.OfKeyword=162]="OfKeyword",Me[Me.QualifiedName=163]="QualifiedName",Me[Me.ComputedPropertyName=164]="ComputedPropertyName",Me[Me.TypeParameter=165]="TypeParameter",Me[Me.Parameter=166]="Parameter",Me[Me.Decorator=167]="Decorator",Me[Me.PropertySignature=168]="PropertySignature",Me[Me.PropertyDeclaration=169]="PropertyDeclaration",Me[Me.MethodSignature=170]="MethodSignature",Me[Me.MethodDeclaration=171]="MethodDeclaration",Me[Me.ClassStaticBlockDeclaration=172]="ClassStaticBlockDeclaration",Me[Me.Constructor=173]="Constructor",Me[Me.GetAccessor=174]="GetAccessor",Me[Me.SetAccessor=175]="SetAccessor",Me[Me.CallSignature=176]="CallSignature",Me[Me.ConstructSignature=177]="ConstructSignature",Me[Me.IndexSignature=178]="IndexSignature",Me[Me.TypePredicate=179]="TypePredicate",Me[Me.TypeReference=180]="TypeReference",Me[Me.FunctionType=181]="FunctionType",Me[Me.ConstructorType=182]="ConstructorType",Me[Me.TypeQuery=183]="TypeQuery",Me[Me.TypeLiteral=184]="TypeLiteral",Me[Me.ArrayType=185]="ArrayType",Me[Me.TupleType=186]="TupleType",Me[Me.OptionalType=187]="OptionalType",Me[Me.RestType=188]="RestType",Me[Me.UnionType=189]="UnionType",Me[Me.IntersectionType=190]="IntersectionType",Me[Me.ConditionalType=191]="ConditionalType",Me[Me.InferType=192]="InferType",Me[Me.ParenthesizedType=193]="ParenthesizedType",Me[Me.ThisType=194]="ThisType",Me[Me.TypeOperator=195]="TypeOperator",Me[Me.IndexedAccessType=196]="IndexedAccessType",Me[Me.MappedType=197]="MappedType",Me[Me.LiteralType=198]="LiteralType",Me[Me.NamedTupleMember=199]="NamedTupleMember",Me[Me.TemplateLiteralType=200]="TemplateLiteralType",Me[Me.TemplateLiteralTypeSpan=201]="TemplateLiteralTypeSpan",Me[Me.ImportType=202]="ImportType",Me[Me.ObjectBindingPattern=203]="ObjectBindingPattern",Me[Me.ArrayBindingPattern=204]="ArrayBindingPattern",Me[Me.BindingElement=205]="BindingElement",Me[Me.ArrayLiteralExpression=206]="ArrayLiteralExpression",Me[Me.ObjectLiteralExpression=207]="ObjectLiteralExpression",Me[Me.PropertyAccessExpression=208]="PropertyAccessExpression",Me[Me.ElementAccessExpression=209]="ElementAccessExpression",Me[Me.CallExpression=210]="CallExpression",Me[Me.NewExpression=211]="NewExpression",Me[Me.TaggedTemplateExpression=212]="TaggedTemplateExpression",Me[Me.TypeAssertionExpression=213]="TypeAssertionExpression",Me[Me.ParenthesizedExpression=214]="ParenthesizedExpression",Me[Me.FunctionExpression=215]="FunctionExpression",Me[Me.ArrowFunction=216]="ArrowFunction",Me[Me.DeleteExpression=217]="DeleteExpression",Me[Me.TypeOfExpression=218]="TypeOfExpression",Me[Me.VoidExpression=219]="VoidExpression",Me[Me.AwaitExpression=220]="AwaitExpression",Me[Me.PrefixUnaryExpression=221]="PrefixUnaryExpression",Me[Me.PostfixUnaryExpression=222]="PostfixUnaryExpression",Me[Me.BinaryExpression=223]="BinaryExpression",Me[Me.ConditionalExpression=224]="ConditionalExpression",Me[Me.TemplateExpression=225]="TemplateExpression",Me[Me.YieldExpression=226]="YieldExpression",Me[Me.SpreadElement=227]="SpreadElement",Me[Me.ClassExpression=228]="ClassExpression",Me[Me.OmittedExpression=229]="OmittedExpression",Me[Me.ExpressionWithTypeArguments=230]="ExpressionWithTypeArguments",Me[Me.AsExpression=231]="AsExpression",Me[Me.NonNullExpression=232]="NonNullExpression",Me[Me.MetaProperty=233]="MetaProperty",Me[Me.SyntheticExpression=234]="SyntheticExpression",Me[Me.SatisfiesExpression=235]="SatisfiesExpression",Me[Me.TemplateSpan=236]="TemplateSpan",Me[Me.SemicolonClassElement=237]="SemicolonClassElement",Me[Me.Block=238]="Block",Me[Me.EmptyStatement=239]="EmptyStatement",Me[Me.VariableStatement=240]="VariableStatement",Me[Me.ExpressionStatement=241]="ExpressionStatement",Me[Me.IfStatement=242]="IfStatement",Me[Me.DoStatement=243]="DoStatement",Me[Me.WhileStatement=244]="WhileStatement",Me[Me.ForStatement=245]="ForStatement",Me[Me.ForInStatement=246]="ForInStatement",Me[Me.ForOfStatement=247]="ForOfStatement",Me[Me.ContinueStatement=248]="ContinueStatement",Me[Me.BreakStatement=249]="BreakStatement",Me[Me.ReturnStatement=250]="ReturnStatement",Me[Me.WithStatement=251]="WithStatement",Me[Me.SwitchStatement=252]="SwitchStatement",Me[Me.LabeledStatement=253]="LabeledStatement",Me[Me.ThrowStatement=254]="ThrowStatement",Me[Me.TryStatement=255]="TryStatement",Me[Me.DebuggerStatement=256]="DebuggerStatement",Me[Me.VariableDeclaration=257]="VariableDeclaration",Me[Me.VariableDeclarationList=258]="VariableDeclarationList",Me[Me.FunctionDeclaration=259]="FunctionDeclaration",Me[Me.ClassDeclaration=260]="ClassDeclaration",Me[Me.InterfaceDeclaration=261]="InterfaceDeclaration",Me[Me.TypeAliasDeclaration=262]="TypeAliasDeclaration",Me[Me.EnumDeclaration=263]="EnumDeclaration",Me[Me.ModuleDeclaration=264]="ModuleDeclaration",Me[Me.ModuleBlock=265]="ModuleBlock",Me[Me.CaseBlock=266]="CaseBlock",Me[Me.NamespaceExportDeclaration=267]="NamespaceExportDeclaration",Me[Me.ImportEqualsDeclaration=268]="ImportEqualsDeclaration",Me[Me.ImportDeclaration=269]="ImportDeclaration",Me[Me.ImportClause=270]="ImportClause",Me[Me.NamespaceImport=271]="NamespaceImport",Me[Me.NamedImports=272]="NamedImports",Me[Me.ImportSpecifier=273]="ImportSpecifier",Me[Me.ExportAssignment=274]="ExportAssignment",Me[Me.ExportDeclaration=275]="ExportDeclaration",Me[Me.NamedExports=276]="NamedExports",Me[Me.NamespaceExport=277]="NamespaceExport",Me[Me.ExportSpecifier=278]="ExportSpecifier",Me[Me.MissingDeclaration=279]="MissingDeclaration",Me[Me.ExternalModuleReference=280]="ExternalModuleReference",Me[Me.JsxElement=281]="JsxElement",Me[Me.JsxSelfClosingElement=282]="JsxSelfClosingElement",Me[Me.JsxOpeningElement=283]="JsxOpeningElement",Me[Me.JsxClosingElement=284]="JsxClosingElement",Me[Me.JsxFragment=285]="JsxFragment",Me[Me.JsxOpeningFragment=286]="JsxOpeningFragment",Me[Me.JsxClosingFragment=287]="JsxClosingFragment",Me[Me.JsxAttribute=288]="JsxAttribute",Me[Me.JsxAttributes=289]="JsxAttributes",Me[Me.JsxSpreadAttribute=290]="JsxSpreadAttribute",Me[Me.JsxExpression=291]="JsxExpression",Me[Me.CaseClause=292]="CaseClause",Me[Me.DefaultClause=293]="DefaultClause",Me[Me.HeritageClause=294]="HeritageClause",Me[Me.CatchClause=295]="CatchClause",Me[Me.AssertClause=296]="AssertClause",Me[Me.AssertEntry=297]="AssertEntry",Me[Me.ImportTypeAssertionContainer=298]="ImportTypeAssertionContainer",Me[Me.PropertyAssignment=299]="PropertyAssignment",Me[Me.ShorthandPropertyAssignment=300]="ShorthandPropertyAssignment",Me[Me.SpreadAssignment=301]="SpreadAssignment",Me[Me.EnumMember=302]="EnumMember",Me[Me.UnparsedPrologue=303]="UnparsedPrologue",Me[Me.UnparsedPrepend=304]="UnparsedPrepend",Me[Me.UnparsedText=305]="UnparsedText",Me[Me.UnparsedInternalText=306]="UnparsedInternalText",Me[Me.UnparsedSyntheticReference=307]="UnparsedSyntheticReference",Me[Me.SourceFile=308]="SourceFile",Me[Me.Bundle=309]="Bundle",Me[Me.UnparsedSource=310]="UnparsedSource",Me[Me.InputFiles=311]="InputFiles",Me[Me.JSDocTypeExpression=312]="JSDocTypeExpression",Me[Me.JSDocNameReference=313]="JSDocNameReference",Me[Me.JSDocMemberName=314]="JSDocMemberName",Me[Me.JSDocAllType=315]="JSDocAllType",Me[Me.JSDocUnknownType=316]="JSDocUnknownType",Me[Me.JSDocNullableType=317]="JSDocNullableType",Me[Me.JSDocNonNullableType=318]="JSDocNonNullableType",Me[Me.JSDocOptionalType=319]="JSDocOptionalType",Me[Me.JSDocFunctionType=320]="JSDocFunctionType",Me[Me.JSDocVariadicType=321]="JSDocVariadicType",Me[Me.JSDocNamepathType=322]="JSDocNamepathType",Me[Me.JSDoc=323]="JSDoc",Me[Me.JSDocComment=323]="JSDocComment",Me[Me.JSDocText=324]="JSDocText",Me[Me.JSDocTypeLiteral=325]="JSDocTypeLiteral",Me[Me.JSDocSignature=326]="JSDocSignature",Me[Me.JSDocLink=327]="JSDocLink",Me[Me.JSDocLinkCode=328]="JSDocLinkCode",Me[Me.JSDocLinkPlain=329]="JSDocLinkPlain",Me[Me.JSDocTag=330]="JSDocTag",Me[Me.JSDocAugmentsTag=331]="JSDocAugmentsTag",Me[Me.JSDocImplementsTag=332]="JSDocImplementsTag",Me[Me.JSDocAuthorTag=333]="JSDocAuthorTag",Me[Me.JSDocDeprecatedTag=334]="JSDocDeprecatedTag",Me[Me.JSDocClassTag=335]="JSDocClassTag",Me[Me.JSDocPublicTag=336]="JSDocPublicTag",Me[Me.JSDocPrivateTag=337]="JSDocPrivateTag",Me[Me.JSDocProtectedTag=338]="JSDocProtectedTag",Me[Me.JSDocReadonlyTag=339]="JSDocReadonlyTag",Me[Me.JSDocOverrideTag=340]="JSDocOverrideTag",Me[Me.JSDocCallbackTag=341]="JSDocCallbackTag",Me[Me.JSDocOverloadTag=342]="JSDocOverloadTag",Me[Me.JSDocEnumTag=343]="JSDocEnumTag",Me[Me.JSDocParameterTag=344]="JSDocParameterTag",Me[Me.JSDocReturnTag=345]="JSDocReturnTag",Me[Me.JSDocThisTag=346]="JSDocThisTag",Me[Me.JSDocTypeTag=347]="JSDocTypeTag",Me[Me.JSDocTemplateTag=348]="JSDocTemplateTag",Me[Me.JSDocTypedefTag=349]="JSDocTypedefTag",Me[Me.JSDocSeeTag=350]="JSDocSeeTag",Me[Me.JSDocPropertyTag=351]="JSDocPropertyTag",Me[Me.JSDocThrowsTag=352]="JSDocThrowsTag",Me[Me.JSDocSatisfiesTag=353]="JSDocSatisfiesTag",Me[Me.SyntaxList=354]="SyntaxList",Me[Me.NotEmittedStatement=355]="NotEmittedStatement",Me[Me.PartiallyEmittedExpression=356]="PartiallyEmittedExpression",Me[Me.CommaListExpression=357]="CommaListExpression",Me[Me.MergeDeclarationMarker=358]="MergeDeclarationMarker",Me[Me.EndOfDeclarationMarker=359]="EndOfDeclarationMarker",Me[Me.SyntheticReferenceExpression=360]="SyntheticReferenceExpression",Me[Me.Count=361]="Count",Me[Me.FirstAssignment=63]="FirstAssignment",Me[Me.LastAssignment=78]="LastAssignment",Me[Me.FirstCompoundAssignment=64]="FirstCompoundAssignment",Me[Me.LastCompoundAssignment=78]="LastCompoundAssignment",Me[Me.FirstReservedWord=81]="FirstReservedWord",Me[Me.LastReservedWord=116]="LastReservedWord",Me[Me.FirstKeyword=81]="FirstKeyword",Me[Me.LastKeyword=162]="LastKeyword",Me[Me.FirstFutureReservedWord=117]="FirstFutureReservedWord",Me[Me.LastFutureReservedWord=125]="LastFutureReservedWord",Me[Me.FirstTypeNode=179]="FirstTypeNode",Me[Me.LastTypeNode=202]="LastTypeNode",Me[Me.FirstPunctuation=18]="FirstPunctuation",Me[Me.LastPunctuation=78]="LastPunctuation",Me[Me.FirstToken=0]="FirstToken",Me[Me.LastToken=162]="LastToken",Me[Me.FirstTriviaToken=2]="FirstTriviaToken",Me[Me.LastTriviaToken=7]="LastTriviaToken",Me[Me.FirstLiteralToken=8]="FirstLiteralToken",Me[Me.LastLiteralToken=14]="LastLiteralToken",Me[Me.FirstTemplateToken=14]="FirstTemplateToken",Me[Me.LastTemplateToken=17]="LastTemplateToken",Me[Me.FirstBinaryOperator=29]="FirstBinaryOperator",Me[Me.LastBinaryOperator=78]="LastBinaryOperator",Me[Me.FirstStatement=240]="FirstStatement",Me[Me.LastStatement=256]="LastStatement",Me[Me.FirstNode=163]="FirstNode",Me[Me.FirstJSDocNode=312]="FirstJSDocNode",Me[Me.LastJSDocNode=353]="LastJSDocNode",Me[Me.FirstJSDocTagNode=330]="FirstJSDocTagNode",Me[Me.LastJSDocTagNode=353]="LastJSDocTagNode",Me[Me.FirstContextualKeyword=126]="FirstContextualKeyword",Me[Me.LastContextualKeyword=162]="LastContextualKeyword",Me))(Td||{}),Pd=(Me=>(Me[Me.None=0]="None",Me[Me.Let=1]="Let",Me[Me.Const=2]="Const",Me[Me.NestedNamespace=4]="NestedNamespace",Me[Me.Synthesized=8]="Synthesized",Me[Me.Namespace=16]="Namespace",Me[Me.OptionalChain=32]="OptionalChain",Me[Me.ExportContext=64]="ExportContext",Me[Me.ContainsThis=128]="ContainsThis",Me[Me.HasImplicitReturn=256]="HasImplicitReturn",Me[Me.HasExplicitReturn=512]="HasExplicitReturn",Me[Me.GlobalAugmentation=1024]="GlobalAugmentation",Me[Me.HasAsyncFunctions=2048]="HasAsyncFunctions",Me[Me.DisallowInContext=4096]="DisallowInContext",Me[Me.YieldContext=8192]="YieldContext",Me[Me.DecoratorContext=16384]="DecoratorContext",Me[Me.AwaitContext=32768]="AwaitContext",Me[Me.DisallowConditionalTypesContext=65536]="DisallowConditionalTypesContext",Me[Me.ThisNodeHasError=131072]="ThisNodeHasError",Me[Me.JavaScriptFile=262144]="JavaScriptFile",Me[Me.ThisNodeOrAnySubNodesHasError=524288]="ThisNodeOrAnySubNodesHasError",Me[Me.HasAggregatedChildData=1048576]="HasAggregatedChildData",Me[Me.PossiblyContainsDynamicImport=2097152]="PossiblyContainsDynamicImport",Me[Me.PossiblyContainsImportMeta=4194304]="PossiblyContainsImportMeta",Me[Me.JSDoc=8388608]="JSDoc",Me[Me.Ambient=16777216]="Ambient",Me[Me.InWithStatement=33554432]="InWithStatement",Me[Me.JsonFile=67108864]="JsonFile",Me[Me.TypeCached=134217728]="TypeCached",Me[Me.Deprecated=268435456]="Deprecated",Me[Me.BlockScoped=3]="BlockScoped",Me[Me.ReachabilityCheckFlags=768]="ReachabilityCheckFlags",Me[Me.ReachabilityAndEmitFlags=2816]="ReachabilityAndEmitFlags",Me[Me.ContextFlags=50720768]="ContextFlags",Me[Me.TypeExcludesFlags=40960]="TypeExcludesFlags",Me[Me.PermanentlySetIncrementalFlags=6291456]="PermanentlySetIncrementalFlags",Me[Me.IdentifierHasExtendedUnicodeEscape=128]="IdentifierHasExtendedUnicodeEscape",Me[Me.IdentifierIsInJSDocNamespace=2048]="IdentifierIsInJSDocNamespace",Me))(Pd||{}),Qh=(Me=>(Me[Me.None=0]="None",Me[Me.Export=1]="Export",Me[Me.Ambient=2]="Ambient",Me[Me.Public=4]="Public",Me[Me.Private=8]="Private",Me[Me.Protected=16]="Protected",Me[Me.Static=32]="Static",Me[Me.Readonly=64]="Readonly",Me[Me.Accessor=128]="Accessor",Me[Me.Abstract=256]="Abstract",Me[Me.Async=512]="Async",Me[Me.Default=1024]="Default",Me[Me.Const=2048]="Const",Me[Me.HasComputedJSDocModifiers=4096]="HasComputedJSDocModifiers",Me[Me.Deprecated=8192]="Deprecated",Me[Me.Override=16384]="Override",Me[Me.In=32768]="In",Me[Me.Out=65536]="Out",Me[Me.Decorator=131072]="Decorator",Me[Me.HasComputedFlags=536870912]="HasComputedFlags",Me[Me.AccessibilityModifier=28]="AccessibilityModifier",Me[Me.ParameterPropertyModifier=16476]="ParameterPropertyModifier",Me[Me.NonPublicAccessibilityModifier=24]="NonPublicAccessibilityModifier",Me[Me.TypeScriptModifier=117086]="TypeScriptModifier",Me[Me.ExportDefault=1025]="ExportDefault",Me[Me.All=258047]="All",Me[Me.Modifier=126975]="Modifier",Me))(Qh||{}),Zh=(Me=>(Me[Me.None=0]="None",Me[Me.IntrinsicNamedElement=1]="IntrinsicNamedElement",Me[Me.IntrinsicIndexedElement=2]="IntrinsicIndexedElement",Me[Me.IntrinsicElement=3]="IntrinsicElement",Me))(Zh||{}),sA=(Me=>(Me[Me.Succeeded=1]="Succeeded",Me[Me.Failed=2]="Failed",Me[Me.Reported=4]="Reported",Me[Me.ReportsUnmeasurable=8]="ReportsUnmeasurable",Me[Me.ReportsUnreliable=16]="ReportsUnreliable",Me[Me.ReportsMask=24]="ReportsMask",Me))(sA||{}),oA=(Me=>(Me[Me.None=0]="None",Me[Me.Auto=1]="Auto",Me[Me.Loop=2]="Loop",Me[Me.Unique=3]="Unique",Me[Me.Node=4]="Node",Me[Me.KindMask=7]="KindMask",Me[Me.ReservedInNestedScopes=8]="ReservedInNestedScopes",Me[Me.Optimistic=16]="Optimistic",Me[Me.FileLevel=32]="FileLevel",Me[Me.AllowNameSubstitution=64]="AllowNameSubstitution",Me))(oA||{}),hA=(Me=>(Me[Me.None=0]="None",Me[Me.PrecedingLineBreak=1]="PrecedingLineBreak",Me[Me.PrecedingJSDocComment=2]="PrecedingJSDocComment",Me[Me.Unterminated=4]="Unterminated",Me[Me.ExtendedUnicodeEscape=8]="ExtendedUnicodeEscape",Me[Me.Scientific=16]="Scientific",Me[Me.Octal=32]="Octal",Me[Me.HexSpecifier=64]="HexSpecifier",Me[Me.BinarySpecifier=128]="BinarySpecifier",Me[Me.OctalSpecifier=256]="OctalSpecifier",Me[Me.ContainsSeparator=512]="ContainsSeparator",Me[Me.UnicodeEscape=1024]="UnicodeEscape",Me[Me.ContainsInvalidEscape=2048]="ContainsInvalidEscape",Me[Me.BinaryOrOctalSpecifier=384]="BinaryOrOctalSpecifier",Me[Me.NumericLiteralFlags=1008]="NumericLiteralFlags",Me[Me.TemplateLiteralLikeFlags=2048]="TemplateLiteralLikeFlags",Me))(hA||{}),eg=(Me=>(Me[Me.Unreachable=1]="Unreachable",Me[Me.Start=2]="Start",Me[Me.BranchLabel=4]="BranchLabel",Me[Me.LoopLabel=8]="LoopLabel",Me[Me.Assignment=16]="Assignment",Me[Me.TrueCondition=32]="TrueCondition",Me[Me.FalseCondition=64]="FalseCondition",Me[Me.SwitchClause=128]="SwitchClause",Me[Me.ArrayMutation=256]="ArrayMutation",Me[Me.Call=512]="Call",Me[Me.ReduceLabel=1024]="ReduceLabel",Me[Me.Referenced=2048]="Referenced",Me[Me.Shared=4096]="Shared",Me[Me.Label=12]="Label",Me[Me.Condition=96]="Condition",Me))(eg||{}),tg=(Me=>(Me[Me.ExpectError=0]="ExpectError",Me[Me.Ignore=1]="Ignore",Me))(tg||{}),rg=class{},ng=(Me=>(Me[Me.RootFile=0]="RootFile",Me[Me.SourceFromProjectReference=1]="SourceFromProjectReference",Me[Me.OutputFromProjectReference=2]="OutputFromProjectReference",Me[Me.Import=3]="Import",Me[Me.ReferenceFile=4]="ReferenceFile",Me[Me.TypeReferenceDirective=5]="TypeReferenceDirective",Me[Me.LibFile=6]="LibFile",Me[Me.LibReferenceDirective=7]="LibReferenceDirective",Me[Me.AutomaticTypeDirectiveFile=8]="AutomaticTypeDirectiveFile",Me))(ng||{}),ig=(Me=>(Me[Me.FilePreprocessingReferencedDiagnostic=0]="FilePreprocessingReferencedDiagnostic",Me[Me.FilePreprocessingFileExplainingDiagnostic=1]="FilePreprocessingFileExplainingDiagnostic",Me[Me.ResolutionDiagnostics=2]="ResolutionDiagnostics",Me))(ig||{}),sg=(Me=>(Me[Me.Js=0]="Js",Me[Me.Dts=1]="Dts",Me))(sg||{}),ag=(Me=>(Me[Me.Not=0]="Not",Me[Me.SafeModules=1]="SafeModules",Me[Me.Completely=2]="Completely",Me))(ag||{}),og=(Me=>(Me[Me.Success=0]="Success",Me[Me.DiagnosticsPresent_OutputsSkipped=1]="DiagnosticsPresent_OutputsSkipped",Me[Me.DiagnosticsPresent_OutputsGenerated=2]="DiagnosticsPresent_OutputsGenerated",Me[Me.InvalidProject_OutputsSkipped=3]="InvalidProject_OutputsSkipped",Me[Me.ProjectReferenceCycle_OutputsSkipped=4]="ProjectReferenceCycle_OutputsSkipped",Me))(og||{}),ug=(Me=>(Me[Me.Ok=0]="Ok",Me[Me.NeedsOverride=1]="NeedsOverride",Me[Me.HasInvalidOverride=2]="HasInvalidOverride",Me))(ug||{}),cg=(Me=>(Me[Me.None=0]="None",Me[Me.Literal=1]="Literal",Me[Me.Subtype=2]="Subtype",Me))(cg||{}),lg=(Me=>(Me[Me.None=0]="None",Me[Me.Signature=1]="Signature",Me[Me.NoConstraints=2]="NoConstraints",Me[Me.Completions=4]="Completions",Me[Me.SkipBindingPatterns=8]="SkipBindingPatterns",Me))(lg||{}),pg=(Me=>(Me[Me.None=0]="None",Me[Me.NoTruncation=1]="NoTruncation",Me[Me.WriteArrayAsGenericType=2]="WriteArrayAsGenericType",Me[Me.GenerateNamesForShadowedTypeParams=4]="GenerateNamesForShadowedTypeParams",Me[Me.UseStructuralFallback=8]="UseStructuralFallback",Me[Me.ForbidIndexedAccessSymbolReferences=16]="ForbidIndexedAccessSymbolReferences",Me[Me.WriteTypeArgumentsOfSignature=32]="WriteTypeArgumentsOfSignature",Me[Me.UseFullyQualifiedType=64]="UseFullyQualifiedType",Me[Me.UseOnlyExternalAliasing=128]="UseOnlyExternalAliasing",Me[Me.SuppressAnyReturnType=256]="SuppressAnyReturnType",Me[Me.WriteTypeParametersInQualifiedName=512]="WriteTypeParametersInQualifiedName",Me[Me.MultilineObjectLiterals=1024]="MultilineObjectLiterals",Me[Me.WriteClassExpressionAsTypeLiteral=2048]="WriteClassExpressionAsTypeLiteral",Me[Me.UseTypeOfFunction=4096]="UseTypeOfFunction",Me[Me.OmitParameterModifiers=8192]="OmitParameterModifiers",Me[Me.UseAliasDefinedOutsideCurrentScope=16384]="UseAliasDefinedOutsideCurrentScope",Me[Me.UseSingleQuotesForStringLiteralType=268435456]="UseSingleQuotesForStringLiteralType",Me[Me.NoTypeReduction=536870912]="NoTypeReduction",Me[Me.OmitThisParameter=33554432]="OmitThisParameter",Me[Me.AllowThisInObjectLiteral=32768]="AllowThisInObjectLiteral",Me[Me.AllowQualifiedNameInPlaceOfIdentifier=65536]="AllowQualifiedNameInPlaceOfIdentifier",Me[Me.AllowAnonymousIdentifier=131072]="AllowAnonymousIdentifier",Me[Me.AllowEmptyUnionOrIntersection=262144]="AllowEmptyUnionOrIntersection",Me[Me.AllowEmptyTuple=524288]="AllowEmptyTuple",Me[Me.AllowUniqueESSymbolType=1048576]="AllowUniqueESSymbolType",Me[Me.AllowEmptyIndexInfoType=2097152]="AllowEmptyIndexInfoType",Me[Me.WriteComputedProps=1073741824]="WriteComputedProps",Me[Me.AllowNodeModulesRelativePaths=67108864]="AllowNodeModulesRelativePaths",Me[Me.DoNotIncludeSymbolChain=134217728]="DoNotIncludeSymbolChain",Me[Me.IgnoreErrors=70221824]="IgnoreErrors",Me[Me.InObjectTypeLiteral=4194304]="InObjectTypeLiteral",Me[Me.InTypeAlias=8388608]="InTypeAlias",Me[Me.InInitialEntityName=16777216]="InInitialEntityName",Me))(pg||{}),fg=(Me=>(Me[Me.None=0]="None",Me[Me.NoTruncation=1]="NoTruncation",Me[Me.WriteArrayAsGenericType=2]="WriteArrayAsGenericType",Me[Me.UseStructuralFallback=8]="UseStructuralFallback",Me[Me.WriteTypeArgumentsOfSignature=32]="WriteTypeArgumentsOfSignature",Me[Me.UseFullyQualifiedType=64]="UseFullyQualifiedType",Me[Me.SuppressAnyReturnType=256]="SuppressAnyReturnType",Me[Me.MultilineObjectLiterals=1024]="MultilineObjectLiterals",Me[Me.WriteClassExpressionAsTypeLiteral=2048]="WriteClassExpressionAsTypeLiteral",Me[Me.UseTypeOfFunction=4096]="UseTypeOfFunction",Me[Me.OmitParameterModifiers=8192]="OmitParameterModifiers",Me[Me.UseAliasDefinedOutsideCurrentScope=16384]="UseAliasDefinedOutsideCurrentScope",Me[Me.UseSingleQuotesForStringLiteralType=268435456]="UseSingleQuotesForStringLiteralType",Me[Me.NoTypeReduction=536870912]="NoTypeReduction",Me[Me.OmitThisParameter=33554432]="OmitThisParameter",Me[Me.AllowUniqueESSymbolType=1048576]="AllowUniqueESSymbolType",Me[Me.AddUndefined=131072]="AddUndefined",Me[Me.WriteArrowStyleSignature=262144]="WriteArrowStyleSignature",Me[Me.InArrayType=524288]="InArrayType",Me[Me.InElementType=2097152]="InElementType",Me[Me.InFirstTypeArgument=4194304]="InFirstTypeArgument",Me[Me.InTypeAlias=8388608]="InTypeAlias",Me[Me.NodeBuilderFlagsMask=848330091]="NodeBuilderFlagsMask",Me))(fg||{}),dg=(Me=>(Me[Me.None=0]="None",Me[Me.WriteTypeParametersOrArguments=1]="WriteTypeParametersOrArguments",Me[Me.UseOnlyExternalAliasing=2]="UseOnlyExternalAliasing",Me[Me.AllowAnyNodeKind=4]="AllowAnyNodeKind",Me[Me.UseAliasDefinedOutsideCurrentScope=8]="UseAliasDefinedOutsideCurrentScope",Me[Me.WriteComputedProps=16]="WriteComputedProps",Me[Me.DoNotIncludeSymbolChain=32]="DoNotIncludeSymbolChain",Me))(dg||{}),hg=(Me=>(Me[Me.Accessible=0]="Accessible",Me[Me.NotAccessible=1]="NotAccessible",Me[Me.CannotBeNamed=2]="CannotBeNamed",Me))(hg||{}),Ag=(Me=>(Me[Me.UnionOrIntersection=0]="UnionOrIntersection",Me[Me.Spread=1]="Spread",Me))(Ag||{}),mg=(Me=>(Me[Me.This=0]="This",Me[Me.Identifier=1]="Identifier",Me[Me.AssertsThis=2]="AssertsThis",Me[Me.AssertsIdentifier=3]="AssertsIdentifier",Me))(mg||{}),gg=(Me=>(Me[Me.Unknown=0]="Unknown",Me[Me.TypeWithConstructSignatureAndValue=1]="TypeWithConstructSignatureAndValue",Me[Me.VoidNullableOrNeverType=2]="VoidNullableOrNeverType",Me[Me.NumberLikeType=3]="NumberLikeType",Me[Me.BigIntLikeType=4]="BigIntLikeType",Me[Me.StringLikeType=5]="StringLikeType",Me[Me.BooleanType=6]="BooleanType",Me[Me.ArrayLikeType=7]="ArrayLikeType",Me[Me.ESSymbolType=8]="ESSymbolType",Me[Me.Promise=9]="Promise",Me[Me.TypeWithCallSignature=10]="TypeWithCallSignature",Me[Me.ObjectType=11]="ObjectType",Me))(gg||{}),_g=(Me=>(Me[Me.None=0]="None",Me[Me.FunctionScopedVariable=1]="FunctionScopedVariable",Me[Me.BlockScopedVariable=2]="BlockScopedVariable",Me[Me.Property=4]="Property",Me[Me.EnumMember=8]="EnumMember",Me[Me.Function=16]="Function",Me[Me.Class=32]="Class",Me[Me.Interface=64]="Interface",Me[Me.ConstEnum=128]="ConstEnum",Me[Me.RegularEnum=256]="RegularEnum",Me[Me.ValueModule=512]="ValueModule",Me[Me.NamespaceModule=1024]="NamespaceModule",Me[Me.TypeLiteral=2048]="TypeLiteral",Me[Me.ObjectLiteral=4096]="ObjectLiteral",Me[Me.Method=8192]="Method",Me[Me.Constructor=16384]="Constructor",Me[Me.GetAccessor=32768]="GetAccessor",Me[Me.SetAccessor=65536]="SetAccessor",Me[Me.Signature=131072]="Signature",Me[Me.TypeParameter=262144]="TypeParameter",Me[Me.TypeAlias=524288]="TypeAlias",Me[Me.ExportValue=1048576]="ExportValue",Me[Me.Alias=2097152]="Alias",Me[Me.Prototype=4194304]="Prototype",Me[Me.ExportStar=8388608]="ExportStar",Me[Me.Optional=16777216]="Optional",Me[Me.Transient=33554432]="Transient",Me[Me.Assignment=67108864]="Assignment",Me[Me.ModuleExports=134217728]="ModuleExports",Me[Me.All=67108863]="All",Me[Me.Enum=384]="Enum",Me[Me.Variable=3]="Variable",Me[Me.Value=111551]="Value",Me[Me.Type=788968]="Type",Me[Me.Namespace=1920]="Namespace",Me[Me.Module=1536]="Module",Me[Me.Accessor=98304]="Accessor",Me[Me.FunctionScopedVariableExcludes=111550]="FunctionScopedVariableExcludes",Me[Me.BlockScopedVariableExcludes=111551]="BlockScopedVariableExcludes",Me[Me.ParameterExcludes=111551]="ParameterExcludes",Me[Me.PropertyExcludes=0]="PropertyExcludes",Me[Me.EnumMemberExcludes=900095]="EnumMemberExcludes",Me[Me.FunctionExcludes=110991]="FunctionExcludes",Me[Me.ClassExcludes=899503]="ClassExcludes",Me[Me.InterfaceExcludes=788872]="InterfaceExcludes",Me[Me.RegularEnumExcludes=899327]="RegularEnumExcludes",Me[Me.ConstEnumExcludes=899967]="ConstEnumExcludes",Me[Me.ValueModuleExcludes=110735]="ValueModuleExcludes",Me[Me.NamespaceModuleExcludes=0]="NamespaceModuleExcludes",Me[Me.MethodExcludes=103359]="MethodExcludes",Me[Me.GetAccessorExcludes=46015]="GetAccessorExcludes",Me[Me.SetAccessorExcludes=78783]="SetAccessorExcludes",Me[Me.AccessorExcludes=13247]="AccessorExcludes",Me[Me.TypeParameterExcludes=526824]="TypeParameterExcludes",Me[Me.TypeAliasExcludes=788968]="TypeAliasExcludes",Me[Me.AliasExcludes=2097152]="AliasExcludes",Me[Me.ModuleMember=2623475]="ModuleMember",Me[Me.ExportHasLocal=944]="ExportHasLocal",Me[Me.BlockScoped=418]="BlockScoped",Me[Me.PropertyOrAccessor=98308]="PropertyOrAccessor",Me[Me.ClassMember=106500]="ClassMember",Me[Me.ExportSupportsDefaultModifier=112]="ExportSupportsDefaultModifier",Me[Me.ExportDoesNotSupportDefaultModifier=-113]="ExportDoesNotSupportDefaultModifier",Me[Me.Classifiable=2885600]="Classifiable",Me[Me.LateBindingContainer=6256]="LateBindingContainer",Me))(_g||{}),yg=(Me=>(Me[Me.Numeric=0]="Numeric",Me[Me.Literal=1]="Literal",Me))(yg||{}),vg=(Me=>(Me[Me.None=0]="None",Me[Me.Instantiated=1]="Instantiated",Me[Me.SyntheticProperty=2]="SyntheticProperty",Me[Me.SyntheticMethod=4]="SyntheticMethod",Me[Me.Readonly=8]="Readonly",Me[Me.ReadPartial=16]="ReadPartial",Me[Me.WritePartial=32]="WritePartial",Me[Me.HasNonUniformType=64]="HasNonUniformType",Me[Me.HasLiteralType=128]="HasLiteralType",Me[Me.ContainsPublic=256]="ContainsPublic",Me[Me.ContainsProtected=512]="ContainsProtected",Me[Me.ContainsPrivate=1024]="ContainsPrivate",Me[Me.ContainsStatic=2048]="ContainsStatic",Me[Me.Late=4096]="Late",Me[Me.ReverseMapped=8192]="ReverseMapped",Me[Me.OptionalParameter=16384]="OptionalParameter",Me[Me.RestParameter=32768]="RestParameter",Me[Me.DeferredType=65536]="DeferredType",Me[Me.HasNeverType=131072]="HasNeverType",Me[Me.Mapped=262144]="Mapped",Me[Me.StripOptional=524288]="StripOptional",Me[Me.Unresolved=1048576]="Unresolved",Me[Me.Synthetic=6]="Synthetic",Me[Me.Discriminant=192]="Discriminant",Me[Me.Partial=48]="Partial",Me))(vg||{}),Eg=(Me=>(Me.Call="__call",Me.Constructor="__constructor",Me.New="__new",Me.Index="__index",Me.ExportStar="__export",Me.Global="__global",Me.Missing="__missing",Me.Type="__type",Me.Object="__object",Me.JSXAttributes="__jsxAttributes",Me.Class="__class",Me.Function="__function",Me.Computed="__computed",Me.Resolving="__resolving__",Me.ExportEquals="export=",Me.Default="default",Me.This="this",Me))(Eg||{}),bg=(Me=>(Me[Me.None=0]="None",Me[Me.TypeChecked=1]="TypeChecked",Me[Me.LexicalThis=2]="LexicalThis",Me[Me.CaptureThis=4]="CaptureThis",Me[Me.CaptureNewTarget=8]="CaptureNewTarget",Me[Me.SuperInstance=16]="SuperInstance",Me[Me.SuperStatic=32]="SuperStatic",Me[Me.ContextChecked=64]="ContextChecked",Me[Me.MethodWithSuperPropertyAccessInAsync=128]="MethodWithSuperPropertyAccessInAsync",Me[Me.MethodWithSuperPropertyAssignmentInAsync=256]="MethodWithSuperPropertyAssignmentInAsync",Me[Me.CaptureArguments=512]="CaptureArguments",Me[Me.EnumValuesComputed=1024]="EnumValuesComputed",Me[Me.LexicalModuleMergesWithClass=2048]="LexicalModuleMergesWithClass",Me[Me.LoopWithCapturedBlockScopedBinding=4096]="LoopWithCapturedBlockScopedBinding",Me[Me.ContainsCapturedBlockScopeBinding=8192]="ContainsCapturedBlockScopeBinding",Me[Me.CapturedBlockScopedBinding=16384]="CapturedBlockScopedBinding",Me[Me.BlockScopedBindingInLoop=32768]="BlockScopedBindingInLoop",Me[Me.ClassWithBodyScopedClassBinding=65536]="ClassWithBodyScopedClassBinding",Me[Me.BodyScopedClassBinding=131072]="BodyScopedClassBinding",Me[Me.NeedsLoopOutParameter=262144]="NeedsLoopOutParameter",Me[Me.AssignmentsMarked=524288]="AssignmentsMarked",Me[Me.ClassWithConstructorReference=1048576]="ClassWithConstructorReference",Me[Me.ConstructorReferenceInClass=2097152]="ConstructorReferenceInClass",Me[Me.ContainsClassWithPrivateIdentifiers=4194304]="ContainsClassWithPrivateIdentifiers",Me[Me.ContainsSuperPropertyInStaticInitializer=8388608]="ContainsSuperPropertyInStaticInitializer",Me[Me.InCheckIdentifier=16777216]="InCheckIdentifier",Me))(bg||{}),Cg=(Me=>(Me[Me.Any=1]="Any",Me[Me.Unknown=2]="Unknown",Me[Me.String=4]="String",Me[Me.Number=8]="Number",Me[Me.Boolean=16]="Boolean",Me[Me.Enum=32]="Enum",Me[Me.BigInt=64]="BigInt",Me[Me.StringLiteral=128]="StringLiteral",Me[Me.NumberLiteral=256]="NumberLiteral",Me[Me.BooleanLiteral=512]="BooleanLiteral",Me[Me.EnumLiteral=1024]="EnumLiteral",Me[Me.BigIntLiteral=2048]="BigIntLiteral",Me[Me.ESSymbol=4096]="ESSymbol",Me[Me.UniqueESSymbol=8192]="UniqueESSymbol",Me[Me.Void=16384]="Void",Me[Me.Undefined=32768]="Undefined",Me[Me.Null=65536]="Null",Me[Me.Never=131072]="Never",Me[Me.TypeParameter=262144]="TypeParameter",Me[Me.Object=524288]="Object",Me[Me.Union=1048576]="Union",Me[Me.Intersection=2097152]="Intersection",Me[Me.Index=4194304]="Index",Me[Me.IndexedAccess=8388608]="IndexedAccess",Me[Me.Conditional=16777216]="Conditional",Me[Me.Substitution=33554432]="Substitution",Me[Me.NonPrimitive=67108864]="NonPrimitive",Me[Me.TemplateLiteral=134217728]="TemplateLiteral",Me[Me.StringMapping=268435456]="StringMapping",Me[Me.AnyOrUnknown=3]="AnyOrUnknown",Me[Me.Nullable=98304]="Nullable",Me[Me.Literal=2944]="Literal",Me[Me.Unit=109472]="Unit",Me[Me.Freshable=2976]="Freshable",Me[Me.StringOrNumberLiteral=384]="StringOrNumberLiteral",Me[Me.StringOrNumberLiteralOrUnique=8576]="StringOrNumberLiteralOrUnique",Me[Me.DefinitelyFalsy=117632]="DefinitelyFalsy",Me[Me.PossiblyFalsy=117724]="PossiblyFalsy",Me[Me.Intrinsic=67359327]="Intrinsic",Me[Me.Primitive=134348796]="Primitive",Me[Me.StringLike=402653316]="StringLike",Me[Me.NumberLike=296]="NumberLike",Me[Me.BigIntLike=2112]="BigIntLike",Me[Me.BooleanLike=528]="BooleanLike",Me[Me.EnumLike=1056]="EnumLike",Me[Me.ESSymbolLike=12288]="ESSymbolLike",Me[Me.VoidLike=49152]="VoidLike",Me[Me.DefinitelyNonNullable=470302716]="DefinitelyNonNullable",Me[Me.DisjointDomains=469892092]="DisjointDomains",Me[Me.UnionOrIntersection=3145728]="UnionOrIntersection",Me[Me.StructuredType=3670016]="StructuredType",Me[Me.TypeVariable=8650752]="TypeVariable",Me[Me.InstantiableNonPrimitive=58982400]="InstantiableNonPrimitive",Me[Me.InstantiablePrimitive=406847488]="InstantiablePrimitive",Me[Me.Instantiable=465829888]="Instantiable",Me[Me.StructuredOrInstantiable=469499904]="StructuredOrInstantiable",Me[Me.ObjectFlagsType=3899393]="ObjectFlagsType",Me[Me.Simplifiable=25165824]="Simplifiable",Me[Me.Singleton=67358815]="Singleton",Me[Me.Narrowable=536624127]="Narrowable",Me[Me.IncludesMask=205258751]="IncludesMask",Me[Me.IncludesMissingType=262144]="IncludesMissingType",Me[Me.IncludesNonWideningType=4194304]="IncludesNonWideningType",Me[Me.IncludesWildcard=8388608]="IncludesWildcard",Me[Me.IncludesEmptyObject=16777216]="IncludesEmptyObject",Me[Me.IncludesInstantiable=33554432]="IncludesInstantiable",Me[Me.NotPrimitiveUnion=36323363]="NotPrimitiveUnion",Me))(Cg||{}),Dg=(Me=>(Me[Me.None=0]="None",Me[Me.Class=1]="Class",Me[Me.Interface=2]="Interface",Me[Me.Reference=4]="Reference",Me[Me.Tuple=8]="Tuple",Me[Me.Anonymous=16]="Anonymous",Me[Me.Mapped=32]="Mapped",Me[Me.Instantiated=64]="Instantiated",Me[Me.ObjectLiteral=128]="ObjectLiteral",Me[Me.EvolvingArray=256]="EvolvingArray",Me[Me.ObjectLiteralPatternWithComputedProperties=512]="ObjectLiteralPatternWithComputedProperties",Me[Me.ReverseMapped=1024]="ReverseMapped",Me[Me.JsxAttributes=2048]="JsxAttributes",Me[Me.JSLiteral=4096]="JSLiteral",Me[Me.FreshLiteral=8192]="FreshLiteral",Me[Me.ArrayLiteral=16384]="ArrayLiteral",Me[Me.PrimitiveUnion=32768]="PrimitiveUnion",Me[Me.ContainsWideningType=65536]="ContainsWideningType",Me[Me.ContainsObjectOrArrayLiteral=131072]="ContainsObjectOrArrayLiteral",Me[Me.NonInferrableType=262144]="NonInferrableType",Me[Me.CouldContainTypeVariablesComputed=524288]="CouldContainTypeVariablesComputed",Me[Me.CouldContainTypeVariables=1048576]="CouldContainTypeVariables",Me[Me.ClassOrInterface=3]="ClassOrInterface",Me[Me.RequiresWidening=196608]="RequiresWidening",Me[Me.PropagatingFlags=458752]="PropagatingFlags",Me[Me.ObjectTypeKindMask=1343]="ObjectTypeKindMask",Me[Me.ContainsSpread=2097152]="ContainsSpread",Me[Me.ObjectRestType=4194304]="ObjectRestType",Me[Me.InstantiationExpressionType=8388608]="InstantiationExpressionType",Me[Me.IsClassInstanceClone=16777216]="IsClassInstanceClone",Me[Me.IdenticalBaseTypeCalculated=33554432]="IdenticalBaseTypeCalculated",Me[Me.IdenticalBaseTypeExists=67108864]="IdenticalBaseTypeExists",Me[Me.IsGenericTypeComputed=2097152]="IsGenericTypeComputed",Me[Me.IsGenericObjectType=4194304]="IsGenericObjectType",Me[Me.IsGenericIndexType=8388608]="IsGenericIndexType",Me[Me.IsGenericType=12582912]="IsGenericType",Me[Me.ContainsIntersections=16777216]="ContainsIntersections",Me[Me.IsUnknownLikeUnionComputed=33554432]="IsUnknownLikeUnionComputed",Me[Me.IsUnknownLikeUnion=67108864]="IsUnknownLikeUnion",Me[Me.IsNeverIntersectionComputed=16777216]="IsNeverIntersectionComputed",Me[Me.IsNeverIntersection=33554432]="IsNeverIntersection",Me))(Dg||{}),wg=(Me=>(Me[Me.Invariant=0]="Invariant",Me[Me.Covariant=1]="Covariant",Me[Me.Contravariant=2]="Contravariant",Me[Me.Bivariant=3]="Bivariant",Me[Me.Independent=4]="Independent",Me[Me.VarianceMask=7]="VarianceMask",Me[Me.Unmeasurable=8]="Unmeasurable",Me[Me.Unreliable=16]="Unreliable",Me[Me.AllowsStructuralFallback=24]="AllowsStructuralFallback",Me))(wg||{}),Sg=(Me=>(Me[Me.Required=1]="Required",Me[Me.Optional=2]="Optional",Me[Me.Rest=4]="Rest",Me[Me.Variadic=8]="Variadic",Me[Me.Fixed=3]="Fixed",Me[Me.Variable=12]="Variable",Me[Me.NonRequired=14]="NonRequired",Me[Me.NonRest=11]="NonRest",Me))(Sg||{}),Ig=(Me=>(Me[Me.None=0]="None",Me[Me.IncludeUndefined=1]="IncludeUndefined",Me[Me.NoIndexSignatures=2]="NoIndexSignatures",Me[Me.Writing=4]="Writing",Me[Me.CacheSymbol=8]="CacheSymbol",Me[Me.NoTupleBoundsCheck=16]="NoTupleBoundsCheck",Me[Me.ExpressionPosition=32]="ExpressionPosition",Me[Me.ReportDeprecated=64]="ReportDeprecated",Me[Me.SuppressNoImplicitAnyError=128]="SuppressNoImplicitAnyError",Me[Me.Contextual=256]="Contextual",Me[Me.Persistent=1]="Persistent",Me))(Ig||{}),xg=(Me=>(Me[Me.Component=0]="Component",Me[Me.Function=1]="Function",Me[Me.Mixed=2]="Mixed",Me))(xg||{}),kg=(Me=>(Me[Me.Call=0]="Call",Me[Me.Construct=1]="Construct",Me))(kg||{}),Bg=(Me=>(Me[Me.None=0]="None",Me[Me.HasRestParameter=1]="HasRestParameter",Me[Me.HasLiteralTypes=2]="HasLiteralTypes",Me[Me.Abstract=4]="Abstract",Me[Me.IsInnerCallChain=8]="IsInnerCallChain",Me[Me.IsOuterCallChain=16]="IsOuterCallChain",Me[Me.IsUntypedSignatureInJSFile=32]="IsUntypedSignatureInJSFile",Me[Me.PropagatingFlags=39]="PropagatingFlags",Me[Me.CallChainFlags=24]="CallChainFlags",Me))(Bg||{}),Tg=(Me=>(Me[Me.String=0]="String",Me[Me.Number=1]="Number",Me))(Tg||{}),Fg=(Me=>(Me[Me.Simple=0]="Simple",Me[Me.Array=1]="Array",Me[Me.Deferred=2]="Deferred",Me[Me.Function=3]="Function",Me[Me.Composite=4]="Composite",Me[Me.Merged=5]="Merged",Me))(Fg||{}),Ng=(Me=>(Me[Me.None=0]="None",Me[Me.NakedTypeVariable=1]="NakedTypeVariable",Me[Me.SpeculativeTuple=2]="SpeculativeTuple",Me[Me.SubstituteSource=4]="SubstituteSource",Me[Me.HomomorphicMappedType=8]="HomomorphicMappedType",Me[Me.PartialHomomorphicMappedType=16]="PartialHomomorphicMappedType",Me[Me.MappedTypeConstraint=32]="MappedTypeConstraint",Me[Me.ContravariantConditional=64]="ContravariantConditional",Me[Me.ReturnType=128]="ReturnType",Me[Me.LiteralKeyof=256]="LiteralKeyof",Me[Me.NoConstraints=512]="NoConstraints",Me[Me.AlwaysStrict=1024]="AlwaysStrict",Me[Me.MaxValue=2048]="MaxValue",Me[Me.PriorityImpliesCombination=416]="PriorityImpliesCombination",Me[Me.Circularity=-1]="Circularity",Me))(Ng||{}),Qg=(Me=>(Me[Me.None=0]="None",Me[Me.NoDefault=1]="NoDefault",Me[Me.AnyDefault=2]="AnyDefault",Me[Me.SkippedGenericFunction=4]="SkippedGenericFunction",Me))(Qg||{}),Rg=(Me=>(Me[Me.False=0]="False",Me[Me.Unknown=1]="Unknown",Me[Me.Maybe=3]="Maybe",Me[Me.True=-1]="True",Me))(Rg||{}),Pg=(Me=>(Me[Me.None=0]="None",Me[Me.ExportsProperty=1]="ExportsProperty",Me[Me.ModuleExports=2]="ModuleExports",Me[Me.PrototypeProperty=3]="PrototypeProperty",Me[Me.ThisProperty=4]="ThisProperty",Me[Me.Property=5]="Property",Me[Me.Prototype=6]="Prototype",Me[Me.ObjectDefinePropertyValue=7]="ObjectDefinePropertyValue",Me[Me.ObjectDefinePropertyExports=8]="ObjectDefinePropertyExports",Me[Me.ObjectDefinePrototypeProperty=9]="ObjectDefinePrototypeProperty",Me))(Pg||{}),Og=(Me=>(Me[Me.Warning=0]="Warning",Me[Me.Error=1]="Error",Me[Me.Suggestion=2]="Suggestion",Me[Me.Message=3]="Message",Me))(Og||{}),Lg=(Me=>(Me[Me.Classic=1]="Classic",Me[Me.NodeJs=2]="NodeJs",Me[Me.Node10=2]="Node10",Me[Me.Node16=3]="Node16",Me[Me.NodeNext=99]="NodeNext",Me[Me.Bundler=100]="Bundler",Me))(Lg||{}),Mg=(Me=>(Me[Me.Legacy=1]="Legacy",Me[Me.Auto=2]="Auto",Me[Me.Force=3]="Force",Me))(Mg||{}),jg=(Me=>(Me[Me.FixedPollingInterval=0]="FixedPollingInterval",Me[Me.PriorityPollingInterval=1]="PriorityPollingInterval",Me[Me.DynamicPriorityPolling=2]="DynamicPriorityPolling",Me[Me.FixedChunkSizePolling=3]="FixedChunkSizePolling",Me[Me.UseFsEvents=4]="UseFsEvents",Me[Me.UseFsEventsOnParentDirectory=5]="UseFsEventsOnParentDirectory",Me))(jg||{}),Ug=(Me=>(Me[Me.UseFsEvents=0]="UseFsEvents",Me[Me.FixedPollingInterval=1]="FixedPollingInterval",Me[Me.DynamicPriorityPolling=2]="DynamicPriorityPolling",Me[Me.FixedChunkSizePolling=3]="FixedChunkSizePolling",Me))(Ug||{}),Gg=(Me=>(Me[Me.FixedInterval=0]="FixedInterval",Me[Me.PriorityInterval=1]="PriorityInterval",Me[Me.DynamicPriority=2]="DynamicPriority",Me[Me.FixedChunkSize=3]="FixedChunkSize",Me))(Gg||{}),Vg=(Me=>(Me[Me.None=0]="None",Me[Me.CommonJS=1]="CommonJS",Me[Me.AMD=2]="AMD",Me[Me.UMD=3]="UMD",Me[Me.System=4]="System",Me[Me.ES2015=5]="ES2015",Me[Me.ES2020=6]="ES2020",Me[Me.ES2022=7]="ES2022",Me[Me.ESNext=99]="ESNext",Me[Me.Node16=100]="Node16",Me[Me.NodeNext=199]="NodeNext",Me))(Vg||{}),Hg=(Me=>(Me[Me.None=0]="None",Me[Me.Preserve=1]="Preserve",Me[Me.React=2]="React",Me[Me.ReactNative=3]="ReactNative",Me[Me.ReactJSX=4]="ReactJSX",Me[Me.ReactJSXDev=5]="ReactJSXDev",Me))(Hg||{}),qg=(Me=>(Me[Me.Remove=0]="Remove",Me[Me.Preserve=1]="Preserve",Me[Me.Error=2]="Error",Me))(qg||{}),Jg=(Me=>(Me[Me.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",Me[Me.LineFeed=1]="LineFeed",Me))(Jg||{}),$g=(Me=>(Me[Me.Unknown=0]="Unknown",Me[Me.JS=1]="JS",Me[Me.JSX=2]="JSX",Me[Me.TS=3]="TS",Me[Me.TSX=4]="TSX",Me[Me.External=5]="External",Me[Me.JSON=6]="JSON",Me[Me.Deferred=7]="Deferred",Me))($g||{}),Yg=(Me=>(Me[Me.ES3=0]="ES3",Me[Me.ES5=1]="ES5",Me[Me.ES2015=2]="ES2015",Me[Me.ES2016=3]="ES2016",Me[Me.ES2017=4]="ES2017",Me[Me.ES2018=5]="ES2018",Me[Me.ES2019=6]="ES2019",Me[Me.ES2020=7]="ES2020",Me[Me.ES2021=8]="ES2021",Me[Me.ES2022=9]="ES2022",Me[Me.ESNext=99]="ESNext",Me[Me.JSON=100]="JSON",Me[Me.Latest=99]="Latest",Me))(Yg||{}),Wg=(Me=>(Me[Me.Standard=0]="Standard",Me[Me.JSX=1]="JSX",Me))(Wg||{}),Kg=(Me=>(Me[Me.None=0]="None",Me[Me.Recursive=1]="Recursive",Me))(Kg||{}),zg=(Me=>(Me[Me.nullCharacter=0]="nullCharacter",Me[Me.maxAsciiCharacter=127]="maxAsciiCharacter",Me[Me.lineFeed=10]="lineFeed",Me[Me.carriageReturn=13]="carriageReturn",Me[Me.lineSeparator=8232]="lineSeparator",Me[Me.paragraphSeparator=8233]="paragraphSeparator",Me[Me.nextLine=133]="nextLine",Me[Me.space=32]="space",Me[Me.nonBreakingSpace=160]="nonBreakingSpace",Me[Me.enQuad=8192]="enQuad",Me[Me.emQuad=8193]="emQuad",Me[Me.enSpace=8194]="enSpace",Me[Me.emSpace=8195]="emSpace",Me[Me.threePerEmSpace=8196]="threePerEmSpace",Me[Me.fourPerEmSpace=8197]="fourPerEmSpace",Me[Me.sixPerEmSpace=8198]="sixPerEmSpace",Me[Me.figureSpace=8199]="figureSpace",Me[Me.punctuationSpace=8200]="punctuationSpace",Me[Me.thinSpace=8201]="thinSpace",Me[Me.hairSpace=8202]="hairSpace",Me[Me.zeroWidthSpace=8203]="zeroWidthSpace",Me[Me.narrowNoBreakSpace=8239]="narrowNoBreakSpace",Me[Me.ideographicSpace=12288]="ideographicSpace",Me[Me.mathematicalSpace=8287]="mathematicalSpace",Me[Me.ogham=5760]="ogham",Me[Me._=95]="_",Me[Me.$=36]="$",Me[Me._0=48]="_0",Me[Me._1=49]="_1",Me[Me._2=50]="_2",Me[Me._3=51]="_3",Me[Me._4=52]="_4",Me[Me._5=53]="_5",Me[Me._6=54]="_6",Me[Me._7=55]="_7",Me[Me._8=56]="_8",Me[Me._9=57]="_9",Me[Me.a=97]="a",Me[Me.b=98]="b",Me[Me.c=99]="c",Me[Me.d=100]="d",Me[Me.e=101]="e",Me[Me.f=102]="f",Me[Me.g=103]="g",Me[Me.h=104]="h",Me[Me.i=105]="i",Me[Me.j=106]="j",Me[Me.k=107]="k",Me[Me.l=108]="l",Me[Me.m=109]="m",Me[Me.n=110]="n",Me[Me.o=111]="o",Me[Me.p=112]="p",Me[Me.q=113]="q",Me[Me.r=114]="r",Me[Me.s=115]="s",Me[Me.t=116]="t",Me[Me.u=117]="u",Me[Me.v=118]="v",Me[Me.w=119]="w",Me[Me.x=120]="x",Me[Me.y=121]="y",Me[Me.z=122]="z",Me[Me.A=65]="A",Me[Me.B=66]="B",Me[Me.C=67]="C",Me[Me.D=68]="D",Me[Me.E=69]="E",Me[Me.F=70]="F",Me[Me.G=71]="G",Me[Me.H=72]="H",Me[Me.I=73]="I",Me[Me.J=74]="J",Me[Me.K=75]="K",Me[Me.L=76]="L",Me[Me.M=77]="M",Me[Me.N=78]="N",Me[Me.O=79]="O",Me[Me.P=80]="P",Me[Me.Q=81]="Q",Me[Me.R=82]="R",Me[Me.S=83]="S",Me[Me.T=84]="T",Me[Me.U=85]="U",Me[Me.V=86]="V",Me[Me.W=87]="W",Me[Me.X=88]="X",Me[Me.Y=89]="Y",Me[Me.Z=90]="Z",Me[Me.ampersand=38]="ampersand",Me[Me.asterisk=42]="asterisk",Me[Me.at=64]="at",Me[Me.backslash=92]="backslash",Me[Me.backtick=96]="backtick",Me[Me.bar=124]="bar",Me[Me.caret=94]="caret",Me[Me.closeBrace=125]="closeBrace",Me[Me.closeBracket=93]="closeBracket",Me[Me.closeParen=41]="closeParen",Me[Me.colon=58]="colon",Me[Me.comma=44]="comma",Me[Me.dot=46]="dot",Me[Me.doubleQuote=34]="doubleQuote",Me[Me.equals=61]="equals",Me[Me.exclamation=33]="exclamation",Me[Me.greaterThan=62]="greaterThan",Me[Me.hash=35]="hash",Me[Me.lessThan=60]="lessThan",Me[Me.minus=45]="minus",Me[Me.openBrace=123]="openBrace",Me[Me.openBracket=91]="openBracket",Me[Me.openParen=40]="openParen",Me[Me.percent=37]="percent",Me[Me.plus=43]="plus",Me[Me.question=63]="question",Me[Me.semicolon=59]="semicolon",Me[Me.singleQuote=39]="singleQuote",Me[Me.slash=47]="slash",Me[Me.tilde=126]="tilde",Me[Me.backspace=8]="backspace",Me[Me.formFeed=12]="formFeed",Me[Me.byteOrderMark=65279]="byteOrderMark",Me[Me.tab=9]="tab",Me[Me.verticalTab=11]="verticalTab",Me))(zg||{}),Xg=(Me=>(Me.Ts=".ts",Me.Tsx=".tsx",Me.Dts=".d.ts",Me.Js=".js",Me.Jsx=".jsx",Me.Json=".json",Me.TsBuildInfo=".tsbuildinfo",Me.Mjs=".mjs",Me.Mts=".mts",Me.Dmts=".d.mts",Me.Cjs=".cjs",Me.Cts=".cts",Me.Dcts=".d.cts",Me))(Xg||{}),Zg=(Me=>(Me[Me.None=0]="None",Me[Me.ContainsTypeScript=1]="ContainsTypeScript",Me[Me.ContainsJsx=2]="ContainsJsx",Me[Me.ContainsESNext=4]="ContainsESNext",Me[Me.ContainsES2022=8]="ContainsES2022",Me[Me.ContainsES2021=16]="ContainsES2021",Me[Me.ContainsES2020=32]="ContainsES2020",Me[Me.ContainsES2019=64]="ContainsES2019",Me[Me.ContainsES2018=128]="ContainsES2018",Me[Me.ContainsES2017=256]="ContainsES2017",Me[Me.ContainsES2016=512]="ContainsES2016",Me[Me.ContainsES2015=1024]="ContainsES2015",Me[Me.ContainsGenerator=2048]="ContainsGenerator",Me[Me.ContainsDestructuringAssignment=4096]="ContainsDestructuringAssignment",Me[Me.ContainsTypeScriptClassSyntax=8192]="ContainsTypeScriptClassSyntax",Me[Me.ContainsLexicalThis=16384]="ContainsLexicalThis",Me[Me.ContainsRestOrSpread=32768]="ContainsRestOrSpread",Me[Me.ContainsObjectRestOrSpread=65536]="ContainsObjectRestOrSpread",Me[Me.ContainsComputedPropertyName=131072]="ContainsComputedPropertyName",Me[Me.ContainsBlockScopedBinding=262144]="ContainsBlockScopedBinding",Me[Me.ContainsBindingPattern=524288]="ContainsBindingPattern",Me[Me.ContainsYield=1048576]="ContainsYield",Me[Me.ContainsAwait=2097152]="ContainsAwait",Me[Me.ContainsHoistedDeclarationOrCompletion=4194304]="ContainsHoistedDeclarationOrCompletion",Me[Me.ContainsDynamicImport=8388608]="ContainsDynamicImport",Me[Me.ContainsClassFields=16777216]="ContainsClassFields",Me[Me.ContainsDecorators=33554432]="ContainsDecorators",Me[Me.ContainsPossibleTopLevelAwait=67108864]="ContainsPossibleTopLevelAwait",Me[Me.ContainsLexicalSuper=134217728]="ContainsLexicalSuper",Me[Me.ContainsUpdateExpressionForIdentifier=268435456]="ContainsUpdateExpressionForIdentifier",Me[Me.ContainsPrivateIdentifierInExpression=536870912]="ContainsPrivateIdentifierInExpression",Me[Me.HasComputedFlags=-2147483648]="HasComputedFlags",Me[Me.AssertTypeScript=1]="AssertTypeScript",Me[Me.AssertJsx=2]="AssertJsx",Me[Me.AssertESNext=4]="AssertESNext",Me[Me.AssertES2022=8]="AssertES2022",Me[Me.AssertES2021=16]="AssertES2021",Me[Me.AssertES2020=32]="AssertES2020",Me[Me.AssertES2019=64]="AssertES2019",Me[Me.AssertES2018=128]="AssertES2018",Me[Me.AssertES2017=256]="AssertES2017",Me[Me.AssertES2016=512]="AssertES2016",Me[Me.AssertES2015=1024]="AssertES2015",Me[Me.AssertGenerator=2048]="AssertGenerator",Me[Me.AssertDestructuringAssignment=4096]="AssertDestructuringAssignment",Me[Me.OuterExpressionExcludes=-2147483648]="OuterExpressionExcludes",Me[Me.PropertyAccessExcludes=-2147483648]="PropertyAccessExcludes",Me[Me.NodeExcludes=-2147483648]="NodeExcludes",Me[Me.ArrowFunctionExcludes=-2072174592]="ArrowFunctionExcludes",Me[Me.FunctionExcludes=-1937940480]="FunctionExcludes",Me[Me.ConstructorExcludes=-1937948672]="ConstructorExcludes",Me[Me.MethodOrAccessorExcludes=-2005057536]="MethodOrAccessorExcludes",Me[Me.PropertyExcludes=-2013249536]="PropertyExcludes",Me[Me.ClassExcludes=-2147344384]="ClassExcludes",Me[Me.ModuleExcludes=-1941676032]="ModuleExcludes",Me[Me.TypeExcludes=-2]="TypeExcludes",Me[Me.ObjectLiteralExcludes=-2147278848]="ObjectLiteralExcludes",Me[Me.ArrayLiteralOrCallOrNewExcludes=-2147450880]="ArrayLiteralOrCallOrNewExcludes",Me[Me.VariableDeclarationListExcludes=-2146893824]="VariableDeclarationListExcludes",Me[Me.ParameterExcludes=-2147483648]="ParameterExcludes",Me[Me.CatchClauseExcludes=-2147418112]="CatchClauseExcludes",Me[Me.BindingPatternExcludes=-2147450880]="BindingPatternExcludes",Me[Me.ContainsLexicalThisOrSuper=134234112]="ContainsLexicalThisOrSuper",Me[Me.PropertyNamePropagatingFlags=134234112]="PropertyNamePropagatingFlags",Me))(Zg||{}),f_=(Me=>(Me[Me.TabStop=0]="TabStop",Me[Me.Placeholder=1]="Placeholder",Me[Me.Choice=2]="Choice",Me[Me.Variable=3]="Variable",Me))(f_||{}),Z_=(Me=>(Me[Me.None=0]="None",Me[Me.SingleLine=1]="SingleLine",Me[Me.MultiLine=2]="MultiLine",Me[Me.AdviseOnEmitNode=4]="AdviseOnEmitNode",Me[Me.NoSubstitution=8]="NoSubstitution",Me[Me.CapturesThis=16]="CapturesThis",Me[Me.NoLeadingSourceMap=32]="NoLeadingSourceMap",Me[Me.NoTrailingSourceMap=64]="NoTrailingSourceMap",Me[Me.NoSourceMap=96]="NoSourceMap",Me[Me.NoNestedSourceMaps=128]="NoNestedSourceMaps",Me[Me.NoTokenLeadingSourceMaps=256]="NoTokenLeadingSourceMaps",Me[Me.NoTokenTrailingSourceMaps=512]="NoTokenTrailingSourceMaps",Me[Me.NoTokenSourceMaps=768]="NoTokenSourceMaps",Me[Me.NoLeadingComments=1024]="NoLeadingComments",Me[Me.NoTrailingComments=2048]="NoTrailingComments",Me[Me.NoComments=3072]="NoComments",Me[Me.NoNestedComments=4096]="NoNestedComments",Me[Me.HelperName=8192]="HelperName",Me[Me.ExportName=16384]="ExportName",Me[Me.LocalName=32768]="LocalName",Me[Me.InternalName=65536]="InternalName",Me[Me.Indented=131072]="Indented",Me[Me.NoIndentation=262144]="NoIndentation",Me[Me.AsyncFunctionBody=524288]="AsyncFunctionBody",Me[Me.ReuseTempVariableScope=1048576]="ReuseTempVariableScope",Me[Me.CustomPrologue=2097152]="CustomPrologue",Me[Me.NoHoisting=4194304]="NoHoisting",Me[Me.HasEndOfDeclarationMarker=8388608]="HasEndOfDeclarationMarker",Me[Me.Iterator=16777216]="Iterator",Me[Me.NoAsciiEscaping=33554432]="NoAsciiEscaping",Me))(Z_||{}),ey=(Me=>(Me[Me.None=0]="None",Me[Me.TypeScriptClassWrapper=1]="TypeScriptClassWrapper",Me[Me.NeverApplyImportHelper=2]="NeverApplyImportHelper",Me[Me.IgnoreSourceNewlines=4]="IgnoreSourceNewlines",Me[Me.Immutable=8]="Immutable",Me[Me.IndirectCall=16]="IndirectCall",Me[Me.TransformPrivateStaticElements=32]="TransformPrivateStaticElements",Me))(ey||{}),ty=(Me=>(Me[Me.Extends=1]="Extends",Me[Me.Assign=2]="Assign",Me[Me.Rest=4]="Rest",Me[Me.Decorate=8]="Decorate",Me[Me.ESDecorateAndRunInitializers=8]="ESDecorateAndRunInitializers",Me[Me.Metadata=16]="Metadata",Me[Me.Param=32]="Param",Me[Me.Awaiter=64]="Awaiter",Me[Me.Generator=128]="Generator",Me[Me.Values=256]="Values",Me[Me.Read=512]="Read",Me[Me.SpreadArray=1024]="SpreadArray",Me[Me.Await=2048]="Await",Me[Me.AsyncGenerator=4096]="AsyncGenerator",Me[Me.AsyncDelegator=8192]="AsyncDelegator",Me[Me.AsyncValues=16384]="AsyncValues",Me[Me.ExportStar=32768]="ExportStar",Me[Me.ImportStar=65536]="ImportStar",Me[Me.ImportDefault=131072]="ImportDefault",Me[Me.MakeTemplateObject=262144]="MakeTemplateObject",Me[Me.ClassPrivateFieldGet=524288]="ClassPrivateFieldGet",Me[Me.ClassPrivateFieldSet=1048576]="ClassPrivateFieldSet",Me[Me.ClassPrivateFieldIn=2097152]="ClassPrivateFieldIn",Me[Me.CreateBinding=4194304]="CreateBinding",Me[Me.SetFunctionName=8388608]="SetFunctionName",Me[Me.PropKey=16777216]="PropKey",Me[Me.FirstEmitHelper=1]="FirstEmitHelper",Me[Me.LastEmitHelper=16777216]="LastEmitHelper",Me[Me.ForOfIncludes=256]="ForOfIncludes",Me[Me.ForAwaitOfIncludes=16384]="ForAwaitOfIncludes",Me[Me.AsyncGeneratorIncludes=6144]="AsyncGeneratorIncludes",Me[Me.AsyncDelegatorIncludes=26624]="AsyncDelegatorIncludes",Me[Me.SpreadIncludes=1536]="SpreadIncludes",Me))(ty||{}),ry=(Me=>(Me[Me.SourceFile=0]="SourceFile",Me[Me.Expression=1]="Expression",Me[Me.IdentifierName=2]="IdentifierName",Me[Me.MappedTypeParameter=3]="MappedTypeParameter",Me[Me.Unspecified=4]="Unspecified",Me[Me.EmbeddedStatement=5]="EmbeddedStatement",Me[Me.JsxAttributeValue=6]="JsxAttributeValue",Me))(ry||{}),ny=(Me=>(Me[Me.Parentheses=1]="Parentheses",Me[Me.TypeAssertions=2]="TypeAssertions",Me[Me.NonNullAssertions=4]="NonNullAssertions",Me[Me.PartiallyEmittedExpressions=8]="PartiallyEmittedExpressions",Me[Me.Assertions=6]="Assertions",Me[Me.All=15]="All",Me[Me.ExcludeJSDocTypeAssertion=16]="ExcludeJSDocTypeAssertion",Me))(ny||{}),iy=(Me=>(Me[Me.None=0]="None",Me[Me.InParameters=1]="InParameters",Me[Me.VariablesHoistedInParameters=2]="VariablesHoistedInParameters",Me))(iy||{}),py=(Me=>(Me.Prologue="prologue",Me.EmitHelpers="emitHelpers",Me.NoDefaultLib="no-default-lib",Me.Reference="reference",Me.Type="type",Me.TypeResolutionModeRequire="type-require",Me.TypeResolutionModeImport="type-import",Me.Lib="lib",Me.Prepend="prepend",Me.Text="text",Me.Internal="internal",Me))(py||{}),fy=(Me=>(Me[Me.None=0]="None",Me[Me.SingleLine=0]="SingleLine",Me[Me.MultiLine=1]="MultiLine",Me[Me.PreserveLines=2]="PreserveLines",Me[Me.LinesMask=3]="LinesMask",Me[Me.NotDelimited=0]="NotDelimited",Me[Me.BarDelimited=4]="BarDelimited",Me[Me.AmpersandDelimited=8]="AmpersandDelimited",Me[Me.CommaDelimited=16]="CommaDelimited",Me[Me.AsteriskDelimited=32]="AsteriskDelimited",Me[Me.DelimitersMask=60]="DelimitersMask",Me[Me.AllowTrailingComma=64]="AllowTrailingComma",Me[Me.Indented=128]="Indented",Me[Me.SpaceBetweenBraces=256]="SpaceBetweenBraces",Me[Me.SpaceBetweenSiblings=512]="SpaceBetweenSiblings",Me[Me.Braces=1024]="Braces",Me[Me.Parenthesis=2048]="Parenthesis",Me[Me.AngleBrackets=4096]="AngleBrackets",Me[Me.SquareBrackets=8192]="SquareBrackets",Me[Me.BracketsMask=15360]="BracketsMask",Me[Me.OptionalIfUndefined=16384]="OptionalIfUndefined",Me[Me.OptionalIfEmpty=32768]="OptionalIfEmpty",Me[Me.Optional=49152]="Optional",Me[Me.PreferNewLine=65536]="PreferNewLine",Me[Me.NoTrailingNewLine=131072]="NoTrailingNewLine",Me[Me.NoInterveningComments=262144]="NoInterveningComments",Me[Me.NoSpaceIfEmpty=524288]="NoSpaceIfEmpty",Me[Me.SingleElement=1048576]="SingleElement",Me[Me.SpaceAfterList=2097152]="SpaceAfterList",Me[Me.Modifiers=2359808]="Modifiers",Me[Me.HeritageClauses=512]="HeritageClauses",Me[Me.SingleLineTypeLiteralMembers=768]="SingleLineTypeLiteralMembers",Me[Me.MultiLineTypeLiteralMembers=32897]="MultiLineTypeLiteralMembers",Me[Me.SingleLineTupleTypeElements=528]="SingleLineTupleTypeElements",Me[Me.MultiLineTupleTypeElements=657]="MultiLineTupleTypeElements",Me[Me.UnionTypeConstituents=516]="UnionTypeConstituents",Me[Me.IntersectionTypeConstituents=520]="IntersectionTypeConstituents",Me[Me.ObjectBindingPatternElements=525136]="ObjectBindingPatternElements",Me[Me.ArrayBindingPatternElements=524880]="ArrayBindingPatternElements",Me[Me.ObjectLiteralExpressionProperties=526226]="ObjectLiteralExpressionProperties",Me[Me.ImportClauseEntries=526226]="ImportClauseEntries",Me[Me.ArrayLiteralExpressionElements=8914]="ArrayLiteralExpressionElements",Me[Me.CommaListElements=528]="CommaListElements",Me[Me.CallExpressionArguments=2576]="CallExpressionArguments",Me[Me.NewExpressionArguments=18960]="NewExpressionArguments",Me[Me.TemplateExpressionSpans=262144]="TemplateExpressionSpans",Me[Me.SingleLineBlockStatements=768]="SingleLineBlockStatements",Me[Me.MultiLineBlockStatements=129]="MultiLineBlockStatements",Me[Me.VariableDeclarationList=528]="VariableDeclarationList",Me[Me.SingleLineFunctionBodyStatements=768]="SingleLineFunctionBodyStatements",Me[Me.MultiLineFunctionBodyStatements=1]="MultiLineFunctionBodyStatements",Me[Me.ClassHeritageClauses=0]="ClassHeritageClauses",Me[Me.ClassMembers=129]="ClassMembers",Me[Me.InterfaceMembers=129]="InterfaceMembers",Me[Me.EnumMembers=145]="EnumMembers",Me[Me.CaseBlockClauses=129]="CaseBlockClauses",Me[Me.NamedImportsOrExportsElements=525136]="NamedImportsOrExportsElements",Me[Me.JsxElementOrFragmentChildren=262144]="JsxElementOrFragmentChildren",Me[Me.JsxElementAttributes=262656]="JsxElementAttributes",Me[Me.CaseOrDefaultClauseStatements=163969]="CaseOrDefaultClauseStatements",Me[Me.HeritageClauseTypes=528]="HeritageClauseTypes",Me[Me.SourceFileStatements=131073]="SourceFileStatements",Me[Me.Decorators=2146305]="Decorators",Me[Me.TypeArguments=53776]="TypeArguments",Me[Me.TypeParameters=53776]="TypeParameters",Me[Me.Parameters=2576]="Parameters",Me[Me.IndexSignatureParameters=8848]="IndexSignatureParameters",Me[Me.JSDocComment=33]="JSDocComment",Me))(fy||{}),Ty=(Me=>(Me[Me.None=0]="None",Me[Me.TripleSlashXML=1]="TripleSlashXML",Me[Me.SingleLine=2]="SingleLine",Me[Me.MultiLine=4]="MultiLine",Me[Me.All=7]="All",Me[Me.Default=7]="Default",Me))(Ty||{}),Gy={reference:{args:[{name:"types",optional:!0,captureSpan:!0},{name:"lib",optional:!0,captureSpan:!0},{name:"path",optional:!0,captureSpan:!0},{name:"no-default-lib",optional:!0},{name:"resolution-mode",optional:!0}],kind:1},"amd-dependency":{args:[{name:"path"},{name:"name",optional:!0}],kind:1},"amd-module":{args:[{name:"name"}],kind:1},"ts-check":{kind:2},"ts-nocheck":{kind:2},jsx:{args:[{name:"factory"}],kind:4},jsxfrag:{args:[{name:"factory"}],kind:4},jsximportsource:{args:[{name:"factory"}],kind:4},jsxruntime:{args:[{name:"factory"}],kind:4}}}}),W5=()=>{},Hy;function ay(Me){return Me===47||Me===92}function V5(Me){return al(Me)<0}function A_(Me){return al(Me)>0}function H5(Me){let Bn=al(Me);return Bn>0&&Bn===Me.length}function sy(Me){return al(Me)!==0}function So(Me){return/^\.\.?($|[\\/])/.test(Me)}function G5(Me){return!sy(Me)&&!So(Me)}function OT(Me){return Fi(sl(Me),".")}function ns(Me,Bn){return Me.length>Bn.length&&es(Me,Bn)}function da(Me,Bn){for(let Hn of Bn)if(ns(Me,Hn))return!0;return!1}function Hp(Me){return Me.length>0&&ay(Me.charCodeAt(Me.length-1))}function MT(Me){return Me>=97&&Me<=122||Me>=65&&Me<=90}function $5(Me,Bn){let Hn=Me.charCodeAt(Bn);if(Hn===58)return Bn+1;if(Hn===37&&Me.charCodeAt(Bn+1)===51){let Hn=Me.charCodeAt(Bn+2);if(Hn===97||Hn===65)return Bn+3}return-1}function al(Me){if(!Me)return 0;let Bn=Me.charCodeAt(0);if(Bn===47||Bn===92){if(Me.charCodeAt(1)!==Bn)return 1;let Hn=Me.indexOf(Bn===47?Av:vv,2);return Hn<0?Me.length:Hn+1}if(MT(Bn)&&Me.charCodeAt(1)===58){let Bn=Me.charCodeAt(2);if(Bn===47||Bn===92)return 3;if(Me.length===2)return 2}let Hn=Me.indexOf(Ev);if(Hn!==-1){let Bn=Hn+Ev.length,zn=Me.indexOf(Av,Bn);if(zn!==-1){let ni=Me.slice(0,Hn),Ci=Me.slice(Bn,zn);if(ni==="file"&&(Ci===""||Ci==="localhost")&&MT(Me.charCodeAt(zn+1))){let Bn=$5(Me,zn+2);if(Bn!==-1){if(Me.charCodeAt(Bn)===47)return~(Bn+1);if(Bn===Me.length)return~Bn}}return~(zn+1)}return~Me.length}return 0}function Bi(Me){let Bn=al(Me);return Bn<0?~Bn:Bn}function ma(Me){Me=Eo(Me);let Bn=Bi(Me);return Bn===Me.length?Me:(Me=P_(Me),Me.slice(0,Math.max(Bn,Me.lastIndexOf(Av))))}function sl(Me,Bn,Hn){if(Me=Eo(Me),Bi(Me)===Me.length)return"";Me=P_(Me);let zn=Me.slice(Math.max(Bi(Me),Me.lastIndexOf(Av)+1)),ni=Bn!==void 0&&Hn!==void 0?Gp(zn,Bn,Hn):void 0;return ni?zn.slice(0,zn.length-ni.length):zn}function LT(Me,Bn,Hn){if(Pn(Bn,".")||(Bn="."+Bn),Me.length>=Bn.length&&Me.charCodeAt(Me.length-Bn.length)===46){let zn=Me.slice(Me.length-Bn.length);if(Hn(zn,Bn))return zn}}function K5(Me,Bn,Hn){if(typeof Bn=="string")return LT(Me,Bn,Hn)||"";for(let zn of Bn){let Bn=LT(Me,zn,Hn);if(Bn)return Bn}return""}function Gp(Me,Bn,Hn){if(Bn)return K5(P_(Me),Bn,Hn?Ms:To);let zn=sl(Me),ni=zn.lastIndexOf(".");return ni>=0?zn.substring(ni):""}function X5(Me,Bn){let Hn=Me.substring(0,Bn),zn=Me.substring(Bn).split(Av);return zn.length&&!Cn(zn)&&zn.pop(),[Hn,...zn]}function qi(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return Me=tn(Bn,Me),X5(Me,Bi(Me))}function xo(Me){return Me.length===0?"":(Me[0]&&wo(Me[0]))+Me.slice(1).join(Av)}function Eo(Me){return Me.indexOf("\\")!==-1?Me.replace(bv,Av):Me}function is(Me){if(!Ke(Me))return[];let Bn=[Me[0]];for(let Hn=1;Hn1){if(Bn[Bn.length-1]!==".."){Bn.pop();continue}}else if(Bn[0])continue}Bn.push(zn)}}return Bn}function tn(Me){Me&&(Me=Eo(Me));for(var Bn=arguments.length,Hn=new Array(Bn>1?Bn-1:0),zn=1;zn1?Bn-1:0),zn=1;zn0==Bi(Bn)>0,"Paths must either both be absolute or both be relative");let zn=ly(Me,Bn,(typeof Hn=="boolean"?Hn:!1)?Ms:To,typeof Hn=="function"?Hn:rr);return xo(zn)}function nA(Me,Bn,Hn){return A_(Me)?uy(Bn,Me,Bn,Hn,!1):Me}function iA(Me,Bn,Hn){return _y(JT(ma(Me),Bn,Hn))}function uy(Me,Bn,Hn,zn,ni){let Ci=ly(oy(Hn,Me),oy(Hn,Bn),To,zn),ts=Ci[0];if(ni&&A_(ts)){let Me=ts.charAt(0)===Av?"file://":"file:///";Ci[0]=Me+ts}return xo(Ci)}function FT(Me,Bn){for(;;){let Hn=Bn(Me);if(Hn!==void 0)return Hn;let zn=ma(Me);if(zn===Me)return;Me=zn}}function aA(Me){return es(Me,"/node_modules")}var Av,vv,Ev,bv,Cv,wv=D({"src/compiler/path.ts"(){"use strict";Gw(),Av="/",vv="\\",Ev="://",bv=/\\/g,Cv=/(?:\/\/)|(?:^|\/)\.\.?(?:$|\/)/}});function i(Me,Bn,Hn,zn,ni,Ci,ts){return{code:Me,category:Bn,key:Hn,message:zn,reportsUnnecessary:ni,elidedInCompatabilityPyramid:Ci,reportsDeprecated:ts}}var Sv,Iv=D({"src/compiler/diagnosticInformationMap.generated.ts"(){"use strict";Vy(),Sv={Unterminated_string_literal:i(1002,1,"Unterminated_string_literal_1002","Unterminated string literal."),Identifier_expected:i(1003,1,"Identifier_expected_1003","Identifier expected."),_0_expected:i(1005,1,"_0_expected_1005","'{0}' expected."),A_file_cannot_have_a_reference_to_itself:i(1006,1,"A_file_cannot_have_a_reference_to_itself_1006","A file cannot have a reference to itself."),The_parser_expected_to_find_a_1_to_match_the_0_token_here:i(1007,1,"The_parser_expected_to_find_a_1_to_match_the_0_token_here_1007","The parser expected to find a '{1}' to match the '{0}' token here."),Trailing_comma_not_allowed:i(1009,1,"Trailing_comma_not_allowed_1009","Trailing comma not allowed."),Asterisk_Slash_expected:i(1010,1,"Asterisk_Slash_expected_1010","'*/' expected."),An_element_access_expression_should_take_an_argument:i(1011,1,"An_element_access_expression_should_take_an_argument_1011","An element access expression should take an argument."),Unexpected_token:i(1012,1,"Unexpected_token_1012","Unexpected token."),A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma:i(1013,1,"A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma_1013","A rest parameter or binding pattern may not have a trailing comma."),A_rest_parameter_must_be_last_in_a_parameter_list:i(1014,1,"A_rest_parameter_must_be_last_in_a_parameter_list_1014","A rest parameter must be last in a parameter list."),Parameter_cannot_have_question_mark_and_initializer:i(1015,1,"Parameter_cannot_have_question_mark_and_initializer_1015","Parameter cannot have question mark and initializer."),A_required_parameter_cannot_follow_an_optional_parameter:i(1016,1,"A_required_parameter_cannot_follow_an_optional_parameter_1016","A required parameter cannot follow an optional parameter."),An_index_signature_cannot_have_a_rest_parameter:i(1017,1,"An_index_signature_cannot_have_a_rest_parameter_1017","An index signature cannot have a rest parameter."),An_index_signature_parameter_cannot_have_an_accessibility_modifier:i(1018,1,"An_index_signature_parameter_cannot_have_an_accessibility_modifier_1018","An index signature parameter cannot have an accessibility modifier."),An_index_signature_parameter_cannot_have_a_question_mark:i(1019,1,"An_index_signature_parameter_cannot_have_a_question_mark_1019","An index signature parameter cannot have a question mark."),An_index_signature_parameter_cannot_have_an_initializer:i(1020,1,"An_index_signature_parameter_cannot_have_an_initializer_1020","An index signature parameter cannot have an initializer."),An_index_signature_must_have_a_type_annotation:i(1021,1,"An_index_signature_must_have_a_type_annotation_1021","An index signature must have a type annotation."),An_index_signature_parameter_must_have_a_type_annotation:i(1022,1,"An_index_signature_parameter_must_have_a_type_annotation_1022","An index signature parameter must have a type annotation."),readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature:i(1024,1,"readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature_1024","'readonly' modifier can only appear on a property declaration or index signature."),An_index_signature_cannot_have_a_trailing_comma:i(1025,1,"An_index_signature_cannot_have_a_trailing_comma_1025","An index signature cannot have a trailing comma."),Accessibility_modifier_already_seen:i(1028,1,"Accessibility_modifier_already_seen_1028","Accessibility modifier already seen."),_0_modifier_must_precede_1_modifier:i(1029,1,"_0_modifier_must_precede_1_modifier_1029","'{0}' modifier must precede '{1}' modifier."),_0_modifier_already_seen:i(1030,1,"_0_modifier_already_seen_1030","'{0}' modifier already seen."),_0_modifier_cannot_appear_on_class_elements_of_this_kind:i(1031,1,"_0_modifier_cannot_appear_on_class_elements_of_this_kind_1031","'{0}' modifier cannot appear on class elements of this kind."),super_must_be_followed_by_an_argument_list_or_member_access:i(1034,1,"super_must_be_followed_by_an_argument_list_or_member_access_1034","'super' must be followed by an argument list or member access."),Only_ambient_modules_can_use_quoted_names:i(1035,1,"Only_ambient_modules_can_use_quoted_names_1035","Only ambient modules can use quoted names."),Statements_are_not_allowed_in_ambient_contexts:i(1036,1,"Statements_are_not_allowed_in_ambient_contexts_1036","Statements are not allowed in ambient contexts."),A_declare_modifier_cannot_be_used_in_an_already_ambient_context:i(1038,1,"A_declare_modifier_cannot_be_used_in_an_already_ambient_context_1038","A 'declare' modifier cannot be used in an already ambient context."),Initializers_are_not_allowed_in_ambient_contexts:i(1039,1,"Initializers_are_not_allowed_in_ambient_contexts_1039","Initializers are not allowed in ambient contexts."),_0_modifier_cannot_be_used_in_an_ambient_context:i(1040,1,"_0_modifier_cannot_be_used_in_an_ambient_context_1040","'{0}' modifier cannot be used in an ambient context."),_0_modifier_cannot_be_used_here:i(1042,1,"_0_modifier_cannot_be_used_here_1042","'{0}' modifier cannot be used here."),_0_modifier_cannot_appear_on_a_module_or_namespace_element:i(1044,1,"_0_modifier_cannot_appear_on_a_module_or_namespace_element_1044","'{0}' modifier cannot appear on a module or namespace element."),Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier:i(1046,1,"Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier_1046","Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier."),A_rest_parameter_cannot_be_optional:i(1047,1,"A_rest_parameter_cannot_be_optional_1047","A rest parameter cannot be optional."),A_rest_parameter_cannot_have_an_initializer:i(1048,1,"A_rest_parameter_cannot_have_an_initializer_1048","A rest parameter cannot have an initializer."),A_set_accessor_must_have_exactly_one_parameter:i(1049,1,"A_set_accessor_must_have_exactly_one_parameter_1049","A 'set' accessor must have exactly one parameter."),A_set_accessor_cannot_have_an_optional_parameter:i(1051,1,"A_set_accessor_cannot_have_an_optional_parameter_1051","A 'set' accessor cannot have an optional parameter."),A_set_accessor_parameter_cannot_have_an_initializer:i(1052,1,"A_set_accessor_parameter_cannot_have_an_initializer_1052","A 'set' accessor parameter cannot have an initializer."),A_set_accessor_cannot_have_rest_parameter:i(1053,1,"A_set_accessor_cannot_have_rest_parameter_1053","A 'set' accessor cannot have rest parameter."),A_get_accessor_cannot_have_parameters:i(1054,1,"A_get_accessor_cannot_have_parameters_1054","A 'get' accessor cannot have parameters."),Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value:i(1055,1,"Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Prom_1055","Type '{0}' is not a valid async function return type in ES5/ES3 because it does not refer to a Promise-compatible constructor value."),Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher:i(1056,1,"Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher_1056","Accessors are only available when targeting ECMAScript 5 and higher."),The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:i(1058,1,"The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_t_1058","The return type of an async function must either be a valid promise or must not contain a callable 'then' member."),A_promise_must_have_a_then_method:i(1059,1,"A_promise_must_have_a_then_method_1059","A promise must have a 'then' method."),The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback:i(1060,1,"The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback_1060","The first parameter of the 'then' method of a promise must be a callback."),Enum_member_must_have_initializer:i(1061,1,"Enum_member_must_have_initializer_1061","Enum member must have initializer."),Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method:i(1062,1,"Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method_1062","Type is referenced directly or indirectly in the fulfillment callback of its own 'then' method."),An_export_assignment_cannot_be_used_in_a_namespace:i(1063,1,"An_export_assignment_cannot_be_used_in_a_namespace_1063","An export assignment cannot be used in a namespace."),The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0:i(1064,1,"The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_wri_1064","The return type of an async function or method must be the global Promise type. Did you mean to write 'Promise<{0}>'?"),In_ambient_enum_declarations_member_initializer_must_be_constant_expression:i(1066,1,"In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066","In ambient enum declarations member initializer must be constant expression."),Unexpected_token_A_constructor_method_accessor_or_property_was_expected:i(1068,1,"Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068","Unexpected token. A constructor, method, accessor, or property was expected."),Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces:i(1069,1,"Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069","Unexpected token. A type parameter name was expected without curly braces."),_0_modifier_cannot_appear_on_a_type_member:i(1070,1,"_0_modifier_cannot_appear_on_a_type_member_1070","'{0}' modifier cannot appear on a type member."),_0_modifier_cannot_appear_on_an_index_signature:i(1071,1,"_0_modifier_cannot_appear_on_an_index_signature_1071","'{0}' modifier cannot appear on an index signature."),A_0_modifier_cannot_be_used_with_an_import_declaration:i(1079,1,"A_0_modifier_cannot_be_used_with_an_import_declaration_1079","A '{0}' modifier cannot be used with an import declaration."),Invalid_reference_directive_syntax:i(1084,1,"Invalid_reference_directive_syntax_1084","Invalid 'reference' directive syntax."),Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:i(1085,1,"Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0_1085","Octal literals are not available when targeting ECMAScript 5 and higher. Use the syntax '{0}'."),_0_modifier_cannot_appear_on_a_constructor_declaration:i(1089,1,"_0_modifier_cannot_appear_on_a_constructor_declaration_1089","'{0}' modifier cannot appear on a constructor declaration."),_0_modifier_cannot_appear_on_a_parameter:i(1090,1,"_0_modifier_cannot_appear_on_a_parameter_1090","'{0}' modifier cannot appear on a parameter."),Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:i(1091,1,"Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091","Only a single variable declaration is allowed in a 'for...in' statement."),Type_parameters_cannot_appear_on_a_constructor_declaration:i(1092,1,"Type_parameters_cannot_appear_on_a_constructor_declaration_1092","Type parameters cannot appear on a constructor declaration."),Type_annotation_cannot_appear_on_a_constructor_declaration:i(1093,1,"Type_annotation_cannot_appear_on_a_constructor_declaration_1093","Type annotation cannot appear on a constructor declaration."),An_accessor_cannot_have_type_parameters:i(1094,1,"An_accessor_cannot_have_type_parameters_1094","An accessor cannot have type parameters."),A_set_accessor_cannot_have_a_return_type_annotation:i(1095,1,"A_set_accessor_cannot_have_a_return_type_annotation_1095","A 'set' accessor cannot have a return type annotation."),An_index_signature_must_have_exactly_one_parameter:i(1096,1,"An_index_signature_must_have_exactly_one_parameter_1096","An index signature must have exactly one parameter."),_0_list_cannot_be_empty:i(1097,1,"_0_list_cannot_be_empty_1097","'{0}' list cannot be empty."),Type_parameter_list_cannot_be_empty:i(1098,1,"Type_parameter_list_cannot_be_empty_1098","Type parameter list cannot be empty."),Type_argument_list_cannot_be_empty:i(1099,1,"Type_argument_list_cannot_be_empty_1099","Type argument list cannot be empty."),Invalid_use_of_0_in_strict_mode:i(1100,1,"Invalid_use_of_0_in_strict_mode_1100","Invalid use of '{0}' in strict mode."),with_statements_are_not_allowed_in_strict_mode:i(1101,1,"with_statements_are_not_allowed_in_strict_mode_1101","'with' statements are not allowed in strict mode."),delete_cannot_be_called_on_an_identifier_in_strict_mode:i(1102,1,"delete_cannot_be_called_on_an_identifier_in_strict_mode_1102","'delete' cannot be called on an identifier in strict mode."),for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:i(1103,1,"for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1103","'for await' loops are only allowed within async functions and at the top levels of modules."),A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement:i(1104,1,"A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104","A 'continue' statement can only be used within an enclosing iteration statement."),A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:i(1105,1,"A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105","A 'break' statement can only be used within an enclosing iteration or switch statement."),The_left_hand_side_of_a_for_of_statement_may_not_be_async:i(1106,1,"The_left_hand_side_of_a_for_of_statement_may_not_be_async_1106","The left-hand side of a 'for...of' statement may not be 'async'."),Jump_target_cannot_cross_function_boundary:i(1107,1,"Jump_target_cannot_cross_function_boundary_1107","Jump target cannot cross function boundary."),A_return_statement_can_only_be_used_within_a_function_body:i(1108,1,"A_return_statement_can_only_be_used_within_a_function_body_1108","A 'return' statement can only be used within a function body."),Expression_expected:i(1109,1,"Expression_expected_1109","Expression expected."),Type_expected:i(1110,1,"Type_expected_1110","Type expected."),A_default_clause_cannot_appear_more_than_once_in_a_switch_statement:i(1113,1,"A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113","A 'default' clause cannot appear more than once in a 'switch' statement."),Duplicate_label_0:i(1114,1,"Duplicate_label_0_1114","Duplicate label '{0}'."),A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement:i(1115,1,"A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115","A 'continue' statement can only jump to a label of an enclosing iteration statement."),A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:i(1116,1,"A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116","A 'break' statement can only jump to a label of an enclosing statement."),An_object_literal_cannot_have_multiple_properties_with_the_same_name:i(1117,1,"An_object_literal_cannot_have_multiple_properties_with_the_same_name_1117","An object literal cannot have multiple properties with the same name."),An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name:i(1118,1,"An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118","An object literal cannot have multiple get/set accessors with the same name."),An_object_literal_cannot_have_property_and_accessor_with_the_same_name:i(1119,1,"An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119","An object literal cannot have property and accessor with the same name."),An_export_assignment_cannot_have_modifiers:i(1120,1,"An_export_assignment_cannot_have_modifiers_1120","An export assignment cannot have modifiers."),Octal_literals_are_not_allowed_in_strict_mode:i(1121,1,"Octal_literals_are_not_allowed_in_strict_mode_1121","Octal literals are not allowed in strict mode."),Variable_declaration_list_cannot_be_empty:i(1123,1,"Variable_declaration_list_cannot_be_empty_1123","Variable declaration list cannot be empty."),Digit_expected:i(1124,1,"Digit_expected_1124","Digit expected."),Hexadecimal_digit_expected:i(1125,1,"Hexadecimal_digit_expected_1125","Hexadecimal digit expected."),Unexpected_end_of_text:i(1126,1,"Unexpected_end_of_text_1126","Unexpected end of text."),Invalid_character:i(1127,1,"Invalid_character_1127","Invalid character."),Declaration_or_statement_expected:i(1128,1,"Declaration_or_statement_expected_1128","Declaration or statement expected."),Statement_expected:i(1129,1,"Statement_expected_1129","Statement expected."),case_or_default_expected:i(1130,1,"case_or_default_expected_1130","'case' or 'default' expected."),Property_or_signature_expected:i(1131,1,"Property_or_signature_expected_1131","Property or signature expected."),Enum_member_expected:i(1132,1,"Enum_member_expected_1132","Enum member expected."),Variable_declaration_expected:i(1134,1,"Variable_declaration_expected_1134","Variable declaration expected."),Argument_expression_expected:i(1135,1,"Argument_expression_expected_1135","Argument expression expected."),Property_assignment_expected:i(1136,1,"Property_assignment_expected_1136","Property assignment expected."),Expression_or_comma_expected:i(1137,1,"Expression_or_comma_expected_1137","Expression or comma expected."),Parameter_declaration_expected:i(1138,1,"Parameter_declaration_expected_1138","Parameter declaration expected."),Type_parameter_declaration_expected:i(1139,1,"Type_parameter_declaration_expected_1139","Type parameter declaration expected."),Type_argument_expected:i(1140,1,"Type_argument_expected_1140","Type argument expected."),String_literal_expected:i(1141,1,"String_literal_expected_1141","String literal expected."),Line_break_not_permitted_here:i(1142,1,"Line_break_not_permitted_here_1142","Line break not permitted here."),or_expected:i(1144,1,"or_expected_1144","'{' or ';' expected."),or_JSX_element_expected:i(1145,1,"or_JSX_element_expected_1145","'{' or JSX element expected."),Declaration_expected:i(1146,1,"Declaration_expected_1146","Declaration expected."),Import_declarations_in_a_namespace_cannot_reference_a_module:i(1147,1,"Import_declarations_in_a_namespace_cannot_reference_a_module_1147","Import declarations in a namespace cannot reference a module."),Cannot_use_imports_exports_or_module_augmentations_when_module_is_none:i(1148,1,"Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148","Cannot use imports, exports, or module augmentations when '--module' is 'none'."),File_name_0_differs_from_already_included_file_name_1_only_in_casing:i(1149,1,"File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149","File name '{0}' differs from already included file name '{1}' only in casing."),const_declarations_must_be_initialized:i(1155,1,"const_declarations_must_be_initialized_1155","'const' declarations must be initialized."),const_declarations_can_only_be_declared_inside_a_block:i(1156,1,"const_declarations_can_only_be_declared_inside_a_block_1156","'const' declarations can only be declared inside a block."),let_declarations_can_only_be_declared_inside_a_block:i(1157,1,"let_declarations_can_only_be_declared_inside_a_block_1157","'let' declarations can only be declared inside a block."),Unterminated_template_literal:i(1160,1,"Unterminated_template_literal_1160","Unterminated template literal."),Unterminated_regular_expression_literal:i(1161,1,"Unterminated_regular_expression_literal_1161","Unterminated regular expression literal."),An_object_member_cannot_be_declared_optional:i(1162,1,"An_object_member_cannot_be_declared_optional_1162","An object member cannot be declared optional."),A_yield_expression_is_only_allowed_in_a_generator_body:i(1163,1,"A_yield_expression_is_only_allowed_in_a_generator_body_1163","A 'yield' expression is only allowed in a generator body."),Computed_property_names_are_not_allowed_in_enums:i(1164,1,"Computed_property_names_are_not_allowed_in_enums_1164","Computed property names are not allowed in enums."),A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:i(1165,1,"A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_t_1165","A computed property name in an ambient context must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_symbol_type:i(1166,1,"A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_1166","A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type."),A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:i(1168,1,"A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_ty_1168","A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:i(1169,1,"A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_1169","A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:i(1170,1,"A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type__1170","A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_comma_expression_is_not_allowed_in_a_computed_property_name:i(1171,1,"A_comma_expression_is_not_allowed_in_a_computed_property_name_1171","A comma expression is not allowed in a computed property name."),extends_clause_already_seen:i(1172,1,"extends_clause_already_seen_1172","'extends' clause already seen."),extends_clause_must_precede_implements_clause:i(1173,1,"extends_clause_must_precede_implements_clause_1173","'extends' clause must precede 'implements' clause."),Classes_can_only_extend_a_single_class:i(1174,1,"Classes_can_only_extend_a_single_class_1174","Classes can only extend a single class."),implements_clause_already_seen:i(1175,1,"implements_clause_already_seen_1175","'implements' clause already seen."),Interface_declaration_cannot_have_implements_clause:i(1176,1,"Interface_declaration_cannot_have_implements_clause_1176","Interface declaration cannot have 'implements' clause."),Binary_digit_expected:i(1177,1,"Binary_digit_expected_1177","Binary digit expected."),Octal_digit_expected:i(1178,1,"Octal_digit_expected_1178","Octal digit expected."),Unexpected_token_expected:i(1179,1,"Unexpected_token_expected_1179","Unexpected token. '{' expected."),Property_destructuring_pattern_expected:i(1180,1,"Property_destructuring_pattern_expected_1180","Property destructuring pattern expected."),Array_element_destructuring_pattern_expected:i(1181,1,"Array_element_destructuring_pattern_expected_1181","Array element destructuring pattern expected."),A_destructuring_declaration_must_have_an_initializer:i(1182,1,"A_destructuring_declaration_must_have_an_initializer_1182","A destructuring declaration must have an initializer."),An_implementation_cannot_be_declared_in_ambient_contexts:i(1183,1,"An_implementation_cannot_be_declared_in_ambient_contexts_1183","An implementation cannot be declared in ambient contexts."),Modifiers_cannot_appear_here:i(1184,1,"Modifiers_cannot_appear_here_1184","Modifiers cannot appear here."),Merge_conflict_marker_encountered:i(1185,1,"Merge_conflict_marker_encountered_1185","Merge conflict marker encountered."),A_rest_element_cannot_have_an_initializer:i(1186,1,"A_rest_element_cannot_have_an_initializer_1186","A rest element cannot have an initializer."),A_parameter_property_may_not_be_declared_using_a_binding_pattern:i(1187,1,"A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187","A parameter property may not be declared using a binding pattern."),Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement:i(1188,1,"Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188","Only a single variable declaration is allowed in a 'for...of' statement."),The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:i(1189,1,"The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189","The variable declaration of a 'for...in' statement cannot have an initializer."),The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer:i(1190,1,"The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190","The variable declaration of a 'for...of' statement cannot have an initializer."),An_import_declaration_cannot_have_modifiers:i(1191,1,"An_import_declaration_cannot_have_modifiers_1191","An import declaration cannot have modifiers."),Module_0_has_no_default_export:i(1192,1,"Module_0_has_no_default_export_1192","Module '{0}' has no default export."),An_export_declaration_cannot_have_modifiers:i(1193,1,"An_export_declaration_cannot_have_modifiers_1193","An export declaration cannot have modifiers."),Export_declarations_are_not_permitted_in_a_namespace:i(1194,1,"Export_declarations_are_not_permitted_in_a_namespace_1194","Export declarations are not permitted in a namespace."),export_Asterisk_does_not_re_export_a_default:i(1195,1,"export_Asterisk_does_not_re_export_a_default_1195","'export *' does not re-export a default."),Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified:i(1196,1,"Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified_1196","Catch clause variable type annotation must be 'any' or 'unknown' if specified."),Catch_clause_variable_cannot_have_an_initializer:i(1197,1,"Catch_clause_variable_cannot_have_an_initializer_1197","Catch clause variable cannot have an initializer."),An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive:i(1198,1,"An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198","An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive."),Unterminated_Unicode_escape_sequence:i(1199,1,"Unterminated_Unicode_escape_sequence_1199","Unterminated Unicode escape sequence."),Line_terminator_not_permitted_before_arrow:i(1200,1,"Line_terminator_not_permitted_before_arrow_1200","Line terminator not permitted before arrow."),Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead:i(1202,1,"Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_1202",`Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead.`),Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead:i(1203,1,"Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or__1203","Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead."),Re_exporting_a_type_when_0_is_enabled_requires_using_export_type:i(1205,1,"Re_exporting_a_type_when_0_is_enabled_requires_using_export_type_1205","Re-exporting a type when '{0}' is enabled requires using 'export type'."),Decorators_are_not_valid_here:i(1206,1,"Decorators_are_not_valid_here_1206","Decorators are not valid here."),Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name:i(1207,1,"Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207","Decorators cannot be applied to multiple get/set accessors of the same name."),Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0:i(1209,1,"Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0_1209","Invalid optional chain from new expression. Did you mean to call '{0}()'?"),Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode:i(1210,1,"Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of__1210","Code contained in a class is evaluated in JavaScript's strict mode which does not allow this use of '{0}'. For more information, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode."),A_class_declaration_without_the_default_modifier_must_have_a_name:i(1211,1,"A_class_declaration_without_the_default_modifier_must_have_a_name_1211","A class declaration without the 'default' modifier must have a name."),Identifier_expected_0_is_a_reserved_word_in_strict_mode:i(1212,1,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212","Identifier expected. '{0}' is a reserved word in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:i(1213,1,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213","Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:i(1214,1,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214","Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode."),Invalid_use_of_0_Modules_are_automatically_in_strict_mode:i(1215,1,"Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215","Invalid use of '{0}'. Modules are automatically in strict mode."),Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules:i(1216,1,"Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216","Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules."),Export_assignment_is_not_supported_when_module_flag_is_system:i(1218,1,"Export_assignment_is_not_supported_when_module_flag_is_system_1218","Export assignment is not supported when '--module' flag is 'system'."),Generators_are_not_allowed_in_an_ambient_context:i(1221,1,"Generators_are_not_allowed_in_an_ambient_context_1221","Generators are not allowed in an ambient context."),An_overload_signature_cannot_be_declared_as_a_generator:i(1222,1,"An_overload_signature_cannot_be_declared_as_a_generator_1222","An overload signature cannot be declared as a generator."),_0_tag_already_specified:i(1223,1,"_0_tag_already_specified_1223","'{0}' tag already specified."),Signature_0_must_be_a_type_predicate:i(1224,1,"Signature_0_must_be_a_type_predicate_1224","Signature '{0}' must be a type predicate."),Cannot_find_parameter_0:i(1225,1,"Cannot_find_parameter_0_1225","Cannot find parameter '{0}'."),Type_predicate_0_is_not_assignable_to_1:i(1226,1,"Type_predicate_0_is_not_assignable_to_1_1226","Type predicate '{0}' is not assignable to '{1}'."),Parameter_0_is_not_in_the_same_position_as_parameter_1:i(1227,1,"Parameter_0_is_not_in_the_same_position_as_parameter_1_1227","Parameter '{0}' is not in the same position as parameter '{1}'."),A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods:i(1228,1,"A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228","A type predicate is only allowed in return type position for functions and methods."),A_type_predicate_cannot_reference_a_rest_parameter:i(1229,1,"A_type_predicate_cannot_reference_a_rest_parameter_1229","A type predicate cannot reference a rest parameter."),A_type_predicate_cannot_reference_element_0_in_a_binding_pattern:i(1230,1,"A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230","A type predicate cannot reference element '{0}' in a binding pattern."),An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration:i(1231,1,"An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration_1231","An export assignment must be at the top level of a file or module declaration."),An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module:i(1232,1,"An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module_1232","An import declaration can only be used at the top level of a namespace or module."),An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module:i(1233,1,"An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module_1233","An export declaration can only be used at the top level of a namespace or module."),An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:i(1234,1,"An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234","An ambient module declaration is only allowed at the top level in a file."),A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module:i(1235,1,"A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module_1235","A namespace declaration is only allowed at the top level of a namespace or module."),The_return_type_of_a_property_decorator_function_must_be_either_void_or_any:i(1236,1,"The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236","The return type of a property decorator function must be either 'void' or 'any'."),The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any:i(1237,1,"The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237","The return type of a parameter decorator function must be either 'void' or 'any'."),Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression:i(1238,1,"Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238","Unable to resolve signature of class decorator when called as an expression."),Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression:i(1239,1,"Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239","Unable to resolve signature of parameter decorator when called as an expression."),Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression:i(1240,1,"Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240","Unable to resolve signature of property decorator when called as an expression."),Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression:i(1241,1,"Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241","Unable to resolve signature of method decorator when called as an expression."),abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration:i(1242,1,"abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242","'abstract' modifier can only appear on a class, method, or property declaration."),_0_modifier_cannot_be_used_with_1_modifier:i(1243,1,"_0_modifier_cannot_be_used_with_1_modifier_1243","'{0}' modifier cannot be used with '{1}' modifier."),Abstract_methods_can_only_appear_within_an_abstract_class:i(1244,1,"Abstract_methods_can_only_appear_within_an_abstract_class_1244","Abstract methods can only appear within an abstract class."),Method_0_cannot_have_an_implementation_because_it_is_marked_abstract:i(1245,1,"Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245","Method '{0}' cannot have an implementation because it is marked abstract."),An_interface_property_cannot_have_an_initializer:i(1246,1,"An_interface_property_cannot_have_an_initializer_1246","An interface property cannot have an initializer."),A_type_literal_property_cannot_have_an_initializer:i(1247,1,"A_type_literal_property_cannot_have_an_initializer_1247","A type literal property cannot have an initializer."),A_class_member_cannot_have_the_0_keyword:i(1248,1,"A_class_member_cannot_have_the_0_keyword_1248","A class member cannot have the '{0}' keyword."),A_decorator_can_only_decorate_a_method_implementation_not_an_overload:i(1249,1,"A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249","A decorator can only decorate a method implementation, not an overload."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5:i(1250,1,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:i(1251,1,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Class definitions are automatically in strict mode."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:i(1252,1,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Modules are automatically in strict mode."),A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference:i(1254,1,"A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_refere_1254","A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference."),A_definite_assignment_assertion_is_not_permitted_in_this_context:i(1255,1,"A_definite_assignment_assertion_is_not_permitted_in_this_context_1255","A definite assignment assertion '!' is not permitted in this context."),A_required_element_cannot_follow_an_optional_element:i(1257,1,"A_required_element_cannot_follow_an_optional_element_1257","A required element cannot follow an optional element."),A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration:i(1258,1,"A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration_1258","A default export must be at the top level of a file or module declaration."),Module_0_can_only_be_default_imported_using_the_1_flag:i(1259,1,"Module_0_can_only_be_default_imported_using_the_1_flag_1259","Module '{0}' can only be default-imported using the '{1}' flag"),Keywords_cannot_contain_escape_characters:i(1260,1,"Keywords_cannot_contain_escape_characters_1260","Keywords cannot contain escape characters."),Already_included_file_name_0_differs_from_file_name_1_only_in_casing:i(1261,1,"Already_included_file_name_0_differs_from_file_name_1_only_in_casing_1261","Already included file name '{0}' differs from file name '{1}' only in casing."),Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module:i(1262,1,"Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module_1262","Identifier expected. '{0}' is a reserved word at the top-level of a module."),Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:i(1263,1,"Declarations_with_initializers_cannot_also_have_definite_assignment_assertions_1263","Declarations with initializers cannot also have definite assignment assertions."),Declarations_with_definite_assignment_assertions_must_also_have_type_annotations:i(1264,1,"Declarations_with_definite_assignment_assertions_must_also_have_type_annotations_1264","Declarations with definite assignment assertions must also have type annotations."),A_rest_element_cannot_follow_another_rest_element:i(1265,1,"A_rest_element_cannot_follow_another_rest_element_1265","A rest element cannot follow another rest element."),An_optional_element_cannot_follow_a_rest_element:i(1266,1,"An_optional_element_cannot_follow_a_rest_element_1266","An optional element cannot follow a rest element."),Property_0_cannot_have_an_initializer_because_it_is_marked_abstract:i(1267,1,"Property_0_cannot_have_an_initializer_because_it_is_marked_abstract_1267","Property '{0}' cannot have an initializer because it is marked abstract."),An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type:i(1268,1,"An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type_1268","An index signature parameter type must be 'string', 'number', 'symbol', or a template literal type."),Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled:i(1269,1,"Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled_1269","Cannot use 'export import' on a type or type-only namespace when '{0}' is enabled."),Decorator_function_return_type_0_is_not_assignable_to_type_1:i(1270,1,"Decorator_function_return_type_0_is_not_assignable_to_type_1_1270","Decorator function return type '{0}' is not assignable to type '{1}'."),Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any:i(1271,1,"Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any_1271","Decorator function return type is '{0}' but is expected to be 'void' or 'any'."),A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled:i(1272,1,"A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_w_1272","A type referenced in a decorated signature must be imported with 'import type' or a namespace import when 'isolatedModules' and 'emitDecoratorMetadata' are enabled."),_0_modifier_cannot_appear_on_a_type_parameter:i(1273,1,"_0_modifier_cannot_appear_on_a_type_parameter_1273","'{0}' modifier cannot appear on a type parameter"),_0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias:i(1274,1,"_0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias_1274","'{0}' modifier can only appear on a type parameter of a class, interface or type alias"),accessor_modifier_can_only_appear_on_a_property_declaration:i(1275,1,"accessor_modifier_can_only_appear_on_a_property_declaration_1275","'accessor' modifier can only appear on a property declaration."),An_accessor_property_cannot_be_declared_optional:i(1276,1,"An_accessor_property_cannot_be_declared_optional_1276","An 'accessor' property cannot be declared optional."),_0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class:i(1277,1,"_0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class_1277","'{0}' modifier can only appear on a type parameter of a function, method or class"),The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_0:i(1278,1,"The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_0_1278","The runtime will invoke the decorator with {1} arguments, but the decorator expects {0}."),The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_at_least_0:i(1279,1,"The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_at_least_0_1279","The runtime will invoke the decorator with {1} arguments, but the decorator expects at least {0}."),Namespaces_are_not_allowed_in_global_script_files_when_0_is_enabled_If_this_file_is_not_intended_to_be_a_global_script_set_moduleDetection_to_force_or_add_an_empty_export_statement:i(1280,1,"Namespaces_are_not_allowed_in_global_script_files_when_0_is_enabled_If_this_file_is_not_intended_to__1280","Namespaces are not allowed in global script files when '{0}' is enabled. If this file is not intended to be a global script, set 'moduleDetection' to 'force' or add an empty 'export {}' statement."),Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead:i(1281,1,"Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead_1281","Cannot access '{0}' from another file without qualification when '{1}' is enabled. Use '{2}' instead."),An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type:i(1282,1,"An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers__1282","An 'export =' declaration must reference a value when 'verbatimModuleSyntax' is enabled, but '{0}' only refers to a type."),An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration:i(1283,1,"An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolve_1283","An 'export =' declaration must reference a real value when 'verbatimModuleSyntax' is enabled, but '{0}' resolves to a type-only declaration."),An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type:i(1284,1,"An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_1284","An 'export default' must reference a value when 'verbatimModuleSyntax' is enabled, but '{0}' only refers to a type."),An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration:i(1285,1,"An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_1285","An 'export default' must reference a real value when 'verbatimModuleSyntax' is enabled, but '{0}' resolves to a type-only declaration."),ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled:i(1286,1,"ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled_1286","ESM syntax is not allowed in a CommonJS module when 'verbatimModuleSyntax' is enabled."),A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled:i(1287,1,"A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimM_1287","A top-level 'export' modifier cannot be used on value declarations in a CommonJS module when 'verbatimModuleSyntax' is enabled."),An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabled:i(1288,1,"An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabl_1288","An import alias cannot resolve to a type or type-only declaration when 'verbatimModuleSyntax' is enabled."),with_statements_are_not_allowed_in_an_async_function_block:i(1300,1,"with_statements_are_not_allowed_in_an_async_function_block_1300","'with' statements are not allowed in an async function block."),await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:i(1308,1,"await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1308","'await' expressions are only allowed within async functions and at the top levels of modules."),The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level:i(1309,1,"The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level_1309","The current file is a CommonJS module and cannot use 'await' at the top level."),Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern:i(1312,1,"Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_1312","Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern."),The_body_of_an_if_statement_cannot_be_the_empty_statement:i(1313,1,"The_body_of_an_if_statement_cannot_be_the_empty_statement_1313","The body of an 'if' statement cannot be the empty statement."),Global_module_exports_may_only_appear_in_module_files:i(1314,1,"Global_module_exports_may_only_appear_in_module_files_1314","Global module exports may only appear in module files."),Global_module_exports_may_only_appear_in_declaration_files:i(1315,1,"Global_module_exports_may_only_appear_in_declaration_files_1315","Global module exports may only appear in declaration files."),Global_module_exports_may_only_appear_at_top_level:i(1316,1,"Global_module_exports_may_only_appear_at_top_level_1316","Global module exports may only appear at top level."),A_parameter_property_cannot_be_declared_using_a_rest_parameter:i(1317,1,"A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317","A parameter property cannot be declared using a rest parameter."),An_abstract_accessor_cannot_have_an_implementation:i(1318,1,"An_abstract_accessor_cannot_have_an_implementation_1318","An abstract accessor cannot have an implementation."),A_default_export_can_only_be_used_in_an_ECMAScript_style_module:i(1319,1,"A_default_export_can_only_be_used_in_an_ECMAScript_style_module_1319","A default export can only be used in an ECMAScript-style module."),Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:i(1320,1,"Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320","Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member."),Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:i(1321,1,"Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321","Type of 'yield' operand in an async generator must either be a valid promise or must not contain a callable 'then' member."),Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:i(1322,1,"Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322","Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member."),Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node16_or_nodenext:i(1323,1,"Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd__1323","Dynamic imports are only supported when the '--module' flag is set to 'es2020', 'es2022', 'esnext', 'commonjs', 'amd', 'system', 'umd', 'node16', or 'nodenext'."),Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_or_nodenext:i(1324,1,"Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_or_nod_1324","Dynamic imports only support a second argument when the '--module' option is set to 'esnext', 'node16', or 'nodenext'."),Argument_of_dynamic_import_cannot_be_spread_element:i(1325,1,"Argument_of_dynamic_import_cannot_be_spread_element_1325","Argument of dynamic import cannot be spread element."),This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments:i(1326,1,"This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot__1326","This use of 'import' is invalid. 'import()' calls can be written, but they must have parentheses and cannot have type arguments."),String_literal_with_double_quotes_expected:i(1327,1,"String_literal_with_double_quotes_expected_1327","String literal with double quotes expected."),Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal:i(1328,1,"Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_li_1328","Property value can only be string literal, numeric literal, 'true', 'false', 'null', object literal or array literal."),_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0:i(1329,1,"_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write__1329","'{0}' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@{0}()'?"),A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly:i(1330,1,"A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly_1330","A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'."),A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly:i(1331,1,"A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly_1331","A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'."),A_variable_whose_type_is_a_unique_symbol_type_must_be_const:i(1332,1,"A_variable_whose_type_is_a_unique_symbol_type_must_be_const_1332","A variable whose type is a 'unique symbol' type must be 'const'."),unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name:i(1333,1,"unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name_1333","'unique symbol' types may not be used on a variable declaration with a binding name."),unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement:i(1334,1,"unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement_1334","'unique symbol' types are only allowed on variables in a variable statement."),unique_symbol_types_are_not_allowed_here:i(1335,1,"unique_symbol_types_are_not_allowed_here_1335","'unique symbol' types are not allowed here."),An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead:i(1337,1,"An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_o_1337","An index signature parameter type cannot be a literal type or generic type. Consider using a mapped object type instead."),infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type:i(1338,1,"infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type_1338","'infer' declarations are only permitted in the 'extends' clause of a conditional type."),Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here:i(1339,1,"Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here_1339","Module '{0}' does not refer to a value, but is used as a value here."),Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0:i(1340,1,"Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0_1340","Module '{0}' does not refer to a type, but is used as a type here. Did you mean 'typeof import('{0}')'?"),Class_constructor_may_not_be_an_accessor:i(1341,1,"Class_constructor_may_not_be_an_accessor_1341","Class constructor may not be an accessor."),The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node16_or_nodenext:i(1343,1,"The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system__1343","The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'es2022', 'esnext', 'system', 'node16', or 'nodenext'."),A_label_is_not_allowed_here:i(1344,1,"A_label_is_not_allowed_here_1344","'A label is not allowed here."),An_expression_of_type_void_cannot_be_tested_for_truthiness:i(1345,1,"An_expression_of_type_void_cannot_be_tested_for_truthiness_1345","An expression of type 'void' cannot be tested for truthiness."),This_parameter_is_not_allowed_with_use_strict_directive:i(1346,1,"This_parameter_is_not_allowed_with_use_strict_directive_1346","This parameter is not allowed with 'use strict' directive."),use_strict_directive_cannot_be_used_with_non_simple_parameter_list:i(1347,1,"use_strict_directive_cannot_be_used_with_non_simple_parameter_list_1347","'use strict' directive cannot be used with non-simple parameter list."),Non_simple_parameter_declared_here:i(1348,1,"Non_simple_parameter_declared_here_1348","Non-simple parameter declared here."),use_strict_directive_used_here:i(1349,1,"use_strict_directive_used_here_1349","'use strict' directive used here."),Print_the_final_configuration_instead_of_building:i(1350,3,"Print_the_final_configuration_instead_of_building_1350","Print the final configuration instead of building."),An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal:i(1351,1,"An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal_1351","An identifier or keyword cannot immediately follow a numeric literal."),A_bigint_literal_cannot_use_exponential_notation:i(1352,1,"A_bigint_literal_cannot_use_exponential_notation_1352","A bigint literal cannot use exponential notation."),A_bigint_literal_must_be_an_integer:i(1353,1,"A_bigint_literal_must_be_an_integer_1353","A bigint literal must be an integer."),readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types:i(1354,1,"readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types_1354","'readonly' type modifier is only permitted on array and tuple literal types."),A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array_or_object_literals:i(1355,1,"A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array__1355","A 'const' assertions can only be applied to references to enum members, or string, number, boolean, array, or object literals."),Did_you_mean_to_mark_this_function_as_async:i(1356,1,"Did_you_mean_to_mark_this_function_as_async_1356","Did you mean to mark this function as 'async'?"),An_enum_member_name_must_be_followed_by_a_or:i(1357,1,"An_enum_member_name_must_be_followed_by_a_or_1357","An enum member name must be followed by a ',', '=', or '}'."),Tagged_template_expressions_are_not_permitted_in_an_optional_chain:i(1358,1,"Tagged_template_expressions_are_not_permitted_in_an_optional_chain_1358","Tagged template expressions are not permitted in an optional chain."),Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:i(1359,1,"Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359","Identifier expected. '{0}' is a reserved word that cannot be used here."),Type_0_does_not_satisfy_the_expected_type_1:i(1360,1,"Type_0_does_not_satisfy_the_expected_type_1_1360","Type '{0}' does not satisfy the expected type '{1}'."),_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type:i(1361,1,"_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type_1361","'{0}' cannot be used as a value because it was imported using 'import type'."),_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:i(1362,1,"_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type_1362","'{0}' cannot be used as a value because it was exported using 'export type'."),A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both:i(1363,1,"A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both_1363","A type-only import can specify a default import or named bindings, but not both."),Convert_to_type_only_export:i(1364,3,"Convert_to_type_only_export_1364","Convert to type-only export"),Convert_all_re_exported_types_to_type_only_exports:i(1365,3,"Convert_all_re_exported_types_to_type_only_exports_1365","Convert all re-exported types to type-only exports"),Split_into_two_separate_import_declarations:i(1366,3,"Split_into_two_separate_import_declarations_1366","Split into two separate import declarations"),Split_all_invalid_type_only_imports:i(1367,3,"Split_all_invalid_type_only_imports_1367","Split all invalid type-only imports"),Class_constructor_may_not_be_a_generator:i(1368,1,"Class_constructor_may_not_be_a_generator_1368","Class constructor may not be a generator."),Did_you_mean_0:i(1369,3,"Did_you_mean_0_1369","Did you mean '{0}'?"),This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set_to_error:i(1371,1,"This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set__1371","This import is never used as a value and must use 'import type' because 'importsNotUsedAsValues' is set to 'error'."),Convert_to_type_only_import:i(1373,3,"Convert_to_type_only_import_1373","Convert to type-only import"),Convert_all_imports_not_used_as_a_value_to_type_only_imports:i(1374,3,"Convert_all_imports_not_used_as_a_value_to_type_only_imports_1374","Convert all imports not used as a value to type-only imports"),await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:i(1375,1,"await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_fi_1375","'await' expressions are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),_0_was_imported_here:i(1376,3,"_0_was_imported_here_1376","'{0}' was imported here."),_0_was_exported_here:i(1377,3,"_0_was_exported_here_1377","'{0}' was exported here."),Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher:i(1378,1,"Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_n_1378","Top-level 'await' expressions are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', or 'nodenext', and the 'target' option is set to 'es2017' or higher."),An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type:i(1379,1,"An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type_1379","An import alias cannot reference a declaration that was exported using 'export type'."),An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type:i(1380,1,"An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type_1380","An import alias cannot reference a declaration that was imported using 'import type'."),Unexpected_token_Did_you_mean_or_rbrace:i(1381,1,"Unexpected_token_Did_you_mean_or_rbrace_1381","Unexpected token. Did you mean `{'}'}` or `}`?"),Unexpected_token_Did_you_mean_or_gt:i(1382,1,"Unexpected_token_Did_you_mean_or_gt_1382","Unexpected token. Did you mean `{'>'}` or `>`?"),Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:i(1385,1,"Function_type_notation_must_be_parenthesized_when_used_in_a_union_type_1385","Function type notation must be parenthesized when used in a union type."),Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:i(1386,1,"Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type_1386","Constructor type notation must be parenthesized when used in a union type."),Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:i(1387,1,"Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1387","Function type notation must be parenthesized when used in an intersection type."),Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:i(1388,1,"Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1388","Constructor type notation must be parenthesized when used in an intersection type."),_0_is_not_allowed_as_a_variable_declaration_name:i(1389,1,"_0_is_not_allowed_as_a_variable_declaration_name_1389","'{0}' is not allowed as a variable declaration name."),_0_is_not_allowed_as_a_parameter_name:i(1390,1,"_0_is_not_allowed_as_a_parameter_name_1390","'{0}' is not allowed as a parameter name."),An_import_alias_cannot_use_import_type:i(1392,1,"An_import_alias_cannot_use_import_type_1392","An import alias cannot use 'import type'"),Imported_via_0_from_file_1:i(1393,3,"Imported_via_0_from_file_1_1393","Imported via {0} from file '{1}'"),Imported_via_0_from_file_1_with_packageId_2:i(1394,3,"Imported_via_0_from_file_1_with_packageId_2_1394","Imported via {0} from file '{1}' with packageId '{2}'"),Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions:i(1395,3,"Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions_1395","Imported via {0} from file '{1}' to import 'importHelpers' as specified in compilerOptions"),Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions:i(1396,3,"Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions_1396","Imported via {0} from file '{1}' with packageId '{2}' to import 'importHelpers' as specified in compilerOptions"),Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions:i(1397,3,"Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions_1397","Imported via {0} from file '{1}' to import 'jsx' and 'jsxs' factory functions"),Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions:i(1398,3,"Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions_1398","Imported via {0} from file '{1}' with packageId '{2}' to import 'jsx' and 'jsxs' factory functions"),File_is_included_via_import_here:i(1399,3,"File_is_included_via_import_here_1399","File is included via import here."),Referenced_via_0_from_file_1:i(1400,3,"Referenced_via_0_from_file_1_1400","Referenced via '{0}' from file '{1}'"),File_is_included_via_reference_here:i(1401,3,"File_is_included_via_reference_here_1401","File is included via reference here."),Type_library_referenced_via_0_from_file_1:i(1402,3,"Type_library_referenced_via_0_from_file_1_1402","Type library referenced via '{0}' from file '{1}'"),Type_library_referenced_via_0_from_file_1_with_packageId_2:i(1403,3,"Type_library_referenced_via_0_from_file_1_with_packageId_2_1403","Type library referenced via '{0}' from file '{1}' with packageId '{2}'"),File_is_included_via_type_library_reference_here:i(1404,3,"File_is_included_via_type_library_reference_here_1404","File is included via type library reference here."),Library_referenced_via_0_from_file_1:i(1405,3,"Library_referenced_via_0_from_file_1_1405","Library referenced via '{0}' from file '{1}'"),File_is_included_via_library_reference_here:i(1406,3,"File_is_included_via_library_reference_here_1406","File is included via library reference here."),Matched_by_include_pattern_0_in_1:i(1407,3,"Matched_by_include_pattern_0_in_1_1407","Matched by include pattern '{0}' in '{1}'"),File_is_matched_by_include_pattern_specified_here:i(1408,3,"File_is_matched_by_include_pattern_specified_here_1408","File is matched by include pattern specified here."),Part_of_files_list_in_tsconfig_json:i(1409,3,"Part_of_files_list_in_tsconfig_json_1409","Part of 'files' list in tsconfig.json"),File_is_matched_by_files_list_specified_here:i(1410,3,"File_is_matched_by_files_list_specified_here_1410","File is matched by 'files' list specified here."),Output_from_referenced_project_0_included_because_1_specified:i(1411,3,"Output_from_referenced_project_0_included_because_1_specified_1411","Output from referenced project '{0}' included because '{1}' specified"),Output_from_referenced_project_0_included_because_module_is_specified_as_none:i(1412,3,"Output_from_referenced_project_0_included_because_module_is_specified_as_none_1412","Output from referenced project '{0}' included because '--module' is specified as 'none'"),File_is_output_from_referenced_project_specified_here:i(1413,3,"File_is_output_from_referenced_project_specified_here_1413","File is output from referenced project specified here."),Source_from_referenced_project_0_included_because_1_specified:i(1414,3,"Source_from_referenced_project_0_included_because_1_specified_1414","Source from referenced project '{0}' included because '{1}' specified"),Source_from_referenced_project_0_included_because_module_is_specified_as_none:i(1415,3,"Source_from_referenced_project_0_included_because_module_is_specified_as_none_1415","Source from referenced project '{0}' included because '--module' is specified as 'none'"),File_is_source_from_referenced_project_specified_here:i(1416,3,"File_is_source_from_referenced_project_specified_here_1416","File is source from referenced project specified here."),Entry_point_of_type_library_0_specified_in_compilerOptions:i(1417,3,"Entry_point_of_type_library_0_specified_in_compilerOptions_1417","Entry point of type library '{0}' specified in compilerOptions"),Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1:i(1418,3,"Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1_1418","Entry point of type library '{0}' specified in compilerOptions with packageId '{1}'"),File_is_entry_point_of_type_library_specified_here:i(1419,3,"File_is_entry_point_of_type_library_specified_here_1419","File is entry point of type library specified here."),Entry_point_for_implicit_type_library_0:i(1420,3,"Entry_point_for_implicit_type_library_0_1420","Entry point for implicit type library '{0}'"),Entry_point_for_implicit_type_library_0_with_packageId_1:i(1421,3,"Entry_point_for_implicit_type_library_0_with_packageId_1_1421","Entry point for implicit type library '{0}' with packageId '{1}'"),Library_0_specified_in_compilerOptions:i(1422,3,"Library_0_specified_in_compilerOptions_1422","Library '{0}' specified in compilerOptions"),File_is_library_specified_here:i(1423,3,"File_is_library_specified_here_1423","File is library specified here."),Default_library:i(1424,3,"Default_library_1424","Default library"),Default_library_for_target_0:i(1425,3,"Default_library_for_target_0_1425","Default library for target '{0}'"),File_is_default_library_for_target_specified_here:i(1426,3,"File_is_default_library_for_target_specified_here_1426","File is default library for target specified here."),Root_file_specified_for_compilation:i(1427,3,"Root_file_specified_for_compilation_1427","Root file specified for compilation"),File_is_output_of_project_reference_source_0:i(1428,3,"File_is_output_of_project_reference_source_0_1428","File is output of project reference source '{0}'"),File_redirects_to_file_0:i(1429,3,"File_redirects_to_file_0_1429","File redirects to file '{0}'"),The_file_is_in_the_program_because_Colon:i(1430,3,"The_file_is_in_the_program_because_Colon_1430","The file is in the program because:"),for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:i(1431,1,"for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_1431","'for await' loops are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher:i(1432,1,"Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_nod_1432","Top-level 'for await' loops are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', or 'nodenext', and the 'target' option is set to 'es2017' or higher."),Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters:i(1433,1,"Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters_1433","Neither decorators nor modifiers may be applied to 'this' parameters."),Unexpected_keyword_or_identifier:i(1434,1,"Unexpected_keyword_or_identifier_1434","Unexpected keyword or identifier."),Unknown_keyword_or_identifier_Did_you_mean_0:i(1435,1,"Unknown_keyword_or_identifier_Did_you_mean_0_1435","Unknown keyword or identifier. Did you mean '{0}'?"),Decorators_must_precede_the_name_and_all_keywords_of_property_declarations:i(1436,1,"Decorators_must_precede_the_name_and_all_keywords_of_property_declarations_1436","Decorators must precede the name and all keywords of property declarations."),Namespace_must_be_given_a_name:i(1437,1,"Namespace_must_be_given_a_name_1437","Namespace must be given a name."),Interface_must_be_given_a_name:i(1438,1,"Interface_must_be_given_a_name_1438","Interface must be given a name."),Type_alias_must_be_given_a_name:i(1439,1,"Type_alias_must_be_given_a_name_1439","Type alias must be given a name."),Variable_declaration_not_allowed_at_this_location:i(1440,1,"Variable_declaration_not_allowed_at_this_location_1440","Variable declaration not allowed at this location."),Cannot_start_a_function_call_in_a_type_annotation:i(1441,1,"Cannot_start_a_function_call_in_a_type_annotation_1441","Cannot start a function call in a type annotation."),Expected_for_property_initializer:i(1442,1,"Expected_for_property_initializer_1442","Expected '=' for property initializer."),Module_declaration_names_may_only_use_or_quoted_strings:i(1443,1,"Module_declaration_names_may_only_use_or_quoted_strings_1443",`Module declaration names may only use ' or " quoted strings.`),_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled:i(1444,1,"_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedMod_1444","'{0}' is a type and must be imported using a type-only import when 'preserveValueImports' and 'isolatedModules' are both enabled."),_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled:i(1446,1,"_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveVa_1446","'{0}' resolves to a type-only declaration and must be imported using a type-only import when 'preserveValueImports' and 'isolatedModules' are both enabled."),_0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_enabled:i(1448,1,"_0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_1448","'{0}' resolves to a type-only declaration and must be re-exported using a type-only re-export when '{1}' is enabled."),Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed:i(1449,3,"Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed_1449","Preserve unused imported values in the JavaScript output that would otherwise be removed."),Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments:i(1450,3,"Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments_1450","Dynamic imports can only accept a module specifier and an optional assertion as arguments"),Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression:i(1451,1,"Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member__1451","Private identifiers are only allowed in class bodies and may only be used as part of a class member declaration, property access, or on the left-hand-side of an 'in' expression"),resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext:i(1452,1,"resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext_1452","'resolution-mode' assertions are only supported when `moduleResolution` is `node16` or `nodenext`."),resolution_mode_should_be_either_require_or_import:i(1453,1,"resolution_mode_should_be_either_require_or_import_1453","`resolution-mode` should be either `require` or `import`."),resolution_mode_can_only_be_set_for_type_only_imports:i(1454,1,"resolution_mode_can_only_be_set_for_type_only_imports_1454","`resolution-mode` can only be set for type-only imports."),resolution_mode_is_the_only_valid_key_for_type_import_assertions:i(1455,1,"resolution_mode_is_the_only_valid_key_for_type_import_assertions_1455","`resolution-mode` is the only valid key for type import assertions."),Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require:i(1456,1,"Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require_1456","Type import assertions should have exactly one key - `resolution-mode` - with value `import` or `require`."),Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk:i(1457,3,"Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk_1457","Matched by default include pattern '**/*'"),File_is_ECMAScript_module_because_0_has_field_type_with_value_module:i(1458,3,"File_is_ECMAScript_module_because_0_has_field_type_with_value_module_1458",`File is ECMAScript module because '{0}' has field "type" with value "module"`),File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module:i(1459,3,"File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module_1459",`File is CommonJS module because '{0}' has field "type" whose value is not "module"`),File_is_CommonJS_module_because_0_does_not_have_field_type:i(1460,3,"File_is_CommonJS_module_because_0_does_not_have_field_type_1460",`File is CommonJS module because '{0}' does not have field "type"`),File_is_CommonJS_module_because_package_json_was_not_found:i(1461,3,"File_is_CommonJS_module_because_package_json_was_not_found_1461","File is CommonJS module because 'package.json' was not found"),The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output:i(1470,1,"The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output_1470","The 'import.meta' meta-property is not allowed in files which will build into CommonJS output."),Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_with_require_Use_an_ECMAScript_import_instead:i(1471,1,"Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_c_1471","Module '{0}' cannot be imported using this construct. The specifier only resolves to an ES module, which cannot be imported with 'require'. Use an ECMAScript import instead."),catch_or_finally_expected:i(1472,1,"catch_or_finally_expected_1472","'catch' or 'finally' expected."),An_import_declaration_can_only_be_used_at_the_top_level_of_a_module:i(1473,1,"An_import_declaration_can_only_be_used_at_the_top_level_of_a_module_1473","An import declaration can only be used at the top level of a module."),An_export_declaration_can_only_be_used_at_the_top_level_of_a_module:i(1474,1,"An_export_declaration_can_only_be_used_at_the_top_level_of_a_module_1474","An export declaration can only be used at the top level of a module."),Control_what_method_is_used_to_detect_module_format_JS_files:i(1475,3,"Control_what_method_is_used_to_detect_module_format_JS_files_1475","Control what method is used to detect module-format JS files."),auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_with_module_Colon_node16_as_modules:i(1476,3,"auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_w_1476",'"auto": Treat files with imports, exports, import.meta, jsx (with jsx: react-jsx), or esm format (with module: node16+) as modules.'),An_instantiation_expression_cannot_be_followed_by_a_property_access:i(1477,1,"An_instantiation_expression_cannot_be_followed_by_a_property_access_1477","An instantiation expression cannot be followed by a property access."),Identifier_or_string_literal_expected:i(1478,1,"Identifier_or_string_literal_expected_1478","Identifier or string literal expected."),The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_referenced_file_is_an_ECMAScript_module_and_cannot_be_imported_with_require_Consider_writing_a_dynamic_import_0_call_instead:i(1479,1,"The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_reference_1479",`The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("{0}")' call instead.`),To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_package_json_file_with_type_Colon_module:i(1480,3,"To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_packag_1480",'To convert this file to an ECMAScript module, change its file extension to \'{0}\' or create a local package.json file with `{ "type": "module" }`.'),To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1:i(1481,3,"To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Co_1481",`To convert this file to an ECMAScript module, change its file extension to '{0}', or add the field \`"type": "module"\` to '{1}'.`),To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0:i(1482,3,"To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0_1482",'To convert this file to an ECMAScript module, add the field `"type": "module"` to \'{0}\'.'),To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module:i(1483,3,"To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module_1483",'To convert this file to an ECMAScript module, create a local package.json file with `{ "type": "module" }`.'),_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled:i(1484,1,"_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled_1484","'{0}' is a type and must be imported using a type-only import when 'verbatimModuleSyntax' is enabled."),_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled:i(1485,1,"_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimMo_1485","'{0}' resolves to a type-only declaration and must be imported using a type-only import when 'verbatimModuleSyntax' is enabled."),Decorator_used_before_export_here:i(1486,1,"Decorator_used_before_export_here_1486","Decorator used before 'export' here."),The_types_of_0_are_incompatible_between_these_types:i(2200,1,"The_types_of_0_are_incompatible_between_these_types_2200","The types of '{0}' are incompatible between these types."),The_types_returned_by_0_are_incompatible_between_these_types:i(2201,1,"The_types_returned_by_0_are_incompatible_between_these_types_2201","The types returned by '{0}' are incompatible between these types."),Call_signature_return_types_0_and_1_are_incompatible:i(2202,1,"Call_signature_return_types_0_and_1_are_incompatible_2202","Call signature return types '{0}' and '{1}' are incompatible.",void 0,!0),Construct_signature_return_types_0_and_1_are_incompatible:i(2203,1,"Construct_signature_return_types_0_and_1_are_incompatible_2203","Construct signature return types '{0}' and '{1}' are incompatible.",void 0,!0),Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:i(2204,1,"Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2204","Call signatures with no arguments have incompatible return types '{0}' and '{1}'.",void 0,!0),Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:i(2205,1,"Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2205","Construct signatures with no arguments have incompatible return types '{0}' and '{1}'.",void 0,!0),The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement:i(2206,1,"The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement_2206","The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement."),The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement:i(2207,1,"The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement_2207","The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement."),This_type_parameter_might_need_an_extends_0_constraint:i(2208,1,"This_type_parameter_might_need_an_extends_0_constraint_2208","This type parameter might need an `extends {0}` constraint."),The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate:i(2209,1,"The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_roo_2209","The project root is ambiguous, but is required to resolve export map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate."),The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate:i(2210,1,"The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_roo_2210","The project root is ambiguous, but is required to resolve import map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate."),Add_extends_constraint:i(2211,3,"Add_extends_constraint_2211","Add `extends` constraint."),Add_extends_constraint_to_all_type_parameters:i(2212,3,"Add_extends_constraint_to_all_type_parameters_2212","Add `extends` constraint to all type parameters"),Duplicate_identifier_0:i(2300,1,"Duplicate_identifier_0_2300","Duplicate identifier '{0}'."),Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:i(2301,1,"Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301","Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."),Static_members_cannot_reference_class_type_parameters:i(2302,1,"Static_members_cannot_reference_class_type_parameters_2302","Static members cannot reference class type parameters."),Circular_definition_of_import_alias_0:i(2303,1,"Circular_definition_of_import_alias_0_2303","Circular definition of import alias '{0}'."),Cannot_find_name_0:i(2304,1,"Cannot_find_name_0_2304","Cannot find name '{0}'."),Module_0_has_no_exported_member_1:i(2305,1,"Module_0_has_no_exported_member_1_2305","Module '{0}' has no exported member '{1}'."),File_0_is_not_a_module:i(2306,1,"File_0_is_not_a_module_2306","File '{0}' is not a module."),Cannot_find_module_0_or_its_corresponding_type_declarations:i(2307,1,"Cannot_find_module_0_or_its_corresponding_type_declarations_2307","Cannot find module '{0}' or its corresponding type declarations."),Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity:i(2308,1,"Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308","Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity."),An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements:i(2309,1,"An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309","An export assignment cannot be used in a module with other exported elements."),Type_0_recursively_references_itself_as_a_base_type:i(2310,1,"Type_0_recursively_references_itself_as_a_base_type_2310","Type '{0}' recursively references itself as a base type."),Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function:i(2311,1,"Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function_2311","Cannot find name '{0}'. Did you mean to write this in an async function?"),An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members:i(2312,1,"An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_me_2312","An interface can only extend an object type or intersection of object types with statically known members."),Type_parameter_0_has_a_circular_constraint:i(2313,1,"Type_parameter_0_has_a_circular_constraint_2313","Type parameter '{0}' has a circular constraint."),Generic_type_0_requires_1_type_argument_s:i(2314,1,"Generic_type_0_requires_1_type_argument_s_2314","Generic type '{0}' requires {1} type argument(s)."),Type_0_is_not_generic:i(2315,1,"Type_0_is_not_generic_2315","Type '{0}' is not generic."),Global_type_0_must_be_a_class_or_interface_type:i(2316,1,"Global_type_0_must_be_a_class_or_interface_type_2316","Global type '{0}' must be a class or interface type."),Global_type_0_must_have_1_type_parameter_s:i(2317,1,"Global_type_0_must_have_1_type_parameter_s_2317","Global type '{0}' must have {1} type parameter(s)."),Cannot_find_global_type_0:i(2318,1,"Cannot_find_global_type_0_2318","Cannot find global type '{0}'."),Named_property_0_of_types_1_and_2_are_not_identical:i(2319,1,"Named_property_0_of_types_1_and_2_are_not_identical_2319","Named property '{0}' of types '{1}' and '{2}' are not identical."),Interface_0_cannot_simultaneously_extend_types_1_and_2:i(2320,1,"Interface_0_cannot_simultaneously_extend_types_1_and_2_2320","Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'."),Excessive_stack_depth_comparing_types_0_and_1:i(2321,1,"Excessive_stack_depth_comparing_types_0_and_1_2321","Excessive stack depth comparing types '{0}' and '{1}'."),Type_0_is_not_assignable_to_type_1:i(2322,1,"Type_0_is_not_assignable_to_type_1_2322","Type '{0}' is not assignable to type '{1}'."),Cannot_redeclare_exported_variable_0:i(2323,1,"Cannot_redeclare_exported_variable_0_2323","Cannot redeclare exported variable '{0}'."),Property_0_is_missing_in_type_1:i(2324,1,"Property_0_is_missing_in_type_1_2324","Property '{0}' is missing in type '{1}'."),Property_0_is_private_in_type_1_but_not_in_type_2:i(2325,1,"Property_0_is_private_in_type_1_but_not_in_type_2_2325","Property '{0}' is private in type '{1}' but not in type '{2}'."),Types_of_property_0_are_incompatible:i(2326,1,"Types_of_property_0_are_incompatible_2326","Types of property '{0}' are incompatible."),Property_0_is_optional_in_type_1_but_required_in_type_2:i(2327,1,"Property_0_is_optional_in_type_1_but_required_in_type_2_2327","Property '{0}' is optional in type '{1}' but required in type '{2}'."),Types_of_parameters_0_and_1_are_incompatible:i(2328,1,"Types_of_parameters_0_and_1_are_incompatible_2328","Types of parameters '{0}' and '{1}' are incompatible."),Index_signature_for_type_0_is_missing_in_type_1:i(2329,1,"Index_signature_for_type_0_is_missing_in_type_1_2329","Index signature for type '{0}' is missing in type '{1}'."),_0_and_1_index_signatures_are_incompatible:i(2330,1,"_0_and_1_index_signatures_are_incompatible_2330","'{0}' and '{1}' index signatures are incompatible."),this_cannot_be_referenced_in_a_module_or_namespace_body:i(2331,1,"this_cannot_be_referenced_in_a_module_or_namespace_body_2331","'this' cannot be referenced in a module or namespace body."),this_cannot_be_referenced_in_current_location:i(2332,1,"this_cannot_be_referenced_in_current_location_2332","'this' cannot be referenced in current location."),this_cannot_be_referenced_in_constructor_arguments:i(2333,1,"this_cannot_be_referenced_in_constructor_arguments_2333","'this' cannot be referenced in constructor arguments."),this_cannot_be_referenced_in_a_static_property_initializer:i(2334,1,"this_cannot_be_referenced_in_a_static_property_initializer_2334","'this' cannot be referenced in a static property initializer."),super_can_only_be_referenced_in_a_derived_class:i(2335,1,"super_can_only_be_referenced_in_a_derived_class_2335","'super' can only be referenced in a derived class."),super_cannot_be_referenced_in_constructor_arguments:i(2336,1,"super_cannot_be_referenced_in_constructor_arguments_2336","'super' cannot be referenced in constructor arguments."),Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors:i(2337,1,"Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337","Super calls are not permitted outside constructors or in nested functions inside constructors."),super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class:i(2338,1,"super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338","'super' property access is permitted only in a constructor, member function, or member accessor of a derived class."),Property_0_does_not_exist_on_type_1:i(2339,1,"Property_0_does_not_exist_on_type_1_2339","Property '{0}' does not exist on type '{1}'."),Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword:i(2340,1,"Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340","Only public and protected methods of the base class are accessible via the 'super' keyword."),Property_0_is_private_and_only_accessible_within_class_1:i(2341,1,"Property_0_is_private_and_only_accessible_within_class_1_2341","Property '{0}' is private and only accessible within class '{1}'."),This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0:i(2343,1,"This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_ve_2343","This syntax requires an imported helper named '{1}' which does not exist in '{0}'. Consider upgrading your version of '{0}'."),Type_0_does_not_satisfy_the_constraint_1:i(2344,1,"Type_0_does_not_satisfy_the_constraint_1_2344","Type '{0}' does not satisfy the constraint '{1}'."),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1:i(2345,1,"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345","Argument of type '{0}' is not assignable to parameter of type '{1}'."),Call_target_does_not_contain_any_signatures:i(2346,1,"Call_target_does_not_contain_any_signatures_2346","Call target does not contain any signatures."),Untyped_function_calls_may_not_accept_type_arguments:i(2347,1,"Untyped_function_calls_may_not_accept_type_arguments_2347","Untyped function calls may not accept type arguments."),Value_of_type_0_is_not_callable_Did_you_mean_to_include_new:i(2348,1,"Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348","Value of type '{0}' is not callable. Did you mean to include 'new'?"),This_expression_is_not_callable:i(2349,1,"This_expression_is_not_callable_2349","This expression is not callable."),Only_a_void_function_can_be_called_with_the_new_keyword:i(2350,1,"Only_a_void_function_can_be_called_with_the_new_keyword_2350","Only a void function can be called with the 'new' keyword."),This_expression_is_not_constructable:i(2351,1,"This_expression_is_not_constructable_2351","This expression is not constructable."),Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first:i(2352,1,"Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the__2352","Conversion of type '{0}' to type '{1}' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first."),Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1:i(2353,1,"Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353","Object literal may only specify known properties, and '{0}' does not exist in type '{1}'."),This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found:i(2354,1,"This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found_2354","This syntax requires an imported helper but module '{0}' cannot be found."),A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value:i(2355,1,"A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_2355","A function whose declared type is neither 'void' nor 'any' must return a value."),An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type:i(2356,1,"An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type_2356","An arithmetic operand must be of type 'any', 'number', 'bigint' or an enum type."),The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access:i(2357,1,"The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357","The operand of an increment or decrement operator must be a variable or a property access."),The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:i(2358,1,"The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358","The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter."),The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type:i(2359,1,"The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_F_2359","The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type."),The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:i(2362,1,"The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2362","The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:i(2363,1,"The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2363","The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access:i(2364,1,"The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364","The left-hand side of an assignment expression must be a variable or a property access."),Operator_0_cannot_be_applied_to_types_1_and_2:i(2365,1,"Operator_0_cannot_be_applied_to_types_1_and_2_2365","Operator '{0}' cannot be applied to types '{1}' and '{2}'."),Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined:i(2366,1,"Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366","Function lacks ending return statement and return type does not include 'undefined'."),This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap:i(2367,1,"This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap_2367","This comparison appears to be unintentional because the types '{0}' and '{1}' have no overlap."),Type_parameter_name_cannot_be_0:i(2368,1,"Type_parameter_name_cannot_be_0_2368","Type parameter name cannot be '{0}'."),A_parameter_property_is_only_allowed_in_a_constructor_implementation:i(2369,1,"A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369","A parameter property is only allowed in a constructor implementation."),A_rest_parameter_must_be_of_an_array_type:i(2370,1,"A_rest_parameter_must_be_of_an_array_type_2370","A rest parameter must be of an array type."),A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation:i(2371,1,"A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371","A parameter initializer is only allowed in a function or constructor implementation."),Parameter_0_cannot_reference_itself:i(2372,1,"Parameter_0_cannot_reference_itself_2372","Parameter '{0}' cannot reference itself."),Parameter_0_cannot_reference_identifier_1_declared_after_it:i(2373,1,"Parameter_0_cannot_reference_identifier_1_declared_after_it_2373","Parameter '{0}' cannot reference identifier '{1}' declared after it."),Duplicate_index_signature_for_type_0:i(2374,1,"Duplicate_index_signature_for_type_0_2374","Duplicate index signature for type '{0}'."),Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties:i(2375,1,"Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefi_2375","Type '{0}' is not assignable to type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties."),A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_class_contains_initialized_properties_parameter_properties_or_private_identifiers:i(2376,1,"A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_2376","A 'super' call must be the first statement in the constructor to refer to 'super' or 'this' when a derived class contains initialized properties, parameter properties, or private identifiers."),Constructors_for_derived_classes_must_contain_a_super_call:i(2377,1,"Constructors_for_derived_classes_must_contain_a_super_call_2377","Constructors for derived classes must contain a 'super' call."),A_get_accessor_must_return_a_value:i(2378,1,"A_get_accessor_must_return_a_value_2378","A 'get' accessor must return a value."),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties:i(2379,1,"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_tr_2379","Argument of type '{0}' is not assignable to parameter of type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties."),The_return_type_of_a_get_accessor_must_be_assignable_to_its_set_accessor_type:i(2380,1,"The_return_type_of_a_get_accessor_must_be_assignable_to_its_set_accessor_type_2380","The return type of a 'get' accessor must be assignable to its 'set' accessor type"),Overload_signatures_must_all_be_exported_or_non_exported:i(2383,1,"Overload_signatures_must_all_be_exported_or_non_exported_2383","Overload signatures must all be exported or non-exported."),Overload_signatures_must_all_be_ambient_or_non_ambient:i(2384,1,"Overload_signatures_must_all_be_ambient_or_non_ambient_2384","Overload signatures must all be ambient or non-ambient."),Overload_signatures_must_all_be_public_private_or_protected:i(2385,1,"Overload_signatures_must_all_be_public_private_or_protected_2385","Overload signatures must all be public, private or protected."),Overload_signatures_must_all_be_optional_or_required:i(2386,1,"Overload_signatures_must_all_be_optional_or_required_2386","Overload signatures must all be optional or required."),Function_overload_must_be_static:i(2387,1,"Function_overload_must_be_static_2387","Function overload must be static."),Function_overload_must_not_be_static:i(2388,1,"Function_overload_must_not_be_static_2388","Function overload must not be static."),Function_implementation_name_must_be_0:i(2389,1,"Function_implementation_name_must_be_0_2389","Function implementation name must be '{0}'."),Constructor_implementation_is_missing:i(2390,1,"Constructor_implementation_is_missing_2390","Constructor implementation is missing."),Function_implementation_is_missing_or_not_immediately_following_the_declaration:i(2391,1,"Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391","Function implementation is missing or not immediately following the declaration."),Multiple_constructor_implementations_are_not_allowed:i(2392,1,"Multiple_constructor_implementations_are_not_allowed_2392","Multiple constructor implementations are not allowed."),Duplicate_function_implementation:i(2393,1,"Duplicate_function_implementation_2393","Duplicate function implementation."),This_overload_signature_is_not_compatible_with_its_implementation_signature:i(2394,1,"This_overload_signature_is_not_compatible_with_its_implementation_signature_2394","This overload signature is not compatible with its implementation signature."),Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local:i(2395,1,"Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395","Individual declarations in merged declaration '{0}' must be all exported or all local."),Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters:i(2396,1,"Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396","Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters."),Declaration_name_conflicts_with_built_in_global_identifier_0:i(2397,1,"Declaration_name_conflicts_with_built_in_global_identifier_0_2397","Declaration name conflicts with built-in global identifier '{0}'."),constructor_cannot_be_used_as_a_parameter_property_name:i(2398,1,"constructor_cannot_be_used_as_a_parameter_property_name_2398","'constructor' cannot be used as a parameter property name."),Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference:i(2399,1,"Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399","Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference."),Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference:i(2400,1,"Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400","Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference."),A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_initialized_properties_parameter_properties_or_private_identifiers:i(2401,1,"A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_in_2401","A 'super' call must be a root-level statement within a constructor of a derived class that contains initialized properties, parameter properties, or private identifiers."),Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference:i(2402,1,"Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402","Expression resolves to '_super' that compiler uses to capture base class reference."),Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2:i(2403,1,"Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403","Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'."),The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:i(2404,1,"The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404","The left-hand side of a 'for...in' statement cannot use a type annotation."),The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any:i(2405,1,"The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405","The left-hand side of a 'for...in' statement must be of type 'string' or 'any'."),The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access:i(2406,1,"The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access_2406","The left-hand side of a 'for...in' statement must be a variable or a property access."),The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0:i(2407,1,"The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_2407","The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type '{0}'."),Setters_cannot_return_a_value:i(2408,1,"Setters_cannot_return_a_value_2408","Setters cannot return a value."),Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class:i(2409,1,"Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409","Return type of constructor signature must be assignable to the instance type of the class."),The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any:i(2410,1,"The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any_2410","The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'."),Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target:i(2412,1,"Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefi_2412","Type '{0}' is not assignable to type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the type of the target."),Property_0_of_type_1_is_not_assignable_to_2_index_type_3:i(2411,1,"Property_0_of_type_1_is_not_assignable_to_2_index_type_3_2411","Property '{0}' of type '{1}' is not assignable to '{2}' index type '{3}'."),_0_index_type_1_is_not_assignable_to_2_index_type_3:i(2413,1,"_0_index_type_1_is_not_assignable_to_2_index_type_3_2413","'{0}' index type '{1}' is not assignable to '{2}' index type '{3}'."),Class_name_cannot_be_0:i(2414,1,"Class_name_cannot_be_0_2414","Class name cannot be '{0}'."),Class_0_incorrectly_extends_base_class_1:i(2415,1,"Class_0_incorrectly_extends_base_class_1_2415","Class '{0}' incorrectly extends base class '{1}'."),Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2:i(2416,1,"Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2_2416","Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'."),Class_static_side_0_incorrectly_extends_base_class_static_side_1:i(2417,1,"Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417","Class static side '{0}' incorrectly extends base class static side '{1}'."),Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1:i(2418,1,"Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1_2418","Type of computed property's value is '{0}', which is not assignable to type '{1}'."),Types_of_construct_signatures_are_incompatible:i(2419,1,"Types_of_construct_signatures_are_incompatible_2419","Types of construct signatures are incompatible."),Class_0_incorrectly_implements_interface_1:i(2420,1,"Class_0_incorrectly_implements_interface_1_2420","Class '{0}' incorrectly implements interface '{1}'."),A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members:i(2422,1,"A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_memb_2422","A class can only implement an object type or intersection of object types with statically known members."),Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor:i(2423,1,"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423","Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor."),Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function:i(2425,1,"Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425","Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function."),Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:i(2426,1,"Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426","Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function."),Interface_name_cannot_be_0:i(2427,1,"Interface_name_cannot_be_0_2427","Interface name cannot be '{0}'."),All_declarations_of_0_must_have_identical_type_parameters:i(2428,1,"All_declarations_of_0_must_have_identical_type_parameters_2428","All declarations of '{0}' must have identical type parameters."),Interface_0_incorrectly_extends_interface_1:i(2430,1,"Interface_0_incorrectly_extends_interface_1_2430","Interface '{0}' incorrectly extends interface '{1}'."),Enum_name_cannot_be_0:i(2431,1,"Enum_name_cannot_be_0_2431","Enum name cannot be '{0}'."),In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element:i(2432,1,"In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432","In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element."),A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged:i(2433,1,"A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433","A namespace declaration cannot be in a different file from a class or function with which it is merged."),A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged:i(2434,1,"A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434","A namespace declaration cannot be located prior to a class or function with which it is merged."),Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces:i(2435,1,"Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435","Ambient modules cannot be nested in other modules or namespaces."),Ambient_module_declaration_cannot_specify_relative_module_name:i(2436,1,"Ambient_module_declaration_cannot_specify_relative_module_name_2436","Ambient module declaration cannot specify relative module name."),Module_0_is_hidden_by_a_local_declaration_with_the_same_name:i(2437,1,"Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437","Module '{0}' is hidden by a local declaration with the same name."),Import_name_cannot_be_0:i(2438,1,"Import_name_cannot_be_0_2438","Import name cannot be '{0}'."),Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name:i(2439,1,"Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439","Import or export declaration in an ambient module declaration cannot reference module through relative module name."),Import_declaration_conflicts_with_local_declaration_of_0:i(2440,1,"Import_declaration_conflicts_with_local_declaration_of_0_2440","Import declaration conflicts with local declaration of '{0}'."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module:i(2441,1,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module."),Types_have_separate_declarations_of_a_private_property_0:i(2442,1,"Types_have_separate_declarations_of_a_private_property_0_2442","Types have separate declarations of a private property '{0}'."),Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2:i(2443,1,"Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443","Property '{0}' is protected but type '{1}' is not a class derived from '{2}'."),Property_0_is_protected_in_type_1_but_public_in_type_2:i(2444,1,"Property_0_is_protected_in_type_1_but_public_in_type_2_2444","Property '{0}' is protected in type '{1}' but public in type '{2}'."),Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses:i(2445,1,"Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445","Property '{0}' is protected and only accessible within class '{1}' and its subclasses."),Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_class_2:i(2446,1,"Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_cl_2446","Property '{0}' is protected and only accessible through an instance of class '{1}'. This is an instance of class '{2}'."),The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead:i(2447,1,"The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447","The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead."),Block_scoped_variable_0_used_before_its_declaration:i(2448,1,"Block_scoped_variable_0_used_before_its_declaration_2448","Block-scoped variable '{0}' used before its declaration."),Class_0_used_before_its_declaration:i(2449,1,"Class_0_used_before_its_declaration_2449","Class '{0}' used before its declaration."),Enum_0_used_before_its_declaration:i(2450,1,"Enum_0_used_before_its_declaration_2450","Enum '{0}' used before its declaration."),Cannot_redeclare_block_scoped_variable_0:i(2451,1,"Cannot_redeclare_block_scoped_variable_0_2451","Cannot redeclare block-scoped variable '{0}'."),An_enum_member_cannot_have_a_numeric_name:i(2452,1,"An_enum_member_cannot_have_a_numeric_name_2452","An enum member cannot have a numeric name."),Variable_0_is_used_before_being_assigned:i(2454,1,"Variable_0_is_used_before_being_assigned_2454","Variable '{0}' is used before being assigned."),Type_alias_0_circularly_references_itself:i(2456,1,"Type_alias_0_circularly_references_itself_2456","Type alias '{0}' circularly references itself."),Type_alias_name_cannot_be_0:i(2457,1,"Type_alias_name_cannot_be_0_2457","Type alias name cannot be '{0}'."),An_AMD_module_cannot_have_multiple_name_assignments:i(2458,1,"An_AMD_module_cannot_have_multiple_name_assignments_2458","An AMD module cannot have multiple name assignments."),Module_0_declares_1_locally_but_it_is_not_exported:i(2459,1,"Module_0_declares_1_locally_but_it_is_not_exported_2459","Module '{0}' declares '{1}' locally, but it is not exported."),Module_0_declares_1_locally_but_it_is_exported_as_2:i(2460,1,"Module_0_declares_1_locally_but_it_is_exported_as_2_2460","Module '{0}' declares '{1}' locally, but it is exported as '{2}'."),Type_0_is_not_an_array_type:i(2461,1,"Type_0_is_not_an_array_type_2461","Type '{0}' is not an array type."),A_rest_element_must_be_last_in_a_destructuring_pattern:i(2462,1,"A_rest_element_must_be_last_in_a_destructuring_pattern_2462","A rest element must be last in a destructuring pattern."),A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature:i(2463,1,"A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463","A binding pattern parameter cannot be optional in an implementation signature."),A_computed_property_name_must_be_of_type_string_number_symbol_or_any:i(2464,1,"A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464","A computed property name must be of type 'string', 'number', 'symbol', or 'any'."),this_cannot_be_referenced_in_a_computed_property_name:i(2465,1,"this_cannot_be_referenced_in_a_computed_property_name_2465","'this' cannot be referenced in a computed property name."),super_cannot_be_referenced_in_a_computed_property_name:i(2466,1,"super_cannot_be_referenced_in_a_computed_property_name_2466","'super' cannot be referenced in a computed property name."),A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type:i(2467,1,"A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467","A computed property name cannot reference a type parameter from its containing type."),Cannot_find_global_value_0:i(2468,1,"Cannot_find_global_value_0_2468","Cannot find global value '{0}'."),The_0_operator_cannot_be_applied_to_type_symbol:i(2469,1,"The_0_operator_cannot_be_applied_to_type_symbol_2469","The '{0}' operator cannot be applied to type 'symbol'."),Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher:i(2472,1,"Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472","Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher."),Enum_declarations_must_all_be_const_or_non_const:i(2473,1,"Enum_declarations_must_all_be_const_or_non_const_2473","Enum declarations must all be const or non-const."),const_enum_member_initializers_must_be_constant_expressions:i(2474,1,"const_enum_member_initializers_must_be_constant_expressions_2474","const enum member initializers must be constant expressions."),const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query:i(2475,1,"const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475","'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment or type query."),A_const_enum_member_can_only_be_accessed_using_a_string_literal:i(2476,1,"A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476","A const enum member can only be accessed using a string literal."),const_enum_member_initializer_was_evaluated_to_a_non_finite_value:i(2477,1,"const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477","'const' enum member initializer was evaluated to a non-finite value."),const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:i(2478,1,"const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478","'const' enum member initializer was evaluated to disallowed value 'NaN'."),let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations:i(2480,1,"let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480","'let' is not allowed to be used as a name in 'let' or 'const' declarations."),Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1:i(2481,1,"Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481","Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'."),The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation:i(2483,1,"The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483","The left-hand side of a 'for...of' statement cannot use a type annotation."),Export_declaration_conflicts_with_exported_declaration_of_0:i(2484,1,"Export_declaration_conflicts_with_exported_declaration_of_0_2484","Export declaration conflicts with exported declaration of '{0}'."),The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access:i(2487,1,"The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access_2487","The left-hand side of a 'for...of' statement must be a variable or a property access."),Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator:i(2488,1,"Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488","Type '{0}' must have a '[Symbol.iterator]()' method that returns an iterator."),An_iterator_must_have_a_next_method:i(2489,1,"An_iterator_must_have_a_next_method_2489","An iterator must have a 'next()' method."),The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property:i(2490,1,"The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property_2490","The type returned by the '{0}()' method of an iterator must have a 'value' property."),The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern:i(2491,1,"The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491","The left-hand side of a 'for...in' statement cannot be a destructuring pattern."),Cannot_redeclare_identifier_0_in_catch_clause:i(2492,1,"Cannot_redeclare_identifier_0_in_catch_clause_2492","Cannot redeclare identifier '{0}' in catch clause."),Tuple_type_0_of_length_1_has_no_element_at_index_2:i(2493,1,"Tuple_type_0_of_length_1_has_no_element_at_index_2_2493","Tuple type '{0}' of length '{1}' has no element at index '{2}'."),Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher:i(2494,1,"Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494","Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher."),Type_0_is_not_an_array_type_or_a_string_type:i(2495,1,"Type_0_is_not_an_array_type_or_a_string_type_2495","Type '{0}' is not an array type or a string type."),The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression:i(2496,1,"The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_stand_2496","The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression."),This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export:i(2497,1,"This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_2497","This module can only be referenced with ECMAScript imports/exports by turning on the '{0}' flag and referencing its default export."),Module_0_uses_export_and_cannot_be_used_with_export_Asterisk:i(2498,1,"Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498","Module '{0}' uses 'export =' and cannot be used with 'export *'."),An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments:i(2499,1,"An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499","An interface can only extend an identifier/qualified-name with optional type arguments."),A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments:i(2500,1,"A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500","A class can only implement an identifier/qualified-name with optional type arguments."),A_rest_element_cannot_contain_a_binding_pattern:i(2501,1,"A_rest_element_cannot_contain_a_binding_pattern_2501","A rest element cannot contain a binding pattern."),_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation:i(2502,1,"_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502","'{0}' is referenced directly or indirectly in its own type annotation."),Cannot_find_namespace_0:i(2503,1,"Cannot_find_namespace_0_2503","Cannot find namespace '{0}'."),Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:i(2504,1,"Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator_2504","Type '{0}' must have a '[Symbol.asyncIterator]()' method that returns an async iterator."),A_generator_cannot_have_a_void_type_annotation:i(2505,1,"A_generator_cannot_have_a_void_type_annotation_2505","A generator cannot have a 'void' type annotation."),_0_is_referenced_directly_or_indirectly_in_its_own_base_expression:i(2506,1,"_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506","'{0}' is referenced directly or indirectly in its own base expression."),Type_0_is_not_a_constructor_function_type:i(2507,1,"Type_0_is_not_a_constructor_function_type_2507","Type '{0}' is not a constructor function type."),No_base_constructor_has_the_specified_number_of_type_arguments:i(2508,1,"No_base_constructor_has_the_specified_number_of_type_arguments_2508","No base constructor has the specified number of type arguments."),Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members:i(2509,1,"Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_2509","Base constructor return type '{0}' is not an object type or intersection of object types with statically known members."),Base_constructors_must_all_have_the_same_return_type:i(2510,1,"Base_constructors_must_all_have_the_same_return_type_2510","Base constructors must all have the same return type."),Cannot_create_an_instance_of_an_abstract_class:i(2511,1,"Cannot_create_an_instance_of_an_abstract_class_2511","Cannot create an instance of an abstract class."),Overload_signatures_must_all_be_abstract_or_non_abstract:i(2512,1,"Overload_signatures_must_all_be_abstract_or_non_abstract_2512","Overload signatures must all be abstract or non-abstract."),Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression:i(2513,1,"Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513","Abstract method '{0}' in class '{1}' cannot be accessed via super expression."),A_tuple_type_cannot_be_indexed_with_a_negative_value:i(2514,1,"A_tuple_type_cannot_be_indexed_with_a_negative_value_2514","A tuple type cannot be indexed with a negative value."),Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2:i(2515,1,"Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515","Non-abstract class '{0}' does not implement inherited abstract member '{1}' from class '{2}'."),All_declarations_of_an_abstract_method_must_be_consecutive:i(2516,1,"All_declarations_of_an_abstract_method_must_be_consecutive_2516","All declarations of an abstract method must be consecutive."),Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type:i(2517,1,"Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517","Cannot assign an abstract constructor type to a non-abstract constructor type."),A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard:i(2518,1,"A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518","A 'this'-based type guard is not compatible with a parameter-based type guard."),An_async_iterator_must_have_a_next_method:i(2519,1,"An_async_iterator_must_have_a_next_method_2519","An async iterator must have a 'next()' method."),Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions:i(2520,1,"Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520","Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions."),The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method:i(2522,1,"The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_usi_2522","The 'arguments' object cannot be referenced in an async function or method in ES3 and ES5. Consider using a standard function or method."),yield_expressions_cannot_be_used_in_a_parameter_initializer:i(2523,1,"yield_expressions_cannot_be_used_in_a_parameter_initializer_2523","'yield' expressions cannot be used in a parameter initializer."),await_expressions_cannot_be_used_in_a_parameter_initializer:i(2524,1,"await_expressions_cannot_be_used_in_a_parameter_initializer_2524","'await' expressions cannot be used in a parameter initializer."),Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value:i(2525,1,"Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value_2525","Initializer provides no value for this binding element and the binding element has no default value."),A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface:i(2526,1,"A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526","A 'this' type is available only in a non-static member of a class or interface."),The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary:i(2527,1,"The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary_2527","The inferred type of '{0}' references an inaccessible '{1}' type. A type annotation is necessary."),A_module_cannot_have_multiple_default_exports:i(2528,1,"A_module_cannot_have_multiple_default_exports_2528","A module cannot have multiple default exports."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions:i(2529,1,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions."),Property_0_is_incompatible_with_index_signature:i(2530,1,"Property_0_is_incompatible_with_index_signature_2530","Property '{0}' is incompatible with index signature."),Object_is_possibly_null:i(2531,1,"Object_is_possibly_null_2531","Object is possibly 'null'."),Object_is_possibly_undefined:i(2532,1,"Object_is_possibly_undefined_2532","Object is possibly 'undefined'."),Object_is_possibly_null_or_undefined:i(2533,1,"Object_is_possibly_null_or_undefined_2533","Object is possibly 'null' or 'undefined'."),A_function_returning_never_cannot_have_a_reachable_end_point:i(2534,1,"A_function_returning_never_cannot_have_a_reachable_end_point_2534","A function returning 'never' cannot have a reachable end point."),Type_0_cannot_be_used_to_index_type_1:i(2536,1,"Type_0_cannot_be_used_to_index_type_1_2536","Type '{0}' cannot be used to index type '{1}'."),Type_0_has_no_matching_index_signature_for_type_1:i(2537,1,"Type_0_has_no_matching_index_signature_for_type_1_2537","Type '{0}' has no matching index signature for type '{1}'."),Type_0_cannot_be_used_as_an_index_type:i(2538,1,"Type_0_cannot_be_used_as_an_index_type_2538","Type '{0}' cannot be used as an index type."),Cannot_assign_to_0_because_it_is_not_a_variable:i(2539,1,"Cannot_assign_to_0_because_it_is_not_a_variable_2539","Cannot assign to '{0}' because it is not a variable."),Cannot_assign_to_0_because_it_is_a_read_only_property:i(2540,1,"Cannot_assign_to_0_because_it_is_a_read_only_property_2540","Cannot assign to '{0}' because it is a read-only property."),Index_signature_in_type_0_only_permits_reading:i(2542,1,"Index_signature_in_type_0_only_permits_reading_2542","Index signature in type '{0}' only permits reading."),Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference:i(2543,1,"Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_me_2543","Duplicate identifier '_newTarget'. Compiler uses variable declaration '_newTarget' to capture 'new.target' meta-property reference."),Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference:i(2544,1,"Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta__2544","Expression resolves to variable declaration '_newTarget' that compiler uses to capture 'new.target' meta-property reference."),A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any:i(2545,1,"A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any_2545","A mixin class must have a constructor with a single rest parameter of type 'any[]'."),The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property:i(2547,1,"The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_pro_2547","The type returned by the '{0}()' method of an async iterator must be a promise for a type with a 'value' property."),Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:i(2548,1,"Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator_2548","Type '{0}' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:i(2549,1,"Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns__2549","Type '{0}' is not an array type or a string type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2_or_later:i(2550,1,"Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_c_2550","Property '{0}' does not exist on type '{1}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{2}' or later."),Property_0_does_not_exist_on_type_1_Did_you_mean_2:i(2551,1,"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","Property '{0}' does not exist on type '{1}'. Did you mean '{2}'?"),Cannot_find_name_0_Did_you_mean_1:i(2552,1,"Cannot_find_name_0_Did_you_mean_1_2552","Cannot find name '{0}'. Did you mean '{1}'?"),Computed_values_are_not_permitted_in_an_enum_with_string_valued_members:i(2553,1,"Computed_values_are_not_permitted_in_an_enum_with_string_valued_members_2553","Computed values are not permitted in an enum with string valued members."),Expected_0_arguments_but_got_1:i(2554,1,"Expected_0_arguments_but_got_1_2554","Expected {0} arguments, but got {1}."),Expected_at_least_0_arguments_but_got_1:i(2555,1,"Expected_at_least_0_arguments_but_got_1_2555","Expected at least {0} arguments, but got {1}."),A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter:i(2556,1,"A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter_2556","A spread argument must either have a tuple type or be passed to a rest parameter."),Expected_0_type_arguments_but_got_1:i(2558,1,"Expected_0_type_arguments_but_got_1_2558","Expected {0} type arguments, but got {1}."),Type_0_has_no_properties_in_common_with_type_1:i(2559,1,"Type_0_has_no_properties_in_common_with_type_1_2559","Type '{0}' has no properties in common with type '{1}'."),Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it:i(2560,1,"Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it_2560","Value of type '{0}' has no properties in common with type '{1}'. Did you mean to call it?"),Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2:i(2561,1,"Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_writ_2561","Object literal may only specify known properties, but '{0}' does not exist in type '{1}'. Did you mean to write '{2}'?"),Base_class_expressions_cannot_reference_class_type_parameters:i(2562,1,"Base_class_expressions_cannot_reference_class_type_parameters_2562","Base class expressions cannot reference class type parameters."),The_containing_function_or_module_body_is_too_large_for_control_flow_analysis:i(2563,1,"The_containing_function_or_module_body_is_too_large_for_control_flow_analysis_2563","The containing function or module body is too large for control flow analysis."),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor:i(2564,1,"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor_2564","Property '{0}' has no initializer and is not definitely assigned in the constructor."),Property_0_is_used_before_being_assigned:i(2565,1,"Property_0_is_used_before_being_assigned_2565","Property '{0}' is used before being assigned."),A_rest_element_cannot_have_a_property_name:i(2566,1,"A_rest_element_cannot_have_a_property_name_2566","A rest element cannot have a property name."),Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations:i(2567,1,"Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations_2567","Enum declarations can only merge with namespace or other enum declarations."),Property_0_may_not_exist_on_type_1_Did_you_mean_2:i(2568,1,"Property_0_may_not_exist_on_type_1_Did_you_mean_2_2568","Property '{0}' may not exist on type '{1}'. Did you mean '{2}'?"),Could_not_find_name_0_Did_you_mean_1:i(2570,1,"Could_not_find_name_0_Did_you_mean_1_2570","Could not find name '{0}'. Did you mean '{1}'?"),Object_is_of_type_unknown:i(2571,1,"Object_is_of_type_unknown_2571","Object is of type 'unknown'."),A_rest_element_type_must_be_an_array_type:i(2574,1,"A_rest_element_type_must_be_an_array_type_2574","A rest element type must be an array type."),No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments:i(2575,1,"No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments_2575","No overload expects {0} arguments, but overloads do exist that expect either {1} or {2} arguments."),Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead:i(2576,1,"Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead_2576","Property '{0}' does not exist on type '{1}'. Did you mean to access the static member '{2}' instead?"),Return_type_annotation_circularly_references_itself:i(2577,1,"Return_type_annotation_circularly_references_itself_2577","Return type annotation circularly references itself."),Unused_ts_expect_error_directive:i(2578,1,"Unused_ts_expect_error_directive_2578","Unused '@ts-expect-error' directive."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode:i(2580,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2580","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery:i(2581,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2581","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha:i(2582,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2582","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later:i(2583,1,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2583","Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{1}' or later."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom:i(2584,1,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2584","Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later:i(2585,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_2585","'{0}' only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the 'lib' compiler option to es2015 or later."),Cannot_assign_to_0_because_it_is_a_constant:i(2588,1,"Cannot_assign_to_0_because_it_is_a_constant_2588","Cannot assign to '{0}' because it is a constant."),Type_instantiation_is_excessively_deep_and_possibly_infinite:i(2589,1,"Type_instantiation_is_excessively_deep_and_possibly_infinite_2589","Type instantiation is excessively deep and possibly infinite."),Expression_produces_a_union_type_that_is_too_complex_to_represent:i(2590,1,"Expression_produces_a_union_type_that_is_too_complex_to_represent_2590","Expression produces a union type that is too complex to represent."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig:i(2591,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2591","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig:i(2592,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2592","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery` and then add 'jquery' to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig:i(2593,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2593","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha` and then add 'jest' or 'mocha' to the types field in your tsconfig."),This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag:i(2594,1,"This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag_2594","This module is declared with 'export =', and can only be used with a default import when using the '{0}' flag."),_0_can_only_be_imported_by_using_a_default_import:i(2595,1,"_0_can_only_be_imported_by_using_a_default_import_2595","'{0}' can only be imported by using a default import."),_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:i(2596,1,"_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import_2596","'{0}' can only be imported by turning on the 'esModuleInterop' flag and using a default import."),_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:i(2597,1,"_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import_2597","'{0}' can only be imported by using a 'require' call or by using a default import."),_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:i(2598,1,"_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using__2598","'{0}' can only be imported by using a 'require' call or by turning on the 'esModuleInterop' flag and using a default import."),JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist:i(2602,1,"JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602","JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist."),Property_0_in_type_1_is_not_assignable_to_type_2:i(2603,1,"Property_0_in_type_1_is_not_assignable_to_type_2_2603","Property '{0}' in type '{1}' is not assignable to type '{2}'."),JSX_element_type_0_does_not_have_any_construct_or_call_signatures:i(2604,1,"JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604","JSX element type '{0}' does not have any construct or call signatures."),Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property:i(2606,1,"Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606","Property '{0}' of JSX spread attribute is not assignable to target property."),JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property:i(2607,1,"JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607","JSX element class does not support attributes because it does not have a '{0}' property."),The_global_type_JSX_0_may_not_have_more_than_one_property:i(2608,1,"The_global_type_JSX_0_may_not_have_more_than_one_property_2608","The global type 'JSX.{0}' may not have more than one property."),JSX_spread_child_must_be_an_array_type:i(2609,1,"JSX_spread_child_must_be_an_array_type_2609","JSX spread child must be an array type."),_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property:i(2610,1,"_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property_2610","'{0}' is defined as an accessor in class '{1}', but is overridden here in '{2}' as an instance property."),_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor:i(2611,1,"_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor_2611","'{0}' is defined as a property in class '{1}', but is overridden here in '{2}' as an accessor."),Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration:i(2612,1,"Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_2612","Property '{0}' will overwrite the base property in '{1}'. If this is intentional, add an initializer. Otherwise, add a 'declare' modifier or remove the redundant declaration."),Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead:i(2613,1,"Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead_2613","Module '{0}' has no default export. Did you mean to use 'import { {1} } from {0}' instead?"),Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead:i(2614,1,"Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead_2614","Module '{0}' has no exported member '{1}'. Did you mean to use 'import {1} from {0}' instead?"),Type_of_property_0_circularly_references_itself_in_mapped_type_1:i(2615,1,"Type_of_property_0_circularly_references_itself_in_mapped_type_1_2615","Type of property '{0}' circularly references itself in mapped type '{1}'."),_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:i(2616,1,"_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import_2616","'{0}' can only be imported by using 'import {1} = require({2})' or a default import."),_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:i(2617,1,"_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_us_2617","'{0}' can only be imported by using 'import {1} = require({2})' or by turning on the 'esModuleInterop' flag and using a default import."),Source_has_0_element_s_but_target_requires_1:i(2618,1,"Source_has_0_element_s_but_target_requires_1_2618","Source has {0} element(s) but target requires {1}."),Source_has_0_element_s_but_target_allows_only_1:i(2619,1,"Source_has_0_element_s_but_target_allows_only_1_2619","Source has {0} element(s) but target allows only {1}."),Target_requires_0_element_s_but_source_may_have_fewer:i(2620,1,"Target_requires_0_element_s_but_source_may_have_fewer_2620","Target requires {0} element(s) but source may have fewer."),Target_allows_only_0_element_s_but_source_may_have_more:i(2621,1,"Target_allows_only_0_element_s_but_source_may_have_more_2621","Target allows only {0} element(s) but source may have more."),Source_provides_no_match_for_required_element_at_position_0_in_target:i(2623,1,"Source_provides_no_match_for_required_element_at_position_0_in_target_2623","Source provides no match for required element at position {0} in target."),Source_provides_no_match_for_variadic_element_at_position_0_in_target:i(2624,1,"Source_provides_no_match_for_variadic_element_at_position_0_in_target_2624","Source provides no match for variadic element at position {0} in target."),Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target:i(2625,1,"Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target_2625","Variadic element at position {0} in source does not match element at position {1} in target."),Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target:i(2626,1,"Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target_2626","Type at position {0} in source is not compatible with type at position {1} in target."),Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target:i(2627,1,"Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target_2627","Type at positions {0} through {1} in source is not compatible with type at position {2} in target."),Cannot_assign_to_0_because_it_is_an_enum:i(2628,1,"Cannot_assign_to_0_because_it_is_an_enum_2628","Cannot assign to '{0}' because it is an enum."),Cannot_assign_to_0_because_it_is_a_class:i(2629,1,"Cannot_assign_to_0_because_it_is_a_class_2629","Cannot assign to '{0}' because it is a class."),Cannot_assign_to_0_because_it_is_a_function:i(2630,1,"Cannot_assign_to_0_because_it_is_a_function_2630","Cannot assign to '{0}' because it is a function."),Cannot_assign_to_0_because_it_is_a_namespace:i(2631,1,"Cannot_assign_to_0_because_it_is_a_namespace_2631","Cannot assign to '{0}' because it is a namespace."),Cannot_assign_to_0_because_it_is_an_import:i(2632,1,"Cannot_assign_to_0_because_it_is_an_import_2632","Cannot assign to '{0}' because it is an import."),JSX_property_access_expressions_cannot_include_JSX_namespace_names:i(2633,1,"JSX_property_access_expressions_cannot_include_JSX_namespace_names_2633","JSX property access expressions cannot include JSX namespace names"),_0_index_signatures_are_incompatible:i(2634,1,"_0_index_signatures_are_incompatible_2634","'{0}' index signatures are incompatible."),Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable:i(2635,1,"Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable_2635","Type '{0}' has no signatures for which the type argument list is applicable."),Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation:i(2636,1,"Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation_2636","Type '{0}' is not assignable to type '{1}' as implied by variance annotation."),Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_types:i(2637,1,"Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_t_2637","Variance annotations are only supported in type aliases for object, function, constructor, and mapped types."),Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operator:i(2638,1,"Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operato_2638","Type '{0}' may represent a primitive value, which is not permitted as the right operand of the 'in' operator."),Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity:i(2649,1,"Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649","Cannot augment module '{0}' with value exports because it resolves to a non-module entity."),A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums:i(2651,1,"A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651","A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums."),Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead:i(2652,1,"Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652","Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead."),Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1:i(2653,1,"Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653","Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'."),JSX_expressions_must_have_one_parent_element:i(2657,1,"JSX_expressions_must_have_one_parent_element_2657","JSX expressions must have one parent element."),Type_0_provides_no_match_for_the_signature_1:i(2658,1,"Type_0_provides_no_match_for_the_signature_1_2658","Type '{0}' provides no match for the signature '{1}'."),super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher:i(2659,1,"super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659","'super' is only allowed in members of object literal expressions when option 'target' is 'ES2015' or higher."),super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions:i(2660,1,"super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660","'super' can only be referenced in members of derived classes or object literal expressions."),Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module:i(2661,1,"Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661","Cannot export '{0}'. Only local declarations can be exported from a module."),Cannot_find_name_0_Did_you_mean_the_static_member_1_0:i(2662,1,"Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662","Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?"),Cannot_find_name_0_Did_you_mean_the_instance_member_this_0:i(2663,1,"Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663","Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?"),Invalid_module_name_in_augmentation_module_0_cannot_be_found:i(2664,1,"Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664","Invalid module name in augmentation, module '{0}' cannot be found."),Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented:i(2665,1,"Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augm_2665","Invalid module name in augmentation. Module '{0}' resolves to an untyped module at '{1}', which cannot be augmented."),Exports_and_export_assignments_are_not_permitted_in_module_augmentations:i(2666,1,"Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666","Exports and export assignments are not permitted in module augmentations."),Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module:i(2667,1,"Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667","Imports are not permitted in module augmentations. Consider moving them to the enclosing external module."),export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible:i(2668,1,"export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668","'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible."),Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations:i(2669,1,"Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669","Augmentations for the global scope can only be directly nested in external modules or ambient module declarations."),Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context:i(2670,1,"Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670","Augmentations for the global scope should have 'declare' modifier unless they appear in already ambient context."),Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity:i(2671,1,"Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671","Cannot augment module '{0}' because it resolves to a non-module entity."),Cannot_assign_a_0_constructor_type_to_a_1_constructor_type:i(2672,1,"Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672","Cannot assign a '{0}' constructor type to a '{1}' constructor type."),Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration:i(2673,1,"Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673","Constructor of class '{0}' is private and only accessible within the class declaration."),Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration:i(2674,1,"Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674","Constructor of class '{0}' is protected and only accessible within the class declaration."),Cannot_extend_a_class_0_Class_constructor_is_marked_as_private:i(2675,1,"Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675","Cannot extend a class '{0}'. Class constructor is marked as private."),Accessors_must_both_be_abstract_or_non_abstract:i(2676,1,"Accessors_must_both_be_abstract_or_non_abstract_2676","Accessors must both be abstract or non-abstract."),A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type:i(2677,1,"A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677","A type predicate's type must be assignable to its parameter's type."),Type_0_is_not_comparable_to_type_1:i(2678,1,"Type_0_is_not_comparable_to_type_1_2678","Type '{0}' is not comparable to type '{1}'."),A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void:i(2679,1,"A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679","A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'."),A_0_parameter_must_be_the_first_parameter:i(2680,1,"A_0_parameter_must_be_the_first_parameter_2680","A '{0}' parameter must be the first parameter."),A_constructor_cannot_have_a_this_parameter:i(2681,1,"A_constructor_cannot_have_a_this_parameter_2681","A constructor cannot have a 'this' parameter."),this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation:i(2683,1,"this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683","'this' implicitly has type 'any' because it does not have a type annotation."),The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1:i(2684,1,"The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684","The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'."),The_this_types_of_each_signature_are_incompatible:i(2685,1,"The_this_types_of_each_signature_are_incompatible_2685","The 'this' types of each signature are incompatible."),_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead:i(2686,1,"_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead_2686","'{0}' refers to a UMD global, but the current file is a module. Consider adding an import instead."),All_declarations_of_0_must_have_identical_modifiers:i(2687,1,"All_declarations_of_0_must_have_identical_modifiers_2687","All declarations of '{0}' must have identical modifiers."),Cannot_find_type_definition_file_for_0:i(2688,1,"Cannot_find_type_definition_file_for_0_2688","Cannot find type definition file for '{0}'."),Cannot_extend_an_interface_0_Did_you_mean_implements:i(2689,1,"Cannot_extend_an_interface_0_Did_you_mean_implements_2689","Cannot extend an interface '{0}'. Did you mean 'implements'?"),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0:i(2690,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0_2690","'{0}' only refers to a type, but is being used as a value here. Did you mean to use '{1} in {0}'?"),_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible:i(2692,1,"_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692","'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here:i(2693,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693","'{0}' only refers to a type, but is being used as a value here."),Namespace_0_has_no_exported_member_1:i(2694,1,"Namespace_0_has_no_exported_member_1_2694","Namespace '{0}' has no exported member '{1}'."),Left_side_of_comma_operator_is_unused_and_has_no_side_effects:i(2695,1,"Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695","Left side of comma operator is unused and has no side effects.",!0),The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead:i(2696,1,"The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696","The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?"),An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:i(2697,1,"An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697","An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option."),Spread_types_may_only_be_created_from_object_types:i(2698,1,"Spread_types_may_only_be_created_from_object_types_2698","Spread types may only be created from object types."),Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1:i(2699,1,"Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1_2699","Static property '{0}' conflicts with built-in property 'Function.{0}' of constructor function '{1}'."),Rest_types_may_only_be_created_from_object_types:i(2700,1,"Rest_types_may_only_be_created_from_object_types_2700","Rest types may only be created from object types."),The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access:i(2701,1,"The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access_2701","The target of an object rest assignment must be a variable or a property access."),_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here:i(2702,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here_2702","'{0}' only refers to a type, but is being used as a namespace here."),The_operand_of_a_delete_operator_must_be_a_property_reference:i(2703,1,"The_operand_of_a_delete_operator_must_be_a_property_reference_2703","The operand of a 'delete' operator must be a property reference."),The_operand_of_a_delete_operator_cannot_be_a_read_only_property:i(2704,1,"The_operand_of_a_delete_operator_cannot_be_a_read_only_property_2704","The operand of a 'delete' operator cannot be a read-only property."),An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:i(2705,1,"An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_de_2705","An async function or method in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option."),Required_type_parameters_may_not_follow_optional_type_parameters:i(2706,1,"Required_type_parameters_may_not_follow_optional_type_parameters_2706","Required type parameters may not follow optional type parameters."),Generic_type_0_requires_between_1_and_2_type_arguments:i(2707,1,"Generic_type_0_requires_between_1_and_2_type_arguments_2707","Generic type '{0}' requires between {1} and {2} type arguments."),Cannot_use_namespace_0_as_a_value:i(2708,1,"Cannot_use_namespace_0_as_a_value_2708","Cannot use namespace '{0}' as a value."),Cannot_use_namespace_0_as_a_type:i(2709,1,"Cannot_use_namespace_0_as_a_type_2709","Cannot use namespace '{0}' as a type."),_0_are_specified_twice_The_attribute_named_0_will_be_overwritten:i(2710,1,"_0_are_specified_twice_The_attribute_named_0_will_be_overwritten_2710","'{0}' are specified twice. The attribute named '{0}' will be overwritten."),A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:i(2711,1,"A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES20_2711","A dynamic import call returns a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option."),A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:i(2712,1,"A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declarat_2712","A dynamic import call in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option."),Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1:i(2713,1,"Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_p_2713",`Cannot access '{0}.{1}' because '{0}' is a type, but not a namespace. Did you mean to retrieve the type of the property '{1}' in '{0}' with '{0}["{1}"]'?`),The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context:i(2714,1,"The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context_2714","The expression of an export assignment must be an identifier or qualified name in an ambient context."),Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor:i(2715,1,"Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor_2715","Abstract property '{0}' in class '{1}' cannot be accessed in the constructor."),Type_parameter_0_has_a_circular_default:i(2716,1,"Type_parameter_0_has_a_circular_default_2716","Type parameter '{0}' has a circular default."),Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:i(2717,1,"Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_t_2717","Subsequent property declarations must have the same type. Property '{0}' must be of type '{1}', but here has type '{2}'."),Duplicate_property_0:i(2718,1,"Duplicate_property_0_2718","Duplicate property '{0}'."),Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated:i(2719,1,"Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated_2719","Type '{0}' is not assignable to type '{1}'. Two different types with this name exist, but they are unrelated."),Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass:i(2720,1,"Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclas_2720","Class '{0}' incorrectly implements class '{1}'. Did you mean to extend '{1}' and inherit its members as a subclass?"),Cannot_invoke_an_object_which_is_possibly_null:i(2721,1,"Cannot_invoke_an_object_which_is_possibly_null_2721","Cannot invoke an object which is possibly 'null'."),Cannot_invoke_an_object_which_is_possibly_undefined:i(2722,1,"Cannot_invoke_an_object_which_is_possibly_undefined_2722","Cannot invoke an object which is possibly 'undefined'."),Cannot_invoke_an_object_which_is_possibly_null_or_undefined:i(2723,1,"Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723","Cannot invoke an object which is possibly 'null' or 'undefined'."),_0_has_no_exported_member_named_1_Did_you_mean_2:i(2724,1,"_0_has_no_exported_member_named_1_Did_you_mean_2_2724","'{0}' has no exported member named '{1}'. Did you mean '{2}'?"),Class_name_cannot_be_Object_when_targeting_ES5_with_module_0:i(2725,1,"Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725","Class name cannot be 'Object' when targeting ES5 with module {0}."),Cannot_find_lib_definition_for_0:i(2726,1,"Cannot_find_lib_definition_for_0_2726","Cannot find lib definition for '{0}'."),Cannot_find_lib_definition_for_0_Did_you_mean_1:i(2727,1,"Cannot_find_lib_definition_for_0_Did_you_mean_1_2727","Cannot find lib definition for '{0}'. Did you mean '{1}'?"),_0_is_declared_here:i(2728,3,"_0_is_declared_here_2728","'{0}' is declared here."),Property_0_is_used_before_its_initialization:i(2729,1,"Property_0_is_used_before_its_initialization_2729","Property '{0}' is used before its initialization."),An_arrow_function_cannot_have_a_this_parameter:i(2730,1,"An_arrow_function_cannot_have_a_this_parameter_2730","An arrow function cannot have a 'this' parameter."),Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String:i(2731,1,"Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_i_2731","Implicit conversion of a 'symbol' to a 'string' will fail at runtime. Consider wrapping this expression in 'String(...)'."),Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension:i(2732,1,"Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension_2732","Cannot find module '{0}'. Consider using '--resolveJsonModule' to import module with '.json' extension."),Property_0_was_also_declared_here:i(2733,1,"Property_0_was_also_declared_here_2733","Property '{0}' was also declared here."),Are_you_missing_a_semicolon:i(2734,1,"Are_you_missing_a_semicolon_2734","Are you missing a semicolon?"),Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1:i(2735,1,"Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1_2735","Did you mean for '{0}' to be constrained to type 'new (...args: any[]) => {1}'?"),Operator_0_cannot_be_applied_to_type_1:i(2736,1,"Operator_0_cannot_be_applied_to_type_1_2736","Operator '{0}' cannot be applied to type '{1}'."),BigInt_literals_are_not_available_when_targeting_lower_than_ES2020:i(2737,1,"BigInt_literals_are_not_available_when_targeting_lower_than_ES2020_2737","BigInt literals are not available when targeting lower than ES2020."),An_outer_value_of_this_is_shadowed_by_this_container:i(2738,3,"An_outer_value_of_this_is_shadowed_by_this_container_2738","An outer value of 'this' is shadowed by this container."),Type_0_is_missing_the_following_properties_from_type_1_Colon_2:i(2739,1,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_2739","Type '{0}' is missing the following properties from type '{1}': {2}"),Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more:i(2740,1,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more_2740","Type '{0}' is missing the following properties from type '{1}': {2}, and {3} more."),Property_0_is_missing_in_type_1_but_required_in_type_2:i(2741,1,"Property_0_is_missing_in_type_1_but_required_in_type_2_2741","Property '{0}' is missing in type '{1}' but required in type '{2}'."),The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary:i(2742,1,"The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_a_2742","The inferred type of '{0}' cannot be named without a reference to '{1}'. This is likely not portable. A type annotation is necessary."),No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments:i(2743,1,"No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments_2743","No overload expects {0} type arguments, but overloads do exist that expect either {1} or {2} type arguments."),Type_parameter_defaults_can_only_reference_previously_declared_type_parameters:i(2744,1,"Type_parameter_defaults_can_only_reference_previously_declared_type_parameters_2744","Type parameter defaults can only reference previously declared type parameters."),This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_provided:i(2745,1,"This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_pr_2745","This JSX tag's '{0}' prop expects type '{1}' which requires multiple children, but only a single child was provided."),This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided:i(2746,1,"This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided_2746","This JSX tag's '{0}' prop expects a single child of type '{1}', but multiple children were provided."),_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_type_of_1_is_2:i(2747,1,"_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_t_2747","'{0}' components don't accept text as child elements. Text in JSX has the type 'string', but the expected type of '{1}' is '{2}'."),Cannot_access_ambient_const_enums_when_0_is_enabled:i(2748,1,"Cannot_access_ambient_const_enums_when_0_is_enabled_2748","Cannot access ambient const enums when '{0}' is enabled."),_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0:i(2749,1,"_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0_2749","'{0}' refers to a value, but is being used as a type here. Did you mean 'typeof {0}'?"),The_implementation_signature_is_declared_here:i(2750,1,"The_implementation_signature_is_declared_here_2750","The implementation signature is declared here."),Circularity_originates_in_type_at_this_location:i(2751,1,"Circularity_originates_in_type_at_this_location_2751","Circularity originates in type at this location."),The_first_export_default_is_here:i(2752,1,"The_first_export_default_is_here_2752","The first export default is here."),Another_export_default_is_here:i(2753,1,"Another_export_default_is_here_2753","Another export default is here."),super_may_not_use_type_arguments:i(2754,1,"super_may_not_use_type_arguments_2754","'super' may not use type arguments."),No_constituent_of_type_0_is_callable:i(2755,1,"No_constituent_of_type_0_is_callable_2755","No constituent of type '{0}' is callable."),Not_all_constituents_of_type_0_are_callable:i(2756,1,"Not_all_constituents_of_type_0_are_callable_2756","Not all constituents of type '{0}' are callable."),Type_0_has_no_call_signatures:i(2757,1,"Type_0_has_no_call_signatures_2757","Type '{0}' has no call signatures."),Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_other:i(2758,1,"Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_2758","Each member of the union type '{0}' has signatures, but none of those signatures are compatible with each other."),No_constituent_of_type_0_is_constructable:i(2759,1,"No_constituent_of_type_0_is_constructable_2759","No constituent of type '{0}' is constructable."),Not_all_constituents_of_type_0_are_constructable:i(2760,1,"Not_all_constituents_of_type_0_are_constructable_2760","Not all constituents of type '{0}' are constructable."),Type_0_has_no_construct_signatures:i(2761,1,"Type_0_has_no_construct_signatures_2761","Type '{0}' has no construct signatures."),Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_with_each_other:i(2762,1,"Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_2762","Each member of the union type '{0}' has construct signatures, but none of those signatures are compatible with each other."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0:i(2763,1,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_s_2763","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but for-of will always send '{0}'."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0:i(2764,1,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_al_2764","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array spread will always send '{0}'."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0:i(2765,1,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring__2765","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array destructuring will always send '{0}'."),Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0:i(2766,1,"Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_co_2766","Cannot delegate iteration to value because the 'next' method of its iterator expects type '{1}', but the containing generator will always send '{0}'."),The_0_property_of_an_iterator_must_be_a_method:i(2767,1,"The_0_property_of_an_iterator_must_be_a_method_2767","The '{0}' property of an iterator must be a method."),The_0_property_of_an_async_iterator_must_be_a_method:i(2768,1,"The_0_property_of_an_async_iterator_must_be_a_method_2768","The '{0}' property of an async iterator must be a method."),No_overload_matches_this_call:i(2769,1,"No_overload_matches_this_call_2769","No overload matches this call."),The_last_overload_gave_the_following_error:i(2770,1,"The_last_overload_gave_the_following_error_2770","The last overload gave the following error."),The_last_overload_is_declared_here:i(2771,1,"The_last_overload_is_declared_here_2771","The last overload is declared here."),Overload_0_of_1_2_gave_the_following_error:i(2772,1,"Overload_0_of_1_2_gave_the_following_error_2772","Overload {0} of {1}, '{2}', gave the following error."),Did_you_forget_to_use_await:i(2773,1,"Did_you_forget_to_use_await_2773","Did you forget to use 'await'?"),This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead:i(2774,1,"This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_2774","This condition will always return true since this function is always defined. Did you mean to call it instead?"),Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation:i(2775,1,"Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation_2775","Assertions require every name in the call target to be declared with an explicit type annotation."),Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name:i(2776,1,"Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name_2776","Assertions require the call target to be an identifier or qualified name."),The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access:i(2777,1,"The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access_2777","The operand of an increment or decrement operator may not be an optional property access."),The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access:i(2778,1,"The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access_2778","The target of an object rest assignment may not be an optional property access."),The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access:i(2779,1,"The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access_2779","The left-hand side of an assignment expression may not be an optional property access."),The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access:i(2780,1,"The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access_2780","The left-hand side of a 'for...in' statement may not be an optional property access."),The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access:i(2781,1,"The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access_2781","The left-hand side of a 'for...of' statement may not be an optional property access."),_0_needs_an_explicit_type_annotation:i(2782,3,"_0_needs_an_explicit_type_annotation_2782","'{0}' needs an explicit type annotation."),_0_is_specified_more_than_once_so_this_usage_will_be_overwritten:i(2783,1,"_0_is_specified_more_than_once_so_this_usage_will_be_overwritten_2783","'{0}' is specified more than once, so this usage will be overwritten."),get_and_set_accessors_cannot_declare_this_parameters:i(2784,1,"get_and_set_accessors_cannot_declare_this_parameters_2784","'get' and 'set' accessors cannot declare 'this' parameters."),This_spread_always_overwrites_this_property:i(2785,1,"This_spread_always_overwrites_this_property_2785","This spread always overwrites this property."),_0_cannot_be_used_as_a_JSX_component:i(2786,1,"_0_cannot_be_used_as_a_JSX_component_2786","'{0}' cannot be used as a JSX component."),Its_return_type_0_is_not_a_valid_JSX_element:i(2787,1,"Its_return_type_0_is_not_a_valid_JSX_element_2787","Its return type '{0}' is not a valid JSX element."),Its_instance_type_0_is_not_a_valid_JSX_element:i(2788,1,"Its_instance_type_0_is_not_a_valid_JSX_element_2788","Its instance type '{0}' is not a valid JSX element."),Its_element_type_0_is_not_a_valid_JSX_element:i(2789,1,"Its_element_type_0_is_not_a_valid_JSX_element_2789","Its element type '{0}' is not a valid JSX element."),The_operand_of_a_delete_operator_must_be_optional:i(2790,1,"The_operand_of_a_delete_operator_must_be_optional_2790","The operand of a 'delete' operator must be optional."),Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later:i(2791,1,"Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_lat_2791","Exponentiation cannot be performed on 'bigint' values unless the 'target' option is set to 'es2016' or later."),Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_to_the_paths_option:i(2792,1,"Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_t_2792","Cannot find module '{0}'. Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option?"),The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible:i(2793,1,"The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_2793","The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible."),Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise:i(2794,1,"Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise_2794","Expected {0} arguments, but got {1}. Did you forget to include 'void' in your type argument to 'Promise'?"),The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types:i(2795,1,"The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types_2795","The 'intrinsic' keyword can only be used to declare compiler provided intrinsic types."),It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tagged_template_expression_which_cannot_be_invoked:i(2796,1,"It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tag_2796","It is likely that you are missing a comma to separate these two template expressions. They form a tagged template expression which cannot be invoked."),A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_be_declared_abstract:i(2797,1,"A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_2797","A mixin class that extends from a type variable containing an abstract construct signature must also be declared 'abstract'."),The_declaration_was_marked_as_deprecated_here:i(2798,1,"The_declaration_was_marked_as_deprecated_here_2798","The declaration was marked as deprecated here."),Type_produces_a_tuple_type_that_is_too_large_to_represent:i(2799,1,"Type_produces_a_tuple_type_that_is_too_large_to_represent_2799","Type produces a tuple type that is too large to represent."),Expression_produces_a_tuple_type_that_is_too_large_to_represent:i(2800,1,"Expression_produces_a_tuple_type_that_is_too_large_to_represent_2800","Expression produces a tuple type that is too large to represent."),This_condition_will_always_return_true_since_this_0_is_always_defined:i(2801,1,"This_condition_will_always_return_true_since_this_0_is_always_defined_2801","This condition will always return true since this '{0}' is always defined."),Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher:i(2802,1,"Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es201_2802","Type '{0}' can only be iterated through when using the '--downlevelIteration' flag or with a '--target' of 'es2015' or higher."),Cannot_assign_to_private_method_0_Private_methods_are_not_writable:i(2803,1,"Cannot_assign_to_private_method_0_Private_methods_are_not_writable_2803","Cannot assign to private method '{0}'. Private methods are not writable."),Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name:i(2804,1,"Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name_2804","Duplicate identifier '{0}'. Static and instance elements cannot share the same private name."),Private_accessor_was_defined_without_a_getter:i(2806,1,"Private_accessor_was_defined_without_a_getter_2806","Private accessor was defined without a getter."),This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0:i(2807,1,"This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_o_2807","This syntax requires an imported helper named '{1}' with {2} parameters, which is not compatible with the one in '{0}'. Consider upgrading your version of '{0}'."),A_get_accessor_must_be_at_least_as_accessible_as_the_setter:i(2808,1,"A_get_accessor_must_be_at_least_as_accessible_as_the_setter_2808","A get accessor must be at least as accessible as the setter"),Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_whole_assignment_in_parentheses:i(2809,1,"Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_d_2809","Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the whole assignment in parentheses."),Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_without_arguments:i(2810,1,"Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_2810","Expected 1 argument, but got 0. 'new Promise()' needs a JSDoc hint to produce a 'resolve' that can be called without arguments."),Initializer_for_property_0:i(2811,1,"Initializer_for_property_0_2811","Initializer for property '{0}'"),Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom:i(2812,1,"Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom_2812","Property '{0}' does not exist on type '{1}'. Try changing the 'lib' compiler option to include 'dom'."),Class_declaration_cannot_implement_overload_list_for_0:i(2813,1,"Class_declaration_cannot_implement_overload_list_for_0_2813","Class declaration cannot implement overload list for '{0}'."),Function_with_bodies_can_only_merge_with_classes_that_are_ambient:i(2814,1,"Function_with_bodies_can_only_merge_with_classes_that_are_ambient_2814","Function with bodies can only merge with classes that are ambient."),arguments_cannot_be_referenced_in_property_initializers:i(2815,1,"arguments_cannot_be_referenced_in_property_initializers_2815","'arguments' cannot be referenced in property initializers."),Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class:i(2816,1,"Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class_2816","Cannot use 'this' in a static property initializer of a decorated class."),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_a_class_static_block:i(2817,1,"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_a_class_static_block_2817","Property '{0}' has no initializer and is not definitely assigned in a class static block."),Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializers:i(2818,1,"Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializer_2818","Duplicate identifier '{0}'. Compiler reserves name '{1}' when emitting 'super' references in static initializers."),Namespace_name_cannot_be_0:i(2819,1,"Namespace_name_cannot_be_0_2819","Namespace name cannot be '{0}'."),Type_0_is_not_assignable_to_type_1_Did_you_mean_2:i(2820,1,"Type_0_is_not_assignable_to_type_1_Did_you_mean_2_2820","Type '{0}' is not assignable to type '{1}'. Did you mean '{2}'?"),Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_or_nodenext:i(2821,1,"Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_or_nodenext_2821","Import assertions are only supported when the '--module' option is set to 'esnext' or 'nodenext'."),Import_assertions_cannot_be_used_with_type_only_imports_or_exports:i(2822,1,"Import_assertions_cannot_be_used_with_type_only_imports_or_exports_2822","Import assertions cannot be used with type-only imports or exports."),Cannot_find_namespace_0_Did_you_mean_1:i(2833,1,"Cannot_find_namespace_0_Did_you_mean_1_2833","Cannot find namespace '{0}'. Did you mean '{1}'?"),Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node16_or_nodenext_Consider_adding_an_extension_to_the_import_path:i(2834,1,"Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_n_2834","Relative import paths need explicit file extensions in EcmaScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Consider adding an extension to the import path."),Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node16_or_nodenext_Did_you_mean_0:i(2835,1,"Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_n_2835","Relative import paths need explicit file extensions in EcmaScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Did you mean '{0}'?"),Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls:i(2836,1,"Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls_2836","Import assertions are not allowed on statements that transpile to commonjs 'require' calls."),Import_assertion_values_must_be_string_literal_expressions:i(2837,1,"Import_assertion_values_must_be_string_literal_expressions_2837","Import assertion values must be string literal expressions."),All_declarations_of_0_must_have_identical_constraints:i(2838,1,"All_declarations_of_0_must_have_identical_constraints_2838","All declarations of '{0}' must have identical constraints."),This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value:i(2839,1,"This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value_2839","This condition will always return '{0}' since JavaScript compares objects by reference, not value."),An_interface_cannot_extend_a_primitive_type_like_0_an_interface_can_only_extend_named_types_and_classes:i(2840,1,"An_interface_cannot_extend_a_primitive_type_like_0_an_interface_can_only_extend_named_types_and_clas_2840","An interface cannot extend a primitive type like '{0}'; an interface can only extend named types and classes"),The_type_of_this_expression_cannot_be_named_without_a_resolution_mode_assertion_which_is_an_unstable_feature_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next:i(2841,1,"The_type_of_this_expression_cannot_be_named_without_a_resolution_mode_assertion_which_is_an_unstable_2841","The type of this expression cannot be named without a 'resolution-mode' assertion, which is an unstable feature. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),_0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation:i(2842,1,"_0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation_2842","'{0}' is an unused renaming of '{1}'. Did you intend to use it as a type annotation?"),We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here:i(2843,1,"We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here_2843","We can only write a type for '{0}' by adding a type for the entire parameter here."),Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:i(2844,1,"Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2844","Type of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."),This_condition_will_always_return_0:i(2845,1,"This_condition_will_always_return_0_2845","This condition will always return '{0}'."),A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_file_0_instead:i(2846,1,"A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_f_2846","A declaration file cannot be imported without 'import type'. Did you mean to import an implementation file '{0}' instead?"),Import_declaration_0_is_using_private_name_1:i(4e3,1,"Import_declaration_0_is_using_private_name_1_4000","Import declaration '{0}' is using private name '{1}'."),Type_parameter_0_of_exported_class_has_or_is_using_private_name_1:i(4002,1,"Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002","Type parameter '{0}' of exported class has or is using private name '{1}'."),Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1:i(4004,1,"Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004","Type parameter '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:i(4006,1,"Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006","Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:i(4008,1,"Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008","Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:i(4010,1,"Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010","Type parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:i(4012,1,"Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012","Type parameter '{0}' of public method from exported class has or is using private name '{1}'."),Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:i(4014,1,"Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014","Type parameter '{0}' of method from exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_function_has_or_is_using_private_name_1:i(4016,1,"Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016","Type parameter '{0}' of exported function has or is using private name '{1}'."),Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:i(4019,1,"Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019","Implements clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_0_has_or_is_using_private_name_1:i(4020,1,"extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020","'extends' clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_has_or_is_using_private_name_0:i(4021,1,"extends_clause_of_exported_class_has_or_is_using_private_name_0_4021","'extends' clause of exported class has or is using private name '{0}'."),extends_clause_of_exported_interface_0_has_or_is_using_private_name_1:i(4022,1,"extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022","'extends' clause of exported interface '{0}' has or is using private name '{1}'."),Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4023,1,"Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023","Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named."),Exported_variable_0_has_or_is_using_name_1_from_private_module_2:i(4024,1,"Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024","Exported variable '{0}' has or is using name '{1}' from private module '{2}'."),Exported_variable_0_has_or_is_using_private_name_1:i(4025,1,"Exported_variable_0_has_or_is_using_private_name_1_4025","Exported variable '{0}' has or is using private name '{1}'."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4026,1,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026","Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i(4027,1,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027","Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:i(4028,1,"Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028","Public static property '{0}' of exported class has or is using private name '{1}'."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4029,1,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029","Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i(4030,1,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030","Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_property_0_of_exported_class_has_or_is_using_private_name_1:i(4031,1,"Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031","Public property '{0}' of exported class has or is using private name '{1}'."),Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4032,1,"Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032","Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Property_0_of_exported_interface_has_or_is_using_private_name_1:i(4033,1,"Property_0_of_exported_interface_has_or_is_using_private_name_1_4033","Property '{0}' of exported interface has or is using private name '{1}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4034,1,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_mod_4034","Parameter type of public static setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:i(4035,1,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1_4035","Parameter type of public static setter '{0}' from exported class has or is using private name '{1}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4036,1,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4036","Parameter type of public setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:i(4037,1,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1_4037","Parameter type of public setter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4038,1,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_modul_4038","Return type of public static getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4039,1,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_4039","Return type of public static getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:i(4040,1,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1_4040","Return type of public static getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4041,1,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_4041","Return type of public getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4042,1,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4042","Return type of public getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1:i(4043,1,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1_4043","Return type of public getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i(4044,1,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044","Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0:i(4045,1,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045","Return type of constructor signature from exported interface has or is using private name '{0}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i(4046,1,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046","Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0:i(4047,1,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047","Return type of call signature from exported interface has or is using private name '{0}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i(4048,1,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048","Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0:i(4049,1,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049","Return type of index signature from exported interface has or is using private name '{0}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:i(4050,1,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050","Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:i(4051,1,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051","Return type of public static method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:i(4052,1,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052","Return type of public static method from exported class has or is using private name '{0}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:i(4053,1,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053","Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:i(4054,1,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054","Return type of public method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:i(4055,1,"Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055","Return type of public method from exported class has or is using private name '{0}'."),Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i(4056,1,"Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056","Return type of method from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0:i(4057,1,"Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057","Return type of method from exported interface has or is using private name '{0}'."),Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:i(4058,1,"Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058","Return type of exported function has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:i(4059,1,"Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059","Return type of exported function has or is using name '{0}' from private module '{1}'."),Return_type_of_exported_function_has_or_is_using_private_name_0:i(4060,1,"Return_type_of_exported_function_has_or_is_using_private_name_0_4060","Return type of exported function has or is using private name '{0}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4061,1,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061","Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4062,1,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062","Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1:i(4063,1,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063","Parameter '{0}' of constructor from exported class has or is using private name '{1}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4064,1,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064","Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:i(4065,1,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065","Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4066,1,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066","Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:i(4067,1,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067","Parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4068,1,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068","Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4069,1,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069","Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:i(4070,1,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070","Parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4071,1,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071","Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4072,1,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072","Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:i(4073,1,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073","Parameter '{0}' of public method from exported class has or is using private name '{1}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4074,1,"Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074","Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:i(4075,1,"Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075","Parameter '{0}' of method from exported interface has or is using private name '{1}'."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4076,1,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076","Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:i(4077,1,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077","Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'."),Parameter_0_of_exported_function_has_or_is_using_private_name_1:i(4078,1,"Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078","Parameter '{0}' of exported function has or is using private name '{1}'."),Exported_type_alias_0_has_or_is_using_private_name_1:i(4081,1,"Exported_type_alias_0_has_or_is_using_private_name_1_4081","Exported type alias '{0}' has or is using private name '{1}'."),Default_export_of_the_module_has_or_is_using_private_name_0:i(4082,1,"Default_export_of_the_module_has_or_is_using_private_name_0_4082","Default export of the module has or is using private name '{0}'."),Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1:i(4083,1,"Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1_4083","Type parameter '{0}' of exported type alias has or is using private name '{1}'."),Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2:i(4084,1,"Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2_4084","Exported type alias '{0}' has or is using private name '{1}' from module {2}."),Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1:i(4085,1,"Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1_4085","Extends clause for inferred type '{0}' has or is using private name '{1}'."),Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict:i(4090,1,"Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_librar_4090","Conflicting definitions for '{0}' found at '{1}' and '{2}'. Consider installing a specific version of this library to resolve the conflict."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4091,1,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4091","Parameter '{0}' of index signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1:i(4092,1,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1_4092","Parameter '{0}' of index signature from exported interface has or is using private name '{1}'."),Property_0_of_exported_class_expression_may_not_be_private_or_protected:i(4094,1,"Property_0_of_exported_class_expression_may_not_be_private_or_protected_4094","Property '{0}' of exported class expression may not be private or protected."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4095,1,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_4095","Public static method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i(4096,1,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4096","Public static method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:i(4097,1,"Public_static_method_0_of_exported_class_has_or_is_using_private_name_1_4097","Public static method '{0}' of exported class has or is using private name '{1}'."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4098,1,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4098","Public method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i(4099,1,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4099","Public method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_method_0_of_exported_class_has_or_is_using_private_name_1:i(4100,1,"Public_method_0_of_exported_class_has_or_is_using_private_name_1_4100","Public method '{0}' of exported class has or is using private name '{1}'."),Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4101,1,"Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4101","Method '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Method_0_of_exported_interface_has_or_is_using_private_name_1:i(4102,1,"Method_0_of_exported_interface_has_or_is_using_private_name_1_4102","Method '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1:i(4103,1,"Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1_4103","Type parameter '{0}' of exported mapped object type is using private name '{1}'."),The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1:i(4104,1,"The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1_4104","The type '{0}' is 'readonly' and cannot be assigned to the mutable type '{1}'."),Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter:i(4105,1,"Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter_4105","Private or protected member '{0}' cannot be accessed on a type parameter."),Parameter_0_of_accessor_has_or_is_using_private_name_1:i(4106,1,"Parameter_0_of_accessor_has_or_is_using_private_name_1_4106","Parameter '{0}' of accessor has or is using private name '{1}'."),Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:i(4107,1,"Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2_4107","Parameter '{0}' of accessor has or is using name '{1}' from private module '{2}'."),Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4108,1,"Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4108","Parameter '{0}' of accessor has or is using name '{1}' from external module '{2}' but cannot be named."),Type_arguments_for_0_circularly_reference_themselves:i(4109,1,"Type_arguments_for_0_circularly_reference_themselves_4109","Type arguments for '{0}' circularly reference themselves."),Tuple_type_arguments_circularly_reference_themselves:i(4110,1,"Tuple_type_arguments_circularly_reference_themselves_4110","Tuple type arguments circularly reference themselves."),Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0:i(4111,1,"Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0_4111","Property '{0}' comes from an index signature, so it must be accessed with ['{0}']."),This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class:i(4112,1,"This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another__4112","This member cannot have an 'override' modifier because its containing class '{0}' does not extend another class."),This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0:i(4113,1,"This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_4113","This member cannot have an 'override' modifier because it is not declared in the base class '{0}'."),This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0:i(4114,1,"This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0_4114","This member must have an 'override' modifier because it overrides a member in the base class '{0}'."),This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0:i(4115,1,"This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0_4115","This parameter property must have an 'override' modifier because it overrides a member in base class '{0}'."),This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0:i(4116,1,"This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared__4116","This member must have an 'override' modifier because it overrides an abstract method that is declared in the base class '{0}'."),This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1:i(4117,1,"This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you__4117","This member cannot have an 'override' modifier because it is not declared in the base class '{0}'. Did you mean '{1}'?"),The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized:i(4118,1,"The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized_4118","The type of this node cannot be serialized because its property '{0}' cannot be serialized."),This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:i(4119,1,"This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_4119","This member must have a JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'."),This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:i(4120,1,"This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_4120","This parameter property must have a JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class:i(4121,1,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_4121","This member cannot have a JSDoc comment with an '@override' tag because its containing class '{0}' does not extend another class."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0:i(4122,1,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4122","This member cannot have a JSDoc comment with an '@override' tag because it is not declared in the base class '{0}'."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1:i(4123,1,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4123","This member cannot have a JSDoc comment with an 'override' tag because it is not declared in the base class '{0}'. Did you mean '{1}'?"),Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next:i(4124,1,"Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_w_4124","Compiler option '{0}' of value '{1}' is unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next:i(4125,1,"resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_wi_4125","'resolution-mode' assertions are unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),The_current_host_does_not_support_the_0_option:i(5001,1,"The_current_host_does_not_support_the_0_option_5001","The current host does not support the '{0}' option."),Cannot_find_the_common_subdirectory_path_for_the_input_files:i(5009,1,"Cannot_find_the_common_subdirectory_path_for_the_input_files_5009","Cannot find the common subdirectory path for the input files."),File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:i(5010,1,"File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010","File specification cannot end in a recursive directory wildcard ('**'): '{0}'."),Cannot_read_file_0_Colon_1:i(5012,1,"Cannot_read_file_0_Colon_1_5012","Cannot read file '{0}': {1}."),Failed_to_parse_file_0_Colon_1:i(5014,1,"Failed_to_parse_file_0_Colon_1_5014","Failed to parse file '{0}': {1}."),Unknown_compiler_option_0:i(5023,1,"Unknown_compiler_option_0_5023","Unknown compiler option '{0}'."),Compiler_option_0_requires_a_value_of_type_1:i(5024,1,"Compiler_option_0_requires_a_value_of_type_1_5024","Compiler option '{0}' requires a value of type {1}."),Unknown_compiler_option_0_Did_you_mean_1:i(5025,1,"Unknown_compiler_option_0_Did_you_mean_1_5025","Unknown compiler option '{0}'. Did you mean '{1}'?"),Could_not_write_file_0_Colon_1:i(5033,1,"Could_not_write_file_0_Colon_1_5033","Could not write file '{0}': {1}."),Option_project_cannot_be_mixed_with_source_files_on_a_command_line:i(5042,1,"Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042","Option 'project' cannot be mixed with source files on a command line."),Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher:i(5047,1,"Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047","Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher."),Option_0_cannot_be_specified_when_option_target_is_ES3:i(5048,1,"Option_0_cannot_be_specified_when_option_target_is_ES3_5048","Option '{0}' cannot be specified when option 'target' is 'ES3'."),Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided:i(5051,1,"Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051","Option '{0} can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided."),Option_0_cannot_be_specified_without_specifying_option_1:i(5052,1,"Option_0_cannot_be_specified_without_specifying_option_1_5052","Option '{0}' cannot be specified without specifying option '{1}'."),Option_0_cannot_be_specified_with_option_1:i(5053,1,"Option_0_cannot_be_specified_with_option_1_5053","Option '{0}' cannot be specified with option '{1}'."),A_tsconfig_json_file_is_already_defined_at_Colon_0:i(5054,1,"A_tsconfig_json_file_is_already_defined_at_Colon_0_5054","A 'tsconfig.json' file is already defined at: '{0}'."),Cannot_write_file_0_because_it_would_overwrite_input_file:i(5055,1,"Cannot_write_file_0_because_it_would_overwrite_input_file_5055","Cannot write file '{0}' because it would overwrite input file."),Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files:i(5056,1,"Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056","Cannot write file '{0}' because it would be overwritten by multiple input files."),Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0:i(5057,1,"Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057","Cannot find a tsconfig.json file at the specified directory: '{0}'."),The_specified_path_does_not_exist_Colon_0:i(5058,1,"The_specified_path_does_not_exist_Colon_0_5058","The specified path does not exist: '{0}'."),Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier:i(5059,1,"Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059","Invalid value for '--reactNamespace'. '{0}' is not a valid identifier."),Pattern_0_can_have_at_most_one_Asterisk_character:i(5061,1,"Pattern_0_can_have_at_most_one_Asterisk_character_5061","Pattern '{0}' can have at most one '*' character."),Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character:i(5062,1,"Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character_5062","Substitution '{0}' in pattern '{1}' can have at most one '*' character."),Substitutions_for_pattern_0_should_be_an_array:i(5063,1,"Substitutions_for_pattern_0_should_be_an_array_5063","Substitutions for pattern '{0}' should be an array."),Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2:i(5064,1,"Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064","Substitution '{0}' for pattern '{1}' has incorrect type, expected 'string', got '{2}'."),File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:i(5065,1,"File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065","File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '{0}'."),Substitutions_for_pattern_0_shouldn_t_be_an_empty_array:i(5066,1,"Substitutions_for_pattern_0_shouldn_t_be_an_empty_array_5066","Substitutions for pattern '{0}' shouldn't be an empty array."),Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name:i(5067,1,"Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067","Invalid value for 'jsxFactory'. '{0}' is not a valid identifier or qualified-name."),Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig:i(5068,1,"Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__5068","Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig."),Option_0_cannot_be_specified_without_specifying_option_1_or_option_2:i(5069,1,"Option_0_cannot_be_specified_without_specifying_option_1_or_option_2_5069","Option '{0}' cannot be specified without specifying option '{1}' or option '{2}'."),Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic:i(5070,1,"Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic_5070","Option '--resolveJsonModule' cannot be specified when 'moduleResolution' is set to 'classic'."),Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_esNext:i(5071,1,"Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_5071","Option '--resolveJsonModule' can only be specified when module code generation is 'commonjs', 'amd', 'es2015' or 'esNext'."),Unknown_build_option_0:i(5072,1,"Unknown_build_option_0_5072","Unknown build option '{0}'."),Build_option_0_requires_a_value_of_type_1:i(5073,1,"Build_option_0_requires_a_value_of_type_1_5073","Build option '{0}' requires a value of type {1}."),Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBuildInfoFile_is_specified:i(5074,1,"Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBui_5074","Option '--incremental' can only be specified using tsconfig, emitting to single file or when option '--tsBuildInfoFile' is specified."),_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_constraint_2:i(5075,1,"_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_5075","'{0}' is assignable to the constraint of type '{1}', but '{1}' could be instantiated with a different subtype of constraint '{2}'."),_0_and_1_operations_cannot_be_mixed_without_parentheses:i(5076,1,"_0_and_1_operations_cannot_be_mixed_without_parentheses_5076","'{0}' and '{1}' operations cannot be mixed without parentheses."),Unknown_build_option_0_Did_you_mean_1:i(5077,1,"Unknown_build_option_0_Did_you_mean_1_5077","Unknown build option '{0}'. Did you mean '{1}'?"),Unknown_watch_option_0:i(5078,1,"Unknown_watch_option_0_5078","Unknown watch option '{0}'."),Unknown_watch_option_0_Did_you_mean_1:i(5079,1,"Unknown_watch_option_0_Did_you_mean_1_5079","Unknown watch option '{0}'. Did you mean '{1}'?"),Watch_option_0_requires_a_value_of_type_1:i(5080,1,"Watch_option_0_requires_a_value_of_type_1_5080","Watch option '{0}' requires a value of type {1}."),Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0:i(5081,1,"Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0_5081","Cannot find a tsconfig.json file at the current directory: {0}."),_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1:i(5082,1,"_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1_5082","'{0}' could be instantiated with an arbitrary type which could be unrelated to '{1}'."),Cannot_read_file_0:i(5083,1,"Cannot_read_file_0_5083","Cannot read file '{0}'."),Tuple_members_must_all_have_names_or_all_not_have_names:i(5084,1,"Tuple_members_must_all_have_names_or_all_not_have_names_5084","Tuple members must all have names or all not have names."),A_tuple_member_cannot_be_both_optional_and_rest:i(5085,1,"A_tuple_member_cannot_be_both_optional_and_rest_5085","A tuple member cannot be both optional and rest."),A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type:i(5086,1,"A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_c_5086","A labeled tuple element is declared as optional with a question mark after the name and before the colon, rather than after the type."),A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type:i(5087,1,"A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type_5087","A labeled tuple element is declared as rest with a '...' before the name, rather than before the type."),The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary:i(5088,1,"The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialize_5088","The inferred type of '{0}' references a type with a cyclic structure which cannot be trivially serialized. A type annotation is necessary."),Option_0_cannot_be_specified_when_option_jsx_is_1:i(5089,1,"Option_0_cannot_be_specified_when_option_jsx_is_1_5089","Option '{0}' cannot be specified when option 'jsx' is '{1}'."),Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash:i(5090,1,"Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash_5090","Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?"),Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled:i(5091,1,"Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled_5091","Option 'preserveConstEnums' cannot be disabled when '{0}' is enabled."),The_root_value_of_a_0_file_must_be_an_object:i(5092,1,"The_root_value_of_a_0_file_must_be_an_object_5092","The root value of a '{0}' file must be an object."),Compiler_option_0_may_only_be_used_with_build:i(5093,1,"Compiler_option_0_may_only_be_used_with_build_5093","Compiler option '--{0}' may only be used with '--build'."),Compiler_option_0_may_not_be_used_with_build:i(5094,1,"Compiler_option_0_may_not_be_used_with_build_5094","Compiler option '--{0}' may not be used with '--build'."),Option_0_can_only_be_used_when_module_is_set_to_es2015_or_later:i(5095,1,"Option_0_can_only_be_used_when_module_is_set_to_es2015_or_later_5095","Option '{0}' can only be used when 'module' is set to 'es2015' or later."),Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set:i(5096,1,"Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set_5096","Option 'allowImportingTsExtensions' can only be used when either 'noEmit' or 'emitDeclarationOnly' is set."),An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled:i(5097,1,"An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled_5097","An import path can only end with a '{0}' extension when 'allowImportingTsExtensions' is enabled."),Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler:i(5098,1,"Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler_5098","Option '{0}' can only be used when 'moduleResolution' is set to 'node16', 'nodenext', or 'bundler'."),Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprecations_Colon_2_to_silence_this_error:i(5101,1,"Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprec_5101",`Option '{0}' is deprecated and will stop functioning in TypeScript {1}. Specify compilerOption '"ignoreDeprecations": "{2}"' to silence this error.`),Option_0_has_been_removed_Please_remove_it_from_your_configuration:i(5102,1,"Option_0_has_been_removed_Please_remove_it_from_your_configuration_5102","Option '{0}' has been removed. Please remove it from your configuration."),Invalid_value_for_ignoreDeprecations:i(5103,1,"Invalid_value_for_ignoreDeprecations_5103","Invalid value for '--ignoreDeprecations'."),Option_0_is_redundant_and_cannot_be_specified_with_option_1:i(5104,1,"Option_0_is_redundant_and_cannot_be_specified_with_option_1_5104","Option '{0}' is redundant and cannot be specified with option '{1}'."),Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System:i(5105,1,"Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System_5105","Option 'verbatimModuleSyntax' cannot be used when 'module' is set to 'UMD', 'AMD', or 'System'."),Use_0_instead:i(5106,3,"Use_0_instead_5106","Use '{0}' instead."),Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDeprecations_Colon_3_to_silence_this_error:i(5107,1,"Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDepr_5107",`Option '{0}={1}' is deprecated and will stop functioning in TypeScript {2}. Specify compilerOption '"ignoreDeprecations": "{3}"' to silence this error.`),Option_0_1_has_been_removed_Please_remove_it_from_your_configuration:i(5108,1,"Option_0_1_has_been_removed_Please_remove_it_from_your_configuration_5108","Option '{0}={1}' has been removed. Please remove it from your configuration."),Generates_a_sourcemap_for_each_corresponding_d_ts_file:i(6e3,3,"Generates_a_sourcemap_for_each_corresponding_d_ts_file_6000","Generates a sourcemap for each corresponding '.d.ts' file."),Concatenate_and_emit_output_to_single_file:i(6001,3,"Concatenate_and_emit_output_to_single_file_6001","Concatenate and emit output to single file."),Generates_corresponding_d_ts_file:i(6002,3,"Generates_corresponding_d_ts_file_6002","Generates corresponding '.d.ts' file."),Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations:i(6004,3,"Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004","Specify the location where debugger should locate TypeScript files instead of source locations."),Watch_input_files:i(6005,3,"Watch_input_files_6005","Watch input files."),Redirect_output_structure_to_the_directory:i(6006,3,"Redirect_output_structure_to_the_directory_6006","Redirect output structure to the directory."),Do_not_erase_const_enum_declarations_in_generated_code:i(6007,3,"Do_not_erase_const_enum_declarations_in_generated_code_6007","Do not erase const enum declarations in generated code."),Do_not_emit_outputs_if_any_errors_were_reported:i(6008,3,"Do_not_emit_outputs_if_any_errors_were_reported_6008","Do not emit outputs if any errors were reported."),Do_not_emit_comments_to_output:i(6009,3,"Do_not_emit_comments_to_output_6009","Do not emit comments to output."),Do_not_emit_outputs:i(6010,3,"Do_not_emit_outputs_6010","Do not emit outputs."),Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking:i(6011,3,"Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011","Allow default imports from modules with no default export. This does not affect code emit, just typechecking."),Skip_type_checking_of_declaration_files:i(6012,3,"Skip_type_checking_of_declaration_files_6012","Skip type checking of declaration files."),Do_not_resolve_the_real_path_of_symlinks:i(6013,3,"Do_not_resolve_the_real_path_of_symlinks_6013","Do not resolve the real path of symlinks."),Only_emit_d_ts_declaration_files:i(6014,3,"Only_emit_d_ts_declaration_files_6014","Only emit '.d.ts' declaration files."),Specify_ECMAScript_target_version:i(6015,3,"Specify_ECMAScript_target_version_6015","Specify ECMAScript target version."),Specify_module_code_generation:i(6016,3,"Specify_module_code_generation_6016","Specify module code generation."),Print_this_message:i(6017,3,"Print_this_message_6017","Print this message."),Print_the_compiler_s_version:i(6019,3,"Print_the_compiler_s_version_6019","Print the compiler's version."),Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json:i(6020,3,"Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json_6020","Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'."),Syntax_Colon_0:i(6023,3,"Syntax_Colon_0_6023","Syntax: {0}"),options:i(6024,3,"options_6024","options"),file:i(6025,3,"file_6025","file"),Examples_Colon_0:i(6026,3,"Examples_Colon_0_6026","Examples: {0}"),Options_Colon:i(6027,3,"Options_Colon_6027","Options:"),Version_0:i(6029,3,"Version_0_6029","Version {0}"),Insert_command_line_options_and_files_from_a_file:i(6030,3,"Insert_command_line_options_and_files_from_a_file_6030","Insert command line options and files from a file."),Starting_compilation_in_watch_mode:i(6031,3,"Starting_compilation_in_watch_mode_6031","Starting compilation in watch mode..."),File_change_detected_Starting_incremental_compilation:i(6032,3,"File_change_detected_Starting_incremental_compilation_6032","File change detected. Starting incremental compilation..."),KIND:i(6034,3,"KIND_6034","KIND"),FILE:i(6035,3,"FILE_6035","FILE"),VERSION:i(6036,3,"VERSION_6036","VERSION"),LOCATION:i(6037,3,"LOCATION_6037","LOCATION"),DIRECTORY:i(6038,3,"DIRECTORY_6038","DIRECTORY"),STRATEGY:i(6039,3,"STRATEGY_6039","STRATEGY"),FILE_OR_DIRECTORY:i(6040,3,"FILE_OR_DIRECTORY_6040","FILE OR DIRECTORY"),Errors_Files:i(6041,3,"Errors_Files_6041","Errors Files"),Generates_corresponding_map_file:i(6043,3,"Generates_corresponding_map_file_6043","Generates corresponding '.map' file."),Compiler_option_0_expects_an_argument:i(6044,1,"Compiler_option_0_expects_an_argument_6044","Compiler option '{0}' expects an argument."),Unterminated_quoted_string_in_response_file_0:i(6045,1,"Unterminated_quoted_string_in_response_file_0_6045","Unterminated quoted string in response file '{0}'."),Argument_for_0_option_must_be_Colon_1:i(6046,1,"Argument_for_0_option_must_be_Colon_1_6046","Argument for '{0}' option must be: {1}."),Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1:i(6048,1,"Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048","Locale must be of the form or -. For example '{0}' or '{1}'."),Unable_to_open_file_0:i(6050,1,"Unable_to_open_file_0_6050","Unable to open file '{0}'."),Corrupted_locale_file_0:i(6051,1,"Corrupted_locale_file_0_6051","Corrupted locale file {0}."),Raise_error_on_expressions_and_declarations_with_an_implied_any_type:i(6052,3,"Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052","Raise error on expressions and declarations with an implied 'any' type."),File_0_not_found:i(6053,1,"File_0_not_found_6053","File '{0}' not found."),File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1:i(6054,1,"File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1_6054","File '{0}' has an unsupported extension. The only supported extensions are {1}."),Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures:i(6055,3,"Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055","Suppress noImplicitAny errors for indexing objects lacking index signatures."),Do_not_emit_declarations_for_code_that_has_an_internal_annotation:i(6056,3,"Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056","Do not emit declarations for code that has an '@internal' annotation."),Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir:i(6058,3,"Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058","Specify the root directory of input files. Use to control the output directory structure with --outDir."),File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files:i(6059,1,"File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059","File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files."),Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix:i(6060,3,"Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060","Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)."),NEWLINE:i(6061,3,"NEWLINE_6061","NEWLINE"),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line:i(6064,1,"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line_6064","Option '{0}' can only be specified in 'tsconfig.json' file or set to 'null' on command line."),Enables_experimental_support_for_ES7_decorators:i(6065,3,"Enables_experimental_support_for_ES7_decorators_6065","Enables experimental support for ES7 decorators."),Enables_experimental_support_for_emitting_type_metadata_for_decorators:i(6066,3,"Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066","Enables experimental support for emitting type metadata for decorators."),Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file:i(6070,3,"Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070","Initializes a TypeScript project and creates a tsconfig.json file."),Successfully_created_a_tsconfig_json_file:i(6071,3,"Successfully_created_a_tsconfig_json_file_6071","Successfully created a tsconfig.json file."),Suppress_excess_property_checks_for_object_literals:i(6072,3,"Suppress_excess_property_checks_for_object_literals_6072","Suppress excess property checks for object literals."),Stylize_errors_and_messages_using_color_and_context_experimental:i(6073,3,"Stylize_errors_and_messages_using_color_and_context_experimental_6073","Stylize errors and messages using color and context (experimental)."),Do_not_report_errors_on_unused_labels:i(6074,3,"Do_not_report_errors_on_unused_labels_6074","Do not report errors on unused labels."),Report_error_when_not_all_code_paths_in_function_return_a_value:i(6075,3,"Report_error_when_not_all_code_paths_in_function_return_a_value_6075","Report error when not all code paths in function return a value."),Report_errors_for_fallthrough_cases_in_switch_statement:i(6076,3,"Report_errors_for_fallthrough_cases_in_switch_statement_6076","Report errors for fallthrough cases in switch statement."),Do_not_report_errors_on_unreachable_code:i(6077,3,"Do_not_report_errors_on_unreachable_code_6077","Do not report errors on unreachable code."),Disallow_inconsistently_cased_references_to_the_same_file:i(6078,3,"Disallow_inconsistently_cased_references_to_the_same_file_6078","Disallow inconsistently-cased references to the same file."),Specify_library_files_to_be_included_in_the_compilation:i(6079,3,"Specify_library_files_to_be_included_in_the_compilation_6079","Specify library files to be included in the compilation."),Specify_JSX_code_generation:i(6080,3,"Specify_JSX_code_generation_6080","Specify JSX code generation."),File_0_has_an_unsupported_extension_so_skipping_it:i(6081,3,"File_0_has_an_unsupported_extension_so_skipping_it_6081","File '{0}' has an unsupported extension, so skipping it."),Only_amd_and_system_modules_are_supported_alongside_0:i(6082,1,"Only_amd_and_system_modules_are_supported_alongside_0_6082","Only 'amd' and 'system' modules are supported alongside --{0}."),Base_directory_to_resolve_non_absolute_module_names:i(6083,3,"Base_directory_to_resolve_non_absolute_module_names_6083","Base directory to resolve non-absolute module names."),Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit:i(6084,3,"Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084","[Deprecated] Use '--jsxFactory' instead. Specify the object invoked for createElement when targeting 'react' JSX emit"),Enable_tracing_of_the_name_resolution_process:i(6085,3,"Enable_tracing_of_the_name_resolution_process_6085","Enable tracing of the name resolution process."),Resolving_module_0_from_1:i(6086,3,"Resolving_module_0_from_1_6086","======== Resolving module '{0}' from '{1}'. ========"),Explicitly_specified_module_resolution_kind_Colon_0:i(6087,3,"Explicitly_specified_module_resolution_kind_Colon_0_6087","Explicitly specified module resolution kind: '{0}'."),Module_resolution_kind_is_not_specified_using_0:i(6088,3,"Module_resolution_kind_is_not_specified_using_0_6088","Module resolution kind is not specified, using '{0}'."),Module_name_0_was_successfully_resolved_to_1:i(6089,3,"Module_name_0_was_successfully_resolved_to_1_6089","======== Module name '{0}' was successfully resolved to '{1}'. ========"),Module_name_0_was_not_resolved:i(6090,3,"Module_name_0_was_not_resolved_6090","======== Module name '{0}' was not resolved. ========"),paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0:i(6091,3,"paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091","'paths' option is specified, looking for a pattern to match module name '{0}'."),Module_name_0_matched_pattern_1:i(6092,3,"Module_name_0_matched_pattern_1_6092","Module name '{0}', matched pattern '{1}'."),Trying_substitution_0_candidate_module_location_Colon_1:i(6093,3,"Trying_substitution_0_candidate_module_location_Colon_1_6093","Trying substitution '{0}', candidate module location: '{1}'."),Resolving_module_name_0_relative_to_base_url_1_2:i(6094,3,"Resolving_module_name_0_relative_to_base_url_1_2_6094","Resolving module name '{0}' relative to base url '{1}' - '{2}'."),Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_types_Colon_1:i(6095,3,"Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_types_Colon_1_6095","Loading module as file / folder, candidate module location '{0}', target file types: {1}."),File_0_does_not_exist:i(6096,3,"File_0_does_not_exist_6096","File '{0}' does not exist."),File_0_exists_use_it_as_a_name_resolution_result:i(6097,3,"File_0_exists_use_it_as_a_name_resolution_result_6097","File '{0}' exists - use it as a name resolution result."),Loading_module_0_from_node_modules_folder_target_file_types_Colon_1:i(6098,3,"Loading_module_0_from_node_modules_folder_target_file_types_Colon_1_6098","Loading module '{0}' from 'node_modules' folder, target file types: {1}."),Found_package_json_at_0:i(6099,3,"Found_package_json_at_0_6099","Found 'package.json' at '{0}'."),package_json_does_not_have_a_0_field:i(6100,3,"package_json_does_not_have_a_0_field_6100","'package.json' does not have a '{0}' field."),package_json_has_0_field_1_that_references_2:i(6101,3,"package_json_has_0_field_1_that_references_2_6101","'package.json' has '{0}' field '{1}' that references '{2}'."),Allow_javascript_files_to_be_compiled:i(6102,3,"Allow_javascript_files_to_be_compiled_6102","Allow javascript files to be compiled."),Checking_if_0_is_the_longest_matching_prefix_for_1_2:i(6104,3,"Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104","Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'."),Expected_type_of_0_field_in_package_json_to_be_1_got_2:i(6105,3,"Expected_type_of_0_field_in_package_json_to_be_1_got_2_6105","Expected type of '{0}' field in 'package.json' to be '{1}', got '{2}'."),baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1:i(6106,3,"baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106","'baseUrl' option is set to '{0}', using this value to resolve non-relative module name '{1}'."),rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0:i(6107,3,"rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107","'rootDirs' option is set, using it to resolve relative module name '{0}'."),Longest_matching_prefix_for_0_is_1:i(6108,3,"Longest_matching_prefix_for_0_is_1_6108","Longest matching prefix for '{0}' is '{1}'."),Loading_0_from_the_root_dir_1_candidate_location_2:i(6109,3,"Loading_0_from_the_root_dir_1_candidate_location_2_6109","Loading '{0}' from the root dir '{1}', candidate location '{2}'."),Trying_other_entries_in_rootDirs:i(6110,3,"Trying_other_entries_in_rootDirs_6110","Trying other entries in 'rootDirs'."),Module_resolution_using_rootDirs_has_failed:i(6111,3,"Module_resolution_using_rootDirs_has_failed_6111","Module resolution using 'rootDirs' has failed."),Do_not_emit_use_strict_directives_in_module_output:i(6112,3,"Do_not_emit_use_strict_directives_in_module_output_6112","Do not emit 'use strict' directives in module output."),Enable_strict_null_checks:i(6113,3,"Enable_strict_null_checks_6113","Enable strict null checks."),Unknown_option_excludes_Did_you_mean_exclude:i(6114,1,"Unknown_option_excludes_Did_you_mean_exclude_6114","Unknown option 'excludes'. Did you mean 'exclude'?"),Raise_error_on_this_expressions_with_an_implied_any_type:i(6115,3,"Raise_error_on_this_expressions_with_an_implied_any_type_6115","Raise error on 'this' expressions with an implied 'any' type."),Resolving_type_reference_directive_0_containing_file_1_root_directory_2:i(6116,3,"Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116","======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========"),Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2:i(6119,3,"Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119","======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========"),Type_reference_directive_0_was_not_resolved:i(6120,3,"Type_reference_directive_0_was_not_resolved_6120","======== Type reference directive '{0}' was not resolved. ========"),Resolving_with_primary_search_path_0:i(6121,3,"Resolving_with_primary_search_path_0_6121","Resolving with primary search path '{0}'."),Root_directory_cannot_be_determined_skipping_primary_search_paths:i(6122,3,"Root_directory_cannot_be_determined_skipping_primary_search_paths_6122","Root directory cannot be determined, skipping primary search paths."),Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set:i(6123,3,"Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123","======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========"),Type_declaration_files_to_be_included_in_compilation:i(6124,3,"Type_declaration_files_to_be_included_in_compilation_6124","Type declaration files to be included in compilation."),Looking_up_in_node_modules_folder_initial_location_0:i(6125,3,"Looking_up_in_node_modules_folder_initial_location_0_6125","Looking up in 'node_modules' folder, initial location '{0}'."),Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder:i(6126,3,"Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126","Containing file is not specified and root directory cannot be determined, skipping lookup in 'node_modules' folder."),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1:i(6127,3,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127","======== Resolving type reference directive '{0}', containing file not set, root directory '{1}'. ========"),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set:i(6128,3,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128","======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========"),Resolving_real_path_for_0_result_1:i(6130,3,"Resolving_real_path_for_0_result_1_6130","Resolving real path for '{0}', result '{1}'."),Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system:i(6131,1,"Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131","Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'."),File_name_0_has_a_1_extension_stripping_it:i(6132,3,"File_name_0_has_a_1_extension_stripping_it_6132","File name '{0}' has a '{1}' extension - stripping it."),_0_is_declared_but_its_value_is_never_read:i(6133,1,"_0_is_declared_but_its_value_is_never_read_6133","'{0}' is declared but its value is never read.",!0),Report_errors_on_unused_locals:i(6134,3,"Report_errors_on_unused_locals_6134","Report errors on unused locals."),Report_errors_on_unused_parameters:i(6135,3,"Report_errors_on_unused_parameters_6135","Report errors on unused parameters."),The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files:i(6136,3,"The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136","The maximum dependency depth to search under node_modules and load JavaScript files."),Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1:i(6137,1,"Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1_6137","Cannot import type declaration files. Consider importing '{0}' instead of '{1}'."),Property_0_is_declared_but_its_value_is_never_read:i(6138,1,"Property_0_is_declared_but_its_value_is_never_read_6138","Property '{0}' is declared but its value is never read.",!0),Import_emit_helpers_from_tslib:i(6139,3,"Import_emit_helpers_from_tslib_6139","Import emit helpers from 'tslib'."),Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2:i(6140,1,"Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using__6140","Auto discovery for typings is enabled in project '{0}'. Running extra resolution pass for module '{1}' using cache location '{2}'."),Parse_in_strict_mode_and_emit_use_strict_for_each_source_file:i(6141,3,"Parse_in_strict_mode_and_emit_use_strict_for_each_source_file_6141",'Parse in strict mode and emit "use strict" for each source file.'),Module_0_was_resolved_to_1_but_jsx_is_not_set:i(6142,1,"Module_0_was_resolved_to_1_but_jsx_is_not_set_6142","Module '{0}' was resolved to '{1}', but '--jsx' is not set."),Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1:i(6144,3,"Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1_6144","Module '{0}' was resolved as locally declared ambient module in file '{1}'."),Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified:i(6145,3,"Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified_6145","Module '{0}' was resolved as ambient module declared in '{1}' since this file was not modified."),Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h:i(6146,3,"Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h_6146","Specify the JSX factory function to use when targeting 'react' JSX emit, e.g. 'React.createElement' or 'h'."),Resolution_for_module_0_was_found_in_cache_from_location_1:i(6147,3,"Resolution_for_module_0_was_found_in_cache_from_location_1_6147","Resolution for module '{0}' was found in cache from location '{1}'."),Directory_0_does_not_exist_skipping_all_lookups_in_it:i(6148,3,"Directory_0_does_not_exist_skipping_all_lookups_in_it_6148","Directory '{0}' does not exist, skipping all lookups in it."),Show_diagnostic_information:i(6149,3,"Show_diagnostic_information_6149","Show diagnostic information."),Show_verbose_diagnostic_information:i(6150,3,"Show_verbose_diagnostic_information_6150","Show verbose diagnostic information."),Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file:i(6151,3,"Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file_6151","Emit a single file with source maps instead of having a separate file."),Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set:i(6152,3,"Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap__6152","Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set."),Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule:i(6153,3,"Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule_6153","Transpile each file as a separate module (similar to 'ts.transpileModule')."),Print_names_of_generated_files_part_of_the_compilation:i(6154,3,"Print_names_of_generated_files_part_of_the_compilation_6154","Print names of generated files part of the compilation."),Print_names_of_files_part_of_the_compilation:i(6155,3,"Print_names_of_files_part_of_the_compilation_6155","Print names of files part of the compilation."),The_locale_used_when_displaying_messages_to_the_user_e_g_en_us:i(6156,3,"The_locale_used_when_displaying_messages_to_the_user_e_g_en_us_6156","The locale used when displaying messages to the user (e.g. 'en-us')"),Do_not_generate_custom_helper_functions_like_extends_in_compiled_output:i(6157,3,"Do_not_generate_custom_helper_functions_like_extends_in_compiled_output_6157","Do not generate custom helper functions like '__extends' in compiled output."),Do_not_include_the_default_library_file_lib_d_ts:i(6158,3,"Do_not_include_the_default_library_file_lib_d_ts_6158","Do not include the default library file (lib.d.ts)."),Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files:i(6159,3,"Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files_6159","Do not add triple-slash references or imported modules to the list of compiled files."),Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files:i(6160,3,"Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files_6160","[Deprecated] Use '--skipLibCheck' instead. Skip type checking of default library declaration files."),List_of_folders_to_include_type_definitions_from:i(6161,3,"List_of_folders_to_include_type_definitions_from_6161","List of folders to include type definitions from."),Disable_size_limitations_on_JavaScript_projects:i(6162,3,"Disable_size_limitations_on_JavaScript_projects_6162","Disable size limitations on JavaScript projects."),The_character_set_of_the_input_files:i(6163,3,"The_character_set_of_the_input_files_6163","The character set of the input files."),Do_not_truncate_error_messages:i(6165,3,"Do_not_truncate_error_messages_6165","Do not truncate error messages."),Output_directory_for_generated_declaration_files:i(6166,3,"Output_directory_for_generated_declaration_files_6166","Output directory for generated declaration files."),A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl:i(6167,3,"A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl_6167","A series of entries which re-map imports to lookup locations relative to the 'baseUrl'."),List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime:i(6168,3,"List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime_6168","List of root folders whose combined content represents the structure of the project at runtime."),Show_all_compiler_options:i(6169,3,"Show_all_compiler_options_6169","Show all compiler options."),Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file:i(6170,3,"Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file_6170","[Deprecated] Use '--outFile' instead. Concatenate and emit output to single file"),Command_line_Options:i(6171,3,"Command_line_Options_6171","Command-line Options"),Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3:i(6179,3,"Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3_6179","Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'."),Enable_all_strict_type_checking_options:i(6180,3,"Enable_all_strict_type_checking_options_6180","Enable all strict type-checking options."),Scoped_package_detected_looking_in_0:i(6182,3,"Scoped_package_detected_looking_in_0_6182","Scoped package detected, looking in '{0}'"),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2:i(6183,3,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_6183","Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}'."),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:i(6184,3,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package__6184","Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}' with Package ID '{3}'."),Enable_strict_checking_of_function_types:i(6186,3,"Enable_strict_checking_of_function_types_6186","Enable strict checking of function types."),Enable_strict_checking_of_property_initialization_in_classes:i(6187,3,"Enable_strict_checking_of_property_initialization_in_classes_6187","Enable strict checking of property initialization in classes."),Numeric_separators_are_not_allowed_here:i(6188,1,"Numeric_separators_are_not_allowed_here_6188","Numeric separators are not allowed here."),Multiple_consecutive_numeric_separators_are_not_permitted:i(6189,1,"Multiple_consecutive_numeric_separators_are_not_permitted_6189","Multiple consecutive numeric separators are not permitted."),Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen:i(6191,3,"Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen_6191","Whether to keep outdated console output in watch mode instead of clearing the screen."),All_imports_in_import_declaration_are_unused:i(6192,1,"All_imports_in_import_declaration_are_unused_6192","All imports in import declaration are unused.",!0),Found_1_error_Watching_for_file_changes:i(6193,3,"Found_1_error_Watching_for_file_changes_6193","Found 1 error. Watching for file changes."),Found_0_errors_Watching_for_file_changes:i(6194,3,"Found_0_errors_Watching_for_file_changes_6194","Found {0} errors. Watching for file changes."),Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols:i(6195,3,"Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols_6195","Resolve 'keyof' to string valued property names only (no numbers or symbols)."),_0_is_declared_but_never_used:i(6196,1,"_0_is_declared_but_never_used_6196","'{0}' is declared but never used.",!0),Include_modules_imported_with_json_extension:i(6197,3,"Include_modules_imported_with_json_extension_6197","Include modules imported with '.json' extension"),All_destructured_elements_are_unused:i(6198,1,"All_destructured_elements_are_unused_6198","All destructured elements are unused.",!0),All_variables_are_unused:i(6199,1,"All_variables_are_unused_6199","All variables are unused.",!0),Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0:i(6200,1,"Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0_6200","Definitions of the following identifiers conflict with those in another file: {0}"),Conflicts_are_in_this_file:i(6201,3,"Conflicts_are_in_this_file_6201","Conflicts are in this file."),Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0:i(6202,1,"Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202","Project references may not form a circular graph. Cycle detected: {0}"),_0_was_also_declared_here:i(6203,3,"_0_was_also_declared_here_6203","'{0}' was also declared here."),and_here:i(6204,3,"and_here_6204","and here."),All_type_parameters_are_unused:i(6205,1,"All_type_parameters_are_unused_6205","All type parameters are unused."),package_json_has_a_typesVersions_field_with_version_specific_path_mappings:i(6206,3,"package_json_has_a_typesVersions_field_with_version_specific_path_mappings_6206","'package.json' has a 'typesVersions' field with version-specific path mappings."),package_json_does_not_have_a_typesVersions_entry_that_matches_version_0:i(6207,3,"package_json_does_not_have_a_typesVersions_entry_that_matches_version_0_6207","'package.json' does not have a 'typesVersions' entry that matches version '{0}'."),package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2:i(6208,3,"package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_ma_6208","'package.json' has a 'typesVersions' entry '{0}' that matches compiler version '{1}', looking for a pattern to match module name '{2}'."),package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range:i(6209,3,"package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range_6209","'package.json' has a 'typesVersions' entry '{0}' that is not a valid semver range."),An_argument_for_0_was_not_provided:i(6210,3,"An_argument_for_0_was_not_provided_6210","An argument for '{0}' was not provided."),An_argument_matching_this_binding_pattern_was_not_provided:i(6211,3,"An_argument_matching_this_binding_pattern_was_not_provided_6211","An argument matching this binding pattern was not provided."),Did_you_mean_to_call_this_expression:i(6212,3,"Did_you_mean_to_call_this_expression_6212","Did you mean to call this expression?"),Did_you_mean_to_use_new_with_this_expression:i(6213,3,"Did_you_mean_to_use_new_with_this_expression_6213","Did you mean to use 'new' with this expression?"),Enable_strict_bind_call_and_apply_methods_on_functions:i(6214,3,"Enable_strict_bind_call_and_apply_methods_on_functions_6214","Enable strict 'bind', 'call', and 'apply' methods on functions."),Using_compiler_options_of_project_reference_redirect_0:i(6215,3,"Using_compiler_options_of_project_reference_redirect_0_6215","Using compiler options of project reference redirect '{0}'."),Found_1_error:i(6216,3,"Found_1_error_6216","Found 1 error."),Found_0_errors:i(6217,3,"Found_0_errors_6217","Found {0} errors."),Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2:i(6218,3,"Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2_6218","======== Module name '{0}' was successfully resolved to '{1}' with Package ID '{2}'. ========"),Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3:i(6219,3,"Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3_6219","======== Type reference directive '{0}' was successfully resolved to '{1}' with Package ID '{2}', primary: {3}. ========"),package_json_had_a_falsy_0_field:i(6220,3,"package_json_had_a_falsy_0_field_6220","'package.json' had a falsy '{0}' field."),Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects:i(6221,3,"Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects_6221","Disable use of source files instead of declaration files from referenced projects."),Emit_class_fields_with_Define_instead_of_Set:i(6222,3,"Emit_class_fields_with_Define_instead_of_Set_6222","Emit class fields with Define instead of Set."),Generates_a_CPU_profile:i(6223,3,"Generates_a_CPU_profile_6223","Generates a CPU profile."),Disable_solution_searching_for_this_project:i(6224,3,"Disable_solution_searching_for_this_project_6224","Disable solution searching for this project."),Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling_UseFsEvents_UseFsEventsOnParentDirectory:i(6225,3,"Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_Dynami_6225","Specify strategy for watching file: 'FixedPollingInterval' (default), 'PriorityPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling', 'UseFsEvents', 'UseFsEventsOnParentDirectory'."),Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively_Colon_UseFsEvents_default_FixedPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling:i(6226,3,"Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively__6226","Specify strategy for watching directory on platforms that don't support recursive watching natively: 'UseFsEvents' (default), 'FixedPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling'."),Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_FixedInterval_default_PriorityInterval_DynamicPriority_FixedChunkSize:i(6227,3,"Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_6227","Specify strategy for creating a polling watch when it fails to create using file system events: 'FixedInterval' (default), 'PriorityInterval', 'DynamicPriority', 'FixedChunkSize'."),Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3:i(6229,1,"Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3_6229","Tag '{0}' expects at least '{1}' arguments, but the JSX factory '{2}' provides at most '{3}'."),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line:i(6230,1,"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line_6230","Option '{0}' can only be specified in 'tsconfig.json' file or set to 'false' or 'null' on command line."),Could_not_resolve_the_path_0_with_the_extensions_Colon_1:i(6231,1,"Could_not_resolve_the_path_0_with_the_extensions_Colon_1_6231","Could not resolve the path '{0}' with the extensions: {1}."),Declaration_augments_declaration_in_another_file_This_cannot_be_serialized:i(6232,1,"Declaration_augments_declaration_in_another_file_This_cannot_be_serialized_6232","Declaration augments declaration in another file. This cannot be serialized."),This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file:i(6233,1,"This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_fil_6233","This is the declaration being augmented. Consider moving the augmenting declaration into the same file."),This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without:i(6234,1,"This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without_6234","This expression is not callable because it is a 'get' accessor. Did you mean to use it without '()'?"),Disable_loading_referenced_projects:i(6235,3,"Disable_loading_referenced_projects_6235","Disable loading referenced projects."),Arguments_for_the_rest_parameter_0_were_not_provided:i(6236,1,"Arguments_for_the_rest_parameter_0_were_not_provided_6236","Arguments for the rest parameter '{0}' were not provided."),Generates_an_event_trace_and_a_list_of_types:i(6237,3,"Generates_an_event_trace_and_a_list_of_types_6237","Generates an event trace and a list of types."),Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react:i(6238,1,"Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react_6238","Specify the module specifier to be used to import the 'jsx' and 'jsxs' factory functions from. eg, react"),File_0_exists_according_to_earlier_cached_lookups:i(6239,3,"File_0_exists_according_to_earlier_cached_lookups_6239","File '{0}' exists according to earlier cached lookups."),File_0_does_not_exist_according_to_earlier_cached_lookups:i(6240,3,"File_0_does_not_exist_according_to_earlier_cached_lookups_6240","File '{0}' does not exist according to earlier cached lookups."),Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1:i(6241,3,"Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1_6241","Resolution for type reference directive '{0}' was found in cache from location '{1}'."),Resolving_type_reference_directive_0_containing_file_1:i(6242,3,"Resolving_type_reference_directive_0_containing_file_1_6242","======== Resolving type reference directive '{0}', containing file '{1}'. ========"),Interpret_optional_property_types_as_written_rather_than_adding_undefined:i(6243,3,"Interpret_optional_property_types_as_written_rather_than_adding_undefined_6243","Interpret optional property types as written, rather than adding 'undefined'."),Modules:i(6244,3,"Modules_6244","Modules"),File_Management:i(6245,3,"File_Management_6245","File Management"),Emit:i(6246,3,"Emit_6246","Emit"),JavaScript_Support:i(6247,3,"JavaScript_Support_6247","JavaScript Support"),Type_Checking:i(6248,3,"Type_Checking_6248","Type Checking"),Editor_Support:i(6249,3,"Editor_Support_6249","Editor Support"),Watch_and_Build_Modes:i(6250,3,"Watch_and_Build_Modes_6250","Watch and Build Modes"),Compiler_Diagnostics:i(6251,3,"Compiler_Diagnostics_6251","Compiler Diagnostics"),Interop_Constraints:i(6252,3,"Interop_Constraints_6252","Interop Constraints"),Backwards_Compatibility:i(6253,3,"Backwards_Compatibility_6253","Backwards Compatibility"),Language_and_Environment:i(6254,3,"Language_and_Environment_6254","Language and Environment"),Projects:i(6255,3,"Projects_6255","Projects"),Output_Formatting:i(6256,3,"Output_Formatting_6256","Output Formatting"),Completeness:i(6257,3,"Completeness_6257","Completeness"),_0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file:i(6258,1,"_0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file_6258","'{0}' should be set inside the 'compilerOptions' object of the config json file"),Found_1_error_in_1:i(6259,3,"Found_1_error_in_1_6259","Found 1 error in {1}"),Found_0_errors_in_the_same_file_starting_at_Colon_1:i(6260,3,"Found_0_errors_in_the_same_file_starting_at_Colon_1_6260","Found {0} errors in the same file, starting at: {1}"),Found_0_errors_in_1_files:i(6261,3,"Found_0_errors_in_1_files_6261","Found {0} errors in {1} files."),File_name_0_has_a_1_extension_looking_up_2_instead:i(6262,3,"File_name_0_has_a_1_extension_looking_up_2_instead_6262","File name '{0}' has a '{1}' extension - looking up '{2}' instead."),Module_0_was_resolved_to_1_but_allowArbitraryExtensions_is_not_set:i(6263,1,"Module_0_was_resolved_to_1_but_allowArbitraryExtensions_is_not_set_6263","Module '{0}' was resolved to '{1}', but '--allowArbitraryExtensions' is not set."),Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present:i(6264,3,"Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present_6264","Enable importing files with any extension, provided a declaration file is present."),Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve:i(6270,3,"Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve_6270","Directory '{0}' has no containing package.json scope. Imports will not resolve."),Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1:i(6271,3,"Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6271","Import specifier '{0}' does not exist in package.json scope at path '{1}'."),Invalid_import_specifier_0_has_no_possible_resolutions:i(6272,3,"Invalid_import_specifier_0_has_no_possible_resolutions_6272","Invalid import specifier '{0}' has no possible resolutions."),package_json_scope_0_has_no_imports_defined:i(6273,3,"package_json_scope_0_has_no_imports_defined_6273","package.json scope '{0}' has no imports defined."),package_json_scope_0_explicitly_maps_specifier_1_to_null:i(6274,3,"package_json_scope_0_explicitly_maps_specifier_1_to_null_6274","package.json scope '{0}' explicitly maps specifier '{1}' to null."),package_json_scope_0_has_invalid_type_for_target_of_specifier_1:i(6275,3,"package_json_scope_0_has_invalid_type_for_target_of_specifier_1_6275","package.json scope '{0}' has invalid type for target of specifier '{1}'"),Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1:i(6276,3,"Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6276","Export specifier '{0}' does not exist in package.json scope at path '{1}'."),Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_if_npm_library_needs_configuration_update:i(6277,3,"Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_i_6277","Resolution of non-relative name failed; trying with modern Node resolution features disabled to see if npm library needs configuration update."),There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The_1_library_may_need_to_update_its_package_json_or_typings:i(6278,3,"There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The__6278",`There are types at '{0}', but this result could not be resolved when respecting package.json "exports". The '{1}' library may need to update its package.json or typings.`),Enable_project_compilation:i(6302,3,"Enable_project_compilation_6302","Enable project compilation"),Composite_projects_may_not_disable_declaration_emit:i(6304,1,"Composite_projects_may_not_disable_declaration_emit_6304","Composite projects may not disable declaration emit."),Output_file_0_has_not_been_built_from_source_file_1:i(6305,1,"Output_file_0_has_not_been_built_from_source_file_1_6305","Output file '{0}' has not been built from source file '{1}'."),Referenced_project_0_must_have_setting_composite_Colon_true:i(6306,1,"Referenced_project_0_must_have_setting_composite_Colon_true_6306",`Referenced project '{0}' must have setting "composite": true.`),File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_include_pattern:i(6307,1,"File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_includ_6307","File '{0}' is not listed within the file list of project '{1}'. Projects must list all files or use an 'include' pattern."),Cannot_prepend_project_0_because_it_does_not_have_outFile_set:i(6308,1,"Cannot_prepend_project_0_because_it_does_not_have_outFile_set_6308","Cannot prepend project '{0}' because it does not have 'outFile' set"),Output_file_0_from_project_1_does_not_exist:i(6309,1,"Output_file_0_from_project_1_does_not_exist_6309","Output file '{0}' from project '{1}' does not exist"),Referenced_project_0_may_not_disable_emit:i(6310,1,"Referenced_project_0_may_not_disable_emit_6310","Referenced project '{0}' may not disable emit."),Project_0_is_out_of_date_because_output_1_is_older_than_input_2:i(6350,3,"Project_0_is_out_of_date_because_output_1_is_older_than_input_2_6350","Project '{0}' is out of date because output '{1}' is older than input '{2}'"),Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2:i(6351,3,"Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2_6351","Project '{0}' is up to date because newest input '{1}' is older than output '{2}'"),Project_0_is_out_of_date_because_output_file_1_does_not_exist:i(6352,3,"Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352","Project '{0}' is out of date because output file '{1}' does not exist"),Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date:i(6353,3,"Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353","Project '{0}' is out of date because its dependency '{1}' is out of date"),Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies:i(6354,3,"Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354","Project '{0}' is up to date with .d.ts files from its dependencies"),Projects_in_this_build_Colon_0:i(6355,3,"Projects_in_this_build_Colon_0_6355","Projects in this build: {0}"),A_non_dry_build_would_delete_the_following_files_Colon_0:i(6356,3,"A_non_dry_build_would_delete_the_following_files_Colon_0_6356","A non-dry build would delete the following files: {0}"),A_non_dry_build_would_build_project_0:i(6357,3,"A_non_dry_build_would_build_project_0_6357","A non-dry build would build project '{0}'"),Building_project_0:i(6358,3,"Building_project_0_6358","Building project '{0}'..."),Updating_output_timestamps_of_project_0:i(6359,3,"Updating_output_timestamps_of_project_0_6359","Updating output timestamps of project '{0}'..."),Project_0_is_up_to_date:i(6361,3,"Project_0_is_up_to_date_6361","Project '{0}' is up to date"),Skipping_build_of_project_0_because_its_dependency_1_has_errors:i(6362,3,"Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362","Skipping build of project '{0}' because its dependency '{1}' has errors"),Project_0_can_t_be_built_because_its_dependency_1_has_errors:i(6363,3,"Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363","Project '{0}' can't be built because its dependency '{1}' has errors"),Build_one_or_more_projects_and_their_dependencies_if_out_of_date:i(6364,3,"Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364","Build one or more projects and their dependencies, if out of date"),Delete_the_outputs_of_all_projects:i(6365,3,"Delete_the_outputs_of_all_projects_6365","Delete the outputs of all projects."),Show_what_would_be_built_or_deleted_if_specified_with_clean:i(6367,3,"Show_what_would_be_built_or_deleted_if_specified_with_clean_6367","Show what would be built (or deleted, if specified with '--clean')"),Option_build_must_be_the_first_command_line_argument:i(6369,1,"Option_build_must_be_the_first_command_line_argument_6369","Option '--build' must be the first command line argument."),Options_0_and_1_cannot_be_combined:i(6370,1,"Options_0_and_1_cannot_be_combined_6370","Options '{0}' and '{1}' cannot be combined."),Updating_unchanged_output_timestamps_of_project_0:i(6371,3,"Updating_unchanged_output_timestamps_of_project_0_6371","Updating unchanged output timestamps of project '{0}'..."),Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed:i(6372,3,"Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed_6372","Project '{0}' is out of date because output of its dependency '{1}' has changed"),Updating_output_of_project_0:i(6373,3,"Updating_output_of_project_0_6373","Updating output of project '{0}'..."),A_non_dry_build_would_update_timestamps_for_output_of_project_0:i(6374,3,"A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374","A non-dry build would update timestamps for output of project '{0}'"),A_non_dry_build_would_update_output_of_project_0:i(6375,3,"A_non_dry_build_would_update_output_of_project_0_6375","A non-dry build would update output of project '{0}'"),Cannot_update_output_of_project_0_because_there_was_error_reading_file_1:i(6376,3,"Cannot_update_output_of_project_0_because_there_was_error_reading_file_1_6376","Cannot update output of project '{0}' because there was error reading file '{1}'"),Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1:i(6377,1,"Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1_6377","Cannot write file '{0}' because it will overwrite '.tsbuildinfo' file generated by referenced project '{1}'"),Composite_projects_may_not_disable_incremental_compilation:i(6379,1,"Composite_projects_may_not_disable_incremental_compilation_6379","Composite projects may not disable incremental compilation."),Specify_file_to_store_incremental_compilation_information:i(6380,3,"Specify_file_to_store_incremental_compilation_information_6380","Specify file to store incremental compilation information"),Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2:i(6381,3,"Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_curren_6381","Project '{0}' is out of date because output for it was generated with version '{1}' that differs with current version '{2}'"),Skipping_build_of_project_0_because_its_dependency_1_was_not_built:i(6382,3,"Skipping_build_of_project_0_because_its_dependency_1_was_not_built_6382","Skipping build of project '{0}' because its dependency '{1}' was not built"),Project_0_can_t_be_built_because_its_dependency_1_was_not_built:i(6383,3,"Project_0_can_t_be_built_because_its_dependency_1_was_not_built_6383","Project '{0}' can't be built because its dependency '{1}' was not built"),Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:i(6384,3,"Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_di_6384","Have recompiles in '--incremental' and '--watch' assume that changes within a file will only affect files directly depending on it."),_0_is_deprecated:i(6385,2,"_0_is_deprecated_6385","'{0}' is deprecated.",void 0,void 0,!0),Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_native_implementation_of_the_Web_Performance_API_could_not_be_found:i(6386,3,"Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_nativ_6386","Performance timings for '--diagnostics' or '--extendedDiagnostics' are not available in this session. A native implementation of the Web Performance API could not be found."),The_signature_0_of_1_is_deprecated:i(6387,2,"The_signature_0_of_1_is_deprecated_6387","The signature '{0}' of '{1}' is deprecated.",void 0,void 0,!0),Project_0_is_being_forcibly_rebuilt:i(6388,3,"Project_0_is_being_forcibly_rebuilt_6388","Project '{0}' is being forcibly rebuilt"),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved:i(6389,3,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved_6389","Reusing resolution of module '{0}' from '{1}' of old program, it was not resolved."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2:i(6390,3,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved__6390","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was successfully resolved to '{2}'."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:i(6391,3,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved__6391","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was successfully resolved to '{2}' with Package ID '{3}'."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved:i(6392,3,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved_6392","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was not resolved."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3:i(6393,3,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_6393","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}'."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4:i(6394,3,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_6394","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}' with Package ID '{4}'."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_not_resolved:i(6395,3,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_not_resolved_6395","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was not resolved."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3:i(6396,3,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6396","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}'."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4:i(6397,3,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6397","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}' with Package ID '{4}'."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_resolved:i(6398,3,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_re_6398","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was not resolved."),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitted:i(6399,3,"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitte_6399","Project '{0}' is out of date because buildinfo file '{1}' indicates that some of the changes were not emitted"),Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_files:i(6400,3,"Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_fil_6400","Project '{0}' is up to date but needs to update timestamps of output files that are older than input files"),Project_0_is_out_of_date_because_there_was_error_reading_file_1:i(6401,3,"Project_0_is_out_of_date_because_there_was_error_reading_file_1_6401","Project '{0}' is out of date because there was error reading file '{1}'"),Resolving_in_0_mode_with_conditions_1:i(6402,3,"Resolving_in_0_mode_with_conditions_1_6402","Resolving in {0} mode with conditions {1}."),Matched_0_condition_1:i(6403,3,"Matched_0_condition_1_6403","Matched '{0}' condition '{1}'."),Using_0_subpath_1_with_target_2:i(6404,3,"Using_0_subpath_1_with_target_2_6404","Using '{0}' subpath '{1}' with target '{2}'."),Saw_non_matching_condition_0:i(6405,3,"Saw_non_matching_condition_0_6405","Saw non-matching condition '{0}'."),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions:i(6406,3,"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions_6406","Project '{0}' is out of date because buildinfo file '{1}' indicates there is change in compilerOptions"),Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noEmit_or_emitDeclarationOnly_to_be_set:i(6407,3,"Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noE_6407","Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set."),Use_the_package_json_exports_field_when_resolving_package_imports:i(6408,3,"Use_the_package_json_exports_field_when_resolving_package_imports_6408","Use the package.json 'exports' field when resolving package imports."),Use_the_package_json_imports_field_when_resolving_imports:i(6409,3,"Use_the_package_json_imports_field_when_resolving_imports_6409","Use the package.json 'imports' field when resolving imports."),Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports:i(6410,3,"Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports_6410","Conditions to set in addition to the resolver-specific defaults when resolving imports."),true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false:i(6411,3,"true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false_6411","`true` when 'moduleResolution' is 'node16', 'nodenext', or 'bundler'; otherwise `false`."),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_but_not_any_more:i(6412,3,"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_6412","Project '{0}' is out of date because buildinfo file '{1}' indicates that file '{2}' was root file of compilation but not any more."),Entering_conditional_exports:i(6413,3,"Entering_conditional_exports_6413","Entering conditional exports."),Resolved_under_condition_0:i(6414,3,"Resolved_under_condition_0_6414","Resolved under condition '{0}'."),Failed_to_resolve_under_condition_0:i(6415,3,"Failed_to_resolve_under_condition_0_6415","Failed to resolve under condition '{0}'."),Exiting_conditional_exports:i(6416,3,"Exiting_conditional_exports_6416","Exiting conditional exports."),The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1:i(6500,3,"The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1_6500","The expected type comes from property '{0}' which is declared here on type '{1}'"),The_expected_type_comes_from_this_index_signature:i(6501,3,"The_expected_type_comes_from_this_index_signature_6501","The expected type comes from this index signature."),The_expected_type_comes_from_the_return_type_of_this_signature:i(6502,3,"The_expected_type_comes_from_the_return_type_of_this_signature_6502","The expected type comes from the return type of this signature."),Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing:i(6503,3,"Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing_6503","Print names of files that are part of the compilation and then stop processing."),File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option:i(6504,1,"File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option_6504","File '{0}' is a JavaScript file. Did you mean to enable the 'allowJs' option?"),Print_names_of_files_and_the_reason_they_are_part_of_the_compilation:i(6505,3,"Print_names_of_files_and_the_reason_they_are_part_of_the_compilation_6505","Print names of files and the reason they are part of the compilation."),Consider_adding_a_declare_modifier_to_this_class:i(6506,3,"Consider_adding_a_declare_modifier_to_this_class_6506","Consider adding a 'declare' modifier to this class."),Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these_files:i(6600,3,"Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these__6600","Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files."),Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export:i(6601,3,"Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export_6601","Allow 'import x from y' when a module doesn't have a default export."),Allow_accessing_UMD_globals_from_modules:i(6602,3,"Allow_accessing_UMD_globals_from_modules_6602","Allow accessing UMD globals from modules."),Disable_error_reporting_for_unreachable_code:i(6603,3,"Disable_error_reporting_for_unreachable_code_6603","Disable error reporting for unreachable code."),Disable_error_reporting_for_unused_labels:i(6604,3,"Disable_error_reporting_for_unused_labels_6604","Disable error reporting for unused labels."),Ensure_use_strict_is_always_emitted:i(6605,3,"Ensure_use_strict_is_always_emitted_6605","Ensure 'use strict' is always emitted."),Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:i(6606,3,"Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_wi_6606","Have recompiles in projects that use 'incremental' and 'watch' mode assume that changes within a file will only affect files directly depending on it."),Specify_the_base_directory_to_resolve_non_relative_module_names:i(6607,3,"Specify_the_base_directory_to_resolve_non_relative_module_names_6607","Specify the base directory to resolve non-relative module names."),No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files:i(6608,3,"No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files_6608","No longer supported. In early versions, manually set the text encoding for reading files."),Enable_error_reporting_in_type_checked_JavaScript_files:i(6609,3,"Enable_error_reporting_in_type_checked_JavaScript_files_6609","Enable error reporting in type-checked JavaScript files."),Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references:i(6611,3,"Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references_6611","Enable constraints that allow a TypeScript project to be used with project references."),Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project:i(6612,3,"Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project_6612","Generate .d.ts files from TypeScript and JavaScript files in your project."),Specify_the_output_directory_for_generated_declaration_files:i(6613,3,"Specify_the_output_directory_for_generated_declaration_files_6613","Specify the output directory for generated declaration files."),Create_sourcemaps_for_d_ts_files:i(6614,3,"Create_sourcemaps_for_d_ts_files_6614","Create sourcemaps for d.ts files."),Output_compiler_performance_information_after_building:i(6615,3,"Output_compiler_performance_information_after_building_6615","Output compiler performance information after building."),Disables_inference_for_type_acquisition_by_looking_at_filenames_in_a_project:i(6616,3,"Disables_inference_for_type_acquisition_by_looking_at_filenames_in_a_project_6616","Disables inference for type acquisition by looking at filenames in a project."),Reduce_the_number_of_projects_loaded_automatically_by_TypeScript:i(6617,3,"Reduce_the_number_of_projects_loaded_automatically_by_TypeScript_6617","Reduce the number of projects loaded automatically by TypeScript."),Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server:i(6618,3,"Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server_6618","Remove the 20mb cap on total source code size for JavaScript files in the TypeScript language server."),Opt_a_project_out_of_multi_project_reference_checking_when_editing:i(6619,3,"Opt_a_project_out_of_multi_project_reference_checking_when_editing_6619","Opt a project out of multi-project reference checking when editing."),Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects:i(6620,3,"Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects_6620","Disable preferring source files instead of declaration files when referencing composite projects."),Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration:i(6621,3,"Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration_6621","Emit more compliant, but verbose and less performant JavaScript for iteration."),Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files:i(6622,3,"Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files_6622","Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files."),Only_output_d_ts_files_and_not_JavaScript_files:i(6623,3,"Only_output_d_ts_files_and_not_JavaScript_files_6623","Only output d.ts files and not JavaScript files."),Emit_design_type_metadata_for_decorated_declarations_in_source_files:i(6624,3,"Emit_design_type_metadata_for_decorated_declarations_in_source_files_6624","Emit design-type metadata for decorated declarations in source files."),Disable_the_type_acquisition_for_JavaScript_projects:i(6625,3,"Disable_the_type_acquisition_for_JavaScript_projects_6625","Disable the type acquisition for JavaScript projects"),Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheticDefaultImports_for_type_compatibility:i(6626,3,"Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheti_6626","Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility."),Filters_results_from_the_include_option:i(6627,3,"Filters_results_from_the_include_option_6627","Filters results from the `include` option."),Remove_a_list_of_directories_from_the_watch_process:i(6628,3,"Remove_a_list_of_directories_from_the_watch_process_6628","Remove a list of directories from the watch process."),Remove_a_list_of_files_from_the_watch_mode_s_processing:i(6629,3,"Remove_a_list_of_files_from_the_watch_mode_s_processing_6629","Remove a list of files from the watch mode's processing."),Enable_experimental_support_for_legacy_experimental_decorators:i(6630,3,"Enable_experimental_support_for_legacy_experimental_decorators_6630","Enable experimental support for legacy experimental decorators."),Print_files_read_during_the_compilation_including_why_it_was_included:i(6631,3,"Print_files_read_during_the_compilation_including_why_it_was_included_6631","Print files read during the compilation including why it was included."),Output_more_detailed_compiler_performance_information_after_building:i(6632,3,"Output_more_detailed_compiler_performance_information_after_building_6632","Output more detailed compiler performance information after building."),Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_are_inherited:i(6633,3,"Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_a_6633","Specify one or more path or node module references to base configuration files from which settings are inherited."),Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers:i(6634,3,"Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers_6634","Specify what approach the watcher should use if the system runs out of native file watchers."),Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include:i(6635,3,"Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include_6635","Include a list of files. This does not support glob patterns, as opposed to `include`."),Build_all_projects_including_those_that_appear_to_be_up_to_date:i(6636,3,"Build_all_projects_including_those_that_appear_to_be_up_to_date_6636","Build all projects, including those that appear to be up to date."),Ensure_that_casing_is_correct_in_imports:i(6637,3,"Ensure_that_casing_is_correct_in_imports_6637","Ensure that casing is correct in imports."),Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging:i(6638,3,"Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging_6638","Emit a v8 CPU profile of the compiler run for debugging."),Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file:i(6639,3,"Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file_6639","Allow importing helper functions from tslib once per project, instead of including them per-file."),Specify_a_list_of_glob_patterns_that_match_files_to_be_included_in_compilation:i(6641,3,"Specify_a_list_of_glob_patterns_that_match_files_to_be_included_in_compilation_6641","Specify a list of glob patterns that match files to be included in compilation."),Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects:i(6642,3,"Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects_6642","Save .tsbuildinfo files to allow for incremental compilation of projects."),Include_sourcemap_files_inside_the_emitted_JavaScript:i(6643,3,"Include_sourcemap_files_inside_the_emitted_JavaScript_6643","Include sourcemap files inside the emitted JavaScript."),Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript:i(6644,3,"Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript_6644","Include source code in the sourcemaps inside the emitted JavaScript."),Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports:i(6645,3,"Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports_6645","Ensure that each file can be safely transpiled without relying on other imports."),Specify_what_JSX_code_is_generated:i(6646,3,"Specify_what_JSX_code_is_generated_6646","Specify what JSX code is generated."),Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h:i(6647,3,"Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h_6647","Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'."),Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragment_or_Fragment:i(6648,3,"Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragme_6648","Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'."),Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Asterisk:i(6649,3,"Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Ast_6649","Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'."),Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option:i(6650,3,"Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option_6650","Make keyof only return strings instead of string, numbers or symbols. Legacy option."),Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment:i(6651,3,"Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment_6651","Specify a set of bundled library declaration files that describe the target runtime environment."),Print_the_names_of_emitted_files_after_a_compilation:i(6652,3,"Print_the_names_of_emitted_files_after_a_compilation_6652","Print the names of emitted files after a compilation."),Print_all_of_the_files_read_during_the_compilation:i(6653,3,"Print_all_of_the_files_read_during_the_compilation_6653","Print all of the files read during the compilation."),Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit:i(6654,3,"Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit_6654","Set the language of the messaging from TypeScript. This does not affect emit."),Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations:i(6655,3,"Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6655","Specify the location where debugger should locate map files instead of generated locations."),Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicable_with_allowJs:i(6656,3,"Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicabl_6656","Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'."),Specify_what_module_code_is_generated:i(6657,3,"Specify_what_module_code_is_generated_6657","Specify what module code is generated."),Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier:i(6658,3,"Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier_6658","Specify how TypeScript looks up a file from a given module specifier."),Set_the_newline_character_for_emitting_files:i(6659,3,"Set_the_newline_character_for_emitting_files_6659","Set the newline character for emitting files."),Disable_emitting_files_from_a_compilation:i(6660,3,"Disable_emitting_files_from_a_compilation_6660","Disable emitting files from a compilation."),Disable_generating_custom_helper_functions_like_extends_in_compiled_output:i(6661,3,"Disable_generating_custom_helper_functions_like_extends_in_compiled_output_6661","Disable generating custom helper functions like '__extends' in compiled output."),Disable_emitting_files_if_any_type_checking_errors_are_reported:i(6662,3,"Disable_emitting_files_if_any_type_checking_errors_are_reported_6662","Disable emitting files if any type checking errors are reported."),Disable_truncating_types_in_error_messages:i(6663,3,"Disable_truncating_types_in_error_messages_6663","Disable truncating types in error messages."),Enable_error_reporting_for_fallthrough_cases_in_switch_statements:i(6664,3,"Enable_error_reporting_for_fallthrough_cases_in_switch_statements_6664","Enable error reporting for fallthrough cases in switch statements."),Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type:i(6665,3,"Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type_6665","Enable error reporting for expressions and declarations with an implied 'any' type."),Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier:i(6666,3,"Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier_6666","Ensure overriding members in derived classes are marked with an override modifier."),Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function:i(6667,3,"Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function_6667","Enable error reporting for codepaths that do not explicitly return in a function."),Enable_error_reporting_when_this_is_given_the_type_any:i(6668,3,"Enable_error_reporting_when_this_is_given_the_type_any_6668","Enable error reporting when 'this' is given the type 'any'."),Disable_adding_use_strict_directives_in_emitted_JavaScript_files:i(6669,3,"Disable_adding_use_strict_directives_in_emitted_JavaScript_files_6669","Disable adding 'use strict' directives in emitted JavaScript files."),Disable_including_any_library_files_including_the_default_lib_d_ts:i(6670,3,"Disable_including_any_library_files_including_the_default_lib_d_ts_6670","Disable including any library files, including the default lib.d.ts."),Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type:i(6671,3,"Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type_6671","Enforces using indexed accessors for keys declared using an indexed type."),Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add_to_a_project:i(6672,3,"Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add__6672","Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project."),Disable_strict_checking_of_generic_signatures_in_function_types:i(6673,3,"Disable_strict_checking_of_generic_signatures_in_function_types_6673","Disable strict checking of generic signatures in function types."),Add_undefined_to_a_type_when_accessed_using_an_index:i(6674,3,"Add_undefined_to_a_type_when_accessed_using_an_index_6674","Add 'undefined' to a type when accessed using an index."),Enable_error_reporting_when_local_variables_aren_t_read:i(6675,3,"Enable_error_reporting_when_local_variables_aren_t_read_6675","Enable error reporting when local variables aren't read."),Raise_an_error_when_a_function_parameter_isn_t_read:i(6676,3,"Raise_an_error_when_a_function_parameter_isn_t_read_6676","Raise an error when a function parameter isn't read."),Deprecated_setting_Use_outFile_instead:i(6677,3,"Deprecated_setting_Use_outFile_instead_6677","Deprecated setting. Use 'outFile' instead."),Specify_an_output_folder_for_all_emitted_files:i(6678,3,"Specify_an_output_folder_for_all_emitted_files_6678","Specify an output folder for all emitted files."),Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designates_a_file_that_bundles_all_d_ts_output:i(6679,3,"Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designa_6679","Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output."),Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations:i(6680,3,"Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations_6680","Specify a set of entries that re-map imports to additional lookup locations."),Specify_a_list_of_language_service_plugins_to_include:i(6681,3,"Specify_a_list_of_language_service_plugins_to_include_6681","Specify a list of language service plugins to include."),Disable_erasing_const_enum_declarations_in_generated_code:i(6682,3,"Disable_erasing_const_enum_declarations_in_generated_code_6682","Disable erasing 'const enum' declarations in generated code."),Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node:i(6683,3,"Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node_6683","Disable resolving symlinks to their realpath. This correlates to the same flag in node."),Disable_wiping_the_console_in_watch_mode:i(6684,3,"Disable_wiping_the_console_in_watch_mode_6684","Disable wiping the console in watch mode."),Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read:i(6685,3,"Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read_6685","Enable color and formatting in TypeScript's output to make compiler errors easier to read."),Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit:i(6686,3,"Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit_6686","Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit."),Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references:i(6687,3,"Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references_6687","Specify an array of objects that specify paths for projects. Used in project references."),Disable_emitting_comments:i(6688,3,"Disable_emitting_comments_6688","Disable emitting comments."),Enable_importing_json_files:i(6689,3,"Enable_importing_json_files_6689","Enable importing .json files."),Specify_the_root_folder_within_your_source_files:i(6690,3,"Specify_the_root_folder_within_your_source_files_6690","Specify the root folder within your source files."),Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules:i(6691,3,"Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules_6691","Allow multiple folders to be treated as one when resolving modules."),Skip_type_checking_d_ts_files_that_are_included_with_TypeScript:i(6692,3,"Skip_type_checking_d_ts_files_that_are_included_with_TypeScript_6692","Skip type checking .d.ts files that are included with TypeScript."),Skip_type_checking_all_d_ts_files:i(6693,3,"Skip_type_checking_all_d_ts_files_6693","Skip type checking all .d.ts files."),Create_source_map_files_for_emitted_JavaScript_files:i(6694,3,"Create_source_map_files_for_emitted_JavaScript_files_6694","Create source map files for emitted JavaScript files."),Specify_the_root_path_for_debuggers_to_find_the_reference_source_code:i(6695,3,"Specify_the_root_path_for_debuggers_to_find_the_reference_source_code_6695","Specify the root path for debuggers to find the reference source code."),Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function:i(6697,3,"Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function_6697","Check that the arguments for 'bind', 'call', and 'apply' methods match the original function."),When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible:i(6698,3,"When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible_6698","When assigning functions, check to ensure parameters and the return values are subtype-compatible."),When_type_checking_take_into_account_null_and_undefined:i(6699,3,"When_type_checking_take_into_account_null_and_undefined_6699","When type checking, take into account 'null' and 'undefined'."),Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor:i(6700,3,"Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor_6700","Check for class properties that are declared but not set in the constructor."),Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments:i(6701,3,"Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments_6701","Disable emitting declarations that have '@internal' in their JSDoc comments."),Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals:i(6702,3,"Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals_6702","Disable reporting of excess property errors during the creation of object literals."),Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures:i(6703,3,"Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures_6703","Suppress 'noImplicitAny' errors when indexing objects that lack index signatures."),Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively:i(6704,3,"Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_supp_6704","Synchronously call callbacks and update the state of directory watchers on platforms that don`t support recursive watching natively."),Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declarations:i(6705,3,"Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declaratio_6705","Set the JavaScript language version for emitted JavaScript and include compatible library declarations."),Log_paths_used_during_the_moduleResolution_process:i(6706,3,"Log_paths_used_during_the_moduleResolution_process_6706","Log paths used during the 'moduleResolution' process."),Specify_the_path_to_tsbuildinfo_incremental_compilation_file:i(6707,3,"Specify_the_path_to_tsbuildinfo_incremental_compilation_file_6707","Specify the path to .tsbuildinfo incremental compilation file."),Specify_options_for_automatic_acquisition_of_declaration_files:i(6709,3,"Specify_options_for_automatic_acquisition_of_declaration_files_6709","Specify options for automatic acquisition of declaration files."),Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types:i(6710,3,"Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types_6710","Specify multiple folders that act like './node_modules/@types'."),Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file:i(6711,3,"Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file_6711","Specify type package names to be included without being referenced in a source file."),Emit_ECMAScript_standard_compliant_class_fields:i(6712,3,"Emit_ECMAScript_standard_compliant_class_fields_6712","Emit ECMAScript-standard-compliant class fields."),Enable_verbose_logging:i(6713,3,"Enable_verbose_logging_6713","Enable verbose logging."),Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality:i(6714,3,"Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality_6714","Specify how directories are watched on systems that lack recursive file-watching functionality."),Specify_how_the_TypeScript_watch_mode_works:i(6715,3,"Specify_how_the_TypeScript_watch_mode_works_6715","Specify how the TypeScript watch mode works."),Require_undeclared_properties_from_index_signatures_to_use_element_accesses:i(6717,3,"Require_undeclared_properties_from_index_signatures_to_use_element_accesses_6717","Require undeclared properties from index signatures to use element accesses."),Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types:i(6718,3,"Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_6718","Specify emit/checking behavior for imports that are only used for types."),Default_catch_clause_variables_as_unknown_instead_of_any:i(6803,3,"Default_catch_clause_variables_as_unknown_instead_of_any_6803","Default catch clause variables as 'unknown' instead of 'any'."),Do_not_transform_or_elide_any_imports_or_exports_not_marked_as_type_only_ensuring_they_are_written_in_the_output_file_s_format_based_on_the_module_setting:i(6804,3,"Do_not_transform_or_elide_any_imports_or_exports_not_marked_as_type_only_ensuring_they_are_written_i_6804","Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting."),one_of_Colon:i(6900,3,"one_of_Colon_6900","one of:"),one_or_more_Colon:i(6901,3,"one_or_more_Colon_6901","one or more:"),type_Colon:i(6902,3,"type_Colon_6902","type:"),default_Colon:i(6903,3,"default_Colon_6903","default:"),module_system_or_esModuleInterop:i(6904,3,"module_system_or_esModuleInterop_6904",'module === "system" or esModuleInterop'),false_unless_strict_is_set:i(6905,3,"false_unless_strict_is_set_6905","`false`, unless `strict` is set"),false_unless_composite_is_set:i(6906,3,"false_unless_composite_is_set_6906","`false`, unless `composite` is set"),node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified:i(6907,3,"node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified_6907",'`["node_modules", "bower_components", "jspm_packages"]`, plus the value of `outDir` if one is specified.'),if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk:i(6908,3,"if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk_6908",'`[]` if `files` is specified, otherwise `["**/*"]`'),true_if_composite_false_otherwise:i(6909,3,"true_if_composite_false_otherwise_6909","`true` if `composite`, `false` otherwise"),module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node:i(69010,3,"module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node_69010","module === `AMD` or `UMD` or `System` or `ES6`, then `Classic`, Otherwise `Node`"),Computed_from_the_list_of_input_files:i(6911,3,"Computed_from_the_list_of_input_files_6911","Computed from the list of input files"),Platform_specific:i(6912,3,"Platform_specific_6912","Platform specific"),You_can_learn_about_all_of_the_compiler_options_at_0:i(6913,3,"You_can_learn_about_all_of_the_compiler_options_at_0_6913","You can learn about all of the compiler options at {0}"),Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_config_watch_mode_with_Colon:i(6914,3,"Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_conf_6914","Including --watch, -w will start watching the current project for the file changes. Once set, you can config watch mode with:"),Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_trigger_building_composite_projects_which_you_can_learn_more_about_at_0:i(6915,3,"Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_tr_6915","Using --build, -b will make tsc behave more like a build orchestrator than a compiler. This is used to trigger building composite projects which you can learn more about at {0}"),COMMON_COMMANDS:i(6916,3,"COMMON_COMMANDS_6916","COMMON COMMANDS"),ALL_COMPILER_OPTIONS:i(6917,3,"ALL_COMPILER_OPTIONS_6917","ALL COMPILER OPTIONS"),WATCH_OPTIONS:i(6918,3,"WATCH_OPTIONS_6918","WATCH OPTIONS"),BUILD_OPTIONS:i(6919,3,"BUILD_OPTIONS_6919","BUILD OPTIONS"),COMMON_COMPILER_OPTIONS:i(6920,3,"COMMON_COMPILER_OPTIONS_6920","COMMON COMPILER OPTIONS"),COMMAND_LINE_FLAGS:i(6921,3,"COMMAND_LINE_FLAGS_6921","COMMAND LINE FLAGS"),tsc_Colon_The_TypeScript_Compiler:i(6922,3,"tsc_Colon_The_TypeScript_Compiler_6922","tsc: The TypeScript Compiler"),Compiles_the_current_project_tsconfig_json_in_the_working_directory:i(6923,3,"Compiles_the_current_project_tsconfig_json_in_the_working_directory_6923","Compiles the current project (tsconfig.json in the working directory.)"),Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options:i(6924,3,"Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options_6924","Ignoring tsconfig.json, compiles the specified files with default compiler options."),Build_a_composite_project_in_the_working_directory:i(6925,3,"Build_a_composite_project_in_the_working_directory_6925","Build a composite project in the working directory."),Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory:i(6926,3,"Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory_6926","Creates a tsconfig.json with the recommended settings in the working directory."),Compiles_the_TypeScript_project_located_at_the_specified_path:i(6927,3,"Compiles_the_TypeScript_project_located_at_the_specified_path_6927","Compiles the TypeScript project located at the specified path."),An_expanded_version_of_this_information_showing_all_possible_compiler_options:i(6928,3,"An_expanded_version_of_this_information_showing_all_possible_compiler_options_6928","An expanded version of this information, showing all possible compiler options"),Compiles_the_current_project_with_additional_settings:i(6929,3,"Compiles_the_current_project_with_additional_settings_6929","Compiles the current project, with additional settings."),true_for_ES2022_and_above_including_ESNext:i(6930,3,"true_for_ES2022_and_above_including_ESNext_6930","`true` for ES2022 and above, including ESNext."),List_of_file_name_suffixes_to_search_when_resolving_a_module:i(6931,1,"List_of_file_name_suffixes_to_search_when_resolving_a_module_6931","List of file name suffixes to search when resolving a module."),Variable_0_implicitly_has_an_1_type:i(7005,1,"Variable_0_implicitly_has_an_1_type_7005","Variable '{0}' implicitly has an '{1}' type."),Parameter_0_implicitly_has_an_1_type:i(7006,1,"Parameter_0_implicitly_has_an_1_type_7006","Parameter '{0}' implicitly has an '{1}' type."),Member_0_implicitly_has_an_1_type:i(7008,1,"Member_0_implicitly_has_an_1_type_7008","Member '{0}' implicitly has an '{1}' type."),new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type:i(7009,1,"new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009","'new' expression, whose target lacks a construct signature, implicitly has an 'any' type."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:i(7010,1,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010","'{0}', which lacks return-type annotation, implicitly has an '{1}' return type."),Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:i(7011,1,"Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011","Function expression, which lacks return-type annotation, implicitly has an '{0}' return type."),This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation:i(7012,1,"This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation_7012","This overload implicitly returns the type '{0}' because it lacks a return type annotation."),Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:i(7013,1,"Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013","Construct signature, which lacks return-type annotation, implicitly has an 'any' return type."),Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:i(7014,1,"Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7014","Function type, which lacks return-type annotation, implicitly has an '{0}' return type."),Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number:i(7015,1,"Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015","Element implicitly has an 'any' type because index expression is not of type 'number'."),Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type:i(7016,1,"Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type_7016","Could not find a declaration file for module '{0}'. '{1}' implicitly has an 'any' type."),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature:i(7017,1,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_7017","Element implicitly has an 'any' type because type '{0}' has no index signature."),Object_literal_s_property_0_implicitly_has_an_1_type:i(7018,1,"Object_literal_s_property_0_implicitly_has_an_1_type_7018","Object literal's property '{0}' implicitly has an '{1}' type."),Rest_parameter_0_implicitly_has_an_any_type:i(7019,1,"Rest_parameter_0_implicitly_has_an_any_type_7019","Rest parameter '{0}' implicitly has an 'any[]' type."),Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:i(7020,1,"Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020","Call signature, which lacks return-type annotation, implicitly has an 'any' return type."),_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer:i(7022,1,"_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022","'{0}' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer."),_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:i(7023,1,"_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023","'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:i(7024,1,"Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024","Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation:i(7025,1,"Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_retu_7025","Generator implicitly has yield type '{0}' because it does not yield any values. Consider supplying a return type annotation."),JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists:i(7026,1,"JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026","JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists."),Unreachable_code_detected:i(7027,1,"Unreachable_code_detected_7027","Unreachable code detected.",!0),Unused_label:i(7028,1,"Unused_label_7028","Unused label.",!0),Fallthrough_case_in_switch:i(7029,1,"Fallthrough_case_in_switch_7029","Fallthrough case in switch."),Not_all_code_paths_return_a_value:i(7030,1,"Not_all_code_paths_return_a_value_7030","Not all code paths return a value."),Binding_element_0_implicitly_has_an_1_type:i(7031,1,"Binding_element_0_implicitly_has_an_1_type_7031","Binding element '{0}' implicitly has an '{1}' type."),Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation:i(7032,1,"Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation_7032","Property '{0}' implicitly has type 'any', because its set accessor lacks a parameter type annotation."),Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation:i(7033,1,"Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation_7033","Property '{0}' implicitly has type 'any', because its get accessor lacks a return type annotation."),Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined:i(7034,1,"Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined_7034","Variable '{0}' implicitly has type '{1}' in some locations where its type cannot be determined."),Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0:i(7035,1,"Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare__7035","Try `npm i --save-dev @types/{1}` if it exists or add a new declaration (.d.ts) file containing `declare module '{0}';`"),Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0:i(7036,1,"Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0_7036","Dynamic import's specifier must be of type 'string', but here has type '{0}'."),Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports:i(7037,3,"Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for__7037","Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'."),Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead:i(7038,3,"Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cau_7038","Type originates at this import. A namespace-style import cannot be called or constructed, and will cause a failure at runtime. Consider using a default import or import require here instead."),Mapped_object_type_implicitly_has_an_any_template_type:i(7039,1,"Mapped_object_type_implicitly_has_an_any_template_type_7039","Mapped object type implicitly has an 'any' template type."),If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1:i(7040,1,"If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040","If the '{0}' package actually exposes this module, consider sending a pull request to amend 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}'"),The_containing_arrow_function_captures_the_global_value_of_this:i(7041,1,"The_containing_arrow_function_captures_the_global_value_of_this_7041","The containing arrow function captures the global value of 'this'."),Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used:i(7042,1,"Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used_7042","Module '{0}' was resolved to '{1}', but '--resolveJsonModule' is not used."),Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:i(7043,2,"Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7043","Variable '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:i(7044,2,"Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7044","Parameter '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:i(7045,2,"Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045","Member '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage:i(7046,2,"Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage_7046","Variable '{0}' implicitly has type '{1}' in some locations, but a better type may be inferred from usage."),Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:i(7047,2,"Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage_7047","Rest parameter '{0}' implicitly has an 'any[]' type, but a better type may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage:i(7048,2,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage_7048","Property '{0}' implicitly has type 'any', but a better type for its get accessor may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage:i(7049,2,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage_7049","Property '{0}' implicitly has type 'any', but a better type for its set accessor may be inferred from usage."),_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage:i(7050,2,"_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage_7050","'{0}' implicitly has an '{1}' return type, but a better type may be inferred from usage."),Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1:i(7051,1,"Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1_7051","Parameter has a name but no type. Did you mean '{0}: {1}'?"),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1:i(7052,1,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1_7052","Element implicitly has an 'any' type because type '{0}' has no index signature. Did you mean to call '{1}'?"),Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1:i(7053,1,"Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1_7053","Element implicitly has an 'any' type because expression of type '{0}' can't be used to index type '{1}'."),No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1:i(7054,1,"No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1_7054","No index signature with a parameter of type '{0}' was found on type '{1}'."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type:i(7055,1,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type_7055","'{0}', which lacks return-type annotation, implicitly has an '{1}' yield type."),The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed:i(7056,1,"The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_ty_7056","The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed."),yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_type_annotation:i(7057,1,"yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_t_7057","'yield' expression implicitly results in an 'any' type because its containing generator lacks a return-type annotation."),If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_declare_module_1:i(7058,1,"If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_decl_7058","If the '{0}' package actually exposes this module, try adding a new declaration (.d.ts) file containing `declare module '{1}';`"),This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead:i(7059,1,"This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead_7059","This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead."),This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_constraint:i(7060,1,"This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_cons_7060","This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma or explicit constraint."),A_mapped_type_may_not_declare_properties_or_methods:i(7061,1,"A_mapped_type_may_not_declare_properties_or_methods_7061","A mapped type may not declare properties or methods."),You_cannot_rename_this_element:i(8e3,1,"You_cannot_rename_this_element_8000","You cannot rename this element."),You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library:i(8001,1,"You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001","You cannot rename elements that are defined in the standard TypeScript library."),import_can_only_be_used_in_TypeScript_files:i(8002,1,"import_can_only_be_used_in_TypeScript_files_8002","'import ... =' can only be used in TypeScript files."),export_can_only_be_used_in_TypeScript_files:i(8003,1,"export_can_only_be_used_in_TypeScript_files_8003","'export =' can only be used in TypeScript files."),Type_parameter_declarations_can_only_be_used_in_TypeScript_files:i(8004,1,"Type_parameter_declarations_can_only_be_used_in_TypeScript_files_8004","Type parameter declarations can only be used in TypeScript files."),implements_clauses_can_only_be_used_in_TypeScript_files:i(8005,1,"implements_clauses_can_only_be_used_in_TypeScript_files_8005","'implements' clauses can only be used in TypeScript files."),_0_declarations_can_only_be_used_in_TypeScript_files:i(8006,1,"_0_declarations_can_only_be_used_in_TypeScript_files_8006","'{0}' declarations can only be used in TypeScript files."),Type_aliases_can_only_be_used_in_TypeScript_files:i(8008,1,"Type_aliases_can_only_be_used_in_TypeScript_files_8008","Type aliases can only be used in TypeScript files."),The_0_modifier_can_only_be_used_in_TypeScript_files:i(8009,1,"The_0_modifier_can_only_be_used_in_TypeScript_files_8009","The '{0}' modifier can only be used in TypeScript files."),Type_annotations_can_only_be_used_in_TypeScript_files:i(8010,1,"Type_annotations_can_only_be_used_in_TypeScript_files_8010","Type annotations can only be used in TypeScript files."),Type_arguments_can_only_be_used_in_TypeScript_files:i(8011,1,"Type_arguments_can_only_be_used_in_TypeScript_files_8011","Type arguments can only be used in TypeScript files."),Parameter_modifiers_can_only_be_used_in_TypeScript_files:i(8012,1,"Parameter_modifiers_can_only_be_used_in_TypeScript_files_8012","Parameter modifiers can only be used in TypeScript files."),Non_null_assertions_can_only_be_used_in_TypeScript_files:i(8013,1,"Non_null_assertions_can_only_be_used_in_TypeScript_files_8013","Non-null assertions can only be used in TypeScript files."),Type_assertion_expressions_can_only_be_used_in_TypeScript_files:i(8016,1,"Type_assertion_expressions_can_only_be_used_in_TypeScript_files_8016","Type assertion expressions can only be used in TypeScript files."),Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:i(8017,1,"Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0_8017","Octal literal types must use ES2015 syntax. Use the syntax '{0}'."),Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0:i(8018,1,"Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0_8018","Octal literals are not allowed in enums members initializer. Use the syntax '{0}'."),Report_errors_in_js_files:i(8019,3,"Report_errors_in_js_files_8019","Report errors in .js files."),JSDoc_types_can_only_be_used_inside_documentation_comments:i(8020,1,"JSDoc_types_can_only_be_used_inside_documentation_comments_8020","JSDoc types can only be used inside documentation comments."),JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags:i(8021,1,"JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags_8021","JSDoc '@typedef' tag should either have a type annotation or be followed by '@property' or '@member' tags."),JSDoc_0_is_not_attached_to_a_class:i(8022,1,"JSDoc_0_is_not_attached_to_a_class_8022","JSDoc '@{0}' is not attached to a class."),JSDoc_0_1_does_not_match_the_extends_2_clause:i(8023,1,"JSDoc_0_1_does_not_match_the_extends_2_clause_8023","JSDoc '@{0} {1}' does not match the 'extends {2}' clause."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name:i(8024,1,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_8024","JSDoc '@param' tag has name '{0}', but there is no parameter with that name."),Class_declarations_cannot_have_more_than_one_augments_or_extends_tag:i(8025,1,"Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025","Class declarations cannot have more than one '@augments' or '@extends' tag."),Expected_0_type_arguments_provide_these_with_an_extends_tag:i(8026,1,"Expected_0_type_arguments_provide_these_with_an_extends_tag_8026","Expected {0} type arguments; provide these with an '@extends' tag."),Expected_0_1_type_arguments_provide_these_with_an_extends_tag:i(8027,1,"Expected_0_1_type_arguments_provide_these_with_an_extends_tag_8027","Expected {0}-{1} type arguments; provide these with an '@extends' tag."),JSDoc_may_only_appear_in_the_last_parameter_of_a_signature:i(8028,1,"JSDoc_may_only_appear_in_the_last_parameter_of_a_signature_8028","JSDoc '...' may only appear in the last parameter of a signature."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type:i(8029,1,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_h_8029","JSDoc '@param' tag has name '{0}', but there is no parameter with that name. It would match 'arguments' if it had an array type."),The_type_of_a_function_declaration_must_match_the_function_s_signature:i(8030,1,"The_type_of_a_function_declaration_must_match_the_function_s_signature_8030","The type of a function declaration must match the function's signature."),You_cannot_rename_a_module_via_a_global_import:i(8031,1,"You_cannot_rename_a_module_via_a_global_import_8031","You cannot rename a module via a global import."),Qualified_name_0_is_not_allowed_without_a_leading_param_object_1:i(8032,1,"Qualified_name_0_is_not_allowed_without_a_leading_param_object_1_8032","Qualified name '{0}' is not allowed without a leading '@param {object} {1}'."),A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags:i(8033,1,"A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags_8033","A JSDoc '@typedef' comment may not contain multiple '@type' tags."),The_tag_was_first_specified_here:i(8034,1,"The_tag_was_first_specified_here_8034","The tag was first specified here."),You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder:i(8035,1,"You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder_8035","You cannot rename elements that are defined in a 'node_modules' folder."),You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder:i(8036,1,"You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder_8036","You cannot rename elements that are defined in another 'node_modules' folder."),Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files:i(8037,1,"Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files_8037","Type satisfaction expressions can only be used in TypeScript files."),Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export:i(8038,1,"Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export_8038","Decorators may not appear after 'export' or 'export default' if they also appear before 'export'."),Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit:i(9005,1,"Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_9005","Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit."),Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit:i(9006,1,"Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotati_9006","Declaration emit for this file requires using private name '{0}' from module '{1}'. An explicit type annotation may unblock declaration emit."),JSX_attributes_must_only_be_assigned_a_non_empty_expression:i(17e3,1,"JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000","JSX attributes must only be assigned a non-empty 'expression'."),JSX_elements_cannot_have_multiple_attributes_with_the_same_name:i(17001,1,"JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001","JSX elements cannot have multiple attributes with the same name."),Expected_corresponding_JSX_closing_tag_for_0:i(17002,1,"Expected_corresponding_JSX_closing_tag_for_0_17002","Expected corresponding JSX closing tag for '{0}'."),Cannot_use_JSX_unless_the_jsx_flag_is_provided:i(17004,1,"Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004","Cannot use JSX unless the '--jsx' flag is provided."),A_constructor_cannot_contain_a_super_call_when_its_class_extends_null:i(17005,1,"A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005","A constructor cannot contain a 'super' call when its class extends 'null'."),An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:i(17006,1,"An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006","An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:i(17007,1,"A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007","A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),JSX_element_0_has_no_corresponding_closing_tag:i(17008,1,"JSX_element_0_has_no_corresponding_closing_tag_17008","JSX element '{0}' has no corresponding closing tag."),super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class:i(17009,1,"super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009","'super' must be called before accessing 'this' in the constructor of a derived class."),Unknown_type_acquisition_option_0:i(17010,1,"Unknown_type_acquisition_option_0_17010","Unknown type acquisition option '{0}'."),super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class:i(17011,1,"super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class_17011","'super' must be called before accessing a property of 'super' in the constructor of a derived class."),_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2:i(17012,1,"_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2_17012","'{0}' is not a valid meta-property for keyword '{1}'. Did you mean '{2}'?"),Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor:i(17013,1,"Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constru_17013","Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor."),JSX_fragment_has_no_corresponding_closing_tag:i(17014,1,"JSX_fragment_has_no_corresponding_closing_tag_17014","JSX fragment has no corresponding closing tag."),Expected_corresponding_closing_tag_for_JSX_fragment:i(17015,1,"Expected_corresponding_closing_tag_for_JSX_fragment_17015","Expected corresponding closing tag for JSX fragment."),The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option:i(17016,1,"The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_com_17016","The 'jsxFragmentFactory' compiler option must be provided to use JSX fragments with the 'jsxFactory' compiler option."),An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments:i(17017,1,"An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments_17017","An @jsxFrag pragma is required when using an @jsx pragma with JSX fragments."),Unknown_type_acquisition_option_0_Did_you_mean_1:i(17018,1,"Unknown_type_acquisition_option_0_Did_you_mean_1_17018","Unknown type acquisition option '{0}'. Did you mean '{1}'?"),_0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1:i(17019,1,"_0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1_17019","'{0}' at the end of a type is not valid TypeScript syntax. Did you mean to write '{1}'?"),_0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1:i(17020,1,"_0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1_17020","'{0}' at the start of a type is not valid TypeScript syntax. Did you mean to write '{1}'?"),Circularity_detected_while_resolving_configuration_Colon_0:i(18e3,1,"Circularity_detected_while_resolving_configuration_Colon_0_18000","Circularity detected while resolving configuration: {0}"),The_files_list_in_config_file_0_is_empty:i(18002,1,"The_files_list_in_config_file_0_is_empty_18002","The 'files' list in config file '{0}' is empty."),No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2:i(18003,1,"No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2_18003","No inputs were found in config file '{0}'. Specified 'include' paths were '{1}' and 'exclude' paths were '{2}'."),File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module:i(80001,2,"File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module_80001","File is a CommonJS module; it may be converted to an ES module."),This_constructor_function_may_be_converted_to_a_class_declaration:i(80002,2,"This_constructor_function_may_be_converted_to_a_class_declaration_80002","This constructor function may be converted to a class declaration."),Import_may_be_converted_to_a_default_import:i(80003,2,"Import_may_be_converted_to_a_default_import_80003","Import may be converted to a default import."),JSDoc_types_may_be_moved_to_TypeScript_types:i(80004,2,"JSDoc_types_may_be_moved_to_TypeScript_types_80004","JSDoc types may be moved to TypeScript types."),require_call_may_be_converted_to_an_import:i(80005,2,"require_call_may_be_converted_to_an_import_80005","'require' call may be converted to an import."),This_may_be_converted_to_an_async_function:i(80006,2,"This_may_be_converted_to_an_async_function_80006","This may be converted to an async function."),await_has_no_effect_on_the_type_of_this_expression:i(80007,2,"await_has_no_effect_on_the_type_of_this_expression_80007","'await' has no effect on the type of this expression."),Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers:i(80008,2,"Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accur_80008","Numeric literals with absolute values equal to 2^53 or greater are too large to be represented accurately as integers."),Add_missing_super_call:i(90001,3,"Add_missing_super_call_90001","Add missing 'super()' call"),Make_super_call_the_first_statement_in_the_constructor:i(90002,3,"Make_super_call_the_first_statement_in_the_constructor_90002","Make 'super()' call the first statement in the constructor"),Change_extends_to_implements:i(90003,3,"Change_extends_to_implements_90003","Change 'extends' to 'implements'"),Remove_unused_declaration_for_Colon_0:i(90004,3,"Remove_unused_declaration_for_Colon_0_90004","Remove unused declaration for: '{0}'"),Remove_import_from_0:i(90005,3,"Remove_import_from_0_90005","Remove import from '{0}'"),Implement_interface_0:i(90006,3,"Implement_interface_0_90006","Implement interface '{0}'"),Implement_inherited_abstract_class:i(90007,3,"Implement_inherited_abstract_class_90007","Implement inherited abstract class"),Add_0_to_unresolved_variable:i(90008,3,"Add_0_to_unresolved_variable_90008","Add '{0}.' to unresolved variable"),Remove_variable_statement:i(90010,3,"Remove_variable_statement_90010","Remove variable statement"),Remove_template_tag:i(90011,3,"Remove_template_tag_90011","Remove template tag"),Remove_type_parameters:i(90012,3,"Remove_type_parameters_90012","Remove type parameters"),Import_0_from_1:i(90013,3,"Import_0_from_1_90013",`Import '{0}' from "{1}"`),Change_0_to_1:i(90014,3,"Change_0_to_1_90014","Change '{0}' to '{1}'"),Declare_property_0:i(90016,3,"Declare_property_0_90016","Declare property '{0}'"),Add_index_signature_for_property_0:i(90017,3,"Add_index_signature_for_property_0_90017","Add index signature for property '{0}'"),Disable_checking_for_this_file:i(90018,3,"Disable_checking_for_this_file_90018","Disable checking for this file"),Ignore_this_error_message:i(90019,3,"Ignore_this_error_message_90019","Ignore this error message"),Initialize_property_0_in_the_constructor:i(90020,3,"Initialize_property_0_in_the_constructor_90020","Initialize property '{0}' in the constructor"),Initialize_static_property_0:i(90021,3,"Initialize_static_property_0_90021","Initialize static property '{0}'"),Change_spelling_to_0:i(90022,3,"Change_spelling_to_0_90022","Change spelling to '{0}'"),Declare_method_0:i(90023,3,"Declare_method_0_90023","Declare method '{0}'"),Declare_static_method_0:i(90024,3,"Declare_static_method_0_90024","Declare static method '{0}'"),Prefix_0_with_an_underscore:i(90025,3,"Prefix_0_with_an_underscore_90025","Prefix '{0}' with an underscore"),Rewrite_as_the_indexed_access_type_0:i(90026,3,"Rewrite_as_the_indexed_access_type_0_90026","Rewrite as the indexed access type '{0}'"),Declare_static_property_0:i(90027,3,"Declare_static_property_0_90027","Declare static property '{0}'"),Call_decorator_expression:i(90028,3,"Call_decorator_expression_90028","Call decorator expression"),Add_async_modifier_to_containing_function:i(90029,3,"Add_async_modifier_to_containing_function_90029","Add async modifier to containing function"),Replace_infer_0_with_unknown:i(90030,3,"Replace_infer_0_with_unknown_90030","Replace 'infer {0}' with 'unknown'"),Replace_all_unused_infer_with_unknown:i(90031,3,"Replace_all_unused_infer_with_unknown_90031","Replace all unused 'infer' with 'unknown'"),Add_parameter_name:i(90034,3,"Add_parameter_name_90034","Add parameter name"),Declare_private_property_0:i(90035,3,"Declare_private_property_0_90035","Declare private property '{0}'"),Replace_0_with_Promise_1:i(90036,3,"Replace_0_with_Promise_1_90036","Replace '{0}' with 'Promise<{1}>'"),Fix_all_incorrect_return_type_of_an_async_functions:i(90037,3,"Fix_all_incorrect_return_type_of_an_async_functions_90037","Fix all incorrect return type of an async functions"),Declare_private_method_0:i(90038,3,"Declare_private_method_0_90038","Declare private method '{0}'"),Remove_unused_destructuring_declaration:i(90039,3,"Remove_unused_destructuring_declaration_90039","Remove unused destructuring declaration"),Remove_unused_declarations_for_Colon_0:i(90041,3,"Remove_unused_declarations_for_Colon_0_90041","Remove unused declarations for: '{0}'"),Declare_a_private_field_named_0:i(90053,3,"Declare_a_private_field_named_0_90053","Declare a private field named '{0}'."),Includes_imports_of_types_referenced_by_0:i(90054,3,"Includes_imports_of_types_referenced_by_0_90054","Includes imports of types referenced by '{0}'"),Remove_type_from_import_declaration_from_0:i(90055,3,"Remove_type_from_import_declaration_from_0_90055",`Remove 'type' from import declaration from "{0}"`),Remove_type_from_import_of_0_from_1:i(90056,3,"Remove_type_from_import_of_0_from_1_90056",`Remove 'type' from import of '{0}' from "{1}"`),Add_import_from_0:i(90057,3,"Add_import_from_0_90057",'Add import from "{0}"'),Update_import_from_0:i(90058,3,"Update_import_from_0_90058",'Update import from "{0}"'),Export_0_from_module_1:i(90059,3,"Export_0_from_module_1_90059","Export '{0}' from module '{1}'"),Export_all_referenced_locals:i(90060,3,"Export_all_referenced_locals_90060","Export all referenced locals"),Convert_function_to_an_ES2015_class:i(95001,3,"Convert_function_to_an_ES2015_class_95001","Convert function to an ES2015 class"),Convert_0_to_1_in_0:i(95003,3,"Convert_0_to_1_in_0_95003","Convert '{0}' to '{1} in {0}'"),Extract_to_0_in_1:i(95004,3,"Extract_to_0_in_1_95004","Extract to {0} in {1}"),Extract_function:i(95005,3,"Extract_function_95005","Extract function"),Extract_constant:i(95006,3,"Extract_constant_95006","Extract constant"),Extract_to_0_in_enclosing_scope:i(95007,3,"Extract_to_0_in_enclosing_scope_95007","Extract to {0} in enclosing scope"),Extract_to_0_in_1_scope:i(95008,3,"Extract_to_0_in_1_scope_95008","Extract to {0} in {1} scope"),Annotate_with_type_from_JSDoc:i(95009,3,"Annotate_with_type_from_JSDoc_95009","Annotate with type from JSDoc"),Infer_type_of_0_from_usage:i(95011,3,"Infer_type_of_0_from_usage_95011","Infer type of '{0}' from usage"),Infer_parameter_types_from_usage:i(95012,3,"Infer_parameter_types_from_usage_95012","Infer parameter types from usage"),Convert_to_default_import:i(95013,3,"Convert_to_default_import_95013","Convert to default import"),Install_0:i(95014,3,"Install_0_95014","Install '{0}'"),Replace_import_with_0:i(95015,3,"Replace_import_with_0_95015","Replace import with '{0}'."),Use_synthetic_default_member:i(95016,3,"Use_synthetic_default_member_95016","Use synthetic 'default' member."),Convert_to_ES_module:i(95017,3,"Convert_to_ES_module_95017","Convert to ES module"),Add_undefined_type_to_property_0:i(95018,3,"Add_undefined_type_to_property_0_95018","Add 'undefined' type to property '{0}'"),Add_initializer_to_property_0:i(95019,3,"Add_initializer_to_property_0_95019","Add initializer to property '{0}'"),Add_definite_assignment_assertion_to_property_0:i(95020,3,"Add_definite_assignment_assertion_to_property_0_95020","Add definite assignment assertion to property '{0}'"),Convert_all_type_literals_to_mapped_type:i(95021,3,"Convert_all_type_literals_to_mapped_type_95021","Convert all type literals to mapped type"),Add_all_missing_members:i(95022,3,"Add_all_missing_members_95022","Add all missing members"),Infer_all_types_from_usage:i(95023,3,"Infer_all_types_from_usage_95023","Infer all types from usage"),Delete_all_unused_declarations:i(95024,3,"Delete_all_unused_declarations_95024","Delete all unused declarations"),Prefix_all_unused_declarations_with_where_possible:i(95025,3,"Prefix_all_unused_declarations_with_where_possible_95025","Prefix all unused declarations with '_' where possible"),Fix_all_detected_spelling_errors:i(95026,3,"Fix_all_detected_spelling_errors_95026","Fix all detected spelling errors"),Add_initializers_to_all_uninitialized_properties:i(95027,3,"Add_initializers_to_all_uninitialized_properties_95027","Add initializers to all uninitialized properties"),Add_definite_assignment_assertions_to_all_uninitialized_properties:i(95028,3,"Add_definite_assignment_assertions_to_all_uninitialized_properties_95028","Add definite assignment assertions to all uninitialized properties"),Add_undefined_type_to_all_uninitialized_properties:i(95029,3,"Add_undefined_type_to_all_uninitialized_properties_95029","Add undefined type to all uninitialized properties"),Change_all_jsdoc_style_types_to_TypeScript:i(95030,3,"Change_all_jsdoc_style_types_to_TypeScript_95030","Change all jsdoc-style types to TypeScript"),Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types:i(95031,3,"Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types_95031","Change all jsdoc-style types to TypeScript (and add '| undefined' to nullable types)"),Implement_all_unimplemented_interfaces:i(95032,3,"Implement_all_unimplemented_interfaces_95032","Implement all unimplemented interfaces"),Install_all_missing_types_packages:i(95033,3,"Install_all_missing_types_packages_95033","Install all missing types packages"),Rewrite_all_as_indexed_access_types:i(95034,3,"Rewrite_all_as_indexed_access_types_95034","Rewrite all as indexed access types"),Convert_all_to_default_imports:i(95035,3,"Convert_all_to_default_imports_95035","Convert all to default imports"),Make_all_super_calls_the_first_statement_in_their_constructor:i(95036,3,"Make_all_super_calls_the_first_statement_in_their_constructor_95036","Make all 'super()' calls the first statement in their constructor"),Add_qualifier_to_all_unresolved_variables_matching_a_member_name:i(95037,3,"Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037","Add qualifier to all unresolved variables matching a member name"),Change_all_extended_interfaces_to_implements:i(95038,3,"Change_all_extended_interfaces_to_implements_95038","Change all extended interfaces to 'implements'"),Add_all_missing_super_calls:i(95039,3,"Add_all_missing_super_calls_95039","Add all missing super calls"),Implement_all_inherited_abstract_classes:i(95040,3,"Implement_all_inherited_abstract_classes_95040","Implement all inherited abstract classes"),Add_all_missing_async_modifiers:i(95041,3,"Add_all_missing_async_modifiers_95041","Add all missing 'async' modifiers"),Add_ts_ignore_to_all_error_messages:i(95042,3,"Add_ts_ignore_to_all_error_messages_95042","Add '@ts-ignore' to all error messages"),Annotate_everything_with_types_from_JSDoc:i(95043,3,"Annotate_everything_with_types_from_JSDoc_95043","Annotate everything with types from JSDoc"),Add_to_all_uncalled_decorators:i(95044,3,"Add_to_all_uncalled_decorators_95044","Add '()' to all uncalled decorators"),Convert_all_constructor_functions_to_classes:i(95045,3,"Convert_all_constructor_functions_to_classes_95045","Convert all constructor functions to classes"),Generate_get_and_set_accessors:i(95046,3,"Generate_get_and_set_accessors_95046","Generate 'get' and 'set' accessors"),Convert_require_to_import:i(95047,3,"Convert_require_to_import_95047","Convert 'require' to 'import'"),Convert_all_require_to_import:i(95048,3,"Convert_all_require_to_import_95048","Convert all 'require' to 'import'"),Move_to_a_new_file:i(95049,3,"Move_to_a_new_file_95049","Move to a new file"),Remove_unreachable_code:i(95050,3,"Remove_unreachable_code_95050","Remove unreachable code"),Remove_all_unreachable_code:i(95051,3,"Remove_all_unreachable_code_95051","Remove all unreachable code"),Add_missing_typeof:i(95052,3,"Add_missing_typeof_95052","Add missing 'typeof'"),Remove_unused_label:i(95053,3,"Remove_unused_label_95053","Remove unused label"),Remove_all_unused_labels:i(95054,3,"Remove_all_unused_labels_95054","Remove all unused labels"),Convert_0_to_mapped_object_type:i(95055,3,"Convert_0_to_mapped_object_type_95055","Convert '{0}' to mapped object type"),Convert_namespace_import_to_named_imports:i(95056,3,"Convert_namespace_import_to_named_imports_95056","Convert namespace import to named imports"),Convert_named_imports_to_namespace_import:i(95057,3,"Convert_named_imports_to_namespace_import_95057","Convert named imports to namespace import"),Add_or_remove_braces_in_an_arrow_function:i(95058,3,"Add_or_remove_braces_in_an_arrow_function_95058","Add or remove braces in an arrow function"),Add_braces_to_arrow_function:i(95059,3,"Add_braces_to_arrow_function_95059","Add braces to arrow function"),Remove_braces_from_arrow_function:i(95060,3,"Remove_braces_from_arrow_function_95060","Remove braces from arrow function"),Convert_default_export_to_named_export:i(95061,3,"Convert_default_export_to_named_export_95061","Convert default export to named export"),Convert_named_export_to_default_export:i(95062,3,"Convert_named_export_to_default_export_95062","Convert named export to default export"),Add_missing_enum_member_0:i(95063,3,"Add_missing_enum_member_0_95063","Add missing enum member '{0}'"),Add_all_missing_imports:i(95064,3,"Add_all_missing_imports_95064","Add all missing imports"),Convert_to_async_function:i(95065,3,"Convert_to_async_function_95065","Convert to async function"),Convert_all_to_async_functions:i(95066,3,"Convert_all_to_async_functions_95066","Convert all to async functions"),Add_missing_call_parentheses:i(95067,3,"Add_missing_call_parentheses_95067","Add missing call parentheses"),Add_all_missing_call_parentheses:i(95068,3,"Add_all_missing_call_parentheses_95068","Add all missing call parentheses"),Add_unknown_conversion_for_non_overlapping_types:i(95069,3,"Add_unknown_conversion_for_non_overlapping_types_95069","Add 'unknown' conversion for non-overlapping types"),Add_unknown_to_all_conversions_of_non_overlapping_types:i(95070,3,"Add_unknown_to_all_conversions_of_non_overlapping_types_95070","Add 'unknown' to all conversions of non-overlapping types"),Add_missing_new_operator_to_call:i(95071,3,"Add_missing_new_operator_to_call_95071","Add missing 'new' operator to call"),Add_missing_new_operator_to_all_calls:i(95072,3,"Add_missing_new_operator_to_all_calls_95072","Add missing 'new' operator to all calls"),Add_names_to_all_parameters_without_names:i(95073,3,"Add_names_to_all_parameters_without_names_95073","Add names to all parameters without names"),Enable_the_experimentalDecorators_option_in_your_configuration_file:i(95074,3,"Enable_the_experimentalDecorators_option_in_your_configuration_file_95074","Enable the 'experimentalDecorators' option in your configuration file"),Convert_parameters_to_destructured_object:i(95075,3,"Convert_parameters_to_destructured_object_95075","Convert parameters to destructured object"),Extract_type:i(95077,3,"Extract_type_95077","Extract type"),Extract_to_type_alias:i(95078,3,"Extract_to_type_alias_95078","Extract to type alias"),Extract_to_typedef:i(95079,3,"Extract_to_typedef_95079","Extract to typedef"),Infer_this_type_of_0_from_usage:i(95080,3,"Infer_this_type_of_0_from_usage_95080","Infer 'this' type of '{0}' from usage"),Add_const_to_unresolved_variable:i(95081,3,"Add_const_to_unresolved_variable_95081","Add 'const' to unresolved variable"),Add_const_to_all_unresolved_variables:i(95082,3,"Add_const_to_all_unresolved_variables_95082","Add 'const' to all unresolved variables"),Add_await:i(95083,3,"Add_await_95083","Add 'await'"),Add_await_to_initializer_for_0:i(95084,3,"Add_await_to_initializer_for_0_95084","Add 'await' to initializer for '{0}'"),Fix_all_expressions_possibly_missing_await:i(95085,3,"Fix_all_expressions_possibly_missing_await_95085","Fix all expressions possibly missing 'await'"),Remove_unnecessary_await:i(95086,3,"Remove_unnecessary_await_95086","Remove unnecessary 'await'"),Remove_all_unnecessary_uses_of_await:i(95087,3,"Remove_all_unnecessary_uses_of_await_95087","Remove all unnecessary uses of 'await'"),Enable_the_jsx_flag_in_your_configuration_file:i(95088,3,"Enable_the_jsx_flag_in_your_configuration_file_95088","Enable the '--jsx' flag in your configuration file"),Add_await_to_initializers:i(95089,3,"Add_await_to_initializers_95089","Add 'await' to initializers"),Extract_to_interface:i(95090,3,"Extract_to_interface_95090","Extract to interface"),Convert_to_a_bigint_numeric_literal:i(95091,3,"Convert_to_a_bigint_numeric_literal_95091","Convert to a bigint numeric literal"),Convert_all_to_bigint_numeric_literals:i(95092,3,"Convert_all_to_bigint_numeric_literals_95092","Convert all to bigint numeric literals"),Convert_const_to_let:i(95093,3,"Convert_const_to_let_95093","Convert 'const' to 'let'"),Prefix_with_declare:i(95094,3,"Prefix_with_declare_95094","Prefix with 'declare'"),Prefix_all_incorrect_property_declarations_with_declare:i(95095,3,"Prefix_all_incorrect_property_declarations_with_declare_95095","Prefix all incorrect property declarations with 'declare'"),Convert_to_template_string:i(95096,3,"Convert_to_template_string_95096","Convert to template string"),Add_export_to_make_this_file_into_a_module:i(95097,3,"Add_export_to_make_this_file_into_a_module_95097","Add 'export {}' to make this file into a module"),Set_the_target_option_in_your_configuration_file_to_0:i(95098,3,"Set_the_target_option_in_your_configuration_file_to_0_95098","Set the 'target' option in your configuration file to '{0}'"),Set_the_module_option_in_your_configuration_file_to_0:i(95099,3,"Set_the_module_option_in_your_configuration_file_to_0_95099","Set the 'module' option in your configuration file to '{0}'"),Convert_invalid_character_to_its_html_entity_code:i(95100,3,"Convert_invalid_character_to_its_html_entity_code_95100","Convert invalid character to its html entity code"),Convert_all_invalid_characters_to_HTML_entity_code:i(95101,3,"Convert_all_invalid_characters_to_HTML_entity_code_95101","Convert all invalid characters to HTML entity code"),Convert_all_const_to_let:i(95102,3,"Convert_all_const_to_let_95102","Convert all 'const' to 'let'"),Convert_function_expression_0_to_arrow_function:i(95105,3,"Convert_function_expression_0_to_arrow_function_95105","Convert function expression '{0}' to arrow function"),Convert_function_declaration_0_to_arrow_function:i(95106,3,"Convert_function_declaration_0_to_arrow_function_95106","Convert function declaration '{0}' to arrow function"),Fix_all_implicit_this_errors:i(95107,3,"Fix_all_implicit_this_errors_95107","Fix all implicit-'this' errors"),Wrap_invalid_character_in_an_expression_container:i(95108,3,"Wrap_invalid_character_in_an_expression_container_95108","Wrap invalid character in an expression container"),Wrap_all_invalid_characters_in_an_expression_container:i(95109,3,"Wrap_all_invalid_characters_in_an_expression_container_95109","Wrap all invalid characters in an expression container"),Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file:i(95110,3,"Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file_95110","Visit https://aka.ms/tsconfig to read more about this file"),Add_a_return_statement:i(95111,3,"Add_a_return_statement_95111","Add a return statement"),Remove_braces_from_arrow_function_body:i(95112,3,"Remove_braces_from_arrow_function_body_95112","Remove braces from arrow function body"),Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal:i(95113,3,"Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal_95113","Wrap the following body with parentheses which should be an object literal"),Add_all_missing_return_statement:i(95114,3,"Add_all_missing_return_statement_95114","Add all missing return statement"),Remove_braces_from_all_arrow_function_bodies_with_relevant_issues:i(95115,3,"Remove_braces_from_all_arrow_function_bodies_with_relevant_issues_95115","Remove braces from all arrow function bodies with relevant issues"),Wrap_all_object_literal_with_parentheses:i(95116,3,"Wrap_all_object_literal_with_parentheses_95116","Wrap all object literal with parentheses"),Move_labeled_tuple_element_modifiers_to_labels:i(95117,3,"Move_labeled_tuple_element_modifiers_to_labels_95117","Move labeled tuple element modifiers to labels"),Convert_overload_list_to_single_signature:i(95118,3,"Convert_overload_list_to_single_signature_95118","Convert overload list to single signature"),Generate_get_and_set_accessors_for_all_overriding_properties:i(95119,3,"Generate_get_and_set_accessors_for_all_overriding_properties_95119","Generate 'get' and 'set' accessors for all overriding properties"),Wrap_in_JSX_fragment:i(95120,3,"Wrap_in_JSX_fragment_95120","Wrap in JSX fragment"),Wrap_all_unparented_JSX_in_JSX_fragment:i(95121,3,"Wrap_all_unparented_JSX_in_JSX_fragment_95121","Wrap all unparented JSX in JSX fragment"),Convert_arrow_function_or_function_expression:i(95122,3,"Convert_arrow_function_or_function_expression_95122","Convert arrow function or function expression"),Convert_to_anonymous_function:i(95123,3,"Convert_to_anonymous_function_95123","Convert to anonymous function"),Convert_to_named_function:i(95124,3,"Convert_to_named_function_95124","Convert to named function"),Convert_to_arrow_function:i(95125,3,"Convert_to_arrow_function_95125","Convert to arrow function"),Remove_parentheses:i(95126,3,"Remove_parentheses_95126","Remove parentheses"),Could_not_find_a_containing_arrow_function:i(95127,3,"Could_not_find_a_containing_arrow_function_95127","Could not find a containing arrow function"),Containing_function_is_not_an_arrow_function:i(95128,3,"Containing_function_is_not_an_arrow_function_95128","Containing function is not an arrow function"),Could_not_find_export_statement:i(95129,3,"Could_not_find_export_statement_95129","Could not find export statement"),This_file_already_has_a_default_export:i(95130,3,"This_file_already_has_a_default_export_95130","This file already has a default export"),Could_not_find_import_clause:i(95131,3,"Could_not_find_import_clause_95131","Could not find import clause"),Could_not_find_namespace_import_or_named_imports:i(95132,3,"Could_not_find_namespace_import_or_named_imports_95132","Could not find namespace import or named imports"),Selection_is_not_a_valid_type_node:i(95133,3,"Selection_is_not_a_valid_type_node_95133","Selection is not a valid type node"),No_type_could_be_extracted_from_this_type_node:i(95134,3,"No_type_could_be_extracted_from_this_type_node_95134","No type could be extracted from this type node"),Could_not_find_property_for_which_to_generate_accessor:i(95135,3,"Could_not_find_property_for_which_to_generate_accessor_95135","Could not find property for which to generate accessor"),Name_is_not_valid:i(95136,3,"Name_is_not_valid_95136","Name is not valid"),Can_only_convert_property_with_modifier:i(95137,3,"Can_only_convert_property_with_modifier_95137","Can only convert property with modifier"),Switch_each_misused_0_to_1:i(95138,3,"Switch_each_misused_0_to_1_95138","Switch each misused '{0}' to '{1}'"),Convert_to_optional_chain_expression:i(95139,3,"Convert_to_optional_chain_expression_95139","Convert to optional chain expression"),Could_not_find_convertible_access_expression:i(95140,3,"Could_not_find_convertible_access_expression_95140","Could not find convertible access expression"),Could_not_find_matching_access_expressions:i(95141,3,"Could_not_find_matching_access_expressions_95141","Could not find matching access expressions"),Can_only_convert_logical_AND_access_chains:i(95142,3,"Can_only_convert_logical_AND_access_chains_95142","Can only convert logical AND access chains"),Add_void_to_Promise_resolved_without_a_value:i(95143,3,"Add_void_to_Promise_resolved_without_a_value_95143","Add 'void' to Promise resolved without a value"),Add_void_to_all_Promises_resolved_without_a_value:i(95144,3,"Add_void_to_all_Promises_resolved_without_a_value_95144","Add 'void' to all Promises resolved without a value"),Use_element_access_for_0:i(95145,3,"Use_element_access_for_0_95145","Use element access for '{0}'"),Use_element_access_for_all_undeclared_properties:i(95146,3,"Use_element_access_for_all_undeclared_properties_95146","Use element access for all undeclared properties."),Delete_all_unused_imports:i(95147,3,"Delete_all_unused_imports_95147","Delete all unused imports"),Infer_function_return_type:i(95148,3,"Infer_function_return_type_95148","Infer function return type"),Return_type_must_be_inferred_from_a_function:i(95149,3,"Return_type_must_be_inferred_from_a_function_95149","Return type must be inferred from a function"),Could_not_determine_function_return_type:i(95150,3,"Could_not_determine_function_return_type_95150","Could not determine function return type"),Could_not_convert_to_arrow_function:i(95151,3,"Could_not_convert_to_arrow_function_95151","Could not convert to arrow function"),Could_not_convert_to_named_function:i(95152,3,"Could_not_convert_to_named_function_95152","Could not convert to named function"),Could_not_convert_to_anonymous_function:i(95153,3,"Could_not_convert_to_anonymous_function_95153","Could not convert to anonymous function"),Can_only_convert_string_concatenation:i(95154,3,"Can_only_convert_string_concatenation_95154","Can only convert string concatenation"),Selection_is_not_a_valid_statement_or_statements:i(95155,3,"Selection_is_not_a_valid_statement_or_statements_95155","Selection is not a valid statement or statements"),Add_missing_function_declaration_0:i(95156,3,"Add_missing_function_declaration_0_95156","Add missing function declaration '{0}'"),Add_all_missing_function_declarations:i(95157,3,"Add_all_missing_function_declarations_95157","Add all missing function declarations"),Method_not_implemented:i(95158,3,"Method_not_implemented_95158","Method not implemented."),Function_not_implemented:i(95159,3,"Function_not_implemented_95159","Function not implemented."),Add_override_modifier:i(95160,3,"Add_override_modifier_95160","Add 'override' modifier"),Remove_override_modifier:i(95161,3,"Remove_override_modifier_95161","Remove 'override' modifier"),Add_all_missing_override_modifiers:i(95162,3,"Add_all_missing_override_modifiers_95162","Add all missing 'override' modifiers"),Remove_all_unnecessary_override_modifiers:i(95163,3,"Remove_all_unnecessary_override_modifiers_95163","Remove all unnecessary 'override' modifiers"),Can_only_convert_named_export:i(95164,3,"Can_only_convert_named_export_95164","Can only convert named export"),Add_missing_properties:i(95165,3,"Add_missing_properties_95165","Add missing properties"),Add_all_missing_properties:i(95166,3,"Add_all_missing_properties_95166","Add all missing properties"),Add_missing_attributes:i(95167,3,"Add_missing_attributes_95167","Add missing attributes"),Add_all_missing_attributes:i(95168,3,"Add_all_missing_attributes_95168","Add all missing attributes"),Add_undefined_to_optional_property_type:i(95169,3,"Add_undefined_to_optional_property_type_95169","Add 'undefined' to optional property type"),Convert_named_imports_to_default_import:i(95170,3,"Convert_named_imports_to_default_import_95170","Convert named imports to default import"),Delete_unused_param_tag_0:i(95171,3,"Delete_unused_param_tag_0_95171","Delete unused '@param' tag '{0}'"),Delete_all_unused_param_tags:i(95172,3,"Delete_all_unused_param_tags_95172","Delete all unused '@param' tags"),Rename_param_tag_name_0_to_1:i(95173,3,"Rename_param_tag_name_0_to_1_95173","Rename '@param' tag name '{0}' to '{1}'"),Use_0:i(95174,3,"Use_0_95174","Use `{0}`."),Use_Number_isNaN_in_all_conditions:i(95175,3,"Use_Number_isNaN_in_all_conditions_95175","Use `Number.isNaN` in all conditions."),No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer:i(18004,1,"No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer_18004","No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer."),Classes_may_not_have_a_field_named_constructor:i(18006,1,"Classes_may_not_have_a_field_named_constructor_18006","Classes may not have a field named 'constructor'."),JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array:i(18007,1,"JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array_18007","JSX expressions may not use the comma operator. Did you mean to write an array?"),Private_identifiers_cannot_be_used_as_parameters:i(18009,1,"Private_identifiers_cannot_be_used_as_parameters_18009","Private identifiers cannot be used as parameters."),An_accessibility_modifier_cannot_be_used_with_a_private_identifier:i(18010,1,"An_accessibility_modifier_cannot_be_used_with_a_private_identifier_18010","An accessibility modifier cannot be used with a private identifier."),The_operand_of_a_delete_operator_cannot_be_a_private_identifier:i(18011,1,"The_operand_of_a_delete_operator_cannot_be_a_private_identifier_18011","The operand of a 'delete' operator cannot be a private identifier."),constructor_is_a_reserved_word:i(18012,1,"constructor_is_a_reserved_word_18012","'#constructor' is a reserved word."),Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier:i(18013,1,"Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier_18013","Property '{0}' is not accessible outside class '{1}' because it has a private identifier."),The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_private_identifier_with_the_same_spelling:i(18014,1,"The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_priv_18014","The property '{0}' cannot be accessed on type '{1}' within this class because it is shadowed by another private identifier with the same spelling."),Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2:i(18015,1,"Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2_18015","Property '{0}' in type '{1}' refers to a different member that cannot be accessed from within type '{2}'."),Private_identifiers_are_not_allowed_outside_class_bodies:i(18016,1,"Private_identifiers_are_not_allowed_outside_class_bodies_18016","Private identifiers are not allowed outside class bodies."),The_shadowing_declaration_of_0_is_defined_here:i(18017,1,"The_shadowing_declaration_of_0_is_defined_here_18017","The shadowing declaration of '{0}' is defined here"),The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here:i(18018,1,"The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here_18018","The declaration of '{0}' that you probably intended to use is defined here"),_0_modifier_cannot_be_used_with_a_private_identifier:i(18019,1,"_0_modifier_cannot_be_used_with_a_private_identifier_18019","'{0}' modifier cannot be used with a private identifier."),An_enum_member_cannot_be_named_with_a_private_identifier:i(18024,1,"An_enum_member_cannot_be_named_with_a_private_identifier_18024","An enum member cannot be named with a private identifier."),can_only_be_used_at_the_start_of_a_file:i(18026,1,"can_only_be_used_at_the_start_of_a_file_18026","'#!' can only be used at the start of a file."),Compiler_reserves_name_0_when_emitting_private_identifier_downlevel:i(18027,1,"Compiler_reserves_name_0_when_emitting_private_identifier_downlevel_18027","Compiler reserves name '{0}' when emitting private identifier downlevel."),Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher:i(18028,1,"Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher_18028","Private identifiers are only available when targeting ECMAScript 2015 and higher."),Private_identifiers_are_not_allowed_in_variable_declarations:i(18029,1,"Private_identifiers_are_not_allowed_in_variable_declarations_18029","Private identifiers are not allowed in variable declarations."),An_optional_chain_cannot_contain_private_identifiers:i(18030,1,"An_optional_chain_cannot_contain_private_identifiers_18030","An optional chain cannot contain private identifiers."),The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents:i(18031,1,"The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituent_18031","The intersection '{0}' was reduced to 'never' because property '{1}' has conflicting types in some constituents."),The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some:i(18032,1,"The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_pr_18032","The intersection '{0}' was reduced to 'never' because property '{1}' exists in multiple constituents and is private in some."),Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values:i(18033,1,"Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values_18033","Type '{0}' is not assignable to type '{1}' as required for computed enum member values."),Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compiler_option_is_specified_e_g_Fragment:i(18034,3,"Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compi_18034","Specify the JSX fragment factory function to use when targeting 'react' JSX emit with 'jsxFactory' compiler option is specified, e.g. 'Fragment'."),Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name:i(18035,1,"Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name_18035","Invalid value for 'jsxFragmentFactory'. '{0}' is not a valid identifier or qualified-name."),Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator:i(18036,1,"Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_dec_18036","Class decorators can't be used with static private identifier. Consider removing the experimental decorator."),Await_expression_cannot_be_used_inside_a_class_static_block:i(18037,1,"Await_expression_cannot_be_used_inside_a_class_static_block_18037","Await expression cannot be used inside a class static block."),For_await_loops_cannot_be_used_inside_a_class_static_block:i(18038,1,"For_await_loops_cannot_be_used_inside_a_class_static_block_18038","'For await' loops cannot be used inside a class static block."),Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block:i(18039,1,"Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block_18039","Invalid use of '{0}'. It cannot be used inside a class static block."),A_return_statement_cannot_be_used_inside_a_class_static_block:i(18041,1,"A_return_statement_cannot_be_used_inside_a_class_static_block_18041","A 'return' statement cannot be used inside a class static block."),_0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation:i(18042,1,"_0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation_18042","'{0}' is a type and cannot be imported in JavaScript files. Use '{1}' in a JSDoc type annotation."),Types_cannot_appear_in_export_declarations_in_JavaScript_files:i(18043,1,"Types_cannot_appear_in_export_declarations_in_JavaScript_files_18043","Types cannot appear in export declarations in JavaScript files."),_0_is_automatically_exported_here:i(18044,3,"_0_is_automatically_exported_here_18044","'{0}' is automatically exported here."),Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher:i(18045,1,"Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher_18045","Properties with the 'accessor' modifier are only available when targeting ECMAScript 2015 and higher."),_0_is_of_type_unknown:i(18046,1,"_0_is_of_type_unknown_18046","'{0}' is of type 'unknown'."),_0_is_possibly_null:i(18047,1,"_0_is_possibly_null_18047","'{0}' is possibly 'null'."),_0_is_possibly_undefined:i(18048,1,"_0_is_possibly_undefined_18048","'{0}' is possibly 'undefined'."),_0_is_possibly_null_or_undefined:i(18049,1,"_0_is_possibly_null_or_undefined_18049","'{0}' is possibly 'null' or 'undefined'."),The_value_0_cannot_be_used_here:i(18050,1,"The_value_0_cannot_be_used_here_18050","The value '{0}' cannot be used here."),Compiler_option_0_cannot_be_given_an_empty_string:i(18051,1,"Compiler_option_0_cannot_be_given_an_empty_string_18051","Compiler option '{0}' cannot be given an empty string.")}}});function fr(Me){return Me>=79}function qT(Me){return Me===31||fr(Me)}function D_(Me,Bn){if(Me=2?D_(Me,Mv):Bn===1?D_(Me,Nv):D_(Me,Tv)}function _A(Me,Bn){return Bn>=2?D_(Me,OE):Bn===1?D_(Me,Ov):D_(Me,Fv)}function cA(Me){let Bn=[];return Me.forEach(((Me,Hn)=>{Bn[Me]=Hn})),Bn}function Br(Me){return rC[Me]}function _l(Me){return Bv.get(Me)}function Kp(Me){let Bn=[],Hn=0,zn=0;for(;Hn127&&un(ni)&&(Bn.push(zn),zn=Hn);break}}return Bn.push(zn),Bn}function lA(Me,Bn,Hn,zn){return Me.getPositionOfLineAndCharacter?Me.getPositionOfLineAndCharacter(Bn,Hn,zn):dy(ss(Me),Bn,Hn,Me.text,zn)}function dy(Me,Bn,Hn,zn,ni){(Bn<0||Bn>=Me.length)&&(ni?Bn=Bn<0?0:Bn>=Me.length?Me.length-1:Bn:qp.fail(`Bad line number. Line: ${Bn}, lineStarts.length: ${Me.length} , line map is correct? ${zn!==void 0?ke(Me,Kp(zn)):"unknown"}`));let Ci=Me[Bn]+Hn;return ni?Ci>Me[Bn+1]?Me[Bn+1]:typeof zn=="string"&&Ci>zn.length?zn.length:Ci:(Bn=8192&&Me<=8203||Me===8239||Me===8287||Me===12288||Me===65279}function un(Me){return Me===10||Me===13||Me===8232||Me===8233}function O_(Me){return Me>=48&&Me<=57}function Xp(Me){return O_(Me)||Me>=65&&Me<=70||Me>=97&&Me<=102}function uA(Me){return Me<=1114111}function hy(Me){return Me>=48&&Me<=55}function pA(Me,Bn){let Hn=Me.charCodeAt(Bn);switch(Hn){case 13:case 10:case 9:case 11:case 12:case 32:case 47:case 60:case 124:case 61:case 62:return!0;case 35:return Bn===0;default:return Hn>127}}function Ar(Me,Bn,Hn,zn,ni){if(hs(Bn))return Bn;let Ci=!1;for(;;){let ts=Me.charCodeAt(Bn);switch(ts){case 13:Me.charCodeAt(Bn+1)===10&&Bn++;case 10:if(Bn++,Hn)return Bn;Ci=!!ni;continue;case 9:case 11:case 12:case 32:Bn++;continue;case 47:if(zn)break;if(Me.charCodeAt(Bn+1)===47){for(Bn+=2;Bn127&&os(ts)){Bn++;continue}break}return Bn}}function Co(Me,Bn){if(qp.assert(Bn>=0),Bn===0||un(Me.charCodeAt(Bn-1))){let Hn=Me.charCodeAt(Bn);if(Bn+nC=0&&Hn127&&os(ts)){_a&&un(ts)&&(ca=!0),Hn++;continue}break e}}return _a&&(Ga=ni(Ps,aa,oa,ca,Ci,Ga)),Ga}function fA(Me,Bn,Hn,zn){return Yp(!1,Me,Bn,!1,Hn,zn)}function dA(Me,Bn,Hn,zn){return Yp(!1,Me,Bn,!0,Hn,zn)}function zT(Me,Bn,Hn,zn,ni){return Yp(!0,Me,Bn,!1,Hn,zn,ni)}function WT(Me,Bn,Hn,zn,ni){return Yp(!0,Me,Bn,!0,Hn,zn,ni)}function VT(Me,Bn,Hn,zn,ni){let Ci=arguments.length>5&&arguments[5]!==void 0?arguments[5]:[];return Ci.push({kind:Hn,pos:Me,end:Bn,hasTrailingNewLine:zn}),Ci}function Ao(Me,Bn){return zT(Me,Bn,VT,void 0,void 0)}function HT(Me,Bn){return WT(Me,Bn,VT,void 0,void 0)}function GT(Me){let Bn=iC.exec(Me);if(Bn)return Bn[0]}function Wn(Me,Bn){return Me>=65&&Me<=90||Me>=97&&Me<=122||Me===36||Me===95||Me>127&&UT(Me,Bn)}function Rs(Me,Bn,Hn){return Me>=65&&Me<=90||Me>=97&&Me<=122||Me>=48&&Me<=57||Me===36||Me===95||(Hn===1?Me===45||Me===58:!1)||Me>127&&_A(Me,Bn)}function vy(Me,Bn,Hn){let zn=sC(Me,0);if(!Wn(zn,Bn))return!1;for(let ni=yi(zn);ni2&&arguments[2]!==void 0?arguments[2]:0,zn=arguments.length>3?arguments[3]:void 0,ni=arguments.length>4?arguments[4]:void 0,Ci=arguments.length>5?arguments[5]:void 0,ts=arguments.length>6?arguments[6]:void 0;var Ps=zn,aa,oa,ca,_a,xa,Ga,Ha,so,oo=0;ue(Ps,Ci,ts);var Jo={getStartPos:()=>ca,getTextPos:()=>aa,getToken:()=>xa,getTokenPos:()=>_a,getTokenText:()=>Ps.substring(_a,aa),getTokenValue:()=>Ga,hasUnicodeEscape:()=>(Ha&1024)!==0,hasExtendedUnicodeEscape:()=>(Ha&8)!==0,hasPrecedingLineBreak:()=>(Ha&1)!==0,hasPrecedingJSDocComment:()=>(Ha&2)!==0,isIdentifier:()=>xa===79||xa>116,isReservedWord:()=>xa>=81&&xa<=116,isUnterminated:()=>(Ha&4)!==0,getCommentDirectives:()=>so,getNumericLiteralFlags:()=>Ha&1008,getTokenFlags:()=>Ha,reScanGreaterToken:Sn,reScanAsteriskEqualsToken:In,reScanSlashToken:pr,reScanTemplateToken:Nn,reScanTemplateHeadOrNoSubstitutionTemplate:ar,scanJsxIdentifier:nr,scanJsxAttributeValue:br,reScanJsxAttributeValue:Kr,reScanJsxToken:oi,reScanLessThanToken:cr,reScanHashToken:$r,reScanQuestionToken:hr,reScanInvalidIdentifier:Gr,scanJsxToken:On,scanJsDocToken:wa,scan:Ur,getText:Ca,clearCommentDirectives:St,setText:ue,setScriptTarget:_t,setLanguageVariant:ft,setOnError:He,setTextPos:Kt,setInJSDocType:zt,tryScan:_i,lookAhead:Mn,scanRange:Ki};return qp.isDebugging&&Object.defineProperty(Jo,"__debugShowCurrentPositionInText",{get:()=>{let Me=Jo.getText();return Me.slice(0,Jo.getStartPos())+"║"+Me.slice(Jo.getStartPos())}}),Jo;function Ne(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:aa,Hn=arguments.length>2?arguments[2]:void 0;if(ni){let zn=aa;aa=Bn,ni(Me,Hn||0),aa=zn}}function oe(){let Me=aa,Bn=!1,Hn=!1,zn="";for(;;){let ni=Ps.charCodeAt(aa);if(ni===95){Ha|=512,Bn?(Bn=!1,Hn=!0,zn+=Ps.substring(Me,aa)):Ne(Hn?Sv.Multiple_consecutive_numeric_separators_are_not_permitted:Sv.Numeric_separators_are_not_allowed_here,aa,1),aa++,Me=aa;continue}if(O_(ni)){Bn=!0,Hn=!1,aa++;continue}break}return Ps.charCodeAt(aa-1)===95&&Ne(Sv.Numeric_separators_are_not_allowed_here,aa-1,1),zn+Ps.substring(Me,aa)}function Ve(){let Me=aa,Bn=oe(),Hn,zn;Ps.charCodeAt(aa)===46&&(aa++,Hn=oe());let ni=aa;if(Ps.charCodeAt(aa)===69||Ps.charCodeAt(aa)===101){aa++,Ha|=16,(Ps.charCodeAt(aa)===43||Ps.charCodeAt(aa)===45)&&aa++;let Me=aa,Bn=oe();Bn?(zn=Ps.substring(ni,Me)+Bn,ni=aa):Ne(Sv.Digit_expected)}let Ci;if(Ha&512?(Ci=Bn,Hn&&(Ci+="."+Hn),zn&&(Ci+=zn)):Ci=Ps.substring(Me,ni),Hn!==void 0||Ha&16)return pt(Me,Hn===void 0&&!!(Ha&16)),{type:8,value:""+ +Ci};{Ga=Ci;let Bn=dn();return pt(Me),{type:Bn,value:Ga}}}function pt(Bn,Hn){if(!Wn(sC(Ps,aa),Me))return;let zn=aa,{length:ni}=an();ni===1&&Ps[zn]==="n"?Ne(Hn?Sv.A_bigint_literal_cannot_use_exponential_notation:Sv.A_bigint_literal_must_be_an_integer,Bn,zn-Bn+1):(Ne(Sv.An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal,zn,ni),aa=zn)}function Gt(){let Me=aa;for(;hy(Ps.charCodeAt(aa));)aa++;return+Ps.substring(Me,aa)}function Nt(Me,Bn){let Hn=er(Me,!1,Bn);return Hn?parseInt(Hn,16):-1}function Xt(Me,Bn){return er(Me,!0,Bn)}function er(Me,Bn,Hn){let zn=[],ni=!1,Ci=!1;for(;zn.length=65&&Me<=70)Me+=97-65;else if(!(Me>=48&&Me<=57||Me>=97&&Me<=102))break;zn.push(Me),aa++,Ci=!1}return zn.length0&&arguments[0]!==void 0?arguments[0]:!1,Bn=Ps.charCodeAt(aa);aa++;let Hn="",zn=aa;for(;;){if(aa>=oa){Hn+=Ps.substring(zn,aa),Ha|=4,Ne(Sv.Unterminated_string_literal);break}let ni=Ps.charCodeAt(aa);if(ni===Bn){Hn+=Ps.substring(zn,aa),aa++;break}if(ni===92&&!Me){Hn+=Ps.substring(zn,aa),Hn+=Gi(),zn=aa;continue}if(un(ni)&&!Me){Hn+=Ps.substring(zn,aa),Ha|=4,Ne(Sv.Unterminated_string_literal);break}aa++}return Hn}function Hr(Me){let Bn=Ps.charCodeAt(aa)===96;aa++;let Hn=aa,zn="",ni;for(;;){if(aa>=oa){zn+=Ps.substring(Hn,aa),Ha|=4,Ne(Sv.Unterminated_template_literal),ni=Bn?14:17;break}let Ci=Ps.charCodeAt(aa);if(Ci===96){zn+=Ps.substring(Hn,aa),aa++,ni=Bn?14:17;break}if(Ci===36&&aa+1=oa)return Ne(Sv.Unexpected_end_of_text),"";let Hn=Ps.charCodeAt(aa);switch(aa++,Hn){case 48:return Me&&aa=0?String.fromCharCode(Bn):(Ne(Sv.Hexadecimal_digit_expected),"")}function fn(){let Me=Xt(1,!1),Bn=Me?parseInt(Me,16):-1,Hn=!1;return Bn<0?(Ne(Sv.Hexadecimal_digit_expected),Hn=!0):Bn>1114111&&(Ne(Sv.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive),Hn=!0),aa>=oa?(Ne(Sv.Unexpected_end_of_text),Hn=!0):Ps.charCodeAt(aa)===125?aa++:(Ne(Sv.Unterminated_Unicode_escape_sequence),Hn=!0),Hn?"":by(Bn)}function Ut(){if(aa+5=0&&Rs(zn,Me)){aa+=3,Ha|=8,Bn+=fn(),Hn=aa;continue}if(zn=Ut(),!(zn>=0&&Rs(zn,Me)))break;Ha|=1024,Bn+=Ps.substring(Hn,aa),Bn+=by(zn),aa+=6,Hn=aa}else break}return Bn+=Ps.substring(Hn,aa),Bn}function mr(){let Me=Ga.length;if(Me>=2&&Me<=12){let Me=Ga.charCodeAt(0);if(Me>=97&&Me<=122){let Me=kv.get(Ga);if(Me!==void 0)return xa=Me}}return xa=79}function $i(Me){let Bn="",Hn=!1,zn=!1;for(;;){let ni=Ps.charCodeAt(aa);if(ni===95){Ha|=512,Hn?(Hn=!1,zn=!0):Ne(zn?Sv.Multiple_consecutive_numeric_separators_are_not_permitted:Sv.Numeric_separators_are_not_allowed_here,aa,1),aa++;continue}if(Hn=!0,!O_(ni)||ni-48>=Me)break;Bn+=Ps[aa],aa++,zn=!1}return Ps.charCodeAt(aa-1)===95&&Ne(Sv.Numeric_separators_are_not_allowed_here,aa-1,1),Bn}function dn(){return Ps.charCodeAt(aa)===110?(Ga+="n",Ha&384&&(Ga=Hf(Ga)+"n"),aa++,9):(Ga=""+(Ha&128?parseInt(Ga.slice(2),2):Ha&256?parseInt(Ga.slice(2),8):+Ga),8)}function Ur(){ca=aa,Ha=0;let zn=!1;for(;;){if(_a=aa,aa>=oa)return xa=1;let ni=sC(Ps,aa);if(ni===35&&aa===0&&gy(Ps,aa)){if(aa=yy(Ps,aa),Bn)continue;return xa=6}switch(ni){case 10:case 13:if(Ha|=1,Bn){aa++;continue}else return ni===13&&aa+1=0&&Wn(Ci,Me))return aa+=3,Ha|=8,Ga=fn()+an(),xa=mr();let ts=Ut();return ts>=0&&Wn(ts,Me)?(aa+=6,Ha|=1024,Ga=String.fromCharCode(ts)+an(),xa=mr()):(Ne(Sv.Invalid_character),aa++,xa=0);case 35:if(aa!==0&&Ps[aa+1]==="!")return Ne(Sv.can_only_be_used_at_the_start_of_a_file),aa++,xa=0;let ca=sC(Ps,aa+1);if(ca===92){aa++;let Bn=kn();if(Bn>=0&&Wn(Bn,Me))return aa+=3,Ha|=8,Ga="#"+fn()+an(),xa=80;let Hn=Ut();if(Hn>=0&&Wn(Hn,Me))return aa+=6,Ha|=1024,Ga="#"+String.fromCharCode(Hn)+an(),xa=80;aa--}return Wn(ca,Me)?(aa++,_r(ca,Me)):(Ga="#",Ne(Sv.Invalid_character,aa++,yi(ni))),xa=80;default:let Jo=_r(ni,Me);if(Jo)return xa=Jo;if(N_(ni)){aa+=yi(ni);continue}else if(un(ni)){Ha|=1,aa+=yi(ni);continue}let tc=yi(ni);return Ne(Sv.Invalid_character,aa,tc),aa+=tc,xa=0}}}function Gr(){qp.assert(xa===0,"'reScanInvalidIdentifier' should only be called when the current token is 'SyntaxKind.Unknown'."),aa=_a=ca,Ha=0;let Me=sC(Ps,aa),Bn=_r(Me,99);return Bn?xa=Bn:(aa+=yi(Me),xa)}function _r(Me,Bn){let Hn=Me;if(Wn(Hn,Bn)){for(aa+=yi(Hn);aa0&&arguments[0]!==void 0?arguments[0]:!0;return aa=_a=ca,xa=On(Me)}function cr(){return xa===47?(aa=_a+1,xa=29):xa}function $r(){return xa===80?(aa=_a+1,xa=62):xa}function hr(){return qp.assert(xa===60,"'reScanQuestionToken' should only be called on a '??'"),aa=_a+1,xa=57}function On(){let Me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;if(ca=_a=aa,aa>=oa)return xa=1;let Bn=Ps.charCodeAt(aa);if(Bn===60)return Ps.charCodeAt(aa+1)===47?(aa+=2,xa=30):(aa++,xa=29);if(Bn===123)return aa++,xa=18;let Hn=0;for(;aa0)break;os(Bn)||(Hn=aa)}aa++}return Ga=Ps.substring(ca,aa),Hn===-1?12:11}function nr(){if(fr(xa)){let Me=!1;for(;aa=oa)return xa=1;let Bn=sC(Ps,aa);switch(aa+=yi(Bn),Bn){case 9:case 11:case 12:case 32:for(;aa=0&&Wn(Bn,Me))return aa+=3,Ha|=8,Ga=fn()+an(),xa=mr();let Hn=Ut();return Hn>=0&&Wn(Hn,Me)?(aa+=6,Ha|=1024,Ga=String.fromCharCode(Hn)+an(),xa=mr()):(aa++,xa=0)}if(Wn(Bn,Me)){let Hn=Bn;for(;aa=0),aa=Me,ca=Me,_a=Me,xa=0,Ga=void 0,Ha=0}function zt(Me){oo+=Me?1:-1}}function yi(Me){return Me>=65536?2:1}function mA(Me){if(qp.assert(0<=Me&&Me<=1114111),Me<=65535)return String.fromCharCode(Me);let Bn=Math.floor((Me-65536)/1024)+55296,Hn=(Me-65536)%1024+56320;return String.fromCharCode(Bn,Hn)}function by(Me){return aC(Me)}var xv,kv,Bv,Tv,Fv,Nv,Ov,Mv,OE,eC,tC,rC,nC,iC,sC,aC,oC=D({"src/compiler/scanner.ts"(){"use strict";Gw(),xv={abstract:126,accessor:127,any:131,as:128,asserts:129,assert:130,bigint:160,boolean:134,break:81,case:82,catch:83,class:84,continue:86,const:85,constructor:135,debugger:87,declare:136,default:88,delete:89,do:90,else:91,enum:92,export:93,extends:94,false:95,finally:96,for:97,from:158,function:98,get:137,if:99,implements:117,import:100,in:101,infer:138,instanceof:102,interface:118,intrinsic:139,is:140,keyof:141,let:119,module:142,namespace:143,never:144,new:103,null:104,number:148,object:149,package:120,private:121,protected:122,public:123,override:161,out:145,readonly:146,require:147,global:159,return:105,satisfies:150,set:151,static:124,string:152,super:106,switch:107,symbol:153,this:108,throw:109,true:110,try:111,type:154,typeof:112,undefined:155,unique:156,unknown:157,var:113,void:114,while:115,with:116,yield:125,async:132,await:133,of:162},kv=new Map(Object.entries(xv)),Bv=new Map(Object.entries(Object.assign(Object.assign({},xv),{},{"{":18,"}":19,"(":20,")":21,"[":22,"]":23,".":24,"...":25,";":26,",":27,"<":29,">":31,"<=":32,">=":33,"==":34,"!=":35,"===":36,"!==":37,"=>":38,"+":39,"-":40,"**":42,"*":41,"/":43,"%":44,"++":45,"--":46,"<<":47,">":48,">>>":49,"&":50,"|":51,"^":52,"!":53,"~":54,"&&":55,"||":56,"?":57,"??":60,"?.":28,":":58,"=":63,"+=":64,"-=":65,"*=":66,"**=":67,"/=":68,"%=":69,"<<=":70,">>=":71,">>>=":72,"&=":73,"|=":74,"^=":78,"||=":75,"&&=":76,"??=":77,"@":59,"#":62,"`":61}))),Tv=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1569,1594,1600,1610,1649,1747,1749,1749,1765,1766,1786,1788,1808,1808,1810,1836,1920,1957,2309,2361,2365,2365,2384,2384,2392,2401,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2784,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2877,2877,2908,2909,2911,2913,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3294,3294,3296,3297,3333,3340,3342,3344,3346,3368,3370,3385,3424,3425,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3946,3976,3979,4096,4129,4131,4135,4137,4138,4176,4181,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6067,6176,6263,6272,6312,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8319,8319,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12329,12337,12341,12344,12346,12353,12436,12445,12446,12449,12538,12540,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65138,65140,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],Fv=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,768,846,864,866,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1155,1158,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1425,1441,1443,1465,1467,1469,1471,1471,1473,1474,1476,1476,1488,1514,1520,1522,1569,1594,1600,1621,1632,1641,1648,1747,1749,1756,1759,1768,1770,1773,1776,1788,1808,1836,1840,1866,1920,1968,2305,2307,2309,2361,2364,2381,2384,2388,2392,2403,2406,2415,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2524,2525,2527,2531,2534,2545,2562,2562,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2649,2652,2654,2654,2662,2676,2689,2691,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2784,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2876,2883,2887,2888,2891,2893,2902,2903,2908,2909,2911,2913,2918,2927,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3006,3010,3014,3016,3018,3021,3031,3031,3047,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3134,3140,3142,3144,3146,3149,3157,3158,3168,3169,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3262,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3297,3302,3311,3330,3331,3333,3340,3342,3344,3346,3368,3370,3385,3390,3395,3398,3400,3402,3405,3415,3415,3424,3425,3430,3439,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3805,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3946,3953,3972,3974,3979,3984,3991,3993,4028,4038,4038,4096,4129,4131,4135,4137,4138,4140,4146,4150,4153,4160,4169,4176,4185,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,4969,4977,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6099,6112,6121,6160,6169,6176,6263,6272,6313,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8319,8319,8400,8412,8417,8417,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12335,12337,12341,12344,12346,12353,12436,12441,12442,12445,12446,12449,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65056,65059,65075,65076,65101,65103,65136,65138,65140,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65381,65470,65474,65479,65482,65487,65490,65495,65498,65500],Nv=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2208,2208,2210,2220,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7413,7414,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],Ov=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1319,1329,1366,1369,1369,1377,1415,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1520,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2048,2093,2112,2139,2208,2208,2210,2220,2276,2302,2304,2403,2406,2415,2417,2423,2425,2431,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3161,3168,3171,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3330,3331,3333,3340,3342,3344,3346,3386,3389,3396,3398,3400,3402,3406,3415,3415,3424,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6263,6272,6314,6320,6389,6400,6428,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7376,7378,7380,7414,7424,7654,7676,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8204,8205,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,11823,11823,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12442,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42647,42655,42737,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43047,43072,43123,43136,43204,43216,43225,43232,43255,43259,43259,43264,43309,43312,43347,43360,43388,43392,43456,43471,43481,43520,43574,43584,43597,43600,43609,43616,43638,43642,43643,43648,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65062,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],Mv=[65,90,97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2208,2228,2230,2237,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6264,6272,6312,6314,6314,6320,6389,6400,6430,6480,6509,6512,6516,6528,6571,6576,6601,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12443,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42653,42656,42735,42775,42783,42786,42888,42891,42943,42946,42950,42999,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43261,43262,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43488,43492,43494,43503,43514,43518,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66176,66204,66208,66256,66304,66335,66349,66378,66384,66421,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,69376,69404,69415,69415,69424,69445,69600,69622,69635,69687,69763,69807,69840,69864,69891,69926,69956,69956,69968,70002,70006,70006,70019,70066,70081,70084,70106,70106,70108,70108,70144,70161,70163,70187,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70751,70751,70784,70831,70852,70853,70855,70855,71040,71086,71128,71131,71168,71215,71236,71236,71296,71338,71352,71352,71424,71450,71680,71723,71840,71903,71935,71935,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72384,72440,72704,72712,72714,72750,72768,72768,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73056,73061,73063,73064,73066,73097,73112,73112,73440,73458,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92880,92909,92928,92975,92992,92995,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,123136,123180,123191,123197,123214,123214,123584,123627,124928,125124,125184,125251,125259,125259,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101],OE=[48,57,65,90,95,95,97,122,170,170,181,181,183,183,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,895,895,902,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1327,1329,1366,1369,1369,1376,1416,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1519,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2045,2045,2048,2093,2112,2139,2144,2154,2208,2228,2230,2237,2259,2273,2275,2403,2406,2415,2417,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2556,2556,2558,2558,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2809,2815,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3072,3084,3086,3088,3090,3112,3114,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3162,3168,3171,3174,3183,3200,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3328,3331,3333,3340,3342,3344,3346,3396,3398,3400,3402,3406,3412,3415,3423,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3558,3567,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4969,4977,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6264,6272,6314,6320,6389,6400,6430,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6618,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6832,6845,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7296,7304,7312,7354,7357,7359,7376,7378,7380,7418,7424,7673,7675,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42737,42775,42783,42786,42888,42891,42943,42946,42950,42999,43047,43072,43123,43136,43205,43216,43225,43232,43255,43259,43259,43261,43309,43312,43347,43360,43388,43392,43456,43471,43481,43488,43518,43520,43574,43584,43597,43600,43609,43616,43638,43642,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65071,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66045,66045,66176,66204,66208,66256,66272,66272,66304,66335,66349,66378,66384,66426,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66720,66729,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68099,68101,68102,68108,68115,68117,68119,68121,68149,68152,68154,68159,68159,68192,68220,68224,68252,68288,68295,68297,68326,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68903,68912,68921,69376,69404,69415,69415,69424,69456,69600,69622,69632,69702,69734,69743,69759,69818,69840,69864,69872,69881,69888,69940,69942,69951,69956,69958,69968,70003,70006,70006,70016,70084,70089,70092,70096,70106,70108,70108,70144,70161,70163,70199,70206,70206,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70378,70384,70393,70400,70403,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70459,70468,70471,70472,70475,70477,70480,70480,70487,70487,70493,70499,70502,70508,70512,70516,70656,70730,70736,70745,70750,70751,70784,70853,70855,70855,70864,70873,71040,71093,71096,71104,71128,71133,71168,71232,71236,71236,71248,71257,71296,71352,71360,71369,71424,71450,71453,71467,71472,71481,71680,71738,71840,71913,71935,71935,72096,72103,72106,72151,72154,72161,72163,72164,72192,72254,72263,72263,72272,72345,72349,72349,72384,72440,72704,72712,72714,72758,72760,72768,72784,72793,72818,72847,72850,72871,72873,72886,72960,72966,72968,72969,72971,73014,73018,73018,73020,73021,73023,73031,73040,73049,73056,73061,73063,73064,73066,73102,73104,73105,73107,73112,73120,73129,73440,73462,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92768,92777,92880,92909,92912,92916,92928,92982,92992,92995,93008,93017,93027,93047,93053,93071,93760,93823,93952,94026,94031,94087,94095,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,113821,113822,119141,119145,119149,119154,119163,119170,119173,119179,119210,119213,119362,119364,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,120782,120831,121344,121398,121403,121452,121461,121461,121476,121476,121499,121503,121505,121519,122880,122886,122888,122904,122907,122913,122915,122916,122918,122922,123136,123180,123184,123197,123200,123209,123214,123214,123584,123641,124928,125124,125136,125142,125184,125259,125264,125273,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101,917760,917999],eC=/^\/\/\/?\s*@(ts-expect-error|ts-ignore)/,tC=/^(?:\/|\*)*\s*@(ts-expect-error|ts-ignore)/,rC=cA(Bv),nC=7,iC=/^#!.*/,sC=String.prototype.codePointAt?(Me,Bn)=>Me.codePointAt(Bn):function(Me,Bn){let Hn=Me.length;if(Bn<0||Bn>=Hn)return;let zn=Me.charCodeAt(Bn);if(zn>=55296&&zn<=56319&&Hn>Bn+1){let Hn=Me.charCodeAt(Bn+1);if(Hn>=56320&&Hn<=57343)return(zn-55296)*1024+Hn-56320+65536}return zn},aC=String.fromCodePoint?Me=>String.fromCodePoint(Me):mA}});function gA(Me){return So(Me)||A_(Me)}function yA(Me){return uo(Me,av)}function aS(Me){switch(Uf(Me)){case 99:return"lib.esnext.full.d.ts";case 9:return"lib.es2022.full.d.ts";case 8:return"lib.es2021.full.d.ts";case 7:return"lib.es2020.full.d.ts";case 6:return"lib.es2019.full.d.ts";case 5:return"lib.es2018.full.d.ts";case 4:return"lib.es2017.full.d.ts";case 3:return"lib.es2016.full.d.ts";case 2:return"lib.es6.d.ts";default:return"lib.d.ts"}}function Ir(Me){return Me.start+Me.length}function sS(Me){return Me.length===0}function vA(Me,Bn){return Bn>=Me.start&&Bn=Me.pos&&Bn<=Me.end}function TA(Me,Bn){return Bn.start>=Me.start&&Ir(Bn)<=Ir(Me)}function SA(Me,Bn){return oS(Me,Bn)!==void 0}function oS(Me,Bn){let Hn=_S(Me,Bn);return Hn&&Hn.length===0?void 0:Hn}function xA(Me,Bn){return Sy(Me.start,Me.length,Bn.start,Bn.length)}function EA(Me,Bn,Hn){return Sy(Me.start,Me.length,Bn,Hn)}function Sy(Me,Bn,Hn,zn){let ni=Me+Bn,Ci=Hn+zn;return Hn<=ni&&Ci>=Me}function wA(Me,Bn){return Bn<=Ir(Me)&&Bn>=Me.start}function _S(Me,Bn){let Hn=Math.max(Me.start,Bn.start),zn=Math.min(Ir(Me),Ir(Bn));return Hn<=zn?ha(Hn,zn):void 0}function L_(Me,Bn){if(Me<0)throw new Error("start < 0");if(Bn<0)throw new Error("length < 0");return{start:Me,length:Bn}}function ha(Me,Bn){return L_(Me,Bn-Me)}function R_(Me){return L_(Me.span.start,Me.newLength)}function cS(Me){return sS(Me.span)&&Me.newLength===0}function Zp(Me,Bn){if(Bn<0)throw new Error("newLength < 0");return{span:Me,newLength:Bn}}function CA(Me){if(Me.length===0)return uC;if(Me.length===1)return Me[0];let Bn=Me[0],Hn=Bn.span.start,zn=Ir(Bn.span),ni=Hn+Bn.newLength;for(let Bn=1;BnMe.flags))}function DA(Me,Bn,Hn){let zn=Me.toLowerCase(),ni=/^([a-z]+)([_\-]([a-z]+))?$/.exec(zn);if(!ni){Hn&&Hn.push(Ol(Sv.Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1,"en","ja-jp"));return}let Ci=ni[1],ts=ni[3];pe(cC,zn)&&!A(Ci,ts,Hn)&&A(Ci,void 0,Hn),xp(Me);function A(Me,Hn,zn){let ni=Un(Bn.getExecutingFilePath()),Ci=ma(ni),ts=tn(Ci,Me);if(Hn&&(ts=ts+"-"+Hn),ts=Bn.resolvePath(tn(ts,"diagnosticMessages.generated.json")),!Bn.fileExists(ts))return!1;let Ps="";try{Ps=Bn.readFile(ts)}catch{return zn&&zn.push(Ol(Sv.Unable_to_open_file_0,ts)),!1}try{yx(JSON.parse(Ps))}catch{return zn&&zn.push(Ol(Sv.Corrupted_locale_file_0,ts)),!1}return!0}}function ul(Me,Bn){if(Me)for(;Me.original!==void 0;)Me=Me.original;return!Me||!Bn||Bn(Me)?Me:void 0}function zi(Me,Bn){for(;Me;){let Hn=Bn(Me);if(Hn==="quit")return;if(Hn)return Me;Me=Me.parent}}function pl(Me){return(Me.flags&8)===0}function fl(Me,Bn){if(Me===void 0||pl(Me))return Me;for(Me=Me.original;Me;){if(pl(Me))return!Bn||Bn(Me)?Me:void 0;Me=Me.original}}function vi(Me){return Me.length>=2&&Me.charCodeAt(0)===95&&Me.charCodeAt(1)===95?"_"+Me:Me}function dl(Me){let Bn=Me;return Bn.length>=3&&Bn.charCodeAt(0)===95&&Bn.charCodeAt(1)===95&&Bn.charCodeAt(2)===95?Bn.substr(1):Bn}function qr(Me){return dl(Me.escapedText)}function dS(Me){let Bn=_l(Me.escapedText);return Bn?ln(Bn,ba):void 0}function rf(Me){return Me.valueDeclaration&&zS(Me.valueDeclaration)?qr(Me.valueDeclaration.name):dl(Me.escapedName)}function mS(Me){let Bn=Me.parent.parent;if(Bn){if(ko(Bn))return nf(Bn);switch(Bn.kind){case 240:if(Bn.declarationList&&Bn.declarationList.declarations[0])return nf(Bn.declarationList.declarations[0]);break;case 241:let Me=Bn.expression;switch(Me.kind===223&&Me.operatorToken.kind===63&&(Me=Me.left),Me.kind){case 208:return Me.name;case 209:let Bn=Me.argumentExpression;if(yt(Bn))return Bn}break;case 214:return nf(Bn.expression);case 253:{if(ko(Bn.statement)||mf(Bn.statement))return nf(Bn.statement);break}}}}function nf(Me){let Bn=ml(Me);return Bn&&yt(Bn)?Bn:void 0}function hS(Me,Bn){return!!(af(Me)&&yt(Me.name)&&qr(Me.name)===qr(Bn)||zo(Me)&&Ke(Me.declarationList.declarations,(Me=>hS(Me,Bn))))}function gS(Me){return Me.name||mS(Me)}function af(Me){return!!Me.name}function Ey(Me){switch(Me.kind){case 79:return Me;case 351:case 344:{let{name:Bn}=Me;if(Bn.kind===163)return Bn.right;break}case 210:case 223:{let Bn=Me;switch(ps(Bn)){case 1:case 4:case 5:case 3:return Cf(Bn.left);case 7:case 8:case 9:return Bn.arguments[1];default:return}}case 349:return gS(Me);case 343:return mS(Me);case 274:{let{expression:Bn}=Me;return yt(Bn)?Bn:void 0}case 209:let Bn=Me;if(x0(Bn))return Bn.argumentExpression}return Me.name}function ml(Me){if(Me!==void 0)return Ey(Me)||(ad(Me)||sd(Me)||_d(Me)?yS(Me):void 0)}function yS(Me){if(Me.parent){if(lc(Me.parent)||Xl(Me.parent))return Me.parent.name;if(ur(Me.parent)&&Me===Me.parent.right){if(yt(Me.parent.left))return Me.parent.left;if(Lo(Me.parent.left))return Cf(Me.parent.left)}else if(Vi(Me.parent)&&yt(Me.parent.name))return Me.parent.name}else return}function kA(Me){if(Il(Me))return ee(Me.modifiers,zl)}function sf(Me){if(rn(Me,126975))return ee(Me.modifiers,Oy)}function vS(Me,Bn){if(Me.name)if(yt(Me.name)){let Hn=Me.name.escapedText;return j_(Me.parent,Bn).filter((Me=>pc(Me)&&yt(Me.name)&&Me.name.escapedText===Hn))}else{let Hn=Me.parent.parameters.indexOf(Me);qp.assert(Hn>-1,"Parameters should always be in their parents' parameter list");let zn=j_(Me.parent,Bn).filter(pc);if(HnGo(Me)&&Me.typeParameters.some((Me=>Me.name.escapedText===Hn))))}function SS(Me){return TS(Me,!1)}function xS(Me){return TS(Me,!0)}function IA(Me){return!!Nr(Me,pc)}function ES(Me){return Nr(Me,md)}function wS(Me){return MS(Me,hE)}function NA(Me){return Nr(Me,pE)}function OA(Me){return Nr(Me,d2)}function CS(Me){return Nr(Me,d2,!0)}function MA(Me){return Nr(Me,m2)}function AS(Me){return Nr(Me,m2,!0)}function LA(Me){return Nr(Me,h2)}function PS(Me){return Nr(Me,h2,!0)}function RA(Me){return Nr(Me,g2)}function DS(Me){return Nr(Me,g2,!0)}function kS(Me){return Nr(Me,fE,!0)}function jA(Me){return Nr(Me,v2)}function IS(Me){return Nr(Me,v2,!0)}function JA(Me){return Nr(Me,dE)}function FA(Me){return Nr(Me,mE)}function NS(Me){return Nr(Me,b2)}function BA(Me){return Nr(Me,Go)}function wy(Me){return Nr(Me,T2)}function _f(Me){let Bn=Nr(Me,au);if(Bn&&Bn.typeExpression&&Bn.typeExpression.type)return Bn}function cf(Me){let Bn=Nr(Me,au);return!Bn&&Vs(Me)&&(Bn=Ae(of(Me),(Me=>!!Me.typeExpression))),Bn&&Bn.typeExpression&&Bn.typeExpression.type}function OS(Me){let Bn=NS(Me);if(Bn&&Bn.typeExpression)return Bn.typeExpression.type;let Hn=_f(Me);if(Hn&&Hn.typeExpression){let Me=Hn.typeExpression.type;if(id(Me)){let Bn=Ae(Me.members,Vv);return Bn&&Bn.type}if($l(Me)||dd(Me))return Me.type}}function j_(Me,Bn){var Hn,zn;if(!Af(Me))return ca;let ni=(Hn=Me.jsDoc)==null?void 0:Hn.jsDocCache;if(ni===void 0||Bn){let Hn=r4(Me,Bn);qp.assert(Hn.length<2||Hn[0]!==Hn[1]),ni=ne(Hn,(Me=>Ho(Me)?Me.tags:Me)),Bn||((zn=Me.jsDoc)!=null||(Me.jsDoc=[]),Me.jsDoc.jsDocCache=ni)}return ni}function hl(Me){return j_(Me,!1)}function qA(Me){return j_(Me,!0)}function Nr(Me,Bn,Hn){return Ae(j_(Me,Hn),Bn)}function MS(Me,Bn){return hl(Me).filter(Bn)}function UA(Me,Bn){return hl(Me).filter((Me=>Me.kind===Bn))}function zA(Me){return typeof Me=="string"?Me:Me==null?void 0:Me.map((Me=>Me.kind===324?Me.text:WA(Me))).join("")}function WA(Me){let Bn=Me.kind===327?"link":Me.kind===328?"linkcode":"linkplain",Hn=Me.name?ls(Me.name):"",zn=Me.name&&Me.text.startsWith("://")?"":" ";return`{@${Bn} ${Hn}${zn}${Me.text}}`}function VA(Me){if(iu(Me)){if(y2(Me.parent)){let Bn=P0(Me.parent);if(Bn&&I(Bn.tags))return ne(Bn.tags,(Me=>Go(Me)?Me.typeParameters:void 0))}return ca}if(Cl(Me))return qp.assert(Me.parent.kind===323),ne(Me.parent.tags,(Me=>Go(Me)?Me.typeParameters:void 0));if(Me.typeParameters||IE(Me)&&Me.typeParameters)return Me.typeParameters;if(Pr(Me)){let Bn=F4(Me);if(Bn.length)return Bn;let Hn=cf(Me);if(Hn&&$l(Hn)&&Hn.typeParameters)return Hn.typeParameters}return ca}function HA(Me){return Me.constraint?Me.constraint:Go(Me.parent)&&Me===Me.parent.typeParameters[0]?Me.parent.constraint:void 0}function js(Me){return Me.kind===79||Me.kind===80}function GA(Me){return Me.kind===175||Me.kind===174}function LS(Me){return bn(Me)&&!!(Me.flags&32)}function RS(Me){return gs(Me)&&!!(Me.flags&32)}function Cy(Me){return sc(Me)&&!!(Me.flags&32)}function Ay(Me){let Bn=Me.kind;return!!(Me.flags&32)&&(Bn===208||Bn===209||Bn===210||Bn===232)}function Py(Me){return Ay(Me)&&!Uo(Me)&&!!Me.questionDotToken}function $A(Me){return Py(Me.parent)&&Me.parent.expression===Me}function KA(Me){return!Ay(Me.parent)||Py(Me.parent)||Me!==Me.parent.expression}function XA(Me){return Me.kind===223&&Me.operatorToken.kind===60}function jS(Me){return ac(Me)&&yt(Me.typeName)&&Me.typeName.escapedText==="const"&&!Me.typeArguments}function lf(Me){return $o(Me,8)}function JS(Me){return Uo(Me)&&!!(Me.flags&32)}function YA(Me){return Me.kind===249||Me.kind===248}function QA(Me){return Me.kind===277||Me.kind===276}function FS(Me){switch(Me.kind){case 305:case 306:return!0;default:return!1}}function ZA(Me){return FS(Me)||Me.kind===303||Me.kind===307}function Dy(Me){return Me.kind===351||Me.kind===344}function eP(Me){return gl(Me.kind)}function gl(Me){return Me>=163}function BS(Me){return Me>=0&&Me<=162}function tP(Me){return BS(Me.kind)}function _s(Me){return Jr(Me,"pos")&&Jr(Me,"end")}function ky(Me){return 8<=Me&&Me<=14}function Iy(Me){return ky(Me.kind)}function rP(Me){switch(Me.kind){case 207:case 206:case 13:case 215:case 228:return!0}return!1}function yl(Me){return 14<=Me&&Me<=17}function nP(Me){return yl(Me.kind)}function iP(Me){let Bn=Me.kind;return Bn===16||Bn===17}function aP(Me){return nE(Me)||aE(Me)}function qS(Me){switch(Me.kind){case 273:return Me.isTypeOnly||Me.parent.parent.isTypeOnly;case 271:return Me.parent.isTypeOnly;case 270:case 268:return Me.isTypeOnly}return!1}function US(Me){switch(Me.kind){case 278:return Me.isTypeOnly||Me.parent.parent.isTypeOnly;case 275:return Me.isTypeOnly&&!!Me.moduleSpecifier&&!Me.exportClause;case 277:return Me.parent.isTypeOnly}return!1}function sP(Me){return qS(Me)||US(Me)}function oP(Me){return Gn(Me)||yt(Me)}function _P(Me){return Me.kind===10||yl(Me.kind)}function cs(Me){var Bn;return yt(Me)&&((Bn=Me.emitNode)==null?void 0:Bn.autoGenerate)!==void 0}function Ny(Me){var Bn;return vn(Me)&&((Bn=Me.emitNode)==null?void 0:Bn.autoGenerate)!==void 0}function zS(Me){return(Bo(Me)||Ly(Me))&&vn(Me.name)}function cP(Me){return bn(Me)&&vn(Me.name)}function Wi(Me){switch(Me){case 126:case 127:case 132:case 85:case 136:case 88:case 93:case 101:case 123:case 121:case 122:case 146:case 124:case 145:case 161:return!0}return!1}function WS(Me){return!!(Q0(Me)&16476)}function VS(Me){return WS(Me)||Me===124||Me===161||Me===127}function Oy(Me){return Wi(Me.kind)}function lP(Me){let Bn=Me.kind;return Bn===163||Bn===79}function vl(Me){let Bn=Me.kind;return Bn===79||Bn===80||Bn===10||Bn===8||Bn===164}function uP(Me){let Bn=Me.kind;return Bn===79||Bn===203||Bn===204}function ga(Me){return!!Me&&My(Me.kind)}function uf(Me){return!!Me&&(My(Me.kind)||Hl(Me))}function HS(Me){return Me&&GS(Me.kind)}function pP(Me){return Me.kind===110||Me.kind===95}function GS(Me){switch(Me){case 259:case 171:case 173:case 174:case 175:case 215:case 216:return!0;default:return!1}}function My(Me){switch(Me){case 170:case 176:case 326:case 177:case 178:case 181:case 320:case 182:return!0;default:return GS(Me)}}function fP(Me){return wi(Me)||rE(Me)||Ql(Me)&&ga(Me.parent)}function Js(Me){let Bn=Me.kind;return Bn===173||Bn===169||Bn===171||Bn===174||Bn===175||Bn===178||Bn===172||Bn===237}function bi(Me){return Me&&(Me.kind===260||Me.kind===228)}function pf(Me){return Me&&(Me.kind===174||Me.kind===175)}function $S(Me){return Bo(Me)&&H4(Me)}function Ly(Me){switch(Me.kind){case 171:case 174:case 175:return!0;default:return!1}}function dP(Me){switch(Me.kind){case 171:case 174:case 175:case 169:return!0;default:return!1}}function ff(Me){return Oy(Me)||zl(Me)}function Ry(Me){let Bn=Me.kind;return Bn===177||Bn===176||Bn===168||Bn===170||Bn===178||Bn===174||Bn===175}function mP(Me){return Ry(Me)||Js(Me)}function jy(Me){let Bn=Me.kind;return Bn===299||Bn===300||Bn===301||Bn===171||Bn===174||Bn===175}function Jy(Me){return hx(Me.kind)}function hP(Me){switch(Me.kind){case 181:case 182:return!0}return!1}function df(Me){if(Me){let Bn=Me.kind;return Bn===204||Bn===203}return!1}function KS(Me){let Bn=Me.kind;return Bn===206||Bn===207}function gP(Me){let Bn=Me.kind;return Bn===205||Bn===229}function Fy(Me){switch(Me.kind){case 257:case 166:case 205:return!0}return!1}function yP(Me){return Vi(Me)||Vs(Me)||YS(Me)||ZS(Me)}function vP(Me){return XS(Me)||QS(Me)}function XS(Me){switch(Me.kind){case 203:case 207:return!0}return!1}function YS(Me){switch(Me.kind){case 205:case 299:case 300:case 301:return!0}return!1}function QS(Me){switch(Me.kind){case 204:case 206:return!0}return!1}function ZS(Me){switch(Me.kind){case 205:case 229:case 227:case 206:case 207:case 79:case 208:case 209:return!0}return ms(Me,!0)}function bP(Me){let Bn=Me.kind;return Bn===208||Bn===163||Bn===202}function TP(Me){let Bn=Me.kind;return Bn===208||Bn===163}function SP(Me){switch(Me.kind){case 283:case 282:case 210:case 211:case 212:case 167:return!0;default:return!1}}function xP(Me){return Me.kind===210||Me.kind===211}function EP(Me){let Bn=Me.kind;return Bn===225||Bn===14}function Do(Me){return e3(lf(Me).kind)}function e3(Me){switch(Me){case 208:case 209:case 211:case 210:case 281:case 282:case 285:case 212:case 206:case 214:case 207:case 228:case 215:case 79:case 80:case 13:case 8:case 9:case 10:case 14:case 225:case 95:case 104:case 108:case 110:case 106:case 232:case 230:case 233:case 100:case 279:return!0;default:return!1}}function t3(Me){return r3(lf(Me).kind)}function r3(Me){switch(Me){case 221:case 222:case 217:case 218:case 219:case 220:case 213:return!0;default:return e3(Me)}}function wP(Me){switch(Me.kind){case 222:return!0;case 221:return Me.operator===45||Me.operator===46;default:return!1}}function CP(Me){switch(Me.kind){case 104:case 110:case 95:case 221:return!0;default:return Iy(Me)}}function mf(Me){return AP(lf(Me).kind)}function AP(Me){switch(Me){case 224:case 226:case 216:case 223:case 227:case 231:case 229:case 357:case 356:case 235:return!0;default:return r3(Me)}}function PP(Me){let Bn=Me.kind;return Bn===213||Bn===231}function DP(Me){return c2(Me)||Z8(Me)}function n3(Me,Bn){switch(Me.kind){case 245:case 246:case 247:case 243:case 244:return!0;case 253:return Bn&&n3(Me.statement,Bn)}return!1}function i3(Me){return Vo(Me)||cc(Me)}function kP(Me){return Ke(Me,i3)}function IP(Me){return!bf(Me)&&!Vo(Me)&&!rn(Me,1)&&!yf(Me)}function NP(Me){return bf(Me)||Vo(Me)||rn(Me,1)}function OP(Me){return Me.kind===246||Me.kind===247}function MP(Me){return Ql(Me)||mf(Me)}function LP(Me){return Ql(Me)}function RP(Me){return r2(Me)||mf(Me)}function jP(Me){let Bn=Me.kind;return Bn===265||Bn===264||Bn===79}function JP(Me){let Bn=Me.kind;return Bn===265||Bn===264}function FP(Me){let Bn=Me.kind;return Bn===79||Bn===264}function BP(Me){let Bn=Me.kind;return Bn===272||Bn===271}function qP(Me){return Me.kind===264||Me.kind===263}function UP(Me){switch(Me.kind){case 216:case 223:case 205:case 210:case 176:case 260:case 228:case 172:case 173:case 182:case 177:case 209:case 263:case 302:case 274:case 275:case 278:case 259:case 215:case 181:case 174:case 79:case 270:case 268:case 273:case 178:case 261:case 341:case 343:case 320:case 344:case 351:case 326:case 349:case 325:case 288:case 289:case 290:case 197:case 171:case 170:case 264:case 199:case 277:case 267:case 271:case 211:case 14:case 8:case 207:case 166:case 208:case 299:case 169:case 168:case 175:case 300:case 308:case 301:case 10:case 262:case 184:case 165:case 257:return!0;default:return!1}}function zP(Me){switch(Me.kind){case 216:case 238:case 176:case 266:case 295:case 172:case 191:case 173:case 182:case 177:case 245:case 246:case 247:case 259:case 215:case 181:case 174:case 178:case 341:case 343:case 320:case 326:case 349:case 197:case 171:case 170:case 264:case 175:case 308:case 262:return!0;default:return!1}}function WP(Me){return Me===216||Me===205||Me===260||Me===228||Me===172||Me===173||Me===263||Me===302||Me===278||Me===259||Me===215||Me===174||Me===270||Me===268||Me===273||Me===261||Me===288||Me===171||Me===170||Me===264||Me===267||Me===271||Me===277||Me===166||Me===299||Me===169||Me===168||Me===175||Me===300||Me===262||Me===165||Me===257||Me===349||Me===341||Me===351}function By(Me){return Me===259||Me===279||Me===260||Me===261||Me===262||Me===263||Me===264||Me===269||Me===268||Me===275||Me===274||Me===267}function qy(Me){return Me===249||Me===248||Me===256||Me===243||Me===241||Me===239||Me===246||Me===247||Me===245||Me===242||Me===253||Me===250||Me===252||Me===254||Me===255||Me===240||Me===244||Me===251||Me===355||Me===359||Me===358}function ko(Me){return Me.kind===165?Me.parent&&Me.parent.kind!==348||Pr(Me):WP(Me.kind)}function VP(Me){return By(Me.kind)}function HP(Me){return qy(Me.kind)}function a3(Me){let Bn=Me.kind;return qy(Bn)||By(Bn)||GP(Me)}function GP(Me){return Me.kind!==238||Me.parent!==void 0&&(Me.parent.kind===255||Me.parent.kind===295)?!1:!O3(Me)}function s3(Me){let Bn=Me.kind;return qy(Bn)||By(Bn)||Bn===238}function $P(Me){let Bn=Me.kind;return Bn===280||Bn===163||Bn===79}function KP(Me){let Bn=Me.kind;return Bn===108||Bn===79||Bn===208}function o3(Me){let Bn=Me.kind;return Bn===281||Bn===291||Bn===282||Bn===11||Bn===285}function XP(Me){let Bn=Me.kind;return Bn===288||Bn===290}function YP(Me){let Bn=Me.kind;return Bn===10||Bn===291}function _3(Me){let Bn=Me.kind;return Bn===283||Bn===282}function QP(Me){let Bn=Me.kind;return Bn===292||Bn===293}function Uy(Me){return Me.kind>=312&&Me.kind<=353}function c3(Me){return Me.kind===323||Me.kind===322||Me.kind===324||Sl(Me)||zy(Me)||f2(Me)||iu(Me)}function zy(Me){return Me.kind>=330&&Me.kind<=353}function bl(Me){return Me.kind===175}function Tl(Me){return Me.kind===174}function ya(Me){if(!Af(Me))return!1;let{jsDoc:Bn}=Me;return!!Bn&&Bn.length>0}function ZP(Me){return!!Me.type}function l3(Me){return!!Me.initializer}function eD(Me){switch(Me.kind){case 257:case 166:case 205:case 169:case 299:case 302:return!0;default:return!1}}function Wy(Me){return Me.kind===288||Me.kind===290||jy(Me)}function tD(Me){return Me.kind===180||Me.kind===230}function rD(Me){let Bn=lC;for(let Hn of Me){if(!Hn.length)continue;let Me=0;for(;MeMe.kind===Bn))}function oD(Me){let Bn=new Map;if(Me)for(let Hn of Me)Bn.set(Hn.escapedName,Hn);return Bn}function $y(Me){return(Me.flags&33554432)!==0}function _D(){var Me="";let t=Bn=>Me+=Bn;return{getText:()=>Me,write:t,rawWrite:t,writeKeyword:t,writeOperator:t,writePunctuation:t,writeSpace:t,writeStringLiteral:t,writeLiteral:t,writeParameter:t,writeProperty:t,writeSymbol:(Me,Bn)=>t(Me),writeTrailingSemicolon:t,writeComment:t,getTextPos:()=>Me.length,getLine:()=>0,getColumn:()=>0,getIndent:()=>0,isAtStartOfLine:()=>!1,hasTrailingComment:()=>!1,hasTrailingWhitespace:()=>!!Me.length&&os(Me.charCodeAt(Me.length-1)),writeLine:()=>Me+=" ",increaseIndent:yn,decreaseIndent:yn,clear:()=>Me=""}}function cD(Me,Bn){return Me.configFilePath!==Bn.configFilePath||p3(Me,Bn)}function p3(Me,Bn){return J_(Me,Bn,moduleResolutionOptionDeclarations)}function lD(Me,Bn){return J_(Me,Bn,optionsAffectingProgramStructure)}function J_(Me,Bn,Hn){return Me!==Bn&&Hn.some((Hn=>!gv(uv(Me,Hn),uv(Bn,Hn))))}function uD(Me,Bn){for(;;){let Hn=Bn(Me);if(Hn==="quit")return;if(Hn!==void 0)return Hn;if(wi(Me))return;Me=Me.parent}}function pD(Me,Bn){let Hn=Me.entries();for(let[Me,zn]of Hn){let Hn=Bn(zn,Me);if(Hn)return Hn}}function fD(Me,Bn){let Hn=Me.keys();for(let Me of Hn){let Hn=Bn(Me);if(Hn)return Hn}}function dD(Me,Bn){Me.forEach(((Me,Hn)=>{Bn.set(Hn,Me)}))}function mD(Me){let Bn=mC.getText();try{return Me(mC),mC.getText()}finally{mC.clear(),mC.writeKeyword(Bn)}}function hf(Me){return Me.end-Me.pos}function hD(Me,Bn,Hn){var zn,ni;return(ni=(zn=Me==null?void 0:Me.resolvedModules)==null?void 0:zn.get(Bn,Hn))==null?void 0:ni.resolvedModule}function gD(Me,Bn,Hn,zn){Me.resolvedModules||(Me.resolvedModules=createModeAwareCache()),Me.resolvedModules.set(Bn,zn,Hn)}function yD(Me,Bn,Hn,zn){Me.resolvedTypeReferenceDirectiveNames||(Me.resolvedTypeReferenceDirectiveNames=createModeAwareCache()),Me.resolvedTypeReferenceDirectiveNames.set(Bn,zn,Hn)}function vD(Me,Bn,Hn){var zn,ni;return(ni=(zn=Me==null?void 0:Me.resolvedTypeReferenceDirectiveNames)==null?void 0:zn.get(Bn,Hn))==null?void 0:ni.resolvedTypeReferenceDirective}function bD(Me,Bn){return Me.path===Bn.path&&!Me.prepend==!Bn.prepend&&!Me.circular==!Bn.circular}function TD(Me,Bn){return Me===Bn||Me.resolvedModule===Bn.resolvedModule||!!Me.resolvedModule&&!!Bn.resolvedModule&&Me.resolvedModule.isExternalLibraryImport===Bn.resolvedModule.isExternalLibraryImport&&Me.resolvedModule.extension===Bn.resolvedModule.extension&&Me.resolvedModule.resolvedFileName===Bn.resolvedModule.resolvedFileName&&Me.resolvedModule.originalPath===Bn.resolvedModule.originalPath&&SD(Me.resolvedModule.packageId,Bn.resolvedModule.packageId)}function SD(Me,Bn){return Me===Bn||!!Me&&!!Bn&&Me.name===Bn.name&&Me.subModuleName===Bn.subModuleName&&Me.version===Bn.version}function f3(Me){let{name:Bn,subModuleName:Hn}=Me;return Hn?`${Bn}/${Hn}`:Bn}function xD(Me){return`${f3(Me)}@${Me.version}`}function ED(Me,Bn){return Me===Bn||Me.resolvedTypeReferenceDirective===Bn.resolvedTypeReferenceDirective||!!Me.resolvedTypeReferenceDirective&&!!Bn.resolvedTypeReferenceDirective&&Me.resolvedTypeReferenceDirective.resolvedFileName===Bn.resolvedTypeReferenceDirective.resolvedFileName&&!!Me.resolvedTypeReferenceDirective.primary==!!Bn.resolvedTypeReferenceDirective.primary&&Me.resolvedTypeReferenceDirective.originalPath===Bn.resolvedTypeReferenceDirective.originalPath}function wD(Me,Bn,Hn,zn,ni,Ci){qp.assert(Me.length===Hn.length);for(let ts=0;ts=0),ss(Bn)[Me]}function ID(Me){let Bn=Si(Me),Hn=Ls(Bn,Me.pos);return`${Bn.fileName}(${Hn.line+1},${Hn.character+1})`}function d3(Me,Bn){qp.assert(Me>=0);let Hn=ss(Bn),zn=Me,ni=Bn.text;if(zn+1===Hn.length)return ni.length-1;{let Me=Hn[zn],Bn=Hn[zn+1]-1;for(qp.assert(un(ni.charCodeAt(Bn)));Me<=Bn&&un(ni.charCodeAt(Bn));)Bn--;return Bn}}function m3(Me,Bn,Hn){return!(Hn&&Hn(Bn))&&!Me.identifiers.has(Bn)}function va(Me){return Me===void 0?!0:Me.pos===Me.end&&Me.pos>=0&&Me.kind!==1}function xl(Me){return!va(Me)}function ND(Me,Bn){return Fo(Me)?Bn===Me.expression:Hl(Me)?Bn===Me.modifiers:Wl(Me)?Bn===Me.initializer:Bo(Me)?Bn===Me.questionToken&&$S(Me):lc(Me)?Bn===Me.modifiers||Bn===Me.questionToken||Bn===Me.exclamationToken||F_(Me.modifiers,Bn,ff):nu(Me)?Bn===Me.equalsToken||Bn===Me.modifiers||Bn===Me.questionToken||Bn===Me.exclamationToken||F_(Me.modifiers,Bn,ff):Vl(Me)?Bn===Me.exclamationToken:nc(Me)?Bn===Me.typeParameters||Bn===Me.type||F_(Me.typeParameters,Bn,Fo):Gl(Me)?Bn===Me.typeParameters||F_(Me.typeParameters,Bn,Fo):ic(Me)?Bn===Me.typeParameters||Bn===Me.type||F_(Me.typeParameters,Bn,Fo):a2(Me)?Bn===Me.modifiers||F_(Me.modifiers,Bn,ff):!1}function F_(Me,Bn,Hn){return!Me||ir(Bn)||!Hn(Bn)?!1:pe(Me,Bn)}function h3(Me,Bn,Hn){if(Bn===void 0||Bn.length===0)return Me;let zn=0;for(;zn[`${Ls(Me,Bn.range.end).line}`,Bn]))),zn=new Map;return{getUnusedExpectations:f,markUsed:x};function f(){return Za(Hn.entries()).filter((Me=>{let[Bn,Hn]=Me;return Hn.type===0&&!zn.get(Bn)})).map((Me=>{let[Bn,Hn]=Me;return Hn}))}function x(Me){return Hn.has(`${Me}`)?(zn.set(`${Me}`,!0),!0):!1}}function Io(Me,Bn,Hn){return va(Me)?Me.pos:Uy(Me)||Me.kind===11?Ar((Bn||Si(Me)).text,Me.pos,!1,!0):Hn&&ya(Me)?Io(Me.jsDoc[0],Bn):Me.kind===354&&Me._children.length>0?Io(Me._children[0],Bn,Hn):Ar((Bn||Si(Me)).text,Me.pos,!1,!1,q3(Me))}function FD(Me,Bn){let Hn=!va(Me)&&fc(Me)?te(Me.modifiers,zl):void 0;return Hn?Ar((Bn||Si(Me)).text,Hn.end):Io(Me,Bn)}function No(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return B_(Me.text,Bn,Hn)}function BD(Me){return!!zi(Me,lE)}function b3(Me){return!!(cc(Me)&&Me.exportClause&&ld(Me.exportClause)&&Me.exportClause.name.escapedText==="default")}function B_(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(va(Bn))return"";let zn=Me.substring(Hn?Bn.pos:Ar(Me,Bn.pos),Bn.end);return BD(Bn)&&(zn=zn.split(/\r\n|\n|\r/).map((Me=>Qp(Me.replace(/^\s*\*/,"")))).join(`\n`)),zn}function gf(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return No(Si(Me),Me,Bn)}function qD(Me){return Me.pos}function UD(Me,Bn){return Ya(Me,Bn,qD,Vr)}function xi(Me){let Bn=Me.emitNode;return Bn&&Bn.flags||0}function zD(Me){let Bn=Me.emitNode;return Bn&&Bn.internalFlags||0}function WD(Me,Bn,Hn){var zn;if(Bn&&VD(Me,Hn))return No(Bn,Me);switch(Me.kind){case 10:{let Bn=Hn&2?A4:Hn&1||xi(Me)&33554432?Nf:Of;return Me.singleQuote?"'"+Bn(Me.text,39)+"'":'"'+Bn(Me.text,34)+'"'}case 14:case 15:case 16:case 17:{let Bn=Hn&1||xi(Me)&33554432?Nf:Of,ni=(zn=Me.rawText)!=null?zn:SN(Bn(Me.text,96));switch(Me.kind){case 14:return"`"+ni+"`";case 15:return"`"+ni+"${";case 16:return"}"+ni+"${";case 17:return"}"+ni+"`"}break}case 8:case 9:return Me.text;case 13:return Hn&4&&Me.isUnterminated?Me.text+(Me.text.charCodeAt(Me.text.length-1)===92?" /":"/"):Me.text}return qp.fail(`Literal kind '${Me.kind}' not accounted for.`)}function VD(Me,Bn){return fs(Me)||!Me.parent||Bn&4&&Me.isUnterminated?!1:zs(Me)&&Me.numericLiteralFlags&512?!!(Bn&8):!Uv(Me)}function HD(Me){return Ji(Me)?'"'+Of(Me)+'"':""+Me}function GD(Me){return sl(Me).replace(/^(\d)/,"_$1").replace(/\W/g,"_")}function $D(Me){return(tf(Me)&3)!==0||T3(Me)}function T3(Me){let Bn=If(Me);return Bn.kind===257&&Bn.parent.kind===295}function yf(Me){return Ea(Me)&&(Me.name.kind===10||vf(Me))}function KD(Me){return Ea(Me)&&Me.name.kind===10}function XD(Me){return Ea(Me)&&Gn(Me.name)}function S3(Me){return Ea(Me)||yt(Me)}function YD(Me){return QD(Me.valueDeclaration)}function QD(Me){return!!Me&&Me.kind===264&&!Me.body}function ZD(Me){return Me.kind===308||Me.kind===264||uf(Me)}function vf(Me){return!!(Me.flags&1024)}function Xy(Me){return yf(Me)&&x3(Me)}function x3(Me){switch(Me.parent.kind){case 308:return Qo(Me.parent);case 265:return yf(Me.parent.parent)&&wi(Me.parent.parent.parent)&&!Qo(Me.parent.parent.parent)}return!1}function E3(Me){var Bn;return(Bn=Me.declarations)==null?void 0:Bn.find((Me=>!Xy(Me)&&!(Ea(Me)&&vf(Me))))}function ek(Me){return Me===1||Me===100||Me===199}function Yy(Me,Bn){return Qo(Me)||zf(Bn)||ek(Ei(Bn))&&!!Me.commonJsModuleIndicator}function tk(Me,Bn){switch(Me.scriptKind){case 1:case 3:case 2:case 4:break;default:return!1}return Me.isDeclarationFile?!1:lv(Bn,"alwaysStrict")||SE(Me.statements)?!0:Qo(Me)||zf(Bn)?Ei(Bn)>=5?!0:!Bn.noImplicitUseStrict:!1}function rk(Me){return!!(Me.flags&16777216)||rn(Me,2)}function w3(Me,Bn){switch(Me.kind){case 308:case 266:case 295:case 264:case 245:case 246:case 247:case 173:case 171:case 174:case 175:case 259:case 215:case 216:case 169:case 172:return!0;case 238:return!uf(Bn)}return!1}function nk(Me){switch(qp.type(Me),Me.kind){case 341:case 349:case 326:return!0;default:return C3(Me)}}function C3(Me){switch(qp.type(Me),Me.kind){case 176:case 177:case 170:case 178:case 181:case 182:case 320:case 260:case 228:case 261:case 262:case 348:case 259:case 171:case 173:case 174:case 175:case 215:case 216:return!0;default:return!1}}function Qy(Me){switch(Me.kind){case 269:case 268:return!0;default:return!1}}function ik(Me){return Qy(Me)||Ef(Me)}function ak(Me){switch(Me.kind){case 269:case 268:case 240:case 260:case 259:case 264:case 262:case 261:case 263:return!0;default:return!1}}function sk(Me){return bf(Me)||Ea(Me)||Kl(Me)||s0(Me)}function bf(Me){return Qy(Me)||cc(Me)}function Zy(Me){return zi(Me.parent,(Me=>w3(Me,Me.parent)))}function ok(Me,Bn){let Hn=Zy(Me);for(;Hn;)Bn(Hn),Hn=Zy(Hn)}function A3(Me){return!Me||hf(Me)===0?"(Missing)":gf(Me)}function _k(Me){return Me.declaration?A3(Me.declaration.parameters[0].name):void 0}function ck(Me){return Me.kind===164&&!Ta(Me.expression)}function e0(Me){var Bn;switch(Me.kind){case 79:case 80:return(Bn=Me.emitNode)!=null&&Bn.autoGenerate?void 0:Me.escapedText;case 10:case 8:case 14:return vi(Me.text);case 164:return Ta(Me.expression)?vi(Me.expression.text):void 0;default:return qp.assertNever(Me)}}function lk(Me){return qp.checkDefined(e0(Me))}function ls(Me){switch(Me.kind){case 108:return"this";case 80:case 79:return hf(Me)===0?qr(Me):gf(Me);case 163:return ls(Me.left)+"."+ls(Me.right);case 208:return yt(Me.name)||vn(Me.name)?ls(Me.expression)+"."+ls(Me.name):qp.assertNever(Me.name);case 314:return ls(Me.left)+ls(Me.right);default:return qp.assertNever(Me)}}function uk(Me,Bn,Hn,zn,ni,Ci){let ts=Si(Me);return P3(ts,Me,Bn,Hn,zn,ni,Ci)}function pk(Me,Bn,Hn,zn,ni,Ci,ts){let Ps=Ar(Me.text,Bn.pos);return iv(Me,Ps,Bn.end-Ps,Hn,zn,ni,Ci,ts)}function P3(Me,Bn,Hn,zn,ni,Ci,ts){let Ps=i0(Me,Bn);return iv(Me,Ps.start,Ps.length,Hn,zn,ni,Ci,ts)}function fk(Me,Bn,Hn,zn){let ni=i0(Me,Bn);return r0(Me,ni.start,ni.length,Hn,zn)}function dk(Me,Bn,Hn,zn){let ni=Ar(Me.text,Bn.pos);return r0(Me,ni,Bn.end-ni,Hn,zn)}function t0(Me,Bn,Hn){qp.assertGreaterThanOrEqual(Bn,0),qp.assertGreaterThanOrEqual(Hn,0),Me&&(qp.assertLessThanOrEqual(Bn,Me.text.length),qp.assertLessThanOrEqual(Bn+Hn,Me.text.length))}function r0(Me,Bn,Hn,zn,ni){return t0(Me,Bn,Hn),{file:Me,start:Bn,length:Hn,code:zn.code,category:zn.category,messageText:zn.next?zn:zn.messageText,relatedInformation:ni}}function mk(Me,Bn,Hn){return{file:Me,start:0,length:0,code:Bn.code,category:Bn.category,messageText:Bn.next?Bn:Bn.messageText,relatedInformation:Hn}}function hk(Me){return typeof Me.messageText=="string"?{code:Me.code,category:Me.category,messageText:Me.messageText,next:Me.next}:Me.messageText}function gk(Me,Bn,Hn){return{file:Me,start:Bn.pos,length:Bn.end-Bn.pos,code:Hn.code,category:Hn.category,messageText:Hn.message}}function n0(Me,Bn){let Hn=Po(Me.languageVersion,!0,Me.languageVariant,Me.text,void 0,Bn);Hn.scan();let zn=Hn.getTokenPos();return ha(zn,Hn.getTextPos())}function yk(Me,Bn){let Hn=Po(Me.languageVersion,!0,Me.languageVariant,Me.text,void 0,Bn);return Hn.scan(),Hn.getToken()}function vk(Me,Bn){let Hn=Ar(Me.text,Bn.pos);if(Bn.body&&Bn.body.kind===238){let{line:zn}=Ls(Me,Bn.body.pos),{line:ni}=Ls(Me,Bn.body.end);if(zn0?Bn.statements[0].pos:Bn.end;return ha(ni,Ci)}if(Hn===void 0)return n0(Me,Bn.pos);qp.assert(!Ho(Hn));let zn=va(Hn),ni=zn||td(Bn)?Hn.pos:Ar(Me.text,Hn.pos);return zn?(qp.assert(ni===Hn.pos,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"),qp.assert(ni===Hn.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")):(qp.assert(ni>=Hn.pos,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"),qp.assert(ni<=Hn.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")),ha(ni,Hn.end)}function bk(Me){return(Me.externalModuleIndicator||Me.commonJsModuleIndicator)!==void 0}function a0(Me){return Me.scriptKind===6}function Tk(Me){return!!(ef(Me)&2048)}function Sk(Me){return!!(ef(Me)&64&&!lS(Me,Me.parent))}function D3(Me){return!!(tf(Me)&2)}function xk(Me){return!!(tf(Me)&1)}function Ek(Me){return Me.kind===210&&Me.expression.kind===106}function s0(Me){return Me.kind===210&&Me.expression.kind===100}function o0(Me){return t2(Me)&&Me.keywordToken===100&&Me.name.escapedText==="meta"}function k3(Me){return Kl(Me)&&Yv(Me.argument)&&Gn(Me.argument.literal)}function us(Me){return Me.kind===241&&Me.expression.kind===10}function Tf(Me){return!!(xi(Me)&2097152)}function _0(Me){return Tf(Me)&&Wo(Me)}function wk(Me){return yt(Me.name)&&!Me.initializer}function c0(Me){return Tf(Me)&&zo(Me)&&me(Me.declarationList.declarations,wk)}function Ck(Me,Bn){return Me.kind!==11?Ao(Bn.text,Me.pos):void 0}function I3(Me,Bn){let Hn=Me.kind===166||Me.kind===165||Me.kind===215||Me.kind===216||Me.kind===214||Me.kind===257||Me.kind===278?Ft(HT(Bn,Me.pos),Ao(Bn,Me.pos)):Ao(Bn,Me.pos);return ee(Hn,(Me=>Bn.charCodeAt(Me.pos+1)===42&&Bn.charCodeAt(Me.pos+2)===42&&Bn.charCodeAt(Me.pos+3)!==47))}function l0(Me){if(179<=Me.kind&&Me.kind<=202)return!0;switch(Me.kind){case 131:case 157:case 148:case 160:case 152:case 134:case 153:case 149:case 155:case 144:return!0;case 114:return Me.parent.kind!==219;case 230:return ru(Me.parent)&&!Z0(Me);case 165:return Me.parent.kind===197||Me.parent.kind===192;case 79:(Me.parent.kind===163&&Me.parent.right===Me||Me.parent.kind===208&&Me.parent.name===Me)&&(Me=Me.parent),qp.assert(Me.kind===79||Me.kind===163||Me.kind===208,"'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'.");case 163:case 208:case 108:{let{parent:Bn}=Me;if(Bn.kind===183)return!1;if(Bn.kind===202)return!Bn.isTypeOf;if(179<=Bn.kind&&Bn.kind<=202)return!0;switch(Bn.kind){case 230:return ru(Bn.parent)&&!Z0(Bn);case 165:return Me===Bn.constraint;case 348:return Me===Bn.constraint;case 169:case 168:case 166:case 257:return Me===Bn.type;case 259:case 215:case 216:case 173:case 171:case 170:case 174:case 175:return Me===Bn.type;case 176:case 177:case 178:return Me===Bn.type;case 213:return Me===Bn.type;case 210:case 211:return pe(Bn.typeArguments,Me);case 212:return!1}}}return!1}function Ak(Me,Bn){for(;Me;){if(Me.kind===Bn)return!0;Me=Me.parent}return!1}function Pk(Me,Bn){return r(Me);function r(Me){switch(Me.kind){case 250:return Bn(Me);case 266:case 238:case 242:case 243:case 244:case 245:case 246:case 247:case 251:case 252:case 292:case 293:case 253:case 255:case 295:return xr(Me,r)}}}function Dk(Me,Bn){return r(Me);function r(Me){switch(Me.kind){case 226:Bn(Me);let Hn=Me.expression;Hn&&r(Hn);return;case 263:case 261:case 264:case 262:return;default:if(ga(Me)){if(Me.name&&Me.name.kind===164){r(Me.name.expression);return}}else l0(Me)||xr(Me,r)}}}function kk(Me){return Me&&Me.kind===185?Me.elementType:Me&&Me.kind===180?Xa(Me.typeArguments):void 0}function Ik(Me){switch(Me.kind){case 261:case 260:case 228:case 184:return Me.members;case 207:return Me.properties}}function u0(Me){if(Me)switch(Me.kind){case 205:case 302:case 166:case 299:case 169:case 168:case 300:case 257:return!0}return!1}function Nk(Me){return u0(Me)||pf(Me)}function N3(Me){return Me.parent.kind===258&&Me.parent.parent.kind===240}function Ok(Me){return Pr(Me)?Hs(Me.parent)&&ur(Me.parent.parent)&&ps(Me.parent.parent)===2||p0(Me.parent):!1}function p0(Me){return Pr(Me)?ur(Me)&&ps(Me)===1:!1}function Mk(Me){return(Vi(Me)?D3(Me)&&yt(Me.name)&&N3(Me):Bo(Me)?$0(Me)&&Lf(Me):Wl(Me)&&$0(Me))||p0(Me)}function Lk(Me){switch(Me.kind){case 171:case 170:case 173:case 174:case 175:case 259:case 215:return!0}return!1}function Rk(Me,Bn){for(;;){if(Bn&&Bn(Me),Me.statement.kind!==253)return Me.statement;Me=Me.statement}}function O3(Me){return Me&&Me.kind===238&&ga(Me.parent)}function jk(Me){return Me&&Me.kind===171&&Me.parent.kind===207}function Jk(Me){return(Me.kind===171||Me.kind===174||Me.kind===175)&&(Me.parent.kind===207||Me.parent.kind===228)}function Fk(Me){return Me&&Me.kind===1}function Bk(Me){return Me&&Me.kind===0}function f0(Me,Bn,Hn){return Me.properties.filter((Me=>{if(Me.kind===299){let zn=e0(Me.name);return Bn===zn||!!Hn&&Hn===zn}return!1}))}function qk(Me,Bn,Hn){return q(f0(Me,Bn),(Me=>Yl(Me.initializer)?Ae(Me.initializer.elements,(Me=>Gn(Me)&&Me.text===Hn)):void 0))}function M3(Me){if(Me&&Me.statements.length){let Bn=Me.statements[0].expression;return ln(Bn,Hs)}}function Uk(Me,Bn,Hn){return q(L3(Me,Bn),(Me=>Yl(Me.initializer)?Ae(Me.initializer.elements,(Me=>Gn(Me)&&Me.text===Hn)):void 0))}function L3(Me,Bn){let Hn=M3(Me);return Hn?f0(Hn,Bn):ca}function zk(Me){return zi(Me.parent,ga)}function Wk(Me){return zi(Me.parent,HS)}function Vk(Me){return zi(Me.parent,bi)}function Hk(Me){return zi(Me.parent,(Me=>bi(Me)||ga(Me)?"quit":Hl(Me)))}function Gk(Me){return zi(Me.parent,uf)}function d0(Me,Bn,Hn){for(qp.assert(Me.kind!==308);;){if(Me=Me.parent,!Me)return qp.fail();switch(Me.kind){case 164:if(Hn&&bi(Me.parent.parent))return Me;Me=Me.parent.parent;break;case 167:Me.parent.kind===166&&Js(Me.parent.parent)?Me=Me.parent.parent:Js(Me.parent)&&(Me=Me.parent);break;case 216:if(!Bn)continue;case 259:case 215:case 264:case 172:case 169:case 168:case 171:case 170:case 173:case 174:case 175:case 176:case 177:case 178:case 263:case 308:return Me}}}function $k(Me){switch(Me.kind){case 216:case 259:case 215:case 169:return!0;case 238:switch(Me.parent.kind){case 173:case 171:case 174:case 175:return!0;default:return!1}default:return!1}}function Kk(Me){yt(Me)&&(_c(Me.parent)||Wo(Me.parent))&&Me.parent.name===Me&&(Me=Me.parent);let Bn=d0(Me,!0,!1);return wi(Bn)}function Xk(Me){let Bn=d0(Me,!1,!1);if(Bn)switch(Bn.kind){case 173:case 259:case 215:return Bn}}function Yk(Me,Bn){for(;;){if(Me=Me.parent,!Me)return;switch(Me.kind){case 164:Me=Me.parent;break;case 259:case 215:case 216:if(!Bn)continue;case 169:case 168:case 171:case 170:case 173:case 174:case 175:case 172:return Me;case 167:Me.parent.kind===166&&Js(Me.parent.parent)?Me=Me.parent.parent:Js(Me.parent)&&(Me=Me.parent);break}}}function Qk(Me){if(Me.kind===215||Me.kind===216){let Bn=Me,Hn=Me.parent;for(;Hn.kind===214;)Bn=Hn,Hn=Hn.parent;if(Hn.kind===210&&Hn.expression===Bn)return Hn}}function Zk(Me){return Me.kind===106||Sf(Me)}function Sf(Me){let Bn=Me.kind;return(Bn===208||Bn===209)&&Me.expression.kind===106}function eI(Me){let Bn=Me.kind;return(Bn===208||Bn===209)&&Me.expression.kind===108}function tI(Me){var Bn;return!!Me&&Vi(Me)&&((Bn=Me.initializer)==null?void 0:Bn.kind)===108}function rI(Me){return!!Me&&(nu(Me)||lc(Me))&&ur(Me.parent.parent)&&Me.parent.parent.operatorToken.kind===63&&Me.parent.parent.right.kind===108}function nI(Me){switch(Me.kind){case 180:return Me.typeName;case 230:return Bs(Me.expression)?Me.expression:void 0;case 79:case 163:return Me}}function iI(Me){switch(Me.kind){case 212:return Me.tag;case 283:case 282:return Me.tagName;default:return Me.expression}}function R3(Me,Bn,Hn,zn){if(Me&&af(Bn)&&vn(Bn.name))return!1;switch(Bn.kind){case 260:return!0;case 228:return!Me;case 169:return Hn!==void 0&&(Me?_c(Hn):bi(Hn)&&!W4(Bn)&&!V4(Bn));case 174:case 175:case 171:return Bn.body!==void 0&&Hn!==void 0&&(Me?_c(Hn):bi(Hn));case 166:return Me?Hn!==void 0&&Hn.body!==void 0&&(Hn.kind===173||Hn.kind===171||Hn.kind===175)&&j4(Hn)!==Bn&&zn!==void 0&&zn.kind===260:!1}return!1}function q_(Me,Bn,Hn,zn){return Il(Bn)&&R3(Me,Bn,Hn,zn)}function m0(Me,Bn,Hn,zn){return q_(Me,Bn,Hn,zn)||h0(Me,Bn,Hn)}function h0(Me,Bn,Hn){switch(Bn.kind){case 260:return Ke(Bn.members,(zn=>m0(Me,zn,Bn,Hn)));case 228:return!Me&&Ke(Bn.members,(zn=>m0(Me,zn,Bn,Hn)));case 171:case 175:case 173:return Ke(Bn.parameters,(zn=>q_(Me,zn,Bn,Hn)));default:return!1}}function aI(Me,Bn){if(q_(Me,Bn))return!0;let Hn=R4(Bn);return!!Hn&&h0(Me,Hn,Bn)}function sI(Me,Bn,Hn){let zn;if(pf(Bn)){let{firstAccessor:Me,secondAccessor:ni,setAccessor:Ci}=W0(Hn.members,Bn),ts=Il(Me)?Me:ni&&Il(ni)?ni:void 0;if(!ts||Bn!==ts)return!1;zn=Ci==null?void 0:Ci.parameters}else Vl(Bn)&&(zn=Bn.parameters);if(q_(Me,Bn,Hn))return!0;if(zn){for(let ni of zn)if(!kl(ni)&&q_(Me,ni,Bn,Hn))return!0}return!1}function j3(Me){if(Me.textSourceNode){switch(Me.textSourceNode.kind){case 10:return j3(Me.textSourceNode);case 14:return Me.text===""}return!1}return Me.text===""}function xf(Me){let{parent:Bn}=Me;return Bn.kind===283||Bn.kind===282||Bn.kind===284?Bn.tagName===Me:!1}function g0(Me){switch(Me.kind){case 106:case 104:case 110:case 95:case 13:case 206:case 207:case 208:case 209:case 210:case 211:case 212:case 231:case 213:case 235:case 232:case 214:case 215:case 228:case 216:case 219:case 217:case 218:case 221:case 222:case 223:case 224:case 227:case 225:case 229:case 281:case 282:case 285:case 226:case 220:case 233:return!0;case 230:return!ru(Me.parent)&&!md(Me.parent);case 163:for(;Me.parent.kind===163;)Me=Me.parent;return Me.parent.kind===183||Sl(Me.parent)||fd(Me.parent)||uc(Me.parent)||xf(Me);case 314:for(;uc(Me.parent);)Me=Me.parent;return Me.parent.kind===183||Sl(Me.parent)||fd(Me.parent)||uc(Me.parent)||xf(Me);case 80:return ur(Me.parent)&&Me.parent.left===Me&&Me.parent.operatorToken.kind===101;case 79:if(Me.parent.kind===183||Sl(Me.parent)||fd(Me.parent)||uc(Me.parent)||xf(Me))return!0;case 8:case 9:case 10:case 14:case 108:return J3(Me);default:return!1}}function J3(Me){let{parent:Bn}=Me;switch(Bn.kind){case 257:case 166:case 169:case 168:case 302:case 299:case 205:return Bn.initializer===Me;case 241:case 242:case 243:case 244:case 250:case 251:case 252:case 292:case 254:return Bn.expression===Me;case 245:let Hn=Bn;return Hn.initializer===Me&&Hn.initializer.kind!==258||Hn.condition===Me||Hn.incrementor===Me;case 246:case 247:let zn=Bn;return zn.initializer===Me&&zn.initializer.kind!==258||zn.expression===Me;case 213:case 231:return Me===Bn.expression;case 236:return Me===Bn.expression;case 164:return Me===Bn.expression;case 167:case 291:case 290:case 301:return!0;case 230:return Bn.expression===Me&&!l0(Bn);case 300:return Bn.objectAssignmentInitializer===Me;case 235:return Me===Bn.expression;default:return g0(Bn)}}function F3(Me){for(;Me.kind===163||Me.kind===79;)Me=Me.parent;return Me.kind===183}function oI(Me){return ld(Me)&&!!Me.parent.moduleSpecifier}function B3(Me){return Me.kind===268&&Me.moduleReference.kind===280}function _I(Me){return qp.assert(B3(Me)),Me.moduleReference.expression}function cI(Me){return Ef(Me)&&rv(Me.initializer).arguments[0]}function lI(Me){return Me.kind===268&&Me.moduleReference.kind!==280}function y0(Me){return Pr(Me)}function uI(Me){return!Pr(Me)}function Pr(Me){return!!Me&&!!(Me.flags&262144)}function pI(Me){return!!Me&&!!(Me.flags&67108864)}function fI(Me){return!a0(Me)}function q3(Me){return!!Me&&!!(Me.flags&8388608)}function dI(Me){return ac(Me)&&yt(Me.typeName)&&Me.typeName.escapedText==="Object"&&Me.typeArguments&&Me.typeArguments.length===2&&(Me.typeArguments[0].kind===152||Me.typeArguments[0].kind===148)}function El(Me,Bn){if(Me.kind!==210)return!1;let{expression:Hn,arguments:zn}=Me;if(Hn.kind!==79||Hn.escapedText!=="require"||zn.length!==1)return!1;let ni=zn[0];return!Bn||Ti(ni)}function U3(Me){return z3(Me,!1)}function Ef(Me){return z3(Me,!0)}function mI(Me){return Xl(Me)&&Ef(Me.parent.parent)}function z3(Me,Bn){return Vi(Me)&&!!Me.initializer&&El(Bn?rv(Me.initializer):Me.initializer,!0)}function W3(Me){return zo(Me)&&Me.declarationList.declarations.length>0&&me(Me.declarationList.declarations,(Me=>U3(Me)))}function hI(Me){return Me===39||Me===34}function gI(Me,Bn){return No(Bn,Me).charCodeAt(0)===34}function v0(Me){return ur(Me)||Lo(Me)||yt(Me)||sc(Me)}function V3(Me){return Pr(Me)&&Me.initializer&&ur(Me.initializer)&&(Me.initializer.operatorToken.kind===56||Me.initializer.operatorToken.kind===60)&&Me.name&&Bs(Me.name)&&z_(Me.name,Me.initializer.left)?Me.initializer.right:Me.initializer}function yI(Me){let Bn=V3(Me);return Bn&&U_(Bn,Nl(Me.name))}function vI(Me,Bn){return c(Me.properties,(Me=>lc(Me)&&yt(Me.name)&&Me.name.escapedText==="value"&&Me.initializer&&U_(Me.initializer,Bn)))}function bI(Me){if(Me&&Me.parent&&ur(Me.parent)&&Me.parent.operatorToken.kind===63){let Bn=Nl(Me.parent.left);return U_(Me.parent.right,Bn)||TI(Me.parent.left,Me.parent.right,Bn)}if(Me&&sc(Me)&&S0(Me)){let Bn=vI(Me.arguments[2],Me.arguments[1].text==="prototype");if(Bn)return Bn}}function U_(Me,Bn){if(sc(Me)){let Bn=Pl(Me.expression);return Bn.kind===215||Bn.kind===216?Me:void 0}if(Me.kind===215||Me.kind===228||Me.kind===216||Hs(Me)&&(Me.properties.length===0||Bn))return Me}function TI(Me,Bn,Hn){let zn=ur(Bn)&&(Bn.operatorToken.kind===56||Bn.operatorToken.kind===60)&&U_(Bn.right,Hn);if(zn&&z_(Me,Bn.left))return zn}function SI(Me){let Bn=Vi(Me.parent)?Me.parent.name:ur(Me.parent)&&Me.parent.operatorToken.kind===63?Me.parent.left:void 0;return Bn&&U_(Me.right,Nl(Bn))&&Bs(Bn)&&z_(Bn,Me.left)}function xI(Me){if(ur(Me.parent)){let Bn=(Me.parent.operatorToken.kind===56||Me.parent.operatorToken.kind===60)&&ur(Me.parent.parent)?Me.parent.parent:Me.parent;if(Bn.operatorToken.kind===63&&yt(Bn.left))return Bn.left}else if(Vi(Me.parent))return Me.parent.name}function z_(Me,Bn){return L0(Me)&&L0(Bn)?kf(Me)===kf(Bn):js(Me)&&wf(Bn)&&(Bn.expression.kind===108||yt(Bn.expression)&&(Bn.expression.escapedText==="window"||Bn.expression.escapedText==="self"||Bn.expression.escapedText==="global"))?z_(Me,$3(Bn)):wf(Me)&&wf(Bn)?Fs(Me)===Fs(Bn)&&z_(Me.expression,Bn.expression):!1}function b0(Me){for(;ms(Me,!0);)Me=Me.right;return Me}function H3(Me){return yt(Me)&&Me.escapedText==="exports"}function G3(Me){return yt(Me)&&Me.escapedText==="module"}function T0(Me){return(bn(Me)||wl(Me))&&G3(Me.expression)&&Fs(Me)==="exports"}function ps(Me){let Bn=EI(Me);return Bn===5||Pr(Me)?Bn:0}function S0(Me){return I(Me.arguments)===3&&bn(Me.expression)&&yt(Me.expression.expression)&&qr(Me.expression.expression)==="Object"&&qr(Me.expression.name)==="defineProperty"&&Ta(Me.arguments[1])&&V_(Me.arguments[0],!0)}function wf(Me){return bn(Me)||wl(Me)}function wl(Me){return gs(Me)&&Ta(Me.argumentExpression)}function W_(Me,Bn){return bn(Me)&&(!Bn&&Me.expression.kind===108||yt(Me.name)&&V_(Me.expression,!0))||x0(Me,Bn)}function x0(Me,Bn){return wl(Me)&&(!Bn&&Me.expression.kind===108||Bs(Me.expression)||W_(Me.expression,!0))}function V_(Me,Bn){return Bs(Me)||W_(Me,Bn)}function $3(Me){return bn(Me)?Me.name:Me.argumentExpression}function EI(Me){if(sc(Me)){if(!S0(Me))return 0;let Bn=Me.arguments[0];return H3(Bn)||T0(Bn)?8:W_(Bn)&&Fs(Bn)==="prototype"?9:7}return Me.operatorToken.kind!==63||!Lo(Me.left)||wI(b0(Me))?0:V_(Me.left.expression,!0)&&Fs(Me.left)==="prototype"&&Hs(X3(Me))?6:K3(Me.left)}function wI(Me){return Qv(Me)&&zs(Me.expression)&&Me.expression.text==="0"}function Cf(Me){if(bn(Me))return Me.name;let Bn=Pl(Me.argumentExpression);return zs(Bn)||Ti(Bn)?Bn:Me}function Fs(Me){let Bn=Cf(Me);if(Bn){if(yt(Bn))return Bn.escapedText;if(Ti(Bn)||zs(Bn))return vi(Bn.text)}}function K3(Me){if(Me.expression.kind===108)return 4;if(T0(Me))return 2;if(V_(Me.expression,!0)){if(Nl(Me.expression))return 3;let Bn=Me;for(;!yt(Bn.expression);)Bn=Bn.expression;let Hn=Bn.expression;if((Hn.escapedText==="exports"||Hn.escapedText==="module"&&Fs(Bn)==="exports")&&W_(Me))return 1;if(V_(Me,!0)||gs(Me)&&M0(Me))return 5}return 0}function X3(Me){for(;ur(Me.right);)Me=Me.right;return Me.right}function CI(Me){return ur(Me)&&ps(Me)===3}function AI(Me){return Pr(Me)&&Me.parent&&Me.parent.kind===241&&(!gs(Me)||wl(Me))&&!!_f(Me.parent)}function PI(Me,Bn){let{valueDeclaration:Hn}=Me;(!Hn||!(Bn.flags&16777216&&!Pr(Bn)&&!(Hn.flags&16777216))&&v0(Hn)&&!v0(Bn)||Hn.kind!==Bn.kind&&S3(Hn))&&(Me.valueDeclaration=Bn)}function DI(Me){if(!Me||!Me.valueDeclaration)return!1;let Bn=Me.valueDeclaration;return Bn.kind===259||Vi(Bn)&&Bn.initializer&&ga(Bn.initializer)}function kI(Me){var Bn,Hn;switch(Me.kind){case 257:case 205:return(Bn=zi(Me.initializer,(Me=>El(Me,!0))))==null?void 0:Bn.arguments[0];case 269:return ln(Me.moduleSpecifier,Ti);case 268:return ln((Hn=ln(Me.moduleReference,ud))==null?void 0:Hn.expression,Ti);case 270:case 277:return ln(Me.parent.moduleSpecifier,Ti);case 271:case 278:return ln(Me.parent.parent.moduleSpecifier,Ti);case 273:return ln(Me.parent.parent.parent.moduleSpecifier,Ti);default:qp.assertNever(Me)}}function II(Me){return Y3(Me)||qp.failBadSyntaxKind(Me.parent)}function Y3(Me){switch(Me.parent.kind){case 269:case 275:return Me.parent;case 280:return Me.parent.parent;case 210:return s0(Me.parent)||El(Me.parent,!1)?Me.parent:void 0;case 198:return qp.assert(Gn(Me)),ln(Me.parent.parent,Kl);default:return}}function E0(Me){switch(Me.kind){case 269:case 275:return Me.moduleSpecifier;case 268:return Me.moduleReference.kind===280?Me.moduleReference.expression:void 0;case 202:return k3(Me)?Me.argument.literal:void 0;case 210:return Me.arguments[0];case 264:return Me.name.kind===10?Me.name:void 0;default:return qp.assertNever(Me)}}function Q3(Me){switch(Me.kind){case 269:return Me.importClause&&ln(Me.importClause.namedBindings,_2);case 268:return Me;case 275:return Me.exportClause&&ln(Me.exportClause,ld);default:return qp.assertNever(Me)}}function Z3(Me){return Me.kind===269&&!!Me.importClause&&!!Me.importClause.name}function NI(Me,Bn){if(Me.name){let Hn=Bn(Me);if(Hn)return Hn}if(Me.namedBindings){let Hn=_2(Me.namedBindings)?Bn(Me.namedBindings):c(Me.namedBindings.elements,Bn);if(Hn)return Hn}}function OI(Me){if(Me)switch(Me.kind){case 166:case 171:case 170:case 300:case 299:case 169:case 168:return Me.questionToken!==void 0}return!1}function MI(Me){let Bn=dd(Me)?pa(Me.parameters):void 0,Hn=ln(Bn&&Bn.name,yt);return!!Hn&&Hn.escapedText==="new"}function Cl(Me){return Me.kind===349||Me.kind===341||Me.kind===343}function LI(Me){return Cl(Me)||n2(Me)}function RI(Me){return Zl(Me)&&ur(Me.expression)&&Me.expression.operatorToken.kind===63?b0(Me.expression):void 0}function e4(Me){return Zl(Me)&&ur(Me.expression)&&ps(Me.expression)!==0&&ur(Me.expression.right)&&(Me.expression.right.operatorToken.kind===56||Me.expression.right.operatorToken.kind===60)?Me.expression.right.right:void 0}function w0(Me){switch(Me.kind){case 240:let Bn=Al(Me);return Bn&&Bn.initializer;case 169:return Me.initializer;case 299:return Me.initializer}}function Al(Me){return zo(Me)?pa(Me.declarationList.declarations):void 0}function t4(Me){return Ea(Me)&&Me.body&&Me.body.kind===264?Me.body:void 0}function jI(Me){if(Me.kind>=240&&Me.kind<=256)return!0;switch(Me.kind){case 79:case 108:case 106:case 163:case 233:case 209:case 208:case 205:case 215:case 216:case 171:case 174:case 175:return!0;default:return!1}}function Af(Me){switch(Me.kind){case 216:case 223:case 238:case 249:case 176:case 292:case 260:case 228:case 172:case 173:case 182:case 177:case 248:case 256:case 243:case 209:case 239:case 1:case 263:case 302:case 274:case 275:case 278:case 241:case 246:case 247:case 245:case 259:case 215:case 181:case 174:case 79:case 242:case 269:case 268:case 178:case 261:case 320:case 326:case 253:case 171:case 170:case 264:case 199:case 267:case 207:case 166:case 214:case 208:case 299:case 169:case 168:case 250:case 175:case 300:case 301:case 252:case 254:case 255:case 262:case 165:case 257:case 240:case 244:case 251:return!0;default:return!1}}function r4(Me,Bn){let Hn;u0(Me)&&l3(Me)&&ya(Me.initializer)&&(Hn=jr(Hn,n4(Me,Zn(Me.initializer.jsDoc))));let zn=Me;for(;zn&&zn.parent;){if(ya(zn)&&(Hn=jr(Hn,n4(Me,Zn(zn.jsDoc)))),zn.kind===166){Hn=jr(Hn,(Bn?bS:of)(zn));break}if(zn.kind===165){Hn=jr(Hn,(Bn?xS:SS)(zn));break}zn=a4(zn)}return Hn||ca}function n4(Me,Bn){if(Ho(Bn)){let Hn=ee(Bn.tags,(Bn=>i4(Me,Bn)));return Bn.tags===Hn?[Bn]:Hn}return i4(Me,Bn)?[Bn]:void 0}function i4(Me,Bn){return!(au(Bn)||T2(Bn))||!Bn.parent||!Ho(Bn.parent)||!qo(Bn.parent.parent)||Bn.parent.parent===Me}function a4(Me){let Bn=Me.parent;if(Bn.kind===299||Bn.kind===274||Bn.kind===169||Bn.kind===241&&Me.kind===208||Bn.kind===250||t4(Bn)||ur(Me)&&Me.operatorToken.kind===63)return Bn;if(Bn.parent&&(Al(Bn.parent)===Me||ur(Bn)&&Bn.operatorToken.kind===63))return Bn.parent;if(Bn.parent&&Bn.parent.parent&&(Al(Bn.parent.parent)||w0(Bn.parent.parent)===Me||e4(Bn.parent.parent)))return Bn.parent.parent}function JI(Me){if(Me.symbol)return Me.symbol;if(!yt(Me.name))return;let Bn=Me.name.escapedText,Hn=C0(Me);if(!Hn)return;let zn=Ae(Hn.parameters,(Me=>Me.name.kind===79&&Me.name.escapedText===Bn));return zn&&zn.symbol}function FI(Me){if(Ho(Me.parent)&&Me.parent.tags){let Bn=Ae(Me.parent.tags,Cl);if(Bn)return Bn}return C0(Me)}function C0(Me){let Bn=A0(Me);if(Bn)return Wl(Bn)&&Bn.type&&ga(Bn.type)?Bn.type:ga(Bn)?Bn:void 0}function A0(Me){let Bn=s4(Me);if(Bn)return e4(Bn)||RI(Bn)||w0(Bn)||Al(Bn)||t4(Bn)||Bn}function s4(Me){let Bn=P0(Me);if(!Bn)return;let Hn=Bn.parent;if(Hn&&Hn.jsDoc&&Bn===Cn(Hn.jsDoc))return Hn}function P0(Me){return zi(Me.parent,Ho)}function BI(Me){let Bn=Me.name.escapedText,{typeParameters:Hn}=Me.parent.parent.parent;return Hn&&Ae(Hn,(Me=>Me.name.escapedText===Bn))}function qI(Me){return!!Me.typeArguments}function o4(Me){let Bn=Me.parent;for(;;){switch(Bn.kind){case 223:let Hn=Bn.operatorToken.kind;return G_(Hn)&&Bn.left===Me?Hn===63||jf(Hn)?1:2:0;case 221:case 222:let zn=Bn.operator;return zn===45||zn===46?2:0;case 246:case 247:return Bn.initializer===Me?1:0;case 214:case 206:case 227:case 232:Me=Bn;break;case 301:Me=Bn.parent;break;case 300:if(Bn.name!==Me)return 0;Me=Bn.parent;break;case 299:if(Bn.name===Me)return 0;Me=Bn.parent;break;default:return 0}Bn=Me.parent}}function UI(Me){return o4(Me)!==0}function zI(Me){switch(Me.kind){case 238:case 240:case 251:case 242:case 252:case 266:case 292:case 293:case 253:case 245:case 246:case 247:case 243:case 244:case 255:case 295:return!0}return!1}function WI(Me){return ad(Me)||sd(Me)||Ly(Me)||Wo(Me)||nc(Me)}function _4(Me,Bn){for(;Me&&Me.kind===Bn;)Me=Me.parent;return Me}function VI(Me){return _4(Me,193)}function D0(Me){return _4(Me,214)}function HI(Me){let Bn;for(;Me&&Me.kind===193;)Bn=Me,Me=Me.parent;return[Bn,Me]}function GI(Me){for(;Kv(Me);)Me=Me.type;return Me}function Pl(Me,Bn){return $o(Me,Bn?17:1)}function $I(Me){return Me.kind!==208&&Me.kind!==209?!1:(Me=D0(Me.parent),Me&&Me.kind===217)}function KI(Me,Bn){for(;Me;){if(Me===Bn)return!0;Me=Me.parent}return!1}function c4(Me){return!wi(Me)&&!df(Me)&&ko(Me.parent)&&Me.parent.name===Me}function XI(Me){let Bn=Me.parent;switch(Me.kind){case 10:case 14:case 8:if(Ws(Bn))return Bn.parent;case 79:if(ko(Bn))return Bn.name===Me?Bn:void 0;if(rc(Bn)){let Me=Bn.parent;return pc(Me)&&Me.name===Bn?Me:void 0}else{let Hn=Bn.parent;return ur(Hn)&&ps(Hn)!==0&&(Hn.left.symbol||Hn.symbol)&&ml(Hn)===Me?Hn:void 0}case 80:return ko(Bn)&&Bn.name===Me?Bn:void 0;default:return}}function l4(Me){return Ta(Me)&&Me.parent.kind===164&&ko(Me.parent.parent)}function YI(Me){let Bn=Me.parent;switch(Bn.kind){case 169:case 168:case 171:case 170:case 174:case 175:case 302:case 299:case 208:return Bn.name===Me;case 163:return Bn.right===Me;case 205:case 273:return Bn.propertyName===Me;case 278:case 288:case 282:case 283:case 284:return!0}return!1}function QI(Me){return Me.kind===268||Me.kind===267||Me.kind===270&&Me.name||Me.kind===271||Me.kind===277||Me.kind===273||Me.kind===278||Me.kind===274&&I0(Me)?!0:Pr(Me)&&(ur(Me)&&ps(Me)===2&&I0(Me)||bn(Me)&&ur(Me.parent)&&Me.parent.left===Me&&Me.parent.operatorToken.kind===63&&k0(Me.parent.right))}function u4(Me){switch(Me.parent.kind){case 270:case 273:case 271:case 278:case 274:case 268:case 277:return Me.parent;case 163:do{Me=Me.parent}while(Me.parent.kind===163);return u4(Me)}}function k0(Me){return Bs(Me)||_d(Me)}function I0(Me){let Bn=p4(Me);return k0(Bn)}function p4(Me){return Vo(Me)?Me.expression:Me.right}function ZI(Me){return Me.kind===300?Me.name:Me.kind===299?Me.initializer:Me.parent.right}function f4(Me){let Bn=d4(Me);if(Bn&&Pr(Me)){let Bn=ES(Me);if(Bn)return Bn.class}return Bn}function d4(Me){let Bn=Pf(Me.heritageClauses,94);return Bn&&Bn.types.length>0?Bn.types[0]:void 0}function m4(Me){if(Pr(Me))return wS(Me).map((Me=>Me.class));{let Bn=Pf(Me.heritageClauses,117);return Bn==null?void 0:Bn.types}}function h4(Me){return eu(Me)?g4(Me)||ca:bi(Me)&&Ft(Cp(f4(Me)),m4(Me))||ca}function g4(Me){let Bn=Pf(Me.heritageClauses,94);return Bn?Bn.types:void 0}function Pf(Me,Bn){if(Me){for(let Hn of Me)if(Hn.token===Bn)return Hn}}function eN(Me,Bn){for(;Me;){if(Me.kind===Bn)return Me;Me=Me.parent}}function ba(Me){return 81<=Me&&Me<=162}function N0(Me){return 126<=Me&&Me<=162}function y4(Me){return ba(Me)&&!N0(Me)}function tN(Me){return 117<=Me&&Me<=125}function rN(Me){let Bn=_l(Me);return Bn!==void 0&&y4(Bn)}function nN(Me){let Bn=_l(Me);return Bn!==void 0&&ba(Bn)}function iN(Me){let Bn=dS(Me);return!!Bn&&!N0(Bn)}function aN(Me){return 2<=Me&&Me<=7}function sN(Me){if(!Me)return 4;let Bn=0;switch(Me.kind){case 259:case 215:case 171:Me.asteriskToken&&(Bn|=1);case 216:rn(Me,512)&&(Bn|=2);break}return Me.body||(Bn|=4),Bn}function oN(Me){switch(Me.kind){case 259:case 215:case 216:case 171:return Me.body!==void 0&&Me.asteriskToken===void 0&&rn(Me,512)}return!1}function Ta(Me){return Ti(Me)||zs(Me)}function O0(Me){return od(Me)&&(Me.operator===39||Me.operator===40)&&zs(Me.operand)}function v4(Me){let Bn=ml(Me);return!!Bn&&M0(Bn)}function M0(Me){if(!(Me.kind===164||Me.kind===209))return!1;let Bn=gs(Me)?Pl(Me.argumentExpression):Me.expression;return!Ta(Bn)&&!O0(Bn)}function Df(Me){switch(Me.kind){case 79:case 80:return Me.escapedText;case 10:case 8:return vi(Me.text);case 164:let Bn=Me.expression;return Ta(Bn)?vi(Bn.text):O0(Bn)?Bn.operator===40?Br(Bn.operator)+Bn.operand.text:Bn.operand.text:void 0;default:return qp.assertNever(Me)}}function L0(Me){switch(Me.kind){case 79:case 10:case 14:case 8:return!0;default:return!1}}function kf(Me){return js(Me)?qr(Me):Me.text}function b4(Me){return js(Me)?Me.escapedText:vi(Me.text)}function _N(Me){return`__@${getSymbolId(Me)}@${Me.escapedName}`}function cN(Me,Bn){return`__#${getSymbolId(Me)}@${Bn}`}function lN(Me){return Pn(Me.escapedName,"__@")}function uN(Me){return Pn(Me.escapedName,"__#")}function pN(Me){return Me.kind===79&&Me.escapedText==="Symbol"}function T4(Me){return yt(Me)?qr(Me)==="__proto__":Gn(Me)&&Me.text==="__proto__"}function H_(Me,Bn){switch(Me=$o(Me),Me.kind){case 228:case 215:if(Me.name)return!1;break;case 216:break;default:return!1}return typeof Bn=="function"?Bn(Me):!0}function S4(Me){switch(Me.kind){case 299:return!T4(Me.name);case 300:return!!Me.objectAssignmentInitializer;case 257:return yt(Me.name)&&!!Me.initializer;case 166:return yt(Me.name)&&!!Me.initializer&&!Me.dotDotDotToken;case 205:return yt(Me.name)&&!!Me.initializer&&!Me.dotDotDotToken;case 169:return!!Me.initializer;case 223:switch(Me.operatorToken.kind){case 63:case 76:case 75:case 77:return yt(Me.left)}break;case 274:return!0}return!1}function fN(Me,Bn){if(!S4(Me))return!1;switch(Me.kind){case 299:return H_(Me.initializer,Bn);case 300:return H_(Me.objectAssignmentInitializer,Bn);case 257:case 166:case 205:case 169:return H_(Me.initializer,Bn);case 223:return H_(Me.right,Bn);case 274:return H_(Me.expression,Bn)}}function dN(Me){return Me.escapedText==="push"||Me.escapedText==="unshift"}function mN(Me){return If(Me).kind===166}function If(Me){for(;Me.kind===205;)Me=Me.parent.parent;return Me}function hN(Me){let Bn=Me.kind;return Bn===173||Bn===215||Bn===259||Bn===216||Bn===171||Bn===174||Bn===175||Bn===264||Bn===308}function fs(Me){return hs(Me.pos)||hs(Me.end)}function gN(Me){return fl(Me,wi)||Me}function yN(Me){let Bn=R0(Me),Hn=Me.kind===211&&Me.arguments!==void 0;return x4(Me.kind,Bn,Hn)}function x4(Me,Bn,Hn){switch(Me){case 211:return Hn?0:1;case 221:case 218:case 219:case 217:case 220:case 224:case 226:return 1;case 223:switch(Bn){case 42:case 63:case 64:case 65:case 67:case 66:case 68:case 69:case 70:case 71:case 72:case 73:case 78:case 74:case 75:case 76:case 77:return 1}}return 0}function vN(Me){let Bn=R0(Me),Hn=Me.kind===211&&Me.arguments!==void 0;return E4(Me.kind,Bn,Hn)}function R0(Me){return Me.kind===223?Me.operatorToken.kind:Me.kind===221||Me.kind===222?Me.operator:Me.kind}function E4(Me,Bn,Hn){switch(Me){case 357:return 0;case 227:return 1;case 226:return 2;case 224:return 4;case 223:switch(Bn){case 27:return 0;case 63:case 64:case 65:case 67:case 66:case 68:case 69:case 70:case 71:case 72:case 73:case 78:case 74:case 75:case 76:case 77:return 3;default:return Dl(Bn)}case 213:case 232:case 221:case 218:case 219:case 217:case 220:return 16;case 222:return 17;case 210:return 18;case 211:return Hn?19:18;case 212:case 208:case 209:case 233:return 19;case 231:case 235:return 11;case 108:case 106:case 79:case 80:case 104:case 110:case 95:case 8:case 9:case 10:case 206:case 207:case 215:case 216:case 228:case 13:case 14:case 225:case 214:case 229:case 281:case 282:case 285:return 20;default:return-1}}function Dl(Me){switch(Me){case 60:return 4;case 56:return 5;case 55:return 6;case 51:return 7;case 52:return 8;case 50:return 9;case 34:case 35:case 36:case 37:return 10;case 29:case 31:case 32:case 33:case 102:case 101:case 128:case 150:return 11;case 47:case 48:case 49:return 12;case 39:case 40:return 13;case 41:case 43:case 44:return 14;case 42:return 15}return-1}function bN(Me){return ee(Me,(Me=>{switch(Me.kind){case 291:return!!Me.expression;case 11:return!Me.containsOnlyTriviaWhiteSpaces;default:return!0}}))}function TN(){let Me=[],Bn=[],Hn=new Map,zn=!1;return{add:x,lookup:f,getGlobalDiagnostics:w,getDiagnostics:A};function f(Bn){let zn;if(Bn.file?zn=Hn.get(Bn.file.fileName):zn=Me,!zn)return;let ni=Ya(zn,Bn,rr,qf);if(ni>=0)return zn[ni]}function x(ni){let Ci;ni.file?(Ci=Hn.get(ni.file.fileName),Ci||(Ci=[],Hn.set(ni.file.fileName,Ci),Qn(Bn,ni.file.fileName,ri))):(zn&&(zn=!1,Me=Me.slice()),Ci=Me),Qn(Ci,ni,qf)}function w(){return zn=!0,Me}function A(zn){if(zn)return Hn.get(zn)||[];let ni=ge(Bn,(Me=>Hn.get(Me)));return Me.length&&ni.unshift(...Me),ni}}function SN(Me){return Me.replace(SC,"\\${")}function w4(Me){return Me&&!!(k8(Me)?Me.templateFlags:Me.head.templateFlags||Ke(Me.templateSpans,(Me=>!!Me.literal.templateFlags)))}function C4(Me){return"\\u"+("0000"+Me.toString(16).toUpperCase()).slice(-4)}function xN(Me,Bn,Hn){if(Me.charCodeAt(0)===0){let zn=Hn.charCodeAt(Bn+Me.length);return zn>=48&&zn<=57?"\\x00":"\\0"}return BC.get(Me)||C4(Me.charCodeAt(0))}function Nf(Me,Bn){let Hn=Bn===96?kC:Bn===39?xC:IC;return Me.replace(Hn,xN)}function Of(Me,Bn){return Me=Nf(Me,Bn),TC.test(Me)?Me.replace(TC,(Me=>C4(Me.charCodeAt(0)))):Me}function EN(Me){return"&#x"+Me.toString(16).toUpperCase()+";"}function wN(Me){return Me.charCodeAt(0)===0?"�":QC.get(Me)||EN(Me.charCodeAt(0))}function A4(Me,Bn){let Hn=Bn===39?NC:FC;return Me.replace(Hn,wN)}function CN(Me){let Bn=Me.length;return Bn>=2&&Me.charCodeAt(0)===Me.charCodeAt(Bn-1)&&AN(Me.charCodeAt(0))?Me.substring(1,Bn-1):Me}function AN(Me){return Me===39||Me===34||Me===96}function P4(Me){let Bn=Me.charCodeAt(0);return Bn>=97&&Bn<=122||Fi(Me,"-")||Fi(Me,":")}function j0(Me){let Bn=RC[1];for(let Hn=RC.length;Hn<=Me;Hn++)RC.push(RC[Hn-1]+Bn);return RC[Me]}function Oo(){return RC[1].length}function PN(){return Fi(Ci,"-dev")||Fi(Ci,"-insiders")}function DN(Me){var Bn,Hn,zn,ni,Ci,ts=!1;function A(Me){let Hn=Kp(Me);Hn.length>1?(ni=ni+Hn.length-1,Ci=Bn.length-Me.length+Zn(Hn),zn=Ci-Bn.length===0):zn=!1}function g(Me){Me&&Me.length&&(zn&&(Me=j0(Hn)+Me,zn=!1),Bn+=Me,A(Me))}function B(Me){Me&&(ts=!1),g(Me)}function N(Me){Me&&(ts=!0),g(Me)}function X(){Bn="",Hn=0,zn=!0,ni=0,Ci=0,ts=!1}function F(Me){Me!==void 0&&(Bn+=Me,A(Me),ts=!1)}function $(Me){Me&&Me.length&&B(Me)}function ae(Hn){(!zn||Hn)&&(Bn+=Me,ni++,Ci=Bn.length,zn=!0,ts=!1)}function Te(){return zn?Bn.length:Bn.length+Me.length}return X(),{write:B,rawWrite:F,writeLiteral:$,writeLine:ae,increaseIndent:()=>{Hn++},decreaseIndent:()=>{Hn--},getIndent:()=>Hn,getTextPos:()=>Bn.length,getLine:()=>ni,getColumn:()=>zn?Hn*Oo():Bn.length-Ci,getText:()=>Bn,isAtStartOfLine:()=>zn,hasTrailingComment:()=>ts,hasTrailingWhitespace:()=>!!Bn.length&&os(Bn.charCodeAt(Bn.length-1)),clear:X,writeKeyword:B,writeOperator:B,writeParameter:B,writeProperty:B,writePunctuation:B,writeSpace:B,writeStringLiteral:B,writeSymbol:(Me,Bn)=>B(Me),writeTrailingSemicolon:B,writeComment:N,getTextPosWithWriteLine:Te}}function kN(Me){let Bn=!1;function r(){Bn&&(Me.writeTrailingSemicolon(";"),Bn=!1)}return Object.assign(Object.assign({},Me),{},{writeTrailingSemicolon(){Bn=!0},writeLiteral(Bn){r(),Me.writeLiteral(Bn)},writeStringLiteral(Bn){r(),Me.writeStringLiteral(Bn)},writeSymbol(Bn,Hn){r(),Me.writeSymbol(Bn,Hn)},writePunctuation(Bn){r(),Me.writePunctuation(Bn)},writeKeyword(Bn){r(),Me.writeKeyword(Bn)},writeOperator(Bn){r(),Me.writeOperator(Bn)},writeParameter(Bn){r(),Me.writeParameter(Bn)},writeSpace(Bn){r(),Me.writeSpace(Bn)},writeProperty(Bn){r(),Me.writeProperty(Bn)},writeComment(Bn){r(),Me.writeComment(Bn)},writeLine(){r(),Me.writeLine()},increaseIndent(){r(),Me.increaseIndent()},decreaseIndent(){r(),Me.decreaseIndent()}})}function J0(Me){return Me.useCaseSensitiveFileNames?Me.useCaseSensitiveFileNames():!1}function D4(Me){return wp(J0(Me))}function k4(Me,Bn,Hn){return Bn.moduleName||F0(Me,Bn.fileName,Hn&&Hn.fileName)}function I4(Me,Bn){return Me.getCanonicalFileName(as(Bn,Me.getCurrentDirectory()))}function IN(Me,Bn,Hn){let zn=Bn.getExternalModuleFileFromDeclaration(Hn);if(!zn||zn.isDeclarationFile)return;let ni=E0(Hn);if(!(ni&&Ti(ni)&&!So(ni.text)&&I4(Me,zn.path).indexOf(I4(Me,wo(Me.getCommonSourceDirectory())))===-1))return k4(Me,zn)}function F0(Me,Bn,Hn){let s=Bn=>Me.getCanonicalFileName(Bn),zn=Ui(Hn?ma(Hn):Me.getCommonSourceDirectory(),Me.getCurrentDirectory(),s),ni=as(Bn,Me.getCurrentDirectory()),Ci=uy(zn,ni,zn,s,!1),ts=Ll(Ci);return Hn?_y(ts):ts}function NN(Me,Bn,Hn){let zn=Bn.getCompilerOptions(),ni;return zn.outDir?ni=Ll(M4(Me,Bn,zn.outDir)):ni=Ll(Me),ni+Hn}function ON(Me,Bn){return N4(Me,Bn.getCompilerOptions(),Bn.getCurrentDirectory(),Bn.getCommonSourceDirectory(),(Me=>Bn.getCanonicalFileName(Me)))}function N4(Me,Bn,Hn,zn,ni){let Ci=Bn.declarationDir||Bn.outDir,ts=Ci?U0(Me,Ci,Hn,zn,ni):Me,Ps=O4(ts);return Ll(ts)+Ps}function O4(Me){return da(Me,[".mjs",".mts"])?".d.mts":da(Me,[".cjs",".cts"])?".d.cts":da(Me,[".json"])?".d.json.ts":".d.ts"}function MN(Me){return da(Me,[".d.mts",".mjs",".mts"])?[".mts",".mjs"]:da(Me,[".d.cts",".cjs",".cts"])?[".cts",".cjs"]:da(Me,[".d.json.ts"])?[".json"]:[".tsx",".ts",".jsx",".js"]}function B0(Me){return Me.outFile||Me.out}function LN(Me,Bn){var Hn,zn;if(Me.paths)return(zn=Me.baseUrl)!=null?zn:qp.checkDefined(Me.pathsBasePath||((Hn=Bn.getCurrentDirectory)==null?void 0:Hn.call(Bn)),"Encountered 'paths' without a 'baseUrl', config file, or host 'getCurrentDirectory'.")}function RN(Me,Bn,Hn){let zn=Me.getCompilerOptions();if(B0(zn)){let Bn=Ei(zn),ni=zn.emitDeclarationOnly||Bn===2||Bn===4;return ee(Me.getSourceFiles(),(Bn=>(ni||!Qo(Bn))&&q0(Bn,Me,Hn)))}else{let zn=Bn===void 0?Me.getSourceFiles():[Bn];return ee(zn,(Bn=>q0(Bn,Me,Hn)))}}function q0(Me,Bn,Hn){return!(Bn.getCompilerOptions().noEmitForJsFiles&&y0(Me))&&!Me.isDeclarationFile&&!Bn.isSourceFileFromExternalLibrary(Me)&&(Hn||!(a0(Me)&&Bn.getResolvedProjectReferenceToRedirect(Me.fileName))&&!Bn.isSourceOfProjectReferenceRedirect(Me.fileName))}function M4(Me,Bn,Hn){return U0(Me,Hn,Bn.getCurrentDirectory(),Bn.getCommonSourceDirectory(),(Me=>Bn.getCanonicalFileName(Me)))}function U0(Me,Bn,Hn,zn,ni){let Ci=as(Me,Hn);return Ci=ni(Ci).indexOf(ni(zn))===0?Ci.substring(zn.length):Ci,tn(Bn,Ci)}function jN(Me,Bn,Hn,zn,ni,Ci,ts){Me.writeFile(Hn,zn,ni,(Me=>{Bn.add(Ol(Sv.Could_not_write_file_0_Colon_1,Hn,Me))}),Ci,ts)}function L4(Me,Bn,Hn){if(Me.length>Bi(Me)&&!Hn(Me)){let zn=ma(Me);L4(zn,Bn,Hn),Bn(Me)}}function JN(Me,Bn,Hn,zn,ni,Ci){try{zn(Me,Bn,Hn)}catch{L4(ma(Un(Me)),ni,Ci),zn(Me,Bn,Hn)}}function FN(Me,Bn){let Hn=ss(Me);return k_(Hn,Bn)}function ds(Me,Bn){return k_(Me,Bn)}function R4(Me){return Ae(Me.members,(Me=>nc(Me)&&xl(Me.body)))}function z0(Me){if(Me&&Me.parameters.length>0){let Bn=Me.parameters.length===2&&kl(Me.parameters[0]);return Me.parameters[Bn?1:0]}}function BN(Me){let Bn=z0(Me);return Bn&&Bn.type}function j4(Me){if(Me.parameters.length&&!iu(Me)){let Bn=Me.parameters[0];if(kl(Bn))return Bn}}function kl(Me){return Mf(Me.name)}function Mf(Me){return!!Me&&Me.kind===79&&J4(Me)}function qN(Me){if(!Mf(Me))return!1;for(;rc(Me.parent)&&Me.parent.left===Me;)Me=Me.parent;return Me.parent.kind===183}function J4(Me){return Me.escapedText==="this"}function W0(Me,Bn){let Hn,zn,ni,Ci;return v4(Bn)?(Hn=Bn,Bn.kind===174?ni=Bn:Bn.kind===175?Ci=Bn:qp.fail("Accessor has wrong kind")):c(Me,(Me=>{if(pf(Me)&&G0(Me)===G0(Bn)){let ts=Df(Me.name),Ps=Df(Bn.name);ts===Ps&&(Hn?zn||(zn=Me):Hn=Me,Me.kind===174&&!ni&&(ni=Me),Me.kind===175&&!Ci&&(Ci=Me))}})),{firstAccessor:Hn,secondAccessor:zn,getAccessor:ni,setAccessor:Ci}}function V0(Me){if(!Pr(Me)&&Wo(Me))return;let Bn=Me.type;return Bn||!Pr(Me)?Bn:Dy(Me)?Me.typeExpression&&Me.typeExpression.type:cf(Me)}function UN(Me){return Me.type}function zN(Me){return iu(Me)?Me.type&&Me.type.typeExpression&&Me.type.typeExpression.type:Me.type||(Pr(Me)?OS(Me):void 0)}function F4(Me){return ne(hl(Me),(Me=>WN(Me)?Me.typeParameters:void 0))}function WN(Me){return Go(Me)&&!(Me.parent.kind===323&&(Me.parent.tags.some(Cl)||Me.parent.tags.some(y2)))}function VN(Me){let Bn=z0(Me);return Bn&&V0(Bn)}function B4(Me,Bn,Hn,zn){q4(Me,Bn,Hn.pos,zn)}function q4(Me,Bn,Hn,zn){zn&&zn.length&&Hn!==zn[0].pos&&ds(Me,Hn)!==ds(Me,zn[0].pos)&&Bn.writeLine()}function HN(Me,Bn,Hn,zn){Hn!==zn&&ds(Me,Hn)!==ds(Me,zn)&&Bn.writeLine()}function U4(Me,Bn,Hn,zn,ni,Ci,ts,Ps){if(zn&&zn.length>0){ni&&Hn.writeSpace(" ");let aa=!1;for(let ni of zn)aa&&(Hn.writeSpace(" "),aa=!1),Ps(Me,Bn,Hn,ni.pos,ni.end,ts),ni.hasTrailingNewLine?Hn.writeLine():aa=!0;aa&&Ci&&Hn.writeSpace(" ")}}function GN(Me,Bn,Hn,zn,ni,Ci,ts){let Ps,aa;if(ts?ni.pos===0&&(Ps=ee(Ao(Me,ni.pos),B)):Ps=Ao(Me,ni.pos),Ps){let ts=[],oa;for(let Me of Ps){if(oa){let Hn=ds(Bn,oa.end);if(ds(Bn,Me.pos)>=Hn+2)break}ts.push(Me),oa=Me}if(ts.length){let oa=ds(Bn,Zn(ts).end);ds(Bn,Ar(Me,ni.pos))>=oa+2&&(B4(Bn,Hn,ni,Ps),U4(Me,Bn,Hn,ts,!1,!0,Ci,zn),aa={nodePos:ni.pos,detachedCommentEndPos:Zn(ts).end})}}return aa;function B(Bn){return v3(Me,Bn.pos)}}function $N(Me,Bn,Hn,zn,ni,Ci){if(Me.charCodeAt(zn+1)===42){let ts=my(Bn,zn),Ps=Bn.length,aa;for(let oa=zn,ca=ts.line;oa0){let Me=ni%Oo(),Bn=j0((ni-Me)/Oo());for(Hn.rawWrite(Bn);Me;)Hn.rawWrite(" "),Me--}else Hn.rawWrite("")}KN(Me,ni,Hn,Ci,oa,_a),oa=_a}}else Hn.writeComment(Me.substring(zn,ni))}function KN(Me,Bn,Hn,zn,ni,Ci){let ts=Math.min(Bn,Ci-1),Ps=Dp(Me.substring(ni,ts));Ps?(Hn.writeComment(Ps),ts!==Bn&&Hn.writeLine()):Hn.rawWrite(zn)}function z4(Me,Bn,Hn){let zn=0;for(;Bn=0&&Me.kind<=162?0:(Me.modifierFlagsCache&536870912||(Me.modifierFlagsCache=Y0(Me)|536870912),Bn&&!(Me.modifierFlagsCache&4096)&&(Hn||Pr(Me))&&Me.parent&&(Me.modifierFlagsCache|=X4(Me)|4096),Me.modifierFlagsCache&-536875009)}function Rf(Me){return K0(Me,!0)}function K4(Me){return K0(Me,!0,!0)}function X0(Me){return K0(Me,!1)}function X4(Me){let Bn=0;return Me.parent&&!Vs(Me)&&(Pr(Me)&&(CS(Me)&&(Bn|=4),AS(Me)&&(Bn|=8),PS(Me)&&(Bn|=16),DS(Me)&&(Bn|=64),kS(Me)&&(Bn|=16384)),IS(Me)&&(Bn|=8192)),Bn}function Y4(Me){return Y0(Me)|X4(Me)}function Y0(Me){let Bn=fc(Me)?Vn(Me.modifiers):0;return(Me.flags&4||Me.kind===79&&Me.flags&2048)&&(Bn|=1),Bn}function Vn(Me){let Bn=0;if(Me)for(let Hn of Me)Bn|=Q0(Hn.kind);return Bn}function Q0(Me){switch(Me){case 124:return 32;case 123:return 4;case 122:return 16;case 121:return 8;case 126:return 256;case 127:return 128;case 93:return 1;case 136:return 2;case 85:return 2048;case 88:return 1024;case 132:return 512;case 146:return 64;case 161:return 16384;case 101:return 32768;case 145:return 65536;case 167:return 131072}return 0}function Q4(Me){return Me===56||Me===55}function ZN(Me){return Q4(Me)||Me===53}function jf(Me){return Me===75||Me===76||Me===77}function eO(Me){return ur(Me)&&jf(Me.operatorToken.kind)}function Z4(Me){return Q4(Me)||Me===60}function tO(Me){return ur(Me)&&Z4(Me.operatorToken.kind)}function G_(Me){return Me>=63&&Me<=78}function ex(Me){let Bn=tx(Me);return Bn&&!Bn.isImplements?Bn.class:void 0}function tx(Me){if(e2(Me)){if(ru(Me.parent)&&bi(Me.parent.parent))return{class:Me.parent.parent,isImplements:Me.parent.token===117};if(md(Me.parent)){let Bn=A0(Me.parent);if(Bn&&bi(Bn))return{class:Bn,isImplements:!1}}}}function ms(Me,Bn){return ur(Me)&&(Bn?Me.operatorToken.kind===63:G_(Me.operatorToken.kind))&&Do(Me.left)}function rO(Me){return ms(Me.parent)&&Me.parent.left===Me}function nO(Me){if(ms(Me,!0)){let Bn=Me.left.kind;return Bn===207||Bn===206}return!1}function Z0(Me){return ex(Me)!==void 0}function Bs(Me){return Me.kind===79||rx(Me)}function iO(Me){switch(Me.kind){case 79:return Me;case 163:do{Me=Me.left}while(Me.kind!==79);return Me;case 208:do{Me=Me.expression}while(Me.kind!==79);return Me}}function ev(Me){return Me.kind===79||Me.kind===108||Me.kind===106||Me.kind===233||Me.kind===208&&ev(Me.expression)||Me.kind===214&&ev(Me.expression)}function rx(Me){return bn(Me)&&yt(Me.name)&&Bs(Me.expression)}function tv(Me){if(bn(Me)){let Bn=tv(Me.expression);if(Bn!==void 0)return Bn+"."+ls(Me.name)}else if(gs(Me)){let Bn=tv(Me.expression);if(Bn!==void 0&&vl(Me.argumentExpression))return Bn+"."+Df(Me.argumentExpression)}else if(yt(Me))return dl(Me.escapedText)}function Nl(Me){return W_(Me)&&Fs(Me)==="prototype"}function aO(Me){return Me.parent.kind===163&&Me.parent.right===Me||Me.parent.kind===208&&Me.parent.name===Me}function nx(Me){return bn(Me.parent)&&Me.parent.name===Me||gs(Me.parent)&&Me.parent.argumentExpression===Me}function sO(Me){return rc(Me.parent)&&Me.parent.right===Me||bn(Me.parent)&&Me.parent.name===Me||uc(Me.parent)&&Me.parent.right===Me}function oO(Me){return Me.kind===207&&Me.properties.length===0}function _O(Me){return Me.kind===206&&Me.elements.length===0}function cO(Me){if(!(!lO(Me)||!Me.declarations)){for(let Bn of Me.declarations)if(Bn.localSymbol)return Bn.localSymbol}}function lO(Me){return Me&&I(Me.declarations)>0&&rn(Me.declarations[0],1024)}function uO(Me){return Ae(iD,(Bn=>ns(Me,Bn)))}function pO(Me){let Bn=[],Hn=Me.length;for(let zn=0;zn>6|192),Bn.push(Hn&63|128)):Hn<65536?(Bn.push(Hn>>12|224),Bn.push(Hn>>6&63|128),Bn.push(Hn&63|128)):Hn<131072?(Bn.push(Hn>>18|240),Bn.push(Hn>>12&63|128),Bn.push(Hn>>6&63|128),Bn.push(Hn&63|128)):qp.assert(!1,"Unexpected code point")}return Bn}function ix(Me){let Bn="",Hn=pO(Me),zn=0,ni=Hn.length,Ci,ts,Ps,aa;for(;zn>2,ts=(Hn[zn]&3)<<4|Hn[zn+1]>>4,Ps=(Hn[zn+1]&15)<<2|Hn[zn+2]>>6,aa=Hn[zn+2]&63,zn+1>=ni?Ps=aa=64:zn+2>=ni&&(aa=64),Bn+=PC.charAt(Ci)+PC.charAt(ts)+PC.charAt(Ps)+PC.charAt(aa),zn+=3;return Bn}function fO(Me){let Bn="",Hn=0,zn=Me.length;for(;Hn>4&3,aa=(Hn&15)<<4|Ci>>2&15,oa=(Ci&3)<<6|ts&63;aa===0&&Ci!==0?zn.push(Ps):oa===0&&ts!==0?zn.push(Ps,aa):zn.push(Ps,aa,oa),ni+=4}return fO(zn)}function ax(Me,Bn){let Hn=Ji(Bn)?Bn:Bn.readFile(Me);if(!Hn)return;let zn=parseConfigFileTextToJson(Me,Hn);return zn.error?void 0:zn.config}function hO(Me,Bn){return ax(Me,Bn)||{}}function sx(Me,Bn){return!Bn.directoryExists||Bn.directoryExists(Me)}function ox(Me){switch(Me.newLine){case 0:return OC;case 1:case void 0:return LC}}function Jf(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Me;return qp.assert(Bn>=Me||Bn===-1),{pos:Me,end:Bn}}function gO(Me,Bn){return Jf(Me.pos,Bn)}function Ff(Me,Bn){return Jf(Bn,Me.end)}function _x(Me){let Bn=fc(Me)?te(Me.modifiers,zl):void 0;return Bn&&!hs(Bn.end)?Ff(Me,Bn.end):Me}function yO(Me){if(Bo(Me)||Vl(Me))return Ff(Me,Me.name.pos);let Bn=fc(Me)?Cn(Me.modifiers):void 0;return Bn&&!hs(Bn.end)?Ff(Me,Bn.end):_x(Me)}function vO(Me){return Me.pos===Me.end}function bO(Me,Bn){return Jf(Me,Me+Br(Bn).length)}function TO(Me,Bn){return cx(Me,Me,Bn)}function SO(Me,Bn,Hn){return $_(K_(Me,Hn,!1),K_(Bn,Hn,!1),Hn)}function xO(Me,Bn,Hn){return $_(Me.end,Bn.end,Hn)}function cx(Me,Bn,Hn){return $_(K_(Me,Hn,!1),Bn.end,Hn)}function EO(Me,Bn,Hn){return $_(Me.end,K_(Bn,Hn,!1),Hn)}function wO(Me,Bn,Hn,zn){let ni=K_(Bn,Hn,zn);return I_(Hn,Me.end,ni)}function CO(Me,Bn,Hn){return I_(Hn,Me.end,Bn.end)}function AO(Me,Bn){return!$_(Me.pos,Me.end,Bn)}function $_(Me,Bn,Hn){return I_(Hn,Me,Bn)===0}function K_(Me,Bn,Hn){return hs(Me.pos)?-1:Ar(Bn.text,Me.pos,!1,Hn)}function PO(Me,Bn,Hn,zn){let ni=Ar(Hn.text,Me,!1,zn),Ci=kO(ni,Bn,Hn);return I_(Hn,Ci!=null?Ci:Bn,ni)}function DO(Me,Bn,Hn,zn){let ni=Ar(Hn.text,Me,!1,zn);return I_(Hn,Me,Math.min(Bn,ni))}function kO(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,Hn=arguments.length>2?arguments[2]:void 0;for(;Me-- >Bn;)if(!os(Hn.text.charCodeAt(Me)))return Me}function IO(Me){let Bn=fl(Me);if(Bn)switch(Bn.parent.kind){case 263:case 264:return Bn===Bn.parent.name}return!1}function NO(Me){return ee(Me.declarations,lx)}function lx(Me){return Vi(Me)&&Me.initializer!==void 0}function OO(Me){return Me.watch&&Jr(Me,"watch")}function MO(Me){Me.close()}function ux(Me){return Me.flags&33554432?Me.links.checkFlags:0}function LO(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(Me.valueDeclaration){let Hn=Bn&&Me.declarations&&Ae(Me.declarations,ic)||Me.flags&32768&&Ae(Me.declarations,Gl)||Me.valueDeclaration,zn=ef(Hn);return Me.parent&&Me.parent.flags&32?zn:zn&-29}if(ux(Me)&6){let Bn=Me.links.checkFlags,Hn=Bn&1024?8:Bn&256?4:16,zn=Bn&2048?32:0;return Hn|zn}return Me.flags&4194304?36:0}function RO(Me,Bn){return Me.flags&2097152?Bn.getAliasedSymbol(Me):Me}function jO(Me){return Me.exportSymbol?Me.exportSymbol.flags|Me.flags:Me.flags}function JO(Me){return Mo(Me)===1}function FO(Me){return Mo(Me)!==0}function Mo(Me){let{parent:Bn}=Me;if(!Bn)return 0;switch(Bn.kind){case 214:return Mo(Bn);case 222:case 221:let{operator:Hn}=Bn;return Hn===45||Hn===46?r():0;case 223:let{left:zn,operatorToken:ni}=Bn;return zn===Me&&G_(ni.kind)?ni.kind===63?1:r():0;case 208:return Bn.name!==Me?0:Mo(Bn);case 299:{let Hn=Mo(Bn.parent);return Me===Bn.name?BO(Hn):Hn}case 300:return Me===Bn.objectAssignmentInitializer?0:Mo(Bn.parent);case 206:return Mo(Bn);default:return 0}function r(){return Bn.parent&&D0(Bn.parent).kind===241?1:2}}function BO(Me){switch(Me){case 0:return 1;case 1:return 0;case 2:return 2;default:return qp.assertNever(Me)}}function px(Me,Bn){if(!Me||!Bn||Object.keys(Me).length!==Object.keys(Bn).length)return!1;for(let Hn in Me)if(typeof Me[Hn]=="object"){if(!px(Me[Hn],Bn[Hn]))return!1}else if(typeof Me[Hn]!="function"&&Me[Hn]!==Bn[Hn])return!1;return!0}function qO(Me,Bn){Me.forEach(Bn),Me.clear()}function fx(Me,Bn,Hn){let{onDeleteValue:zn,onExistingValue:ni}=Hn;Me.forEach(((Hn,Ci)=>{let ts=Bn.get(Ci);ts===void 0?(Me.delete(Ci),zn(Hn,Ci)):ni&&ni(Hn,ts,Ci)}))}function UO(Me,Bn,Hn){fx(Me,Bn,Hn);let{createNewValue:zn}=Hn;Bn.forEach(((Bn,Hn)=>{Me.has(Hn)||Me.set(Hn,zn(Hn,Bn))}))}function zO(Me){if(Me.flags&32){let Bn=dx(Me);return!!Bn&&rn(Bn,256)}return!1}function dx(Me){var Bn;return(Bn=Me.declarations)==null?void 0:Bn.find(bi)}function Bf(Me){return Me.flags&3899393?Me.objectFlags:0}function WO(Me,Bn){return!!FT(Me,(Me=>Bn(Me)?!0:void 0))}function VO(Me){return!!Me&&!!Me.declarations&&!!Me.declarations[0]&&a2(Me.declarations[0])}function HO(Me){let{moduleSpecifier:Bn}=Me;return Gn(Bn)?Bn.text:gf(Bn)}function mx(Me){let Bn;return xr(Me,(Me=>{xl(Me)&&(Bn=Me)}),(Me=>{for(let Hn=Me.length-1;Hn>=0;Hn--)if(xl(Me[Hn])){Bn=Me[Hn];break}})),Bn}function GO(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return Me.has(Bn)?!1:(Me.set(Bn,Hn),!0)}function $O(Me){return bi(Me)||eu(Me)||id(Me)}function hx(Me){return Me>=179&&Me<=202||Me===131||Me===157||Me===148||Me===160||Me===149||Me===134||Me===152||Me===153||Me===114||Me===155||Me===144||Me===139||Me===230||Me===315||Me===316||Me===317||Me===318||Me===319||Me===320||Me===321}function Lo(Me){return Me.kind===208||Me.kind===209}function KO(Me){return Me.kind===208?Me.name:(qp.assert(Me.kind===209),Me.argumentExpression)}function XO(Me){switch(Me.kind){case"text":case"internal":return!0;default:return!1}}function YO(Me){return Me.kind===272||Me.kind===276}function rv(Me){for(;Lo(Me);)Me=Me.expression;return Me}function QO(Me,Bn){if(Lo(Me.parent)&&nx(Me))return r(Me.parent);function r(Me){if(Me.kind===208){let Hn=Bn(Me.name);if(Hn!==void 0)return Hn}else if(Me.kind===209)if(yt(Me.argumentExpression)||Ti(Me.argumentExpression)){let Hn=Bn(Me.argumentExpression);if(Hn!==void 0)return Hn}else return;if(Lo(Me.expression))return r(Me.expression);if(yt(Me.expression))return Bn(Me.expression)}}function ZO(Me,Bn){for(;;){switch(Me.kind){case 222:Me=Me.operand;continue;case 223:Me=Me.left;continue;case 224:Me=Me.condition;continue;case 212:Me=Me.tag;continue;case 210:if(Bn)return Me;case 231:case 209:case 208:case 232:case 356:case 235:Me=Me.expression;continue}return Me}}function eM(Me,Bn){this.flags=Me,this.escapedName=Bn,this.declarations=void 0,this.valueDeclaration=void 0,this.id=0,this.mergeId=0,this.parent=void 0,this.members=void 0,this.exports=void 0,this.exportSymbol=void 0,this.constEnumOnlyModule=void 0,this.isReferenced=void 0,this.isAssigned=void 0,this.links=void 0}function tM(Me,Bn){this.flags=Bn,(qp.isDebugging||xd)&&(this.checker=Me)}function rM(Me,Bn){this.flags=Bn,qp.isDebugging&&(this.checker=Me)}function nv(Me,Bn,Hn){this.pos=Bn,this.end=Hn,this.kind=Me,this.id=0,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.original=void 0,this.emitNode=void 0}function nM(Me,Bn,Hn){this.pos=Bn,this.end=Hn,this.kind=Me,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0,this.emitNode=void 0}function iM(Me,Bn,Hn){this.pos=Bn,this.end=Hn,this.kind=Me,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0,this.original=void 0,this.emitNode=void 0}function aM(Me,Bn,Hn){this.fileName=Me,this.text=Bn,this.skipTrivia=Hn||(Me=>Me)}function sM(Me){jC.push(Me),Me(MC)}function gx(Me){Object.assign(MC,Me),c(jC,(Me=>Me(MC)))}function X_(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return Me.replace(/{(\d+)}/g,((Me,zn)=>""+qp.checkDefined(Bn[+zn+Hn])))}function yx(Me){UC=Me}function vx(Me){!UC&&Me&&(UC=Me())}function Y_(Me){return UC&&UC[Me.key]||Me.message}function Ro(Me,Bn,Hn,zn){t0(void 0,Bn,Hn);let ni=Y_(zn);return arguments.length>4&&(ni=X_(ni,arguments,4)),{file:void 0,start:Bn,length:Hn,messageText:ni,category:zn.category,code:zn.code,reportsUnnecessary:zn.reportsUnnecessary,fileName:Me}}function oM(Me){return Me.file===void 0&&Me.start!==void 0&&Me.length!==void 0&&typeof Me.fileName=="string"}function bx(Me,Bn){let Hn=Bn.fileName||"",zn=Bn.text.length;qp.assertEqual(Me.fileName,Hn),qp.assertLessThanOrEqual(Me.start,zn),qp.assertLessThanOrEqual(Me.start+Me.length,zn);let ni={file:Bn,start:Me.start,length:Me.length,messageText:Me.messageText,category:Me.category,code:Me.code,reportsUnnecessary:Me.reportsUnnecessary};if(Me.relatedInformation){ni.relatedInformation=[];for(let Ci of Me.relatedInformation)oM(Ci)&&Ci.fileName===Hn?(qp.assertLessThanOrEqual(Ci.start,zn),qp.assertLessThanOrEqual(Ci.start+Ci.length,zn),ni.relatedInformation.push(bx(Ci,Bn))):ni.relatedInformation.push(Ci)}return ni}function qs(Me,Bn){let Hn=[];for(let zn of Me)Hn.push(bx(zn,Bn));return Hn}function iv(Me,Bn,Hn,zn){t0(Me,Bn,Hn);let ni=Y_(zn);return arguments.length>4&&(ni=X_(ni,arguments,4)),{file:Me,start:Bn,length:Hn,messageText:ni,category:zn.category,code:zn.code,reportsUnnecessary:zn.reportsUnnecessary,reportsDeprecated:zn.reportsDeprecated}}function _M(Me,Bn){let Hn=Y_(Bn);return arguments.length>2&&(Hn=X_(Hn,arguments,2)),Hn}function Ol(Me){let Bn=Y_(Me);return arguments.length>1&&(Bn=X_(Bn,arguments,1)),{file:void 0,start:void 0,length:void 0,messageText:Bn,category:Me.category,code:Me.code,reportsUnnecessary:Me.reportsUnnecessary,reportsDeprecated:Me.reportsDeprecated}}function cM(Me,Bn){return{file:void 0,start:void 0,length:void 0,code:Me.code,category:Me.category,messageText:Me.next?Me:Me.messageText,relatedInformation:Bn}}function lM(Me,Bn){let Hn=Y_(Bn);return arguments.length>2&&(Hn=X_(Hn,arguments,2)),{messageText:Hn,category:Bn.category,code:Bn.code,next:Me===void 0||Array.isArray(Me)?Me:[Me]}}function uM(Me,Bn){let Hn=Me;for(;Hn.next;)Hn=Hn.next[0];Hn.next=[Bn]}function Tx(Me){return Me.file?Me.file.path:void 0}function av(Me,Bn){return qf(Me,Bn)||pM(Me,Bn)||0}function qf(Me,Bn){return ri(Tx(Me),Tx(Bn))||Vr(Me.start,Bn.start)||Vr(Me.length,Bn.length)||Vr(Me.code,Bn.code)||Sx(Me.messageText,Bn.messageText)||0}function pM(Me,Bn){return!Me.relatedInformation&&!Bn.relatedInformation?0:Me.relatedInformation&&Bn.relatedInformation?Vr(Me.relatedInformation.length,Bn.relatedInformation.length)||c(Me.relatedInformation,((Me,Hn)=>{let zn=Bn.relatedInformation[Hn];return av(Me,zn)}))||0:Me.relatedInformation?-1:1}function Sx(Me,Bn){if(typeof Me=="string"&&typeof Bn=="string")return ri(Me,Bn);if(typeof Me=="string")return-1;if(typeof Bn=="string")return 1;let Hn=ri(Me.messageText,Bn.messageText);if(Hn)return Hn;if(!Me.next&&!Bn.next)return 0;if(!Me.next)return-1;if(!Bn.next)return 1;let zn=Math.min(Me.next.length,Bn.next.length);for(let ni=0;niBn.next.length?1:0}function sv(Me){return Me===4||Me===2||Me===1||Me===6?1:0}function xx(Me){if(Me.transformFlags&2)return _3(Me)||pd(Me)?Me:xr(Me,xx)}function fM(Me){return Me.isDeclarationFile?void 0:xx(Me)}function dM(Me){return(Me.impliedNodeFormat===99||da(Me.fileName,[".cjs",".cts",".mjs",".mts"]))&&!Me.isDeclarationFile?!0:void 0}function Ex(Me){switch(wx(Me)){case 3:return Me=>{Me.externalModuleIndicator=ou(Me)||!Me.isDeclarationFile||void 0};case 1:return Me=>{Me.externalModuleIndicator=ou(Me)};case 2:let Bn=[ou];(Me.jsx===4||Me.jsx===5)&&Bn.push(fM),Bn.push(dM);let Hn=W1(...Bn);return Me=>void(Me.externalModuleIndicator=Hn(Me))}}function Uf(Me){var Bn;return(Bn=Me.target)!=null?Bn:Me.module===100&&9||Me.module===199&&99||1}function Ei(Me){return typeof Me.module=="number"?Me.module:Uf(Me)>=2?5:1}function mM(Me){return Me>=5&&Me<=99}function Ml(Me){let Bn=Me.moduleResolution;if(Bn===void 0)switch(Ei(Me)){case 1:Bn=2;break;case 100:Bn=3;break;case 199:Bn=99;break;default:Bn=1;break}return Bn}function wx(Me){return Me.moduleDetection||(Ei(Me)===100||Ei(Me)===199?3:2)}function hM(Me){switch(Ei(Me)){case 1:case 2:case 5:case 6:case 7:case 99:case 100:case 199:return!0;default:return!1}}function zf(Me){return!!(Me.isolatedModules||Me.verbatimModuleSyntax)}function gM(Me){return Me.verbatimModuleSyntax||Me.isolatedModules&&Me.preserveValueImports}function yM(Me){return Me.allowUnreachableCode===!1}function vM(Me){return Me.allowUnusedLabels===!1}function bM(Me){return!!(cv(Me)&&Me.declarationMap)}function ov(Me){if(Me.esModuleInterop!==void 0)return Me.esModuleInterop;switch(Ei(Me)){case 100:case 199:return!0}}function TM(Me){return Me.allowSyntheticDefaultImports!==void 0?Me.allowSyntheticDefaultImports:ov(Me)||Ei(Me)===4||Ml(Me)===100}function _v(Me){return Me>=3&&Me<=99||Me===100}function SM(Me){let Bn=Ml(Me);if(!_v(Bn))return!1;if(Me.resolvePackageJsonExports!==void 0)return Me.resolvePackageJsonExports;switch(Bn){case 3:case 99:case 100:return!0}return!1}function xM(Me){let Bn=Ml(Me);if(!_v(Bn))return!1;if(Me.resolvePackageJsonExports!==void 0)return Me.resolvePackageJsonExports;switch(Bn){case 3:case 99:case 100:return!0}return!1}function Cx(Me){return Me.resolveJsonModule!==void 0?Me.resolveJsonModule:Ml(Me)===100}function cv(Me){return!!(Me.declaration||Me.composite)}function EM(Me){return!!(Me.preserveConstEnums||zf(Me))}function wM(Me){return!!(Me.incremental||Me.composite)}function lv(Me,Bn){return Me[Bn]===void 0?!!Me.strict:!!Me[Bn]}function Ax(Me){return Me.allowJs===void 0?!!Me.checkJs:Me.allowJs}function CM(Me){return Me.useDefineForClassFields===void 0?Uf(Me)>=9:Me.useDefineForClassFields}function AM(Me,Bn){return J_(Bn,Me,semanticDiagnosticsOptionDeclarations)}function PM(Me,Bn){return J_(Bn,Me,affectsEmitOptionDeclarations)}function DM(Me,Bn){return J_(Bn,Me,affectsDeclarationPathOptionDeclarations)}function uv(Me,Bn){return Bn.strictFlag?lv(Me,Bn.name):Me[Bn.name]}function kM(Me){let Bn=Me.jsx;return Bn===2||Bn===4||Bn===5}function IM(Me,Bn){let Hn=Bn==null?void 0:Bn.pragmas.get("jsximportsource"),zn=ir(Hn)?Hn[Hn.length-1]:Hn;return Me.jsx===4||Me.jsx===5||Me.jsxImportSource||zn?(zn==null?void 0:zn.arguments.factory)||Me.jsxImportSource||"react":void 0}function NM(Me,Bn){return Me?`${Me}/${Bn.jsx===5?"jsx-dev-runtime":"jsx-runtime"}`:void 0}function OM(Me){let Bn=!1;for(let Hn=0;Hnni,getSymlinkedDirectories:()=>Hn,getSymlinkedDirectoriesByRealpath:()=>zn,setSymlinkedFile:(Me,Bn)=>(ni||(ni=new Map)).set(Me,Bn),setSymlinkedDirectory:(ni,Ci)=>{let ts=Ui(ni,Me,Bn);Hx(ts)||(ts=wo(ts),Ci!==!1&&!(Hn!=null&&Hn.has(ts))&&(zn||(zn=Be())).add(wo(Ci.realPath),ni),(Hn||(Hn=new Map)).set(ts,Ci))},setSymlinksFromResolutions(Me,Bn){var Hn,zn;qp.assert(!Ci),Ci=!0;for(let Bn of Me)(Hn=Bn.resolvedModules)==null||Hn.forEach((Me=>w(this,Me.resolvedModule))),(zn=Bn.resolvedTypeReferenceDirectiveNames)==null||zn.forEach((Me=>w(this,Me.resolvedTypeReferenceDirective)));Bn.forEach((Me=>w(this,Me.resolvedTypeReferenceDirective)))},hasProcessedResolutions:()=>Ci};function w(Hn,zn){if(!zn||!zn.originalPath||!zn.resolvedFileName)return;let{resolvedFileName:ni,originalPath:Ci}=zn;Hn.setSymlinkedFile(Ui(Ci,Me,Bn),ni);let[ts,Ps]=LM(ni,Ci,Me,Bn)||ca;ts&&Ps&&Hn.setSymlinkedDirectory(Ps,{real:ts,realPath:Ui(ts,Me,Bn)})}}function LM(Me,Bn,Hn,zn){let ni=qi(as(Me,Hn)),Ci=qi(as(Bn,Hn)),ts=!1;for(;ni.length>=2&&Ci.length>=2&&!Px(ni[ni.length-2],zn)&&!Px(Ci[Ci.length-2],zn)&&zn(ni[ni.length-1])===zn(Ci[Ci.length-1]);)ni.pop(),Ci.pop(),ts=!0;return ts?[xo(ni),xo(Ci)]:void 0}function Px(Me,Bn){return Me!==void 0&&(Bn(Me)==="node_modules"||Pn(Me,"@"))}function RM(Me){return ay(Me.charCodeAt(0))?Me.slice(1):void 0}function jM(Me,Bn,Hn){let zn=ST(Me,Bn,Hn);return zn===void 0?void 0:RM(zn)}function JM(Me){return Me.replace(GC,FM)}function FM(Me){return"\\"+Me}function Wf(Me,Bn,Hn){let zn=pv(Me,Bn,Hn);return!zn||!zn.length?void 0:`^(${zn.map((Me=>`(${Me})`)).join("|")})${Hn==="exclude"?"($|/)":"$"}`}function pv(Me,Bn,Hn){if(!(Me===void 0||Me.length===0))return ne(Me,(Me=>Me&&kx(Me,Bn,Hn,KC[Hn])))}function Dx(Me){return!/[.*?]/.test(Me)}function BM(Me,Bn,Hn){let zn=Me&&kx(Me,Bn,Hn,KC[Hn]);return zn&&`^(${zn})${Hn==="exclude"?"($|/)":"$"}`}function kx(Me,Bn,Hn,zn){let{singleAsteriskRegexFragment:ni,doubleAsteriskRegexFragment:Ci,replaceWildcardCharacter:ts}=zn,Ps="",aa=!1,oa=$p(Me,Bn),ca=Zn(oa);if(Hn!=="exclude"&&ca==="**")return;oa[0]=P_(oa[0]),Dx(ca)&&oa.push("**","*");let _a=0;for(let Me of oa){if(Me==="**")Ps+=Ci;else if(Hn==="directories"&&(Ps+="(",_a++),aa&&(Ps+=Av),Hn!=="exclude"){let Bn="";Me.charCodeAt(0)===42?(Bn+="([^./]"+ni+")?",Me=Me.substr(1)):Me.charCodeAt(0)===63&&(Bn+="[^./]",Me=Me.substr(1)),Bn+=Me.replace(GC,ts),Bn!==Me&&(Ps+=JC),Ps+=Bn}else Ps+=Me.replace(GC,ts);aa=!0}for(;_a>0;)Ps+=")?",_a--;return Ps}function fv(Me,Bn){return Me==="*"?Bn:Me==="?"?"[^/]":"\\"+Me}function Ix(Me,Bn,Hn,zn,ni){Me=Un(Me),ni=Un(ni);let Ci=tn(ni,Me);return{includeFilePatterns:Ze(pv(Hn,Ci,"files"),(Me=>`^${Me}$`)),includeFilePattern:Wf(Hn,Ci,"files"),includeDirectoryPattern:Wf(Hn,Ci,"directories"),excludePattern:Wf(Bn,Ci,"exclude"),basePaths:UM(Me,Hn,zn)}}function Vf(Me,Bn){return new RegExp(Me,Bn?"":"i")}function qM(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa){Me=Un(Me),Ci=Un(Ci);let oa=Ix(Me,Hn,zn,ni,Ci),ca=oa.includeFilePatterns&&oa.includeFilePatterns.map((Me=>Vf(Me,ni))),_a=oa.includeDirectoryPattern&&Vf(oa.includeDirectoryPattern,ni),xa=oa.excludePattern&&Vf(oa.excludePattern,ni),Ga=ca?ca.map((()=>[])):[[]],Ha=new Map,so=wp(ni);for(let Me of oa.basePaths)Se(Me,tn(Ci,Me),ts);return ct(Ga);function Se(Me,Hn,zn){let ni=so(aa(Hn));if(Ha.has(ni))return;Ha.set(ni,!0);let{files:Ci,directories:ts}=Ps(Me);for(let zn of Is(Ci,ri)){let ni=tn(Me,zn),Ci=tn(Hn,zn);if(!(Bn&&!da(ni,Bn))&&!(xa&&xa.test(Ci)))if(!ca)Ga[0].push(ni);else{let Me=he(ca,(Me=>Me.test(Ci)));Me!==-1&&Ga[Me].push(ni)}}if(!(zn!==void 0&&(zn--,zn===0)))for(let Bn of Is(ts,ri)){let ni=tn(Me,Bn),Ci=tn(Hn,Bn);(!_a||_a.test(Ci))&&(!xa||!xa.test(Ci))&&Se(ni,Ci,zn)}}}function UM(Me,Bn,Hn){let zn=[Me];if(Bn){let ni=[];for(let Hn of Bn){let Bn=A_(Hn)?Hn:Un(tn(Me,Hn));ni.push(zM(Bn))}ni.sort(rl(!Hn));for(let Bn of ni)me(zn,(zn=>!jT(zn,Bn,Me,!Hn)))&&zn.push(Bn)}return zn}function zM(Me){let Bn=Je(Me,HC);return Bn<0?OT(Me)?P_(ma(Me)):Me:Me.substring(0,Me.lastIndexOf(Av,Bn))}function Nx(Me,Bn){return Bn||Ox(Me)||3}function Ox(Me){switch(Me.substr(Me.lastIndexOf(".")).toLowerCase()){case".js":case".cjs":case".mjs":return 1;case".jsx":return 2;case".ts":case".cts":case".mts":return 3;case".tsx":return 4;case".json":return 6;default:return 0}}function Mx(Me,Bn){let Hn=Me&&Ax(Me);if(!Bn||Bn.length===0)return Hn?rw:zC;let zn=Hn?rw:zC,ni=ct(zn);return[...zn,...qt(Bn,(Me=>Me.scriptKind===7||Hn&&WM(Me.scriptKind)&&ni.indexOf(Me.extension)===-1?[Me.extension]:void 0))]}function Lx(Me,Bn){return!Me||!Cx(Me)?Bn:Bn===rw?nw:Bn===zC?ZC:[...Bn,[".json"]]}function WM(Me){return Me===1||Me===2}function dv(Me){return Ke(tw,(Bn=>ns(Me,Bn)))}function mv(Me){return Ke(XC,(Bn=>ns(Me,Bn)))}function Rx(Me){let{imports:Bn}=Me,Hn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:W1(dv,mv);return q(Bn,(Me=>{let{text:Bn}=Me;return So(Bn)?Hn(Bn):void 0}))||!1}function VM(Me,Bn,Hn,zn){if(Me==="js"||Bn===99)return shouldAllowImportingTsExtension(Hn)&&f()!==2?3:2;if(Me==="minimal")return 0;if(Me==="index")return 1;if(!shouldAllowImportingTsExtension(Hn))return Rx(zn)?2:0;return f();function f(){let Me=!1,Bn=zn.imports.length?zn.imports.map((Me=>Me.text)):y0(zn)?HM(zn).map((Me=>Me.arguments[0].text)):ca;for(let Hn of Bn)if(So(Hn)){if(mv(Hn))return 3;dv(Hn)&&(Me=!0)}return Me?2:0}}function HM(Me){let Bn=0,Hn;for(let zn of Me.statements){if(Bn>3)break;W3(zn)?Hn=Ft(Hn,zn.declarationList.declarations.map((Me=>Me.initializer))):Zl(zn)&&El(zn.expression,!0)?Hn=tr(Hn,zn.expression):Bn++}return Hn||ca}function GM(Me,Bn,Hn){if(!Me)return!1;let zn=Mx(Bn,Hn);for(let Hn of ct(Lx(Bn,zn)))if(ns(Me,Hn))return!0;return!1}function jx(Me){let Bn=Me.match(/\//g);return Bn?Bn.length:0}function $M(Me,Bn){return Vr(jx(Me),jx(Bn))}function Ll(Me){for(let Bn of ow){let Hn=Jx(Me,Bn);if(Hn!==void 0)return Hn}return Me}function Jx(Me,Bn){return ns(Me,Bn)?Fx(Me,Bn):void 0}function Fx(Me,Bn){return Me.substring(0,Me.length-Bn.length)}function KM(Me,Bn){return RT(Me,Bn,ow,!1)}function Bx(Me){let Bn=Me.indexOf("*");return Bn===-1?Me:Me.indexOf("*",Bn+1)!==-1?void 0:{prefix:Me.substr(0,Bn),suffix:Me.substr(Bn+1)}}function XM(Me){return qt(ho(Me),(Me=>Bx(Me)))}function hs(Me){return!(Me>=0)}function qx(Me){return Me===".ts"||Me===".tsx"||Me===".d.ts"||Me===".cts"||Me===".mts"||Me===".d.mts"||Me===".d.cts"||Pn(Me,".d.")&&es(Me,".ts")}function YM(Me){return qx(Me)||Me===".json"}function QM(Me){let Bn=hv(Me);return Bn!==void 0?Bn:qp.fail(`File ${Me} has unknown extension.`)}function ZM(Me){return hv(Me)!==void 0}function hv(Me){return Ae(ow,(Bn=>ns(Me,Bn)))}function eL(Me,Bn){return Me.checkJsDirective?Me.checkJsDirective.enabled:Bn.checkJs}function tL(Me,Bn){let Hn=[];for(let zn of Me){if(zn===Bn)return Bn;Ji(zn)||Hn.push(zn)}return TT(Hn,(Me=>Me),Bn)}function rL(Me,Bn){let Hn=Me.indexOf(Bn);return qp.assert(Hn!==-1),Me.slice(Hn)}function Rl(Me){for(var Bn=arguments.length,Hn=new Array(Bn>1?Bn-1:0),zn=1;znzn&&(zn=Ci)}return{min:Hn,max:zn}}function iL(Me){return{pos:Io(Me),end:Me.end}}function aL(Me,Bn){let Hn=Bn.pos-1,zn=Math.min(Me.text.length,Ar(Me.text,Bn.end)+1);return{pos:Hn,end:zn}}function sL(Me,Bn,Hn){return Bn.skipLibCheck&&Me.isDeclarationFile||Bn.skipDefaultLibCheck&&Me.hasNoDefaultLib||Hn.isSourceOfProjectReferenceRedirect(Me.fileName)}function gv(Me,Bn){return Me===Bn||typeof Me=="object"&&Me!==null&&typeof Bn=="object"&&Bn!==null&&S_(Me,Bn,gv)}function Hf(Me){let Bn;switch(Me.charCodeAt(1)){case 98:case 66:Bn=1;break;case 111:case 79:Bn=3;break;case 120:case 88:Bn=4;break;default:let Hn=Me.length-1,zn=0;for(;Me.charCodeAt(zn)===48;)zn++;return Me.slice(zn,Hn)||"0"}let Hn=2,zn=Me.length-1,ni=(zn-Hn)*Bn,Ci=new Uint16Array((ni>>>4)+(ni&15?1:0));for(let ni=zn-1,ts=0;ni>=Hn;ni--,ts+=Bn){let Bn=ts>>>4,Hn=Me.charCodeAt(ni),zn=(Hn<=57?Hn-48:10+Hn-(Hn<=70?65:97))<<(ts&15);Ci[Bn]|=zn;let Ps=zn>>>16;Ps&&(Ci[Bn+1]|=Ps)}let ts="",Ps=Ci.length-1,aa=!0;for(;aa;){let Me=0;aa=!1;for(let Bn=Ps;Bn>=0;Bn--){let Hn=Me<<16|Ci[Bn],zn=Hn/10|0;Ci[Bn]=zn,Me=Hn-zn*10,zn&&!aa&&(Ps=Bn,aa=!0)}ts=Me+ts}return ts}function yv(Me){let{negative:Bn,base10Value:Hn}=Me;return(Bn&&Hn!=="0"?"-":"")+Hn}function oL(Me){if(zx(Me,!1))return Ux(Me)}function Ux(Me){let Bn=Me.startsWith("-"),Hn=Hf(`${Bn?Me.slice(1):Me}n`);return{negative:Bn,base10Value:Hn}}function zx(Me,Bn){if(Me==="")return!1;let Hn=Po(99,!1),zn=!0;Hn.setOnError((()=>zn=!1)),Hn.setText(Me+"n");let ni=Hn.scan(),Ci=ni===40;Ci&&(ni=Hn.scan());let ts=Hn.getTokenFlags();return zn&&ni===9&&Hn.getTextPos()===Me.length+1&&!(ts&512)&&(!Bn||Me===yv({negative:Ci,base10Value:Hf(Hn.getTokenValue())}))}function _L(Me){return!!(Me.flags&16777216)||F3(Me)||uL(Me)||lL(Me)||!(g0(Me)||cL(Me))}function cL(Me){return yt(Me)&&nu(Me.parent)&&Me.parent.name===Me}function lL(Me){for(;Me.kind===79||Me.kind===208;)Me=Me.parent;if(Me.kind!==164)return!1;if(rn(Me.parent,256))return!0;let Bn=Me.parent.parent.kind;return Bn===261||Bn===184}function uL(Me){if(Me.kind!==79)return!1;let Bn=zi(Me.parent,(Me=>{switch(Me.kind){case 294:return!0;case 208:case 230:return!1;default:return"quit"}}));return(Bn==null?void 0:Bn.token)===117||(Bn==null?void 0:Bn.parent.kind)===261}function pL(Me){return ac(Me)&&yt(Me.typeName)}function fL(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fa;if(Me.length<2)return!0;let Hn=Me[0];for(let zn=1,ni=Me.length;znFi(Me,Bn)))}function yL(Me){if(!Me.parent)return;switch(Me.kind){case 165:let{parent:Bn}=Me;return Bn.kind===192?void 0:Bn.typeParameters;case 166:return Me.parent.parameters;case 201:return Me.parent.templateSpans;case 236:return Me.parent.templateSpans;case 167:{let{parent:Bn}=Me;return ME(Bn)?Bn.modifiers:void 0}case 294:return Me.parent.heritageClauses}let{parent:Bn}=Me;if(zy(Me))return f2(Me.parent)?void 0:Me.parent.tags;switch(Bn.kind){case 184:case 261:return Ry(Me)?Bn.members:void 0;case 189:case 190:return Bn.types;case 186:case 206:case 357:case 272:case 276:return Bn.elements;case 207:case 289:return Bn.properties;case 210:case 211:return Jy(Me)?Bn.typeArguments:Bn.expression===Me?void 0:Bn.arguments;case 281:case 285:return o3(Me)?Bn.children:void 0;case 283:case 282:return Jy(Me)?Bn.typeArguments:void 0;case 238:case 292:case 293:case 265:return Bn.statements;case 266:return Bn.clauses;case 260:case 228:return Js(Me)?Bn.members:void 0;case 263:return cE(Me)?Bn.members:void 0;case 308:return Bn.statements}}function vL(Me){if(!Me.typeParameters){if(Ke(Me.parameters,(Me=>!V0(Me))))return!0;if(Me.kind!==216){let Bn=pa(Me.parameters);if(!(Bn&&kl(Bn)))return!0}}return!1}function bL(Me){return Me==="Infinity"||Me==="-Infinity"||Me==="NaN"}function Gx(Me){return Me.kind===257&&Me.parent.kind===295}function TL(Me){let Bn=Me.valueDeclaration&&If(Me.valueDeclaration);return!!Bn&&(Vs(Bn)||Gx(Bn))}function SL(Me){return Me.kind===215||Me.kind===216}function xL(Me){return Me.replace(/\$/gm,(()=>"\\$"))}function $x(Me){return(+Me).toString()===Me}function EL(Me,Bn,Hn,zn){return vy(Me,Bn)?vw.createIdentifier(Me):!zn&&$x(Me)&&+Me>=0?vw.createNumericLiteral(+Me):vw.createStringLiteral(Me,!!Hn)}function Kx(Me){return!!(Me.flags&262144&&Me.isThisType)}function wL(Me){let Bn=0,Hn=0,zn=0,ni=0,Ci;(Me=>{Me[Me.BeforeNodeModules=0]="BeforeNodeModules",Me[Me.NodeModules=1]="NodeModules",Me[Me.Scope=2]="Scope",Me[Me.PackageContent=3]="PackageContent"})(Ci||(Ci={}));let ts=0,Ps=0,aa=0;for(;Ps>=0;)switch(ts=Ps,Ps=Me.indexOf("/",ts+1),aa){case 0:Me.indexOf(nodeModulesPathPart,ts)===ts&&(Bn=ts,Hn=Ps,aa=1);break;case 1:case 2:aa===1&&Me.charAt(ts+1)==="@"?aa=2:(zn=Ps,aa=3);break;case 3:Me.indexOf(nodeModulesPathPart,ts)===ts?aa=1:aa=3;break}return ni=ts,aa>1?{topLevelNodeModulesIndex:Bn,topLevelPackageNameIndex:Hn,packageRootIndex:zn,fileNameIndex:ni}:void 0}function CL(Me){var Bn;return Me.kind===344?(Bn=Me.typeExpression)==null?void 0:Bn.type:Me.type}function Xx(Me){switch(Me.kind){case 165:case 260:case 261:case 262:case 263:case 349:case 341:case 343:return!0;case 270:return Me.isTypeOnly;case 273:case 278:return Me.parent.parent.isTypeOnly;default:return!1}}function AL(Me){return i2(Me)||zo(Me)||Wo(Me)||_c(Me)||eu(Me)||Xx(Me)||Ea(Me)&&!Xy(Me)&&!vf(Me)}function Yx(Me){if(!Dy(Me))return!1;let{isBracketed:Bn,typeExpression:Hn}=Me;return Bn||!!Hn&&Hn.type.kind===319}function PL(Me,Bn){if(Me.length===0)return!1;let Hn=Me.charCodeAt(0);return Hn===35?Me.length>1&&Wn(Me.charCodeAt(1),Bn):Wn(Hn,Bn)}function Qx(Me){var Bn;return((Bn=getSnippetElement(Me))==null?void 0:Bn.kind)===0}function Zx(Me){return Pr(Me)&&(Me.type&&Me.type.kind===319||of(Me).some((Me=>{let{isBracketed:Bn,typeExpression:Hn}=Me;return Bn||!!Hn&&Hn.type.kind===319})))}function DL(Me){switch(Me.kind){case 169:case 168:return!!Me.questionToken;case 166:return!!Me.questionToken||Zx(Me);case 351:case 344:return Yx(Me);default:return!1}}function kL(Me){let Bn=Me.kind;return(Bn===208||Bn===209)&&Uo(Me.expression)}function IL(Me){return Pr(Me)&&qo(Me)&&ya(Me)&&!!wy(Me)}function NL(Me){return qp.checkDefined(e8(Me))}function e8(Me){let Bn=wy(Me);return Bn&&Bn.typeExpression&&Bn.typeExpression.type}var fC,dC,hC,AC,mC,gC,_C,yC,vC,EC,bC,CC,DC,wC,SC,IC,xC,kC,BC,TC,FC,NC,QC,RC,PC,OC,LC,MC,jC,UC,GC,HC,qC,JC,$C,YC,WC,KC,zC,XC,ZC,iD,ew,tw,rw,nw,iw,sw,aw,ow,uw,cw=D({"src/compiler/utilities.ts"(){"use strict";Gw(),fC=[],dC="tslib",hC=160,AC=1e6,mC=_D(),gC=(Me=>(Me[Me.None=0]="None",Me[Me.NeverAsciiEscape=1]="NeverAsciiEscape",Me[Me.JsxAttributeEscape=2]="JsxAttributeEscape",Me[Me.TerminateUnterminatedLiterals=4]="TerminateUnterminatedLiterals",Me[Me.AllowNumericSeparator=8]="AllowNumericSeparator",Me))(gC||{}),_C=/^(\/\/\/\s*/,yC=/^(\/\/\/\s*/,vC=/^(\/\/\/\s*/,EC=/^(\/\/\/\s*/,bC=(Me=>(Me[Me.None=0]="None",Me[Me.Definite=1]="Definite",Me[Me.Compound=2]="Compound",Me))(bC||{}),CC=(Me=>(Me[Me.Normal=0]="Normal",Me[Me.Generator=1]="Generator",Me[Me.Async=2]="Async",Me[Me.Invalid=4]="Invalid",Me[Me.AsyncGenerator=3]="AsyncGenerator",Me))(CC||{}),DC=(Me=>(Me[Me.Left=0]="Left",Me[Me.Right=1]="Right",Me))(DC||{}),wC=(Me=>(Me[Me.Comma=0]="Comma",Me[Me.Spread=1]="Spread",Me[Me.Yield=2]="Yield",Me[Me.Assignment=3]="Assignment",Me[Me.Conditional=4]="Conditional",Me[Me.Coalesce=4]="Coalesce",Me[Me.LogicalOR=5]="LogicalOR",Me[Me.LogicalAND=6]="LogicalAND",Me[Me.BitwiseOR=7]="BitwiseOR",Me[Me.BitwiseXOR=8]="BitwiseXOR",Me[Me.BitwiseAND=9]="BitwiseAND",Me[Me.Equality=10]="Equality",Me[Me.Relational=11]="Relational",Me[Me.Shift=12]="Shift",Me[Me.Additive=13]="Additive",Me[Me.Multiplicative=14]="Multiplicative",Me[Me.Exponentiation=15]="Exponentiation",Me[Me.Unary=16]="Unary",Me[Me.Update=17]="Update",Me[Me.LeftHandSide=18]="LeftHandSide",Me[Me.Member=19]="Member",Me[Me.Primary=20]="Primary",Me[Me.Highest=20]="Highest",Me[Me.Lowest=0]="Lowest",Me[Me.Invalid=-1]="Invalid",Me))(wC||{}),SC=/\$\{/g,IC=/[\\\"\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,xC=/[\\\'\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,kC=/\r\n|[\\\`\u0000-\u001f\t\v\f\b\r\u2028\u2029\u0085]/g,BC=new Map(Object.entries({"\t":"\\t","\v":"\\v","\f":"\\f","\b":"\\b","\r":"\\r","\n":"\\n","\\":"\\\\",'"':'\\"',"'":"\\'","`":"\\`","\u2028":"\\u2028","\u2029":"\\u2029","…":"\\u0085","\r\n":"\\r\\n"})),TC=/[^\u0000-\u007F]/g,FC=/[\"\u0000-\u001f\u2028\u2029\u0085]/g,NC=/[\'\u0000-\u001f\u2028\u2029\u0085]/g,QC=new Map(Object.entries({'"':""","'":"'"})),RC=[""," "],PC="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",OC=`\r\n`,LC=`\n`,MC={getNodeConstructor:()=>nv,getTokenConstructor:()=>nM,getIdentifierConstructor:()=>iM,getPrivateIdentifierConstructor:()=>nv,getSourceFileConstructor:()=>nv,getSymbolConstructor:()=>eM,getTypeConstructor:()=>tM,getSignatureConstructor:()=>rM,getSourceMapSourceConstructor:()=>aM},jC=[],GC=/[^\w\s\/]/g,HC=[42,63],qC=["node_modules","bower_components","jspm_packages"],JC=`(?!(${qC.join("|")})(/|$))`,$C={singleAsteriskRegexFragment:"([^./]|(\\.(?!min\\.js$))?)*",doubleAsteriskRegexFragment:`(/${JC}[^/.][^/]*)*?`,replaceWildcardCharacter:Me=>fv(Me,$C.singleAsteriskRegexFragment)},YC={singleAsteriskRegexFragment:"[^/]*",doubleAsteriskRegexFragment:`(/${JC}[^/.][^/]*)*?`,replaceWildcardCharacter:Me=>fv(Me,YC.singleAsteriskRegexFragment)},WC={singleAsteriskRegexFragment:"[^/]*",doubleAsteriskRegexFragment:"(/.+?)?",replaceWildcardCharacter:Me=>fv(Me,WC.singleAsteriskRegexFragment)},KC={files:$C,directories:YC,exclude:WC},zC=[[".ts",".tsx",".d.ts"],[".cts",".d.cts"],[".mts",".d.mts"]],XC=ct(zC),ZC=[...zC,[".json"]],iD=[".d.ts",".d.cts",".d.mts",".cts",".mts",".ts",".tsx",".cts",".mts"],ew=[[".js",".jsx"],[".mjs"],[".cjs"]],tw=ct(ew),rw=[[".ts",".tsx",".d.ts",".js",".jsx"],[".cts",".d.cts",".cjs"],[".mts",".d.mts",".mjs"]],nw=[...rw,[".json"]],iw=[".d.ts",".d.cts",".d.mts"],sw=[".ts",".cts",".mts",".tsx"],aw=(Me=>(Me[Me.Minimal=0]="Minimal",Me[Me.Index=1]="Index",Me[Me.JsExtension=2]="JsExtension",Me[Me.TsExtension=3]="TsExtension",Me))(aw||{}),ow=[".d.ts",".d.mts",".d.cts",".mjs",".mts",".cjs",".cts",".ts",".js",".tsx",".jsx",".json"],uw={files:ca,directories:ca}}});function S8(){let Me,Bn,Hn,zn,ni;return{createBaseSourceFileNode:x,createBaseIdentifierNode:w,createBasePrivateIdentifierNode:A,createBaseTokenNode:g,createBaseNode:B};function x(Me){return new(ni||(ni=MC.getSourceFileConstructor()))(Me,-1,-1)}function w(Me){return new(Hn||(Hn=MC.getIdentifierConstructor()))(Me,-1,-1)}function A(Me){return new(zn||(zn=MC.getPrivateIdentifierConstructor()))(Me,-1,-1)}function g(Me){return new(Bn||(Bn=MC.getTokenConstructor()))(Me,-1,-1)}function B(Bn){return new(Me||(Me=MC.getNodeConstructor()))(Bn,-1,-1)}}var lw=D({"src/compiler/factory/baseNodeFactory.ts"(){"use strict";Gw()}}),pw,fw=D({"src/compiler/factory/parenthesizerRules.ts"(){"use strict";Gw(),pw={getParenthesizeLeftSideOfBinaryForOperator:Me=>rr,getParenthesizeRightSideOfBinaryForOperator:Me=>rr,parenthesizeLeftSideOfBinary:(Me,Bn)=>Bn,parenthesizeRightSideOfBinary:(Me,Bn,Hn)=>Hn,parenthesizeExpressionOfComputedPropertyName:rr,parenthesizeConditionOfConditionalExpression:rr,parenthesizeBranchOfConditionalExpression:rr,parenthesizeExpressionOfExportDefault:rr,parenthesizeExpressionOfNew:Me=>ti(Me,Do),parenthesizeLeftSideOfAccess:Me=>ti(Me,Do),parenthesizeOperandOfPostfixUnary:Me=>ti(Me,Do),parenthesizeOperandOfPrefixUnary:Me=>ti(Me,t3),parenthesizeExpressionsOfCommaDelimitedList:Me=>ti(Me,_s),parenthesizeExpressionForDisallowedComma:rr,parenthesizeExpressionOfExpressionStatement:rr,parenthesizeConciseBodyOfArrowFunction:rr,parenthesizeCheckTypeOfConditionalType:rr,parenthesizeExtendsTypeOfConditionalType:rr,parenthesizeConstituentTypesOfUnionType:Me=>ti(Me,_s),parenthesizeConstituentTypeOfUnionType:rr,parenthesizeConstituentTypesOfIntersectionType:Me=>ti(Me,_s),parenthesizeConstituentTypeOfIntersectionType:rr,parenthesizeOperandOfTypeOperator:rr,parenthesizeOperandOfReadonlyTypeOperator:rr,parenthesizeNonArrayTypeOfPostfixType:rr,parenthesizeElementTypesOfTupleType:Me=>ti(Me,_s),parenthesizeElementTypeOfTupleType:rr,parenthesizeTypeOfOptionalType:rr,parenthesizeTypeArguments:Me=>Me&&ti(Me,_s),parenthesizeLeadingTypeArgument:rr}}}),RL=()=>{},x8=()=>new Proxy({},{get:()=>()=>{}});function jL(Me){Aw.push(Me)}function Zf(Me,Bn){let Hn=Me&8?JL:FL,zn=tl((()=>Me&1?pw:createParenthesizerRules(tc))),ni=tl((()=>Me&2?nullNodeConverters:x8(tc))),Ci=An((Me=>(Bn,Hn)=>xu(Bn,Me,Hn))),ts=An((Me=>Bn=>Tu(Me,Bn))),Ps=An((Me=>Bn=>Su(Bn,Me))),aa=An((Me=>()=>db(Me))),oa=An((Me=>Bn=>Ac(Me,Bn))),_a=An((Me=>(Bn,Hn)=>mb(Me,Bn,Hn))),xa=An((Me=>(Bn,Hn)=>Km(Me,Bn,Hn))),Ga=An((Me=>(Bn,Hn)=>Xm(Me,Bn,Hn))),Ha=An((Me=>(Bn,Hn)=>ph(Me,Bn,Hn))),so=An((Me=>(Bn,Hn,zn)=>Cb(Me,Bn,Hn,zn))),oo=An((Me=>(Bn,Hn,zn)=>fh(Me,Bn,Hn,zn))),Jo=An((Me=>(Bn,Hn,zn,ni)=>Ab(Me,Bn,Hn,zn,ni))),tc={get parenthesizer(){return zn()},get converters(){return ni()},baseFactory:Bn,flags:Me,createNodeArray:Ne,createNumericLiteral:Gt,createBigIntLiteral:Nt,createStringLiteral:er,createStringLiteralFromNode:Tn,createRegularExpressionLiteral:Hr,createLiteralLikeNode:Gi,createIdentifier:Ut,createTempVariable:kn,createLoopVariable:an,createUniqueName:mr,getGeneratedNameForNode:$i,createPrivateIdentifier:Ur,createUniquePrivateName:_r,getGeneratedPrivateNameForNode:Sn,createToken:pr,createSuper:Zt,createThis:Or,createNull:Nn,createTrue:ar,createFalse:oi,createModifier:cr,createModifiersFromModifierFlags:$r,createQualifiedName:hr,updateQualifiedName:On,createComputedPropertyName:nr,updateComputedPropertyName:br,createTypeParameterDeclaration:Kr,updateTypeParameterDeclaration:wa,createParameterDeclaration:$n,updateParameterDeclaration:Ki,createDecorator:Mn,updateDecorator:_i,createPropertySignature:Ca,updatePropertySignature:St,createPropertyDeclaration:He,updatePropertyDeclaration:_t,createMethodSignature:ft,updateMethodSignature:Kt,createMethodDeclaration:zt,updateMethodDeclaration:xe,createConstructorDeclaration:Mt,updateConstructorDeclaration:It,createGetAccessorDeclaration:gr,updateGetAccessorDeclaration:Ln,createSetAccessorDeclaration:ci,updateSetAccessorDeclaration:Xi,createCallSignature:vs,updateCallSignature:$s,createConstructSignature:li,updateConstructSignature:Yi,createIndexSignature:Qi,updateIndexSignature:bs,createClassStaticBlockDeclaration:Re,updateClassStaticBlockDeclaration:ot,createTemplateLiteralTypeSpan:Ai,updateTemplateLiteralTypeSpan:xn,createKeywordTypeNode:Dt,createTypePredicateNode:Pi,updateTypePredicateNode:Z,createTypeReferenceNode:ie,updateTypeReferenceNode:U,createFunctionTypeNode:L,updateFunctionTypeNode:fe,createConstructorTypeNode:it,updateConstructorTypeNode:Ge,createTypeQueryNode:Yt,updateTypeQueryNode:$t,createTypeLiteralNode:Wt,updateTypeLiteralNode:Xr,createArrayTypeNode:Dr,updateArrayTypeNode:Lr,createTupleTypeNode:yr,updateTupleTypeNode:Rn,createNamedTupleMember:wt,updateNamedTupleMember:Tr,createOptionalTypeNode:Tt,updateOptionalTypeNode:kt,createRestTypeNode:de,updateRestTypeNode:jn,createUnionTypeNode:e_,updateUnionTypeNode:mc,createIntersectionTypeNode:Da,updateIntersectionTypeNode:Ts,createConditionalTypeNode:Ot,updateConditionalTypeNode:dr,createInferTypeNode:Dd,updateInferTypeNode:ea,createImportTypeNode:Id,updateImportTypeNode:ka,createParenthesizedType:t_,updateParenthesizedType:En,createThisTypeNode:Er,createTypeOperatorNode:Q,updateTypeOperatorNode:Jn,createIndexedAccessTypeNode:Ia,updateIndexedAccessTypeNode:Ss,createMappedTypeNode:hc,updateMappedTypeNode:wr,createLiteralTypeNode:zr,updateLiteralTypeNode:xs,createTemplateLiteralType:kd,updateTemplateLiteralType:sn,createObjectBindingPattern:Nd,updateObjectBindingPattern:R2,createArrayBindingPattern:Es,updateArrayBindingPattern:j2,createBindingElement:gc,updateBindingElement:Ks,createArrayLiteralExpression:uu,updateArrayLiteralExpression:Od,createObjectLiteralExpression:r_,updateObjectLiteralExpression:J2,createPropertyAccessExpression:Me&4?(Me,Bn)=>setEmitFlags(ta(Me,Bn),262144):ta,updatePropertyAccessExpression:Ld,createPropertyAccessChain:Me&4?(Me,Bn,Hn)=>setEmitFlags(Xs(Me,Bn,Hn),262144):Xs,updatePropertyAccessChain:Rd,createElementAccessExpression:pu,updateElementAccessExpression:F2,createElementAccessChain:fu,updateElementAccessChain:jd,createCallExpression:Na,updateCallExpression:B2,createCallChain:du,updateCallChain:Kn,createNewExpression:vc,updateNewExpression:mu,createTaggedTemplateExpression:hu,updateTaggedTemplateExpression:q2,createTypeAssertion:Fd,updateTypeAssertion:Bd,createParenthesizedExpression:gu,updateParenthesizedExpression:qd,createFunctionExpression:yu,updateFunctionExpression:Ud,createArrowFunction:vu,updateArrowFunction:zd,createDeleteExpression:bu,updateDeleteExpression:U2,createTypeOfExpression:mn,updateTypeOfExpression:z2,createVoidExpression:ui,updateVoidExpression:W2,createAwaitExpression:Oa,updateAwaitExpression:Ys,createPrefixUnaryExpression:Tu,updatePrefixUnaryExpression:bc,createPostfixUnaryExpression:Su,updatePostfixUnaryExpression:Wd,createBinaryExpression:xu,updateBinaryExpression:V2,createConditionalExpression:Eu,updateConditionalExpression:H2,createTemplateExpression:Di,updateTemplateExpression:Hd,createTemplateHead:Sc,createTemplateMiddle:Cu,createTemplateTail:G2,createNoSubstitutionTemplateLiteral:$d,createTemplateLiteralLikeNode:Qs,createYieldExpression:Kd,updateYieldExpression:$2,createSpreadElement:Xd,updateSpreadElement:K2,createClassExpression:Yd,updateClassExpression:xc,createOmittedExpression:X2,createExpressionWithTypeArguments:Qd,updateExpressionWithTypeArguments:Xn,createAsExpression:Ec,updateAsExpression:Zd,createNonNullExpression:em,updateNonNullExpression:Au,createSatisfiesExpression:tm,updateSatisfiesExpression:Pu,createNonNullChain:pi,updateNonNullChain:rm,createMetaProperty:wc,updateMetaProperty:ra,createTemplateSpan:i_,updateTemplateSpan:nm,createSemicolonClassElement:im,createBlock:Zs,updateBlock:am,createVariableStatement:sm,updateVariableStatement:om,createEmptyStatement:Du,createExpressionStatement:a_,updateExpressionStatement:Y2,createIfStatement:ku,updateIfStatement:Q2,createDoStatement:Iu,updateDoStatement:Z2,createWhileStatement:_m,updateWhileStatement:eb,createForStatement:Nu,updateForStatement:cm,createForInStatement:lm,updateForInStatement:tb,createForOfStatement:um,updateForOfStatement:rb,createContinueStatement:pm,updateContinueStatement:fm,createBreakStatement:Ou,updateBreakStatement:dm,createReturnStatement:mm,updateReturnStatement:nb,createWithStatement:Mu,updateWithStatement:hm,createSwitchStatement:Lu,updateSwitchStatement:eo,createLabeledStatement:gm,updateLabeledStatement:ym,createThrowStatement:vm,updateThrowStatement:ib,createTryStatement:bm,updateTryStatement:ab,createDebuggerStatement:Tm,createVariableDeclaration:Cc,updateVariableDeclaration:Sm,createVariableDeclarationList:Ru,updateVariableDeclarationList:sb,createFunctionDeclaration:xm,updateFunctionDeclaration:ju,createClassDeclaration:Em,updateClassDeclaration:Ju,createInterfaceDeclaration:wm,updateInterfaceDeclaration:Cm,createTypeAliasDeclaration:sr,updateTypeAliasDeclaration:Ma,createEnumDeclaration:Fu,updateEnumDeclaration:La,createModuleDeclaration:Am,updateModuleDeclaration:Sr,createModuleBlock:Ra,updateModuleBlock:Yr,createCaseBlock:Pm,updateCaseBlock:_b,createNamespaceExportDeclaration:Dm,updateNamespaceExportDeclaration:km,createImportEqualsDeclaration:Im,updateImportEqualsDeclaration:Nm,createImportDeclaration:Om,updateImportDeclaration:Mm,createImportClause:Lm,updateImportClause:Rm,createAssertClause:Bu,updateAssertClause:lb,createAssertEntry:s_,updateAssertEntry:jm,createImportTypeAssertionContainer:qu,updateImportTypeAssertionContainer:Jm,createNamespaceImport:Fm,updateNamespaceImport:Uu,createNamespaceExport:Bm,updateNamespaceExport:qm,createNamedImports:Um,updateNamedImports:ub,createImportSpecifier:zm,updateImportSpecifier:pb,createExportAssignment:zu,updateExportAssignment:Wu,createExportDeclaration:na,updateExportDeclaration:Wm,createNamedExports:to,updateNamedExports:Hm,createExportSpecifier:Vu,updateExportSpecifier:o_,createMissingDeclaration:fb,createExternalModuleReference:Gm,updateExternalModuleReference:$m,get createJSDocAllType(){return aa(315)},get createJSDocUnknownType(){return aa(316)},get createJSDocNonNullableType(){return xa(318)},get updateJSDocNonNullableType(){return Ga(318)},get createJSDocNullableType(){return xa(317)},get updateJSDocNullableType(){return Ga(317)},get createJSDocOptionalType(){return oa(319)},get updateJSDocOptionalType(){return _a(319)},get createJSDocVariadicType(){return oa(321)},get updateJSDocVariadicType(){return _a(321)},get createJSDocNamepathType(){return oa(322)},get updateJSDocNamepathType(){return _a(322)},createJSDocFunctionType:Ym,updateJSDocFunctionType:hb,createJSDocTypeLiteral:Qm,updateJSDocTypeLiteral:gb,createJSDocTypeExpression:Zm,updateJSDocTypeExpression:yb,createJSDocSignature:eh,updateJSDocSignature:Hu,createJSDocTemplateTag:__,updateJSDocTemplateTag:Gu,createJSDocTypedefTag:$u,updateJSDocTypedefTag:th,createJSDocParameterTag:Pc,updateJSDocParameterTag:vb,createJSDocPropertyTag:Ku,updateJSDocPropertyTag:bb,createJSDocCallbackTag:rh,updateJSDocCallbackTag:nh,createJSDocOverloadTag:ih,updateJSDocOverloadTag:ah,createJSDocAugmentsTag:sh,updateJSDocAugmentsTag:Xu,createJSDocImplementsTag:Yu,updateJSDocImplementsTag:wb,createJSDocSeeTag:ro,updateJSDocSeeTag:Tb,createJSDocNameReference:ws,updateJSDocNameReference:Dc,createJSDocMemberName:oh,updateJSDocMemberName:Sb,createJSDocLink:_h,updateJSDocLink:xb,createJSDocLinkCode:ch,updateJSDocLinkCode:lh,createJSDocLinkPlain:uh,updateJSDocLinkPlain:Eb,get createJSDocTypeTag(){return oo(347)},get updateJSDocTypeTag(){return Jo(347)},get createJSDocReturnTag(){return oo(345)},get updateJSDocReturnTag(){return Jo(345)},get createJSDocThisTag(){return oo(346)},get updateJSDocThisTag(){return Jo(346)},get createJSDocAuthorTag(){return Ha(333)},get updateJSDocAuthorTag(){return so(333)},get createJSDocClassTag(){return Ha(335)},get updateJSDocClassTag(){return so(335)},get createJSDocPublicTag(){return Ha(336)},get updateJSDocPublicTag(){return so(336)},get createJSDocPrivateTag(){return Ha(337)},get updateJSDocPrivateTag(){return so(337)},get createJSDocProtectedTag(){return Ha(338)},get updateJSDocProtectedTag(){return so(338)},get createJSDocReadonlyTag(){return Ha(339)},get updateJSDocReadonlyTag(){return so(339)},get createJSDocOverrideTag(){return Ha(340)},get updateJSDocOverrideTag(){return so(340)},get createJSDocDeprecatedTag(){return Ha(334)},get updateJSDocDeprecatedTag(){return so(334)},get createJSDocThrowsTag(){return oo(352)},get updateJSDocThrowsTag(){return Jo(352)},get createJSDocSatisfiesTag(){return oo(353)},get updateJSDocSatisfiesTag(){return Jo(353)},createJSDocEnumTag:mh,updateJSDocEnumTag:Db,createJSDocUnknownTag:dh,updateJSDocUnknownTag:Pb,createJSDocText:hh,updateJSDocText:Qu,createJSDocComment:gh,updateJSDocComment:yh,createJsxElement:Zu,updateJsxElement:kb,createJsxSelfClosingElement:c_,updateJsxSelfClosingElement:vh,createJsxOpeningElement:bh,updateJsxOpeningElement:Ib,createJsxClosingElement:on,updateJsxClosingElement:Th,createJsxFragment:ep,createJsxText:l_,updateJsxText:Ob,createJsxOpeningFragment:kc,createJsxJsxClosingFragment:Mb,updateJsxFragment:Nb,createJsxAttribute:Sh,updateJsxAttribute:Lb,createJsxAttributes:xh,updateJsxAttributes:tp,createJsxSpreadAttribute:no,updateJsxSpreadAttribute:Rb,createJsxExpression:Ic,updateJsxExpression:Eh,createCaseClause:wh,updateCaseClause:rp,createDefaultClause:np,updateDefaultClause:jb,createHeritageClause:Ch,updateHeritageClause:Ah,createCatchClause:ip,updateCatchClause:Ph,createPropertyAssignment:Fa,updatePropertyAssignment:Jb,createShorthandPropertyAssignment:Dh,updateShorthandPropertyAssignment:Bb,createSpreadAssignment:ap,updateSpreadAssignment:ki,createEnumMember:sp,updateEnumMember:qb,createSourceFile:Ub,updateSourceFile:Mh,createRedirectedSourceFile:Ih,createBundle:Lh,updateBundle:Wb,createUnparsedSource:Nc,createUnparsedPrologue:Vb,createUnparsedPrepend:Hb,createUnparsedTextLike:Gb,createUnparsedSyntheticReference:$b,createInputFiles:Kb,createSyntheticExpression:Rh,createSyntaxList:jh,createNotEmittedStatement:Jh,createPartiallyEmittedExpression:Fh,updatePartiallyEmittedExpression:Bh,createCommaListExpression:Mc,updateCommaListExpression:Xb,createEndOfDeclarationMarker:Yb,createMergeDeclarationMarker:Qb,createSyntheticReferenceExpression:Uh,updateSyntheticReferenceExpression:_p,cloneNode:cp,get createComma(){return Ci(27)},get createAssignment(){return Ci(63)},get createLogicalOr(){return Ci(56)},get createLogicalAnd(){return Ci(55)},get createBitwiseOr(){return Ci(51)},get createBitwiseXor(){return Ci(52)},get createBitwiseAnd(){return Ci(50)},get createStrictEquality(){return Ci(36)},get createStrictInequality(){return Ci(37)},get createEquality(){return Ci(34)},get createInequality(){return Ci(35)},get createLessThan(){return Ci(29)},get createLessThanEquals(){return Ci(32)},get createGreaterThan(){return Ci(31)},get createGreaterThanEquals(){return Ci(33)},get createLeftShift(){return Ci(47)},get createRightShift(){return Ci(48)},get createUnsignedRightShift(){return Ci(49)},get createAdd(){return Ci(39)},get createSubtract(){return Ci(40)},get createMultiply(){return Ci(41)},get createDivide(){return Ci(43)},get createModulo(){return Ci(44)},get createExponent(){return Ci(42)},get createPrefixPlus(){return ts(39)},get createPrefixMinus(){return ts(40)},get createPrefixIncrement(){return ts(45)},get createPrefixDecrement(){return ts(46)},get createBitwiseNot(){return ts(54)},get createLogicalNot(){return ts(53)},get createPostfixIncrement(){return Ps(45)},get createPostfixDecrement(){return Ps(46)},createImmediatelyInvokedFunctionExpression:n6,createImmediatelyInvokedArrowFunction:Lc,createVoidZero:Rc,createExportDefault:zh,createExternalModuleExport:i6,createTypeCheck:a6,createMethodCall:Ba,createGlobalMethodCall:io,createFunctionBindCall:s6,createFunctionCallCall:o6,createFunctionApplyCall:_6,createArraySliceCall:Wh,createArrayConcatCall:Vh,createObjectDefinePropertyCall:u,createObjectGetOwnPropertyDescriptorCall:b,createReflectGetCall:O,createReflectSetCall:j,createPropertyDescriptor:re,createCallBinding:Jt,createAssignmentTargetWrapper:Lt,inlineExpressions:At,getInternalName:Fn,getLocalName:di,getExportName:Ii,getDeclarationName:_n,getNamespaceMemberName:qa,getExternalModuleOrNamespaceExportName:Hh,restoreOuterExpressions:We,restoreEnclosingLabel:$e,createUseStrictPrologue:wn,copyPrologue:lp,copyStandardPrologue:Ua,copyCustomPrologue:up,ensureUseStrict:Qr,liftToBlock:jc,mergeLexicalEnvironment:$h,updateModifiers:Kh};return c(Aw,(Me=>Me(tc))),tc;function Ne(Me,Bn){if(Me===void 0||Me===ca)Me=[];else if(_s(Me)){if(Bn===void 0||Me.hasTrailingComma===Bn)return Me.transformFlags===void 0&&E8(Me),qp.attachNodeArrayDebugInfo(Me),Me;let Hn=Me.slice();return Hn.pos=Me.pos,Hn.end=Me.end,Hn.hasTrailingComma=Bn,Hn.transformFlags=Me.transformFlags,qp.attachNodeArrayDebugInfo(Hn),Hn}let Hn=Me.length,zn=Hn>=1&&Hn<=4?Me.slice():Me;return zn.pos=-1,zn.end=-1,zn.hasTrailingComma=!!Bn,zn.transformFlags=0,E8(zn),qp.attachNodeArrayDebugInfo(zn),zn}function oe(Me){return Bn.createBaseNode(Me)}function Ve(Me){let Bn=oe(Me);return Bn.symbol=void 0,Bn.localSymbol=void 0,Bn}function pt(Me,Bn){return Me!==Bn&&(Me.typeArguments=Bn.typeArguments),Hn(Me,Bn)}function Gt(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,Hn=Ve(8);return Hn.text=typeof Me=="number"?Me+"":Me,Hn.numericLiteralFlags=Bn,Bn&384&&(Hn.transformFlags|=1024),Hn}function Nt(Me){let Bn=In(9);return Bn.text=typeof Me=="string"?Me:yv(Me)+"n",Bn.transformFlags|=4,Bn}function Xt(Me,Bn){let Hn=Ve(10);return Hn.text=Me,Hn.singleQuote=Bn,Hn}function er(Me,Bn,Hn){let zn=Xt(Me,Bn);return zn.hasExtendedUnicodeEscape=Hn,Hn&&(zn.transformFlags|=1024),zn}function Tn(Me){let Bn=Xt(kf(Me),void 0);return Bn.textSourceNode=Me,Bn}function Hr(Me){let Bn=In(13);return Bn.text=Me,Bn}function Gi(Me,Bn){switch(Me){case 8:return Gt(Bn,0);case 9:return Nt(Bn);case 10:return er(Bn,void 0);case 11:return l_(Bn,!1);case 12:return l_(Bn,!0);case 13:return Hr(Bn);case 14:return Qs(Me,Bn,void 0,0)}}function pn(Me){let Hn=Bn.createBaseIdentifierNode(79);return Hn.escapedText=Me,Hn.jsDoc=void 0,Hn.flowNode=void 0,Hn.symbol=void 0,Hn}function fn(Me,Bn,Hn,zn){let ni=pn(vi(Me));return setIdentifierAutoGenerate(ni,{flags:Bn,id:dw,prefix:Hn,suffix:zn}),dw++,ni}function Ut(Me,Bn,Hn){Bn===void 0&&Me&&(Bn=_l(Me)),Bn===79&&(Bn=void 0);let zn=pn(vi(Me));return Hn&&(zn.flags|=128),zn.escapedText==="await"&&(zn.transformFlags|=67108864),zn.flags&128&&(zn.transformFlags|=1024),zn}function kn(Me,Bn,Hn,zn){let ni=1;Bn&&(ni|=8);let Ci=fn("",ni,Hn,zn);return Me&&Me(Ci),Ci}function an(Me){let Bn=2;return Me&&(Bn|=8),fn("",Bn,void 0,void 0)}function mr(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,Hn=arguments.length>2?arguments[2]:void 0,zn=arguments.length>3?arguments[3]:void 0;return qp.assert(!(Bn&7),"Argument out of range: flags"),qp.assert((Bn&48)!==32,"GeneratedIdentifierFlags.FileLevel cannot be set without also setting GeneratedIdentifierFlags.Optimistic"),fn(Me,3|Bn,Hn,zn)}function $i(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,Hn=arguments.length>2?arguments[2]:void 0,zn=arguments.length>3?arguments[3]:void 0;qp.assert(!(Bn&7),"Argument out of range: flags");let ni=Me?js(Me)?bd(!1,Hn,Me,zn,qr):`generated@${getNodeId(Me)}`:"";(Hn||zn)&&(Bn|=16);let Ci=fn(ni,4|Bn,Hn,zn);return Ci.original=Me,Ci}function dn(Me){let Hn=Bn.createBasePrivateIdentifierNode(80);return Hn.escapedText=Me,Hn.transformFlags|=16777216,Hn}function Ur(Me){return Pn(Me,"#")||qp.fail("First character of private identifier must be #: "+Me),dn(vi(Me))}function Gr(Me,Bn,Hn,zn){let ni=dn(vi(Me));return setIdentifierAutoGenerate(ni,{flags:Bn,id:dw,prefix:Hn,suffix:zn}),dw++,ni}function _r(Me,Bn,Hn){Me&&!Pn(Me,"#")&&qp.fail("First character of private identifier must be #: "+Me);let zn=8|(Me?3:1);return Gr(Me!=null?Me:"",zn,Bn,Hn)}function Sn(Me,Bn,Hn){let zn=js(Me)?bd(!0,Bn,Me,Hn,qr):`#generated@${getNodeId(Me)}`,ni=Gr(zn,4|(Bn||Hn?16:0),Bn,Hn);return ni.original=Me,ni}function In(Me){return Bn.createBaseTokenNode(Me)}function pr(Me){qp.assert(Me>=0&&Me<=162,"Invalid token"),qp.assert(Me<=14||Me>=17,"Invalid token. Use 'createTemplateLiteralLikeNode' to create template literals."),qp.assert(Me<=8||Me>=14,"Invalid token. Use 'createLiteralLikeNode' to create literals."),qp.assert(Me!==79,"Invalid token. Use 'createIdentifier' to create identifiers");let Bn=In(Me),Hn=0;switch(Me){case 132:Hn=384;break;case 123:case 121:case 122:case 146:case 126:case 136:case 85:case 131:case 148:case 160:case 144:case 149:case 101:case 145:case 161:case 152:case 134:case 153:case 114:case 157:case 155:Hn=1;break;case 106:Hn=134218752,Bn.flowNode=void 0;break;case 124:Hn=1024;break;case 127:Hn=16777216;break;case 108:Hn=16384,Bn.flowNode=void 0;break}return Hn&&(Bn.transformFlags|=Hn),Bn}function Zt(){return pr(106)}function Or(){return pr(108)}function Nn(){return pr(104)}function ar(){return pr(110)}function oi(){return pr(95)}function cr(Me){return pr(Me)}function $r(Me){let Bn=[];return Me&1&&Bn.push(cr(93)),Me&2&&Bn.push(cr(136)),Me&1024&&Bn.push(cr(88)),Me&2048&&Bn.push(cr(85)),Me&4&&Bn.push(cr(123)),Me&8&&Bn.push(cr(121)),Me&16&&Bn.push(cr(122)),Me&256&&Bn.push(cr(126)),Me&32&&Bn.push(cr(124)),Me&16384&&Bn.push(cr(161)),Me&64&&Bn.push(cr(146)),Me&128&&Bn.push(cr(127)),Me&512&&Bn.push(cr(132)),Me&32768&&Bn.push(cr(101)),Me&65536&&Bn.push(cr(145)),Bn.length?Bn:void 0}function hr(Me,Bn){let Hn=oe(163);return Hn.left=Me,Hn.right=Qt(Bn),Hn.transformFlags|=ye(Hn.left)|ec(Hn.right),Hn.flowNode=void 0,Hn}function On(Me,Bn,zn){return Me.left!==Bn||Me.right!==zn?Hn(hr(Bn,zn),Me):Me}function nr(Me){let Bn=oe(164);return Bn.expression=zn().parenthesizeExpressionOfComputedPropertyName(Me),Bn.transformFlags|=ye(Bn.expression)|1024|131072,Bn}function br(Me,Bn){return Me.expression!==Bn?Hn(nr(Bn),Me):Me}function Kr(Me,Bn,Hn,zn){let ni=Ve(165);return ni.modifiers=xt(Me),ni.name=Qt(Bn),ni.constraint=Hn,ni.default=zn,ni.transformFlags=1,ni.expression=void 0,ni.jsDoc=void 0,ni}function wa(Me,Bn,zn,ni,Ci){return Me.modifiers!==Bn||Me.name!==zn||Me.constraint!==ni||Me.default!==Ci?Hn(Kr(Bn,zn,ni,Ci),Me):Me}function $n(Me,Bn,Hn,zn,ni,Ci){var ts,Ps;let aa=Ve(166);return aa.modifiers=xt(Me),aa.dotDotDotToken=Bn,aa.name=Qt(Hn),aa.questionToken=zn,aa.type=ni,aa.initializer=Wa(Ci),Mf(aa.name)?aa.transformFlags=1:aa.transformFlags=gt(aa.modifiers)|ye(aa.dotDotDotToken)|ai(aa.name)|ye(aa.questionToken)|ye(aa.initializer)|(((ts=aa.questionToken)!=null?ts:aa.type)?1:0)|(((Ps=aa.dotDotDotToken)!=null?Ps:aa.initializer)?1024:0)|(Vn(aa.modifiers)&16476?8192:0),aa.jsDoc=void 0,aa}function Ki(Me,Bn,zn,ni,Ci,ts,Ps){return Me.modifiers!==Bn||Me.dotDotDotToken!==zn||Me.name!==ni||Me.questionToken!==Ci||Me.type!==ts||Me.initializer!==Ps?Hn($n(Bn,zn,ni,Ci,ts,Ps),Me):Me}function Mn(Me){let Bn=oe(167);return Bn.expression=zn().parenthesizeLeftSideOfAccess(Me,!1),Bn.transformFlags|=ye(Bn.expression)|1|8192|33554432,Bn}function _i(Me,Bn){return Me.expression!==Bn?Hn(Mn(Bn),Me):Me}function Ca(Me,Bn,Hn,zn){let ni=Ve(168);return ni.modifiers=xt(Me),ni.name=Qt(Bn),ni.type=zn,ni.questionToken=Hn,ni.transformFlags=1,ni.initializer=void 0,ni.jsDoc=void 0,ni}function St(Me,Bn,Hn,zn,ni){return Me.modifiers!==Bn||Me.name!==Hn||Me.questionToken!==zn||Me.type!==ni?ue(Ca(Bn,Hn,zn,ni),Me):Me}function ue(Me,Bn){return Me!==Bn&&(Me.initializer=Bn.initializer),Hn(Me,Bn)}function He(Me,Bn,Hn,zn,ni){let Ci=Ve(169);Ci.modifiers=xt(Me),Ci.name=Qt(Bn),Ci.questionToken=Hn&&ql(Hn)?Hn:void 0,Ci.exclamationToken=Hn&&rd(Hn)?Hn:void 0,Ci.type=zn,Ci.initializer=Wa(ni);let ts=Ci.flags&16777216||Vn(Ci.modifiers)&2;return Ci.transformFlags=gt(Ci.modifiers)|ai(Ci.name)|ye(Ci.initializer)|(ts||Ci.questionToken||Ci.exclamationToken||Ci.type?1:0)|(Ws(Ci.name)||Vn(Ci.modifiers)&32&&Ci.initializer?8192:0)|16777216,Ci.jsDoc=void 0,Ci}function _t(Me,Bn,zn,ni,Ci,ts){return Me.modifiers!==Bn||Me.name!==zn||Me.questionToken!==(ni!==void 0&&ql(ni)?ni:void 0)||Me.exclamationToken!==(ni!==void 0&&rd(ni)?ni:void 0)||Me.type!==Ci||Me.initializer!==ts?Hn(He(Bn,zn,ni,Ci,ts),Me):Me}function ft(Me,Bn,Hn,zn,ni,Ci){let ts=Ve(170);return ts.modifiers=xt(Me),ts.name=Qt(Bn),ts.questionToken=Hn,ts.typeParameters=xt(zn),ts.parameters=xt(ni),ts.type=Ci,ts.transformFlags=1,ts.jsDoc=void 0,ts.locals=void 0,ts.nextContainer=void 0,ts.typeArguments=void 0,ts}function Kt(Me,Bn,Hn,zn,ni,Ci,ts){return Me.modifiers!==Bn||Me.name!==Hn||Me.questionToken!==zn||Me.typeParameters!==ni||Me.parameters!==Ci||Me.type!==ts?pt(ft(Bn,Hn,zn,ni,Ci,ts),Me):Me}function zt(Me,Bn,Hn,zn,ni,Ci,ts,Ps){let aa=Ve(171);if(aa.modifiers=xt(Me),aa.asteriskToken=Bn,aa.name=Qt(Hn),aa.questionToken=zn,aa.exclamationToken=void 0,aa.typeParameters=xt(ni),aa.parameters=Ne(Ci),aa.type=ts,aa.body=Ps,!aa.body)aa.transformFlags=1;else{let Me=Vn(aa.modifiers)&512,Bn=!!aa.asteriskToken,Hn=Me&&Bn;aa.transformFlags=gt(aa.modifiers)|ye(aa.asteriskToken)|ai(aa.name)|ye(aa.questionToken)|gt(aa.typeParameters)|gt(aa.parameters)|ye(aa.type)|ye(aa.body)&-67108865|(Hn?128:Me?256:Bn?2048:0)|(aa.questionToken||aa.typeParameters||aa.type?1:0)|1024}return aa.typeArguments=void 0,aa.jsDoc=void 0,aa.locals=void 0,aa.nextContainer=void 0,aa.flowNode=void 0,aa.endFlowNode=void 0,aa.returnFlowNode=void 0,aa}function xe(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa){return Me.modifiers!==Bn||Me.asteriskToken!==Hn||Me.name!==zn||Me.questionToken!==ni||Me.typeParameters!==Ci||Me.parameters!==ts||Me.type!==Ps||Me.body!==aa?Le(zt(Bn,Hn,zn,ni,Ci,ts,Ps,aa),Me):Me}function Le(Me,Bn){return Me!==Bn&&(Me.exclamationToken=Bn.exclamationToken),Hn(Me,Bn)}function Re(Me){let Bn=Ve(172);return Bn.body=Me,Bn.transformFlags=ye(Me)|16777216,Bn.modifiers=void 0,Bn.jsDoc=void 0,Bn.locals=void 0,Bn.nextContainer=void 0,Bn.endFlowNode=void 0,Bn.returnFlowNode=void 0,Bn}function ot(Me,Bn){return Me.body!==Bn?Ct(Re(Bn),Me):Me}function Ct(Me,Bn){return Me!==Bn&&(Me.modifiers=Bn.modifiers),Hn(Me,Bn)}function Mt(Me,Bn,Hn){let zn=Ve(173);return zn.modifiers=xt(Me),zn.parameters=Ne(Bn),zn.body=Hn,zn.transformFlags=gt(zn.modifiers)|gt(zn.parameters)|ye(zn.body)&-67108865|1024,zn.typeParameters=void 0,zn.type=void 0,zn.typeArguments=void 0,zn.jsDoc=void 0,zn.locals=void 0,zn.nextContainer=void 0,zn.endFlowNode=void 0,zn.returnFlowNode=void 0,zn}function It(Me,Bn,Hn,zn){return Me.modifiers!==Bn||Me.parameters!==Hn||Me.body!==zn?Mr(Mt(Bn,Hn,zn),Me):Me}function Mr(Me,Bn){return Me!==Bn&&(Me.typeParameters=Bn.typeParameters,Me.type=Bn.type),pt(Me,Bn)}function gr(Me,Bn,Hn,zn,ni){let Ci=Ve(174);return Ci.modifiers=xt(Me),Ci.name=Qt(Bn),Ci.parameters=Ne(Hn),Ci.type=zn,Ci.body=ni,Ci.body?Ci.transformFlags=gt(Ci.modifiers)|ai(Ci.name)|gt(Ci.parameters)|ye(Ci.type)|ye(Ci.body)&-67108865|(Ci.type?1:0):Ci.transformFlags=1,Ci.typeArguments=void 0,Ci.typeParameters=void 0,Ci.jsDoc=void 0,Ci.locals=void 0,Ci.nextContainer=void 0,Ci.flowNode=void 0,Ci.endFlowNode=void 0,Ci.returnFlowNode=void 0,Ci}function Ln(Me,Bn,Hn,zn,ni,Ci){return Me.modifiers!==Bn||Me.name!==Hn||Me.parameters!==zn||Me.type!==ni||Me.body!==Ci?ys(gr(Bn,Hn,zn,ni,Ci),Me):Me}function ys(Me,Bn){return Me!==Bn&&(Me.typeParameters=Bn.typeParameters),pt(Me,Bn)}function ci(Me,Bn,Hn,zn){let ni=Ve(175);return ni.modifiers=xt(Me),ni.name=Qt(Bn),ni.parameters=Ne(Hn),ni.body=zn,ni.body?ni.transformFlags=gt(ni.modifiers)|ai(ni.name)|gt(ni.parameters)|ye(ni.body)&-67108865|(ni.type?1:0):ni.transformFlags=1,ni.typeArguments=void 0,ni.typeParameters=void 0,ni.type=void 0,ni.jsDoc=void 0,ni.locals=void 0,ni.nextContainer=void 0,ni.flowNode=void 0,ni.endFlowNode=void 0,ni.returnFlowNode=void 0,ni}function Xi(Me,Bn,Hn,zn,ni){return Me.modifiers!==Bn||Me.name!==Hn||Me.parameters!==zn||Me.body!==ni?Aa(ci(Bn,Hn,zn,ni),Me):Me}function Aa(Me,Bn){return Me!==Bn&&(Me.typeParameters=Bn.typeParameters,Me.type=Bn.type),pt(Me,Bn)}function vs(Me,Bn,Hn){let zn=Ve(176);return zn.typeParameters=xt(Me),zn.parameters=xt(Bn),zn.type=Hn,zn.transformFlags=1,zn.jsDoc=void 0,zn.locals=void 0,zn.nextContainer=void 0,zn.typeArguments=void 0,zn}function $s(Me,Bn,Hn,zn){return Me.typeParameters!==Bn||Me.parameters!==Hn||Me.type!==zn?pt(vs(Bn,Hn,zn),Me):Me}function li(Me,Bn,Hn){let zn=Ve(177);return zn.typeParameters=xt(Me),zn.parameters=xt(Bn),zn.type=Hn,zn.transformFlags=1,zn.jsDoc=void 0,zn.locals=void 0,zn.nextContainer=void 0,zn.typeArguments=void 0,zn}function Yi(Me,Bn,Hn,zn){return Me.typeParameters!==Bn||Me.parameters!==Hn||Me.type!==zn?pt(li(Bn,Hn,zn),Me):Me}function Qi(Me,Bn,Hn){let zn=Ve(178);return zn.modifiers=xt(Me),zn.parameters=xt(Bn),zn.type=Hn,zn.transformFlags=1,zn.jsDoc=void 0,zn.locals=void 0,zn.nextContainer=void 0,zn.typeArguments=void 0,zn}function bs(Me,Bn,Hn,zn){return Me.parameters!==Hn||Me.type!==zn||Me.modifiers!==Bn?pt(Qi(Bn,Hn,zn),Me):Me}function Ai(Me,Bn){let Hn=oe(201);return Hn.type=Me,Hn.literal=Bn,Hn.transformFlags=1,Hn}function xn(Me,Bn,zn){return Me.type!==Bn||Me.literal!==zn?Hn(Ai(Bn,zn),Me):Me}function Dt(Me){return pr(Me)}function Pi(Me,Bn,Hn){let zn=oe(179);return zn.assertsModifier=Me,zn.parameterName=Qt(Bn),zn.type=Hn,zn.transformFlags=1,zn}function Z(Me,Bn,zn,ni){return Me.assertsModifier!==Bn||Me.parameterName!==zn||Me.type!==ni?Hn(Pi(Bn,zn,ni),Me):Me}function ie(Me,Bn){let Hn=oe(180);return Hn.typeName=Qt(Me),Hn.typeArguments=Bn&&zn().parenthesizeTypeArguments(Ne(Bn)),Hn.transformFlags=1,Hn}function U(Me,Bn,zn){return Me.typeName!==Bn||Me.typeArguments!==zn?Hn(ie(Bn,zn),Me):Me}function L(Me,Bn,Hn){let zn=Ve(181);return zn.typeParameters=xt(Me),zn.parameters=xt(Bn),zn.type=Hn,zn.transformFlags=1,zn.modifiers=void 0,zn.jsDoc=void 0,zn.locals=void 0,zn.nextContainer=void 0,zn.typeArguments=void 0,zn}function fe(Me,Bn,Hn,zn){return Me.typeParameters!==Bn||Me.parameters!==Hn||Me.type!==zn?T(L(Bn,Hn,zn),Me):Me}function T(Me,Bn){return Me!==Bn&&(Me.modifiers=Bn.modifiers),pt(Me,Bn)}function it(){return arguments.length===4?mt(...arguments):arguments.length===3?_e(...arguments):qp.fail("Incorrect number of arguments specified.")}function mt(Me,Bn,Hn,zn){let ni=Ve(182);return ni.modifiers=xt(Me),ni.typeParameters=xt(Bn),ni.parameters=xt(Hn),ni.type=zn,ni.transformFlags=1,ni.jsDoc=void 0,ni.locals=void 0,ni.nextContainer=void 0,ni.typeArguments=void 0,ni}function _e(Me,Bn,Hn){return mt(void 0,Me,Bn,Hn)}function Ge(){return arguments.length===5?bt(...arguments):arguments.length===4?jt(...arguments):qp.fail("Incorrect number of arguments specified.")}function bt(Me,Bn,Hn,zn,ni){return Me.modifiers!==Bn||Me.typeParameters!==Hn||Me.parameters!==zn||Me.type!==ni?pt(it(Bn,Hn,zn,ni),Me):Me}function jt(Me,Bn,Hn,zn){return bt(Me,Me.modifiers,Bn,Hn,zn)}function Yt(Me,Bn){let Hn=oe(183);return Hn.exprName=Me,Hn.typeArguments=Bn&&zn().parenthesizeTypeArguments(Bn),Hn.transformFlags=1,Hn}function $t(Me,Bn,zn){return Me.exprName!==Bn||Me.typeArguments!==zn?Hn(Yt(Bn,zn),Me):Me}function Wt(Me){let Bn=Ve(184);return Bn.members=Ne(Me),Bn.transformFlags=1,Bn}function Xr(Me,Bn){return Me.members!==Bn?Hn(Wt(Bn),Me):Me}function Dr(Me){let Bn=oe(185);return Bn.elementType=zn().parenthesizeNonArrayTypeOfPostfixType(Me),Bn.transformFlags=1,Bn}function Lr(Me,Bn){return Me.elementType!==Bn?Hn(Dr(Bn),Me):Me}function yr(Me){let Bn=oe(186);return Bn.elements=Ne(zn().parenthesizeElementTypesOfTupleType(Me)),Bn.transformFlags=1,Bn}function Rn(Me,Bn){return Me.elements!==Bn?Hn(yr(Bn),Me):Me}function wt(Me,Bn,Hn,zn){let ni=Ve(199);return ni.dotDotDotToken=Me,ni.name=Bn,ni.questionToken=Hn,ni.type=zn,ni.transformFlags=1,ni.jsDoc=void 0,ni}function Tr(Me,Bn,zn,ni,Ci){return Me.dotDotDotToken!==Bn||Me.name!==zn||Me.questionToken!==ni||Me.type!==Ci?Hn(wt(Bn,zn,ni,Ci),Me):Me}function Tt(Me){let Bn=oe(187);return Bn.type=zn().parenthesizeTypeOfOptionalType(Me),Bn.transformFlags=1,Bn}function kt(Me,Bn){return Me.type!==Bn?Hn(Tt(Bn),Me):Me}function de(Me){let Bn=oe(188);return Bn.type=Me,Bn.transformFlags=1,Bn}function jn(Me,Bn){return Me.type!==Bn?Hn(de(Bn),Me):Me}function Zi(Me,Bn,Hn){let zn=oe(Me);return zn.types=tc.createNodeArray(Hn(Bn)),zn.transformFlags=1,zn}function Pa(Me,Bn,zn){return Me.types!==Bn?Hn(Zi(Me.kind,Bn,zn),Me):Me}function e_(Me){return Zi(189,Me,zn().parenthesizeConstituentTypesOfUnionType)}function mc(Me,Bn){return Pa(Me,Bn,zn().parenthesizeConstituentTypesOfUnionType)}function Da(Me){return Zi(190,Me,zn().parenthesizeConstituentTypesOfIntersectionType)}function Ts(Me,Bn){return Pa(Me,Bn,zn().parenthesizeConstituentTypesOfIntersectionType)}function Ot(Me,Bn,Hn,ni){let Ci=oe(191);return Ci.checkType=zn().parenthesizeCheckTypeOfConditionalType(Me),Ci.extendsType=zn().parenthesizeExtendsTypeOfConditionalType(Bn),Ci.trueType=Hn,Ci.falseType=ni,Ci.transformFlags=1,Ci.locals=void 0,Ci.nextContainer=void 0,Ci}function dr(Me,Bn,zn,ni,Ci){return Me.checkType!==Bn||Me.extendsType!==zn||Me.trueType!==ni||Me.falseType!==Ci?Hn(Ot(Bn,zn,ni,Ci),Me):Me}function Dd(Me){let Bn=oe(192);return Bn.typeParameter=Me,Bn.transformFlags=1,Bn}function ea(Me,Bn){return Me.typeParameter!==Bn?Hn(Dd(Bn),Me):Me}function kd(Me,Bn){let Hn=oe(200);return Hn.head=Me,Hn.templateSpans=Ne(Bn),Hn.transformFlags=1,Hn}function sn(Me,Bn,zn){return Me.head!==Bn||Me.templateSpans!==zn?Hn(kd(Bn,zn),Me):Me}function Id(Me,Bn,Hn,ni){let Ci=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1,ts=oe(202);return ts.argument=Me,ts.assertions=Bn,ts.qualifier=Hn,ts.typeArguments=ni&&zn().parenthesizeTypeArguments(ni),ts.isTypeOf=Ci,ts.transformFlags=1,ts}function ka(Me,Bn,zn,ni,Ci){let ts=arguments.length>5&&arguments[5]!==void 0?arguments[5]:Me.isTypeOf;return Me.argument!==Bn||Me.assertions!==zn||Me.qualifier!==ni||Me.typeArguments!==Ci||Me.isTypeOf!==ts?Hn(Id(Bn,zn,ni,Ci,ts),Me):Me}function t_(Me){let Bn=oe(193);return Bn.type=Me,Bn.transformFlags=1,Bn}function En(Me,Bn){return Me.type!==Bn?Hn(t_(Bn),Me):Me}function Er(){let Me=oe(194);return Me.transformFlags=1,Me}function Q(Me,Bn){let Hn=oe(195);return Hn.operator=Me,Hn.type=Me===146?zn().parenthesizeOperandOfReadonlyTypeOperator(Bn):zn().parenthesizeOperandOfTypeOperator(Bn),Hn.transformFlags=1,Hn}function Jn(Me,Bn){return Me.type!==Bn?Hn(Q(Me.operator,Bn),Me):Me}function Ia(Me,Bn){let Hn=oe(196);return Hn.objectType=zn().parenthesizeNonArrayTypeOfPostfixType(Me),Hn.indexType=Bn,Hn.transformFlags=1,Hn}function Ss(Me,Bn,zn){return Me.objectType!==Bn||Me.indexType!==zn?Hn(Ia(Bn,zn),Me):Me}function hc(Me,Bn,Hn,zn,ni,Ci){let ts=Ve(197);return ts.readonlyToken=Me,ts.typeParameter=Bn,ts.nameType=Hn,ts.questionToken=zn,ts.type=ni,ts.members=Ci&&Ne(Ci),ts.transformFlags=1,ts.locals=void 0,ts.nextContainer=void 0,ts}function wr(Me,Bn,zn,ni,Ci,ts,Ps){return Me.readonlyToken!==Bn||Me.typeParameter!==zn||Me.nameType!==ni||Me.questionToken!==Ci||Me.type!==ts||Me.members!==Ps?Hn(hc(Bn,zn,ni,Ci,ts,Ps),Me):Me}function zr(Me){let Bn=oe(198);return Bn.literal=Me,Bn.transformFlags=1,Bn}function xs(Me,Bn){return Me.literal!==Bn?Hn(zr(Bn),Me):Me}function Nd(Me){let Bn=oe(203);return Bn.elements=Ne(Me),Bn.transformFlags|=gt(Bn.elements)|1024|524288,Bn.transformFlags&32768&&(Bn.transformFlags|=65664),Bn}function R2(Me,Bn){return Me.elements!==Bn?Hn(Nd(Bn),Me):Me}function Es(Me){let Bn=oe(204);return Bn.elements=Ne(Me),Bn.transformFlags|=gt(Bn.elements)|1024|524288,Bn}function j2(Me,Bn){return Me.elements!==Bn?Hn(Es(Bn),Me):Me}function gc(Me,Bn,Hn,zn){let ni=Ve(205);return ni.dotDotDotToken=Me,ni.propertyName=Qt(Bn),ni.name=Qt(Hn),ni.initializer=Wa(zn),ni.transformFlags|=ye(ni.dotDotDotToken)|ai(ni.propertyName)|ai(ni.name)|ye(ni.initializer)|(ni.dotDotDotToken?32768:0)|1024,ni.flowNode=void 0,ni}function Ks(Me,Bn,zn,ni,Ci){return Me.propertyName!==zn||Me.dotDotDotToken!==Bn||Me.name!==ni||Me.initializer!==Ci?Hn(gc(Bn,zn,ni,Ci),Me):Me}function uu(Me,Bn){let Hn=oe(206),ni=Me&&Cn(Me),Ci=Ne(Me,ni&&cd(ni)?!0:void 0);return Hn.elements=zn().parenthesizeExpressionsOfCommaDelimitedList(Ci),Hn.multiLine=Bn,Hn.transformFlags|=gt(Hn.elements),Hn}function Od(Me,Bn){return Me.elements!==Bn?Hn(uu(Bn,Me.multiLine),Me):Me}function r_(Me,Bn){let Hn=Ve(207);return Hn.properties=Ne(Me),Hn.multiLine=Bn,Hn.transformFlags|=gt(Hn.properties),Hn.jsDoc=void 0,Hn}function J2(Me,Bn){return Me.properties!==Bn?Hn(r_(Bn,Me.multiLine),Me):Me}function Md(Me,Bn,Hn){let zn=Ve(208);return zn.expression=Me,zn.questionDotToken=Bn,zn.name=Hn,zn.transformFlags=ye(zn.expression)|ye(zn.questionDotToken)|(yt(zn.name)?ec(zn.name):ye(zn.name)|536870912),zn.jsDoc=void 0,zn.flowNode=void 0,zn}function ta(Me,Bn){let Hn=Md(zn().parenthesizeLeftSideOfAccess(Me,!1),void 0,Qt(Bn));return nd(Me)&&(Hn.transformFlags|=384),Hn}function Ld(Me,Bn,zn){return LS(Me)?Rd(Me,Bn,Me.questionDotToken,ti(zn,yt)):Me.expression!==Bn||Me.name!==zn?Hn(ta(Bn,zn),Me):Me}function Xs(Me,Bn,Hn){let ni=Md(zn().parenthesizeLeftSideOfAccess(Me,!0),Bn,Qt(Hn));return ni.flags|=32,ni.transformFlags|=32,ni}function Rd(Me,Bn,zn,ni){return qp.assert(!!(Me.flags&32),"Cannot update a PropertyAccessExpression using updatePropertyAccessChain. Use updatePropertyAccess instead."),Me.expression!==Bn||Me.questionDotToken!==zn||Me.name!==ni?Hn(Xs(Bn,zn,ni),Me):Me}function yc(Me,Bn,Hn){let zn=Ve(209);return zn.expression=Me,zn.questionDotToken=Bn,zn.argumentExpression=Hn,zn.transformFlags|=ye(zn.expression)|ye(zn.questionDotToken)|ye(zn.argumentExpression),zn.jsDoc=void 0,zn.flowNode=void 0,zn}function pu(Me,Bn){let Hn=yc(zn().parenthesizeLeftSideOfAccess(Me,!1),void 0,za(Bn));return nd(Me)&&(Hn.transformFlags|=384),Hn}function F2(Me,Bn,zn){return RS(Me)?jd(Me,Bn,Me.questionDotToken,zn):Me.expression!==Bn||Me.argumentExpression!==zn?Hn(pu(Bn,zn),Me):Me}function fu(Me,Bn,Hn){let ni=yc(zn().parenthesizeLeftSideOfAccess(Me,!0),Bn,za(Hn));return ni.flags|=32,ni.transformFlags|=32,ni}function jd(Me,Bn,zn,ni){return qp.assert(!!(Me.flags&32),"Cannot update a ElementAccessExpression using updateElementAccessChain. Use updateElementAccess instead."),Me.expression!==Bn||Me.questionDotToken!==zn||Me.argumentExpression!==ni?Hn(fu(Bn,zn,ni),Me):Me}function Jd(Me,Bn,Hn,zn){let ni=Ve(210);return ni.expression=Me,ni.questionDotToken=Bn,ni.typeArguments=Hn,ni.arguments=zn,ni.transformFlags|=ye(ni.expression)|ye(ni.questionDotToken)|gt(ni.typeArguments)|gt(ni.arguments),ni.typeArguments&&(ni.transformFlags|=1),Sf(ni.expression)&&(ni.transformFlags|=16384),ni}function Na(Me,Bn,Hn){let ni=Jd(zn().parenthesizeLeftSideOfAccess(Me,!1),void 0,xt(Bn),zn().parenthesizeExpressionsOfCommaDelimitedList(Ne(Hn)));return M8(ni.expression)&&(ni.transformFlags|=8388608),ni}function B2(Me,Bn,zn,ni){return Cy(Me)?Kn(Me,Bn,Me.questionDotToken,zn,ni):Me.expression!==Bn||Me.typeArguments!==zn||Me.arguments!==ni?Hn(Na(Bn,zn,ni),Me):Me}function du(Me,Bn,Hn,ni){let Ci=Jd(zn().parenthesizeLeftSideOfAccess(Me,!0),Bn,xt(Hn),zn().parenthesizeExpressionsOfCommaDelimitedList(Ne(ni)));return Ci.flags|=32,Ci.transformFlags|=32,Ci}function Kn(Me,Bn,zn,ni,Ci){return qp.assert(!!(Me.flags&32),"Cannot update a CallExpression using updateCallChain. Use updateCall instead."),Me.expression!==Bn||Me.questionDotToken!==zn||Me.typeArguments!==ni||Me.arguments!==Ci?Hn(du(Bn,zn,ni,Ci),Me):Me}function vc(Me,Bn,Hn){let ni=Ve(211);return ni.expression=zn().parenthesizeExpressionOfNew(Me),ni.typeArguments=xt(Bn),ni.arguments=Hn?zn().parenthesizeExpressionsOfCommaDelimitedList(Hn):void 0,ni.transformFlags|=ye(ni.expression)|gt(ni.typeArguments)|gt(ni.arguments)|32,ni.typeArguments&&(ni.transformFlags|=1),ni}function mu(Me,Bn,zn,ni){return Me.expression!==Bn||Me.typeArguments!==zn||Me.arguments!==ni?Hn(vc(Bn,zn,ni),Me):Me}function hu(Me,Bn,Hn){let ni=oe(212);return ni.tag=zn().parenthesizeLeftSideOfAccess(Me,!1),ni.typeArguments=xt(Bn),ni.template=Hn,ni.transformFlags|=ye(ni.tag)|gt(ni.typeArguments)|ye(ni.template)|1024,ni.typeArguments&&(ni.transformFlags|=1),w4(ni.template)&&(ni.transformFlags|=128),ni}function q2(Me,Bn,zn,ni){return Me.tag!==Bn||Me.typeArguments!==zn||Me.template!==ni?Hn(hu(Bn,zn,ni),Me):Me}function Fd(Me,Bn){let Hn=oe(213);return Hn.expression=zn().parenthesizeOperandOfPrefixUnary(Bn),Hn.type=Me,Hn.transformFlags|=ye(Hn.expression)|ye(Hn.type)|1,Hn}function Bd(Me,Bn,zn){return Me.type!==Bn||Me.expression!==zn?Hn(Fd(Bn,zn),Me):Me}function gu(Me){let Bn=oe(214);return Bn.expression=Me,Bn.transformFlags=ye(Bn.expression),Bn.jsDoc=void 0,Bn}function qd(Me,Bn){return Me.expression!==Bn?Hn(gu(Bn),Me):Me}function yu(Me,Bn,Hn,zn,ni,Ci,ts){let Ps=Ve(215);Ps.modifiers=xt(Me),Ps.asteriskToken=Bn,Ps.name=Qt(Hn),Ps.typeParameters=xt(zn),Ps.parameters=Ne(ni),Ps.type=Ci,Ps.body=ts;let aa=Vn(Ps.modifiers)&512,oa=!!Ps.asteriskToken,ca=aa&&oa;return Ps.transformFlags=gt(Ps.modifiers)|ye(Ps.asteriskToken)|ai(Ps.name)|gt(Ps.typeParameters)|gt(Ps.parameters)|ye(Ps.type)|ye(Ps.body)&-67108865|(ca?128:aa?256:oa?2048:0)|(Ps.typeParameters||Ps.type?1:0)|4194304,Ps.typeArguments=void 0,Ps.jsDoc=void 0,Ps.locals=void 0,Ps.nextContainer=void 0,Ps.flowNode=void 0,Ps.endFlowNode=void 0,Ps.returnFlowNode=void 0,Ps}function Ud(Me,Bn,Hn,zn,ni,Ci,ts,Ps){return Me.name!==zn||Me.modifiers!==Bn||Me.asteriskToken!==Hn||Me.typeParameters!==ni||Me.parameters!==Ci||Me.type!==ts||Me.body!==Ps?pt(yu(Bn,Hn,zn,ni,Ci,ts,Ps),Me):Me}function vu(Me,Bn,Hn,ni,Ci,ts){let Ps=Ve(216);Ps.modifiers=xt(Me),Ps.typeParameters=xt(Bn),Ps.parameters=Ne(Hn),Ps.type=ni,Ps.equalsGreaterThanToken=Ci!=null?Ci:pr(38),Ps.body=zn().parenthesizeConciseBodyOfArrowFunction(ts);let aa=Vn(Ps.modifiers)&512;return Ps.transformFlags=gt(Ps.modifiers)|gt(Ps.typeParameters)|gt(Ps.parameters)|ye(Ps.type)|ye(Ps.equalsGreaterThanToken)|ye(Ps.body)&-67108865|(Ps.typeParameters||Ps.type?1:0)|(aa?16640:0)|1024,Ps.typeArguments=void 0,Ps.jsDoc=void 0,Ps.locals=void 0,Ps.nextContainer=void 0,Ps.flowNode=void 0,Ps.endFlowNode=void 0,Ps.returnFlowNode=void 0,Ps}function zd(Me,Bn,Hn,zn,ni,Ci,ts){return Me.modifiers!==Bn||Me.typeParameters!==Hn||Me.parameters!==zn||Me.type!==ni||Me.equalsGreaterThanToken!==Ci||Me.body!==ts?pt(vu(Bn,Hn,zn,ni,Ci,ts),Me):Me}function bu(Me){let Bn=oe(217);return Bn.expression=zn().parenthesizeOperandOfPrefixUnary(Me),Bn.transformFlags|=ye(Bn.expression),Bn}function U2(Me,Bn){return Me.expression!==Bn?Hn(bu(Bn),Me):Me}function mn(Me){let Bn=oe(218);return Bn.expression=zn().parenthesizeOperandOfPrefixUnary(Me),Bn.transformFlags|=ye(Bn.expression),Bn}function z2(Me,Bn){return Me.expression!==Bn?Hn(mn(Bn),Me):Me}function ui(Me){let Bn=oe(219);return Bn.expression=zn().parenthesizeOperandOfPrefixUnary(Me),Bn.transformFlags|=ye(Bn.expression),Bn}function W2(Me,Bn){return Me.expression!==Bn?Hn(ui(Bn),Me):Me}function Oa(Me){let Bn=oe(220);return Bn.expression=zn().parenthesizeOperandOfPrefixUnary(Me),Bn.transformFlags|=ye(Bn.expression)|256|128|2097152,Bn}function Ys(Me,Bn){return Me.expression!==Bn?Hn(Oa(Bn),Me):Me}function Tu(Me,Bn){let Hn=oe(221);return Hn.operator=Me,Hn.operand=zn().parenthesizeOperandOfPrefixUnary(Bn),Hn.transformFlags|=ye(Hn.operand),(Me===45||Me===46)&&yt(Hn.operand)&&!cs(Hn.operand)&&!E2(Hn.operand)&&(Hn.transformFlags|=268435456),Hn}function bc(Me,Bn){return Me.operand!==Bn?Hn(Tu(Me.operator,Bn),Me):Me}function Su(Me,Bn){let Hn=oe(222);return Hn.operator=Bn,Hn.operand=zn().parenthesizeOperandOfPostfixUnary(Me),Hn.transformFlags|=ye(Hn.operand),yt(Hn.operand)&&!cs(Hn.operand)&&!E2(Hn.operand)&&(Hn.transformFlags|=268435456),Hn}function Wd(Me,Bn){return Me.operand!==Bn?Hn(Su(Bn,Me.operator),Me):Me}function xu(Me,Bn,Hn){let ni=Ve(223),Ci=c6(Bn),ts=Ci.kind;return ni.left=zn().parenthesizeLeftSideOfBinary(ts,Me),ni.operatorToken=Ci,ni.right=zn().parenthesizeRightSideOfBinary(ts,ni.left,Hn),ni.transformFlags|=ye(ni.left)|ye(ni.operatorToken)|ye(ni.right),ts===60?ni.transformFlags|=32:ts===63?Hs(ni.left)?ni.transformFlags|=5248|Vd(ni.left):Yl(ni.left)&&(ni.transformFlags|=5120|Vd(ni.left)):ts===42||ts===67?ni.transformFlags|=512:jf(ts)&&(ni.transformFlags|=16),ts===101&&vn(ni.left)&&(ni.transformFlags|=536870912),ni.jsDoc=void 0,ni}function Vd(Me){return A2(Me)?65536:0}function V2(Me,Bn,zn,ni){return Me.left!==Bn||Me.operatorToken!==zn||Me.right!==ni?Hn(xu(Bn,zn,ni),Me):Me}function Eu(Me,Bn,Hn,ni,Ci){let ts=oe(224);return ts.condition=zn().parenthesizeConditionOfConditionalExpression(Me),ts.questionToken=Bn!=null?Bn:pr(57),ts.whenTrue=zn().parenthesizeBranchOfConditionalExpression(Hn),ts.colonToken=ni!=null?ni:pr(58),ts.whenFalse=zn().parenthesizeBranchOfConditionalExpression(Ci),ts.transformFlags|=ye(ts.condition)|ye(ts.questionToken)|ye(ts.whenTrue)|ye(ts.colonToken)|ye(ts.whenFalse),ts}function H2(Me,Bn,zn,ni,Ci,ts){return Me.condition!==Bn||Me.questionToken!==zn||Me.whenTrue!==ni||Me.colonToken!==Ci||Me.whenFalse!==ts?Hn(Eu(Bn,zn,ni,Ci,ts),Me):Me}function Di(Me,Bn){let Hn=oe(225);return Hn.head=Me,Hn.templateSpans=Ne(Bn),Hn.transformFlags|=ye(Hn.head)|gt(Hn.templateSpans)|1024,Hn}function Hd(Me,Bn,zn){return Me.head!==Bn||Me.templateSpans!==zn?Hn(Di(Bn,zn),Me):Me}function Tc(Me,Bn,Hn){let zn=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;qp.assert(!(zn&-2049),"Unsupported template flags.");let ni;if(Hn!==void 0&&Hn!==Bn&&(ni=BL(Me,Hn),typeof ni=="object"))return qp.fail("Invalid raw text");if(Bn===void 0){if(ni===void 0)return qp.fail("Arguments 'text' and 'rawText' may not both be undefined.");Bn=ni}else ni!==void 0&&qp.assert(Bn===ni,"Expected argument 'text' to be the normalized (i.e. 'cooked') version of argument 'rawText'.");return Bn}function Gd(Me){let Bn=1024;return Me&&(Bn|=128),Bn}function n_(Me,Bn,Hn,zn){let ni=In(Me);return ni.text=Bn,ni.rawText=Hn,ni.templateFlags=zn&2048,ni.transformFlags=Gd(ni.templateFlags),ni}function wu(Me,Bn,Hn,zn){let ni=Ve(Me);return ni.text=Bn,ni.rawText=Hn,ni.templateFlags=zn&2048,ni.transformFlags=Gd(ni.templateFlags),ni}function Qs(Me,Bn,Hn,zn){return Me===14?wu(Me,Bn,Hn,zn):n_(Me,Bn,Hn,zn)}function Sc(Me,Bn,Hn){return Me=Tc(15,Me,Bn,Hn),Qs(15,Me,Bn,Hn)}function Cu(Me,Bn,Hn){return Me=Tc(15,Me,Bn,Hn),Qs(16,Me,Bn,Hn)}function G2(Me,Bn,Hn){return Me=Tc(15,Me,Bn,Hn),Qs(17,Me,Bn,Hn)}function $d(Me,Bn,Hn){return Me=Tc(15,Me,Bn,Hn),wu(14,Me,Bn,Hn)}function Kd(Me,Bn){qp.assert(!Me||!!Bn,"A `YieldExpression` with an asteriskToken must have an expression.");let Hn=oe(226);return Hn.expression=Bn&&zn().parenthesizeExpressionForDisallowedComma(Bn),Hn.asteriskToken=Me,Hn.transformFlags|=ye(Hn.expression)|ye(Hn.asteriskToken)|1024|128|1048576,Hn}function $2(Me,Bn,zn){return Me.expression!==zn||Me.asteriskToken!==Bn?Hn(Kd(Bn,zn),Me):Me}function Xd(Me){let Bn=oe(227);return Bn.expression=zn().parenthesizeExpressionForDisallowedComma(Me),Bn.transformFlags|=ye(Bn.expression)|1024|32768,Bn}function K2(Me,Bn){return Me.expression!==Bn?Hn(Xd(Bn),Me):Me}function Yd(Me,Bn,Hn,zn,ni){let Ci=Ve(228);return Ci.modifiers=xt(Me),Ci.name=Qt(Bn),Ci.typeParameters=xt(Hn),Ci.heritageClauses=xt(zn),Ci.members=Ne(ni),Ci.transformFlags|=gt(Ci.modifiers)|ai(Ci.name)|gt(Ci.typeParameters)|gt(Ci.heritageClauses)|gt(Ci.members)|(Ci.typeParameters?1:0)|1024,Ci.jsDoc=void 0,Ci}function xc(Me,Bn,zn,ni,Ci,ts){return Me.modifiers!==Bn||Me.name!==zn||Me.typeParameters!==ni||Me.heritageClauses!==Ci||Me.members!==ts?Hn(Yd(Bn,zn,ni,Ci,ts),Me):Me}function X2(){return oe(229)}function Qd(Me,Bn){let Hn=oe(230);return Hn.expression=zn().parenthesizeLeftSideOfAccess(Me,!1),Hn.typeArguments=Bn&&zn().parenthesizeTypeArguments(Bn),Hn.transformFlags|=ye(Hn.expression)|gt(Hn.typeArguments)|1024,Hn}function Xn(Me,Bn,zn){return Me.expression!==Bn||Me.typeArguments!==zn?Hn(Qd(Bn,zn),Me):Me}function Ec(Me,Bn){let Hn=oe(231);return Hn.expression=Me,Hn.type=Bn,Hn.transformFlags|=ye(Hn.expression)|ye(Hn.type)|1,Hn}function Zd(Me,Bn,zn){return Me.expression!==Bn||Me.type!==zn?Hn(Ec(Bn,zn),Me):Me}function em(Me){let Bn=oe(232);return Bn.expression=zn().parenthesizeLeftSideOfAccess(Me,!1),Bn.transformFlags|=ye(Bn.expression)|1,Bn}function Au(Me,Bn){return JS(Me)?rm(Me,Bn):Me.expression!==Bn?Hn(em(Bn),Me):Me}function tm(Me,Bn){let Hn=oe(235);return Hn.expression=Me,Hn.type=Bn,Hn.transformFlags|=ye(Hn.expression)|ye(Hn.type)|1,Hn}function Pu(Me,Bn,zn){return Me.expression!==Bn||Me.type!==zn?Hn(tm(Bn,zn),Me):Me}function pi(Me){let Bn=oe(232);return Bn.flags|=32,Bn.expression=zn().parenthesizeLeftSideOfAccess(Me,!0),Bn.transformFlags|=ye(Bn.expression)|1,Bn}function rm(Me,Bn){return qp.assert(!!(Me.flags&32),"Cannot update a NonNullExpression using updateNonNullChain. Use updateNonNullExpression instead."),Me.expression!==Bn?Hn(pi(Bn),Me):Me}function wc(Me,Bn){let Hn=oe(233);switch(Hn.keywordToken=Me,Hn.name=Bn,Hn.transformFlags|=ye(Hn.name),Me){case 103:Hn.transformFlags|=1024;break;case 100:Hn.transformFlags|=4;break;default:return qp.assertNever(Me)}return Hn.flowNode=void 0,Hn}function ra(Me,Bn){return Me.name!==Bn?Hn(wc(Me.keywordToken,Bn),Me):Me}function i_(Me,Bn){let Hn=oe(236);return Hn.expression=Me,Hn.literal=Bn,Hn.transformFlags|=ye(Hn.expression)|ye(Hn.literal)|1024,Hn}function nm(Me,Bn,zn){return Me.expression!==Bn||Me.literal!==zn?Hn(i_(Bn,zn),Me):Me}function im(){let Me=oe(237);return Me.transformFlags|=1024,Me}function Zs(Me,Bn){let Hn=oe(238);return Hn.statements=Ne(Me),Hn.multiLine=Bn,Hn.transformFlags|=gt(Hn.statements),Hn.jsDoc=void 0,Hn.locals=void 0,Hn.nextContainer=void 0,Hn}function am(Me,Bn){return Me.statements!==Bn?Hn(Zs(Bn,Me.multiLine),Me):Me}function sm(Me,Bn){let Hn=oe(240);return Hn.modifiers=xt(Me),Hn.declarationList=ir(Bn)?Ru(Bn):Bn,Hn.transformFlags|=gt(Hn.modifiers)|ye(Hn.declarationList),Vn(Hn.modifiers)&2&&(Hn.transformFlags=1),Hn.jsDoc=void 0,Hn.flowNode=void 0,Hn}function om(Me,Bn,zn){return Me.modifiers!==Bn||Me.declarationList!==zn?Hn(sm(Bn,zn),Me):Me}function Du(){let Me=oe(239);return Me.jsDoc=void 0,Me}function a_(Me){let Bn=oe(241);return Bn.expression=zn().parenthesizeExpressionOfExpressionStatement(Me),Bn.transformFlags|=ye(Bn.expression),Bn.jsDoc=void 0,Bn.flowNode=void 0,Bn}function Y2(Me,Bn){return Me.expression!==Bn?Hn(a_(Bn),Me):Me}function ku(Me,Bn,Hn){let zn=oe(242);return zn.expression=Me,zn.thenStatement=Yn(Bn),zn.elseStatement=Yn(Hn),zn.transformFlags|=ye(zn.expression)|ye(zn.thenStatement)|ye(zn.elseStatement),zn.jsDoc=void 0,zn.flowNode=void 0,zn}function Q2(Me,Bn,zn,ni){return Me.expression!==Bn||Me.thenStatement!==zn||Me.elseStatement!==ni?Hn(ku(Bn,zn,ni),Me):Me}function Iu(Me,Bn){let Hn=oe(243);return Hn.statement=Yn(Me),Hn.expression=Bn,Hn.transformFlags|=ye(Hn.statement)|ye(Hn.expression),Hn.jsDoc=void 0,Hn.flowNode=void 0,Hn}function Z2(Me,Bn,zn){return Me.statement!==Bn||Me.expression!==zn?Hn(Iu(Bn,zn),Me):Me}function _m(Me,Bn){let Hn=oe(244);return Hn.expression=Me,Hn.statement=Yn(Bn),Hn.transformFlags|=ye(Hn.expression)|ye(Hn.statement),Hn.jsDoc=void 0,Hn.flowNode=void 0,Hn}function eb(Me,Bn,zn){return Me.expression!==Bn||Me.statement!==zn?Hn(_m(Bn,zn),Me):Me}function Nu(Me,Bn,Hn,zn){let ni=oe(245);return ni.initializer=Me,ni.condition=Bn,ni.incrementor=Hn,ni.statement=Yn(zn),ni.transformFlags|=ye(ni.initializer)|ye(ni.condition)|ye(ni.incrementor)|ye(ni.statement),ni.jsDoc=void 0,ni.locals=void 0,ni.nextContainer=void 0,ni.flowNode=void 0,ni}function cm(Me,Bn,zn,ni,Ci){return Me.initializer!==Bn||Me.condition!==zn||Me.incrementor!==ni||Me.statement!==Ci?Hn(Nu(Bn,zn,ni,Ci),Me):Me}function lm(Me,Bn,Hn){let zn=oe(246);return zn.initializer=Me,zn.expression=Bn,zn.statement=Yn(Hn),zn.transformFlags|=ye(zn.initializer)|ye(zn.expression)|ye(zn.statement),zn.jsDoc=void 0,zn.locals=void 0,zn.nextContainer=void 0,zn.flowNode=void 0,zn}function tb(Me,Bn,zn,ni){return Me.initializer!==Bn||Me.expression!==zn||Me.statement!==ni?Hn(lm(Bn,zn,ni),Me):Me}function um(Me,Bn,Hn,ni){let Ci=oe(247);return Ci.awaitModifier=Me,Ci.initializer=Bn,Ci.expression=zn().parenthesizeExpressionForDisallowedComma(Hn),Ci.statement=Yn(ni),Ci.transformFlags|=ye(Ci.awaitModifier)|ye(Ci.initializer)|ye(Ci.expression)|ye(Ci.statement)|1024,Me&&(Ci.transformFlags|=128),Ci.jsDoc=void 0,Ci.locals=void 0,Ci.nextContainer=void 0,Ci.flowNode=void 0,Ci}function rb(Me,Bn,zn,ni,Ci){return Me.awaitModifier!==Bn||Me.initializer!==zn||Me.expression!==ni||Me.statement!==Ci?Hn(um(Bn,zn,ni,Ci),Me):Me}function pm(Me){let Bn=oe(248);return Bn.label=Qt(Me),Bn.transformFlags|=ye(Bn.label)|4194304,Bn.jsDoc=void 0,Bn.flowNode=void 0,Bn}function fm(Me,Bn){return Me.label!==Bn?Hn(pm(Bn),Me):Me}function Ou(Me){let Bn=oe(249);return Bn.label=Qt(Me),Bn.transformFlags|=ye(Bn.label)|4194304,Bn.jsDoc=void 0,Bn.flowNode=void 0,Bn}function dm(Me,Bn){return Me.label!==Bn?Hn(Ou(Bn),Me):Me}function mm(Me){let Bn=oe(250);return Bn.expression=Me,Bn.transformFlags|=ye(Bn.expression)|128|4194304,Bn.jsDoc=void 0,Bn.flowNode=void 0,Bn}function nb(Me,Bn){return Me.expression!==Bn?Hn(mm(Bn),Me):Me}function Mu(Me,Bn){let Hn=oe(251);return Hn.expression=Me,Hn.statement=Yn(Bn),Hn.transformFlags|=ye(Hn.expression)|ye(Hn.statement),Hn.jsDoc=void 0,Hn.flowNode=void 0,Hn}function hm(Me,Bn,zn){return Me.expression!==Bn||Me.statement!==zn?Hn(Mu(Bn,zn),Me):Me}function Lu(Me,Bn){let Hn=oe(252);return Hn.expression=zn().parenthesizeExpressionForDisallowedComma(Me),Hn.caseBlock=Bn,Hn.transformFlags|=ye(Hn.expression)|ye(Hn.caseBlock),Hn.jsDoc=void 0,Hn.flowNode=void 0,Hn.possiblyExhaustive=!1,Hn}function eo(Me,Bn,zn){return Me.expression!==Bn||Me.caseBlock!==zn?Hn(Lu(Bn,zn),Me):Me}function gm(Me,Bn){let Hn=oe(253);return Hn.label=Qt(Me),Hn.statement=Yn(Bn),Hn.transformFlags|=ye(Hn.label)|ye(Hn.statement),Hn.jsDoc=void 0,Hn.flowNode=void 0,Hn}function ym(Me,Bn,zn){return Me.label!==Bn||Me.statement!==zn?Hn(gm(Bn,zn),Me):Me}function vm(Me){let Bn=oe(254);return Bn.expression=Me,Bn.transformFlags|=ye(Bn.expression),Bn.jsDoc=void 0,Bn.flowNode=void 0,Bn}function ib(Me,Bn){return Me.expression!==Bn?Hn(vm(Bn),Me):Me}function bm(Me,Bn,Hn){let zn=oe(255);return zn.tryBlock=Me,zn.catchClause=Bn,zn.finallyBlock=Hn,zn.transformFlags|=ye(zn.tryBlock)|ye(zn.catchClause)|ye(zn.finallyBlock),zn.jsDoc=void 0,zn.flowNode=void 0,zn}function ab(Me,Bn,zn,ni){return Me.tryBlock!==Bn||Me.catchClause!==zn||Me.finallyBlock!==ni?Hn(bm(Bn,zn,ni),Me):Me}function Tm(){let Me=oe(256);return Me.jsDoc=void 0,Me.flowNode=void 0,Me}function Cc(Me,Bn,Hn,zn){var ni;let Ci=Ve(257);return Ci.name=Qt(Me),Ci.exclamationToken=Bn,Ci.type=Hn,Ci.initializer=Wa(zn),Ci.transformFlags|=ai(Ci.name)|ye(Ci.initializer)|(((ni=Ci.exclamationToken)!=null?ni:Ci.type)?1:0),Ci.jsDoc=void 0,Ci}function Sm(Me,Bn,zn,ni,Ci){return Me.name!==Bn||Me.type!==ni||Me.exclamationToken!==zn||Me.initializer!==Ci?Hn(Cc(Bn,zn,ni,Ci),Me):Me}function Ru(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,Hn=oe(258);return Hn.flags|=Bn&3,Hn.declarations=Ne(Me),Hn.transformFlags|=gt(Hn.declarations)|4194304,Bn&3&&(Hn.transformFlags|=263168),Hn}function sb(Me,Bn){return Me.declarations!==Bn?Hn(Ru(Bn,Me.flags),Me):Me}function xm(Me,Bn,Hn,zn,ni,Ci,ts){let Ps=Ve(259);if(Ps.modifiers=xt(Me),Ps.asteriskToken=Bn,Ps.name=Qt(Hn),Ps.typeParameters=xt(zn),Ps.parameters=Ne(ni),Ps.type=Ci,Ps.body=ts,!Ps.body||Vn(Ps.modifiers)&2)Ps.transformFlags=1;else{let Me=Vn(Ps.modifiers)&512,Bn=!!Ps.asteriskToken,Hn=Me&&Bn;Ps.transformFlags=gt(Ps.modifiers)|ye(Ps.asteriskToken)|ai(Ps.name)|gt(Ps.typeParameters)|gt(Ps.parameters)|ye(Ps.type)|ye(Ps.body)&-67108865|(Hn?128:Me?256:Bn?2048:0)|(Ps.typeParameters||Ps.type?1:0)|4194304}return Ps.typeArguments=void 0,Ps.jsDoc=void 0,Ps.locals=void 0,Ps.nextContainer=void 0,Ps.endFlowNode=void 0,Ps.returnFlowNode=void 0,Ps}function ju(Me,Bn,Hn,zn,ni,Ci,ts,Ps){return Me.modifiers!==Bn||Me.asteriskToken!==Hn||Me.name!==zn||Me.typeParameters!==ni||Me.parameters!==Ci||Me.type!==ts||Me.body!==Ps?ob(xm(Bn,Hn,zn,ni,Ci,ts,Ps),Me):Me}function ob(Me,Bn){return Me!==Bn&&Me.modifiers===Bn.modifiers&&(Me.modifiers=Bn.modifiers),pt(Me,Bn)}function Em(Me,Bn,Hn,zn,ni){let Ci=Ve(260);return Ci.modifiers=xt(Me),Ci.name=Qt(Bn),Ci.typeParameters=xt(Hn),Ci.heritageClauses=xt(zn),Ci.members=Ne(ni),Vn(Ci.modifiers)&2?Ci.transformFlags=1:(Ci.transformFlags|=gt(Ci.modifiers)|ai(Ci.name)|gt(Ci.typeParameters)|gt(Ci.heritageClauses)|gt(Ci.members)|(Ci.typeParameters?1:0)|1024,Ci.transformFlags&8192&&(Ci.transformFlags|=1)),Ci.jsDoc=void 0,Ci}function Ju(Me,Bn,zn,ni,Ci,ts){return Me.modifiers!==Bn||Me.name!==zn||Me.typeParameters!==ni||Me.heritageClauses!==Ci||Me.members!==ts?Hn(Em(Bn,zn,ni,Ci,ts),Me):Me}function wm(Me,Bn,Hn,zn,ni){let Ci=Ve(261);return Ci.modifiers=xt(Me),Ci.name=Qt(Bn),Ci.typeParameters=xt(Hn),Ci.heritageClauses=xt(zn),Ci.members=Ne(ni),Ci.transformFlags=1,Ci.jsDoc=void 0,Ci}function Cm(Me,Bn,zn,ni,Ci,ts){return Me.modifiers!==Bn||Me.name!==zn||Me.typeParameters!==ni||Me.heritageClauses!==Ci||Me.members!==ts?Hn(wm(Bn,zn,ni,Ci,ts),Me):Me}function sr(Me,Bn,Hn,zn){let ni=Ve(262);return ni.modifiers=xt(Me),ni.name=Qt(Bn),ni.typeParameters=xt(Hn),ni.type=zn,ni.transformFlags=1,ni.jsDoc=void 0,ni.locals=void 0,ni.nextContainer=void 0,ni}function Ma(Me,Bn,zn,ni,Ci){return Me.modifiers!==Bn||Me.name!==zn||Me.typeParameters!==ni||Me.type!==Ci?Hn(sr(Bn,zn,ni,Ci),Me):Me}function Fu(Me,Bn,Hn){let zn=Ve(263);return zn.modifiers=xt(Me),zn.name=Qt(Bn),zn.members=Ne(Hn),zn.transformFlags|=gt(zn.modifiers)|ye(zn.name)|gt(zn.members)|1,zn.transformFlags&=-67108865,zn.jsDoc=void 0,zn}function La(Me,Bn,zn,ni){return Me.modifiers!==Bn||Me.name!==zn||Me.members!==ni?Hn(Fu(Bn,zn,ni),Me):Me}function Am(Me,Bn,Hn){let zn=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,ni=Ve(264);return ni.modifiers=xt(Me),ni.flags|=zn&1044,ni.name=Bn,ni.body=Hn,Vn(ni.modifiers)&2?ni.transformFlags=1:ni.transformFlags|=gt(ni.modifiers)|ye(ni.name)|ye(ni.body)|1,ni.transformFlags&=-67108865,ni.jsDoc=void 0,ni.locals=void 0,ni.nextContainer=void 0,ni}function Sr(Me,Bn,zn,ni){return Me.modifiers!==Bn||Me.name!==zn||Me.body!==ni?Hn(Am(Bn,zn,ni,Me.flags),Me):Me}function Ra(Me){let Bn=oe(265);return Bn.statements=Ne(Me),Bn.transformFlags|=gt(Bn.statements),Bn.jsDoc=void 0,Bn}function Yr(Me,Bn){return Me.statements!==Bn?Hn(Ra(Bn),Me):Me}function Pm(Me){let Bn=oe(266);return Bn.clauses=Ne(Me),Bn.transformFlags|=gt(Bn.clauses),Bn.locals=void 0,Bn.nextContainer=void 0,Bn}function _b(Me,Bn){return Me.clauses!==Bn?Hn(Pm(Bn),Me):Me}function Dm(Me){let Bn=Ve(267);return Bn.name=Qt(Me),Bn.transformFlags|=ec(Bn.name)|1,Bn.modifiers=void 0,Bn.jsDoc=void 0,Bn}function km(Me,Bn){return Me.name!==Bn?cb(Dm(Bn),Me):Me}function cb(Me,Bn){return Me!==Bn&&(Me.modifiers=Bn.modifiers),Hn(Me,Bn)}function Im(Me,Bn,Hn,zn){let ni=Ve(268);return ni.modifiers=xt(Me),ni.name=Qt(Hn),ni.isTypeOnly=Bn,ni.moduleReference=zn,ni.transformFlags|=gt(ni.modifiers)|ec(ni.name)|ye(ni.moduleReference),ud(ni.moduleReference)||(ni.transformFlags|=1),ni.transformFlags&=-67108865,ni.jsDoc=void 0,ni}function Nm(Me,Bn,zn,ni,Ci){return Me.modifiers!==Bn||Me.isTypeOnly!==zn||Me.name!==ni||Me.moduleReference!==Ci?Hn(Im(Bn,zn,ni,Ci),Me):Me}function Om(Me,Bn,Hn,zn){let ni=oe(269);return ni.modifiers=xt(Me),ni.importClause=Bn,ni.moduleSpecifier=Hn,ni.assertClause=zn,ni.transformFlags|=ye(ni.importClause)|ye(ni.moduleSpecifier),ni.transformFlags&=-67108865,ni.jsDoc=void 0,ni}function Mm(Me,Bn,zn,ni,Ci){return Me.modifiers!==Bn||Me.importClause!==zn||Me.moduleSpecifier!==ni||Me.assertClause!==Ci?Hn(Om(Bn,zn,ni,Ci),Me):Me}function Lm(Me,Bn,Hn){let zn=Ve(270);return zn.isTypeOnly=Me,zn.name=Bn,zn.namedBindings=Hn,zn.transformFlags|=ye(zn.name)|ye(zn.namedBindings),Me&&(zn.transformFlags|=1),zn.transformFlags&=-67108865,zn}function Rm(Me,Bn,zn,ni){return Me.isTypeOnly!==Bn||Me.name!==zn||Me.namedBindings!==ni?Hn(Lm(Bn,zn,ni),Me):Me}function Bu(Me,Bn){let Hn=oe(296);return Hn.elements=Ne(Me),Hn.multiLine=Bn,Hn.transformFlags|=4,Hn}function lb(Me,Bn,zn){return Me.elements!==Bn||Me.multiLine!==zn?Hn(Bu(Bn,zn),Me):Me}function s_(Me,Bn){let Hn=oe(297);return Hn.name=Me,Hn.value=Bn,Hn.transformFlags|=4,Hn}function jm(Me,Bn,zn){return Me.name!==Bn||Me.value!==zn?Hn(s_(Bn,zn),Me):Me}function qu(Me,Bn){let Hn=oe(298);return Hn.assertClause=Me,Hn.multiLine=Bn,Hn}function Jm(Me,Bn,zn){return Me.assertClause!==Bn||Me.multiLine!==zn?Hn(qu(Bn,zn),Me):Me}function Fm(Me){let Bn=Ve(271);return Bn.name=Me,Bn.transformFlags|=ye(Bn.name),Bn.transformFlags&=-67108865,Bn}function Uu(Me,Bn){return Me.name!==Bn?Hn(Fm(Bn),Me):Me}function Bm(Me){let Bn=Ve(277);return Bn.name=Me,Bn.transformFlags|=ye(Bn.name)|4,Bn.transformFlags&=-67108865,Bn}function qm(Me,Bn){return Me.name!==Bn?Hn(Bm(Bn),Me):Me}function Um(Me){let Bn=oe(272);return Bn.elements=Ne(Me),Bn.transformFlags|=gt(Bn.elements),Bn.transformFlags&=-67108865,Bn}function ub(Me,Bn){return Me.elements!==Bn?Hn(Um(Bn),Me):Me}function zm(Me,Bn,Hn){let zn=Ve(273);return zn.isTypeOnly=Me,zn.propertyName=Bn,zn.name=Hn,zn.transformFlags|=ye(zn.propertyName)|ye(zn.name),zn.transformFlags&=-67108865,zn}function pb(Me,Bn,zn,ni){return Me.isTypeOnly!==Bn||Me.propertyName!==zn||Me.name!==ni?Hn(zm(Bn,zn,ni),Me):Me}function zu(Me,Bn,Hn){let ni=Ve(274);return ni.modifiers=xt(Me),ni.isExportEquals=Bn,ni.expression=Bn?zn().parenthesizeRightSideOfBinary(63,void 0,Hn):zn().parenthesizeExpressionOfExportDefault(Hn),ni.transformFlags|=gt(ni.modifiers)|ye(ni.expression),ni.transformFlags&=-67108865,ni.jsDoc=void 0,ni}function Wu(Me,Bn,zn){return Me.modifiers!==Bn||Me.expression!==zn?Hn(zu(Bn,Me.isExportEquals,zn),Me):Me}function na(Me,Bn,Hn,zn,ni){let Ci=Ve(275);return Ci.modifiers=xt(Me),Ci.isTypeOnly=Bn,Ci.exportClause=Hn,Ci.moduleSpecifier=zn,Ci.assertClause=ni,Ci.transformFlags|=gt(Ci.modifiers)|ye(Ci.exportClause)|ye(Ci.moduleSpecifier),Ci.transformFlags&=-67108865,Ci.jsDoc=void 0,Ci}function Wm(Me,Bn,Hn,zn,ni,Ci){return Me.modifiers!==Bn||Me.isTypeOnly!==Hn||Me.exportClause!==zn||Me.moduleSpecifier!==ni||Me.assertClause!==Ci?Vm(na(Bn,Hn,zn,ni,Ci),Me):Me}function Vm(Me,Bn){return Me!==Bn&&Me.modifiers===Bn.modifiers&&(Me.modifiers=Bn.modifiers),Hn(Me,Bn)}function to(Me){let Bn=oe(276);return Bn.elements=Ne(Me),Bn.transformFlags|=gt(Bn.elements),Bn.transformFlags&=-67108865,Bn}function Hm(Me,Bn){return Me.elements!==Bn?Hn(to(Bn),Me):Me}function Vu(Me,Bn,Hn){let zn=oe(278);return zn.isTypeOnly=Me,zn.propertyName=Qt(Bn),zn.name=Qt(Hn),zn.transformFlags|=ye(zn.propertyName)|ye(zn.name),zn.transformFlags&=-67108865,zn.jsDoc=void 0,zn}function o_(Me,Bn,zn,ni){return Me.isTypeOnly!==Bn||Me.propertyName!==zn||Me.name!==ni?Hn(Vu(Bn,zn,ni),Me):Me}function fb(){let Me=Ve(279);return Me.jsDoc=void 0,Me}function Gm(Me){let Bn=oe(280);return Bn.expression=Me,Bn.transformFlags|=ye(Bn.expression),Bn.transformFlags&=-67108865,Bn}function $m(Me,Bn){return Me.expression!==Bn?Hn(Gm(Bn),Me):Me}function db(Me){return oe(Me)}function Km(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,ni=Ac(Me,Hn?Bn&&zn().parenthesizeNonArrayTypeOfPostfixType(Bn):Bn);return ni.postfix=Hn,ni}function Ac(Me,Bn){let Hn=oe(Me);return Hn.type=Bn,Hn}function Xm(Me,Bn,zn){return Bn.type!==zn?Hn(Km(Me,zn,Bn.postfix),Bn):Bn}function mb(Me,Bn,zn){return Bn.type!==zn?Hn(Ac(Me,zn),Bn):Bn}function Ym(Me,Bn){let Hn=Ve(320);return Hn.parameters=xt(Me),Hn.type=Bn,Hn.transformFlags=gt(Hn.parameters)|(Hn.type?1:0),Hn.jsDoc=void 0,Hn.locals=void 0,Hn.nextContainer=void 0,Hn.typeArguments=void 0,Hn}function hb(Me,Bn,zn){return Me.parameters!==Bn||Me.type!==zn?Hn(Ym(Bn,zn),Me):Me}function Qm(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Hn=Ve(325);return Hn.jsDocPropertyTags=xt(Me),Hn.isArrayType=Bn,Hn}function gb(Me,Bn,zn){return Me.jsDocPropertyTags!==Bn||Me.isArrayType!==zn?Hn(Qm(Bn,zn),Me):Me}function Zm(Me){let Bn=oe(312);return Bn.type=Me,Bn}function yb(Me,Bn){return Me.type!==Bn?Hn(Zm(Bn),Me):Me}function eh(Me,Bn,Hn){let zn=Ve(326);return zn.typeParameters=xt(Me),zn.parameters=Ne(Bn),zn.type=Hn,zn.jsDoc=void 0,zn.locals=void 0,zn.nextContainer=void 0,zn}function Hu(Me,Bn,zn,ni){return Me.typeParameters!==Bn||Me.parameters!==zn||Me.type!==ni?Hn(eh(Bn,zn,ni),Me):Me}function fi(Me){let Bn=ed(Me.kind);return Me.tagName.escapedText===vi(Bn)?Me.tagName:Ut(Bn)}function ja(Me,Bn,Hn){let zn=oe(Me);return zn.tagName=Bn,zn.comment=Hn,zn}function Ja(Me,Bn,Hn){let zn=Ve(Me);return zn.tagName=Bn,zn.comment=Hn,zn}function __(Me,Bn,Hn,zn){let ni=ja(348,Me!=null?Me:Ut("template"),zn);return ni.constraint=Bn,ni.typeParameters=Ne(Hn),ni}function Gu(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(Me),zn=arguments.length>2?arguments[2]:void 0,ni=arguments.length>3?arguments[3]:void 0,Ci=arguments.length>4?arguments[4]:void 0;return Me.tagName!==Bn||Me.constraint!==zn||Me.typeParameters!==ni||Me.comment!==Ci?Hn(__(Bn,zn,ni,Ci),Me):Me}function $u(Me,Bn,Hn,zn){let ni=Ja(349,Me!=null?Me:Ut("typedef"),zn);return ni.typeExpression=Bn,ni.fullName=Hn,ni.name=w2(Hn),ni.locals=void 0,ni.nextContainer=void 0,ni}function th(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(Me),zn=arguments.length>2?arguments[2]:void 0,ni=arguments.length>3?arguments[3]:void 0,Ci=arguments.length>4?arguments[4]:void 0;return Me.tagName!==Bn||Me.typeExpression!==zn||Me.fullName!==ni||Me.comment!==Ci?Hn($u(Bn,zn,ni,Ci),Me):Me}function Pc(Me,Bn,Hn,zn,ni,Ci){let ts=Ja(344,Me!=null?Me:Ut("param"),Ci);return ts.typeExpression=zn,ts.name=Bn,ts.isNameFirst=!!ni,ts.isBracketed=Hn,ts}function vb(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(Me),zn=arguments.length>2?arguments[2]:void 0,ni=arguments.length>3?arguments[3]:void 0,Ci=arguments.length>4?arguments[4]:void 0,ts=arguments.length>5?arguments[5]:void 0,Ps=arguments.length>6?arguments[6]:void 0;return Me.tagName!==Bn||Me.name!==zn||Me.isBracketed!==ni||Me.typeExpression!==Ci||Me.isNameFirst!==ts||Me.comment!==Ps?Hn(Pc(Bn,zn,ni,Ci,ts,Ps),Me):Me}function Ku(Me,Bn,Hn,zn,ni,Ci){let ts=Ja(351,Me!=null?Me:Ut("prop"),Ci);return ts.typeExpression=zn,ts.name=Bn,ts.isNameFirst=!!ni,ts.isBracketed=Hn,ts}function bb(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(Me),zn=arguments.length>2?arguments[2]:void 0,ni=arguments.length>3?arguments[3]:void 0,Ci=arguments.length>4?arguments[4]:void 0,ts=arguments.length>5?arguments[5]:void 0,Ps=arguments.length>6?arguments[6]:void 0;return Me.tagName!==Bn||Me.name!==zn||Me.isBracketed!==ni||Me.typeExpression!==Ci||Me.isNameFirst!==ts||Me.comment!==Ps?Hn(Ku(Bn,zn,ni,Ci,ts,Ps),Me):Me}function rh(Me,Bn,Hn,zn){let ni=Ja(341,Me!=null?Me:Ut("callback"),zn);return ni.typeExpression=Bn,ni.fullName=Hn,ni.name=w2(Hn),ni.locals=void 0,ni.nextContainer=void 0,ni}function nh(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(Me),zn=arguments.length>2?arguments[2]:void 0,ni=arguments.length>3?arguments[3]:void 0,Ci=arguments.length>4?arguments[4]:void 0;return Me.tagName!==Bn||Me.typeExpression!==zn||Me.fullName!==ni||Me.comment!==Ci?Hn(rh(Bn,zn,ni,Ci),Me):Me}function ih(Me,Bn,Hn){let zn=ja(342,Me!=null?Me:Ut("overload"),Hn);return zn.typeExpression=Bn,zn}function ah(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(Me),zn=arguments.length>2?arguments[2]:void 0,ni=arguments.length>3?arguments[3]:void 0;return Me.tagName!==Bn||Me.typeExpression!==zn||Me.comment!==ni?Hn(ih(Bn,zn,ni),Me):Me}function sh(Me,Bn,Hn){let zn=ja(331,Me!=null?Me:Ut("augments"),Hn);return zn.class=Bn,zn}function Xu(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(Me),zn=arguments.length>2?arguments[2]:void 0,ni=arguments.length>3?arguments[3]:void 0;return Me.tagName!==Bn||Me.class!==zn||Me.comment!==ni?Hn(sh(Bn,zn,ni),Me):Me}function Yu(Me,Bn,Hn){let zn=ja(332,Me!=null?Me:Ut("implements"),Hn);return zn.class=Bn,zn}function ro(Me,Bn,Hn){let zn=ja(350,Me!=null?Me:Ut("see"),Hn);return zn.name=Bn,zn}function Tb(Me,Bn,zn,ni){return Me.tagName!==Bn||Me.name!==zn||Me.comment!==ni?Hn(ro(Bn,zn,ni),Me):Me}function ws(Me){let Bn=oe(313);return Bn.name=Me,Bn}function Dc(Me,Bn){return Me.name!==Bn?Hn(ws(Bn),Me):Me}function oh(Me,Bn){let Hn=oe(314);return Hn.left=Me,Hn.right=Bn,Hn.transformFlags|=ye(Hn.left)|ye(Hn.right),Hn}function Sb(Me,Bn,zn){return Me.left!==Bn||Me.right!==zn?Hn(oh(Bn,zn),Me):Me}function _h(Me,Bn){let Hn=oe(327);return Hn.name=Me,Hn.text=Bn,Hn}function xb(Me,Bn,zn){return Me.name!==Bn?Hn(_h(Bn,zn),Me):Me}function ch(Me,Bn){let Hn=oe(328);return Hn.name=Me,Hn.text=Bn,Hn}function lh(Me,Bn,zn){return Me.name!==Bn?Hn(ch(Bn,zn),Me):Me}function uh(Me,Bn){let Hn=oe(329);return Hn.name=Me,Hn.text=Bn,Hn}function Eb(Me,Bn,zn){return Me.name!==Bn?Hn(uh(Bn,zn),Me):Me}function wb(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(Me),zn=arguments.length>2?arguments[2]:void 0,ni=arguments.length>3?arguments[3]:void 0;return Me.tagName!==Bn||Me.class!==zn||Me.comment!==ni?Hn(Yu(Bn,zn,ni),Me):Me}function ph(Me,Bn,Hn){return ja(Me,Bn!=null?Bn:Ut(ed(Me)),Hn)}function Cb(Me,Bn){let zn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:fi(Bn),ni=arguments.length>3?arguments[3]:void 0;return Bn.tagName!==zn||Bn.comment!==ni?Hn(ph(Me,zn,ni),Bn):Bn}function fh(Me,Bn,Hn,zn){let ni=ja(Me,Bn!=null?Bn:Ut(ed(Me)),zn);return ni.typeExpression=Hn,ni}function Ab(Me,Bn){let zn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:fi(Bn),ni=arguments.length>3?arguments[3]:void 0,Ci=arguments.length>4?arguments[4]:void 0;return Bn.tagName!==zn||Bn.typeExpression!==ni||Bn.comment!==Ci?Hn(fh(Me,zn,ni,Ci),Bn):Bn}function dh(Me,Bn){return ja(330,Me,Bn)}function Pb(Me,Bn,zn){return Me.tagName!==Bn||Me.comment!==zn?Hn(dh(Bn,zn),Me):Me}function mh(Me,Bn,Hn){let zn=Ja(343,Me!=null?Me:Ut(ed(343)),Hn);return zn.typeExpression=Bn,zn.locals=void 0,zn.nextContainer=void 0,zn}function Db(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(Me),zn=arguments.length>2?arguments[2]:void 0,ni=arguments.length>3?arguments[3]:void 0;return Me.tagName!==Bn||Me.typeExpression!==zn||Me.comment!==ni?Hn(mh(Bn,zn,ni),Me):Me}function hh(Me){let Bn=oe(324);return Bn.text=Me,Bn}function Qu(Me,Bn){return Me.text!==Bn?Hn(hh(Bn),Me):Me}function gh(Me,Bn){let Hn=oe(323);return Hn.comment=Me,Hn.tags=xt(Bn),Hn}function yh(Me,Bn,zn){return Me.comment!==Bn||Me.tags!==zn?Hn(gh(Bn,zn),Me):Me}function Zu(Me,Bn,Hn){let zn=oe(281);return zn.openingElement=Me,zn.children=Ne(Bn),zn.closingElement=Hn,zn.transformFlags|=ye(zn.openingElement)|gt(zn.children)|ye(zn.closingElement)|2,zn}function kb(Me,Bn,zn,ni){return Me.openingElement!==Bn||Me.children!==zn||Me.closingElement!==ni?Hn(Zu(Bn,zn,ni),Me):Me}function c_(Me,Bn,Hn){let zn=oe(282);return zn.tagName=Me,zn.typeArguments=xt(Bn),zn.attributes=Hn,zn.transformFlags|=ye(zn.tagName)|gt(zn.typeArguments)|ye(zn.attributes)|2,zn.typeArguments&&(zn.transformFlags|=1),zn}function vh(Me,Bn,zn,ni){return Me.tagName!==Bn||Me.typeArguments!==zn||Me.attributes!==ni?Hn(c_(Bn,zn,ni),Me):Me}function bh(Me,Bn,Hn){let zn=oe(283);return zn.tagName=Me,zn.typeArguments=xt(Bn),zn.attributes=Hn,zn.transformFlags|=ye(zn.tagName)|gt(zn.typeArguments)|ye(zn.attributes)|2,Bn&&(zn.transformFlags|=1),zn}function Ib(Me,Bn,zn,ni){return Me.tagName!==Bn||Me.typeArguments!==zn||Me.attributes!==ni?Hn(bh(Bn,zn,ni),Me):Me}function on(Me){let Bn=oe(284);return Bn.tagName=Me,Bn.transformFlags|=ye(Bn.tagName)|2,Bn}function Th(Me,Bn){return Me.tagName!==Bn?Hn(on(Bn),Me):Me}function ep(Me,Bn,Hn){let zn=oe(285);return zn.openingFragment=Me,zn.children=Ne(Bn),zn.closingFragment=Hn,zn.transformFlags|=ye(zn.openingFragment)|gt(zn.children)|ye(zn.closingFragment)|2,zn}function Nb(Me,Bn,zn,ni){return Me.openingFragment!==Bn||Me.children!==zn||Me.closingFragment!==ni?Hn(ep(Bn,zn,ni),Me):Me}function l_(Me,Bn){let Hn=oe(11);return Hn.text=Me,Hn.containsOnlyTriviaWhiteSpaces=!!Bn,Hn.transformFlags|=2,Hn}function Ob(Me,Bn,zn){return Me.text!==Bn||Me.containsOnlyTriviaWhiteSpaces!==zn?Hn(l_(Bn,zn),Me):Me}function kc(){let Me=oe(286);return Me.transformFlags|=2,Me}function Mb(){let Me=oe(287);return Me.transformFlags|=2,Me}function Sh(Me,Bn){let Hn=Ve(288);return Hn.name=Me,Hn.initializer=Bn,Hn.transformFlags|=ye(Hn.name)|ye(Hn.initializer)|2,Hn}function Lb(Me,Bn,zn){return Me.name!==Bn||Me.initializer!==zn?Hn(Sh(Bn,zn),Me):Me}function xh(Me){let Bn=Ve(289);return Bn.properties=Ne(Me),Bn.transformFlags|=gt(Bn.properties)|2,Bn}function tp(Me,Bn){return Me.properties!==Bn?Hn(xh(Bn),Me):Me}function no(Me){let Bn=oe(290);return Bn.expression=Me,Bn.transformFlags|=ye(Bn.expression)|2,Bn}function Rb(Me,Bn){return Me.expression!==Bn?Hn(no(Bn),Me):Me}function Ic(Me,Bn){let Hn=oe(291);return Hn.dotDotDotToken=Me,Hn.expression=Bn,Hn.transformFlags|=ye(Hn.dotDotDotToken)|ye(Hn.expression)|2,Hn}function Eh(Me,Bn){return Me.expression!==Bn?Hn(Ic(Me.dotDotDotToken,Bn),Me):Me}function wh(Me,Bn){let Hn=oe(292);return Hn.expression=zn().parenthesizeExpressionForDisallowedComma(Me),Hn.statements=Ne(Bn),Hn.transformFlags|=ye(Hn.expression)|gt(Hn.statements),Hn.jsDoc=void 0,Hn}function rp(Me,Bn,zn){return Me.expression!==Bn||Me.statements!==zn?Hn(wh(Bn,zn),Me):Me}function np(Me){let Bn=oe(293);return Bn.statements=Ne(Me),Bn.transformFlags=gt(Bn.statements),Bn}function jb(Me,Bn){return Me.statements!==Bn?Hn(np(Bn),Me):Me}function Ch(Me,Bn){let Hn=oe(294);switch(Hn.token=Me,Hn.types=Ne(Bn),Hn.transformFlags|=gt(Hn.types),Me){case 94:Hn.transformFlags|=1024;break;case 117:Hn.transformFlags|=1;break;default:return qp.assertNever(Me)}return Hn}function Ah(Me,Bn){return Me.types!==Bn?Hn(Ch(Me.token,Bn),Me):Me}function ip(Me,Bn){let Hn=oe(295);return Hn.variableDeclaration=Xh(Me),Hn.block=Bn,Hn.transformFlags|=ye(Hn.variableDeclaration)|ye(Hn.block)|(Me?0:64),Hn.locals=void 0,Hn.nextContainer=void 0,Hn}function Ph(Me,Bn,zn){return Me.variableDeclaration!==Bn||Me.block!==zn?Hn(ip(Bn,zn),Me):Me}function Fa(Me,Bn){let Hn=Ve(299);return Hn.name=Qt(Me),Hn.initializer=zn().parenthesizeExpressionForDisallowedComma(Bn),Hn.transformFlags|=ai(Hn.name)|ye(Hn.initializer),Hn.modifiers=void 0,Hn.questionToken=void 0,Hn.exclamationToken=void 0,Hn.jsDoc=void 0,Hn}function Jb(Me,Bn,Hn){return Me.name!==Bn||Me.initializer!==Hn?Fb(Fa(Bn,Hn),Me):Me}function Fb(Me,Bn){return Me!==Bn&&(Me.modifiers=Bn.modifiers,Me.questionToken=Bn.questionToken,Me.exclamationToken=Bn.exclamationToken),Hn(Me,Bn)}function Dh(Me,Bn){let Hn=Ve(300);return Hn.name=Qt(Me),Hn.objectAssignmentInitializer=Bn&&zn().parenthesizeExpressionForDisallowedComma(Bn),Hn.transformFlags|=ec(Hn.name)|ye(Hn.objectAssignmentInitializer)|1024,Hn.equalsToken=void 0,Hn.modifiers=void 0,Hn.questionToken=void 0,Hn.exclamationToken=void 0,Hn.jsDoc=void 0,Hn}function Bb(Me,Bn,Hn){return Me.name!==Bn||Me.objectAssignmentInitializer!==Hn?kh(Dh(Bn,Hn),Me):Me}function kh(Me,Bn){return Me!==Bn&&(Me.modifiers=Bn.modifiers,Me.questionToken=Bn.questionToken,Me.exclamationToken=Bn.exclamationToken,Me.equalsToken=Bn.equalsToken),Hn(Me,Bn)}function ap(Me){let Bn=Ve(301);return Bn.expression=zn().parenthesizeExpressionForDisallowedComma(Me),Bn.transformFlags|=ye(Bn.expression)|128|65536,Bn.jsDoc=void 0,Bn}function ki(Me,Bn){return Me.expression!==Bn?Hn(ap(Bn),Me):Me}function sp(Me,Bn){let Hn=Ve(302);return Hn.name=Qt(Me),Hn.initializer=Bn&&zn().parenthesizeExpressionForDisallowedComma(Bn),Hn.transformFlags|=ye(Hn.name)|ye(Hn.initializer)|1,Hn.jsDoc=void 0,Hn}function qb(Me,Bn,zn){return Me.name!==Bn||Me.initializer!==zn?Hn(sp(Bn,zn),Me):Me}function Ub(Me,Hn,zn){let ni=Bn.createBaseSourceFileNode(308);return ni.statements=Ne(Me),ni.endOfFileToken=Hn,ni.flags|=zn,ni.text="",ni.fileName="",ni.path="",ni.resolvedPath="",ni.originalFileName="",ni.languageVersion=0,ni.languageVariant=0,ni.scriptKind=0,ni.isDeclarationFile=!1,ni.hasNoDefaultLib=!1,ni.transformFlags|=gt(ni.statements)|ye(ni.endOfFileToken),ni.locals=void 0,ni.nextContainer=void 0,ni.endFlowNode=void 0,ni.nodeCount=0,ni.identifierCount=0,ni.symbolCount=0,ni.parseDiagnostics=void 0,ni.bindDiagnostics=void 0,ni.bindSuggestionDiagnostics=void 0,ni.lineMap=void 0,ni.externalModuleIndicator=void 0,ni.setExternalModuleIndicator=void 0,ni.pragmas=void 0,ni.checkJsDirective=void 0,ni.referencedFiles=void 0,ni.typeReferenceDirectives=void 0,ni.libReferenceDirectives=void 0,ni.amdDependencies=void 0,ni.commentDirectives=void 0,ni.identifiers=void 0,ni.packageJsonLocations=void 0,ni.packageJsonScope=void 0,ni.imports=void 0,ni.moduleAugmentations=void 0,ni.ambientModuleNames=void 0,ni.resolvedModules=void 0,ni.classifiableNames=void 0,ni.impliedNodeFormat=void 0,ni}function Ih(Me){let Bn=Object.create(Me.redirectTarget);return Object.defineProperties(Bn,{id:{get(){return this.redirectInfo.redirectTarget.id},set(Me){this.redirectInfo.redirectTarget.id=Me}},symbol:{get(){return this.redirectInfo.redirectTarget.symbol},set(Me){this.redirectInfo.redirectTarget.symbol=Me}}}),Bn.redirectInfo=Me,Bn}function Nh(Me){let Bn=Ih(Me.redirectInfo);return Bn.flags|=Me.flags&-9,Bn.fileName=Me.fileName,Bn.path=Me.path,Bn.resolvedPath=Me.resolvedPath,Bn.originalFileName=Me.originalFileName,Bn.packageJsonLocations=Me.packageJsonLocations,Bn.packageJsonScope=Me.packageJsonScope,Bn.emitNode=void 0,Bn}function op(Me){let Hn=Bn.createBaseSourceFileNode(308);Hn.flags|=Me.flags&-9;for(let Bn in Me)if(!(Jr(Hn,Bn)||!Jr(Me,Bn))){if(Bn==="emitNode"){Hn.emitNode=void 0;continue}Hn[Bn]=Me[Bn]}return Hn}function Oh(Me){let Bn=Me.redirectInfo?Nh(Me):op(Me);return Dn(Bn,Me),Bn}function zb(Me,Bn,Hn,zn,ni,Ci,ts){let Ps=Oh(Me);return Ps.statements=Ne(Bn),Ps.isDeclarationFile=Hn,Ps.referencedFiles=zn,Ps.typeReferenceDirectives=ni,Ps.hasNoDefaultLib=Ci,Ps.libReferenceDirectives=ts,Ps.transformFlags=gt(Ps.statements)|ye(Ps.endOfFileToken),Ps}function Mh(Me,Bn){let zn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Me.isDeclarationFile,ni=arguments.length>3&&arguments[3]!==void 0?arguments[3]:Me.referencedFiles,Ci=arguments.length>4&&arguments[4]!==void 0?arguments[4]:Me.typeReferenceDirectives,ts=arguments.length>5&&arguments[5]!==void 0?arguments[5]:Me.hasNoDefaultLib,Ps=arguments.length>6&&arguments[6]!==void 0?arguments[6]:Me.libReferenceDirectives;return Me.statements!==Bn||Me.isDeclarationFile!==zn||Me.referencedFiles!==ni||Me.typeReferenceDirectives!==Ci||Me.hasNoDefaultLib!==ts||Me.libReferenceDirectives!==Ps?Hn(zb(Me,Bn,zn,ni,Ci,ts,Ps),Me):Me}function Lh(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ca,Hn=oe(309);return Hn.prepends=Bn,Hn.sourceFiles=Me,Hn.syntheticFileReferences=void 0,Hn.syntheticTypeReferences=void 0,Hn.syntheticLibReferences=void 0,Hn.hasNoDefaultLib=void 0,Hn}function Wb(Me,Bn){let zn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ca;return Me.sourceFiles!==Bn||Me.prepends!==zn?Hn(Lh(Bn,zn),Me):Me}function Nc(Me,Bn,Hn){let zn=oe(310);return zn.prologues=Me,zn.syntheticReferences=Bn,zn.texts=Hn,zn.fileName="",zn.text="",zn.referencedFiles=ca,zn.libReferenceDirectives=ca,zn.getLineAndCharacterOfPosition=Me=>Ls(zn,Me),zn}function Oc(Me,Bn){let Hn=oe(Me);return Hn.data=Bn,Hn}function Vb(Me){return Oc(303,Me)}function Hb(Me,Bn){let Hn=Oc(304,Me);return Hn.texts=Bn,Hn}function Gb(Me,Bn){return Oc(Bn?306:305,Me)}function $b(Me){let Bn=oe(307);return Bn.data=Me.data,Bn.section=Me,Bn}function Kb(){let Me=oe(311);return Me.javascriptText="",Me.declarationText="",Me}function Rh(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Hn=arguments.length>2?arguments[2]:void 0,zn=oe(234);return zn.type=Me,zn.isSpread=Bn,zn.tupleNameSource=Hn,zn}function jh(Me){let Bn=oe(354);return Bn._children=Me,Bn}function Jh(Me){let Bn=oe(355);return Bn.original=Me,Rt(Bn,Me),Bn}function Fh(Me,Bn){let Hn=oe(356);return Hn.expression=Me,Hn.original=Bn,Hn.transformFlags|=ye(Hn.expression)|1,Rt(Hn,Bn),Hn}function Bh(Me,Bn){return Me.expression!==Bn?Hn(Fh(Bn,Me.original),Me):Me}function qh(Me){if(fs(Me)&&!pl(Me)&&!Me.original&&!Me.emitNode&&!Me.id){if(oc(Me))return Me.elements;if(ur(Me)&&I8(Me.operatorToken))return[Me.left,Me.right]}return Me}function Mc(Me){let Bn=oe(357);return Bn.elements=Ne(at(Me,qh)),Bn.transformFlags|=gt(Bn.elements),Bn}function Xb(Me,Bn){return Me.elements!==Bn?Hn(Mc(Bn),Me):Me}function Yb(Me){let Bn=oe(359);return Bn.emitNode={},Bn.original=Me,Bn}function Qb(Me){let Bn=oe(358);return Bn.emitNode={},Bn.original=Me,Bn}function Uh(Me,Bn){let Hn=oe(360);return Hn.expression=Me,Hn.thisArg=Bn,Hn.transformFlags|=ye(Hn.expression)|ye(Hn.thisArg),Hn}function _p(Me,Bn,zn){return Me.expression!==Bn||Me.thisArg!==zn?Hn(Uh(Bn,zn),Me):Me}function Zb(Me){let Bn=pn(Me.escapedText);return Bn.flags|=Me.flags&-9,Bn.transformFlags=Me.transformFlags,Dn(Bn,Me),setIdentifierAutoGenerate(Bn,Object.assign({},Me.emitNode.autoGenerate)),Bn}function e6(Me){let Bn=pn(Me.escapedText);Bn.flags|=Me.flags&-9,Bn.jsDoc=Me.jsDoc,Bn.flowNode=Me.flowNode,Bn.symbol=Me.symbol,Bn.transformFlags=Me.transformFlags,Dn(Bn,Me);let Hn=getIdentifierTypeArguments(Me);return Hn&&setIdentifierTypeArguments(Bn,Hn),Bn}function t6(Me){let Bn=dn(Me.escapedText);return Bn.flags|=Me.flags&-9,Bn.transformFlags=Me.transformFlags,Dn(Bn,Me),setIdentifierAutoGenerate(Bn,Object.assign({},Me.emitNode.autoGenerate)),Bn}function r6(Me){let Bn=dn(Me.escapedText);return Bn.flags|=Me.flags&-9,Bn.transformFlags=Me.transformFlags,Dn(Bn,Me),Bn}function cp(Me){if(Me===void 0)return Me;if(wi(Me))return Oh(Me);if(cs(Me))return Zb(Me);if(yt(Me))return e6(Me);if(Ny(Me))return t6(Me);if(vn(Me))return r6(Me);let Hn=gl(Me.kind)?Bn.createBaseNode(Me.kind):Bn.createBaseTokenNode(Me.kind);Hn.flags|=Me.flags&-9,Hn.transformFlags=Me.transformFlags,Dn(Hn,Me);for(let Bn in Me)Jr(Hn,Bn)||!Jr(Me,Bn)||(Hn[Bn]=Me[Bn]);return Hn}function n6(Me,Bn,Hn){return Na(yu(void 0,void 0,void 0,void 0,Bn?[Bn]:[],void 0,Zs(Me,!0)),void 0,Hn?[Hn]:[])}function Lc(Me,Bn,Hn){return Na(vu(void 0,void 0,Bn?[Bn]:[],void 0,void 0,Zs(Me,!0)),void 0,Hn?[Hn]:[])}function Rc(){return ui(Gt("0"))}function zh(Me){return zu(void 0,!1,Me)}function i6(Me){return na(void 0,!1,to([Vu(!1,void 0,Me)]))}function a6(Me,Bn){return Bn==="undefined"?tc.createStrictEquality(Me,Rc()):tc.createStrictEquality(mn(Me),er(Bn))}function Ba(Me,Bn,Hn){return Cy(Me)?du(Xs(Me,void 0,Bn),void 0,void 0,Hn):Na(ta(Me,Bn),void 0,Hn)}function s6(Me,Bn,Hn){return Ba(Me,"bind",[Bn,...Hn])}function o6(Me,Bn,Hn){return Ba(Me,"call",[Bn,...Hn])}function _6(Me,Bn,Hn){return Ba(Me,"apply",[Bn,Hn])}function io(Me,Bn,Hn){return Ba(Ut(Me),Bn,Hn)}function Wh(Me,Bn){return Ba(Me,"slice",Bn===void 0?[]:[za(Bn)])}function Vh(Me,Bn){return Ba(Me,"concat",Bn)}function u(Me,Bn,Hn){return io("Object","defineProperty",[Me,za(Bn),Hn])}function b(Me,Bn){return io("Object","getOwnPropertyDescriptor",[Me,za(Bn)])}function O(Me,Bn,Hn){return io("Reflect","get",Hn?[Me,Bn,Hn]:[Me,Bn])}function j(Me,Bn,Hn,zn){return io("Reflect","set",zn?[Me,Bn,Hn,zn]:[Me,Bn,Hn])}function z(Me,Bn,Hn){return Hn?(Me.push(Fa(Bn,Hn)),!0):!1}function re(Me,Bn){let Hn=[];z(Hn,"enumerable",za(Me.enumerable)),z(Hn,"configurable",za(Me.configurable));let zn=z(Hn,"writable",za(Me.writable));zn=z(Hn,"value",Me.value)||zn;let ni=z(Hn,"get",Me.get);return ni=z(Hn,"set",Me.set)||ni,qp.assert(!(zn&&ni),"A PropertyDescriptor may not be both an accessor descriptor and a data descriptor."),r_(Hn,!Bn)}function Ee(Me,Bn){switch(Me.kind){case 214:return qd(Me,Bn);case 213:return Bd(Me,Me.type,Bn);case 231:return Zd(Me,Bn,Me.type);case 235:return Pu(Me,Bn,Me.type);case 232:return Au(Me,Bn);case 356:return Bh(Me,Bn)}}function qe(Me){return qo(Me)&&fs(Me)&&fs(getSourceMapRange(Me))&&fs(getCommentRange(Me))&&!Ke(getSyntheticLeadingComments(Me))&&!Ke(getSyntheticTrailingComments(Me))}function We(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:15;return Me&&yd(Me,Hn)&&!qe(Me)?Ee(Me,We(Me.expression,Bn)):Bn}function $e(Me,Bn,Hn){if(!Bn)return Me;let zn=ym(Bn,Bn.label,tE(Bn.statement)?$e(Me,Bn.statement):Me);return Hn&&Hn(Bn),zn}function lt(Me,Bn){let Hn=Pl(Me);switch(Hn.kind){case 79:return Bn;case 108:case 8:case 9:case 10:return!1;case 206:return Hn.elements.length!==0;case 207:return Hn.properties.length>0;default:return!0}}function Jt(Me,Bn,Hn){let ni=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,Ci=$o(Me,15),ts,Ps;return Sf(Ci)?(ts=Or(),Ps=Ci):nd(Ci)?(ts=Or(),Ps=Hn!==void 0&&Hn<2?Rt(Ut("_super"),Ci):Ci):xi(Ci)&8192?(ts=Rc(),Ps=zn().parenthesizeLeftSideOfAccess(Ci,!1)):bn(Ci)?lt(Ci.expression,ni)?(ts=kn(Bn),Ps=ta(Rt(tc.createAssignment(ts,Ci.expression),Ci.expression),Ci.name),Rt(Ps,Ci)):(ts=Ci.expression,Ps=Ci):gs(Ci)?lt(Ci.expression,ni)?(ts=kn(Bn),Ps=pu(Rt(tc.createAssignment(ts,Ci.expression),Ci.expression),Ci.argumentExpression),Rt(Ps,Ci)):(ts=Ci.expression,Ps=Ci):(ts=Rc(),Ps=zn().parenthesizeLeftSideOfAccess(Me,!1)),{target:Ps,thisArg:ts}}function Lt(Me,Bn){return ta(gu(r_([ci(void 0,"value",[$n(void 0,void 0,Me,void 0,void 0,void 0)],Zs([a_(Bn)]))])),"value")}function At(Me){return Me.length>10?Mc(Me):Qa(Me,tc.createComma)}function kr(Me,Bn,Hn){let zn=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,ni=ml(Me);if(ni&&yt(ni)&&!cs(ni)){let Me=Sa(Rt(cp(ni),ni),ni.parent);return zn|=xi(ni),Hn||(zn|=96),Bn||(zn|=3072),zn&&setEmitFlags(Me,zn),Me}return $i(Me)}function Fn(Me,Bn,Hn){return kr(Me,Bn,Hn,98304)}function di(Me,Bn,Hn){return kr(Me,Bn,Hn,32768)}function Ii(Me,Bn,Hn){return kr(Me,Bn,Hn,16384)}function _n(Me,Bn,Hn){return kr(Me,Bn,Hn)}function qa(Me,Bn,Hn,zn){let ni=ta(Me,fs(Bn)?Bn:cp(Bn));Rt(ni,Bn);let Ci=0;return zn||(Ci|=96),Hn||(Ci|=3072),Ci&&setEmitFlags(ni,Ci),ni}function Hh(Me,Bn,Hn,zn){return Me&&rn(Bn,1)?qa(Me,kr(Bn),Hn,zn):Ii(Bn,Hn,zn)}function lp(Me,Bn,Hn,zn){let ni=Ua(Me,Bn,0,Hn);return up(Me,Bn,ni,zn)}function Gh(Me){return Gn(Me.expression)&&Me.expression.text==="use strict"}function wn(){return vd(a_(er("use strict")))}function Ua(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,zn=arguments.length>3?arguments[3]:void 0;qp.assert(Bn.length===0,"Prologue directives should be at the first statement in the target statements array");let ni=!1,Ci=Me.length;for(;Hn4&&arguments[4]!==void 0?arguments[4]:vp,Ci=Me.length;for(;Hn!==void 0&&HnPs&&oa.splice(ni,0,...Bn.slice(Ps,aa)),Ps>ts&&oa.splice(zn,0,...Bn.slice(ts,Ps)),ts>Ci&&oa.splice(Hn,0,...Bn.slice(Ci,ts)),Ci>0)if(Hn===0)oa.splice(0,0,...Bn.slice(0,Ci));else{let zn=new Map;for(let Bn=0;Bn=0;Me--){let Hn=Bn[Me];zn.has(Hn.expression.text)||oa.unshift(Hn)}}return _s(Me)?Rt(Ne(oa,Me.hasTrailingComma),Me):Me}function Kh(Me,Bn){var Hn;let zn;return typeof Bn=="number"?zn=$r(Bn):zn=Bn,Fo(Me)?wa(Me,zn,Me.name,Me.constraint,Me.default):Vs(Me)?Ki(Me,zn,Me.dotDotDotToken,Me.name,Me.questionToken,Me.type,Me.initializer):Gv(Me)?bt(Me,zn,Me.typeParameters,Me.parameters,Me.type):Wl(Me)?St(Me,zn,Me.name,Me.questionToken,Me.type):Bo(Me)?_t(Me,zn,Me.name,(Hn=Me.questionToken)!=null?Hn:Me.exclamationToken,Me.type,Me.initializer):L8(Me)?Kt(Me,zn,Me.name,Me.questionToken,Me.typeParameters,Me.parameters,Me.type):Vl(Me)?xe(Me,zn,Me.asteriskToken,Me.name,Me.questionToken,Me.typeParameters,Me.parameters,Me.type,Me.body):nc(Me)?It(Me,zn,Me.parameters,Me.body):Gl(Me)?Ln(Me,zn,Me.name,Me.parameters,Me.type,Me.body):ic(Me)?Xi(Me,zn,Me.name,Me.parameters,Me.body):Hv(Me)?bs(Me,zn,Me.parameters,Me.type):ad(Me)?Ud(Me,zn,Me.asteriskToken,Me.name,Me.typeParameters,Me.parameters,Me.type,Me.body):sd(Me)?zd(Me,zn,Me.typeParameters,Me.parameters,Me.type,Me.equalsGreaterThanToken,Me.body):_d(Me)?xc(Me,zn,Me.name,Me.typeParameters,Me.heritageClauses,Me.members):zo(Me)?om(Me,zn,Me.declarationList):Wo(Me)?ju(Me,zn,Me.asteriskToken,Me.name,Me.typeParameters,Me.parameters,Me.type,Me.body):_c(Me)?Ju(Me,zn,Me.name,Me.typeParameters,Me.heritageClauses,Me.members):eu(Me)?Cm(Me,zn,Me.name,Me.typeParameters,Me.heritageClauses,Me.members):n2(Me)?Ma(Me,zn,Me.name,Me.typeParameters,Me.type):i2(Me)?La(Me,zn,Me.name,Me.members):Ea(Me)?Sr(Me,zn,Me.name,Me.body):s2(Me)?Nm(Me,zn,Me.isTypeOnly,Me.name,Me.moduleReference):o2(Me)?Mm(Me,zn,Me.importClause,Me.moduleSpecifier,Me.assertClause):Vo(Me)?Wu(Me,zn,Me.expression):cc(Me)?Wm(Me,zn,Me.isTypeOnly,Me.exportClause,Me.moduleSpecifier,Me.assertClause):qp.assertNever(Me)}function xt(Me){return Me?Ne(Me):void 0}function Qt(Me){return typeof Me=="string"?Ut(Me):Me}function za(Me){return typeof Me=="string"?er(Me):typeof Me=="number"?Gt(Me):typeof Me=="boolean"?Me?ar():oi():Me}function Wa(Me){return Me&&zn().parenthesizeExpressionForDisallowedComma(Me)}function c6(Me){return typeof Me=="number"?pr(Me):Me}function Yn(Me){return Me&&c2(Me)?Rt(Dn(Du(),Me),Me):Me}function Xh(Me){return typeof Me=="string"||Me&&!Vi(Me)?Cc(Me,void 0,void 0,void 0):Me}}function JL(Me,Bn){return Me!==Bn&&Rt(Me,Bn),Me}function FL(Me,Bn){return Me!==Bn&&(Dn(Me,Bn),Rt(Me,Bn)),Me}function ed(Me){switch(Me){case 347:return"type";case 345:return"returns";case 346:return"this";case 343:return"enum";case 333:return"author";case 335:return"class";case 336:return"public";case 337:return"private";case 338:return"protected";case 339:return"readonly";case 340:return"override";case 348:return"template";case 349:return"typedef";case 344:return"param";case 351:return"prop";case 341:return"callback";case 342:return"overload";case 331:return"augments";case 332:return"implements";default:return qp.fail(`Unsupported kind: ${qp.formatSyntaxKind(Me)}`)}}function BL(Me,Bn){switch(mw||(mw=Po(99,!1,0)),Me){case 14:mw.setText("`"+Bn+"`");break;case 15:mw.setText("`"+Bn+"${");break;case 16:mw.setText("}"+Bn+"${");break;case 17:mw.setText("}"+Bn+"`");break}let Hn=mw.scan();if(Hn===19&&(Hn=mw.reScanTemplateToken(!1)),mw.isUnterminated())return mw.setText(void 0),gw;let zn;switch(Hn){case 14:case 15:case 16:case 17:zn=mw.getTokenValue();break}return zn===void 0||mw.scan()!==1?(mw.setText(void 0),gw):(mw.setText(void 0),zn)}function ai(Me){return Me&&yt(Me)?ec(Me):ye(Me)}function ec(Me){return ye(Me)&-67108865}function qL(Me,Bn){return Bn|Me.transformFlags&134234112}function ye(Me){if(!Me)return 0;let Bn=Me.transformFlags&~w8(Me.kind);return af(Me)&&vl(Me.name)?qL(Me.name,Bn):Bn}function gt(Me){return Me?Me.transformFlags:0}function E8(Me){let Bn=0;for(let Hn of Me)Bn|=ye(Hn);Me.transformFlags=Bn}function w8(Me){if(Me>=179&&Me<=202)return-2;switch(Me){case 210:case 211:case 206:return-2147450880;case 264:return-1941676032;case 166:return-2147483648;case 216:return-2072174592;case 215:case 259:return-1937940480;case 258:return-2146893824;case 260:case 228:return-2147344384;case 173:return-1937948672;case 169:return-2013249536;case 171:case 174:case 175:return-2005057536;case 131:case 148:case 160:case 144:case 152:case 149:case 134:case 153:case 114:case 165:case 168:case 170:case 176:case 177:case 178:case 261:case 262:return-2;case 207:return-2147278848;case 295:return-2147418112;case 203:case 204:return-2147450880;case 213:case 235:case 231:case 356:case 214:case 106:return-2147483648;case 208:case 209:return-2147483648;default:return-2147483648}}function Fl(Me){return Me.flags|=8,Me}function UL(Me,Bn,Hn){let zn,ni,Ci,ts,Ps,aa,oa,ca,_a,xa;Ji(Me)?(Ci="",ts=Me,Ps=Me.length,aa=Bn,oa=Hn):(qp.assert(Bn==="js"||Bn==="dts"),Ci=(Bn==="js"?Me.javascriptPath:Me.declarationPath)||"",aa=Bn==="js"?Me.javascriptMapPath:Me.declarationMapPath,ca=()=>Bn==="js"?Me.javascriptText:Me.declarationText,_a=()=>Bn==="js"?Me.javascriptMapText:Me.declarationMapText,Ps=()=>ca().length,Me.buildInfo&&Me.buildInfo.bundle&&(qp.assert(Hn===void 0||typeof Hn=="boolean"),zn=Hn,ni=Bn==="js"?Me.buildInfo.bundle.js:Me.buildInfo.bundle.dts,xa=Me.oldFileOfCurrentEmit));let Ga=xa?WL(qp.checkDefined(ni)):zL(ni,zn,Ps);return Ga.fileName=Ci,Ga.sourceMapPath=aa,Ga.oldFileOfCurrentEmit=xa,ca&&_a?(Object.defineProperty(Ga,"text",{get:ca}),Object.defineProperty(Ga,"sourceMapText",{get:_a})):(qp.assert(!xa),Ga.text=ts!=null?ts:"",Ga.sourceMapText=oa),Ga}function zL(Me,Bn,Hn){let zn,ni,Ci,ts,Ps,aa,oa,_a;for(let Hn of Me?Me.sections:ca)switch(Hn.kind){case"prologue":zn=tr(zn,Rt(vw.createUnparsedPrologue(Hn.data),Hn));break;case"emitHelpers":ni=tr(ni,getAllUnscopedEmitHelpers().get(Hn.data));break;case"no-default-lib":_a=!0;break;case"reference":Ci=tr(Ci,{pos:-1,end:-1,fileName:Hn.data});break;case"type":ts=tr(ts,{pos:-1,end:-1,fileName:Hn.data});break;case"type-import":ts=tr(ts,{pos:-1,end:-1,fileName:Hn.data,resolutionMode:99});break;case"type-require":ts=tr(ts,{pos:-1,end:-1,fileName:Hn.data,resolutionMode:1});break;case"lib":Ps=tr(Ps,{pos:-1,end:-1,fileName:Hn.data});break;case"prepend":let Me;for(let zn of Hn.texts)(!Bn||zn.kind!=="internal")&&(Me=tr(Me,Rt(vw.createUnparsedTextLike(zn.data,zn.kind==="internal"),zn)));aa=jr(aa,Me),oa=tr(oa,vw.createUnparsedPrepend(Hn.data,Me!=null?Me:ca));break;case"internal":if(Bn){oa||(oa=[]);break}case"text":oa=tr(oa,Rt(vw.createUnparsedTextLike(Hn.data,Hn.kind==="internal"),Hn));break;default:qp.assertNever(Hn)}if(!oa){let Me=vw.createUnparsedTextLike(void 0,!1);$f(Me,0,typeof Hn=="function"?Hn():Hn),oa=[Me]}let xa=Qw.createUnparsedSource(zn!=null?zn:ca,void 0,oa);return Q_(zn,xa),Q_(oa,xa),Q_(aa,xa),xa.hasNoDefaultLib=_a,xa.helpers=ni,xa.referencedFiles=Ci||ca,xa.typeReferenceDirectives=ts,xa.libReferenceDirectives=Ps||ca,xa}function WL(Me){let Bn,Hn;for(let zn of Me.sections)switch(zn.kind){case"internal":case"text":Bn=tr(Bn,Rt(vw.createUnparsedTextLike(zn.data,zn.kind==="internal"),zn));break;case"no-default-lib":case"reference":case"type":case"type-import":case"type-require":case"lib":Hn=tr(Hn,Rt(vw.createUnparsedSyntheticReference(zn),zn));break;case"prologue":case"emitHelpers":case"prepend":break;default:qp.assertNever(zn)}let zn=vw.createUnparsedSource(ca,Hn,Bn!=null?Bn:ca);return Q_(Hn,zn),Q_(Bn,zn),zn.helpers=Ze(Me.sources&&Me.sources.helpers,(Me=>getAllUnscopedEmitHelpers().get(Me))),zn}function VL(Me,Bn,Hn,zn,ni,Ci){return Ji(Me)?A8(void 0,Me,Hn,zn,void 0,Bn,ni,Ci):C8(Me,Bn,Hn,zn,ni,Ci)}function C8(Me,Bn,Hn,zn,ni,Ci,ts,Ps){let aa=Qw.createInputFiles();aa.javascriptPath=Bn,aa.javascriptMapPath=Hn,aa.declarationPath=zn,aa.declarationMapPath=ni,aa.buildInfoPath=Ci;let oa=new Map,N=Bn=>{if(Bn===void 0)return;let Hn=oa.get(Bn);return Hn===void 0&&(Hn=Me(Bn),oa.set(Bn,Hn!==void 0?Hn:!1)),Hn!==!1?Hn:void 0},X=Me=>{let Bn=N(Me);return Bn!==void 0?Bn:`/* Input file ${Me} was missing */\r\n`},ca;return Object.defineProperties(aa,{javascriptText:{get:()=>X(Bn)},javascriptMapText:{get:()=>N(Hn)},declarationText:{get:()=>X(qp.checkDefined(zn))},declarationMapText:{get:()=>N(ni)},buildInfo:{get:()=>{var Me,Bn;if(ca===void 0&&Ci)if(ts!=null&&ts.getBuildInfo)ca=(Me=ts.getBuildInfo(Ci,Ps.configFilePath))!=null?Me:!1;else{let Me=N(Ci);ca=Me!==void 0&&(Bn=getBuildInfo(Ci,Me))!=null?Bn:!1}return ca||void 0}}}),aa}function A8(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa,oa,ca){let _a=Qw.createInputFiles();return _a.javascriptPath=Me,_a.javascriptText=Bn,_a.javascriptMapPath=Hn,_a.javascriptMapText=zn,_a.declarationPath=ni,_a.declarationText=Ci,_a.declarationMapPath=ts,_a.declarationMapText=Ps,_a.buildInfoPath=aa,_a.buildInfo=oa,_a.oldFileOfCurrentEmit=ca,_a}function HL(Me,Bn,Hn){return new(Ew||(Ew=MC.getSourceMapSourceConstructor()))(Me,Bn,Hn)}function Dn(Me,Bn){if(Me.original=Bn,Bn){let Hn=Bn.emitNode;Hn&&(Me.emitNode=GL(Hn,Me.emitNode))}return Me}function GL(Me,Bn){let{flags:Hn,internalFlags:zn,leadingComments:ni,trailingComments:Ci,commentRange:ts,sourceMapRange:Ps,tokenSourceMapRanges:aa,constantValue:oa,helpers:ca,startsOnNewLine:_a,snippetElement:xa}=Me;if(Bn||(Bn={}),ni&&(Bn.leadingComments=jr(ni.slice(),Bn.leadingComments)),Ci&&(Bn.trailingComments=jr(Ci.slice(),Bn.trailingComments)),Hn&&(Bn.flags=Hn),zn&&(Bn.internalFlags=zn&-9),ts&&(Bn.commentRange=ts),Ps&&(Bn.sourceMapRange=Ps),aa&&(Bn.tokenSourceMapRanges=$L(aa,Bn.tokenSourceMapRanges)),oa!==void 0&&(Bn.constantValue=oa),ca)for(let Me of ca)Bn.helpers=g_(Bn.helpers,Me);return _a!==void 0&&(Bn.startsOnNewLine=_a),xa!==void 0&&(Bn.snippetElement=xa),Bn}function $L(Me,Bn){Bn||(Bn=[]);for(let Hn in Me)Bn[Hn]=Me[Hn];return Bn}var dw,hw,Aw,mw,gw,_w,yw,vw,Ew,bw=D({"src/compiler/factory/nodeFactory.ts"(){"use strict";Gw(),dw=0,hw=(Me=>(Me[Me.None=0]="None",Me[Me.NoParenthesizerRules=1]="NoParenthesizerRules",Me[Me.NoNodeConverters=2]="NoNodeConverters",Me[Me.NoIndentationOnFreshPropertyAccess=4]="NoIndentationOnFreshPropertyAccess",Me[Me.NoOriginalNode=8]="NoOriginalNode",Me))(hw||{}),Aw=[],gw={},_w=S8(),yw={createBaseSourceFileNode:Me=>Fl(_w.createBaseSourceFileNode(Me)),createBaseIdentifierNode:Me=>Fl(_w.createBaseIdentifierNode(Me)),createBasePrivateIdentifierNode:Me=>Fl(_w.createBasePrivateIdentifierNode(Me)),createBaseTokenNode:Me=>Fl(_w.createBaseTokenNode(Me)),createBaseNode:Me=>Fl(_w.createBaseNode(Me))},vw=Zf(4,yw)}}),XL=()=>{},YL=()=>{};function zs(Me){return Me.kind===8}function Uv(Me){return Me.kind===9}function Gn(Me){return Me.kind===10}function td(Me){return Me.kind===11}function QL(Me){return Me.kind===13}function k8(Me){return Me.kind===14}function ZL(Me){return Me.kind===15}function eR(Me){return Me.kind===16}function tR(Me){return Me.kind===17}function rR(Me){return Me.kind===25}function I8(Me){return Me.kind===27}function zv(Me){return Me.kind===39}function Wv(Me){return Me.kind===40}function nR(Me){return Me.kind===41}function rd(Me){return Me.kind===53}function ql(Me){return Me.kind===57}function iR(Me){return Me.kind===58}function aR(Me){return Me.kind===28}function sR(Me){return Me.kind===38}function yt(Me){return Me.kind===79}function vn(Me){return Me.kind===80}function N8(Me){return Me.kind===93}function oR(Me){return Me.kind===88}function Ul(Me){return Me.kind===132}function _R(Me){return Me.kind===129}function cR(Me){return Me.kind===133}function O8(Me){return Me.kind===146}function lR(Me){return Me.kind===124}function uR(Me){return Me.kind===126}function pR(Me){return Me.kind===161}function fR(Me){return Me.kind===127}function nd(Me){return Me.kind===106}function M8(Me){return Me.kind===100}function dR(Me){return Me.kind===82}function rc(Me){return Me.kind===163}function Ws(Me){return Me.kind===164}function Fo(Me){return Me.kind===165}function Vs(Me){return Me.kind===166}function zl(Me){return Me.kind===167}function Wl(Me){return Me.kind===168}function Bo(Me){return Me.kind===169}function L8(Me){return Me.kind===170}function Vl(Me){return Me.kind===171}function Hl(Me){return Me.kind===172}function nc(Me){return Me.kind===173}function Gl(Me){return Me.kind===174}function ic(Me){return Me.kind===175}function Vv(Me){return Me.kind===176}function R8(Me){return Me.kind===177}function Hv(Me){return Me.kind===178}function j8(Me){return Me.kind===179}function ac(Me){return Me.kind===180}function $l(Me){return Me.kind===181}function Gv(Me){return Me.kind===182}function J8(Me){return Me.kind===183}function id(Me){return Me.kind===184}function F8(Me){return Me.kind===185}function B8(Me){return Me.kind===186}function $v(Me){return Me.kind===199}function q8(Me){return Me.kind===187}function U8(Me){return Me.kind===188}function z8(Me){return Me.kind===189}function W8(Me){return Me.kind===190}function V8(Me){return Me.kind===191}function H8(Me){return Me.kind===192}function Kv(Me){return Me.kind===193}function Xv(Me){return Me.kind===194}function G8(Me){return Me.kind===195}function $8(Me){return Me.kind===196}function K8(Me){return Me.kind===197}function Yv(Me){return Me.kind===198}function Kl(Me){return Me.kind===202}function mR(Me){return Me.kind===201}function hR(Me){return Me.kind===200}function gR(Me){return Me.kind===203}function yR(Me){return Me.kind===204}function Xl(Me){return Me.kind===205}function Yl(Me){return Me.kind===206}function Hs(Me){return Me.kind===207}function bn(Me){return Me.kind===208}function gs(Me){return Me.kind===209}function sc(Me){return Me.kind===210}function X8(Me){return Me.kind===211}function Y8(Me){return Me.kind===212}function vR(Me){return Me.kind===213}function qo(Me){return Me.kind===214}function ad(Me){return Me.kind===215}function sd(Me){return Me.kind===216}function bR(Me){return Me.kind===217}function TR(Me){return Me.kind===218}function Qv(Me){return Me.kind===219}function SR(Me){return Me.kind===220}function od(Me){return Me.kind===221}function Q8(Me){return Me.kind===222}function ur(Me){return Me.kind===223}function xR(Me){return Me.kind===224}function ER(Me){return Me.kind===225}function wR(Me){return Me.kind===226}function Zv(Me){return Me.kind===227}function _d(Me){return Me.kind===228}function cd(Me){return Me.kind===229}function e2(Me){return Me.kind===230}function CR(Me){return Me.kind===231}function AR(Me){return Me.kind===235}function Uo(Me){return Me.kind===232}function t2(Me){return Me.kind===233}function PR(Me){return Me.kind===234}function Z8(Me){return Me.kind===356}function oc(Me){return Me.kind===357}function DR(Me){return Me.kind===236}function kR(Me){return Me.kind===237}function Ql(Me){return Me.kind===238}function zo(Me){return Me.kind===240}function IR(Me){return Me.kind===239}function Zl(Me){return Me.kind===241}function NR(Me){return Me.kind===242}function OR(Me){return Me.kind===243}function MR(Me){return Me.kind===244}function eE(Me){return Me.kind===245}function LR(Me){return Me.kind===246}function RR(Me){return Me.kind===247}function jR(Me){return Me.kind===248}function JR(Me){return Me.kind===249}function FR(Me){return Me.kind===250}function BR(Me){return Me.kind===251}function qR(Me){return Me.kind===252}function tE(Me){return Me.kind===253}function UR(Me){return Me.kind===254}function zR(Me){return Me.kind===255}function WR(Me){return Me.kind===256}function Vi(Me){return Me.kind===257}function r2(Me){return Me.kind===258}function Wo(Me){return Me.kind===259}function _c(Me){return Me.kind===260}function eu(Me){return Me.kind===261}function n2(Me){return Me.kind===262}function i2(Me){return Me.kind===263}function Ea(Me){return Me.kind===264}function rE(Me){return Me.kind===265}function VR(Me){return Me.kind===266}function a2(Me){return Me.kind===267}function s2(Me){return Me.kind===268}function o2(Me){return Me.kind===269}function HR(Me){return Me.kind===270}function GR(Me){return Me.kind===298}function $R(Me){return Me.kind===296}function KR(Me){return Me.kind===297}function _2(Me){return Me.kind===271}function ld(Me){return Me.kind===277}function XR(Me){return Me.kind===272}function nE(Me){return Me.kind===273}function Vo(Me){return Me.kind===274}function cc(Me){return Me.kind===275}function iE(Me){return Me.kind===276}function aE(Me){return Me.kind===278}function YR(Me){return Me.kind===279}function c2(Me){return Me.kind===355}function QR(Me){return Me.kind===360}function ZR(Me){return Me.kind===358}function ej(Me){return Me.kind===359}function ud(Me){return Me.kind===280}function l2(Me){return Me.kind===281}function tj(Me){return Me.kind===282}function tu(Me){return Me.kind===283}function sE(Me){return Me.kind===284}function pd(Me){return Me.kind===285}function u2(Me){return Me.kind===286}function rj(Me){return Me.kind===287}function nj(Me){return Me.kind===288}function p2(Me){return Me.kind===289}function ij(Me){return Me.kind===290}function aj(Me){return Me.kind===291}function sj(Me){return Me.kind===292}function oE(Me){return Me.kind===293}function ru(Me){return Me.kind===294}function oj(Me){return Me.kind===295}function lc(Me){return Me.kind===299}function nu(Me){return Me.kind===300}function _E(Me){return Me.kind===301}function cE(Me){return Me.kind===302}function _j(Me){return Me.kind===304}function wi(Me){return Me.kind===308}function cj(Me){return Me.kind===309}function lj(Me){return Me.kind===310}function lE(Me){return Me.kind===312}function fd(Me){return Me.kind===313}function uc(Me){return Me.kind===314}function uj(Me){return Me.kind===327}function pj(Me){return Me.kind===328}function fj(Me){return Me.kind===329}function dj(Me){return Me.kind===315}function mj(Me){return Me.kind===316}function uE(Me){return Me.kind===317}function hj(Me){return Me.kind===318}function gj(Me){return Me.kind===319}function dd(Me){return Me.kind===320}function yj(Me){return Me.kind===321}function vj(Me){return Me.kind===322}function Ho(Me){return Me.kind===323}function f2(Me){return Me.kind===325}function iu(Me){return Me.kind===326}function md(Me){return Me.kind===331}function bj(Me){return Me.kind===333}function pE(Me){return Me.kind===335}function Tj(Me){return Me.kind===341}function d2(Me){return Me.kind===336}function m2(Me){return Me.kind===337}function h2(Me){return Me.kind===338}function g2(Me){return Me.kind===339}function fE(Me){return Me.kind===340}function y2(Me){return Me.kind===342}function v2(Me){return Me.kind===334}function Sj(Me){return Me.kind===350}function dE(Me){return Me.kind===343}function pc(Me){return Me.kind===344}function b2(Me){return Me.kind===345}function mE(Me){return Me.kind===346}function au(Me){return Me.kind===347}function Go(Me){return Me.kind===348}function xj(Me){return Me.kind===349}function Ej(Me){return Me.kind===330}function wj(Me){return Me.kind===351}function hE(Me){return Me.kind===332}function T2(Me){return Me.kind===353}function Cj(Me){return Me.kind===352}function Aj(Me){return Me.kind===354}var Cw=D({"src/compiler/factory/nodeTests.ts"(){"use strict";Gw()}});function Dj(Me){return Me.createExportDeclaration(void 0,!1,Me.createNamedExports([]),void 0)}function hd(Me,Bn,Hn,zn){if(Ws(Hn))return Rt(Me.createElementAccessExpression(Bn,Hn.expression),zn);{let zn=Rt(js(Hn)?Me.createPropertyAccessExpression(Bn,Hn):Me.createElementAccessExpression(Bn,Hn),Hn);return addEmitFlags(zn,128),zn}}function S2(Me,Bn){let Hn=Qw.createIdentifier(Me||"React");return Sa(Hn,fl(Bn)),Hn}function x2(Me,Bn,Hn){if(rc(Bn)){let zn=x2(Me,Bn.left,Hn),ni=Me.createIdentifier(qr(Bn.right));return ni.escapedText=Bn.right.escapedText,Me.createPropertyAccessExpression(zn,ni)}else return S2(qr(Bn),Hn)}function gE(Me,Bn,Hn,zn){return Bn?x2(Me,Bn,zn):Me.createPropertyAccessExpression(S2(Hn,zn),"createElement")}function kj(Me,Bn,Hn,zn){return Bn?x2(Me,Bn,zn):Me.createPropertyAccessExpression(S2(Hn,zn),"Fragment")}function Ij(Me,Bn,Hn,zn,ni,Ci){let ts=[Hn];if(zn&&ts.push(zn),ni&&ni.length>0)if(zn||ts.push(Me.createNull()),ni.length>1)for(let Me of ni)vd(Me),ts.push(Me);else ts.push(ni[0]);return Rt(Me.createCallExpression(Bn,void 0,ts),Ci)}function Nj(Me,Bn,Hn,zn,ni,Ci,ts){let Ps=[kj(Me,Hn,zn,Ci),Me.createNull()];if(ni&&ni.length>0)if(ni.length>1)for(let Me of ni)vd(Me),Ps.push(Me);else Ps.push(ni[0]);return Rt(Me.createCallExpression(gE(Me,Bn,zn,Ci),void 0,Ps),ts)}function Oj(Me,Bn,Hn){if(r2(Bn)){let zn=fo(Bn.declarations),ni=Me.updateVariableDeclaration(zn,zn.name,void 0,void 0,Hn);return Rt(Me.createVariableStatement(void 0,Me.updateVariableDeclarationList(Bn,[ni])),Bn)}else{let zn=Rt(Me.createAssignment(Bn,Hn),Bn);return Rt(Me.createExpressionStatement(zn),Bn)}}function Mj(Me,Bn,Hn){return Ql(Bn)?Me.updateBlock(Bn,Rt(Me.createNodeArray([Hn,...Bn.statements]),Bn.statements)):Me.createBlock(Me.createNodeArray([Bn,Hn]),!0)}function yE(Me,Bn){if(rc(Bn)){let Hn=yE(Me,Bn.left),zn=Sa(Rt(Me.cloneNode(Bn.right),Bn.right),Bn.right.parent);return Rt(Me.createPropertyAccessExpression(Hn,zn),Bn)}else return Sa(Rt(Me.cloneNode(Bn),Bn),Bn.parent)}function vE(Me,Bn){return yt(Bn)?Me.createStringLiteralFromNode(Bn):Ws(Bn)?Sa(Rt(Me.cloneNode(Bn.expression),Bn.expression),Bn.expression.parent):Sa(Rt(Me.cloneNode(Bn),Bn),Bn.parent)}function Lj(Me,Bn,Hn,zn,ni){let{firstAccessor:Ci,getAccessor:ts,setAccessor:Ps}=W0(Bn,Hn);if(Hn===Ci)return Rt(Me.createObjectDefinePropertyCall(zn,vE(Me,Hn.name),Me.createPropertyDescriptor({enumerable:Me.createFalse(),configurable:!0,get:ts&&Rt(Dn(Me.createFunctionExpression(sf(ts),void 0,void 0,void 0,ts.parameters,void 0,ts.body),ts),ts),set:Ps&&Rt(Dn(Me.createFunctionExpression(sf(Ps),void 0,void 0,void 0,Ps.parameters,void 0,Ps.body),Ps),Ps)},!ni)),Ci)}function Rj(Me,Bn,Hn){return Dn(Rt(Me.createAssignment(hd(Me,Hn,Bn.name,Bn.name),Bn.initializer),Bn),Bn)}function jj(Me,Bn,Hn){return Dn(Rt(Me.createAssignment(hd(Me,Hn,Bn.name,Bn.name),Me.cloneNode(Bn.name)),Bn),Bn)}function Jj(Me,Bn,Hn){return Dn(Rt(Me.createAssignment(hd(Me,Hn,Bn.name,Bn.name),Dn(Rt(Me.createFunctionExpression(sf(Bn),Bn.asteriskToken,void 0,void 0,Bn.parameters,void 0,Bn.body),Bn),Bn)),Bn),Bn)}function Fj(Me,Bn,Hn,zn){switch(Hn.name&&vn(Hn.name)&&qp.failBadSyntaxKind(Hn.name,"Private identifiers are not allowed in object literals."),Hn.kind){case 174:case 175:return Lj(Me,Bn.properties,Hn,zn,!!Bn.multiLine);case 299:return Rj(Me,Hn,zn);case 300:return jj(Me,Hn,zn);case 171:return Jj(Me,Hn,zn)}}function Bj(Me,Bn,Hn,zn,ni){let Ci=Bn.operator;qp.assert(Ci===45||Ci===46,"Expected 'node' to be a pre- or post-increment or pre- or post-decrement expression");let ts=Me.createTempVariable(zn);Hn=Me.createAssignment(ts,Hn),Rt(Hn,Bn.operand);let Ps=od(Bn)?Me.createPrefixUnaryExpression(Ci,ts):Me.createPostfixUnaryExpression(ts,Ci);return Rt(Ps,Bn),ni&&(Ps=Me.createAssignment(ni,Ps),Rt(Ps,Bn)),Hn=Me.createComma(Hn,Ps),Rt(Hn,Bn),Q8(Bn)&&(Hn=Me.createComma(Hn,ts),Rt(Hn,Bn)),Hn}function qj(Me){return(xi(Me)&65536)!==0}function E2(Me){return(xi(Me)&32768)!==0}function Uj(Me){return(xi(Me)&16384)!==0}function bE(Me){return Gn(Me.expression)&&Me.expression.text==="use strict"}function TE(Me){for(let Bn of Me)if(us(Bn)){if(bE(Bn))return Bn}else break}function SE(Me){let Bn=pa(Me);return Bn!==void 0&&us(Bn)&&bE(Bn)}function gd(Me){return Me.kind===223&&Me.operatorToken.kind===27}function zj(Me){return gd(Me)||oc(Me)}function xE(Me){return qo(Me)&&Pr(Me)&&!!_f(Me)}function Wj(Me){let Bn=cf(Me);return qp.assertIsDefined(Bn),Bn}function yd(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:15;switch(Me.kind){case 214:return Bn&16&&xE(Me)?!1:(Bn&1)!==0;case 213:case 231:case 230:case 235:return(Bn&2)!==0;case 232:return(Bn&4)!==0;case 356:return(Bn&8)!==0}return!1}function $o(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:15;for(;yd(Me,Bn);)Me=Me.expression;return Me}function Vj(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:15,Hn=Me.parent;for(;yd(Hn,Bn);)Hn=Hn.parent,qp.assert(Hn);return Hn}function Hj(Me){return $o(Me,6)}function vd(Me){return setStartsOnNewLine(Me,!0)}function EE(Me){let Bn=ul(Me,wi),Hn=Bn&&Bn.emitNode;return Hn&&Hn.externalHelpersModuleName}function Gj(Me){let Bn=ul(Me,wi),Hn=Bn&&Bn.emitNode;return!!Hn&&(!!Hn.externalHelpersModuleName||!!Hn.externalHelpers)}function $j(Me,Bn,Hn,zn,ni,Ci,ts){if(zn.importHelpers&&Yy(Hn,zn)){let Ps,aa=Ei(zn);if(aa>=5&&aa<=99||Hn.impliedNodeFormat===99){let zn=getEmitHelpers(Hn);if(zn){let ni=[];for(let Me of zn)if(!Me.scoped){let Bn=Me.importName;Bn&&qn(ni,Bn)}if(Ke(ni)){ni.sort(ri),Ps=Me.createNamedImports(Ze(ni,(zn=>m3(Hn,zn)?Me.createImportSpecifier(!1,void 0,Me.createIdentifier(zn)):Me.createImportSpecifier(!1,Me.createIdentifier(zn),Bn.getUnscopedHelperName(zn)))));let zn=ul(Hn,wi),Ci=getOrCreateEmitNode(zn);Ci.externalHelpers=!0}}}else{let Bn=wE(Me,Hn,zn,ni,Ci||ts);Bn&&(Ps=Me.createNamespaceImport(Bn))}if(Ps){let Bn=Me.createImportDeclaration(void 0,Me.createImportClause(!1,void 0,Ps),Me.createStringLiteral(dC),void 0);return addInternalEmitFlags(Bn,2),Bn}}}function wE(Me,Bn,Hn,zn,ni){if(Hn.importHelpers&&Yy(Bn,Hn)){let Ci=EE(Bn);if(Ci)return Ci;let ts=Ei(Hn),Ps=(zn||ov(Hn)&&ni)&&ts!==4&&(ts<5||Bn.impliedNodeFormat===1);if(!Ps){let Me=getEmitHelpers(Bn);if(Me){for(let Bn of Me)if(!Bn.scoped){Ps=!0;break}}}if(Ps){let Hn=ul(Bn,wi),zn=getOrCreateEmitNode(Hn);return zn.externalHelpersModuleName||(zn.externalHelpersModuleName=Me.createUniqueName(dC))}}}function Kj(Me,Bn,Hn){let zn=Q3(Bn);if(zn&&!Z3(Bn)&&!b3(Bn)){let Bn=zn.name;return cs(Bn)?Bn:Me.createIdentifier(No(Hn,Bn)||qr(Bn))}if(Bn.kind===269&&Bn.importClause||Bn.kind===275&&Bn.moduleSpecifier)return Me.getGeneratedNameForNode(Bn)}function Xj(Me,Bn,Hn,zn,ni,Ci){let ts=E0(Bn);if(ts&&Gn(ts))return Qj(Bn,zn,Me,ni,Ci)||Yj(Me,ts,Hn)||Me.cloneNode(ts)}function Yj(Me,Bn,Hn){let zn=Hn.renamedDependencies&&Hn.renamedDependencies.get(Bn.text);return zn?Me.createStringLiteral(zn):void 0}function CE(Me,Bn,Hn,zn){if(Bn){if(Bn.moduleName)return Me.createStringLiteral(Bn.moduleName);if(!Bn.isDeclarationFile&&B0(zn))return Me.createStringLiteral(F0(Hn,Bn.fileName))}}function Qj(Me,Bn,Hn,zn,ni){return CE(Hn,zn.getExternalModuleFileFromDeclaration(Me),Bn,ni)}function AE(Me){if(Fy(Me))return Me.initializer;if(lc(Me)){let Bn=Me.initializer;return ms(Bn,!0)?Bn.right:void 0}if(nu(Me))return Me.objectAssignmentInitializer;if(ms(Me,!0))return Me.right;if(Zv(Me))return AE(Me.expression)}function Ko(Me){if(Fy(Me))return Me.name;if(jy(Me)){switch(Me.kind){case 299:return Ko(Me.initializer);case 300:return Me.name;case 301:return Ko(Me.expression)}return}return ms(Me,!0)?Ko(Me.left):Zv(Me)?Ko(Me.expression):Me}function Zj(Me){switch(Me.kind){case 166:case 205:return Me.dotDotDotToken;case 227:case 301:return Me}}function eJ(Me){let Bn=PE(Me);return qp.assert(!!Bn||_E(Me),"Invalid property name for binding element."),Bn}function PE(Me){switch(Me.kind){case 205:if(Me.propertyName){let Bn=Me.propertyName;return vn(Bn)?qp.failBadSyntaxKind(Bn):Ws(Bn)&&DE(Bn.expression)?Bn.expression:Bn}break;case 299:if(Me.name){let Bn=Me.name;return vn(Bn)?qp.failBadSyntaxKind(Bn):Ws(Bn)&&DE(Bn.expression)?Bn.expression:Bn}break;case 301:return Me.name&&vn(Me.name)?qp.failBadSyntaxKind(Me.name):Me.name}let Bn=Ko(Me);if(Bn&&vl(Bn))return Bn}function DE(Me){let Bn=Me.kind;return Bn===10||Bn===8}function kE(Me){switch(Me.kind){case 203:case 204:case 206:return Me.elements;case 207:return Me.properties}}function w2(Me){if(Me){let Bn=Me;for(;;){if(yt(Bn)||!Bn.body)return yt(Bn)?Bn:Bn.name;Bn=Bn.body}}}function tJ(Me){let Bn=Me.kind;return Bn===173||Bn===175}function IE(Me){let Bn=Me.kind;return Bn===173||Bn===174||Bn===175}function rJ(Me){let Bn=Me.kind;return Bn===299||Bn===300||Bn===259||Bn===173||Bn===178||Bn===172||Bn===279||Bn===240||Bn===261||Bn===262||Bn===263||Bn===264||Bn===268||Bn===269||Bn===267||Bn===275||Bn===274}function nJ(Me){let Bn=Me.kind;return Bn===172||Bn===299||Bn===300||Bn===279||Bn===267}function iJ(Me){return ql(Me)||rd(Me)}function aJ(Me){return yt(Me)||Xv(Me)}function sJ(Me){return O8(Me)||zv(Me)||Wv(Me)}function oJ(Me){return ql(Me)||zv(Me)||Wv(Me)}function _J(Me){return yt(Me)||Gn(Me)}function cJ(Me){let Bn=Me.kind;return Bn===104||Bn===110||Bn===95||Iy(Me)||od(Me)}function lJ(Me){return Me===42}function uJ(Me){return Me===41||Me===43||Me===44}function pJ(Me){return lJ(Me)||uJ(Me)}function fJ(Me){return Me===39||Me===40}function dJ(Me){return fJ(Me)||pJ(Me)}function mJ(Me){return Me===47||Me===48||Me===49}function hJ(Me){return mJ(Me)||dJ(Me)}function gJ(Me){return Me===29||Me===32||Me===31||Me===33||Me===102||Me===101}function yJ(Me){return gJ(Me)||hJ(Me)}function vJ(Me){return Me===34||Me===36||Me===35||Me===37}function bJ(Me){return vJ(Me)||yJ(Me)}function TJ(Me){return Me===50||Me===51||Me===52}function SJ(Me){return TJ(Me)||bJ(Me)}function xJ(Me){return Me===55||Me===56}function EJ(Me){return xJ(Me)||SJ(Me)}function wJ(Me){return Me===60||EJ(Me)||G_(Me)}function CJ(Me){return wJ(Me)||Me===27}function AJ(Me){return CJ(Me.kind)}function PJ(Me,Bn,Hn,zn,ni,Ci){let ts=new ww(Me,Bn,Hn,zn,ni,Ci);return A;function A(Me,Bn){let Hn={value:void 0},zn=[Dw.enter],ni=[Me],Ci=[void 0],Ps=0;for(;zn[Ps]!==Dw.done;)Ps=zn[Ps](ts,Ps,zn,ni,Ci,Hn,Bn);return qp.assertEqual(Ps,0),Hn.value}}function NE(Me){return Me===93||Me===88}function DJ(Me){let Bn=Me.kind;return NE(Bn)}function kJ(Me){let Bn=Me.kind;return Wi(Bn)&&!NE(Bn)}function IJ(Me,Bn){if(Bn!==void 0)return Bn.length===0?Bn:Rt(Me.createNodeArray([],Bn.hasTrailingComma),Bn)}function NJ(Me){var Bn;let Hn=Me.emitNode.autoGenerate;if(Hn.flags&4){let zn=Hn.id,ni=Me,Ci=ni.original;for(;Ci;){ni=Ci;let Me=(Bn=ni.emitNode)==null?void 0:Bn.autoGenerate;if(js(ni)&&(Me===void 0||Me.flags&4&&Me.id!==zn))break;Ci=ni.original}return ni}return Me}function C2(Me,Bn){return typeof Me=="object"?bd(!1,Me.prefix,Me.node,Me.suffix,Bn):typeof Me=="string"?Me.length>0&&Me.charCodeAt(0)===35?Me.slice(1):Me:""}function OJ(Me,Bn){return typeof Me=="string"?Me:MJ(Me,qp.checkDefined(Bn))}function MJ(Me,Bn){return Ny(Me)?Bn(Me).slice(1):cs(Me)?Bn(Me):vn(Me)?Me.escapedText.slice(1):qr(Me)}function bd(Me,Bn,Hn,zn,ni){return Bn=C2(Bn,ni),zn=C2(zn,ni),Hn=OJ(Hn,ni),`${Me?"#":""}${Bn}${Hn}${zn}`}function LJ(Me,Bn,Hn,zn){return Me.updatePropertyDeclaration(Bn,Hn,Me.getGeneratedPrivateNameForNode(Bn.name,void 0,"_accessor_storage"),void 0,void 0,zn)}function RJ(Me,Bn,Hn,zn){return Me.createGetAccessorDeclaration(Hn,zn,[],void 0,Me.createBlock([Me.createReturnStatement(Me.createPropertyAccessExpression(Me.createThis(),Me.getGeneratedPrivateNameForNode(Bn.name,void 0,"_accessor_storage")))]))}function jJ(Me,Bn,Hn,zn){return Me.createSetAccessorDeclaration(Hn,zn,[Me.createParameterDeclaration(void 0,void 0,"value")],Me.createBlock([Me.createExpressionStatement(Me.createAssignment(Me.createPropertyAccessExpression(Me.createThis(),Me.getGeneratedPrivateNameForNode(Bn.name,void 0,"_accessor_storage")),Me.createIdentifier("value")))]))}function JJ(Me){let Bn=Me.expression;for(;;){if(Bn=$o(Bn),oc(Bn)){Bn=Zn(Bn.elements);continue}if(gd(Bn)){Bn=Bn.right;continue}if(ms(Bn,!0)&&cs(Bn.left))return Bn;break}}function FJ(Me){return qo(Me)&&fs(Me)&&!Me.emitNode}function su(Me,Bn){if(FJ(Me))su(Me.expression,Bn);else if(gd(Me))su(Me.left,Bn),su(Me.right,Bn);else if(oc(Me))for(let Hn of Me.elements)su(Hn,Bn);else Bn.push(Me)}function BJ(Me){let Bn=[];return su(Me,Bn),Bn}function A2(Me){if(Me.transformFlags&65536)return!0;if(Me.transformFlags&128)for(let Bn of kE(Me)){let Me=Ko(Bn);if(Me&&KS(Me)&&(Me.transformFlags&65536||Me.transformFlags&128&&A2(Me)))return!0}return!1}var Dw,ww,Sw=D({"src/compiler/factory/utilities.ts"(){"use strict";Gw(),(Me=>{function t(Me,Bn,Hn,zn,ni,Ci,ts){let Ps=Bn>0?ni[Bn-1]:void 0;return qp.assertEqual(Hn[Bn],t),ni[Bn]=Me.onEnter(zn[Bn],Ps,ts),Hn[Bn]=A(Me,t),Bn}Me.enter=t;function r(Me,Bn,Hn,zn,ni,Ci,ts){qp.assertEqual(Hn[Bn],r),qp.assertIsDefined(Me.onLeft),Hn[Bn]=A(Me,r);let Ps=Me.onLeft(zn[Bn].left,ni[Bn],zn[Bn]);return Ps?(B(Bn,zn,Ps),g(Bn,Hn,zn,ni,Ps)):Bn}Me.left=r;function s(Me,Bn,Hn,zn,ni,Ci,ts){return qp.assertEqual(Hn[Bn],s),qp.assertIsDefined(Me.onOperator),Hn[Bn]=A(Me,s),Me.onOperator(zn[Bn].operatorToken,ni[Bn],zn[Bn]),Bn}Me.operator=s;function f(Me,Bn,Hn,zn,ni,Ci,ts){qp.assertEqual(Hn[Bn],f),qp.assertIsDefined(Me.onRight),Hn[Bn]=A(Me,f);let Ps=Me.onRight(zn[Bn].right,ni[Bn],zn[Bn]);return Ps?(B(Bn,zn,Ps),g(Bn,Hn,zn,ni,Ps)):Bn}Me.right=f;function x(Me,Bn,Hn,zn,ni,Ci,ts){qp.assertEqual(Hn[Bn],x),Hn[Bn]=A(Me,x);let Ps=Me.onExit(zn[Bn],ni[Bn]);if(Bn>0){if(Bn--,Me.foldState){let zn=Hn[Bn]===x?"right":"left";ni[Bn]=Me.foldState(ni[Bn],Ps,zn)}}else Ci.value=Ps;return Bn}Me.exit=x;function w(Me,Bn,Hn,zn,ni,Ci,ts){return qp.assertEqual(Hn[Bn],w),Bn}Me.done=w;function A(Me,Bn){switch(Bn){case t:if(Me.onLeft)return r;case r:if(Me.onOperator)return s;case s:if(Me.onRight)return f;case f:return x;case x:return w;case w:return w;default:qp.fail("Invalid state")}}Me.nextState=A;function g(Me,Bn,Hn,zn,ni){return Me++,Bn[Me]=t,Hn[Me]=ni,zn[Me]=void 0,Me}function B(Me,Bn,Hn){if(qp.shouldAssert(2))for(;Me>=0;)qp.assert(Bn[Me]!==Hn,"Circular traversal detected."),Me--}})(Dw||(Dw={})),ww=class{constructor(Me,Bn,Hn,zn,ni,Ci){this.onEnter=Me,this.onLeft=Bn,this.onOperator=Hn,this.onRight=zn,this.onExit=ni,this.foldState=Ci}}}});function Rt(Me,Bn){return Bn?Us(Me,Bn.pos,Bn.end):Me}function fc(Me){let Bn=Me.kind;return Bn===165||Bn===166||Bn===168||Bn===169||Bn===170||Bn===171||Bn===173||Bn===174||Bn===175||Bn===178||Bn===182||Bn===215||Bn===216||Bn===228||Bn===240||Bn===259||Bn===260||Bn===261||Bn===262||Bn===263||Bn===264||Bn===268||Bn===269||Bn===274||Bn===275}function ME(Me){let Bn=Me.kind;return Bn===166||Bn===169||Bn===171||Bn===174||Bn===175||Bn===228||Bn===260}var Iw=D({"src/compiler/factory/utilitiesPublic.ts"(){"use strict";Gw()}});function G(Me,Bn){return Bn&&Me(Bn)}function ze(Me,Bn,Hn){if(Hn){if(Bn)return Bn(Hn);for(let Bn of Hn){let Hn=Me(Bn);if(Hn)return Hn}}}function LE(Me,Bn){return Me.charCodeAt(Bn+1)===42&&Me.charCodeAt(Bn+2)===42&&Me.charCodeAt(Bn+3)!==47}function ou(Me){return c(Me.statements,zJ)||WJ(Me)}function zJ(Me){return fc(Me)&&VJ(Me,93)||s2(Me)&&ud(Me.moduleReference)||o2(Me)||Vo(Me)||cc(Me)?Me:void 0}function WJ(Me){return Me.flags&4194304?RE(Me):void 0}function RE(Me){return HJ(Me)?Me:xr(Me,RE)}function VJ(Me,Bn){return Ke(Me.modifiers,(Me=>Me.kind===Bn))}function HJ(Me){return t2(Me)&&Me.keywordToken===100&&Me.name.escapedText==="meta"}function jE(Me,Bn,Hn){return ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.parameters)||G(Bn,Me.type)}function JE(Me,Bn,Hn){return ze(Bn,Hn,Me.types)}function FE(Me,Bn,Hn){return G(Bn,Me.type)}function BE(Me,Bn,Hn){return ze(Bn,Hn,Me.elements)}function qE(Me,Bn,Hn){return G(Bn,Me.expression)||G(Bn,Me.questionDotToken)||ze(Bn,Hn,Me.typeArguments)||ze(Bn,Hn,Me.arguments)}function UE(Me,Bn,Hn){return ze(Bn,Hn,Me.statements)}function zE(Me,Bn,Hn){return G(Bn,Me.label)}function WE(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.heritageClauses)||ze(Bn,Hn,Me.members)}function VE(Me,Bn,Hn){return ze(Bn,Hn,Me.elements)}function HE(Me,Bn,Hn){return G(Bn,Me.propertyName)||G(Bn,Me.name)}function GE(Me,Bn,Hn){return G(Bn,Me.tagName)||ze(Bn,Hn,Me.typeArguments)||G(Bn,Me.attributes)}function Xo(Me,Bn,Hn){return G(Bn,Me.type)}function $E(Me,Bn,Hn){return G(Bn,Me.tagName)||(Me.isNameFirst?G(Bn,Me.name)||G(Bn,Me.typeExpression):G(Bn,Me.typeExpression)||G(Bn,Me.name))||(typeof Me.comment=="string"?void 0:ze(Bn,Hn,Me.comment))}function Yo(Me,Bn,Hn){return G(Bn,Me.tagName)||G(Bn,Me.typeExpression)||(typeof Me.comment=="string"?void 0:ze(Bn,Hn,Me.comment))}function P2(Me,Bn,Hn){return G(Bn,Me.name)}function Gs(Me,Bn,Hn){return G(Bn,Me.tagName)||(typeof Me.comment=="string"?void 0:ze(Bn,Hn,Me.comment))}function GJ(Me,Bn,Hn){return G(Bn,Me.expression)}function xr(Me,Bn,Hn){if(Me===void 0||Me.kind<=162)return;let zn=Rw[Me.kind];return zn===void 0?void 0:zn(Me,Bn,Hn)}function D2(Me,Bn,Hn){let zn=KE(Me),ni=[];for(;ni.length=0;--Bn)zn.push(Me[Bn]),ni.push(Ci)}else{let Hn=Bn(Me,Ci);if(Hn){if(Hn==="skip")continue;return Hn}if(Me.kind>=163)for(let Bn of KE(Me))zn.push(Bn),ni.push(Me)}}}function KE(Me){let Bn=[];return xr(Me,r,r),Bn;function r(Me){Bn.unshift(Me)}}function XE(Me){Me.externalModuleIndicator=ou(Me)}function YE(Me,Bn,Hn){let zn=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,ni=arguments.length>4?arguments[4]:void 0;var Ci,ts;(Ci=xd)==null||Ci.push(xd.Phase.Parse,"createSourceFile",{path:Me},!0),DT("beforeParse");let Ps;zp.logStartParseSourceFile(Me);let{languageVersion:aa,setExternalModuleIndicator:oa,impliedNodeFormat:ca}=typeof Hn=="object"?Hn:{languageVersion:Hn};if(aa===100)Ps=Pw.parseSourceFile(Me,Bn,aa,void 0,zn,6,yn);else{let Hn=ca===void 0?oa:Me=>(Me.impliedNodeFormat=ca,(oa||XE)(Me));Ps=Pw.parseSourceFile(Me,Bn,aa,void 0,zn,ni,Hn)}return zp.logStopParseSourceFile(),DT("afterParse"),B5("Parse","beforeParse","afterParse"),(ts=xd)==null||ts.pop(),Ps}function $J(Me,Bn){return Pw.parseIsolatedEntityName(Me,Bn)}function KJ(Me,Bn){return Pw.parseJsonText(Me,Bn)}function Qo(Me){return Me.externalModuleIndicator!==void 0}function k2(Me,Bn,Hn){let zn=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,ni=Ow.updateSourceFile(Me,Bn,Hn,zn);return ni.flags|=Me.flags&6291456,ni}function XJ(Me,Bn,Hn){let zn=Pw.JSDocParser.parseIsolatedJSDocComment(Me,Bn,Hn);return zn&&zn.jsDoc&&Pw.fixupParentReferences(zn.jsDoc),zn}function YJ(Me,Bn,Hn){return Pw.JSDocParser.parseJSDocTypeExpressionForTests(Me,Bn,Hn)}function QE(Me){return da(Me,iw)||ns(Me,".ts")&&Fi(sl(Me),".d.")}function QJ(Me,Bn,Hn,zn){if(Me){if(Me==="import")return 99;if(Me==="require")return 1;zn(Bn,Hn-Bn,Sv.resolution_mode_should_be_either_require_or_import)}}function ZE(Me,Bn){let Hn=[];for(let Me of Ao(Bn,0)||ca){let zn=Bn.substring(Me.pos,Me.end);eF(Hn,Me,zn)}Me.pragmas=new Map;for(let Bn of Hn){if(Me.pragmas.has(Bn.name)){let Hn=Me.pragmas.get(Bn.name);Hn instanceof Array?Hn.push(Bn.args):Me.pragmas.set(Bn.name,[Hn,Bn.args]);continue}Me.pragmas.set(Bn.name,Bn.args)}}function e7(Me,Bn){Me.checkJsDirective=void 0,Me.referencedFiles=[],Me.typeReferenceDirectives=[],Me.libReferenceDirectives=[],Me.amdDependencies=[],Me.hasNoDefaultLib=!1,Me.pragmas.forEach(((Hn,zn)=>{switch(zn){case"reference":{let zn=Me.referencedFiles,ni=Me.typeReferenceDirectives,Ci=Me.libReferenceDirectives;c(en(Hn),(Hn=>{let{types:ts,lib:Ps,path:aa,["resolution-mode"]:oa}=Hn.arguments;if(Hn.arguments["no-default-lib"])Me.hasNoDefaultLib=!0;else if(ts){let Me=QJ(oa,ts.pos,ts.end,Bn);ni.push(Object.assign({pos:ts.pos,end:ts.end,fileName:ts.value},Me?{resolutionMode:Me}:{}))}else Ps?Ci.push({pos:Ps.pos,end:Ps.end,fileName:Ps.value}):aa?zn.push({pos:aa.pos,end:aa.end,fileName:aa.value}):Bn(Hn.range.pos,Hn.range.end-Hn.range.pos,Sv.Invalid_reference_directive_syntax)}));break}case"amd-dependency":{Me.amdDependencies=Ze(en(Hn),(Me=>({name:Me.arguments.name,path:Me.arguments.path})));break}case"amd-module":{if(Hn instanceof Array)for(let zn of Hn)Me.moduleName&&Bn(zn.range.pos,zn.range.end-zn.range.pos,Sv.An_AMD_module_cannot_have_multiple_name_assignments),Me.moduleName=zn.arguments.name;else Me.moduleName=Hn.arguments.name;break}case"ts-nocheck":case"ts-check":{c(en(Hn),(Bn=>{(!Me.checkJsDirective||Bn.range.pos>Me.checkJsDirective.pos)&&(Me.checkJsDirective={enabled:zn==="ts-check",end:Bn.range.end,pos:Bn.range.pos})}));break}case"jsx":case"jsxfrag":case"jsximportsource":case"jsxruntime":return;default:qp.fail("Unhandled pragma kind")}}))}function ZJ(Me){if(Lw.has(Me))return Lw.get(Me);let Bn=new RegExp(`(\\s${Me}\\s*=\\s*)(?:(?:'([^']*)')|(?:"([^"]*)"))`,"im");return Lw.set(Me,Bn),Bn}function eF(Me,Bn,Hn){let zn=Bn.kind===2&&Mw.exec(Hn);if(zn){let ni=zn[1].toLowerCase(),Ci=Gy[ni];if(!Ci||!(Ci.kind&1))return;if(Ci.args){let zn={};for(let Me of Ci.args){let ni=ZJ(Me.name).exec(Hn);if(!ni&&!Me.optional)return;if(ni){let Hn=ni[2]||ni[3];if(Me.captureSpan){let Ci=Bn.pos+ni.index+ni[1].length+1;zn[Me.name]={value:Hn,pos:Ci,end:Ci+Hn.length}}else zn[Me.name]=Hn}}Me.push({name:ni,args:{arguments:zn,range:Bn}})}else Me.push({name:ni,args:{arguments:{},range:Bn}});return}let ni=Bn.kind===2&&jw.exec(Hn);if(ni)return t7(Me,Bn,2,ni);if(Bn.kind===3){let zn=/@(\S+)(\s+.*)?$/gim,ni;for(;ni=zn.exec(Hn);)t7(Me,Bn,4,ni)}}function t7(Me,Bn,Hn,zn){if(!zn)return;let ni=zn[1].toLowerCase(),Ci=Gy[ni];if(!Ci||!(Ci.kind&Hn))return;let ts=zn[2],Ps=tF(Ci,ts);Ps!=="fail"&&Me.push({name:ni,args:{arguments:Ps,range:Bn}})}function tF(Me,Bn){if(!Bn)return{};if(!Me.args)return{};let Hn=Dp(Bn).split(/\s+/),zn={};for(let Bn=0;Bnnew(Fw||(Fw=MC.getSourceFileConstructor()))(Me,-1,-1),createBaseIdentifierNode:Me=>new(Bw||(Bw=MC.getIdentifierConstructor()))(Me,-1,-1),createBasePrivateIdentifierNode:Me=>new(Tw||(Tw=MC.getPrivateIdentifierConstructor()))(Me,-1,-1),createBaseTokenNode:Me=>new(kw||(kw=MC.getTokenConstructor()))(Me,-1,-1),createBaseNode:Me=>new(xw||(xw=MC.getNodeConstructor()))(Me,-1,-1)},Qw=Zf(1,Nw),Rw={[163]:function(Me,Bn,Hn){return G(Bn,Me.left)||G(Bn,Me.right)},[165]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||G(Bn,Me.constraint)||G(Bn,Me.default)||G(Bn,Me.expression)},[300]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||G(Bn,Me.questionToken)||G(Bn,Me.exclamationToken)||G(Bn,Me.equalsToken)||G(Bn,Me.objectAssignmentInitializer)},[301]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[166]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.dotDotDotToken)||G(Bn,Me.name)||G(Bn,Me.questionToken)||G(Bn,Me.type)||G(Bn,Me.initializer)},[169]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||G(Bn,Me.questionToken)||G(Bn,Me.exclamationToken)||G(Bn,Me.type)||G(Bn,Me.initializer)},[168]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||G(Bn,Me.questionToken)||G(Bn,Me.type)||G(Bn,Me.initializer)},[299]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||G(Bn,Me.questionToken)||G(Bn,Me.exclamationToken)||G(Bn,Me.initializer)},[257]:function(Me,Bn,Hn){return G(Bn,Me.name)||G(Bn,Me.exclamationToken)||G(Bn,Me.type)||G(Bn,Me.initializer)},[205]:function(Me,Bn,Hn){return G(Bn,Me.dotDotDotToken)||G(Bn,Me.propertyName)||G(Bn,Me.name)||G(Bn,Me.initializer)},[178]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.parameters)||G(Bn,Me.type)},[182]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.parameters)||G(Bn,Me.type)},[181]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.parameters)||G(Bn,Me.type)},[176]:jE,[177]:jE,[171]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.asteriskToken)||G(Bn,Me.name)||G(Bn,Me.questionToken)||G(Bn,Me.exclamationToken)||ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.parameters)||G(Bn,Me.type)||G(Bn,Me.body)},[170]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||G(Bn,Me.questionToken)||ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.parameters)||G(Bn,Me.type)},[173]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.parameters)||G(Bn,Me.type)||G(Bn,Me.body)},[174]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.parameters)||G(Bn,Me.type)||G(Bn,Me.body)},[175]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.parameters)||G(Bn,Me.type)||G(Bn,Me.body)},[259]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.asteriskToken)||G(Bn,Me.name)||ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.parameters)||G(Bn,Me.type)||G(Bn,Me.body)},[215]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.asteriskToken)||G(Bn,Me.name)||ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.parameters)||G(Bn,Me.type)||G(Bn,Me.body)},[216]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.parameters)||G(Bn,Me.type)||G(Bn,Me.equalsGreaterThanToken)||G(Bn,Me.body)},[172]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.body)},[180]:function(Me,Bn,Hn){return G(Bn,Me.typeName)||ze(Bn,Hn,Me.typeArguments)},[179]:function(Me,Bn,Hn){return G(Bn,Me.assertsModifier)||G(Bn,Me.parameterName)||G(Bn,Me.type)},[183]:function(Me,Bn,Hn){return G(Bn,Me.exprName)||ze(Bn,Hn,Me.typeArguments)},[184]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.members)},[185]:function(Me,Bn,Hn){return G(Bn,Me.elementType)},[186]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.elements)},[189]:JE,[190]:JE,[191]:function(Me,Bn,Hn){return G(Bn,Me.checkType)||G(Bn,Me.extendsType)||G(Bn,Me.trueType)||G(Bn,Me.falseType)},[192]:function(Me,Bn,Hn){return G(Bn,Me.typeParameter)},[202]:function(Me,Bn,Hn){return G(Bn,Me.argument)||G(Bn,Me.assertions)||G(Bn,Me.qualifier)||ze(Bn,Hn,Me.typeArguments)},[298]:function(Me,Bn,Hn){return G(Bn,Me.assertClause)},[193]:FE,[195]:FE,[196]:function(Me,Bn,Hn){return G(Bn,Me.objectType)||G(Bn,Me.indexType)},[197]:function(Me,Bn,Hn){return G(Bn,Me.readonlyToken)||G(Bn,Me.typeParameter)||G(Bn,Me.nameType)||G(Bn,Me.questionToken)||G(Bn,Me.type)||ze(Bn,Hn,Me.members)},[198]:function(Me,Bn,Hn){return G(Bn,Me.literal)},[199]:function(Me,Bn,Hn){return G(Bn,Me.dotDotDotToken)||G(Bn,Me.name)||G(Bn,Me.questionToken)||G(Bn,Me.type)},[203]:BE,[204]:BE,[206]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.elements)},[207]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.properties)},[208]:function(Me,Bn,Hn){return G(Bn,Me.expression)||G(Bn,Me.questionDotToken)||G(Bn,Me.name)},[209]:function(Me,Bn,Hn){return G(Bn,Me.expression)||G(Bn,Me.questionDotToken)||G(Bn,Me.argumentExpression)},[210]:qE,[211]:qE,[212]:function(Me,Bn,Hn){return G(Bn,Me.tag)||G(Bn,Me.questionDotToken)||ze(Bn,Hn,Me.typeArguments)||G(Bn,Me.template)},[213]:function(Me,Bn,Hn){return G(Bn,Me.type)||G(Bn,Me.expression)},[214]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[217]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[218]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[219]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[221]:function(Me,Bn,Hn){return G(Bn,Me.operand)},[226]:function(Me,Bn,Hn){return G(Bn,Me.asteriskToken)||G(Bn,Me.expression)},[220]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[222]:function(Me,Bn,Hn){return G(Bn,Me.operand)},[223]:function(Me,Bn,Hn){return G(Bn,Me.left)||G(Bn,Me.operatorToken)||G(Bn,Me.right)},[231]:function(Me,Bn,Hn){return G(Bn,Me.expression)||G(Bn,Me.type)},[232]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[235]:function(Me,Bn,Hn){return G(Bn,Me.expression)||G(Bn,Me.type)},[233]:function(Me,Bn,Hn){return G(Bn,Me.name)},[224]:function(Me,Bn,Hn){return G(Bn,Me.condition)||G(Bn,Me.questionToken)||G(Bn,Me.whenTrue)||G(Bn,Me.colonToken)||G(Bn,Me.whenFalse)},[227]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[238]:UE,[265]:UE,[308]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.statements)||G(Bn,Me.endOfFileToken)},[240]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.declarationList)},[258]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.declarations)},[241]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[242]:function(Me,Bn,Hn){return G(Bn,Me.expression)||G(Bn,Me.thenStatement)||G(Bn,Me.elseStatement)},[243]:function(Me,Bn,Hn){return G(Bn,Me.statement)||G(Bn,Me.expression)},[244]:function(Me,Bn,Hn){return G(Bn,Me.expression)||G(Bn,Me.statement)},[245]:function(Me,Bn,Hn){return G(Bn,Me.initializer)||G(Bn,Me.condition)||G(Bn,Me.incrementor)||G(Bn,Me.statement)},[246]:function(Me,Bn,Hn){return G(Bn,Me.initializer)||G(Bn,Me.expression)||G(Bn,Me.statement)},[247]:function(Me,Bn,Hn){return G(Bn,Me.awaitModifier)||G(Bn,Me.initializer)||G(Bn,Me.expression)||G(Bn,Me.statement)},[248]:zE,[249]:zE,[250]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[251]:function(Me,Bn,Hn){return G(Bn,Me.expression)||G(Bn,Me.statement)},[252]:function(Me,Bn,Hn){return G(Bn,Me.expression)||G(Bn,Me.caseBlock)},[266]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.clauses)},[292]:function(Me,Bn,Hn){return G(Bn,Me.expression)||ze(Bn,Hn,Me.statements)},[293]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.statements)},[253]:function(Me,Bn,Hn){return G(Bn,Me.label)||G(Bn,Me.statement)},[254]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[255]:function(Me,Bn,Hn){return G(Bn,Me.tryBlock)||G(Bn,Me.catchClause)||G(Bn,Me.finallyBlock)},[295]:function(Me,Bn,Hn){return G(Bn,Me.variableDeclaration)||G(Bn,Me.block)},[167]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[260]:WE,[228]:WE,[261]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||ze(Bn,Hn,Me.typeParameters)||ze(Bn,Hn,Me.heritageClauses)||ze(Bn,Hn,Me.members)},[262]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||ze(Bn,Hn,Me.typeParameters)||G(Bn,Me.type)},[263]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||ze(Bn,Hn,Me.members)},[302]:function(Me,Bn,Hn){return G(Bn,Me.name)||G(Bn,Me.initializer)},[264]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||G(Bn,Me.body)},[268]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)||G(Bn,Me.moduleReference)},[269]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.importClause)||G(Bn,Me.moduleSpecifier)||G(Bn,Me.assertClause)},[270]:function(Me,Bn,Hn){return G(Bn,Me.name)||G(Bn,Me.namedBindings)},[296]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.elements)},[297]:function(Me,Bn,Hn){return G(Bn,Me.name)||G(Bn,Me.value)},[267]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.name)},[271]:function(Me,Bn,Hn){return G(Bn,Me.name)},[277]:function(Me,Bn,Hn){return G(Bn,Me.name)},[272]:VE,[276]:VE,[275]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.exportClause)||G(Bn,Me.moduleSpecifier)||G(Bn,Me.assertClause)},[273]:HE,[278]:HE,[274]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)||G(Bn,Me.expression)},[225]:function(Me,Bn,Hn){return G(Bn,Me.head)||ze(Bn,Hn,Me.templateSpans)},[236]:function(Me,Bn,Hn){return G(Bn,Me.expression)||G(Bn,Me.literal)},[200]:function(Me,Bn,Hn){return G(Bn,Me.head)||ze(Bn,Hn,Me.templateSpans)},[201]:function(Me,Bn,Hn){return G(Bn,Me.type)||G(Bn,Me.literal)},[164]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[294]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.types)},[230]:function(Me,Bn,Hn){return G(Bn,Me.expression)||ze(Bn,Hn,Me.typeArguments)},[280]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[279]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.modifiers)},[357]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.elements)},[281]:function(Me,Bn,Hn){return G(Bn,Me.openingElement)||ze(Bn,Hn,Me.children)||G(Bn,Me.closingElement)},[285]:function(Me,Bn,Hn){return G(Bn,Me.openingFragment)||ze(Bn,Hn,Me.children)||G(Bn,Me.closingFragment)},[282]:GE,[283]:GE,[289]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.properties)},[288]:function(Me,Bn,Hn){return G(Bn,Me.name)||G(Bn,Me.initializer)},[290]:function(Me,Bn,Hn){return G(Bn,Me.expression)},[291]:function(Me,Bn,Hn){return G(Bn,Me.dotDotDotToken)||G(Bn,Me.expression)},[284]:function(Me,Bn,Hn){return G(Bn,Me.tagName)},[187]:Xo,[188]:Xo,[312]:Xo,[318]:Xo,[317]:Xo,[319]:Xo,[321]:Xo,[320]:function(Me,Bn,Hn){return ze(Bn,Hn,Me.parameters)||G(Bn,Me.type)},[323]:function(Me,Bn,Hn){return(typeof Me.comment=="string"?void 0:ze(Bn,Hn,Me.comment))||ze(Bn,Hn,Me.tags)},[350]:function(Me,Bn,Hn){return G(Bn,Me.tagName)||G(Bn,Me.name)||(typeof Me.comment=="string"?void 0:ze(Bn,Hn,Me.comment))},[313]:function(Me,Bn,Hn){return G(Bn,Me.name)},[314]:function(Me,Bn,Hn){return G(Bn,Me.left)||G(Bn,Me.right)},[344]:$E,[351]:$E,[333]:function(Me,Bn,Hn){return G(Bn,Me.tagName)||(typeof Me.comment=="string"?void 0:ze(Bn,Hn,Me.comment))},[332]:function(Me,Bn,Hn){return G(Bn,Me.tagName)||G(Bn,Me.class)||(typeof Me.comment=="string"?void 0:ze(Bn,Hn,Me.comment))},[331]:function(Me,Bn,Hn){return G(Bn,Me.tagName)||G(Bn,Me.class)||(typeof Me.comment=="string"?void 0:ze(Bn,Hn,Me.comment))},[348]:function(Me,Bn,Hn){return G(Bn,Me.tagName)||G(Bn,Me.constraint)||ze(Bn,Hn,Me.typeParameters)||(typeof Me.comment=="string"?void 0:ze(Bn,Hn,Me.comment))},[349]:function(Me,Bn,Hn){return G(Bn,Me.tagName)||(Me.typeExpression&&Me.typeExpression.kind===312?G(Bn,Me.typeExpression)||G(Bn,Me.fullName)||(typeof Me.comment=="string"?void 0:ze(Bn,Hn,Me.comment)):G(Bn,Me.fullName)||G(Bn,Me.typeExpression)||(typeof Me.comment=="string"?void 0:ze(Bn,Hn,Me.comment)))},[341]:function(Me,Bn,Hn){return G(Bn,Me.tagName)||G(Bn,Me.fullName)||G(Bn,Me.typeExpression)||(typeof Me.comment=="string"?void 0:ze(Bn,Hn,Me.comment))},[345]:Yo,[347]:Yo,[346]:Yo,[343]:Yo,[353]:Yo,[352]:Yo,[342]:Yo,[326]:function(Me,Bn,Hn){return c(Me.typeParameters,Bn)||c(Me.parameters,Bn)||G(Bn,Me.type)},[327]:P2,[328]:P2,[329]:P2,[325]:function(Me,Bn,Hn){return c(Me.jsDocPropertyTags,Bn)},[330]:Gs,[335]:Gs,[336]:Gs,[337]:Gs,[338]:Gs,[339]:Gs,[334]:Gs,[340]:Gs,[356]:GJ},(Me=>{var Bn=Po(99,!0),Hn=20480,zn,ni,Ci,ts,Ps;function g(Me){return rg++,Me}var aa={createBaseSourceFileNode:Me=>g(new Ps(Me,0,0)),createBaseIdentifierNode:Me=>g(new Ci(Me,0,0)),createBasePrivateIdentifierNode:Me=>g(new ts(Me,0,0)),createBaseTokenNode:Me=>g(new ni(Me,0,0)),createBaseNode:Me=>g(new zn(Me,0,0))},oa=Zf(11,aa),{createNodeArray:xa,createNumericLiteral:Ga,createStringLiteral:Ha,createLiteralLikeNode:so,createIdentifier:oo,createPrivateIdentifier:Jo,createToken:tc,createArrayLiteralExpression:dc,createObjectLiteralExpression:Fc,createPropertyAccessExpression:Jc,createPropertyAccessChain:Dp,createElementAccessExpression:kp,createElementAccessChain:Qp,createCallExpression:Up,createCallChain:Vp,createNewExpression:Jp,createParenthesizedExpression:Wp,createBlock:zp,createVariableStatement:Qf,createExpressionStatement:Yf,createIfStatement:Kf,createWhileStatement:Xf,createForStatement:Ad,createForOfStatement:Cd,createVariableDeclaration:wd,createVariableDeclarationList:Sd}=oa,xd,Td,Pd,Qh,Zh,sA,oA,hA,eg,tg,rg,ng,ig,sg,ag,og,ug=!0,cg=!1;function wa(Me,Bn,Hn,zn){let ni=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1,Ci=arguments.length>5?arguments[5]:void 0,ts=arguments.length>6?arguments[6]:void 0;var Ps;if(Ci=Nx(Me,Ci),Ci===6){let Ci=Ki(Me,Bn,Hn,zn,ni);return convertToObjectWorker(Ci,(Ps=Ci.statements[0])==null?void 0:Ps.expression,Ci.parseDiagnostics,!1,void 0,void 0),Ci.referencedFiles=ca,Ci.typeReferenceDirectives=ca,Ci.libReferenceDirectives=ca,Ci.amdDependencies=ca,Ci.hasNoDefaultLib=!1,Ci.pragmas=_a,Ci}Mn(Me,Bn,Hn,zn,Ci);let aa=Ca(Hn,ni,Ci,ts||XE);return _i(),aa}Me.parseSourceFile=wa;function $n(Me,Bn){Mn("",Me,Bn,void 0,1),_e();let Hn=Ys(!0),zn=T()===1&&!oA.length;return _i(),zn?Hn:void 0}Me.parseIsolatedEntityName=$n;function Ki(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:2,zn=arguments.length>3?arguments[3]:void 0,ni=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;Mn(Me,Bn,Hn,zn,6),Td=og,_e();let Ci=L(),ts,Ps;if(T()===1)ts=Er([],Ci,Ci),Ps=sn();else{let Me;for(;T()!==1;){let Bn;switch(T()){case 22:Bn=ah();break;case 110:case 95:case 104:Bn=sn();break;case 40:wt((()=>_e()===8&&_e()!==58))?Bn=qm():Bn=Xu();break;case 8:case 10:if(wt((()=>_e()!==58))){Bn=Di();break}default:Bn=Xu();break}Me&&ir(Me)?Me.push(Bn):Me?Me=[Me,Bn]:(Me=Bn,T()!==1&&Dt(Sv.Unexpected_token))}let Bn=ir(Me)?Q(dc(Me),Ci):qp.checkDefined(Me),Hn=Yf(Bn);Q(Hn,Ci),ts=Er([Hn],Ci),Ps=ea(1,Sv.Unexpected_token)}let aa=Kt(Me,2,6,!1,ts,Ps,Td,yn);ni&&ft(aa),aa.nodeCount=rg,aa.identifierCount=ig,aa.identifiers=ng,aa.parseDiagnostics=qs(oA,aa),hA&&(aa.jsDocDiagnostics=qs(hA,aa));let oa=aa;return _i(),oa}Me.parseJsonText=Ki;function Mn(Me,Hn,aa,oa,ca){switch(zn=MC.getNodeConstructor(),ni=MC.getTokenConstructor(),Ci=MC.getIdentifierConstructor(),ts=MC.getPrivateIdentifierConstructor(),Ps=MC.getSourceFileConstructor(),xd=Un(Me),Pd=Hn,Qh=aa,eg=oa,Zh=ca,sA=sv(ca),oA=[],sg=0,ng=new Map,ig=0,rg=0,Td=0,ug=!0,Zh){case 1:case 2:og=262144;break;case 6:og=67371008;break;default:og=0;break}cg=!1,Bn.setText(Pd),Bn.setOnError(U),Bn.setScriptTarget(Qh),Bn.setLanguageVariant(sA)}function _i(){Bn.clearCommentDirectives(),Bn.setText(""),Bn.setOnError(void 0),Pd=void 0,Qh=void 0,eg=void 0,Zh=void 0,sA=void 0,Td=0,oA=void 0,hA=void 0,sg=0,ng=void 0,ag=void 0,ug=!0}function Ca(Me,Hn,zn,ni){let Ci=QE(xd);Ci&&(og|=16777216),Td=og,_e();let ts=Kn(0,on);qp.assert(T()===1);let Ps=He(sn()),aa=Kt(xd,Me,zn,Ci,ts,Ps,Td,ni);return ZE(aa,Pd),e7(aa,We),aa.commentDirectives=Bn.getCommentDirectives(),aa.nodeCount=rg,aa.identifierCount=ig,aa.identifiers=ng,aa.parseDiagnostics=qs(oA,aa),hA&&(aa.jsDocDiagnostics=qs(hA,aa)),Hn&&ft(aa),aa;function We(Me,Bn,Hn){oA.push(Ro(xd,Me,Bn,Hn))}}function St(Me,Bn){return Bn?He(Me):Me}let lg=!1;function He(Me){qp.assert(!Me.jsDoc);let Bn=qt(I3(Me,Pd),(Bn=>hg.parseJSDocComment(Me,Bn.pos,Bn.end-Bn.pos)));return Bn.length&&(Me.jsDoc=Bn),lg&&(lg=!1,Me.flags|=268435456),Me}function _t(Me){let Hn=eg,zn=Ow.createSyntaxCursor(Me);eg={currentNode:lt};let ni=[],Ci=oA;oA=[];let ts=0,Ps=We(Me.statements,0);for(;Ps!==-1;){let Hn=Me.statements[ts],zn=Me.statements[Ps];jr(ni,Me.statements,ts,Ps),ts=$e(Me.statements,Ps);let aa=he(Ci,(Me=>Me.start>=Hn.pos)),oa=aa>=0?he(Ci,(Me=>Me.start>=zn.pos),aa):-1;aa>=0&&jr(oA,Ci,aa,oa>=0?oa:void 0),Rn((()=>{let Hn=og;for(og|=32768,Bn.setTextPos(zn.pos),_e();T()!==1;){let Hn=Bn.getStartPos(),zn=vc(0,on);if(ni.push(zn),Hn===Bn.getStartPos()&&_e(),ts>=0){let Bn=Me.statements[ts];if(zn.end===Bn.pos)break;zn.end>Bn.pos&&(ts=$e(Me.statements,ts+1))}}og=Hn}),2),Ps=ts>=0?We(Me.statements,ts):-1}if(ts>=0){let Bn=Me.statements[ts];jr(ni,Me.statements,ts);let Hn=he(Ci,(Me=>Me.start>=Bn.pos));Hn>=0&&jr(oA,Ci,Hn)}return eg=Hn,oa.updateSourceFile(Me,Rt(xa(ni),Me.statements));function qe(Me){return!(Me.flags&32768)&&!!(Me.transformFlags&67108864)}function We(Me,Bn){for(let Hn=Bn;Hn116}function kt(){return T()===79?!0:T()===125&&Yi()||T()===133&&xn()?!1:T()>116}function de(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return T()===Me?(Hn&&_e(),!0):(Bn?Dt(Bn):Dt(Sv._0_expected,Br(Me)),!1)}let pg=Object.keys(xv).filter((Me=>Me.length>2));function Zi(Me){var Hn;if(Y8(Me)){Z(Ar(Pd,Me.template.pos),Me.template.end,Sv.Module_declaration_names_may_only_use_or_quoted_strings);return}let zn=yt(Me)?qr(Me):void 0;if(!zn||!vy(zn,Qh)){Dt(Sv._0_expected,Br(26));return}let ni=Ar(Pd,Me.pos);switch(zn){case"const":case"let":case"var":Z(ni,Me.end,Sv.Variable_declaration_not_allowed_at_this_location);return;case"declare":return;case"interface":Pa(Sv.Interface_name_cannot_be_0,Sv.Interface_must_be_given_a_name,18);return;case"is":Z(ni,Bn.getTextPos(),Sv.A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods);return;case"module":case"namespace":Pa(Sv.Namespace_name_cannot_be_0,Sv.Namespace_must_be_given_a_name,18);return;case"type":Pa(Sv.Type_alias_name_cannot_be_0,Sv.Type_alias_must_be_given_a_name,63);return}let Ci=(Hn=Ep(zn,pg,(Me=>Me)))!=null?Hn:e_(zn);if(Ci){Z(ni,Me.end,Sv.Unknown_keyword_or_identifier_Did_you_mean_0,Ci);return}T()!==0&&Z(ni,Me.end,Sv.Unexpected_keyword_or_identifier)}function Pa(Me,Hn,zn){T()===zn?Dt(Hn):Dt(Me,Bn.getTokenValue())}function e_(Me){for(let Bn of pg)if(Me.length>Bn.length+2&&Pn(Me,Bn))return`${Bn} ${Me.slice(Bn.length)}`}function mc(Me,Hn,zn){if(T()===59&&!Bn.hasPrecedingLineBreak()){Dt(Sv.Decorators_must_precede_the_name_and_all_keywords_of_property_declarations);return}if(T()===20){Dt(Sv.Cannot_start_a_function_call_in_a_type_annotation),_e();return}if(Hn&&!ka()){zn?Dt(Sv._0_expected,Br(26)):Dt(Sv.Expected_for_property_initializer);return}if(!t_()){if(zn){Dt(Sv._0_expected,Br(26));return}Zi(Me)}}function Da(Me){return T()===Me?(Ge(),!0):(Dt(Sv._0_expected,Br(Me)),!1)}function Ts(Me,Bn,Hn,zn){if(T()===Bn){_e();return}let ni=Dt(Sv._0_expected,Br(Bn));Hn&&ni&&Rl(ni,Ro(xd,zn,1,Sv.The_parser_expected_to_find_a_1_to_match_the_0_token_here,Br(Me),Br(Bn)))}function Ot(Me){return T()===Me?(_e(),!0):!1}function dr(Me){if(T()===Me)return sn()}function Dd(Me){if(T()===Me)return Id()}function ea(Me,Bn,Hn){return dr(Me)||Jn(Me,!1,Bn||Sv._0_expected,Hn||Br(Me))}function kd(Me){return Dd(Me)||Jn(Me,!1,Sv._0_expected,Br(Me))}function sn(){let Me=L(),Bn=T();return _e(),Q(tc(Bn),Me)}function Id(){let Me=L(),Bn=T();return Ge(),Q(tc(Bn),Me)}function ka(){return T()===26?!0:T()===19||T()===1||Bn.hasPrecedingLineBreak()}function t_(){return ka()?(T()===26&&_e(),!0):!1}function En(){return t_()||de(26)}function Er(Me,Hn,zn,ni){let Ci=xa(Me,ni);return Us(Ci,Hn,zn!=null?zn:Bn.getStartPos()),Ci}function Q(Me,Hn,zn){return Us(Me,Hn,zn!=null?zn:Bn.getStartPos()),og&&(Me.flags|=og),cg&&(cg=!1,Me.flags|=131072),Me}function Jn(Me,Hn,zn,ni){Hn?Pi(Bn.getStartPos(),0,zn,ni):zn&&Dt(zn,ni);let Ci=L(),ts=Me===79?oo("",void 0):yl(Me)?oa.createTemplateLiteralLikeNode(Me,"","",void 0):Me===8?Ga("",void 0):Me===10?Ha("",void 0):Me===279?oa.createMissingDeclaration():tc(Me);return Q(ts,Ci)}function Ia(Me){let Bn=ng.get(Me);return Bn===void 0&&ng.set(Me,Bn=Me),Bn}function Ss(Me,Hn,zn){if(Me){ig++;let Me=L(),Hn=T(),zn=Ia(Bn.getTokenValue()),ni=Bn.hasExtendedUnicodeEscape();return it(),Q(oo(zn,Hn,ni),Me)}if(T()===80)return Dt(zn||Sv.Private_identifiers_are_not_allowed_outside_class_bodies),Ss(!0);if(T()===0&&Bn.tryScan((()=>Bn.reScanInvalidIdentifier()===79)))return Ss(!0);ig++;let ni=T()===1,Ci=Bn.isReservedWord(),ts=Bn.getTokenText(),Ps=Ci?Sv.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:Sv.Identifier_expected;return Jn(79,ni,Hn||Ps,ts)}function hc(Me){return Ss(Tt(),void 0,Me)}function wr(Me,Bn){return Ss(kt(),Me,Bn)}function zr(Me){return Ss(fr(T()),Me)}function xs(){return fr(T())||T()===10||T()===8}function Nd(){return fr(T())||T()===10}function R2(Me){if(T()===10||T()===8){let Me=Di();return Me.text=Ia(Me.text),Me}return Me&&T()===22?j2():T()===80?gc():zr()}function Es(){return R2(!0)}function j2(){let Me=L();de(22);let Bn=It(Sr);return de(23),Q(oa.createComputedPropertyName(Bn),Me)}function gc(){let Me=L(),Hn=Jo(Ia(Bn.getTokenValue()));return _e(),Q(Hn,Me)}function Ks(Me){return T()===Me&&Tr(Od)}function uu(){return _e(),Bn.hasPrecedingLineBreak()?!1:ta()}function Od(){switch(T()){case 85:return _e()===92;case 93:return _e(),T()===88?wt(Ld):T()===154?wt(J2):r_();case 88:return Ld();case 124:case 137:case 151:return _e(),ta();default:return uu()}}function r_(){return T()===59||T()!==41&&T()!==128&&T()!==18&&ta()}function J2(){return _e(),r_()}function Md(){return Wi(T())&&Tr(Od)}function ta(){return T()===22||T()===18||T()===41||T()===25||xs()}function Ld(){return _e(),T()===84||T()===98||T()===118||T()===59||T()===126&&wt(gh)||T()===132&&wt(yh)}function Xs(Me,Bn){if(mu(Me))return!0;switch(Me){case 0:case 1:case 3:return!(T()===26&&Bn)&&vh();case 2:return T()===82||T()===88;case 4:return wt(om);case 5:return wt(Jb)||T()===26&&!Bn;case 6:return T()===22||xs();case 12:switch(T()){case 22:case 41:case 25:case 24:return!0;default:return xs()}case 18:return xs();case 9:return T()===22||T()===25||xs();case 24:return Nd();case 7:return T()===18?wt(Rd):Bn?kt()&&!fu():Fu()&&!fu();case 8:return tp();case 10:return T()===27||T()===25||tp();case 19:return T()===101||T()===85||kt();case 15:switch(T()){case 27:case 24:return!0}case 11:return T()===25||La();case 16:return Ec(!1);case 17:return Ec(!0);case 20:case 21:return T()===27||eo();case 22:return Oc();case 23:return fr(T());case 13:return fr(T())||T()===18;case 14:return!0}return qp.fail("Non-exhaustive case in 'isListElement'.")}function Rd(){if(qp.assert(T()===18),_e()===19){let Me=_e();return Me===27||Me===18||Me===94||Me===117}return!0}function yc(){return _e(),kt()}function pu(){return _e(),fr(T())}function F2(){return _e(),qT(T())}function fu(){return T()===117||T()===94?wt(jd):!1}function jd(){return _e(),La()}function Jd(){return _e(),eo()}function Na(Me){if(T()===1)return!0;switch(Me){case 1:case 2:case 4:case 5:case 6:case 12:case 9:case 23:case 24:return T()===19;case 3:return T()===19||T()===82||T()===88;case 7:return T()===18||T()===94||T()===117;case 8:return B2();case 19:return T()===31||T()===20||T()===18||T()===94||T()===117;case 11:return T()===21||T()===26;case 15:case 21:case 10:return T()===23;case 17:case 16:case 18:return T()===21||T()===23;case 20:return T()!==27;case 22:return T()===18||T()===19;case 13:return T()===31||T()===43;case 14:return T()===29&&wt(Xb);default:return!1}}function B2(){return!!(ka()||jm(T())||T()===38)}function du(){for(let Me=0;Me<25;Me++)if(sg&1<=0)}function z2(Me){return Me===6?Sv.An_enum_member_name_must_be_followed_by_a_or:void 0}function ui(){let Me=Er([],L());return Me.isMissingList=!0,Me}function W2(Me){return!!Me.isMissingList}function Oa(Me,Bn,Hn,zn){if(de(Hn)){let Hn=mn(Me,Bn);return de(zn),Hn}return ui()}function Ys(Me,Bn){let Hn=L(),zn=Me?zr(Bn):wr(Bn);for(;Ot(24)&&T()!==29;)zn=Q(oa.createQualifiedName(zn,bc(Me,!1)),Hn);return zn}function Tu(Me,Bn){return Q(oa.createQualifiedName(Me,Bn),Me.pos)}function bc(Me,Hn){if(Bn.hasPrecedingLineBreak()&&fr(T())&&wt(Qu))return Jn(79,!0,Sv.Identifier_expected);if(T()===80){let Me=gc();return Hn?Me:Jn(79,!0,Sv.Identifier_expected)}return Me?zr():wr()}function Su(Me){let Bn=L(),Hn=[],zn;do{zn=H2(Me),Hn.push(zn)}while(zn.literal.kind===16);return Er(Hn,Bn)}function Wd(Me){let Bn=L();return Q(oa.createTemplateExpression(Hd(Me),Su(Me)),Bn)}function xu(){let Me=L();return Q(oa.createTemplateLiteralType(Hd(!1),Vd()),Me)}function Vd(){let Me=L(),Bn=[],Hn;do{Hn=V2(),Bn.push(Hn)}while(Hn.literal.kind===16);return Er(Bn,Me)}function V2(){let Me=L();return Q(oa.createTemplateLiteralTypeSpan(sr(),Eu(!1)),Me)}function Eu(Me){return T()===19?(Yt(Me),Tc()):ea(17,Sv._0_expected,Br(19))}function H2(Me){let Bn=L();return Q(oa.createTemplateSpan(It(Sr),Eu(Me)),Bn)}function Di(){return n_(T())}function Hd(Me){Me&&$t();let Bn=n_(T());return qp.assert(Bn.kind===15,"Template head has wrong token kind"),Bn}function Tc(){let Me=n_(T());return qp.assert(Me.kind===16||Me.kind===17,"Template fragment has wrong token kind"),Me}function Gd(Me){let Hn=Me===14||Me===17,zn=Bn.getTokenText();return zn.substring(1,zn.length-(Bn.isUnterminated()?0:Hn?1:2))}function n_(Me){let Hn=L(),zn=yl(Me)?oa.createTemplateLiteralLikeNode(Me,Bn.getTokenValue(),Gd(Me),Bn.getTokenFlags()&2048):Me===8?Ga(Bn.getTokenValue(),Bn.getNumericLiteralFlags()):Me===10?Ha(Bn.getTokenValue(),void 0,Bn.hasExtendedUnicodeEscape()):ky(Me)?so(Me,Bn.getTokenValue()):qp.fail();return Bn.hasExtendedUnicodeEscape()&&(zn.hasExtendedUnicodeEscape=!0),Bn.isUnterminated()&&(zn.isUnterminated=!0),_e(),Q(zn,Hn)}function wu(){return Ys(!0,Sv.Type_expected)}function Qs(){if(!Bn.hasPrecedingLineBreak()&&Wt()===29)return Oa(20,sr,29,31)}function Sc(){let Me=L();return Q(oa.createTypeReferenceNode(wu(),Qs()),Me)}function Cu(Me){switch(Me.kind){case 180:return va(Me.typeName);case 181:case 182:{let{parameters:Bn,type:Hn}=Me;return W2(Bn)||Cu(Hn)}case 193:return Cu(Me.type);default:return!1}}function G2(Me){return _e(),Q(oa.createTypePredicateNode(void 0,Me,sr()),Me.pos)}function $d(){let Me=L();return _e(),Q(oa.createThisTypeNode(),Me)}function Kd(){let Me=L();return _e(),Q(oa.createJSDocAllType(),Me)}function $2(){let Me=L();return _e(),Q(oa.createJSDocNonNullableType(Lu(),!1),Me)}function Xd(){let Me=L();return _e(),T()===27||T()===19||T()===21||T()===31||T()===63||T()===51?Q(oa.createJSDocUnknownType(),Me):Q(oa.createJSDocNullableType(sr(),!1),Me)}function K2(){let Me=L(),Bn=fe();if(wt(qh)){_e();let Hn=ra(36),zn=pi(58,!1);return St(Q(oa.createJSDocFunctionType(Hn,zn),Me),Bn)}return Q(oa.createTypeReferenceNode(zr(),void 0),Me)}function Yd(){let Me=L(),Bn;return(T()===108||T()===103)&&(Bn=zr(),de(58)),Q(oa.createParameterDeclaration(void 0,void 0,Bn,void 0,xc(),void 0),Me)}function xc(){Bn.setInJSDocType(!0);let Me=L();if(Ot(142)){let Hn=oa.createJSDocNamepathType(void 0);e:for(;;)switch(T()){case 19:case 1:case 27:case 5:break e;default:Ge()}return Bn.setInJSDocType(!1),Q(Hn,Me)}let Hn=Ot(25),zn=Ju();return Bn.setInJSDocType(!1),Hn&&(zn=Q(oa.createJSDocVariadicType(zn),Me)),T()===63?(_e(),Q(oa.createJSDocOptionalType(zn),Me)):zn}function X2(){let Me=L();de(112);let Hn=Ys(!0),zn=Bn.hasPrecedingLineBreak()?void 0:Nc();return Q(oa.createTypeQueryNode(Hn,zn),Me)}function Qd(){let Me=L(),Bn=ki(!1,!0),Hn=wr(),zn,ni;Ot(94)&&(eo()||!La()?zn=sr():ni=Wu());let Ci=Ot(63)?sr():void 0,ts=oa.createTypeParameterDeclaration(Bn,Hn,zn,Ci);return ts.expression=ni,Q(ts,Me)}function Xn(){if(T()===29)return Oa(19,Qd,29,31)}function Ec(Me){return T()===25||tp()||Wi(T())||T()===59||eo(!Me)}function Zd(Me){let Bn=no(Sv.Private_identifiers_cannot_be_used_as_parameters);return hf(Bn)===0&&!Ke(Me)&&Wi(T())&&_e(),Bn}function em(){return Tt()||T()===22||T()===18}function Au(Me){return Pu(Me)}function tm(Me){return Pu(Me,!1)}function Pu(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Hn=L(),zn=fe(),ni=Me?Xi((()=>ki(!0))):Aa((()=>ki(!0)));if(T()===108){let Me=oa.createParameterDeclaration(ni,void 0,Ss(!0),void 0,Ma(),void 0),Bn=pa(ni);return Bn&&ie(Bn,Sv.Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters),St(Q(Me,Hn),zn)}let Ci=ug;ug=!1;let ts=dr(25);if(!Bn&&!em())return;let Ps=St(Q(oa.createParameterDeclaration(ni,ts,Zd(ni),dr(57),Ma(),Ra()),Hn),zn);return ug=Ci,Ps}function pi(Me,Bn){if(rm(Me,Bn))return gr(Ju)}function rm(Me,Bn){return Me===38?(de(Me),!0):Ot(58)?!0:Bn&&T()===38?(Dt(Sv._0_expected,Br(58)),_e(),!0):!1}function wc(Me,Bn){let Hn=Yi(),zn=xn();Le(!!(Me&1)),ot(!!(Me&2));let ni=Me&32?mn(17,Yd):mn(16,(()=>Bn?Au(zn):tm(zn)));return Le(Hn),ot(zn),ni}function ra(Me){if(!de(20))return ui();let Bn=wc(Me,!0);return de(21),Bn}function i_(){Ot(27)||En()}function nm(Me){let Bn=L(),Hn=fe();Me===177&&de(103);let zn=Xn(),ni=ra(4),Ci=pi(58,!0);i_();let ts=Me===176?oa.createCallSignature(zn,ni,Ci):oa.createConstructSignature(zn,ni,Ci);return St(Q(ts,Bn),Hn)}function im(){return T()===22&&wt(Zs)}function Zs(){if(_e(),T()===25||T()===23)return!0;if(Wi(T())){if(_e(),kt())return!0}else if(kt())_e();else return!1;return T()===58||T()===27?!0:T()!==57?!1:(_e(),T()===58||T()===27||T()===23)}function am(Me,Bn,Hn){let zn=Oa(16,(()=>Au(!1)),22,23),ni=Ma();i_();let Ci=oa.createIndexSignature(Hn,zn,ni);return St(Q(Ci,Me),Bn)}function sm(Me,Bn,Hn){let zn=Es(),ni=dr(57),Ci;if(T()===20||T()===29){let Me=Xn(),Bn=ra(4),ts=pi(58,!0);Ci=oa.createMethodSignature(Hn,zn,ni,Me,Bn,ts)}else{let Me=Ma();Ci=oa.createPropertySignature(Hn,zn,ni,Me),T()===63&&(Ci.initializer=Ra())}return i_(),St(Q(Ci,Me),Bn)}function om(){if(T()===20||T()===29||T()===137||T()===151)return!0;let Me=!1;for(;Wi(T());)Me=!0,_e();return T()===22?!0:(xs()&&(Me=!0,_e()),Me?T()===20||T()===29||T()===57||T()===58||T()===27||ka():!1)}function Du(){if(T()===20||T()===29)return nm(176);if(T()===103&&wt(a_))return nm(177);let Me=L(),Bn=fe(),Hn=ki(!1);return Ks(137)?Fa(Me,Bn,Hn,174,4):Ks(151)?Fa(Me,Bn,Hn,175,4):im()?am(Me,Bn,Hn):sm(Me,Bn,Hn)}function a_(){return _e(),T()===20||T()===29}function Y2(){return _e()===24}function ku(){switch(_e()){case 20:case 29:case 24:return!0}return!1}function Q2(){let Me=L();return Q(oa.createTypeLiteralNode(Iu()),Me)}function Iu(){let Me;return de(18)?(Me=Kn(4,Du),de(19)):Me=ui(),Me}function Z2(){return _e(),T()===39||T()===40?_e()===146:(T()===146&&_e(),T()===22&&yc()&&_e()===101)}function _m(){let Me=L(),Bn=zr();de(101);let Hn=sr();return Q(oa.createTypeParameterDeclaration(void 0,Bn,Hn,void 0),Me)}function eb(){let Me=L();de(18);let Bn;(T()===146||T()===39||T()===40)&&(Bn=sn(),Bn.kind!==146&&de(146)),de(22);let Hn=_m(),zn=Ot(128)?sr():void 0;de(23);let ni;(T()===57||T()===39||T()===40)&&(ni=sn(),ni.kind!==57&&de(57));let Ci=Ma();En();let ts=Kn(4,Du);return de(19),Q(oa.createMappedTypeNode(Bn,Hn,zn,ni,Ci,ts),Me)}function Nu(){let Me=L();if(Ot(25))return Q(oa.createRestTypeNode(sr()),Me);let Bn=sr();if(uE(Bn)&&Bn.pos===Bn.type.pos){let Me=oa.createOptionalTypeNode(Bn.type);return Rt(Me,Bn),Me.flags=Bn.flags,Me}return Bn}function cm(){return _e()===58||T()===57&&_e()===58}function lm(){return T()===25?fr(_e())&&cm():fr(T())&&cm()}function tb(){if(wt(lm)){let Me=L(),Bn=fe(),Hn=dr(25),zn=zr(),ni=dr(57);de(58);let Ci=Nu(),ts=oa.createNamedTupleMember(Hn,zn,ni,Ci);return St(Q(ts,Me),Bn)}return Nu()}function um(){let Me=L();return Q(oa.createTupleTypeNode(Oa(21,tb,22,23)),Me)}function rb(){let Me=L();de(20);let Bn=sr();return de(21),Q(oa.createParenthesizedType(Bn),Me)}function pm(){let Me;if(T()===126){let Bn=L();_e();let Hn=Q(tc(126),Bn);Me=Er([Hn],Bn)}return Me}function fm(){let Me=L(),Bn=fe(),Hn=pm(),zn=Ot(103);qp.assert(!Hn||zn,"Per isStartOfFunctionOrConstructorType, a function type cannot have modifiers.");let ni=Xn(),Ci=ra(4),ts=pi(38,!1),Ps=zn?oa.createConstructorTypeNode(Hn,ni,Ci,ts):oa.createFunctionTypeNode(ni,Ci,ts);return St(Q(Ps,Me),Bn)}function Ou(){let Me=sn();return T()===24?void 0:Me}function dm(Me){let Bn=L();Me&&_e();let Hn=T()===110||T()===95||T()===104?sn():n_(T());return Me&&(Hn=Q(oa.createPrefixUnaryExpression(40,Hn),Bn)),Q(oa.createLiteralTypeNode(Hn),Bn)}function mm(){return _e(),T()===100}function nb(){let Me=L(),Hn=Bn.getTokenPos();de(18);let zn=Bn.hasPrecedingLineBreak();de(130),de(58);let ni=_p(!0);if(!de(19)){let Me=Cn(oA);Me&&Me.code===Sv._0_expected.code&&Rl(Me,Ro(xd,Hn,1,Sv.The_parser_expected_to_find_a_1_to_match_the_0_token_here,"{","}"))}return Q(oa.createImportTypeAssertionContainer(ni,zn),Me)}function Mu(){Td|=2097152;let Me=L(),Bn=Ot(112);de(100),de(20);let Hn=sr(),zn;Ot(27)&&(zn=nb()),de(21);let ni=Ot(24)?wu():void 0,Ci=Qs();return Q(oa.createImportTypeNode(Hn,zn,ni,Ci,Bn),Me)}function hm(){return _e(),T()===8||T()===9}function Lu(){switch(T()){case 131:case 157:case 152:case 148:case 160:case 153:case 134:case 155:case 144:case 149:return Tr(Ou)||Sc();case 66:Bn.reScanAsteriskEqualsToken();case 41:return Kd();case 60:Bn.reScanQuestionToken();case 57:return Xd();case 98:return K2();case 53:return $2();case 14:case 10:case 8:case 9:case 110:case 95:case 104:return dm();case 40:return wt(hm)?dm(!0):Sc();case 114:return sn();case 108:{let Me=$d();return T()===140&&!Bn.hasPrecedingLineBreak()?G2(Me):Me}case 112:return wt(mm)?Mu():X2();case 18:return wt(Z2)?eb():Q2();case 22:return um();case 20:return rb();case 100:return Mu();case 129:return wt(Qu)?Cm():Sc();case 15:return xu();default:return Sc()}}function eo(Me){switch(T()){case 131:case 157:case 152:case 148:case 160:case 134:case 146:case 153:case 156:case 114:case 155:case 104:case 108:case 112:case 144:case 18:case 22:case 29:case 51:case 50:case 103:case 10:case 8:case 9:case 110:case 95:case 149:case 41:case 57:case 53:case 25:case 138:case 100:case 129:case 14:case 15:return!0;case 98:return!Me;case 40:return!Me&&wt(hm);case 20:return!Me&&wt(gm);default:return kt()}}function gm(){return _e(),T()===21||Ec(!1)||eo()}function ym(){let Me=L(),Hn=Lu();for(;!Bn.hasPrecedingLineBreak();)switch(T()){case 53:_e(),Hn=Q(oa.createJSDocNonNullableType(Hn,!0),Me);break;case 57:if(wt(Jd))return Hn;_e(),Hn=Q(oa.createJSDocNullableType(Hn,!0),Me);break;case 22:if(de(22),eo()){let Bn=sr();de(23),Hn=Q(oa.createIndexedAccessTypeNode(Hn,Bn),Me)}else de(23),Hn=Q(oa.createArrayTypeNode(Hn),Me);break;default:return Hn}return Hn}function vm(Me){let Bn=L();return de(Me),Q(oa.createTypeOperatorNode(Me,Tm()),Bn)}function ib(){if(Ot(94)){let Me=Ln(sr);if(bs()||T()!==57)return Me}}function bm(){let Me=L(),Bn=wr(),Hn=Tr(ib),zn=oa.createTypeParameterDeclaration(void 0,Bn,Hn);return Q(zn,Me)}function ab(){let Me=L();return de(138),Q(oa.createInferTypeNode(bm()),Me)}function Tm(){let Me=T();switch(Me){case 141:case 156:case 146:return vm(Me);case 138:return ab()}return gr(ym)}function Cc(Me){if(ju()){let Bn=fm(),Hn;return $l(Bn)?Hn=Me?Sv.Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:Sv.Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:Hn=Me?Sv.Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:Sv.Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type,ie(Bn,Hn),Bn}}function Sm(Me,Bn,Hn){let zn=L(),ni=Me===51,Ci=Ot(Me),ts=Ci&&Cc(ni)||Bn();if(T()===Me||Ci){let Ci=[ts];for(;Ot(Me);)Ci.push(Cc(ni)||Bn());ts=Q(Hn(Er(Ci,zn)),zn)}return ts}function Ru(){return Sm(50,Tm,oa.createIntersectionTypeNode)}function sb(){return Sm(51,Ru,oa.createUnionTypeNode)}function xm(){return _e(),T()===103}function ju(){return T()===29||T()===20&&wt(Em)?!0:T()===103||T()===126&&wt(xm)}function ob(){if(Wi(T())&&ki(!1),kt()||T()===108)return _e(),!0;if(T()===22||T()===18){let Me=oA.length;return no(),Me===oA.length}return!1}function Em(){return _e(),!!(T()===21||T()===25||ob()&&(T()===58||T()===27||T()===57||T()===63||T()===21&&(_e(),T()===38)))}function Ju(){let Me=L(),Bn=kt()&&Tr(wm),Hn=sr();return Bn?Q(oa.createTypePredicateNode(void 0,Bn,Hn),Me):Hn}function wm(){let Me=wr();if(T()===140&&!Bn.hasPrecedingLineBreak())return _e(),Me}function Cm(){let Me=L(),Bn=ea(129),Hn=T()===108?$d():wr(),zn=Ot(140)?sr():void 0;return Q(oa.createTypePredicateNode(Bn,Hn,zn),Me)}function sr(){if(og&40960)return Ct(40960,sr);if(ju())return fm();let Me=L(),Hn=sb();if(!bs()&&!Bn.hasPrecedingLineBreak()&&Ot(94)){let Bn=Ln(sr);de(57);let zn=gr(sr);de(58);let ni=gr(sr);return Q(oa.createConditionalTypeNode(Hn,Bn,zn,ni),Me)}return Hn}function Ma(){return Ot(58)?sr():void 0}function Fu(){switch(T()){case 108:case 106:case 104:case 110:case 95:case 8:case 9:case 10:case 14:case 15:case 20:case 22:case 18:case 98:case 84:case 103:case 43:case 68:case 79:return!0;case 100:return wt(ku);default:return kt()}}function La(){if(Fu())return!0;switch(T()){case 39:case 40:case 54:case 53:case 89:case 112:case 114:case 45:case 46:case 29:case 133:case 125:case 80:case 59:return!0;default:return Jm()?!0:kt()}}function Am(){return T()!==18&&T()!==98&&T()!==84&&T()!==59&&La()}function Sr(){let Me=Ai();Me&&Re(!1);let Bn=L(),Hn=Yr(!0),zn;for(;zn=dr(27);)Hn=Uu(Hn,zn,Yr(!0),Bn);return Me&&Re(!0),Hn}function Ra(){return Ot(63)?Yr(!0):void 0}function Yr(Me){if(Pm())return Dm();let Bn=cb(Me)||Mm(Me);if(Bn)return Bn;let Hn=L(),zn=s_(0);return zn.kind===79&&T()===38?km(Hn,zn,Me,void 0):Do(zn)&&G_(bt())?Uu(zn,sn(),Yr(Me),Hn):lb(zn,Hn,Me)}function Pm(){return T()===125?Yi()?!0:wt(Zu):!1}function _b(){return _e(),!Bn.hasPrecedingLineBreak()&&kt()}function Dm(){let Me=L();return _e(),!Bn.hasPrecedingLineBreak()&&(T()===41||La())?Q(oa.createYieldExpression(dr(41),Yr(!0)),Me):Q(oa.createYieldExpression(void 0,void 0),Me)}function km(Me,Bn,Hn,zn){qp.assert(T()===38,"parseSimpleArrowFunctionExpression should only have been called if we had a =>");let ni=oa.createParameterDeclaration(void 0,void 0,Bn,void 0,void 0,void 0);Q(ni,Bn.pos);let Ci=Er([ni],ni.pos,ni.end),ts=ea(38),Ps=Bu(!!zn,Hn),aa=oa.createArrowFunction(zn,void 0,Ci,void 0,ts,Ps);return He(Q(aa,Me))}function cb(Me){let Bn=Im();if(Bn!==0)return Bn===1?Rm(!0,!0):Tr((()=>Om(Me)))}function Im(){return T()===20||T()===29||T()===132?wt(Nm):T()===38?1:0}function Nm(){if(T()===132&&(_e(),Bn.hasPrecedingLineBreak()||T()!==20&&T()!==29))return 0;let Me=T(),Hn=_e();if(Me===20){if(Hn===21)switch(_e()){case 38:case 58:case 18:return 1;default:return 0}if(Hn===22||Hn===18)return 2;if(Hn===25)return 1;if(Wi(Hn)&&Hn!==132&&wt(yc))return _e()===128?0:1;if(!kt()&&Hn!==108)return 0;switch(_e()){case 58:return 1;case 57:return _e(),T()===58||T()===27||T()===63||T()===21?1:0;case 27:case 63:case 21:return 2}return 0}else return qp.assert(Me===29),!kt()&&T()!==85?0:sA===1?wt((()=>{Ot(85);let Me=_e();if(Me===94)switch(_e()){case 63:case 31:case 43:return!1;default:return!0}else if(Me===27||Me===63)return!0;return!1}))?1:0:2}function Om(Me){let Hn=Bn.getTokenPos();if(ag!=null&&ag.has(Hn))return;let zn=Rm(!1,Me);return zn||(ag||(ag=new Set)).add(Hn),zn}function Mm(Me){if(T()===132&&wt(Lm)===1){let Bn=L(),Hn=sp(),zn=s_(0);return km(Bn,zn,Me,Hn)}}function Lm(){if(T()===132){if(_e(),Bn.hasPrecedingLineBreak()||T()===38)return 0;let Me=s_(0);if(!Bn.hasPrecedingLineBreak()&&Me.kind===79&&T()===38)return 1}return 0}function Rm(Me,Bn){let Hn=L(),zn=fe(),ni=sp(),Ci=Ke(ni,Ul)?2:0,ts=Xn(),Ps;if(de(20)){if(Me)Ps=wc(Ci,Me);else{let Bn=wc(Ci,Me);if(!Bn)return;Ps=Bn}if(!de(21)&&!Me)return}else{if(!Me)return;Ps=ui()}let aa=T()===58,ca=pi(58,!1);if(ca&&!Me&&Cu(ca))return;let _a=ca;for(;(_a==null?void 0:_a.kind)===193;)_a=_a.type;let xa=_a&&dd(_a);if(!Me&&T()!==38&&(xa||T()!==18))return;let Ga=T(),Ha=ea(38),so=Ga===38||Ga===18?Bu(Ke(ni,Ul),Bn):wr();if(!Bn&&aa&&T()!==58)return;let oo=oa.createArrowFunction(ni,ts,Ps,ca,Ha,so);return St(Q(oo,Hn),zn)}function Bu(Me,Bn){if(T()===18)return Dc(Me?2:0);if(T()!==26&&T()!==98&&T()!==84&&vh()&&!Am())return Dc(16|(Me?2:0));let Hn=ug;ug=!1;let zn=Me?Xi((()=>Yr(Bn))):Aa((()=>Yr(Bn)));return ug=Hn,zn}function lb(Me,Bn,zn){let ni=dr(57);if(!ni)return Me;let Ci;return Q(oa.createConditionalExpression(Me,ni,Ct(Hn,(()=>Yr(!1))),Ci=ea(58),xl(Ci)?Yr(zn):Jn(79,!1,Sv._0_expected,Br(58))),Bn)}function s_(Me){let Bn=L(),Hn=Wu();return qu(Me,Hn,Bn)}function jm(Me){return Me===101||Me===162}function qu(Me,Hn,zn){for(;;){bt();let ni=Dl(T());if(!(T()===42?ni>=Me:ni>Me)||T()===101&&Qi())break;if(T()===128||T()===150){if(Bn.hasPrecedingLineBreak())break;{let Me=T();_e(),Hn=Me===150?Fm(Hn,sr()):Bm(Hn,sr())}}else Hn=Uu(Hn,sn(),s_(ni),zn)}return Hn}function Jm(){return Qi()&&T()===101?!1:Dl(T())>0}function Fm(Me,Bn){return Q(oa.createSatisfiesExpression(Me,Bn),Me.pos)}function Uu(Me,Bn,Hn,zn){return Q(oa.createBinaryExpression(Me,Bn,Hn),zn)}function Bm(Me,Bn){return Q(oa.createAsExpression(Me,Bn),Me.pos)}function qm(){let Me=L();return Q(oa.createPrefixUnaryExpression(T(),mt(na)),Me)}function Um(){let Me=L();return Q(oa.createDeleteExpression(mt(na)),Me)}function ub(){let Me=L();return Q(oa.createTypeOfExpression(mt(na)),Me)}function zm(){let Me=L();return Q(oa.createVoidExpression(mt(na)),Me)}function pb(){return T()===133?xn()?!0:wt(Zu):!1}function zu(){let Me=L();return Q(oa.createAwaitExpression(mt(na)),Me)}function Wu(){if(Wm()){let Me=L(),Bn=Vm();return T()===42?qu(Dl(T()),Bn,Me):Bn}let Me=T(),Bn=na();if(T()===42){let Hn=Ar(Pd,Bn.pos),{end:zn}=Bn;Bn.kind===213?Z(Hn,zn,Sv.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses):Z(Hn,zn,Sv.An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses,Br(Me))}return Bn}function na(){switch(T()){case 39:case 40:case 54:case 53:return qm();case 89:return Um();case 112:return ub();case 114:return zm();case 29:return sA===1?o_(!0):Zm();case 133:if(pb())return zu();default:return Vm()}}function Wm(){switch(T()){case 39:case 40:case 54:case 53:case 89:case 112:case 114:case 133:return!1;case 29:if(sA!==1)return!1;default:return!0}}function Vm(){if(T()===45||T()===46){let Me=L();return Q(oa.createPrefixUnaryExpression(T(),mt(to)),Me)}else if(sA===1&&T()===29&&wt(F2))return o_(!0);let Me=to();if(qp.assert(Do(Me)),(T()===45||T()===46)&&!Bn.hasPrecedingLineBreak()){let Bn=T();return _e(),Q(oa.createPostfixUnaryExpression(Me,Bn),Me.pos)}return Me}function to(){let Me=L(),Bn;return T()===100?wt(a_)?(Td|=2097152,Bn=sn()):wt(Y2)?(_e(),_e(),Bn=Q(oa.createMetaProperty(100,zr()),Me),Td|=4194304):Bn=Hm():Bn=T()===106?Vu():Hm(),$u(Me,Bn)}function Hm(){let Me=L(),Bn=Ku();return Ja(Me,Bn,!0)}function Vu(){let Me=L(),Bn=sn();if(T()===29){let Me=L(),Hn=Tr(Pc);Hn!==void 0&&(Z(Me,L(),Sv.super_may_not_use_type_arguments),__()||(Bn=oa.createExpressionWithTypeArguments(Bn,Hn)))}return T()===20||T()===24||T()===22?Bn:(ea(24,Sv.super_must_be_followed_by_an_argument_list_or_member_access),Q(Jc(Bn,bc(!0,!0)),Me))}function o_(Me,Bn,Hn){let zn=L(),ni=Km(Me),Ci;if(ni.kind===283){let Bn=$m(ni),ts,Ps=Bn[Bn.length-1];if((Ps==null?void 0:Ps.kind)===281&&!Hi(Ps.openingElement.tagName,Ps.closingElement.tagName)&&Hi(ni.tagName,Ps.closingElement.tagName)){let Me=Ps.children.end,Hn=Q(oa.createJsxElement(Ps.openingElement,Ps.children,Q(oa.createJsxClosingElement(Q(oo(""),Me,Me)),Me,Me)),Ps.openingElement.pos,Me);Bn=Er([...Bn.slice(0,Bn.length-1),Hn],Bn.pos,Me),ts=Ps.closingElement}else ts=Qm(ni,Me),Hi(ni.tagName,ts.tagName)||(Hn&&tu(Hn)&&Hi(ts.tagName,Hn.tagName)?ie(ni.tagName,Sv.JSX_element_0_has_no_corresponding_closing_tag,B_(Pd,ni.tagName)):ie(ts.tagName,Sv.Expected_corresponding_JSX_closing_tag_for_0,B_(Pd,ni.tagName)));Ci=Q(oa.createJsxElement(ni,Bn,ts),zn)}else ni.kind===286?Ci=Q(oa.createJsxFragment(ni,$m(ni),gb(Me)),zn):(qp.assert(ni.kind===282),Ci=ni);if(Me&&T()===29){let Me=typeof Bn>"u"?Ci.pos:Bn,Hn=Tr((()=>o_(!0,Me)));if(Hn){let Bn=Jn(27,!1);return $f(Bn,Hn.pos,0),Z(Ar(Pd,Me),Hn.end,Sv.JSX_expressions_must_have_one_parent_element),Q(oa.createBinaryExpression(Ci,Bn,Hn),zn)}}return Ci}function fb(){let Me=L(),Hn=oa.createJsxText(Bn.getTokenValue(),tg===12);return tg=Bn.scanJsxToken(),Q(Hn,Me)}function Gm(Me,Bn){switch(Bn){case 1:if(u2(Me))ie(Me,Sv.JSX_fragment_has_no_corresponding_closing_tag);else{let Bn=Me.tagName,Hn=Ar(Pd,Bn.pos);Z(Hn,Bn.end,Sv.JSX_element_0_has_no_corresponding_closing_tag,B_(Pd,Me.tagName))}return;case 30:case 7:return;case 11:case 12:return fb();case 18:return Xm(!1);case 29:return o_(!1,void 0,Me);default:return qp.assertNever(Bn)}}function $m(Me){let Hn=[],zn=L(),ni=sg;for(sg|=1<<14;;){let zn=Gm(Me,tg=Bn.reScanJsxToken());if(!zn||(Hn.push(zn),tu(Me)&&(zn==null?void 0:zn.kind)===281&&!Hi(zn.openingElement.tagName,zn.closingElement.tagName)&&Hi(Me.tagName,zn.closingElement.tagName)))break}return sg=ni,Er(Hn,zn)}function db(){let Me=L();return Q(oa.createJsxAttributes(Kn(13,mb)),Me)}function Km(Me){let Bn=L();if(de(29),T()===31)return Lr(),Q(oa.createJsxOpeningFragment(),Bn);let Hn=Ac(),zn=og&262144?void 0:Nc(),ni=db(),Ci;return T()===31?(Lr(),Ci=oa.createJsxOpeningElement(Hn,zn,ni)):(de(43),de(31,void 0,!1)&&(Me?_e():Lr()),Ci=oa.createJsxSelfClosingElement(Hn,zn,ni)),Q(Ci,Bn)}function Ac(){let Me=L();Dr();let Bn=T()===108?sn():zr();for(;Ot(24);)Bn=Q(Jc(Bn,bc(!0,!1)),Me);return Bn}function Xm(Me){let Bn=L();if(!de(18))return;let Hn,zn;return T()!==19&&(Hn=dr(25),zn=Sr()),Me?de(19):de(19,void 0,!1)&&Lr(),Q(oa.createJsxExpression(Hn,zn),Bn)}function mb(){if(T()===18)return hb();Dr();let Me=L();return Q(oa.createJsxAttribute(zr(),Ym()),Me)}function Ym(){if(T()===63){if(yr()===10)return Di();if(T()===18)return Xm(!0);if(T()===29)return o_(!0);Dt(Sv.or_JSX_element_expected)}}function hb(){let Me=L();de(18),de(25);let Bn=Sr();return de(19),Q(oa.createJsxSpreadAttribute(Bn),Me)}function Qm(Me,Bn){let Hn=L();de(30);let zn=Ac();return de(31,void 0,!1)&&(Bn||!Hi(Me.tagName,zn)?_e():Lr()),Q(oa.createJsxClosingElement(zn),Hn)}function gb(Me){let Bn=L();return de(30),de(31,Sv.Expected_corresponding_closing_tag_for_JSX_fragment,!1)&&(Me?_e():Lr()),Q(oa.createJsxJsxClosingFragment(),Bn)}function Zm(){qp.assert(sA!==1,"Type assertions should never be parsed in JSX; they should be parsed as comparisons or JSX elements/fragments.");let Me=L();de(29);let Bn=sr();de(31);let Hn=na();return Q(oa.createTypeAssertion(Bn,Hn),Me)}function yb(){return _e(),fr(T())||T()===22||__()}function eh(){return T()===28&&wt(yb)}function Hu(Me){if(Me.flags&32)return!0;if(Uo(Me)){let Bn=Me.expression;for(;Uo(Bn)&&!(Bn.flags&32);)Bn=Bn.expression;if(Bn.flags&32){for(;Uo(Me);)Me.flags|=32,Me=Me.expression;return!0}}return!1}function fi(Me,Bn,Hn){let zn=bc(!0,!0),ni=Hn||Hu(Bn),Ci=ni?Dp(Bn,Hn,zn):Jc(Bn,zn);if(ni&&vn(Ci.name)&&ie(Ci.name,Sv.An_optional_chain_cannot_contain_private_identifiers),e2(Bn)&&Bn.typeArguments){let Me=Bn.typeArguments.pos-1,Hn=Ar(Pd,Bn.typeArguments.end)+1;Z(Me,Hn,Sv.An_instantiation_expression_cannot_be_followed_by_a_property_access)}return Q(Ci,Me)}function ja(Me,Bn,Hn){let zn;if(T()===23)zn=Jn(79,!0,Sv.An_element_access_expression_should_take_an_argument);else{let Me=It(Sr);Ta(Me)&&(Me.text=Ia(Me.text)),zn=Me}de(23);let ni=Hn||Hu(Bn)?Qp(Bn,Hn,zn):kp(Bn,zn);return Q(ni,Me)}function Ja(Me,Hn,zn){for(;;){let ni,Ci=!1;if(zn&&eh()?(ni=ea(28),Ci=fr(T())):Ci=Ot(24),Ci){Hn=fi(Me,Hn,ni);continue}if((ni||!Ai())&&Ot(22)){Hn=ja(Me,Hn,ni);continue}if(__()){Hn=!ni&&Hn.kind===230?Gu(Me,Hn.expression,ni,Hn.typeArguments):Gu(Me,Hn,ni,void 0);continue}if(!ni){if(T()===53&&!Bn.hasPrecedingLineBreak()){_e(),Hn=Q(oa.createNonNullExpression(Hn),Me);continue}let zn=Tr(Pc);if(zn){Hn=Q(oa.createExpressionWithTypeArguments(Hn,zn),Me);continue}}return Hn}}function __(){return T()===14||T()===15}function Gu(Me,Bn,Hn,zn){let ni=oa.createTaggedTemplateExpression(Bn,zn,T()===14?($t(),Di()):Wd(!0));return(Hn||Bn.flags&32)&&(ni.flags|=32),ni.questionDotToken=Hn,Q(ni,Me)}function $u(Me,Bn){for(;;){Bn=Ja(Me,Bn,!0);let Hn,zn=dr(28);if(zn&&(Hn=Tr(Pc),__())){Bn=Gu(Me,Bn,zn,Hn);continue}if(Hn||T()===20){!zn&&Bn.kind===230&&(Hn=Bn.typeArguments,Bn=Bn.expression);let ni=th(),Ci=zn||Hu(Bn)?Vp(Bn,zn,Hn,ni):Up(Bn,Hn,ni);Bn=Q(Ci,Me);continue}if(zn){let Hn=Jn(79,!1,Sv.Identifier_expected);Bn=Q(Dp(Bn,zn,Hn),Me)}break}return Bn}function th(){de(20);let Me=mn(11,ih);return de(21),Me}function Pc(){if(og&262144||Wt()!==29)return;_e();let Me=mn(20,sr);if(bt()===31)return _e(),Me&&vb()?Me:void 0}function vb(){switch(T()){case 20:case 14:case 15:return!0;case 29:case 31:case 39:case 40:return!1}return Bn.hasPrecedingLineBreak()||Jm()||!La()}function Ku(){switch(T()){case 8:case 9:case 10:case 14:return Di();case 108:case 106:case 104:case 110:case 95:return sn();case 20:return bb();case 22:return ah();case 18:return Xu();case 132:if(!wt(yh))break;return Yu();case 59:return Ub();case 84:return Ih();case 98:return Yu();case 103:return Tb();case 43:case 68:if(jt()===13)return Di();break;case 15:return Wd(!1);case 80:return gc()}return wr(Sv.Expression_expected)}function bb(){let Me=L(),Bn=fe();de(20);let Hn=It(Sr);return de(21),St(Q(Wp(Hn),Me),Bn)}function rh(){let Me=L();de(25);let Bn=Yr(!0);return Q(oa.createSpreadElement(Bn),Me)}function nh(){return T()===25?rh():T()===27?Q(oa.createOmittedExpression(),L()):Yr(!0)}function ih(){return Ct(Hn,nh)}function ah(){let Me=L(),Hn=Bn.getTokenPos(),zn=de(22),ni=Bn.hasPrecedingLineBreak(),Ci=mn(15,nh);return Ts(22,23,zn,Hn),Q(dc(Ci,ni),Me)}function sh(){let Me=L(),Bn=fe();if(dr(25)){let Hn=Yr(!0);return St(Q(oa.createSpreadAssignment(Hn),Me),Bn)}let Hn=ki(!0);if(Ks(137))return Fa(Me,Bn,Hn,174,0);if(Ks(151))return Fa(Me,Bn,Hn,175,0);let zn=dr(41),ni=kt(),Ci=Es(),ts=dr(57),Ps=dr(53);if(zn||T()===20||T()===29)return Ah(Me,Bn,Hn,zn,Ci,ts,Ps);let aa;if(ni&&T()!==58){let Me=dr(63),Bn=Me?It((()=>Yr(!0))):void 0;aa=oa.createShorthandPropertyAssignment(Ci,Bn),aa.equalsToken=Me}else{de(58);let Me=It((()=>Yr(!0)));aa=oa.createPropertyAssignment(Ci,Me)}return aa.modifiers=Hn,aa.questionToken=ts,aa.exclamationToken=Ps,St(Q(aa,Me),Bn)}function Xu(){let Me=L(),Hn=Bn.getTokenPos(),zn=de(18),ni=Bn.hasPrecedingLineBreak(),Ci=mn(12,sh,!0);return Ts(18,19,zn,Hn),Q(Fc(Ci,ni),Me)}function Yu(){let Me=Ai();Re(!1);let Bn=L(),Hn=fe(),zn=ki(!1);de(98);let ni=dr(41),Ci=ni?1:0,ts=Ke(zn,Ul)?2:0,Ps=Ci&&ts?vs(ro):Ci?ys(ro):ts?Xi(ro):ro(),aa=Xn(),ca=ra(Ci|ts),_a=pi(58,!1),xa=Dc(Ci|ts);Re(Me);let Ga=oa.createFunctionExpression(zn,ni,Ps,aa,ca,_a,xa);return St(Q(Ga,Bn),Hn)}function ro(){return Tt()?hc():void 0}function Tb(){let Me=L();if(de(103),Ot(24)){let Bn=zr();return Q(oa.createMetaProperty(103,Bn),Me)}let Bn=L(),Hn=Ja(Bn,Ku(),!1),zn;Hn.kind===230&&(zn=Hn.typeArguments,Hn=Hn.expression),T()===28&&Dt(Sv.Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0,B_(Pd,Hn));let ni=T()===20?th():void 0;return Q(Jp(Hn,zn,ni),Me)}function ws(Me,Hn){let zn=L(),ni=fe(),Ci=Bn.getTokenPos(),ts=de(18,Hn);if(ts||Me){let Me=Bn.hasPrecedingLineBreak(),Hn=Kn(1,on);Ts(18,19,ts,Ci);let Ps=St(Q(zp(Hn,Me),zn),ni);return T()===63&&(Dt(Sv.Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_whole_assignment_in_parentheses),_e()),Ps}else{let Me=ui();return St(Q(zp(Me,void 0),zn),ni)}}function Dc(Me,Bn){let Hn=Yi();Le(!!(Me&1));let zn=xn();ot(!!(Me&2));let ni=ug;ug=!1;let Ci=Ai();Ci&&Re(!1);let ts=ws(!!(Me&16),Bn);return Ci&&Re(!0),ug=ni,Le(Hn),ot(zn),ts}function oh(){let Me=L(),Bn=fe();return de(26),St(Q(oa.createEmptyStatement(),Me),Bn)}function Sb(){let Me=L(),Hn=fe();de(99);let zn=Bn.getTokenPos(),ni=de(20),Ci=It(Sr);Ts(20,21,ni,zn);let ts=on(),Ps=Ot(91)?on():void 0;return St(Q(Kf(Ci,ts,Ps),Me),Hn)}function _h(){let Me=L(),Hn=fe();de(90);let zn=on();de(115);let ni=Bn.getTokenPos(),Ci=de(20),ts=It(Sr);return Ts(20,21,Ci,ni),Ot(26),St(Q(oa.createDoStatement(zn,ts),Me),Hn)}function xb(){let Me=L(),Hn=fe();de(115);let zn=Bn.getTokenPos(),ni=de(20),Ci=It(Sr);Ts(20,21,ni,zn);let ts=on();return St(Q(Xf(Ci,ts),Me),Hn)}function ch(){let Me=L(),Bn=fe();de(97);let Hn=dr(133);de(20);let zn;T()!==26&&(T()===113||T()===119||T()===85?zn=Eh(!0):zn=Mr(Sr));let ni;if(Hn?de(162):Ot(162)){let Me=It((()=>Yr(!0)));de(21),ni=Cd(Hn,zn,Me,on())}else if(Ot(101)){let Me=It(Sr);de(21),ni=oa.createForInStatement(zn,Me,on())}else{de(26);let Me=T()!==26&&T()!==21?It(Sr):void 0;de(26);let Bn=T()!==21?It(Sr):void 0;de(21),ni=Ad(zn,Me,Bn,on())}return St(Q(ni,Me),Bn)}function lh(Me){let Bn=L(),Hn=fe();de(Me===249?81:86);let zn=ka()?void 0:wr();En();let ni=Me===249?oa.createBreakStatement(zn):oa.createContinueStatement(zn);return St(Q(ni,Bn),Hn)}function uh(){let Me=L(),Bn=fe();de(105);let Hn=ka()?void 0:It(Sr);return En(),St(Q(oa.createReturnStatement(Hn),Me),Bn)}function Eb(){let Me=L(),Hn=fe();de(116);let zn=Bn.getTokenPos(),ni=de(20),Ci=It(Sr);Ts(20,21,ni,zn);let ts=Mt(33554432,on);return St(Q(oa.createWithStatement(Ci,ts),Me),Hn)}function wb(){let Me=L(),Bn=fe();de(82);let Hn=It(Sr);de(58);let zn=Kn(3,on);return St(Q(oa.createCaseClause(Hn,zn),Me),Bn)}function ph(){let Me=L();de(88),de(58);let Bn=Kn(3,on);return Q(oa.createDefaultClause(Bn),Me)}function Cb(){return T()===82?wb():ph()}function fh(){let Me=L();de(18);let Bn=Kn(2,Cb);return de(19),Q(oa.createCaseBlock(Bn),Me)}function Ab(){let Me=L(),Bn=fe();de(107),de(20);let Hn=It(Sr);de(21);let zn=fh();return St(Q(oa.createSwitchStatement(Hn,zn),Me),Bn)}function dh(){let Me=L(),Hn=fe();de(109);let zn=Bn.hasPrecedingLineBreak()?void 0:It(Sr);return zn===void 0&&(ig++,zn=Q(oo(""),L())),t_()||Zi(zn),St(Q(oa.createThrowStatement(zn),Me),Hn)}function Pb(){let Me=L(),Bn=fe();de(111);let Hn=ws(!1),zn=T()===83?mh():void 0,ni;return(!zn||T()===96)&&(de(96,Sv.catch_or_finally_expected),ni=ws(!1)),St(Q(oa.createTryStatement(Hn,zn,ni),Me),Bn)}function mh(){let Me=L();de(83);let Bn;Ot(20)?(Bn=Ic(),de(21)):Bn=void 0;let Hn=ws(!1);return Q(oa.createCatchClause(Bn,Hn),Me)}function Db(){let Me=L(),Bn=fe();return de(87),En(),St(Q(oa.createDebuggerStatement(),Me),Bn)}function hh(){let Me=L(),Bn=fe(),Hn,zn=T()===20,ni=It(Sr);return yt(ni)&&Ot(58)?Hn=oa.createLabeledStatement(ni,on()):(t_()||Zi(ni),Hn=Yf(ni),zn&&(Bn=!1)),St(Q(Hn,Me),Bn)}function Qu(){return _e(),fr(T())&&!Bn.hasPrecedingLineBreak()}function gh(){return _e(),T()===84&&!Bn.hasPrecedingLineBreak()}function yh(){return _e(),T()===98&&!Bn.hasPrecedingLineBreak()}function Zu(){return _e(),(fr(T())||T()===8||T()===9||T()===10)&&!Bn.hasPrecedingLineBreak()}function kb(){for(;;)switch(T()){case 113:case 119:case 85:case 98:case 84:case 92:return!0;case 118:case 154:return _b();case 142:case 143:return Ob();case 126:case 127:case 132:case 136:case 121:case 122:case 123:case 146:if(_e(),Bn.hasPrecedingLineBreak())return!1;continue;case 159:return _e(),T()===18||T()===79||T()===93;case 100:return _e(),T()===10||T()===41||T()===18||fr(T());case 93:let Me=_e();if(Me===154&&(Me=wt(_e)),Me===63||Me===41||Me===18||Me===88||Me===128||Me===59)return!0;continue;case 124:_e();continue;default:return!1}}function c_(){return wt(kb)}function vh(){switch(T()){case 59:case 26:case 18:case 113:case 119:case 98:case 84:case 92:case 99:case 90:case 115:case 97:case 86:case 81:case 105:case 116:case 107:case 109:case 111:case 87:case 83:case 96:return!0;case 100:return c_()||wt(ku);case 85:case 93:return c_();case 132:case 136:case 118:case 142:case 143:case 154:case 159:return!0;case 127:case 123:case 121:case 122:case 124:case 146:return c_()||!wt(Qu);default:return La()}}function bh(){return _e(),Tt()||T()===18||T()===22}function Ib(){return wt(bh)}function on(){switch(T()){case 26:return oh();case 18:return ws(!1);case 113:return rp(L(),fe(),void 0);case 119:if(Ib())return rp(L(),fe(),void 0);break;case 98:return np(L(),fe(),void 0);case 84:return Nh(L(),fe(),void 0);case 99:return Sb();case 90:return _h();case 115:return xb();case 97:return ch();case 86:return lh(248);case 81:return lh(249);case 105:return uh();case 116:return Eb();case 107:return Ab();case 109:return dh();case 111:case 83:case 96:return Pb();case 87:return Db();case 59:return ep();case 132:case 118:case 154:case 142:case 143:case 136:case 85:case 92:case 93:case 100:case 121:case 122:case 123:case 126:case 127:case 124:case 146:case 159:if(c_())return ep();break}return hh()}function Th(Me){return Me.kind===136}function ep(){let Me=L(),Bn=fe(),Hn=ki(!0);if(Ke(Hn,Th)){let zn=Nb(Me);if(zn)return zn;for(let Me of Hn)Me.flags|=16777216;return Mt(16777216,(()=>l_(Me,Bn,Hn)))}else return l_(Me,Bn,Hn)}function Nb(Me){return Mt(16777216,(()=>{let Bn=mu(sg,Me);if(Bn)return hu(Bn)}))}function l_(Me,Bn,Hn){switch(T()){case 113:case 119:case 85:return rp(Me,Bn,Hn);case 98:return np(Me,Bn,Hn);case 84:return Nh(Me,Bn,Hn);case 118:return Hb(Me,Bn,Hn);case 154:return Gb(Me,Bn,Hn);case 92:return Kb(Me,Bn,Hn);case 159:case 142:case 143:return Fh(Me,Bn,Hn);case 100:return Qb(Me,Bn,Hn);case 93:switch(_e(),T()){case 88:case 63:return _6(Me,Bn,Hn);case 128:return Yb(Me,Bn,Hn);default:return o6(Me,Bn,Hn)}default:if(Hn){let Bn=Jn(279,!0,Sv.Declaration_expected);return Gf(Bn,Me),Bn.modifiers=Hn,Bn}return}}function Ob(){return _e(),!Bn.hasPrecedingLineBreak()&&(kt()||T()===10)}function kc(Me,Bn){if(T()!==18){if(Me&4){i_();return}if(ka()){En();return}}return Dc(Me,Bn)}function Mb(){let Me=L();if(T()===27)return Q(oa.createOmittedExpression(),Me);let Bn=dr(25),Hn=no(),zn=Ra();return Q(oa.createBindingElement(Bn,void 0,Hn,zn),Me)}function Sh(){let Me=L(),Bn=dr(25),Hn=Tt(),zn=Es(),ni;Hn&&T()!==58?(ni=zn,zn=void 0):(de(58),ni=no());let Ci=Ra();return Q(oa.createBindingElement(Bn,zn,ni,Ci),Me)}function Lb(){let Me=L();de(18);let Bn=mn(9,Sh);return de(19),Q(oa.createObjectBindingPattern(Bn),Me)}function xh(){let Me=L();de(22);let Bn=mn(10,Mb);return de(23),Q(oa.createArrayBindingPattern(Bn),Me)}function tp(){return T()===18||T()===22||T()===80||Tt()}function no(Me){return T()===22?xh():T()===18?Lb():hc(Me)}function Rb(){return Ic(!0)}function Ic(Me){let Hn=L(),zn=fe(),ni=no(Sv.Private_identifiers_are_not_allowed_in_variable_declarations),Ci;Me&&ni.kind===79&&T()===53&&!Bn.hasPrecedingLineBreak()&&(Ci=sn());let ts=Ma(),Ps=jm(T())?void 0:Ra(),aa=wd(ni,Ci,ts,Ps);return St(Q(aa,Hn),zn)}function Eh(Me){let Bn=L(),Hn=0;switch(T()){case 113:break;case 119:Hn|=1;break;case 85:Hn|=2;break;default:qp.fail()}_e();let zn;if(T()===162&&wt(wh))zn=ui();else{let Bn=Qi();xe(Me),zn=mn(8,Me?Ic:Rb),xe(Bn)}return Q(Sd(zn,Hn),Bn)}function wh(){return yc()&&_e()===21}function rp(Me,Bn,Hn){let zn=Eh(!1);En();let ni=Qf(Hn,zn);return St(Q(ni,Me),Bn)}function np(Me,Bn,Hn){let zn=xn(),ni=Vn(Hn);de(98);let Ci=dr(41),ts=ni&1024?ro():hc(),Ps=Ci?1:0,aa=ni&512?2:0,ca=Xn();ni&1&&ot(!0);let _a=ra(Ps|aa),xa=pi(58,!1),Ga=kc(Ps|aa,Sv.or_expected);ot(zn);let Ha=oa.createFunctionDeclaration(Hn,Ci,ts,ca,_a,xa,Ga);return St(Q(Ha,Me),Bn)}function jb(){if(T()===135)return de(135);if(T()===10&&wt(_e)===20)return Tr((()=>{let Me=Di();return Me.text==="constructor"?Me:void 0}))}function Ch(Me,Bn,Hn){return Tr((()=>{if(jb()){let zn=Xn(),ni=ra(0),Ci=pi(58,!1),ts=kc(0,Sv.or_expected),Ps=oa.createConstructorDeclaration(Hn,ni,ts);return Ps.typeParameters=zn,Ps.type=Ci,St(Q(Ps,Me),Bn)}}))}function Ah(Me,Bn,Hn,zn,ni,Ci,ts,Ps){let aa=zn?1:0,ca=Ke(Hn,Ul)?2:0,_a=Xn(),xa=ra(aa|ca),Ga=pi(58,!1),Ha=kc(aa|ca,Ps),so=oa.createMethodDeclaration(Hn,zn,ni,Ci,_a,xa,Ga,Ha);return so.exclamationToken=ts,St(Q(so,Me),Bn)}function ip(Me,Hn,zn,ni,Ci){let ts=!Ci&&!Bn.hasPrecedingLineBreak()?dr(53):void 0,Ps=Ma(),aa=Ct(45056,Ra);mc(ni,Ps,aa);let ca=oa.createPropertyDeclaration(zn,ni,Ci||ts,Ps,aa);return St(Q(ca,Me),Hn)}function Ph(Me,Bn,Hn){let zn=dr(41),ni=Es(),Ci=dr(57);return zn||T()===20||T()===29?Ah(Me,Bn,Hn,zn,ni,Ci,void 0,Sv.or_expected):ip(Me,Bn,Hn,ni,Ci)}function Fa(Me,Bn,Hn,zn,ni){let Ci=Es(),ts=Xn(),Ps=ra(0),aa=pi(58,!1),ca=kc(ni),_a=zn===174?oa.createGetAccessorDeclaration(Hn,Ci,Ps,aa,ca):oa.createSetAccessorDeclaration(Hn,Ci,Ps,ca);return _a.typeParameters=ts,ic(_a)&&(_a.type=aa),St(Q(_a,Me),Bn)}function Jb(){let Me;if(T()===59)return!0;for(;Wi(T());){if(Me=T(),VS(Me))return!0;_e()}if(T()===41||(xs()&&(Me=T(),_e()),T()===22))return!0;if(Me!==void 0){if(!ba(Me)||Me===151||Me===137)return!0;switch(T()){case 20:case 29:case 53:case 58:case 63:case 57:return!0;default:return ka()}}return!1}function Fb(Me,Bn,Hn){ea(124);let zn=Dh(),ni=St(Q(oa.createClassStaticBlockDeclaration(zn),Me),Bn);return ni.modifiers=Hn,ni}function Dh(){let Me=Yi(),Bn=xn();Le(!1),ot(!0);let Hn=ws(!1);return Le(Me),ot(Bn),Hn}function Bb(){if(xn()&&T()===133){let Me=L(),Bn=wr(Sv.Expression_expected);_e();let Hn=Ja(Me,Bn,!0);return $u(Me,Hn)}return to()}function kh(){let Me=L();if(!Ot(59))return;let Bn=ci(Bb);return Q(oa.createDecorator(Bn),Me)}function ap(Me,Bn,Hn){let zn=L(),ni=T();if(T()===85&&Bn){if(!Tr(uu))return}else{if(Hn&&T()===124&&wt(Mc))return;if(Me&&T()===124)return;if(!Md())return}return Q(tc(ni),zn)}function ki(Me,Bn,Hn){let zn=L(),ni,Ci,ts,Ps=!1,aa=!1,oa=!1;if(Me&&T()===59)for(;Ci=kh();)ni=tr(ni,Ci);for(;ts=ap(Ps,Bn,Hn);)ts.kind===124&&(Ps=!0),ni=tr(ni,ts),aa=!0;if(aa&&Me&&T()===59)for(;Ci=kh();)ni=tr(ni,Ci),oa=!0;if(oa)for(;ts=ap(Ps,Bn,Hn);)ts.kind===124&&(Ps=!0),ni=tr(ni,ts);return ni&&Er(ni,zn)}function sp(){let Me;if(T()===132){let Bn=L();_e();let Hn=Q(tc(132),Bn);Me=Er([Hn],Bn)}return Me}function qb(){let Me=L();if(T()===26)return _e(),Q(oa.createSemicolonClassElement(),Me);let Bn=fe(),Hn=ki(!0,!0,!0);if(T()===124&&wt(Mc))return Fb(Me,Bn,Hn);if(Ks(137))return Fa(Me,Bn,Hn,174,0);if(Ks(151))return Fa(Me,Bn,Hn,175,0);if(T()===135||T()===10){let zn=Ch(Me,Bn,Hn);if(zn)return zn}if(im())return am(Me,Bn,Hn);if(fr(T())||T()===10||T()===8||T()===41||T()===22)if(Ke(Hn,Th)){for(let Me of Hn)Me.flags|=16777216;return Mt(16777216,(()=>Ph(Me,Bn,Hn)))}else return Ph(Me,Bn,Hn);if(Hn){let zn=Jn(79,!0,Sv.Declaration_expected);return ip(Me,Bn,Hn,zn,void 0)}return qp.fail("Should not have attempted to parse class member declaration.")}function Ub(){let Me=L(),Bn=fe(),Hn=ki(!0);if(T()===84)return op(Me,Bn,Hn,228);let zn=Jn(279,!0,Sv.Expression_expected);return Gf(zn,Me),zn.modifiers=Hn,zn}function Ih(){return op(L(),fe(),void 0,228)}function Nh(Me,Bn,Hn){return op(Me,Bn,Hn,260)}function op(Me,Bn,Hn,zn){let ni=xn();de(84);let Ci=Oh(),ts=Xn();Ke(Hn,N8)&&ot(!0);let Ps=Mh(),aa;de(18)?(aa=Vb(),de(19)):aa=ui(),ot(ni);let ca=zn===260?oa.createClassDeclaration(Hn,Ci,ts,Ps,aa):oa.createClassExpression(Hn,Ci,ts,Ps,aa);return St(Q(ca,Me),Bn)}function Oh(){return Tt()&&!zb()?Ss(Tt()):void 0}function zb(){return T()===117&&wt(pu)}function Mh(){if(Oc())return Kn(22,Lh)}function Lh(){let Me=L(),Bn=T();qp.assert(Bn===94||Bn===117),_e();let Hn=mn(7,Wb);return Q(oa.createHeritageClause(Bn,Hn),Me)}function Wb(){let Me=L(),Bn=to();if(Bn.kind===230)return Bn;let Hn=Nc();return Q(oa.createExpressionWithTypeArguments(Bn,Hn),Me)}function Nc(){return T()===29?Oa(20,sr,29,31):void 0}function Oc(){return T()===94||T()===117}function Vb(){return Kn(5,qb)}function Hb(Me,Bn,Hn){de(118);let zn=wr(),ni=Xn(),Ci=Mh(),ts=Iu(),Ps=oa.createInterfaceDeclaration(Hn,zn,ni,Ci,ts);return St(Q(Ps,Me),Bn)}function Gb(Me,Bn,Hn){de(154);let zn=wr(),ni=Xn();de(63);let Ci=T()===139&&Tr(Ou)||sr();En();let ts=oa.createTypeAliasDeclaration(Hn,zn,ni,Ci);return St(Q(ts,Me),Bn)}function $b(){let Me=L(),Bn=fe(),Hn=Es(),zn=It(Ra);return St(Q(oa.createEnumMember(Hn,zn),Me),Bn)}function Kb(Me,Bn,Hn){de(92);let zn=wr(),ni;de(18)?(ni=$s((()=>mn(6,$b))),de(19)):ni=ui();let Ci=oa.createEnumDeclaration(Hn,zn,ni);return St(Q(Ci,Me),Bn)}function Rh(){let Me=L(),Bn;return de(18)?(Bn=Kn(1,on),de(19)):Bn=ui(),Q(oa.createModuleBlock(Bn),Me)}function jh(Me,Bn,Hn,zn){let ni=zn&16,Ci=wr(),ts=Ot(24)?jh(L(),!1,void 0,4|ni):Rh(),Ps=oa.createModuleDeclaration(Hn,Ci,ts,zn);return St(Q(Ps,Me),Bn)}function Jh(Me,Bn,Hn){let zn=0,ni;T()===159?(ni=wr(),zn|=1024):(ni=Di(),ni.text=Ia(ni.text));let Ci;T()===18?Ci=Rh():En();let ts=oa.createModuleDeclaration(Hn,ni,Ci,zn);return St(Q(ts,Me),Bn)}function Fh(Me,Bn,Hn){let zn=0;if(T()===159)return Jh(Me,Bn,Hn);if(Ot(143))zn|=16;else if(de(142),T()===10)return Jh(Me,Bn,Hn);return jh(Me,Bn,Hn,zn)}function Bh(){return T()===147&&wt(qh)}function qh(){return _e()===20}function Mc(){return _e()===18}function Xb(){return _e()===43}function Yb(Me,Bn,Hn){de(128),de(143);let zn=wr();En();let ni=oa.createNamespaceExportDeclaration(zn);return ni.modifiers=Hn,St(Q(ni,Me),Bn)}function Qb(Me,Hn,zn){de(100);let ni=Bn.getStartPos(),Ci;kt()&&(Ci=wr());let ts=!1;if(T()!==158&&(Ci==null?void 0:Ci.escapedText)==="type"&&(kt()||Zb())&&(ts=!0,Ci=kt()?wr():void 0),Ci&&!e6())return t6(Me,Hn,zn,Ci,ts);let Ps;(Ci||T()===41||T()===18)&&(Ps=r6(Ci,ni,ts),de(158));let aa=Lc(),ca;T()===130&&!Bn.hasPrecedingLineBreak()&&(ca=_p()),En();let _a=oa.createImportDeclaration(zn,Ps,aa,ca);return St(Q(_a,Me),Hn)}function Uh(){let Me=L(),Bn=fr(T())?zr():n_(10);de(58);let Hn=Yr(!0);return Q(oa.createAssertEntry(Bn,Hn),Me)}function _p(Me){let Hn=L();Me||de(130);let zn=Bn.getTokenPos();if(de(18)){let Me=Bn.hasPrecedingLineBreak(),ni=mn(24,Uh,!0);if(!de(19)){let Me=Cn(oA);Me&&Me.code===Sv._0_expected.code&&Rl(Me,Ro(xd,zn,1,Sv.The_parser_expected_to_find_a_1_to_match_the_0_token_here,"{","}"))}return Q(oa.createAssertClause(ni,Me),Hn)}else{let Me=Er([],L(),void 0,!1);return Q(oa.createAssertClause(Me,!1),Hn)}}function Zb(){return T()===41||T()===18}function e6(){return T()===27||T()===158}function t6(Me,Bn,Hn,zn,ni){de(63);let Ci=cp();En();let ts=oa.createImportEqualsDeclaration(Hn,ni,zn,Ci);return St(Q(ts,Me),Bn)}function r6(Me,Bn,Hn){let zn;return(!Me||Ot(27))&&(zn=T()===41?Rc():zh(272)),Q(oa.createImportClause(Hn,Me,zn),Bn)}function cp(){return Bh()?n6():Ys(!1)}function n6(){let Me=L();de(147),de(20);let Bn=Lc();return de(21),Q(oa.createExternalModuleReference(Bn),Me)}function Lc(){if(T()===10){let Me=Di();return Me.text=Ia(Me.text),Me}else return Sr()}function Rc(){let Me=L();de(41),de(128);let Bn=wr();return Q(oa.createNamespaceImport(Bn),Me)}function zh(Me){let Bn=L(),Hn=Me===272?oa.createNamedImports(Oa(23,a6,18,19)):oa.createNamedExports(Oa(23,i6,18,19));return Q(Hn,Bn)}function i6(){let Me=fe();return St(Ba(278),Me)}function a6(){return Ba(273)}function Ba(Me){let Hn=L(),zn=ba(T())&&!kt(),ni=Bn.getTokenPos(),Ci=Bn.getTextPos(),ts=!1,Ps,aa=!0,ca=zr();if(ca.escapedText==="type")if(T()===128){let Me=zr();if(T()===128){let Bn=zr();fr(T())?(ts=!0,Ps=Me,ca=lt(),aa=!1):(Ps=ca,ca=Bn,aa=!1)}else fr(T())?(Ps=ca,aa=!1,ca=lt()):(ts=!0,ca=Me)}else fr(T())&&(ts=!0,ca=lt());aa&&T()===128&&(Ps=ca,de(128),ca=lt()),Me===273&&zn&&Z(ni,Ci,Sv.Identifier_expected);let _a=Me===273?oa.createImportSpecifier(ts,Ps,ca):oa.createExportSpecifier(ts,Ps,ca);return Q(_a,Hn);function lt(){return zn=ba(T())&&!kt(),ni=Bn.getTokenPos(),Ci=Bn.getTextPos(),zr()}}function s6(Me){return Q(oa.createNamespaceExport(zr()),Me)}function o6(Me,Hn,zn){let ni=xn();ot(!0);let Ci,ts,Ps,aa=Ot(154),ca=L();Ot(41)?(Ot(128)&&(Ci=s6(ca)),de(158),ts=Lc()):(Ci=zh(276),(T()===158||T()===10&&!Bn.hasPrecedingLineBreak())&&(de(158),ts=Lc())),ts&&T()===130&&!Bn.hasPrecedingLineBreak()&&(Ps=_p()),En(),ot(ni);let _a=oa.createExportDeclaration(zn,aa,Ci,ts,Ps);return St(Q(_a,Me),Hn)}function _6(Me,Bn,Hn){let zn=xn();ot(!0);let ni;Ot(63)?ni=!0:de(88);let Ci=Yr(!0);En(),ot(zn);let ts=oa.createExportAssignment(Hn,ni,Ci);return St(Q(ts,Me),Bn)}let fg;(Me=>{Me[Me.SourceElements=0]="SourceElements",Me[Me.BlockStatements=1]="BlockStatements",Me[Me.SwitchClauses=2]="SwitchClauses",Me[Me.SwitchClauseStatements=3]="SwitchClauseStatements",Me[Me.TypeMembers=4]="TypeMembers",Me[Me.ClassMembers=5]="ClassMembers",Me[Me.EnumMembers=6]="EnumMembers",Me[Me.HeritageClauseElement=7]="HeritageClauseElement",Me[Me.VariableDeclarations=8]="VariableDeclarations",Me[Me.ObjectBindingElements=9]="ObjectBindingElements",Me[Me.ArrayBindingElements=10]="ArrayBindingElements",Me[Me.ArgumentExpressions=11]="ArgumentExpressions",Me[Me.ObjectLiteralMembers=12]="ObjectLiteralMembers",Me[Me.JsxAttributes=13]="JsxAttributes",Me[Me.JsxChildren=14]="JsxChildren",Me[Me.ArrayLiteralMembers=15]="ArrayLiteralMembers",Me[Me.Parameters=16]="Parameters",Me[Me.JSDocParameters=17]="JSDocParameters",Me[Me.RestProperties=18]="RestProperties",Me[Me.TypeParameters=19]="TypeParameters",Me[Me.TypeArguments=20]="TypeArguments",Me[Me.TupleElementTypes=21]="TupleElementTypes",Me[Me.HeritageClauses=22]="HeritageClauses",Me[Me.ImportOrExportSpecifiers=23]="ImportOrExportSpecifiers",Me[Me.AssertEntries=24]="AssertEntries",Me[Me.Count=25]="Count"})(fg||(fg={}));let dg;(Me=>{Me[Me.False=0]="False",Me[Me.True=1]="True",Me[Me.Unknown=2]="Unknown"})(dg||(dg={}));let hg;(Me=>{function b(Me,Hn,zn){Mn("file.js",Me,99,void 0,1),Bn.setText(Me,Hn,zn),tg=Bn.scan();let ni=O(),Ci=Kt("file.js",99,1,!1,[],tc(1),0,yn),ts=qs(oA,Ci);return hA&&(Ci.jsDocDiagnostics=qs(hA,Ci)),_i(),ni?{jsDocTypeExpression:ni,diagnostics:ts}:void 0}Me.parseJSDocTypeExpressionForTests=b;function O(Me){let Bn=L(),Hn=(Me?Ot:de)(18),zn=Mt(8388608,xc);(!Me||Hn)&&Da(19);let ni=oa.createJSDocTypeExpression(zn);return ft(ni),Q(ni,Bn)}Me.parseJSDocTypeExpression=O;function j(){let Me=L(),Bn=Ot(18),Hn=L(),zn=Ys(!1);for(;T()===80;)Xr(),Ge(),zn=Q(oa.createJSDocMemberName(zn,wr()),Hn);Bn&&Da(19);let ni=oa.createJSDocNameReference(zn);return ft(ni),Q(ni,Me)}Me.parseJSDocNameReference=j;function z(Me,Bn,Hn){Mn("",Me,99,void 0,1);let zn=Mt(8388608,(()=>We(Bn,Hn))),ni=qs(oA,{languageVariant:0,text:Me});return _i(),zn?{jsDoc:zn,diagnostics:ni}:void 0}Me.parseIsolatedJSDocComment=z;function re(Me,Bn,Hn){let zn=tg,ni=oA.length,Ci=cg,ts=Mt(8388608,(()=>We(Bn,Hn)));return Sa(ts,Me),og&262144&&(hA||(hA=[]),hA.push(...oA)),tg=zn,oA.length=ni,cg=Ci,ts}Me.parseJSDocComment=re;let Hn;(Me=>{Me[Me.BeginningOfLine=0]="BeginningOfLine",Me[Me.SawAsterisk=1]="SawAsterisk",Me[Me.SavingComments=2]="SavingComments",Me[Me.SavingBackticks=3]="SavingBackticks"})(Hn||(Hn={}));let zn;(Me=>{Me[Me.Property=1]="Property",Me[Me.Parameter=2]="Parameter",Me[Me.CallbackParameter=4]="CallbackParameter"})(zn||(zn={}));function We(){let Me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,Hn=arguments.length>1?arguments[1]:void 0,zn=Pd,ni=Hn===void 0?zn.length:Me+Hn;if(Hn=ni-Me,qp.assert(Me>=0),qp.assert(Me<=ni),qp.assert(ni<=zn.length),!LE(zn,Me))return;let Ci,ts,Ps,aa,ca,_a=[],xa=[];return Bn.scanRange(Me+3,Hn-5,(()=>{let Hn=1,Ga,Ha=Me-(zn.lastIndexOf(`\n`,Me)+1)+4;function Ue(Me){Ga||(Ga=Ha),_a.push(Me),Ha+=Me.length}for(Ge();u_(5););u_(4)&&(Hn=0,Ha=0);e:for(;;){switch(T()){case 59:Hn===0||Hn===1?(lp(_a),ca||(ca=L()),za(up(Ha)),Hn=0,Ga=void 0):Ue(Bn.getTokenText());break;case 4:_a.push(Bn.getTokenText()),Hn=0,Ha=0;break;case 41:let zn=Bn.getTokenText();Hn===1||Hn===2?(Hn=2,Ue(zn)):(Hn=1,Ha+=zn.length);break;case 5:let ni=Bn.getTokenText();Hn===2?_a.push(ni):Ga!==void 0&&Ha+ni.length>Ga&&_a.push(ni.slice(Ga-Ha)),Ha+=ni.length;break;case 1:break e;case 18:Hn=2;let Ci=Bn.getStartPos(),ts=Bn.getTextPos()-1,Ps=$h(ts);if(Ps){aa||Hh(_a),xa.push(Q(oa.createJSDocText(_a.join("")),aa!=null?aa:Me,Ci)),xa.push(Ps),_a=[],aa=Bn.getTextPos();break}default:Hn=2,Ue(Bn.getTokenText());break}Ge()}lp(_a),xa.length&&_a.length&&xa.push(Q(oa.createJSDocText(_a.join("")),aa!=null?aa:Me,ca)),xa.length&&Ci&&qp.assertIsDefined(ca,"having parsed tags implies that the end of the comment span should be set");let so=Ci&&Er(Ci,ts,Ps);return Q(oa.createJSDocComment(xa.length?Er(xa,Me,ca):_a.length?_a.join(""):void 0,so),Me,ni)}));function Hh(Me){for(;Me.length&&(Me[0]===`\n`||Me[0]==="\r");)Me.shift()}function lp(Me){for(;Me.length&&Me[Me.length-1].trim()==="";)Me.pop()}function Gh(){for(;;){if(Ge(),T()===1)return!0;if(!(T()===5||T()===4))return!1}}function wn(){if(!((T()===5||T()===4)&&wt(Gh)))for(;T()===5||T()===4;)Ge()}function Ua(){if((T()===5||T()===4)&&wt(Gh))return"";let Me=Bn.hasPrecedingLineBreak(),Hn=!1,zn="";for(;Me&&T()===41||T()===5||T()===4;)zn+=Bn.getTokenText(),T()===4?(Me=!0,Hn=!0,zn=""):T()===41&&(Me=!1),Ge();return Hn?zn:""}function up(Me){qp.assert(T()===59);let Hn=Bn.getTokenPos();Ge();let zn=ao(void 0),ni=Ua(),Ci;switch(zn.escapedText){case"author":Ci=V(Hn,zn,Me,ni);break;case"implements":Ci=et(Hn,zn,Me,ni);break;case"augments":case"extends":Ci=ht(Hn,zn,Me,ni);break;case"class":case"constructor":Ci=Oi(Hn,oa.createJSDocClassTag,zn,Me,ni);break;case"public":Ci=Oi(Hn,oa.createJSDocPublicTag,zn,Me,ni);break;case"private":Ci=Oi(Hn,oa.createJSDocPrivateTag,zn,Me,ni);break;case"protected":Ci=Oi(Hn,oa.createJSDocProtectedTag,zn,Me,ni);break;case"readonly":Ci=Oi(Hn,oa.createJSDocReadonlyTag,zn,Me,ni);break;case"override":Ci=Oi(Hn,oa.createJSDocOverrideTag,zn,Me,ni);break;case"deprecated":lg=!0,Ci=Oi(Hn,oa.createJSDocDeprecatedTag,zn,Me,ni);break;case"this":Ci=qB(Hn,zn,Me,ni);break;case"enum":Ci=UB(Hn,zn,Me,ni);break;case"arg":case"argument":case"param":return Xh(Hn,zn,2,Me);case"return":case"returns":Ci=o(Hn,zn,Me,ni);break;case"template":Ci=QB(Hn,zn,Me,ni);break;case"type":Ci=l(Hn,zn,Me,ni);break;case"typedef":Ci=zB(Hn,zn,Me,ni);break;case"callback":Ci=VB(Hn,zn,Me,ni);break;case"overload":Ci=HB(Hn,zn,Me,ni);break;case"satisfies":Ci=hn(Hn,zn,Me,ni);break;case"see":Ci=p(Hn,zn,Me,ni);break;case"exception":case"throws":Ci=k(Hn,zn,Me,ni);break;default:Ci=Qt(Hn,zn,Me,ni);break}return Ci}function Qr(Me,Bn,Hn,zn){return zn||(Hn+=Bn-Me),jc(Hn,zn.slice(Hn))}function jc(Me,Hn){let zn=L(),ni=[],Ci=[],ts,Ps=0,aa=!0,ca;function mi(Bn){ca||(ca=Me),ni.push(Bn),Me+=Bn.length}Hn!==void 0&&(Hn!==""&&mi(Hn),Ps=1);let _a=T();e:for(;;){switch(_a){case 4:Ps=0,ni.push(Bn.getTokenText()),Me=0;break;case 59:if(Ps===3||Ps===2&&(!aa||wt(Cs))){ni.push(Bn.getTokenText());break}Bn.setTextPos(Bn.getTextPos()-1);case 1:break e;case 5:if(Ps===2||Ps===3)mi(Bn.getTokenText());else{let Hn=Bn.getTokenText();ca!==void 0&&Me+Hn.length>ca&&ni.push(Hn.slice(ca-Me)),Me+=Hn.length}break;case 18:Ps=2;let Hn=Bn.getStartPos(),_a=Bn.getTextPos()-1,xa=$h(_a);xa?(Ci.push(Q(oa.createJSDocText(ni.join("")),ts!=null?ts:zn,Hn)),Ci.push(xa),ni=[],ts=Bn.getTextPos()):mi(Bn.getTokenText());break;case 61:Ps===3?Ps=2:Ps=3,mi(Bn.getTokenText());break;case 41:if(Ps===0){Ps=1,Me+=1;break}default:Ps!==3&&(Ps=2),mi(Bn.getTokenText());break}aa=T()===5,_a=Ge()}if(Hh(ni),lp(ni),Ci.length)return ni.length&&Ci.push(Q(oa.createJSDocText(ni.join("")),ts!=null?ts:zn)),Er(Ci,zn,Bn.getTextPos());if(ni.length)return ni.join("")}function Cs(){let Me=Ge();return Me===5||Me===4}function $h(Me){let Hn=Tr(Kh);if(!Hn)return;Ge(),wn();let zn=L(),ni=fr(T())?Ys(!0):void 0;if(ni)for(;T()===80;)Xr(),Ge(),ni=Q(oa.createJSDocMemberName(ni,wr()),zn);let Ci=[];for(;T()!==19&&T()!==4&&T()!==1;)Ci.push(Bn.getTokenText()),Ge();let ts=Hn==="link"?oa.createJSDocLink:Hn==="linkcode"?oa.createJSDocLinkCode:oa.createJSDocLinkPlain;return Q(ts(ni,Ci.join("")),Me,Bn.getTextPos())}function Kh(){if(Ua(),T()===18&&Ge()===59&&fr(Ge())){let Me=Bn.getTokenValue();if(xt(Me))return Me}}function xt(Me){return Me==="link"||Me==="linkcode"||Me==="linkplain"}function Qt(Me,Bn,Hn,zn){return Q(oa.createJSDocUnknownTag(Bn,Qr(Me,L(),Hn,zn)),Me)}function za(Me){Me&&(Ci?Ci.push(Me):(Ci=[Me],ts=Me.pos),Ps=Me.end)}function Wa(){return Ua(),T()===18?O():void 0}function c6(){let Me=u_(22);Me&&wn();let Bn=u_(61),Hn=ZB();return Bn&&kd(61),Me&&(wn(),dr(63)&&Sr(),de(23)),{name:Hn,isBracketed:Me}}function Yn(Me){switch(Me.kind){case 149:return!0;case 185:return Yn(Me.elementType);default:return ac(Me)&&yt(Me.typeName)&&Me.typeName.escapedText==="Object"&&!Me.typeArguments}}function Xh(Me,Bn,Hn,zn){let ni=Wa(),Ci=!ni;Ua();let{name:ts,isBracketed:Ps}=c6(),aa=Ua();Ci&&!wt(Kh)&&(ni=Wa());let ca=Qr(Me,L(),zn,aa),_a=Hn!==4&&n(ni,ts,Hn,zn);_a&&(ni=_a,Ci=!0);let xa=Hn===1?oa.createJSDocPropertyTag(Bn,ts,Ps,ni,Ci,ca):oa.createJSDocParameterTag(Bn,ts,Ps,ni,Ci,ca);return Q(xa,Me)}function n(Me,Bn,Hn,zn){if(Me&&Yn(Me.type)){let ni=L(),Ci,ts;for(;Ci=Tr((()=>u6(Hn,zn,Bn)));)(Ci.kind===344||Ci.kind===351)&&(ts=tr(ts,Ci));if(ts){let Bn=Q(oa.createJSDocTypeLiteral(ts,Me.type.kind===185),ni);return Q(oa.createJSDocTypeExpression(Bn),ni)}}}function o(Me,Hn,zn,ni){Ke(Ci,b2)&&Z(Hn.pos,Bn.getTokenPos(),Sv._0_tag_already_specified,Hn.escapedText);let ts=Wa();return Q(oa.createJSDocReturnTag(Hn,ts,Qr(Me,L(),zn,ni)),Me)}function l(Me,Hn,zn,ni){Ke(Ci,au)&&Z(Hn.pos,Bn.getTokenPos(),Sv._0_tag_already_specified,Hn.escapedText);let ts=O(!0),Ps=zn!==void 0&&ni!==void 0?Qr(Me,L(),zn,ni):void 0;return Q(oa.createJSDocTypeTag(Hn,ts,Ps),Me)}function p(Me,Hn,zn,ni){let Ci=T()===22||wt((()=>Ge()===59&&fr(Ge())&&xt(Bn.getTokenValue())))?void 0:j(),ts=zn!==void 0&&ni!==void 0?Qr(Me,L(),zn,ni):void 0;return Q(oa.createJSDocSeeTag(Hn,Ci,ts),Me)}function k(Me,Bn,Hn,zn){let ni=Wa(),Ci=Qr(Me,L(),Hn,zn);return Q(oa.createJSDocThrowsTag(Bn,ni,Ci),Me)}function V(Me,Hn,zn,ni){let Ci=L(),ts=we(),Ps=Bn.getStartPos(),aa=Qr(Me,Ps,zn,ni);aa||(Ps=Bn.getStartPos());let ca=typeof aa!="string"?Er(Ft([Q(ts,Ci,Ps)],aa),Ci):ts.text+aa;return Q(oa.createJSDocAuthorTag(Hn,ca),Me)}function we(){let Me=[],Hn=!1,zn=Bn.getToken();for(;zn!==1&&zn!==4;){if(zn===29)Hn=!0;else{if(zn===59&&!Hn)break;if(zn===31&&Hn){Me.push(Bn.getTokenText()),Bn.setTextPos(Bn.getTokenPos()+1);break}}Me.push(Bn.getTokenText()),zn=Ge()}return oa.createJSDocText(Me.join(""))}function et(Me,Bn,Hn,zn){let ni=Ni();return Q(oa.createJSDocImplementsTag(Bn,ni,Qr(Me,L(),Hn,zn)),Me)}function ht(Me,Bn,Hn,zn){let ni=Ni();return Q(oa.createJSDocAugmentsTag(Bn,ni,Qr(Me,L(),Hn,zn)),Me)}function hn(Me,Bn,Hn,zn){let ni=O(!1),Ci=Hn!==void 0&&zn!==void 0?Qr(Me,L(),Hn,zn):void 0;return Q(oa.createJSDocSatisfiesTag(Bn,ni,Ci),Me)}function Ni(){let Me=Ot(18),Bn=L(),Hn=ia(),zn=Nc(),ni=oa.createExpressionWithTypeArguments(Hn,zn),Ci=Q(ni,Bn);return Me&&de(19),Ci}function ia(){let Me=L(),Bn=ao();for(;Ot(24);){let Hn=ao();Bn=Q(Jc(Bn,Hn),Me)}return Bn}function Oi(Me,Bn,Hn,zn,ni){return Q(Bn(Hn,Qr(Me,L(),zn,ni)),Me)}function qB(Me,Bn,Hn,zn){let ni=O(!0);return wn(),Q(oa.createJSDocThisTag(Bn,ni,Qr(Me,L(),Hn,zn)),Me)}function UB(Me,Bn,Hn,zn){let ni=O(!0);return wn(),Q(oa.createJSDocEnumTag(Bn,ni,Qr(Me,L(),Hn,zn)),Me)}function zB(Me,Bn,Hn,zn){var ni;let Ci=Wa();Ua();let ts=l6();wn();let Ps=jc(Hn),aa;if(!Ci||Yn(Ci.type)){let Bn,zn,ni,ts=!1;for(;Bn=Tr((()=>$B(Hn)));)if(ts=!0,Bn.kind===347)if(zn){let Me=Dt(Sv.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags);Me&&Rl(Me,Ro(xd,0,0,Sv.The_tag_was_first_specified_here));break}else zn=Bn;else ni=tr(ni,Bn);if(ts){let Bn=Ci&&Ci.type.kind===185,Hn=oa.createJSDocTypeLiteral(ni,Bn);Ci=zn&&zn.typeExpression&&!Yn(zn.typeExpression.type)?zn.typeExpression:Q(Hn,Me),aa=Ci.end}}aa=aa||Ps!==void 0?L():((ni=ts!=null?ts:Ci)!=null?ni:Bn).end,Ps||(Ps=Qr(Me,aa,Hn,zn));let ca=oa.createJSDocTypedefTag(Bn,Ci,ts,Ps);return Q(ca,Me,aa)}function l6(Me){let Hn=Bn.getTokenPos();if(!fr(T()))return;let zn=ao();if(Ot(24)){let Bn=l6(!0),ni=oa.createModuleDeclaration(void 0,zn,Bn,Me?4:void 0);return Q(ni,Hn)}return Me&&(zn.flags|=2048),zn}function WB(Me){let Bn=L(),Hn,zn;for(;Hn=Tr((()=>u6(4,Me)));)zn=tr(zn,Hn);return Er(zn||[],Bn)}function j7(Me,Bn){let Hn=WB(Bn),zn=Tr((()=>{if(u_(59)){let Me=up(Bn);if(Me&&Me.kind===345)return Me}}));return Q(oa.createJSDocSignature(void 0,Hn,zn),Me)}function VB(Me,Bn,Hn,zn){let ni=l6();wn();let Ci=jc(Hn),ts=j7(Me,Hn);Ci||(Ci=Qr(Me,L(),Hn,zn));let Ps=Ci!==void 0?L():ts.end;return Q(oa.createJSDocCallbackTag(Bn,ts,ni,Ci),Me,Ps)}function HB(Me,Bn,Hn,zn){wn();let ni=jc(Hn),Ci=j7(Me,Hn);ni||(ni=Qr(Me,L(),Hn,zn));let ts=ni!==void 0?L():Ci.end;return Q(oa.createJSDocOverloadTag(Bn,Ci,ni),Me,ts)}function GB(Me,Bn){for(;!yt(Me)||!yt(Bn);)if(!yt(Me)&&!yt(Bn)&&Me.right.escapedText===Bn.right.escapedText)Me=Me.left,Bn=Bn.left;else return!1;return Me.escapedText===Bn.escapedText}function $B(Me){return u6(1,Me)}function u6(Me,Bn,Hn){let zn=!0,ni=!1;for(;;)switch(Ge()){case 59:if(zn){let zn=KB(Me,Bn);return zn&&(zn.kind===344||zn.kind===351)&&Me!==4&&Hn&&(yt(zn.name)||!GB(Hn,zn.name.left))?!1:zn}ni=!1;break;case 4:zn=!0,ni=!1;break;case 41:ni&&(zn=!1),ni=!0;break;case 79:zn=!1;break;case 1:return!1}}function KB(Me,Hn){qp.assert(T()===59);let zn=Bn.getStartPos();Ge();let ni=ao();wn();let Ci;switch(ni.escapedText){case"type":return Me===1&&l(zn,ni);case"prop":case"property":Ci=1;break;case"arg":case"argument":case"param":Ci=6;break;default:return!1}return Me&Ci?Xh(zn,ni,Me,Hn):!1}function XB(){let Me=L(),Bn=u_(22);Bn&&wn();let Hn=ao(Sv.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces),zn;if(Bn&&(wn(),de(63),zn=Mt(8388608,xc),de(23)),!va(Hn))return Q(oa.createTypeParameterDeclaration(void 0,Hn,void 0,zn),Me)}function YB(){let Me=L(),Bn=[];do{wn();let Me=XB();Me!==void 0&&Bn.push(Me),Ua()}while(u_(27));return Er(Bn,Me)}function QB(Me,Bn,Hn,zn){let ni=T()===18?O():void 0,Ci=YB();return Q(oa.createJSDocTemplateTag(Bn,ni,Ci,Qr(Me,L(),Hn,zn)),Me)}function u_(Me){return T()===Me?(Ge(),!0):!1}function ZB(){let Me=ao();for(Ot(22)&&de(23);Ot(24);){let Bn=ao();Ot(22)&&de(23),Me=Tu(Me,Bn)}return Me}function ao(Me){if(!fr(T()))return Jn(79,!Me,Me||Sv.Identifier_expected);ig++;let Hn=Bn.getTokenPos(),zn=Bn.getTextPos(),ni=T(),Ci=Ia(Bn.getTokenValue()),ts=Q(oo(Ci,ni),Hn,zn);return Ge(),ts}}})(hg=Me.JSDocParser||(Me.JSDocParser={}))})(Pw||(Pw={})),(Me=>{function t(Me,Bn,Hn,zn){if(zn=zn||qp.shouldAssert(2),N(Me,Bn,Hn,zn),cS(Hn))return Me;if(Me.statements.length===0)return Pw.parseSourceFile(Me.fileName,Bn,Me.languageVersion,void 0,!0,Me.scriptKind,Me.setExternalModuleIndicator);let ni=Me;qp.assert(!ni.hasBeenIncrementallyParsed),ni.hasBeenIncrementallyParsed=!0,Pw.fixupParentReferences(ni);let Ci=Me.text,ts=X(Me),Ps=g(Me,Hn);N(Me,Bn,Ps,zn),qp.assert(Ps.span.start<=Hn.span.start),qp.assert(Ir(Ps.span)===Ir(Hn.span)),qp.assert(Ir(R_(Ps))===Ir(R_(Hn)));let aa=R_(Ps).length-Ps.span.length;A(ni,Ps.span.start,Ir(Ps.span),Ir(R_(Ps)),aa,Ci,Bn,zn);let oa=Pw.parseSourceFile(Me.fileName,Bn,Me.languageVersion,ts,!0,Me.scriptKind,Me.setExternalModuleIndicator);return oa.commentDirectives=r(Me.commentDirectives,oa.commentDirectives,Ps.span.start,Ir(Ps.span),aa,Ci,Bn,zn),oa.impliedNodeFormat=Me.impliedNodeFormat,oa}Me.updateSourceFile=t;function r(Me,Bn,Hn,zn,ni,Ci,ts,Ps){if(!Me)return Bn;let aa,oa=!1;for(let Bn of Me){let{range:Me,type:oa}=Bn;if(Me.endzn){Nt();let Bn={range:{pos:Me.pos+ni,end:Me.end+ni},type:oa};aa=tr(aa,Bn),Ps&&qp.assert(Ci.substring(Me.pos,Me.end)===ts.substring(Bn.range.pos,Bn.range.end))}}return Nt(),aa;function Nt(){oa||(oa=!0,aa?Bn&&aa.push(...Bn):aa=Bn)}}function s(Me,Bn,Hn,zn,ni,Ci){Bn?Ve(Me):oe(Me);return;function oe(Me){let Bn="";if(Ci&&f(Me)&&(Bn=zn.substring(Me.pos,Me.end)),Me._children&&(Me._children=void 0),Us(Me,Me.pos+Hn,Me.end+Hn),Ci&&f(Me)&&qp.assert(Bn===ni.substring(Me.pos,Me.end)),xr(Me,oe,Ve),ya(Me))for(let Bn of Me.jsDoc)oe(Bn);w(Me,Ci)}function Ve(Me){Me._children=void 0,Us(Me,Me.pos+Hn,Me.end+Hn);for(let Bn of Me)oe(Bn)}}function f(Me){switch(Me.kind){case 10:case 8:case 79:return!0}return!1}function x(Me,Bn,Hn,zn,ni){qp.assert(Me.end>=Bn,"Adjusting an element that was entirely before the change range"),qp.assert(Me.pos<=Hn,"Adjusting an element that was entirely after the change range"),qp.assert(Me.pos<=Me.end);let Ci=Math.min(Me.pos,zn),ts=Me.end>=Hn?Me.end+ni:Math.min(Me.end,zn);qp.assert(Ci<=ts),Me.parent&&(qp.assertGreaterThanOrEqual(Ci,Me.parent.pos),qp.assertLessThanOrEqual(ts,Me.parent.end)),Us(Me,Ci,ts)}function w(Me,Bn){if(Bn){let Bn=Me.pos,Se=Me=>{qp.assert(Me.pos>=Bn),Bn=Me.end};if(ya(Me))for(let Bn of Me.jsDoc)Se(Bn);xr(Me,Se),qp.assert(Bn<=Me.end)}}function A(Me,Bn,Hn,zn,ni,Ci,ts,Ps){pt(Me);return;function pt(Me){if(qp.assert(Me.pos<=Me.end),Me.pos>Hn){s(Me,!1,ni,Ci,ts,Ps);return}let aa=Me.end;if(aa>=Bn){if(Me.intersectsChange=!0,Me._children=void 0,x(Me,Bn,Hn,zn,ni),xr(Me,pt,Gt),ya(Me))for(let Bn of Me.jsDoc)pt(Bn);w(Me,Ps);return}qp.assert(aaHn){s(Me,!0,ni,Ci,ts,Ps);return}let aa=Me.end;if(aa>=Bn){Me.intersectsChange=!0,Me._children=void 0,x(Me,Bn,Hn,zn,ni);for(let Bn of Me)pt(Bn);return}qp.assert(aa0&&Bn<=1;Bn++){let Bn=B(Me,Hn);qp.assert(Bn.pos<=Hn);let zn=Bn.pos;Hn=Math.max(0,zn-1)}let zn=ha(Hn,Ir(Bn.span)),ni=Bn.newLength+(Bn.span.start-Hn);return Zp(zn,ni)}function B(Me,Bn){let Hn=Me,zn;if(xr(Me,Ne),zn){let Me=Ye(zn);Me.pos>Hn.pos&&(Hn=Me)}return Hn;function Ye(Me){for(;;){let Bn=mx(Me);if(Bn)Me=Bn;else return Me}}function Ne(Me){if(!va(Me))if(Me.pos<=Bn){if(Me.pos>=Hn.pos&&(Hn=Me),BnBn),!0}}function N(Me,Bn,Hn,zn){let ni=Me.text;if(Hn&&(qp.assert(ni.length-Hn.span.length+Hn.newLength===Bn.length),zn||qp.shouldAssert(3))){let Me=ni.substr(0,Hn.span.start),zn=Bn.substr(0,Hn.span.start);qp.assert(Me===zn);let Ci=ni.substring(Ir(Hn.span),ni.length),ts=Bn.substring(Ir(R_(Hn)),Bn.length);qp.assert(Ci===ts)}}function X(Me){let Bn=Me.statements,Hn=0;qp.assert(Hn=Me.pos&&ni=Me.pos&&ni{Me[Me.Value=-1]="Value"})(Bn||(Bn={}))})(Ow||(Ow={})),Lw=new Map,Mw=/^\/\/\/\s*<(\S+)\s.*?\/>/im,jw=/^\/\/\/?\s*@(\S+)\s*(.*)\s*$/im}}),nF=()=>{},iF=()=>{},aF=()=>{},sF=()=>{},oF=()=>{},_F=()=>{},cF=()=>{},lF=()=>{},uF=()=>{},pF=()=>{},fF=()=>{},dF=()=>{},mF=()=>{},hF=()=>{},gF=()=>{},yF=()=>{},vF=()=>{},bF=()=>{},TF=()=>{},SF=()=>{},xF=()=>{},EF=()=>{},wF=()=>{},CF=()=>{},AF=()=>{},PF=()=>{},DF=()=>{},kF=()=>{},IF=()=>{},NF=()=>{},OF=()=>{},MF=()=>{},LF=()=>{},RF=()=>{},jF=()=>{},JF=()=>{},FF=()=>{},BF=()=>{},qF=()=>{},UF=()=>{},zF=()=>{},WF=()=>{},VF=()=>{},HF=()=>{},GF=()=>{},$F=()=>{},Gw=D({"src/compiler/_namespaces/ts.ts"(){"use strict";oa(),Up(),Jp(),R5(),j5(),F5(),U5(),Vy(),W5(),wv(),Iv(),oC(),pC(),cw(),lw(),fw(),RL(),bw(),XL(),YL(),Cw(),Sw(),Iw(),Uw(),nF(),iF(),aF(),sF(),_F(),cF(),lF(),uF(),pF(),fF(),dF(),mF(),hF(),gF(),yF(),vF(),bF(),TF(),SF(),xF(),EF(),wF(),CF(),AF(),PF(),DF(),kF(),IF(),NF(),OF(),MF(),LF(),RF(),jF(),JF(),FF(),BF(),qF(),UF(),zF(),WF(),VF(),HF(),GF(),$F(),oF(),IT()}}),l7=()=>{},KF=()=>{},u7=()=>{},Vw,u7=()=>{Jp(),Vw=Po(99,!0)},XF=()=>{},YF=()=>{},QF=()=>{},ZF=()=>{},eB=()=>{},tB=()=>{},rB=()=>{},nB=()=>{},iB=()=>{},aB=()=>{},p7=()=>{},f7=()=>{};function d7(Me,Bn,Hn,zn){let ni=gl(Me)?new qw(Me,Bn,Hn):Me===79?new Ww(79,Bn,Hn):Me===80?new Kw(80,Bn,Hn):new Yw(Me,Bn,Hn);return ni.parent=zn,ni.flags=zn.flags&50720768,ni}function sB(Me,Bn){if(!gl(Me.kind))return ca;let Hn=[];if(c3(Me))return Me.forEachChild((Me=>{Hn.push(Me)})),Hn;Vw.setText((Bn||Me.getSourceFile()).text);let zn=Me.pos,f=Bn=>{_u(Hn,zn,Bn.pos,Me),Hn.push(Bn),zn=Bn.end},x=Bn=>{_u(Hn,zn,Bn.pos,Me),Hn.push(oB(Bn,Me)),zn=Bn.end};return c(Me.jsDoc,f),zn=Me.pos,Me.forEachChild(f,x),_u(Hn,zn,Me.end,Me),Vw.setText(void 0),Hn}function _u(Me,Bn,Hn,zn){for(Vw.setTextPos(Bn);BnMe.tagName.text==="inheritDoc"||Me.tagName.text==="inheritdoc"))}function Ed(Me,Bn){if(!Me)return ca;let Hn=ts_JsDoc_exports.getJsDocTagsFromDeclarations(Me,Bn);if(Bn&&(Hn.length===0||Me.some(m7))){let zn=new Set;for(let ni of Me){let Me=h7(Bn,ni,(Me=>{var Hn;if(!zn.has(Me))return zn.add(Me),ni.kind===174||ni.kind===175?Me.getContextualJsDocTags(ni,Bn):((Hn=Me.declarations)==null?void 0:Hn.length)===1?Me.getJsDocTags():void 0}));Me&&(Hn=[...Me,...Hn])}}return Hn}function cu(Me,Bn){if(!Me)return ca;let Hn=ts_JsDoc_exports.getJsDocCommentsFromDeclarations(Me,Bn);if(Bn&&(Hn.length===0||Me.some(m7))){let zn=new Set;for(let ni of Me){let Me=h7(Bn,ni,(Me=>{if(!zn.has(Me))return zn.add(Me),ni.kind===174||ni.kind===175?Me.getContextualDocumentationComment(ni,Bn):Me.getDocumentationComment(Bn)}));Me&&(Hn=Hn.length===0?Me.slice():Me.concat(lineBreakPart(),Hn))}}return Hn}function h7(Me,Bn,Hn){var zn;let ni=((zn=Bn.parent)==null?void 0:zn.kind)===173?Bn.parent.parent:Bn.parent;if(!ni)return;let Ci=Lf(Bn);return q(h4(ni),(zn=>{let ni=Me.getTypeAtLocation(zn),ts=Ci&&ni.symbol?Me.getTypeOfSymbol(ni.symbol):ni,Ps=Me.getPropertyOfType(ts,Bn.symbol.name);return Ps?Hn(Ps):void 0}))}function _B(){return{getNodeConstructor:()=>qw,getTokenConstructor:()=>Yw,getIdentifierConstructor:()=>Ww,getPrivateIdentifierConstructor:()=>Kw,getSourceFileConstructor:()=>Zw,getSymbolConstructor:()=>$w,getTypeConstructor:()=>zw,getSignatureConstructor:()=>Xw,getSourceMapSourceConstructor:()=>eS}}function lu(Me){let Bn=!0;for(let Hn in Me)if(Jr(Me,Hn)&&!g7(Hn)){Bn=!1;break}if(Bn)return Me;let Hn={};for(let Bn in Me)if(Jr(Me,Bn)){let zn=g7(Bn)?Bn:Bn.charAt(0).toLowerCase()+Bn.substr(1);Hn[zn]=Me[Bn]}return Hn}function g7(Me){return!Me.length||Me.charAt(0)===Me.charAt(0).toLowerCase()}function cB(Me){return Me?Ze(Me,(Me=>Me.text)).join(""):""}function y7(){return{target:1,jsx:1}}function v7(){return ts_codefix_exports.getSupportedErrorCodes()}function b7(Me,Bn,Hn){Me.version=Hn,Me.scriptSnapshot=Bn}function N2(Me,Bn,Hn,zn,ni,Ci){let ts=YE(Me,getSnapshotText(Bn),Hn,ni,Ci);return b7(ts,Bn,zn),ts}function T7(Me,Bn,Hn,zn,ni){if(zn&&Hn!==Me.version){let Ci,ts=zn.span.start!==0?Me.text.substr(0,zn.span.start):"",Ps=Ir(zn.span)!==Me.text.length?Me.text.substr(Ir(zn.span)):"";if(zn.newLength===0)Ci=ts&&Ps?ts+Ps:ts||Ps;else{let Me=Bn.getText(zn.span.start,zn.span.start+zn.newLength);Ci=ts&&Ps?ts+Me+Ps:ts?ts+Me:Me+Ps}let aa=k2(Me,Ci,zn,ni);return b7(aa,Bn,Hn),aa.nameTable=void 0,Me!==aa&&Me.scriptSnapshot&&(Me.scriptSnapshot.dispose&&Me.scriptSnapshot.dispose(),Me.scriptSnapshot=void 0),aa}let Ci={languageVersion:Me.languageVersion,impliedNodeFormat:Me.impliedNodeFormat,setExternalModuleIndicator:Me.setExternalModuleIndicator};return N2(Me.fileName,Bn,Ci,Hn,!0,Me.scriptKind)}function lB(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:createDocumentRegistry(Me.useCaseSensitiveFileNames&&Me.useCaseSensitiveFileNames(),Me.getCurrentDirectory()),Hn=arguments.length>2?arguments[2]:void 0;var zn;let ni;Hn===void 0?ni=0:typeof Hn=="boolean"?ni=Hn?2:0:ni=Hn;let Ci=new tS(Me),ts,Ps,aa=0,oa=Me.getCancellationToken?new nS(Me.getCancellationToken()):rS,_a=Me.getCurrentDirectory();vx((zn=Me.getLocalizedDiagnosticMessages)==null?void 0:zn.bind(Me));function X(Bn){Me.log&&Me.log(Bn)}let xa=J0(Me),Ga=wp(xa),Ha=getSourceMapper({useCaseSensitiveFileNames:()=>xa,getCurrentDirectory:()=>_a,getProgram:Ye,fileExists:le(Me,Me.fileExists),readFile:le(Me,Me.readFile),getDocumentPositionMapper:le(Me,Me.getDocumentPositionMapper),getSourceFileLike:le(Me,Me.getSourceFileLike),log:X});function Te(Me){let Bn=ts.getSourceFile(Me);if(!Bn){let Bn=new Error(`Could not find source file: '${Me}'.`);throw Bn.ProgramFiles=ts.getSourceFiles().map((Me=>Me.fileName)),Bn}return Bn}function Se(){var Hn,zn,Ci;if(qp.assert(ni!==2),Me.getProjectVersion){let Bn=Me.getProjectVersion();if(Bn){if(Ps===Bn&&!((Hn=Me.hasChangedAutomaticTypeDirectiveNames)!=null&&Hn.call(Me)))return;Ps=Bn}}let ca=Me.getTypeRootsVersion?Me.getTypeRootsVersion():0;aa!==ca&&(X("TypeRoots version has changed; provide new program"),ts=void 0,aa=ca);let so=Me.getScriptFileNames().slice(),oo=Me.getCompilationSettings()||y7(),Jo=Me.hasInvalidatedResolutions||w_,tc=le(Me,Me.hasChangedAutomaticTypeDirectiveNames),dc=(zn=Me.getProjectReferences)==null?void 0:zn.call(Me),Fc,Jc={getSourceFile:wt,getSourceFileByPath:Tr,getCancellationToken:()=>oa,getCanonicalFileName:Ga,useCaseSensitiveFileNames:()=>xa,getNewLine:()=>ox(oo),getDefaultLibFileName:Bn=>Me.getDefaultLibFileName(Bn),writeFile:yn,getCurrentDirectory:()=>_a,fileExists:Bn=>Me.fileExists(Bn),readFile:Bn=>Me.readFile&&Me.readFile(Bn),getSymlinkCache:le(Me,Me.getSymlinkCache),realpath:le(Me,Me.realpath),directoryExists:Bn=>sx(Bn,Me),getDirectories:Bn=>Me.getDirectories?Me.getDirectories(Bn):[],readDirectory:(Bn,Hn,zn,ni,Ci)=>(qp.checkDefined(Me.readDirectory,"'LanguageServiceHost.readDirectory' must be implemented to correctly process 'projectReferences'"),Me.readDirectory(Bn,Hn,zn,ni,Ci)),onReleaseOldSourceFile:Rn,onReleaseParsedCommandLine:yr,hasInvalidatedResolutions:Jo,hasChangedAutomaticTypeDirectiveNames:tc,trace:le(Me,Me.trace),resolveModuleNames:le(Me,Me.resolveModuleNames),getModuleResolutionCache:le(Me,Me.getModuleResolutionCache),createHash:le(Me,Me.createHash),resolveTypeReferenceDirectives:le(Me,Me.resolveTypeReferenceDirectives),resolveModuleNameLiterals:le(Me,Me.resolveModuleNameLiterals),resolveTypeReferenceDirectiveReferences:le(Me,Me.resolveTypeReferenceDirectiveReferences),useSourceOfProjectReferenceRedirect:le(Me,Me.useSourceOfProjectReferenceRedirect),getParsedCommandLine:Dr},Dp=Jc.getSourceFile,{getSourceFileWithCache:kp}=changeCompilerHostLikeToUseCache(Jc,(Me=>Ui(Me,_a,Ga)),(function(){for(var Me=arguments.length,Bn=new Array(Me),Hn=0;HnJc.fileExists(Me),readFile:Me=>Jc.readFile(Me),readDirectory:function(){return Jc.readDirectory(...arguments)},trace:Jc.trace,getCurrentDirectory:Jc.getCurrentDirectory,onUnRecoverableConfigFileDiagnostic:yn},Up=Bn.getKeyForCompilationSettings(oo);if(isProgramUptoDate(ts,so,oo,((Bn,Hn)=>Me.getScriptVersion(Hn)),(Me=>Jc.fileExists(Me)),Jo,tc,Dr,dc))return;let Vp={rootNames:so,options:oo,host:Jc,oldProgram:ts,projectReferences:dc};ts=createProgram(Vp),Jc=void 0,Fc=void 0,Ha.clearCache(),ts.getTypeChecker();return;function Dr(Bn){let Hn=Ui(Bn,_a,Ga),zn=Fc==null?void 0:Fc.get(Hn);if(zn!==void 0)return zn||void 0;let ni=Me.getParsedCommandLine?Me.getParsedCommandLine(Bn):Lr(Bn);return(Fc||(Fc=new Map)).set(Hn,ni||!1),ni}function Lr(Me){let Bn=wt(Me,100);if(Bn)return Bn.path=Ui(Me,_a,Ga),Bn.resolvedPath=Bn.path,Bn.originalFileName=Bn.fileName,parseJsonSourceFileConfigFileContent(Bn,Qp,as(ma(Me),_a),void 0,as(Me,_a))}function yr(Bn,Hn,zn){var ni;Me.getParsedCommandLine?(ni=Me.onReleaseParsedCommandLine)==null||ni.call(Me,Bn,Hn,zn):Hn&&Rn(Hn.sourceFile,zn)}function Rn(Me,Hn){let zn=Bn.getKeyForCompilationSettings(Hn);Bn.releaseDocumentWithKey(Me.resolvedPath,zn,Me.scriptKind,Me.impliedNodeFormat)}function wt(Me,Bn,Hn,zn){return Tr(Me,Ui(Me,_a,Ga),Bn,Hn,zn)}function Tr(Hn,zn,ni,Ci,Ps){qp.assert(Jc,"getOrCreateSourceFileByPath called after typical CompilerHost lifetime, check the callstack something with a reference to an old host.");let aa=Me.getScriptSnapshot(Hn);if(!aa)return;let oa=getScriptKind(Hn,Me),ca=Me.getScriptVersion(Hn);if(!Ps){let Ci=ts&&ts.getSourceFileByPath(zn);if(Ci){if(oa===Ci.scriptKind)return Bn.updateDocumentWithKey(Hn,zn,Me,Up,aa,ca,oa,ni);Bn.releaseDocumentWithKey(Ci.resolvedPath,Bn.getKeyForCompilationSettings(ts.getCompilerOptions()),Ci.scriptKind,Ci.impliedNodeFormat)}}return Bn.acquireDocumentWithKey(Hn,zn,Me,Up,aa,ca,oa,ni)}}function Ye(){if(ni===2){qp.assert(ts===void 0);return}return Se(),ts}function Ne(){var Bn;return(Bn=Me.getPackageJsonAutoImportProvider)==null?void 0:Bn.call(Me)}function oe(Bn,Hn){let zn=ts.getTypeChecker(),ni=fe();if(!ni)return!1;for(let zn of Bn)for(let Bn of zn.references){let zn=T(Bn);if(qp.assertIsDefined(zn),Hn.has(Bn)||ts_FindAllReferences_exports.isDeclarationOfSymbol(zn,ni)){Hn.add(Bn),Bn.isDefinition=!0;let zn=getMappedDocumentSpan(Bn,Ha,le(Me,Me.fileExists));zn&&Hn.add(zn)}else Bn.isDefinition=!1}return!0;function fe(){for(let ni of Bn)for(let Bn of ni.references){if(Hn.has(Bn)){let Me=T(Bn);return qp.assertIsDefined(Me),zn.getSymbolAtLocation(Me)}let ni=getMappedDocumentSpan(Bn,Ha,le(Me,Me.fileExists));if(ni&&Hn.has(ni)){let Me=T(ni);if(Me)return zn.getSymbolAtLocation(Me)}}}function T(Me){let Bn=ts.getSourceFile(Me.fileName);if(!Bn)return;let Hn=getTouchingPropertyName(Bn,Me.textSpan.start);return ts_FindAllReferences_exports.Core.getAdjustedNode(Hn,{use:ts_FindAllReferences_exports.FindReferencesUse.References})}}function Ve(){ts=void 0}function pt(){if(ts){let Me=Bn.getKeyForCompilationSettings(ts.getCompilerOptions());c(ts.getSourceFiles(),(Hn=>Bn.releaseDocumentWithKey(Hn.resolvedPath,Me,Hn.scriptKind,Hn.impliedNodeFormat))),ts=void 0}Me=void 0}function Gt(Me){return Se(),ts.getSyntacticDiagnostics(Te(Me),oa).slice()}function Nt(Me){Se();let Bn=Te(Me),Hn=ts.getSemanticDiagnostics(Bn,oa);if(!cv(ts.getCompilerOptions()))return Hn.slice();let zn=ts.getDeclarationDiagnostics(Bn,oa);return[...Hn,...zn]}function Xt(Me){return Se(),computeSuggestionDiagnostics(Te(Me),ts,oa)}function er(){return Se(),[...ts.getOptionsDiagnostics(oa),...ts.getGlobalDiagnostics(oa)]}function Tn(Bn,Hn){let zn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:emptyOptions,ni=arguments.length>3?arguments[3]:void 0,Ci=Object.assign(Object.assign({},zn),{},{includeCompletionsForModuleExports:zn.includeCompletionsForModuleExports||zn.includeExternalModuleExports,includeCompletionsWithInsertText:zn.includeCompletionsWithInsertText||zn.includeInsertTextCompletions});return Se(),ts_Completions_exports.getCompletionsAtPosition(Me,ts,X,Te(Bn),Hn,Ci,zn.triggerCharacter,zn.triggerKind,oa,ni&&ts_formatting_exports.getFormatContext(ni,Me),zn.includeSymbol)}function Hr(Bn,Hn,zn,ni,Ci){let Ps=arguments.length>5&&arguments[5]!==void 0?arguments[5]:emptyOptions,aa=arguments.length>6?arguments[6]:void 0;return Se(),ts_Completions_exports.getCompletionEntryDetails(ts,X,Te(Bn),Hn,{name:zn,source:Ci,data:aa},Me,ni&&ts_formatting_exports.getFormatContext(ni,Me),Ps,oa)}function Gi(Bn,Hn,zn,ni){let Ci=arguments.length>4&&arguments[4]!==void 0?arguments[4]:emptyOptions;return Se(),ts_Completions_exports.getCompletionEntrySymbol(ts,X,Te(Bn),Hn,{name:zn,source:ni},Me,Ci)}function pn(Me,Bn){Se();let Hn=Te(Me),zn=getTouchingPropertyName(Hn,Bn);if(zn===Hn)return;let ni=ts.getTypeChecker(),Ci=fn(zn),Ps=mB(Ci,ni);if(!Ps||ni.isUnknownSymbol(Ps)){let Me=Ut(Hn,Ci,Bn)?ni.getTypeAtLocation(Ci):void 0;return Me&&{kind:"",kindModifiers:"",textSpan:createTextSpanFromNode(Ci,Hn),displayParts:ni.runWithCancellationToken(oa,(Bn=>typeToDisplayParts(Bn,Me,getContainerNode(Ci)))),documentation:Me.symbol?Me.symbol.getDocumentationComment(ni):void 0,tags:Me.symbol?Me.symbol.getJsDocTags(ni):void 0}}let{symbolKind:aa,displayParts:ca,documentation:_a,tags:xa}=ni.runWithCancellationToken(oa,(Me=>ts_SymbolDisplay_exports.getSymbolDisplayPartsDocumentationAndSymbolKind(Me,Ps,Hn,getContainerNode(Ci),Ci)));return{kind:aa,kindModifiers:ts_SymbolDisplay_exports.getSymbolModifiers(ni,Ps),textSpan:createTextSpanFromNode(Ci,Hn),displayParts:ca,documentation:_a,tags:xa}}function fn(Me){return X8(Me.parent)&&Me.pos===Me.parent.pos?Me.parent.expression:$v(Me.parent)&&Me.pos===Me.parent.pos||o0(Me.parent)&&Me.parent.name===Me?Me.parent:Me}function Ut(Me,Bn,Hn){switch(Bn.kind){case 79:return!isLabelName(Bn)&&!isTagName(Bn)&&!jS(Bn.parent);case 208:case 163:return!isInComment(Me,Hn);case 108:case 194:case 106:case 199:return!0;case 233:return o0(Bn);default:return!1}}function kn(Me,Bn,Hn,zn){return Se(),ts_GoToDefinition_exports.getDefinitionAtPosition(ts,Te(Me),Bn,Hn,zn)}function an(Me,Bn){return Se(),ts_GoToDefinition_exports.getDefinitionAndBoundSpan(ts,Te(Me),Bn)}function mr(Me,Bn){return Se(),ts_GoToDefinition_exports.getTypeDefinitionAtPosition(ts.getTypeChecker(),Te(Me),Bn)}function $i(Me,Bn){return Se(),ts_FindAllReferences_exports.getImplementationsAtPosition(ts,oa,ts.getSourceFiles(),Te(Me),Bn)}function dn(Me,Bn){return ne(Ur(Me,Bn,[Me]),(Me=>Me.highlightSpans.map((Bn=>Object.assign(Object.assign({fileName:Me.fileName,textSpan:Bn.textSpan,isWriteAccess:Bn.kind==="writtenReference"},Bn.isInString&&{isInString:!0}),Bn.contextSpan&&{contextSpan:Bn.contextSpan})))))}function Ur(Me,Bn,Hn){let zn=Un(Me);qp.assert(Hn.some((Me=>Un(Me)===zn))),Se();let ni=qt(Hn,(Me=>ts.getSourceFile(Me))),Ci=Te(Me);return DocumentHighlights.getDocumentHighlights(ts,oa,Ci,Bn,ni)}function Gr(Me,Bn,Hn,zn,ni){Se();let Ci=Te(Me),ts=getAdjustedRenameLocation(getTouchingPropertyName(Ci,Bn));if(ts_Rename_exports.nodeIsEligibleForRename(ts))if(yt(ts)&&(tu(ts.parent)||sE(ts.parent))&&P4(ts.escapedText)){let{openingElement:Me,closingElement:Bn}=ts.parent.parent;return[Me,Bn].map((Me=>{let Bn=createTextSpanFromNode(Me.tagName,Ci);return Object.assign({fileName:Ci.fileName,textSpan:Bn},ts_FindAllReferences_exports.toContextSpan(Bn,Ci,Me.parent))}))}else return Sn(ts,Bn,{findInStrings:Hn,findInComments:zn,providePrefixAndSuffixTextForRename:ni,use:ts_FindAllReferences_exports.FindReferencesUse.Rename},((Me,Bn,Hn)=>ts_FindAllReferences_exports.toRenameLocation(Me,Bn,Hn,ni||!1)))}function _r(Me,Bn){return Se(),Sn(getTouchingPropertyName(Te(Me),Bn),Bn,{use:ts_FindAllReferences_exports.FindReferencesUse.References},ts_FindAllReferences_exports.toReferenceEntry)}function Sn(Me,Bn,Hn,zn){Se();let ni=Hn&&Hn.use===ts_FindAllReferences_exports.FindReferencesUse.Rename?ts.getSourceFiles().filter((Me=>!ts.isSourceFileDefaultLibrary(Me))):ts.getSourceFiles();return ts_FindAllReferences_exports.findReferenceOrRenameEntries(ts,oa,ni,Me,Bn,Hn,zn)}function In(Me,Bn){return Se(),ts_FindAllReferences_exports.findReferencedSymbols(ts,oa,ts.getSourceFiles(),Te(Me),Bn)}function pr(Me){return Se(),ts_FindAllReferences_exports.Core.getReferencesForFileName(Me,ts,ts.getSourceFiles()).map(ts_FindAllReferences_exports.toReferenceEntry)}function Zt(Me,Bn,Hn){let zn=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;Se();let ni=Hn?[Te(Hn)]:ts.getSourceFiles();return getNavigateToItems(ni,ts.getTypeChecker(),oa,Me,Bn,zn)}function Or(Bn,Hn,zn){Se();let ni=Te(Bn),Ci=Me.getCustomTransformers&&Me.getCustomTransformers();return getFileEmitOutput(ts,ni,!!Hn,oa,Ci,zn)}function Nn(Me,Bn){let{triggerReason:Hn}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:emptyOptions;Se();let zn=Te(Me);return ts_SignatureHelp_exports.getSignatureHelpItems(ts,zn,Bn,Hn,oa)}function ar(Me){return Ci.getCurrentSourceFile(Me)}function oi(Me,Bn,Hn){let zn=Ci.getCurrentSourceFile(Me),ni=getTouchingPropertyName(zn,Bn);if(ni===zn)return;switch(ni.kind){case 208:case 163:case 10:case 95:case 110:case 104:case 106:case 108:case 194:case 79:break;default:return}let ts=ni;for(;;)if(isRightSideOfPropertyAccess(ts)||isRightSideOfQualifiedName(ts))ts=ts.parent;else if(isNameOfModuleDeclaration(ts))if(ts.parent.parent.kind===264&&ts.parent.parent.body===ts.parent)ts=ts.parent.parent.name;else break;else break;return ha(ts.getStart(),ni.getEnd())}function cr(Me,Bn){let Hn=Ci.getCurrentSourceFile(Me);return ts_BreakpointResolver_exports.spanInSourceFileAtLocation(Hn,Bn)}function $r(Me){return getNavigationBarItems(Ci.getCurrentSourceFile(Me),oa)}function hr(Me){return getNavigationTree(Ci.getCurrentSourceFile(Me),oa)}function On(Me,Bn,Hn){return Se(),(Hn||"original")==="2020"?ts_classifier_exports.v2020.getSemanticClassifications(ts,oa,Te(Me),Bn):getSemanticClassifications(ts.getTypeChecker(),oa,Te(Me),ts.getClassifiableNames(),Bn)}function nr(Me,Bn,Hn){return Se(),(Hn||"original")==="original"?getEncodedSemanticClassifications(ts.getTypeChecker(),oa,Te(Me),ts.getClassifiableNames(),Bn):ts_classifier_exports.v2020.getEncodedSemanticClassifications(ts,oa,Te(Me),Bn)}function br(Me,Bn){return getSyntacticClassifications(oa,Ci.getCurrentSourceFile(Me),Bn)}function Kr(Me,Bn){return getEncodedSyntacticClassifications(oa,Ci.getCurrentSourceFile(Me),Bn)}function wa(Me){let Bn=Ci.getCurrentSourceFile(Me);return ts_OutliningElementsCollector_exports.collectElements(Bn,oa)}let so=new Map(Object.entries({[18]:19,[20]:21,[22]:23,[31]:29}));so.forEach(((Me,Bn)=>so.set(Me.toString(),Number(Bn))));function Ki(Me,Bn){let Hn=Ci.getCurrentSourceFile(Me),zn=getTouchingToken(Hn,Bn),ni=zn.getStart(Hn)===Bn?so.get(zn.kind.toString()):void 0,ts=ni&&findChildOfKind(zn.parent,ni,Hn);return ts?[createTextSpanFromNode(zn,Hn),createTextSpanFromNode(ts,Hn)].sort(((Me,Bn)=>Me.start-Bn.start)):ca}function Mn(Me,Bn,Hn){let zn=Wp(),ni=lu(Hn),ts=Ci.getCurrentSourceFile(Me);X("getIndentationAtPosition: getCurrentSourceFile: "+(Wp()-zn)),zn=Wp();let Ps=ts_formatting_exports.SmartIndenter.getIndentation(Bn,ts,ni);return X("getIndentationAtPosition: computeIndentation : "+(Wp()-zn)),Ps}function _i(Bn,Hn,zn,ni){let ts=Ci.getCurrentSourceFile(Bn);return ts_formatting_exports.formatSelection(Hn,zn,ts,ts_formatting_exports.getFormatContext(lu(ni),Me))}function Ca(Bn,Hn){return ts_formatting_exports.formatDocument(Ci.getCurrentSourceFile(Bn),ts_formatting_exports.getFormatContext(lu(Hn),Me))}function St(Bn,Hn,zn,ni){let ts=Ci.getCurrentSourceFile(Bn),Ps=ts_formatting_exports.getFormatContext(lu(ni),Me);if(!isInComment(ts,Hn))switch(zn){case"{":return ts_formatting_exports.formatOnOpeningCurly(Hn,ts,Ps);case"}":return ts_formatting_exports.formatOnClosingCurly(Hn,ts,Ps);case";":return ts_formatting_exports.formatOnSemicolon(Hn,ts,Ps);case`\n`:return ts_formatting_exports.formatOnEnter(Hn,ts,Ps)}return[]}function ue(Bn,Hn,zn,ni,Ci){let Ps=arguments.length>5&&arguments[5]!==void 0?arguments[5]:emptyOptions;Se();let aa=Te(Bn),ca=ha(Hn,zn),_a=ts_formatting_exports.getFormatContext(Ci,Me);return ne(ji(ni,fa,Vr),(Bn=>(oa.throwIfCancellationRequested(),ts_codefix_exports.getFixes({errorCode:Bn,sourceFile:aa,span:ca,program:ts,host:Me,cancellationToken:oa,formatContext:_a,preferences:Ps}))))}function He(Bn,Hn,zn){let ni=arguments.length>3&&arguments[3]!==void 0?arguments[3]:emptyOptions;Se(),qp.assert(Bn.type==="file");let Ci=Te(Bn.fileName),Ps=ts_formatting_exports.getFormatContext(zn,Me);return ts_codefix_exports.getAllFixes({fixId:Hn,sourceFile:Ci,program:ts,host:Me,cancellationToken:oa,formatContext:Ps,preferences:ni})}function _t(Bn,Hn){let zn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:emptyOptions;var ni;Se(),qp.assert(Bn.type==="file");let Ci=Te(Bn.fileName),Ps=ts_formatting_exports.getFormatContext(Hn,Me),aa=(ni=Bn.mode)!=null?ni:Bn.skipDestructiveCodeActions?"SortAndCombine":"All";return ts_OrganizeImports_exports.organizeImports(Ci,Ps,Me,ts,zn,aa)}function ft(Bn,Hn,zn){let ni=arguments.length>3&&arguments[3]!==void 0?arguments[3]:emptyOptions;return getEditsForFileRename(Ye(),Bn,Hn,Me,ts_formatting_exports.getFormatContext(zn,Me),ni,Ha)}function Kt(Me,Bn){let Hn=typeof Me=="string"?Bn:Me;return ir(Hn)?Promise.all(Hn.map((Me=>zt(Me)))):zt(Hn)}function zt(Bn){let ie=Me=>Ui(Me,_a,Ga);return qp.assertEqual(Bn.type,"install package"),Me.installPackage?Me.installPackage({fileName:ie(Bn.file),packageName:Bn.packageName}):Promise.reject("Host does not implement `installPackage`")}function xe(Bn,Hn,zn,ni){let ts=ni?ts_formatting_exports.getFormatContext(ni,Me).options:void 0;return ts_JsDoc_exports.getDocCommentTemplateAtPosition(getNewLineOrDefaultFromHost(Me,ts),Ci.getCurrentSourceFile(Bn),Hn,zn)}function Le(Me,Bn,Hn){if(Hn===60)return!1;let zn=Ci.getCurrentSourceFile(Me);if(isInString(zn,Bn))return!1;if(isInsideJsxElementOrAttribute(zn,Bn))return Hn===123;if(isInTemplateString(zn,Bn))return!1;switch(Hn){case 39:case 34:case 96:return!isInComment(zn,Bn)}return!0}function Re(Me,Bn){let Hn=Ci.getCurrentSourceFile(Me),zn=findPrecedingToken(Bn,Hn);if(!zn)return;let ni=zn.kind===31&&tu(zn.parent)?zn.parent.parent:td(zn)&&l2(zn.parent)?zn.parent:void 0;if(ni&&gr(ni))return{newText:``};let ts=zn.kind===31&&u2(zn.parent)?zn.parent.parent:td(zn)&&pd(zn.parent)?zn.parent:void 0;if(ts&&Ln(ts))return{newText:""}}function ot(Me,Bn){return{lineStarts:Me.getLineStarts(),firstLine:Me.getLineAndCharacterOfPosition(Bn.pos).line,lastLine:Me.getLineAndCharacterOfPosition(Bn.end).line}}function Ct(Me,Bn,Hn){let zn=Ci.getCurrentSourceFile(Me),ni=[],{lineStarts:ts,firstLine:Ps,lastLine:aa}=ot(zn,Bn),oa=Hn||!1,ca=Number.MAX_VALUE,_a=new Map,xa=new RegExp(/\S/),Ga=isInsideJsxElement(zn,ts[Ps]),Ha=Ga?"{/*":"//";for(let Me=Ps;Me<=aa;Me++){let Bn=zn.text.substring(ts[Me],zn.getLineEndOfPosition(ts[Me])),ni=xa.exec(Bn);ni&&(ca=Math.min(ca,ni.index),_a.set(Me.toString(),ni.index),Bn.substr(ni.index,Ha.length)!==Ha&&(oa=Hn===void 0||Hn))}for(let Hn=Ps;Hn<=aa;Hn++){if(Ps!==aa&&ts[Hn]===Bn.end)continue;let Ci=_a.get(Hn.toString());Ci!==void 0&&(Ga?ni.push.apply(ni,Mt(Me,{pos:ts[Hn]+ca,end:zn.getLineEndOfPosition(ts[Hn])},oa,Ga)):oa?ni.push({newText:Ha,span:{length:0,start:ts[Hn]+ca}}):zn.text.substr(ts[Hn]+Ci,Ha.length)===Ha&&ni.push({newText:"",span:{length:Ha.length,start:ts[Hn]+Ci}}))}return ni}function Mt(Me,Bn,Hn,zn){var ni;let ts=Ci.getCurrentSourceFile(Me),Ps=[],{text:aa}=ts,oa=!1,ca=Hn||!1,_a=[],{pos:xa}=Bn,Ga=zn!==void 0?zn:isInsideJsxElement(ts,xa),Ha=Ga?"{/*":"/*",so=Ga?"*/}":"*/",oo=Ga?"\\{\\/\\*":"\\/\\*",Jo=Ga?"\\*\\/\\}":"\\*\\/";for(;xa<=Bn.end;){let Me=aa.substr(xa,Ha.length)===Ha?Ha.length:0,zn=isInComment(ts,xa+Me);if(zn)Ga&&(zn.pos--,zn.end++),_a.push(zn.pos),zn.kind===3&&_a.push(zn.end),oa=!0,xa=zn.end+1;else{let Me=aa.substring(xa,Bn.end).search(`(${oo})|(${Jo})`);ca=Hn!==void 0?Hn:ca||!isTextWhiteSpaceLike(aa,xa,Me===-1?Bn.end:xa+Me),xa=Me===-1?Bn.end+1:xa+Me+so.length}}if(ca||!oa){((ni=isInComment(ts,Bn.pos))==null?void 0:ni.kind)!==2&&Qn(_a,Bn.pos,Vr),Qn(_a,Bn.end,Vr);let Me=_a[0];aa.substr(Me,Ha.length)!==Ha&&Ps.push({newText:Ha,span:{length:0,start:Me}});for(let Me=1;Me<_a.length-1;Me++)aa.substr(_a[Me]-so.length,so.length)!==so&&Ps.push({newText:so,span:{length:0,start:_a[Me]}}),aa.substr(_a[Me],Ha.length)!==Ha&&Ps.push({newText:Ha,span:{length:0,start:_a[Me]}});Ps.length%2!==0&&Ps.push({newText:so,span:{length:0,start:_a[_a.length-1]}})}else for(let Me of _a){let Bn=Me-so.length>0?Me-so.length:0,Hn=aa.substr(Bn,so.length)===so?so.length:0;Ps.push({newText:"",span:{length:Ha.length,start:Me-Hn}})}return Ps}function It(Me,Bn){let Hn=Ci.getCurrentSourceFile(Me),{firstLine:zn,lastLine:ni}=ot(Hn,Bn);return zn===ni&&Bn.pos!==Bn.end?Mt(Me,Bn,!0):Ct(Me,Bn,!0)}function Mr(Me,Bn){let Hn=Ci.getCurrentSourceFile(Me),zn=[],{pos:ni}=Bn,{end:ts}=Bn;ni===ts&&(ts+=isInsideJsxElement(Hn,ni)?2:1);for(let Bn=ni;Bn<=ts;Bn++){let ni=isInComment(Hn,Bn);if(ni){switch(ni.kind){case 2:zn.push.apply(zn,Ct(Me,{end:ni.end,pos:ni.pos+1},!1));break;case 3:zn.push.apply(zn,Mt(Me,{end:ni.end,pos:ni.pos+1},!1))}Bn=ni.end+1}}return zn}function gr(Me){let{openingElement:Bn,closingElement:Hn,parent:zn}=Me;return!Hi(Bn.tagName,Hn.tagName)||l2(zn)&&Hi(Bn.tagName,zn.openingElement.tagName)&&gr(zn)}function Ln(Me){let{closingFragment:Bn,parent:Hn}=Me;return!!(Bn.flags&131072)||pd(Hn)&&Ln(Hn)}function ys(Me,Bn,Hn){let zn=Ci.getCurrentSourceFile(Me),ni=ts_formatting_exports.getRangeOfEnclosingComment(zn,Bn);return ni&&(!Hn||ni.kind===3)?createTextSpanFromRange(ni):void 0}function ci(Me,Bn){Se();let Hn=Te(Me);oa.throwIfCancellationRequested();let zn=Hn.text,ni=[];if(Bn.length>0&&!_e(Hn.fileName)){let Me=it(),Ci;for(;Ci=Me.exec(zn);){oa.throwIfCancellationRequested();let Me=3;qp.assert(Ci.length===Bn.length+Me);let ts=Ci[1],Ps=Ci.index+ts.length;if(!isInComment(Hn,Ps))continue;let aa;for(let Hn=0;Hn"("+T(Me.text)+")")).join("|")+")",Ci=/(?:$|\*\/)/.source,ts=/(?:.*?)/.source,Ps="("+ni+ts+")",aa=zn+Ps+Ci;return new RegExp(aa,"gim")}function mt(Me){return Me>=97&&Me<=122||Me>=65&&Me<=90||Me>=48&&Me<=57}function _e(Me){return Fi(Me,"/node_modules/")}}function Xi(Me,Bn,Hn){return Se(),ts_Rename_exports.getRenameInfo(ts,Te(Me),Bn,Hn||{})}function Aa(Bn,Hn,zn,ni,Ci,ts){let[Ps,aa]=typeof Hn=="number"?[Hn,void 0]:[Hn.pos,Hn.end];return{file:Bn,startPosition:Ps,endPosition:aa,program:Ye(),host:Me,formatContext:ts_formatting_exports.getFormatContext(ni,Me),cancellationToken:oa,preferences:zn,triggerReason:Ci,kind:ts}}function vs(Bn,Hn,zn){return{file:Bn,program:Ye(),host:Me,span:Hn,preferences:zn,cancellationToken:oa}}function $s(Me,Bn){return ts_SmartSelectionRange_exports.getSmartSelectionRange(Bn,Ci.getCurrentSourceFile(Me))}function li(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:emptyOptions,zn=arguments.length>3?arguments[3]:void 0,ni=arguments.length>4?arguments[4]:void 0;Se();let Ci=Te(Me);return ts_refactor_exports.getApplicableRefactors(Aa(Ci,Bn,Hn,emptyOptions,zn,ni))}function Yi(Me,Bn,Hn,zn,ni){let Ci=arguments.length>5&&arguments[5]!==void 0?arguments[5]:emptyOptions;Se();let ts=Te(Me);return ts_refactor_exports.getEditsForRefactor(Aa(ts,Hn,Ci,Bn),zn,ni)}function Qi(Me,Bn){return Bn===0?{line:0,character:0}:Ha.toLineColumnOffset(Me,Bn)}function bs(Me,Bn){Se();let Hn=ts_CallHierarchy_exports.resolveCallHierarchyDeclaration(ts,getTouchingPropertyName(Te(Me),Bn));return Hn&&mapOneOrMany(Hn,(Me=>ts_CallHierarchy_exports.createCallHierarchyItem(ts,Me)))}function Ai(Me,Bn){Se();let Hn=Te(Me),zn=firstOrOnly(ts_CallHierarchy_exports.resolveCallHierarchyDeclaration(ts,Bn===0?Hn:getTouchingPropertyName(Hn,Bn)));return zn?ts_CallHierarchy_exports.getIncomingCalls(ts,zn,oa):[]}function xn(Me,Bn){Se();let Hn=Te(Me),zn=firstOrOnly(ts_CallHierarchy_exports.resolveCallHierarchyDeclaration(ts,Bn===0?Hn:getTouchingPropertyName(Hn,Bn)));return zn?ts_CallHierarchy_exports.getOutgoingCalls(ts,zn):[]}function Dt(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:emptyOptions;Se();let zn=Te(Me);return ts_InlayHints_exports.provideInlayHints(vs(zn,Bn,Hn))}let oo={dispose:pt,cleanupSemanticCache:Ve,getSyntacticDiagnostics:Gt,getSemanticDiagnostics:Nt,getSuggestionDiagnostics:Xt,getCompilerOptionsDiagnostics:er,getSyntacticClassifications:br,getSemanticClassifications:On,getEncodedSyntacticClassifications:Kr,getEncodedSemanticClassifications:nr,getCompletionsAtPosition:Tn,getCompletionEntryDetails:Hr,getCompletionEntrySymbol:Gi,getSignatureHelpItems:Nn,getQuickInfoAtPosition:pn,getDefinitionAtPosition:kn,getDefinitionAndBoundSpan:an,getImplementationAtPosition:$i,getTypeDefinitionAtPosition:mr,getReferencesAtPosition:_r,findReferences:In,getFileReferences:pr,getOccurrencesAtPosition:dn,getDocumentHighlights:Ur,getNameOrDottedNameSpan:oi,getBreakpointStatementAtPosition:cr,getNavigateToItems:Zt,getRenameInfo:Xi,getSmartSelectionRange:$s,findRenameLocations:Gr,getNavigationBarItems:$r,getNavigationTree:hr,getOutliningSpans:wa,getTodoComments:ci,getBraceMatchingAtPosition:Ki,getIndentationAtPosition:Mn,getFormattingEditsForRange:_i,getFormattingEditsForDocument:Ca,getFormattingEditsAfterKeystroke:St,getDocCommentTemplateAtPosition:xe,isValidBraceCompletionAtPosition:Le,getJsxClosingTagAtPosition:Re,getSpanOfEnclosingComment:ys,getCodeFixesAtPosition:ue,getCombinedCodeFix:He,applyCodeActionCommand:Kt,organizeImports:_t,getEditsForFileRename:ft,getEmitOutput:Or,getNonBoundSourceFile:ar,getProgram:Ye,getCurrentProgram:()=>ts,getAutoImportProvider:Ne,updateIsDefinitionOfReferencedSymbols:oe,getApplicableRefactors:li,getEditsForRefactor:Yi,toLineColumnOffset:Qi,getSourceMapper:()=>Ha,clearSourceMapperCache:()=>Ha.clearCache(),prepareCallHierarchy:bs,provideCallHierarchyIncomingCalls:Ai,provideCallHierarchyOutgoingCalls:xn,toggleLineComment:Ct,toggleMultilineComment:Mt,commentSelection:It,uncommentSelection:Mr,provideInlayHints:Dt,getSupportedCodeFixes:v7};switch(ni){case 0:break;case 1:yB.forEach((Me=>oo[Me]=()=>{throw new Error(`LanguageService Operation: ${Me} not allowed in LanguageServiceMode.PartialSemantic`)}));break;case 2:BB.forEach((Me=>oo[Me]=()=>{throw new Error(`LanguageService Operation: ${Me} not allowed in LanguageServiceMode.Syntactic`)}));break;default:qp.assertNever(ni)}return oo}function uB(Me){return Me.nameTable||pB(Me),Me.nameTable}function pB(Me){let Bn=Me.nameTable=new Map;Me.forEachChild((function r(Me){if(yt(Me)&&!isTagName(Me)&&Me.escapedText||Ta(Me)&&fB(Me)){let Hn=b4(Me);Bn.set(Hn,Bn.get(Hn)===void 0?Me.pos:-1)}else if(vn(Me)){let Hn=Me.escapedText;Bn.set(Hn,Bn.get(Hn)===void 0?Me.pos:-1)}if(xr(Me,r),ya(Me))for(let Bn of Me.jsDoc)xr(Bn,r)}))}function fB(Me){return c4(Me)||Me.parent.kind===280||hB(Me)||l4(Me)}function S7(Me){let Bn=dB(Me);return Bn&&(Hs(Bn.parent)||p2(Bn.parent))?Bn:void 0}function dB(Me){switch(Me.kind){case 10:case 14:case 8:if(Me.parent.kind===164)return Wy(Me.parent.parent)?Me.parent.parent:void 0;case 79:return Wy(Me.parent)&&(Me.parent.parent.kind===207||Me.parent.parent.kind===289)&&Me.parent.name===Me?Me.parent:void 0}}function mB(Me,Bn){let Hn=S7(Me);if(Hn){let Me=Bn.getContextualType(Hn.parent),zn=Me&&x7(Hn,Bn,Me,!1);if(zn&&zn.length===1)return fo(zn)}return Bn.getSymbolAtLocation(Me)}function x7(Me,Bn,Hn,zn){let ni=getNameFromPropertyName(Me.name);if(!ni)return ca;if(!Hn.isUnion()){let Me=Hn.getProperty(ni);return Me?[Me]:ca}let Ci=qt(Hn.types,(Hn=>(Hs(Me.parent)||p2(Me.parent))&&Bn.isTypeInvalidDueToUnionDiscriminant(Hn,Me.parent)?void 0:Hn.getProperty(ni)));if(zn&&(Ci.length===0||Ci.length===Hn.types.length)){let Me=Hn.getProperty(ni);if(Me)return[Me]}return Ci.length===0?qt(Hn.types,(Me=>Me.getProperty(ni))):Ci}function hB(Me){return Me&&Me.parent&&Me.parent.kind===209&&Me.parent.argumentExpression===Me}function gB(Me){if(Hy)return tn(ma(Un(Hy.getExecutingFilePath())),aS(Me));throw new Error("getDefaultLibFilePath is only supported when consumed as a node module. ")}var Hw,qw,Jw,$w,Yw,Ww,Kw,zw,Xw,Zw,eS,tS,rS,nS,iS,yB,BB,eT=D({"src/services/services.ts"(){"use strict";rT(),rT(),p7(),f7(),Hw="0.8",qw=class{constructor(Me,Bn,Hn){this.pos=Bn,this.end=Hn,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.kind=Me}assertHasRealPosition(Me){qp.assert(!hs(this.pos)&&!hs(this.end),Me||"Node must have a real position for this operation")}getSourceFile(){return Si(this)}getStart(Me,Bn){return this.assertHasRealPosition(),Io(this,Me,Bn)}getFullStart(){return this.assertHasRealPosition(),this.pos}getEnd(){return this.assertHasRealPosition(),this.end}getWidth(Me){return this.assertHasRealPosition(),this.getEnd()-this.getStart(Me)}getFullWidth(){return this.assertHasRealPosition(),this.end-this.pos}getLeadingTriviaWidth(Me){return this.assertHasRealPosition(),this.getStart(Me)-this.pos}getFullText(Me){return this.assertHasRealPosition(),(Me||this.getSourceFile()).text.substring(this.pos,this.end)}getText(Me){return this.assertHasRealPosition(),Me||(Me=this.getSourceFile()),Me.text.substring(this.getStart(Me),this.getEnd())}getChildCount(Me){return this.getChildren(Me).length}getChildAt(Me,Bn){return this.getChildren(Bn)[Me]}getChildren(Me){return this.assertHasRealPosition("Node without a real position cannot be scanned and thus has no token nodes - use forEachChild and collect the result if that's fine"),this._children||(this._children=sB(this,Me))}getFirstToken(Me){this.assertHasRealPosition();let Bn=this.getChildren(Me);if(!Bn.length)return;let Hn=Ae(Bn,(Me=>Me.kind<312||Me.kind>353));return Hn.kind<163?Hn:Hn.getFirstToken(Me)}getLastToken(Me){this.assertHasRealPosition();let Bn=this.getChildren(Me),Hn=Cn(Bn);if(Hn)return Hn.kind<163?Hn:Hn.getLastToken(Me)}forEachChild(Me,Bn){return xr(this,Me,Bn)}},Jw=class{constructor(Me,Bn){this.pos=Me,this.end=Bn,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0}getSourceFile(){return Si(this)}getStart(Me,Bn){return Io(this,Me,Bn)}getFullStart(){return this.pos}getEnd(){return this.end}getWidth(Me){return this.getEnd()-this.getStart(Me)}getFullWidth(){return this.end-this.pos}getLeadingTriviaWidth(Me){return this.getStart(Me)-this.pos}getFullText(Me){return(Me||this.getSourceFile()).text.substring(this.pos,this.end)}getText(Me){return Me||(Me=this.getSourceFile()),Me.text.substring(this.getStart(Me),this.getEnd())}getChildCount(){return this.getChildren().length}getChildAt(Me){return this.getChildren()[Me]}getChildren(){return this.kind===1&&this.jsDoc||ca}getFirstToken(){}getLastToken(){}forEachChild(){}},$w=class{constructor(Me,Bn){this.id=0,this.mergeId=0,this.flags=Me,this.escapedName=Bn}getFlags(){return this.flags}get name(){return rf(this)}getEscapedName(){return this.escapedName}getName(){return this.name}getDeclarations(){return this.declarations}getDocumentationComment(Me){if(!this.documentationComment)if(this.documentationComment=ca,!this.declarations&&$y(this)&&this.links.target&&$y(this.links.target)&&this.links.target.links.tupleLabelDeclaration){let Bn=this.links.target.links.tupleLabelDeclaration;this.documentationComment=cu([Bn],Me)}else this.documentationComment=cu(this.declarations,Me);return this.documentationComment}getContextualDocumentationComment(Me,Bn){if(Me){if(Tl(Me)&&(this.contextualGetAccessorDocumentationComment||(this.contextualGetAccessorDocumentationComment=cu(ee(this.declarations,Tl),Bn)),I(this.contextualGetAccessorDocumentationComment)))return this.contextualGetAccessorDocumentationComment;if(bl(Me)&&(this.contextualSetAccessorDocumentationComment||(this.contextualSetAccessorDocumentationComment=cu(ee(this.declarations,bl),Bn)),I(this.contextualSetAccessorDocumentationComment)))return this.contextualSetAccessorDocumentationComment}return this.getDocumentationComment(Bn)}getJsDocTags(Me){return this.tags===void 0&&(this.tags=Ed(this.declarations,Me)),this.tags}getContextualJsDocTags(Me,Bn){if(Me){if(Tl(Me)&&(this.contextualGetAccessorTags||(this.contextualGetAccessorTags=Ed(ee(this.declarations,Tl),Bn)),I(this.contextualGetAccessorTags)))return this.contextualGetAccessorTags;if(bl(Me)&&(this.contextualSetAccessorTags||(this.contextualSetAccessorTags=Ed(ee(this.declarations,bl),Bn)),I(this.contextualSetAccessorTags)))return this.contextualSetAccessorTags}return this.getJsDocTags(Bn)}},Yw=class extends Jw{constructor(Me,Bn,Hn){super(Bn,Hn),this.kind=Me}},Ww=class extends Jw{constructor(Me,Bn,Hn){super(Bn,Hn),this.kind=79}get text(){return qr(this)}},Ww.prototype.kind=79,Kw=class extends Jw{constructor(Me,Bn,Hn){super(Bn,Hn),this.kind=80}get text(){return qr(this)}},Kw.prototype.kind=80,zw=class{constructor(Me,Bn){this.checker=Me,this.flags=Bn}getFlags(){return this.flags}getSymbol(){return this.symbol}getProperties(){return this.checker.getPropertiesOfType(this)}getProperty(Me){return this.checker.getPropertyOfType(this,Me)}getApparentProperties(){return this.checker.getAugmentedPropertiesOfType(this)}getCallSignatures(){return this.checker.getSignaturesOfType(this,0)}getConstructSignatures(){return this.checker.getSignaturesOfType(this,1)}getStringIndexType(){return this.checker.getIndexTypeOfType(this,0)}getNumberIndexType(){return this.checker.getIndexTypeOfType(this,1)}getBaseTypes(){return this.isClassOrInterface()?this.checker.getBaseTypes(this):void 0}isNullableType(){return this.checker.isNullableType(this)}getNonNullableType(){return this.checker.getNonNullableType(this)}getNonOptionalType(){return this.checker.getNonOptionalType(this)}getConstraint(){return this.checker.getBaseConstraintOfType(this)}getDefault(){return this.checker.getDefaultFromTypeParameter(this)}isUnion(){return!!(this.flags&1048576)}isIntersection(){return!!(this.flags&2097152)}isUnionOrIntersection(){return!!(this.flags&3145728)}isLiteral(){return!!(this.flags&2432)}isStringLiteral(){return!!(this.flags&128)}isNumberLiteral(){return!!(this.flags&256)}isTypeParameter(){return!!(this.flags&262144)}isClassOrInterface(){return!!(Bf(this)&3)}isClass(){return!!(Bf(this)&1)}isIndexType(){return!!(this.flags&4194304)}get typeArguments(){if(Bf(this)&4)return this.checker.getTypeArguments(this)}},Xw=class{constructor(Me,Bn){this.checker=Me,this.flags=Bn}getDeclaration(){return this.declaration}getTypeParameters(){return this.typeParameters}getParameters(){return this.parameters}getReturnType(){return this.checker.getReturnTypeOfSignature(this)}getTypeParameterAtPosition(Me){let Bn=this.checker.getParameterType(this,Me);if(Bn.isIndexType()&&Kx(Bn.type)){let Me=Bn.type.getConstraint();if(Me)return this.checker.getIndexType(Me)}return Bn}getDocumentationComment(){return this.documentationComment||(this.documentationComment=cu(Cp(this.declaration),this.checker))}getJsDocTags(){return this.jsDocTags||(this.jsDocTags=Ed(Cp(this.declaration),this.checker))}},Zw=class extends qw{constructor(Me,Bn,Hn){super(Me,Bn,Hn),this.kind=308}update(Me,Bn){return k2(this,Me,Bn)}getLineAndCharacterOfPosition(Me){return Ls(this,Me)}getLineStarts(){return ss(this)}getPositionOfLineAndCharacter(Me,Bn,Hn){return dy(ss(this),Me,Bn,this.text,Hn)}getLineEndOfPosition(Me){let{line:Bn}=this.getLineAndCharacterOfPosition(Me),Hn=this.getLineStarts(),zn;Bn+1>=Hn.length&&(zn=this.getEnd()),zn||(zn=Hn[Bn+1]-1);let ni=this.getFullText();return ni[zn]===`\n`&&ni[zn-1]==="\r"?zn-1:zn}getNamedDeclarations(){return this.namedDeclarations||(this.namedDeclarations=this.computeNamedDeclarations()),this.namedDeclarations}computeNamedDeclarations(){let Me=Be();return this.forEachChild(f),Me;function t(Bn){let Hn=s(Bn);Hn&&Me.add(Hn,Bn)}function r(Bn){let Hn=Me.get(Bn);return Hn||Me.set(Bn,Hn=[]),Hn}function s(Me){let Bn=Ey(Me);return Bn&&(Ws(Bn)&&bn(Bn.expression)?Bn.expression.name.text:vl(Bn)?getNameFromPropertyName(Bn):void 0)}function f(Me){switch(Me.kind){case 259:case 215:case 171:case 170:let Bn=Me,Hn=s(Bn);if(Hn){let Me=r(Hn),zn=Cn(Me);zn&&Bn.parent===zn.parent&&Bn.symbol===zn.symbol?Bn.body&&!zn.body&&(Me[Me.length-1]=Bn):Me.push(Bn)}xr(Me,f);break;case 260:case 228:case 261:case 262:case 263:case 264:case 268:case 278:case 273:case 270:case 271:case 174:case 175:case 184:t(Me),xr(Me,f);break;case 166:if(!rn(Me,16476))break;case 257:case 205:{let Bn=Me;if(df(Bn.name)){xr(Bn.name,f);break}Bn.initializer&&f(Bn.initializer)}case 302:case 169:case 168:t(Me);break;case 275:let zn=Me;zn.exportClause&&(iE(zn.exportClause)?c(zn.exportClause.elements,f):f(zn.exportClause.name));break;case 269:let ni=Me.importClause;ni&&(ni.name&&t(ni.name),ni.namedBindings&&(ni.namedBindings.kind===271?t(ni.namedBindings):c(ni.namedBindings.elements,f)));break;case 223:ps(Me)!==0&&t(Me);default:xr(Me,f)}}}},eS=class{constructor(Me,Bn,Hn){this.fileName=Me,this.text=Bn,this.skipTrivia=Hn}getLineAndCharacterOfPosition(Me){return Ls(this,Me)}},tS=class{constructor(Me){this.host=Me}getCurrentSourceFile(Me){var Bn,Hn,zn,ni,Ci,ts,Ps,aa;let oa=this.host.getScriptSnapshot(Me);if(!oa)throw new Error("Could not find file: '"+Me+"'.");let ca=getScriptKind(Me,this.host),_a=this.host.getScriptVersion(Me),xa;if(this.currentFileName!==Me){let Ga={languageVersion:99,impliedNodeFormat:getImpliedNodeFormatForFile(Ui(Me,this.host.getCurrentDirectory(),((zn=(Hn=(Bn=this.host).getCompilerHost)==null?void 0:Hn.call(Bn))==null?void 0:zn.getCanonicalFileName)||D4(this.host)),(aa=(Ps=(ts=(Ci=(ni=this.host).getCompilerHost)==null?void 0:Ci.call(ni))==null?void 0:ts.getModuleResolutionCache)==null?void 0:Ps.call(ts))==null?void 0:aa.getPackageJsonInfoCache(),this.host,this.host.getCompilationSettings()),setExternalModuleIndicator:Ex(this.host.getCompilationSettings())};xa=N2(Me,oa,Ga,_a,!0,ca)}else if(this.currentFileVersion!==_a){let Me=oa.getChangeRange(this.currentFileScriptSnapshot);xa=T7(this.currentSourceFile,oa,_a,Me)}return xa&&(this.currentFileVersion=_a,this.currentFileName=Me,this.currentFileScriptSnapshot=oa,this.currentSourceFile=xa),this.currentSourceFile}},rS={isCancellationRequested:w_,throwIfCancellationRequested:yn},nS=class{constructor(Me){this.cancellationToken=Me}isCancellationRequested(){return this.cancellationToken.isCancellationRequested()}throwIfCancellationRequested(){var Me;if(this.isCancellationRequested())throw(Me=xd)==null||Me.instant(xd.Phase.Session,"cancellationThrown",{kind:"CancellationTokenObject"}),new rg}},iS=class{constructor(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:20;this.hostCancellationToken=Me,this.throttleWaitMilliseconds=Bn,this.lastCancellationCheckTime=0}isCancellationRequested(){let Me=Wp();return Math.abs(Me-this.lastCancellationCheckTime)>=this.throttleWaitMilliseconds?(this.lastCancellationCheckTime=Me,this.hostCancellationToken.isCancellationRequested()):!1}throwIfCancellationRequested(){var Me;if(this.isCancellationRequested())throw(Me=xd)==null||Me.instant(xd.Phase.Session,"cancellationThrown",{kind:"ThrottledCancellationToken"}),new rg}},yB=["getSemanticDiagnostics","getSuggestionDiagnostics","getCompilerOptionsDiagnostics","getSemanticClassifications","getEncodedSemanticClassifications","getCodeFixesAtPosition","getCombinedCodeFix","applyCodeActionCommand","organizeImports","getEditsForFileRename","getEmitOutput","getApplicableRefactors","getEditsForRefactor","prepareCallHierarchy","provideCallHierarchyIncomingCalls","provideCallHierarchyOutgoingCalls","provideInlayHints","getSupportedCodeFixes"],BB=[...yB,"getCompletionsAtPosition","getCompletionEntryDetails","getCompletionEntrySymbol","getSignatureHelpItems","getQuickInfoAtPosition","getDefinitionAtPosition","getDefinitionAndBoundSpan","getImplementationAtPosition","getTypeDefinitionAtPosition","getReferencesAtPosition","findReferences","getOccurrencesAtPosition","getDocumentHighlights","getNavigateToItems","getRenameInfo","findRenameLocations","getApplicableRefactors"],gx(_B())}}),vB=()=>{},bB=()=>{},TB=()=>{},SB=()=>{},xB=()=>{},EB=()=>{},wB=()=>{},CB=()=>{},AB=()=>{},PB=()=>{},DB=()=>{},kB=()=>{},IB=()=>{},NB=()=>{},OB=()=>{},MB=()=>{},LB=()=>{},RB=()=>{},jB=()=>{},JB=()=>{},rT=D({"src/services/_namespaces/ts.ts"(){"use strict";Gw(),l7(),KF(),u7(),XF(),YF(),QF(),ZF(),eB(),tB(),rB(),nB(),iB(),aB(),eT(),vB(),bB(),TB(),SB(),xB(),EB(),wB(),CB(),AB(),PB(),DB(),p7(),f7(),kB(),IB(),NB(),OB(),MB(),LB(),RB(),jB(),JB()}}),FB=()=>{},nT={};y(nT,{ANONYMOUS:()=>ANONYMOUS,AccessFlags:()=>Ig,AssertionLevel:()=>tc,AssignmentDeclarationKind:()=>Pg,AssignmentKind:()=>bC,Associativity:()=>DC,BreakpointResolver:()=>ts_BreakpointResolver_exports,BuilderFileEmit:()=>BuilderFileEmit,BuilderProgramKind:()=>BuilderProgramKind,BuilderState:()=>BuilderState,BundleFileSectionKind:()=>py,CallHierarchy:()=>ts_CallHierarchy_exports,CharacterCodes:()=>zg,CheckFlags:()=>vg,CheckMode:()=>CheckMode,ClassificationType:()=>ClassificationType,ClassificationTypeNames:()=>ClassificationTypeNames,CommentDirectiveType:()=>tg,Comparison:()=>aa,CompletionInfoFlags:()=>CompletionInfoFlags,CompletionTriggerKind:()=>CompletionTriggerKind,Completions:()=>ts_Completions_exports,ConfigFileProgramReloadLevel:()=>ConfigFileProgramReloadLevel,ContextFlags:()=>lg,CoreServicesShimHostAdapter:()=>CoreServicesShimHostAdapter,Debug:()=>qp,DiagnosticCategory:()=>Og,Diagnostics:()=>Sv,DocumentHighlights:()=>DocumentHighlights,ElementFlags:()=>Sg,EmitFlags:()=>Z_,EmitHint:()=>ry,EmitOnly:()=>sg,EndOfLineState:()=>EndOfLineState,EnumKind:()=>yg,ExitStatus:()=>og,ExportKind:()=>ExportKind,Extension:()=>Xg,ExternalEmitHelpers:()=>ty,FileIncludeKind:()=>ng,FilePreprocessingDiagnosticsKind:()=>ig,FileSystemEntryKind:()=>FileSystemEntryKind,FileWatcherEventKind:()=>FileWatcherEventKind,FindAllReferences:()=>ts_FindAllReferences_exports,FlattenLevel:()=>FlattenLevel,FlowFlags:()=>eg,ForegroundColorEscapeSequences:()=>ForegroundColorEscapeSequences,FunctionFlags:()=>CC,GeneratedIdentifierFlags:()=>oA,GetLiteralTextFlags:()=>gC,GoToDefinition:()=>ts_GoToDefinition_exports,HighlightSpanKind:()=>HighlightSpanKind,ImportKind:()=>ImportKind,ImportsNotUsedAsValues:()=>qg,IndentStyle:()=>IndentStyle,IndexKind:()=>Tg,InferenceFlags:()=>Qg,InferencePriority:()=>Ng,InlayHintKind:()=>InlayHintKind,InlayHints:()=>ts_InlayHints_exports,InternalEmitFlags:()=>ey,InternalSymbolName:()=>Eg,InvalidatedProjectKind:()=>InvalidatedProjectKind,JsDoc:()=>ts_JsDoc_exports,JsTyping:()=>ts_JsTyping_exports,JsxEmit:()=>Hg,JsxFlags:()=>Zh,JsxReferenceKind:()=>xg,LanguageServiceMode:()=>LanguageServiceMode,LanguageServiceShimHostAdapter:()=>LanguageServiceShimHostAdapter,LanguageVariant:()=>Wg,LexicalEnvironmentFlags:()=>iy,ListFormat:()=>fy,LogLevel:()=>Vp,MemberOverrideStatus:()=>ug,ModifierFlags:()=>Qh,ModuleDetectionKind:()=>Mg,ModuleInstanceState:()=>ModuleInstanceState,ModuleKind:()=>Vg,ModuleResolutionKind:()=>Lg,ModuleSpecifierEnding:()=>aw,NavigateTo:()=>ts_NavigateTo_exports,NavigationBar:()=>ts_NavigationBar_exports,NewLineKind:()=>Jg,NodeBuilderFlags:()=>pg,NodeCheckFlags:()=>bg,NodeFactoryFlags:()=>hw,NodeFlags:()=>Pd,NodeResolutionFeatures:()=>NodeResolutionFeatures,ObjectFlags:()=>Dg,OperationCanceledException:()=>rg,OperatorPrecedence:()=>wC,OrganizeImports:()=>ts_OrganizeImports_exports,OrganizeImportsMode:()=>OrganizeImportsMode,OuterExpressionKinds:()=>ny,OutliningElementsCollector:()=>ts_OutliningElementsCollector_exports,OutliningSpanKind:()=>OutliningSpanKind,OutputFileType:()=>OutputFileType,PackageJsonAutoImportPreference:()=>PackageJsonAutoImportPreference,PackageJsonDependencyGroup:()=>PackageJsonDependencyGroup,PatternMatchKind:()=>PatternMatchKind,PollingInterval:()=>PollingInterval,PollingWatchKind:()=>Gg,PragmaKindFlags:()=>Ty,PrivateIdentifierKind:()=>PrivateIdentifierKind,ProcessLevel:()=>ProcessLevel,QuotePreference:()=>QuotePreference,RelationComparisonResult:()=>sA,Rename:()=>ts_Rename_exports,ScriptElementKind:()=>ScriptElementKind,ScriptElementKindModifier:()=>ScriptElementKindModifier,ScriptKind:()=>$g,ScriptSnapshot:()=>ScriptSnapshot,ScriptTarget:()=>Yg,SemanticClassificationFormat:()=>SemanticClassificationFormat,SemanticMeaning:()=>SemanticMeaning,SemicolonPreference:()=>SemicolonPreference,SignatureCheckMode:()=>SignatureCheckMode,SignatureFlags:()=>Bg,SignatureHelp:()=>ts_SignatureHelp_exports,SignatureKind:()=>kg,SmartSelectionRange:()=>ts_SmartSelectionRange_exports,SnippetKind:()=>f_,SortKind:()=>Ga,StructureIsReused:()=>ag,SymbolAccessibility:()=>hg,SymbolDisplay:()=>ts_SymbolDisplay_exports,SymbolDisplayPartKind:()=>SymbolDisplayPartKind,SymbolFlags:()=>_g,SymbolFormatFlags:()=>dg,SyntaxKind:()=>Td,SyntheticSymbolKind:()=>Ag,Ternary:()=>Rg,ThrottledCancellationToken:()=>iS,TokenClass:()=>TokenClass,TokenFlags:()=>hA,TransformFlags:()=>Zg,TypeFacts:()=>TypeFacts,TypeFlags:()=>Cg,TypeFormatFlags:()=>fg,TypeMapKind:()=>Fg,TypePredicateKind:()=>mg,TypeReferenceSerializationKind:()=>gg,TypeScriptServicesFactory:()=>TypeScriptServicesFactory,UnionReduction:()=>cg,UpToDateStatusType:()=>UpToDateStatusType,VarianceFlags:()=>wg,Version:()=>Version,VersionRange:()=>VersionRange,WatchDirectoryFlags:()=>Kg,WatchDirectoryKind:()=>Ug,WatchFileKind:()=>jg,WatchLogLevel:()=>WatchLogLevel,WatchType:()=>WatchType,accessPrivateIdentifier:()=>accessPrivateIdentifier,addEmitFlags:()=>addEmitFlags,addEmitHelper:()=>addEmitHelper,addEmitHelpers:()=>addEmitHelpers,addInternalEmitFlags:()=>addInternalEmitFlags,addNodeFactoryPatcher:()=>jL,addObjectAllocatorPatcher:()=>sM,addRange:()=>jr,addRelatedInfo:()=>Rl,addSyntheticLeadingComment:()=>addSyntheticLeadingComment,addSyntheticTrailingComment:()=>addSyntheticTrailingComment,addToSeen:()=>GO,advancedAsyncSuperHelper:()=>advancedAsyncSuperHelper,affectsDeclarationPathOptionDeclarations:()=>affectsDeclarationPathOptionDeclarations,affectsEmitOptionDeclarations:()=>affectsEmitOptionDeclarations,allKeysStartWithDot:()=>allKeysStartWithDot,altDirectorySeparator:()=>vv,and:()=>E5,append:()=>tr,appendIfUnique:()=>g_,arrayFrom:()=>Za,arrayIsEqualTo:()=>Hc,arrayIsHomogeneous:()=>fL,arrayIsSorted:()=>Wc,arrayOf:()=>yo,arrayReverseIterator:()=>y_,arrayToMap:()=>Zc,arrayToMultiMap:()=>bo,arrayToNumericMap:()=>Os,arraysEqual:()=>ke,assertType:()=>C5,assign:()=>vo,assignHelper:()=>assignHelper,asyncDelegator:()=>asyncDelegator,asyncGeneratorHelper:()=>asyncGeneratorHelper,asyncSuperHelper:()=>asyncSuperHelper,asyncValues:()=>asyncValues,attachFileToDiagnostics:()=>qs,awaitHelper:()=>awaitHelper,awaiterHelper:()=>awaiterHelper,base64decode:()=>mO,base64encode:()=>dO,binarySearch:()=>Ya,binarySearchKey:()=>b_,bindSourceFile:()=>bindSourceFile,breakIntoCharacterSpans:()=>breakIntoCharacterSpans,breakIntoWordSpans:()=>breakIntoWordSpans,buildLinkParts:()=>buildLinkParts,buildOpts:()=>buildOpts,buildOverload:()=>buildOverload,bundlerModuleNameResolver:()=>bundlerModuleNameResolver,canBeConvertedToAsync:()=>canBeConvertedToAsync,canHaveDecorators:()=>ME,canHaveExportModifier:()=>AL,canHaveFlowNode:()=>jI,canHaveIllegalDecorators:()=>rJ,canHaveIllegalModifiers:()=>nJ,canHaveIllegalType:()=>tJ,canHaveIllegalTypeParameters:()=>IE,canHaveJSDoc:()=>Af,canHaveLocals:()=>zP,canHaveModifiers:()=>fc,canHaveSymbol:()=>UP,canJsonReportNoInputFiles:()=>canJsonReportNoInputFiles,canProduceDiagnostics:()=>canProduceDiagnostics,canUsePropertyAccess:()=>PL,canWatchDirectoryOrFile:()=>canWatchDirectoryOrFile,cartesianProduct:()=>P5,cast:()=>ti,chainBundle:()=>chainBundle,chainDiagnosticMessages:()=>lM,changeAnyExtension:()=>RT,changeCompilerHostLikeToUseCache:()=>changeCompilerHostLikeToUseCache,changeExtension:()=>KM,changesAffectModuleResolution:()=>cD,changesAffectingProgramStructure:()=>lD,childIsDecorated:()=>h0,classElementOrClassElementParameterIsDecorated:()=>sI,classOrConstructorParameterIsDecorated:()=>aI,classPrivateFieldGetHelper:()=>classPrivateFieldGetHelper,classPrivateFieldInHelper:()=>classPrivateFieldInHelper,classPrivateFieldSetHelper:()=>classPrivateFieldSetHelper,classicNameResolver:()=>classicNameResolver,classifier:()=>ts_classifier_exports,cleanExtendedConfigCache:()=>cleanExtendedConfigCache,clear:()=>nt,clearMap:()=>qO,clearSharedExtendedConfigFileWatcher:()=>clearSharedExtendedConfigFileWatcher,climbPastPropertyAccess:()=>climbPastPropertyAccess,climbPastPropertyOrElementAccess:()=>climbPastPropertyOrElementAccess,clone:()=>E_,cloneCompilerOptions:()=>cloneCompilerOptions,closeFileWatcher:()=>MO,closeFileWatcherOf:()=>closeFileWatcherOf,codefix:()=>ts_codefix_exports,collapseTextChangeRangesAcrossMultipleVersions:()=>CA,collectExternalModuleInfo:()=>collectExternalModuleInfo,combine:()=>$c,combinePaths:()=>tn,commentPragmas:()=>Gy,commonOptionsWithBuild:()=>commonOptionsWithBuild,commonPackageFolders:()=>qC,compact:()=>Gc,compareBooleans:()=>j1,compareDataObjects:()=>px,compareDiagnostics:()=>av,compareDiagnosticsSkipRelatedInformation:()=>qf,compareEmitHelpers:()=>compareEmitHelpers,compareNumberOfDirectorySeparators:()=>$M,comparePaths:()=>tA,comparePathsCaseInsensitive:()=>eA,comparePathsCaseSensitive:()=>Z5,comparePatternKeys:()=>comparePatternKeys,compareProperties:()=>R1,compareStringsCaseInsensitive:()=>C_,compareStringsCaseInsensitiveEslintCompatible:()=>O1,compareStringsCaseSensitive:()=>ri,compareStringsCaseSensitiveUI:()=>L1,compareTextSpans:()=>I1,compareValues:()=>Vr,compileOnSaveCommandLineOption:()=>compileOnSaveCommandLineOption,compilerOptionsAffectDeclarationPath:()=>DM,compilerOptionsAffectEmit:()=>PM,compilerOptionsAffectSemanticDiagnostics:()=>AM,compilerOptionsDidYouMeanDiagnostics:()=>compilerOptionsDidYouMeanDiagnostics,compilerOptionsIndicateEsModules:()=>compilerOptionsIndicateEsModules,compose:()=>k1,computeCommonSourceDirectoryOfFilenames:()=>computeCommonSourceDirectoryOfFilenames,computeLineAndCharacterOfPosition:()=>my,computeLineOfPosition:()=>k_,computeLineStarts:()=>Kp,computePositionOfLineAndCharacter:()=>dy,computeSignature:()=>computeSignature,computeSignatureWithDiagnostics:()=>computeSignatureWithDiagnostics,computeSuggestionDiagnostics:()=>computeSuggestionDiagnostics,concatenate:()=>Ft,concatenateDiagnosticMessageChains:()=>uM,consumesNodeCoreModules:()=>consumesNodeCoreModules,contains:()=>pe,containsIgnoredPath:()=>Hx,containsObjectRestOrSpread:()=>A2,containsParseError:()=>Ky,containsPath:()=>jT,convertCompilerOptionsForTelemetry:()=>convertCompilerOptionsForTelemetry,convertCompilerOptionsFromJson:()=>convertCompilerOptionsFromJson,convertJsonOption:()=>convertJsonOption,convertToBase64:()=>ix,convertToObject:()=>convertToObject,convertToObjectWorker:()=>convertToObjectWorker,convertToOptionsWithAbsolutePaths:()=>convertToOptionsWithAbsolutePaths,convertToRelativePath:()=>nA,convertToTSConfig:()=>convertToTSConfig,convertTypeAcquisitionFromJson:()=>convertTypeAcquisitionFromJson,copyComments:()=>copyComments,copyEntries:()=>dD,copyLeadingComments:()=>copyLeadingComments,copyProperties:()=>H,copyTrailingAsLeadingComments:()=>copyTrailingAsLeadingComments,copyTrailingComments:()=>copyTrailingComments,couldStartTrivia:()=>pA,countWhere:()=>Xe,createAbstractBuilder:()=>createAbstractBuilder,createAccessorPropertyBackingField:()=>LJ,createAccessorPropertyGetRedirector:()=>RJ,createAccessorPropertySetRedirector:()=>jJ,createBaseNodeFactory:()=>S8,createBinaryExpressionTrampoline:()=>PJ,createBindingHelper:()=>createBindingHelper,createBuildInfo:()=>createBuildInfo,createBuilderProgram:()=>createBuilderProgram,createBuilderProgramUsingProgramBuildInfo:()=>createBuilderProgramUsingProgramBuildInfo,createBuilderStatusReporter:()=>createBuilderStatusReporter,createCacheWithRedirects:()=>createCacheWithRedirects,createCacheableExportInfoMap:()=>createCacheableExportInfoMap,createCachedDirectoryStructureHost:()=>createCachedDirectoryStructureHost,createClassifier:()=>createClassifier,createCommentDirectivesMap:()=>JD,createCompilerDiagnostic:()=>Ol,createCompilerDiagnosticForInvalidCustomType:()=>createCompilerDiagnosticForInvalidCustomType,createCompilerDiagnosticFromMessageChain:()=>cM,createCompilerHost:()=>createCompilerHost,createCompilerHostFromProgramHost:()=>createCompilerHostFromProgramHost,createCompilerHostWorker:()=>createCompilerHostWorker,createDetachedDiagnostic:()=>Ro,createDiagnosticCollection:()=>TN,createDiagnosticForFileFromMessageChain:()=>mk,createDiagnosticForNode:()=>uk,createDiagnosticForNodeArray:()=>pk,createDiagnosticForNodeArrayFromMessageChain:()=>dk,createDiagnosticForNodeFromMessageChain:()=>fk,createDiagnosticForNodeInSourceFile:()=>P3,createDiagnosticForRange:()=>gk,createDiagnosticMessageChainFromDiagnostic:()=>hk,createDiagnosticReporter:()=>createDiagnosticReporter,createDocumentPositionMapper:()=>createDocumentPositionMapper,createDocumentRegistry:()=>createDocumentRegistry,createDocumentRegistryInternal:()=>createDocumentRegistryInternal,createEmitAndSemanticDiagnosticsBuilderProgram:()=>createEmitAndSemanticDiagnosticsBuilderProgram,createEmitHelperFactory:()=>createEmitHelperFactory,createEmptyExports:()=>Dj,createExpressionForJsxElement:()=>Ij,createExpressionForJsxFragment:()=>Nj,createExpressionForObjectLiteralElementLike:()=>Fj,createExpressionForPropertyName:()=>vE,createExpressionFromEntityName:()=>yE,createExternalHelpersImportDeclarationIfNeeded:()=>$j,createFileDiagnostic:()=>iv,createFileDiagnosticFromMessageChain:()=>r0,createForOfBindingStatement:()=>Oj,createGetCanonicalFileName:()=>wp,createGetSourceFile:()=>createGetSourceFile,createGetSymbolAccessibilityDiagnosticForNode:()=>createGetSymbolAccessibilityDiagnosticForNode,createGetSymbolAccessibilityDiagnosticForNodeName:()=>createGetSymbolAccessibilityDiagnosticForNodeName,createGetSymbolWalker:()=>createGetSymbolWalker,createIncrementalCompilerHost:()=>createIncrementalCompilerHost,createIncrementalProgram:()=>createIncrementalProgram,createInputFiles:()=>VL,createInputFilesWithFilePaths:()=>C8,createInputFilesWithFileTexts:()=>A8,createJsxFactoryExpression:()=>gE,createLanguageService:()=>lB,createLanguageServiceSourceFile:()=>N2,createMemberAccessForPropertyName:()=>hd,createModeAwareCache:()=>createModeAwareCache,createModeAwareCacheKey:()=>createModeAwareCacheKey,createModuleResolutionCache:()=>createModuleResolutionCache,createModuleResolutionLoader:()=>createModuleResolutionLoader,createModuleSpecifierResolutionHost:()=>createModuleSpecifierResolutionHost,createMultiMap:()=>Be,createNodeConverters:()=>x8,createNodeFactory:()=>Zf,createOptionNameMap:()=>createOptionNameMap,createOverload:()=>createOverload,createPackageJsonImportFilter:()=>createPackageJsonImportFilter,createPackageJsonInfo:()=>createPackageJsonInfo,createParenthesizerRules:()=>createParenthesizerRules,createPatternMatcher:()=>createPatternMatcher,createPrependNodes:()=>createPrependNodes,createPrinter:()=>createPrinter,createPrinterWithDefaults:()=>createPrinterWithDefaults,createPrinterWithRemoveComments:()=>createPrinterWithRemoveComments,createPrinterWithRemoveCommentsNeverAsciiEscape:()=>createPrinterWithRemoveCommentsNeverAsciiEscape,createPrinterWithRemoveCommentsOmitTrailingSemicolon:()=>createPrinterWithRemoveCommentsOmitTrailingSemicolon,createProgram:()=>createProgram,createProgramHost:()=>createProgramHost,createPropertyNameNodeForIdentifierOrLiteral:()=>EL,createQueue:()=>Fr,createRange:()=>Jf,createRedirectedBuilderProgram:()=>createRedirectedBuilderProgram,createResolutionCache:()=>createResolutionCache,createRuntimeTypeSerializer:()=>createRuntimeTypeSerializer,createScanner:()=>Po,createSemanticDiagnosticsBuilderProgram:()=>createSemanticDiagnosticsBuilderProgram,createSet:()=>Cr,createSolutionBuilder:()=>createSolutionBuilder,createSolutionBuilderHost:()=>createSolutionBuilderHost,createSolutionBuilderWithWatch:()=>createSolutionBuilderWithWatch,createSolutionBuilderWithWatchHost:()=>createSolutionBuilderWithWatchHost,createSortedArray:()=>zc,createSourceFile:()=>YE,createSourceMapGenerator:()=>createSourceMapGenerator,createSourceMapSource:()=>HL,createSuperAccessVariableStatement:()=>createSuperAccessVariableStatement,createSymbolTable:()=>oD,createSymlinkCache:()=>MM,createSystemWatchFunctions:()=>createSystemWatchFunctions,createTextChange:()=>createTextChange,createTextChangeFromStartLength:()=>createTextChangeFromStartLength,createTextChangeRange:()=>Zp,createTextRangeFromNode:()=>createTextRangeFromNode,createTextRangeFromSpan:()=>createTextRangeFromSpan,createTextSpan:()=>L_,createTextSpanFromBounds:()=>ha,createTextSpanFromNode:()=>createTextSpanFromNode,createTextSpanFromRange:()=>createTextSpanFromRange,createTextSpanFromStringLiteralLikeContent:()=>createTextSpanFromStringLiteralLikeContent,createTextWriter:()=>DN,createTokenRange:()=>bO,createTypeChecker:()=>createTypeChecker,createTypeReferenceDirectiveResolutionCache:()=>createTypeReferenceDirectiveResolutionCache,createTypeReferenceResolutionLoader:()=>createTypeReferenceResolutionLoader,createUnderscoreEscapedMultiMap:()=>Ht,createUnparsedSourceFile:()=>UL,createWatchCompilerHost:()=>createWatchCompilerHost2,createWatchCompilerHostOfConfigFile:()=>createWatchCompilerHostOfConfigFile,createWatchCompilerHostOfFilesAndCompilerOptions:()=>createWatchCompilerHostOfFilesAndCompilerOptions,createWatchFactory:()=>createWatchFactory,createWatchHost:()=>createWatchHost,createWatchProgram:()=>createWatchProgram,createWatchStatusReporter:()=>createWatchStatusReporter,createWriteFileMeasuringIO:()=>createWriteFileMeasuringIO,declarationNameToString:()=>A3,decodeMappings:()=>decodeMappings,decodedTextSpanIntersectsWith:()=>Sy,decorateHelper:()=>decorateHelper,deduplicate:()=>ji,defaultIncludeSpec:()=>defaultIncludeSpec,defaultInitCompilerOptions:()=>defaultInitCompilerOptions,defaultMaximumTruncationLength:()=>hC,detectSortCaseSensitivity:()=>Vc,diagnosticCategoryName:()=>z5,diagnosticToString:()=>diagnosticToString,directoryProbablyExists:()=>sx,directorySeparator:()=>Av,displayPart:()=>displayPart,displayPartsToString:()=>cB,disposeEmitNodes:()=>disposeEmitNodes,documentSpansEqual:()=>documentSpansEqual,dumpTracingLegend:()=>dumpTracingLegend,elementAt:()=>Ha,elideNodes:()=>IJ,emitComments:()=>U4,emitDetachedComments:()=>GN,emitFiles:()=>emitFiles,emitFilesAndReportErrors:()=>emitFilesAndReportErrors,emitFilesAndReportErrorsAndGetExitStatus:()=>emitFilesAndReportErrorsAndGetExitStatus,emitModuleKindIsNonNodeESM:()=>mM,emitNewLineBeforeLeadingCommentOfPosition:()=>HN,emitNewLineBeforeLeadingComments:()=>B4,emitNewLineBeforeLeadingCommentsOfPosition:()=>q4,emitSkippedWithNoDiagnostics:()=>emitSkippedWithNoDiagnostics,emitUsingBuildInfo:()=>emitUsingBuildInfo,emptyArray:()=>ca,emptyFileSystemEntries:()=>uw,emptyMap:()=>_a,emptyOptions:()=>emptyOptions,emptySet:()=>xa,endsWith:()=>es,ensurePathIsNonModuleName:()=>_y,ensureScriptKind:()=>Nx,ensureTrailingDirectorySeparator:()=>wo,entityNameToString:()=>ls,enumerateInsertsAndDeletes:()=>A5,equalOwnProperties:()=>S_,equateStringsCaseInsensitive:()=>Ms,equateStringsCaseSensitive:()=>To,equateValues:()=>fa,esDecorateHelper:()=>esDecorateHelper,escapeJsxAttributeString:()=>A4,escapeLeadingUnderscores:()=>vi,escapeNonAsciiString:()=>Of,escapeSnippetText:()=>xL,escapeString:()=>Nf,every:()=>me,expandPreOrPostfixIncrementOrDecrementExpression:()=>Bj,explainFiles:()=>explainFiles,explainIfFileIsRedirectAndImpliedFormat:()=>explainIfFileIsRedirectAndImpliedFormat,exportAssignmentIsAlias:()=>I0,exportStarHelper:()=>exportStarHelper,expressionResultIsUnused:()=>gL,extend:()=>S,extendsHelper:()=>extendsHelper,extensionFromPath:()=>QM,extensionIsTS:()=>qx,externalHelpersModuleNameText:()=>dC,factory:()=>vw,fileExtensionIs:()=>ns,fileExtensionIsOneOf:()=>da,fileIncludeReasonToDiagnostics:()=>fileIncludeReasonToDiagnostics,filter:()=>ee,filterMutate:()=>je,filterSemanticDiagnostics:()=>filterSemanticDiagnostics,find:()=>Ae,findAncestor:()=>zi,findBestPatternMatch:()=>TT,findChildOfKind:()=>findChildOfKind,findComputedPropertyNameCacheAssignment:()=>JJ,findConfigFile:()=>findConfigFile,findContainingList:()=>findContainingList,findDiagnosticForNode:()=>findDiagnosticForNode,findFirstNonJsxWhitespaceToken:()=>findFirstNonJsxWhitespaceToken,findIndex:()=>he,findLast:()=>te,findLastIndex:()=>Pe,findListItemInfo:()=>findListItemInfo,findMap:()=>R,findModifier:()=>findModifier,findNextToken:()=>findNextToken,findPackageJson:()=>findPackageJson,findPackageJsons:()=>findPackageJsons,findPrecedingMatchingToken:()=>findPrecedingMatchingToken,findPrecedingToken:()=>findPrecedingToken,findSuperStatementIndex:()=>findSuperStatementIndex,findTokenOnLeftOfPosition:()=>findTokenOnLeftOfPosition,findUseStrictPrologue:()=>TE,first:()=>fo,firstDefined:()=>q,firstDefinedIterator:()=>W,firstIterator:()=>v_,firstOrOnly:()=>firstOrOnly,firstOrUndefined:()=>pa,firstOrUndefinedIterator:()=>Xc,fixupCompilerOptions:()=>fixupCompilerOptions,flatMap:()=>ne,flatMapIterator:()=>Fe,flatMapToMutable:()=>ge,flatten:()=>ct,flattenCommaList:()=>BJ,flattenDestructuringAssignment:()=>flattenDestructuringAssignment,flattenDestructuringBinding:()=>flattenDestructuringBinding,flattenDiagnosticMessageText:()=>flattenDiagnosticMessageText,forEach:()=>c,forEachAncestor:()=>uD,forEachAncestorDirectory:()=>FT,forEachChild:()=>xr,forEachChildRecursively:()=>D2,forEachEmittedFile:()=>forEachEmittedFile,forEachEnclosingBlockScopeContainer:()=>ok,forEachEntry:()=>pD,forEachExternalModuleToImportFrom:()=>forEachExternalModuleToImportFrom,forEachImportClauseDeclaration:()=>NI,forEachKey:()=>fD,forEachLeadingCommentRange:()=>fA,forEachNameInAccessChainWalkingLeft:()=>QO,forEachResolvedProjectReference:()=>forEachResolvedProjectReference,forEachReturnStatement:()=>Pk,forEachRight:()=>M,forEachTrailingCommentRange:()=>dA,forEachUnique:()=>forEachUnique,forEachYieldExpression:()=>Dk,forSomeAncestorDirectory:()=>WO,formatColorAndReset:()=>formatColorAndReset,formatDiagnostic:()=>formatDiagnostic,formatDiagnostics:()=>formatDiagnostics,formatDiagnosticsWithColorAndContext:()=>formatDiagnosticsWithColorAndContext,formatGeneratedName:()=>bd,formatGeneratedNamePart:()=>C2,formatLocation:()=>formatLocation,formatMessage:()=>_M,formatStringFromArgs:()=>X_,formatting:()=>ts_formatting_exports,fullTripleSlashAMDReferencePathRegEx:()=>vC,fullTripleSlashReferencePathRegEx:()=>_C,generateDjb2Hash:()=>generateDjb2Hash,generateTSConfig:()=>generateTSConfig,generatorHelper:()=>generatorHelper,getAdjustedReferenceLocation:()=>getAdjustedReferenceLocation,getAdjustedRenameLocation:()=>getAdjustedRenameLocation,getAliasDeclarationFromName:()=>u4,getAllAccessorDeclarations:()=>W0,getAllDecoratorsOfClass:()=>getAllDecoratorsOfClass,getAllDecoratorsOfClassElement:()=>getAllDecoratorsOfClassElement,getAllJSDocTags:()=>MS,getAllJSDocTagsOfKind:()=>UA,getAllKeys:()=>T_,getAllProjectOutputs:()=>getAllProjectOutputs,getAllSuperTypeNodes:()=>h4,getAllUnscopedEmitHelpers:()=>getAllUnscopedEmitHelpers,getAllowJSCompilerOption:()=>Ax,getAllowSyntheticDefaultImports:()=>TM,getAncestor:()=>eN,getAnyExtensionFromPath:()=>Gp,getAreDeclarationMapsEnabled:()=>bM,getAssignedExpandoInitializer:()=>bI,getAssignedName:()=>yS,getAssignmentDeclarationKind:()=>ps,getAssignmentDeclarationPropertyAccessKind:()=>K3,getAssignmentTargetKind:()=>o4,getAutomaticTypeDirectiveNames:()=>getAutomaticTypeDirectiveNames,getBaseFileName:()=>sl,getBinaryOperatorPrecedence:()=>Dl,getBuildInfo:()=>getBuildInfo,getBuildInfoFileVersionMap:()=>getBuildInfoFileVersionMap,getBuildInfoText:()=>getBuildInfoText,getBuildOrderFromAnyBuildOrder:()=>getBuildOrderFromAnyBuildOrder,getBuilderCreationParameters:()=>getBuilderCreationParameters,getBuilderFileEmit:()=>getBuilderFileEmit,getCheckFlags:()=>ux,getClassExtendsHeritageElement:()=>d4,getClassLikeDeclarationOfSymbol:()=>dx,getCombinedLocalAndExportSymbolFlags:()=>jO,getCombinedModifierFlags:()=>ef,getCombinedNodeFlags:()=>tf,getCombinedNodeFlagsAlwaysIncludeJSDoc:()=>PA,getCommentRange:()=>getCommentRange,getCommonSourceDirectory:()=>getCommonSourceDirectory,getCommonSourceDirectoryOfConfig:()=>getCommonSourceDirectoryOfConfig,getCompilerOptionValue:()=>uv,getCompilerOptionsDiffValue:()=>getCompilerOptionsDiffValue,getConditions:()=>getConditions,getConfigFileParsingDiagnostics:()=>getConfigFileParsingDiagnostics,getConstantValue:()=>getConstantValue,getContainerNode:()=>getContainerNode,getContainingClass:()=>Vk,getContainingClassStaticBlock:()=>Hk,getContainingFunction:()=>zk,getContainingFunctionDeclaration:()=>Wk,getContainingFunctionOrClassStaticBlock:()=>Gk,getContainingNodeArray:()=>yL,getContainingObjectLiteralElement:()=>S7,getContextualTypeFromParent:()=>getContextualTypeFromParent,getContextualTypeFromParentOrAncestorTypeNode:()=>getContextualTypeFromParentOrAncestorTypeNode,getCurrentTime:()=>getCurrentTime,getDeclarationDiagnostics:()=>getDeclarationDiagnostics,getDeclarationEmitExtensionForPath:()=>O4,getDeclarationEmitOutputFilePath:()=>ON,getDeclarationEmitOutputFilePathWorker:()=>N4,getDeclarationFromName:()=>XI,getDeclarationModifierFlagsFromSymbol:()=>LO,getDeclarationOfKind:()=>aD,getDeclarationsOfKind:()=>sD,getDeclaredExpandoInitializer:()=>yI,getDecorators:()=>kA,getDefaultCompilerOptions:()=>y7,getDefaultExportInfoWorker:()=>getDefaultExportInfoWorker,getDefaultFormatCodeSettings:()=>getDefaultFormatCodeSettings,getDefaultLibFileName:()=>aS,getDefaultLibFilePath:()=>gB,getDefaultLikeExportInfo:()=>getDefaultLikeExportInfo,getDiagnosticText:()=>getDiagnosticText,getDiagnosticsWithinSpan:()=>getDiagnosticsWithinSpan,getDirectoryPath:()=>ma,getDocumentPositionMapper:()=>getDocumentPositionMapper,getESModuleInterop:()=>ov,getEditsForFileRename:()=>getEditsForFileRename,getEffectiveBaseTypeNode:()=>f4,getEffectiveConstraintOfTypeParameter:()=>HA,getEffectiveContainerForJSDocTemplateTag:()=>FI,getEffectiveImplementsTypeNodes:()=>m4,getEffectiveInitializer:()=>V3,getEffectiveJSDocHost:()=>A0,getEffectiveModifierFlags:()=>Rf,getEffectiveModifierFlagsAlwaysIncludeJSDoc:()=>K4,getEffectiveModifierFlagsNoCache:()=>Y4,getEffectiveReturnTypeNode:()=>zN,getEffectiveSetAccessorTypeAnnotationNode:()=>VN,getEffectiveTypeAnnotationNode:()=>V0,getEffectiveTypeParameterDeclarations:()=>VA,getEffectiveTypeRoots:()=>getEffectiveTypeRoots,getElementOrPropertyAccessArgumentExpressionOrName:()=>Cf,getElementOrPropertyAccessName:()=>Fs,getElementsOfBindingOrAssignmentPattern:()=>kE,getEmitDeclarations:()=>cv,getEmitFlags:()=>xi,getEmitHelpers:()=>getEmitHelpers,getEmitModuleDetectionKind:()=>wx,getEmitModuleKind:()=>Ei,getEmitModuleResolutionKind:()=>Ml,getEmitScriptTarget:()=>Uf,getEnclosingBlockScopeContainer:()=>Zy,getEncodedSemanticClassifications:()=>getEncodedSemanticClassifications,getEncodedSyntacticClassifications:()=>getEncodedSyntacticClassifications,getEndLinePosition:()=>d3,getEntityNameFromTypeNode:()=>nI,getEntrypointsFromPackageJsonInfo:()=>getEntrypointsFromPackageJsonInfo,getErrorCountForSummary:()=>getErrorCountForSummary,getErrorSpanForNode:()=>i0,getErrorSummaryText:()=>getErrorSummaryText,getEscapedTextOfIdentifierOrLiteral:()=>b4,getExpandoInitializer:()=>U_,getExportAssignmentExpression:()=>p4,getExportInfoMap:()=>getExportInfoMap,getExportNeedsImportStarHelper:()=>getExportNeedsImportStarHelper,getExpressionAssociativity:()=>yN,getExpressionPrecedence:()=>vN,getExternalHelpersModuleName:()=>EE,getExternalModuleImportEqualsDeclarationExpression:()=>_I,getExternalModuleName:()=>E0,getExternalModuleNameFromDeclaration:()=>IN,getExternalModuleNameFromPath:()=>F0,getExternalModuleNameLiteral:()=>Xj,getExternalModuleRequireArgument:()=>cI,getFallbackOptions:()=>getFallbackOptions,getFileEmitOutput:()=>getFileEmitOutput,getFileMatcherPatterns:()=>Ix,getFileNamesFromConfigSpecs:()=>getFileNamesFromConfigSpecs,getFileWatcherEventKind:()=>getFileWatcherEventKind,getFilesInErrorForSummary:()=>getFilesInErrorForSummary,getFirstConstructorWithBody:()=>R4,getFirstIdentifier:()=>iO,getFirstNonSpaceCharacterPosition:()=>getFirstNonSpaceCharacterPosition,getFirstProjectOutput:()=>getFirstProjectOutput,getFixableErrorSpanExpression:()=>getFixableErrorSpanExpression,getFormatCodeSettingsForWriting:()=>getFormatCodeSettingsForWriting,getFullWidth:()=>hf,getFunctionFlags:()=>sN,getHeritageClause:()=>Pf,getHostSignatureFromJSDoc:()=>C0,getIdentifierAutoGenerate:()=>getIdentifierAutoGenerate,getIdentifierGeneratedImportReference:()=>getIdentifierGeneratedImportReference,getIdentifierTypeArguments:()=>getIdentifierTypeArguments,getImmediatelyInvokedFunctionExpression:()=>Qk,getImpliedNodeFormatForFile:()=>getImpliedNodeFormatForFile,getImpliedNodeFormatForFileWorker:()=>getImpliedNodeFormatForFileWorker,getImportNeedsImportDefaultHelper:()=>getImportNeedsImportDefaultHelper,getImportNeedsImportStarHelper:()=>getImportNeedsImportStarHelper,getIndentSize:()=>Oo,getIndentString:()=>j0,getInitializedVariables:()=>NO,getInitializerOfBinaryExpression:()=>X3,getInitializerOfBindingOrAssignmentElement:()=>AE,getInterfaceBaseTypeNodes:()=>g4,getInternalEmitFlags:()=>zD,getInvokedExpression:()=>iI,getIsolatedModules:()=>zf,getJSDocAugmentsTag:()=>ES,getJSDocClassTag:()=>NA,getJSDocCommentRanges:()=>I3,getJSDocCommentsAndTags:()=>r4,getJSDocDeprecatedTag:()=>jA,getJSDocDeprecatedTagNoCache:()=>IS,getJSDocEnumTag:()=>JA,getJSDocHost:()=>s4,getJSDocImplementsTags:()=>wS,getJSDocOverrideTagNoCache:()=>kS,getJSDocParameterTags:()=>of,getJSDocParameterTagsNoCache:()=>bS,getJSDocPrivateTag:()=>MA,getJSDocPrivateTagNoCache:()=>AS,getJSDocProtectedTag:()=>LA,getJSDocProtectedTagNoCache:()=>PS,getJSDocPublicTag:()=>OA,getJSDocPublicTagNoCache:()=>CS,getJSDocReadonlyTag:()=>RA,getJSDocReadonlyTagNoCache:()=>DS,getJSDocReturnTag:()=>NS,getJSDocReturnType:()=>OS,getJSDocRoot:()=>P0,getJSDocSatisfiesExpressionType:()=>NL,getJSDocSatisfiesTag:()=>wy,getJSDocTags:()=>hl,getJSDocTagsNoCache:()=>qA,getJSDocTemplateTag:()=>BA,getJSDocThisTag:()=>FA,getJSDocType:()=>cf,getJSDocTypeAliasName:()=>w2,getJSDocTypeAssertionType:()=>Wj,getJSDocTypeParameterDeclarations:()=>F4,getJSDocTypeParameterTags:()=>SS,getJSDocTypeParameterTagsNoCache:()=>xS,getJSDocTypeTag:()=>_f,getJSXImplicitImportBase:()=>IM,getJSXRuntimeImport:()=>NM,getJSXTransformEnabled:()=>kM,getKeyForCompilerOptions:()=>getKeyForCompilerOptions,getLanguageVariant:()=>sv,getLastChild:()=>mx,getLeadingCommentRanges:()=>Ao,getLeadingCommentRangesOfNode:()=>Ck,getLeftmostAccessExpression:()=>rv,getLeftmostExpression:()=>ZO,getLineAndCharacterOfPosition:()=>Ls,getLineInfo:()=>getLineInfo,getLineOfLocalPosition:()=>FN,getLineOfLocalPositionFromLineMap:()=>ds,getLineStartPositionForPosition:()=>getLineStartPositionForPosition,getLineStarts:()=>ss,getLinesBetweenPositionAndNextNonWhitespaceCharacter:()=>DO,getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter:()=>PO,getLinesBetweenPositions:()=>I_,getLinesBetweenRangeEndAndRangeStart:()=>wO,getLinesBetweenRangeEndPositions:()=>CO,getLiteralText:()=>WD,getLocalNameForExternalImport:()=>Kj,getLocalSymbolForExportDefault:()=>cO,getLocaleSpecificMessage:()=>Y_,getLocaleTimeString:()=>getLocaleTimeString,getMappedContextSpan:()=>getMappedContextSpan,getMappedDocumentSpan:()=>getMappedDocumentSpan,getMappedLocation:()=>getMappedLocation,getMatchedFileSpec:()=>getMatchedFileSpec,getMatchedIncludeSpec:()=>getMatchedIncludeSpec,getMeaningFromDeclaration:()=>getMeaningFromDeclaration,getMeaningFromLocation:()=>getMeaningFromLocation,getMembersOfDeclaration:()=>Ik,getModeForFileReference:()=>getModeForFileReference,getModeForResolutionAtIndex:()=>getModeForResolutionAtIndex,getModeForUsageLocation:()=>getModeForUsageLocation,getModifiedTime:()=>getModifiedTime,getModifiers:()=>sf,getModuleInstanceState:()=>getModuleInstanceState,getModuleNameStringLiteralAt:()=>getModuleNameStringLiteralAt,getModuleSpecifierEndingPreference:()=>VM,getModuleSpecifierResolverHost:()=>getModuleSpecifierResolverHost,getNameForExportedSymbol:()=>getNameForExportedSymbol,getNameFromIndexInfo:()=>_k,getNameFromPropertyName:()=>getNameFromPropertyName,getNameOfAccessExpression:()=>KO,getNameOfCompilerOptionValue:()=>getNameOfCompilerOptionValue,getNameOfDeclaration:()=>ml,getNameOfExpando:()=>xI,getNameOfJSDocTypedef:()=>gS,getNameOrArgument:()=>$3,getNameTable:()=>uB,getNamesForExportedSymbol:()=>getNamesForExportedSymbol,getNamespaceDeclarationNode:()=>Q3,getNewLineCharacter:()=>ox,getNewLineKind:()=>getNewLineKind,getNewLineOrDefaultFromHost:()=>getNewLineOrDefaultFromHost,getNewTargetContainer:()=>Xk,getNextJSDocCommentLocation:()=>a4,getNodeForGeneratedName:()=>NJ,getNodeId:()=>getNodeId,getNodeKind:()=>getNodeKind,getNodeModifiers:()=>getNodeModifiers,getNodeModulePathParts:()=>wL,getNonAssignedNameOfDeclaration:()=>Ey,getNonAssignmentOperatorForCompoundAssignment:()=>getNonAssignmentOperatorForCompoundAssignment,getNonAugmentationDeclaration:()=>E3,getNonDecoratorTokenPosOfNode:()=>FD,getNormalizedAbsolutePath:()=>as,getNormalizedAbsolutePathWithoutRoot:()=>Q5,getNormalizedPathComponents:()=>$p,getObjectFlags:()=>Bf,getOperator:()=>R0,getOperatorAssociativity:()=>x4,getOperatorPrecedence:()=>E4,getOptionFromName:()=>getOptionFromName,getOptionsNameMap:()=>getOptionsNameMap,getOrCreateEmitNode:()=>getOrCreateEmitNode,getOrCreateExternalHelpersModuleNameIfNeeded:()=>wE,getOrUpdate:()=>la,getOriginalNode:()=>ul,getOriginalNodeId:()=>getOriginalNodeId,getOriginalSourceFile:()=>gN,getOutputDeclarationFileName:()=>getOutputDeclarationFileName,getOutputExtension:()=>getOutputExtension,getOutputFileNames:()=>getOutputFileNames,getOutputPathsFor:()=>getOutputPathsFor,getOutputPathsForBundle:()=>getOutputPathsForBundle,getOwnEmitOutputFilePath:()=>NN,getOwnKeys:()=>ho,getOwnValues:()=>go,getPackageJsonInfo:()=>getPackageJsonInfo,getPackageJsonTypesVersionsPaths:()=>getPackageJsonTypesVersionsPaths,getPackageJsonsVisibleToFile:()=>getPackageJsonsVisibleToFile,getPackageNameFromTypesPackageName:()=>getPackageNameFromTypesPackageName,getPackageScopeForPath:()=>getPackageScopeForPath,getParameterSymbolFromJSDoc:()=>JI,getParameterTypeNode:()=>CL,getParentNodeInSpan:()=>getParentNodeInSpan,getParseTreeNode:()=>fl,getParsedCommandLineOfConfigFile:()=>getParsedCommandLineOfConfigFile,getPathComponents:()=>qi,getPathComponentsRelativeTo:()=>ly,getPathFromPathComponents:()=>xo,getPathUpdater:()=>getPathUpdater,getPathsBasePath:()=>LN,getPatternFromSpec:()=>BM,getPendingEmitKind:()=>getPendingEmitKind,getPositionOfLineAndCharacter:()=>lA,getPossibleGenericSignatures:()=>getPossibleGenericSignatures,getPossibleOriginalInputExtensionForExtension:()=>MN,getPossibleTypeArgumentsInfo:()=>getPossibleTypeArgumentsInfo,getPreEmitDiagnostics:()=>getPreEmitDiagnostics,getPrecedingNonSpaceCharacterPosition:()=>getPrecedingNonSpaceCharacterPosition,getPrivateIdentifier:()=>getPrivateIdentifier,getProperties:()=>getProperties,getProperty:()=>Qc,getPropertyArrayElementValue:()=>qk,getPropertyAssignment:()=>f0,getPropertyAssignmentAliasLikeExpression:()=>ZI,getPropertyNameForPropertyNameNode:()=>Df,getPropertyNameForUniqueESSymbol:()=>_N,getPropertyNameOfBindingOrAssignmentElement:()=>eJ,getPropertySymbolFromBindingElement:()=>getPropertySymbolFromBindingElement,getPropertySymbolsFromContextualType:()=>x7,getQuoteFromPreference:()=>getQuoteFromPreference,getQuotePreference:()=>getQuotePreference,getRangesWhere:()=>Et,getRefactorContextSpan:()=>getRefactorContextSpan,getReferencedFileLocation:()=>getReferencedFileLocation,getRegexFromPattern:()=>Vf,getRegularExpressionForWildcard:()=>Wf,getRegularExpressionsForWildcards:()=>pv,getRelativePathFromDirectory:()=>JT,getRelativePathFromFile:()=>iA,getRelativePathToDirectoryOrUrl:()=>uy,getRenameLocation:()=>getRenameLocation,getReplacementSpanForContextToken:()=>getReplacementSpanForContextToken,getResolutionDiagnostic:()=>getResolutionDiagnostic,getResolutionModeOverrideForClause:()=>getResolutionModeOverrideForClause,getResolveJsonModule:()=>Cx,getResolvePackageJsonExports:()=>SM,getResolvePackageJsonImports:()=>xM,getResolvedExternalModuleName:()=>k4,getResolvedModule:()=>hD,getResolvedTypeReferenceDirective:()=>vD,getRestIndicatorOfBindingOrAssignmentElement:()=>Zj,getRestParameterElementType:()=>kk,getRightMostAssignedExpression:()=>b0,getRootDeclaration:()=>If,getRootLength:()=>Bi,getScriptKind:()=>getScriptKind,getScriptKindFromFileName:()=>Ox,getScriptTargetFeatures:()=>getScriptTargetFeatures,getSelectedEffectiveModifierFlags:()=>G4,getSelectedSyntacticModifierFlags:()=>$4,getSemanticClassifications:()=>getSemanticClassifications,getSemanticJsxChildren:()=>bN,getSetAccessorTypeAnnotationNode:()=>BN,getSetAccessorValueParameter:()=>z0,getSetExternalModuleIndicator:()=>Ex,getShebang:()=>GT,getSingleInitializerOfVariableStatementOrPropertyDeclaration:()=>w0,getSingleVariableOfVariableStatement:()=>Al,getSnapshotText:()=>getSnapshotText,getSnippetElement:()=>getSnippetElement,getSourceFileOfModule:()=>AD,getSourceFileOfNode:()=>Si,getSourceFilePathInNewDir:()=>M4,getSourceFilePathInNewDirWorker:()=>U0,getSourceFileVersionAsHashFromText:()=>getSourceFileVersionAsHashFromText,getSourceFilesToEmit:()=>RN,getSourceMapRange:()=>getSourceMapRange,getSourceMapper:()=>getSourceMapper,getSourceTextOfNodeFromSourceFile:()=>No,getSpanOfTokenAtPosition:()=>n0,getSpellingSuggestion:()=>Ep,getStartPositionOfLine:()=>kD,getStartPositionOfRange:()=>K_,getStartsOnNewLine:()=>getStartsOnNewLine,getStaticPropertiesAndClassStaticBlock:()=>getStaticPropertiesAndClassStaticBlock,getStrictOptionValue:()=>lv,getStringComparer:()=>rl,getSuperCallFromStatement:()=>getSuperCallFromStatement,getSuperContainer:()=>Yk,getSupportedCodeFixes:()=>v7,getSupportedExtensions:()=>Mx,getSupportedExtensionsWithJsonIfResolveJsonModule:()=>Lx,getSwitchedType:()=>getSwitchedType,getSymbolId:()=>getSymbolId,getSymbolNameForPrivateIdentifier:()=>cN,getSymbolTarget:()=>getSymbolTarget,getSyntacticClassifications:()=>getSyntacticClassifications,getSyntacticModifierFlags:()=>X0,getSyntacticModifierFlagsNoCache:()=>Y0,getSynthesizedDeepClone:()=>getSynthesizedDeepClone,getSynthesizedDeepCloneWithReplacements:()=>getSynthesizedDeepCloneWithReplacements,getSynthesizedDeepClones:()=>getSynthesizedDeepClones,getSynthesizedDeepClonesWithReplacements:()=>getSynthesizedDeepClonesWithReplacements,getSyntheticLeadingComments:()=>getSyntheticLeadingComments,getSyntheticTrailingComments:()=>getSyntheticTrailingComments,getTargetLabel:()=>getTargetLabel,getTargetOfBindingOrAssignmentElement:()=>Ko,getTemporaryModuleResolutionState:()=>getTemporaryModuleResolutionState,getTextOfConstantValue:()=>HD,getTextOfIdentifierOrLiteral:()=>kf,getTextOfJSDocComment:()=>zA,getTextOfNode:()=>gf,getTextOfNodeFromSourceText:()=>B_,getTextOfPropertyName:()=>lk,getThisContainer:()=>d0,getThisParameter:()=>j4,getTokenAtPosition:()=>getTokenAtPosition,getTokenPosOfNode:()=>Io,getTokenSourceMapRange:()=>getTokenSourceMapRange,getTouchingPropertyName:()=>getTouchingPropertyName,getTouchingToken:()=>getTouchingToken,getTrailingCommentRanges:()=>HT,getTrailingSemicolonDeferringWriter:()=>kN,getTransformFlagsSubtreeExclusions:()=>w8,getTransformers:()=>getTransformers,getTsBuildInfoEmitOutputFilePath:()=>getTsBuildInfoEmitOutputFilePath,getTsConfigObjectLiteralExpression:()=>M3,getTsConfigPropArray:()=>L3,getTsConfigPropArrayElementValue:()=>Uk,getTypeAnnotationNode:()=>UN,getTypeArgumentOrTypeParameterList:()=>getTypeArgumentOrTypeParameterList,getTypeKeywordOfTypeOnlyImport:()=>getTypeKeywordOfTypeOnlyImport,getTypeNode:()=>getTypeNode,getTypeNodeIfAccessible:()=>getTypeNodeIfAccessible,getTypeParameterFromJsDoc:()=>BI,getTypeParameterOwner:()=>AA,getTypesPackageName:()=>getTypesPackageName,getUILocale:()=>M1,getUniqueName:()=>getUniqueName,getUniqueSymbolId:()=>getUniqueSymbolId,getUseDefineForClassFields:()=>CM,getWatchErrorSummaryDiagnosticMessage:()=>getWatchErrorSummaryDiagnosticMessage,getWatchFactory:()=>getWatchFactory,group:()=>el,groupBy:()=>x_,guessIndentation:()=>rD,handleNoEmitOptions:()=>handleNoEmitOptions,hasAbstractModifier:()=>W4,hasAccessorModifier:()=>H4,hasAmbientModifier:()=>V4,hasChangesInResolutions:()=>wD,hasChildOfKind:()=>hasChildOfKind,hasContextSensitiveParameters:()=>vL,hasDecorators:()=>Il,hasDocComment:()=>hasDocComment,hasDynamicName:()=>v4,hasEffectiveModifier:()=>H0,hasEffectiveModifiers:()=>XN,hasEffectiveReadonlyModifier:()=>$0,hasExtension:()=>OT,hasIndexSignature:()=>hasIndexSignature,hasInitializer:()=>l3,hasInvalidEscape:()=>w4,hasJSDocNodes:()=>ya,hasJSDocParameterTags:()=>IA,hasJSFileExtension:()=>dv,hasJsonModuleEmitEnabled:()=>hM,hasOnlyExpressionInitializer:()=>eD,hasOverrideModifier:()=>QN,hasPossibleExternalModuleReference:()=>sk,hasProperty:()=>Jr,hasPropertyAccessExpressionWithName:()=>hasPropertyAccessExpressionWithName,hasQuestionToken:()=>OI,hasRecordedExternalHelpers:()=>Gj,hasRestParameter:()=>nD,hasScopeMarker:()=>kP,hasStaticModifier:()=>Lf,hasSyntacticModifier:()=>rn,hasSyntacticModifiers:()=>YN,hasTSFileExtension:()=>mv,hasTabstop:()=>Qx,hasTrailingDirectorySeparator:()=>Hp,hasType:()=>ZP,hasTypeArguments:()=>qI,hasZeroOrOneAsteriskCharacter:()=>OM,helperString:()=>helperString,hostGetCanonicalFileName:()=>D4,hostUsesCaseSensitiveFileNames:()=>J0,idText:()=>qr,identifierIsThisKeyword:()=>J4,identifierToKeywordKind:()=>dS,identity:()=>rr,identitySourceMapConsumer:()=>identitySourceMapConsumer,ignoreSourceNewlines:()=>ignoreSourceNewlines,ignoredPaths:()=>ignoredPaths,importDefaultHelper:()=>importDefaultHelper,importFromModuleSpecifier:()=>II,importNameElisionDisabled:()=>gM,importStarHelper:()=>importStarHelper,indexOfAnyCharCode:()=>Je,indexOfNode:()=>UD,indicesOf:()=>Wr,inferredTypesContainingFile:()=>inferredTypesContainingFile,insertImports:()=>insertImports,insertLeadingStatement:()=>Mj,insertSorted:()=>Qn,insertStatementAfterCustomPrologue:()=>RD,insertStatementAfterStandardPrologue:()=>LD,insertStatementsAfterCustomPrologue:()=>MD,insertStatementsAfterStandardPrologue:()=>OD,intersperse:()=>Ie,introducesArgumentsExoticObject:()=>Lk,inverseJsxOptionMap:()=>inverseJsxOptionMap,isAbstractConstructorSymbol:()=>zO,isAbstractModifier:()=>uR,isAccessExpression:()=>Lo,isAccessibilityModifier:()=>isAccessibilityModifier,isAccessor:()=>pf,isAccessorModifier:()=>fR,isAliasSymbolDeclaration:()=>QI,isAliasableExpression:()=>k0,isAmbientModule:()=>yf,isAmbientPropertyDeclaration:()=>rk,isAnonymousFunctionDefinition:()=>H_,isAnyDirectorySeparator:()=>ay,isAnyImportOrBareOrAccessedRequire:()=>ik,isAnyImportOrReExport:()=>bf,isAnyImportSyntax:()=>Qy,isAnySupportedFileExtension:()=>ZM,isApplicableVersionedTypesKey:()=>isApplicableVersionedTypesKey,isArgumentExpressionOfElementAccess:()=>isArgumentExpressionOfElementAccess,isArray:()=>ir,isArrayBindingElement:()=>gP,isArrayBindingOrAssignmentElement:()=>ZS,isArrayBindingOrAssignmentPattern:()=>QS,isArrayBindingPattern:()=>yR,isArrayLiteralExpression:()=>Yl,isArrayLiteralOrObjectLiteralDestructuringPattern:()=>isArrayLiteralOrObjectLiteralDestructuringPattern,isArrayTypeNode:()=>F8,isArrowFunction:()=>sd,isAsExpression:()=>CR,isAssertClause:()=>$R,isAssertEntry:()=>KR,isAssertionExpression:()=>PP,isAssertionKey:()=>oP,isAssertsKeyword:()=>_R,isAssignmentDeclaration:()=>v0,isAssignmentExpression:()=>ms,isAssignmentOperator:()=>G_,isAssignmentPattern:()=>KS,isAssignmentTarget:()=>UI,isAsteriskToken:()=>nR,isAsyncFunction:()=>oN,isAsyncModifier:()=>Ul,isAutoAccessorPropertyDeclaration:()=>$S,isAwaitExpression:()=>SR,isAwaitKeyword:()=>cR,isBigIntLiteral:()=>Uv,isBinaryExpression:()=>ur,isBinaryOperatorToken:()=>AJ,isBindableObjectDefinePropertyCall:()=>S0,isBindableStaticAccessExpression:()=>W_,isBindableStaticElementAccessExpression:()=>x0,isBindableStaticNameExpression:()=>V_,isBindingElement:()=>Xl,isBindingElementOfBareOrAccessedRequire:()=>mI,isBindingName:()=>uP,isBindingOrAssignmentElement:()=>yP,isBindingOrAssignmentPattern:()=>vP,isBindingPattern:()=>df,isBlock:()=>Ql,isBlockOrCatchScoped:()=>$D,isBlockScope:()=>w3,isBlockScopedContainerTopLevel:()=>ZD,isBooleanLiteral:()=>pP,isBreakOrContinueStatement:()=>YA,isBreakStatement:()=>JR,isBuildInfoFile:()=>isBuildInfoFile,isBuilderProgram:()=>isBuilderProgram2,isBundle:()=>cj,isBundleFileTextLike:()=>XO,isCallChain:()=>Cy,isCallExpression:()=>sc,isCallExpressionTarget:()=>isCallExpressionTarget,isCallLikeExpression:()=>SP,isCallOrNewExpression:()=>xP,isCallOrNewExpressionTarget:()=>isCallOrNewExpressionTarget,isCallSignatureDeclaration:()=>Vv,isCallToHelper:()=>isCallToHelper,isCaseBlock:()=>VR,isCaseClause:()=>sj,isCaseKeyword:()=>dR,isCaseOrDefaultClause:()=>QP,isCatchClause:()=>oj,isCatchClauseVariableDeclaration:()=>Gx,isCatchClauseVariableDeclarationOrBindingElement:()=>T3,isCheckJsEnabledForFile:()=>eL,isChildOfNodeWithKind:()=>Ak,isCircularBuildOrder:()=>isCircularBuildOrder,isClassDeclaration:()=>_c,isClassElement:()=>Js,isClassExpression:()=>_d,isClassLike:()=>bi,isClassMemberModifier:()=>VS,isClassOrTypeElement:()=>mP,isClassStaticBlockDeclaration:()=>Hl,isCollapsedRange:()=>vO,isColonToken:()=>iR,isCommaExpression:()=>gd,isCommaListExpression:()=>oc,isCommaSequence:()=>zj,isCommaToken:()=>I8,isComment:()=>isComment,isCommonJsExportPropertyAssignment:()=>p0,isCommonJsExportedExpression:()=>Ok,isCompoundAssignment:()=>isCompoundAssignment,isComputedNonLiteralName:()=>ck,isComputedPropertyName:()=>Ws,isConciseBody:()=>MP,isConditionalExpression:()=>xR,isConditionalTypeNode:()=>V8,isConstTypeReference:()=>jS,isConstructSignatureDeclaration:()=>R8,isConstructorDeclaration:()=>nc,isConstructorTypeNode:()=>Gv,isContextualKeyword:()=>N0,isContinueStatement:()=>jR,isCustomPrologue:()=>Tf,isDebuggerStatement:()=>WR,isDeclaration:()=>ko,isDeclarationBindingElement:()=>Fy,isDeclarationFileName:()=>QE,isDeclarationName:()=>c4,isDeclarationNameOfEnumOrNamespace:()=>IO,isDeclarationReadonly:()=>Sk,isDeclarationStatement:()=>VP,isDeclarationWithTypeParameterChildren:()=>C3,isDeclarationWithTypeParameters:()=>nk,isDecorator:()=>zl,isDecoratorTarget:()=>isDecoratorTarget,isDefaultClause:()=>oE,isDefaultImport:()=>Z3,isDefaultModifier:()=>oR,isDefaultedExpandoInitializer:()=>SI,isDeleteExpression:()=>bR,isDeleteTarget:()=>$I,isDeprecatedDeclaration:()=>isDeprecatedDeclaration,isDestructuringAssignment:()=>nO,isDiagnosticWithLocation:()=>isDiagnosticWithLocation,isDiskPathRoot:()=>H5,isDoStatement:()=>OR,isDotDotDotToken:()=>rR,isDottedName:()=>ev,isDynamicName:()=>M0,isESSymbolIdentifier:()=>pN,isEffectiveExternalModule:()=>Yy,isEffectiveModuleDeclaration:()=>S3,isEffectiveStrictModeSourceFile:()=>tk,isElementAccessChain:()=>RS,isElementAccessExpression:()=>gs,isEmittedFileOfProgram:()=>isEmittedFileOfProgram,isEmptyArrayLiteral:()=>_O,isEmptyBindingElement:()=>pS,isEmptyBindingPattern:()=>uS,isEmptyObjectLiteral:()=>oO,isEmptyStatement:()=>IR,isEmptyStringLiteral:()=>j3,isEndOfDeclarationMarker:()=>ej,isEntityName:()=>lP,isEntityNameExpression:()=>Bs,isEnumConst:()=>Tk,isEnumDeclaration:()=>i2,isEnumMember:()=>cE,isEqualityOperatorKind:()=>isEqualityOperatorKind,isEqualsGreaterThanToken:()=>sR,isExclamationToken:()=>rd,isExcludedFile:()=>isExcludedFile,isExclusivelyTypeOnlyImportOrExport:()=>isExclusivelyTypeOnlyImportOrExport,isExportAssignment:()=>Vo,isExportDeclaration:()=>cc,isExportModifier:()=>N8,isExportName:()=>Uj,isExportNamespaceAsDefaultDeclaration:()=>b3,isExportOrDefaultModifier:()=>DJ,isExportSpecifier:()=>aE,isExportsIdentifier:()=>H3,isExportsOrModuleExportsOrAlias:()=>isExportsOrModuleExportsOrAlias,isExpression:()=>mf,isExpressionNode:()=>g0,isExpressionOfExternalModuleImportEqualsDeclaration:()=>isExpressionOfExternalModuleImportEqualsDeclaration,isExpressionOfOptionalChainRoot:()=>$A,isExpressionStatement:()=>Zl,isExpressionWithTypeArguments:()=>e2,isExpressionWithTypeArgumentsInClassExtendsClause:()=>Z0,isExternalModule:()=>Qo,isExternalModuleAugmentation:()=>Xy,isExternalModuleImportEqualsDeclaration:()=>B3,isExternalModuleIndicator:()=>NP,isExternalModuleNameRelative:()=>gA,isExternalModuleReference:()=>ud,isExternalModuleSymbol:()=>isExternalModuleSymbol,isExternalOrCommonJsModule:()=>bk,isFileLevelUniqueName:()=>m3,isFileProbablyExternalModule:()=>ou,isFirstDeclarationOfSymbolParameter:()=>isFirstDeclarationOfSymbolParameter,isFixablePromiseHandler:()=>isFixablePromiseHandler,isForInOrOfStatement:()=>OP,isForInStatement:()=>LR,isForInitializer:()=>RP,isForOfStatement:()=>RR,isForStatement:()=>eE,isFunctionBlock:()=>O3,isFunctionBody:()=>LP,isFunctionDeclaration:()=>Wo,isFunctionExpression:()=>ad,isFunctionExpressionOrArrowFunction:()=>SL,isFunctionLike:()=>ga,isFunctionLikeDeclaration:()=>HS,isFunctionLikeKind:()=>My,isFunctionLikeOrClassStaticBlockDeclaration:()=>uf,isFunctionOrConstructorTypeNode:()=>hP,isFunctionOrModuleBlock:()=>fP,isFunctionSymbol:()=>DI,isFunctionTypeNode:()=>$l,isFutureReservedKeyword:()=>tN,isGeneratedIdentifier:()=>cs,isGeneratedPrivateIdentifier:()=>Ny,isGetAccessor:()=>Tl,isGetAccessorDeclaration:()=>Gl,isGetOrSetAccessorDeclaration:()=>GA,isGlobalDeclaration:()=>isGlobalDeclaration,isGlobalScopeAugmentation:()=>vf,isGrammarError:()=>ND,isHeritageClause:()=>ru,isHoistedFunction:()=>_0,isHoistedVariableStatement:()=>c0,isIdentifier:()=>yt,isIdentifierANonContextualKeyword:()=>iN,isIdentifierName:()=>YI,isIdentifierOrThisTypeNode:()=>aJ,isIdentifierPart:()=>Rs,isIdentifierStart:()=>Wn,isIdentifierText:()=>vy,isIdentifierTypePredicate:()=>Fk,isIdentifierTypeReference:()=>pL,isIfStatement:()=>NR,isIgnoredFileFromWildCardWatching:()=>isIgnoredFileFromWildCardWatching,isImplicitGlob:()=>Dx,isImportCall:()=>s0,isImportClause:()=>HR,isImportDeclaration:()=>o2,isImportEqualsDeclaration:()=>s2,isImportKeyword:()=>M8,isImportMeta:()=>o0,isImportOrExportSpecifier:()=>aP,isImportOrExportSpecifierName:()=>isImportOrExportSpecifierName,isImportSpecifier:()=>nE,isImportTypeAssertionContainer:()=>GR,isImportTypeNode:()=>Kl,isImportableFile:()=>isImportableFile,isInComment:()=>isInComment,isInExpressionContext:()=>J3,isInJSDoc:()=>q3,isInJSFile:()=>Pr,isInJSXText:()=>isInJSXText,isInJsonFile:()=>pI,isInNonReferenceComment:()=>isInNonReferenceComment,isInReferenceComment:()=>isInReferenceComment,isInRightSideOfInternalImportEqualsDeclaration:()=>isInRightSideOfInternalImportEqualsDeclaration,isInString:()=>isInString,isInTemplateString:()=>isInTemplateString,isInTopLevelContext:()=>Kk,isIncrementalCompilation:()=>wM,isIndexSignatureDeclaration:()=>Hv,isIndexedAccessTypeNode:()=>$8,isInferTypeNode:()=>H8,isInfinityOrNaNString:()=>bL,isInitializedProperty:()=>isInitializedProperty,isInitializedVariable:()=>lx,isInsideJsxElement:()=>isInsideJsxElement,isInsideJsxElementOrAttribute:()=>isInsideJsxElementOrAttribute,isInsideNodeModules:()=>isInsideNodeModules,isInsideTemplateLiteral:()=>isInsideTemplateLiteral,isInstantiatedModule:()=>isInstantiatedModule,isInterfaceDeclaration:()=>eu,isInternalDeclaration:()=>isInternalDeclaration,isInternalModuleImportEqualsDeclaration:()=>lI,isInternalName:()=>qj,isIntersectionTypeNode:()=>W8,isIntrinsicJsxName:()=>P4,isIterationStatement:()=>n3,isJSDoc:()=>Ho,isJSDocAllType:()=>dj,isJSDocAugmentsTag:()=>md,isJSDocAuthorTag:()=>bj,isJSDocCallbackTag:()=>Tj,isJSDocClassTag:()=>pE,isJSDocCommentContainingNode:()=>c3,isJSDocConstructSignature:()=>MI,isJSDocDeprecatedTag:()=>v2,isJSDocEnumTag:()=>dE,isJSDocFunctionType:()=>dd,isJSDocImplementsTag:()=>hE,isJSDocIndexSignature:()=>dI,isJSDocLikeText:()=>LE,isJSDocLink:()=>uj,isJSDocLinkCode:()=>pj,isJSDocLinkLike:()=>Sl,isJSDocLinkPlain:()=>fj,isJSDocMemberName:()=>uc,isJSDocNameReference:()=>fd,isJSDocNamepathType:()=>vj,isJSDocNamespaceBody:()=>FP,isJSDocNode:()=>Uy,isJSDocNonNullableType:()=>hj,isJSDocNullableType:()=>uE,isJSDocOptionalParameter:()=>Zx,isJSDocOptionalType:()=>gj,isJSDocOverloadTag:()=>y2,isJSDocOverrideTag:()=>fE,isJSDocParameterTag:()=>pc,isJSDocPrivateTag:()=>m2,isJSDocPropertyLikeTag:()=>Dy,isJSDocPropertyTag:()=>wj,isJSDocProtectedTag:()=>h2,isJSDocPublicTag:()=>d2,isJSDocReadonlyTag:()=>g2,isJSDocReturnTag:()=>b2,isJSDocSatisfiesExpression:()=>IL,isJSDocSatisfiesTag:()=>T2,isJSDocSeeTag:()=>Sj,isJSDocSignature:()=>iu,isJSDocTag:()=>zy,isJSDocTemplateTag:()=>Go,isJSDocThisTag:()=>mE,isJSDocThrowsTag:()=>Cj,isJSDocTypeAlias:()=>Cl,isJSDocTypeAssertion:()=>xE,isJSDocTypeExpression:()=>lE,isJSDocTypeLiteral:()=>f2,isJSDocTypeTag:()=>au,isJSDocTypedefTag:()=>xj,isJSDocUnknownTag:()=>Ej,isJSDocUnknownType:()=>mj,isJSDocVariadicType:()=>yj,isJSXTagName:()=>xf,isJsonEqual:()=>gv,isJsonSourceFile:()=>a0,isJsxAttribute:()=>nj,isJsxAttributeLike:()=>XP,isJsxAttributes:()=>p2,isJsxChild:()=>o3,isJsxClosingElement:()=>sE,isJsxClosingFragment:()=>rj,isJsxElement:()=>l2,isJsxExpression:()=>aj,isJsxFragment:()=>pd,isJsxOpeningElement:()=>tu,isJsxOpeningFragment:()=>u2,isJsxOpeningLikeElement:()=>_3,isJsxOpeningLikeElementTagName:()=>isJsxOpeningLikeElementTagName,isJsxSelfClosingElement:()=>tj,isJsxSpreadAttribute:()=>ij,isJsxTagNameExpression:()=>KP,isJsxText:()=>td,isJumpStatementTarget:()=>isJumpStatementTarget,isKeyword:()=>ba,isKnownSymbol:()=>lN,isLabelName:()=>isLabelName,isLabelOfLabeledStatement:()=>isLabelOfLabeledStatement,isLabeledStatement:()=>tE,isLateVisibilityPaintedStatement:()=>ak,isLeftHandSideExpression:()=>Do,isLeftHandSideOfAssignment:()=>rO,isLet:()=>xk,isLineBreak:()=>un,isLiteralComputedPropertyDeclarationName:()=>l4,isLiteralExpression:()=>Iy,isLiteralExpressionOfObject:()=>rP,isLiteralImportTypeNode:()=>k3,isLiteralKind:()=>ky,isLiteralLikeAccess:()=>wf,isLiteralLikeElementAccess:()=>wl,isLiteralNameOfPropertyDeclarationOrIndexAccess:()=>isLiteralNameOfPropertyDeclarationOrIndexAccess,isLiteralTypeLikeExpression:()=>cJ,isLiteralTypeLiteral:()=>CP,isLiteralTypeNode:()=>Yv,isLocalName:()=>E2,isLogicalOperator:()=>ZN,isLogicalOrCoalescingAssignmentExpression:()=>eO,isLogicalOrCoalescingAssignmentOperator:()=>jf,isLogicalOrCoalescingBinaryExpression:()=>tO,isLogicalOrCoalescingBinaryOperator:()=>Z4,isMappedTypeNode:()=>K8,isMemberName:()=>js,isMergeDeclarationMarker:()=>ZR,isMetaProperty:()=>t2,isMethodDeclaration:()=>Vl,isMethodOrAccessor:()=>Ly,isMethodSignature:()=>L8,isMinusToken:()=>Wv,isMissingDeclaration:()=>YR,isModifier:()=>Oy,isModifierKind:()=>Wi,isModifierLike:()=>ff,isModuleAugmentationExternal:()=>x3,isModuleBlock:()=>rE,isModuleBody:()=>jP,isModuleDeclaration:()=>Ea,isModuleExportsAccessExpression:()=>T0,isModuleIdentifier:()=>G3,isModuleName:()=>_J,isModuleOrEnumDeclaration:()=>qP,isModuleReference:()=>$P,isModuleSpecifierLike:()=>isModuleSpecifierLike,isModuleWithStringLiteralName:()=>KD,isNameOfFunctionDeclaration:()=>isNameOfFunctionDeclaration,isNameOfModuleDeclaration:()=>isNameOfModuleDeclaration,isNamedClassElement:()=>dP,isNamedDeclaration:()=>af,isNamedEvaluation:()=>fN,isNamedEvaluationSource:()=>S4,isNamedExportBindings:()=>QA,isNamedExports:()=>iE,isNamedImportBindings:()=>BP,isNamedImports:()=>XR,isNamedImportsOrExports:()=>YO,isNamedTupleMember:()=>$v,isNamespaceBody:()=>JP,isNamespaceExport:()=>ld,isNamespaceExportDeclaration:()=>a2,isNamespaceImport:()=>_2,isNamespaceReexportDeclaration:()=>oI,isNewExpression:()=>X8,isNewExpressionTarget:()=>isNewExpressionTarget,isNightly:()=>PN,isNoSubstitutionTemplateLiteral:()=>k8,isNode:()=>eP,isNodeArray:()=>_s,isNodeArrayMultiLine:()=>AO,isNodeDescendantOf:()=>KI,isNodeKind:()=>gl,isNodeLikeSystem:()=>M5,isNodeModulesDirectory:()=>aA,isNodeWithPossibleHoistedDeclaration:()=>zI,isNonContextualKeyword:()=>y4,isNonExportDefaultModifier:()=>kJ,isNonGlobalAmbientModule:()=>XD,isNonGlobalDeclaration:()=>isNonGlobalDeclaration,isNonNullAccess:()=>kL,isNonNullChain:()=>JS,isNonNullExpression:()=>Uo,isNonStaticMethodOrAccessorWithPrivateName:()=>isNonStaticMethodOrAccessorWithPrivateName,isNotEmittedOrPartiallyEmittedNode:()=>DP,isNotEmittedStatement:()=>c2,isNullishCoalesce:()=>XA,isNumber:()=>gi,isNumericLiteral:()=>zs,isNumericLiteralName:()=>$x,isObjectBindingElementWithoutPropertyName:()=>isObjectBindingElementWithoutPropertyName,isObjectBindingOrAssignmentElement:()=>YS,isObjectBindingOrAssignmentPattern:()=>XS,isObjectBindingPattern:()=>gR,isObjectLiteralElement:()=>Wy,isObjectLiteralElementLike:()=>jy,isObjectLiteralExpression:()=>Hs,isObjectLiteralMethod:()=>jk,isObjectLiteralOrClassExpressionMethodOrAccessor:()=>Jk,isObjectTypeDeclaration:()=>$O,isOctalDigit:()=>hy,isOmittedExpression:()=>cd,isOptionalChain:()=>Ay,isOptionalChainRoot:()=>Py,isOptionalDeclaration:()=>DL,isOptionalJSDocPropertyLikeTag:()=>Yx,isOptionalTypeNode:()=>q8,isOuterExpression:()=>yd,isOutermostOptionalChain:()=>KA,isOverrideModifier:()=>pR,isPackedArrayLiteral:()=>hL,isParameter:()=>Vs,isParameterDeclaration:()=>mN,isParameterOrCatchClauseVariable:()=>TL,isParameterPropertyDeclaration:()=>lS,isParameterPropertyModifier:()=>WS,isParenthesizedExpression:()=>qo,isParenthesizedTypeNode:()=>Kv,isParseTreeNode:()=>pl,isPartOfTypeNode:()=>l0,isPartOfTypeQuery:()=>F3,isPartiallyEmittedExpression:()=>Z8,isPatternMatch:()=>z1,isPinnedComment:()=>v3,isPlainJsFile:()=>PD,isPlusToken:()=>zv,isPossiblyTypeArgumentPosition:()=>isPossiblyTypeArgumentPosition,isPostfixUnaryExpression:()=>Q8,isPrefixUnaryExpression:()=>od,isPrivateIdentifier:()=>vn,isPrivateIdentifierClassElementDeclaration:()=>zS,isPrivateIdentifierPropertyAccessExpression:()=>cP,isPrivateIdentifierSymbol:()=>uN,isProgramBundleEmitBuildInfo:()=>isProgramBundleEmitBuildInfo,isProgramUptoDate:()=>isProgramUptoDate,isPrologueDirective:()=>us,isPropertyAccessChain:()=>LS,isPropertyAccessEntityNameExpression:()=>rx,isPropertyAccessExpression:()=>bn,isPropertyAccessOrQualifiedName:()=>TP,isPropertyAccessOrQualifiedNameOrImportTypeNode:()=>bP,isPropertyAssignment:()=>lc,isPropertyDeclaration:()=>Bo,isPropertyName:()=>vl,isPropertyNameLiteral:()=>L0,isPropertySignature:()=>Wl,isProtoSetter:()=>T4,isPrototypeAccess:()=>Nl,isPrototypePropertyAssignment:()=>CI,isPunctuation:()=>isPunctuation,isPushOrUnshiftIdentifier:()=>dN,isQualifiedName:()=>rc,isQuestionDotToken:()=>aR,isQuestionOrExclamationToken:()=>iJ,isQuestionOrPlusOrMinusToken:()=>oJ,isQuestionToken:()=>ql,isRawSourceMap:()=>isRawSourceMap,isReadonlyKeyword:()=>O8,isReadonlyKeywordOrPlusOrMinusToken:()=>sJ,isRecognizedTripleSlashComment:()=>jD,isReferenceFileLocation:()=>isReferenceFileLocation,isReferencedFile:()=>isReferencedFile,isRegularExpressionLiteral:()=>QL,isRequireCall:()=>El,isRequireVariableStatement:()=>W3,isRestParameter:()=>u3,isRestTypeNode:()=>U8,isReturnStatement:()=>FR,isReturnStatementWithFixablePromiseHandler:()=>isReturnStatementWithFixablePromiseHandler,isRightSideOfAccessExpression:()=>nx,isRightSideOfPropertyAccess:()=>isRightSideOfPropertyAccess,isRightSideOfQualifiedName:()=>isRightSideOfQualifiedName,isRightSideOfQualifiedNameOrPropertyAccess:()=>aO,isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName:()=>sO,isRootedDiskPath:()=>A_,isSameEntityName:()=>z_,isSatisfiesExpression:()=>AR,isScopeMarker:()=>i3,isSemicolonClassElement:()=>kR,isSetAccessor:()=>bl,isSetAccessorDeclaration:()=>ic,isShebangTrivia:()=>gy,isShorthandAmbientModuleSymbol:()=>YD,isShorthandPropertyAssignment:()=>nu,isSignedNumericLiteral:()=>O0,isSimpleCopiableExpression:()=>isSimpleCopiableExpression,isSimpleInlineableExpression:()=>isSimpleInlineableExpression,isSingleOrDoubleQuote:()=>hI,isSourceFile:()=>wi,isSourceFileFromLibrary:()=>isSourceFileFromLibrary,isSourceFileJS:()=>y0,isSourceFileNotJS:()=>uI,isSourceFileNotJson:()=>fI,isSourceMapping:()=>isSourceMapping,isSpecialPropertyDeclaration:()=>AI,isSpreadAssignment:()=>_E,isSpreadElement:()=>Zv,isStatement:()=>a3,isStatementButNotDeclaration:()=>HP,isStatementOrBlock:()=>s3,isStatementWithLocals:()=>DD,isStatic:()=>G0,isStaticModifier:()=>lR,isString:()=>Ji,isStringAKeyword:()=>nN,isStringANonContextualKeyword:()=>rN,isStringAndEmptyAnonymousObjectIntersection:()=>isStringAndEmptyAnonymousObjectIntersection,isStringDoubleQuoted:()=>gI,isStringLiteral:()=>Gn,isStringLiteralLike:()=>Ti,isStringLiteralOrJsxExpression:()=>YP,isStringLiteralOrTemplate:()=>isStringLiteralOrTemplate,isStringOrNumericLiteralLike:()=>Ta,isStringOrRegularExpressionOrTemplateLiteral:()=>isStringOrRegularExpressionOrTemplateLiteral,isStringTextContainingNode:()=>_P,isSuperCall:()=>Ek,isSuperKeyword:()=>nd,isSuperOrSuperProperty:()=>Zk,isSuperProperty:()=>Sf,isSupportedSourceFileName:()=>GM,isSwitchStatement:()=>qR,isSyntaxList:()=>Aj,isSyntheticExpression:()=>PR,isSyntheticReference:()=>QR,isTagName:()=>isTagName,isTaggedTemplateExpression:()=>Y8,isTaggedTemplateTag:()=>isTaggedTemplateTag,isTemplateExpression:()=>ER,isTemplateHead:()=>ZL,isTemplateLiteral:()=>EP,isTemplateLiteralKind:()=>yl,isTemplateLiteralToken:()=>nP,isTemplateLiteralTypeNode:()=>hR,isTemplateLiteralTypeSpan:()=>mR,isTemplateMiddle:()=>eR,isTemplateMiddleOrTemplateTail:()=>iP,isTemplateSpan:()=>DR,isTemplateTail:()=>tR,isTextWhiteSpaceLike:()=>isTextWhiteSpaceLike,isThis:()=>isThis,isThisContainerOrFunctionBlock:()=>$k,isThisIdentifier:()=>Mf,isThisInTypeQuery:()=>qN,isThisInitializedDeclaration:()=>tI,isThisInitializedObjectBindingExpression:()=>rI,isThisProperty:()=>eI,isThisTypeNode:()=>Xv,isThisTypeParameter:()=>Kx,isThisTypePredicate:()=>Bk,isThrowStatement:()=>UR,isToken:()=>tP,isTokenKind:()=>BS,isTraceEnabled:()=>isTraceEnabled,isTransientSymbol:()=>$y,isTrivia:()=>aN,isTryStatement:()=>zR,isTupleTypeNode:()=>B8,isTypeAlias:()=>LI,isTypeAliasDeclaration:()=>n2,isTypeAssertionExpression:()=>vR,isTypeDeclaration:()=>Xx,isTypeElement:()=>Ry,isTypeKeyword:()=>isTypeKeyword,isTypeKeywordToken:()=>isTypeKeywordToken,isTypeKeywordTokenOrIdentifier:()=>isTypeKeywordTokenOrIdentifier,isTypeLiteralNode:()=>id,isTypeNode:()=>Jy,isTypeNodeKind:()=>hx,isTypeOfExpression:()=>TR,isTypeOnlyExportDeclaration:()=>US,isTypeOnlyImportDeclaration:()=>qS,isTypeOnlyImportOrExportDeclaration:()=>sP,isTypeOperatorNode:()=>G8,isTypeParameterDeclaration:()=>Fo,isTypePredicateNode:()=>j8,isTypeQueryNode:()=>J8,isTypeReferenceNode:()=>ac,isTypeReferenceType:()=>tD,isUMDExportSymbol:()=>VO,isUnaryExpression:()=>t3,isUnaryExpressionWithWrite:()=>wP,isUnicodeIdentifierStart:()=>UT,isUnionTypeNode:()=>z8,isUnparsedNode:()=>ZA,isUnparsedPrepend:()=>_j,isUnparsedSource:()=>lj,isUnparsedTextLike:()=>FS,isUrl:()=>V5,isValidBigIntString:()=>zx,isValidESSymbolDeclaration:()=>Mk,isValidTypeOnlyAliasUseSite:()=>_L,isValueSignatureDeclaration:()=>WI,isVarConst:()=>D3,isVariableDeclaration:()=>Vi,isVariableDeclarationInVariableStatement:()=>N3,isVariableDeclarationInitializedToBareOrAccessedRequire:()=>Ef,isVariableDeclarationInitializedToRequire:()=>U3,isVariableDeclarationList:()=>r2,isVariableLike:()=>u0,isVariableLikeOrAccessor:()=>Nk,isVariableStatement:()=>zo,isVoidExpression:()=>Qv,isWatchSet:()=>OO,isWhileStatement:()=>MR,isWhiteSpaceLike:()=>os,isWhiteSpaceSingleLine:()=>N_,isWithStatement:()=>BR,isWriteAccess:()=>FO,isWriteOnlyAccess:()=>JO,isYieldExpression:()=>wR,jsxModeNeedsExplicitImport:()=>jsxModeNeedsExplicitImport,keywordPart:()=>keywordPart,last:()=>Zn,lastOrUndefined:()=>Cn,length:()=>I,libMap:()=>libMap,libs:()=>libs,lineBreakPart:()=>lineBreakPart,linkNamePart:()=>linkNamePart,linkPart:()=>linkPart,linkTextPart:()=>linkTextPart,listFiles:()=>listFiles,loadModuleFromGlobalCache:()=>loadModuleFromGlobalCache,loadWithModeAwareCache:()=>loadWithModeAwareCache,makeIdentifierFromModuleName:()=>GD,makeImport:()=>makeImport,makeImportIfNecessary:()=>makeImportIfNecessary,makeStringLiteral:()=>makeStringLiteral,mangleScopedPackageName:()=>mangleScopedPackageName,map:()=>Ze,mapAllOrFail:()=>Pt,mapDefined:()=>qt,mapDefinedEntries:()=>Ri,mapDefinedIterator:()=>Zr,mapEntries:()=>be,mapIterator:()=>st,mapOneOrMany:()=>mapOneOrMany,mapToDisplayParts:()=>mapToDisplayParts,matchFiles:()=>qM,matchPatternOrExact:()=>tL,matchedText:()=>S5,matchesExclude:()=>matchesExclude,maybeBind:()=>le,maybeSetLocalizedDiagnosticMessages:()=>vx,memoize:()=>tl,memoizeCached:()=>D1,memoizeOne:()=>An,memoizeWeak:()=>P1,metadataHelper:()=>metadataHelper,min:()=>N1,minAndMax:()=>nL,missingFileModifiedTime:()=>missingFileModifiedTime,modifierToFlag:()=>Q0,modifiersToFlags:()=>Vn,moduleOptionDeclaration:()=>moduleOptionDeclaration,moduleResolutionIsEqualTo:()=>TD,moduleResolutionNameAndModeGetter:()=>moduleResolutionNameAndModeGetter,moduleResolutionOptionDeclarations:()=>moduleResolutionOptionDeclarations,moduleResolutionSupportsPackageJsonExportsAndImports:()=>_v,moduleResolutionUsesNodeModules:()=>moduleResolutionUsesNodeModules,moduleSpecifiers:()=>ts_moduleSpecifiers_exports,moveEmitHelpers:()=>moveEmitHelpers,moveRangeEnd:()=>gO,moveRangePastDecorators:()=>_x,moveRangePastModifiers:()=>yO,moveRangePos:()=>Ff,moveSyntheticComments:()=>moveSyntheticComments,mutateMap:()=>UO,mutateMapSkippingNewValues:()=>fx,needsParentheses:()=>needsParentheses,needsScopeMarker:()=>IP,newCaseClauseTracker:()=>newCaseClauseTracker,newPrivateEnvironment:()=>newPrivateEnvironment,noEmitNotification:()=>noEmitNotification,noEmitSubstitution:()=>noEmitSubstitution,noTransformers:()=>noTransformers,noTruncationMaximumTruncationLength:()=>AC,nodeCanBeDecorated:()=>R3,nodeHasName:()=>hS,nodeIsDecorated:()=>q_,nodeIsMissing:()=>va,nodeIsPresent:()=>xl,nodeIsSynthesized:()=>fs,nodeModuleNameResolver:()=>nodeModuleNameResolver,nodeModulesPathPart:()=>nodeModulesPathPart,nodeNextJsonConfigResolver:()=>nodeNextJsonConfigResolver,nodeOrChildIsDecorated:()=>m0,nodeOverlapsWithStartEnd:()=>nodeOverlapsWithStartEnd,nodePosToString:()=>ID,nodeSeenTracker:()=>nodeSeenTracker,nodeStartsNewLexicalEnvironment:()=>hN,nodeToDisplayParts:()=>nodeToDisplayParts,noop:()=>yn,noopFileWatcher:()=>noopFileWatcher,noopPush:()=>oo,normalizePath:()=>Un,normalizeSlashes:()=>Eo,not:()=>w5,notImplemented:()=>A1,notImplementedResolver:()=>notImplementedResolver,nullNodeConverters:()=>nullNodeConverters,nullParenthesizerRules:()=>pw,nullTransformationContext:()=>nullTransformationContext,objectAllocator:()=>MC,operatorPart:()=>operatorPart,optionDeclarations:()=>optionDeclarations,optionMapToObject:()=>optionMapToObject,optionsAffectingProgramStructure:()=>optionsAffectingProgramStructure,optionsForBuild:()=>optionsForBuild,optionsForWatch:()=>optionsForWatch,optionsHaveChanges:()=>J_,optionsHaveModuleResolutionChanges:()=>p3,or:()=>W1,orderedRemoveItem:()=>J,orderedRemoveItemAt:()=>vT,outFile:()=>B0,packageIdToPackageName:()=>f3,packageIdToString:()=>xD,padLeft:()=>D5,padRight:()=>k5,paramHelper:()=>paramHelper,parameterIsThisKeyword:()=>kl,parameterNamePart:()=>parameterNamePart,parseBaseNodeFactory:()=>Nw,parseBigInt:()=>oL,parseBuildCommand:()=>parseBuildCommand,parseCommandLine:()=>parseCommandLine,parseCommandLineWorker:()=>parseCommandLineWorker,parseConfigFileTextToJson:()=>parseConfigFileTextToJson,parseConfigFileWithSystem:()=>parseConfigFileWithSystem,parseConfigHostFromCompilerHostLike:()=>parseConfigHostFromCompilerHostLike,parseCustomTypeOption:()=>parseCustomTypeOption,parseIsolatedEntityName:()=>$J,parseIsolatedJSDocComment:()=>XJ,parseJSDocTypeExpressionForTests:()=>YJ,parseJsonConfigFileContent:()=>parseJsonConfigFileContent,parseJsonSourceFileConfigFileContent:()=>parseJsonSourceFileConfigFileContent,parseJsonText:()=>KJ,parseListTypeOption:()=>parseListTypeOption,parseNodeFactory:()=>Qw,parseNodeModuleFromPath:()=>parseNodeModuleFromPath,parsePackageName:()=>parsePackageName,parsePseudoBigInt:()=>Hf,parseValidBigInt:()=>Ux,patchWriteFileEnsuringDirectory:()=>patchWriteFileEnsuringDirectory,pathContainsNodeModules:()=>pathContainsNodeModules,pathIsAbsolute:()=>sy,pathIsBareSpecifier:()=>G5,pathIsRelative:()=>So,patternText:()=>T5,perfLogger:()=>zp,performIncrementalCompilation:()=>performIncrementalCompilation,performance:()=>ts_performance_exports,plainJSErrors:()=>plainJSErrors,positionBelongsToNode:()=>positionBelongsToNode,positionIsASICandidate:()=>positionIsASICandidate,positionIsSynthesized:()=>hs,positionsAreOnSameLine:()=>$_,preProcessFile:()=>preProcessFile,probablyUsesSemicolons:()=>probablyUsesSemicolons,processCommentPragmas:()=>ZE,processPragmasIntoFields:()=>e7,processTaggedTemplateExpression:()=>processTaggedTemplateExpression,programContainsEsModules:()=>programContainsEsModules,programContainsModules:()=>programContainsModules,projectReferenceIsEqualTo:()=>bD,propKeyHelper:()=>propKeyHelper,propertyNamePart:()=>propertyNamePart,pseudoBigIntToString:()=>yv,punctuationPart:()=>punctuationPart,pushIfUnique:()=>qn,quote:()=>quote,quotePreferenceFromString:()=>quotePreferenceFromString,rangeContainsPosition:()=>rangeContainsPosition,rangeContainsPositionExclusive:()=>rangeContainsPositionExclusive,rangeContainsRange:()=>rangeContainsRange,rangeContainsRangeExclusive:()=>rangeContainsRangeExclusive,rangeContainsStartEnd:()=>rangeContainsStartEnd,rangeEndIsOnSameLineAsRangeStart:()=>EO,rangeEndPositionsAreOnSameLine:()=>xO,rangeEquals:()=>Kc,rangeIsOnSingleLine:()=>TO,rangeOfNode:()=>iL,rangeOfTypeParameters:()=>aL,rangeOverlapsWithStartEnd:()=>rangeOverlapsWithStartEnd,rangeStartIsOnSameLineAsRangeEnd:()=>cx,rangeStartPositionsAreOnSameLine:()=>SO,readBuilderProgram:()=>readBuilderProgram,readConfigFile:()=>readConfigFile,readHelper:()=>readHelper,readJson:()=>hO,readJsonConfigFile:()=>readJsonConfigFile,readJsonOrUndefined:()=>ax,realizeDiagnostics:()=>realizeDiagnostics,reduceEachLeadingCommentRange:()=>zT,reduceEachTrailingCommentRange:()=>WT,reduceLeft:()=>Qa,reduceLeftIterator:()=>K,reducePathComponents:()=>is,refactor:()=>ts_refactor_exports,regExpEscape:()=>JM,relativeComplement:()=>h_,removeAllComments:()=>removeAllComments,removeEmitHelper:()=>removeEmitHelper,removeExtension:()=>Fx,removeFileExtension:()=>Ll,removeIgnoredPath:()=>removeIgnoredPath,removeMinAndVersionNumbers:()=>q1,removeOptionality:()=>removeOptionality,removePrefix:()=>x5,removeSuffix:()=>F1,removeTrailingDirectorySeparator:()=>P_,repeatString:()=>repeatString,replaceElement:()=>ei,resolutionExtensionIsTSOrJson:()=>YM,resolveConfigFileProjectName:()=>resolveConfigFileProjectName,resolveJSModule:()=>resolveJSModule,resolveModuleName:()=>resolveModuleName,resolveModuleNameFromCache:()=>resolveModuleNameFromCache,resolvePackageNameToPackageJson:()=>resolvePackageNameToPackageJson,resolvePath:()=>oy,resolveProjectReferencePath:()=>resolveProjectReferencePath,resolveTripleslashReference:()=>resolveTripleslashReference,resolveTypeReferenceDirective:()=>resolveTypeReferenceDirective,resolvingEmptyArray:()=>fC,restHelper:()=>restHelper,returnFalse:()=>w_,returnNoopFileWatcher:()=>returnNoopFileWatcher,returnTrue:()=>vp,returnUndefined:()=>C1,returnsPromise:()=>returnsPromise,runInitializersHelper:()=>runInitializersHelper,sameFlatMap:()=>at,sameMap:()=>tt,sameMapping:()=>sameMapping,scanShebangTrivia:()=>yy,scanTokenAtPosition:()=>yk,scanner:()=>Vw,screenStartingMessageCodes:()=>screenStartingMessageCodes,semanticDiagnosticsOptionDeclarations:()=>semanticDiagnosticsOptionDeclarations,serializeCompilerOptions:()=>serializeCompilerOptions,server:()=>ts_server_exports,servicesVersion:()=>Hw,setCommentRange:()=>setCommentRange,setConfigFileInOptions:()=>setConfigFileInOptions,setConstantValue:()=>setConstantValue,setEachParent:()=>Q_,setEmitFlags:()=>setEmitFlags,setFunctionNameHelper:()=>setFunctionNameHelper,setGetSourceFileAsHashVersioned:()=>setGetSourceFileAsHashVersioned,setIdentifierAutoGenerate:()=>setIdentifierAutoGenerate,setIdentifierGeneratedImportReference:()=>setIdentifierGeneratedImportReference,setIdentifierTypeArguments:()=>setIdentifierTypeArguments,setInternalEmitFlags:()=>setInternalEmitFlags,setLocalizedDiagnosticMessages:()=>yx,setModuleDefaultHelper:()=>setModuleDefaultHelper,setNodeFlags:()=>dL,setObjectAllocator:()=>gx,setOriginalNode:()=>Dn,setParent:()=>Sa,setParentRecursive:()=>Vx,setPrivateIdentifier:()=>setPrivateIdentifier,setResolvedModule:()=>gD,setResolvedTypeReferenceDirective:()=>yD,setSnippetElement:()=>setSnippetElement,setSourceMapRange:()=>setSourceMapRange,setStackTraceLimit:()=>setStackTraceLimit,setStartsOnNewLine:()=>setStartsOnNewLine,setSyntheticLeadingComments:()=>setSyntheticLeadingComments,setSyntheticTrailingComments:()=>setSyntheticTrailingComments,setSys:()=>setSys,setSysLog:()=>setSysLog,setTextRange:()=>Rt,setTextRangeEnd:()=>Wx,setTextRangePos:()=>Gf,setTextRangePosEnd:()=>Us,setTextRangePosWidth:()=>$f,setTokenSourceMapRange:()=>setTokenSourceMapRange,setTypeNode:()=>setTypeNode,setUILocale:()=>xp,setValueDeclaration:()=>PI,shouldAllowImportingTsExtension:()=>shouldAllowImportingTsExtension,shouldPreserveConstEnums:()=>EM,shouldUseUriStyleNodeCoreModules:()=>shouldUseUriStyleNodeCoreModules,showModuleSpecifier:()=>HO,signatureHasLiteralTypes:()=>signatureHasLiteralTypes,signatureHasRestParameter:()=>signatureHasRestParameter,signatureToDisplayParts:()=>signatureToDisplayParts,single:()=>Yc,singleElementArray:()=>Cp,singleIterator:()=>Ka,singleOrMany:()=>mo,singleOrUndefined:()=>Xa,skipAlias:()=>RO,skipAssertions:()=>Hj,skipConstraint:()=>skipConstraint,skipOuterExpressions:()=>$o,skipParentheses:()=>Pl,skipPartiallyEmittedExpressions:()=>lf,skipTrivia:()=>Ar,skipTypeChecking:()=>sL,skipTypeParentheses:()=>GI,skipWhile:()=>N5,sliceAfter:()=>rL,some:()=>Ke,sort:()=>Is,sortAndDeduplicate:()=>uo,sortAndDeduplicateDiagnostics:()=>yA,sourceFileAffectingCompilerOptions:()=>sourceFileAffectingCompilerOptions,sourceFileMayBeEmitted:()=>q0,sourceMapCommentRegExp:()=>sourceMapCommentRegExp,sourceMapCommentRegExpDontCareLineStart:()=>sourceMapCommentRegExpDontCareLineStart,spacePart:()=>spacePart,spanMap:()=>co,spreadArrayHelper:()=>spreadArrayHelper,stableSort:()=>Ns,startEndContainsRange:()=>startEndContainsRange,startEndOverlapsWithStartEnd:()=>startEndOverlapsWithStartEnd,startOnNewLine:()=>vd,startTracing:()=>startTracing,startsWith:()=>Pn,startsWithDirectory:()=>rA,startsWithUnderscore:()=>startsWithUnderscore,startsWithUseStrict:()=>SE,stringContains:()=>Fi,stringContainsAt:()=>stringContainsAt,stringToToken:()=>_l,stripQuotes:()=>CN,supportedDeclarationExtensions:()=>iw,supportedJSExtensions:()=>ew,supportedJSExtensionsFlat:()=>tw,supportedLocaleDirectories:()=>cC,supportedTSExtensions:()=>zC,supportedTSExtensionsFlat:()=>XC,supportedTSImplementationExtensions:()=>sw,suppressLeadingAndTrailingTrivia:()=>suppressLeadingAndTrailingTrivia,suppressLeadingTrivia:()=>suppressLeadingTrivia,suppressTrailingTrivia:()=>suppressTrailingTrivia,symbolEscapedNameNoDefault:()=>symbolEscapedNameNoDefault,symbolName:()=>rf,symbolNameNoDefault:()=>symbolNameNoDefault,symbolPart:()=>symbolPart,symbolToDisplayParts:()=>symbolToDisplayParts,syntaxMayBeASICandidate:()=>syntaxMayBeASICandidate,syntaxRequiresTrailingSemicolonOrASI:()=>syntaxRequiresTrailingSemicolonOrASI,sys:()=>Hy,sysLog:()=>sysLog,tagNamesAreEquivalent:()=>Hi,takeWhile:()=>I5,targetOptionDeclaration:()=>targetOptionDeclaration,templateObjectHelper:()=>templateObjectHelper,testFormatSettings:()=>testFormatSettings,textChangeRangeIsUnchanged:()=>cS,textChangeRangeNewSpan:()=>R_,textChanges:()=>ts_textChanges_exports,textOrKeywordPart:()=>textOrKeywordPart,textPart:()=>textPart,textRangeContainsPositionInclusive:()=>bA,textSpanContainsPosition:()=>vA,textSpanContainsTextSpan:()=>TA,textSpanEnd:()=>Ir,textSpanIntersection:()=>_S,textSpanIntersectsWith:()=>EA,textSpanIntersectsWithPosition:()=>wA,textSpanIntersectsWithTextSpan:()=>xA,textSpanIsEmpty:()=>sS,textSpanOverlap:()=>oS,textSpanOverlapsWith:()=>SA,textSpansEqual:()=>textSpansEqual,textToKeywordObj:()=>xv,timestamp:()=>Wp,toArray:()=>en,toBuilderFileEmit:()=>toBuilderFileEmit,toBuilderStateFileInfoForMultiEmit:()=>toBuilderStateFileInfoForMultiEmit,toEditorSettings:()=>lu,toFileNameLowerCase:()=>Tp,toLowerCase:()=>bp,toPath:()=>Ui,toProgramEmitPending:()=>toProgramEmitPending,tokenIsIdentifierOrKeyword:()=>fr,tokenIsIdentifierOrKeywordOrGreaterThan:()=>qT,tokenToString:()=>Br,trace:()=>trace,tracing:()=>xd,tracingEnabled:()=>tracingEnabled,transform:()=>transform,transformClassFields:()=>transformClassFields,transformDeclarations:()=>transformDeclarations,transformECMAScriptModule:()=>transformECMAScriptModule,transformES2015:()=>transformES2015,transformES2016:()=>transformES2016,transformES2017:()=>transformES2017,transformES2018:()=>transformES2018,transformES2019:()=>transformES2019,transformES2020:()=>transformES2020,transformES2021:()=>transformES2021,transformES5:()=>transformES5,transformESDecorators:()=>transformESDecorators,transformESNext:()=>transformESNext,transformGenerators:()=>transformGenerators,transformJsx:()=>transformJsx,transformLegacyDecorators:()=>transformLegacyDecorators,transformModule:()=>transformModule,transformNodeModule:()=>transformNodeModule,transformNodes:()=>transformNodes,transformSystemModule:()=>transformSystemModule,transformTypeScript:()=>transformTypeScript,transpile:()=>transpile,transpileModule:()=>transpileModule,transpileOptionValueCompilerOptions:()=>transpileOptionValueCompilerOptions,trimString:()=>Dp,trimStringEnd:()=>kp,trimStringStart:()=>Qp,tryAddToSet:()=>ua,tryAndIgnoreErrors:()=>tryAndIgnoreErrors,tryCast:()=>ln,tryDirectoryExists:()=>tryDirectoryExists,tryExtractTSExtension:()=>uO,tryFileExists:()=>tryFileExists,tryGetClassExtendingExpressionWithTypeArguments:()=>ex,tryGetClassImplementingOrExtendingExpressionWithTypeArguments:()=>tx,tryGetDirectories:()=>tryGetDirectories,tryGetExtensionFromPath:()=>hv,tryGetImportFromModuleSpecifier:()=>Y3,tryGetJSDocSatisfiesTypeNode:()=>e8,tryGetModuleNameFromFile:()=>CE,tryGetModuleSpecifierFromDeclaration:()=>kI,tryGetNativePerformanceHooks:()=>J5,tryGetPropertyAccessOrIdentifierToString:()=>tv,tryGetPropertyNameOfBindingOrAssignmentElement:()=>PE,tryGetSourceMappingURL:()=>tryGetSourceMappingURL,tryGetTextOfPropertyName:()=>e0,tryIOAndConsumeErrors:()=>tryIOAndConsumeErrors,tryParsePattern:()=>Bx,tryParsePatterns:()=>XM,tryParseRawSourceMap:()=>tryParseRawSourceMap,tryReadDirectory:()=>tryReadDirectory,tryReadFile:()=>tryReadFile,tryRemoveDirectoryPrefix:()=>jM,tryRemoveExtension:()=>Jx,tryRemovePrefix:()=>ST,tryRemoveSuffix:()=>B1,typeAcquisitionDeclarations:()=>typeAcquisitionDeclarations,typeAliasNamePart:()=>typeAliasNamePart,typeDirectiveIsEqualTo:()=>ED,typeKeywords:()=>typeKeywords,typeParameterNamePart:()=>typeParameterNamePart,typeReferenceResolutionNameAndModeGetter:()=>typeReferenceResolutionNameAndModeGetter,typeToDisplayParts:()=>typeToDisplayParts,unchangedPollThresholds:()=>unchangedPollThresholds,unchangedTextChangeRange:()=>uC,unescapeLeadingUnderscores:()=>dl,unmangleScopedPackageName:()=>unmangleScopedPackageName,unorderedRemoveItem:()=>bT,unorderedRemoveItemAt:()=>U1,unreachableCodeIsError:()=>yM,unusedLabelIsError:()=>vM,unwrapInnermostStatementOfLabel:()=>Rk,updateErrorForNoInputFiles:()=>updateErrorForNoInputFiles,updateLanguageServiceSourceFile:()=>T7,updateMissingFilePathsWatch:()=>updateMissingFilePathsWatch,updatePackageJsonWatch:()=>updatePackageJsonWatch,updateResolutionField:()=>updateResolutionField,updateSharedExtendedConfigFileWatcher:()=>updateSharedExtendedConfigFileWatcher,updateSourceFile:()=>k2,updateWatchingWildcardDirectories:()=>updateWatchingWildcardDirectories,usesExtensionsOnImports:()=>Rx,usingSingleLineStringWriter:()=>mD,utf16EncodeAsString:()=>by,validateLocaleAndSetLanguage:()=>DA,valuesHelper:()=>valuesHelper,version:()=>Ci,versionMajorMinor:()=>ni,visitArray:()=>visitArray,visitCommaListElements:()=>visitCommaListElements,visitEachChild:()=>visitEachChild,visitFunctionBody:()=>visitFunctionBody,visitIterationBody:()=>visitIterationBody,visitLexicalEnvironment:()=>visitLexicalEnvironment,visitNode:()=>visitNode,visitNodes:()=>visitNodes2,visitParameterList:()=>visitParameterList,walkUpBindingElementsAndPatterns:()=>fS,walkUpLexicalEnvironments:()=>walkUpLexicalEnvironments,walkUpOuterExpressions:()=>Vj,walkUpParenthesizedExpressions:()=>D0,walkUpParenthesizedTypes:()=>VI,walkUpParenthesizedTypesAndGetParentAndChild:()=>HI,whitespaceOrMapCommentRegExp:()=>whitespaceOrMapCommentRegExp,writeCommentRange:()=>$N,writeFile:()=>jN,writeFileEnsuringDirectories:()=>JN,zipToModeAwareCache:()=>zipToModeAwareCache,zipWith:()=>ce});var iT=D({"src/typescript/_namespaces/ts.ts"(){"use strict";Gw(),l7(),rT(),FB()}}),sT=P({"src/typescript/typescript.ts"(Me,Bn){iT(),iT(),typeof console<"u"&&(qp.loggingHost={log(Me,Bn){switch(Me){case 1:return console.error(Bn);case 2:return console.warn(Bn);case 3:return console.log(Bn);case 4:return console.log(Bn)}}}),Bn.exports=nT}});Bn.exports=sT()}}),Xf=Oe({"src/language-js/parse/postprocess/typescript.js"(Me,Bn){"use strict";Ps();var Hn=Dp(),zn=zp(),ni=Qf(),Ci={AbstractKeyword:126,SourceFile:308,PropertyDeclaration:169};function y(Me){for(;Me&&Me.kind!==Ci.SourceFile;)Me=Me.parent;return Me}function m(Me,Bn){let Hn=y(Me),[zn,Ci]=[Me.getStart(),Me.end].map((Me=>{let{line:Bn,character:zn}=Hn.getLineAndCharacterOfPosition(Me);return{line:Bn+1,column:zn}}));ni({loc:{start:zn,end:Ci}},Bn)}function C(Me){let Bn=Kf();return[!0,!1].some((Hn=>Bn.nodeCanBeDecorated(Hn,Me,Me.parent,Me.parent.parent)))}function d(Me){let{modifiers:Bn}=Me;if(!Hn(Bn))return;let zn=Kf(),{SyntaxKind:ni}=zn;for(let Hn of Bn)zn.isDecorator(Hn)&&!C(Me)&&(Me.kind===ni.MethodDeclaration&&!zn.nodeIsPresent(Me.body)&&m(Hn,"A decorator can only decorate a method implementation, not an overload."),m(Hn,"Decorators are not valid here."))}function E(Me,Bn){Me.kind!==Ci.PropertyDeclaration||Me.modifiers&&!Me.modifiers.some((Me=>Me.kind===Ci.AbstractKeyword))||Me.initializer&&Bn.value===null&&ni(Bn,"Abstract property cannot have an initializer")}function I(Me,Bn){if(!/@|abstract/.test(Bn.originalText))return;let{esTreeNodeToTSNodeMap:Hn,tsNodeToESTreeNodeMap:ni}=Me;zn(Me.ast,(Me=>{let Bn=Hn.get(Me);if(!Bn)return;let zn=ni.get(Bn);zn===Me&&(d(Bn),E(Bn,zn))}))}Bn.exports={throwErrorForInvalidNodes:I}}}),Ad=Oe({"scripts/build/shims/debug.cjs"(Me,Bn){"use strict";Ps(),Bn.exports=()=>()=>{}}}),Cd=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/internal/constants.js"(Me,Bn){Ps();var Hn="2.0.0",zn=256,ni=Number.MAX_SAFE_INTEGER||9007199254740991,Ci=16;Bn.exports={SEMVER_SPEC_VERSION:Hn,MAX_LENGTH:zn,MAX_SAFE_INTEGER:ni,MAX_SAFE_COMPONENT_LENGTH:Ci}}}),wd=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/internal/debug.js"(Me,Bn){Ps();var Hn=typeof ts=="object"&&ts.env&&ts.env.NODE_DEBUG&&/\bsemver\b/i.test(ts.env.NODE_DEBUG)?function(){for(var Me=arguments.length,Bn=new Array(Me),Hn=0;Hn{};Bn.exports=Hn}}),Sd=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/internal/re.js"(Me,Bn){Ps();var{MAX_SAFE_COMPONENT_LENGTH:Hn}=Cd(),zn=wd();Me=Bn.exports={};var ni=Me.re=[],Ci=Me.src=[],ts=Me.t={},aa=0,C=(Me,Bn,Hn)=>{let Ps=aa++;zn(Me,Ps,Bn),ts[Me]=Ps,Ci[Ps]=Bn,ni[Ps]=new RegExp(Bn,Hn?"g":void 0)};C("NUMERICIDENTIFIER","0|[1-9]\\d*"),C("NUMERICIDENTIFIERLOOSE","[0-9]+"),C("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),C("MAINVERSION",`(${Ci[ts.NUMERICIDENTIFIER]})\\.(${Ci[ts.NUMERICIDENTIFIER]})\\.(${Ci[ts.NUMERICIDENTIFIER]})`),C("MAINVERSIONLOOSE",`(${Ci[ts.NUMERICIDENTIFIERLOOSE]})\\.(${Ci[ts.NUMERICIDENTIFIERLOOSE]})\\.(${Ci[ts.NUMERICIDENTIFIERLOOSE]})`),C("PRERELEASEIDENTIFIER",`(?:${Ci[ts.NUMERICIDENTIFIER]}|${Ci[ts.NONNUMERICIDENTIFIER]})`),C("PRERELEASEIDENTIFIERLOOSE",`(?:${Ci[ts.NUMERICIDENTIFIERLOOSE]}|${Ci[ts.NONNUMERICIDENTIFIER]})`),C("PRERELEASE",`(?:-(${Ci[ts.PRERELEASEIDENTIFIER]}(?:\\.${Ci[ts.PRERELEASEIDENTIFIER]})*))`),C("PRERELEASELOOSE",`(?:-?(${Ci[ts.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${Ci[ts.PRERELEASEIDENTIFIERLOOSE]})*))`),C("BUILDIDENTIFIER","[0-9A-Za-z-]+"),C("BUILD",`(?:\\+(${Ci[ts.BUILDIDENTIFIER]}(?:\\.${Ci[ts.BUILDIDENTIFIER]})*))`),C("FULLPLAIN",`v?${Ci[ts.MAINVERSION]}${Ci[ts.PRERELEASE]}?${Ci[ts.BUILD]}?`),C("FULL",`^${Ci[ts.FULLPLAIN]}$`),C("LOOSEPLAIN",`[v=\\s]*${Ci[ts.MAINVERSIONLOOSE]}${Ci[ts.PRERELEASELOOSE]}?${Ci[ts.BUILD]}?`),C("LOOSE",`^${Ci[ts.LOOSEPLAIN]}$`),C("GTLT","((?:<|>)?=?)"),C("XRANGEIDENTIFIERLOOSE",`${Ci[ts.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),C("XRANGEIDENTIFIER",`${Ci[ts.NUMERICIDENTIFIER]}|x|X|\\*`),C("XRANGEPLAIN",`[v=\\s]*(${Ci[ts.XRANGEIDENTIFIER]})(?:\\.(${Ci[ts.XRANGEIDENTIFIER]})(?:\\.(${Ci[ts.XRANGEIDENTIFIER]})(?:${Ci[ts.PRERELEASE]})?${Ci[ts.BUILD]}?)?)?`),C("XRANGEPLAINLOOSE",`[v=\\s]*(${Ci[ts.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Ci[ts.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Ci[ts.XRANGEIDENTIFIERLOOSE]})(?:${Ci[ts.PRERELEASELOOSE]})?${Ci[ts.BUILD]}?)?)?`),C("XRANGE",`^${Ci[ts.GTLT]}\\s*${Ci[ts.XRANGEPLAIN]}$`),C("XRANGELOOSE",`^${Ci[ts.GTLT]}\\s*${Ci[ts.XRANGEPLAINLOOSE]}$`),C("COERCE",`(^|[^\\d])(\\d{1,${Hn}})(?:\\.(\\d{1,${Hn}}))?(?:\\.(\\d{1,${Hn}}))?(?:$|[^\\d])`),C("COERCERTL",Ci[ts.COERCE],!0),C("LONETILDE","(?:~>?)"),C("TILDETRIM",`(\\s*)${Ci[ts.LONETILDE]}\\s+`,!0),Me.tildeTrimReplace="$1~",C("TILDE",`^${Ci[ts.LONETILDE]}${Ci[ts.XRANGEPLAIN]}$`),C("TILDELOOSE",`^${Ci[ts.LONETILDE]}${Ci[ts.XRANGEPLAINLOOSE]}$`),C("LONECARET","(?:\\^)"),C("CARETTRIM",`(\\s*)${Ci[ts.LONECARET]}\\s+`,!0),Me.caretTrimReplace="$1^",C("CARET",`^${Ci[ts.LONECARET]}${Ci[ts.XRANGEPLAIN]}$`),C("CARETLOOSE",`^${Ci[ts.LONECARET]}${Ci[ts.XRANGEPLAINLOOSE]}$`),C("COMPARATORLOOSE",`^${Ci[ts.GTLT]}\\s*(${Ci[ts.LOOSEPLAIN]})$|^$`),C("COMPARATOR",`^${Ci[ts.GTLT]}\\s*(${Ci[ts.FULLPLAIN]})$|^$`),C("COMPARATORTRIM",`(\\s*)${Ci[ts.GTLT]}\\s*(${Ci[ts.LOOSEPLAIN]}|${Ci[ts.XRANGEPLAIN]})`,!0),Me.comparatorTrimReplace="$1$2$3",C("HYPHENRANGE",`^\\s*(${Ci[ts.XRANGEPLAIN]})\\s+-\\s+(${Ci[ts.XRANGEPLAIN]})\\s*$`),C("HYPHENRANGELOOSE",`^\\s*(${Ci[ts.XRANGEPLAINLOOSE]})\\s+-\\s+(${Ci[ts.XRANGEPLAINLOOSE]})\\s*$`),C("STAR","(<|>)?=?\\s*\\*"),C("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),C("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}}),xd=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/internal/parse-options.js"(Me,Bn){Ps();var Hn=["includePrerelease","loose","rtl"],h=Me=>Me?typeof Me!="object"?{loose:!0}:Hn.filter((Bn=>Me[Bn])).reduce(((Me,Bn)=>(Me[Bn]=!0,Me)),{}):{};Bn.exports=h}}),Td=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/internal/identifiers.js"(Me,Bn){Ps();var Hn=/^[0-9]+$/,h=(Me,Bn)=>{let zn=Hn.test(Me),ni=Hn.test(Bn);return zn&&ni&&(Me=+Me,Bn=+Bn),Me===Bn?0:zn&&!ni?-1:ni&&!zn?1:Meh(Bn,Me);Bn.exports={compareIdentifiers:h,rcompareIdentifiers:D}}}),Pd=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/classes/semver.js"(Me,Bn){Ps();var Hn=wd(),{MAX_LENGTH:zn,MAX_SAFE_INTEGER:ni}=Cd(),{re:Ci,t:ts}=Sd(),aa=xd(),{compareIdentifiers:oa}=Td(),ca=class{constructor(Me,Bn){if(Bn=aa(Bn),Me instanceof ca){if(Me.loose===!!Bn.loose&&Me.includePrerelease===!!Bn.includePrerelease)return Me;Me=Me.version}else if(typeof Me!="string")throw new TypeError(`Invalid Version: ${Me}`);if(Me.length>zn)throw new TypeError(`version is longer than ${zn} characters`);Hn("SemVer",Me,Bn),this.options=Bn,this.loose=!!Bn.loose,this.includePrerelease=!!Bn.includePrerelease;let Ps=Me.trim().match(Bn.loose?Ci[ts.LOOSE]:Ci[ts.FULL]);if(!Ps)throw new TypeError(`Invalid Version: ${Me}`);if(this.raw=Me,this.major=+Ps[1],this.minor=+Ps[2],this.patch=+Ps[3],this.major>ni||this.major<0)throw new TypeError("Invalid major version");if(this.minor>ni||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>ni||this.patch<0)throw new TypeError("Invalid patch version");Ps[4]?this.prerelease=Ps[4].split(".").map((Me=>{if(/^[0-9]+$/.test(Me)){let Bn=+Me;if(Bn>=0&&Bn=0;)typeof this.prerelease[Me]=="number"&&(this.prerelease[Me]++,Me=-2);Me===-1&&this.prerelease.push(0)}Bn&&(oa(this.prerelease[0],Bn)===0?isNaN(this.prerelease[1])&&(this.prerelease=[Bn,0]):this.prerelease=[Bn,0]);break;default:throw new Error(`invalid increment argument: ${Me}`)}return this.format(),this.raw=this.version,this}};Bn.exports=ca}}),Qh=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/parse.js"(Me,Bn){Ps();var{MAX_LENGTH:Hn}=Cd(),{re:zn,t:ni}=Sd(),Ci=Pd(),ts=xd(),m=(Me,Bn)=>{if(Bn=ts(Bn),Me instanceof Ci)return Me;if(typeof Me!="string"||Me.length>Hn||!(Bn.loose?zn[ni.LOOSE]:zn[ni.FULL]).test(Me))return null;try{return new Ci(Me,Bn)}catch{return null}};Bn.exports=m}}),Zh=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/valid.js"(Me,Bn){Ps();var Hn=Qh(),h=(Me,Bn)=>{let zn=Hn(Me,Bn);return zn?zn.version:null};Bn.exports=h}}),sA=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/clean.js"(Me,Bn){Ps();var Hn=Qh(),h=(Me,Bn)=>{let zn=Hn(Me.trim().replace(/^[=v]+/,""),Bn);return zn?zn.version:null};Bn.exports=h}}),oA=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/inc.js"(Me,Bn){Ps();var Hn=Pd(),h=(Me,Bn,zn,ni)=>{typeof zn=="string"&&(ni=zn,zn=void 0);try{return new Hn(Me instanceof Hn?Me.version:Me,zn).inc(Bn,ni).version}catch{return null}};Bn.exports=h}}),hA=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/compare.js"(Me,Bn){Ps();var Hn=Pd(),h=(Me,Bn,zn)=>new Hn(Me,zn).compare(new Hn(Bn,zn));Bn.exports=h}}),eg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/eq.js"(Me,Bn){Ps();var Hn=hA(),h=(Me,Bn,zn)=>Hn(Me,Bn,zn)===0;Bn.exports=h}}),tg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/diff.js"(Me,Bn){Ps();var Hn=Qh(),zn=eg(),D=(Me,Bn)=>{if(zn(Me,Bn))return null;{let zn=Hn(Me),ni=Hn(Bn),Ci=zn.prerelease.length||ni.prerelease.length,ts=Ci?"pre":"",Ps=Ci?"prerelease":"";for(let Me in zn)if((Me==="major"||Me==="minor"||Me==="patch")&&zn[Me]!==ni[Me])return ts+Me;return Ps}};Bn.exports=D}}),rg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/major.js"(Me,Bn){Ps();var Hn=Pd(),h=(Me,Bn)=>new Hn(Me,Bn).major;Bn.exports=h}}),ng=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/minor.js"(Me,Bn){Ps();var Hn=Pd(),h=(Me,Bn)=>new Hn(Me,Bn).minor;Bn.exports=h}}),ig=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/patch.js"(Me,Bn){Ps();var Hn=Pd(),h=(Me,Bn)=>new Hn(Me,Bn).patch;Bn.exports=h}}),sg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/prerelease.js"(Me,Bn){Ps();var Hn=Qh(),h=(Me,Bn)=>{let zn=Hn(Me,Bn);return zn&&zn.prerelease.length?zn.prerelease:null};Bn.exports=h}}),ag=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/rcompare.js"(Me,Bn){Ps();var Hn=hA(),h=(Me,Bn,zn)=>Hn(Bn,Me,zn);Bn.exports=h}}),og=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/compare-loose.js"(Me,Bn){Ps();var Hn=hA(),h=(Me,Bn)=>Hn(Me,Bn,!0);Bn.exports=h}}),ug=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/compare-build.js"(Me,Bn){Ps();var Hn=Pd(),h=(Me,Bn,zn)=>{let ni=new Hn(Me,zn),Ci=new Hn(Bn,zn);return ni.compare(Ci)||ni.compareBuild(Ci)};Bn.exports=h}}),cg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/sort.js"(Me,Bn){Ps();var Hn=ug(),h=(Me,Bn)=>Me.sort(((Me,zn)=>Hn(Me,zn,Bn)));Bn.exports=h}}),lg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/rsort.js"(Me,Bn){Ps();var Hn=ug(),h=(Me,Bn)=>Me.sort(((Me,zn)=>Hn(zn,Me,Bn)));Bn.exports=h}}),pg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/gt.js"(Me,Bn){Ps();var Hn=hA(),h=(Me,Bn,zn)=>Hn(Me,Bn,zn)>0;Bn.exports=h}}),fg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/lt.js"(Me,Bn){Ps();var Hn=hA(),h=(Me,Bn,zn)=>Hn(Me,Bn,zn)<0;Bn.exports=h}}),dg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/neq.js"(Me,Bn){Ps();var Hn=hA(),h=(Me,Bn,zn)=>Hn(Me,Bn,zn)!==0;Bn.exports=h}}),hg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/gte.js"(Me,Bn){Ps();var Hn=hA(),h=(Me,Bn,zn)=>Hn(Me,Bn,zn)>=0;Bn.exports=h}}),Ag=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/lte.js"(Me,Bn){Ps();var Hn=hA(),h=(Me,Bn,zn)=>Hn(Me,Bn,zn)<=0;Bn.exports=h}}),mg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/cmp.js"(Me,Bn){Ps();var Hn=eg(),zn=dg(),ni=pg(),Ci=hg(),ts=fg(),aa=Ag(),C=(Me,Bn,Ps,oa)=>{switch(Bn){case"===":return typeof Me=="object"&&(Me=Me.version),typeof Ps=="object"&&(Ps=Ps.version),Me===Ps;case"!==":return typeof Me=="object"&&(Me=Me.version),typeof Ps=="object"&&(Ps=Ps.version),Me!==Ps;case"":case"=":case"==":return Hn(Me,Ps,oa);case"!=":return zn(Me,Ps,oa);case">":return ni(Me,Ps,oa);case">=":return Ci(Me,Ps,oa);case"<":return ts(Me,Ps,oa);case"<=":return aa(Me,Ps,oa);default:throw new TypeError(`Invalid operator: ${Bn}`)}};Bn.exports=C}}),gg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/coerce.js"(Me,Bn){Ps();var Hn=Pd(),zn=Qh(),{re:ni,t:Ci}=Sd(),y=(Me,Bn)=>{if(Me instanceof Hn)return Me;if(typeof Me=="number"&&(Me=String(Me)),typeof Me!="string")return null;Bn=Bn||{};let ts=null;if(!Bn.rtl)ts=Me.match(ni[Ci.COERCE]);else{let Bn;for(;(Bn=ni[Ci.COERCERTL].exec(Me))&&(!ts||ts.index+ts[0].length!==Me.length);)(!ts||Bn.index+Bn[0].length!==ts.index+ts[0].length)&&(ts=Bn),ni[Ci.COERCERTL].lastIndex=Bn.index+Bn[1].length+Bn[2].length;ni[Ci.COERCERTL].lastIndex=-1}return ts===null?null:zn(`${ts[2]}.${ts[3]||"0"}.${ts[4]||"0"}`,Bn)};Bn.exports=y}}),_g=Oe({"node_modules/yallist/iterator.js"(Me,Bn){"use strict";Ps(),Bn.exports=function(Me){Me.prototype[Symbol.iterator]=function*(){for(let Me=this.head;Me;Me=Me.next)yield Me.value}}}}),yg=Oe({"node_modules/yallist/yallist.js"(Me,Bn){"use strict";Ps(),Bn.exports=v,v.Node=y,v.create=v;function v(Me){var Bn=this;if(Bn instanceof v||(Bn=new v),Bn.tail=null,Bn.head=null,Bn.length=0,Me&&typeof Me.forEach=="function")Me.forEach((function(Me){Bn.push(Me)}));else if(arguments.length>0)for(var Hn=0,zn=arguments.length;Hn1)Hn=Bn;else if(this.head)zn=this.head.next,Hn=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var ni=0;zn!==null;ni++)Hn=Me(Hn,zn.value,ni),zn=zn.next;return Hn},v.prototype.reduceReverse=function(Me,Bn){var Hn,zn=this.tail;if(arguments.length>1)Hn=Bn;else if(this.tail)zn=this.tail.prev,Hn=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var ni=this.length-1;zn!==null;ni--)Hn=Me(Hn,zn.value,ni),zn=zn.prev;return Hn},v.prototype.toArray=function(){for(var Me=new Array(this.length),Bn=0,Hn=this.head;Hn!==null;Bn++)Me[Bn]=Hn.value,Hn=Hn.next;return Me},v.prototype.toArrayReverse=function(){for(var Me=new Array(this.length),Bn=0,Hn=this.tail;Hn!==null;Bn++)Me[Bn]=Hn.value,Hn=Hn.prev;return Me},v.prototype.slice=function(Me,Bn){Bn=Bn||this.length,Bn<0&&(Bn+=this.length),Me=Me||0,Me<0&&(Me+=this.length);var Hn=new v;if(Bnthis.length&&(Bn=this.length);for(var zn=0,ni=this.head;ni!==null&&znthis.length&&(Bn=this.length);for(var zn=this.length,ni=this.tail;ni!==null&&zn>Bn;zn--)ni=ni.prev;for(;ni!==null&&zn>Me;zn--,ni=ni.prev)Hn.push(ni.value);return Hn},v.prototype.splice=function(Me,Bn){Me>this.length&&(Me=this.length-1),Me<0&&(Me=this.length+Me);for(var Hn=0,zn=this.head;zn!==null&&Hn1,Ha=class{constructor(Me){if(typeof Me=="number"&&(Me={max:Me}),Me||(Me={}),Me.max&&(typeof Me.max!="number"||Me.max<0))throw new TypeError("max must be a non-negative number");let Bn=this[zn]=Me.max||1/0,Hn=Me.length||M;if(this[Ci]=typeof Hn!="function"?M:Hn,this[ts]=Me.stale||!1,Me.maxAge&&typeof Me.maxAge!="number")throw new TypeError("maxAge must be a number");this[aa]=Me.maxAge||0,this[oa]=Me.dispose,this[ca]=Me.noDisposeOnSet||!1,this[Ga]=Me.updateAgeOnGet||!1,this.reset()}set max(Me){if(typeof Me!="number"||Me<0)throw new TypeError("max must be a non-negative number");this[zn]=Me||1/0,ce(this)}get max(){return this[zn]}set allowStale(Me){this[ts]=!!Me}get allowStale(){return this[ts]}set maxAge(Me){if(typeof Me!="number")throw new TypeError("maxAge must be a non-negative number");this[aa]=Me,ce(this)}get maxAge(){return this[aa]}set lengthCalculator(Me){typeof Me!="function"&&(Me=M),Me!==this[Ci]&&(this[Ci]=Me,this[ni]=0,this[_a].forEach((Me=>{Me.length=this[Ci](Me.value,Me.key),this[ni]+=Me.length}))),ce(this)}get lengthCalculator(){return this[Ci]}get length(){return this[ni]}get itemCount(){return this[_a].length}rforEach(Me,Bn){Bn=Bn||this;for(let Hn=this[_a].tail;Hn!==null;){let zn=Hn.prev;Ae(this,Me,Hn,Bn),Hn=zn}}forEach(Me,Bn){Bn=Bn||this;for(let Hn=this[_a].head;Hn!==null;){let zn=Hn.next;Ae(this,Me,Hn,Bn),Hn=zn}}keys(){return this[_a].toArray().map((Me=>Me.key))}values(){return this[_a].toArray().map((Me=>Me.value))}reset(){this[oa]&&this[_a]&&this[_a].length&&this[_a].forEach((Me=>this[oa](Me.key,Me.value))),this[xa]=new Map,this[_a]=new Hn,this[ni]=0}dump(){return this[_a].map((Me=>K(this,Me)?!1:{k:Me.key,v:Me.value,e:Me.now+(Me.maxAge||0)})).toArray().filter((Me=>Me))}dumpLru(){return this[_a]}set(Me,Bn,Hn){if(Hn=Hn||this[aa],Hn&&typeof Hn!="number")throw new TypeError("maxAge must be a number");let ts=Hn?Date.now():0,Ps=this[Ci](Bn,Me);if(this[xa].has(Me)){if(Ps>this[zn])return Ie(this,this[xa].get(Me)),!1;let Ci=this[xa].get(Me).value;return this[oa]&&(this[ca]||this[oa](Me,Ci.value)),Ci.now=ts,Ci.maxAge=Hn,Ci.value=Bn,this[ni]+=Ps-Ci.length,Ci.length=Ps,this.get(Me),ce(this),!0}let Ga=new so(Me,Bn,Ps,ts,Hn);return Ga.length>this[zn]?(this[oa]&&this[oa](Me,Bn),!1):(this[ni]+=Ga.length,this[_a].unshift(Ga),this[xa].set(Me,this[_a].head),ce(this),!0)}has(Me){if(!this[xa].has(Me))return!1;let Bn=this[xa].get(Me).value;return!K(this,Bn)}get(Me){return W(this,Me,!0)}peek(Me){return W(this,Me,!1)}pop(){let Me=this[_a].tail;return Me?(Ie(this,Me),Me.value):null}del(Me){Ie(this,this[xa].get(Me))}load(Me){this.reset();let Bn=Date.now();for(let Hn=Me.length-1;Hn>=0;Hn--){let zn=Me[Hn],ni=zn.e||0;if(ni===0)this.set(zn.k,zn.v);else{let Me=ni-Bn;Me>0&&this.set(zn.k,zn.v,Me)}}}prune(){this[xa].forEach(((Me,Bn)=>W(this,Bn,!1)))}},W=(Me,Bn,Hn)=>{let zn=Me[xa].get(Bn);if(zn){let Bn=zn.value;if(K(Me,Bn)){if(Ie(Me,zn),!Me[ts])return}else Hn&&(Me[Ga]&&(zn.value.now=Date.now()),Me[_a].unshiftNode(zn));return Bn.value}},K=(Me,Bn)=>{if(!Bn||!Bn.maxAge&&!Me[aa])return!1;let Hn=Date.now()-Bn.now;return Bn.maxAge?Hn>Bn.maxAge:Me[aa]&&Hn>Me[aa]},ce=Me=>{if(Me[ni]>Me[zn])for(let Bn=Me[_a].tail;Me[ni]>Me[zn]&&Bn!==null;){let Hn=Bn.prev;Ie(Me,Bn),Bn=Hn}},Ie=(Me,Bn)=>{if(Bn){let Hn=Bn.value;Me[oa]&&Me[oa](Hn.key,Hn.value),Me[ni]-=Hn.length,Me[xa].delete(Hn.key),Me[_a].removeNode(Bn)}},so=class{constructor(Me,Bn,Hn,zn,ni){this.key=Me,this.value=Bn,this.length=Hn,this.now=zn,this.maxAge=ni||0}},Ae=(Me,Bn,Hn,zn)=>{let ni=Hn.value;K(Me,ni)&&(Ie(Me,Hn),Me[ts]||(ni=void 0)),ni&&Bn.call(zn,ni.value,ni.key,Me)};Bn.exports=Ha}}),bg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/classes/range.js"(Me,Bn){Ps();var Hn=class{constructor(Me,Bn){if(Bn=Ci(Bn),Me instanceof Hn)return Me.loose===!!Bn.loose&&Me.includePrerelease===!!Bn.includePrerelease?Me:new Hn(Me.raw,Bn);if(Me instanceof ts)return this.raw=Me.value,this.set=[[Me]],this.format(),this;if(this.options=Bn,this.loose=!!Bn.loose,this.includePrerelease=!!Bn.includePrerelease,this.raw=Me,this.set=Me.split("||").map((Me=>this.parseRange(Me.trim()))).filter((Me=>Me.length)),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${Me}`);if(this.set.length>1){let Me=this.set[0];if(this.set=this.set.filter((Me=>!q(Me[0]))),this.set.length===0)this.set=[Me];else if(this.set.length>1){for(let Me of this.set)if(Me.length===1&&W(Me[0])){this.set=[Me];break}}}this.format()}format(){return this.range=this.set.map((Me=>Me.join(" ").trim())).join("||").trim(),this.range}toString(){return this.range}parseRange(Me){Me=Me.trim();let Bn=`parseRange:${Object.keys(this.options).join(",")}:${Me}`,Hn=ni.get(Bn);if(Hn)return Hn;let zn=this.options.loose,Ci=zn?ca[_a.HYPHENRANGELOOSE]:ca[_a.HYPHENRANGE];Me=Me.replace(Ci,Je(this.options.includePrerelease)),aa("hyphen replace",Me),Me=Me.replace(ca[_a.COMPARATORTRIM],xa),aa("comparator trim",Me),Me=Me.replace(ca[_a.TILDETRIM],Ga),Me=Me.replace(ca[_a.CARETTRIM],Ha),Me=Me.split(/\s+/).join(" ");let Ps=Me.split(" ").map((Me=>ce(Me,this.options))).join(" ").split(/\s+/).map((Me=>ke(Me,this.options)));zn&&(Ps=Ps.filter((Me=>(aa("loose invalid filter",Me,this.options),!!Me.match(ca[_a.COMPARATORLOOSE]))))),aa("range list",Ps);let oa=new Map,so=Ps.map((Me=>new ts(Me,this.options)));for(let Me of so){if(q(Me))return[Me];oa.set(Me.value,Me)}oa.size>1&&oa.has("")&&oa.delete("");let oo=[...oa.values()];return ni.set(Bn,oo),oo}intersects(Me,Bn){if(!(Me instanceof Hn))throw new TypeError("a Range is required");return this.set.some((Hn=>K(Hn,Bn)&&Me.set.some((Me=>K(Me,Bn)&&Hn.every((Hn=>Me.every((Me=>Hn.intersects(Me,Bn)))))))))}test(Me){if(!Me)return!1;if(typeof Me=="string")try{Me=new oa(Me,this.options)}catch{return!1}for(let Bn=0;BnMe.value==="<0.0.0-0",W=Me=>Me.value==="",K=(Me,Bn)=>{let Hn=!0,zn=Me.slice(),ni=zn.pop();for(;Hn&&zn.length;)Hn=zn.every((Me=>ni.intersects(Me,Bn))),ni=zn.pop();return Hn},ce=(Me,Bn)=>(aa("comp",Me,Bn),Me=te(Me,Bn),aa("caret",Me),Me=me(Me,Bn),aa("tildes",Me),Me=Pe(Me,Bn),aa("xrange",Me),Me=pe(Me,Bn),aa("stars",Me),Me),Ie=Me=>!Me||Me.toLowerCase()==="x"||Me==="*",me=(Me,Bn)=>Me.trim().split(/\s+/).map((Me=>Ae(Me,Bn))).join(" "),Ae=(Me,Bn)=>{let Hn=Bn.loose?ca[_a.TILDELOOSE]:ca[_a.TILDE];return Me.replace(Hn,((Bn,Hn,zn,ni,Ci)=>{aa("tilde",Me,Bn,Hn,zn,ni,Ci);let ts;return Ie(Hn)?ts="":Ie(zn)?ts=`>=${Hn}.0.0 <${+Hn+1}.0.0-0`:Ie(ni)?ts=`>=${Hn}.${zn}.0 <${Hn}.${+zn+1}.0-0`:Ci?(aa("replaceTilde pr",Ci),ts=`>=${Hn}.${zn}.${ni}-${Ci} <${Hn}.${+zn+1}.0-0`):ts=`>=${Hn}.${zn}.${ni} <${Hn}.${+zn+1}.0-0`,aa("tilde return",ts),ts}))},te=(Me,Bn)=>Me.trim().split(/\s+/).map((Me=>he(Me,Bn))).join(" "),he=(Me,Bn)=>{aa("caret",Me,Bn);let Hn=Bn.loose?ca[_a.CARETLOOSE]:ca[_a.CARET],zn=Bn.includePrerelease?"-0":"";return Me.replace(Hn,((Bn,Hn,ni,Ci,ts)=>{aa("caret",Me,Bn,Hn,ni,Ci,ts);let Ps;return Ie(Hn)?Ps="":Ie(ni)?Ps=`>=${Hn}.0.0${zn} <${+Hn+1}.0.0-0`:Ie(Ci)?Hn==="0"?Ps=`>=${Hn}.${ni}.0${zn} <${Hn}.${+ni+1}.0-0`:Ps=`>=${Hn}.${ni}.0${zn} <${+Hn+1}.0.0-0`:ts?(aa("replaceCaret pr",ts),Hn==="0"?ni==="0"?Ps=`>=${Hn}.${ni}.${Ci}-${ts} <${Hn}.${ni}.${+Ci+1}-0`:Ps=`>=${Hn}.${ni}.${Ci}-${ts} <${Hn}.${+ni+1}.0-0`:Ps=`>=${Hn}.${ni}.${Ci}-${ts} <${+Hn+1}.0.0-0`):(aa("no pr"),Hn==="0"?ni==="0"?Ps=`>=${Hn}.${ni}.${Ci}${zn} <${Hn}.${ni}.${+Ci+1}-0`:Ps=`>=${Hn}.${ni}.${Ci}${zn} <${Hn}.${+ni+1}.0-0`:Ps=`>=${Hn}.${ni}.${Ci} <${+Hn+1}.0.0-0`),aa("caret return",Ps),Ps}))},Pe=(Me,Bn)=>(aa("replaceXRanges",Me,Bn),Me.split(/\s+/).map((Me=>R(Me,Bn))).join(" ")),R=(Me,Bn)=>{Me=Me.trim();let Hn=Bn.loose?ca[_a.XRANGELOOSE]:ca[_a.XRANGE];return Me.replace(Hn,((Hn,zn,ni,Ci,ts,Ps)=>{aa("xRange",Me,Hn,zn,ni,Ci,ts,Ps);let oa=Ie(ni),ca=oa||Ie(Ci),_a=ca||Ie(ts),xa=_a;return zn==="="&&xa&&(zn=""),Ps=Bn.includePrerelease?"-0":"",oa?zn===">"||zn==="<"?Hn="<0.0.0-0":Hn="*":zn&&xa?(ca&&(Ci=0),ts=0,zn===">"?(zn=">=",ca?(ni=+ni+1,Ci=0,ts=0):(Ci=+Ci+1,ts=0)):zn==="<="&&(zn="<",ca?ni=+ni+1:Ci=+Ci+1),zn==="<"&&(Ps="-0"),Hn=`${zn+ni}.${Ci}.${ts}${Ps}`):ca?Hn=`>=${ni}.0.0${Ps} <${+ni+1}.0.0-0`:_a&&(Hn=`>=${ni}.${Ci}.0${Ps} <${ni}.${+Ci+1}.0-0`),aa("xRange return",Hn),Hn}))},pe=(Me,Bn)=>(aa("replaceStars",Me,Bn),Me.trim().replace(ca[_a.STAR],"")),ke=(Me,Bn)=>(aa("replaceGTE0",Me,Bn),Me.trim().replace(ca[Bn.includePrerelease?_a.GTE0PRE:_a.GTE0],"")),Je=Me=>(Bn,Hn,zn,ni,Ci,ts,Ps,aa,oa,ca,_a,xa,Ga)=>(Ie(zn)?Hn="":Ie(ni)?Hn=`>=${zn}.0.0${Me?"-0":""}`:Ie(Ci)?Hn=`>=${zn}.${ni}.0${Me?"-0":""}`:ts?Hn=`>=${Hn}`:Hn=`>=${Hn}${Me?"-0":""}`,Ie(oa)?aa="":Ie(ca)?aa=`<${+oa+1}.0.0-0`:Ie(_a)?aa=`<${oa}.${+ca+1}.0-0`:xa?aa=`<=${oa}.${ca}.${_a}-${xa}`:Me?aa=`<${oa}.${ca}.${+_a+1}-0`:aa=`<=${aa}`,`${Hn} ${aa}`.trim()),Xe=(Me,Bn,Hn)=>{for(let Hn=0;Hn0){let zn=Me[Hn].semver;if(zn.major===Bn.major&&zn.minor===Bn.minor&&zn.patch===Bn.patch)return!0}return!1}return!0}}}),Dg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/classes/comparator.js"(Me,Bn){Ps();var Hn=Symbol("SemVer ANY"),zn=class{static get ANY(){return Hn}constructor(Me,Bn){if(Bn=ni(Bn),Me instanceof zn){if(Me.loose===!!Bn.loose)return Me;Me=Me.value}oa("comparator",Me,Bn),this.options=Bn,this.loose=!!Bn.loose,this.parse(Me),this.semver===Hn?this.value="":this.value=this.operator+this.semver.version,oa("comp",this)}parse(Me){let Bn=this.options.loose?Ci[ts.COMPARATORLOOSE]:Ci[ts.COMPARATOR],zn=Me.match(Bn);if(!zn)throw new TypeError(`Invalid comparator: ${Me}`);this.operator=zn[1]!==void 0?zn[1]:"",this.operator==="="&&(this.operator=""),zn[2]?this.semver=new ca(zn[2],this.options.loose):this.semver=Hn}toString(){return this.value}test(Me){if(oa("Comparator.test",Me,this.options.loose),this.semver===Hn||Me===Hn)return!0;if(typeof Me=="string")try{Me=new ca(Me,this.options)}catch{return!1}return aa(Me,this.operator,this.semver,this.options)}intersects(Me,Bn){if(!(Me instanceof zn))throw new TypeError("a Comparator is required");if((!Bn||typeof Bn!="object")&&(Bn={loose:!!Bn,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new _a(Me.value,Bn).test(this.value);if(Me.operator==="")return Me.value===""?!0:new _a(this.value,Bn).test(Me.semver);let Hn=(this.operator===">="||this.operator===">")&&(Me.operator===">="||Me.operator===">"),ni=(this.operator==="<="||this.operator==="<")&&(Me.operator==="<="||Me.operator==="<"),Ci=this.semver.version===Me.semver.version,ts=(this.operator===">="||this.operator==="<=")&&(Me.operator===">="||Me.operator==="<="),Ps=aa(this.semver,"<",Me.semver,Bn)&&(this.operator===">="||this.operator===">")&&(Me.operator==="<="||Me.operator==="<"),oa=aa(this.semver,">",Me.semver,Bn)&&(this.operator==="<="||this.operator==="<")&&(Me.operator===">="||Me.operator===">");return Hn||ni||Ci&&ts||Ps||oa}};Bn.exports=zn;var ni=xd(),{re:Ci,t:ts}=Sd(),aa=mg(),oa=wd(),ca=Pd(),_a=bg()}}),wg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/satisfies.js"(Me,Bn){Ps();var Hn=bg(),h=(Me,Bn,zn)=>{try{Bn=new Hn(Bn,zn)}catch{return!1}return Bn.test(Me)};Bn.exports=h}}),Sg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/to-comparators.js"(Me,Bn){Ps();var Hn=bg(),h=(Me,Bn)=>new Hn(Me,Bn).set.map((Me=>Me.map((Me=>Me.value)).join(" ").trim().split(" ")));Bn.exports=h}}),Ig=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/max-satisfying.js"(Me,Bn){Ps();var Hn=Pd(),zn=bg(),D=(Me,Bn,ni)=>{let Ci=null,ts=null,Ps=null;try{Ps=new zn(Bn,ni)}catch{return null}return Me.forEach((Me=>{Ps.test(Me)&&(!Ci||ts.compare(Me)===-1)&&(Ci=Me,ts=new Hn(Ci,ni))})),Ci};Bn.exports=D}}),xg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/min-satisfying.js"(Me,Bn){Ps();var Hn=Pd(),zn=bg(),D=(Me,Bn,ni)=>{let Ci=null,ts=null,Ps=null;try{Ps=new zn(Bn,ni)}catch{return null}return Me.forEach((Me=>{Ps.test(Me)&&(!Ci||ts.compare(Me)===1)&&(Ci=Me,ts=new Hn(Ci,ni))})),Ci};Bn.exports=D}}),kg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/min-version.js"(Me,Bn){Ps();var Hn=Pd(),zn=bg(),ni=pg(),P=(Me,Bn)=>{Me=new zn(Me,Bn);let Ci=new Hn("0.0.0");if(Me.test(Ci)||(Ci=new Hn("0.0.0-0"),Me.test(Ci)))return Ci;Ci=null;for(let Bn=0;Bn{let Bn=new Hn(Me.semver.version);switch(Me.operator){case">":Bn.prerelease.length===0?Bn.patch++:Bn.prerelease.push(0),Bn.raw=Bn.format();case"":case">=":(!ts||ni(Bn,ts))&&(ts=Bn);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${Me.operator}`)}})),ts&&(!Ci||ni(Ci,ts))&&(Ci=ts)}return Ci&&Me.test(Ci)?Ci:null};Bn.exports=P}}),Bg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/valid.js"(Me,Bn){Ps();var Hn=bg(),h=(Me,Bn)=>{try{return new Hn(Me,Bn).range||"*"}catch{return null}};Bn.exports=h}}),Tg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/outside.js"(Me,Bn){Ps();var Hn=Pd(),zn=Dg(),{ANY:ni}=zn,Ci=bg(),ts=wg(),aa=pg(),oa=fg(),ca=Ag(),_a=hg(),I=(Me,Bn,Ps,xa)=>{Me=new Hn(Me,xa),Bn=new Ci(Bn,xa);let Ga,Ha,so,oo,Jo;switch(Ps){case">":Ga=aa,Ha=ca,so=oa,oo=">",Jo=">=";break;case"<":Ga=oa,Ha=_a,so=aa,oo="<",Jo="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(ts(Me,Bn,xa))return!1;for(let Hn=0;Hn{Me.semver===ni&&(Me=new zn(">=0.0.0")),ts=ts||Me,Ps=Ps||Me,Ga(Me.semver,ts.semver,xa)?ts=Me:so(Me.semver,Ps.semver,xa)&&(Ps=Me)})),ts.operator===oo||ts.operator===Jo||(!Ps.operator||Ps.operator===oo)&&Ha(Me,Ps.semver))return!1;if(Ps.operator===Jo&&so(Me,Ps.semver))return!1}return!0};Bn.exports=I}}),Fg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/gtr.js"(Me,Bn){Ps();var Hn=Tg(),h=(Me,Bn,zn)=>Hn(Me,Bn,">",zn);Bn.exports=h}}),Ng=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/ltr.js"(Me,Bn){Ps();var Hn=Tg(),h=(Me,Bn,zn)=>Hn(Me,Bn,"<",zn);Bn.exports=h}}),Qg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/intersects.js"(Me,Bn){Ps();var Hn=bg(),h=(Me,Bn,zn)=>(Me=new Hn(Me,zn),Bn=new Hn(Bn,zn),Me.intersects(Bn));Bn.exports=h}}),Rg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/simplify.js"(Me,Bn){Ps();var Hn=wg(),zn=hA();Bn.exports=(Me,Bn,ni)=>{let Ci=[],ts=null,Ps=null,aa=Me.sort(((Me,Bn)=>zn(Me,Bn,ni)));for(let Me of aa)Hn(Me,Bn,ni)?(Ps=Me,ts||(ts=Me)):(Ps&&Ci.push([ts,Ps]),Ps=null,ts=null);ts&&Ci.push([ts,null]);let oa=[];for(let[Me,Bn]of Ci)Me===Bn?oa.push(Me):!Bn&&Me===aa[0]?oa.push("*"):Bn?Me===aa[0]?oa.push(`<=${Bn}`):oa.push(`${Me} - ${Bn}`):oa.push(`>=${Me}`);let ca=oa.join(" || "),_a=typeof Bn.raw=="string"?Bn.raw:String(Bn);return ca.length<_a.length?ca:Bn}}}),Pg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/subset.js"(Me,Bn){Ps();var Hn=bg(),zn=Dg(),{ANY:ni}=zn,Ci=wg(),ts=hA(),m=function(Me,Bn){let zn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(Me===Bn)return!0;Me=new Hn(Me,zn),Bn=new Hn(Bn,zn);let ni=!1;e:for(let Hn of Me.set){for(let Me of Bn.set){let Bn=C(Hn,Me,zn);if(ni=ni||Bn!==null,Bn)continue e}if(ni)return!1}return!0},C=(Me,Bn,Hn)=>{if(Me===Bn)return!0;if(Me.length===1&&Me[0].semver===ni){if(Bn.length===1&&Bn[0].semver===ni)return!0;Hn.includePrerelease?Me=[new zn(">=0.0.0-0")]:Me=[new zn(">=0.0.0")]}if(Bn.length===1&&Bn[0].semver===ni){if(Hn.includePrerelease)return!0;Bn=[new zn(">=0.0.0")]}let Ps=new Set,aa,oa;for(let Bn of Me)Bn.operator===">"||Bn.operator===">="?aa=d(aa,Bn,Hn):Bn.operator==="<"||Bn.operator==="<="?oa=E(oa,Bn,Hn):Ps.add(Bn.semver);if(Ps.size>1)return null;let ca;if(aa&&oa){if(ca=ts(aa.semver,oa.semver,Hn),ca>0)return null;if(ca===0&&(aa.operator!==">="||oa.operator!=="<="))return null}for(let Me of Ps){if(aa&&!Ci(Me,String(aa),Hn)||oa&&!Ci(Me,String(oa),Hn))return null;for(let zn of Bn)if(!Ci(Me,String(zn),Hn))return!1;return!0}let _a,xa,Ga,Ha,so=oa&&!Hn.includePrerelease&&oa.semver.prerelease.length?oa.semver:!1,oo=aa&&!Hn.includePrerelease&&aa.semver.prerelease.length?aa.semver:!1;so&&so.prerelease.length===1&&oa.operator==="<"&&so.prerelease[0]===0&&(so=!1);for(let Me of Bn){if(Ha=Ha||Me.operator===">"||Me.operator===">=",Ga=Ga||Me.operator==="<"||Me.operator==="<=",aa){if(oo&&Me.semver.prerelease&&Me.semver.prerelease.length&&Me.semver.major===oo.major&&Me.semver.minor===oo.minor&&Me.semver.patch===oo.patch&&(oo=!1),Me.operator===">"||Me.operator===">="){if(_a=d(aa,Me,Hn),_a===Me&&_a!==aa)return!1}else if(aa.operator===">="&&!Ci(aa.semver,String(Me),Hn))return!1}if(oa){if(so&&Me.semver.prerelease&&Me.semver.prerelease.length&&Me.semver.major===so.major&&Me.semver.minor===so.minor&&Me.semver.patch===so.patch&&(so=!1),Me.operator==="<"||Me.operator==="<="){if(xa=E(oa,Me,Hn),xa===Me&&xa!==oa)return!1}else if(oa.operator==="<="&&!Ci(oa.semver,String(Me),Hn))return!1}if(!Me.operator&&(oa||aa)&&ca!==0)return!1}return!(aa&&Ga&&!oa&&ca!==0||oa&&Ha&&!aa&&ca!==0||oo||so)},d=(Me,Bn,Hn)=>{if(!Me)return Bn;let zn=ts(Me.semver,Bn.semver,Hn);return zn>0?Me:zn<0||Bn.operator===">"&&Me.operator===">="?Bn:Me},E=(Me,Bn,Hn)=>{if(!Me)return Bn;let zn=ts(Me.semver,Bn.semver,Hn);return zn<0?Me:zn>0||Bn.operator==="<"&&Me.operator==="<="?Bn:Me};Bn.exports=m}}),Og=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/index.js"(Me,Bn){Ps();var Hn=Sd(),zn=Cd(),ni=Pd(),Ci=Td(),ts=Qh(),aa=Zh(),oa=sA(),ca=oA(),_a=tg(),xa=rg(),Ga=ng(),Ha=ig(),so=sg(),oo=hA(),Jo=ag(),tc=og(),dc=ug(),Fc=cg(),Jc=lg(),Dp=pg(),kp=fg(),Qp=eg(),Up=dg(),Vp=hg(),qp=Ag(),Jp=mg(),Wp=gg(),zp=Dg(),Qf=bg(),Yf=wg(),Kf=Sg(),Xf=Ig(),Ad=xg(),wd=kg(),xd=Bg(),_g=Tg(),yg=Fg(),vg=Ng(),Eg=Qg(),Cg=Rg(),Og=Pg();Bn.exports={parse:ts,valid:aa,clean:oa,inc:ca,diff:_a,major:xa,minor:Ga,patch:Ha,prerelease:so,compare:oo,rcompare:Jo,compareLoose:tc,compareBuild:dc,sort:Fc,rsort:Jc,gt:Dp,lt:kp,eq:Qp,neq:Up,gte:Vp,lte:qp,cmp:Jp,coerce:Wp,Comparator:zp,Range:Qf,satisfies:Yf,toComparators:Kf,maxSatisfying:Xf,minSatisfying:Ad,minVersion:wd,validRange:xd,outside:_g,gtr:yg,ltr:vg,intersects:Eg,simplifyRange:Cg,subset:Og,SemVer:ni,re:Hn.re,src:Hn.src,tokens:Hn.t,SEMVER_SPEC_VERSION:zn.SEMVER_SPEC_VERSION,compareIdentifiers:Ci.compareIdentifiers,rcompareIdentifiers:Ci.rcompareIdentifiers}}}),Lg=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/version-check.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn};Object.defineProperty(Me,"__esModule",{value:!0}),Me.typescriptVersionIsAtLeast=void 0;var ni=zn(Og()),Ci=zn(Kf()),ts=["3.7","3.8","3.9","4.0","4.1","4.2","4.3","4.4","4.5","4.6","4.7","4.8","4.9","5.0"],aa={};Me.typescriptVersionIsAtLeast=aa;for(let Me of ts)aa[Me]=!0}}),Mg=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/getModifiers.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn};Object.defineProperty(Me,"__esModule",{value:!0}),Me.getDecorators=Me.getModifiers=void 0;var ni=zn(Kf()),Ci=Lg(),ts=Ci.typescriptVersionIsAtLeast["4.8"];function m(Me){var Bn;if(Me!=null){if(ts){if(ni.canHaveModifiers(Me)){let Bn=ni.getModifiers(Me);return Bn?Array.from(Bn):void 0}return}return(Bn=Me.modifiers)===null||Bn===void 0?void 0:Bn.filter((Me=>!ni.isDecorator(Me)))}}Me.getModifiers=m;function C(Me){var Bn;if(Me!=null){if(ts){if(ni.canHaveDecorators(Me)){let Bn=ni.getDecorators(Me);return Bn?Array.from(Bn):void 0}return}return(Bn=Me.decorators)===null||Bn===void 0?void 0:Bn.filter(ni.isDecorator)}}Me.getDecorators=C}}),jg=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/jsx/xhtml-entities.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.xhtmlEntities=void 0,Me.xhtmlEntities={quot:'"',amp:"&",apos:"'",lt:"<",gt:">",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"}}}),Ug=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.AST_TOKEN_TYPES=Me.AST_NODE_TYPES=void 0;var Bn;(function(Me){Me.AccessorProperty="AccessorProperty",Me.ArrayExpression="ArrayExpression",Me.ArrayPattern="ArrayPattern",Me.ArrowFunctionExpression="ArrowFunctionExpression",Me.AssignmentExpression="AssignmentExpression",Me.AssignmentPattern="AssignmentPattern",Me.AwaitExpression="AwaitExpression",Me.BinaryExpression="BinaryExpression",Me.BlockStatement="BlockStatement",Me.BreakStatement="BreakStatement",Me.CallExpression="CallExpression",Me.CatchClause="CatchClause",Me.ChainExpression="ChainExpression",Me.ClassBody="ClassBody",Me.ClassDeclaration="ClassDeclaration",Me.ClassExpression="ClassExpression",Me.ConditionalExpression="ConditionalExpression",Me.ContinueStatement="ContinueStatement",Me.DebuggerStatement="DebuggerStatement",Me.Decorator="Decorator",Me.DoWhileStatement="DoWhileStatement",Me.EmptyStatement="EmptyStatement",Me.ExportAllDeclaration="ExportAllDeclaration",Me.ExportDefaultDeclaration="ExportDefaultDeclaration",Me.ExportNamedDeclaration="ExportNamedDeclaration",Me.ExportSpecifier="ExportSpecifier",Me.ExpressionStatement="ExpressionStatement",Me.ForInStatement="ForInStatement",Me.ForOfStatement="ForOfStatement",Me.ForStatement="ForStatement",Me.FunctionDeclaration="FunctionDeclaration",Me.FunctionExpression="FunctionExpression",Me.Identifier="Identifier",Me.IfStatement="IfStatement",Me.ImportAttribute="ImportAttribute",Me.ImportDeclaration="ImportDeclaration",Me.ImportDefaultSpecifier="ImportDefaultSpecifier",Me.ImportExpression="ImportExpression",Me.ImportNamespaceSpecifier="ImportNamespaceSpecifier",Me.ImportSpecifier="ImportSpecifier",Me.JSXAttribute="JSXAttribute",Me.JSXClosingElement="JSXClosingElement",Me.JSXClosingFragment="JSXClosingFragment",Me.JSXElement="JSXElement",Me.JSXEmptyExpression="JSXEmptyExpression",Me.JSXExpressionContainer="JSXExpressionContainer",Me.JSXFragment="JSXFragment",Me.JSXIdentifier="JSXIdentifier",Me.JSXMemberExpression="JSXMemberExpression",Me.JSXNamespacedName="JSXNamespacedName",Me.JSXOpeningElement="JSXOpeningElement",Me.JSXOpeningFragment="JSXOpeningFragment",Me.JSXSpreadAttribute="JSXSpreadAttribute",Me.JSXSpreadChild="JSXSpreadChild",Me.JSXText="JSXText",Me.LabeledStatement="LabeledStatement",Me.Literal="Literal",Me.LogicalExpression="LogicalExpression",Me.MemberExpression="MemberExpression",Me.MetaProperty="MetaProperty",Me.MethodDefinition="MethodDefinition",Me.NewExpression="NewExpression",Me.ObjectExpression="ObjectExpression",Me.ObjectPattern="ObjectPattern",Me.PrivateIdentifier="PrivateIdentifier",Me.Program="Program",Me.Property="Property",Me.PropertyDefinition="PropertyDefinition",Me.RestElement="RestElement",Me.ReturnStatement="ReturnStatement",Me.SequenceExpression="SequenceExpression",Me.SpreadElement="SpreadElement",Me.StaticBlock="StaticBlock",Me.Super="Super",Me.SwitchCase="SwitchCase",Me.SwitchStatement="SwitchStatement",Me.TaggedTemplateExpression="TaggedTemplateExpression",Me.TemplateElement="TemplateElement",Me.TemplateLiteral="TemplateLiteral",Me.ThisExpression="ThisExpression",Me.ThrowStatement="ThrowStatement",Me.TryStatement="TryStatement",Me.UnaryExpression="UnaryExpression",Me.UpdateExpression="UpdateExpression",Me.VariableDeclaration="VariableDeclaration",Me.VariableDeclarator="VariableDeclarator",Me.WhileStatement="WhileStatement",Me.WithStatement="WithStatement",Me.YieldExpression="YieldExpression",Me.TSAbstractAccessorProperty="TSAbstractAccessorProperty",Me.TSAbstractKeyword="TSAbstractKeyword",Me.TSAbstractMethodDefinition="TSAbstractMethodDefinition",Me.TSAbstractPropertyDefinition="TSAbstractPropertyDefinition",Me.TSAnyKeyword="TSAnyKeyword",Me.TSArrayType="TSArrayType",Me.TSAsExpression="TSAsExpression",Me.TSAsyncKeyword="TSAsyncKeyword",Me.TSBigIntKeyword="TSBigIntKeyword",Me.TSBooleanKeyword="TSBooleanKeyword",Me.TSCallSignatureDeclaration="TSCallSignatureDeclaration",Me.TSClassImplements="TSClassImplements",Me.TSConditionalType="TSConditionalType",Me.TSConstructorType="TSConstructorType",Me.TSConstructSignatureDeclaration="TSConstructSignatureDeclaration",Me.TSDeclareFunction="TSDeclareFunction",Me.TSDeclareKeyword="TSDeclareKeyword",Me.TSEmptyBodyFunctionExpression="TSEmptyBodyFunctionExpression",Me.TSEnumDeclaration="TSEnumDeclaration",Me.TSEnumMember="TSEnumMember",Me.TSExportAssignment="TSExportAssignment",Me.TSExportKeyword="TSExportKeyword",Me.TSExternalModuleReference="TSExternalModuleReference",Me.TSFunctionType="TSFunctionType",Me.TSInstantiationExpression="TSInstantiationExpression",Me.TSImportEqualsDeclaration="TSImportEqualsDeclaration",Me.TSImportType="TSImportType",Me.TSIndexedAccessType="TSIndexedAccessType",Me.TSIndexSignature="TSIndexSignature",Me.TSInferType="TSInferType",Me.TSInterfaceBody="TSInterfaceBody",Me.TSInterfaceDeclaration="TSInterfaceDeclaration",Me.TSInterfaceHeritage="TSInterfaceHeritage",Me.TSIntersectionType="TSIntersectionType",Me.TSIntrinsicKeyword="TSIntrinsicKeyword",Me.TSLiteralType="TSLiteralType",Me.TSMappedType="TSMappedType",Me.TSMethodSignature="TSMethodSignature",Me.TSModuleBlock="TSModuleBlock",Me.TSModuleDeclaration="TSModuleDeclaration",Me.TSNamedTupleMember="TSNamedTupleMember",Me.TSNamespaceExportDeclaration="TSNamespaceExportDeclaration",Me.TSNeverKeyword="TSNeverKeyword",Me.TSNonNullExpression="TSNonNullExpression",Me.TSNullKeyword="TSNullKeyword",Me.TSNumberKeyword="TSNumberKeyword",Me.TSObjectKeyword="TSObjectKeyword",Me.TSOptionalType="TSOptionalType",Me.TSParameterProperty="TSParameterProperty",Me.TSPrivateKeyword="TSPrivateKeyword",Me.TSPropertySignature="TSPropertySignature",Me.TSProtectedKeyword="TSProtectedKeyword",Me.TSPublicKeyword="TSPublicKeyword",Me.TSQualifiedName="TSQualifiedName",Me.TSReadonlyKeyword="TSReadonlyKeyword",Me.TSRestType="TSRestType",Me.TSSatisfiesExpression="TSSatisfiesExpression",Me.TSStaticKeyword="TSStaticKeyword",Me.TSStringKeyword="TSStringKeyword",Me.TSSymbolKeyword="TSSymbolKeyword",Me.TSTemplateLiteralType="TSTemplateLiteralType",Me.TSThisType="TSThisType",Me.TSTupleType="TSTupleType",Me.TSTypeAliasDeclaration="TSTypeAliasDeclaration",Me.TSTypeAnnotation="TSTypeAnnotation",Me.TSTypeAssertion="TSTypeAssertion",Me.TSTypeLiteral="TSTypeLiteral",Me.TSTypeOperator="TSTypeOperator",Me.TSTypeParameter="TSTypeParameter",Me.TSTypeParameterDeclaration="TSTypeParameterDeclaration",Me.TSTypeParameterInstantiation="TSTypeParameterInstantiation",Me.TSTypePredicate="TSTypePredicate",Me.TSTypeQuery="TSTypeQuery",Me.TSTypeReference="TSTypeReference",Me.TSUndefinedKeyword="TSUndefinedKeyword",Me.TSUnionType="TSUnionType",Me.TSUnknownKeyword="TSUnknownKeyword",Me.TSVoidKeyword="TSVoidKeyword"})(Bn=Me.AST_NODE_TYPES||(Me.AST_NODE_TYPES={}));var Hn;(function(Me){Me.Boolean="Boolean",Me.Identifier="Identifier",Me.JSXIdentifier="JSXIdentifier",Me.JSXText="JSXText",Me.Keyword="Keyword",Me.Null="Null",Me.Numeric="Numeric",Me.Punctuator="Punctuator",Me.RegularExpression="RegularExpression",Me.String="String",Me.Template="Template",Me.Block="Block",Me.Line="Line"})(Hn=Me.AST_TOKEN_TYPES||(Me.AST_TOKEN_TYPES={}))}}),Gg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/types/dist/lib.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0})}}),Vg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/types/dist/parser-options.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0})}}),Hg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/types/dist/ts-estree.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn};Object.defineProperty(Me,"__esModule",{value:!0}),Me.TSESTree=void 0,Me.TSESTree=zn(Ug())}}),qg=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/types/dist/index.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__exportStar||function(Me,Hn){for(var zn in Me)zn!=="default"&&!Object.prototype.hasOwnProperty.call(Hn,zn)&&Bn(Hn,Me,zn)};Object.defineProperty(Me,"__esModule",{value:!0}),Me.AST_TOKEN_TYPES=Me.AST_NODE_TYPES=void 0;var zn=Ug();Object.defineProperty(Me,"AST_NODE_TYPES",{enumerable:!0,get:function(){return zn.AST_NODE_TYPES}}),Object.defineProperty(Me,"AST_TOKEN_TYPES",{enumerable:!0,get:function(){return zn.AST_TOKEN_TYPES}}),Hn(Gg(),Me),Hn(Vg(),Me),Hn(Hg(),Me)}}),Jg=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0})}}),$g=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0})}}),Yg=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/index.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__exportStar||function(Me,Hn){for(var zn in Me)zn!=="default"&&!Object.prototype.hasOwnProperty.call(Hn,zn)&&Bn(Hn,Me,zn)};Object.defineProperty(Me,"__esModule",{value:!0}),Me.TSESTree=Me.AST_TOKEN_TYPES=Me.AST_NODE_TYPES=void 0;var zn=qg();Object.defineProperty(Me,"AST_NODE_TYPES",{enumerable:!0,get:function(){return zn.AST_NODE_TYPES}}),Object.defineProperty(Me,"AST_TOKEN_TYPES",{enumerable:!0,get:function(){return zn.AST_TOKEN_TYPES}}),Object.defineProperty(Me,"TSESTree",{enumerable:!0,get:function(){return zn.TSESTree}}),Hn(Jg(),Me),Hn($g(),Me)}}),Wg=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/node-utils.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn};Object.defineProperty(Me,"__esModule",{value:!0}),Me.isThisInTypeQuery=Me.isThisIdentifier=Me.identifierIsThisKeyword=Me.firstDefined=Me.nodeHasTokens=Me.createError=Me.TSError=Me.convertTokens=Me.convertToken=Me.getTokenType=Me.isChildUnwrappableOptionalChain=Me.isChainExpression=Me.isOptional=Me.isComputedProperty=Me.unescapeStringLiteralText=Me.hasJSXAncestor=Me.findFirstMatchingAncestor=Me.findNextToken=Me.getTSNodeAccessibility=Me.getDeclarationKind=Me.isJSXToken=Me.isToken=Me.getRange=Me.canContainDirective=Me.getLocFor=Me.getLineAndCharacterFor=Me.getBinaryExpressionType=Me.isJSDocComment=Me.isComment=Me.isComma=Me.getLastModifier=Me.hasModifier=Me.isESTreeClassMember=Me.getTextForTokenKind=Me.isLogicalOperator=Me.isAssignmentOperator=void 0;var ni=zn(Kf()),Ci=Mg(),ts=jg(),aa=Yg(),oa=Lg(),ca=oa.typescriptVersionIsAtLeast["5.0"],_a=ni.SyntaxKind,xa=[_a.BarBarToken,_a.AmpersandAmpersandToken,_a.QuestionQuestionToken];function c(Me){return Me.kind>=_a.FirstAssignment&&Me.kind<=_a.LastAssignment}Me.isAssignmentOperator=c;function M(Me){return xa.includes(Me.kind)}Me.isLogicalOperator=M;function q(Me){return ni.tokenToString(Me)}Me.getTextForTokenKind=q;function W(Me){return Me.kind!==_a.SemicolonClassElement}Me.isESTreeClassMember=W;function K(Me,Bn){let Hn=(0,Ci.getModifiers)(Bn);return(Hn==null?void 0:Hn.some((Bn=>Bn.kind===Me)))===!0}Me.hasModifier=K;function ce(Me){var Bn;let Hn=(0,Ci.getModifiers)(Me);return Hn==null?null:(Bn=Hn[Hn.length-1])!==null&&Bn!==void 0?Bn:null}Me.getLastModifier=ce;function Ie(Me){return Me.kind===_a.CommaToken}Me.isComma=Ie;function me(Me){return Me.kind===_a.SingleLineCommentTrivia||Me.kind===_a.MultiLineCommentTrivia}Me.isComment=me;function Ae(Me){return Me.kind===_a.JSDocComment}Me.isJSDocComment=Ae;function te(Me){return c(Me)?aa.AST_NODE_TYPES.AssignmentExpression:M(Me)?aa.AST_NODE_TYPES.LogicalExpression:aa.AST_NODE_TYPES.BinaryExpression}Me.getBinaryExpressionType=te;function he(Me,Bn){let Hn=Bn.getLineAndCharacterOfPosition(Me);return{line:Hn.line+1,column:Hn.character}}Me.getLineAndCharacterFor=he;function Pe(Me,Bn,Hn){return{start:he(Me,Hn),end:he(Bn,Hn)}}Me.getLocFor=Pe;function R(Me){if(Me.kind===ni.SyntaxKind.Block)switch(Me.parent.kind){case ni.SyntaxKind.Constructor:case ni.SyntaxKind.GetAccessor:case ni.SyntaxKind.SetAccessor:case ni.SyntaxKind.ArrowFunction:case ni.SyntaxKind.FunctionExpression:case ni.SyntaxKind.FunctionDeclaration:case ni.SyntaxKind.MethodDeclaration:return!0;default:return!1}return!0}Me.canContainDirective=R;function pe(Me,Bn){return[Me.getStart(Bn),Me.getEnd()]}Me.getRange=pe;function ke(Me){return Me.kind>=_a.FirstToken&&Me.kind<=_a.LastToken}Me.isToken=ke;function Je(Me){return Me.kind>=_a.JsxElement&&Me.kind<=_a.JsxAttribute}Me.isJSXToken=Je;function Xe(Me){return Me.flags&ni.NodeFlags.Let?"let":Me.flags&ni.NodeFlags.Const?"const":"var"}Me.getDeclarationKind=Xe;function ee(Me){let Bn=(0,Ci.getModifiers)(Me);if(Bn==null)return null;for(let Me of Bn)switch(Me.kind){case _a.PublicKeyword:return"public";case _a.ProtectedKeyword:return"protected";case _a.PrivateKeyword:return"private";default:break}return null}Me.getTSNodeAccessibility=ee;function je(Me,Bn,Hn){return Ft(Bn);function Ft(Bn){return ni.isToken(Bn)&&Bn.pos===Me.end?Bn:la(Bn.getChildren(Hn),(Bn=>(Bn.pos<=Me.pos&&Bn.end>Me.end||Bn.pos===Me.end)&&Ri(Bn,Hn)?Ft(Bn):void 0))}}Me.findNextToken=je;function nt(Me,Bn){for(;Me;){if(Bn(Me))return Me;Me=Me.parent}}Me.findFirstMatchingAncestor=nt;function Ze(Me){return!!nt(Me,Je)}Me.hasJSXAncestor=Ze;function st(Me){return Me.replace(/&(?:#\d+|#x[\da-fA-F]+|[0-9a-zA-Z]+);/g,(Me=>{let Bn=Me.slice(1,-1);if(Bn[0]==="#"){let Hn=Bn[1]==="x"?parseInt(Bn.slice(2),16):parseInt(Bn.slice(1),10);return Hn>1114111?Me:String.fromCodePoint(Hn)}return ts.xhtmlEntities[Bn]||Me}))}Me.unescapeStringLiteralText=st;function tt(Me){return Me.kind===_a.ComputedPropertyName}Me.isComputedProperty=tt;function ct(Me){return Me.questionToken?Me.questionToken.kind===_a.QuestionToken:!1}Me.isOptional=ct;function ne(Me){return Me.type===aa.AST_NODE_TYPES.ChainExpression}Me.isChainExpression=ne;function ge(Me,Bn){return ne(Bn)&&Me.expression.kind!==ni.SyntaxKind.ParenthesizedExpression}Me.isChildUnwrappableOptionalChain=ge;function Fe(Me){let Bn;if(ca&&Me.kind===_a.Identifier?Bn=ni.identifierToKeywordKind(Me):"originalKeywordKind"in Me&&(Bn=Me.originalKeywordKind),Bn)return Bn===_a.NullKeyword?aa.AST_TOKEN_TYPES.Null:Bn>=_a.FirstFutureReservedWord&&Bn<=_a.LastKeyword?aa.AST_TOKEN_TYPES.Identifier:aa.AST_TOKEN_TYPES.Keyword;if(Me.kind>=_a.FirstKeyword&&Me.kind<=_a.LastFutureReservedWord)return Me.kind===_a.FalseKeyword||Me.kind===_a.TrueKeyword?aa.AST_TOKEN_TYPES.Boolean:aa.AST_TOKEN_TYPES.Keyword;if(Me.kind>=_a.FirstPunctuation&&Me.kind<=_a.LastPunctuation)return aa.AST_TOKEN_TYPES.Punctuator;if(Me.kind>=_a.NoSubstitutionTemplateLiteral&&Me.kind<=_a.TemplateTail)return aa.AST_TOKEN_TYPES.Template;switch(Me.kind){case _a.NumericLiteral:return aa.AST_TOKEN_TYPES.Numeric;case _a.JsxText:return aa.AST_TOKEN_TYPES.JSXText;case _a.StringLiteral:return Me.parent&&(Me.parent.kind===_a.JsxAttribute||Me.parent.kind===_a.JsxElement)?aa.AST_TOKEN_TYPES.JSXText:aa.AST_TOKEN_TYPES.String;case _a.RegularExpressionLiteral:return aa.AST_TOKEN_TYPES.RegularExpression;case _a.Identifier:case _a.ConstructorKeyword:case _a.GetKeyword:case _a.SetKeyword:default:}return Me.parent&&Me.kind===_a.Identifier&&(Je(Me.parent)||Me.parent.kind===_a.PropertyAccessExpression&&Ze(Me))?aa.AST_TOKEN_TYPES.JSXIdentifier:aa.AST_TOKEN_TYPES.Identifier}Me.getTokenType=Fe;function at(Me,Bn){let Hn=Me.kind===_a.JsxText?Me.getFullStart():Me.getStart(Bn),zn=Me.getEnd(),ni=Bn.text.slice(Hn,zn),Ci=Fe(Me);return Ci===aa.AST_TOKEN_TYPES.RegularExpression?{type:Ci,value:ni,range:[Hn,zn],loc:Pe(Hn,zn,Bn),regex:{pattern:ni.slice(1,ni.lastIndexOf("/")),flags:ni.slice(ni.lastIndexOf("/")+1)}}:{type:Ci,value:ni,range:[Hn,zn],loc:Pe(Hn,zn,Bn)}}Me.convertToken=at;function Pt(Me){let Bn=[];function Et(Hn){if(!(me(Hn)||Ae(Hn)))if(ke(Hn)&&Hn.kind!==_a.EndOfFileToken){let zn=at(Hn,Me);zn&&Bn.push(zn)}else Hn.getChildren(Me).forEach(Et)}return Et(Me),Bn}Me.convertTokens=Pt;var Ga=class extends Error{constructor(Me,Bn,Hn,zn,ni){super(Me),this.fileName=Bn,this.index=Hn,this.lineNumber=zn,this.column=ni,Object.defineProperty(this,"name",{value:new.target.name,enumerable:!1,configurable:!0})}};Me.TSError=Ga;function Zr(Me,Bn,Hn){let zn=Me.getLineAndCharacterOfPosition(Bn);return new Ga(Hn,Me.fileName,Bn,zn.line+1,zn.character)}Me.createError=Zr;function Ri(Me,Bn){return Me.kind===_a.EndOfFileToken?!!Me.jsDoc:Me.getWidth(Bn)!==0}Me.nodeHasTokens=Ri;function la(Me,Bn){if(Me!==void 0)for(let Hn=0;Hn{let Bn=this.convertChild(Me);if(Hn)if(Bn!=null&&Bn.expression&&ni.isExpressionStatement(Me)&&ni.isStringLiteral(Me.expression)){let Me=Bn.expression.raw;return Bn.directive=Me.slice(1,-1),Bn}else Hn=!1;return Bn})).filter((Me=>Me))}convertTypeArgumentsToTypeParameters(Me,Bn){let Hn=(0,ts.findNextToken)(Me,this.ast,this.ast);return this.createNode(Bn,{type:aa.AST_NODE_TYPES.TSTypeParameterInstantiation,range:[Me.pos-1,Hn.end],params:Me.map((Me=>this.convertType(Me)))})}convertTSTypeParametersToTypeParametersDeclaration(Me){let Bn=(0,ts.findNextToken)(Me,this.ast,this.ast);return{type:aa.AST_NODE_TYPES.TSTypeParameterDeclaration,range:[Me.pos-1,Bn.end],loc:(0,ts.getLocFor)(Me.pos-1,Bn.end,this.ast),params:Me.map((Me=>this.convertType(Me)))}}convertParameters(Me){return Me!=null&&Me.length?Me.map((Me=>{let Bn=this.convertChild(Me),Hn=(0,Ci.getDecorators)(Me);return Hn!=null&&Hn.length&&(Bn.decorators=Hn.map((Me=>this.convertChild(Me)))),Bn})):[]}convertChainExpression(Me,Bn){let{child:Hn,isOptional:zn}=(()=>Me.type===aa.AST_NODE_TYPES.MemberExpression?{child:Me.object,isOptional:Me.optional}:Me.type===aa.AST_NODE_TYPES.CallExpression?{child:Me.callee,isOptional:Me.optional}:{child:Me.expression,isOptional:!1})(),ni=(0,ts.isChildUnwrappableOptionalChain)(Bn,Hn);if(!ni&&!zn)return Me;if(ni&&(0,ts.isChainExpression)(Hn)){let Bn=Hn.expression;Me.type===aa.AST_NODE_TYPES.MemberExpression?Me.object=Bn:Me.type===aa.AST_NODE_TYPES.CallExpression?Me.callee=Bn:Me.expression=Bn}return this.createNode(Bn,{type:aa.AST_NODE_TYPES.ChainExpression,expression:Me})}deeplyCopy(Me){if(Me.kind===ni.SyntaxKind.JSDocFunctionType)throw(0,ts.createError)(this.ast,Me.pos,"JSDoc types can only be used inside documentation comments.");let Bn=`TS${ca[Me.kind]}`;if(this.options.errorOnUnknownASTType&&!aa.AST_NODE_TYPES[Bn])throw new Error(`Unknown AST_NODE_TYPE: "${Bn}"`);let Hn=this.createNode(Me,{type:Bn});"type"in Me&&(Hn.typeAnnotation=Me.type&&"kind"in Me.type&&ni.isTypeNode(Me.type)?this.convertTypeAnnotation(Me.type,Me):null),"typeArguments"in Me&&(Hn.typeParameters=Me.typeArguments&&"pos"in Me.typeArguments?this.convertTypeArgumentsToTypeParameters(Me.typeArguments,Me):null),"typeParameters"in Me&&(Hn.typeParameters=Me.typeParameters&&"pos"in Me.typeParameters?this.convertTSTypeParametersToTypeParametersDeclaration(Me.typeParameters):null);let zn=(0,Ci.getDecorators)(Me);zn!=null&&zn.length&&(Hn.decorators=zn.map((Me=>this.convertChild(Me))));let Ps=new Set(["_children","decorators","end","flags","illegalDecorators","heritageClauses","locals","localSymbol","jsDoc","kind","modifierFlagsCache","modifiers","nextContainer","parent","pos","symbol","transformFlags","type","typeArguments","typeParameters"]);return Object.entries(Me).filter((Me=>{let[Bn]=Me;return!Ps.has(Bn)})).forEach((Me=>{let[Bn,zn]=Me;Array.isArray(zn)?Hn[Bn]=zn.map((Me=>this.convertChild(Me))):zn&&typeof zn=="object"&&zn.kind?Hn[Bn]=this.convertChild(zn):Hn[Bn]=zn})),Hn}convertJSXIdentifier(Me){let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXIdentifier,name:Me.getText()});return this.registerTSNodeInNodeMap(Me,Bn),Bn}convertJSXNamespaceOrIdentifier(Me){let Bn=Me.getText(),Hn=Bn.indexOf(":");if(Hn>0){let zn=(0,ts.getRange)(Me,this.ast),ni=this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXNamespacedName,namespace:this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXIdentifier,name:Bn.slice(0,Hn),range:[zn[0],zn[0]+Hn]}),name:this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXIdentifier,name:Bn.slice(Hn+1),range:[zn[0]+Hn+1,zn[1]]}),range:zn});return this.registerTSNodeInNodeMap(Me,ni),ni}return this.convertJSXIdentifier(Me)}convertJSXTagName(Me,Bn){let Hn;switch(Me.kind){case ca.PropertyAccessExpression:if(Me.name.kind===ca.PrivateIdentifier)throw new Error("Non-private identifier expected.");Hn=this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXMemberExpression,object:this.convertJSXTagName(Me.expression,Bn),property:this.convertJSXIdentifier(Me.name)});break;case ca.ThisKeyword:case ca.Identifier:default:return this.convertJSXNamespaceOrIdentifier(Me)}return this.registerTSNodeInNodeMap(Me,Hn),Hn}convertMethodSignature(Me){let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TSMethodSignature,computed:(0,ts.isComputedProperty)(Me.name),key:this.convertChild(Me.name),params:this.convertParameters(Me.parameters),kind:(()=>{switch(Me.kind){case ca.GetAccessor:return"get";case ca.SetAccessor:return"set";case ca.MethodSignature:return"method"}})()});(0,ts.isOptional)(Me)&&(Bn.optional=!0),Me.type&&(Bn.returnType=this.convertTypeAnnotation(Me.type,Me)),(0,ts.hasModifier)(ca.ReadonlyKeyword,Me)&&(Bn.readonly=!0),Me.typeParameters&&(Bn.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(Me.typeParameters));let Hn=(0,ts.getTSNodeAccessibility)(Me);return Hn&&(Bn.accessibility=Hn),(0,ts.hasModifier)(ca.ExportKeyword,Me)&&(Bn.export=!0),(0,ts.hasModifier)(ca.StaticKeyword,Me)&&(Bn.static=!0),Bn}convertAssertClasue(Me){return Me===void 0?[]:Me.elements.map((Me=>this.convertChild(Me)))}applyModifiersToResult(Me,Bn){if(!Bn)return;let Hn=[];for(let zn of Bn)switch(zn.kind){case ca.ExportKeyword:case ca.DefaultKeyword:break;case ca.ConstKeyword:Me.const=!0;break;case ca.DeclareKeyword:Me.declare=!0;break;default:Hn.push(this.convertChild(zn));break}Hn.length>0&&(Me.modifiers=Hn)}fixParentLocation(Me,Bn){Bn[0]Me.range[1]&&(Me.range[1]=Bn[1],Me.loc.end=(0,ts.getLineAndCharacterFor)(Me.range[1],this.ast))}assertModuleSpecifier(Me,Bn){var Hn;if(!Bn&&Me.moduleSpecifier==null)throw(0,ts.createError)(this.ast,Me.pos,"Module specifier must be a string literal.");if(Me.moduleSpecifier&&((Hn=Me.moduleSpecifier)===null||Hn===void 0?void 0:Hn.kind)!==ca.StringLiteral)throw(0,ts.createError)(this.ast,Me.moduleSpecifier.pos,"Module specifier must be a string literal.")}convertNode(Me,Bn){var Hn,zn,Ps,_a,xa,Ga,Ha,so,oo,Jo;switch(Me.kind){case ca.SourceFile:return this.createNode(Me,{type:aa.AST_NODE_TYPES.Program,body:this.convertBodyExpressions(Me.statements,Me),sourceType:Me.externalModuleIndicator?"module":"script",range:[Me.getStart(this.ast),Me.endOfFileToken.end]});case ca.Block:return this.createNode(Me,{type:aa.AST_NODE_TYPES.BlockStatement,body:this.convertBodyExpressions(Me.statements,Me)});case ca.Identifier:return(0,ts.isThisInTypeQuery)(Me)?this.createNode(Me,{type:aa.AST_NODE_TYPES.ThisExpression}):this.createNode(Me,{type:aa.AST_NODE_TYPES.Identifier,name:Me.text});case ca.PrivateIdentifier:return this.createNode(Me,{type:aa.AST_NODE_TYPES.PrivateIdentifier,name:Me.text.slice(1)});case ca.WithStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.WithStatement,object:this.convertChild(Me.expression),body:this.convertChild(Me.statement)});case ca.ReturnStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ReturnStatement,argument:this.convertChild(Me.expression)});case ca.LabeledStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.LabeledStatement,label:this.convertChild(Me.label),body:this.convertChild(Me.statement)});case ca.ContinueStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ContinueStatement,label:this.convertChild(Me.label)});case ca.BreakStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.BreakStatement,label:this.convertChild(Me.label)});case ca.IfStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.IfStatement,test:this.convertChild(Me.expression),consequent:this.convertChild(Me.thenStatement),alternate:this.convertChild(Me.elseStatement)});case ca.SwitchStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.SwitchStatement,discriminant:this.convertChild(Me.expression),cases:Me.caseBlock.clauses.map((Me=>this.convertChild(Me)))});case ca.CaseClause:case ca.DefaultClause:return this.createNode(Me,{type:aa.AST_NODE_TYPES.SwitchCase,test:Me.kind===ca.CaseClause?this.convertChild(Me.expression):null,consequent:Me.statements.map((Me=>this.convertChild(Me)))});case ca.ThrowStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ThrowStatement,argument:this.convertChild(Me.expression)});case ca.TryStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TryStatement,block:this.convertChild(Me.tryBlock),handler:this.convertChild(Me.catchClause),finalizer:this.convertChild(Me.finallyBlock)});case ca.CatchClause:return this.createNode(Me,{type:aa.AST_NODE_TYPES.CatchClause,param:Me.variableDeclaration?this.convertBindingNameWithTypeAnnotation(Me.variableDeclaration.name,Me.variableDeclaration.type):null,body:this.convertChild(Me.block)});case ca.WhileStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.WhileStatement,test:this.convertChild(Me.expression),body:this.convertChild(Me.statement)});case ca.DoStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.DoWhileStatement,test:this.convertChild(Me.expression),body:this.convertChild(Me.statement)});case ca.ForStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ForStatement,init:this.convertChild(Me.initializer),test:this.convertChild(Me.condition),update:this.convertChild(Me.incrementor),body:this.convertChild(Me.statement)});case ca.ForInStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ForInStatement,left:this.convertPattern(Me.initializer),right:this.convertChild(Me.expression),body:this.convertChild(Me.statement)});case ca.ForOfStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ForOfStatement,left:this.convertPattern(Me.initializer),right:this.convertChild(Me.expression),body:this.convertChild(Me.statement),await:Boolean(Me.awaitModifier&&Me.awaitModifier.kind===ca.AwaitKeyword)});case ca.FunctionDeclaration:{let Bn=(0,ts.hasModifier)(ca.DeclareKeyword,Me),Hn=this.createNode(Me,{type:Bn||!Me.body?aa.AST_NODE_TYPES.TSDeclareFunction:aa.AST_NODE_TYPES.FunctionDeclaration,id:this.convertChild(Me.name),generator:!!Me.asteriskToken,expression:!1,async:(0,ts.hasModifier)(ca.AsyncKeyword,Me),params:this.convertParameters(Me.parameters),body:this.convertChild(Me.body)||void 0});return Me.type&&(Hn.returnType=this.convertTypeAnnotation(Me.type,Me)),Me.typeParameters&&(Hn.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(Me.typeParameters)),Bn&&(Hn.declare=!0),this.fixExports(Me,Hn)}case ca.VariableDeclaration:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.VariableDeclarator,id:this.convertBindingNameWithTypeAnnotation(Me.name,Me.type,Me),init:this.convertChild(Me.initializer)});return Me.exclamationToken&&(Bn.definite=!0),Bn}case ca.VariableStatement:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.VariableDeclaration,declarations:Me.declarationList.declarations.map((Me=>this.convertChild(Me))),kind:(0,ts.getDeclarationKind)(Me.declarationList)});return(0,ts.hasModifier)(ca.DeclareKeyword,Me)&&(Bn.declare=!0),this.fixExports(Me,Bn)}case ca.VariableDeclarationList:return this.createNode(Me,{type:aa.AST_NODE_TYPES.VariableDeclaration,declarations:Me.declarations.map((Me=>this.convertChild(Me))),kind:(0,ts.getDeclarationKind)(Me)});case ca.ExpressionStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ExpressionStatement,expression:this.convertChild(Me.expression)});case ca.ThisKeyword:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ThisExpression});case ca.ArrayLiteralExpression:return this.allowPattern?this.createNode(Me,{type:aa.AST_NODE_TYPES.ArrayPattern,elements:Me.elements.map((Me=>this.convertPattern(Me)))}):this.createNode(Me,{type:aa.AST_NODE_TYPES.ArrayExpression,elements:Me.elements.map((Me=>this.convertChild(Me)))});case ca.ObjectLiteralExpression:return this.allowPattern?this.createNode(Me,{type:aa.AST_NODE_TYPES.ObjectPattern,properties:Me.properties.map((Me=>this.convertPattern(Me)))}):this.createNode(Me,{type:aa.AST_NODE_TYPES.ObjectExpression,properties:Me.properties.map((Me=>this.convertChild(Me)))});case ca.PropertyAssignment:return this.createNode(Me,{type:aa.AST_NODE_TYPES.Property,key:this.convertChild(Me.name),value:this.converter(Me.initializer,Me,this.inTypeMode,this.allowPattern),computed:(0,ts.isComputedProperty)(Me.name),method:!1,shorthand:!1,kind:"init"});case ca.ShorthandPropertyAssignment:return Me.objectAssignmentInitializer?this.createNode(Me,{type:aa.AST_NODE_TYPES.Property,key:this.convertChild(Me.name),value:this.createNode(Me,{type:aa.AST_NODE_TYPES.AssignmentPattern,left:this.convertPattern(Me.name),right:this.convertChild(Me.objectAssignmentInitializer)}),computed:!1,method:!1,shorthand:!0,kind:"init"}):this.createNode(Me,{type:aa.AST_NODE_TYPES.Property,key:this.convertChild(Me.name),value:this.convertChild(Me.name),computed:!1,method:!1,shorthand:!0,kind:"init"});case ca.ComputedPropertyName:return this.convertChild(Me.expression);case ca.PropertyDeclaration:{let Bn=(0,ts.hasModifier)(ca.AbstractKeyword,Me),Hn=(0,ts.hasModifier)(ca.AccessorKeyword,Me),zn=(()=>Hn?Bn?aa.AST_NODE_TYPES.TSAbstractAccessorProperty:aa.AST_NODE_TYPES.AccessorProperty:Bn?aa.AST_NODE_TYPES.TSAbstractPropertyDefinition:aa.AST_NODE_TYPES.PropertyDefinition)(),ni=this.createNode(Me,{type:zn,key:this.convertChild(Me.name),value:Bn?null:this.convertChild(Me.initializer),computed:(0,ts.isComputedProperty)(Me.name),static:(0,ts.hasModifier)(ca.StaticKeyword,Me),readonly:(0,ts.hasModifier)(ca.ReadonlyKeyword,Me)||void 0,declare:(0,ts.hasModifier)(ca.DeclareKeyword,Me),override:(0,ts.hasModifier)(ca.OverrideKeyword,Me)});Me.type&&(ni.typeAnnotation=this.convertTypeAnnotation(Me.type,Me));let Ps=(0,Ci.getDecorators)(Me);Ps&&(ni.decorators=Ps.map((Me=>this.convertChild(Me))));let oa=(0,ts.getTSNodeAccessibility)(Me);return oa&&(ni.accessibility=oa),(Me.name.kind===ca.Identifier||Me.name.kind===ca.ComputedPropertyName||Me.name.kind===ca.PrivateIdentifier)&&Me.questionToken&&(ni.optional=!0),Me.exclamationToken&&(ni.definite=!0),ni.key.type===aa.AST_NODE_TYPES.Literal&&Me.questionToken&&(ni.optional=!0),ni}case ca.GetAccessor:case ca.SetAccessor:if(Me.parent.kind===ca.InterfaceDeclaration||Me.parent.kind===ca.TypeLiteral)return this.convertMethodSignature(Me);case ca.MethodDeclaration:{let Hn=this.createNode(Me,{type:Me.body?aa.AST_NODE_TYPES.FunctionExpression:aa.AST_NODE_TYPES.TSEmptyBodyFunctionExpression,id:null,generator:!!Me.asteriskToken,expression:!1,async:(0,ts.hasModifier)(ca.AsyncKeyword,Me),body:this.convertChild(Me.body),range:[Me.parameters.pos-1,Me.end],params:[]});Me.type&&(Hn.returnType=this.convertTypeAnnotation(Me.type,Me)),Me.typeParameters&&(Hn.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(Me.typeParameters),this.fixParentLocation(Hn,Hn.typeParameters.range));let zn;if(Bn.kind===ca.ObjectLiteralExpression)Hn.params=Me.parameters.map((Me=>this.convertChild(Me))),zn=this.createNode(Me,{type:aa.AST_NODE_TYPES.Property,key:this.convertChild(Me.name),value:Hn,computed:(0,ts.isComputedProperty)(Me.name),method:Me.kind===ca.MethodDeclaration,shorthand:!1,kind:"init"});else{Hn.params=this.convertParameters(Me.parameters);let Bn=(0,ts.hasModifier)(ca.AbstractKeyword,Me)?aa.AST_NODE_TYPES.TSAbstractMethodDefinition:aa.AST_NODE_TYPES.MethodDefinition;zn=this.createNode(Me,{type:Bn,key:this.convertChild(Me.name),value:Hn,computed:(0,ts.isComputedProperty)(Me.name),static:(0,ts.hasModifier)(ca.StaticKeyword,Me),kind:"method",override:(0,ts.hasModifier)(ca.OverrideKeyword,Me)});let ni=(0,Ci.getDecorators)(Me);ni&&(zn.decorators=ni.map((Me=>this.convertChild(Me))));let Ps=(0,ts.getTSNodeAccessibility)(Me);Ps&&(zn.accessibility=Ps)}return Me.questionToken&&(zn.optional=!0),Me.kind===ca.GetAccessor?zn.kind="get":Me.kind===ca.SetAccessor?zn.kind="set":!zn.static&&Me.name.kind===ca.StringLiteral&&Me.name.text==="constructor"&&zn.type!==aa.AST_NODE_TYPES.Property&&(zn.kind="constructor"),zn}case ca.Constructor:{let Bn=(0,ts.getLastModifier)(Me),Hn=Bn&&(0,ts.findNextToken)(Bn,Me,this.ast)||Me.getFirstToken(),zn=this.createNode(Me,{type:Me.body?aa.AST_NODE_TYPES.FunctionExpression:aa.AST_NODE_TYPES.TSEmptyBodyFunctionExpression,id:null,params:this.convertParameters(Me.parameters),generator:!1,expression:!1,async:!1,body:this.convertChild(Me.body),range:[Me.parameters.pos-1,Me.end]});Me.typeParameters&&(zn.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(Me.typeParameters),this.fixParentLocation(zn,zn.typeParameters.range)),Me.type&&(zn.returnType=this.convertTypeAnnotation(Me.type,Me));let ni=this.createNode(Me,{type:aa.AST_NODE_TYPES.Identifier,name:"constructor",range:[Hn.getStart(this.ast),Hn.end]}),Ci=(0,ts.hasModifier)(ca.StaticKeyword,Me),Ps=this.createNode(Me,{type:(0,ts.hasModifier)(ca.AbstractKeyword,Me)?aa.AST_NODE_TYPES.TSAbstractMethodDefinition:aa.AST_NODE_TYPES.MethodDefinition,key:ni,value:zn,computed:!1,static:Ci,kind:Ci?"method":"constructor",override:!1}),oa=(0,ts.getTSNodeAccessibility)(Me);return oa&&(Ps.accessibility=oa),Ps}case ca.FunctionExpression:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.FunctionExpression,id:this.convertChild(Me.name),generator:!!Me.asteriskToken,params:this.convertParameters(Me.parameters),body:this.convertChild(Me.body),async:(0,ts.hasModifier)(ca.AsyncKeyword,Me),expression:!1});return Me.type&&(Bn.returnType=this.convertTypeAnnotation(Me.type,Me)),Me.typeParameters&&(Bn.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(Me.typeParameters)),Bn}case ca.SuperKeyword:return this.createNode(Me,{type:aa.AST_NODE_TYPES.Super});case ca.ArrayBindingPattern:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ArrayPattern,elements:Me.elements.map((Me=>this.convertPattern(Me)))});case ca.OmittedExpression:return null;case ca.ObjectBindingPattern:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ObjectPattern,properties:Me.elements.map((Me=>this.convertPattern(Me)))});case ca.BindingElement:if(Bn.kind===ca.ArrayBindingPattern){let Hn=this.convertChild(Me.name,Bn);return Me.initializer?this.createNode(Me,{type:aa.AST_NODE_TYPES.AssignmentPattern,left:Hn,right:this.convertChild(Me.initializer)}):Me.dotDotDotToken?this.createNode(Me,{type:aa.AST_NODE_TYPES.RestElement,argument:Hn}):Hn}else{let Bn;return Me.dotDotDotToken?Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.RestElement,argument:this.convertChild((Hn=Me.propertyName)!==null&&Hn!==void 0?Hn:Me.name)}):Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.Property,key:this.convertChild((zn=Me.propertyName)!==null&&zn!==void 0?zn:Me.name),value:this.convertChild(Me.name),computed:Boolean(Me.propertyName&&Me.propertyName.kind===ca.ComputedPropertyName),method:!1,shorthand:!Me.propertyName,kind:"init"}),Me.initializer&&(Bn.value=this.createNode(Me,{type:aa.AST_NODE_TYPES.AssignmentPattern,left:this.convertChild(Me.name),right:this.convertChild(Me.initializer),range:[Me.name.getStart(this.ast),Me.initializer.end]})),Bn}case ca.ArrowFunction:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.ArrowFunctionExpression,generator:!1,id:null,params:this.convertParameters(Me.parameters),body:this.convertChild(Me.body),async:(0,ts.hasModifier)(ca.AsyncKeyword,Me),expression:Me.body.kind!==ca.Block});return Me.type&&(Bn.returnType=this.convertTypeAnnotation(Me.type,Me)),Me.typeParameters&&(Bn.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(Me.typeParameters)),Bn}case ca.YieldExpression:return this.createNode(Me,{type:aa.AST_NODE_TYPES.YieldExpression,delegate:!!Me.asteriskToken,argument:this.convertChild(Me.expression)});case ca.AwaitExpression:return this.createNode(Me,{type:aa.AST_NODE_TYPES.AwaitExpression,argument:this.convertChild(Me.expression)});case ca.NoSubstitutionTemplateLiteral:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TemplateLiteral,quasis:[this.createNode(Me,{type:aa.AST_NODE_TYPES.TemplateElement,value:{raw:this.ast.text.slice(Me.getStart(this.ast)+1,Me.end-1),cooked:Me.text},tail:!0})],expressions:[]});case ca.TemplateExpression:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TemplateLiteral,quasis:[this.convertChild(Me.head)],expressions:[]});return Me.templateSpans.forEach((Me=>{Bn.expressions.push(this.convertChild(Me.expression)),Bn.quasis.push(this.convertChild(Me.literal))})),Bn}case ca.TaggedTemplateExpression:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TaggedTemplateExpression,typeParameters:Me.typeArguments?this.convertTypeArgumentsToTypeParameters(Me.typeArguments,Me):void 0,tag:this.convertChild(Me.tag),quasi:this.convertChild(Me.template)});case ca.TemplateHead:case ca.TemplateMiddle:case ca.TemplateTail:{let Bn=Me.kind===ca.TemplateTail;return this.createNode(Me,{type:aa.AST_NODE_TYPES.TemplateElement,value:{raw:this.ast.text.slice(Me.getStart(this.ast)+1,Me.end-(Bn?1:2)),cooked:Me.text},tail:Bn})}case ca.SpreadAssignment:case ca.SpreadElement:return this.allowPattern?this.createNode(Me,{type:aa.AST_NODE_TYPES.RestElement,argument:this.convertPattern(Me.expression)}):this.createNode(Me,{type:aa.AST_NODE_TYPES.SpreadElement,argument:this.convertChild(Me.expression)});case ca.Parameter:{let Hn,zn;return Me.dotDotDotToken?Hn=zn=this.createNode(Me,{type:aa.AST_NODE_TYPES.RestElement,argument:this.convertChild(Me.name)}):Me.initializer?(Hn=this.convertChild(Me.name),zn=this.createNode(Me,{type:aa.AST_NODE_TYPES.AssignmentPattern,left:Hn,right:this.convertChild(Me.initializer)}),(0,Ci.getModifiers)(Me)&&(zn.range[0]=Hn.range[0],zn.loc=(0,ts.getLocFor)(zn.range[0],zn.range[1],this.ast))):Hn=zn=this.convertChild(Me.name,Bn),Me.type&&(Hn.typeAnnotation=this.convertTypeAnnotation(Me.type,Me),this.fixParentLocation(Hn,Hn.typeAnnotation.range)),Me.questionToken&&(Me.questionToken.end>Hn.range[1]&&(Hn.range[1]=Me.questionToken.end,Hn.loc.end=(0,ts.getLineAndCharacterFor)(Hn.range[1],this.ast)),Hn.optional=!0),(0,Ci.getModifiers)(Me)?this.createNode(Me,{type:aa.AST_NODE_TYPES.TSParameterProperty,accessibility:(Ps=(0,ts.getTSNodeAccessibility)(Me))!==null&&Ps!==void 0?Ps:void 0,readonly:(0,ts.hasModifier)(ca.ReadonlyKeyword,Me)||void 0,static:(0,ts.hasModifier)(ca.StaticKeyword,Me)||void 0,export:(0,ts.hasModifier)(ca.ExportKeyword,Me)||void 0,override:(0,ts.hasModifier)(ca.OverrideKeyword,Me)||void 0,parameter:zn}):zn}case ca.ClassDeclaration:case ca.ClassExpression:{let Bn=(_a=Me.heritageClauses)!==null&&_a!==void 0?_a:[],Hn=Me.kind===ca.ClassDeclaration?aa.AST_NODE_TYPES.ClassDeclaration:aa.AST_NODE_TYPES.ClassExpression,zn=Bn.find((Me=>Me.token===ca.ExtendsKeyword)),ni=Bn.find((Me=>Me.token===ca.ImplementsKeyword)),Ps=this.createNode(Me,{type:Hn,id:this.convertChild(Me.name),body:this.createNode(Me,{type:aa.AST_NODE_TYPES.ClassBody,body:[],range:[Me.members.pos-1,Me.end]}),superClass:zn!=null&&zn.types[0]?this.convertChild(zn.types[0].expression):null});if(zn){if(zn.types.length>1)throw(0,ts.createError)(this.ast,zn.types[1].pos,"Classes can only extend a single class.");!((xa=zn.types[0])===null||xa===void 0)&&xa.typeArguments&&(Ps.superTypeParameters=this.convertTypeArgumentsToTypeParameters(zn.types[0].typeArguments,zn.types[0]))}Me.typeParameters&&(Ps.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(Me.typeParameters)),ni&&(Ps.implements=ni.types.map((Me=>this.convertChild(Me)))),(0,ts.hasModifier)(ca.AbstractKeyword,Me)&&(Ps.abstract=!0),(0,ts.hasModifier)(ca.DeclareKeyword,Me)&&(Ps.declare=!0);let oa=(0,Ci.getDecorators)(Me);oa&&(Ps.decorators=oa.map((Me=>this.convertChild(Me))));let Ga=Me.members.filter(ts.isESTreeClassMember);return Ga.length&&(Ps.body.body=Ga.map((Me=>this.convertChild(Me)))),this.fixExports(Me,Ps)}case ca.ModuleBlock:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSModuleBlock,body:this.convertBodyExpressions(Me.statements,Me)});case ca.ImportDeclaration:{this.assertModuleSpecifier(Me,!1);let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.ImportDeclaration,source:this.convertChild(Me.moduleSpecifier),specifiers:[],importKind:"value",assertions:this.convertAssertClasue(Me.assertClause)});if(Me.importClause&&(Me.importClause.isTypeOnly&&(Bn.importKind="type"),Me.importClause.name&&Bn.specifiers.push(this.convertChild(Me.importClause)),Me.importClause.namedBindings))switch(Me.importClause.namedBindings.kind){case ca.NamespaceImport:Bn.specifiers.push(this.convertChild(Me.importClause.namedBindings));break;case ca.NamedImports:Bn.specifiers=Bn.specifiers.concat(Me.importClause.namedBindings.elements.map((Me=>this.convertChild(Me))));break}return Bn}case ca.NamespaceImport:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ImportNamespaceSpecifier,local:this.convertChild(Me.name)});case ca.ImportSpecifier:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ImportSpecifier,local:this.convertChild(Me.name),imported:this.convertChild((Ga=Me.propertyName)!==null&&Ga!==void 0?Ga:Me.name),importKind:Me.isTypeOnly?"type":"value"});case ca.ImportClause:{let Bn=this.convertChild(Me.name);return this.createNode(Me,{type:aa.AST_NODE_TYPES.ImportDefaultSpecifier,local:Bn,range:Bn.range})}case ca.ExportDeclaration:return((Ha=Me.exportClause)===null||Ha===void 0?void 0:Ha.kind)===ca.NamedExports?(this.assertModuleSpecifier(Me,!0),this.createNode(Me,{type:aa.AST_NODE_TYPES.ExportNamedDeclaration,source:this.convertChild(Me.moduleSpecifier),specifiers:Me.exportClause.elements.map((Me=>this.convertChild(Me))),exportKind:Me.isTypeOnly?"type":"value",declaration:null,assertions:this.convertAssertClasue(Me.assertClause)})):(this.assertModuleSpecifier(Me,!1),this.createNode(Me,{type:aa.AST_NODE_TYPES.ExportAllDeclaration,source:this.convertChild(Me.moduleSpecifier),exportKind:Me.isTypeOnly?"type":"value",exported:Me.exportClause&&Me.exportClause.kind===ca.NamespaceExport?this.convertChild(Me.exportClause.name):null,assertions:this.convertAssertClasue(Me.assertClause)}));case ca.ExportSpecifier:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ExportSpecifier,local:this.convertChild((so=Me.propertyName)!==null&&so!==void 0?so:Me.name),exported:this.convertChild(Me.name),exportKind:Me.isTypeOnly?"type":"value"});case ca.ExportAssignment:return Me.isExportEquals?this.createNode(Me,{type:aa.AST_NODE_TYPES.TSExportAssignment,expression:this.convertChild(Me.expression)}):this.createNode(Me,{type:aa.AST_NODE_TYPES.ExportDefaultDeclaration,declaration:this.convertChild(Me.expression),exportKind:"value"});case ca.PrefixUnaryExpression:case ca.PostfixUnaryExpression:{let Bn=(0,ts.getTextForTokenKind)(Me.operator);return Bn==="++"||Bn==="--"?this.createNode(Me,{type:aa.AST_NODE_TYPES.UpdateExpression,operator:Bn,prefix:Me.kind===ca.PrefixUnaryExpression,argument:this.convertChild(Me.operand)}):this.createNode(Me,{type:aa.AST_NODE_TYPES.UnaryExpression,operator:Bn,prefix:Me.kind===ca.PrefixUnaryExpression,argument:this.convertChild(Me.operand)})}case ca.DeleteExpression:return this.createNode(Me,{type:aa.AST_NODE_TYPES.UnaryExpression,operator:"delete",prefix:!0,argument:this.convertChild(Me.expression)});case ca.VoidExpression:return this.createNode(Me,{type:aa.AST_NODE_TYPES.UnaryExpression,operator:"void",prefix:!0,argument:this.convertChild(Me.expression)});case ca.TypeOfExpression:return this.createNode(Me,{type:aa.AST_NODE_TYPES.UnaryExpression,operator:"typeof",prefix:!0,argument:this.convertChild(Me.expression)});case ca.TypeOperator:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSTypeOperator,operator:(0,ts.getTextForTokenKind)(Me.operator),typeAnnotation:this.convertChild(Me.type)});case ca.BinaryExpression:if((0,ts.isComma)(Me.operatorToken)){let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.SequenceExpression,expressions:[]}),Hn=this.convertChild(Me.left);return Hn.type===aa.AST_NODE_TYPES.SequenceExpression&&Me.left.kind!==ca.ParenthesizedExpression?Bn.expressions=Bn.expressions.concat(Hn.expressions):Bn.expressions.push(Hn),Bn.expressions.push(this.convertChild(Me.right)),Bn}else{let Bn=(0,ts.getBinaryExpressionType)(Me.operatorToken);return this.allowPattern&&Bn===aa.AST_NODE_TYPES.AssignmentExpression?this.createNode(Me,{type:aa.AST_NODE_TYPES.AssignmentPattern,left:this.convertPattern(Me.left,Me),right:this.convertChild(Me.right)}):this.createNode(Me,{type:Bn,operator:(0,ts.getTextForTokenKind)(Me.operatorToken.kind),left:this.converter(Me.left,Me,this.inTypeMode,Bn===aa.AST_NODE_TYPES.AssignmentExpression),right:this.convertChild(Me.right)})}case ca.PropertyAccessExpression:{let Bn=this.convertChild(Me.expression),Hn=this.convertChild(Me.name),zn=!1,ni=this.createNode(Me,{type:aa.AST_NODE_TYPES.MemberExpression,object:Bn,property:Hn,computed:zn,optional:Me.questionDotToken!==void 0});return this.convertChainExpression(ni,Me)}case ca.ElementAccessExpression:{let Bn=this.convertChild(Me.expression),Hn=this.convertChild(Me.argumentExpression),zn=!0,ni=this.createNode(Me,{type:aa.AST_NODE_TYPES.MemberExpression,object:Bn,property:Hn,computed:zn,optional:Me.questionDotToken!==void 0});return this.convertChainExpression(ni,Me)}case ca.CallExpression:{if(Me.expression.kind===ca.ImportKeyword){if(Me.arguments.length!==1&&Me.arguments.length!==2)throw(0,ts.createError)(this.ast,Me.arguments.pos,"Dynamic import requires exactly one or two arguments.");return this.createNode(Me,{type:aa.AST_NODE_TYPES.ImportExpression,source:this.convertChild(Me.arguments[0]),attributes:Me.arguments[1]?this.convertChild(Me.arguments[1]):null})}let Bn=this.convertChild(Me.expression),Hn=Me.arguments.map((Me=>this.convertChild(Me))),zn=this.createNode(Me,{type:aa.AST_NODE_TYPES.CallExpression,callee:Bn,arguments:Hn,optional:Me.questionDotToken!==void 0});return Me.typeArguments&&(zn.typeParameters=this.convertTypeArgumentsToTypeParameters(Me.typeArguments,Me)),this.convertChainExpression(zn,Me)}case ca.NewExpression:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.NewExpression,callee:this.convertChild(Me.expression),arguments:Me.arguments?Me.arguments.map((Me=>this.convertChild(Me))):[]});return Me.typeArguments&&(Bn.typeParameters=this.convertTypeArgumentsToTypeParameters(Me.typeArguments,Me)),Bn}case ca.ConditionalExpression:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ConditionalExpression,test:this.convertChild(Me.condition),consequent:this.convertChild(Me.whenTrue),alternate:this.convertChild(Me.whenFalse)});case ca.MetaProperty:return this.createNode(Me,{type:aa.AST_NODE_TYPES.MetaProperty,meta:this.createNode(Me.getFirstToken(),{type:aa.AST_NODE_TYPES.Identifier,name:(0,ts.getTextForTokenKind)(Me.keywordToken)}),property:this.convertChild(Me.name)});case ca.Decorator:return this.createNode(Me,{type:aa.AST_NODE_TYPES.Decorator,expression:this.convertChild(Me.expression)});case ca.StringLiteral:return this.createNode(Me,{type:aa.AST_NODE_TYPES.Literal,value:Bn.kind===ca.JsxAttribute?(0,ts.unescapeStringLiteralText)(Me.text):Me.text,raw:Me.getText()});case ca.NumericLiteral:return this.createNode(Me,{type:aa.AST_NODE_TYPES.Literal,value:Number(Me.text),raw:Me.getText()});case ca.BigIntLiteral:{let Bn=(0,ts.getRange)(Me,this.ast),Hn=this.ast.text.slice(Bn[0],Bn[1]),zn=Hn.slice(0,-1).replace(/_/g,""),ni=typeof BigInt<"u"?BigInt(zn):null;return this.createNode(Me,{type:aa.AST_NODE_TYPES.Literal,raw:Hn,value:ni,bigint:ni==null?zn:String(ni),range:Bn})}case ca.RegularExpressionLiteral:{let Bn=Me.text.slice(1,Me.text.lastIndexOf("/")),Hn=Me.text.slice(Me.text.lastIndexOf("/")+1),zn=null;try{zn=new RegExp(Bn,Hn)}catch{zn=null}return this.createNode(Me,{type:aa.AST_NODE_TYPES.Literal,value:zn,raw:Me.text,regex:{pattern:Bn,flags:Hn}})}case ca.TrueKeyword:return this.createNode(Me,{type:aa.AST_NODE_TYPES.Literal,value:!0,raw:"true"});case ca.FalseKeyword:return this.createNode(Me,{type:aa.AST_NODE_TYPES.Literal,value:!1,raw:"false"});case ca.NullKeyword:return!oa.typescriptVersionIsAtLeast["4.0"]&&this.inTypeMode?this.createNode(Me,{type:aa.AST_NODE_TYPES.TSNullKeyword}):this.createNode(Me,{type:aa.AST_NODE_TYPES.Literal,value:null,raw:"null"});case ca.EmptyStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.EmptyStatement});case ca.DebuggerStatement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.DebuggerStatement});case ca.JsxElement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXElement,openingElement:this.convertChild(Me.openingElement),closingElement:this.convertChild(Me.closingElement),children:Me.children.map((Me=>this.convertChild(Me)))});case ca.JsxFragment:return this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXFragment,openingFragment:this.convertChild(Me.openingFragment),closingFragment:this.convertChild(Me.closingFragment),children:Me.children.map((Me=>this.convertChild(Me)))});case ca.JsxSelfClosingElement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXElement,openingElement:this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXOpeningElement,typeParameters:Me.typeArguments?this.convertTypeArgumentsToTypeParameters(Me.typeArguments,Me):void 0,selfClosing:!0,name:this.convertJSXTagName(Me.tagName,Me),attributes:Me.attributes.properties.map((Me=>this.convertChild(Me))),range:(0,ts.getRange)(Me,this.ast)}),closingElement:null,children:[]});case ca.JsxOpeningElement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXOpeningElement,typeParameters:Me.typeArguments?this.convertTypeArgumentsToTypeParameters(Me.typeArguments,Me):void 0,selfClosing:!1,name:this.convertJSXTagName(Me.tagName,Me),attributes:Me.attributes.properties.map((Me=>this.convertChild(Me)))});case ca.JsxClosingElement:return this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXClosingElement,name:this.convertJSXTagName(Me.tagName,Me)});case ca.JsxOpeningFragment:return this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXOpeningFragment});case ca.JsxClosingFragment:return this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXClosingFragment});case ca.JsxExpression:{let Bn=Me.expression?this.convertChild(Me.expression):this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXEmptyExpression,range:[Me.getStart(this.ast)+1,Me.getEnd()-1]});return Me.dotDotDotToken?this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXSpreadChild,expression:Bn}):this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXExpressionContainer,expression:Bn})}case ca.JsxAttribute:return this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXAttribute,name:this.convertJSXNamespaceOrIdentifier(Me.name),value:this.convertChild(Me.initializer)});case ca.JsxText:{let Bn=Me.getFullStart(),Hn=Me.getEnd(),zn=this.ast.text.slice(Bn,Hn);return this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXText,value:(0,ts.unescapeStringLiteralText)(zn),raw:zn,range:[Bn,Hn]})}case ca.JsxSpreadAttribute:return this.createNode(Me,{type:aa.AST_NODE_TYPES.JSXSpreadAttribute,argument:this.convertChild(Me.expression)});case ca.QualifiedName:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSQualifiedName,left:this.convertChild(Me.left),right:this.convertChild(Me.right)});case ca.TypeReference:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSTypeReference,typeName:this.convertType(Me.typeName),typeParameters:Me.typeArguments?this.convertTypeArgumentsToTypeParameters(Me.typeArguments,Me):void 0});case ca.TypeParameter:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSTypeParameter,name:this.convertType(Me.name),constraint:Me.constraint?this.convertType(Me.constraint):void 0,default:Me.default?this.convertType(Me.default):void 0,in:(0,ts.hasModifier)(ca.InKeyword,Me),out:(0,ts.hasModifier)(ca.OutKeyword,Me),const:(0,ts.hasModifier)(ca.ConstKeyword,Me)});case ca.ThisType:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSThisType});case ca.AnyKeyword:case ca.BigIntKeyword:case ca.BooleanKeyword:case ca.NeverKeyword:case ca.NumberKeyword:case ca.ObjectKeyword:case ca.StringKeyword:case ca.SymbolKeyword:case ca.UnknownKeyword:case ca.VoidKeyword:case ca.UndefinedKeyword:case ca.IntrinsicKeyword:return this.createNode(Me,{type:aa.AST_NODE_TYPES[`TS${ca[Me.kind]}`]});case ca.NonNullExpression:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TSNonNullExpression,expression:this.convertChild(Me.expression)});return this.convertChainExpression(Bn,Me)}case ca.TypeLiteral:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSTypeLiteral,members:Me.members.map((Me=>this.convertChild(Me)))});case ca.ArrayType:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSArrayType,elementType:this.convertType(Me.elementType)});case ca.IndexedAccessType:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSIndexedAccessType,objectType:this.convertType(Me.objectType),indexType:this.convertType(Me.indexType)});case ca.ConditionalType:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSConditionalType,checkType:this.convertType(Me.checkType),extendsType:this.convertType(Me.extendsType),trueType:this.convertType(Me.trueType),falseType:this.convertType(Me.falseType)});case ca.TypeQuery:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSTypeQuery,exprName:this.convertType(Me.exprName),typeParameters:Me.typeArguments&&this.convertTypeArgumentsToTypeParameters(Me.typeArguments,Me)});case ca.MappedType:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TSMappedType,typeParameter:this.convertType(Me.typeParameter),nameType:(oo=this.convertType(Me.nameType))!==null&&oo!==void 0?oo:null});return Me.readonlyToken&&(Me.readonlyToken.kind===ca.ReadonlyKeyword?Bn.readonly=!0:Bn.readonly=(0,ts.getTextForTokenKind)(Me.readonlyToken.kind)),Me.questionToken&&(Me.questionToken.kind===ca.QuestionToken?Bn.optional=!0:Bn.optional=(0,ts.getTextForTokenKind)(Me.questionToken.kind)),Me.type&&(Bn.typeAnnotation=this.convertType(Me.type)),Bn}case ca.ParenthesizedExpression:return this.convertChild(Me.expression,Bn);case ca.TypeAliasDeclaration:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TSTypeAliasDeclaration,id:this.convertChild(Me.name),typeAnnotation:this.convertType(Me.type)});return(0,ts.hasModifier)(ca.DeclareKeyword,Me)&&(Bn.declare=!0),Me.typeParameters&&(Bn.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(Me.typeParameters)),this.fixExports(Me,Bn)}case ca.MethodSignature:return this.convertMethodSignature(Me);case ca.PropertySignature:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TSPropertySignature,optional:(0,ts.isOptional)(Me)||void 0,computed:(0,ts.isComputedProperty)(Me.name),key:this.convertChild(Me.name),typeAnnotation:Me.type?this.convertTypeAnnotation(Me.type,Me):void 0,initializer:this.convertChild(Me.initializer)||void 0,readonly:(0,ts.hasModifier)(ca.ReadonlyKeyword,Me)||void 0,static:(0,ts.hasModifier)(ca.StaticKeyword,Me)||void 0,export:(0,ts.hasModifier)(ca.ExportKeyword,Me)||void 0}),Hn=(0,ts.getTSNodeAccessibility)(Me);return Hn&&(Bn.accessibility=Hn),Bn}case ca.IndexSignature:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TSIndexSignature,parameters:Me.parameters.map((Me=>this.convertChild(Me)))});Me.type&&(Bn.typeAnnotation=this.convertTypeAnnotation(Me.type,Me)),(0,ts.hasModifier)(ca.ReadonlyKeyword,Me)&&(Bn.readonly=!0);let Hn=(0,ts.getTSNodeAccessibility)(Me);return Hn&&(Bn.accessibility=Hn),(0,ts.hasModifier)(ca.ExportKeyword,Me)&&(Bn.export=!0),(0,ts.hasModifier)(ca.StaticKeyword,Me)&&(Bn.static=!0),Bn}case ca.ConstructorType:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TSConstructorType,params:this.convertParameters(Me.parameters),abstract:(0,ts.hasModifier)(ca.AbstractKeyword,Me)});return Me.type&&(Bn.returnType=this.convertTypeAnnotation(Me.type,Me)),Me.typeParameters&&(Bn.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(Me.typeParameters)),Bn}case ca.FunctionType:case ca.ConstructSignature:case ca.CallSignature:{let Bn=Me.kind===ca.ConstructSignature?aa.AST_NODE_TYPES.TSConstructSignatureDeclaration:Me.kind===ca.CallSignature?aa.AST_NODE_TYPES.TSCallSignatureDeclaration:aa.AST_NODE_TYPES.TSFunctionType,Hn=this.createNode(Me,{type:Bn,params:this.convertParameters(Me.parameters)});return Me.type&&(Hn.returnType=this.convertTypeAnnotation(Me.type,Me)),Me.typeParameters&&(Hn.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(Me.typeParameters)),Hn}case ca.ExpressionWithTypeArguments:{let Hn=Bn.kind,zn=Hn===ca.InterfaceDeclaration?aa.AST_NODE_TYPES.TSInterfaceHeritage:Hn===ca.HeritageClause?aa.AST_NODE_TYPES.TSClassImplements:aa.AST_NODE_TYPES.TSInstantiationExpression,ni=this.createNode(Me,{type:zn,expression:this.convertChild(Me.expression)});return Me.typeArguments&&(ni.typeParameters=this.convertTypeArgumentsToTypeParameters(Me.typeArguments,Me)),ni}case ca.InterfaceDeclaration:{let Bn=(Jo=Me.heritageClauses)!==null&&Jo!==void 0?Jo:[],Hn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TSInterfaceDeclaration,body:this.createNode(Me,{type:aa.AST_NODE_TYPES.TSInterfaceBody,body:Me.members.map((Me=>this.convertChild(Me))),range:[Me.members.pos-1,Me.end]}),id:this.convertChild(Me.name)});if(Me.typeParameters&&(Hn.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(Me.typeParameters)),Bn.length>0){let zn=[],ni=[];for(let Hn of Bn)if(Hn.token===ca.ExtendsKeyword)for(let Bn of Hn.types)zn.push(this.convertChild(Bn,Me));else for(let Bn of Hn.types)ni.push(this.convertChild(Bn,Me));zn.length&&(Hn.extends=zn),ni.length&&(Hn.implements=ni)}return(0,ts.hasModifier)(ca.AbstractKeyword,Me)&&(Hn.abstract=!0),(0,ts.hasModifier)(ca.DeclareKeyword,Me)&&(Hn.declare=!0),this.fixExports(Me,Hn)}case ca.TypePredicate:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TSTypePredicate,asserts:Me.assertsModifier!==void 0,parameterName:this.convertChild(Me.parameterName),typeAnnotation:null});return Me.type&&(Bn.typeAnnotation=this.convertTypeAnnotation(Me.type,Me),Bn.typeAnnotation.loc=Bn.typeAnnotation.typeAnnotation.loc,Bn.typeAnnotation.range=Bn.typeAnnotation.typeAnnotation.range),Bn}case ca.ImportType:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSImportType,isTypeOf:!!Me.isTypeOf,parameter:this.convertChild(Me.argument),qualifier:this.convertChild(Me.qualifier),typeParameters:Me.typeArguments?this.convertTypeArgumentsToTypeParameters(Me.typeArguments,Me):null});case ca.EnumDeclaration:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TSEnumDeclaration,id:this.convertChild(Me.name),members:Me.members.map((Me=>this.convertChild(Me)))});return this.applyModifiersToResult(Bn,(0,Ci.getModifiers)(Me)),this.fixExports(Me,Bn)}case ca.EnumMember:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TSEnumMember,id:this.convertChild(Me.name)});return Me.initializer&&(Bn.initializer=this.convertChild(Me.initializer)),Me.name.kind===ni.SyntaxKind.ComputedPropertyName&&(Bn.computed=!0),Bn}case ca.ModuleDeclaration:{let Bn=this.createNode(Me,Object.assign({type:aa.AST_NODE_TYPES.TSModuleDeclaration},(()=>{let Bn=this.convertChild(Me.name),Hn=this.convertChild(Me.body);if(Me.flags&ni.NodeFlags.GlobalAugmentation){if(Hn==null||Hn.type===aa.AST_NODE_TYPES.TSModuleDeclaration)throw new Error("Expected a valid module body");if(Bn.type!==aa.AST_NODE_TYPES.Identifier)throw new Error("global module augmentation must have an Identifier id");return{kind:"global",id:Bn,body:Hn,global:!0}}else if(Me.flags&ni.NodeFlags.Namespace){if(Hn==null)throw new Error("Expected a module body");if(Bn.type!==aa.AST_NODE_TYPES.Identifier)throw new Error("`namespace`s must have an Identifier id");return{kind:"namespace",id:Bn,body:Hn}}else return Object.assign({kind:"module",id:Bn},Hn!=null?{body:Hn}:{})})()));return this.applyModifiersToResult(Bn,(0,Ci.getModifiers)(Me)),this.fixExports(Me,Bn)}case ca.ParenthesizedType:return this.convertType(Me.type);case ca.UnionType:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSUnionType,types:Me.types.map((Me=>this.convertType(Me)))});case ca.IntersectionType:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSIntersectionType,types:Me.types.map((Me=>this.convertType(Me)))});case ca.AsExpression:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSAsExpression,expression:this.convertChild(Me.expression),typeAnnotation:this.convertType(Me.type)});case ca.InferType:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSInferType,typeParameter:this.convertType(Me.typeParameter)});case ca.LiteralType:return oa.typescriptVersionIsAtLeast["4.0"]&&Me.literal.kind===ca.NullKeyword?this.createNode(Me.literal,{type:aa.AST_NODE_TYPES.TSNullKeyword}):this.createNode(Me,{type:aa.AST_NODE_TYPES.TSLiteralType,literal:this.convertType(Me.literal)});case ca.TypeAssertionExpression:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSTypeAssertion,typeAnnotation:this.convertType(Me.type),expression:this.convertChild(Me.expression)});case ca.ImportEqualsDeclaration:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSImportEqualsDeclaration,id:this.convertChild(Me.name),moduleReference:this.convertChild(Me.moduleReference),importKind:Me.isTypeOnly?"type":"value",isExport:(0,ts.hasModifier)(ca.ExportKeyword,Me)});case ca.ExternalModuleReference:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSExternalModuleReference,expression:this.convertChild(Me.expression)});case ca.NamespaceExportDeclaration:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSNamespaceExportDeclaration,id:this.convertChild(Me.name)});case ca.AbstractKeyword:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSAbstractKeyword});case ca.TupleType:{let Bn="elementTypes"in Me?Me.elementTypes.map((Me=>this.convertType(Me))):Me.elements.map((Me=>this.convertType(Me)));return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSTupleType,elementTypes:Bn})}case ca.NamedTupleMember:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TSNamedTupleMember,elementType:this.convertType(Me.type,Me),label:this.convertChild(Me.name,Me),optional:Me.questionToken!=null});return Me.dotDotDotToken?(Bn.range[0]=Bn.label.range[0],Bn.loc.start=Bn.label.loc.start,this.createNode(Me,{type:aa.AST_NODE_TYPES.TSRestType,typeAnnotation:Bn})):Bn}case ca.OptionalType:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSOptionalType,typeAnnotation:this.convertType(Me.type)});case ca.RestType:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSRestType,typeAnnotation:this.convertType(Me.type)});case ca.TemplateLiteralType:{let Bn=this.createNode(Me,{type:aa.AST_NODE_TYPES.TSTemplateLiteralType,quasis:[this.convertChild(Me.head)],types:[]});return Me.templateSpans.forEach((Me=>{Bn.types.push(this.convertChild(Me.type)),Bn.quasis.push(this.convertChild(Me.literal))})),Bn}case ca.ClassStaticBlockDeclaration:return this.createNode(Me,{type:aa.AST_NODE_TYPES.StaticBlock,body:this.convertBodyExpressions(Me.body.statements,Me)});case ca.AssertEntry:return this.createNode(Me,{type:aa.AST_NODE_TYPES.ImportAttribute,key:this.convertChild(Me.name),value:this.convertChild(Me.value)});case ca.SatisfiesExpression:return this.createNode(Me,{type:aa.AST_NODE_TYPES.TSSatisfiesExpression,expression:this.convertChild(Me.expression),typeAnnotation:this.convertChild(Me.type)});default:return this.deeplyCopy(Me)}}};Me.Converter=_a}}),zg={};m1(zg,{__assign:()=>Zg,__asyncDelegator:()=>TV,__asyncGenerator:()=>bV,__asyncValues:()=>SV,__await:()=>gp,__awaiter:()=>dV,__classPrivateFieldGet:()=>CV,__classPrivateFieldSet:()=>AV,__createBinding:()=>hV,__decorate:()=>uV,__exportStar:()=>gV,__extends:()=>cV,__generator:()=>mV,__importDefault:()=>wV,__importStar:()=>EV,__makeTemplateObject:()=>xV,__metadata:()=>fV,__param:()=>pV,__read:()=>$9,__rest:()=>lV,__spread:()=>yV,__spreadArrays:()=>vV,__values:()=>tT});function cV(Me,Bn){Xg(Me,Bn);function v(){this.constructor=Me}Me.prototype=Bn===null?Object.create(Bn):(v.prototype=Bn.prototype,new v)}function lV(Me,Bn){var Hn={};for(var zn in Me)Object.prototype.hasOwnProperty.call(Me,zn)&&Bn.indexOf(zn)<0&&(Hn[zn]=Me[zn]);if(Me!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ni=0,zn=Object.getOwnPropertySymbols(Me);ni=0;Ps--)(ts=Me[Ps])&&(Ci=(ni<3?ts(Ci):ni>3?ts(Bn,Hn,Ci):ts(Bn,Hn))||Ci);return ni>3&&Ci&&Object.defineProperty(Bn,Hn,Ci),Ci}function pV(Me,Bn){return function(Hn,zn){Bn(Hn,zn,Me)}}function fV(Me,Bn){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(Me,Bn)}function dV(Me,Bn,Hn,zn){function D(Me){return Me instanceof Hn?Me:new Hn((function(Bn){Bn(Me)}))}return new(Hn||(Hn=Promise))((function(Hn,ni){function m(Me){try{d(zn.next(Me))}catch(Me){ni(Me)}}function C(Me){try{d(zn.throw(Me))}catch(Me){ni(Me)}}function d(Me){Me.done?Hn(Me.value):D(Me.value).then(m,C)}d((zn=zn.apply(Me,Bn||[])).next())}))}function mV(Me,Bn){var Hn={label:0,sent:function(){if(Ci[0]&1)throw Ci[1];return Ci[1]},trys:[],ops:[]},zn,ni,Ci,ts;return ts={next:m(0),throw:m(1),return:m(2)},typeof Symbol=="function"&&(ts[Symbol.iterator]=function(){return this}),ts;function m(Me){return function(Bn){return C([Me,Bn])}}function C(ts){if(zn)throw new TypeError("Generator is already executing.");for(;Hn;)try{if(zn=1,ni&&(Ci=ts[0]&2?ni.return:ts[0]?ni.throw||((Ci=ni.return)&&Ci.call(ni),0):ni.next)&&!(Ci=Ci.call(ni,ts[1])).done)return Ci;switch(ni=0,Ci&&(ts=[ts[0]&2,Ci.value]),ts[0]){case 0:case 1:Ci=ts;break;case 4:return Hn.label++,{value:ts[1],done:!1};case 5:Hn.label++,ni=ts[1],ts=[0];continue;case 7:ts=Hn.ops.pop(),Hn.trys.pop();continue;default:if(Ci=Hn.trys,!(Ci=Ci.length>0&&Ci[Ci.length-1])&&(ts[0]===6||ts[0]===2)){Hn=0;continue}if(ts[0]===3&&(!Ci||ts[1]>Ci[0]&&ts[1]=Me.length&&(Me=void 0),{value:Me&&Me[zn++],done:!Me}}};throw new TypeError(Bn?"Object is not iterable.":"Symbol.iterator is not defined.")}function $9(Me,Bn){var Hn=typeof Symbol=="function"&&Me[Symbol.iterator];if(!Hn)return Me;var zn=Hn.call(Me),ni,Ci=[],ts;try{for(;(Bn===void 0||Bn-- >0)&&!(ni=zn.next()).done;)Ci.push(ni.value)}catch(Me){ts={error:Me}}finally{try{ni&&!ni.done&&(Hn=zn.return)&&Hn.call(zn)}finally{if(ts)throw ts.error}}return Ci}function yV(){for(var Me=[],Bn=0;Bn1||m(Me,Bn)}))})}function m(Me,Bn){try{C(zn[Me](Bn))}catch(Me){I(Ci[0][3],Me)}}function C(Me){Me.value instanceof gp?Promise.resolve(Me.value.v).then(d,E):I(Ci[0][2],Me)}function d(Me){m("next",Me)}function E(Me){m("throw",Me)}function I(Me,Bn){Me(Bn),Ci.shift(),Ci.length&&m(Ci[0][0],Ci[0][1])}}function TV(Me){var Bn,Hn;return Bn={},h("next"),h("throw",(function(Me){throw Me})),h("return"),Bn[Symbol.iterator]=function(){return this},Bn;function h(zn,ni){Bn[zn]=Me[zn]?function(Bn){return(Hn=!Hn)?{value:gp(Me[zn](Bn)),done:zn==="return"}:ni?ni(Bn):Bn}:ni}}function SV(Me){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var Bn=Me[Symbol.asyncIterator],Hn;return Bn?Bn.call(Me):(Me=typeof tT=="function"?tT(Me):Me[Symbol.iterator](),Hn={},h("next"),h("throw"),h("return"),Hn[Symbol.asyncIterator]=function(){return this},Hn);function h(Bn){Hn[Bn]=Me[Bn]&&function(Hn){return new Promise((function(zn,ni){Hn=Me[Bn](Hn),D(zn,ni,Hn.done,Hn.value)}))}}function D(Me,Bn,Hn,zn){Promise.resolve(zn).then((function(Bn){Me({value:Bn,done:Hn})}),Bn)}}function xV(Me,Bn){return Object.defineProperty?Object.defineProperty(Me,"raw",{value:Bn}):Me.raw=Bn,Me}function EV(Me){if(Me&&Me.__esModule)return Me;var Bn={};if(Me!=null)for(var Hn in Me)Object.hasOwnProperty.call(Me,Hn)&&(Bn[Hn]=Me[Hn]);return Bn.default=Me,Bn}function wV(Me){return Me&&Me.__esModule?Me:{default:Me}}function CV(Me,Bn){if(!Bn.has(Me))throw new TypeError("attempted to get private field on non-instance");return Bn.get(Me)}function AV(Me,Bn,Hn){if(!Bn.has(Me))throw new TypeError("attempted to set private field on non-instance");return Bn.set(Me,Hn),Hn}var Xg,Zg,f_=yp({"node_modules/tslib/tslib.es6.js"(){Ps(),Xg=function(Me,Bn){return Xg=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Me,Bn){Me.__proto__=Bn}||function(Me,Bn){for(var Hn in Bn)Bn.hasOwnProperty(Hn)&&(Me[Hn]=Bn[Hn])},Xg(Me,Bn)},Zg=function(){return Zg=Object.assign||function(Me){for(var Bn,Hn=1,zn=arguments.length;Hn=Bn.SyntaxKind.FirstLiteralToken&&Me.kind<=Bn.SyntaxKind.LastLiteralToken}Me.isLiteralExpression=Jr;function Qc(Me){return Me.kind===Bn.SyntaxKind.LiteralType}Me.isLiteralTypeNode=Qc;function ho(Me){return Me.kind===Bn.SyntaxKind.MappedType}Me.isMappedTypeNode=ho;function T_(Me){return Me.kind===Bn.SyntaxKind.MetaProperty}Me.isMetaProperty=T_;function go(Me){return Me.kind===Bn.SyntaxKind.MethodDeclaration}Me.isMethodDeclaration=go;function yo(Me){return Me.kind===Bn.SyntaxKind.MethodSignature}Me.isMethodSignature=yo;function Za(Me){return Me.kind===Bn.SyntaxKind.ModuleBlock}Me.isModuleBlock=Za;function vo(Me){return Me.kind===Bn.SyntaxKind.ModuleDeclaration}Me.isModuleDeclaration=vo;function S_(Me){return Me.kind===Bn.SyntaxKind.NamedExports}Me.isNamedExports=S_;function Zc(Me){return Me.kind===Bn.SyntaxKind.NamedImports}Me.isNamedImports=Zc;function Os(Me){return vo(Me)&&Me.name.kind===Bn.SyntaxKind.Identifier&&Me.body!==void 0&&(Me.body.kind===Bn.SyntaxKind.ModuleBlock||Os(Me.body))}Me.isNamespaceDeclaration=Os;function bo(Me){return Me.kind===Bn.SyntaxKind.NamespaceImport}Me.isNamespaceImport=bo;function el(Me){return Me.kind===Bn.SyntaxKind.NamespaceExportDeclaration}Me.isNamespaceExportDeclaration=el;function x_(Me){return Me.kind===Bn.SyntaxKind.NewExpression}Me.isNewExpression=x_;function E_(Me){return Me.kind===Bn.SyntaxKind.NonNullExpression}Me.isNonNullExpression=E_;function S(Me){return Me.kind===Bn.SyntaxKind.NoSubstitutionTemplateLiteral}Me.isNoSubstitutionTemplateLiteral=S;function H(Me){return Me.kind===Bn.SyntaxKind.NullKeyword}Me.isNullLiteral=H;function le(Me){return Me.kind===Bn.SyntaxKind.NumericLiteral}Me.isNumericLiteral=le;function Be(Me){switch(Me.kind){case Bn.SyntaxKind.StringLiteral:case Bn.SyntaxKind.NumericLiteral:case Bn.SyntaxKind.NoSubstitutionTemplateLiteral:return!0;default:return!1}}Me.isNumericOrStringLikeLiteral=Be;function rt(Me){return Me.kind===Bn.SyntaxKind.ObjectBindingPattern}Me.isObjectBindingPattern=rt;function ut(Me){return Me.kind===Bn.SyntaxKind.ObjectLiteralExpression}Me.isObjectLiteralExpression=ut;function Ht(Me){return Me.kind===Bn.SyntaxKind.OmittedExpression}Me.isOmittedExpression=Ht;function Fr(Me){return Me.kind===Bn.SyntaxKind.Parameter}Me.isParameterDeclaration=Fr;function Cr(Me){return Me.kind===Bn.SyntaxKind.ParenthesizedExpression}Me.isParenthesizedExpression=Cr;function ir(Me){return Me.kind===Bn.SyntaxKind.ParenthesizedType}Me.isParenthesizedTypeNode=ir;function en(Me){return Me.kind===Bn.SyntaxKind.PostfixUnaryExpression}Me.isPostfixUnaryExpression=en;function Ji(Me){return Me.kind===Bn.SyntaxKind.PrefixUnaryExpression}Me.isPrefixUnaryExpression=Ji;function gi(Me){return Me.kind===Bn.SyntaxKind.PropertyAccessExpression}Me.isPropertyAccessExpression=gi;function ln(Me){return Me.kind===Bn.SyntaxKind.PropertyAssignment}Me.isPropertyAssignment=ln;function ti(Me){return Me.kind===Bn.SyntaxKind.PropertyDeclaration}Me.isPropertyDeclaration=ti;function yn(Me){return Me.kind===Bn.SyntaxKind.PropertySignature}Me.isPropertySignature=yn;function w_(Me){return Me.kind===Bn.SyntaxKind.QualifiedName}Me.isQualifiedName=w_;function vp(Me){return Me.kind===Bn.SyntaxKind.RegularExpressionLiteral}Me.isRegularExpressionLiteral=vp;function C1(Me){return Me.kind===Bn.SyntaxKind.ReturnStatement}Me.isReturnStatement=C1;function rr(Me){return Me.kind===Bn.SyntaxKind.SetAccessor}Me.isSetAccessorDeclaration=rr;function bp(Me){return Me.kind===Bn.SyntaxKind.ShorthandPropertyAssignment}Me.isShorthandPropertyAssignment=bp;function Tp(Me){return Me.parameters!==void 0}Me.isSignatureDeclaration=Tp;function A1(Me){return Me.kind===Bn.SyntaxKind.SourceFile}Me.isSourceFile=A1;function tl(Me){return Me.kind===Bn.SyntaxKind.SpreadAssignment}Me.isSpreadAssignment=tl;function An(Me){return Me.kind===Bn.SyntaxKind.SpreadElement}Me.isSpreadElement=An;function P1(Me){return Me.kind===Bn.SyntaxKind.StringLiteral}Me.isStringLiteral=P1;function D1(Me){return Me.kind===Bn.SyntaxKind.SwitchStatement}Me.isSwitchStatement=D1;function k1(Me){return Me.kind===Bn.SyntaxKind.SyntaxList}Me.isSyntaxList=k1;function fa(Me){return Me.kind===Bn.SyntaxKind.TaggedTemplateExpression}Me.isTaggedTemplateExpression=fa;function Ms(Me){return Me.kind===Bn.SyntaxKind.TemplateExpression}Me.isTemplateExpression=Ms;function To(Me){return Me.kind===Bn.SyntaxKind.TemplateExpression||Me.kind===Bn.SyntaxKind.NoSubstitutionTemplateLiteral}Me.isTemplateLiteral=To;function Sp(Me){return Me.kind===Bn.SyntaxKind.StringLiteral||Me.kind===Bn.SyntaxKind.NoSubstitutionTemplateLiteral}Me.isTextualLiteral=Sp;function Vr(Me){return Me.kind===Bn.SyntaxKind.ThrowStatement}Me.isThrowStatement=Vr;function I1(Me){return Me.kind===Bn.SyntaxKind.TryStatement}Me.isTryStatement=I1;function N1(Me){return Me.kind===Bn.SyntaxKind.TupleType}Me.isTupleTypeNode=N1;function C_(Me){return Me.kind===Bn.SyntaxKind.TypeAliasDeclaration}Me.isTypeAliasDeclaration=C_;function O1(Me){return Me.kind===Bn.SyntaxKind.TypeAssertionExpression}Me.isTypeAssertion=O1;function ri(Me){return Me.kind===Bn.SyntaxKind.TypeLiteral}Me.isTypeLiteralNode=ri;function rl(Me){return Me.kind===Bn.SyntaxKind.TypeOfExpression}Me.isTypeOfExpression=rl;function M1(Me){return Me.kind===Bn.SyntaxKind.TypeOperator}Me.isTypeOperatorNode=M1;function xp(Me){return Me.kind===Bn.SyntaxKind.TypeParameter}Me.isTypeParameterDeclaration=xp;function L1(Me){return Me.kind===Bn.SyntaxKind.TypePredicate}Me.isTypePredicateNode=L1;function R1(Me){return Me.kind===Bn.SyntaxKind.TypeReference}Me.isTypeReferenceNode=R1;function j1(Me){return Me.kind===Bn.SyntaxKind.TypeQuery}Me.isTypeQueryNode=j1;function Ep(Me){return Me.kind===Bn.SyntaxKind.UnionType}Me.isUnionTypeNode=Ep;function J1(Me){return Me.kind===Bn.SyntaxKind.VariableDeclaration}Me.isVariableDeclaration=J1;function es(Me){return Me.kind===Bn.SyntaxKind.VariableStatement}Me.isVariableStatement=es;function F1(Me){return Me.kind===Bn.SyntaxKind.VariableDeclarationList}Me.isVariableDeclarationList=F1;function B1(Me){return Me.kind===Bn.SyntaxKind.VoidExpression}Me.isVoidExpression=B1;function Fi(Me){return Me.kind===Bn.SyntaxKind.WhileStatement}Me.isWhileStatement=Fi;function q1(Me){return Me.kind===Bn.SyntaxKind.WithStatement}Me.isWithStatement=q1}}),ey=Oe({"node_modules/tsutils/typeguard/2.9/node.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.isImportTypeNode=void 0;var Bn=(f_(),Li(zg));Bn.__exportStar(Z_(),Me);var Hn=Kf();function h(Me){return Me.kind===Hn.SyntaxKind.ImportType}Me.isImportTypeNode=h}}),ty=Oe({"node_modules/tsutils/typeguard/3.0/node.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.isSyntheticExpression=Me.isRestTypeNode=Me.isOptionalTypeNode=void 0;var Bn=(f_(),Li(zg));Bn.__exportStar(ey(),Me);var Hn=Kf();function h(Me){return Me.kind===Hn.SyntaxKind.OptionalType}Me.isOptionalTypeNode=h;function D(Me){return Me.kind===Hn.SyntaxKind.RestType}Me.isRestTypeNode=D;function P(Me){return Me.kind===Hn.SyntaxKind.SyntheticExpression}Me.isSyntheticExpression=P}}),ry=Oe({"node_modules/tsutils/typeguard/3.2/node.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.isBigIntLiteral=void 0;var Bn=(f_(),Li(zg));Bn.__exportStar(ty(),Me);var Hn=Kf();function h(Me){return Me.kind===Hn.SyntaxKind.BigIntLiteral}Me.isBigIntLiteral=h}}),ny=Oe({"node_modules/tsutils/typeguard/node.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0});var Bn=(f_(),Li(zg));Bn.__exportStar(ry(),Me)}}),iy=Oe({"node_modules/tsutils/typeguard/2.8/type.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.isUniqueESSymbolType=Me.isUnionType=Me.isUnionOrIntersectionType=Me.isTypeVariable=Me.isTypeReference=Me.isTypeParameter=Me.isSubstitutionType=Me.isObjectType=Me.isLiteralType=Me.isIntersectionType=Me.isInterfaceType=Me.isInstantiableType=Me.isIndexedAccessype=Me.isIndexedAccessType=Me.isGenericType=Me.isEnumType=Me.isConditionalType=void 0;var Bn=Kf();function v(Me){return(Me.flags&Bn.TypeFlags.Conditional)!==0}Me.isConditionalType=v;function h(Me){return(Me.flags&Bn.TypeFlags.Enum)!==0}Me.isEnumType=h;function D(Me){return(Me.flags&Bn.TypeFlags.Object)!==0&&(Me.objectFlags&Bn.ObjectFlags.ClassOrInterface)!==0&&(Me.objectFlags&Bn.ObjectFlags.Reference)!==0}Me.isGenericType=D;function P(Me){return(Me.flags&Bn.TypeFlags.IndexedAccess)!==0}Me.isIndexedAccessType=P;function y(Me){return(Me.flags&Bn.TypeFlags.Index)!==0}Me.isIndexedAccessype=y;function m(Me){return(Me.flags&Bn.TypeFlags.Instantiable)!==0}Me.isInstantiableType=m;function C(Me){return(Me.flags&Bn.TypeFlags.Object)!==0&&(Me.objectFlags&Bn.ObjectFlags.ClassOrInterface)!==0}Me.isInterfaceType=C;function d(Me){return(Me.flags&Bn.TypeFlags.Intersection)!==0}Me.isIntersectionType=d;function E(Me){return(Me.flags&(Bn.TypeFlags.StringOrNumberLiteral|Bn.TypeFlags.BigIntLiteral))!==0}Me.isLiteralType=E;function I(Me){return(Me.flags&Bn.TypeFlags.Object)!==0}Me.isObjectType=I;function c(Me){return(Me.flags&Bn.TypeFlags.Substitution)!==0}Me.isSubstitutionType=c;function M(Me){return(Me.flags&Bn.TypeFlags.TypeParameter)!==0}Me.isTypeParameter=M;function q(Me){return(Me.flags&Bn.TypeFlags.Object)!==0&&(Me.objectFlags&Bn.ObjectFlags.Reference)!==0}Me.isTypeReference=q;function W(Me){return(Me.flags&Bn.TypeFlags.TypeVariable)!==0}Me.isTypeVariable=W;function K(Me){return(Me.flags&Bn.TypeFlags.UnionOrIntersection)!==0}Me.isUnionOrIntersectionType=K;function ce(Me){return(Me.flags&Bn.TypeFlags.Union)!==0}Me.isUnionType=ce;function Ie(Me){return(Me.flags&Bn.TypeFlags.UniqueESSymbol)!==0}Me.isUniqueESSymbolType=Ie}}),py=Oe({"node_modules/tsutils/typeguard/2.9/type.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0});var Bn=(f_(),Li(zg));Bn.__exportStar(iy(),Me)}}),fy=Oe({"node_modules/tsutils/typeguard/3.0/type.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.isTupleTypeReference=Me.isTupleType=void 0;var Bn=(f_(),Li(zg));Bn.__exportStar(py(),Me);var Hn=Kf(),zn=py();function D(Me){return(Me.flags&Hn.TypeFlags.Object&&Me.objectFlags&Hn.ObjectFlags.Tuple)!==0}Me.isTupleType=D;function P(Me){return zn.isTypeReference(Me)&&D(Me.target)}Me.isTupleTypeReference=P}}),Ty=Oe({"node_modules/tsutils/typeguard/3.2/type.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0});var Bn=(f_(),Li(zg));Bn.__exportStar(fy(),Me)}}),Gy=Oe({"node_modules/tsutils/typeguard/3.2/index.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0});var Bn=(f_(),Li(zg));Bn.__exportStar(ry(),Me),Bn.__exportStar(Ty(),Me)}}),Vy=Oe({"node_modules/tsutils/typeguard/type.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0});var Bn=(f_(),Li(zg));Bn.__exportStar(Ty(),Me)}}),Hy=Oe({"node_modules/tsutils/util/type.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.getBaseClassMemberOfClassElement=Me.getIteratorYieldResultFromIteratorResult=Me.getInstanceTypeOfClassLikeDeclaration=Me.getConstructorTypeOfClassLikeDeclaration=Me.getSymbolOfClassLikeDeclaration=Me.getPropertyNameFromType=Me.symbolHasReadonlyDeclaration=Me.isPropertyReadonlyInType=Me.getWellKnownSymbolPropertyOfType=Me.getPropertyOfType=Me.isBooleanLiteralType=Me.isFalsyType=Me.isThenableType=Me.someTypePart=Me.intersectionTypeParts=Me.unionTypeParts=Me.getCallSignaturesOfType=Me.isTypeAssignableToString=Me.isTypeAssignableToNumber=Me.isOptionalChainingUndefinedMarkerType=Me.removeOptionalChainingUndefinedMarkerType=Me.removeOptionalityFromType=Me.isEmptyObjectType=void 0;var Bn=Kf(),Hn=Vy(),zn=Av(),ni=ny();function P(Me){if(Hn.isObjectType(Me)&&Me.objectFlags&Bn.ObjectFlags.Anonymous&&Me.getProperties().length===0&&Me.getCallSignatures().length===0&&Me.getConstructSignatures().length===0&&Me.getStringIndexType()===void 0&&Me.getNumberIndexType()===void 0){let Bn=Me.getBaseTypes();return Bn===void 0||Bn.every(P)}return!1}Me.isEmptyObjectType=P;function y(Me,Hn){if(!m(Hn,Bn.TypeFlags.Undefined))return Hn;let zn=m(Hn,Bn.TypeFlags.Null);return Hn=Me.getNonNullableType(Hn),zn?Me.getNullableType(Hn,Bn.TypeFlags.Null):Hn}Me.removeOptionalityFromType=y;function m(Me,Bn){for(let Hn of q(Me))if(zn.isTypeFlagSet(Hn,Bn))return!0;return!1}function C(Me,Bn){if(!Hn.isUnionType(Bn))return d(Me,Bn)?Bn.getNonNullableType():Bn;let zn=0,ni=!1;for(let Hn of Bn.types)d(Me,Hn)?ni=!0:zn|=Hn.flags;return ni?Me.getNullableType(Bn.getNonNullableType(),zn):Bn}Me.removeOptionalChainingUndefinedMarkerType=C;function d(Me,Hn){return zn.isTypeFlagSet(Hn,Bn.TypeFlags.Undefined)&&Me.getNullableType(Hn.getNonNullableType(),Bn.TypeFlags.Undefined)!==Hn}Me.isOptionalChainingUndefinedMarkerType=d;function E(Me,Hn){return c(Me,Hn,Bn.TypeFlags.NumberLike)}Me.isTypeAssignableToNumber=E;function I(Me,Hn){return c(Me,Hn,Bn.TypeFlags.StringLike)}Me.isTypeAssignableToString=I;function c(Me,ni,Ci){Ci|=Bn.TypeFlags.Any;let ts;return function Pt(Bn){if(Hn.isTypeParameter(Bn)&&Bn.symbol!==void 0&&Bn.symbol.declarations!==void 0){if(ts===void 0)ts=new Set([Bn]);else if(!ts.has(Bn))ts.add(Bn);else return!1;let Hn=Bn.symbol.declarations[0];return Hn.constraint===void 0?!0:Pt(Me.getTypeFromTypeNode(Hn.constraint))}return Hn.isUnionType(Bn)?Bn.types.every(Pt):Hn.isIntersectionType(Bn)?Bn.types.some(Pt):zn.isTypeFlagSet(Bn,Ci)}(ni)}function M(Me){if(Hn.isUnionType(Me)){let Bn=[];for(let Hn of Me.types)Bn.push(...M(Hn));return Bn}if(Hn.isIntersectionType(Me)){let Bn;for(let Hn of Me.types){let Me=M(Hn);if(Me.length!==0){if(Bn!==void 0)return[];Bn=Me}}return Bn===void 0?[]:Bn}return Me.getCallSignatures()}Me.getCallSignaturesOfType=M;function q(Me){return Hn.isUnionType(Me)?Me.types:[Me]}Me.unionTypeParts=q;function W(Me){return Hn.isIntersectionType(Me)?Me.types:[Me]}Me.intersectionTypeParts=W;function K(Me,Bn,Hn){return Bn(Me)?Me.types.some(Hn):Hn(Me)}Me.someTypePart=K;function ce(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Me.getTypeAtLocation(Bn);for(let zn of q(Me.getApparentType(Hn))){let Hn=zn.getProperty("then");if(Hn===void 0)continue;let ni=Me.getTypeOfSymbolAtLocation(Hn,Bn);for(let Hn of q(ni))for(let zn of Hn.getCallSignatures())if(zn.parameters.length!==0&&Ie(Me,zn.parameters[0],Bn))return!0}return!1}Me.isThenableType=ce;function Ie(Me,Bn,Hn){let zn=Me.getApparentType(Me.getTypeOfSymbolAtLocation(Bn,Hn));if(Bn.valueDeclaration.dotDotDotToken&&(zn=zn.getNumberIndexType(),zn===void 0))return!1;for(let Me of q(zn))if(Me.getCallSignatures().length!==0)return!0;return!1}function me(Me){return Me.flags&(Bn.TypeFlags.Undefined|Bn.TypeFlags.Null|Bn.TypeFlags.Void)?!0:Hn.isLiteralType(Me)?!Me.value:Ae(Me,!1)}Me.isFalsyType=me;function Ae(Me,Hn){return zn.isTypeFlagSet(Me,Bn.TypeFlags.BooleanLiteral)&&Me.intrinsicName===(Hn?"true":"false")}Me.isBooleanLiteralType=Ae;function te(Me,Bn){return Bn.startsWith("__")?Me.getProperties().find((Me=>Me.escapedName===Bn)):Me.getProperty(Bn)}Me.getPropertyOfType=te;function he(Me,Bn,Hn){let zn="__@"+Bn;for(let ni of Me.getProperties()){if(!ni.name.startsWith(zn))continue;let Me=Hn.getApparentType(Hn.getTypeAtLocation(ni.valueDeclaration.name.expression)).symbol;if(ni.escapedName===Pe(Hn,Me,Bn))return ni}}Me.getWellKnownSymbolPropertyOfType=he;function Pe(Me,Bn,zn){let ni=Bn&&Me.getTypeOfSymbolAtLocation(Bn,Bn.valueDeclaration).getProperty(zn),Ci=ni&&Me.getTypeOfSymbolAtLocation(ni,ni.valueDeclaration);return Ci&&Hn.isUniqueESSymbolType(Ci)?Ci.escapedName:"__@"+zn}function R(Me,Hn,ni){let Ci=!1,ts=!1;for(let Ps of q(Me))if(te(Ps,Hn)===void 0){let Me=(zn.isNumericPropertyName(Hn)?ni.getIndexInfoOfType(Ps,Bn.IndexKind.Number):void 0)||ni.getIndexInfoOfType(Ps,Bn.IndexKind.String);if(Me!==void 0&&Me.isReadonly){if(Ci)return!0;ts=!0}}else{if(ts||pe(Ps,Hn,ni))return!0;Ci=!0}return!1}Me.isPropertyReadonlyInType=R;function pe(Me,ni,Ci){return K(Me,Hn.isIntersectionType,(Me=>{let ts=te(Me,ni);if(ts===void 0)return!1;if(ts.flags&Bn.SymbolFlags.Transient){if(/^(?:[1-9]\d*|0)$/.test(ni)&&Hn.isTupleTypeReference(Me))return Me.target.readonly;switch(ke(Me,ni,Ci)){case!0:return!0;case!1:return!1;default:}}return zn.isSymbolFlagSet(ts,Bn.SymbolFlags.ValueModule)||Je(ts,Ci)}))}function ke(Me,ni,Ci){if(!Hn.isObjectType(Me)||!zn.isObjectFlagSet(Me,Bn.ObjectFlags.Mapped))return;let ts=Me.symbol.declarations[0];return ts.readonlyToken!==void 0&&!/^__@[^@]+$/.test(ni)?ts.readonlyToken.kind!==Bn.SyntaxKind.MinusToken:R(Me.modifiersType,ni,Ci)}function Je(Me,Hn){return(Me.flags&Bn.SymbolFlags.Accessor)===Bn.SymbolFlags.GetAccessor||Me.declarations!==void 0&&Me.declarations.some((Me=>zn.isModifierFlagSet(Me,Bn.ModifierFlags.Readonly)||ni.isVariableDeclaration(Me)&&zn.isNodeFlagSet(Me.parent,Bn.NodeFlags.Const)||ni.isCallExpression(Me)&&zn.isReadonlyAssignmentDeclaration(Me,Hn)||ni.isEnumMember(Me)||(ni.isPropertyAssignment(Me)||ni.isShorthandPropertyAssignment(Me))&&zn.isInConstContext(Me.parent)))}Me.symbolHasReadonlyDeclaration=Je;function Xe(Me){if(Me.flags&(Bn.TypeFlags.StringLiteral|Bn.TypeFlags.NumberLiteral)){let Hn=String(Me.value);return{displayName:Hn,symbolName:Bn.escapeLeadingUnderscores(Hn)}}if(Hn.isUniqueESSymbolType(Me))return{displayName:`[${Me.symbol?`${ee(Me.symbol)?"Symbol.":""}${Me.symbol.name}`:Me.escapedName.replace(/^__@|@\d+$/g,"")}]`,symbolName:Me.escapedName}}Me.getPropertyNameFromType=Xe;function ee(Me){return zn.isSymbolFlagSet(Me,Bn.SymbolFlags.Property)&&Me.valueDeclaration!==void 0&&ni.isInterfaceDeclaration(Me.valueDeclaration.parent)&&Me.valueDeclaration.parent.name.text==="SymbolConstructor"&&je(Me.valueDeclaration.parent)}function je(Me){return zn.isNodeFlagSet(Me.parent,Bn.NodeFlags.GlobalAugmentation)||ni.isSourceFile(Me.parent)&&!Bn.isExternalModule(Me.parent)}function nt(Me,Hn){var ni;return Hn.getSymbolAtLocation((ni=Me.name)!==null&&ni!==void 0?ni:zn.getChildOfKind(Me,Bn.SyntaxKind.ClassKeyword))}Me.getSymbolOfClassLikeDeclaration=nt;function Ze(Me,Hn){return Me.kind===Bn.SyntaxKind.ClassExpression?Hn.getTypeAtLocation(Me):Hn.getTypeOfSymbolAtLocation(nt(Me,Hn),Me)}Me.getConstructorTypeOfClassLikeDeclaration=Ze;function st(Me,Hn){return Me.kind===Bn.SyntaxKind.ClassDeclaration?Hn.getTypeAtLocation(Me):Hn.getDeclaredTypeOfSymbol(nt(Me,Hn))}Me.getInstanceTypeOfClassLikeDeclaration=st;function tt(Me,Bn,zn){return Hn.isUnionType(Me)&&Me.types.find((Me=>{let Hn=Me.getProperty("done");return Hn!==void 0&&Ae(y(zn,zn.getTypeOfSymbolAtLocation(Hn,Bn)),!1)}))||Me}Me.getIteratorYieldResultFromIteratorResult=tt;function ct(Me,Hn){if(!ni.isClassLikeDeclaration(Me.parent))return;let Ci=zn.getBaseOfClassLikeExpression(Me.parent);if(Ci===void 0)return;let ts=zn.getSingleLateBoundPropertyNameOfPropertyName(Me.name,Hn);if(ts===void 0)return;let Ps=Hn.getTypeAtLocation(zn.hasModifier(Me.modifiers,Bn.SyntaxKind.StaticKeyword)?Ci.expression:Ci);return te(Ps,ts.symbolName)}Me.getBaseClassMemberOfClassElement=ct}}),Av=Oe({"node_modules/tsutils/util/util.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.isValidIdentifier=Me.getLineBreakStyle=Me.getLineRanges=Me.forEachComment=Me.forEachTokenWithTrivia=Me.forEachToken=Me.isFunctionWithBody=Me.hasOwnThisReference=Me.isBlockScopeBoundary=Me.isFunctionScopeBoundary=Me.isTypeScopeBoundary=Me.isScopeBoundary=Me.ScopeBoundarySelector=Me.ScopeBoundary=Me.isInSingleStatementContext=Me.isBlockScopedDeclarationStatement=Me.isBlockScopedVariableDeclaration=Me.isBlockScopedVariableDeclarationList=Me.getVariableDeclarationKind=Me.VariableDeclarationKind=Me.forEachDeclaredVariable=Me.forEachDestructuringIdentifier=Me.getPropertyName=Me.getWrappedNodeAtPosition=Me.getAstNodeAtPosition=Me.commentText=Me.isPositionInComment=Me.getCommentAtPosition=Me.getTokenAtPosition=Me.getNextToken=Me.getPreviousToken=Me.getNextStatement=Me.getPreviousStatement=Me.isModifierFlagSet=Me.isObjectFlagSet=Me.isSymbolFlagSet=Me.isTypeFlagSet=Me.isNodeFlagSet=Me.hasAccessModifier=Me.isParameterProperty=Me.hasModifier=Me.getModifier=Me.isThisParameter=Me.isKeywordKind=Me.isJsDocKind=Me.isTypeNodeKind=Me.isAssignmentKind=Me.isNodeKind=Me.isTokenKind=Me.getChildOfKind=void 0,Me.getBaseOfClassLikeExpression=Me.hasExhaustiveCaseClauses=Me.formatPseudoBigInt=Me.unwrapParentheses=Me.getSingleLateBoundPropertyNameOfPropertyName=Me.getLateBoundPropertyNamesOfPropertyName=Me.getLateBoundPropertyNames=Me.getPropertyNameOfWellKnownSymbol=Me.isWellKnownSymbolLiterally=Me.isBindableObjectDefinePropertyCall=Me.isReadonlyAssignmentDeclaration=Me.isInConstContext=Me.isConstAssertion=Me.getTsCheckDirective=Me.getCheckJsDirective=Me.isAmbientModule=Me.isCompilerOptionEnabled=Me.isStrictCompilerOptionEnabled=Me.getIIFE=Me.isAmbientModuleBlock=Me.isStatementInAmbientContext=Me.findImportLikeNodes=Me.findImports=Me.ImportKind=Me.parseJsDocOfNode=Me.getJsDoc=Me.canHaveJsDoc=Me.isReassignmentTarget=Me.getAccessKind=Me.AccessKind=Me.isExpressionValueUsed=Me.getDeclarationOfBindingElement=Me.hasSideEffects=Me.SideEffectOptions=Me.isSameLine=Me.isNumericPropertyName=Me.isValidJsxIdentifier=Me.isValidNumericLiteral=Me.isValidPropertyName=Me.isValidPropertyAccess=void 0;var Bn=Kf(),Hn=ny(),zn=Gy(),ni=Hy();function P(Me,Bn,Hn){for(let zn of Me.getChildren(Hn))if(zn.kind===Bn)return zn}Me.getChildOfKind=P;function y(Me){return Me>=Bn.SyntaxKind.FirstToken&&Me<=Bn.SyntaxKind.LastToken}Me.isTokenKind=y;function m(Me){return Me>=Bn.SyntaxKind.FirstNode}Me.isNodeKind=m;function C(Me){return Me>=Bn.SyntaxKind.FirstAssignment&&Me<=Bn.SyntaxKind.LastAssignment}Me.isAssignmentKind=C;function d(Me){return Me>=Bn.SyntaxKind.FirstTypeNode&&Me<=Bn.SyntaxKind.LastTypeNode}Me.isTypeNodeKind=d;function E(Me){return Me>=Bn.SyntaxKind.FirstJSDocNode&&Me<=Bn.SyntaxKind.LastJSDocNode}Me.isJsDocKind=E;function I(Me){return Me>=Bn.SyntaxKind.FirstKeyword&&Me<=Bn.SyntaxKind.LastKeyword}Me.isKeywordKind=I;function c(Me){return Me.name.kind===Bn.SyntaxKind.Identifier&&Me.name.originalKeywordKind===Bn.SyntaxKind.ThisKeyword}Me.isThisParameter=c;function M(Me,Bn){if(Me.modifiers!==void 0){for(let Hn of Me.modifiers)if(Hn.kind===Bn)return Hn}}Me.getModifier=M;function q(Me){if(Me===void 0)return!1;for(var Bn=arguments.length,Hn=new Array(Bn>1?Bn-1:0),zn=1;zn0)return Bn.statements[Hn-1]}}Me.getPreviousStatement=Ae;function te(Me){let Bn=Me.parent;if(Hn.isBlockLike(Bn)){let Hn=Bn.statements.indexOf(Me);if(Hn=Me.end))return y(Me.kind)?Me:pe(Me,Bn,Hn!=null?Hn:Me.getSourceFile(),zn===!0)}Me.getTokenAtPosition=R;function pe(Me,Hn,zn,ni){if(!ni&&(Me=je(Me,Hn),y(Me.kind)))return Me;e:for(;;){for(let Ci of Me.getChildren(zn))if(Ci.end>Hn&&(ni||Ci.kind!==Bn.SyntaxKind.JSDocComment)){if(y(Ci.kind))return Ci;Me=Ci;continue e}return}}function ke(Me,Hn){let zn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Me,ni=R(zn,Hn,Me);if(ni===void 0||ni.kind===Bn.SyntaxKind.JsxText||Hn>=ni.end-(Bn.tokenToString(ni.kind)||"").length)return;let Ci=ni.pos===0?(Bn.getShebang(Me.text)||"").length:ni.pos;return Ci!==0&&Bn.forEachTrailingCommentRange(Me.text,Ci,Je,Hn)||Bn.forEachLeadingCommentRange(Me.text,Ci,Je,Hn)}Me.getCommentAtPosition=ke;function Je(Me,Bn,Hn,zn,ni){return ni>=Me&&niHn||Me.end<=Hn)){for(;m(Me.kind);){let zn=Bn.forEachChild(Me,(Me=>Me.pos<=Hn&&Me.end>Hn?Me:void 0));if(zn===void 0)break;Me=zn}return Me}}Me.getAstNodeAtPosition=je;function nt(Me,Bn){if(Me.node.pos>Bn||Me.node.end<=Bn)return;e:for(;;){for(let Hn of Me.children){if(Hn.node.pos>Bn)return Me;if(Hn.node.end>Bn){Me=Hn;continue e}}return Me}}Me.getWrappedNodeAtPosition=nt;function Ze(Me){if(Me.kind===Bn.SyntaxKind.ComputedPropertyName){let ni=Os(Me.expression);if(Hn.isPrefixUnaryExpression(ni)){let Me=!1;switch(ni.operator){case Bn.SyntaxKind.MinusToken:Me=!0;case Bn.SyntaxKind.PlusToken:return Hn.isNumericLiteral(ni.operand)?`${Me?"-":""}${ni.operand.text}`:zn.isBigIntLiteral(ni.operand)?`${Me?"-":""}${ni.operand.text.slice(0,-1)}`:void 0;default:return}}return zn.isBigIntLiteral(ni)?ni.text.slice(0,-1):Hn.isNumericOrStringLikeLiteral(ni)?ni.text:void 0}return Me.kind===Bn.SyntaxKind.PrivateIdentifier?void 0:Me.text}Me.getPropertyName=Ze;function st(Me,Hn){for(let zn of Me.elements){if(zn.kind!==Bn.SyntaxKind.BindingElement)continue;let Me;if(zn.name.kind===Bn.SyntaxKind.Identifier?Me=Hn(zn):Me=st(zn.name,Hn),Me)return Me}}Me.forEachDestructuringIdentifier=st;function tt(Me,Hn){for(let zn of Me.declarations){let Me;if(zn.name.kind===Bn.SyntaxKind.Identifier?Me=Hn(zn):Me=st(zn.name,Hn),Me)return Me}}Me.forEachDeclaredVariable=tt;var Ci;(function(Me){Me[Me.Var=0]="Var",Me[Me.Let=1]="Let",Me[Me.Const=2]="Const"})(Ci=Me.VariableDeclarationKind||(Me.VariableDeclarationKind={}));function ne(Me){return Me.flags&Bn.NodeFlags.Let?1:Me.flags&Bn.NodeFlags.Const?2:0}Me.getVariableDeclarationKind=ne;function ge(Me){return(Me.flags&Bn.NodeFlags.BlockScoped)!==0}Me.isBlockScopedVariableDeclarationList=ge;function Fe(Me){let Hn=Me.parent;return Hn.kind===Bn.SyntaxKind.CatchClause||ge(Hn)}Me.isBlockScopedVariableDeclaration=Fe;function at(Me){switch(Me.kind){case Bn.SyntaxKind.VariableStatement:return ge(Me.declarationList);case Bn.SyntaxKind.ClassDeclaration:case Bn.SyntaxKind.EnumDeclaration:case Bn.SyntaxKind.InterfaceDeclaration:case Bn.SyntaxKind.TypeAliasDeclaration:return!0;default:return!1}}Me.isBlockScopedDeclarationStatement=at;function Pt(Me){switch(Me.parent.kind){case Bn.SyntaxKind.ForStatement:case Bn.SyntaxKind.ForInStatement:case Bn.SyntaxKind.ForOfStatement:case Bn.SyntaxKind.WhileStatement:case Bn.SyntaxKind.DoStatement:case Bn.SyntaxKind.IfStatement:case Bn.SyntaxKind.WithStatement:case Bn.SyntaxKind.LabeledStatement:return!0;default:return!1}}Me.isInSingleStatementContext=Pt;var ts;(function(Me){Me[Me.None=0]="None",Me[Me.Function=1]="Function",Me[Me.Block=2]="Block",Me[Me.Type=4]="Type",Me[Me.ConditionalType=8]="ConditionalType"})(ts=Me.ScopeBoundary||(Me.ScopeBoundary={}));var aa;(function(Me){Me[Me.Function=1]="Function",Me[Me.Block=3]="Block",Me[Me.Type=7]="Type",Me[Me.InferType=8]="InferType"})(aa=Me.ScopeBoundarySelector||(Me.ScopeBoundarySelector={}));function Ri(Me){return ua(Me)||Ka(Me)||la(Me)}Me.isScopeBoundary=Ri;function la(Me){switch(Me.kind){case Bn.SyntaxKind.InterfaceDeclaration:case Bn.SyntaxKind.TypeAliasDeclaration:case Bn.SyntaxKind.MappedType:return 4;case Bn.SyntaxKind.ConditionalType:return 8;default:return 0}}Me.isTypeScopeBoundary=la;function ua(Me){switch(Me.kind){case Bn.SyntaxKind.FunctionExpression:case Bn.SyntaxKind.ArrowFunction:case Bn.SyntaxKind.Constructor:case Bn.SyntaxKind.ModuleDeclaration:case Bn.SyntaxKind.ClassDeclaration:case Bn.SyntaxKind.ClassExpression:case Bn.SyntaxKind.EnumDeclaration:case Bn.SyntaxKind.MethodDeclaration:case Bn.SyntaxKind.FunctionDeclaration:case Bn.SyntaxKind.GetAccessor:case Bn.SyntaxKind.SetAccessor:case Bn.SyntaxKind.MethodSignature:case Bn.SyntaxKind.CallSignature:case Bn.SyntaxKind.ConstructSignature:case Bn.SyntaxKind.ConstructorType:case Bn.SyntaxKind.FunctionType:return 1;case Bn.SyntaxKind.SourceFile:return Bn.isExternalModule(Me)?1:0;default:return 0}}Me.isFunctionScopeBoundary=ua;function Ka(Me){switch(Me.kind){case Bn.SyntaxKind.Block:let Hn=Me.parent;return Hn.kind!==Bn.SyntaxKind.CatchClause&&(Hn.kind===Bn.SyntaxKind.SourceFile||!ua(Hn))?2:0;case Bn.SyntaxKind.ForStatement:case Bn.SyntaxKind.ForInStatement:case Bn.SyntaxKind.ForOfStatement:case Bn.SyntaxKind.CaseBlock:case Bn.SyntaxKind.CatchClause:case Bn.SyntaxKind.WithStatement:return 2;default:return 0}}Me.isBlockScopeBoundary=Ka;function co(Me){switch(Me.kind){case Bn.SyntaxKind.ClassDeclaration:case Bn.SyntaxKind.ClassExpression:case Bn.SyntaxKind.FunctionExpression:return!0;case Bn.SyntaxKind.FunctionDeclaration:return Me.body!==void 0;case Bn.SyntaxKind.MethodDeclaration:case Bn.SyntaxKind.GetAccessor:case Bn.SyntaxKind.SetAccessor:return Me.parent.kind===Bn.SyntaxKind.ObjectLiteralExpression;default:return!1}}Me.hasOwnThisReference=co;function be(Me){switch(Me.kind){case Bn.SyntaxKind.GetAccessor:case Bn.SyntaxKind.SetAccessor:case Bn.SyntaxKind.FunctionDeclaration:case Bn.SyntaxKind.MethodDeclaration:case Bn.SyntaxKind.Constructor:return Me.body!==void 0;case Bn.SyntaxKind.FunctionExpression:case Bn.SyntaxKind.ArrowFunction:return!0;default:return!1}}Me.isFunctionWithBody=be;function Ke(Me,Hn){let zn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Me.getSourceFile(),ni=[];for(;;){if(y(Me.kind))Hn(Me);else if(Me.kind!==Bn.SyntaxKind.JSDocComment){let Bn=Me.getChildren(zn);if(Bn.length===1){Me=Bn[0];continue}for(let Me=Bn.length-1;Me>=0;--Me)ni.push(Bn[Me])}if(ni.length===0)break;Me=ni.pop()}}Me.forEachToken=Ke;function Et(Me,Hn){let zn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Me.getSourceFile(),ni=zn.text,Ci=Bn.createScanner(zn.languageVersion,!1,zn.languageVariant,ni);return Ke(Me,(Me=>{let ts=Me.kind===Bn.SyntaxKind.JsxText||Me.pos===Me.end?Me.pos:Me.getStart(zn);if(ts!==Me.pos){Ci.setTextPos(Me.pos);let Bn=Ci.scan(),zn=Ci.getTokenPos();for(;zn2&&arguments[2]!==void 0?arguments[2]:Me.getSourceFile(),ni=zn.text,Ci=zn.languageVariant!==Bn.LanguageVariant.JSX;return Ke(Me,(Me=>{if(Me.pos!==Me.end&&(Me.kind!==Bn.SyntaxKind.JsxText&&Bn.forEachLeadingCommentRange(ni,Me.pos===0?(Bn.getShebang(ni)||"").length:Me.pos,ut),Ci||or(Me)))return Bn.forEachTrailingCommentRange(ni,Me.end,ut)}),zn);function ut(Me,Bn,zn){Hn(ni,{pos:Me,end:Bn,kind:zn})}}Me.forEachComment=Ft;function or(Me){switch(Me.kind){case Bn.SyntaxKind.CloseBraceToken:return Me.parent.kind!==Bn.SyntaxKind.JsxExpression||!Wr(Me.parent.parent);case Bn.SyntaxKind.GreaterThanToken:switch(Me.parent.kind){case Bn.SyntaxKind.JsxOpeningElement:return Me.end!==Me.parent.end;case Bn.SyntaxKind.JsxOpeningFragment:return!1;case Bn.SyntaxKind.JsxSelfClosingElement:return Me.end!==Me.parent.end||!Wr(Me.parent.parent);case Bn.SyntaxKind.JsxClosingElement:case Bn.SyntaxKind.JsxClosingFragment:return!Wr(Me.parent.parent.parent)}}return!0}function Wr(Me){return Me.kind===Bn.SyntaxKind.JsxElement||Me.kind===Bn.SyntaxKind.JsxFragment}function m_(Me){let Hn=Me.getLineStarts(),zn=[],ni=Hn.length,Ci=Me.text,ts=0;for(let Me=1;Mets&&Bn.isLineBreak(Ci.charCodeAt(Ps-1));--Ps);zn.push({pos:ts,end:ni,contentLength:Ps-ts}),ts=ni}return zn.push({pos:ts,end:Me.end,contentLength:Me.end-ts}),zn}Me.getLineRanges=m_;function Uc(Me){let Bn=Me.getLineStarts();return Bn.length===1||Bn[1]<2||Me.text[Bn[1]-2]!=="\r"?`\n`:`\r\n`}Me.getLineBreakStyle=Uc;var oa;function lo(Me,Hn){return oa===void 0?oa=Bn.createScanner(Hn,!1,void 0,Me):(oa.setScriptTarget(Hn),oa.setText(Me)),oa.scan(),oa}function zc(Me){let Hn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Bn.ScriptTarget.Latest,zn=lo(Me,Hn);return zn.isIdentifier()&&zn.getTextPos()===Me.length&&zn.getTokenPos()===0}Me.isValidIdentifier=zc;function Qn(Me){return Me>=65536?2:1}function uo(Me){let Hn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Bn.ScriptTarget.Latest;if(Me.length===0)return!1;let zn=Me.codePointAt(0);if(!Bn.isIdentifierStart(zn,Hn))return!1;for(let ni=Qn(zn);ni1&&arguments[1]!==void 0?arguments[1]:Bn.ScriptTarget.Latest;if(uo(Me,Hn))return!0;let zn=lo(Me,Hn);return zn.getTextPos()===Me.length&&zn.getToken()===Bn.SyntaxKind.NumericLiteral&&zn.getTokenValue()===Me}Me.isValidPropertyName=Wc;function Vc(Me){let Hn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Bn.ScriptTarget.Latest,zn=lo(Me,Hn);return zn.getToken()===Bn.SyntaxKind.NumericLiteral&&zn.getTextPos()===Me.length&&zn.getTokenPos()===0}Me.isValidNumericLiteral=Vc;function Hc(Me){let Hn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Bn.ScriptTarget.Latest;if(Me.length===0)return!1;let zn=!1,ni=Me.codePointAt(0);if(!Bn.isIdentifierStart(ni,Hn))return!1;for(let Ci=Qn(ni);Ci2&&arguments[2]!==void 0?arguments[2]:Me.getSourceFile();if(y_(Me)&&Me.kind!==Bn.SyntaxKind.EndOfFileToken){let Bn=Ns(Me,zn);if(Bn.length!==0||!Hn)return Bn}return pa(Me,Me.getStart(zn),zn,Hn)}Me.parseJsDocOfNode=Kc;function pa(Me,Hn,zn,ni){let Ci=Bn[ni&&h_(zn,Me.pos,Hn)?"forEachTrailingCommentRange":"forEachLeadingCommentRange"](zn.text,Me.pos,((Me,Hn,ni)=>ni===Bn.SyntaxKind.MultiLineCommentTrivia&&zn.text[Me+2]==="*"?{pos:Me}:void 0));if(Ci===void 0)return[];let ts=Ci.pos,Ps=zn.text.slice(ts,Hn),aa=Bn.createSourceFile("jsdoc.ts",`${Ps}var a;`,zn.languageVersion),oa=Ns(aa.statements[0],aa);for(let Bn of oa)ir(Bn,Me);return oa;function ir(Me,Hn){return Me.pos+=ts,Me.end+=ts,Me.parent=Hn,Bn.forEachChild(Me,(Bn=>ir(Bn,Me)),(Bn=>{Bn.pos+=ts,Bn.end+=ts;for(let Hn of Bn)ir(Hn,Me)}))}}var xa;(function(Me){Me[Me.ImportDeclaration=1]="ImportDeclaration",Me[Me.ImportEquals=2]="ImportEquals",Me[Me.ExportFrom=4]="ExportFrom",Me[Me.DynamicImport=8]="DynamicImport",Me[Me.Require=16]="Require",Me[Me.ImportType=32]="ImportType",Me[Me.All=63]="All",Me[Me.AllImports=59]="AllImports",Me[Me.AllStaticImports=3]="AllStaticImports",Me[Me.AllImportExpressions=24]="AllImportExpressions",Me[Me.AllRequireLike=18]="AllRequireLike",Me[Me.AllNestedImports=56]="AllNestedImports",Me[Me.AllTopLevelImports=7]="AllTopLevelImports"})(xa=Me.ImportKind||(Me.ImportKind={}));function fo(Me,zn){let ni=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,Ci=[];for(let Ci of v_(Me,zn,ni))switch(Ci.kind){case Bn.SyntaxKind.ImportDeclaration:rt(Ci.moduleSpecifier);break;case Bn.SyntaxKind.ImportEqualsDeclaration:rt(Ci.moduleReference.expression);break;case Bn.SyntaxKind.ExportDeclaration:rt(Ci.moduleSpecifier);break;case Bn.SyntaxKind.CallExpression:rt(Ci.arguments[0]);break;case Bn.SyntaxKind.ImportType:Hn.isLiteralTypeNode(Ci.argument)&&rt(Ci.argument.literal);break;default:throw new Error("unexpected node")}return Ci;function rt(Me){Hn.isTextualLiteral(Me)&&Ci.push(Me)}}Me.findImports=fo;function v_(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return new Ga(Me,Bn,Hn).find()}Me.findImportLikeNodes=v_;var Ga=class{constructor(Me,Bn,Hn){this._sourceFile=Me,this._options=Bn,this._ignoreFileName=Hn,this._result=[]}find(){return this._sourceFile.isDeclarationFile&&(this._options&=-25),this._options&7&&this._findImports(this._sourceFile.statements),this._options&56&&this._findNestedImports(),this._result}_findImports(Me){for(let zn of Me)Hn.isImportDeclaration(zn)?this._options&1&&this._result.push(zn):Hn.isImportEqualsDeclaration(zn)?this._options&2&&zn.moduleReference.kind===Bn.SyntaxKind.ExternalModuleReference&&this._result.push(zn):Hn.isExportDeclaration(zn)?zn.moduleSpecifier!==void 0&&this._options&4&&this._result.push(zn):Hn.isModuleDeclaration(zn)&&this._findImportsInModule(zn)}_findImportsInModule(Me){if(Me.body!==void 0){if(Me.body.kind===Bn.SyntaxKind.ModuleDeclaration)return this._findImportsInModule(Me.body);this._findImports(Me.body.statements)}}_findNestedImports(){let Me=this._ignoreFileName||(this._sourceFile.flags&Bn.NodeFlags.JavaScriptFile)!==0,Hn,zn;if((this._options&56)===16){if(!Me)return;Hn=/\brequire\s*[1&&this._result.push(Hn.parent)}}else Hn.kind===Bn.SyntaxKind.Identifier&&Hn.end-7===Me.index&&Hn.parent.kind===Bn.SyntaxKind.CallExpression&&Hn.parent.expression===Hn&&Hn.parent.arguments.length===1&&this._result.push(Hn.parent)}}};function Zn(Me){for(;Me.flags&Bn.NodeFlags.NestedNamespace;)Me=Me.parent;return q(Me.modifiers,Bn.SyntaxKind.DeclareKeyword)||Xa(Me.parent)}Me.isStatementInAmbientContext=Zn;function Xa(Me){for(;Me.kind===Bn.SyntaxKind.ModuleBlock;){do{Me=Me.parent}while(Me.flags&Bn.NodeFlags.NestedNamespace);if(q(Me.modifiers,Bn.SyntaxKind.DeclareKeyword))return!0;Me=Me.parent}return!1}Me.isAmbientModuleBlock=Xa;function Yc(Me){let zn=Me.parent;for(;zn.kind===Bn.SyntaxKind.ParenthesizedExpression;)zn=zn.parent;return Hn.isCallExpression(zn)&&Me.end<=zn.expression.end?zn:void 0}Me.getIIFE=Yc;function mo(Me,Bn){return(Me.strict?Me[Bn]!==!1:Me[Bn]===!0)&&(Bn!=="strictPropertyInitialization"||mo(Me,"strictNullChecks"))}Me.isStrictCompilerOptionEnabled=mo;function ei(Me,Hn){switch(Hn){case"stripInternal":case"declarationMap":case"emitDeclarationOnly":return Me[Hn]===!0&&ei(Me,"declaration");case"declaration":return Me.declaration||ei(Me,"composite");case"incremental":return Me.incremental===void 0?ei(Me,"composite"):Me.incremental;case"skipDefaultLibCheck":return Me.skipDefaultLibCheck||ei(Me,"skipLibCheck");case"suppressImplicitAnyIndexErrors":return Me.suppressImplicitAnyIndexErrors===!0&&ei(Me,"noImplicitAny");case"allowSyntheticDefaultImports":return Me.allowSyntheticDefaultImports!==void 0?Me.allowSyntheticDefaultImports:ei(Me,"esModuleInterop")||Me.module===Bn.ModuleKind.System;case"noUncheckedIndexedAccess":return Me.noUncheckedIndexedAccess===!0&&ei(Me,"strictNullChecks");case"allowJs":return Me.allowJs===void 0?ei(Me,"checkJs"):Me.allowJs;case"noImplicitAny":case"noImplicitThis":case"strictNullChecks":case"strictFunctionTypes":case"strictPropertyInitialization":case"alwaysStrict":case"strictBindCallApply":return mo(Me,Hn)}return Me[Hn]===!0}Me.isCompilerOptionEnabled=ei;function Ya(Me){return Me.name.kind===Bn.SyntaxKind.StringLiteral||(Me.flags&Bn.NodeFlags.GlobalAugmentation)!==0}Me.isAmbientModule=Ya;function b_(Me){return Qa(Me)}Me.getCheckJsDirective=b_;function Qa(Me){let Hn;return Bn.forEachLeadingCommentRange(Me,(Bn.getShebang(Me)||"").length,((zn,ni,Ci)=>{if(Ci===Bn.SyntaxKind.SingleLineCommentTrivia){let Bn=Me.slice(zn,ni),Ci=/^\/{2,3}\s*@ts-(no)?check(?:\s|$)/i.exec(Bn);Ci!==null&&(Hn={pos:zn,end:ni,enabled:Ci[1]===void 0})}})),Hn}Me.getTsCheckDirective=Qa;function Jr(Me){return Hn.isTypeReferenceNode(Me.type)&&Me.type.typeName.kind===Bn.SyntaxKind.Identifier&&Me.type.typeName.escapedText==="const"}Me.isConstAssertion=Jr;function Qc(Me){let Hn=Me;for(;;){let Me=Hn.parent;e:switch(Me.kind){case Bn.SyntaxKind.TypeAssertionExpression:case Bn.SyntaxKind.AsExpression:return Jr(Me);case Bn.SyntaxKind.PrefixUnaryExpression:if(Hn.kind!==Bn.SyntaxKind.NumericLiteral)return!1;switch(Me.operator){case Bn.SyntaxKind.PlusToken:case Bn.SyntaxKind.MinusToken:Hn=Me;break e;default:return!1}case Bn.SyntaxKind.PropertyAssignment:if(Me.initializer!==Hn)return!1;Hn=Me.parent;break;case Bn.SyntaxKind.ShorthandPropertyAssignment:Hn=Me.parent;break;case Bn.SyntaxKind.ParenthesizedExpression:case Bn.SyntaxKind.ArrayLiteralExpression:case Bn.SyntaxKind.ObjectLiteralExpression:case Bn.SyntaxKind.TemplateExpression:Hn=Me;break;default:return!1}}}Me.isInConstContext=Qc;function ho(Me,Bn){if(!T_(Me))return!1;let zn=Bn.getTypeAtLocation(Me.arguments[2]);if(zn.getProperty("value")===void 0)return zn.getProperty("set")===void 0;let Ci=zn.getProperty("writable");if(Ci===void 0)return!1;let ts=Ci.valueDeclaration!==void 0&&Hn.isPropertyAssignment(Ci.valueDeclaration)?Bn.getTypeAtLocation(Ci.valueDeclaration.initializer):Bn.getTypeOfSymbolAtLocation(Ci,Me.arguments[2]);return ni.isBooleanLiteralType(ts,!1)}Me.isReadonlyAssignmentDeclaration=ho;function T_(Me){return Me.arguments.length===3&&Hn.isEntityNameExpression(Me.arguments[0])&&Hn.isNumericOrStringLikeLiteral(Me.arguments[1])&&Hn.isPropertyAccessExpression(Me.expression)&&Me.expression.name.escapedText==="defineProperty"&&Hn.isIdentifier(Me.expression.expression)&&Me.expression.expression.escapedText==="Object"}Me.isBindableObjectDefinePropertyCall=T_;function go(Me){return Bn.isPropertyAccessExpression(Me)&&Bn.isIdentifier(Me.expression)&&Me.expression.escapedText==="Symbol"}Me.isWellKnownSymbolLiterally=go;function yo(Me){return{displayName:`[Symbol.${Me.name.text}]`,symbolName:"__@"+Me.name.text}}Me.getPropertyNameOfWellKnownSymbol=yo;var Ha=(Me=>{let[Bn,Hn]=Me;return Bn<"4"||Bn==="4"&&Hn<"3"})(Bn.versionMajorMinor.split("."));function vo(Me,Bn){let Hn={known:!0,names:[]};if(Me=Os(Me),Ha&&go(Me))Hn.names.push(yo(Me));else{let zn=Bn.getTypeAtLocation(Me);for(let Me of ni.unionTypeParts(Bn.getBaseConstraintOfType(zn)||zn)){let Bn=ni.getPropertyNameFromType(Me);Bn?Hn.names.push(Bn):Hn.known=!1}}return Hn}Me.getLateBoundPropertyNames=vo;function S_(Me,Hn){let zn=Ze(Me);return zn!==void 0?{known:!0,names:[{displayName:zn,symbolName:Bn.escapeLeadingUnderscores(zn)}]}:Me.kind===Bn.SyntaxKind.PrivateIdentifier?{known:!0,names:[{displayName:Me.text,symbolName:Hn.getSymbolAtLocation(Me).escapedName}]}:vo(Me.expression,Hn)}Me.getLateBoundPropertyNamesOfPropertyName=S_;function Zc(Me,Hn){let zn=Ze(Me);if(zn!==void 0)return{displayName:zn,symbolName:Bn.escapeLeadingUnderscores(zn)};if(Me.kind===Bn.SyntaxKind.PrivateIdentifier)return{displayName:Me.text,symbolName:Hn.getSymbolAtLocation(Me).escapedName};let{expression:Ci}=Me;return Ha&&go(Ci)?yo(Ci):ni.getPropertyNameFromType(Hn.getTypeAtLocation(Ci))}Me.getSingleLateBoundPropertyNameOfPropertyName=Zc;function Os(Me){for(;Me.kind===Bn.SyntaxKind.ParenthesizedExpression;)Me=Me.expression;return Me}Me.unwrapParentheses=Os;function bo(Me){return`${Me.negative?"-":""}${Me.base10Value}n`}Me.formatPseudoBigInt=bo;function el(zn,Ci){let ts=zn.caseBlock.clauses.filter(Hn.isCaseClause);if(ts.length===0)return!1;let Ps=ni.unionTypeParts(Ci.getTypeAtLocation(zn.expression));if(Ps.length>ts.length)return!1;let aa=new Set(Ps.map(x_));if(aa.has(void 0))return!1;let oa=new Set;for(let Hn of ts){let zn=Ci.getTypeAtLocation(Hn.expression);if(Me.isTypeFlagSet(zn,Bn.TypeFlags.Never))continue;let ni=x_(zn);if(aa.has(ni))oa.add(ni);else if(ni!=="null"&&ni!=="undefined")return!1}return aa.size===oa.size}Me.hasExhaustiveCaseClauses=el;function x_(Hn){if(Me.isTypeFlagSet(Hn,Bn.TypeFlags.Null))return"null";if(Me.isTypeFlagSet(Hn,Bn.TypeFlags.Undefined))return"undefined";if(Me.isTypeFlagSet(Hn,Bn.TypeFlags.NumberLiteral))return`${Me.isTypeFlagSet(Hn,Bn.TypeFlags.EnumLiteral)?"enum:":""}${Hn.value}`;if(Me.isTypeFlagSet(Hn,Bn.TypeFlags.StringLiteral))return`${Me.isTypeFlagSet(Hn,Bn.TypeFlags.EnumLiteral)?"enum:":""}string:${Hn.value}`;if(Me.isTypeFlagSet(Hn,Bn.TypeFlags.BigIntLiteral))return bo(Hn.value);if(zn.isUniqueESSymbolType(Hn))return Hn.escapedName;if(ni.isBooleanLiteralType(Hn,!0))return"true";if(ni.isBooleanLiteralType(Hn,!1))return"false"}function E_(Me){var Hn;if(((Hn=Me.heritageClauses)===null||Hn===void 0?void 0:Hn[0].token)===Bn.SyntaxKind.ExtendsKeyword)return Me.heritageClauses[0].types[0]}Me.getBaseOfClassLikeExpression=E_}}),vv=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/convert-comments.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn};Object.defineProperty(Me,"__esModule",{value:!0}),Me.convertComments=void 0;var ni=Av(),Ci=zn(Kf()),ts=Wg(),aa=Yg();function C(Me,Bn){let Hn=[];return(0,ni.forEachComment)(Me,((zn,ni)=>{let Ps=ni.kind===Ci.SyntaxKind.SingleLineCommentTrivia?aa.AST_TOKEN_TYPES.Line:aa.AST_TOKEN_TYPES.Block,oa=[ni.pos,ni.end],ca=(0,ts.getLocFor)(oa[0],oa[1],Me),_a=oa[0]+2,xa=ni.kind===Ci.SyntaxKind.SingleLineCommentTrivia?oa[1]-_a:oa[1]-_a-2;Hn.push({type:Ps,value:Bn.slice(_a,_a+xa),range:oa,loc:ca})}),Me),Hn}Me.convertComments=C}}),Ev=Oe({"node_modules/eslint-visitor-keys/dist/eslint-visitor-keys.cjs"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0});var Bn={AssignmentExpression:["left","right"],AssignmentPattern:["left","right"],ArrayExpression:["elements"],ArrayPattern:["elements"],ArrowFunctionExpression:["params","body"],AwaitExpression:["argument"],BlockStatement:["body"],BinaryExpression:["left","right"],BreakStatement:["label"],CallExpression:["callee","arguments"],CatchClause:["param","body"],ChainExpression:["expression"],ClassBody:["body"],ClassDeclaration:["id","superClass","body"],ClassExpression:["id","superClass","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExportAllDeclaration:["exported","source"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source"],ExportSpecifier:["exported","local"],ExpressionStatement:["expression"],ExperimentalRestProperty:["argument"],ExperimentalSpreadProperty:["argument"],ForStatement:["init","test","update","body"],ForInStatement:["left","right","body"],ForOfStatement:["left","right","body"],FunctionDeclaration:["id","params","body"],FunctionExpression:["id","params","body"],Identifier:[],IfStatement:["test","consequent","alternate"],ImportDeclaration:["specifiers","source"],ImportDefaultSpecifier:["local"],ImportExpression:["source"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","attributes"],JSXSpreadAttribute:["argument"],JSXText:[],JSXFragment:["openingFragment","children","closingFragment"],JSXClosingFragment:[],JSXOpeningFragment:[],Literal:[],LabeledStatement:["label","body"],LogicalExpression:["left","right"],MemberExpression:["object","property"],MetaProperty:["meta","property"],MethodDefinition:["key","value"],NewExpression:["callee","arguments"],ObjectExpression:["properties"],ObjectPattern:["properties"],PrivateIdentifier:[],Program:["body"],Property:["key","value"],PropertyDefinition:["key","value"],RestElement:["argument"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SpreadElement:["argument"],StaticBlock:["body"],Super:[],SwitchStatement:["discriminant","cases"],SwitchCase:["test","consequent"],TaggedTemplateExpression:["tag","quasi"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"]},Hn=Object.keys(Bn);for(let Me of Hn)Object.freeze(Bn[Me]);Object.freeze(Bn);var zn=new Set(["parent","leadingComments","trailingComments"]);function D(Me){return!zn.has(Me)&&Me[0]!=="_"}function P(Me){return Object.keys(Me).filter(D)}function y(Me){let Hn=Object.assign({},Bn);for(let Bn of Object.keys(Me))if(Object.prototype.hasOwnProperty.call(Hn,Bn)){let zn=new Set(Me[Bn]);for(let Me of Hn[Bn])zn.add(Me);Hn[Bn]=Object.freeze(Array.from(zn))}else Hn[Bn]=Object.freeze(Array.from(Me[Bn]));return Object.freeze(Hn)}Me.KEYS=Bn,Me.getKeys=P,Me.unionWith=y}}),bv=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/visitor-keys/dist/get-keys.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.getKeys=void 0;var Bn=Ev(),Hn=Bn.getKeys;Me.getKeys=Hn}}),Cv=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn};Object.defineProperty(Me,"__esModule",{value:!0}),Me.visitorKeys=void 0;var ni=zn(Ev()),Ci=(()=>{let Me=["typeParameters","params","returnType"],Bn=[...Me,"body"],Hn=["decorators","key","typeAnnotation"];return{AnonymousFunction:Bn,Function:["id",...Bn],FunctionType:Me,ClassDeclaration:["decorators","id","typeParameters","superClass","superTypeParameters","implements","body"],AbstractPropertyDefinition:["decorators","key","typeAnnotation"],PropertyDefinition:[...Hn,"value"],TypeAssertion:["expression","typeAnnotation"]}})(),ts={AccessorProperty:Ci.PropertyDefinition,ArrayPattern:["decorators","elements","typeAnnotation"],ArrowFunctionExpression:Ci.AnonymousFunction,AssignmentPattern:["decorators","left","right","typeAnnotation"],CallExpression:["callee","typeParameters","arguments"],ClassDeclaration:Ci.ClassDeclaration,ClassExpression:Ci.ClassDeclaration,Decorator:["expression"],ExportAllDeclaration:["exported","source","assertions"],ExportNamedDeclaration:["declaration","specifiers","source","assertions"],FunctionDeclaration:Ci.Function,FunctionExpression:Ci.Function,Identifier:["decorators","typeAnnotation"],ImportAttribute:["key","value"],ImportDeclaration:["specifiers","source","assertions"],ImportExpression:["source","attributes"],JSXClosingFragment:[],JSXOpeningElement:["name","typeParameters","attributes"],JSXOpeningFragment:[],JSXSpreadChild:["expression"],MethodDefinition:["decorators","key","value","typeParameters"],NewExpression:["callee","typeParameters","arguments"],ObjectPattern:["decorators","properties","typeAnnotation"],PropertyDefinition:Ci.PropertyDefinition,RestElement:["decorators","argument","typeAnnotation"],StaticBlock:["body"],TaggedTemplateExpression:["tag","typeParameters","quasi"],TSAbstractAccessorProperty:Ci.AbstractPropertyDefinition,TSAbstractKeyword:[],TSAbstractMethodDefinition:["key","value"],TSAbstractPropertyDefinition:Ci.AbstractPropertyDefinition,TSAnyKeyword:[],TSArrayType:["elementType"],TSAsExpression:Ci.TypeAssertion,TSAsyncKeyword:[],TSBigIntKeyword:[],TSBooleanKeyword:[],TSCallSignatureDeclaration:Ci.FunctionType,TSClassImplements:["expression","typeParameters"],TSConditionalType:["checkType","extendsType","trueType","falseType"],TSConstructorType:Ci.FunctionType,TSConstructSignatureDeclaration:Ci.FunctionType,TSDeclareFunction:Ci.Function,TSDeclareKeyword:[],TSEmptyBodyFunctionExpression:["id",...Ci.FunctionType],TSEnumDeclaration:["id","members"],TSEnumMember:["id","initializer"],TSExportAssignment:["expression"],TSExportKeyword:[],TSExternalModuleReference:["expression"],TSFunctionType:Ci.FunctionType,TSImportEqualsDeclaration:["id","moduleReference"],TSImportType:["parameter","qualifier","typeParameters"],TSIndexedAccessType:["indexType","objectType"],TSIndexSignature:["parameters","typeAnnotation"],TSInferType:["typeParameter"],TSInstantiationExpression:["expression","typeParameters"],TSInterfaceBody:["body"],TSInterfaceDeclaration:["id","typeParameters","extends","body"],TSInterfaceHeritage:["expression","typeParameters"],TSIntersectionType:["types"],TSIntrinsicKeyword:[],TSLiteralType:["literal"],TSMappedType:["nameType","typeParameter","typeAnnotation"],TSMethodSignature:["typeParameters","key","params","returnType"],TSModuleBlock:["body"],TSModuleDeclaration:["id","body"],TSNamedTupleMember:["label","elementType"],TSNamespaceExportDeclaration:["id"],TSNeverKeyword:[],TSNonNullExpression:["expression"],TSNullKeyword:[],TSNumberKeyword:[],TSObjectKeyword:[],TSOptionalType:["typeAnnotation"],TSParameterProperty:["decorators","parameter"],TSPrivateKeyword:[],TSPropertySignature:["typeAnnotation","key","initializer"],TSProtectedKeyword:[],TSPublicKeyword:[],TSQualifiedName:["left","right"],TSReadonlyKeyword:[],TSRestType:["typeAnnotation"],TSSatisfiesExpression:["typeAnnotation","expression"],TSStaticKeyword:[],TSStringKeyword:[],TSSymbolKeyword:[],TSTemplateLiteralType:["quasis","types"],TSThisType:[],TSTupleType:["elementTypes"],TSTypeAliasDeclaration:["id","typeParameters","typeAnnotation"],TSTypeAnnotation:["typeAnnotation"],TSTypeAssertion:Ci.TypeAssertion,TSTypeLiteral:["members"],TSTypeOperator:["typeAnnotation"],TSTypeParameter:["name","constraint","default"],TSTypeParameterDeclaration:["params"],TSTypeParameterInstantiation:["params"],TSTypePredicate:["typeAnnotation","parameterName"],TSTypeQuery:["exprName","typeParameters"],TSTypeReference:["typeName","typeParameters"],TSUndefinedKeyword:[],TSUnionType:["types"],TSUnknownKeyword:[],TSVoidKeyword:[]},aa=ni.unionWith(ts);Me.visitorKeys=aa}}),wv=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/visitor-keys/dist/index.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.visitorKeys=Me.getKeys=void 0;var Bn=bv();Object.defineProperty(Me,"getKeys",{enumerable:!0,get:function(){return Bn.getKeys}});var Hn=Cv();Object.defineProperty(Me,"visitorKeys",{enumerable:!0,get:function(){return Hn.visitorKeys}})}}),Sv=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.simpleTraverse=void 0;var Bn=wv();function v(Me){return Me!=null&&typeof Me=="object"&&typeof Me.type=="string"}function h(Me,Bn){let Hn=Me[Bn.type];return Hn!=null?Hn:[]}var Hn=class{constructor(Me){let Hn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.allVisitorKeys=Bn.visitorKeys,this.selectors=Me,this.setParentPointers=Hn}traverse(Me,Bn){if(!v(Me))return;this.setParentPointers&&(Me.parent=Bn),"enter"in this.selectors?this.selectors.enter(Me,Bn):Me.type in this.selectors&&this.selectors[Me.type](Me,Bn);let Hn=h(this.allVisitorKeys,Me);if(!(Hn.length<1))for(let Bn of Hn){let Hn=Me[Bn];if(Array.isArray(Hn))for(let Bn of Hn)this.traverse(Bn,Me);else this.traverse(Hn,Me)}}};function P(Me,Bn){let zn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;new Hn(Bn,zn).traverse(Me,void 0)}Me.simpleTraverse=P}}),Iv=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/ast-converter.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.astConverter=void 0;var Bn=Kg(),Hn=vv(),zn=Wg(),ni=Sv();function P(Me,Ci,ts){let{parseDiagnostics:Ps}=Me;if(Ps.length)throw(0,Bn.convertError)(Ps[0]);let aa=new Bn.Converter(Me,{errorOnUnknownASTType:Ci.errorOnUnknownASTType||!1,shouldPreserveNodeMaps:ts}),oa=aa.convertProgram();(!Ci.range||!Ci.loc)&&(0,ni.simpleTraverse)(oa,{enter:Me=>{Ci.range||delete Me.range,Ci.loc||delete Me.loc}}),Ci.tokens&&(oa.tokens=(0,zn.convertTokens)(Me)),Ci.comment&&(oa.comments=(0,Hn.convertComments)(Me,Ci.code));let ca=aa.getASTMaps();return{estree:oa,astMaps:ca}}Me.astConverter=P}}),xv={};m1(xv,{basename:()=>o5,default:()=>Nv,delimiter:()=>Fv,dirname:()=>s5,extname:()=>_5,isAbsolute:()=>mT,join:()=>i5,normalize:()=>dT,relative:()=>a5,resolve:()=>d1,sep:()=>Tv});function n5(Me,Bn){for(var Hn=0,zn=Me.length-1;zn>=0;zn--){var ni=Me[zn];ni==="."?Me.splice(zn,1):ni===".."?(Me.splice(zn,1),Hn++):Hn&&(Me.splice(zn,1),Hn--)}if(Bn)for(;Hn--;Hn)Me.unshift("..");return Me}function d1(){for(var Me="",Bn=!1,Hn=arguments.length-1;Hn>=-1&&!Bn;Hn--){var zn=Hn>=0?arguments[Hn]:"/";if(typeof zn!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!zn)continue;Me=zn+"/"+Me,Bn=zn.charAt(0)==="/"}return Me=n5(hT(Me.split("/"),(function(Me){return!!Me})),!Bn).join("/"),(Bn?"/":"")+Me||"."}function dT(Me){var Bn=mT(Me),Hn=Ov(Me,-1)==="/";return Me=n5(hT(Me.split("/"),(function(Me){return!!Me})),!Bn).join("/"),!Me&&!Bn&&(Me="."),Me&&Hn&&(Me+="/"),(Bn?"/":"")+Me}function mT(Me){return Me.charAt(0)==="/"}function i5(){var Me=Array.prototype.slice.call(arguments,0);return dT(hT(Me,(function(Me,Bn){if(typeof Me!="string")throw new TypeError("Arguments to path.join must be strings");return Me})).join("/"))}function a5(Me,Bn){Me=d1(Me).substr(1),Bn=d1(Bn).substr(1);function v(Me){for(var Bn=0;Bn=0&&Me[Hn]==="";Hn--);return Bn>Hn?[]:Me.slice(Bn,Hn-Bn+1)}for(var Hn=v(Me.split("/")),zn=v(Bn.split("/")),ni=Math.min(Hn.length,zn.length),Ci=ni,ts=0;tsMe:Me=>Me.toLowerCase();function c(Me){let Bn=Ci.default.normalize(Me);return Bn.endsWith(Ci.default.sep)&&(Bn=Bn.slice(0,-1)),_a(Bn)}Me.getCanonicalFileName=c;function M(Me,Bn){return Ci.default.isAbsolute(Me)?Me:Ci.default.join(Bn||"/prettier-security-dirname-placeholder",Me)}Me.ensureAbsolutePath=M;function q(Me){return Ci.default.dirname(Me)}Me.canonicalDirname=q;var xa=[ts.Extension.Dts,ts.Extension.Dcts,ts.Extension.Dmts];function K(Me){var Bn;return Me?(Bn=xa.find((Bn=>Me.endsWith(Bn))))!==null&&Bn!==void 0?Bn:Ci.default.extname(Me):null}function ce(Me,Bn){let Hn=Me.getSourceFile(Bn.filePath),zn=K(Bn.filePath),ni=K(Hn==null?void 0:Hn.fileName);if(zn===ni)return Hn&&{ast:Hn,program:Me}}Me.getAstFromProgram=ce;function Ie(Me){let Bn;try{throw new Error("Dynamic require is not supported")}catch{let Me=["Could not find the provided parserOptions.moduleResolver.","Hint: use an absolute path if you are not in control over where the ESLint instance runs."];throw new Error(Me.join(`\n`))}return Bn}Me.getModuleResolver=Ie;function me(Me){var Bn;return!((Bn=ts.sys)===null||Bn===void 0)&&Bn.createHash?ts.sys.createHash(Me):Me}Me.createHash=me}}),tC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/createDefaultProgram.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn},ni=Me&&Me.__importDefault||function(Me){return Me&&Me.__esModule?Me:{default:Me}};Object.defineProperty(Me,"__esModule",{value:!0}),Me.createDefaultProgram=void 0;var Ci=ni(Ad()),ts=ni(OE()),aa=zn(Kf()),oa=eC(),ca=(0,Ci.default)("typescript-eslint:typescript-estree:createDefaultProgram");function E(Me){var Bn;if(ca("Getting default program for: %s",Me.filePath||"unnamed file"),((Bn=Me.projects)===null||Bn===void 0?void 0:Bn.length)!==1)return;let Hn=Me.projects[0],zn=aa.getParsedCommandLineOfConfigFile(Hn,(0,oa.createDefaultCompilerOptionsFromExtra)(Me),Object.assign(Object.assign({},aa.sys),{onUnRecoverableConfigFileDiagnostic:()=>{}}));if(!zn)return;let ni=aa.createCompilerHost(zn.options,!0);Me.moduleResolver&&(ni.resolveModuleNames=(0,oa.getModuleResolver)(Me.moduleResolver).resolveModuleNames);let Ci=ni.readFile;ni.readFile=Bn=>ts.default.normalize(Bn)===ts.default.normalize(Me.filePath)?Me.code:Ci(Bn);let Ps=aa.createProgram([Me.filePath],zn.options,ni),_a=Ps.getSourceFile(Me.filePath);return _a&&{ast:_a,program:Ps}}Me.createDefaultProgram=E}}),rC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/getScriptKind.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn},ni=Me&&Me.__importDefault||function(Me){return Me&&Me.__esModule?Me:{default:Me}};Object.defineProperty(Me,"__esModule",{value:!0}),Me.getLanguageVariant=Me.getScriptKind=void 0;var Ci=ni(OE()),ts=zn(Kf());function m(Me,Bn){switch(Ci.default.extname(Me).toLowerCase()){case ts.Extension.Js:case ts.Extension.Cjs:case ts.Extension.Mjs:return ts.ScriptKind.JS;case ts.Extension.Jsx:return ts.ScriptKind.JSX;case ts.Extension.Ts:case ts.Extension.Cts:case ts.Extension.Mts:return ts.ScriptKind.TS;case ts.Extension.Tsx:return ts.ScriptKind.TSX;case ts.Extension.Json:return ts.ScriptKind.JSON;default:return Bn?ts.ScriptKind.TSX:ts.ScriptKind.TS}}Me.getScriptKind=m;function C(Me){switch(Me){case ts.ScriptKind.TSX:case ts.ScriptKind.JSX:case ts.ScriptKind.JS:case ts.ScriptKind.JSON:return ts.LanguageVariant.JSX;default:return ts.LanguageVariant.Standard}}Me.getLanguageVariant=C}}),nC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/createIsolatedProgram.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn},ni=Me&&Me.__importDefault||function(Me){return Me&&Me.__esModule?Me:{default:Me}};Object.defineProperty(Me,"__esModule",{value:!0}),Me.createIsolatedProgram=void 0;var Ci=ni(Ad()),ts=zn(Kf()),aa=rC(),oa=eC(),ca=(0,Ci.default)("typescript-eslint:typescript-estree:createIsolatedProgram");function E(Me){ca("Getting isolated program in %s mode for: %s",Me.jsx?"TSX":"TS",Me.filePath);let Bn={fileExists(){return!0},getCanonicalFileName(){return Me.filePath},getCurrentDirectory(){return""},getDirectories(){return[]},getDefaultLibFileName(){return"lib.d.ts"},getNewLine(){return`\n`},getSourceFile(Bn){return ts.createSourceFile(Bn,Me.code,ts.ScriptTarget.Latest,!0,(0,aa.getScriptKind)(Me.filePath,Me.jsx))},readFile(){},useCaseSensitiveFileNames(){return!0},writeFile(){return null}},Hn=ts.createProgram([Me.filePath],Object.assign({noResolve:!0,target:ts.ScriptTarget.Latest,jsx:Me.jsx?ts.JsxEmit.Preserve:void 0},(0,oa.createDefaultCompilerOptionsFromExtra)(Me)),Bn),zn=Hn.getSourceFile(Me.filePath);if(!zn)throw new Error("Expected an ast to be returned for the single-file isolated program.");return{ast:zn,program:Hn}}Me.createIsolatedProgram=E}}),iC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/describeFilePath.js"(Me){"use strict";Ps();var Bn=Me&&Me.__importDefault||function(Me){return Me&&Me.__esModule?Me:{default:Me}};Object.defineProperty(Me,"__esModule",{value:!0}),Me.describeFilePath=void 0;var Hn=Bn(OE());function h(Me,Bn){let zn=Hn.default.relative(Bn,Me);return zn&&!zn.startsWith("..")&&!Hn.default.isAbsolute(zn)?`/${zn}`:/^[(\w+:)\\/~]/.test(Me)||/\.\.[/\\]\.\./.test(zn)?Me:`/${zn}`}Me.describeFilePath=h}}),sC={};m1(sC,{default:()=>aC});var aC,oC=yp({"node-modules-polyfills:fs"(){Ps(),aC={}}}),uC=Oe({"node-modules-polyfills-commonjs:fs"(Me,Bn){Ps();var Hn=(oC(),Li(sC));if(Hn&&Hn.default){Bn.exports=Hn.default;for(let Me in Hn)Bn.exports[Me]=Hn[Me]}else Hn&&(Bn.exports=Hn)}}),cC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/getWatchProgramsForProjects.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn},ni=Me&&Me.__importDefault||function(Me){return Me&&Me.__esModule?Me:{default:Me}};Object.defineProperty(Me,"__esModule",{value:!0}),Me.getWatchProgramsForProjects=Me.clearWatchCaches=void 0;var Ci=ni(Ad()),aa=ni(uC()),oa=ni(Og()),ca=zn(Kf()),_a=eC(),xa=(0,Ci.default)("typescript-eslint:typescript-estree:createWatchProgram"),Ga=new Map,Ha=new Map,so=new Map,oo=new Map,Jo=new Map,tc=new Map;function ce(){Ga.clear(),Ha.clear(),so.clear(),tc.clear(),oo.clear(),Jo.clear()}Me.clearWatchCaches=ce;function Ie(Me){return(Bn,Hn)=>{let zn=(0,_a.getCanonicalFileName)(Bn),ni=(()=>{let Bn=Me.get(zn);return Bn||(Bn=new Set,Me.set(zn,Bn)),Bn})();return ni.add(Hn),{close:()=>{ni.delete(Hn)}}}}var dc={code:"",filePath:""};function Ae(Me){throw new Error(ca.flattenDiagnosticMessageText(Me.messageText,ca.sys.newLine))}function te(Me,Bn,Hn){let zn=Hn.EXPERIMENTAL_useSourceOfProjectReferenceRedirect?new Set(Bn.getSourceFiles().map((Me=>(0,_a.getCanonicalFileName)(Me.fileName)))):new Set(Bn.getRootFileNames().map((Me=>(0,_a.getCanonicalFileName)(Me))));return oo.set(Me,zn),zn}function he(Me){let Bn=(0,_a.getCanonicalFileName)(Me.filePath),Hn=[];dc.code=Me.code,dc.filePath=Bn;let zn=Ha.get(Bn),ni=(0,_a.createHash)(Me.code);tc.get(Bn)!==ni&&zn&&zn.size>0&&zn.forEach((Me=>Me(Bn,ca.FileWatcherEventKind.Changed)));let Ci=new Set(Me.projects);for(let[Hn,zn]of Ga.entries()){if(!Ci.has(Hn))continue;let ni=oo.get(Hn),ts=null;if(ni||(ts=zn.getProgram().getProgram(),ni=te(Hn,ts,Me)),ni.has(Bn))return xa("Found existing program for file. %s",Bn),ts=ts!=null?ts:zn.getProgram().getProgram(),ts.getTypeChecker(),[ts]}xa("File did not belong to any existing programs, moving to create/update. %s",Bn);for(let zn of Me.projects){let ni=Ga.get(zn);if(ni){let Ci=ke(ni,Bn,zn);if(!Ci)continue;if(Ci.getTypeChecker(),te(zn,Ci,Me).has(Bn))return xa("Found updated program for file. %s",Bn),[Ci];Hn.push(Ci);continue}let Ci=R(zn,Me);Ga.set(zn,Ci);let ts=Ci.getProgram().getProgram();if(ts.getTypeChecker(),te(zn,ts,Me).has(Bn))return xa("Found program for file. %s",Bn),[ts];Hn.push(ts)}return Hn}Me.getWatchProgramsForProjects=he;var Fc=oa.default.satisfies(ca.version,">=3.9.0-beta",{includePrerelease:!0});function R(Me,Bn){xa("Creating watch program for %s.",Me);let Hn=ca.createWatchCompilerHost(Me,(0,_a.createDefaultCompilerOptionsFromExtra)(Bn),ca.sys,ca.createAbstractBuilder,Ae,(()=>{}));Bn.moduleResolver&&(Hn.resolveModuleNames=(0,_a.getModuleResolver)(Bn.moduleResolver).resolveModuleNames);let zn=Hn.readFile;Hn.readFile=(Me,Bn)=>{let Hn=(0,_a.getCanonicalFileName)(Me),ni=Hn===dc.filePath?dc.code:zn(Hn,Bn);return ni!==void 0&&tc.set(Hn,(0,_a.createHash)(ni)),ni},Hn.onUnRecoverableConfigFileDiagnostic=Ae,Hn.afterProgramCreate=Me=>{let Bn=Me.getConfigFileParsingDiagnostics().filter((Me=>Me.category===ca.DiagnosticCategory.Error&&Me.code!==18003));Bn.length>0&&Ae(Bn[0])},Hn.watchFile=Ie(Ha),Hn.watchDirectory=Ie(so);let ni=Hn.onCachedDirectoryStructureHostCreate;Hn.onCachedDirectoryStructureHostCreate=Me=>{let Hn=Me.readDirectory;Me.readDirectory=(Me,zn,ni,Ci,ts)=>Hn(Me,zn?zn.concat(Bn.extraFileExtensions):void 0,ni,Ci,ts),ni(Me)},Hn.extraFileExtensions=Bn.extraFileExtensions.map((Me=>({extension:Me,isMixedContent:!0,scriptKind:ca.ScriptKind.Deferred}))),Hn.trace=xa,Hn.useSourceOfProjectReferenceRedirect=()=>Bn.EXPERIMENTAL_useSourceOfProjectReferenceRedirect;let Ci;Fc?(Hn.setTimeout=void 0,Hn.clearTimeout=void 0):(xa("Running without timeout fix"),Hn.setTimeout=function(Me,Bn){for(var Hn=arguments.length,zn=new Array(Hn>2?Hn-2:0),ni=2;ni{Ci=void 0});let ts=ca.createWatchProgram(Hn);if(!Fc){let Me=ts.getProgram;ts.getProgram=()=>(Ci&&Ci(),Ci=void 0,Me.call(ts))}return ts}function pe(Me){let Bn=aa.default.statSync(Me).mtimeMs,Hn=Jo.get(Me);return Jo.set(Me,Bn),Hn===void 0?!1:Math.abs(Hn-Bn)>Number.EPSILON}function ke(Me,Bn,Hn){let zn=Me.getProgram().getProgram();if(ts.env.TSESTREE_NO_INVALIDATION==="true")return zn;pe(Hn)&&(xa("tsconfig has changed - triggering program update. %s",Hn),Ha.get(Hn).forEach((Me=>Me(Hn,ca.FileWatcherEventKind.Changed))),oo.delete(Hn));let ni=zn.getSourceFile(Bn);if(ni)return zn;xa("File was not found in program - triggering folder update. %s",Bn);let Ci=(0,_a.canonicalDirname)(Bn),Ps=null,oa=Ci,Ga=!1;for(;Ps!==oa;){Ps=oa;let Me=so.get(Ps);Me&&(Me.forEach((Me=>{Ci!==Ps&&Me(Ci,ca.FileWatcherEventKind.Changed),Me(Ps,ca.FileWatcherEventKind.Changed)})),Ga=!0),oa=(0,_a.canonicalDirname)(Ps)}if(!Ga)return xa("No callback found for file, not part of this program. %s",Bn),null;if(oo.delete(Hn),zn=Me.getProgram().getProgram(),ni=zn.getSourceFile(Bn),ni)return zn;xa("File was still not found in program after directory update - checking file deletions. %s",Bn);let Jo=zn.getRootFileNames().find((Me=>!aa.default.existsSync(Me)));if(!Jo)return null;let tc=Ha.get((0,_a.getCanonicalFileName)(Jo));return tc?(xa("Marking file as deleted. %s",Jo),tc.forEach((Me=>Me(Jo,ca.FileWatcherEventKind.Deleted))),oo.delete(Hn),zn=Me.getProgram().getProgram(),ni=zn.getSourceFile(Bn),ni?zn:(xa("File was still not found in program after deletion check, assuming it is not part of this program. %s",Bn),null)):(xa("Could not find watch callbacks for root file. %s",Jo),zn)}}}),lC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn},ni=Me&&Me.__importDefault||function(Me){return Me&&Me.__esModule?Me:{default:Me}};Object.defineProperty(Me,"__esModule",{value:!0}),Me.createProjectProgram=void 0;var Ci=ni(Ad()),ts=ni(OE()),aa=zn(Kf()),oa=Wg(),ca=iC(),_a=cC(),xa=eC(),Ga=(0,Ci.default)("typescript-eslint:typescript-estree:createProjectProgram"),Ha=[aa.Extension.Ts,aa.Extension.Tsx,aa.Extension.Js,aa.Extension.Jsx,aa.Extension.Mjs,aa.Extension.Mts,aa.Extension.Cjs,aa.Extension.Cts];function q(Me){Ga("Creating project program for: %s",Me.filePath);let Bn=(0,_a.getWatchProgramsForProjects)(Me),Hn=(0,oa.firstDefined)(Bn,(Bn=>(0,xa.getAstFromProgram)(Bn,Me)));if(Hn||Me.createDefaultProgram)return Hn;let Ie=Bn=>(0,ca.describeFilePath)(Bn,Me.tsconfigRootDir),zn=(0,ca.describeFilePath)(Me.filePath,Me.tsconfigRootDir),ni=Me.projects.map(Ie),Ci=ni.length===1?ni[0]:`\n${ni.map((Me=>`- ${Me}`)).join(`\n`)}`,Ps=[`ESLint was configured to run on \`${zn}\` using \`parserOptions.project\`: ${Ci}`],aa=!1,so=Me.extraFileExtensions||[];so.forEach((Me=>{Me.startsWith(".")||Ps.push(`Found unexpected extension \`${Me}\` specified with the \`parserOptions.extraFileExtensions\` option. Did you mean \`.${Me}\`?`),Ha.includes(Me)&&Ps.push(`You unnecessarily included the extension \`${Me}\` with the \`parserOptions.extraFileExtensions\` option. This extension is already handled by the parser by default.`)}));let oo=ts.default.extname(Me.filePath);if(!Ha.includes(oo)){let Me=`The extension for the file (\`${oo}\`) is non-standard`;so.length>0?so.includes(oo)||(Ps.push(`${Me}. It should be added to your existing \`parserOptions.extraFileExtensions\`.`),aa=!0):(Ps.push(`${Me}. You should add \`parserOptions.extraFileExtensions\` to your config.`),aa=!0)}if(!aa){let[Bn,Hn]=Me.projects.length===1?["that TSConfig does not","that TSConfig"]:["none of those TSConfigs","one of those TSConfigs"];Ps.push(`However, ${Bn} include this file. Either:`,"- Change ESLint's list of included files to not include this file",`- Change ${Hn} to include this file`,"- Create a new TSConfig that includes this file and include it in your parserOptions.project","See the typescript-eslint docs for more info: https://typescript-eslint.io/linting/troubleshooting#i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file")}throw new Error(Ps.join(`\n`))}Me.createProjectProgram=q}}),pC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/createSourceFile.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn},ni=Me&&Me.__importDefault||function(Me){return Me&&Me.__esModule?Me:{default:Me}};Object.defineProperty(Me,"__esModule",{value:!0}),Me.createSourceFile=void 0;var Ci=ni(Ad()),ts=zn(Kf()),aa=rC(),oa=(0,Ci.default)("typescript-eslint:typescript-estree:createSourceFile");function d(Me){return oa("Getting AST without type information in %s mode for: %s",Me.jsx?"TSX":"TS",Me.filePath),ts.createSourceFile(Me.filePath,Me.code,ts.ScriptTarget.Latest,!0,(0,aa.getScriptKind)(Me.filePath,Me.jsx))}Me.createSourceFile=d}}),fC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/useProvidedPrograms.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn},ni=Me&&Me.__importDefault||function(Me){return Me&&Me.__esModule?Me:{default:Me}};Object.defineProperty(Me,"__esModule",{value:!0}),Me.createProgramFromConfigFile=Me.useProvidedPrograms=void 0;var Ci=ni(Ad()),aa=zn(uC()),oa=zn(OE()),ca=zn(Kf()),_a=eC(),xa=(0,Ci.default)("typescript-eslint:typescript-estree:useProvidedProgram");function I(Me,Bn){xa("Retrieving ast for %s from provided program instance(s)",Bn.filePath);let Hn;for(let zn of Me)if(Hn=(0,_a.getAstFromProgram)(zn,Bn),Hn)break;if(!Hn){let Me=['"parserOptions.programs" has been provided for @typescript-eslint/parser.',`The file was not found in any of the provided program instance(s): ${oa.relative(Bn.tsconfigRootDir||"/prettier-security-dirname-placeholder",Bn.filePath)}`];throw new Error(Me.join(`\n`))}return Hn.program.getTypeChecker(),Hn}Me.useProvidedPrograms=I;function c(Me,Bn){if(ca.sys===void 0)throw new Error("`createProgramFromConfigFile` is only supported in a Node-like environment.");let Hn=ca.getParsedCommandLineOfConfigFile(Me,_a.CORE_COMPILER_OPTIONS,{onUnRecoverableConfigFileDiagnostic:Me=>{throw new Error(M([Me]))},fileExists:aa.existsSync,getCurrentDirectory:()=>Bn&&oa.resolve(Bn)||"/prettier-security-dirname-placeholder",readDirectory:ca.sys.readDirectory,readFile:Me=>aa.readFileSync(Me,"utf-8"),useCaseSensitiveFileNames:ca.sys.useCaseSensitiveFileNames});if(Hn.errors.length)throw new Error(M(Hn.errors));let zn=ca.createCompilerHost(Hn.options,!0);return ca.createProgram(Hn.fileNames,Hn.options,zn)}Me.createProgramFromConfigFile=c;function M(Me){return ca.formatDiagnostics(Me,{getCanonicalFileName:Me=>Me,getCurrentDirectory:ts.cwd,getNewLine:()=>`\n`})}}}),dC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.js"(Me){"use strict";Ps();var Bn=Me&&Me.__classPrivateFieldSet||function(Me,Bn,Hn,zn,ni){if(zn==="m")throw new TypeError("Private method is not writable");if(zn==="a"&&!ni)throw new TypeError("Private accessor was defined without a setter");if(typeof Bn=="function"?Me!==Bn||!ni:!Bn.has(Me))throw new TypeError("Cannot write private member to an object whose class did not declare it");return zn==="a"?ni.call(Me,Hn):ni?ni.value=Hn:Bn.set(Me,Hn),Hn},Hn=Me&&Me.__classPrivateFieldGet||function(Me,Bn,Hn,zn){if(Hn==="a"&&!zn)throw new TypeError("Private accessor was defined without a getter");if(typeof Bn=="function"?Me!==Bn||!zn:!Bn.has(Me))throw new TypeError("Cannot read private member from an object whose class did not declare it");return Hn==="m"?zn:Hn==="a"?zn.call(Me):zn?zn.value:Bn.get(Me)},zn,ni;Object.defineProperty(Me,"__esModule",{value:!0}),Me.ExpiringCache=Me.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS=void 0,Me.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS=30;var Ci=[0,0],aa=class{constructor(Me){zn.set(this,void 0),ni.set(this,new Map),Bn(this,zn,Me,"f")}set(Me,Bn){return Hn(this,ni,"f").set(Me,{value:Bn,lastSeen:Hn(this,zn,"f")==="Infinity"?Ci:ts.hrtime()}),this}get(Me){let Bn=Hn(this,ni,"f").get(Me);if((Bn==null?void 0:Bn.value)!=null){if(Hn(this,zn,"f")==="Infinity"||ts.hrtime(Bn.lastSeen)[0]1&&zn.length>=Me.tsconfigRootDir.length);throw new Error(`project was set to \`true\` but couldn't find any tsconfig.json relative to '${Me.filePath}' within '${Me.tsconfigRootDir}'.`)}Me.getProjectConfigFiles=d}}),AC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/inferSingleRun.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.inferSingleRun=void 0;var Bn=OE();function v(Me){return(Me==null?void 0:Me.project)==null||(Me==null?void 0:Me.programs)!=null||ts.env.TSESTREE_SINGLE_RUN==="false"?!1:!!(ts.env.TSESTREE_SINGLE_RUN==="true"||Me!=null&&Me.allowAutomaticSingleRunInference&&(ts.env.CI==="true"||ts.argv[1].endsWith((0,Bn.normalize)("node_modules/.bin/eslint"))))}Me.inferSingleRun=v}}),mC=Oe({"node_modules/is-extglob/index.js"(Me,Bn){Ps(),Bn.exports=function(Me){if(typeof Me!="string"||Me==="")return!1;for(var Bn;Bn=/(\\).|([@?!+*]\(.*\))/g.exec(Me);){if(Bn[2])return!0;Me=Me.slice(Bn.index+Bn[0].length)}return!1}}}),gC=Oe({"node_modules/is-glob/index.js"(Me,Bn){Ps();var Hn=mC(),zn={"{":"}","(":")","[":"]"},D=function(Me){if(Me[0]==="!")return!0;for(var Bn=0,Hn=-2,ni=-2,Ci=-2,ts=-2,Ps=-2;BnBn&&(Ps===-1||Ps>ni||(Ps=Me.indexOf("\\",Bn),Ps===-1||Ps>ni)))||Ci!==-1&&Me[Bn]==="{"&&Me[Bn+1]!=="}"&&(Ci=Me.indexOf("}",Bn),Ci>Bn&&(Ps=Me.indexOf("\\",Bn),Ps===-1||Ps>Ci))||ts!==-1&&Me[Bn]==="("&&Me[Bn+1]==="?"&&/[:!=]/.test(Me[Bn+2])&&Me[Bn+3]!==")"&&(ts=Me.indexOf(")",Bn),ts>Bn&&(Ps=Me.indexOf("\\",Bn),Ps===-1||Ps>ts))||Hn!==-1&&Me[Bn]==="("&&Me[Bn+1]!=="|"&&(HnHn&&(Ps=Me.indexOf("\\",Hn),Ps===-1||Ps>ts))))return!0;if(Me[Bn]==="\\"){var aa=Me[Bn+1];Bn+=2;var oa=zn[aa];if(oa){var ca=Me.indexOf(oa,Bn);ca!==-1&&(Bn=ca+1)}if(Me[Bn]==="!")return!0}else Bn++}return!1},P=function(Me){if(Me[0]==="!")return!0;for(var Bn=0;Bn(typeof Bn=="string"&&Me.push(Bn),Me)),[]).map((Me=>Me.startsWith("!")?Me:`!${Me}`)),xa=I({project:ca,projectFolderIgnoreList:_a,tsconfigRootDir:Me.tsconfigRootDir});if(oa==null)oa=new ts.ExpiringCache(Me.singleRun?"Infinity":(Ps=(Hn=Me.cacheLifetime)===null||Hn===void 0?void 0:Hn.glob)!==null&&Ps!==void 0?Ps:ts.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS);else{let Me=oa.get(xa);if(Me)return Me}let Ga=ca.filter((Me=>!(0,ni.default)(Me))),Ha=ca.filter((Me=>(0,ni.default)(Me))),so=new Set(Ga.concat(Ha.length===0?[]:(0,zn.sync)([...Ha,..._a],{cwd:Me.tsconfigRootDir})).map((Bn=>(0,Ci.getCanonicalFileName)((0,Ci.ensureAbsolutePath)(Bn,Me.tsconfigRootDir)))));aa("parserOptions.project (excluding ignored) matched projects: %s",so);let oo=Array.from(so);return oa.set(xa,oo),oo}Me.resolveProjectList=E;function I(Me){let{project:Bn,projectFolderIgnoreList:Hn,tsconfigRootDir:zn}=Me,ni={tsconfigRootDir:zn,project:Bn,projectFolderIgnoreList:[...Hn].sort()};return(0,Ci.createHash)(JSON.stringify(ni))}function c(){oa==null||oa.clear(),oa=null}Me.clearGlobResolutionCache=c}}),yC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__setModuleDefault||(Object.create?function(Me,Bn){Object.defineProperty(Me,"default",{enumerable:!0,value:Bn})}:function(Me,Bn){Me.default=Bn}),zn=Me&&Me.__importStar||function(Me){if(Me&&Me.__esModule)return Me;var zn={};if(Me!=null)for(var ni in Me)ni!=="default"&&Object.prototype.hasOwnProperty.call(Me,ni)&&Bn(zn,Me,ni);return Hn(zn,Me),zn},ni=Me&&Me.__importDefault||function(Me){return Me&&Me.__esModule?Me:{default:Me}};Object.defineProperty(Me,"__esModule",{value:!0}),Me.warnAboutTSVersion=void 0;var Ci=ni(Og()),aa=zn(Kf()),oa=">=3.3.1 <5.1.0",ca=["5.0.1-rc"],_a=aa.version,xa=Ci.default.satisfies(_a,[oa].concat(ca).join(" || ")),Ga=!1;function c(Me){var Bn;if(!xa&&!Ga){if(typeof ts>"u"?!1:(Bn=ts.stdout)===null||Bn===void 0?void 0:Bn.isTTY){let Bn="=============",Hn=[Bn,"WARNING: You are currently running a version of TypeScript which is not officially supported by @typescript-eslint/typescript-estree.","You may find that it works just fine, or you may not.",`SUPPORTED TYPESCRIPT VERSIONS: ${oa}`,`YOUR TYPESCRIPT VERSION: ${_a}`,"Please only submit bug reports when using the officially supported version.",Bn];Me.log(Hn.join(`\n\n`))}Ga=!0}}Me.warnAboutTSVersion=c}}),vC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.js"(Me){"use strict";Ps();var Bn=Me&&Me.__importDefault||function(Me){return Me&&Me.__esModule?Me:{default:Me}};Object.defineProperty(Me,"__esModule",{value:!0}),Me.clearTSConfigMatchCache=Me.createParseSettings=void 0;var Hn=Bn(Ad()),zn=eC(),ni=dC(),Ci=hC(),ts=AC(),aa=_C(),oa=yC(),ca=(0,Hn.default)("typescript-eslint:typescript-estree:parser:parseSettings:createParseSettings"),_a;function I(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var Ps,xa,Ga;let Ha=(0,ts.inferSingleRun)(Bn),so=typeof Bn.tsconfigRootDir=="string"?Bn.tsconfigRootDir:"/prettier-security-dirname-placeholder",oo={code:M(Me),comment:Bn.comment===!0,comments:[],createDefaultProgram:Bn.createDefaultProgram===!0,debugLevel:Bn.debugLevel===!0?new Set(["typescript-eslint"]):Array.isArray(Bn.debugLevel)?new Set(Bn.debugLevel):new Set,errorOnTypeScriptSyntacticAndSemanticIssues:!1,errorOnUnknownASTType:Bn.errorOnUnknownASTType===!0,EXPERIMENTAL_useSourceOfProjectReferenceRedirect:Bn.EXPERIMENTAL_useSourceOfProjectReferenceRedirect===!0,extraFileExtensions:Array.isArray(Bn.extraFileExtensions)&&Bn.extraFileExtensions.every((Me=>typeof Me=="string"))?Bn.extraFileExtensions:[],filePath:(0,zn.ensureAbsolutePath)(typeof Bn.filePath=="string"&&Bn.filePath!==""?Bn.filePath:q(Bn.jsx),so),jsx:Bn.jsx===!0,loc:Bn.loc===!0,log:typeof Bn.loggerFn=="function"?Bn.loggerFn:Bn.loggerFn===!1?()=>{}:console.log,moduleResolver:(Ps=Bn.moduleResolver)!==null&&Ps!==void 0?Ps:"",preserveNodeMaps:Bn.preserveNodeMaps!==!1,programs:Array.isArray(Bn.programs)?Bn.programs:null,projects:[],range:Bn.range===!0,singleRun:Ha,tokens:Bn.tokens===!0?[]:null,tsconfigMatchCache:_a!=null?_a:_a=new ni.ExpiringCache(Ha?"Infinity":(Ga=(xa=Bn.cacheLifetime)===null||xa===void 0?void 0:xa.glob)!==null&&Ga!==void 0?Ga:ni.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS),tsconfigRootDir:so};if(oo.debugLevel.size>0){let Me=[];oo.debugLevel.has("typescript-eslint")&&Me.push("typescript-eslint:*"),(oo.debugLevel.has("eslint")||Hn.default.enabled("eslint:*,-eslint:code-path"))&&Me.push("eslint:*,-eslint:code-path"),Hn.default.enable(Me.join(","))}if(Array.isArray(Bn.programs)){if(!Bn.programs.length)throw new Error("You have set parserOptions.programs to an empty array. This will cause all files to not be found in existing programs. Either provide one or more existing TypeScript Program instances in the array, or remove the parserOptions.programs setting.");ca("parserOptions.programs was provided, so parserOptions.project will be ignored.")}return oo.programs||(oo.projects=(0,aa.resolveProjectList)({cacheLifetime:Bn.cacheLifetime,project:(0,Ci.getProjectConfigFiles)(oo,Bn.project),projectFolderIgnoreList:Bn.projectFolderIgnoreList,singleRun:oo.singleRun,tsconfigRootDir:so})),(0,oa.warnAboutTSVersion)(oo),oo}Me.createParseSettings=I;function c(){_a==null||_a.clear()}Me.clearTSConfigMatchCache=c;function M(Me){return typeof Me!="string"?String(Me):Me}function q(Me){return Me?"estree.tsx":"estree.ts"}}}),EC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/semantic-or-syntactic-errors.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.getFirstSemanticOrSyntacticError=void 0;var Bn=Kf();function v(Me,Bn){try{let Hn=h(Me.getSyntacticDiagnostics(Bn));if(Hn.length)return D(Hn[0]);let zn=h(Me.getSemanticDiagnostics(Bn));return zn.length?D(zn[0]):void 0}catch(Me){console.warn(`Warning From TSC: "${Me.message}`);return}}Me.getFirstSemanticOrSyntacticError=v;function h(Me){return Me.filter((Me=>{switch(Me.code){case 1013:case 1014:case 1044:case 1045:case 1048:case 1049:case 1070:case 1071:case 1085:case 1090:case 1096:case 1097:case 1098:case 1099:case 1117:case 1121:case 1123:case 1141:case 1162:case 1164:case 1172:case 1173:case 1175:case 1176:case 1190:case 1196:case 1200:case 1206:case 1211:case 1242:case 1246:case 1255:case 1308:case 2364:case 2369:case 2452:case 2462:case 8017:case 17012:case 17013:return!0}return!1}))}function D(Me){return Object.assign(Object.assign({},Me),{message:(0,Bn.flattenDiagnosticMessageText)(Me.messageText,Bn.sys.newLine)})}}}),bC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/parser.js"(Me){"use strict";Ps();var Bn=Me&&Me.__importDefault||function(Me){return Me&&Me.__esModule?Me:{default:Me}};Object.defineProperty(Me,"__esModule",{value:!0}),Me.clearParseAndGenerateServicesCalls=Me.clearProgramCache=Me.parseWithNodeMaps=Me.parseAndGenerateServices=Me.parse=void 0;var Hn=Bn(Ad()),zn=Iv(),ni=Kg(),Ci=tC(),ts=nC(),aa=lC(),oa=pC(),ca=fC(),_a=vC(),xa=EC(),Ga=(0,Hn.default)("typescript-eslint:typescript-estree:parser"),Ha=new Map;function q(){Ha.clear()}Me.clearProgramCache=q;function W(Me,Bn){return Me.programs&&(0,ca.useProvidedPrograms)(Me.programs,Me)||Bn&&(0,aa.createProjectProgram)(Me)||Bn&&Me.createDefaultProgram&&(0,Ci.createDefaultProgram)(Me)||(0,ts.createIsolatedProgram)(Me)}function K(Me,Bn){let{ast:Hn}=ce(Me,Bn,!1);return Hn}Me.parse=K;function ce(Me,Bn,Hn){let ni=(0,_a.createParseSettings)(Me,Bn);if(Bn!=null&&Bn.errorOnTypeScriptSyntacticAndSemanticIssues)throw new Error('"errorOnTypeScriptSyntacticAndSemanticIssues" is only supported for parseAndGenerateServices()');let Ci=(0,oa.createSourceFile)(ni),{estree:ts,astMaps:Ps}=(0,zn.astConverter)(Ci,ni,Hn);return{ast:ts,esTreeNodeToTSNodeMap:Ps.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:Ps.tsNodeToESTreeNodeMap}}function Ie(Me,Bn){return ce(Me,Bn,!0)}Me.parseWithNodeMaps=Ie;var so={};function Ae(){so={}}Me.clearParseAndGenerateServicesCalls=Ae;function te(Me,Bn){var Hn,Ci;let Ps=(0,_a.createParseSettings)(Me,Bn);Bn!==void 0&&typeof Bn.errorOnTypeScriptSyntacticAndSemanticIssues=="boolean"&&Bn.errorOnTypeScriptSyntacticAndSemanticIssues&&(Ps.errorOnTypeScriptSyntacticAndSemanticIssues=!0),Ps.singleRun&&!Ps.programs&&((Hn=Ps.projects)===null||Hn===void 0?void 0:Hn.length)>0&&(Ps.programs={*[Symbol.iterator](){for(let Me of Ps.projects){let Bn=Ha.get(Me);if(Bn)yield Bn;else{Ga("Detected single-run/CLI usage, creating Program once ahead of time for project: %s",Me);let Bn=(0,ca.createProgramFromConfigFile)(Me);Ha.set(Me,Bn),yield Bn}}}});let aa=Ps.programs!=null||((Ci=Ps.projects)===null||Ci===void 0?void 0:Ci.length)>0;Ps.singleRun&&Bn.filePath&&(so[Bn.filePath]=(so[Bn.filePath]||0)+1);let{ast:oa,program:oo}=Ps.singleRun&&Bn.filePath&&so[Bn.filePath]>1?(0,ts.createIsolatedProgram)(Ps):W(Ps,aa),Jo=typeof Ps.preserveNodeMaps=="boolean"?Ps.preserveNodeMaps:!0,{estree:tc,astMaps:dc}=(0,zn.astConverter)(oa,Ps,Jo);if(oo&&Ps.errorOnTypeScriptSyntacticAndSemanticIssues){let Me=(0,xa.getFirstSemanticOrSyntacticError)(oo,oa);if(Me)throw(0,ni.convertError)(Me)}return{ast:tc,services:{hasFullTypeInformation:aa,program:oo,esTreeNodeToTSNodeMap:dc.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:dc.tsNodeToESTreeNodeMap}}}Me.parseAndGenerateServices=te}}),CC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.js"(Me){"use strict";Ps(),Object.defineProperty(Me,"__esModule",{value:!0}),Me.clearProgramCache=Me.clearCaches=void 0;var Bn=cC(),Hn=bC(),zn=vC(),ni=_C();function P(){(0,Hn.clearProgramCache)(),(0,Bn.clearWatchCaches)(),(0,zn.clearTSConfigMatchCache)(),(0,ni.clearGlobCache)()}Me.clearCaches=P,Me.clearProgramCache=P}}),DC=Oe({"node_modules/@typescript-eslint/typescript-estree/package.json"(Me,Bn){Bn.exports={name:"@typescript-eslint/typescript-estree",version:"5.55.0",description:"A parser that converts TypeScript source code into an ESTree compatible form",main:"dist/index.js",types:"dist/index.d.ts",files:["dist","_ts3.4","README.md","LICENSE"],engines:{node:"^12.22.0 || ^14.17.0 || >=16.0.0"},repository:{type:"git",url:"https://github.com/typescript-eslint/typescript-eslint.git",directory:"packages/typescript-estree"},bugs:{url:"https://github.com/typescript-eslint/typescript-eslint/issues"},license:"BSD-2-Clause",keywords:["ast","estree","ecmascript","javascript","typescript","parser","syntax"],scripts:{build:"tsc -b tsconfig.build.json",postbuild:"downlevel-dts dist _ts3.4/dist",clean:"tsc -b tsconfig.build.json --clean",postclean:"rimraf dist && rimraf _ts3.4 && rimraf coverage",format:'prettier --write "./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}" --ignore-path ../../.prettierignore',lint:"nx lint",test:"jest --coverage",typecheck:"tsc -p tsconfig.json --noEmit"},dependencies:{"@typescript-eslint/types":"5.55.0","@typescript-eslint/visitor-keys":"5.55.0",debug:"^4.3.4",globby:"^11.1.0","is-glob":"^4.0.3",semver:"^7.3.7",tsutils:"^3.21.0"},devDependencies:{"@babel/code-frame":"*","@babel/parser":"*","@types/babel__code-frame":"*","@types/debug":"*","@types/glob":"*","@types/is-glob":"*","@types/semver":"*","@types/tmp":"*",glob:"*","jest-specific-snapshot":"*","make-dir":"*",tmp:"*",typescript:"*"},peerDependenciesMeta:{typescript:{optional:!0}},funding:{type:"opencollective",url:"https://opencollective.com/typescript-eslint"},typesVersions:{"<3.8":{"*":["_ts3.4/*"]}},gitHead:"877d73327fca3bdbe7e170e8b3a906d090a6de37"}}}),wC=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/index.js"(Me){"use strict";Ps();var Bn=Me&&Me.__createBinding||(Object.create?function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn);var ni=Object.getOwnPropertyDescriptor(Bn,Hn);(!ni||("get"in ni?!Bn.__esModule:ni.writable||ni.configurable))&&(ni={enumerable:!0,get:function(){return Bn[Hn]}}),Object.defineProperty(Me,zn,ni)}:function(Me,Bn,Hn,zn){zn===void 0&&(zn=Hn),Me[zn]=Bn[Hn]}),Hn=Me&&Me.__exportStar||function(Me,Hn){for(var zn in Me)zn!=="default"&&!Object.prototype.hasOwnProperty.call(Hn,zn)&&Bn(Hn,Me,zn)};Object.defineProperty(Me,"__esModule",{value:!0}),Me.version=Me.visitorKeys=Me.typescriptVersionIsAtLeast=Me.createProgram=Me.simpleTraverse=Me.parseWithNodeMaps=Me.parseAndGenerateServices=Me.parse=void 0;var zn=bC();Object.defineProperty(Me,"parse",{enumerable:!0,get:function(){return zn.parse}}),Object.defineProperty(Me,"parseAndGenerateServices",{enumerable:!0,get:function(){return zn.parseAndGenerateServices}}),Object.defineProperty(Me,"parseWithNodeMaps",{enumerable:!0,get:function(){return zn.parseWithNodeMaps}});var ni=Sv();Object.defineProperty(Me,"simpleTraverse",{enumerable:!0,get:function(){return ni.simpleTraverse}}),Hn(Yg(),Me);var Ci=fC();Object.defineProperty(Me,"createProgram",{enumerable:!0,get:function(){return Ci.createProgramFromConfigFile}}),Hn(rC(),Me);var ts=Lg();Object.defineProperty(Me,"typescriptVersionIsAtLeast",{enumerable:!0,get:function(){return ts.typescriptVersionIsAtLeast}}),Hn(Mg(),Me),Hn(CC(),Me);var aa=wv();Object.defineProperty(Me,"visitorKeys",{enumerable:!0,get:function(){return aa.visitorKeys}}),Me.version=DC().version}});Ps();var SC=aa(),IC=oa(),xC=Qp(),kC=Up(),BC=Yf(),{throwErrorForInvalidNodes:TC}=Xf(),FC={loc:!0,range:!0,comment:!0,jsx:!0,tokens:!0,loggerFn:!1,project:[]};function _H(Me){let{message:Bn,lineNumber:Hn,column:zn}=Me;return typeof Hn!="number"?Me:SC(Bn,{start:{line:Hn,column:zn+1}})}function cH(Me,Bn){let Hn=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},zn=kC(Me),ni=lH(Me),{parseWithNodeMaps:Ci}=wC(),{result:ts,error:Ps}=IC((()=>Ci(zn,Object.assign(Object.assign({},FC),{},{jsx:ni}))),(()=>Ci(zn,Object.assign(Object.assign({},FC),{},{jsx:!ni}))));if(!ts)throw _H(Ps);return Hn.originalText=Me,TC(ts,Hn),BC(ts.ast,Hn)}function lH(Me){return new RegExp(["(?:^[^\"'`]*)"].join(""),"m").test(Me)}Bn.exports={parsers:{typescript:xC(cH)}}}));return Dg()}))},73620:Me=>{(function(Bn){if(true)Me.exports=Bn();else{var Hn}})((function(){"use strict";var yt=(Me,Bn)=>()=>(Bn||Me((Bn={exports:{}}).exports,Bn),Bn.exports);var Me=yt(((Me,Bn)=>{var Hn=Object.defineProperty,zn=Object.getOwnPropertyDescriptor,ni=Object.getOwnPropertyNames,Ci=Object.prototype.hasOwnProperty,Ke=(Me,Bn)=>function(){return Me&&(Bn=(0,Me[ni(Me)[0]])(Me=0)),Bn},D=(Me,Bn)=>function(){return Bn||(0,Me[ni(Me)[0]])((Bn={exports:{}}).exports,Bn),Bn.exports},St=(Me,Bn)=>{for(var zn in Bn)Hn(Me,zn,{get:Bn[zn],enumerable:!0})},Et=(Me,Bn,ts,Ps)=>{if(Bn&&typeof Bn=="object"||typeof Bn=="function")for(let aa of ni(Bn))!Ci.call(Me,aa)&&aa!==ts&&Hn(Me,aa,{get:()=>Bn[aa],enumerable:!(Ps=zn(Bn,aa))||Ps.enumerable});return Me},se=Me=>Et(Hn({},"__esModule",{value:!0}),Me),ts,Ps=Ke({""(){ts={env:{},argv:[]}}}),aa=D({"src/common/parser-create-error.js"(Me,Bn){"use strict";Ps();function r(Me,Bn){let Hn=new SyntaxError(Me+" ("+Bn.start.line+":"+Bn.start.column+")");return Hn.loc=Bn,Hn}Bn.exports=r}}),oa=D({"src/language-yaml/pragma.js"(Me,Bn){"use strict";Ps();function r(Me){return/^\s*@(?:prettier|format)\s*$/.test(Me)}function c(Me){return/^\s*#[^\S\n]*@(?:prettier|format)\s*?(?:\n|$)/.test(Me)}function h(Me){return`# @format\n\n${Me}`}Bn.exports={isPragma:r,hasPragma:c,insertPragma:h}}}),ca=D({"src/language-yaml/loc.js"(Me,Bn){"use strict";Ps();function r(Me){return Me.position.start.offset}function c(Me){return Me.position.end.offset}Bn.exports={locStart:r,locEnd:c}}}),_a={};St(_a,{__assign:()=>Ga,__asyncDelegator:()=>Yt,__asyncGenerator:()=>jt,__asyncValues:()=>Dt,__await:()=>Ce,__awaiter:()=>Pt,__classPrivateFieldGet:()=>Qt,__classPrivateFieldSet:()=>Ut,__createBinding:()=>Rt,__decorate:()=>Tt,__exportStar:()=>qt,__extends:()=>At,__generator:()=>It,__importDefault:()=>Vt,__importStar:()=>Wt,__makeTemplateObject:()=>Ft,__metadata:()=>kt,__param:()=>Ct,__read:()=>Je,__rest:()=>Nt,__spread:()=>$t,__spreadArrays:()=>Bt,__values:()=>je});function At(Me,Bn){xa(Me,Bn);function r(){this.constructor=Me}Me.prototype=Bn===null?Object.create(Bn):(r.prototype=Bn.prototype,new r)}function Nt(Me,Bn){var Hn={};for(var zn in Me)Object.prototype.hasOwnProperty.call(Me,zn)&&Bn.indexOf(zn)<0&&(Hn[zn]=Me[zn]);if(Me!=null&&typeof Object.getOwnPropertySymbols=="function")for(var ni=0,zn=Object.getOwnPropertySymbols(Me);ni=0;Ps--)(ts=Me[Ps])&&(Ci=(ni<3?ts(Ci):ni>3?ts(Bn,Hn,Ci):ts(Bn,Hn))||Ci);return ni>3&&Ci&&Object.defineProperty(Bn,Hn,Ci),Ci}function Ct(Me,Bn){return function(Hn,zn){Bn(Hn,zn,Me)}}function kt(Me,Bn){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(Me,Bn)}function Pt(Me,Bn,Hn,zn){function h(Me){return Me instanceof Hn?Me:new Hn((function(Bn){Bn(Me)}))}return new(Hn||(Hn=Promise))((function(Hn,ni){function E(Me){try{S(zn.next(Me))}catch(Me){ni(Me)}}function I(Me){try{S(zn.throw(Me))}catch(Me){ni(Me)}}function S(Me){Me.done?Hn(Me.value):h(Me.value).then(E,I)}S((zn=zn.apply(Me,Bn||[])).next())}))}function It(Me,Bn){var Hn={label:0,sent:function(){if(Ci[0]&1)throw Ci[1];return Ci[1]},trys:[],ops:[]},zn,ni,Ci,ts;return ts={next:E(0),throw:E(1),return:E(2)},typeof Symbol=="function"&&(ts[Symbol.iterator]=function(){return this}),ts;function E(Me){return function(Bn){return I([Me,Bn])}}function I(ts){if(zn)throw new TypeError("Generator is already executing.");for(;Hn;)try{if(zn=1,ni&&(Ci=ts[0]&2?ni.return:ts[0]?ni.throw||((Ci=ni.return)&&Ci.call(ni),0):ni.next)&&!(Ci=Ci.call(ni,ts[1])).done)return Ci;switch(ni=0,Ci&&(ts=[ts[0]&2,Ci.value]),ts[0]){case 0:case 1:Ci=ts;break;case 4:return Hn.label++,{value:ts[1],done:!1};case 5:Hn.label++,ni=ts[1],ts=[0];continue;case 7:ts=Hn.ops.pop(),Hn.trys.pop();continue;default:if(Ci=Hn.trys,!(Ci=Ci.length>0&&Ci[Ci.length-1])&&(ts[0]===6||ts[0]===2)){Hn=0;continue}if(ts[0]===3&&(!Ci||ts[1]>Ci[0]&&ts[1]=Me.length&&(Me=void 0),{value:Me&&Me[zn++],done:!Me}}};throw new TypeError(Bn?"Object is not iterable.":"Symbol.iterator is not defined.")}function Je(Me,Bn){var Hn=typeof Symbol=="function"&&Me[Symbol.iterator];if(!Hn)return Me;var zn=Hn.call(Me),ni,Ci=[],ts;try{for(;(Bn===void 0||Bn-- >0)&&!(ni=zn.next()).done;)Ci.push(ni.value)}catch(Me){ts={error:Me}}finally{try{ni&&!ni.done&&(Hn=zn.return)&&Hn.call(zn)}finally{if(ts)throw ts.error}}return Ci}function $t(){for(var Me=[],Bn=0;Bn1||E(Me,Bn)}))})}function E(Me,Bn){try{I(zn[Me](Bn))}catch(Me){T(Ci[0][3],Me)}}function I(Me){Me.value instanceof Ce?Promise.resolve(Me.value.v).then(S,M):T(Ci[0][2],Me)}function S(Me){E("next",Me)}function M(Me){E("throw",Me)}function T(Me,Bn){Me(Bn),Ci.shift(),Ci.length&&E(Ci[0][0],Ci[0][1])}}function Yt(Me){var Bn,Hn;return Bn={},c("next"),c("throw",(function(Me){throw Me})),c("return"),Bn[Symbol.iterator]=function(){return this},Bn;function c(zn,ni){Bn[zn]=Me[zn]?function(Bn){return(Hn=!Hn)?{value:Ce(Me[zn](Bn)),done:zn==="return"}:ni?ni(Bn):Bn}:ni}}function Dt(Me){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var Bn=Me[Symbol.asyncIterator],Hn;return Bn?Bn.call(Me):(Me=typeof je=="function"?je(Me):Me[Symbol.iterator](),Hn={},c("next"),c("throw"),c("return"),Hn[Symbol.asyncIterator]=function(){return this},Hn);function c(Bn){Hn[Bn]=Me[Bn]&&function(Hn){return new Promise((function(zn,ni){Hn=Me[Bn](Hn),h(zn,ni,Hn.done,Hn.value)}))}}function h(Me,Bn,Hn,zn){Promise.resolve(zn).then((function(Bn){Me({value:Bn,done:Hn})}),Bn)}}function Ft(Me,Bn){return Object.defineProperty?Object.defineProperty(Me,"raw",{value:Bn}):Me.raw=Bn,Me}function Wt(Me){if(Me&&Me.__esModule)return Me;var Bn={};if(Me!=null)for(var Hn in Me)Object.hasOwnProperty.call(Me,Hn)&&(Bn[Hn]=Me[Hn]);return Bn.default=Me,Bn}function Vt(Me){return Me&&Me.__esModule?Me:{default:Me}}function Qt(Me,Bn){if(!Bn.has(Me))throw new TypeError("attempted to get private field on non-instance");return Bn.get(Me)}function Ut(Me,Bn,Hn){if(!Bn.has(Me))throw new TypeError("attempted to set private field on non-instance");return Bn.set(Me,Hn),Hn}var xa,Ga,Ha=Ke({"node_modules/tslib/tslib.es6.js"(){Ps(),xa=function(Me,Bn){return xa=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Me,Bn){Me.__proto__=Bn}||function(Me,Bn){for(var Hn in Bn)Bn.hasOwnProperty(Hn)&&(Me[Hn]=Bn[Hn])},xa(Me,Bn)},Ga=function(){return Ga=Object.assign||function(Me){for(var Bn,Hn=1,zn=arguments.length;Hnthis.string.length)return null;for(var Bn=0,Hn=this.offsets;Hn[Bn+1]<=Me;)Bn++;var zn=Me-Hn[Bn];return{line:Bn,column:zn}},h.prototype.indexForLocation=function(Me){var Bn=Me.line,Hn=Me.column;return Bn<0||Bn>=this.offsets.length||Hn<0||Hn>this.lengthOfLine(Bn)?null:this.offsets[Bn]+Hn},h.prototype.lengthOfLine=function(Me){var Bn=this.offsets[Me],Hn=Me===this.offsets.length-1?this.string.length:this.offsets[Me+1];return Hn-Bn},h}();Me.LinesAndColumns=zn,Me.default=zn}}),oo=D({"node_modules/yaml-unist-parser/lib/utils/define-parents.js"(Me){"use strict";Ps(),Me.__esModule=!0;function e(Me,Bn){Bn===void 0&&(Bn=null),"children"in Me&&Me.children.forEach((function(Bn){return e(Bn,Me)})),"anchor"in Me&&Me.anchor&&e(Me.anchor,Me),"tag"in Me&&Me.tag&&e(Me.tag,Me),"leadingComments"in Me&&Me.leadingComments.forEach((function(Bn){return e(Bn,Me)})),"middleComments"in Me&&Me.middleComments.forEach((function(Bn){return e(Bn,Me)})),"indicatorComment"in Me&&Me.indicatorComment&&e(Me.indicatorComment,Me),"trailingComment"in Me&&Me.trailingComment&&e(Me.trailingComment,Me),"endComments"in Me&&Me.endComments.forEach((function(Bn){return e(Bn,Me)})),Object.defineProperty(Me,"_parent",{value:Bn,enumerable:!1})}Me.defineParents=e}}),Jo=D({"node_modules/yaml-unist-parser/lib/utils/get-point-text.js"(Me){"use strict";Ps(),Me.__esModule=!0;function e(Me){return Me.line+":"+Me.column}Me.getPointText=e}}),tc=D({"node_modules/yaml-unist-parser/lib/attach.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=oo(),Hn=Jo();function c(Me){Bn.defineParents(Me);var Hn=h(Me),zn=Me.children.slice();Me.comments.sort((function(Me,Bn){return Me.position.start.offset-Bn.position.end.offset})).filter((function(Me){return!Me._parent})).forEach((function(Me){for(;zn.length>1&&Me.position.start.line>zn[0].position.end.line;)zn.shift();y(Me,Hn,zn[0])}))}Me.attachComments=c;function h(Me){for(var Bn=Array.from(new Array(Me.position.end.line),(function(){return{}})),Hn=0,zn=Me.comments;Hn1&&Bn.type!=="document"&&Bn.type!=="documentHead"){var ni=Bn.position.end,Ci=Me[ni.line-1].trailingAttachableNode;(!Ci||ni.column>=Ci.position.end.column)&&(Me[ni.line-1].trailingAttachableNode=Bn)}if(Bn.type!=="root"&&Bn.type!=="document"&&Bn.type!=="documentHead"&&Bn.type!=="documentBody")for(var ts=Bn.position,Hn=ts.start,ni=ts.end,Ps=[ni.line].concat(Hn.line===ni.line?[]:Hn.line),aa=0,oa=Ps;aa=_a.position.end.column)&&(Me[ca-1].trailingNode=Bn)}"children"in Bn&&Bn.children.forEach((function(Bn){d(Me,Bn)}))}}function y(Me,zn,ni){var Ci=Me.position.start.line,ts=zn[Ci-1].trailingAttachableNode;if(ts){if(ts.trailingComment)throw new Error("Unexpected multiple trailing comment at "+Hn.getPointText(Me.position.start));Bn.defineParents(Me,ts),ts.trailingComment=Me;return}for(var Ps=Ci;Ps>=ni.position.start.line;Ps--){var aa=zn[Ps-1].trailingNode,oa=void 0;if(aa)oa=aa;else if(Ps!==Ci&&zn[Ps-1].comment)oa=zn[Ps-1].comment._parent;else continue;if((oa.type==="sequence"||oa.type==="mapping")&&(oa=oa.children[0]),oa.type==="mappingItem"){var ca=oa.children,_a=ca[0],xa=ca[1];oa=I(_a)?_a:xa}for(;;){if(E(oa,Me)){Bn.defineParents(Me,oa),oa.endComments.push(Me);return}if(!oa._parent)break;oa=oa._parent}break}for(var Ps=Ci+1;Ps<=ni.position.end.line;Ps++){var Ga=zn[Ps-1].leadingAttachableNode;if(Ga){Bn.defineParents(Me,Ga),Ga.leadingComments.push(Me);return}}var Ha=ni.children[1];Bn.defineParents(Me,Ha),Ha.endComments.push(Me)}function E(Me,Bn){if(Me.position.start.offsetBn.position.end.offset)switch(Me.type){case"flowMapping":case"flowSequence":return Me.children.length===0||Bn.position.start.line>Me.children[Me.children.length-1].position.end.line}if(Bn.position.end.offsetMe.position.start.column;case"mappingKey":case"mappingValue":return Bn.position.start.column>Me._parent.position.start.column&&(Me.children.length===0||Me.children.length===1&&Me.children[0].type!=="blockFolded"&&Me.children[0].type!=="blockLiteral")&&(Me.type==="mappingValue"||I(Me));default:return!1}}function I(Me){return Me.position.start!==Me.position.end&&(Me.children.length===0||Me.position.start.offset!==Me.children[0].position.start.offset)}}}),dc=D({"node_modules/yaml-unist-parser/lib/factories/node.js"(Me){"use strict";Ps(),Me.__esModule=!0;function e(Me,Bn){return{type:Me,position:Bn}}Me.createNode=e}}),Fc=D({"node_modules/yaml-unist-parser/lib/factories/root.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=dc();function c(Me,zn,ni){return Bn.__assign(Bn.__assign({},Hn.createNode("root",Me)),{children:zn,comments:ni})}Me.createRoot=c}}),Jc=D({"node_modules/yaml-unist-parser/lib/preprocess.js"(Me){"use strict";Ps(),Me.__esModule=!0;function e(Me){switch(Me.type){case"DOCUMENT":for(var Bn=Me.contents.length-1;Bn>=0;Bn--)Me.contents[Bn].type==="BLANK_LINE"?Me.contents.splice(Bn,1):e(Me.contents[Bn]);for(var Bn=Me.directives.length-1;Bn>=0;Bn--)Me.directives[Bn].type==="BLANK_LINE"&&Me.directives.splice(Bn,1);break;case"FLOW_MAP":case"FLOW_SEQ":case"MAP":case"SEQ":for(var Bn=Me.items.length-1;Bn>=0;Bn--){var Hn=Me.items[Bn];"char"in Hn||(Hn.type==="BLANK_LINE"?Me.items.splice(Bn,1):e(Hn))}break;case"MAP_KEY":case"MAP_VALUE":case"SEQ_ITEM":Me.node&&e(Me.node);break;case"ALIAS":case"BLANK_LINE":case"BLOCK_FOLDED":case"BLOCK_LITERAL":case"COMMENT":case"DIRECTIVE":case"PLAIN":case"QUOTE_DOUBLE":case"QUOTE_SINGLE":break;default:throw new Error("Unexpected node type "+JSON.stringify(Me.type))}}Me.removeCstBlankLine=e}}),Dp=D({"node_modules/yaml-unist-parser/lib/factories/leading-comment-attachable.js"(Me){"use strict";Ps(),Me.__esModule=!0;function e(){return{leadingComments:[]}}Me.createLeadingCommentAttachable=e}}),kp=D({"node_modules/yaml-unist-parser/lib/factories/trailing-comment-attachable.js"(Me){"use strict";Ps(),Me.__esModule=!0;function e(Me){return Me===void 0&&(Me=null),{trailingComment:Me}}Me.createTrailingCommentAttachable=e}}),Qp=D({"node_modules/yaml-unist-parser/lib/factories/comment-attachable.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=Dp(),zn=kp();function h(){return Bn.__assign(Bn.__assign({},Hn.createLeadingCommentAttachable()),zn.createTrailingCommentAttachable())}Me.createCommentAttachable=h}}),Up=D({"node_modules/yaml-unist-parser/lib/factories/alias.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=Qp(),zn=dc();function h(Me,ni,Ci){return Bn.__assign(Bn.__assign(Bn.__assign(Bn.__assign({},zn.createNode("alias",Me)),Hn.createCommentAttachable()),ni),{value:Ci})}Me.createAlias=h}}),Vp=D({"node_modules/yaml-unist-parser/lib/transforms/alias.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=Up();function r(Me,Hn){var zn=Me.cstNode;return Bn.createAlias(Hn.transformRange({origStart:zn.valueRange.origStart-1,origEnd:zn.valueRange.origEnd}),Hn.transformContent(Me),zn.rawValue)}Me.transformAlias=r}}),qp=D({"node_modules/yaml-unist-parser/lib/factories/block-folded.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a));function r(Me){return Bn.__assign(Bn.__assign({},Me),{type:"blockFolded"})}Me.createBlockFolded=r}}),Jp=D({"node_modules/yaml-unist-parser/lib/factories/block-value.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=Dp(),zn=dc();function h(Me,ni,Ci,ts,Ps,aa){return Bn.__assign(Bn.__assign(Bn.__assign(Bn.__assign({},zn.createNode("blockValue",Me)),Hn.createLeadingCommentAttachable()),ni),{chomping:Ci,indent:ts,value:Ps,indicatorComment:aa})}Me.createBlockValue=h}}),Wp=D({"node_modules/yaml-unist-parser/lib/constants.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn;(function(Me){Me.Tag="!",Me.Anchor="&",Me.Comment="#"})(Bn=Me.PropLeadingCharacter||(Me.PropLeadingCharacter={}))}}),zp=D({"node_modules/yaml-unist-parser/lib/factories/anchor.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=dc();function c(Me,zn){return Bn.__assign(Bn.__assign({},Hn.createNode("anchor",Me)),{value:zn})}Me.createAnchor=c}}),Qf=D({"node_modules/yaml-unist-parser/lib/factories/comment.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=dc();function c(Me,zn){return Bn.__assign(Bn.__assign({},Hn.createNode("comment",Me)),{value:zn})}Me.createComment=c}}),Yf=D({"node_modules/yaml-unist-parser/lib/factories/content.js"(Me){"use strict";Ps(),Me.__esModule=!0;function e(Me,Bn,Hn){return{anchor:Bn,tag:Me,middleComments:Hn}}Me.createContent=e}}),Kf=D({"node_modules/yaml-unist-parser/lib/factories/tag.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=dc();function c(Me,zn){return Bn.__assign(Bn.__assign({},Hn.createNode("tag",Me)),{value:zn})}Me.createTag=c}}),Xf=D({"node_modules/yaml-unist-parser/lib/transforms/content.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=Wp(),Hn=zp(),zn=Qf(),ni=Yf(),Ci=Kf();function y(Me,ts,Ps){Ps===void 0&&(Ps=function(){return!1});for(var aa=Me.cstNode,oa=[],ca=null,_a=null,xa=null,Ga=0,Ha=aa.props;Ga=0;ca--){var _a=Me.contents[ca];if(_a.type==="COMMENT"){var xa=Bn.transformNode(_a);Hn&&Hn.line===xa.position.start.line?aa.unshift(xa):oa?ni.unshift(xa):xa.position.start.offset>=Me.valueRange.origEnd?Ps.unshift(xa):ni.unshift(xa)}else oa=!0}if(Ps.length>1)throw new Error("Unexpected multiple document trailing comments at "+Ci.getPointText(Ps[1].position.start));if(aa.length>1)throw new Error("Unexpected multiple documentHead trailing comments at "+Ci.getPointText(aa[1].position.start));return{comments:ni,endComments:ts,documentTrailingComment:zn.getLast(Ps)||null,documentHeadTrailingComment:zn.getLast(aa)||null}}function I(Me,Bn,Hn){var zn=ni.getMatchIndex(Hn.text.slice(Me.valueRange.origEnd),/^\.\.\./),Ci=zn===-1?Me.valueRange.origEnd:Math.max(0,Me.valueRange.origEnd-1);Hn.text[Ci-1]==="\r"&&Ci--;var ts=Hn.transformRange({origStart:Bn!==null?Bn.position.start.offset:Ci,origEnd:Ci}),Ps=zn===-1?ts.end:Hn.transformOffset(Me.valueRange.origEnd+3);return{position:ts,documentEndPoint:Ps}}}}),ng=D({"node_modules/yaml-unist-parser/lib/factories/document-head.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=oA(),zn=dc(),ni=kp();function d(Me,Ci,ts,Ps){return Bn.__assign(Bn.__assign(Bn.__assign(Bn.__assign({},zn.createNode("documentHead",Me)),Hn.createEndCommentAttachable(ts)),ni.createTrailingCommentAttachable(Ps)),{children:Ci})}Me.createDocumentHead=d}}),ig=D({"node_modules/yaml-unist-parser/lib/transforms/document-head.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=ng(),zn=tg();function h(Me,zn){var ni,Ci=Me.cstNode,ts=d(Ci,zn),Ps=ts.directives,aa=ts.comments,oa=ts.endComments,ca=y(Ci,Ps,zn),_a=ca.position,xa=ca.endMarkerPoint;(ni=zn.comments).push.apply(ni,Bn.__spreadArrays(aa,oa));var f=function(Me){return Me&&zn.comments.push(Me),Hn.createDocumentHead(_a,Ps,oa,Me)};return{createDocumentHeadWithTrailingComment:f,documentHeadEndMarkerPoint:xa}}Me.transformDocumentHead=h;function d(Me,Bn){for(var Hn=[],zn=[],ni=[],Ci=!1,ts=Me.directives.length-1;ts>=0;ts--){var Ps=Bn.transformNode(Me.directives[ts]);Ps.type==="comment"?Ci?zn.unshift(Ps):ni.unshift(Ps):(Ci=!0,Hn.unshift(Ps))}return{directives:Hn,comments:zn,endComments:ni}}function y(Me,Bn,Hn){var ni=zn.getMatchIndex(Hn.text.slice(0,Me.valueRange.origStart),/---\s*$/);ni>0&&!/[\r\n]/.test(Hn.text[ni-1])&&(ni=-1);var Ci=ni===-1?{origStart:Me.valueRange.origStart,origEnd:Me.valueRange.origStart}:{origStart:ni,origEnd:ni+3};return Bn.length!==0&&(Ci.origStart=Bn[0].position.start.offset),{position:Hn.transformRange(Ci),endMarkerPoint:ni===-1?null:Hn.transformOffset(ni)}}}}),sg=D({"node_modules/yaml-unist-parser/lib/transforms/document.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=Zh(),Hn=sA(),zn=rg(),ni=ig();function d(Me,Ci){var ts=ni.transformDocumentHead(Me,Ci),Ps=ts.createDocumentHeadWithTrailingComment,aa=ts.documentHeadEndMarkerPoint,oa=zn.transformDocumentBody(Me,Ci,aa),ca=oa.documentBody,_a=oa.documentEndPoint,xa=oa.documentTrailingComment,Ga=oa.documentHeadTrailingComment,Ha=Ps(Ga);return xa&&Ci.comments.push(xa),Bn.createDocument(Hn.createPosition(Ha.position.start,_a),Ha,ca,xa)}Me.transformDocument=d}}),ag=D({"node_modules/yaml-unist-parser/lib/factories/flow-collection.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=Qp(),zn=oA(),ni=dc();function d(Me,Ci,ts){return Bn.__assign(Bn.__assign(Bn.__assign(Bn.__assign(Bn.__assign({},ni.createNode("flowCollection",Me)),Hn.createCommentAttachable()),zn.createEndCommentAttachable()),Ci),{children:ts})}Me.createFlowCollection=d}}),og=D({"node_modules/yaml-unist-parser/lib/factories/flow-mapping.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=ag();function c(Me,zn,ni){return Bn.__assign(Bn.__assign({},Hn.createFlowCollection(Me,zn,ni)),{type:"flowMapping"})}Me.createFlowMapping=c}}),ug=D({"node_modules/yaml-unist-parser/lib/factories/flow-mapping-item.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=Dp(),zn=dc();function h(Me,ni,Ci){return Bn.__assign(Bn.__assign(Bn.__assign({},zn.createNode("flowMappingItem",Me)),Hn.createLeadingCommentAttachable()),{children:[ni,Ci]})}Me.createFlowMappingItem=h}}),cg=D({"node_modules/yaml-unist-parser/lib/utils/extract-comments.js"(Me){"use strict";Ps(),Me.__esModule=!0;function e(Me,Bn){for(var Hn=[],zn=0,ni=Me;zn=0;zn--)if(Hn.test(Me[zn]))return zn;return-1}Me.findLastCharIndex=e}}),wg=D({"node_modules/yaml-unist-parser/lib/transforms/plain.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=Cg(),Hn=Dg();function c(Me,zn){var ni=Me.cstNode;return Bn.createPlain(zn.transformRange({origStart:ni.valueRange.origStart,origEnd:Hn.findLastCharIndex(zn.text,ni.valueRange.origEnd-1,/\S/)+1}),zn.transformContent(Me),ni.strValue)}Me.transformPlain=c}}),Sg=D({"node_modules/yaml-unist-parser/lib/factories/quote-double.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a));function r(Me){return Bn.__assign(Bn.__assign({},Me),{type:"quoteDouble"})}Me.createQuoteDouble=r}}),Ig=D({"node_modules/yaml-unist-parser/lib/factories/quote-value.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=Qp(),zn=dc();function h(Me,ni,Ci){return Bn.__assign(Bn.__assign(Bn.__assign(Bn.__assign({},zn.createNode("quoteValue",Me)),ni),Hn.createCommentAttachable()),{value:Ci})}Me.createQuoteValue=h}}),xg=D({"node_modules/yaml-unist-parser/lib/transforms/quote-value.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=Ig();function r(Me,Hn){var zn=Me.cstNode;return Bn.createQuoteValue(Hn.transformRange(zn.valueRange),Hn.transformContent(Me),zn.strValue)}Me.transformAstQuoteValue=r}}),kg=D({"node_modules/yaml-unist-parser/lib/transforms/quote-double.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=Sg(),Hn=xg();function c(Me,zn){return Bn.createQuoteDouble(Hn.transformAstQuoteValue(Me,zn))}Me.transformQuoteDouble=c}}),Bg=D({"node_modules/yaml-unist-parser/lib/factories/quote-single.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a));function r(Me){return Bn.__assign(Bn.__assign({},Me),{type:"quoteSingle"})}Me.createQuoteSingle=r}}),Tg=D({"node_modules/yaml-unist-parser/lib/transforms/quote-single.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=Bg(),Hn=xg();function c(Me,zn){return Bn.createQuoteSingle(Hn.transformAstQuoteValue(Me,zn))}Me.transformQuoteSingle=c}}),Fg=D({"node_modules/yaml-unist-parser/lib/factories/sequence.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=oA(),zn=Dp(),ni=dc();function d(Me,Ci,ts){return Bn.__assign(Bn.__assign(Bn.__assign(Bn.__assign(Bn.__assign({},ni.createNode("sequence",Me)),zn.createLeadingCommentAttachable()),Hn.createEndCommentAttachable()),Ci),{children:ts})}Me.createSequence=d}}),Ng=D({"node_modules/yaml-unist-parser/lib/factories/sequence-item.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=(Ha(),se(_a)),Hn=Qp(),zn=oA(),ni=dc();function d(Me,Ci){return Bn.__assign(Bn.__assign(Bn.__assign(Bn.__assign({},ni.createNode("sequenceItem",Me)),Hn.createCommentAttachable()),zn.createEndCommentAttachable()),{children:Ci?[Ci]:[]})}Me.createSequenceItem=d}}),Qg=D({"node_modules/yaml-unist-parser/lib/transforms/seq.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=sA(),Hn=Fg(),zn=Ng(),ni=cg(),Ci=Pd(),ts=eg();function E(Me,Ps){var aa=ni.extractComments(Me.cstNode.items,Ps),oa=aa.map((function(Hn,ni){Ci.extractPropComments(Hn,Ps);var ts=Ps.transformNode(Me.items[ni]);return zn.createSequenceItem(Bn.createPosition(Ps.transformOffset(Hn.valueRange.origStart),ts===null?Ps.transformOffset(Hn.valueRange.origStart+1):ts.position.end),ts)}));return Hn.createSequence(Bn.createPosition(oa[0].position.start,ts.getLast(oa).position.end),Ps.transformContent(Me),oa)}Me.transformSeq=E}}),Rg=D({"node_modules/yaml-unist-parser/lib/transform.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=Vp(),Hn=Cd(),zn=Sd(),ni=xd(),Ci=Qh(),ts=sg(),aa=mg(),oa=yg(),ca=bg(),_a=wg(),xa=kg(),Ga=Tg(),Ha=Qg();function q(Me,Ps){if(Me===null||Me.type===void 0&&Me.value===null)return null;switch(Me.type){case"ALIAS":return Bn.transformAlias(Me,Ps);case"BLOCK_FOLDED":return Hn.transformBlockFolded(Me,Ps);case"BLOCK_LITERAL":return zn.transformBlockLiteral(Me,Ps);case"COMMENT":return ni.transformComment(Me,Ps);case"DIRECTIVE":return Ci.transformDirective(Me,Ps);case"DOCUMENT":return ts.transformDocument(Me,Ps);case"FLOW_MAP":return aa.transformFlowMap(Me,Ps);case"FLOW_SEQ":return oa.transformFlowSeq(Me,Ps);case"MAP":return ca.transformMap(Me,Ps);case"PLAIN":return _a.transformPlain(Me,Ps);case"QUOTE_DOUBLE":return xa.transformQuoteDouble(Me,Ps);case"QUOTE_SINGLE":return Ga.transformQuoteSingle(Me,Ps);case"SEQ":return Ha.transformSeq(Me,Ps);default:throw new Error("Unexpected node type "+Me.type)}}Me.transformNode=q}}),Pg=D({"node_modules/yaml-unist-parser/lib/factories/error.js"(Me){"use strict";Ps(),Me.__esModule=!0;function e(Me,Bn,Hn){var zn=new SyntaxError(Me);return zn.name="YAMLSyntaxError",zn.source=Bn,zn.position=Hn,zn}Me.createError=e}}),Og=D({"node_modules/yaml-unist-parser/lib/transforms/error.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=Pg();function r(Me,Hn){var zn=Me.source.range||Me.source.valueRange;return Bn.createError(Me.message,Hn.text,Hn.transformRange(zn))}Me.transformError=r}}),Lg=D({"node_modules/yaml-unist-parser/lib/factories/point.js"(Me){"use strict";Ps(),Me.__esModule=!0;function e(Me,Bn,Hn){return{offset:Me,line:Bn,column:Hn}}Me.createPoint=e}}),Mg=D({"node_modules/yaml-unist-parser/lib/transforms/offset.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=Lg();function r(Me,Hn){Me<0?Me=0:Me>Hn.text.length&&(Me=Hn.text.length);var zn=Hn.locator.locationForIndex(Me);return Bn.createPoint(Me,zn.line+1,zn.column+1)}Me.transformOffset=r}}),jg=D({"node_modules/yaml-unist-parser/lib/transforms/range.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=sA();function r(Me,Hn){return Bn.createPosition(Hn.transformOffset(Me.origStart),Hn.transformOffset(Me.origEnd))}Me.transformRange=r}}),Ug=D({"node_modules/yaml-unist-parser/lib/utils/add-orig-range.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=!0;function r(Me){if(!Me.setOrigRanges()){var E=function(Me){if(h(Me))return Me.origStart=Me.start,Me.origEnd=Me.end,Bn;if(d(Me))return Me.origOffset=Me.offset,Bn};Me.forEach((function(Me){return c(Me,E)}))}}Me.addOrigRange=r;function c(Me,Hn){if(!(!Me||typeof Me!="object")&&Hn(Me)!==Bn)for(var zn=0,ni=Object.keys(Me);znMe.offset}}}),qg=D({"node_modules/yaml/dist/PlainValue-ec8e588e.js"(Me){"use strict";Ps();var Bn={ANCHOR:"&",COMMENT:"#",TAG:"!",DIRECTIVES_END:"-",DOCUMENT_END:"."},Hn={ALIAS:"ALIAS",BLANK_LINE:"BLANK_LINE",BLOCK_FOLDED:"BLOCK_FOLDED",BLOCK_LITERAL:"BLOCK_LITERAL",COMMENT:"COMMENT",DIRECTIVE:"DIRECTIVE",DOCUMENT:"DOCUMENT",FLOW_MAP:"FLOW_MAP",FLOW_SEQ:"FLOW_SEQ",MAP:"MAP",MAP_KEY:"MAP_KEY",MAP_VALUE:"MAP_VALUE",PLAIN:"PLAIN",QUOTE_DOUBLE:"QUOTE_DOUBLE",QUOTE_SINGLE:"QUOTE_SINGLE",SEQ:"SEQ",SEQ_ITEM:"SEQ_ITEM"},zn="tag:yaml.org,2002:",ni={MAP:"tag:yaml.org,2002:map",SEQ:"tag:yaml.org,2002:seq",STR:"tag:yaml.org,2002:str"};function d(Me){let Bn=[0],Hn=Me.indexOf(`\n`);for(;Hn!==-1;)Hn+=1,Bn.push(Hn),Hn=Me.indexOf(`\n`,Hn);return Bn}function y(Me){let Bn,Hn;return typeof Me=="string"?(Bn=d(Me),Hn=Me):(Array.isArray(Me)&&(Me=Me[0]),Me&&Me.context&&(Me.lineStarts||(Me.lineStarts=d(Me.context.src)),Bn=Me.lineStarts,Hn=Me.context.src)),{lineStarts:Bn,src:Hn}}function E(Me,Bn){if(typeof Me!="number"||Me<0)return null;let{lineStarts:Hn,src:zn}=y(Bn);if(!Hn||!zn||Me>zn.length)return null;for(let Bn=0;Bn=1)||Me>Hn.length)return null;let ni=Hn[Me-1],Ci=Hn[Me];for(;Ci&&Ci>ni&&zn[Ci-1]===`\n`;)--Ci;return zn.slice(ni,Ci)}function S(Me,Bn){let{start:Hn,end:zn}=Me,ni=arguments.length>2&&arguments[2]!==void 0?arguments[2]:80,Ci=I(Hn.line,Bn);if(!Ci)return null;let{col:ts}=Hn;if(Ci.length>ni)if(ts<=ni-10)Ci=Ci.substr(0,ni-1)+"…";else{let Me=Math.round(ni/2);Ci.length>ts+Me&&(Ci=Ci.substr(0,ts+Me-1)+"…"),ts-=Ci.length-ni,Ci="…"+Ci.substr(1-ni)}let Ps=1,aa="";zn&&(zn.line===Hn.line&&ts+(zn.col-Hn.col)<=ni+1?Ps=zn.col-Hn.col:(Ps=Math.min(Ci.length+1,ni)-ts,aa="…"));let oa=ts>1?" ".repeat(ts-1):"",ca="^".repeat(Ps);return`${Ci}\n${oa}${ca}${aa}`}var Ci=class{static copy(Me){return new Ci(Me.start,Me.end)}constructor(Me,Bn){this.start=Me,this.end=Bn||Me}isEmpty(){return typeof this.start!="number"||!this.end||this.end<=this.start}setOrigRange(Me,Bn){let{start:Hn,end:zn}=this;if(Me.length===0||zn<=Me[0])return this.origStart=Hn,this.origEnd=zn,Bn;let ni=Bn;for(;niHn);)++ni;this.origStart=Hn+ni;let Ci=ni;for(;ni=zn);)++ni;return this.origEnd=zn+ni,Ci}},ts=class{static addStringTerminator(Me,Bn,Hn){if(Hn[Hn.length-1]===`\n`)return Hn;let zn=ts.endOfWhiteSpace(Me,Bn);return zn>=Me.length||Me[zn]===`\n`?Hn+`\n`:Hn}static atDocumentBoundary(Me,Hn,zn){let ni=Me[Hn];if(!ni)return!0;let Ci=Me[Hn-1];if(Ci&&Ci!==`\n`)return!1;if(zn){if(ni!==zn)return!1}else if(ni!==Bn.DIRECTIVES_END&&ni!==Bn.DOCUMENT_END)return!1;let ts=Me[Hn+1],Ps=Me[Hn+2];if(ts!==ni||Ps!==ni)return!1;let aa=Me[Hn+3];return!aa||aa===`\n`||aa==="\t"||aa===" "}static endOfIdentifier(Me,Bn){let Hn=Me[Bn],zn=Hn==="<",ni=zn?[`\n`,"\t"," ",">"]:[`\n`,"\t"," ","[","]","{","}",","];for(;Hn&&ni.indexOf(Hn)===-1;)Hn=Me[Bn+=1];return zn&&Hn===">"&&(Bn+=1),Bn}static endOfIndent(Me,Bn){let Hn=Me[Bn];for(;Hn===" ";)Hn=Me[Bn+=1];return Bn}static endOfLine(Me,Bn){let Hn=Me[Bn];for(;Hn&&Hn!==`\n`;)Hn=Me[Bn+=1];return Bn}static endOfWhiteSpace(Me,Bn){let Hn=Me[Bn];for(;Hn==="\t"||Hn===" ";)Hn=Me[Bn+=1];return Bn}static startOfLine(Me,Bn){let Hn=Me[Bn-1];if(Hn===`\n`)return Bn;for(;Hn&&Hn!==`\n`;)Hn=Me[Bn-=1];return Bn+1}static endOfBlockIndent(Me,Bn,Hn){let zn=ts.endOfIndent(Me,Hn);if(zn>Hn+Bn)return zn;{let Bn=ts.endOfWhiteSpace(Me,zn),Hn=Me[Bn];if(!Hn||Hn===`\n`)return Bn}return null}static atBlank(Me,Bn,Hn){let zn=Me[Bn];return zn===`\n`||zn==="\t"||zn===" "||Hn&&!zn}static nextNodeIsIndented(Me,Bn,Hn){return!Me||Bn<0?!1:Bn>0?!0:Hn&&Me==="-"}static normalizeOffset(Me,Bn){let Hn=Me[Bn];return Hn?Hn!==`\n`&&Me[Bn-1]===`\n`?Bn-1:ts.endOfWhiteSpace(Me,Bn):Bn}static foldNewline(Me,Bn,Hn){let zn=0,ni=!1,Ci="",Ps=Me[Bn+1];for(;Ps===" "||Ps==="\t"||Ps===`\n`;){switch(Ps){case`\n`:zn=0,Bn+=1,Ci+=`\n`;break;case"\t":zn<=Hn&&(ni=!0),Bn=ts.endOfWhiteSpace(Me,Bn+2)-1;break;case" ":zn+=1,Bn+=1;break}Ps=Me[Bn+1]}return Ci||(Ci=" "),Ps&&zn<=Hn&&(ni=!0),{fold:Ci,offset:Bn,error:ni}}constructor(Me,Bn,Hn){Object.defineProperty(this,"context",{value:Hn||null,writable:!0}),this.error=null,this.range=null,this.valueRange=null,this.props=Bn||[],this.type=Me,this.value=null}getPropValue(Me,Bn,Hn){if(!this.context)return null;let{src:zn}=this.context,ni=this.props[Me];return ni&&zn[ni.start]===Bn?zn.slice(ni.start+(Hn?1:0),ni.end):null}get anchor(){for(let Me=0;Me0?Me.join(`\n`):null}commentHasRequiredWhitespace(Me){let{src:Bn}=this.context;if(this.header&&Me===this.header.end||!this.valueRange)return!1;let{end:Hn}=this.valueRange;return Me!==Hn||ts.atBlank(Bn,Hn-1)}get hasComment(){if(this.context){let{src:Me}=this.context;for(let Hn=0;HnHn.setOrigRange(Me,Bn))),Bn}toString(){let{context:{src:Me},range:Bn,value:Hn}=this;if(Hn!=null)return Hn;let zn=Me.slice(Bn.start,Bn.end);return ts.addStringTerminator(Me,Bn.end,zn)}},aa=class extends Error{constructor(Me,Bn,Hn){if(!Hn||!(Bn instanceof ts))throw new Error(`Invalid arguments for new ${Me}`);super(),this.name=Me,this.message=Hn,this.source=Bn}makePretty(){if(!this.source)return;this.nodeType=this.source.type;let Me=this.source.context&&this.source.context.root;if(typeof this.offset=="number"){this.range=new Ci(this.offset,this.offset+1);let Bn=Me&&E(this.offset,Me);if(Bn){let Me={line:Bn.line,col:Bn.col+1};this.linePos={start:Bn,end:Me}}delete this.offset}else this.range=this.source.range,this.linePos=this.source.rangeAsLinePos;if(this.linePos){let{line:Bn,col:Hn}=this.linePos.start;this.message+=` at line ${Bn}, column ${Hn}`;let zn=Me&&S(this.linePos,Me);zn&&(this.message+=`:\n\n${zn}\n`)}delete this.source}},oa=class extends aa{constructor(Me,Bn){super("YAMLReferenceError",Me,Bn)}},ca=class extends aa{constructor(Me,Bn){super("YAMLSemanticError",Me,Bn)}},_a=class extends aa{constructor(Me,Bn){super("YAMLSyntaxError",Me,Bn)}},xa=class extends aa{constructor(Me,Bn){super("YAMLWarning",Me,Bn)}};function U(Me,Bn,Hn){return Bn in Me?Object.defineProperty(Me,Bn,{value:Hn,enumerable:!0,configurable:!0,writable:!0}):Me[Bn]=Hn,Me}var Ga=class extends ts{static endOfLine(Me,Bn,Hn){let zn=Me[Bn],ni=Bn;for(;zn&&zn!==`\n`&&!(Hn&&(zn==="["||zn==="]"||zn==="{"||zn==="}"||zn===","));){let Bn=Me[ni+1];if(zn===":"&&(!Bn||Bn===`\n`||Bn==="\t"||Bn===" "||Hn&&Bn===",")||(zn===" "||zn==="\t")&&Bn==="#")break;ni+=1,zn=Bn}return ni}get strValue(){if(!this.valueRange||!this.context)return null;let{start:Me,end:Bn}=this.valueRange,{src:Hn}=this.context,zn=Hn[Bn-1];for(;MeCi?Hn.slice(Ci,zn+1):Me)}else ni+=Me}let Ci=Hn[Me];switch(Ci){case"\t":{let Me="Plain value cannot start with a tab character";return{errors:[new ca(this,Me)],str:ni}}case"@":case"`":{let Me=`Plain value cannot start with reserved character ${Ci}`;return{errors:[new ca(this,Me)],str:ni}}default:return ni}}parseBlockValue(Me){let{indent:Bn,inFlow:Hn,src:zn}=this.context,ni=Me,Ci=Me;for(let Me=zn[ni];Me===`\n`&&!ts.atDocumentBoundary(zn,ni+1);Me=zn[ni]){let Me=ts.endOfBlockIndent(zn,Bn,ni+1);if(Me===null||zn[Me]==="#")break;zn[Me]===`\n`?ni=Me:(Ci=Ga.endOfLine(zn,Me,Hn),ni=Ci)}return this.valueRange.isEmpty()&&(this.valueRange.start=Me),this.valueRange.end=Ci,Ci}parse(Me,Bn){this.context=Me;let{inFlow:Hn,src:zn}=Me,ni=Bn,Ps=zn[ni];return Ps&&Ps!=="#"&&Ps!==`\n`&&(ni=Ga.endOfLine(zn,Bn,Hn)),this.valueRange=new Ci(Bn,ni),ni=ts.endOfWhiteSpace(zn,ni),ni=this.parseComment(ni),(!this.hasComment||this.valueRange.isEmpty())&&(ni=this.parseBlockValue(ni)),ni}};Me.Char=Bn,Me.Node=ts,Me.PlainValue=Ga,Me.Range=Ci,Me.Type=Hn,Me.YAMLError=aa,Me.YAMLReferenceError=oa,Me.YAMLSemanticError=ca,Me.YAMLSyntaxError=_a,Me.YAMLWarning=xa,Me._defineProperty=U,Me.defaultTagPrefix=zn,Me.defaultTags=ni}}),Jg=D({"node_modules/yaml/dist/parse-cst.js"(Me){"use strict";Ps();var Bn=qg(),Hn=class extends Bn.Node{constructor(){super(Bn.Type.BLANK_LINE)}get includesTrailingLines(){return!0}parse(Me,Hn){return this.context=Me,this.range=new Bn.Range(Hn,Hn+1),Hn+1}},zn=class extends Bn.Node{constructor(Me,Bn){super(Me,Bn),this.node=null}get includesTrailingLines(){return!!this.node&&this.node.includesTrailingLines}parse(Me,zn){this.context=Me;let{parseNode:ni,src:Ci}=Me,{atLineStart:ts,lineStart:Ps}=Me;!ts&&this.type===Bn.Type.SEQ_ITEM&&(this.error=new Bn.YAMLSemanticError(this,"Sequence items must not have preceding content on the same line"));let aa=ts?zn-Ps:Me.indent,oa=Bn.Node.endOfWhiteSpace(Ci,zn+1),ca=Ci[oa],_a=ca==="#",xa=[],Ga=null;for(;ca===`\n`||ca==="#";){if(ca==="#"){let Me=Bn.Node.endOfLine(Ci,oa+1);xa.push(new Bn.Range(oa,Me)),oa=Me}else{ts=!0,Ps=oa+1;let Me=Bn.Node.endOfWhiteSpace(Ci,Ps);Ci[Me]===`\n`&&xa.length===0&&(Ga=new Hn,Ps=Ga.parse({src:Ci},Ps)),oa=Bn.Node.endOfIndent(Ci,Ps)}ca=Ci[oa]}if(Bn.Node.nextNodeIsIndented(ca,oa-(Ps+aa),this.type!==Bn.Type.SEQ_ITEM)?this.node=ni({atLineStart:ts,inCollection:!1,indent:aa,lineStart:Ps,parent:this},oa):ca&&Ps>zn+1&&(oa=Ps-1),this.node){if(Ga){let Bn=Me.parent.items||Me.parent.contents;Bn&&Bn.push(Ga)}xa.length&&Array.prototype.push.apply(this.props,xa),oa=this.node.range.end}else if(_a){let Me=xa[0];this.props.push(Me),oa=Me.end}else oa=Bn.Node.endOfLine(Ci,zn+1);let Ha=this.node?this.node.valueRange.end:oa;return this.valueRange=new Bn.Range(zn,Ha),oa}setOrigRanges(Me,Bn){return Bn=super.setOrigRanges(Me,Bn),this.node?this.node.setOrigRanges(Me,Bn):Bn}toString(){let{context:{src:Me},node:Hn,range:zn,value:ni}=this;if(ni!=null)return ni;let Ci=Hn?Me.slice(zn.start,Hn.range.start)+String(Hn):Me.slice(zn.start,zn.end);return Bn.Node.addStringTerminator(Me,zn.end,Ci)}},ni=class extends Bn.Node{constructor(){super(Bn.Type.COMMENT)}parse(Me,Hn){this.context=Me;let zn=this.parseComment(Hn);return this.range=new Bn.Range(Hn,zn),zn}};function d(Me){let Hn=Me;for(;Hn instanceof zn;)Hn=Hn.node;if(!(Hn instanceof Ci))return null;let ni=Hn.items.length,ts=-1;for(let Me=ni-1;Me>=0;--Me){let zn=Hn.items[Me];if(zn.type===Bn.Type.COMMENT){let{indent:Bn,lineStart:Hn}=zn.context;if(Bn>0&&zn.range.start>=Hn+Bn)break;ts=Me}else if(zn.type===Bn.Type.BLANK_LINE)ts=Me;else break}if(ts===-1)return null;let Ps=Hn.items.splice(ts,ni-ts),aa=Ps[0].range.start;for(;Hn.range.end=aa,Hn.valueRange&&Hn.valueRange.end>aa&&(Hn.valueRange.end=aa),Hn!==Me;)Hn=Hn.context.parent;return Ps}var Ci=class extends Bn.Node{static nextContentHasIndent(Me,Hn,zn){let ni=Bn.Node.endOfLine(Me,Hn)+1;Hn=Bn.Node.endOfWhiteSpace(Me,ni);let ts=Me[Hn];return ts?Hn>=ni+zn?!0:ts!=="#"&&ts!==`\n`?!1:Ci.nextContentHasIndent(Me,Hn,zn):!1}constructor(Me){super(Me.type===Bn.Type.SEQ_ITEM?Bn.Type.SEQ:Bn.Type.MAP);for(let Bn=Me.props.length-1;Bn>=0;--Bn)if(Me.props[Bn].start0}parse(Me,zn){this.context=Me;let{parseNode:ts,src:Ps}=Me,aa=Bn.Node.startOfLine(Ps,zn),oa=this.items[0];oa.context.parent=this,this.valueRange=Bn.Range.copy(oa.valueRange);let ca=oa.range.start-oa.context.lineStart,_a=zn;_a=Bn.Node.normalizeOffset(Ps,_a);let xa=Ps[_a],Ga=Bn.Node.endOfWhiteSpace(Ps,aa)===_a,Ha=!1;for(;xa;){for(;xa===`\n`||xa==="#";){if(Ga&&xa===`\n`&&!Ha){let Me=new Hn;if(_a=Me.parse({src:Ps},_a),this.valueRange.end=_a,_a>=Ps.length){xa=null;break}this.items.push(Me),_a-=1}else if(xa==="#"){if(_a=Ps.length){xa=null;break}}if(aa=_a+1,_a=Bn.Node.endOfIndent(Ps,aa),Bn.Node.atBlank(Ps,_a)){let Me=Bn.Node.endOfWhiteSpace(Ps,_a),Hn=Ps[Me];(!Hn||Hn===`\n`||Hn==="#")&&(_a=Me)}xa=Ps[_a],Ga=!0}if(!xa)break;if(_a!==aa+ca&&(Ga||xa!==":")){if(_azn&&(_a=aa);break}else if(!this.error){let Me="All collection items must start at the same column";this.error=new Bn.YAMLSyntaxError(this,Me)}}if(oa.type===Bn.Type.SEQ_ITEM){if(xa!=="-"){aa>zn&&(_a=aa);break}}else if(xa==="-"&&!this.error){let Me=Ps[_a+1];if(!Me||Me===`\n`||Me==="\t"||Me===" "){let Me="A collection cannot be both a mapping and a sequence";this.error=new Bn.YAMLSyntaxError(this,Me)}}let Me=ts({atLineStart:Ga,inCollection:!0,indent:ca,lineStart:aa,parent:this},_a);if(!Me)return _a;if(this.items.push(Me),this.valueRange.end=Me.valueRange.end,_a=Bn.Node.normalizeOffset(Ps,Me.range.end),xa=Ps[_a],Ga=!1,Ha=Me.includesTrailingLines,xa){let Me=_a-1,Bn=Ps[Me];for(;Bn===" "||Bn==="\t";)Bn=Ps[--Me];Bn===`\n`&&(aa=Me+1,Ga=!0)}let so=d(Me);so&&Array.prototype.push.apply(this.items,so)}return _a}setOrigRanges(Me,Bn){return Bn=super.setOrigRanges(Me,Bn),this.items.forEach((Hn=>{Bn=Hn.setOrigRanges(Me,Bn)})),Bn}toString(){let{context:{src:Me},items:Hn,range:zn,value:ni}=this;if(ni!=null)return ni;let Ci=Me.slice(zn.start,Hn[0].range.start)+String(Hn[0]);for(let Me=1;Me0&&(this.contents=this.directives,this.directives=[]),oa}return zn[oa]?(this.directivesEndMarker=new Bn.Range(oa,oa+3),oa+3):(Ps?this.error=new Bn.YAMLSemanticError(this,"Missing directives-end indicator line"):this.directives.length>0&&(this.contents=this.directives,this.directives=[]),oa)}parseContents(Me){let{parseNode:zn,src:Ci}=this.context;this.contents||(this.contents=[]);let ts=Me;for(;Ci[ts-1]==="-";)ts-=1;let Ps=Bn.Node.endOfWhiteSpace(Ci,Me),oa=ts===Me;for(this.valueRange=new Bn.Range(Ps);!Bn.Node.atDocumentBoundary(Ci,Ps,Bn.Char.DOCUMENT_END);){switch(Ci[Ps]){case`\n`:if(oa){let Me=new Hn;Ps=Me.parse({src:Ci},Ps),Ps{Bn=Hn.setOrigRanges(Me,Bn)})),this.directivesEndMarker&&(Bn=this.directivesEndMarker.setOrigRange(Me,Bn)),this.contents.forEach((Hn=>{Bn=Hn.setOrigRanges(Me,Bn)})),this.documentEndMarker&&(Bn=this.documentEndMarker.setOrigRange(Me,Bn)),Bn}toString(){let{contents:Me,directives:Hn,value:zn}=this;if(zn!=null)return zn;let ni=Hn.join("");return Me.length>0&&((Hn.length>0||Me[0].type===Bn.Type.COMMENT)&&(ni+=`---\n`),ni+=Me.join("")),ni[ni.length-1]!==`\n`&&(ni+=`\n`),ni}},oa=class extends Bn.Node{parse(Me,Hn){this.context=Me;let{src:zn}=Me,ni=Bn.Node.endOfIdentifier(zn,Hn+1);return this.valueRange=new Bn.Range(Hn+1,ni),ni=Bn.Node.endOfWhiteSpace(zn,ni),ni=this.parseComment(ni),ni}},ca={CLIP:"CLIP",KEEP:"KEEP",STRIP:"STRIP"},_a=class extends Bn.Node{constructor(Me,Bn){super(Me,Bn),this.blockIndent=null,this.chomping=ca.CLIP,this.header=null}get includesTrailingLines(){return this.chomping===ca.KEEP}get strValue(){if(!this.valueRange||!this.context)return null;let{start:Me,end:Hn}=this.valueRange,{indent:zn,src:ni}=this.context;if(this.valueRange.isEmpty())return"";let Ci=null,ts=ni[Hn-1];for(;ts===`\n`||ts==="\t"||ts===" ";){if(Hn-=1,Hn<=Me){if(this.chomping===ca.KEEP)break;return""}ts===`\n`&&(Ci=Hn),ts=ni[Hn-1]}let Ps=Hn+1;Ci&&(this.chomping===ca.KEEP?(Ps=Ci,Hn=this.valueRange.end):Hn=Ci);let aa=zn+this.blockIndent,oa=this.type===Bn.Type.BLOCK_FOLDED,_a=!0,xa="",Ga="",Ha=!1;for(let zn=Me;znPs&&(Ps=oa);zn[Me]===`\n`?Ci=Me:Ci=ts=Bn.Node.endOfLine(zn,Me)}return this.chomping!==ca.KEEP&&(Ci=zn[ts]?ts+1:ts),this.valueRange=new Bn.Range(Me+1,Ci),Ci}parse(Me,Hn){this.context=Me;let{src:zn}=Me,ni=this.parseBlockHeader(Hn);return ni=Bn.Node.endOfWhiteSpace(zn,ni),ni=this.parseComment(ni),ni=this.parseBlockValue(ni),ni}setOrigRanges(Me,Bn){return Bn=super.setOrigRanges(Me,Bn),this.header?this.header.setOrigRange(Me,Bn):Bn}},xa=class extends Bn.Node{constructor(Me,Bn){super(Me,Bn),this.items=null}prevNodeIsJsonLike(){let Me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.items.length,Hn=this.items[Me-1];return!!Hn&&(Hn.jsonLike||Hn.type===Bn.Type.COMMENT&&this.prevNodeIsJsonLike(Me-1))}parse(Me,zn){this.context=Me;let{parseNode:Ci,src:ts}=Me,{indent:Ps,lineStart:aa}=Me,oa=ts[zn];this.items=[{char:oa,offset:zn}];let ca=Bn.Node.endOfWhiteSpace(ts,zn+1);for(oa=ts[ca];oa&&oa!=="]"&&oa!=="}";){switch(oa){case`\n`:{aa=ca+1;let Me=Bn.Node.endOfWhiteSpace(ts,aa);if(ts[Me]===`\n`){let Me=new Hn;aa=Me.parse({src:ts},aa),this.items.push(Me)}if(ca=Bn.Node.endOfIndent(ts,aa),ca<=aa+Ps&&(oa=ts[ca],ca{if(zn instanceof Bn.Node)Hn=zn.setOrigRanges(Me,Hn);else if(Me.length===0)zn.origOffset=zn.offset;else{let Bn=Hn;for(;Bnzn.offset);)++Bn;zn.origOffset=zn.offset+Bn,Hn=Bn}})),Hn}toString(){let{context:{src:Me},items:Hn,range:zn,value:ni}=this;if(ni!=null)return ni;let Ci=Hn.filter((Me=>Me instanceof Bn.Node)),ts="",Ps=zn.start;return Ci.forEach((Bn=>{let Hn=Me.slice(Ps,Bn.range.start);Ps=Bn.range.end,ts+=Hn+String(Bn),ts[ts.length-1]===`\n`&&Me[Ps-1]!==`\n`&&Me[Ps]===`\n`&&(Ps+=1)})),ts+=Me.slice(Ps,zn.end),Bn.Node.addStringTerminator(Me,zn.end,ts)}},Ga=class extends Bn.Node{static endOfQuote(Me,Bn){let Hn=Me[Bn];for(;Hn&&Hn!=='"';)Bn+=Hn==="\\"?2:1,Hn=Me[Bn];return Bn+1}get strValue(){if(!this.valueRange||!this.context)return null;let Me=[],{start:Hn,end:zn}=this.valueRange,{indent:ni,src:Ci}=this.context;Ci[zn-1]!=='"'&&Me.push(new Bn.YAMLSyntaxError(this,'Missing closing "quote'));let ts="";for(let Ps=Hn+1;PsMe?Ci.slice(Me,Ps+1):Hn)}else ts+=Hn}return Me.length>0?{errors:Me,str:ts}:ts}parseCharCode(Me,Hn,zn){let{src:ni}=this.context,Ci=ni.substr(Me,Hn),ts=Ci.length===Hn&&/^[0-9a-fA-F]+$/.test(Ci)?parseInt(Ci,16):NaN;return isNaN(ts)?(zn.push(new Bn.YAMLSyntaxError(this,`Invalid escape sequence ${ni.substr(Me-2,Hn+2)}`)),ni.substr(Me-2,Hn+2)):String.fromCodePoint(ts)}parse(Me,Hn){this.context=Me;let{src:zn}=Me,ni=Ga.endOfQuote(zn,Hn+1);return this.valueRange=new Bn.Range(Hn,ni),ni=Bn.Node.endOfWhiteSpace(zn,ni),ni=this.parseComment(ni),ni}},Ha=class extends Bn.Node{static endOfQuote(Me,Bn){let Hn=Me[Bn];for(;Hn;)if(Hn==="'"){if(Me[Bn+1]!=="'")break;Hn=Me[Bn+=2]}else Hn=Me[Bn+=1];return Bn+1}get strValue(){if(!this.valueRange||!this.context)return null;let Me=[],{start:Hn,end:zn}=this.valueRange,{indent:ni,src:Ci}=this.context;Ci[zn-1]!=="'"&&Me.push(new Bn.YAMLSyntaxError(this,"Missing closing 'quote"));let ts="";for(let Ps=Hn+1;PsMe?Ci.slice(Me,Ps+1):Hn)}else ts+=Hn}return Me.length>0?{errors:Me,str:ts}:ts}parse(Me,Hn){this.context=Me;let{src:zn}=Me,ni=Ha.endOfQuote(zn,Hn+1);return this.valueRange=new Bn.Range(Hn,ni),ni=Bn.Node.endOfWhiteSpace(zn,ni),ni=this.parseComment(ni),ni}};function R(Me,Hn){switch(Me){case Bn.Type.ALIAS:return new oa(Me,Hn);case Bn.Type.BLOCK_FOLDED:case Bn.Type.BLOCK_LITERAL:return new _a(Me,Hn);case Bn.Type.FLOW_MAP:case Bn.Type.FLOW_SEQ:return new xa(Me,Hn);case Bn.Type.MAP_KEY:case Bn.Type.MAP_VALUE:case Bn.Type.SEQ_ITEM:return new zn(Me,Hn);case Bn.Type.COMMENT:case Bn.Type.PLAIN:return new Bn.PlainValue(Me,Hn);case Bn.Type.QUOTE_DOUBLE:return new Ga(Me,Hn);case Bn.Type.QUOTE_SINGLE:return new Ha(Me,Hn);default:return null}}var so=class{static parseType(Me,Hn,zn){switch(Me[Hn]){case"*":return Bn.Type.ALIAS;case">":return Bn.Type.BLOCK_FOLDED;case"|":return Bn.Type.BLOCK_LITERAL;case"{":return Bn.Type.FLOW_MAP;case"[":return Bn.Type.FLOW_SEQ;case"?":return!zn&&Bn.Node.atBlank(Me,Hn+1,!0)?Bn.Type.MAP_KEY:Bn.Type.PLAIN;case":":return!zn&&Bn.Node.atBlank(Me,Hn+1,!0)?Bn.Type.MAP_VALUE:Bn.Type.PLAIN;case"-":return!zn&&Bn.Node.atBlank(Me,Hn+1,!0)?Bn.Type.SEQ_ITEM:Bn.Type.PLAIN;case'"':return Bn.Type.QUOTE_DOUBLE;case"'":return Bn.Type.QUOTE_SINGLE;default:return Bn.Type.PLAIN}}constructor(){let Me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{atLineStart:Hn,inCollection:zn,inFlow:ni,indent:ts,lineStart:Ps,parent:aa}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Bn._defineProperty(this,"parseNode",((Me,Hn)=>{if(Bn.Node.atDocumentBoundary(this.src,Hn))return null;let zn=new so(this,Me),{props:ni,type:ts,valueStart:Ps}=zn.parseProps(Hn),aa=R(ts,ni),oa=aa.parse(zn,Ps);if(aa.range=new Bn.Range(Hn,oa),oa<=Hn&&(aa.error=new Error("Node#parse consumed no characters"),aa.error.parseEnd=oa,aa.error.source=aa,aa.range.end=Hn+1),zn.nodeStartsCollection(aa)){!aa.error&&!zn.atLineStart&&zn.parent.type===Bn.Type.DOCUMENT&&(aa.error=new Bn.YAMLSyntaxError(aa,"Block collection must not have preceding content here (e.g. directives-end indicator)"));let Me=new Ci(aa);return oa=Me.parse(new so(zn),oa),Me.range=new Bn.Range(Hn,oa),Me}return aa})),this.atLineStart=Hn!=null?Hn:Me.atLineStart||!1,this.inCollection=zn!=null?zn:Me.inCollection||!1,this.inFlow=ni!=null?ni:Me.inFlow||!1,this.indent=ts!=null?ts:Me.indent,this.lineStart=Ps!=null?Ps:Me.lineStart,this.parent=aa!=null?aa:Me.parent||{},this.root=Me.root,this.src=Me.src}nodeStartsCollection(Me){let{inCollection:Hn,inFlow:ni,src:Ci}=this;if(Hn||ni)return!1;if(Me instanceof zn)return!0;let ts=Me.range.end;return Ci[ts]===`\n`||Ci[ts-1]===`\n`?!1:(ts=Bn.Node.endOfWhiteSpace(Ci,ts),Ci[ts]===":")}parseProps(Me){let{inFlow:Hn,parent:zn,src:ni}=this,Ci=[],ts=!1;Me=this.atLineStart?Bn.Node.endOfIndent(ni,Me):Bn.Node.endOfWhiteSpace(ni,Me);let Ps=ni[Me];for(;Ps===Bn.Char.ANCHOR||Ps===Bn.Char.COMMENT||Ps===Bn.Char.TAG||Ps===`\n`;){if(Ps===`\n`){let Hn=Me,Ci;do{Ci=Hn+1,Hn=Bn.Node.endOfIndent(ni,Ci)}while(ni[Hn]===`\n`);let Ps=Hn-(Ci+this.indent),aa=zn.type===Bn.Type.SEQ_ITEM&&zn.context.atLineStart;if(ni[Hn]!=="#"&&!Bn.Node.nextNodeIsIndented(ni[Hn],Ps,!aa))break;this.atLineStart=!0,this.lineStart=Ci,ts=!1,Me=Hn}else if(Ps===Bn.Char.COMMENT){let Hn=Bn.Node.endOfLine(ni,Me+1);Ci.push(new Bn.Range(Me,Hn)),Me=Hn}else{let Hn=Bn.Node.endOfIdentifier(ni,Me+1);Ps===Bn.Char.TAG&&ni[Hn]===","&&/^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(ni.slice(Me+1,Hn+13))&&(Hn=Bn.Node.endOfIdentifier(ni,Hn+5)),Ci.push(new Bn.Range(Me,Hn)),ts=!0,Me=Bn.Node.endOfWhiteSpace(ni,Hn)}Ps=ni[Me]}ts&&Ps===":"&&Bn.Node.atBlank(ni,Me+1,!0)&&(Me-=1);let aa=so.parseType(ni,Me,Hn);return{props:Ci,type:aa,valueStart:Me}}};function U(Me){let Bn=[];Me.indexOf("\r")!==-1&&(Me=Me.replace(/\r\n?/g,((Me,Hn)=>(Me.length>1&&Bn.push(Hn),`\n`))));let Hn=[],zn=0;do{let Bn=new aa,ni=new so({src:Me});zn=Bn.parse(ni,zn),Hn.push(Bn)}while(zn{if(Bn.length===0)return!1;for(let Me=1;MeHn.join(`...\n`),Hn}Me.parse=U}}),$g=D({"node_modules/yaml/dist/resolveSeq-d03cb037.js"(Me){"use strict";Ps();var Bn=qg();function r(Me,Bn,Hn){return Hn?`#${Hn.replace(/[\s\S]^/gm,`$&${Bn}#`)}\n${Bn}${Me}`:Me}function c(Me,Bn,Hn){return Hn?Hn.indexOf(`\n`)===-1?`${Me} #${Hn}`:`${Me}\n`+Hn.replace(/^/gm,`${Bn||""}#`):Me}var Hn=class{};function d(Me,Bn,Hn){if(Array.isArray(Me))return Me.map(((Me,Bn)=>d(Me,String(Bn),Hn)));if(Me&&typeof Me.toJSON=="function"){let zn=Hn&&Hn.anchors&&Hn.anchors.get(Me);zn&&(Hn.onCreate=Me=>{zn.res=Me,delete Hn.onCreate});let ni=Me.toJSON(Bn,Hn);return zn&&Hn.onCreate&&Hn.onCreate(ni),ni}return(!Hn||!Hn.keep)&&typeof Me=="bigint"?Number(Me):Me}var zn=class extends Hn{constructor(Me){super(),this.value=Me}toJSON(Me,Bn){return Bn&&Bn.keep?this.value:d(this.value,Me,Bn)}toString(){return String(this.value)}};function E(Me,Bn,Hn){let zn=Hn;for(let Me=Bn.length-1;Me>=0;--Me){let Hn=Bn[Me];if(Number.isInteger(Hn)&&Hn>=0){let Me=[];Me[Hn]=zn,zn=Me}else{let Me={};Object.defineProperty(Me,Hn,{value:zn,writable:!0,enumerable:!0,configurable:!0}),zn=Me}}return Me.createNode(zn,!1)}var I=Me=>Me==null||typeof Me=="object"&&Me[Symbol.iterator]().next().done,ni=class extends Hn{constructor(Me){super(),Bn._defineProperty(this,"items",[]),this.schema=Me}addIn(Me,Bn){if(I(Me))this.add(Bn);else{let[Hn,...zn]=Me,Ci=this.get(Hn,!0);if(Ci instanceof ni)Ci.addIn(zn,Bn);else if(Ci===void 0&&this.schema)this.set(Hn,E(this.schema,zn,Bn));else throw new Error(`Expected YAML collection at ${Hn}. Remaining path: ${zn}`)}}deleteIn(Me){let[Bn,...Hn]=Me;if(Hn.length===0)return this.delete(Bn);let zn=this.get(Bn,!0);if(zn instanceof ni)return zn.deleteIn(Hn);throw new Error(`Expected YAML collection at ${Bn}. Remaining path: ${Hn}`)}getIn(Me,Bn){let[Hn,...Ci]=Me,ts=this.get(Hn,!0);return Ci.length===0?!Bn&&ts instanceof zn?ts.value:ts:ts instanceof ni?ts.getIn(Ci,Bn):void 0}hasAllNullValues(){return this.items.every((Me=>{if(!Me||Me.type!=="PAIR")return!1;let Bn=Me.value;return Bn==null||Bn instanceof zn&&Bn.value==null&&!Bn.commentBefore&&!Bn.comment&&!Bn.tag}))}hasIn(Me){let[Bn,...Hn]=Me;if(Hn.length===0)return this.has(Bn);let zn=this.get(Bn,!0);return zn instanceof ni?zn.hasIn(Hn):!1}setIn(Me,Bn){let[Hn,...zn]=Me;if(zn.length===0)this.set(Hn,Bn);else{let Me=this.get(Hn,!0);if(Me instanceof ni)Me.setIn(zn,Bn);else if(Me===void 0&&this.schema)this.set(Hn,E(this.schema,zn,Bn));else throw new Error(`Expected YAML collection at ${Hn}. Remaining path: ${zn}`)}}toJSON(){return null}toString(Me,Hn,zn,Ci){let{blockItem:ts,flowChars:Ps,isMap:aa,itemIndent:oa}=Hn,{indent:ca,indentStep:_a,stringify:xa}=Me,Ga=this.type===Bn.Type.FLOW_MAP||this.type===Bn.Type.FLOW_SEQ||Me.inFlow;Ga&&(oa+=_a);let Ha=aa&&this.hasAllNullValues();Me=Object.assign({},Me,{allNullValues:Ha,indent:oa,inFlow:Ga,type:null});let so=!1,oo=!1,Jo=this.items.reduce(((Bn,Hn,zn)=>{let ni;Hn&&(!so&&Hn.spaceBefore&&Bn.push({type:"comment",str:""}),Hn.commentBefore&&Hn.commentBefore.match(/^.*$/gm).forEach((Me=>{Bn.push({type:"comment",str:`#${Me}`})})),Hn.comment&&(ni=Hn.comment),Ga&&(!so&&Hn.spaceBefore||Hn.commentBefore||Hn.comment||Hn.key&&(Hn.key.commentBefore||Hn.key.comment)||Hn.value&&(Hn.value.commentBefore||Hn.value.comment))&&(oo=!0)),so=!1;let Ci=xa(Hn,Me,(()=>ni=null),(()=>so=!0));return Ga&&!oo&&Ci.includes(`\n`)&&(oo=!0),Ga&&znMe.str));if(oo||Hn.reduce(((Me,Bn)=>Me+Bn.length+2),2)>ni.maxFlowStringSingleLineLength){tc=Me;for(let Me of Hn)tc+=Me?`\n${_a}${ca}${Me}`:`\n`;tc+=`\n${ca}${Bn}`}else tc=`${Me} ${Hn.join(" ")} ${Bn}`}else{let Me=Jo.map(ts);tc=Me.shift();for(let Bn of Me)tc+=Bn?`\n${ca}${Bn}`:`\n`}return this.comment?(tc+=`\n`+this.comment.replace(/^/gm,`${ca}#`),zn&&zn()):so&&Ci&&Ci(),tc}};Bn._defineProperty(ni,"maxFlowStringSingleLineLength",60);function M(Me){let Bn=Me instanceof zn?Me.value:Me;return Bn&&typeof Bn=="string"&&(Bn=Number(Bn)),Number.isInteger(Bn)&&Bn>=0?Bn:null}var Ci=class extends ni{add(Me){this.items.push(Me)}delete(Me){let Bn=M(Me);return typeof Bn!="number"?!1:this.items.splice(Bn,1).length>0}get(Me,Bn){let Hn=M(Me);if(typeof Hn!="number")return;let ni=this.items[Hn];return!Bn&&ni instanceof zn?ni.value:ni}has(Me){let Bn=M(Me);return typeof Bn=="number"&&BnMe.type==="comment"?Me.str:`- ${Me.str}`,flowChars:{start:"[",end:"]"},isMap:!1,itemIndent:(Me.indent||"")+" "},Bn,Hn):JSON.stringify(this)}},P=(Me,Bn,zn)=>Bn===null?"":typeof Bn!="object"?String(Bn):Me instanceof Hn&&zn&&zn.doc?Me.toString({anchors:Object.create(null),doc:zn.doc,indent:"",indentStep:zn.indentStep,inFlow:!0,inStringifyKey:!0,stringify:zn.stringify}):JSON.stringify(Bn),ts=class extends Hn{constructor(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;super(),this.key=Me,this.value=Bn,this.type=ts.Type.PAIR}get commentBefore(){return this.key instanceof Hn?this.key.commentBefore:void 0}set commentBefore(Me){if(this.key==null&&(this.key=new zn(null)),this.key instanceof Hn)this.key.commentBefore=Me;else{let Me="Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.";throw new Error(Me)}}addToJSMap(Me,Bn){let Hn=d(this.key,"",Me);if(Bn instanceof Map){let zn=d(this.value,Hn,Me);Bn.set(Hn,zn)}else if(Bn instanceof Set)Bn.add(Hn);else{let zn=P(this.key,Hn,Me),ni=d(this.value,zn,Me);zn in Bn?Object.defineProperty(Bn,zn,{value:ni,writable:!0,enumerable:!0,configurable:!0}):Bn[zn]=ni}return Bn}toJSON(Me,Bn){let Hn=Bn&&Bn.mapAsMap?new Map:{};return this.addToJSMap(Bn,Hn)}toString(Me,ts,Ps){if(!Me||!Me.doc)return JSON.stringify(this);let{indent:aa,indentSeq:oa,simpleKeys:ca}=Me.doc.options,{key:_a,value:xa}=this,Ga=_a instanceof Hn&&_a.comment;if(ca){if(Ga)throw new Error("With simple keys, key nodes cannot have comments");if(_a instanceof ni){let Me="With simple keys, collection cannot be used as a key value";throw new Error(Me)}}let Ha=!ca&&(!_a||Ga||(_a instanceof Hn?_a instanceof ni||_a.type===Bn.Type.BLOCK_FOLDED||_a.type===Bn.Type.BLOCK_LITERAL:typeof _a=="object")),{doc:so,indent:oo,indentStep:Jo,stringify:tc}=Me;Me=Object.assign({},Me,{implicitKey:!Ha,indent:oo+Jo});let dc=!1,Fc=tc(_a,Me,(()=>Ga=null),(()=>dc=!0));if(Fc=c(Fc,Me.indent,Ga),!Ha&&Fc.length>1024){if(ca)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");Ha=!0}if(Me.allNullValues&&!ca)return this.comment?(Fc=c(Fc,Me.indent,this.comment),ts&&ts()):dc&&!Ga&&Ps&&Ps(),Me.inFlow&&!Ha?Fc:`? ${Fc}`;Fc=Ha?`? ${Fc}\n${oo}:`:`${Fc}:`,this.comment&&(Fc=c(Fc,Me.indent,this.comment),ts&&ts());let Jc="",Dp=null;if(xa instanceof Hn){if(xa.spaceBefore&&(Jc=`\n`),xa.commentBefore){let Bn=xa.commentBefore.replace(/^/gm,`${Me.indent}#`);Jc+=`\n${Bn}`}Dp=xa.comment}else xa&&typeof xa=="object"&&(xa=so.schema.createNode(xa,!0));Me.implicitKey=!1,!Ha&&!this.comment&&xa instanceof zn&&(Me.indentAtStart=Fc.length+1),dc=!1,!oa&&aa>=2&&!Me.inFlow&&!Ha&&xa instanceof Ci&&xa.type!==Bn.Type.FLOW_SEQ&&!xa.tag&&!so.anchors.getName(xa)&&(Me.indent=Me.indent.substr(2));let kp=tc(xa,Me,(()=>Dp=null),(()=>dc=!0)),Qp=" ";return Jc||this.comment?Qp=`${Jc}\n${Me.indent}`:!Ha&&xa instanceof ni?(!(kp[0]==="["||kp[0]==="{")||kp.includes(`\n`))&&(Qp=`\n${Me.indent}`):kp[0]===`\n`&&(Qp=""),dc&&!Dp&&Ps&&Ps(),c(Fc+Qp+kp,Me.indent,Dp)}};Bn._defineProperty(ts,"Type",{PAIR:"PAIR",MERGE_PAIR:"MERGE_PAIR"});var q=(Me,Bn)=>{if(Me instanceof aa){let Hn=Bn.get(Me.source);return Hn.count*Hn.aliasCount}else if(Me instanceof ni){let Hn=0;for(let zn of Me.items){let Me=q(zn,Bn);Me>Hn&&(Hn=Me)}return Hn}else if(Me instanceof ts){let Hn=q(Me.key,Bn),zn=q(Me.value,Bn);return Math.max(Hn,zn)}return 1},aa=class extends Hn{static stringify(Me,Bn){let{range:Hn,source:zn}=Me,{anchors:ni,doc:Ci,implicitKey:ts,inStringifyKey:Ps}=Bn,aa=Object.keys(ni).find((Me=>ni[Me]===zn));if(!aa&&Ps&&(aa=Ci.anchors.getName(zn)||Ci.anchors.newName()),aa)return`*${aa}${ts?" ":""}`;let oa=Ci.anchors.getName(zn)?"Alias node must be after source node":"Source node not found for alias node";throw new Error(`${oa} [${Hn}]`)}constructor(Me){super(),this.source=Me,this.type=Bn.Type.ALIAS}set tag(Me){throw new Error("Alias nodes cannot have tags")}toJSON(Me,Hn){if(!Hn)return d(this.source,Me,Hn);let{anchors:zn,maxAliasCount:ni}=Hn,Ci=zn.get(this.source);if(!Ci||Ci.res===void 0){let Me="This should not happen: Alias anchor was not resolved?";throw this.cstNode?new Bn.YAMLReferenceError(this.cstNode,Me):new ReferenceError(Me)}if(ni>=0&&(Ci.count+=1,Ci.aliasCount===0&&(Ci.aliasCount=q(this.source,zn)),Ci.count*Ci.aliasCount>ni)){let Me="Excessive alias count indicates a resource exhaustion attack";throw this.cstNode?new Bn.YAMLReferenceError(this.cstNode,Me):new ReferenceError(Me)}return Ci.res}toString(Me){return aa.stringify(this,Me)}};Bn._defineProperty(aa,"default",!0);function B(Me,Bn){let Hn=Bn instanceof zn?Bn.value:Bn;for(let zn of Me)if(zn instanceof ts&&(zn.key===Bn||zn.key===Hn||zn.key&&zn.key.value===Hn))return zn}var oa=class extends ni{add(Me,Bn){Me?Me instanceof ts||(Me=new ts(Me.key||Me,Me.value)):Me=new ts(Me);let Hn=B(this.items,Me.key),zn=this.schema&&this.schema.sortMapEntries;if(Hn)if(Bn)Hn.value=Me.value;else throw new Error(`Key ${Me.key} already set`);else if(zn){let Bn=this.items.findIndex((Bn=>zn(Me,Bn)<0));Bn===-1?this.items.push(Me):this.items.splice(Bn,0,Me)}else this.items.push(Me)}delete(Me){let Bn=B(this.items,Me);return Bn?this.items.splice(this.items.indexOf(Bn),1).length>0:!1}get(Me,Bn){let Hn=B(this.items,Me),ni=Hn&&Hn.value;return!Bn&&ni instanceof zn?ni.value:ni}has(Me){return!!B(this.items,Me)}set(Me,Bn){this.add(new ts(Me,Bn),!0)}toJSON(Me,Bn,Hn){let zn=Hn?new Hn:Bn&&Bn.mapAsMap?new Map:{};Bn&&Bn.onCreate&&Bn.onCreate(zn);for(let Me of this.items)Me.addToJSMap(Bn,zn);return zn}toString(Me,Bn,Hn){if(!Me)return JSON.stringify(this);for(let Me of this.items)if(!(Me instanceof ts))throw new Error(`Map items must all be pairs; found ${JSON.stringify(Me)} instead`);return super.toString(Me,{blockItem:Me=>Me.str,flowChars:{start:"{",end:"}"},isMap:!0,itemIndent:Me.indent||""},Bn,Hn)}},ca="<<",_a=class extends ts{constructor(Me){if(Me instanceof ts){let Bn=Me.value;Bn instanceof Ci||(Bn=new Ci,Bn.items.push(Me.value),Bn.range=Me.value.range),super(Me.key,Bn),this.range=Me.range}else super(new zn(ca),new Ci);this.type=ts.Type.MERGE_PAIR}addToJSMap(Me,Bn){for(let{source:Hn}of this.value.items){if(!(Hn instanceof oa))throw new Error("Merge sources must be maps");let zn=Hn.toJSON(null,Me,Map);for(let[Me,Hn]of zn)Bn instanceof Map?Bn.has(Me)||Bn.set(Me,Hn):Bn instanceof Set?Bn.add(Me):Object.prototype.hasOwnProperty.call(Bn,Me)||Object.defineProperty(Bn,Me,{value:Hn,writable:!0,enumerable:!0,configurable:!0})}return Bn}toString(Me,Bn){let Hn=this.value;if(Hn.items.length>1)return super.toString(Me,Bn);this.value=Hn.items[0];let zn=super.toString(Me,Bn);return this.value=Hn,zn}},xa={defaultType:Bn.Type.BLOCK_LITERAL,lineWidth:76},Ga={trueStr:"true",falseStr:"false"},Ha={asBigInt:!1},so={nullStr:"null"},oo={defaultType:Bn.Type.PLAIN,doubleQuoted:{jsonEncoding:!1,minMultiLineLength:40},fold:{lineWidth:80,minContentWidth:20}};function u(Me,Bn,Hn){for(let{format:Hn,test:ni,resolve:Ci}of Bn)if(ni){let Bn=Me.match(ni);if(Bn){let Me=Ci.apply(null,Bn);return Me instanceof zn||(Me=new zn(Me)),Hn&&(Me.format=Hn),Me}}return Hn&&(Me=Hn(Me)),new zn(Me)}var Jo="flow",tc="block",dc="quoted",$=(Me,Bn)=>{let Hn=Me[Bn+1];for(;Hn===" "||Hn==="\t";){do{Hn=Me[Bn+=1]}while(Hn&&Hn!==`\n`);Hn=Me[Bn+1]}return Bn};function K(Me,Bn,Hn,zn){let{indentAtStart:ni,lineWidth:Ci=80,minContentWidth:ts=20,onFold:Ps,onOverflow:aa}=zn;if(!Ci||Ci<0)return Me;let oa=Math.max(1+ts,1+Ci-Bn.length);if(Me.length<=oa)return Me;let ca=[],_a={},xa=Ci-Bn.length;typeof ni=="number"&&(ni>Ci-Math.max(2,ts)?ca.push(0):xa=Ci-ni);let Ga,Ha,so=!1,oo=-1,Jo=-1,Fc=-1;Hn===tc&&(oo=$(Me,oo),oo!==-1&&(xa=oo+oa));for(let Bn;Bn=Me[oo+=1];){if(Hn===dc&&Bn==="\\"){switch(Jo=oo,Me[oo+1]){case"x":oo+=3;break;case"u":oo+=5;break;case"U":oo+=9;break;default:oo+=1}Fc=oo}if(Bn===`\n`)Hn===tc&&(oo=$(Me,oo)),xa=oo+oa,Ga=void 0;else{if(Bn===" "&&Ha&&Ha!==" "&&Ha!==`\n`&&Ha!=="\t"){let Bn=Me[oo+1];Bn&&Bn!==" "&&Bn!==`\n`&&Bn!=="\t"&&(Ga=oo)}if(oo>=xa)if(Ga)ca.push(Ga),xa=Ga+oa,Ga=void 0;else if(Hn===dc){for(;Ha===" "||Ha==="\t";)Ha=Bn,Bn=Me[oo+=1],so=!0;let Hn=oo>Fc+1?oo-2:Jo-1;if(_a[Hn])return Me;ca.push(Hn),_a[Hn]=!0,xa=Hn+oa,Ga=void 0}else so=!0}Ha=Bn}if(so&&aa&&aa(),ca.length===0)return Me;Ps&&Ps();let Jc=Me.slice(0,ca[0]);for(let zn=0;zn{let{indentAtStart:Bn}=Me;return Bn?Object.assign({indentAtStart:Bn},oo.fold):oo.fold},z=Me=>/^(%|---|\.\.\.)/m.test(Me);function ae(Me,Bn,Hn){if(!Bn||Bn<0)return!1;let zn=Bn-Hn,ni=Me.length;if(ni<=zn)return!1;for(let Bn=0,Hn=0;Bnzn)return!0;if(Hn=Bn+1,ni-Hn<=zn)return!1}return!0}function ue(Me,Bn){let{implicitKey:Hn}=Bn,{jsonEncoding:zn,minMultiLineLength:ni}=oo.doubleQuoted,Ci=JSON.stringify(Me);if(zn)return Ci;let ts=Bn.indent||(z(Me)?" ":""),Ps="",aa=0;for(let Me=0,Bn=Ci[Me];Bn;Bn=Ci[++Me])if(Bn===" "&&Ci[Me+1]==="\\"&&Ci[Me+2]==="n"&&(Ps+=Ci.slice(aa,Me)+"\\ ",Me+=1,aa=Me,Bn="\\"),Bn==="\\")switch(Ci[Me+1]){case"u":{Ps+=Ci.slice(aa,Me);let Bn=Ci.substr(Me+2,4);switch(Bn){case"0000":Ps+="\\0";break;case"0007":Ps+="\\a";break;case"000b":Ps+="\\v";break;case"001b":Ps+="\\e";break;case"0085":Ps+="\\N";break;case"00a0":Ps+="\\_";break;case"2028":Ps+="\\L";break;case"2029":Ps+="\\P";break;default:Bn.substr(0,2)==="00"?Ps+="\\x"+Bn.substr(2):Ps+=Ci.substr(Me,6)}Me+=5,aa=Me+1}break;case"n":if(Hn||Ci[Me+2]==='"'||Ci.length";if(!Ps)return _a+`\n`;let xa="",Ga="";if(Ps=Ps.replace(/[\n\t ]*$/,(Me=>{let Bn=Me.indexOf(`\n`);return Bn===-1?_a+="-":(Ps===Me||Bn!==Me.length-1)&&(_a+="+",ni&&ni()),Ga=Me.replace(/\n$/,""),""})).replace(/^[\n ]*/,(Me=>{Me.indexOf(" ")!==-1&&(_a+=oa);let Bn=Me.match(/ +$/);return Bn?(xa=Me.slice(0,-Bn[0].length),Bn[0]):(xa=Me,"")})),Ga&&(Ga=Ga.replace(/\n+(?!\n|$)/g,`$&${aa}`)),xa&&(xa=xa.replace(/\n+/g,`$&${aa}`)),Ci&&(_a+=" #"+Ci.replace(/ ?[\r\n]+/g," "),zn&&zn()),!Ps)return`${_a}${oa}\n${aa}${Ga}`;if(ca)return Ps=Ps.replace(/\n+/g,`$&${aa}`),`${_a}\n${aa}${xa}${Ps}${Ga}`;Ps=Ps.replace(/\n+/g,`\n$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${aa}`);let Ha=K(`${xa}${Ps}${Ga}`,aa,tc,oo.fold);return`${_a}\n${aa}${Ha}`}function O(Me,Hn,zn,ni){let{comment:Ci,type:ts,value:Ps}=Me,{actualString:aa,implicitKey:oa,indent:ca,inFlow:_a}=Hn;if(oa&&/[\n[\]{},]/.test(Ps)||_a&&/[[\]{},]/.test(Ps))return ue(Ps,Hn);if(!Ps||/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(Ps))return oa||_a||Ps.indexOf(`\n`)===-1?Ps.indexOf('"')!==-1&&Ps.indexOf("'")===-1?pe(Ps,Hn):ue(Ps,Hn):ge(Me,Hn,zn,ni);if(!oa&&!_a&&ts!==Bn.Type.PLAIN&&Ps.indexOf(`\n`)!==-1)return ge(Me,Hn,zn,ni);if(ca===""&&z(Ps))return Hn.forceBlockIndent=!0,ge(Me,Hn,zn,ni);let xa=Ps.replace(/\n+/g,`$&\n${ca}`);if(aa){let{tags:Me}=Hn.doc.schema;if(typeof u(xa,Me,Me.scalarFallback).value!="string")return ue(Ps,Hn)}let Ga=oa?xa:K(xa,ca,Jo,V(Hn));return Ci&&!_a&&(Ga.indexOf(`\n`)!==-1||Ci.indexOf(`\n`)!==-1)?(zn&&zn(),r(Ga,ca,Ci)):Ga}function W(Me,Hn,zn,ni){let{defaultType:Ci}=oo,{implicitKey:ts,inFlow:Ps}=Hn,{type:aa,value:oa}=Me;typeof oa!="string"&&(oa=String(oa),Me=Object.assign({},Me,{value:oa}));let F=Ci=>{switch(Ci){case Bn.Type.BLOCK_FOLDED:case Bn.Type.BLOCK_LITERAL:return ge(Me,Hn,zn,ni);case Bn.Type.QUOTE_DOUBLE:return ue(oa,Hn);case Bn.Type.QUOTE_SINGLE:return pe(oa,Hn);case Bn.Type.PLAIN:return O(Me,Hn,zn,ni);default:return null}};(aa!==Bn.Type.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(oa)||(ts||Ps)&&(aa===Bn.Type.BLOCK_FOLDED||aa===Bn.Type.BLOCK_LITERAL))&&(aa=Bn.Type.QUOTE_DOUBLE);let ca=F(aa);if(ca===null&&(ca=F(Ci),ca===null))throw new Error(`Unsupported default string type ${Ci}`);return ca}function J(Me){let{format:Bn,minFractionDigits:Hn,tag:zn,value:ni}=Me;if(typeof ni=="bigint")return String(ni);if(!isFinite(ni))return isNaN(ni)?".nan":ni<0?"-.inf":".inf";let Ci=JSON.stringify(ni);if(!Bn&&Hn&&(!zn||zn==="tag:yaml.org,2002:float")&&/^\d/.test(Ci)){let Me=Ci.indexOf(".");Me<0&&(Me=Ci.length,Ci+=".");let Bn=Hn-(Ci.length-Me-1);for(;Bn-- >0;)Ci+="0"}return Ci}function x(Me,Hn){let zn,ni;switch(Hn.type){case Bn.Type.FLOW_MAP:zn="}",ni="flow map";break;case Bn.Type.FLOW_SEQ:zn="]",ni="flow sequence";break;default:Me.push(new Bn.YAMLSemanticError(Hn,"Not a flow collection!?"));return}let Ci;for(let Me=Hn.items.length-1;Me>=0;--Me){let zn=Hn.items[Me];if(!zn||zn.type!==Bn.Type.COMMENT){Ci=zn;break}}if(Ci&&Ci.char!==zn){let ts=`Expected ${ni} to end with ${zn}`,Ps;typeof Ci.offset=="number"?(Ps=new Bn.YAMLSemanticError(Hn,ts),Ps.offset=Ci.offset+1):(Ps=new Bn.YAMLSemanticError(Ci,ts),Ci.range&&Ci.range.end&&(Ps.offset=Ci.range.end-Ci.range.start)),Me.push(Ps)}}function G(Me,Hn){let zn=Hn.context.src[Hn.range.start-1];if(zn!==`\n`&&zn!=="\t"&&zn!==" "){let zn="Comments must be separated from other tokens by white space characters";Me.push(new Bn.YAMLSemanticError(Hn,zn))}}function re(Me,Hn){let zn=String(Hn),ni=zn.substr(0,8)+"..."+zn.substr(-8);return new Bn.YAMLSemanticError(Me,`The "${ni}" key is too long`)}function _e(Me,Bn){for(let{afterKey:Hn,before:zn,comment:ni}of Bn){let Bn=Me.items[zn];Bn?(Hn&&Bn.value&&(Bn=Bn.value),ni===void 0?(Hn||!Bn.commentBefore)&&(Bn.spaceBefore=!0):Bn.commentBefore?Bn.commentBefore+=`\n`+ni:Bn.commentBefore=ni):ni!==void 0&&(Me.comment?Me.comment+=`\n`+ni:Me.comment=ni)}}function ye(Me,Bn){let Hn=Bn.strValue;return Hn?typeof Hn=="string"?Hn:(Hn.errors.forEach((Hn=>{Hn.source||(Hn.source=Bn),Me.errors.push(Hn)})),Hn.str):""}function be(Me,Hn){let{handle:zn,suffix:ni}=Hn.tag,Ci=Me.tagPrefixes.find((Me=>Me.handle===zn));if(!Ci){let ni=Me.getDefaults().tagPrefixes;if(ni&&(Ci=ni.find((Me=>Me.handle===zn))),!Ci)throw new Bn.YAMLSemanticError(Hn,`The ${zn} tag handle is non-default and was not declared.`)}if(!ni)throw new Bn.YAMLSemanticError(Hn,`The ${zn} tag has no suffix.`);if(zn==="!"&&(Me.version||Me.options.version)==="1.0"){if(ni[0]==="^")return Me.warnings.push(new Bn.YAMLWarning(Hn,"YAML 1.0 ^ tag expansion is not supported")),ni;if(/[:/]/.test(ni)){let Me=ni.match(/^([a-z0-9-]+)\/(.*)/i);return Me?`tag:${Me[1]}.yaml.org,2002:${Me[2]}`:`tag:${ni}`}}return Ci.prefix+decodeURIComponent(ni)}function ve(Me,Hn){let{tag:zn,type:ni}=Hn,Ci=!1;if(zn){let{handle:ni,suffix:ts,verbatim:Ps}=zn;if(Ps){if(Ps!=="!"&&Ps!=="!!")return Ps;let zn=`Verbatim tags aren't resolved, so ${Ps} is invalid.`;Me.errors.push(new Bn.YAMLSemanticError(Hn,zn))}else if(ni==="!"&&!ts)Ci=!0;else try{return be(Me,Hn)}catch(Bn){Me.errors.push(Bn)}}switch(ni){case Bn.Type.BLOCK_FOLDED:case Bn.Type.BLOCK_LITERAL:case Bn.Type.QUOTE_DOUBLE:case Bn.Type.QUOTE_SINGLE:return Bn.defaultTags.STR;case Bn.Type.FLOW_MAP:case Bn.Type.MAP:return Bn.defaultTags.MAP;case Bn.Type.FLOW_SEQ:case Bn.Type.SEQ:return Bn.defaultTags.SEQ;case Bn.Type.PLAIN:return Ci?Bn.defaultTags.STR:null;default:return null}}function Ne(Me,Bn,Hn){let{tags:Ci}=Me.schema,ts=[];for(let Ps of Ci)if(Ps.tag===Hn)if(Ps.test)ts.push(Ps);else{let Hn=Ps.resolve(Me,Bn);return Hn instanceof ni?Hn:new zn(Hn)}let Ps=ye(Me,Bn);return typeof Ps=="string"&&ts.length>0?u(Ps,ts,Ci.scalarFallback):null}function Pe(Me){let{type:Hn}=Me;switch(Hn){case Bn.Type.FLOW_MAP:case Bn.Type.MAP:return Bn.defaultTags.MAP;case Bn.Type.FLOW_SEQ:case Bn.Type.SEQ:return Bn.defaultTags.SEQ;default:return Bn.defaultTags.STR}}function ot(Me,Hn,zn){try{let Bn=Ne(Me,Hn,zn);if(Bn)return zn&&Hn.tag&&(Bn.tag=zn),Bn}catch(Bn){return Bn.source||(Bn.source=Hn),Me.errors.push(Bn),null}try{let ni=Pe(Hn);if(!ni)throw new Error(`The tag ${zn} is unavailable`);let Ci=`The tag ${zn} is unavailable, falling back to ${ni}`;Me.warnings.push(new Bn.YAMLWarning(Hn,Ci));let ts=Ne(Me,Hn,ni);return ts.tag=zn,ts}catch(zn){let ni=new Bn.YAMLReferenceError(Hn,zn.message);return ni.stack=zn.stack,Me.errors.push(ni),null}}var lt=Me=>{if(!Me)return!1;let{type:Hn}=Me;return Hn===Bn.Type.MAP_KEY||Hn===Bn.Type.MAP_VALUE||Hn===Bn.Type.SEQ_ITEM};function ct(Me,Hn){let zn={before:[],after:[]},ni=!1,Ci=!1,ts=lt(Hn.context.parent)?Hn.context.parent.props.concat(Hn.props):Hn.props;for(let{start:Ps,end:aa}of ts)switch(Hn.context.src[Ps]){case Bn.Char.COMMENT:{if(!Hn.commentHasRequiredWhitespace(Ps)){let zn="Comments must be separated from other tokens by white space characters";Me.push(new Bn.YAMLSemanticError(Hn,zn))}let{header:ni,valueRange:Ci}=Hn;(Ci&&(Ps>Ci.start||ni&&Ps>ni.start)?zn.after:zn.before).push(Hn.context.src.slice(Ps+1,aa));break}case Bn.Char.ANCHOR:if(ni){let zn="A node can have at most one anchor";Me.push(new Bn.YAMLSemanticError(Hn,zn))}ni=!0;break;case Bn.Char.TAG:if(Ci){let zn="A node can have at most one tag";Me.push(new Bn.YAMLSemanticError(Hn,zn))}Ci=!0;break}return{comments:zn,hasAnchor:ni,hasTag:Ci}}function ut(Me,Hn){let{anchors:zn,errors:ni,schema:Ci}=Me;if(Hn.type===Bn.Type.ALIAS){let Me=Hn.rawValue,Ci=zn.getNode(Me);if(!Ci){let zn=`Aliased anchor not found: ${Me}`;return ni.push(new Bn.YAMLReferenceError(Hn,zn)),null}let ts=new aa(Ci);return zn._cstAliases.push(ts),ts}let ts=ve(Me,Hn);if(ts)return ot(Me,Hn,ts);if(Hn.type!==Bn.Type.PLAIN){let Me=`Failed to resolve ${Hn.type} node here`;return ni.push(new Bn.YAMLSyntaxError(Hn,Me)),null}try{let Bn=ye(Me,Hn);return u(Bn,Ci.tags,Ci.tags.scalarFallback)}catch(Me){return Me.source||(Me.source=Hn),ni.push(Me),null}}function we(Me,Hn){if(!Hn)return null;Hn.error&&Me.errors.push(Hn.error);let{comments:zn,hasAnchor:ni,hasTag:Ci}=ct(Me.errors,Hn);if(ni){let{anchors:Bn}=Me,zn=Hn.anchor,ni=Bn.getNode(zn);ni&&(Bn.map[Bn.newName(zn)]=ni),Bn.map[zn]=Hn}if(Hn.type===Bn.Type.ALIAS&&(ni||Ci)){let zn="An alias node must not specify any properties";Me.errors.push(new Bn.YAMLSemanticError(Hn,zn))}let ts=ut(Me,Hn);if(ts){ts.range=[Hn.range.start,Hn.range.end],Me.options.keepCstNodes&&(ts.cstNode=Hn),Me.options.keepNodeTypes&&(ts.type=Hn.type);let Bn=zn.before.join(`\n`);Bn&&(ts.commentBefore=ts.commentBefore?`${ts.commentBefore}\n${Bn}`:Bn);let ni=zn.after.join(`\n`);ni&&(ts.comment=ts.comment?`${ts.comment}\n${ni}`:ni)}return Hn.resolved=ts}function ft(Me,Hn){if(Hn.type!==Bn.Type.MAP&&Hn.type!==Bn.Type.FLOW_MAP){let zn=`A ${Hn.type} node cannot be resolved as a mapping`;return Me.errors.push(new Bn.YAMLSyntaxError(Hn,zn)),null}let{comments:zn,items:Ci}=Hn.type===Bn.Type.FLOW_MAP?gt(Me,Hn):ht(Me,Hn),ts=new oa;ts.items=Ci,_e(ts,zn);let Ps=!1;for(let zn=0;zn{if(Me instanceof aa){let{type:Hn}=Me.source;return Hn===Bn.Type.MAP||Hn===Bn.Type.FLOW_MAP?!1:ts="Merge nodes aliases can only point to maps"}return ts="Merge nodes can only have Alias nodes as values"})),ts&&Me.errors.push(new Bn.YAMLSemanticError(Hn,ts))}else for(let ni=zn+1;ni{let{context:{lineStart:Hn,node:zn,src:ni},props:Ci}=Me;if(Ci.length===0)return!1;let{start:ts}=Ci[0];if(zn&&ts>zn.valueRange.start||ni[ts]!==Bn.Char.COMMENT)return!1;for(let Me=Hn;Me0){zn=new Bn.PlainValue(Bn.Type.PLAIN,[]),zn.context={parent:oa,src:oa.context.src};let Me=oa.range.start+1;if(zn.range={start:Me,end:Me},zn.valueRange={start:Me,end:Me},typeof oa.range.origStart=="number"){let Me=oa.range.origStart+1;zn.range.origStart=zn.range.origEnd=Me,zn.valueRange.origStart=zn.valueRange.origEnd=Me}}let aa=new ts(Ci,we(Me,zn));dt(oa,aa),ni.push(aa),Ci&&typeof Ps=="number"&&oa.range.start>Ps+1024&&Me.errors.push(re(Hn,Ci)),Ci=void 0,Ps=null}break;default:Ci!==void 0&&ni.push(new ts(Ci)),Ci=we(Me,oa),Ps=oa.range.start,oa.error&&Me.errors.push(oa.error);e:for(let zn=aa+1;;++zn){let ni=Hn.items[zn];switch(ni&&ni.type){case Bn.Type.BLANK_LINE:case Bn.Type.COMMENT:continue e;case Bn.Type.MAP_VALUE:break e;default:{let Hn="Implicit map keys need to be followed by map values";Me.errors.push(new Bn.YAMLSemanticError(oa,Hn));break e}}}if(oa.valueRangeContainsNewline){let Hn="Implicit map keys need to be on a single line";Me.errors.push(new Bn.YAMLSemanticError(oa,Hn))}}}return Ci!==void 0&&ni.push(new ts(Ci)),{comments:zn,items:ni}}function gt(Me,Hn){let zn=[],ni=[],Ci,Ps=!1,aa="{";for(let oa=0;oaMe instanceof ts&&Me.key instanceof ni))){let zn="Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.";Me.warnings.push(new Bn.YAMLWarning(Hn,zn))}return Hn.resolved=aa,aa}function _t(Me,Hn){let zn=[],ni=[];for(let Ci=0;Ciaa+1024&&Me.errors.push(re(Hn,Ps));let{src:ni}=ca.context;for(let Hn=aa;HnMe instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve:(Me,zn)=>{let ni=Hn.resolveString(Me,zn);if(typeof Buffer=="function")return Buffer.from(ni,"base64");if(typeof atob=="function"){let Me=atob(ni.replace(/[\n\r]/g,"")),Bn=new Uint8Array(Me.length);for(let Hn=0;Hn{let{comment:ts,type:Ps,value:aa}=Me,oa;if(typeof Buffer=="function")oa=aa instanceof Buffer?aa.toString("base64"):Buffer.from(aa.buffer).toString("base64");else if(typeof btoa=="function"){let Me="";for(let Bn=0;Bn1){let Me="Each pair must have its own sequence indicator";throw new Bn.YAMLSemanticError(zn,Me)}let Me=Ci.items[0]||new Hn.Pair;Ci.commentBefore&&(Me.commentBefore=Me.commentBefore?`${Ci.commentBefore}\n${Me.commentBefore}`:Ci.commentBefore),Ci.comment&&(Me.comment=Me.comment?`${Ci.comment}\n${Me.comment}`:Ci.comment),Ci=Me}ni.items[Me]=Ci instanceof Hn.Pair?Ci:new Hn.Pair(Ci)}}return ni}function d(Me,Bn,zn){let ni=new Hn.YAMLSeq(Me);ni.tag="tag:yaml.org,2002:pairs";for(let Hn of Bn){let Bn,Ci;if(Array.isArray(Hn))if(Hn.length===2)Bn=Hn[0],Ci=Hn[1];else throw new TypeError(`Expected [key, value] tuple: ${Hn}`);else if(Hn&&Hn instanceof Object){let Me=Object.keys(Hn);if(Me.length===1)Bn=Me[0],Ci=Hn[Bn];else throw new TypeError(`Expected { key: value } tuple: ${Hn}`)}else Bn=Hn;let ts=Me.createPair(Bn,Ci,zn);ni.items.push(ts)}return ni}var ni={default:!1,tag:"tag:yaml.org,2002:pairs",resolve:h,createNode:d},Ci=class extends Hn.YAMLSeq{constructor(){super(),Bn._defineProperty(this,"add",Hn.YAMLMap.prototype.add.bind(this)),Bn._defineProperty(this,"delete",Hn.YAMLMap.prototype.delete.bind(this)),Bn._defineProperty(this,"get",Hn.YAMLMap.prototype.get.bind(this)),Bn._defineProperty(this,"has",Hn.YAMLMap.prototype.has.bind(this)),Bn._defineProperty(this,"set",Hn.YAMLMap.prototype.set.bind(this)),this.tag=Ci.tag}toJSON(Me,Bn){let zn=new Map;Bn&&Bn.onCreate&&Bn.onCreate(zn);for(let Me of this.items){let ni,Ci;if(Me instanceof Hn.Pair?(ni=Hn.toJSON(Me.key,"",Bn),Ci=Hn.toJSON(Me.value,ni,Bn)):ni=Hn.toJSON(Me,"",Bn),zn.has(ni))throw new Error("Ordered maps must not include duplicate keys");zn.set(ni,Ci)}return zn}};Bn._defineProperty(Ci,"tag","tag:yaml.org,2002:omap");function I(Me,zn){let ni=h(Me,zn),ts=[];for(let{key:Me}of ni.items)if(Me instanceof Hn.Scalar)if(ts.includes(Me.value)){let Me="Ordered maps must not include duplicate keys";throw new Bn.YAMLSemanticError(zn,Me)}else ts.push(Me.value);return Object.assign(new Ci,ni)}function S(Me,Bn,Hn){let zn=d(Me,Bn,Hn),ni=new Ci;return ni.items=zn.items,ni}var aa={identify:Me=>Me instanceof Map,nodeClass:Ci,default:!1,tag:"tag:yaml.org,2002:omap",resolve:I,createNode:S},oa=class extends Hn.YAMLMap{constructor(){super(),this.tag=oa.tag}add(Me){let Bn=Me instanceof Hn.Pair?Me:new Hn.Pair(Me);Hn.findPair(this.items,Bn.key)||this.items.push(Bn)}get(Me,Bn){let zn=Hn.findPair(this.items,Me);return!Bn&&zn instanceof Hn.Pair?zn.key instanceof Hn.Scalar?zn.key.value:zn.key:zn}set(Me,Bn){if(typeof Bn!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof Bn}`);let zn=Hn.findPair(this.items,Me);zn&&!Bn?this.items.splice(this.items.indexOf(zn),1):!zn&&Bn&&this.items.push(new Hn.Pair(Me))}toJSON(Me,Bn){return super.toJSON(Me,Bn,Set)}toString(Me,Bn,Hn){if(!Me)return JSON.stringify(this);if(this.hasAllNullValues())return super.toString(Me,Bn,Hn);throw new Error("Set items must all have null values")}};Bn._defineProperty(oa,"tag","tag:yaml.org,2002:set");function P(Me,zn){let ni=Hn.resolveMap(Me,zn);if(!ni.hasAllNullValues())throw new Bn.YAMLSemanticError(zn,"Set items must all have null values");return Object.assign(new oa,ni)}function C(Me,Bn,Hn){let zn=new oa;for(let ni of Bn)zn.items.push(Me.createPair(ni,null,Hn));return zn}var ca={identify:Me=>Me instanceof Set,nodeClass:oa,default:!1,tag:"tag:yaml.org,2002:set",resolve:P,createNode:C},R=(Me,Bn)=>{let Hn=Bn.split(":").reduce(((Me,Bn)=>Me*60+Number(Bn)),0);return Me==="-"?-Hn:Hn},B=Me=>{let{value:Bn}=Me;if(isNaN(Bn)||!isFinite(Bn))return Hn.stringifyNumber(Bn);let zn="";Bn<0&&(zn="-",Bn=Math.abs(Bn));let ni=[Bn%60];return Bn<60?ni.unshift(0):(Bn=Math.round((Bn-ni[0])/60),ni.unshift(Bn%60),Bn>=60&&(Bn=Math.round((Bn-ni[0])/60),ni.unshift(Bn))),zn+ni.map((Me=>Me<10?"0"+String(Me):String(Me))).join(":").replace(/000000\d*$/,"")},_a={identify:Me=>typeof Me=="number",default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,resolve:(Me,Bn,Hn)=>R(Bn,Hn.replace(/_/g,"")),stringify:B},xa={identify:Me=>typeof Me=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*)$/,resolve:(Me,Bn,Hn)=>R(Bn,Hn.replace(/_/g,"")),stringify:B},Ga={identify:Me=>Me instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^(?:([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?)$"),resolve:(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa)=>{Ps&&(Ps=(Ps+"00").substr(1,3));let oa=Date.UTC(Bn,Hn-1,zn,ni||0,Ci||0,ts||0,Ps||0);if(aa&&aa!=="Z"){let Me=R(aa[0],aa.slice(1));Math.abs(Me)<30&&(Me*=60),oa-=6e4*Me}return new Date(oa)},stringify:Me=>{let{value:Bn}=Me;return Bn.toISOString().replace(/((T00:00)?:00)?\.000Z$/,"")}};function t(Me){let Bn=typeof ts<"u"&&ts.env||{};return Me?typeof YAML_SILENCE_DEPRECATION_WARNINGS<"u"?!YAML_SILENCE_DEPRECATION_WARNINGS:!Bn.YAML_SILENCE_DEPRECATION_WARNINGS:typeof YAML_SILENCE_WARNINGS<"u"?!YAML_SILENCE_WARNINGS:!Bn.YAML_SILENCE_WARNINGS}function s(Me,Bn){if(t(!1)){let Hn=typeof ts<"u"&&ts.emitWarning;Hn?Hn(Me,Bn):console.warn(Bn?`${Bn}: ${Me}`:Me)}}function a(Me){if(t(!0)){let Bn=Me.replace(/.*yaml[/\\]/i,"").replace(/\.js$/,"").replace(/\\/g,"/");s(`The endpoint 'yaml/${Bn}' will be removed in a future release.`,"DeprecationWarning")}}var Ha={};function g(Me,Bn){if(!Ha[Me]&&t(!0)){Ha[Me]=!0;let Hn=`The option '${Me}' will be removed in a future release`;Hn+=Bn?`, use '${Bn}' instead.`:".",s(Hn,"DeprecationWarning")}}Me.binary=zn,Me.floatTime=xa,Me.intTime=_a,Me.omap=aa,Me.pairs=ni,Me.set=ca,Me.timestamp=Ga,Me.warn=s,Me.warnFileDeprecation=a,Me.warnOptionDeprecation=g}}),Wg=D({"node_modules/yaml/dist/Schema-88e323a7.js"(Me){"use strict";Ps();var Bn=qg(),Hn=$g(),zn=Yg();function h(Me,Bn,zn){let ni=new Hn.YAMLMap(Me);if(Bn instanceof Map)for(let[Hn,Ci]of Bn)ni.items.push(Me.createPair(Hn,Ci,zn));else if(Bn&&typeof Bn=="object")for(let Hn of Object.keys(Bn))ni.items.push(Me.createPair(Hn,Bn[Hn],zn));return typeof Me.sortMapEntries=="function"&&ni.items.sort(Me.sortMapEntries),ni}var ni={createNode:h,default:!0,nodeClass:Hn.YAMLMap,tag:"tag:yaml.org,2002:map",resolve:Hn.resolveMap};function y(Me,Bn,zn){let ni=new Hn.YAMLSeq(Me);if(Bn&&Bn[Symbol.iterator])for(let Hn of Bn){let Bn=Me.createNode(Hn,zn.wrapScalars,null,zn);ni.items.push(Bn)}return ni}var Ci={createNode:y,default:!0,nodeClass:Hn.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve:Hn.resolveSeq},ts={identify:Me=>typeof Me=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:Hn.resolveString,stringify(Me,Bn,zn,ni){return Bn=Object.assign({actualString:!0},Bn),Hn.stringifyString(Me,Bn,zn,ni)},options:Hn.strOptions},aa=[ni,Ci,ts],M=Me=>typeof Me=="bigint"||Number.isInteger(Me),T=(Me,Bn,zn)=>Hn.intOptions.asBigInt?BigInt(Me):parseInt(Bn,zn);function P(Me,Bn,zn){let{value:ni}=Me;return M(ni)&&ni>=0?zn+ni.toString(Bn):Hn.stringifyNumber(Me)}var oa={identify:Me=>Me==null,createNode:(Me,Bn,zn)=>zn.wrapScalars?new Hn.Scalar(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:Hn.nullOptions,stringify:()=>Hn.nullOptions.nullStr},ca={identify:Me=>typeof Me=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:Me=>Me[0]==="t"||Me[0]==="T",options:Hn.boolOptions,stringify:Me=>{let{value:Bn}=Me;return Bn?Hn.boolOptions.trueStr:Hn.boolOptions.falseStr}},_a={identify:Me=>M(Me)&&Me>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o([0-7]+)$/,resolve:(Me,Bn)=>T(Me,Bn,8),options:Hn.intOptions,stringify:Me=>P(Me,8,"0o")},xa={identify:M,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:Me=>T(Me,Me,10),options:Hn.intOptions,stringify:Hn.stringifyNumber},Ga={identify:Me=>M(Me)&&Me>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x([0-9a-fA-F]+)$/,resolve:(Me,Bn)=>T(Me,Bn,16),options:Hn.intOptions,stringify:Me=>P(Me,16,"0x")},Ha={identify:Me=>typeof Me=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(Me,Bn)=>Bn?NaN:Me[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Hn.stringifyNumber},so={identify:Me=>typeof Me=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:Me=>parseFloat(Me),stringify:Me=>{let{value:Bn}=Me;return Number(Bn).toExponential()}},oo={identify:Me=>typeof Me=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.([0-9]+)|[0-9]+\.([0-9]*))$/,resolve(Me,Bn,zn){let ni=Bn||zn,Ci=new Hn.Scalar(parseFloat(Me));return ni&&ni[ni.length-1]==="0"&&(Ci.minFractionDigits=ni.length),Ci},stringify:Hn.stringifyNumber},Jo=aa.concat([oa,ca,_a,xa,Ga,Ha,so,oo]),a=Me=>typeof Me=="bigint"||Number.isInteger(Me),m=Me=>{let{value:Bn}=Me;return JSON.stringify(Bn)},tc=[ni,Ci,{identify:Me=>typeof Me=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:Hn.resolveString,stringify:m},{identify:Me=>Me==null,createNode:(Me,Bn,zn)=>zn.wrapScalars?new Hn.Scalar(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:m},{identify:Me=>typeof Me=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true|false$/,resolve:Me=>Me==="true",stringify:m},{identify:a,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:Me=>Hn.intOptions.asBigInt?BigInt(Me):parseInt(Me,10),stringify:Me=>{let{value:Bn}=Me;return a(Bn)?Bn.toString():JSON.stringify(Bn)}},{identify:Me=>typeof Me=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:Me=>parseFloat(Me),stringify:m}];tc.scalarFallback=Me=>{throw new SyntaxError(`Unresolved plain scalar ${JSON.stringify(Me)}`)};var u=Me=>{let{value:Bn}=Me;return Bn?Hn.boolOptions.trueStr:Hn.boolOptions.falseStr},p=Me=>typeof Me=="bigint"||Number.isInteger(Me);function L(Me,Bn,zn){let ni=Bn.replace(/_/g,"");if(Hn.intOptions.asBigInt){switch(zn){case 2:ni=`0b${ni}`;break;case 8:ni=`0o${ni}`;break;case 16:ni=`0x${ni}`;break}let Bn=BigInt(ni);return Me==="-"?BigInt(-1)*Bn:Bn}let Ci=parseInt(ni,zn);return Me==="-"?-1*Ci:Ci}function k(Me,Bn,zn){let{value:ni}=Me;if(p(ni)){let Me=ni.toString(Bn);return ni<0?"-"+zn+Me.substr(1):zn+Me}return Hn.stringifyNumber(Me)}var dc=aa.concat([{identify:Me=>Me==null,createNode:(Me,Bn,zn)=>zn.wrapScalars?new Hn.Scalar(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:Hn.nullOptions,stringify:()=>Hn.nullOptions.nullStr},{identify:Me=>typeof Me=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>!0,options:Hn.boolOptions,stringify:u},{identify:Me=>typeof Me=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,resolve:()=>!1,options:Hn.boolOptions,stringify:u},{identify:p,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^([-+]?)0b([0-1_]+)$/,resolve:(Me,Bn,Hn)=>L(Bn,Hn,2),stringify:Me=>k(Me,2,"0b")},{identify:p,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^([-+]?)0([0-7_]+)$/,resolve:(Me,Bn,Hn)=>L(Bn,Hn,8),stringify:Me=>k(Me,8,"0")},{identify:p,default:!0,tag:"tag:yaml.org,2002:int",test:/^([-+]?)([0-9][0-9_]*)$/,resolve:(Me,Bn,Hn)=>L(Bn,Hn,10),stringify:Hn.stringifyNumber},{identify:p,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^([-+]?)0x([0-9a-fA-F_]+)$/,resolve:(Me,Bn,Hn)=>L(Bn,Hn,16),stringify:Me=>k(Me,16,"0x")},{identify:Me=>typeof Me=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(Me,Bn)=>Bn?NaN:Me[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Hn.stringifyNumber},{identify:Me=>typeof Me=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:Me=>parseFloat(Me.replace(/_/g,"")),stringify:Me=>{let{value:Bn}=Me;return Number(Bn).toExponential()}},{identify:Me=>typeof Me=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/,resolve(Me,Bn){let zn=new Hn.Scalar(parseFloat(Me.replace(/_/g,"")));if(Bn){let Me=Bn.replace(/_/g,"");Me[Me.length-1]==="0"&&(zn.minFractionDigits=Me.length)}return zn},stringify:Hn.stringifyNumber}],zn.binary,zn.omap,zn.pairs,zn.set,zn.intTime,zn.floatTime,zn.timestamp),Fc={core:Jo,failsafe:aa,json:tc,yaml11:dc},Jc={binary:zn.binary,bool:ca,float:oo,floatExp:so,floatNaN:Ha,floatTime:zn.floatTime,int:xa,intHex:Ga,intOct:_a,intTime:zn.intTime,map:ni,null:oa,omap:zn.omap,pairs:zn.pairs,seq:Ci,set:zn.set,timestamp:zn.timestamp};function z(Me,Bn,Hn){if(Bn){let Me=Hn.filter((Me=>Me.tag===Bn)),zn=Me.find((Me=>!Me.format))||Me[0];if(!zn)throw new Error(`Tag ${Bn} not found`);return zn}return Hn.find((Bn=>(Bn.identify&&Bn.identify(Me)||Bn.class&&Me instanceof Bn.class)&&!Bn.format))}function ae(Me,Bn,zn){if(Me instanceof Hn.Node)return Me;let{defaultPrefix:ts,onTagObj:Ps,prevObjects:aa,schema:oa,wrapScalars:ca}=zn;Bn&&Bn.startsWith("!!")&&(Bn=ts+Bn.slice(2));let _a=z(Me,Bn,oa.tags);if(!_a){if(typeof Me.toJSON=="function"&&(Me=Me.toJSON()),!Me||typeof Me!="object")return ca?new Hn.Scalar(Me):Me;_a=Me instanceof Map?ni:Me[Symbol.iterator]?Ci:ni}Ps&&(Ps(_a),delete zn.onTagObj);let xa={value:void 0,node:void 0};if(Me&&typeof Me=="object"&&aa){let Bn=aa.get(Me);if(Bn){let Me=new Hn.Alias(Bn);return zn.aliasNodes.push(Me),Me}xa.value=Me,aa.set(Me,xa)}return xa.node=_a.createNode?_a.createNode(zn.schema,Me,zn):ca?new Hn.Scalar(Me):Me,Bn&&xa.node instanceof Hn.Node&&(xa.node.tag=Bn),xa.node}function ue(Me,Bn,Hn,zn){let ni=Me[zn.replace(/\W/g,"")];if(!ni){let Bn=Object.keys(Me).map((Me=>JSON.stringify(Me))).join(", ");throw new Error(`Unknown schema "${zn}"; use one of ${Bn}`)}if(Array.isArray(Hn))for(let Me of Hn)ni=ni.concat(Me);else typeof Hn=="function"&&(ni=Hn(ni.slice()));for(let Me=0;MeJSON.stringify(Me))).join(", ");throw new Error(`Unknown custom tag "${Hn}"; use one of ${Me}`)}ni[Me]=zn}}return ni}var pe=(Me,Bn)=>Me.keyBn.key?1:0,Dp=class{constructor(Me){let{customTags:Bn,merge:Hn,schema:ni,sortMapEntries:Ci,tags:ts}=Me;this.merge=!!Hn,this.name=ni,this.sortMapEntries=Ci===!0?pe:Ci||null,!Bn&&ts&&zn.warnOptionDeprecation("tags","customTags"),this.tags=ue(Fc,Jc,Bn||ts,ni)}createNode(Me,Bn,Hn,zn){let ni={defaultPrefix:Dp.defaultPrefix,schema:this,wrapScalars:Bn},Ci=zn?Object.assign(zn,ni):ni;return ae(Me,Hn,Ci)}createPair(Me,Bn,zn){zn||(zn={wrapScalars:!0});let ni=this.createNode(Me,zn.wrapScalars,null,zn),Ci=this.createNode(Bn,zn.wrapScalars,null,zn);return new Hn.Pair(ni,Ci)}};Bn._defineProperty(Dp,"defaultPrefix",Bn.defaultTagPrefix),Bn._defineProperty(Dp,"defaultTags",Bn.defaultTags),Me.Schema=Dp}}),Kg=D({"node_modules/yaml/dist/Document-9b4560a1.js"(Me){"use strict";Ps();var Bn=qg(),Hn=$g(),zn=Wg(),ni={anchorPrefix:"a",customTags:null,indent:2,indentSeq:!0,keepCstNodes:!1,keepNodeTypes:!0,keepBlobsInJSON:!0,mapAsMap:!1,maxAliasCount:100,prettyErrors:!1,simpleKeys:!1,version:"1.2"},Ci={get binary(){return Hn.binaryOptions},set binary(Me){Object.assign(Hn.binaryOptions,Me)},get bool(){return Hn.boolOptions},set bool(Me){Object.assign(Hn.boolOptions,Me)},get int(){return Hn.intOptions},set int(Me){Object.assign(Hn.intOptions,Me)},get null(){return Hn.nullOptions},set null(Me){Object.assign(Hn.nullOptions,Me)},get str(){return Hn.strOptions},set str(Me){Object.assign(Hn.strOptions,Me)}},ts={"1.0":{schema:"yaml-1.1",merge:!0,tagPrefixes:[{handle:"!",prefix:Bn.defaultTagPrefix},{handle:"!!",prefix:"tag:private.yaml.org,2002:"}]},1.1:{schema:"yaml-1.1",merge:!0,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:Bn.defaultTagPrefix}]},1.2:{schema:"core",merge:!1,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:Bn.defaultTagPrefix}]}};function E(Me,Bn){if((Me.version||Me.options.version)==="1.0"){let Me=Bn.match(/^tag:private\.yaml\.org,2002:([^:/]+)$/);if(Me)return"!"+Me[1];let Hn=Bn.match(/^tag:([a-zA-Z0-9-]+)\.yaml\.org,2002:(.*)/);return Hn?`!${Hn[1]}/${Hn[2]}`:`!${Bn.replace(/^tag:/,"")}`}let Hn=Me.tagPrefixes.find((Me=>Bn.indexOf(Me.prefix)===0));if(!Hn){let zn=Me.getDefaults().tagPrefixes;Hn=zn&&zn.find((Me=>Bn.indexOf(Me.prefix)===0))}if(!Hn)return Bn[0]==="!"?Bn:`!<${Bn}>`;let zn=Bn.substr(Hn.prefix.length).replace(/[!,[\]{}]/g,(Me=>({"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"}[Me])));return Hn.handle+zn}function I(Me,Bn){if(Bn instanceof Hn.Alias)return Hn.Alias;if(Bn.tag){let Hn=Me.filter((Me=>Me.tag===Bn.tag));if(Hn.length>0)return Hn.find((Me=>Me.format===Bn.format))||Hn[0]}let zn,ni;if(Bn instanceof Hn.Scalar){ni=Bn.value;let Hn=Me.filter((Me=>Me.identify&&Me.identify(ni)||Me.class&&ni instanceof Me.class));zn=Hn.find((Me=>Me.format===Bn.format))||Hn.find((Me=>!Me.format))}else ni=Bn,zn=Me.find((Me=>Me.nodeClass&&ni instanceof Me.nodeClass));if(!zn){let Me=ni&&ni.constructor?ni.constructor.name:typeof ni;throw new Error(`Tag not resolved for ${Me} value`)}return zn}function S(Me,Bn,Hn){let{anchors:zn,doc:ni}=Hn,Ci=[],ts=ni.anchors.getName(Me);return ts&&(zn[ts]=Me,Ci.push(`&${ts}`)),Me.tag?Ci.push(E(ni,Me.tag)):Bn.default||Ci.push(E(ni,Bn.tag)),Ci.join(" ")}function M(Me,Bn,zn,ni){let{anchors:Ci,schema:ts}=Bn.doc,Ps;if(!(Me instanceof Hn.Node)){let Bn={aliasNodes:[],onTagObj:Me=>Ps=Me,prevObjects:new Map};Me=ts.createNode(Me,!0,null,Bn);for(let Me of Bn.aliasNodes){Me.source=Me.source.node;let Bn=Ci.getName(Me.source);Bn||(Bn=Ci.newName(),Ci.map[Bn]=Me.source)}}if(Me instanceof Hn.Pair)return Me.toString(Bn,zn,ni);Ps||(Ps=I(ts.tags,Me));let aa=S(Me,Ps,Bn);aa.length>0&&(Bn.indentAtStart=(Bn.indentAtStart||0)+aa.length+1);let oa=typeof Ps.stringify=="function"?Ps.stringify(Me,Bn,zn,ni):Me instanceof Hn.Scalar?Hn.stringifyString(Me,Bn,zn,ni):Me.toString(Bn,zn,ni);return aa?Me instanceof Hn.Scalar||oa[0]==="{"||oa[0]==="["?`${aa} ${oa}`:`${aa}\n${Bn.indent}${oa}`:oa}var aa=class{static validAnchorNode(Me){return Me instanceof Hn.Scalar||Me instanceof Hn.YAMLSeq||Me instanceof Hn.YAMLMap}constructor(Me){Bn._defineProperty(this,"map",Object.create(null)),this.prefix=Me}createAlias(Me,Bn){return this.setAnchor(Me,Bn),new Hn.Alias(Me)}createMergePair(){let Me=new Hn.Merge;for(var Bn=arguments.length,zn=new Array(Bn),ni=0;ni{if(Me instanceof Hn.Alias){if(Me.source instanceof Hn.YAMLMap)return Me}else if(Me instanceof Hn.YAMLMap)return this.createAlias(Me);throw new Error("Merge sources must be Map nodes or their Aliases")})),Me}getName(Me){let{map:Bn}=this;return Object.keys(Bn).find((Hn=>Bn[Hn]===Me))}getNames(){return Object.keys(this.map)}getNode(Me){return this.map[Me]}newName(Me){Me||(Me=this.prefix);let Bn=Object.keys(this.map);for(let Hn=1;;++Hn){let zn=`${Me}${Hn}`;if(!Bn.includes(zn))return zn}}resolveNodes(){let{map:Me,_cstAliases:Bn}=this;Object.keys(Me).forEach((Bn=>{Me[Bn]=Me[Bn].resolved})),Bn.forEach((Me=>{Me.source=Me.source.resolved})),delete this._cstAliases}setAnchor(Me,Bn){if(Me!=null&&!aa.validAnchorNode(Me))throw new Error("Anchors may only be set for Scalar, Seq and Map nodes");if(Bn&&/[\x00-\x19\s,[\]{}]/.test(Bn))throw new Error("Anchor names must not contain whitespace or control characters");let{map:Hn}=this,zn=Me&&Object.keys(Hn).find((Bn=>Hn[Bn]===Me));if(zn)if(Bn)zn!==Bn&&(delete Hn[zn],Hn[Bn]=Me);else return zn;else{if(!Bn){if(!Me)return null;Bn=this.newName()}Hn[Bn]=Me}return Bn}},P=(Me,Bn)=>{if(Me&&typeof Me=="object"){let{tag:zn}=Me;Me instanceof Hn.Collection?(zn&&(Bn[zn]=!0),Me.items.forEach((Me=>P(Me,Bn)))):Me instanceof Hn.Pair?(P(Me.key,Bn),P(Me.value,Bn)):Me instanceof Hn.Scalar&&zn&&(Bn[zn]=!0)}return Bn},C=Me=>Object.keys(P(Me,{}));function q(Me,zn){let ni={before:[],after:[]},Ci,ts=!1;for(let Ps of zn)if(Ps.valueRange){if(Ci!==void 0){let Hn="Document contains trailing content not separated by a ... or --- line";Me.errors.push(new Bn.YAMLSyntaxError(Ps,Hn));break}let zn=Hn.resolveNode(Me,Ps);ts&&(zn.spaceBefore=!0,ts=!1),Ci=zn}else Ps.comment!==null?(Ci===void 0?ni.before:ni.after).push(Ps.comment):Ps.type===Bn.Type.BLANK_LINE&&(ts=!0,Ci===void 0&&ni.before.length>0&&!Me.commentBefore&&(Me.commentBefore=ni.before.join(`\n`),ni.before=[]));if(Me.contents=Ci||null,!Ci)Me.comment=ni.before.concat(ni.after).join(`\n`)||null;else{let Bn=ni.before.join(`\n`);if(Bn){let Me=Ci instanceof Hn.Collection&&Ci.items[0]?Ci.items[0]:Ci;Me.commentBefore=Me.commentBefore?`${Bn}\n${Me.commentBefore}`:Bn}Me.comment=ni.after.join(`\n`)||null}}function R(Me,Hn){let{tagPrefixes:zn}=Me,[ni,Ci]=Hn.parameters;if(!ni||!Ci){let Me="Insufficient parameters given for %TAG directive";throw new Bn.YAMLSemanticError(Hn,Me)}if(zn.some((Me=>Me.handle===ni))){let Me="The %TAG directive must only be given at most once per handle in the same document.";throw new Bn.YAMLSemanticError(Hn,Me)}return{handle:ni,prefix:Ci}}function B(Me,Hn){let[zn]=Hn.parameters;if(Hn.name==="YAML:1.0"&&(zn="1.0"),!zn){let Me="Insufficient parameters given for %YAML directive";throw new Bn.YAMLSemanticError(Hn,Me)}if(!ts[zn]){let ni=`Document will be parsed as YAML ${Me.version||Me.options.version} rather than YAML ${zn}`;Me.warnings.push(new Bn.YAMLWarning(Hn,ni))}return zn}function U(Me,Hn,zn){let ni=[],Ci=!1;for(let zn of Hn){let{comment:Hn,name:ts}=zn;switch(ts){case"TAG":try{Me.tagPrefixes.push(R(Me,zn))}catch(Bn){Me.errors.push(Bn)}Ci=!0;break;case"YAML":case"YAML:1.0":if(Me.version){let Hn="The %YAML directive must only be given at most once per document.";Me.errors.push(new Bn.YAMLSemanticError(zn,Hn))}try{Me.version=B(Me,zn)}catch(Bn){Me.errors.push(Bn)}Ci=!0;break;default:if(ts){let Hn=`YAML only supports %TAG and %YAML directives, and not %${ts}`;Me.warnings.push(new Bn.YAMLWarning(zn,Hn))}}Hn&&ni.push(Hn)}if(zn&&!Ci&&(Me.version||zn.version||Me.options.version)==="1.1"){let u=Me=>{let{handle:Bn,prefix:Hn}=Me;return{handle:Bn,prefix:Hn}};Me.tagPrefixes=zn.tagPrefixes.map(u),Me.version=zn.version}Me.commentBefore=ni.join(`\n`)||null}function f(Me){if(Me instanceof Hn.Collection)return!0;throw new Error("Expected a YAML collection as document contents")}var oa=class{constructor(Me){this.anchors=new aa(Me.anchorPrefix),this.commentBefore=null,this.comment=null,this.contents=null,this.directivesEndMarker=null,this.errors=[],this.options=Me,this.schema=null,this.tagPrefixes=[],this.version=null,this.warnings=[]}add(Me){return f(this.contents),this.contents.add(Me)}addIn(Me,Bn){f(this.contents),this.contents.addIn(Me,Bn)}delete(Me){return f(this.contents),this.contents.delete(Me)}deleteIn(Me){return Hn.isEmptyPath(Me)?this.contents==null?!1:(this.contents=null,!0):(f(this.contents),this.contents.deleteIn(Me))}getDefaults(){return oa.defaults[this.version]||oa.defaults[this.options.version]||{}}get(Me,Bn){return this.contents instanceof Hn.Collection?this.contents.get(Me,Bn):void 0}getIn(Me,Bn){return Hn.isEmptyPath(Me)?!Bn&&this.contents instanceof Hn.Scalar?this.contents.value:this.contents:this.contents instanceof Hn.Collection?this.contents.getIn(Me,Bn):void 0}has(Me){return this.contents instanceof Hn.Collection?this.contents.has(Me):!1}hasIn(Me){return Hn.isEmptyPath(Me)?this.contents!==void 0:this.contents instanceof Hn.Collection?this.contents.hasIn(Me):!1}set(Me,Bn){f(this.contents),this.contents.set(Me,Bn)}setIn(Me,Bn){Hn.isEmptyPath(Me)?this.contents=Bn:(f(this.contents),this.contents.setIn(Me,Bn))}setSchema(Me,Bn){if(!Me&&!Bn&&this.schema)return;typeof Me=="number"&&(Me=Me.toFixed(1)),Me==="1.0"||Me==="1.1"||Me==="1.2"?(this.version?this.version=Me:this.options.version=Me,delete this.options.schema):Me&&typeof Me=="string"&&(this.options.schema=Me),Array.isArray(Bn)&&(this.options.customTags=Bn);let Hn=Object.assign({},this.getDefaults(),this.options);this.schema=new zn.Schema(Hn)}parse(Me,Hn){this.options.keepCstNodes&&(this.cstNode=Me),this.options.keepNodeTypes&&(this.type="DOCUMENT");let{directives:zn=[],contents:ni=[],directivesEndMarker:Ci,error:ts,valueRange:Ps}=Me;if(ts&&(ts.source||(ts.source=this),this.errors.push(ts)),U(this,zn,Hn),Ci&&(this.directivesEndMarker=!0),this.range=Ps?[Ps.start,Ps.end]:null,this.setSchema(),this.anchors._cstAliases=[],q(this,ni),this.anchors.resolveNodes(),this.options.prettyErrors){for(let Me of this.errors)Me instanceof Bn.YAMLError&&Me.makePretty();for(let Me of this.warnings)Me instanceof Bn.YAMLError&&Me.makePretty()}return this}listNonDefaultTags(){return C(this.contents).filter((Me=>Me.indexOf(zn.Schema.defaultPrefix)!==0))}setTagPrefix(Me,Bn){if(Me[0]!=="!"||Me[Me.length-1]!=="!")throw new Error("Handle must start and end with !");if(Bn){let Hn=this.tagPrefixes.find((Bn=>Bn.handle===Me));Hn?Hn.prefix=Bn:this.tagPrefixes.push({handle:Me,prefix:Bn})}else this.tagPrefixes=this.tagPrefixes.filter((Bn=>Bn.handle!==Me))}toJSON(Me,Bn){let{keepBlobsInJSON:zn,mapAsMap:ni,maxAliasCount:Ci}=this.options,ts=zn&&(typeof Me!="string"||!(this.contents instanceof Hn.Scalar)),Ps={doc:this,indentStep:" ",keep:ts,mapAsMap:ts&&!!ni,maxAliasCount:Ci,stringify:M},aa=Object.keys(this.anchors.map);aa.length>0&&(Ps.anchors=new Map(aa.map((Me=>[this.anchors.map[Me],{alias:[],aliasCount:0,count:1}]))));let oa=Hn.toJSON(this.contents,Me,Ps);if(typeof Bn=="function"&&Ps.anchors)for(let{count:Me,res:Hn}of Ps.anchors.values())Bn(Hn,Me);return oa}toString(){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");let Me=this.options.indent;if(!Number.isInteger(Me)||Me<=0){let Bn=JSON.stringify(Me);throw new Error(`"indent" option must be a positive integer, not ${Bn}`)}this.setSchema();let Bn=[],zn=!1;if(this.version){let Me="%YAML 1.2";this.schema.name==="yaml-1.1"&&(this.version==="1.0"?Me="%YAML:1.0":this.version==="1.1"&&(Me="%YAML 1.1")),Bn.push(Me),zn=!0}let ni=this.listNonDefaultTags();this.tagPrefixes.forEach((Me=>{let{handle:Hn,prefix:Ci}=Me;ni.some((Me=>Me.indexOf(Ci)===0))&&(Bn.push(`%TAG ${Hn} ${Ci}`),zn=!0)})),(zn||this.directivesEndMarker)&&Bn.push("---"),this.commentBefore&&((zn||!this.directivesEndMarker)&&Bn.unshift(""),Bn.unshift(this.commentBefore.replace(/^/gm,"#")));let Ci={anchors:Object.create(null),doc:this,indent:"",indentStep:" ".repeat(Me),stringify:M},ts=!1,Ps=null;if(this.contents){this.contents instanceof Hn.Node&&(this.contents.spaceBefore&&(zn||this.directivesEndMarker)&&Bn.push(""),this.contents.commentBefore&&Bn.push(this.contents.commentBefore.replace(/^/gm,"#")),Ci.forceBlockIndent=!!this.comment,Ps=this.contents.comment);let Me=Ps?null:()=>ts=!0,ni=M(this.contents,Ci,(()=>Ps=null),Me);Bn.push(Hn.addComment(ni,"",Ps))}else this.contents!==void 0&&Bn.push(M(this.contents,Ci));return this.comment&&((!ts||Ps)&&Bn[Bn.length-1]!==""&&Bn.push(""),Bn.push(this.comment.replace(/^/gm,"#"))),Bn.join(`\n`)+`\n`}};Bn._defineProperty(oa,"defaults",ts),Me.Document=oa,Me.defaultOptions=ni,Me.scalarOptions=Ci}}),zg=D({"node_modules/yaml/dist/index.js"(Me){"use strict";Ps();var Bn=Jg(),Hn=Kg(),zn=Wg(),ni=qg(),Ci=Yg();$g();function y(Me){let Bn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,ni=arguments.length>2?arguments[2]:void 0;ni===void 0&&typeof Bn=="string"&&(ni=Bn,Bn=!0);let Ci=Object.assign({},Hn.Document.defaults[Hn.defaultOptions.version],Hn.defaultOptions);return new zn.Schema(Ci).createNode(Me,Bn,ni)}var ts=class extends Hn.Document{constructor(Me){super(Object.assign({},Hn.defaultOptions,Me))}};function I(Me,Hn){let zn=[],ni;for(let Ci of Bn.parse(Me)){let Me=new ts(Hn);Me.parse(Ci,ni),zn.push(Me),ni=Me}return zn}function S(Me,Hn){let zn=Bn.parse(Me),Ci=new ts(Hn).parse(zn[0]);if(zn.length>1){let Me="Source contains multiple documents; please use YAML.parseAllDocuments()";Ci.errors.unshift(new ni.YAMLSemanticError(zn[1],Me))}return Ci}function M(Me,Bn){let Hn=S(Me,Bn);if(Hn.warnings.forEach((Me=>Ci.warn(Me))),Hn.errors.length>0)throw Hn.errors[0];return Hn.toJSON()}function T(Me,Bn){let Hn=new ts(Bn);return Hn.contents=Me,String(Hn)}var aa={createNode:y,defaultOptions:Hn.defaultOptions,Document:ts,parse:M,parseAllDocuments:I,parseCST:Bn.parse,parseDocument:S,scalarOptions:Hn.scalarOptions,stringify:T};Me.YAML=aa}}),Xg=D({"node_modules/yaml/index.js"(Me,Bn){Ps(),Bn.exports=zg().YAML}}),Zg=D({"node_modules/yaml/dist/util.js"(Me){"use strict";Ps();var Bn=$g(),Hn=qg();Me.findPair=Bn.findPair,Me.parseMap=Bn.resolveMap,Me.parseSeq=Bn.resolveSeq,Me.stringifyNumber=Bn.stringifyNumber,Me.stringifyString=Bn.stringifyString,Me.toJSON=Bn.toJSON,Me.Type=Hn.Type,Me.YAMLError=Hn.YAMLError,Me.YAMLReferenceError=Hn.YAMLReferenceError,Me.YAMLSemanticError=Hn.YAMLSemanticError,Me.YAMLSyntaxError=Hn.YAMLSyntaxError,Me.YAMLWarning=Hn.YAMLWarning}}),f_=D({"node_modules/yaml/util.js"(Me){Ps();var Bn=Zg();Me.findPair=Bn.findPair,Me.toJSON=Bn.toJSON,Me.parseMap=Bn.parseMap,Me.parseSeq=Bn.parseSeq,Me.stringifyNumber=Bn.stringifyNumber,Me.stringifyString=Bn.stringifyString,Me.Type=Bn.Type,Me.YAMLError=Bn.YAMLError,Me.YAMLReferenceError=Bn.YAMLReferenceError,Me.YAMLSemanticError=Bn.YAMLSemanticError,Me.YAMLSyntaxError=Bn.YAMLSyntaxError,Me.YAMLWarning=Bn.YAMLWarning}}),Z_=D({"node_modules/yaml-unist-parser/lib/yaml.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=Xg();Me.Document=Bn.Document;var Hn=Xg();Me.parseCST=Hn.parseCST;var zn=f_();Me.YAMLError=zn.YAMLError,Me.YAMLSyntaxError=zn.YAMLSyntaxError,Me.YAMLSemanticError=zn.YAMLSemanticError}}),ey=D({"node_modules/yaml-unist-parser/lib/parse.js"(Me){"use strict";Ps(),Me.__esModule=!0;var Bn=so(),Hn=tc(),zn=Fc(),ni=Jc(),Ci=Rg(),ts=Xf(),aa=Og(),oa=Mg(),ca=jg(),_a=Ug(),xa=Gg(),Ga=Hg(),Ha=Z_();function q(Me){var Ps=Ha.parseCST(Me);_a.addOrigRange(Ps);for(var so=Ps.map((function(Me){return new Ha.Document({merge:!1,keepCstNodes:!0}).parse(Me)})),oo=new Bn.default(Me),Jo=[],tc={text:Me,locator:oo,comments:Jo,transformOffset:function(Me){return oa.transformOffset(Me,tc)},transformRange:function(Me){return ca.transformRange(Me,tc)},transformNode:function(Me){return Ci.transformNode(Me,tc)},transformContent:function(Me){return ts.transformContent(Me,tc)}},dc=0,Fc=so;dc{"use strict";var zn=Object.getOwnPropertyNames;var __commonJS=(Me,Bn)=>function __require(){return Bn||(0,Me[zn(Me)[0]])((Bn={exports:{}}).exports,Bn),Bn.exports};var ni=__commonJS({"node_modules/import-fresh/node_modules/resolve-from/index.js"(Me,Bn){"use strict";var zn=Hn(16928);var ni=Hn(73339);var Ci=Hn(79896);var resolveFrom=(Me,Bn,Hn)=>{if(typeof Me!=="string"){throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof Me}\``)}if(typeof Bn!=="string"){throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof Bn}\``)}try{Me=Ci.realpathSync(Me)}catch(Bn){if(Bn.code==="ENOENT"){Me=zn.resolve(Me)}else if(Hn){return null}else{throw Bn}}const ts=zn.join(Me,"noop.js");const resolveFileName=()=>ni._resolveFilename(Bn,{id:ts,filename:ts,paths:ni._nodeModulePaths(Me)});if(Hn){try{return resolveFileName()}catch(Me){return null}}return resolveFileName()};Bn.exports=(Me,Bn)=>resolveFrom(Me,Bn);Bn.exports.silent=(Me,Bn)=>resolveFrom(Me,Bn,true)}});var Ci=__commonJS({"scripts/build/shims/parent-module.cjs"(Me,Bn){"use strict";Bn.exports=Me=>Me}});var ts=__commonJS({"node_modules/import-fresh/index.js"(Me,Bn){"use strict";var zn=Hn(16928);var ts=ni();var Ps=Ci();Bn.exports=Me=>{if(typeof Me!=="string"){throw new TypeError("Expected a string")}const Bn=Ps(__filename);const Hn=Bn?zn.dirname(Bn):__dirname;const ni=ts(Hn,Me);const Ci=require.cache[ni];if(Ci&&Ci.parent){let Me=Ci.parent.children.length;while(Me--){if(Ci.parent.children[Me].id===ni){Ci.parent.children.splice(Me,1)}}}delete require.cache[ni];const aa=require.cache[Bn];return aa===void 0?require(ni):aa.require(ni)}}});var Ps=__commonJS({"node_modules/is-arrayish/index.js"(Me,Bn){"use strict";Bn.exports=function isArrayish(Me){if(!Me){return false}return Me instanceof Array||Array.isArray(Me)||Me.length>=0&&Me.splice instanceof Function}}});var aa=__commonJS({"node_modules/error-ex/index.js"(Me,Bn){"use strict";var zn=Hn(39023);var ni=Ps();var Ci=function errorEx2(Me,Bn){if(!Me||Me.constructor!==String){Bn=Me||{};Me=Error.name}var Hn=function ErrorEXError(zn){if(!this){return new ErrorEXError(zn)}zn=zn instanceof Error?zn.message:zn||this.message;Error.call(this,zn);Error.captureStackTrace(this,Hn);this.name=Me;Object.defineProperty(this,"message",{configurable:true,enumerable:false,get:function(){var Me=zn.split(/\r?\n/g);for(var Hn in Bn){if(!Bn.hasOwnProperty(Hn)){continue}var Ci=Bn[Hn];if("message"in Ci){Me=Ci.message(this[Hn],Me)||Me;if(!ni(Me)){Me=[Me]}}}return Me.join("\n")},set:function(Me){zn=Me}});var Ci=null;var ts=Object.getOwnPropertyDescriptor(this,"stack");var Ps=ts.get;var aa=ts.value;delete ts.value;delete ts.writable;ts.set=function(Me){Ci=Me};ts.get=function(){var Me=(Ci||(Ps?Ps.call(this):aa)).split(/\r?\n+/g);if(!Ci){Me[0]=this.name+": "+this.message}var Hn=1;for(var zn in Bn){if(!Bn.hasOwnProperty(zn)){continue}var ni=Bn[zn];if("line"in ni){var ts=ni.line(this[zn]);if(ts){Me.splice(Hn++,0," "+ts)}}if("stack"in ni){ni.stack(this[zn],Me)}}return Me.join("\n")};Object.defineProperty(this,"stack",ts)};if(Object.setPrototypeOf){Object.setPrototypeOf(Hn.prototype,Error.prototype);Object.setPrototypeOf(Hn,Error)}else{zn.inherits(Hn,Error)}return Hn};Ci.append=function(Me,Bn){return{message:function(Hn,zn){Hn=Hn||Bn;if(Hn){zn[0]+=" "+Me.replace("%s",Hn.toString())}return zn}}};Ci.line=function(Me,Bn){return{line:function(Hn){Hn=Hn||Bn;if(Hn){return Me.replace("%s",Hn.toString())}return null}}};Bn.exports=Ci}});var oa=__commonJS({"node_modules/json-parse-even-better-errors/index.js"(Me,Bn){"use strict";var hexify=Me=>{const Bn=Me.charCodeAt(0).toString(16).toUpperCase();return"0x"+(Bn.length%2?"0":"")+Bn};var parseError=(Me,Bn,Hn)=>{if(!Bn){return{message:Me.message+" while parsing empty string",position:0}}const zn=Me.message.match(/^Unexpected token (.) .*position\s+(\d+)/i);const ni=zn?+zn[2]:Me.message.match(/^Unexpected end of JSON.*/i)?Bn.length-1:null;const Ci=zn?Me.message.replace(/^Unexpected token ./,`Unexpected token ${JSON.stringify(zn[1])} (${hexify(zn[1])})`):Me.message;if(ni!==null&&ni!==void 0){const Me=ni<=Hn?0:ni-Hn;const zn=ni+Hn>=Bn.length?Bn.length:ni+Hn;const ts=(Me===0?"":"...")+Bn.slice(Me,zn)+(zn===Bn.length?"":"...");const Ps=Bn===ts?"":"near ";return{message:Ci+` while parsing ${Ps}${JSON.stringify(ts)}`,position:ni}}else{return{message:Ci+` while parsing '${Bn.slice(0,Hn*2)}'`,position:0}}};var Hn=class extends SyntaxError{constructor(Me,Bn,Hn,zn){Hn=Hn||20;const ni=parseError(Me,Bn,Hn);super(ni.message);Object.assign(this,ni);this.code="EJSONPARSE";this.systemError=Me;Error.captureStackTrace(this,zn||this.constructor)}get name(){return this.constructor.name}set name(Me){}get[Symbol.toStringTag](){return this.constructor.name}};var zn=Symbol.for("indent");var ni=Symbol.for("newline");var Ci=/^\s*[{\[]((?:\r?\n)+)([\s\t]*)/;var ts=/^(?:\{\}|\[\])((?:\r?\n)+)?$/;var parseJson=(Me,Bn,Ps)=>{const aa=stripBOM(Me);Ps=Ps||20;try{const[,Me="\n",Hn=" "]=aa.match(ts)||aa.match(Ci)||[,"",""];const Ps=JSON.parse(aa,Bn);if(Ps&&typeof Ps==="object"){Ps[ni]=Me;Ps[zn]=Hn}return Ps}catch(Bn){if(typeof Me!=="string"&&!Buffer.isBuffer(Me)){const Hn=Array.isArray(Me)&&Me.length===0;throw Object.assign(new TypeError(`Cannot parse ${Hn?"an empty array":String(Me)}`),{code:"EJSONPARSE",systemError:Bn})}throw new Hn(Bn,aa,Ps,parseJson)}};var stripBOM=Me=>String(Me).replace(/^\uFEFF/,"");Bn.exports=parseJson;parseJson.JSONParseError=Hn;parseJson.noExceptions=(Me,Bn)=>{try{return JSON.parse(stripBOM(Me),Bn)}catch(Me){}}}});var ca=__commonJS({"node_modules/parse-json/node_modules/lines-and-columns/build/index.js"(Me){"use strict";Me.__esModule=true;Me.LinesAndColumns=void 0;var Bn="\n";var Hn="\r";var zn=function(){function LinesAndColumns2(Me){this.string=Me;var zn=[0];for(var ni=0;nithis.string.length){return null}var Bn=0;var Hn=this.offsets;while(Hn[Bn+1]<=Me){Bn++}var zn=Me-Hn[Bn];return{line:Bn,column:zn}};LinesAndColumns2.prototype.indexForLocation=function(Me){var Bn=Me.line,Hn=Me.column;if(Bn<0||Bn>=this.offsets.length){return null}if(Hn<0||Hn>this.lengthOfLine(Bn)){return null}return this.offsets[Bn]+Hn};LinesAndColumns2.prototype.lengthOfLine=function(Me){var Bn=this.offsets[Me];var Hn=Me===this.offsets.length-1?this.string.length:this.offsets[Me+1];return Hn-Bn};return LinesAndColumns2}();Me.LinesAndColumns=zn;Me["default"]=zn}});var _a=__commonJS({"node_modules/js-tokens/index.js"(Me){Object.defineProperty(Me,"__esModule",{value:true});Me.default=/((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g;Me.matchToToken=function(Me){var Bn={type:"invalid",value:Me[0],closed:void 0};if(Me[1])Bn.type="string",Bn.closed=!!(Me[3]||Me[4]);else if(Me[5])Bn.type="comment";else if(Me[6])Bn.type="comment",Bn.closed=!!Me[7];else if(Me[8])Bn.type="regex";else if(Me[9])Bn.type="number";else if(Me[10])Bn.type="name";else if(Me[11])Bn.type="punctuator";else if(Me[12])Bn.type="whitespace";return Bn}}});var xa=__commonJS({"node_modules/@babel/helper-validator-identifier/lib/identifier.js"(Me){"use strict";Object.defineProperty(Me,"__esModule",{value:true});Me.isIdentifierChar=isIdentifierChar;Me.isIdentifierName=isIdentifierName;Me.isIdentifierStart=isIdentifierStart;var Bn="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ";var Hn="‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-ᫎᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_";var zn=new RegExp("["+Bn+"]");var ni=new RegExp("["+Bn+Hn+"]");Bn=Hn=null;var Ci=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,4026,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,757,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,3104,541,1507,4938,6,4191];var ts=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,81,2,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,9,5351,0,7,14,13835,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,983,6,110,6,6,9,4759,9,787719,239];function isInAstralSet(Me,Bn){let Hn=65536;for(let zn=0,ni=Bn.length;znMe)return false;Hn+=Bn[zn+1];if(Hn>=Me)return true}return false}function isIdentifierStart(Me){if(Me<65)return Me===36;if(Me<=90)return true;if(Me<97)return Me===95;if(Me<=122)return true;if(Me<=65535){return Me>=170&&zn.test(String.fromCharCode(Me))}return isInAstralSet(Me,Ci)}function isIdentifierChar(Me){if(Me<48)return Me===36;if(Me<58)return true;if(Me<65)return false;if(Me<=90)return true;if(Me<97)return Me===95;if(Me<=122)return true;if(Me<=65535){return Me>=170&&ni.test(String.fromCharCode(Me))}return isInAstralSet(Me,Ci)||isInAstralSet(Me,ts)}function isIdentifierName(Me){let Bn=true;for(let Hn=0;Hn1){ni-=1}}return[ni*360,Ci*100,oa*100]};Ci.rgb.hwb=function(Me){var Bn=Me[0];var Hn=Me[1];var zn=Me[2];var ni=Ci.rgb.hsl(Me)[0];var ts=1/255*Math.min(Bn,Math.min(Hn,zn));zn=1-1/255*Math.max(Bn,Math.max(Hn,zn));return[ni,ts*100,zn*100]};Ci.rgb.cmyk=function(Me){var Bn=Me[0]/255;var Hn=Me[1]/255;var zn=Me[2]/255;var ni;var Ci;var ts;var Ps;Ps=Math.min(1-Bn,1-Hn,1-zn);ni=(1-Bn-Ps)/(1-Ps)||0;Ci=(1-Hn-Ps)/(1-Ps)||0;ts=(1-zn-Ps)/(1-Ps)||0;return[ni*100,Ci*100,ts*100,Ps*100]};function comparativeDistance(Me,Bn){return Math.pow(Me[0]-Bn[0],2)+Math.pow(Me[1]-Bn[1],2)+Math.pow(Me[2]-Bn[2],2)}Ci.rgb.keyword=function(Me){var Bn=zn[Me];if(Bn){return Bn}var ni=Infinity;var Ci;for(var ts in Hn){if(Hn.hasOwnProperty(ts)){var Ps=Hn[ts];var aa=comparativeDistance(Me,Ps);if(aa.04045?Math.pow((Bn+.055)/1.055,2.4):Bn/12.92;Hn=Hn>.04045?Math.pow((Hn+.055)/1.055,2.4):Hn/12.92;zn=zn>.04045?Math.pow((zn+.055)/1.055,2.4):zn/12.92;var ni=Bn*.4124+Hn*.3576+zn*.1805;var Ci=Bn*.2126+Hn*.7152+zn*.0722;var ts=Bn*.0193+Hn*.1192+zn*.9505;return[ni*100,Ci*100,ts*100]};Ci.rgb.lab=function(Me){var Bn=Ci.rgb.xyz(Me);var Hn=Bn[0];var zn=Bn[1];var ni=Bn[2];var ts;var Ps;var aa;Hn/=95.047;zn/=100;ni/=108.883;Hn=Hn>.008856?Math.pow(Hn,1/3):7.787*Hn+16/116;zn=zn>.008856?Math.pow(zn,1/3):7.787*zn+16/116;ni=ni>.008856?Math.pow(ni,1/3):7.787*ni+16/116;ts=116*zn-16;Ps=500*(Hn-zn);aa=200*(zn-ni);return[ts,Ps,aa]};Ci.hsl.rgb=function(Me){var Bn=Me[0]/360;var Hn=Me[1]/100;var zn=Me[2]/100;var ni;var Ci;var ts;var Ps;var aa;if(Hn===0){aa=zn*255;return[aa,aa,aa]}if(zn<.5){Ci=zn*(1+Hn)}else{Ci=zn+Hn-zn*Hn}ni=2*zn-Ci;Ps=[0,0,0];for(var oa=0;oa<3;oa++){ts=Bn+1/3*-(oa-1);if(ts<0){ts++}if(ts>1){ts--}if(6*ts<1){aa=ni+(Ci-ni)*6*ts}else if(2*ts<1){aa=Ci}else if(3*ts<2){aa=ni+(Ci-ni)*(2/3-ts)*6}else{aa=ni}Ps[oa]=aa*255}return Ps};Ci.hsl.hsv=function(Me){var Bn=Me[0];var Hn=Me[1]/100;var zn=Me[2]/100;var ni=Hn;var Ci=Math.max(zn,.01);var ts;var Ps;zn*=2;Hn*=zn<=1?zn:2-zn;ni*=Ci<=1?Ci:2-Ci;Ps=(zn+Hn)/2;ts=zn===0?2*ni/(Ci+ni):2*Hn/(zn+Hn);return[Bn,ts*100,Ps*100]};Ci.hsv.rgb=function(Me){var Bn=Me[0]/60;var Hn=Me[1]/100;var zn=Me[2]/100;var ni=Math.floor(Bn)%6;var Ci=Bn-Math.floor(Bn);var ts=255*zn*(1-Hn);var Ps=255*zn*(1-Hn*Ci);var aa=255*zn*(1-Hn*(1-Ci));zn*=255;switch(ni){case 0:return[zn,aa,ts];case 1:return[Ps,zn,ts];case 2:return[ts,zn,aa];case 3:return[ts,Ps,zn];case 4:return[aa,ts,zn];case 5:return[zn,ts,Ps]}};Ci.hsv.hsl=function(Me){var Bn=Me[0];var Hn=Me[1]/100;var zn=Me[2]/100;var ni=Math.max(zn,.01);var Ci;var ts;var Ps;Ps=(2-Hn)*zn;Ci=(2-Hn)*ni;ts=Hn*ni;ts/=Ci<=1?Ci:2-Ci;ts=ts||0;Ps/=2;return[Bn,ts*100,Ps*100]};Ci.hwb.rgb=function(Me){var Bn=Me[0]/360;var Hn=Me[1]/100;var zn=Me[2]/100;var ni=Hn+zn;var Ci;var ts;var Ps;var aa;if(ni>1){Hn/=ni;zn/=ni}Ci=Math.floor(6*Bn);ts=1-zn;Ps=6*Bn-Ci;if((Ci&1)!==0){Ps=1-Ps}aa=Hn+Ps*(ts-Hn);var oa;var ca;var _a;switch(Ci){default:case 6:case 0:oa=ts;ca=aa;_a=Hn;break;case 1:oa=aa;ca=ts;_a=Hn;break;case 2:oa=Hn;ca=ts;_a=aa;break;case 3:oa=Hn;ca=aa;_a=ts;break;case 4:oa=aa;ca=Hn;_a=ts;break;case 5:oa=ts;ca=Hn;_a=aa;break}return[oa*255,ca*255,_a*255]};Ci.cmyk.rgb=function(Me){var Bn=Me[0]/100;var Hn=Me[1]/100;var zn=Me[2]/100;var ni=Me[3]/100;var Ci;var ts;var Ps;Ci=1-Math.min(1,Bn*(1-ni)+ni);ts=1-Math.min(1,Hn*(1-ni)+ni);Ps=1-Math.min(1,zn*(1-ni)+ni);return[Ci*255,ts*255,Ps*255]};Ci.xyz.rgb=function(Me){var Bn=Me[0]/100;var Hn=Me[1]/100;var zn=Me[2]/100;var ni;var Ci;var ts;ni=Bn*3.2406+Hn*-1.5372+zn*-.4986;Ci=Bn*-.9689+Hn*1.8758+zn*.0415;ts=Bn*.0557+Hn*-.204+zn*1.057;ni=ni>.0031308?1.055*Math.pow(ni,1/2.4)-.055:ni*12.92;Ci=Ci>.0031308?1.055*Math.pow(Ci,1/2.4)-.055:Ci*12.92;ts=ts>.0031308?1.055*Math.pow(ts,1/2.4)-.055:ts*12.92;ni=Math.min(Math.max(0,ni),1);Ci=Math.min(Math.max(0,Ci),1);ts=Math.min(Math.max(0,ts),1);return[ni*255,Ci*255,ts*255]};Ci.xyz.lab=function(Me){var Bn=Me[0];var Hn=Me[1];var zn=Me[2];var ni;var Ci;var ts;Bn/=95.047;Hn/=100;zn/=108.883;Bn=Bn>.008856?Math.pow(Bn,1/3):7.787*Bn+16/116;Hn=Hn>.008856?Math.pow(Hn,1/3):7.787*Hn+16/116;zn=zn>.008856?Math.pow(zn,1/3):7.787*zn+16/116;ni=116*Hn-16;Ci=500*(Bn-Hn);ts=200*(Hn-zn);return[ni,Ci,ts]};Ci.lab.xyz=function(Me){var Bn=Me[0];var Hn=Me[1];var zn=Me[2];var ni;var Ci;var ts;Ci=(Bn+16)/116;ni=Hn/500+Ci;ts=Ci-zn/200;var Ps=Math.pow(Ci,3);var aa=Math.pow(ni,3);var oa=Math.pow(ts,3);Ci=Ps>.008856?Ps:(Ci-16/116)/7.787;ni=aa>.008856?aa:(ni-16/116)/7.787;ts=oa>.008856?oa:(ts-16/116)/7.787;ni*=95.047;Ci*=100;ts*=108.883;return[ni,Ci,ts]};Ci.lab.lch=function(Me){var Bn=Me[0];var Hn=Me[1];var zn=Me[2];var ni;var Ci;var ts;ni=Math.atan2(zn,Hn);Ci=ni*360/2/Math.PI;if(Ci<0){Ci+=360}ts=Math.sqrt(Hn*Hn+zn*zn);return[Bn,ts,Ci]};Ci.lch.lab=function(Me){var Bn=Me[0];var Hn=Me[1];var zn=Me[2];var ni;var Ci;var ts;ts=zn/360*2*Math.PI;ni=Hn*Math.cos(ts);Ci=Hn*Math.sin(ts);return[Bn,ni,Ci]};Ci.rgb.ansi16=function(Me){var Bn=Me[0];var Hn=Me[1];var zn=Me[2];var ni=1 in arguments?arguments[1]:Ci.rgb.hsv(Me)[2];ni=Math.round(ni/50);if(ni===0){return 30}var ts=30+(Math.round(zn/255)<<2|Math.round(Hn/255)<<1|Math.round(Bn/255));if(ni===2){ts+=60}return ts};Ci.hsv.ansi16=function(Me){return Ci.rgb.ansi16(Ci.hsv.rgb(Me),Me[2])};Ci.rgb.ansi256=function(Me){var Bn=Me[0];var Hn=Me[1];var zn=Me[2];if(Bn===Hn&&Hn===zn){if(Bn<8){return 16}if(Bn>248){return 231}return Math.round((Bn-8)/247*24)+232}var ni=16+36*Math.round(Bn/255*5)+6*Math.round(Hn/255*5)+Math.round(zn/255*5);return ni};Ci.ansi16.rgb=function(Me){var Bn=Me%10;if(Bn===0||Bn===7){if(Me>50){Bn+=3.5}Bn=Bn/10.5*255;return[Bn,Bn,Bn]}var Hn=(~~(Me>50)+1)*.5;var zn=(Bn&1)*Hn*255;var ni=(Bn>>1&1)*Hn*255;var Ci=(Bn>>2&1)*Hn*255;return[zn,ni,Ci]};Ci.ansi256.rgb=function(Me){if(Me>=232){var Bn=(Me-232)*10+8;return[Bn,Bn,Bn]}Me-=16;var Hn;var zn=Math.floor(Me/36)/5*255;var ni=Math.floor((Hn=Me%36)/6)/5*255;var Ci=Hn%6/5*255;return[zn,ni,Ci]};Ci.rgb.hex=function(Me){var Bn=((Math.round(Me[0])&255)<<16)+((Math.round(Me[1])&255)<<8)+(Math.round(Me[2])&255);var Hn=Bn.toString(16).toUpperCase();return"000000".substring(Hn.length)+Hn};Ci.hex.rgb=function(Me){var Bn=Me.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!Bn){return[0,0,0]}var Hn=Bn[0];if(Bn[0].length===3){Hn=Hn.split("").map((function(Me){return Me+Me})).join("")}var zn=parseInt(Hn,16);var ni=zn>>16&255;var Ci=zn>>8&255;var ts=zn&255;return[ni,Ci,ts]};Ci.rgb.hcg=function(Me){var Bn=Me[0]/255;var Hn=Me[1]/255;var zn=Me[2]/255;var ni=Math.max(Math.max(Bn,Hn),zn);var Ci=Math.min(Math.min(Bn,Hn),zn);var ts=ni-Ci;var Ps;var aa;if(ts<1){Ps=Ci/(1-ts)}else{Ps=0}if(ts<=0){aa=0}else if(ni===Bn){aa=(Hn-zn)/ts%6}else if(ni===Hn){aa=2+(zn-Bn)/ts}else{aa=4+(Bn-Hn)/ts+4}aa/=6;aa%=1;return[aa*360,ts*100,Ps*100]};Ci.hsl.hcg=function(Me){var Bn=Me[1]/100;var Hn=Me[2]/100;var zn=1;var ni=0;if(Hn<.5){zn=2*Bn*Hn}else{zn=2*Bn*(1-Hn)}if(zn<1){ni=(Hn-.5*zn)/(1-zn)}return[Me[0],zn*100,ni*100]};Ci.hsv.hcg=function(Me){var Bn=Me[1]/100;var Hn=Me[2]/100;var zn=Bn*Hn;var ni=0;if(zn<1){ni=(Hn-zn)/(1-zn)}return[Me[0],zn*100,ni*100]};Ci.hcg.rgb=function(Me){var Bn=Me[0]/360;var Hn=Me[1]/100;var zn=Me[2]/100;if(Hn===0){return[zn*255,zn*255,zn*255]}var ni=[0,0,0];var Ci=Bn%1*6;var ts=Ci%1;var Ps=1-ts;var aa=0;switch(Math.floor(Ci)){case 0:ni[0]=1;ni[1]=ts;ni[2]=0;break;case 1:ni[0]=Ps;ni[1]=1;ni[2]=0;break;case 2:ni[0]=0;ni[1]=1;ni[2]=ts;break;case 3:ni[0]=0;ni[1]=Ps;ni[2]=1;break;case 4:ni[0]=ts;ni[1]=0;ni[2]=1;break;default:ni[0]=1;ni[1]=0;ni[2]=Ps}aa=(1-Hn)*zn;return[(Hn*ni[0]+aa)*255,(Hn*ni[1]+aa)*255,(Hn*ni[2]+aa)*255]};Ci.hcg.hsv=function(Me){var Bn=Me[1]/100;var Hn=Me[2]/100;var zn=Bn+Hn*(1-Bn);var ni=0;if(zn>0){ni=Bn/zn}return[Me[0],ni*100,zn*100]};Ci.hcg.hsl=function(Me){var Bn=Me[1]/100;var Hn=Me[2]/100;var zn=Hn*(1-Bn)+.5*Bn;var ni=0;if(zn>0&&zn<.5){ni=Bn/(2*zn)}else if(zn>=.5&&zn<1){ni=Bn/(2*(1-zn))}return[Me[0],ni*100,zn*100]};Ci.hcg.hwb=function(Me){var Bn=Me[1]/100;var Hn=Me[2]/100;var zn=Bn+Hn*(1-Bn);return[Me[0],(zn-Bn)*100,(1-zn)*100]};Ci.hwb.hcg=function(Me){var Bn=Me[1]/100;var Hn=Me[2]/100;var zn=1-Hn;var ni=zn-Bn;var Ci=0;if(ni<1){Ci=(zn-ni)/(1-ni)}return[Me[0],ni*100,Ci*100]};Ci.apple.rgb=function(Me){return[Me[0]/65535*255,Me[1]/65535*255,Me[2]/65535*255]};Ci.rgb.apple=function(Me){return[Me[0]/255*65535,Me[1]/255*65535,Me[2]/255*65535]};Ci.gray.rgb=function(Me){return[Me[0]/100*255,Me[0]/100*255,Me[0]/100*255]};Ci.gray.hsl=Ci.gray.hsv=function(Me){return[0,0,Me[0]]};Ci.gray.hwb=function(Me){return[0,100,Me[0]]};Ci.gray.cmyk=function(Me){return[0,0,0,Me[0]]};Ci.gray.lab=function(Me){return[Me[0],0,0]};Ci.gray.hex=function(Me){var Bn=Math.round(Me[0]/100*255)&255;var Hn=(Bn<<16)+(Bn<<8)+Bn;var zn=Hn.toString(16).toUpperCase();return"000000".substring(zn.length)+zn};Ci.rgb.gray=function(Me){var Bn=(Me[0]+Me[1]+Me[2])/3;return[Bn/255*100]}}});var tc=__commonJS({"node_modules/color-convert/route.js"(Me,Bn){var Hn=Jo();function buildGraph(){var Me={};var Bn=Object.keys(Hn);for(var zn=Bn.length,ni=0;ni1){Bn=Array.prototype.slice.call(arguments)}return Me(Bn)};if("conversion"in Me){wrappedFn.conversion=Me.conversion}return wrappedFn}function wrapRounded(Me){var wrappedFn=function(Bn){if(Bn===void 0||Bn===null){return Bn}if(arguments.length>1){Bn=Array.prototype.slice.call(arguments)}var Hn=Me(Bn);if(typeof Hn==="object"){for(var zn=Hn.length,ni=0;nifunction(){const zn=Me.apply(Hn,arguments);return`[${zn+Bn}m`};var wrapAnsi256=(Me,Bn)=>function(){const zn=Me.apply(Hn,arguments);return`[${38+Bn};5;${zn}m`};var wrapAnsi16m=(Me,Bn)=>function(){const zn=Me.apply(Hn,arguments);return`[${38+Bn};2;${zn[0]};${zn[1]};${zn[2]}m`};function assembleStyles(){const Me=new Map;const Bn={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Bn.color.grey=Bn.color.gray;for(const Hn of Object.keys(Bn)){const zn=Bn[Hn];for(const Hn of Object.keys(zn)){const ni=zn[Hn];Bn[Hn]={open:`[${ni[0]}m`,close:`[${ni[1]}m`};zn[Hn]=Bn[Hn];Me.set(ni[0],ni[1])}Object.defineProperty(Bn,Hn,{value:zn,enumerable:false});Object.defineProperty(Bn,"codes",{value:Me,enumerable:false})}const ansi2ansi=Me=>Me;const rgb2rgb=(Me,Bn,Hn)=>[Me,Bn,Hn];Bn.color.close="";Bn.bgColor.close="";Bn.color.ansi={ansi:wrapAnsi16(ansi2ansi,0)};Bn.color.ansi256={ansi256:wrapAnsi256(ansi2ansi,0)};Bn.color.ansi16m={rgb:wrapAnsi16m(rgb2rgb,0)};Bn.bgColor.ansi={ansi:wrapAnsi16(ansi2ansi,10)};Bn.bgColor.ansi256={ansi256:wrapAnsi256(ansi2ansi,10)};Bn.bgColor.ansi16m={rgb:wrapAnsi16m(rgb2rgb,10)};for(let Me of Object.keys(Hn)){if(typeof Hn[Me]!=="object"){continue}const zn=Hn[Me];if(Me==="ansi16"){Me="ansi"}if("ansi16"in zn){Bn.color.ansi[Me]=wrapAnsi16(zn.ansi16,0);Bn.bgColor.ansi[Me]=wrapAnsi16(zn.ansi16,10)}if("ansi256"in zn){Bn.color.ansi256[Me]=wrapAnsi256(zn.ansi256,0);Bn.bgColor.ansi256[Me]=wrapAnsi256(zn.ansi256,10)}if("rgb"in zn){Bn.color.ansi16m[Me]=wrapAnsi16m(zn.rgb,0);Bn.bgColor.ansi16m[Me]=wrapAnsi16m(zn.rgb,10)}}return Bn}Object.defineProperty(Bn,"exports",{enumerable:true,get:assembleStyles})}});var Jc=__commonJS({"node_modules/@babel/highlight/node_modules/has-flag/index.js"(Me,Bn){"use strict";Bn.exports=(Me,Bn)=>{Bn=Bn||process.argv;const Hn=Me.startsWith("-")?"":Me.length===1?"-":"--";const zn=Bn.indexOf(Hn+Me);const ni=Bn.indexOf("--");return zn!==-1&&(ni===-1?true:zn=2,has16m:Me>=3}}function supportsColor(Me){if(ts===false){return 0}if(ni("color=16m")||ni("color=full")||ni("color=truecolor")){return 3}if(ni("color=256")){return 2}if(Me&&!Me.isTTY&&ts!==true){return 0}const Bn=ts?1:0;if(process.platform==="win32"){const Me=zn.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(Me[0])>=10&&Number(Me[2])>=10586){return Number(Me[2])>=14931?3:2}return 1}if("CI"in Ci){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((Me=>Me in Ci))||Ci.CI_NAME==="codeship"){return 1}return Bn}if("TEAMCITY_VERSION"in Ci){return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ci.TEAMCITY_VERSION)?1:0}if(Ci.COLORTERM==="truecolor"){return 3}if("TERM_PROGRAM"in Ci){const Me=parseInt((Ci.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ci.TERM_PROGRAM){case"iTerm.app":return Me>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(Ci.TERM)){return 2}if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ci.TERM)){return 1}if("COLORTERM"in Ci){return 1}if(Ci.TERM==="dumb"){return Bn}return Bn}function getSupportLevel(Me){const Bn=supportsColor(Me);return translateLevel(Bn)}Bn.exports={supportsColor:getSupportLevel,stdout:getSupportLevel(process.stdout),stderr:getSupportLevel(process.stderr)}}});var kp=__commonJS({"node_modules/@babel/highlight/node_modules/chalk/templates.js"(Me,Bn){"use strict";var Hn=/(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi;var zn=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g;var ni=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/;var Ci=/\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi;var ts=new Map([["n","\n"],["r","\r"],["t","\t"],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a",""]]);function unescape(Me){if(Me[0]==="u"&&Me.length===5||Me[0]==="x"&&Me.length===3){return String.fromCharCode(parseInt(Me.slice(1),16))}return ts.get(Me)||Me}function parseArguments(Me,Bn){const Hn=[];const zn=Bn.trim().split(/\s*,\s*/g);let ts;for(const Bn of zn){if(!isNaN(Bn)){Hn.push(Number(Bn))}else if(ts=Bn.match(ni)){Hn.push(ts[2].replace(Ci,((Me,Bn,Hn)=>Bn?unescape(Bn):Hn)))}else{throw new Error(`Invalid Chalk template style argument: ${Bn} (in style '${Me}')`)}}return Hn}function parseStyle(Me){zn.lastIndex=0;const Bn=[];let Hn;while((Hn=zn.exec(Me))!==null){const Me=Hn[1];if(Hn[2]){const zn=parseArguments(Me,Hn[2]);Bn.push([Me].concat(zn))}else{Bn.push([Me])}}return Bn}function buildStyle(Me,Bn){const Hn={};for(const Me of Bn){for(const Bn of Me.styles){Hn[Bn[0]]=Me.inverse?null:Bn.slice(1)}}let zn=Me;for(const Me of Object.keys(Hn)){if(Array.isArray(Hn[Me])){if(!(Me in zn)){throw new Error(`Unknown Chalk style: ${Me}`)}if(Hn[Me].length>0){zn=zn[Me].apply(zn,Hn[Me])}else{zn=zn[Me]}}}return zn}Bn.exports=(Me,Bn)=>{const zn=[];const ni=[];let Ci=[];Bn.replace(Hn,((Bn,Hn,ts,Ps,aa,oa)=>{if(Hn){Ci.push(unescape(Hn))}else if(Ps){const Bn=Ci.join("");Ci=[];ni.push(zn.length===0?Bn:buildStyle(Me,zn)(Bn));zn.push({inverse:ts,styles:parseStyle(Ps)})}else if(aa){if(zn.length===0){throw new Error("Found extraneous } in Chalk template literal")}ni.push(buildStyle(Me,zn)(Ci.join("")));Ci=[];zn.pop()}else{Ci.push(oa)}}));ni.push(Ci.join(""));if(zn.length>0){const Me=`Chalk template literal is missing ${zn.length} closing bracket${zn.length===1?"":"s"} (\`}\`)`;throw new Error(Me)}return ni.join("")}}});var Qp=__commonJS({"node_modules/@babel/highlight/node_modules/chalk/index.js"(Me,Bn){"use strict";var Hn=so();var zn=Fc();var ni=Dp().stdout;var Ci=kp();var ts=process.platform==="win32"&&!(process.env.TERM||"").toLowerCase().startsWith("xterm");var Ps=["ansi","ansi","ansi256","ansi16m"];var aa=new Set(["gray"]);var oa=Object.create(null);function applyOptions(Me,Bn){Bn=Bn||{};const Hn=ni?ni.level:0;Me.level=Bn.level===void 0?Hn:Bn.level;Me.enabled="enabled"in Bn?Bn.enabled:Me.level>0}function Chalk(Me){if(!this||!(this instanceof Chalk)||this.template){const Bn={};applyOptions(Bn,Me);Bn.template=function(){const Me=[].slice.call(arguments);return chalkTag.apply(null,[Bn.template].concat(Me))};Object.setPrototypeOf(Bn,Chalk.prototype);Object.setPrototypeOf(Bn.template,Bn);Bn.template.constructor=Chalk;return Bn.template}applyOptions(this,Me)}if(ts){zn.blue.open=""}for(const Me of Object.keys(zn)){zn[Me].closeRe=new RegExp(Hn(zn[Me].close),"g");oa[Me]={get(){const Bn=zn[Me];return build.call(this,this._styles?this._styles.concat(Bn):[Bn],this._empty,Me)}}}oa.visible={get(){return build.call(this,this._styles||[],true,"visible")}};zn.color.closeRe=new RegExp(Hn(zn.color.close),"g");for(const Me of Object.keys(zn.color.ansi)){if(aa.has(Me)){continue}oa[Me]={get(){const Bn=this.level;return function(){const Hn=zn.color[Ps[Bn]][Me].apply(null,arguments);const ni={open:Hn,close:zn.color.close,closeRe:zn.color.closeRe};return build.call(this,this._styles?this._styles.concat(ni):[ni],this._empty,Me)}}}}zn.bgColor.closeRe=new RegExp(Hn(zn.bgColor.close),"g");for(const Me of Object.keys(zn.bgColor.ansi)){if(aa.has(Me)){continue}const Bn="bg"+Me[0].toUpperCase()+Me.slice(1);oa[Bn]={get(){const Bn=this.level;return function(){const Hn=zn.bgColor[Ps[Bn]][Me].apply(null,arguments);const ni={open:Hn,close:zn.bgColor.close,closeRe:zn.bgColor.closeRe};return build.call(this,this._styles?this._styles.concat(ni):[ni],this._empty,Me)}}}}var ca=Object.defineProperties((()=>{}),oa);function build(Me,Bn,Hn){const builder=function(){return applyStyle.apply(builder,arguments)};builder._styles=Me;builder._empty=Bn;const zn=this;Object.defineProperty(builder,"level",{enumerable:true,get(){return zn.level},set(Me){zn.level=Me}});Object.defineProperty(builder,"enabled",{enumerable:true,get(){return zn.enabled},set(Me){zn.enabled=Me}});builder.hasGrey=this.hasGrey||Hn==="gray"||Hn==="grey";builder.__proto__=ca;return builder}function applyStyle(){const Me=arguments;const Bn=Me.length;let Hn=String(arguments[0]);if(Bn===0){return""}if(Bn>1){for(let zn=1;znBn(Me))).join("\n")}else{Hn+=ni}}return Hn}function shouldHighlight(Me){return!!zn.supportsColor||Me.forceColor}function getChalk(Me){return Me.forceColor?new zn.constructor({enabled:true,level:1}):zn}function highlight(Me,Bn={}){if(Me!==""&&shouldHighlight(Bn)){const Hn=getChalk(Bn);const zn=getDefs(Hn);return highlightTokens(zn,Me)}else{return Me}}}});var Vp=__commonJS({"node_modules/@babel/code-frame/lib/index.js"(Me){"use strict";Object.defineProperty(Me,"__esModule",{value:true});Me.codeFrameColumns=codeFrameColumns;Me.default=_default;var Bn=Up();var Hn=false;function getDefs(Me){return{gutter:Me.grey,marker:Me.red.bold,message:Me.red.bold}}var zn=/\r\n|[\n\r\u2028\u2029]/;function getMarkerLines(Me,Bn,Hn){const zn=Object.assign({column:0,line:-1},Me.start);const ni=Object.assign({},zn,Me.end);const{linesAbove:Ci=2,linesBelow:ts=3}=Hn||{};const Ps=zn.line;const aa=zn.column;const oa=ni.line;const ca=ni.column;let _a=Math.max(Ps-(Ci+1),0);let xa=Math.min(Bn.length,oa+ts);if(Ps===-1){_a=0}if(oa===-1){xa=Bn.length}const Ga=oa-Ps;const Ha={};if(Ga){for(let Me=0;Me<=Ga;Me++){const Hn=Me+Ps;if(!aa){Ha[Hn]=true}else if(Me===0){const Me=Bn[Hn-1].length;Ha[Hn]=[aa,Me-aa+1]}else if(Me===Ga){Ha[Hn]=[0,ca]}else{const zn=Bn[Hn-Me].length;Ha[Hn]=[0,zn]}}}else{if(aa===ca){if(aa){Ha[Ps]=[aa,0]}else{Ha[Ps]=true}}else{Ha[Ps]=[aa,ca-aa]}}return{start:_a,end:xa,markerLines:Ha}}function codeFrameColumns(Me,Hn,ni={}){const Ci=(ni.highlightCode||ni.forceColor)&&(0,Bn.shouldHighlight)(ni);const ts=(0,Bn.getChalk)(ni);const Ps=getDefs(ts);const maybeHighlight=(Me,Bn)=>Ci?Me(Bn):Bn;const aa=Me.split(zn);const{start:oa,end:ca,markerLines:_a}=getMarkerLines(Hn,aa,ni);const xa=Hn.start&&typeof Hn.start.column==="number";const Ga=String(ca).length;const Ha=Ci?(0,Bn.default)(Me,ni):Me;let so=Ha.split(zn,ca).slice(oa,ca).map(((Me,Bn)=>{const Hn=oa+1+Bn;const zn=` ${Hn}`.slice(-Ga);const Ci=` ${zn} |`;const ts=_a[Hn];const aa=!_a[Hn+1];if(ts){let Bn="";if(Array.isArray(ts)){const Hn=Me.slice(0,Math.max(ts[0]-1,0)).replace(/[^\t]/g," ");const zn=ts[1]||1;Bn=["\n ",maybeHighlight(Ps.gutter,Ci.replace(/\d/g," "))," ",Hn,maybeHighlight(Ps.marker,"^").repeat(zn)].join("");if(aa&&ni.message){Bn+=" "+maybeHighlight(Ps.message,ni.message)}}return[maybeHighlight(Ps.marker,">"),maybeHighlight(Ps.gutter,Ci),Me.length>0?` ${Me}`:"",Bn].join("")}else{return` ${maybeHighlight(Ps.gutter,Ci)}${Me.length>0?` ${Me}`:""}`}})).join("\n");if(ni.message&&!xa){so=`${" ".repeat(Ga+1)}${ni.message}\n${so}`}if(Ci){return ts.reset(so)}else{return so}}function _default(Me,Bn,zn,ni={}){if(!Hn){Hn=true;const Me="Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";if(process.emitWarning){process.emitWarning(Me,"DeprecationWarning")}else{const Bn=new Error(Me);Bn.name="DeprecationWarning";console.warn(new Error(Me))}}zn=Math.max(zn,0);const Ci={start:{column:zn,line:Bn}};return codeFrameColumns(Me,Ci,ni)}}});var qp=__commonJS({"node_modules/parse-json/index.js"(Me,Bn){"use strict";var Hn=aa();var zn=oa();var{default:ni}=ca();var{codeFrameColumns:Ci}=Vp();var ts=Hn("JSONError",{fileName:Hn.append("in %s"),codeFrame:Hn.append("\n\n%s\n")});var parseJson=(Me,Bn,Hn)=>{if(typeof Bn==="string"){Hn=Bn;Bn=null}try{try{return JSON.parse(Me,Bn)}catch(Hn){zn(Me,Bn);throw Hn}}catch(Bn){Bn.message=Bn.message.replace(/\n/g,"");const zn=Bn.message.match(/in JSON at position (\d+) while parsing/);const Ps=new ts(Bn);if(Hn){Ps.fileName=Hn}if(zn&&zn.length>0){const Bn=new ni(Me);const Hn=Number(zn[1]);const ts=Bn.locationForIndex(Hn);const aa=Ci(Me,{start:{line:ts.line+1,column:ts.column+1}},{highlightCode:true});Ps.codeFrame=aa}throw Ps}};parseJson.JSONError=ts;Bn.exports=parseJson}});var Jp=__commonJS({"node_modules/yaml/dist/PlainValue-ec8e588e.js"(Me){"use strict";var Bn={ANCHOR:"&",COMMENT:"#",TAG:"!",DIRECTIVES_END:"-",DOCUMENT_END:"."};var Hn={ALIAS:"ALIAS",BLANK_LINE:"BLANK_LINE",BLOCK_FOLDED:"BLOCK_FOLDED",BLOCK_LITERAL:"BLOCK_LITERAL",COMMENT:"COMMENT",DIRECTIVE:"DIRECTIVE",DOCUMENT:"DOCUMENT",FLOW_MAP:"FLOW_MAP",FLOW_SEQ:"FLOW_SEQ",MAP:"MAP",MAP_KEY:"MAP_KEY",MAP_VALUE:"MAP_VALUE",PLAIN:"PLAIN",QUOTE_DOUBLE:"QUOTE_DOUBLE",QUOTE_SINGLE:"QUOTE_SINGLE",SEQ:"SEQ",SEQ_ITEM:"SEQ_ITEM"};var zn="tag:yaml.org,2002:";var ni={MAP:"tag:yaml.org,2002:map",SEQ:"tag:yaml.org,2002:seq",STR:"tag:yaml.org,2002:str"};function findLineStarts(Me){const Bn=[0];let Hn=Me.indexOf("\n");while(Hn!==-1){Hn+=1;Bn.push(Hn);Hn=Me.indexOf("\n",Hn)}return Bn}function getSrcInfo(Me){let Bn,Hn;if(typeof Me==="string"){Bn=findLineStarts(Me);Hn=Me}else{if(Array.isArray(Me))Me=Me[0];if(Me&&Me.context){if(!Me.lineStarts)Me.lineStarts=findLineStarts(Me.context.src);Bn=Me.lineStarts;Hn=Me.context.src}}return{lineStarts:Bn,src:Hn}}function getLinePos(Me,Bn){if(typeof Me!=="number"||Me<0)return null;const{lineStarts:Hn,src:zn}=getSrcInfo(Bn);if(!Hn||!zn||Me>zn.length)return null;for(let Bn=0;Bn=1)||Me>Hn.length)return null;const ni=Hn[Me-1];let Ci=Hn[Me];while(Ci&&Ci>ni&&zn[Ci-1]==="\n")--Ci;return zn.slice(ni,Ci)}function getPrettyContext({start:Me,end:Bn},Hn,zn=80){let ni=getLine(Me.line,Hn);if(!ni)return null;let{col:Ci}=Me;if(ni.length>zn){if(Ci<=zn-10){ni=ni.substr(0,zn-1)+"…"}else{const Me=Math.round(zn/2);if(ni.length>Ci+Me)ni=ni.substr(0,Ci+Me-1)+"…";Ci-=ni.length-zn;ni="…"+ni.substr(1-zn)}}let ts=1;let Ps="";if(Bn){if(Bn.line===Me.line&&Ci+(Bn.col-Me.col)<=zn+1){ts=Bn.col-Me.col}else{ts=Math.min(ni.length+1,zn)-Ci;Ps="…"}}const aa=Ci>1?" ".repeat(Ci-1):"";const oa="^".repeat(ts);return`${ni}\n${aa}${oa}${Ps}`}var Ci=class{static copy(Me){return new Ci(Me.start,Me.end)}constructor(Me,Bn){this.start=Me;this.end=Bn||Me}isEmpty(){return typeof this.start!=="number"||!this.end||this.end<=this.start}setOrigRange(Me,Bn){const{start:Hn,end:zn}=this;if(Me.length===0||zn<=Me[0]){this.origStart=Hn;this.origEnd=zn;return Bn}let ni=Bn;while(niHn)break;else++ni}this.origStart=Hn+ni;const Ci=ni;while(ni=zn)break;else++ni}this.origEnd=zn+ni;return Ci}};var ts=class{static addStringTerminator(Me,Bn,Hn){if(Hn[Hn.length-1]==="\n")return Hn;const zn=ts.endOfWhiteSpace(Me,Bn);return zn>=Me.length||Me[zn]==="\n"?Hn+"\n":Hn}static atDocumentBoundary(Me,Hn,zn){const ni=Me[Hn];if(!ni)return true;const Ci=Me[Hn-1];if(Ci&&Ci!=="\n")return false;if(zn){if(ni!==zn)return false}else{if(ni!==Bn.DIRECTIVES_END&&ni!==Bn.DOCUMENT_END)return false}const ts=Me[Hn+1];const Ps=Me[Hn+2];if(ts!==ni||Ps!==ni)return false;const aa=Me[Hn+3];return!aa||aa==="\n"||aa==="\t"||aa===" "}static endOfIdentifier(Me,Bn){let Hn=Me[Bn];const zn=Hn==="<";const ni=zn?["\n","\t"," ",">"]:["\n","\t"," ","[","]","{","}",","];while(Hn&&ni.indexOf(Hn)===-1)Hn=Me[Bn+=1];if(zn&&Hn===">")Bn+=1;return Bn}static endOfIndent(Me,Bn){let Hn=Me[Bn];while(Hn===" ")Hn=Me[Bn+=1];return Bn}static endOfLine(Me,Bn){let Hn=Me[Bn];while(Hn&&Hn!=="\n")Hn=Me[Bn+=1];return Bn}static endOfWhiteSpace(Me,Bn){let Hn=Me[Bn];while(Hn==="\t"||Hn===" ")Hn=Me[Bn+=1];return Bn}static startOfLine(Me,Bn){let Hn=Me[Bn-1];if(Hn==="\n")return Bn;while(Hn&&Hn!=="\n")Hn=Me[Bn-=1];return Bn+1}static endOfBlockIndent(Me,Bn,Hn){const zn=ts.endOfIndent(Me,Hn);if(zn>Hn+Bn){return zn}else{const Bn=ts.endOfWhiteSpace(Me,zn);const Hn=Me[Bn];if(!Hn||Hn==="\n")return Bn}return null}static atBlank(Me,Bn,Hn){const zn=Me[Bn];return zn==="\n"||zn==="\t"||zn===" "||Hn&&!zn}static nextNodeIsIndented(Me,Bn,Hn){if(!Me||Bn<0)return false;if(Bn>0)return true;return Hn&&Me==="-"}static normalizeOffset(Me,Bn){const Hn=Me[Bn];return!Hn?Bn:Hn!=="\n"&&Me[Bn-1]==="\n"?Bn-1:ts.endOfWhiteSpace(Me,Bn)}static foldNewline(Me,Bn,Hn){let zn=0;let ni=false;let Ci="";let Ps=Me[Bn+1];while(Ps===" "||Ps==="\t"||Ps==="\n"){switch(Ps){case"\n":zn=0;Bn+=1;Ci+="\n";break;case"\t":if(zn<=Hn)ni=true;Bn=ts.endOfWhiteSpace(Me,Bn+2)-1;break;case" ":zn+=1;Bn+=1;break}Ps=Me[Bn+1]}if(!Ci)Ci=" ";if(Ps&&zn<=Hn)ni=true;return{fold:Ci,offset:Bn,error:ni}}constructor(Me,Bn,Hn){Object.defineProperty(this,"context",{value:Hn||null,writable:true});this.error=null;this.range=null;this.valueRange=null;this.props=Bn||[];this.type=Me;this.value=null}getPropValue(Me,Bn,Hn){if(!this.context)return null;const{src:zn}=this.context;const ni=this.props[Me];return ni&&zn[ni.start]===Bn?zn.slice(ni.start+(Hn?1:0),ni.end):null}get anchor(){for(let Me=0;Me0?Me.join("\n"):null}commentHasRequiredWhitespace(Me){const{src:Bn}=this.context;if(this.header&&Me===this.header.end)return false;if(!this.valueRange)return false;const{end:Hn}=this.valueRange;return Me!==Hn||ts.atBlank(Bn,Hn-1)}get hasComment(){if(this.context){const{src:Me}=this.context;for(let Hn=0;HnHn.setOrigRange(Me,Bn)));return Bn}toString(){const{context:{src:Me},range:Bn,value:Hn}=this;if(Hn!=null)return Hn;const zn=Me.slice(Bn.start,Bn.end);return ts.addStringTerminator(Me,Bn.end,zn)}};var Ps=class extends Error{constructor(Me,Bn,Hn){if(!Hn||!(Bn instanceof ts))throw new Error(`Invalid arguments for new ${Me}`);super();this.name=Me;this.message=Hn;this.source=Bn}makePretty(){if(!this.source)return;this.nodeType=this.source.type;const Me=this.source.context&&this.source.context.root;if(typeof this.offset==="number"){this.range=new Ci(this.offset,this.offset+1);const Bn=Me&&getLinePos(this.offset,Me);if(Bn){const Me={line:Bn.line,col:Bn.col+1};this.linePos={start:Bn,end:Me}}delete this.offset}else{this.range=this.source.range;this.linePos=this.source.rangeAsLinePos}if(this.linePos){const{line:Bn,col:Hn}=this.linePos.start;this.message+=` at line ${Bn}, column ${Hn}`;const zn=Me&&getPrettyContext(this.linePos,Me);if(zn)this.message+=`:\n\n${zn}\n`}delete this.source}};var aa=class extends Ps{constructor(Me,Bn){super("YAMLReferenceError",Me,Bn)}};var oa=class extends Ps{constructor(Me,Bn){super("YAMLSemanticError",Me,Bn)}};var ca=class extends Ps{constructor(Me,Bn){super("YAMLSyntaxError",Me,Bn)}};var _a=class extends Ps{constructor(Me,Bn){super("YAMLWarning",Me,Bn)}};function _defineProperty(Me,Bn,Hn){if(Bn in Me){Object.defineProperty(Me,Bn,{value:Hn,enumerable:true,configurable:true,writable:true})}else{Me[Bn]=Hn}return Me}var xa=class extends ts{static endOfLine(Me,Bn,Hn){let zn=Me[Bn];let ni=Bn;while(zn&&zn!=="\n"){if(Hn&&(zn==="["||zn==="]"||zn==="{"||zn==="}"||zn===","))break;const Bn=Me[ni+1];if(zn===":"&&(!Bn||Bn==="\n"||Bn==="\t"||Bn===" "||Hn&&Bn===","))break;if((zn===" "||zn==="\t")&&Bn==="#")break;ni+=1;zn=Bn}return ni}get strValue(){if(!this.valueRange||!this.context)return null;let{start:Me,end:Bn}=this.valueRange;const{src:Hn}=this.context;let zn=Hn[Bn-1];while(MeCi?Hn.slice(Ci,zn+1):Me}else{ni+=Me}}const Ci=Hn[Me];switch(Ci){case"\t":{const Me="Plain value cannot start with a tab character";const Bn=[new oa(this,Me)];return{errors:Bn,str:ni}}case"@":case"`":{const Me=`Plain value cannot start with reserved character ${Ci}`;const Bn=[new oa(this,Me)];return{errors:Bn,str:ni}}default:return ni}}parseBlockValue(Me){const{indent:Bn,inFlow:Hn,src:zn}=this.context;let ni=Me;let Ci=Me;for(let Me=zn[ni];Me==="\n";Me=zn[ni]){if(ts.atDocumentBoundary(zn,ni+1))break;const Me=ts.endOfBlockIndent(zn,Bn,ni+1);if(Me===null||zn[Me]==="#")break;if(zn[Me]==="\n"){ni=Me}else{Ci=xa.endOfLine(zn,Me,Hn);ni=Ci}}if(this.valueRange.isEmpty())this.valueRange.start=Me;this.valueRange.end=Ci;return Ci}parse(Me,Bn){this.context=Me;const{inFlow:Hn,src:zn}=Me;let ni=Bn;const Ps=zn[ni];if(Ps&&Ps!=="#"&&Ps!=="\n"){ni=xa.endOfLine(zn,Bn,Hn)}this.valueRange=new Ci(Bn,ni);ni=ts.endOfWhiteSpace(zn,ni);ni=this.parseComment(ni);if(!this.hasComment||this.valueRange.isEmpty()){ni=this.parseBlockValue(ni)}return ni}};Me.Char=Bn;Me.Node=ts;Me.PlainValue=xa;Me.Range=Ci;Me.Type=Hn;Me.YAMLError=Ps;Me.YAMLReferenceError=aa;Me.YAMLSemanticError=oa;Me.YAMLSyntaxError=ca;Me.YAMLWarning=_a;Me._defineProperty=_defineProperty;Me.defaultTagPrefix=zn;Me.defaultTags=ni}});var Wp=__commonJS({"node_modules/yaml/dist/parse-cst.js"(Me){"use strict";var Bn=Jp();var Hn=class extends Bn.Node{constructor(){super(Bn.Type.BLANK_LINE)}get includesTrailingLines(){return true}parse(Me,Hn){this.context=Me;this.range=new Bn.Range(Hn,Hn+1);return Hn+1}};var zn=class extends Bn.Node{constructor(Me,Bn){super(Me,Bn);this.node=null}get includesTrailingLines(){return!!this.node&&this.node.includesTrailingLines}parse(Me,zn){this.context=Me;const{parseNode:ni,src:Ci}=Me;let{atLineStart:ts,lineStart:Ps}=Me;if(!ts&&this.type===Bn.Type.SEQ_ITEM)this.error=new Bn.YAMLSemanticError(this,"Sequence items must not have preceding content on the same line");const aa=ts?zn-Ps:Me.indent;let oa=Bn.Node.endOfWhiteSpace(Ci,zn+1);let ca=Ci[oa];const _a=ca==="#";const xa=[];let Ga=null;while(ca==="\n"||ca==="#"){if(ca==="#"){const Me=Bn.Node.endOfLine(Ci,oa+1);xa.push(new Bn.Range(oa,Me));oa=Me}else{ts=true;Ps=oa+1;const Me=Bn.Node.endOfWhiteSpace(Ci,Ps);if(Ci[Me]==="\n"&&xa.length===0){Ga=new Hn;Ps=Ga.parse({src:Ci},Ps)}oa=Bn.Node.endOfIndent(Ci,Ps)}ca=Ci[oa]}if(Bn.Node.nextNodeIsIndented(ca,oa-(Ps+aa),this.type!==Bn.Type.SEQ_ITEM)){this.node=ni({atLineStart:ts,inCollection:false,indent:aa,lineStart:Ps,parent:this},oa)}else if(ca&&Ps>zn+1){oa=Ps-1}if(this.node){if(Ga){const Bn=Me.parent.items||Me.parent.contents;if(Bn)Bn.push(Ga)}if(xa.length)Array.prototype.push.apply(this.props,xa);oa=this.node.range.end}else{if(_a){const Me=xa[0];this.props.push(Me);oa=Me.end}else{oa=Bn.Node.endOfLine(Ci,zn+1)}}const Ha=this.node?this.node.valueRange.end:oa;this.valueRange=new Bn.Range(zn,Ha);return oa}setOrigRanges(Me,Bn){Bn=super.setOrigRanges(Me,Bn);return this.node?this.node.setOrigRanges(Me,Bn):Bn}toString(){const{context:{src:Me},node:Hn,range:zn,value:ni}=this;if(ni!=null)return ni;const Ci=Hn?Me.slice(zn.start,Hn.range.start)+String(Hn):Me.slice(zn.start,zn.end);return Bn.Node.addStringTerminator(Me,zn.end,Ci)}};var ni=class extends Bn.Node{constructor(){super(Bn.Type.COMMENT)}parse(Me,Hn){this.context=Me;const zn=this.parseComment(Hn);this.range=new Bn.Range(Hn,zn);return zn}};function grabCollectionEndComments(Me){let Hn=Me;while(Hn instanceof zn)Hn=Hn.node;if(!(Hn instanceof Ci))return null;const ni=Hn.items.length;let ts=-1;for(let Me=ni-1;Me>=0;--Me){const zn=Hn.items[Me];if(zn.type===Bn.Type.COMMENT){const{indent:Bn,lineStart:Hn}=zn.context;if(Bn>0&&zn.range.start>=Hn+Bn)break;ts=Me}else if(zn.type===Bn.Type.BLANK_LINE)ts=Me;else break}if(ts===-1)return null;const Ps=Hn.items.splice(ts,ni-ts);const aa=Ps[0].range.start;while(true){Hn.range.end=aa;if(Hn.valueRange&&Hn.valueRange.end>aa)Hn.valueRange.end=aa;if(Hn===Me)break;Hn=Hn.context.parent}return Ps}var Ci=class extends Bn.Node{static nextContentHasIndent(Me,Hn,zn){const ni=Bn.Node.endOfLine(Me,Hn)+1;Hn=Bn.Node.endOfWhiteSpace(Me,ni);const ts=Me[Hn];if(!ts)return false;if(Hn>=ni+zn)return true;if(ts!=="#"&&ts!=="\n")return false;return Ci.nextContentHasIndent(Me,Hn,zn)}constructor(Me){super(Me.type===Bn.Type.SEQ_ITEM?Bn.Type.SEQ:Bn.Type.MAP);for(let Bn=Me.props.length-1;Bn>=0;--Bn){if(Me.props[Bn].start0}parse(Me,zn){this.context=Me;const{parseNode:ts,src:Ps}=Me;let aa=Bn.Node.startOfLine(Ps,zn);const oa=this.items[0];oa.context.parent=this;this.valueRange=Bn.Range.copy(oa.valueRange);const ca=oa.range.start-oa.context.lineStart;let _a=zn;_a=Bn.Node.normalizeOffset(Ps,_a);let xa=Ps[_a];let Ga=Bn.Node.endOfWhiteSpace(Ps,aa)===_a;let Ha=false;while(xa){while(xa==="\n"||xa==="#"){if(Ga&&xa==="\n"&&!Ha){const Me=new Hn;_a=Me.parse({src:Ps},_a);this.valueRange.end=_a;if(_a>=Ps.length){xa=null;break}this.items.push(Me);_a-=1}else if(xa==="#"){if(_a=Ps.length){xa=null;break}}aa=_a+1;_a=Bn.Node.endOfIndent(Ps,aa);if(Bn.Node.atBlank(Ps,_a)){const Me=Bn.Node.endOfWhiteSpace(Ps,_a);const Hn=Ps[Me];if(!Hn||Hn==="\n"||Hn==="#"){_a=Me}}xa=Ps[_a];Ga=true}if(!xa){break}if(_a!==aa+ca&&(Ga||xa!==":")){if(_azn)_a=aa;break}else if(!this.error){const Me="All collection items must start at the same column";this.error=new Bn.YAMLSyntaxError(this,Me)}}if(oa.type===Bn.Type.SEQ_ITEM){if(xa!=="-"){if(aa>zn)_a=aa;break}}else if(xa==="-"&&!this.error){const Me=Ps[_a+1];if(!Me||Me==="\n"||Me==="\t"||Me===" "){const Me="A collection cannot be both a mapping and a sequence";this.error=new Bn.YAMLSyntaxError(this,Me)}}const Me=ts({atLineStart:Ga,inCollection:true,indent:ca,lineStart:aa,parent:this},_a);if(!Me)return _a;this.items.push(Me);this.valueRange.end=Me.valueRange.end;_a=Bn.Node.normalizeOffset(Ps,Me.range.end);xa=Ps[_a];Ga=false;Ha=Me.includesTrailingLines;if(xa){let Me=_a-1;let Bn=Ps[Me];while(Bn===" "||Bn==="\t")Bn=Ps[--Me];if(Bn==="\n"){aa=Me+1;Ga=true}}const so=grabCollectionEndComments(Me);if(so)Array.prototype.push.apply(this.items,so)}return _a}setOrigRanges(Me,Bn){Bn=super.setOrigRanges(Me,Bn);this.items.forEach((Hn=>{Bn=Hn.setOrigRanges(Me,Bn)}));return Bn}toString(){const{context:{src:Me},items:Hn,range:zn,value:ni}=this;if(ni!=null)return ni;let Ci=Me.slice(zn.start,Hn[0].range.start)+String(Hn[0]);for(let Me=1;Me0){this.contents=this.directives;this.directives=[]}return oa}}if(zn[oa]){this.directivesEndMarker=new Bn.Range(oa,oa+3);return oa+3}if(aa){this.error=new Bn.YAMLSemanticError(this,"Missing directives-end indicator line")}else if(this.directives.length>0){this.contents=this.directives;this.directives=[]}return oa}parseContents(Me){const{parseNode:zn,src:Ci}=this.context;if(!this.contents)this.contents=[];let ts=Me;while(Ci[ts-1]==="-")ts-=1;let aa=Bn.Node.endOfWhiteSpace(Ci,Me);let oa=ts===Me;this.valueRange=new Bn.Range(aa);while(!Bn.Node.atDocumentBoundary(Ci,aa,Bn.Char.DOCUMENT_END)){switch(Ci[aa]){case"\n":if(oa){const Me=new Hn;aa=Me.parse({src:Ci},aa);if(aa{Bn=Hn.setOrigRanges(Me,Bn)}));if(this.directivesEndMarker)Bn=this.directivesEndMarker.setOrigRange(Me,Bn);this.contents.forEach((Hn=>{Bn=Hn.setOrigRanges(Me,Bn)}));if(this.documentEndMarker)Bn=this.documentEndMarker.setOrigRange(Me,Bn);return Bn}toString(){const{contents:Me,directives:Hn,value:zn}=this;if(zn!=null)return zn;let ni=Hn.join("");if(Me.length>0){if(Hn.length>0||Me[0].type===Bn.Type.COMMENT)ni+="---\n";ni+=Me.join("")}if(ni[ni.length-1]!=="\n")ni+="\n";return ni}};var aa=class extends Bn.Node{parse(Me,Hn){this.context=Me;const{src:zn}=Me;let ni=Bn.Node.endOfIdentifier(zn,Hn+1);this.valueRange=new Bn.Range(Hn+1,ni);ni=Bn.Node.endOfWhiteSpace(zn,ni);ni=this.parseComment(ni);return ni}};var oa={CLIP:"CLIP",KEEP:"KEEP",STRIP:"STRIP"};var ca=class extends Bn.Node{constructor(Me,Bn){super(Me,Bn);this.blockIndent=null;this.chomping=oa.CLIP;this.header=null}get includesTrailingLines(){return this.chomping===oa.KEEP}get strValue(){if(!this.valueRange||!this.context)return null;let{start:Me,end:Hn}=this.valueRange;const{indent:zn,src:ni}=this.context;if(this.valueRange.isEmpty())return"";let Ci=null;let ts=ni[Hn-1];while(ts==="\n"||ts==="\t"||ts===" "){Hn-=1;if(Hn<=Me){if(this.chomping===oa.KEEP)break;else return""}if(ts==="\n")Ci=Hn;ts=ni[Hn-1]}let Ps=Hn+1;if(Ci){if(this.chomping===oa.KEEP){Ps=Ci;Hn=this.valueRange.end}else{Hn=Ci}}const aa=zn+this.blockIndent;const ca=this.type===Bn.Type.BLOCK_FOLDED;let _a=true;let xa="";let Ga="";let Ha=false;for(let zn=Me;znPs){Ps=oa}}else if(aa&&aa!=="\n"&&oa{if(zn instanceof Bn.Node){Hn=zn.setOrigRanges(Me,Hn)}else if(Me.length===0){zn.origOffset=zn.offset}else{let Bn=Hn;while(Bnzn.offset)break;else++Bn}zn.origOffset=zn.offset+Bn;Hn=Bn}}));return Hn}toString(){const{context:{src:Me},items:Hn,range:zn,value:ni}=this;if(ni!=null)return ni;const Ci=Hn.filter((Me=>Me instanceof Bn.Node));let ts="";let Ps=zn.start;Ci.forEach((Bn=>{const Hn=Me.slice(Ps,Bn.range.start);Ps=Bn.range.end;ts+=Hn+String(Bn);if(ts[ts.length-1]==="\n"&&Me[Ps-1]!=="\n"&&Me[Ps]==="\n"){Ps+=1}}));ts+=Me.slice(Ps,zn.end);return Bn.Node.addStringTerminator(Me,zn.end,ts)}};var xa=class extends Bn.Node{static endOfQuote(Me,Bn){let Hn=Me[Bn];while(Hn&&Hn!=='"'){Bn+=Hn==="\\"?2:1;Hn=Me[Bn]}return Bn+1}get strValue(){if(!this.valueRange||!this.context)return null;const Me=[];const{start:Hn,end:zn}=this.valueRange;const{indent:ni,src:Ci}=this.context;if(Ci[zn-1]!=='"')Me.push(new Bn.YAMLSyntaxError(this,'Missing closing "quote'));let ts="";for(let Ps=Hn+1;PsMe?Ci.slice(Me,Ps+1):Hn}else{ts+=Hn}}return Me.length>0?{errors:Me,str:ts}:ts}parseCharCode(Me,Hn,zn){const{src:ni}=this.context;const Ci=ni.substr(Me,Hn);const ts=Ci.length===Hn&&/^[0-9a-fA-F]+$/.test(Ci);const Ps=ts?parseInt(Ci,16):NaN;if(isNaN(Ps)){zn.push(new Bn.YAMLSyntaxError(this,`Invalid escape sequence ${ni.substr(Me-2,Hn+2)}`));return ni.substr(Me-2,Hn+2)}return String.fromCodePoint(Ps)}parse(Me,Hn){this.context=Me;const{src:zn}=Me;let ni=xa.endOfQuote(zn,Hn+1);this.valueRange=new Bn.Range(Hn,ni);ni=Bn.Node.endOfWhiteSpace(zn,ni);ni=this.parseComment(ni);return ni}};var Ga=class extends Bn.Node{static endOfQuote(Me,Bn){let Hn=Me[Bn];while(Hn){if(Hn==="'"){if(Me[Bn+1]!=="'")break;Hn=Me[Bn+=2]}else{Hn=Me[Bn+=1]}}return Bn+1}get strValue(){if(!this.valueRange||!this.context)return null;const Me=[];const{start:Hn,end:zn}=this.valueRange;const{indent:ni,src:Ci}=this.context;if(Ci[zn-1]!=="'")Me.push(new Bn.YAMLSyntaxError(this,"Missing closing 'quote"));let ts="";for(let Ps=Hn+1;PsMe?Ci.slice(Me,Ps+1):Hn}else{ts+=Hn}}return Me.length>0?{errors:Me,str:ts}:ts}parse(Me,Hn){this.context=Me;const{src:zn}=Me;let ni=Ga.endOfQuote(zn,Hn+1);this.valueRange=new Bn.Range(Hn,ni);ni=Bn.Node.endOfWhiteSpace(zn,ni);ni=this.parseComment(ni);return ni}};function createNewNode(Me,Hn){switch(Me){case Bn.Type.ALIAS:return new aa(Me,Hn);case Bn.Type.BLOCK_FOLDED:case Bn.Type.BLOCK_LITERAL:return new ca(Me,Hn);case Bn.Type.FLOW_MAP:case Bn.Type.FLOW_SEQ:return new _a(Me,Hn);case Bn.Type.MAP_KEY:case Bn.Type.MAP_VALUE:case Bn.Type.SEQ_ITEM:return new zn(Me,Hn);case Bn.Type.COMMENT:case Bn.Type.PLAIN:return new Bn.PlainValue(Me,Hn);case Bn.Type.QUOTE_DOUBLE:return new xa(Me,Hn);case Bn.Type.QUOTE_SINGLE:return new Ga(Me,Hn);default:return null}}var Ha=class{static parseType(Me,Hn,zn){switch(Me[Hn]){case"*":return Bn.Type.ALIAS;case">":return Bn.Type.BLOCK_FOLDED;case"|":return Bn.Type.BLOCK_LITERAL;case"{":return Bn.Type.FLOW_MAP;case"[":return Bn.Type.FLOW_SEQ;case"?":return!zn&&Bn.Node.atBlank(Me,Hn+1,true)?Bn.Type.MAP_KEY:Bn.Type.PLAIN;case":":return!zn&&Bn.Node.atBlank(Me,Hn+1,true)?Bn.Type.MAP_VALUE:Bn.Type.PLAIN;case"-":return!zn&&Bn.Node.atBlank(Me,Hn+1,true)?Bn.Type.SEQ_ITEM:Bn.Type.PLAIN;case'"':return Bn.Type.QUOTE_DOUBLE;case"'":return Bn.Type.QUOTE_SINGLE;default:return Bn.Type.PLAIN}}constructor(Me={},{atLineStart:Hn,inCollection:zn,inFlow:ni,indent:ts,lineStart:Ps,parent:aa}={}){Bn._defineProperty(this,"parseNode",((Me,Hn)=>{if(Bn.Node.atDocumentBoundary(this.src,Hn))return null;const zn=new Ha(this,Me);const{props:ni,type:ts,valueStart:Ps}=zn.parseProps(Hn);const aa=createNewNode(ts,ni);let oa=aa.parse(zn,Ps);aa.range=new Bn.Range(Hn,oa);if(oa<=Hn){aa.error=new Error(`Node#parse consumed no characters`);aa.error.parseEnd=oa;aa.error.source=aa;aa.range.end=Hn+1}if(zn.nodeStartsCollection(aa)){if(!aa.error&&!zn.atLineStart&&zn.parent.type===Bn.Type.DOCUMENT){aa.error=new Bn.YAMLSyntaxError(aa,"Block collection must not have preceding content here (e.g. directives-end indicator)")}const Me=new Ci(aa);oa=Me.parse(new Ha(zn),oa);Me.range=new Bn.Range(Hn,oa);return Me}return aa}));this.atLineStart=Hn!=null?Hn:Me.atLineStart||false;this.inCollection=zn!=null?zn:Me.inCollection||false;this.inFlow=ni!=null?ni:Me.inFlow||false;this.indent=ts!=null?ts:Me.indent;this.lineStart=Ps!=null?Ps:Me.lineStart;this.parent=aa!=null?aa:Me.parent||{};this.root=Me.root;this.src=Me.src}nodeStartsCollection(Me){const{inCollection:Hn,inFlow:ni,src:Ci}=this;if(Hn||ni)return false;if(Me instanceof zn)return true;let ts=Me.range.end;if(Ci[ts]==="\n"||Ci[ts-1]==="\n")return false;ts=Bn.Node.endOfWhiteSpace(Ci,ts);return Ci[ts]===":"}parseProps(Me){const{inFlow:Hn,parent:zn,src:ni}=this;const Ci=[];let ts=false;Me=this.atLineStart?Bn.Node.endOfIndent(ni,Me):Bn.Node.endOfWhiteSpace(ni,Me);let Ps=ni[Me];while(Ps===Bn.Char.ANCHOR||Ps===Bn.Char.COMMENT||Ps===Bn.Char.TAG||Ps==="\n"){if(Ps==="\n"){let Hn=Me;let Ci;do{Ci=Hn+1;Hn=Bn.Node.endOfIndent(ni,Ci)}while(ni[Hn]==="\n");const Ps=Hn-(Ci+this.indent);const aa=zn.type===Bn.Type.SEQ_ITEM&&zn.context.atLineStart;if(ni[Hn]!=="#"&&!Bn.Node.nextNodeIsIndented(ni[Hn],Ps,!aa))break;this.atLineStart=true;this.lineStart=Ci;ts=false;Me=Hn}else if(Ps===Bn.Char.COMMENT){const Hn=Bn.Node.endOfLine(ni,Me+1);Ci.push(new Bn.Range(Me,Hn));Me=Hn}else{let Hn=Bn.Node.endOfIdentifier(ni,Me+1);if(Ps===Bn.Char.TAG&&ni[Hn]===","&&/^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(ni.slice(Me+1,Hn+13))){Hn=Bn.Node.endOfIdentifier(ni,Hn+5)}Ci.push(new Bn.Range(Me,Hn));ts=true;Me=Bn.Node.endOfWhiteSpace(ni,Hn)}Ps=ni[Me]}if(ts&&Ps===":"&&Bn.Node.atBlank(ni,Me+1,true))Me-=1;const aa=Ha.parseType(ni,Me,Hn);return{props:Ci,type:aa,valueStart:Me}}};function parse(Me){const Bn=[];if(Me.indexOf("\r")!==-1){Me=Me.replace(/\r\n?/g,((Me,Hn)=>{if(Me.length>1)Bn.push(Hn);return"\n"}))}const Hn=[];let zn=0;do{const Bn=new Ps;const ni=new Ha({src:Me});zn=Bn.parse(ni,zn);Hn.push(Bn)}while(zn{if(Bn.length===0)return false;for(let Me=1;MeHn.join("...\n");return Hn}Me.parse=parse}});var zp=__commonJS({"node_modules/yaml/dist/resolveSeq-d03cb037.js"(Me){"use strict";var Bn=Jp();function addCommentBefore(Me,Bn,Hn){if(!Hn)return Me;const zn=Hn.replace(/[\s\S]^/gm,`$&${Bn}#`);return`#${zn}\n${Bn}${Me}`}function addComment(Me,Bn,Hn){return!Hn?Me:Hn.indexOf("\n")===-1?`${Me} #${Hn}`:`${Me}\n`+Hn.replace(/^/gm,`${Bn||""}#`)}var Hn=class{};function toJSON(Me,Bn,Hn){if(Array.isArray(Me))return Me.map(((Me,Bn)=>toJSON(Me,String(Bn),Hn)));if(Me&&typeof Me.toJSON==="function"){const zn=Hn&&Hn.anchors&&Hn.anchors.get(Me);if(zn)Hn.onCreate=Me=>{zn.res=Me;delete Hn.onCreate};const ni=Me.toJSON(Bn,Hn);if(zn&&Hn.onCreate)Hn.onCreate(ni);return ni}if((!Hn||!Hn.keep)&&typeof Me==="bigint")return Number(Me);return Me}var zn=class extends Hn{constructor(Me){super();this.value=Me}toJSON(Me,Bn){return Bn&&Bn.keep?this.value:toJSON(this.value,Me,Bn)}toString(){return String(this.value)}};function collectionFromPath(Me,Bn,Hn){let zn=Hn;for(let Me=Bn.length-1;Me>=0;--Me){const Hn=Bn[Me];if(Number.isInteger(Hn)&&Hn>=0){const Me=[];Me[Hn]=zn;zn=Me}else{const Me={};Object.defineProperty(Me,Hn,{value:zn,writable:true,enumerable:true,configurable:true});zn=Me}}return Me.createNode(zn,false)}var isEmptyPath=Me=>Me==null||typeof Me==="object"&&Me[Symbol.iterator]().next().done;var ni=class extends Hn{constructor(Me){super();Bn._defineProperty(this,"items",[]);this.schema=Me}addIn(Me,Bn){if(isEmptyPath(Me))this.add(Bn);else{const[Hn,...zn]=Me;const Ci=this.get(Hn,true);if(Ci instanceof ni)Ci.addIn(zn,Bn);else if(Ci===void 0&&this.schema)this.set(Hn,collectionFromPath(this.schema,zn,Bn));else throw new Error(`Expected YAML collection at ${Hn}. Remaining path: ${zn}`)}}deleteIn([Me,...Bn]){if(Bn.length===0)return this.delete(Me);const Hn=this.get(Me,true);if(Hn instanceof ni)return Hn.deleteIn(Bn);else throw new Error(`Expected YAML collection at ${Me}. Remaining path: ${Bn}`)}getIn([Me,...Bn],Hn){const Ci=this.get(Me,true);if(Bn.length===0)return!Hn&&Ci instanceof zn?Ci.value:Ci;else return Ci instanceof ni?Ci.getIn(Bn,Hn):void 0}hasAllNullValues(){return this.items.every((Me=>{if(!Me||Me.type!=="PAIR")return false;const Bn=Me.value;return Bn==null||Bn instanceof zn&&Bn.value==null&&!Bn.commentBefore&&!Bn.comment&&!Bn.tag}))}hasIn([Me,...Bn]){if(Bn.length===0)return this.has(Me);const Hn=this.get(Me,true);return Hn instanceof ni?Hn.hasIn(Bn):false}setIn([Me,...Bn],Hn){if(Bn.length===0){this.set(Me,Hn)}else{const zn=this.get(Me,true);if(zn instanceof ni)zn.setIn(Bn,Hn);else if(zn===void 0&&this.schema)this.set(Me,collectionFromPath(this.schema,Bn,Hn));else throw new Error(`Expected YAML collection at ${Me}. Remaining path: ${Bn}`)}}toJSON(){return null}toString(Me,{blockItem:Hn,flowChars:zn,isMap:Ci,itemIndent:ts},Ps,aa){const{indent:oa,indentStep:ca,stringify:_a}=Me;const xa=this.type===Bn.Type.FLOW_MAP||this.type===Bn.Type.FLOW_SEQ||Me.inFlow;if(xa)ts+=ca;const Ga=Ci&&this.hasAllNullValues();Me=Object.assign({},Me,{allNullValues:Ga,indent:ts,inFlow:xa,type:null});let Ha=false;let so=false;const oo=this.items.reduce(((Bn,Hn,zn)=>{let ni;if(Hn){if(!Ha&&Hn.spaceBefore)Bn.push({type:"comment",str:""});if(Hn.commentBefore)Hn.commentBefore.match(/^.*$/gm).forEach((Me=>{Bn.push({type:"comment",str:`#${Me}`})}));if(Hn.comment)ni=Hn.comment;if(xa&&(!Ha&&Hn.spaceBefore||Hn.commentBefore||Hn.comment||Hn.key&&(Hn.key.commentBefore||Hn.key.comment)||Hn.value&&(Hn.value.commentBefore||Hn.value.comment)))so=true}Ha=false;let Ci=_a(Hn,Me,(()=>ni=null),(()=>Ha=true));if(xa&&!so&&Ci.includes("\n"))so=true;if(xa&&znMe.str));if(so||Hn.reduce(((Me,Bn)=>Me+Bn.length+2),2)>ni.maxFlowStringSingleLineLength){Jo=Me;for(const Me of Hn){Jo+=Me?`\n${ca}${oa}${Me}`:"\n"}Jo+=`\n${oa}${Bn}`}else{Jo=`${Me} ${Hn.join(" ")} ${Bn}`}}else{const Me=oo.map(Hn);Jo=Me.shift();for(const Bn of Me)Jo+=Bn?`\n${oa}${Bn}`:"\n"}if(this.comment){Jo+="\n"+this.comment.replace(/^/gm,`${oa}#`);if(Ps)Ps()}else if(Ha&&aa)aa();return Jo}};Bn._defineProperty(ni,"maxFlowStringSingleLineLength",60);function asItemIndex(Me){let Bn=Me instanceof zn?Me.value:Me;if(Bn&&typeof Bn==="string")Bn=Number(Bn);return Number.isInteger(Bn)&&Bn>=0?Bn:null}var Ci=class extends ni{add(Me){this.items.push(Me)}delete(Me){const Bn=asItemIndex(Me);if(typeof Bn!=="number")return false;const Hn=this.items.splice(Bn,1);return Hn.length>0}get(Me,Bn){const Hn=asItemIndex(Me);if(typeof Hn!=="number")return void 0;const ni=this.items[Hn];return!Bn&&ni instanceof zn?ni.value:ni}has(Me){const Bn=asItemIndex(Me);return typeof Bn==="number"&&BnMe.type==="comment"?Me.str:`- ${Me.str}`,flowChars:{start:"[",end:"]"},isMap:false,itemIndent:(Me.indent||"")+" "},Bn,Hn)}};var stringifyKey=(Me,Bn,zn)=>{if(Bn===null)return"";if(typeof Bn!=="object")return String(Bn);if(Me instanceof Hn&&zn&&zn.doc)return Me.toString({anchors:Object.create(null),doc:zn.doc,indent:"",indentStep:zn.indentStep,inFlow:true,inStringifyKey:true,stringify:zn.stringify});return JSON.stringify(Bn)};var ts=class extends Hn{constructor(Me,Bn=null){super();this.key=Me;this.value=Bn;this.type=ts.Type.PAIR}get commentBefore(){return this.key instanceof Hn?this.key.commentBefore:void 0}set commentBefore(Me){if(this.key==null)this.key=new zn(null);if(this.key instanceof Hn)this.key.commentBefore=Me;else{const Me="Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.";throw new Error(Me)}}addToJSMap(Me,Bn){const Hn=toJSON(this.key,"",Me);if(Bn instanceof Map){const zn=toJSON(this.value,Hn,Me);Bn.set(Hn,zn)}else if(Bn instanceof Set){Bn.add(Hn)}else{const zn=stringifyKey(this.key,Hn,Me);const ni=toJSON(this.value,zn,Me);if(zn in Bn)Object.defineProperty(Bn,zn,{value:ni,writable:true,enumerable:true,configurable:true});else Bn[zn]=ni}return Bn}toJSON(Me,Bn){const Hn=Bn&&Bn.mapAsMap?new Map:{};return this.addToJSMap(Bn,Hn)}toString(Me,ts,Ps){if(!Me||!Me.doc)return JSON.stringify(this);const{indent:aa,indentSeq:oa,simpleKeys:ca}=Me.doc.options;let{key:_a,value:xa}=this;let Ga=_a instanceof Hn&&_a.comment;if(ca){if(Ga){throw new Error("With simple keys, key nodes cannot have comments")}if(_a instanceof ni){const Me="With simple keys, collection cannot be used as a key value";throw new Error(Me)}}let Ha=!ca&&(!_a||Ga||(_a instanceof Hn?_a instanceof ni||_a.type===Bn.Type.BLOCK_FOLDED||_a.type===Bn.Type.BLOCK_LITERAL:typeof _a==="object"));const{doc:so,indent:oo,indentStep:Jo,stringify:tc}=Me;Me=Object.assign({},Me,{implicitKey:!Ha,indent:oo+Jo});let dc=false;let Fc=tc(_a,Me,(()=>Ga=null),(()=>dc=true));Fc=addComment(Fc,Me.indent,Ga);if(!Ha&&Fc.length>1024){if(ca)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");Ha=true}if(Me.allNullValues&&!ca){if(this.comment){Fc=addComment(Fc,Me.indent,this.comment);if(ts)ts()}else if(dc&&!Ga&&Ps)Ps();return Me.inFlow&&!Ha?Fc:`? ${Fc}`}Fc=Ha?`? ${Fc}\n${oo}:`:`${Fc}:`;if(this.comment){Fc=addComment(Fc,Me.indent,this.comment);if(ts)ts()}let Jc="";let Dp=null;if(xa instanceof Hn){if(xa.spaceBefore)Jc="\n";if(xa.commentBefore){const Bn=xa.commentBefore.replace(/^/gm,`${Me.indent}#`);Jc+=`\n${Bn}`}Dp=xa.comment}else if(xa&&typeof xa==="object"){xa=so.schema.createNode(xa,true)}Me.implicitKey=false;if(!Ha&&!this.comment&&xa instanceof zn)Me.indentAtStart=Fc.length+1;dc=false;if(!oa&&aa>=2&&!Me.inFlow&&!Ha&&xa instanceof Ci&&xa.type!==Bn.Type.FLOW_SEQ&&!xa.tag&&!so.anchors.getName(xa)){Me.indent=Me.indent.substr(2)}const kp=tc(xa,Me,(()=>Dp=null),(()=>dc=true));let Qp=" ";if(Jc||this.comment){Qp=`${Jc}\n${Me.indent}`}else if(!Ha&&xa instanceof ni){const Bn=kp[0]==="["||kp[0]==="{";if(!Bn||kp.includes("\n"))Qp=`\n${Me.indent}`}else if(kp[0]==="\n")Qp="";if(dc&&!Dp&&Ps)Ps();return addComment(Fc+Qp+kp,Me.indent,Dp)}};Bn._defineProperty(ts,"Type",{PAIR:"PAIR",MERGE_PAIR:"MERGE_PAIR"});var getAliasCount=(Me,Bn)=>{if(Me instanceof Ps){const Hn=Bn.get(Me.source);return Hn.count*Hn.aliasCount}else if(Me instanceof ni){let Hn=0;for(const zn of Me.items){const Me=getAliasCount(zn,Bn);if(Me>Hn)Hn=Me}return Hn}else if(Me instanceof ts){const Hn=getAliasCount(Me.key,Bn);const zn=getAliasCount(Me.value,Bn);return Math.max(Hn,zn)}return 1};var Ps=class extends Hn{static stringify({range:Me,source:Bn},{anchors:Hn,doc:zn,implicitKey:ni,inStringifyKey:Ci}){let ts=Object.keys(Hn).find((Me=>Hn[Me]===Bn));if(!ts&&Ci)ts=zn.anchors.getName(Bn)||zn.anchors.newName();if(ts)return`*${ts}${ni?" ":""}`;const Ps=zn.anchors.getName(Bn)?"Alias node must be after source node":"Source node not found for alias node";throw new Error(`${Ps} [${Me}]`)}constructor(Me){super();this.source=Me;this.type=Bn.Type.ALIAS}set tag(Me){throw new Error("Alias nodes cannot have tags")}toJSON(Me,Hn){if(!Hn)return toJSON(this.source,Me,Hn);const{anchors:zn,maxAliasCount:ni}=Hn;const Ci=zn.get(this.source);if(!Ci||Ci.res===void 0){const Me="This should not happen: Alias anchor was not resolved?";if(this.cstNode)throw new Bn.YAMLReferenceError(this.cstNode,Me);else throw new ReferenceError(Me)}if(ni>=0){Ci.count+=1;if(Ci.aliasCount===0)Ci.aliasCount=getAliasCount(this.source,zn);if(Ci.count*Ci.aliasCount>ni){const Me="Excessive alias count indicates a resource exhaustion attack";if(this.cstNode)throw new Bn.YAMLReferenceError(this.cstNode,Me);else throw new ReferenceError(Me)}}return Ci.res}toString(Me){return Ps.stringify(this,Me)}};Bn._defineProperty(Ps,"default",true);function findPair(Me,Bn){const Hn=Bn instanceof zn?Bn.value:Bn;for(const zn of Me){if(zn instanceof ts){if(zn.key===Bn||zn.key===Hn)return zn;if(zn.key&&zn.key.value===Hn)return zn}}return void 0}var aa=class extends ni{add(Me,Bn){if(!Me)Me=new ts(Me);else if(!(Me instanceof ts))Me=new ts(Me.key||Me,Me.value);const Hn=findPair(this.items,Me.key);const zn=this.schema&&this.schema.sortMapEntries;if(Hn){if(Bn)Hn.value=Me.value;else throw new Error(`Key ${Me.key} already set`)}else if(zn){const Bn=this.items.findIndex((Bn=>zn(Me,Bn)<0));if(Bn===-1)this.items.push(Me);else this.items.splice(Bn,0,Me)}else{this.items.push(Me)}}delete(Me){const Bn=findPair(this.items,Me);if(!Bn)return false;const Hn=this.items.splice(this.items.indexOf(Bn),1);return Hn.length>0}get(Me,Bn){const Hn=findPair(this.items,Me);const ni=Hn&&Hn.value;return!Bn&&ni instanceof zn?ni.value:ni}has(Me){return!!findPair(this.items,Me)}set(Me,Bn){this.add(new ts(Me,Bn),true)}toJSON(Me,Bn,Hn){const zn=Hn?new Hn:Bn&&Bn.mapAsMap?new Map:{};if(Bn&&Bn.onCreate)Bn.onCreate(zn);for(const Me of this.items)Me.addToJSMap(Bn,zn);return zn}toString(Me,Bn,Hn){if(!Me)return JSON.stringify(this);for(const Me of this.items){if(!(Me instanceof ts))throw new Error(`Map items must all be pairs; found ${JSON.stringify(Me)} instead`)}return super.toString(Me,{blockItem:Me=>Me.str,flowChars:{start:"{",end:"}"},isMap:true,itemIndent:Me.indent||""},Bn,Hn)}};var oa="<<";var ca=class extends ts{constructor(Me){if(Me instanceof ts){let Bn=Me.value;if(!(Bn instanceof Ci)){Bn=new Ci;Bn.items.push(Me.value);Bn.range=Me.value.range}super(Me.key,Bn);this.range=Me.range}else{super(new zn(oa),new Ci)}this.type=ts.Type.MERGE_PAIR}addToJSMap(Me,Bn){for(const{source:Hn}of this.value.items){if(!(Hn instanceof aa))throw new Error("Merge sources must be maps");const zn=Hn.toJSON(null,Me,Map);for(const[Me,Hn]of zn){if(Bn instanceof Map){if(!Bn.has(Me))Bn.set(Me,Hn)}else if(Bn instanceof Set){Bn.add(Me)}else if(!Object.prototype.hasOwnProperty.call(Bn,Me)){Object.defineProperty(Bn,Me,{value:Hn,writable:true,enumerable:true,configurable:true})}}}return Bn}toString(Me,Bn){const Hn=this.value;if(Hn.items.length>1)return super.toString(Me,Bn);this.value=Hn.items[0];const zn=super.toString(Me,Bn);this.value=Hn;return zn}};var _a={defaultType:Bn.Type.BLOCK_LITERAL,lineWidth:76};var xa={trueStr:"true",falseStr:"false"};var Ga={asBigInt:false};var Ha={nullStr:"null"};var so={defaultType:Bn.Type.PLAIN,doubleQuoted:{jsonEncoding:false,minMultiLineLength:40},fold:{lineWidth:80,minContentWidth:20}};function resolveScalar(Me,Bn,Hn){for(const{format:Hn,test:ni,resolve:Ci}of Bn){if(ni){const Bn=Me.match(ni);if(Bn){let Me=Ci.apply(null,Bn);if(!(Me instanceof zn))Me=new zn(Me);if(Hn)Me.format=Hn;return Me}}}if(Hn)Me=Hn(Me);return new zn(Me)}var oo="flow";var Jo="block";var tc="quoted";var consumeMoreIndentedLines=(Me,Bn)=>{let Hn=Me[Bn+1];while(Hn===" "||Hn==="\t"){do{Hn=Me[Bn+=1]}while(Hn&&Hn!=="\n");Hn=Me[Bn+1]}return Bn};function foldFlowLines(Me,Bn,Hn,{indentAtStart:zn,lineWidth:ni=80,minContentWidth:Ci=20,onFold:ts,onOverflow:Ps}){if(!ni||ni<0)return Me;const aa=Math.max(1+Ci,1+ni-Bn.length);if(Me.length<=aa)return Me;const oa=[];const ca={};let _a=ni-Bn.length;if(typeof zn==="number"){if(zn>ni-Math.max(2,Ci))oa.push(0);else _a=ni-zn}let xa=void 0;let Ga=void 0;let Ha=false;let so=-1;let oo=-1;let dc=-1;if(Hn===Jo){so=consumeMoreIndentedLines(Me,so);if(so!==-1)_a=so+aa}for(let Bn;Bn=Me[so+=1];){if(Hn===tc&&Bn==="\\"){oo=so;switch(Me[so+1]){case"x":so+=3;break;case"u":so+=5;break;case"U":so+=9;break;default:so+=1}dc=so}if(Bn==="\n"){if(Hn===Jo)so=consumeMoreIndentedLines(Me,so);_a=so+aa;xa=void 0}else{if(Bn===" "&&Ga&&Ga!==" "&&Ga!=="\n"&&Ga!=="\t"){const Bn=Me[so+1];if(Bn&&Bn!==" "&&Bn!=="\n"&&Bn!=="\t")xa=so}if(so>=_a){if(xa){oa.push(xa);_a=xa+aa;xa=void 0}else if(Hn===tc){while(Ga===" "||Ga==="\t"){Ga=Bn;Bn=Me[so+=1];Ha=true}const Hn=so>dc+1?so-2:oo-1;if(ca[Hn])return Me;oa.push(Hn);ca[Hn]=true;_a=Hn+aa;xa=void 0}else{Ha=true}}}Ga=Bn}if(Ha&&Ps)Ps();if(oa.length===0)return Me;if(ts)ts();let Fc=Me.slice(0,oa[0]);for(let zn=0;znMe?Object.assign({indentAtStart:Me},so.fold):so.fold;var containsDocumentMarker=Me=>/^(%|---|\.\.\.)/m.test(Me);function lineLengthOverLimit(Me,Bn,Hn){if(!Bn||Bn<0)return false;const zn=Bn-Hn;const ni=Me.length;if(ni<=zn)return false;for(let Bn=0,Hn=0;Bnzn)return true;Hn=Bn+1;if(ni-Hn<=zn)return false}}return true}function doubleQuotedString(Me,Bn){const{implicitKey:Hn}=Bn;const{jsonEncoding:zn,minMultiLineLength:ni}=so.doubleQuoted;const Ci=JSON.stringify(Me);if(zn)return Ci;const ts=Bn.indent||(containsDocumentMarker(Me)?" ":"");let Ps="";let aa=0;for(let Me=0,Bn=Ci[Me];Bn;Bn=Ci[++Me]){if(Bn===" "&&Ci[Me+1]==="\\"&&Ci[Me+2]==="n"){Ps+=Ci.slice(aa,Me)+"\\ ";Me+=1;aa=Me;Bn="\\"}if(Bn==="\\")switch(Ci[Me+1]){case"u":{Ps+=Ci.slice(aa,Me);const Bn=Ci.substr(Me+2,4);switch(Bn){case"0000":Ps+="\\0";break;case"0007":Ps+="\\a";break;case"000b":Ps+="\\v";break;case"001b":Ps+="\\e";break;case"0085":Ps+="\\N";break;case"00a0":Ps+="\\_";break;case"2028":Ps+="\\L";break;case"2029":Ps+="\\P";break;default:if(Bn.substr(0,2)==="00")Ps+="\\x"+Bn.substr(2);else Ps+=Ci.substr(Me,6)}Me+=5;aa=Me+1}break;case"n":if(Hn||Ci[Me+2]==='"'||Ci.length";if(!zn)return ca+"\n";let _a="";let xa="";zn=zn.replace(/[\n\t ]*$/,(Me=>{const Bn=Me.indexOf("\n");if(Bn===-1){ca+="-"}else if(zn===Me||Bn!==Me.length-1){ca+="+";if(ts)ts()}xa=Me.replace(/\n$/,"");return""})).replace(/^[\n ]*/,(Me=>{if(Me.indexOf(" ")!==-1)ca+=aa;const Bn=Me.match(/ +$/);if(Bn){_a=Me.slice(0,-Bn[0].length);return Bn[0]}else{_a=Me;return""}}));if(xa)xa=xa.replace(/\n+(?!\n|$)/g,`$&${Ps}`);if(_a)_a=_a.replace(/\n+/g,`$&${Ps}`);if(Me){ca+=" #"+Me.replace(/ ?[\r\n]+/g," ");if(Ci)Ci()}if(!zn)return`${ca}${aa}\n${Ps}${xa}`;if(oa){zn=zn.replace(/\n+/g,`$&${Ps}`);return`${ca}\n${Ps}${_a}${zn}${xa}`}zn=zn.replace(/\n+/g,"\n$&").replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${Ps}`);const Ga=foldFlowLines(`${_a}${zn}${xa}`,Ps,Jo,so.fold);return`${ca}\n${Ps}${Ga}`}function plainString(Me,Hn,zn,ni){const{comment:Ci,type:ts,value:Ps}=Me;const{actualString:aa,implicitKey:oa,indent:ca,inFlow:_a}=Hn;if(oa&&/[\n[\]{},]/.test(Ps)||_a&&/[[\]{},]/.test(Ps)){return doubleQuotedString(Ps,Hn)}if(!Ps||/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(Ps)){return oa||_a||Ps.indexOf("\n")===-1?Ps.indexOf('"')!==-1&&Ps.indexOf("'")===-1?singleQuotedString(Ps,Hn):doubleQuotedString(Ps,Hn):blockString(Me,Hn,zn,ni)}if(!oa&&!_a&&ts!==Bn.Type.PLAIN&&Ps.indexOf("\n")!==-1){return blockString(Me,Hn,zn,ni)}if(ca===""&&containsDocumentMarker(Ps)){Hn.forceBlockIndent=true;return blockString(Me,Hn,zn,ni)}const xa=Ps.replace(/\n+/g,`$&\n${ca}`);if(aa){const{tags:Me}=Hn.doc.schema;const Bn=resolveScalar(xa,Me,Me.scalarFallback).value;if(typeof Bn!=="string")return doubleQuotedString(Ps,Hn)}const Ga=oa?xa:foldFlowLines(xa,ca,oo,getFoldOptions(Hn));if(Ci&&!_a&&(Ga.indexOf("\n")!==-1||Ci.indexOf("\n")!==-1)){if(zn)zn();return addCommentBefore(Ga,ca,Ci)}return Ga}function stringifyString(Me,Hn,zn,ni){const{defaultType:Ci}=so;const{implicitKey:ts,inFlow:Ps}=Hn;let{type:aa,value:oa}=Me;if(typeof oa!=="string"){oa=String(oa);Me=Object.assign({},Me,{value:oa})}const _stringify=Ci=>{switch(Ci){case Bn.Type.BLOCK_FOLDED:case Bn.Type.BLOCK_LITERAL:return blockString(Me,Hn,zn,ni);case Bn.Type.QUOTE_DOUBLE:return doubleQuotedString(oa,Hn);case Bn.Type.QUOTE_SINGLE:return singleQuotedString(oa,Hn);case Bn.Type.PLAIN:return plainString(Me,Hn,zn,ni);default:return null}};if(aa!==Bn.Type.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(oa)){aa=Bn.Type.QUOTE_DOUBLE}else if((ts||Ps)&&(aa===Bn.Type.BLOCK_FOLDED||aa===Bn.Type.BLOCK_LITERAL)){aa=Bn.Type.QUOTE_DOUBLE}let ca=_stringify(aa);if(ca===null){ca=_stringify(Ci);if(ca===null)throw new Error(`Unsupported default string type ${Ci}`)}return ca}function stringifyNumber({format:Me,minFractionDigits:Bn,tag:Hn,value:zn}){if(typeof zn==="bigint")return String(zn);if(!isFinite(zn))return isNaN(zn)?".nan":zn<0?"-.inf":".inf";let ni=JSON.stringify(zn);if(!Me&&Bn&&(!Hn||Hn==="tag:yaml.org,2002:float")&&/^\d/.test(ni)){let Me=ni.indexOf(".");if(Me<0){Me=ni.length;ni+="."}let Hn=Bn-(ni.length-Me-1);while(Hn-- >0)ni+="0"}return ni}function checkFlowCollectionEnd(Me,Hn){let zn,ni;switch(Hn.type){case Bn.Type.FLOW_MAP:zn="}";ni="flow map";break;case Bn.Type.FLOW_SEQ:zn="]";ni="flow sequence";break;default:Me.push(new Bn.YAMLSemanticError(Hn,"Not a flow collection!?"));return}let Ci;for(let Me=Hn.items.length-1;Me>=0;--Me){const zn=Hn.items[Me];if(!zn||zn.type!==Bn.Type.COMMENT){Ci=zn;break}}if(Ci&&Ci.char!==zn){const ts=`Expected ${ni} to end with ${zn}`;let Ps;if(typeof Ci.offset==="number"){Ps=new Bn.YAMLSemanticError(Hn,ts);Ps.offset=Ci.offset+1}else{Ps=new Bn.YAMLSemanticError(Ci,ts);if(Ci.range&&Ci.range.end)Ps.offset=Ci.range.end-Ci.range.start}Me.push(Ps)}}function checkFlowCommentSpace(Me,Hn){const zn=Hn.context.src[Hn.range.start-1];if(zn!=="\n"&&zn!=="\t"&&zn!==" "){const zn="Comments must be separated from other tokens by white space characters";Me.push(new Bn.YAMLSemanticError(Hn,zn))}}function getLongKeyError(Me,Hn){const zn=String(Hn);const ni=zn.substr(0,8)+"..."+zn.substr(-8);return new Bn.YAMLSemanticError(Me,`The "${ni}" key is too long`)}function resolveComments(Me,Bn){for(const{afterKey:Hn,before:zn,comment:ni}of Bn){let Bn=Me.items[zn];if(!Bn){if(ni!==void 0){if(Me.comment)Me.comment+="\n"+ni;else Me.comment=ni}}else{if(Hn&&Bn.value)Bn=Bn.value;if(ni===void 0){if(Hn||!Bn.commentBefore)Bn.spaceBefore=true}else{if(Bn.commentBefore)Bn.commentBefore+="\n"+ni;else Bn.commentBefore=ni}}}}function resolveString(Me,Bn){const Hn=Bn.strValue;if(!Hn)return"";if(typeof Hn==="string")return Hn;Hn.errors.forEach((Hn=>{if(!Hn.source)Hn.source=Bn;Me.errors.push(Hn)}));return Hn.str}function resolveTagHandle(Me,Hn){const{handle:zn,suffix:ni}=Hn.tag;let Ci=Me.tagPrefixes.find((Me=>Me.handle===zn));if(!Ci){const ni=Me.getDefaults().tagPrefixes;if(ni)Ci=ni.find((Me=>Me.handle===zn));if(!Ci)throw new Bn.YAMLSemanticError(Hn,`The ${zn} tag handle is non-default and was not declared.`)}if(!ni)throw new Bn.YAMLSemanticError(Hn,`The ${zn} tag has no suffix.`);if(zn==="!"&&(Me.version||Me.options.version)==="1.0"){if(ni[0]==="^"){Me.warnings.push(new Bn.YAMLWarning(Hn,"YAML 1.0 ^ tag expansion is not supported"));return ni}if(/[:/]/.test(ni)){const Me=ni.match(/^([a-z0-9-]+)\/(.*)/i);return Me?`tag:${Me[1]}.yaml.org,2002:${Me[2]}`:`tag:${ni}`}}return Ci.prefix+decodeURIComponent(ni)}function resolveTagName(Me,Hn){const{tag:zn,type:ni}=Hn;let Ci=false;if(zn){const{handle:ni,suffix:ts,verbatim:Ps}=zn;if(Ps){if(Ps!=="!"&&Ps!=="!!")return Ps;const zn=`Verbatim tags aren't resolved, so ${Ps} is invalid.`;Me.errors.push(new Bn.YAMLSemanticError(Hn,zn))}else if(ni==="!"&&!ts){Ci=true}else{try{return resolveTagHandle(Me,Hn)}catch(Bn){Me.errors.push(Bn)}}}switch(ni){case Bn.Type.BLOCK_FOLDED:case Bn.Type.BLOCK_LITERAL:case Bn.Type.QUOTE_DOUBLE:case Bn.Type.QUOTE_SINGLE:return Bn.defaultTags.STR;case Bn.Type.FLOW_MAP:case Bn.Type.MAP:return Bn.defaultTags.MAP;case Bn.Type.FLOW_SEQ:case Bn.Type.SEQ:return Bn.defaultTags.SEQ;case Bn.Type.PLAIN:return Ci?Bn.defaultTags.STR:null;default:return null}}function resolveByTagName(Me,Bn,Hn){const{tags:Ci}=Me.schema;const ts=[];for(const Ps of Ci){if(Ps.tag===Hn){if(Ps.test)ts.push(Ps);else{const Hn=Ps.resolve(Me,Bn);return Hn instanceof ni?Hn:new zn(Hn)}}}const Ps=resolveString(Me,Bn);if(typeof Ps==="string"&&ts.length>0)return resolveScalar(Ps,ts,Ci.scalarFallback);return null}function getFallbackTagName({type:Me}){switch(Me){case Bn.Type.FLOW_MAP:case Bn.Type.MAP:return Bn.defaultTags.MAP;case Bn.Type.FLOW_SEQ:case Bn.Type.SEQ:return Bn.defaultTags.SEQ;default:return Bn.defaultTags.STR}}function resolveTag(Me,Hn,zn){try{const Bn=resolveByTagName(Me,Hn,zn);if(Bn){if(zn&&Hn.tag)Bn.tag=zn;return Bn}}catch(Bn){if(!Bn.source)Bn.source=Hn;Me.errors.push(Bn);return null}try{const ni=getFallbackTagName(Hn);if(!ni)throw new Error(`The tag ${zn} is unavailable`);const Ci=`The tag ${zn} is unavailable, falling back to ${ni}`;Me.warnings.push(new Bn.YAMLWarning(Hn,Ci));const ts=resolveByTagName(Me,Hn,ni);ts.tag=zn;return ts}catch(zn){const ni=new Bn.YAMLReferenceError(Hn,zn.message);ni.stack=zn.stack;Me.errors.push(ni);return null}}var isCollectionItem=Me=>{if(!Me)return false;const{type:Hn}=Me;return Hn===Bn.Type.MAP_KEY||Hn===Bn.Type.MAP_VALUE||Hn===Bn.Type.SEQ_ITEM};function resolveNodeProps(Me,Hn){const zn={before:[],after:[]};let ni=false;let Ci=false;const ts=isCollectionItem(Hn.context.parent)?Hn.context.parent.props.concat(Hn.props):Hn.props;for(const{start:Ps,end:aa}of ts){switch(Hn.context.src[Ps]){case Bn.Char.COMMENT:{if(!Hn.commentHasRequiredWhitespace(Ps)){const zn="Comments must be separated from other tokens by white space characters";Me.push(new Bn.YAMLSemanticError(Hn,zn))}const{header:ni,valueRange:Ci}=Hn;const ts=Ci&&(Ps>Ci.start||ni&&Ps>ni.start)?zn.after:zn.before;ts.push(Hn.context.src.slice(Ps+1,aa));break}case Bn.Char.ANCHOR:if(ni){const zn="A node can have at most one anchor";Me.push(new Bn.YAMLSemanticError(Hn,zn))}ni=true;break;case Bn.Char.TAG:if(Ci){const zn="A node can have at most one tag";Me.push(new Bn.YAMLSemanticError(Hn,zn))}Ci=true;break}}return{comments:zn,hasAnchor:ni,hasTag:Ci}}function resolveNodeValue(Me,Hn){const{anchors:zn,errors:ni,schema:Ci}=Me;if(Hn.type===Bn.Type.ALIAS){const Me=Hn.rawValue;const Ci=zn.getNode(Me);if(!Ci){const zn=`Aliased anchor not found: ${Me}`;ni.push(new Bn.YAMLReferenceError(Hn,zn));return null}const ts=new Ps(Ci);zn._cstAliases.push(ts);return ts}const ts=resolveTagName(Me,Hn);if(ts)return resolveTag(Me,Hn,ts);if(Hn.type!==Bn.Type.PLAIN){const Me=`Failed to resolve ${Hn.type} node here`;ni.push(new Bn.YAMLSyntaxError(Hn,Me));return null}try{const Bn=resolveString(Me,Hn);return resolveScalar(Bn,Ci.tags,Ci.tags.scalarFallback)}catch(Me){if(!Me.source)Me.source=Hn;ni.push(Me);return null}}function resolveNode(Me,Hn){if(!Hn)return null;if(Hn.error)Me.errors.push(Hn.error);const{comments:zn,hasAnchor:ni,hasTag:Ci}=resolveNodeProps(Me.errors,Hn);if(ni){const{anchors:Bn}=Me;const zn=Hn.anchor;const ni=Bn.getNode(zn);if(ni)Bn.map[Bn.newName(zn)]=ni;Bn.map[zn]=Hn}if(Hn.type===Bn.Type.ALIAS&&(ni||Ci)){const zn="An alias node must not specify any properties";Me.errors.push(new Bn.YAMLSemanticError(Hn,zn))}const ts=resolveNodeValue(Me,Hn);if(ts){ts.range=[Hn.range.start,Hn.range.end];if(Me.options.keepCstNodes)ts.cstNode=Hn;if(Me.options.keepNodeTypes)ts.type=Hn.type;const Bn=zn.before.join("\n");if(Bn){ts.commentBefore=ts.commentBefore?`${ts.commentBefore}\n${Bn}`:Bn}const ni=zn.after.join("\n");if(ni)ts.comment=ts.comment?`${ts.comment}\n${ni}`:ni}return Hn.resolved=ts}function resolveMap(Me,Hn){if(Hn.type!==Bn.Type.MAP&&Hn.type!==Bn.Type.FLOW_MAP){const zn=`A ${Hn.type} node cannot be resolved as a mapping`;Me.errors.push(new Bn.YAMLSyntaxError(Hn,zn));return null}const{comments:zn,items:Ci}=Hn.type===Bn.Type.FLOW_MAP?resolveFlowMapItems(Me,Hn):resolveBlockMapItems(Me,Hn);const ts=new aa;ts.items=Ci;resolveComments(ts,zn);let _a=false;for(let zn=0;zn{if(Me instanceof Ps){const{type:Hn}=Me.source;if(Hn===Bn.Type.MAP||Hn===Bn.Type.FLOW_MAP)return false;return ts="Merge nodes aliases can only point to maps"}return ts="Merge nodes can only have Alias nodes as values"}));if(ts)Me.errors.push(new Bn.YAMLSemanticError(Hn,ts))}else{for(let ni=zn+1;ni{if(ni.length===0)return false;const{start:Ci}=ni[0];if(Hn&&Ci>Hn.valueRange.start)return false;if(zn[Ci]!==Bn.Char.COMMENT)return false;for(let Bn=Me;Bn0){zn=new Bn.PlainValue(Bn.Type.PLAIN,[]);zn.context={parent:oa,src:oa.context.src};const Me=oa.range.start+1;zn.range={start:Me,end:Me};zn.valueRange={start:Me,end:Me};if(typeof oa.range.origStart==="number"){const Me=oa.range.origStart+1;zn.range.origStart=zn.range.origEnd=Me;zn.valueRange.origStart=zn.valueRange.origEnd=Me}}const aa=new ts(Ci,resolveNode(Me,zn));resolvePairComment(oa,aa);ni.push(aa);if(Ci&&typeof Ps==="number"){if(oa.range.start>Ps+1024)Me.errors.push(getLongKeyError(Hn,Ci))}Ci=void 0;Ps=null}break;default:if(Ci!==void 0)ni.push(new ts(Ci));Ci=resolveNode(Me,oa);Ps=oa.range.start;if(oa.error)Me.errors.push(oa.error);e:for(let zn=aa+1;;++zn){const ni=Hn.items[zn];switch(ni&&ni.type){case Bn.Type.BLANK_LINE:case Bn.Type.COMMENT:continue e;case Bn.Type.MAP_VALUE:break e;default:{const Hn="Implicit map keys need to be followed by map values";Me.errors.push(new Bn.YAMLSemanticError(oa,Hn));break e}}}if(oa.valueRangeContainsNewline){const Hn="Implicit map keys need to be on a single line";Me.errors.push(new Bn.YAMLSemanticError(oa,Hn))}}}if(Ci!==void 0)ni.push(new ts(Ci));return{comments:zn,items:ni}}function resolveFlowMapItems(Me,Hn){const zn=[];const ni=[];let Ci=void 0;let Ps=false;let aa="{";for(let oa=0;oaMe instanceof ts&&Me.key instanceof ni))){const zn="Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.";Me.warnings.push(new Bn.YAMLWarning(Hn,zn))}Hn.resolved=aa;return aa}function resolveBlockSeqItems(Me,Hn){const zn=[];const ni=[];for(let Ci=0;Ciaa+1024)Me.errors.push(getLongKeyError(Hn,Ps));const{src:ni}=ca.context;for(let Hn=aa;HnMe instanceof Uint8Array,default:false,tag:"tag:yaml.org,2002:binary",resolve:(Me,zn)=>{const ni=Hn.resolveString(Me,zn);if(typeof Buffer==="function"){return Buffer.from(ni,"base64")}else if(typeof atob==="function"){const Me=atob(ni.replace(/[\n\r]/g,""));const Bn=new Uint8Array(Me.length);for(let Hn=0;Hn{let aa;if(typeof Buffer==="function"){aa=ni instanceof Buffer?ni.toString("base64"):Buffer.from(ni.buffer).toString("base64")}else if(typeof btoa==="function"){let Me="";for(let Bn=0;Bn1){const Me="Each pair must have its own sequence indicator";throw new Bn.YAMLSemanticError(zn,Me)}const Me=Ci.items[0]||new Hn.Pair;if(Ci.commentBefore)Me.commentBefore=Me.commentBefore?`${Ci.commentBefore}\n${Me.commentBefore}`:Ci.commentBefore;if(Ci.comment)Me.comment=Me.comment?`${Ci.comment}\n${Me.comment}`:Ci.comment;Ci=Me}ni.items[Me]=Ci instanceof Hn.Pair?Ci:new Hn.Pair(Ci)}return ni}function createPairs(Me,Bn,zn){const ni=new Hn.YAMLSeq(Me);ni.tag="tag:yaml.org,2002:pairs";for(const Hn of Bn){let Bn,Ci;if(Array.isArray(Hn)){if(Hn.length===2){Bn=Hn[0];Ci=Hn[1]}else throw new TypeError(`Expected [key, value] tuple: ${Hn}`)}else if(Hn&&Hn instanceof Object){const Me=Object.keys(Hn);if(Me.length===1){Bn=Me[0];Ci=Hn[Bn]}else throw new TypeError(`Expected { key: value } tuple: ${Hn}`)}else{Bn=Hn}const ts=Me.createPair(Bn,Ci,zn);ni.items.push(ts)}return ni}var ni={default:false,tag:"tag:yaml.org,2002:pairs",resolve:parsePairs,createNode:createPairs};var Ci=class extends Hn.YAMLSeq{constructor(){super();Bn._defineProperty(this,"add",Hn.YAMLMap.prototype.add.bind(this));Bn._defineProperty(this,"delete",Hn.YAMLMap.prototype.delete.bind(this));Bn._defineProperty(this,"get",Hn.YAMLMap.prototype.get.bind(this));Bn._defineProperty(this,"has",Hn.YAMLMap.prototype.has.bind(this));Bn._defineProperty(this,"set",Hn.YAMLMap.prototype.set.bind(this));this.tag=Ci.tag}toJSON(Me,Bn){const zn=new Map;if(Bn&&Bn.onCreate)Bn.onCreate(zn);for(const Me of this.items){let ni,Ci;if(Me instanceof Hn.Pair){ni=Hn.toJSON(Me.key,"",Bn);Ci=Hn.toJSON(Me.value,ni,Bn)}else{ni=Hn.toJSON(Me,"",Bn)}if(zn.has(ni))throw new Error("Ordered maps must not include duplicate keys");zn.set(ni,Ci)}return zn}};Bn._defineProperty(Ci,"tag","tag:yaml.org,2002:omap");function parseOMap(Me,zn){const ni=parsePairs(Me,zn);const ts=[];for(const{key:Me}of ni.items){if(Me instanceof Hn.Scalar){if(ts.includes(Me.value)){const Me="Ordered maps must not include duplicate keys";throw new Bn.YAMLSemanticError(zn,Me)}else{ts.push(Me.value)}}}return Object.assign(new Ci,ni)}function createOMap(Me,Bn,Hn){const zn=createPairs(Me,Bn,Hn);const ni=new Ci;ni.items=zn.items;return ni}var ts={identify:Me=>Me instanceof Map,nodeClass:Ci,default:false,tag:"tag:yaml.org,2002:omap",resolve:parseOMap,createNode:createOMap};var Ps=class extends Hn.YAMLMap{constructor(){super();this.tag=Ps.tag}add(Me){const Bn=Me instanceof Hn.Pair?Me:new Hn.Pair(Me);const zn=Hn.findPair(this.items,Bn.key);if(!zn)this.items.push(Bn)}get(Me,Bn){const zn=Hn.findPair(this.items,Me);return!Bn&&zn instanceof Hn.Pair?zn.key instanceof Hn.Scalar?zn.key.value:zn.key:zn}set(Me,Bn){if(typeof Bn!=="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof Bn}`);const zn=Hn.findPair(this.items,Me);if(zn&&!Bn){this.items.splice(this.items.indexOf(zn),1)}else if(!zn&&Bn){this.items.push(new Hn.Pair(Me))}}toJSON(Me,Bn){return super.toJSON(Me,Bn,Set)}toString(Me,Bn,Hn){if(!Me)return JSON.stringify(this);if(this.hasAllNullValues())return super.toString(Me,Bn,Hn);else throw new Error("Set items must all have null values")}};Bn._defineProperty(Ps,"tag","tag:yaml.org,2002:set");function parseSet(Me,zn){const ni=Hn.resolveMap(Me,zn);if(!ni.hasAllNullValues())throw new Bn.YAMLSemanticError(zn,"Set items must all have null values");return Object.assign(new Ps,ni)}function createSet(Me,Bn,Hn){const zn=new Ps;for(const ni of Bn)zn.items.push(Me.createPair(ni,null,Hn));return zn}var aa={identify:Me=>Me instanceof Set,nodeClass:Ps,default:false,tag:"tag:yaml.org,2002:set",resolve:parseSet,createNode:createSet};var parseSexagesimal=(Me,Bn)=>{const Hn=Bn.split(":").reduce(((Me,Bn)=>Me*60+Number(Bn)),0);return Me==="-"?-Hn:Hn};var stringifySexagesimal=({value:Me})=>{if(isNaN(Me)||!isFinite(Me))return Hn.stringifyNumber(Me);let Bn="";if(Me<0){Bn="-";Me=Math.abs(Me)}const zn=[Me%60];if(Me<60){zn.unshift(0)}else{Me=Math.round((Me-zn[0])/60);zn.unshift(Me%60);if(Me>=60){Me=Math.round((Me-zn[0])/60);zn.unshift(Me)}}return Bn+zn.map((Me=>Me<10?"0"+String(Me):String(Me))).join(":").replace(/000000\d*$/,"")};var oa={identify:Me=>typeof Me==="number",default:true,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,resolve:(Me,Bn,Hn)=>parseSexagesimal(Bn,Hn.replace(/_/g,"")),stringify:stringifySexagesimal};var ca={identify:Me=>typeof Me==="number",default:true,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*)$/,resolve:(Me,Bn,Hn)=>parseSexagesimal(Bn,Hn.replace(/_/g,"")),stringify:stringifySexagesimal};var _a={identify:Me=>Me instanceof Date,default:true,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^(?:([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?)$"),resolve:(Me,Bn,Hn,zn,ni,Ci,ts,Ps,aa)=>{if(Ps)Ps=(Ps+"00").substr(1,3);let oa=Date.UTC(Bn,Hn-1,zn,ni||0,Ci||0,ts||0,Ps||0);if(aa&&aa!=="Z"){let Me=parseSexagesimal(aa[0],aa.slice(1));if(Math.abs(Me)<30)Me*=60;oa-=6e4*Me}return new Date(oa)},stringify:({value:Me})=>Me.toISOString().replace(/((T00:00)?:00)?\.000Z$/,"")};function shouldWarn(Me){const Bn=typeof process!=="undefined"&&process.env||{};if(Me){if(typeof YAML_SILENCE_DEPRECATION_WARNINGS!=="undefined")return!YAML_SILENCE_DEPRECATION_WARNINGS;return!Bn.YAML_SILENCE_DEPRECATION_WARNINGS}if(typeof YAML_SILENCE_WARNINGS!=="undefined")return!YAML_SILENCE_WARNINGS;return!Bn.YAML_SILENCE_WARNINGS}function warn(Me,Bn){if(shouldWarn(false)){const Hn=typeof process!=="undefined"&&process.emitWarning;if(Hn)Hn(Me,Bn);else{console.warn(Bn?`${Bn}: ${Me}`:Me)}}}function warnFileDeprecation(Me){if(shouldWarn(true)){const Bn=Me.replace(/.*yaml[/\\]/i,"").replace(/\.js$/,"").replace(/\\/g,"/");warn(`The endpoint 'yaml/${Bn}' will be removed in a future release.`,"DeprecationWarning")}}var xa={};function warnOptionDeprecation(Me,Bn){if(!xa[Me]&&shouldWarn(true)){xa[Me]=true;let Hn=`The option '${Me}' will be removed in a future release`;Hn+=Bn?`, use '${Bn}' instead.`:".";warn(Hn,"DeprecationWarning")}}Me.binary=zn;Me.floatTime=ca;Me.intTime=oa;Me.omap=ts;Me.pairs=ni;Me.set=aa;Me.timestamp=_a;Me.warn=warn;Me.warnFileDeprecation=warnFileDeprecation;Me.warnOptionDeprecation=warnOptionDeprecation}});var Yf=__commonJS({"node_modules/yaml/dist/Schema-88e323a7.js"(Me){"use strict";var Bn=Jp();var Hn=zp();var zn=Qf();function createMap(Me,Bn,zn){const ni=new Hn.YAMLMap(Me);if(Bn instanceof Map){for(const[Hn,Ci]of Bn)ni.items.push(Me.createPair(Hn,Ci,zn))}else if(Bn&&typeof Bn==="object"){for(const Hn of Object.keys(Bn))ni.items.push(Me.createPair(Hn,Bn[Hn],zn))}if(typeof Me.sortMapEntries==="function"){ni.items.sort(Me.sortMapEntries)}return ni}var ni={createNode:createMap,default:true,nodeClass:Hn.YAMLMap,tag:"tag:yaml.org,2002:map",resolve:Hn.resolveMap};function createSeq(Me,Bn,zn){const ni=new Hn.YAMLSeq(Me);if(Bn&&Bn[Symbol.iterator]){for(const Hn of Bn){const Bn=Me.createNode(Hn,zn.wrapScalars,null,zn);ni.items.push(Bn)}}return ni}var Ci={createNode:createSeq,default:true,nodeClass:Hn.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve:Hn.resolveSeq};var ts={identify:Me=>typeof Me==="string",default:true,tag:"tag:yaml.org,2002:str",resolve:Hn.resolveString,stringify(Me,Bn,zn,ni){Bn=Object.assign({actualString:true},Bn);return Hn.stringifyString(Me,Bn,zn,ni)},options:Hn.strOptions};var Ps=[ni,Ci,ts];var intIdentify$2=Me=>typeof Me==="bigint"||Number.isInteger(Me);var intResolve$1=(Me,Bn,zn)=>Hn.intOptions.asBigInt?BigInt(Me):parseInt(Bn,zn);function intStringify$1(Me,Bn,zn){const{value:ni}=Me;if(intIdentify$2(ni)&&ni>=0)return zn+ni.toString(Bn);return Hn.stringifyNumber(Me)}var aa={identify:Me=>Me==null,createNode:(Me,Bn,zn)=>zn.wrapScalars?new Hn.Scalar(null):null,default:true,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:Hn.nullOptions,stringify:()=>Hn.nullOptions.nullStr};var oa={identify:Me=>typeof Me==="boolean",default:true,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:Me=>Me[0]==="t"||Me[0]==="T",options:Hn.boolOptions,stringify:({value:Me})=>Me?Hn.boolOptions.trueStr:Hn.boolOptions.falseStr};var ca={identify:Me=>intIdentify$2(Me)&&Me>=0,default:true,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o([0-7]+)$/,resolve:(Me,Bn)=>intResolve$1(Me,Bn,8),options:Hn.intOptions,stringify:Me=>intStringify$1(Me,8,"0o")};var _a={identify:intIdentify$2,default:true,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:Me=>intResolve$1(Me,Me,10),options:Hn.intOptions,stringify:Hn.stringifyNumber};var xa={identify:Me=>intIdentify$2(Me)&&Me>=0,default:true,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x([0-9a-fA-F]+)$/,resolve:(Me,Bn)=>intResolve$1(Me,Bn,16),options:Hn.intOptions,stringify:Me=>intStringify$1(Me,16,"0x")};var Ga={identify:Me=>typeof Me==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(Me,Bn)=>Bn?NaN:Me[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Hn.stringifyNumber};var Ha={identify:Me=>typeof Me==="number",default:true,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:Me=>parseFloat(Me),stringify:({value:Me})=>Number(Me).toExponential()};var so={identify:Me=>typeof Me==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.([0-9]+)|[0-9]+\.([0-9]*))$/,resolve(Me,Bn,zn){const ni=Bn||zn;const Ci=new Hn.Scalar(parseFloat(Me));if(ni&&ni[ni.length-1]==="0")Ci.minFractionDigits=ni.length;return Ci},stringify:Hn.stringifyNumber};var oo=Ps.concat([aa,oa,ca,_a,xa,Ga,Ha,so]);var intIdentify$1=Me=>typeof Me==="bigint"||Number.isInteger(Me);var stringifyJSON=({value:Me})=>JSON.stringify(Me);var Jo=[ni,Ci,{identify:Me=>typeof Me==="string",default:true,tag:"tag:yaml.org,2002:str",resolve:Hn.resolveString,stringify:stringifyJSON},{identify:Me=>Me==null,createNode:(Me,Bn,zn)=>zn.wrapScalars?new Hn.Scalar(null):null,default:true,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:stringifyJSON},{identify:Me=>typeof Me==="boolean",default:true,tag:"tag:yaml.org,2002:bool",test:/^true|false$/,resolve:Me=>Me==="true",stringify:stringifyJSON},{identify:intIdentify$1,default:true,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:Me=>Hn.intOptions.asBigInt?BigInt(Me):parseInt(Me,10),stringify:({value:Me})=>intIdentify$1(Me)?Me.toString():JSON.stringify(Me)},{identify:Me=>typeof Me==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:Me=>parseFloat(Me),stringify:stringifyJSON}];Jo.scalarFallback=Me=>{throw new SyntaxError(`Unresolved plain scalar ${JSON.stringify(Me)}`)};var boolStringify=({value:Me})=>Me?Hn.boolOptions.trueStr:Hn.boolOptions.falseStr;var intIdentify=Me=>typeof Me==="bigint"||Number.isInteger(Me);function intResolve(Me,Bn,zn){let ni=Bn.replace(/_/g,"");if(Hn.intOptions.asBigInt){switch(zn){case 2:ni=`0b${ni}`;break;case 8:ni=`0o${ni}`;break;case 16:ni=`0x${ni}`;break}const Bn=BigInt(ni);return Me==="-"?BigInt(-1)*Bn:Bn}const Ci=parseInt(ni,zn);return Me==="-"?-1*Ci:Ci}function intStringify(Me,Bn,zn){const{value:ni}=Me;if(intIdentify(ni)){const Me=ni.toString(Bn);return ni<0?"-"+zn+Me.substr(1):zn+Me}return Hn.stringifyNumber(Me)}var tc=Ps.concat([{identify:Me=>Me==null,createNode:(Me,Bn,zn)=>zn.wrapScalars?new Hn.Scalar(null):null,default:true,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:Hn.nullOptions,stringify:()=>Hn.nullOptions.nullStr},{identify:Me=>typeof Me==="boolean",default:true,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>true,options:Hn.boolOptions,stringify:boolStringify},{identify:Me=>typeof Me==="boolean",default:true,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,resolve:()=>false,options:Hn.boolOptions,stringify:boolStringify},{identify:intIdentify,default:true,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^([-+]?)0b([0-1_]+)$/,resolve:(Me,Bn,Hn)=>intResolve(Bn,Hn,2),stringify:Me=>intStringify(Me,2,"0b")},{identify:intIdentify,default:true,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^([-+]?)0([0-7_]+)$/,resolve:(Me,Bn,Hn)=>intResolve(Bn,Hn,8),stringify:Me=>intStringify(Me,8,"0")},{identify:intIdentify,default:true,tag:"tag:yaml.org,2002:int",test:/^([-+]?)([0-9][0-9_]*)$/,resolve:(Me,Bn,Hn)=>intResolve(Bn,Hn,10),stringify:Hn.stringifyNumber},{identify:intIdentify,default:true,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^([-+]?)0x([0-9a-fA-F_]+)$/,resolve:(Me,Bn,Hn)=>intResolve(Bn,Hn,16),stringify:Me=>intStringify(Me,16,"0x")},{identify:Me=>typeof Me==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(Me,Bn)=>Bn?NaN:Me[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Hn.stringifyNumber},{identify:Me=>typeof Me==="number",default:true,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:Me=>parseFloat(Me.replace(/_/g,"")),stringify:({value:Me})=>Number(Me).toExponential()},{identify:Me=>typeof Me==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/,resolve(Me,Bn){const zn=new Hn.Scalar(parseFloat(Me.replace(/_/g,"")));if(Bn){const Me=Bn.replace(/_/g,"");if(Me[Me.length-1]==="0")zn.minFractionDigits=Me.length}return zn},stringify:Hn.stringifyNumber}],zn.binary,zn.omap,zn.pairs,zn.set,zn.intTime,zn.floatTime,zn.timestamp);var dc={core:oo,failsafe:Ps,json:Jo,yaml11:tc};var Fc={binary:zn.binary,bool:oa,float:so,floatExp:Ha,floatNaN:Ga,floatTime:zn.floatTime,int:_a,intHex:xa,intOct:ca,intTime:zn.intTime,map:ni,null:aa,omap:zn.omap,pairs:zn.pairs,seq:Ci,set:zn.set,timestamp:zn.timestamp};function findTagObject(Me,Bn,Hn){if(Bn){const Me=Hn.filter((Me=>Me.tag===Bn));const zn=Me.find((Me=>!Me.format))||Me[0];if(!zn)throw new Error(`Tag ${Bn} not found`);return zn}return Hn.find((Bn=>(Bn.identify&&Bn.identify(Me)||Bn.class&&Me instanceof Bn.class)&&!Bn.format))}function createNode(Me,Bn,zn){if(Me instanceof Hn.Node)return Me;const{defaultPrefix:ts,onTagObj:Ps,prevObjects:aa,schema:oa,wrapScalars:ca}=zn;if(Bn&&Bn.startsWith("!!"))Bn=ts+Bn.slice(2);let _a=findTagObject(Me,Bn,oa.tags);if(!_a){if(typeof Me.toJSON==="function")Me=Me.toJSON();if(!Me||typeof Me!=="object")return ca?new Hn.Scalar(Me):Me;_a=Me instanceof Map?ni:Me[Symbol.iterator]?Ci:ni}if(Ps){Ps(_a);delete zn.onTagObj}const xa={value:void 0,node:void 0};if(Me&&typeof Me==="object"&&aa){const Bn=aa.get(Me);if(Bn){const Me=new Hn.Alias(Bn);zn.aliasNodes.push(Me);return Me}xa.value=Me;aa.set(Me,xa)}xa.node=_a.createNode?_a.createNode(zn.schema,Me,zn):ca?new Hn.Scalar(Me):Me;if(Bn&&xa.node instanceof Hn.Node)xa.node.tag=Bn;return xa.node}function getSchemaTags(Me,Bn,Hn,zn){let ni=Me[zn.replace(/\W/g,"")];if(!ni){const Bn=Object.keys(Me).map((Me=>JSON.stringify(Me))).join(", ");throw new Error(`Unknown schema "${zn}"; use one of ${Bn}`)}if(Array.isArray(Hn)){for(const Me of Hn)ni=ni.concat(Me)}else if(typeof Hn==="function"){ni=Hn(ni.slice())}for(let Me=0;MeJSON.stringify(Me))).join(", ");throw new Error(`Unknown custom tag "${Hn}"; use one of ${Me}`)}ni[Me]=zn}}return ni}var sortMapEntriesByKey=(Me,Bn)=>Me.keyBn.key?1:0;var Jc=class{constructor({customTags:Me,merge:Bn,schema:Hn,sortMapEntries:ni,tags:Ci}){this.merge=!!Bn;this.name=Hn;this.sortMapEntries=ni===true?sortMapEntriesByKey:ni||null;if(!Me&&Ci)zn.warnOptionDeprecation("tags","customTags");this.tags=getSchemaTags(dc,Fc,Me||Ci,Hn)}createNode(Me,Bn,Hn,zn){const ni={defaultPrefix:Jc.defaultPrefix,schema:this,wrapScalars:Bn};const Ci=zn?Object.assign(zn,ni):ni;return createNode(Me,Hn,Ci)}createPair(Me,Bn,zn){if(!zn)zn={wrapScalars:true};const ni=this.createNode(Me,zn.wrapScalars,null,zn);const Ci=this.createNode(Bn,zn.wrapScalars,null,zn);return new Hn.Pair(ni,Ci)}};Bn._defineProperty(Jc,"defaultPrefix",Bn.defaultTagPrefix);Bn._defineProperty(Jc,"defaultTags",Bn.defaultTags);Me.Schema=Jc}});var Kf=__commonJS({"node_modules/yaml/dist/Document-9b4560a1.js"(Me){"use strict";var Bn=Jp();var Hn=zp();var zn=Yf();var ni={anchorPrefix:"a",customTags:null,indent:2,indentSeq:true,keepCstNodes:false,keepNodeTypes:true,keepBlobsInJSON:true,mapAsMap:false,maxAliasCount:100,prettyErrors:false,simpleKeys:false,version:"1.2"};var Ci={get binary(){return Hn.binaryOptions},set binary(Me){Object.assign(Hn.binaryOptions,Me)},get bool(){return Hn.boolOptions},set bool(Me){Object.assign(Hn.boolOptions,Me)},get int(){return Hn.intOptions},set int(Me){Object.assign(Hn.intOptions,Me)},get null(){return Hn.nullOptions},set null(Me){Object.assign(Hn.nullOptions,Me)},get str(){return Hn.strOptions},set str(Me){Object.assign(Hn.strOptions,Me)}};var ts={"1.0":{schema:"yaml-1.1",merge:true,tagPrefixes:[{handle:"!",prefix:Bn.defaultTagPrefix},{handle:"!!",prefix:"tag:private.yaml.org,2002:"}]},1.1:{schema:"yaml-1.1",merge:true,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:Bn.defaultTagPrefix}]},1.2:{schema:"core",merge:false,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:Bn.defaultTagPrefix}]}};function stringifyTag(Me,Bn){if((Me.version||Me.options.version)==="1.0"){const Me=Bn.match(/^tag:private\.yaml\.org,2002:([^:/]+)$/);if(Me)return"!"+Me[1];const Hn=Bn.match(/^tag:([a-zA-Z0-9-]+)\.yaml\.org,2002:(.*)/);return Hn?`!${Hn[1]}/${Hn[2]}`:`!${Bn.replace(/^tag:/,"")}`}let Hn=Me.tagPrefixes.find((Me=>Bn.indexOf(Me.prefix)===0));if(!Hn){const zn=Me.getDefaults().tagPrefixes;Hn=zn&&zn.find((Me=>Bn.indexOf(Me.prefix)===0))}if(!Hn)return Bn[0]==="!"?Bn:`!<${Bn}>`;const zn=Bn.substr(Hn.prefix.length).replace(/[!,[\]{}]/g,(Me=>({"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"}[Me])));return Hn.handle+zn}function getTagObject(Me,Bn){if(Bn instanceof Hn.Alias)return Hn.Alias;if(Bn.tag){const Hn=Me.filter((Me=>Me.tag===Bn.tag));if(Hn.length>0)return Hn.find((Me=>Me.format===Bn.format))||Hn[0]}let zn,ni;if(Bn instanceof Hn.Scalar){ni=Bn.value;const Hn=Me.filter((Me=>Me.identify&&Me.identify(ni)||Me.class&&ni instanceof Me.class));zn=Hn.find((Me=>Me.format===Bn.format))||Hn.find((Me=>!Me.format))}else{ni=Bn;zn=Me.find((Me=>Me.nodeClass&&ni instanceof Me.nodeClass))}if(!zn){const Me=ni&&ni.constructor?ni.constructor.name:typeof ni;throw new Error(`Tag not resolved for ${Me} value`)}return zn}function stringifyProps(Me,Bn,{anchors:Hn,doc:zn}){const ni=[];const Ci=zn.anchors.getName(Me);if(Ci){Hn[Ci]=Me;ni.push(`&${Ci}`)}if(Me.tag){ni.push(stringifyTag(zn,Me.tag))}else if(!Bn.default){ni.push(stringifyTag(zn,Bn.tag))}return ni.join(" ")}function stringify(Me,Bn,zn,ni){const{anchors:Ci,schema:ts}=Bn.doc;let Ps;if(!(Me instanceof Hn.Node)){const Bn={aliasNodes:[],onTagObj:Me=>Ps=Me,prevObjects:new Map};Me=ts.createNode(Me,true,null,Bn);for(const Me of Bn.aliasNodes){Me.source=Me.source.node;let Bn=Ci.getName(Me.source);if(!Bn){Bn=Ci.newName();Ci.map[Bn]=Me.source}}}if(Me instanceof Hn.Pair)return Me.toString(Bn,zn,ni);if(!Ps)Ps=getTagObject(ts.tags,Me);const aa=stringifyProps(Me,Ps,Bn);if(aa.length>0)Bn.indentAtStart=(Bn.indentAtStart||0)+aa.length+1;const oa=typeof Ps.stringify==="function"?Ps.stringify(Me,Bn,zn,ni):Me instanceof Hn.Scalar?Hn.stringifyString(Me,Bn,zn,ni):Me.toString(Bn,zn,ni);if(!aa)return oa;return Me instanceof Hn.Scalar||oa[0]==="{"||oa[0]==="["?`${aa} ${oa}`:`${aa}\n${Bn.indent}${oa}`}var Ps=class{static validAnchorNode(Me){return Me instanceof Hn.Scalar||Me instanceof Hn.YAMLSeq||Me instanceof Hn.YAMLMap}constructor(Me){Bn._defineProperty(this,"map",Object.create(null));this.prefix=Me}createAlias(Me,Bn){this.setAnchor(Me,Bn);return new Hn.Alias(Me)}createMergePair(...Me){const Bn=new Hn.Merge;Bn.value.items=Me.map((Me=>{if(Me instanceof Hn.Alias){if(Me.source instanceof Hn.YAMLMap)return Me}else if(Me instanceof Hn.YAMLMap){return this.createAlias(Me)}throw new Error("Merge sources must be Map nodes or their Aliases")}));return Bn}getName(Me){const{map:Bn}=this;return Object.keys(Bn).find((Hn=>Bn[Hn]===Me))}getNames(){return Object.keys(this.map)}getNode(Me){return this.map[Me]}newName(Me){if(!Me)Me=this.prefix;const Bn=Object.keys(this.map);for(let Hn=1;true;++Hn){const zn=`${Me}${Hn}`;if(!Bn.includes(zn))return zn}}resolveNodes(){const{map:Me,_cstAliases:Bn}=this;Object.keys(Me).forEach((Bn=>{Me[Bn]=Me[Bn].resolved}));Bn.forEach((Me=>{Me.source=Me.source.resolved}));delete this._cstAliases}setAnchor(Me,Bn){if(Me!=null&&!Ps.validAnchorNode(Me)){throw new Error("Anchors may only be set for Scalar, Seq and Map nodes")}if(Bn&&/[\x00-\x19\s,[\]{}]/.test(Bn)){throw new Error("Anchor names must not contain whitespace or control characters")}const{map:Hn}=this;const zn=Me&&Object.keys(Hn).find((Bn=>Hn[Bn]===Me));if(zn){if(!Bn){return zn}else if(zn!==Bn){delete Hn[zn];Hn[Bn]=Me}}else{if(!Bn){if(!Me)return null;Bn=this.newName()}Hn[Bn]=Me}return Bn}};var visit=(Me,Bn)=>{if(Me&&typeof Me==="object"){const{tag:zn}=Me;if(Me instanceof Hn.Collection){if(zn)Bn[zn]=true;Me.items.forEach((Me=>visit(Me,Bn)))}else if(Me instanceof Hn.Pair){visit(Me.key,Bn);visit(Me.value,Bn)}else if(Me instanceof Hn.Scalar){if(zn)Bn[zn]=true}}return Bn};var listTagNames=Me=>Object.keys(visit(Me,{}));function parseContents(Me,zn){const ni={before:[],after:[]};let Ci=void 0;let ts=false;for(const Ps of zn){if(Ps.valueRange){if(Ci!==void 0){const Hn="Document contains trailing content not separated by a ... or --- line";Me.errors.push(new Bn.YAMLSyntaxError(Ps,Hn));break}const zn=Hn.resolveNode(Me,Ps);if(ts){zn.spaceBefore=true;ts=false}Ci=zn}else if(Ps.comment!==null){const Me=Ci===void 0?ni.before:ni.after;Me.push(Ps.comment)}else if(Ps.type===Bn.Type.BLANK_LINE){ts=true;if(Ci===void 0&&ni.before.length>0&&!Me.commentBefore){Me.commentBefore=ni.before.join("\n");ni.before=[]}}}Me.contents=Ci||null;if(!Ci){Me.comment=ni.before.concat(ni.after).join("\n")||null}else{const Bn=ni.before.join("\n");if(Bn){const Me=Ci instanceof Hn.Collection&&Ci.items[0]?Ci.items[0]:Ci;Me.commentBefore=Me.commentBefore?`${Bn}\n${Me.commentBefore}`:Bn}Me.comment=ni.after.join("\n")||null}}function resolveTagDirective({tagPrefixes:Me},Hn){const[zn,ni]=Hn.parameters;if(!zn||!ni){const Me="Insufficient parameters given for %TAG directive";throw new Bn.YAMLSemanticError(Hn,Me)}if(Me.some((Me=>Me.handle===zn))){const Me="The %TAG directive must only be given at most once per handle in the same document.";throw new Bn.YAMLSemanticError(Hn,Me)}return{handle:zn,prefix:ni}}function resolveYamlDirective(Me,Hn){let[zn]=Hn.parameters;if(Hn.name==="YAML:1.0")zn="1.0";if(!zn){const Me="Insufficient parameters given for %YAML directive";throw new Bn.YAMLSemanticError(Hn,Me)}if(!ts[zn]){const ni=Me.version||Me.options.version;const Ci=`Document will be parsed as YAML ${ni} rather than YAML ${zn}`;Me.warnings.push(new Bn.YAMLWarning(Hn,Ci))}return zn}function parseDirectives(Me,Hn,zn){const ni=[];let Ci=false;for(const zn of Hn){const{comment:Hn,name:ts}=zn;switch(ts){case"TAG":try{Me.tagPrefixes.push(resolveTagDirective(Me,zn))}catch(Bn){Me.errors.push(Bn)}Ci=true;break;case"YAML":case"YAML:1.0":if(Me.version){const Hn="The %YAML directive must only be given at most once per document.";Me.errors.push(new Bn.YAMLSemanticError(zn,Hn))}try{Me.version=resolveYamlDirective(Me,zn)}catch(Bn){Me.errors.push(Bn)}Ci=true;break;default:if(ts){const Hn=`YAML only supports %TAG and %YAML directives, and not %${ts}`;Me.warnings.push(new Bn.YAMLWarning(zn,Hn))}}if(Hn)ni.push(Hn)}if(zn&&!Ci&&"1.1"===(Me.version||zn.version||Me.options.version)){const copyTagPrefix=({handle:Me,prefix:Bn})=>({handle:Me,prefix:Bn});Me.tagPrefixes=zn.tagPrefixes.map(copyTagPrefix);Me.version=zn.version}Me.commentBefore=ni.join("\n")||null}function assertCollection(Me){if(Me instanceof Hn.Collection)return true;throw new Error("Expected a YAML collection as document contents")}var aa=class{constructor(Me){this.anchors=new Ps(Me.anchorPrefix);this.commentBefore=null;this.comment=null;this.contents=null;this.directivesEndMarker=null;this.errors=[];this.options=Me;this.schema=null;this.tagPrefixes=[];this.version=null;this.warnings=[]}add(Me){assertCollection(this.contents);return this.contents.add(Me)}addIn(Me,Bn){assertCollection(this.contents);this.contents.addIn(Me,Bn)}delete(Me){assertCollection(this.contents);return this.contents.delete(Me)}deleteIn(Me){if(Hn.isEmptyPath(Me)){if(this.contents==null)return false;this.contents=null;return true}assertCollection(this.contents);return this.contents.deleteIn(Me)}getDefaults(){return aa.defaults[this.version]||aa.defaults[this.options.version]||{}}get(Me,Bn){return this.contents instanceof Hn.Collection?this.contents.get(Me,Bn):void 0}getIn(Me,Bn){if(Hn.isEmptyPath(Me))return!Bn&&this.contents instanceof Hn.Scalar?this.contents.value:this.contents;return this.contents instanceof Hn.Collection?this.contents.getIn(Me,Bn):void 0}has(Me){return this.contents instanceof Hn.Collection?this.contents.has(Me):false}hasIn(Me){if(Hn.isEmptyPath(Me))return this.contents!==void 0;return this.contents instanceof Hn.Collection?this.contents.hasIn(Me):false}set(Me,Bn){assertCollection(this.contents);this.contents.set(Me,Bn)}setIn(Me,Bn){if(Hn.isEmptyPath(Me))this.contents=Bn;else{assertCollection(this.contents);this.contents.setIn(Me,Bn)}}setSchema(Me,Bn){if(!Me&&!Bn&&this.schema)return;if(typeof Me==="number")Me=Me.toFixed(1);if(Me==="1.0"||Me==="1.1"||Me==="1.2"){if(this.version)this.version=Me;else this.options.version=Me;delete this.options.schema}else if(Me&&typeof Me==="string"){this.options.schema=Me}if(Array.isArray(Bn))this.options.customTags=Bn;const Hn=Object.assign({},this.getDefaults(),this.options);this.schema=new zn.Schema(Hn)}parse(Me,Hn){if(this.options.keepCstNodes)this.cstNode=Me;if(this.options.keepNodeTypes)this.type="DOCUMENT";const{directives:zn=[],contents:ni=[],directivesEndMarker:Ci,error:ts,valueRange:Ps}=Me;if(ts){if(!ts.source)ts.source=this;this.errors.push(ts)}parseDirectives(this,zn,Hn);if(Ci)this.directivesEndMarker=true;this.range=Ps?[Ps.start,Ps.end]:null;this.setSchema();this.anchors._cstAliases=[];parseContents(this,ni);this.anchors.resolveNodes();if(this.options.prettyErrors){for(const Me of this.errors)if(Me instanceof Bn.YAMLError)Me.makePretty();for(const Me of this.warnings)if(Me instanceof Bn.YAMLError)Me.makePretty()}return this}listNonDefaultTags(){return listTagNames(this.contents).filter((Me=>Me.indexOf(zn.Schema.defaultPrefix)!==0))}setTagPrefix(Me,Bn){if(Me[0]!=="!"||Me[Me.length-1]!=="!")throw new Error("Handle must start and end with !");if(Bn){const Hn=this.tagPrefixes.find((Bn=>Bn.handle===Me));if(Hn)Hn.prefix=Bn;else this.tagPrefixes.push({handle:Me,prefix:Bn})}else{this.tagPrefixes=this.tagPrefixes.filter((Bn=>Bn.handle!==Me))}}toJSON(Me,Bn){const{keepBlobsInJSON:zn,mapAsMap:ni,maxAliasCount:Ci}=this.options;const ts=zn&&(typeof Me!=="string"||!(this.contents instanceof Hn.Scalar));const Ps={doc:this,indentStep:" ",keep:ts,mapAsMap:ts&&!!ni,maxAliasCount:Ci,stringify:stringify};const aa=Object.keys(this.anchors.map);if(aa.length>0)Ps.anchors=new Map(aa.map((Me=>[this.anchors.map[Me],{alias:[],aliasCount:0,count:1}])));const oa=Hn.toJSON(this.contents,Me,Ps);if(typeof Bn==="function"&&Ps.anchors)for(const{count:Me,res:Hn}of Ps.anchors.values())Bn(Hn,Me);return oa}toString(){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");const Me=this.options.indent;if(!Number.isInteger(Me)||Me<=0){const Bn=JSON.stringify(Me);throw new Error(`"indent" option must be a positive integer, not ${Bn}`)}this.setSchema();const Bn=[];let zn=false;if(this.version){let Me="%YAML 1.2";if(this.schema.name==="yaml-1.1"){if(this.version==="1.0")Me="%YAML:1.0";else if(this.version==="1.1")Me="%YAML 1.1"}Bn.push(Me);zn=true}const ni=this.listNonDefaultTags();this.tagPrefixes.forEach((({handle:Me,prefix:Hn})=>{if(ni.some((Me=>Me.indexOf(Hn)===0))){Bn.push(`%TAG ${Me} ${Hn}`);zn=true}}));if(zn||this.directivesEndMarker)Bn.push("---");if(this.commentBefore){if(zn||!this.directivesEndMarker)Bn.unshift("");Bn.unshift(this.commentBefore.replace(/^/gm,"#"))}const Ci={anchors:Object.create(null),doc:this,indent:"",indentStep:" ".repeat(Me),stringify:stringify};let ts=false;let Ps=null;if(this.contents){if(this.contents instanceof Hn.Node){if(this.contents.spaceBefore&&(zn||this.directivesEndMarker))Bn.push("");if(this.contents.commentBefore)Bn.push(this.contents.commentBefore.replace(/^/gm,"#"));Ci.forceBlockIndent=!!this.comment;Ps=this.contents.comment}const Me=Ps?null:()=>ts=true;const ni=stringify(this.contents,Ci,(()=>Ps=null),Me);Bn.push(Hn.addComment(ni,"",Ps))}else if(this.contents!==void 0){Bn.push(stringify(this.contents,Ci))}if(this.comment){if((!ts||Ps)&&Bn[Bn.length-1]!=="")Bn.push("");Bn.push(this.comment.replace(/^/gm,"#"))}return Bn.join("\n")+"\n"}};Bn._defineProperty(aa,"defaults",ts);Me.Document=aa;Me.defaultOptions=ni;Me.scalarOptions=Ci}});var Xf=__commonJS({"node_modules/yaml/dist/index.js"(Me){"use strict";var Bn=Wp();var Hn=Kf();var zn=Yf();var ni=Jp();var Ci=Qf();zp();function createNode(Me,Bn=true,ni){if(ni===void 0&&typeof Bn==="string"){ni=Bn;Bn=true}const Ci=Object.assign({},Hn.Document.defaults[Hn.defaultOptions.version],Hn.defaultOptions);const ts=new zn.Schema(Ci);return ts.createNode(Me,Bn,ni)}var ts=class extends Hn.Document{constructor(Me){super(Object.assign({},Hn.defaultOptions,Me))}};function parseAllDocuments(Me,Hn){const zn=[];let ni;for(const Ci of Bn.parse(Me)){const Me=new ts(Hn);Me.parse(Ci,ni);zn.push(Me);ni=Me}return zn}function parseDocument(Me,Hn){const zn=Bn.parse(Me);const Ci=new ts(Hn).parse(zn[0]);if(zn.length>1){const Me="Source contains multiple documents; please use YAML.parseAllDocuments()";Ci.errors.unshift(new ni.YAMLSemanticError(zn[1],Me))}return Ci}function parse(Me,Bn){const Hn=parseDocument(Me,Bn);Hn.warnings.forEach((Me=>Ci.warn(Me)));if(Hn.errors.length>0)throw Hn.errors[0];return Hn.toJSON()}function stringify(Me,Bn){const Hn=new ts(Bn);Hn.contents=Me;return String(Hn)}var Ps={createNode:createNode,defaultOptions:Hn.defaultOptions,Document:ts,parse:parse,parseAllDocuments:parseAllDocuments,parseCST:Bn.parse,parseDocument:parseDocument,scalarOptions:Hn.scalarOptions,stringify:stringify};Me.YAML=Ps}});var Ad=__commonJS({"node_modules/yaml/index.js"(Me,Bn){Bn.exports=Xf().YAML}});var Cd=__commonJS({"node_modules/cosmiconfig/dist/loaders.js"(Me){"use strict";Object.defineProperty(Me,"__esModule",{value:true});Me.loaders=void 0;var Bn;var Hn=function loadJs2(Me){if(Bn===void 0){Bn=ts()}const Hn=Bn(Me);return Hn};var zn;var ni=function loadJson2(Me,Bn){if(zn===void 0){zn=qp()}try{const Me=zn(Bn);return Me}catch(Bn){Bn.message=`JSON Error in ${Me}:\n${Bn.message}`;throw Bn}};var Ci;var Ps=function loadYaml2(Me,Bn){if(Ci===void 0){Ci=Ad()}try{const Me=Ci.parse(Bn,{prettyErrors:true});return Me}catch(Bn){Bn.message=`YAML Error in ${Me}:\n${Bn.message}`;throw Bn}};var aa={loadJs:Hn,loadJson:ni,loadYaml:Ps};Me.loaders=aa}});var wd=__commonJS({"node_modules/cosmiconfig/dist/getPropertyByPath.js"(Me){"use strict";Object.defineProperty(Me,"__esModule",{value:true});Me.getPropertyByPath=getPropertyByPath;function getPropertyByPath(Me,Bn){if(typeof Bn==="string"&&Object.prototype.hasOwnProperty.call(Me,Bn)){return Me[Bn]}const Hn=typeof Bn==="string"?Bn.split("."):Bn;return Hn.reduce(((Me,Bn)=>{if(Me===void 0){return Me}return Me[Bn]}),Me)}}});var Sd=__commonJS({"node_modules/cosmiconfig/dist/ExplorerBase.js"(Me){"use strict";Object.defineProperty(Me,"__esModule",{value:true});Me.getExtensionDescription=getExtensionDescription;Me.ExplorerBase=void 0;var Bn=_interopRequireDefault(Hn(16928));var zn=Cd();var ni=wd();function _interopRequireDefault(Me){return Me&&Me.__esModule?Me:{default:Me}}var Ci=class{constructor(Me){if(Me.cache===true){this.loadCache=new Map;this.searchCache=new Map}this.config=Me;this.validateConfig()}clearLoadCache(){if(this.loadCache){this.loadCache.clear()}}clearSearchCache(){if(this.searchCache){this.searchCache.clear()}}clearCaches(){this.clearLoadCache();this.clearSearchCache()}validateConfig(){const Me=this.config;Me.searchPlaces.forEach((Hn=>{const zn=Bn.default.extname(Hn)||"noExt";const ni=Me.loaders[zn];if(!ni){throw new Error(`No loader specified for ${getExtensionDescription(Hn)}, so searchPlaces item "${Hn}" is invalid`)}if(typeof ni!=="function"){throw new Error(`loader for ${getExtensionDescription(Hn)} is not a function (type provided: "${typeof ni}"), so searchPlaces item "${Hn}" is invalid`)}}))}shouldSearchStopWithResult(Me){if(Me===null)return false;if(Me.isEmpty&&this.config.ignoreEmptySearchPlaces)return false;return true}nextDirectoryToSearch(Me,Bn){if(this.shouldSearchStopWithResult(Bn)){return null}const Hn=nextDirUp(Me);if(Hn===Me||Me===this.config.stopDir){return null}return Hn}loadPackageProp(Me,Bn){const Hn=zn.loaders.loadJson(Me,Bn);const Ci=(0,ni.getPropertyByPath)(Hn,this.config.packageProp);return Ci||null}getLoaderEntryForFile(Me){if(Bn.default.basename(Me)==="package.json"){const Me=this.loadPackageProp.bind(this);return Me}const Hn=Bn.default.extname(Me)||"noExt";const zn=this.config.loaders[Hn];if(!zn){throw new Error(`No loader specified for ${getExtensionDescription(Me)}`)}return zn}loadedContentToCosmiconfigResult(Me,Bn){if(Bn===null){return null}if(Bn===void 0){return{filepath:Me,config:void 0,isEmpty:true}}return{config:Bn,filepath:Me}}validateFilePath(Me){if(!Me){throw new Error("load must pass a non-empty string")}}};Me.ExplorerBase=Ci;function nextDirUp(Me){return Bn.default.dirname(Me)}function getExtensionDescription(Me){const Hn=Bn.default.extname(Me);return Hn?`extension "${Hn}"`:"files without extensions"}}});var xd=__commonJS({"node_modules/cosmiconfig/dist/readFile.js"(Me){"use strict";Object.defineProperty(Me,"__esModule",{value:true});Me.readFile=readFile;Me.readFileSync=readFileSync;var Bn=_interopRequireDefault(Hn(79896));function _interopRequireDefault(Me){return Me&&Me.__esModule?Me:{default:Me}}async function fsReadFileAsync(Me,Hn){return new Promise(((zn,ni)=>{Bn.default.readFile(Me,Hn,((Me,Bn)=>{if(Me){ni(Me);return}zn(Bn)}))}))}async function readFile(Me,Bn={}){const Hn=Bn.throwNotFound===true;try{const Bn=await fsReadFileAsync(Me,"utf8");return Bn}catch(Me){if(Hn===false&&(Me.code==="ENOENT"||Me.code==="EISDIR")){return null}throw Me}}function readFileSync(Me,Hn={}){const zn=Hn.throwNotFound===true;try{const Hn=Bn.default.readFileSync(Me,"utf8");return Hn}catch(Me){if(zn===false&&(Me.code==="ENOENT"||Me.code==="EISDIR")){return null}throw Me}}}});var Td=__commonJS({"node_modules/cosmiconfig/dist/cacheWrapper.js"(Me){"use strict";Object.defineProperty(Me,"__esModule",{value:true});Me.cacheWrapper=cacheWrapper;Me.cacheWrapperSync=cacheWrapperSync;async function cacheWrapper(Me,Bn,Hn){const zn=Me.get(Bn);if(zn!==void 0){return zn}const ni=await Hn();Me.set(Bn,ni);return ni}function cacheWrapperSync(Me,Bn,Hn){const zn=Me.get(Bn);if(zn!==void 0){return zn}const ni=Hn();Me.set(Bn,ni);return ni}}});var Pd=__commonJS({"node_modules/path-type/index.js"(Me){"use strict";var{promisify:Bn}=Hn(39023);var zn=Hn(79896);async function isType(Me,Hn,ni){if(typeof ni!=="string"){throw new TypeError(`Expected a string, got ${typeof ni}`)}try{const Ci=await Bn(zn[Me])(ni);return Ci[Hn]()}catch(Me){if(Me.code==="ENOENT"){return false}throw Me}}function isTypeSync(Me,Bn,Hn){if(typeof Hn!=="string"){throw new TypeError(`Expected a string, got ${typeof Hn}`)}try{return zn[Me](Hn)[Bn]()}catch(Me){if(Me.code==="ENOENT"){return false}throw Me}}Me.isFile=isType.bind(null,"stat","isFile");Me.isDirectory=isType.bind(null,"stat","isDirectory");Me.isSymlink=isType.bind(null,"lstat","isSymbolicLink");Me.isFileSync=isTypeSync.bind(null,"statSync","isFile");Me.isDirectorySync=isTypeSync.bind(null,"statSync","isDirectory");Me.isSymlinkSync=isTypeSync.bind(null,"lstatSync","isSymbolicLink")}});var Qh=__commonJS({"node_modules/cosmiconfig/dist/getDirectory.js"(Me){"use strict";Object.defineProperty(Me,"__esModule",{value:true});Me.getDirectory=getDirectory;Me.getDirectorySync=getDirectorySync;var Bn=_interopRequireDefault(Hn(16928));var zn=Pd();function _interopRequireDefault(Me){return Me&&Me.__esModule?Me:{default:Me}}async function getDirectory(Me){const Hn=await(0,zn.isDirectory)(Me);if(Hn===true){return Me}const ni=Bn.default.dirname(Me);return ni}function getDirectorySync(Me){const Hn=(0,zn.isDirectorySync)(Me);if(Hn===true){return Me}const ni=Bn.default.dirname(Me);return ni}}});var Zh=__commonJS({"node_modules/cosmiconfig/dist/Explorer.js"(Me){"use strict";Object.defineProperty(Me,"__esModule",{value:true});Me.Explorer=void 0;var Bn=_interopRequireDefault(Hn(16928));var zn=Sd();var ni=xd();var Ci=Td();var ts=Qh();function _interopRequireDefault(Me){return Me&&Me.__esModule?Me:{default:Me}}var Ps=class extends zn.ExplorerBase{constructor(Me){super(Me)}async search(Me=process.cwd()){const Bn=await(0,ts.getDirectory)(Me);const Hn=await this.searchFromDirectory(Bn);return Hn}async searchFromDirectory(Me){const Hn=Bn.default.resolve(process.cwd(),Me);const run=async()=>{const Me=await this.searchDirectory(Hn);const Bn=this.nextDirectoryToSearch(Hn,Me);if(Bn){return this.searchFromDirectory(Bn)}const zn=await this.config.transform(Me);return zn};if(this.searchCache){return(0,Ci.cacheWrapper)(this.searchCache,Hn,run)}return run()}async searchDirectory(Me){for await(const Bn of this.config.searchPlaces){const Hn=await this.loadSearchPlace(Me,Bn);if(this.shouldSearchStopWithResult(Hn)===true){return Hn}}return null}async loadSearchPlace(Me,Hn){const zn=Bn.default.join(Me,Hn);const Ci=await(0,ni.readFile)(zn);const ts=await this.createCosmiconfigResult(zn,Ci);return ts}async loadFileContent(Me,Bn){if(Bn===null){return null}if(Bn.trim()===""){return void 0}const Hn=this.getLoaderEntryForFile(Me);const zn=await Hn(Me,Bn);return zn}async createCosmiconfigResult(Me,Bn){const Hn=await this.loadFileContent(Me,Bn);const zn=this.loadedContentToCosmiconfigResult(Me,Hn);return zn}async load(Me){this.validateFilePath(Me);const Hn=Bn.default.resolve(process.cwd(),Me);const runLoad=async()=>{const Me=await(0,ni.readFile)(Hn,{throwNotFound:true});const Bn=await this.createCosmiconfigResult(Hn,Me);const zn=await this.config.transform(Bn);return zn};if(this.loadCache){return(0,Ci.cacheWrapper)(this.loadCache,Hn,runLoad)}return runLoad()}};Me.Explorer=Ps}});var sA=__commonJS({"node_modules/cosmiconfig/dist/ExplorerSync.js"(Me){"use strict";Object.defineProperty(Me,"__esModule",{value:true});Me.ExplorerSync=void 0;var Bn=_interopRequireDefault(Hn(16928));var zn=Sd();var ni=xd();var Ci=Td();var ts=Qh();function _interopRequireDefault(Me){return Me&&Me.__esModule?Me:{default:Me}}var Ps=class extends zn.ExplorerBase{constructor(Me){super(Me)}searchSync(Me=process.cwd()){const Bn=(0,ts.getDirectorySync)(Me);const Hn=this.searchFromDirectorySync(Bn);return Hn}searchFromDirectorySync(Me){const Hn=Bn.default.resolve(process.cwd(),Me);const run=()=>{const Me=this.searchDirectorySync(Hn);const Bn=this.nextDirectoryToSearch(Hn,Me);if(Bn){return this.searchFromDirectorySync(Bn)}const zn=this.config.transform(Me);return zn};if(this.searchCache){return(0,Ci.cacheWrapperSync)(this.searchCache,Hn,run)}return run()}searchDirectorySync(Me){for(const Bn of this.config.searchPlaces){const Hn=this.loadSearchPlaceSync(Me,Bn);if(this.shouldSearchStopWithResult(Hn)===true){return Hn}}return null}loadSearchPlaceSync(Me,Hn){const zn=Bn.default.join(Me,Hn);const Ci=(0,ni.readFileSync)(zn);const ts=this.createCosmiconfigResultSync(zn,Ci);return ts}loadFileContentSync(Me,Bn){if(Bn===null){return null}if(Bn.trim()===""){return void 0}const Hn=this.getLoaderEntryForFile(Me);const zn=Hn(Me,Bn);return zn}createCosmiconfigResultSync(Me,Bn){const Hn=this.loadFileContentSync(Me,Bn);const zn=this.loadedContentToCosmiconfigResult(Me,Hn);return zn}loadSync(Me){this.validateFilePath(Me);const Hn=Bn.default.resolve(process.cwd(),Me);const runLoadSync=()=>{const Me=(0,ni.readFileSync)(Hn,{throwNotFound:true});const Bn=this.createCosmiconfigResultSync(Hn,Me);const zn=this.config.transform(Bn);return zn};if(this.loadCache){return(0,Ci.cacheWrapperSync)(this.loadCache,Hn,runLoadSync)}return runLoadSync()}};Me.ExplorerSync=Ps}});var oA=__commonJS({"node_modules/cosmiconfig/dist/types.js"(Me){"use strict";Object.defineProperty(Me,"__esModule",{value:true})}});var hA=__commonJS({"node_modules/cosmiconfig/dist/index.js"(Me){"use strict";Object.defineProperty(Me,"__esModule",{value:true});Me.cosmiconfig=cosmiconfig;Me.cosmiconfigSync=cosmiconfigSync;Me.defaultLoaders=void 0;var Bn=_interopRequireDefault(Hn(70857));var zn=Zh();var ni=sA();var Ci=Cd();var ts=oA();function _interopRequireDefault(Me){return Me&&Me.__esModule?Me:{default:Me}}function cosmiconfig(Me,Bn={}){const Hn=normalizeOptions(Me,Bn);const ni=new zn.Explorer(Hn);return{search:ni.search.bind(ni),load:ni.load.bind(ni),clearLoadCache:ni.clearLoadCache.bind(ni),clearSearchCache:ni.clearSearchCache.bind(ni),clearCaches:ni.clearCaches.bind(ni)}}function cosmiconfigSync(Me,Bn={}){const Hn=normalizeOptions(Me,Bn);const zn=new ni.ExplorerSync(Hn);return{search:zn.searchSync.bind(zn),load:zn.loadSync.bind(zn),clearLoadCache:zn.clearLoadCache.bind(zn),clearSearchCache:zn.clearSearchCache.bind(zn),clearCaches:zn.clearCaches.bind(zn)}}var Ps=Object.freeze({".cjs":Ci.loaders.loadJs,".js":Ci.loaders.loadJs,".json":Ci.loaders.loadJson,".yaml":Ci.loaders.loadYaml,".yml":Ci.loaders.loadYaml,noExt:Ci.loaders.loadYaml});Me.defaultLoaders=Ps;var aa=function identity2(Me){return Me};function normalizeOptions(Me,Hn){const zn={packageProp:Me,searchPlaces:["package.json",`.${Me}rc`,`.${Me}rc.json`,`.${Me}rc.yaml`,`.${Me}rc.yml`,`.${Me}rc.js`,`.${Me}rc.cjs`,`${Me}.config.js`,`${Me}.config.cjs`],ignoreEmptySearchPlaces:true,stopDir:Bn.default.homedir(),cache:true,transform:aa,loaders:Ps};const ni=Object.assign(Object.assign(Object.assign({},zn),Hn),{},{loaders:Object.assign(Object.assign({},zn.loaders),Hn.loaders)});return ni}}});var eg=__commonJS({"node_modules/find-parent-dir/index.js"(Me,Bn){"use strict";var zn=Hn(16928);var ni=Hn(79896);var Ci=ni.exists||zn.exists;var ts=ni.existsSync||zn.existsSync;function splitPath(Me){var Bn=Me.split(/(\/|\\)/);if(!Bn.length)return Bn;return!Bn[0].length?Bn.slice(1):Bn}Me=Bn.exports=function(Me,Bn,Hn){function testDir(Me){if(Me.length===0)return Hn(null,null);var ni=Me.join("");Ci(zn.join(ni,Bn),(function(Bn){if(Bn)return Hn(null,ni);testDir(Me.slice(0,-1))}))}testDir(splitPath(Me))};Me.sync=function(Me,Bn){function testDir(Me){if(Me.length===0)return null;var Hn=Me.join("");var ni=ts(zn.join(Hn,Bn));return ni?Hn:testDir(Me.slice(0,-1))}return testDir(splitPath(Me))}}});var tg=__commonJS({"node_modules/get-stdin/index.js"(Me,Bn){"use strict";var{stdin:Hn}=process;Bn.exports=async()=>{let Me="";if(Hn.isTTY){return Me}Hn.setEncoding("utf8");for await(const Bn of Hn){Me+=Bn}return Me};Bn.exports.buffer=async()=>{const Me=[];let Bn=0;if(Hn.isTTY){return Buffer.concat([])}for await(const zn of Hn){Me.push(zn);Bn+=zn.length}return Buffer.concat(Me,Bn)}}});var rg=__commonJS({"node_modules/ci-info/vendors.json"(Me,Bn){Bn.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"Expo Application Services",constant:"EAS",env:"EAS_BUILD"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]}});var ng=__commonJS({"node_modules/ci-info/index.js"(Me){"use strict";var Bn=rg();var Hn=process.env;Object.defineProperty(Me,"_vendors",{value:Bn.map((function(Me){return Me.constant}))});Me.name=null;Me.isPR=null;Bn.forEach((function(Bn){const zn=Array.isArray(Bn.env)?Bn.env:[Bn.env];const ni=zn.every((function(Me){return checkEnv(Me)}));Me[Bn.constant]=ni;if(ni){Me.name=Bn.name;switch(typeof Bn.pr){case"string":Me.isPR=!!Hn[Bn.pr];break;case"object":if("env"in Bn.pr){Me.isPR=Bn.pr.env in Hn&&Hn[Bn.pr.env]!==Bn.pr.ne}else if("any"in Bn.pr){Me.isPR=Bn.pr.any.some((function(Me){return!!Hn[Me]}))}else{Me.isPR=checkEnv(Bn.pr)}break;default:Me.isPR=null}}}));Me.isCI=!!(Hn.CI||Hn.CONTINUOUS_INTEGRATION||Hn.BUILD_NUMBER||Hn.RUN_ID||Me.name||false);function checkEnv(Me){if(typeof Me==="string")return!!Hn[Me];return Object.keys(Me).every((function(Bn){return Hn[Bn]===Me[Bn]}))}}});Me.exports={cosmiconfig:hA().cosmiconfig,cosmiconfigSync:hA().cosmiconfigSync,findParentDir:eg().sync,getStdin:tg(),isCI:()=>ng().isCI}},77864:Me=>{"use strict";var Bn=Object.defineProperty;var Hn=Object.getOwnPropertyDescriptor;var zn=Object.getOwnPropertyNames;var ni=Object.prototype.hasOwnProperty;var __export=(Me,Hn)=>{for(var zn in Hn)Bn(Me,zn,{get:Hn[zn],enumerable:true})};var __copyProps=(Me,Ci,ts,Ps)=>{if(Ci&&typeof Ci==="object"||typeof Ci==="function"){for(let aa of zn(Ci))if(!ni.call(Me,aa)&&aa!==ts)Bn(Me,aa,{get:()=>Ci[aa],enumerable:!(Ps=Hn(Ci,aa))||Ps.enumerable})}return Me};var __toCommonJS=Me=>__copyProps(Bn({},"__esModule",{value:true}),Me);var Ci={};__export(Ci,{createTokenAuth:()=>oa});Me.exports=__toCommonJS(Ci);var ts=/^v1\./;var Ps=/^ghs_/;var aa=/^ghu_/;async function auth(Me){const Bn=Me.split(/\./).length===3;const Hn=ts.test(Me)||Ps.test(Me);const zn=aa.test(Me);const ni=Bn?"app":Hn?"installation":zn?"user-to-server":"oauth";return{type:"token",token:Me,tokenType:ni}}function withAuthorizationPrefix(Me){if(Me.split(/\./).length===3){return`bearer ${Me}`}return`token ${Me}`}async function hook(Me,Bn,Hn,zn){const ni=Bn.endpoint.merge(Hn,zn);ni.headers.authorization=withAuthorizationPrefix(Me);return Bn(ni)}var oa=function createTokenAuth2(Me){if(!Me){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof Me!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}Me=Me.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,Me),{hook:hook.bind(null,Me)})};0&&0},61897:(Me,Bn,Hn)=>{"use strict";var zn=Object.defineProperty;var ni=Object.getOwnPropertyDescriptor;var Ci=Object.getOwnPropertyNames;var ts=Object.prototype.hasOwnProperty;var __export=(Me,Bn)=>{for(var Hn in Bn)zn(Me,Hn,{get:Bn[Hn],enumerable:true})};var __copyProps=(Me,Bn,Hn,Ps)=>{if(Bn&&typeof Bn==="object"||typeof Bn==="function"){for(let aa of Ci(Bn))if(!ts.call(Me,aa)&&aa!==Hn)zn(Me,aa,{get:()=>Bn[aa],enumerable:!(Ps=ni(Bn,aa))||Ps.enumerable})}return Me};var __toCommonJS=Me=>__copyProps(zn({},"__esModule",{value:true}),Me);var Ps={};__export(Ps,{Octokit:()=>Jo});Me.exports=__toCommonJS(Ps);var aa=Hn(33843);var oa=Hn(52732);var ca=Hn(66255);var _a=Hn(70007);var xa=Hn(77864);var Ga="5.2.1";var noop=()=>{};var Ha=console.warn.bind(console);var so=console.error.bind(console);var oo=`octokit-core.js/${Ga} ${(0,aa.getUserAgent)()}`;var Jo=class{static{this.VERSION=Ga}static defaults(Me){const Bn=class extends(this){constructor(...Bn){const Hn=Bn[0]||{};if(typeof Me==="function"){super(Me(Hn));return}super(Object.assign({},Me,Hn,Hn.userAgent&&Me.userAgent?{userAgent:`${Hn.userAgent} ${Me.userAgent}`}:null))}};return Bn}static{this.plugins=[]}static plugin(...Me){const Bn=this.plugins;const Hn=class extends(this){static{this.plugins=Bn.concat(Me.filter((Me=>!Bn.includes(Me))))}};return Hn}constructor(Me={}){const Bn=new oa.Collection;const Hn={baseUrl:ca.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},Me.request,{hook:Bn.bind(null,"request")}),mediaType:{previews:[],format:""}};Hn.headers["user-agent"]=Me.userAgent?`${Me.userAgent} ${oo}`:oo;if(Me.baseUrl){Hn.baseUrl=Me.baseUrl}if(Me.previews){Hn.mediaType.previews=Me.previews}if(Me.timeZone){Hn.headers["time-zone"]=Me.timeZone}this.request=ca.request.defaults(Hn);this.graphql=(0,_a.withCustomRequest)(this.request).defaults(Hn);this.log=Object.assign({debug:noop,info:noop,warn:Ha,error:so},Me.log);this.hook=Bn;if(!Me.authStrategy){if(!Me.auth){this.auth=async()=>({type:"unauthenticated"})}else{const Hn=(0,xa.createTokenAuth)(Me.auth);Bn.wrap("request",Hn.hook);this.auth=Hn}}else{const{authStrategy:Hn,...zn}=Me;const ni=Hn(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:zn},Me.auth));Bn.wrap("request",ni.hook);this.auth=ni}const zn=this.constructor;for(let Bn=0;Bn{"use strict";var zn=Object.defineProperty;var ni=Object.getOwnPropertyDescriptor;var Ci=Object.getOwnPropertyNames;var ts=Object.prototype.hasOwnProperty;var __export=(Me,Bn)=>{for(var Hn in Bn)zn(Me,Hn,{get:Bn[Hn],enumerable:true})};var __copyProps=(Me,Bn,Hn,Ps)=>{if(Bn&&typeof Bn==="object"||typeof Bn==="function"){for(let aa of Ci(Bn))if(!ts.call(Me,aa)&&aa!==Hn)zn(Me,aa,{get:()=>Bn[aa],enumerable:!(Ps=ni(Bn,aa))||Ps.enumerable})}return Me};var __toCommonJS=Me=>__copyProps(zn({},"__esModule",{value:true}),Me);var Ps={};__export(Ps,{endpoint:()=>Ga});Me.exports=__toCommonJS(Ps);var aa=Hn(33843);var oa="9.0.6";var ca=`octokit-endpoint.js/${oa} ${(0,aa.getUserAgent)()}`;var _a={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":ca},mediaType:{format:""}};function lowercaseKeys(Me){if(!Me){return{}}return Object.keys(Me).reduce(((Bn,Hn)=>{Bn[Hn.toLowerCase()]=Me[Hn];return Bn}),{})}function isPlainObject(Me){if(typeof Me!=="object"||Me===null)return false;if(Object.prototype.toString.call(Me)!=="[object Object]")return false;const Bn=Object.getPrototypeOf(Me);if(Bn===null)return true;const Hn=Object.prototype.hasOwnProperty.call(Bn,"constructor")&&Bn.constructor;return typeof Hn==="function"&&Hn instanceof Hn&&Function.prototype.call(Hn)===Function.prototype.call(Me)}function mergeDeep(Me,Bn){const Hn=Object.assign({},Me);Object.keys(Bn).forEach((zn=>{if(isPlainObject(Bn[zn])){if(!(zn in Me))Object.assign(Hn,{[zn]:Bn[zn]});else Hn[zn]=mergeDeep(Me[zn],Bn[zn])}else{Object.assign(Hn,{[zn]:Bn[zn]})}}));return Hn}function removeUndefinedProperties(Me){for(const Bn in Me){if(Me[Bn]===void 0){delete Me[Bn]}}return Me}function merge(Me,Bn,Hn){if(typeof Bn==="string"){let[Me,zn]=Bn.split(" ");Hn=Object.assign(zn?{method:Me,url:zn}:{url:Me},Hn)}else{Hn=Object.assign({},Bn)}Hn.headers=lowercaseKeys(Hn.headers);removeUndefinedProperties(Hn);removeUndefinedProperties(Hn.headers);const zn=mergeDeep(Me||{},Hn);if(Hn.url==="/graphql"){if(Me&&Me.mediaType.previews?.length){zn.mediaType.previews=Me.mediaType.previews.filter((Me=>!zn.mediaType.previews.includes(Me))).concat(zn.mediaType.previews)}zn.mediaType.previews=(zn.mediaType.previews||[]).map((Me=>Me.replace(/-preview/,"")))}return zn}function addQueryParameters(Me,Bn){const Hn=/\?/.test(Me)?"&":"?";const zn=Object.keys(Bn);if(zn.length===0){return Me}return Me+Hn+zn.map((Me=>{if(Me==="q"){return"q="+Bn.q.split("+").map(encodeURIComponent).join("+")}return`${Me}=${encodeURIComponent(Bn[Me])}`})).join("&")}var xa=/\{[^{}}]+\}/g;function removeNonChars(Me){return Me.replace(/(?:^\W+)|(?:(?Me.concat(Bn)),[])}function omit(Me,Bn){const Hn={__proto__:null};for(const zn of Object.keys(Me)){if(Bn.indexOf(zn)===-1){Hn[zn]=Me[zn]}}return Hn}function encodeReserved(Me){return Me.split(/(%[0-9A-Fa-f]{2})/g).map((function(Me){if(!/%[0-9A-Fa-f]/.test(Me)){Me=encodeURI(Me).replace(/%5B/g,"[").replace(/%5D/g,"]")}return Me})).join("")}function encodeUnreserved(Me){return encodeURIComponent(Me).replace(/[!'()*]/g,(function(Me){return"%"+Me.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(Me,Bn,Hn){Bn=Me==="+"||Me==="#"?encodeReserved(Bn):encodeUnreserved(Bn);if(Hn){return encodeUnreserved(Hn)+"="+Bn}else{return Bn}}function isDefined(Me){return Me!==void 0&&Me!==null}function isKeyOperator(Me){return Me===";"||Me==="&"||Me==="?"}function getValues(Me,Bn,Hn,zn){var ni=Me[Hn],Ci=[];if(isDefined(ni)&&ni!==""){if(typeof ni==="string"||typeof ni==="number"||typeof ni==="boolean"){ni=ni.toString();if(zn&&zn!=="*"){ni=ni.substring(0,parseInt(zn,10))}Ci.push(encodeValue(Bn,ni,isKeyOperator(Bn)?Hn:""))}else{if(zn==="*"){if(Array.isArray(ni)){ni.filter(isDefined).forEach((function(Me){Ci.push(encodeValue(Bn,Me,isKeyOperator(Bn)?Hn:""))}))}else{Object.keys(ni).forEach((function(Me){if(isDefined(ni[Me])){Ci.push(encodeValue(Bn,ni[Me],Me))}}))}}else{const Me=[];if(Array.isArray(ni)){ni.filter(isDefined).forEach((function(Hn){Me.push(encodeValue(Bn,Hn))}))}else{Object.keys(ni).forEach((function(Hn){if(isDefined(ni[Hn])){Me.push(encodeUnreserved(Hn));Me.push(encodeValue(Bn,ni[Hn].toString()))}}))}if(isKeyOperator(Bn)){Ci.push(encodeUnreserved(Hn)+"="+Me.join(","))}else if(Me.length!==0){Ci.push(Me.join(","))}}}}else{if(Bn===";"){if(isDefined(ni)){Ci.push(encodeUnreserved(Hn))}}else if(ni===""&&(Bn==="&"||Bn==="?")){Ci.push(encodeUnreserved(Hn)+"=")}else if(ni===""){Ci.push("")}}return Ci}function parseUrl(Me){return{expand:expand.bind(null,Me)}}function expand(Me,Bn){var Hn=["+","#",".","/",";","?","&"];Me=Me.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(Me,zn,ni){if(zn){let Me="";const ni=[];if(Hn.indexOf(zn.charAt(0))!==-1){Me=zn.charAt(0);zn=zn.substr(1)}zn.split(/,/g).forEach((function(Hn){var zn=/([^:\*]*)(?::(\d+)|(\*))?/.exec(Hn);ni.push(getValues(Bn,Me,zn[1],zn[2]||zn[3]))}));if(Me&&Me!=="+"){var Ci=",";if(Me==="?"){Ci="&"}else if(Me!=="#"){Ci=Me}return(ni.length!==0?Me:"")+ni.join(Ci)}else{return ni.join(",")}}else{return encodeReserved(ni)}}));if(Me==="/"){return Me}else{return Me.replace(/\/$/,"")}}function parse(Me){let Bn=Me.method.toUpperCase();let Hn=(Me.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let zn=Object.assign({},Me.headers);let ni;let Ci=omit(Me,["method","baseUrl","url","headers","request","mediaType"]);const ts=extractUrlVariableNames(Hn);Hn=parseUrl(Hn).expand(Ci);if(!/^http/.test(Hn)){Hn=Me.baseUrl+Hn}const Ps=Object.keys(Me).filter((Me=>ts.includes(Me))).concat("baseUrl");const aa=omit(Ci,Ps);const oa=/application\/octet-stream/i.test(zn.accept);if(!oa){if(Me.mediaType.format){zn.accept=zn.accept.split(/,/).map((Bn=>Bn.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${Me.mediaType.format}`))).join(",")}if(Hn.endsWith("/graphql")){if(Me.mediaType.previews?.length){const Bn=zn.accept.match(/(?{const Hn=Me.mediaType.format?`.${Me.mediaType.format}`:"+json";return`application/vnd.github.${Bn}-preview${Hn}`})).join(",")}}}if(["GET","HEAD"].includes(Bn)){Hn=addQueryParameters(Hn,aa)}else{if("data"in aa){ni=aa.data}else{if(Object.keys(aa).length){ni=aa}}}if(!zn["content-type"]&&typeof ni!=="undefined"){zn["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(Bn)&&typeof ni==="undefined"){ni=""}return Object.assign({method:Bn,url:Hn,headers:zn},typeof ni!=="undefined"?{body:ni}:null,Me.request?{request:Me.request}:null)}function endpointWithDefaults(Me,Bn,Hn){return parse(merge(Me,Bn,Hn))}function withDefaults(Me,Bn){const Hn=merge(Me,Bn);const zn=endpointWithDefaults.bind(null,Hn);return Object.assign(zn,{DEFAULTS:Hn,defaults:withDefaults.bind(null,Hn),merge:merge.bind(null,Hn),parse:parse})}var Ga=withDefaults(null,_a);0&&0},70007:(Me,Bn,Hn)=>{"use strict";var zn=Object.defineProperty;var ni=Object.getOwnPropertyDescriptor;var Ci=Object.getOwnPropertyNames;var ts=Object.prototype.hasOwnProperty;var __export=(Me,Bn)=>{for(var Hn in Bn)zn(Me,Hn,{get:Bn[Hn],enumerable:true})};var __copyProps=(Me,Bn,Hn,Ps)=>{if(Bn&&typeof Bn==="object"||typeof Bn==="function"){for(let aa of Ci(Bn))if(!ts.call(Me,aa)&&aa!==Hn)zn(Me,aa,{get:()=>Bn[aa],enumerable:!(Ps=ni(Bn,aa))||Ps.enumerable})}return Me};var __toCommonJS=Me=>__copyProps(zn({},"__esModule",{value:true}),Me);var Ps={};__export(Ps,{GraphqlResponseError:()=>Ga,graphql:()=>Jo,withCustomRequest:()=>withCustomRequest});Me.exports=__toCommonJS(Ps);var aa=Hn(66255);var oa=Hn(33843);var ca="7.1.1";var _a=Hn(66255);var xa=Hn(66255);function _buildMessageForResponseErrors(Me){return`Request failed due to following response errors:\n`+Me.errors.map((Me=>` - ${Me.message}`)).join("\n")}var Ga=class extends Error{constructor(Me,Bn,Hn){super(_buildMessageForResponseErrors(Hn));this.request=Me;this.headers=Bn;this.response=Hn;this.name="GraphqlResponseError";this.errors=Hn.errors;this.data=Hn.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}};var Ha=["method","baseUrl","url","headers","request","query","mediaType"];var so=["query","method","url"];var oo=/\/api\/v3\/?$/;function graphql(Me,Bn,Hn){if(Hn){if(typeof Bn==="string"&&"query"in Hn){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const Me in Hn){if(!so.includes(Me))continue;return Promise.reject(new Error(`[@octokit/graphql] "${Me}" cannot be used as variable name`))}}const zn=typeof Bn==="string"?Object.assign({query:Bn},Hn):Bn;const ni=Object.keys(zn).reduce(((Me,Bn)=>{if(Ha.includes(Bn)){Me[Bn]=zn[Bn];return Me}if(!Me.variables){Me.variables={}}Me.variables[Bn]=zn[Bn];return Me}),{});const Ci=zn.baseUrl||Me.endpoint.DEFAULTS.baseUrl;if(oo.test(Ci)){ni.url=Ci.replace(oo,"/api/graphql")}return Me(ni).then((Me=>{if(Me.data.errors){const Bn={};for(const Hn of Object.keys(Me.headers)){Bn[Hn]=Me.headers[Hn]}throw new Ga(ni,Bn,Me.data)}return Me.data.data}))}function withDefaults(Me,Bn){const Hn=Me.defaults(Bn);const newApi=(Me,Bn)=>graphql(Hn,Me,Bn);return Object.assign(newApi,{defaults:withDefaults.bind(null,Hn),endpoint:Hn.endpoint})}var Jo=withDefaults(aa.request,{headers:{"user-agent":`octokit-graphql.js/${ca} ${(0,oa.getUserAgent)()}`},method:"POST",url:"/graphql"});function withCustomRequest(Me){return withDefaults(Me,{method:"POST",url:"/graphql"})}0&&0},38082:Me=>{"use strict";var Bn=Object.defineProperty;var Hn=Object.getOwnPropertyDescriptor;var zn=Object.getOwnPropertyNames;var ni=Object.prototype.hasOwnProperty;var __export=(Me,Hn)=>{for(var zn in Hn)Bn(Me,zn,{get:Hn[zn],enumerable:true})};var __copyProps=(Me,Ci,ts,Ps)=>{if(Ci&&typeof Ci==="object"||typeof Ci==="function"){for(let aa of zn(Ci))if(!ni.call(Me,aa)&&aa!==ts)Bn(Me,aa,{get:()=>Ci[aa],enumerable:!(Ps=Hn(Ci,aa))||Ps.enumerable})}return Me};var __toCommonJS=Me=>__copyProps(Bn({},"__esModule",{value:true}),Me);var Ci={};__export(Ci,{composePaginateRest:()=>Ps,isPaginatingEndpoint:()=>isPaginatingEndpoint,paginateRest:()=>paginateRest,paginatingEndpoints:()=>aa});Me.exports=__toCommonJS(Ci);var ts="11.4.4-cjs.2";function normalizePaginatedListResponse(Me){if(!Me.data){return{...Me,data:[]}}const Bn="total_count"in Me.data&&!("url"in Me.data);if(!Bn)return Me;const Hn=Me.data.incomplete_results;const zn=Me.data.repository_selection;const ni=Me.data.total_count;delete Me.data.incomplete_results;delete Me.data.repository_selection;delete Me.data.total_count;const Ci=Object.keys(Me.data)[0];const ts=Me.data[Ci];Me.data=ts;if(typeof Hn!=="undefined"){Me.data.incomplete_results=Hn}if(typeof zn!=="undefined"){Me.data.repository_selection=zn}Me.data.total_count=ni;return Me}function iterator(Me,Bn,Hn){const zn=typeof Bn==="function"?Bn.endpoint(Hn):Me.request.endpoint(Bn,Hn);const ni=typeof Bn==="function"?Bn:Me.request;const Ci=zn.method;const ts=zn.headers;let Ps=zn.url;return{[Symbol.asyncIterator]:()=>({async next(){if(!Ps)return{done:true};try{const Me=await ni({method:Ci,url:Ps,headers:ts});const Bn=normalizePaginatedListResponse(Me);Ps=((Bn.headers.link||"").match(/<([^<>]+)>;\s*rel="next"/)||[])[1];return{value:Bn}}catch(Me){if(Me.status!==409)throw Me;Ps="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(Me,Bn,Hn,zn){if(typeof Hn==="function"){zn=Hn;Hn=void 0}return gather(Me,[],iterator(Me,Bn,Hn)[Symbol.asyncIterator](),zn)}function gather(Me,Bn,Hn,zn){return Hn.next().then((ni=>{if(ni.done){return Bn}let Ci=false;function done(){Ci=true}Bn=Bn.concat(zn?zn(ni.value,done):ni.value.data);if(Ci){return Bn}return gather(Me,Bn,Hn,zn)}))}var Ps=Object.assign(paginate,{iterator:iterator});var aa=["GET /advisories","GET /app/hook/deliveries","GET /app/installation-requests","GET /app/installations","GET /assignments/{assignment_id}/accepted_assignments","GET /classrooms","GET /classrooms/{classroom_id}/assignments","GET /enterprises/{enterprise}/code-security/configurations","GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories","GET /enterprises/{enterprise}/dependabot/alerts","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/actions/variables","GET /orgs/{org}/actions/variables/{name}/repositories","GET /orgs/{org}/attestations/{subject_digest}","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/code-security/configurations","GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories","GET /orgs/{org}/codespaces","GET /orgs/{org}/codespaces/secrets","GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories","GET /orgs/{org}/copilot/billing/seats","GET /orgs/{org}/copilot/metrics","GET /orgs/{org}/copilot/usage","GET /orgs/{org}/dependabot/alerts","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/insights/api/route-stats/{actor_type}/{actor_id}","GET /orgs/{org}/insights/api/subject-stats","GET /orgs/{org}/insights/api/user-stats/{user_id}","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/members/{username}/codespaces","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/organization-roles/{role_id}/teams","GET /orgs/{org}/organization-roles/{role_id}/users","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/personal-access-token-requests","GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories","GET /orgs/{org}/personal-access-tokens","GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories","GET /orgs/{org}/private-registries","GET /orgs/{org}/projects","GET /orgs/{org}/properties/values","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/rulesets","GET /orgs/{org}/rulesets/rule-suites","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/security-advisories","GET /orgs/{org}/team/{team_slug}/copilot/metrics","GET /orgs/{org}/team/{team_slug}/copilot/usage","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/organization-secrets","GET /repos/{owner}/{repo}/actions/organization-variables","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/variables","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/activity","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/attestations/{subject_digest}","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/alerts","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies","GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps","GET /repos/{owner}/{repo}/environments/{environment_name}/secrets","GET /repos/{owner}/{repo}/environments/{environment_name}/variables","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/rules/branches/{branch}","GET /repos/{owner}/{repo}/rulesets","GET /repos/{owner}/{repo}/rulesets/rule-suites","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/security-advisories","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/social_accounts","GET /user/ssh_signing_keys","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/attestations/{subject_digest}","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/social_accounts","GET /users/{username}/ssh_signing_keys","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(Me){if(typeof Me==="string"){return aa.includes(Me)}else{return false}}function paginateRest(Me){return{paginate:Object.assign(paginate.bind(null,Me),{iterator:iterator.bind(null,Me)})}}paginateRest.VERSION=ts;0&&0},6966:Me=>{"use strict";var Bn=Object.defineProperty;var Hn=Object.getOwnPropertyDescriptor;var zn=Object.getOwnPropertyNames;var ni=Object.prototype.hasOwnProperty;var __export=(Me,Hn)=>{for(var zn in Hn)Bn(Me,zn,{get:Hn[zn],enumerable:true})};var __copyProps=(Me,Ci,ts,Ps)=>{if(Ci&&typeof Ci==="object"||typeof Ci==="function"){for(let aa of zn(Ci))if(!ni.call(Me,aa)&&aa!==ts)Bn(Me,aa,{get:()=>Ci[aa],enumerable:!(Ps=Hn(Ci,aa))||Ps.enumerable})}return Me};var __toCommonJS=Me=>__copyProps(Bn({},"__esModule",{value:true}),Me);var Ci={};__export(Ci,{requestLog:()=>requestLog});Me.exports=__toCommonJS(Ci);var ts="4.0.1";function requestLog(Me){Me.hook.wrap("request",((Bn,Hn)=>{Me.log.debug("request",Hn);const zn=Date.now();const ni=Me.request.endpoint.parse(Hn);const Ci=ni.url.replace(Hn.baseUrl,"");return Bn(Hn).then((Bn=>{Me.log.info(`${ni.method} ${Ci} - ${Bn.status} in ${Date.now()-zn}ms`);return Bn})).catch((Bn=>{Me.log.info(`${ni.method} ${Ci} - ${Bn.status} in ${Date.now()-zn}ms`);throw Bn}))}))}requestLog.VERSION=ts;0&&0},84935:Me=>{"use strict";var Bn=Object.defineProperty;var Hn=Object.getOwnPropertyDescriptor;var zn=Object.getOwnPropertyNames;var ni=Object.prototype.hasOwnProperty;var __export=(Me,Hn)=>{for(var zn in Hn)Bn(Me,zn,{get:Hn[zn],enumerable:true})};var __copyProps=(Me,Ci,ts,Ps)=>{if(Ci&&typeof Ci==="object"||typeof Ci==="function"){for(let aa of zn(Ci))if(!ni.call(Me,aa)&&aa!==ts)Bn(Me,aa,{get:()=>Ci[aa],enumerable:!(Ps=Hn(Ci,aa))||Ps.enumerable})}return Me};var __toCommonJS=Me=>__copyProps(Bn({},"__esModule",{value:true}),Me);var Ci={};__export(Ci,{legacyRestEndpointMethods:()=>legacyRestEndpointMethods,restEndpointMethods:()=>restEndpointMethods});Me.exports=__toCommonJS(Ci);var ts="13.3.2-cjs.1";var Ps={actions:{addCustomLabelsToSelfHostedRunnerForOrg:["POST /orgs/{org}/actions/runners/{runner_id}/labels"],addCustomLabelsToSelfHostedRunnerForRepo:["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],addRepoAccessToSelfHostedRunnerGroupInOrg:["PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],approveWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"],cancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"],createEnvironmentVariable:["POST /repos/{owner}/{repo}/environments/{environment_name}/variables"],createOrUpdateEnvironmentSecret:["PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"],createOrgVariable:["POST /orgs/{org}/actions/variables"],createRegistrationTokenForOrg:["POST /orgs/{org}/actions/runners/registration-token"],createRegistrationTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/registration-token"],createRemoveTokenForOrg:["POST /orgs/{org}/actions/runners/remove-token"],createRemoveTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/remove-token"],createRepoVariable:["POST /repos/{owner}/{repo}/actions/variables"],createWorkflowDispatch:["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"],deleteActionsCacheById:["DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"],deleteActionsCacheByKey:["DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"],deleteArtifact:["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],deleteEnvironmentSecret:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],deleteEnvironmentVariable:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"],deleteOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}"],deleteOrgVariable:["DELETE /orgs/{org}/actions/variables/{name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"],deleteRepoVariable:["DELETE /repos/{owner}/{repo}/actions/variables/{name}"],deleteSelfHostedRunnerFromOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}"],deleteSelfHostedRunnerFromRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"],deleteWorkflowRun:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"],deleteWorkflowRunLogs:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],disableSelectedRepositoryGithubActionsOrganization:["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"],disableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"],downloadArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"],downloadJobLogsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"],downloadWorkflowRunAttemptLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"],downloadWorkflowRunLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],enableSelectedRepositoryGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"],enableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"],forceCancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel"],generateRunnerJitconfigForOrg:["POST /orgs/{org}/actions/runners/generate-jitconfig"],generateRunnerJitconfigForRepo:["POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig"],getActionsCacheList:["GET /repos/{owner}/{repo}/actions/caches"],getActionsCacheUsage:["GET /repos/{owner}/{repo}/actions/cache/usage"],getActionsCacheUsageByRepoForOrg:["GET /orgs/{org}/actions/cache/usage-by-repository"],getActionsCacheUsageForOrg:["GET /orgs/{org}/actions/cache/usage"],getAllowedActionsOrganization:["GET /orgs/{org}/actions/permissions/selected-actions"],getAllowedActionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"],getArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],getCustomOidcSubClaimForRepo:["GET /repos/{owner}/{repo}/actions/oidc/customization/sub"],getEnvironmentPublicKey:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key"],getEnvironmentSecret:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],getEnvironmentVariable:["GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"],getGithubActionsDefaultWorkflowPermissionsOrganization:["GET /orgs/{org}/actions/permissions/workflow"],getGithubActionsDefaultWorkflowPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/workflow"],getGithubActionsPermissionsOrganization:["GET /orgs/{org}/actions/permissions"],getGithubActionsPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions"],getJobForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"],getOrgPublicKey:["GET /orgs/{org}/actions/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}"],getOrgVariable:["GET /orgs/{org}/actions/variables/{name}"],getPendingDeploymentsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],getRepoPermissions:["GET /repos/{owner}/{repo}/actions/permissions",{},{renamed:["actions","getGithubActionsPermissionsRepository"]}],getRepoPublicKey:["GET /repos/{owner}/{repo}/actions/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"],getRepoVariable:["GET /repos/{owner}/{repo}/actions/variables/{name}"],getReviewsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"],getSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}"],getSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"],getWorkflow:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"],getWorkflowAccessToRepository:["GET /repos/{owner}/{repo}/actions/permissions/access"],getWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}"],getWorkflowRunAttempt:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"],getWorkflowRunUsage:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"],getWorkflowUsage:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"],listArtifactsForRepo:["GET /repos/{owner}/{repo}/actions/artifacts"],listEnvironmentSecrets:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets"],listEnvironmentVariables:["GET /repos/{owner}/{repo}/environments/{environment_name}/variables"],listJobsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"],listJobsForWorkflowRunAttempt:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"],listLabelsForSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}/labels"],listLabelsForSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],listOrgSecrets:["GET /orgs/{org}/actions/secrets"],listOrgVariables:["GET /orgs/{org}/actions/variables"],listRepoOrganizationSecrets:["GET /repos/{owner}/{repo}/actions/organization-secrets"],listRepoOrganizationVariables:["GET /repos/{owner}/{repo}/actions/organization-variables"],listRepoSecrets:["GET /repos/{owner}/{repo}/actions/secrets"],listRepoVariables:["GET /repos/{owner}/{repo}/actions/variables"],listRepoWorkflows:["GET /repos/{owner}/{repo}/actions/workflows"],listRunnerApplicationsForOrg:["GET /orgs/{org}/actions/runners/downloads"],listRunnerApplicationsForRepo:["GET /repos/{owner}/{repo}/actions/runners/downloads"],listSelectedReposForOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"],listSelectedReposForOrgVariable:["GET /orgs/{org}/actions/variables/{name}/repositories"],listSelectedRepositoriesEnabledGithubActionsOrganization:["GET /orgs/{org}/actions/permissions/repositories"],listSelfHostedRunnersForOrg:["GET /orgs/{org}/actions/runners"],listSelfHostedRunnersForRepo:["GET /repos/{owner}/{repo}/actions/runners"],listWorkflowRunArtifacts:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"],listWorkflowRuns:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"],listWorkflowRunsForRepo:["GET /repos/{owner}/{repo}/actions/runs"],reRunJobForWorkflowRun:["POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"],reRunWorkflow:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"],reRunWorkflowFailedJobs:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"],removeAllCustomLabelsFromSelfHostedRunnerForOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}/labels"],removeAllCustomLabelsFromSelfHostedRunnerForRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],removeCustomLabelFromSelfHostedRunnerForOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"],removeCustomLabelFromSelfHostedRunnerForRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],removeSelectedRepoFromOrgVariable:["DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],reviewCustomGatesForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule"],reviewPendingDeploymentsForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],setAllowedActionsOrganization:["PUT /orgs/{org}/actions/permissions/selected-actions"],setAllowedActionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"],setCustomLabelsForSelfHostedRunnerForOrg:["PUT /orgs/{org}/actions/runners/{runner_id}/labels"],setCustomLabelsForSelfHostedRunnerForRepo:["PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],setCustomOidcSubClaimForRepo:["PUT /repos/{owner}/{repo}/actions/oidc/customization/sub"],setGithubActionsDefaultWorkflowPermissionsOrganization:["PUT /orgs/{org}/actions/permissions/workflow"],setGithubActionsDefaultWorkflowPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/workflow"],setGithubActionsPermissionsOrganization:["PUT /orgs/{org}/actions/permissions"],setGithubActionsPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"],setSelectedReposForOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories"],setSelectedRepositoriesEnabledGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories"],setWorkflowAccessToRepository:["PUT /repos/{owner}/{repo}/actions/permissions/access"],updateEnvironmentVariable:["PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"],updateOrgVariable:["PATCH /orgs/{org}/actions/variables/{name}"],updateRepoVariable:["PATCH /repos/{owner}/{repo}/actions/variables/{name}"]},activity:{checkRepoIsStarredByAuthenticatedUser:["GET /user/starred/{owner}/{repo}"],deleteRepoSubscription:["DELETE /repos/{owner}/{repo}/subscription"],deleteThreadSubscription:["DELETE /notifications/threads/{thread_id}/subscription"],getFeeds:["GET /feeds"],getRepoSubscription:["GET /repos/{owner}/{repo}/subscription"],getThread:["GET /notifications/threads/{thread_id}"],getThreadSubscriptionForAuthenticatedUser:["GET /notifications/threads/{thread_id}/subscription"],listEventsForAuthenticatedUser:["GET /users/{username}/events"],listNotificationsForAuthenticatedUser:["GET /notifications"],listOrgEventsForAuthenticatedUser:["GET /users/{username}/events/orgs/{org}"],listPublicEvents:["GET /events"],listPublicEventsForRepoNetwork:["GET /networks/{owner}/{repo}/events"],listPublicEventsForUser:["GET /users/{username}/events/public"],listPublicOrgEvents:["GET /orgs/{org}/events"],listReceivedEventsForUser:["GET /users/{username}/received_events"],listReceivedPublicEventsForUser:["GET /users/{username}/received_events/public"],listRepoEvents:["GET /repos/{owner}/{repo}/events"],listRepoNotificationsForAuthenticatedUser:["GET /repos/{owner}/{repo}/notifications"],listReposStarredByAuthenticatedUser:["GET /user/starred"],listReposStarredByUser:["GET /users/{username}/starred"],listReposWatchedByUser:["GET /users/{username}/subscriptions"],listStargazersForRepo:["GET /repos/{owner}/{repo}/stargazers"],listWatchedReposForAuthenticatedUser:["GET /user/subscriptions"],listWatchersForRepo:["GET /repos/{owner}/{repo}/subscribers"],markNotificationsAsRead:["PUT /notifications"],markRepoNotificationsAsRead:["PUT /repos/{owner}/{repo}/notifications"],markThreadAsDone:["DELETE /notifications/threads/{thread_id}"],markThreadAsRead:["PATCH /notifications/threads/{thread_id}"],setRepoSubscription:["PUT /repos/{owner}/{repo}/subscription"],setThreadSubscription:["PUT /notifications/threads/{thread_id}/subscription"],starRepoForAuthenticatedUser:["PUT /user/starred/{owner}/{repo}"],unstarRepoForAuthenticatedUser:["DELETE /user/starred/{owner}/{repo}"]},apps:{addRepoToInstallation:["PUT /user/installations/{installation_id}/repositories/{repository_id}",{},{renamed:["apps","addRepoToInstallationForAuthenticatedUser"]}],addRepoToInstallationForAuthenticatedUser:["PUT /user/installations/{installation_id}/repositories/{repository_id}"],checkToken:["POST /applications/{client_id}/token"],createFromManifest:["POST /app-manifests/{code}/conversions"],createInstallationAccessToken:["POST /app/installations/{installation_id}/access_tokens"],deleteAuthorization:["DELETE /applications/{client_id}/grant"],deleteInstallation:["DELETE /app/installations/{installation_id}"],deleteToken:["DELETE /applications/{client_id}/token"],getAuthenticated:["GET /app"],getBySlug:["GET /apps/{app_slug}"],getInstallation:["GET /app/installations/{installation_id}"],getOrgInstallation:["GET /orgs/{org}/installation"],getRepoInstallation:["GET /repos/{owner}/{repo}/installation"],getSubscriptionPlanForAccount:["GET /marketplace_listing/accounts/{account_id}"],getSubscriptionPlanForAccountStubbed:["GET /marketplace_listing/stubbed/accounts/{account_id}"],getUserInstallation:["GET /users/{username}/installation"],getWebhookConfigForApp:["GET /app/hook/config"],getWebhookDelivery:["GET /app/hook/deliveries/{delivery_id}"],listAccountsForPlan:["GET /marketplace_listing/plans/{plan_id}/accounts"],listAccountsForPlanStubbed:["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"],listInstallationReposForAuthenticatedUser:["GET /user/installations/{installation_id}/repositories"],listInstallationRequestsForAuthenticatedApp:["GET /app/installation-requests"],listInstallations:["GET /app/installations"],listInstallationsForAuthenticatedUser:["GET /user/installations"],listPlans:["GET /marketplace_listing/plans"],listPlansStubbed:["GET /marketplace_listing/stubbed/plans"],listReposAccessibleToInstallation:["GET /installation/repositories"],listSubscriptionsForAuthenticatedUser:["GET /user/marketplace_purchases"],listSubscriptionsForAuthenticatedUserStubbed:["GET /user/marketplace_purchases/stubbed"],listWebhookDeliveries:["GET /app/hook/deliveries"],redeliverWebhookDelivery:["POST /app/hook/deliveries/{delivery_id}/attempts"],removeRepoFromInstallation:["DELETE /user/installations/{installation_id}/repositories/{repository_id}",{},{renamed:["apps","removeRepoFromInstallationForAuthenticatedUser"]}],removeRepoFromInstallationForAuthenticatedUser:["DELETE /user/installations/{installation_id}/repositories/{repository_id}"],resetToken:["PATCH /applications/{client_id}/token"],revokeInstallationAccessToken:["DELETE /installation/token"],scopeToken:["POST /applications/{client_id}/token/scoped"],suspendInstallation:["PUT /app/installations/{installation_id}/suspended"],unsuspendInstallation:["DELETE /app/installations/{installation_id}/suspended"],updateWebhookConfigForApp:["PATCH /app/hook/config"]},billing:{getGithubActionsBillingOrg:["GET /orgs/{org}/settings/billing/actions"],getGithubActionsBillingUser:["GET /users/{username}/settings/billing/actions"],getGithubBillingUsageReportOrg:["GET /organizations/{org}/settings/billing/usage"],getGithubPackagesBillingOrg:["GET /orgs/{org}/settings/billing/packages"],getGithubPackagesBillingUser:["GET /users/{username}/settings/billing/packages"],getSharedStorageBillingOrg:["GET /orgs/{org}/settings/billing/shared-storage"],getSharedStorageBillingUser:["GET /users/{username}/settings/billing/shared-storage"]},checks:{create:["POST /repos/{owner}/{repo}/check-runs"],createSuite:["POST /repos/{owner}/{repo}/check-suites"],get:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"],getSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"],listAnnotations:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"],listForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"],listForSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"],listSuitesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"],rerequestRun:["POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"],rerequestSuite:["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"],setSuitesPreferences:["PATCH /repos/{owner}/{repo}/check-suites/preferences"],update:["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"]},codeScanning:{commitAutofix:["POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits"],createAutofix:["POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix"],createVariantAnalysis:["POST /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses"],deleteAnalysis:["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"],deleteCodeqlDatabase:["DELETE /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"],getAlert:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}",{},{renamedParameters:{alert_id:"alert_number"}}],getAnalysis:["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"],getAutofix:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix"],getCodeqlDatabase:["GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"],getDefaultSetup:["GET /repos/{owner}/{repo}/code-scanning/default-setup"],getSarif:["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"],getVariantAnalysis:["GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}"],getVariantAnalysisRepoTask:["GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}"],listAlertInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"],listAlertsForOrg:["GET /orgs/{org}/code-scanning/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/code-scanning/alerts"],listAlertsInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",{},{renamed:["codeScanning","listAlertInstances"]}],listCodeqlDatabases:["GET /repos/{owner}/{repo}/code-scanning/codeql/databases"],listRecentAnalyses:["GET /repos/{owner}/{repo}/code-scanning/analyses"],updateAlert:["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"],updateDefaultSetup:["PATCH /repos/{owner}/{repo}/code-scanning/default-setup"],uploadSarif:["POST /repos/{owner}/{repo}/code-scanning/sarifs"]},codeSecurity:{attachConfiguration:["POST /orgs/{org}/code-security/configurations/{configuration_id}/attach"],attachEnterpriseConfiguration:["POST /enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach"],createConfiguration:["POST /orgs/{org}/code-security/configurations"],createConfigurationForEnterprise:["POST /enterprises/{enterprise}/code-security/configurations"],deleteConfiguration:["DELETE /orgs/{org}/code-security/configurations/{configuration_id}"],deleteConfigurationForEnterprise:["DELETE /enterprises/{enterprise}/code-security/configurations/{configuration_id}"],detachConfiguration:["DELETE /orgs/{org}/code-security/configurations/detach"],getConfiguration:["GET /orgs/{org}/code-security/configurations/{configuration_id}"],getConfigurationForRepository:["GET /repos/{owner}/{repo}/code-security-configuration"],getConfigurationsForEnterprise:["GET /enterprises/{enterprise}/code-security/configurations"],getConfigurationsForOrg:["GET /orgs/{org}/code-security/configurations"],getDefaultConfigurations:["GET /orgs/{org}/code-security/configurations/defaults"],getDefaultConfigurationsForEnterprise:["GET /enterprises/{enterprise}/code-security/configurations/defaults"],getRepositoriesForConfiguration:["GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories"],getRepositoriesForEnterpriseConfiguration:["GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories"],getSingleConfigurationForEnterprise:["GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}"],setConfigurationAsDefault:["PUT /orgs/{org}/code-security/configurations/{configuration_id}/defaults"],setConfigurationAsDefaultForEnterprise:["PUT /enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults"],updateConfiguration:["PATCH /orgs/{org}/code-security/configurations/{configuration_id}"],updateEnterpriseConfiguration:["PATCH /enterprises/{enterprise}/code-security/configurations/{configuration_id}"]},codesOfConduct:{getAllCodesOfConduct:["GET /codes_of_conduct"],getConductCode:["GET /codes_of_conduct/{key}"]},codespaces:{addRepositoryForSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"],checkPermissionsForDevcontainer:["GET /repos/{owner}/{repo}/codespaces/permissions_check"],codespaceMachinesForAuthenticatedUser:["GET /user/codespaces/{codespace_name}/machines"],createForAuthenticatedUser:["POST /user/codespaces"],createOrUpdateOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],createOrUpdateSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}"],createWithPrForAuthenticatedUser:["POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"],createWithRepoForAuthenticatedUser:["POST /repos/{owner}/{repo}/codespaces"],deleteForAuthenticatedUser:["DELETE /user/codespaces/{codespace_name}"],deleteFromOrganization:["DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"],deleteOrgSecret:["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],deleteSecretForAuthenticatedUser:["DELETE /user/codespaces/secrets/{secret_name}"],exportForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/exports"],getCodespacesForUserInOrg:["GET /orgs/{org}/members/{username}/codespaces"],getExportDetailsForAuthenticatedUser:["GET /user/codespaces/{codespace_name}/exports/{export_id}"],getForAuthenticatedUser:["GET /user/codespaces/{codespace_name}"],getOrgPublicKey:["GET /orgs/{org}/codespaces/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/codespaces/secrets/{secret_name}"],getPublicKeyForAuthenticatedUser:["GET /user/codespaces/secrets/public-key"],getRepoPublicKey:["GET /repos/{owner}/{repo}/codespaces/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],getSecretForAuthenticatedUser:["GET /user/codespaces/secrets/{secret_name}"],listDevcontainersInRepositoryForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/devcontainers"],listForAuthenticatedUser:["GET /user/codespaces"],listInOrganization:["GET /orgs/{org}/codespaces",{},{renamedParameters:{org_id:"org"}}],listInRepositoryForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces"],listOrgSecrets:["GET /orgs/{org}/codespaces/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/codespaces/secrets"],listRepositoriesForSecretForAuthenticatedUser:["GET /user/codespaces/secrets/{secret_name}/repositories"],listSecretsForAuthenticatedUser:["GET /user/codespaces/secrets"],listSelectedReposForOrgSecret:["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"],preFlightWithRepoForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/new"],publishForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/publish"],removeRepositoryForSecretForAuthenticatedUser:["DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"],repoMachinesForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/machines"],setRepositoriesForSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}/repositories"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories"],startForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/start"],stopForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/stop"],stopInOrganization:["POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"],updateForAuthenticatedUser:["PATCH /user/codespaces/{codespace_name}"]},copilot:{addCopilotSeatsForTeams:["POST /orgs/{org}/copilot/billing/selected_teams"],addCopilotSeatsForUsers:["POST /orgs/{org}/copilot/billing/selected_users"],cancelCopilotSeatAssignmentForTeams:["DELETE /orgs/{org}/copilot/billing/selected_teams"],cancelCopilotSeatAssignmentForUsers:["DELETE /orgs/{org}/copilot/billing/selected_users"],copilotMetricsForOrganization:["GET /orgs/{org}/copilot/metrics"],copilotMetricsForTeam:["GET /orgs/{org}/team/{team_slug}/copilot/metrics"],getCopilotOrganizationDetails:["GET /orgs/{org}/copilot/billing"],getCopilotSeatDetailsForUser:["GET /orgs/{org}/members/{username}/copilot"],listCopilotSeats:["GET /orgs/{org}/copilot/billing/seats"],usageMetricsForOrg:["GET /orgs/{org}/copilot/usage"],usageMetricsForTeam:["GET /orgs/{org}/team/{team_slug}/copilot/usage"]},dependabot:{addSelectedRepoToOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],deleteOrgSecret:["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],getAlert:["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"],getOrgPublicKey:["GET /orgs/{org}/dependabot/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/dependabot/secrets/{secret_name}"],getRepoPublicKey:["GET /repos/{owner}/{repo}/dependabot/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],listAlertsForEnterprise:["GET /enterprises/{enterprise}/dependabot/alerts"],listAlertsForOrg:["GET /orgs/{org}/dependabot/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/dependabot/alerts"],listOrgSecrets:["GET /orgs/{org}/dependabot/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/dependabot/secrets"],listSelectedReposForOrgSecret:["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"],updateAlert:["PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"]},dependencyGraph:{createRepositorySnapshot:["POST /repos/{owner}/{repo}/dependency-graph/snapshots"],diffRange:["GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"],exportSbom:["GET /repos/{owner}/{repo}/dependency-graph/sbom"]},emojis:{get:["GET /emojis"]},gists:{checkIsStarred:["GET /gists/{gist_id}/star"],create:["POST /gists"],createComment:["POST /gists/{gist_id}/comments"],delete:["DELETE /gists/{gist_id}"],deleteComment:["DELETE /gists/{gist_id}/comments/{comment_id}"],fork:["POST /gists/{gist_id}/forks"],get:["GET /gists/{gist_id}"],getComment:["GET /gists/{gist_id}/comments/{comment_id}"],getRevision:["GET /gists/{gist_id}/{sha}"],list:["GET /gists"],listComments:["GET /gists/{gist_id}/comments"],listCommits:["GET /gists/{gist_id}/commits"],listForUser:["GET /users/{username}/gists"],listForks:["GET /gists/{gist_id}/forks"],listPublic:["GET /gists/public"],listStarred:["GET /gists/starred"],star:["PUT /gists/{gist_id}/star"],unstar:["DELETE /gists/{gist_id}/star"],update:["PATCH /gists/{gist_id}"],updateComment:["PATCH /gists/{gist_id}/comments/{comment_id}"]},git:{createBlob:["POST /repos/{owner}/{repo}/git/blobs"],createCommit:["POST /repos/{owner}/{repo}/git/commits"],createRef:["POST /repos/{owner}/{repo}/git/refs"],createTag:["POST /repos/{owner}/{repo}/git/tags"],createTree:["POST /repos/{owner}/{repo}/git/trees"],deleteRef:["DELETE /repos/{owner}/{repo}/git/refs/{ref}"],getBlob:["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"],getCommit:["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"],getRef:["GET /repos/{owner}/{repo}/git/ref/{ref}"],getTag:["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"],getTree:["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"],listMatchingRefs:["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"],updateRef:["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]},gitignore:{getAllTemplates:["GET /gitignore/templates"],getTemplate:["GET /gitignore/templates/{name}"]},interactions:{getRestrictionsForAuthenticatedUser:["GET /user/interaction-limits"],getRestrictionsForOrg:["GET /orgs/{org}/interaction-limits"],getRestrictionsForRepo:["GET /repos/{owner}/{repo}/interaction-limits"],getRestrictionsForYourPublicRepos:["GET /user/interaction-limits",{},{renamed:["interactions","getRestrictionsForAuthenticatedUser"]}],removeRestrictionsForAuthenticatedUser:["DELETE /user/interaction-limits"],removeRestrictionsForOrg:["DELETE /orgs/{org}/interaction-limits"],removeRestrictionsForRepo:["DELETE /repos/{owner}/{repo}/interaction-limits"],removeRestrictionsForYourPublicRepos:["DELETE /user/interaction-limits",{},{renamed:["interactions","removeRestrictionsForAuthenticatedUser"]}],setRestrictionsForAuthenticatedUser:["PUT /user/interaction-limits"],setRestrictionsForOrg:["PUT /orgs/{org}/interaction-limits"],setRestrictionsForRepo:["PUT /repos/{owner}/{repo}/interaction-limits"],setRestrictionsForYourPublicRepos:["PUT /user/interaction-limits",{},{renamed:["interactions","setRestrictionsForAuthenticatedUser"]}]},issues:{addAssignees:["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"],addLabels:["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"],addSubIssue:["POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues"],checkUserCanBeAssigned:["GET /repos/{owner}/{repo}/assignees/{assignee}"],checkUserCanBeAssignedToIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}"],create:["POST /repos/{owner}/{repo}/issues"],createComment:["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"],createLabel:["POST /repos/{owner}/{repo}/labels"],createMilestone:["POST /repos/{owner}/{repo}/milestones"],deleteComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"],deleteLabel:["DELETE /repos/{owner}/{repo}/labels/{name}"],deleteMilestone:["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"],get:["GET /repos/{owner}/{repo}/issues/{issue_number}"],getComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"],getEvent:["GET /repos/{owner}/{repo}/issues/events/{event_id}"],getLabel:["GET /repos/{owner}/{repo}/labels/{name}"],getMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}"],list:["GET /issues"],listAssignees:["GET /repos/{owner}/{repo}/assignees"],listComments:["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"],listCommentsForRepo:["GET /repos/{owner}/{repo}/issues/comments"],listEvents:["GET /repos/{owner}/{repo}/issues/{issue_number}/events"],listEventsForRepo:["GET /repos/{owner}/{repo}/issues/events"],listEventsForTimeline:["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"],listForAuthenticatedUser:["GET /user/issues"],listForOrg:["GET /orgs/{org}/issues"],listForRepo:["GET /repos/{owner}/{repo}/issues"],listLabelsForMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"],listLabelsForRepo:["GET /repos/{owner}/{repo}/labels"],listLabelsOnIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"],listMilestones:["GET /repos/{owner}/{repo}/milestones"],listSubIssues:["GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues"],lock:["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"],removeAllLabels:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"],removeAssignees:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"],removeLabel:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"],removeSubIssue:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue"],reprioritizeSubIssue:["PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority"],setLabels:["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"],unlock:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"],update:["PATCH /repos/{owner}/{repo}/issues/{issue_number}"],updateComment:["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"],updateLabel:["PATCH /repos/{owner}/{repo}/labels/{name}"],updateMilestone:["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"]},licenses:{get:["GET /licenses/{license}"],getAllCommonlyUsed:["GET /licenses"],getForRepo:["GET /repos/{owner}/{repo}/license"]},markdown:{render:["POST /markdown"],renderRaw:["POST /markdown/raw",{headers:{"content-type":"text/plain; charset=utf-8"}}]},meta:{get:["GET /meta"],getAllVersions:["GET /versions"],getOctocat:["GET /octocat"],getZen:["GET /zen"],root:["GET /"]},migrations:{deleteArchiveForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/archive"],deleteArchiveForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/archive"],downloadArchiveForOrg:["GET /orgs/{org}/migrations/{migration_id}/archive"],getArchiveForAuthenticatedUser:["GET /user/migrations/{migration_id}/archive"],getStatusForAuthenticatedUser:["GET /user/migrations/{migration_id}"],getStatusForOrg:["GET /orgs/{org}/migrations/{migration_id}"],listForAuthenticatedUser:["GET /user/migrations"],listForOrg:["GET /orgs/{org}/migrations"],listReposForAuthenticatedUser:["GET /user/migrations/{migration_id}/repositories"],listReposForOrg:["GET /orgs/{org}/migrations/{migration_id}/repositories"],listReposForUser:["GET /user/migrations/{migration_id}/repositories",{},{renamed:["migrations","listReposForAuthenticatedUser"]}],startForAuthenticatedUser:["POST /user/migrations"],startForOrg:["POST /orgs/{org}/migrations"],unlockRepoForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"],unlockRepoForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"]},oidc:{getOidcCustomSubTemplateForOrg:["GET /orgs/{org}/actions/oidc/customization/sub"],updateOidcCustomSubTemplateForOrg:["PUT /orgs/{org}/actions/oidc/customization/sub"]},orgs:{addSecurityManagerTeam:["PUT /orgs/{org}/security-managers/teams/{team_slug}",{},{deprecated:"octokit.rest.orgs.addSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#add-a-security-manager-team"}],assignTeamToOrgRole:["PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"],assignUserToOrgRole:["PUT /orgs/{org}/organization-roles/users/{username}/{role_id}"],blockUser:["PUT /orgs/{org}/blocks/{username}"],cancelInvitation:["DELETE /orgs/{org}/invitations/{invitation_id}"],checkBlockedUser:["GET /orgs/{org}/blocks/{username}"],checkMembershipForUser:["GET /orgs/{org}/members/{username}"],checkPublicMembershipForUser:["GET /orgs/{org}/public_members/{username}"],convertMemberToOutsideCollaborator:["PUT /orgs/{org}/outside_collaborators/{username}"],createInvitation:["POST /orgs/{org}/invitations"],createOrUpdateCustomProperties:["PATCH /orgs/{org}/properties/schema"],createOrUpdateCustomPropertiesValuesForRepos:["PATCH /orgs/{org}/properties/values"],createOrUpdateCustomProperty:["PUT /orgs/{org}/properties/schema/{custom_property_name}"],createWebhook:["POST /orgs/{org}/hooks"],delete:["DELETE /orgs/{org}"],deleteWebhook:["DELETE /orgs/{org}/hooks/{hook_id}"],enableOrDisableSecurityProductOnAllOrgRepos:["POST /orgs/{org}/{security_product}/{enablement}",{},{deprecated:"octokit.rest.orgs.enableOrDisableSecurityProductOnAllOrgRepos() is deprecated, see https://docs.github.com/rest/orgs/orgs#enable-or-disable-a-security-feature-for-an-organization"}],get:["GET /orgs/{org}"],getAllCustomProperties:["GET /orgs/{org}/properties/schema"],getCustomProperty:["GET /orgs/{org}/properties/schema/{custom_property_name}"],getMembershipForAuthenticatedUser:["GET /user/memberships/orgs/{org}"],getMembershipForUser:["GET /orgs/{org}/memberships/{username}"],getOrgRole:["GET /orgs/{org}/organization-roles/{role_id}"],getWebhook:["GET /orgs/{org}/hooks/{hook_id}"],getWebhookConfigForOrg:["GET /orgs/{org}/hooks/{hook_id}/config"],getWebhookDelivery:["GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"],list:["GET /organizations"],listAppInstallations:["GET /orgs/{org}/installations"],listAttestations:["GET /orgs/{org}/attestations/{subject_digest}"],listBlockedUsers:["GET /orgs/{org}/blocks"],listCustomPropertiesValuesForRepos:["GET /orgs/{org}/properties/values"],listFailedInvitations:["GET /orgs/{org}/failed_invitations"],listForAuthenticatedUser:["GET /user/orgs"],listForUser:["GET /users/{username}/orgs"],listInvitationTeams:["GET /orgs/{org}/invitations/{invitation_id}/teams"],listMembers:["GET /orgs/{org}/members"],listMembershipsForAuthenticatedUser:["GET /user/memberships/orgs"],listOrgRoleTeams:["GET /orgs/{org}/organization-roles/{role_id}/teams"],listOrgRoleUsers:["GET /orgs/{org}/organization-roles/{role_id}/users"],listOrgRoles:["GET /orgs/{org}/organization-roles"],listOrganizationFineGrainedPermissions:["GET /orgs/{org}/organization-fine-grained-permissions"],listOutsideCollaborators:["GET /orgs/{org}/outside_collaborators"],listPatGrantRepositories:["GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"],listPatGrantRequestRepositories:["GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"],listPatGrantRequests:["GET /orgs/{org}/personal-access-token-requests"],listPatGrants:["GET /orgs/{org}/personal-access-tokens"],listPendingInvitations:["GET /orgs/{org}/invitations"],listPublicMembers:["GET /orgs/{org}/public_members"],listSecurityManagerTeams:["GET /orgs/{org}/security-managers",{},{deprecated:"octokit.rest.orgs.listSecurityManagerTeams() is deprecated, see https://docs.github.com/rest/orgs/security-managers#list-security-manager-teams"}],listWebhookDeliveries:["GET /orgs/{org}/hooks/{hook_id}/deliveries"],listWebhooks:["GET /orgs/{org}/hooks"],pingWebhook:["POST /orgs/{org}/hooks/{hook_id}/pings"],redeliverWebhookDelivery:["POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"],removeCustomProperty:["DELETE /orgs/{org}/properties/schema/{custom_property_name}"],removeMember:["DELETE /orgs/{org}/members/{username}"],removeMembershipForUser:["DELETE /orgs/{org}/memberships/{username}"],removeOutsideCollaborator:["DELETE /orgs/{org}/outside_collaborators/{username}"],removePublicMembershipForAuthenticatedUser:["DELETE /orgs/{org}/public_members/{username}"],removeSecurityManagerTeam:["DELETE /orgs/{org}/security-managers/teams/{team_slug}",{},{deprecated:"octokit.rest.orgs.removeSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#remove-a-security-manager-team"}],reviewPatGrantRequest:["POST /orgs/{org}/personal-access-token-requests/{pat_request_id}"],reviewPatGrantRequestsInBulk:["POST /orgs/{org}/personal-access-token-requests"],revokeAllOrgRolesTeam:["DELETE /orgs/{org}/organization-roles/teams/{team_slug}"],revokeAllOrgRolesUser:["DELETE /orgs/{org}/organization-roles/users/{username}"],revokeOrgRoleTeam:["DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"],revokeOrgRoleUser:["DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}"],setMembershipForUser:["PUT /orgs/{org}/memberships/{username}"],setPublicMembershipForAuthenticatedUser:["PUT /orgs/{org}/public_members/{username}"],unblockUser:["DELETE /orgs/{org}/blocks/{username}"],update:["PATCH /orgs/{org}"],updateMembershipForAuthenticatedUser:["PATCH /user/memberships/orgs/{org}"],updatePatAccess:["POST /orgs/{org}/personal-access-tokens/{pat_id}"],updatePatAccesses:["POST /orgs/{org}/personal-access-tokens"],updateWebhook:["PATCH /orgs/{org}/hooks/{hook_id}"],updateWebhookConfigForOrg:["PATCH /orgs/{org}/hooks/{hook_id}/config"]},packages:{deletePackageForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}"],deletePackageForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}"],deletePackageForUser:["DELETE /users/{username}/packages/{package_type}/{package_name}"],deletePackageVersionForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForUser:["DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getAllPackageVersionsForAPackageOwnedByAnOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByOrg"]}],getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByAuthenticatedUser"]}],getAllPackageVersionsForPackageOwnedByAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions"],getPackageForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}"],getPackageForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}"],getPackageForUser:["GET /users/{username}/packages/{package_type}/{package_name}"],getPackageVersionForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],listDockerMigrationConflictingPackagesForAuthenticatedUser:["GET /user/docker/conflicts"],listDockerMigrationConflictingPackagesForOrganization:["GET /orgs/{org}/docker/conflicts"],listDockerMigrationConflictingPackagesForUser:["GET /users/{username}/docker/conflicts"],listPackagesForAuthenticatedUser:["GET /user/packages"],listPackagesForOrganization:["GET /orgs/{org}/packages"],listPackagesForUser:["GET /users/{username}/packages"],restorePackageForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForUser:["POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageVersionForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForUser:["POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]},privateRegistries:{createOrgPrivateRegistry:["POST /orgs/{org}/private-registries"],deleteOrgPrivateRegistry:["DELETE /orgs/{org}/private-registries/{secret_name}"],getOrgPrivateRegistry:["GET /orgs/{org}/private-registries/{secret_name}"],getOrgPublicKey:["GET /orgs/{org}/private-registries/public-key"],listOrgPrivateRegistries:["GET /orgs/{org}/private-registries"],updateOrgPrivateRegistry:["PATCH /orgs/{org}/private-registries/{secret_name}"]},projects:{addCollaborator:["PUT /projects/{project_id}/collaborators/{username}"],createCard:["POST /projects/columns/{column_id}/cards"],createColumn:["POST /projects/{project_id}/columns"],createForAuthenticatedUser:["POST /user/projects"],createForOrg:["POST /orgs/{org}/projects"],createForRepo:["POST /repos/{owner}/{repo}/projects"],delete:["DELETE /projects/{project_id}"],deleteCard:["DELETE /projects/columns/cards/{card_id}"],deleteColumn:["DELETE /projects/columns/{column_id}"],get:["GET /projects/{project_id}"],getCard:["GET /projects/columns/cards/{card_id}"],getColumn:["GET /projects/columns/{column_id}"],getPermissionForUser:["GET /projects/{project_id}/collaborators/{username}/permission"],listCards:["GET /projects/columns/{column_id}/cards"],listCollaborators:["GET /projects/{project_id}/collaborators"],listColumns:["GET /projects/{project_id}/columns"],listForOrg:["GET /orgs/{org}/projects"],listForRepo:["GET /repos/{owner}/{repo}/projects"],listForUser:["GET /users/{username}/projects"],moveCard:["POST /projects/columns/cards/{card_id}/moves"],moveColumn:["POST /projects/columns/{column_id}/moves"],removeCollaborator:["DELETE /projects/{project_id}/collaborators/{username}"],update:["PATCH /projects/{project_id}"],updateCard:["PATCH /projects/columns/cards/{card_id}"],updateColumn:["PATCH /projects/columns/{column_id}"]},pulls:{checkIfMerged:["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"],create:["POST /repos/{owner}/{repo}/pulls"],createReplyForReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"],createReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],createReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"],deletePendingReview:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],deleteReviewComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"],dismissReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"],get:["GET /repos/{owner}/{repo}/pulls/{pull_number}"],getReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],getReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"],list:["GET /repos/{owner}/{repo}/pulls"],listCommentsForReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"],listCommits:["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"],listFiles:["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"],listRequestedReviewers:["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],listReviewComments:["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"],listReviewCommentsForRepo:["GET /repos/{owner}/{repo}/pulls/comments"],listReviews:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],merge:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"],removeRequestedReviewers:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],requestReviewers:["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],submitReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"],update:["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"],updateBranch:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"],updateReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],updateReviewComment:["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"]},rateLimit:{get:["GET /rate_limit"]},reactions:{createForCommitComment:["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"],createForIssue:["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"],createForIssueComment:["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"],createForPullRequestReviewComment:["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"],createForRelease:["POST /repos/{owner}/{repo}/releases/{release_id}/reactions"],createForTeamDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"],createForTeamDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"],deleteForCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"],deleteForIssue:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"],deleteForIssueComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"],deleteForPullRequestComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"],deleteForRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"],deleteForTeamDiscussion:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"],deleteForTeamDiscussionComment:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"],listForCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"],listForIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"],listForIssueComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"],listForPullRequestReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"],listForRelease:["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"],listForTeamDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"],listForTeamDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]},repos:{acceptInvitation:["PATCH /user/repository_invitations/{invitation_id}",{},{renamed:["repos","acceptInvitationForAuthenticatedUser"]}],acceptInvitationForAuthenticatedUser:["PATCH /user/repository_invitations/{invitation_id}"],addAppAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],addCollaborator:["PUT /repos/{owner}/{repo}/collaborators/{username}"],addStatusCheckContexts:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],addTeamAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],addUserAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],cancelPagesDeployment:["POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel"],checkAutomatedSecurityFixes:["GET /repos/{owner}/{repo}/automated-security-fixes"],checkCollaborator:["GET /repos/{owner}/{repo}/collaborators/{username}"],checkPrivateVulnerabilityReporting:["GET /repos/{owner}/{repo}/private-vulnerability-reporting"],checkVulnerabilityAlerts:["GET /repos/{owner}/{repo}/vulnerability-alerts"],codeownersErrors:["GET /repos/{owner}/{repo}/codeowners/errors"],compareCommits:["GET /repos/{owner}/{repo}/compare/{base}...{head}"],compareCommitsWithBasehead:["GET /repos/{owner}/{repo}/compare/{basehead}"],createAttestation:["POST /repos/{owner}/{repo}/attestations"],createAutolink:["POST /repos/{owner}/{repo}/autolinks"],createCommitComment:["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"],createCommitSignatureProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],createCommitStatus:["POST /repos/{owner}/{repo}/statuses/{sha}"],createDeployKey:["POST /repos/{owner}/{repo}/keys"],createDeployment:["POST /repos/{owner}/{repo}/deployments"],createDeploymentBranchPolicy:["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"],createDeploymentProtectionRule:["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"],createDeploymentStatus:["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],createDispatchEvent:["POST /repos/{owner}/{repo}/dispatches"],createForAuthenticatedUser:["POST /user/repos"],createFork:["POST /repos/{owner}/{repo}/forks"],createInOrg:["POST /orgs/{org}/repos"],createOrUpdateCustomPropertiesValues:["PATCH /repos/{owner}/{repo}/properties/values"],createOrUpdateEnvironment:["PUT /repos/{owner}/{repo}/environments/{environment_name}"],createOrUpdateFileContents:["PUT /repos/{owner}/{repo}/contents/{path}"],createOrgRuleset:["POST /orgs/{org}/rulesets"],createPagesDeployment:["POST /repos/{owner}/{repo}/pages/deployments"],createPagesSite:["POST /repos/{owner}/{repo}/pages"],createRelease:["POST /repos/{owner}/{repo}/releases"],createRepoRuleset:["POST /repos/{owner}/{repo}/rulesets"],createUsingTemplate:["POST /repos/{template_owner}/{template_repo}/generate"],createWebhook:["POST /repos/{owner}/{repo}/hooks"],declineInvitation:["DELETE /user/repository_invitations/{invitation_id}",{},{renamed:["repos","declineInvitationForAuthenticatedUser"]}],declineInvitationForAuthenticatedUser:["DELETE /user/repository_invitations/{invitation_id}"],delete:["DELETE /repos/{owner}/{repo}"],deleteAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],deleteAdminBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],deleteAnEnvironment:["DELETE /repos/{owner}/{repo}/environments/{environment_name}"],deleteAutolink:["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"],deleteBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"],deleteCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}"],deleteCommitSignatureProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],deleteDeployKey:["DELETE /repos/{owner}/{repo}/keys/{key_id}"],deleteDeployment:["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"],deleteDeploymentBranchPolicy:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],deleteFile:["DELETE /repos/{owner}/{repo}/contents/{path}"],deleteInvitation:["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"],deleteOrgRuleset:["DELETE /orgs/{org}/rulesets/{ruleset_id}"],deletePagesSite:["DELETE /repos/{owner}/{repo}/pages"],deletePullRequestReviewProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],deleteRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}"],deleteReleaseAsset:["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"],deleteRepoRuleset:["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"],deleteWebhook:["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"],disableAutomatedSecurityFixes:["DELETE /repos/{owner}/{repo}/automated-security-fixes"],disableDeploymentProtectionRule:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],disablePrivateVulnerabilityReporting:["DELETE /repos/{owner}/{repo}/private-vulnerability-reporting"],disableVulnerabilityAlerts:["DELETE /repos/{owner}/{repo}/vulnerability-alerts"],downloadArchive:["GET /repos/{owner}/{repo}/zipball/{ref}",{},{renamed:["repos","downloadZipballArchive"]}],downloadTarballArchive:["GET /repos/{owner}/{repo}/tarball/{ref}"],downloadZipballArchive:["GET /repos/{owner}/{repo}/zipball/{ref}"],enableAutomatedSecurityFixes:["PUT /repos/{owner}/{repo}/automated-security-fixes"],enablePrivateVulnerabilityReporting:["PUT /repos/{owner}/{repo}/private-vulnerability-reporting"],enableVulnerabilityAlerts:["PUT /repos/{owner}/{repo}/vulnerability-alerts"],generateReleaseNotes:["POST /repos/{owner}/{repo}/releases/generate-notes"],get:["GET /repos/{owner}/{repo}"],getAccessRestrictions:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],getAdminBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],getAllDeploymentProtectionRules:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"],getAllEnvironments:["GET /repos/{owner}/{repo}/environments"],getAllStatusCheckContexts:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],getAllTopics:["GET /repos/{owner}/{repo}/topics"],getAppsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"],getAutolink:["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"],getBranch:["GET /repos/{owner}/{repo}/branches/{branch}"],getBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection"],getBranchRules:["GET /repos/{owner}/{repo}/rules/branches/{branch}"],getClones:["GET /repos/{owner}/{repo}/traffic/clones"],getCodeFrequencyStats:["GET /repos/{owner}/{repo}/stats/code_frequency"],getCollaboratorPermissionLevel:["GET /repos/{owner}/{repo}/collaborators/{username}/permission"],getCombinedStatusForRef:["GET /repos/{owner}/{repo}/commits/{ref}/status"],getCommit:["GET /repos/{owner}/{repo}/commits/{ref}"],getCommitActivityStats:["GET /repos/{owner}/{repo}/stats/commit_activity"],getCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}"],getCommitSignatureProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],getCommunityProfileMetrics:["GET /repos/{owner}/{repo}/community/profile"],getContent:["GET /repos/{owner}/{repo}/contents/{path}"],getContributorsStats:["GET /repos/{owner}/{repo}/stats/contributors"],getCustomDeploymentProtectionRule:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],getCustomPropertiesValues:["GET /repos/{owner}/{repo}/properties/values"],getDeployKey:["GET /repos/{owner}/{repo}/keys/{key_id}"],getDeployment:["GET /repos/{owner}/{repo}/deployments/{deployment_id}"],getDeploymentBranchPolicy:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],getDeploymentStatus:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"],getEnvironment:["GET /repos/{owner}/{repo}/environments/{environment_name}"],getLatestPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/latest"],getLatestRelease:["GET /repos/{owner}/{repo}/releases/latest"],getOrgRuleSuite:["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"],getOrgRuleSuites:["GET /orgs/{org}/rulesets/rule-suites"],getOrgRuleset:["GET /orgs/{org}/rulesets/{ruleset_id}"],getOrgRulesets:["GET /orgs/{org}/rulesets"],getPages:["GET /repos/{owner}/{repo}/pages"],getPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/{build_id}"],getPagesDeployment:["GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}"],getPagesHealthCheck:["GET /repos/{owner}/{repo}/pages/health"],getParticipationStats:["GET /repos/{owner}/{repo}/stats/participation"],getPullRequestReviewProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],getPunchCardStats:["GET /repos/{owner}/{repo}/stats/punch_card"],getReadme:["GET /repos/{owner}/{repo}/readme"],getReadmeInDirectory:["GET /repos/{owner}/{repo}/readme/{dir}"],getRelease:["GET /repos/{owner}/{repo}/releases/{release_id}"],getReleaseAsset:["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"],getReleaseByTag:["GET /repos/{owner}/{repo}/releases/tags/{tag}"],getRepoRuleSuite:["GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}"],getRepoRuleSuites:["GET /repos/{owner}/{repo}/rulesets/rule-suites"],getRepoRuleset:["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"],getRepoRulesets:["GET /repos/{owner}/{repo}/rulesets"],getStatusChecksProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],getTeamsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],getTopPaths:["GET /repos/{owner}/{repo}/traffic/popular/paths"],getTopReferrers:["GET /repos/{owner}/{repo}/traffic/popular/referrers"],getUsersWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"],getViews:["GET /repos/{owner}/{repo}/traffic/views"],getWebhook:["GET /repos/{owner}/{repo}/hooks/{hook_id}"],getWebhookConfigForRepo:["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"],getWebhookDelivery:["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"],listActivities:["GET /repos/{owner}/{repo}/activity"],listAttestations:["GET /repos/{owner}/{repo}/attestations/{subject_digest}"],listAutolinks:["GET /repos/{owner}/{repo}/autolinks"],listBranches:["GET /repos/{owner}/{repo}/branches"],listBranchesForHeadCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"],listCollaborators:["GET /repos/{owner}/{repo}/collaborators"],listCommentsForCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"],listCommitCommentsForRepo:["GET /repos/{owner}/{repo}/comments"],listCommitStatusesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/statuses"],listCommits:["GET /repos/{owner}/{repo}/commits"],listContributors:["GET /repos/{owner}/{repo}/contributors"],listCustomDeploymentRuleIntegrations:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"],listDeployKeys:["GET /repos/{owner}/{repo}/keys"],listDeploymentBranchPolicies:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"],listDeploymentStatuses:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],listDeployments:["GET /repos/{owner}/{repo}/deployments"],listForAuthenticatedUser:["GET /user/repos"],listForOrg:["GET /orgs/{org}/repos"],listForUser:["GET /users/{username}/repos"],listForks:["GET /repos/{owner}/{repo}/forks"],listInvitations:["GET /repos/{owner}/{repo}/invitations"],listInvitationsForAuthenticatedUser:["GET /user/repository_invitations"],listLanguages:["GET /repos/{owner}/{repo}/languages"],listPagesBuilds:["GET /repos/{owner}/{repo}/pages/builds"],listPublic:["GET /repositories"],listPullRequestsAssociatedWithCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"],listReleaseAssets:["GET /repos/{owner}/{repo}/releases/{release_id}/assets"],listReleases:["GET /repos/{owner}/{repo}/releases"],listTags:["GET /repos/{owner}/{repo}/tags"],listTeams:["GET /repos/{owner}/{repo}/teams"],listWebhookDeliveries:["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"],listWebhooks:["GET /repos/{owner}/{repo}/hooks"],merge:["POST /repos/{owner}/{repo}/merges"],mergeUpstream:["POST /repos/{owner}/{repo}/merge-upstream"],pingWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"],redeliverWebhookDelivery:["POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"],removeAppAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],removeCollaborator:["DELETE /repos/{owner}/{repo}/collaborators/{username}"],removeStatusCheckContexts:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],removeStatusCheckProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],removeTeamAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],removeUserAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],renameBranch:["POST /repos/{owner}/{repo}/branches/{branch}/rename"],replaceAllTopics:["PUT /repos/{owner}/{repo}/topics"],requestPagesBuild:["POST /repos/{owner}/{repo}/pages/builds"],setAdminBranchProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],setAppAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],setStatusCheckContexts:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],setTeamAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],setUserAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],testPushWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"],transfer:["POST /repos/{owner}/{repo}/transfer"],update:["PATCH /repos/{owner}/{repo}"],updateBranchProtection:["PUT /repos/{owner}/{repo}/branches/{branch}/protection"],updateCommitComment:["PATCH /repos/{owner}/{repo}/comments/{comment_id}"],updateDeploymentBranchPolicy:["PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],updateInformationAboutPagesSite:["PUT /repos/{owner}/{repo}/pages"],updateInvitation:["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"],updateOrgRuleset:["PUT /orgs/{org}/rulesets/{ruleset_id}"],updatePullRequestReviewProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],updateRelease:["PATCH /repos/{owner}/{repo}/releases/{release_id}"],updateReleaseAsset:["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"],updateRepoRuleset:["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"],updateStatusCheckPotection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks",{},{renamed:["repos","updateStatusCheckProtection"]}],updateStatusCheckProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],updateWebhook:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"],updateWebhookConfigForRepo:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"],uploadReleaseAsset:["POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}",{baseUrl:"https://uploads.github.com"}]},search:{code:["GET /search/code"],commits:["GET /search/commits"],issuesAndPullRequests:["GET /search/issues"],labels:["GET /search/labels"],repos:["GET /search/repositories"],topics:["GET /search/topics"],users:["GET /search/users"]},secretScanning:{createPushProtectionBypass:["POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses"],getAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"],getScanHistory:["GET /repos/{owner}/{repo}/secret-scanning/scan-history"],listAlertsForEnterprise:["GET /enterprises/{enterprise}/secret-scanning/alerts"],listAlertsForOrg:["GET /orgs/{org}/secret-scanning/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/secret-scanning/alerts"],listLocationsForAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"],updateAlert:["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"]},securityAdvisories:{createFork:["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks"],createPrivateVulnerabilityReport:["POST /repos/{owner}/{repo}/security-advisories/reports"],createRepositoryAdvisory:["POST /repos/{owner}/{repo}/security-advisories"],createRepositoryAdvisoryCveRequest:["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"],getGlobalAdvisory:["GET /advisories/{ghsa_id}"],getRepositoryAdvisory:["GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"],listGlobalAdvisories:["GET /advisories"],listOrgRepositoryAdvisories:["GET /orgs/{org}/security-advisories"],listRepositoryAdvisories:["GET /repos/{owner}/{repo}/security-advisories"],updateRepositoryAdvisory:["PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"]},teams:{addOrUpdateMembershipForUserInOrg:["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"],addOrUpdateProjectPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"],addOrUpdateRepoPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],checkPermissionsForProjectInOrg:["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"],checkPermissionsForRepoInOrg:["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],create:["POST /orgs/{org}/teams"],createDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],createDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions"],deleteDiscussionCommentInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],deleteDiscussionInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],deleteInOrg:["DELETE /orgs/{org}/teams/{team_slug}"],getByName:["GET /orgs/{org}/teams/{team_slug}"],getDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],getDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],getMembershipForUserInOrg:["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"],list:["GET /orgs/{org}/teams"],listChildInOrg:["GET /orgs/{org}/teams/{team_slug}/teams"],listDiscussionCommentsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],listDiscussionsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions"],listForAuthenticatedUser:["GET /user/teams"],listMembersInOrg:["GET /orgs/{org}/teams/{team_slug}/members"],listPendingInvitationsInOrg:["GET /orgs/{org}/teams/{team_slug}/invitations"],listProjectsInOrg:["GET /orgs/{org}/teams/{team_slug}/projects"],listReposInOrg:["GET /orgs/{org}/teams/{team_slug}/repos"],removeMembershipForUserInOrg:["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"],removeProjectInOrg:["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"],removeRepoInOrg:["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],updateDiscussionCommentInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],updateDiscussionInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],updateInOrg:["PATCH /orgs/{org}/teams/{team_slug}"]},users:{addEmailForAuthenticated:["POST /user/emails",{},{renamed:["users","addEmailForAuthenticatedUser"]}],addEmailForAuthenticatedUser:["POST /user/emails"],addSocialAccountForAuthenticatedUser:["POST /user/social_accounts"],block:["PUT /user/blocks/{username}"],checkBlocked:["GET /user/blocks/{username}"],checkFollowingForUser:["GET /users/{username}/following/{target_user}"],checkPersonIsFollowedByAuthenticated:["GET /user/following/{username}"],createGpgKeyForAuthenticated:["POST /user/gpg_keys",{},{renamed:["users","createGpgKeyForAuthenticatedUser"]}],createGpgKeyForAuthenticatedUser:["POST /user/gpg_keys"],createPublicSshKeyForAuthenticated:["POST /user/keys",{},{renamed:["users","createPublicSshKeyForAuthenticatedUser"]}],createPublicSshKeyForAuthenticatedUser:["POST /user/keys"],createSshSigningKeyForAuthenticatedUser:["POST /user/ssh_signing_keys"],deleteEmailForAuthenticated:["DELETE /user/emails",{},{renamed:["users","deleteEmailForAuthenticatedUser"]}],deleteEmailForAuthenticatedUser:["DELETE /user/emails"],deleteGpgKeyForAuthenticated:["DELETE /user/gpg_keys/{gpg_key_id}",{},{renamed:["users","deleteGpgKeyForAuthenticatedUser"]}],deleteGpgKeyForAuthenticatedUser:["DELETE /user/gpg_keys/{gpg_key_id}"],deletePublicSshKeyForAuthenticated:["DELETE /user/keys/{key_id}",{},{renamed:["users","deletePublicSshKeyForAuthenticatedUser"]}],deletePublicSshKeyForAuthenticatedUser:["DELETE /user/keys/{key_id}"],deleteSocialAccountForAuthenticatedUser:["DELETE /user/social_accounts"],deleteSshSigningKeyForAuthenticatedUser:["DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"],follow:["PUT /user/following/{username}"],getAuthenticated:["GET /user"],getById:["GET /user/{account_id}"],getByUsername:["GET /users/{username}"],getContextForUser:["GET /users/{username}/hovercard"],getGpgKeyForAuthenticated:["GET /user/gpg_keys/{gpg_key_id}",{},{renamed:["users","getGpgKeyForAuthenticatedUser"]}],getGpgKeyForAuthenticatedUser:["GET /user/gpg_keys/{gpg_key_id}"],getPublicSshKeyForAuthenticated:["GET /user/keys/{key_id}",{},{renamed:["users","getPublicSshKeyForAuthenticatedUser"]}],getPublicSshKeyForAuthenticatedUser:["GET /user/keys/{key_id}"],getSshSigningKeyForAuthenticatedUser:["GET /user/ssh_signing_keys/{ssh_signing_key_id}"],list:["GET /users"],listAttestations:["GET /users/{username}/attestations/{subject_digest}"],listBlockedByAuthenticated:["GET /user/blocks",{},{renamed:["users","listBlockedByAuthenticatedUser"]}],listBlockedByAuthenticatedUser:["GET /user/blocks"],listEmailsForAuthenticated:["GET /user/emails",{},{renamed:["users","listEmailsForAuthenticatedUser"]}],listEmailsForAuthenticatedUser:["GET /user/emails"],listFollowedByAuthenticated:["GET /user/following",{},{renamed:["users","listFollowedByAuthenticatedUser"]}],listFollowedByAuthenticatedUser:["GET /user/following"],listFollowersForAuthenticatedUser:["GET /user/followers"],listFollowersForUser:["GET /users/{username}/followers"],listFollowingForUser:["GET /users/{username}/following"],listGpgKeysForAuthenticated:["GET /user/gpg_keys",{},{renamed:["users","listGpgKeysForAuthenticatedUser"]}],listGpgKeysForAuthenticatedUser:["GET /user/gpg_keys"],listGpgKeysForUser:["GET /users/{username}/gpg_keys"],listPublicEmailsForAuthenticated:["GET /user/public_emails",{},{renamed:["users","listPublicEmailsForAuthenticatedUser"]}],listPublicEmailsForAuthenticatedUser:["GET /user/public_emails"],listPublicKeysForUser:["GET /users/{username}/keys"],listPublicSshKeysForAuthenticated:["GET /user/keys",{},{renamed:["users","listPublicSshKeysForAuthenticatedUser"]}],listPublicSshKeysForAuthenticatedUser:["GET /user/keys"],listSocialAccountsForAuthenticatedUser:["GET /user/social_accounts"],listSocialAccountsForUser:["GET /users/{username}/social_accounts"],listSshSigningKeysForAuthenticatedUser:["GET /user/ssh_signing_keys"],listSshSigningKeysForUser:["GET /users/{username}/ssh_signing_keys"],setPrimaryEmailVisibilityForAuthenticated:["PATCH /user/email/visibility",{},{renamed:["users","setPrimaryEmailVisibilityForAuthenticatedUser"]}],setPrimaryEmailVisibilityForAuthenticatedUser:["PATCH /user/email/visibility"],unblock:["DELETE /user/blocks/{username}"],unfollow:["DELETE /user/following/{username}"],updateAuthenticated:["PATCH /user"]}};var aa=Ps;var oa=new Map;for(const[Me,Bn]of Object.entries(aa)){for(const[Hn,zn]of Object.entries(Bn)){const[Bn,ni,Ci]=zn;const[ts,Ps]=Bn.split(/ /);const aa=Object.assign({method:ts,url:Ps},ni);if(!oa.has(Me)){oa.set(Me,new Map)}oa.get(Me).set(Hn,{scope:Me,methodName:Hn,endpointDefaults:aa,decorations:Ci})}}var ca={has({scope:Me},Bn){return oa.get(Me).has(Bn)},getOwnPropertyDescriptor(Me,Bn){return{value:this.get(Me,Bn),configurable:true,writable:true,enumerable:true}},defineProperty(Me,Bn,Hn){Object.defineProperty(Me.cache,Bn,Hn);return true},deleteProperty(Me,Bn){delete Me.cache[Bn];return true},ownKeys({scope:Me}){return[...oa.get(Me).keys()]},set(Me,Bn,Hn){return Me.cache[Bn]=Hn},get({octokit:Me,scope:Bn,cache:Hn},zn){if(Hn[zn]){return Hn[zn]}const ni=oa.get(Bn).get(zn);if(!ni){return void 0}const{endpointDefaults:Ci,decorations:ts}=ni;if(ts){Hn[zn]=decorate(Me,Bn,zn,Ci,ts)}else{Hn[zn]=Me.request.defaults(Ci)}return Hn[zn]}};function endpointsToMethods(Me){const Bn={};for(const Hn of oa.keys()){Bn[Hn]=new Proxy({octokit:Me,scope:Hn,cache:{}},ca)}return Bn}function decorate(Me,Bn,Hn,zn,ni){const Ci=Me.request.defaults(zn);function withDecorations(...zn){let ts=Ci.endpoint.merge(...zn);if(ni.mapToData){ts=Object.assign({},ts,{data:ts[ni.mapToData],[ni.mapToData]:void 0});return Ci(ts)}if(ni.renamed){const[zn,Ci]=ni.renamed;Me.log.warn(`octokit.${Bn}.${Hn}() has been renamed to octokit.${zn}.${Ci}()`)}if(ni.deprecated){Me.log.warn(ni.deprecated)}if(ni.renamedParameters){const ts=Ci.endpoint.merge(...zn);for(const[zn,Ci]of Object.entries(ni.renamedParameters)){if(zn in ts){Me.log.warn(`"${zn}" parameter is deprecated for "octokit.${Bn}.${Hn}()". Use "${Ci}" instead`);if(!(Ci in ts)){ts[Ci]=ts[zn]}delete ts[zn]}}return Ci(ts)}return Ci(...zn)}return Object.assign(withDecorations,Ci)}function restEndpointMethods(Me){const Bn=endpointsToMethods(Me);return{rest:Bn}}restEndpointMethods.VERSION=ts;function legacyRestEndpointMethods(Me){const Bn=endpointsToMethods(Me);return{...Bn,rest:Bn}}legacyRestEndpointMethods.VERSION=ts;0&&0},93708:(Me,Bn,Hn)=>{"use strict";var zn=Object.create;var ni=Object.defineProperty;var Ci=Object.getOwnPropertyDescriptor;var ts=Object.getOwnPropertyNames;var Ps=Object.getPrototypeOf;var aa=Object.prototype.hasOwnProperty;var __export=(Me,Bn)=>{for(var Hn in Bn)ni(Me,Hn,{get:Bn[Hn],enumerable:true})};var __copyProps=(Me,Bn,Hn,zn)=>{if(Bn&&typeof Bn==="object"||typeof Bn==="function"){for(let Ps of ts(Bn))if(!aa.call(Me,Ps)&&Ps!==Hn)ni(Me,Ps,{get:()=>Bn[Ps],enumerable:!(zn=Ci(Bn,Ps))||zn.enumerable})}return Me};var __toESM=(Me,Bn,Hn)=>(Hn=Me!=null?zn(Ps(Me)):{},__copyProps(Bn||!Me||!Me.__esModule?ni(Hn,"default",{value:Me,enumerable:true}):Hn,Me));var __toCommonJS=Me=>__copyProps(ni({},"__esModule",{value:true}),Me);var oa={};__export(oa,{RequestError:()=>Ha});Me.exports=__toCommonJS(oa);var ca=Hn(14150);var _a=__toESM(Hn(55560));var xa=(0,_a.default)((Me=>console.warn(Me)));var Ga=(0,_a.default)((Me=>console.warn(Me)));var Ha=class extends Error{constructor(Me,Bn,Hn){super(Me);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=Bn;let zn;if("headers"in Hn&&typeof Hn.headers!=="undefined"){zn=Hn.headers}if("response"in Hn){this.response=Hn.response;zn=Hn.response.headers}const ni=Object.assign({},Hn.request);if(Hn.request.headers.authorization){ni.headers=Object.assign({},Hn.request.headers,{authorization:Hn.request.headers.authorization.replace(/(?{"use strict";var zn=Object.defineProperty;var ni=Object.getOwnPropertyDescriptor;var Ci=Object.getOwnPropertyNames;var ts=Object.prototype.hasOwnProperty;var __export=(Me,Bn)=>{for(var Hn in Bn)zn(Me,Hn,{get:Bn[Hn],enumerable:true})};var __copyProps=(Me,Bn,Hn,Ps)=>{if(Bn&&typeof Bn==="object"||typeof Bn==="function"){for(let aa of Ci(Bn))if(!ts.call(Me,aa)&&aa!==Hn)zn(Me,aa,{get:()=>Bn[aa],enumerable:!(Ps=ni(Bn,aa))||Ps.enumerable})}return Me};var __toCommonJS=Me=>__copyProps(zn({},"__esModule",{value:true}),Me);var Ps={};__export(Ps,{request:()=>xa});Me.exports=__toCommonJS(Ps);var aa=Hn(54471);var oa=Hn(33843);var ca="8.4.1";function isPlainObject(Me){if(typeof Me!=="object"||Me===null)return false;if(Object.prototype.toString.call(Me)!=="[object Object]")return false;const Bn=Object.getPrototypeOf(Me);if(Bn===null)return true;const Hn=Object.prototype.hasOwnProperty.call(Bn,"constructor")&&Bn.constructor;return typeof Hn==="function"&&Hn instanceof Hn&&Function.prototype.call(Hn)===Function.prototype.call(Me)}var _a=Hn(93708);function getBufferResponse(Me){return Me.arrayBuffer()}function fetchWrapper(Me){var Bn,Hn,zn,ni;const Ci=Me.request&&Me.request.log?Me.request.log:console;const ts=((Bn=Me.request)==null?void 0:Bn.parseSuccessResponseBody)!==false;if(isPlainObject(Me.body)||Array.isArray(Me.body)){Me.body=JSON.stringify(Me.body)}let Ps={};let aa;let oa;let{fetch:ca}=globalThis;if((Hn=Me.request)==null?void 0:Hn.fetch){ca=Me.request.fetch}if(!ca){throw new Error("fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing")}return ca(Me.url,{method:Me.method,body:Me.body,redirect:(zn=Me.request)==null?void 0:zn.redirect,headers:Me.headers,signal:(ni=Me.request)==null?void 0:ni.signal,...Me.body&&{duplex:"half"}}).then((async Bn=>{oa=Bn.url;aa=Bn.status;for(const Me of Bn.headers){Ps[Me[0]]=Me[1]}if("deprecation"in Ps){const Bn=Ps.link&&Ps.link.match(/<([^<>]+)>; rel="deprecation"/);const Hn=Bn&&Bn.pop();Ci.warn(`[@octokit/request] "${Me.method} ${Me.url}" is deprecated. It is scheduled to be removed on ${Ps.sunset}${Hn?`. See ${Hn}`:""}`)}if(aa===204||aa===205){return}if(Me.method==="HEAD"){if(aa<400){return}throw new _a.RequestError(Bn.statusText,aa,{response:{url:oa,status:aa,headers:Ps,data:void 0},request:Me})}if(aa===304){throw new _a.RequestError("Not modified",aa,{response:{url:oa,status:aa,headers:Ps,data:await getResponseData(Bn)},request:Me})}if(aa>=400){const Hn=await getResponseData(Bn);const zn=new _a.RequestError(toErrorMessage(Hn),aa,{response:{url:oa,status:aa,headers:Ps,data:Hn},request:Me});throw zn}return ts?await getResponseData(Bn):Bn.body})).then((Me=>({status:aa,url:oa,headers:Ps,data:Me}))).catch((Bn=>{if(Bn instanceof _a.RequestError)throw Bn;else if(Bn.name==="AbortError")throw Bn;let Hn=Bn.message;if(Bn.name==="TypeError"&&"cause"in Bn){if(Bn.cause instanceof Error){Hn=Bn.cause.message}else if(typeof Bn.cause==="string"){Hn=Bn.cause}}throw new _a.RequestError(Hn,500,{request:Me})}))}async function getResponseData(Me){const Bn=Me.headers.get("content-type");if(/application\/json/.test(Bn)){return Me.json().catch((()=>Me.text())).catch((()=>""))}if(!Bn||/^text\/|charset=utf-8$/.test(Bn)){return Me.text()}return getBufferResponse(Me)}function toErrorMessage(Me){if(typeof Me==="string")return Me;let Bn;if("documentation_url"in Me){Bn=` - ${Me.documentation_url}`}else{Bn=""}if("message"in Me){if(Array.isArray(Me.errors)){return`${Me.message}: ${Me.errors.map(JSON.stringify).join(", ")}${Bn}`}return`${Me.message}${Bn}`}return`Unknown error: ${JSON.stringify(Me)}`}function withDefaults(Me,Bn){const Hn=Me.defaults(Bn);const newApi=function(Me,Bn){const zn=Hn.merge(Me,Bn);if(!zn.request||!zn.request.hook){return fetchWrapper(Hn.parse(zn))}const request2=(Me,Bn)=>fetchWrapper(Hn.parse(Hn.merge(Me,Bn)));Object.assign(request2,{endpoint:Hn,defaults:withDefaults.bind(null,Hn)});return zn.request.hook(request2,zn)};return Object.assign(newApi,{endpoint:Hn,defaults:withDefaults.bind(null,Hn)})}var xa=withDefaults(aa.endpoint,{headers:{"user-agent":`octokit-request.js/${ca} ${(0,oa.getUserAgent)()}`}});0&&0},65772:(Me,Bn,Hn)=>{"use strict";var zn=Object.defineProperty;var ni=Object.getOwnPropertyDescriptor;var Ci=Object.getOwnPropertyNames;var ts=Object.prototype.hasOwnProperty;var __export=(Me,Bn)=>{for(var Hn in Bn)zn(Me,Hn,{get:Bn[Hn],enumerable:true})};var __copyProps=(Me,Bn,Hn,Ps)=>{if(Bn&&typeof Bn==="object"||typeof Bn==="function"){for(let aa of Ci(Bn))if(!ts.call(Me,aa)&&aa!==Hn)zn(Me,aa,{get:()=>Bn[aa],enumerable:!(Ps=ni(Bn,aa))||Ps.enumerable})}return Me};var __toCommonJS=Me=>__copyProps(zn({},"__esModule",{value:true}),Me);var Ps={};__export(Ps,{Octokit:()=>Ga});Me.exports=__toCommonJS(Ps);var aa=Hn(61897);var oa=Hn(6966);var ca=Hn(38082);var _a=Hn(84935);var xa="20.1.2";var Ga=aa.Octokit.plugin(oa.requestLog,_a.legacyRestEndpointMethods,ca.paginateRest).defaults({userAgent:`octokit-rest.js/${xa}`});0&&0},17330:function(Me){(function(Bn){"use strict";var executeSync=function(){var Me=Array.prototype.slice.call(arguments);if(typeof Me[0]==="function"){Me[0].apply(null,Me.splice(1))}};var executeAsync=function(Me){if(typeof setImmediate==="function"){setImmediate(Me)}else if(typeof process!=="undefined"&&process.nextTick){process.nextTick(Me)}else{setTimeout(Me,0)}};var makeIterator=function(Me){var makeCallback=function(Bn){var fn=function(){if(Me.length){Me[Bn].apply(null,arguments)}return fn.next()};fn.next=function(){return Bn{"use strict";var zn=Hn(7151);var ni=[];Me.exports=asap;function asap(Me){var Bn;if(ni.length){Bn=ni.pop()}else{Bn=new RawTask}Bn.task=Me;Bn.domain=process.domain;zn(Bn)}function RawTask(){this.task=null;this.domain=null}RawTask.prototype.call=function(){if(this.domain){this.domain.enter()}var Me=true;try{this.task.call();Me=false;if(this.domain){this.domain.exit()}}finally{if(Me){zn.requestFlush()}this.task=null;this.domain=null;ni.push(this)}}},7151:(Me,Bn,Hn)=>{"use strict";var zn;var ni=typeof setImmediate==="function";Me.exports=rawAsap;function rawAsap(Me){if(!Ci.length){requestFlush();ts=true}Ci[Ci.length]=Me}var Ci=[];var ts=false;var Ps=0;var aa=1024;function flush(){while(Psaa){for(var Bn=0,Hn=Ci.length-Ps;Bn{Me.exports={parallel:Hn(83857),serial:Hn(31054),serialOrdered:Hn(53961)}},24818:Me=>{Me.exports=abort;function abort(Me){Object.keys(Me.jobs).forEach(clean.bind(Me));Me.jobs={}}function clean(Me){if(typeof this.jobs[Me]=="function"){this.jobs[Me]()}}},78452:(Me,Bn,Hn)=>{var zn=Hn(29200);Me.exports=async;function async(Me){var Bn=false;zn((function(){Bn=true}));return function async_callback(Hn,ni){if(Bn){Me(Hn,ni)}else{zn((function nextTick_callback(){Me(Hn,ni)}))}}}},29200:Me=>{Me.exports=defer;function defer(Me){var Bn=typeof setImmediate=="function"?setImmediate:typeof process=="object"&&typeof process.nextTick=="function"?process.nextTick:null;if(Bn){Bn(Me)}else{setTimeout(Me,0)}}},24902:(Me,Bn,Hn)=>{var zn=Hn(78452),ni=Hn(24818);Me.exports=iterate;function iterate(Me,Bn,Hn,zn){var Ci=Hn["keyedList"]?Hn["keyedList"][Hn.index]:Hn.index;Hn.jobs[Ci]=runJob(Bn,Ci,Me[Ci],(function(Me,Bn){if(!(Ci in Hn.jobs)){return}delete Hn.jobs[Ci];if(Me){ni(Hn)}else{Hn.results[Ci]=Bn}zn(Me,Hn.results)}))}function runJob(Me,Bn,Hn,ni){var Ci;if(Me.length==2){Ci=Me(Hn,zn(ni))}else{Ci=Me(Hn,Bn,zn(ni))}return Ci}},81721:Me=>{Me.exports=state;function state(Me,Bn){var Hn=!Array.isArray(Me),zn={index:0,keyedList:Hn||Bn?Object.keys(Me):null,jobs:{},results:Hn?{}:[],size:Hn?Object.keys(Me).length:Me.length};if(Bn){zn.keyedList.sort(Hn?Bn:function(Hn,zn){return Bn(Me[Hn],Me[zn])})}return zn}},33351:(Me,Bn,Hn)=>{var zn=Hn(24818),ni=Hn(78452);Me.exports=terminator;function terminator(Me){if(!Object.keys(this.jobs).length){return}this.index=this.size;zn(this);ni(Me)(null,this.results)}},83857:(Me,Bn,Hn)=>{var zn=Hn(24902),ni=Hn(81721),Ci=Hn(33351);Me.exports=parallel;function parallel(Me,Bn,Hn){var ts=ni(Me);while(ts.index<(ts["keyedList"]||Me).length){zn(Me,Bn,ts,(function(Me,Bn){if(Me){Hn(Me,Bn);return}if(Object.keys(ts.jobs).length===0){Hn(null,ts.results);return}}));ts.index++}return Ci.bind(ts,Hn)}},31054:(Me,Bn,Hn)=>{var zn=Hn(53961);Me.exports=serial;function serial(Me,Bn,Hn){return zn(Me,Bn,null,Hn)}},53961:(Me,Bn,Hn)=>{var zn=Hn(24902),ni=Hn(81721),Ci=Hn(33351);Me.exports=serialOrdered;Me.exports.ascending=ascending;Me.exports.descending=descending;function serialOrdered(Me,Bn,Hn,ts){var Ps=ni(Me,Hn);zn(Me,Bn,Ps,(function iteratorHandler(Hn,ni){if(Hn){ts(Hn,ni);return}Ps.index++;if(Ps.index<(Ps["keyedList"]||Me).length){zn(Me,Bn,Ps,iteratorHandler);return}ts(null,Ps.results)}));return Ci.bind(Ps,ts)}function ascending(Me,Bn){return MeBn?1:0}function descending(Me,Bn){return-1*ascending(Me,Bn)}},52732:(Me,Bn,Hn)=>{var zn=Hn(11063);var ni=Hn(22027);var Ci=Hn(59934);var ts=Function.bind;var Ps=ts.bind(ts);function bindApi(Me,Bn,Hn){var zn=Ps(Ci,null).apply(null,Hn?[Bn,Hn]:[Bn]);Me.api={remove:zn};Me.remove=zn;["before","error","after","wrap"].forEach((function(zn){var Ci=Hn?[Bn,zn,Hn]:[Bn,zn];Me[zn]=Me.api[zn]=Ps(ni,null).apply(null,Ci)}))}function HookSingular(){var Me="h";var Bn={registry:{}};var Hn=zn.bind(null,Bn,Me);bindApi(Hn,Bn,Me);return Hn}function HookCollection(){var Me={registry:{}};var Bn=zn.bind(null,Me);bindApi(Bn,Me);return Bn}var aa=false;function Hook(){if(!aa){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');aa=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();Me.exports=Hook;Me.exports.Hook=Hook;Me.exports.Singular=Hook.Singular;Me.exports.Collection=Hook.Collection},22027:Me=>{Me.exports=addHook;function addHook(Me,Bn,Hn,zn){var ni=zn;if(!Me.registry[Hn]){Me.registry[Hn]=[]}if(Bn==="before"){zn=function(Me,Bn){return Promise.resolve().then(ni.bind(null,Bn)).then(Me.bind(null,Bn))}}if(Bn==="after"){zn=function(Me,Bn){var Hn;return Promise.resolve().then(Me.bind(null,Bn)).then((function(Me){Hn=Me;return ni(Hn,Bn)})).then((function(){return Hn}))}}if(Bn==="error"){zn=function(Me,Bn){return Promise.resolve().then(Me.bind(null,Bn)).catch((function(Me){return ni(Me,Bn)}))}}Me.registry[Hn].push({hook:zn,orig:ni})}},11063:Me=>{Me.exports=register;function register(Me,Bn,Hn,zn){if(typeof Hn!=="function"){throw new Error("method for before hook must be a function")}if(!zn){zn={}}if(Array.isArray(Bn)){return Bn.reverse().reduce((function(Bn,Hn){return register.bind(null,Me,Hn,Bn,zn)}),Hn)()}return Promise.resolve().then((function(){if(!Me.registry[Bn]){return Hn(zn)}return Me.registry[Bn].reduce((function(Me,Bn){return Bn.hook.bind(null,Me,zn)}),Hn)()}))}},59934:Me=>{Me.exports=removeHook;function removeHook(Me,Bn,Hn){if(!Me.registry[Bn]){return}var zn=Me.registry[Bn].map((function(Me){return Me.orig})).indexOf(Hn);if(zn===-1){return}Me.registry[Bn].splice(zn,1)}},39732:(Me,Bn,Hn)=>{"use strict";var zn=Hn(20181).Buffer;var ni=Hn(20181).SlowBuffer;Me.exports=bufferEq;function bufferEq(Me,Bn){if(!zn.isBuffer(Me)||!zn.isBuffer(Bn)){return false}if(Me.length!==Bn.length){return false}var Hn=0;for(var ni=0;ni{"use strict";var zn=Hn(37564);var ni=Hn(33945);var Ci=Hn(88093);var ts=Hn(31330);Me.exports=ts||zn.call(Ci,ni)},33945:Me=>{"use strict";Me.exports=Function.prototype.apply},88093:Me=>{"use strict";Me.exports=Function.prototype.call},88705:(Me,Bn,Hn)=>{"use strict";var zn=Hn(37564);var ni=Hn(73314);var Ci=Hn(88093);var ts=Hn(22639);Me.exports=function callBindBasic(Me){if(Me.length<1||typeof Me[0]!=="function"){throw new ni("a function is required")}return ts(zn,Ci,Me)}},31330:Me=>{"use strict";Me.exports=typeof Reflect!=="undefined"&&Reflect&&Reflect.apply},23105:(Me,Bn,Hn)=>{"use strict";var zn=Hn(60470);var ni=Hn(88705);var Ci=ni([zn("%String.prototype.indexOf%")]);Me.exports=function callBoundIntrinsic(Me,Bn){var Hn=zn(Me,!!Bn);if(typeof Hn==="function"&&Ci(Me,".prototype.")>-1){return ni([Hn])}return Hn}},35630:(Me,Bn,Hn)=>{var zn=Hn(39023);var ni=Hn(2203).Stream;var Ci=Hn(72710);Me.exports=CombinedStream;function CombinedStream(){this.writable=false;this.readable=true;this.dataSize=0;this.maxDataSize=2*1024*1024;this.pauseStreams=true;this._released=false;this._streams=[];this._currentStream=null;this._insideLoop=false;this._pendingNext=false}zn.inherits(CombinedStream,ni);CombinedStream.create=function(Me){var Bn=new this;Me=Me||{};for(var Hn in Me){Bn[Hn]=Me[Hn]}return Bn};CombinedStream.isStreamLike=function(Me){return typeof Me!=="function"&&typeof Me!=="string"&&typeof Me!=="boolean"&&typeof Me!=="number"&&!Buffer.isBuffer(Me)};CombinedStream.prototype.append=function(Me){var Bn=CombinedStream.isStreamLike(Me);if(Bn){if(!(Me instanceof Ci)){var Hn=Ci.create(Me,{maxDataSize:Infinity,pauseStream:this.pauseStreams});Me.on("data",this._checkDataSize.bind(this));Me=Hn}this._handleErrors(Me);if(this.pauseStreams){Me.pause()}}this._streams.push(Me);return this};CombinedStream.prototype.pipe=function(Me,Bn){ni.prototype.pipe.call(this,Me,Bn);this.resume();return Me};CombinedStream.prototype._getNext=function(){this._currentStream=null;if(this._insideLoop){this._pendingNext=true;return}this._insideLoop=true;try{do{this._pendingNext=false;this._realGetNext()}while(this._pendingNext)}finally{this._insideLoop=false}};CombinedStream.prototype._realGetNext=function(){var Me=this._streams.shift();if(typeof Me=="undefined"){this.end();return}if(typeof Me!=="function"){this._pipeNext(Me);return}var Bn=Me;Bn(function(Me){var Bn=CombinedStream.isStreamLike(Me);if(Bn){Me.on("data",this._checkDataSize.bind(this));this._handleErrors(Me)}this._pipeNext(Me)}.bind(this))};CombinedStream.prototype._pipeNext=function(Me){this._currentStream=Me;var Bn=CombinedStream.isStreamLike(Me);if(Bn){Me.on("end",this._getNext.bind(this));Me.pipe(this,{end:false});return}var Hn=Me;this.write(Hn);this._getNext()};CombinedStream.prototype._handleErrors=function(Me){var Bn=this;Me.on("error",(function(Me){Bn._emitError(Me)}))};CombinedStream.prototype.write=function(Me){this.emit("data",Me)};CombinedStream.prototype.pause=function(){if(!this.pauseStreams){return}if(this.pauseStreams&&this._currentStream&&typeof this._currentStream.pause=="function")this._currentStream.pause();this.emit("pause")};CombinedStream.prototype.resume=function(){if(!this._released){this._released=true;this.writable=true;this._getNext()}if(this.pauseStreams&&this._currentStream&&typeof this._currentStream.resume=="function")this._currentStream.resume();this.emit("resume")};CombinedStream.prototype.end=function(){this._reset();this.emit("end")};CombinedStream.prototype.destroy=function(){this._reset();this.emit("close")};CombinedStream.prototype._reset=function(){this.writable=false;this._streams=[];this._currentStream=null};CombinedStream.prototype._checkDataSize=function(){this._updateDataSize();if(this.dataSize<=this.maxDataSize){return}var Me="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this._emitError(new Error(Me))};CombinedStream.prototype._updateDataSize=function(){this.dataSize=0;var Me=this;this._streams.forEach((function(Bn){if(!Bn.dataSize){return}Me.dataSize+=Bn.dataSize}));if(this._currentStream&&this._currentStream.dataSize){this.dataSize+=this._currentStream.dataSize}};CombinedStream.prototype._emitError=function(Me){this._reset();this.emit("error",Me)}},6110:(Me,Bn,Hn)=>{Bn.formatArgs=formatArgs;Bn.save=save;Bn.load=load;Bn.useColors=useColors;Bn.storage=localstorage();Bn.destroy=(()=>{let Me=false;return()=>{if(!Me){Me=true;console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}}})();Bn.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function useColors(){if(typeof window!=="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)){return true}if(typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)){return false}let Me;return typeof document!=="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=="undefined"&&navigator.userAgent&&(Me=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(Me[1],10)>=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs(Bn){Bn[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+Bn[0]+(this.useColors?"%c ":" ")+"+"+Me.exports.humanize(this.diff);if(!this.useColors){return}const Hn="color: "+this.color;Bn.splice(1,0,Hn,"color: inherit");let zn=0;let ni=0;Bn[0].replace(/%[a-zA-Z%]/g,(Me=>{if(Me==="%%"){return}zn++;if(Me==="%c"){ni=zn}}));Bn.splice(ni,0,Hn)}Bn.log=console.debug||console.log||(()=>{});function save(Me){try{if(Me){Bn.storage.setItem("debug",Me)}else{Bn.storage.removeItem("debug")}}catch(Me){}}function load(){let Me;try{Me=Bn.storage.getItem("debug")||Bn.storage.getItem("DEBUG")}catch(Me){}if(!Me&&typeof process!=="undefined"&&"env"in process){Me=process.env.DEBUG}return Me}function localstorage(){try{return localStorage}catch(Me){}}Me.exports=Hn(40897)(Bn);const{formatters:zn}=Me.exports;zn.j=function(Me){try{return JSON.stringify(Me)}catch(Me){return"[UnexpectedJSONParseError]: "+Me.message}}},40897:(Me,Bn,Hn)=>{function setup(Me){createDebug.debug=createDebug;createDebug.default=createDebug;createDebug.coerce=coerce;createDebug.disable=disable;createDebug.enable=enable;createDebug.enabled=enabled;createDebug.humanize=Hn(70744);createDebug.destroy=destroy;Object.keys(Me).forEach((Bn=>{createDebug[Bn]=Me[Bn]}));createDebug.names=[];createDebug.skips=[];createDebug.formatters={};function selectColor(Me){let Bn=0;for(let Hn=0;Hn{if(Bn==="%%"){return"%"}Ci++;const ni=createDebug.formatters[zn];if(typeof ni==="function"){const zn=Me[Ci];Bn=ni.call(Hn,zn);Me.splice(Ci,1);Ci--}return Bn}));createDebug.formatArgs.call(Hn,Me);const ts=Hn.log||createDebug.log;ts.apply(Hn,Me)}debug.namespace=Me;debug.useColors=createDebug.useColors();debug.color=createDebug.selectColor(Me);debug.extend=extend;debug.destroy=createDebug.destroy;Object.defineProperty(debug,"enabled",{enumerable:true,configurable:false,get:()=>{if(Hn!==null){return Hn}if(zn!==createDebug.namespaces){zn=createDebug.namespaces;ni=createDebug.enabled(Me)}return ni},set:Me=>{Hn=Me}});if(typeof createDebug.init==="function"){createDebug.init(debug)}return debug}function extend(Me,Bn){const Hn=createDebug(this.namespace+(typeof Bn==="undefined"?":":Bn)+Me);Hn.log=this.log;return Hn}function enable(Me){createDebug.save(Me);createDebug.namespaces=Me;createDebug.names=[];createDebug.skips=[];const Bn=(typeof Me==="string"?Me:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const Me of Bn){if(Me[0]==="-"){createDebug.skips.push(Me.slice(1))}else{createDebug.names.push(Me)}}}function matchesTemplate(Me,Bn){let Hn=0;let zn=0;let ni=-1;let Ci=0;while(Hn"-"+Me))].join(",");createDebug.enable("");return Me}function enabled(Me){for(const Bn of createDebug.skips){if(matchesTemplate(Me,Bn)){return false}}for(const Bn of createDebug.names){if(matchesTemplate(Me,Bn)){return true}}return false}function coerce(Me){if(Me instanceof Error){return Me.stack||Me.message}return Me}function destroy(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}createDebug.enable(createDebug.load());return createDebug}Me.exports=setup},2830:(Me,Bn,Hn)=>{if(typeof process==="undefined"||process.type==="renderer"||process.browser===true||process.__nwjs){Me.exports=Hn(6110)}else{Me.exports=Hn(95108)}},95108:(Me,Bn,Hn)=>{const zn=Hn(52018);const ni=Hn(39023);Bn.init=init;Bn.log=log;Bn.formatArgs=formatArgs;Bn.save=save;Bn.load=load;Bn.useColors=useColors;Bn.destroy=ni.deprecate((()=>{}),"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Bn.colors=[6,2,3,4,5,1];try{const Me=Hn(21450);if(Me&&(Me.stderr||Me).level>=2){Bn.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}}catch(Me){}Bn.inspectOpts=Object.keys(process.env).filter((Me=>/^debug_/i.test(Me))).reduce(((Me,Bn)=>{const Hn=Bn.substring(6).toLowerCase().replace(/_([a-z])/g,((Me,Bn)=>Bn.toUpperCase()));let zn=process.env[Bn];if(/^(yes|on|true|enabled)$/i.test(zn)){zn=true}else if(/^(no|off|false|disabled)$/i.test(zn)){zn=false}else if(zn==="null"){zn=null}else{zn=Number(zn)}Me[Hn]=zn;return Me}),{});function useColors(){return"colors"in Bn.inspectOpts?Boolean(Bn.inspectOpts.colors):zn.isatty(process.stderr.fd)}function formatArgs(Bn){const{namespace:Hn,useColors:zn}=this;if(zn){const zn=this.color;const ni="[3"+(zn<8?zn:"8;5;"+zn);const Ci=` ${ni};1m${Hn} `;Bn[0]=Ci+Bn[0].split("\n").join("\n"+Ci);Bn.push(ni+"m+"+Me.exports.humanize(this.diff)+"")}else{Bn[0]=getDate()+Hn+" "+Bn[0]}}function getDate(){if(Bn.inspectOpts.hideDate){return""}return(new Date).toISOString()+" "}function log(...Me){return process.stderr.write(ni.formatWithOptions(Bn.inspectOpts,...Me)+"\n")}function save(Me){if(Me){process.env.DEBUG=Me}else{delete process.env.DEBUG}}function load(){return process.env.DEBUG}function init(Me){Me.inspectOpts={};const Hn=Object.keys(Bn.inspectOpts);for(let zn=0;znMe.trim())).join(" ")};Ci.O=function(Me){this.inspectOpts.colors=this.useColors;return ni.inspect(Me,this.inspectOpts)}},72710:(Me,Bn,Hn)=>{var zn=Hn(2203).Stream;var ni=Hn(39023);Me.exports=DelayedStream;function DelayedStream(){this.source=null;this.dataSize=0;this.maxDataSize=1024*1024;this.pauseStream=true;this._maxDataSizeExceeded=false;this._released=false;this._bufferedEvents=[]}ni.inherits(DelayedStream,zn);DelayedStream.create=function(Me,Bn){var Hn=new this;Bn=Bn||{};for(var zn in Bn){Hn[zn]=Bn[zn]}Hn.source=Me;var ni=Me.emit;Me.emit=function(){Hn._handleEmit(arguments);return ni.apply(Me,arguments)};Me.on("error",(function(){}));if(Hn.pauseStream){Me.pause()}return Hn};Object.defineProperty(DelayedStream.prototype,"readable",{configurable:true,enumerable:true,get:function(){return this.source.readable}});DelayedStream.prototype.setEncoding=function(){return this.source.setEncoding.apply(this.source,arguments)};DelayedStream.prototype.resume=function(){if(!this._released){this.release()}this.source.resume()};DelayedStream.prototype.pause=function(){this.source.pause()};DelayedStream.prototype.release=function(){this._released=true;this._bufferedEvents.forEach(function(Me){this.emit.apply(this,Me)}.bind(this));this._bufferedEvents=[]};DelayedStream.prototype.pipe=function(){var Me=zn.prototype.pipe.apply(this,arguments);this.resume();return Me};DelayedStream.prototype._handleEmit=function(Me){if(this._released){this.emit.apply(this,Me);return}if(Me[0]==="data"){this.dataSize+=Me[1].length;this._checkIfMaxDataSizeExceeded()}this._bufferedEvents.push(Me)};DelayedStream.prototype._checkIfMaxDataSizeExceeded=function(){if(this._maxDataSizeExceeded){return}if(this.dataSize<=this.maxDataSize){return}this._maxDataSizeExceeded=true;var Me="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this.emit("error",new Error(Me))}},14150:(Me,Bn)=>{"use strict";Object.defineProperty(Bn,"__esModule",{value:true});class Deprecation extends Error{constructor(Me){super(Me);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}Bn.Deprecation=Deprecation},26669:(Me,Bn,Hn)=>{"use strict";var zn=Hn(88705);var ni=Hn(33170);var Ci;try{Ci=[].__proto__===Array.prototype}catch(Me){if(!Me||typeof Me!=="object"||!("code"in Me)||Me.code!=="ERR_PROTO_ACCESS"){throw Me}}var ts=!!Ci&&ni&&ni(Object.prototype,"__proto__");var Ps=Object;var aa=Ps.getPrototypeOf;Me.exports=ts&&typeof ts.get==="function"?zn([ts.get]):typeof aa==="function"?function getDunder(Me){return aa(Me==null?Me:Ps(Me))}:false},325:(Me,Bn,Hn)=>{"use strict";var zn=Hn(93058).Buffer;var ni=Hn(5028);var Ci=128,ts=0,Ps=32,aa=16,oa=2,ca=aa|Ps|ts<<6,_a=oa|ts<<6;function base64Url(Me){return Me.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function signatureAsBuffer(Me){if(zn.isBuffer(Me)){return Me}else if("string"===typeof Me){return zn.from(Me,"base64")}throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function derToJose(Me,Bn){Me=signatureAsBuffer(Me);var Hn=ni(Bn);var ts=Hn+1;var Ps=Me.length;var aa=0;if(Me[aa++]!==ca){throw new Error('Could not find expected "seq"')}var oa=Me[aa++];if(oa===(Ci|1)){oa=Me[aa++]}if(Ps-aa=Ci;if(ni){--zn}return zn}function joseToDer(Me,Bn){Me=signatureAsBuffer(Me);var Hn=ni(Bn);var ts=Me.length;if(ts!==Hn*2){throw new TypeError('"'+Bn+'" signatures must be "'+Hn*2+'" bytes, saw "'+ts+'"')}var Ps=countPadding(Me,0,Hn);var aa=countPadding(Me,Hn,Me.length);var oa=Hn-Ps;var xa=Hn-aa;var Ga=1+1+oa+1+1+xa;var Ha=Ga{"use strict";function getParamSize(Me){var Bn=(Me/8|0)+(Me%8===0?0:1);return Bn}var Bn={ES256:getParamSize(256),ES384:getParamSize(384),ES512:getParamSize(521)};function getParamBytesForAlg(Me){var Hn=Bn[Me];if(Hn){return Hn}throw new Error('Unknown algorithm "'+Me+'"')}Me.exports=getParamBytesForAlg},79094:Me=>{"use strict";var Bn=Object.defineProperty||false;if(Bn){try{Bn({},"a",{value:1})}catch(Me){Bn=false}}Me.exports=Bn},33056:Me=>{"use strict";Me.exports=EvalError},31620:Me=>{"use strict";Me.exports=Error},14585:Me=>{"use strict";Me.exports=RangeError},46905:Me=>{"use strict";Me.exports=ReferenceError},80105:Me=>{"use strict";Me.exports=SyntaxError},73314:Me=>{"use strict";Me.exports=TypeError},32578:Me=>{"use strict";Me.exports=URIError},95399:Me=>{"use strict";Me.exports=Object},88700:(Me,Bn,Hn)=>{"use strict";var zn=Hn(60470);var ni=zn("%Object.defineProperty%",true);var Ci=Hn(85479)();var ts=Hn(54076);var Ps=Hn(73314);var aa=Ci?Symbol.toStringTag:null;Me.exports=function setToStringTag(Me,Bn){var Hn=arguments.length>2&&!!arguments[2]&&arguments[2].force;var zn=arguments.length>2&&!!arguments[2]&&arguments[2].nonConfigurable;if(typeof Hn!=="undefined"&&typeof Hn!=="boolean"||typeof zn!=="undefined"&&typeof zn!=="boolean"){throw new Ps("if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans")}if(aa&&(Hn||!ts(Me,aa))){if(ni){ni(Me,aa,{configurable:!zn,enumerable:false,value:Bn,writable:false})}else{Me[aa]=Bn}}}},34778:(Me,Bn,Hn)=>{var zn;Me.exports=function(){if(!zn){try{zn=Hn(2830)("follow-redirects")}catch(Me){}if(typeof zn!=="function"){zn=function(){}}}zn.apply(null,arguments)}},1573:(Me,Bn,Hn)=>{var zn=Hn(87016);var ni=zn.URL;var Ci=Hn(58611);var ts=Hn(65692);var Ps=Hn(2203).Writable;var aa=Hn(42613);var oa=Hn(34778);(function detectUnsupportedEnvironment(){var Me=typeof process!=="undefined";var Bn=typeof window!=="undefined"&&typeof document!=="undefined";var Hn=isFunction(Error.captureStackTrace);if(!Me&&(Bn||!Hn)){console.warn("The follow-redirects package should be excluded from browser builds.")}})();var ca=false;try{aa(new ni(""))}catch(Me){ca=Me.code==="ERR_INVALID_URL"}var _a=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"];var xa=["abort","aborted","connect","error","socket","timeout"];var Ga=Object.create(null);xa.forEach((function(Me){Ga[Me]=function(Bn,Hn,zn){this._redirectable.emit(Me,Bn,Hn,zn)}}));var Ha=createErrorType("ERR_INVALID_URL","Invalid URL",TypeError);var so=createErrorType("ERR_FR_REDIRECTION_FAILURE","Redirected request failed");var oo=createErrorType("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",so);var Jo=createErrorType("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit");var tc=createErrorType("ERR_STREAM_WRITE_AFTER_END","write after end");var dc=Ps.prototype.destroy||noop;function RedirectableRequest(Me,Bn){Ps.call(this);this._sanitizeOptions(Me);this._options=Me;this._ended=false;this._ending=false;this._redirectCount=0;this._redirects=[];this._requestBodyLength=0;this._requestBodyBuffers=[];if(Bn){this.on("response",Bn)}var Hn=this;this._onNativeResponse=function(Me){try{Hn._processResponse(Me)}catch(Me){Hn.emit("error",Me instanceof so?Me:new so({cause:Me}))}};this._performRequest()}RedirectableRequest.prototype=Object.create(Ps.prototype);RedirectableRequest.prototype.abort=function(){destroyRequest(this._currentRequest);this._currentRequest.abort();this.emit("abort")};RedirectableRequest.prototype.destroy=function(Me){destroyRequest(this._currentRequest,Me);dc.call(this,Me);return this};RedirectableRequest.prototype.write=function(Me,Bn,Hn){if(this._ending){throw new tc}if(!isString(Me)&&!isBuffer(Me)){throw new TypeError("data should be a string, Buffer or Uint8Array")}if(isFunction(Bn)){Hn=Bn;Bn=null}if(Me.length===0){if(Hn){Hn()}return}if(this._requestBodyLength+Me.length<=this._options.maxBodyLength){this._requestBodyLength+=Me.length;this._requestBodyBuffers.push({data:Me,encoding:Bn});this._currentRequest.write(Me,Bn,Hn)}else{this.emit("error",new Jo);this.abort()}};RedirectableRequest.prototype.end=function(Me,Bn,Hn){if(isFunction(Me)){Hn=Me;Me=Bn=null}else if(isFunction(Bn)){Hn=Bn;Bn=null}if(!Me){this._ended=this._ending=true;this._currentRequest.end(null,null,Hn)}else{var zn=this;var ni=this._currentRequest;this.write(Me,Bn,(function(){zn._ended=true;ni.end(null,null,Hn)}));this._ending=true}};RedirectableRequest.prototype.setHeader=function(Me,Bn){this._options.headers[Me]=Bn;this._currentRequest.setHeader(Me,Bn)};RedirectableRequest.prototype.removeHeader=function(Me){delete this._options.headers[Me];this._currentRequest.removeHeader(Me)};RedirectableRequest.prototype.setTimeout=function(Me,Bn){var Hn=this;function destroyOnTimeout(Bn){Bn.setTimeout(Me);Bn.removeListener("timeout",Bn.destroy);Bn.addListener("timeout",Bn.destroy)}function startTimer(Bn){if(Hn._timeout){clearTimeout(Hn._timeout)}Hn._timeout=setTimeout((function(){Hn.emit("timeout");clearTimer()}),Me);destroyOnTimeout(Bn)}function clearTimer(){if(Hn._timeout){clearTimeout(Hn._timeout);Hn._timeout=null}Hn.removeListener("abort",clearTimer);Hn.removeListener("error",clearTimer);Hn.removeListener("response",clearTimer);Hn.removeListener("close",clearTimer);if(Bn){Hn.removeListener("timeout",Bn)}if(!Hn.socket){Hn._currentRequest.removeListener("socket",startTimer)}}if(Bn){this.on("timeout",Bn)}if(this.socket){startTimer(this.socket)}else{this._currentRequest.once("socket",startTimer)}this.on("socket",destroyOnTimeout);this.on("abort",clearTimer);this.on("error",clearTimer);this.on("response",clearTimer);this.on("close",clearTimer);return this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach((function(Me){RedirectableRequest.prototype[Me]=function(Bn,Hn){return this._currentRequest[Me](Bn,Hn)}}));["aborted","connection","socket"].forEach((function(Me){Object.defineProperty(RedirectableRequest.prototype,Me,{get:function(){return this._currentRequest[Me]}})}));RedirectableRequest.prototype._sanitizeOptions=function(Me){if(!Me.headers){Me.headers={}}if(Me.host){if(!Me.hostname){Me.hostname=Me.host}delete Me.host}if(!Me.pathname&&Me.path){var Bn=Me.path.indexOf("?");if(Bn<0){Me.pathname=Me.path}else{Me.pathname=Me.path.substring(0,Bn);Me.search=Me.path.substring(Bn)}}};RedirectableRequest.prototype._performRequest=function(){var Me=this._options.protocol;var Bn=this._options.nativeProtocols[Me];if(!Bn){throw new TypeError("Unsupported protocol "+Me)}if(this._options.agents){var Hn=Me.slice(0,-1);this._options.agent=this._options.agents[Hn]}var ni=this._currentRequest=Bn.request(this._options,this._onNativeResponse);ni._redirectable=this;for(var Ci of xa){ni.on(Ci,Ga[Ci])}this._currentUrl=/^\//.test(this._options.path)?zn.format(this._options):this._options.path;if(this._isRedirect){var ts=0;var Ps=this;var aa=this._requestBodyBuffers;(function writeNext(Me){if(ni===Ps._currentRequest){if(Me){Ps.emit("error",Me)}else if(ts=400){Me.responseUrl=this._currentUrl;Me.redirects=this._redirects;this.emit("response",Me);this._requestBodyBuffers=[];return}destroyRequest(this._currentRequest);Me.destroy();if(++this._redirectCount>this._options.maxRedirects){throw new oo}var ni;var Ci=this._options.beforeRedirect;if(Ci){ni=Object.assign({Host:Me.req.getHeader("host")},this._options.headers)}var ts=this._options.method;if((Bn===301||Bn===302)&&this._options.method==="POST"||Bn===303&&!/^(?:GET|HEAD)$/.test(this._options.method)){this._options.method="GET";this._requestBodyBuffers=[];removeMatchingHeaders(/^content-/i,this._options.headers)}var Ps=removeMatchingHeaders(/^host$/i,this._options.headers);var aa=parseUrl(this._currentUrl);var ca=Ps||aa.host;var _a=/^\w+:/.test(Hn)?this._currentUrl:zn.format(Object.assign(aa,{host:ca}));var xa=resolveUrl(Hn,_a);oa("redirecting to",xa.href);this._isRedirect=true;spreadUrlObject(xa,this._options);if(xa.protocol!==aa.protocol&&xa.protocol!=="https:"||xa.host!==ca&&!isSubdomain(xa.host,ca)){removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i,this._options.headers)}if(isFunction(Ci)){var Ga={headers:Me.headers,statusCode:Bn};var Ha={url:_a,method:ts,headers:ni};Ci(this._options,Ga,Ha);this._sanitizeOptions(this._options)}this._performRequest()};function wrap(Me){var Bn={maxRedirects:21,maxBodyLength:10*1024*1024};var Hn={};Object.keys(Me).forEach((function(zn){var ni=zn+":";var Ci=Hn[ni]=Me[zn];var ts=Bn[zn]=Object.create(Ci);function request(Me,zn,Ci){if(isURL(Me)){Me=spreadUrlObject(Me)}else if(isString(Me)){Me=spreadUrlObject(parseUrl(Me))}else{Ci=zn;zn=validateUrl(Me);Me={protocol:ni}}if(isFunction(zn)){Ci=zn;zn=null}zn=Object.assign({maxRedirects:Bn.maxRedirects,maxBodyLength:Bn.maxBodyLength},Me,zn);zn.nativeProtocols=Hn;if(!isString(zn.host)&&!isString(zn.hostname)){zn.hostname="::1"}aa.equal(zn.protocol,ni,"protocol mismatch");oa("options",zn);return new RedirectableRequest(zn,Ci)}function get(Me,Bn,Hn){var zn=ts.request(Me,Bn,Hn);zn.end();return zn}Object.defineProperties(ts,{request:{value:request,configurable:true,enumerable:true,writable:true},get:{value:get,configurable:true,enumerable:true,writable:true}})}));return Bn}function noop(){}function parseUrl(Me){var Bn;if(ca){Bn=new ni(Me)}else{Bn=validateUrl(zn.parse(Me));if(!isString(Bn.protocol)){throw new Ha({input:Me})}}return Bn}function resolveUrl(Me,Bn){return ca?new ni(Me,Bn):parseUrl(zn.resolve(Bn,Me))}function validateUrl(Me){if(/^\[/.test(Me.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(Me.hostname)){throw new Ha({input:Me.href||Me})}if(/^\[/.test(Me.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(Me.host)){throw new Ha({input:Me.href||Me})}return Me}function spreadUrlObject(Me,Bn){var Hn=Bn||{};for(var zn of _a){Hn[zn]=Me[zn]}if(Hn.hostname.startsWith("[")){Hn.hostname=Hn.hostname.slice(1,-1)}if(Hn.port!==""){Hn.port=Number(Hn.port)}Hn.path=Hn.search?Hn.pathname+Hn.search:Hn.pathname;return Hn}function removeMatchingHeaders(Me,Bn){var Hn;for(var zn in Bn){if(Me.test(zn)){Hn=Bn[zn];delete Bn[zn]}}return Hn===null||typeof Hn==="undefined"?undefined:String(Hn).trim()}function createErrorType(Me,Bn,Hn){function CustomError(Hn){if(isFunction(Error.captureStackTrace)){Error.captureStackTrace(this,this.constructor)}Object.assign(this,Hn||{});this.code=Me;this.message=this.cause?Bn+": "+this.cause.message:Bn}CustomError.prototype=new(Hn||Error);Object.defineProperties(CustomError.prototype,{constructor:{value:CustomError,enumerable:false},name:{value:"Error ["+Me+"]",enumerable:false}});return CustomError}function destroyRequest(Me,Bn){for(var Hn of xa){Me.removeListener(Hn,Ga[Hn])}Me.on("error",noop);Me.destroy(Bn)}function isSubdomain(Me,Bn){aa(isString(Me)&&isString(Bn));var Hn=Me.length-Bn.length-1;return Hn>0&&Me[Hn]==="."&&Me.endsWith(Bn)}function isString(Me){return typeof Me==="string"||Me instanceof String}function isFunction(Me){return typeof Me==="function"}function isBuffer(Me){return typeof Me==="object"&&"length"in Me}function isURL(Me){return ni&&Me instanceof ni}Me.exports=wrap({http:Ci,https:ts});Me.exports.wrap=wrap},96454:(Me,Bn,Hn)=>{"use strict";var zn=Hn(35630);var ni=Hn(39023);var Ci=Hn(16928);var ts=Hn(58611);var Ps=Hn(65692);var aa=Hn(87016).parse;var oa=Hn(79896);var ca=Hn(2203).Stream;var _a=Hn(76982);var xa=Hn(14096);var Ga=Hn(31324);var Ha=Hn(88700);var so=Hn(54076);var oo=Hn(11835);function FormData(Me){if(!(this instanceof FormData)){return new FormData(Me)}this._overheadLength=0;this._valueLength=0;this._valuesToMeasure=[];zn.call(this);Me=Me||{};for(var Bn in Me){this[Bn]=Me[Bn]}}ni.inherits(FormData,zn);FormData.LINE_BREAK="\r\n";FormData.DEFAULT_CONTENT_TYPE="application/octet-stream";FormData.prototype.append=function(Me,Bn,Hn){Hn=Hn||{};if(typeof Hn==="string"){Hn={filename:Hn}}var ni=zn.prototype.append.bind(this);if(typeof Bn==="number"||Bn==null){Bn=String(Bn)}if(Array.isArray(Bn)){this._error(new Error("Arrays are not supported."));return}var Ci=this._multiPartHeader(Me,Bn,Hn);var ts=this._multiPartFooter();ni(Ci);ni(Bn);ni(ts);this._trackLength(Ci,Bn,Hn)};FormData.prototype._trackLength=function(Me,Bn,Hn){var zn=0;if(Hn.knownLength!=null){zn+=Number(Hn.knownLength)}else if(Buffer.isBuffer(Bn)){zn=Bn.length}else if(typeof Bn==="string"){zn=Buffer.byteLength(Bn)}this._valueLength+=zn;this._overheadLength+=Buffer.byteLength(Me)+FormData.LINE_BREAK.length;if(!Bn||!Bn.path&&!(Bn.readable&&so(Bn,"httpVersion"))&&!(Bn instanceof ca)){return}if(!Hn.knownLength){this._valuesToMeasure.push(Bn)}};FormData.prototype._lengthRetriever=function(Me,Bn){if(so(Me,"fd")){if(Me.end!=undefined&&Me.end!=Infinity&&Me.start!=undefined){Bn(null,Me.end+1-(Me.start?Me.start:0))}else{oa.stat(Me.path,(function(Hn,zn){if(Hn){Bn(Hn);return}var ni=zn.size-(Me.start?Me.start:0);Bn(null,ni)}))}}else if(so(Me,"httpVersion")){Bn(null,Number(Me.headers["content-length"]))}else if(so(Me,"httpModule")){Me.on("response",(function(Hn){Me.pause();Bn(null,Number(Hn.headers["content-length"]))}));Me.resume()}else{Bn("Unknown stream")}};FormData.prototype._multiPartHeader=function(Me,Bn,Hn){if(typeof Hn.header==="string"){return Hn.header}var zn=this._getContentDisposition(Bn,Hn);var ni=this._getContentType(Bn,Hn);var Ci="";var ts={"Content-Disposition":["form-data",'name="'+Me+'"'].concat(zn||[]),"Content-Type":[].concat(ni||[])};if(typeof Hn.header==="object"){oo(ts,Hn.header)}var Ps;for(var aa in ts){if(so(ts,aa)){Ps=ts[aa];if(Ps==null){continue}if(!Array.isArray(Ps)){Ps=[Ps]}if(Ps.length){Ci+=aa+": "+Ps.join("; ")+FormData.LINE_BREAK}}}return"--"+this.getBoundary()+FormData.LINE_BREAK+Ci+FormData.LINE_BREAK};FormData.prototype._getContentDisposition=function(Me,Bn){var Hn;if(typeof Bn.filepath==="string"){Hn=Ci.normalize(Bn.filepath).replace(/\\/g,"/")}else if(Bn.filename||Me&&(Me.name||Me.path)){Hn=Ci.basename(Bn.filename||Me&&(Me.name||Me.path))}else if(Me&&Me.readable&&so(Me,"httpVersion")){Hn=Ci.basename(Me.client._httpMessage.path||"")}if(Hn){return'filename="'+Hn+'"'}};FormData.prototype._getContentType=function(Me,Bn){var Hn=Bn.contentType;if(!Hn&&Me&&Me.name){Hn=xa.lookup(Me.name)}if(!Hn&&Me&&Me.path){Hn=xa.lookup(Me.path)}if(!Hn&&Me&&Me.readable&&so(Me,"httpVersion")){Hn=Me.headers["content-type"]}if(!Hn&&(Bn.filepath||Bn.filename)){Hn=xa.lookup(Bn.filepath||Bn.filename)}if(!Hn&&Me&&typeof Me==="object"){Hn=FormData.DEFAULT_CONTENT_TYPE}return Hn};FormData.prototype._multiPartFooter=function(){return function(Me){var Bn=FormData.LINE_BREAK;var Hn=this._streams.length===0;if(Hn){Bn+=this._lastBoundary()}Me(Bn)}.bind(this)};FormData.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"+FormData.LINE_BREAK};FormData.prototype.getHeaders=function(Me){var Bn;var Hn={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(Bn in Me){if(so(Me,Bn)){Hn[Bn.toLowerCase()]=Me[Bn]}}return Hn};FormData.prototype.setBoundary=function(Me){if(typeof Me!=="string"){throw new TypeError("FormData boundary must be a string")}this._boundary=Me};FormData.prototype.getBoundary=function(){if(!this._boundary){this._generateBoundary()}return this._boundary};FormData.prototype.getBuffer=function(){var Me=new Buffer.alloc(0);var Bn=this.getBoundary();for(var Hn=0,zn=this._streams.length;Hn{"use strict";Me.exports=function(Me,Bn){Object.keys(Bn).forEach((function(Hn){Me[Hn]=Me[Hn]||Bn[Hn]}));return Me}},99808:Me=>{"use strict";var Bn="Function.prototype.bind called on incompatible ";var Hn=Object.prototype.toString;var zn=Math.max;var ni="[object Function]";var Ci=function concatty(Me,Bn){var Hn=[];for(var zn=0;zn{"use strict";var zn=Hn(99808);Me.exports=Function.prototype.bind||zn},60470:(Me,Bn,Hn)=>{"use strict";var zn;var ni=Hn(95399);var Ci=Hn(31620);var ts=Hn(33056);var Ps=Hn(14585);var aa=Hn(46905);var oa=Hn(80105);var ca=Hn(73314);var _a=Hn(32578);var xa=Hn(55641);var Ga=Hn(96171);var Ha=Hn(57147);var so=Hn(41017);var oo=Hn(56947);var Jo=Hn(42621);var tc=Hn(30156);var dc=Function;var getEvalledConstructor=function(Me){try{return dc('"use strict"; return ('+Me+").constructor;")()}catch(Me){}};var Fc=Hn(33170);var Jc=Hn(79094);var throwTypeError=function(){throw new ca};var Dp=Fc?function(){try{arguments.callee;return throwTypeError}catch(Me){try{return Fc(arguments,"callee").get}catch(Me){return throwTypeError}}}():throwTypeError;var kp=Hn(23336)();var Qp=Hn(81967);var Up=Hn(91311);var Vp=Hn(48681);var qp=Hn(33945);var Jp=Hn(88093);var Wp={};var zp=typeof Uint8Array==="undefined"||!Qp?zn:Qp(Uint8Array);var Qf={__proto__:null,"%AggregateError%":typeof AggregateError==="undefined"?zn:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer==="undefined"?zn:ArrayBuffer,"%ArrayIteratorPrototype%":kp&&Qp?Qp([][Symbol.iterator]()):zn,"%AsyncFromSyncIteratorPrototype%":zn,"%AsyncFunction%":Wp,"%AsyncGenerator%":Wp,"%AsyncGeneratorFunction%":Wp,"%AsyncIteratorPrototype%":Wp,"%Atomics%":typeof Atomics==="undefined"?zn:Atomics,"%BigInt%":typeof BigInt==="undefined"?zn:BigInt,"%BigInt64Array%":typeof BigInt64Array==="undefined"?zn:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array==="undefined"?zn:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView==="undefined"?zn:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Ci,"%eval%":eval,"%EvalError%":ts,"%Float32Array%":typeof Float32Array==="undefined"?zn:Float32Array,"%Float64Array%":typeof Float64Array==="undefined"?zn:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry==="undefined"?zn:FinalizationRegistry,"%Function%":dc,"%GeneratorFunction%":Wp,"%Int8Array%":typeof Int8Array==="undefined"?zn:Int8Array,"%Int16Array%":typeof Int16Array==="undefined"?zn:Int16Array,"%Int32Array%":typeof Int32Array==="undefined"?zn:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":kp&&Qp?Qp(Qp([][Symbol.iterator]())):zn,"%JSON%":typeof JSON==="object"?JSON:zn,"%Map%":typeof Map==="undefined"?zn:Map,"%MapIteratorPrototype%":typeof Map==="undefined"||!kp||!Qp?zn:Qp((new Map)[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":ni,"%Object.getOwnPropertyDescriptor%":Fc,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise==="undefined"?zn:Promise,"%Proxy%":typeof Proxy==="undefined"?zn:Proxy,"%RangeError%":Ps,"%ReferenceError%":aa,"%Reflect%":typeof Reflect==="undefined"?zn:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set==="undefined"?zn:Set,"%SetIteratorPrototype%":typeof Set==="undefined"||!kp||!Qp?zn:Qp((new Set)[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer==="undefined"?zn:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":kp&&Qp?Qp(""[Symbol.iterator]()):zn,"%Symbol%":kp?Symbol:zn,"%SyntaxError%":oa,"%ThrowTypeError%":Dp,"%TypedArray%":zp,"%TypeError%":ca,"%Uint8Array%":typeof Uint8Array==="undefined"?zn:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray==="undefined"?zn:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array==="undefined"?zn:Uint16Array,"%Uint32Array%":typeof Uint32Array==="undefined"?zn:Uint32Array,"%URIError%":_a,"%WeakMap%":typeof WeakMap==="undefined"?zn:WeakMap,"%WeakRef%":typeof WeakRef==="undefined"?zn:WeakRef,"%WeakSet%":typeof WeakSet==="undefined"?zn:WeakSet,"%Function.prototype.call%":Jp,"%Function.prototype.apply%":qp,"%Object.defineProperty%":Jc,"%Object.getPrototypeOf%":Up,"%Math.abs%":xa,"%Math.floor%":Ga,"%Math.max%":Ha,"%Math.min%":so,"%Math.pow%":oo,"%Math.round%":Jo,"%Math.sign%":tc,"%Reflect.getPrototypeOf%":Vp};if(Qp){try{null.error}catch(Me){var Yf=Qp(Qp(Me));Qf["%Error.prototype%"]=Yf}}var Kf=function doEval(Me){var Bn;if(Me==="%AsyncFunction%"){Bn=getEvalledConstructor("async function () {}")}else if(Me==="%GeneratorFunction%"){Bn=getEvalledConstructor("function* () {}")}else if(Me==="%AsyncGeneratorFunction%"){Bn=getEvalledConstructor("async function* () {}")}else if(Me==="%AsyncGenerator%"){var Hn=doEval("%AsyncGeneratorFunction%");if(Hn){Bn=Hn.prototype}}else if(Me==="%AsyncIteratorPrototype%"){var zn=doEval("%AsyncGenerator%");if(zn&&Qp){Bn=Qp(zn.prototype)}}Qf[Me]=Bn;return Bn};var Xf={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]};var Ad=Hn(37564);var Cd=Hn(54076);var wd=Ad.call(Jp,Array.prototype.concat);var Sd=Ad.call(qp,Array.prototype.splice);var xd=Ad.call(Jp,String.prototype.replace);var Td=Ad.call(Jp,String.prototype.slice);var Pd=Ad.call(Jp,RegExp.prototype.exec);var Qh=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;var Zh=/\\(\\)?/g;var sA=function stringToPath(Me){var Bn=Td(Me,0,1);var Hn=Td(Me,-1);if(Bn==="%"&&Hn!=="%"){throw new oa("invalid intrinsic syntax, expected closing `%`")}else if(Hn==="%"&&Bn!=="%"){throw new oa("invalid intrinsic syntax, expected opening `%`")}var zn=[];xd(Me,Qh,(function(Me,Bn,Hn,ni){zn[zn.length]=Hn?xd(ni,Zh,"$1"):Bn||Me}));return zn};var oA=function getBaseIntrinsic(Me,Bn){var Hn=Me;var zn;if(Cd(Xf,Hn)){zn=Xf[Hn];Hn="%"+zn[0]+"%"}if(Cd(Qf,Hn)){var ni=Qf[Hn];if(ni===Wp){ni=Kf(Hn)}if(typeof ni==="undefined"&&!Bn){throw new ca("intrinsic "+Me+" exists, but is not available. Please file an issue!")}return{alias:zn,name:Hn,value:ni}}throw new oa("intrinsic "+Me+" does not exist!")};Me.exports=function GetIntrinsic(Me,Bn){if(typeof Me!=="string"||Me.length===0){throw new ca("intrinsic name must be a non-empty string")}if(arguments.length>1&&typeof Bn!=="boolean"){throw new ca('"allowMissing" argument must be a boolean')}if(Pd(/^%?[^%]*%?$/,Me)===null){throw new oa("`%` may not be present anywhere but at the beginning and end of the intrinsic name")}var Hn=sA(Me);var ni=Hn.length>0?Hn[0]:"";var Ci=oA("%"+ni+"%",Bn);var ts=Ci.name;var Ps=Ci.value;var aa=false;var _a=Ci.alias;if(_a){ni=_a[0];Sd(Hn,wd([0,1],_a))}for(var xa=1,Ga=true;xa=Hn.length){var Jo=Fc(Ps,Ha);Ga=!!Jo;if(Ga&&"get"in Jo&&!("originalValue"in Jo.get)){Ps=Jo.get}else{Ps=Ps[Ha]}}else{Ga=Cd(Ps,Ha);Ps=Ps[Ha]}if(Ga&&!aa){Qf[ts]=Ps}}}return Ps}},91311:(Me,Bn,Hn)=>{"use strict";var zn=Hn(95399);Me.exports=zn.getPrototypeOf||null},48681:Me=>{"use strict";Me.exports=typeof Reflect!=="undefined"&&Reflect.getPrototypeOf||null},81967:(Me,Bn,Hn)=>{"use strict";var zn=Hn(48681);var ni=Hn(91311);var Ci=Hn(26669);Me.exports=zn?function getProto(Me){return zn(Me)}:ni?function getProto(Me){if(!Me||typeof Me!=="object"&&typeof Me!=="function"){throw new TypeError("getProto: not an object")}return ni(Me)}:Ci?function getProto(Me){return Ci(Me)}:null},1174:Me=>{"use strict";Me.exports=Object.getOwnPropertyDescriptor},33170:(Me,Bn,Hn)=>{"use strict";var zn=Hn(1174);if(zn){try{zn([],"length")}catch(Me){zn=null}}Me.exports=zn},83813:Me=>{"use strict";Me.exports=(Me,Bn=process.argv)=>{const Hn=Me.startsWith("-")?"":Me.length===1?"-":"--";const zn=Bn.indexOf(Hn+Me);const ni=Bn.indexOf("--");return zn!==-1&&(ni===-1||zn{"use strict";var zn=typeof Symbol!=="undefined"&&Symbol;var ni=Hn(61114);Me.exports=function hasNativeSymbols(){if(typeof zn!=="function"){return false}if(typeof Symbol!=="function"){return false}if(typeof zn("foo")!=="symbol"){return false}if(typeof Symbol("bar")!=="symbol"){return false}return ni()}},61114:Me=>{"use strict";Me.exports=function hasSymbols(){if(typeof Symbol!=="function"||typeof Object.getOwnPropertySymbols!=="function"){return false}if(typeof Symbol.iterator==="symbol"){return true}var Me={};var Bn=Symbol("test");var Hn=Object(Bn);if(typeof Bn==="string"){return false}if(Object.prototype.toString.call(Bn)!=="[object Symbol]"){return false}if(Object.prototype.toString.call(Hn)!=="[object Symbol]"){return false}var zn=42;Me[Bn]=zn;for(var ni in Me){return false}if(typeof Object.keys==="function"&&Object.keys(Me).length!==0){return false}if(typeof Object.getOwnPropertyNames==="function"&&Object.getOwnPropertyNames(Me).length!==0){return false}var Ci=Object.getOwnPropertySymbols(Me);if(Ci.length!==1||Ci[0]!==Bn){return false}if(!Object.prototype.propertyIsEnumerable.call(Me,Bn)){return false}if(typeof Object.getOwnPropertyDescriptor==="function"){var ts=Object.getOwnPropertyDescriptor(Me,Bn);if(ts.value!==zn||ts.enumerable!==true){return false}}return true}},85479:(Me,Bn,Hn)=>{"use strict";var zn=Hn(61114);Me.exports=function hasToStringTagShams(){return zn()&&!!Symbol.toStringTag}},54076:(Me,Bn,Hn)=>{"use strict";var zn=Function.prototype.call;var ni=Object.prototype.hasOwnProperty;var Ci=Hn(37564);Me.exports=Ci.call(zn,ni)},74281:(Me,Bn,Hn)=>{"use strict";var zn=Hn(91950);var ni=Hn(59980);function renamed(Me,Bn){return function(){throw new Error("Function yaml."+Me+" is removed in js-yaml 4. "+"Use yaml."+Bn+" instead, which is now safe by default.")}}Me.exports.Type=Hn(9557);Me.exports.Schema=Hn(62046);Me.exports.FAILSAFE_SCHEMA=Hn(69832);Me.exports.JSON_SCHEMA=Hn(58927);Me.exports.CORE_SCHEMA=Hn(55746);Me.exports.DEFAULT_SCHEMA=Hn(97336);Me.exports.load=zn.load;Me.exports.loadAll=zn.loadAll;Me.exports.dump=ni.dump;Me.exports.YAMLException=Hn(41248);Me.exports.types={binary:Hn(8149),float:Hn(57584),map:Hn(47316),null:Hn(4333),pairs:Hn(16267),set:Hn(78758),timestamp:Hn(28966),bool:Hn(67296),int:Hn(62271),merge:Hn(76854),omap:Hn(58649),seq:Hn(77161),str:Hn(53929)};Me.exports.safeLoad=renamed("safeLoad","load");Me.exports.safeLoadAll=renamed("safeLoadAll","loadAll");Me.exports.safeDump=renamed("safeDump","dump")},19816:Me=>{"use strict";function isNothing(Me){return typeof Me==="undefined"||Me===null}function isObject(Me){return typeof Me==="object"&&Me!==null}function toArray(Me){if(Array.isArray(Me))return Me;else if(isNothing(Me))return[];return[Me]}function extend(Me,Bn){var Hn,zn,ni,Ci;if(Bn){Ci=Object.keys(Bn);for(Hn=0,zn=Ci.length;Hn{"use strict";var zn=Hn(19816);var ni=Hn(41248);var Ci=Hn(97336);var ts=Object.prototype.toString;var Ps=Object.prototype.hasOwnProperty;var aa=65279;var oa=9;var ca=10;var _a=13;var xa=32;var Ga=33;var Ha=34;var so=35;var oo=37;var Jo=38;var tc=39;var dc=42;var Fc=44;var Jc=45;var Dp=58;var kp=61;var Qp=62;var Up=63;var Vp=64;var qp=91;var Jp=93;var Wp=96;var zp=123;var Qf=124;var Yf=125;var Kf={};Kf[0]="\\0";Kf[7]="\\a";Kf[8]="\\b";Kf[9]="\\t";Kf[10]="\\n";Kf[11]="\\v";Kf[12]="\\f";Kf[13]="\\r";Kf[27]="\\e";Kf[34]='\\"';Kf[92]="\\\\";Kf[133]="\\N";Kf[160]="\\_";Kf[8232]="\\L";Kf[8233]="\\P";var Xf=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];var Ad=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function compileStyleMap(Me,Bn){var Hn,zn,ni,Ci,ts,aa,oa;if(Bn===null)return{};Hn={};zn=Object.keys(Bn);for(ni=0,Ci=zn.length;ni=55296&&Hn<=56319&&Bn+1=56320&&zn<=57343){return(Hn-55296)*1024+zn-56320+65536}}return Hn}function needIndentIndicator(Me){var Bn=/^\n* /;return Bn.test(Me)}var Sd=1,xd=2,Td=3,Pd=4,Qh=5;function chooseScalarStyle(Me,Bn,Hn,zn,ni,Ci,ts,Ps){var aa;var oa=0;var _a=null;var xa=false;var Ga=false;var Ha=zn!==-1;var so=-1;var oo=isPlainSafeFirst(codePointAt(Me,0))&&isPlainSafeLast(codePointAt(Me,Me.length-1));if(Bn||ts){for(aa=0;aa=65536?aa+=2:aa++){oa=codePointAt(Me,aa);if(!isPrintable(oa)){return Qh}oo=oo&&isPlainSafe(oa,_a,Ps);_a=oa}}else{for(aa=0;aa=65536?aa+=2:aa++){oa=codePointAt(Me,aa);if(oa===ca){xa=true;if(Ha){Ga=Ga||aa-so-1>zn&&Me[so+1]!==" ";so=aa}}else if(!isPrintable(oa)){return Qh}oo=oo&&isPlainSafe(oa,_a,Ps);_a=oa}Ga=Ga||Ha&&(aa-so-1>zn&&Me[so+1]!==" ")}if(!xa&&!Ga){if(oo&&!ts&&!ni(Me)){return Sd}return Ci===wd?Qh:xd}if(Hn>9&&needIndentIndicator(Me)){return Qh}if(!ts){return Ga?Pd:Td}return Ci===wd?Qh:xd}function writeScalar(Me,Bn,Hn,zn,Ci){Me.dump=function(){if(Bn.length===0){return Me.quotingType===wd?'""':"''"}if(!Me.noCompatMode){if(Xf.indexOf(Bn)!==-1||Ad.test(Bn)){return Me.quotingType===wd?'"'+Bn+'"':"'"+Bn+"'"}}var ts=Me.indent*Math.max(1,Hn);var Ps=Me.lineWidth===-1?-1:Math.max(Math.min(Me.lineWidth,40),Me.lineWidth-ts);var aa=zn||Me.flowLevel>-1&&Hn>=Me.flowLevel;function testAmbiguity(Bn){return testImplicitResolving(Me,Bn)}switch(chooseScalarStyle(Bn,aa,Me.indent,Ps,testAmbiguity,Me.quotingType,Me.forceQuotes&&!zn,Ci)){case Sd:return Bn;case xd:return"'"+Bn.replace(/'/g,"''")+"'";case Td:return"|"+blockHeader(Bn,Me.indent)+dropEndingNewline(indentString(Bn,ts));case Pd:return">"+blockHeader(Bn,Me.indent)+dropEndingNewline(indentString(foldString(Bn,Ps),ts));case Qh:return'"'+escapeString(Bn,Ps)+'"';default:throw new ni("impossible error: invalid scalar style")}}()}function blockHeader(Me,Bn){var Hn=needIndentIndicator(Me)?String(Bn):"";var zn=Me[Me.length-1]==="\n";var ni=zn&&(Me[Me.length-2]==="\n"||Me==="\n");var Ci=ni?"+":zn?"":"-";return Hn+Ci+"\n"}function dropEndingNewline(Me){return Me[Me.length-1]==="\n"?Me.slice(0,-1):Me}function foldString(Me,Bn){var Hn=/(\n+)([^\n]*)/g;var zn=function(){var zn=Me.indexOf("\n");zn=zn!==-1?zn:Me.length;Hn.lastIndex=zn;return foldLine(Me.slice(0,zn),Bn)}();var ni=Me[0]==="\n"||Me[0]===" ";var Ci;var ts;while(ts=Hn.exec(Me)){var Ps=ts[1],aa=ts[2];Ci=aa[0]===" ";zn+=Ps+(!ni&&!Ci&&aa!==""?"\n":"")+foldLine(aa,Bn);ni=Ci}return zn}function foldLine(Me,Bn){if(Me===""||Me[0]===" ")return Me;var Hn=/ [^ ]/g;var zn;var ni=0,Ci,ts=0,Ps=0;var aa="";while(zn=Hn.exec(Me)){Ps=zn.index;if(Ps-ni>Bn){Ci=ts>ni?ts:Ps;aa+="\n"+Me.slice(ni,Ci);ni=Ci+1}ts=Ps}aa+="\n";if(Me.length-ni>Bn&&ts>ni){aa+=Me.slice(ni,ts)+"\n"+Me.slice(ts+1)}else{aa+=Me.slice(ni)}return aa.slice(1)}function escapeString(Me){var Bn="";var Hn=0;var zn;for(var ni=0;ni=65536?ni+=2:ni++){Hn=codePointAt(Me,ni);zn=Kf[Hn];if(!zn&&isPrintable(Hn)){Bn+=Me[ni];if(Hn>=65536)Bn+=Me[ni+1]}else{Bn+=zn||encodeHex(Hn)}}return Bn}function writeFlowSequence(Me,Bn,Hn){var zn="",ni=Me.tag,Ci,ts,Ps;for(Ci=0,ts=Hn.length;Ci1024)ca+="? ";ca+=Me.dump+(Me.condenseFlow?'"':"")+":"+(Me.condenseFlow?"":" ");if(!writeNode(Me,Bn,oa,false,false)){continue}ca+=Me.dump;zn+=ca}Me.tag=ni;Me.dump="{"+zn+"}"}function writeBlockMapping(Me,Bn,Hn,zn){var Ci="",ts=Me.tag,Ps=Object.keys(Hn),aa,oa,_a,xa,Ga,Ha;if(Me.sortKeys===true){Ps.sort()}else if(typeof Me.sortKeys==="function"){Ps.sort(Me.sortKeys)}else if(Me.sortKeys){throw new ni("sortKeys must be a boolean or a function")}for(aa=0,oa=Ps.length;aa1024;if(Ga){if(Me.dump&&ca===Me.dump.charCodeAt(0)){Ha+="?"}else{Ha+="? "}}Ha+=Me.dump;if(Ga){Ha+=generateNextLine(Me,Bn)}if(!writeNode(Me,Bn+1,xa,true,Ga)){continue}if(Me.dump&&ca===Me.dump.charCodeAt(0)){Ha+=":"}else{Ha+=": "}Ha+=Me.dump;Ci+=Ha}Me.tag=ts;Me.dump=Ci||"{}"}function detectType(Me,Bn,Hn){var zn,Ci,aa,oa,ca,_a;Ci=Hn?Me.explicitTypes:Me.implicitTypes;for(aa=0,oa=Ci.length;aa tag resolver accepts not "'+_a+'" style')}Me.dump=zn}return true}}return false}function writeNode(Me,Bn,Hn,zn,Ci,Ps,aa){Me.tag=null;Me.dump=Hn;if(!detectType(Me,Hn,false)){detectType(Me,Hn,true)}var oa=ts.call(Me.dump);var ca=zn;var _a;if(zn){zn=Me.flowLevel<0||Me.flowLevel>Bn}var xa=oa==="[object Object]"||oa==="[object Array]",Ga,Ha;if(xa){Ga=Me.duplicates.indexOf(Hn);Ha=Ga!==-1}if(Me.tag!==null&&Me.tag!=="?"||Ha||Me.indent!==2&&Bn>0){Ci=false}if(Ha&&Me.usedDuplicates[Ga]){Me.dump="*ref_"+Ga}else{if(xa&&Ha&&!Me.usedDuplicates[Ga]){Me.usedDuplicates[Ga]=true}if(oa==="[object Object]"){if(zn&&Object.keys(Me.dump).length!==0){writeBlockMapping(Me,Bn,Me.dump,Ci);if(Ha){Me.dump="&ref_"+Ga+Me.dump}}else{writeFlowMapping(Me,Bn,Me.dump);if(Ha){Me.dump="&ref_"+Ga+" "+Me.dump}}}else if(oa==="[object Array]"){if(zn&&Me.dump.length!==0){if(Me.noArrayIndent&&!aa&&Bn>0){writeBlockSequence(Me,Bn-1,Me.dump,Ci)}else{writeBlockSequence(Me,Bn,Me.dump,Ci)}if(Ha){Me.dump="&ref_"+Ga+Me.dump}}else{writeFlowSequence(Me,Bn,Me.dump);if(Ha){Me.dump="&ref_"+Ga+" "+Me.dump}}}else if(oa==="[object String]"){if(Me.tag!=="?"){writeScalar(Me,Me.dump,Bn,Ps,ca)}}else if(oa==="[object Undefined]"){return false}else{if(Me.skipInvalid)return false;throw new ni("unacceptable kind of an object to dump "+oa)}if(Me.tag!==null&&Me.tag!=="?"){_a=encodeURI(Me.tag[0]==="!"?Me.tag.slice(1):Me.tag).replace(/!/g,"%21");if(Me.tag[0]==="!"){_a="!"+_a}else if(_a.slice(0,18)==="tag:yaml.org,2002:"){_a="!!"+_a.slice(18)}else{_a="!<"+_a+">"}Me.dump=_a+" "+Me.dump}}return true}function getDuplicateReferences(Me,Bn){var Hn=[],zn=[],ni,Ci;inspectNode(Me,Hn,zn);for(ni=0,Ci=zn.length;ni{"use strict";function formatError(Me,Bn){var Hn="",zn=Me.reason||"(unknown reason)";if(!Me.mark)return zn;if(Me.mark.name){Hn+='in "'+Me.mark.name+'" '}Hn+="("+(Me.mark.line+1)+":"+(Me.mark.column+1)+")";if(!Bn&&Me.mark.snippet){Hn+="\n\n"+Me.mark.snippet}return zn+" "+Hn}function YAMLException(Me,Bn){Error.call(this);this.name="YAMLException";this.reason=Me;this.mark=Bn;this.message=formatError(this,false);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}else{this.stack=(new Error).stack||""}}YAMLException.prototype=Object.create(Error.prototype);YAMLException.prototype.constructor=YAMLException;YAMLException.prototype.toString=function toString(Me){return this.name+": "+formatError(this,Me)};Me.exports=YAMLException},91950:(Me,Bn,Hn)=>{"use strict";var zn=Hn(19816);var ni=Hn(41248);var Ci=Hn(9440);var ts=Hn(97336);var Ps=Object.prototype.hasOwnProperty;var aa=1;var oa=2;var ca=3;var _a=4;var xa=1;var Ga=2;var Ha=3;var so=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;var oo=/[\x85\u2028\u2029]/;var Jo=/[,\[\]\{\}]/;var tc=/^(?:!|!!|![a-z\-]+!)$/i;var dc=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function _class(Me){return Object.prototype.toString.call(Me)}function is_EOL(Me){return Me===10||Me===13}function is_WHITE_SPACE(Me){return Me===9||Me===32}function is_WS_OR_EOL(Me){return Me===9||Me===32||Me===10||Me===13}function is_FLOW_INDICATOR(Me){return Me===44||Me===91||Me===93||Me===123||Me===125}function fromHexCode(Me){var Bn;if(48<=Me&&Me<=57){return Me-48}Bn=Me|32;if(97<=Bn&&Bn<=102){return Bn-97+10}return-1}function escapedHexLen(Me){if(Me===120){return 2}if(Me===117){return 4}if(Me===85){return 8}return 0}function fromDecimalCode(Me){if(48<=Me&&Me<=57){return Me-48}return-1}function simpleEscapeSequence(Me){return Me===48?"\0":Me===97?"":Me===98?"\b":Me===116?"\t":Me===9?"\t":Me===110?"\n":Me===118?"\v":Me===102?"\f":Me===114?"\r":Me===101?"":Me===32?" ":Me===34?'"':Me===47?"/":Me===92?"\\":Me===78?"…":Me===95?" ":Me===76?"\u2028":Me===80?"\u2029":""}function charFromCodepoint(Me){if(Me<=65535){return String.fromCharCode(Me)}return String.fromCharCode((Me-65536>>10)+55296,(Me-65536&1023)+56320)}function setProperty(Me,Bn,Hn){if(Bn==="__proto__"){Object.defineProperty(Me,Bn,{configurable:true,enumerable:true,writable:true,value:Hn})}else{Me[Bn]=Hn}}var Fc=new Array(256);var Jc=new Array(256);for(var Dp=0;Dp<256;Dp++){Fc[Dp]=simpleEscapeSequence(Dp)?1:0;Jc[Dp]=simpleEscapeSequence(Dp)}function State(Me,Bn){this.input=Me;this.filename=Bn["filename"]||null;this.schema=Bn["schema"]||ts;this.onWarning=Bn["onWarning"]||null;this.legacy=Bn["legacy"]||false;this.json=Bn["json"]||false;this.listener=Bn["listener"]||null;this.implicitTypes=this.schema.compiledImplicit;this.typeMap=this.schema.compiledTypeMap;this.length=Me.length;this.position=0;this.line=0;this.lineStart=0;this.lineIndent=0;this.firstTabInLine=-1;this.documents=[]}function generateError(Me,Bn){var Hn={name:Me.filename,buffer:Me.input.slice(0,-1),position:Me.position,line:Me.line,column:Me.position-Me.lineStart};Hn.snippet=Ci(Hn);return new ni(Bn,Hn)}function throwError(Me,Bn){throw generateError(Me,Bn)}function throwWarning(Me,Bn){if(Me.onWarning){Me.onWarning.call(null,generateError(Me,Bn))}}var kp={YAML:function handleYamlDirective(Me,Bn,Hn){var zn,ni,Ci;if(Me.version!==null){throwError(Me,"duplication of %YAML directive")}if(Hn.length!==1){throwError(Me,"YAML directive accepts exactly one argument")}zn=/^([0-9]+)\.([0-9]+)$/.exec(Hn[0]);if(zn===null){throwError(Me,"ill-formed argument of the YAML directive")}ni=parseInt(zn[1],10);Ci=parseInt(zn[2],10);if(ni!==1){throwError(Me,"unacceptable YAML version of the document")}Me.version=Hn[0];Me.checkLineBreaks=Ci<2;if(Ci!==1&&Ci!==2){throwWarning(Me,"unsupported YAML version of the document")}},TAG:function handleTagDirective(Me,Bn,Hn){var zn,ni;if(Hn.length!==2){throwError(Me,"TAG directive accepts exactly two arguments")}zn=Hn[0];ni=Hn[1];if(!tc.test(zn)){throwError(Me,"ill-formed tag handle (first argument) of the TAG directive")}if(Ps.call(Me.tagMap,zn)){throwError(Me,'there is a previously declared suffix for "'+zn+'" tag handle')}if(!dc.test(ni)){throwError(Me,"ill-formed tag prefix (second argument) of the TAG directive")}try{ni=decodeURIComponent(ni)}catch(Bn){throwError(Me,"tag prefix is malformed: "+ni)}Me.tagMap[zn]=ni}};function captureSegment(Me,Bn,Hn,zn){var ni,Ci,ts,Ps;if(Bn1){Me.result+=zn.repeat("\n",Bn-1)}}function readPlainScalar(Me,Bn,Hn){var zn,ni,Ci,ts,Ps,aa,oa,ca,_a=Me.kind,xa=Me.result,Ga;Ga=Me.input.charCodeAt(Me.position);if(is_WS_OR_EOL(Ga)||is_FLOW_INDICATOR(Ga)||Ga===35||Ga===38||Ga===42||Ga===33||Ga===124||Ga===62||Ga===39||Ga===34||Ga===37||Ga===64||Ga===96){return false}if(Ga===63||Ga===45){ni=Me.input.charCodeAt(Me.position+1);if(is_WS_OR_EOL(ni)||Hn&&is_FLOW_INDICATOR(ni)){return false}}Me.kind="scalar";Me.result="";Ci=ts=Me.position;Ps=false;while(Ga!==0){if(Ga===58){ni=Me.input.charCodeAt(Me.position+1);if(is_WS_OR_EOL(ni)||Hn&&is_FLOW_INDICATOR(ni)){break}}else if(Ga===35){zn=Me.input.charCodeAt(Me.position-1);if(is_WS_OR_EOL(zn)){break}}else if(Me.position===Me.lineStart&&testDocumentSeparator(Me)||Hn&&is_FLOW_INDICATOR(Ga)){break}else if(is_EOL(Ga)){aa=Me.line;oa=Me.lineStart;ca=Me.lineIndent;skipSeparationSpace(Me,false,-1);if(Me.lineIndent>=Bn){Ps=true;Ga=Me.input.charCodeAt(Me.position);continue}else{Me.position=ts;Me.line=aa;Me.lineStart=oa;Me.lineIndent=ca;break}}if(Ps){captureSegment(Me,Ci,ts,false);writeFoldedLines(Me,Me.line-aa);Ci=ts=Me.position;Ps=false}if(!is_WHITE_SPACE(Ga)){ts=Me.position+1}Ga=Me.input.charCodeAt(++Me.position)}captureSegment(Me,Ci,ts,false);if(Me.result){return true}Me.kind=_a;Me.result=xa;return false}function readSingleQuotedScalar(Me,Bn){var Hn,zn,ni;Hn=Me.input.charCodeAt(Me.position);if(Hn!==39){return false}Me.kind="scalar";Me.result="";Me.position++;zn=ni=Me.position;while((Hn=Me.input.charCodeAt(Me.position))!==0){if(Hn===39){captureSegment(Me,zn,Me.position,true);Hn=Me.input.charCodeAt(++Me.position);if(Hn===39){zn=Me.position;Me.position++;ni=Me.position}else{return true}}else if(is_EOL(Hn)){captureSegment(Me,zn,ni,true);writeFoldedLines(Me,skipSeparationSpace(Me,false,Bn));zn=ni=Me.position}else if(Me.position===Me.lineStart&&testDocumentSeparator(Me)){throwError(Me,"unexpected end of the document within a single quoted scalar")}else{Me.position++;ni=Me.position}}throwError(Me,"unexpected end of the stream within a single quoted scalar")}function readDoubleQuotedScalar(Me,Bn){var Hn,zn,ni,Ci,ts,Ps;Ps=Me.input.charCodeAt(Me.position);if(Ps!==34){return false}Me.kind="scalar";Me.result="";Me.position++;Hn=zn=Me.position;while((Ps=Me.input.charCodeAt(Me.position))!==0){if(Ps===34){captureSegment(Me,Hn,Me.position,true);Me.position++;return true}else if(Ps===92){captureSegment(Me,Hn,Me.position,true);Ps=Me.input.charCodeAt(++Me.position);if(is_EOL(Ps)){skipSeparationSpace(Me,false,Bn)}else if(Ps<256&&Fc[Ps]){Me.result+=Jc[Ps];Me.position++}else if((ts=escapedHexLen(Ps))>0){ni=ts;Ci=0;for(;ni>0;ni--){Ps=Me.input.charCodeAt(++Me.position);if((ts=fromHexCode(Ps))>=0){Ci=(Ci<<4)+ts}else{throwError(Me,"expected hexadecimal character")}}Me.result+=charFromCodepoint(Ci);Me.position++}else{throwError(Me,"unknown escape sequence")}Hn=zn=Me.position}else if(is_EOL(Ps)){captureSegment(Me,Hn,zn,true);writeFoldedLines(Me,skipSeparationSpace(Me,false,Bn));Hn=zn=Me.position}else if(Me.position===Me.lineStart&&testDocumentSeparator(Me)){throwError(Me,"unexpected end of the document within a double quoted scalar")}else{Me.position++;zn=Me.position}}throwError(Me,"unexpected end of the stream within a double quoted scalar")}function readFlowCollection(Me,Bn){var Hn=true,zn,ni,Ci,ts=Me.tag,Ps,oa=Me.anchor,ca,_a,xa,Ga,Ha,so=Object.create(null),oo,Jo,tc,dc;dc=Me.input.charCodeAt(Me.position);if(dc===91){_a=93;Ha=false;Ps=[]}else if(dc===123){_a=125;Ha=true;Ps={}}else{return false}if(Me.anchor!==null){Me.anchorMap[Me.anchor]=Ps}dc=Me.input.charCodeAt(++Me.position);while(dc!==0){skipSeparationSpace(Me,true,Bn);dc=Me.input.charCodeAt(Me.position);if(dc===_a){Me.position++;Me.tag=ts;Me.anchor=oa;Me.kind=Ha?"mapping":"sequence";Me.result=Ps;return true}else if(!Hn){throwError(Me,"missed comma between flow collection entries")}else if(dc===44){throwError(Me,"expected the node content, but found ','")}Jo=oo=tc=null;xa=Ga=false;if(dc===63){ca=Me.input.charCodeAt(Me.position+1);if(is_WS_OR_EOL(ca)){xa=Ga=true;Me.position++;skipSeparationSpace(Me,true,Bn)}}zn=Me.line;ni=Me.lineStart;Ci=Me.position;composeNode(Me,Bn,aa,false,true);Jo=Me.tag;oo=Me.result;skipSeparationSpace(Me,true,Bn);dc=Me.input.charCodeAt(Me.position);if((Ga||Me.line===zn)&&dc===58){xa=true;dc=Me.input.charCodeAt(++Me.position);skipSeparationSpace(Me,true,Bn);composeNode(Me,Bn,aa,false,true);tc=Me.result}if(Ha){storeMappingPair(Me,Ps,so,Jo,oo,tc,zn,ni,Ci)}else if(xa){Ps.push(storeMappingPair(Me,null,so,Jo,oo,tc,zn,ni,Ci))}else{Ps.push(oo)}skipSeparationSpace(Me,true,Bn);dc=Me.input.charCodeAt(Me.position);if(dc===44){Hn=true;dc=Me.input.charCodeAt(++Me.position)}else{Hn=false}}throwError(Me,"unexpected end of the stream within a flow collection")}function readBlockScalar(Me,Bn){var Hn,ni,Ci=xa,ts=false,Ps=false,aa=Bn,oa=0,ca=false,_a,so;so=Me.input.charCodeAt(Me.position);if(so===124){ni=false}else if(so===62){ni=true}else{return false}Me.kind="scalar";Me.result="";while(so!==0){so=Me.input.charCodeAt(++Me.position);if(so===43||so===45){if(xa===Ci){Ci=so===43?Ha:Ga}else{throwError(Me,"repeat of a chomping mode identifier")}}else if((_a=fromDecimalCode(so))>=0){if(_a===0){throwError(Me,"bad explicit indentation width of a block scalar; it cannot be less than one")}else if(!Ps){aa=Bn+_a-1;Ps=true}else{throwError(Me,"repeat of an indentation width identifier")}}else{break}}if(is_WHITE_SPACE(so)){do{so=Me.input.charCodeAt(++Me.position)}while(is_WHITE_SPACE(so));if(so===35){do{so=Me.input.charCodeAt(++Me.position)}while(!is_EOL(so)&&so!==0)}}while(so!==0){readLineBreak(Me);Me.lineIndent=0;so=Me.input.charCodeAt(Me.position);while((!Ps||Me.lineIndentaa){aa=Me.lineIndent}if(is_EOL(so)){oa++;continue}if(Me.lineIndentBn)&&aa!==0){throwError(Me,"bad indentation of a sequence entry")}else if(Me.lineIndentBn){if(tc){ts=Me.line;Ps=Me.lineStart;aa=Me.position}if(composeNode(Me,Bn,_a,true,ni)){if(tc){oo=Me.result}else{Jo=Me.result}}if(!tc){storeMappingPair(Me,Ga,Ha,so,oo,Jo,ts,Ps,aa);so=oo=Jo=null}skipSeparationSpace(Me,true,-1);Fc=Me.input.charCodeAt(Me.position)}if((Me.line===Ci||Me.lineIndent>Bn)&&Fc!==0){throwError(Me,"bad indentation of a mapping entry")}else if(Me.lineIndentBn){Ga=1}else if(Me.lineIndent===Bn){Ga=0}else if(Me.lineIndentBn){Ga=1}else if(Me.lineIndent===Bn){Ga=0}else if(Me.lineIndent tag; it should be "scalar", not "'+Me.kind+'"')}for(oo=0,Jo=Me.implicitTypes.length;oo")}if(Me.result!==null&&dc.kind!==Me.kind){throwError(Me,"unacceptable node kind for !<"+Me.tag+'> tag; it should be "'+dc.kind+'", not "'+Me.kind+'"')}if(!dc.resolve(Me.result,Me.tag)){throwError(Me,"cannot resolve a node with !<"+Me.tag+"> explicit tag")}else{Me.result=dc.construct(Me.result,Me.tag);if(Me.anchor!==null){Me.anchorMap[Me.anchor]=Me.result}}}if(Me.listener!==null){Me.listener("close",Me)}return Me.tag!==null||Me.anchor!==null||so}function readDocument(Me){var Bn=Me.position,Hn,zn,ni,Ci=false,ts;Me.version=null;Me.checkLineBreaks=Me.legacy;Me.tagMap=Object.create(null);Me.anchorMap=Object.create(null);while((ts=Me.input.charCodeAt(Me.position))!==0){skipSeparationSpace(Me,true,-1);ts=Me.input.charCodeAt(Me.position);if(Me.lineIndent>0||ts!==37){break}Ci=true;ts=Me.input.charCodeAt(++Me.position);Hn=Me.position;while(ts!==0&&!is_WS_OR_EOL(ts)){ts=Me.input.charCodeAt(++Me.position)}zn=Me.input.slice(Hn,Me.position);ni=[];if(zn.length<1){throwError(Me,"directive name must not be less than one character in length")}while(ts!==0){while(is_WHITE_SPACE(ts)){ts=Me.input.charCodeAt(++Me.position)}if(ts===35){do{ts=Me.input.charCodeAt(++Me.position)}while(ts!==0&&!is_EOL(ts));break}if(is_EOL(ts))break;Hn=Me.position;while(ts!==0&&!is_WS_OR_EOL(ts)){ts=Me.input.charCodeAt(++Me.position)}ni.push(Me.input.slice(Hn,Me.position))}if(ts!==0)readLineBreak(Me);if(Ps.call(kp,zn)){kp[zn](Me,zn,ni)}else{throwWarning(Me,'unknown document directive "'+zn+'"')}}skipSeparationSpace(Me,true,-1);if(Me.lineIndent===0&&Me.input.charCodeAt(Me.position)===45&&Me.input.charCodeAt(Me.position+1)===45&&Me.input.charCodeAt(Me.position+2)===45){Me.position+=3;skipSeparationSpace(Me,true,-1)}else if(Ci){throwError(Me,"directives end mark is expected")}composeNode(Me,Me.lineIndent-1,_a,false,true);skipSeparationSpace(Me,true,-1);if(Me.checkLineBreaks&&oo.test(Me.input.slice(Bn,Me.position))){throwWarning(Me,"non-ASCII line breaks are interpreted as content")}Me.documents.push(Me.result);if(Me.position===Me.lineStart&&testDocumentSeparator(Me)){if(Me.input.charCodeAt(Me.position)===46){Me.position+=3;skipSeparationSpace(Me,true,-1)}return}if(Me.position{"use strict";var zn=Hn(41248);var ni=Hn(9557);function compileList(Me,Bn){var Hn=[];Me[Bn].forEach((function(Me){var Bn=Hn.length;Hn.forEach((function(Hn,zn){if(Hn.tag===Me.tag&&Hn.kind===Me.kind&&Hn.multi===Me.multi){Bn=zn}}));Hn[Bn]=Me}));return Hn}function compileMap(){var Me={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},Bn,Hn;function collectType(Bn){if(Bn.multi){Me.multi[Bn.kind].push(Bn);Me.multi["fallback"].push(Bn)}else{Me[Bn.kind][Bn.tag]=Me["fallback"][Bn.tag]=Bn}}for(Bn=0,Hn=arguments.length;Bn{"use strict";Me.exports=Hn(58927)},97336:(Me,Bn,Hn)=>{"use strict";Me.exports=Hn(55746).extend({implicit:[Hn(28966),Hn(76854)],explicit:[Hn(8149),Hn(58649),Hn(16267),Hn(78758)]})},69832:(Me,Bn,Hn)=>{"use strict";var zn=Hn(62046);Me.exports=new zn({explicit:[Hn(53929),Hn(77161),Hn(47316)]})},58927:(Me,Bn,Hn)=>{"use strict";Me.exports=Hn(69832).extend({implicit:[Hn(4333),Hn(67296),Hn(62271),Hn(57584)]})},9440:(Me,Bn,Hn)=>{"use strict";var zn=Hn(19816);function getLine(Me,Bn,Hn,zn,ni){var Ci="";var ts="";var Ps=Math.floor(ni/2)-1;if(zn-Bn>Ps){Ci=" ... ";Bn=zn-Ps+Ci.length}if(Hn-zn>Ps){ts=" ...";Hn=zn+Ps-ts.length}return{str:Ci+Me.slice(Bn,Hn).replace(/\t/g,"→")+ts,pos:zn-Bn+Ci.length}}function padStart(Me,Bn){return zn.repeat(" ",Bn-Me.length)+Me}function makeSnippet(Me,Bn){Bn=Object.create(Bn||null);if(!Me.buffer)return null;if(!Bn.maxLength)Bn.maxLength=79;if(typeof Bn.indent!=="number")Bn.indent=1;if(typeof Bn.linesBefore!=="number")Bn.linesBefore=3;if(typeof Bn.linesAfter!=="number")Bn.linesAfter=2;var Hn=/\r?\n|\r|\0/g;var ni=[0];var Ci=[];var ts;var Ps=-1;while(ts=Hn.exec(Me.buffer)){Ci.push(ts.index);ni.push(ts.index+ts[0].length);if(Me.position<=ts.index&&Ps<0){Ps=ni.length-2}}if(Ps<0)Ps=ni.length-1;var aa="",oa,ca;var _a=Math.min(Me.line+Bn.linesAfter,Ci.length).toString().length;var xa=Bn.maxLength-(Bn.indent+_a+3);for(oa=1;oa<=Bn.linesBefore;oa++){if(Ps-oa<0)break;ca=getLine(Me.buffer,ni[Ps-oa],Ci[Ps-oa],Me.position-(ni[Ps]-ni[Ps-oa]),xa);aa=zn.repeat(" ",Bn.indent)+padStart((Me.line-oa+1).toString(),_a)+" | "+ca.str+"\n"+aa}ca=getLine(Me.buffer,ni[Ps],Ci[Ps],Me.position,xa);aa+=zn.repeat(" ",Bn.indent)+padStart((Me.line+1).toString(),_a)+" | "+ca.str+"\n";aa+=zn.repeat("-",Bn.indent+_a+3+ca.pos)+"^"+"\n";for(oa=1;oa<=Bn.linesAfter;oa++){if(Ps+oa>=Ci.length)break;ca=getLine(Me.buffer,ni[Ps+oa],Ci[Ps+oa],Me.position-(ni[Ps]-ni[Ps+oa]),xa);aa+=zn.repeat(" ",Bn.indent)+padStart((Me.line+oa+1).toString(),_a)+" | "+ca.str+"\n"}return aa.replace(/\n$/,"")}Me.exports=makeSnippet},9557:(Me,Bn,Hn)=>{"use strict";var zn=Hn(41248);var ni=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"];var Ci=["scalar","sequence","mapping"];function compileStyleAliases(Me){var Bn={};if(Me!==null){Object.keys(Me).forEach((function(Hn){Me[Hn].forEach((function(Me){Bn[String(Me)]=Hn}))}))}return Bn}function Type(Me,Bn){Bn=Bn||{};Object.keys(Bn).forEach((function(Bn){if(ni.indexOf(Bn)===-1){throw new zn('Unknown option "'+Bn+'" is met in definition of "'+Me+'" YAML type.')}}));this.options=Bn;this.tag=Me;this.kind=Bn["kind"]||null;this.resolve=Bn["resolve"]||function(){return true};this.construct=Bn["construct"]||function(Me){return Me};this.instanceOf=Bn["instanceOf"]||null;this.predicate=Bn["predicate"]||null;this.represent=Bn["represent"]||null;this.representName=Bn["representName"]||null;this.defaultStyle=Bn["defaultStyle"]||null;this.multi=Bn["multi"]||false;this.styleAliases=compileStyleAliases(Bn["styleAliases"]||null);if(Ci.indexOf(this.kind)===-1){throw new zn('Unknown kind "'+this.kind+'" is specified for "'+Me+'" YAML type.')}}Me.exports=Type},8149:(Me,Bn,Hn)=>{"use strict";var zn=Hn(9557);var ni="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";function resolveYamlBinary(Me){if(Me===null)return false;var Bn,Hn,zn=0,Ci=Me.length,ts=ni;for(Hn=0;Hn64)continue;if(Bn<0)return false;zn+=6}return zn%8===0}function constructYamlBinary(Me){var Bn,Hn,zn=Me.replace(/[\r\n=]/g,""),Ci=zn.length,ts=ni,Ps=0,aa=[];for(Bn=0;Bn>16&255);aa.push(Ps>>8&255);aa.push(Ps&255)}Ps=Ps<<6|ts.indexOf(zn.charAt(Bn))}Hn=Ci%4*6;if(Hn===0){aa.push(Ps>>16&255);aa.push(Ps>>8&255);aa.push(Ps&255)}else if(Hn===18){aa.push(Ps>>10&255);aa.push(Ps>>2&255)}else if(Hn===12){aa.push(Ps>>4&255)}return new Uint8Array(aa)}function representYamlBinary(Me){var Bn="",Hn=0,zn,Ci,ts=Me.length,Ps=ni;for(zn=0;zn>18&63];Bn+=Ps[Hn>>12&63];Bn+=Ps[Hn>>6&63];Bn+=Ps[Hn&63]}Hn=(Hn<<8)+Me[zn]}Ci=ts%3;if(Ci===0){Bn+=Ps[Hn>>18&63];Bn+=Ps[Hn>>12&63];Bn+=Ps[Hn>>6&63];Bn+=Ps[Hn&63]}else if(Ci===2){Bn+=Ps[Hn>>10&63];Bn+=Ps[Hn>>4&63];Bn+=Ps[Hn<<2&63];Bn+=Ps[64]}else if(Ci===1){Bn+=Ps[Hn>>2&63];Bn+=Ps[Hn<<4&63];Bn+=Ps[64];Bn+=Ps[64]}return Bn}function isBinary(Me){return Object.prototype.toString.call(Me)==="[object Uint8Array]"}Me.exports=new zn("tag:yaml.org,2002:binary",{kind:"scalar",resolve:resolveYamlBinary,construct:constructYamlBinary,predicate:isBinary,represent:representYamlBinary})},67296:(Me,Bn,Hn)=>{"use strict";var zn=Hn(9557);function resolveYamlBoolean(Me){if(Me===null)return false;var Bn=Me.length;return Bn===4&&(Me==="true"||Me==="True"||Me==="TRUE")||Bn===5&&(Me==="false"||Me==="False"||Me==="FALSE")}function constructYamlBoolean(Me){return Me==="true"||Me==="True"||Me==="TRUE"}function isBoolean(Me){return Object.prototype.toString.call(Me)==="[object Boolean]"}Me.exports=new zn("tag:yaml.org,2002:bool",{kind:"scalar",resolve:resolveYamlBoolean,construct:constructYamlBoolean,predicate:isBoolean,represent:{lowercase:function(Me){return Me?"true":"false"},uppercase:function(Me){return Me?"TRUE":"FALSE"},camelcase:function(Me){return Me?"True":"False"}},defaultStyle:"lowercase"})},57584:(Me,Bn,Hn)=>{"use strict";var zn=Hn(19816);var ni=Hn(9557);var Ci=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?"+"|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?"+"|[-+]?\\.(?:inf|Inf|INF)"+"|\\.(?:nan|NaN|NAN))$");function resolveYamlFloat(Me){if(Me===null)return false;if(!Ci.test(Me)||Me[Me.length-1]==="_"){return false}return true}function constructYamlFloat(Me){var Bn,Hn;Bn=Me.replace(/_/g,"").toLowerCase();Hn=Bn[0]==="-"?-1:1;if("+-".indexOf(Bn[0])>=0){Bn=Bn.slice(1)}if(Bn===".inf"){return Hn===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY}else if(Bn===".nan"){return NaN}return Hn*parseFloat(Bn,10)}var ts=/^[-+]?[0-9]+e/;function representYamlFloat(Me,Bn){var Hn;if(isNaN(Me)){switch(Bn){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}}else if(Number.POSITIVE_INFINITY===Me){switch(Bn){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}}else if(Number.NEGATIVE_INFINITY===Me){switch(Bn){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}}else if(zn.isNegativeZero(Me)){return"-0.0"}Hn=Me.toString(10);return ts.test(Hn)?Hn.replace("e",".e"):Hn}function isFloat(Me){return Object.prototype.toString.call(Me)==="[object Number]"&&(Me%1!==0||zn.isNegativeZero(Me))}Me.exports=new ni("tag:yaml.org,2002:float",{kind:"scalar",resolve:resolveYamlFloat,construct:constructYamlFloat,predicate:isFloat,represent:representYamlFloat,defaultStyle:"lowercase"})},62271:(Me,Bn,Hn)=>{"use strict";var zn=Hn(19816);var ni=Hn(9557);function isHexCode(Me){return 48<=Me&&Me<=57||65<=Me&&Me<=70||97<=Me&&Me<=102}function isOctCode(Me){return 48<=Me&&Me<=55}function isDecCode(Me){return 48<=Me&&Me<=57}function resolveYamlInteger(Me){if(Me===null)return false;var Bn=Me.length,Hn=0,zn=false,ni;if(!Bn)return false;ni=Me[Hn];if(ni==="-"||ni==="+"){ni=Me[++Hn]}if(ni==="0"){if(Hn+1===Bn)return true;ni=Me[++Hn];if(ni==="b"){Hn++;for(;Hn=0?"0b"+Me.toString(2):"-0b"+Me.toString(2).slice(1)},octal:function(Me){return Me>=0?"0o"+Me.toString(8):"-0o"+Me.toString(8).slice(1)},decimal:function(Me){return Me.toString(10)},hexadecimal:function(Me){return Me>=0?"0x"+Me.toString(16).toUpperCase():"-0x"+Me.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},47316:(Me,Bn,Hn)=>{"use strict";var zn=Hn(9557);Me.exports=new zn("tag:yaml.org,2002:map",{kind:"mapping",construct:function(Me){return Me!==null?Me:{}}})},76854:(Me,Bn,Hn)=>{"use strict";var zn=Hn(9557);function resolveYamlMerge(Me){return Me==="<<"||Me===null}Me.exports=new zn("tag:yaml.org,2002:merge",{kind:"scalar",resolve:resolveYamlMerge})},4333:(Me,Bn,Hn)=>{"use strict";var zn=Hn(9557);function resolveYamlNull(Me){if(Me===null)return true;var Bn=Me.length;return Bn===1&&Me==="~"||Bn===4&&(Me==="null"||Me==="Null"||Me==="NULL")}function constructYamlNull(){return null}function isNull(Me){return Me===null}Me.exports=new zn("tag:yaml.org,2002:null",{kind:"scalar",resolve:resolveYamlNull,construct:constructYamlNull,predicate:isNull,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"})},58649:(Me,Bn,Hn)=>{"use strict";var zn=Hn(9557);var ni=Object.prototype.hasOwnProperty;var Ci=Object.prototype.toString;function resolveYamlOmap(Me){if(Me===null)return true;var Bn=[],Hn,zn,ts,Ps,aa,oa=Me;for(Hn=0,zn=oa.length;Hn{"use strict";var zn=Hn(9557);var ni=Object.prototype.toString;function resolveYamlPairs(Me){if(Me===null)return true;var Bn,Hn,zn,Ci,ts,Ps=Me;ts=new Array(Ps.length);for(Bn=0,Hn=Ps.length;Bn{"use strict";var zn=Hn(9557);Me.exports=new zn("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(Me){return Me!==null?Me:[]}})},78758:(Me,Bn,Hn)=>{"use strict";var zn=Hn(9557);var ni=Object.prototype.hasOwnProperty;function resolveYamlSet(Me){if(Me===null)return true;var Bn,Hn=Me;for(Bn in Hn){if(ni.call(Hn,Bn)){if(Hn[Bn]!==null)return false}}return true}function constructYamlSet(Me){return Me!==null?Me:{}}Me.exports=new zn("tag:yaml.org,2002:set",{kind:"mapping",resolve:resolveYamlSet,construct:constructYamlSet})},53929:(Me,Bn,Hn)=>{"use strict";var zn=Hn(9557);Me.exports=new zn("tag:yaml.org,2002:str",{kind:"scalar",construct:function(Me){return Me!==null?Me:""}})},28966:(Me,Bn,Hn)=>{"use strict";var zn=Hn(9557);var ni=new RegExp("^([0-9][0-9][0-9][0-9])"+"-([0-9][0-9])"+"-([0-9][0-9])$");var Ci=new RegExp("^([0-9][0-9][0-9][0-9])"+"-([0-9][0-9]?)"+"-([0-9][0-9]?)"+"(?:[Tt]|[ \\t]+)"+"([0-9][0-9]?)"+":([0-9][0-9])"+":([0-9][0-9])"+"(?:\\.([0-9]*))?"+"(?:[ \\t]*(Z|([-+])([0-9][0-9]?)"+"(?::([0-9][0-9]))?))?$");function resolveYamlTimestamp(Me){if(Me===null)return false;if(ni.exec(Me)!==null)return true;if(Ci.exec(Me)!==null)return true;return false}function constructYamlTimestamp(Me){var Bn,Hn,zn,ts,Ps,aa,oa,ca=0,_a=null,xa,Ga,Ha;Bn=ni.exec(Me);if(Bn===null)Bn=Ci.exec(Me);if(Bn===null)throw new Error("Date resolve error");Hn=+Bn[1];zn=+Bn[2]-1;ts=+Bn[3];if(!Bn[4]){return new Date(Date.UTC(Hn,zn,ts))}Ps=+Bn[4];aa=+Bn[5];oa=+Bn[6];if(Bn[7]){ca=Bn[7].slice(0,3);while(ca.length<3){ca+="0"}ca=+ca}if(Bn[9]){xa=+Bn[10];Ga=+(Bn[11]||0);_a=(xa*60+Ga)*6e4;if(Bn[9]==="-")_a=-_a}Ha=new Date(Date.UTC(Hn,zn,ts,Ps,aa,oa,ca));if(_a)Ha.setTime(Ha.getTime()-_a);return Ha}function representYamlTimestamp(Me){return Me.toISOString()}Me.exports=new zn("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:resolveYamlTimestamp,construct:constructYamlTimestamp,instanceOf:Date,represent:representYamlTimestamp})},92047:(Me,Bn,Hn)=>{var zn=Hn(33324);Me.exports=function(Me,Bn){Bn=Bn||{};var Hn=zn.decode(Me,Bn);if(!Hn){return null}var ni=Hn.payload;if(typeof ni==="string"){try{var Ci=JSON.parse(ni);if(Ci!==null&&typeof Ci==="object"){ni=Ci}}catch(Me){}}if(Bn.complete===true){return{header:Hn.header,payload:ni,signature:Hn.signature}}return ni}},69653:(Me,Bn,Hn)=>{Me.exports={decode:Hn(92047),verify:Hn(60772),sign:Hn(14912),JsonWebTokenError:Hn(26248),NotBeforeError:Hn(91269),TokenExpiredError:Hn(41241)}},26248:Me=>{var JsonWebTokenError=function(Me,Bn){Error.call(this,Me);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="JsonWebTokenError";this.message=Me;if(Bn)this.inner=Bn};JsonWebTokenError.prototype=Object.create(Error.prototype);JsonWebTokenError.prototype.constructor=JsonWebTokenError;Me.exports=JsonWebTokenError},91269:(Me,Bn,Hn)=>{var zn=Hn(26248);var NotBeforeError=function(Me,Bn){zn.call(this,Me);this.name="NotBeforeError";this.date=Bn};NotBeforeError.prototype=Object.create(zn.prototype);NotBeforeError.prototype.constructor=NotBeforeError;Me.exports=NotBeforeError},41241:(Me,Bn,Hn)=>{var zn=Hn(26248);var TokenExpiredError=function(Me,Bn){zn.call(this,Me);this.name="TokenExpiredError";this.expiredAt=Bn};TokenExpiredError.prototype=Object.create(zn.prototype);TokenExpiredError.prototype.constructor=TokenExpiredError;Me.exports=TokenExpiredError},51136:(Me,Bn,Hn)=>{const zn=Hn(62088);Me.exports=zn.satisfies(process.version,">=15.7.0")},3948:(Me,Bn,Hn)=>{var zn=Hn(62088);Me.exports=zn.satisfies(process.version,"^6.12.0 || >=8.0.0")},45318:(Me,Bn,Hn)=>{const zn=Hn(62088);Me.exports=zn.satisfies(process.version,">=16.9.0")},96688:(Me,Bn,Hn)=>{var zn=Hn(70744);Me.exports=function(Me,Bn){var Hn=Bn||Math.floor(Date.now()/1e3);if(typeof Me==="string"){var ni=zn(Me);if(typeof ni==="undefined"){return}return Math.floor(Hn+ni/1e3)}else if(typeof Me==="number"){return Hn+Me}else{return}}},91006:(Me,Bn,Hn)=>{const zn=Hn(51136);const ni=Hn(45318);const Ci={ec:["ES256","ES384","ES512"],rsa:["RS256","PS256","RS384","PS384","RS512","PS512"],"rsa-pss":["PS256","PS384","PS512"]};const ts={ES256:"prime256v1",ES384:"secp384r1",ES512:"secp521r1"};Me.exports=function(Me,Bn){if(!Me||!Bn)return;const Hn=Bn.asymmetricKeyType;if(!Hn)return;const Ps=Ci[Hn];if(!Ps){throw new Error(`Unknown key type "${Hn}".`)}if(!Ps.includes(Me)){throw new Error(`"alg" parameter for "${Hn}" key type must be one of: ${Ps.join(", ")}.`)}if(zn){switch(Hn){case"ec":const Hn=Bn.asymmetricKeyDetails.namedCurve;const zn=ts[Me];if(Hn!==zn){throw new Error(`"alg" parameter "${Me}" requires curve "${zn}".`)}break;case"rsa-pss":if(ni){const Hn=parseInt(Me.slice(-3),10);const{hashAlgorithm:zn,mgf1HashAlgorithm:ni,saltLength:Ci}=Bn.asymmetricKeyDetails;if(zn!==`sha${Hn}`||ni!==zn){throw new Error(`Invalid key for this operation, its RSA-PSS parameters do not meet the requirements of "alg" ${Me}.`)}if(Ci!==undefined&&Ci>Hn>>3){throw new Error(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of "alg" ${Me}.`)}}break}}}},14912:(Me,Bn,Hn)=>{const zn=Hn(96688);const ni=Hn(3948);const Ci=Hn(91006);const ts=Hn(33324);const Ps=Hn(46248);const aa=Hn(1999);const oa=Hn(39841);const ca=Hn(80116);const _a=Hn(29888);const xa=Hn(56172);const Ga=Hn(82192);const{KeyObject:Ha,createSecretKey:so,createPrivateKey:oo}=Hn(76982);const Jo=["RS256","RS384","RS512","ES256","ES384","ES512","HS256","HS384","HS512","none"];if(ni){Jo.splice(3,0,"PS256","PS384","PS512")}const tc={expiresIn:{isValid:function(Me){return oa(Me)||xa(Me)&&Me},message:'"expiresIn" should be a number of seconds or string representing a timespan'},notBefore:{isValid:function(Me){return oa(Me)||xa(Me)&&Me},message:'"notBefore" should be a number of seconds or string representing a timespan'},audience:{isValid:function(Me){return xa(Me)||Array.isArray(Me)},message:'"audience" must be a string or array'},algorithm:{isValid:Ps.bind(null,Jo),message:'"algorithm" must be a valid string enum value'},header:{isValid:_a,message:'"header" must be an object'},encoding:{isValid:xa,message:'"encoding" must be a string'},issuer:{isValid:xa,message:'"issuer" must be a string'},subject:{isValid:xa,message:'"subject" must be a string'},jwtid:{isValid:xa,message:'"jwtid" must be a string'},noTimestamp:{isValid:aa,message:'"noTimestamp" must be a boolean'},keyid:{isValid:xa,message:'"keyid" must be a string'},mutatePayload:{isValid:aa,message:'"mutatePayload" must be a boolean'},allowInsecureKeySizes:{isValid:aa,message:'"allowInsecureKeySizes" must be a boolean'},allowInvalidAsymmetricKeyTypes:{isValid:aa,message:'"allowInvalidAsymmetricKeyTypes" must be a boolean'}};const dc={iat:{isValid:ca,message:'"iat" should be a number of seconds'},exp:{isValid:ca,message:'"exp" should be a number of seconds'},nbf:{isValid:ca,message:'"nbf" should be a number of seconds'}};function validate(Me,Bn,Hn,zn){if(!_a(Hn)){throw new Error('Expected "'+zn+'" to be a plain object.')}Object.keys(Hn).forEach((function(ni){const Ci=Me[ni];if(!Ci){if(!Bn){throw new Error('"'+ni+'" is not allowed in "'+zn+'"')}return}if(!Ci.isValid(Hn[ni])){throw new Error(Ci.message)}}))}function validateOptions(Me){return validate(tc,false,Me,"options")}function validatePayload(Me){return validate(dc,true,Me,"payload")}const Fc={audience:"aud",issuer:"iss",subject:"sub",jwtid:"jti"};const Jc=["expiresIn","notBefore","noTimestamp","audience","issuer","subject","jwtid"];Me.exports=function(Me,Bn,Hn,ni){if(typeof Hn==="function"){ni=Hn;Hn={}}else{Hn=Hn||{}}const Ps=typeof Me==="object"&&!Buffer.isBuffer(Me);const aa=Object.assign({alg:Hn.algorithm||"HS256",typ:Ps?"JWT":undefined,kid:Hn.keyid},Hn.header);function failure(Me){if(ni){return ni(Me)}throw Me}if(!Bn&&Hn.algorithm!=="none"){return failure(new Error("secretOrPrivateKey must have a value"))}if(Bn!=null&&!(Bn instanceof Ha)){try{Bn=oo(Bn)}catch(Me){try{Bn=so(typeof Bn==="string"?Buffer.from(Bn):Bn)}catch(Me){return failure(new Error("secretOrPrivateKey is not valid key material"))}}}if(aa.alg.startsWith("HS")&&Bn.type!=="secret"){return failure(new Error(`secretOrPrivateKey must be a symmetric key when using ${aa.alg}`))}else if(/^(?:RS|PS|ES)/.test(aa.alg)){if(Bn.type!=="private"){return failure(new Error(`secretOrPrivateKey must be an asymmetric key when using ${aa.alg}`))}if(!Hn.allowInsecureKeySizes&&!aa.alg.startsWith("ES")&&Bn.asymmetricKeyDetails!==undefined&&Bn.asymmetricKeyDetails.modulusLength<2048){return failure(new Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${aa.alg}`))}}if(typeof Me==="undefined"){return failure(new Error("payload is required"))}else if(Ps){try{validatePayload(Me)}catch(Me){return failure(Me)}if(!Hn.mutatePayload){Me=Object.assign({},Me)}}else{const Bn=Jc.filter((function(Me){return typeof Hn[Me]!=="undefined"}));if(Bn.length>0){return failure(new Error("invalid "+Bn.join(",")+" option for "+typeof Me+" payload"))}}if(typeof Me.exp!=="undefined"&&typeof Hn.expiresIn!=="undefined"){return failure(new Error('Bad "options.expiresIn" option the payload already has an "exp" property.'))}if(typeof Me.nbf!=="undefined"&&typeof Hn.notBefore!=="undefined"){return failure(new Error('Bad "options.notBefore" option the payload already has an "nbf" property.'))}try{validateOptions(Hn)}catch(Me){return failure(Me)}if(!Hn.allowInvalidAsymmetricKeyTypes){try{Ci(aa.alg,Bn)}catch(Me){return failure(Me)}}const oa=Me.iat||Math.floor(Date.now()/1e3);if(Hn.noTimestamp){delete Me.iat}else if(Ps){Me.iat=oa}if(typeof Hn.notBefore!=="undefined"){try{Me.nbf=zn(Hn.notBefore,oa)}catch(Me){return failure(Me)}if(typeof Me.nbf==="undefined"){return failure(new Error('"notBefore" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}}if(typeof Hn.expiresIn!=="undefined"&&typeof Me==="object"){try{Me.exp=zn(Hn.expiresIn,oa)}catch(Me){return failure(Me)}if(typeof Me.exp==="undefined"){return failure(new Error('"expiresIn" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}}Object.keys(Fc).forEach((function(Bn){const zn=Fc[Bn];if(typeof Hn[Bn]!=="undefined"){if(typeof Me[zn]!=="undefined"){return failure(new Error('Bad "options.'+Bn+'" option. The payload already has an "'+zn+'" property.'))}Me[zn]=Hn[Bn]}}));const ca=Hn.encoding||"utf8";if(typeof ni==="function"){ni=ni&&Ga(ni);ts.createSign({header:aa,privateKey:Bn,payload:Me,encoding:ca}).once("error",ni).once("done",(function(Me){if(!Hn.allowInsecureKeySizes&&/^(?:RS|PS)/.test(aa.alg)&&Me.length<256){return ni(new Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${aa.alg}`))}ni(null,Me)}))}else{let zn=ts.sign({header:aa,payload:Me,secret:Bn,encoding:ca});if(!Hn.allowInsecureKeySizes&&/^(?:RS|PS)/.test(aa.alg)&&zn.length<256){throw new Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${aa.alg}`)}return zn}}},60772:(Me,Bn,Hn)=>{const zn=Hn(26248);const ni=Hn(91269);const Ci=Hn(41241);const ts=Hn(92047);const Ps=Hn(96688);const aa=Hn(91006);const oa=Hn(3948);const ca=Hn(33324);const{KeyObject:_a,createSecretKey:xa,createPublicKey:Ga}=Hn(76982);const Ha=["RS256","RS384","RS512"];const so=["ES256","ES384","ES512"];const oo=["RS256","RS384","RS512"];const Jo=["HS256","HS384","HS512"];if(oa){Ha.splice(Ha.length,0,"PS256","PS384","PS512");oo.splice(oo.length,0,"PS256","PS384","PS512")}Me.exports=function(Me,Bn,Hn,oa){if(typeof Hn==="function"&&!oa){oa=Hn;Hn={}}if(!Hn){Hn={}}Hn=Object.assign({},Hn);let tc;if(oa){tc=oa}else{tc=function(Me,Bn){if(Me)throw Me;return Bn}}if(Hn.clockTimestamp&&typeof Hn.clockTimestamp!=="number"){return tc(new zn("clockTimestamp must be a number"))}if(Hn.nonce!==undefined&&(typeof Hn.nonce!=="string"||Hn.nonce.trim()==="")){return tc(new zn("nonce must be a non-empty string"))}if(Hn.allowInvalidAsymmetricKeyTypes!==undefined&&typeof Hn.allowInvalidAsymmetricKeyTypes!=="boolean"){return tc(new zn("allowInvalidAsymmetricKeyTypes must be a boolean"))}const dc=Hn.clockTimestamp||Math.floor(Date.now()/1e3);if(!Me){return tc(new zn("jwt must be provided"))}if(typeof Me!=="string"){return tc(new zn("jwt must be a string"))}const Fc=Me.split(".");if(Fc.length!==3){return tc(new zn("jwt malformed"))}let Jc;try{Jc=ts(Me,{complete:true})}catch(Me){return tc(Me)}if(!Jc){return tc(new zn("invalid token"))}const Dp=Jc.header;let kp;if(typeof Bn==="function"){if(!oa){return tc(new zn("verify must be called asynchronous if secret or public key is provided as a callback"))}kp=Bn}else{kp=function(Me,Hn){return Hn(null,Bn)}}return kp(Dp,(function(Bn,ts){if(Bn){return tc(new zn("error in secret or public key callback: "+Bn.message))}const oa=Fc[2].trim()!=="";if(!oa&&ts){return tc(new zn("jwt signature is required"))}if(oa&&!ts){return tc(new zn("secret or public key must be provided"))}if(!oa&&!Hn.algorithms){return tc(new zn('please specify "none" in "algorithms" to verify unsigned tokens'))}if(ts!=null&&!(ts instanceof _a)){try{ts=Ga(ts)}catch(Me){try{ts=xa(typeof ts==="string"?Buffer.from(ts):ts)}catch(Me){return tc(new zn("secretOrPublicKey is not valid key material"))}}}if(!Hn.algorithms){if(ts.type==="secret"){Hn.algorithms=Jo}else if(["rsa","rsa-pss"].includes(ts.asymmetricKeyType)){Hn.algorithms=oo}else if(ts.asymmetricKeyType==="ec"){Hn.algorithms=so}else{Hn.algorithms=Ha}}if(Hn.algorithms.indexOf(Jc.header.alg)===-1){return tc(new zn("invalid algorithm"))}if(Dp.alg.startsWith("HS")&&ts.type!=="secret"){return tc(new zn(`secretOrPublicKey must be a symmetric key when using ${Dp.alg}`))}else if(/^(?:RS|PS|ES)/.test(Dp.alg)&&ts.type!=="public"){return tc(new zn(`secretOrPublicKey must be an asymmetric key when using ${Dp.alg}`))}if(!Hn.allowInvalidAsymmetricKeyTypes){try{aa(Dp.alg,ts)}catch(Me){return tc(Me)}}let kp;try{kp=ca.verify(Me,Jc.header.alg,ts)}catch(Me){return tc(Me)}if(!kp){return tc(new zn("invalid signature"))}const Qp=Jc.payload;if(typeof Qp.nbf!=="undefined"&&!Hn.ignoreNotBefore){if(typeof Qp.nbf!=="number"){return tc(new zn("invalid nbf value"))}if(Qp.nbf>dc+(Hn.clockTolerance||0)){return tc(new ni("jwt not active",new Date(Qp.nbf*1e3)))}}if(typeof Qp.exp!=="undefined"&&!Hn.ignoreExpiration){if(typeof Qp.exp!=="number"){return tc(new zn("invalid exp value"))}if(dc>=Qp.exp+(Hn.clockTolerance||0)){return tc(new Ci("jwt expired",new Date(Qp.exp*1e3)))}}if(Hn.audience){const Me=Array.isArray(Hn.audience)?Hn.audience:[Hn.audience];const Bn=Array.isArray(Qp.aud)?Qp.aud:[Qp.aud];const ni=Bn.some((function(Bn){return Me.some((function(Me){return Me instanceof RegExp?Me.test(Bn):Me===Bn}))}));if(!ni){return tc(new zn("jwt audience invalid. expected: "+Me.join(" or ")))}}if(Hn.issuer){const Me=typeof Hn.issuer==="string"&&Qp.iss!==Hn.issuer||Array.isArray(Hn.issuer)&&Hn.issuer.indexOf(Qp.iss)===-1;if(Me){return tc(new zn("jwt issuer invalid. expected: "+Hn.issuer))}}if(Hn.subject){if(Qp.sub!==Hn.subject){return tc(new zn("jwt subject invalid. expected: "+Hn.subject))}}if(Hn.jwtid){if(Qp.jti!==Hn.jwtid){return tc(new zn("jwt jwtid invalid. expected: "+Hn.jwtid))}}if(Hn.nonce){if(Qp.nonce!==Hn.nonce){return tc(new zn("jwt nonce invalid. expected: "+Hn.nonce))}}if(Hn.maxAge){if(typeof Qp.iat!=="number"){return tc(new zn("iat required when maxAge is specified"))}const Me=Ps(Hn.maxAge,Qp.iat);if(typeof Me==="undefined"){return tc(new zn('"maxAge" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}if(dc>=Me+(Hn.clockTolerance||0)){return tc(new Ci("maxAge exceeded",new Date(Me*1e3)))}}if(Hn.complete===true){const Me=Jc.signature;return tc(null,{header:Dp,payload:Qp,signature:Me})}return tc(null,Qp)}))}},38622:(Me,Bn,Hn)=>{var zn=Hn(93058).Buffer;var ni=Hn(76982);var Ci=Hn(325);var ts=Hn(39023);var Ps='"%s" is not a valid algorithm.\n Supported algorithms are:\n "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".';var aa="secret must be a string or buffer";var oa="key must be a string or a buffer";var ca="key must be a string, a buffer or an object";var _a=typeof ni.createPublicKey==="function";if(_a){oa+=" or a KeyObject";aa+="or a KeyObject"}function checkIsPublicKey(Me){if(zn.isBuffer(Me)){return}if(typeof Me==="string"){return}if(!_a){throw typeError(oa)}if(typeof Me!=="object"){throw typeError(oa)}if(typeof Me.type!=="string"){throw typeError(oa)}if(typeof Me.asymmetricKeyType!=="string"){throw typeError(oa)}if(typeof Me.export!=="function"){throw typeError(oa)}}function checkIsPrivateKey(Me){if(zn.isBuffer(Me)){return}if(typeof Me==="string"){return}if(typeof Me==="object"){return}throw typeError(ca)}function checkIsSecretKey(Me){if(zn.isBuffer(Me)){return}if(typeof Me==="string"){return Me}if(!_a){throw typeError(aa)}if(typeof Me!=="object"){throw typeError(aa)}if(Me.type!=="secret"){throw typeError(aa)}if(typeof Me.export!=="function"){throw typeError(aa)}}function fromBase64(Me){return Me.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function toBase64(Me){Me=Me.toString();var Bn=4-Me.length%4;if(Bn!==4){for(var Hn=0;Hn{var zn=Hn(78600);var ni=Hn(4368);var Ci=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];Bn.ALGORITHMS=Ci;Bn.sign=zn.sign;Bn.verify=ni.verify;Bn.decode=ni.decode;Bn.isValid=ni.isValid;Bn.createSign=function createSign(Me){return new zn(Me)};Bn.createVerify=function createVerify(Me){return new ni(Me)}},41831:(Me,Bn,Hn)=>{var zn=Hn(93058).Buffer;var ni=Hn(2203);var Ci=Hn(39023);function DataStream(Me){this.buffer=null;this.writable=true;this.readable=true;if(!Me){this.buffer=zn.alloc(0);return this}if(typeof Me.pipe==="function"){this.buffer=zn.alloc(0);Me.pipe(this);return this}if(Me.length||typeof Me==="object"){this.buffer=Me;this.writable=false;process.nextTick(function(){this.emit("end",Me);this.readable=false;this.emit("close")}.bind(this));return this}throw new TypeError("Unexpected data type ("+typeof Me+")")}Ci.inherits(DataStream,ni);DataStream.prototype.write=function write(Me){this.buffer=zn.concat([this.buffer,zn.from(Me)]);this.emit("data",Me)};DataStream.prototype.end=function end(Me){if(Me)this.write(Me);this.emit("end",Me);this.emit("close");this.writable=false;this.readable=false};Me.exports=DataStream},78600:(Me,Bn,Hn)=>{var zn=Hn(93058).Buffer;var ni=Hn(41831);var Ci=Hn(38622);var ts=Hn(2203);var Ps=Hn(95126);var aa=Hn(39023);function base64url(Me,Bn){return zn.from(Me,Bn).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function jwsSecuredInput(Me,Bn,Hn){Hn=Hn||"utf8";var zn=base64url(Ps(Me),"binary");var ni=base64url(Ps(Bn),Hn);return aa.format("%s.%s",zn,ni)}function jwsSign(Me){var Bn=Me.header;var Hn=Me.payload;var zn=Me.secret||Me.privateKey;var ni=Me.encoding;var ts=Ci(Bn.alg);var Ps=jwsSecuredInput(Bn,Hn,ni);var oa=ts.sign(Ps,zn);return aa.format("%s.%s",Ps,oa)}function SignStream(Me){var Bn=Me.secret;Bn=Bn==null?Me.privateKey:Bn;Bn=Bn==null?Me.key:Bn;if(/^hs/i.test(Me.header.alg)===true&&Bn==null){throw new TypeError("secret must be a string or buffer or a KeyObject")}var Hn=new ni(Bn);this.readable=true;this.header=Me.header;this.encoding=Me.encoding;this.secret=this.privateKey=this.key=Hn;this.payload=new ni(Me.payload);this.secret.once("close",function(){if(!this.payload.writable&&this.readable)this.sign()}.bind(this));this.payload.once("close",function(){if(!this.secret.writable&&this.readable)this.sign()}.bind(this))}aa.inherits(SignStream,ts);SignStream.prototype.sign=function sign(){try{var Me=jwsSign({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});this.emit("done",Me);this.emit("data",Me);this.emit("end");this.readable=false;return Me}catch(Me){this.readable=false;this.emit("error",Me);this.emit("close")}};SignStream.sign=jwsSign;Me.exports=SignStream},95126:(Me,Bn,Hn)=>{var zn=Hn(20181).Buffer;Me.exports=function toString(Me){if(typeof Me==="string")return Me;if(typeof Me==="number"||zn.isBuffer(Me))return Me.toString();return JSON.stringify(Me)}},4368:(Me,Bn,Hn)=>{var zn=Hn(93058).Buffer;var ni=Hn(41831);var Ci=Hn(38622);var ts=Hn(2203);var Ps=Hn(95126);var aa=Hn(39023);var oa=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function isObject(Me){return Object.prototype.toString.call(Me)==="[object Object]"}function safeJsonParse(Me){if(isObject(Me))return Me;try{return JSON.parse(Me)}catch(Me){return undefined}}function headerFromJWS(Me){var Bn=Me.split(".",1)[0];return safeJsonParse(zn.from(Bn,"base64").toString("binary"))}function securedInputFromJWS(Me){return Me.split(".",2).join(".")}function signatureFromJWS(Me){return Me.split(".")[2]}function payloadFromJWS(Me,Bn){Bn=Bn||"utf8";var Hn=Me.split(".")[1];return zn.from(Hn,"base64").toString(Bn)}function isValidJws(Me){return oa.test(Me)&&!!headerFromJWS(Me)}function jwsVerify(Me,Bn,Hn){if(!Bn){var zn=new Error("Missing algorithm parameter for jws.verify");zn.code="MISSING_ALGORITHM";throw zn}Me=Ps(Me);var ni=signatureFromJWS(Me);var ts=securedInputFromJWS(Me);var aa=Ci(Bn);return aa.verify(ts,ni,Hn)}function jwsDecode(Me,Bn){Bn=Bn||{};Me=Ps(Me);if(!isValidJws(Me))return null;var Hn=headerFromJWS(Me);if(!Hn)return null;var zn=payloadFromJWS(Me);if(Hn.typ==="JWT"||Bn.json)zn=JSON.parse(zn,Bn.encoding);return{header:Hn,payload:zn,signature:signatureFromJWS(Me)}}function VerifyStream(Me){Me=Me||{};var Bn=Me.secret;Bn=Bn==null?Me.publicKey:Bn;Bn=Bn==null?Me.key:Bn;if(/^hs/i.test(Me.algorithm)===true&&Bn==null){throw new TypeError("secret must be a string or buffer or a KeyObject")}var Hn=new ni(Bn);this.readable=true;this.algorithm=Me.algorithm;this.encoding=Me.encoding;this.secret=this.publicKey=this.key=Hn;this.signature=new ni(Me.signature);this.secret.once("close",function(){if(!this.signature.writable&&this.readable)this.verify()}.bind(this));this.signature.once("close",function(){if(!this.secret.writable&&this.readable)this.verify()}.bind(this))}aa.inherits(VerifyStream,ts);VerifyStream.prototype.verify=function verify(){try{var Me=jwsVerify(this.signature.buffer,this.algorithm,this.key.buffer);var Bn=jwsDecode(this.signature.buffer,this.encoding);this.emit("done",Me,Bn);this.emit("data",Me);this.emit("end");this.readable=false;return Me}catch(Me){this.readable=false;this.emit("error",Me);this.emit("close")}};VerifyStream.decode=jwsDecode;VerifyStream.isValid=isValidJws;VerifyStream.verify=jwsVerify;Me.exports=VerifyStream},46248:Me=>{var Bn=1/0,Hn=9007199254740991,zn=17976931348623157e292,ni=0/0;var Ci="[object Arguments]",ts="[object Function]",Ps="[object GeneratorFunction]",aa="[object String]",oa="[object Symbol]";var ca=/^\s+|\s+$/g;var _a=/^[-+]0x[0-9a-f]+$/i;var xa=/^0b[01]+$/i;var Ga=/^0o[0-7]+$/i;var Ha=/^(?:0|[1-9]\d*)$/;var so=parseInt;function arrayMap(Me,Bn){var Hn=-1,zn=Me?Me.length:0,ni=Array(zn);while(++Hn-1&&Me%1==0&&Me-1:!!ni&&baseIndexOf(Me,Bn,Hn)>-1}function isArguments(Me){return isArrayLikeObject(Me)&&Jo.call(Me,"callee")&&(!dc.call(Me,"callee")||tc.call(Me)==Ci)}var Dp=Array.isArray;function isArrayLike(Me){return Me!=null&&isLength(Me.length)&&!isFunction(Me)}function isArrayLikeObject(Me){return isObjectLike(Me)&&isArrayLike(Me)}function isFunction(Me){var Bn=isObject(Me)?tc.call(Me):"";return Bn==ts||Bn==Ps}function isLength(Me){return typeof Me=="number"&&Me>-1&&Me%1==0&&Me<=Hn}function isObject(Me){var Bn=typeof Me;return!!Me&&(Bn=="object"||Bn=="function")}function isObjectLike(Me){return!!Me&&typeof Me=="object"}function isString(Me){return typeof Me=="string"||!Dp(Me)&&isObjectLike(Me)&&tc.call(Me)==aa}function isSymbol(Me){return typeof Me=="symbol"||isObjectLike(Me)&&tc.call(Me)==oa}function toFinite(Me){if(!Me){return Me===0?Me:0}Me=toNumber(Me);if(Me===Bn||Me===-Bn){var Hn=Me<0?-1:1;return Hn*zn}return Me===Me?Me:0}function toInteger(Me){var Bn=toFinite(Me),Hn=Bn%1;return Bn===Bn?Hn?Bn-Hn:Bn:0}function toNumber(Me){if(typeof Me=="number"){return Me}if(isSymbol(Me)){return ni}if(isObject(Me)){var Bn=typeof Me.valueOf=="function"?Me.valueOf():Me;Me=isObject(Bn)?Bn+"":Bn}if(typeof Me!="string"){return Me===0?Me:+Me}Me=Me.replace(ca,"");var Hn=xa.test(Me);return Hn||Ga.test(Me)?so(Me.slice(2),Hn?2:8):_a.test(Me)?ni:+Me}function keys(Me){return isArrayLike(Me)?arrayLikeKeys(Me):baseKeys(Me)}function values(Me){return Me?baseValues(Me,keys(Me)):[]}Me.exports=includes},1999:Me=>{var Bn="[object Boolean]";var Hn=Object.prototype;var zn=Hn.toString;function isBoolean(Me){return Me===true||Me===false||isObjectLike(Me)&&zn.call(Me)==Bn}function isObjectLike(Me){return!!Me&&typeof Me=="object"}Me.exports=isBoolean},39841:Me=>{var Bn=1/0,Hn=17976931348623157e292,zn=0/0;var ni="[object Symbol]";var Ci=/^\s+|\s+$/g;var ts=/^[-+]0x[0-9a-f]+$/i;var Ps=/^0b[01]+$/i;var aa=/^0o[0-7]+$/i;var oa=parseInt;var ca=Object.prototype;var _a=ca.toString;function isInteger(Me){return typeof Me=="number"&&Me==toInteger(Me)}function isObject(Me){var Bn=typeof Me;return!!Me&&(Bn=="object"||Bn=="function")}function isObjectLike(Me){return!!Me&&typeof Me=="object"}function isSymbol(Me){return typeof Me=="symbol"||isObjectLike(Me)&&_a.call(Me)==ni}function toFinite(Me){if(!Me){return Me===0?Me:0}Me=toNumber(Me);if(Me===Bn||Me===-Bn){var zn=Me<0?-1:1;return zn*Hn}return Me===Me?Me:0}function toInteger(Me){var Bn=toFinite(Me),Hn=Bn%1;return Bn===Bn?Hn?Bn-Hn:Bn:0}function toNumber(Me){if(typeof Me=="number"){return Me}if(isSymbol(Me)){return zn}if(isObject(Me)){var Bn=typeof Me.valueOf=="function"?Me.valueOf():Me;Me=isObject(Bn)?Bn+"":Bn}if(typeof Me!="string"){return Me===0?Me:+Me}Me=Me.replace(Ci,"");var Hn=Ps.test(Me);return Hn||aa.test(Me)?oa(Me.slice(2),Hn?2:8):ts.test(Me)?zn:+Me}Me.exports=isInteger},80116:Me=>{var Bn="[object Number]";var Hn=Object.prototype;var zn=Hn.toString;function isObjectLike(Me){return!!Me&&typeof Me=="object"}function isNumber(Me){return typeof Me=="number"||isObjectLike(Me)&&zn.call(Me)==Bn}Me.exports=isNumber},29888:Me=>{var Bn="[object Object]";function isHostObject(Me){var Bn=false;if(Me!=null&&typeof Me.toString!="function"){try{Bn=!!(Me+"")}catch(Me){}}return Bn}function overArg(Me,Bn){return function(Hn){return Me(Bn(Hn))}}var Hn=Function.prototype,zn=Object.prototype;var ni=Hn.toString;var Ci=zn.hasOwnProperty;var ts=ni.call(Object);var Ps=zn.toString;var aa=overArg(Object.getPrototypeOf,Object);function isObjectLike(Me){return!!Me&&typeof Me=="object"}function isPlainObject(Me){if(!isObjectLike(Me)||Ps.call(Me)!=Bn||isHostObject(Me)){return false}var Hn=aa(Me);if(Hn===null){return true}var zn=Ci.call(Hn,"constructor")&&Hn.constructor;return typeof zn=="function"&&zn instanceof zn&&ni.call(zn)==ts}Me.exports=isPlainObject},56172:Me=>{var Bn="[object String]";var Hn=Object.prototype;var zn=Hn.toString;var ni=Array.isArray;function isObjectLike(Me){return!!Me&&typeof Me=="object"}function isString(Me){return typeof Me=="string"||!ni(Me)&&isObjectLike(Me)&&zn.call(Me)==Bn}Me.exports=isString},82192:Me=>{var Bn="Expected a function";var Hn=1/0,zn=17976931348623157e292,ni=0/0;var Ci="[object Symbol]";var ts=/^\s+|\s+$/g;var Ps=/^[-+]0x[0-9a-f]+$/i;var aa=/^0b[01]+$/i;var oa=/^0o[0-7]+$/i;var ca=parseInt;var _a=Object.prototype;var xa=_a.toString;function before(Me,Hn){var zn;if(typeof Hn!="function"){throw new TypeError(Bn)}Me=toInteger(Me);return function(){if(--Me>0){zn=Hn.apply(this,arguments)}if(Me<=1){Hn=undefined}return zn}}function once(Me){return before(2,Me)}function isObject(Me){var Bn=typeof Me;return!!Me&&(Bn=="object"||Bn=="function")}function isObjectLike(Me){return!!Me&&typeof Me=="object"}function isSymbol(Me){return typeof Me=="symbol"||isObjectLike(Me)&&xa.call(Me)==Ci}function toFinite(Me){if(!Me){return Me===0?Me:0}Me=toNumber(Me);if(Me===Hn||Me===-Hn){var Bn=Me<0?-1:1;return Bn*zn}return Me===Me?Me:0}function toInteger(Me){var Bn=toFinite(Me),Hn=Bn%1;return Bn===Bn?Hn?Bn-Hn:Bn:0}function toNumber(Me){if(typeof Me=="number"){return Me}if(isSymbol(Me)){return ni}if(isObject(Me)){var Bn=typeof Me.valueOf=="function"?Me.valueOf():Me;Me=isObject(Bn)?Bn+"":Bn}if(typeof Me!="string"){return Me===0?Me:+Me}Me=Me.replace(ts,"");var Hn=aa.test(Me);return Hn||oa.test(Me)?ca(Me.slice(2),Hn?2:8):Ps.test(Me)?ni:+Me}Me.exports=once},47033:(Me,Bn,Hn)=>{var zn=Hn(68573),ni=Hn(6748);var Ci=zn(ni,"DataView");Me.exports=Ci},66320:(Me,Bn,Hn)=>{var zn=Hn(48051),ni=Hn(15431),Ci=Hn(26934),ts=Hn(64306),Ps=Hn(17226);function Hash(Me){var Bn=-1,Hn=Me==null?0:Me.length;this.clear();while(++Bn{var zn=Hn(99791),ni=Hn(24555),Ci=Hn(86634),ts=Hn(8430),Ps=Hn(36918);function ListCache(Me){var Bn=-1,Hn=Me==null?0:Me.length;this.clear();while(++Bn{var zn=Hn(68573),ni=Hn(6748);var Ci=zn(ni,"Map");Me.exports=Ci},79660:(Me,Bn,Hn)=>{var zn=Hn(88487),ni=Hn(36275),Ci=Hn(30130),ts=Hn(69254),Ps=Hn(59806);function MapCache(Me){var Bn=-1,Hn=Me==null?0:Me.length;this.clear();while(++Bn{var zn=Hn(68573),ni=Hn(6748);var Ci=zn(ni,"Promise");Me.exports=Ci},84986:(Me,Bn,Hn)=>{var zn=Hn(68573),ni=Hn(6748);var Ci=zn(ni,"Set");Me.exports=Ci},23706:(Me,Bn,Hn)=>{var zn=Hn(79660),ni=Hn(44671),Ci=Hn(71884);function SetCache(Me){var Bn=-1,Hn=Me==null?0:Me.length;this.__data__=new zn;while(++Bn{var zn=Hn(68884),ni=Hn(91509),Ci=Hn(837),ts=Hn(46572),Ps=Hn(66216),aa=Hn(51976);function Stack(Me){var Bn=this.__data__=new zn(Me);this.size=Bn.size}Stack.prototype.clear=ni;Stack.prototype["delete"]=Ci;Stack.prototype.get=ts;Stack.prototype.has=Ps;Stack.prototype.set=aa;Me.exports=Stack},38584:(Me,Bn,Hn)=>{var zn=Hn(6748);var ni=zn.Symbol;Me.exports=ni},59525:(Me,Bn,Hn)=>{var zn=Hn(6748);var ni=zn.Uint8Array;Me.exports=ni},97364:(Me,Bn,Hn)=>{var zn=Hn(68573),ni=Hn(6748);var Ci=zn(ni,"WeakMap");Me.exports=Ci},59678:Me=>{function apply(Me,Bn,Hn){switch(Hn.length){case 0:return Me.call(Bn);case 1:return Me.call(Bn,Hn[0]);case 2:return Me.call(Bn,Hn[0],Hn[1]);case 3:return Me.call(Bn,Hn[0],Hn[1],Hn[2])}return Me.apply(Bn,Hn)}Me.exports=apply},19362:Me=>{function arrayEach(Me,Bn){var Hn=-1,zn=Me==null?0:Me.length;while(++Hn{function arrayFilter(Me,Bn){var Hn=-1,zn=Me==null?0:Me.length,ni=0,Ci=[];while(++Hn{var zn=Hn(21299),ni=Hn(60541),Ci=Hn(77192),ts=Hn(43739),Ps=Hn(37446),aa=Hn(35e3);var oa=Object.prototype;var ca=oa.hasOwnProperty;function arrayLikeKeys(Me,Bn){var Hn=Ci(Me),oa=!Hn&&ni(Me),_a=!Hn&&!oa&&ts(Me),xa=!Hn&&!oa&&!_a&&aa(Me),Ga=Hn||oa||_a||xa,Ha=Ga?zn(Me.length,String):[],so=Ha.length;for(var oo in Me){if((Bn||ca.call(Me,oo))&&!(Ga&&(oo=="length"||_a&&(oo=="offset"||oo=="parent")||xa&&(oo=="buffer"||oo=="byteLength"||oo=="byteOffset")||Ps(oo,so)))){Ha.push(oo)}}return Ha}Me.exports=arrayLikeKeys},56649:Me=>{function arrayMap(Me,Bn){var Hn=-1,zn=Me==null?0:Me.length,ni=Array(zn);while(++Hn{function arrayPush(Me,Bn){var Hn=-1,zn=Bn.length,ni=Me.length;while(++Hn{function arraySome(Me,Bn){var Hn=-1,zn=Me==null?0:Me.length;while(++Hn{var zn=Hn(63579),ni=Hn(75199);function assignMergeValue(Me,Bn,Hn){if(Hn!==undefined&&!ni(Me[Bn],Hn)||Hn===undefined&&!(Bn in Me)){zn(Me,Bn,Hn)}}Me.exports=assignMergeValue},99128:(Me,Bn,Hn)=>{var zn=Hn(63579),ni=Hn(75199);var Ci=Object.prototype;var ts=Ci.hasOwnProperty;function assignValue(Me,Bn,Hn){var Ci=Me[Bn];if(!(ts.call(Me,Bn)&&ni(Ci,Hn))||Hn===undefined&&!(Bn in Me)){zn(Me,Bn,Hn)}}Me.exports=assignValue},74024:(Me,Bn,Hn)=>{var zn=Hn(75199);function assocIndexOf(Me,Bn){var Hn=Me.length;while(Hn--){if(zn(Me[Hn][0],Bn)){return Hn}}return-1}Me.exports=assocIndexOf},31684:(Me,Bn,Hn)=>{var zn=Hn(69330),ni=Hn(26741);function baseAssign(Me,Bn){return Me&&zn(Bn,ni(Bn),Me)}Me.exports=baseAssign},30731:(Me,Bn,Hn)=>{var zn=Hn(69330),ni=Hn(19430);function baseAssignIn(Me,Bn){return Me&&zn(Bn,ni(Bn),Me)}Me.exports=baseAssignIn},63579:(Me,Bn,Hn)=>{var zn=Hn(83106);function baseAssignValue(Me,Bn,Hn){if(Bn=="__proto__"&&zn){zn(Me,Bn,{configurable:true,enumerable:true,value:Hn,writable:true})}else{Me[Bn]=Hn}}Me.exports=baseAssignValue},62504:(Me,Bn,Hn)=>{var zn=Hn(73262),ni=Hn(19362),Ci=Hn(99128),ts=Hn(31684),Ps=Hn(30731),aa=Hn(165),oa=Hn(77560),ca=Hn(97472),_a=Hn(61935),xa=Hn(78479),Ga=Hn(17172),Ha=Hn(44512),so=Hn(43688),oo=Hn(75906),Jo=Hn(20866),tc=Hn(77192),dc=Hn(43739),Fc=Hn(85995),Jc=Hn(96482),Dp=Hn(27077),kp=Hn(26741),Qp=Hn(19430);var Up=1,Vp=2,qp=4;var Jp="[object Arguments]",Wp="[object Array]",zp="[object Boolean]",Qf="[object Date]",Yf="[object Error]",Kf="[object Function]",Xf="[object GeneratorFunction]",Ad="[object Map]",Cd="[object Number]",wd="[object Object]",Sd="[object RegExp]",xd="[object Set]",Td="[object String]",Pd="[object Symbol]",Qh="[object WeakMap]";var Zh="[object ArrayBuffer]",sA="[object DataView]",oA="[object Float32Array]",hA="[object Float64Array]",eg="[object Int8Array]",tg="[object Int16Array]",rg="[object Int32Array]",ng="[object Uint8Array]",ig="[object Uint8ClampedArray]",sg="[object Uint16Array]",ag="[object Uint32Array]";var og={};og[Jp]=og[Wp]=og[Zh]=og[sA]=og[zp]=og[Qf]=og[oA]=og[hA]=og[eg]=og[tg]=og[rg]=og[Ad]=og[Cd]=og[wd]=og[Sd]=og[xd]=og[Td]=og[Pd]=og[ng]=og[ig]=og[sg]=og[ag]=true;og[Yf]=og[Kf]=og[Qh]=false;function baseClone(Me,Bn,Hn,Wp,zp,Qf){var Yf,Ad=Bn&Up,Cd=Bn&Vp,Sd=Bn&qp;if(Hn){Yf=zp?Hn(Me,Wp,zp,Qf):Hn(Me)}if(Yf!==undefined){return Yf}if(!Jc(Me)){return Me}var xd=tc(Me);if(xd){Yf=so(Me);if(!Ad){return oa(Me,Yf)}}else{var Td=Ha(Me),Pd=Td==Kf||Td==Xf;if(dc(Me)){return aa(Me,Ad)}if(Td==wd||Td==Jp||Pd&&!zp){Yf=Cd||Pd?{}:Jo(Me);if(!Ad){return Cd?_a(Me,Ps(Yf,Me)):ca(Me,ts(Yf,Me))}}else{if(!og[Td]){return zp?Me:{}}Yf=oo(Me,Td,Ad)}}Qf||(Qf=new zn);var Qh=Qf.get(Me);if(Qh){return Qh}Qf.set(Me,Yf);if(Dp(Me)){Me.forEach((function(zn){Yf.add(baseClone(zn,Bn,Hn,zn,Me,Qf))}))}else if(Fc(Me)){Me.forEach((function(zn,ni){Yf.set(ni,baseClone(zn,Bn,Hn,ni,Me,Qf))}))}var Zh=Sd?Cd?Ga:xa:Cd?Qp:kp;var sA=xd?undefined:Zh(Me);ni(sA||Me,(function(zn,ni){if(sA){ni=zn;zn=Me[ni]}Ci(Yf,ni,baseClone(zn,Bn,Hn,ni,Me,Qf))}));return Yf}Me.exports=baseClone},33733:(Me,Bn,Hn)=>{var zn=Hn(96482);var ni=Object.create;var Ci=function(){function object(){}return function(Me){if(!zn(Me)){return{}}if(ni){return ni(Me)}object.prototype=Me;var Bn=new object;object.prototype=undefined;return Bn}}();Me.exports=Ci},11616:(Me,Bn,Hn)=>{var zn=Hn(16484),ni=Hn(40728);var Ci=ni(zn);Me.exports=Ci},39143:(Me,Bn,Hn)=>{var zn=Hn(11616);function baseFilter(Me,Bn){var Hn=[];zn(Me,(function(Me,zn,ni){if(Bn(Me,zn,ni)){Hn.push(Me)}}));return Hn}Me.exports=baseFilter},63183:(Me,Bn,Hn)=>{var zn=Hn(50827),ni=Hn(45088);function baseFlatten(Me,Bn,Hn,Ci,ts){var Ps=-1,aa=Me.length;Hn||(Hn=ni);ts||(ts=[]);while(++Ps0&&Hn(oa)){if(Bn>1){baseFlatten(oa,Bn-1,Hn,Ci,ts)}else{zn(ts,oa)}}else if(!Ci){ts[ts.length]=oa}}return ts}Me.exports=baseFlatten},26798:(Me,Bn,Hn)=>{var zn=Hn(13142);var ni=zn();Me.exports=ni},16484:(Me,Bn,Hn)=>{var zn=Hn(26798),ni=Hn(26741);function baseForOwn(Me,Bn){return Me&&zn(Me,Bn,ni)}Me.exports=baseForOwn},40877:(Me,Bn,Hn)=>{var zn=Hn(77336),ni=Hn(95086);function baseGet(Me,Bn){Bn=zn(Bn,Me);var Hn=0,Ci=Bn.length;while(Me!=null&&Hn{var zn=Hn(50827),ni=Hn(77192);function baseGetAllKeys(Me,Bn,Hn){var Ci=Bn(Me);return ni(Me)?Ci:zn(Ci,Hn(Me))}Me.exports=baseGetAllKeys},29117:(Me,Bn,Hn)=>{var zn=Hn(38584),ni=Hn(95292),Ci=Hn(71723);var ts="[object Null]",Ps="[object Undefined]";var aa=zn?zn.toStringTag:undefined;function baseGetTag(Me){if(Me==null){return Me===undefined?Ps:ts}return aa&&aa in Object(Me)?ni(Me):Ci(Me)}Me.exports=baseGetTag},6186:Me=>{function baseHasIn(Me,Bn){return Me!=null&&Bn in Object(Me)}Me.exports=baseHasIn},93605:(Me,Bn,Hn)=>{var zn=Hn(29117),ni=Hn(51645);var Ci="[object Arguments]";function baseIsArguments(Me){return ni(Me)&&zn(Me)==Ci}Me.exports=baseIsArguments},95777:(Me,Bn,Hn)=>{var zn=Hn(19275),ni=Hn(51645);function baseIsEqual(Me,Bn,Hn,Ci,ts){if(Me===Bn){return true}if(Me==null||Bn==null||!ni(Me)&&!ni(Bn)){return Me!==Me&&Bn!==Bn}return zn(Me,Bn,Hn,Ci,baseIsEqual,ts)}Me.exports=baseIsEqual},19275:(Me,Bn,Hn)=>{var zn=Hn(73262),ni=Hn(5248),Ci=Hn(9895),ts=Hn(52500),Ps=Hn(44512),aa=Hn(77192),oa=Hn(43739),ca=Hn(35e3);var _a=1;var xa="[object Arguments]",Ga="[object Array]",Ha="[object Object]";var so=Object.prototype;var oo=so.hasOwnProperty;function baseIsEqualDeep(Me,Bn,Hn,so,Jo,tc){var dc=aa(Me),Fc=aa(Bn),Jc=dc?Ga:Ps(Me),Dp=Fc?Ga:Ps(Bn);Jc=Jc==xa?Ha:Jc;Dp=Dp==xa?Ha:Dp;var kp=Jc==Ha,Qp=Dp==Ha,Up=Jc==Dp;if(Up&&oa(Me)){if(!oa(Bn)){return false}dc=true;kp=false}if(Up&&!kp){tc||(tc=new zn);return dc||ca(Me)?ni(Me,Bn,Hn,so,Jo,tc):Ci(Me,Bn,Jc,Hn,so,Jo,tc)}if(!(Hn&_a)){var Vp=kp&&oo.call(Me,"__wrapped__"),qp=Qp&&oo.call(Bn,"__wrapped__");if(Vp||qp){var Jp=Vp?Me.value():Me,Wp=qp?Bn.value():Bn;tc||(tc=new zn);return Jo(Jp,Wp,Hn,so,tc)}}if(!Up){return false}tc||(tc=new zn);return ts(Me,Bn,Hn,so,Jo,tc)}Me.exports=baseIsEqualDeep},66051:(Me,Bn,Hn)=>{var zn=Hn(44512),ni=Hn(51645);var Ci="[object Map]";function baseIsMap(Me){return ni(Me)&&zn(Me)==Ci}Me.exports=baseIsMap},67792:(Me,Bn,Hn)=>{var zn=Hn(73262),ni=Hn(95777);var Ci=1,ts=2;function baseIsMatch(Me,Bn,Hn,Ps){var aa=Hn.length,oa=aa,ca=!Ps;if(Me==null){return!oa}Me=Object(Me);while(aa--){var _a=Hn[aa];if(ca&&_a[2]?_a[1]!==Me[_a[0]]:!(_a[0]in Me)){return false}}while(++aa{var zn=Hn(34329),ni=Hn(46613),Ci=Hn(96482),ts=Hn(57192);var Ps=/[\\^$.*+?()[\]{}|]/g;var aa=/^\[object .+?Constructor\]$/;var oa=Function.prototype,ca=Object.prototype;var _a=oa.toString;var xa=ca.hasOwnProperty;var Ga=RegExp("^"+_a.call(xa).replace(Ps,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function baseIsNative(Me){if(!Ci(Me)||ni(Me)){return false}var Bn=zn(Me)?Ga:aa;return Bn.test(ts(Me))}Me.exports=baseIsNative},85901:(Me,Bn,Hn)=>{var zn=Hn(44512),ni=Hn(51645);var Ci="[object Set]";function baseIsSet(Me){return ni(Me)&&zn(Me)==Ci}Me.exports=baseIsSet},16880:(Me,Bn,Hn)=>{var zn=Hn(29117),ni=Hn(56657),Ci=Hn(51645);var ts="[object Arguments]",Ps="[object Array]",aa="[object Boolean]",oa="[object Date]",ca="[object Error]",_a="[object Function]",xa="[object Map]",Ga="[object Number]",Ha="[object Object]",so="[object RegExp]",oo="[object Set]",Jo="[object String]",tc="[object WeakMap]";var dc="[object ArrayBuffer]",Fc="[object DataView]",Jc="[object Float32Array]",Dp="[object Float64Array]",kp="[object Int8Array]",Qp="[object Int16Array]",Up="[object Int32Array]",Vp="[object Uint8Array]",qp="[object Uint8ClampedArray]",Jp="[object Uint16Array]",Wp="[object Uint32Array]";var zp={};zp[Jc]=zp[Dp]=zp[kp]=zp[Qp]=zp[Up]=zp[Vp]=zp[qp]=zp[Jp]=zp[Wp]=true;zp[ts]=zp[Ps]=zp[dc]=zp[aa]=zp[Fc]=zp[oa]=zp[ca]=zp[_a]=zp[xa]=zp[Ga]=zp[Ha]=zp[so]=zp[oo]=zp[Jo]=zp[tc]=false;function baseIsTypedArray(Me){return Ci(Me)&&ni(Me.length)&&!!zp[zn(Me)]}Me.exports=baseIsTypedArray},47988:(Me,Bn,Hn)=>{var zn=Hn(21244),ni=Hn(66481),Ci=Hn(46851),ts=Hn(77192),Ps=Hn(11024);function baseIteratee(Me){if(typeof Me=="function"){return Me}if(Me==null){return Ci}if(typeof Me=="object"){return ts(Me)?ni(Me[0],Me[1]):zn(Me)}return Ps(Me)}Me.exports=baseIteratee},31517:(Me,Bn,Hn)=>{var zn=Hn(55944),ni=Hn(63787);var Ci=Object.prototype;var ts=Ci.hasOwnProperty;function baseKeys(Me){if(!zn(Me)){return ni(Me)}var Bn=[];for(var Hn in Object(Me)){if(ts.call(Me,Hn)&&Hn!="constructor"){Bn.push(Hn)}}return Bn}Me.exports=baseKeys},82094:(Me,Bn,Hn)=>{var zn=Hn(96482),ni=Hn(55944),Ci=Hn(94008);var ts=Object.prototype;var Ps=ts.hasOwnProperty;function baseKeysIn(Me){if(!zn(Me)){return Ci(Me)}var Bn=ni(Me),Hn=[];for(var ts in Me){if(!(ts=="constructor"&&(Bn||!Ps.call(Me,ts)))){Hn.push(ts)}}return Hn}Me.exports=baseKeysIn},44503:(Me,Bn,Hn)=>{var zn=Hn(11616),ni=Hn(75119);function baseMap(Me,Bn){var Hn=-1,Ci=ni(Me)?Array(Me.length):[];zn(Me,(function(Me,zn,ni){Ci[++Hn]=Bn(Me,zn,ni)}));return Ci}Me.exports=baseMap},21244:(Me,Bn,Hn)=>{var zn=Hn(67792),ni=Hn(69081),Ci=Hn(78218);function baseMatches(Me){var Bn=ni(Me);if(Bn.length==1&&Bn[0][2]){return Ci(Bn[0][0],Bn[0][1])}return function(Hn){return Hn===Me||zn(Hn,Me,Bn)}}Me.exports=baseMatches},66481:(Me,Bn,Hn)=>{var zn=Hn(95777),ni=Hn(40181),Ci=Hn(66306),ts=Hn(20897),Ps=Hn(12757),aa=Hn(78218),oa=Hn(95086);var ca=1,_a=2;function baseMatchesProperty(Me,Bn){if(ts(Me)&&Ps(Bn)){return aa(oa(Me),Bn)}return function(Hn){var ts=ni(Hn,Me);return ts===undefined&&ts===Bn?Ci(Hn,Me):zn(Bn,ts,ca|_a)}}Me.exports=baseMatchesProperty},47313:(Me,Bn,Hn)=>{var zn=Hn(73262),ni=Hn(12872),Ci=Hn(26798),ts=Hn(20763),Ps=Hn(96482),aa=Hn(19430),oa=Hn(1589);function baseMerge(Me,Bn,Hn,ca,_a){if(Me===Bn){return}Ci(Bn,(function(Ci,aa){_a||(_a=new zn);if(Ps(Ci)){ts(Me,Bn,aa,Hn,baseMerge,ca,_a)}else{var xa=ca?ca(oa(Me,aa),Ci,aa+"",Me,Bn,_a):undefined;if(xa===undefined){xa=Ci}ni(Me,aa,xa)}}),aa)}Me.exports=baseMerge},20763:(Me,Bn,Hn)=>{var zn=Hn(12872),ni=Hn(165),Ci=Hn(60946),ts=Hn(77560),Ps=Hn(20866),aa=Hn(60541),oa=Hn(77192),ca=Hn(97100),_a=Hn(43739),xa=Hn(34329),Ga=Hn(96482),Ha=Hn(36542),so=Hn(35e3),oo=Hn(1589),Jo=Hn(88485);function baseMergeDeep(Me,Bn,Hn,tc,dc,Fc,Jc){var Dp=oo(Me,Hn),kp=oo(Bn,Hn),Qp=Jc.get(kp);if(Qp){zn(Me,Hn,Qp);return}var Up=Fc?Fc(Dp,kp,Hn+"",Me,Bn,Jc):undefined;var Vp=Up===undefined;if(Vp){var qp=oa(kp),Jp=!qp&&_a(kp),Wp=!qp&&!Jp&&so(kp);Up=kp;if(qp||Jp||Wp){if(oa(Dp)){Up=Dp}else if(ca(Dp)){Up=ts(Dp)}else if(Jp){Vp=false;Up=ni(kp,true)}else if(Wp){Vp=false;Up=Ci(kp,true)}else{Up=[]}}else if(Ha(kp)||aa(kp)){Up=Dp;if(aa(Dp)){Up=Jo(Dp)}else if(!Ga(Dp)||xa(Dp)){Up=Ps(kp)}}else{Vp=false}}if(Vp){Jc.set(kp,Up);dc(Up,kp,tc,Fc,Jc);Jc["delete"](kp)}zn(Me,Hn,Up)}Me.exports=baseMergeDeep},89196:(Me,Bn,Hn)=>{var zn=Hn(56649),ni=Hn(40877),Ci=Hn(47988),ts=Hn(44503),Ps=Hn(22388),aa=Hn(55506),oa=Hn(37073),ca=Hn(46851),_a=Hn(77192);function baseOrderBy(Me,Bn,Hn){if(Bn.length){Bn=zn(Bn,(function(Me){if(_a(Me)){return function(Bn){return ni(Bn,Me.length===1?Me[0]:Me)}}return Me}))}else{Bn=[ca]}var xa=-1;Bn=zn(Bn,aa(Ci));var Ga=ts(Me,(function(Me,Hn,ni){var Ci=zn(Bn,(function(Bn){return Bn(Me)}));return{criteria:Ci,index:++xa,value:Me}}));return Ps(Ga,(function(Me,Bn){return oa(Me,Bn,Hn)}))}Me.exports=baseOrderBy},49996:(Me,Bn,Hn)=>{var zn=Hn(72237),ni=Hn(66306);function basePick(Me,Bn){return zn(Me,Bn,(function(Bn,Hn){return ni(Me,Hn)}))}Me.exports=basePick},72237:(Me,Bn,Hn)=>{var zn=Hn(40877),ni=Hn(26057),Ci=Hn(77336);function basePickBy(Me,Bn,Hn){var ts=-1,Ps=Bn.length,aa={};while(++ts{function baseProperty(Me){return function(Bn){return Bn==null?undefined:Bn[Me]}}Me.exports=baseProperty},32310:(Me,Bn,Hn)=>{var zn=Hn(40877);function basePropertyDeep(Me){return function(Bn){return zn(Bn,Me)}}Me.exports=basePropertyDeep},22035:(Me,Bn,Hn)=>{var zn=Hn(46851),ni=Hn(20168),Ci=Hn(59402);function baseRest(Me,Bn){return Ci(ni(Me,Bn,zn),Me+"")}Me.exports=baseRest},26057:(Me,Bn,Hn)=>{var zn=Hn(99128),ni=Hn(77336),Ci=Hn(37446),ts=Hn(96482),Ps=Hn(95086);function baseSet(Me,Bn,Hn,aa){if(!ts(Me)){return Me}Bn=ni(Bn,Me);var oa=-1,ca=Bn.length,_a=ca-1,xa=Me;while(xa!=null&&++oa{var zn=Hn(85089),ni=Hn(83106),Ci=Hn(46851);var ts=!ni?Ci:function(Me,Bn){return ni(Me,"toString",{configurable:true,enumerable:false,value:zn(Bn),writable:true})};Me.exports=ts},37115:Me=>{function baseSlice(Me,Bn,Hn){var zn=-1,ni=Me.length;if(Bn<0){Bn=-Bn>ni?0:ni+Bn}Hn=Hn>ni?ni:Hn;if(Hn<0){Hn+=ni}ni=Bn>Hn?0:Hn-Bn>>>0;Bn>>>=0;var Ci=Array(ni);while(++zn{function baseSortBy(Me,Bn){var Hn=Me.length;Me.sort(Bn);while(Hn--){Me[Hn]=Me[Hn].value}return Me}Me.exports=baseSortBy},96834:Me=>{function baseSum(Me,Bn){var Hn,zn=-1,ni=Me.length;while(++zn{function baseTimes(Me,Bn){var Hn=-1,zn=Array(Me);while(++Hn{var zn=Hn(38584),ni=Hn(56649),Ci=Hn(77192),ts=Hn(70661);var Ps=1/0;var aa=zn?zn.prototype:undefined,oa=aa?aa.toString:undefined;function baseToString(Me){if(typeof Me=="string"){return Me}if(Ci(Me)){return ni(Me,baseToString)+""}if(ts(Me)){return oa?oa.call(Me):""}var Bn=Me+"";return Bn=="0"&&1/Me==-Ps?"-0":Bn}Me.exports=baseToString},14441:(Me,Bn,Hn)=>{var zn=Hn(54395);var ni=/^\s+/;function baseTrim(Me){return Me?Me.slice(0,zn(Me)+1).replace(ni,""):Me}Me.exports=baseTrim},55506:Me=>{function baseUnary(Me){return function(Bn){return Me(Bn)}}Me.exports=baseUnary},86344:(Me,Bn,Hn)=>{var zn=Hn(77336),ni=Hn(14781),Ci=Hn(94240),ts=Hn(95086);var Ps=Object.prototype;var aa=Ps.hasOwnProperty;function baseUnset(Me,Bn){Bn=zn(Bn,Me);var Hn=-1,Ps=Bn.length;if(!Ps){return true}while(++Hn{function cacheHas(Me,Bn){return Me.has(Bn)}Me.exports=cacheHas},77336:(Me,Bn,Hn)=>{var zn=Hn(77192),ni=Hn(20897),Ci=Hn(72187),ts=Hn(87233);function castPath(Me,Bn){if(zn(Me)){return Me}return ni(Me,Bn)?[Me]:Ci(ts(Me))}Me.exports=castPath},71336:(Me,Bn,Hn)=>{var zn=Hn(59525);function cloneArrayBuffer(Me){var Bn=new Me.constructor(Me.byteLength);new zn(Bn).set(new zn(Me));return Bn}Me.exports=cloneArrayBuffer},165:(Me,Bn,Hn)=>{Me=Hn.nmd(Me);var zn=Hn(6748);var ni=true&&Bn&&!Bn.nodeType&&Bn;var Ci=ni&&"object"=="object"&&Me&&!Me.nodeType&&Me;var ts=Ci&&Ci.exports===ni;var Ps=ts?zn.Buffer:undefined,aa=Ps?Ps.allocUnsafe:undefined;function cloneBuffer(Me,Bn){if(Bn){return Me.slice()}var Hn=Me.length,zn=aa?aa(Hn):new Me.constructor(Hn);Me.copy(zn);return zn}Me.exports=cloneBuffer},20114:(Me,Bn,Hn)=>{var zn=Hn(71336);function cloneDataView(Me,Bn){var Hn=Bn?zn(Me.buffer):Me.buffer;return new Me.constructor(Hn,Me.byteOffset,Me.byteLength)}Me.exports=cloneDataView},14798:Me=>{var Bn=/\w*$/;function cloneRegExp(Me){var Hn=new Me.constructor(Me.source,Bn.exec(Me));Hn.lastIndex=Me.lastIndex;return Hn}Me.exports=cloneRegExp},10539:(Me,Bn,Hn)=>{var zn=Hn(38584);var ni=zn?zn.prototype:undefined,Ci=ni?ni.valueOf:undefined;function cloneSymbol(Me){return Ci?Object(Ci.call(Me)):{}}Me.exports=cloneSymbol},60946:(Me,Bn,Hn)=>{var zn=Hn(71336);function cloneTypedArray(Me,Bn){var Hn=Bn?zn(Me.buffer):Me.buffer;return new Me.constructor(Hn,Me.byteOffset,Me.length)}Me.exports=cloneTypedArray},63427:(Me,Bn,Hn)=>{var zn=Hn(70661);function compareAscending(Me,Bn){if(Me!==Bn){var Hn=Me!==undefined,ni=Me===null,Ci=Me===Me,ts=zn(Me);var Ps=Bn!==undefined,aa=Bn===null,oa=Bn===Bn,ca=zn(Bn);if(!aa&&!ca&&!ts&&Me>Bn||ts&&Ps&&oa&&!aa&&!ca||ni&&Ps&&oa||!Hn&&oa||!Ci){return 1}if(!ni&&!ts&&!ca&&Me{var zn=Hn(63427);function compareMultiple(Me,Bn,Hn){var ni=-1,Ci=Me.criteria,ts=Bn.criteria,Ps=Ci.length,aa=Hn.length;while(++ni=aa){return oa}var ca=Hn[ni];return oa*(ca=="desc"?-1:1)}}return Me.index-Bn.index}Me.exports=compareMultiple},77560:Me=>{function copyArray(Me,Bn){var Hn=-1,zn=Me.length;Bn||(Bn=Array(zn));while(++Hn{var zn=Hn(99128),ni=Hn(63579);function copyObject(Me,Bn,Hn,Ci){var ts=!Hn;Hn||(Hn={});var Ps=-1,aa=Bn.length;while(++Ps{var zn=Hn(69330),ni=Hn(65889);function copySymbols(Me,Bn){return zn(Me,ni(Me),Bn)}Me.exports=copySymbols},61935:(Me,Bn,Hn)=>{var zn=Hn(69330),ni=Hn(99882);function copySymbolsIn(Me,Bn){return zn(Me,ni(Me),Bn)}Me.exports=copySymbolsIn},60252:(Me,Bn,Hn)=>{var zn=Hn(6748);var ni=zn["__core-js_shared__"];Me.exports=ni},8070:(Me,Bn,Hn)=>{var zn=Hn(22035),ni=Hn(3349);function createAssigner(Me){return zn((function(Bn,Hn){var zn=-1,Ci=Hn.length,ts=Ci>1?Hn[Ci-1]:undefined,Ps=Ci>2?Hn[2]:undefined;ts=Me.length>3&&typeof ts=="function"?(Ci--,ts):undefined;if(Ps&&ni(Hn[0],Hn[1],Ps)){ts=Ci<3?undefined:ts;Ci=1}Bn=Object(Bn);while(++zn{var zn=Hn(75119);function createBaseEach(Me,Bn){return function(Hn,ni){if(Hn==null){return Hn}if(!zn(Hn)){return Me(Hn,ni)}var Ci=Hn.length,ts=Bn?Ci:-1,Ps=Object(Hn);while(Bn?ts--:++ts{function createBaseFor(Me){return function(Bn,Hn,zn){var ni=-1,Ci=Object(Bn),ts=zn(Bn),Ps=ts.length;while(Ps--){var aa=ts[Me?Ps:++ni];if(Hn(Ci[aa],aa,Ci)===false){break}}return Bn}}Me.exports=createBaseFor},9429:(Me,Bn,Hn)=>{var zn=Hn(36542);function customOmitClone(Me){return zn(Me)?undefined:Me}Me.exports=customOmitClone},83106:(Me,Bn,Hn)=>{var zn=Hn(68573);var ni=function(){try{var Me=zn(Object,"defineProperty");Me({},"",{});return Me}catch(Me){}}();Me.exports=ni},5248:(Me,Bn,Hn)=>{var zn=Hn(23706),ni=Hn(90935),Ci=Hn(64486);var ts=1,Ps=2;function equalArrays(Me,Bn,Hn,aa,oa,ca){var _a=Hn&ts,xa=Me.length,Ga=Bn.length;if(xa!=Ga&&!(_a&&Ga>xa)){return false}var Ha=ca.get(Me);var so=ca.get(Bn);if(Ha&&so){return Ha==Bn&&so==Me}var oo=-1,Jo=true,tc=Hn&Ps?new zn:undefined;ca.set(Me,Bn);ca.set(Bn,Me);while(++oo{var zn=Hn(38584),ni=Hn(59525),Ci=Hn(75199),ts=Hn(5248),Ps=Hn(43428),aa=Hn(11894);var oa=1,ca=2;var _a="[object Boolean]",xa="[object Date]",Ga="[object Error]",Ha="[object Map]",so="[object Number]",oo="[object RegExp]",Jo="[object Set]",tc="[object String]",dc="[object Symbol]";var Fc="[object ArrayBuffer]",Jc="[object DataView]";var Dp=zn?zn.prototype:undefined,kp=Dp?Dp.valueOf:undefined;function equalByTag(Me,Bn,Hn,zn,Dp,Qp,Up){switch(Hn){case Jc:if(Me.byteLength!=Bn.byteLength||Me.byteOffset!=Bn.byteOffset){return false}Me=Me.buffer;Bn=Bn.buffer;case Fc:if(Me.byteLength!=Bn.byteLength||!Qp(new ni(Me),new ni(Bn))){return false}return true;case _a:case xa:case so:return Ci(+Me,+Bn);case Ga:return Me.name==Bn.name&&Me.message==Bn.message;case oo:case tc:return Me==Bn+"";case Ha:var Vp=Ps;case Jo:var qp=zn&oa;Vp||(Vp=aa);if(Me.size!=Bn.size&&!qp){return false}var Jp=Up.get(Me);if(Jp){return Jp==Bn}zn|=ca;Up.set(Me,Bn);var Wp=ts(Vp(Me),Vp(Bn),zn,Dp,Qp,Up);Up["delete"](Me);return Wp;case dc:if(kp){return kp.call(Me)==kp.call(Bn)}}return false}Me.exports=equalByTag},52500:(Me,Bn,Hn)=>{var zn=Hn(78479);var ni=1;var Ci=Object.prototype;var ts=Ci.hasOwnProperty;function equalObjects(Me,Bn,Hn,Ci,Ps,aa){var oa=Hn&ni,ca=zn(Me),_a=ca.length,xa=zn(Bn),Ga=xa.length;if(_a!=Ga&&!oa){return false}var Ha=_a;while(Ha--){var so=ca[Ha];if(!(oa?so in Bn:ts.call(Bn,so))){return false}}var oo=aa.get(Me);var Jo=aa.get(Bn);if(oo&&Jo){return oo==Bn&&Jo==Me}var tc=true;aa.set(Me,Bn);aa.set(Bn,Me);var dc=oa;while(++Ha<_a){so=ca[Ha];var Fc=Me[so],Jc=Bn[so];if(Ci){var Dp=oa?Ci(Jc,Fc,so,Bn,Me,aa):Ci(Fc,Jc,so,Me,Bn,aa)}if(!(Dp===undefined?Fc===Jc||Ps(Fc,Jc,Hn,Ci,aa):Dp)){tc=false;break}dc||(dc=so=="constructor")}if(tc&&!dc){var kp=Me.constructor,Qp=Bn.constructor;if(kp!=Qp&&("constructor"in Me&&"constructor"in Bn)&&!(typeof kp=="function"&&kp instanceof kp&&typeof Qp=="function"&&Qp instanceof Qp)){tc=false}}aa["delete"](Me);aa["delete"](Bn);return tc}Me.exports=equalObjects},8389:(Me,Bn,Hn)=>{var zn=Hn(97047),ni=Hn(20168),Ci=Hn(59402);function flatRest(Me){return Ci(ni(Me,undefined,zn),Me+"")}Me.exports=flatRest},78997:Me=>{var Bn=typeof global=="object"&&global&&global.Object===Object&&global;Me.exports=Bn},78479:(Me,Bn,Hn)=>{var zn=Hn(24586),ni=Hn(65889),Ci=Hn(26741);function getAllKeys(Me){return zn(Me,Ci,ni)}Me.exports=getAllKeys},17172:(Me,Bn,Hn)=>{var zn=Hn(24586),ni=Hn(99882),Ci=Hn(19430);function getAllKeysIn(Me){return zn(Me,Ci,ni)}Me.exports=getAllKeysIn},1194:(Me,Bn,Hn)=>{var zn=Hn(93245);function getMapData(Me,Bn){var Hn=Me.__data__;return zn(Bn)?Hn[typeof Bn=="string"?"string":"hash"]:Hn.map}Me.exports=getMapData},69081:(Me,Bn,Hn)=>{var zn=Hn(12757),ni=Hn(26741);function getMatchData(Me){var Bn=ni(Me),Hn=Bn.length;while(Hn--){var Ci=Bn[Hn],ts=Me[Ci];Bn[Hn]=[Ci,ts,zn(ts)]}return Bn}Me.exports=getMatchData},68573:(Me,Bn,Hn)=>{var zn=Hn(92334),ni=Hn(8293);function getNative(Me,Bn){var Hn=ni(Me,Bn);return zn(Hn)?Hn:undefined}Me.exports=getNative},86194:(Me,Bn,Hn)=>{var zn=Hn(61128);var ni=zn(Object.getPrototypeOf,Object);Me.exports=ni},95292:(Me,Bn,Hn)=>{var zn=Hn(38584);var ni=Object.prototype;var Ci=ni.hasOwnProperty;var ts=ni.toString;var Ps=zn?zn.toStringTag:undefined;function getRawTag(Me){var Bn=Ci.call(Me,Ps),Hn=Me[Ps];try{Me[Ps]=undefined;var zn=true}catch(Me){}var ni=ts.call(Me);if(zn){if(Bn){Me[Ps]=Hn}else{delete Me[Ps]}}return ni}Me.exports=getRawTag},65889:(Me,Bn,Hn)=>{var zn=Hn(78573),ni=Hn(43400);var Ci=Object.prototype;var ts=Ci.propertyIsEnumerable;var Ps=Object.getOwnPropertySymbols;var aa=!Ps?ni:function(Me){if(Me==null){return[]}Me=Object(Me);return zn(Ps(Me),(function(Bn){return ts.call(Me,Bn)}))};Me.exports=aa},99882:(Me,Bn,Hn)=>{var zn=Hn(50827),ni=Hn(86194),Ci=Hn(65889),ts=Hn(43400);var Ps=Object.getOwnPropertySymbols;var aa=!Ps?ts:function(Me){var Bn=[];while(Me){zn(Bn,Ci(Me));Me=ni(Me)}return Bn};Me.exports=aa},44512:(Me,Bn,Hn)=>{var zn=Hn(47033),ni=Hn(98272),Ci=Hn(4455),ts=Hn(84986),Ps=Hn(97364),aa=Hn(29117),oa=Hn(57192);var ca="[object Map]",_a="[object Object]",xa="[object Promise]",Ga="[object Set]",Ha="[object WeakMap]";var so="[object DataView]";var oo=oa(zn),Jo=oa(ni),tc=oa(Ci),dc=oa(ts),Fc=oa(Ps);var Jc=aa;if(zn&&Jc(new zn(new ArrayBuffer(1)))!=so||ni&&Jc(new ni)!=ca||Ci&&Jc(Ci.resolve())!=xa||ts&&Jc(new ts)!=Ga||Ps&&Jc(new Ps)!=Ha){Jc=function(Me){var Bn=aa(Me),Hn=Bn==_a?Me.constructor:undefined,zn=Hn?oa(Hn):"";if(zn){switch(zn){case oo:return so;case Jo:return ca;case tc:return xa;case dc:return Ga;case Fc:return Ha}}return Bn}}Me.exports=Jc},8293:Me=>{function getValue(Me,Bn){return Me==null?undefined:Me[Bn]}Me.exports=getValue},48253:(Me,Bn,Hn)=>{var zn=Hn(77336),ni=Hn(60541),Ci=Hn(77192),ts=Hn(37446),Ps=Hn(56657),aa=Hn(95086);function hasPath(Me,Bn,Hn){Bn=zn(Bn,Me);var oa=-1,ca=Bn.length,_a=false;while(++oa{var zn=Hn(71563);function hashClear(){this.__data__=zn?zn(null):{};this.size=0}Me.exports=hashClear},15431:Me=>{function hashDelete(Me){var Bn=this.has(Me)&&delete this.__data__[Me];this.size-=Bn?1:0;return Bn}Me.exports=hashDelete},26934:(Me,Bn,Hn)=>{var zn=Hn(71563);var ni="__lodash_hash_undefined__";var Ci=Object.prototype;var ts=Ci.hasOwnProperty;function hashGet(Me){var Bn=this.__data__;if(zn){var Hn=Bn[Me];return Hn===ni?undefined:Hn}return ts.call(Bn,Me)?Bn[Me]:undefined}Me.exports=hashGet},64306:(Me,Bn,Hn)=>{var zn=Hn(71563);var ni=Object.prototype;var Ci=ni.hasOwnProperty;function hashHas(Me){var Bn=this.__data__;return zn?Bn[Me]!==undefined:Ci.call(Bn,Me)}Me.exports=hashHas},17226:(Me,Bn,Hn)=>{var zn=Hn(71563);var ni="__lodash_hash_undefined__";function hashSet(Me,Bn){var Hn=this.__data__;this.size+=this.has(Me)?0:1;Hn[Me]=zn&&Bn===undefined?ni:Bn;return this}Me.exports=hashSet},43688:Me=>{var Bn=Object.prototype;var Hn=Bn.hasOwnProperty;function initCloneArray(Me){var Bn=Me.length,zn=new Me.constructor(Bn);if(Bn&&typeof Me[0]=="string"&&Hn.call(Me,"index")){zn.index=Me.index;zn.input=Me.input}return zn}Me.exports=initCloneArray},75906:(Me,Bn,Hn)=>{var zn=Hn(71336),ni=Hn(20114),Ci=Hn(14798),ts=Hn(10539),Ps=Hn(60946);var aa="[object Boolean]",oa="[object Date]",ca="[object Map]",_a="[object Number]",xa="[object RegExp]",Ga="[object Set]",Ha="[object String]",so="[object Symbol]";var oo="[object ArrayBuffer]",Jo="[object DataView]",tc="[object Float32Array]",dc="[object Float64Array]",Fc="[object Int8Array]",Jc="[object Int16Array]",Dp="[object Int32Array]",kp="[object Uint8Array]",Qp="[object Uint8ClampedArray]",Up="[object Uint16Array]",Vp="[object Uint32Array]";function initCloneByTag(Me,Bn,Hn){var qp=Me.constructor;switch(Bn){case oo:return zn(Me);case aa:case oa:return new qp(+Me);case Jo:return ni(Me,Hn);case tc:case dc:case Fc:case Jc:case Dp:case kp:case Qp:case Up:case Vp:return Ps(Me,Hn);case ca:return new qp;case _a:case Ha:return new qp(Me);case xa:return Ci(Me);case Ga:return new qp;case so:return ts(Me)}}Me.exports=initCloneByTag},20866:(Me,Bn,Hn)=>{var zn=Hn(33733),ni=Hn(86194),Ci=Hn(55944);function initCloneObject(Me){return typeof Me.constructor=="function"&&!Ci(Me)?zn(ni(Me)):{}}Me.exports=initCloneObject},45088:(Me,Bn,Hn)=>{var zn=Hn(38584),ni=Hn(60541),Ci=Hn(77192);var ts=zn?zn.isConcatSpreadable:undefined;function isFlattenable(Me){return Ci(Me)||ni(Me)||!!(ts&&Me&&Me[ts])}Me.exports=isFlattenable},37446:Me=>{var Bn=9007199254740991;var Hn=/^(?:0|[1-9]\d*)$/;function isIndex(Me,zn){var ni=typeof Me;zn=zn==null?Bn:zn;return!!zn&&(ni=="number"||ni!="symbol"&&Hn.test(Me))&&(Me>-1&&Me%1==0&&Me{var zn=Hn(75199),ni=Hn(75119),Ci=Hn(37446),ts=Hn(96482);function isIterateeCall(Me,Bn,Hn){if(!ts(Hn)){return false}var Ps=typeof Bn;if(Ps=="number"?ni(Hn)&&Ci(Bn,Hn.length):Ps=="string"&&Bn in Hn){return zn(Hn[Bn],Me)}return false}Me.exports=isIterateeCall},20897:(Me,Bn,Hn)=>{var zn=Hn(77192),ni=Hn(70661);var Ci=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ts=/^\w*$/;function isKey(Me,Bn){if(zn(Me)){return false}var Hn=typeof Me;if(Hn=="number"||Hn=="symbol"||Hn=="boolean"||Me==null||ni(Me)){return true}return ts.test(Me)||!Ci.test(Me)||Bn!=null&&Me in Object(Bn)}Me.exports=isKey},93245:Me=>{function isKeyable(Me){var Bn=typeof Me;return Bn=="string"||Bn=="number"||Bn=="symbol"||Bn=="boolean"?Me!=="__proto__":Me===null}Me.exports=isKeyable},46613:(Me,Bn,Hn)=>{var zn=Hn(60252);var ni=function(){var Me=/[^.]+$/.exec(zn&&zn.keys&&zn.keys.IE_PROTO||"");return Me?"Symbol(src)_1."+Me:""}();function isMasked(Me){return!!ni&&ni in Me}Me.exports=isMasked},55944:Me=>{var Bn=Object.prototype;function isPrototype(Me){var Hn=Me&&Me.constructor,zn=typeof Hn=="function"&&Hn.prototype||Bn;return Me===zn}Me.exports=isPrototype},12757:(Me,Bn,Hn)=>{var zn=Hn(96482);function isStrictComparable(Me){return Me===Me&&!zn(Me)}Me.exports=isStrictComparable},99791:Me=>{function listCacheClear(){this.__data__=[];this.size=0}Me.exports=listCacheClear},24555:(Me,Bn,Hn)=>{var zn=Hn(74024);var ni=Array.prototype;var Ci=ni.splice;function listCacheDelete(Me){var Bn=this.__data__,Hn=zn(Bn,Me);if(Hn<0){return false}var ni=Bn.length-1;if(Hn==ni){Bn.pop()}else{Ci.call(Bn,Hn,1)}--this.size;return true}Me.exports=listCacheDelete},86634:(Me,Bn,Hn)=>{var zn=Hn(74024);function listCacheGet(Me){var Bn=this.__data__,Hn=zn(Bn,Me);return Hn<0?undefined:Bn[Hn][1]}Me.exports=listCacheGet},8430:(Me,Bn,Hn)=>{var zn=Hn(74024);function listCacheHas(Me){return zn(this.__data__,Me)>-1}Me.exports=listCacheHas},36918:(Me,Bn,Hn)=>{var zn=Hn(74024);function listCacheSet(Me,Bn){var Hn=this.__data__,ni=zn(Hn,Me);if(ni<0){++this.size;Hn.push([Me,Bn])}else{Hn[ni][1]=Bn}return this}Me.exports=listCacheSet},88487:(Me,Bn,Hn)=>{var zn=Hn(66320),ni=Hn(68884),Ci=Hn(98272);function mapCacheClear(){this.size=0;this.__data__={hash:new zn,map:new(Ci||ni),string:new zn}}Me.exports=mapCacheClear},36275:(Me,Bn,Hn)=>{var zn=Hn(1194);function mapCacheDelete(Me){var Bn=zn(this,Me)["delete"](Me);this.size-=Bn?1:0;return Bn}Me.exports=mapCacheDelete},30130:(Me,Bn,Hn)=>{var zn=Hn(1194);function mapCacheGet(Me){return zn(this,Me).get(Me)}Me.exports=mapCacheGet},69254:(Me,Bn,Hn)=>{var zn=Hn(1194);function mapCacheHas(Me){return zn(this,Me).has(Me)}Me.exports=mapCacheHas},59806:(Me,Bn,Hn)=>{var zn=Hn(1194);function mapCacheSet(Me,Bn){var Hn=zn(this,Me),ni=Hn.size;Hn.set(Me,Bn);this.size+=Hn.size==ni?0:1;return this}Me.exports=mapCacheSet},43428:Me=>{function mapToArray(Me){var Bn=-1,Hn=Array(Me.size);Me.forEach((function(Me,zn){Hn[++Bn]=[zn,Me]}));return Hn}Me.exports=mapToArray},78218:Me=>{function matchesStrictComparable(Me,Bn){return function(Hn){if(Hn==null){return false}return Hn[Me]===Bn&&(Bn!==undefined||Me in Object(Hn))}}Me.exports=matchesStrictComparable},41471:(Me,Bn,Hn)=>{var zn=Hn(24769);var ni=500;function memoizeCapped(Me){var Bn=zn(Me,(function(Me){if(Hn.size===ni){Hn.clear()}return Me}));var Hn=Bn.cache;return Bn}Me.exports=memoizeCapped},71563:(Me,Bn,Hn)=>{var zn=Hn(68573);var ni=zn(Object,"create");Me.exports=ni},63787:(Me,Bn,Hn)=>{var zn=Hn(61128);var ni=zn(Object.keys,Object);Me.exports=ni},94008:Me=>{function nativeKeysIn(Me){var Bn=[];if(Me!=null){for(var Hn in Object(Me)){Bn.push(Hn)}}return Bn}Me.exports=nativeKeysIn},88724:(Me,Bn,Hn)=>{Me=Hn.nmd(Me);var zn=Hn(78997);var ni=true&&Bn&&!Bn.nodeType&&Bn;var Ci=ni&&"object"=="object"&&Me&&!Me.nodeType&&Me;var ts=Ci&&Ci.exports===ni;var Ps=ts&&zn.process;var aa=function(){try{var Me=Ci&&Ci.require&&Ci.require("util").types;if(Me){return Me}return Ps&&Ps.binding&&Ps.binding("util")}catch(Me){}}();Me.exports=aa},71723:Me=>{var Bn=Object.prototype;var Hn=Bn.toString;function objectToString(Me){return Hn.call(Me)}Me.exports=objectToString},61128:Me=>{function overArg(Me,Bn){return function(Hn){return Me(Bn(Hn))}}Me.exports=overArg},20168:(Me,Bn,Hn)=>{var zn=Hn(59678);var ni=Math.max;function overRest(Me,Bn,Hn){Bn=ni(Bn===undefined?Me.length-1:Bn,0);return function(){var Ci=arguments,ts=-1,Ps=ni(Ci.length-Bn,0),aa=Array(Ps);while(++ts{var zn=Hn(40877),ni=Hn(37115);function parent(Me,Bn){return Bn.length<2?Me:zn(Me,ni(Bn,0,-1))}Me.exports=parent},6748:(Me,Bn,Hn)=>{var zn=Hn(78997);var ni=typeof self=="object"&&self&&self.Object===Object&&self;var Ci=zn||ni||Function("return this")();Me.exports=Ci},1589:Me=>{function safeGet(Me,Bn){if(Bn==="constructor"&&typeof Me[Bn]==="function"){return}if(Bn=="__proto__"){return}return Me[Bn]}Me.exports=safeGet},44671:Me=>{var Bn="__lodash_hash_undefined__";function setCacheAdd(Me){this.__data__.set(Me,Bn);return this}Me.exports=setCacheAdd},71884:Me=>{function setCacheHas(Me){return this.__data__.has(Me)}Me.exports=setCacheHas},11894:Me=>{function setToArray(Me){var Bn=-1,Hn=Array(Me.size);Me.forEach((function(Me){Hn[++Bn]=Me}));return Hn}Me.exports=setToArray},59402:(Me,Bn,Hn)=>{var zn=Hn(64953),ni=Hn(83286);var Ci=ni(zn);Me.exports=Ci},83286:Me=>{var Bn=800,Hn=16;var zn=Date.now;function shortOut(Me){var ni=0,Ci=0;return function(){var ts=zn(),Ps=Hn-(ts-Ci);Ci=ts;if(Ps>0){if(++ni>=Bn){return arguments[0]}}else{ni=0}return Me.apply(undefined,arguments)}}Me.exports=shortOut},91509:(Me,Bn,Hn)=>{var zn=Hn(68884);function stackClear(){this.__data__=new zn;this.size=0}Me.exports=stackClear},837:Me=>{function stackDelete(Me){var Bn=this.__data__,Hn=Bn["delete"](Me);this.size=Bn.size;return Hn}Me.exports=stackDelete},46572:Me=>{function stackGet(Me){return this.__data__.get(Me)}Me.exports=stackGet},66216:Me=>{function stackHas(Me){return this.__data__.has(Me)}Me.exports=stackHas},51976:(Me,Bn,Hn)=>{var zn=Hn(68884),ni=Hn(98272),Ci=Hn(79660);var ts=200;function stackSet(Me,Bn){var Hn=this.__data__;if(Hn instanceof zn){var Ps=Hn.__data__;if(!ni||Ps.length{var zn=Hn(41471);var ni=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;var Ci=/\\(\\)?/g;var ts=zn((function(Me){var Bn=[];if(Me.charCodeAt(0)===46){Bn.push("")}Me.replace(ni,(function(Me,Hn,zn,ni){Bn.push(zn?ni.replace(Ci,"$1"):Hn||Me)}));return Bn}));Me.exports=ts},95086:(Me,Bn,Hn)=>{var zn=Hn(70661);var ni=1/0;function toKey(Me){if(typeof Me=="string"||zn(Me)){return Me}var Bn=Me+"";return Bn=="0"&&1/Me==-ni?"-0":Bn}Me.exports=toKey},57192:Me=>{var Bn=Function.prototype;var Hn=Bn.toString;function toSource(Me){if(Me!=null){try{return Hn.call(Me)}catch(Me){}try{return Me+""}catch(Me){}}return""}Me.exports=toSource},54395:Me=>{var Bn=/\s/;function trimmedEndIndex(Me){var Hn=Me.length;while(Hn--&&Bn.test(Me.charAt(Hn))){}return Hn}Me.exports=trimmedEndIndex},80542:(Me,Bn,Hn)=>{var zn=Hn(62504);var ni=1,Ci=4;function cloneDeep(Me){return zn(Me,ni|Ci)}Me.exports=cloneDeep},85089:Me=>{function constant(Me){return function(){return Me}}Me.exports=constant},75199:Me=>{function eq(Me,Bn){return Me===Bn||Me!==Me&&Bn!==Bn}Me.exports=eq},19263:(Me,Bn,Hn)=>{var zn=Hn(78573),ni=Hn(39143),Ci=Hn(47988),ts=Hn(77192);function filter(Me,Bn){var Hn=ts(Me)?zn:ni;return Hn(Me,Ci(Bn,3))}Me.exports=filter},97047:(Me,Bn,Hn)=>{var zn=Hn(63183);function flatten(Me){var Bn=Me==null?0:Me.length;return Bn?zn(Me,1):[]}Me.exports=flatten},40181:(Me,Bn,Hn)=>{var zn=Hn(40877);function get(Me,Bn,Hn){var ni=Me==null?undefined:zn(Me,Bn);return ni===undefined?Hn:ni}Me.exports=get},66306:(Me,Bn,Hn)=>{var zn=Hn(6186),ni=Hn(48253);function hasIn(Me,Bn){return Me!=null&&ni(Me,Bn,zn)}Me.exports=hasIn},46851:Me=>{function identity(Me){return Me}Me.exports=identity},60541:(Me,Bn,Hn)=>{var zn=Hn(93605),ni=Hn(51645);var Ci=Object.prototype;var ts=Ci.hasOwnProperty;var Ps=Ci.propertyIsEnumerable;var aa=zn(function(){return arguments}())?zn:function(Me){return ni(Me)&&ts.call(Me,"callee")&&!Ps.call(Me,"callee")};Me.exports=aa},77192:Me=>{var Bn=Array.isArray;Me.exports=Bn},75119:(Me,Bn,Hn)=>{var zn=Hn(34329),ni=Hn(56657);function isArrayLike(Me){return Me!=null&&ni(Me.length)&&!zn(Me)}Me.exports=isArrayLike},97100:(Me,Bn,Hn)=>{var zn=Hn(75119),ni=Hn(51645);function isArrayLikeObject(Me){return ni(Me)&&zn(Me)}Me.exports=isArrayLikeObject},43739:(Me,Bn,Hn)=>{Me=Hn.nmd(Me);var zn=Hn(6748),ni=Hn(92074);var Ci=true&&Bn&&!Bn.nodeType&&Bn;var ts=Ci&&"object"=="object"&&Me&&!Me.nodeType&&Me;var Ps=ts&&ts.exports===Ci;var aa=Ps?zn.Buffer:undefined;var oa=aa?aa.isBuffer:undefined;var ca=oa||ni;Me.exports=ca},34329:(Me,Bn,Hn)=>{var zn=Hn(29117),ni=Hn(96482);var Ci="[object AsyncFunction]",ts="[object Function]",Ps="[object GeneratorFunction]",aa="[object Proxy]";function isFunction(Me){if(!ni(Me)){return false}var Bn=zn(Me);return Bn==ts||Bn==Ps||Bn==Ci||Bn==aa}Me.exports=isFunction},56657:Me=>{var Bn=9007199254740991;function isLength(Me){return typeof Me=="number"&&Me>-1&&Me%1==0&&Me<=Bn}Me.exports=isLength},85995:(Me,Bn,Hn)=>{var zn=Hn(66051),ni=Hn(55506),Ci=Hn(88724);var ts=Ci&&Ci.isMap;var Ps=ts?ni(ts):zn;Me.exports=Ps},96482:Me=>{function isObject(Me){var Bn=typeof Me;return Me!=null&&(Bn=="object"||Bn=="function")}Me.exports=isObject},51645:Me=>{function isObjectLike(Me){return Me!=null&&typeof Me=="object"}Me.exports=isObjectLike},36542:(Me,Bn,Hn)=>{var zn=Hn(29117),ni=Hn(86194),Ci=Hn(51645);var ts="[object Object]";var Ps=Function.prototype,aa=Object.prototype;var oa=Ps.toString;var ca=aa.hasOwnProperty;var _a=oa.call(Object);function isPlainObject(Me){if(!Ci(Me)||zn(Me)!=ts){return false}var Bn=ni(Me);if(Bn===null){return true}var Hn=ca.call(Bn,"constructor")&&Bn.constructor;return typeof Hn=="function"&&Hn instanceof Hn&&oa.call(Hn)==_a}Me.exports=isPlainObject},27077:(Me,Bn,Hn)=>{var zn=Hn(85901),ni=Hn(55506),Ci=Hn(88724);var ts=Ci&&Ci.isSet;var Ps=ts?ni(ts):zn;Me.exports=Ps},70661:(Me,Bn,Hn)=>{var zn=Hn(29117),ni=Hn(51645);var Ci="[object Symbol]";function isSymbol(Me){return typeof Me=="symbol"||ni(Me)&&zn(Me)==Ci}Me.exports=isSymbol},35e3:(Me,Bn,Hn)=>{var zn=Hn(16880),ni=Hn(55506),Ci=Hn(88724);var ts=Ci&&Ci.isTypedArray;var Ps=ts?ni(ts):zn;Me.exports=Ps},4257:Me=>{function isUndefined(Me){return Me===undefined}Me.exports=isUndefined},26741:(Me,Bn,Hn)=>{var zn=Hn(62e3),ni=Hn(31517),Ci=Hn(75119);function keys(Me){return Ci(Me)?zn(Me):ni(Me)}Me.exports=keys},19430:(Me,Bn,Hn)=>{var zn=Hn(62e3),ni=Hn(82094),Ci=Hn(75119);function keysIn(Me){return Ci(Me)?zn(Me,true):ni(Me)}Me.exports=keysIn},14781:Me=>{function last(Me){var Bn=Me==null?0:Me.length;return Bn?Me[Bn-1]:undefined}Me.exports=last},52356:function(Me,Bn,Hn){Me=Hn.nmd(Me); /** * @license * Lodash @@ -76,7 +76,7 @@ uri-js/dist/es5/uri.all.js: * Released under MIT license * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */(function(){var Hn;var zn="4.17.23";var ni=200;var Ci="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",ts="Expected a function",Ps="Invalid `variable` option passed into `_.template`";var aa="__lodash_hash_undefined__";var oa=500;var ca="__lodash_placeholder__";var _a=1,xa=2,Ga=4;var Ha=1,so=2;var oo=1,Jo=2,tc=4,dc=8,Fc=16,Jc=32,Dp=64,kp=128,Qp=256,Up=512;var Vp=30,qp="...";var Jp=800,Wp=16;var zp=1,Qf=2,Yf=3;var Kf=1/0,Xf=9007199254740991,Ad=17976931348623157e292,Cd=0/0;var wd=4294967295,Sd=wd-1,xd=wd>>>1;var Td=[["ary",kp],["bind",oo],["bindKey",Jo],["curry",dc],["curryRight",Fc],["flip",Up],["partial",Jc],["partialRight",Dp],["rearg",Qp]];var Pd="[object Arguments]",Qh="[object Array]",Zh="[object AsyncFunction]",sA="[object Boolean]",oA="[object Date]",hA="[object DOMException]",eg="[object Error]",tg="[object Function]",rg="[object GeneratorFunction]",ng="[object Map]",ig="[object Number]",sg="[object Null]",ag="[object Object]",og="[object Promise]",ug="[object Proxy]",cg="[object RegExp]",lg="[object Set]",pg="[object String]",fg="[object Symbol]",dg="[object Undefined]",hg="[object WeakMap]",Ag="[object WeakSet]";var mg="[object ArrayBuffer]",gg="[object DataView]",_g="[object Float32Array]",yg="[object Float64Array]",vg="[object Int8Array]",Eg="[object Int16Array]",bg="[object Int32Array]",Cg="[object Uint8Array]",Dg="[object Uint8ClampedArray]",wg="[object Uint16Array]",Sg="[object Uint32Array]";var Ig=/\b__p \+= '';/g,xg=/\b(__p \+=) '' \+/g,kg=/(__e\(.*?\)|\b__t\)) \+\n'';/g;var Bg=/&(?:amp|lt|gt|quot|#39);/g,Tg=/[&<>"']/g,Fg=RegExp(Bg.source),Ng=RegExp(Tg.source);var Qg=/<%-([\s\S]+?)%>/g,Rg=/<%([\s\S]+?)%>/g,Pg=/<%=([\s\S]+?)%>/g;var Og=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Lg=/^\w*$/,Mg=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;var jg=/[\\^$.*+?()[\]{}|]/g,Ug=RegExp(jg.source);var Gg=/^\s+/;var Vg=/\s/;var Hg=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,qg=/\{\n\/\* \[wrapped with (.+)\] \*/,Jg=/,? & /;var $g=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;var Yg=/[()=,{}\[\]\/\s]/;var Wg=/\\(\\)?/g;var Kg=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;var zg=/\w*$/;var Xg=/^[-+]0x[0-9a-f]+$/i;var Zg=/^0b[01]+$/i;var f_=/^\[object .+?Constructor\]$/;var Z_=/^0o[0-7]+$/i;var ey=/^(?:0|[1-9]\d*)$/;var ty=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;var ry=/($^)/;var ny=/['\n\r\u2028\u2029\\]/g;var iy="\\ud800-\\udfff",py="\\u0300-\\u036f",fy="\\ufe20-\\ufe2f",Ty="\\u20d0-\\u20ff",Gy=py+fy+Ty,Vy="\\u2700-\\u27bf",Hy="a-z\\xdf-\\xf6\\xf8-\\xff",Av="\\xac\\xb1\\xd7\\xf7",vv="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ev="\\u2000-\\u206f",bv=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Cv="A-Z\\xc0-\\xd6\\xd8-\\xde",wv="\\ufe0e\\ufe0f",Sv=Av+vv+Ev+bv;var Iv="['’]",xv="["+iy+"]",kv="["+Sv+"]",Bv="["+Gy+"]",Tv="\\d+",Fv="["+Vy+"]",Nv="["+Hy+"]",Ov="[^"+iy+Sv+Tv+Vy+Hy+Cv+"]",Mv="\\ud83c[\\udffb-\\udfff]",OE="(?:"+Bv+"|"+Mv+")",eC="[^"+iy+"]",tC="(?:\\ud83c[\\udde6-\\uddff]){2}",rC="[\\ud800-\\udbff][\\udc00-\\udfff]",nC="["+Cv+"]",iC="\\u200d";var sC="(?:"+Nv+"|"+Ov+")",aC="(?:"+nC+"|"+Ov+")",oC="(?:"+Iv+"(?:d|ll|m|re|s|t|ve))?",uC="(?:"+Iv+"(?:D|LL|M|RE|S|T|VE))?",cC=OE+"?",lC="["+wv+"]?",pC="(?:"+iC+"(?:"+[eC,tC,rC].join("|")+")"+lC+cC+")*",fC="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",dC="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",hC=lC+cC+pC,AC="(?:"+[Fv,tC,rC].join("|")+")"+hC,mC="(?:"+[eC+Bv+"?",Bv,tC,rC,xv].join("|")+")";var gC=RegExp(Iv,"g");var _C=RegExp(Bv,"g");var yC=RegExp(Mv+"(?="+Mv+")|"+mC+hC,"g");var vC=RegExp([nC+"?"+Nv+"+"+oC+"(?="+[kv,nC,"$"].join("|")+")",aC+"+"+uC+"(?="+[kv,nC+sC,"$"].join("|")+")",nC+"?"+sC+"+"+oC,nC+"+"+uC,dC,fC,Tv,AC].join("|"),"g");var EC=RegExp("["+iC+iy+Gy+wv+"]");var bC=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;var CC=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"];var DC=-1;var wC={};wC[_g]=wC[yg]=wC[vg]=wC[Eg]=wC[bg]=wC[Cg]=wC[Dg]=wC[wg]=wC[Sg]=true;wC[Pd]=wC[Qh]=wC[mg]=wC[sA]=wC[gg]=wC[oA]=wC[eg]=wC[tg]=wC[ng]=wC[ig]=wC[ag]=wC[cg]=wC[lg]=wC[pg]=wC[hg]=false;var SC={};SC[Pd]=SC[Qh]=SC[mg]=SC[gg]=SC[sA]=SC[oA]=SC[_g]=SC[yg]=SC[vg]=SC[Eg]=SC[bg]=SC[ng]=SC[ig]=SC[ag]=SC[cg]=SC[lg]=SC[pg]=SC[fg]=SC[Cg]=SC[Dg]=SC[wg]=SC[Sg]=true;SC[eg]=SC[tg]=SC[hg]=false;var IC={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"};var xC={"&":"&","<":"<",">":">",'"':""","'":"'"};var kC={"&":"&","<":"<",">":">",""":'"',"'":"'"};var BC={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"};var TC=parseFloat,FC=parseInt;var NC=typeof global=="object"&&global&&global.Object===Object&&global;var QC=typeof self=="object"&&self&&self.Object===Object&&self;var RC=NC||QC||Function("return this")();var PC=true&&Bn&&!Bn.nodeType&&Bn;var OC=PC&&"object"=="object"&&Me&&!Me.nodeType&&Me;var LC=OC&&OC.exports===PC;var MC=LC&&NC.process;var jC=function(){try{var Me=OC&&OC.require&&OC.require("util").types;if(Me){return Me}return MC&&MC.binding&&MC.binding("util")}catch(Me){}}();var UC=jC&&jC.isArrayBuffer,GC=jC&&jC.isDate,HC=jC&&jC.isMap,qC=jC&&jC.isRegExp,JC=jC&&jC.isSet,$C=jC&&jC.isTypedArray;function apply(Me,Bn,Hn){switch(Hn.length){case 0:return Me.call(Bn);case 1:return Me.call(Bn,Hn[0]);case 2:return Me.call(Bn,Hn[0],Hn[1]);case 3:return Me.call(Bn,Hn[0],Hn[1],Hn[2])}return Me.apply(Bn,Hn)}function arrayAggregator(Me,Bn,Hn,zn){var ni=-1,Ci=Me==null?0:Me.length;while(++ni-1}function arrayIncludesWith(Me,Bn,Hn){var zn=-1,ni=Me==null?0:Me.length;while(++zn-1){}return Hn}function charsEndIndex(Me,Bn){var Hn=Me.length;while(Hn--&&baseIndexOf(Bn,Me[Hn],0)>-1){}return Hn}function countHolders(Me,Bn){var Hn=Me.length,zn=0;while(Hn--){if(Me[Hn]===Bn){++zn}}return zn}var WC=basePropertyOf(IC);var KC=basePropertyOf(xC);function escapeStringChar(Me){return"\\"+BC[Me]}function getValue(Me,Bn){return Me==null?Hn:Me[Bn]}function hasUnicode(Me){return EC.test(Me)}function hasUnicodeWord(Me){return bC.test(Me)}function iteratorToArray(Me){var Bn,Hn=[];while(!(Bn=Me.next()).done){Hn.push(Bn.value)}return Hn}function mapToArray(Me){var Bn=-1,Hn=Array(Me.size);Me.forEach((function(Me,zn){Hn[++Bn]=[zn,Me]}));return Hn}function overArg(Me,Bn){return function(Hn){return Me(Bn(Hn))}}function replaceHolders(Me,Bn){var Hn=-1,zn=Me.length,ni=0,Ci=[];while(++Hn-1}function listCacheSet(Me,Bn){var Hn=this.__data__,zn=assocIndexOf(Hn,Me);if(zn<0){++this.size;Hn.push([Me,Bn])}else{Hn[zn][1]=Bn}return this}ListCache.prototype.clear=listCacheClear;ListCache.prototype["delete"]=listCacheDelete;ListCache.prototype.get=listCacheGet;ListCache.prototype.has=listCacheHas;ListCache.prototype.set=listCacheSet;function MapCache(Me){var Bn=-1,Hn=Me==null?0:Me.length;this.clear();while(++Bn=Bn?Me:Bn}}return Me}function baseClone(Me,Bn,zn,ni,Ci,ts){var Ps,aa=Bn&_a,oa=Bn&xa,ca=Bn&Ga;if(zn){Ps=Ci?zn(Me,ni,Ci,ts):zn(Me)}if(Ps!==Hn){return Ps}if(!isObject(Me)){return Me}var Ha=eT(Me);if(Ha){Ps=initCloneArray(Me);if(!aa){return copyArray(Me,Ps)}}else{var so=gw(Me),oo=so==tg||so==rg;if(nT(Me)){return cloneBuffer(Me,aa)}if(so==ag||so==Pd||oo&&!Ci){Ps=oa||oo?{}:initCloneObject(Me);if(!aa){return oa?copySymbolsIn(Me,baseAssignIn(Ps,Me)):copySymbols(Me,baseAssign(Ps,Me))}}else{if(!SC[so]){return Ci?Me:{}}Ps=initCloneByTag(Me,so,aa)}}ts||(ts=new Stack);var Jo=ts.get(Me);if(Jo){return Jo}ts.set(Me,Ps);if(oT(Me)){Me.forEach((function(Hn){Ps.add(baseClone(Hn,Bn,zn,Hn,Me,ts))}))}else if(sT(Me)){Me.forEach((function(Hn,ni){Ps.set(ni,baseClone(Hn,Bn,zn,ni,Me,ts))}))}var tc=ca?oa?getAllKeysIn:getAllKeys:oa?keysIn:keys;var dc=Ha?Hn:tc(Me);arrayEach(dc||Me,(function(Hn,ni){if(dc){ni=Hn;Hn=Me[ni]}assignValue(Ps,ni,baseClone(Hn,Bn,zn,ni,Me,ts))}));return Ps}function baseConforms(Me){var Bn=keys(Me);return function(Hn){return baseConformsTo(Hn,Me,Bn)}}function baseConformsTo(Me,Bn,zn){var ni=zn.length;if(Me==null){return!ni}Me=fy(Me);while(ni--){var Ci=zn[ni],ts=Bn[Ci],Ps=Me[Ci];if(Ps===Hn&&!(Ci in Me)||!ts(Ps)){return false}}return true}function baseDelay(Me,Bn,zn){if(typeof Me!="function"){throw new Vy(ts)}return vw((function(){Me.apply(Hn,zn)}),Bn)}function baseDifference(Me,Bn,Hn,zn){var Ci=-1,ts=arrayIncludes,Ps=true,aa=Me.length,oa=[],ca=Bn.length;if(!aa){return oa}if(Hn){Bn=arrayMap(Bn,baseUnary(Hn))}if(zn){ts=arrayIncludesWith;Ps=false}else if(Bn.length>=ni){ts=cacheHas;Ps=false;Bn=new SetCache(Bn)}e:while(++CiCi?0:Ci+zn}ni=ni===Hn||ni>Ci?Ci:toInteger(ni);if(ni<0){ni+=Ci}ni=zn>ni?0:toLength(ni);while(zn0&&Hn(Ps)){if(Bn>1){baseFlatten(Ps,Bn-1,Hn,zn,ni)}else{arrayPush(ni,Ps)}}else if(!zn){ni[ni.length]=Ps}}return ni}var ow=createBaseFor();var uw=createBaseFor(true);function baseForOwn(Me,Bn){return Me&&ow(Me,Bn,keys)}function baseForOwnRight(Me,Bn){return Me&&uw(Me,Bn,keys)}function baseFunctions(Me,Bn){return arrayFilter(Bn,(function(Bn){return isFunction(Me[Bn])}))}function baseGet(Me,Bn){Bn=castPath(Bn,Me);var zn=0,ni=Bn.length;while(Me!=null&&znBn}function baseHas(Me,Bn){return Me!=null&&Cv.call(Me,Bn)}function baseHasIn(Me,Bn){return Me!=null&&Bn in fy(Me)}function baseInRange(Me,Bn,Hn){return Me>=yC(Bn,Hn)&&Me=120&&xa.length>=120)?new SetCache(aa&&xa):Hn}xa=Me[0];var Ga=-1,Ha=oa[0];e:while(++Ga-1){if(Ps!==Me){tC.call(Ps,aa,1)}tC.call(Me,aa,1)}}return Me}function basePullAt(Me,Bn){var Hn=Me?Bn.length:0,zn=Hn-1;while(Hn--){var ni=Bn[Hn];if(Hn==zn||ni!==Ci){var Ci=ni;if(isIndex(ni)){tC.call(Me,ni,1)}else{baseUnset(Me,ni)}}}return Me}function baseRandom(Me,Bn){return Me+lC(bC()*(Bn-Me+1))}function baseRange(Me,Hn,zn,ni){var Ci=-1,ts=mC(cC((Hn-Me)/(zn||1)),0),Ps=Bn(ts);while(ts--){Ps[ni?ts:++Ci]=Me;Me+=zn}return Ps}function baseRepeat(Me,Bn){var Hn="";if(!Me||Bn<1||Bn>Xf){return Hn}do{if(Bn%2){Hn+=Me}Bn=lC(Bn/2);if(Bn){Me+=Me}}while(Bn);return Hn}function baseRest(Me,Bn){return Ew(overRest(Me,Bn,identity),Me+"")}function baseSample(Me){return arraySample(values(Me))}function baseSampleSize(Me,Bn){var Hn=values(Me);return shuffleSelf(Hn,baseClamp(Bn,0,Hn.length))}function baseSet(Me,Bn,zn,ni){if(!isObject(Me)){return Me}Bn=castPath(Bn,Me);var Ci=-1,ts=Bn.length,Ps=ts-1,aa=Me;while(aa!=null&&++CiCi?0:Ci+Hn}zn=zn>Ci?Ci:zn;if(zn<0){zn+=Ci}Ci=Hn>zn?0:zn-Hn>>>0;Hn>>>=0;var ts=Bn(Ci);while(++ni>>1,ts=Me[Ci];if(ts!==null&&!isSymbol(ts)&&(Hn?ts<=Bn:ts=ni){var ca=Bn?null:dw(Me);if(ca){return setToArray(ca)}Ps=false;Ci=cacheHas;oa=new SetCache}else{oa=Bn?[]:aa}e:while(++zn=ni?Me:baseSlice(Me,Bn,zn)}var fw=aC||function(Me){return RC.clearTimeout(Me)};function cloneBuffer(Me,Bn){if(Bn){return Me.slice()}var Hn=Me.length,zn=Ov?Ov(Hn):new Me.constructor(Hn);Me.copy(zn);return zn}function cloneArrayBuffer(Me){var Bn=new Me.constructor(Me.byteLength);new Nv(Bn).set(new Nv(Me));return Bn}function cloneDataView(Me,Bn){var Hn=Bn?cloneArrayBuffer(Me.buffer):Me.buffer;return new Me.constructor(Hn,Me.byteOffset,Me.byteLength)}function cloneRegExp(Me){var Bn=new Me.constructor(Me.source,zg.exec(Me));Bn.lastIndex=Me.lastIndex;return Bn}function cloneSymbol(Me){return rw?fy(rw.call(Me)):{}}function cloneTypedArray(Me,Bn){var Hn=Bn?cloneArrayBuffer(Me.buffer):Me.buffer;return new Me.constructor(Hn,Me.byteOffset,Me.length)}function compareAscending(Me,Bn){if(Me!==Bn){var zn=Me!==Hn,ni=Me===null,Ci=Me===Me,ts=isSymbol(Me);var Ps=Bn!==Hn,aa=Bn===null,oa=Bn===Bn,ca=isSymbol(Bn);if(!aa&&!ca&&!ts&&Me>Bn||ts&&Ps&&oa&&!aa&&!ca||ni&&Ps&&oa||!zn&&oa||!Ci){return 1}if(!ni&&!ts&&!ca&&Me=Ps){return aa}var oa=Hn[zn];return aa*(oa=="desc"?-1:1)}}return Me.index-Bn.index}function composeArgs(Me,Hn,zn,ni){var Ci=-1,ts=Me.length,Ps=zn.length,aa=-1,oa=Hn.length,ca=mC(ts-Ps,0),_a=Bn(oa+ca),xa=!ni;while(++aa1?zn[Ci-1]:Hn,Ps=Ci>2?zn[2]:Hn;ts=Me.length>3&&typeof ts=="function"?(Ci--,ts):Hn;if(Ps&&isIterateeCall(zn[0],zn[1],Ps)){ts=Ci<3?Hn:ts;Ci=1}Bn=fy(Bn);while(++ni-1?Ci[ts?Bn[Ps]:Ps]:Hn}}function createFlow(Me){return flatRest((function(Bn){var zn=Bn.length,ni=zn,Ci=LodashWrapper.prototype.thru;if(Me){Bn.reverse()}while(ni--){var Ps=Bn[ni];if(typeof Ps!="function"){throw new Vy(ts)}if(Ci&&!aa&&getFuncName(Ps)=="wrapper"){var aa=new LodashWrapper([],true)}}ni=aa?ni:zn;while(++ni1){oo.reverse()}if(xa&&caaa)){return false}var ca=ts.get(Me);var _a=ts.get(Bn);if(ca&&_a){return ca==Bn&&_a==Me}var xa=-1,Ga=true,oo=zn&so?new SetCache:Hn;ts.set(Me,Bn);ts.set(Bn,Me);while(++xa1?"& ":"")+Bn[zn];Bn=Bn.join(Hn>2?", ":" ");return Me.replace(Hg,"{\n/* [wrapped with "+Bn+"] */\n")}function isFlattenable(Me){return eT(Me)||BB(Me)||!!(rC&&Me&&Me[rC])}function isIndex(Me,Bn){var Hn=typeof Me;Bn=Bn==null?Xf:Bn;return!!Bn&&(Hn=="number"||Hn!="symbol"&&ey.test(Me))&&(Me>-1&&Me%1==0&&Me0){if(++Bn>=Jp){return arguments[0]}}else{Bn=0}return Me.apply(Hn,arguments)}}function shuffleSelf(Me,Bn){var zn=-1,ni=Me.length,Ci=ni-1;Bn=Bn===Hn?ni:Bn;while(++zn1?Me[Bn-1]:Hn;zn=typeof zn=="function"?(Me.pop(),zn):Hn;return unzipWith(Me,zn)}));function chain(Me){var Bn=lodash(Me);Bn.__chain__=true;return Bn}function tap(Me,Bn){Bn(Me);return Me}function thru(Me,Bn){return Bn(Me)}var jw=flatRest((function(Me){var Bn=Me.length,zn=Bn?Me[0]:0,ni=this.__wrapped__,interceptor=function(Bn){return baseAt(Bn,Me)};if(Bn>1||this.__actions__.length||!(ni instanceof LazyWrapper)||!isIndex(zn)){return this.thru(interceptor)}ni=ni.slice(zn,+zn+(Bn?1:0));ni.__actions__.push({func:thru,args:[interceptor],thisArg:Hn});return new LodashWrapper(ni,this.__chain__).thru((function(Me){if(Bn&&!Me.length){Me.push(Hn)}return Me}))}));function wrapperChain(){return chain(this)}function wrapperCommit(){return new LodashWrapper(this.value(),this.__chain__)}function wrapperNext(){if(this.__values__===Hn){this.__values__=toArray(this.value())}var Me=this.__index__>=this.__values__.length,Bn=Me?Hn:this.__values__[this.__index__++];return{done:Me,value:Bn}}function wrapperToIterator(){return this}function wrapperPlant(Me){var Bn,zn=this;while(zn instanceof baseLodash){var ni=wrapperClone(zn);ni.__index__=0;ni.__values__=Hn;if(Bn){Ci.__wrapped__=ni}else{Bn=ni}var Ci=ni;zn=zn.__wrapped__}Ci.__wrapped__=Me;return Bn}function wrapperReverse(){var Me=this.__wrapped__;if(Me instanceof LazyWrapper){var Bn=Me;if(this.__actions__.length){Bn=new LazyWrapper(this)}Bn=Bn.reverse();Bn.__actions__.push({func:thru,args:[reverse],thisArg:Hn});return new LodashWrapper(Bn,this.__chain__)}return this.thru(reverse)}function wrapperValue(){return baseWrapperValue(this.__wrapped__,this.__actions__)}var Uw=createAggregator((function(Me,Bn,Hn){if(Cv.call(Me,Hn)){++Me[Hn]}else{baseAssignValue(Me,Hn,1)}}));function every(Me,Bn,zn){var ni=eT(Me)?arrayEvery:baseEvery;if(zn&&isIterateeCall(Me,Bn,zn)){Bn=Hn}return ni(Me,getIteratee(Bn,3))}function filter(Me,Bn){var Hn=eT(Me)?arrayFilter:baseFilter;return Hn(Me,getIteratee(Bn,3))}var Gw=createFind(findIndex);var Vw=createFind(findLastIndex);function flatMap(Me,Bn){return baseFlatten(map(Me,Bn),1)}function flatMapDeep(Me,Bn){return baseFlatten(map(Me,Bn),Kf)}function flatMapDepth(Me,Bn,zn){zn=zn===Hn?1:toInteger(zn);return baseFlatten(map(Me,Bn),zn)}function forEach(Me,Bn){var Hn=eT(Me)?arrayEach:sw;return Hn(Me,getIteratee(Bn,3))}function forEachRight(Me,Bn){var Hn=eT(Me)?arrayEachRight:aw;return Hn(Me,getIteratee(Bn,3))}var Hw=createAggregator((function(Me,Bn,Hn){if(Cv.call(Me,Hn)){Me[Hn].push(Bn)}else{baseAssignValue(Me,Hn,[Bn])}}));function includes(Me,Bn,Hn,zn){Me=isArrayLike(Me)?Me:values(Me);Hn=Hn&&!zn?toInteger(Hn):0;var ni=Me.length;if(Hn<0){Hn=mC(ni+Hn,0)}return isString(Me)?Hn<=ni&&Me.indexOf(Bn,Hn)>-1:!!ni&&baseIndexOf(Me,Bn,Hn)>-1}var qw=baseRest((function(Me,Hn,zn){var ni=-1,Ci=typeof Hn=="function",ts=isArrayLike(Me)?Bn(Me.length):[];sw(Me,(function(Me){ts[++ni]=Ci?apply(Hn,Me,zn):baseInvoke(Me,Hn,zn)}));return ts}));var Jw=createAggregator((function(Me,Bn,Hn){baseAssignValue(Me,Hn,Bn)}));function map(Me,Bn){var Hn=eT(Me)?arrayMap:baseMap;return Hn(Me,getIteratee(Bn,3))}function orderBy(Me,Bn,zn,ni){if(Me==null){return[]}if(!eT(Bn)){Bn=Bn==null?[]:[Bn]}zn=ni?Hn:zn;if(!eT(zn)){zn=zn==null?[]:[zn]}return baseOrderBy(Me,Bn,zn)}var $w=createAggregator((function(Me,Bn,Hn){Me[Hn?0:1].push(Bn)}),(function(){return[[],[]]}));function reduce(Me,Bn,Hn){var zn=eT(Me)?arrayReduce:baseReduce,ni=arguments.length<3;return zn(Me,getIteratee(Bn,4),Hn,ni,sw)}function reduceRight(Me,Bn,Hn){var zn=eT(Me)?arrayReduceRight:baseReduce,ni=arguments.length<3;return zn(Me,getIteratee(Bn,4),Hn,ni,aw)}function reject(Me,Bn){var Hn=eT(Me)?arrayFilter:baseFilter;return Hn(Me,negate(getIteratee(Bn,3)))}function sample(Me){var Bn=eT(Me)?arraySample:baseSample;return Bn(Me)}function sampleSize(Me,Bn,zn){if(zn?isIterateeCall(Me,Bn,zn):Bn===Hn){Bn=1}else{Bn=toInteger(Bn)}var ni=eT(Me)?arraySampleSize:baseSampleSize;return ni(Me,Bn)}function shuffle(Me){var Bn=eT(Me)?arrayShuffle:baseShuffle;return Bn(Me)}function size(Me){if(Me==null){return 0}if(isArrayLike(Me)){return isString(Me)?stringSize(Me):Me.length}var Bn=gw(Me);if(Bn==ng||Bn==lg){return Me.size}return baseKeys(Me).length}function some(Me,Bn,zn){var ni=eT(Me)?arraySome:baseSome;if(zn&&isIterateeCall(Me,Bn,zn)){Bn=Hn}return ni(Me,getIteratee(Bn,3))}var Yw=baseRest((function(Me,Bn){if(Me==null){return[]}var Hn=Bn.length;if(Hn>1&&isIterateeCall(Me,Bn[0],Bn[1])){Bn=[]}else if(Hn>2&&isIterateeCall(Bn[0],Bn[1],Bn[2])){Bn=[Bn[0]]}return baseOrderBy(Me,baseFlatten(Bn,1),[])}));var Ww=oC||function(){return RC.Date.now()};function after(Me,Bn){if(typeof Bn!="function"){throw new Vy(ts)}Me=toInteger(Me);return function(){if(--Me<1){return Bn.apply(this,arguments)}}}function ary(Me,Bn,zn){Bn=zn?Hn:Bn;Bn=Me&&Bn==null?Me.length:Bn;return createWrap(Me,kp,Hn,Hn,Hn,Hn,Bn)}function before(Me,Bn){var zn;if(typeof Bn!="function"){throw new Vy(ts)}Me=toInteger(Me);return function(){if(--Me>0){zn=Bn.apply(this,arguments)}if(Me<=1){Bn=Hn}return zn}}var Kw=baseRest((function(Me,Bn,Hn){var zn=oo;if(Hn.length){var ni=replaceHolders(Hn,getHolder(Kw));zn|=Jc}return createWrap(Me,zn,Bn,Hn,ni)}));var zw=baseRest((function(Me,Bn,Hn){var zn=oo|Jo;if(Hn.length){var ni=replaceHolders(Hn,getHolder(zw));zn|=Jc}return createWrap(Bn,zn,Me,Hn,ni)}));function curry(Me,Bn,zn){Bn=zn?Hn:Bn;var ni=createWrap(Me,dc,Hn,Hn,Hn,Hn,Hn,Bn);ni.placeholder=curry.placeholder;return ni}function curryRight(Me,Bn,zn){Bn=zn?Hn:Bn;var ni=createWrap(Me,Fc,Hn,Hn,Hn,Hn,Hn,Bn);ni.placeholder=curryRight.placeholder;return ni}function debounce(Me,Bn,zn){var ni,Ci,Ps,aa,oa,ca,_a=0,xa=false,Ga=false,Ha=true;if(typeof Me!="function"){throw new Vy(ts)}Bn=toNumber(Bn)||0;if(isObject(zn)){xa=!!zn.leading;Ga="maxWait"in zn;Ps=Ga?mC(toNumber(zn.maxWait)||0,Bn):Ps;Ha="trailing"in zn?!!zn.trailing:Ha}function invokeFunc(Bn){var zn=ni,ts=Ci;ni=Ci=Hn;_a=Bn;aa=Me.apply(ts,zn);return aa}function leadingEdge(Me){_a=Me;oa=vw(timerExpired,Bn);return xa?invokeFunc(Me):aa}function remainingWait(Me){var Hn=Me-ca,zn=Me-_a,ni=Bn-Hn;return Ga?yC(ni,Ps-zn):ni}function shouldInvoke(Me){var zn=Me-ca,ni=Me-_a;return ca===Hn||zn>=Bn||zn<0||Ga&&ni>=Ps}function timerExpired(){var Me=Ww();if(shouldInvoke(Me)){return trailingEdge(Me)}oa=vw(timerExpired,remainingWait(Me))}function trailingEdge(Me){oa=Hn;if(Ha&&ni){return invokeFunc(Me)}ni=Ci=Hn;return aa}function cancel(){if(oa!==Hn){fw(oa)}_a=0;ni=ca=Ci=oa=Hn}function flush(){return oa===Hn?aa:trailingEdge(Ww())}function debounced(){var Me=Ww(),zn=shouldInvoke(Me);ni=arguments;Ci=this;ca=Me;if(zn){if(oa===Hn){return leadingEdge(ca)}if(Ga){fw(oa);oa=vw(timerExpired,Bn);return invokeFunc(ca)}}if(oa===Hn){oa=vw(timerExpired,Bn)}return aa}debounced.cancel=cancel;debounced.flush=flush;return debounced}var Xw=baseRest((function(Me,Bn){return baseDelay(Me,1,Bn)}));var Zw=baseRest((function(Me,Bn,Hn){return baseDelay(Me,toNumber(Bn)||0,Hn)}));function flip(Me){return createWrap(Me,Up)}function memoize(Me,Bn){if(typeof Me!="function"||Bn!=null&&typeof Bn!="function"){throw new Vy(ts)}var memoized=function(){var Hn=arguments,zn=Bn?Bn.apply(this,Hn):Hn[0],ni=memoized.cache;if(ni.has(zn)){return ni.get(zn)}var Ci=Me.apply(this,Hn);memoized.cache=ni.set(zn,Ci)||ni;return Ci};memoized.cache=new(memoize.Cache||MapCache);return memoized}memoize.Cache=MapCache;function negate(Me){if(typeof Me!="function"){throw new Vy(ts)}return function(){var Bn=arguments;switch(Bn.length){case 0:return!Me.call(this);case 1:return!Me.call(this,Bn[0]);case 2:return!Me.call(this,Bn[0],Bn[1]);case 3:return!Me.call(this,Bn[0],Bn[1],Bn[2])}return!Me.apply(this,Bn)}}function once(Me){return before(2,Me)}var eS=pw((function(Me,Bn){Bn=Bn.length==1&&eT(Bn[0])?arrayMap(Bn[0],baseUnary(getIteratee())):arrayMap(baseFlatten(Bn,1),baseUnary(getIteratee()));var Hn=Bn.length;return baseRest((function(zn){var ni=-1,Ci=yC(zn.length,Hn);while(++ni=Bn}));var BB=baseIsArguments(function(){return arguments}())?baseIsArguments:function(Me){return isObjectLike(Me)&&Cv.call(Me,"callee")&&!eC.call(Me,"callee")};var eT=Bn.isArray;var rT=UC?baseUnary(UC):baseIsArrayBuffer;function isArrayLike(Me){return Me!=null&&isLength(Me.length)&&!isFunction(Me)}function isArrayLikeObject(Me){return isObjectLike(Me)&&isArrayLike(Me)}function isBoolean(Me){return Me===true||Me===false||isObjectLike(Me)&&baseGetTag(Me)==sA}var nT=fC||stubFalse;var iT=GC?baseUnary(GC):baseIsDate;function isElement(Me){return isObjectLike(Me)&&Me.nodeType===1&&!isPlainObject(Me)}function isEmpty(Me){if(Me==null){return true}if(isArrayLike(Me)&&(eT(Me)||typeof Me=="string"||typeof Me.splice=="function"||nT(Me)||uT(Me)||BB(Me))){return!Me.length}var Bn=gw(Me);if(Bn==ng||Bn==lg){return!Me.size}if(isPrototype(Me)){return!baseKeys(Me).length}for(var Hn in Me){if(Cv.call(Me,Hn)){return false}}return true}function isEqual(Me,Bn){return baseIsEqual(Me,Bn)}function isEqualWith(Me,Bn,zn){zn=typeof zn=="function"?zn:Hn;var ni=zn?zn(Me,Bn):Hn;return ni===Hn?baseIsEqual(Me,Bn,Hn,zn):!!ni}function isError(Me){if(!isObjectLike(Me)){return false}var Bn=baseGetTag(Me);return Bn==eg||Bn==hA||typeof Me.message=="string"&&typeof Me.name=="string"&&!isPlainObject(Me)}function isFinite(Me){return typeof Me=="number"&&dC(Me)}function isFunction(Me){if(!isObject(Me)){return false}var Bn=baseGetTag(Me);return Bn==tg||Bn==rg||Bn==Zh||Bn==ug}function isInteger(Me){return typeof Me=="number"&&Me==toInteger(Me)}function isLength(Me){return typeof Me=="number"&&Me>-1&&Me%1==0&&Me<=Xf}function isObject(Me){var Bn=typeof Me;return Me!=null&&(Bn=="object"||Bn=="function")}function isObjectLike(Me){return Me!=null&&typeof Me=="object"}var sT=HC?baseUnary(HC):baseIsMap;function isMatch(Me,Bn){return Me===Bn||baseIsMatch(Me,Bn,getMatchData(Bn))}function isMatchWith(Me,Bn,zn){zn=typeof zn=="function"?zn:Hn;return baseIsMatch(Me,Bn,getMatchData(Bn),zn)}function isNaN(Me){return isNumber(Me)&&Me!=+Me}function isNative(Me){if(_w(Me)){throw new $g(Ci)}return baseIsNative(Me)}function isNull(Me){return Me===null}function isNil(Me){return Me==null}function isNumber(Me){return typeof Me=="number"||isObjectLike(Me)&&baseGetTag(Me)==ig}function isPlainObject(Me){if(!isObjectLike(Me)||baseGetTag(Me)!=ag){return false}var Bn=Mv(Me);if(Bn===null){return true}var Hn=Cv.call(Bn,"constructor")&&Bn.constructor;return typeof Hn=="function"&&Hn instanceof Hn&&bv.call(Hn)==xv}var aT=qC?baseUnary(qC):baseIsRegExp;function isSafeInteger(Me){return isInteger(Me)&&Me>=-Xf&&Me<=Xf}var oT=JC?baseUnary(JC):baseIsSet;function isString(Me){return typeof Me=="string"||!eT(Me)&&isObjectLike(Me)&&baseGetTag(Me)==pg}function isSymbol(Me){return typeof Me=="symbol"||isObjectLike(Me)&&baseGetTag(Me)==fg}var uT=$C?baseUnary($C):baseIsTypedArray;function isUndefined(Me){return Me===Hn}function isWeakMap(Me){return isObjectLike(Me)&&gw(Me)==hg}function isWeakSet(Me){return isObjectLike(Me)&&baseGetTag(Me)==Ag}var cT=createRelationalOperation(baseLt);var lT=createRelationalOperation((function(Me,Bn){return Me<=Bn}));function toArray(Me){if(!Me){return[]}if(isArrayLike(Me)){return isString(Me)?stringToArray(Me):copyArray(Me)}if(nC&&Me[nC]){return iteratorToArray(Me[nC]())}var Bn=gw(Me),Hn=Bn==ng?mapToArray:Bn==lg?setToArray:values;return Hn(Me)}function toFinite(Me){if(!Me){return Me===0?Me:0}Me=toNumber(Me);if(Me===Kf||Me===-Kf){var Bn=Me<0?-1:1;return Bn*Ad}return Me===Me?Me:0}function toInteger(Me){var Bn=toFinite(Me),Hn=Bn%1;return Bn===Bn?Hn?Bn-Hn:Bn:0}function toLength(Me){return Me?baseClamp(toInteger(Me),0,wd):0}function toNumber(Me){if(typeof Me=="number"){return Me}if(isSymbol(Me)){return Cd}if(isObject(Me)){var Bn=typeof Me.valueOf=="function"?Me.valueOf():Me;Me=isObject(Bn)?Bn+"":Bn}if(typeof Me!="string"){return Me===0?Me:+Me}Me=baseTrim(Me);var Hn=Zg.test(Me);return Hn||Z_.test(Me)?FC(Me.slice(2),Hn?2:8):Xg.test(Me)?Cd:+Me}function toPlainObject(Me){return copyObject(Me,keysIn(Me))}function toSafeInteger(Me){return Me?baseClamp(toInteger(Me),-Xf,Xf):Me===0?Me:0}function toString(Me){return Me==null?"":baseToString(Me)}var pT=createAssigner((function(Me,Bn){if(isPrototype(Bn)||isArrayLike(Bn)){copyObject(Bn,keys(Bn),Me);return}for(var Hn in Bn){if(Cv.call(Bn,Hn)){assignValue(Me,Hn,Bn[Hn])}}}));var fT=createAssigner((function(Me,Bn){copyObject(Bn,keysIn(Bn),Me)}));var AT=createAssigner((function(Me,Bn,Hn,zn){copyObject(Bn,keysIn(Bn),Me,zn)}));var gT=createAssigner((function(Me,Bn,Hn,zn){copyObject(Bn,keys(Bn),Me,zn)}));var _T=flatRest(baseAt);function create(Me,Bn){var Hn=iw(Me);return Bn==null?Hn:baseAssign(Hn,Bn)}var yT=baseRest((function(Me,Bn){Me=fy(Me);var zn=-1;var ni=Bn.length;var Ci=ni>2?Bn[2]:Hn;if(Ci&&isIterateeCall(Bn[0],Bn[1],Ci)){ni=1}while(++zn1);return Bn}));copyObject(Me,getAllKeysIn(Me),Hn);if(zn){Hn=baseClone(Hn,_a|xa|Ga,customOmitClone)}var ni=Bn.length;while(ni--){baseUnset(Hn,Bn[ni])}return Hn}));function omitBy(Me,Bn){return pickBy(Me,negate(getIteratee(Bn)))}var PT=flatRest((function(Me,Bn){return Me==null?{}:basePick(Me,Bn)}));function pickBy(Me,Bn){if(Me==null){return{}}var Hn=arrayMap(getAllKeysIn(Me),(function(Me){return[Me]}));Bn=getIteratee(Bn);return basePickBy(Me,Hn,(function(Me,Hn){return Bn(Me,Hn[0])}))}function result(Me,Bn,zn){Bn=castPath(Bn,Me);var ni=-1,Ci=Bn.length;if(!Ci){Ci=1;Me=Hn}while(++niBn){var ni=Me;Me=Bn;Bn=ni}if(zn||Me%1||Bn%1){var Ci=bC();return yC(Me+Ci*(Bn-Me+TC("1e-"+((Ci+"").length-1))),Bn)}return baseRandom(Me,Bn)}var KT=createCompounder((function(Me,Bn,Hn){Bn=Bn.toLowerCase();return Me+(Hn?capitalize(Bn):Bn)}));function capitalize(Me){return nQ(toString(Me).toLowerCase())}function deburr(Me){Me=toString(Me);return Me&&Me.replace(ty,WC).replace(_C,"")}function endsWith(Me,Bn,zn){Me=toString(Me);Bn=baseToString(Bn);var ni=Me.length;zn=zn===Hn?ni:baseClamp(toInteger(zn),0,ni);var Ci=zn;zn-=Bn.length;return zn>=0&&Me.slice(zn,Ci)==Bn}function escape(Me){Me=toString(Me);return Me&&Ng.test(Me)?Me.replace(Tg,KC):Me}function escapeRegExp(Me){Me=toString(Me);return Me&&Ug.test(Me)?Me.replace(jg,"\\$&"):Me}var XT=createCompounder((function(Me,Bn,Hn){return Me+(Hn?"-":"")+Bn.toLowerCase()}));var ZT=createCompounder((function(Me,Bn,Hn){return Me+(Hn?" ":"")+Bn.toLowerCase()}));var rF=createCaseFirst("toLowerCase");function pad(Me,Bn,Hn){Me=toString(Me);Bn=toInteger(Bn);var zn=Bn?stringSize(Me):0;if(!Bn||zn>=Bn){return Me}var ni=(Bn-zn)/2;return createPadding(lC(ni),Hn)+Me+createPadding(cC(ni),Hn)}function padEnd(Me,Bn,Hn){Me=toString(Me);Bn=toInteger(Bn);var zn=Bn?stringSize(Me):0;return Bn&&zn>>0;if(!zn){return[]}Me=toString(Me);if(Me&&(typeof Bn=="string"||Bn!=null&&!aT(Bn))){Bn=baseToString(Bn);if(!Bn&&hasUnicode(Me)){return castSlice(stringToArray(Me),0,zn)}}return Me.split(Bn,zn)}var tQ=createCompounder((function(Me,Bn,Hn){return Me+(Hn?" ":"")+nQ(Bn)}));function startsWith(Me,Bn,Hn){Me=toString(Me);Hn=Hn==null?0:baseClamp(toInteger(Hn),0,Me.length);Bn=baseToString(Bn);return Me.slice(Hn,Hn+Bn.length)==Bn}function template(Me,Bn,zn){var ni=lodash.templateSettings;if(zn&&isIterateeCall(Me,Bn,zn)){Bn=Hn}Me=toString(Me);Bn=AT({},Bn,ni,customDefaultsAssignIn);var Ci=AT({},Bn.imports,ni.imports,customDefaultsAssignIn),ts=keys(Ci),aa=baseValues(Ci,ts);var oa,ca,_a=0,xa=Bn.interpolate||ry,Ga="__p += '";var Ha=Ty((Bn.escape||ry).source+"|"+xa.source+"|"+(xa===Pg?Kg:ry).source+"|"+(Bn.evaluate||ry).source+"|$","g");var so="//# sourceURL="+(Cv.call(Bn,"sourceURL")?(Bn.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++DC+"]")+"\n";Me.replace(Ha,(function(Bn,Hn,zn,ni,Ci,ts){zn||(zn=ni);Ga+=Me.slice(_a,ts).replace(ny,escapeStringChar);if(Hn){oa=true;Ga+="' +\n__e("+Hn+") +\n'"}if(Ci){ca=true;Ga+="';\n"+Ci+";\n__p += '"}if(zn){Ga+="' +\n((__t = ("+zn+")) == null ? '' : __t) +\n'"}_a=ts+Bn.length;return Bn}));Ga+="';\n";var oo=Cv.call(Bn,"variable")&&Bn.variable;if(!oo){Ga="with (obj) {\n"+Ga+"\n}\n"}else if(Yg.test(oo)){throw new $g(Ps)}Ga=(ca?Ga.replace(Ig,""):Ga).replace(xg,"$1").replace(kg,"$1;");Ga="function("+(oo||"obj")+") {\n"+(oo?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(oa?", __e = _.escape":"")+(ca?", __j = Array.prototype.join;\n"+"function print() { __p += __j.call(arguments, '') }\n":";\n")+Ga+"return __p\n}";var Jo=iQ((function(){return iy(ts,so+"return "+Ga).apply(Hn,aa)}));Jo.source=Ga;if(isError(Jo)){throw Jo}return Jo}function toLower(Me){return toString(Me).toLowerCase()}function toUpper(Me){return toString(Me).toUpperCase()}function trim(Me,Bn,zn){Me=toString(Me);if(Me&&(zn||Bn===Hn)){return baseTrim(Me)}if(!Me||!(Bn=baseToString(Bn))){return Me}var ni=stringToArray(Me),Ci=stringToArray(Bn),ts=charsStartIndex(ni,Ci),Ps=charsEndIndex(ni,Ci)+1;return castSlice(ni,ts,Ps).join("")}function trimEnd(Me,Bn,zn){Me=toString(Me);if(Me&&(zn||Bn===Hn)){return Me.slice(0,trimmedEndIndex(Me)+1)}if(!Me||!(Bn=baseToString(Bn))){return Me}var ni=stringToArray(Me),Ci=charsEndIndex(ni,stringToArray(Bn))+1;return castSlice(ni,0,Ci).join("")}function trimStart(Me,Bn,zn){Me=toString(Me);if(Me&&(zn||Bn===Hn)){return Me.replace(Gg,"")}if(!Me||!(Bn=baseToString(Bn))){return Me}var ni=stringToArray(Me),Ci=charsStartIndex(ni,stringToArray(Bn));return castSlice(ni,Ci).join("")}function truncate(Me,Bn){var zn=Vp,ni=qp;if(isObject(Bn)){var Ci="separator"in Bn?Bn.separator:Ci;zn="length"in Bn?toInteger(Bn.length):zn;ni="omission"in Bn?baseToString(Bn.omission):ni}Me=toString(Me);var ts=Me.length;if(hasUnicode(Me)){var Ps=stringToArray(Me);ts=Ps.length}if(zn>=ts){return Me}var aa=zn-stringSize(ni);if(aa<1){return ni}var oa=Ps?castSlice(Ps,0,aa).join(""):Me.slice(0,aa);if(Ci===Hn){return oa+ni}if(Ps){aa+=oa.length-aa}if(aT(Ci)){if(Me.slice(aa).search(Ci)){var ca,_a=oa;if(!Ci.global){Ci=Ty(Ci.source,toString(zg.exec(Ci))+"g")}Ci.lastIndex=0;while(ca=Ci.exec(_a)){var xa=ca.index}oa=oa.slice(0,xa===Hn?aa:xa)}}else if(Me.indexOf(baseToString(Ci),aa)!=aa){var Ga=oa.lastIndexOf(Ci);if(Ga>-1){oa=oa.slice(0,Ga)}}return oa+ni}function unescape(Me){Me=toString(Me);return Me&&Fg.test(Me)?Me.replace(Bg,zC):Me}var rQ=createCompounder((function(Me,Bn,Hn){return Me+(Hn?" ":"")+Bn.toUpperCase()}));var nQ=createCaseFirst("toUpperCase");function words(Me,Bn,zn){Me=toString(Me);Bn=zn?Hn:Bn;if(Bn===Hn){return hasUnicodeWord(Me)?unicodeWords(Me):asciiWords(Me)}return Me.match(Bn)||[]}var iQ=baseRest((function(Me,Bn){try{return apply(Me,Hn,Bn)}catch(Me){return isError(Me)?Me:new $g(Me)}}));var sQ=flatRest((function(Me,Bn){arrayEach(Bn,(function(Bn){Bn=toKey(Bn);baseAssignValue(Me,Bn,Kw(Me[Bn],Me))}));return Me}));function cond(Me){var Bn=Me==null?0:Me.length,Hn=getIteratee();Me=!Bn?[]:arrayMap(Me,(function(Me){if(typeof Me[1]!="function"){throw new Vy(ts)}return[Hn(Me[0]),Me[1]]}));return baseRest((function(Hn){var zn=-1;while(++znXf){return[]}var Hn=wd,zn=yC(Me,wd);Bn=getIteratee(Bn);Me-=wd;var ni=baseTimes(zn,Bn);while(++Hn0||Bn<0)){return new LazyWrapper(zn)}if(Me<0){zn=zn.takeRight(-Me)}else if(Me){zn=zn.drop(Me)}if(Bn!==Hn){Bn=toInteger(Bn);zn=Bn<0?zn.dropRight(-Bn):zn.take(Bn-Me)}return zn};LazyWrapper.prototype.takeRightWhile=function(Me){return this.reverse().takeWhile(Me).reverse()};LazyWrapper.prototype.toArray=function(){return this.take(wd)};baseForOwn(LazyWrapper.prototype,(function(Me,Bn){var zn=/^(?:filter|find|map|reject)|While$/.test(Bn),ni=/^(?:head|last)$/.test(Bn),Ci=lodash[ni?"take"+(Bn=="last"?"Right":""):Bn],ts=ni||/^find/.test(Bn);if(!Ci){return}lodash.prototype[Bn]=function(){var Bn=this.__wrapped__,Ps=ni?[1]:arguments,aa=Bn instanceof LazyWrapper,oa=Ps[0],ca=aa||eT(Bn);var interceptor=function(Me){var Bn=Ci.apply(lodash,arrayPush([Me],Ps));return ni&&_a?Bn[0]:Bn};if(ca&&zn&&typeof oa=="function"&&oa.length!=1){aa=ca=false}var _a=this.__chain__,xa=!!this.__actions__.length,Ga=ts&&!_a,Ha=aa&&!xa;if(!ts&&ca){Bn=Ha?Bn:new LazyWrapper(this);var so=Me.apply(Bn,Ps);so.__actions__.push({func:thru,args:[interceptor],thisArg:Hn});return new LodashWrapper(so,_a)}if(Ga&&Ha){return Me.apply(this,Ps)}so=this.thru(interceptor);return Ga?ni?so.value()[0]:so.value():so}}));arrayEach(["pop","push","shift","sort","splice","unshift"],(function(Me){var Bn=Hy[Me],Hn=/^(?:push|sort|unshift)$/.test(Me)?"tap":"thru",zn=/^(?:pop|shift)$/.test(Me);lodash.prototype[Me]=function(){var Me=arguments;if(zn&&!this.__chain__){var ni=this.value();return Bn.apply(eT(ni)?ni:[],Me)}return this[Hn]((function(Hn){return Bn.apply(eT(Hn)?Hn:[],Me)}))}}));baseForOwn(LazyWrapper.prototype,(function(Me,Bn){var Hn=lodash[Bn];if(Hn){var zn=Hn.name+"";if(!Cv.call(MC,zn)){MC[zn]=[]}MC[zn].push({name:Bn,func:Hn})}}));MC[createHybrid(Hn,Jo).name]=[{name:"wrapper",func:Hn}];LazyWrapper.prototype.clone=lazyClone;LazyWrapper.prototype.reverse=lazyReverse;LazyWrapper.prototype.value=lazyValue;lodash.prototype.at=jw;lodash.prototype.chain=wrapperChain;lodash.prototype.commit=wrapperCommit;lodash.prototype.next=wrapperNext;lodash.prototype.plant=wrapperPlant;lodash.prototype.reverse=wrapperReverse;lodash.prototype.toJSON=lodash.prototype.valueOf=lodash.prototype.value=wrapperValue;lodash.prototype.first=lodash.prototype.head;if(nC){lodash.prototype[nC]=wrapperToIterator}return lodash};var ZC=XC();if(typeof define=="function"&&typeof define.amd=="object"&&define.amd){RC._=ZC;define((function(){return ZC}))}else if(OC){(OC.exports=ZC)._=ZC;PC._=ZC}else{RC._=ZC}}).call(this)},24769:(Me,Bn,Hn)=>{var zn=Hn(79660);var ni="Expected a function";function memoize(Me,Bn){if(typeof Me!="function"||Bn!=null&&typeof Bn!="function"){throw new TypeError(ni)}var memoized=function(){var Hn=arguments,zn=Bn?Bn.apply(this,Hn):Hn[0],ni=memoized.cache;if(ni.has(zn)){return ni.get(zn)}var Ci=Me.apply(this,Hn);memoized.cache=ni.set(zn,Ci)||ni;return Ci};memoized.cache=new(memoize.Cache||zn);return memoized}memoize.Cache=zn;Me.exports=memoize},99101:(Me,Bn,Hn)=>{var zn=Hn(47313),ni=Hn(8070);var Ci=ni((function(Me,Bn,Hn,ni){zn(Me,Bn,Hn,ni)}));Me.exports=Ci},92020:(Me,Bn,Hn)=>{var zn=Hn(56649),ni=Hn(62504),Ci=Hn(86344),ts=Hn(77336),Ps=Hn(69330),aa=Hn(9429),oa=Hn(8389),ca=Hn(17172);var _a=1,xa=2,Ga=4;var Ha=oa((function(Me,Bn){var Hn={};if(Me==null){return Hn}var oa=false;Bn=zn(Bn,(function(Bn){Bn=ts(Bn,Me);oa||(oa=Bn.length>1);return Bn}));Ps(Me,ca(Me),Hn);if(oa){Hn=ni(Hn,_a|xa|Ga,aa)}var Ha=Bn.length;while(Ha--){Ci(Hn,Bn[Ha])}return Hn}));Me.exports=Ha},69860:(Me,Bn,Hn)=>{var zn=Hn(49996),ni=Hn(8389);var Ci=ni((function(Me,Bn){return Me==null?{}:zn(Me,Bn)}));Me.exports=Ci},11024:(Me,Bn,Hn)=>{var zn=Hn(66136),ni=Hn(32310),Ci=Hn(20897),ts=Hn(95086);function property(Me){return Ci(Me)?zn(ts(Me)):ni(Me)}Me.exports=property},94604:(Me,Bn,Hn)=>{var zn=Hn(63183),ni=Hn(89196),Ci=Hn(22035),ts=Hn(3349);var Ps=Ci((function(Me,Bn){if(Me==null){return[]}var Hn=Bn.length;if(Hn>1&&ts(Me,Bn[0],Bn[1])){Bn=[]}else if(Hn>2&&ts(Bn[0],Bn[1],Bn[2])){Bn=[Bn[0]]}return ni(Me,zn(Bn,1),[])}));Me.exports=Ps},43400:Me=>{function stubArray(){return[]}Me.exports=stubArray},92074:Me=>{function stubFalse(){return false}Me.exports=stubFalse},38842:(Me,Bn,Hn)=>{var zn=Hn(96834),ni=Hn(46851);function sum(Me){return Me&&Me.length?zn(Me,ni):0}Me.exports=sum},32191:(Me,Bn,Hn)=>{var zn=Hn(47988),ni=Hn(96834);function sumBy(Me,Bn){return Me&&Me.length?ni(Me,zn(Bn,2)):0}Me.exports=sumBy},32670:(Me,Bn,Hn)=>{var zn=Hn(37115),ni=Hn(66960);function take(Me,Bn,Hn){if(!(Me&&Me.length)){return[]}Bn=Hn||Bn===undefined?1:ni(Bn);return zn(Me,0,Bn<0?0:Bn)}Me.exports=take},19731:(Me,Bn,Hn)=>{var zn=Hn(17245);var ni=1/0,Ci=17976931348623157e292;function toFinite(Me){if(!Me){return Me===0?Me:0}Me=zn(Me);if(Me===ni||Me===-ni){var Bn=Me<0?-1:1;return Bn*Ci}return Me===Me?Me:0}Me.exports=toFinite},66960:(Me,Bn,Hn)=>{var zn=Hn(19731);function toInteger(Me){var Bn=zn(Me),Hn=Bn%1;return Bn===Bn?Hn?Bn-Hn:Bn:0}Me.exports=toInteger},17245:(Me,Bn,Hn)=>{var zn=Hn(14441),ni=Hn(96482),Ci=Hn(70661);var ts=0/0;var Ps=/^[-+]0x[0-9a-f]+$/i;var aa=/^0b[01]+$/i;var oa=/^0o[0-7]+$/i;var ca=parseInt;function toNumber(Me){if(typeof Me=="number"){return Me}if(Ci(Me)){return ts}if(ni(Me)){var Bn=typeof Me.valueOf=="function"?Me.valueOf():Me;Me=ni(Bn)?Bn+"":Bn}if(typeof Me!="string"){return Me===0?Me:+Me}Me=zn(Me);var Hn=aa.test(Me);return Hn||oa.test(Me)?ca(Me.slice(2),Hn?2:8):Ps.test(Me)?ts:+Me}Me.exports=toNumber},88485:(Me,Bn,Hn)=>{var zn=Hn(69330),ni=Hn(19430);function toPlainObject(Me){return zn(Me,ni(Me))}Me.exports=toPlainObject},87233:(Me,Bn,Hn)=>{var zn=Hn(17625);function toString(Me){return Me==null?"":zn(Me)}Me.exports=toString},55641:Me=>{"use strict";Me.exports=Math.abs},96171:Me=>{"use strict";Me.exports=Math.floor},77044:Me=>{"use strict";Me.exports=Number.isNaN||function isNaN(Me){return Me!==Me}},57147:Me=>{"use strict";Me.exports=Math.max},41017:Me=>{"use strict";Me.exports=Math.min},56947:Me=>{"use strict";Me.exports=Math.pow},42621:Me=>{"use strict";Me.exports=Math.round},30156:(Me,Bn,Hn)=>{"use strict";var zn=Hn(77044);Me.exports=function sign(Me){if(zn(Me)||Me===0){return Me}return Me<0?-1:+1}},99829:(Me,Bn,Hn)=>{ + */(function(){var Hn;var zn="4.18.1";var ni=200;var Ci="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",ts="Expected a function",Ps="Invalid `variable` option passed into `_.template`",aa="Invalid `imports` option passed into `_.template`";var oa="__lodash_hash_undefined__";var ca=500;var _a="__lodash_placeholder__";var xa=1,Ga=2,Ha=4;var so=1,oo=2;var Jo=1,tc=2,dc=4,Fc=8,Jc=16,Dp=32,kp=64,Qp=128,Up=256,Vp=512;var qp=30,Jp="...";var Wp=800,zp=16;var Qf=1,Yf=2,Kf=3;var Xf=1/0,Ad=9007199254740991,Cd=17976931348623157e292,wd=0/0;var Sd=4294967295,xd=Sd-1,Td=Sd>>>1;var Pd=[["ary",Qp],["bind",Jo],["bindKey",tc],["curry",Fc],["curryRight",Jc],["flip",Vp],["partial",Dp],["partialRight",kp],["rearg",Up]];var Qh="[object Arguments]",Zh="[object Array]",sA="[object AsyncFunction]",oA="[object Boolean]",hA="[object Date]",eg="[object DOMException]",tg="[object Error]",rg="[object Function]",ng="[object GeneratorFunction]",ig="[object Map]",sg="[object Number]",ag="[object Null]",og="[object Object]",ug="[object Promise]",cg="[object Proxy]",lg="[object RegExp]",pg="[object Set]",fg="[object String]",dg="[object Symbol]",hg="[object Undefined]",Ag="[object WeakMap]",mg="[object WeakSet]";var gg="[object ArrayBuffer]",_g="[object DataView]",yg="[object Float32Array]",vg="[object Float64Array]",Eg="[object Int8Array]",bg="[object Int16Array]",Cg="[object Int32Array]",Dg="[object Uint8Array]",wg="[object Uint8ClampedArray]",Sg="[object Uint16Array]",Ig="[object Uint32Array]";var xg=/\b__p \+= '';/g,kg=/\b(__p \+=) '' \+/g,Bg=/(__e\(.*?\)|\b__t\)) \+\n'';/g;var Tg=/&(?:amp|lt|gt|quot|#39);/g,Fg=/[&<>"']/g,Ng=RegExp(Tg.source),Qg=RegExp(Fg.source);var Rg=/<%-([\s\S]+?)%>/g,Pg=/<%([\s\S]+?)%>/g,Og=/<%=([\s\S]+?)%>/g;var Lg=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Mg=/^\w*$/,jg=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;var Ug=/[\\^$.*+?()[\]{}|]/g,Gg=RegExp(Ug.source);var Vg=/^\s+/;var Hg=/\s/;var qg=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Jg=/\{\n\/\* \[wrapped with (.+)\] \*/,$g=/,? & /;var Yg=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;var Wg=/[()=,{}\[\]\/\s]/;var Kg=/\\(\\)?/g;var zg=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;var Xg=/\w*$/;var Zg=/^[-+]0x[0-9a-f]+$/i;var f_=/^0b[01]+$/i;var Z_=/^\[object .+?Constructor\]$/;var ey=/^0o[0-7]+$/i;var ty=/^(?:0|[1-9]\d*)$/;var ry=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;var ny=/($^)/;var iy=/['\n\r\u2028\u2029\\]/g;var py="\\ud800-\\udfff",fy="\\u0300-\\u036f",Ty="\\ufe20-\\ufe2f",Gy="\\u20d0-\\u20ff",Vy=fy+Ty+Gy,Hy="\\u2700-\\u27bf",Av="a-z\\xdf-\\xf6\\xf8-\\xff",vv="\\xac\\xb1\\xd7\\xf7",Ev="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",bv="\\u2000-\\u206f",Cv=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",wv="A-Z\\xc0-\\xd6\\xd8-\\xde",Sv="\\ufe0e\\ufe0f",Iv=vv+Ev+bv+Cv;var xv="['’]",kv="["+py+"]",Bv="["+Iv+"]",Tv="["+Vy+"]",Fv="\\d+",Nv="["+Hy+"]",Ov="["+Av+"]",Mv="[^"+py+Iv+Fv+Hy+Av+wv+"]",OE="\\ud83c[\\udffb-\\udfff]",eC="(?:"+Tv+"|"+OE+")",tC="[^"+py+"]",rC="(?:\\ud83c[\\udde6-\\uddff]){2}",nC="[\\ud800-\\udbff][\\udc00-\\udfff]",iC="["+wv+"]",sC="\\u200d";var aC="(?:"+Ov+"|"+Mv+")",oC="(?:"+iC+"|"+Mv+")",uC="(?:"+xv+"(?:d|ll|m|re|s|t|ve))?",cC="(?:"+xv+"(?:D|LL|M|RE|S|T|VE))?",lC=eC+"?",pC="["+Sv+"]?",fC="(?:"+sC+"(?:"+[tC,rC,nC].join("|")+")"+pC+lC+")*",dC="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",hC="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",AC=pC+lC+fC,mC="(?:"+[Nv,rC,nC].join("|")+")"+AC,gC="(?:"+[tC+Tv+"?",Tv,rC,nC,kv].join("|")+")";var _C=RegExp(xv,"g");var yC=RegExp(Tv,"g");var vC=RegExp(OE+"(?="+OE+")|"+gC+AC,"g");var EC=RegExp([iC+"?"+Ov+"+"+uC+"(?="+[Bv,iC,"$"].join("|")+")",oC+"+"+cC+"(?="+[Bv,iC+aC,"$"].join("|")+")",iC+"?"+aC+"+"+uC,iC+"+"+cC,hC,dC,Fv,mC].join("|"),"g");var bC=RegExp("["+sC+py+Vy+Sv+"]");var CC=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;var DC=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"];var wC=-1;var SC={};SC[yg]=SC[vg]=SC[Eg]=SC[bg]=SC[Cg]=SC[Dg]=SC[wg]=SC[Sg]=SC[Ig]=true;SC[Qh]=SC[Zh]=SC[gg]=SC[oA]=SC[_g]=SC[hA]=SC[tg]=SC[rg]=SC[ig]=SC[sg]=SC[og]=SC[lg]=SC[pg]=SC[fg]=SC[Ag]=false;var IC={};IC[Qh]=IC[Zh]=IC[gg]=IC[_g]=IC[oA]=IC[hA]=IC[yg]=IC[vg]=IC[Eg]=IC[bg]=IC[Cg]=IC[ig]=IC[sg]=IC[og]=IC[lg]=IC[pg]=IC[fg]=IC[dg]=IC[Dg]=IC[wg]=IC[Sg]=IC[Ig]=true;IC[tg]=IC[rg]=IC[Ag]=false;var xC={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"};var kC={"&":"&","<":"<",">":">",'"':""","'":"'"};var BC={"&":"&","<":"<",">":">",""":'"',"'":"'"};var TC={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"};var FC=parseFloat,NC=parseInt;var QC=typeof global=="object"&&global&&global.Object===Object&&global;var RC=typeof self=="object"&&self&&self.Object===Object&&self;var PC=QC||RC||Function("return this")();var OC=true&&Bn&&!Bn.nodeType&&Bn;var LC=OC&&"object"=="object"&&Me&&!Me.nodeType&&Me;var MC=LC&&LC.exports===OC;var jC=MC&&QC.process;var UC=function(){try{var Me=LC&&LC.require&&LC.require("util").types;if(Me){return Me}return jC&&jC.binding&&jC.binding("util")}catch(Me){}}();var GC=UC&&UC.isArrayBuffer,HC=UC&&UC.isDate,qC=UC&&UC.isMap,JC=UC&&UC.isRegExp,$C=UC&&UC.isSet,YC=UC&&UC.isTypedArray;function apply(Me,Bn,Hn){switch(Hn.length){case 0:return Me.call(Bn);case 1:return Me.call(Bn,Hn[0]);case 2:return Me.call(Bn,Hn[0],Hn[1]);case 3:return Me.call(Bn,Hn[0],Hn[1],Hn[2])}return Me.apply(Bn,Hn)}function arrayAggregator(Me,Bn,Hn,zn){var ni=-1,Ci=Me==null?0:Me.length;while(++ni-1}function arrayIncludesWith(Me,Bn,Hn){var zn=-1,ni=Me==null?0:Me.length;while(++zn-1){}return Hn}function charsEndIndex(Me,Bn){var Hn=Me.length;while(Hn--&&baseIndexOf(Bn,Me[Hn],0)>-1){}return Hn}function countHolders(Me,Bn){var Hn=Me.length,zn=0;while(Hn--){if(Me[Hn]===Bn){++zn}}return zn}var KC=basePropertyOf(xC);var zC=basePropertyOf(kC);function escapeStringChar(Me){return"\\"+TC[Me]}function getValue(Me,Bn){return Me==null?Hn:Me[Bn]}function hasUnicode(Me){return bC.test(Me)}function hasUnicodeWord(Me){return CC.test(Me)}function iteratorToArray(Me){var Bn,Hn=[];while(!(Bn=Me.next()).done){Hn.push(Bn.value)}return Hn}function mapToArray(Me){var Bn=-1,Hn=Array(Me.size);Me.forEach((function(Me,zn){Hn[++Bn]=[zn,Me]}));return Hn}function overArg(Me,Bn){return function(Hn){return Me(Bn(Hn))}}function replaceHolders(Me,Bn){var Hn=-1,zn=Me.length,ni=0,Ci=[];while(++Hn-1}function listCacheSet(Me,Bn){var Hn=this.__data__,zn=assocIndexOf(Hn,Me);if(zn<0){++this.size;Hn.push([Me,Bn])}else{Hn[zn][1]=Bn}return this}ListCache.prototype.clear=listCacheClear;ListCache.prototype["delete"]=listCacheDelete;ListCache.prototype.get=listCacheGet;ListCache.prototype.has=listCacheHas;ListCache.prototype.set=listCacheSet;function MapCache(Me){var Bn=-1,Hn=Me==null?0:Me.length;this.clear();while(++Bn=Bn?Me:Bn}}return Me}function baseClone(Me,Bn,zn,ni,Ci,ts){var Ps,aa=Bn&xa,oa=Bn&Ga,ca=Bn&Ha;if(zn){Ps=Ci?zn(Me,ni,Ci,ts):zn(Me)}if(Ps!==Hn){return Ps}if(!isObject(Me)){return Me}var _a=rT(Me);if(_a){Ps=initCloneArray(Me);if(!aa){return copyArray(Me,Ps)}}else{var so=_w(Me),oo=so==rg||so==ng;if(iT(Me)){return cloneBuffer(Me,aa)}if(so==og||so==Qh||oo&&!Ci){Ps=oa||oo?{}:initCloneObject(Me);if(!aa){return oa?copySymbolsIn(Me,baseAssignIn(Ps,Me)):copySymbols(Me,baseAssign(Ps,Me))}}else{if(!IC[so]){return Ci?Me:{}}Ps=initCloneByTag(Me,so,aa)}}ts||(ts=new Stack);var Jo=ts.get(Me);if(Jo){return Jo}ts.set(Me,Ps);if(uT(Me)){Me.forEach((function(Hn){Ps.add(baseClone(Hn,Bn,zn,Hn,Me,ts))}))}else if(aT(Me)){Me.forEach((function(Hn,ni){Ps.set(ni,baseClone(Hn,Bn,zn,ni,Me,ts))}))}var tc=ca?oa?getAllKeysIn:getAllKeys:oa?keysIn:keys;var dc=_a?Hn:tc(Me);arrayEach(dc||Me,(function(Hn,ni){if(dc){ni=Hn;Hn=Me[ni]}assignValue(Ps,ni,baseClone(Hn,Bn,zn,ni,Me,ts))}));return Ps}function baseConforms(Me){var Bn=keys(Me);return function(Hn){return baseConformsTo(Hn,Me,Bn)}}function baseConformsTo(Me,Bn,zn){var ni=zn.length;if(Me==null){return!ni}Me=Ty(Me);while(ni--){var Ci=zn[ni],ts=Bn[Ci],Ps=Me[Ci];if(Ps===Hn&&!(Ci in Me)||!ts(Ps)){return false}}return true}function baseDelay(Me,Bn,zn){if(typeof Me!="function"){throw new Hy(ts)}return Ew((function(){Me.apply(Hn,zn)}),Bn)}function baseDifference(Me,Bn,Hn,zn){var Ci=-1,ts=arrayIncludes,Ps=true,aa=Me.length,oa=[],ca=Bn.length;if(!aa){return oa}if(Hn){Bn=arrayMap(Bn,baseUnary(Hn))}if(zn){ts=arrayIncludesWith;Ps=false}else if(Bn.length>=ni){ts=cacheHas;Ps=false;Bn=new SetCache(Bn)}e:while(++CiCi?0:Ci+zn}ni=ni===Hn||ni>Ci?Ci:toInteger(ni);if(ni<0){ni+=Ci}ni=zn>ni?0:toLength(ni);while(zn0&&Hn(Ps)){if(Bn>1){baseFlatten(Ps,Bn-1,Hn,zn,ni)}else{arrayPush(ni,Ps)}}else if(!zn){ni[ni.length]=Ps}}return ni}var uw=createBaseFor();var cw=createBaseFor(true);function baseForOwn(Me,Bn){return Me&&uw(Me,Bn,keys)}function baseForOwnRight(Me,Bn){return Me&&cw(Me,Bn,keys)}function baseFunctions(Me,Bn){return arrayFilter(Bn,(function(Bn){return isFunction(Me[Bn])}))}function baseGet(Me,Bn){Bn=castPath(Bn,Me);var zn=0,ni=Bn.length;while(Me!=null&&znBn}function baseHas(Me,Bn){return Me!=null&&wv.call(Me,Bn)}function baseHasIn(Me,Bn){return Me!=null&&Bn in Ty(Me)}function baseInRange(Me,Bn,Hn){return Me>=vC(Bn,Hn)&&Me=120&&xa.length>=120)?new SetCache(aa&&xa):Hn}xa=Me[0];var Ga=-1,Ha=oa[0];e:while(++Ga-1){if(Ps!==Me){rC.call(Ps,aa,1)}rC.call(Me,aa,1)}}return Me}function basePullAt(Me,Bn){var Hn=Me?Bn.length:0,zn=Hn-1;while(Hn--){var ni=Bn[Hn];if(Hn==zn||ni!==Ci){var Ci=ni;if(isIndex(ni)){rC.call(Me,ni,1)}else{baseUnset(Me,ni)}}}return Me}function baseRandom(Me,Bn){return Me+pC(CC()*(Bn-Me+1))}function baseRange(Me,Hn,zn,ni){var Ci=-1,ts=gC(lC((Hn-Me)/(zn||1)),0),Ps=Bn(ts);while(ts--){Ps[ni?ts:++Ci]=Me;Me+=zn}return Ps}function baseRepeat(Me,Bn){var Hn="";if(!Me||Bn<1||Bn>Ad){return Hn}do{if(Bn%2){Hn+=Me}Bn=pC(Bn/2);if(Bn){Me+=Me}}while(Bn);return Hn}function baseRest(Me,Bn){return bw(overRest(Me,Bn,identity),Me+"")}function baseSample(Me){return arraySample(values(Me))}function baseSampleSize(Me,Bn){var Hn=values(Me);return shuffleSelf(Hn,baseClamp(Bn,0,Hn.length))}function baseSet(Me,Bn,zn,ni){if(!isObject(Me)){return Me}Bn=castPath(Bn,Me);var Ci=-1,ts=Bn.length,Ps=ts-1,aa=Me;while(aa!=null&&++CiCi?0:Ci+Hn}zn=zn>Ci?Ci:zn;if(zn<0){zn+=Ci}Ci=Hn>zn?0:zn-Hn>>>0;Hn>>>=0;var ts=Bn(Ci);while(++ni>>1,ts=Me[Ci];if(ts!==null&&!isSymbol(ts)&&(Hn?ts<=Bn:ts=ni){var ca=Bn?null:hw(Me);if(ca){return setToArray(ca)}Ps=false;Ci=cacheHas;oa=new SetCache}else{oa=Bn?[]:aa}e:while(++zn=ni?Me:baseSlice(Me,Bn,zn)}var dw=oC||function(Me){return PC.clearTimeout(Me)};function cloneBuffer(Me,Bn){if(Bn){return Me.slice()}var Hn=Me.length,zn=Mv?Mv(Hn):new Me.constructor(Hn);Me.copy(zn);return zn}function cloneArrayBuffer(Me){var Bn=new Me.constructor(Me.byteLength);new Ov(Bn).set(new Ov(Me));return Bn}function cloneDataView(Me,Bn){var Hn=Bn?cloneArrayBuffer(Me.buffer):Me.buffer;return new Me.constructor(Hn,Me.byteOffset,Me.byteLength)}function cloneRegExp(Me){var Bn=new Me.constructor(Me.source,Xg.exec(Me));Bn.lastIndex=Me.lastIndex;return Bn}function cloneSymbol(Me){return nw?Ty(nw.call(Me)):{}}function cloneTypedArray(Me,Bn){var Hn=Bn?cloneArrayBuffer(Me.buffer):Me.buffer;return new Me.constructor(Hn,Me.byteOffset,Me.length)}function compareAscending(Me,Bn){if(Me!==Bn){var zn=Me!==Hn,ni=Me===null,Ci=Me===Me,ts=isSymbol(Me);var Ps=Bn!==Hn,aa=Bn===null,oa=Bn===Bn,ca=isSymbol(Bn);if(!aa&&!ca&&!ts&&Me>Bn||ts&&Ps&&oa&&!aa&&!ca||ni&&Ps&&oa||!zn&&oa||!Ci){return 1}if(!ni&&!ts&&!ca&&Me=Ps){return aa}var oa=Hn[zn];return aa*(oa=="desc"?-1:1)}}return Me.index-Bn.index}function composeArgs(Me,Hn,zn,ni){var Ci=-1,ts=Me.length,Ps=zn.length,aa=-1,oa=Hn.length,ca=gC(ts-Ps,0),_a=Bn(oa+ca),xa=!ni;while(++aa1?zn[Ci-1]:Hn,Ps=Ci>2?zn[2]:Hn;ts=Me.length>3&&typeof ts=="function"?(Ci--,ts):Hn;if(Ps&&isIterateeCall(zn[0],zn[1],Ps)){ts=Ci<3?Hn:ts;Ci=1}Bn=Ty(Bn);while(++ni-1?Ci[ts?Bn[Ps]:Ps]:Hn}}function createFlow(Me){return flatRest((function(Bn){var zn=Bn.length,ni=zn,Ci=LodashWrapper.prototype.thru;if(Me){Bn.reverse()}while(ni--){var Ps=Bn[ni];if(typeof Ps!="function"){throw new Hy(ts)}if(Ci&&!aa&&getFuncName(Ps)=="wrapper"){var aa=new LodashWrapper([],true)}}ni=aa?ni:zn;while(++ni1){Jo.reverse()}if(xa&&caaa)){return false}var ca=ts.get(Me);var _a=ts.get(Bn);if(ca&&_a){return ca==Bn&&_a==Me}var xa=-1,Ga=true,Ha=zn&oo?new SetCache:Hn;ts.set(Me,Bn);ts.set(Bn,Me);while(++xa1?"& ":"")+Bn[zn];Bn=Bn.join(Hn>2?", ":" ");return Me.replace(qg,"{\n/* [wrapped with "+Bn+"] */\n")}function isFlattenable(Me){return rT(Me)||eT(Me)||!!(nC&&Me&&Me[nC])}function isIndex(Me,Bn){var Hn=typeof Me;Bn=Bn==null?Ad:Bn;return!!Bn&&(Hn=="number"||Hn!="symbol"&&ty.test(Me))&&(Me>-1&&Me%1==0&&Me0){if(++Bn>=Wp){return arguments[0]}}else{Bn=0}return Me.apply(Hn,arguments)}}function shuffleSelf(Me,Bn){var zn=-1,ni=Me.length,Ci=ni-1;Bn=Bn===Hn?ni:Bn;while(++zn1?Me[Bn-1]:Hn;zn=typeof zn=="function"?(Me.pop(),zn):Hn;return unzipWith(Me,zn)}));function chain(Me){var Bn=lodash(Me);Bn.__chain__=true;return Bn}function tap(Me,Bn){Bn(Me);return Me}function thru(Me,Bn){return Bn(Me)}var Uw=flatRest((function(Me){var Bn=Me.length,zn=Bn?Me[0]:0,ni=this.__wrapped__,interceptor=function(Bn){return baseAt(Bn,Me)};if(Bn>1||this.__actions__.length||!(ni instanceof LazyWrapper)||!isIndex(zn)){return this.thru(interceptor)}ni=ni.slice(zn,+zn+(Bn?1:0));ni.__actions__.push({func:thru,args:[interceptor],thisArg:Hn});return new LodashWrapper(ni,this.__chain__).thru((function(Me){if(Bn&&!Me.length){Me.push(Hn)}return Me}))}));function wrapperChain(){return chain(this)}function wrapperCommit(){return new LodashWrapper(this.value(),this.__chain__)}function wrapperNext(){if(this.__values__===Hn){this.__values__=toArray(this.value())}var Me=this.__index__>=this.__values__.length,Bn=Me?Hn:this.__values__[this.__index__++];return{done:Me,value:Bn}}function wrapperToIterator(){return this}function wrapperPlant(Me){var Bn,zn=this;while(zn instanceof baseLodash){var ni=wrapperClone(zn);ni.__index__=0;ni.__values__=Hn;if(Bn){Ci.__wrapped__=ni}else{Bn=ni}var Ci=ni;zn=zn.__wrapped__}Ci.__wrapped__=Me;return Bn}function wrapperReverse(){var Me=this.__wrapped__;if(Me instanceof LazyWrapper){var Bn=Me;if(this.__actions__.length){Bn=new LazyWrapper(this)}Bn=Bn.reverse();Bn.__actions__.push({func:thru,args:[reverse],thisArg:Hn});return new LodashWrapper(Bn,this.__chain__)}return this.thru(reverse)}function wrapperValue(){return baseWrapperValue(this.__wrapped__,this.__actions__)}var Gw=createAggregator((function(Me,Bn,Hn){if(wv.call(Me,Hn)){++Me[Hn]}else{baseAssignValue(Me,Hn,1)}}));function every(Me,Bn,zn){var ni=rT(Me)?arrayEvery:baseEvery;if(zn&&isIterateeCall(Me,Bn,zn)){Bn=Hn}return ni(Me,getIteratee(Bn,3))}function filter(Me,Bn){var Hn=rT(Me)?arrayFilter:baseFilter;return Hn(Me,getIteratee(Bn,3))}var Vw=createFind(findIndex);var Hw=createFind(findLastIndex);function flatMap(Me,Bn){return baseFlatten(map(Me,Bn),1)}function flatMapDeep(Me,Bn){return baseFlatten(map(Me,Bn),Xf)}function flatMapDepth(Me,Bn,zn){zn=zn===Hn?1:toInteger(zn);return baseFlatten(map(Me,Bn),zn)}function forEach(Me,Bn){var Hn=rT(Me)?arrayEach:aw;return Hn(Me,getIteratee(Bn,3))}function forEachRight(Me,Bn){var Hn=rT(Me)?arrayEachRight:ow;return Hn(Me,getIteratee(Bn,3))}var qw=createAggregator((function(Me,Bn,Hn){if(wv.call(Me,Hn)){Me[Hn].push(Bn)}else{baseAssignValue(Me,Hn,[Bn])}}));function includes(Me,Bn,Hn,zn){Me=isArrayLike(Me)?Me:values(Me);Hn=Hn&&!zn?toInteger(Hn):0;var ni=Me.length;if(Hn<0){Hn=gC(ni+Hn,0)}return isString(Me)?Hn<=ni&&Me.indexOf(Bn,Hn)>-1:!!ni&&baseIndexOf(Me,Bn,Hn)>-1}var Jw=baseRest((function(Me,Hn,zn){var ni=-1,Ci=typeof Hn=="function",ts=isArrayLike(Me)?Bn(Me.length):[];aw(Me,(function(Me){ts[++ni]=Ci?apply(Hn,Me,zn):baseInvoke(Me,Hn,zn)}));return ts}));var $w=createAggregator((function(Me,Bn,Hn){baseAssignValue(Me,Hn,Bn)}));function map(Me,Bn){var Hn=rT(Me)?arrayMap:baseMap;return Hn(Me,getIteratee(Bn,3))}function orderBy(Me,Bn,zn,ni){if(Me==null){return[]}if(!rT(Bn)){Bn=Bn==null?[]:[Bn]}zn=ni?Hn:zn;if(!rT(zn)){zn=zn==null?[]:[zn]}return baseOrderBy(Me,Bn,zn)}var Yw=createAggregator((function(Me,Bn,Hn){Me[Hn?0:1].push(Bn)}),(function(){return[[],[]]}));function reduce(Me,Bn,Hn){var zn=rT(Me)?arrayReduce:baseReduce,ni=arguments.length<3;return zn(Me,getIteratee(Bn,4),Hn,ni,aw)}function reduceRight(Me,Bn,Hn){var zn=rT(Me)?arrayReduceRight:baseReduce,ni=arguments.length<3;return zn(Me,getIteratee(Bn,4),Hn,ni,ow)}function reject(Me,Bn){var Hn=rT(Me)?arrayFilter:baseFilter;return Hn(Me,negate(getIteratee(Bn,3)))}function sample(Me){var Bn=rT(Me)?arraySample:baseSample;return Bn(Me)}function sampleSize(Me,Bn,zn){if(zn?isIterateeCall(Me,Bn,zn):Bn===Hn){Bn=1}else{Bn=toInteger(Bn)}var ni=rT(Me)?arraySampleSize:baseSampleSize;return ni(Me,Bn)}function shuffle(Me){var Bn=rT(Me)?arrayShuffle:baseShuffle;return Bn(Me)}function size(Me){if(Me==null){return 0}if(isArrayLike(Me)){return isString(Me)?stringSize(Me):Me.length}var Bn=_w(Me);if(Bn==ig||Bn==pg){return Me.size}return baseKeys(Me).length}function some(Me,Bn,zn){var ni=rT(Me)?arraySome:baseSome;if(zn&&isIterateeCall(Me,Bn,zn)){Bn=Hn}return ni(Me,getIteratee(Bn,3))}var Ww=baseRest((function(Me,Bn){if(Me==null){return[]}var Hn=Bn.length;if(Hn>1&&isIterateeCall(Me,Bn[0],Bn[1])){Bn=[]}else if(Hn>2&&isIterateeCall(Bn[0],Bn[1],Bn[2])){Bn=[Bn[0]]}return baseOrderBy(Me,baseFlatten(Bn,1),[])}));var Kw=uC||function(){return PC.Date.now()};function after(Me,Bn){if(typeof Bn!="function"){throw new Hy(ts)}Me=toInteger(Me);return function(){if(--Me<1){return Bn.apply(this,arguments)}}}function ary(Me,Bn,zn){Bn=zn?Hn:Bn;Bn=Me&&Bn==null?Me.length:Bn;return createWrap(Me,Qp,Hn,Hn,Hn,Hn,Bn)}function before(Me,Bn){var zn;if(typeof Bn!="function"){throw new Hy(ts)}Me=toInteger(Me);return function(){if(--Me>0){zn=Bn.apply(this,arguments)}if(Me<=1){Bn=Hn}return zn}}var zw=baseRest((function(Me,Bn,Hn){var zn=Jo;if(Hn.length){var ni=replaceHolders(Hn,getHolder(zw));zn|=Dp}return createWrap(Me,zn,Bn,Hn,ni)}));var Xw=baseRest((function(Me,Bn,Hn){var zn=Jo|tc;if(Hn.length){var ni=replaceHolders(Hn,getHolder(Xw));zn|=Dp}return createWrap(Bn,zn,Me,Hn,ni)}));function curry(Me,Bn,zn){Bn=zn?Hn:Bn;var ni=createWrap(Me,Fc,Hn,Hn,Hn,Hn,Hn,Bn);ni.placeholder=curry.placeholder;return ni}function curryRight(Me,Bn,zn){Bn=zn?Hn:Bn;var ni=createWrap(Me,Jc,Hn,Hn,Hn,Hn,Hn,Bn);ni.placeholder=curryRight.placeholder;return ni}function debounce(Me,Bn,zn){var ni,Ci,Ps,aa,oa,ca,_a=0,xa=false,Ga=false,Ha=true;if(typeof Me!="function"){throw new Hy(ts)}Bn=toNumber(Bn)||0;if(isObject(zn)){xa=!!zn.leading;Ga="maxWait"in zn;Ps=Ga?gC(toNumber(zn.maxWait)||0,Bn):Ps;Ha="trailing"in zn?!!zn.trailing:Ha}function invokeFunc(Bn){var zn=ni,ts=Ci;ni=Ci=Hn;_a=Bn;aa=Me.apply(ts,zn);return aa}function leadingEdge(Me){_a=Me;oa=Ew(timerExpired,Bn);return xa?invokeFunc(Me):aa}function remainingWait(Me){var Hn=Me-ca,zn=Me-_a,ni=Bn-Hn;return Ga?vC(ni,Ps-zn):ni}function shouldInvoke(Me){var zn=Me-ca,ni=Me-_a;return ca===Hn||zn>=Bn||zn<0||Ga&&ni>=Ps}function timerExpired(){var Me=Kw();if(shouldInvoke(Me)){return trailingEdge(Me)}oa=Ew(timerExpired,remainingWait(Me))}function trailingEdge(Me){oa=Hn;if(Ha&&ni){return invokeFunc(Me)}ni=Ci=Hn;return aa}function cancel(){if(oa!==Hn){dw(oa)}_a=0;ni=ca=Ci=oa=Hn}function flush(){return oa===Hn?aa:trailingEdge(Kw())}function debounced(){var Me=Kw(),zn=shouldInvoke(Me);ni=arguments;Ci=this;ca=Me;if(zn){if(oa===Hn){return leadingEdge(ca)}if(Ga){dw(oa);oa=Ew(timerExpired,Bn);return invokeFunc(ca)}}if(oa===Hn){oa=Ew(timerExpired,Bn)}return aa}debounced.cancel=cancel;debounced.flush=flush;return debounced}var Zw=baseRest((function(Me,Bn){return baseDelay(Me,1,Bn)}));var eS=baseRest((function(Me,Bn,Hn){return baseDelay(Me,toNumber(Bn)||0,Hn)}));function flip(Me){return createWrap(Me,Vp)}function memoize(Me,Bn){if(typeof Me!="function"||Bn!=null&&typeof Bn!="function"){throw new Hy(ts)}var memoized=function(){var Hn=arguments,zn=Bn?Bn.apply(this,Hn):Hn[0],ni=memoized.cache;if(ni.has(zn)){return ni.get(zn)}var Ci=Me.apply(this,Hn);memoized.cache=ni.set(zn,Ci)||ni;return Ci};memoized.cache=new(memoize.Cache||MapCache);return memoized}memoize.Cache=MapCache;function negate(Me){if(typeof Me!="function"){throw new Hy(ts)}return function(){var Bn=arguments;switch(Bn.length){case 0:return!Me.call(this);case 1:return!Me.call(this,Bn[0]);case 2:return!Me.call(this,Bn[0],Bn[1]);case 3:return!Me.call(this,Bn[0],Bn[1],Bn[2])}return!Me.apply(this,Bn)}}function once(Me){return before(2,Me)}var tS=fw((function(Me,Bn){Bn=Bn.length==1&&rT(Bn[0])?arrayMap(Bn[0],baseUnary(getIteratee())):arrayMap(baseFlatten(Bn,1),baseUnary(getIteratee()));var Hn=Bn.length;return baseRest((function(zn){var ni=-1,Ci=vC(zn.length,Hn);while(++ni=Bn}));var eT=baseIsArguments(function(){return arguments}())?baseIsArguments:function(Me){return isObjectLike(Me)&&wv.call(Me,"callee")&&!tC.call(Me,"callee")};var rT=Bn.isArray;var nT=GC?baseUnary(GC):baseIsArrayBuffer;function isArrayLike(Me){return Me!=null&&isLength(Me.length)&&!isFunction(Me)}function isArrayLikeObject(Me){return isObjectLike(Me)&&isArrayLike(Me)}function isBoolean(Me){return Me===true||Me===false||isObjectLike(Me)&&baseGetTag(Me)==oA}var iT=dC||stubFalse;var sT=HC?baseUnary(HC):baseIsDate;function isElement(Me){return isObjectLike(Me)&&Me.nodeType===1&&!isPlainObject(Me)}function isEmpty(Me){if(Me==null){return true}if(isArrayLike(Me)&&(rT(Me)||typeof Me=="string"||typeof Me.splice=="function"||iT(Me)||cT(Me)||eT(Me))){return!Me.length}var Bn=_w(Me);if(Bn==ig||Bn==pg){return!Me.size}if(isPrototype(Me)){return!baseKeys(Me).length}for(var Hn in Me){if(wv.call(Me,Hn)){return false}}return true}function isEqual(Me,Bn){return baseIsEqual(Me,Bn)}function isEqualWith(Me,Bn,zn){zn=typeof zn=="function"?zn:Hn;var ni=zn?zn(Me,Bn):Hn;return ni===Hn?baseIsEqual(Me,Bn,Hn,zn):!!ni}function isError(Me){if(!isObjectLike(Me)){return false}var Bn=baseGetTag(Me);return Bn==tg||Bn==eg||typeof Me.message=="string"&&typeof Me.name=="string"&&!isPlainObject(Me)}function isFinite(Me){return typeof Me=="number"&&hC(Me)}function isFunction(Me){if(!isObject(Me)){return false}var Bn=baseGetTag(Me);return Bn==rg||Bn==ng||Bn==sA||Bn==cg}function isInteger(Me){return typeof Me=="number"&&Me==toInteger(Me)}function isLength(Me){return typeof Me=="number"&&Me>-1&&Me%1==0&&Me<=Ad}function isObject(Me){var Bn=typeof Me;return Me!=null&&(Bn=="object"||Bn=="function")}function isObjectLike(Me){return Me!=null&&typeof Me=="object"}var aT=qC?baseUnary(qC):baseIsMap;function isMatch(Me,Bn){return Me===Bn||baseIsMatch(Me,Bn,getMatchData(Bn))}function isMatchWith(Me,Bn,zn){zn=typeof zn=="function"?zn:Hn;return baseIsMatch(Me,Bn,getMatchData(Bn),zn)}function isNaN(Me){return isNumber(Me)&&Me!=+Me}function isNative(Me){if(yw(Me)){throw new Yg(Ci)}return baseIsNative(Me)}function isNull(Me){return Me===null}function isNil(Me){return Me==null}function isNumber(Me){return typeof Me=="number"||isObjectLike(Me)&&baseGetTag(Me)==sg}function isPlainObject(Me){if(!isObjectLike(Me)||baseGetTag(Me)!=og){return false}var Bn=OE(Me);if(Bn===null){return true}var Hn=wv.call(Bn,"constructor")&&Bn.constructor;return typeof Hn=="function"&&Hn instanceof Hn&&Cv.call(Hn)==kv}var oT=JC?baseUnary(JC):baseIsRegExp;function isSafeInteger(Me){return isInteger(Me)&&Me>=-Ad&&Me<=Ad}var uT=$C?baseUnary($C):baseIsSet;function isString(Me){return typeof Me=="string"||!rT(Me)&&isObjectLike(Me)&&baseGetTag(Me)==fg}function isSymbol(Me){return typeof Me=="symbol"||isObjectLike(Me)&&baseGetTag(Me)==dg}var cT=YC?baseUnary(YC):baseIsTypedArray;function isUndefined(Me){return Me===Hn}function isWeakMap(Me){return isObjectLike(Me)&&_w(Me)==Ag}function isWeakSet(Me){return isObjectLike(Me)&&baseGetTag(Me)==mg}var lT=createRelationalOperation(baseLt);var pT=createRelationalOperation((function(Me,Bn){return Me<=Bn}));function toArray(Me){if(!Me){return[]}if(isArrayLike(Me)){return isString(Me)?stringToArray(Me):copyArray(Me)}if(iC&&Me[iC]){return iteratorToArray(Me[iC]())}var Bn=_w(Me),Hn=Bn==ig?mapToArray:Bn==pg?setToArray:values;return Hn(Me)}function toFinite(Me){if(!Me){return Me===0?Me:0}Me=toNumber(Me);if(Me===Xf||Me===-Xf){var Bn=Me<0?-1:1;return Bn*Cd}return Me===Me?Me:0}function toInteger(Me){var Bn=toFinite(Me),Hn=Bn%1;return Bn===Bn?Hn?Bn-Hn:Bn:0}function toLength(Me){return Me?baseClamp(toInteger(Me),0,Sd):0}function toNumber(Me){if(typeof Me=="number"){return Me}if(isSymbol(Me)){return wd}if(isObject(Me)){var Bn=typeof Me.valueOf=="function"?Me.valueOf():Me;Me=isObject(Bn)?Bn+"":Bn}if(typeof Me!="string"){return Me===0?Me:+Me}Me=baseTrim(Me);var Hn=f_.test(Me);return Hn||ey.test(Me)?NC(Me.slice(2),Hn?2:8):Zg.test(Me)?wd:+Me}function toPlainObject(Me){return copyObject(Me,keysIn(Me))}function toSafeInteger(Me){return Me?baseClamp(toInteger(Me),-Ad,Ad):Me===0?Me:0}function toString(Me){return Me==null?"":baseToString(Me)}var fT=createAssigner((function(Me,Bn){if(isPrototype(Bn)||isArrayLike(Bn)){copyObject(Bn,keys(Bn),Me);return}for(var Hn in Bn){if(wv.call(Bn,Hn)){assignValue(Me,Hn,Bn[Hn])}}}));var AT=createAssigner((function(Me,Bn){copyObject(Bn,keysIn(Bn),Me)}));var gT=createAssigner((function(Me,Bn,Hn,zn){copyObject(Bn,keysIn(Bn),Me,zn)}));var _T=createAssigner((function(Me,Bn,Hn,zn){copyObject(Bn,keys(Bn),Me,zn)}));var yT=flatRest(baseAt);function create(Me,Bn){var Hn=sw(Me);return Bn==null?Hn:baseAssign(Hn,Bn)}var ET=baseRest((function(Me,Bn){Me=Ty(Me);var zn=-1;var ni=Bn.length;var Ci=ni>2?Bn[2]:Hn;if(Ci&&isIterateeCall(Bn[0],Bn[1],Ci)){ni=1}while(++zn1);return Bn}));copyObject(Me,getAllKeysIn(Me),Hn);if(zn){Hn=baseClone(Hn,xa|Ga|Ha,customOmitClone)}var ni=Bn.length;while(ni--){baseUnset(Hn,Bn[ni])}return Hn}));function omitBy(Me,Bn){return pickBy(Me,negate(getIteratee(Bn)))}var $T=flatRest((function(Me,Bn){return Me==null?{}:basePick(Me,Bn)}));function pickBy(Me,Bn){if(Me==null){return{}}var Hn=arrayMap(getAllKeysIn(Me),(function(Me){return[Me]}));Bn=getIteratee(Bn);return basePickBy(Me,Hn,(function(Me,Hn){return Bn(Me,Hn[0])}))}function result(Me,Bn,zn){Bn=castPath(Bn,Me);var ni=-1,Ci=Bn.length;if(!Ci){Ci=1;Me=Hn}while(++niBn){var ni=Me;Me=Bn;Bn=ni}if(zn||Me%1||Bn%1){var Ci=CC();return vC(Me+Ci*(Bn-Me+FC("1e-"+((Ci+"").length-1))),Bn)}return baseRandom(Me,Bn)}var XT=createCompounder((function(Me,Bn,Hn){Bn=Bn.toLowerCase();return Me+(Hn?capitalize(Bn):Bn)}));function capitalize(Me){return iQ(toString(Me).toLowerCase())}function deburr(Me){Me=toString(Me);return Me&&Me.replace(ry,KC).replace(yC,"")}function endsWith(Me,Bn,zn){Me=toString(Me);Bn=baseToString(Bn);var ni=Me.length;zn=zn===Hn?ni:baseClamp(toInteger(zn),0,ni);var Ci=zn;zn-=Bn.length;return zn>=0&&Me.slice(zn,Ci)==Bn}function escape(Me){Me=toString(Me);return Me&&Qg.test(Me)?Me.replace(Fg,zC):Me}function escapeRegExp(Me){Me=toString(Me);return Me&&Gg.test(Me)?Me.replace(Ug,"\\$&"):Me}var ZT=createCompounder((function(Me,Bn,Hn){return Me+(Hn?"-":"")+Bn.toLowerCase()}));var rF=createCompounder((function(Me,Bn,Hn){return Me+(Hn?" ":"")+Bn.toLowerCase()}));var eQ=createCaseFirst("toLowerCase");function pad(Me,Bn,Hn){Me=toString(Me);Bn=toInteger(Bn);var zn=Bn?stringSize(Me):0;if(!Bn||zn>=Bn){return Me}var ni=(Bn-zn)/2;return createPadding(pC(ni),Hn)+Me+createPadding(lC(ni),Hn)}function padEnd(Me,Bn,Hn){Me=toString(Me);Bn=toInteger(Bn);var zn=Bn?stringSize(Me):0;return Bn&&zn>>0;if(!zn){return[]}Me=toString(Me);if(Me&&(typeof Bn=="string"||Bn!=null&&!oT(Bn))){Bn=baseToString(Bn);if(!Bn&&hasUnicode(Me)){return castSlice(stringToArray(Me),0,zn)}}return Me.split(Bn,zn)}var rQ=createCompounder((function(Me,Bn,Hn){return Me+(Hn?" ":"")+iQ(Bn)}));function startsWith(Me,Bn,Hn){Me=toString(Me);Hn=Hn==null?0:baseClamp(toInteger(Hn),0,Me.length);Bn=baseToString(Bn);return Me.slice(Hn,Hn+Bn.length)==Bn}function template(Me,Bn,zn){var ni=lodash.templateSettings;if(zn&&isIterateeCall(Me,Bn,zn)){Bn=Hn}Me=toString(Me);Bn=_T({},Bn,ni,customDefaultsAssignIn);var Ci=_T({},Bn.imports,ni.imports,customDefaultsAssignIn),ts=keys(Ci),oa=baseValues(Ci,ts);arrayEach(ts,(function(Me){if(Wg.test(Me)){throw new Yg(aa)}}));var ca,_a,xa=0,Ga=Bn.interpolate||ny,Ha="__p += '";var so=Gy((Bn.escape||ny).source+"|"+Ga.source+"|"+(Ga===Og?zg:ny).source+"|"+(Bn.evaluate||ny).source+"|$","g");var oo="//# sourceURL="+(wv.call(Bn,"sourceURL")?(Bn.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++wC+"]")+"\n";Me.replace(so,(function(Bn,Hn,zn,ni,Ci,ts){zn||(zn=ni);Ha+=Me.slice(xa,ts).replace(iy,escapeStringChar);if(Hn){ca=true;Ha+="' +\n__e("+Hn+") +\n'"}if(Ci){_a=true;Ha+="';\n"+Ci+";\n__p += '"}if(zn){Ha+="' +\n((__t = ("+zn+")) == null ? '' : __t) +\n'"}xa=ts+Bn.length;return Bn}));Ha+="';\n";var Jo=wv.call(Bn,"variable")&&Bn.variable;if(!Jo){Ha="with (obj) {\n"+Ha+"\n}\n"}else if(Wg.test(Jo)){throw new Yg(Ps)}Ha=(_a?Ha.replace(xg,""):Ha).replace(kg,"$1").replace(Bg,"$1;");Ha="function("+(Jo||"obj")+") {\n"+(Jo?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(ca?", __e = _.escape":"")+(_a?", __j = Array.prototype.join;\n"+"function print() { __p += __j.call(arguments, '') }\n":";\n")+Ha+"return __p\n}";var tc=sQ((function(){return py(ts,oo+"return "+Ha).apply(Hn,oa)}));tc.source=Ha;if(isError(tc)){throw tc}return tc}function toLower(Me){return toString(Me).toLowerCase()}function toUpper(Me){return toString(Me).toUpperCase()}function trim(Me,Bn,zn){Me=toString(Me);if(Me&&(zn||Bn===Hn)){return baseTrim(Me)}if(!Me||!(Bn=baseToString(Bn))){return Me}var ni=stringToArray(Me),Ci=stringToArray(Bn),ts=charsStartIndex(ni,Ci),Ps=charsEndIndex(ni,Ci)+1;return castSlice(ni,ts,Ps).join("")}function trimEnd(Me,Bn,zn){Me=toString(Me);if(Me&&(zn||Bn===Hn)){return Me.slice(0,trimmedEndIndex(Me)+1)}if(!Me||!(Bn=baseToString(Bn))){return Me}var ni=stringToArray(Me),Ci=charsEndIndex(ni,stringToArray(Bn))+1;return castSlice(ni,0,Ci).join("")}function trimStart(Me,Bn,zn){Me=toString(Me);if(Me&&(zn||Bn===Hn)){return Me.replace(Vg,"")}if(!Me||!(Bn=baseToString(Bn))){return Me}var ni=stringToArray(Me),Ci=charsStartIndex(ni,stringToArray(Bn));return castSlice(ni,Ci).join("")}function truncate(Me,Bn){var zn=qp,ni=Jp;if(isObject(Bn)){var Ci="separator"in Bn?Bn.separator:Ci;zn="length"in Bn?toInteger(Bn.length):zn;ni="omission"in Bn?baseToString(Bn.omission):ni}Me=toString(Me);var ts=Me.length;if(hasUnicode(Me)){var Ps=stringToArray(Me);ts=Ps.length}if(zn>=ts){return Me}var aa=zn-stringSize(ni);if(aa<1){return ni}var oa=Ps?castSlice(Ps,0,aa).join(""):Me.slice(0,aa);if(Ci===Hn){return oa+ni}if(Ps){aa+=oa.length-aa}if(oT(Ci)){if(Me.slice(aa).search(Ci)){var ca,_a=oa;if(!Ci.global){Ci=Gy(Ci.source,toString(Xg.exec(Ci))+"g")}Ci.lastIndex=0;while(ca=Ci.exec(_a)){var xa=ca.index}oa=oa.slice(0,xa===Hn?aa:xa)}}else if(Me.indexOf(baseToString(Ci),aa)!=aa){var Ga=oa.lastIndexOf(Ci);if(Ga>-1){oa=oa.slice(0,Ga)}}return oa+ni}function unescape(Me){Me=toString(Me);return Me&&Ng.test(Me)?Me.replace(Tg,XC):Me}var nQ=createCompounder((function(Me,Bn,Hn){return Me+(Hn?" ":"")+Bn.toUpperCase()}));var iQ=createCaseFirst("toUpperCase");function words(Me,Bn,zn){Me=toString(Me);Bn=zn?Hn:Bn;if(Bn===Hn){return hasUnicodeWord(Me)?unicodeWords(Me):asciiWords(Me)}return Me.match(Bn)||[]}var sQ=baseRest((function(Me,Bn){try{return apply(Me,Hn,Bn)}catch(Me){return isError(Me)?Me:new Yg(Me)}}));var aQ=flatRest((function(Me,Bn){arrayEach(Bn,(function(Bn){Bn=toKey(Bn);baseAssignValue(Me,Bn,zw(Me[Bn],Me))}));return Me}));function cond(Me){var Bn=Me==null?0:Me.length,Hn=getIteratee();Me=!Bn?[]:arrayMap(Me,(function(Me){if(typeof Me[1]!="function"){throw new Hy(ts)}return[Hn(Me[0]),Me[1]]}));return baseRest((function(Hn){var zn=-1;while(++znAd){return[]}var Hn=Sd,zn=vC(Me,Sd);Bn=getIteratee(Bn);Me-=Sd;var ni=baseTimes(zn,Bn);while(++Hn0||Bn<0)){return new LazyWrapper(zn)}if(Me<0){zn=zn.takeRight(-Me)}else if(Me){zn=zn.drop(Me)}if(Bn!==Hn){Bn=toInteger(Bn);zn=Bn<0?zn.dropRight(-Bn):zn.take(Bn-Me)}return zn};LazyWrapper.prototype.takeRightWhile=function(Me){return this.reverse().takeWhile(Me).reverse()};LazyWrapper.prototype.toArray=function(){return this.take(Sd)};baseForOwn(LazyWrapper.prototype,(function(Me,Bn){var zn=/^(?:filter|find|map|reject)|While$/.test(Bn),ni=/^(?:head|last)$/.test(Bn),Ci=lodash[ni?"take"+(Bn=="last"?"Right":""):Bn],ts=ni||/^find/.test(Bn);if(!Ci){return}lodash.prototype[Bn]=function(){var Bn=this.__wrapped__,Ps=ni?[1]:arguments,aa=Bn instanceof LazyWrapper,oa=Ps[0],ca=aa||rT(Bn);var interceptor=function(Me){var Bn=Ci.apply(lodash,arrayPush([Me],Ps));return ni&&_a?Bn[0]:Bn};if(ca&&zn&&typeof oa=="function"&&oa.length!=1){aa=ca=false}var _a=this.__chain__,xa=!!this.__actions__.length,Ga=ts&&!_a,Ha=aa&&!xa;if(!ts&&ca){Bn=Ha?Bn:new LazyWrapper(this);var so=Me.apply(Bn,Ps);so.__actions__.push({func:thru,args:[interceptor],thisArg:Hn});return new LodashWrapper(so,_a)}if(Ga&&Ha){return Me.apply(this,Ps)}so=this.thru(interceptor);return Ga?ni?so.value()[0]:so.value():so}}));arrayEach(["pop","push","shift","sort","splice","unshift"],(function(Me){var Bn=Av[Me],Hn=/^(?:push|sort|unshift)$/.test(Me)?"tap":"thru",zn=/^(?:pop|shift)$/.test(Me);lodash.prototype[Me]=function(){var Me=arguments;if(zn&&!this.__chain__){var ni=this.value();return Bn.apply(rT(ni)?ni:[],Me)}return this[Hn]((function(Hn){return Bn.apply(rT(Hn)?Hn:[],Me)}))}}));baseForOwn(LazyWrapper.prototype,(function(Me,Bn){var Hn=lodash[Bn];if(Hn){var zn=Hn.name+"";if(!wv.call(jC,zn)){jC[zn]=[]}jC[zn].push({name:Bn,func:Hn})}}));jC[createHybrid(Hn,tc).name]=[{name:"wrapper",func:Hn}];LazyWrapper.prototype.clone=lazyClone;LazyWrapper.prototype.reverse=lazyReverse;LazyWrapper.prototype.value=lazyValue;lodash.prototype.at=Uw;lodash.prototype.chain=wrapperChain;lodash.prototype.commit=wrapperCommit;lodash.prototype.next=wrapperNext;lodash.prototype.plant=wrapperPlant;lodash.prototype.reverse=wrapperReverse;lodash.prototype.toJSON=lodash.prototype.valueOf=lodash.prototype.value=wrapperValue;lodash.prototype.first=lodash.prototype.head;if(iC){lodash.prototype[iC]=wrapperToIterator}return lodash};var iD=ZC();if(typeof define=="function"&&typeof define.amd=="object"&&define.amd){PC._=iD;define((function(){return iD}))}else if(LC){(LC.exports=iD)._=iD;OC._=iD}else{PC._=iD}}).call(this)},24769:(Me,Bn,Hn)=>{var zn=Hn(79660);var ni="Expected a function";function memoize(Me,Bn){if(typeof Me!="function"||Bn!=null&&typeof Bn!="function"){throw new TypeError(ni)}var memoized=function(){var Hn=arguments,zn=Bn?Bn.apply(this,Hn):Hn[0],ni=memoized.cache;if(ni.has(zn)){return ni.get(zn)}var Ci=Me.apply(this,Hn);memoized.cache=ni.set(zn,Ci)||ni;return Ci};memoized.cache=new(memoize.Cache||zn);return memoized}memoize.Cache=zn;Me.exports=memoize},99101:(Me,Bn,Hn)=>{var zn=Hn(47313),ni=Hn(8070);var Ci=ni((function(Me,Bn,Hn,ni){zn(Me,Bn,Hn,ni)}));Me.exports=Ci},92020:(Me,Bn,Hn)=>{var zn=Hn(56649),ni=Hn(62504),Ci=Hn(86344),ts=Hn(77336),Ps=Hn(69330),aa=Hn(9429),oa=Hn(8389),ca=Hn(17172);var _a=1,xa=2,Ga=4;var Ha=oa((function(Me,Bn){var Hn={};if(Me==null){return Hn}var oa=false;Bn=zn(Bn,(function(Bn){Bn=ts(Bn,Me);oa||(oa=Bn.length>1);return Bn}));Ps(Me,ca(Me),Hn);if(oa){Hn=ni(Hn,_a|xa|Ga,aa)}var Ha=Bn.length;while(Ha--){Ci(Hn,Bn[Ha])}return Hn}));Me.exports=Ha},69860:(Me,Bn,Hn)=>{var zn=Hn(49996),ni=Hn(8389);var Ci=ni((function(Me,Bn){return Me==null?{}:zn(Me,Bn)}));Me.exports=Ci},11024:(Me,Bn,Hn)=>{var zn=Hn(66136),ni=Hn(32310),Ci=Hn(20897),ts=Hn(95086);function property(Me){return Ci(Me)?zn(ts(Me)):ni(Me)}Me.exports=property},94604:(Me,Bn,Hn)=>{var zn=Hn(63183),ni=Hn(89196),Ci=Hn(22035),ts=Hn(3349);var Ps=Ci((function(Me,Bn){if(Me==null){return[]}var Hn=Bn.length;if(Hn>1&&ts(Me,Bn[0],Bn[1])){Bn=[]}else if(Hn>2&&ts(Bn[0],Bn[1],Bn[2])){Bn=[Bn[0]]}return ni(Me,zn(Bn,1),[])}));Me.exports=Ps},43400:Me=>{function stubArray(){return[]}Me.exports=stubArray},92074:Me=>{function stubFalse(){return false}Me.exports=stubFalse},38842:(Me,Bn,Hn)=>{var zn=Hn(96834),ni=Hn(46851);function sum(Me){return Me&&Me.length?zn(Me,ni):0}Me.exports=sum},32191:(Me,Bn,Hn)=>{var zn=Hn(47988),ni=Hn(96834);function sumBy(Me,Bn){return Me&&Me.length?ni(Me,zn(Bn,2)):0}Me.exports=sumBy},32670:(Me,Bn,Hn)=>{var zn=Hn(37115),ni=Hn(66960);function take(Me,Bn,Hn){if(!(Me&&Me.length)){return[]}Bn=Hn||Bn===undefined?1:ni(Bn);return zn(Me,0,Bn<0?0:Bn)}Me.exports=take},19731:(Me,Bn,Hn)=>{var zn=Hn(17245);var ni=1/0,Ci=17976931348623157e292;function toFinite(Me){if(!Me){return Me===0?Me:0}Me=zn(Me);if(Me===ni||Me===-ni){var Bn=Me<0?-1:1;return Bn*Ci}return Me===Me?Me:0}Me.exports=toFinite},66960:(Me,Bn,Hn)=>{var zn=Hn(19731);function toInteger(Me){var Bn=zn(Me),Hn=Bn%1;return Bn===Bn?Hn?Bn-Hn:Bn:0}Me.exports=toInteger},17245:(Me,Bn,Hn)=>{var zn=Hn(14441),ni=Hn(96482),Ci=Hn(70661);var ts=0/0;var Ps=/^[-+]0x[0-9a-f]+$/i;var aa=/^0b[01]+$/i;var oa=/^0o[0-7]+$/i;var ca=parseInt;function toNumber(Me){if(typeof Me=="number"){return Me}if(Ci(Me)){return ts}if(ni(Me)){var Bn=typeof Me.valueOf=="function"?Me.valueOf():Me;Me=ni(Bn)?Bn+"":Bn}if(typeof Me!="string"){return Me===0?Me:+Me}Me=zn(Me);var Hn=aa.test(Me);return Hn||oa.test(Me)?ca(Me.slice(2),Hn?2:8):Ps.test(Me)?ts:+Me}Me.exports=toNumber},88485:(Me,Bn,Hn)=>{var zn=Hn(69330),ni=Hn(19430);function toPlainObject(Me){return zn(Me,ni(Me))}Me.exports=toPlainObject},87233:(Me,Bn,Hn)=>{var zn=Hn(17625);function toString(Me){return Me==null?"":zn(Me)}Me.exports=toString},55641:Me=>{"use strict";Me.exports=Math.abs},96171:Me=>{"use strict";Me.exports=Math.floor},77044:Me=>{"use strict";Me.exports=Number.isNaN||function isNaN(Me){return Me!==Me}},57147:Me=>{"use strict";Me.exports=Math.max},41017:Me=>{"use strict";Me.exports=Math.min},56947:Me=>{"use strict";Me.exports=Math.pow},42621:Me=>{"use strict";Me.exports=Math.round},30156:(Me,Bn,Hn)=>{"use strict";var zn=Hn(77044);Me.exports=function sign(Me){if(zn(Me)||Me===0){return Me}return Me<0?-1:+1}},99829:(Me,Bn,Hn)=>{ /*! * mime-db * Copyright(c) 2014 Jonathan Ong @@ -97,9 +97,9 @@ Me.exports=Hn(81813)},14096:(Me,Bn,Hn)=>{"use strict"; //! momentjs.com (function(Bn,Hn){true?Me.exports=Hn():0})(this,(function(){"use strict";var Bn;function hooks(){return Bn.apply(null,arguments)}function setHookCallback(Me){Bn=Me}function isArray(Me){return Me instanceof Array||Object.prototype.toString.call(Me)==="[object Array]"}function isObject(Me){return Me!=null&&Object.prototype.toString.call(Me)==="[object Object]"}function hasOwnProp(Me,Bn){return Object.prototype.hasOwnProperty.call(Me,Bn)}function isObjectEmpty(Me){if(Object.getOwnPropertyNames){return Object.getOwnPropertyNames(Me).length===0}else{var Bn;for(Bn in Me){if(hasOwnProp(Me,Bn)){return false}}return true}}function isUndefined(Me){return Me===void 0}function isNumber(Me){return typeof Me==="number"||Object.prototype.toString.call(Me)==="[object Number]"}function isDate(Me){return Me instanceof Date||Object.prototype.toString.call(Me)==="[object Date]"}function map(Me,Bn){var Hn=[],zn,ni=Me.length;for(zn=0;zn>>0,zn;for(zn=0;zn0){for(Hn=0;Hn=0;return(Ci?Hn?"+":"":"-")+Math.pow(10,Math.max(0,ni)).toString().substr(1)+zn}var aa=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,oa=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,ca={},_a={};function addFormatToken(Me,Bn,Hn,zn){var ni=zn;if(typeof zn==="string"){ni=function(){return this[zn]()}}if(Me){_a[Me]=ni}if(Bn){_a[Bn[0]]=function(){return zeroFill(ni.apply(this,arguments),Bn[1],Bn[2])}}if(Hn){_a[Hn]=function(){return this.localeData().ordinal(ni.apply(this,arguments),Me)}}}function removeFormattingTokens(Me){if(Me.match(/\[[\s\S]/)){return Me.replace(/^\[|\]$/g,"")}return Me.replace(/\\/g,"")}function makeFormatFunction(Me){var Bn=Me.match(aa),Hn,zn;for(Hn=0,zn=Bn.length;Hn=0&&oa.test(Me)){Me=Me.replace(oa,replaceLongDateFormatTokens);oa.lastIndex=0;Hn-=1}return Me}var xa={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function longDateFormat(Me){var Bn=this._longDateFormat[Me],Hn=this._longDateFormat[Me.toUpperCase()];if(Bn||!Hn){return Bn}this._longDateFormat[Me]=Hn.match(aa).map((function(Me){if(Me==="MMMM"||Me==="MM"||Me==="DD"||Me==="dddd"){return Me.slice(1)}return Me})).join("");return this._longDateFormat[Me]}var Ga="Invalid date";function invalidDate(){return this._invalidDate}var Ha="%d",so=/\d{1,2}/;function ordinal(Me){return this._ordinal.replace("%d",Me)}var oo={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function relativeTime(Me,Bn,Hn,zn){var ni=this._relativeTime[Hn];return isFunction(ni)?ni(Me,Bn,Hn,zn):ni.replace(/%d/i,Me)}function pastFuture(Me,Bn){var Hn=this._relativeTime[Me>0?"future":"past"];return isFunction(Hn)?Hn(Bn):Hn.replace(/%s/i,Bn)}var Jo={D:"date",dates:"date",date:"date",d:"day",days:"day",day:"day",e:"weekday",weekdays:"weekday",weekday:"weekday",E:"isoWeekday",isoweekdays:"isoWeekday",isoweekday:"isoWeekday",DDD:"dayOfYear",dayofyears:"dayOfYear",dayofyear:"dayOfYear",h:"hour",hours:"hour",hour:"hour",ms:"millisecond",milliseconds:"millisecond",millisecond:"millisecond",m:"minute",minutes:"minute",minute:"minute",M:"month",months:"month",month:"month",Q:"quarter",quarters:"quarter",quarter:"quarter",s:"second",seconds:"second",second:"second",gg:"weekYear",weekyears:"weekYear",weekyear:"weekYear",GG:"isoWeekYear",isoweekyears:"isoWeekYear",isoweekyear:"isoWeekYear",w:"week",weeks:"week",week:"week",W:"isoWeek",isoweeks:"isoWeek",isoweek:"isoWeek",y:"year",years:"year",year:"year"};function normalizeUnits(Me){return typeof Me==="string"?Jo[Me]||Jo[Me.toLowerCase()]:undefined}function normalizeObjectUnits(Me){var Bn={},Hn,zn;for(zn in Me){if(hasOwnProp(Me,zn)){Hn=normalizeUnits(zn);if(Hn){Bn[Hn]=Me[zn]}}}return Bn}var tc={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1};function getPrioritizedUnits(Me){var Bn=[],Hn;for(Hn in Me){if(hasOwnProp(Me,Hn)){Bn.push({unit:Hn,priority:tc[Hn]})}}Bn.sort((function(Me,Bn){return Me.priority-Bn.priority}));return Bn}var dc=/\d/,Fc=/\d\d/,Jc=/\d{3}/,Dp=/\d{4}/,kp=/[+-]?\d{6}/,Qp=/\d\d?/,Up=/\d\d\d\d?/,Vp=/\d\d\d\d\d\d?/,qp=/\d{1,3}/,Jp=/\d{1,4}/,Wp=/[+-]?\d{1,6}/,zp=/\d+/,Qf=/[+-]?\d+/,Yf=/Z|[+-]\d\d:?\d\d/gi,Kf=/Z|[+-]\d\d(?::?\d\d)?/gi,Xf=/[+-]?\d+(\.\d{1,3})?/,Ad=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,Cd=/^[1-9]\d?/,wd=/^([1-9]\d|\d)/,Sd;Sd={};function addRegexToken(Me,Bn,Hn){Sd[Me]=isFunction(Bn)?Bn:function(Me,zn){return Me&&Hn?Hn:Bn}}function getParseRegexForToken(Me,Bn){if(!hasOwnProp(Sd,Me)){return new RegExp(unescapeFormat(Me))}return Sd[Me](Bn._strict,Bn._locale)}function unescapeFormat(Me){return regexEscape(Me.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(Me,Bn,Hn,zn,ni){return Bn||Hn||zn||ni})))}function regexEscape(Me){return Me.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function absFloor(Me){if(Me<0){return Math.ceil(Me)||0}else{return Math.floor(Me)}}function toInt(Me){var Bn=+Me,Hn=0;if(Bn!==0&&isFinite(Bn)){Hn=absFloor(Bn)}return Hn}var xd={};function addParseToken(Me,Bn){var Hn,zn=Bn,ni;if(typeof Me==="string"){Me=[Me]}if(isNumber(Bn)){zn=function(Me,Hn){Hn[Bn]=toInt(Me)}}ni=Me.length;for(Hn=0;Hn68?1900:2e3)};var rg=makeGetSet("FullYear",true);function getIsLeapYear(){return isLeapYear(this.year())}function makeGetSet(Me,Bn){return function(Hn){if(Hn!=null){set$1(this,Me,Hn);hooks.updateOffset(this,Bn);return this}else{return get(this,Me)}}}function get(Me,Bn){if(!Me.isValid()){return NaN}var Hn=Me._d,zn=Me._isUTC;switch(Bn){case"Milliseconds":return zn?Hn.getUTCMilliseconds():Hn.getMilliseconds();case"Seconds":return zn?Hn.getUTCSeconds():Hn.getSeconds();case"Minutes":return zn?Hn.getUTCMinutes():Hn.getMinutes();case"Hours":return zn?Hn.getUTCHours():Hn.getHours();case"Date":return zn?Hn.getUTCDate():Hn.getDate();case"Day":return zn?Hn.getUTCDay():Hn.getDay();case"Month":return zn?Hn.getUTCMonth():Hn.getMonth();case"FullYear":return zn?Hn.getUTCFullYear():Hn.getFullYear();default:return NaN}}function set$1(Me,Bn,Hn){var zn,ni,Ci,ts,Ps;if(!Me.isValid()||isNaN(Hn)){return}zn=Me._d;ni=Me._isUTC;switch(Bn){case"Milliseconds":return void(ni?zn.setUTCMilliseconds(Hn):zn.setMilliseconds(Hn));case"Seconds":return void(ni?zn.setUTCSeconds(Hn):zn.setSeconds(Hn));case"Minutes":return void(ni?zn.setUTCMinutes(Hn):zn.setMinutes(Hn));case"Hours":return void(ni?zn.setUTCHours(Hn):zn.setHours(Hn));case"Date":return void(ni?zn.setUTCDate(Hn):zn.setDate(Hn));case"FullYear":break;default:return}Ci=Hn;ts=Me.month();Ps=Me.date();Ps=Ps===29&&ts===1&&!isLeapYear(Ci)?28:Ps;void(ni?zn.setUTCFullYear(Ci,ts,Ps):zn.setFullYear(Ci,ts,Ps))}function stringGet(Me){Me=normalizeUnits(Me);if(isFunction(this[Me])){return this[Me]()}return this}function stringSet(Me,Bn){if(typeof Me==="object"){Me=normalizeObjectUnits(Me);var Hn=getPrioritizedUnits(Me),zn,ni=Hn.length;for(zn=0;zn=0){Ps=new Date(Me+400,Bn,Hn,zn,ni,Ci,ts);if(isFinite(Ps.getFullYear())){Ps.setFullYear(Me)}}else{Ps=new Date(Me,Bn,Hn,zn,ni,Ci,ts)}return Ps}function createUTCDate(Me){var Bn,Hn;if(Me<100&&Me>=0){Hn=Array.prototype.slice.call(arguments);Hn[0]=Me+400;Bn=new Date(Date.UTC.apply(null,Hn));if(isFinite(Bn.getUTCFullYear())){Bn.setUTCFullYear(Me)}}else{Bn=new Date(Date.UTC.apply(null,arguments))}return Bn}function firstWeekOffset(Me,Bn,Hn){var zn=7+Bn-Hn,ni=(7+createUTCDate(Me,0,zn).getUTCDay()-Bn)%7;return-ni+zn-1}function dayOfYearFromWeeks(Me,Bn,Hn,zn,ni){var Ci=(7+Hn-zn)%7,ts=firstWeekOffset(Me,zn,ni),Ps=1+7*(Bn-1)+Ci+ts,aa,oa;if(Ps<=0){aa=Me-1;oa=daysInYear(aa)+Ps}else if(Ps>daysInYear(Me)){aa=Me+1;oa=Ps-daysInYear(Me)}else{aa=Me;oa=Ps}return{year:aa,dayOfYear:oa}}function weekOfYear(Me,Bn,Hn){var zn=firstWeekOffset(Me.year(),Bn,Hn),ni=Math.floor((Me.dayOfYear()-zn-1)/7)+1,Ci,ts;if(ni<1){ts=Me.year()-1;Ci=ni+weeksInYear(ts,Bn,Hn)}else if(ni>weeksInYear(Me.year(),Bn,Hn)){Ci=ni-weeksInYear(Me.year(),Bn,Hn);ts=Me.year()+1}else{ts=Me.year();Ci=ni}return{week:Ci,year:ts}}function weeksInYear(Me,Bn,Hn){var zn=firstWeekOffset(Me,Bn,Hn),ni=firstWeekOffset(Me+1,Bn,Hn);return(daysInYear(Me)-zn+ni)/7}addFormatToken("w",["ww",2],"wo","week");addFormatToken("W",["WW",2],"Wo","isoWeek");addRegexToken("w",Qp,Cd);addRegexToken("ww",Qp,Fc);addRegexToken("W",Qp,Cd);addRegexToken("WW",Qp,Fc);addWeekParseToken(["w","ww","W","WW"],(function(Me,Bn,Hn,zn){Bn[zn.substr(0,1)]=toInt(Me)}));function localeWeek(Me){return weekOfYear(Me,this._week.dow,this._week.doy).week}var cg={dow:0,doy:6};function localeFirstDayOfWeek(){return this._week.dow}function localeFirstDayOfYear(){return this._week.doy}function getSetWeek(Me){var Bn=this.localeData().week(this);return Me==null?Bn:this.add((Me-Bn)*7,"d")}function getSetISOWeek(Me){var Bn=weekOfYear(this,1,4).week;return Me==null?Bn:this.add((Me-Bn)*7,"d")}addFormatToken("d",0,"do","day");addFormatToken("dd",0,0,(function(Me){return this.localeData().weekdaysMin(this,Me)}));addFormatToken("ddd",0,0,(function(Me){return this.localeData().weekdaysShort(this,Me)}));addFormatToken("dddd",0,0,(function(Me){return this.localeData().weekdays(this,Me)}));addFormatToken("e",0,0,"weekday");addFormatToken("E",0,0,"isoWeekday");addRegexToken("d",Qp);addRegexToken("e",Qp);addRegexToken("E",Qp);addRegexToken("dd",(function(Me,Bn){return Bn.weekdaysMinRegex(Me)}));addRegexToken("ddd",(function(Me,Bn){return Bn.weekdaysShortRegex(Me)}));addRegexToken("dddd",(function(Me,Bn){return Bn.weekdaysRegex(Me)}));addWeekParseToken(["dd","ddd","dddd"],(function(Me,Bn,Hn,zn){var ni=Hn._locale.weekdaysParse(Me,zn,Hn._strict);if(ni!=null){Bn.d=ni}else{getParsingFlags(Hn).invalidWeekday=Me}}));addWeekParseToken(["d","e","E"],(function(Me,Bn,Hn,zn){Bn[zn]=toInt(Me)}));function parseWeekday(Me,Bn){if(typeof Me!=="string"){return Me}if(!isNaN(Me)){return parseInt(Me,10)}Me=Bn.weekdaysParse(Me);if(typeof Me==="number"){return Me}return null}function parseIsoWeekday(Me,Bn){if(typeof Me==="string"){return Bn.weekdaysParse(Me)%7||7}return isNaN(Me)?null:Me}function shiftWeekdays(Me,Bn){return Me.slice(Bn,7).concat(Me.slice(0,Bn))}var lg="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),pg="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),fg="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),dg=Ad,hg=Ad,Ag=Ad;function localeWeekdays(Me,Bn){var Hn=isArray(this._weekdays)?this._weekdays:this._weekdays[Me&&Me!==true&&this._weekdays.isFormat.test(Bn)?"format":"standalone"];return Me===true?shiftWeekdays(Hn,this._week.dow):Me?Hn[Me.day()]:Hn}function localeWeekdaysShort(Me){return Me===true?shiftWeekdays(this._weekdaysShort,this._week.dow):Me?this._weekdaysShort[Me.day()]:this._weekdaysShort}function localeWeekdaysMin(Me){return Me===true?shiftWeekdays(this._weekdaysMin,this._week.dow):Me?this._weekdaysMin[Me.day()]:this._weekdaysMin}function handleStrictParse$1(Me,Bn,Hn){var zn,ni,Ci,ts=Me.toLocaleLowerCase();if(!this._weekdaysParse){this._weekdaysParse=[];this._shortWeekdaysParse=[];this._minWeekdaysParse=[];for(zn=0;zn<7;++zn){Ci=createUTC([2e3,1]).day(zn);this._minWeekdaysParse[zn]=this.weekdaysMin(Ci,"").toLocaleLowerCase();this._shortWeekdaysParse[zn]=this.weekdaysShort(Ci,"").toLocaleLowerCase();this._weekdaysParse[zn]=this.weekdays(Ci,"").toLocaleLowerCase()}}if(Hn){if(Bn==="dddd"){ni=ng.call(this._weekdaysParse,ts);return ni!==-1?ni:null}else if(Bn==="ddd"){ni=ng.call(this._shortWeekdaysParse,ts);return ni!==-1?ni:null}else{ni=ng.call(this._minWeekdaysParse,ts);return ni!==-1?ni:null}}else{if(Bn==="dddd"){ni=ng.call(this._weekdaysParse,ts);if(ni!==-1){return ni}ni=ng.call(this._shortWeekdaysParse,ts);if(ni!==-1){return ni}ni=ng.call(this._minWeekdaysParse,ts);return ni!==-1?ni:null}else if(Bn==="ddd"){ni=ng.call(this._shortWeekdaysParse,ts);if(ni!==-1){return ni}ni=ng.call(this._weekdaysParse,ts);if(ni!==-1){return ni}ni=ng.call(this._minWeekdaysParse,ts);return ni!==-1?ni:null}else{ni=ng.call(this._minWeekdaysParse,ts);if(ni!==-1){return ni}ni=ng.call(this._weekdaysParse,ts);if(ni!==-1){return ni}ni=ng.call(this._shortWeekdaysParse,ts);return ni!==-1?ni:null}}}function localeWeekdaysParse(Me,Bn,Hn){var zn,ni,Ci;if(this._weekdaysParseExact){return handleStrictParse$1.call(this,Me,Bn,Hn)}if(!this._weekdaysParse){this._weekdaysParse=[];this._minWeekdaysParse=[];this._shortWeekdaysParse=[];this._fullWeekdaysParse=[]}for(zn=0;zn<7;zn++){ni=createUTC([2e3,1]).day(zn);if(Hn&&!this._fullWeekdaysParse[zn]){this._fullWeekdaysParse[zn]=new RegExp("^"+this.weekdays(ni,"").replace(".","\\.?")+"$","i");this._shortWeekdaysParse[zn]=new RegExp("^"+this.weekdaysShort(ni,"").replace(".","\\.?")+"$","i");this._minWeekdaysParse[zn]=new RegExp("^"+this.weekdaysMin(ni,"").replace(".","\\.?")+"$","i")}if(!this._weekdaysParse[zn]){Ci="^"+this.weekdays(ni,"")+"|^"+this.weekdaysShort(ni,"")+"|^"+this.weekdaysMin(ni,"");this._weekdaysParse[zn]=new RegExp(Ci.replace(".",""),"i")}if(Hn&&Bn==="dddd"&&this._fullWeekdaysParse[zn].test(Me)){return zn}else if(Hn&&Bn==="ddd"&&this._shortWeekdaysParse[zn].test(Me)){return zn}else if(Hn&&Bn==="dd"&&this._minWeekdaysParse[zn].test(Me)){return zn}else if(!Hn&&this._weekdaysParse[zn].test(Me)){return zn}}}function getSetDayOfWeek(Me){if(!this.isValid()){return Me!=null?this:NaN}var Bn=get(this,"Day");if(Me!=null){Me=parseWeekday(Me,this.localeData());return this.add(Me-Bn,"d")}else{return Bn}}function getSetLocaleDayOfWeek(Me){if(!this.isValid()){return Me!=null?this:NaN}var Bn=(this.day()+7-this.localeData()._week.dow)%7;return Me==null?Bn:this.add(Me-Bn,"d")}function getSetISODayOfWeek(Me){if(!this.isValid()){return Me!=null?this:NaN}if(Me!=null){var Bn=parseIsoWeekday(Me,this.localeData());return this.day(this.day()%7?Bn:Bn-7)}else{return this.day()||7}}function weekdaysRegex(Me){if(this._weekdaysParseExact){if(!hasOwnProp(this,"_weekdaysRegex")){computeWeekdaysParse.call(this)}if(Me){return this._weekdaysStrictRegex}else{return this._weekdaysRegex}}else{if(!hasOwnProp(this,"_weekdaysRegex")){this._weekdaysRegex=dg}return this._weekdaysStrictRegex&&Me?this._weekdaysStrictRegex:this._weekdaysRegex}}function weekdaysShortRegex(Me){if(this._weekdaysParseExact){if(!hasOwnProp(this,"_weekdaysRegex")){computeWeekdaysParse.call(this)}if(Me){return this._weekdaysShortStrictRegex}else{return this._weekdaysShortRegex}}else{if(!hasOwnProp(this,"_weekdaysShortRegex")){this._weekdaysShortRegex=hg}return this._weekdaysShortStrictRegex&&Me?this._weekdaysShortStrictRegex:this._weekdaysShortRegex}}function weekdaysMinRegex(Me){if(this._weekdaysParseExact){if(!hasOwnProp(this,"_weekdaysRegex")){computeWeekdaysParse.call(this)}if(Me){return this._weekdaysMinStrictRegex}else{return this._weekdaysMinRegex}}else{if(!hasOwnProp(this,"_weekdaysMinRegex")){this._weekdaysMinRegex=Ag}return this._weekdaysMinStrictRegex&&Me?this._weekdaysMinStrictRegex:this._weekdaysMinRegex}}function computeWeekdaysParse(){function cmpLenRev(Me,Bn){return Bn.length-Me.length}var Me=[],Bn=[],Hn=[],zn=[],ni,Ci,ts,Ps,aa;for(ni=0;ni<7;ni++){Ci=createUTC([2e3,1]).day(ni);ts=regexEscape(this.weekdaysMin(Ci,""));Ps=regexEscape(this.weekdaysShort(Ci,""));aa=regexEscape(this.weekdays(Ci,""));Me.push(ts);Bn.push(Ps);Hn.push(aa);zn.push(ts);zn.push(Ps);zn.push(aa)}Me.sort(cmpLenRev);Bn.sort(cmpLenRev);Hn.sort(cmpLenRev);zn.sort(cmpLenRev);this._weekdaysRegex=new RegExp("^("+zn.join("|")+")","i");this._weekdaysShortRegex=this._weekdaysRegex;this._weekdaysMinRegex=this._weekdaysRegex;this._weekdaysStrictRegex=new RegExp("^("+Hn.join("|")+")","i");this._weekdaysShortStrictRegex=new RegExp("^("+Bn.join("|")+")","i");this._weekdaysMinStrictRegex=new RegExp("^("+Me.join("|")+")","i")}function hFormat(){return this.hours()%12||12}function kFormat(){return this.hours()||24}addFormatToken("H",["HH",2],0,"hour");addFormatToken("h",["hh",2],0,hFormat);addFormatToken("k",["kk",2],0,kFormat);addFormatToken("hmm",0,0,(function(){return""+hFormat.apply(this)+zeroFill(this.minutes(),2)}));addFormatToken("hmmss",0,0,(function(){return""+hFormat.apply(this)+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2)}));addFormatToken("Hmm",0,0,(function(){return""+this.hours()+zeroFill(this.minutes(),2)}));addFormatToken("Hmmss",0,0,(function(){return""+this.hours()+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2)}));function meridiem(Me,Bn){addFormatToken(Me,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),Bn)}))}meridiem("a",true);meridiem("A",false);function matchMeridiem(Me,Bn){return Bn._meridiemParse}addRegexToken("a",matchMeridiem);addRegexToken("A",matchMeridiem);addRegexToken("H",Qp,wd);addRegexToken("h",Qp,Cd);addRegexToken("k",Qp,Cd);addRegexToken("HH",Qp,Fc);addRegexToken("hh",Qp,Fc);addRegexToken("kk",Qp,Fc);addRegexToken("hmm",Up);addRegexToken("hmmss",Vp);addRegexToken("Hmm",Up);addRegexToken("Hmmss",Vp);addParseToken(["H","HH"],Zh);addParseToken(["k","kk"],(function(Me,Bn,Hn){var zn=toInt(Me);Bn[Zh]=zn===24?0:zn}));addParseToken(["a","A"],(function(Me,Bn,Hn){Hn._isPm=Hn._locale.isPM(Me);Hn._meridiem=Me}));addParseToken(["h","hh"],(function(Me,Bn,Hn){Bn[Zh]=toInt(Me);getParsingFlags(Hn).bigHour=true}));addParseToken("hmm",(function(Me,Bn,Hn){var zn=Me.length-2;Bn[Zh]=toInt(Me.substr(0,zn));Bn[sA]=toInt(Me.substr(zn));getParsingFlags(Hn).bigHour=true}));addParseToken("hmmss",(function(Me,Bn,Hn){var zn=Me.length-4,ni=Me.length-2;Bn[Zh]=toInt(Me.substr(0,zn));Bn[sA]=toInt(Me.substr(zn,2));Bn[oA]=toInt(Me.substr(ni));getParsingFlags(Hn).bigHour=true}));addParseToken("Hmm",(function(Me,Bn,Hn){var zn=Me.length-2;Bn[Zh]=toInt(Me.substr(0,zn));Bn[sA]=toInt(Me.substr(zn))}));addParseToken("Hmmss",(function(Me,Bn,Hn){var zn=Me.length-4,ni=Me.length-2;Bn[Zh]=toInt(Me.substr(0,zn));Bn[sA]=toInt(Me.substr(zn,2));Bn[oA]=toInt(Me.substr(ni))}));function localeIsPM(Me){return(Me+"").toLowerCase().charAt(0)==="p"}var mg=/[ap]\.?m?\.?/i,gg=makeGetSet("Hours",true);function localeMeridiem(Me,Bn,Hn){if(Me>11){return Hn?"pm":"PM"}else{return Hn?"am":"AM"}}var _g={calendar:Ps,longDateFormat:xa,invalidDate:Ga,ordinal:Ha,dayOfMonthOrdinalParse:so,relativeTime:oo,months:ig,monthsShort:sg,week:cg,weekdays:lg,weekdaysMin:fg,weekdaysShort:pg,meridiemParse:mg};var yg={},vg={},Eg;function commonPrefix(Me,Bn){var Hn,zn=Math.min(Me.length,Bn.length);for(Hn=0;Hn0){ni=loadLocale(Ci.slice(0,Hn).join("-"));if(ni){return ni}if(zn&&zn.length>=Hn&&commonPrefix(Ci,zn)>=Hn-1){break}Hn--}Bn++}return Eg}function isLocaleNameSane(Me){return!!(Me&&Me.match("^[^/\\\\]*$"))}function loadLocale(Bn){var Hn=null,zn;if(yg[Bn]===undefined&&"object"!=="undefined"&&Me&&Me.exports&&isLocaleNameSane(Bn)){try{Hn=Eg._abbr;zn=require;zn("./locale/"+Bn);getSetGlobalLocale(Hn)}catch(Me){yg[Bn]=null}}return yg[Bn]}function getSetGlobalLocale(Me,Bn){var Hn;if(Me){if(isUndefined(Bn)){Hn=getLocale(Me)}else{Hn=defineLocale(Me,Bn)}if(Hn){Eg=Hn}else{if(typeof console!=="undefined"&&console.warn){console.warn("Locale "+Me+" not found. Did you forget to load it?")}}}return Eg._abbr}function defineLocale(Me,Bn){if(Bn!==null){var Hn,zn=_g;Bn.abbr=Me;if(yg[Me]!=null){deprecateSimple("defineLocaleOverride","use moment.updateLocale(localeName, config) to change "+"an existing locale. moment.defineLocale(localeName, "+"config) should only be used for creating a new locale "+"See http://momentjs.com/guides/#/warnings/define-locale/ for more info.");zn=yg[Me]._config}else if(Bn.parentLocale!=null){if(yg[Bn.parentLocale]!=null){zn=yg[Bn.parentLocale]._config}else{Hn=loadLocale(Bn.parentLocale);if(Hn!=null){zn=Hn._config}else{if(!vg[Bn.parentLocale]){vg[Bn.parentLocale]=[]}vg[Bn.parentLocale].push({name:Me,config:Bn});return null}}}yg[Me]=new Locale(mergeConfigs(zn,Bn));if(vg[Me]){vg[Me].forEach((function(Me){defineLocale(Me.name,Me.config)}))}getSetGlobalLocale(Me);return yg[Me]}else{delete yg[Me];return null}}function updateLocale(Me,Bn){if(Bn!=null){var Hn,zn,ni=_g;if(yg[Me]!=null&&yg[Me].parentLocale!=null){yg[Me].set(mergeConfigs(yg[Me]._config,Bn))}else{zn=loadLocale(Me);if(zn!=null){ni=zn._config}Bn=mergeConfigs(ni,Bn);if(zn==null){Bn.abbr=Me}Hn=new Locale(Bn);Hn.parentLocale=yg[Me];yg[Me]=Hn}getSetGlobalLocale(Me)}else{if(yg[Me]!=null){if(yg[Me].parentLocale!=null){yg[Me]=yg[Me].parentLocale;if(Me===getSetGlobalLocale()){getSetGlobalLocale(Me)}}else if(yg[Me]!=null){delete yg[Me]}}}return yg[Me]}function getLocale(Me){var Bn;if(Me&&Me._locale&&Me._locale._abbr){Me=Me._locale._abbr}if(!Me){return Eg}if(!isArray(Me)){Bn=loadLocale(Me);if(Bn){return Bn}Me=[Me]}return chooseLocale(Me)}function listLocales(){return ts(yg)}function checkOverflow(Me){var Bn,Hn=Me._a;if(Hn&&getParsingFlags(Me).overflow===-2){Bn=Hn[Pd]<0||Hn[Pd]>11?Pd:Hn[Qh]<1||Hn[Qh]>daysInMonth(Hn[Td],Hn[Pd])?Qh:Hn[Zh]<0||Hn[Zh]>24||Hn[Zh]===24&&(Hn[sA]!==0||Hn[oA]!==0||Hn[hA]!==0)?Zh:Hn[sA]<0||Hn[sA]>59?sA:Hn[oA]<0||Hn[oA]>59?oA:Hn[hA]<0||Hn[hA]>999?hA:-1;if(getParsingFlags(Me)._overflowDayOfYear&&(BnQh)){Bn=Qh}if(getParsingFlags(Me)._overflowWeeks&&Bn===-1){Bn=eg}if(getParsingFlags(Me)._overflowWeekday&&Bn===-1){Bn=tg}getParsingFlags(Me).overflow=Bn}return Me}var bg=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Cg=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Dg=/Z|[+-]\d\d(?::?\d\d)?/,wg=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,false],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,false],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,false],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,false],["YYYY",/\d{4}/,false]],Sg=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Ig=/^\/?Date\((-?\d+)/i,xg=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,kg={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function configFromISO(Me){var Bn,Hn,zn=Me._i,ni=bg.exec(zn)||Cg.exec(zn),Ci,ts,Ps,aa,oa=wg.length,ca=Sg.length;if(ni){getParsingFlags(Me).iso=true;for(Bn=0,Hn=oa;BndaysInYear(ts)||Me._dayOfYear===0){getParsingFlags(Me)._overflowDayOfYear=true}Hn=createUTCDate(ts,0,Me._dayOfYear);Me._a[Pd]=Hn.getUTCMonth();Me._a[Qh]=Hn.getUTCDate()}for(Bn=0;Bn<3&&Me._a[Bn]==null;++Bn){Me._a[Bn]=zn[Bn]=ni[Bn]}for(;Bn<7;Bn++){Me._a[Bn]=zn[Bn]=Me._a[Bn]==null?Bn===2?1:0:Me._a[Bn]}if(Me._a[Zh]===24&&Me._a[sA]===0&&Me._a[oA]===0&&Me._a[hA]===0){Me._nextDay=true;Me._a[Zh]=0}Me._d=(Me._useUTC?createUTCDate:createDate).apply(null,zn);Ci=Me._useUTC?Me._d.getUTCDay():Me._d.getDay();if(Me._tzm!=null){Me._d.setUTCMinutes(Me._d.getUTCMinutes()-Me._tzm)}if(Me._nextDay){Me._a[Zh]=24}if(Me._w&&typeof Me._w.d!=="undefined"&&Me._w.d!==Ci){getParsingFlags(Me).weekdayMismatch=true}}function dayOfYearFromWeekInfo(Me){var Bn,Hn,zn,ni,Ci,ts,Ps,aa,oa;Bn=Me._w;if(Bn.GG!=null||Bn.W!=null||Bn.E!=null){Ci=1;ts=4;Hn=defaults(Bn.GG,Me._a[Td],weekOfYear(createLocal(),1,4).year);zn=defaults(Bn.W,1);ni=defaults(Bn.E,1);if(ni<1||ni>7){aa=true}}else{Ci=Me._locale._week.dow;ts=Me._locale._week.doy;oa=weekOfYear(createLocal(),Ci,ts);Hn=defaults(Bn.gg,Me._a[Td],oa.year);zn=defaults(Bn.w,oa.week);if(Bn.d!=null){ni=Bn.d;if(ni<0||ni>6){aa=true}}else if(Bn.e!=null){ni=Bn.e+Ci;if(Bn.e<0||Bn.e>6){aa=true}}else{ni=Ci}}if(zn<1||zn>weeksInYear(Hn,Ci,ts)){getParsingFlags(Me)._overflowWeeks=true}else if(aa!=null){getParsingFlags(Me)._overflowWeekday=true}else{Ps=dayOfYearFromWeeks(Hn,zn,ni,Ci,ts);Me._a[Td]=Ps.year;Me._dayOfYear=Ps.dayOfYear}}hooks.ISO_8601=function(){};hooks.RFC_2822=function(){};function configFromStringAndFormat(Me){if(Me._f===hooks.ISO_8601){configFromISO(Me);return}if(Me._f===hooks.RFC_2822){configFromRFC2822(Me);return}Me._a=[];getParsingFlags(Me).empty=true;var Bn=""+Me._i,Hn,zn,ni,Ci,ts,Ps=Bn.length,oa=0,ca,xa;ni=expandFormat(Me._f,Me._locale).match(aa)||[];xa=ni.length;for(Hn=0;Hn0){getParsingFlags(Me).unusedInput.push(ts)}Bn=Bn.slice(Bn.indexOf(zn)+zn.length);oa+=zn.length}if(_a[Ci]){if(zn){getParsingFlags(Me).empty=false}else{getParsingFlags(Me).unusedTokens.push(Ci)}addTimeToArrayFromToken(Ci,zn,Me)}else if(Me._strict&&!zn){getParsingFlags(Me).unusedTokens.push(Ci)}}getParsingFlags(Me).charsLeftOver=Ps-oa;if(Bn.length>0){getParsingFlags(Me).unusedInput.push(Bn)}if(Me._a[Zh]<=12&&getParsingFlags(Me).bigHour===true&&Me._a[Zh]>0){getParsingFlags(Me).bigHour=undefined}getParsingFlags(Me).parsedDateParts=Me._a.slice(0);getParsingFlags(Me).meridiem=Me._meridiem;Me._a[Zh]=meridiemFixWrap(Me._locale,Me._a[Zh],Me._meridiem);ca=getParsingFlags(Me).era;if(ca!==null){Me._a[Td]=Me._locale.erasConvertYear(ca,Me._a[Td])}configFromArray(Me);checkOverflow(Me)}function meridiemFixWrap(Me,Bn,Hn){var zn;if(Hn==null){return Bn}if(Me.meridiemHour!=null){return Me.meridiemHour(Bn,Hn)}else if(Me.isPM!=null){zn=Me.isPM(Hn);if(zn&&Bn<12){Bn+=12}if(!zn&&Bn===12){Bn=0}return Bn}else{return Bn}}function configFromStringAndArray(Me){var Bn,Hn,zn,ni,Ci,ts,Ps=false,aa=Me._f.length;if(aa===0){getParsingFlags(Me).invalidFormat=true;Me._d=new Date(NaN);return}for(ni=0;nithis?this:Me}else{return createInvalid()}}));function pickBy(Me,Bn){var Hn,zn;if(Bn.length===1&&isArray(Bn[0])){Bn=Bn[0]}if(!Bn.length){return createLocal()}Hn=Bn[0];for(zn=1;znthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function isDaylightSavingTimeShifted(){if(!isUndefined(this._isDSTShifted)){return this._isDSTShifted}var Me={},Bn;copyConfig(Me,this);Me=prepareConfig(Me);if(Me._a){Bn=Me._isUTC?createUTC(Me._a):createLocal(Me._a);this._isDSTShifted=this.isValid()&&compareArrays(Me._a,Bn.toArray())>0}else{this._isDSTShifted=false}return this._isDSTShifted}function isLocal(){return this.isValid()?!this._isUTC:false}function isUtcOffset(){return this.isValid()?this._isUTC:false}function isUtc(){return this.isValid()?this._isUTC&&this._offset===0:false}var Qg=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,Rg=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function createDuration(Me,Bn){var Hn=Me,zn=null,ni,Ci,ts;if(isDuration(Me)){Hn={ms:Me._milliseconds,d:Me._days,M:Me._months}}else if(isNumber(Me)||!isNaN(+Me)){Hn={};if(Bn){Hn[Bn]=+Me}else{Hn.milliseconds=+Me}}else if(zn=Qg.exec(Me)){ni=zn[1]==="-"?-1:1;Hn={y:0,d:toInt(zn[Qh])*ni,h:toInt(zn[Zh])*ni,m:toInt(zn[sA])*ni,s:toInt(zn[oA])*ni,ms:toInt(absRound(zn[hA]*1e3))*ni}}else if(zn=Rg.exec(Me)){ni=zn[1]==="-"?-1:1;Hn={y:parseIso(zn[2],ni),M:parseIso(zn[3],ni),w:parseIso(zn[4],ni),d:parseIso(zn[5],ni),h:parseIso(zn[6],ni),m:parseIso(zn[7],ni),s:parseIso(zn[8],ni)}}else if(Hn==null){Hn={}}else if(typeof Hn==="object"&&("from"in Hn||"to"in Hn)){ts=momentsDifference(createLocal(Hn.from),createLocal(Hn.to));Hn={};Hn.ms=ts.milliseconds;Hn.M=ts.months}Ci=new Duration(Hn);if(isDuration(Me)&&hasOwnProp(Me,"_locale")){Ci._locale=Me._locale}if(isDuration(Me)&&hasOwnProp(Me,"_isValid")){Ci._isValid=Me._isValid}return Ci}createDuration.fn=Duration.prototype;createDuration.invalid=createInvalid$1;function parseIso(Me,Bn){var Hn=Me&&parseFloat(Me.replace(",","."));return(isNaN(Hn)?0:Hn)*Bn}function positiveMomentsDifference(Me,Bn){var Hn={};Hn.months=Bn.month()-Me.month()+(Bn.year()-Me.year())*12;if(Me.clone().add(Hn.months,"M").isAfter(Bn)){--Hn.months}Hn.milliseconds=+Bn-+Me.clone().add(Hn.months,"M");return Hn}function momentsDifference(Me,Bn){var Hn;if(!(Me.isValid()&&Bn.isValid())){return{milliseconds:0,months:0}}Bn=cloneWithOffset(Bn,Me);if(Me.isBefore(Bn)){Hn=positiveMomentsDifference(Me,Bn)}else{Hn=positiveMomentsDifference(Bn,Me);Hn.milliseconds=-Hn.milliseconds;Hn.months=-Hn.months}return Hn}function createAdder(Me,Bn){return function(Hn,zn){var ni,Ci;if(zn!==null&&!isNaN(+zn)){deprecateSimple(Bn,"moment()."+Bn+"(period, number) is deprecated. Please use moment()."+Bn+"(number, period). "+"See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.");Ci=Hn;Hn=zn;zn=Ci}ni=createDuration(Hn,zn);addSubtract(this,ni,Me);return this}}function addSubtract(Me,Bn,Hn,zn){var ni=Bn._milliseconds,Ci=absRound(Bn._days),ts=absRound(Bn._months);if(!Me.isValid()){return}zn=zn==null?true:zn;if(ts){setMonth(Me,get(Me,"Month")+ts*Hn)}if(Ci){set$1(Me,"Date",get(Me,"Date")+Ci*Hn)}if(ni){Me._d.setTime(Me._d.valueOf()+ni*Hn)}if(zn){hooks.updateOffset(Me,Ci||ts)}}var Pg=createAdder(1,"add"),Og=createAdder(-1,"subtract");function isString(Me){return typeof Me==="string"||Me instanceof String}function isMomentInput(Me){return isMoment(Me)||isDate(Me)||isString(Me)||isNumber(Me)||isNumberOrStringArray(Me)||isMomentInputObject(Me)||Me===null||Me===undefined}function isMomentInputObject(Me){var Bn=isObject(Me)&&!isObjectEmpty(Me),Hn=false,zn=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],ni,Ci,ts=zn.length;for(ni=0;niHn.valueOf()}else{return Hn.valueOf()9999){return formatMoment(Hn,Bn?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ")}if(isFunction(Date.prototype.toISOString)){if(Bn){return this.toDate().toISOString()}else{return new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",formatMoment(Hn,"Z"))}}return formatMoment(Hn,Bn?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function inspect(){if(!this.isValid()){return"moment.invalid(/* "+this._i+" */)"}var Me="moment",Bn="",Hn,zn,ni,Ci;if(!this.isLocal()){Me=this.utcOffset()===0?"moment.utc":"moment.parseZone";Bn="Z"}Hn="["+Me+'("]';zn=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY";ni="-MM-DD[T]HH:mm:ss.SSS";Ci=Bn+'[")]';return this.format(Hn+zn+ni+Ci)}function format(Me){if(!Me){Me=this.isUtc()?hooks.defaultFormatUtc:hooks.defaultFormat}var Bn=formatMoment(this,Me);return this.localeData().postformat(Bn)}function from(Me,Bn){if(this.isValid()&&(isMoment(Me)&&Me.isValid()||createLocal(Me).isValid())){return createDuration({to:this,from:Me}).locale(this.locale()).humanize(!Bn)}else{return this.localeData().invalidDate()}}function fromNow(Me){return this.from(createLocal(),Me)}function to(Me,Bn){if(this.isValid()&&(isMoment(Me)&&Me.isValid()||createLocal(Me).isValid())){return createDuration({from:this,to:Me}).locale(this.locale()).humanize(!Bn)}else{return this.localeData().invalidDate()}}function toNow(Me){return this.to(createLocal(),Me)}function locale(Me){var Bn;if(Me===undefined){return this._locale._abbr}else{Bn=getLocale(Me);if(Bn!=null){this._locale=Bn}return this}}var Lg=deprecate("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(Me){if(Me===undefined){return this.localeData()}else{return this.locale(Me)}}));function localeData(){return this._locale}var Mg=1e3,jg=60*Mg,Ug=60*jg,Gg=(365*400+97)*24*Ug;function mod$1(Me,Bn){return(Me%Bn+Bn)%Bn}function localStartOfDate(Me,Bn,Hn){if(Me<100&&Me>=0){return new Date(Me+400,Bn,Hn)-Gg}else{return new Date(Me,Bn,Hn).valueOf()}}function utcStartOfDate(Me,Bn,Hn){if(Me<100&&Me>=0){return Date.UTC(Me+400,Bn,Hn)-Gg}else{return Date.UTC(Me,Bn,Hn)}}function startOf(Me){var Bn,Hn;Me=normalizeUnits(Me);if(Me===undefined||Me==="millisecond"||!this.isValid()){return this}Hn=this._isUTC?utcStartOfDate:localStartOfDate;switch(Me){case"year":Bn=Hn(this.year(),0,1);break;case"quarter":Bn=Hn(this.year(),this.month()-this.month()%3,1);break;case"month":Bn=Hn(this.year(),this.month(),1);break;case"week":Bn=Hn(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":Bn=Hn(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":Bn=Hn(this.year(),this.month(),this.date());break;case"hour":Bn=this._d.valueOf();Bn-=mod$1(Bn+(this._isUTC?0:this.utcOffset()*jg),Ug);break;case"minute":Bn=this._d.valueOf();Bn-=mod$1(Bn,jg);break;case"second":Bn=this._d.valueOf();Bn-=mod$1(Bn,Mg);break}this._d.setTime(Bn);hooks.updateOffset(this,true);return this}function endOf(Me){var Bn,Hn;Me=normalizeUnits(Me);if(Me===undefined||Me==="millisecond"||!this.isValid()){return this}Hn=this._isUTC?utcStartOfDate:localStartOfDate;switch(Me){case"year":Bn=Hn(this.year()+1,0,1)-1;break;case"quarter":Bn=Hn(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":Bn=Hn(this.year(),this.month()+1,1)-1;break;case"week":Bn=Hn(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":Bn=Hn(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":Bn=Hn(this.year(),this.month(),this.date()+1)-1;break;case"hour":Bn=this._d.valueOf();Bn+=Ug-mod$1(Bn+(this._isUTC?0:this.utcOffset()*jg),Ug)-1;break;case"minute":Bn=this._d.valueOf();Bn+=jg-mod$1(Bn,jg)-1;break;case"second":Bn=this._d.valueOf();Bn+=Mg-mod$1(Bn,Mg)-1;break}this._d.setTime(Bn);hooks.updateOffset(this,true);return this}function valueOf(){return this._d.valueOf()-(this._offset||0)*6e4}function unix(){return Math.floor(this.valueOf()/1e3)}function toDate(){return new Date(this.valueOf())}function toArray(){var Me=this;return[Me.year(),Me.month(),Me.date(),Me.hour(),Me.minute(),Me.second(),Me.millisecond()]}function toObject(){var Me=this;return{years:Me.year(),months:Me.month(),date:Me.date(),hours:Me.hours(),minutes:Me.minutes(),seconds:Me.seconds(),milliseconds:Me.milliseconds()}}function toJSON(){return this.isValid()?this.toISOString():null}function isValid$2(){return isValid(this)}function parsingFlags(){return extend({},getParsingFlags(this))}function invalidAt(){return getParsingFlags(this).overflow}function creationData(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}addFormatToken("N",0,0,"eraAbbr");addFormatToken("NN",0,0,"eraAbbr");addFormatToken("NNN",0,0,"eraAbbr");addFormatToken("NNNN",0,0,"eraName");addFormatToken("NNNNN",0,0,"eraNarrow");addFormatToken("y",["y",1],"yo","eraYear");addFormatToken("y",["yy",2],0,"eraYear");addFormatToken("y",["yyy",3],0,"eraYear");addFormatToken("y",["yyyy",4],0,"eraYear");addRegexToken("N",matchEraAbbr);addRegexToken("NN",matchEraAbbr);addRegexToken("NNN",matchEraAbbr);addRegexToken("NNNN",matchEraName);addRegexToken("NNNNN",matchEraNarrow);addParseToken(["N","NN","NNN","NNNN","NNNNN"],(function(Me,Bn,Hn,zn){var ni=Hn._locale.erasParse(Me,zn,Hn._strict);if(ni){getParsingFlags(Hn).era=ni}else{getParsingFlags(Hn).invalidEra=Me}}));addRegexToken("y",zp);addRegexToken("yy",zp);addRegexToken("yyy",zp);addRegexToken("yyyy",zp);addRegexToken("yo",matchEraYearOrdinal);addParseToken(["y","yy","yyy","yyyy"],Td);addParseToken(["yo"],(function(Me,Bn,Hn,zn){var ni;if(Hn._locale._eraYearOrdinalRegex){ni=Me.match(Hn._locale._eraYearOrdinalRegex)}if(Hn._locale.eraYearOrdinalParse){Bn[Td]=Hn._locale.eraYearOrdinalParse(Me,ni)}else{Bn[Td]=parseInt(Me,10)}}));function localeEras(Me,Bn){var Hn,zn,ni,Ci=this._eras||getLocale("en")._eras;for(Hn=0,zn=Ci.length;Hn=0){return Ci[zn]}}}function localeErasConvertYear(Me,Bn){var Hn=Me.since<=Me.until?+1:-1;if(Bn===undefined){return hooks(Me.since).year()}else{return hooks(Me.since).year()+(Bn-Me.offset)*Hn}}function getEraName(){var Me,Bn,Hn,zn=this.localeData().eras();for(Me=0,Bn=zn.length;MeCi){Bn=Ci}return setWeekAll.call(this,Me,Bn,Hn,zn,ni)}}function setWeekAll(Me,Bn,Hn,zn,ni){var Ci=dayOfYearFromWeeks(Me,Bn,Hn,zn,ni),ts=createUTCDate(Ci.year,0,Ci.dayOfYear);this.year(ts.getUTCFullYear());this.month(ts.getUTCMonth());this.date(ts.getUTCDate());return this}addFormatToken("Q",0,"Qo","quarter");addRegexToken("Q",dc);addParseToken("Q",(function(Me,Bn){Bn[Pd]=(toInt(Me)-1)*3}));function getSetQuarter(Me){return Me==null?Math.ceil((this.month()+1)/3):this.month((Me-1)*3+this.month()%3)}addFormatToken("D",["DD",2],"Do","date");addRegexToken("D",Qp,Cd);addRegexToken("DD",Qp,Fc);addRegexToken("Do",(function(Me,Bn){return Me?Bn._dayOfMonthOrdinalParse||Bn._ordinalParse:Bn._dayOfMonthOrdinalParseLenient}));addParseToken(["D","DD"],Qh);addParseToken("Do",(function(Me,Bn){Bn[Qh]=toInt(Me.match(Qp)[0])}));var Vg=makeGetSet("Date",true);addFormatToken("DDD",["DDDD",3],"DDDo","dayOfYear");addRegexToken("DDD",qp);addRegexToken("DDDD",Jc);addParseToken(["DDD","DDDD"],(function(Me,Bn,Hn){Hn._dayOfYear=toInt(Me)}));function getSetDayOfYear(Me){var Bn=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return Me==null?Bn:this.add(Me-Bn,"d")}addFormatToken("m",["mm",2],0,"minute");addRegexToken("m",Qp,wd);addRegexToken("mm",Qp,Fc);addParseToken(["m","mm"],sA);var Hg=makeGetSet("Minutes",false);addFormatToken("s",["ss",2],0,"second");addRegexToken("s",Qp,wd);addRegexToken("ss",Qp,Fc);addParseToken(["s","ss"],oA);var qg=makeGetSet("Seconds",false);addFormatToken("S",0,0,(function(){return~~(this.millisecond()/100)}));addFormatToken(0,["SS",2],0,(function(){return~~(this.millisecond()/10)}));addFormatToken(0,["SSS",3],0,"millisecond");addFormatToken(0,["SSSS",4],0,(function(){return this.millisecond()*10}));addFormatToken(0,["SSSSS",5],0,(function(){return this.millisecond()*100}));addFormatToken(0,["SSSSSS",6],0,(function(){return this.millisecond()*1e3}));addFormatToken(0,["SSSSSSS",7],0,(function(){return this.millisecond()*1e4}));addFormatToken(0,["SSSSSSSS",8],0,(function(){return this.millisecond()*1e5}));addFormatToken(0,["SSSSSSSSS",9],0,(function(){return this.millisecond()*1e6}));addRegexToken("S",qp,dc);addRegexToken("SS",qp,Fc);addRegexToken("SSS",qp,Jc);var Jg,$g;for(Jg="SSSS";Jg.length<=9;Jg+="S"){addRegexToken(Jg,zp)}function parseMs(Me,Bn){Bn[hA]=toInt(("0."+Me)*1e3)}for(Jg="S";Jg.length<=9;Jg+="S"){addParseToken(Jg,parseMs)}$g=makeGetSet("Milliseconds",false);addFormatToken("z",0,0,"zoneAbbr");addFormatToken("zz",0,0,"zoneName");function getZoneAbbr(){return this._isUTC?"UTC":""}function getZoneName(){return this._isUTC?"Coordinated Universal Time":""}var Yg=Moment.prototype;Yg.add=Pg;Yg.calendar=calendar$1;Yg.clone=clone;Yg.diff=diff;Yg.endOf=endOf;Yg.format=format;Yg.from=from;Yg.fromNow=fromNow;Yg.to=to;Yg.toNow=toNow;Yg.get=stringGet;Yg.invalidAt=invalidAt;Yg.isAfter=isAfter;Yg.isBefore=isBefore;Yg.isBetween=isBetween;Yg.isSame=isSame;Yg.isSameOrAfter=isSameOrAfter;Yg.isSameOrBefore=isSameOrBefore;Yg.isValid=isValid$2;Yg.lang=Lg;Yg.locale=locale;Yg.localeData=localeData;Yg.max=Tg;Yg.min=Bg;Yg.parsingFlags=parsingFlags;Yg.set=stringSet;Yg.startOf=startOf;Yg.subtract=Og;Yg.toArray=toArray;Yg.toObject=toObject;Yg.toDate=toDate;Yg.toISOString=toISOString;Yg.inspect=inspect;if(typeof Symbol!=="undefined"&&Symbol.for!=null){Yg[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}}Yg.toJSON=toJSON;Yg.toString=toString;Yg.unix=unix;Yg.valueOf=valueOf;Yg.creationData=creationData;Yg.eraName=getEraName;Yg.eraNarrow=getEraNarrow;Yg.eraAbbr=getEraAbbr;Yg.eraYear=getEraYear;Yg.year=rg;Yg.isLeapYear=getIsLeapYear;Yg.weekYear=getSetWeekYear;Yg.isoWeekYear=getSetISOWeekYear;Yg.quarter=Yg.quarters=getSetQuarter;Yg.month=getSetMonth;Yg.daysInMonth=getDaysInMonth;Yg.week=Yg.weeks=getSetWeek;Yg.isoWeek=Yg.isoWeeks=getSetISOWeek;Yg.weeksInYear=getWeeksInYear;Yg.weeksInWeekYear=getWeeksInWeekYear;Yg.isoWeeksInYear=getISOWeeksInYear;Yg.isoWeeksInISOWeekYear=getISOWeeksInISOWeekYear;Yg.date=Vg;Yg.day=Yg.days=getSetDayOfWeek;Yg.weekday=getSetLocaleDayOfWeek;Yg.isoWeekday=getSetISODayOfWeek;Yg.dayOfYear=getSetDayOfYear;Yg.hour=Yg.hours=gg;Yg.minute=Yg.minutes=Hg;Yg.second=Yg.seconds=qg;Yg.millisecond=Yg.milliseconds=$g;Yg.utcOffset=getSetOffset;Yg.utc=setOffsetToUTC;Yg.local=setOffsetToLocal;Yg.parseZone=setOffsetToParsedOffset;Yg.hasAlignedHourOffset=hasAlignedHourOffset;Yg.isDST=isDaylightSavingTime;Yg.isLocal=isLocal;Yg.isUtcOffset=isUtcOffset;Yg.isUtc=isUtc;Yg.isUTC=isUtc;Yg.zoneAbbr=getZoneAbbr;Yg.zoneName=getZoneName;Yg.dates=deprecate("dates accessor is deprecated. Use date instead.",Vg);Yg.months=deprecate("months accessor is deprecated. Use month instead",getSetMonth);Yg.years=deprecate("years accessor is deprecated. Use year instead",rg);Yg.zone=deprecate("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",getSetZone);Yg.isDSTShifted=deprecate("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",isDaylightSavingTimeShifted);function createUnix(Me){return createLocal(Me*1e3)}function createInZone(){return createLocal.apply(null,arguments).parseZone()}function preParsePostFormat(Me){return Me}var Wg=Locale.prototype;Wg.calendar=calendar;Wg.longDateFormat=longDateFormat;Wg.invalidDate=invalidDate;Wg.ordinal=ordinal;Wg.preparse=preParsePostFormat;Wg.postformat=preParsePostFormat;Wg.relativeTime=relativeTime;Wg.pastFuture=pastFuture;Wg.set=set;Wg.eras=localeEras;Wg.erasParse=localeErasParse;Wg.erasConvertYear=localeErasConvertYear;Wg.erasAbbrRegex=erasAbbrRegex;Wg.erasNameRegex=erasNameRegex;Wg.erasNarrowRegex=erasNarrowRegex;Wg.months=localeMonths;Wg.monthsShort=localeMonthsShort;Wg.monthsParse=localeMonthsParse;Wg.monthsRegex=monthsRegex;Wg.monthsShortRegex=monthsShortRegex;Wg.week=localeWeek;Wg.firstDayOfYear=localeFirstDayOfYear;Wg.firstDayOfWeek=localeFirstDayOfWeek;Wg.weekdays=localeWeekdays;Wg.weekdaysMin=localeWeekdaysMin;Wg.weekdaysShort=localeWeekdaysShort;Wg.weekdaysParse=localeWeekdaysParse;Wg.weekdaysRegex=weekdaysRegex;Wg.weekdaysShortRegex=weekdaysShortRegex;Wg.weekdaysMinRegex=weekdaysMinRegex;Wg.isPM=localeIsPM;Wg.meridiem=localeMeridiem;function get$1(Me,Bn,Hn,zn){var ni=getLocale(),Ci=createUTC().set(zn,Bn);return ni[Hn](Ci,Me)}function listMonthsImpl(Me,Bn,Hn){if(isNumber(Me)){Bn=Me;Me=undefined}Me=Me||"";if(Bn!=null){return get$1(Me,Bn,Hn,"month")}var zn,ni=[];for(zn=0;zn<12;zn++){ni[zn]=get$1(Me,zn,Hn,"month")}return ni}function listWeekdaysImpl(Me,Bn,Hn,zn){if(typeof Me==="boolean"){if(isNumber(Bn)){Hn=Bn;Bn=undefined}Bn=Bn||""}else{Bn=Me;Hn=Bn;Me=false;if(isNumber(Bn)){Hn=Bn;Bn=undefined}Bn=Bn||""}var ni=getLocale(),Ci=Me?ni._week.dow:0,ts,Ps=[];if(Hn!=null){return get$1(Bn,(Hn+Ci)%7,zn,"day")}for(ts=0;ts<7;ts++){Ps[ts]=get$1(Bn,(ts+Ci)%7,zn,"day")}return Ps}function listMonths(Me,Bn){return listMonthsImpl(Me,Bn,"months")}function listMonthsShort(Me,Bn){return listMonthsImpl(Me,Bn,"monthsShort")}function listWeekdays(Me,Bn,Hn){return listWeekdaysImpl(Me,Bn,Hn,"weekdays")}function listWeekdaysShort(Me,Bn,Hn){return listWeekdaysImpl(Me,Bn,Hn,"weekdaysShort")}function listWeekdaysMin(Me,Bn,Hn){return listWeekdaysImpl(Me,Bn,Hn,"weekdaysMin")}getSetGlobalLocale("en",{eras:[{since:"0001-01-01",until:+Infinity,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-Infinity,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(Me){var Bn=Me%10,Hn=toInt(Me%100/10)===1?"th":Bn===1?"st":Bn===2?"nd":Bn===3?"rd":"th";return Me+Hn}});hooks.lang=deprecate("moment.lang is deprecated. Use moment.locale instead.",getSetGlobalLocale);hooks.langData=deprecate("moment.langData is deprecated. Use moment.localeData instead.",getLocale);var Kg=Math.abs;function abs(){var Me=this._data;this._milliseconds=Kg(this._milliseconds);this._days=Kg(this._days);this._months=Kg(this._months);Me.milliseconds=Kg(Me.milliseconds);Me.seconds=Kg(Me.seconds);Me.minutes=Kg(Me.minutes);Me.hours=Kg(Me.hours);Me.months=Kg(Me.months);Me.years=Kg(Me.years);return this}function addSubtract$1(Me,Bn,Hn,zn){var ni=createDuration(Bn,Hn);Me._milliseconds+=zn*ni._milliseconds;Me._days+=zn*ni._days;Me._months+=zn*ni._months;return Me._bubble()}function add$1(Me,Bn){return addSubtract$1(this,Me,Bn,1)}function subtract$1(Me,Bn){return addSubtract$1(this,Me,Bn,-1)}function absCeil(Me){if(Me<0){return Math.floor(Me)}else{return Math.ceil(Me)}}function bubble(){var Me=this._milliseconds,Bn=this._days,Hn=this._months,zn=this._data,ni,Ci,ts,Ps,aa;if(!(Me>=0&&Bn>=0&&Hn>=0||Me<=0&&Bn<=0&&Hn<=0)){Me+=absCeil(monthsToDays(Hn)+Bn)*864e5;Bn=0;Hn=0}zn.milliseconds=Me%1e3;ni=absFloor(Me/1e3);zn.seconds=ni%60;Ci=absFloor(ni/60);zn.minutes=Ci%60;ts=absFloor(Ci/60);zn.hours=ts%24;Bn+=absFloor(ts/24);aa=absFloor(daysToMonths(Bn));Hn+=aa;Bn-=absCeil(monthsToDays(aa));Ps=absFloor(Hn/12);Hn%=12;zn.days=Bn;zn.months=Hn;zn.years=Ps;return this}function daysToMonths(Me){return Me*4800/146097}function monthsToDays(Me){return Me*146097/4800}function as(Me){if(!this.isValid()){return NaN}var Bn,Hn,zn=this._milliseconds;Me=normalizeUnits(Me);if(Me==="month"||Me==="quarter"||Me==="year"){Bn=this._days+zn/864e5;Hn=this._months+daysToMonths(Bn);switch(Me){case"month":return Hn;case"quarter":return Hn/3;case"year":return Hn/12}}else{Bn=this._days+Math.round(monthsToDays(this._months));switch(Me){case"week":return Bn/7+zn/6048e5;case"day":return Bn+zn/864e5;case"hour":return Bn*24+zn/36e5;case"minute":return Bn*1440+zn/6e4;case"second":return Bn*86400+zn/1e3;case"millisecond":return Math.floor(Bn*864e5)+zn;default:throw new Error("Unknown unit "+Me)}}}function makeAs(Me){return function(){return this.as(Me)}}var zg=makeAs("ms"),Xg=makeAs("s"),Zg=makeAs("m"),f_=makeAs("h"),Z_=makeAs("d"),ey=makeAs("w"),ty=makeAs("M"),ry=makeAs("Q"),ny=makeAs("y"),iy=zg;function clone$1(){return createDuration(this)}function get$2(Me){Me=normalizeUnits(Me);return this.isValid()?this[Me+"s"]():NaN}function makeGetter(Me){return function(){return this.isValid()?this._data[Me]:NaN}}var py=makeGetter("milliseconds"),fy=makeGetter("seconds"),Ty=makeGetter("minutes"),Gy=makeGetter("hours"),Vy=makeGetter("days"),Hy=makeGetter("months"),Av=makeGetter("years");function weeks(){return absFloor(this.days()/7)}var vv=Math.round,Ev={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function substituteTimeAgo(Me,Bn,Hn,zn,ni){return ni.relativeTime(Bn||1,!!Hn,Me,zn)}function relativeTime$1(Me,Bn,Hn,zn){var ni=createDuration(Me).abs(),Ci=vv(ni.as("s")),ts=vv(ni.as("m")),Ps=vv(ni.as("h")),aa=vv(ni.as("d")),oa=vv(ni.as("M")),ca=vv(ni.as("w")),_a=vv(ni.as("y")),xa=Ci<=Hn.ss&&["s",Ci]||Ci0;xa[4]=zn;return substituteTimeAgo.apply(null,xa)}function getSetRelativeTimeRounding(Me){if(Me===undefined){return vv}if(typeof Me==="function"){vv=Me;return true}return false}function getSetRelativeTimeThreshold(Me,Bn){if(Ev[Me]===undefined){return false}if(Bn===undefined){return Ev[Me]}Ev[Me]=Bn;if(Me==="s"){Ev.ss=Bn-1}return true}function humanize(Me,Bn){if(!this.isValid()){return this.localeData().invalidDate()}var Hn=false,zn=Ev,ni,Ci;if(typeof Me==="object"){Bn=Me;Me=false}if(typeof Me==="boolean"){Hn=Me}if(typeof Bn==="object"){zn=Object.assign({},Ev,Bn);if(Bn.s!=null&&Bn.ss==null){zn.ss=Bn.s-1}}ni=this.localeData();Ci=relativeTime$1(this,!Hn,zn,ni);if(Hn){Ci=ni.pastFuture(+this,Ci)}return ni.postformat(Ci)}var bv=Math.abs;function sign(Me){return(Me>0)-(Me<0)||+Me}function toISOString$1(){if(!this.isValid()){return this.localeData().invalidDate()}var Me=bv(this._milliseconds)/1e3,Bn=bv(this._days),Hn=bv(this._months),zn,ni,Ci,ts,Ps=this.asSeconds(),aa,oa,ca,_a;if(!Ps){return"P0D"}zn=absFloor(Me/60);ni=absFloor(zn/60);Me%=60;zn%=60;Ci=absFloor(Hn/12);Hn%=12;ts=Me?Me.toFixed(3).replace(/\.?0+$/,""):"";aa=Ps<0?"-":"";oa=sign(this._months)!==sign(Ps)?"-":"";ca=sign(this._days)!==sign(Ps)?"-":"";_a=sign(this._milliseconds)!==sign(Ps)?"-":"";return aa+"P"+(Ci?oa+Ci+"Y":"")+(Hn?oa+Hn+"M":"")+(Bn?ca+Bn+"D":"")+(ni||zn||Me?"T":"")+(ni?_a+ni+"H":"")+(zn?_a+zn+"M":"")+(Me?_a+ts+"S":"")}var Cv=Duration.prototype;Cv.isValid=isValid$1;Cv.abs=abs;Cv.add=add$1;Cv.subtract=subtract$1;Cv.as=as;Cv.asMilliseconds=zg;Cv.asSeconds=Xg;Cv.asMinutes=Zg;Cv.asHours=f_;Cv.asDays=Z_;Cv.asWeeks=ey;Cv.asMonths=ty;Cv.asQuarters=ry;Cv.asYears=ny;Cv.valueOf=iy;Cv._bubble=bubble;Cv.clone=clone$1;Cv.get=get$2;Cv.milliseconds=py;Cv.seconds=fy;Cv.minutes=Ty;Cv.hours=Gy;Cv.days=Vy;Cv.weeks=weeks;Cv.months=Hy;Cv.years=Av;Cv.humanize=humanize;Cv.toISOString=toISOString$1;Cv.toString=toISOString$1;Cv.toJSON=toISOString$1;Cv.locale=locale;Cv.localeData=localeData;Cv.toIsoString=deprecate("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",toISOString$1);Cv.lang=Lg;addFormatToken("X",0,0,"unix");addFormatToken("x",0,0,"valueOf");addRegexToken("x",Qf);addRegexToken("X",Xf);addParseToken("X",(function(Me,Bn,Hn){Hn._d=new Date(parseFloat(Me)*1e3)}));addParseToken("x",(function(Me,Bn,Hn){Hn._d=new Date(toInt(Me))})); //! moment.js -hooks.version="2.30.1";setHookCallback(createLocal);hooks.fn=Yg;hooks.min=min;hooks.max=max;hooks.now=now;hooks.utc=createUTC;hooks.unix=createUnix;hooks.months=listMonths;hooks.isDate=isDate;hooks.locale=getSetGlobalLocale;hooks.invalid=createInvalid;hooks.duration=createDuration;hooks.isMoment=isMoment;hooks.weekdays=listWeekdays;hooks.parseZone=createInZone;hooks.localeData=getLocale;hooks.isDuration=isDuration;hooks.monthsShort=listMonthsShort;hooks.weekdaysMin=listWeekdaysMin;hooks.defineLocale=defineLocale;hooks.updateLocale=updateLocale;hooks.locales=listLocales;hooks.weekdaysShort=listWeekdaysShort;hooks.normalizeUnits=normalizeUnits;hooks.relativeTimeRounding=getSetRelativeTimeRounding;hooks.relativeTimeThreshold=getSetRelativeTimeThreshold;hooks.calendarFormat=getCalendarFormat;hooks.prototype=Yg;hooks.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"};return hooks}))},70744:Me=>{var Bn=1e3;var Hn=Bn*60;var zn=Hn*60;var ni=zn*24;var Ci=ni*7;var ts=ni*365.25;Me.exports=function(Me,Bn){Bn=Bn||{};var Hn=typeof Me;if(Hn==="string"&&Me.length>0){return parse(Me)}else if(Hn==="number"&&isFinite(Me)){return Bn.long?fmtLong(Me):fmtShort(Me)}throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(Me))};function parse(Me){Me=String(Me);if(Me.length>100){return}var Ps=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(Me);if(!Ps){return}var aa=parseFloat(Ps[1]);var oa=(Ps[2]||"ms").toLowerCase();switch(oa){case"years":case"year":case"yrs":case"yr":case"y":return aa*ts;case"weeks":case"week":case"w":return aa*Ci;case"days":case"day":case"d":return aa*ni;case"hours":case"hour":case"hrs":case"hr":case"h":return aa*zn;case"minutes":case"minute":case"mins":case"min":case"m":return aa*Hn;case"seconds":case"second":case"secs":case"sec":case"s":return aa*Bn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return aa;default:return undefined}}function fmtShort(Me){var Ci=Math.abs(Me);if(Ci>=ni){return Math.round(Me/ni)+"d"}if(Ci>=zn){return Math.round(Me/zn)+"h"}if(Ci>=Hn){return Math.round(Me/Hn)+"m"}if(Ci>=Bn){return Math.round(Me/Bn)+"s"}return Me+"ms"}function fmtLong(Me){var Ci=Math.abs(Me);if(Ci>=ni){return plural(Me,Ci,ni,"day")}if(Ci>=zn){return plural(Me,Ci,zn,"hour")}if(Ci>=Hn){return plural(Me,Ci,Hn,"minute")}if(Ci>=Bn){return plural(Me,Ci,Bn,"second")}return Me+" ms"}function plural(Me,Bn,Hn,zn){var ni=Bn>=Hn*1.5;return Math.round(Me/Hn)+" "+zn+(ni?"s":"")}},18115:(Me,Bn,Hn)=>{"use strict";var zn=Hn(97853);var ni=Hn(14499),Ci=ni.Environment,ts=ni.Template;var Ps=Hn(43391);var aa=Hn(2650);var oa=Hn(84586);var ca=Hn(8993);var _a=Hn(715);var xa=Hn(38852);var Ga=Hn(69846);var Ha=Hn(16151);var so=Hn(50085);var oo;function configure(Me,Bn){Bn=Bn||{};if(zn.isObject(Me)){Bn=Me;Me=null}var Hn;if(aa.FileSystemLoader){Hn=new aa.FileSystemLoader(Me,{watch:Bn.watch,noCache:Bn.noCache})}else if(aa.WebLoader){Hn=new aa.WebLoader(Me,{useCache:Bn.web&&Bn.web.useCache,async:Bn.web&&Bn.web.async})}oo=new Ci(Hn,Bn);if(Bn&&Bn.express){oo.express(Bn.express)}return oo}Me.exports={Environment:Ci,Template:ts,Loader:Ps,FileSystemLoader:aa.FileSystemLoader,NodeResolveLoader:aa.NodeResolveLoader,PrecompiledLoader:aa.PrecompiledLoader,WebLoader:aa.WebLoader,compiler:ca,parser:_a,lexer:xa,runtime:Ga,lib:zn,nodes:Ha,installJinjaCompat:so,configure:configure,reset:function reset(){oo=undefined},compile:function compile(Me,Bn,Hn,zn){if(!oo){configure()}return new ts(Me,Bn,Hn,zn)},render:function render(Me,Bn,Hn){if(!oo){configure()}return oo.render(Me,Bn,Hn)},renderString:function renderString(Me,Bn,Hn){if(!oo){configure()}return oo.renderString(Me,Bn,Hn)},precompile:oa?oa.precompile:undefined,precompileString:oa?oa.precompileString:undefined}},8993:(Me,Bn,Hn)=>{"use strict";function _inheritsLoose(Me,Bn){Me.prototype=Object.create(Bn.prototype);Me.prototype.constructor=Me;_setPrototypeOf(Me,Bn)}function _setPrototypeOf(Me,Bn){_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(Me,Bn){Me.__proto__=Bn;return Me};return _setPrototypeOf(Me,Bn)}var zn=Hn(715);var ni=Hn(76297);var Ci=Hn(16151);var ts=Hn(97853),Ps=ts.TemplateError;var aa=Hn(69846),oa=aa.Frame;var ca=Hn(79695),_a=ca.Obj;var xa={"==":"==","===":"===","!=":"!=","!==":"!==","<":"<",">":">","<=":"<=",">=":">="};var Ga=function(Me){_inheritsLoose(Compiler,Me);function Compiler(){return Me.apply(this,arguments)||this}var Bn=Compiler.prototype;Bn.init=function init(Me,Bn){this.templateName=Me;this.codebuf=[];this.lastId=0;this.buffer=null;this.bufferStack=[];this._scopeClosers="";this.inBlock=false;this.throwOnUndefined=Bn};Bn.fail=function fail(Me,Bn,Hn){if(Bn!==undefined){Bn+=1}if(Hn!==undefined){Hn+=1}throw new Ps(Me,Bn,Hn)};Bn._pushBuffer=function _pushBuffer(){var Me=this._tmpid();this.bufferStack.push(this.buffer);this.buffer=Me;this._emit("var "+this.buffer+' = "";');return Me};Bn._popBuffer=function _popBuffer(){this.buffer=this.bufferStack.pop()};Bn._emit=function _emit(Me){this.codebuf.push(Me)};Bn._emitLine=function _emitLine(Me){this._emit(Me+"\n")};Bn._emitLines=function _emitLines(){var Me=this;for(var Bn=arguments.length,Hn=new Array(Bn),zn=0;zn0){ni._emit(",")}ni.compile(Me,Bn)}));if(zn){this._emit(zn)}};Bn._compileExpression=function _compileExpression(Me,Bn){this.assertType(Me,Ci.Literal,Ci.Symbol,Ci.Group,Ci.Array,Ci.Dict,Ci.FunCall,Ci.Caller,Ci.Filter,Ci.LookupVal,Ci.Compare,Ci.InlineIf,Ci.In,Ci.Is,Ci.And,Ci.Or,Ci.Not,Ci.Add,Ci.Concat,Ci.Sub,Ci.Mul,Ci.Div,Ci.FloorDiv,Ci.Mod,Ci.Pow,Ci.Neg,Ci.Pos,Ci.Compare,Ci.NodeList);this.compile(Me,Bn)};Bn.assertType=function assertType(Me){for(var Bn=arguments.length,Hn=new Array(Bn>1?Bn-1:0),zn=1;zn0){zn._emit(",")}if(Me){zn._emitLine("function(cb) {");zn._emitLine("if(!cb) { cb = function(err) { if(err) { throw err; }}}");var ni=zn._pushBuffer();zn._withScopedSyntax((function(){zn.compile(Me,Bn);zn._emitLine("cb(null, "+ni+");")}));zn._popBuffer();zn._emitLine("return "+ni+";");zn._emitLine("}")}else{zn._emit("null")}}))}if(Hn){var aa=this._tmpid();this._emitLine(", "+this._makeCallback(aa));this._emitLine(this.buffer+" += runtime.suppressValue("+aa+", "+Ps+" && env.opts.autoescape);");this._addScopeLevel()}else{this._emit(")");this._emit(", "+Ps+" && env.opts.autoescape);\n")}};Bn.compileCallExtensionAsync=function compileCallExtensionAsync(Me,Bn){this.compileCallExtension(Me,Bn,true)};Bn.compileNodeList=function compileNodeList(Me,Bn){this._compileChildren(Me,Bn)};Bn.compileLiteral=function compileLiteral(Me){if(typeof Me.value==="string"){var Bn=Me.value.replace(/\\/g,"\\\\");Bn=Bn.replace(/"/g,'\\"');Bn=Bn.replace(/\n/g,"\\n");Bn=Bn.replace(/\r/g,"\\r");Bn=Bn.replace(/\t/g,"\\t");Bn=Bn.replace(/\u2028/g,"\\u2028");this._emit('"'+Bn+'"')}else if(Me.value===null){this._emit("null")}else{this._emit(Me.value.toString())}};Bn.compileSymbol=function compileSymbol(Me,Bn){var Hn=Me.value;var zn=Bn.lookup(Hn);if(zn){this._emit(zn)}else{this._emit("runtime.contextOrFrameLookup("+'context, frame, "'+Hn+'")')}};Bn.compileGroup=function compileGroup(Me,Bn){this._compileAggregate(Me,Bn,"(",")")};Bn.compileArray=function compileArray(Me,Bn){this._compileAggregate(Me,Bn,"[","]")};Bn.compileDict=function compileDict(Me,Bn){this._compileAggregate(Me,Bn,"{","}")};Bn.compilePair=function compilePair(Me,Bn){var Hn=Me.key;var zn=Me.value;if(Hn instanceof Ci.Symbol){Hn=new Ci.Literal(Hn.lineno,Hn.colno,Hn.value)}else if(!(Hn instanceof Ci.Literal&&typeof Hn.value==="string")){this.fail("compilePair: Dict keys must be strings or names",Hn.lineno,Hn.colno)}this.compile(Hn,Bn);this._emit(": ");this._compileExpression(zn,Bn)};Bn.compileInlineIf=function compileInlineIf(Me,Bn){this._emit("(");this.compile(Me.cond,Bn);this._emit("?");this.compile(Me.body,Bn);this._emit(":");if(Me.else_!==null){this.compile(Me.else_,Bn)}else{this._emit('""')}this._emit(")")};Bn.compileIn=function compileIn(Me,Bn){this._emit("runtime.inOperator(");this.compile(Me.left,Bn);this._emit(",");this.compile(Me.right,Bn);this._emit(")")};Bn.compileIs=function compileIs(Me,Bn){var Hn=Me.right.name?Me.right.name.value:Me.right.value;this._emit('env.getTest("'+Hn+'").call(context, ');this.compile(Me.left,Bn);if(Me.right.args){this._emit(",");this.compile(Me.right.args,Bn)}this._emit(") === true")};Bn._binOpEmitter=function _binOpEmitter(Me,Bn,Hn){this.compile(Me.left,Bn);this._emit(Hn);this.compile(Me.right,Bn)};Bn.compileOr=function compileOr(Me,Bn){return this._binOpEmitter(Me,Bn," || ")};Bn.compileAnd=function compileAnd(Me,Bn){return this._binOpEmitter(Me,Bn," && ")};Bn.compileAdd=function compileAdd(Me,Bn){return this._binOpEmitter(Me,Bn," + ")};Bn.compileConcat=function compileConcat(Me,Bn){return this._binOpEmitter(Me,Bn,' + "" + ')};Bn.compileSub=function compileSub(Me,Bn){return this._binOpEmitter(Me,Bn," - ")};Bn.compileMul=function compileMul(Me,Bn){return this._binOpEmitter(Me,Bn," * ")};Bn.compileDiv=function compileDiv(Me,Bn){return this._binOpEmitter(Me,Bn," / ")};Bn.compileMod=function compileMod(Me,Bn){return this._binOpEmitter(Me,Bn," % ")};Bn.compileNot=function compileNot(Me,Bn){this._emit("!");this.compile(Me.target,Bn)};Bn.compileFloorDiv=function compileFloorDiv(Me,Bn){this._emit("Math.floor(");this.compile(Me.left,Bn);this._emit(" / ");this.compile(Me.right,Bn);this._emit(")")};Bn.compilePow=function compilePow(Me,Bn){this._emit("Math.pow(");this.compile(Me.left,Bn);this._emit(", ");this.compile(Me.right,Bn);this._emit(")")};Bn.compileNeg=function compileNeg(Me,Bn){this._emit("-");this.compile(Me.target,Bn)};Bn.compilePos=function compilePos(Me,Bn){this._emit("+");this.compile(Me.target,Bn)};Bn.compileCompare=function compileCompare(Me,Bn){var Hn=this;this.compile(Me.expr,Bn);Me.ops.forEach((function(Me){Hn._emit(" "+xa[Me.type]+" ");Hn.compile(Me.expr,Bn)}))};Bn.compileLookupVal=function compileLookupVal(Me,Bn){this._emit("runtime.memberLookup((");this._compileExpression(Me.target,Bn);this._emit("),");this._compileExpression(Me.val,Bn);this._emit(")")};Bn._getNodeName=function _getNodeName(Me){switch(Me.typename){case"Symbol":return Me.value;case"FunCall":return"the return value of ("+this._getNodeName(Me.name)+")";case"LookupVal":return this._getNodeName(Me.target)+'["'+this._getNodeName(Me.val)+'"]';case"Literal":return Me.value.toString();default:return"--expression--"}};Bn.compileFunCall=function compileFunCall(Me,Bn){this._emit("(lineno = "+Me.lineno+", colno = "+Me.colno+", ");this._emit("runtime.callWrap(");this._compileExpression(Me.name,Bn);this._emit(', "'+this._getNodeName(Me.name).replace(/"/g,'\\"')+'", context, ');this._compileAggregate(Me.args,Bn,"[","])");this._emit(")")};Bn.compileFilter=function compileFilter(Me,Bn){var Hn=Me.name;this.assertType(Hn,Ci.Symbol);this._emit('env.getFilter("'+Hn.value+'").call(context, ');this._compileAggregate(Me.args,Bn);this._emit(")")};Bn.compileFilterAsync=function compileFilterAsync(Me,Bn){var Hn=Me.name;var zn=Me.symbol.value;this.assertType(Hn,Ci.Symbol);Bn.set(zn,zn);this._emit('env.getFilter("'+Hn.value+'").call(context, ');this._compileAggregate(Me.args,Bn);this._emitLine(", "+this._makeCallback(zn));this._addScopeLevel()};Bn.compileKeywordArgs=function compileKeywordArgs(Me,Bn){this._emit("runtime.makeKeywordArgs(");this.compileDict(Me,Bn);this._emit(")")};Bn.compileSet=function compileSet(Me,Bn){var Hn=this;var zn=[];Me.targets.forEach((function(Me){var ni=Me.value;var Ci=Bn.lookup(ni);if(Ci===null||Ci===undefined){Ci=Hn._tmpid();Hn._emitLine("var "+Ci+";")}zn.push(Ci)}));if(Me.value){this._emit(zn.join(" = ")+" = ");this._compileExpression(Me.value,Bn);this._emitLine(";")}else{this._emit(zn.join(" = ")+" = ");this.compile(Me.body,Bn);this._emitLine(";")}Me.targets.forEach((function(Me,Bn){var ni=zn[Bn];var Ci=Me.value;Hn._emitLine('frame.set("'+Ci+'", '+ni+", true);");Hn._emitLine("if(frame.topLevel) {");Hn._emitLine('context.setVariable("'+Ci+'", '+ni+");");Hn._emitLine("}");if(Ci.charAt(0)!=="_"){Hn._emitLine("if(frame.topLevel) {");Hn._emitLine('context.addExport("'+Ci+'", '+ni+");");Hn._emitLine("}")}}))};Bn.compileSwitch=function compileSwitch(Me,Bn){var Hn=this;this._emit("switch (");this.compile(Me.expr,Bn);this._emit(") {");Me.cases.forEach((function(Me,zn){Hn._emit("case ");Hn.compile(Me.cond,Bn);Hn._emit(": ");Hn.compile(Me.body,Bn);if(Me.body.children.length){Hn._emitLine("break;")}}));if(Me.default){this._emit("default:");this.compile(Me.default,Bn)}this._emit("}")};Bn.compileIf=function compileIf(Me,Bn,Hn){var zn=this;this._emit("if(");this._compileExpression(Me.cond,Bn);this._emitLine(") {");this._withScopedSyntax((function(){zn.compile(Me.body,Bn);if(Hn){zn._emit("cb()")}}));if(Me.else_){this._emitLine("}\nelse {");this._withScopedSyntax((function(){zn.compile(Me.else_,Bn);if(Hn){zn._emit("cb()")}}))}else if(Hn){this._emitLine("}\nelse {");this._emit("cb()")}this._emitLine("}")};Bn.compileIfAsync=function compileIfAsync(Me,Bn){this._emit("(function(cb) {");this.compileIf(Me,Bn,true);this._emit("})("+this._makeCallback());this._addScopeLevel()};Bn._emitLoopBindings=function _emitLoopBindings(Me,Bn,Hn,zn){var ni=this;var Ci=[{name:"index",val:Hn+" + 1"},{name:"index0",val:Hn},{name:"revindex",val:zn+" - "+Hn},{name:"revindex0",val:zn+" - "+Hn+" - 1"},{name:"first",val:Hn+" === 0"},{name:"last",val:Hn+" === "+zn+" - 1"},{name:"length",val:zn}];Ci.forEach((function(Me){ni._emitLine('frame.set("loop.'+Me.name+'", '+Me.val+");")}))};Bn.compileFor=function compileFor(Me,Bn){var Hn=this;var zn=this._tmpid();var ni=this._tmpid();var ts=this._tmpid();Bn=Bn.push();this._emitLine("frame = frame.push();");this._emit("var "+ts+" = ");this._compileExpression(Me.arr,Bn);this._emitLine(";");this._emit("if("+ts+") {");this._emitLine(ts+" = runtime.fromIterator("+ts+");");if(Me.name instanceof Ci.Array){this._emitLine("var "+zn+";");this._emitLine("if(runtime.isArray("+ts+")) {");this._emitLine("var "+ni+" = "+ts+".length;");this._emitLine("for("+zn+"=0; "+zn+" < "+ts+".length; "+zn+"++) {");Me.name.children.forEach((function(ni,Ci){var Ps=Hn._tmpid();Hn._emitLine("var "+Ps+" = "+ts+"["+zn+"]["+Ci+"];");Hn._emitLine('frame.set("'+ni+'", '+ts+"["+zn+"]["+Ci+"]);");Bn.set(Me.name.children[Ci].value,Ps)}));this._emitLoopBindings(Me,ts,zn,ni);this._withScopedSyntax((function(){Hn.compile(Me.body,Bn)}));this._emitLine("}");this._emitLine("} else {");var Ps=Me.name.children,aa=Ps[0],oa=Ps[1];var ca=this._tmpid();var _a=this._tmpid();Bn.set(aa.value,ca);Bn.set(oa.value,_a);this._emitLine(zn+" = -1;");this._emitLine("var "+ni+" = runtime.keys("+ts+").length;");this._emitLine("for(var "+ca+" in "+ts+") {");this._emitLine(zn+"++;");this._emitLine("var "+_a+" = "+ts+"["+ca+"];");this._emitLine('frame.set("'+aa.value+'", '+ca+");");this._emitLine('frame.set("'+oa.value+'", '+_a+");");this._emitLoopBindings(Me,ts,zn,ni);this._withScopedSyntax((function(){Hn.compile(Me.body,Bn)}));this._emitLine("}");this._emitLine("}")}else{var xa=this._tmpid();Bn.set(Me.name.value,xa);this._emitLine("var "+ni+" = "+ts+".length;");this._emitLine("for(var "+zn+"=0; "+zn+" < "+ts+".length; "+zn+"++) {");this._emitLine("var "+xa+" = "+ts+"["+zn+"];");this._emitLine('frame.set("'+Me.name.value+'", '+xa+");");this._emitLoopBindings(Me,ts,zn,ni);this._withScopedSyntax((function(){Hn.compile(Me.body,Bn)}));this._emitLine("}")}this._emitLine("}");if(Me.else_){this._emitLine("if (!"+ni+") {");this.compile(Me.else_,Bn);this._emitLine("}")}this._emitLine("frame = frame.pop();")};Bn._compileAsyncLoop=function _compileAsyncLoop(Me,Bn,Hn){var zn=this;var ni=this._tmpid();var ts=this._tmpid();var Ps=this._tmpid();var aa=Hn?"asyncAll":"asyncEach";Bn=Bn.push();this._emitLine("frame = frame.push();");this._emit("var "+Ps+" = runtime.fromIterator(");this._compileExpression(Me.arr,Bn);this._emitLine(");");if(Me.name instanceof Ci.Array){var oa=Me.name.children.length;this._emit("runtime."+aa+"("+Ps+", "+oa+", function(");Me.name.children.forEach((function(Me){zn._emit(Me.value+",")}));this._emit(ni+","+ts+",next) {");Me.name.children.forEach((function(Me){var Hn=Me.value;Bn.set(Hn,Hn);zn._emitLine('frame.set("'+Hn+'", '+Hn+");")}))}else{var ca=Me.name.value;this._emitLine("runtime."+aa+"("+Ps+", 1, function("+ca+", "+ni+", "+ts+",next) {");this._emitLine('frame.set("'+ca+'", '+ca+");");Bn.set(ca,ca)}this._emitLoopBindings(Me,Ps,ni,ts);this._withScopedSyntax((function(){var Ci;if(Hn){Ci=zn._pushBuffer()}zn.compile(Me.body,Bn);zn._emitLine("next("+ni+(Ci?","+Ci:"")+");");if(Hn){zn._popBuffer()}}));var _a=this._tmpid();this._emitLine("}, "+this._makeCallback(_a));this._addScopeLevel();if(Hn){this._emitLine(this.buffer+" += "+_a+";")}if(Me.else_){this._emitLine("if (!"+Ps+".length) {");this.compile(Me.else_,Bn);this._emitLine("}")}this._emitLine("frame = frame.pop();")};Bn.compileAsyncEach=function compileAsyncEach(Me,Bn){this._compileAsyncLoop(Me,Bn)};Bn.compileAsyncAll=function compileAsyncAll(Me,Bn){this._compileAsyncLoop(Me,Bn,true)};Bn._compileMacro=function _compileMacro(Me,Bn){var Hn=this;var zn=[];var ni=null;var ts="macro_"+this._tmpid();var Ps=Bn!==undefined;Me.args.children.forEach((function(Bn,ts){if(ts===Me.args.children.length-1&&Bn instanceof Ci.Dict){ni=Bn}else{Hn.assertType(Bn,Ci.Symbol);zn.push(Bn)}}));var aa=[].concat(zn.map((function(Me){return"l_"+Me.value})),["kwargs"]);var ca=zn.map((function(Me){return'"'+Me.value+'"'}));var _a=(ni&&ni.children||[]).map((function(Me){return'"'+Me.key.value+'"'}));var xa;if(Ps){xa=Bn.push(true)}else{xa=new oa}this._emitLines("var "+ts+" = runtime.makeMacro(","["+ca.join(", ")+"], ","["+_a.join(", ")+"], ","function ("+aa.join(", ")+") {","var callerFrame = frame;","frame = "+(Ps?"frame.push(true);":"new runtime.Frame();"),"kwargs = kwargs || {};",'if (Object.prototype.hasOwnProperty.call(kwargs, "caller")) {','frame.set("caller", kwargs.caller); }');zn.forEach((function(Me){Hn._emitLine('frame.set("'+Me.value+'", l_'+Me.value+");");xa.set(Me.value,"l_"+Me.value)}));if(ni){ni.children.forEach((function(Me){var Bn=Me.key.value;Hn._emit('frame.set("'+Bn+'", ');Hn._emit('Object.prototype.hasOwnProperty.call(kwargs, "'+Bn+'")');Hn._emit(' ? kwargs["'+Bn+'"] : ');Hn._compileExpression(Me.value,xa);Hn._emit(");")}))}var Ga=this._pushBuffer();this._withScopedSyntax((function(){Hn.compile(Me.body,xa)}));this._emitLine("frame = "+(Ps?"frame.pop();":"callerFrame;"));this._emitLine("return new runtime.SafeString("+Ga+");");this._emitLine("});");this._popBuffer();return ts};Bn.compileMacro=function compileMacro(Me,Bn){var Hn=this._compileMacro(Me);var zn=Me.name.value;Bn.set(zn,Hn);if(Bn.parent){this._emitLine('frame.set("'+zn+'", '+Hn+");")}else{if(Me.name.value.charAt(0)!=="_"){this._emitLine('context.addExport("'+zn+'");')}this._emitLine('context.setVariable("'+zn+'", '+Hn+");")}};Bn.compileCaller=function compileCaller(Me,Bn){this._emit("(function (){");var Hn=this._compileMacro(Me,Bn);this._emit("return "+Hn+";})()")};Bn._compileGetTemplate=function _compileGetTemplate(Me,Bn,Hn,zn){var ni=this._tmpid();var Ci=this._templateName();var ts=this._makeCallback(ni);var Ps=Hn?"true":"false";var aa=zn?"true":"false";this._emit("env.getTemplate(");this._compileExpression(Me.template,Bn);this._emitLine(", "+Ps+", "+Ci+", "+aa+", "+ts);return ni};Bn.compileImport=function compileImport(Me,Bn){var Hn=Me.target.value;var zn=this._compileGetTemplate(Me,Bn,false,false);this._addScopeLevel();this._emitLine(zn+".getExported("+(Me.withContext?"context.getVariables(), frame, ":"")+this._makeCallback(zn));this._addScopeLevel();Bn.set(Hn,zn);if(Bn.parent){this._emitLine('frame.set("'+Hn+'", '+zn+");")}else{this._emitLine('context.setVariable("'+Hn+'", '+zn+");")}};Bn.compileFromImport=function compileFromImport(Me,Bn){var Hn=this;var zn=this._compileGetTemplate(Me,Bn,false,false);this._addScopeLevel();this._emitLine(zn+".getExported("+(Me.withContext?"context.getVariables(), frame, ":"")+this._makeCallback(zn));this._addScopeLevel();Me.names.children.forEach((function(Me){var ni;var ts;var Ps=Hn._tmpid();if(Me instanceof Ci.Pair){ni=Me.key.value;ts=Me.value.value}else{ni=Me.value;ts=ni}Hn._emitLine("if(Object.prototype.hasOwnProperty.call("+zn+', "'+ni+'")) {');Hn._emitLine("var "+Ps+" = "+zn+"."+ni+";");Hn._emitLine("} else {");Hn._emitLine("cb(new Error(\"cannot import '"+ni+"'\")); return;");Hn._emitLine("}");Bn.set(ts,Ps);if(Bn.parent){Hn._emitLine('frame.set("'+ts+'", '+Ps+");")}else{Hn._emitLine('context.setVariable("'+ts+'", '+Ps+");")}}))};Bn.compileBlock=function compileBlock(Me){var Bn=this._tmpid();if(!this.inBlock){this._emit('(parentTemplate ? function(e, c, f, r, cb) { cb(""); } : ')}this._emit('context.getBlock("'+Me.name.value+'")');if(!this.inBlock){this._emit(")")}this._emitLine("(env, context, frame, runtime, "+this._makeCallback(Bn));this._emitLine(this.buffer+" += "+Bn+";");this._addScopeLevel()};Bn.compileSuper=function compileSuper(Me,Bn){var Hn=Me.blockName.value;var zn=Me.symbol.value;var ni=this._makeCallback(zn);this._emitLine('context.getSuper(env, "'+Hn+'", b_'+Hn+", frame, runtime, "+ni);this._emitLine(zn+" = runtime.markSafe("+zn+");");this._addScopeLevel();Bn.set(zn,zn)};Bn.compileExtends=function compileExtends(Me,Bn){var Hn=this._tmpid();var zn=this._compileGetTemplate(Me,Bn,true,false);this._emitLine("parentTemplate = "+zn);this._emitLine("for(var "+Hn+" in parentTemplate.blocks) {");this._emitLine("context.addBlock("+Hn+", parentTemplate.blocks["+Hn+"]);");this._emitLine("}");this._addScopeLevel()};Bn.compileInclude=function compileInclude(Me,Bn){this._emitLine("var tasks = [];");this._emitLine("tasks.push(");this._emitLine("function(callback) {");var Hn=this._compileGetTemplate(Me,Bn,false,Me.ignoreMissing);this._emitLine("callback(null,"+Hn+");});");this._emitLine("});");var zn=this._tmpid();this._emitLine("tasks.push(");this._emitLine("function(template, callback){");this._emitLine("template.render(context.getVariables(), frame, "+this._makeCallback(zn));this._emitLine("callback(null,"+zn+");});");this._emitLine("});");this._emitLine("tasks.push(");this._emitLine("function(result, callback){");this._emitLine(this.buffer+" += result;");this._emitLine("callback(null);");this._emitLine("});");this._emitLine("env.waterfall(tasks, function(){");this._addScopeLevel()};Bn.compileTemplateData=function compileTemplateData(Me,Bn){this.compileLiteral(Me,Bn)};Bn.compileCapture=function compileCapture(Me,Bn){var Hn=this;var zn=this.buffer;this.buffer="output";this._emitLine("(function() {");this._emitLine('var output = "";');this._withScopedSyntax((function(){Hn.compile(Me.body,Bn)}));this._emitLine("return output;");this._emitLine("})()");this.buffer=zn};Bn.compileOutput=function compileOutput(Me,Bn){var Hn=this;var zn=Me.children;zn.forEach((function(zn){if(zn instanceof Ci.TemplateData){if(zn.value){Hn._emit(Hn.buffer+" += ");Hn.compileLiteral(zn,Bn);Hn._emitLine(";")}}else{Hn._emit(Hn.buffer+" += runtime.suppressValue(");if(Hn.throwOnUndefined){Hn._emit("runtime.ensureDefined(")}Hn.compile(zn,Bn);if(Hn.throwOnUndefined){Hn._emit(","+Me.lineno+","+Me.colno+")")}Hn._emit(", env.opts.autoescape);\n")}}))};Bn.compileRoot=function compileRoot(Me,Bn){var Hn=this;if(Bn){this.fail("compileRoot: root node can't have frame")}Bn=new oa;this._emitFuncBegin(Me,"root");this._emitLine("var parentTemplate = null;");this._compileChildren(Me,Bn);this._emitLine("if(parentTemplate) {");this._emitLine("parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);");this._emitLine("} else {");this._emitLine("cb(null, "+this.buffer+");");this._emitLine("}");this._emitFuncEnd(true);this.inBlock=true;var zn=[];var ni=Me.findAll(Ci.Block);ni.forEach((function(Me,Bn){var ni=Me.name.value;if(zn.indexOf(ni)!==-1){throw new Error('Block "'+ni+'" defined more than once.')}zn.push(ni);Hn._emitFuncBegin(Me,"b_"+ni);var Ci=new oa;Hn._emitLine("var frame = frame.push(true);");Hn.compile(Me.body,Ci);Hn._emitFuncEnd()}));this._emitLine("return {");ni.forEach((function(Me,Bn){var zn="b_"+Me.name.value;Hn._emitLine(zn+": "+zn+",")}));this._emitLine("root: root\n};")};Bn.compile=function compile(Me,Bn){var Hn=this["compile"+Me.typename];if(Hn){Hn.call(this,Me,Bn)}else{this.fail("compile: Cannot compile node: "+Me.typename,Me.lineno,Me.colno)}};Bn.getCode=function getCode(){return this.codebuf.join("")};return Compiler}(_a);Me.exports={compile:function compile(Me,Bn,Hn,Ci,ts){if(ts===void 0){ts={}}var Ps=new Ga(Ci,ts.throwOnUndefined);var aa=(Hn||[]).map((function(Me){return Me.preprocess})).filter((function(Me){return!!Me}));var oa=aa.reduce((function(Me,Bn){return Bn(Me)}),Me);Ps.compile(ni.transform(zn.parse(oa,Hn,ts),Bn,Ci));return Ps.getCode()},Compiler:Ga}},14499:(Me,Bn,Hn)=>{"use strict";function _inheritsLoose(Me,Bn){Me.prototype=Object.create(Bn.prototype);Me.prototype.constructor=Me;_setPrototypeOf(Me,Bn)}function _setPrototypeOf(Me,Bn){_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(Me,Bn){Me.__proto__=Bn;return Me};return _setPrototypeOf(Me,Bn)}var zn=Hn(40336);var ni=Hn(17330);var Ci=Hn(97853);var ts=Hn(8993);var Ps=Hn(99317);var aa=Hn(2650),oa=aa.FileSystemLoader,ca=aa.WebLoader,_a=aa.PrecompiledLoader;var xa=Hn(64259);var Ga=Hn(20290);var Ha=Hn(79695),so=Ha.Obj,oo=Ha.EmitterObj;var Jo=Hn(69846);var tc=Jo.handleError,dc=Jo.Frame;var Fc=Hn(69376);function callbackAsap(Me,Bn,Hn){zn((function(){Me(Bn,Hn)}))}var Jc={type:"code",obj:{root:function root(Me,Bn,Hn,zn,ni){try{ni(null,"")}catch(Me){ni(tc(Me,null,null))}}}};var Dp=function(Me){_inheritsLoose(Environment,Me);function Environment(){return Me.apply(this,arguments)||this}var Bn=Environment.prototype;Bn.init=function init(Me,Bn){var Hn=this;Bn=this.opts=Bn||{};this.opts.dev=!!Bn.dev;this.opts.autoescape=Bn.autoescape!=null?Bn.autoescape:true;this.opts.throwOnUndefined=!!Bn.throwOnUndefined;this.opts.trimBlocks=!!Bn.trimBlocks;this.opts.lstripBlocks=!!Bn.lstripBlocks;this.loaders=[];if(!Me){if(oa){this.loaders=[new oa("views")]}else if(ca){this.loaders=[new ca("/views")]}}else{this.loaders=Ci.isArray(Me)?Me:[Me]}if(typeof window!=="undefined"&&window.nunjucksPrecompiled){this.loaders.unshift(new _a(window.nunjucksPrecompiled))}this._initLoaders();this.globals=Ga();this.filters={};this.tests={};this.asyncFilters=[];this.extensions={};this.extensionsList=[];Ci._entries(Ps).forEach((function(Me){var Bn=Me[0],zn=Me[1];return Hn.addFilter(Bn,zn)}));Ci._entries(xa).forEach((function(Me){var Bn=Me[0],zn=Me[1];return Hn.addTest(Bn,zn)}))};Bn._initLoaders=function _initLoaders(){var Me=this;this.loaders.forEach((function(Bn){Bn.cache={};if(typeof Bn.on==="function"){Bn.on("update",(function(Hn,zn){Bn.cache[Hn]=null;Me.emit("update",Hn,zn,Bn)}));Bn.on("load",(function(Hn,zn){Me.emit("load",Hn,zn,Bn)}))}}))};Bn.invalidateCache=function invalidateCache(){this.loaders.forEach((function(Me){Me.cache={}}))};Bn.addExtension=function addExtension(Me,Bn){Bn.__name=Me;this.extensions[Me]=Bn;this.extensionsList.push(Bn);return this};Bn.removeExtension=function removeExtension(Me){var Bn=this.getExtension(Me);if(!Bn){return}this.extensionsList=Ci.without(this.extensionsList,Bn);delete this.extensions[Me]};Bn.getExtension=function getExtension(Me){return this.extensions[Me]};Bn.hasExtension=function hasExtension(Me){return!!this.extensions[Me]};Bn.addGlobal=function addGlobal(Me,Bn){this.globals[Me]=Bn;return this};Bn.getGlobal=function getGlobal(Me){if(typeof this.globals[Me]==="undefined"){throw new Error("global not found: "+Me)}return this.globals[Me]};Bn.addFilter=function addFilter(Me,Bn,Hn){var zn=Bn;if(Hn){this.asyncFilters.push(Me)}this.filters[Me]=zn;return this};Bn.getFilter=function getFilter(Me){if(!this.filters[Me]){throw new Error("filter not found: "+Me)}return this.filters[Me]};Bn.addTest=function addTest(Me,Bn){this.tests[Me]=Bn;return this};Bn.getTest=function getTest(Me){if(!this.tests[Me]){throw new Error("test not found: "+Me)}return this.tests[Me]};Bn.resolveTemplate=function resolveTemplate(Me,Bn,Hn){var zn=Me.isRelative&&Bn?Me.isRelative(Hn):false;return zn&&Me.resolve?Me.resolve(Bn,Hn):Hn};Bn.getTemplate=function getTemplate(Me,Bn,Hn,zn,ni){var ts=this;var Ps=this;var aa=null;if(Me&&Me.raw){Me=Me.raw}if(Ci.isFunction(Hn)){ni=Hn;Hn=null;Bn=Bn||false}if(Ci.isFunction(Bn)){ni=Bn;Bn=false}if(Me instanceof Qp){aa=Me}else if(typeof Me!=="string"){throw new Error("template names must be a string: "+Me)}else{for(var oa=0;oa{"use strict";var zn=Hn(16928);Me.exports=function express(Me,Bn){function NunjucksView(Me,Bn){this.name=Me;this.path=Me;this.defaultEngine=Bn.defaultEngine;this.ext=zn.extname(Me);if(!this.ext&&!this.defaultEngine){throw new Error("No default engine was specified and no extension was provided.")}if(!this.ext){this.name+=this.ext=(this.defaultEngine[0]!=="."?".":"")+this.defaultEngine}}NunjucksView.prototype.render=function render(Bn,Hn){Me.render(this.name,Bn,Hn)};Bn.set("view",NunjucksView);Bn.set("nunjucksEnv",Me);return Me}},99317:(Me,Bn,Hn)=>{"use strict";var zn=Hn(97853);var ni=Hn(69846);var Ci=Me.exports={};function normalize(Me,Bn){if(Me===null||Me===undefined||Me===false){return Bn}return Me}Ci.abs=Math.abs;function isNaN(Me){return Me!==Me}function batch(Me,Bn,Hn){var zn;var ni=[];var Ci=[];for(zn=0;zn=Bn){return Me}var Hn=Bn-Me.length;var Ci=zn.repeat(" ",Hn/2-Hn%2);var ts=zn.repeat(" ",Hn/2);return ni.copySafeness(Me,Ci+Me+ts)}Ci.center=center;function default_(Me,Bn,Hn){if(Hn){return Me||Bn}else{return Me!==undefined?Me:Bn}}Ci["default"]=default_;function dictsort(Me,Bn,Hn){if(!zn.isObject(Me)){throw new zn.TemplateError("dictsort filter: val must be an object")}var ni=[];for(var Ci in Me){ni.push([Ci,Me[Ci]])}var ts;if(Hn===undefined||Hn==="key"){ts=0}else if(Hn==="value"){ts=1}else{throw new zn.TemplateError("dictsort filter: You can only sort by either key or value")}ni.sort((function(Me,Hn){var ni=Me[ts];var Ci=Hn[ts];if(!Bn){if(zn.isString(ni)){ni=ni.toUpperCase()}if(zn.isString(Ci)){Ci=Ci.toUpperCase()}}return ni>Ci?1:ni===Ci?0:-1}));return ni}Ci.dictsort=dictsort;function dump(Me,Bn){return JSON.stringify(Me,null,Bn)}Ci.dump=dump;function escape(Me){if(Me instanceof ni.SafeString){return Me}Me=Me===null||Me===undefined?"":Me;return ni.markSafe(zn.escape(Me.toString()))}Ci.escape=escape;function safe(Me){if(Me instanceof ni.SafeString){return Me}Me=Me===null||Me===undefined?"":Me;return ni.markSafe(Me.toString())}Ci.safe=safe;function first(Me){return Me[0]}Ci.first=first;function forceescape(Me){Me=Me===null||Me===undefined?"":Me;return ni.markSafe(zn.escape(Me.toString()))}Ci.forceescape=forceescape;function groupby(Me,Bn){return zn.groupBy(Me,Bn,this.env.opts.throwOnUndefined)}Ci.groupby=groupby;function indent(Me,Bn,Hn){Me=normalize(Me,"");if(Me===""){return""}Bn=Bn||4;var Ci=Me.split("\n");var ts=zn.repeat(" ",Bn);var Ps=Ci.map((function(Me,Bn){return Bn===0&&!Hn?Me:""+ts+Me})).join("\n");return ni.copySafeness(Me,Ps)}Ci.indent=indent;function join(Me,Bn,Hn){Bn=Bn||"";if(Hn){Me=zn.map(Me,(function(Me){return Me[Hn]}))}return Me.join(Bn)}Ci.join=join;function last(Me){return Me[Me.length-1]}Ci.last=last;function lengthFilter(Me){var Bn=normalize(Me,"");if(Bn!==undefined){if(typeof Map==="function"&&Bn instanceof Map||typeof Set==="function"&&Bn instanceof Set){return Bn.size}if(zn.isObject(Bn)&&!(Bn instanceof ni.SafeString)){return zn.keys(Bn).length}return Bn.length}return 0}Ci.length=lengthFilter;function list(Me){if(zn.isString(Me)){return Me.split("")}else if(zn.isObject(Me)){return zn._entries(Me||{}).map((function(Me){var Bn=Me[0],Hn=Me[1];return{key:Bn,value:Hn}}))}else if(zn.isArray(Me)){return Me}else{throw new zn.TemplateError("list filter: type not iterable")}}Ci.list=list;function lower(Me){Me=normalize(Me,"");return Me.toLowerCase()}Ci.lower=lower;function nl2br(Me){if(Me===null||Me===undefined){return""}return ni.copySafeness(Me,Me.replace(/\r\n|\n/g,"
\n"))}Ci.nl2br=nl2br;function random(Me){return Me[Math.floor(Math.random()*Me.length)]}Ci.random=random;function getSelectOrReject(Me){function filter(Bn,Hn,ni){if(Hn===void 0){Hn="truthy"}var Ci=this;var ts=Ci.env.getTest(Hn);return zn.toArray(Bn).filter((function examineTestResult(Bn){return ts.call(Ci,Bn,ni)===Me}))}return filter}Ci.reject=getSelectOrReject(false);function rejectattr(Me,Bn){return Me.filter((function(Me){return!Me[Bn]}))}Ci.rejectattr=rejectattr;Ci.select=getSelectOrReject(true);function selectattr(Me,Bn){return Me.filter((function(Me){return!!Me[Bn]}))}Ci.selectattr=selectattr;function replace(Me,Bn,Hn,zn){var Ci=Me;if(Bn instanceof RegExp){return Me.replace(Bn,Hn)}if(typeof zn==="undefined"){zn=-1}var ts="";if(typeof Bn==="number"){Bn=""+Bn}else if(typeof Bn!=="string"){return Me}if(typeof Me==="number"){Me=""+Me}if(typeof Me!=="string"&&!(Me instanceof ni.SafeString)){return Me}if(Bn===""){ts=Hn+Me.split("").join(Hn)+Hn;return ni.copySafeness(Me,ts)}var Ps=Me.indexOf(Bn);if(zn===0||Ps===-1){return Me}var aa=0;var oa=0;while(Ps>-1&&(zn===-1||oa=ni){ca.push(Hn)}Ci.push(ca)}return Ci}Ci.slice=slice;function sum(Me,Bn,Hn){if(Hn===void 0){Hn=0}if(Bn){Me=zn.map(Me,(function(Me){return Me[Bn]}))}return Hn+Me.reduce((function(Me,Bn){return Me+Bn}),0)}Ci.sum=sum;Ci.sort=ni.makeMacro(["value","reverse","case_sensitive","attribute"],[],(function sortFilter(Me,Bn,Hn,ni){var Ci=this;var ts=zn.map(Me,(function(Me){return Me}));var Ps=zn.getAttrGetter(ni);ts.sort((function(Me,ts){var aa=ni?Ps(Me):Me;var oa=ni?Ps(ts):ts;if(Ci.env.opts.throwOnUndefined&&ni&&(aa===undefined||oa===undefined)){throw new TypeError('sort: attribute "'+ni+'" resolved to undefined')}if(!Hn&&zn.isString(aa)&&zn.isString(oa)){aa=aa.toLowerCase();oa=oa.toLowerCase()}if(aaoa){return Bn?-1:1}else{return 0}}));return ts}));function string(Me){return ni.copySafeness(Me,Me)}Ci.string=string;function striptags(Me,Bn){Me=normalize(Me,"");var Hn=/<\/?([a-z][a-z0-9]*)\b[^>]*>|/gi;var zn=trim(Me.replace(Hn,""));var Ci="";if(Bn){Ci=zn.replace(/^ +| +$/gm,"").replace(/ +/g," ").replace(/(\r\n)/g,"\n").replace(/\n\n\n+/g,"\n\n")}else{Ci=zn.replace(/\s+/gi," ")}return ni.copySafeness(Me,Ci)}Ci.striptags=striptags;function title(Me){Me=normalize(Me,"");var Bn=Me.split(" ").map((function(Me){return capitalize(Me)}));return ni.copySafeness(Me,Bn.join(" "))}Ci.title=title;function trim(Me){return ni.copySafeness(Me,Me.replace(/^\s*|\s*$/g,""))}Ci.trim=trim;function truncate(Me,Bn,Hn,zn){var Ci=Me;Me=normalize(Me,"");Bn=Bn||255;if(Me.length<=Bn){return Me}if(Hn){Me=Me.substring(0,Bn)}else{var ts=Me.lastIndexOf(" ",Bn);if(ts===-1){ts=Bn}Me=Me.substring(0,ts)}Me+=zn!==undefined&&zn!==null?zn:"...";return ni.copySafeness(Ci,Me)}Ci.truncate=truncate;function upper(Me){Me=normalize(Me,"");return Me.toUpperCase()}Ci.upper=upper;function urlencode(Me){var Bn=encodeURIComponent;if(zn.isString(Me)){return Bn(Me)}else{var Hn=zn.isArray(Me)?Me:zn._entries(Me);return Hn.map((function(Me){var Hn=Me[0],zn=Me[1];return Bn(Hn)+"="+Bn(zn)})).join("&")}}Ci.urlencode=urlencode;var ts=/^(?:\(|<|<)?(.*?)(?:\.|,|\)|\n|>)?$/;var Ps=/^[\w.!#$%&'*+\-\/=?\^`{|}~]+@[a-z\d\-]+(\.[a-z\d\-]+)+$/i;var aa=/^https?:\/\/.*$/;var oa=/^www\./;var ca=/\.(?:org|net|com)(?:\:|\/|$)/;function urlize(Me,Bn,Hn){if(isNaN(Bn)){Bn=Infinity}var zn=Hn===true?' rel="nofollow"':"";var ni=Me.split(/(\s+)/).filter((function(Me){return Me&&Me.length})).map((function(Me){var Hn=Me.match(ts);var ni=Hn?Hn[1]:Me;var Ci=ni.substr(0,Bn);if(aa.test(ni)){return'"+Ci+""}if(oa.test(ni)){return'"+Ci+""}if(Ps.test(ni)){return''+ni+""}if(ca.test(ni)){return'"+Ci+""}return Me}));return ni.join("")}Ci.urlize=urlize;function wordcount(Me){Me=normalize(Me,"");var Bn=Me?Me.match(/\w+/g):null;return Bn?Bn.length:null}Ci.wordcount=wordcount;function float(Me,Bn){var Hn=parseFloat(Me);return isNaN(Hn)?Bn:Hn}Ci.float=float;var _a=ni.makeMacro(["value","default","base"],[],(function doInt(Me,Bn,Hn){if(Hn===void 0){Hn=10}var zn=parseInt(Me,Hn);return isNaN(zn)?Bn:zn}));Ci.int=_a;Ci.d=Ci.default;Ci.e=Ci.escape},20290:Me=>{"use strict";function _cycler(Me){var Bn=-1;return{current:null,reset:function reset(){Bn=-1;this.current=null},next:function next(){Bn++;if(Bn>=Me.length){Bn=0}this.current=Me[Bn];return this.current}}}function _joiner(Me){Me=Me||",";var Bn=true;return function(){var Hn=Bn?"":Me;Bn=false;return Hn}}function globals(){return{range:function range(Me,Bn,Hn){if(typeof Bn==="undefined"){Bn=Me;Me=0;Hn=1}else if(!Hn){Hn=1}var zn=[];if(Hn>0){for(var ni=Me;niBn;Ci+=Hn){zn.push(Ci)}}return zn},cycler:function cycler(){return _cycler(Array.prototype.slice.call(arguments))},joiner:function joiner(Me){return _joiner(Me)}}}Me.exports=globals},50085:Me=>{"use strict";function installCompat(){"use strict";var Me=this.runtime;var Bn=this.lib;var Hn=this.compiler.Compiler;var zn=this.parser.Parser;var ni=this.nodes;var Ci=this.lexer;var ts=Me.contextOrFrameLookup;var Ps=Me.memberLookup;var aa;var oa;if(Hn){aa=Hn.prototype.assertType}if(zn){oa=zn.prototype.parseAggregate}function uninstall(){Me.contextOrFrameLookup=ts;Me.memberLookup=Ps;if(Hn){Hn.prototype.assertType=aa}if(zn){zn.prototype.parseAggregate=oa}}Me.contextOrFrameLookup=function contextOrFrameLookup(Me,Bn,Hn){var zn=ts.apply(this,arguments);if(zn!==undefined){return zn}switch(Hn){case"True":return true;case"False":return false;case"None":return null;default:return undefined}};function getTokensState(Me){return{index:Me.index,lineno:Me.lineno,colno:Me.colno}}if(process.env.BUILD_TYPE!=="SLIM"&&ni&&Hn&&zn){var ca=ni.Node.extend("Slice",{fields:["start","stop","step"],init:function init(Me,Bn,Hn,zn,Ci){Hn=Hn||new ni.Literal(Me,Bn,null);zn=zn||new ni.Literal(Me,Bn,null);Ci=Ci||new ni.Literal(Me,Bn,1);this.parent(Me,Bn,Hn,zn,Ci)}});Hn.prototype.assertType=function assertType(Me){if(Me instanceof ca){return}aa.apply(this,arguments)};Hn.prototype.compileSlice=function compileSlice(Me,Bn){this._emit("(");this._compileExpression(Me.start,Bn);this._emit("),(");this._compileExpression(Me.stop,Bn);this._emit("),(");this._compileExpression(Me.step,Bn);this._emit(")")};zn.prototype.parseAggregate=function parseAggregate(){var Me=this;var Hn=getTokensState(this.tokens);Hn.colno--;Hn.index--;try{return oa.apply(this)}catch(oa){var zn=getTokensState(this.tokens);var ts=function rethrow(){Bn._assign(Me.tokens,zn);return oa};Bn._assign(this.tokens,Hn);this.peeked=false;var Ps=this.peekToken();if(Ps.type!==Ci.TOKEN_LEFT_BRACKET){throw ts()}else{this.nextToken()}var aa=new ca(Ps.lineno,Ps.colno);var _a=false;for(var xa=0;xa<=aa.fields.length;xa++){if(this.skip(Ci.TOKEN_RIGHT_BRACKET)){break}if(xa===aa.fields.length){if(_a){this.fail("parseSlice: too many slice components",Ps.lineno,Ps.colno)}else{break}}if(this.skip(Ci.TOKEN_COLON)){_a=true}else{var Ga=aa.fields[xa];aa[Ga]=this.parseExpression();_a=this.skip(Ci.TOKEN_COLON)||_a}}if(!_a){throw ts()}return new ni.Array(Ps.lineno,Ps.colno,[aa])}}}function sliceLookup(Bn,Hn,zn,ni){Bn=Bn||[];if(Hn===null){Hn=ni<0?Bn.length-1:0}if(zn===null){zn=ni<0?-1:Bn.length}else if(zn<0){zn+=Bn.length}if(Hn<0){Hn+=Bn.length}var Ci=[];for(var ts=Hn;;ts+=ni){if(ts<0||ts>Bn.length){break}if(ni>0&&ts>=zn){break}if(ni<0&&ts<=zn){break}Ci.push(Me.memberLookup(Bn,ts))}return Ci}function hasOwnProp(Me,Bn){return Object.prototype.hasOwnProperty.call(Me,Bn)}var _a={pop:function pop(Me){if(Me===undefined){return this.pop()}if(Me>=this.length||Me<0){throw new Error("KeyError")}return this.splice(Me,1)},append:function append(Me){return this.push(Me)},remove:function remove(Me){for(var Bn=0;Bn{"use strict";var zn=Hn(97853);var ni=" \n\t\r ";var Ci="()[]{}%*-+~/#,:|.<>=!";var ts="0123456789";var Ps="{%";var aa="%}";var oa="{{";var ca="}}";var _a="{#";var xa="#}";var Ga="string";var Ha="whitespace";var so="data";var oo="block-start";var Jo="block-end";var tc="variable-start";var dc="variable-end";var Fc="comment";var Jc="left-paren";var Dp="right-paren";var kp="left-bracket";var Qp="right-bracket";var Up="left-curly";var Vp="right-curly";var qp="operator";var Jp="comma";var Wp="colon";var zp="tilde";var Qf="pipe";var Yf="int";var Kf="float";var Xf="boolean";var Ad="none";var Cd="symbol";var wd="special";var Sd="regex";function token(Me,Bn,Hn,zn){return{type:Me,value:Bn,lineno:Hn,colno:zn}}var xd=function(){function Tokenizer(Me,Bn){this.str=Me;this.index=0;this.len=Me.length;this.lineno=0;this.colno=0;this.in_code=false;Bn=Bn||{};var Hn=Bn.tags||{};this.tags={BLOCK_START:Hn.blockStart||Ps,BLOCK_END:Hn.blockEnd||aa,VARIABLE_START:Hn.variableStart||oa,VARIABLE_END:Hn.variableEnd||ca,COMMENT_START:Hn.commentStart||_a,COMMENT_END:Hn.commentEnd||xa};this.trimBlocks=!!Bn.trimBlocks;this.lstripBlocks=!!Bn.lstripBlocks}var Me=Tokenizer.prototype;Me.nextToken=function nextToken(){var Me=this.lineno;var Bn=this.colno;var Hn;if(this.in_code){var Ps=this.current();if(this.isFinished()){return null}else if(Ps==='"'||Ps==="'"){return token(Ga,this._parseString(Ps),Me,Bn)}else if(Hn=this._extract(ni)){return token(Ha,Hn,Me,Bn)}else if((Hn=this._extractString(this.tags.BLOCK_END))||(Hn=this._extractString("-"+this.tags.BLOCK_END))){this.in_code=false;if(this.trimBlocks){Ps=this.current();if(Ps==="\n"){this.forward()}else if(Ps==="\r"){this.forward();Ps=this.current();if(Ps==="\n"){this.forward()}else{this.back()}}}return token(Jo,Hn,Me,Bn)}else if((Hn=this._extractString(this.tags.VARIABLE_END))||(Hn=this._extractString("-"+this.tags.VARIABLE_END))){this.in_code=false;return token(dc,Hn,Me,Bn)}else if(Ps==="r"&&this.str.charAt(this.index+1)==="/"){this.forwardN(2);var aa="";while(!this.isFinished()){if(this.current()==="/"&&this.previous()!=="\\"){this.forward();break}else{aa+=this.current();this.forward()}}var oa=["g","i","m","y"];var ca="";while(!this.isFinished()){var _a=oa.indexOf(this.current())!==-1;if(_a){ca+=this.current();this.forward()}else{break}}return token(Sd,{body:aa,flags:ca},Me,Bn)}else if(Ci.indexOf(Ps)!==-1){this.forward();var xa=["==","===","!=","!==","<=",">=","//","**"];var wd=Ps+this.current();var xd;if(zn.indexOf(xa,wd)!==-1){this.forward();Ps=wd;if(zn.indexOf(xa,wd+this.current())!==-1){Ps=wd+this.current();this.forward()}}switch(Ps){case"(":xd=Jc;break;case")":xd=Dp;break;case"[":xd=kp;break;case"]":xd=Qp;break;case"{":xd=Up;break;case"}":xd=Vp;break;case",":xd=Jp;break;case":":xd=Wp;break;case"~":xd=zp;break;case"|":xd=Qf;break;default:xd=qp}return token(xd,Ps,Me,Bn)}else{Hn=this._extractUntil(ni+Ci);if(Hn.match(/^[-+]?[0-9]+$/)){if(this.current()==="."){this.forward();var Td=this._extract(ts);return token(Kf,Hn+"."+Td,Me,Bn)}else{return token(Yf,Hn,Me,Bn)}}else if(Hn.match(/^(true|false)$/)){return token(Xf,Hn,Me,Bn)}else if(Hn==="none"){return token(Ad,Hn,Me,Bn)}else if(Hn==="null"){return token(Ad,Hn,Me,Bn)}else if(Hn){return token(Cd,Hn,Me,Bn)}else{throw new Error("Unexpected value while parsing: "+Hn)}}}else{var Pd=this.tags.BLOCK_START.charAt(0)+this.tags.VARIABLE_START.charAt(0)+this.tags.COMMENT_START.charAt(0)+this.tags.COMMENT_END.charAt(0);if(this.isFinished()){return null}else if((Hn=this._extractString(this.tags.BLOCK_START+"-"))||(Hn=this._extractString(this.tags.BLOCK_START))){this.in_code=true;return token(oo,Hn,Me,Bn)}else if((Hn=this._extractString(this.tags.VARIABLE_START+"-"))||(Hn=this._extractString(this.tags.VARIABLE_START))){this.in_code=true;return token(tc,Hn,Me,Bn)}else{Hn="";var Qh;var Zh=false;if(this._matches(this.tags.COMMENT_START)){Zh=true;Hn=this._extractString(this.tags.COMMENT_START)}while((Qh=this._extractUntil(Pd))!==null){Hn+=Qh;if((this._matches(this.tags.BLOCK_START)||this._matches(this.tags.VARIABLE_START)||this._matches(this.tags.COMMENT_START))&&!Zh){if(this.lstripBlocks&&this._matches(this.tags.BLOCK_START)&&this.colno>0&&this.colno<=Hn.length){var sA=Hn.slice(-this.colno);if(/^\s+$/.test(sA)){Hn=Hn.slice(0,-this.colno);if(!Hn.length){return this.nextToken()}}}break}else if(this._matches(this.tags.COMMENT_END)){if(!Zh){throw new Error("unexpected end of comment")}Hn+=this._extractString(this.tags.COMMENT_END);break}else{Hn+=this.current();this.forward()}}if(Qh===null&&Zh){throw new Error("expected end of comment, got end of file")}return token(Zh?Fc:so,Hn,Me,Bn)}}};Me._parseString=function _parseString(Me){this.forward();var Bn="";while(!this.isFinished()&&this.current()!==Me){var Hn=this.current();if(Hn==="\\"){this.forward();switch(this.current()){case"n":Bn+="\n";break;case"t":Bn+="\t";break;case"r":Bn+="\r";break;default:Bn+=this.current()}this.forward()}else{Bn+=Hn;this.forward()}}this.forward();return Bn};Me._matches=function _matches(Me){if(this.index+Me.length>this.len){return null}var Bn=this.str.slice(this.index,this.index+Me.length);return Bn===Me};Me._extractString=function _extractString(Me){if(this._matches(Me)){this.forwardN(Me.length);return Me}return null};Me._extractUntil=function _extractUntil(Me){return this._extractMatching(true,Me||"")};Me._extract=function _extract(Me){return this._extractMatching(false,Me)};Me._extractMatching=function _extractMatching(Me,Bn){if(this.isFinished()){return null}var Hn=Bn.indexOf(this.current());if(Me&&Hn===-1||!Me&&Hn!==-1){var zn=this.current();this.forward();var ni=Bn.indexOf(this.current());while((Me&&ni===-1||!Me&&ni!==-1)&&!this.isFinished()){zn+=this.current();this.forward();ni=Bn.indexOf(this.current())}return zn}return""};Me._extractRegex=function _extractRegex(Me){var Bn=this.currentStr().match(Me);if(!Bn){return null}this.forwardN(Bn[0].length);return Bn};Me.isFinished=function isFinished(){return this.index>=this.len};Me.forwardN=function forwardN(Me){for(var Bn=0;Bn{"use strict";var Bn=Array.prototype;var Hn=Object.prototype;var zn={"&":"&",'"':""","'":"'","<":"<",">":">","\\":"\"};var ni=/[&"'<>\\]/g;var Ci=Me.exports={};function hasOwnProp(Me,Bn){return Hn.hasOwnProperty.call(Me,Bn)}Ci.hasOwnProp=hasOwnProp;function lookupEscape(Me){return zn[Me]}function _prettifyError(Me,Bn,Hn){if(!Hn.Update){Hn=new Ci.TemplateError(Hn)}Hn.Update(Me);if(!Bn){var zn=Hn;Hn=new Error(zn.message);Hn.name=zn.name}return Hn}Ci._prettifyError=_prettifyError;function TemplateError(Me,Bn,Hn){var zn;var ni;if(Me instanceof Error){ni=Me;Me=ni.name+": "+ni.message}if(Object.setPrototypeOf){zn=new Error(Me);Object.setPrototypeOf(zn,TemplateError.prototype)}else{zn=this;Object.defineProperty(zn,"message",{enumerable:false,writable:true,value:Me})}Object.defineProperty(zn,"name",{value:"Template render error"});if(Error.captureStackTrace){Error.captureStackTrace(zn,this.constructor)}var Ci;if(ni){var ts=Object.getOwnPropertyDescriptor(ni,"stack");Ci=ts&&(ts.get||function(){return ts.value});if(!Ci){Ci=function getStack(){return ni.stack}}}else{var Ps=new Error(Me).stack;Ci=function getStack(){return Ps}}Object.defineProperty(zn,"stack",{get:function get(){return Ci.call(zn)}});Object.defineProperty(zn,"cause",{value:ni});zn.lineno=Bn;zn.colno=Hn;zn.firstUpdate=true;zn.Update=function Update(Me){var Bn="("+(Me||"unknown path")+")";if(this.firstUpdate){if(this.lineno&&this.colno){Bn+=" [Line "+this.lineno+", Column "+this.colno+"]"}else if(this.lineno){Bn+=" [Line "+this.lineno+"]"}}Bn+="\n ";if(this.firstUpdate){Bn+=" "}this.message=Bn+(this.message||"");this.firstUpdate=false;return this};return zn}if(Object.setPrototypeOf){Object.setPrototypeOf(TemplateError.prototype,Error.prototype)}else{TemplateError.prototype=Object.create(Error.prototype,{constructor:{value:TemplateError}})}Ci.TemplateError=TemplateError;function escape(Me){return Me.replace(ni,lookupEscape)}Ci.escape=escape;function isFunction(Me){return Hn.toString.call(Me)==="[object Function]"}Ci.isFunction=isFunction;function isArray(Me){return Hn.toString.call(Me)==="[object Array]"}Ci.isArray=isArray;function isString(Me){return Hn.toString.call(Me)==="[object String]"}Ci.isString=isString;function isObject(Me){return Hn.toString.call(Me)==="[object Object]"}Ci.isObject=isObject;function _prepareAttributeParts(Me){if(!Me){return[]}if(typeof Me==="string"){return Me.split(".")}return[Me]}function getAttrGetter(Me){var Bn=_prepareAttributeParts(Me);return function attrGetter(Me){var Hn=Me;for(var zn=0;zn{"use strict";function _inheritsLoose(Me,Bn){Me.prototype=Object.create(Bn.prototype);Me.prototype.constructor=Me;_setPrototypeOf(Me,Bn)}function _setPrototypeOf(Me,Bn){_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(Me,Bn){Me.__proto__=Bn;return Me};return _setPrototypeOf(Me,Bn)}var zn=Hn(16928);var ni=Hn(79695),Ci=ni.EmitterObj;Me.exports=function(Me){_inheritsLoose(Loader,Me);function Loader(){return Me.apply(this,arguments)||this}var Bn=Loader.prototype;Bn.resolve=function resolve(Me,Bn){return zn.resolve(zn.dirname(Me),Bn)};Bn.isRelative=function isRelative(Me){return Me.indexOf("./")===0||Me.indexOf("../")===0};return Loader}(Ci)},2650:(Me,Bn,Hn)=>{"use strict";Me.exports=Hn(76973)},76973:(Me,Bn,Hn)=>{"use strict";function _inheritsLoose(Me,Bn){Me.prototype=Object.create(Bn.prototype);Me.prototype.constructor=Me;_setPrototypeOf(Me,Bn)}function _setPrototypeOf(Me,Bn){_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(Me,Bn){Me.__proto__=Bn;return Me};return _setPrototypeOf(Me,Bn)}var zn=Hn(79896);var ni=Hn(16928);var Ci=Hn(43391);var ts=Hn(97402),Ps=ts.PrecompiledLoader;var aa;var oa=function(Me){_inheritsLoose(FileSystemLoader,Me);function FileSystemLoader(Bn,Ci){var ts;ts=Me.call(this)||this;if(typeof Ci==="boolean"){console.log("[nunjucks] Warning: you passed a boolean as the second "+"argument to FileSystemLoader, but it now takes an options "+"object. See http://mozilla.github.io/nunjucks/api.html#filesystemloader")}Ci=Ci||{};ts.pathsToNames={};ts.noCache=!!Ci.noCache;if(Bn){Bn=Array.isArray(Bn)?Bn:[Bn];ts.searchPaths=Bn.map(ni.normalize)}else{ts.searchPaths=["."]}if(Ci.watch){try{aa=Hn(568)}catch(Me){throw new Error("watch requires chokidar to be installed")}var Ps=ts.searchPaths.filter(zn.existsSync);var oa=aa.watch(Ps);oa.on("all",(function(Me,Bn){Bn=ni.resolve(Bn);if(Me==="change"&&Bn in ts.pathsToNames){ts.emit("update",ts.pathsToNames[Bn],Bn)}}));oa.on("error",(function(Me){console.log("Watcher error: "+Me)}))}return ts}var Bn=FileSystemLoader.prototype;Bn.getSource=function getSource(Me){var Bn=null;var Hn=this.searchPaths;for(var Ci=0;Ci{"use strict";function _defineProperties(Me,Bn){for(var Hn=0;Hn2?ni-2:0),ts=2;ts0||!Hn)){process.stdout.write(" ".repeat(Bn))}var Ci=ni===zn.length-1?"":"\n";process.stdout.write(""+Me+Ci)}))}function printNodes(Me,Bn){Bn=Bn||0;print(Me.typename+": ",Bn);if(Me instanceof Ps){print("\n");Me.children.forEach((function(Me){printNodes(Me,Bn+2)}))}else if(Me instanceof dg){print(Me.extName+"."+Me.prop+"\n");if(Me.args){printNodes(Me.args,Bn+2)}if(Me.contentArgs){Me.contentArgs.forEach((function(Me){printNodes(Me,Bn+2)}))}}else{var Hn=[];var zn=null;Me.iterFields((function(Me,Bn){if(Me instanceof Ci){Hn.push([Bn,Me])}else{zn=zn||{};zn[Bn]=Me}}));if(zn){print(JSON.stringify(zn,null,2)+"\n",null,true)}else{print("\n")}Hn.forEach((function(Me){var Hn=Me[0],zn=Me[1];print("["+Hn+"] =>",Bn+2);printNodes(zn,Bn+4)}))}}Me.exports={Node:Ci,Root:aa,NodeList:Ps,Value:ts,Literal:oa,Symbol:ca,Group:_a,Array:xa,Pair:Ga,Dict:Ha,Output:Sd,Capture:xd,TemplateData:Td,If:oo,IfAsync:Jo,InlineIf:tc,For:dc,AsyncEach:Fc,AsyncAll:Jc,Macro:Dp,Caller:kp,Import:Qp,FromImport:Up,FunCall:Vp,Filter:qp,FilterAsync:Jp,KeywordArgs:Wp,Block:zp,Super:Qf,Extends:Kf,Include:Xf,Set:Ad,Switch:Cd,Case:wd,LookupVal:so,BinOp:Qh,In:Zh,Is:sA,Or:oA,And:hA,Not:eg,Add:tg,Concat:rg,Sub:ng,Mul:ig,Div:sg,FloorDiv:ag,Mod:og,Pow:ug,Neg:cg,Pos:lg,Compare:pg,CompareOperand:fg,CallExtension:dg,CallExtensionAsync:hg,printNodes:printNodes}},79695:(Me,Bn,Hn)=>{"use strict";function _defineProperties(Me,Bn){for(var Hn=0;Hn{"use strict";function _inheritsLoose(Me,Bn){Me.prototype=Object.create(Bn.prototype);Me.prototype.constructor=Me;_setPrototypeOf(Me,Bn)}function _setPrototypeOf(Me,Bn){_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(Me,Bn){Me.__proto__=Bn;return Me};return _setPrototypeOf(Me,Bn)}var zn=Hn(38852);var ni=Hn(16151);var Ci=Hn(79695).Obj;var ts=Hn(97853);var Ps=function(Me){_inheritsLoose(Parser,Me);function Parser(){return Me.apply(this,arguments)||this}var Bn=Parser.prototype;Bn.init=function init(Me){this.tokens=Me;this.peeked=null;this.breakOnBlocks=null;this.dropLeadingWhitespace=false;this.extensions=[]};Bn.nextToken=function nextToken(Me){var Bn;if(this.peeked){if(!Me&&this.peeked.type===zn.TOKEN_WHITESPACE){this.peeked=null}else{Bn=this.peeked;this.peeked=null;return Bn}}Bn=this.tokens.nextToken();if(!Me){while(Bn&&Bn.type===zn.TOKEN_WHITESPACE){Bn=this.tokens.nextToken()}}return Bn};Bn.peekToken=function peekToken(){this.peeked=this.peeked||this.nextToken();return this.peeked};Bn.pushToken=function pushToken(Me){if(this.peeked){throw new Error("pushToken: can only push one token on between reads")}this.peeked=Me};Bn.error=function error(Me,Bn,Hn){if(Bn===undefined||Hn===undefined){var zn=this.peekToken()||{};Bn=zn.lineno;Hn=zn.colno}if(Bn!==undefined){Bn+=1}if(Hn!==undefined){Hn+=1}return new ts.TemplateError(Me,Bn,Hn)};Bn.fail=function fail(Me,Bn,Hn){throw this.error(Me,Bn,Hn)};Bn.skip=function skip(Me){var Bn=this.nextToken();if(!Bn||Bn.type!==Me){this.pushToken(Bn);return false}return true};Bn.expect=function expect(Me){var Bn=this.nextToken();if(Bn.type!==Me){this.fail("expected "+Me+", got "+Bn.type,Bn.lineno,Bn.colno)}return Bn};Bn.skipValue=function skipValue(Me,Bn){var Hn=this.nextToken();if(!Hn||Hn.type!==Me||Hn.value!==Bn){this.pushToken(Hn);return false}return true};Bn.skipSymbol=function skipSymbol(Me){return this.skipValue(zn.TOKEN_SYMBOL,Me)};Bn.advanceAfterBlockEnd=function advanceAfterBlockEnd(Me){var Bn;if(!Me){Bn=this.peekToken();if(!Bn){this.fail("unexpected end of file")}if(Bn.type!==zn.TOKEN_SYMBOL){this.fail("advanceAfterBlockEnd: expected symbol token or "+"explicit name to be passed")}Me=this.nextToken().value}Bn=this.nextToken();if(Bn&&Bn.type===zn.TOKEN_BLOCK_END){if(Bn.value.charAt(0)==="-"){this.dropLeadingWhitespace=true}}else{this.fail("expected block end in "+Me+" statement")}return Bn};Bn.advanceAfterVariableEnd=function advanceAfterVariableEnd(){var Me=this.nextToken();if(Me&&Me.type===zn.TOKEN_VARIABLE_END){this.dropLeadingWhitespace=Me.value.charAt(Me.value.length-this.tokens.tags.VARIABLE_END.length-1)==="-"}else{this.pushToken(Me);this.fail("expected variable end")}};Bn.parseFor=function parseFor(){var Me=this.peekToken();var Bn;var Hn;if(this.skipSymbol("for")){Bn=new ni.For(Me.lineno,Me.colno);Hn="endfor"}else if(this.skipSymbol("asyncEach")){Bn=new ni.AsyncEach(Me.lineno,Me.colno);Hn="endeach"}else if(this.skipSymbol("asyncAll")){Bn=new ni.AsyncAll(Me.lineno,Me.colno);Hn="endall"}else{this.fail("parseFor: expected for{Async}",Me.lineno,Me.colno)}Bn.name=this.parsePrimary();if(!(Bn.name instanceof ni.Symbol)){this.fail("parseFor: variable name expected for loop")}var Ci=this.peekToken().type;if(Ci===zn.TOKEN_COMMA){var ts=Bn.name;Bn.name=new ni.Array(ts.lineno,ts.colno);Bn.name.addChild(ts);while(this.skip(zn.TOKEN_COMMA)){var Ps=this.parsePrimary();Bn.name.addChild(Ps)}}if(!this.skipSymbol("in")){this.fail('parseFor: expected "in" keyword for loop',Me.lineno,Me.colno)}Bn.arr=this.parseExpression();this.advanceAfterBlockEnd(Me.value);Bn.body=this.parseUntilBlocks(Hn,"else");if(this.skipSymbol("else")){this.advanceAfterBlockEnd("else");Bn.else_=this.parseUntilBlocks(Hn)}this.advanceAfterBlockEnd();return Bn};Bn.parseMacro=function parseMacro(){var Me=this.peekToken();if(!this.skipSymbol("macro")){this.fail("expected macro")}var Bn=this.parsePrimary(true);var Hn=this.parseSignature();var zn=new ni.Macro(Me.lineno,Me.colno,Bn,Hn);this.advanceAfterBlockEnd(Me.value);zn.body=this.parseUntilBlocks("endmacro");this.advanceAfterBlockEnd();return zn};Bn.parseCall=function parseCall(){var Me=this.peekToken();if(!this.skipSymbol("call")){this.fail("expected call")}var Bn=this.parseSignature(true)||new ni.NodeList;var Hn=this.parsePrimary();this.advanceAfterBlockEnd(Me.value);var zn=this.parseUntilBlocks("endcall");this.advanceAfterBlockEnd();var Ci=new ni.Symbol(Me.lineno,Me.colno,"caller");var ts=new ni.Caller(Me.lineno,Me.colno,Ci,Bn,zn);var Ps=Hn.args.children;if(!(Ps[Ps.length-1]instanceof ni.KeywordArgs)){Ps.push(new ni.KeywordArgs)}var aa=Ps[Ps.length-1];aa.addChild(new ni.Pair(Me.lineno,Me.colno,Ci,ts));return new ni.Output(Me.lineno,Me.colno,[Hn])};Bn.parseWithContext=function parseWithContext(){var Me=this.peekToken();var Bn=null;if(this.skipSymbol("with")){Bn=true}else if(this.skipSymbol("without")){Bn=false}if(Bn!==null){if(!this.skipSymbol("context")){this.fail("parseFrom: expected context after with/without",Me.lineno,Me.colno)}}return Bn};Bn.parseImport=function parseImport(){var Me=this.peekToken();if(!this.skipSymbol("import")){this.fail("parseImport: expected import",Me.lineno,Me.colno)}var Bn=this.parseExpression();if(!this.skipSymbol("as")){this.fail('parseImport: expected "as" keyword',Me.lineno,Me.colno)}var Hn=this.parseExpression();var zn=this.parseWithContext();var Ci=new ni.Import(Me.lineno,Me.colno,Bn,Hn,zn);this.advanceAfterBlockEnd(Me.value);return Ci};Bn.parseFrom=function parseFrom(){var Me=this.peekToken();if(!this.skipSymbol("from")){this.fail("parseFrom: expected from")}var Bn=this.parseExpression();if(!this.skipSymbol("import")){this.fail("parseFrom: expected import",Me.lineno,Me.colno)}var Hn=new ni.NodeList;var Ci;while(1){var ts=this.peekToken();if(ts.type===zn.TOKEN_BLOCK_END){if(!Hn.children.length){this.fail("parseFrom: Expected at least one import name",Me.lineno,Me.colno)}if(ts.value.charAt(0)==="-"){this.dropLeadingWhitespace=true}this.nextToken();break}if(Hn.children.length>0&&!this.skip(zn.TOKEN_COMMA)){this.fail("parseFrom: expected comma",Me.lineno,Me.colno)}var Ps=this.parsePrimary();if(Ps.value.charAt(0)==="_"){this.fail("parseFrom: names starting with an underscore cannot be imported",Ps.lineno,Ps.colno)}if(this.skipSymbol("as")){var aa=this.parsePrimary();Hn.addChild(new ni.Pair(Ps.lineno,Ps.colno,Ps,aa))}else{Hn.addChild(Ps)}Ci=this.parseWithContext()}return new ni.FromImport(Me.lineno,Me.colno,Bn,Hn,Ci)};Bn.parseBlock=function parseBlock(){var Me=this.peekToken();if(!this.skipSymbol("block")){this.fail("parseBlock: expected block",Me.lineno,Me.colno)}var Bn=new ni.Block(Me.lineno,Me.colno);Bn.name=this.parsePrimary();if(!(Bn.name instanceof ni.Symbol)){this.fail("parseBlock: variable name expected",Me.lineno,Me.colno)}this.advanceAfterBlockEnd(Me.value);Bn.body=this.parseUntilBlocks("endblock");this.skipSymbol("endblock");this.skipSymbol(Bn.name.value);var Hn=this.peekToken();if(!Hn){this.fail("parseBlock: expected endblock, got end of file")}this.advanceAfterBlockEnd(Hn.value);return Bn};Bn.parseExtends=function parseExtends(){var Me="extends";var Bn=this.peekToken();if(!this.skipSymbol(Me)){this.fail("parseTemplateRef: expected "+Me)}var Hn=new ni.Extends(Bn.lineno,Bn.colno);Hn.template=this.parseExpression();this.advanceAfterBlockEnd(Bn.value);return Hn};Bn.parseInclude=function parseInclude(){var Me="include";var Bn=this.peekToken();if(!this.skipSymbol(Me)){this.fail("parseInclude: expected "+Me)}var Hn=new ni.Include(Bn.lineno,Bn.colno);Hn.template=this.parseExpression();if(this.skipSymbol("ignore")&&this.skipSymbol("missing")){Hn.ignoreMissing=true}this.advanceAfterBlockEnd(Bn.value);return Hn};Bn.parseIf=function parseIf(){var Me=this.peekToken();var Bn;if(this.skipSymbol("if")||this.skipSymbol("elif")||this.skipSymbol("elseif")){Bn=new ni.If(Me.lineno,Me.colno)}else if(this.skipSymbol("ifAsync")){Bn=new ni.IfAsync(Me.lineno,Me.colno)}else{this.fail("parseIf: expected if, elif, or elseif",Me.lineno,Me.colno)}Bn.cond=this.parseExpression();this.advanceAfterBlockEnd(Me.value);Bn.body=this.parseUntilBlocks("elif","elseif","else","endif");var Hn=this.peekToken();switch(Hn&&Hn.value){case"elseif":case"elif":Bn.else_=this.parseIf();break;case"else":this.advanceAfterBlockEnd();Bn.else_=this.parseUntilBlocks("endif");this.advanceAfterBlockEnd();break;case"endif":Bn.else_=null;this.advanceAfterBlockEnd();break;default:this.fail("parseIf: expected elif, else, or endif, got end of file")}return Bn};Bn.parseSet=function parseSet(){var Me=this.peekToken();if(!this.skipSymbol("set")){this.fail("parseSet: expected set",Me.lineno,Me.colno)}var Bn=new ni.Set(Me.lineno,Me.colno,[]);var Hn;while(Hn=this.parsePrimary()){Bn.targets.push(Hn);if(!this.skip(zn.TOKEN_COMMA)){break}}if(!this.skipValue(zn.TOKEN_OPERATOR,"=")){if(!this.skip(zn.TOKEN_BLOCK_END)){this.fail("parseSet: expected = or block end in set tag",Me.lineno,Me.colno)}else{Bn.body=new ni.Capture(Me.lineno,Me.colno,this.parseUntilBlocks("endset"));Bn.value=null;this.advanceAfterBlockEnd()}}else{Bn.value=this.parseExpression();this.advanceAfterBlockEnd(Me.value)}return Bn};Bn.parseSwitch=function parseSwitch(){var Me="switch";var Bn="endswitch";var Hn="case";var zn="default";var Ci=this.peekToken();if(!this.skipSymbol(Me)&&!this.skipSymbol(Hn)&&!this.skipSymbol(zn)){this.fail('parseSwitch: expected "switch," "case" or "default"',Ci.lineno,Ci.colno)}var ts=this.parseExpression();this.advanceAfterBlockEnd(Me);this.parseUntilBlocks(Hn,zn,Bn);var Ps=this.peekToken();var aa=[];var oa;do{this.skipSymbol(Hn);var ca=this.parseExpression();this.advanceAfterBlockEnd(Me);var _a=this.parseUntilBlocks(Hn,zn,Bn);aa.push(new ni.Case(Ps.line,Ps.col,ca,_a));Ps=this.peekToken()}while(Ps&&Ps.value===Hn);switch(Ps.value){case zn:this.advanceAfterBlockEnd();oa=this.parseUntilBlocks(Bn);this.advanceAfterBlockEnd();break;case Bn:this.advanceAfterBlockEnd();break;default:this.fail('parseSwitch: expected "case," "default" or "endswitch," got EOF.')}return new ni.Switch(Ci.lineno,Ci.colno,ts,aa,oa)};Bn.parseStatement=function parseStatement(){var Me=this.peekToken();var Bn;if(Me.type!==zn.TOKEN_SYMBOL){this.fail("tag name expected",Me.lineno,Me.colno)}if(this.breakOnBlocks&&ts.indexOf(this.breakOnBlocks,Me.value)!==-1){return null}switch(Me.value){case"raw":return this.parseRaw();case"verbatim":return this.parseRaw("verbatim");case"if":case"ifAsync":return this.parseIf();case"for":case"asyncEach":case"asyncAll":return this.parseFor();case"block":return this.parseBlock();case"extends":return this.parseExtends();case"include":return this.parseInclude();case"set":return this.parseSet();case"macro":return this.parseMacro();case"call":return this.parseCall();case"import":return this.parseImport();case"from":return this.parseFrom();case"filter":return this.parseFilterStatement();case"switch":return this.parseSwitch();default:if(this.extensions.length){for(var Hn=0;Hn0){var aa=ts[0];var oa=ts[1];var ca=ts[2];if(ca===Me){zn+=1}else if(ca===Bn){zn-=1}if(zn===0){Ci+=oa;this.tokens.backN(aa.length-oa.length)}else{Ci+=aa}}return new ni.Output(Ps.lineno,Ps.colno,[new ni.TemplateData(Ps.lineno,Ps.colno,Ci)])};Bn.parsePostfix=function parsePostfix(Me){var Bn;var Hn=this.peekToken();while(Hn){if(Hn.type===zn.TOKEN_LEFT_PAREN){Me=new ni.FunCall(Hn.lineno,Hn.colno,Me,this.parseSignature())}else if(Hn.type===zn.TOKEN_LEFT_BRACKET){Bn=this.parseAggregate();if(Bn.children.length>1){this.fail("invalid index")}Me=new ni.LookupVal(Hn.lineno,Hn.colno,Me,Bn.children[0])}else if(Hn.type===zn.TOKEN_OPERATOR&&Hn.value==="."){this.nextToken();var Ci=this.nextToken();if(Ci.type!==zn.TOKEN_SYMBOL){this.fail("expected name as lookup value, got "+Ci.value,Ci.lineno,Ci.colno)}Bn=new ni.Literal(Ci.lineno,Ci.colno,Ci.value);Me=new ni.LookupVal(Hn.lineno,Hn.colno,Me,Bn)}else{break}Hn=this.peekToken()}return Me};Bn.parseExpression=function parseExpression(){var Me=this.parseInlineIf();return Me};Bn.parseInlineIf=function parseInlineIf(){var Me=this.parseOr();if(this.skipSymbol("if")){var Bn=this.parseOr();var Hn=Me;Me=new ni.InlineIf(Me.lineno,Me.colno);Me.body=Hn;Me.cond=Bn;if(this.skipSymbol("else")){Me.else_=this.parseOr()}else{Me.else_=null}}return Me};Bn.parseOr=function parseOr(){var Me=this.parseAnd();while(this.skipSymbol("or")){var Bn=this.parseAnd();Me=new ni.Or(Me.lineno,Me.colno,Me,Bn)}return Me};Bn.parseAnd=function parseAnd(){var Me=this.parseNot();while(this.skipSymbol("and")){var Bn=this.parseNot();Me=new ni.And(Me.lineno,Me.colno,Me,Bn)}return Me};Bn.parseNot=function parseNot(){var Me=this.peekToken();if(this.skipSymbol("not")){return new ni.Not(Me.lineno,Me.colno,this.parseNot())}return this.parseIn()};Bn.parseIn=function parseIn(){var Me=this.parseIs();while(1){var Bn=this.nextToken();if(!Bn){break}var Hn=Bn.type===zn.TOKEN_SYMBOL&&Bn.value==="not";if(!Hn){this.pushToken(Bn)}if(this.skipSymbol("in")){var Ci=this.parseIs();Me=new ni.In(Me.lineno,Me.colno,Me,Ci);if(Hn){Me=new ni.Not(Me.lineno,Me.colno,Me)}}else{if(Hn){this.pushToken(Bn)}break}}return Me};Bn.parseIs=function parseIs(){var Me=this.parseCompare();if(this.skipSymbol("is")){var Bn=this.skipSymbol("not");var Hn=this.parseCompare();Me=new ni.Is(Me.lineno,Me.colno,Me,Hn);if(Bn){Me=new ni.Not(Me.lineno,Me.colno,Me)}}return Me};Bn.parseCompare=function parseCompare(){var Me=["==","===","!=","!==","<",">","<=",">="];var Bn=this.parseConcat();var Hn=[];while(1){var zn=this.nextToken();if(!zn){break}else if(Me.indexOf(zn.value)!==-1){Hn.push(new ni.CompareOperand(zn.lineno,zn.colno,this.parseConcat(),zn.value))}else{this.pushToken(zn);break}}if(Hn.length){return new ni.Compare(Hn[0].lineno,Hn[0].colno,Bn,Hn)}else{return Bn}};Bn.parseConcat=function parseConcat(){var Me=this.parseAdd();while(this.skipValue(zn.TOKEN_TILDE,"~")){var Bn=this.parseAdd();Me=new ni.Concat(Me.lineno,Me.colno,Me,Bn)}return Me};Bn.parseAdd=function parseAdd(){var Me=this.parseSub();while(this.skipValue(zn.TOKEN_OPERATOR,"+")){var Bn=this.parseSub();Me=new ni.Add(Me.lineno,Me.colno,Me,Bn)}return Me};Bn.parseSub=function parseSub(){var Me=this.parseMul();while(this.skipValue(zn.TOKEN_OPERATOR,"-")){var Bn=this.parseMul();Me=new ni.Sub(Me.lineno,Me.colno,Me,Bn)}return Me};Bn.parseMul=function parseMul(){var Me=this.parseDiv();while(this.skipValue(zn.TOKEN_OPERATOR,"*")){var Bn=this.parseDiv();Me=new ni.Mul(Me.lineno,Me.colno,Me,Bn)}return Me};Bn.parseDiv=function parseDiv(){var Me=this.parseFloorDiv();while(this.skipValue(zn.TOKEN_OPERATOR,"/")){var Bn=this.parseFloorDiv();Me=new ni.Div(Me.lineno,Me.colno,Me,Bn)}return Me};Bn.parseFloorDiv=function parseFloorDiv(){var Me=this.parseMod();while(this.skipValue(zn.TOKEN_OPERATOR,"//")){var Bn=this.parseMod();Me=new ni.FloorDiv(Me.lineno,Me.colno,Me,Bn)}return Me};Bn.parseMod=function parseMod(){var Me=this.parsePow();while(this.skipValue(zn.TOKEN_OPERATOR,"%")){var Bn=this.parsePow();Me=new ni.Mod(Me.lineno,Me.colno,Me,Bn)}return Me};Bn.parsePow=function parsePow(){var Me=this.parseUnary();while(this.skipValue(zn.TOKEN_OPERATOR,"**")){var Bn=this.parseUnary();Me=new ni.Pow(Me.lineno,Me.colno,Me,Bn)}return Me};Bn.parseUnary=function parseUnary(Me){var Bn=this.peekToken();var Hn;if(this.skipValue(zn.TOKEN_OPERATOR,"-")){Hn=new ni.Neg(Bn.lineno,Bn.colno,this.parseUnary(true))}else if(this.skipValue(zn.TOKEN_OPERATOR,"+")){Hn=new ni.Pos(Bn.lineno,Bn.colno,this.parseUnary(true))}else{Hn=this.parsePrimary()}if(!Me){Hn=this.parseFilter(Hn)}return Hn};Bn.parsePrimary=function parsePrimary(Me){var Bn=this.nextToken();var Hn;var Ci=null;if(!Bn){this.fail("expected expression, got end of file")}else if(Bn.type===zn.TOKEN_STRING){Hn=Bn.value}else if(Bn.type===zn.TOKEN_INT){Hn=parseInt(Bn.value,10)}else if(Bn.type===zn.TOKEN_FLOAT){Hn=parseFloat(Bn.value)}else if(Bn.type===zn.TOKEN_BOOLEAN){if(Bn.value==="true"){Hn=true}else if(Bn.value==="false"){Hn=false}else{this.fail("invalid boolean: "+Bn.value,Bn.lineno,Bn.colno)}}else if(Bn.type===zn.TOKEN_NONE){Hn=null}else if(Bn.type===zn.TOKEN_REGEX){Hn=new RegExp(Bn.value.body,Bn.value.flags)}if(Hn!==undefined){Ci=new ni.Literal(Bn.lineno,Bn.colno,Hn)}else if(Bn.type===zn.TOKEN_SYMBOL){Ci=new ni.Symbol(Bn.lineno,Bn.colno,Bn.value)}else{this.pushToken(Bn);Ci=this.parseAggregate()}if(!Me){Ci=this.parsePostfix(Ci)}if(Ci){return Ci}else{throw this.error("unexpected token: "+Bn.value,Bn.lineno,Bn.colno)}};Bn.parseFilterName=function parseFilterName(){var Me=this.expect(zn.TOKEN_SYMBOL);var Bn=Me.value;while(this.skipValue(zn.TOKEN_OPERATOR,".")){Bn+="."+this.expect(zn.TOKEN_SYMBOL).value}return new ni.Symbol(Me.lineno,Me.colno,Bn)};Bn.parseFilterArgs=function parseFilterArgs(Me){if(this.peekToken().type===zn.TOKEN_LEFT_PAREN){var Bn=this.parsePostfix(Me);return Bn.args.children}return[]};Bn.parseFilter=function parseFilter(Me){while(this.skip(zn.TOKEN_PIPE)){var Bn=this.parseFilterName();Me=new ni.Filter(Bn.lineno,Bn.colno,Bn,new ni.NodeList(Bn.lineno,Bn.colno,[Me].concat(this.parseFilterArgs(Me))))}return Me};Bn.parseFilterStatement=function parseFilterStatement(){var Me=this.peekToken();if(!this.skipSymbol("filter")){this.fail("parseFilterStatement: expected filter")}var Bn=this.parseFilterName();var Hn=this.parseFilterArgs(Bn);this.advanceAfterBlockEnd(Me.value);var zn=new ni.Capture(Bn.lineno,Bn.colno,this.parseUntilBlocks("endfilter"));this.advanceAfterBlockEnd();var Ci=new ni.Filter(Bn.lineno,Bn.colno,Bn,new ni.NodeList(Bn.lineno,Bn.colno,[zn].concat(Hn)));return new ni.Output(Bn.lineno,Bn.colno,[Ci])};Bn.parseAggregate=function parseAggregate(){var Me=this.nextToken();var Bn;switch(Me.type){case zn.TOKEN_LEFT_PAREN:Bn=new ni.Group(Me.lineno,Me.colno);break;case zn.TOKEN_LEFT_BRACKET:Bn=new ni.Array(Me.lineno,Me.colno);break;case zn.TOKEN_LEFT_CURLY:Bn=new ni.Dict(Me.lineno,Me.colno);break;default:return null}while(1){var Hn=this.peekToken().type;if(Hn===zn.TOKEN_RIGHT_PAREN||Hn===zn.TOKEN_RIGHT_BRACKET||Hn===zn.TOKEN_RIGHT_CURLY){this.nextToken();break}if(Bn.children.length>0){if(!this.skip(zn.TOKEN_COMMA)){this.fail("parseAggregate: expected comma after expression",Me.lineno,Me.colno)}}if(Bn instanceof ni.Dict){var Ci=this.parsePrimary();if(!this.skip(zn.TOKEN_COLON)){this.fail("parseAggregate: expected colon after dict key",Me.lineno,Me.colno)}var ts=this.parseExpression();Bn.addChild(new ni.Pair(Ci.lineno,Ci.colno,Ci,ts))}else{var Ps=this.parseExpression();Bn.addChild(Ps)}}return Bn};Bn.parseSignature=function parseSignature(Me,Bn){var Hn=this.peekToken();if(!Bn&&Hn.type!==zn.TOKEN_LEFT_PAREN){if(Me){return null}else{this.fail("expected arguments",Hn.lineno,Hn.colno)}}if(Hn.type===zn.TOKEN_LEFT_PAREN){Hn=this.nextToken()}var Ci=new ni.NodeList(Hn.lineno,Hn.colno);var ts=new ni.KeywordArgs(Hn.lineno,Hn.colno);var Ps=false;while(1){Hn=this.peekToken();if(!Bn&&Hn.type===zn.TOKEN_RIGHT_PAREN){this.nextToken();break}else if(Bn&&Hn.type===zn.TOKEN_BLOCK_END){break}if(Ps&&!this.skip(zn.TOKEN_COMMA)){this.fail("parseSignature: expected comma after expression",Hn.lineno,Hn.colno)}else{var aa=this.parseExpression();if(this.skipValue(zn.TOKEN_OPERATOR,"=")){ts.addChild(new ni.Pair(aa.lineno,aa.colno,aa,this.parseExpression()))}else{Ci.addChild(aa)}}Ps=true}if(ts.children.length){Ci.addChild(ts)}return Ci};Bn.parseUntilBlocks=function parseUntilBlocks(){var Me=this.breakOnBlocks;for(var Bn=arguments.length,Hn=new Array(Bn),zn=0;zn{"use strict";function precompileGlobal(Me,Bn){var Hn="";Bn=Bn||{};for(var zn=0;zn{"use strict";var zn=Hn(79896);var ni=Hn(16928);var Ci=Hn(97853),ts=Ci._prettifyError;var Ps=Hn(8993);var aa=Hn(14499),oa=aa.Environment;var ca=Hn(92544);function match(Me,Bn){if(!Array.isArray(Bn)){return false}return Bn.some((function(Bn){return Me.match(Bn)}))}function precompileString(Me,Bn){Bn=Bn||{};Bn.isString=true;var Hn=Bn.env||new oa([]);var zn=Bn.wrapper||ca;if(!Bn.name){throw new Error('the "name" option is required when compiling a string')}return zn([_precompile(Me,Bn.name,Hn)],Bn)}function precompile(Me,Bn){Bn=Bn||{};var Hn=Bn.env||new oa([]);var Ci=Bn.wrapper||ca;if(Bn.isString){return precompileString(Me,Bn)}var ts=zn.existsSync(Me)&&zn.statSync(Me);var Ps=[];var aa=[];function addTemplates(Hn){zn.readdirSync(Hn).forEach((function(Ci){var ts=ni.join(Hn,Ci);var Ps=ts.substr(ni.join(Me,"/").length);var oa=zn.statSync(ts);if(oa&&oa.isDirectory()){Ps+="/";if(!match(Ps,Bn.exclude)){addTemplates(ts)}}else if(match(Ps,Bn.include)){aa.push(ts)}}))}if(ts.isFile()){Ps.push(_precompile(zn.readFileSync(Me,"utf-8"),Bn.name||Me,Hn))}else if(ts.isDirectory()){addTemplates(Me);for(var _a=0;_a{"use strict";function _inheritsLoose(Me,Bn){Me.prototype=Object.create(Bn.prototype);Me.prototype.constructor=Me;_setPrototypeOf(Me,Bn)}function _setPrototypeOf(Me,Bn){_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(Me,Bn){Me.__proto__=Bn;return Me};return _setPrototypeOf(Me,Bn)}var zn=Hn(43391);var ni=function(Me){_inheritsLoose(PrecompiledLoader,Me);function PrecompiledLoader(Bn){var Hn;Hn=Me.call(this)||this;Hn.precompiled=Bn||{};return Hn}var Bn=PrecompiledLoader.prototype;Bn.getSource=function getSource(Me){if(this.precompiled[Me]){return{src:{type:"code",obj:this.precompiled[Me]},path:Me}}return null};return PrecompiledLoader}(zn);Me.exports={PrecompiledLoader:ni}},69846:(Me,Bn,Hn)=>{"use strict";var zn=Hn(97853);var ni=Array.from;var Ci=typeof Symbol==="function"&&Symbol.iterator&&typeof ni==="function";var ts=function(){function Frame(Me,Bn){this.variables=Object.create(null);this.parent=Me;this.topLevel=false;this.isolateWrites=Bn}var Me=Frame.prototype;Me.set=function set(Me,Bn,Hn){var zn=Me.split(".");var ni=this.variables;var Ci=this;if(Hn){if(Ci=this.resolve(zn[0],true)){Ci.set(Me,Bn);return}}for(var ts=0;tsMe.length){Ps=ni.slice(0,Me.length);ni.slice(Ps.length,ts).forEach((function(Me,Hn){if(Hn{"use strict";var zn=Hn(69846).SafeString;function callable(Me){return typeof Me==="function"}Bn.callable=callable;function defined(Me){return Me!==undefined}Bn.defined=defined;function divisibleby(Me,Bn){return Me%Bn===0}Bn.divisibleby=divisibleby;function escaped(Me){return Me instanceof zn}Bn.escaped=escaped;function equalto(Me,Bn){return Me===Bn}Bn.equalto=equalto;Bn.eq=Bn.equalto;Bn.sameas=Bn.equalto;function even(Me){return Me%2===0}Bn.even=even;function falsy(Me){return!Me}Bn.falsy=falsy;function ge(Me,Bn){return Me>=Bn}Bn.ge=ge;function greaterthan(Me,Bn){return Me>Bn}Bn.greaterthan=greaterthan;Bn.gt=Bn.greaterthan;function le(Me,Bn){return Me<=Bn}Bn.le=le;function lessthan(Me,Bn){return Me{"use strict";var zn=Hn(16151);var ni=Hn(97853);var Ci=0;function gensym(){return"hole_"+Ci++}function mapCOW(Me,Bn){var Hn=null;for(var zn=0;zn{var zn=typeof Map==="function"&&Map.prototype;var ni=Object.getOwnPropertyDescriptor&&zn?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null;var Ci=zn&&ni&&typeof ni.get==="function"?ni.get:null;var ts=zn&&Map.prototype.forEach;var Ps=typeof Set==="function"&&Set.prototype;var aa=Object.getOwnPropertyDescriptor&&Ps?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null;var oa=Ps&&aa&&typeof aa.get==="function"?aa.get:null;var ca=Ps&&Set.prototype.forEach;var _a=typeof WeakMap==="function"&&WeakMap.prototype;var xa=_a?WeakMap.prototype.has:null;var Ga=typeof WeakSet==="function"&&WeakSet.prototype;var Ha=Ga?WeakSet.prototype.has:null;var so=typeof WeakRef==="function"&&WeakRef.prototype;var oo=so?WeakRef.prototype.deref:null;var Jo=Boolean.prototype.valueOf;var tc=Object.prototype.toString;var dc=Function.prototype.toString;var Fc=String.prototype.match;var Jc=String.prototype.slice;var Dp=String.prototype.replace;var kp=String.prototype.toUpperCase;var Qp=String.prototype.toLowerCase;var Up=RegExp.prototype.test;var Vp=Array.prototype.concat;var qp=Array.prototype.join;var Jp=Array.prototype.slice;var Wp=Math.floor;var zp=typeof BigInt==="function"?BigInt.prototype.valueOf:null;var Qf=Object.getOwnPropertySymbols;var Yf=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?Symbol.prototype.toString:null;var Kf=typeof Symbol==="function"&&typeof Symbol.iterator==="object";var Xf=typeof Symbol==="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===Kf?"object":"symbol")?Symbol.toStringTag:null;var Ad=Object.prototype.propertyIsEnumerable;var Cd=(typeof Reflect==="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(Me){return Me.__proto__}:null);function addNumericSeparator(Me,Bn){if(Me===Infinity||Me===-Infinity||Me!==Me||Me&&Me>-1e3&&Me<1e3||Up.call(/e/,Bn)){return Bn}var Hn=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof Me==="number"){var zn=Me<0?-Wp(-Me):Wp(Me);if(zn!==Me){var ni=String(zn);var Ci=Jc.call(Bn,ni.length+1);return Dp.call(ni,Hn,"$&_")+"."+Dp.call(Dp.call(Ci,/([0-9]{3})/g,"$&_"),/_$/,"")}}return Dp.call(Bn,Hn,"$&_")}var wd=Hn(58502);var Sd=wd.custom;var xd=isSymbol(Sd)?Sd:null;var Td={__proto__:null,double:'"',single:"'"};var Pd={__proto__:null,double:/(["\\])/g,single:/(['\\])/g};Me.exports=function inspect_(Me,Bn,Hn,zn){var ni=Bn||{};if(has(ni,"quoteStyle")&&!has(Td,ni.quoteStyle)){throw new TypeError('option "quoteStyle" must be "single" or "double"')}if(has(ni,"maxStringLength")&&(typeof ni.maxStringLength==="number"?ni.maxStringLength<0&&ni.maxStringLength!==Infinity:ni.maxStringLength!==null)){throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`')}var Ps=has(ni,"customInspect")?ni.customInspect:true;if(typeof Ps!=="boolean"&&Ps!=="symbol"){throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`")}if(has(ni,"indent")&&ni.indent!==null&&ni.indent!=="\t"&&!(parseInt(ni.indent,10)===ni.indent&&ni.indent>0)){throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`')}if(has(ni,"numericSeparator")&&typeof ni.numericSeparator!=="boolean"){throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`')}var aa=ni.numericSeparator;if(typeof Me==="undefined"){return"undefined"}if(Me===null){return"null"}if(typeof Me==="boolean"){return Me?"true":"false"}if(typeof Me==="string"){return inspectString(Me,ni)}if(typeof Me==="number"){if(Me===0){return Infinity/Me>0?"0":"-0"}var _a=String(Me);return aa?addNumericSeparator(Me,_a):_a}if(typeof Me==="bigint"){var xa=String(Me)+"n";return aa?addNumericSeparator(Me,xa):xa}var Ga=typeof ni.depth==="undefined"?5:ni.depth;if(typeof Hn==="undefined"){Hn=0}if(Hn>=Ga&&Ga>0&&typeof Me==="object"){return isArray(Me)?"[Array]":"[Object]"}var Ha=getIndent(ni,Hn);if(typeof zn==="undefined"){zn=[]}else if(indexOf(zn,Me)>=0){return"[Circular]"}function inspect(Me,Bn,Ci){if(Bn){zn=Jp.call(zn);zn.push(Bn)}if(Ci){var ts={depth:ni.depth};if(has(ni,"quoteStyle")){ts.quoteStyle=ni.quoteStyle}return inspect_(Me,ts,Hn+1,zn)}return inspect_(Me,ni,Hn+1,zn)}if(typeof Me==="function"&&!isRegExp(Me)){var so=nameOf(Me);var oo=arrObjKeys(Me,inspect);return"[Function"+(so?": "+so:" (anonymous)")+"]"+(oo.length>0?" { "+qp.call(oo,", ")+" }":"")}if(isSymbol(Me)){var tc=Kf?Dp.call(String(Me),/^(Symbol\(.*\))_[^)]*$/,"$1"):Yf.call(Me);return typeof Me==="object"&&!Kf?markBoxed(tc):tc}if(isElement(Me)){var dc="<"+Qp.call(String(Me.nodeName));var Fc=Me.attributes||[];for(var kp=0;kp";return dc}if(isArray(Me)){if(Me.length===0){return"[]"}var Up=arrObjKeys(Me,inspect);if(Ha&&!singleLineValues(Up)){return"["+indentedJoin(Up,Ha)+"]"}return"[ "+qp.call(Up,", ")+" ]"}if(isError(Me)){var Wp=arrObjKeys(Me,inspect);if(!("cause"in Error.prototype)&&"cause"in Me&&!Ad.call(Me,"cause")){return"{ ["+String(Me)+"] "+qp.call(Vp.call("[cause]: "+inspect(Me.cause),Wp),", ")+" }"}if(Wp.length===0){return"["+String(Me)+"]"}return"{ ["+String(Me)+"] "+qp.call(Wp,", ")+" }"}if(typeof Me==="object"&&Ps){if(xd&&typeof Me[xd]==="function"&&wd){return wd(Me,{depth:Ga-Hn})}else if(Ps!=="symbol"&&typeof Me.inspect==="function"){return Me.inspect()}}if(isMap(Me)){var Qf=[];if(ts){ts.call(Me,(function(Bn,Hn){Qf.push(inspect(Hn,Me,true)+" => "+inspect(Bn,Me))}))}return collectionOf("Map",Ci.call(Me),Qf,Ha)}if(isSet(Me)){var Sd=[];if(ca){ca.call(Me,(function(Bn){Sd.push(inspect(Bn,Me))}))}return collectionOf("Set",oa.call(Me),Sd,Ha)}if(isWeakMap(Me)){return weakCollectionOf("WeakMap")}if(isWeakSet(Me)){return weakCollectionOf("WeakSet")}if(isWeakRef(Me)){return weakCollectionOf("WeakRef")}if(isNumber(Me)){return markBoxed(inspect(Number(Me)))}if(isBigInt(Me)){return markBoxed(inspect(zp.call(Me)))}if(isBoolean(Me)){return markBoxed(Jo.call(Me))}if(isString(Me)){return markBoxed(inspect(String(Me)))}if(typeof window!=="undefined"&&Me===window){return"{ [object Window] }"}if(typeof globalThis!=="undefined"&&Me===globalThis||typeof global!=="undefined"&&Me===global){return"{ [object globalThis] }"}if(!isDate(Me)&&!isRegExp(Me)){var Pd=arrObjKeys(Me,inspect);var Qh=Cd?Cd(Me)===Object.prototype:Me instanceof Object||Me.constructor===Object;var Zh=Me instanceof Object?"":"null prototype";var sA=!Qh&&Xf&&Object(Me)===Me&&Xf in Me?Jc.call(toStr(Me),8,-1):Zh?"Object":"";var oA=Qh||typeof Me.constructor!=="function"?"":Me.constructor.name?Me.constructor.name+" ":"";var hA=oA+(sA||Zh?"["+qp.call(Vp.call([],sA||[],Zh||[]),": ")+"] ":"");if(Pd.length===0){return hA+"{}"}if(Ha){return hA+"{"+indentedJoin(Pd,Ha)+"}"}return hA+"{ "+qp.call(Pd,", ")+" }"}return String(Me)};function wrapQuotes(Me,Bn,Hn){var zn=Hn.quoteStyle||Bn;var ni=Td[zn];return ni+Me+ni}function quote(Me){return Dp.call(String(Me),/"/g,""")}function isArray(Me){return toStr(Me)==="[object Array]"&&(!Xf||!(typeof Me==="object"&&Xf in Me))}function isDate(Me){return toStr(Me)==="[object Date]"&&(!Xf||!(typeof Me==="object"&&Xf in Me))}function isRegExp(Me){return toStr(Me)==="[object RegExp]"&&(!Xf||!(typeof Me==="object"&&Xf in Me))}function isError(Me){return toStr(Me)==="[object Error]"&&(!Xf||!(typeof Me==="object"&&Xf in Me))}function isString(Me){return toStr(Me)==="[object String]"&&(!Xf||!(typeof Me==="object"&&Xf in Me))}function isNumber(Me){return toStr(Me)==="[object Number]"&&(!Xf||!(typeof Me==="object"&&Xf in Me))}function isBoolean(Me){return toStr(Me)==="[object Boolean]"&&(!Xf||!(typeof Me==="object"&&Xf in Me))}function isSymbol(Me){if(Kf){return Me&&typeof Me==="object"&&Me instanceof Symbol}if(typeof Me==="symbol"){return true}if(!Me||typeof Me!=="object"||!Yf){return false}try{Yf.call(Me);return true}catch(Me){}return false}function isBigInt(Me){if(!Me||typeof Me!=="object"||!zp){return false}try{zp.call(Me);return true}catch(Me){}return false}var Qh=Object.prototype.hasOwnProperty||function(Me){return Me in this};function has(Me,Bn){return Qh.call(Me,Bn)}function toStr(Me){return tc.call(Me)}function nameOf(Me){if(Me.name){return Me.name}var Bn=Fc.call(dc.call(Me),/^function\s*([\w$]+)/);if(Bn){return Bn[1]}return null}function indexOf(Me,Bn){if(Me.indexOf){return Me.indexOf(Bn)}for(var Hn=0,zn=Me.length;HnBn.maxStringLength){var Hn=Me.length-Bn.maxStringLength;var zn="... "+Hn+" more character"+(Hn>1?"s":"");return inspectString(Jc.call(Me,0,Bn.maxStringLength),Bn)+zn}var ni=Pd[Bn.quoteStyle||"single"];ni.lastIndex=0;var Ci=Dp.call(Dp.call(Me,ni,"\\$1"),/[\x00-\x1f]/g,lowbyte);return wrapQuotes(Ci,"single",Bn)}function lowbyte(Me){var Bn=Me.charCodeAt(0);var Hn={8:"b",9:"t",10:"n",12:"f",13:"r"}[Bn];if(Hn){return"\\"+Hn}return"\\x"+(Bn<16?"0":"")+kp.call(Bn.toString(16))}function markBoxed(Me){return"Object("+Me+")"}function weakCollectionOf(Me){return Me+" { ? }"}function collectionOf(Me,Bn,Hn,zn){var ni=zn?indentedJoin(Hn,zn):qp.call(Hn,", ");return Me+" ("+Bn+") {"+ni+"}"}function singleLineValues(Me){for(var Bn=0;Bn=0){return false}}return true}function getIndent(Me,Bn){var Hn;if(Me.indent==="\t"){Hn="\t"}else if(typeof Me.indent==="number"&&Me.indent>0){Hn=qp.call(Array(Me.indent+1)," ")}else{return null}return{base:Hn,prev:qp.call(Array(Bn+1),Hn)}}function indentedJoin(Me,Bn){if(Me.length===0){return""}var Hn="\n"+Bn.prev+Bn.base;return Hn+qp.call(Me,","+Hn)+"\n"+Bn.prev}function arrObjKeys(Me,Bn){var Hn=isArray(Me);var zn=[];if(Hn){zn.length=Me.length;for(var ni=0;ni{Me.exports=Hn(39023).inspect},55560:(Me,Bn,Hn)=>{var zn=Hn(58264);Me.exports=zn(once);Me.exports.strict=zn(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(Me){var f=function(){if(f.called)return f.value;f.called=true;return f.value=Me.apply(this,arguments)};f.called=false;return f}function onceStrict(Me){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=Me.apply(this,arguments)};var Bn=Me.name||"Function wrapped with `once`";f.onceError=Bn+" shouldn't be called more than once";f.called=false;return f}},82673:Me=>{"use strict";function _typeof(Me){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(Me){return typeof Me}:function(Me){return Me&&"function"==typeof Symbol&&Me.constructor===Symbol&&Me!==Symbol.prototype?"symbol":typeof Me},_typeof(Me)}function _createForOfIteratorHelper(Me,Bn){var Hn=typeof Symbol!=="undefined"&&Me[Symbol.iterator]||Me["@@iterator"];if(!Hn){if(Array.isArray(Me)||(Hn=_unsupportedIterableToArray(Me))||Bn&&Me&&typeof Me.length==="number"){if(Hn)Me=Hn;var zn=0;var ni=function F(){};return{s:ni,n:function n(){if(zn>=Me.length)return{done:true};return{done:false,value:Me[zn++]}},e:function e(Me){throw Me},f:ni}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var Ci=true,ts=false,Ps;return{s:function s(){Hn=Hn.call(Me)},n:function n(){var Me=Hn.next();Ci=Me.done;return Me},e:function e(Me){ts=true;Ps=Me},f:function f(){try{if(!Ci&&Hn["return"]!=null)Hn["return"]()}finally{if(ts)throw Ps}}}}function _defineProperty(Me,Bn,Hn){Bn=_toPropertyKey(Bn);if(Bn in Me){Object.defineProperty(Me,Bn,{value:Hn,enumerable:true,configurable:true,writable:true})}else{Me[Bn]=Hn}return Me}function _toPropertyKey(Me){var Bn=_toPrimitive(Me,"string");return _typeof(Bn)==="symbol"?Bn:String(Bn)}function _toPrimitive(Me,Bn){if(_typeof(Me)!=="object"||Me===null)return Me;var Hn=Me[Symbol.toPrimitive];if(Hn!==undefined){var zn=Hn.call(Me,Bn||"default");if(_typeof(zn)!=="object")return zn;throw new TypeError("@@toPrimitive must return a primitive value.")}return(Bn==="string"?String:Number)(Me)}function _slicedToArray(Me,Bn){return _arrayWithHoles(Me)||_iterableToArrayLimit(Me,Bn)||_unsupportedIterableToArray(Me,Bn)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(Me,Bn){if(!Me)return;if(typeof Me==="string")return _arrayLikeToArray(Me,Bn);var Hn=Object.prototype.toString.call(Me).slice(8,-1);if(Hn==="Object"&&Me.constructor)Hn=Me.constructor.name;if(Hn==="Map"||Hn==="Set")return Array.from(Me);if(Hn==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Hn))return _arrayLikeToArray(Me,Bn)}function _arrayLikeToArray(Me,Bn){if(Bn==null||Bn>Me.length)Bn=Me.length;for(var Hn=0,zn=new Array(Bn);Hn{"use strict";Me.exports=Hn(73505)},30742:Me=>{"use strict";const Bn="\\\\/";const Hn=`[^${Bn}]`;const zn="\\.";const ni="\\+";const Ci="\\?";const ts="\\/";const Ps="(?=.)";const aa="[^/]";const oa=`(?:${ts}|$)`;const ca=`(?:^|${ts})`;const _a=`${zn}{1,2}${oa}`;const xa=`(?!${zn})`;const Ga=`(?!${ca}${_a})`;const Ha=`(?!${zn}{0,1}${oa})`;const so=`(?!${_a})`;const oo=`[^.${ts}]`;const Jo=`${aa}*?`;const tc="/";const dc={DOT_LITERAL:zn,PLUS_LITERAL:ni,QMARK_LITERAL:Ci,SLASH_LITERAL:ts,ONE_CHAR:Ps,QMARK:aa,END_ANCHOR:oa,DOTS_SLASH:_a,NO_DOT:xa,NO_DOTS:Ga,NO_DOT_SLASH:Ha,NO_DOTS_SLASH:so,QMARK_NO_DOT:oo,STAR:Jo,START_ANCHOR:ca,SEP:tc};const Fc={...dc,SLASH_LITERAL:`[${Bn}]`,QMARK:Hn,STAR:`${Hn}*?`,DOTS_SLASH:`${zn}{1,2}(?:[${Bn}]|$)`,NO_DOT:`(?!${zn})`,NO_DOTS:`(?!(?:^|[${Bn}])${zn}{1,2}(?:[${Bn}]|$))`,NO_DOT_SLASH:`(?!${zn}{0,1}(?:[${Bn}]|$))`,NO_DOTS_SLASH:`(?!${zn}{1,2}(?:[${Bn}]|$))`,QMARK_NO_DOT:`[^.${Bn}]`,START_ANCHOR:`(?:^|[${Bn}])`,END_ANCHOR:`(?:[${Bn}]|$)`,SEP:"\\"};const Jc={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};Me.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:Jc,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars(Me){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${Me.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(Me){return Me===true?Fc:dc}}},31276:(Me,Bn,Hn)=>{"use strict";const zn=Hn(30742);const ni=Hn(32430);const{MAX_LENGTH:Ci,POSIX_REGEX_SOURCE:ts,REGEX_NON_SPECIAL_CHARS:Ps,REGEX_SPECIAL_CHARS_BACKREF:aa,REPLACEMENTS:oa}=zn;const expandRange=(Me,Bn)=>{if(typeof Bn.expandRange==="function"){return Bn.expandRange(...Me,Bn)}Me.sort();const Hn=`[${Me.join("-")}]`;try{new RegExp(Hn)}catch(Bn){return Me.map((Me=>ni.escapeRegex(Me))).join("..")}return Hn};const syntaxError=(Me,Bn)=>`Missing ${Me}: "${Bn}" - use "\\\\${Bn}" to match literal characters`;const parse=(Me,Bn)=>{if(typeof Me!=="string"){throw new TypeError("Expected a string")}Me=oa[Me]||Me;const Hn={...Bn};const ca=typeof Hn.maxLength==="number"?Math.min(Ci,Hn.maxLength):Ci;let _a=Me.length;if(_a>ca){throw new SyntaxError(`Input length: ${_a}, exceeds maximum allowed length: ${ca}`)}const xa={type:"bos",value:"",output:Hn.prepend||""};const Ga=[xa];const Ha=Hn.capture?"":"?:";const so=zn.globChars(Hn.windows);const oo=zn.extglobChars(so);const{DOT_LITERAL:Jo,PLUS_LITERAL:tc,SLASH_LITERAL:dc,ONE_CHAR:Fc,DOTS_SLASH:Jc,NO_DOT:Dp,NO_DOT_SLASH:kp,NO_DOTS_SLASH:Qp,QMARK:Up,QMARK_NO_DOT:Vp,STAR:qp,START_ANCHOR:Jp}=so;const globstar=Me=>`(${Ha}(?:(?!${Jp}${Me.dot?Jc:Jo}).)*?)`;const Wp=Hn.dot?"":Dp;const zp=Hn.dot?Up:Vp;let Qf=Hn.bash===true?globstar(Hn):qp;if(Hn.capture){Qf=`(${Qf})`}if(typeof Hn.noext==="boolean"){Hn.noextglob=Hn.noext}const Yf={input:Me,index:-1,start:0,dot:Hn.dot===true,consumed:"",output:"",prefix:"",backtrack:false,negated:false,brackets:0,braces:0,parens:0,quotes:0,globstar:false,tokens:Ga};Me=ni.removePrefix(Me,Yf);_a=Me.length;const Kf=[];const Xf=[];const Ad=[];let Cd=xa;let wd;const eos=()=>Yf.index===_a-1;const Sd=Yf.peek=(Bn=1)=>Me[Yf.index+Bn];const xd=Yf.advance=()=>Me[++Yf.index];const remaining=()=>Me.slice(Yf.index+1);const consume=(Me="",Bn=0)=>{Yf.consumed+=Me;Yf.index+=Bn};const append=Me=>{Yf.output+=Me.output!=null?Me.output:Me.value;consume(Me.value)};const negate=()=>{let Me=1;while(Sd()==="!"&&(Sd(2)!=="("||Sd(3)==="?")){xd();Yf.start++;Me++}if(Me%2===0){return false}Yf.negated=true;Yf.start++;return true};const increment=Me=>{Yf[Me]++;Ad.push(Me)};const decrement=Me=>{Yf[Me]--;Ad.pop()};const push=Me=>{if(Cd.type==="globstar"){const Bn=Yf.braces>0&&(Me.type==="comma"||Me.type==="brace");const Hn=Me.extglob===true||Kf.length&&(Me.type==="pipe"||Me.type==="paren");if(Me.type!=="slash"&&Me.type!=="paren"&&!Bn&&!Hn){Yf.output=Yf.output.slice(0,-Cd.output.length);Cd.type="star";Cd.value="*";Cd.output=Qf;Yf.output+=Cd.output}}if(Kf.length&&Me.type!=="paren"&&!oo[Me.value]){Kf[Kf.length-1].inner+=Me.value}if(Me.value||Me.output)append(Me);if(Cd&&Cd.type==="text"&&Me.type==="text"){Cd.value+=Me.value;Cd.output=(Cd.output||"")+Me.value;return}Me.prev=Cd;Ga.push(Me);Cd=Me};const extglobOpen=(Me,Bn)=>{const zn={...oo[Bn],conditions:1,inner:""};zn.prev=Cd;zn.parens=Yf.parens;zn.output=Yf.output;const ni=(Hn.capture?"(":"")+zn.open;increment("parens");push({type:Me,value:Bn,output:Yf.output?"":Fc});push({type:"paren",extglob:true,value:xd(),output:ni});Kf.push(zn)};const extglobClose=Me=>{let Bn=Me.close+(Hn.capture?")":"");if(Me.type==="negate"){let zn=Qf;if(Me.inner&&Me.inner.length>1&&Me.inner.includes("/")){zn=globstar(Hn)}if(zn!==Qf||eos()||/^\)+$/.test(remaining())){Bn=Me.close=`)$))${zn}`}if(Me.prev.type==="bos"&&eos()){Yf.negatedExtglob=true}}push({type:"paren",extglob:true,value:wd,output:Bn});decrement("parens")};if(Hn.fastpaths!==false&&!/(^[*!]|[/()[\]{}"])/.test(Me)){let zn=false;let Ci=Me.replace(aa,((Me,Bn,Hn,ni,Ci,ts)=>{if(ni==="\\"){zn=true;return Me}if(ni==="?"){if(Bn){return Bn+ni+(Ci?Up.repeat(Ci.length):"")}if(ts===0){return zp+(Ci?Up.repeat(Ci.length):"")}return Up.repeat(Hn.length)}if(ni==="."){return Jo.repeat(Hn.length)}if(ni==="*"){if(Bn){return Bn+ni+(Ci?Qf:"")}return Qf}return Bn?Me:`\\${Me}`}));if(zn===true){if(Hn.unescape===true){Ci=Ci.replace(/\\/g,"")}else{Ci=Ci.replace(/\\+/g,(Me=>Me.length%2===0?"\\\\":Me?"\\":""))}}if(Ci===Me&&Hn.contains===true){Yf.output=Me;return Yf}Yf.output=ni.wrapOutput(Ci,Yf,Bn);return Yf}while(!eos()){wd=xd();if(wd==="\0"){continue}if(wd==="\\"){const Me=Sd();if(Me==="/"&&Hn.bash!==true){continue}if(Me==="."||Me===";"){continue}if(!Me){wd+="\\";push({type:"text",value:wd});continue}const Bn=/^\\+/.exec(remaining());let zn=0;if(Bn&&Bn[0].length>2){zn=Bn[0].length;Yf.index+=zn;if(zn%2!==0){wd+="\\"}}if(Hn.unescape===true){wd=xd()||""}else{wd+=xd()||""}if(Yf.brackets===0){push({type:"text",value:wd});continue}}if(Yf.brackets>0&&(wd!=="]"||Cd.value==="["||Cd.value==="[^")){if(Hn.posix!==false&&wd===":"){const Me=Cd.value.slice(1);if(Me.includes("[")){Cd.posix=true;if(Me.includes(":")){const Me=Cd.value.lastIndexOf("[");const Bn=Cd.value.slice(0,Me);const Hn=Cd.value.slice(Me+2);const zn=ts[Hn];if(zn){Cd.value=Bn+zn;Yf.backtrack=true;xd();if(!xa.output&&Ga.indexOf(Cd)===1){xa.output=Fc}continue}}}}if(wd==="["&&Sd()!==":"||wd==="-"&&Sd()==="]"){wd=`\\${wd}`}if(wd==="]"&&(Cd.value==="["||Cd.value==="[^")){wd=`\\${wd}`}if(Hn.posix===true&&wd==="!"&&Cd.value==="["){wd="^"}Cd.value+=wd;append({value:wd});continue}if(Yf.quotes===1&&wd!=='"'){wd=ni.escapeRegex(wd);Cd.value+=wd;append({value:wd});continue}if(wd==='"'){Yf.quotes=Yf.quotes===1?0:1;if(Hn.keepQuotes===true){push({type:"text",value:wd})}continue}if(wd==="("){increment("parens");push({type:"paren",value:wd});continue}if(wd===")"){if(Yf.parens===0&&Hn.strictBrackets===true){throw new SyntaxError(syntaxError("opening","("))}const Me=Kf[Kf.length-1];if(Me&&Yf.parens===Me.parens+1){extglobClose(Kf.pop());continue}push({type:"paren",value:wd,output:Yf.parens?")":"\\)"});decrement("parens");continue}if(wd==="["){if(Hn.nobracket===true||!remaining().includes("]")){if(Hn.nobracket!==true&&Hn.strictBrackets===true){throw new SyntaxError(syntaxError("closing","]"))}wd=`\\${wd}`}else{increment("brackets")}push({type:"bracket",value:wd});continue}if(wd==="]"){if(Hn.nobracket===true||Cd&&Cd.type==="bracket"&&Cd.value.length===1){push({type:"text",value:wd,output:`\\${wd}`});continue}if(Yf.brackets===0){if(Hn.strictBrackets===true){throw new SyntaxError(syntaxError("opening","["))}push({type:"text",value:wd,output:`\\${wd}`});continue}decrement("brackets");const Me=Cd.value.slice(1);if(Cd.posix!==true&&Me[0]==="^"&&!Me.includes("/")){wd=`/${wd}`}Cd.value+=wd;append({value:wd});if(Hn.literalBrackets===false||ni.hasRegexChars(Me)){continue}const Bn=ni.escapeRegex(Cd.value);Yf.output=Yf.output.slice(0,-Cd.value.length);if(Hn.literalBrackets===true){Yf.output+=Bn;Cd.value=Bn;continue}Cd.value=`(${Ha}${Bn}|${Cd.value})`;Yf.output+=Cd.value;continue}if(wd==="{"&&Hn.nobrace!==true){increment("braces");const Me={type:"brace",value:wd,output:"(",outputIndex:Yf.output.length,tokensIndex:Yf.tokens.length};Xf.push(Me);push(Me);continue}if(wd==="}"){const Me=Xf[Xf.length-1];if(Hn.nobrace===true||!Me){push({type:"text",value:wd,output:wd});continue}let Bn=")";if(Me.dots===true){const Me=Ga.slice();const zn=[];for(let Bn=Me.length-1;Bn>=0;Bn--){Ga.pop();if(Me[Bn].type==="brace"){break}if(Me[Bn].type!=="dots"){zn.unshift(Me[Bn].value)}}Bn=expandRange(zn,Hn);Yf.backtrack=true}if(Me.comma!==true&&Me.dots!==true){const Hn=Yf.output.slice(0,Me.outputIndex);const zn=Yf.tokens.slice(Me.tokensIndex);Me.value=Me.output="\\{";wd=Bn="\\}";Yf.output=Hn;for(const Me of zn){Yf.output+=Me.output||Me.value}}push({type:"brace",value:wd,output:Bn});decrement("braces");Xf.pop();continue}if(wd==="|"){if(Kf.length>0){Kf[Kf.length-1].conditions++}push({type:"text",value:wd});continue}if(wd===","){let Me=wd;const Bn=Xf[Xf.length-1];if(Bn&&Ad[Ad.length-1]==="braces"){Bn.comma=true;Me="|"}push({type:"comma",value:wd,output:Me});continue}if(wd==="/"){if(Cd.type==="dot"&&Yf.index===Yf.start+1){Yf.start=Yf.index+1;Yf.consumed="";Yf.output="";Ga.pop();Cd=xa;continue}push({type:"slash",value:wd,output:dc});continue}if(wd==="."){if(Yf.braces>0&&Cd.type==="dot"){if(Cd.value===".")Cd.output=Jo;const Me=Xf[Xf.length-1];Cd.type="dots";Cd.output+=wd;Cd.value+=wd;Me.dots=true;continue}if(Yf.braces+Yf.parens===0&&Cd.type!=="bos"&&Cd.type!=="slash"){push({type:"text",value:wd,output:Jo});continue}push({type:"dot",value:wd,output:Jo});continue}if(wd==="?"){const Me=Cd&&Cd.value==="(";if(!Me&&Hn.noextglob!==true&&Sd()==="("&&Sd(2)!=="?"){extglobOpen("qmark",wd);continue}if(Cd&&Cd.type==="paren"){const Me=Sd();let Bn=wd;if(Me==="<"&&!ni.supportsLookbehinds()){throw new Error("Node.js v10 or higher is required for regex lookbehinds")}if(Cd.value==="("&&!/[!=<:]/.test(Me)||Me==="<"&&!/<([!=]|\w+>)/.test(remaining())){Bn=`\\${wd}`}push({type:"text",value:wd,output:Bn});continue}if(Hn.dot!==true&&(Cd.type==="slash"||Cd.type==="bos")){push({type:"qmark",value:wd,output:Vp});continue}push({type:"qmark",value:wd,output:Up});continue}if(wd==="!"){if(Hn.noextglob!==true&&Sd()==="("){if(Sd(2)!=="?"||!/[!=<:]/.test(Sd(3))){extglobOpen("negate",wd);continue}}if(Hn.nonegate!==true&&Yf.index===0){negate();continue}}if(wd==="+"){if(Hn.noextglob!==true&&Sd()==="("&&Sd(2)!=="?"){extglobOpen("plus",wd);continue}if(Cd&&Cd.value==="("||Hn.regex===false){push({type:"plus",value:wd,output:tc});continue}if(Cd&&(Cd.type==="bracket"||Cd.type==="paren"||Cd.type==="brace")||Yf.parens>0){push({type:"plus",value:wd});continue}push({type:"plus",value:tc});continue}if(wd==="@"){if(Hn.noextglob!==true&&Sd()==="("&&Sd(2)!=="?"){push({type:"at",extglob:true,value:wd,output:""});continue}push({type:"text",value:wd});continue}if(wd!=="*"){if(wd==="$"||wd==="^"){wd=`\\${wd}`}const Me=Ps.exec(remaining());if(Me){wd+=Me[0];Yf.index+=Me[0].length}push({type:"text",value:wd});continue}if(Cd&&(Cd.type==="globstar"||Cd.star===true)){Cd.type="star";Cd.star=true;Cd.value+=wd;Cd.output=Qf;Yf.backtrack=true;Yf.globstar=true;consume(wd);continue}let Bn=remaining();if(Hn.noextglob!==true&&/^\([^?]/.test(Bn)){extglobOpen("star",wd);continue}if(Cd.type==="star"){if(Hn.noglobstar===true){consume(wd);continue}const zn=Cd.prev;const ni=zn.prev;const Ci=zn.type==="slash"||zn.type==="bos";const ts=ni&&(ni.type==="star"||ni.type==="globstar");if(Hn.bash===true&&(!Ci||Bn[0]&&Bn[0]!=="/")){push({type:"star",value:wd,output:""});continue}const Ps=Yf.braces>0&&(zn.type==="comma"||zn.type==="brace");const aa=Kf.length&&(zn.type==="pipe"||zn.type==="paren");if(!Ci&&zn.type!=="paren"&&!Ps&&!aa){push({type:"star",value:wd,output:""});continue}while(Bn.slice(0,3)==="/**"){const Hn=Me[Yf.index+4];if(Hn&&Hn!=="/"){break}Bn=Bn.slice(3);consume("/**",3)}if(zn.type==="bos"&&eos()){Cd.type="globstar";Cd.value+=wd;Cd.output=globstar(Hn);Yf.output=Cd.output;Yf.globstar=true;consume(wd);continue}if(zn.type==="slash"&&zn.prev.type!=="bos"&&!ts&&eos()){Yf.output=Yf.output.slice(0,-(zn.output+Cd.output).length);zn.output=`(?:${zn.output}`;Cd.type="globstar";Cd.output=globstar(Hn)+(Hn.strictSlashes?")":"|$)");Cd.value+=wd;Yf.globstar=true;Yf.output+=zn.output+Cd.output;consume(wd);continue}if(zn.type==="slash"&&zn.prev.type!=="bos"&&Bn[0]==="/"){const Me=Bn[1]!==void 0?"|$":"";Yf.output=Yf.output.slice(0,-(zn.output+Cd.output).length);zn.output=`(?:${zn.output}`;Cd.type="globstar";Cd.output=`${globstar(Hn)}${dc}|${dc}${Me})`;Cd.value+=wd;Yf.output+=zn.output+Cd.output;Yf.globstar=true;consume(wd+xd());push({type:"slash",value:"/",output:""});continue}if(zn.type==="bos"&&Bn[0]==="/"){Cd.type="globstar";Cd.value+=wd;Cd.output=`(?:^|${dc}|${globstar(Hn)}${dc})`;Yf.output=Cd.output;Yf.globstar=true;consume(wd+xd());push({type:"slash",value:"/",output:""});continue}Yf.output=Yf.output.slice(0,-Cd.output.length);Cd.type="globstar";Cd.output=globstar(Hn);Cd.value+=wd;Yf.output+=Cd.output;Yf.globstar=true;consume(wd);continue}const zn={type:"star",value:wd,output:Qf};if(Hn.bash===true){zn.output=".*?";if(Cd.type==="bos"||Cd.type==="slash"){zn.output=Wp+zn.output}push(zn);continue}if(Cd&&(Cd.type==="bracket"||Cd.type==="paren")&&Hn.regex===true){zn.output=wd;push(zn);continue}if(Yf.index===Yf.start||Cd.type==="slash"||Cd.type==="dot"){if(Cd.type==="dot"){Yf.output+=kp;Cd.output+=kp}else if(Hn.dot===true){Yf.output+=Qp;Cd.output+=Qp}else{Yf.output+=Wp;Cd.output+=Wp}if(Sd()!=="*"){Yf.output+=Fc;Cd.output+=Fc}}push(zn)}while(Yf.brackets>0){if(Hn.strictBrackets===true)throw new SyntaxError(syntaxError("closing","]"));Yf.output=ni.escapeLast(Yf.output,"[");decrement("brackets")}while(Yf.parens>0){if(Hn.strictBrackets===true)throw new SyntaxError(syntaxError("closing",")"));Yf.output=ni.escapeLast(Yf.output,"(");decrement("parens")}while(Yf.braces>0){if(Hn.strictBrackets===true)throw new SyntaxError(syntaxError("closing","}"));Yf.output=ni.escapeLast(Yf.output,"{");decrement("braces")}if(Hn.strictSlashes!==true&&(Cd.type==="star"||Cd.type==="bracket")){push({type:"maybe_slash",value:"",output:`${dc}?`})}if(Yf.backtrack===true){Yf.output="";for(const Me of Yf.tokens){Yf.output+=Me.output!=null?Me.output:Me.value;if(Me.suffix){Yf.output+=Me.suffix}}}return Yf};parse.fastpaths=(Me,Bn)=>{const Hn={...Bn};const ts=typeof Hn.maxLength==="number"?Math.min(Ci,Hn.maxLength):Ci;const Ps=Me.length;if(Ps>ts){throw new SyntaxError(`Input length: ${Ps}, exceeds maximum allowed length: ${ts}`)}Me=oa[Me]||Me;const{DOT_LITERAL:aa,SLASH_LITERAL:ca,ONE_CHAR:_a,DOTS_SLASH:xa,NO_DOT:Ga,NO_DOTS:Ha,NO_DOTS_SLASH:so,STAR:oo,START_ANCHOR:Jo}=zn.globChars(Hn.windows);const tc=Hn.dot?Ha:Ga;const dc=Hn.dot?so:Ga;const Fc=Hn.capture?"":"?:";const Jc={negated:false,prefix:""};let Dp=Hn.bash===true?".*?":oo;if(Hn.capture){Dp=`(${Dp})`}const globstar=Me=>{if(Me.noglobstar===true)return Dp;return`(${Fc}(?:(?!${Jo}${Me.dot?xa:aa}).)*?)`};const create=Me=>{switch(Me){case"*":return`${tc}${_a}${Dp}`;case".*":return`${aa}${_a}${Dp}`;case"*.*":return`${tc}${Dp}${aa}${_a}${Dp}`;case"*/*":return`${tc}${Dp}${ca}${_a}${dc}${Dp}`;case"**":return tc+globstar(Hn);case"**/*":return`(?:${tc}${globstar(Hn)}${ca})?${dc}${_a}${Dp}`;case"**/*.*":return`(?:${tc}${globstar(Hn)}${ca})?${dc}${Dp}${aa}${_a}${Dp}`;case"**/.*":return`(?:${tc}${globstar(Hn)}${ca})?${aa}${_a}${Dp}`;default:{const Bn=/^(.*?)\.(\w+)$/.exec(Me);if(!Bn)return;const Hn=create(Bn[1]);if(!Hn)return;return Hn+aa+Bn[2]}}};const kp=ni.removePrefix(Me,Jc);let Qp=create(kp);if(Qp&&Hn.strictSlashes!==true){Qp+=`${ca}?`}return Qp};Me.exports=parse},73505:(Me,Bn,Hn)=>{"use strict";const zn=Hn(19818);const ni=Hn(31276);const Ci=Hn(32430);const ts=Hn(30742);const isObject=Me=>Me&&typeof Me==="object"&&!Array.isArray(Me);const picomatch=(Me,Bn,Hn=false)=>{if(Array.isArray(Me)){const zn=Me.map((Me=>picomatch(Me,Bn,Hn)));const arrayMatcher=Me=>{for(const Bn of zn){const Hn=Bn(Me);if(Hn)return Hn}return false};return arrayMatcher}const zn=isObject(Me)&&Me.tokens&&Me.input;if(Me===""||typeof Me!=="string"&&!zn){throw new TypeError("Expected pattern to be a non-empty string")}const ni=Bn||{};const Ci=ni.windows;const ts=zn?picomatch.compileRe(Me,Bn):picomatch.makeRe(Me,Bn,false,true);const Ps=ts.state;delete ts.state;let isIgnored=()=>false;if(ni.ignore){const Me={...Bn,ignore:null,onMatch:null,onResult:null};isIgnored=picomatch(ni.ignore,Me,Hn)}const matcher=(Hn,zn=false)=>{const{isMatch:aa,match:oa,output:ca}=picomatch.test(Hn,ts,Bn,{glob:Me,posix:Ci});const _a={glob:Me,state:Ps,regex:ts,posix:Ci,input:Hn,output:ca,match:oa,isMatch:aa};if(typeof ni.onResult==="function"){ni.onResult(_a)}if(aa===false){_a.isMatch=false;return zn?_a:false}if(isIgnored(Hn)){if(typeof ni.onIgnore==="function"){ni.onIgnore(_a)}_a.isMatch=false;return zn?_a:false}if(typeof ni.onMatch==="function"){ni.onMatch(_a)}return zn?_a:true};if(Hn){matcher.state=Ps}return matcher};picomatch.test=(Me,Bn,Hn,{glob:zn,posix:ni}={})=>{if(typeof Me!=="string"){throw new TypeError("Expected input to be a string")}if(Me===""){return{isMatch:false,output:""}}const ts=Hn||{};const Ps=ts.format||(ni?Ci.toPosixSlashes:null);let aa=Me===zn;let oa=aa&&Ps?Ps(Me):Me;if(aa===false){oa=Ps?Ps(Me):Me;aa=oa===zn}if(aa===false||ts.capture===true){if(ts.matchBase===true||ts.basename===true){aa=picomatch.matchBase(Me,Bn,Hn,ni)}else{aa=Bn.exec(oa)}}return{isMatch:Boolean(aa),match:aa,output:oa}};picomatch.matchBase=(Me,Bn,Hn)=>{const zn=Bn instanceof RegExp?Bn:picomatch.makeRe(Bn,Hn);return zn.test(Ci.basename(Me))};picomatch.isMatch=(Me,Bn,Hn)=>picomatch(Bn,Hn)(Me);picomatch.parse=(Me,Bn)=>{if(Array.isArray(Me))return Me.map((Me=>picomatch.parse(Me,Bn)));return ni(Me,{...Bn,fastpaths:false})};picomatch.scan=(Me,Bn)=>zn(Me,Bn);picomatch.compileRe=(Me,Bn,Hn=false,zn=false)=>{if(Hn===true){return Me.output}const ni=Bn||{};const Ci=ni.contains?"":"^";const ts=ni.contains?"":"$";let Ps=`${Ci}(?:${Me.output})${ts}`;if(Me&&Me.negated===true){Ps=`^(?!${Ps}).*$`}const aa=picomatch.toRegex(Ps,Bn);if(zn===true){aa.state=Me}return aa};picomatch.makeRe=(Me,Bn,Hn=false,zn=false)=>{if(!Me||typeof Me!=="string"){throw new TypeError("Expected a non-empty string")}const Ci=Bn||{};let ts={negated:false,fastpaths:true};let Ps="";let aa;if(Me.startsWith("./")){Me=Me.slice(2);Ps=ts.prefix="./"}if(Ci.fastpaths!==false&&(Me[0]==="."||Me[0]==="*")){aa=ni.fastpaths(Me,Bn)}if(aa===undefined){ts=ni(Me,Bn);ts.prefix=Ps+(ts.prefix||"")}else{ts.output=aa}return picomatch.compileRe(ts,Bn,Hn,zn)};picomatch.toRegex=(Me,Bn)=>{try{const Hn=Bn||{};return new RegExp(Me,Hn.flags||(Hn.nocase?"i":""))}catch(Me){if(Bn&&Bn.debug===true)throw Me;return/$^/}};picomatch.constants=ts;Me.exports=picomatch},19818:(Me,Bn,Hn)=>{"use strict";const zn=Hn(32430);const{CHAR_ASTERISK:ni,CHAR_AT:Ci,CHAR_BACKWARD_SLASH:ts,CHAR_COMMA:Ps,CHAR_DOT:aa,CHAR_EXCLAMATION_MARK:oa,CHAR_FORWARD_SLASH:ca,CHAR_LEFT_CURLY_BRACE:_a,CHAR_LEFT_PARENTHESES:xa,CHAR_LEFT_SQUARE_BRACKET:Ga,CHAR_PLUS:Ha,CHAR_QUESTION_MARK:so,CHAR_RIGHT_CURLY_BRACE:oo,CHAR_RIGHT_PARENTHESES:Jo,CHAR_RIGHT_SQUARE_BRACKET:tc}=Hn(30742);const isPathSeparator=Me=>Me===ca||Me===ts;const depth=Me=>{if(Me.isPrefix!==true){Me.depth=Me.isGlobstar?Infinity:1}};const scan=(Me,Bn)=>{const Hn=Bn||{};const dc=Me.length-1;const Fc=Hn.parts===true||Hn.scanToEnd===true;const Jc=[];const Dp=[];const kp=[];let Qp=Me;let Up=-1;let Vp=0;let qp=0;let Jp=false;let Wp=false;let zp=false;let Qf=false;let Yf=false;let Kf=false;let Xf=false;let Ad=false;let Cd=false;let wd=0;let Sd;let xd;let Td={value:"",depth:0,isGlob:false};const eos=()=>Up>=dc;const peek=()=>Qp.charCodeAt(Up+1);const advance=()=>{Sd=xd;return Qp.charCodeAt(++Up)};while(Up0){Qh=Qp.slice(0,Vp);Qp=Qp.slice(Vp);qp-=Vp}if(Pd&&zp===true&&qp>0){Pd=Qp.slice(0,qp);Zh=Qp.slice(qp)}else if(zp===true){Pd="";Zh=Qp}else{Pd=Qp}if(Pd&&Pd!==""&&Pd!=="/"&&Pd!==Qp){if(isPathSeparator(Pd.charCodeAt(Pd.length-1))){Pd=Pd.slice(0,-1)}}if(Hn.unescape===true){if(Zh)Zh=zn.removeBackslashes(Zh);if(Pd&&Xf===true){Pd=zn.removeBackslashes(Pd)}}const sA={prefix:Qh,input:Me,start:Vp,base:Pd,glob:Zh,isBrace:Jp,isBracket:Wp,isGlob:zp,isExtglob:Qf,isGlobstar:Yf,negated:Ad};if(Hn.tokens===true){sA.maxDepth=0;if(!isPathSeparator(xd)){Dp.push(Td)}sA.tokens=Dp}if(Hn.parts===true||Hn.tokens===true){let Bn;for(let zn=0;zn{"use strict";const{REGEX_BACKSLASH:zn,REGEX_REMOVE_BACKSLASH:ni,REGEX_SPECIAL_CHARS:Ci,REGEX_SPECIAL_CHARS_GLOBAL:ts}=Hn(30742);Bn.isObject=Me=>Me!==null&&typeof Me==="object"&&!Array.isArray(Me);Bn.hasRegexChars=Me=>Ci.test(Me);Bn.isRegexChar=Me=>Me.length===1&&Bn.hasRegexChars(Me);Bn.escapeRegex=Me=>Me.replace(ts,"\\$1");Bn.toPosixSlashes=Me=>Me.replace(zn,"/");Bn.removeBackslashes=Me=>Me.replace(ni,(Me=>Me==="\\"?"":Me));Bn.supportsLookbehinds=()=>{const Me=process.version.slice(1).split(".").map(Number);if(Me.length===3&&Me[0]>=9||Me[0]===8&&Me[1]>=10){return true}return false};Bn.escapeLast=(Me,Hn,zn)=>{const ni=Me.lastIndexOf(Hn,zn);if(ni===-1)return Me;if(Me[ni-1]==="\\")return Bn.escapeLast(Me,Hn,ni-1);return`${Me.slice(0,ni)}\\${Me.slice(ni)}`};Bn.removePrefix=(Me,Bn={})=>{let Hn=Me;if(Hn.startsWith("./")){Hn=Hn.slice(2);Bn.prefix="./"}return Hn};Bn.wrapOutput=(Me,Bn={},Hn={})=>{const zn=Hn.contains?"":"^";const ni=Hn.contains?"":"$";let Ci=`${zn}(?:${Me})${ni}`;if(Bn.negated===true){Ci=`(?:^(?!${Ci}).*$)`}return Ci};Bn.basename=(Me,{windows:Bn}={})=>{if(Bn){return Me.replace(/[\\/]$/,"").replace(/.*[\\/]/,"")}else{return Me.replace(/\/$/,"").replace(/.*\//,"")}}},77777:(Me,Bn,Hn)=>{"use strict";var zn=Hn(87016).parse;var ni={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443};var Ci=String.prototype.endsWith||function(Me){return Me.length<=this.length&&this.indexOf(Me,this.length-Me.length)!==-1};function getProxyForUrl(Me){var Bn=typeof Me==="string"?zn(Me):Me||{};var Hn=Bn.protocol;var Ci=Bn.host;var ts=Bn.port;if(typeof Ci!=="string"||!Ci||typeof Hn!=="string"){return""}Hn=Hn.split(":",1)[0];Ci=Ci.replace(/:\d*$/,"");ts=parseInt(ts)||ni[Hn]||0;if(!shouldProxy(Ci,ts)){return""}var Ps=getEnv("npm_config_"+Hn+"_proxy")||getEnv(Hn+"_proxy")||getEnv("npm_config_proxy")||getEnv("all_proxy");if(Ps&&Ps.indexOf("://")===-1){Ps=Hn+"://"+Ps}return Ps}function shouldProxy(Me,Bn){var Hn=(getEnv("npm_config_no_proxy")||getEnv("no_proxy")).toLowerCase();if(!Hn){return true}if(Hn==="*"){return false}return Hn.split(/[,\s]/).every((function(Hn){if(!Hn){return true}var zn=Hn.match(/^(.+):(\d+)$/);var ni=zn?zn[1]:Hn;var ts=zn?parseInt(zn[2]):0;if(ts&&ts!==Bn){return true}if(!/^[.*]/.test(ni)){return Me!==ni}if(ni.charAt(0)==="*"){ni=ni.slice(1)}return!Ci.call(Me,ni)}))}function getEnv(Me){return process.env[Me.toLowerCase()]||process.env[Me.toUpperCase()]||""}Bn.getProxyForUrl=getProxyForUrl},86032:Me=>{"use strict";var Bn=String.prototype.replace;var Hn=/%20/g;var zn={RFC1738:"RFC1738",RFC3986:"RFC3986"};Me.exports={default:zn.RFC3986,formatters:{RFC1738:function(Me){return Bn.call(Me,Hn,"+")},RFC3986:function(Me){return String(Me)}},RFC1738:zn.RFC1738,RFC3986:zn.RFC3986}},40240:(Me,Bn,Hn)=>{"use strict";var zn=Hn(71293);var ni=Hn(79091);var Ci=Hn(86032);Me.exports={formats:Ci,parse:ni,stringify:zn}},79091:(Me,Bn,Hn)=>{"use strict";var zn=Hn(25225);var ni=Object.prototype.hasOwnProperty;var Ci=Array.isArray;var ts={allowDots:false,allowEmptyArrays:false,allowPrototypes:false,allowSparse:false,arrayLimit:20,charset:"utf-8",charsetSentinel:false,comma:false,decodeDotInKeys:false,decoder:zn.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:false,interpretNumericEntities:false,parameterLimit:1e3,parseArrays:true,plainObjects:false,strictDepth:false,strictMerge:true,strictNullHandling:false,throwOnLimitExceeded:false};var interpretNumericEntities=function(Me){return Me.replace(/&#(\d+);/g,(function(Me,Bn){return String.fromCharCode(parseInt(Bn,10))}))};var parseArrayValue=function(Me,Bn,Hn){if(Me&&typeof Me==="string"&&Bn.comma&&Me.indexOf(",")>-1){return Me.split(",")}if(Bn.throwOnLimitExceeded&&Hn>=Bn.arrayLimit){throw new RangeError("Array limit exceeded. Only "+Bn.arrayLimit+" element"+(Bn.arrayLimit===1?"":"s")+" allowed in an array.")}return Me};var Ps="utf8=%26%2310003%3B";var aa="utf8=%E2%9C%93";var oa=function parseQueryStringValues(Me,Bn){var Hn={__proto__:null};var oa=Bn.ignoreQueryPrefix?Me.replace(/^\?/,""):Me;oa=oa.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var ca=Bn.parameterLimit===Infinity?void undefined:Bn.parameterLimit;var _a=oa.split(Bn.delimiter,Bn.throwOnLimitExceeded?ca+1:ca);if(Bn.throwOnLimitExceeded&&_a.length>ca){throw new RangeError("Parameter limit exceeded. Only "+ca+" parameter"+(ca===1?"":"s")+" allowed.")}var xa=-1;var Ga;var Ha=Bn.charset;if(Bn.charsetSentinel){for(Ga=0;Ga<_a.length;++Ga){if(_a[Ga].indexOf("utf8=")===0){if(_a[Ga]===aa){Ha="utf-8"}else if(_a[Ga]===Ps){Ha="iso-8859-1"}xa=Ga;Ga=_a.length}}}for(Ga=0;Ga<_a.length;++Ga){if(Ga===xa){continue}var so=_a[Ga];var oo=so.indexOf("]=");var Jo=oo===-1?so.indexOf("="):oo+1;var tc;var dc;if(Jo===-1){tc=Bn.decoder(so,ts.decoder,Ha,"key");dc=Bn.strictNullHandling?null:""}else{tc=Bn.decoder(so.slice(0,Jo),ts.decoder,Ha,"key");if(tc!==null){dc=zn.maybeMap(parseArrayValue(so.slice(Jo+1),Bn,Ci(Hn[tc])?Hn[tc].length:0),(function(Me){return Bn.decoder(Me,ts.decoder,Ha,"value")}))}}if(dc&&Bn.interpretNumericEntities&&Ha==="iso-8859-1"){dc=interpretNumericEntities(String(dc))}if(so.indexOf("[]=")>-1){dc=Ci(dc)?[dc]:dc}if(Bn.comma&&Ci(dc)&&dc.length>Bn.arrayLimit){if(Bn.throwOnLimitExceeded){throw new RangeError("Array limit exceeded. Only "+Bn.arrayLimit+" element"+(Bn.arrayLimit===1?"":"s")+" allowed in an array.")}dc=zn.combine([],dc,Bn.arrayLimit,Bn.plainObjects)}if(tc!==null){var Fc=ni.call(Hn,tc);if(Fc&&(Bn.duplicates==="combine"||so.indexOf("[]=")>-1)){Hn[tc]=zn.combine(Hn[tc],dc,Bn.arrayLimit,Bn.plainObjects)}else if(!Fc||Bn.duplicates==="last"){Hn[tc]=dc}}}return Hn};var parseObject=function(Me,Bn,Hn,ni){var Ci=0;if(Me.length>0&&Me[Me.length-1]==="[]"){var ts=Me.slice(0,-1).join("");Ci=Array.isArray(Bn)&&Bn[ts]?Bn[ts].length:0}var Ps=ni?Bn:parseArrayValue(Bn,Hn,Ci);for(var aa=Me.length-1;aa>=0;--aa){var oa;var ca=Me[aa];if(ca==="[]"&&Hn.parseArrays){if(zn.isOverflow(Ps)){oa=Ps}else{oa=Hn.allowEmptyArrays&&(Ps===""||Hn.strictNullHandling&&Ps===null)?[]:zn.combine([],Ps,Hn.arrayLimit,Hn.plainObjects)}}else{oa=Hn.plainObjects?{__proto__:null}:{};var _a=ca.charAt(0)==="["&&ca.charAt(ca.length-1)==="]"?ca.slice(1,-1):ca;var xa=Hn.decodeDotInKeys?_a.replace(/%2E/g,"."):_a;var Ga=parseInt(xa,10);var Ha=!isNaN(Ga)&&ca!==xa&&String(Ga)===xa&&Ga>=0&&Hn.parseArrays;if(!Hn.parseArrays&&xa===""){oa={0:Ps}}else if(Ha&&Ga{"use strict";var zn=Hn(94753);var ni=Hn(25225);var Ci=Hn(86032);var ts=Object.prototype.hasOwnProperty;var Ps={brackets:function brackets(Me){return Me+"[]"},comma:"comma",indices:function indices(Me,Bn){return Me+"["+Bn+"]"},repeat:function repeat(Me){return Me}};var aa=Array.isArray;var oa=Array.prototype.push;var pushToArray=function(Me,Bn){oa.apply(Me,aa(Bn)?Bn:[Bn])};var ca=Date.prototype.toISOString;var _a=Ci["default"];var xa={addQueryPrefix:false,allowDots:false,allowEmptyArrays:false,arrayFormat:"indices",charset:"utf-8",charsetSentinel:false,commaRoundTrip:false,delimiter:"&",encode:true,encodeDotInKeys:false,encoder:ni.encode,encodeValuesOnly:false,filter:void undefined,format:_a,formatter:Ci.formatters[_a],indices:false,serializeDate:function serializeDate(Me){return ca.call(Me)},skipNulls:false,strictNullHandling:false};var Ga=function isNonNullishPrimitive(Me){return typeof Me==="string"||typeof Me==="number"||typeof Me==="boolean"||typeof Me==="symbol"||typeof Me==="bigint"};var Ha={};var so=function stringify(Me,Bn,Hn,Ci,ts,Ps,oa,ca,_a,so,oo,Jo,tc,dc,Fc,Jc,Dp,kp){var Qp=Me;var Up=kp;var Vp=0;var qp=false;while((Up=Up.get(Ha))!==void undefined&&!qp){var Jp=Up.get(Me);Vp+=1;if(typeof Jp!=="undefined"){if(Jp===Vp){throw new RangeError("Cyclic object value")}else{qp=true}}if(typeof Up.get(Ha)==="undefined"){Vp=0}}if(typeof so==="function"){Qp=so(Bn,Qp)}else if(Qp instanceof Date){Qp=tc(Qp)}else if(Hn==="comma"&&aa(Qp)){Qp=ni.maybeMap(Qp,(function(Me){if(Me instanceof Date){return tc(Me)}return Me}))}if(Qp===null){if(Ps){return _a&&!Jc?_a(Bn,xa.encoder,Dp,"key",dc):Bn}Qp=""}if(Ga(Qp)||ni.isBuffer(Qp)){if(_a){var Wp=Jc?Bn:_a(Bn,xa.encoder,Dp,"key",dc);return[Fc(Wp)+"="+Fc(_a(Qp,xa.encoder,Dp,"value",dc))]}return[Fc(Bn)+"="+Fc(String(Qp))]}var zp=[];if(typeof Qp==="undefined"){return zp}var Qf;if(Hn==="comma"&&aa(Qp)){if(Jc&&_a){Qp=ni.maybeMap(Qp,_a)}Qf=[{value:Qp.length>0?Qp.join(",")||null:void undefined}]}else if(aa(so)){Qf=so}else{var Yf=Object.keys(Qp);Qf=oo?Yf.sort(oo):Yf}var Kf=ca?String(Bn).replace(/\./g,"%2E"):String(Bn);var Xf=Ci&&aa(Qp)&&Qp.length===1?Kf+"[]":Kf;if(ts&&aa(Qp)&&Qp.length===0){return Xf+"[]"}for(var Ad=0;Ad0?dc+tc:""}},25225:(Me,Bn,Hn)=>{"use strict";var zn=Hn(86032);var ni=Hn(94753);var Ci=Object.prototype.hasOwnProperty;var ts=Array.isArray;var Ps=ni();var aa=function markOverflow(Me,Bn){Ps.set(Me,Bn);return Me};var oa=function isOverflow(Me){return Ps.has(Me)};var ca=function getMaxIndex(Me){return Ps.get(Me)};var _a=function setMaxIndex(Me,Bn){Ps.set(Me,Bn)};var xa=function(){var Me=[];for(var Bn=0;Bn<256;++Bn){Me[Me.length]="%"+((Bn<16?"0":"")+Bn.toString(16)).toUpperCase()}return Me}();var Ga=function compactQueue(Me){while(Me.length>1){var Bn=Me.pop();var Hn=Bn.obj[Bn.prop];if(ts(Hn)){var zn=[];for(var ni=0;niHn.arrayLimit){return aa(Ha(Me.concat(Bn),Hn),zn)}Me[zn]=Bn}else if(Me&&typeof Me==="object"){if(oa(Me)){var ni=ca(Me)+1;Me[ni]=Bn;_a(Me,ni)}else if(Hn&&Hn.strictMerge){return[Me,Bn]}else if(Hn&&(Hn.plainObjects||Hn.allowPrototypes)||!Ci.call(Object.prototype,Bn)){Me[Bn]=true}}else{return[Me,Bn]}return Me}if(!Me||typeof Me!=="object"){if(oa(Bn)){var Ps=Object.keys(Bn);var xa=Hn&&Hn.plainObjects?{__proto__:null,0:Me}:{0:Me};for(var Ga=0;GaHn.arrayLimit){return aa(Ha(oo,Hn),oo.length-1)}return oo}var Jo=Me;if(ts(Me)&&!ts(Bn)){Jo=Ha(Me,Hn)}if(ts(Me)&&ts(Bn)){Bn.forEach((function(Bn,zn){if(Ci.call(Me,zn)){var ni=Me[zn];if(ni&&typeof ni==="object"&&Bn&&typeof Bn==="object"){Me[zn]=merge(ni,Bn,Hn)}else{Me[Me.length]=Bn}}else{Me[zn]=Bn}}));return Me}return Object.keys(Bn).reduce((function(Me,zn){var ni=Bn[zn];if(Ci.call(Me,zn)){Me[zn]=merge(Me[zn],ni,Hn)}else{Me[zn]=ni}if(oa(Bn)&&!oa(Me)){aa(Me,ca(Bn))}if(oa(Me)){var ts=parseInt(zn,10);if(String(ts)===zn&&ts>=0&&ts>ca(Me)){_a(Me,ts)}}return Me}),Jo)};var oo=function assignSingleSource(Me,Bn){return Object.keys(Bn).reduce((function(Me,Hn){Me[Hn]=Bn[Hn];return Me}),Me)};var decode=function(Me,Bn,Hn){var zn=Me.replace(/\+/g," ");if(Hn==="iso-8859-1"){return zn.replace(/%[0-9a-f]{2}/gi,unescape)}try{return decodeURIComponent(zn)}catch(Me){return zn}};var Jo=1024;var tc=function encode(Me,Bn,Hn,ni,Ci){if(Me.length===0){return Me}var ts=Me;if(typeof Me==="symbol"){ts=Symbol.prototype.toString.call(Me)}else if(typeof Me!=="string"){ts=String(Me)}if(Hn==="iso-8859-1"){return escape(ts).replace(/%u[0-9a-f]{4}/gi,(function(Me){return"%26%23"+parseInt(Me.slice(2),16)+"%3B"}))}var Ps="";for(var aa=0;aa=Jo?ts.slice(aa,aa+Jo):ts;var ca=[];for(var _a=0;_a=48&&Ga<=57||Ga>=65&&Ga<=90||Ga>=97&&Ga<=122||Ci===zn.RFC1738&&(Ga===40||Ga===41)){ca[ca.length]=oa.charAt(_a);continue}if(Ga<128){ca[ca.length]=xa[Ga];continue}if(Ga<2048){ca[ca.length]=xa[192|Ga>>6]+xa[128|Ga&63];continue}if(Ga<55296||Ga>=57344){ca[ca.length]=xa[224|Ga>>12]+xa[128|Ga>>6&63]+xa[128|Ga&63];continue}_a+=1;Ga=65536+((Ga&1023)<<10|oa.charCodeAt(_a)&1023);ca[ca.length]=xa[240|Ga>>18]+xa[128|Ga>>12&63]+xa[128|Ga>>6&63]+xa[128|Ga&63]}Ps+=ca.join("")}return Ps};var dc=function compact(Me){var Bn=[{obj:{o:Me},prop:"o"}];var Hn=[];for(var zn=0;znHn){return aa(Ha(Ci,{plainObjects:zn}),Ci.length-1)}return Ci};var kp=function maybeMap(Me,Bn){if(ts(Me)){var Hn=[];for(var zn=0;zn{const zn=Hn(54336);const ni=Hn(28439);const Ci=Hn(67793);const ts=Hn(3740);const{RateLimiterClusterMaster:Ps,RateLimiterClusterMasterPM2:aa,RateLimiterCluster:oa}=Hn(10565);const ca=Hn(24544);const _a=Hn(73250);const xa=Hn(87383);const Ga=Hn(24016);const Ha=Hn(10244);const so=Hn(52860);const oo=Hn(85860);const Jo=Hn(80449);const tc=Hn(82309);const dc=Hn(16323);const Fc=Hn(50673);const Jc=Hn(75347);const Dp=Hn(32193);const kp=Hn(53756);const Qp=Hn(73283);const Up=Hn(36481);const Vp=Hn(15299);const qp=Hn(27948);const Jp=Hn(43184);Me.exports={RateLimiterRedis:zn,RateLimiterMongo:ni,RateLimiterMySQL:Ci,RateLimiterPostgres:ts,RateLimiterMemory:ca,RateLimiterMemcache:_a,RateLimiterClusterMaster:Ps,RateLimiterClusterMasterPM2:aa,RateLimiterCluster:oa,RLWrapperBlackAndWhite:xa,RLWrapperTimeouts:Ga,RateLimiterUnion:Ha,RateLimiterQueue:so,BurstyRateLimiter:oo,RateLimiterRes:Jo,RateLimiterDynamo:tc,RateLimiterPrisma:dc,RateLimiterValkey:Dp,RateLimiterValkeyGlide:kp,RateLimiterSQLite:Qp,RateLimiterEtcd:Up,RateLimiterDrizzle:Fc,RateLimiterDrizzleNonAtomic:Jc,RateLimiterEtcdNonAtomic:Vp,RateLimiterQueueError:qp,RateLimiterEtcdTransactionFailedError:Jp}},85860:(Me,Bn,Hn)=>{const zn=Hn(80449);Me.exports=class BurstyRateLimiter{constructor(Me,Bn){this._rateLimiter=Me;this._burstLimiter=Bn}_combineRes(Me,Bn){if(!Me){return null}return new zn(Me.remainingPoints,Math.min(Me.msBeforeNext,Bn?Bn.msBeforeNext:0),Me.consumedPoints,Me.isFirstInDuration)}consume(Me,Bn=1,Hn={}){return this._rateLimiter.consume(Me,Bn,Hn).catch((ni=>{if(ni instanceof zn){return this._burstLimiter.consume(Me,Bn,Hn).then((Me=>Promise.resolve(this._combineRes(ni,Me)))).catch((Me=>{if(Me instanceof zn){return Promise.reject(this._combineRes(ni,Me))}else{return Promise.reject(Me)}}))}else{return Promise.reject(ni)}}))}get(Me){return Promise.all([this._rateLimiter.get(Me),this._burstLimiter.get(Me)]).then((([Me,Bn])=>this._combineRes(Me,Bn)))}get points(){return this._rateLimiter.points}}},87383:(Me,Bn,Hn)=>{const zn=Hn(80449);Me.exports=class RLWrapperBlackAndWhite{constructor(Me={}){this.limiter=Me.limiter;this.blackList=Me.blackList;this.whiteList=Me.whiteList;this.isBlackListed=Me.isBlackListed;this.isWhiteListed=Me.isWhiteListed;this.runActionAnyway=Me.runActionAnyway}get limiter(){return this._limiter}set limiter(Me){if(typeof Me==="undefined"){throw new Error("limiter is not set")}this._limiter=Me}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(Me){this._runActionAnyway=typeof Me==="undefined"?false:Me}get blackList(){return this._blackList}set blackList(Me){this._blackList=Array.isArray(Me)?Me:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(Me){if(typeof Me==="undefined"){Me=()=>false}if(typeof Me!=="function"){throw new Error("isBlackListed must be function")}this._isBlackListed=Me}get whiteList(){return this._whiteList}set whiteList(Me){this._whiteList=Array.isArray(Me)?Me:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(Me){if(typeof Me==="undefined"){Me=()=>false}if(typeof Me!=="function"){throw new Error("isWhiteListed must be function")}this._isWhiteListed=Me}isBlackListedSomewhere(Me){return this.blackList.indexOf(Me)>=0||this.isBlackListed(Me)}isWhiteListedSomewhere(Me){return this.whiteList.indexOf(Me)>=0||this.isWhiteListed(Me)}getBlackRes(){return new zn(0,Number.MAX_SAFE_INTEGER,0,false)}getWhiteRes(){return new zn(Number.MAX_SAFE_INTEGER,0,0,false)}rejectBlack(){return Promise.reject(this.getBlackRes())}resolveBlack(){return Promise.resolve(this.getBlackRes())}resolveWhite(){return Promise.resolve(this.getWhiteRes())}consume(Me,Bn=1){let Hn;if(this.isWhiteListedSomewhere(Me)){Hn=this.resolveWhite()}else if(this.isBlackListedSomewhere(Me)){Hn=this.rejectBlack()}if(typeof Hn==="undefined"){return this.limiter.consume(Me,Bn)}if(this.runActionAnyway){this.limiter.consume(Me,Bn).catch((()=>{}))}return Hn}block(Me,Bn){let Hn;if(this.isWhiteListedSomewhere(Me)){Hn=this.resolveWhite()}else if(this.isBlackListedSomewhere(Me)){Hn=this.resolveBlack()}if(typeof Hn==="undefined"){return this.limiter.block(Me,Bn)}if(this.runActionAnyway){this.limiter.block(Me,Bn).catch((()=>{}))}return Hn}penalty(Me,Bn){let Hn;if(this.isWhiteListedSomewhere(Me)){Hn=this.resolveWhite()}else if(this.isBlackListedSomewhere(Me)){Hn=this.resolveBlack()}if(typeof Hn==="undefined"){return this.limiter.penalty(Me,Bn)}if(this.runActionAnyway){this.limiter.penalty(Me,Bn).catch((()=>{}))}return Hn}reward(Me,Bn){let Hn;if(this.isWhiteListedSomewhere(Me)){Hn=this.resolveWhite()}else if(this.isBlackListedSomewhere(Me)){Hn=this.resolveBlack()}if(typeof Hn==="undefined"){return this.limiter.reward(Me,Bn)}if(this.runActionAnyway){this.limiter.reward(Me,Bn).catch((()=>{}))}return Hn}get(Me){let Bn;if(this.isWhiteListedSomewhere(Me)){Bn=this.resolveWhite()}else if(this.isBlackListedSomewhere(Me)){Bn=this.resolveBlack()}if(typeof Bn==="undefined"||this.runActionAnyway){return this.limiter.get(Me)}return Bn}delete(Me){return this.limiter.delete(Me)}}},24016:(Me,Bn,Hn)=>{const zn=Hn(88569);const ni=Hn(33847);Me.exports=class RLWrapperTimeouts extends ni{constructor(Me={}){super(Me);this.limiter=Me.limiter;this.timeoutMs=Me.timeoutMs||0}get limiter(){return this._limiter}set limiter(Me){if(!(Me instanceof zn)){throw new TypeError("limiter must be an instance of RateLimiterAbstract")}this._limiter=Me;if(!this.insuranceLimiter&&Me instanceof ni){this.insuranceLimiter=Me.insuranceLimiter}}get timeoutMs(){return this._timeoutMs}set timeoutMs(Me){if(typeof Me!=="number"||Me<0){throw new TypeError("timeoutMs must be a non-negative number")}this._timeoutMs=Me}_run(Me,Bn){return new Promise((async(Hn,zn)=>{const ni=setTimeout((()=>zn(new Error("Operation timed out"))),this.timeoutMs);await this.limiter[Me](...Bn).then((Me=>{clearTimeout(ni);Hn(Me)})).catch((Me=>{clearTimeout(ni);zn(Me)}))}))}_consume(Me,Bn=1,Hn={}){return this._run("consume",[Me,Bn,Hn])}_penalty(Me,Bn=1,Hn={}){return this._run("penalty",[Me,Bn,Hn])}_reward(Me,Bn=1,Hn={}){return this._run("reward",[Me,Bn,Hn])}_get(Me,Bn={}){return this._run("get",[Me,Bn])}_set(Me,Bn,Hn,zn={}){return this._run("set",[Me,Bn,Hn,zn])}_block(Me,Bn,Hn={}){return this._run("block",[Me,Bn,Hn])}_delete(Me,Bn={}){return this._run("delete",[Me,Bn])}}},88569:Me=>{Me.exports=class RateLimiterAbstract{constructor(Me={}){this.points=Me.points;this.duration=Me.duration;this.blockDuration=Me.blockDuration;this.execEvenly=Me.execEvenly;this.execEvenlyMinDelayMs=Me.execEvenlyMinDelayMs;this.keyPrefix=Me.keyPrefix}get points(){return this._points}set points(Me){this._points=Me>=0?Me:4}get duration(){return this._duration}set duration(Me){this._duration=typeof Me==="undefined"?1:Me}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(Me){this._blockDuration=typeof Me==="undefined"?0:Me}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(Me){this._execEvenly=typeof Me==="undefined"?false:Boolean(Me)}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(Me){this._execEvenlyMinDelayMs=typeof Me==="undefined"?Math.ceil(this.msDuration/this.points):Me}get keyPrefix(){return this._keyPrefix}set keyPrefix(Me){if(typeof Me==="undefined"){Me="rlflx"}if(typeof Me!=="string"){throw new Error("keyPrefix must be string")}this._keyPrefix=Me}_getKeySecDuration(Me={}){return Me&&Me.customDuration>=0?Me.customDuration:this.duration}getKey(Me){return this.keyPrefix.length>0?`${this.keyPrefix}:${Me}`:Me}parseKey(Me){return Me.substring(this.keyPrefix.length)}consume(){throw new Error("You have to implement the method 'consume'!")}penalty(){throw new Error("You have to implement the method 'penalty'!")}reward(){throw new Error("You have to implement the method 'reward'!")}get(){throw new Error("You have to implement the method 'get'!")}set(){throw new Error("You have to implement the method 'set'!")}block(){throw new Error("You have to implement the method 'block'!")}delete(){throw new Error("You have to implement the method 'delete'!")}}},10565:(Me,Bn,Hn)=>{const zn=Hn(29907);const ni=Hn(76982);const Ci=Hn(88569);const ts=Hn(24544);const Ps=Hn(80449);const aa="rate_limiter_flexible";let oa=null;const masterSendToWorker=function(Me,Bn,Hn,zn){let ni;if(zn===null||zn===true||zn===false){ni=zn}else{ni={remainingPoints:zn.remainingPoints,msBeforeNext:zn.msBeforeNext,consumedPoints:zn.consumedPoints,isFirstInDuration:zn.isFirstInDuration}}Me.send({channel:aa,keyPrefix:Bn.keyPrefix,promiseId:Bn.promiseId,type:Hn,data:ni})};const workerWaitInit=function(Me){setTimeout((()=>{if(this._initiated){process.send(Me)}else if(typeof this._promises[Me.promiseId]!=="undefined"){workerWaitInit.call(this,Me)}}),30)};const workerSendToMaster=function(Me,Bn,Hn,zn,ni){const Ci={channel:aa,keyPrefix:this.keyPrefix,func:Me,promiseId:Bn,data:{key:Hn,arg:zn,opts:ni}};if(!this._initiated){workerWaitInit.call(this,Ci)}else{process.send(Ci)}};const masterProcessMsg=function(Me,Bn){if(!Bn||Bn.channel!==aa||typeof this._rateLimiters[Bn.keyPrefix]==="undefined"){return false}let Hn;switch(Bn.func){case"consume":Hn=this._rateLimiters[Bn.keyPrefix].consume(Bn.data.key,Bn.data.arg,Bn.data.opts);break;case"penalty":Hn=this._rateLimiters[Bn.keyPrefix].penalty(Bn.data.key,Bn.data.arg,Bn.data.opts);break;case"reward":Hn=this._rateLimiters[Bn.keyPrefix].reward(Bn.data.key,Bn.data.arg,Bn.data.opts);break;case"block":Hn=this._rateLimiters[Bn.keyPrefix].block(Bn.data.key,Bn.data.arg,Bn.data.opts);break;case"get":Hn=this._rateLimiters[Bn.keyPrefix].get(Bn.data.key,Bn.data.opts);break;case"delete":Hn=this._rateLimiters[Bn.keyPrefix].delete(Bn.data.key,Bn.data.opts);break;default:return false}if(Hn){Hn.then((Hn=>{masterSendToWorker(Me,Bn,"resolve",Hn)})).catch((Hn=>{masterSendToWorker(Me,Bn,"reject",Hn)}))}};const workerProcessMsg=function(Me){if(!Me||Me.channel!==aa||Me.keyPrefix!==this.keyPrefix){return false}if(this._promises[Me.promiseId]){clearTimeout(this._promises[Me.promiseId].timeoutId);let Bn;if(Me.data===null||Me.data===true||Me.data===false){Bn=Me.data}else{Bn=new Ps(Me.data.remainingPoints,Me.data.msBeforeNext,Me.data.consumedPoints,Me.data.isFirstInDuration)}switch(Me.type){case"resolve":this._promises[Me.promiseId].resolve(Bn);break;case"reject":this._promises[Me.promiseId].reject(Bn);break;default:throw new Error(`RateLimiterCluster: no such message type '${Me.type}'`)}delete this._promises[Me.promiseId]}};const getOpts=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}};const savePromise=function(Me,Bn){const Hn=process.hrtime();let zn=Hn[0].toString()+Hn[1].toString();if(typeof this._promises[zn]!=="undefined"){zn+=ni.randomBytes(12).toString("base64")}this._promises[zn]={resolve:Me,reject:Bn,timeoutId:setTimeout((()=>{delete this._promises[zn];Bn(new Error("RateLimiterCluster timeout: no answer from master in time"))}),this.timeoutMs)};return zn};class RateLimiterClusterMaster{constructor(){if(oa){return oa}this._rateLimiters={};zn.setMaxListeners(0);zn.on("message",((Me,Bn)=>{if(Bn&&Bn.channel===aa&&Bn.type==="init"){if(typeof this._rateLimiters[Bn.opts.keyPrefix]==="undefined"){this._rateLimiters[Bn.opts.keyPrefix]=new ts(Bn.opts)}Me.send({channel:aa,type:"init",keyPrefix:Bn.opts.keyPrefix})}else{masterProcessMsg.call(this,Me,Bn)}}));oa=this}}class RateLimiterClusterMasterPM2{constructor(Me){if(oa){return oa}this._rateLimiters={};Me.launchBus(((Bn,Hn)=>{Hn.on("process:msg",(Bn=>{const Hn=Bn.raw;if(Hn&&Hn.channel===aa&&Hn.type==="init"){if(typeof this._rateLimiters[Hn.opts.keyPrefix]==="undefined"){this._rateLimiters[Hn.opts.keyPrefix]=new ts(Hn.opts)}Me.sendDataToProcessId(Bn.process.pm_id,{data:{},topic:aa,channel:aa,type:"init",keyPrefix:Hn.opts.keyPrefix},((Me,Bn)=>{if(Me){console.log(Me,Bn)}}))}else{const zn={send:Hn=>{const zn=Hn;zn.topic=aa;if(typeof zn.data==="undefined"){zn.data={}}Me.sendDataToProcessId(Bn.process.pm_id,zn,((Me,Bn)=>{if(Me){console.log(Me,Bn)}}))}};masterProcessMsg.call(this,zn,Hn)}}))}));oa=this}}class RateLimiterClusterWorker extends Ci{get timeoutMs(){return this._timeoutMs}set timeoutMs(Me){this._timeoutMs=typeof Me==="undefined"?5e3:Math.abs(parseInt(Me))}constructor(Me={}){super(Me);process.setMaxListeners(0);this.timeoutMs=Me.timeoutMs;this._initiated=false;process.on("message",(Me=>{if(Me&&Me.channel===aa&&Me.type==="init"&&Me.keyPrefix===this.keyPrefix){this._initiated=true}else{workerProcessMsg.call(this,Me)}}));process.send({channel:aa,type:"init",opts:getOpts.call(this)});this._promises={}}consume(Me,Bn=1,Hn={}){return new Promise(((zn,ni)=>{const Ci=savePromise.call(this,zn,ni);workerSendToMaster.call(this,"consume",Ci,Me,Bn,Hn)}))}penalty(Me,Bn=1,Hn={}){return new Promise(((zn,ni)=>{const Ci=savePromise.call(this,zn,ni);workerSendToMaster.call(this,"penalty",Ci,Me,Bn,Hn)}))}reward(Me,Bn=1,Hn={}){return new Promise(((zn,ni)=>{const Ci=savePromise.call(this,zn,ni);workerSendToMaster.call(this,"reward",Ci,Me,Bn,Hn)}))}block(Me,Bn,Hn={}){return new Promise(((zn,ni)=>{const Ci=savePromise.call(this,zn,ni);workerSendToMaster.call(this,"block",Ci,Me,Bn,Hn)}))}get(Me,Bn={}){return new Promise(((Hn,zn)=>{const ni=savePromise.call(this,Hn,zn);workerSendToMaster.call(this,"get",ni,Me,Bn)}))}delete(Me,Bn={}){return new Promise(((Hn,zn)=>{const ni=savePromise.call(this,Hn,zn);workerSendToMaster.call(this,"delete",ni,Me,Bn)}))}}Me.exports={RateLimiterClusterMaster:RateLimiterClusterMaster,RateLimiterClusterMasterPM2:RateLimiterClusterMasterPM2,RateLimiterCluster:RateLimiterClusterWorker}},50673:(Me,Bn,Hn)=>{let zn=null;const ni=3e5;const Ci=36e5;class RateLimiterDrizzleError extends Error{constructor(Me){super(Me);this.name="RateLimiterDrizzleError"}}async function getDrizzleOperators(){if(zn)return zn;try{function getPackageName(){return["drizzle","orm"].join("-")}const Me=await Hn(87788)(`${getPackageName()}`);const{and:Bn,or:ni,gt:Ci,lt:ts,eq:Ps,isNull:aa,sql:oa}=Me.default||Me;zn={and:Bn,or:ni,gt:Ci,lt:ts,eq:Ps,isNull:aa,sql:oa};return zn}catch(ca){throw new RateLimiterDrizzleError("drizzle-orm is not installed. Please install drizzle-orm to use RateLimiterDrizzle.")}}const ts=Hn(65140);const Ps=Hn(80449);class RateLimiterDrizzle extends ts{constructor(Me){super(Me);if(!Me?.schema){throw new RateLimiterDrizzleError("Drizzle schema is required")}if(!Me?.storeClient){throw new RateLimiterDrizzleError("Drizzle client is required")}this.schema=Me.schema;this.drizzleClient=Me.storeClient;this.clearExpiredByTimeout=Me.clearExpiredByTimeout??true;if(this.clearExpiredByTimeout){this._clearExpiredHourAgo()}}_getRateLimiterRes(Me,Bn,Hn){const zn=new Ps;let ni=Hn;zn.isFirstInDuration=ni.points===Bn;zn.consumedPoints=ni.points;zn.remainingPoints=Math.max(this.points-zn.consumedPoints,0);zn.msBeforeNext=ni.expire!==null?Math.max(new Date(ni.expire).getTime()-Date.now(),0):-1;return zn}async _upsert(Me,Bn,Hn,zn=false){if(!this.drizzleClient){return Promise.reject(new RateLimiterDrizzleError("Drizzle client is not established"))}const{eq:ni,sql:Ci}=await getDrizzleOperators();const ts=new Date;const Ps=Hn>0?new Date(ts.getTime()+Hn):null;const aa=await this.drizzleClient.transaction((async Hn=>{const[aa]=await Hn.select().from(this.schema).where(ni(this.schema.key,Me)).limit(1);const oa=zn||!aa?.expire||aa?.expire<=ts||Ps===null;const[ca]=await Hn.insert(this.schema).values({key:Me,points:Bn,expire:Ps}).onConflictDoUpdate({target:this.schema.key,set:{points:!oa?Ci`${this.schema.points} + ${Bn}`:Bn,...oa&&{expire:Ps}}}).returning();return ca}));return aa}async _get(Me){if(!this.drizzleClient){return Promise.reject(new RateLimiterDrizzleError("Drizzle client is not established"))}const{and:Bn,or:Hn,gt:zn,eq:ni,isNull:Ci}=await getDrizzleOperators();const[ts]=await this.drizzleClient.select().from(this.schema).where(Bn(ni(this.schema.key,Me),Hn(zn(this.schema.expire,new Date),Ci(this.schema.expire)))).limit(1);return ts||null}async _delete(Me){if(!this.drizzleClient){return Promise.reject(new RateLimiterDrizzleError("Drizzle client is not established"))}const{eq:Bn}=await getDrizzleOperators();const[Hn]=await this.drizzleClient.delete(this.schema).where(Bn(this.schema.key,Me)).returning({key:this.schema.key});return!!Hn?.key}_clearExpiredHourAgo(){if(this._clearExpiredTimeoutId){clearTimeout(this._clearExpiredTimeoutId)}this._clearExpiredTimeoutId=setTimeout((async()=>{try{const{lt:Me}=await getDrizzleOperators();await this.drizzleClient.delete(this.schema).where(Me(this.schema.expire,new Date(Date.now()-Ci)))}catch(Me){console.warn("Failed to clear expired records:",Me)}this._clearExpiredHourAgo()}),ni);this._clearExpiredTimeoutId.unref()}}Me.exports=RateLimiterDrizzle},75347:(Me,Bn,Hn)=>{let zn=null;const ni=3e5;const Ci=36e5;class RateLimiterDrizzleError extends Error{constructor(Me){super(Me);this.name="RateLimiterDrizzleError"}}async function getDrizzleOperators(){if(zn)return zn;try{function getPackageName(){return["drizzle","orm"].join("-")}const Me=await Hn(87788)(`${getPackageName()}`);const{and:Bn,or:ni,gt:Ci,lt:ts,eq:Ps,isNull:aa,sql:oa}=Me.default||Me;zn={and:Bn,or:ni,gt:Ci,lt:ts,eq:Ps,isNull:aa,sql:oa};return zn}catch(ca){throw new RateLimiterDrizzleError("drizzle-orm is not installed. Please install drizzle-orm to use RateLimiterDrizzleNonAtomic.")}}const ts=Hn(65140);const Ps=Hn(80449);class RateLimiterDrizzleNonAtomic extends ts{constructor(Me){super(Me);if(!Me?.schema){throw new RateLimiterDrizzleError("Drizzle schema is required")}if(!Me?.storeClient){throw new RateLimiterDrizzleError("Drizzle client is required")}this.schema=Me.schema;this.drizzleClient=Me.storeClient;this.clearExpiredByTimeout=Me.clearExpiredByTimeout??true;if(this.clearExpiredByTimeout){this._clearExpiredHourAgo()}}_getRateLimiterRes(Me,Bn,Hn){const zn=new Ps;let ni=Hn;zn.isFirstInDuration=ni.points===Bn;zn.consumedPoints=ni.points;zn.remainingPoints=Math.max(this.points-zn.consumedPoints,0);zn.msBeforeNext=ni.expire!==null?Math.max(new Date(ni.expire).getTime()-Date.now(),0):-1;return zn}async _upsert(Me,Bn,Hn,zn=false){if(!this.drizzleClient){return Promise.reject(new RateLimiterDrizzleError("Drizzle client is not established"))}const{eq:ni}=await getDrizzleOperators();const Ci=new Date;const ts=Hn>0?new Date(Ci.getTime()+Hn):null;const[Ps]=await this.drizzleClient.select().from(this.schema).where(ni(this.schema.key,Me)).limit(1);const aa=zn||!Ps||!Ps.expire||Ps.expire<=Ci||ts===null;let oa;if(Ps&&!aa){oa=Ps.points+Bn}else{oa=Bn}const[ca]=await this.drizzleClient.insert(this.schema).values({key:Me,points:oa,expire:ts}).onConflictDoUpdate({target:this.schema.key,set:{points:oa,...aa&&{expire:ts}}}).returning();return ca}async _get(Me){if(!this.drizzleClient){return Promise.reject(new RateLimiterDrizzleError("Drizzle client is not established"))}const{and:Bn,or:Hn,gt:zn,eq:ni,isNull:Ci}=await getDrizzleOperators();const[ts]=await this.drizzleClient.select().from(this.schema).where(Bn(ni(this.schema.key,Me),Hn(zn(this.schema.expire,new Date),Ci(this.schema.expire)))).limit(1);return ts||null}async _delete(Me){if(!this.drizzleClient){return Promise.reject(new RateLimiterDrizzleError("Drizzle client is not established"))}const{eq:Bn}=await getDrizzleOperators();const[Hn]=await this.drizzleClient.delete(this.schema).where(Bn(this.schema.key,Me)).returning({key:this.schema.key});return!!(Hn&&Hn.key)}_clearExpiredHourAgo(){if(this._clearExpiredTimeoutId){clearTimeout(this._clearExpiredTimeoutId)}this._clearExpiredTimeoutId=setTimeout((async()=>{try{const{lt:Me}=await getDrizzleOperators();await this.drizzleClient.delete(this.schema).where(Me(this.schema.expire,new Date(Date.now()-Ci)))}catch(Me){console.warn("Failed to clear expired records:",Me)}this._clearExpiredHourAgo()}),ni);this._clearExpiredTimeoutId.unref()}}Me.exports=RateLimiterDrizzleNonAtomic},82309:(Me,Bn,Hn)=>{const zn=Hn(80449);const ni=Hn(65140);class DynamoItem{constructor(Me,Bn,Hn){this.key=Me;this.points=Bn;this.expire=Hn}}const Ci=25;const ts=25;class RateLimiterDynamo extends ni{constructor(Me,Bn=null){super(Me);this.client=Me.storeClient;this.tableName=Me.tableName;this.tableCreated=Me.tableCreated;this.ttlManuallySet=Me.ttlSet;if(!this.tableCreated){this._createTable(Me.dynamoTableOpts).then((Me=>{this.tableCreated=true;this._setTTL().finally((()=>{if(typeof Bn==="function"){Bn()}}))})).catch((Me=>{if(typeof Bn==="function"){Bn(Me)}else{throw Me}}))}else{this._setTTL().finally((()=>{if(typeof Bn==="function"){Bn()}}))}}get tableName(){return this._tableName}set tableName(Me){this._tableName=typeof Me==="undefined"?"node-rate-limiter-flexible":Me}get tableCreated(){return this._tableCreated}set tableCreated(Me){this._tableCreated=typeof Me==="undefined"?false:!!Me}async _createTable(Me){const Bn={TableName:this.tableName,AttributeDefinitions:[{AttributeName:"key",AttributeType:"S"}],KeySchema:[{AttributeName:"key",KeyType:"HASH"}],ProvisionedThroughput:{ReadCapacityUnits:Me&&Me.readCapacityUnits?Me.readCapacityUnits:Ci,WriteCapacityUnits:Me&&Me.writeCapacityUnits?Me.writeCapacityUnits:ts}};try{const Me=await this.client.createTable(Bn);return Me}catch(Me){if(Me.__type&&Me.__type.includes("ResourceInUseException")){return null}else{throw Me}}}async _get(Me){if(!this.tableCreated){throw new Error("Table is not created yet")}const Bn={TableName:this.tableName,Key:{key:{S:Me}}};const Hn=await this.client.getItem(Bn);if(Hn.Item){return new DynamoItem(Hn.Item.key.S,Number(Hn.Item.points.N),Number(Hn.Item.expire.N))}else{return null}}async _delete(Me){if(!this.tableCreated){throw new Error("Table is not created yet")}const Bn={TableName:this.tableName,Key:{key:{S:Me}},ConditionExpression:"attribute_exists(#k)",ExpressionAttributeNames:{"#k":"key"}};try{const Me=await this._client.deleteItem(Bn);return Me.$metadata.httpStatusCode===200}catch(Me){if(Me.__type&&Me.__type.includes("ConditionalCheckFailedException")){return false}else{throw Me}}}async _upsert(Me,Bn,Hn,zn=false,ni={}){if(!this.tableCreated){throw new Error("Table is not created yet")}const Ci=Date.now();const ts=Ci/1e3;const Ps=Hn>0?(Ci+Hn)/1e3:-1;if(zn){return await this._baseUpsert({TableName:this.tableName,Key:{key:{S:Me}},UpdateExpression:"SET points = :points, expire = :expire",ExpressionAttributeValues:{":points":{N:Bn.toString()},":expire":{N:Ps.toString()}},ReturnValues:"ALL_NEW"})}try{return await this._baseUpsert({TableName:this.tableName,Key:{key:{S:Me}},UpdateExpression:"SET points = :new_points, expire = :new_expire",ExpressionAttributeValues:{":new_points":{N:Bn.toString()},":new_expire":{N:Ps.toString()},":where_expire":{N:ts.toString()}},ConditionExpression:"expire <= :where_expire OR attribute_not_exists(points)",ReturnValues:"ALL_NEW"})}catch(Hn){return await this._baseUpsert({TableName:this.tableName,Key:{key:{S:Me}},UpdateExpression:"SET points = points + :new_points",ExpressionAttributeValues:{":new_points":{N:Bn.toString()},":where_expire":{N:ts.toString()}},ConditionExpression:"expire > :where_expire",ReturnValues:"ALL_NEW"})}}async _baseUpsert(Me){if(!this.tableCreated){throw new Error("Table is not created yet")}try{const Bn=await this.client.updateItem(Me);return new DynamoItem(Bn.Attributes.key.S,Number(Bn.Attributes.points.N),Number(Bn.Attributes.expire.N))}catch(Me){throw Me}}async _setTTL(){if(!this.tableCreated){throw new Error("Table is not created yet")}try{const Me=await this._isTTLSet();if(Me){return}const Bn={TableName:this.tableName,TimeToLiveSpecification:{AttributeName:"expire",Enabled:true}};const Hn=await this.client.updateTimeToLive(Bn);return Hn}catch(Me){throw Me}}async _isTTLSet(){if(!this.tableCreated){throw new Error("Table is not created yet")}if(this.ttlManuallySet){return true}try{const Me=await this.client.describeTimeToLive({TableName:this.tableName});return Me.$metadata.httpStatusCode==200&&Me.TimeToLiveDescription.TimeToLiveStatus==="ENABLED"&&Me.TimeToLiveDescription.AttributeName==="expire"}catch(Me){throw Me}}_getRateLimiterRes(Me,Bn,Hn){const ni=new zn;ni.isFirstInDuration=Bn===Hn.points;ni.consumedPoints=ni.isFirstInDuration?Bn:Hn.points;ni.remainingPoints=Math.max(this.points-ni.consumedPoints,0);ni.msBeforeNext=Hn.expire!=-1?Math.max(Hn.expire*1e3-Date.now(),0):-1;return ni}}Me.exports=RateLimiterDynamo},36481:(Me,Bn,Hn)=>{const zn=Hn(43184);const ni=Hn(15299);const Ci=5;class RateLimiterEtcd extends ni{async _upsert(Me,Bn,Hn,ni=false){const ts=Hn>0?Date.now()+Hn:null;let Ps={points:Bn,expire:ts};let aa;if(ni){await this.client.put(Me).value(JSON.stringify(Ps))}else{const Hn=await this.client.if(Me,"Version","===","0").then(this.client.put(Me).value(JSON.stringify(Ps))).commit().then((Me=>!!Me.succeeded));if(!Hn){let Hn=false;for(let zn=0;zn!!Me.succeeded));if(Hn){break}}if(!Hn){throw new zn("Could not set new value in a transaction.")}}}return Ps}}Me.exports=RateLimiterEtcd},15299:(Me,Bn,Hn)=>{const zn=Hn(65140);const ni=Hn(80449);const Ci=Hn(72922);class RateLimiterEtcdNonAtomic extends zn{constructor(Me){super(Me);if(!Me.storeClient){throw new Ci('You need to set the option "storeClient" to an instance of class "Etcd3".')}this.client=Me.storeClient}_getRateLimiterRes(Me,Bn,Hn){const zn=new ni;zn.isFirstInDuration=Bn===Hn.points;zn.consumedPoints=zn.isFirstInDuration?Bn:Hn.points;zn.remainingPoints=Math.max(this.points-zn.consumedPoints,0);zn.msBeforeNext=Hn.expire?Math.max(Hn.expire-Date.now(),0):-1;return zn}async _upsert(Me,Bn,Hn,zn=false){const ni=Hn>0?Date.now()+Hn:null;let Ci={points:Bn,expire:ni};if(zn){await this.client.put(Me).value(JSON.stringify(Ci))}else{const Hn=await this._get(Me);Ci={points:(Hn!==null?Hn.points:0)+Bn,expire:ni};await this.client.put(Me).value(JSON.stringify(Ci))}return Ci}async _get(Me){return this.client.get(Me).string().then((Me=>Me!==null?JSON.parse(Me):null))}async _delete(Me){return this.client.delete().key(Me).then((Me=>Me.deleted==="1"))}}Me.exports=RateLimiterEtcdNonAtomic},33847:(Me,Bn,Hn)=>{const zn=Hn(88569);const ni=Hn(80449);Me.exports=class RateLimiterInsuredAbstract extends zn{constructor(Me={}){super(Me);this.insuranceLimiter=Me.insuranceLimiter}get insuranceLimiter(){return this._insuranceLimiter}set insuranceLimiter(Me){if(typeof Me!=="undefined"&&!(Me instanceof zn)){throw new Error("insuranceLimiter must be instance of RateLimiterAbstract")}this._insuranceLimiter=Me;if(this._insuranceLimiter){this._insuranceLimiter.blockDuration=this.blockDuration;this._insuranceLimiter.execEvenly=this.execEvenly}}_handleError(Me,Bn,Hn,Ci,ts){if(Me instanceof ni){Ci(Me)}else if(!(this.insuranceLimiter instanceof zn)){Ci(Me)}else{this.insuranceLimiter[Bn](...ts).then((Me=>{Hn(Me)})).catch((Me=>{Ci(Me)}))}}_operation(Me,Bn){const Hn=this[Me](...Bn);return new Promise(((zn,ni)=>Hn.then((Me=>{zn(Me)})).catch((Hn=>{if(Me.startsWith("_")){Me=Me.slice(1)}this._handleError(Hn,Me,zn,ni,Bn)}))))}consume(Me,Bn=1,Hn={}){return this._operation("_consume",[Me,Bn,Hn])}penalty(Me,Bn=1,Hn={}){return this._operation("_penalty",[Me,Bn,Hn])}reward(Me,Bn=1,Hn={}){return this._operation("_reward",[Me,Bn,Hn])}get(Me,Bn={}){return this._operation("_get",[Me,Bn])}set(Me,Bn,Hn,zn={}){return this._operation("_set",[Me,Bn,Hn,zn])}block(Me,Bn,Hn={}){return this._operation("_block",[Me,Bn,Hn])}delete(Me,Bn={}){return this._operation("_delete",[Me,Bn])}_consume(){throw new Error("You have to implement the method '_consume'!")}_penalty(){throw new Error("You have to implement the method '_penalty'!")}_reward(){throw new Error("You have to implement the method '_reward'!")}_get(){throw new Error("You have to implement the method '_get'!")}_set(){throw new Error("You have to implement the method '_set'!")}_block(){throw new Error("You have to implement the method '_block'!")}_delete(){throw new Error("You have to implement the method '_delete'!")}}},73250:(Me,Bn,Hn)=>{const zn=Hn(65140);const ni=Hn(80449);class RateLimiterMemcache extends zn{constructor(Me){super(Me);this.client=Me.storeClient}_getRateLimiterRes(Me,Bn,Hn){const zn=new ni;zn.consumedPoints=parseInt(Hn.consumedPoints);zn.isFirstInDuration=Hn.consumedPoints===Bn;zn.remainingPoints=Math.max(this.points-zn.consumedPoints,0);zn.msBeforeNext=Hn.msBeforeNext;return zn}_upsert(Me,Bn,Hn,zn=false,ni={}){return new Promise(((Ci,ts)=>{const Ps=Date.now();const aa=Math.floor(Hn/1e3);if(zn){this.client.set(Me,Bn,aa,(Hn=>{if(!Hn){this.client.set(`${Me}_expire`,aa>0?Ps+aa*1e3:-1,aa,(()=>{const Me={consumedPoints:Bn,msBeforeNext:aa>0?aa*1e3:-1};Ci(Me)}))}else{ts(Hn)}}))}else{this.client.incr(Me,Bn,((oa,ca)=>{if(oa||ca===false){this.client.add(Me,Bn,aa,((oa,ca)=>{if(oa||!ca){if(typeof ni.attemptNumber==="undefined"||ni.attemptNumber<3){const Ps=Object.assign({},ni);Ps.attemptNumber=Ps.attemptNumber?Ps.attemptNumber+1:1;this._upsert(Me,Bn,Hn,zn,Ps).then((Me=>Ci(Me))).catch((Me=>ts(Me)))}else{ts(new Error("Can not add key"))}}else{this.client.add(`${Me}_expire`,aa>0?Ps+aa*1e3:-1,aa,(()=>{const Me={consumedPoints:Bn,msBeforeNext:aa>0?aa*1e3:-1};Ci(Me)}))}}))}else{this.client.get(`${Me}_expire`,((Me,Bn)=>{if(Me){ts(Me)}else{const Me=Bn===false?0:Bn;const Hn={consumedPoints:ca,msBeforeNext:Me>=0?Math.max(Me-Ps,0):-1};Ci(Hn)}}))}}))}}))}_get(Me){return new Promise(((Bn,Hn)=>{const zn=Date.now();this.client.get(Me,((ni,Ci)=>{if(!Ci){Bn(null)}else{this.client.get(`${Me}_expire`,((Me,ni)=>{if(Me){Hn(Me)}else{const Me=ni===false?0:ni;const Hn={consumedPoints:Ci,msBeforeNext:Me>=0?Math.max(Me-zn,0):-1};Bn(Hn)}}))}}))}))}_delete(Me){return new Promise(((Bn,Hn)=>{this.client.del(Me,((zn,ni)=>{if(zn){Hn(zn)}else if(ni===false){Bn(ni)}else{this.client.del(`${Me}_expire`,(Me=>{if(Me){Hn(Me)}else{Bn(ni)}}))}}))}))}}Me.exports=RateLimiterMemcache},24544:(Me,Bn,Hn)=>{const zn=Hn(88569);const ni=Hn(81534);const Ci=Hn(80449);class RateLimiterMemory extends zn{constructor(Me={}){super(Me);this._memoryStorage=new ni}consume(Me,Bn=1,Hn={}){return new Promise(((zn,ni)=>{const Ci=this.getKey(Me);const ts=this._getKeySecDuration(Hn);let Ps=this._memoryStorage.incrby(Ci,Bn,ts);Ps.remainingPoints=Math.max(this.points-Ps.consumedPoints,0);if(Ps.consumedPoints>this.points){if(this.blockDuration>0&&Ps.consumedPoints<=this.points+Bn){Ps=this._memoryStorage.set(Ci,Ps.consumedPoints,this.blockDuration)}ni(Ps)}else if(this.execEvenly&&Ps.msBeforeNext>0&&!Ps.isFirstInDuration){let Me=Math.ceil(Ps.msBeforeNext/(Ps.remainingPoints+2));if(Me{const ni=this._getKeySecDuration(Hn);const Ci=this._memoryStorage.incrby(zn,Bn,ni);Ci.remainingPoints=Math.max(this.points-Ci.consumedPoints,0);Me(Ci)}))}reward(Me,Bn=1,Hn={}){const zn=this.getKey(Me);return new Promise((Me=>{const ni=this._getKeySecDuration(Hn);const Ci=this._memoryStorage.incrby(zn,-Bn,ni);Ci.remainingPoints=Math.max(this.points-Ci.consumedPoints,0);Me(Ci)}))}block(Me,Bn){const Hn=Bn*1e3;const zn=this.points+1;this._memoryStorage.set(this.getKey(Me),zn,Bn);return Promise.resolve(new Ci(0,Hn===0?-1:Hn,zn))}set(Me,Bn,Hn){const zn=(Hn>=0?Hn:this.duration)*1e3;this._memoryStorage.set(this.getKey(Me),Bn,Hn);return Promise.resolve(new Ci(0,zn===0?-1:zn,Bn))}get(Me){const Bn=this._memoryStorage.get(this.getKey(Me));if(Bn!==null){Bn.remainingPoints=Math.max(this.points-Bn.consumedPoints,0)}return Promise.resolve(Bn)}delete(Me){return Promise.resolve(this._memoryStorage.delete(this.getKey(Me)))}}Me.exports=RateLimiterMemory},28439:(Me,Bn,Hn)=>{const zn=Hn(65140);const ni=Hn(80449);function getDriverVersion(Me){try{const Bn=Me.client?Me.client:Me;let Hn=[0,0,0];if(typeof Bn.topology==="undefined"){const{version:Me}=Bn.options.metadata.driver;Hn=Me.split("|",1)[0].split(".").map((Me=>parseInt(Me)))}else{const{version:Me}=Bn.topology.s.options.metadata.driver;Hn=Me.split(".").map((Me=>parseInt(Me)))}return{major:Hn[0],feature:Hn[1],patch:Hn[2]}}catch(Me){return{major:0,feature:0,patch:0}}}class RateLimiterMongo extends zn{constructor(Me){super(Me);this.dbName=Me.dbName;this.tableName=Me.tableName;this.indexKeyPrefix=Me.indexKeyPrefix;this.disableIndexesCreation=Me.disableIndexesCreation;if(Me.mongo){this.client=Me.mongo}else{this.client=Me.storeClient}if(typeof this.client.then==="function"){this.client.then((Me=>{this.client=Me;this._initCollection();this._driverVersion=getDriverVersion(this.client)}))}else{this._initCollection();this._driverVersion=getDriverVersion(this.client)}}get dbName(){return this._dbName}set dbName(Me){this._dbName=typeof Me==="undefined"?RateLimiterMongo.getDbName():Me}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(Me){this._tableName=typeof Me==="undefined"?this.keyPrefix:Me}get client(){return this._client}set client(Me){if(typeof Me==="undefined"){throw new Error("mongo is not set")}this._client=Me}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(Me){this._indexKeyPrefix=Me||{}}get disableIndexesCreation(){return this._disableIndexesCreation}set disableIndexesCreation(Me){this._disableIndexesCreation=!!Me}async createIndexes(){const Me=typeof this.client.db==="function"?this.client.db(this.dbName):this.client;const Bn=Me.collection(this.tableName);await Bn.createIndex({expire:-1},{expireAfterSeconds:0});await Bn.createIndex(Object.assign({},this.indexKeyPrefix,{key:1}),{unique:true})}_initCollection(){const Me=typeof this.client.db==="function"?this.client.db(this.dbName):this.client;const Bn=Me.collection(this.tableName);if(!this.disableIndexesCreation){this.createIndexes().catch((Me=>{console.error(`Cannot create indexes for mongo collection ${this.tableName}`,Me)}))}this._collection=Bn}_getRateLimiterRes(Me,Bn,Hn){const zn=new ni;let Ci;if(typeof Hn.value==="undefined"){Ci=Hn}else{Ci=Hn.value}zn.isFirstInDuration=Ci.points===Bn;zn.consumedPoints=Ci.points;zn.remainingPoints=Math.max(this.points-zn.consumedPoints,0);zn.msBeforeNext=Ci.expire!==null?Math.max(new Date(Ci.expire).getTime()-Date.now(),0):-1;return zn}_upsert(Me,Bn,Hn,zn=false,ni={}){if(!this._collection){return Promise.reject(Error("Mongo connection is not established"))}const Ci=ni.attrs||{};let ts;let Ps;if(zn){ts={key:Me};ts=Object.assign(ts,Ci);Ps={$set:{key:Me,points:Bn,expire:Hn>0?new Date(Date.now()+Hn):null}};Ps.$set=Object.assign(Ps.$set,Ci)}else{ts={$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}],key:Me};ts=Object.assign(ts,Ci);Ps={$setOnInsert:{key:Me,expire:Hn>0?new Date(Date.now()+Hn):null},$inc:{points:Bn}};Ps.$setOnInsert=Object.assign(Ps.$setOnInsert,Ci)}const aa={upsert:true};if(this._driverVersion.major>=4||(this._driverVersion.major===3&&this._driverVersion.feature>=7||this._driverVersion.feature>=6&&this._driverVersion.patch>=7)){aa.returnDocument="after"}else{aa.returnOriginal=false}return new Promise(((ni,oa)=>{this._collection.findOneAndUpdate(ts,Ps,aa).then((Me=>{ni(Me)})).catch((ts=>{if(ts&&ts.code===11e3){const ts=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:Me},Ci);const Ps={$set:Object.assign({key:Me,points:Bn,expire:Hn>0?new Date(Date.now()+Hn):null},Ci)};this._collection.findOneAndUpdate(ts,Ps,aa).then((Me=>{ni(Me)})).catch((Ci=>{if(Ci&&Ci.code===11e3){this._upsert(Me,Bn,Hn,zn).then((Me=>ni(Me))).catch((Me=>oa(Me)))}else{oa(Ci)}}))}else{oa(ts)}}))}))}_get(Me,Bn={}){if(!this._collection){return Promise.reject(Error("Mongo connection is not established"))}const Hn=Bn.attrs||{};const zn=Object.assign({key:Me,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},Hn);return this._collection.findOne(zn)}_delete(Me,Bn={}){if(!this._collection){return Promise.reject(Error("Mongo connection is not established"))}const Hn=Bn.attrs||{};const zn=Object.assign({key:Me},Hn);return this._collection.deleteOne(zn).then((Me=>Me.deletedCount>0))}}Me.exports=RateLimiterMongo},67793:(Me,Bn,Hn)=>{const zn=Hn(65140);const ni=Hn(80449);class RateLimiterMySQL extends zn{constructor(Me,Bn=null){super(Me);this.client=Me.storeClient;this.clientType=Me.storeType;this.dbName=Me.dbName;this.tableName=Me.tableName;this.clearExpiredByTimeout=Me.clearExpiredByTimeout;this.tableCreated=Me.tableCreated;if(!this.tableCreated){this._createDbAndTable().then((()=>{this.tableCreated=true;if(this.clearExpiredByTimeout){this._clearExpiredHourAgo()}if(typeof Bn==="function"){Bn()}})).catch((Me=>{if(typeof Bn==="function"){Bn(Me)}else{throw Me}}))}else{if(this.clearExpiredByTimeout){this._clearExpiredHourAgo()}if(typeof Bn==="function"){Bn()}}}clearExpired(Me){return new Promise((Bn=>{this._getConnection().then((Hn=>{Hn.query(`DELETE FROM ??.?? WHERE expire < ?`,[this.dbName,this.tableName,Me],(()=>{this._releaseConnection(Hn);Bn()}))})).catch((()=>{Bn()}))}))}_clearExpiredHourAgo(){if(this._clearExpiredTimeoutId){clearTimeout(this._clearExpiredTimeoutId)}this._clearExpiredTimeoutId=setTimeout((()=>{this.clearExpired(Date.now()-36e5).then((()=>{this._clearExpiredHourAgo()}))}),3e5);this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return new Promise(((Me,Bn)=>{this.client.getConnection(((Hn,zn)=>{if(Hn){return Bn(Hn)}Me(zn)}))}));case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(Me){switch(this.clientType){case"pool":return Me.release();case"sequelize":return this.client.connectionManager.releaseConnection(Me);case"knex":return this.client.client.releaseConnection(Me);default:return true}}_createDbAndTable(){return new Promise(((Me,Bn)=>{this._getConnection().then((Hn=>{Hn.query(`CREATE DATABASE IF NOT EXISTS \`${this.dbName}\`;`,(zn=>{if(zn){this._releaseConnection(Hn);return Bn(zn)}Hn.query(this._getCreateTableStmt(),(zn=>{if(zn){this._releaseConnection(Hn);return Bn(zn)}this._releaseConnection(Hn);Me()}))}))})).catch((Me=>{Bn(Me)}))}))}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS \`${this.dbName}\`.\`${this.tableName}\` (`+"`key` VARCHAR(255) CHARACTER SET utf8 NOT NULL,"+"`points` INT(9) NOT NULL default 0,"+"`expire` BIGINT UNSIGNED,"+"PRIMARY KEY (`key`)"+") ENGINE = INNODB;"}get clientType(){return this._clientType}set clientType(Me){if(typeof Me==="undefined"){if(this.client.constructor.name==="Connection"){Me="connection"}else if(this.client.constructor.name==="Pool"){Me="pool"}else if(this.client.constructor.name==="Sequelize"){Me="sequelize"}else{throw new Error("storeType is not defined")}}this._clientType=Me.toLowerCase()}get dbName(){return this._dbName}set dbName(Me){this._dbName=typeof Me==="undefined"?"rtlmtrflx":Me}get tableName(){return this._tableName}set tableName(Me){this._tableName=typeof Me==="undefined"?this.keyPrefix:Me}get tableCreated(){return this._tableCreated}set tableCreated(Me){this._tableCreated=typeof Me==="undefined"?false:!!Me}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(Me){this._clearExpiredByTimeout=typeof Me==="undefined"?true:Boolean(Me)}_getRateLimiterRes(Me,Bn,Hn){const zn=new ni;const[Ci]=Hn;zn.isFirstInDuration=Bn===Ci.points;zn.consumedPoints=zn.isFirstInDuration?Bn:Ci.points;zn.remainingPoints=Math.max(this.points-zn.consumedPoints,0);zn.msBeforeNext=Ci.expire?Math.max(Ci.expire-Date.now(),0):-1;return zn}_upsertTransaction(Me,Bn,Hn,zn,ni){return new Promise(((Ci,ts)=>{Me.query("BEGIN",(Ps=>{if(Ps){Me.rollback();return ts(Ps)}const aa=Date.now();const oa=zn>0?aa+zn:null;let ca;let _a;if(ni){ca=`INSERT INTO ??.?? VALUES (?, ?, ?)\n ON DUPLICATE KEY UPDATE \n points = ?, \n expire = ?;`;_a=[this.dbName,this.tableName,Bn,Hn,oa,Hn,oa]}else{ca=`INSERT INTO ??.?? VALUES (?, ?, ?)\n ON DUPLICATE KEY UPDATE \n points = IF(expire <= ?, ?, points + (?)), \n expire = IF(expire <= ?, ?, expire);`;_a=[this.dbName,this.tableName,Bn,Hn,oa,aa,Hn,Hn,aa,oa]}Me.query(ca,_a,(Hn=>{if(Hn){Me.rollback();return ts(Hn)}Me.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,Bn],((Bn,Hn)=>{if(Bn){Me.rollback();return ts(Bn)}Me.query("COMMIT",(Bn=>{if(Bn){Me.rollback();return ts(Bn)}Ci(Hn)}))}))}))}))}))}_upsert(Me,Bn,Hn,zn=false){if(!this.tableCreated){return Promise.reject(Error("Table is not created yet"))}return new Promise(((ni,Ci)=>{this._getConnection().then((ts=>{this._upsertTransaction(ts,Me,Bn,Hn,zn).then((Me=>{ni(Me);this._releaseConnection(ts)})).catch((Me=>{Ci(Me);this._releaseConnection(ts)}))})).catch((Me=>{Ci(Me)}))}))}_get(Me){if(!this.tableCreated){return Promise.reject(Error("Table is not created yet"))}return new Promise(((Bn,Hn)=>{this._getConnection().then((zn=>{zn.query("SELECT points, expire FROM ??.?? WHERE `key` = ? AND (`expire` > ? OR `expire` IS NULL)",[this.dbName,this.tableName,Me,Date.now()],((Me,ni)=>{if(Me){Hn(Me)}else if(ni.length===0){Bn(null)}else{Bn(ni)}this._releaseConnection(zn)}))})).catch((Me=>{Hn(Me)}))}))}_delete(Me){if(!this.tableCreated){return Promise.reject(Error("Table is not created yet"))}return new Promise(((Bn,Hn)=>{this._getConnection().then((zn=>{zn.query("DELETE FROM ??.?? WHERE `key` = ?",[this.dbName,this.tableName,Me],((Me,ni)=>{if(Me){Hn(Me)}else{Bn(ni.affectedRows>0)}this._releaseConnection(zn)}))})).catch((Me=>{Hn(Me)}))}))}}Me.exports=RateLimiterMySQL},3740:(Me,Bn,Hn)=>{const zn=Hn(65140);const ni=Hn(80449);class RateLimiterPostgres extends zn{constructor(Me,Bn=null){super(Me);this.client=Me.storeClient;this.clientType=Me.storeType;this.tableName=Me.tableName;this.schemaName=Me.schemaName;this.clearExpiredByTimeout=Me.clearExpiredByTimeout;this.tableCreated=Me.tableCreated;if(!this.tableCreated){this._createTable().then((()=>{this.tableCreated=true;if(this.clearExpiredByTimeout){this._clearExpiredHourAgo()}if(typeof Bn==="function"){Bn()}})).catch((Me=>{if(typeof Bn==="function"){Bn(Me)}else{throw Me}}))}else{if(this.clearExpiredByTimeout){this._clearExpiredHourAgo()}if(typeof Bn==="function"){Bn()}}}_getTableIdentifier(){return this.schemaName?`"${this.schemaName}"."${this.tableName}"`:`"${this.tableName}"`}clearExpired(Me){return new Promise((Bn=>{const Hn={name:"rlflx-clear-expired",text:`DELETE FROM ${this._getTableIdentifier()} WHERE expire < $1`,values:[Me]};this._query(Hn).then((()=>{Bn()})).catch((()=>{Bn()}))}))}_clearExpiredHourAgo(){if(this._clearExpiredTimeoutId){clearTimeout(this._clearExpiredTimeoutId)}this._clearExpiredTimeoutId=setTimeout((()=>{this.clearExpired(Date.now()-36e5).then((()=>{this._clearExpiredHourAgo()}))}),3e5);this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return Promise.resolve(this.client);case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();case"typeorm":return Promise.resolve(this.client.driver.master);default:return Promise.resolve(this.client)}}_releaseConnection(Me){switch(this.clientType){case"pool":return true;case"sequelize":return this.client.connectionManager.releaseConnection(Me);case"knex":return this.client.client.releaseConnection(Me);case"typeorm":return true;default:return true}}_createTable(){return new Promise(((Me,Bn)=>{this._query({text:this._getCreateTableStmt()}).then((()=>{Me()})).catch((Hn=>{if(Hn.code==="23505"){Me()}else{Bn(Hn)}}))}))}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS ${this._getTableIdentifier()} (\n key varchar(255) PRIMARY KEY,\n points integer NOT NULL DEFAULT 0,\n expire bigint\n );`}get clientType(){return this._clientType}set clientType(Me){const Bn=this.client.constructor.name;if(typeof Me==="undefined"){if(Bn==="Client"){Me="client"}else if(Bn==="Pool"||Bn==="BoundPool"){Me="pool"}else if(Bn==="Sequelize"){Me="sequelize"}else{throw new Error("storeType is not defined")}}this._clientType=Me.toLowerCase()}get tableName(){return this._tableName}set tableName(Me){this._tableName=typeof Me==="undefined"?this.keyPrefix:Me}get schemaName(){return this._schemaName}set schemaName(Me){this._schemaName=Me}get tableCreated(){return this._tableCreated}set tableCreated(Me){this._tableCreated=typeof Me==="undefined"?false:!!Me}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(Me){this._clearExpiredByTimeout=typeof Me==="undefined"?true:Boolean(Me)}_getRateLimiterRes(Me,Bn,Hn){const zn=new ni;const Ci=Hn.rows[0];zn.isFirstInDuration=Bn===Ci.points;zn.consumedPoints=zn.isFirstInDuration?Bn:Ci.points;zn.remainingPoints=Math.max(this.points-zn.consumedPoints,0);zn.msBeforeNext=Ci.expire?Math.max(Ci.expire-Date.now(),0):-1;return zn}_query(Me){const Bn=this.tableName.toLowerCase();const Hn={name:`${Bn}:${Me.name}`,text:Me.text,values:Me.values};return new Promise(((Me,Bn)=>{this._getConnection().then((zn=>{zn.query(Hn).then((Bn=>{Me(Bn);this._releaseConnection(zn)})).catch((Me=>{Bn(Me);this._releaseConnection(zn)}))})).catch((Me=>{Bn(Me)}))}))}_upsert(Me,Bn,Hn,zn=false){if(!this.tableCreated){return Promise.reject(Error("Table is not created yet"))}const ni=Hn>0?Date.now()+Hn:null;const Ci=zn?" $3 ":` CASE\n WHEN ${this._getTableIdentifier()}.expire <= $4 THEN $3\n ELSE ${this._getTableIdentifier()}.expire\n END `;return this._query({name:zn?"rlflx-upsert-force":"rlflx-upsert",text:`\n INSERT INTO ${this._getTableIdentifier()} VALUES ($1, $2, $3)\n ON CONFLICT(key) DO UPDATE SET\n points = CASE\n WHEN (${this._getTableIdentifier()}.expire <= $4 OR 1=${zn?1:0}) THEN $2\n ELSE ${this._getTableIdentifier()}.points + ($2)\n END,\n expire = ${Ci}\n RETURNING points, expire;`,values:[Me,Bn,ni,Date.now()]})}_get(Me){if(!this.tableCreated){return Promise.reject(Error("Table is not created yet"))}return new Promise(((Bn,Hn)=>{this._query({name:"rlflx-get",text:`\n SELECT points, expire FROM ${this._getTableIdentifier()} WHERE key = $1 AND (expire > $2 OR expire IS NULL);`,values:[Me,Date.now()]}).then((Me=>{if(Me.rowCount===0){Me=null}Bn(Me)})).catch((Me=>{Hn(Me)}))}))}_delete(Me){if(!this.tableCreated){return Promise.reject(Error("Table is not created yet"))}return this._query({name:"rlflx-delete",text:`DELETE FROM ${this._getTableIdentifier()} WHERE key = $1`,values:[Me]}).then((Me=>Me.rowCount>0))}}Me.exports=RateLimiterPostgres},16323:(Me,Bn,Hn)=>{const zn=Hn(65140);const ni=Hn(80449);class RateLimiterPrisma extends zn{constructor(Me){super(Me);this.modelName=Me.tableName||"RateLimiterFlexible";this.prismaClient=Me.storeClient;this.clearExpiredByTimeout=Me.clearExpiredByTimeout||true;if(!this.prismaClient){throw new Error("Prisma client is not provided")}if(this.clearExpiredByTimeout){this._clearExpiredHourAgo()}}_getRateLimiterRes(Me,Bn,Hn){const zn=new ni;let Ci=Hn;zn.isFirstInDuration=Ci.points===Bn;zn.consumedPoints=Ci.points;zn.remainingPoints=Math.max(this.points-zn.consumedPoints,0);zn.msBeforeNext=Ci.expire!==null?Math.max(new Date(Ci.expire).getTime()-Date.now(),0):-1;return zn}_upsert(Me,Bn,Hn,zn=false){if(!this.prismaClient){return Promise.reject(new Error("Prisma client is not established"))}const ni=new Date;const Ci=Hn>0?new Date(ni.getTime()+Hn):null;return this.prismaClient.$transaction((async Hn=>{const ts=await Hn[this.modelName].findFirst({where:{key:Me}});if(ts){const Ps=zn||!ts.expire||ts.expire<=ni||Ci===null;return Hn[this.modelName].update({where:{key:Me},data:{points:!Ps?ts.points+Bn:Bn,...Ps&&{expire:Ci}}})}else{return Hn[this.modelName].create({data:{key:Me,points:Bn,expire:Ci}})}}))}_get(Me){if(!this.prismaClient){return Promise.reject(new Error("Prisma client is not established"))}return this.prismaClient[this.modelName].findFirst({where:{AND:[{key:Me},{OR:[{expire:{gt:new Date}},{expire:null}]}]}})}_delete(Me){if(!this.prismaClient){return Promise.reject(new Error("Prisma client is not established"))}return this.prismaClient[this.modelName].deleteMany({where:{key:Me}}).then((Me=>Me.count>0))}_clearExpiredHourAgo(){if(this._clearExpiredTimeoutId){clearTimeout(this._clearExpiredTimeoutId)}this._clearExpiredTimeoutId=setTimeout((async()=>{await this.prismaClient[this.modelName].deleteMany({where:{expire:{lt:new Date(Date.now()-36e5)}}});this._clearExpiredHourAgo()}),3e5);this._clearExpiredTimeoutId.unref()}}Me.exports=RateLimiterPrisma},52860:(Me,Bn,Hn)=>{const zn=Hn(27948);const ni=4294967295;const Ci="limiter";Me.exports=class RateLimiterQueue{constructor(Me,Bn={maxQueueSize:ni}){this._queueLimiters={KEY_DEFAULT:new RateLimiterQueueInternal(Me,Bn)};this._limiterFlexible=Me;this._maxQueueSize=Bn.maxQueueSize}getTokensRemaining(Me=Ci){if(this._queueLimiters[Me]){return this._queueLimiters[Me].getTokensRemaining()}else{return Promise.resolve(this._limiterFlexible.points)}}removeTokens(Me,Bn=Ci){if(!this._queueLimiters[Bn]){this._queueLimiters[Bn]=new RateLimiterQueueInternal(this._limiterFlexible,{key:Bn,maxQueueSize:this._maxQueueSize})}return this._queueLimiters[Bn].removeTokens(Me)}};class RateLimiterQueueInternal{constructor(Me,Bn={maxQueueSize:ni,key:Ci}){this._key=Bn.key;this._waitTimeout=null;this._queue=[];this._limiterFlexible=Me;this._maxQueueSize=Bn.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then((Me=>Me!==null?Me.remainingPoints:this._limiterFlexible.points))}removeTokens(Me){const Bn=this;return new Promise(((Hn,ni)=>{if(Me>Bn._limiterFlexible.points){ni(new zn(`Requested tokens ${Me} exceeds maximum ${Bn._limiterFlexible.points} tokens per interval`));return}if(Bn._queue.length>0){Bn._queueRequest.call(Bn,Hn,ni,Me)}else{Bn._limiterFlexible.consume(Bn._key,Me).then((Me=>{Hn(Me.remainingPoints)})).catch((zn=>{if(zn instanceof Error){ni(zn)}else{Bn._queueRequest.call(Bn,Hn,ni,Me);if(Bn._waitTimeout===null){Bn._waitTimeout=setTimeout(Bn._processFIFO.bind(Bn),zn.msBeforeNext)}}}))}}))}_queueRequest(Me,Bn,Hn){const ni=this;if(ni._queue.length{Bn.resolve(Hn.remainingPoints);Me._processFIFO.call(Me)})).catch((Hn=>{if(Hn instanceof Error){Bn.reject(Hn);Me._processFIFO.call(Me)}else{Me._queue.unshift(Bn);if(Me._waitTimeout===null){Me._waitTimeout=setTimeout(Me._processFIFO.bind(Me),Hn.msBeforeNext)}}}))}}},54336:(Me,Bn,Hn)=>{const zn=Hn(65140);const ni=Hn(80449);const Ci=`redis.call('set', KEYS[1], 0, 'EX', ARGV[2], 'NX') local consumed = redis.call('incrby', KEYS[1], ARGV[1]) local ttl = redis.call('pttl', KEYS[1]) if ttl == -1 then redis.call('expire', KEYS[1], ARGV[2]) ttl = 1000 * ARGV[2] end return {consumed, ttl} `;class RateLimiterRedis extends zn{constructor(Me){super(Me);this.client=Me.storeClient;this._rejectIfRedisNotReady=!!Me.rejectIfRedisNotReady;this._incrTtlLuaScript=Me.customIncrTtlLuaScript||Ci;this.useRedisPackage=Me.useRedisPackage||this.client.constructor.name==="Commander"||false;this.useRedis3AndLowerPackage=Me.useRedis3AndLowerPackage;if(typeof this.client.defineCommand==="function"){this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:this._incrTtlLuaScript})}}_isRedisReady(Me,Bn){if(!this._rejectIfRedisNotReady){return true}if(this.client.status){return this.client.status==="ready"}if(typeof this.client.isReady==="function"){return this.client.isReady()}if(typeof this.client.isReady==="boolean"){return this.client.isReady===true}if(this.client._slots&&typeof this.client._slots.getClient==="function"){if(typeof this.client.isOpen==="boolean"&&this.client.isOpen!==true){return false}try{const Hn=this.client._slots.getClient(Me,Bn);return Hn&&Hn.isReady===true}catch(Me){return false}}return true}_getRateLimiterRes(Me,Bn,Hn){let[zn,Ci]=Hn;if(Array.isArray(zn)){[,zn]=zn;[,Ci]=Ci}const ts=new ni;ts.consumedPoints=parseInt(zn);ts.isFirstInDuration=ts.consumedPoints===Bn;ts.remainingPoints=Math.max(this.points-ts.consumedPoints,0);ts.msBeforeNext=Ci;return ts}async _upsert(Me,Bn,Hn,zn=false){if(typeof Bn=="string"){if(!RegExp("^[1-9][0-9]*$").test(Bn)){throw new Error("Consuming string different than integer values is not supported by this package")}}else if(!Number.isInteger(Bn)){throw new Error("Consuming decimal number of points is not supported by this package")}if(!this._isRedisReady(Me,false)){throw new Error("Redis connection is not ready")}const ni=Math.floor(Hn/1e3);const Ci=this.client.multi();if(zn){if(ni>0){if(!this.useRedisPackage&&!this.useRedis3AndLowerPackage){Ci.set(Me,Bn,"EX",ni)}else{Ci.set(Me,Bn,{EX:ni})}}else{Ci.set(Me,Bn)}if(!this.useRedisPackage&&!this.useRedis3AndLowerPackage){return Ci.pttl(Me).exec(true)}return Ci.pTTL(Me).exec(true)}if(ni>0){if(!this.useRedisPackage&&!this.useRedis3AndLowerPackage){return this.client.rlflxIncr([Me].concat([String(Bn),String(ni),String(this.points),String(this.duration)]))}if(this.useRedis3AndLowerPackage){return new Promise(((Hn,zn)=>{const incrCallback=function(Me,Bn){if(Me){return zn(Me)}return Hn(Bn)};if(typeof this.client.rlflxIncr==="function"){this.client.rlflxIncr(Me,Bn,ni,this.points,this.duration,incrCallback)}else{this.client.eval(this._incrTtlLuaScript,1,Me,Bn,ni,this.points,this.duration,incrCallback)}}))}else{return this.client.eval(this._incrTtlLuaScript,{keys:[Me],arguments:[String(Bn),String(ni),String(this.points),String(this.duration)]})}}else{if(!this.useRedisPackage&&!this.useRedis3AndLowerPackage){return Ci.incrby(Me,Bn).pttl(Me).exec(true)}return Ci.incrBy(Me,Bn).pTTL(Me).exec(true)}}async _get(Me){if(!this._isRedisReady(Me,true)){throw new Error("Redis connection is not ready")}if(!this.useRedisPackage&&!this.useRedis3AndLowerPackage){return this.client.multi().get(Me).pttl(Me).exec().then((Me=>{const[[,Bn]]=Me;if(Bn===null)return null;return Me}))}return this.client.multi().get(Me).pTTL(Me).exec(true).then((Me=>{const[Bn]=Me;if(Bn===null)return null;return Me}))}_delete(Me){return this.client.del(Me).then((Me=>Me>0))}}Me.exports=RateLimiterRedis},80449:Me=>{Me.exports=class RateLimiterRes{constructor(Me,Bn,Hn,zn){this.remainingPoints=typeof Me==="undefined"?0:Me;this.msBeforeNext=typeof Bn==="undefined"?0:Bn;this.consumedPoints=typeof Hn==="undefined"?0:Hn;this.isFirstInDuration=typeof zn==="undefined"?false:zn}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(Me){this._msBeforeNext=Me;return this}get remainingPoints(){return this._remainingPoints}set remainingPoints(Me){this._remainingPoints=Me;return this}get consumedPoints(){return this._consumedPoints}set consumedPoints(Me){this._consumedPoints=Me;return this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(Me){this._isFirstInDuration=Boolean(Me)}_getDecoratedProperties(){return{remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}},73283:(Me,Bn,Hn)=>{const zn=Hn(65140);const ni=Hn(80449);class RateLimiterSQLite extends zn{_internalStoreType=null;constructor(Me,Bn=null){super(Me);this.client=Me.storeClient;this.storeType=Me.storeType||"sqlite3";this.tableName=Me.tableName;this.tableCreated=Me.tableCreated||false;this.clearExpiredByTimeout=Me.clearExpiredByTimeout;this._validateStoreTypes(Bn);this._validateStoreClient(Bn);this._setInternalStoreType(Bn);this._validateTableName(Bn);if(!this.tableCreated){this._createDbAndTable().then((()=>{this.tableCreated=true;if(this.clearExpiredByTimeout)this._clearExpiredHourAgo();if(typeof Bn==="function")Bn()})).catch((Me=>{if(typeof Bn==="function")Bn(Me);else throw Me}))}else{if(this.clearExpiredByTimeout)this._clearExpiredHourAgo();if(typeof Bn==="function")Bn()}}_validateStoreTypes(Me){const Bn=["sqlite3","better-sqlite3","knex"];if(!Bn.includes(this.storeType)){const Hn=new Error(`storeType must be one of: ${Bn.join(", ")}`);if(typeof Me==="function")return Me(Hn);throw Hn}}_validateStoreClient(Me){if(this.storeType==="sqlite3"){if(typeof this.client.run!=="function"){const Bn=new Error("storeClient must be an instance of sqlite3.Database when storeType is 'sqlite3' or no storeType was provided");if(typeof Me==="function")return Me(Bn);throw Bn}}else if(this.storeType==="better-sqlite3"){if(typeof this.client.prepare!=="function"||typeof this.client.run!=="undefined"){const Bn=new Error("storeClient must be an instance of better-sqlite3.Database when storeType is 'better-sqlite3'");if(typeof Me==="function")return Me(Bn);throw Bn}}else if(this.storeType==="knex"){if(typeof this.client.raw!=="function"){const Bn=new Error("storeClient must be an instance of Knex when storeType is 'knex'");if(typeof Me==="function")return Me(Bn);throw Bn}}}_setInternalStoreType(Me){if(this.storeType==="knex"){const Bn=this.client.client.config.client;if(Bn==="sqlite3"){this._internalStoreType="sqlite3"}else if(Bn==="better-sqlite3"){this._internalStoreType="better-sqlite3"}else{const Bn=new Error("Knex must be configured with 'sqlite3' or 'better-sqlite3' for RateLimiterSQLite");if(typeof Me==="function")return Me(Bn);throw Bn}}else{this._internalStoreType=this.storeType}}_validateTableName(Me){if(!/^[A-Za-z0-9_]*$/.test(this.tableName)){const Bn=new Error("Table name must contain only letters and numbers");if(typeof Me==="function")return Me(Bn);throw Bn}}async _getConnection(){if(this.storeType==="knex"){return this.client.client.acquireConnection()}return this.client}_releaseConnection(Me){if(this.storeType==="knex"){this.client.client.releaseConnection(Me)}}async _createDbAndTable(){const Me=await this._getConnection();try{switch(this._internalStoreType){case"sqlite3":await new Promise(((Bn,Hn)=>{Me.run(this._getCreateTableSQL(),(Me=>Me?Hn(Me):Bn()))}));break;case"better-sqlite3":Me.prepare(this._getCreateTableSQL()).run();break;default:throw new Error("Unsupported internalStoreType")}}finally{this._releaseConnection(Me)}}_getCreateTableSQL(){return`CREATE TABLE IF NOT EXISTS ${this.tableName} (\n key TEXT PRIMARY KEY,\n points INTEGER NOT NULL DEFAULT 0,\n expire INTEGER\n )`}_clearExpiredHourAgo(){if(this._clearExpiredTimeoutId)clearTimeout(this._clearExpiredTimeoutId);this._clearExpiredTimeoutId=setTimeout((()=>{this.clearExpired(Date.now()-36e5).then((()=>this._clearExpiredHourAgo()))}),3e5);this._clearExpiredTimeoutId.unref()}async clearExpired(Me){const Bn=`DELETE FROM ${this.tableName} WHERE expire < ?`;const Hn=await this._getConnection();try{switch(this._internalStoreType){case"sqlite3":await new Promise(((zn,ni)=>{Hn.run(Bn,[Me],(Me=>Me?ni(Me):zn()))}));break;case"better-sqlite3":Hn.prepare(Bn).run(Me);break;default:throw new Error("Unsupported internalStoreType")}}finally{this._releaseConnection(Hn)}}_getRateLimiterRes(Me,Bn,Hn){const zn=new ni;zn.isFirstInDuration=Bn===Hn.points;zn.consumedPoints=zn.isFirstInDuration?Bn:Hn.points;zn.remainingPoints=Math.max(this.points-zn.consumedPoints,0);zn.msBeforeNext=Hn.expire?Math.max(Hn.expire-Date.now(),0):-1;return zn}async _upsertTransactionSQLite3(Me,Bn,Hn){return await new Promise(((zn,ni)=>{Me.serialize((()=>{Me.run("SAVEPOINT rate_limiter_trx;",(Ci=>{if(Ci)return ni(Ci);Me.get(Bn,Hn,((Bn,Hn)=>{if(Bn){Me.run("ROLLBACK TO SAVEPOINT rate_limiter_trx;",(()=>ni(Bn)));return}Me.run("RELEASE SAVEPOINT rate_limiter_trx;",(()=>zn(Hn)))}))}))}))}))}async _upsertTransactionBetterSQLite3(Me,Bn,Hn){return Me.transaction((()=>Me.prepare(Bn).get(...Hn)))()}async _upsertTransaction(Me,Bn,Hn,zn){const ni=Date.now();const Ci=Hn>0?ni+Hn:null;const ts=zn?`INSERT OR REPLACE INTO ${this.tableName} (key, points, expire) VALUES (?, ?, ?) RETURNING points, expire`:`INSERT INTO ${this.tableName} (key, points, expire)\n VALUES (?, ?, ?)\n ON CONFLICT(key) DO UPDATE SET\n points = CASE WHEN expire IS NULL OR expire > ? THEN points + excluded.points ELSE excluded.points END,\n expire = CASE WHEN expire IS NULL OR expire > ? THEN expire ELSE excluded.expire END\n RETURNING points, expire`;const Ps=zn?[Me,Bn,Ci]:[Me,Bn,Ci,ni,ni];const aa=await this._getConnection();try{switch(this._internalStoreType){case"sqlite3":return this._upsertTransactionSQLite3(aa,ts,Ps);case"better-sqlite3":return this._upsertTransactionBetterSQLite3(aa,ts,Ps);default:throw new Error("Unsupported internalStoreType")}}finally{this._releaseConnection(aa)}}_upsert(Me,Bn,Hn,zn=false){if(!this.tableCreated){return Promise.reject(new Error("Table is not created yet"))}return this._upsertTransaction(Me,Bn,Hn,zn)}async _get(Me){const Bn=`SELECT points, expire FROM ${this.tableName} WHERE key = ? AND (expire > ? OR expire IS NULL)`;const Hn=Date.now();const zn=await this._getConnection();try{switch(this._internalStoreType){case"sqlite3":return await new Promise(((ni,Ci)=>{zn.get(Bn,[Me,Hn],((Me,Bn)=>Me?Ci(Me):ni(Bn||null)))}));case"better-sqlite3":return zn.prepare(Bn).get(Me,Hn)||null;default:throw new Error("Unsupported internalStoreType")}}finally{this._releaseConnection(zn)}}async _delete(Me){if(!this.tableCreated){return Promise.reject(new Error("Table is not created yet"))}const Bn=`DELETE FROM ${this.tableName} WHERE key = ?`;const Hn=await this._getConnection();try{switch(this._internalStoreType){case"sqlite3":return await new Promise(((zn,ni)=>{Hn.run(Bn,[Me],(function(Me){if(Me)ni(Me);else zn(this.changes>0)}))}));case"better-sqlite3":const zn=Hn.prepare(Bn).run(Me);return zn.changes>0;default:throw new Error("Unsupported internalStoreType")}}finally{this._releaseConnection(Hn)}}}Me.exports=RateLimiterSQLite},65140:(Me,Bn,Hn)=>{const zn=Hn(88569);const ni=Hn(38830);const Ci=Hn(80449);const ts=Hn(33847);Me.exports=class RateLimiterStoreAbstract extends ts{constructor(Me={}){super(Me);this.inMemoryBlockOnConsumed=Me.inMemoryBlockOnConsumed;this.inMemoryBlockDuration=Me.inMemoryBlockDuration;this._inMemoryBlockedKeys=new ni}get client(){return this._client}set client(Me){if(typeof Me==="undefined"){throw new Error("storeClient is not set")}this._client=Me}_afterConsume(Me,Bn,Hn,zn,ni,Ci={}){const ts=this._getRateLimiterRes(Hn,zn,ni);if(this.inMemoryBlockOnConsumed>0&&!(this.inMemoryBlockDuration>0)&&ts.consumedPoints>=this.inMemoryBlockOnConsumed){this._inMemoryBlockedKeys.addMs(Hn,ts.msBeforeNext);if(ts.consumedPoints>this.points){return Bn(ts)}else{return Me(ts)}}else if(ts.consumedPoints>this.points){let Me=Promise.resolve();if(this.blockDuration>0&&ts.consumedPoints<=this.points+zn){ts.msBeforeNext=this.msBlockDuration;Me=this._block(Hn,ts.consumedPoints,this.msBlockDuration,Ci)}if(this.inMemoryBlockOnConsumed>0&&ts.consumedPoints>=this.inMemoryBlockOnConsumed){this._inMemoryBlockedKeys.add(Hn,this.inMemoryBlockDuration);ts.msBeforeNext=this.msInMemoryBlockDuration}Me.then((()=>{Bn(ts)})).catch((Me=>{Bn(Me)}))}else if(this.execEvenly&&ts.msBeforeNext>0&&!ts.isFirstInDuration){let Bn=Math.ceil(ts.msBeforeNext/(ts.remainingPoints+2));if(Bn0){return this._inMemoryBlockedKeys.msBeforeExpire(Me)}return 0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(Me){this._inMemoryBlockOnConsumed=Me?parseInt(Me):0;if(this.inMemoryBlockOnConsumed>0&&this.points>this.inMemoryBlockOnConsumed){throw new Error('inMemoryBlockOnConsumed option must be greater or equal "points" option')}}get inMemoryBlockDuration(){return this._inMemoryBlockDuration}set inMemoryBlockDuration(Me){this._inMemoryBlockDuration=Me?parseInt(Me):0;if(this.inMemoryBlockDuration>0&&this.inMemoryBlockOnConsumed===0){throw new Error("inMemoryBlockOnConsumed option must be set up")}}get msInMemoryBlockDuration(){return this._inMemoryBlockDuration*1e3}block(Me,Bn,Hn={}){const zn=Bn*1e3;return this._block(this.getKey(Me),this.points+1,zn,Hn)}set(Me,Bn,Hn,zn={}){const ni=(Hn>=0?Hn:this.duration)*1e3;return this._block(this.getKey(Me),Bn,ni,zn)}_consume(Me,Bn=1,Hn={}){return new Promise(((zn,ni)=>{const ts=this.getKey(Me);const Ps=this.getInMemoryBlockMsBeforeExpire(ts);if(Ps>0){return ni(new Ci(0,Ps))}this._upsert(ts,Bn,this._getKeySecDuration(Hn)*1e3,false,Hn).then((Me=>{this._afterConsume(zn,ni,ts,Bn,Me)})).catch((Me=>ni(Me)))}))}_penalty(Me,Bn=1,Hn={}){const zn=this.getKey(Me);return new Promise(((Me,ni)=>{this._upsert(zn,Bn,this._getKeySecDuration(Hn)*1e3,false,Hn).then((Hn=>{Me(this._getRateLimiterRes(zn,Bn,Hn))})).catch((Me=>ni(Me)))}))}_reward(Me,Bn=1,Hn={}){const zn=this.getKey(Me);return new Promise(((Me,ni)=>{this._upsert(zn,-Bn,this._getKeySecDuration(Hn)*1e3,false,Hn).then((Hn=>{Me(this._getRateLimiterRes(zn,-Bn,Hn))})).catch((Me=>ni(Me)))}))}get(Me,Bn={}){const Hn=this.getKey(Me);return new Promise(((zn,ni)=>{this._get(Hn,Bn).then((Me=>{if(Me===null||typeof Me==="undefined"){zn(null)}else{zn(this._getRateLimiterRes(Hn,0,Me))}})).catch((Hn=>{this._handleError(Hn,"get",zn,ni,[Me,Bn])}))}))}delete(Me,Bn={}){const Hn=this.getKey(Me);return new Promise(((zn,ni)=>{this._delete(Hn,Bn).then((Me=>{this._inMemoryBlockedKeys.delete(Hn);zn(Me)})).catch((Hn=>{this._handleError(Hn,"delete",zn,ni,[Me,Bn])}))}))}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(Me,Bn,Hn){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(Me,Bn,Hn,zn={}){return new Promise(((ni,ts)=>{this._upsert(Me,Bn,Hn,true,zn).then((()=>{ni(new Ci(0,Hn>0?Hn:-1,Bn))})).catch((Bn=>{this._handleError(Bn,"block",ni,ts,[this.parseKey(Me),Hn/1e3,zn])}))}))}_get(Me,Bn={}){throw new Error("You have to implement the method '_get'!")}_delete(Me,Bn={}){throw new Error("You have to implement the method '_delete'!")}_upsert(Me,Bn,Hn,zn=false,ni={}){throw new Error("You have to implement the method '_upsert'!")}}},10244:(Me,Bn,Hn)=>{const zn=Hn(88569);Me.exports=class RateLimiterUnion{constructor(...Me){if(Me.length<1){throw new Error("RateLimiterUnion: at least one limiter have to be passed")}Me.forEach((Me=>{if(!(Me instanceof zn)){throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}}));this._limiters=Me}consume(Me,Bn=1){return new Promise(((Hn,zn)=>{const ni=[];this._limiters.forEach((Hn=>{ni.push(Hn.consume(Me,Bn).catch((Me=>({rejected:true,rej:Me}))))}));Promise.all(ni).then((Me=>{const Bn={};let ni=false;Me.forEach((Me=>{if(Me.rejected===true){ni=true}}));for(let Hn=0;Hn{const zn=Hn(65140);const ni=Hn(80449);const Ci=`\nserver.call('set', KEYS[1], 0, 'EX', ARGV[2], 'NX')\nlocal consumed = server.call('incrby', KEYS[1], ARGV[1])\nlocal ttl = server.call('pttl', KEYS[1])\nreturn {consumed, ttl}\n`;class RateLimiterValkey extends zn{constructor(Me){super(Me);this.client=Me.storeClient;this._rejectIfValkeyNotReady=!!Me.rejectIfValkeyNotReady;this._incrTtlLuaScript=Me.customIncrTtlLuaScript||Ci;this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:this._incrTtlLuaScript})}_isValkeyReady(){if(!this._rejectIfValkeyNotReady){return true}return this.client.status==="ready"}_getRateLimiterRes(Me,Bn,Hn){let zn;let Ci;if(Array.isArray(Hn[0])){[[,zn],[,Ci]]=Hn}else{[zn,Ci]=Hn}const ts=new ni;ts.consumedPoints=+zn;ts.isFirstInDuration=ts.consumedPoints===Bn;ts.remainingPoints=Math.max(this.points-ts.consumedPoints,0);ts.msBeforeNext=Ci;return ts}_upsert(Me,Bn,Hn,zn=false){if(!this._isValkeyReady()){throw new Error("Valkey connection is not ready")}const ni=Math.floor(Hn/1e3);if(zn){const Hn=this.client.multi();if(ni>0){Hn.set(Me,Bn,"EX",ni)}else{Hn.set(Me,Bn)}return Hn.pttl(Me).exec()}if(ni>0){return this.client.rlflxIncr([Me,String(Bn),String(ni),String(this.points),String(this.duration)])}return this.client.multi().incrby(Me,Bn).pttl(Me).exec()}_get(Me){if(!this._isValkeyReady()){throw new Error("Valkey connection is not ready")}return this.client.multi().get(Me).pttl(Me).exec().then((Me=>{const[[,Bn]]=Me;if(Bn===null)return null;return Me}))}_delete(Me){return this.client.del(Me).then((Me=>Me>0))}}Me.exports=RateLimiterValkey},53756:(Me,Bn,Hn)=>{const zn=Hn(65140);const ni=Hn(80449);const Ci="ratelimiterflexible";const ts=`local key = KEYS[1]\nlocal pointsToConsume = tonumber(ARGV[1])\nif tonumber(ARGV[2]) > 0 then\n server.call('set', key, "0", 'EX', ARGV[2], 'NX')\n local consumed = server.call('incrby', key, pointsToConsume)\n local pttl = server.call('pttl', key)\n return {consumed, pttl}\nend\nlocal consumed = server.call('incrby', key, pointsToConsume)\nlocal pttl = server.call('pttl', key)\nreturn {consumed, pttl}`;const Ps=`local key = KEYS[1]\nlocal value = server.call('get', key)\nif value == nil then\n return value\nend\nlocal pttl = server.call('pttl', key)\nreturn {tonumber(value), pttl}`;class RateLimiterValkeyGlide extends zn{constructor(Me){super(Me);this.client=Me.storeClient;this._scriptLoaded=false;this._getScriptLoaded=false;this._rejectIfValkeyNotReady=!!Me.rejectIfValkeyNotReady;this._luaScript=Me.customFunction||ts;this._libraryName=Me.customFunctionLibName||Ci}async _loadScripts(){if(this._scriptLoaded&&this._getScriptLoaded){return true}if(!this.client){throw new Error("Valkey client is not set")}const Me=[];if(!this._scriptLoaded){const Bn=Buffer.from(`#!lua name=${this._libraryName}\n local function consume(KEYS, ARGV)\n ${this._luaScript.trim()}\n end\n server.register_function('consume', consume)`);Me.push(this.client.functionLoad(Bn,{replace:true}))}else Me.push(Promise.resolve(this._libraryName));if(!this._getScriptLoaded){const Bn=Buffer.from(`#!lua name=ratelimiter_get\n local function getValue(KEYS, ARGV)\n ${Ps.trim()}\n end\n server.register_function('getValue', getValue)`);Me.push(this.client.functionLoad(Bn,{replace:true}))}else Me.push(Promise.resolve("ratelimiter_get"));const Bn=await Promise.all(Me);this._scriptLoaded=Bn[0]===this._libraryName;this._getScriptLoaded=Bn[1]==="ratelimiter_get";if(!this._scriptLoaded||!this._getScriptLoaded){throw new Error("Valkey connection is not ready, scripts not loaded")}return true}async _upsert(Me,Bn,Hn,zn=false,ni={}){await this._loadScripts();const Ci=Math.floor(Hn/1e3);if(zn){if(Ci>0){await this.client.set(Me,String(Bn),{expiry:{type:"EX",count:Ci}});return[Bn,Ci*1e3]}await this.client.set(Me,String(Bn));return[Bn,-1]}const ts=await this.client.fcall("consume",[Me],[String(Bn),String(Ci)]);return ts}async _get(Me,Bn={}){await this._loadScripts();const Hn=await this.client.fcall("getValue",[Me],[]);return Hn.length>0?Hn:null}async _delete(Me,Bn={}){const Hn=await this.client.del([Me]);return Hn>0}_getRateLimiterRes(Me,Bn,Hn){if(Hn===null){return null}const zn=new ni;const[Ci,ts]=Hn;const Ps=Number(Ci);zn.isFirstInDuration=Ps===Bn;zn.consumedPoints=Ps;zn.remainingPoints=Math.max(this.points-zn.consumedPoints,0);zn.msBeforeNext=ts;return zn}async close(){if(this._scriptLoaded){await this.client.functionDelete(this._libraryName);this._scriptLoaded=false}if(this._getScriptLoaded){await this.client.functionDelete("ratelimiter_get");this._getScriptLoaded=false}if(this.insuranceLimiter){try{await this.insuranceLimiter.close()}catch(Me){}}this.client=null;this._scriptLoaded=false;this._getScriptLoaded=false;this._rejectIfValkeyNotReady=false;this._luaScript=null;this._libraryName=null;this.insuranceLimiter=null}}Me.exports=RateLimiterValkeyGlide},85202:Me=>{Me.exports=class BlockedKeys{constructor(){this._keys={};this._addedKeysAmount=0}collectExpired(){const Me=Date.now();Object.keys(this._keys).forEach((Bn=>{if(this._keys[Bn]<=Me){delete this._keys[Bn]}}));this._addedKeysAmount=Object.keys(this._keys).length}add(Me,Bn){this.addMs(Me,Bn*1e3)}addMs(Me,Bn){this._keys[Me]=Date.now()+Bn;this._addedKeysAmount++;if(this._addedKeysAmount>999){this.collectExpired()}}msBeforeExpire(Me){const Bn=this._keys[Me];if(Bn&&Bn>=Date.now()){this.collectExpired();const Me=Date.now();return Bn>=Me?Bn-Me:0}return 0}delete(Me){if(Me){delete this._keys[Me]}else{Object.keys(this._keys).forEach((Me=>{delete this._keys[Me]}))}}}},38830:(Me,Bn,Hn)=>{const zn=Hn(85202);Me.exports=zn},81534:(Me,Bn,Hn)=>{const zn=Hn(60749);const ni=Hn(80449);Me.exports=class MemoryStorage{constructor(){this._storage={}}incrby(Me,Bn,Hn){if(this._storage[Me]){const zn=this._storage[Me].expiresAt?this._storage[Me].expiresAt.getTime()-(new Date).getTime():-1;if(!this._storage[Me].expiresAt||zn>0){this._storage[Me].value=this._storage[Me].value+Bn;return new ni(0,zn,this._storage[Me].value,false)}return this.set(Me,Bn,Hn)}return this.set(Me,Bn,Hn)}set(Me,Bn,Hn){const Ci=Hn*1e3;if(this._storage[Me]&&this._storage[Me].timeoutId){clearTimeout(this._storage[Me].timeoutId)}this._storage[Me]=new zn(Bn,Ci>0?new Date(Date.now()+Ci):null);if(Ci>0){this._storage[Me].timeoutId=setTimeout((()=>{delete this._storage[Me]}),Ci);if(this._storage[Me].timeoutId.unref){this._storage[Me].timeoutId.unref()}}return new ni(0,Ci===0?-1:Ci,this._storage[Me].value,true)}get(Me){if(this._storage[Me]){const Bn=this._storage[Me].expiresAt?this._storage[Me].expiresAt.getTime()-(new Date).getTime():-1;return new ni(0,Bn,this._storage[Me].value,false)}return null}delete(Me){if(this._storage[Me]){if(this._storage[Me].timeoutId){clearTimeout(this._storage[Me].timeoutId)}delete this._storage[Me];return true}return false}}},60749:Me=>{Me.exports=class Record{constructor(Me,Bn,Hn=null){this.value=Me;this.expiresAt=Bn;this.timeoutId=Hn}get value(){return this._value}set value(Me){this._value=parseInt(Me)}get expiresAt(){return this._expiresAt}set expiresAt(Me){if(!(Me instanceof Date)&&Number.isInteger(Me)){Me=new Date(Me)}this._expiresAt=Me}get timeoutId(){return this._timeoutId}set timeoutId(Me){this._timeoutId=Me}}},43184:Me=>{Me.exports=class RateLimiterEtcdTransactionFailedError extends Error{constructor(Me){super();if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="RateLimiterEtcdTransactionFailedError";this.message=Me}}},27948:Me=>{Me.exports=class RateLimiterQueueError extends Error{constructor(Me,Bn){super();if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="CustomError";this.message=Me;if(Bn){this.extra=Bn}}}},72922:Me=>{Me.exports=class RateLimiterSetupError extends Error{constructor(Me){super();if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="RateLimiterSetupError";this.message=Me}}},93058:(Me,Bn,Hn)=>{ +hooks.version="2.30.1";setHookCallback(createLocal);hooks.fn=Yg;hooks.min=min;hooks.max=max;hooks.now=now;hooks.utc=createUTC;hooks.unix=createUnix;hooks.months=listMonths;hooks.isDate=isDate;hooks.locale=getSetGlobalLocale;hooks.invalid=createInvalid;hooks.duration=createDuration;hooks.isMoment=isMoment;hooks.weekdays=listWeekdays;hooks.parseZone=createInZone;hooks.localeData=getLocale;hooks.isDuration=isDuration;hooks.monthsShort=listMonthsShort;hooks.weekdaysMin=listWeekdaysMin;hooks.defineLocale=defineLocale;hooks.updateLocale=updateLocale;hooks.locales=listLocales;hooks.weekdaysShort=listWeekdaysShort;hooks.normalizeUnits=normalizeUnits;hooks.relativeTimeRounding=getSetRelativeTimeRounding;hooks.relativeTimeThreshold=getSetRelativeTimeThreshold;hooks.calendarFormat=getCalendarFormat;hooks.prototype=Yg;hooks.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"};return hooks}))},70744:Me=>{var Bn=1e3;var Hn=Bn*60;var zn=Hn*60;var ni=zn*24;var Ci=ni*7;var ts=ni*365.25;Me.exports=function(Me,Bn){Bn=Bn||{};var Hn=typeof Me;if(Hn==="string"&&Me.length>0){return parse(Me)}else if(Hn==="number"&&isFinite(Me)){return Bn.long?fmtLong(Me):fmtShort(Me)}throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(Me))};function parse(Me){Me=String(Me);if(Me.length>100){return}var Ps=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(Me);if(!Ps){return}var aa=parseFloat(Ps[1]);var oa=(Ps[2]||"ms").toLowerCase();switch(oa){case"years":case"year":case"yrs":case"yr":case"y":return aa*ts;case"weeks":case"week":case"w":return aa*Ci;case"days":case"day":case"d":return aa*ni;case"hours":case"hour":case"hrs":case"hr":case"h":return aa*zn;case"minutes":case"minute":case"mins":case"min":case"m":return aa*Hn;case"seconds":case"second":case"secs":case"sec":case"s":return aa*Bn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return aa;default:return undefined}}function fmtShort(Me){var Ci=Math.abs(Me);if(Ci>=ni){return Math.round(Me/ni)+"d"}if(Ci>=zn){return Math.round(Me/zn)+"h"}if(Ci>=Hn){return Math.round(Me/Hn)+"m"}if(Ci>=Bn){return Math.round(Me/Bn)+"s"}return Me+"ms"}function fmtLong(Me){var Ci=Math.abs(Me);if(Ci>=ni){return plural(Me,Ci,ni,"day")}if(Ci>=zn){return plural(Me,Ci,zn,"hour")}if(Ci>=Hn){return plural(Me,Ci,Hn,"minute")}if(Ci>=Bn){return plural(Me,Ci,Bn,"second")}return Me+" ms"}function plural(Me,Bn,Hn,zn){var ni=Bn>=Hn*1.5;return Math.round(Me/Hn)+" "+zn+(ni?"s":"")}},18115:(Me,Bn,Hn)=>{"use strict";var zn=Hn(97853);var ni=Hn(14499),Ci=ni.Environment,ts=ni.Template;var Ps=Hn(43391);var aa=Hn(2650);var oa=Hn(84586);var ca=Hn(8993);var _a=Hn(715);var xa=Hn(38852);var Ga=Hn(69846);var Ha=Hn(16151);var so=Hn(50085);var oo;function configure(Me,Bn){Bn=Bn||{};if(zn.isObject(Me)){Bn=Me;Me=null}var Hn;if(aa.FileSystemLoader){Hn=new aa.FileSystemLoader(Me,{watch:Bn.watch,noCache:Bn.noCache})}else if(aa.WebLoader){Hn=new aa.WebLoader(Me,{useCache:Bn.web&&Bn.web.useCache,async:Bn.web&&Bn.web.async})}oo=new Ci(Hn,Bn);if(Bn&&Bn.express){oo.express(Bn.express)}return oo}Me.exports={Environment:Ci,Template:ts,Loader:Ps,FileSystemLoader:aa.FileSystemLoader,NodeResolveLoader:aa.NodeResolveLoader,PrecompiledLoader:aa.PrecompiledLoader,WebLoader:aa.WebLoader,compiler:ca,parser:_a,lexer:xa,runtime:Ga,lib:zn,nodes:Ha,installJinjaCompat:so,configure:configure,reset:function reset(){oo=undefined},compile:function compile(Me,Bn,Hn,zn){if(!oo){configure()}return new ts(Me,Bn,Hn,zn)},render:function render(Me,Bn,Hn){if(!oo){configure()}return oo.render(Me,Bn,Hn)},renderString:function renderString(Me,Bn,Hn){if(!oo){configure()}return oo.renderString(Me,Bn,Hn)},precompile:oa?oa.precompile:undefined,precompileString:oa?oa.precompileString:undefined}},8993:(Me,Bn,Hn)=>{"use strict";function _inheritsLoose(Me,Bn){Me.prototype=Object.create(Bn.prototype);Me.prototype.constructor=Me;_setPrototypeOf(Me,Bn)}function _setPrototypeOf(Me,Bn){_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(Me,Bn){Me.__proto__=Bn;return Me};return _setPrototypeOf(Me,Bn)}var zn=Hn(715);var ni=Hn(76297);var Ci=Hn(16151);var ts=Hn(97853),Ps=ts.TemplateError;var aa=Hn(69846),oa=aa.Frame;var ca=Hn(79695),_a=ca.Obj;var xa={"==":"==","===":"===","!=":"!=","!==":"!==","<":"<",">":">","<=":"<=",">=":">="};var Ga=function(Me){_inheritsLoose(Compiler,Me);function Compiler(){return Me.apply(this,arguments)||this}var Bn=Compiler.prototype;Bn.init=function init(Me,Bn){this.templateName=Me;this.codebuf=[];this.lastId=0;this.buffer=null;this.bufferStack=[];this._scopeClosers="";this.inBlock=false;this.throwOnUndefined=Bn};Bn.fail=function fail(Me,Bn,Hn){if(Bn!==undefined){Bn+=1}if(Hn!==undefined){Hn+=1}throw new Ps(Me,Bn,Hn)};Bn._pushBuffer=function _pushBuffer(){var Me=this._tmpid();this.bufferStack.push(this.buffer);this.buffer=Me;this._emit("var "+this.buffer+' = "";');return Me};Bn._popBuffer=function _popBuffer(){this.buffer=this.bufferStack.pop()};Bn._emit=function _emit(Me){this.codebuf.push(Me)};Bn._emitLine=function _emitLine(Me){this._emit(Me+"\n")};Bn._emitLines=function _emitLines(){var Me=this;for(var Bn=arguments.length,Hn=new Array(Bn),zn=0;zn0){ni._emit(",")}ni.compile(Me,Bn)}));if(zn){this._emit(zn)}};Bn._compileExpression=function _compileExpression(Me,Bn){this.assertType(Me,Ci.Literal,Ci.Symbol,Ci.Group,Ci.Array,Ci.Dict,Ci.FunCall,Ci.Caller,Ci.Filter,Ci.LookupVal,Ci.Compare,Ci.InlineIf,Ci.In,Ci.Is,Ci.And,Ci.Or,Ci.Not,Ci.Add,Ci.Concat,Ci.Sub,Ci.Mul,Ci.Div,Ci.FloorDiv,Ci.Mod,Ci.Pow,Ci.Neg,Ci.Pos,Ci.Compare,Ci.NodeList);this.compile(Me,Bn)};Bn.assertType=function assertType(Me){for(var Bn=arguments.length,Hn=new Array(Bn>1?Bn-1:0),zn=1;zn0){zn._emit(",")}if(Me){zn._emitLine("function(cb) {");zn._emitLine("if(!cb) { cb = function(err) { if(err) { throw err; }}}");var ni=zn._pushBuffer();zn._withScopedSyntax((function(){zn.compile(Me,Bn);zn._emitLine("cb(null, "+ni+");")}));zn._popBuffer();zn._emitLine("return "+ni+";");zn._emitLine("}")}else{zn._emit("null")}}))}if(Hn){var aa=this._tmpid();this._emitLine(", "+this._makeCallback(aa));this._emitLine(this.buffer+" += runtime.suppressValue("+aa+", "+Ps+" && env.opts.autoescape);");this._addScopeLevel()}else{this._emit(")");this._emit(", "+Ps+" && env.opts.autoescape);\n")}};Bn.compileCallExtensionAsync=function compileCallExtensionAsync(Me,Bn){this.compileCallExtension(Me,Bn,true)};Bn.compileNodeList=function compileNodeList(Me,Bn){this._compileChildren(Me,Bn)};Bn.compileLiteral=function compileLiteral(Me){if(typeof Me.value==="string"){var Bn=Me.value.replace(/\\/g,"\\\\");Bn=Bn.replace(/"/g,'\\"');Bn=Bn.replace(/\n/g,"\\n");Bn=Bn.replace(/\r/g,"\\r");Bn=Bn.replace(/\t/g,"\\t");Bn=Bn.replace(/\u2028/g,"\\u2028");this._emit('"'+Bn+'"')}else if(Me.value===null){this._emit("null")}else{this._emit(Me.value.toString())}};Bn.compileSymbol=function compileSymbol(Me,Bn){var Hn=Me.value;var zn=Bn.lookup(Hn);if(zn){this._emit(zn)}else{this._emit("runtime.contextOrFrameLookup("+'context, frame, "'+Hn+'")')}};Bn.compileGroup=function compileGroup(Me,Bn){this._compileAggregate(Me,Bn,"(",")")};Bn.compileArray=function compileArray(Me,Bn){this._compileAggregate(Me,Bn,"[","]")};Bn.compileDict=function compileDict(Me,Bn){this._compileAggregate(Me,Bn,"{","}")};Bn.compilePair=function compilePair(Me,Bn){var Hn=Me.key;var zn=Me.value;if(Hn instanceof Ci.Symbol){Hn=new Ci.Literal(Hn.lineno,Hn.colno,Hn.value)}else if(!(Hn instanceof Ci.Literal&&typeof Hn.value==="string")){this.fail("compilePair: Dict keys must be strings or names",Hn.lineno,Hn.colno)}this.compile(Hn,Bn);this._emit(": ");this._compileExpression(zn,Bn)};Bn.compileInlineIf=function compileInlineIf(Me,Bn){this._emit("(");this.compile(Me.cond,Bn);this._emit("?");this.compile(Me.body,Bn);this._emit(":");if(Me.else_!==null){this.compile(Me.else_,Bn)}else{this._emit('""')}this._emit(")")};Bn.compileIn=function compileIn(Me,Bn){this._emit("runtime.inOperator(");this.compile(Me.left,Bn);this._emit(",");this.compile(Me.right,Bn);this._emit(")")};Bn.compileIs=function compileIs(Me,Bn){var Hn=Me.right.name?Me.right.name.value:Me.right.value;this._emit('env.getTest("'+Hn+'").call(context, ');this.compile(Me.left,Bn);if(Me.right.args){this._emit(",");this.compile(Me.right.args,Bn)}this._emit(") === true")};Bn._binOpEmitter=function _binOpEmitter(Me,Bn,Hn){this.compile(Me.left,Bn);this._emit(Hn);this.compile(Me.right,Bn)};Bn.compileOr=function compileOr(Me,Bn){return this._binOpEmitter(Me,Bn," || ")};Bn.compileAnd=function compileAnd(Me,Bn){return this._binOpEmitter(Me,Bn," && ")};Bn.compileAdd=function compileAdd(Me,Bn){return this._binOpEmitter(Me,Bn," + ")};Bn.compileConcat=function compileConcat(Me,Bn){return this._binOpEmitter(Me,Bn,' + "" + ')};Bn.compileSub=function compileSub(Me,Bn){return this._binOpEmitter(Me,Bn," - ")};Bn.compileMul=function compileMul(Me,Bn){return this._binOpEmitter(Me,Bn," * ")};Bn.compileDiv=function compileDiv(Me,Bn){return this._binOpEmitter(Me,Bn," / ")};Bn.compileMod=function compileMod(Me,Bn){return this._binOpEmitter(Me,Bn," % ")};Bn.compileNot=function compileNot(Me,Bn){this._emit("!");this.compile(Me.target,Bn)};Bn.compileFloorDiv=function compileFloorDiv(Me,Bn){this._emit("Math.floor(");this.compile(Me.left,Bn);this._emit(" / ");this.compile(Me.right,Bn);this._emit(")")};Bn.compilePow=function compilePow(Me,Bn){this._emit("Math.pow(");this.compile(Me.left,Bn);this._emit(", ");this.compile(Me.right,Bn);this._emit(")")};Bn.compileNeg=function compileNeg(Me,Bn){this._emit("-");this.compile(Me.target,Bn)};Bn.compilePos=function compilePos(Me,Bn){this._emit("+");this.compile(Me.target,Bn)};Bn.compileCompare=function compileCompare(Me,Bn){var Hn=this;this.compile(Me.expr,Bn);Me.ops.forEach((function(Me){Hn._emit(" "+xa[Me.type]+" ");Hn.compile(Me.expr,Bn)}))};Bn.compileLookupVal=function compileLookupVal(Me,Bn){this._emit("runtime.memberLookup((");this._compileExpression(Me.target,Bn);this._emit("),");this._compileExpression(Me.val,Bn);this._emit(")")};Bn._getNodeName=function _getNodeName(Me){switch(Me.typename){case"Symbol":return Me.value;case"FunCall":return"the return value of ("+this._getNodeName(Me.name)+")";case"LookupVal":return this._getNodeName(Me.target)+'["'+this._getNodeName(Me.val)+'"]';case"Literal":return Me.value.toString();default:return"--expression--"}};Bn.compileFunCall=function compileFunCall(Me,Bn){this._emit("(lineno = "+Me.lineno+", colno = "+Me.colno+", ");this._emit("runtime.callWrap(");this._compileExpression(Me.name,Bn);this._emit(', "'+this._getNodeName(Me.name).replace(/"/g,'\\"')+'", context, ');this._compileAggregate(Me.args,Bn,"[","])");this._emit(")")};Bn.compileFilter=function compileFilter(Me,Bn){var Hn=Me.name;this.assertType(Hn,Ci.Symbol);this._emit('env.getFilter("'+Hn.value+'").call(context, ');this._compileAggregate(Me.args,Bn);this._emit(")")};Bn.compileFilterAsync=function compileFilterAsync(Me,Bn){var Hn=Me.name;var zn=Me.symbol.value;this.assertType(Hn,Ci.Symbol);Bn.set(zn,zn);this._emit('env.getFilter("'+Hn.value+'").call(context, ');this._compileAggregate(Me.args,Bn);this._emitLine(", "+this._makeCallback(zn));this._addScopeLevel()};Bn.compileKeywordArgs=function compileKeywordArgs(Me,Bn){this._emit("runtime.makeKeywordArgs(");this.compileDict(Me,Bn);this._emit(")")};Bn.compileSet=function compileSet(Me,Bn){var Hn=this;var zn=[];Me.targets.forEach((function(Me){var ni=Me.value;var Ci=Bn.lookup(ni);if(Ci===null||Ci===undefined){Ci=Hn._tmpid();Hn._emitLine("var "+Ci+";")}zn.push(Ci)}));if(Me.value){this._emit(zn.join(" = ")+" = ");this._compileExpression(Me.value,Bn);this._emitLine(";")}else{this._emit(zn.join(" = ")+" = ");this.compile(Me.body,Bn);this._emitLine(";")}Me.targets.forEach((function(Me,Bn){var ni=zn[Bn];var Ci=Me.value;Hn._emitLine('frame.set("'+Ci+'", '+ni+", true);");Hn._emitLine("if(frame.topLevel) {");Hn._emitLine('context.setVariable("'+Ci+'", '+ni+");");Hn._emitLine("}");if(Ci.charAt(0)!=="_"){Hn._emitLine("if(frame.topLevel) {");Hn._emitLine('context.addExport("'+Ci+'", '+ni+");");Hn._emitLine("}")}}))};Bn.compileSwitch=function compileSwitch(Me,Bn){var Hn=this;this._emit("switch (");this.compile(Me.expr,Bn);this._emit(") {");Me.cases.forEach((function(Me,zn){Hn._emit("case ");Hn.compile(Me.cond,Bn);Hn._emit(": ");Hn.compile(Me.body,Bn);if(Me.body.children.length){Hn._emitLine("break;")}}));if(Me.default){this._emit("default:");this.compile(Me.default,Bn)}this._emit("}")};Bn.compileIf=function compileIf(Me,Bn,Hn){var zn=this;this._emit("if(");this._compileExpression(Me.cond,Bn);this._emitLine(") {");this._withScopedSyntax((function(){zn.compile(Me.body,Bn);if(Hn){zn._emit("cb()")}}));if(Me.else_){this._emitLine("}\nelse {");this._withScopedSyntax((function(){zn.compile(Me.else_,Bn);if(Hn){zn._emit("cb()")}}))}else if(Hn){this._emitLine("}\nelse {");this._emit("cb()")}this._emitLine("}")};Bn.compileIfAsync=function compileIfAsync(Me,Bn){this._emit("(function(cb) {");this.compileIf(Me,Bn,true);this._emit("})("+this._makeCallback());this._addScopeLevel()};Bn._emitLoopBindings=function _emitLoopBindings(Me,Bn,Hn,zn){var ni=this;var Ci=[{name:"index",val:Hn+" + 1"},{name:"index0",val:Hn},{name:"revindex",val:zn+" - "+Hn},{name:"revindex0",val:zn+" - "+Hn+" - 1"},{name:"first",val:Hn+" === 0"},{name:"last",val:Hn+" === "+zn+" - 1"},{name:"length",val:zn}];Ci.forEach((function(Me){ni._emitLine('frame.set("loop.'+Me.name+'", '+Me.val+");")}))};Bn.compileFor=function compileFor(Me,Bn){var Hn=this;var zn=this._tmpid();var ni=this._tmpid();var ts=this._tmpid();Bn=Bn.push();this._emitLine("frame = frame.push();");this._emit("var "+ts+" = ");this._compileExpression(Me.arr,Bn);this._emitLine(";");this._emit("if("+ts+") {");this._emitLine(ts+" = runtime.fromIterator("+ts+");");if(Me.name instanceof Ci.Array){this._emitLine("var "+zn+";");this._emitLine("if(runtime.isArray("+ts+")) {");this._emitLine("var "+ni+" = "+ts+".length;");this._emitLine("for("+zn+"=0; "+zn+" < "+ts+".length; "+zn+"++) {");Me.name.children.forEach((function(ni,Ci){var Ps=Hn._tmpid();Hn._emitLine("var "+Ps+" = "+ts+"["+zn+"]["+Ci+"];");Hn._emitLine('frame.set("'+ni+'", '+ts+"["+zn+"]["+Ci+"]);");Bn.set(Me.name.children[Ci].value,Ps)}));this._emitLoopBindings(Me,ts,zn,ni);this._withScopedSyntax((function(){Hn.compile(Me.body,Bn)}));this._emitLine("}");this._emitLine("} else {");var Ps=Me.name.children,aa=Ps[0],oa=Ps[1];var ca=this._tmpid();var _a=this._tmpid();Bn.set(aa.value,ca);Bn.set(oa.value,_a);this._emitLine(zn+" = -1;");this._emitLine("var "+ni+" = runtime.keys("+ts+").length;");this._emitLine("for(var "+ca+" in "+ts+") {");this._emitLine(zn+"++;");this._emitLine("var "+_a+" = "+ts+"["+ca+"];");this._emitLine('frame.set("'+aa.value+'", '+ca+");");this._emitLine('frame.set("'+oa.value+'", '+_a+");");this._emitLoopBindings(Me,ts,zn,ni);this._withScopedSyntax((function(){Hn.compile(Me.body,Bn)}));this._emitLine("}");this._emitLine("}")}else{var xa=this._tmpid();Bn.set(Me.name.value,xa);this._emitLine("var "+ni+" = "+ts+".length;");this._emitLine("for(var "+zn+"=0; "+zn+" < "+ts+".length; "+zn+"++) {");this._emitLine("var "+xa+" = "+ts+"["+zn+"];");this._emitLine('frame.set("'+Me.name.value+'", '+xa+");");this._emitLoopBindings(Me,ts,zn,ni);this._withScopedSyntax((function(){Hn.compile(Me.body,Bn)}));this._emitLine("}")}this._emitLine("}");if(Me.else_){this._emitLine("if (!"+ni+") {");this.compile(Me.else_,Bn);this._emitLine("}")}this._emitLine("frame = frame.pop();")};Bn._compileAsyncLoop=function _compileAsyncLoop(Me,Bn,Hn){var zn=this;var ni=this._tmpid();var ts=this._tmpid();var Ps=this._tmpid();var aa=Hn?"asyncAll":"asyncEach";Bn=Bn.push();this._emitLine("frame = frame.push();");this._emit("var "+Ps+" = runtime.fromIterator(");this._compileExpression(Me.arr,Bn);this._emitLine(");");if(Me.name instanceof Ci.Array){var oa=Me.name.children.length;this._emit("runtime."+aa+"("+Ps+", "+oa+", function(");Me.name.children.forEach((function(Me){zn._emit(Me.value+",")}));this._emit(ni+","+ts+",next) {");Me.name.children.forEach((function(Me){var Hn=Me.value;Bn.set(Hn,Hn);zn._emitLine('frame.set("'+Hn+'", '+Hn+");")}))}else{var ca=Me.name.value;this._emitLine("runtime."+aa+"("+Ps+", 1, function("+ca+", "+ni+", "+ts+",next) {");this._emitLine('frame.set("'+ca+'", '+ca+");");Bn.set(ca,ca)}this._emitLoopBindings(Me,Ps,ni,ts);this._withScopedSyntax((function(){var Ci;if(Hn){Ci=zn._pushBuffer()}zn.compile(Me.body,Bn);zn._emitLine("next("+ni+(Ci?","+Ci:"")+");");if(Hn){zn._popBuffer()}}));var _a=this._tmpid();this._emitLine("}, "+this._makeCallback(_a));this._addScopeLevel();if(Hn){this._emitLine(this.buffer+" += "+_a+";")}if(Me.else_){this._emitLine("if (!"+Ps+".length) {");this.compile(Me.else_,Bn);this._emitLine("}")}this._emitLine("frame = frame.pop();")};Bn.compileAsyncEach=function compileAsyncEach(Me,Bn){this._compileAsyncLoop(Me,Bn)};Bn.compileAsyncAll=function compileAsyncAll(Me,Bn){this._compileAsyncLoop(Me,Bn,true)};Bn._compileMacro=function _compileMacro(Me,Bn){var Hn=this;var zn=[];var ni=null;var ts="macro_"+this._tmpid();var Ps=Bn!==undefined;Me.args.children.forEach((function(Bn,ts){if(ts===Me.args.children.length-1&&Bn instanceof Ci.Dict){ni=Bn}else{Hn.assertType(Bn,Ci.Symbol);zn.push(Bn)}}));var aa=[].concat(zn.map((function(Me){return"l_"+Me.value})),["kwargs"]);var ca=zn.map((function(Me){return'"'+Me.value+'"'}));var _a=(ni&&ni.children||[]).map((function(Me){return'"'+Me.key.value+'"'}));var xa;if(Ps){xa=Bn.push(true)}else{xa=new oa}this._emitLines("var "+ts+" = runtime.makeMacro(","["+ca.join(", ")+"], ","["+_a.join(", ")+"], ","function ("+aa.join(", ")+") {","var callerFrame = frame;","frame = "+(Ps?"frame.push(true);":"new runtime.Frame();"),"kwargs = kwargs || {};",'if (Object.prototype.hasOwnProperty.call(kwargs, "caller")) {','frame.set("caller", kwargs.caller); }');zn.forEach((function(Me){Hn._emitLine('frame.set("'+Me.value+'", l_'+Me.value+");");xa.set(Me.value,"l_"+Me.value)}));if(ni){ni.children.forEach((function(Me){var Bn=Me.key.value;Hn._emit('frame.set("'+Bn+'", ');Hn._emit('Object.prototype.hasOwnProperty.call(kwargs, "'+Bn+'")');Hn._emit(' ? kwargs["'+Bn+'"] : ');Hn._compileExpression(Me.value,xa);Hn._emit(");")}))}var Ga=this._pushBuffer();this._withScopedSyntax((function(){Hn.compile(Me.body,xa)}));this._emitLine("frame = "+(Ps?"frame.pop();":"callerFrame;"));this._emitLine("return new runtime.SafeString("+Ga+");");this._emitLine("});");this._popBuffer();return ts};Bn.compileMacro=function compileMacro(Me,Bn){var Hn=this._compileMacro(Me);var zn=Me.name.value;Bn.set(zn,Hn);if(Bn.parent){this._emitLine('frame.set("'+zn+'", '+Hn+");")}else{if(Me.name.value.charAt(0)!=="_"){this._emitLine('context.addExport("'+zn+'");')}this._emitLine('context.setVariable("'+zn+'", '+Hn+");")}};Bn.compileCaller=function compileCaller(Me,Bn){this._emit("(function (){");var Hn=this._compileMacro(Me,Bn);this._emit("return "+Hn+";})()")};Bn._compileGetTemplate=function _compileGetTemplate(Me,Bn,Hn,zn){var ni=this._tmpid();var Ci=this._templateName();var ts=this._makeCallback(ni);var Ps=Hn?"true":"false";var aa=zn?"true":"false";this._emit("env.getTemplate(");this._compileExpression(Me.template,Bn);this._emitLine(", "+Ps+", "+Ci+", "+aa+", "+ts);return ni};Bn.compileImport=function compileImport(Me,Bn){var Hn=Me.target.value;var zn=this._compileGetTemplate(Me,Bn,false,false);this._addScopeLevel();this._emitLine(zn+".getExported("+(Me.withContext?"context.getVariables(), frame, ":"")+this._makeCallback(zn));this._addScopeLevel();Bn.set(Hn,zn);if(Bn.parent){this._emitLine('frame.set("'+Hn+'", '+zn+");")}else{this._emitLine('context.setVariable("'+Hn+'", '+zn+");")}};Bn.compileFromImport=function compileFromImport(Me,Bn){var Hn=this;var zn=this._compileGetTemplate(Me,Bn,false,false);this._addScopeLevel();this._emitLine(zn+".getExported("+(Me.withContext?"context.getVariables(), frame, ":"")+this._makeCallback(zn));this._addScopeLevel();Me.names.children.forEach((function(Me){var ni;var ts;var Ps=Hn._tmpid();if(Me instanceof Ci.Pair){ni=Me.key.value;ts=Me.value.value}else{ni=Me.value;ts=ni}Hn._emitLine("if(Object.prototype.hasOwnProperty.call("+zn+', "'+ni+'")) {');Hn._emitLine("var "+Ps+" = "+zn+"."+ni+";");Hn._emitLine("} else {");Hn._emitLine("cb(new Error(\"cannot import '"+ni+"'\")); return;");Hn._emitLine("}");Bn.set(ts,Ps);if(Bn.parent){Hn._emitLine('frame.set("'+ts+'", '+Ps+");")}else{Hn._emitLine('context.setVariable("'+ts+'", '+Ps+");")}}))};Bn.compileBlock=function compileBlock(Me){var Bn=this._tmpid();if(!this.inBlock){this._emit('(parentTemplate ? function(e, c, f, r, cb) { cb(""); } : ')}this._emit('context.getBlock("'+Me.name.value+'")');if(!this.inBlock){this._emit(")")}this._emitLine("(env, context, frame, runtime, "+this._makeCallback(Bn));this._emitLine(this.buffer+" += "+Bn+";");this._addScopeLevel()};Bn.compileSuper=function compileSuper(Me,Bn){var Hn=Me.blockName.value;var zn=Me.symbol.value;var ni=this._makeCallback(zn);this._emitLine('context.getSuper(env, "'+Hn+'", b_'+Hn+", frame, runtime, "+ni);this._emitLine(zn+" = runtime.markSafe("+zn+");");this._addScopeLevel();Bn.set(zn,zn)};Bn.compileExtends=function compileExtends(Me,Bn){var Hn=this._tmpid();var zn=this._compileGetTemplate(Me,Bn,true,false);this._emitLine("parentTemplate = "+zn);this._emitLine("for(var "+Hn+" in parentTemplate.blocks) {");this._emitLine("context.addBlock("+Hn+", parentTemplate.blocks["+Hn+"]);");this._emitLine("}");this._addScopeLevel()};Bn.compileInclude=function compileInclude(Me,Bn){this._emitLine("var tasks = [];");this._emitLine("tasks.push(");this._emitLine("function(callback) {");var Hn=this._compileGetTemplate(Me,Bn,false,Me.ignoreMissing);this._emitLine("callback(null,"+Hn+");});");this._emitLine("});");var zn=this._tmpid();this._emitLine("tasks.push(");this._emitLine("function(template, callback){");this._emitLine("template.render(context.getVariables(), frame, "+this._makeCallback(zn));this._emitLine("callback(null,"+zn+");});");this._emitLine("});");this._emitLine("tasks.push(");this._emitLine("function(result, callback){");this._emitLine(this.buffer+" += result;");this._emitLine("callback(null);");this._emitLine("});");this._emitLine("env.waterfall(tasks, function(){");this._addScopeLevel()};Bn.compileTemplateData=function compileTemplateData(Me,Bn){this.compileLiteral(Me,Bn)};Bn.compileCapture=function compileCapture(Me,Bn){var Hn=this;var zn=this.buffer;this.buffer="output";this._emitLine("(function() {");this._emitLine('var output = "";');this._withScopedSyntax((function(){Hn.compile(Me.body,Bn)}));this._emitLine("return output;");this._emitLine("})()");this.buffer=zn};Bn.compileOutput=function compileOutput(Me,Bn){var Hn=this;var zn=Me.children;zn.forEach((function(zn){if(zn instanceof Ci.TemplateData){if(zn.value){Hn._emit(Hn.buffer+" += ");Hn.compileLiteral(zn,Bn);Hn._emitLine(";")}}else{Hn._emit(Hn.buffer+" += runtime.suppressValue(");if(Hn.throwOnUndefined){Hn._emit("runtime.ensureDefined(")}Hn.compile(zn,Bn);if(Hn.throwOnUndefined){Hn._emit(","+Me.lineno+","+Me.colno+")")}Hn._emit(", env.opts.autoescape);\n")}}))};Bn.compileRoot=function compileRoot(Me,Bn){var Hn=this;if(Bn){this.fail("compileRoot: root node can't have frame")}Bn=new oa;this._emitFuncBegin(Me,"root");this._emitLine("var parentTemplate = null;");this._compileChildren(Me,Bn);this._emitLine("if(parentTemplate) {");this._emitLine("parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);");this._emitLine("} else {");this._emitLine("cb(null, "+this.buffer+");");this._emitLine("}");this._emitFuncEnd(true);this.inBlock=true;var zn=[];var ni=Me.findAll(Ci.Block);ni.forEach((function(Me,Bn){var ni=Me.name.value;if(zn.indexOf(ni)!==-1){throw new Error('Block "'+ni+'" defined more than once.')}zn.push(ni);Hn._emitFuncBegin(Me,"b_"+ni);var Ci=new oa;Hn._emitLine("var frame = frame.push(true);");Hn.compile(Me.body,Ci);Hn._emitFuncEnd()}));this._emitLine("return {");ni.forEach((function(Me,Bn){var zn="b_"+Me.name.value;Hn._emitLine(zn+": "+zn+",")}));this._emitLine("root: root\n};")};Bn.compile=function compile(Me,Bn){var Hn=this["compile"+Me.typename];if(Hn){Hn.call(this,Me,Bn)}else{this.fail("compile: Cannot compile node: "+Me.typename,Me.lineno,Me.colno)}};Bn.getCode=function getCode(){return this.codebuf.join("")};return Compiler}(_a);Me.exports={compile:function compile(Me,Bn,Hn,Ci,ts){if(ts===void 0){ts={}}var Ps=new Ga(Ci,ts.throwOnUndefined);var aa=(Hn||[]).map((function(Me){return Me.preprocess})).filter((function(Me){return!!Me}));var oa=aa.reduce((function(Me,Bn){return Bn(Me)}),Me);Ps.compile(ni.transform(zn.parse(oa,Hn,ts),Bn,Ci));return Ps.getCode()},Compiler:Ga}},14499:(Me,Bn,Hn)=>{"use strict";function _inheritsLoose(Me,Bn){Me.prototype=Object.create(Bn.prototype);Me.prototype.constructor=Me;_setPrototypeOf(Me,Bn)}function _setPrototypeOf(Me,Bn){_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(Me,Bn){Me.__proto__=Bn;return Me};return _setPrototypeOf(Me,Bn)}var zn=Hn(40336);var ni=Hn(17330);var Ci=Hn(97853);var ts=Hn(8993);var Ps=Hn(99317);var aa=Hn(2650),oa=aa.FileSystemLoader,ca=aa.WebLoader,_a=aa.PrecompiledLoader;var xa=Hn(64259);var Ga=Hn(20290);var Ha=Hn(79695),so=Ha.Obj,oo=Ha.EmitterObj;var Jo=Hn(69846);var tc=Jo.handleError,dc=Jo.Frame;var Fc=Hn(69376);function callbackAsap(Me,Bn,Hn){zn((function(){Me(Bn,Hn)}))}var Jc={type:"code",obj:{root:function root(Me,Bn,Hn,zn,ni){try{ni(null,"")}catch(Me){ni(tc(Me,null,null))}}}};var Dp=function(Me){_inheritsLoose(Environment,Me);function Environment(){return Me.apply(this,arguments)||this}var Bn=Environment.prototype;Bn.init=function init(Me,Bn){var Hn=this;Bn=this.opts=Bn||{};this.opts.dev=!!Bn.dev;this.opts.autoescape=Bn.autoescape!=null?Bn.autoescape:true;this.opts.throwOnUndefined=!!Bn.throwOnUndefined;this.opts.trimBlocks=!!Bn.trimBlocks;this.opts.lstripBlocks=!!Bn.lstripBlocks;this.loaders=[];if(!Me){if(oa){this.loaders=[new oa("views")]}else if(ca){this.loaders=[new ca("/views")]}}else{this.loaders=Ci.isArray(Me)?Me:[Me]}if(typeof window!=="undefined"&&window.nunjucksPrecompiled){this.loaders.unshift(new _a(window.nunjucksPrecompiled))}this._initLoaders();this.globals=Ga();this.filters={};this.tests={};this.asyncFilters=[];this.extensions={};this.extensionsList=[];Ci._entries(Ps).forEach((function(Me){var Bn=Me[0],zn=Me[1];return Hn.addFilter(Bn,zn)}));Ci._entries(xa).forEach((function(Me){var Bn=Me[0],zn=Me[1];return Hn.addTest(Bn,zn)}))};Bn._initLoaders=function _initLoaders(){var Me=this;this.loaders.forEach((function(Bn){Bn.cache={};if(typeof Bn.on==="function"){Bn.on("update",(function(Hn,zn){Bn.cache[Hn]=null;Me.emit("update",Hn,zn,Bn)}));Bn.on("load",(function(Hn,zn){Me.emit("load",Hn,zn,Bn)}))}}))};Bn.invalidateCache=function invalidateCache(){this.loaders.forEach((function(Me){Me.cache={}}))};Bn.addExtension=function addExtension(Me,Bn){Bn.__name=Me;this.extensions[Me]=Bn;this.extensionsList.push(Bn);return this};Bn.removeExtension=function removeExtension(Me){var Bn=this.getExtension(Me);if(!Bn){return}this.extensionsList=Ci.without(this.extensionsList,Bn);delete this.extensions[Me]};Bn.getExtension=function getExtension(Me){return this.extensions[Me]};Bn.hasExtension=function hasExtension(Me){return!!this.extensions[Me]};Bn.addGlobal=function addGlobal(Me,Bn){this.globals[Me]=Bn;return this};Bn.getGlobal=function getGlobal(Me){if(typeof this.globals[Me]==="undefined"){throw new Error("global not found: "+Me)}return this.globals[Me]};Bn.addFilter=function addFilter(Me,Bn,Hn){var zn=Bn;if(Hn){this.asyncFilters.push(Me)}this.filters[Me]=zn;return this};Bn.getFilter=function getFilter(Me){if(!this.filters[Me]){throw new Error("filter not found: "+Me)}return this.filters[Me]};Bn.addTest=function addTest(Me,Bn){this.tests[Me]=Bn;return this};Bn.getTest=function getTest(Me){if(!this.tests[Me]){throw new Error("test not found: "+Me)}return this.tests[Me]};Bn.resolveTemplate=function resolveTemplate(Me,Bn,Hn){var zn=Me.isRelative&&Bn?Me.isRelative(Hn):false;return zn&&Me.resolve?Me.resolve(Bn,Hn):Hn};Bn.getTemplate=function getTemplate(Me,Bn,Hn,zn,ni){var ts=this;var Ps=this;var aa=null;if(Me&&Me.raw){Me=Me.raw}if(Ci.isFunction(Hn)){ni=Hn;Hn=null;Bn=Bn||false}if(Ci.isFunction(Bn)){ni=Bn;Bn=false}if(Me instanceof Qp){aa=Me}else if(typeof Me!=="string"){throw new Error("template names must be a string: "+Me)}else{for(var oa=0;oa{"use strict";var zn=Hn(16928);Me.exports=function express(Me,Bn){function NunjucksView(Me,Bn){this.name=Me;this.path=Me;this.defaultEngine=Bn.defaultEngine;this.ext=zn.extname(Me);if(!this.ext&&!this.defaultEngine){throw new Error("No default engine was specified and no extension was provided.")}if(!this.ext){this.name+=this.ext=(this.defaultEngine[0]!=="."?".":"")+this.defaultEngine}}NunjucksView.prototype.render=function render(Bn,Hn){Me.render(this.name,Bn,Hn)};Bn.set("view",NunjucksView);Bn.set("nunjucksEnv",Me);return Me}},99317:(Me,Bn,Hn)=>{"use strict";var zn=Hn(97853);var ni=Hn(69846);var Ci=Me.exports={};function normalize(Me,Bn){if(Me===null||Me===undefined||Me===false){return Bn}return Me}Ci.abs=Math.abs;function isNaN(Me){return Me!==Me}function batch(Me,Bn,Hn){var zn;var ni=[];var Ci=[];for(zn=0;zn=Bn){return Me}var Hn=Bn-Me.length;var Ci=zn.repeat(" ",Hn/2-Hn%2);var ts=zn.repeat(" ",Hn/2);return ni.copySafeness(Me,Ci+Me+ts)}Ci.center=center;function default_(Me,Bn,Hn){if(Hn){return Me||Bn}else{return Me!==undefined?Me:Bn}}Ci["default"]=default_;function dictsort(Me,Bn,Hn){if(!zn.isObject(Me)){throw new zn.TemplateError("dictsort filter: val must be an object")}var ni=[];for(var Ci in Me){ni.push([Ci,Me[Ci]])}var ts;if(Hn===undefined||Hn==="key"){ts=0}else if(Hn==="value"){ts=1}else{throw new zn.TemplateError("dictsort filter: You can only sort by either key or value")}ni.sort((function(Me,Hn){var ni=Me[ts];var Ci=Hn[ts];if(!Bn){if(zn.isString(ni)){ni=ni.toUpperCase()}if(zn.isString(Ci)){Ci=Ci.toUpperCase()}}return ni>Ci?1:ni===Ci?0:-1}));return ni}Ci.dictsort=dictsort;function dump(Me,Bn){return JSON.stringify(Me,null,Bn)}Ci.dump=dump;function escape(Me){if(Me instanceof ni.SafeString){return Me}Me=Me===null||Me===undefined?"":Me;return ni.markSafe(zn.escape(Me.toString()))}Ci.escape=escape;function safe(Me){if(Me instanceof ni.SafeString){return Me}Me=Me===null||Me===undefined?"":Me;return ni.markSafe(Me.toString())}Ci.safe=safe;function first(Me){return Me[0]}Ci.first=first;function forceescape(Me){Me=Me===null||Me===undefined?"":Me;return ni.markSafe(zn.escape(Me.toString()))}Ci.forceescape=forceescape;function groupby(Me,Bn){return zn.groupBy(Me,Bn,this.env.opts.throwOnUndefined)}Ci.groupby=groupby;function indent(Me,Bn,Hn){Me=normalize(Me,"");if(Me===""){return""}Bn=Bn||4;var Ci=Me.split("\n");var ts=zn.repeat(" ",Bn);var Ps=Ci.map((function(Me,Bn){return Bn===0&&!Hn?Me:""+ts+Me})).join("\n");return ni.copySafeness(Me,Ps)}Ci.indent=indent;function join(Me,Bn,Hn){Bn=Bn||"";if(Hn){Me=zn.map(Me,(function(Me){return Me[Hn]}))}return Me.join(Bn)}Ci.join=join;function last(Me){return Me[Me.length-1]}Ci.last=last;function lengthFilter(Me){var Bn=normalize(Me,"");if(Bn!==undefined){if(typeof Map==="function"&&Bn instanceof Map||typeof Set==="function"&&Bn instanceof Set){return Bn.size}if(zn.isObject(Bn)&&!(Bn instanceof ni.SafeString)){return zn.keys(Bn).length}return Bn.length}return 0}Ci.length=lengthFilter;function list(Me){if(zn.isString(Me)){return Me.split("")}else if(zn.isObject(Me)){return zn._entries(Me||{}).map((function(Me){var Bn=Me[0],Hn=Me[1];return{key:Bn,value:Hn}}))}else if(zn.isArray(Me)){return Me}else{throw new zn.TemplateError("list filter: type not iterable")}}Ci.list=list;function lower(Me){Me=normalize(Me,"");return Me.toLowerCase()}Ci.lower=lower;function nl2br(Me){if(Me===null||Me===undefined){return""}return ni.copySafeness(Me,Me.replace(/\r\n|\n/g,"
\n"))}Ci.nl2br=nl2br;function random(Me){return Me[Math.floor(Math.random()*Me.length)]}Ci.random=random;function getSelectOrReject(Me){function filter(Bn,Hn,ni){if(Hn===void 0){Hn="truthy"}var Ci=this;var ts=Ci.env.getTest(Hn);return zn.toArray(Bn).filter((function examineTestResult(Bn){return ts.call(Ci,Bn,ni)===Me}))}return filter}Ci.reject=getSelectOrReject(false);function rejectattr(Me,Bn){return Me.filter((function(Me){return!Me[Bn]}))}Ci.rejectattr=rejectattr;Ci.select=getSelectOrReject(true);function selectattr(Me,Bn){return Me.filter((function(Me){return!!Me[Bn]}))}Ci.selectattr=selectattr;function replace(Me,Bn,Hn,zn){var Ci=Me;if(Bn instanceof RegExp){return Me.replace(Bn,Hn)}if(typeof zn==="undefined"){zn=-1}var ts="";if(typeof Bn==="number"){Bn=""+Bn}else if(typeof Bn!=="string"){return Me}if(typeof Me==="number"){Me=""+Me}if(typeof Me!=="string"&&!(Me instanceof ni.SafeString)){return Me}if(Bn===""){ts=Hn+Me.split("").join(Hn)+Hn;return ni.copySafeness(Me,ts)}var Ps=Me.indexOf(Bn);if(zn===0||Ps===-1){return Me}var aa=0;var oa=0;while(Ps>-1&&(zn===-1||oa=ni){ca.push(Hn)}Ci.push(ca)}return Ci}Ci.slice=slice;function sum(Me,Bn,Hn){if(Hn===void 0){Hn=0}if(Bn){Me=zn.map(Me,(function(Me){return Me[Bn]}))}return Hn+Me.reduce((function(Me,Bn){return Me+Bn}),0)}Ci.sum=sum;Ci.sort=ni.makeMacro(["value","reverse","case_sensitive","attribute"],[],(function sortFilter(Me,Bn,Hn,ni){var Ci=this;var ts=zn.map(Me,(function(Me){return Me}));var Ps=zn.getAttrGetter(ni);ts.sort((function(Me,ts){var aa=ni?Ps(Me):Me;var oa=ni?Ps(ts):ts;if(Ci.env.opts.throwOnUndefined&&ni&&(aa===undefined||oa===undefined)){throw new TypeError('sort: attribute "'+ni+'" resolved to undefined')}if(!Hn&&zn.isString(aa)&&zn.isString(oa)){aa=aa.toLowerCase();oa=oa.toLowerCase()}if(aaoa){return Bn?-1:1}else{return 0}}));return ts}));function string(Me){return ni.copySafeness(Me,Me)}Ci.string=string;function striptags(Me,Bn){Me=normalize(Me,"");var Hn=/<\/?([a-z][a-z0-9]*)\b[^>]*>|/gi;var zn=trim(Me.replace(Hn,""));var Ci="";if(Bn){Ci=zn.replace(/^ +| +$/gm,"").replace(/ +/g," ").replace(/(\r\n)/g,"\n").replace(/\n\n\n+/g,"\n\n")}else{Ci=zn.replace(/\s+/gi," ")}return ni.copySafeness(Me,Ci)}Ci.striptags=striptags;function title(Me){Me=normalize(Me,"");var Bn=Me.split(" ").map((function(Me){return capitalize(Me)}));return ni.copySafeness(Me,Bn.join(" "))}Ci.title=title;function trim(Me){return ni.copySafeness(Me,Me.replace(/^\s*|\s*$/g,""))}Ci.trim=trim;function truncate(Me,Bn,Hn,zn){var Ci=Me;Me=normalize(Me,"");Bn=Bn||255;if(Me.length<=Bn){return Me}if(Hn){Me=Me.substring(0,Bn)}else{var ts=Me.lastIndexOf(" ",Bn);if(ts===-1){ts=Bn}Me=Me.substring(0,ts)}Me+=zn!==undefined&&zn!==null?zn:"...";return ni.copySafeness(Ci,Me)}Ci.truncate=truncate;function upper(Me){Me=normalize(Me,"");return Me.toUpperCase()}Ci.upper=upper;function urlencode(Me){var Bn=encodeURIComponent;if(zn.isString(Me)){return Bn(Me)}else{var Hn=zn.isArray(Me)?Me:zn._entries(Me);return Hn.map((function(Me){var Hn=Me[0],zn=Me[1];return Bn(Hn)+"="+Bn(zn)})).join("&")}}Ci.urlencode=urlencode;var ts=/^(?:\(|<|<)?(.*?)(?:\.|,|\)|\n|>)?$/;var Ps=/^[\w.!#$%&'*+\-\/=?\^`{|}~]+@[a-z\d\-]+(\.[a-z\d\-]+)+$/i;var aa=/^https?:\/\/.*$/;var oa=/^www\./;var ca=/\.(?:org|net|com)(?:\:|\/|$)/;function urlize(Me,Bn,Hn){if(isNaN(Bn)){Bn=Infinity}var zn=Hn===true?' rel="nofollow"':"";var ni=Me.split(/(\s+)/).filter((function(Me){return Me&&Me.length})).map((function(Me){var Hn=Me.match(ts);var ni=Hn?Hn[1]:Me;var Ci=ni.substr(0,Bn);if(aa.test(ni)){return'"+Ci+""}if(oa.test(ni)){return'"+Ci+""}if(Ps.test(ni)){return''+ni+""}if(ca.test(ni)){return'"+Ci+""}return Me}));return ni.join("")}Ci.urlize=urlize;function wordcount(Me){Me=normalize(Me,"");var Bn=Me?Me.match(/\w+/g):null;return Bn?Bn.length:null}Ci.wordcount=wordcount;function float(Me,Bn){var Hn=parseFloat(Me);return isNaN(Hn)?Bn:Hn}Ci.float=float;var _a=ni.makeMacro(["value","default","base"],[],(function doInt(Me,Bn,Hn){if(Hn===void 0){Hn=10}var zn=parseInt(Me,Hn);return isNaN(zn)?Bn:zn}));Ci.int=_a;Ci.d=Ci.default;Ci.e=Ci.escape},20290:Me=>{"use strict";function _cycler(Me){var Bn=-1;return{current:null,reset:function reset(){Bn=-1;this.current=null},next:function next(){Bn++;if(Bn>=Me.length){Bn=0}this.current=Me[Bn];return this.current}}}function _joiner(Me){Me=Me||",";var Bn=true;return function(){var Hn=Bn?"":Me;Bn=false;return Hn}}function globals(){return{range:function range(Me,Bn,Hn){if(typeof Bn==="undefined"){Bn=Me;Me=0;Hn=1}else if(!Hn){Hn=1}var zn=[];if(Hn>0){for(var ni=Me;niBn;Ci+=Hn){zn.push(Ci)}}return zn},cycler:function cycler(){return _cycler(Array.prototype.slice.call(arguments))},joiner:function joiner(Me){return _joiner(Me)}}}Me.exports=globals},50085:Me=>{"use strict";function installCompat(){"use strict";var Me=this.runtime;var Bn=this.lib;var Hn=this.compiler.Compiler;var zn=this.parser.Parser;var ni=this.nodes;var Ci=this.lexer;var ts=Me.contextOrFrameLookup;var Ps=Me.memberLookup;var aa;var oa;if(Hn){aa=Hn.prototype.assertType}if(zn){oa=zn.prototype.parseAggregate}function uninstall(){Me.contextOrFrameLookup=ts;Me.memberLookup=Ps;if(Hn){Hn.prototype.assertType=aa}if(zn){zn.prototype.parseAggregate=oa}}Me.contextOrFrameLookup=function contextOrFrameLookup(Me,Bn,Hn){var zn=ts.apply(this,arguments);if(zn!==undefined){return zn}switch(Hn){case"True":return true;case"False":return false;case"None":return null;default:return undefined}};function getTokensState(Me){return{index:Me.index,lineno:Me.lineno,colno:Me.colno}}if(process.env.BUILD_TYPE!=="SLIM"&&ni&&Hn&&zn){var ca=ni.Node.extend("Slice",{fields:["start","stop","step"],init:function init(Me,Bn,Hn,zn,Ci){Hn=Hn||new ni.Literal(Me,Bn,null);zn=zn||new ni.Literal(Me,Bn,null);Ci=Ci||new ni.Literal(Me,Bn,1);this.parent(Me,Bn,Hn,zn,Ci)}});Hn.prototype.assertType=function assertType(Me){if(Me instanceof ca){return}aa.apply(this,arguments)};Hn.prototype.compileSlice=function compileSlice(Me,Bn){this._emit("(");this._compileExpression(Me.start,Bn);this._emit("),(");this._compileExpression(Me.stop,Bn);this._emit("),(");this._compileExpression(Me.step,Bn);this._emit(")")};zn.prototype.parseAggregate=function parseAggregate(){var Me=this;var Hn=getTokensState(this.tokens);Hn.colno--;Hn.index--;try{return oa.apply(this)}catch(oa){var zn=getTokensState(this.tokens);var ts=function rethrow(){Bn._assign(Me.tokens,zn);return oa};Bn._assign(this.tokens,Hn);this.peeked=false;var Ps=this.peekToken();if(Ps.type!==Ci.TOKEN_LEFT_BRACKET){throw ts()}else{this.nextToken()}var aa=new ca(Ps.lineno,Ps.colno);var _a=false;for(var xa=0;xa<=aa.fields.length;xa++){if(this.skip(Ci.TOKEN_RIGHT_BRACKET)){break}if(xa===aa.fields.length){if(_a){this.fail("parseSlice: too many slice components",Ps.lineno,Ps.colno)}else{break}}if(this.skip(Ci.TOKEN_COLON)){_a=true}else{var Ga=aa.fields[xa];aa[Ga]=this.parseExpression();_a=this.skip(Ci.TOKEN_COLON)||_a}}if(!_a){throw ts()}return new ni.Array(Ps.lineno,Ps.colno,[aa])}}}function sliceLookup(Bn,Hn,zn,ni){Bn=Bn||[];if(Hn===null){Hn=ni<0?Bn.length-1:0}if(zn===null){zn=ni<0?-1:Bn.length}else if(zn<0){zn+=Bn.length}if(Hn<0){Hn+=Bn.length}var Ci=[];for(var ts=Hn;;ts+=ni){if(ts<0||ts>Bn.length){break}if(ni>0&&ts>=zn){break}if(ni<0&&ts<=zn){break}Ci.push(Me.memberLookup(Bn,ts))}return Ci}function hasOwnProp(Me,Bn){return Object.prototype.hasOwnProperty.call(Me,Bn)}var _a={pop:function pop(Me){if(Me===undefined){return this.pop()}if(Me>=this.length||Me<0){throw new Error("KeyError")}return this.splice(Me,1)},append:function append(Me){return this.push(Me)},remove:function remove(Me){for(var Bn=0;Bn{"use strict";var zn=Hn(97853);var ni=" \n\t\r ";var Ci="()[]{}%*-+~/#,:|.<>=!";var ts="0123456789";var Ps="{%";var aa="%}";var oa="{{";var ca="}}";var _a="{#";var xa="#}";var Ga="string";var Ha="whitespace";var so="data";var oo="block-start";var Jo="block-end";var tc="variable-start";var dc="variable-end";var Fc="comment";var Jc="left-paren";var Dp="right-paren";var kp="left-bracket";var Qp="right-bracket";var Up="left-curly";var Vp="right-curly";var qp="operator";var Jp="comma";var Wp="colon";var zp="tilde";var Qf="pipe";var Yf="int";var Kf="float";var Xf="boolean";var Ad="none";var Cd="symbol";var wd="special";var Sd="regex";function token(Me,Bn,Hn,zn){return{type:Me,value:Bn,lineno:Hn,colno:zn}}var xd=function(){function Tokenizer(Me,Bn){this.str=Me;this.index=0;this.len=Me.length;this.lineno=0;this.colno=0;this.in_code=false;Bn=Bn||{};var Hn=Bn.tags||{};this.tags={BLOCK_START:Hn.blockStart||Ps,BLOCK_END:Hn.blockEnd||aa,VARIABLE_START:Hn.variableStart||oa,VARIABLE_END:Hn.variableEnd||ca,COMMENT_START:Hn.commentStart||_a,COMMENT_END:Hn.commentEnd||xa};this.trimBlocks=!!Bn.trimBlocks;this.lstripBlocks=!!Bn.lstripBlocks}var Me=Tokenizer.prototype;Me.nextToken=function nextToken(){var Me=this.lineno;var Bn=this.colno;var Hn;if(this.in_code){var Ps=this.current();if(this.isFinished()){return null}else if(Ps==='"'||Ps==="'"){return token(Ga,this._parseString(Ps),Me,Bn)}else if(Hn=this._extract(ni)){return token(Ha,Hn,Me,Bn)}else if((Hn=this._extractString(this.tags.BLOCK_END))||(Hn=this._extractString("-"+this.tags.BLOCK_END))){this.in_code=false;if(this.trimBlocks){Ps=this.current();if(Ps==="\n"){this.forward()}else if(Ps==="\r"){this.forward();Ps=this.current();if(Ps==="\n"){this.forward()}else{this.back()}}}return token(Jo,Hn,Me,Bn)}else if((Hn=this._extractString(this.tags.VARIABLE_END))||(Hn=this._extractString("-"+this.tags.VARIABLE_END))){this.in_code=false;return token(dc,Hn,Me,Bn)}else if(Ps==="r"&&this.str.charAt(this.index+1)==="/"){this.forwardN(2);var aa="";while(!this.isFinished()){if(this.current()==="/"&&this.previous()!=="\\"){this.forward();break}else{aa+=this.current();this.forward()}}var oa=["g","i","m","y"];var ca="";while(!this.isFinished()){var _a=oa.indexOf(this.current())!==-1;if(_a){ca+=this.current();this.forward()}else{break}}return token(Sd,{body:aa,flags:ca},Me,Bn)}else if(Ci.indexOf(Ps)!==-1){this.forward();var xa=["==","===","!=","!==","<=",">=","//","**"];var wd=Ps+this.current();var xd;if(zn.indexOf(xa,wd)!==-1){this.forward();Ps=wd;if(zn.indexOf(xa,wd+this.current())!==-1){Ps=wd+this.current();this.forward()}}switch(Ps){case"(":xd=Jc;break;case")":xd=Dp;break;case"[":xd=kp;break;case"]":xd=Qp;break;case"{":xd=Up;break;case"}":xd=Vp;break;case",":xd=Jp;break;case":":xd=Wp;break;case"~":xd=zp;break;case"|":xd=Qf;break;default:xd=qp}return token(xd,Ps,Me,Bn)}else{Hn=this._extractUntil(ni+Ci);if(Hn.match(/^[-+]?[0-9]+$/)){if(this.current()==="."){this.forward();var Td=this._extract(ts);return token(Kf,Hn+"."+Td,Me,Bn)}else{return token(Yf,Hn,Me,Bn)}}else if(Hn.match(/^(true|false)$/)){return token(Xf,Hn,Me,Bn)}else if(Hn==="none"){return token(Ad,Hn,Me,Bn)}else if(Hn==="null"){return token(Ad,Hn,Me,Bn)}else if(Hn){return token(Cd,Hn,Me,Bn)}else{throw new Error("Unexpected value while parsing: "+Hn)}}}else{var Pd=this.tags.BLOCK_START.charAt(0)+this.tags.VARIABLE_START.charAt(0)+this.tags.COMMENT_START.charAt(0)+this.tags.COMMENT_END.charAt(0);if(this.isFinished()){return null}else if((Hn=this._extractString(this.tags.BLOCK_START+"-"))||(Hn=this._extractString(this.tags.BLOCK_START))){this.in_code=true;return token(oo,Hn,Me,Bn)}else if((Hn=this._extractString(this.tags.VARIABLE_START+"-"))||(Hn=this._extractString(this.tags.VARIABLE_START))){this.in_code=true;return token(tc,Hn,Me,Bn)}else{Hn="";var Qh;var Zh=false;if(this._matches(this.tags.COMMENT_START)){Zh=true;Hn=this._extractString(this.tags.COMMENT_START)}while((Qh=this._extractUntil(Pd))!==null){Hn+=Qh;if((this._matches(this.tags.BLOCK_START)||this._matches(this.tags.VARIABLE_START)||this._matches(this.tags.COMMENT_START))&&!Zh){if(this.lstripBlocks&&this._matches(this.tags.BLOCK_START)&&this.colno>0&&this.colno<=Hn.length){var sA=Hn.slice(-this.colno);if(/^\s+$/.test(sA)){Hn=Hn.slice(0,-this.colno);if(!Hn.length){return this.nextToken()}}}break}else if(this._matches(this.tags.COMMENT_END)){if(!Zh){throw new Error("unexpected end of comment")}Hn+=this._extractString(this.tags.COMMENT_END);break}else{Hn+=this.current();this.forward()}}if(Qh===null&&Zh){throw new Error("expected end of comment, got end of file")}return token(Zh?Fc:so,Hn,Me,Bn)}}};Me._parseString=function _parseString(Me){this.forward();var Bn="";while(!this.isFinished()&&this.current()!==Me){var Hn=this.current();if(Hn==="\\"){this.forward();switch(this.current()){case"n":Bn+="\n";break;case"t":Bn+="\t";break;case"r":Bn+="\r";break;default:Bn+=this.current()}this.forward()}else{Bn+=Hn;this.forward()}}this.forward();return Bn};Me._matches=function _matches(Me){if(this.index+Me.length>this.len){return null}var Bn=this.str.slice(this.index,this.index+Me.length);return Bn===Me};Me._extractString=function _extractString(Me){if(this._matches(Me)){this.forwardN(Me.length);return Me}return null};Me._extractUntil=function _extractUntil(Me){return this._extractMatching(true,Me||"")};Me._extract=function _extract(Me){return this._extractMatching(false,Me)};Me._extractMatching=function _extractMatching(Me,Bn){if(this.isFinished()){return null}var Hn=Bn.indexOf(this.current());if(Me&&Hn===-1||!Me&&Hn!==-1){var zn=this.current();this.forward();var ni=Bn.indexOf(this.current());while((Me&&ni===-1||!Me&&ni!==-1)&&!this.isFinished()){zn+=this.current();this.forward();ni=Bn.indexOf(this.current())}return zn}return""};Me._extractRegex=function _extractRegex(Me){var Bn=this.currentStr().match(Me);if(!Bn){return null}this.forwardN(Bn[0].length);return Bn};Me.isFinished=function isFinished(){return this.index>=this.len};Me.forwardN=function forwardN(Me){for(var Bn=0;Bn{"use strict";var Bn=Array.prototype;var Hn=Object.prototype;var zn={"&":"&",'"':""","'":"'","<":"<",">":">","\\":"\"};var ni=/[&"'<>\\]/g;var Ci=Me.exports={};function hasOwnProp(Me,Bn){return Hn.hasOwnProperty.call(Me,Bn)}Ci.hasOwnProp=hasOwnProp;function lookupEscape(Me){return zn[Me]}function _prettifyError(Me,Bn,Hn){if(!Hn.Update){Hn=new Ci.TemplateError(Hn)}Hn.Update(Me);if(!Bn){var zn=Hn;Hn=new Error(zn.message);Hn.name=zn.name}return Hn}Ci._prettifyError=_prettifyError;function TemplateError(Me,Bn,Hn){var zn;var ni;if(Me instanceof Error){ni=Me;Me=ni.name+": "+ni.message}if(Object.setPrototypeOf){zn=new Error(Me);Object.setPrototypeOf(zn,TemplateError.prototype)}else{zn=this;Object.defineProperty(zn,"message",{enumerable:false,writable:true,value:Me})}Object.defineProperty(zn,"name",{value:"Template render error"});if(Error.captureStackTrace){Error.captureStackTrace(zn,this.constructor)}var Ci;if(ni){var ts=Object.getOwnPropertyDescriptor(ni,"stack");Ci=ts&&(ts.get||function(){return ts.value});if(!Ci){Ci=function getStack(){return ni.stack}}}else{var Ps=new Error(Me).stack;Ci=function getStack(){return Ps}}Object.defineProperty(zn,"stack",{get:function get(){return Ci.call(zn)}});Object.defineProperty(zn,"cause",{value:ni});zn.lineno=Bn;zn.colno=Hn;zn.firstUpdate=true;zn.Update=function Update(Me){var Bn="("+(Me||"unknown path")+")";if(this.firstUpdate){if(this.lineno&&this.colno){Bn+=" [Line "+this.lineno+", Column "+this.colno+"]"}else if(this.lineno){Bn+=" [Line "+this.lineno+"]"}}Bn+="\n ";if(this.firstUpdate){Bn+=" "}this.message=Bn+(this.message||"");this.firstUpdate=false;return this};return zn}if(Object.setPrototypeOf){Object.setPrototypeOf(TemplateError.prototype,Error.prototype)}else{TemplateError.prototype=Object.create(Error.prototype,{constructor:{value:TemplateError}})}Ci.TemplateError=TemplateError;function escape(Me){return Me.replace(ni,lookupEscape)}Ci.escape=escape;function isFunction(Me){return Hn.toString.call(Me)==="[object Function]"}Ci.isFunction=isFunction;function isArray(Me){return Hn.toString.call(Me)==="[object Array]"}Ci.isArray=isArray;function isString(Me){return Hn.toString.call(Me)==="[object String]"}Ci.isString=isString;function isObject(Me){return Hn.toString.call(Me)==="[object Object]"}Ci.isObject=isObject;function _prepareAttributeParts(Me){if(!Me){return[]}if(typeof Me==="string"){return Me.split(".")}return[Me]}function getAttrGetter(Me){var Bn=_prepareAttributeParts(Me);return function attrGetter(Me){var Hn=Me;for(var zn=0;zn{"use strict";function _inheritsLoose(Me,Bn){Me.prototype=Object.create(Bn.prototype);Me.prototype.constructor=Me;_setPrototypeOf(Me,Bn)}function _setPrototypeOf(Me,Bn){_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(Me,Bn){Me.__proto__=Bn;return Me};return _setPrototypeOf(Me,Bn)}var zn=Hn(16928);var ni=Hn(79695),Ci=ni.EmitterObj;Me.exports=function(Me){_inheritsLoose(Loader,Me);function Loader(){return Me.apply(this,arguments)||this}var Bn=Loader.prototype;Bn.resolve=function resolve(Me,Bn){return zn.resolve(zn.dirname(Me),Bn)};Bn.isRelative=function isRelative(Me){return Me.indexOf("./")===0||Me.indexOf("../")===0};return Loader}(Ci)},2650:(Me,Bn,Hn)=>{"use strict";Me.exports=Hn(76973)},76973:(Me,Bn,Hn)=>{"use strict";function _inheritsLoose(Me,Bn){Me.prototype=Object.create(Bn.prototype);Me.prototype.constructor=Me;_setPrototypeOf(Me,Bn)}function _setPrototypeOf(Me,Bn){_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(Me,Bn){Me.__proto__=Bn;return Me};return _setPrototypeOf(Me,Bn)}var zn=Hn(79896);var ni=Hn(16928);var Ci=Hn(43391);var ts=Hn(97402),Ps=ts.PrecompiledLoader;var aa;var oa=function(Me){_inheritsLoose(FileSystemLoader,Me);function FileSystemLoader(Bn,Ci){var ts;ts=Me.call(this)||this;if(typeof Ci==="boolean"){console.log("[nunjucks] Warning: you passed a boolean as the second "+"argument to FileSystemLoader, but it now takes an options "+"object. See http://mozilla.github.io/nunjucks/api.html#filesystemloader")}Ci=Ci||{};ts.pathsToNames={};ts.noCache=!!Ci.noCache;if(Bn){Bn=Array.isArray(Bn)?Bn:[Bn];ts.searchPaths=Bn.map(ni.normalize)}else{ts.searchPaths=["."]}if(Ci.watch){try{aa=Hn(568)}catch(Me){throw new Error("watch requires chokidar to be installed")}var Ps=ts.searchPaths.filter(zn.existsSync);var oa=aa.watch(Ps);oa.on("all",(function(Me,Bn){Bn=ni.resolve(Bn);if(Me==="change"&&Bn in ts.pathsToNames){ts.emit("update",ts.pathsToNames[Bn],Bn)}}));oa.on("error",(function(Me){console.log("Watcher error: "+Me)}))}return ts}var Bn=FileSystemLoader.prototype;Bn.getSource=function getSource(Me){var Bn=null;var Hn=this.searchPaths;for(var Ci=0;Ci{"use strict";function _defineProperties(Me,Bn){for(var Hn=0;Hn2?ni-2:0),ts=2;ts0||!Hn)){process.stdout.write(" ".repeat(Bn))}var Ci=ni===zn.length-1?"":"\n";process.stdout.write(""+Me+Ci)}))}function printNodes(Me,Bn){Bn=Bn||0;print(Me.typename+": ",Bn);if(Me instanceof Ps){print("\n");Me.children.forEach((function(Me){printNodes(Me,Bn+2)}))}else if(Me instanceof dg){print(Me.extName+"."+Me.prop+"\n");if(Me.args){printNodes(Me.args,Bn+2)}if(Me.contentArgs){Me.contentArgs.forEach((function(Me){printNodes(Me,Bn+2)}))}}else{var Hn=[];var zn=null;Me.iterFields((function(Me,Bn){if(Me instanceof Ci){Hn.push([Bn,Me])}else{zn=zn||{};zn[Bn]=Me}}));if(zn){print(JSON.stringify(zn,null,2)+"\n",null,true)}else{print("\n")}Hn.forEach((function(Me){var Hn=Me[0],zn=Me[1];print("["+Hn+"] =>",Bn+2);printNodes(zn,Bn+4)}))}}Me.exports={Node:Ci,Root:aa,NodeList:Ps,Value:ts,Literal:oa,Symbol:ca,Group:_a,Array:xa,Pair:Ga,Dict:Ha,Output:Sd,Capture:xd,TemplateData:Td,If:oo,IfAsync:Jo,InlineIf:tc,For:dc,AsyncEach:Fc,AsyncAll:Jc,Macro:Dp,Caller:kp,Import:Qp,FromImport:Up,FunCall:Vp,Filter:qp,FilterAsync:Jp,KeywordArgs:Wp,Block:zp,Super:Qf,Extends:Kf,Include:Xf,Set:Ad,Switch:Cd,Case:wd,LookupVal:so,BinOp:Qh,In:Zh,Is:sA,Or:oA,And:hA,Not:eg,Add:tg,Concat:rg,Sub:ng,Mul:ig,Div:sg,FloorDiv:ag,Mod:og,Pow:ug,Neg:cg,Pos:lg,Compare:pg,CompareOperand:fg,CallExtension:dg,CallExtensionAsync:hg,printNodes:printNodes}},79695:(Me,Bn,Hn)=>{"use strict";function _defineProperties(Me,Bn){for(var Hn=0;Hn{"use strict";function _inheritsLoose(Me,Bn){Me.prototype=Object.create(Bn.prototype);Me.prototype.constructor=Me;_setPrototypeOf(Me,Bn)}function _setPrototypeOf(Me,Bn){_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(Me,Bn){Me.__proto__=Bn;return Me};return _setPrototypeOf(Me,Bn)}var zn=Hn(38852);var ni=Hn(16151);var Ci=Hn(79695).Obj;var ts=Hn(97853);var Ps=function(Me){_inheritsLoose(Parser,Me);function Parser(){return Me.apply(this,arguments)||this}var Bn=Parser.prototype;Bn.init=function init(Me){this.tokens=Me;this.peeked=null;this.breakOnBlocks=null;this.dropLeadingWhitespace=false;this.extensions=[]};Bn.nextToken=function nextToken(Me){var Bn;if(this.peeked){if(!Me&&this.peeked.type===zn.TOKEN_WHITESPACE){this.peeked=null}else{Bn=this.peeked;this.peeked=null;return Bn}}Bn=this.tokens.nextToken();if(!Me){while(Bn&&Bn.type===zn.TOKEN_WHITESPACE){Bn=this.tokens.nextToken()}}return Bn};Bn.peekToken=function peekToken(){this.peeked=this.peeked||this.nextToken();return this.peeked};Bn.pushToken=function pushToken(Me){if(this.peeked){throw new Error("pushToken: can only push one token on between reads")}this.peeked=Me};Bn.error=function error(Me,Bn,Hn){if(Bn===undefined||Hn===undefined){var zn=this.peekToken()||{};Bn=zn.lineno;Hn=zn.colno}if(Bn!==undefined){Bn+=1}if(Hn!==undefined){Hn+=1}return new ts.TemplateError(Me,Bn,Hn)};Bn.fail=function fail(Me,Bn,Hn){throw this.error(Me,Bn,Hn)};Bn.skip=function skip(Me){var Bn=this.nextToken();if(!Bn||Bn.type!==Me){this.pushToken(Bn);return false}return true};Bn.expect=function expect(Me){var Bn=this.nextToken();if(Bn.type!==Me){this.fail("expected "+Me+", got "+Bn.type,Bn.lineno,Bn.colno)}return Bn};Bn.skipValue=function skipValue(Me,Bn){var Hn=this.nextToken();if(!Hn||Hn.type!==Me||Hn.value!==Bn){this.pushToken(Hn);return false}return true};Bn.skipSymbol=function skipSymbol(Me){return this.skipValue(zn.TOKEN_SYMBOL,Me)};Bn.advanceAfterBlockEnd=function advanceAfterBlockEnd(Me){var Bn;if(!Me){Bn=this.peekToken();if(!Bn){this.fail("unexpected end of file")}if(Bn.type!==zn.TOKEN_SYMBOL){this.fail("advanceAfterBlockEnd: expected symbol token or "+"explicit name to be passed")}Me=this.nextToken().value}Bn=this.nextToken();if(Bn&&Bn.type===zn.TOKEN_BLOCK_END){if(Bn.value.charAt(0)==="-"){this.dropLeadingWhitespace=true}}else{this.fail("expected block end in "+Me+" statement")}return Bn};Bn.advanceAfterVariableEnd=function advanceAfterVariableEnd(){var Me=this.nextToken();if(Me&&Me.type===zn.TOKEN_VARIABLE_END){this.dropLeadingWhitespace=Me.value.charAt(Me.value.length-this.tokens.tags.VARIABLE_END.length-1)==="-"}else{this.pushToken(Me);this.fail("expected variable end")}};Bn.parseFor=function parseFor(){var Me=this.peekToken();var Bn;var Hn;if(this.skipSymbol("for")){Bn=new ni.For(Me.lineno,Me.colno);Hn="endfor"}else if(this.skipSymbol("asyncEach")){Bn=new ni.AsyncEach(Me.lineno,Me.colno);Hn="endeach"}else if(this.skipSymbol("asyncAll")){Bn=new ni.AsyncAll(Me.lineno,Me.colno);Hn="endall"}else{this.fail("parseFor: expected for{Async}",Me.lineno,Me.colno)}Bn.name=this.parsePrimary();if(!(Bn.name instanceof ni.Symbol)){this.fail("parseFor: variable name expected for loop")}var Ci=this.peekToken().type;if(Ci===zn.TOKEN_COMMA){var ts=Bn.name;Bn.name=new ni.Array(ts.lineno,ts.colno);Bn.name.addChild(ts);while(this.skip(zn.TOKEN_COMMA)){var Ps=this.parsePrimary();Bn.name.addChild(Ps)}}if(!this.skipSymbol("in")){this.fail('parseFor: expected "in" keyword for loop',Me.lineno,Me.colno)}Bn.arr=this.parseExpression();this.advanceAfterBlockEnd(Me.value);Bn.body=this.parseUntilBlocks(Hn,"else");if(this.skipSymbol("else")){this.advanceAfterBlockEnd("else");Bn.else_=this.parseUntilBlocks(Hn)}this.advanceAfterBlockEnd();return Bn};Bn.parseMacro=function parseMacro(){var Me=this.peekToken();if(!this.skipSymbol("macro")){this.fail("expected macro")}var Bn=this.parsePrimary(true);var Hn=this.parseSignature();var zn=new ni.Macro(Me.lineno,Me.colno,Bn,Hn);this.advanceAfterBlockEnd(Me.value);zn.body=this.parseUntilBlocks("endmacro");this.advanceAfterBlockEnd();return zn};Bn.parseCall=function parseCall(){var Me=this.peekToken();if(!this.skipSymbol("call")){this.fail("expected call")}var Bn=this.parseSignature(true)||new ni.NodeList;var Hn=this.parsePrimary();this.advanceAfterBlockEnd(Me.value);var zn=this.parseUntilBlocks("endcall");this.advanceAfterBlockEnd();var Ci=new ni.Symbol(Me.lineno,Me.colno,"caller");var ts=new ni.Caller(Me.lineno,Me.colno,Ci,Bn,zn);var Ps=Hn.args.children;if(!(Ps[Ps.length-1]instanceof ni.KeywordArgs)){Ps.push(new ni.KeywordArgs)}var aa=Ps[Ps.length-1];aa.addChild(new ni.Pair(Me.lineno,Me.colno,Ci,ts));return new ni.Output(Me.lineno,Me.colno,[Hn])};Bn.parseWithContext=function parseWithContext(){var Me=this.peekToken();var Bn=null;if(this.skipSymbol("with")){Bn=true}else if(this.skipSymbol("without")){Bn=false}if(Bn!==null){if(!this.skipSymbol("context")){this.fail("parseFrom: expected context after with/without",Me.lineno,Me.colno)}}return Bn};Bn.parseImport=function parseImport(){var Me=this.peekToken();if(!this.skipSymbol("import")){this.fail("parseImport: expected import",Me.lineno,Me.colno)}var Bn=this.parseExpression();if(!this.skipSymbol("as")){this.fail('parseImport: expected "as" keyword',Me.lineno,Me.colno)}var Hn=this.parseExpression();var zn=this.parseWithContext();var Ci=new ni.Import(Me.lineno,Me.colno,Bn,Hn,zn);this.advanceAfterBlockEnd(Me.value);return Ci};Bn.parseFrom=function parseFrom(){var Me=this.peekToken();if(!this.skipSymbol("from")){this.fail("parseFrom: expected from")}var Bn=this.parseExpression();if(!this.skipSymbol("import")){this.fail("parseFrom: expected import",Me.lineno,Me.colno)}var Hn=new ni.NodeList;var Ci;while(1){var ts=this.peekToken();if(ts.type===zn.TOKEN_BLOCK_END){if(!Hn.children.length){this.fail("parseFrom: Expected at least one import name",Me.lineno,Me.colno)}if(ts.value.charAt(0)==="-"){this.dropLeadingWhitespace=true}this.nextToken();break}if(Hn.children.length>0&&!this.skip(zn.TOKEN_COMMA)){this.fail("parseFrom: expected comma",Me.lineno,Me.colno)}var Ps=this.parsePrimary();if(Ps.value.charAt(0)==="_"){this.fail("parseFrom: names starting with an underscore cannot be imported",Ps.lineno,Ps.colno)}if(this.skipSymbol("as")){var aa=this.parsePrimary();Hn.addChild(new ni.Pair(Ps.lineno,Ps.colno,Ps,aa))}else{Hn.addChild(Ps)}Ci=this.parseWithContext()}return new ni.FromImport(Me.lineno,Me.colno,Bn,Hn,Ci)};Bn.parseBlock=function parseBlock(){var Me=this.peekToken();if(!this.skipSymbol("block")){this.fail("parseBlock: expected block",Me.lineno,Me.colno)}var Bn=new ni.Block(Me.lineno,Me.colno);Bn.name=this.parsePrimary();if(!(Bn.name instanceof ni.Symbol)){this.fail("parseBlock: variable name expected",Me.lineno,Me.colno)}this.advanceAfterBlockEnd(Me.value);Bn.body=this.parseUntilBlocks("endblock");this.skipSymbol("endblock");this.skipSymbol(Bn.name.value);var Hn=this.peekToken();if(!Hn){this.fail("parseBlock: expected endblock, got end of file")}this.advanceAfterBlockEnd(Hn.value);return Bn};Bn.parseExtends=function parseExtends(){var Me="extends";var Bn=this.peekToken();if(!this.skipSymbol(Me)){this.fail("parseTemplateRef: expected "+Me)}var Hn=new ni.Extends(Bn.lineno,Bn.colno);Hn.template=this.parseExpression();this.advanceAfterBlockEnd(Bn.value);return Hn};Bn.parseInclude=function parseInclude(){var Me="include";var Bn=this.peekToken();if(!this.skipSymbol(Me)){this.fail("parseInclude: expected "+Me)}var Hn=new ni.Include(Bn.lineno,Bn.colno);Hn.template=this.parseExpression();if(this.skipSymbol("ignore")&&this.skipSymbol("missing")){Hn.ignoreMissing=true}this.advanceAfterBlockEnd(Bn.value);return Hn};Bn.parseIf=function parseIf(){var Me=this.peekToken();var Bn;if(this.skipSymbol("if")||this.skipSymbol("elif")||this.skipSymbol("elseif")){Bn=new ni.If(Me.lineno,Me.colno)}else if(this.skipSymbol("ifAsync")){Bn=new ni.IfAsync(Me.lineno,Me.colno)}else{this.fail("parseIf: expected if, elif, or elseif",Me.lineno,Me.colno)}Bn.cond=this.parseExpression();this.advanceAfterBlockEnd(Me.value);Bn.body=this.parseUntilBlocks("elif","elseif","else","endif");var Hn=this.peekToken();switch(Hn&&Hn.value){case"elseif":case"elif":Bn.else_=this.parseIf();break;case"else":this.advanceAfterBlockEnd();Bn.else_=this.parseUntilBlocks("endif");this.advanceAfterBlockEnd();break;case"endif":Bn.else_=null;this.advanceAfterBlockEnd();break;default:this.fail("parseIf: expected elif, else, or endif, got end of file")}return Bn};Bn.parseSet=function parseSet(){var Me=this.peekToken();if(!this.skipSymbol("set")){this.fail("parseSet: expected set",Me.lineno,Me.colno)}var Bn=new ni.Set(Me.lineno,Me.colno,[]);var Hn;while(Hn=this.parsePrimary()){Bn.targets.push(Hn);if(!this.skip(zn.TOKEN_COMMA)){break}}if(!this.skipValue(zn.TOKEN_OPERATOR,"=")){if(!this.skip(zn.TOKEN_BLOCK_END)){this.fail("parseSet: expected = or block end in set tag",Me.lineno,Me.colno)}else{Bn.body=new ni.Capture(Me.lineno,Me.colno,this.parseUntilBlocks("endset"));Bn.value=null;this.advanceAfterBlockEnd()}}else{Bn.value=this.parseExpression();this.advanceAfterBlockEnd(Me.value)}return Bn};Bn.parseSwitch=function parseSwitch(){var Me="switch";var Bn="endswitch";var Hn="case";var zn="default";var Ci=this.peekToken();if(!this.skipSymbol(Me)&&!this.skipSymbol(Hn)&&!this.skipSymbol(zn)){this.fail('parseSwitch: expected "switch," "case" or "default"',Ci.lineno,Ci.colno)}var ts=this.parseExpression();this.advanceAfterBlockEnd(Me);this.parseUntilBlocks(Hn,zn,Bn);var Ps=this.peekToken();var aa=[];var oa;do{this.skipSymbol(Hn);var ca=this.parseExpression();this.advanceAfterBlockEnd(Me);var _a=this.parseUntilBlocks(Hn,zn,Bn);aa.push(new ni.Case(Ps.line,Ps.col,ca,_a));Ps=this.peekToken()}while(Ps&&Ps.value===Hn);switch(Ps.value){case zn:this.advanceAfterBlockEnd();oa=this.parseUntilBlocks(Bn);this.advanceAfterBlockEnd();break;case Bn:this.advanceAfterBlockEnd();break;default:this.fail('parseSwitch: expected "case," "default" or "endswitch," got EOF.')}return new ni.Switch(Ci.lineno,Ci.colno,ts,aa,oa)};Bn.parseStatement=function parseStatement(){var Me=this.peekToken();var Bn;if(Me.type!==zn.TOKEN_SYMBOL){this.fail("tag name expected",Me.lineno,Me.colno)}if(this.breakOnBlocks&&ts.indexOf(this.breakOnBlocks,Me.value)!==-1){return null}switch(Me.value){case"raw":return this.parseRaw();case"verbatim":return this.parseRaw("verbatim");case"if":case"ifAsync":return this.parseIf();case"for":case"asyncEach":case"asyncAll":return this.parseFor();case"block":return this.parseBlock();case"extends":return this.parseExtends();case"include":return this.parseInclude();case"set":return this.parseSet();case"macro":return this.parseMacro();case"call":return this.parseCall();case"import":return this.parseImport();case"from":return this.parseFrom();case"filter":return this.parseFilterStatement();case"switch":return this.parseSwitch();default:if(this.extensions.length){for(var Hn=0;Hn0){var aa=ts[0];var oa=ts[1];var ca=ts[2];if(ca===Me){zn+=1}else if(ca===Bn){zn-=1}if(zn===0){Ci+=oa;this.tokens.backN(aa.length-oa.length)}else{Ci+=aa}}return new ni.Output(Ps.lineno,Ps.colno,[new ni.TemplateData(Ps.lineno,Ps.colno,Ci)])};Bn.parsePostfix=function parsePostfix(Me){var Bn;var Hn=this.peekToken();while(Hn){if(Hn.type===zn.TOKEN_LEFT_PAREN){Me=new ni.FunCall(Hn.lineno,Hn.colno,Me,this.parseSignature())}else if(Hn.type===zn.TOKEN_LEFT_BRACKET){Bn=this.parseAggregate();if(Bn.children.length>1){this.fail("invalid index")}Me=new ni.LookupVal(Hn.lineno,Hn.colno,Me,Bn.children[0])}else if(Hn.type===zn.TOKEN_OPERATOR&&Hn.value==="."){this.nextToken();var Ci=this.nextToken();if(Ci.type!==zn.TOKEN_SYMBOL){this.fail("expected name as lookup value, got "+Ci.value,Ci.lineno,Ci.colno)}Bn=new ni.Literal(Ci.lineno,Ci.colno,Ci.value);Me=new ni.LookupVal(Hn.lineno,Hn.colno,Me,Bn)}else{break}Hn=this.peekToken()}return Me};Bn.parseExpression=function parseExpression(){var Me=this.parseInlineIf();return Me};Bn.parseInlineIf=function parseInlineIf(){var Me=this.parseOr();if(this.skipSymbol("if")){var Bn=this.parseOr();var Hn=Me;Me=new ni.InlineIf(Me.lineno,Me.colno);Me.body=Hn;Me.cond=Bn;if(this.skipSymbol("else")){Me.else_=this.parseOr()}else{Me.else_=null}}return Me};Bn.parseOr=function parseOr(){var Me=this.parseAnd();while(this.skipSymbol("or")){var Bn=this.parseAnd();Me=new ni.Or(Me.lineno,Me.colno,Me,Bn)}return Me};Bn.parseAnd=function parseAnd(){var Me=this.parseNot();while(this.skipSymbol("and")){var Bn=this.parseNot();Me=new ni.And(Me.lineno,Me.colno,Me,Bn)}return Me};Bn.parseNot=function parseNot(){var Me=this.peekToken();if(this.skipSymbol("not")){return new ni.Not(Me.lineno,Me.colno,this.parseNot())}return this.parseIn()};Bn.parseIn=function parseIn(){var Me=this.parseIs();while(1){var Bn=this.nextToken();if(!Bn){break}var Hn=Bn.type===zn.TOKEN_SYMBOL&&Bn.value==="not";if(!Hn){this.pushToken(Bn)}if(this.skipSymbol("in")){var Ci=this.parseIs();Me=new ni.In(Me.lineno,Me.colno,Me,Ci);if(Hn){Me=new ni.Not(Me.lineno,Me.colno,Me)}}else{if(Hn){this.pushToken(Bn)}break}}return Me};Bn.parseIs=function parseIs(){var Me=this.parseCompare();if(this.skipSymbol("is")){var Bn=this.skipSymbol("not");var Hn=this.parseCompare();Me=new ni.Is(Me.lineno,Me.colno,Me,Hn);if(Bn){Me=new ni.Not(Me.lineno,Me.colno,Me)}}return Me};Bn.parseCompare=function parseCompare(){var Me=["==","===","!=","!==","<",">","<=",">="];var Bn=this.parseConcat();var Hn=[];while(1){var zn=this.nextToken();if(!zn){break}else if(Me.indexOf(zn.value)!==-1){Hn.push(new ni.CompareOperand(zn.lineno,zn.colno,this.parseConcat(),zn.value))}else{this.pushToken(zn);break}}if(Hn.length){return new ni.Compare(Hn[0].lineno,Hn[0].colno,Bn,Hn)}else{return Bn}};Bn.parseConcat=function parseConcat(){var Me=this.parseAdd();while(this.skipValue(zn.TOKEN_TILDE,"~")){var Bn=this.parseAdd();Me=new ni.Concat(Me.lineno,Me.colno,Me,Bn)}return Me};Bn.parseAdd=function parseAdd(){var Me=this.parseSub();while(this.skipValue(zn.TOKEN_OPERATOR,"+")){var Bn=this.parseSub();Me=new ni.Add(Me.lineno,Me.colno,Me,Bn)}return Me};Bn.parseSub=function parseSub(){var Me=this.parseMul();while(this.skipValue(zn.TOKEN_OPERATOR,"-")){var Bn=this.parseMul();Me=new ni.Sub(Me.lineno,Me.colno,Me,Bn)}return Me};Bn.parseMul=function parseMul(){var Me=this.parseDiv();while(this.skipValue(zn.TOKEN_OPERATOR,"*")){var Bn=this.parseDiv();Me=new ni.Mul(Me.lineno,Me.colno,Me,Bn)}return Me};Bn.parseDiv=function parseDiv(){var Me=this.parseFloorDiv();while(this.skipValue(zn.TOKEN_OPERATOR,"/")){var Bn=this.parseFloorDiv();Me=new ni.Div(Me.lineno,Me.colno,Me,Bn)}return Me};Bn.parseFloorDiv=function parseFloorDiv(){var Me=this.parseMod();while(this.skipValue(zn.TOKEN_OPERATOR,"//")){var Bn=this.parseMod();Me=new ni.FloorDiv(Me.lineno,Me.colno,Me,Bn)}return Me};Bn.parseMod=function parseMod(){var Me=this.parsePow();while(this.skipValue(zn.TOKEN_OPERATOR,"%")){var Bn=this.parsePow();Me=new ni.Mod(Me.lineno,Me.colno,Me,Bn)}return Me};Bn.parsePow=function parsePow(){var Me=this.parseUnary();while(this.skipValue(zn.TOKEN_OPERATOR,"**")){var Bn=this.parseUnary();Me=new ni.Pow(Me.lineno,Me.colno,Me,Bn)}return Me};Bn.parseUnary=function parseUnary(Me){var Bn=this.peekToken();var Hn;if(this.skipValue(zn.TOKEN_OPERATOR,"-")){Hn=new ni.Neg(Bn.lineno,Bn.colno,this.parseUnary(true))}else if(this.skipValue(zn.TOKEN_OPERATOR,"+")){Hn=new ni.Pos(Bn.lineno,Bn.colno,this.parseUnary(true))}else{Hn=this.parsePrimary()}if(!Me){Hn=this.parseFilter(Hn)}return Hn};Bn.parsePrimary=function parsePrimary(Me){var Bn=this.nextToken();var Hn;var Ci=null;if(!Bn){this.fail("expected expression, got end of file")}else if(Bn.type===zn.TOKEN_STRING){Hn=Bn.value}else if(Bn.type===zn.TOKEN_INT){Hn=parseInt(Bn.value,10)}else if(Bn.type===zn.TOKEN_FLOAT){Hn=parseFloat(Bn.value)}else if(Bn.type===zn.TOKEN_BOOLEAN){if(Bn.value==="true"){Hn=true}else if(Bn.value==="false"){Hn=false}else{this.fail("invalid boolean: "+Bn.value,Bn.lineno,Bn.colno)}}else if(Bn.type===zn.TOKEN_NONE){Hn=null}else if(Bn.type===zn.TOKEN_REGEX){Hn=new RegExp(Bn.value.body,Bn.value.flags)}if(Hn!==undefined){Ci=new ni.Literal(Bn.lineno,Bn.colno,Hn)}else if(Bn.type===zn.TOKEN_SYMBOL){Ci=new ni.Symbol(Bn.lineno,Bn.colno,Bn.value)}else{this.pushToken(Bn);Ci=this.parseAggregate()}if(!Me){Ci=this.parsePostfix(Ci)}if(Ci){return Ci}else{throw this.error("unexpected token: "+Bn.value,Bn.lineno,Bn.colno)}};Bn.parseFilterName=function parseFilterName(){var Me=this.expect(zn.TOKEN_SYMBOL);var Bn=Me.value;while(this.skipValue(zn.TOKEN_OPERATOR,".")){Bn+="."+this.expect(zn.TOKEN_SYMBOL).value}return new ni.Symbol(Me.lineno,Me.colno,Bn)};Bn.parseFilterArgs=function parseFilterArgs(Me){if(this.peekToken().type===zn.TOKEN_LEFT_PAREN){var Bn=this.parsePostfix(Me);return Bn.args.children}return[]};Bn.parseFilter=function parseFilter(Me){while(this.skip(zn.TOKEN_PIPE)){var Bn=this.parseFilterName();Me=new ni.Filter(Bn.lineno,Bn.colno,Bn,new ni.NodeList(Bn.lineno,Bn.colno,[Me].concat(this.parseFilterArgs(Me))))}return Me};Bn.parseFilterStatement=function parseFilterStatement(){var Me=this.peekToken();if(!this.skipSymbol("filter")){this.fail("parseFilterStatement: expected filter")}var Bn=this.parseFilterName();var Hn=this.parseFilterArgs(Bn);this.advanceAfterBlockEnd(Me.value);var zn=new ni.Capture(Bn.lineno,Bn.colno,this.parseUntilBlocks("endfilter"));this.advanceAfterBlockEnd();var Ci=new ni.Filter(Bn.lineno,Bn.colno,Bn,new ni.NodeList(Bn.lineno,Bn.colno,[zn].concat(Hn)));return new ni.Output(Bn.lineno,Bn.colno,[Ci])};Bn.parseAggregate=function parseAggregate(){var Me=this.nextToken();var Bn;switch(Me.type){case zn.TOKEN_LEFT_PAREN:Bn=new ni.Group(Me.lineno,Me.colno);break;case zn.TOKEN_LEFT_BRACKET:Bn=new ni.Array(Me.lineno,Me.colno);break;case zn.TOKEN_LEFT_CURLY:Bn=new ni.Dict(Me.lineno,Me.colno);break;default:return null}while(1){var Hn=this.peekToken().type;if(Hn===zn.TOKEN_RIGHT_PAREN||Hn===zn.TOKEN_RIGHT_BRACKET||Hn===zn.TOKEN_RIGHT_CURLY){this.nextToken();break}if(Bn.children.length>0){if(!this.skip(zn.TOKEN_COMMA)){this.fail("parseAggregate: expected comma after expression",Me.lineno,Me.colno)}}if(Bn instanceof ni.Dict){var Ci=this.parsePrimary();if(!this.skip(zn.TOKEN_COLON)){this.fail("parseAggregate: expected colon after dict key",Me.lineno,Me.colno)}var ts=this.parseExpression();Bn.addChild(new ni.Pair(Ci.lineno,Ci.colno,Ci,ts))}else{var Ps=this.parseExpression();Bn.addChild(Ps)}}return Bn};Bn.parseSignature=function parseSignature(Me,Bn){var Hn=this.peekToken();if(!Bn&&Hn.type!==zn.TOKEN_LEFT_PAREN){if(Me){return null}else{this.fail("expected arguments",Hn.lineno,Hn.colno)}}if(Hn.type===zn.TOKEN_LEFT_PAREN){Hn=this.nextToken()}var Ci=new ni.NodeList(Hn.lineno,Hn.colno);var ts=new ni.KeywordArgs(Hn.lineno,Hn.colno);var Ps=false;while(1){Hn=this.peekToken();if(!Bn&&Hn.type===zn.TOKEN_RIGHT_PAREN){this.nextToken();break}else if(Bn&&Hn.type===zn.TOKEN_BLOCK_END){break}if(Ps&&!this.skip(zn.TOKEN_COMMA)){this.fail("parseSignature: expected comma after expression",Hn.lineno,Hn.colno)}else{var aa=this.parseExpression();if(this.skipValue(zn.TOKEN_OPERATOR,"=")){ts.addChild(new ni.Pair(aa.lineno,aa.colno,aa,this.parseExpression()))}else{Ci.addChild(aa)}}Ps=true}if(ts.children.length){Ci.addChild(ts)}return Ci};Bn.parseUntilBlocks=function parseUntilBlocks(){var Me=this.breakOnBlocks;for(var Bn=arguments.length,Hn=new Array(Bn),zn=0;zn{"use strict";function precompileGlobal(Me,Bn){var Hn="";Bn=Bn||{};for(var zn=0;zn{"use strict";var zn=Hn(79896);var ni=Hn(16928);var Ci=Hn(97853),ts=Ci._prettifyError;var Ps=Hn(8993);var aa=Hn(14499),oa=aa.Environment;var ca=Hn(92544);function match(Me,Bn){if(!Array.isArray(Bn)){return false}return Bn.some((function(Bn){return Me.match(Bn)}))}function precompileString(Me,Bn){Bn=Bn||{};Bn.isString=true;var Hn=Bn.env||new oa([]);var zn=Bn.wrapper||ca;if(!Bn.name){throw new Error('the "name" option is required when compiling a string')}return zn([_precompile(Me,Bn.name,Hn)],Bn)}function precompile(Me,Bn){Bn=Bn||{};var Hn=Bn.env||new oa([]);var Ci=Bn.wrapper||ca;if(Bn.isString){return precompileString(Me,Bn)}var ts=zn.existsSync(Me)&&zn.statSync(Me);var Ps=[];var aa=[];function addTemplates(Hn){zn.readdirSync(Hn).forEach((function(Ci){var ts=ni.join(Hn,Ci);var Ps=ts.substr(ni.join(Me,"/").length);var oa=zn.statSync(ts);if(oa&&oa.isDirectory()){Ps+="/";if(!match(Ps,Bn.exclude)){addTemplates(ts)}}else if(match(Ps,Bn.include)){aa.push(ts)}}))}if(ts.isFile()){Ps.push(_precompile(zn.readFileSync(Me,"utf-8"),Bn.name||Me,Hn))}else if(ts.isDirectory()){addTemplates(Me);for(var _a=0;_a{"use strict";function _inheritsLoose(Me,Bn){Me.prototype=Object.create(Bn.prototype);Me.prototype.constructor=Me;_setPrototypeOf(Me,Bn)}function _setPrototypeOf(Me,Bn){_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(Me,Bn){Me.__proto__=Bn;return Me};return _setPrototypeOf(Me,Bn)}var zn=Hn(43391);var ni=function(Me){_inheritsLoose(PrecompiledLoader,Me);function PrecompiledLoader(Bn){var Hn;Hn=Me.call(this)||this;Hn.precompiled=Bn||{};return Hn}var Bn=PrecompiledLoader.prototype;Bn.getSource=function getSource(Me){if(this.precompiled[Me]){return{src:{type:"code",obj:this.precompiled[Me]},path:Me}}return null};return PrecompiledLoader}(zn);Me.exports={PrecompiledLoader:ni}},69846:(Me,Bn,Hn)=>{"use strict";var zn=Hn(97853);var ni=Array.from;var Ci=typeof Symbol==="function"&&Symbol.iterator&&typeof ni==="function";var ts=function(){function Frame(Me,Bn){this.variables=Object.create(null);this.parent=Me;this.topLevel=false;this.isolateWrites=Bn}var Me=Frame.prototype;Me.set=function set(Me,Bn,Hn){var zn=Me.split(".");var ni=this.variables;var Ci=this;if(Hn){if(Ci=this.resolve(zn[0],true)){Ci.set(Me,Bn);return}}for(var ts=0;tsMe.length){Ps=ni.slice(0,Me.length);ni.slice(Ps.length,ts).forEach((function(Me,Hn){if(Hn{"use strict";var zn=Hn(69846).SafeString;function callable(Me){return typeof Me==="function"}Bn.callable=callable;function defined(Me){return Me!==undefined}Bn.defined=defined;function divisibleby(Me,Bn){return Me%Bn===0}Bn.divisibleby=divisibleby;function escaped(Me){return Me instanceof zn}Bn.escaped=escaped;function equalto(Me,Bn){return Me===Bn}Bn.equalto=equalto;Bn.eq=Bn.equalto;Bn.sameas=Bn.equalto;function even(Me){return Me%2===0}Bn.even=even;function falsy(Me){return!Me}Bn.falsy=falsy;function ge(Me,Bn){return Me>=Bn}Bn.ge=ge;function greaterthan(Me,Bn){return Me>Bn}Bn.greaterthan=greaterthan;Bn.gt=Bn.greaterthan;function le(Me,Bn){return Me<=Bn}Bn.le=le;function lessthan(Me,Bn){return Me{"use strict";var zn=Hn(16151);var ni=Hn(97853);var Ci=0;function gensym(){return"hole_"+Ci++}function mapCOW(Me,Bn){var Hn=null;for(var zn=0;zn{var zn=typeof Map==="function"&&Map.prototype;var ni=Object.getOwnPropertyDescriptor&&zn?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null;var Ci=zn&&ni&&typeof ni.get==="function"?ni.get:null;var ts=zn&&Map.prototype.forEach;var Ps=typeof Set==="function"&&Set.prototype;var aa=Object.getOwnPropertyDescriptor&&Ps?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null;var oa=Ps&&aa&&typeof aa.get==="function"?aa.get:null;var ca=Ps&&Set.prototype.forEach;var _a=typeof WeakMap==="function"&&WeakMap.prototype;var xa=_a?WeakMap.prototype.has:null;var Ga=typeof WeakSet==="function"&&WeakSet.prototype;var Ha=Ga?WeakSet.prototype.has:null;var so=typeof WeakRef==="function"&&WeakRef.prototype;var oo=so?WeakRef.prototype.deref:null;var Jo=Boolean.prototype.valueOf;var tc=Object.prototype.toString;var dc=Function.prototype.toString;var Fc=String.prototype.match;var Jc=String.prototype.slice;var Dp=String.prototype.replace;var kp=String.prototype.toUpperCase;var Qp=String.prototype.toLowerCase;var Up=RegExp.prototype.test;var Vp=Array.prototype.concat;var qp=Array.prototype.join;var Jp=Array.prototype.slice;var Wp=Math.floor;var zp=typeof BigInt==="function"?BigInt.prototype.valueOf:null;var Qf=Object.getOwnPropertySymbols;var Yf=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?Symbol.prototype.toString:null;var Kf=typeof Symbol==="function"&&typeof Symbol.iterator==="object";var Xf=typeof Symbol==="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===Kf?"object":"symbol")?Symbol.toStringTag:null;var Ad=Object.prototype.propertyIsEnumerable;var Cd=(typeof Reflect==="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(Me){return Me.__proto__}:null);function addNumericSeparator(Me,Bn){if(Me===Infinity||Me===-Infinity||Me!==Me||Me&&Me>-1e3&&Me<1e3||Up.call(/e/,Bn)){return Bn}var Hn=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof Me==="number"){var zn=Me<0?-Wp(-Me):Wp(Me);if(zn!==Me){var ni=String(zn);var Ci=Jc.call(Bn,ni.length+1);return Dp.call(ni,Hn,"$&_")+"."+Dp.call(Dp.call(Ci,/([0-9]{3})/g,"$&_"),/_$/,"")}}return Dp.call(Bn,Hn,"$&_")}var wd=Hn(58502);var Sd=wd.custom;var xd=isSymbol(Sd)?Sd:null;var Td={__proto__:null,double:'"',single:"'"};var Pd={__proto__:null,double:/(["\\])/g,single:/(['\\])/g};Me.exports=function inspect_(Me,Bn,Hn,zn){var ni=Bn||{};if(has(ni,"quoteStyle")&&!has(Td,ni.quoteStyle)){throw new TypeError('option "quoteStyle" must be "single" or "double"')}if(has(ni,"maxStringLength")&&(typeof ni.maxStringLength==="number"?ni.maxStringLength<0&&ni.maxStringLength!==Infinity:ni.maxStringLength!==null)){throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`')}var Ps=has(ni,"customInspect")?ni.customInspect:true;if(typeof Ps!=="boolean"&&Ps!=="symbol"){throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`")}if(has(ni,"indent")&&ni.indent!==null&&ni.indent!=="\t"&&!(parseInt(ni.indent,10)===ni.indent&&ni.indent>0)){throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`')}if(has(ni,"numericSeparator")&&typeof ni.numericSeparator!=="boolean"){throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`')}var aa=ni.numericSeparator;if(typeof Me==="undefined"){return"undefined"}if(Me===null){return"null"}if(typeof Me==="boolean"){return Me?"true":"false"}if(typeof Me==="string"){return inspectString(Me,ni)}if(typeof Me==="number"){if(Me===0){return Infinity/Me>0?"0":"-0"}var _a=String(Me);return aa?addNumericSeparator(Me,_a):_a}if(typeof Me==="bigint"){var xa=String(Me)+"n";return aa?addNumericSeparator(Me,xa):xa}var Ga=typeof ni.depth==="undefined"?5:ni.depth;if(typeof Hn==="undefined"){Hn=0}if(Hn>=Ga&&Ga>0&&typeof Me==="object"){return isArray(Me)?"[Array]":"[Object]"}var Ha=getIndent(ni,Hn);if(typeof zn==="undefined"){zn=[]}else if(indexOf(zn,Me)>=0){return"[Circular]"}function inspect(Me,Bn,Ci){if(Bn){zn=Jp.call(zn);zn.push(Bn)}if(Ci){var ts={depth:ni.depth};if(has(ni,"quoteStyle")){ts.quoteStyle=ni.quoteStyle}return inspect_(Me,ts,Hn+1,zn)}return inspect_(Me,ni,Hn+1,zn)}if(typeof Me==="function"&&!isRegExp(Me)){var so=nameOf(Me);var oo=arrObjKeys(Me,inspect);return"[Function"+(so?": "+so:" (anonymous)")+"]"+(oo.length>0?" { "+qp.call(oo,", ")+" }":"")}if(isSymbol(Me)){var tc=Kf?Dp.call(String(Me),/^(Symbol\(.*\))_[^)]*$/,"$1"):Yf.call(Me);return typeof Me==="object"&&!Kf?markBoxed(tc):tc}if(isElement(Me)){var dc="<"+Qp.call(String(Me.nodeName));var Fc=Me.attributes||[];for(var kp=0;kp";return dc}if(isArray(Me)){if(Me.length===0){return"[]"}var Up=arrObjKeys(Me,inspect);if(Ha&&!singleLineValues(Up)){return"["+indentedJoin(Up,Ha)+"]"}return"[ "+qp.call(Up,", ")+" ]"}if(isError(Me)){var Wp=arrObjKeys(Me,inspect);if(!("cause"in Error.prototype)&&"cause"in Me&&!Ad.call(Me,"cause")){return"{ ["+String(Me)+"] "+qp.call(Vp.call("[cause]: "+inspect(Me.cause),Wp),", ")+" }"}if(Wp.length===0){return"["+String(Me)+"]"}return"{ ["+String(Me)+"] "+qp.call(Wp,", ")+" }"}if(typeof Me==="object"&&Ps){if(xd&&typeof Me[xd]==="function"&&wd){return wd(Me,{depth:Ga-Hn})}else if(Ps!=="symbol"&&typeof Me.inspect==="function"){return Me.inspect()}}if(isMap(Me)){var Qf=[];if(ts){ts.call(Me,(function(Bn,Hn){Qf.push(inspect(Hn,Me,true)+" => "+inspect(Bn,Me))}))}return collectionOf("Map",Ci.call(Me),Qf,Ha)}if(isSet(Me)){var Sd=[];if(ca){ca.call(Me,(function(Bn){Sd.push(inspect(Bn,Me))}))}return collectionOf("Set",oa.call(Me),Sd,Ha)}if(isWeakMap(Me)){return weakCollectionOf("WeakMap")}if(isWeakSet(Me)){return weakCollectionOf("WeakSet")}if(isWeakRef(Me)){return weakCollectionOf("WeakRef")}if(isNumber(Me)){return markBoxed(inspect(Number(Me)))}if(isBigInt(Me)){return markBoxed(inspect(zp.call(Me)))}if(isBoolean(Me)){return markBoxed(Jo.call(Me))}if(isString(Me)){return markBoxed(inspect(String(Me)))}if(typeof window!=="undefined"&&Me===window){return"{ [object Window] }"}if(typeof globalThis!=="undefined"&&Me===globalThis||typeof global!=="undefined"&&Me===global){return"{ [object globalThis] }"}if(!isDate(Me)&&!isRegExp(Me)){var Pd=arrObjKeys(Me,inspect);var Qh=Cd?Cd(Me)===Object.prototype:Me instanceof Object||Me.constructor===Object;var Zh=Me instanceof Object?"":"null prototype";var sA=!Qh&&Xf&&Object(Me)===Me&&Xf in Me?Jc.call(toStr(Me),8,-1):Zh?"Object":"";var oA=Qh||typeof Me.constructor!=="function"?"":Me.constructor.name?Me.constructor.name+" ":"";var hA=oA+(sA||Zh?"["+qp.call(Vp.call([],sA||[],Zh||[]),": ")+"] ":"");if(Pd.length===0){return hA+"{}"}if(Ha){return hA+"{"+indentedJoin(Pd,Ha)+"}"}return hA+"{ "+qp.call(Pd,", ")+" }"}return String(Me)};function wrapQuotes(Me,Bn,Hn){var zn=Hn.quoteStyle||Bn;var ni=Td[zn];return ni+Me+ni}function quote(Me){return Dp.call(String(Me),/"/g,""")}function isArray(Me){return toStr(Me)==="[object Array]"&&(!Xf||!(typeof Me==="object"&&Xf in Me))}function isDate(Me){return toStr(Me)==="[object Date]"&&(!Xf||!(typeof Me==="object"&&Xf in Me))}function isRegExp(Me){return toStr(Me)==="[object RegExp]"&&(!Xf||!(typeof Me==="object"&&Xf in Me))}function isError(Me){return toStr(Me)==="[object Error]"&&(!Xf||!(typeof Me==="object"&&Xf in Me))}function isString(Me){return toStr(Me)==="[object String]"&&(!Xf||!(typeof Me==="object"&&Xf in Me))}function isNumber(Me){return toStr(Me)==="[object Number]"&&(!Xf||!(typeof Me==="object"&&Xf in Me))}function isBoolean(Me){return toStr(Me)==="[object Boolean]"&&(!Xf||!(typeof Me==="object"&&Xf in Me))}function isSymbol(Me){if(Kf){return Me&&typeof Me==="object"&&Me instanceof Symbol}if(typeof Me==="symbol"){return true}if(!Me||typeof Me!=="object"||!Yf){return false}try{Yf.call(Me);return true}catch(Me){}return false}function isBigInt(Me){if(!Me||typeof Me!=="object"||!zp){return false}try{zp.call(Me);return true}catch(Me){}return false}var Qh=Object.prototype.hasOwnProperty||function(Me){return Me in this};function has(Me,Bn){return Qh.call(Me,Bn)}function toStr(Me){return tc.call(Me)}function nameOf(Me){if(Me.name){return Me.name}var Bn=Fc.call(dc.call(Me),/^function\s*([\w$]+)/);if(Bn){return Bn[1]}return null}function indexOf(Me,Bn){if(Me.indexOf){return Me.indexOf(Bn)}for(var Hn=0,zn=Me.length;HnBn.maxStringLength){var Hn=Me.length-Bn.maxStringLength;var zn="... "+Hn+" more character"+(Hn>1?"s":"");return inspectString(Jc.call(Me,0,Bn.maxStringLength),Bn)+zn}var ni=Pd[Bn.quoteStyle||"single"];ni.lastIndex=0;var Ci=Dp.call(Dp.call(Me,ni,"\\$1"),/[\x00-\x1f]/g,lowbyte);return wrapQuotes(Ci,"single",Bn)}function lowbyte(Me){var Bn=Me.charCodeAt(0);var Hn={8:"b",9:"t",10:"n",12:"f",13:"r"}[Bn];if(Hn){return"\\"+Hn}return"\\x"+(Bn<16?"0":"")+kp.call(Bn.toString(16))}function markBoxed(Me){return"Object("+Me+")"}function weakCollectionOf(Me){return Me+" { ? }"}function collectionOf(Me,Bn,Hn,zn){var ni=zn?indentedJoin(Hn,zn):qp.call(Hn,", ");return Me+" ("+Bn+") {"+ni+"}"}function singleLineValues(Me){for(var Bn=0;Bn=0){return false}}return true}function getIndent(Me,Bn){var Hn;if(Me.indent==="\t"){Hn="\t"}else if(typeof Me.indent==="number"&&Me.indent>0){Hn=qp.call(Array(Me.indent+1)," ")}else{return null}return{base:Hn,prev:qp.call(Array(Bn+1),Hn)}}function indentedJoin(Me,Bn){if(Me.length===0){return""}var Hn="\n"+Bn.prev+Bn.base;return Hn+qp.call(Me,","+Hn)+"\n"+Bn.prev}function arrObjKeys(Me,Bn){var Hn=isArray(Me);var zn=[];if(Hn){zn.length=Me.length;for(var ni=0;ni{Me.exports=Hn(39023).inspect},55560:(Me,Bn,Hn)=>{var zn=Hn(58264);Me.exports=zn(once);Me.exports.strict=zn(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(Me){var f=function(){if(f.called)return f.value;f.called=true;return f.value=Me.apply(this,arguments)};f.called=false;return f}function onceStrict(Me){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=Me.apply(this,arguments)};var Bn=Me.name||"Function wrapped with `once`";f.onceError=Bn+" shouldn't be called more than once";f.called=false;return f}},82673:Me=>{"use strict";function _typeof(Me){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(Me){return typeof Me}:function(Me){return Me&&"function"==typeof Symbol&&Me.constructor===Symbol&&Me!==Symbol.prototype?"symbol":typeof Me},_typeof(Me)}function _createForOfIteratorHelper(Me,Bn){var Hn=typeof Symbol!=="undefined"&&Me[Symbol.iterator]||Me["@@iterator"];if(!Hn){if(Array.isArray(Me)||(Hn=_unsupportedIterableToArray(Me))||Bn&&Me&&typeof Me.length==="number"){if(Hn)Me=Hn;var zn=0;var ni=function F(){};return{s:ni,n:function n(){if(zn>=Me.length)return{done:true};return{done:false,value:Me[zn++]}},e:function e(Me){throw Me},f:ni}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var Ci=true,ts=false,Ps;return{s:function s(){Hn=Hn.call(Me)},n:function n(){var Me=Hn.next();Ci=Me.done;return Me},e:function e(Me){ts=true;Ps=Me},f:function f(){try{if(!Ci&&Hn["return"]!=null)Hn["return"]()}finally{if(ts)throw Ps}}}}function _defineProperty(Me,Bn,Hn){Bn=_toPropertyKey(Bn);if(Bn in Me){Object.defineProperty(Me,Bn,{value:Hn,enumerable:true,configurable:true,writable:true})}else{Me[Bn]=Hn}return Me}function _toPropertyKey(Me){var Bn=_toPrimitive(Me,"string");return _typeof(Bn)==="symbol"?Bn:String(Bn)}function _toPrimitive(Me,Bn){if(_typeof(Me)!=="object"||Me===null)return Me;var Hn=Me[Symbol.toPrimitive];if(Hn!==undefined){var zn=Hn.call(Me,Bn||"default");if(_typeof(zn)!=="object")return zn;throw new TypeError("@@toPrimitive must return a primitive value.")}return(Bn==="string"?String:Number)(Me)}function _slicedToArray(Me,Bn){return _arrayWithHoles(Me)||_iterableToArrayLimit(Me,Bn)||_unsupportedIterableToArray(Me,Bn)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(Me,Bn){if(!Me)return;if(typeof Me==="string")return _arrayLikeToArray(Me,Bn);var Hn=Object.prototype.toString.call(Me).slice(8,-1);if(Hn==="Object"&&Me.constructor)Hn=Me.constructor.name;if(Hn==="Map"||Hn==="Set")return Array.from(Me);if(Hn==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Hn))return _arrayLikeToArray(Me,Bn)}function _arrayLikeToArray(Me,Bn){if(Bn==null||Bn>Me.length)Bn=Me.length;for(var Hn=0,zn=new Array(Bn);Hn{"use strict";Me.exports=Hn(73505)},30742:Me=>{"use strict";const Bn="\\\\/";const Hn=`[^${Bn}]`;const zn="\\.";const ni="\\+";const Ci="\\?";const ts="\\/";const Ps="(?=.)";const aa="[^/]";const oa=`(?:${ts}|$)`;const ca=`(?:^|${ts})`;const _a=`${zn}{1,2}${oa}`;const xa=`(?!${zn})`;const Ga=`(?!${ca}${_a})`;const Ha=`(?!${zn}{0,1}${oa})`;const so=`(?!${_a})`;const oo=`[^.${ts}]`;const Jo=`${aa}*?`;const tc="/";const dc={DOT_LITERAL:zn,PLUS_LITERAL:ni,QMARK_LITERAL:Ci,SLASH_LITERAL:ts,ONE_CHAR:Ps,QMARK:aa,END_ANCHOR:oa,DOTS_SLASH:_a,NO_DOT:xa,NO_DOTS:Ga,NO_DOT_SLASH:Ha,NO_DOTS_SLASH:so,QMARK_NO_DOT:oo,STAR:Jo,START_ANCHOR:ca,SEP:tc};const Fc={...dc,SLASH_LITERAL:`[${Bn}]`,QMARK:Hn,STAR:`${Hn}*?`,DOTS_SLASH:`${zn}{1,2}(?:[${Bn}]|$)`,NO_DOT:`(?!${zn})`,NO_DOTS:`(?!(?:^|[${Bn}])${zn}{1,2}(?:[${Bn}]|$))`,NO_DOT_SLASH:`(?!${zn}{0,1}(?:[${Bn}]|$))`,NO_DOTS_SLASH:`(?!${zn}{1,2}(?:[${Bn}]|$))`,QMARK_NO_DOT:`[^.${Bn}]`,START_ANCHOR:`(?:^|[${Bn}])`,END_ANCHOR:`(?:[${Bn}]|$)`,SEP:"\\"};const Jc={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};Me.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:Jc,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars(Me){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${Me.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(Me){return Me===true?Fc:dc}}},31276:(Me,Bn,Hn)=>{"use strict";const zn=Hn(30742);const ni=Hn(32430);const{MAX_LENGTH:Ci,POSIX_REGEX_SOURCE:ts,REGEX_NON_SPECIAL_CHARS:Ps,REGEX_SPECIAL_CHARS_BACKREF:aa,REPLACEMENTS:oa}=zn;const expandRange=(Me,Bn)=>{if(typeof Bn.expandRange==="function"){return Bn.expandRange(...Me,Bn)}Me.sort();const Hn=`[${Me.join("-")}]`;try{new RegExp(Hn)}catch(Bn){return Me.map((Me=>ni.escapeRegex(Me))).join("..")}return Hn};const syntaxError=(Me,Bn)=>`Missing ${Me}: "${Bn}" - use "\\\\${Bn}" to match literal characters`;const parse=(Me,Bn)=>{if(typeof Me!=="string"){throw new TypeError("Expected a string")}Me=oa[Me]||Me;const Hn={...Bn};const ca=typeof Hn.maxLength==="number"?Math.min(Ci,Hn.maxLength):Ci;let _a=Me.length;if(_a>ca){throw new SyntaxError(`Input length: ${_a}, exceeds maximum allowed length: ${ca}`)}const xa={type:"bos",value:"",output:Hn.prepend||""};const Ga=[xa];const Ha=Hn.capture?"":"?:";const so=zn.globChars(Hn.windows);const oo=zn.extglobChars(so);const{DOT_LITERAL:Jo,PLUS_LITERAL:tc,SLASH_LITERAL:dc,ONE_CHAR:Fc,DOTS_SLASH:Jc,NO_DOT:Dp,NO_DOT_SLASH:kp,NO_DOTS_SLASH:Qp,QMARK:Up,QMARK_NO_DOT:Vp,STAR:qp,START_ANCHOR:Jp}=so;const globstar=Me=>`(${Ha}(?:(?!${Jp}${Me.dot?Jc:Jo}).)*?)`;const Wp=Hn.dot?"":Dp;const zp=Hn.dot?Up:Vp;let Qf=Hn.bash===true?globstar(Hn):qp;if(Hn.capture){Qf=`(${Qf})`}if(typeof Hn.noext==="boolean"){Hn.noextglob=Hn.noext}const Yf={input:Me,index:-1,start:0,dot:Hn.dot===true,consumed:"",output:"",prefix:"",backtrack:false,negated:false,brackets:0,braces:0,parens:0,quotes:0,globstar:false,tokens:Ga};Me=ni.removePrefix(Me,Yf);_a=Me.length;const Kf=[];const Xf=[];const Ad=[];let Cd=xa;let wd;const eos=()=>Yf.index===_a-1;const Sd=Yf.peek=(Bn=1)=>Me[Yf.index+Bn];const xd=Yf.advance=()=>Me[++Yf.index];const remaining=()=>Me.slice(Yf.index+1);const consume=(Me="",Bn=0)=>{Yf.consumed+=Me;Yf.index+=Bn};const append=Me=>{Yf.output+=Me.output!=null?Me.output:Me.value;consume(Me.value)};const negate=()=>{let Me=1;while(Sd()==="!"&&(Sd(2)!=="("||Sd(3)==="?")){xd();Yf.start++;Me++}if(Me%2===0){return false}Yf.negated=true;Yf.start++;return true};const increment=Me=>{Yf[Me]++;Ad.push(Me)};const decrement=Me=>{Yf[Me]--;Ad.pop()};const push=Me=>{if(Cd.type==="globstar"){const Bn=Yf.braces>0&&(Me.type==="comma"||Me.type==="brace");const Hn=Me.extglob===true||Kf.length&&(Me.type==="pipe"||Me.type==="paren");if(Me.type!=="slash"&&Me.type!=="paren"&&!Bn&&!Hn){Yf.output=Yf.output.slice(0,-Cd.output.length);Cd.type="star";Cd.value="*";Cd.output=Qf;Yf.output+=Cd.output}}if(Kf.length&&Me.type!=="paren"&&!oo[Me.value]){Kf[Kf.length-1].inner+=Me.value}if(Me.value||Me.output)append(Me);if(Cd&&Cd.type==="text"&&Me.type==="text"){Cd.value+=Me.value;Cd.output=(Cd.output||"")+Me.value;return}Me.prev=Cd;Ga.push(Me);Cd=Me};const extglobOpen=(Me,Bn)=>{const zn={...oo[Bn],conditions:1,inner:""};zn.prev=Cd;zn.parens=Yf.parens;zn.output=Yf.output;const ni=(Hn.capture?"(":"")+zn.open;increment("parens");push({type:Me,value:Bn,output:Yf.output?"":Fc});push({type:"paren",extglob:true,value:xd(),output:ni});Kf.push(zn)};const extglobClose=Me=>{let Bn=Me.close+(Hn.capture?")":"");if(Me.type==="negate"){let zn=Qf;if(Me.inner&&Me.inner.length>1&&Me.inner.includes("/")){zn=globstar(Hn)}if(zn!==Qf||eos()||/^\)+$/.test(remaining())){Bn=Me.close=`)$))${zn}`}if(Me.prev.type==="bos"&&eos()){Yf.negatedExtglob=true}}push({type:"paren",extglob:true,value:wd,output:Bn});decrement("parens")};if(Hn.fastpaths!==false&&!/(^[*!]|[/()[\]{}"])/.test(Me)){let zn=false;let Ci=Me.replace(aa,((Me,Bn,Hn,ni,Ci,ts)=>{if(ni==="\\"){zn=true;return Me}if(ni==="?"){if(Bn){return Bn+ni+(Ci?Up.repeat(Ci.length):"")}if(ts===0){return zp+(Ci?Up.repeat(Ci.length):"")}return Up.repeat(Hn.length)}if(ni==="."){return Jo.repeat(Hn.length)}if(ni==="*"){if(Bn){return Bn+ni+(Ci?Qf:"")}return Qf}return Bn?Me:`\\${Me}`}));if(zn===true){if(Hn.unescape===true){Ci=Ci.replace(/\\/g,"")}else{Ci=Ci.replace(/\\+/g,(Me=>Me.length%2===0?"\\\\":Me?"\\":""))}}if(Ci===Me&&Hn.contains===true){Yf.output=Me;return Yf}Yf.output=ni.wrapOutput(Ci,Yf,Bn);return Yf}while(!eos()){wd=xd();if(wd==="\0"){continue}if(wd==="\\"){const Me=Sd();if(Me==="/"&&Hn.bash!==true){continue}if(Me==="."||Me===";"){continue}if(!Me){wd+="\\";push({type:"text",value:wd});continue}const Bn=/^\\+/.exec(remaining());let zn=0;if(Bn&&Bn[0].length>2){zn=Bn[0].length;Yf.index+=zn;if(zn%2!==0){wd+="\\"}}if(Hn.unescape===true){wd=xd()||""}else{wd+=xd()||""}if(Yf.brackets===0){push({type:"text",value:wd});continue}}if(Yf.brackets>0&&(wd!=="]"||Cd.value==="["||Cd.value==="[^")){if(Hn.posix!==false&&wd===":"){const Me=Cd.value.slice(1);if(Me.includes("[")){Cd.posix=true;if(Me.includes(":")){const Me=Cd.value.lastIndexOf("[");const Bn=Cd.value.slice(0,Me);const Hn=Cd.value.slice(Me+2);const zn=ts[Hn];if(zn){Cd.value=Bn+zn;Yf.backtrack=true;xd();if(!xa.output&&Ga.indexOf(Cd)===1){xa.output=Fc}continue}}}}if(wd==="["&&Sd()!==":"||wd==="-"&&Sd()==="]"){wd=`\\${wd}`}if(wd==="]"&&(Cd.value==="["||Cd.value==="[^")){wd=`\\${wd}`}if(Hn.posix===true&&wd==="!"&&Cd.value==="["){wd="^"}Cd.value+=wd;append({value:wd});continue}if(Yf.quotes===1&&wd!=='"'){wd=ni.escapeRegex(wd);Cd.value+=wd;append({value:wd});continue}if(wd==='"'){Yf.quotes=Yf.quotes===1?0:1;if(Hn.keepQuotes===true){push({type:"text",value:wd})}continue}if(wd==="("){increment("parens");push({type:"paren",value:wd});continue}if(wd===")"){if(Yf.parens===0&&Hn.strictBrackets===true){throw new SyntaxError(syntaxError("opening","("))}const Me=Kf[Kf.length-1];if(Me&&Yf.parens===Me.parens+1){extglobClose(Kf.pop());continue}push({type:"paren",value:wd,output:Yf.parens?")":"\\)"});decrement("parens");continue}if(wd==="["){if(Hn.nobracket===true||!remaining().includes("]")){if(Hn.nobracket!==true&&Hn.strictBrackets===true){throw new SyntaxError(syntaxError("closing","]"))}wd=`\\${wd}`}else{increment("brackets")}push({type:"bracket",value:wd});continue}if(wd==="]"){if(Hn.nobracket===true||Cd&&Cd.type==="bracket"&&Cd.value.length===1){push({type:"text",value:wd,output:`\\${wd}`});continue}if(Yf.brackets===0){if(Hn.strictBrackets===true){throw new SyntaxError(syntaxError("opening","["))}push({type:"text",value:wd,output:`\\${wd}`});continue}decrement("brackets");const Me=Cd.value.slice(1);if(Cd.posix!==true&&Me[0]==="^"&&!Me.includes("/")){wd=`/${wd}`}Cd.value+=wd;append({value:wd});if(Hn.literalBrackets===false||ni.hasRegexChars(Me)){continue}const Bn=ni.escapeRegex(Cd.value);Yf.output=Yf.output.slice(0,-Cd.value.length);if(Hn.literalBrackets===true){Yf.output+=Bn;Cd.value=Bn;continue}Cd.value=`(${Ha}${Bn}|${Cd.value})`;Yf.output+=Cd.value;continue}if(wd==="{"&&Hn.nobrace!==true){increment("braces");const Me={type:"brace",value:wd,output:"(",outputIndex:Yf.output.length,tokensIndex:Yf.tokens.length};Xf.push(Me);push(Me);continue}if(wd==="}"){const Me=Xf[Xf.length-1];if(Hn.nobrace===true||!Me){push({type:"text",value:wd,output:wd});continue}let Bn=")";if(Me.dots===true){const Me=Ga.slice();const zn=[];for(let Bn=Me.length-1;Bn>=0;Bn--){Ga.pop();if(Me[Bn].type==="brace"){break}if(Me[Bn].type!=="dots"){zn.unshift(Me[Bn].value)}}Bn=expandRange(zn,Hn);Yf.backtrack=true}if(Me.comma!==true&&Me.dots!==true){const Hn=Yf.output.slice(0,Me.outputIndex);const zn=Yf.tokens.slice(Me.tokensIndex);Me.value=Me.output="\\{";wd=Bn="\\}";Yf.output=Hn;for(const Me of zn){Yf.output+=Me.output||Me.value}}push({type:"brace",value:wd,output:Bn});decrement("braces");Xf.pop();continue}if(wd==="|"){if(Kf.length>0){Kf[Kf.length-1].conditions++}push({type:"text",value:wd});continue}if(wd===","){let Me=wd;const Bn=Xf[Xf.length-1];if(Bn&&Ad[Ad.length-1]==="braces"){Bn.comma=true;Me="|"}push({type:"comma",value:wd,output:Me});continue}if(wd==="/"){if(Cd.type==="dot"&&Yf.index===Yf.start+1){Yf.start=Yf.index+1;Yf.consumed="";Yf.output="";Ga.pop();Cd=xa;continue}push({type:"slash",value:wd,output:dc});continue}if(wd==="."){if(Yf.braces>0&&Cd.type==="dot"){if(Cd.value===".")Cd.output=Jo;const Me=Xf[Xf.length-1];Cd.type="dots";Cd.output+=wd;Cd.value+=wd;Me.dots=true;continue}if(Yf.braces+Yf.parens===0&&Cd.type!=="bos"&&Cd.type!=="slash"){push({type:"text",value:wd,output:Jo});continue}push({type:"dot",value:wd,output:Jo});continue}if(wd==="?"){const Me=Cd&&Cd.value==="(";if(!Me&&Hn.noextglob!==true&&Sd()==="("&&Sd(2)!=="?"){extglobOpen("qmark",wd);continue}if(Cd&&Cd.type==="paren"){const Me=Sd();let Bn=wd;if(Me==="<"&&!ni.supportsLookbehinds()){throw new Error("Node.js v10 or higher is required for regex lookbehinds")}if(Cd.value==="("&&!/[!=<:]/.test(Me)||Me==="<"&&!/<([!=]|\w+>)/.test(remaining())){Bn=`\\${wd}`}push({type:"text",value:wd,output:Bn});continue}if(Hn.dot!==true&&(Cd.type==="slash"||Cd.type==="bos")){push({type:"qmark",value:wd,output:Vp});continue}push({type:"qmark",value:wd,output:Up});continue}if(wd==="!"){if(Hn.noextglob!==true&&Sd()==="("){if(Sd(2)!=="?"||!/[!=<:]/.test(Sd(3))){extglobOpen("negate",wd);continue}}if(Hn.nonegate!==true&&Yf.index===0){negate();continue}}if(wd==="+"){if(Hn.noextglob!==true&&Sd()==="("&&Sd(2)!=="?"){extglobOpen("plus",wd);continue}if(Cd&&Cd.value==="("||Hn.regex===false){push({type:"plus",value:wd,output:tc});continue}if(Cd&&(Cd.type==="bracket"||Cd.type==="paren"||Cd.type==="brace")||Yf.parens>0){push({type:"plus",value:wd});continue}push({type:"plus",value:tc});continue}if(wd==="@"){if(Hn.noextglob!==true&&Sd()==="("&&Sd(2)!=="?"){push({type:"at",extglob:true,value:wd,output:""});continue}push({type:"text",value:wd});continue}if(wd!=="*"){if(wd==="$"||wd==="^"){wd=`\\${wd}`}const Me=Ps.exec(remaining());if(Me){wd+=Me[0];Yf.index+=Me[0].length}push({type:"text",value:wd});continue}if(Cd&&(Cd.type==="globstar"||Cd.star===true)){Cd.type="star";Cd.star=true;Cd.value+=wd;Cd.output=Qf;Yf.backtrack=true;Yf.globstar=true;consume(wd);continue}let Bn=remaining();if(Hn.noextglob!==true&&/^\([^?]/.test(Bn)){extglobOpen("star",wd);continue}if(Cd.type==="star"){if(Hn.noglobstar===true){consume(wd);continue}const zn=Cd.prev;const ni=zn.prev;const Ci=zn.type==="slash"||zn.type==="bos";const ts=ni&&(ni.type==="star"||ni.type==="globstar");if(Hn.bash===true&&(!Ci||Bn[0]&&Bn[0]!=="/")){push({type:"star",value:wd,output:""});continue}const Ps=Yf.braces>0&&(zn.type==="comma"||zn.type==="brace");const aa=Kf.length&&(zn.type==="pipe"||zn.type==="paren");if(!Ci&&zn.type!=="paren"&&!Ps&&!aa){push({type:"star",value:wd,output:""});continue}while(Bn.slice(0,3)==="/**"){const Hn=Me[Yf.index+4];if(Hn&&Hn!=="/"){break}Bn=Bn.slice(3);consume("/**",3)}if(zn.type==="bos"&&eos()){Cd.type="globstar";Cd.value+=wd;Cd.output=globstar(Hn);Yf.output=Cd.output;Yf.globstar=true;consume(wd);continue}if(zn.type==="slash"&&zn.prev.type!=="bos"&&!ts&&eos()){Yf.output=Yf.output.slice(0,-(zn.output+Cd.output).length);zn.output=`(?:${zn.output}`;Cd.type="globstar";Cd.output=globstar(Hn)+(Hn.strictSlashes?")":"|$)");Cd.value+=wd;Yf.globstar=true;Yf.output+=zn.output+Cd.output;consume(wd);continue}if(zn.type==="slash"&&zn.prev.type!=="bos"&&Bn[0]==="/"){const Me=Bn[1]!==void 0?"|$":"";Yf.output=Yf.output.slice(0,-(zn.output+Cd.output).length);zn.output=`(?:${zn.output}`;Cd.type="globstar";Cd.output=`${globstar(Hn)}${dc}|${dc}${Me})`;Cd.value+=wd;Yf.output+=zn.output+Cd.output;Yf.globstar=true;consume(wd+xd());push({type:"slash",value:"/",output:""});continue}if(zn.type==="bos"&&Bn[0]==="/"){Cd.type="globstar";Cd.value+=wd;Cd.output=`(?:^|${dc}|${globstar(Hn)}${dc})`;Yf.output=Cd.output;Yf.globstar=true;consume(wd+xd());push({type:"slash",value:"/",output:""});continue}Yf.output=Yf.output.slice(0,-Cd.output.length);Cd.type="globstar";Cd.output=globstar(Hn);Cd.value+=wd;Yf.output+=Cd.output;Yf.globstar=true;consume(wd);continue}const zn={type:"star",value:wd,output:Qf};if(Hn.bash===true){zn.output=".*?";if(Cd.type==="bos"||Cd.type==="slash"){zn.output=Wp+zn.output}push(zn);continue}if(Cd&&(Cd.type==="bracket"||Cd.type==="paren")&&Hn.regex===true){zn.output=wd;push(zn);continue}if(Yf.index===Yf.start||Cd.type==="slash"||Cd.type==="dot"){if(Cd.type==="dot"){Yf.output+=kp;Cd.output+=kp}else if(Hn.dot===true){Yf.output+=Qp;Cd.output+=Qp}else{Yf.output+=Wp;Cd.output+=Wp}if(Sd()!=="*"){Yf.output+=Fc;Cd.output+=Fc}}push(zn)}while(Yf.brackets>0){if(Hn.strictBrackets===true)throw new SyntaxError(syntaxError("closing","]"));Yf.output=ni.escapeLast(Yf.output,"[");decrement("brackets")}while(Yf.parens>0){if(Hn.strictBrackets===true)throw new SyntaxError(syntaxError("closing",")"));Yf.output=ni.escapeLast(Yf.output,"(");decrement("parens")}while(Yf.braces>0){if(Hn.strictBrackets===true)throw new SyntaxError(syntaxError("closing","}"));Yf.output=ni.escapeLast(Yf.output,"{");decrement("braces")}if(Hn.strictSlashes!==true&&(Cd.type==="star"||Cd.type==="bracket")){push({type:"maybe_slash",value:"",output:`${dc}?`})}if(Yf.backtrack===true){Yf.output="";for(const Me of Yf.tokens){Yf.output+=Me.output!=null?Me.output:Me.value;if(Me.suffix){Yf.output+=Me.suffix}}}return Yf};parse.fastpaths=(Me,Bn)=>{const Hn={...Bn};const ts=typeof Hn.maxLength==="number"?Math.min(Ci,Hn.maxLength):Ci;const Ps=Me.length;if(Ps>ts){throw new SyntaxError(`Input length: ${Ps}, exceeds maximum allowed length: ${ts}`)}Me=oa[Me]||Me;const{DOT_LITERAL:aa,SLASH_LITERAL:ca,ONE_CHAR:_a,DOTS_SLASH:xa,NO_DOT:Ga,NO_DOTS:Ha,NO_DOTS_SLASH:so,STAR:oo,START_ANCHOR:Jo}=zn.globChars(Hn.windows);const tc=Hn.dot?Ha:Ga;const dc=Hn.dot?so:Ga;const Fc=Hn.capture?"":"?:";const Jc={negated:false,prefix:""};let Dp=Hn.bash===true?".*?":oo;if(Hn.capture){Dp=`(${Dp})`}const globstar=Me=>{if(Me.noglobstar===true)return Dp;return`(${Fc}(?:(?!${Jo}${Me.dot?xa:aa}).)*?)`};const create=Me=>{switch(Me){case"*":return`${tc}${_a}${Dp}`;case".*":return`${aa}${_a}${Dp}`;case"*.*":return`${tc}${Dp}${aa}${_a}${Dp}`;case"*/*":return`${tc}${Dp}${ca}${_a}${dc}${Dp}`;case"**":return tc+globstar(Hn);case"**/*":return`(?:${tc}${globstar(Hn)}${ca})?${dc}${_a}${Dp}`;case"**/*.*":return`(?:${tc}${globstar(Hn)}${ca})?${dc}${Dp}${aa}${_a}${Dp}`;case"**/.*":return`(?:${tc}${globstar(Hn)}${ca})?${aa}${_a}${Dp}`;default:{const Bn=/^(.*?)\.(\w+)$/.exec(Me);if(!Bn)return;const Hn=create(Bn[1]);if(!Hn)return;return Hn+aa+Bn[2]}}};const kp=ni.removePrefix(Me,Jc);let Qp=create(kp);if(Qp&&Hn.strictSlashes!==true){Qp+=`${ca}?`}return Qp};Me.exports=parse},73505:(Me,Bn,Hn)=>{"use strict";const zn=Hn(19818);const ni=Hn(31276);const Ci=Hn(32430);const ts=Hn(30742);const isObject=Me=>Me&&typeof Me==="object"&&!Array.isArray(Me);const picomatch=(Me,Bn,Hn=false)=>{if(Array.isArray(Me)){const zn=Me.map((Me=>picomatch(Me,Bn,Hn)));const arrayMatcher=Me=>{for(const Bn of zn){const Hn=Bn(Me);if(Hn)return Hn}return false};return arrayMatcher}const zn=isObject(Me)&&Me.tokens&&Me.input;if(Me===""||typeof Me!=="string"&&!zn){throw new TypeError("Expected pattern to be a non-empty string")}const ni=Bn||{};const Ci=ni.windows;const ts=zn?picomatch.compileRe(Me,Bn):picomatch.makeRe(Me,Bn,false,true);const Ps=ts.state;delete ts.state;let isIgnored=()=>false;if(ni.ignore){const Me={...Bn,ignore:null,onMatch:null,onResult:null};isIgnored=picomatch(ni.ignore,Me,Hn)}const matcher=(Hn,zn=false)=>{const{isMatch:aa,match:oa,output:ca}=picomatch.test(Hn,ts,Bn,{glob:Me,posix:Ci});const _a={glob:Me,state:Ps,regex:ts,posix:Ci,input:Hn,output:ca,match:oa,isMatch:aa};if(typeof ni.onResult==="function"){ni.onResult(_a)}if(aa===false){_a.isMatch=false;return zn?_a:false}if(isIgnored(Hn)){if(typeof ni.onIgnore==="function"){ni.onIgnore(_a)}_a.isMatch=false;return zn?_a:false}if(typeof ni.onMatch==="function"){ni.onMatch(_a)}return zn?_a:true};if(Hn){matcher.state=Ps}return matcher};picomatch.test=(Me,Bn,Hn,{glob:zn,posix:ni}={})=>{if(typeof Me!=="string"){throw new TypeError("Expected input to be a string")}if(Me===""){return{isMatch:false,output:""}}const ts=Hn||{};const Ps=ts.format||(ni?Ci.toPosixSlashes:null);let aa=Me===zn;let oa=aa&&Ps?Ps(Me):Me;if(aa===false){oa=Ps?Ps(Me):Me;aa=oa===zn}if(aa===false||ts.capture===true){if(ts.matchBase===true||ts.basename===true){aa=picomatch.matchBase(Me,Bn,Hn,ni)}else{aa=Bn.exec(oa)}}return{isMatch:Boolean(aa),match:aa,output:oa}};picomatch.matchBase=(Me,Bn,Hn)=>{const zn=Bn instanceof RegExp?Bn:picomatch.makeRe(Bn,Hn);return zn.test(Ci.basename(Me))};picomatch.isMatch=(Me,Bn,Hn)=>picomatch(Bn,Hn)(Me);picomatch.parse=(Me,Bn)=>{if(Array.isArray(Me))return Me.map((Me=>picomatch.parse(Me,Bn)));return ni(Me,{...Bn,fastpaths:false})};picomatch.scan=(Me,Bn)=>zn(Me,Bn);picomatch.compileRe=(Me,Bn,Hn=false,zn=false)=>{if(Hn===true){return Me.output}const ni=Bn||{};const Ci=ni.contains?"":"^";const ts=ni.contains?"":"$";let Ps=`${Ci}(?:${Me.output})${ts}`;if(Me&&Me.negated===true){Ps=`^(?!${Ps}).*$`}const aa=picomatch.toRegex(Ps,Bn);if(zn===true){aa.state=Me}return aa};picomatch.makeRe=(Me,Bn,Hn=false,zn=false)=>{if(!Me||typeof Me!=="string"){throw new TypeError("Expected a non-empty string")}const Ci=Bn||{};let ts={negated:false,fastpaths:true};let Ps="";let aa;if(Me.startsWith("./")){Me=Me.slice(2);Ps=ts.prefix="./"}if(Ci.fastpaths!==false&&(Me[0]==="."||Me[0]==="*")){aa=ni.fastpaths(Me,Bn)}if(aa===undefined){ts=ni(Me,Bn);ts.prefix=Ps+(ts.prefix||"")}else{ts.output=aa}return picomatch.compileRe(ts,Bn,Hn,zn)};picomatch.toRegex=(Me,Bn)=>{try{const Hn=Bn||{};return new RegExp(Me,Hn.flags||(Hn.nocase?"i":""))}catch(Me){if(Bn&&Bn.debug===true)throw Me;return/$^/}};picomatch.constants=ts;Me.exports=picomatch},19818:(Me,Bn,Hn)=>{"use strict";const zn=Hn(32430);const{CHAR_ASTERISK:ni,CHAR_AT:Ci,CHAR_BACKWARD_SLASH:ts,CHAR_COMMA:Ps,CHAR_DOT:aa,CHAR_EXCLAMATION_MARK:oa,CHAR_FORWARD_SLASH:ca,CHAR_LEFT_CURLY_BRACE:_a,CHAR_LEFT_PARENTHESES:xa,CHAR_LEFT_SQUARE_BRACKET:Ga,CHAR_PLUS:Ha,CHAR_QUESTION_MARK:so,CHAR_RIGHT_CURLY_BRACE:oo,CHAR_RIGHT_PARENTHESES:Jo,CHAR_RIGHT_SQUARE_BRACKET:tc}=Hn(30742);const isPathSeparator=Me=>Me===ca||Me===ts;const depth=Me=>{if(Me.isPrefix!==true){Me.depth=Me.isGlobstar?Infinity:1}};const scan=(Me,Bn)=>{const Hn=Bn||{};const dc=Me.length-1;const Fc=Hn.parts===true||Hn.scanToEnd===true;const Jc=[];const Dp=[];const kp=[];let Qp=Me;let Up=-1;let Vp=0;let qp=0;let Jp=false;let Wp=false;let zp=false;let Qf=false;let Yf=false;let Kf=false;let Xf=false;let Ad=false;let Cd=false;let wd=0;let Sd;let xd;let Td={value:"",depth:0,isGlob:false};const eos=()=>Up>=dc;const peek=()=>Qp.charCodeAt(Up+1);const advance=()=>{Sd=xd;return Qp.charCodeAt(++Up)};while(Up0){Qh=Qp.slice(0,Vp);Qp=Qp.slice(Vp);qp-=Vp}if(Pd&&zp===true&&qp>0){Pd=Qp.slice(0,qp);Zh=Qp.slice(qp)}else if(zp===true){Pd="";Zh=Qp}else{Pd=Qp}if(Pd&&Pd!==""&&Pd!=="/"&&Pd!==Qp){if(isPathSeparator(Pd.charCodeAt(Pd.length-1))){Pd=Pd.slice(0,-1)}}if(Hn.unescape===true){if(Zh)Zh=zn.removeBackslashes(Zh);if(Pd&&Xf===true){Pd=zn.removeBackslashes(Pd)}}const sA={prefix:Qh,input:Me,start:Vp,base:Pd,glob:Zh,isBrace:Jp,isBracket:Wp,isGlob:zp,isExtglob:Qf,isGlobstar:Yf,negated:Ad};if(Hn.tokens===true){sA.maxDepth=0;if(!isPathSeparator(xd)){Dp.push(Td)}sA.tokens=Dp}if(Hn.parts===true||Hn.tokens===true){let Bn;for(let zn=0;zn{"use strict";const{REGEX_BACKSLASH:zn,REGEX_REMOVE_BACKSLASH:ni,REGEX_SPECIAL_CHARS:Ci,REGEX_SPECIAL_CHARS_GLOBAL:ts}=Hn(30742);Bn.isObject=Me=>Me!==null&&typeof Me==="object"&&!Array.isArray(Me);Bn.hasRegexChars=Me=>Ci.test(Me);Bn.isRegexChar=Me=>Me.length===1&&Bn.hasRegexChars(Me);Bn.escapeRegex=Me=>Me.replace(ts,"\\$1");Bn.toPosixSlashes=Me=>Me.replace(zn,"/");Bn.removeBackslashes=Me=>Me.replace(ni,(Me=>Me==="\\"?"":Me));Bn.supportsLookbehinds=()=>{const Me=process.version.slice(1).split(".").map(Number);if(Me.length===3&&Me[0]>=9||Me[0]===8&&Me[1]>=10){return true}return false};Bn.escapeLast=(Me,Hn,zn)=>{const ni=Me.lastIndexOf(Hn,zn);if(ni===-1)return Me;if(Me[ni-1]==="\\")return Bn.escapeLast(Me,Hn,ni-1);return`${Me.slice(0,ni)}\\${Me.slice(ni)}`};Bn.removePrefix=(Me,Bn={})=>{let Hn=Me;if(Hn.startsWith("./")){Hn=Hn.slice(2);Bn.prefix="./"}return Hn};Bn.wrapOutput=(Me,Bn={},Hn={})=>{const zn=Hn.contains?"":"^";const ni=Hn.contains?"":"$";let Ci=`${zn}(?:${Me})${ni}`;if(Bn.negated===true){Ci=`(?:^(?!${Ci}).*$)`}return Ci};Bn.basename=(Me,{windows:Bn}={})=>{if(Bn){return Me.replace(/[\\/]$/,"").replace(/.*[\\/]/,"")}else{return Me.replace(/\/$/,"").replace(/.*\//,"")}}},86032:Me=>{"use strict";var Bn=String.prototype.replace;var Hn=/%20/g;var zn={RFC1738:"RFC1738",RFC3986:"RFC3986"};Me.exports={default:zn.RFC3986,formatters:{RFC1738:function(Me){return Bn.call(Me,Hn,"+")},RFC3986:function(Me){return String(Me)}},RFC1738:zn.RFC1738,RFC3986:zn.RFC3986}},40240:(Me,Bn,Hn)=>{"use strict";var zn=Hn(71293);var ni=Hn(79091);var Ci=Hn(86032);Me.exports={formats:Ci,parse:ni,stringify:zn}},79091:(Me,Bn,Hn)=>{"use strict";var zn=Hn(25225);var ni=Object.prototype.hasOwnProperty;var Ci=Array.isArray;var ts={allowDots:false,allowEmptyArrays:false,allowPrototypes:false,allowSparse:false,arrayLimit:20,charset:"utf-8",charsetSentinel:false,comma:false,decodeDotInKeys:false,decoder:zn.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:false,interpretNumericEntities:false,parameterLimit:1e3,parseArrays:true,plainObjects:false,strictDepth:false,strictMerge:true,strictNullHandling:false,throwOnLimitExceeded:false};var interpretNumericEntities=function(Me){return Me.replace(/&#(\d+);/g,(function(Me,Bn){return String.fromCharCode(parseInt(Bn,10))}))};var parseArrayValue=function(Me,Bn,Hn){if(Me&&typeof Me==="string"&&Bn.comma&&Me.indexOf(",")>-1){return Me.split(",")}if(Bn.throwOnLimitExceeded&&Hn>=Bn.arrayLimit){throw new RangeError("Array limit exceeded. Only "+Bn.arrayLimit+" element"+(Bn.arrayLimit===1?"":"s")+" allowed in an array.")}return Me};var Ps="utf8=%26%2310003%3B";var aa="utf8=%E2%9C%93";var oa=function parseQueryStringValues(Me,Bn){var Hn={__proto__:null};var oa=Bn.ignoreQueryPrefix?Me.replace(/^\?/,""):Me;oa=oa.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var ca=Bn.parameterLimit===Infinity?void undefined:Bn.parameterLimit;var _a=oa.split(Bn.delimiter,Bn.throwOnLimitExceeded?ca+1:ca);if(Bn.throwOnLimitExceeded&&_a.length>ca){throw new RangeError("Parameter limit exceeded. Only "+ca+" parameter"+(ca===1?"":"s")+" allowed.")}var xa=-1;var Ga;var Ha=Bn.charset;if(Bn.charsetSentinel){for(Ga=0;Ga<_a.length;++Ga){if(_a[Ga].indexOf("utf8=")===0){if(_a[Ga]===aa){Ha="utf-8"}else if(_a[Ga]===Ps){Ha="iso-8859-1"}xa=Ga;Ga=_a.length}}}for(Ga=0;Ga<_a.length;++Ga){if(Ga===xa){continue}var so=_a[Ga];var oo=so.indexOf("]=");var Jo=oo===-1?so.indexOf("="):oo+1;var tc;var dc;if(Jo===-1){tc=Bn.decoder(so,ts.decoder,Ha,"key");dc=Bn.strictNullHandling?null:""}else{tc=Bn.decoder(so.slice(0,Jo),ts.decoder,Ha,"key");if(tc!==null){dc=zn.maybeMap(parseArrayValue(so.slice(Jo+1),Bn,Ci(Hn[tc])?Hn[tc].length:0),(function(Me){return Bn.decoder(Me,ts.decoder,Ha,"value")}))}}if(dc&&Bn.interpretNumericEntities&&Ha==="iso-8859-1"){dc=interpretNumericEntities(String(dc))}if(so.indexOf("[]=")>-1){dc=Ci(dc)?[dc]:dc}if(Bn.comma&&Ci(dc)&&dc.length>Bn.arrayLimit){if(Bn.throwOnLimitExceeded){throw new RangeError("Array limit exceeded. Only "+Bn.arrayLimit+" element"+(Bn.arrayLimit===1?"":"s")+" allowed in an array.")}dc=zn.combine([],dc,Bn.arrayLimit,Bn.plainObjects)}if(tc!==null){var Fc=ni.call(Hn,tc);if(Fc&&(Bn.duplicates==="combine"||so.indexOf("[]=")>-1)){Hn[tc]=zn.combine(Hn[tc],dc,Bn.arrayLimit,Bn.plainObjects)}else if(!Fc||Bn.duplicates==="last"){Hn[tc]=dc}}}return Hn};var parseObject=function(Me,Bn,Hn,ni){var Ci=0;if(Me.length>0&&Me[Me.length-1]==="[]"){var ts=Me.slice(0,-1).join("");Ci=Array.isArray(Bn)&&Bn[ts]?Bn[ts].length:0}var Ps=ni?Bn:parseArrayValue(Bn,Hn,Ci);for(var aa=Me.length-1;aa>=0;--aa){var oa;var ca=Me[aa];if(ca==="[]"&&Hn.parseArrays){if(zn.isOverflow(Ps)){oa=Ps}else{oa=Hn.allowEmptyArrays&&(Ps===""||Hn.strictNullHandling&&Ps===null)?[]:zn.combine([],Ps,Hn.arrayLimit,Hn.plainObjects)}}else{oa=Hn.plainObjects?{__proto__:null}:{};var _a=ca.charAt(0)==="["&&ca.charAt(ca.length-1)==="]"?ca.slice(1,-1):ca;var xa=Hn.decodeDotInKeys?_a.replace(/%2E/g,"."):_a;var Ga=parseInt(xa,10);var Ha=!isNaN(Ga)&&ca!==xa&&String(Ga)===xa&&Ga>=0&&Hn.parseArrays;if(!Hn.parseArrays&&xa===""){oa={0:Ps}}else if(Ha&&Ga{"use strict";var zn=Hn(94753);var ni=Hn(25225);var Ci=Hn(86032);var ts=Object.prototype.hasOwnProperty;var Ps={brackets:function brackets(Me){return Me+"[]"},comma:"comma",indices:function indices(Me,Bn){return Me+"["+Bn+"]"},repeat:function repeat(Me){return Me}};var aa=Array.isArray;var oa=Array.prototype.push;var pushToArray=function(Me,Bn){oa.apply(Me,aa(Bn)?Bn:[Bn])};var ca=Date.prototype.toISOString;var _a=Ci["default"];var xa={addQueryPrefix:false,allowDots:false,allowEmptyArrays:false,arrayFormat:"indices",charset:"utf-8",charsetSentinel:false,commaRoundTrip:false,delimiter:"&",encode:true,encodeDotInKeys:false,encoder:ni.encode,encodeValuesOnly:false,filter:void undefined,format:_a,formatter:Ci.formatters[_a],indices:false,serializeDate:function serializeDate(Me){return ca.call(Me)},skipNulls:false,strictNullHandling:false};var Ga=function isNonNullishPrimitive(Me){return typeof Me==="string"||typeof Me==="number"||typeof Me==="boolean"||typeof Me==="symbol"||typeof Me==="bigint"};var Ha={};var so=function stringify(Me,Bn,Hn,Ci,ts,Ps,oa,ca,_a,so,oo,Jo,tc,dc,Fc,Jc,Dp,kp){var Qp=Me;var Up=kp;var Vp=0;var qp=false;while((Up=Up.get(Ha))!==void undefined&&!qp){var Jp=Up.get(Me);Vp+=1;if(typeof Jp!=="undefined"){if(Jp===Vp){throw new RangeError("Cyclic object value")}else{qp=true}}if(typeof Up.get(Ha)==="undefined"){Vp=0}}if(typeof so==="function"){Qp=so(Bn,Qp)}else if(Qp instanceof Date){Qp=tc(Qp)}else if(Hn==="comma"&&aa(Qp)){Qp=ni.maybeMap(Qp,(function(Me){if(Me instanceof Date){return tc(Me)}return Me}))}if(Qp===null){if(Ps){return _a&&!Jc?_a(Bn,xa.encoder,Dp,"key",dc):Bn}Qp=""}if(Ga(Qp)||ni.isBuffer(Qp)){if(_a){var Wp=Jc?Bn:_a(Bn,xa.encoder,Dp,"key",dc);return[Fc(Wp)+"="+Fc(_a(Qp,xa.encoder,Dp,"value",dc))]}return[Fc(Bn)+"="+Fc(String(Qp))]}var zp=[];if(typeof Qp==="undefined"){return zp}var Qf;if(Hn==="comma"&&aa(Qp)){if(Jc&&_a){Qp=ni.maybeMap(Qp,_a)}Qf=[{value:Qp.length>0?Qp.join(",")||null:void undefined}]}else if(aa(so)){Qf=so}else{var Yf=Object.keys(Qp);Qf=oo?Yf.sort(oo):Yf}var Kf=ca?String(Bn).replace(/\./g,"%2E"):String(Bn);var Xf=Ci&&aa(Qp)&&Qp.length===1?Kf+"[]":Kf;if(ts&&aa(Qp)&&Qp.length===0){return Xf+"[]"}for(var Ad=0;Ad0?dc+tc:""}},25225:(Me,Bn,Hn)=>{"use strict";var zn=Hn(86032);var ni=Hn(94753);var Ci=Object.prototype.hasOwnProperty;var ts=Array.isArray;var Ps=ni();var aa=function markOverflow(Me,Bn){Ps.set(Me,Bn);return Me};var oa=function isOverflow(Me){return Ps.has(Me)};var ca=function getMaxIndex(Me){return Ps.get(Me)};var _a=function setMaxIndex(Me,Bn){Ps.set(Me,Bn)};var xa=function(){var Me=[];for(var Bn=0;Bn<256;++Bn){Me[Me.length]="%"+((Bn<16?"0":"")+Bn.toString(16)).toUpperCase()}return Me}();var Ga=function compactQueue(Me){while(Me.length>1){var Bn=Me.pop();var Hn=Bn.obj[Bn.prop];if(ts(Hn)){var zn=[];for(var ni=0;niHn.arrayLimit){return aa(Ha(Me.concat(Bn),Hn),zn)}Me[zn]=Bn}else if(Me&&typeof Me==="object"){if(oa(Me)){var ni=ca(Me)+1;Me[ni]=Bn;_a(Me,ni)}else if(Hn&&Hn.strictMerge){return[Me,Bn]}else if(Hn&&(Hn.plainObjects||Hn.allowPrototypes)||!Ci.call(Object.prototype,Bn)){Me[Bn]=true}}else{return[Me,Bn]}return Me}if(!Me||typeof Me!=="object"){if(oa(Bn)){var Ps=Object.keys(Bn);var xa=Hn&&Hn.plainObjects?{__proto__:null,0:Me}:{0:Me};for(var Ga=0;GaHn.arrayLimit){return aa(Ha(oo,Hn),oo.length-1)}return oo}var Jo=Me;if(ts(Me)&&!ts(Bn)){Jo=Ha(Me,Hn)}if(ts(Me)&&ts(Bn)){Bn.forEach((function(Bn,zn){if(Ci.call(Me,zn)){var ni=Me[zn];if(ni&&typeof ni==="object"&&Bn&&typeof Bn==="object"){Me[zn]=merge(ni,Bn,Hn)}else{Me[Me.length]=Bn}}else{Me[zn]=Bn}}));return Me}return Object.keys(Bn).reduce((function(Me,zn){var ni=Bn[zn];if(Ci.call(Me,zn)){Me[zn]=merge(Me[zn],ni,Hn)}else{Me[zn]=ni}if(oa(Bn)&&!oa(Me)){aa(Me,ca(Bn))}if(oa(Me)){var ts=parseInt(zn,10);if(String(ts)===zn&&ts>=0&&ts>ca(Me)){_a(Me,ts)}}return Me}),Jo)};var oo=function assignSingleSource(Me,Bn){return Object.keys(Bn).reduce((function(Me,Hn){Me[Hn]=Bn[Hn];return Me}),Me)};var decode=function(Me,Bn,Hn){var zn=Me.replace(/\+/g," ");if(Hn==="iso-8859-1"){return zn.replace(/%[0-9a-f]{2}/gi,unescape)}try{return decodeURIComponent(zn)}catch(Me){return zn}};var Jo=1024;var tc=function encode(Me,Bn,Hn,ni,Ci){if(Me.length===0){return Me}var ts=Me;if(typeof Me==="symbol"){ts=Symbol.prototype.toString.call(Me)}else if(typeof Me!=="string"){ts=String(Me)}if(Hn==="iso-8859-1"){return escape(ts).replace(/%u[0-9a-f]{4}/gi,(function(Me){return"%26%23"+parseInt(Me.slice(2),16)+"%3B"}))}var Ps="";for(var aa=0;aa=Jo?ts.slice(aa,aa+Jo):ts;var ca=[];for(var _a=0;_a=48&&Ga<=57||Ga>=65&&Ga<=90||Ga>=97&&Ga<=122||Ci===zn.RFC1738&&(Ga===40||Ga===41)){ca[ca.length]=oa.charAt(_a);continue}if(Ga<128){ca[ca.length]=xa[Ga];continue}if(Ga<2048){ca[ca.length]=xa[192|Ga>>6]+xa[128|Ga&63];continue}if(Ga<55296||Ga>=57344){ca[ca.length]=xa[224|Ga>>12]+xa[128|Ga>>6&63]+xa[128|Ga&63];continue}_a+=1;Ga=65536+((Ga&1023)<<10|oa.charCodeAt(_a)&1023);ca[ca.length]=xa[240|Ga>>18]+xa[128|Ga>>12&63]+xa[128|Ga>>6&63]+xa[128|Ga&63]}Ps+=ca.join("")}return Ps};var dc=function compact(Me){var Bn=[{obj:{o:Me},prop:"o"}];var Hn=[];for(var zn=0;znHn){return aa(Ha(Ci,{plainObjects:zn}),Ci.length-1)}return Ci};var kp=function maybeMap(Me,Bn){if(ts(Me)){var Hn=[];for(var zn=0;zn{const zn=Hn(54336);const ni=Hn(28439);const Ci=Hn(67793);const ts=Hn(3740);const{RateLimiterClusterMaster:Ps,RateLimiterClusterMasterPM2:aa,RateLimiterCluster:oa}=Hn(10565);const ca=Hn(24544);const _a=Hn(73250);const xa=Hn(87383);const Ga=Hn(24016);const Ha=Hn(10244);const so=Hn(52860);const oo=Hn(85860);const Jo=Hn(80449);const tc=Hn(82309);const dc=Hn(16323);const Fc=Hn(50673);const Jc=Hn(75347);const Dp=Hn(32193);const kp=Hn(53756);const Qp=Hn(73283);const Up=Hn(36481);const Vp=Hn(15299);const qp=Hn(27948);const Jp=Hn(43184);Me.exports={RateLimiterRedis:zn,RateLimiterMongo:ni,RateLimiterMySQL:Ci,RateLimiterPostgres:ts,RateLimiterMemory:ca,RateLimiterMemcache:_a,RateLimiterClusterMaster:Ps,RateLimiterClusterMasterPM2:aa,RateLimiterCluster:oa,RLWrapperBlackAndWhite:xa,RLWrapperTimeouts:Ga,RateLimiterUnion:Ha,RateLimiterQueue:so,BurstyRateLimiter:oo,RateLimiterRes:Jo,RateLimiterDynamo:tc,RateLimiterPrisma:dc,RateLimiterValkey:Dp,RateLimiterValkeyGlide:kp,RateLimiterSQLite:Qp,RateLimiterEtcd:Up,RateLimiterDrizzle:Fc,RateLimiterDrizzleNonAtomic:Jc,RateLimiterEtcdNonAtomic:Vp,RateLimiterQueueError:qp,RateLimiterEtcdTransactionFailedError:Jp}},85860:(Me,Bn,Hn)=>{const zn=Hn(80449);Me.exports=class BurstyRateLimiter{constructor(Me,Bn){this._rateLimiter=Me;this._burstLimiter=Bn}_combineRes(Me,Bn){if(!Me){return null}return new zn(Me.remainingPoints,Math.min(Me.msBeforeNext,Bn?Bn.msBeforeNext:0),Me.consumedPoints,Me.isFirstInDuration)}consume(Me,Bn=1,Hn={}){return this._rateLimiter.consume(Me,Bn,Hn).catch((ni=>{if(ni instanceof zn){return this._burstLimiter.consume(Me,Bn,Hn).then((Me=>Promise.resolve(this._combineRes(ni,Me)))).catch((Me=>{if(Me instanceof zn){return Promise.reject(this._combineRes(ni,Me))}else{return Promise.reject(Me)}}))}else{return Promise.reject(ni)}}))}get(Me){return Promise.all([this._rateLimiter.get(Me),this._burstLimiter.get(Me)]).then((([Me,Bn])=>this._combineRes(Me,Bn)))}get points(){return this._rateLimiter.points}}},87383:(Me,Bn,Hn)=>{const zn=Hn(80449);Me.exports=class RLWrapperBlackAndWhite{constructor(Me={}){this.limiter=Me.limiter;this.blackList=Me.blackList;this.whiteList=Me.whiteList;this.isBlackListed=Me.isBlackListed;this.isWhiteListed=Me.isWhiteListed;this.runActionAnyway=Me.runActionAnyway}get limiter(){return this._limiter}set limiter(Me){if(typeof Me==="undefined"){throw new Error("limiter is not set")}this._limiter=Me}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(Me){this._runActionAnyway=typeof Me==="undefined"?false:Me}get blackList(){return this._blackList}set blackList(Me){this._blackList=Array.isArray(Me)?Me:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(Me){if(typeof Me==="undefined"){Me=()=>false}if(typeof Me!=="function"){throw new Error("isBlackListed must be function")}this._isBlackListed=Me}get whiteList(){return this._whiteList}set whiteList(Me){this._whiteList=Array.isArray(Me)?Me:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(Me){if(typeof Me==="undefined"){Me=()=>false}if(typeof Me!=="function"){throw new Error("isWhiteListed must be function")}this._isWhiteListed=Me}isBlackListedSomewhere(Me){return this.blackList.indexOf(Me)>=0||this.isBlackListed(Me)}isWhiteListedSomewhere(Me){return this.whiteList.indexOf(Me)>=0||this.isWhiteListed(Me)}getBlackRes(){return new zn(0,Number.MAX_SAFE_INTEGER,0,false)}getWhiteRes(){return new zn(Number.MAX_SAFE_INTEGER,0,0,false)}rejectBlack(){return Promise.reject(this.getBlackRes())}resolveBlack(){return Promise.resolve(this.getBlackRes())}resolveWhite(){return Promise.resolve(this.getWhiteRes())}consume(Me,Bn=1){let Hn;if(this.isWhiteListedSomewhere(Me)){Hn=this.resolveWhite()}else if(this.isBlackListedSomewhere(Me)){Hn=this.rejectBlack()}if(typeof Hn==="undefined"){return this.limiter.consume(Me,Bn)}if(this.runActionAnyway){this.limiter.consume(Me,Bn).catch((()=>{}))}return Hn}block(Me,Bn){let Hn;if(this.isWhiteListedSomewhere(Me)){Hn=this.resolveWhite()}else if(this.isBlackListedSomewhere(Me)){Hn=this.resolveBlack()}if(typeof Hn==="undefined"){return this.limiter.block(Me,Bn)}if(this.runActionAnyway){this.limiter.block(Me,Bn).catch((()=>{}))}return Hn}penalty(Me,Bn){let Hn;if(this.isWhiteListedSomewhere(Me)){Hn=this.resolveWhite()}else if(this.isBlackListedSomewhere(Me)){Hn=this.resolveBlack()}if(typeof Hn==="undefined"){return this.limiter.penalty(Me,Bn)}if(this.runActionAnyway){this.limiter.penalty(Me,Bn).catch((()=>{}))}return Hn}reward(Me,Bn){let Hn;if(this.isWhiteListedSomewhere(Me)){Hn=this.resolveWhite()}else if(this.isBlackListedSomewhere(Me)){Hn=this.resolveBlack()}if(typeof Hn==="undefined"){return this.limiter.reward(Me,Bn)}if(this.runActionAnyway){this.limiter.reward(Me,Bn).catch((()=>{}))}return Hn}get(Me){let Bn;if(this.isWhiteListedSomewhere(Me)){Bn=this.resolveWhite()}else if(this.isBlackListedSomewhere(Me)){Bn=this.resolveBlack()}if(typeof Bn==="undefined"||this.runActionAnyway){return this.limiter.get(Me)}return Bn}delete(Me){return this.limiter.delete(Me)}}},24016:(Me,Bn,Hn)=>{const zn=Hn(88569);const ni=Hn(33847);Me.exports=class RLWrapperTimeouts extends ni{constructor(Me={}){super(Me);this.limiter=Me.limiter;this.timeoutMs=Me.timeoutMs||0}get limiter(){return this._limiter}set limiter(Me){if(!(Me instanceof zn)){throw new TypeError("limiter must be an instance of RateLimiterAbstract")}this._limiter=Me;if(!this.insuranceLimiter&&Me instanceof ni){this.insuranceLimiter=Me.insuranceLimiter}}get timeoutMs(){return this._timeoutMs}set timeoutMs(Me){if(typeof Me!=="number"||Me<0){throw new TypeError("timeoutMs must be a non-negative number")}this._timeoutMs=Me}_run(Me,Bn){return new Promise((async(Hn,zn)=>{const ni=setTimeout((()=>zn(new Error("Operation timed out"))),this.timeoutMs);await this.limiter[Me](...Bn).then((Me=>{clearTimeout(ni);Hn(Me)})).catch((Me=>{clearTimeout(ni);zn(Me)}))}))}_consume(Me,Bn=1,Hn={}){return this._run("consume",[Me,Bn,Hn])}_penalty(Me,Bn=1,Hn={}){return this._run("penalty",[Me,Bn,Hn])}_reward(Me,Bn=1,Hn={}){return this._run("reward",[Me,Bn,Hn])}_get(Me,Bn={}){return this._run("get",[Me,Bn])}_set(Me,Bn,Hn,zn={}){return this._run("set",[Me,Bn,Hn,zn])}_block(Me,Bn,Hn={}){return this._run("block",[Me,Bn,Hn])}_delete(Me,Bn={}){return this._run("delete",[Me,Bn])}}},88569:Me=>{Me.exports=class RateLimiterAbstract{constructor(Me={}){this.points=Me.points;this.duration=Me.duration;this.blockDuration=Me.blockDuration;this.execEvenly=Me.execEvenly;this.execEvenlyMinDelayMs=Me.execEvenlyMinDelayMs;this.keyPrefix=Me.keyPrefix}get points(){return this._points}set points(Me){this._points=Me>=0?Me:4}get duration(){return this._duration}set duration(Me){this._duration=typeof Me==="undefined"?1:Me}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(Me){this._blockDuration=typeof Me==="undefined"?0:Me}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(Me){this._execEvenly=typeof Me==="undefined"?false:Boolean(Me)}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(Me){this._execEvenlyMinDelayMs=typeof Me==="undefined"?Math.ceil(this.msDuration/this.points):Me}get keyPrefix(){return this._keyPrefix}set keyPrefix(Me){if(typeof Me==="undefined"){Me="rlflx"}if(typeof Me!=="string"){throw new Error("keyPrefix must be string")}this._keyPrefix=Me}_getKeySecDuration(Me={}){return Me&&Me.customDuration>=0?Me.customDuration:this.duration}getKey(Me){return this.keyPrefix.length>0?`${this.keyPrefix}:${Me}`:Me}parseKey(Me){return Me.substring(this.keyPrefix.length)}consume(){throw new Error("You have to implement the method 'consume'!")}penalty(){throw new Error("You have to implement the method 'penalty'!")}reward(){throw new Error("You have to implement the method 'reward'!")}get(){throw new Error("You have to implement the method 'get'!")}set(){throw new Error("You have to implement the method 'set'!")}block(){throw new Error("You have to implement the method 'block'!")}delete(){throw new Error("You have to implement the method 'delete'!")}}},10565:(Me,Bn,Hn)=>{const zn=Hn(29907);const ni=Hn(76982);const Ci=Hn(88569);const ts=Hn(24544);const Ps=Hn(80449);const aa="rate_limiter_flexible";let oa=null;const masterSendToWorker=function(Me,Bn,Hn,zn){let ni;if(zn===null||zn===true||zn===false){ni=zn}else{ni={remainingPoints:zn.remainingPoints,msBeforeNext:zn.msBeforeNext,consumedPoints:zn.consumedPoints,isFirstInDuration:zn.isFirstInDuration}}Me.send({channel:aa,keyPrefix:Bn.keyPrefix,promiseId:Bn.promiseId,type:Hn,data:ni})};const workerWaitInit=function(Me){setTimeout((()=>{if(this._initiated){process.send(Me)}else if(typeof this._promises[Me.promiseId]!=="undefined"){workerWaitInit.call(this,Me)}}),30)};const workerSendToMaster=function(Me,Bn,Hn,zn,ni){const Ci={channel:aa,keyPrefix:this.keyPrefix,func:Me,promiseId:Bn,data:{key:Hn,arg:zn,opts:ni}};if(!this._initiated){workerWaitInit.call(this,Ci)}else{process.send(Ci)}};const masterProcessMsg=function(Me,Bn){if(!Bn||Bn.channel!==aa||typeof this._rateLimiters[Bn.keyPrefix]==="undefined"){return false}let Hn;switch(Bn.func){case"consume":Hn=this._rateLimiters[Bn.keyPrefix].consume(Bn.data.key,Bn.data.arg,Bn.data.opts);break;case"penalty":Hn=this._rateLimiters[Bn.keyPrefix].penalty(Bn.data.key,Bn.data.arg,Bn.data.opts);break;case"reward":Hn=this._rateLimiters[Bn.keyPrefix].reward(Bn.data.key,Bn.data.arg,Bn.data.opts);break;case"block":Hn=this._rateLimiters[Bn.keyPrefix].block(Bn.data.key,Bn.data.arg,Bn.data.opts);break;case"get":Hn=this._rateLimiters[Bn.keyPrefix].get(Bn.data.key,Bn.data.opts);break;case"delete":Hn=this._rateLimiters[Bn.keyPrefix].delete(Bn.data.key,Bn.data.opts);break;default:return false}if(Hn){Hn.then((Hn=>{masterSendToWorker(Me,Bn,"resolve",Hn)})).catch((Hn=>{masterSendToWorker(Me,Bn,"reject",Hn)}))}};const workerProcessMsg=function(Me){if(!Me||Me.channel!==aa||Me.keyPrefix!==this.keyPrefix){return false}if(this._promises[Me.promiseId]){clearTimeout(this._promises[Me.promiseId].timeoutId);let Bn;if(Me.data===null||Me.data===true||Me.data===false){Bn=Me.data}else{Bn=new Ps(Me.data.remainingPoints,Me.data.msBeforeNext,Me.data.consumedPoints,Me.data.isFirstInDuration)}switch(Me.type){case"resolve":this._promises[Me.promiseId].resolve(Bn);break;case"reject":this._promises[Me.promiseId].reject(Bn);break;default:throw new Error(`RateLimiterCluster: no such message type '${Me.type}'`)}delete this._promises[Me.promiseId]}};const getOpts=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}};const savePromise=function(Me,Bn){const Hn=process.hrtime();let zn=Hn[0].toString()+Hn[1].toString();if(typeof this._promises[zn]!=="undefined"){zn+=ni.randomBytes(12).toString("base64")}this._promises[zn]={resolve:Me,reject:Bn,timeoutId:setTimeout((()=>{delete this._promises[zn];Bn(new Error("RateLimiterCluster timeout: no answer from master in time"))}),this.timeoutMs)};return zn};class RateLimiterClusterMaster{constructor(){if(oa){return oa}this._rateLimiters={};zn.setMaxListeners(0);zn.on("message",((Me,Bn)=>{if(Bn&&Bn.channel===aa&&Bn.type==="init"){if(typeof this._rateLimiters[Bn.opts.keyPrefix]==="undefined"){this._rateLimiters[Bn.opts.keyPrefix]=new ts(Bn.opts)}Me.send({channel:aa,type:"init",keyPrefix:Bn.opts.keyPrefix})}else{masterProcessMsg.call(this,Me,Bn)}}));oa=this}}class RateLimiterClusterMasterPM2{constructor(Me){if(oa){return oa}this._rateLimiters={};Me.launchBus(((Bn,Hn)=>{Hn.on("process:msg",(Bn=>{const Hn=Bn.raw;if(Hn&&Hn.channel===aa&&Hn.type==="init"){if(typeof this._rateLimiters[Hn.opts.keyPrefix]==="undefined"){this._rateLimiters[Hn.opts.keyPrefix]=new ts(Hn.opts)}Me.sendDataToProcessId(Bn.process.pm_id,{data:{},topic:aa,channel:aa,type:"init",keyPrefix:Hn.opts.keyPrefix},((Me,Bn)=>{if(Me){console.log(Me,Bn)}}))}else{const zn={send:Hn=>{const zn=Hn;zn.topic=aa;if(typeof zn.data==="undefined"){zn.data={}}Me.sendDataToProcessId(Bn.process.pm_id,zn,((Me,Bn)=>{if(Me){console.log(Me,Bn)}}))}};masterProcessMsg.call(this,zn,Hn)}}))}));oa=this}}class RateLimiterClusterWorker extends Ci{get timeoutMs(){return this._timeoutMs}set timeoutMs(Me){this._timeoutMs=typeof Me==="undefined"?5e3:Math.abs(parseInt(Me))}constructor(Me={}){super(Me);process.setMaxListeners(0);this.timeoutMs=Me.timeoutMs;this._initiated=false;process.on("message",(Me=>{if(Me&&Me.channel===aa&&Me.type==="init"&&Me.keyPrefix===this.keyPrefix){this._initiated=true}else{workerProcessMsg.call(this,Me)}}));process.send({channel:aa,type:"init",opts:getOpts.call(this)});this._promises={}}consume(Me,Bn=1,Hn={}){return new Promise(((zn,ni)=>{const Ci=savePromise.call(this,zn,ni);workerSendToMaster.call(this,"consume",Ci,Me,Bn,Hn)}))}penalty(Me,Bn=1,Hn={}){return new Promise(((zn,ni)=>{const Ci=savePromise.call(this,zn,ni);workerSendToMaster.call(this,"penalty",Ci,Me,Bn,Hn)}))}reward(Me,Bn=1,Hn={}){return new Promise(((zn,ni)=>{const Ci=savePromise.call(this,zn,ni);workerSendToMaster.call(this,"reward",Ci,Me,Bn,Hn)}))}block(Me,Bn,Hn={}){return new Promise(((zn,ni)=>{const Ci=savePromise.call(this,zn,ni);workerSendToMaster.call(this,"block",Ci,Me,Bn,Hn)}))}get(Me,Bn={}){return new Promise(((Hn,zn)=>{const ni=savePromise.call(this,Hn,zn);workerSendToMaster.call(this,"get",ni,Me,Bn)}))}delete(Me,Bn={}){return new Promise(((Hn,zn)=>{const ni=savePromise.call(this,Hn,zn);workerSendToMaster.call(this,"delete",ni,Me,Bn)}))}}Me.exports={RateLimiterClusterMaster:RateLimiterClusterMaster,RateLimiterClusterMasterPM2:RateLimiterClusterMasterPM2,RateLimiterCluster:RateLimiterClusterWorker}},50673:(Me,Bn,Hn)=>{let zn=null;const ni=3e5;const Ci=36e5;class RateLimiterDrizzleError extends Error{constructor(Me){super(Me);this.name="RateLimiterDrizzleError"}}async function getDrizzleOperators(){if(zn)return zn;try{function getPackageName(){return["drizzle","orm"].join("-")}const Me=await Hn(87788)(`${getPackageName()}`);const{and:Bn,or:ni,gt:Ci,lt:ts,eq:Ps,isNull:aa,sql:oa}=Me.default||Me;zn={and:Bn,or:ni,gt:Ci,lt:ts,eq:Ps,isNull:aa,sql:oa};return zn}catch(ca){throw new RateLimiterDrizzleError("drizzle-orm is not installed. Please install drizzle-orm to use RateLimiterDrizzle.")}}const ts=Hn(65140);const Ps=Hn(80449);class RateLimiterDrizzle extends ts{constructor(Me){super(Me);if(!Me?.schema){throw new RateLimiterDrizzleError("Drizzle schema is required")}if(!Me?.storeClient){throw new RateLimiterDrizzleError("Drizzle client is required")}this.schema=Me.schema;this.drizzleClient=Me.storeClient;this.clearExpiredByTimeout=Me.clearExpiredByTimeout??true;if(this.clearExpiredByTimeout){this._clearExpiredHourAgo()}}_getRateLimiterRes(Me,Bn,Hn){const zn=new Ps;let ni=Hn;zn.isFirstInDuration=ni.points===Bn;zn.consumedPoints=ni.points;zn.remainingPoints=Math.max(this.points-zn.consumedPoints,0);zn.msBeforeNext=ni.expire!==null?Math.max(new Date(ni.expire).getTime()-Date.now(),0):-1;return zn}async _upsert(Me,Bn,Hn,zn=false){if(!this.drizzleClient){return Promise.reject(new RateLimiterDrizzleError("Drizzle client is not established"))}const{eq:ni,sql:Ci}=await getDrizzleOperators();const ts=new Date;const Ps=Hn>0?new Date(ts.getTime()+Hn):null;const aa=await this.drizzleClient.transaction((async Hn=>{const[aa]=await Hn.select().from(this.schema).where(ni(this.schema.key,Me)).limit(1);const oa=zn||!aa?.expire||aa?.expire<=ts||Ps===null;const[ca]=await Hn.insert(this.schema).values({key:Me,points:Bn,expire:Ps}).onConflictDoUpdate({target:this.schema.key,set:{points:!oa?Ci`${this.schema.points} + ${Bn}`:Bn,...oa&&{expire:Ps}}}).returning();return ca}));return aa}async _get(Me){if(!this.drizzleClient){return Promise.reject(new RateLimiterDrizzleError("Drizzle client is not established"))}const{and:Bn,or:Hn,gt:zn,eq:ni,isNull:Ci}=await getDrizzleOperators();const[ts]=await this.drizzleClient.select().from(this.schema).where(Bn(ni(this.schema.key,Me),Hn(zn(this.schema.expire,new Date),Ci(this.schema.expire)))).limit(1);return ts||null}async _delete(Me){if(!this.drizzleClient){return Promise.reject(new RateLimiterDrizzleError("Drizzle client is not established"))}const{eq:Bn}=await getDrizzleOperators();const[Hn]=await this.drizzleClient.delete(this.schema).where(Bn(this.schema.key,Me)).returning({key:this.schema.key});return!!Hn?.key}_clearExpiredHourAgo(){if(this._clearExpiredTimeoutId){clearTimeout(this._clearExpiredTimeoutId)}this._clearExpiredTimeoutId=setTimeout((async()=>{try{const{lt:Me}=await getDrizzleOperators();await this.drizzleClient.delete(this.schema).where(Me(this.schema.expire,new Date(Date.now()-Ci)))}catch(Me){console.warn("Failed to clear expired records:",Me)}this._clearExpiredHourAgo()}),ni);this._clearExpiredTimeoutId.unref()}}Me.exports=RateLimiterDrizzle},75347:(Me,Bn,Hn)=>{let zn=null;const ni=3e5;const Ci=36e5;class RateLimiterDrizzleError extends Error{constructor(Me){super(Me);this.name="RateLimiterDrizzleError"}}async function getDrizzleOperators(){if(zn)return zn;try{function getPackageName(){return["drizzle","orm"].join("-")}const Me=await Hn(87788)(`${getPackageName()}`);const{and:Bn,or:ni,gt:Ci,lt:ts,eq:Ps,isNull:aa,sql:oa}=Me.default||Me;zn={and:Bn,or:ni,gt:Ci,lt:ts,eq:Ps,isNull:aa,sql:oa};return zn}catch(ca){throw new RateLimiterDrizzleError("drizzle-orm is not installed. Please install drizzle-orm to use RateLimiterDrizzleNonAtomic.")}}const ts=Hn(65140);const Ps=Hn(80449);class RateLimiterDrizzleNonAtomic extends ts{constructor(Me){super(Me);if(!Me?.schema){throw new RateLimiterDrizzleError("Drizzle schema is required")}if(!Me?.storeClient){throw new RateLimiterDrizzleError("Drizzle client is required")}this.schema=Me.schema;this.drizzleClient=Me.storeClient;this.clearExpiredByTimeout=Me.clearExpiredByTimeout??true;if(this.clearExpiredByTimeout){this._clearExpiredHourAgo()}}_getRateLimiterRes(Me,Bn,Hn){const zn=new Ps;let ni=Hn;zn.isFirstInDuration=ni.points===Bn;zn.consumedPoints=ni.points;zn.remainingPoints=Math.max(this.points-zn.consumedPoints,0);zn.msBeforeNext=ni.expire!==null?Math.max(new Date(ni.expire).getTime()-Date.now(),0):-1;return zn}async _upsert(Me,Bn,Hn,zn=false){if(!this.drizzleClient){return Promise.reject(new RateLimiterDrizzleError("Drizzle client is not established"))}const{eq:ni}=await getDrizzleOperators();const Ci=new Date;const ts=Hn>0?new Date(Ci.getTime()+Hn):null;const[Ps]=await this.drizzleClient.select().from(this.schema).where(ni(this.schema.key,Me)).limit(1);const aa=zn||!Ps||!Ps.expire||Ps.expire<=Ci||ts===null;let oa;if(Ps&&!aa){oa=Ps.points+Bn}else{oa=Bn}const[ca]=await this.drizzleClient.insert(this.schema).values({key:Me,points:oa,expire:ts}).onConflictDoUpdate({target:this.schema.key,set:{points:oa,...aa&&{expire:ts}}}).returning();return ca}async _get(Me){if(!this.drizzleClient){return Promise.reject(new RateLimiterDrizzleError("Drizzle client is not established"))}const{and:Bn,or:Hn,gt:zn,eq:ni,isNull:Ci}=await getDrizzleOperators();const[ts]=await this.drizzleClient.select().from(this.schema).where(Bn(ni(this.schema.key,Me),Hn(zn(this.schema.expire,new Date),Ci(this.schema.expire)))).limit(1);return ts||null}async _delete(Me){if(!this.drizzleClient){return Promise.reject(new RateLimiterDrizzleError("Drizzle client is not established"))}const{eq:Bn}=await getDrizzleOperators();const[Hn]=await this.drizzleClient.delete(this.schema).where(Bn(this.schema.key,Me)).returning({key:this.schema.key});return!!(Hn&&Hn.key)}_clearExpiredHourAgo(){if(this._clearExpiredTimeoutId){clearTimeout(this._clearExpiredTimeoutId)}this._clearExpiredTimeoutId=setTimeout((async()=>{try{const{lt:Me}=await getDrizzleOperators();await this.drizzleClient.delete(this.schema).where(Me(this.schema.expire,new Date(Date.now()-Ci)))}catch(Me){console.warn("Failed to clear expired records:",Me)}this._clearExpiredHourAgo()}),ni);this._clearExpiredTimeoutId.unref()}}Me.exports=RateLimiterDrizzleNonAtomic},82309:(Me,Bn,Hn)=>{const zn=Hn(80449);const ni=Hn(65140);class DynamoItem{constructor(Me,Bn,Hn){this.key=Me;this.points=Bn;this.expire=Hn}}const Ci=25;const ts=25;class RateLimiterDynamo extends ni{constructor(Me,Bn=null){super(Me);this.client=Me.storeClient;this.tableName=Me.tableName;this.tableCreated=Me.tableCreated;this.ttlManuallySet=Me.ttlSet;if(!this.tableCreated){this._createTable(Me.dynamoTableOpts).then((Me=>{this.tableCreated=true;this._setTTL().finally((()=>{if(typeof Bn==="function"){Bn()}}))})).catch((Me=>{if(typeof Bn==="function"){Bn(Me)}else{throw Me}}))}else{this._setTTL().finally((()=>{if(typeof Bn==="function"){Bn()}}))}}get tableName(){return this._tableName}set tableName(Me){this._tableName=typeof Me==="undefined"?"node-rate-limiter-flexible":Me}get tableCreated(){return this._tableCreated}set tableCreated(Me){this._tableCreated=typeof Me==="undefined"?false:!!Me}async _createTable(Me){const Bn={TableName:this.tableName,AttributeDefinitions:[{AttributeName:"key",AttributeType:"S"}],KeySchema:[{AttributeName:"key",KeyType:"HASH"}],ProvisionedThroughput:{ReadCapacityUnits:Me&&Me.readCapacityUnits?Me.readCapacityUnits:Ci,WriteCapacityUnits:Me&&Me.writeCapacityUnits?Me.writeCapacityUnits:ts}};try{const Me=await this.client.createTable(Bn);return Me}catch(Me){if(Me.__type&&Me.__type.includes("ResourceInUseException")){return null}else{throw Me}}}async _get(Me){if(!this.tableCreated){throw new Error("Table is not created yet")}const Bn={TableName:this.tableName,Key:{key:{S:Me}}};const Hn=await this.client.getItem(Bn);if(Hn.Item){return new DynamoItem(Hn.Item.key.S,Number(Hn.Item.points.N),Number(Hn.Item.expire.N))}else{return null}}async _delete(Me){if(!this.tableCreated){throw new Error("Table is not created yet")}const Bn={TableName:this.tableName,Key:{key:{S:Me}},ConditionExpression:"attribute_exists(#k)",ExpressionAttributeNames:{"#k":"key"}};try{const Me=await this._client.deleteItem(Bn);return Me.$metadata.httpStatusCode===200}catch(Me){if(Me.__type&&Me.__type.includes("ConditionalCheckFailedException")){return false}else{throw Me}}}async _upsert(Me,Bn,Hn,zn=false,ni={}){if(!this.tableCreated){throw new Error("Table is not created yet")}const Ci=Date.now();const ts=Ci/1e3;const Ps=Hn>0?(Ci+Hn)/1e3:-1;if(zn){return await this._baseUpsert({TableName:this.tableName,Key:{key:{S:Me}},UpdateExpression:"SET points = :points, expire = :expire",ExpressionAttributeValues:{":points":{N:Bn.toString()},":expire":{N:Ps.toString()}},ReturnValues:"ALL_NEW"})}try{return await this._baseUpsert({TableName:this.tableName,Key:{key:{S:Me}},UpdateExpression:"SET points = :new_points, expire = :new_expire",ExpressionAttributeValues:{":new_points":{N:Bn.toString()},":new_expire":{N:Ps.toString()},":where_expire":{N:ts.toString()}},ConditionExpression:"expire <= :where_expire OR attribute_not_exists(points)",ReturnValues:"ALL_NEW"})}catch(Hn){return await this._baseUpsert({TableName:this.tableName,Key:{key:{S:Me}},UpdateExpression:"SET points = points + :new_points",ExpressionAttributeValues:{":new_points":{N:Bn.toString()},":where_expire":{N:ts.toString()}},ConditionExpression:"expire > :where_expire",ReturnValues:"ALL_NEW"})}}async _baseUpsert(Me){if(!this.tableCreated){throw new Error("Table is not created yet")}try{const Bn=await this.client.updateItem(Me);return new DynamoItem(Bn.Attributes.key.S,Number(Bn.Attributes.points.N),Number(Bn.Attributes.expire.N))}catch(Me){throw Me}}async _setTTL(){if(!this.tableCreated){throw new Error("Table is not created yet")}try{const Me=await this._isTTLSet();if(Me){return}const Bn={TableName:this.tableName,TimeToLiveSpecification:{AttributeName:"expire",Enabled:true}};const Hn=await this.client.updateTimeToLive(Bn);return Hn}catch(Me){throw Me}}async _isTTLSet(){if(!this.tableCreated){throw new Error("Table is not created yet")}if(this.ttlManuallySet){return true}try{const Me=await this.client.describeTimeToLive({TableName:this.tableName});return Me.$metadata.httpStatusCode==200&&Me.TimeToLiveDescription.TimeToLiveStatus==="ENABLED"&&Me.TimeToLiveDescription.AttributeName==="expire"}catch(Me){throw Me}}_getRateLimiterRes(Me,Bn,Hn){const ni=new zn;ni.isFirstInDuration=Bn===Hn.points;ni.consumedPoints=ni.isFirstInDuration?Bn:Hn.points;ni.remainingPoints=Math.max(this.points-ni.consumedPoints,0);ni.msBeforeNext=Hn.expire!=-1?Math.max(Hn.expire*1e3-Date.now(),0):-1;return ni}}Me.exports=RateLimiterDynamo},36481:(Me,Bn,Hn)=>{const zn=Hn(43184);const ni=Hn(15299);const Ci=5;class RateLimiterEtcd extends ni{async _upsert(Me,Bn,Hn,ni=false){const ts=Hn>0?Date.now()+Hn:null;let Ps={points:Bn,expire:ts};let aa;if(ni){await this.client.put(Me).value(JSON.stringify(Ps))}else{const Hn=await this.client.if(Me,"Version","===","0").then(this.client.put(Me).value(JSON.stringify(Ps))).commit().then((Me=>!!Me.succeeded));if(!Hn){let Hn=false;for(let zn=0;zn!!Me.succeeded));if(Hn){break}}if(!Hn){throw new zn("Could not set new value in a transaction.")}}}return Ps}}Me.exports=RateLimiterEtcd},15299:(Me,Bn,Hn)=>{const zn=Hn(65140);const ni=Hn(80449);const Ci=Hn(72922);class RateLimiterEtcdNonAtomic extends zn{constructor(Me){super(Me);if(!Me.storeClient){throw new Ci('You need to set the option "storeClient" to an instance of class "Etcd3".')}this.client=Me.storeClient}_getRateLimiterRes(Me,Bn,Hn){const zn=new ni;zn.isFirstInDuration=Bn===Hn.points;zn.consumedPoints=zn.isFirstInDuration?Bn:Hn.points;zn.remainingPoints=Math.max(this.points-zn.consumedPoints,0);zn.msBeforeNext=Hn.expire?Math.max(Hn.expire-Date.now(),0):-1;return zn}async _upsert(Me,Bn,Hn,zn=false){const ni=Hn>0?Date.now()+Hn:null;let Ci={points:Bn,expire:ni};if(zn){await this.client.put(Me).value(JSON.stringify(Ci))}else{const Hn=await this._get(Me);Ci={points:(Hn!==null?Hn.points:0)+Bn,expire:ni};await this.client.put(Me).value(JSON.stringify(Ci))}return Ci}async _get(Me){return this.client.get(Me).string().then((Me=>Me!==null?JSON.parse(Me):null))}async _delete(Me){return this.client.delete().key(Me).then((Me=>Me.deleted==="1"))}}Me.exports=RateLimiterEtcdNonAtomic},33847:(Me,Bn,Hn)=>{const zn=Hn(88569);const ni=Hn(80449);Me.exports=class RateLimiterInsuredAbstract extends zn{constructor(Me={}){super(Me);this.insuranceLimiter=Me.insuranceLimiter}get insuranceLimiter(){return this._insuranceLimiter}set insuranceLimiter(Me){if(typeof Me!=="undefined"&&!(Me instanceof zn)){throw new Error("insuranceLimiter must be instance of RateLimiterAbstract")}this._insuranceLimiter=Me;if(this._insuranceLimiter){this._insuranceLimiter.blockDuration=this.blockDuration;this._insuranceLimiter.execEvenly=this.execEvenly}}_handleError(Me,Bn,Hn,Ci,ts){if(Me instanceof ni){Ci(Me)}else if(!(this.insuranceLimiter instanceof zn)){Ci(Me)}else{this.insuranceLimiter[Bn](...ts).then((Me=>{Hn(Me)})).catch((Me=>{Ci(Me)}))}}_operation(Me,Bn){const Hn=this[Me](...Bn);return new Promise(((zn,ni)=>Hn.then((Me=>{zn(Me)})).catch((Hn=>{if(Me.startsWith("_")){Me=Me.slice(1)}this._handleError(Hn,Me,zn,ni,Bn)}))))}consume(Me,Bn=1,Hn={}){return this._operation("_consume",[Me,Bn,Hn])}penalty(Me,Bn=1,Hn={}){return this._operation("_penalty",[Me,Bn,Hn])}reward(Me,Bn=1,Hn={}){return this._operation("_reward",[Me,Bn,Hn])}get(Me,Bn={}){return this._operation("_get",[Me,Bn])}set(Me,Bn,Hn,zn={}){return this._operation("_set",[Me,Bn,Hn,zn])}block(Me,Bn,Hn={}){return this._operation("_block",[Me,Bn,Hn])}delete(Me,Bn={}){return this._operation("_delete",[Me,Bn])}_consume(){throw new Error("You have to implement the method '_consume'!")}_penalty(){throw new Error("You have to implement the method '_penalty'!")}_reward(){throw new Error("You have to implement the method '_reward'!")}_get(){throw new Error("You have to implement the method '_get'!")}_set(){throw new Error("You have to implement the method '_set'!")}_block(){throw new Error("You have to implement the method '_block'!")}_delete(){throw new Error("You have to implement the method '_delete'!")}}},73250:(Me,Bn,Hn)=>{const zn=Hn(65140);const ni=Hn(80449);class RateLimiterMemcache extends zn{constructor(Me){super(Me);this.client=Me.storeClient}_getRateLimiterRes(Me,Bn,Hn){const zn=new ni;zn.consumedPoints=parseInt(Hn.consumedPoints);zn.isFirstInDuration=Hn.consumedPoints===Bn;zn.remainingPoints=Math.max(this.points-zn.consumedPoints,0);zn.msBeforeNext=Hn.msBeforeNext;return zn}_upsert(Me,Bn,Hn,zn=false,ni={}){return new Promise(((Ci,ts)=>{const Ps=Date.now();const aa=Math.floor(Hn/1e3);if(zn){this.client.set(Me,Bn,aa,(Hn=>{if(!Hn){this.client.set(`${Me}_expire`,aa>0?Ps+aa*1e3:-1,aa,(()=>{const Me={consumedPoints:Bn,msBeforeNext:aa>0?aa*1e3:-1};Ci(Me)}))}else{ts(Hn)}}))}else{this.client.incr(Me,Bn,((oa,ca)=>{if(oa||ca===false){this.client.add(Me,Bn,aa,((oa,ca)=>{if(oa||!ca){if(typeof ni.attemptNumber==="undefined"||ni.attemptNumber<3){const Ps=Object.assign({},ni);Ps.attemptNumber=Ps.attemptNumber?Ps.attemptNumber+1:1;this._upsert(Me,Bn,Hn,zn,Ps).then((Me=>Ci(Me))).catch((Me=>ts(Me)))}else{ts(new Error("Can not add key"))}}else{this.client.add(`${Me}_expire`,aa>0?Ps+aa*1e3:-1,aa,(()=>{const Me={consumedPoints:Bn,msBeforeNext:aa>0?aa*1e3:-1};Ci(Me)}))}}))}else{this.client.get(`${Me}_expire`,((Me,Bn)=>{if(Me){ts(Me)}else{const Me=Bn===false?0:Bn;const Hn={consumedPoints:ca,msBeforeNext:Me>=0?Math.max(Me-Ps,0):-1};Ci(Hn)}}))}}))}}))}_get(Me){return new Promise(((Bn,Hn)=>{const zn=Date.now();this.client.get(Me,((ni,Ci)=>{if(!Ci){Bn(null)}else{this.client.get(`${Me}_expire`,((Me,ni)=>{if(Me){Hn(Me)}else{const Me=ni===false?0:ni;const Hn={consumedPoints:Ci,msBeforeNext:Me>=0?Math.max(Me-zn,0):-1};Bn(Hn)}}))}}))}))}_delete(Me){return new Promise(((Bn,Hn)=>{this.client.del(Me,((zn,ni)=>{if(zn){Hn(zn)}else if(ni===false){Bn(ni)}else{this.client.del(`${Me}_expire`,(Me=>{if(Me){Hn(Me)}else{Bn(ni)}}))}}))}))}}Me.exports=RateLimiterMemcache},24544:(Me,Bn,Hn)=>{const zn=Hn(88569);const ni=Hn(81534);const Ci=Hn(80449);class RateLimiterMemory extends zn{constructor(Me={}){super(Me);this._memoryStorage=new ni}consume(Me,Bn=1,Hn={}){return new Promise(((zn,ni)=>{const Ci=this.getKey(Me);const ts=this._getKeySecDuration(Hn);let Ps=this._memoryStorage.incrby(Ci,Bn,ts);Ps.remainingPoints=Math.max(this.points-Ps.consumedPoints,0);if(Ps.consumedPoints>this.points){if(this.blockDuration>0&&Ps.consumedPoints<=this.points+Bn){Ps=this._memoryStorage.set(Ci,Ps.consumedPoints,this.blockDuration)}ni(Ps)}else if(this.execEvenly&&Ps.msBeforeNext>0&&!Ps.isFirstInDuration){let Me=Math.ceil(Ps.msBeforeNext/(Ps.remainingPoints+2));if(Me{const ni=this._getKeySecDuration(Hn);const Ci=this._memoryStorage.incrby(zn,Bn,ni);Ci.remainingPoints=Math.max(this.points-Ci.consumedPoints,0);Me(Ci)}))}reward(Me,Bn=1,Hn={}){const zn=this.getKey(Me);return new Promise((Me=>{const ni=this._getKeySecDuration(Hn);const Ci=this._memoryStorage.incrby(zn,-Bn,ni);Ci.remainingPoints=Math.max(this.points-Ci.consumedPoints,0);Me(Ci)}))}block(Me,Bn){const Hn=Bn*1e3;const zn=this.points+1;this._memoryStorage.set(this.getKey(Me),zn,Bn);return Promise.resolve(new Ci(0,Hn===0?-1:Hn,zn))}set(Me,Bn,Hn){const zn=(Hn>=0?Hn:this.duration)*1e3;this._memoryStorage.set(this.getKey(Me),Bn,Hn);return Promise.resolve(new Ci(0,zn===0?-1:zn,Bn))}get(Me){const Bn=this._memoryStorage.get(this.getKey(Me));if(Bn!==null){Bn.remainingPoints=Math.max(this.points-Bn.consumedPoints,0)}return Promise.resolve(Bn)}delete(Me){return Promise.resolve(this._memoryStorage.delete(this.getKey(Me)))}}Me.exports=RateLimiterMemory},28439:(Me,Bn,Hn)=>{const zn=Hn(65140);const ni=Hn(80449);function getDriverVersion(Me){try{const Bn=Me.client?Me.client:Me;let Hn=[0,0,0];if(typeof Bn.topology==="undefined"){const{version:Me}=Bn.options.metadata.driver;Hn=Me.split("|",1)[0].split(".").map((Me=>parseInt(Me)))}else{const{version:Me}=Bn.topology.s.options.metadata.driver;Hn=Me.split(".").map((Me=>parseInt(Me)))}return{major:Hn[0],feature:Hn[1],patch:Hn[2]}}catch(Me){return{major:0,feature:0,patch:0}}}class RateLimiterMongo extends zn{constructor(Me){super(Me);this.dbName=Me.dbName;this.tableName=Me.tableName;this.indexKeyPrefix=Me.indexKeyPrefix;this.disableIndexesCreation=Me.disableIndexesCreation;if(Me.mongo){this.client=Me.mongo}else{this.client=Me.storeClient}if(typeof this.client.then==="function"){this.client.then((Me=>{this.client=Me;this._initCollection();this._driverVersion=getDriverVersion(this.client)}))}else{this._initCollection();this._driverVersion=getDriverVersion(this.client)}}get dbName(){return this._dbName}set dbName(Me){this._dbName=typeof Me==="undefined"?RateLimiterMongo.getDbName():Me}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(Me){this._tableName=typeof Me==="undefined"?this.keyPrefix:Me}get client(){return this._client}set client(Me){if(typeof Me==="undefined"){throw new Error("mongo is not set")}this._client=Me}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(Me){this._indexKeyPrefix=Me||{}}get disableIndexesCreation(){return this._disableIndexesCreation}set disableIndexesCreation(Me){this._disableIndexesCreation=!!Me}async createIndexes(){const Me=typeof this.client.db==="function"?this.client.db(this.dbName):this.client;const Bn=Me.collection(this.tableName);await Bn.createIndex({expire:-1},{expireAfterSeconds:0});await Bn.createIndex(Object.assign({},this.indexKeyPrefix,{key:1}),{unique:true})}_initCollection(){const Me=typeof this.client.db==="function"?this.client.db(this.dbName):this.client;const Bn=Me.collection(this.tableName);if(!this.disableIndexesCreation){this.createIndexes().catch((Me=>{console.error(`Cannot create indexes for mongo collection ${this.tableName}`,Me)}))}this._collection=Bn}_getRateLimiterRes(Me,Bn,Hn){const zn=new ni;let Ci;if(typeof Hn.value==="undefined"){Ci=Hn}else{Ci=Hn.value}zn.isFirstInDuration=Ci.points===Bn;zn.consumedPoints=Ci.points;zn.remainingPoints=Math.max(this.points-zn.consumedPoints,0);zn.msBeforeNext=Ci.expire!==null?Math.max(new Date(Ci.expire).getTime()-Date.now(),0):-1;return zn}_upsert(Me,Bn,Hn,zn=false,ni={}){if(!this._collection){return Promise.reject(Error("Mongo connection is not established"))}const Ci=ni.attrs||{};let ts;let Ps;if(zn){ts={key:Me};ts=Object.assign(ts,Ci);Ps={$set:{key:Me,points:Bn,expire:Hn>0?new Date(Date.now()+Hn):null}};Ps.$set=Object.assign(Ps.$set,Ci)}else{ts={$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}],key:Me};ts=Object.assign(ts,Ci);Ps={$setOnInsert:{key:Me,expire:Hn>0?new Date(Date.now()+Hn):null},$inc:{points:Bn}};Ps.$setOnInsert=Object.assign(Ps.$setOnInsert,Ci)}const aa={upsert:true};if(this._driverVersion.major>=4||(this._driverVersion.major===3&&this._driverVersion.feature>=7||this._driverVersion.feature>=6&&this._driverVersion.patch>=7)){aa.returnDocument="after"}else{aa.returnOriginal=false}return new Promise(((ni,oa)=>{this._collection.findOneAndUpdate(ts,Ps,aa).then((Me=>{ni(Me)})).catch((ts=>{if(ts&&ts.code===11e3){const ts=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:Me},Ci);const Ps={$set:Object.assign({key:Me,points:Bn,expire:Hn>0?new Date(Date.now()+Hn):null},Ci)};this._collection.findOneAndUpdate(ts,Ps,aa).then((Me=>{ni(Me)})).catch((Ci=>{if(Ci&&Ci.code===11e3){this._upsert(Me,Bn,Hn,zn).then((Me=>ni(Me))).catch((Me=>oa(Me)))}else{oa(Ci)}}))}else{oa(ts)}}))}))}_get(Me,Bn={}){if(!this._collection){return Promise.reject(Error("Mongo connection is not established"))}const Hn=Bn.attrs||{};const zn=Object.assign({key:Me,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},Hn);return this._collection.findOne(zn)}_delete(Me,Bn={}){if(!this._collection){return Promise.reject(Error("Mongo connection is not established"))}const Hn=Bn.attrs||{};const zn=Object.assign({key:Me},Hn);return this._collection.deleteOne(zn).then((Me=>Me.deletedCount>0))}}Me.exports=RateLimiterMongo},67793:(Me,Bn,Hn)=>{const zn=Hn(65140);const ni=Hn(80449);class RateLimiterMySQL extends zn{constructor(Me,Bn=null){super(Me);this.client=Me.storeClient;this.clientType=Me.storeType;this.dbName=Me.dbName;this.tableName=Me.tableName;this.clearExpiredByTimeout=Me.clearExpiredByTimeout;this.tableCreated=Me.tableCreated;if(!this.tableCreated){this._createDbAndTable().then((()=>{this.tableCreated=true;if(this.clearExpiredByTimeout){this._clearExpiredHourAgo()}if(typeof Bn==="function"){Bn()}})).catch((Me=>{if(typeof Bn==="function"){Bn(Me)}else{throw Me}}))}else{if(this.clearExpiredByTimeout){this._clearExpiredHourAgo()}if(typeof Bn==="function"){Bn()}}}clearExpired(Me){return new Promise((Bn=>{this._getConnection().then((Hn=>{Hn.query(`DELETE FROM ??.?? WHERE expire < ?`,[this.dbName,this.tableName,Me],(()=>{this._releaseConnection(Hn);Bn()}))})).catch((()=>{Bn()}))}))}_clearExpiredHourAgo(){if(this._clearExpiredTimeoutId){clearTimeout(this._clearExpiredTimeoutId)}this._clearExpiredTimeoutId=setTimeout((()=>{this.clearExpired(Date.now()-36e5).then((()=>{this._clearExpiredHourAgo()}))}),3e5);this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return new Promise(((Me,Bn)=>{this.client.getConnection(((Hn,zn)=>{if(Hn){return Bn(Hn)}Me(zn)}))}));case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(Me){switch(this.clientType){case"pool":return Me.release();case"sequelize":return this.client.connectionManager.releaseConnection(Me);case"knex":return this.client.client.releaseConnection(Me);default:return true}}_createDbAndTable(){return new Promise(((Me,Bn)=>{this._getConnection().then((Hn=>{Hn.query(`CREATE DATABASE IF NOT EXISTS \`${this.dbName}\`;`,(zn=>{if(zn){this._releaseConnection(Hn);return Bn(zn)}Hn.query(this._getCreateTableStmt(),(zn=>{if(zn){this._releaseConnection(Hn);return Bn(zn)}this._releaseConnection(Hn);Me()}))}))})).catch((Me=>{Bn(Me)}))}))}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS \`${this.dbName}\`.\`${this.tableName}\` (`+"`key` VARCHAR(255) CHARACTER SET utf8 NOT NULL,"+"`points` INT(9) NOT NULL default 0,"+"`expire` BIGINT UNSIGNED,"+"PRIMARY KEY (`key`)"+") ENGINE = INNODB;"}get clientType(){return this._clientType}set clientType(Me){if(typeof Me==="undefined"){if(this.client.constructor.name==="Connection"){Me="connection"}else if(this.client.constructor.name==="Pool"){Me="pool"}else if(this.client.constructor.name==="Sequelize"){Me="sequelize"}else{throw new Error("storeType is not defined")}}this._clientType=Me.toLowerCase()}get dbName(){return this._dbName}set dbName(Me){this._dbName=typeof Me==="undefined"?"rtlmtrflx":Me}get tableName(){return this._tableName}set tableName(Me){this._tableName=typeof Me==="undefined"?this.keyPrefix:Me}get tableCreated(){return this._tableCreated}set tableCreated(Me){this._tableCreated=typeof Me==="undefined"?false:!!Me}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(Me){this._clearExpiredByTimeout=typeof Me==="undefined"?true:Boolean(Me)}_getRateLimiterRes(Me,Bn,Hn){const zn=new ni;const[Ci]=Hn;zn.isFirstInDuration=Bn===Ci.points;zn.consumedPoints=zn.isFirstInDuration?Bn:Ci.points;zn.remainingPoints=Math.max(this.points-zn.consumedPoints,0);zn.msBeforeNext=Ci.expire?Math.max(Ci.expire-Date.now(),0):-1;return zn}_upsertTransaction(Me,Bn,Hn,zn,ni){return new Promise(((Ci,ts)=>{Me.query("BEGIN",(Ps=>{if(Ps){Me.rollback();return ts(Ps)}const aa=Date.now();const oa=zn>0?aa+zn:null;let ca;let _a;if(ni){ca=`INSERT INTO ??.?? VALUES (?, ?, ?)\n ON DUPLICATE KEY UPDATE \n points = ?, \n expire = ?;`;_a=[this.dbName,this.tableName,Bn,Hn,oa,Hn,oa]}else{ca=`INSERT INTO ??.?? VALUES (?, ?, ?)\n ON DUPLICATE KEY UPDATE \n points = IF(expire <= ?, ?, points + (?)), \n expire = IF(expire <= ?, ?, expire);`;_a=[this.dbName,this.tableName,Bn,Hn,oa,aa,Hn,Hn,aa,oa]}Me.query(ca,_a,(Hn=>{if(Hn){Me.rollback();return ts(Hn)}Me.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,Bn],((Bn,Hn)=>{if(Bn){Me.rollback();return ts(Bn)}Me.query("COMMIT",(Bn=>{if(Bn){Me.rollback();return ts(Bn)}Ci(Hn)}))}))}))}))}))}_upsert(Me,Bn,Hn,zn=false){if(!this.tableCreated){return Promise.reject(Error("Table is not created yet"))}return new Promise(((ni,Ci)=>{this._getConnection().then((ts=>{this._upsertTransaction(ts,Me,Bn,Hn,zn).then((Me=>{ni(Me);this._releaseConnection(ts)})).catch((Me=>{Ci(Me);this._releaseConnection(ts)}))})).catch((Me=>{Ci(Me)}))}))}_get(Me){if(!this.tableCreated){return Promise.reject(Error("Table is not created yet"))}return new Promise(((Bn,Hn)=>{this._getConnection().then((zn=>{zn.query("SELECT points, expire FROM ??.?? WHERE `key` = ? AND (`expire` > ? OR `expire` IS NULL)",[this.dbName,this.tableName,Me,Date.now()],((Me,ni)=>{if(Me){Hn(Me)}else if(ni.length===0){Bn(null)}else{Bn(ni)}this._releaseConnection(zn)}))})).catch((Me=>{Hn(Me)}))}))}_delete(Me){if(!this.tableCreated){return Promise.reject(Error("Table is not created yet"))}return new Promise(((Bn,Hn)=>{this._getConnection().then((zn=>{zn.query("DELETE FROM ??.?? WHERE `key` = ?",[this.dbName,this.tableName,Me],((Me,ni)=>{if(Me){Hn(Me)}else{Bn(ni.affectedRows>0)}this._releaseConnection(zn)}))})).catch((Me=>{Hn(Me)}))}))}}Me.exports=RateLimiterMySQL},3740:(Me,Bn,Hn)=>{const zn=Hn(65140);const ni=Hn(80449);class RateLimiterPostgres extends zn{constructor(Me,Bn=null){super(Me);this.client=Me.storeClient;this.clientType=Me.storeType;this.tableName=Me.tableName;this.schemaName=Me.schemaName;this.clearExpiredByTimeout=Me.clearExpiredByTimeout;this.tableCreated=Me.tableCreated;if(!this.tableCreated){this._createTable().then((()=>{this.tableCreated=true;if(this.clearExpiredByTimeout){this._clearExpiredHourAgo()}if(typeof Bn==="function"){Bn()}})).catch((Me=>{if(typeof Bn==="function"){Bn(Me)}else{throw Me}}))}else{if(this.clearExpiredByTimeout){this._clearExpiredHourAgo()}if(typeof Bn==="function"){Bn()}}}_getTableIdentifier(){return this.schemaName?`"${this.schemaName}"."${this.tableName}"`:`"${this.tableName}"`}clearExpired(Me){return new Promise((Bn=>{const Hn={name:"rlflx-clear-expired",text:`DELETE FROM ${this._getTableIdentifier()} WHERE expire < $1`,values:[Me]};this._query(Hn).then((()=>{Bn()})).catch((()=>{Bn()}))}))}_clearExpiredHourAgo(){if(this._clearExpiredTimeoutId){clearTimeout(this._clearExpiredTimeoutId)}this._clearExpiredTimeoutId=setTimeout((()=>{this.clearExpired(Date.now()-36e5).then((()=>{this._clearExpiredHourAgo()}))}),3e5);this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return Promise.resolve(this.client);case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();case"typeorm":return Promise.resolve(this.client.driver.master);default:return Promise.resolve(this.client)}}_releaseConnection(Me){switch(this.clientType){case"pool":return true;case"sequelize":return this.client.connectionManager.releaseConnection(Me);case"knex":return this.client.client.releaseConnection(Me);case"typeorm":return true;default:return true}}_createTable(){return new Promise(((Me,Bn)=>{this._query({text:this._getCreateTableStmt()}).then((()=>{Me()})).catch((Hn=>{if(Hn.code==="23505"){Me()}else{Bn(Hn)}}))}))}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS ${this._getTableIdentifier()} (\n key varchar(255) PRIMARY KEY,\n points integer NOT NULL DEFAULT 0,\n expire bigint\n );`}get clientType(){return this._clientType}set clientType(Me){const Bn=this.client.constructor.name;if(typeof Me==="undefined"){if(Bn==="Client"){Me="client"}else if(Bn==="Pool"||Bn==="BoundPool"){Me="pool"}else if(Bn==="Sequelize"){Me="sequelize"}else{throw new Error("storeType is not defined")}}this._clientType=Me.toLowerCase()}get tableName(){return this._tableName}set tableName(Me){this._tableName=typeof Me==="undefined"?this.keyPrefix:Me}get schemaName(){return this._schemaName}set schemaName(Me){this._schemaName=Me}get tableCreated(){return this._tableCreated}set tableCreated(Me){this._tableCreated=typeof Me==="undefined"?false:!!Me}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(Me){this._clearExpiredByTimeout=typeof Me==="undefined"?true:Boolean(Me)}_getRateLimiterRes(Me,Bn,Hn){const zn=new ni;const Ci=Hn.rows[0];zn.isFirstInDuration=Bn===Ci.points;zn.consumedPoints=zn.isFirstInDuration?Bn:Ci.points;zn.remainingPoints=Math.max(this.points-zn.consumedPoints,0);zn.msBeforeNext=Ci.expire?Math.max(Ci.expire-Date.now(),0):-1;return zn}_query(Me){const Bn=this.tableName.toLowerCase();const Hn={name:`${Bn}:${Me.name}`,text:Me.text,values:Me.values};return new Promise(((Me,Bn)=>{this._getConnection().then((zn=>{zn.query(Hn).then((Bn=>{Me(Bn);this._releaseConnection(zn)})).catch((Me=>{Bn(Me);this._releaseConnection(zn)}))})).catch((Me=>{Bn(Me)}))}))}_upsert(Me,Bn,Hn,zn=false){if(!this.tableCreated){return Promise.reject(Error("Table is not created yet"))}const ni=Hn>0?Date.now()+Hn:null;const Ci=zn?" $3 ":` CASE\n WHEN ${this._getTableIdentifier()}.expire <= $4 THEN $3\n ELSE ${this._getTableIdentifier()}.expire\n END `;return this._query({name:zn?"rlflx-upsert-force":"rlflx-upsert",text:`\n INSERT INTO ${this._getTableIdentifier()} VALUES ($1, $2, $3)\n ON CONFLICT(key) DO UPDATE SET\n points = CASE\n WHEN (${this._getTableIdentifier()}.expire <= $4 OR 1=${zn?1:0}) THEN $2\n ELSE ${this._getTableIdentifier()}.points + ($2)\n END,\n expire = ${Ci}\n RETURNING points, expire;`,values:[Me,Bn,ni,Date.now()]})}_get(Me){if(!this.tableCreated){return Promise.reject(Error("Table is not created yet"))}return new Promise(((Bn,Hn)=>{this._query({name:"rlflx-get",text:`\n SELECT points, expire FROM ${this._getTableIdentifier()} WHERE key = $1 AND (expire > $2 OR expire IS NULL);`,values:[Me,Date.now()]}).then((Me=>{if(Me.rowCount===0){Me=null}Bn(Me)})).catch((Me=>{Hn(Me)}))}))}_delete(Me){if(!this.tableCreated){return Promise.reject(Error("Table is not created yet"))}return this._query({name:"rlflx-delete",text:`DELETE FROM ${this._getTableIdentifier()} WHERE key = $1`,values:[Me]}).then((Me=>Me.rowCount>0))}}Me.exports=RateLimiterPostgres},16323:(Me,Bn,Hn)=>{const zn=Hn(65140);const ni=Hn(80449);class RateLimiterPrisma extends zn{constructor(Me){super(Me);this.modelName=Me.tableName||"RateLimiterFlexible";this.prismaClient=Me.storeClient;this.clearExpiredByTimeout=Me.clearExpiredByTimeout||true;if(!this.prismaClient){throw new Error("Prisma client is not provided")}if(this.clearExpiredByTimeout){this._clearExpiredHourAgo()}}_getRateLimiterRes(Me,Bn,Hn){const zn=new ni;let Ci=Hn;zn.isFirstInDuration=Ci.points===Bn;zn.consumedPoints=Ci.points;zn.remainingPoints=Math.max(this.points-zn.consumedPoints,0);zn.msBeforeNext=Ci.expire!==null?Math.max(new Date(Ci.expire).getTime()-Date.now(),0):-1;return zn}_upsert(Me,Bn,Hn,zn=false){if(!this.prismaClient){return Promise.reject(new Error("Prisma client is not established"))}const ni=new Date;const Ci=Hn>0?new Date(ni.getTime()+Hn):null;return this.prismaClient.$transaction((async Hn=>{const ts=await Hn[this.modelName].findFirst({where:{key:Me}});if(ts){const Ps=zn||!ts.expire||ts.expire<=ni||Ci===null;return Hn[this.modelName].update({where:{key:Me},data:{points:!Ps?ts.points+Bn:Bn,...Ps&&{expire:Ci}}})}else{return Hn[this.modelName].create({data:{key:Me,points:Bn,expire:Ci}})}}))}_get(Me){if(!this.prismaClient){return Promise.reject(new Error("Prisma client is not established"))}return this.prismaClient[this.modelName].findFirst({where:{AND:[{key:Me},{OR:[{expire:{gt:new Date}},{expire:null}]}]}})}_delete(Me){if(!this.prismaClient){return Promise.reject(new Error("Prisma client is not established"))}return this.prismaClient[this.modelName].deleteMany({where:{key:Me}}).then((Me=>Me.count>0))}_clearExpiredHourAgo(){if(this._clearExpiredTimeoutId){clearTimeout(this._clearExpiredTimeoutId)}this._clearExpiredTimeoutId=setTimeout((async()=>{await this.prismaClient[this.modelName].deleteMany({where:{expire:{lt:new Date(Date.now()-36e5)}}});this._clearExpiredHourAgo()}),3e5);this._clearExpiredTimeoutId.unref()}}Me.exports=RateLimiterPrisma},52860:(Me,Bn,Hn)=>{const zn=Hn(27948);const ni=4294967295;const Ci="limiter";Me.exports=class RateLimiterQueue{constructor(Me,Bn={maxQueueSize:ni}){this._queueLimiters={KEY_DEFAULT:new RateLimiterQueueInternal(Me,Bn)};this._limiterFlexible=Me;this._maxQueueSize=Bn.maxQueueSize}getTokensRemaining(Me=Ci){if(this._queueLimiters[Me]){return this._queueLimiters[Me].getTokensRemaining()}else{return Promise.resolve(this._limiterFlexible.points)}}removeTokens(Me,Bn=Ci){if(!this._queueLimiters[Bn]){this._queueLimiters[Bn]=new RateLimiterQueueInternal(this._limiterFlexible,{key:Bn,maxQueueSize:this._maxQueueSize})}return this._queueLimiters[Bn].removeTokens(Me)}};class RateLimiterQueueInternal{constructor(Me,Bn={maxQueueSize:ni,key:Ci}){this._key=Bn.key;this._waitTimeout=null;this._queue=[];this._limiterFlexible=Me;this._maxQueueSize=Bn.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then((Me=>Me!==null?Me.remainingPoints:this._limiterFlexible.points))}removeTokens(Me){const Bn=this;return new Promise(((Hn,ni)=>{if(Me>Bn._limiterFlexible.points){ni(new zn(`Requested tokens ${Me} exceeds maximum ${Bn._limiterFlexible.points} tokens per interval`));return}if(Bn._queue.length>0){Bn._queueRequest.call(Bn,Hn,ni,Me)}else{Bn._limiterFlexible.consume(Bn._key,Me).then((Me=>{Hn(Me.remainingPoints)})).catch((zn=>{if(zn instanceof Error){ni(zn)}else{Bn._queueRequest.call(Bn,Hn,ni,Me);if(Bn._waitTimeout===null){Bn._waitTimeout=setTimeout(Bn._processFIFO.bind(Bn),zn.msBeforeNext)}}}))}}))}_queueRequest(Me,Bn,Hn){const ni=this;if(ni._queue.length{Bn.resolve(Hn.remainingPoints);Me._processFIFO.call(Me)})).catch((Hn=>{if(Hn instanceof Error){Bn.reject(Hn);Me._processFIFO.call(Me)}else{Me._queue.unshift(Bn);if(Me._waitTimeout===null){Me._waitTimeout=setTimeout(Me._processFIFO.bind(Me),Hn.msBeforeNext)}}}))}}},54336:(Me,Bn,Hn)=>{const zn=Hn(65140);const ni=Hn(80449);const Ci=`redis.call('set', KEYS[1], 0, 'EX', ARGV[2], 'NX') local consumed = redis.call('incrby', KEYS[1], ARGV[1]) local ttl = redis.call('pttl', KEYS[1]) if ttl == -1 then redis.call('expire', KEYS[1], ARGV[2]) ttl = 1000 * ARGV[2] end return {consumed, ttl} `;class RateLimiterRedis extends zn{constructor(Me){super(Me);this.client=Me.storeClient;this._rejectIfRedisNotReady=!!Me.rejectIfRedisNotReady;this._incrTtlLuaScript=Me.customIncrTtlLuaScript||Ci;this.useRedisPackage=Me.useRedisPackage||this.client.constructor.name==="Commander"||false;this.useRedis3AndLowerPackage=Me.useRedis3AndLowerPackage;if(typeof this.client.defineCommand==="function"){this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:this._incrTtlLuaScript})}}_isRedisReady(Me,Bn){if(!this._rejectIfRedisNotReady){return true}if(this.client.status){return this.client.status==="ready"}if(typeof this.client.isReady==="function"){return this.client.isReady()}if(typeof this.client.isReady==="boolean"){return this.client.isReady===true}if(this.client._slots&&typeof this.client._slots.getClient==="function"){if(typeof this.client.isOpen==="boolean"&&this.client.isOpen!==true){return false}try{const Hn=this.client._slots.getClient(Me,Bn);return Hn&&Hn.isReady===true}catch(Me){return false}}return true}_getRateLimiterRes(Me,Bn,Hn){let[zn,Ci]=Hn;if(Array.isArray(zn)){[,zn]=zn;[,Ci]=Ci}const ts=new ni;ts.consumedPoints=parseInt(zn);ts.isFirstInDuration=ts.consumedPoints===Bn;ts.remainingPoints=Math.max(this.points-ts.consumedPoints,0);ts.msBeforeNext=Ci;return ts}async _upsert(Me,Bn,Hn,zn=false){if(typeof Bn=="string"){if(!RegExp("^[1-9][0-9]*$").test(Bn)){throw new Error("Consuming string different than integer values is not supported by this package")}}else if(!Number.isInteger(Bn)){throw new Error("Consuming decimal number of points is not supported by this package")}if(!this._isRedisReady(Me,false)){throw new Error("Redis connection is not ready")}const ni=Math.floor(Hn/1e3);const Ci=this.client.multi();if(zn){if(ni>0){if(!this.useRedisPackage&&!this.useRedis3AndLowerPackage){Ci.set(Me,Bn,"EX",ni)}else{Ci.set(Me,Bn,{EX:ni})}}else{Ci.set(Me,Bn)}if(!this.useRedisPackage&&!this.useRedis3AndLowerPackage){return Ci.pttl(Me).exec(true)}return Ci.pTTL(Me).exec(true)}if(ni>0){if(!this.useRedisPackage&&!this.useRedis3AndLowerPackage){return this.client.rlflxIncr([Me].concat([String(Bn),String(ni),String(this.points),String(this.duration)]))}if(this.useRedis3AndLowerPackage){return new Promise(((Hn,zn)=>{const incrCallback=function(Me,Bn){if(Me){return zn(Me)}return Hn(Bn)};if(typeof this.client.rlflxIncr==="function"){this.client.rlflxIncr(Me,Bn,ni,this.points,this.duration,incrCallback)}else{this.client.eval(this._incrTtlLuaScript,1,Me,Bn,ni,this.points,this.duration,incrCallback)}}))}else{return this.client.eval(this._incrTtlLuaScript,{keys:[Me],arguments:[String(Bn),String(ni),String(this.points),String(this.duration)]})}}else{if(!this.useRedisPackage&&!this.useRedis3AndLowerPackage){return Ci.incrby(Me,Bn).pttl(Me).exec(true)}return Ci.incrBy(Me,Bn).pTTL(Me).exec(true)}}async _get(Me){if(!this._isRedisReady(Me,true)){throw new Error("Redis connection is not ready")}if(!this.useRedisPackage&&!this.useRedis3AndLowerPackage){return this.client.multi().get(Me).pttl(Me).exec().then((Me=>{const[[,Bn]]=Me;if(Bn===null)return null;return Me}))}return this.client.multi().get(Me).pTTL(Me).exec(true).then((Me=>{const[Bn]=Me;if(Bn===null)return null;return Me}))}_delete(Me){return this.client.del(Me).then((Me=>Me>0))}}Me.exports=RateLimiterRedis},80449:Me=>{Me.exports=class RateLimiterRes{constructor(Me,Bn,Hn,zn){this.remainingPoints=typeof Me==="undefined"?0:Me;this.msBeforeNext=typeof Bn==="undefined"?0:Bn;this.consumedPoints=typeof Hn==="undefined"?0:Hn;this.isFirstInDuration=typeof zn==="undefined"?false:zn}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(Me){this._msBeforeNext=Me;return this}get remainingPoints(){return this._remainingPoints}set remainingPoints(Me){this._remainingPoints=Me;return this}get consumedPoints(){return this._consumedPoints}set consumedPoints(Me){this._consumedPoints=Me;return this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(Me){this._isFirstInDuration=Boolean(Me)}_getDecoratedProperties(){return{remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}},73283:(Me,Bn,Hn)=>{const zn=Hn(65140);const ni=Hn(80449);class RateLimiterSQLite extends zn{_internalStoreType=null;constructor(Me,Bn=null){super(Me);this.client=Me.storeClient;this.storeType=Me.storeType||"sqlite3";this.tableName=Me.tableName;this.tableCreated=Me.tableCreated||false;this.clearExpiredByTimeout=Me.clearExpiredByTimeout;this._validateStoreTypes(Bn);this._validateStoreClient(Bn);this._setInternalStoreType(Bn);this._validateTableName(Bn);if(!this.tableCreated){this._createDbAndTable().then((()=>{this.tableCreated=true;if(this.clearExpiredByTimeout)this._clearExpiredHourAgo();if(typeof Bn==="function")Bn()})).catch((Me=>{if(typeof Bn==="function")Bn(Me);else throw Me}))}else{if(this.clearExpiredByTimeout)this._clearExpiredHourAgo();if(typeof Bn==="function")Bn()}}_validateStoreTypes(Me){const Bn=["sqlite3","better-sqlite3","knex"];if(!Bn.includes(this.storeType)){const Hn=new Error(`storeType must be one of: ${Bn.join(", ")}`);if(typeof Me==="function")return Me(Hn);throw Hn}}_validateStoreClient(Me){if(this.storeType==="sqlite3"){if(typeof this.client.run!=="function"){const Bn=new Error("storeClient must be an instance of sqlite3.Database when storeType is 'sqlite3' or no storeType was provided");if(typeof Me==="function")return Me(Bn);throw Bn}}else if(this.storeType==="better-sqlite3"){if(typeof this.client.prepare!=="function"||typeof this.client.run!=="undefined"){const Bn=new Error("storeClient must be an instance of better-sqlite3.Database when storeType is 'better-sqlite3'");if(typeof Me==="function")return Me(Bn);throw Bn}}else if(this.storeType==="knex"){if(typeof this.client.raw!=="function"){const Bn=new Error("storeClient must be an instance of Knex when storeType is 'knex'");if(typeof Me==="function")return Me(Bn);throw Bn}}}_setInternalStoreType(Me){if(this.storeType==="knex"){const Bn=this.client.client.config.client;if(Bn==="sqlite3"){this._internalStoreType="sqlite3"}else if(Bn==="better-sqlite3"){this._internalStoreType="better-sqlite3"}else{const Bn=new Error("Knex must be configured with 'sqlite3' or 'better-sqlite3' for RateLimiterSQLite");if(typeof Me==="function")return Me(Bn);throw Bn}}else{this._internalStoreType=this.storeType}}_validateTableName(Me){if(!/^[A-Za-z0-9_]*$/.test(this.tableName)){const Bn=new Error("Table name must contain only letters and numbers");if(typeof Me==="function")return Me(Bn);throw Bn}}async _getConnection(){if(this.storeType==="knex"){return this.client.client.acquireConnection()}return this.client}_releaseConnection(Me){if(this.storeType==="knex"){this.client.client.releaseConnection(Me)}}async _createDbAndTable(){const Me=await this._getConnection();try{switch(this._internalStoreType){case"sqlite3":await new Promise(((Bn,Hn)=>{Me.run(this._getCreateTableSQL(),(Me=>Me?Hn(Me):Bn()))}));break;case"better-sqlite3":Me.prepare(this._getCreateTableSQL()).run();break;default:throw new Error("Unsupported internalStoreType")}}finally{this._releaseConnection(Me)}}_getCreateTableSQL(){return`CREATE TABLE IF NOT EXISTS ${this.tableName} (\n key TEXT PRIMARY KEY,\n points INTEGER NOT NULL DEFAULT 0,\n expire INTEGER\n )`}_clearExpiredHourAgo(){if(this._clearExpiredTimeoutId)clearTimeout(this._clearExpiredTimeoutId);this._clearExpiredTimeoutId=setTimeout((()=>{this.clearExpired(Date.now()-36e5).then((()=>this._clearExpiredHourAgo()))}),3e5);this._clearExpiredTimeoutId.unref()}async clearExpired(Me){const Bn=`DELETE FROM ${this.tableName} WHERE expire < ?`;const Hn=await this._getConnection();try{switch(this._internalStoreType){case"sqlite3":await new Promise(((zn,ni)=>{Hn.run(Bn,[Me],(Me=>Me?ni(Me):zn()))}));break;case"better-sqlite3":Hn.prepare(Bn).run(Me);break;default:throw new Error("Unsupported internalStoreType")}}finally{this._releaseConnection(Hn)}}_getRateLimiterRes(Me,Bn,Hn){const zn=new ni;zn.isFirstInDuration=Bn===Hn.points;zn.consumedPoints=zn.isFirstInDuration?Bn:Hn.points;zn.remainingPoints=Math.max(this.points-zn.consumedPoints,0);zn.msBeforeNext=Hn.expire?Math.max(Hn.expire-Date.now(),0):-1;return zn}async _upsertTransactionSQLite3(Me,Bn,Hn){return await new Promise(((zn,ni)=>{Me.serialize((()=>{Me.run("SAVEPOINT rate_limiter_trx;",(Ci=>{if(Ci)return ni(Ci);Me.get(Bn,Hn,((Bn,Hn)=>{if(Bn){Me.run("ROLLBACK TO SAVEPOINT rate_limiter_trx;",(()=>ni(Bn)));return}Me.run("RELEASE SAVEPOINT rate_limiter_trx;",(()=>zn(Hn)))}))}))}))}))}async _upsertTransactionBetterSQLite3(Me,Bn,Hn){return Me.transaction((()=>Me.prepare(Bn).get(...Hn)))()}async _upsertTransaction(Me,Bn,Hn,zn){const ni=Date.now();const Ci=Hn>0?ni+Hn:null;const ts=zn?`INSERT OR REPLACE INTO ${this.tableName} (key, points, expire) VALUES (?, ?, ?) RETURNING points, expire`:`INSERT INTO ${this.tableName} (key, points, expire)\n VALUES (?, ?, ?)\n ON CONFLICT(key) DO UPDATE SET\n points = CASE WHEN expire IS NULL OR expire > ? THEN points + excluded.points ELSE excluded.points END,\n expire = CASE WHEN expire IS NULL OR expire > ? THEN expire ELSE excluded.expire END\n RETURNING points, expire`;const Ps=zn?[Me,Bn,Ci]:[Me,Bn,Ci,ni,ni];const aa=await this._getConnection();try{switch(this._internalStoreType){case"sqlite3":return this._upsertTransactionSQLite3(aa,ts,Ps);case"better-sqlite3":return this._upsertTransactionBetterSQLite3(aa,ts,Ps);default:throw new Error("Unsupported internalStoreType")}}finally{this._releaseConnection(aa)}}_upsert(Me,Bn,Hn,zn=false){if(!this.tableCreated){return Promise.reject(new Error("Table is not created yet"))}return this._upsertTransaction(Me,Bn,Hn,zn)}async _get(Me){const Bn=`SELECT points, expire FROM ${this.tableName} WHERE key = ? AND (expire > ? OR expire IS NULL)`;const Hn=Date.now();const zn=await this._getConnection();try{switch(this._internalStoreType){case"sqlite3":return await new Promise(((ni,Ci)=>{zn.get(Bn,[Me,Hn],((Me,Bn)=>Me?Ci(Me):ni(Bn||null)))}));case"better-sqlite3":return zn.prepare(Bn).get(Me,Hn)||null;default:throw new Error("Unsupported internalStoreType")}}finally{this._releaseConnection(zn)}}async _delete(Me){if(!this.tableCreated){return Promise.reject(new Error("Table is not created yet"))}const Bn=`DELETE FROM ${this.tableName} WHERE key = ?`;const Hn=await this._getConnection();try{switch(this._internalStoreType){case"sqlite3":return await new Promise(((zn,ni)=>{Hn.run(Bn,[Me],(function(Me){if(Me)ni(Me);else zn(this.changes>0)}))}));case"better-sqlite3":const zn=Hn.prepare(Bn).run(Me);return zn.changes>0;default:throw new Error("Unsupported internalStoreType")}}finally{this._releaseConnection(Hn)}}}Me.exports=RateLimiterSQLite},65140:(Me,Bn,Hn)=>{const zn=Hn(88569);const ni=Hn(38830);const Ci=Hn(80449);const ts=Hn(33847);Me.exports=class RateLimiterStoreAbstract extends ts{constructor(Me={}){super(Me);this.inMemoryBlockOnConsumed=Me.inMemoryBlockOnConsumed;this.inMemoryBlockDuration=Me.inMemoryBlockDuration;this._inMemoryBlockedKeys=new ni}get client(){return this._client}set client(Me){if(typeof Me==="undefined"){throw new Error("storeClient is not set")}this._client=Me}_afterConsume(Me,Bn,Hn,zn,ni,Ci={}){const ts=this._getRateLimiterRes(Hn,zn,ni);if(this.inMemoryBlockOnConsumed>0&&!(this.inMemoryBlockDuration>0)&&ts.consumedPoints>=this.inMemoryBlockOnConsumed){this._inMemoryBlockedKeys.addMs(Hn,ts.msBeforeNext);if(ts.consumedPoints>this.points){return Bn(ts)}else{return Me(ts)}}else if(ts.consumedPoints>this.points){let Me=Promise.resolve();if(this.blockDuration>0&&ts.consumedPoints<=this.points+zn){ts.msBeforeNext=this.msBlockDuration;Me=this._block(Hn,ts.consumedPoints,this.msBlockDuration,Ci)}if(this.inMemoryBlockOnConsumed>0&&ts.consumedPoints>=this.inMemoryBlockOnConsumed){this._inMemoryBlockedKeys.add(Hn,this.inMemoryBlockDuration);ts.msBeforeNext=this.msInMemoryBlockDuration}Me.then((()=>{Bn(ts)})).catch((Me=>{Bn(Me)}))}else if(this.execEvenly&&ts.msBeforeNext>0&&!ts.isFirstInDuration){let Bn=Math.ceil(ts.msBeforeNext/(ts.remainingPoints+2));if(Bn0){return this._inMemoryBlockedKeys.msBeforeExpire(Me)}return 0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(Me){this._inMemoryBlockOnConsumed=Me?parseInt(Me):0;if(this.inMemoryBlockOnConsumed>0&&this.points>this.inMemoryBlockOnConsumed){throw new Error('inMemoryBlockOnConsumed option must be greater or equal "points" option')}}get inMemoryBlockDuration(){return this._inMemoryBlockDuration}set inMemoryBlockDuration(Me){this._inMemoryBlockDuration=Me?parseInt(Me):0;if(this.inMemoryBlockDuration>0&&this.inMemoryBlockOnConsumed===0){throw new Error("inMemoryBlockOnConsumed option must be set up")}}get msInMemoryBlockDuration(){return this._inMemoryBlockDuration*1e3}block(Me,Bn,Hn={}){const zn=Bn*1e3;return this._block(this.getKey(Me),this.points+1,zn,Hn)}set(Me,Bn,Hn,zn={}){const ni=(Hn>=0?Hn:this.duration)*1e3;return this._block(this.getKey(Me),Bn,ni,zn)}_consume(Me,Bn=1,Hn={}){return new Promise(((zn,ni)=>{const ts=this.getKey(Me);const Ps=this.getInMemoryBlockMsBeforeExpire(ts);if(Ps>0){return ni(new Ci(0,Ps))}this._upsert(ts,Bn,this._getKeySecDuration(Hn)*1e3,false,Hn).then((Me=>{this._afterConsume(zn,ni,ts,Bn,Me)})).catch((Me=>ni(Me)))}))}_penalty(Me,Bn=1,Hn={}){const zn=this.getKey(Me);return new Promise(((Me,ni)=>{this._upsert(zn,Bn,this._getKeySecDuration(Hn)*1e3,false,Hn).then((Hn=>{Me(this._getRateLimiterRes(zn,Bn,Hn))})).catch((Me=>ni(Me)))}))}_reward(Me,Bn=1,Hn={}){const zn=this.getKey(Me);return new Promise(((Me,ni)=>{this._upsert(zn,-Bn,this._getKeySecDuration(Hn)*1e3,false,Hn).then((Hn=>{Me(this._getRateLimiterRes(zn,-Bn,Hn))})).catch((Me=>ni(Me)))}))}get(Me,Bn={}){const Hn=this.getKey(Me);return new Promise(((zn,ni)=>{this._get(Hn,Bn).then((Me=>{if(Me===null||typeof Me==="undefined"){zn(null)}else{zn(this._getRateLimiterRes(Hn,0,Me))}})).catch((Hn=>{this._handleError(Hn,"get",zn,ni,[Me,Bn])}))}))}delete(Me,Bn={}){const Hn=this.getKey(Me);return new Promise(((zn,ni)=>{this._delete(Hn,Bn).then((Me=>{this._inMemoryBlockedKeys.delete(Hn);zn(Me)})).catch((Hn=>{this._handleError(Hn,"delete",zn,ni,[Me,Bn])}))}))}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(Me,Bn,Hn){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(Me,Bn,Hn,zn={}){return new Promise(((ni,ts)=>{this._upsert(Me,Bn,Hn,true,zn).then((()=>{ni(new Ci(0,Hn>0?Hn:-1,Bn))})).catch((Bn=>{this._handleError(Bn,"block",ni,ts,[this.parseKey(Me),Hn/1e3,zn])}))}))}_get(Me,Bn={}){throw new Error("You have to implement the method '_get'!")}_delete(Me,Bn={}){throw new Error("You have to implement the method '_delete'!")}_upsert(Me,Bn,Hn,zn=false,ni={}){throw new Error("You have to implement the method '_upsert'!")}}},10244:(Me,Bn,Hn)=>{const zn=Hn(88569);Me.exports=class RateLimiterUnion{constructor(...Me){if(Me.length<1){throw new Error("RateLimiterUnion: at least one limiter have to be passed")}Me.forEach((Me=>{if(!(Me instanceof zn)){throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}}));this._limiters=Me}consume(Me,Bn=1){return new Promise(((Hn,zn)=>{const ni=[];this._limiters.forEach((Hn=>{ni.push(Hn.consume(Me,Bn).catch((Me=>({rejected:true,rej:Me}))))}));Promise.all(ni).then((Me=>{const Bn={};let ni=false;Me.forEach((Me=>{if(Me.rejected===true){ni=true}}));for(let Hn=0;Hn{const zn=Hn(65140);const ni=Hn(80449);const Ci=`\nserver.call('set', KEYS[1], 0, 'EX', ARGV[2], 'NX')\nlocal consumed = server.call('incrby', KEYS[1], ARGV[1])\nlocal ttl = server.call('pttl', KEYS[1])\nreturn {consumed, ttl}\n`;class RateLimiterValkey extends zn{constructor(Me){super(Me);this.client=Me.storeClient;this._rejectIfValkeyNotReady=!!Me.rejectIfValkeyNotReady;this._incrTtlLuaScript=Me.customIncrTtlLuaScript||Ci;this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:this._incrTtlLuaScript})}_isValkeyReady(){if(!this._rejectIfValkeyNotReady){return true}return this.client.status==="ready"}_getRateLimiterRes(Me,Bn,Hn){let zn;let Ci;if(Array.isArray(Hn[0])){[[,zn],[,Ci]]=Hn}else{[zn,Ci]=Hn}const ts=new ni;ts.consumedPoints=+zn;ts.isFirstInDuration=ts.consumedPoints===Bn;ts.remainingPoints=Math.max(this.points-ts.consumedPoints,0);ts.msBeforeNext=Ci;return ts}_upsert(Me,Bn,Hn,zn=false){if(!this._isValkeyReady()){throw new Error("Valkey connection is not ready")}const ni=Math.floor(Hn/1e3);if(zn){const Hn=this.client.multi();if(ni>0){Hn.set(Me,Bn,"EX",ni)}else{Hn.set(Me,Bn)}return Hn.pttl(Me).exec()}if(ni>0){return this.client.rlflxIncr([Me,String(Bn),String(ni),String(this.points),String(this.duration)])}return this.client.multi().incrby(Me,Bn).pttl(Me).exec()}_get(Me){if(!this._isValkeyReady()){throw new Error("Valkey connection is not ready")}return this.client.multi().get(Me).pttl(Me).exec().then((Me=>{const[[,Bn]]=Me;if(Bn===null)return null;return Me}))}_delete(Me){return this.client.del(Me).then((Me=>Me>0))}}Me.exports=RateLimiterValkey},53756:(Me,Bn,Hn)=>{const zn=Hn(65140);const ni=Hn(80449);const Ci="ratelimiterflexible";const ts=`local key = KEYS[1]\nlocal pointsToConsume = tonumber(ARGV[1])\nif tonumber(ARGV[2]) > 0 then\n server.call('set', key, "0", 'EX', ARGV[2], 'NX')\n local consumed = server.call('incrby', key, pointsToConsume)\n local pttl = server.call('pttl', key)\n return {consumed, pttl}\nend\nlocal consumed = server.call('incrby', key, pointsToConsume)\nlocal pttl = server.call('pttl', key)\nreturn {consumed, pttl}`;const Ps=`local key = KEYS[1]\nlocal value = server.call('get', key)\nif value == nil then\n return value\nend\nlocal pttl = server.call('pttl', key)\nreturn {tonumber(value), pttl}`;class RateLimiterValkeyGlide extends zn{constructor(Me){super(Me);this.client=Me.storeClient;this._scriptLoaded=false;this._getScriptLoaded=false;this._rejectIfValkeyNotReady=!!Me.rejectIfValkeyNotReady;this._luaScript=Me.customFunction||ts;this._libraryName=Me.customFunctionLibName||Ci}async _loadScripts(){if(this._scriptLoaded&&this._getScriptLoaded){return true}if(!this.client){throw new Error("Valkey client is not set")}const Me=[];if(!this._scriptLoaded){const Bn=Buffer.from(`#!lua name=${this._libraryName}\n local function consume(KEYS, ARGV)\n ${this._luaScript.trim()}\n end\n server.register_function('consume', consume)`);Me.push(this.client.functionLoad(Bn,{replace:true}))}else Me.push(Promise.resolve(this._libraryName));if(!this._getScriptLoaded){const Bn=Buffer.from(`#!lua name=ratelimiter_get\n local function getValue(KEYS, ARGV)\n ${Ps.trim()}\n end\n server.register_function('getValue', getValue)`);Me.push(this.client.functionLoad(Bn,{replace:true}))}else Me.push(Promise.resolve("ratelimiter_get"));const Bn=await Promise.all(Me);this._scriptLoaded=Bn[0]===this._libraryName;this._getScriptLoaded=Bn[1]==="ratelimiter_get";if(!this._scriptLoaded||!this._getScriptLoaded){throw new Error("Valkey connection is not ready, scripts not loaded")}return true}async _upsert(Me,Bn,Hn,zn=false,ni={}){await this._loadScripts();const Ci=Math.floor(Hn/1e3);if(zn){if(Ci>0){await this.client.set(Me,String(Bn),{expiry:{type:"EX",count:Ci}});return[Bn,Ci*1e3]}await this.client.set(Me,String(Bn));return[Bn,-1]}const ts=await this.client.fcall("consume",[Me],[String(Bn),String(Ci)]);return ts}async _get(Me,Bn={}){await this._loadScripts();const Hn=await this.client.fcall("getValue",[Me],[]);return Hn.length>0?Hn:null}async _delete(Me,Bn={}){const Hn=await this.client.del([Me]);return Hn>0}_getRateLimiterRes(Me,Bn,Hn){if(Hn===null){return null}const zn=new ni;const[Ci,ts]=Hn;const Ps=Number(Ci);zn.isFirstInDuration=Ps===Bn;zn.consumedPoints=Ps;zn.remainingPoints=Math.max(this.points-zn.consumedPoints,0);zn.msBeforeNext=ts;return zn}async close(){if(this._scriptLoaded){await this.client.functionDelete(this._libraryName);this._scriptLoaded=false}if(this._getScriptLoaded){await this.client.functionDelete("ratelimiter_get");this._getScriptLoaded=false}if(this.insuranceLimiter){try{await this.insuranceLimiter.close()}catch(Me){}}this.client=null;this._scriptLoaded=false;this._getScriptLoaded=false;this._rejectIfValkeyNotReady=false;this._luaScript=null;this._libraryName=null;this.insuranceLimiter=null}}Me.exports=RateLimiterValkeyGlide},85202:Me=>{Me.exports=class BlockedKeys{constructor(){this._keys={};this._addedKeysAmount=0}collectExpired(){const Me=Date.now();Object.keys(this._keys).forEach((Bn=>{if(this._keys[Bn]<=Me){delete this._keys[Bn]}}));this._addedKeysAmount=Object.keys(this._keys).length}add(Me,Bn){this.addMs(Me,Bn*1e3)}addMs(Me,Bn){this._keys[Me]=Date.now()+Bn;this._addedKeysAmount++;if(this._addedKeysAmount>999){this.collectExpired()}}msBeforeExpire(Me){const Bn=this._keys[Me];if(Bn&&Bn>=Date.now()){this.collectExpired();const Me=Date.now();return Bn>=Me?Bn-Me:0}return 0}delete(Me){if(Me){delete this._keys[Me]}else{Object.keys(this._keys).forEach((Me=>{delete this._keys[Me]}))}}}},38830:(Me,Bn,Hn)=>{const zn=Hn(85202);Me.exports=zn},81534:(Me,Bn,Hn)=>{const zn=Hn(60749);const ni=Hn(80449);Me.exports=class MemoryStorage{constructor(){this._storage={}}incrby(Me,Bn,Hn){if(this._storage[Me]){const zn=this._storage[Me].expiresAt?this._storage[Me].expiresAt.getTime()-(new Date).getTime():-1;if(!this._storage[Me].expiresAt||zn>0){this._storage[Me].value=this._storage[Me].value+Bn;return new ni(0,zn,this._storage[Me].value,false)}return this.set(Me,Bn,Hn)}return this.set(Me,Bn,Hn)}set(Me,Bn,Hn){const Ci=Hn*1e3;if(this._storage[Me]&&this._storage[Me].timeoutId){clearTimeout(this._storage[Me].timeoutId)}this._storage[Me]=new zn(Bn,Ci>0?new Date(Date.now()+Ci):null);if(Ci>0){this._storage[Me].timeoutId=setTimeout((()=>{delete this._storage[Me]}),Ci);if(this._storage[Me].timeoutId.unref){this._storage[Me].timeoutId.unref()}}return new ni(0,Ci===0?-1:Ci,this._storage[Me].value,true)}get(Me){if(this._storage[Me]){const Bn=this._storage[Me].expiresAt?this._storage[Me].expiresAt.getTime()-(new Date).getTime():-1;return new ni(0,Bn,this._storage[Me].value,false)}return null}delete(Me){if(this._storage[Me]){if(this._storage[Me].timeoutId){clearTimeout(this._storage[Me].timeoutId)}delete this._storage[Me];return true}return false}}},60749:Me=>{Me.exports=class Record{constructor(Me,Bn,Hn=null){this.value=Me;this.expiresAt=Bn;this.timeoutId=Hn}get value(){return this._value}set value(Me){this._value=parseInt(Me)}get expiresAt(){return this._expiresAt}set expiresAt(Me){if(!(Me instanceof Date)&&Number.isInteger(Me)){Me=new Date(Me)}this._expiresAt=Me}get timeoutId(){return this._timeoutId}set timeoutId(Me){this._timeoutId=Me}}},43184:Me=>{Me.exports=class RateLimiterEtcdTransactionFailedError extends Error{constructor(Me){super();if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="RateLimiterEtcdTransactionFailedError";this.message=Me}}},27948:Me=>{Me.exports=class RateLimiterQueueError extends Error{constructor(Me,Bn){super();if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="CustomError";this.message=Me;if(Bn){this.extra=Bn}}}},72922:Me=>{Me.exports=class RateLimiterSetupError extends Error{constructor(Me){super();if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="RateLimiterSetupError";this.message=Me}}},93058:(Me,Bn,Hn)=>{ /*! safe-buffer. MIT License. Feross Aboukhadijeh */ var zn=Hn(20181);var ni=zn.Buffer;function copyProps(Me,Bn){for(var Hn in Me){Bn[Hn]=Me[Hn]}}if(ni.from&&ni.alloc&&ni.allocUnsafe&&ni.allocUnsafeSlow){Me.exports=zn}else{copyProps(zn,Bn);Bn.Buffer=SafeBuffer}function SafeBuffer(Me,Bn,Hn){return ni(Me,Bn,Hn)}SafeBuffer.prototype=Object.create(ni.prototype);copyProps(ni,SafeBuffer);SafeBuffer.from=function(Me,Bn,Hn){if(typeof Me==="number"){throw new TypeError("Argument must not be a number")}return ni(Me,Bn,Hn)};SafeBuffer.alloc=function(Me,Bn,Hn){if(typeof Me!=="number"){throw new TypeError("Argument must be a number")}var zn=ni(Me);if(Bn!==undefined){if(typeof Hn==="string"){zn.fill(Bn,Hn)}else{zn.fill(Bn)}}else{zn.fill(0)}return zn};SafeBuffer.allocUnsafe=function(Me){if(typeof Me!=="number"){throw new TypeError("Argument must be a number")}return ni(Me)};SafeBuffer.allocUnsafeSlow=function(Me){if(typeof Me!=="number"){throw new TypeError("Argument must be a number")}return zn.SlowBuffer(Me)}},89379:(Me,Bn,Hn)=>{"use strict";const zn=Symbol("SemVer ANY");class Comparator{static get ANY(){return zn}constructor(Me,Bn){Bn=ni(Bn);if(Me instanceof Comparator){if(Me.loose===!!Bn.loose){return Me}else{Me=Me.value}}Me=Me.trim().split(/\s+/).join(" ");aa("comparator",Me,Bn);this.options=Bn;this.loose=!!Bn.loose;this.parse(Me);if(this.semver===zn){this.value=""}else{this.value=this.operator+this.semver.version}aa("comp",this)}parse(Me){const Bn=this.options.loose?Ci[ts.COMPARATORLOOSE]:Ci[ts.COMPARATOR];const Hn=Me.match(Bn);if(!Hn){throw new TypeError(`Invalid comparator: ${Me}`)}this.operator=Hn[1]!==undefined?Hn[1]:"";if(this.operator==="="){this.operator=""}if(!Hn[2]){this.semver=zn}else{this.semver=new oa(Hn[2],this.options.loose)}}toString(){return this.value}test(Me){aa("Comparator.test",Me,this.options.loose);if(this.semver===zn||Me===zn){return true}if(typeof Me==="string"){try{Me=new oa(Me,this.options)}catch(Me){return false}}return Ps(Me,this.operator,this.semver,this.options)}intersects(Me,Bn){if(!(Me instanceof Comparator)){throw new TypeError("a Comparator is required")}if(this.operator===""){if(this.value===""){return true}return new ca(Me.value,Bn).test(this.value)}else if(Me.operator===""){if(Me.value===""){return true}return new ca(this.value,Bn).test(Me.semver)}Bn=ni(Bn);if(Bn.includePrerelease&&(this.value==="<0.0.0-0"||Me.value==="<0.0.0-0")){return false}if(!Bn.includePrerelease&&(this.value.startsWith("<0.0.0")||Me.value.startsWith("<0.0.0"))){return false}if(this.operator.startsWith(">")&&Me.operator.startsWith(">")){return true}if(this.operator.startsWith("<")&&Me.operator.startsWith("<")){return true}if(this.semver.version===Me.semver.version&&this.operator.includes("=")&&Me.operator.includes("=")){return true}if(Ps(this.semver,"<",Me.semver,Bn)&&this.operator.startsWith(">")&&Me.operator.startsWith("<")){return true}if(Ps(this.semver,">",Me.semver,Bn)&&this.operator.startsWith("<")&&Me.operator.startsWith(">")){return true}return false}}Me.exports=Comparator;const ni=Hn(70356);const{safeRe:Ci,t:ts}=Hn(95471);const Ps=Hn(28646);const aa=Hn(1159);const oa=Hn(7163);const ca=Hn(96782)},96782:(Me,Bn,Hn)=>{"use strict";const zn=/\s+/g;class Range{constructor(Me,Bn){Bn=ts(Bn);if(Me instanceof Range){if(Me.loose===!!Bn.loose&&Me.includePrerelease===!!Bn.includePrerelease){return Me}else{return new Range(Me.raw,Bn)}}if(Me instanceof Ps){this.raw=Me.value;this.set=[[Me]];this.formatted=undefined;return this}this.options=Bn;this.loose=!!Bn.loose;this.includePrerelease=!!Bn.includePrerelease;this.raw=Me.trim().replace(zn," ");this.set=this.raw.split("||").map((Me=>this.parseRange(Me.trim()))).filter((Me=>Me.length));if(!this.set.length){throw new TypeError(`Invalid SemVer Range: ${this.raw}`)}if(this.set.length>1){const Me=this.set[0];this.set=this.set.filter((Me=>!isNullSet(Me[0])));if(this.set.length===0){this.set=[Me]}else if(this.set.length>1){for(const Me of this.set){if(Me.length===1&&isAny(Me[0])){this.set=[Me];break}}}}this.formatted=undefined}get range(){if(this.formatted===undefined){this.formatted="";for(let Me=0;Me0){this.formatted+="||"}const Bn=this.set[Me];for(let Me=0;Me0){this.formatted+=" "}this.formatted+=Bn[Me].toString().trim()}}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(Me){const Bn=(this.options.includePrerelease&&so)|(this.options.loose&&oo);const Hn=Bn+":"+Me;const zn=Ci.get(Hn);if(zn){return zn}const ni=this.options.loose;const ts=ni?ca[_a.HYPHENRANGELOOSE]:ca[_a.HYPHENRANGE];Me=Me.replace(ts,hyphenReplace(this.options.includePrerelease));aa("hyphen replace",Me);Me=Me.replace(ca[_a.COMPARATORTRIM],xa);aa("comparator trim",Me);Me=Me.replace(ca[_a.TILDETRIM],Ga);aa("tilde trim",Me);Me=Me.replace(ca[_a.CARETTRIM],Ha);aa("caret trim",Me);let oa=Me.split(" ").map((Me=>parseComparator(Me,this.options))).join(" ").split(/\s+/).map((Me=>replaceGTE0(Me,this.options)));if(ni){oa=oa.filter((Me=>{aa("loose invalid filter",Me,this.options);return!!Me.match(ca[_a.COMPARATORLOOSE])}))}aa("range list",oa);const Jo=new Map;const tc=oa.map((Me=>new Ps(Me,this.options)));for(const Me of tc){if(isNullSet(Me)){return[Me]}Jo.set(Me.value,Me)}if(Jo.size>1&&Jo.has("")){Jo.delete("")}const dc=[...Jo.values()];Ci.set(Hn,dc);return dc}intersects(Me,Bn){if(!(Me instanceof Range)){throw new TypeError("a Range is required")}return this.set.some((Hn=>isSatisfiable(Hn,Bn)&&Me.set.some((Me=>isSatisfiable(Me,Bn)&&Hn.every((Hn=>Me.every((Me=>Hn.intersects(Me,Bn)))))))))}test(Me){if(!Me){return false}if(typeof Me==="string"){try{Me=new oa(Me,this.options)}catch(Me){return false}}for(let Bn=0;BnMe.value==="<0.0.0-0";const isAny=Me=>Me.value==="";const isSatisfiable=(Me,Bn)=>{let Hn=true;const zn=Me.slice();let ni=zn.pop();while(Hn&&zn.length){Hn=zn.every((Me=>ni.intersects(Me,Bn)));ni=zn.pop()}return Hn};const parseComparator=(Me,Bn)=>{Me=Me.replace(ca[_a.BUILD],"");aa("comp",Me,Bn);Me=replaceCarets(Me,Bn);aa("caret",Me);Me=replaceTildes(Me,Bn);aa("tildes",Me);Me=replaceXRanges(Me,Bn);aa("xrange",Me);Me=replaceStars(Me,Bn);aa("stars",Me);return Me};const isX=Me=>!Me||Me.toLowerCase()==="x"||Me==="*";const replaceTildes=(Me,Bn)=>Me.trim().split(/\s+/).map((Me=>replaceTilde(Me,Bn))).join(" ");const replaceTilde=(Me,Bn)=>{const Hn=Bn.loose?ca[_a.TILDELOOSE]:ca[_a.TILDE];return Me.replace(Hn,((Bn,Hn,zn,ni,Ci)=>{aa("tilde",Me,Bn,Hn,zn,ni,Ci);let ts;if(isX(Hn)){ts=""}else if(isX(zn)){ts=`>=${Hn}.0.0 <${+Hn+1}.0.0-0`}else if(isX(ni)){ts=`>=${Hn}.${zn}.0 <${Hn}.${+zn+1}.0-0`}else if(Ci){aa("replaceTilde pr",Ci);ts=`>=${Hn}.${zn}.${ni}-${Ci} <${Hn}.${+zn+1}.0-0`}else{ts=`>=${Hn}.${zn}.${ni} <${Hn}.${+zn+1}.0-0`}aa("tilde return",ts);return ts}))};const replaceCarets=(Me,Bn)=>Me.trim().split(/\s+/).map((Me=>replaceCaret(Me,Bn))).join(" ");const replaceCaret=(Me,Bn)=>{aa("caret",Me,Bn);const Hn=Bn.loose?ca[_a.CARETLOOSE]:ca[_a.CARET];const zn=Bn.includePrerelease?"-0":"";return Me.replace(Hn,((Bn,Hn,ni,Ci,ts)=>{aa("caret",Me,Bn,Hn,ni,Ci,ts);let Ps;if(isX(Hn)){Ps=""}else if(isX(ni)){Ps=`>=${Hn}.0.0${zn} <${+Hn+1}.0.0-0`}else if(isX(Ci)){if(Hn==="0"){Ps=`>=${Hn}.${ni}.0${zn} <${Hn}.${+ni+1}.0-0`}else{Ps=`>=${Hn}.${ni}.0${zn} <${+Hn+1}.0.0-0`}}else if(ts){aa("replaceCaret pr",ts);if(Hn==="0"){if(ni==="0"){Ps=`>=${Hn}.${ni}.${Ci}-${ts} <${Hn}.${ni}.${+Ci+1}-0`}else{Ps=`>=${Hn}.${ni}.${Ci}-${ts} <${Hn}.${+ni+1}.0-0`}}else{Ps=`>=${Hn}.${ni}.${Ci}-${ts} <${+Hn+1}.0.0-0`}}else{aa("no pr");if(Hn==="0"){if(ni==="0"){Ps=`>=${Hn}.${ni}.${Ci}${zn} <${Hn}.${ni}.${+Ci+1}-0`}else{Ps=`>=${Hn}.${ni}.${Ci}${zn} <${Hn}.${+ni+1}.0-0`}}else{Ps=`>=${Hn}.${ni}.${Ci} <${+Hn+1}.0.0-0`}}aa("caret return",Ps);return Ps}))};const replaceXRanges=(Me,Bn)=>{aa("replaceXRanges",Me,Bn);return Me.split(/\s+/).map((Me=>replaceXRange(Me,Bn))).join(" ")};const replaceXRange=(Me,Bn)=>{Me=Me.trim();const Hn=Bn.loose?ca[_a.XRANGELOOSE]:ca[_a.XRANGE];return Me.replace(Hn,((Hn,zn,ni,Ci,ts,Ps)=>{aa("xRange",Me,Hn,zn,ni,Ci,ts,Ps);const oa=isX(ni);const ca=oa||isX(Ci);const _a=ca||isX(ts);const xa=_a;if(zn==="="&&xa){zn=""}Ps=Bn.includePrerelease?"-0":"";if(oa){if(zn===">"||zn==="<"){Hn="<0.0.0-0"}else{Hn="*"}}else if(zn&&xa){if(ca){Ci=0}ts=0;if(zn===">"){zn=">=";if(ca){ni=+ni+1;Ci=0;ts=0}else{Ci=+Ci+1;ts=0}}else if(zn==="<="){zn="<";if(ca){ni=+ni+1}else{Ci=+Ci+1}}if(zn==="<"){Ps="-0"}Hn=`${zn+ni}.${Ci}.${ts}${Ps}`}else if(ca){Hn=`>=${ni}.0.0${Ps} <${+ni+1}.0.0-0`}else if(_a){Hn=`>=${ni}.${Ci}.0${Ps} <${ni}.${+Ci+1}.0-0`}aa("xRange return",Hn);return Hn}))};const replaceStars=(Me,Bn)=>{aa("replaceStars",Me,Bn);return Me.trim().replace(ca[_a.STAR],"")};const replaceGTE0=(Me,Bn)=>{aa("replaceGTE0",Me,Bn);return Me.trim().replace(ca[Bn.includePrerelease?_a.GTE0PRE:_a.GTE0],"")};const hyphenReplace=Me=>(Bn,Hn,zn,ni,Ci,ts,Ps,aa,oa,ca,_a,xa)=>{if(isX(zn)){Hn=""}else if(isX(ni)){Hn=`>=${zn}.0.0${Me?"-0":""}`}else if(isX(Ci)){Hn=`>=${zn}.${ni}.0${Me?"-0":""}`}else if(ts){Hn=`>=${Hn}`}else{Hn=`>=${Hn}${Me?"-0":""}`}if(isX(oa)){aa=""}else if(isX(ca)){aa=`<${+oa+1}.0.0-0`}else if(isX(_a)){aa=`<${oa}.${+ca+1}.0-0`}else if(xa){aa=`<=${oa}.${ca}.${_a}-${xa}`}else if(Me){aa=`<${oa}.${ca}.${+_a+1}-0`}else{aa=`<=${aa}`}return`${Hn} ${aa}`.trim()};const testSet=(Me,Bn,Hn)=>{for(let Hn=0;Hn0){const zn=Me[Hn].semver;if(zn.major===Bn.major&&zn.minor===Bn.minor&&zn.patch===Bn.patch){return true}}}return false}return true}},7163:(Me,Bn,Hn)=>{"use strict";const zn=Hn(1159);const{MAX_LENGTH:ni,MAX_SAFE_INTEGER:Ci}=Hn(45101);const{safeRe:ts,t:Ps}=Hn(95471);const aa=Hn(70356);const{compareIdentifiers:oa}=Hn(73348);class SemVer{constructor(Me,Bn){Bn=aa(Bn);if(Me instanceof SemVer){if(Me.loose===!!Bn.loose&&Me.includePrerelease===!!Bn.includePrerelease){return Me}else{Me=Me.version}}else if(typeof Me!=="string"){throw new TypeError(`Invalid version. Must be a string. Got type "${typeof Me}".`)}if(Me.length>ni){throw new TypeError(`version is longer than ${ni} characters`)}zn("SemVer",Me,Bn);this.options=Bn;this.loose=!!Bn.loose;this.includePrerelease=!!Bn.includePrerelease;const Hn=Me.trim().match(Bn.loose?ts[Ps.LOOSE]:ts[Ps.FULL]);if(!Hn){throw new TypeError(`Invalid Version: ${Me}`)}this.raw=Me;this.major=+Hn[1];this.minor=+Hn[2];this.patch=+Hn[3];if(this.major>Ci||this.major<0){throw new TypeError("Invalid major version")}if(this.minor>Ci||this.minor<0){throw new TypeError("Invalid minor version")}if(this.patch>Ci||this.patch<0){throw new TypeError("Invalid patch version")}if(!Hn[4]){this.prerelease=[]}else{this.prerelease=Hn[4].split(".").map((Me=>{if(/^[0-9]+$/.test(Me)){const Bn=+Me;if(Bn>=0&&BnMe.major){return 1}if(this.minorMe.minor){return 1}if(this.patchMe.patch){return 1}return 0}comparePre(Me){if(!(Me instanceof SemVer)){Me=new SemVer(Me,this.options)}if(this.prerelease.length&&!Me.prerelease.length){return-1}else if(!this.prerelease.length&&Me.prerelease.length){return 1}else if(!this.prerelease.length&&!Me.prerelease.length){return 0}let Bn=0;do{const Hn=this.prerelease[Bn];const ni=Me.prerelease[Bn];zn("prerelease compare",Bn,Hn,ni);if(Hn===undefined&&ni===undefined){return 0}else if(ni===undefined){return 1}else if(Hn===undefined){return-1}else if(Hn===ni){continue}else{return oa(Hn,ni)}}while(++Bn)}compareBuild(Me){if(!(Me instanceof SemVer)){Me=new SemVer(Me,this.options)}let Bn=0;do{const Hn=this.build[Bn];const ni=Me.build[Bn];zn("build compare",Bn,Hn,ni);if(Hn===undefined&&ni===undefined){return 0}else if(ni===undefined){return 1}else if(Hn===undefined){return-1}else if(Hn===ni){continue}else{return oa(Hn,ni)}}while(++Bn)}inc(Me,Bn,Hn){if(Me.startsWith("pre")){if(!Bn&&Hn===false){throw new Error("invalid increment argument: identifier is empty")}if(Bn){const Me=`-${Bn}`.match(this.options.loose?ts[Ps.PRERELEASELOOSE]:ts[Ps.PRERELEASE]);if(!Me||Me[1]!==Bn){throw new Error(`invalid identifier: ${Bn}`)}}}switch(Me){case"premajor":this.prerelease.length=0;this.patch=0;this.minor=0;this.major++;this.inc("pre",Bn,Hn);break;case"preminor":this.prerelease.length=0;this.patch=0;this.minor++;this.inc("pre",Bn,Hn);break;case"prepatch":this.prerelease.length=0;this.inc("patch",Bn,Hn);this.inc("pre",Bn,Hn);break;case"prerelease":if(this.prerelease.length===0){this.inc("patch",Bn,Hn)}this.inc("pre",Bn,Hn);break;case"release":if(this.prerelease.length===0){throw new Error(`version ${this.raw} is not a prerelease`)}this.prerelease.length=0;break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0){this.major++}this.minor=0;this.patch=0;this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0){this.minor++}this.patch=0;this.prerelease=[];break;case"patch":if(this.prerelease.length===0){this.patch++}this.prerelease=[];break;case"pre":{const Me=Number(Hn)?1:0;if(this.prerelease.length===0){this.prerelease=[Me]}else{let zn=this.prerelease.length;while(--zn>=0){if(typeof this.prerelease[zn]==="number"){this.prerelease[zn]++;zn=-2}}if(zn===-1){if(Bn===this.prerelease.join(".")&&Hn===false){throw new Error("invalid increment argument: identifier already exists")}this.prerelease.push(Me)}}if(Bn){let zn=[Bn,Me];if(Hn===false){zn=[Bn]}if(oa(this.prerelease[0],Bn)===0){if(isNaN(this.prerelease[1])){this.prerelease=zn}}else{this.prerelease=zn}}break}default:throw new Error(`invalid increment argument: ${Me}`)}this.raw=this.format();if(this.build.length){this.raw+=`+${this.build.join(".")}`}return this}}Me.exports=SemVer},1799:(Me,Bn,Hn)=>{"use strict";const zn=Hn(16353);const clean=(Me,Bn)=>{const Hn=zn(Me.trim().replace(/^[=v]+/,""),Bn);return Hn?Hn.version:null};Me.exports=clean},28646:(Me,Bn,Hn)=>{"use strict";const zn=Hn(55082);const ni=Hn(4974);const Ci=Hn(16599);const ts=Hn(41236);const Ps=Hn(3872);const aa=Hn(56717);const cmp=(Me,Bn,Hn,oa)=>{switch(Bn){case"===":if(typeof Me==="object"){Me=Me.version}if(typeof Hn==="object"){Hn=Hn.version}return Me===Hn;case"!==":if(typeof Me==="object"){Me=Me.version}if(typeof Hn==="object"){Hn=Hn.version}return Me!==Hn;case"":case"=":case"==":return zn(Me,Hn,oa);case"!=":return ni(Me,Hn,oa);case">":return Ci(Me,Hn,oa);case">=":return ts(Me,Hn,oa);case"<":return Ps(Me,Hn,oa);case"<=":return aa(Me,Hn,oa);default:throw new TypeError(`Invalid operator: ${Bn}`)}};Me.exports=cmp},35385:(Me,Bn,Hn)=>{"use strict";const zn=Hn(7163);const ni=Hn(16353);const{safeRe:Ci,t:ts}=Hn(95471);const coerce=(Me,Bn)=>{if(Me instanceof zn){return Me}if(typeof Me==="number"){Me=String(Me)}if(typeof Me!=="string"){return null}Bn=Bn||{};let Hn=null;if(!Bn.rtl){Hn=Me.match(Bn.includePrerelease?Ci[ts.COERCEFULL]:Ci[ts.COERCE])}else{const zn=Bn.includePrerelease?Ci[ts.COERCERTLFULL]:Ci[ts.COERCERTL];let ni;while((ni=zn.exec(Me))&&(!Hn||Hn.index+Hn[0].length!==Me.length)){if(!Hn||ni.index+ni[0].length!==Hn.index+Hn[0].length){Hn=ni}zn.lastIndex=ni.index+ni[1].length+ni[2].length}zn.lastIndex=-1}if(Hn===null){return null}const Ps=Hn[2];const aa=Hn[3]||"0";const oa=Hn[4]||"0";const ca=Bn.includePrerelease&&Hn[5]?`-${Hn[5]}`:"";const _a=Bn.includePrerelease&&Hn[6]?`+${Hn[6]}`:"";return ni(`${Ps}.${aa}.${oa}${ca}${_a}`,Bn)};Me.exports=coerce},37648:(Me,Bn,Hn)=>{"use strict";const zn=Hn(7163);const compareBuild=(Me,Bn,Hn)=>{const ni=new zn(Me,Hn);const Ci=new zn(Bn,Hn);return ni.compare(Ci)||ni.compareBuild(Ci)};Me.exports=compareBuild},56874:(Me,Bn,Hn)=>{"use strict";const zn=Hn(78469);const compareLoose=(Me,Bn)=>zn(Me,Bn,true);Me.exports=compareLoose},78469:(Me,Bn,Hn)=>{"use strict";const zn=Hn(7163);const compare=(Me,Bn,Hn)=>new zn(Me,Hn).compare(new zn(Bn,Hn));Me.exports=compare},70711:(Me,Bn,Hn)=>{"use strict";const zn=Hn(16353);const diff=(Me,Bn)=>{const Hn=zn(Me,null,true);const ni=zn(Bn,null,true);const Ci=Hn.compare(ni);if(Ci===0){return null}const ts=Ci>0;const Ps=ts?Hn:ni;const aa=ts?ni:Hn;const oa=!!Ps.prerelease.length;const ca=!!aa.prerelease.length;if(ca&&!oa){if(!aa.patch&&!aa.minor){return"major"}if(aa.compareMain(Ps)===0){if(aa.minor&&!aa.patch){return"minor"}return"patch"}}const _a=oa?"pre":"";if(Hn.major!==ni.major){return _a+"major"}if(Hn.minor!==ni.minor){return _a+"minor"}if(Hn.patch!==ni.patch){return _a+"patch"}return"prerelease"};Me.exports=diff},55082:(Me,Bn,Hn)=>{"use strict";const zn=Hn(78469);const eq=(Me,Bn,Hn)=>zn(Me,Bn,Hn)===0;Me.exports=eq},16599:(Me,Bn,Hn)=>{"use strict";const zn=Hn(78469);const gt=(Me,Bn,Hn)=>zn(Me,Bn,Hn)>0;Me.exports=gt},41236:(Me,Bn,Hn)=>{"use strict";const zn=Hn(78469);const gte=(Me,Bn,Hn)=>zn(Me,Bn,Hn)>=0;Me.exports=gte},62338:(Me,Bn,Hn)=>{"use strict";const zn=Hn(7163);const inc=(Me,Bn,Hn,ni,Ci)=>{if(typeof Hn==="string"){Ci=ni;ni=Hn;Hn=undefined}try{return new zn(Me instanceof zn?Me.version:Me,Hn).inc(Bn,ni,Ci).version}catch(Me){return null}};Me.exports=inc},3872:(Me,Bn,Hn)=>{"use strict";const zn=Hn(78469);const lt=(Me,Bn,Hn)=>zn(Me,Bn,Hn)<0;Me.exports=lt},56717:(Me,Bn,Hn)=>{"use strict";const zn=Hn(78469);const lte=(Me,Bn,Hn)=>zn(Me,Bn,Hn)<=0;Me.exports=lte},68511:(Me,Bn,Hn)=>{"use strict";const zn=Hn(7163);const major=(Me,Bn)=>new zn(Me,Bn).major;Me.exports=major},32603:(Me,Bn,Hn)=>{"use strict";const zn=Hn(7163);const minor=(Me,Bn)=>new zn(Me,Bn).minor;Me.exports=minor},4974:(Me,Bn,Hn)=>{"use strict";const zn=Hn(78469);const neq=(Me,Bn,Hn)=>zn(Me,Bn,Hn)!==0;Me.exports=neq},16353:(Me,Bn,Hn)=>{"use strict";const zn=Hn(7163);const parse=(Me,Bn,Hn=false)=>{if(Me instanceof zn){return Me}try{return new zn(Me,Bn)}catch(Me){if(!Hn){return null}throw Me}};Me.exports=parse},48756:(Me,Bn,Hn)=>{"use strict";const zn=Hn(7163);const patch=(Me,Bn)=>new zn(Me,Bn).patch;Me.exports=patch},15714:(Me,Bn,Hn)=>{"use strict";const zn=Hn(16353);const prerelease=(Me,Bn)=>{const Hn=zn(Me,Bn);return Hn&&Hn.prerelease.length?Hn.prerelease:null};Me.exports=prerelease},32173:(Me,Bn,Hn)=>{"use strict";const zn=Hn(78469);const rcompare=(Me,Bn,Hn)=>zn(Bn,Me,Hn);Me.exports=rcompare},87192:(Me,Bn,Hn)=>{"use strict";const zn=Hn(37648);const rsort=(Me,Bn)=>Me.sort(((Me,Hn)=>zn(Hn,Me,Bn)));Me.exports=rsort},68011:(Me,Bn,Hn)=>{"use strict";const zn=Hn(96782);const satisfies=(Me,Bn,Hn)=>{try{Bn=new zn(Bn,Hn)}catch(Me){return false}return Bn.test(Me)};Me.exports=satisfies},29872:(Me,Bn,Hn)=>{"use strict";const zn=Hn(37648);const sort=(Me,Bn)=>Me.sort(((Me,Hn)=>zn(Me,Hn,Bn)));Me.exports=sort},58780:(Me,Bn,Hn)=>{"use strict";const zn=Hn(16353);const valid=(Me,Bn)=>{const Hn=zn(Me,Bn);return Hn?Hn.version:null};Me.exports=valid},62088:(Me,Bn,Hn)=>{"use strict";const zn=Hn(95471);const ni=Hn(45101);const Ci=Hn(7163);const ts=Hn(73348);const Ps=Hn(16353);const aa=Hn(58780);const oa=Hn(1799);const ca=Hn(62338);const _a=Hn(70711);const xa=Hn(68511);const Ga=Hn(32603);const Ha=Hn(48756);const so=Hn(15714);const oo=Hn(78469);const Jo=Hn(32173);const tc=Hn(56874);const dc=Hn(37648);const Fc=Hn(29872);const Jc=Hn(87192);const Dp=Hn(16599);const kp=Hn(3872);const Qp=Hn(55082);const Up=Hn(4974);const Vp=Hn(41236);const qp=Hn(56717);const Jp=Hn(28646);const Wp=Hn(35385);const zp=Hn(89379);const Qf=Hn(96782);const Yf=Hn(68011);const Kf=Hn(54750);const Xf=Hn(73193);const Ad=Hn(68595);const Cd=Hn(51866);const wd=Hn(64737);const Sd=Hn(10280);const xd=Hn(12276);const Td=Hn(15213);const Pd=Hn(23465);const Qh=Hn(82028);const Zh=Hn(61489);Me.exports={parse:Ps,valid:aa,clean:oa,inc:ca,diff:_a,major:xa,minor:Ga,patch:Ha,prerelease:so,compare:oo,rcompare:Jo,compareLoose:tc,compareBuild:dc,sort:Fc,rsort:Jc,gt:Dp,lt:kp,eq:Qp,neq:Up,gte:Vp,lte:qp,cmp:Jp,coerce:Wp,Comparator:zp,Range:Qf,satisfies:Yf,toComparators:Kf,maxSatisfying:Xf,minSatisfying:Ad,minVersion:Cd,validRange:wd,outside:Sd,gtr:xd,ltr:Td,intersects:Pd,simplifyRange:Qh,subset:Zh,SemVer:Ci,re:zn.re,src:zn.src,tokens:zn.t,SEMVER_SPEC_VERSION:ni.SEMVER_SPEC_VERSION,RELEASE_TYPES:ni.RELEASE_TYPES,compareIdentifiers:ts.compareIdentifiers,rcompareIdentifiers:ts.rcompareIdentifiers}},45101:Me=>{"use strict";const Bn="2.0.0";const Hn=256;const zn=Number.MAX_SAFE_INTEGER||9007199254740991;const ni=16;const Ci=Hn-6;const ts=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Me.exports={MAX_LENGTH:Hn,MAX_SAFE_COMPONENT_LENGTH:ni,MAX_SAFE_BUILD_LENGTH:Ci,MAX_SAFE_INTEGER:zn,RELEASE_TYPES:ts,SEMVER_SPEC_VERSION:Bn,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}},1159:Me=>{"use strict";const Bn=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...Me)=>console.error("SEMVER",...Me):()=>{};Me.exports=Bn},73348:Me=>{"use strict";const Bn=/^[0-9]+$/;const compareIdentifiers=(Me,Hn)=>{if(typeof Me==="number"&&typeof Hn==="number"){return Me===Hn?0:MecompareIdentifiers(Bn,Me);Me.exports={compareIdentifiers:compareIdentifiers,rcompareIdentifiers:rcompareIdentifiers}},61383:Me=>{"use strict";class LRUCache{constructor(){this.max=1e3;this.map=new Map}get(Me){const Bn=this.map.get(Me);if(Bn===undefined){return undefined}else{this.map.delete(Me);this.map.set(Me,Bn);return Bn}}delete(Me){return this.map.delete(Me)}set(Me,Bn){const Hn=this.delete(Me);if(!Hn&&Bn!==undefined){if(this.map.size>=this.max){const Me=this.map.keys().next().value;this.delete(Me)}this.map.set(Me,Bn)}return this}}Me.exports=LRUCache},70356:Me=>{"use strict";const Bn=Object.freeze({loose:true});const Hn=Object.freeze({});const parseOptions=Me=>{if(!Me){return Hn}if(typeof Me!=="object"){return Bn}return Me};Me.exports=parseOptions},95471:(Me,Bn,Hn)=>{"use strict";const{MAX_SAFE_COMPONENT_LENGTH:zn,MAX_SAFE_BUILD_LENGTH:ni,MAX_LENGTH:Ci}=Hn(45101);const ts=Hn(1159);Bn=Me.exports={};const Ps=Bn.re=[];const aa=Bn.safeRe=[];const oa=Bn.src=[];const ca=Bn.safeSrc=[];const _a=Bn.t={};let xa=0;const Ga="[a-zA-Z0-9-]";const Ha=[["\\s",1],["\\d",Ci],[Ga,ni]];const makeSafeRegex=Me=>{for(const[Bn,Hn]of Ha){Me=Me.split(`${Bn}*`).join(`${Bn}{0,${Hn}}`).split(`${Bn}+`).join(`${Bn}{1,${Hn}}`)}return Me};const createToken=(Me,Bn,Hn)=>{const zn=makeSafeRegex(Bn);const ni=xa++;ts(Me,ni,Bn);_a[Me]=ni;oa[ni]=Bn;ca[ni]=zn;Ps[ni]=new RegExp(Bn,Hn?"g":undefined);aa[ni]=new RegExp(zn,Hn?"g":undefined)};createToken("NUMERICIDENTIFIER","0|[1-9]\\d*");createToken("NUMERICIDENTIFIERLOOSE","\\d+");createToken("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Ga}*`);createToken("MAINVERSION",`(${oa[_a.NUMERICIDENTIFIER]})\\.`+`(${oa[_a.NUMERICIDENTIFIER]})\\.`+`(${oa[_a.NUMERICIDENTIFIER]})`);createToken("MAINVERSIONLOOSE",`(${oa[_a.NUMERICIDENTIFIERLOOSE]})\\.`+`(${oa[_a.NUMERICIDENTIFIERLOOSE]})\\.`+`(${oa[_a.NUMERICIDENTIFIERLOOSE]})`);createToken("PRERELEASEIDENTIFIER",`(?:${oa[_a.NONNUMERICIDENTIFIER]}|${oa[_a.NUMERICIDENTIFIER]})`);createToken("PRERELEASEIDENTIFIERLOOSE",`(?:${oa[_a.NONNUMERICIDENTIFIER]}|${oa[_a.NUMERICIDENTIFIERLOOSE]})`);createToken("PRERELEASE",`(?:-(${oa[_a.PRERELEASEIDENTIFIER]}(?:\\.${oa[_a.PRERELEASEIDENTIFIER]})*))`);createToken("PRERELEASELOOSE",`(?:-?(${oa[_a.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${oa[_a.PRERELEASEIDENTIFIERLOOSE]})*))`);createToken("BUILDIDENTIFIER",`${Ga}+`);createToken("BUILD",`(?:\\+(${oa[_a.BUILDIDENTIFIER]}(?:\\.${oa[_a.BUILDIDENTIFIER]})*))`);createToken("FULLPLAIN",`v?${oa[_a.MAINVERSION]}${oa[_a.PRERELEASE]}?${oa[_a.BUILD]}?`);createToken("FULL",`^${oa[_a.FULLPLAIN]}$`);createToken("LOOSEPLAIN",`[v=\\s]*${oa[_a.MAINVERSIONLOOSE]}${oa[_a.PRERELEASELOOSE]}?${oa[_a.BUILD]}?`);createToken("LOOSE",`^${oa[_a.LOOSEPLAIN]}$`);createToken("GTLT","((?:<|>)?=?)");createToken("XRANGEIDENTIFIERLOOSE",`${oa[_a.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);createToken("XRANGEIDENTIFIER",`${oa[_a.NUMERICIDENTIFIER]}|x|X|\\*`);createToken("XRANGEPLAIN",`[v=\\s]*(${oa[_a.XRANGEIDENTIFIER]})`+`(?:\\.(${oa[_a.XRANGEIDENTIFIER]})`+`(?:\\.(${oa[_a.XRANGEIDENTIFIER]})`+`(?:${oa[_a.PRERELEASE]})?${oa[_a.BUILD]}?`+`)?)?`);createToken("XRANGEPLAINLOOSE",`[v=\\s]*(${oa[_a.XRANGEIDENTIFIERLOOSE]})`+`(?:\\.(${oa[_a.XRANGEIDENTIFIERLOOSE]})`+`(?:\\.(${oa[_a.XRANGEIDENTIFIERLOOSE]})`+`(?:${oa[_a.PRERELEASELOOSE]})?${oa[_a.BUILD]}?`+`)?)?`);createToken("XRANGE",`^${oa[_a.GTLT]}\\s*${oa[_a.XRANGEPLAIN]}$`);createToken("XRANGELOOSE",`^${oa[_a.GTLT]}\\s*${oa[_a.XRANGEPLAINLOOSE]}$`);createToken("COERCEPLAIN",`${"(^|[^\\d])"+"(\\d{1,"}${zn}})`+`(?:\\.(\\d{1,${zn}}))?`+`(?:\\.(\\d{1,${zn}}))?`);createToken("COERCE",`${oa[_a.COERCEPLAIN]}(?:$|[^\\d])`);createToken("COERCEFULL",oa[_a.COERCEPLAIN]+`(?:${oa[_a.PRERELEASE]})?`+`(?:${oa[_a.BUILD]})?`+`(?:$|[^\\d])`);createToken("COERCERTL",oa[_a.COERCE],true);createToken("COERCERTLFULL",oa[_a.COERCEFULL],true);createToken("LONETILDE","(?:~>?)");createToken("TILDETRIM",`(\\s*)${oa[_a.LONETILDE]}\\s+`,true);Bn.tildeTrimReplace="$1~";createToken("TILDE",`^${oa[_a.LONETILDE]}${oa[_a.XRANGEPLAIN]}$`);createToken("TILDELOOSE",`^${oa[_a.LONETILDE]}${oa[_a.XRANGEPLAINLOOSE]}$`);createToken("LONECARET","(?:\\^)");createToken("CARETTRIM",`(\\s*)${oa[_a.LONECARET]}\\s+`,true);Bn.caretTrimReplace="$1^";createToken("CARET",`^${oa[_a.LONECARET]}${oa[_a.XRANGEPLAIN]}$`);createToken("CARETLOOSE",`^${oa[_a.LONECARET]}${oa[_a.XRANGEPLAINLOOSE]}$`);createToken("COMPARATORLOOSE",`^${oa[_a.GTLT]}\\s*(${oa[_a.LOOSEPLAIN]})$|^$`);createToken("COMPARATOR",`^${oa[_a.GTLT]}\\s*(${oa[_a.FULLPLAIN]})$|^$`);createToken("COMPARATORTRIM",`(\\s*)${oa[_a.GTLT]}\\s*(${oa[_a.LOOSEPLAIN]}|${oa[_a.XRANGEPLAIN]})`,true);Bn.comparatorTrimReplace="$1$2$3";createToken("HYPHENRANGE",`^\\s*(${oa[_a.XRANGEPLAIN]})`+`\\s+-\\s+`+`(${oa[_a.XRANGEPLAIN]})`+`\\s*$`);createToken("HYPHENRANGELOOSE",`^\\s*(${oa[_a.XRANGEPLAINLOOSE]})`+`\\s+-\\s+`+`(${oa[_a.XRANGEPLAINLOOSE]})`+`\\s*$`);createToken("STAR","(<|>)?=?\\s*\\*");createToken("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");createToken("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")},12276:(Me,Bn,Hn)=>{"use strict";const zn=Hn(10280);const gtr=(Me,Bn,Hn)=>zn(Me,Bn,">",Hn);Me.exports=gtr},23465:(Me,Bn,Hn)=>{"use strict";const zn=Hn(96782);const intersects=(Me,Bn,Hn)=>{Me=new zn(Me,Hn);Bn=new zn(Bn,Hn);return Me.intersects(Bn,Hn)};Me.exports=intersects},15213:(Me,Bn,Hn)=>{"use strict";const zn=Hn(10280);const ltr=(Me,Bn,Hn)=>zn(Me,Bn,"<",Hn);Me.exports=ltr},73193:(Me,Bn,Hn)=>{"use strict";const zn=Hn(7163);const ni=Hn(96782);const maxSatisfying=(Me,Bn,Hn)=>{let Ci=null;let ts=null;let Ps=null;try{Ps=new ni(Bn,Hn)}catch(Me){return null}Me.forEach((Me=>{if(Ps.test(Me)){if(!Ci||ts.compare(Me)===-1){Ci=Me;ts=new zn(Ci,Hn)}}}));return Ci};Me.exports=maxSatisfying},68595:(Me,Bn,Hn)=>{"use strict";const zn=Hn(7163);const ni=Hn(96782);const minSatisfying=(Me,Bn,Hn)=>{let Ci=null;let ts=null;let Ps=null;try{Ps=new ni(Bn,Hn)}catch(Me){return null}Me.forEach((Me=>{if(Ps.test(Me)){if(!Ci||ts.compare(Me)===1){Ci=Me;ts=new zn(Ci,Hn)}}}));return Ci};Me.exports=minSatisfying},51866:(Me,Bn,Hn)=>{"use strict";const zn=Hn(7163);const ni=Hn(96782);const Ci=Hn(16599);const minVersion=(Me,Bn)=>{Me=new ni(Me,Bn);let Hn=new zn("0.0.0");if(Me.test(Hn)){return Hn}Hn=new zn("0.0.0-0");if(Me.test(Hn)){return Hn}Hn=null;for(let Bn=0;Bn{const Bn=new zn(Me.semver.version);switch(Me.operator){case">":if(Bn.prerelease.length===0){Bn.patch++}else{Bn.prerelease.push(0)}Bn.raw=Bn.format();case"":case">=":if(!ts||Ci(Bn,ts)){ts=Bn}break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${Me.operator}`)}}));if(ts&&(!Hn||Ci(Hn,ts))){Hn=ts}}if(Hn&&Me.test(Hn)){return Hn}return null};Me.exports=minVersion},10280:(Me,Bn,Hn)=>{"use strict";const zn=Hn(7163);const ni=Hn(89379);const{ANY:Ci}=ni;const ts=Hn(96782);const Ps=Hn(68011);const aa=Hn(16599);const oa=Hn(3872);const ca=Hn(56717);const _a=Hn(41236);const outside=(Me,Bn,Hn,xa)=>{Me=new zn(Me,xa);Bn=new ts(Bn,xa);let Ga,Ha,so,oo,Jo;switch(Hn){case">":Ga=aa;Ha=ca;so=oa;oo=">";Jo=">=";break;case"<":Ga=oa;Ha=_a;so=aa;oo="<";Jo="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Ps(Me,Bn,xa)){return false}for(let Hn=0;Hn{if(Me.semver===Ci){Me=new ni(">=0.0.0")}ts=ts||Me;Ps=Ps||Me;if(Ga(Me.semver,ts.semver,xa)){ts=Me}else if(so(Me.semver,Ps.semver,xa)){Ps=Me}}));if(ts.operator===oo||ts.operator===Jo){return false}if((!Ps.operator||Ps.operator===oo)&&Ha(Me,Ps.semver)){return false}else if(Ps.operator===Jo&&so(Me,Ps.semver)){return false}}return true};Me.exports=outside},82028:(Me,Bn,Hn)=>{"use strict";const zn=Hn(68011);const ni=Hn(78469);Me.exports=(Me,Bn,Hn)=>{const Ci=[];let ts=null;let Ps=null;const aa=Me.sort(((Me,Bn)=>ni(Me,Bn,Hn)));for(const Me of aa){const ni=zn(Me,Bn,Hn);if(ni){Ps=Me;if(!ts){ts=Me}}else{if(Ps){Ci.push([ts,Ps])}Ps=null;ts=null}}if(ts){Ci.push([ts,null])}const oa=[];for(const[Me,Bn]of Ci){if(Me===Bn){oa.push(Me)}else if(!Bn&&Me===aa[0]){oa.push("*")}else if(!Bn){oa.push(`>=${Me}`)}else if(Me===aa[0]){oa.push(`<=${Bn}`)}else{oa.push(`${Me} - ${Bn}`)}}const ca=oa.join(" || ");const _a=typeof Bn.raw==="string"?Bn.raw:String(Bn);return ca.length<_a.length?ca:Bn}},61489:(Me,Bn,Hn)=>{"use strict";const zn=Hn(96782);const ni=Hn(89379);const{ANY:Ci}=ni;const ts=Hn(68011);const Ps=Hn(78469);const subset=(Me,Bn,Hn={})=>{if(Me===Bn){return true}Me=new zn(Me,Hn);Bn=new zn(Bn,Hn);let ni=false;e:for(const zn of Me.set){for(const Me of Bn.set){const Bn=simpleSubset(zn,Me,Hn);ni=ni||Bn!==null;if(Bn){continue e}}if(ni){return false}}return true};const aa=[new ni(">=0.0.0-0")];const oa=[new ni(">=0.0.0")];const simpleSubset=(Me,Bn,Hn)=>{if(Me===Bn){return true}if(Me.length===1&&Me[0].semver===Ci){if(Bn.length===1&&Bn[0].semver===Ci){return true}else if(Hn.includePrerelease){Me=aa}else{Me=oa}}if(Bn.length===1&&Bn[0].semver===Ci){if(Hn.includePrerelease){return true}else{Bn=oa}}const zn=new Set;let ni,ca;for(const Bn of Me){if(Bn.operator===">"||Bn.operator===">="){ni=higherGT(ni,Bn,Hn)}else if(Bn.operator==="<"||Bn.operator==="<="){ca=lowerLT(ca,Bn,Hn)}else{zn.add(Bn.semver)}}if(zn.size>1){return null}let _a;if(ni&&ca){_a=Ps(ni.semver,ca.semver,Hn);if(_a>0){return null}else if(_a===0&&(ni.operator!==">="||ca.operator!=="<=")){return null}}for(const Me of zn){if(ni&&!ts(Me,String(ni),Hn)){return null}if(ca&&!ts(Me,String(ca),Hn)){return null}for(const zn of Bn){if(!ts(Me,String(zn),Hn)){return false}}return true}let xa,Ga;let Ha,so;let oo=ca&&!Hn.includePrerelease&&ca.semver.prerelease.length?ca.semver:false;let Jo=ni&&!Hn.includePrerelease&&ni.semver.prerelease.length?ni.semver:false;if(oo&&oo.prerelease.length===1&&ca.operator==="<"&&oo.prerelease[0]===0){oo=false}for(const Me of Bn){so=so||Me.operator===">"||Me.operator===">=";Ha=Ha||Me.operator==="<"||Me.operator==="<=";if(ni){if(Jo){if(Me.semver.prerelease&&Me.semver.prerelease.length&&Me.semver.major===Jo.major&&Me.semver.minor===Jo.minor&&Me.semver.patch===Jo.patch){Jo=false}}if(Me.operator===">"||Me.operator===">="){xa=higherGT(ni,Me,Hn);if(xa===Me&&xa!==ni){return false}}else if(ni.operator===">="&&!ts(ni.semver,String(Me),Hn)){return false}}if(ca){if(oo){if(Me.semver.prerelease&&Me.semver.prerelease.length&&Me.semver.major===oo.major&&Me.semver.minor===oo.minor&&Me.semver.patch===oo.patch){oo=false}}if(Me.operator==="<"||Me.operator==="<="){Ga=lowerLT(ca,Me,Hn);if(Ga===Me&&Ga!==ca){return false}}else if(ca.operator==="<="&&!ts(ca.semver,String(Me),Hn)){return false}}if(!Me.operator&&(ca||ni)&&_a!==0){return false}}if(ni&&Ha&&!ca&&_a!==0){return false}if(ca&&so&&!ni&&_a!==0){return false}if(Jo||oo){return false}return true};const higherGT=(Me,Bn,Hn)=>{if(!Me){return Bn}const zn=Ps(Me.semver,Bn.semver,Hn);return zn>0?Me:zn<0?Bn:Bn.operator===">"&&Me.operator===">="?Bn:Me};const lowerLT=(Me,Bn,Hn)=>{if(!Me){return Bn}const zn=Ps(Me.semver,Bn.semver,Hn);return zn<0?Me:zn>0?Bn:Bn.operator==="<"&&Me.operator==="<="?Bn:Me};Me.exports=subset},54750:(Me,Bn,Hn)=>{"use strict";const zn=Hn(96782);const toComparators=(Me,Bn)=>new zn(Me,Bn).set.map((Me=>Me.map((Me=>Me.value)).join(" ").trim().split(" ")));Me.exports=toComparators},64737:(Me,Bn,Hn)=>{"use strict";const zn=Hn(96782);const validRange=(Me,Bn)=>{try{return new zn(Me,Bn).range||"*"}catch(Me){return null}};Me.exports=validRange},26591:(Me,Bn,Hn)=>{"use strict";Bn.quote=Hn(5335);Bn.parse=Hn(42696)},42696:Me=>{"use strict";var Bn="(?:"+["\\|\\|","\\&\\&",";;","\\|\\&","\\<\\(","\\<\\<\\<",">>",">\\&","<\\&","[&;()|<>]"].join("|")+")";var Hn=new RegExp("^"+Bn+"$");var zn="|&;()<> \\t";var ni='"((\\\\"|[^"])*?)"';var Ci="'((\\\\'|[^'])*?)'";var ts=/^#$/;var Ps="'";var aa='"';var oa="$";var ca="";var _a=4294967296;for(var xa=0;xa<4;xa++){ca+=(_a*Math.random()).toString(16)}var Ga=new RegExp("^"+ca);function matchAll(Me,Bn){var Hn=Bn.lastIndex;var zn=[];var ni;while(ni=Bn.exec(Me)){zn.push(ni);if(Bn.lastIndex===ni.index){Bn.lastIndex+=1}}Bn.lastIndex=Hn;return zn}function getVar(Me,Bn,Hn){var zn=typeof Me==="function"?Me(Hn):Me[Hn];if(typeof zn==="undefined"&&Hn!=""){zn=""}else if(typeof zn==="undefined"){zn="$"}if(typeof zn==="object"){return Bn+ca+JSON.stringify(zn)+ca}return Bn+zn}function parseInternal(Me,ca,_a){if(!_a){_a={}}var xa=_a.escape||"\\";var Ga="(\\"+xa+"['\""+zn+"]|[^\\s'\""+zn+"])+";var Ha=new RegExp(["("+Bn+")","("+Ga+"|"+ni+"|"+Ci+")+"].join("|"),"g");var so=matchAll(Me,Ha);if(so.length===0){return[]}if(!ca){ca={}}var oo=false;return so.map((function(Bn){var zn=Bn[0];if(!zn||oo){return void undefined}if(Hn.test(zn)){return{op:zn}}var ni=false;var Ci=false;var _a="";var Ga=false;var Ha;function parseEnvVar(){Ha+=1;var Me;var Bn;var Hn=zn.charAt(Ha);if(Hn==="{"){Ha+=1;if(zn.charAt(Ha)==="}"){throw new Error("Bad substitution: "+zn.slice(Ha-2,Ha+1))}Me=zn.indexOf("}",Ha);if(Me<0){throw new Error("Bad substitution: "+zn.slice(Ha))}Bn=zn.slice(Ha,Me);Ha=Me}else if(/[*@#?$!_-]/.test(Hn)){Bn=Hn;Ha+=1}else{var ni=zn.slice(Ha);Me=ni.match(/[^\w\d_]/);if(!Me){Bn=ni;Ha=zn.length}else{Bn=ni.slice(0,Me.index);Ha+=Me.index-1}}return getVar(ca,"",Bn)}for(Ha=0;Ha{"use strict";Me.exports=function quote(Me){return Me.map((function(Me){if(Me===""){return"''"}if(Me&&typeof Me==="object"){return Me.op.replace(/(.)/g,"\\$1")}if(/["\s\\]/.test(Me)&&!/'/.test(Me)){return"'"+Me.replace(/(['])/g,"\\$1")+"'"}if(/["'\s]/.test(Me)){return'"'+Me.replace(/(["\\$`!])/g,"\\$1")+'"'}return String(Me).replace(/([A-Za-z]:)?([#!"$&'()*,:;<=>?@[\\\]^`{|}])/g,"$1\\$2")})).join(" ")}},8948:(Me,Bn,Hn)=>{"use strict";var zn=Hn(60506);var ni=Hn(73314);var listGetNode=function(Me,Bn,Hn){var zn=Me;var ni;for(;(ni=zn.next)!=null;zn=ni){if(ni.key===Bn){zn.next=ni.next;if(!Hn){ni.next=Me.next;Me.next=ni}return ni}}};var listGet=function(Me,Bn){if(!Me){return void undefined}var Hn=listGetNode(Me,Bn);return Hn&&Hn.value};var listSet=function(Me,Bn,Hn){var zn=listGetNode(Me,Bn);if(zn){zn.value=Hn}else{Me.next={key:Bn,next:Me.next,value:Hn}}};var listHas=function(Me,Bn){if(!Me){return false}return!!listGetNode(Me,Bn)};var listDelete=function(Me,Bn){if(Me){return listGetNode(Me,Bn,true)}};Me.exports=function getSideChannelList(){var Me;var Bn={assert:function(Me){if(!Bn.has(Me)){throw new ni("Side channel does not contain "+zn(Me))}},delete:function(Bn){var Hn=Me&&Me.next;var zn=listDelete(Me,Bn);if(zn&&Hn&&Hn===zn){Me=void undefined}return!!zn},get:function(Bn){return listGet(Me,Bn)},has:function(Bn){return listHas(Me,Bn)},set:function(Bn,Hn){if(!Me){Me={next:void undefined}}listSet(Me,Bn,Hn)}};return Bn}},82622:(Me,Bn,Hn)=>{"use strict";var zn=Hn(60470);var ni=Hn(23105);var Ci=Hn(60506);var ts=Hn(73314);var Ps=zn("%Map%",true);var aa=ni("Map.prototype.get",true);var oa=ni("Map.prototype.set",true);var ca=ni("Map.prototype.has",true);var _a=ni("Map.prototype.delete",true);var xa=ni("Map.prototype.size",true);Me.exports=!!Ps&&function getSideChannelMap(){var Me;var Bn={assert:function(Me){if(!Bn.has(Me)){throw new ts("Side channel does not contain "+Ci(Me))}},delete:function(Bn){if(Me){var Hn=_a(Me,Bn);if(xa(Me)===0){Me=void undefined}return Hn}return false},get:function(Bn){if(Me){return aa(Me,Bn)}},has:function(Bn){if(Me){return ca(Me,Bn)}return false},set:function(Bn,Hn){if(!Me){Me=new Ps}oa(Me,Bn,Hn)}};return Bn}},92870:(Me,Bn,Hn)=>{"use strict";var zn=Hn(60470);var ni=Hn(23105);var Ci=Hn(60506);var ts=Hn(82622);var Ps=Hn(73314);var aa=zn("%WeakMap%",true);var oa=ni("WeakMap.prototype.get",true);var ca=ni("WeakMap.prototype.set",true);var _a=ni("WeakMap.prototype.has",true);var xa=ni("WeakMap.prototype.delete",true);Me.exports=aa?function getSideChannelWeakMap(){var Me;var Bn;var Hn={assert:function(Me){if(!Hn.has(Me)){throw new Ps("Side channel does not contain "+Ci(Me))}},delete:function(Hn){if(aa&&Hn&&(typeof Hn==="object"||typeof Hn==="function")){if(Me){return xa(Me,Hn)}}else if(ts){if(Bn){return Bn["delete"](Hn)}}return false},get:function(Hn){if(aa&&Hn&&(typeof Hn==="object"||typeof Hn==="function")){if(Me){return oa(Me,Hn)}}return Bn&&Bn.get(Hn)},has:function(Hn){if(aa&&Hn&&(typeof Hn==="object"||typeof Hn==="function")){if(Me){return _a(Me,Hn)}}return!!Bn&&Bn.has(Hn)},set:function(Hn,zn){if(aa&&Hn&&(typeof Hn==="object"||typeof Hn==="function")){if(!Me){Me=new aa}ca(Me,Hn,zn)}else if(ts){if(!Bn){Bn=ts()}Bn.set(Hn,zn)}}};return Hn}:ts},94753:(Me,Bn,Hn)=>{"use strict";var zn=Hn(73314);var ni=Hn(60506);var Ci=Hn(8948);var ts=Hn(82622);var Ps=Hn(92870);var aa=Ps||ts||Ci;Me.exports=function getSideChannel(){var Me;var Bn={assert:function(Me){if(!Bn.has(Me)){throw new zn("Side channel does not contain "+ni(Me))}},delete:function(Bn){return!!Me&&Me["delete"](Bn)},get:function(Bn){return Me&&Me.get(Bn)},has:function(Bn){return!!Me&&Me.has(Bn)},set:function(Bn,Hn){if(!Me){Me=aa()}Me.set(Bn,Hn)}};return Bn}},21450:(Me,Bn,Hn)=>{"use strict";const zn=Hn(70857);const ni=Hn(52018);const Ci=Hn(83813);const{env:ts}=process;let Ps;if(Ci("no-color")||Ci("no-colors")||Ci("color=false")||Ci("color=never")){Ps=0}else if(Ci("color")||Ci("colors")||Ci("color=true")||Ci("color=always")){Ps=1}if("FORCE_COLOR"in ts){if(ts.FORCE_COLOR==="true"){Ps=1}else if(ts.FORCE_COLOR==="false"){Ps=0}else{Ps=ts.FORCE_COLOR.length===0?1:Math.min(parseInt(ts.FORCE_COLOR,10),3)}}function translateLevel(Me){if(Me===0){return false}return{level:Me,hasBasic:true,has256:Me>=2,has16m:Me>=3}}function supportsColor(Me,Bn){if(Ps===0){return 0}if(Ci("color=16m")||Ci("color=full")||Ci("color=truecolor")){return 3}if(Ci("color=256")){return 2}if(Me&&!Bn&&Ps===undefined){return 0}const Hn=Ps||0;if(ts.TERM==="dumb"){return Hn}if(process.platform==="win32"){const Me=zn.release().split(".");if(Number(Me[0])>=10&&Number(Me[2])>=10586){return Number(Me[2])>=14931?3:2}return 1}if("CI"in ts){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some((Me=>Me in ts))||ts.CI_NAME==="codeship"){return 1}return Hn}if("TEAMCITY_VERSION"in ts){return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ts.TEAMCITY_VERSION)?1:0}if(ts.COLORTERM==="truecolor"){return 3}if("TERM_PROGRAM"in ts){const Me=parseInt((ts.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ts.TERM_PROGRAM){case"iTerm.app":return Me>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(ts.TERM)){return 2}if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ts.TERM)){return 1}if("COLORTERM"in ts){return 1}return Hn}function getSupportLevel(Me){const Bn=supportsColor(Me,Me&&Me.isTTY);return translateLevel(Bn)}Me.exports={supportsColor:getSupportLevel,stdout:translateLevel(supportsColor(true,ni.isatty(1))),stderr:translateLevel(supportsColor(true,ni.isatty(2)))}},20770:(Me,Bn,Hn)=>{Me.exports=Hn(20218)},20218:(Me,Bn,Hn)=>{"use strict";var zn=Hn(69278);var ni=Hn(64756);var Ci=Hn(58611);var ts=Hn(65692);var Ps=Hn(24434);var aa=Hn(42613);var oa=Hn(39023);Bn.httpOverHttp=httpOverHttp;Bn.httpsOverHttp=httpsOverHttp;Bn.httpOverHttps=httpOverHttps;Bn.httpsOverHttps=httpsOverHttps;function httpOverHttp(Me){var Bn=new TunnelingAgent(Me);Bn.request=Ci.request;return Bn}function httpsOverHttp(Me){var Bn=new TunnelingAgent(Me);Bn.request=Ci.request;Bn.createSocket=createSecureSocket;Bn.defaultPort=443;return Bn}function httpOverHttps(Me){var Bn=new TunnelingAgent(Me);Bn.request=ts.request;return Bn}function httpsOverHttps(Me){var Bn=new TunnelingAgent(Me);Bn.request=ts.request;Bn.createSocket=createSecureSocket;Bn.defaultPort=443;return Bn}function TunnelingAgent(Me){var Bn=this;Bn.options=Me||{};Bn.proxyOptions=Bn.options.proxy||{};Bn.maxSockets=Bn.options.maxSockets||Ci.Agent.defaultMaxSockets;Bn.requests=[];Bn.sockets=[];Bn.on("free",(function onFree(Me,Hn,zn,ni){var Ci=toOptions(Hn,zn,ni);for(var ts=0,Ps=Bn.requests.length;ts=this.maxSockets){ni.requests.push(Ci);return}ni.createSocket(Ci,(function(Bn){Bn.on("free",onFree);Bn.on("close",onCloseOrRemove);Bn.on("agentRemove",onCloseOrRemove);Me.onSocket(Bn);function onFree(){ni.emit("free",Bn,Ci)}function onCloseOrRemove(Me){ni.removeSocket(Bn);Bn.removeListener("free",onFree);Bn.removeListener("close",onCloseOrRemove);Bn.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(Me,Bn){var Hn=this;var zn={};Hn.sockets.push(zn);var ni=mergeOptions({},Hn.proxyOptions,{method:"CONNECT",path:Me.host+":"+Me.port,agent:false,headers:{host:Me.host+":"+Me.port}});if(Me.localAddress){ni.localAddress=Me.localAddress}if(ni.proxyAuth){ni.headers=ni.headers||{};ni.headers["Proxy-Authorization"]="Basic "+new Buffer(ni.proxyAuth).toString("base64")}ca("making CONNECT request");var Ci=Hn.request(ni);Ci.useChunkedEncodingByDefault=false;Ci.once("response",onResponse);Ci.once("upgrade",onUpgrade);Ci.once("connect",onConnect);Ci.once("error",onError);Ci.end();function onResponse(Me){Me.upgrade=true}function onUpgrade(Me,Bn,Hn){process.nextTick((function(){onConnect(Me,Bn,Hn)}))}function onConnect(ni,ts,Ps){Ci.removeAllListeners();ts.removeAllListeners();if(ni.statusCode!==200){ca("tunneling socket could not be established, statusCode=%d",ni.statusCode);ts.destroy();var aa=new Error("tunneling socket could not be established, "+"statusCode="+ni.statusCode);aa.code="ECONNRESET";Me.request.emit("error",aa);Hn.removeSocket(zn);return}if(Ps.length>0){ca("got illegal response body from proxy");ts.destroy();var aa=new Error("got illegal response body from proxy");aa.code="ECONNRESET";Me.request.emit("error",aa);Hn.removeSocket(zn);return}ca("tunneling connection has established");Hn.sockets[Hn.sockets.indexOf(zn)]=ts;return Bn(ts)}function onError(Bn){Ci.removeAllListeners();ca("tunneling socket could not be established, cause=%s\n",Bn.message,Bn.stack);var ni=new Error("tunneling socket could not be established, "+"cause="+Bn.message);ni.code="ECONNRESET";Me.request.emit("error",ni);Hn.removeSocket(zn)}};TunnelingAgent.prototype.removeSocket=function removeSocket(Me){var Bn=this.sockets.indexOf(Me);if(Bn===-1){return}this.sockets.splice(Bn,1);var Hn=this.requests.shift();if(Hn){this.createSocket(Hn,(function(Me){Hn.request.onSocket(Me)}))}};function createSecureSocket(Me,Bn){var Hn=this;TunnelingAgent.prototype.createSocket.call(Hn,Me,(function(zn){var Ci=Me.request.getHeader("host");var ts=mergeOptions({},Hn.options,{socket:zn,servername:Ci?Ci.replace(/:.*$/,""):Me.host});var Ps=ni.connect(0,ts);Hn.sockets[Hn.sockets.indexOf(zn)]=Ps;Bn(Ps)}))}function toOptions(Me,Bn,Hn){if(typeof Me==="string"){return{host:Me,port:Bn,localAddress:Hn}}return Me}function mergeOptions(Me){for(var Bn=1,Hn=arguments.length;Bn{"use strict";const zn=Hn(86197);const ni=Hn(28611);const Ci=Hn(68707);const ts=Hn(35076);const Ps=Hn(81093);const aa=Hn(59965);const oa=Hn(3440);const{InvalidArgumentError:ca}=Ci;const _a=Hn(56615);const xa=Hn(59136);const Ga=Hn(47365);const Ha=Hn(47501);const so=Hn(94004);const oo=Hn(52429);const Jo=Hn(22720);const tc=Hn(53573);const{getGlobalDispatcher:dc,setGlobalDispatcher:Fc}=Hn(32581);const Jc=Hn(78840);const Dp=Hn(48299);const kp=Hn(64415);let Qp;try{Hn(76982);Qp=true}catch{Qp=false}Object.assign(ni.prototype,_a);Me.exports.Dispatcher=ni;Me.exports.Client=zn;Me.exports.Pool=ts;Me.exports.BalancedPool=Ps;Me.exports.Agent=aa;Me.exports.ProxyAgent=Jo;Me.exports.RetryHandler=tc;Me.exports.DecoratorHandler=Jc;Me.exports.RedirectHandler=Dp;Me.exports.createRedirectInterceptor=kp;Me.exports.buildConnector=xa;Me.exports.errors=Ci;function makeDispatcher(Me){return(Bn,Hn,zn)=>{if(typeof Hn==="function"){zn=Hn;Hn=null}if(!Bn||typeof Bn!=="string"&&typeof Bn!=="object"&&!(Bn instanceof URL)){throw new ca("invalid url")}if(Hn!=null&&typeof Hn!=="object"){throw new ca("invalid opts")}if(Hn&&Hn.path!=null){if(typeof Hn.path!=="string"){throw new ca("invalid opts.path")}let Me=Hn.path;if(!Hn.path.startsWith("/")){Me=`/${Me}`}Bn=new URL(oa.parseOrigin(Bn).origin+Me)}else{if(!Hn){Hn=typeof Bn==="object"?Bn:{}}Bn=oa.parseURL(Bn)}const{agent:ni,dispatcher:Ci=dc()}=Hn;if(ni){throw new ca("unsupported opts.agent. Did you mean opts.client?")}return Me.call(Ci,{...Hn,origin:Bn.origin,path:Bn.search?`${Bn.pathname}${Bn.search}`:Bn.pathname,method:Hn.method||(Hn.body?"PUT":"GET")},zn)}}Me.exports.setGlobalDispatcher=Fc;Me.exports.getGlobalDispatcher=dc;if(oa.nodeMajor>16||oa.nodeMajor===16&&oa.nodeMinor>=8){let Bn=null;Me.exports.fetch=async function fetch(Me){if(!Bn){Bn=Hn(12315).fetch}try{return await Bn(...arguments)}catch(Me){if(typeof Me==="object"){Error.captureStackTrace(Me,this)}throw Me}};Me.exports.Headers=Hn(26349).Headers;Me.exports.Response=Hn(48676).Response;Me.exports.Request=Hn(25194).Request;Me.exports.FormData=Hn(43073).FormData;Me.exports.File=Hn(63041).File;Me.exports.FileReader=Hn(82160).FileReader;const{setGlobalOrigin:zn,getGlobalOrigin:ni}=Hn(75628);Me.exports.setGlobalOrigin=zn;Me.exports.getGlobalOrigin=ni;const{CacheStorage:Ci}=Hn(44738);const{kConstruct:ts}=Hn(80296);Me.exports.caches=new Ci(ts)}if(oa.nodeMajor>=16){const{deleteCookie:Bn,getCookies:zn,getSetCookies:ni,setCookie:Ci}=Hn(53168);Me.exports.deleteCookie=Bn;Me.exports.getCookies=zn;Me.exports.getSetCookies=ni;Me.exports.setCookie=Ci;const{parseMIMEType:ts,serializeAMimeType:Ps}=Hn(94322);Me.exports.parseMIMEType=ts;Me.exports.serializeAMimeType=Ps}if(oa.nodeMajor>=18&&Qp){const{WebSocket:Bn}=Hn(55171);Me.exports.WebSocket=Bn}Me.exports.request=makeDispatcher(_a.request);Me.exports.stream=makeDispatcher(_a.stream);Me.exports.pipeline=makeDispatcher(_a.pipeline);Me.exports.connect=makeDispatcher(_a.connect);Me.exports.upgrade=makeDispatcher(_a.upgrade);Me.exports.MockClient=Ga;Me.exports.MockPool=so;Me.exports.MockAgent=Ha;Me.exports.mockErrors=oo},59965:(Me,Bn,Hn)=>{"use strict";const{InvalidArgumentError:zn}=Hn(68707);const{kClients:ni,kRunning:Ci,kClose:ts,kDestroy:Ps,kDispatch:aa,kInterceptors:oa}=Hn(36443);const ca=Hn(50001);const _a=Hn(35076);const xa=Hn(86197);const Ga=Hn(3440);const Ha=Hn(64415);const{WeakRef:so,FinalizationRegistry:oo}=Hn(13194)();const Jo=Symbol("onConnect");const tc=Symbol("onDisconnect");const dc=Symbol("onConnectionError");const Fc=Symbol("maxRedirections");const Jc=Symbol("onDrain");const Dp=Symbol("factory");const kp=Symbol("finalizer");const Qp=Symbol("options");function defaultFactory(Me,Bn){return Bn&&Bn.connections===1?new xa(Me,Bn):new _a(Me,Bn)}class Agent extends ca{constructor({factory:Me=defaultFactory,maxRedirections:Bn=0,connect:Hn,...Ci}={}){super();if(typeof Me!=="function"){throw new zn("factory must be a function.")}if(Hn!=null&&typeof Hn!=="function"&&typeof Hn!=="object"){throw new zn("connect must be a function or an object")}if(!Number.isInteger(Bn)||Bn<0){throw new zn("maxRedirections must be a positive number")}if(Hn&&typeof Hn!=="function"){Hn={...Hn}}this[oa]=Ci.interceptors&&Ci.interceptors.Agent&&Array.isArray(Ci.interceptors.Agent)?Ci.interceptors.Agent:[Ha({maxRedirections:Bn})];this[Qp]={...Ga.deepClone(Ci),connect:Hn};this[Qp].interceptors=Ci.interceptors?{...Ci.interceptors}:undefined;this[Fc]=Bn;this[Dp]=Me;this[ni]=new Map;this[kp]=new oo((Me=>{const Bn=this[ni].get(Me);if(Bn!==undefined&&Bn.deref()===undefined){this[ni].delete(Me)}}));const ts=this;this[Jc]=(Me,Bn)=>{ts.emit("drain",Me,[ts,...Bn])};this[Jo]=(Me,Bn)=>{ts.emit("connect",Me,[ts,...Bn])};this[tc]=(Me,Bn,Hn)=>{ts.emit("disconnect",Me,[ts,...Bn],Hn)};this[dc]=(Me,Bn,Hn)=>{ts.emit("connectionError",Me,[ts,...Bn],Hn)}}get[Ci](){let Me=0;for(const Bn of this[ni].values()){const Hn=Bn.deref();if(Hn){Me+=Hn[Ci]}}return Me}[aa](Me,Bn){let Hn;if(Me.origin&&(typeof Me.origin==="string"||Me.origin instanceof URL)){Hn=String(Me.origin)}else{throw new zn("opts.origin must be a non-empty string or URL.")}const Ci=this[ni].get(Hn);let ts=Ci?Ci.deref():null;if(!ts){ts=this[Dp](Me.origin,this[Qp]).on("drain",this[Jc]).on("connect",this[Jo]).on("disconnect",this[tc]).on("connectionError",this[dc]);this[ni].set(Hn,new so(ts));this[kp].register(ts,Hn)}return ts.dispatch(Me,Bn)}async[ts](){const Me=[];for(const Bn of this[ni].values()){const Hn=Bn.deref();if(Hn){Me.push(Hn.close())}}await Promise.all(Me)}async[Ps](Me){const Bn=[];for(const Hn of this[ni].values()){const zn=Hn.deref();if(zn){Bn.push(zn.destroy(Me))}}await Promise.all(Bn)}}Me.exports=Agent},80158:(Me,Bn,Hn)=>{const{addAbortListener:zn}=Hn(3440);const{RequestAbortedError:ni}=Hn(68707);const Ci=Symbol("kListener");const ts=Symbol("kSignal");function abort(Me){if(Me.abort){Me.abort()}else{Me.onError(new ni)}}function addSignal(Me,Bn){Me[ts]=null;Me[Ci]=null;if(!Bn){return}if(Bn.aborted){abort(Me);return}Me[ts]=Bn;Me[Ci]=()=>{abort(Me)};zn(Me[ts],Me[Ci])}function removeSignal(Me){if(!Me[ts]){return}if("removeEventListener"in Me[ts]){Me[ts].removeEventListener("abort",Me[Ci])}else{Me[ts].removeListener("abort",Me[Ci])}Me[ts]=null;Me[Ci]=null}Me.exports={addSignal:addSignal,removeSignal:removeSignal}},34660:(Me,Bn,Hn)=>{"use strict";const{AsyncResource:zn}=Hn(90290);const{InvalidArgumentError:ni,RequestAbortedError:Ci,SocketError:ts}=Hn(68707);const Ps=Hn(3440);const{addSignal:aa,removeSignal:oa}=Hn(80158);class ConnectHandler extends zn{constructor(Me,Bn){if(!Me||typeof Me!=="object"){throw new ni("invalid opts")}if(typeof Bn!=="function"){throw new ni("invalid callback")}const{signal:Hn,opaque:zn,responseHeaders:Ci}=Me;if(Hn&&typeof Hn.on!=="function"&&typeof Hn.addEventListener!=="function"){throw new ni("signal must be an EventEmitter or EventTarget")}super("UNDICI_CONNECT");this.opaque=zn||null;this.responseHeaders=Ci||null;this.callback=Bn;this.abort=null;aa(this,Hn)}onConnect(Me,Bn){if(!this.callback){throw new Ci}this.abort=Me;this.context=Bn}onHeaders(){throw new ts("bad connect",null)}onUpgrade(Me,Bn,Hn){const{callback:zn,opaque:ni,context:Ci}=this;oa(this);this.callback=null;let ts=Bn;if(ts!=null){ts=this.responseHeaders==="raw"?Ps.parseRawHeaders(Bn):Ps.parseHeaders(Bn)}this.runInAsyncScope(zn,null,null,{statusCode:Me,headers:ts,socket:Hn,opaque:ni,context:Ci})}onError(Me){const{callback:Bn,opaque:Hn}=this;oa(this);if(Bn){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(Bn,null,Me,{opaque:Hn})}))}}}function connect(Me,Bn){if(Bn===undefined){return new Promise(((Bn,Hn)=>{connect.call(this,Me,((Me,zn)=>Me?Hn(Me):Bn(zn)))}))}try{const Hn=new ConnectHandler(Me,Bn);this.dispatch({...Me,method:"CONNECT"},Hn)}catch(Hn){if(typeof Bn!=="function"){throw Hn}const zn=Me&&Me.opaque;queueMicrotask((()=>Bn(Hn,{opaque:zn})))}}Me.exports=connect},76862:(Me,Bn,Hn)=>{"use strict";const{Readable:zn,Duplex:ni,PassThrough:Ci}=Hn(2203);const{InvalidArgumentError:ts,InvalidReturnValueError:Ps,RequestAbortedError:aa}=Hn(68707);const oa=Hn(3440);const{AsyncResource:ca}=Hn(90290);const{addSignal:_a,removeSignal:xa}=Hn(80158);const Ga=Hn(42613);const Ha=Symbol("resume");class PipelineRequest extends zn{constructor(){super({autoDestroy:true});this[Ha]=null}_read(){const{[Ha]:Me}=this;if(Me){this[Ha]=null;Me()}}_destroy(Me,Bn){this._read();Bn(Me)}}class PipelineResponse extends zn{constructor(Me){super({autoDestroy:true});this[Ha]=Me}_read(){this[Ha]()}_destroy(Me,Bn){if(!Me&&!this._readableState.endEmitted){Me=new aa}Bn(Me)}}class PipelineHandler extends ca{constructor(Me,Bn){if(!Me||typeof Me!=="object"){throw new ts("invalid opts")}if(typeof Bn!=="function"){throw new ts("invalid handler")}const{signal:Hn,method:zn,opaque:Ci,onInfo:Ps,responseHeaders:ca}=Me;if(Hn&&typeof Hn.on!=="function"&&typeof Hn.addEventListener!=="function"){throw new ts("signal must be an EventEmitter or EventTarget")}if(zn==="CONNECT"){throw new ts("invalid method")}if(Ps&&typeof Ps!=="function"){throw new ts("invalid onInfo callback")}super("UNDICI_PIPELINE");this.opaque=Ci||null;this.responseHeaders=ca||null;this.handler=Bn;this.abort=null;this.context=null;this.onInfo=Ps||null;this.req=(new PipelineRequest).on("error",oa.nop);this.ret=new ni({readableObjectMode:Me.objectMode,autoDestroy:true,read:()=>{const{body:Me}=this;if(Me&&Me.resume){Me.resume()}},write:(Me,Bn,Hn)=>{const{req:zn}=this;if(zn.push(Me,Bn)||zn._readableState.destroyed){Hn()}else{zn[Ha]=Hn}},destroy:(Me,Bn)=>{const{body:Hn,req:zn,res:ni,ret:Ci,abort:ts}=this;if(!Me&&!Ci._readableState.endEmitted){Me=new aa}if(ts&&Me){ts()}oa.destroy(Hn,Me);oa.destroy(zn,Me);oa.destroy(ni,Me);xa(this);Bn(Me)}}).on("prefinish",(()=>{const{req:Me}=this;Me.push(null)}));this.res=null;_a(this,Hn)}onConnect(Me,Bn){const{ret:Hn,res:zn}=this;Ga(!zn,"pipeline cannot be retried");if(Hn.destroyed){throw new aa}this.abort=Me;this.context=Bn}onHeaders(Me,Bn,Hn){const{opaque:zn,handler:ni,context:Ci}=this;if(Me<200){if(this.onInfo){const Hn=this.responseHeaders==="raw"?oa.parseRawHeaders(Bn):oa.parseHeaders(Bn);this.onInfo({statusCode:Me,headers:Hn})}return}this.res=new PipelineResponse(Hn);let ts;try{this.handler=null;const Hn=this.responseHeaders==="raw"?oa.parseRawHeaders(Bn):oa.parseHeaders(Bn);ts=this.runInAsyncScope(ni,null,{statusCode:Me,headers:Hn,opaque:zn,body:this.res,context:Ci})}catch(Me){this.res.on("error",oa.nop);throw Me}if(!ts||typeof ts.on!=="function"){throw new Ps("expected Readable")}ts.on("data",(Me=>{const{ret:Bn,body:Hn}=this;if(!Bn.push(Me)&&Hn.pause){Hn.pause()}})).on("error",(Me=>{const{ret:Bn}=this;oa.destroy(Bn,Me)})).on("end",(()=>{const{ret:Me}=this;Me.push(null)})).on("close",(()=>{const{ret:Me}=this;if(!Me._readableState.ended){oa.destroy(Me,new aa)}}));this.body=ts}onData(Me){const{res:Bn}=this;return Bn.push(Me)}onComplete(Me){const{res:Bn}=this;Bn.push(null)}onError(Me){const{ret:Bn}=this;this.handler=null;oa.destroy(Bn,Me)}}function pipeline(Me,Bn){try{const Hn=new PipelineHandler(Me,Bn);this.dispatch({...Me,body:Hn.req},Hn);return Hn.ret}catch(Me){return(new Ci).destroy(Me)}}Me.exports=pipeline},14043:(Me,Bn,Hn)=>{"use strict";const zn=Hn(49927);const{InvalidArgumentError:ni,RequestAbortedError:Ci}=Hn(68707);const ts=Hn(3440);const{getResolveErrorBodyCallback:Ps}=Hn(87655);const{AsyncResource:aa}=Hn(90290);const{addSignal:oa,removeSignal:ca}=Hn(80158);class RequestHandler extends aa{constructor(Me,Bn){if(!Me||typeof Me!=="object"){throw new ni("invalid opts")}const{signal:Hn,method:zn,opaque:Ci,body:Ps,onInfo:aa,responseHeaders:ca,throwOnError:_a,highWaterMark:xa}=Me;try{if(typeof Bn!=="function"){throw new ni("invalid callback")}if(xa&&(typeof xa!=="number"||xa<0)){throw new ni("invalid highWaterMark")}if(Hn&&typeof Hn.on!=="function"&&typeof Hn.addEventListener!=="function"){throw new ni("signal must be an EventEmitter or EventTarget")}if(zn==="CONNECT"){throw new ni("invalid method")}if(aa&&typeof aa!=="function"){throw new ni("invalid onInfo callback")}super("UNDICI_REQUEST")}catch(Me){if(ts.isStream(Ps)){ts.destroy(Ps.on("error",ts.nop),Me)}throw Me}this.responseHeaders=ca||null;this.opaque=Ci||null;this.callback=Bn;this.res=null;this.abort=null;this.body=Ps;this.trailers={};this.context=null;this.onInfo=aa||null;this.throwOnError=_a;this.highWaterMark=xa;if(ts.isStream(Ps)){Ps.on("error",(Me=>{this.onError(Me)}))}oa(this,Hn)}onConnect(Me,Bn){if(!this.callback){throw new Ci}this.abort=Me;this.context=Bn}onHeaders(Me,Bn,Hn,ni){const{callback:Ci,opaque:aa,abort:oa,context:ca,responseHeaders:_a,highWaterMark:xa}=this;const Ga=_a==="raw"?ts.parseRawHeaders(Bn):ts.parseHeaders(Bn);if(Me<200){if(this.onInfo){this.onInfo({statusCode:Me,headers:Ga})}return}const Ha=_a==="raw"?ts.parseHeaders(Bn):Ga;const so=Ha["content-type"];const oo=new zn({resume:Hn,abort:oa,contentType:so,highWaterMark:xa});this.callback=null;this.res=oo;if(Ci!==null){if(this.throwOnError&&Me>=400){this.runInAsyncScope(Ps,null,{callback:Ci,body:oo,contentType:so,statusCode:Me,statusMessage:ni,headers:Ga})}else{this.runInAsyncScope(Ci,null,null,{statusCode:Me,headers:Ga,trailers:this.trailers,opaque:aa,body:oo,context:ca})}}}onData(Me){const{res:Bn}=this;return Bn.push(Me)}onComplete(Me){const{res:Bn}=this;ca(this);ts.parseHeaders(Me,this.trailers);Bn.push(null)}onError(Me){const{res:Bn,callback:Hn,body:zn,opaque:ni}=this;ca(this);if(Hn){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(Hn,null,Me,{opaque:ni})}))}if(Bn){this.res=null;queueMicrotask((()=>{ts.destroy(Bn,Me)}))}if(zn){this.body=null;ts.destroy(zn,Me)}}}function request(Me,Bn){if(Bn===undefined){return new Promise(((Bn,Hn)=>{request.call(this,Me,((Me,zn)=>Me?Hn(Me):Bn(zn)))}))}try{this.dispatch(Me,new RequestHandler(Me,Bn))}catch(Hn){if(typeof Bn!=="function"){throw Hn}const zn=Me&&Me.opaque;queueMicrotask((()=>Bn(Hn,{opaque:zn})))}}Me.exports=request;Me.exports.RequestHandler=RequestHandler},3560:(Me,Bn,Hn)=>{"use strict";const{finished:zn,PassThrough:ni}=Hn(2203);const{InvalidArgumentError:Ci,InvalidReturnValueError:ts,RequestAbortedError:Ps}=Hn(68707);const aa=Hn(3440);const{getResolveErrorBodyCallback:oa}=Hn(87655);const{AsyncResource:ca}=Hn(90290);const{addSignal:_a,removeSignal:xa}=Hn(80158);class StreamHandler extends ca{constructor(Me,Bn,Hn){if(!Me||typeof Me!=="object"){throw new Ci("invalid opts")}const{signal:zn,method:ni,opaque:ts,body:Ps,onInfo:oa,responseHeaders:ca,throwOnError:xa}=Me;try{if(typeof Hn!=="function"){throw new Ci("invalid callback")}if(typeof Bn!=="function"){throw new Ci("invalid factory")}if(zn&&typeof zn.on!=="function"&&typeof zn.addEventListener!=="function"){throw new Ci("signal must be an EventEmitter or EventTarget")}if(ni==="CONNECT"){throw new Ci("invalid method")}if(oa&&typeof oa!=="function"){throw new Ci("invalid onInfo callback")}super("UNDICI_STREAM")}catch(Me){if(aa.isStream(Ps)){aa.destroy(Ps.on("error",aa.nop),Me)}throw Me}this.responseHeaders=ca||null;this.opaque=ts||null;this.factory=Bn;this.callback=Hn;this.res=null;this.abort=null;this.context=null;this.trailers=null;this.body=Ps;this.onInfo=oa||null;this.throwOnError=xa||false;if(aa.isStream(Ps)){Ps.on("error",(Me=>{this.onError(Me)}))}_a(this,zn)}onConnect(Me,Bn){if(!this.callback){throw new Ps}this.abort=Me;this.context=Bn}onHeaders(Me,Bn,Hn,Ci){const{factory:Ps,opaque:ca,context:_a,callback:xa,responseHeaders:Ga}=this;const Ha=Ga==="raw"?aa.parseRawHeaders(Bn):aa.parseHeaders(Bn);if(Me<200){if(this.onInfo){this.onInfo({statusCode:Me,headers:Ha})}return}this.factory=null;let so;if(this.throwOnError&&Me>=400){const Hn=Ga==="raw"?aa.parseHeaders(Bn):Ha;const zn=Hn["content-type"];so=new ni;this.callback=null;this.runInAsyncScope(oa,null,{callback:xa,body:so,contentType:zn,statusCode:Me,statusMessage:Ci,headers:Ha})}else{if(Ps===null){return}so=this.runInAsyncScope(Ps,null,{statusCode:Me,headers:Ha,opaque:ca,context:_a});if(!so||typeof so.write!=="function"||typeof so.end!=="function"||typeof so.on!=="function"){throw new ts("expected Writable")}zn(so,{readable:false},(Me=>{const{callback:Bn,res:Hn,opaque:zn,trailers:ni,abort:Ci}=this;this.res=null;if(Me||!Hn.readable){aa.destroy(Hn,Me)}this.callback=null;this.runInAsyncScope(Bn,null,Me||null,{opaque:zn,trailers:ni});if(Me){Ci()}}))}so.on("drain",Hn);this.res=so;const oo=so.writableNeedDrain!==undefined?so.writableNeedDrain:so._writableState&&so._writableState.needDrain;return oo!==true}onData(Me){const{res:Bn}=this;return Bn?Bn.write(Me):true}onComplete(Me){const{res:Bn}=this;xa(this);if(!Bn){return}this.trailers=aa.parseHeaders(Me);Bn.end()}onError(Me){const{res:Bn,callback:Hn,opaque:zn,body:ni}=this;xa(this);this.factory=null;if(Bn){this.res=null;aa.destroy(Bn,Me)}else if(Hn){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(Hn,null,Me,{opaque:zn})}))}if(ni){this.body=null;aa.destroy(ni,Me)}}}function stream(Me,Bn,Hn){if(Hn===undefined){return new Promise(((Hn,zn)=>{stream.call(this,Me,Bn,((Me,Bn)=>Me?zn(Me):Hn(Bn)))}))}try{this.dispatch(Me,new StreamHandler(Me,Bn,Hn))}catch(Bn){if(typeof Hn!=="function"){throw Bn}const zn=Me&&Me.opaque;queueMicrotask((()=>Hn(Bn,{opaque:zn})))}}Me.exports=stream},61882:(Me,Bn,Hn)=>{"use strict";const{InvalidArgumentError:zn,RequestAbortedError:ni,SocketError:Ci}=Hn(68707);const{AsyncResource:ts}=Hn(90290);const Ps=Hn(3440);const{addSignal:aa,removeSignal:oa}=Hn(80158);const ca=Hn(42613);class UpgradeHandler extends ts{constructor(Me,Bn){if(!Me||typeof Me!=="object"){throw new zn("invalid opts")}if(typeof Bn!=="function"){throw new zn("invalid callback")}const{signal:Hn,opaque:ni,responseHeaders:Ci}=Me;if(Hn&&typeof Hn.on!=="function"&&typeof Hn.addEventListener!=="function"){throw new zn("signal must be an EventEmitter or EventTarget")}super("UNDICI_UPGRADE");this.responseHeaders=Ci||null;this.opaque=ni||null;this.callback=Bn;this.abort=null;this.context=null;aa(this,Hn)}onConnect(Me,Bn){if(!this.callback){throw new ni}this.abort=Me;this.context=null}onHeaders(){throw new Ci("bad upgrade",null)}onUpgrade(Me,Bn,Hn){const{callback:zn,opaque:ni,context:Ci}=this;ca.strictEqual(Me,101);oa(this);this.callback=null;const ts=this.responseHeaders==="raw"?Ps.parseRawHeaders(Bn):Ps.parseHeaders(Bn);this.runInAsyncScope(zn,null,null,{headers:ts,socket:Hn,opaque:ni,context:Ci})}onError(Me){const{callback:Bn,opaque:Hn}=this;oa(this);if(Bn){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(Bn,null,Me,{opaque:Hn})}))}}}function upgrade(Me,Bn){if(Bn===undefined){return new Promise(((Bn,Hn)=>{upgrade.call(this,Me,((Me,zn)=>Me?Hn(Me):Bn(zn)))}))}try{const Hn=new UpgradeHandler(Me,Bn);this.dispatch({...Me,method:Me.method||"GET",upgrade:Me.protocol||"Websocket"},Hn)}catch(Hn){if(typeof Bn!=="function"){throw Hn}const zn=Me&&Me.opaque;queueMicrotask((()=>Bn(Hn,{opaque:zn})))}}Me.exports=upgrade},56615:(Me,Bn,Hn)=>{"use strict";Me.exports.request=Hn(14043);Me.exports.stream=Hn(3560);Me.exports.pipeline=Hn(76862);Me.exports.upgrade=Hn(61882);Me.exports.connect=Hn(34660)},49927:(Me,Bn,Hn)=>{"use strict";const zn=Hn(42613);const{Readable:ni}=Hn(2203);const{RequestAbortedError:Ci,NotSupportedError:ts,InvalidArgumentError:Ps}=Hn(68707);const aa=Hn(3440);const{ReadableStreamFrom:oa,toUSVString:ca}=Hn(3440);let _a;const xa=Symbol("kConsume");const Ga=Symbol("kReading");const Ha=Symbol("kBody");const so=Symbol("abort");const oo=Symbol("kContentType");const noop=()=>{};Me.exports=class BodyReadable extends ni{constructor({resume:Me,abort:Bn,contentType:Hn="",highWaterMark:zn=64*1024}){super({autoDestroy:true,read:Me,highWaterMark:zn});this._readableState.dataEmitted=false;this[so]=Bn;this[xa]=null;this[Ha]=null;this[oo]=Hn;this[Ga]=false}destroy(Me){if(this.destroyed){return this}if(!Me&&!this._readableState.endEmitted){Me=new Ci}if(Me){this[so]()}return super.destroy(Me)}emit(Me,...Bn){if(Me==="data"){this._readableState.dataEmitted=true}else if(Me==="error"){this._readableState.errorEmitted=true}return super.emit(Me,...Bn)}on(Me,...Bn){if(Me==="data"||Me==="readable"){this[Ga]=true}return super.on(Me,...Bn)}addListener(Me,...Bn){return this.on(Me,...Bn)}off(Me,...Bn){const Hn=super.off(Me,...Bn);if(Me==="data"||Me==="readable"){this[Ga]=this.listenerCount("data")>0||this.listenerCount("readable")>0}return Hn}removeListener(Me,...Bn){return this.off(Me,...Bn)}push(Me){if(this[xa]&&Me!==null&&this.readableLength===0){consumePush(this[xa],Me);return this[Ga]?super.push(Me):true}return super.push(Me)}async text(){return consume(this,"text")}async json(){return consume(this,"json")}async blob(){return consume(this,"blob")}async arrayBuffer(){return consume(this,"arrayBuffer")}async formData(){throw new ts}get bodyUsed(){return aa.isDisturbed(this)}get body(){if(!this[Ha]){this[Ha]=oa(this);if(this[xa]){this[Ha].getReader();zn(this[Ha].locked)}}return this[Ha]}dump(Me){let Bn=Me&&Number.isFinite(Me.limit)?Me.limit:262144;const Hn=Me&&Me.signal;if(Hn){try{if(typeof Hn!=="object"||!("aborted"in Hn)){throw new Ps("signal must be an AbortSignal")}aa.throwIfAborted(Hn)}catch(Me){return Promise.reject(Me)}}if(this.closed){return Promise.resolve(null)}return new Promise(((Me,zn)=>{const ni=Hn?aa.addAbortListener(Hn,(()=>{this.destroy()})):noop;this.on("close",(function(){ni();if(Hn&&Hn.aborted){zn(Hn.reason||Object.assign(new Error("The operation was aborted"),{name:"AbortError"}))}else{Me(null)}})).on("error",noop).on("data",(function(Me){Bn-=Me.length;if(Bn<=0){this.destroy()}})).resume()}))}};function isLocked(Me){return Me[Ha]&&Me[Ha].locked===true||Me[xa]}function isUnusable(Me){return aa.isDisturbed(Me)||isLocked(Me)}async function consume(Me,Bn){if(isUnusable(Me)){throw new TypeError("unusable")}zn(!Me[xa]);return new Promise(((Hn,zn)=>{Me[xa]={type:Bn,stream:Me,resolve:Hn,reject:zn,length:0,body:[]};Me.on("error",(function(Me){consumeFinish(this[xa],Me)})).on("close",(function(){if(this[xa].body!==null){consumeFinish(this[xa],new Ci)}}));process.nextTick(consumeStart,Me[xa])}))}function consumeStart(Me){if(Me.body===null){return}const{_readableState:Bn}=Me.stream;for(const Hn of Bn.buffer){consumePush(Me,Hn)}if(Bn.endEmitted){consumeEnd(this[xa])}else{Me.stream.on("end",(function(){consumeEnd(this[xa])}))}Me.stream.resume();while(Me.stream.read()!=null){}}function consumeEnd(Me){const{type:Bn,body:zn,resolve:ni,stream:Ci,length:ts}=Me;try{if(Bn==="text"){ni(ca(Buffer.concat(zn)))}else if(Bn==="json"){ni(JSON.parse(Buffer.concat(zn)))}else if(Bn==="arrayBuffer"){const Me=new Uint8Array(ts);let Bn=0;for(const Hn of zn){Me.set(Hn,Bn);Bn+=Hn.byteLength}ni(Me.buffer)}else if(Bn==="blob"){if(!_a){_a=Hn(20181).Blob}ni(new _a(zn,{type:Ci[oo]}))}consumeFinish(Me)}catch(Me){Ci.destroy(Me)}}function consumePush(Me,Bn){Me.length+=Bn.length;Me.body.push(Bn)}function consumeFinish(Me,Bn){if(Me.body===null){return}if(Bn){Me.reject(Bn)}else{Me.resolve()}Me.type=null;Me.stream=null;Me.resolve=null;Me.reject=null;Me.length=0;Me.body=null}},87655:(Me,Bn,Hn)=>{const zn=Hn(42613);const{ResponseStatusCodeError:ni}=Hn(68707);const{toUSVString:Ci}=Hn(3440);async function getResolveErrorBodyCallback({callback:Me,body:Bn,contentType:Hn,statusCode:ts,statusMessage:Ps,headers:aa}){zn(Bn);let oa=[];let ca=0;for await(const Me of Bn){oa.push(Me);ca+=Me.length;if(ca>128*1024){oa=null;break}}if(ts===204||!Hn||!oa){process.nextTick(Me,new ni(`Response status code ${ts}${Ps?`: ${Ps}`:""}`,ts,aa));return}try{if(Hn.startsWith("application/json")){const Bn=JSON.parse(Ci(Buffer.concat(oa)));process.nextTick(Me,new ni(`Response status code ${ts}${Ps?`: ${Ps}`:""}`,ts,aa,Bn));return}if(Hn.startsWith("text/")){const Bn=Ci(Buffer.concat(oa));process.nextTick(Me,new ni(`Response status code ${ts}${Ps?`: ${Ps}`:""}`,ts,aa,Bn));return}}catch(Me){}process.nextTick(Me,new ni(`Response status code ${ts}${Ps?`: ${Ps}`:""}`,ts,aa))}Me.exports={getResolveErrorBodyCallback:getResolveErrorBodyCallback}},81093:(Me,Bn,Hn)=>{"use strict";const{BalancedPoolMissingUpstreamError:zn,InvalidArgumentError:ni}=Hn(68707);const{PoolBase:Ci,kClients:ts,kNeedDrain:Ps,kAddClient:aa,kRemoveClient:oa,kGetDispatcher:ca}=Hn(58640);const _a=Hn(35076);const{kUrl:xa,kInterceptors:Ga}=Hn(36443);const{parseOrigin:Ha}=Hn(3440);const so=Symbol("factory");const oo=Symbol("options");const Jo=Symbol("kGreatestCommonDivisor");const tc=Symbol("kCurrentWeight");const dc=Symbol("kIndex");const Fc=Symbol("kWeight");const Jc=Symbol("kMaxWeightPerServer");const Dp=Symbol("kErrorPenalty");function getGreatestCommonDivisor(Me,Bn){if(Bn===0)return Me;return getGreatestCommonDivisor(Bn,Me%Bn)}function defaultFactory(Me,Bn){return new _a(Me,Bn)}class BalancedPool extends Ci{constructor(Me=[],{factory:Bn=defaultFactory,...Hn}={}){super();this[oo]=Hn;this[dc]=-1;this[tc]=0;this[Jc]=this[oo].maxWeightPerServer||100;this[Dp]=this[oo].errorPenalty||15;if(!Array.isArray(Me)){Me=[Me]}if(typeof Bn!=="function"){throw new ni("factory must be a function.")}this[Ga]=Hn.interceptors&&Hn.interceptors.BalancedPool&&Array.isArray(Hn.interceptors.BalancedPool)?Hn.interceptors.BalancedPool:[];this[so]=Bn;for(const Bn of Me){this.addUpstream(Bn)}this._updateBalancedPoolStats()}addUpstream(Me){const Bn=Ha(Me).origin;if(this[ts].find((Me=>Me[xa].origin===Bn&&Me.closed!==true&&Me.destroyed!==true))){return this}const Hn=this[so](Bn,Object.assign({},this[oo]));this[aa](Hn);Hn.on("connect",(()=>{Hn[Fc]=Math.min(this[Jc],Hn[Fc]+this[Dp])}));Hn.on("connectionError",(()=>{Hn[Fc]=Math.max(1,Hn[Fc]-this[Dp]);this._updateBalancedPoolStats()}));Hn.on("disconnect",((...Me)=>{const Bn=Me[2];if(Bn&&Bn.code==="UND_ERR_SOCKET"){Hn[Fc]=Math.max(1,Hn[Fc]-this[Dp]);this._updateBalancedPoolStats()}}));for(const Me of this[ts]){Me[Fc]=this[Jc]}this._updateBalancedPoolStats();return this}_updateBalancedPoolStats(){this[Jo]=this[ts].map((Me=>Me[Fc])).reduce(getGreatestCommonDivisor,0)}removeUpstream(Me){const Bn=Ha(Me).origin;const Hn=this[ts].find((Me=>Me[xa].origin===Bn&&Me.closed!==true&&Me.destroyed!==true));if(Hn){this[oa](Hn)}return this}get upstreams(){return this[ts].filter((Me=>Me.closed!==true&&Me.destroyed!==true)).map((Me=>Me[xa].origin))}[ca](){if(this[ts].length===0){throw new zn}const Me=this[ts].find((Me=>!Me[Ps]&&Me.closed!==true&&Me.destroyed!==true));if(!Me){return}const Bn=this[ts].map((Me=>Me[Ps])).reduce(((Me,Bn)=>Me&&Bn),true);if(Bn){return}let Hn=0;let ni=this[ts].findIndex((Me=>!Me[Ps]));while(Hn++this[ts][ni][Fc]&&!Me[Ps]){ni=this[dc]}if(this[dc]===0){this[tc]=this[tc]-this[Jo];if(this[tc]<=0){this[tc]=this[Jc]}}if(Me[Fc]>=this[tc]&&!Me[Ps]){return Me}}this[tc]=this[ts][ni][Fc];this[dc]=ni;return this[ts][ni]}}Me.exports=BalancedPool},50479:(Me,Bn,Hn)=>{"use strict";const{kConstruct:zn}=Hn(80296);const{urlEquals:ni,fieldValues:Ci}=Hn(23993);const{kEnumerableProperty:ts,isDisturbed:Ps}=Hn(3440);const{kHeadersList:aa}=Hn(36443);const{webidl:oa}=Hn(74222);const{Response:ca,cloneResponse:_a}=Hn(48676);const{Request:xa}=Hn(25194);const{kState:Ga,kHeaders:Ha,kGuard:so,kRealm:oo}=Hn(89710);const{fetching:Jo}=Hn(12315);const{urlIsHttpHttpsScheme:tc,createDeferredPromise:dc,readAllBytes:Fc}=Hn(15523);const Jc=Hn(42613);const{getGlobalDispatcher:Dp}=Hn(32581);class Cache{#k;constructor(){if(arguments[0]!==zn){oa.illegalConstructor()}this.#k=arguments[1]}async match(Me,Bn={}){oa.brandCheck(this,Cache);oa.argumentLengthCheck(arguments,1,{header:"Cache.match"});Me=oa.converters.RequestInfo(Me);Bn=oa.converters.CacheQueryOptions(Bn);const Hn=await this.matchAll(Me,Bn);if(Hn.length===0){return}return Hn[0]}async matchAll(Me=undefined,Bn={}){oa.brandCheck(this,Cache);if(Me!==undefined)Me=oa.converters.RequestInfo(Me);Bn=oa.converters.CacheQueryOptions(Bn);let Hn=null;if(Me!==undefined){if(Me instanceof xa){Hn=Me[Ga];if(Hn.method!=="GET"&&!Bn.ignoreMethod){return[]}}else if(typeof Me==="string"){Hn=new xa(Me)[Ga]}}const zn=[];if(Me===undefined){for(const Me of this.#k){zn.push(Me[1])}}else{const Me=this.#F(Hn,Bn);for(const Bn of Me){zn.push(Bn[1])}}const ni=[];for(const Me of zn){const Bn=new ca(Me.body?.source??null);const Hn=Bn[Ga].body;Bn[Ga]=Me;Bn[Ga].body=Hn;Bn[Ha][aa]=Me.headersList;Bn[Ha][so]="immutable";ni.push(Bn)}return Object.freeze(ni)}async add(Me){oa.brandCheck(this,Cache);oa.argumentLengthCheck(arguments,1,{header:"Cache.add"});Me=oa.converters.RequestInfo(Me);const Bn=[Me];const Hn=this.addAll(Bn);return await Hn}async addAll(Me){oa.brandCheck(this,Cache);oa.argumentLengthCheck(arguments,1,{header:"Cache.addAll"});Me=oa.converters["sequence"](Me);const Bn=[];const Hn=[];for(const Bn of Me){if(typeof Bn==="string"){continue}const Me=Bn[Ga];if(!tc(Me.url)||Me.method!=="GET"){throw oa.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme when method is not GET."})}}const zn=[];for(const ni of Me){const Me=new xa(ni)[Ga];if(!tc(Me.url)){throw oa.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme."})}Me.initiator="fetch";Me.destination="subresource";Hn.push(Me);const ts=dc();zn.push(Jo({request:Me,dispatcher:Dp(),processResponse(Me){if(Me.type==="error"||Me.status===206||Me.status<200||Me.status>299){ts.reject(oa.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}))}else if(Me.headersList.contains("vary")){const Bn=Ci(Me.headersList.get("vary"));for(const Me of Bn){if(Me==="*"){ts.reject(oa.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(const Me of zn){Me.abort()}return}}}},processResponseEndOfBody(Me){if(Me.aborted){ts.reject(new DOMException("aborted","AbortError"));return}ts.resolve(Me)}}));Bn.push(ts.promise)}const ni=Promise.all(Bn);const ts=await ni;const Ps=[];let aa=0;for(const Me of ts){const Bn={type:"put",request:Hn[aa],response:Me};Ps.push(Bn);aa++}const ca=dc();let _a=null;try{this.#T(Ps)}catch(Me){_a=Me}queueMicrotask((()=>{if(_a===null){ca.resolve(undefined)}else{ca.reject(_a)}}));return ca.promise}async put(Me,Bn){oa.brandCheck(this,Cache);oa.argumentLengthCheck(arguments,2,{header:"Cache.put"});Me=oa.converters.RequestInfo(Me);Bn=oa.converters.Response(Bn);let Hn=null;if(Me instanceof xa){Hn=Me[Ga]}else{Hn=new xa(Me)[Ga]}if(!tc(Hn.url)||Hn.method!=="GET"){throw oa.errors.exception({header:"Cache.put",message:"Expected an http/s scheme when method is not GET"})}const zn=Bn[Ga];if(zn.status===206){throw oa.errors.exception({header:"Cache.put",message:"Got 206 status"})}if(zn.headersList.contains("vary")){const Me=Ci(zn.headersList.get("vary"));for(const Bn of Me){if(Bn==="*"){throw oa.errors.exception({header:"Cache.put",message:"Got * vary field value"})}}}if(zn.body&&(Ps(zn.body.stream)||zn.body.stream.locked)){throw oa.errors.exception({header:"Cache.put",message:"Response body is locked or disturbed"})}const ni=_a(zn);const ts=dc();if(zn.body!=null){const Me=zn.body.stream;const Bn=Me.getReader();Fc(Bn).then(ts.resolve,ts.reject)}else{ts.resolve(undefined)}const aa=[];const ca={type:"put",request:Hn,response:ni};aa.push(ca);const Ha=await ts.promise;if(ni.body!=null){ni.body.source=Ha}const so=dc();let oo=null;try{this.#T(aa)}catch(Me){oo=Me}queueMicrotask((()=>{if(oo===null){so.resolve()}else{so.reject(oo)}}));return so.promise}async delete(Me,Bn={}){oa.brandCheck(this,Cache);oa.argumentLengthCheck(arguments,1,{header:"Cache.delete"});Me=oa.converters.RequestInfo(Me);Bn=oa.converters.CacheQueryOptions(Bn);let Hn=null;if(Me instanceof xa){Hn=Me[Ga];if(Hn.method!=="GET"&&!Bn.ignoreMethod){return false}}else{Jc(typeof Me==="string");Hn=new xa(Me)[Ga]}const zn=[];const ni={type:"delete",request:Hn,options:Bn};zn.push(ni);const Ci=dc();let ts=null;let Ps;try{Ps=this.#T(zn)}catch(Me){ts=Me}queueMicrotask((()=>{if(ts===null){Ci.resolve(!!Ps?.length)}else{Ci.reject(ts)}}));return Ci.promise}async keys(Me=undefined,Bn={}){oa.brandCheck(this,Cache);if(Me!==undefined)Me=oa.converters.RequestInfo(Me);Bn=oa.converters.CacheQueryOptions(Bn);let Hn=null;if(Me!==undefined){if(Me instanceof xa){Hn=Me[Ga];if(Hn.method!=="GET"&&!Bn.ignoreMethod){return[]}}else if(typeof Me==="string"){Hn=new xa(Me)[Ga]}}const zn=dc();const ni=[];if(Me===undefined){for(const Me of this.#k){ni.push(Me[0])}}else{const Me=this.#F(Hn,Bn);for(const Bn of Me){ni.push(Bn[0])}}queueMicrotask((()=>{const Me=[];for(const Bn of ni){const Hn=new xa("https://a");Hn[Ga]=Bn;Hn[Ha][aa]=Bn.headersList;Hn[Ha][so]="immutable";Hn[oo]=Bn.client;Me.push(Hn)}zn.resolve(Object.freeze(Me))}));return zn.promise}#T(Me){const Bn=this.#k;const Hn=[...Bn];const zn=[];const ni=[];try{for(const Hn of Me){if(Hn.type!=="delete"&&Hn.type!=="put"){throw oa.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'})}if(Hn.type==="delete"&&Hn.response!=null){throw oa.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"})}if(this.#F(Hn.request,Hn.options,zn).length){throw new DOMException("???","InvalidStateError")}let Me;if(Hn.type==="delete"){Me=this.#F(Hn.request,Hn.options);if(Me.length===0){return[]}for(const Hn of Me){const Me=Bn.indexOf(Hn);Jc(Me!==-1);Bn.splice(Me,1)}}else if(Hn.type==="put"){if(Hn.response==null){throw oa.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"})}const ni=Hn.request;if(!tc(ni.url)){throw oa.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"})}if(ni.method!=="GET"){throw oa.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"})}if(Hn.options!=null){throw oa.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"})}Me=this.#F(Hn.request);for(const Hn of Me){const Me=Bn.indexOf(Hn);Jc(Me!==-1);Bn.splice(Me,1)}Bn.push([Hn.request,Hn.response]);zn.push([Hn.request,Hn.response])}ni.push([Hn.request,Hn.response])}return ni}catch(Me){this.#k.length=0;this.#k=Hn;throw Me}}#F(Me,Bn,Hn){const zn=[];const ni=Hn??this.#k;for(const Hn of ni){const[ni,Ci]=Hn;if(this.#N(Me,ni,Ci,Bn)){zn.push(Hn)}}return zn}#N(Me,Bn,Hn=null,zn){const ts=new URL(Me.url);const Ps=new URL(Bn.url);if(zn?.ignoreSearch){Ps.search="";ts.search=""}if(!ni(ts,Ps,true)){return false}if(Hn==null||zn?.ignoreVary||!Hn.headersList.contains("vary")){return true}const aa=Ci(Hn.headersList.get("vary"));for(const Hn of aa){if(Hn==="*"){return false}const zn=Bn.headersList.get(Hn);const ni=Me.headersList.get(Hn);if(zn!==ni){return false}}return true}}Object.defineProperties(Cache.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:true},match:ts,matchAll:ts,add:ts,addAll:ts,put:ts,delete:ts,keys:ts});const kp=[{key:"ignoreSearch",converter:oa.converters.boolean,defaultValue:false},{key:"ignoreMethod",converter:oa.converters.boolean,defaultValue:false},{key:"ignoreVary",converter:oa.converters.boolean,defaultValue:false}];oa.converters.CacheQueryOptions=oa.dictionaryConverter(kp);oa.converters.MultiCacheQueryOptions=oa.dictionaryConverter([...kp,{key:"cacheName",converter:oa.converters.DOMString}]);oa.converters.Response=oa.interfaceConverter(ca);oa.converters["sequence"]=oa.sequenceConverter(oa.converters.RequestInfo);Me.exports={Cache:Cache}},44738:(Me,Bn,Hn)=>{"use strict";const{kConstruct:zn}=Hn(80296);const{Cache:ni}=Hn(50479);const{webidl:Ci}=Hn(74222);const{kEnumerableProperty:ts}=Hn(3440);class CacheStorage{#Q=new Map;constructor(){if(arguments[0]!==zn){Ci.illegalConstructor()}}async match(Me,Bn={}){Ci.brandCheck(this,CacheStorage);Ci.argumentLengthCheck(arguments,1,{header:"CacheStorage.match"});Me=Ci.converters.RequestInfo(Me);Bn=Ci.converters.MultiCacheQueryOptions(Bn);if(Bn.cacheName!=null){if(this.#Q.has(Bn.cacheName)){const Hn=this.#Q.get(Bn.cacheName);const Ci=new ni(zn,Hn);return await Ci.match(Me,Bn)}}else{for(const Hn of this.#Q.values()){const Ci=new ni(zn,Hn);const ts=await Ci.match(Me,Bn);if(ts!==undefined){return ts}}}}async has(Me){Ci.brandCheck(this,CacheStorage);Ci.argumentLengthCheck(arguments,1,{header:"CacheStorage.has"});Me=Ci.converters.DOMString(Me);return this.#Q.has(Me)}async open(Me){Ci.brandCheck(this,CacheStorage);Ci.argumentLengthCheck(arguments,1,{header:"CacheStorage.open"});Me=Ci.converters.DOMString(Me);if(this.#Q.has(Me)){const Bn=this.#Q.get(Me);return new ni(zn,Bn)}const Bn=[];this.#Q.set(Me,Bn);return new ni(zn,Bn)}async delete(Me){Ci.brandCheck(this,CacheStorage);Ci.argumentLengthCheck(arguments,1,{header:"CacheStorage.delete"});Me=Ci.converters.DOMString(Me);return this.#Q.delete(Me)}async keys(){Ci.brandCheck(this,CacheStorage);const Me=this.#Q.keys();return[...Me]}}Object.defineProperties(CacheStorage.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:true},match:ts,has:ts,open:ts,delete:ts,keys:ts});Me.exports={CacheStorage:CacheStorage}},80296:(Me,Bn,Hn)=>{"use strict";Me.exports={kConstruct:Hn(36443).kConstruct}},23993:(Me,Bn,Hn)=>{"use strict";const zn=Hn(42613);const{URLSerializer:ni}=Hn(94322);const{isValidHeaderName:Ci}=Hn(15523);function urlEquals(Me,Bn,Hn=false){const zn=ni(Me,Hn);const Ci=ni(Bn,Hn);return zn===Ci}function fieldValues(Me){zn(Me!==null);const Bn=[];for(let Hn of Me.split(",")){Hn=Hn.trim();if(!Hn.length){continue}else if(!Ci(Hn)){continue}Bn.push(Hn)}return Bn}Me.exports={urlEquals:urlEquals,fieldValues:fieldValues}},86197:(Me,Bn,Hn)=>{"use strict";const zn=Hn(42613);const ni=Hn(69278);const Ci=Hn(58611);const{pipeline:ts}=Hn(2203);const Ps=Hn(3440);const aa=Hn(28804);const oa=Hn(44655);const ca=Hn(50001);const{RequestContentLengthMismatchError:_a,ResponseContentLengthMismatchError:xa,InvalidArgumentError:Ga,RequestAbortedError:Ha,HeadersTimeoutError:so,HeadersOverflowError:oo,SocketError:Jo,InformationalError:tc,BodyTimeoutError:dc,HTTPParserError:Fc,ResponseExceededMaxSizeError:Jc,ClientDestroyedError:Dp}=Hn(68707);const kp=Hn(59136);const{kUrl:Qp,kReset:Up,kServerName:Vp,kClient:qp,kBusy:Jp,kParser:Wp,kConnect:zp,kBlocking:Qf,kResuming:Yf,kRunning:Kf,kPending:Xf,kSize:Ad,kWriting:Cd,kQueue:wd,kConnected:Sd,kConnecting:xd,kNeedDrain:Td,kNoRef:Pd,kKeepAliveDefaultTimeout:Qh,kHostHeader:Zh,kPendingIdx:sA,kRunningIdx:oA,kError:hA,kPipelining:eg,kSocket:tg,kKeepAliveTimeoutValue:rg,kMaxHeadersSize:ng,kKeepAliveMaxTimeout:ig,kKeepAliveTimeoutThreshold:sg,kHeadersTimeout:ag,kBodyTimeout:og,kStrictContentLength:ug,kConnector:cg,kMaxRedirections:lg,kMaxRequests:pg,kCounter:fg,kClose:dg,kDestroy:hg,kDispatch:Ag,kInterceptors:mg,kLocalAddress:gg,kMaxResponseSize:_g,kHTTPConnVersion:yg,kHost:vg,kHTTP2Session:Eg,kHTTP2SessionState:bg,kHTTP2BuildRequest:Cg,kHTTP2CopyHeaders:Dg,kHTTP1BuildRequest:wg}=Hn(36443);let Sg;try{Sg=Hn(85675)}catch{Sg={constants:{}}}const{constants:{HTTP2_HEADER_AUTHORITY:Ig,HTTP2_HEADER_METHOD:xg,HTTP2_HEADER_PATH:kg,HTTP2_HEADER_SCHEME:Bg,HTTP2_HEADER_CONTENT_LENGTH:Tg,HTTP2_HEADER_EXPECT:Fg,HTTP2_HEADER_STATUS:Ng}}=Sg;let Qg=false;const Rg=Buffer[Symbol.species];const Pg=Symbol("kClosedResolve");const Og={};try{const Me=Hn(31637);Og.sendHeaders=Me.channel("undici:client:sendHeaders");Og.beforeConnect=Me.channel("undici:client:beforeConnect");Og.connectError=Me.channel("undici:client:connectError");Og.connected=Me.channel("undici:client:connected")}catch{Og.sendHeaders={hasSubscribers:false};Og.beforeConnect={hasSubscribers:false};Og.connectError={hasSubscribers:false};Og.connected={hasSubscribers:false}}class Client extends ca{constructor(Me,{interceptors:Bn,maxHeaderSize:Hn,headersTimeout:zn,socketTimeout:ts,requestTimeout:aa,connectTimeout:oa,bodyTimeout:ca,idleTimeout:_a,keepAlive:xa,keepAliveTimeout:Ha,maxKeepAliveTimeout:so,keepAliveMaxTimeout:oo,keepAliveTimeoutThreshold:Jo,socketPath:tc,pipelining:dc,tls:Fc,strictContentLength:Jc,maxCachedSessions:Dp,maxRedirections:Up,connect:qp,maxRequestsPerClient:Jp,localAddress:Wp,maxResponseSize:zp,autoSelectFamily:Qf,autoSelectFamilyAttemptTimeout:Kf,allowH2:Xf,maxConcurrentStreams:Ad}={}){super();if(xa!==undefined){throw new Ga("unsupported keepAlive, use pipelining=0 instead")}if(ts!==undefined){throw new Ga("unsupported socketTimeout, use headersTimeout & bodyTimeout instead")}if(aa!==undefined){throw new Ga("unsupported requestTimeout, use headersTimeout & bodyTimeout instead")}if(_a!==undefined){throw new Ga("unsupported idleTimeout, use keepAliveTimeout instead")}if(so!==undefined){throw new Ga("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead")}if(Hn!=null&&!Number.isFinite(Hn)){throw new Ga("invalid maxHeaderSize")}if(tc!=null&&typeof tc!=="string"){throw new Ga("invalid socketPath")}if(oa!=null&&(!Number.isFinite(oa)||oa<0)){throw new Ga("invalid connectTimeout")}if(Ha!=null&&(!Number.isFinite(Ha)||Ha<=0)){throw new Ga("invalid keepAliveTimeout")}if(oo!=null&&(!Number.isFinite(oo)||oo<=0)){throw new Ga("invalid keepAliveMaxTimeout")}if(Jo!=null&&!Number.isFinite(Jo)){throw new Ga("invalid keepAliveTimeoutThreshold")}if(zn!=null&&(!Number.isInteger(zn)||zn<0)){throw new Ga("headersTimeout must be a positive integer or zero")}if(ca!=null&&(!Number.isInteger(ca)||ca<0)){throw new Ga("bodyTimeout must be a positive integer or zero")}if(qp!=null&&typeof qp!=="function"&&typeof qp!=="object"){throw new Ga("connect must be a function or an object")}if(Up!=null&&(!Number.isInteger(Up)||Up<0)){throw new Ga("maxRedirections must be a positive number")}if(Jp!=null&&(!Number.isInteger(Jp)||Jp<0)){throw new Ga("maxRequestsPerClient must be a positive number")}if(Wp!=null&&(typeof Wp!=="string"||ni.isIP(Wp)===0)){throw new Ga("localAddress must be valid string IP address")}if(zp!=null&&(!Number.isInteger(zp)||zp<-1)){throw new Ga("maxResponseSize must be a positive number")}if(Kf!=null&&(!Number.isInteger(Kf)||Kf<-1)){throw new Ga("autoSelectFamilyAttemptTimeout must be a positive number")}if(Xf!=null&&typeof Xf!=="boolean"){throw new Ga("allowH2 must be a valid boolean value")}if(Ad!=null&&(typeof Ad!=="number"||Ad<1)){throw new Ga("maxConcurrentStreams must be a possitive integer, greater than 0")}if(typeof qp!=="function"){qp=kp({...Fc,maxCachedSessions:Dp,allowH2:Xf,socketPath:tc,timeout:oa,...Ps.nodeHasAutoSelectFamily&&Qf?{autoSelectFamily:Qf,autoSelectFamilyAttemptTimeout:Kf}:undefined,...qp})}this[mg]=Bn&&Bn.Client&&Array.isArray(Bn.Client)?Bn.Client:[Mg({maxRedirections:Up})];this[Qp]=Ps.parseOrigin(Me);this[cg]=qp;this[tg]=null;this[eg]=dc!=null?dc:1;this[ng]=Hn||Ci.maxHeaderSize;this[Qh]=Ha==null?4e3:Ha;this[ig]=oo==null?6e5:oo;this[sg]=Jo==null?1e3:Jo;this[rg]=this[Qh];this[Vp]=null;this[gg]=Wp!=null?Wp:null;this[Yf]=0;this[Td]=0;this[Zh]=`host: ${this[Qp].hostname}${this[Qp].port?`:${this[Qp].port}`:""}\r\n`;this[og]=ca!=null?ca:3e5;this[ag]=zn!=null?zn:3e5;this[ug]=Jc==null?true:Jc;this[lg]=Up;this[pg]=Jp;this[Pg]=null;this[_g]=zp>-1?zp:-1;this[yg]="h1";this[Eg]=null;this[bg]=!Xf?null:{openStreams:0,maxConcurrentStreams:Ad!=null?Ad:100};this[vg]=`${this[Qp].hostname}${this[Qp].port?`:${this[Qp].port}`:""}`;this[wd]=[];this[oA]=0;this[sA]=0}get pipelining(){return this[eg]}set pipelining(Me){this[eg]=Me;resume(this,true)}get[Xf](){return this[wd].length-this[sA]}get[Kf](){return this[sA]-this[oA]}get[Ad](){return this[wd].length-this[oA]}get[Sd](){return!!this[tg]&&!this[xd]&&!this[tg].destroyed}get[Jp](){const Me=this[tg];return Me&&(Me[Up]||Me[Cd]||Me[Qf])||this[Ad]>=(this[eg]||1)||this[Xf]>0}[zp](Me){connect(this);this.once("connect",Me)}[Ag](Me,Bn){const Hn=Me.origin||this[Qp].origin;const zn=this[yg]==="h2"?oa[Cg](Hn,Me,Bn):oa[wg](Hn,Me,Bn);this[wd].push(zn);if(this[Yf]){}else if(Ps.bodyLength(zn.body)==null&&Ps.isIterable(zn.body)){this[Yf]=1;process.nextTick(resume,this)}else{resume(this,true)}if(this[Yf]&&this[Td]!==2&&this[Jp]){this[Td]=2}return this[Td]<2}async[dg](){return new Promise((Me=>{if(!this[Ad]){Me(null)}else{this[Pg]=Me}}))}async[hg](Me){return new Promise((Bn=>{const Hn=this[wd].splice(this[sA]);for(let Bn=0;Bn{if(this[Pg]){this[Pg]();this[Pg]=null}Bn()};if(this[Eg]!=null){Ps.destroy(this[Eg],Me);this[Eg]=null;this[bg]=null}if(!this[tg]){queueMicrotask(callback)}else{Ps.destroy(this[tg].on("close",callback),Me)}resume(this)}))}}function onHttp2SessionError(Me){zn(Me.code!=="ERR_TLS_CERT_ALTNAME_INVALID");this[tg][hA]=Me;onError(this[qp],Me)}function onHttp2FrameError(Me,Bn,Hn){const zn=new tc(`HTTP/2: "frameError" received - type ${Me}, code ${Bn}`);if(Hn===0){this[tg][hA]=zn;onError(this[qp],zn)}}function onHttp2SessionEnd(){Ps.destroy(this,new Jo("other side closed"));Ps.destroy(this[tg],new Jo("other side closed"))}function onHTTP2GoAway(Me){const Bn=this[qp];const Hn=new tc(`HTTP/2: "GOAWAY" frame received with code ${Me}`);Bn[tg]=null;Bn[Eg]=null;if(Bn.destroyed){zn(this[Xf]===0);const Me=Bn[wd].splice(Bn[oA]);for(let Bn=0;Bn0){const Me=Bn[wd][Bn[oA]];Bn[wd][Bn[oA]++]=null;errorRequest(Bn,Me,Hn)}Bn[sA]=Bn[oA];zn(Bn[Kf]===0);Bn.emit("disconnect",Bn[Qp],[Bn],Hn);resume(Bn)}const Lg=Hn(52824);const Mg=Hn(64415);const jg=Buffer.alloc(0);async function lazyllhttp(){const Me=process.env.JEST_WORKER_ID?Hn(63870):undefined;let Bn;try{Bn=await WebAssembly.compile(Buffer.from(Hn(53434),"base64"))}catch(zn){Bn=await WebAssembly.compile(Buffer.from(Me||Hn(63870),"base64"))}return await WebAssembly.instantiate(Bn,{env:{wasm_on_url:(Me,Bn,Hn)=>0,wasm_on_status:(Me,Bn,Hn)=>{zn.strictEqual(Vg.ptr,Me);const ni=Bn-Jg+Hg.byteOffset;return Vg.onStatus(new Rg(Hg.buffer,ni,Hn))||0},wasm_on_message_begin:Me=>{zn.strictEqual(Vg.ptr,Me);return Vg.onMessageBegin()||0},wasm_on_header_field:(Me,Bn,Hn)=>{zn.strictEqual(Vg.ptr,Me);const ni=Bn-Jg+Hg.byteOffset;return Vg.onHeaderField(new Rg(Hg.buffer,ni,Hn))||0},wasm_on_header_value:(Me,Bn,Hn)=>{zn.strictEqual(Vg.ptr,Me);const ni=Bn-Jg+Hg.byteOffset;return Vg.onHeaderValue(new Rg(Hg.buffer,ni,Hn))||0},wasm_on_headers_complete:(Me,Bn,Hn,ni)=>{zn.strictEqual(Vg.ptr,Me);return Vg.onHeadersComplete(Bn,Boolean(Hn),Boolean(ni))||0},wasm_on_body:(Me,Bn,Hn)=>{zn.strictEqual(Vg.ptr,Me);const ni=Bn-Jg+Hg.byteOffset;return Vg.onBody(new Rg(Hg.buffer,ni,Hn))||0},wasm_on_message_complete:Me=>{zn.strictEqual(Vg.ptr,Me);return Vg.onMessageComplete()||0}}})}let Ug=null;let Gg=lazyllhttp();Gg.catch();let Vg=null;let Hg=null;let qg=0;let Jg=null;const $g=1;const Yg=2;const Wg=3;class Parser{constructor(Me,Bn,{exports:Hn}){zn(Number.isFinite(Me[ng])&&Me[ng]>0);this.llhttp=Hn;this.ptr=this.llhttp.llhttp_alloc(Lg.TYPE.RESPONSE);this.client=Me;this.socket=Bn;this.timeout=null;this.timeoutValue=null;this.timeoutType=null;this.statusCode=null;this.statusText="";this.upgrade=false;this.headers=[];this.headersSize=0;this.headersMaxSize=Me[ng];this.shouldKeepAlive=false;this.paused=false;this.resume=this.resume.bind(this);this.bytesRead=0;this.keepAlive="";this.contentLength="";this.connection="";this.maxResponseSize=Me[_g]}setTimeout(Me,Bn){this.timeoutType=Bn;if(Me!==this.timeoutValue){aa.clearTimeout(this.timeout);if(Me){this.timeout=aa.setTimeout(onParserTimeout,Me,this);if(this.timeout.unref){this.timeout.unref()}}else{this.timeout=null}this.timeoutValue=Me}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}}resume(){if(this.socket.destroyed||!this.paused){return}zn(this.ptr!=null);zn(Vg==null);this.llhttp.llhttp_resume(this.ptr);zn(this.timeoutType===Yg);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}this.paused=false;this.execute(this.socket.read()||jg);this.readMore()}readMore(){while(!this.paused&&this.ptr){const Me=this.socket.read();if(Me===null){break}this.execute(Me)}}execute(Me){zn(this.ptr!=null);zn(Vg==null);zn(!this.paused);const{socket:Bn,llhttp:Hn}=this;if(Me.length>qg){if(Jg){Hn.free(Jg)}qg=Math.ceil(Me.length/4096)*4096;Jg=Hn.malloc(qg)}new Uint8Array(Hn.memory.buffer,Jg,qg).set(Me);try{let zn;try{Hg=Me;Vg=this;zn=Hn.llhttp_execute(this.ptr,Jg,Me.length)}catch(Me){throw Me}finally{Vg=null;Hg=null}const ni=Hn.llhttp_get_error_pos(this.ptr)-Jg;if(zn===Lg.ERROR.PAUSED_UPGRADE){this.onUpgrade(Me.slice(ni))}else if(zn===Lg.ERROR.PAUSED){this.paused=true;Bn.unshift(Me.slice(ni))}else if(zn!==Lg.ERROR.OK){const Bn=Hn.llhttp_get_error_reason(this.ptr);let Ci="";if(Bn){const Me=new Uint8Array(Hn.memory.buffer,Bn).indexOf(0);Ci="Response does not match the HTTP/1.1 protocol ("+Buffer.from(Hn.memory.buffer,Bn,Me).toString()+")"}throw new Fc(Ci,Lg.ERROR[zn],Me.slice(ni))}}catch(Me){Ps.destroy(Bn,Me)}}destroy(){zn(this.ptr!=null);zn(Vg==null);this.llhttp.llhttp_free(this.ptr);this.ptr=null;aa.clearTimeout(this.timeout);this.timeout=null;this.timeoutValue=null;this.timeoutType=null;this.paused=false}onStatus(Me){this.statusText=Me.toString()}onMessageBegin(){const{socket:Me,client:Bn}=this;if(Me.destroyed){return-1}const Hn=Bn[wd][Bn[oA]];if(!Hn){return-1}}onHeaderField(Me){const Bn=this.headers.length;if((Bn&1)===0){this.headers.push(Me)}else{this.headers[Bn-1]=Buffer.concat([this.headers[Bn-1],Me])}this.trackHeader(Me.length)}onHeaderValue(Me){let Bn=this.headers.length;if((Bn&1)===1){this.headers.push(Me);Bn+=1}else{this.headers[Bn-1]=Buffer.concat([this.headers[Bn-1],Me])}const Hn=this.headers[Bn-2];if(Hn.length===10&&Hn.toString().toLowerCase()==="keep-alive"){this.keepAlive+=Me.toString()}else if(Hn.length===10&&Hn.toString().toLowerCase()==="connection"){this.connection+=Me.toString()}else if(Hn.length===14&&Hn.toString().toLowerCase()==="content-length"){this.contentLength+=Me.toString()}this.trackHeader(Me.length)}trackHeader(Me){this.headersSize+=Me;if(this.headersSize>=this.headersMaxSize){Ps.destroy(this.socket,new oo)}}onUpgrade(Me){const{upgrade:Bn,client:Hn,socket:ni,headers:Ci,statusCode:ts}=this;zn(Bn);const aa=Hn[wd][Hn[oA]];zn(aa);zn(!ni.destroyed);zn(ni===Hn[tg]);zn(!this.paused);zn(aa.upgrade||aa.method==="CONNECT");this.statusCode=null;this.statusText="";this.shouldKeepAlive=null;zn(this.headers.length%2===0);this.headers=[];this.headersSize=0;ni.unshift(Me);ni[Wp].destroy();ni[Wp]=null;ni[qp]=null;ni[hA]=null;ni.removeListener("error",onSocketError).removeListener("readable",onSocketReadable).removeListener("end",onSocketEnd).removeListener("close",onSocketClose);Hn[tg]=null;Hn[wd][Hn[oA]++]=null;Hn.emit("disconnect",Hn[Qp],[Hn],new tc("upgrade"));try{aa.onUpgrade(ts,Ci,ni)}catch(Me){Ps.destroy(ni,Me)}resume(Hn)}onHeadersComplete(Me,Bn,Hn){const{client:ni,socket:Ci,headers:ts,statusText:aa}=this;if(Ci.destroyed){return-1}const oa=ni[wd][ni[oA]];if(!oa){return-1}zn(!this.upgrade);zn(this.statusCode<200);if(Me===100){Ps.destroy(Ci,new Jo("bad response",Ps.getSocketInfo(Ci)));return-1}if(Bn&&!oa.upgrade){Ps.destroy(Ci,new Jo("bad upgrade",Ps.getSocketInfo(Ci)));return-1}zn.strictEqual(this.timeoutType,$g);this.statusCode=Me;this.shouldKeepAlive=Hn||oa.method==="HEAD"&&!Ci[Up]&&this.connection.toLowerCase()==="keep-alive";if(this.statusCode>=200){const Me=oa.bodyTimeout!=null?oa.bodyTimeout:ni[og];this.setTimeout(Me,Yg)}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}if(oa.method==="CONNECT"){zn(ni[Kf]===1);this.upgrade=true;return 2}if(Bn){zn(ni[Kf]===1);this.upgrade=true;return 2}zn(this.headers.length%2===0);this.headers=[];this.headersSize=0;if(this.shouldKeepAlive&&ni[eg]){const Me=this.keepAlive?Ps.parseKeepAliveTimeout(this.keepAlive):null;if(Me!=null){const Bn=Math.min(Me-ni[sg],ni[ig]);if(Bn<=0){Ci[Up]=true}else{ni[rg]=Bn}}else{ni[rg]=ni[Qh]}}else{Ci[Up]=true}const ca=oa.onHeaders(Me,ts,this.resume,aa)===false;if(oa.aborted){return-1}if(oa.method==="HEAD"){return 1}if(Me<200){return 1}if(Ci[Qf]){Ci[Qf]=false;resume(ni)}return ca?Lg.ERROR.PAUSED:0}onBody(Me){const{client:Bn,socket:Hn,statusCode:ni,maxResponseSize:Ci}=this;if(Hn.destroyed){return-1}const ts=Bn[wd][Bn[oA]];zn(ts);zn.strictEqual(this.timeoutType,Yg);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}zn(ni>=200);if(Ci>-1&&this.bytesRead+Me.length>Ci){Ps.destroy(Hn,new Jc);return-1}this.bytesRead+=Me.length;if(ts.onData(Me)===false){return Lg.ERROR.PAUSED}}onMessageComplete(){const{client:Me,socket:Bn,statusCode:Hn,upgrade:ni,headers:Ci,contentLength:ts,bytesRead:aa,shouldKeepAlive:oa}=this;if(Bn.destroyed&&(!Hn||oa)){return-1}if(ni){return}const ca=Me[wd][Me[oA]];zn(ca);zn(Hn>=100);this.statusCode=null;this.statusText="";this.bytesRead=0;this.contentLength="";this.keepAlive="";this.connection="";zn(this.headers.length%2===0);this.headers=[];this.headersSize=0;if(Hn<200){return}if(ca.method!=="HEAD"&&ts&&aa!==parseInt(ts,10)){Ps.destroy(Bn,new xa);return-1}ca.onComplete(Ci);Me[wd][Me[oA]++]=null;if(Bn[Cd]){zn.strictEqual(Me[Kf],0);Ps.destroy(Bn,new tc("reset"));return Lg.ERROR.PAUSED}else if(!oa){Ps.destroy(Bn,new tc("reset"));return Lg.ERROR.PAUSED}else if(Bn[Up]&&Me[Kf]===0){Ps.destroy(Bn,new tc("reset"));return Lg.ERROR.PAUSED}else if(Me[eg]===1){setImmediate(resume,Me)}else{resume(Me)}}}function onParserTimeout(Me){const{socket:Bn,timeoutType:Hn,client:ni}=Me;if(Hn===$g){if(!Bn[Cd]||Bn.writableNeedDrain||ni[Kf]>1){zn(!Me.paused,"cannot be paused while waiting for headers");Ps.destroy(Bn,new so)}}else if(Hn===Yg){if(!Me.paused){Ps.destroy(Bn,new dc)}}else if(Hn===Wg){zn(ni[Kf]===0&&ni[rg]);Ps.destroy(Bn,new tc("socket idle timeout"))}}function onSocketReadable(){const{[Wp]:Me}=this;if(Me){Me.readMore()}}function onSocketError(Me){const{[qp]:Bn,[Wp]:Hn}=this;zn(Me.code!=="ERR_TLS_CERT_ALTNAME_INVALID");if(Bn[yg]!=="h2"){if(Me.code==="ECONNRESET"&&Hn.statusCode&&!Hn.shouldKeepAlive){Hn.onMessageComplete();return}}this[hA]=Me;onError(this[qp],Me)}function onError(Me,Bn){if(Me[Kf]===0&&Bn.code!=="UND_ERR_INFO"&&Bn.code!=="UND_ERR_SOCKET"){zn(Me[sA]===Me[oA]);const Hn=Me[wd].splice(Me[oA]);for(let zn=0;zn0&&Hn.code!=="UND_ERR_INFO"){const Bn=Me[wd][Me[oA]];Me[wd][Me[oA]++]=null;errorRequest(Me,Bn,Hn)}Me[sA]=Me[oA];zn(Me[Kf]===0);Me.emit("disconnect",Me[Qp],[Me],Hn);resume(Me)}async function connect(Me){zn(!Me[xd]);zn(!Me[tg]);let{host:Bn,hostname:Hn,protocol:Ci,port:ts}=Me[Qp];if(Hn[0]==="["){const Me=Hn.indexOf("]");zn(Me!==-1);const Bn=Hn.substring(1,Me);zn(ni.isIP(Bn));Hn=Bn}Me[xd]=true;if(Og.beforeConnect.hasSubscribers){Og.beforeConnect.publish({connectParams:{host:Bn,hostname:Hn,protocol:Ci,port:ts,servername:Me[Vp],localAddress:Me[gg]},connector:Me[cg]})}try{const ni=await new Promise(((zn,ni)=>{Me[cg]({host:Bn,hostname:Hn,protocol:Ci,port:ts,servername:Me[Vp],localAddress:Me[gg]},((Me,Bn)=>{if(Me){ni(Me)}else{zn(Bn)}}))}));if(Me.destroyed){Ps.destroy(ni.on("error",(()=>{})),new Dp);return}Me[xd]=false;zn(ni);const aa=ni.alpnProtocol==="h2";if(aa){if(!Qg){Qg=true;process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"})}const Bn=Sg.connect(Me[Qp],{createConnection:()=>ni,peerMaxConcurrentStreams:Me[bg].maxConcurrentStreams});Me[yg]="h2";Bn[qp]=Me;Bn[tg]=ni;Bn.on("error",onHttp2SessionError);Bn.on("frameError",onHttp2FrameError);Bn.on("end",onHttp2SessionEnd);Bn.on("goaway",onHTTP2GoAway);Bn.on("close",onSocketClose);Bn.unref();Me[Eg]=Bn;ni[Eg]=Bn}else{if(!Ug){Ug=await Gg;Gg=null}ni[Pd]=false;ni[Cd]=false;ni[Up]=false;ni[Qf]=false;ni[Wp]=new Parser(Me,ni,Ug)}ni[fg]=0;ni[pg]=Me[pg];ni[qp]=Me;ni[hA]=null;ni.on("error",onSocketError).on("readable",onSocketReadable).on("end",onSocketEnd).on("close",onSocketClose);Me[tg]=ni;if(Og.connected.hasSubscribers){Og.connected.publish({connectParams:{host:Bn,hostname:Hn,protocol:Ci,port:ts,servername:Me[Vp],localAddress:Me[gg]},connector:Me[cg],socket:ni})}Me.emit("connect",Me[Qp],[Me])}catch(ni){if(Me.destroyed){return}Me[xd]=false;if(Og.connectError.hasSubscribers){Og.connectError.publish({connectParams:{host:Bn,hostname:Hn,protocol:Ci,port:ts,servername:Me[Vp],localAddress:Me[gg]},connector:Me[cg],error:ni})}if(ni.code==="ERR_TLS_CERT_ALTNAME_INVALID"){zn(Me[Kf]===0);while(Me[Xf]>0&&Me[wd][Me[sA]].servername===Me[Vp]){const Bn=Me[wd][Me[sA]++];errorRequest(Me,Bn,ni)}}else{onError(Me,ni)}Me.emit("connectionError",Me[Qp],[Me],ni)}resume(Me)}function emitDrain(Me){Me[Td]=0;Me.emit("drain",Me[Qp],[Me])}function resume(Me,Bn){if(Me[Yf]===2){return}Me[Yf]=2;_resume(Me,Bn);Me[Yf]=0;if(Me[oA]>256){Me[wd].splice(0,Me[oA]);Me[sA]-=Me[oA];Me[oA]=0}}function _resume(Me,Bn){while(true){if(Me.destroyed){zn(Me[Xf]===0);return}if(Me[Pg]&&!Me[Ad]){Me[Pg]();Me[Pg]=null;return}const Hn=Me[tg];if(Hn&&!Hn.destroyed&&Hn.alpnProtocol!=="h2"){if(Me[Ad]===0){if(!Hn[Pd]&&Hn.unref){Hn.unref();Hn[Pd]=true}}else if(Hn[Pd]&&Hn.ref){Hn.ref();Hn[Pd]=false}if(Me[Ad]===0){if(Hn[Wp].timeoutType!==Wg){Hn[Wp].setTimeout(Me[rg],Wg)}}else if(Me[Kf]>0&&Hn[Wp].statusCode<200){if(Hn[Wp].timeoutType!==$g){const Bn=Me[wd][Me[oA]];const zn=Bn.headersTimeout!=null?Bn.headersTimeout:Me[ag];Hn[Wp].setTimeout(zn,$g)}}}if(Me[Jp]){Me[Td]=2}else if(Me[Td]===2){if(Bn){Me[Td]=1;process.nextTick(emitDrain,Me)}else{emitDrain(Me)}continue}if(Me[Xf]===0){return}if(Me[Kf]>=(Me[eg]||1)){return}const ni=Me[wd][Me[sA]];if(Me[Qp].protocol==="https:"&&Me[Vp]!==ni.servername){if(Me[Kf]>0){return}Me[Vp]=ni.servername;if(Hn&&Hn.servername!==ni.servername){Ps.destroy(Hn,new tc("servername changed"));return}}if(Me[xd]){return}if(!Hn&&!Me[Eg]){connect(Me);return}if(Hn.destroyed||Hn[Cd]||Hn[Up]||Hn[Qf]){return}if(Me[Kf]>0&&!ni.idempotent){return}if(Me[Kf]>0&&(ni.upgrade||ni.method==="CONNECT")){return}if(Me[Kf]>0&&Ps.bodyLength(ni.body)!==0&&(Ps.isStream(ni.body)||Ps.isAsyncIterable(ni.body))){return}if(!ni.aborted&&write(Me,ni)){Me[sA]++}else{Me[wd].splice(Me[sA],1)}}}function shouldSendContentLength(Me){return Me!=="GET"&&Me!=="HEAD"&&Me!=="OPTIONS"&&Me!=="TRACE"&&Me!=="CONNECT"}function write(Me,Bn){if(Me[yg]==="h2"){writeH2(Me,Me[Eg],Bn);return}const{body:Hn,method:ni,path:Ci,host:ts,upgrade:aa,headers:oa,blocking:ca,reset:xa}=Bn;const Ga=ni==="PUT"||ni==="POST"||ni==="PATCH";if(Hn&&typeof Hn.read==="function"){Hn.read(0)}const so=Ps.bodyLength(Hn);let oo=so;if(oo===null){oo=Bn.contentLength}if(oo===0&&!Ga){oo=null}if(shouldSendContentLength(ni)&&oo>0&&Bn.contentLength!==null&&Bn.contentLength!==oo){if(Me[ug]){errorRequest(Me,Bn,new _a);return false}process.emitWarning(new _a)}const Jo=Me[tg];try{Bn.onConnect((Hn=>{if(Bn.aborted||Bn.completed){return}errorRequest(Me,Bn,Hn||new Ha);Ps.destroy(Jo,new tc("aborted"))}))}catch(Hn){errorRequest(Me,Bn,Hn)}if(Bn.aborted){return false}if(ni==="HEAD"){Jo[Up]=true}if(aa||ni==="CONNECT"){Jo[Up]=true}if(xa!=null){Jo[Up]=xa}if(Me[pg]&&Jo[fg]++>=Me[pg]){Jo[Up]=true}if(ca){Jo[Qf]=true}let dc=`${ni} ${Ci} HTTP/1.1\r\n`;if(typeof ts==="string"){dc+=`host: ${ts}\r\n`}else{dc+=Me[Zh]}if(aa){dc+=`connection: upgrade\r\nupgrade: ${aa}\r\n`}else if(Me[eg]&&!Jo[Up]){dc+="connection: keep-alive\r\n"}else{dc+="connection: close\r\n"}if(oa){dc+=oa}if(Og.sendHeaders.hasSubscribers){Og.sendHeaders.publish({request:Bn,headers:dc,socket:Jo})}if(!Hn||so===0){if(oo===0){Jo.write(`${dc}content-length: 0\r\n\r\n`,"latin1")}else{zn(oo===null,"no body must not have content length");Jo.write(`${dc}\r\n`,"latin1")}Bn.onRequestSent()}else if(Ps.isBuffer(Hn)){zn(oo===Hn.byteLength,"buffer body must have content length");Jo.cork();Jo.write(`${dc}content-length: ${oo}\r\n\r\n`,"latin1");Jo.write(Hn);Jo.uncork();Bn.onBodySent(Hn);Bn.onRequestSent();if(!Ga){Jo[Up]=true}}else if(Ps.isBlobLike(Hn)){if(typeof Hn.stream==="function"){writeIterable({body:Hn.stream(),client:Me,request:Bn,socket:Jo,contentLength:oo,header:dc,expectsPayload:Ga})}else{writeBlob({body:Hn,client:Me,request:Bn,socket:Jo,contentLength:oo,header:dc,expectsPayload:Ga})}}else if(Ps.isStream(Hn)){writeStream({body:Hn,client:Me,request:Bn,socket:Jo,contentLength:oo,header:dc,expectsPayload:Ga})}else if(Ps.isIterable(Hn)){writeIterable({body:Hn,client:Me,request:Bn,socket:Jo,contentLength:oo,header:dc,expectsPayload:Ga})}else{zn(false)}return true}function writeH2(Me,Bn,Hn){const{body:ni,method:Ci,path:ts,host:aa,upgrade:ca,expectContinue:xa,signal:Ga,headers:so}=Hn;let oo;if(typeof so==="string")oo=oa[Dg](so.trim());else oo=so;if(ca){errorRequest(Me,Hn,new Error("Upgrade not supported for H2"));return false}try{Hn.onConnect((Bn=>{if(Hn.aborted||Hn.completed){return}errorRequest(Me,Hn,Bn||new Ha)}))}catch(Bn){errorRequest(Me,Hn,Bn)}if(Hn.aborted){return false}let Jo;const dc=Me[bg];oo[Ig]=aa||Me[vg];oo[xg]=Ci;if(Ci==="CONNECT"){Bn.ref();Jo=Bn.request(oo,{endStream:false,signal:Ga});if(Jo.id&&!Jo.pending){Hn.onUpgrade(null,null,Jo);++dc.openStreams}else{Jo.once("ready",(()=>{Hn.onUpgrade(null,null,Jo);++dc.openStreams}))}Jo.once("close",(()=>{dc.openStreams-=1;if(dc.openStreams===0)Bn.unref()}));return true}oo[kg]=ts;oo[Bg]="https";const Fc=Ci==="PUT"||Ci==="POST"||Ci==="PATCH";if(ni&&typeof ni.read==="function"){ni.read(0)}let Jc=Ps.bodyLength(ni);if(Jc==null){Jc=Hn.contentLength}if(Jc===0||!Fc){Jc=null}if(shouldSendContentLength(Ci)&&Jc>0&&Hn.contentLength!=null&&Hn.contentLength!==Jc){if(Me[ug]){errorRequest(Me,Hn,new _a);return false}process.emitWarning(new _a)}if(Jc!=null){zn(ni,"no body must not have content length");oo[Tg]=`${Jc}`}Bn.ref();const Dp=Ci==="GET"||Ci==="HEAD";if(xa){oo[Fg]="100-continue";Jo=Bn.request(oo,{endStream:Dp,signal:Ga});Jo.once("continue",writeBodyH2)}else{Jo=Bn.request(oo,{endStream:Dp,signal:Ga});writeBodyH2()}++dc.openStreams;Jo.once("response",(Me=>{const{[Ng]:Bn,...zn}=Me;if(Hn.onHeaders(Number(Bn),zn,Jo.resume.bind(Jo),"")===false){Jo.pause()}}));Jo.once("end",(()=>{Hn.onComplete([])}));Jo.on("data",(Me=>{if(Hn.onData(Me)===false){Jo.pause()}}));Jo.once("close",(()=>{dc.openStreams-=1;if(dc.openStreams===0){Bn.unref()}}));Jo.once("error",(function(Bn){if(Me[Eg]&&!Me[Eg].destroyed&&!this.closed&&!this.destroyed){dc.streams-=1;Ps.destroy(Jo,Bn)}}));Jo.once("frameError",((Bn,zn)=>{const ni=new tc(`HTTP/2: "frameError" received - type ${Bn}, code ${zn}`);errorRequest(Me,Hn,ni);if(Me[Eg]&&!Me[Eg].destroyed&&!this.closed&&!this.destroyed){dc.streams-=1;Ps.destroy(Jo,ni)}}));return true;function writeBodyH2(){if(!ni){Hn.onRequestSent()}else if(Ps.isBuffer(ni)){zn(Jc===ni.byteLength,"buffer body must have content length");Jo.cork();Jo.write(ni);Jo.uncork();Jo.end();Hn.onBodySent(ni);Hn.onRequestSent()}else if(Ps.isBlobLike(ni)){if(typeof ni.stream==="function"){writeIterable({client:Me,request:Hn,contentLength:Jc,h2stream:Jo,expectsPayload:Fc,body:ni.stream(),socket:Me[tg],header:""})}else{writeBlob({body:ni,client:Me,request:Hn,contentLength:Jc,expectsPayload:Fc,h2stream:Jo,header:"",socket:Me[tg]})}}else if(Ps.isStream(ni)){writeStream({body:ni,client:Me,request:Hn,contentLength:Jc,expectsPayload:Fc,socket:Me[tg],h2stream:Jo,header:""})}else if(Ps.isIterable(ni)){writeIterable({body:ni,client:Me,request:Hn,contentLength:Jc,expectsPayload:Fc,header:"",h2stream:Jo,socket:Me[tg]})}else{zn(false)}}}function writeStream({h2stream:Me,body:Bn,client:Hn,request:ni,socket:Ci,contentLength:aa,header:oa,expectsPayload:ca}){zn(aa!==0||Hn[Kf]===0,"stream body cannot be pipelined");if(Hn[yg]==="h2"){const Ga=ts(Bn,Me,(Hn=>{if(Hn){Ps.destroy(Bn,Hn);Ps.destroy(Me,Hn)}else{ni.onRequestSent()}}));Ga.on("data",onPipeData);Ga.once("end",(()=>{Ga.removeListener("data",onPipeData);Ps.destroy(Ga)}));function onPipeData(Me){ni.onBodySent(Me)}return}let _a=false;const xa=new AsyncWriter({socket:Ci,request:ni,contentLength:aa,client:Hn,expectsPayload:ca,header:oa});const onData=function(Me){if(_a){return}try{if(!xa.write(Me)&&this.pause){this.pause()}}catch(Me){Ps.destroy(this,Me)}};const onDrain=function(){if(_a){return}if(Bn.resume){Bn.resume()}};const onAbort=function(){if(_a){return}const Me=new Ha;queueMicrotask((()=>onFinished(Me)))};const onFinished=function(Me){if(_a){return}_a=true;zn(Ci.destroyed||Ci[Cd]&&Hn[Kf]<=1);Ci.off("drain",onDrain).off("error",onFinished);Bn.removeListener("data",onData).removeListener("end",onFinished).removeListener("error",onFinished).removeListener("close",onAbort);if(!Me){try{xa.end()}catch(Bn){Me=Bn}}xa.destroy(Me);if(Me&&(Me.code!=="UND_ERR_INFO"||Me.message!=="reset")){Ps.destroy(Bn,Me)}else{Ps.destroy(Bn)}};Bn.on("data",onData).on("end",onFinished).on("error",onFinished).on("close",onAbort);if(Bn.resume){Bn.resume()}Ci.on("drain",onDrain).on("error",onFinished)}async function writeBlob({h2stream:Me,body:Bn,client:Hn,request:ni,socket:Ci,contentLength:ts,header:aa,expectsPayload:oa}){zn(ts===Bn.size,"blob body must have content length");const ca=Hn[yg]==="h2";try{if(ts!=null&&ts!==Bn.size){throw new _a}const zn=Buffer.from(await Bn.arrayBuffer());if(ca){Me.cork();Me.write(zn);Me.uncork()}else{Ci.cork();Ci.write(`${aa}content-length: ${ts}\r\n\r\n`,"latin1");Ci.write(zn);Ci.uncork()}ni.onBodySent(zn);ni.onRequestSent();if(!oa){Ci[Up]=true}resume(Hn)}catch(Bn){Ps.destroy(ca?Me:Ci,Bn)}}async function writeIterable({h2stream:Me,body:Bn,client:Hn,request:ni,socket:Ci,contentLength:ts,header:Ps,expectsPayload:aa}){zn(ts!==0||Hn[Kf]===0,"iterator body cannot be pipelined");let oa=null;function onDrain(){if(oa){const Me=oa;oa=null;Me()}}const waitForDrain=()=>new Promise(((Me,Bn)=>{zn(oa===null);if(Ci[hA]){Bn(Ci[hA])}else{oa=Me}}));if(Hn[yg]==="h2"){Me.on("close",onDrain).on("drain",onDrain);try{for await(const Hn of Bn){if(Ci[hA]){throw Ci[hA]}const Bn=Me.write(Hn);ni.onBodySent(Hn);if(!Bn){await waitForDrain()}}}catch(Bn){Me.destroy(Bn)}finally{ni.onRequestSent();Me.end();Me.off("close",onDrain).off("drain",onDrain)}return}Ci.on("close",onDrain).on("drain",onDrain);const ca=new AsyncWriter({socket:Ci,request:ni,contentLength:ts,client:Hn,expectsPayload:aa,header:Ps});try{for await(const Me of Bn){if(Ci[hA]){throw Ci[hA]}if(!ca.write(Me)){await waitForDrain()}}ca.end()}catch(Me){ca.destroy(Me)}finally{Ci.off("close",onDrain).off("drain",onDrain)}}class AsyncWriter{constructor({socket:Me,request:Bn,contentLength:Hn,client:zn,expectsPayload:ni,header:Ci}){this.socket=Me;this.request=Bn;this.contentLength=Hn;this.client=zn;this.bytesWritten=0;this.expectsPayload=ni;this.header=Ci;Me[Cd]=true}write(Me){const{socket:Bn,request:Hn,contentLength:zn,client:ni,bytesWritten:Ci,expectsPayload:ts,header:Ps}=this;if(Bn[hA]){throw Bn[hA]}if(Bn.destroyed){return false}const aa=Buffer.byteLength(Me);if(!aa){return true}if(zn!==null&&Ci+aa>zn){if(ni[ug]){throw new _a}process.emitWarning(new _a)}Bn.cork();if(Ci===0){if(!ts){Bn[Up]=true}if(zn===null){Bn.write(`${Ps}transfer-encoding: chunked\r\n`,"latin1")}else{Bn.write(`${Ps}content-length: ${zn}\r\n\r\n`,"latin1")}}if(zn===null){Bn.write(`\r\n${aa.toString(16)}\r\n`,"latin1")}this.bytesWritten+=aa;const oa=Bn.write(Me);Bn.uncork();Hn.onBodySent(Me);if(!oa){if(Bn[Wp].timeout&&Bn[Wp].timeoutType===$g){if(Bn[Wp].timeout.refresh){Bn[Wp].timeout.refresh()}}}return oa}end(){const{socket:Me,contentLength:Bn,client:Hn,bytesWritten:zn,expectsPayload:ni,header:Ci,request:ts}=this;ts.onRequestSent();Me[Cd]=false;if(Me[hA]){throw Me[hA]}if(Me.destroyed){return}if(zn===0){if(ni){Me.write(`${Ci}content-length: 0\r\n\r\n`,"latin1")}else{Me.write(`${Ci}\r\n`,"latin1")}}else if(Bn===null){Me.write("\r\n0\r\n\r\n","latin1")}if(Bn!==null&&zn!==Bn){if(Hn[ug]){throw new _a}else{process.emitWarning(new _a)}}if(Me[Wp].timeout&&Me[Wp].timeoutType===$g){if(Me[Wp].timeout.refresh){Me[Wp].timeout.refresh()}}resume(Hn)}destroy(Me){const{socket:Bn,client:Hn}=this;Bn[Cd]=false;if(Me){zn(Hn[Kf]<=1,"pipeline should only contain this request");Ps.destroy(Bn,Me)}}}function errorRequest(Me,Bn,Hn){try{Bn.onError(Hn);zn(Bn.aborted)}catch(Hn){Me.emit("error",Hn)}}Me.exports=Client},13194:(Me,Bn,Hn)=>{"use strict";const{kConnected:zn,kSize:ni}=Hn(36443);class CompatWeakRef{constructor(Me){this.value=Me}deref(){return this.value[zn]===0&&this.value[ni]===0?undefined:this.value}}class CompatFinalizer{constructor(Me){this.finalizer=Me}register(Me,Bn){if(Me.on){Me.on("disconnect",(()=>{if(Me[zn]===0&&Me[ni]===0){this.finalizer(Bn)}}))}}}Me.exports=function(){if(process.env.NODE_V8_COVERAGE){return{WeakRef:CompatWeakRef,FinalizationRegistry:CompatFinalizer}}return{WeakRef:global.WeakRef||CompatWeakRef,FinalizationRegistry:global.FinalizationRegistry||CompatFinalizer}}},19237:Me=>{"use strict";const Bn=1024;const Hn=4096;Me.exports={maxAttributeValueSize:Bn,maxNameValuePairSize:Hn}},53168:(Me,Bn,Hn)=>{"use strict";const{parseSetCookie:zn}=Hn(8915);const{stringify:ni}=Hn(3834);const{webidl:Ci}=Hn(74222);const{Headers:ts}=Hn(26349);function getCookies(Me){Ci.argumentLengthCheck(arguments,1,{header:"getCookies"});Ci.brandCheck(Me,ts,{strict:false});const Bn=Me.get("cookie");const Hn={};if(!Bn){return Hn}for(const Me of Bn.split(";")){const[Bn,...zn]=Me.split("=");Hn[Bn.trim()]=zn.join("=")}return Hn}function deleteCookie(Me,Bn,Hn){Ci.argumentLengthCheck(arguments,2,{header:"deleteCookie"});Ci.brandCheck(Me,ts,{strict:false});Bn=Ci.converters.DOMString(Bn);Hn=Ci.converters.DeleteCookieAttributes(Hn);setCookie(Me,{name:Bn,value:"",expires:new Date(0),...Hn})}function getSetCookies(Me){Ci.argumentLengthCheck(arguments,1,{header:"getSetCookies"});Ci.brandCheck(Me,ts,{strict:false});const Bn=Me.getSetCookie();if(!Bn){return[]}return Bn.map((Me=>zn(Me)))}function setCookie(Me,Bn){Ci.argumentLengthCheck(arguments,2,{header:"setCookie"});Ci.brandCheck(Me,ts,{strict:false});Bn=Ci.converters.Cookie(Bn);const Hn=ni(Bn);if(Hn){Me.append("Set-Cookie",ni(Bn))}}Ci.converters.DeleteCookieAttributes=Ci.dictionaryConverter([{converter:Ci.nullableConverter(Ci.converters.DOMString),key:"path",defaultValue:null},{converter:Ci.nullableConverter(Ci.converters.DOMString),key:"domain",defaultValue:null}]);Ci.converters.Cookie=Ci.dictionaryConverter([{converter:Ci.converters.DOMString,key:"name"},{converter:Ci.converters.DOMString,key:"value"},{converter:Ci.nullableConverter((Me=>{if(typeof Me==="number"){return Ci.converters["unsigned long long"](Me)}return new Date(Me)})),key:"expires",defaultValue:null},{converter:Ci.nullableConverter(Ci.converters["long long"]),key:"maxAge",defaultValue:null},{converter:Ci.nullableConverter(Ci.converters.DOMString),key:"domain",defaultValue:null},{converter:Ci.nullableConverter(Ci.converters.DOMString),key:"path",defaultValue:null},{converter:Ci.nullableConverter(Ci.converters.boolean),key:"secure",defaultValue:null},{converter:Ci.nullableConverter(Ci.converters.boolean),key:"httpOnly",defaultValue:null},{converter:Ci.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:Ci.sequenceConverter(Ci.converters.DOMString),key:"unparsed",defaultValue:[]}]);Me.exports={getCookies:getCookies,deleteCookie:deleteCookie,getSetCookies:getSetCookies,setCookie:setCookie}},8915:(Me,Bn,Hn)=>{"use strict";const{maxNameValuePairSize:zn,maxAttributeValueSize:ni}=Hn(19237);const{isCTLExcludingHtab:Ci}=Hn(3834);const{collectASequenceOfCodePointsFast:ts}=Hn(94322);const Ps=Hn(42613);function parseSetCookie(Me){if(Ci(Me)){return null}let Bn="";let Hn="";let ni="";let Ps="";if(Me.includes(";")){const zn={position:0};Bn=ts(";",Me,zn);Hn=Me.slice(zn.position)}else{Bn=Me}if(!Bn.includes("=")){Ps=Bn}else{const Me={position:0};ni=ts("=",Bn,Me);Ps=Bn.slice(Me.position+1)}ni=ni.trim();Ps=Ps.trim();if(ni.length+Ps.length>zn){return null}return{name:ni,value:Ps,...parseUnparsedAttributes(Hn)}}function parseUnparsedAttributes(Me,Bn={}){if(Me.length===0){return Bn}Ps(Me[0]===";");Me=Me.slice(1);let Hn="";if(Me.includes(";")){Hn=ts(";",Me,{position:0});Me=Me.slice(Hn.length)}else{Hn=Me;Me=""}let zn="";let Ci="";if(Hn.includes("=")){const Me={position:0};zn=ts("=",Hn,Me);Ci=Hn.slice(Me.position+1)}else{zn=Hn}zn=zn.trim();Ci=Ci.trim();if(Ci.length>ni){return parseUnparsedAttributes(Me,Bn)}const aa=zn.toLowerCase();if(aa==="expires"){const Me=new Date(Ci);Bn.expires=Me}else if(aa==="max-age"){const Hn=Ci.charCodeAt(0);if((Hn<48||Hn>57)&&Ci[0]!=="-"){return parseUnparsedAttributes(Me,Bn)}if(!/^\d+$/.test(Ci)){return parseUnparsedAttributes(Me,Bn)}const zn=Number(Ci);Bn.maxAge=zn}else if(aa==="domain"){let Me=Ci;if(Me[0]==="."){Me=Me.slice(1)}Me=Me.toLowerCase();Bn.domain=Me}else if(aa==="path"){let Me="";if(Ci.length===0||Ci[0]!=="/"){Me="/"}else{Me=Ci}Bn.path=Me}else if(aa==="secure"){Bn.secure=true}else if(aa==="httponly"){Bn.httpOnly=true}else if(aa==="samesite"){let Me="Default";const Hn=Ci.toLowerCase();if(Hn.includes("none")){Me="None"}if(Hn.includes("strict")){Me="Strict"}if(Hn.includes("lax")){Me="Lax"}Bn.sameSite=Me}else{Bn.unparsed??=[];Bn.unparsed.push(`${zn}=${Ci}`)}return parseUnparsedAttributes(Me,Bn)}Me.exports={parseSetCookie:parseSetCookie,parseUnparsedAttributes:parseUnparsedAttributes}},3834:Me=>{"use strict";function isCTLExcludingHtab(Me){if(Me.length===0){return false}for(const Bn of Me){const Me=Bn.charCodeAt(0);if(Me>=0||Me<=8||(Me>=10||Me<=31)||Me===127){return false}}}function validateCookieName(Me){for(const Bn of Me){const Me=Bn.charCodeAt(0);if(Me<=32||Me>127||Bn==="("||Bn===")"||Bn===">"||Bn==="<"||Bn==="@"||Bn===","||Bn===";"||Bn===":"||Bn==="\\"||Bn==='"'||Bn==="/"||Bn==="["||Bn==="]"||Bn==="?"||Bn==="="||Bn==="{"||Bn==="}"){throw new Error("Invalid cookie name")}}}function validateCookieValue(Me){for(const Bn of Me){const Me=Bn.charCodeAt(0);if(Me<33||Me===34||Me===44||Me===59||Me===92||Me>126){throw new Error("Invalid header value")}}}function validateCookiePath(Me){for(const Bn of Me){const Me=Bn.charCodeAt(0);if(Me<33||Bn===";"){throw new Error("Invalid cookie path")}}}function validateCookieDomain(Me){if(Me.startsWith("-")||Me.endsWith(".")||Me.endsWith("-")){throw new Error("Invalid cookie domain")}}function toIMFDate(Me){if(typeof Me==="number"){Me=new Date(Me)}const Bn=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];const Hn=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];const zn=Bn[Me.getUTCDay()];const ni=Me.getUTCDate().toString().padStart(2,"0");const Ci=Hn[Me.getUTCMonth()];const ts=Me.getUTCFullYear();const Ps=Me.getUTCHours().toString().padStart(2,"0");const aa=Me.getUTCMinutes().toString().padStart(2,"0");const oa=Me.getUTCSeconds().toString().padStart(2,"0");return`${zn}, ${ni} ${Ci} ${ts} ${Ps}:${aa}:${oa} GMT`}function validateCookieMaxAge(Me){if(Me<0){throw new Error("Invalid cookie max-age")}}function stringify(Me){if(Me.name.length===0){return null}validateCookieName(Me.name);validateCookieValue(Me.value);const Bn=[`${Me.name}=${Me.value}`];if(Me.name.startsWith("__Secure-")){Me.secure=true}if(Me.name.startsWith("__Host-")){Me.secure=true;Me.domain=null;Me.path="/"}if(Me.secure){Bn.push("Secure")}if(Me.httpOnly){Bn.push("HttpOnly")}if(typeof Me.maxAge==="number"){validateCookieMaxAge(Me.maxAge);Bn.push(`Max-Age=${Me.maxAge}`)}if(Me.domain){validateCookieDomain(Me.domain);Bn.push(`Domain=${Me.domain}`)}if(Me.path){validateCookiePath(Me.path);Bn.push(`Path=${Me.path}`)}if(Me.expires&&Me.expires.toString()!=="Invalid Date"){Bn.push(`Expires=${toIMFDate(Me.expires)}`)}if(Me.sameSite){Bn.push(`SameSite=${Me.sameSite}`)}for(const Hn of Me.unparsed){if(!Hn.includes("=")){throw new Error("Invalid unparsed")}const[Me,...zn]=Hn.split("=");Bn.push(`${Me.trim()}=${zn.join("=")}`)}return Bn.join("; ")}Me.exports={isCTLExcludingHtab:isCTLExcludingHtab,validateCookieName:validateCookieName,validateCookiePath:validateCookiePath,validateCookieValue:validateCookieValue,toIMFDate:toIMFDate,stringify:stringify}},59136:(Me,Bn,Hn)=>{"use strict";const zn=Hn(69278);const ni=Hn(42613);const Ci=Hn(3440);const{InvalidArgumentError:ts,ConnectTimeoutError:Ps}=Hn(68707);let aa;let oa;if(global.FinalizationRegistry&&!process.env.NODE_V8_COVERAGE){oa=class WeakSessionCache{constructor(Me){this._maxCachedSessions=Me;this._sessionCache=new Map;this._sessionRegistry=new global.FinalizationRegistry((Me=>{if(this._sessionCache.size=this._maxCachedSessions){const{value:Me}=this._sessionCache.keys().next();this._sessionCache.delete(Me)}this._sessionCache.set(Me,Bn)}}}function buildConnector({allowH2:Me,maxCachedSessions:Bn,socketPath:Ps,timeout:ca,..._a}){if(Bn!=null&&(!Number.isInteger(Bn)||Bn<0)){throw new ts("maxCachedSessions must be a positive integer or zero")}const xa={path:Ps,..._a};const Ga=new oa(Bn==null?100:Bn);ca=ca==null?1e4:ca;Me=Me!=null?Me:false;return function connect({hostname:Bn,host:ts,protocol:Ps,port:oa,servername:_a,localAddress:Ha,httpSocket:so},oo){let Jo;if(Ps==="https:"){if(!aa){aa=Hn(64756)}_a=_a||xa.servername||Ci.getServerName(ts)||null;const zn=_a||Bn;const Ps=Ga.get(zn)||null;ni(zn);Jo=aa.connect({highWaterMark:16384,...xa,servername:_a,session:Ps,localAddress:Ha,ALPNProtocols:Me?["http/1.1","h2"]:["http/1.1"],socket:so,port:oa||443,host:Bn});Jo.on("session",(function(Me){Ga.set(zn,Me)}))}else{ni(!so,"httpSocket can only be sent on TLS update");Jo=zn.connect({highWaterMark:64*1024,...xa,localAddress:Ha,port:oa||80,host:Bn})}if(xa.keepAlive==null||xa.keepAlive){const Me=xa.keepAliveInitialDelay===undefined?6e4:xa.keepAliveInitialDelay;Jo.setKeepAlive(true,Me)}const tc=setupTimeout((()=>onConnectTimeout(Jo)),ca);Jo.setNoDelay(true).once(Ps==="https:"?"secureConnect":"connect",(function(){tc();if(oo){const Me=oo;oo=null;Me(null,this)}})).on("error",(function(Me){tc();if(oo){const Bn=oo;oo=null;Bn(Me)}}));return Jo}}function setupTimeout(Me,Bn){if(!Bn){return()=>{}}let Hn=null;let zn=null;const ni=setTimeout((()=>{Hn=setImmediate((()=>{if(process.platform==="win32"){zn=setImmediate((()=>Me()))}else{Me()}}))}),Bn);return()=>{clearTimeout(ni);clearImmediate(Hn);clearImmediate(zn)}}function onConnectTimeout(Me){Ci.destroy(Me,new Ps)}Me.exports=buildConnector},10735:Me=>{"use strict";const Bn={};const Hn=["Accept","Accept-Encoding","Accept-Language","Accept-Ranges","Access-Control-Allow-Credentials","Access-Control-Allow-Headers","Access-Control-Allow-Methods","Access-Control-Allow-Origin","Access-Control-Expose-Headers","Access-Control-Max-Age","Access-Control-Request-Headers","Access-Control-Request-Method","Age","Allow","Alt-Svc","Alt-Used","Authorization","Cache-Control","Clear-Site-Data","Connection","Content-Disposition","Content-Encoding","Content-Language","Content-Length","Content-Location","Content-Range","Content-Security-Policy","Content-Security-Policy-Report-Only","Content-Type","Cookie","Cross-Origin-Embedder-Policy","Cross-Origin-Opener-Policy","Cross-Origin-Resource-Policy","Date","Device-Memory","Downlink","ECT","ETag","Expect","Expect-CT","Expires","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Keep-Alive","Last-Modified","Link","Location","Max-Forwards","Origin","Permissions-Policy","Pragma","Proxy-Authenticate","Proxy-Authorization","RTT","Range","Referer","Referrer-Policy","Refresh","Retry-After","Sec-WebSocket-Accept","Sec-WebSocket-Extensions","Sec-WebSocket-Key","Sec-WebSocket-Protocol","Sec-WebSocket-Version","Server","Server-Timing","Service-Worker-Allowed","Service-Worker-Navigation-Preload","Set-Cookie","SourceMap","Strict-Transport-Security","Supports-Loading-Mode","TE","Timing-Allow-Origin","Trailer","Transfer-Encoding","Upgrade","Upgrade-Insecure-Requests","User-Agent","Vary","Via","WWW-Authenticate","X-Content-Type-Options","X-DNS-Prefetch-Control","X-Frame-Options","X-Permitted-Cross-Domain-Policies","X-Powered-By","X-Requested-With","X-XSS-Protection"];for(let Me=0;Me{"use strict";class UndiciError extends Error{constructor(Me){super(Me);this.name="UndiciError";this.code="UND_ERR"}}class ConnectTimeoutError extends UndiciError{constructor(Me){super(Me);Error.captureStackTrace(this,ConnectTimeoutError);this.name="ConnectTimeoutError";this.message=Me||"Connect Timeout Error";this.code="UND_ERR_CONNECT_TIMEOUT"}}class HeadersTimeoutError extends UndiciError{constructor(Me){super(Me);Error.captureStackTrace(this,HeadersTimeoutError);this.name="HeadersTimeoutError";this.message=Me||"Headers Timeout Error";this.code="UND_ERR_HEADERS_TIMEOUT"}}class HeadersOverflowError extends UndiciError{constructor(Me){super(Me);Error.captureStackTrace(this,HeadersOverflowError);this.name="HeadersOverflowError";this.message=Me||"Headers Overflow Error";this.code="UND_ERR_HEADERS_OVERFLOW"}}class BodyTimeoutError extends UndiciError{constructor(Me){super(Me);Error.captureStackTrace(this,BodyTimeoutError);this.name="BodyTimeoutError";this.message=Me||"Body Timeout Error";this.code="UND_ERR_BODY_TIMEOUT"}}class ResponseStatusCodeError extends UndiciError{constructor(Me,Bn,Hn,zn){super(Me);Error.captureStackTrace(this,ResponseStatusCodeError);this.name="ResponseStatusCodeError";this.message=Me||"Response Status Code Error";this.code="UND_ERR_RESPONSE_STATUS_CODE";this.body=zn;this.status=Bn;this.statusCode=Bn;this.headers=Hn}}class InvalidArgumentError extends UndiciError{constructor(Me){super(Me);Error.captureStackTrace(this,InvalidArgumentError);this.name="InvalidArgumentError";this.message=Me||"Invalid Argument Error";this.code="UND_ERR_INVALID_ARG"}}class InvalidReturnValueError extends UndiciError{constructor(Me){super(Me);Error.captureStackTrace(this,InvalidReturnValueError);this.name="InvalidReturnValueError";this.message=Me||"Invalid Return Value Error";this.code="UND_ERR_INVALID_RETURN_VALUE"}}class RequestAbortedError extends UndiciError{constructor(Me){super(Me);Error.captureStackTrace(this,RequestAbortedError);this.name="AbortError";this.message=Me||"Request aborted";this.code="UND_ERR_ABORTED"}}class InformationalError extends UndiciError{constructor(Me){super(Me);Error.captureStackTrace(this,InformationalError);this.name="InformationalError";this.message=Me||"Request information";this.code="UND_ERR_INFO"}}class RequestContentLengthMismatchError extends UndiciError{constructor(Me){super(Me);Error.captureStackTrace(this,RequestContentLengthMismatchError);this.name="RequestContentLengthMismatchError";this.message=Me||"Request body length does not match content-length header";this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}}class ResponseContentLengthMismatchError extends UndiciError{constructor(Me){super(Me);Error.captureStackTrace(this,ResponseContentLengthMismatchError);this.name="ResponseContentLengthMismatchError";this.message=Me||"Response body length does not match content-length header";this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}}class ClientDestroyedError extends UndiciError{constructor(Me){super(Me);Error.captureStackTrace(this,ClientDestroyedError);this.name="ClientDestroyedError";this.message=Me||"The client is destroyed";this.code="UND_ERR_DESTROYED"}}class ClientClosedError extends UndiciError{constructor(Me){super(Me);Error.captureStackTrace(this,ClientClosedError);this.name="ClientClosedError";this.message=Me||"The client is closed";this.code="UND_ERR_CLOSED"}}class SocketError extends UndiciError{constructor(Me,Bn){super(Me);Error.captureStackTrace(this,SocketError);this.name="SocketError";this.message=Me||"Socket error";this.code="UND_ERR_SOCKET";this.socket=Bn}}class NotSupportedError extends UndiciError{constructor(Me){super(Me);Error.captureStackTrace(this,NotSupportedError);this.name="NotSupportedError";this.message=Me||"Not supported error";this.code="UND_ERR_NOT_SUPPORTED"}}class BalancedPoolMissingUpstreamError extends UndiciError{constructor(Me){super(Me);Error.captureStackTrace(this,NotSupportedError);this.name="MissingUpstreamError";this.message=Me||"No upstream has been added to the BalancedPool";this.code="UND_ERR_BPL_MISSING_UPSTREAM"}}class HTTPParserError extends Error{constructor(Me,Bn,Hn){super(Me);Error.captureStackTrace(this,HTTPParserError);this.name="HTTPParserError";this.code=Bn?`HPE_${Bn}`:undefined;this.data=Hn?Hn.toString():undefined}}class ResponseExceededMaxSizeError extends UndiciError{constructor(Me){super(Me);Error.captureStackTrace(this,ResponseExceededMaxSizeError);this.name="ResponseExceededMaxSizeError";this.message=Me||"Response content exceeded max size";this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}}class RequestRetryError extends UndiciError{constructor(Me,Bn,{headers:Hn,data:zn}){super(Me);Error.captureStackTrace(this,RequestRetryError);this.name="RequestRetryError";this.message=Me||"Request retry error";this.code="UND_ERR_REQ_RETRY";this.statusCode=Bn;this.data=zn;this.headers=Hn}}Me.exports={HTTPParserError:HTTPParserError,UndiciError:UndiciError,HeadersTimeoutError:HeadersTimeoutError,HeadersOverflowError:HeadersOverflowError,BodyTimeoutError:BodyTimeoutError,RequestContentLengthMismatchError:RequestContentLengthMismatchError,ConnectTimeoutError:ConnectTimeoutError,ResponseStatusCodeError:ResponseStatusCodeError,InvalidArgumentError:InvalidArgumentError,InvalidReturnValueError:InvalidReturnValueError,RequestAbortedError:RequestAbortedError,ClientDestroyedError:ClientDestroyedError,ClientClosedError:ClientClosedError,InformationalError:InformationalError,SocketError:SocketError,NotSupportedError:NotSupportedError,ResponseContentLengthMismatchError:ResponseContentLengthMismatchError,BalancedPoolMissingUpstreamError:BalancedPoolMissingUpstreamError,ResponseExceededMaxSizeError:ResponseExceededMaxSizeError,RequestRetryError:RequestRetryError}},44655:(Me,Bn,Hn)=>{"use strict";const{InvalidArgumentError:zn,NotSupportedError:ni}=Hn(68707);const Ci=Hn(42613);const{kHTTP2BuildRequest:ts,kHTTP2CopyHeaders:Ps,kHTTP1BuildRequest:aa}=Hn(36443);const oa=Hn(3440);const ca=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;const _a=/[^\t\x20-\x7e\x80-\xff]/;const xa=/[^\u0021-\u00ff]/;const Ga=Symbol("handler");const Ha={};let so;try{const Me=Hn(31637);Ha.create=Me.channel("undici:request:create");Ha.bodySent=Me.channel("undici:request:bodySent");Ha.headers=Me.channel("undici:request:headers");Ha.trailers=Me.channel("undici:request:trailers");Ha.error=Me.channel("undici:request:error")}catch{Ha.create={hasSubscribers:false};Ha.bodySent={hasSubscribers:false};Ha.headers={hasSubscribers:false};Ha.trailers={hasSubscribers:false};Ha.error={hasSubscribers:false}}class Request{constructor(Me,{path:Bn,method:ni,body:Ci,headers:ts,query:Ps,idempotent:aa,blocking:_a,upgrade:oo,headersTimeout:Jo,bodyTimeout:tc,reset:dc,throwOnError:Fc,expectContinue:Jc},Dp){if(typeof Bn!=="string"){throw new zn("path must be a string")}else if(Bn[0]!=="/"&&!(Bn.startsWith("http://")||Bn.startsWith("https://"))&&ni!=="CONNECT"){throw new zn("path must be an absolute URL or start with a slash")}else if(xa.exec(Bn)!==null){throw new zn("invalid request path")}if(typeof ni!=="string"){throw new zn("method must be a string")}else if(ca.exec(ni)===null){throw new zn("invalid request method")}if(oo&&typeof oo!=="string"){throw new zn("upgrade must be a string")}if(Jo!=null&&(!Number.isFinite(Jo)||Jo<0)){throw new zn("invalid headersTimeout")}if(tc!=null&&(!Number.isFinite(tc)||tc<0)){throw new zn("invalid bodyTimeout")}if(dc!=null&&typeof dc!=="boolean"){throw new zn("invalid reset")}if(Jc!=null&&typeof Jc!=="boolean"){throw new zn("invalid expectContinue")}this.headersTimeout=Jo;this.bodyTimeout=tc;this.throwOnError=Fc===true;this.method=ni;this.abort=null;if(Ci==null){this.body=null}else if(oa.isStream(Ci)){this.body=Ci;const Me=this.body._readableState;if(!Me||!Me.autoDestroy){this.endHandler=function autoDestroy(){oa.destroy(this)};this.body.on("end",this.endHandler)}this.errorHandler=Me=>{if(this.abort){this.abort(Me)}else{this.error=Me}};this.body.on("error",this.errorHandler)}else if(oa.isBuffer(Ci)){this.body=Ci.byteLength?Ci:null}else if(ArrayBuffer.isView(Ci)){this.body=Ci.buffer.byteLength?Buffer.from(Ci.buffer,Ci.byteOffset,Ci.byteLength):null}else if(Ci instanceof ArrayBuffer){this.body=Ci.byteLength?Buffer.from(Ci):null}else if(typeof Ci==="string"){this.body=Ci.length?Buffer.from(Ci):null}else if(oa.isFormDataLike(Ci)||oa.isIterable(Ci)||oa.isBlobLike(Ci)){this.body=Ci}else{throw new zn("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable")}this.completed=false;this.aborted=false;this.upgrade=oo||null;this.path=Ps?oa.buildURL(Bn,Ps):Bn;this.origin=Me;this.idempotent=aa==null?ni==="HEAD"||ni==="GET":aa;this.blocking=_a==null?false:_a;this.reset=dc==null?null:dc;this.host=null;this.contentLength=null;this.contentType=null;this.headers="";this.expectContinue=Jc!=null?Jc:false;if(Array.isArray(ts)){if(ts.length%2!==0){throw new zn("headers array must be even")}for(let Me=0;Me{Me.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kHeadersList:Symbol("headers list"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kInterceptors:Symbol("dispatch interceptors"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kHTTP2BuildRequest:Symbol("http2 build request"),kHTTP1BuildRequest:Symbol("http1 build request"),kHTTP2CopyHeaders:Symbol("http2 copy headers"),kHTTPConnVersion:Symbol("http connection version"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable")}},3440:(Me,Bn,Hn)=>{"use strict";const zn=Hn(42613);const{kDestroyed:ni,kBodyUsed:Ci}=Hn(36443);const{IncomingMessage:ts}=Hn(58611);const Ps=Hn(2203);const aa=Hn(69278);const{InvalidArgumentError:oa}=Hn(68707);const{Blob:ca}=Hn(20181);const _a=Hn(39023);const{stringify:xa}=Hn(83480);const{headerNameLowerCasedRecord:Ga}=Hn(10735);const[Ha,so]=process.versions.node.split(".").map((Me=>Number(Me)));function nop(){}function isStream(Me){return Me&&typeof Me==="object"&&typeof Me.pipe==="function"&&typeof Me.on==="function"}function isBlobLike(Me){return ca&&Me instanceof ca||Me&&typeof Me==="object"&&(typeof Me.stream==="function"||typeof Me.arrayBuffer==="function")&&/^(Blob|File)$/.test(Me[Symbol.toStringTag])}function buildURL(Me,Bn){if(Me.includes("?")||Me.includes("#")){throw new Error('Query params cannot be passed when url already contains "?" or "#".')}const Hn=xa(Bn);if(Hn){Me+="?"+Hn}return Me}function parseURL(Me){if(typeof Me==="string"){Me=new URL(Me);if(!/^https?:/.test(Me.origin||Me.protocol)){throw new oa("Invalid URL protocol: the URL must start with `http:` or `https:`.")}return Me}if(!Me||typeof Me!=="object"){throw new oa("Invalid URL: The URL argument must be a non-null object.")}if(!/^https?:/.test(Me.origin||Me.protocol)){throw new oa("Invalid URL protocol: the URL must start with `http:` or `https:`.")}if(!(Me instanceof URL)){if(Me.port!=null&&Me.port!==""&&!Number.isFinite(parseInt(Me.port))){throw new oa("Invalid URL: port must be a valid integer or a string representation of an integer.")}if(Me.path!=null&&typeof Me.path!=="string"){throw new oa("Invalid URL path: the path must be a string or null/undefined.")}if(Me.pathname!=null&&typeof Me.pathname!=="string"){throw new oa("Invalid URL pathname: the pathname must be a string or null/undefined.")}if(Me.hostname!=null&&typeof Me.hostname!=="string"){throw new oa("Invalid URL hostname: the hostname must be a string or null/undefined.")}if(Me.origin!=null&&typeof Me.origin!=="string"){throw new oa("Invalid URL origin: the origin must be a string or null/undefined.")}const Bn=Me.port!=null?Me.port:Me.protocol==="https:"?443:80;let Hn=Me.origin!=null?Me.origin:`${Me.protocol}//${Me.hostname}:${Bn}`;let zn=Me.path!=null?Me.path:`${Me.pathname||""}${Me.search||""}`;if(Hn.endsWith("/")){Hn=Hn.substring(0,Hn.length-1)}if(zn&&!zn.startsWith("/")){zn=`/${zn}`}Me=new URL(Hn+zn)}return Me}function parseOrigin(Me){Me=parseURL(Me);if(Me.pathname!=="/"||Me.search||Me.hash){throw new oa("invalid url")}return Me}function getHostname(Me){if(Me[0]==="["){const Bn=Me.indexOf("]");zn(Bn!==-1);return Me.substring(1,Bn)}const Bn=Me.indexOf(":");if(Bn===-1)return Me;return Me.substring(0,Bn)}function getServerName(Me){if(!Me){return null}zn.strictEqual(typeof Me,"string");const Bn=getHostname(Me);if(aa.isIP(Bn)){return""}return Bn}function deepClone(Me){return JSON.parse(JSON.stringify(Me))}function isAsyncIterable(Me){return!!(Me!=null&&typeof Me[Symbol.asyncIterator]==="function")}function isIterable(Me){return!!(Me!=null&&(typeof Me[Symbol.iterator]==="function"||typeof Me[Symbol.asyncIterator]==="function"))}function bodyLength(Me){if(Me==null){return 0}else if(isStream(Me)){const Bn=Me._readableState;return Bn&&Bn.objectMode===false&&Bn.ended===true&&Number.isFinite(Bn.length)?Bn.length:null}else if(isBlobLike(Me)){return Me.size!=null?Me.size:null}else if(isBuffer(Me)){return Me.byteLength}return null}function isDestroyed(Me){return!Me||!!(Me.destroyed||Me[ni])}function isReadableAborted(Me){const Bn=Me&&Me._readableState;return isDestroyed(Me)&&Bn&&!Bn.endEmitted}function destroy(Me,Bn){if(Me==null||!isStream(Me)||isDestroyed(Me)){return}if(typeof Me.destroy==="function"){if(Object.getPrototypeOf(Me).constructor===ts){Me.socket=null}Me.destroy(Bn)}else if(Bn){process.nextTick(((Me,Bn)=>{Me.emit("error",Bn)}),Me,Bn)}if(Me.destroyed!==true){Me[ni]=true}}const oo=/timeout=(\d+)/;function parseKeepAliveTimeout(Me){const Bn=Me.toString().match(oo);return Bn?parseInt(Bn[1],10)*1e3:null}function headerNameToString(Me){return Ga[Me]||Me.toLowerCase()}function parseHeaders(Me,Bn={}){if(!Array.isArray(Me))return Me;for(let Hn=0;HnMe.toString("utf8")))}else{Bn[zn]=Me[Hn+1].toString("utf8")}}else{if(!Array.isArray(ni)){ni=[ni];Bn[zn]=ni}ni.push(Me[Hn+1].toString("utf8"))}}if("content-length"in Bn&&"content-disposition"in Bn){Bn["content-disposition"]=Buffer.from(Bn["content-disposition"]).toString("latin1")}return Bn}function parseRawHeaders(Me){const Bn=[];let Hn=false;let zn=-1;for(let ni=0;ni{Me.close()}))}else{const Bn=Buffer.isBuffer(zn)?zn:Buffer.from(zn);Me.enqueue(new Uint8Array(Bn))}return Me.desiredSize>0},async cancel(Me){await Bn.return()}},0)}function isFormDataLike(Me){return Me&&typeof Me==="object"&&typeof Me.append==="function"&&typeof Me.delete==="function"&&typeof Me.get==="function"&&typeof Me.getAll==="function"&&typeof Me.has==="function"&&typeof Me.set==="function"&&Me[Symbol.toStringTag]==="FormData"}function throwIfAborted(Me){if(!Me){return}if(typeof Me.throwIfAborted==="function"){Me.throwIfAborted()}else{if(Me.aborted){const Me=new Error("The operation was aborted");Me.name="AbortError";throw Me}}}function addAbortListener(Me,Bn){if("addEventListener"in Me){Me.addEventListener("abort",Bn,{once:true});return()=>Me.removeEventListener("abort",Bn)}Me.addListener("abort",Bn);return()=>Me.removeListener("abort",Bn)}const tc=!!String.prototype.toWellFormed;function toUSVString(Me){if(tc){return`${Me}`.toWellFormed()}else if(_a.toUSVString){return _a.toUSVString(Me)}return`${Me}`}function parseRangeHeader(Me){if(Me==null||Me==="")return{start:0,end:null,size:null};const Bn=Me?Me.match(/^bytes (\d+)-(\d+)\/(\d+)?$/):null;return Bn?{start:parseInt(Bn[1]),end:Bn[2]?parseInt(Bn[2]):null,size:Bn[3]?parseInt(Bn[3]):null}:null}const dc=Object.create(null);dc.enumerable=true;Me.exports={kEnumerableProperty:dc,nop:nop,isDisturbed:isDisturbed,isErrored:isErrored,isReadable:isReadable,toUSVString:toUSVString,isReadableAborted:isReadableAborted,isBlobLike:isBlobLike,parseOrigin:parseOrigin,parseURL:parseURL,getServerName:getServerName,isStream:isStream,isIterable:isIterable,isAsyncIterable:isAsyncIterable,isDestroyed:isDestroyed,headerNameToString:headerNameToString,parseRawHeaders:parseRawHeaders,parseHeaders:parseHeaders,parseKeepAliveTimeout:parseKeepAliveTimeout,destroy:destroy,bodyLength:bodyLength,deepClone:deepClone,ReadableStreamFrom:ReadableStreamFrom,isBuffer:isBuffer,validateHandler:validateHandler,getSocketInfo:getSocketInfo,isFormDataLike:isFormDataLike,buildURL:buildURL,throwIfAborted:throwIfAborted,addAbortListener:addAbortListener,parseRangeHeader:parseRangeHeader,nodeMajor:Ha,nodeMinor:so,nodeHasAutoSelectFamily:Ha>18||Ha===18&&so>=13,safeHTTPMethods:["GET","HEAD","OPTIONS","TRACE"]}},50001:(Me,Bn,Hn)=>{"use strict";const zn=Hn(28611);const{ClientDestroyedError:ni,ClientClosedError:Ci,InvalidArgumentError:ts}=Hn(68707);const{kDestroy:Ps,kClose:aa,kDispatch:oa,kInterceptors:ca}=Hn(36443);const _a=Symbol("destroyed");const xa=Symbol("closed");const Ga=Symbol("onDestroyed");const Ha=Symbol("onClosed");const so=Symbol("Intercepted Dispatch");class DispatcherBase extends zn{constructor(){super();this[_a]=false;this[Ga]=null;this[xa]=false;this[Ha]=[]}get destroyed(){return this[_a]}get closed(){return this[xa]}get interceptors(){return this[ca]}set interceptors(Me){if(Me){for(let Bn=Me.length-1;Bn>=0;Bn--){const Me=this[ca][Bn];if(typeof Me!=="function"){throw new ts("interceptor must be an function")}}}this[ca]=Me}close(Me){if(Me===undefined){return new Promise(((Me,Bn)=>{this.close(((Hn,zn)=>Hn?Bn(Hn):Me(zn)))}))}if(typeof Me!=="function"){throw new ts("invalid callback")}if(this[_a]){queueMicrotask((()=>Me(new ni,null)));return}if(this[xa]){if(this[Ha]){this[Ha].push(Me)}else{queueMicrotask((()=>Me(null,null)))}return}this[xa]=true;this[Ha].push(Me);const onClosed=()=>{const Me=this[Ha];this[Ha]=null;for(let Bn=0;Bnthis.destroy())).then((()=>{queueMicrotask(onClosed)}))}destroy(Me,Bn){if(typeof Me==="function"){Bn=Me;Me=null}if(Bn===undefined){return new Promise(((Bn,Hn)=>{this.destroy(Me,((Me,zn)=>Me?Hn(Me):Bn(zn)))}))}if(typeof Bn!=="function"){throw new ts("invalid callback")}if(this[_a]){if(this[Ga]){this[Ga].push(Bn)}else{queueMicrotask((()=>Bn(null,null)))}return}if(!Me){Me=new ni}this[_a]=true;this[Ga]=this[Ga]||[];this[Ga].push(Bn);const onDestroyed=()=>{const Me=this[Ga];this[Ga]=null;for(let Bn=0;Bn{queueMicrotask(onDestroyed)}))}[so](Me,Bn){if(!this[ca]||this[ca].length===0){this[so]=this[oa];return this[oa](Me,Bn)}let Hn=this[oa].bind(this);for(let Me=this[ca].length-1;Me>=0;Me--){Hn=this[ca][Me](Hn)}this[so]=Hn;return Hn(Me,Bn)}dispatch(Me,Bn){if(!Bn||typeof Bn!=="object"){throw new ts("handler must be an object")}try{if(!Me||typeof Me!=="object"){throw new ts("opts must be an object.")}if(this[_a]||this[Ga]){throw new ni}if(this[xa]){throw new Ci}return this[so](Me,Bn)}catch(Me){if(typeof Bn.onError!=="function"){throw new ts("invalid onError method")}Bn.onError(Me);return false}}}Me.exports=DispatcherBase},28611:(Me,Bn,Hn)=>{"use strict";const zn=Hn(24434);class Dispatcher extends zn{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}}Me.exports=Dispatcher},8923:(Me,Bn,Hn)=>{"use strict";const zn=Hn(89581);const ni=Hn(3440);const{ReadableStreamFrom:Ci,isBlobLike:ts,isReadableStreamLike:Ps,readableStreamClose:aa,createDeferredPromise:oa,fullyReadBody:ca}=Hn(15523);const{FormData:_a}=Hn(43073);const{kState:xa}=Hn(89710);const{webidl:Ga}=Hn(74222);const{DOMException:Ha,structuredClone:so}=Hn(87326);const{Blob:oo,File:Jo}=Hn(20181);const{kBodyUsed:tc}=Hn(36443);const dc=Hn(42613);const{isErrored:Fc}=Hn(3440);const{isUint8Array:Jc,isArrayBuffer:Dp}=Hn(98253);const{File:kp}=Hn(63041);const{parseMIMEType:Qp,serializeAMimeType:Up}=Hn(94322);let Vp;try{const Me=Hn(77598);Vp=Bn=>Me.randomInt(0,Bn)}catch{Vp=Me=>Math.floor(Math.random(Me))}let qp=globalThis.ReadableStream;const Jp=Jo??kp;const Wp=new TextEncoder;const zp=new TextDecoder;function extractBody(Me,Bn=false){if(!qp){qp=Hn(63774).ReadableStream}let zn=null;if(Me instanceof qp){zn=Me}else if(ts(Me)){zn=Me.stream()}else{zn=new qp({async pull(Me){Me.enqueue(typeof ca==="string"?Wp.encode(ca):ca);queueMicrotask((()=>aa(Me)))},start(){},type:undefined})}dc(Ps(zn));let oa=null;let ca=null;let _a=null;let xa=null;if(typeof Me==="string"){ca=Me;xa="text/plain;charset=UTF-8"}else if(Me instanceof URLSearchParams){ca=Me.toString();xa="application/x-www-form-urlencoded;charset=UTF-8"}else if(Dp(Me)){ca=new Uint8Array(Me.slice())}else if(ArrayBuffer.isView(Me)){ca=new Uint8Array(Me.buffer.slice(Me.byteOffset,Me.byteOffset+Me.byteLength))}else if(ni.isFormDataLike(Me)){const Bn=`----formdata-undici-0${`${Vp(1e11)}`.padStart(11,"0")}`;const Hn=`--${Bn}\r\nContent-Disposition: form-data` /*! formdata-polyfill. MIT License. Jimmy Wärting */;const escape=Me=>Me.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22");const normalizeLinefeeds=Me=>Me.replace(/\r?\n|\r/g,"\r\n");const zn=[];const ni=new Uint8Array([13,10]);_a=0;let Ci=false;for(const[Bn,ts]of Me){if(typeof ts==="string"){const Me=Wp.encode(Hn+`; name="${escape(normalizeLinefeeds(Bn))}"`+`\r\n\r\n${normalizeLinefeeds(ts)}\r\n`);zn.push(Me);_a+=Me.byteLength}else{const Me=Wp.encode(`${Hn}; name="${escape(normalizeLinefeeds(Bn))}"`+(ts.name?`; filename="${escape(ts.name)}"`:"")+"\r\n"+`Content-Type: ${ts.type||"application/octet-stream"}\r\n\r\n`);zn.push(Me,ts,ni);if(typeof ts.size==="number"){_a+=Me.byteLength+ts.size+ni.byteLength}else{Ci=true}}}const ts=Wp.encode(`--${Bn}--`);zn.push(ts);_a+=ts.byteLength;if(Ci){_a=null}ca=Me;oa=async function*(){for(const Me of zn){if(Me.stream){yield*Me.stream()}else{yield Me}}};xa="multipart/form-data; boundary="+Bn}else if(ts(Me)){ca=Me;_a=Me.size;if(Me.type){xa=Me.type}}else if(typeof Me[Symbol.asyncIterator]==="function"){if(Bn){throw new TypeError("keepalive")}if(ni.isDisturbed(Me)||Me.locked){throw new TypeError("Response body object should not be disturbed or locked")}zn=Me instanceof qp?Me:Ci(Me)}if(typeof ca==="string"||ni.isBuffer(ca)){_a=Buffer.byteLength(ca)}if(oa!=null){let Bn;zn=new qp({async start(){Bn=oa(Me)[Symbol.asyncIterator]()},async pull(Me){const{value:Hn,done:ni}=await Bn.next();if(ni){queueMicrotask((()=>{Me.close()}))}else{if(!Fc(zn)){Me.enqueue(new Uint8Array(Hn))}}return Me.desiredSize>0},async cancel(Me){await Bn.return()},type:undefined})}const Ga={stream:zn,source:ca,length:_a};return[Ga,xa]}function safelyExtractBody(Me,Bn=false){if(!qp){qp=Hn(63774).ReadableStream}if(Me instanceof qp){dc(!ni.isDisturbed(Me),"The body has already been consumed.");dc(!Me.locked,"The stream is locked.")}return extractBody(Me,Bn)}function cloneBody(Me){const[Bn,Hn]=Me.stream.tee();const zn=so(Hn,{transfer:[Hn]});const[,ni]=zn.tee();Me.stream=Bn;return{stream:ni,length:Me.length,source:Me.source}}async function*consumeBody(Me){if(Me){if(Jc(Me)){yield Me}else{const Bn=Me.stream;if(ni.isDisturbed(Bn)){throw new TypeError("The body has already been consumed.")}if(Bn.locked){throw new TypeError("The stream is locked.")}Bn[tc]=true;yield*Bn}}}function throwIfAborted(Me){if(Me.aborted){throw new Ha("The operation was aborted.","AbortError")}}function bodyMixinMethods(Me){const Bn={blob(){return specConsumeBody(this,(Me=>{let Bn=bodyMimeType(this);if(Bn==="failure"){Bn=""}else if(Bn){Bn=Up(Bn)}return new oo([Me],{type:Bn})}),Me)},arrayBuffer(){return specConsumeBody(this,(Me=>new Uint8Array(Me).buffer),Me)},text(){return specConsumeBody(this,utf8DecodeBytes,Me)},json(){return specConsumeBody(this,parseJSONFromBytes,Me)},async formData(){Ga.brandCheck(this,Me);throwIfAborted(this[xa]);const Bn=this.headers.get("Content-Type");if(/multipart\/form-data/.test(Bn)){const Me={};for(const[Bn,Hn]of this.headers)Me[Bn.toLowerCase()]=Hn;const Bn=new _a;let Hn;try{Hn=new zn({headers:Me,preservePath:true})}catch(Me){throw new Ha(`${Me}`,"AbortError")}Hn.on("field",((Me,Hn)=>{Bn.append(Me,Hn)}));Hn.on("file",((Me,Hn,zn,ni,Ci)=>{const ts=[];if(ni==="base64"||ni.toLowerCase()==="base64"){let ni="";Hn.on("data",(Me=>{ni+=Me.toString().replace(/[\r\n]/gm,"");const Bn=ni.length-ni.length%4;ts.push(Buffer.from(ni.slice(0,Bn),"base64"));ni=ni.slice(Bn)}));Hn.on("end",(()=>{ts.push(Buffer.from(ni,"base64"));Bn.append(Me,new Jp(ts,zn,{type:Ci}))}))}else{Hn.on("data",(Me=>{ts.push(Me)}));Hn.on("end",(()=>{Bn.append(Me,new Jp(ts,zn,{type:Ci}))}))}}));const ni=new Promise(((Me,Bn)=>{Hn.on("finish",Me);Hn.on("error",(Me=>Bn(new TypeError(Me))))}));if(this.body!==null)for await(const Me of consumeBody(this[xa].body))Hn.write(Me);Hn.end();await ni;return Bn}else if(/application\/x-www-form-urlencoded/.test(Bn)){let Me;try{let Bn="";const Hn=new TextDecoder("utf-8",{ignoreBOM:true});for await(const Me of consumeBody(this[xa].body)){if(!Jc(Me)){throw new TypeError("Expected Uint8Array chunk")}Bn+=Hn.decode(Me,{stream:true})}Bn+=Hn.decode();Me=new URLSearchParams(Bn)}catch(Me){throw Object.assign(new TypeError,{cause:Me})}const Bn=new _a;for(const[Hn,zn]of Me){Bn.append(Hn,zn)}return Bn}else{await Promise.resolve();throwIfAborted(this[xa]);throw Ga.errors.exception({header:`${Me.name}.formData`,message:"Could not parse content as FormData."})}}};return Bn}function mixinBody(Me){Object.assign(Me.prototype,bodyMixinMethods(Me))}async function specConsumeBody(Me,Bn,Hn){Ga.brandCheck(Me,Hn);throwIfAborted(Me[xa]);if(bodyUnusable(Me[xa].body)){throw new TypeError("Body is unusable")}const zn=oa();const errorSteps=Me=>zn.reject(Me);const successSteps=Me=>{try{zn.resolve(Bn(Me))}catch(Me){errorSteps(Me)}};if(Me[xa].body==null){successSteps(new Uint8Array);return zn.promise}await ca(Me[xa].body,successSteps,errorSteps);return zn.promise}function bodyUnusable(Me){return Me!=null&&(Me.stream.locked||ni.isDisturbed(Me.stream))}function utf8DecodeBytes(Me){if(Me.length===0){return""}if(Me[0]===239&&Me[1]===187&&Me[2]===191){Me=Me.subarray(3)}const Bn=zp.decode(Me);return Bn}function parseJSONFromBytes(Me){return JSON.parse(utf8DecodeBytes(Me))}function bodyMimeType(Me){const{headersList:Bn}=Me[xa];const Hn=Bn.get("content-type");if(Hn===null){return"failure"}return Qp(Hn)}Me.exports={extractBody:extractBody,safelyExtractBody:safelyExtractBody,cloneBody:cloneBody,mixinBody:mixinBody}},87326:(Me,Bn,Hn)=>{"use strict";const{MessageChannel:zn,receiveMessageOnPort:ni}=Hn(28167);const Ci=["GET","HEAD","POST"];const ts=new Set(Ci);const Ps=[101,204,205,304];const aa=[301,302,303,307,308];const oa=new Set(aa);const ca=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","5060","5061","6000","6566","6665","6666","6667","6668","6669","6697","10080"];const _a=new Set(ca);const xa=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"];const Ga=new Set(xa);const Ha=["follow","manual","error"];const so=["GET","HEAD","OPTIONS","TRACE"];const oo=new Set(so);const Jo=["navigate","same-origin","no-cors","cors"];const tc=["omit","same-origin","include"];const dc=["default","no-store","reload","no-cache","force-cache","only-if-cached"];const Fc=["content-encoding","content-language","content-location","content-type","content-length"];const Jc=["half"];const Dp=["CONNECT","TRACE","TRACK"];const kp=new Set(Dp);const Qp=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""];const Up=new Set(Qp);const Vp=globalThis.DOMException??(()=>{try{atob("~")}catch(Me){return Object.getPrototypeOf(Me).constructor}})();let qp;const Jp=globalThis.structuredClone??function structuredClone(Me,Bn=undefined){if(arguments.length===0){throw new TypeError("missing argument")}if(!qp){qp=new zn}qp.port1.unref();qp.port2.unref();qp.port1.postMessage(Me,Bn?.transfer);return ni(qp.port2).message};Me.exports={DOMException:Vp,structuredClone:Jp,subresource:Qp,forbiddenMethods:Dp,requestBodyHeader:Fc,referrerPolicy:xa,requestRedirect:Ha,requestMode:Jo,requestCredentials:tc,requestCache:dc,redirectStatus:aa,corsSafeListedMethods:Ci,nullBodyStatus:Ps,safeMethods:so,badPorts:ca,requestDuplex:Jc,subresourceSet:Up,badPortsSet:_a,redirectStatusSet:oa,corsSafeListedMethodsSet:ts,safeMethodsSet:oo,forbiddenMethodsSet:kp,referrerPolicySet:Ga}},94322:(Me,Bn,Hn)=>{const zn=Hn(42613);const{atob:ni}=Hn(20181);const{isomorphicDecode:Ci}=Hn(15523);const ts=new TextEncoder;const Ps=/^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;const aa=/(\u000A|\u000D|\u0009|\u0020)/;const oa=/[\u0009|\u0020-\u007E|\u0080-\u00FF]/;function dataURLProcessor(Me){zn(Me.protocol==="data:");let Bn=URLSerializer(Me,true);Bn=Bn.slice(5);const Hn={position:0};let ni=collectASequenceOfCodePointsFast(",",Bn,Hn);const ts=ni.length;ni=removeASCIIWhitespace(ni,true,true);if(Hn.position>=Bn.length){return"failure"}Hn.position++;const Ps=Bn.slice(ts+1);let aa=stringPercentDecode(Ps);if(/;(\u0020){0,}base64$/i.test(ni)){const Me=Ci(aa);aa=forgivingBase64(Me);if(aa==="failure"){return"failure"}ni=ni.slice(0,-6);ni=ni.replace(/(\u0020)+$/,"");ni=ni.slice(0,-1)}if(ni.startsWith(";")){ni="text/plain"+ni}let oa=parseMIMEType(ni);if(oa==="failure"){oa=parseMIMEType("text/plain;charset=US-ASCII")}return{mimeType:oa,body:aa}}function URLSerializer(Me,Bn=false){if(!Bn){return Me.href}const Hn=Me.href;const zn=Me.hash.length;return zn===0?Hn:Hn.substring(0,Hn.length-zn)}function collectASequenceOfCodePoints(Me,Bn,Hn){let zn="";while(Hn.positionMe.length){return"failure"}Bn.position++;let zn=collectASequenceOfCodePointsFast(";",Me,Bn);zn=removeHTTPWhitespace(zn,false,true);if(zn.length===0||!Ps.test(zn)){return"failure"}const ni=Hn.toLowerCase();const Ci=zn.toLowerCase();const ts={type:ni,subtype:Ci,parameters:new Map,essence:`${ni}/${Ci}`};while(Bn.positionaa.test(Me)),Me,Bn);let Hn=collectASequenceOfCodePoints((Me=>Me!==";"&&Me!=="="),Me,Bn);Hn=Hn.toLowerCase();if(Bn.positionMe.length){break}let zn=null;if(Me[Bn.position]==='"'){zn=collectAnHTTPQuotedString(Me,Bn,true);collectASequenceOfCodePointsFast(";",Me,Bn)}else{zn=collectASequenceOfCodePointsFast(";",Me,Bn);zn=removeHTTPWhitespace(zn,false,true);if(zn.length===0){continue}}if(Hn.length!==0&&Ps.test(Hn)&&(zn.length===0||oa.test(zn))&&!ts.parameters.has(Hn)){ts.parameters.set(Hn,zn)}}return ts}function forgivingBase64(Me){Me=Me.replace(/[\u0009\u000A\u000C\u000D\u0020]/g,"");if(Me.length%4===0){Me=Me.replace(/=?=$/,"")}if(Me.length%4===1){return"failure"}if(/[^+/0-9A-Za-z]/.test(Me)){return"failure"}const Bn=ni(Me);const Hn=new Uint8Array(Bn.length);for(let Me=0;MeMe!=='"'&&Me!=="\\"),Me,Bn);if(Bn.position>=Me.length){break}const Hn=Me[Bn.position];Bn.position++;if(Hn==="\\"){if(Bn.position>=Me.length){Ci+="\\";break}Ci+=Me[Bn.position];Bn.position++}else{zn(Hn==='"');break}}if(Hn){return Ci}return Me.slice(ni,Bn.position)}function serializeAMimeType(Me){zn(Me!=="failure");const{parameters:Bn,essence:Hn}=Me;let ni=Hn;for(let[Me,Hn]of Bn.entries()){ni+=";";ni+=Me;ni+="=";if(!Ps.test(Hn)){Hn=Hn.replace(/(\\|")/g,"\\$1");Hn='"'+Hn;Hn+='"'}ni+=Hn}return ni}function isHTTPWhiteSpace(Me){return Me==="\r"||Me==="\n"||Me==="\t"||Me===" "}function removeHTTPWhitespace(Me,Bn=true,Hn=true){let zn=0;let ni=Me.length-1;if(Bn){for(;zn0&&isHTTPWhiteSpace(Me[ni]);ni--);}return Me.slice(zn,ni+1)}function isASCIIWhitespace(Me){return Me==="\r"||Me==="\n"||Me==="\t"||Me==="\f"||Me===" "}function removeASCIIWhitespace(Me,Bn=true,Hn=true){let zn=0;let ni=Me.length-1;if(Bn){for(;zn0&&isASCIIWhitespace(Me[ni]);ni--);}return Me.slice(zn,ni+1)}Me.exports={dataURLProcessor:dataURLProcessor,URLSerializer:URLSerializer,collectASequenceOfCodePoints:collectASequenceOfCodePoints,collectASequenceOfCodePointsFast:collectASequenceOfCodePointsFast,stringPercentDecode:stringPercentDecode,parseMIMEType:parseMIMEType,collectAnHTTPQuotedString:collectAnHTTPQuotedString,serializeAMimeType:serializeAMimeType}},63041:(Me,Bn,Hn)=>{"use strict";const{Blob:zn,File:ni}=Hn(20181);const{types:Ci}=Hn(39023);const{kState:ts}=Hn(89710);const{isBlobLike:Ps}=Hn(15523);const{webidl:aa}=Hn(74222);const{parseMIMEType:oa,serializeAMimeType:ca}=Hn(94322);const{kEnumerableProperty:_a}=Hn(3440);const xa=new TextEncoder;class File extends zn{constructor(Me,Bn,Hn={}){aa.argumentLengthCheck(arguments,2,{header:"File constructor"});Me=aa.converters["sequence"](Me);Bn=aa.converters.USVString(Bn);Hn=aa.converters.FilePropertyBag(Hn);const zn=Bn;let ni=Hn.type;let Ci;e:{if(ni){ni=oa(ni);if(ni==="failure"){ni="";break e}ni=ca(ni).toLowerCase()}Ci=Hn.lastModified}super(processBlobParts(Me,Hn),{type:ni});this[ts]={name:zn,lastModified:Ci,type:ni}}get name(){aa.brandCheck(this,File);return this[ts].name}get lastModified(){aa.brandCheck(this,File);return this[ts].lastModified}get type(){aa.brandCheck(this,File);return this[ts].type}}class FileLike{constructor(Me,Bn,Hn={}){const zn=Bn;const ni=Hn.type;const Ci=Hn.lastModified??Date.now();this[ts]={blobLike:Me,name:zn,type:ni,lastModified:Ci}}stream(...Me){aa.brandCheck(this,FileLike);return this[ts].blobLike.stream(...Me)}arrayBuffer(...Me){aa.brandCheck(this,FileLike);return this[ts].blobLike.arrayBuffer(...Me)}slice(...Me){aa.brandCheck(this,FileLike);return this[ts].blobLike.slice(...Me)}text(...Me){aa.brandCheck(this,FileLike);return this[ts].blobLike.text(...Me)}get size(){aa.brandCheck(this,FileLike);return this[ts].blobLike.size}get type(){aa.brandCheck(this,FileLike);return this[ts].blobLike.type}get name(){aa.brandCheck(this,FileLike);return this[ts].name}get lastModified(){aa.brandCheck(this,FileLike);return this[ts].lastModified}get[Symbol.toStringTag](){return"File"}}Object.defineProperties(File.prototype,{[Symbol.toStringTag]:{value:"File",configurable:true},name:_a,lastModified:_a});aa.converters.Blob=aa.interfaceConverter(zn);aa.converters.BlobPart=function(Me,Bn){if(aa.util.Type(Me)==="Object"){if(Ps(Me)){return aa.converters.Blob(Me,{strict:false})}if(ArrayBuffer.isView(Me)||Ci.isAnyArrayBuffer(Me)){return aa.converters.BufferSource(Me,Bn)}}return aa.converters.USVString(Me,Bn)};aa.converters["sequence"]=aa.sequenceConverter(aa.converters.BlobPart);aa.converters.FilePropertyBag=aa.dictionaryConverter([{key:"lastModified",converter:aa.converters["long long"],get defaultValue(){return Date.now()}},{key:"type",converter:aa.converters.DOMString,defaultValue:""},{key:"endings",converter:Me=>{Me=aa.converters.DOMString(Me);Me=Me.toLowerCase();if(Me!=="native"){Me="transparent"}return Me},defaultValue:"transparent"}]);function processBlobParts(Me,Bn){const Hn=[];for(const zn of Me){if(typeof zn==="string"){let Me=zn;if(Bn.endings==="native"){Me=convertLineEndingsNative(Me)}Hn.push(xa.encode(Me))}else if(Ci.isAnyArrayBuffer(zn)||Ci.isTypedArray(zn)){if(!zn.buffer){Hn.push(new Uint8Array(zn))}else{Hn.push(new Uint8Array(zn.buffer,zn.byteOffset,zn.byteLength))}}else if(Ps(zn)){Hn.push(zn)}}return Hn}function convertLineEndingsNative(Me){let Bn="\n";if(process.platform==="win32"){Bn="\r\n"}return Me.replace(/\r?\n/g,Bn)}function isFileLike(Me){return ni&&Me instanceof ni||Me instanceof File||Me&&(typeof Me.stream==="function"||typeof Me.arrayBuffer==="function")&&Me[Symbol.toStringTag]==="File"}Me.exports={File:File,FileLike:FileLike,isFileLike:isFileLike}},43073:(Me,Bn,Hn)=>{"use strict";const{isBlobLike:zn,toUSVString:ni,makeIterator:Ci}=Hn(15523);const{kState:ts}=Hn(89710);const{File:Ps,FileLike:aa,isFileLike:oa}=Hn(63041);const{webidl:ca}=Hn(74222);const{Blob:_a,File:xa}=Hn(20181);const Ga=xa??Ps;class FormData{constructor(Me){if(Me!==undefined){throw ca.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}this[ts]=[]}append(Me,Bn,Hn=undefined){ca.brandCheck(this,FormData);ca.argumentLengthCheck(arguments,2,{header:"FormData.append"});if(arguments.length===3&&!zn(Bn)){throw new TypeError("Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'")}Me=ca.converters.USVString(Me);Bn=zn(Bn)?ca.converters.Blob(Bn,{strict:false}):ca.converters.USVString(Bn);Hn=arguments.length===3?ca.converters.USVString(Hn):undefined;const ni=makeEntry(Me,Bn,Hn);this[ts].push(ni)}delete(Me){ca.brandCheck(this,FormData);ca.argumentLengthCheck(arguments,1,{header:"FormData.delete"});Me=ca.converters.USVString(Me);this[ts]=this[ts].filter((Bn=>Bn.name!==Me))}get(Me){ca.brandCheck(this,FormData);ca.argumentLengthCheck(arguments,1,{header:"FormData.get"});Me=ca.converters.USVString(Me);const Bn=this[ts].findIndex((Bn=>Bn.name===Me));if(Bn===-1){return null}return this[ts][Bn].value}getAll(Me){ca.brandCheck(this,FormData);ca.argumentLengthCheck(arguments,1,{header:"FormData.getAll"});Me=ca.converters.USVString(Me);return this[ts].filter((Bn=>Bn.name===Me)).map((Me=>Me.value))}has(Me){ca.brandCheck(this,FormData);ca.argumentLengthCheck(arguments,1,{header:"FormData.has"});Me=ca.converters.USVString(Me);return this[ts].findIndex((Bn=>Bn.name===Me))!==-1}set(Me,Bn,Hn=undefined){ca.brandCheck(this,FormData);ca.argumentLengthCheck(arguments,2,{header:"FormData.set"});if(arguments.length===3&&!zn(Bn)){throw new TypeError("Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'")}Me=ca.converters.USVString(Me);Bn=zn(Bn)?ca.converters.Blob(Bn,{strict:false}):ca.converters.USVString(Bn);Hn=arguments.length===3?ni(Hn):undefined;const Ci=makeEntry(Me,Bn,Hn);const Ps=this[ts].findIndex((Bn=>Bn.name===Me));if(Ps!==-1){this[ts]=[...this[ts].slice(0,Ps),Ci,...this[ts].slice(Ps+1).filter((Bn=>Bn.name!==Me))]}else{this[ts].push(Ci)}}entries(){ca.brandCheck(this,FormData);return Ci((()=>this[ts].map((Me=>[Me.name,Me.value]))),"FormData","key+value")}keys(){ca.brandCheck(this,FormData);return Ci((()=>this[ts].map((Me=>[Me.name,Me.value]))),"FormData","key")}values(){ca.brandCheck(this,FormData);return Ci((()=>this[ts].map((Me=>[Me.name,Me.value]))),"FormData","value")}forEach(Me,Bn=globalThis){ca.brandCheck(this,FormData);ca.argumentLengthCheck(arguments,1,{header:"FormData.forEach"});if(typeof Me!=="function"){throw new TypeError("Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'.")}for(const[Hn,zn]of this){Me.apply(Bn,[zn,Hn,this])}}}FormData.prototype[Symbol.iterator]=FormData.prototype.entries;Object.defineProperties(FormData.prototype,{[Symbol.toStringTag]:{value:"FormData",configurable:true}});function makeEntry(Me,Bn,Hn){Me=Buffer.from(Me).toString("utf8");if(typeof Bn==="string"){Bn=Buffer.from(Bn).toString("utf8")}else{if(!oa(Bn)){Bn=Bn instanceof _a?new Ga([Bn],"blob",{type:Bn.type}):new aa(Bn,"blob",{type:Bn.type})}if(Hn!==undefined){const Me={type:Bn.type,lastModified:Bn.lastModified};Bn=xa&&Bn instanceof xa||Bn instanceof Ps?new Ga([Bn],Hn,Me):new aa(Bn,Hn,Me)}}return{name:Me,value:Bn}}Me.exports={FormData:FormData}},75628:Me=>{"use strict";const Bn=Symbol.for("undici.globalOrigin.1");function getGlobalOrigin(){return globalThis[Bn]}function setGlobalOrigin(Me){if(Me===undefined){Object.defineProperty(globalThis,Bn,{value:undefined,writable:true,enumerable:false,configurable:false});return}const Hn=new URL(Me);if(Hn.protocol!=="http:"&&Hn.protocol!=="https:"){throw new TypeError(`Only http & https urls are allowed, received ${Hn.protocol}`)}Object.defineProperty(globalThis,Bn,{value:Hn,writable:true,enumerable:false,configurable:false})}Me.exports={getGlobalOrigin:getGlobalOrigin,setGlobalOrigin:setGlobalOrigin}},26349:(Me,Bn,Hn)=>{"use strict";const{kHeadersList:zn,kConstruct:ni}=Hn(36443);const{kGuard:Ci}=Hn(89710);const{kEnumerableProperty:ts}=Hn(3440);const{makeIterator:Ps,isValidHeaderName:aa,isValidHeaderValue:oa}=Hn(15523);const ca=Hn(39023);const{webidl:_a}=Hn(74222);const xa=Hn(42613);const Ga=Symbol("headers map");const Ha=Symbol("headers map sorted");function isHTTPWhiteSpaceCharCode(Me){return Me===10||Me===13||Me===9||Me===32}function headerValueNormalize(Me){let Bn=0;let Hn=Me.length;while(Hn>Bn&&isHTTPWhiteSpaceCharCode(Me.charCodeAt(Hn-1)))--Hn;while(Hn>Bn&&isHTTPWhiteSpaceCharCode(Me.charCodeAt(Bn)))++Bn;return Bn===0&&Hn===Me.length?Me:Me.substring(Bn,Hn)}function fill(Me,Bn){if(Array.isArray(Bn)){for(let Hn=0;Hn>","record"]})}}function appendHeader(Me,Bn,Hn){Hn=headerValueNormalize(Hn);if(!aa(Bn)){throw _a.errors.invalidArgument({prefix:"Headers.append",value:Bn,type:"header name"})}else if(!oa(Hn)){throw _a.errors.invalidArgument({prefix:"Headers.append",value:Hn,type:"header value"})}if(Me[Ci]==="immutable"){throw new TypeError("immutable")}else if(Me[Ci]==="request-no-cors"){}return Me[zn].append(Bn,Hn)}class HeadersList{cookies=null;constructor(Me){if(Me instanceof HeadersList){this[Ga]=new Map(Me[Ga]);this[Ha]=Me[Ha];this.cookies=Me.cookies===null?null:[...Me.cookies]}else{this[Ga]=new Map(Me);this[Ha]=null}}contains(Me){Me=Me.toLowerCase();return this[Ga].has(Me)}clear(){this[Ga].clear();this[Ha]=null;this.cookies=null}append(Me,Bn){this[Ha]=null;const Hn=Me.toLowerCase();const zn=this[Ga].get(Hn);if(zn){const Me=Hn==="cookie"?"; ":", ";this[Ga].set(Hn,{name:zn.name,value:`${zn.value}${Me}${Bn}`})}else{this[Ga].set(Hn,{name:Me,value:Bn})}if(Hn==="set-cookie"){this.cookies??=[];this.cookies.push(Bn)}}set(Me,Bn){this[Ha]=null;const Hn=Me.toLowerCase();if(Hn==="set-cookie"){this.cookies=[Bn]}this[Ga].set(Hn,{name:Me,value:Bn})}delete(Me){this[Ha]=null;Me=Me.toLowerCase();if(Me==="set-cookie"){this.cookies=null}this[Ga].delete(Me)}get(Me){const Bn=this[Ga].get(Me.toLowerCase());return Bn===undefined?null:Bn.value}*[Symbol.iterator](){for(const[Me,{value:Bn}]of this[Ga]){yield[Me,Bn]}}get entries(){const Me={};if(this[Ga].size){for(const{name:Bn,value:Hn}of this[Ga].values()){Me[Bn]=Hn}}return Me}}class Headers{constructor(Me=undefined){if(Me===ni){return}this[zn]=new HeadersList;this[Ci]="none";if(Me!==undefined){Me=_a.converters.HeadersInit(Me);fill(this,Me)}}append(Me,Bn){_a.brandCheck(this,Headers);_a.argumentLengthCheck(arguments,2,{header:"Headers.append"});Me=_a.converters.ByteString(Me);Bn=_a.converters.ByteString(Bn);return appendHeader(this,Me,Bn)}delete(Me){_a.brandCheck(this,Headers);_a.argumentLengthCheck(arguments,1,{header:"Headers.delete"});Me=_a.converters.ByteString(Me);if(!aa(Me)){throw _a.errors.invalidArgument({prefix:"Headers.delete",value:Me,type:"header name"})}if(this[Ci]==="immutable"){throw new TypeError("immutable")}else if(this[Ci]==="request-no-cors"){}if(!this[zn].contains(Me)){return}this[zn].delete(Me)}get(Me){_a.brandCheck(this,Headers);_a.argumentLengthCheck(arguments,1,{header:"Headers.get"});Me=_a.converters.ByteString(Me);if(!aa(Me)){throw _a.errors.invalidArgument({prefix:"Headers.get",value:Me,type:"header name"})}return this[zn].get(Me)}has(Me){_a.brandCheck(this,Headers);_a.argumentLengthCheck(arguments,1,{header:"Headers.has"});Me=_a.converters.ByteString(Me);if(!aa(Me)){throw _a.errors.invalidArgument({prefix:"Headers.has",value:Me,type:"header name"})}return this[zn].contains(Me)}set(Me,Bn){_a.brandCheck(this,Headers);_a.argumentLengthCheck(arguments,2,{header:"Headers.set"});Me=_a.converters.ByteString(Me);Bn=_a.converters.ByteString(Bn);Bn=headerValueNormalize(Bn);if(!aa(Me)){throw _a.errors.invalidArgument({prefix:"Headers.set",value:Me,type:"header name"})}else if(!oa(Bn)){throw _a.errors.invalidArgument({prefix:"Headers.set",value:Bn,type:"header value"})}if(this[Ci]==="immutable"){throw new TypeError("immutable")}else if(this[Ci]==="request-no-cors"){}this[zn].set(Me,Bn)}getSetCookie(){_a.brandCheck(this,Headers);const Me=this[zn].cookies;if(Me){return[...Me]}return[]}get[Ha](){if(this[zn][Ha]){return this[zn][Ha]}const Me=[];const Bn=[...this[zn]].sort(((Me,Bn)=>Me[0]Me),"Headers","key")}return Ps((()=>[...this[Ha].values()]),"Headers","key")}values(){_a.brandCheck(this,Headers);if(this[Ci]==="immutable"){const Me=this[Ha];return Ps((()=>Me),"Headers","value")}return Ps((()=>[...this[Ha].values()]),"Headers","value")}entries(){_a.brandCheck(this,Headers);if(this[Ci]==="immutable"){const Me=this[Ha];return Ps((()=>Me),"Headers","key+value")}return Ps((()=>[...this[Ha].values()]),"Headers","key+value")}forEach(Me,Bn=globalThis){_a.brandCheck(this,Headers);_a.argumentLengthCheck(arguments,1,{header:"Headers.forEach"});if(typeof Me!=="function"){throw new TypeError("Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'.")}for(const[Hn,zn]of this){Me.apply(Bn,[zn,Hn,this])}}[Symbol.for("nodejs.util.inspect.custom")](){_a.brandCheck(this,Headers);return this[zn]}}Headers.prototype[Symbol.iterator]=Headers.prototype.entries;Object.defineProperties(Headers.prototype,{append:ts,delete:ts,get:ts,has:ts,set:ts,getSetCookie:ts,keys:ts,values:ts,entries:ts,forEach:ts,[Symbol.iterator]:{enumerable:false},[Symbol.toStringTag]:{value:"Headers",configurable:true},[ca.inspect.custom]:{enumerable:false}});_a.converters.HeadersInit=function(Me){if(_a.util.Type(Me)==="Object"){if(Me[Symbol.iterator]){return _a.converters["sequence>"](Me)}return _a.converters["record"](Me)}throw _a.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence>","record"]})};Me.exports={fill:fill,Headers:Headers,HeadersList:HeadersList}},12315:(Me,Bn,Hn)=>{"use strict";const{Response:zn,makeNetworkError:ni,makeAppropriateNetworkError:Ci,filterResponse:ts,makeResponse:Ps}=Hn(48676);const{Headers:aa}=Hn(26349);const{Request:oa,makeRequest:ca}=Hn(25194);const _a=Hn(43106);const{bytesMatch:xa,makePolicyContainer:Ga,clonePolicyContainer:Ha,requestBadPort:so,TAOCheck:oo,appendRequestOriginHeader:Jo,responseLocationURL:tc,requestCurrentURL:dc,setRequestReferrerPolicyOnRedirect:Fc,tryUpgradeRequestToAPotentiallyTrustworthyURL:Jc,createOpaqueTimingInfo:Dp,appendFetchMetadata:kp,corsCheck:Qp,crossOriginResourcePolicyCheck:Up,determineRequestsReferrer:Vp,coarsenedSharedCurrentTime:qp,createDeferredPromise:Jp,isBlobLike:Wp,sameOrigin:zp,isCancelled:Qf,isAborted:Yf,isErrorLike:Kf,fullyReadBody:Xf,readableStreamClose:Ad,isomorphicEncode:Cd,urlIsLocal:wd,urlIsHttpHttpsScheme:Sd,urlHasHttpsScheme:xd}=Hn(15523);const{kState:Td,kHeaders:Pd,kGuard:Qh,kRealm:Zh}=Hn(89710);const sA=Hn(42613);const{safelyExtractBody:oA}=Hn(8923);const{redirectStatusSet:hA,nullBodyStatus:eg,safeMethodsSet:tg,requestBodyHeader:rg,subresourceSet:ng,DOMException:ig}=Hn(87326);const{kHeadersList:sg}=Hn(36443);const ag=Hn(24434);const{Readable:og,pipeline:ug}=Hn(2203);const{addAbortListener:cg,isErrored:lg,isReadable:pg,nodeMajor:fg,nodeMinor:dg}=Hn(3440);const{dataURLProcessor:hg,serializeAMimeType:Ag}=Hn(94322);const{TransformStream:mg}=Hn(63774);const{getGlobalDispatcher:gg}=Hn(32581);const{webidl:_g}=Hn(74222);const{STATUS_CODES:yg}=Hn(58611);const vg=["GET","HEAD"];let Eg;let bg=globalThis.ReadableStream;class Fetch extends ag{constructor(Me){super();this.dispatcher=Me;this.connection=null;this.dump=false;this.state="ongoing";this.setMaxListeners(21)}terminate(Me){if(this.state!=="ongoing"){return}this.state="terminated";this.connection?.destroy(Me);this.emit("terminated",Me)}abort(Me){if(this.state!=="ongoing"){return}this.state="aborted";if(!Me){Me=new ig("The operation was aborted.","AbortError")}this.serializedAbortReason=Me;this.connection?.destroy(Me);this.emit("terminated",Me)}}function fetch(Me,Bn={}){_g.argumentLengthCheck(arguments,1,{header:"globalThis.fetch"});const Hn=Jp();let ni;try{ni=new oa(Me,Bn)}catch(Me){Hn.reject(Me);return Hn.promise}const Ci=ni[Td];if(ni.signal.aborted){abortFetch(Hn,Ci,null,ni.signal.reason);return Hn.promise}const ts=Ci.client.globalObject;if(ts?.constructor?.name==="ServiceWorkerGlobalScope"){Ci.serviceWorkers="none"}let Ps=null;const aa=null;let ca=false;let _a=null;cg(ni.signal,(()=>{ca=true;sA(_a!=null);_a.abort(ni.signal.reason);abortFetch(Hn,Ci,Ps,ni.signal.reason)}));const handleFetchDone=Me=>finalizeAndReportTiming(Me,"fetch");const processResponse=Me=>{if(ca){return Promise.resolve()}if(Me.aborted){abortFetch(Hn,Ci,Ps,_a.serializedAbortReason);return Promise.resolve()}if(Me.type==="error"){Hn.reject(Object.assign(new TypeError("fetch failed"),{cause:Me.error}));return Promise.resolve()}Ps=new zn;Ps[Td]=Me;Ps[Zh]=aa;Ps[Pd][sg]=Me.headersList;Ps[Pd][Qh]="immutable";Ps[Pd][Zh]=aa;Hn.resolve(Ps)};_a=fetching({request:Ci,processResponseEndOfBody:handleFetchDone,processResponse:processResponse,dispatcher:Bn.dispatcher??gg()});return Hn.promise}function finalizeAndReportTiming(Me,Bn="other"){if(Me.type==="error"&&Me.aborted){return}if(!Me.urlList?.length){return}const Hn=Me.urlList[0];let zn=Me.timingInfo;let ni=Me.cacheState;if(!Sd(Hn)){return}if(zn===null){return}if(!Me.timingAllowPassed){zn=Dp({startTime:zn.startTime});ni=""}zn.endTime=qp();Me.timingInfo=zn;markResourceTiming(zn,Hn,Bn,globalThis,ni)}function markResourceTiming(Me,Bn,Hn,zn,ni){if(fg>18||fg===18&&dg>=2){performance.markResourceTiming(Me,Bn.href,Hn,zn,ni)}}function abortFetch(Me,Bn,Hn,zn){if(!zn){zn=new ig("The operation was aborted.","AbortError")}Me.reject(zn);if(Bn.body!=null&&pg(Bn.body?.stream)){Bn.body.stream.cancel(zn).catch((Me=>{if(Me.code==="ERR_INVALID_STATE"){return}throw Me}))}if(Hn==null){return}const ni=Hn[Td];if(ni.body!=null&&pg(ni.body?.stream)){ni.body.stream.cancel(zn).catch((Me=>{if(Me.code==="ERR_INVALID_STATE"){return}throw Me}))}}function fetching({request:Me,processRequestBodyChunkLength:Bn,processRequestEndOfBody:Hn,processResponse:zn,processResponseEndOfBody:ni,processResponseConsumeBody:Ci,useParallelQueue:ts=false,dispatcher:Ps}){let aa=null;let oa=false;if(Me.client!=null){aa=Me.client.globalObject;oa=Me.client.crossOriginIsolatedCapability}const ca=qp(oa);const _a=Dp({startTime:ca});const xa={controller:new Fetch(Ps),request:Me,timingInfo:_a,processRequestBodyChunkLength:Bn,processRequestEndOfBody:Hn,processResponse:zn,processResponseConsumeBody:Ci,processResponseEndOfBody:ni,taskDestination:aa,crossOriginIsolatedCapability:oa};sA(!Me.body||Me.body.stream);if(Me.window==="client"){Me.window=Me.client?.globalObject?.constructor?.name==="Window"?Me.client:"no-window"}if(Me.origin==="client"){Me.origin=Me.client?.origin}if(Me.policyContainer==="client"){if(Me.client!=null){Me.policyContainer=Ha(Me.client.policyContainer)}else{Me.policyContainer=Ga()}}if(!Me.headersList.contains("accept")){const Bn="*/*";Me.headersList.append("accept",Bn)}if(!Me.headersList.contains("accept-language")){Me.headersList.append("accept-language","*")}if(Me.priority===null){}if(ng.has(Me.destination)){}mainFetch(xa).catch((Me=>{xa.controller.terminate(Me)}));return xa.controller}async function mainFetch(Me,Bn=false){const Hn=Me.request;let zn=null;if(Hn.localURLsOnly&&!wd(dc(Hn))){zn=ni("local URLs only")}Jc(Hn);if(so(Hn)==="blocked"){zn=ni("bad port")}if(Hn.referrerPolicy===""){Hn.referrerPolicy=Hn.policyContainer.referrerPolicy}if(Hn.referrer!=="no-referrer"){Hn.referrer=Vp(Hn)}if(zn===null){zn=await(async()=>{const Bn=dc(Hn);if(zp(Bn,Hn.url)&&Hn.responseTainting==="basic"||Bn.protocol==="data:"||(Hn.mode==="navigate"||Hn.mode==="websocket")){Hn.responseTainting="basic";return await schemeFetch(Me)}if(Hn.mode==="same-origin"){return ni('request mode cannot be "same-origin"')}if(Hn.mode==="no-cors"){if(Hn.redirect!=="follow"){return ni('redirect mode cannot be "follow" for "no-cors" request')}Hn.responseTainting="opaque";return await schemeFetch(Me)}if(!Sd(dc(Hn))){return ni("URL scheme must be a HTTP(S) scheme")}Hn.responseTainting="cors";return await httpFetch(Me)})()}if(Bn){return zn}if(zn.status!==0&&!zn.internalResponse){if(Hn.responseTainting==="cors"){}if(Hn.responseTainting==="basic"){zn=ts(zn,"basic")}else if(Hn.responseTainting==="cors"){zn=ts(zn,"cors")}else if(Hn.responseTainting==="opaque"){zn=ts(zn,"opaque")}else{sA(false)}}let Ci=zn.status===0?zn:zn.internalResponse;if(Ci.urlList.length===0){Ci.urlList.push(...Hn.urlList)}if(!Hn.timingAllowFailed){zn.timingAllowPassed=true}if(zn.type==="opaque"&&Ci.status===206&&Ci.rangeRequested&&!Hn.headers.contains("range")){zn=Ci=ni()}if(zn.status!==0&&(Hn.method==="HEAD"||Hn.method==="CONNECT"||eg.includes(Ci.status))){Ci.body=null;Me.controller.dump=true}if(Hn.integrity){const processBodyError=Bn=>fetchFinale(Me,ni(Bn));if(Hn.responseTainting==="opaque"||zn.body==null){processBodyError(zn.error);return}const processBody=Bn=>{if(!xa(Bn,Hn.integrity)){processBodyError("integrity mismatch");return}zn.body=oA(Bn)[0];fetchFinale(Me,zn)};await Xf(zn.body,processBody,processBodyError)}else{fetchFinale(Me,zn)}}function schemeFetch(Me){if(Qf(Me)&&Me.request.redirectCount===0){return Promise.resolve(Ci(Me))}const{request:Bn}=Me;const{protocol:zn}=dc(Bn);switch(zn){case"about:":{return Promise.resolve(ni("about scheme is not supported"))}case"blob:":{if(!Eg){Eg=Hn(20181).resolveObjectURL}const Me=dc(Bn);if(Me.search.length!==0){return Promise.resolve(ni("NetworkError when attempting to fetch resource."))}const zn=Eg(Me.toString());if(Bn.method!=="GET"||!Wp(zn)){return Promise.resolve(ni("invalid method"))}const Ci=oA(zn);const ts=Ci[0];const aa=Cd(`${ts.length}`);const oa=Ci[1]??"";const ca=Ps({statusText:"OK",headersList:[["content-length",{name:"Content-Length",value:aa}],["content-type",{name:"Content-Type",value:oa}]]});ca.body=ts;return Promise.resolve(ca)}case"data:":{const Me=dc(Bn);const Hn=hg(Me);if(Hn==="failure"){return Promise.resolve(ni("failed to fetch the data URL"))}const zn=Ag(Hn.mimeType);return Promise.resolve(Ps({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:zn}]],body:oA(Hn.body)[0]}))}case"file:":{return Promise.resolve(ni("not implemented... yet..."))}case"http:":case"https:":{return httpFetch(Me).catch((Me=>ni(Me)))}default:{return Promise.resolve(ni("unknown scheme"))}}}function finalizeResponse(Me,Bn){Me.request.done=true;if(Me.processResponseDone!=null){queueMicrotask((()=>Me.processResponseDone(Bn)))}}function fetchFinale(Me,Bn){if(Bn.type==="error"){Bn.urlList=[Me.request.urlList[0]];Bn.timingInfo=Dp({startTime:Me.timingInfo.startTime})}const processResponseEndOfBody=()=>{Me.request.done=true;if(Me.processResponseEndOfBody!=null){queueMicrotask((()=>Me.processResponseEndOfBody(Bn)))}};if(Me.processResponse!=null){queueMicrotask((()=>Me.processResponse(Bn)))}if(Bn.body==null){processResponseEndOfBody()}else{const identityTransformAlgorithm=(Me,Bn)=>{Bn.enqueue(Me)};const Me=new mg({start(){},transform:identityTransformAlgorithm,flush:processResponseEndOfBody},{size(){return 1}},{size(){return 1}});Bn.body={stream:Bn.body.stream.pipeThrough(Me)}}if(Me.processResponseConsumeBody!=null){const processBody=Hn=>Me.processResponseConsumeBody(Bn,Hn);const processBodyError=Hn=>Me.processResponseConsumeBody(Bn,Hn);if(Bn.body==null){queueMicrotask((()=>processBody(null)))}else{return Xf(Bn.body,processBody,processBodyError)}return Promise.resolve()}}async function httpFetch(Me){const Bn=Me.request;let Hn=null;let zn=null;const Ci=Me.timingInfo;if(Bn.serviceWorkers==="all"){}if(Hn===null){if(Bn.redirect==="follow"){Bn.serviceWorkers="none"}zn=Hn=await httpNetworkOrCacheFetch(Me);if(Bn.responseTainting==="cors"&&Qp(Bn,Hn)==="failure"){return ni("cors failure")}if(oo(Bn,Hn)==="failure"){Bn.timingAllowFailed=true}}if((Bn.responseTainting==="opaque"||Hn.type==="opaque")&&Up(Bn.origin,Bn.client,Bn.destination,zn)==="blocked"){return ni("blocked")}if(hA.has(zn.status)){if(Bn.redirect!=="manual"){Me.controller.connection.destroy()}if(Bn.redirect==="error"){Hn=ni("unexpected redirect")}else if(Bn.redirect==="manual"){Hn=zn}else if(Bn.redirect==="follow"){Hn=await httpRedirectFetch(Me,Hn)}else{sA(false)}}Hn.timingInfo=Ci;return Hn}function httpRedirectFetch(Me,Bn){const Hn=Me.request;const zn=Bn.internalResponse?Bn.internalResponse:Bn;let Ci;try{Ci=tc(zn,dc(Hn).hash);if(Ci==null){return Bn}}catch(Me){return Promise.resolve(ni(Me))}if(!Sd(Ci)){return Promise.resolve(ni("URL scheme must be a HTTP(S) scheme"))}if(Hn.redirectCount===20){return Promise.resolve(ni("redirect count exceeded"))}Hn.redirectCount+=1;if(Hn.mode==="cors"&&(Ci.username||Ci.password)&&!zp(Hn,Ci)){return Promise.resolve(ni('cross origin not allowed for request mode "cors"'))}if(Hn.responseTainting==="cors"&&(Ci.username||Ci.password)){return Promise.resolve(ni('URL cannot contain credentials for request mode "cors"'))}if(zn.status!==303&&Hn.body!=null&&Hn.body.source==null){return Promise.resolve(ni())}if([301,302].includes(zn.status)&&Hn.method==="POST"||zn.status===303&&!vg.includes(Hn.method)){Hn.method="GET";Hn.body=null;for(const Me of rg){Hn.headersList.delete(Me)}}if(!zp(dc(Hn),Ci)){Hn.headersList.delete("authorization");Hn.headersList.delete("proxy-authorization",true);Hn.headersList.delete("cookie");Hn.headersList.delete("host")}if(Hn.body!=null){sA(Hn.body.source!=null);Hn.body=oA(Hn.body.source)[0]}const ts=Me.timingInfo;ts.redirectEndTime=ts.postRedirectStartTime=qp(Me.crossOriginIsolatedCapability);if(ts.redirectStartTime===0){ts.redirectStartTime=ts.startTime}Hn.urlList.push(Ci);Fc(Hn,zn);return mainFetch(Me,true)}async function httpNetworkOrCacheFetch(Me,Bn=false,Hn=false){const zn=Me.request;let ts=null;let Ps=null;let aa=null;const oa=null;const _a=false;if(zn.window==="no-window"&&zn.redirect==="error"){ts=Me;Ps=zn}else{Ps=ca(zn);ts={...Me};ts.request=Ps}const xa=zn.credentials==="include"||zn.credentials==="same-origin"&&zn.responseTainting==="basic";const Ga=Ps.body?Ps.body.length:null;let Ha=null;if(Ps.body==null&&["POST","PUT"].includes(Ps.method)){Ha="0"}if(Ga!=null){Ha=Cd(`${Ga}`)}if(Ha!=null){Ps.headersList.append("content-length",Ha)}if(Ga!=null&&Ps.keepalive){}if(Ps.referrer instanceof URL){Ps.headersList.append("referer",Cd(Ps.referrer.href))}Jo(Ps);kp(Ps);if(!Ps.headersList.contains("user-agent")){Ps.headersList.append("user-agent",typeof esbuildDetection==="undefined"?"undici":"node")}if(Ps.cache==="default"&&(Ps.headersList.contains("if-modified-since")||Ps.headersList.contains("if-none-match")||Ps.headersList.contains("if-unmodified-since")||Ps.headersList.contains("if-match")||Ps.headersList.contains("if-range"))){Ps.cache="no-store"}if(Ps.cache==="no-cache"&&!Ps.preventNoCacheCacheControlHeaderModification&&!Ps.headersList.contains("cache-control")){Ps.headersList.append("cache-control","max-age=0")}if(Ps.cache==="no-store"||Ps.cache==="reload"){if(!Ps.headersList.contains("pragma")){Ps.headersList.append("pragma","no-cache")}if(!Ps.headersList.contains("cache-control")){Ps.headersList.append("cache-control","no-cache")}}if(Ps.headersList.contains("range")){Ps.headersList.append("accept-encoding","identity")}if(!Ps.headersList.contains("accept-encoding")){if(xd(dc(Ps))){Ps.headersList.append("accept-encoding","br, gzip, deflate")}else{Ps.headersList.append("accept-encoding","gzip, deflate")}}Ps.headersList.delete("host");if(xa){}if(oa==null){Ps.cache="no-store"}if(Ps.mode!=="no-store"&&Ps.mode!=="reload"){}if(aa==null){if(Ps.mode==="only-if-cached"){return ni("only if cached")}const Me=await httpNetworkFetch(ts,xa,Hn);if(!tg.has(Ps.method)&&Me.status>=200&&Me.status<=399){}if(_a&&Me.status===304){}if(aa==null){aa=Me}}aa.urlList=[...Ps.urlList];if(Ps.headersList.contains("range")){aa.rangeRequested=true}aa.requestIncludesCredentials=xa;if(aa.status===407){if(zn.window==="no-window"){return ni()}if(Qf(Me)){return Ci(Me)}return ni("proxy authentication required")}if(aa.status===421&&!Hn&&(zn.body==null||zn.body.source!=null)){if(Qf(Me)){return Ci(Me)}Me.controller.connection.destroy();aa=await httpNetworkOrCacheFetch(Me,Bn,true)}if(Bn){}return aa}async function httpNetworkFetch(Me,Bn=false,zn=false){sA(!Me.controller.connection||Me.controller.connection.destroyed);Me.controller.connection={abort:null,destroyed:false,destroy(Me){if(!this.destroyed){this.destroyed=true;this.abort?.(Me??new ig("The operation was aborted.","AbortError"))}}};const ts=Me.request;let oa=null;const ca=Me.timingInfo;const xa=null;if(xa==null){ts.cache="no-store"}const Ga=zn?"yes":"no";if(ts.mode==="websocket"){}else{}let Ha=null;if(ts.body==null&&Me.processRequestEndOfBody){queueMicrotask((()=>Me.processRequestEndOfBody()))}else if(ts.body!=null){const processBodyChunk=async function*(Bn){if(Qf(Me)){return}yield Bn;Me.processRequestBodyChunkLength?.(Bn.byteLength)};const processEndOfBody=()=>{if(Qf(Me)){return}if(Me.processRequestEndOfBody){Me.processRequestEndOfBody()}};const processBodyError=Bn=>{if(Qf(Me)){return}if(Bn.name==="AbortError"){Me.controller.abort()}else{Me.controller.terminate(Bn)}};Ha=async function*(){try{for await(const Me of ts.body.stream){yield*processBodyChunk(Me)}processEndOfBody()}catch(Me){processBodyError(Me)}}()}try{const{body:Bn,status:Hn,statusText:zn,headersList:ni,socket:Ci}=await dispatch({body:Ha});if(Ci){oa=Ps({status:Hn,statusText:zn,headersList:ni,socket:Ci})}else{const Ci=Bn[Symbol.asyncIterator]();Me.controller.next=()=>Ci.next();oa=Ps({status:Hn,statusText:zn,headersList:ni})}}catch(Bn){if(Bn.name==="AbortError"){Me.controller.connection.destroy();return Ci(Me,Bn)}return ni(Bn)}const pullAlgorithm=()=>{Me.controller.resume()};const cancelAlgorithm=Bn=>{Me.controller.abort(Bn)};if(!bg){bg=Hn(63774).ReadableStream}const so=new bg({async start(Bn){Me.controller.controller=Bn},async pull(Me){await pullAlgorithm(Me)},async cancel(Me){await cancelAlgorithm(Me)}},{highWaterMark:0,size(){return 1}});oa.body={stream:so};Me.controller.on("terminated",onAborted);Me.controller.resume=async()=>{while(true){let Bn;let Hn;try{const{done:Hn,value:zn}=await Me.controller.next();if(Yf(Me)){break}Bn=Hn?undefined:zn}catch(zn){if(Me.controller.ended&&!ca.encodedBodySize){Bn=undefined}else{Bn=zn;Hn=true}}if(Bn===undefined){Ad(Me.controller.controller);finalizeResponse(Me,oa);return}ca.decodedBodySize+=Bn?.byteLength??0;if(Hn){Me.controller.terminate(Bn);return}Me.controller.controller.enqueue(new Uint8Array(Bn));if(lg(so)){Me.controller.terminate();return}if(!Me.controller.controller.desiredSize){return}}};function onAborted(Bn){if(Yf(Me)){oa.aborted=true;if(pg(so)){Me.controller.controller.error(Me.controller.serializedAbortReason)}}else{if(pg(so)){Me.controller.controller.error(new TypeError("terminated",{cause:Kf(Bn)?Bn:undefined}))}}Me.controller.connection.destroy()}return oa;async function dispatch({body:Bn}){const Hn=dc(ts);const zn=Me.controller.dispatcher;return new Promise(((ni,Ci)=>zn.dispatch({path:Hn.pathname+Hn.search,origin:Hn.origin,method:ts.method,body:Me.controller.dispatcher.isMockActive?ts.body&&(ts.body.source||ts.body.stream):Bn,headers:ts.headersList.entries,maxRedirections:0,upgrade:ts.mode==="websocket"?"websocket":undefined},{body:null,abort:null,onConnect(Bn){const{connection:Hn}=Me.controller;if(Hn.destroyed){Bn(new ig("The operation was aborted.","AbortError"))}else{Me.controller.on("terminated",Bn);this.abort=Hn.abort=Bn}},onHeaders(Me,Bn,Hn,zn){if(Me<200){return}let Ci=[];let Ps="";const oa=new aa;if(Array.isArray(Bn)){for(let Me=0;MeMe.trim()))}else if(Hn.toLowerCase()==="location"){Ps=zn}oa[sg].append(Hn,zn)}}else{const Me=Object.keys(Bn);for(const Hn of Me){const Me=Bn[Hn];if(Hn.toLowerCase()==="content-encoding"){Ci=Me.toLowerCase().split(",").map((Me=>Me.trim())).reverse()}else if(Hn.toLowerCase()==="location"){Ps=Me}oa[sg].append(Hn,Me)}}this.body=new og({read:Hn});const ca=[];const xa=ts.redirect==="follow"&&Ps&&hA.has(Me);if(ts.method!=="HEAD"&&ts.method!=="CONNECT"&&!eg.includes(Me)&&!xa){for(const Me of Ci){if(Me==="x-gzip"||Me==="gzip"){ca.push(_a.createGunzip({flush:_a.constants.Z_SYNC_FLUSH,finishFlush:_a.constants.Z_SYNC_FLUSH}))}else if(Me==="deflate"){ca.push(_a.createInflate())}else if(Me==="br"){ca.push(_a.createBrotliDecompress())}else{ca.length=0;break}}}ni({status:Me,statusText:zn,headersList:oa[sg],body:ca.length?ug(this.body,...ca,(()=>{})):this.body.on("error",(()=>{}))});return true},onData(Bn){if(Me.controller.dump){return}const Hn=Bn;ca.encodedBodySize+=Hn.byteLength;return this.body.push(Hn)},onComplete(){if(this.abort){Me.controller.off("terminated",this.abort)}Me.controller.ended=true;this.body.push(null)},onError(Bn){if(this.abort){Me.controller.off("terminated",this.abort)}this.body?.destroy(Bn);Me.controller.terminate(Bn);Ci(Bn)},onUpgrade(Me,Bn,Hn){if(Me!==101){return}const zn=new aa;for(let Me=0;Me{"use strict";const{extractBody:zn,mixinBody:ni,cloneBody:Ci}=Hn(8923);const{Headers:ts,fill:Ps,HeadersList:aa}=Hn(26349);const{FinalizationRegistry:oa}=Hn(13194)();const ca=Hn(3440);const{isValidHTTPToken:_a,sameOrigin:xa,normalizeMethod:Ga,makePolicyContainer:Ha,normalizeMethodRecord:so}=Hn(15523);const{forbiddenMethodsSet:oo,corsSafeListedMethodsSet:Jo,referrerPolicy:tc,requestRedirect:dc,requestMode:Fc,requestCredentials:Jc,requestCache:Dp,requestDuplex:kp}=Hn(87326);const{kEnumerableProperty:Qp}=ca;const{kHeaders:Up,kSignal:Vp,kState:qp,kGuard:Jp,kRealm:Wp}=Hn(89710);const{webidl:zp}=Hn(74222);const{getGlobalOrigin:Qf}=Hn(75628);const{URLSerializer:Yf}=Hn(94322);const{kHeadersList:Kf,kConstruct:Xf}=Hn(36443);const Ad=Hn(42613);const{getMaxListeners:Cd,setMaxListeners:wd,getEventListeners:Sd,defaultMaxListeners:xd}=Hn(24434);let Td=globalThis.TransformStream;const Pd=Symbol("abortController");const Qh=new oa((({signal:Me,abort:Bn})=>{Me.removeEventListener("abort",Bn)}));class Request{constructor(Me,Bn={}){if(Me===Xf){return}zp.argumentLengthCheck(arguments,1,{header:"Request constructor"});Me=zp.converters.RequestInfo(Me);Bn=zp.converters.RequestInit(Bn);this[Wp]={settingsObject:{baseUrl:Qf(),get origin(){return this.baseUrl?.origin},policyContainer:Ha()}};let ni=null;let Ci=null;const oa=this[Wp].settingsObject.baseUrl;let tc=null;if(typeof Me==="string"){let Bn;try{Bn=new URL(Me,oa)}catch(Bn){throw new TypeError("Failed to parse URL from "+Me,{cause:Bn})}if(Bn.username||Bn.password){throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+Me)}ni=makeRequest({urlList:[Bn]});Ci="cors"}else{Ad(Me instanceof Request);ni=Me[qp];tc=Me[Vp]}const dc=this[Wp].settingsObject.origin;let Fc="client";if(ni.window?.constructor?.name==="EnvironmentSettingsObject"&&xa(ni.window,dc)){Fc=ni.window}if(Bn.window!=null){throw new TypeError(`'window' option '${Fc}' must be null`)}if("window"in Bn){Fc="no-window"}ni=makeRequest({method:ni.method,headersList:ni.headersList,unsafeRequest:ni.unsafeRequest,client:this[Wp].settingsObject,window:Fc,priority:ni.priority,origin:ni.origin,referrer:ni.referrer,referrerPolicy:ni.referrerPolicy,mode:ni.mode,credentials:ni.credentials,cache:ni.cache,redirect:ni.redirect,integrity:ni.integrity,keepalive:ni.keepalive,reloadNavigation:ni.reloadNavigation,historyNavigation:ni.historyNavigation,urlList:[...ni.urlList]});const Jc=Object.keys(Bn).length!==0;if(Jc){if(ni.mode==="navigate"){ni.mode="same-origin"}ni.reloadNavigation=false;ni.historyNavigation=false;ni.origin="client";ni.referrer="client";ni.referrerPolicy="";ni.url=ni.urlList[ni.urlList.length-1];ni.urlList=[ni.url]}if(Bn.referrer!==undefined){const Me=Bn.referrer;if(Me===""){ni.referrer="no-referrer"}else{let Bn;try{Bn=new URL(Me,oa)}catch(Bn){throw new TypeError(`Referrer "${Me}" is not a valid URL.`,{cause:Bn})}if(Bn.protocol==="about:"&&Bn.hostname==="client"||dc&&!xa(Bn,this[Wp].settingsObject.baseUrl)){ni.referrer="client"}else{ni.referrer=Bn}}}if(Bn.referrerPolicy!==undefined){ni.referrerPolicy=Bn.referrerPolicy}let Dp;if(Bn.mode!==undefined){Dp=Bn.mode}else{Dp=Ci}if(Dp==="navigate"){throw zp.errors.exception({header:"Request constructor",message:"invalid request mode navigate."})}if(Dp!=null){ni.mode=Dp}if(Bn.credentials!==undefined){ni.credentials=Bn.credentials}if(Bn.cache!==undefined){ni.cache=Bn.cache}if(ni.cache==="only-if-cached"&&ni.mode!=="same-origin"){throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode")}if(Bn.redirect!==undefined){ni.redirect=Bn.redirect}if(Bn.integrity!=null){ni.integrity=String(Bn.integrity)}if(Bn.keepalive!==undefined){ni.keepalive=Boolean(Bn.keepalive)}if(Bn.method!==undefined){let Me=Bn.method;if(!_a(Me)){throw new TypeError(`'${Me}' is not a valid HTTP method.`)}if(oo.has(Me.toUpperCase())){throw new TypeError(`'${Me}' HTTP method is unsupported.`)}Me=so[Me]??Ga(Me);ni.method=Me}if(Bn.signal!==undefined){tc=Bn.signal}this[qp]=ni;const kp=new AbortController;this[Vp]=kp.signal;this[Vp][Wp]=this[Wp];if(tc!=null){if(!tc||typeof tc.aborted!=="boolean"||typeof tc.addEventListener!=="function"){throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal.")}if(tc.aborted){kp.abort(tc.reason)}else{this[Pd]=kp;const Me=new WeakRef(kp);const abort=function(){const Bn=Me.deref();if(Bn!==undefined){Bn.abort(this.reason)}};try{if(typeof Cd==="function"&&Cd(tc)===xd){wd(100,tc)}else if(Sd(tc,"abort").length>=xd){wd(100,tc)}}catch{}ca.addAbortListener(tc,abort);Qh.register(kp,{signal:tc,abort:abort})}}this[Up]=new ts(Xf);this[Up][Kf]=ni.headersList;this[Up][Jp]="request";this[Up][Wp]=this[Wp];if(Dp==="no-cors"){if(!Jo.has(ni.method)){throw new TypeError(`'${ni.method} is unsupported in no-cors mode.`)}this[Up][Jp]="request-no-cors"}if(Jc){const Me=this[Up][Kf];const Hn=Bn.headers!==undefined?Bn.headers:new aa(Me);Me.clear();if(Hn instanceof aa){for(const[Bn,zn]of Hn){Me.append(Bn,zn)}Me.cookies=Hn.cookies}else{Ps(this[Up],Hn)}}const Qp=Me instanceof Request?Me[qp].body:null;if((Bn.body!=null||Qp!=null)&&(ni.method==="GET"||ni.method==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body.")}let Yf=null;if(Bn.body!=null){const[Me,Hn]=zn(Bn.body,ni.keepalive);Yf=Me;if(Hn&&!this[Up][Kf].contains("content-type")){this[Up].append("content-type",Hn)}}const Zh=Yf??Qp;if(Zh!=null&&Zh.source==null){if(Yf!=null&&Bn.duplex==null){throw new TypeError("RequestInit: duplex option is required when sending a body.")}if(ni.mode!=="same-origin"&&ni.mode!=="cors"){throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"')}ni.useCORSPreflightFlag=true}let sA=Zh;if(Yf==null&&Qp!=null){if(ca.isDisturbed(Qp.stream)||Qp.stream.locked){throw new TypeError("Cannot construct a Request with a Request object that has already been used.")}if(!Td){Td=Hn(63774).TransformStream}const Me=new Td;Qp.stream.pipeThrough(Me);sA={source:Qp.source,length:Qp.length,stream:Me.readable}}this[qp].body=sA}get method(){zp.brandCheck(this,Request);return this[qp].method}get url(){zp.brandCheck(this,Request);return Yf(this[qp].url)}get headers(){zp.brandCheck(this,Request);return this[Up]}get destination(){zp.brandCheck(this,Request);return this[qp].destination}get referrer(){zp.brandCheck(this,Request);if(this[qp].referrer==="no-referrer"){return""}if(this[qp].referrer==="client"){return"about:client"}return this[qp].referrer.toString()}get referrerPolicy(){zp.brandCheck(this,Request);return this[qp].referrerPolicy}get mode(){zp.brandCheck(this,Request);return this[qp].mode}get credentials(){return this[qp].credentials}get cache(){zp.brandCheck(this,Request);return this[qp].cache}get redirect(){zp.brandCheck(this,Request);return this[qp].redirect}get integrity(){zp.brandCheck(this,Request);return this[qp].integrity}get keepalive(){zp.brandCheck(this,Request);return this[qp].keepalive}get isReloadNavigation(){zp.brandCheck(this,Request);return this[qp].reloadNavigation}get isHistoryNavigation(){zp.brandCheck(this,Request);return this[qp].historyNavigation}get signal(){zp.brandCheck(this,Request);return this[Vp]}get body(){zp.brandCheck(this,Request);return this[qp].body?this[qp].body.stream:null}get bodyUsed(){zp.brandCheck(this,Request);return!!this[qp].body&&ca.isDisturbed(this[qp].body.stream)}get duplex(){zp.brandCheck(this,Request);return"half"}clone(){zp.brandCheck(this,Request);if(this.bodyUsed||this.body?.locked){throw new TypeError("unusable")}const Me=cloneRequest(this[qp]);const Bn=new Request(Xf);Bn[qp]=Me;Bn[Wp]=this[Wp];Bn[Up]=new ts(Xf);Bn[Up][Kf]=Me.headersList;Bn[Up][Jp]=this[Up][Jp];Bn[Up][Wp]=this[Up][Wp];const Hn=new AbortController;if(this.signal.aborted){Hn.abort(this.signal.reason)}else{ca.addAbortListener(this.signal,(()=>{Hn.abort(this.signal.reason)}))}Bn[Vp]=Hn.signal;return Bn}}ni(Request);function makeRequest(Me){const Bn={method:"GET",localURLsOnly:false,unsafeRequest:false,body:null,client:null,reservedClient:null,replacesClientId:"",window:"client",keepalive:false,serviceWorkers:"all",initiator:"",destination:"",priority:null,origin:"client",policyContainer:"client",referrer:"client",referrerPolicy:"",mode:"no-cors",useCORSPreflightFlag:false,credentials:"same-origin",useCredentials:false,cache:"default",redirect:"follow",integrity:"",cryptoGraphicsNonceMetadata:"",parserMetadata:"",reloadNavigation:false,historyNavigation:false,userActivation:false,taintedOrigin:false,redirectCount:0,responseTainting:"basic",preventNoCacheCacheControlHeaderModification:false,done:false,timingAllowFailed:false,...Me,headersList:Me.headersList?new aa(Me.headersList):new aa};Bn.url=Bn.urlList[0];return Bn}function cloneRequest(Me){const Bn=makeRequest({...Me,body:null});if(Me.body!=null){Bn.body=Ci(Me.body)}return Bn}Object.defineProperties(Request.prototype,{method:Qp,url:Qp,headers:Qp,redirect:Qp,clone:Qp,signal:Qp,duplex:Qp,destination:Qp,body:Qp,bodyUsed:Qp,isHistoryNavigation:Qp,isReloadNavigation:Qp,keepalive:Qp,integrity:Qp,cache:Qp,credentials:Qp,attribute:Qp,referrerPolicy:Qp,referrer:Qp,mode:Qp,[Symbol.toStringTag]:{value:"Request",configurable:true}});zp.converters.Request=zp.interfaceConverter(Request);zp.converters.RequestInfo=function(Me){if(typeof Me==="string"){return zp.converters.USVString(Me)}if(Me instanceof Request){return zp.converters.Request(Me)}return zp.converters.USVString(Me)};zp.converters.AbortSignal=zp.interfaceConverter(AbortSignal);zp.converters.RequestInit=zp.dictionaryConverter([{key:"method",converter:zp.converters.ByteString},{key:"headers",converter:zp.converters.HeadersInit},{key:"body",converter:zp.nullableConverter(zp.converters.BodyInit)},{key:"referrer",converter:zp.converters.USVString},{key:"referrerPolicy",converter:zp.converters.DOMString,allowedValues:tc},{key:"mode",converter:zp.converters.DOMString,allowedValues:Fc},{key:"credentials",converter:zp.converters.DOMString,allowedValues:Jc},{key:"cache",converter:zp.converters.DOMString,allowedValues:Dp},{key:"redirect",converter:zp.converters.DOMString,allowedValues:dc},{key:"integrity",converter:zp.converters.DOMString},{key:"keepalive",converter:zp.converters.boolean},{key:"signal",converter:zp.nullableConverter((Me=>zp.converters.AbortSignal(Me,{strict:false})))},{key:"window",converter:zp.converters.any},{key:"duplex",converter:zp.converters.DOMString,allowedValues:kp}]);Me.exports={Request:Request,makeRequest:makeRequest}},48676:(Me,Bn,Hn)=>{"use strict";const{Headers:zn,HeadersList:ni,fill:Ci}=Hn(26349);const{extractBody:ts,cloneBody:Ps,mixinBody:aa}=Hn(8923);const oa=Hn(3440);const{kEnumerableProperty:ca}=oa;const{isValidReasonPhrase:_a,isCancelled:xa,isAborted:Ga,isBlobLike:Ha,serializeJavascriptValueToJSONString:so,isErrorLike:oo,isomorphicEncode:Jo}=Hn(15523);const{redirectStatusSet:tc,nullBodyStatus:dc,DOMException:Fc}=Hn(87326);const{kState:Jc,kHeaders:Dp,kGuard:kp,kRealm:Qp}=Hn(89710);const{webidl:Up}=Hn(74222);const{FormData:Vp}=Hn(43073);const{getGlobalOrigin:qp}=Hn(75628);const{URLSerializer:Jp}=Hn(94322);const{kHeadersList:Wp,kConstruct:zp}=Hn(36443);const Qf=Hn(42613);const{types:Yf}=Hn(39023);const Kf=globalThis.ReadableStream||Hn(63774).ReadableStream;const Xf=new TextEncoder("utf-8");class Response{static error(){const Me={settingsObject:{}};const Bn=new Response;Bn[Jc]=makeNetworkError();Bn[Qp]=Me;Bn[Dp][Wp]=Bn[Jc].headersList;Bn[Dp][kp]="immutable";Bn[Dp][Qp]=Me;return Bn}static json(Me,Bn={}){Up.argumentLengthCheck(arguments,1,{header:"Response.json"});if(Bn!==null){Bn=Up.converters.ResponseInit(Bn)}const Hn=Xf.encode(so(Me));const zn=ts(Hn);const ni={settingsObject:{}};const Ci=new Response;Ci[Qp]=ni;Ci[Dp][kp]="response";Ci[Dp][Qp]=ni;initializeResponse(Ci,Bn,{body:zn[0],type:"application/json"});return Ci}static redirect(Me,Bn=302){const Hn={settingsObject:{}};Up.argumentLengthCheck(arguments,1,{header:"Response.redirect"});Me=Up.converters.USVString(Me);Bn=Up.converters["unsigned short"](Bn);let zn;try{zn=new URL(Me,qp())}catch(Bn){throw Object.assign(new TypeError("Failed to parse URL from "+Me),{cause:Bn})}if(!tc.has(Bn)){throw new RangeError("Invalid status code "+Bn)}const ni=new Response;ni[Qp]=Hn;ni[Dp][kp]="immutable";ni[Dp][Qp]=Hn;ni[Jc].status=Bn;const Ci=Jo(Jp(zn));ni[Jc].headersList.append("location",Ci);return ni}constructor(Me=null,Bn={}){if(Me!==null){Me=Up.converters.BodyInit(Me)}Bn=Up.converters.ResponseInit(Bn);this[Qp]={settingsObject:{}};this[Jc]=makeResponse({});this[Dp]=new zn(zp);this[Dp][kp]="response";this[Dp][Wp]=this[Jc].headersList;this[Dp][Qp]=this[Qp];let Hn=null;if(Me!=null){const[Bn,zn]=ts(Me);Hn={body:Bn,type:zn}}initializeResponse(this,Bn,Hn)}get type(){Up.brandCheck(this,Response);return this[Jc].type}get url(){Up.brandCheck(this,Response);const Me=this[Jc].urlList;const Bn=Me[Me.length-1]??null;if(Bn===null){return""}return Jp(Bn,true)}get redirected(){Up.brandCheck(this,Response);return this[Jc].urlList.length>1}get status(){Up.brandCheck(this,Response);return this[Jc].status}get ok(){Up.brandCheck(this,Response);return this[Jc].status>=200&&this[Jc].status<=299}get statusText(){Up.brandCheck(this,Response);return this[Jc].statusText}get headers(){Up.brandCheck(this,Response);return this[Dp]}get body(){Up.brandCheck(this,Response);return this[Jc].body?this[Jc].body.stream:null}get bodyUsed(){Up.brandCheck(this,Response);return!!this[Jc].body&&oa.isDisturbed(this[Jc].body.stream)}clone(){Up.brandCheck(this,Response);if(this.bodyUsed||this.body&&this.body.locked){throw Up.errors.exception({header:"Response.clone",message:"Body has already been consumed."})}const Me=cloneResponse(this[Jc]);const Bn=new Response;Bn[Jc]=Me;Bn[Qp]=this[Qp];Bn[Dp][Wp]=Me.headersList;Bn[Dp][kp]=this[Dp][kp];Bn[Dp][Qp]=this[Dp][Qp];return Bn}}aa(Response);Object.defineProperties(Response.prototype,{type:ca,url:ca,status:ca,ok:ca,redirected:ca,statusText:ca,headers:ca,clone:ca,body:ca,bodyUsed:ca,[Symbol.toStringTag]:{value:"Response",configurable:true}});Object.defineProperties(Response,{json:ca,redirect:ca,error:ca});function cloneResponse(Me){if(Me.internalResponse){return filterResponse(cloneResponse(Me.internalResponse),Me.type)}const Bn=makeResponse({...Me,body:null});if(Me.body!=null){Bn.body=Ps(Me.body)}return Bn}function makeResponse(Me){return{aborted:false,rangeRequested:false,timingAllowPassed:false,requestIncludesCredentials:false,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...Me,headersList:Me.headersList?new ni(Me.headersList):new ni,urlList:Me.urlList?[...Me.urlList]:[]}}function makeNetworkError(Me){const Bn=oo(Me);return makeResponse({type:"error",status:0,error:Bn?Me:new Error(Me?String(Me):Me),aborted:Me&&Me.name==="AbortError"})}function makeFilteredResponse(Me,Bn){Bn={internalResponse:Me,...Bn};return new Proxy(Me,{get(Me,Hn){return Hn in Bn?Bn[Hn]:Me[Hn]},set(Me,Hn,zn){Qf(!(Hn in Bn));Me[Hn]=zn;return true}})}function filterResponse(Me,Bn){if(Bn==="basic"){return makeFilteredResponse(Me,{type:"basic",headersList:Me.headersList})}else if(Bn==="cors"){return makeFilteredResponse(Me,{type:"cors",headersList:Me.headersList})}else if(Bn==="opaque"){return makeFilteredResponse(Me,{type:"opaque",urlList:Object.freeze([]),status:0,statusText:"",body:null})}else if(Bn==="opaqueredirect"){return makeFilteredResponse(Me,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null})}else{Qf(false)}}function makeAppropriateNetworkError(Me,Bn=null){Qf(xa(Me));return Ga(Me)?makeNetworkError(Object.assign(new Fc("The operation was aborted.","AbortError"),{cause:Bn})):makeNetworkError(Object.assign(new Fc("Request was cancelled."),{cause:Bn}))}function initializeResponse(Me,Bn,Hn){if(Bn.status!==null&&(Bn.status<200||Bn.status>599)){throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.')}if("statusText"in Bn&&Bn.statusText!=null){if(!_a(String(Bn.statusText))){throw new TypeError("Invalid statusText")}}if("status"in Bn&&Bn.status!=null){Me[Jc].status=Bn.status}if("statusText"in Bn&&Bn.statusText!=null){Me[Jc].statusText=Bn.statusText}if("headers"in Bn&&Bn.headers!=null){Ci(Me[Dp],Bn.headers)}if(Hn){if(dc.includes(Me.status)){throw Up.errors.exception({header:"Response constructor",message:"Invalid response status code "+Me.status})}Me[Jc].body=Hn.body;if(Hn.type!=null&&!Me[Jc].headersList.contains("Content-Type")){Me[Jc].headersList.append("content-type",Hn.type)}}}Up.converters.ReadableStream=Up.interfaceConverter(Kf);Up.converters.FormData=Up.interfaceConverter(Vp);Up.converters.URLSearchParams=Up.interfaceConverter(URLSearchParams);Up.converters.XMLHttpRequestBodyInit=function(Me){if(typeof Me==="string"){return Up.converters.USVString(Me)}if(Ha(Me)){return Up.converters.Blob(Me,{strict:false})}if(Yf.isArrayBuffer(Me)||Yf.isTypedArray(Me)||Yf.isDataView(Me)){return Up.converters.BufferSource(Me)}if(oa.isFormDataLike(Me)){return Up.converters.FormData(Me,{strict:false})}if(Me instanceof URLSearchParams){return Up.converters.URLSearchParams(Me)}return Up.converters.DOMString(Me)};Up.converters.BodyInit=function(Me){if(Me instanceof Kf){return Up.converters.ReadableStream(Me)}if(Me?.[Symbol.asyncIterator]){return Me}return Up.converters.XMLHttpRequestBodyInit(Me)};Up.converters.ResponseInit=Up.dictionaryConverter([{key:"status",converter:Up.converters["unsigned short"],defaultValue:200},{key:"statusText",converter:Up.converters.ByteString,defaultValue:""},{key:"headers",converter:Up.converters.HeadersInit}]);Me.exports={makeNetworkError:makeNetworkError,makeResponse:makeResponse,makeAppropriateNetworkError:makeAppropriateNetworkError,filterResponse:filterResponse,Response:Response,cloneResponse:cloneResponse}},89710:Me=>{"use strict";Me.exports={kUrl:Symbol("url"),kHeaders:Symbol("headers"),kSignal:Symbol("signal"),kState:Symbol("state"),kGuard:Symbol("guard"),kRealm:Symbol("realm")}},15523:(Me,Bn,Hn)=>{"use strict";const{redirectStatusSet:zn,referrerPolicySet:ni,badPortsSet:Ci}=Hn(87326);const{getGlobalOrigin:ts}=Hn(75628);const{performance:Ps}=Hn(82987);const{isBlobLike:aa,toUSVString:oa,ReadableStreamFrom:ca}=Hn(3440);const _a=Hn(42613);const{isUint8Array:xa}=Hn(98253);let Ga=[];let Ha;try{Ha=Hn(76982);const Me=["sha256","sha384","sha512"];Ga=Ha.getHashes().filter((Bn=>Me.includes(Bn)))}catch{}function responseURL(Me){const Bn=Me.urlList;const Hn=Bn.length;return Hn===0?null:Bn[Hn-1].toString()}function responseLocationURL(Me,Bn){if(!zn.has(Me.status)){return null}let Hn=Me.headersList.get("location");if(Hn!==null&&isValidHeaderValue(Hn)){Hn=new URL(Hn,responseURL(Me))}if(Hn&&!Hn.hash){Hn.hash=Bn}return Hn}function requestCurrentURL(Me){return Me.urlList[Me.urlList.length-1]}function requestBadPort(Me){const Bn=requestCurrentURL(Me);if(urlIsHttpHttpsScheme(Bn)&&Ci.has(Bn.port)){return"blocked"}return"allowed"}function isErrorLike(Me){return Me instanceof Error||(Me?.constructor?.name==="Error"||Me?.constructor?.name==="DOMException")}function isValidReasonPhrase(Me){for(let Bn=0;Bn=32&&Hn<=126||Hn>=128&&Hn<=255)){return false}}return true}function isTokenCharCode(Me){switch(Me){case 34:case 40:case 41:case 44:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 123:case 125:return false;default:return Me>=33&&Me<=126}}function isValidHTTPToken(Me){if(Me.length===0){return false}for(let Bn=0;Bn0){for(let Me=zn.length;Me!==0;Me--){const Bn=zn[Me-1].trim();if(ni.has(Bn)){Ci=Bn;break}}}if(Ci!==""){Me.referrerPolicy=Ci}}function crossOriginResourcePolicyCheck(){return"allowed"}function corsCheck(){return"success"}function TAOCheck(){return"success"}function appendFetchMetadata(Me){let Bn=null;Bn=Me.mode;Me.headersList.set("sec-fetch-mode",Bn)}function appendRequestOriginHeader(Me){let Bn=Me.origin;if(Me.responseTainting==="cors"||Me.mode==="websocket"){if(Bn){Me.headersList.append("origin",Bn)}}else if(Me.method!=="GET"&&Me.method!=="HEAD"){switch(Me.referrerPolicy){case"no-referrer":Bn=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":if(Me.origin&&urlHasHttpsScheme(Me.origin)&&!urlHasHttpsScheme(requestCurrentURL(Me))){Bn=null}break;case"same-origin":if(!sameOrigin(Me,requestCurrentURL(Me))){Bn=null}break;default:}if(Bn){Me.headersList.append("origin",Bn)}}}function coarsenedSharedCurrentTime(Me){return Ps.now()}function createOpaqueTimingInfo(Me){return{startTime:Me.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:Me.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function makePolicyContainer(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function clonePolicyContainer(Me){return{referrerPolicy:Me.referrerPolicy}}function determineRequestsReferrer(Me){const Bn=Me.referrerPolicy;_a(Bn);let Hn=null;if(Me.referrer==="client"){const Me=ts();if(!Me||Me.origin==="null"){return"no-referrer"}Hn=new URL(Me)}else if(Me.referrer instanceof URL){Hn=Me.referrer}let zn=stripURLForReferrer(Hn);const ni=stripURLForReferrer(Hn,true);if(zn.toString().length>4096){zn=ni}const Ci=sameOrigin(Me,zn);const Ps=isURLPotentiallyTrustworthy(zn)&&!isURLPotentiallyTrustworthy(Me.url);switch(Bn){case"origin":return ni!=null?ni:stripURLForReferrer(Hn,true);case"unsafe-url":return zn;case"same-origin":return Ci?ni:"no-referrer";case"origin-when-cross-origin":return Ci?zn:ni;case"strict-origin-when-cross-origin":{const Bn=requestCurrentURL(Me);if(sameOrigin(zn,Bn)){return zn}if(isURLPotentiallyTrustworthy(zn)&&!isURLPotentiallyTrustworthy(Bn)){return"no-referrer"}return ni}case"strict-origin":case"no-referrer-when-downgrade":default:return Ps?"no-referrer":ni}}function stripURLForReferrer(Me,Bn){_a(Me instanceof URL);if(Me.protocol==="file:"||Me.protocol==="about:"||Me.protocol==="blank:"){return"no-referrer"}Me.username="";Me.password="";Me.hash="";if(Bn){Me.pathname="";Me.search=""}return Me}function isURLPotentiallyTrustworthy(Me){if(!(Me instanceof URL)){return false}if(Me.href==="about:blank"||Me.href==="about:srcdoc"){return true}if(Me.protocol==="data:")return true;if(Me.protocol==="file:")return true;return isOriginPotentiallyTrustworthy(Me.origin);function isOriginPotentiallyTrustworthy(Me){if(Me==null||Me==="null")return false;const Bn=new URL(Me);if(Bn.protocol==="https:"||Bn.protocol==="wss:"){return true}if(/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(Bn.hostname)||(Bn.hostname==="localhost"||Bn.hostname.includes("localhost."))||Bn.hostname.endsWith(".localhost")){return true}return false}}function bytesMatch(Me,Bn){if(Ha===undefined){return true}const Hn=parseMetadata(Bn);if(Hn==="no metadata"){return true}if(Hn.length===0){return true}const zn=getStrongestMetadata(Hn);const ni=filterMetadataListByAlgorithm(Hn,zn);for(const Bn of ni){const Hn=Bn.algo;const zn=Bn.hash;let ni=Ha.createHash(Hn).update(Me).digest("base64");if(ni[ni.length-1]==="="){if(ni[ni.length-2]==="="){ni=ni.slice(0,-2)}else{ni=ni.slice(0,-1)}}if(compareBase64Mixed(ni,zn)){return true}}return false}const so=/(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function parseMetadata(Me){const Bn=[];let Hn=true;for(const zn of Me.split(" ")){Hn=false;const Me=so.exec(zn);if(Me===null||Me.groups===undefined||Me.groups.algo===undefined){continue}const ni=Me.groups.algo.toLowerCase();if(Ga.includes(ni)){Bn.push(Me.groups)}}if(Hn===true){return"no metadata"}return Bn}function getStrongestMetadata(Me){let Bn=Me[0].algo;if(Bn[3]==="5"){return Bn}for(let Hn=1;Hn{Me=Hn;Bn=zn}));return{promise:Hn,resolve:Me,reject:Bn}}function isAborted(Me){return Me.controller.state==="aborted"}function isCancelled(Me){return Me.controller.state==="aborted"||Me.controller.state==="terminated"}const oo={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT"};Object.setPrototypeOf(oo,null);function normalizeMethod(Me){return oo[Me.toLowerCase()]??Me}function serializeJavascriptValueToJSONString(Me){const Bn=JSON.stringify(Me);if(Bn===undefined){throw new TypeError("Value is not JSON serializable")}_a(typeof Bn==="string");return Bn}const Jo=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function makeIterator(Me,Bn,Hn){const zn={index:0,kind:Hn,target:Me};const ni={next(){if(Object.getPrototypeOf(this)!==ni){throw new TypeError(`'next' called on an object that does not implement interface ${Bn} Iterator.`)}const{index:Me,kind:Hn,target:Ci}=zn;const ts=Ci();const Ps=ts.length;if(Me>=Ps){return{value:undefined,done:true}}const aa=ts[Me];zn.index=Me+1;return iteratorResult(aa,Hn)},[Symbol.toStringTag]:`${Bn} Iterator`};Object.setPrototypeOf(ni,Jo);return Object.setPrototypeOf({},ni)}function iteratorResult(Me,Bn){let Hn;switch(Bn){case"key":{Hn=Me[0];break}case"value":{Hn=Me[1];break}case"key+value":{Hn=Me;break}}return{value:Hn,done:false}}async function fullyReadBody(Me,Bn,Hn){const zn=Bn;const ni=Hn;let Ci;try{Ci=Me.stream.getReader()}catch(Me){ni(Me);return}try{const Me=await readAllBytes(Ci);zn(Me)}catch(Me){ni(Me)}}let tc=globalThis.ReadableStream;function isReadableStreamLike(Me){if(!tc){tc=Hn(63774).ReadableStream}return Me instanceof tc||Me[Symbol.toStringTag]==="ReadableStream"&&typeof Me.tee==="function"}const dc=65535;function isomorphicDecode(Me){if(Me.lengthMe+String.fromCharCode(Bn)),"")}function readableStreamClose(Me){try{Me.close()}catch(Me){if(!Me.message.includes("Controller is already closed")){throw Me}}}function isomorphicEncode(Me){for(let Bn=0;BnObject.prototype.hasOwnProperty.call(Me,Bn));Me.exports={isAborted:isAborted,isCancelled:isCancelled,createDeferredPromise:createDeferredPromise,ReadableStreamFrom:ca,toUSVString:oa,tryUpgradeRequestToAPotentiallyTrustworthyURL:tryUpgradeRequestToAPotentiallyTrustworthyURL,coarsenedSharedCurrentTime:coarsenedSharedCurrentTime,determineRequestsReferrer:determineRequestsReferrer,makePolicyContainer:makePolicyContainer,clonePolicyContainer:clonePolicyContainer,appendFetchMetadata:appendFetchMetadata,appendRequestOriginHeader:appendRequestOriginHeader,TAOCheck:TAOCheck,corsCheck:corsCheck,crossOriginResourcePolicyCheck:crossOriginResourcePolicyCheck,createOpaqueTimingInfo:createOpaqueTimingInfo,setRequestReferrerPolicyOnRedirect:setRequestReferrerPolicyOnRedirect,isValidHTTPToken:isValidHTTPToken,requestBadPort:requestBadPort,requestCurrentURL:requestCurrentURL,responseURL:responseURL,responseLocationURL:responseLocationURL,isBlobLike:aa,isURLPotentiallyTrustworthy:isURLPotentiallyTrustworthy,isValidReasonPhrase:isValidReasonPhrase,sameOrigin:sameOrigin,normalizeMethod:normalizeMethod,serializeJavascriptValueToJSONString:serializeJavascriptValueToJSONString,makeIterator:makeIterator,isValidHeaderName:isValidHeaderName,isValidHeaderValue:isValidHeaderValue,hasOwn:Fc,isErrorLike:isErrorLike,fullyReadBody:fullyReadBody,bytesMatch:bytesMatch,isReadableStreamLike:isReadableStreamLike,readableStreamClose:readableStreamClose,isomorphicEncode:isomorphicEncode,isomorphicDecode:isomorphicDecode,urlIsLocal:urlIsLocal,urlHasHttpsScheme:urlHasHttpsScheme,urlIsHttpHttpsScheme:urlIsHttpHttpsScheme,readAllBytes:readAllBytes,normalizeMethodRecord:oo,parseMetadata:parseMetadata}},74222:(Me,Bn,Hn)=>{"use strict";const{types:zn}=Hn(39023);const{hasOwn:ni,toUSVString:Ci}=Hn(15523);const ts={};ts.converters={};ts.util={};ts.errors={};ts.errors.exception=function(Me){return new TypeError(`${Me.header}: ${Me.message}`)};ts.errors.conversionFailed=function(Me){const Bn=Me.types.length===1?"":" one of";const Hn=`${Me.argument} could not be converted to`+`${Bn}: ${Me.types.join(", ")}.`;return ts.errors.exception({header:Me.prefix,message:Hn})};ts.errors.invalidArgument=function(Me){return ts.errors.exception({header:Me.prefix,message:`"${Me.value}" is an invalid ${Me.type}.`})};ts.brandCheck=function(Me,Bn,Hn=undefined){if(Hn?.strict!==false&&!(Me instanceof Bn)){throw new TypeError("Illegal invocation")}else{return Me?.[Symbol.toStringTag]===Bn.prototype[Symbol.toStringTag]}};ts.argumentLengthCheck=function({length:Me},Bn,Hn){if(Meni){throw ts.errors.exception({header:"Integer conversion",message:`Value must be between ${Ci}-${ni}, got ${Ps}.`})}return Ps}if(!Number.isNaN(Ps)&&zn.clamp===true){Ps=Math.min(Math.max(Ps,Ci),ni);if(Math.floor(Ps)%2===0){Ps=Math.floor(Ps)}else{Ps=Math.ceil(Ps)}return Ps}if(Number.isNaN(Ps)||Ps===0&&Object.is(0,Ps)||Ps===Number.POSITIVE_INFINITY||Ps===Number.NEGATIVE_INFINITY){return 0}Ps=ts.util.IntegerPart(Ps);Ps=Ps%Math.pow(2,Bn);if(Hn==="signed"&&Ps>=Math.pow(2,Bn)-1){return Ps-Math.pow(2,Bn)}return Ps};ts.util.IntegerPart=function(Me){const Bn=Math.floor(Math.abs(Me));if(Me<0){return-1*Bn}return Bn};ts.sequenceConverter=function(Me){return Bn=>{if(ts.util.Type(Bn)!=="Object"){throw ts.errors.exception({header:"Sequence",message:`Value of type ${ts.util.Type(Bn)} is not an Object.`})}const Hn=Bn?.[Symbol.iterator]?.();const zn=[];if(Hn===undefined||typeof Hn.next!=="function"){throw ts.errors.exception({header:"Sequence",message:"Object is not an iterator."})}while(true){const{done:Bn,value:ni}=Hn.next();if(Bn){break}zn.push(Me(ni))}return zn}};ts.recordConverter=function(Me,Bn){return Hn=>{if(ts.util.Type(Hn)!=="Object"){throw ts.errors.exception({header:"Record",message:`Value of type ${ts.util.Type(Hn)} is not an Object.`})}const ni={};if(!zn.isProxy(Hn)){const zn=Object.keys(Hn);for(const Ci of zn){const zn=Me(Ci);const ts=Bn(Hn[Ci]);ni[zn]=ts}return ni}const Ci=Reflect.ownKeys(Hn);for(const zn of Ci){const Ci=Reflect.getOwnPropertyDescriptor(Hn,zn);if(Ci?.enumerable){const Ci=Me(zn);const ts=Bn(Hn[zn]);ni[Ci]=ts}}return ni}};ts.interfaceConverter=function(Me){return(Bn,Hn={})=>{if(Hn.strict!==false&&!(Bn instanceof Me)){throw ts.errors.exception({header:Me.name,message:`Expected ${Bn} to be an instance of ${Me.name}.`})}return Bn}};ts.dictionaryConverter=function(Me){return Bn=>{const Hn=ts.util.Type(Bn);const zn={};if(Hn==="Null"||Hn==="Undefined"){return zn}else if(Hn!=="Object"){throw ts.errors.exception({header:"Dictionary",message:`Expected ${Bn} to be one of: Null, Undefined, Object.`})}for(const Hn of Me){const{key:Me,defaultValue:Ci,required:Ps,converter:aa}=Hn;if(Ps===true){if(!ni(Bn,Me)){throw ts.errors.exception({header:"Dictionary",message:`Missing required key "${Me}".`})}}let oa=Bn[Me];const ca=ni(Hn,"defaultValue");if(ca&&oa!==null){oa=oa??Ci}if(Ps||ca||oa!==undefined){oa=aa(oa);if(Hn.allowedValues&&!Hn.allowedValues.includes(oa)){throw ts.errors.exception({header:"Dictionary",message:`${oa} is not an accepted type. Expected one of ${Hn.allowedValues.join(", ")}.`})}zn[Me]=oa}}return zn}};ts.nullableConverter=function(Me){return Bn=>{if(Bn===null){return Bn}return Me(Bn)}};ts.converters.DOMString=function(Me,Bn={}){if(Me===null&&Bn.legacyNullToEmptyString){return""}if(typeof Me==="symbol"){throw new TypeError("Could not convert argument of type symbol to string.")}return String(Me)};ts.converters.ByteString=function(Me){const Bn=ts.converters.DOMString(Me);for(let Me=0;Me255){throw new TypeError("Cannot convert argument to a ByteString because the character at "+`index ${Me} has a value of ${Bn.charCodeAt(Me)} which is greater than 255.`)}}return Bn};ts.converters.USVString=Ci;ts.converters.boolean=function(Me){const Bn=Boolean(Me);return Bn};ts.converters.any=function(Me){return Me};ts.converters["long long"]=function(Me){const Bn=ts.util.ConvertToInt(Me,64,"signed");return Bn};ts.converters["unsigned long long"]=function(Me){const Bn=ts.util.ConvertToInt(Me,64,"unsigned");return Bn};ts.converters["unsigned long"]=function(Me){const Bn=ts.util.ConvertToInt(Me,32,"unsigned");return Bn};ts.converters["unsigned short"]=function(Me,Bn){const Hn=ts.util.ConvertToInt(Me,16,"unsigned",Bn);return Hn};ts.converters.ArrayBuffer=function(Me,Bn={}){if(ts.util.Type(Me)!=="Object"||!zn.isAnyArrayBuffer(Me)){throw ts.errors.conversionFailed({prefix:`${Me}`,argument:`${Me}`,types:["ArrayBuffer"]})}if(Bn.allowShared===false&&zn.isSharedArrayBuffer(Me)){throw ts.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return Me};ts.converters.TypedArray=function(Me,Bn,Hn={}){if(ts.util.Type(Me)!=="Object"||!zn.isTypedArray(Me)||Me.constructor.name!==Bn.name){throw ts.errors.conversionFailed({prefix:`${Bn.name}`,argument:`${Me}`,types:[Bn.name]})}if(Hn.allowShared===false&&zn.isSharedArrayBuffer(Me.buffer)){throw ts.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return Me};ts.converters.DataView=function(Me,Bn={}){if(ts.util.Type(Me)!=="Object"||!zn.isDataView(Me)){throw ts.errors.exception({header:"DataView",message:"Object is not a DataView."})}if(Bn.allowShared===false&&zn.isSharedArrayBuffer(Me.buffer)){throw ts.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return Me};ts.converters.BufferSource=function(Me,Bn={}){if(zn.isAnyArrayBuffer(Me)){return ts.converters.ArrayBuffer(Me,Bn)}if(zn.isTypedArray(Me)){return ts.converters.TypedArray(Me,Me.constructor)}if(zn.isDataView(Me)){return ts.converters.DataView(Me,Bn)}throw new TypeError(`Could not convert ${Me} to a BufferSource.`)};ts.converters["sequence"]=ts.sequenceConverter(ts.converters.ByteString);ts.converters["sequence>"]=ts.sequenceConverter(ts.converters["sequence"]);ts.converters["record"]=ts.recordConverter(ts.converters.ByteString,ts.converters.ByteString);Me.exports={webidl:ts}},40396:Me=>{"use strict";function getEncoding(Me){if(!Me){return"failure"}switch(Me.trim().toLowerCase()){case"unicode-1-1-utf-8":case"unicode11utf8":case"unicode20utf8":case"utf-8":case"utf8":case"x-unicode20utf8":return"UTF-8";case"866":case"cp866":case"csibm866":case"ibm866":return"IBM866";case"csisolatin2":case"iso-8859-2":case"iso-ir-101":case"iso8859-2":case"iso88592":case"iso_8859-2":case"iso_8859-2:1987":case"l2":case"latin2":return"ISO-8859-2";case"csisolatin3":case"iso-8859-3":case"iso-ir-109":case"iso8859-3":case"iso88593":case"iso_8859-3":case"iso_8859-3:1988":case"l3":case"latin3":return"ISO-8859-3";case"csisolatin4":case"iso-8859-4":case"iso-ir-110":case"iso8859-4":case"iso88594":case"iso_8859-4":case"iso_8859-4:1988":case"l4":case"latin4":return"ISO-8859-4";case"csisolatincyrillic":case"cyrillic":case"iso-8859-5":case"iso-ir-144":case"iso8859-5":case"iso88595":case"iso_8859-5":case"iso_8859-5:1988":return"ISO-8859-5";case"arabic":case"asmo-708":case"csiso88596e":case"csiso88596i":case"csisolatinarabic":case"ecma-114":case"iso-8859-6":case"iso-8859-6-e":case"iso-8859-6-i":case"iso-ir-127":case"iso8859-6":case"iso88596":case"iso_8859-6":case"iso_8859-6:1987":return"ISO-8859-6";case"csisolatingreek":case"ecma-118":case"elot_928":case"greek":case"greek8":case"iso-8859-7":case"iso-ir-126":case"iso8859-7":case"iso88597":case"iso_8859-7":case"iso_8859-7:1987":case"sun_eu_greek":return"ISO-8859-7";case"csiso88598e":case"csisolatinhebrew":case"hebrew":case"iso-8859-8":case"iso-8859-8-e":case"iso-ir-138":case"iso8859-8":case"iso88598":case"iso_8859-8":case"iso_8859-8:1988":case"visual":return"ISO-8859-8";case"csiso88598i":case"iso-8859-8-i":case"logical":return"ISO-8859-8-I";case"csisolatin6":case"iso-8859-10":case"iso-ir-157":case"iso8859-10":case"iso885910":case"l6":case"latin6":return"ISO-8859-10";case"iso-8859-13":case"iso8859-13":case"iso885913":return"ISO-8859-13";case"iso-8859-14":case"iso8859-14":case"iso885914":return"ISO-8859-14";case"csisolatin9":case"iso-8859-15":case"iso8859-15":case"iso885915":case"iso_8859-15":case"l9":return"ISO-8859-15";case"iso-8859-16":return"ISO-8859-16";case"cskoi8r":case"koi":case"koi8":case"koi8-r":case"koi8_r":return"KOI8-R";case"koi8-ru":case"koi8-u":return"KOI8-U";case"csmacintosh":case"mac":case"macintosh":case"x-mac-roman":return"macintosh";case"iso-8859-11":case"iso8859-11":case"iso885911":case"tis-620":case"windows-874":return"windows-874";case"cp1250":case"windows-1250":case"x-cp1250":return"windows-1250";case"cp1251":case"windows-1251":case"x-cp1251":return"windows-1251";case"ansi_x3.4-1968":case"ascii":case"cp1252":case"cp819":case"csisolatin1":case"ibm819":case"iso-8859-1":case"iso-ir-100":case"iso8859-1":case"iso88591":case"iso_8859-1":case"iso_8859-1:1987":case"l1":case"latin1":case"us-ascii":case"windows-1252":case"x-cp1252":return"windows-1252";case"cp1253":case"windows-1253":case"x-cp1253":return"windows-1253";case"cp1254":case"csisolatin5":case"iso-8859-9":case"iso-ir-148":case"iso8859-9":case"iso88599":case"iso_8859-9":case"iso_8859-9:1989":case"l5":case"latin5":case"windows-1254":case"x-cp1254":return"windows-1254";case"cp1255":case"windows-1255":case"x-cp1255":return"windows-1255";case"cp1256":case"windows-1256":case"x-cp1256":return"windows-1256";case"cp1257":case"windows-1257":case"x-cp1257":return"windows-1257";case"cp1258":case"windows-1258":case"x-cp1258":return"windows-1258";case"x-mac-cyrillic":case"x-mac-ukrainian":return"x-mac-cyrillic";case"chinese":case"csgb2312":case"csiso58gb231280":case"gb2312":case"gb_2312":case"gb_2312-80":case"gbk":case"iso-ir-58":case"x-gbk":return"GBK";case"gb18030":return"gb18030";case"big5":case"big5-hkscs":case"cn-big5":case"csbig5":case"x-x-big5":return"Big5";case"cseucpkdfmtjapanese":case"euc-jp":case"x-euc-jp":return"EUC-JP";case"csiso2022jp":case"iso-2022-jp":return"ISO-2022-JP";case"csshiftjis":case"ms932":case"ms_kanji":case"shift-jis":case"shift_jis":case"sjis":case"windows-31j":case"x-sjis":return"Shift_JIS";case"cseuckr":case"csksc56011987":case"euc-kr":case"iso-ir-149":case"korean":case"ks_c_5601-1987":case"ks_c_5601-1989":case"ksc5601":case"ksc_5601":case"windows-949":return"EUC-KR";case"csiso2022kr":case"hz-gb-2312":case"iso-2022-cn":case"iso-2022-cn-ext":case"iso-2022-kr":case"replacement":return"replacement";case"unicodefffe":case"utf-16be":return"UTF-16BE";case"csunicode":case"iso-10646-ucs-2":case"ucs-2":case"unicode":case"unicodefeff":case"utf-16":case"utf-16le":return"UTF-16LE";case"x-user-defined":return"x-user-defined";default:return"failure"}}Me.exports={getEncoding:getEncoding}},82160:(Me,Bn,Hn)=>{"use strict";const{staticPropertyDescriptors:zn,readOperation:ni,fireAProgressEvent:Ci}=Hn(10165);const{kState:ts,kError:Ps,kResult:aa,kEvents:oa,kAborted:ca}=Hn(86812);const{webidl:_a}=Hn(74222);const{kEnumerableProperty:xa}=Hn(3440);class FileReader extends EventTarget{constructor(){super();this[ts]="empty";this[aa]=null;this[Ps]=null;this[oa]={loadend:null,error:null,abort:null,load:null,progress:null,loadstart:null}}readAsArrayBuffer(Me){_a.brandCheck(this,FileReader);_a.argumentLengthCheck(arguments,1,{header:"FileReader.readAsArrayBuffer"});Me=_a.converters.Blob(Me,{strict:false});ni(this,Me,"ArrayBuffer")}readAsBinaryString(Me){_a.brandCheck(this,FileReader);_a.argumentLengthCheck(arguments,1,{header:"FileReader.readAsBinaryString"});Me=_a.converters.Blob(Me,{strict:false});ni(this,Me,"BinaryString")}readAsText(Me,Bn=undefined){_a.brandCheck(this,FileReader);_a.argumentLengthCheck(arguments,1,{header:"FileReader.readAsText"});Me=_a.converters.Blob(Me,{strict:false});if(Bn!==undefined){Bn=_a.converters.DOMString(Bn)}ni(this,Me,"Text",Bn)}readAsDataURL(Me){_a.brandCheck(this,FileReader);_a.argumentLengthCheck(arguments,1,{header:"FileReader.readAsDataURL"});Me=_a.converters.Blob(Me,{strict:false});ni(this,Me,"DataURL")}abort(){if(this[ts]==="empty"||this[ts]==="done"){this[aa]=null;return}if(this[ts]==="loading"){this[ts]="done";this[aa]=null}this[ca]=true;Ci("abort",this);if(this[ts]!=="loading"){Ci("loadend",this)}}get readyState(){_a.brandCheck(this,FileReader);switch(this[ts]){case"empty":return this.EMPTY;case"loading":return this.LOADING;case"done":return this.DONE}}get result(){_a.brandCheck(this,FileReader);return this[aa]}get error(){_a.brandCheck(this,FileReader);return this[Ps]}get onloadend(){_a.brandCheck(this,FileReader);return this[oa].loadend}set onloadend(Me){_a.brandCheck(this,FileReader);if(this[oa].loadend){this.removeEventListener("loadend",this[oa].loadend)}if(typeof Me==="function"){this[oa].loadend=Me;this.addEventListener("loadend",Me)}else{this[oa].loadend=null}}get onerror(){_a.brandCheck(this,FileReader);return this[oa].error}set onerror(Me){_a.brandCheck(this,FileReader);if(this[oa].error){this.removeEventListener("error",this[oa].error)}if(typeof Me==="function"){this[oa].error=Me;this.addEventListener("error",Me)}else{this[oa].error=null}}get onloadstart(){_a.brandCheck(this,FileReader);return this[oa].loadstart}set onloadstart(Me){_a.brandCheck(this,FileReader);if(this[oa].loadstart){this.removeEventListener("loadstart",this[oa].loadstart)}if(typeof Me==="function"){this[oa].loadstart=Me;this.addEventListener("loadstart",Me)}else{this[oa].loadstart=null}}get onprogress(){_a.brandCheck(this,FileReader);return this[oa].progress}set onprogress(Me){_a.brandCheck(this,FileReader);if(this[oa].progress){this.removeEventListener("progress",this[oa].progress)}if(typeof Me==="function"){this[oa].progress=Me;this.addEventListener("progress",Me)}else{this[oa].progress=null}}get onload(){_a.brandCheck(this,FileReader);return this[oa].load}set onload(Me){_a.brandCheck(this,FileReader);if(this[oa].load){this.removeEventListener("load",this[oa].load)}if(typeof Me==="function"){this[oa].load=Me;this.addEventListener("load",Me)}else{this[oa].load=null}}get onabort(){_a.brandCheck(this,FileReader);return this[oa].abort}set onabort(Me){_a.brandCheck(this,FileReader);if(this[oa].abort){this.removeEventListener("abort",this[oa].abort)}if(typeof Me==="function"){this[oa].abort=Me;this.addEventListener("abort",Me)}else{this[oa].abort=null}}}FileReader.EMPTY=FileReader.prototype.EMPTY=0;FileReader.LOADING=FileReader.prototype.LOADING=1;FileReader.DONE=FileReader.prototype.DONE=2;Object.defineProperties(FileReader.prototype,{EMPTY:zn,LOADING:zn,DONE:zn,readAsArrayBuffer:xa,readAsBinaryString:xa,readAsText:xa,readAsDataURL:xa,abort:xa,readyState:xa,result:xa,error:xa,onloadstart:xa,onprogress:xa,onload:xa,onabort:xa,onerror:xa,onloadend:xa,[Symbol.toStringTag]:{value:"FileReader",writable:false,enumerable:false,configurable:true}});Object.defineProperties(FileReader,{EMPTY:zn,LOADING:zn,DONE:zn});Me.exports={FileReader:FileReader}},15976:(Me,Bn,Hn)=>{"use strict";const{webidl:zn}=Hn(74222);const ni=Symbol("ProgressEvent state");class ProgressEvent extends Event{constructor(Me,Bn={}){Me=zn.converters.DOMString(Me);Bn=zn.converters.ProgressEventInit(Bn??{});super(Me,Bn);this[ni]={lengthComputable:Bn.lengthComputable,loaded:Bn.loaded,total:Bn.total}}get lengthComputable(){zn.brandCheck(this,ProgressEvent);return this[ni].lengthComputable}get loaded(){zn.brandCheck(this,ProgressEvent);return this[ni].loaded}get total(){zn.brandCheck(this,ProgressEvent);return this[ni].total}}zn.converters.ProgressEventInit=zn.dictionaryConverter([{key:"lengthComputable",converter:zn.converters.boolean,defaultValue:false},{key:"loaded",converter:zn.converters["unsigned long long"],defaultValue:0},{key:"total",converter:zn.converters["unsigned long long"],defaultValue:0},{key:"bubbles",converter:zn.converters.boolean,defaultValue:false},{key:"cancelable",converter:zn.converters.boolean,defaultValue:false},{key:"composed",converter:zn.converters.boolean,defaultValue:false}]);Me.exports={ProgressEvent:ProgressEvent}},86812:Me=>{"use strict";Me.exports={kState:Symbol("FileReader state"),kResult:Symbol("FileReader result"),kError:Symbol("FileReader error"),kLastProgressEventFired:Symbol("FileReader last progress event fired timestamp"),kEvents:Symbol("FileReader events"),kAborted:Symbol("FileReader aborted")}},10165:(Me,Bn,Hn)=>{"use strict";const{kState:zn,kError:ni,kResult:Ci,kAborted:ts,kLastProgressEventFired:Ps}=Hn(86812);const{ProgressEvent:aa}=Hn(15976);const{getEncoding:oa}=Hn(40396);const{DOMException:ca}=Hn(87326);const{serializeAMimeType:_a,parseMIMEType:xa}=Hn(94322);const{types:Ga}=Hn(39023);const{StringDecoder:Ha}=Hn(13193);const{btoa:so}=Hn(20181);const oo={enumerable:true,writable:false,configurable:false};function readOperation(Me,Bn,Hn,aa){if(Me[zn]==="loading"){throw new ca("Invalid state","InvalidStateError")}Me[zn]="loading";Me[Ci]=null;Me[ni]=null;const oa=Bn.stream();const _a=oa.getReader();const xa=[];let Ha=_a.read();let so=true;(async()=>{while(!Me[ts]){try{const{done:oa,value:ca}=await Ha;if(so&&!Me[ts]){queueMicrotask((()=>{fireAProgressEvent("loadstart",Me)}))}so=false;if(!oa&&Ga.isUint8Array(ca)){xa.push(ca);if((Me[Ps]===undefined||Date.now()-Me[Ps]>=50)&&!Me[ts]){Me[Ps]=Date.now();queueMicrotask((()=>{fireAProgressEvent("progress",Me)}))}Ha=_a.read()}else if(oa){queueMicrotask((()=>{Me[zn]="done";try{const zn=packageData(xa,Hn,Bn.type,aa);if(Me[ts]){return}Me[Ci]=zn;fireAProgressEvent("load",Me)}catch(Bn){Me[ni]=Bn;fireAProgressEvent("error",Me)}if(Me[zn]!=="loading"){fireAProgressEvent("loadend",Me)}}));break}}catch(Bn){if(Me[ts]){return}queueMicrotask((()=>{Me[zn]="done";Me[ni]=Bn;fireAProgressEvent("error",Me);if(Me[zn]!=="loading"){fireAProgressEvent("loadend",Me)}}));break}}})()}function fireAProgressEvent(Me,Bn){const Hn=new aa(Me,{bubbles:false,cancelable:false});Bn.dispatchEvent(Hn)}function packageData(Me,Bn,Hn,zn){switch(Bn){case"DataURL":{let Bn="data:";const zn=xa(Hn||"application/octet-stream");if(zn!=="failure"){Bn+=_a(zn)}Bn+=";base64,";const ni=new Ha("latin1");for(const Hn of Me){Bn+=so(ni.write(Hn))}Bn+=so(ni.end());return Bn}case"Text":{let Bn="failure";if(zn){Bn=oa(zn)}if(Bn==="failure"&&Hn){const Me=xa(Hn);if(Me!=="failure"){Bn=oa(Me.parameters.get("charset"))}}if(Bn==="failure"){Bn="UTF-8"}return decode(Me,Bn)}case"ArrayBuffer":{const Bn=combineByteSequences(Me);return Bn.buffer}case"BinaryString":{let Bn="";const Hn=new Ha("latin1");for(const zn of Me){Bn+=Hn.write(zn)}Bn+=Hn.end();return Bn}}}function decode(Me,Bn){const Hn=combineByteSequences(Me);const zn=BOMSniffing(Hn);let ni=0;if(zn!==null){Bn=zn;ni=zn==="UTF-8"?3:2}const Ci=Hn.slice(ni);return new TextDecoder(Bn).decode(Ci)}function BOMSniffing(Me){const[Bn,Hn,zn]=Me;if(Bn===239&&Hn===187&&zn===191){return"UTF-8"}else if(Bn===254&&Hn===255){return"UTF-16BE"}else if(Bn===255&&Hn===254){return"UTF-16LE"}return null}function combineByteSequences(Me){const Bn=Me.reduce(((Me,Bn)=>Me+Bn.byteLength),0);let Hn=0;return Me.reduce(((Me,Bn)=>{Me.set(Bn,Hn);Hn+=Bn.byteLength;return Me}),new Uint8Array(Bn))}Me.exports={staticPropertyDescriptors:oo,readOperation:readOperation,fireAProgressEvent:fireAProgressEvent}},32581:(Me,Bn,Hn)=>{"use strict";const zn=Symbol.for("undici.globalDispatcher.1");const{InvalidArgumentError:ni}=Hn(68707);const Ci=Hn(59965);if(getGlobalDispatcher()===undefined){setGlobalDispatcher(new Ci)}function setGlobalDispatcher(Me){if(!Me||typeof Me.dispatch!=="function"){throw new ni("Argument agent must implement Agent")}Object.defineProperty(globalThis,zn,{value:Me,writable:true,enumerable:false,configurable:false})}function getGlobalDispatcher(){return globalThis[zn]}Me.exports={setGlobalDispatcher:setGlobalDispatcher,getGlobalDispatcher:getGlobalDispatcher}},78840:Me=>{"use strict";Me.exports=class DecoratorHandler{constructor(Me){this.handler=Me}onConnect(...Me){return this.handler.onConnect(...Me)}onError(...Me){return this.handler.onError(...Me)}onUpgrade(...Me){return this.handler.onUpgrade(...Me)}onHeaders(...Me){return this.handler.onHeaders(...Me)}onData(...Me){return this.handler.onData(...Me)}onComplete(...Me){return this.handler.onComplete(...Me)}onBodySent(...Me){return this.handler.onBodySent(...Me)}}},48299:(Me,Bn,Hn)=>{"use strict";const zn=Hn(3440);const{kBodyUsed:ni}=Hn(36443);const Ci=Hn(42613);const{InvalidArgumentError:ts}=Hn(68707);const Ps=Hn(24434);const aa=[300,301,302,303,307,308];const oa=Symbol("body");class BodyAsyncIterable{constructor(Me){this[oa]=Me;this[ni]=false}async*[Symbol.asyncIterator](){Ci(!this[ni],"disturbed");this[ni]=true;yield*this[oa]}}class RedirectHandler{constructor(Me,Bn,Hn,aa){if(Bn!=null&&(!Number.isInteger(Bn)||Bn<0)){throw new ts("maxRedirections must be a positive number")}zn.validateHandler(aa,Hn.method,Hn.upgrade);this.dispatch=Me;this.location=null;this.abort=null;this.opts={...Hn,maxRedirections:0};this.maxRedirections=Bn;this.handler=aa;this.history=[];if(zn.isStream(this.opts.body)){if(zn.bodyLength(this.opts.body)===0){this.opts.body.on("data",(function(){Ci(false)}))}if(typeof this.opts.body.readableDidRead!=="boolean"){this.opts.body[ni]=false;Ps.prototype.on.call(this.opts.body,"data",(function(){this[ni]=true}))}}else if(this.opts.body&&typeof this.opts.body.pipeTo==="function"){this.opts.body=new BodyAsyncIterable(this.opts.body)}else if(this.opts.body&&typeof this.opts.body!=="string"&&!ArrayBuffer.isView(this.opts.body)&&zn.isIterable(this.opts.body)){this.opts.body=new BodyAsyncIterable(this.opts.body)}}onConnect(Me){this.abort=Me;this.handler.onConnect(Me,{history:this.history})}onUpgrade(Me,Bn,Hn){this.handler.onUpgrade(Me,Bn,Hn)}onError(Me){this.handler.onError(Me)}onHeaders(Me,Bn,Hn,ni){this.location=this.history.length>=this.maxRedirections||zn.isDisturbed(this.opts.body)?null:parseLocation(Me,Bn);if(this.opts.origin){this.history.push(new URL(this.opts.path,this.opts.origin))}if(!this.location){return this.handler.onHeaders(Me,Bn,Hn,ni)}const{origin:Ci,pathname:ts,search:Ps}=zn.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin)));const aa=Ps?`${ts}${Ps}`:ts;this.opts.headers=cleanRequestHeaders(this.opts.headers,Me===303,this.opts.origin!==Ci);this.opts.path=aa;this.opts.origin=Ci;this.opts.maxRedirections=0;this.opts.query=null;if(Me===303&&this.opts.method!=="HEAD"){this.opts.method="GET";this.opts.body=null}}onData(Me){if(this.location){}else{return this.handler.onData(Me)}}onComplete(Me){if(this.location){this.location=null;this.abort=null;this.dispatch(this.opts,this)}else{this.handler.onComplete(Me)}}onBodySent(Me){if(this.handler.onBodySent){this.handler.onBodySent(Me)}}}function parseLocation(Me,Bn){if(aa.indexOf(Me)===-1){return null}for(let Me=0;Me{const zn=Hn(42613);const{kRetryHandlerDefaultRetry:ni}=Hn(36443);const{RequestRetryError:Ci}=Hn(68707);const{isDisturbed:ts,parseHeaders:Ps,parseRangeHeader:aa}=Hn(3440);function calculateRetryAfterHeader(Me){const Bn=Date.now();const Hn=new Date(Me).getTime()-Bn;return Hn}class RetryHandler{constructor(Me,Bn){const{retryOptions:Hn,...zn}=Me;const{retry:Ci,maxRetries:ts,maxTimeout:Ps,minTimeout:aa,timeoutFactor:oa,methods:ca,errorCodes:_a,retryAfter:xa,statusCodes:Ga}=Hn??{};this.dispatch=Bn.dispatch;this.handler=Bn.handler;this.opts=zn;this.abort=null;this.aborted=false;this.retryOpts={retry:Ci??RetryHandler[ni],retryAfter:xa??true,maxTimeout:Ps??30*1e3,timeout:aa??500,timeoutFactor:oa??2,maxRetries:ts??5,methods:ca??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE"],statusCodes:Ga??[500,502,503,504,429],errorCodes:_a??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE"]};this.retryCount=0;this.start=0;this.end=null;this.etag=null;this.resume=null;this.handler.onConnect((Me=>{this.aborted=true;if(this.abort){this.abort(Me)}else{this.reason=Me}}))}onRequestSent(){if(this.handler.onRequestSent){this.handler.onRequestSent()}}onUpgrade(Me,Bn,Hn){if(this.handler.onUpgrade){this.handler.onUpgrade(Me,Bn,Hn)}}onConnect(Me){if(this.aborted){Me(this.reason)}else{this.abort=Me}}onBodySent(Me){if(this.handler.onBodySent)return this.handler.onBodySent(Me)}static[ni](Me,{state:Bn,opts:Hn},zn){const{statusCode:ni,code:Ci,headers:ts}=Me;const{method:Ps,retryOptions:aa}=Hn;const{maxRetries:oa,timeout:ca,maxTimeout:_a,timeoutFactor:xa,statusCodes:Ga,errorCodes:Ha,methods:so}=aa;let{counter:oo,currentTimeout:Jo}=Bn;Jo=Jo!=null&&Jo>0?Jo:ca;if(Ci&&Ci!=="UND_ERR_REQ_RETRY"&&Ci!=="UND_ERR_SOCKET"&&!Ha.includes(Ci)){zn(Me);return}if(Array.isArray(so)&&!so.includes(Ps)){zn(Me);return}if(ni!=null&&Array.isArray(Ga)&&!Ga.includes(ni)){zn(Me);return}if(oo>oa){zn(Me);return}let tc=ts!=null&&ts["retry-after"];if(tc){tc=Number(tc);tc=isNaN(tc)?calculateRetryAfterHeader(tc):tc*1e3}const dc=tc>0?Math.min(tc,_a):Math.min(Jo*xa**oo,_a);Bn.currentTimeout=dc;setTimeout((()=>zn(null)),dc)}onHeaders(Me,Bn,Hn,ni){const ts=Ps(Bn);this.retryCount+=1;if(Me>=300){this.abort(new Ci("Request failed",Me,{headers:ts,count:this.retryCount}));return false}if(this.resume!=null){this.resume=null;if(Me!==206){return true}const Bn=aa(ts["content-range"]);if(!Bn){this.abort(new Ci("Content-Range mismatch",Me,{headers:ts,count:this.retryCount}));return false}if(this.etag!=null&&this.etag!==ts.etag){this.abort(new Ci("ETag mismatch",Me,{headers:ts,count:this.retryCount}));return false}const{start:ni,size:Ps,end:oa=Ps}=Bn;zn(this.start===ni,"content-range mismatch");zn(this.end==null||this.end===oa,"content-range mismatch");this.resume=Hn;return true}if(this.end==null){if(Me===206){const Ci=aa(ts["content-range"]);if(Ci==null){return this.handler.onHeaders(Me,Bn,Hn,ni)}const{start:Ps,size:oa,end:ca=oa}=Ci;zn(Ps!=null&&Number.isFinite(Ps)&&this.start!==Ps,"content-range mismatch");zn(Number.isFinite(Ps));zn(ca!=null&&Number.isFinite(ca)&&this.end!==ca,"invalid content-length");this.start=Ps;this.end=ca}if(this.end==null){const Me=ts["content-length"];this.end=Me!=null?Number(Me):null}zn(Number.isFinite(this.start));zn(this.end==null||Number.isFinite(this.end),"invalid content-length");this.resume=Hn;this.etag=ts.etag!=null?ts.etag:null;return this.handler.onHeaders(Me,Bn,Hn,ni)}const oa=new Ci("Request failed",Me,{headers:ts,count:this.retryCount});this.abort(oa);return false}onData(Me){this.start+=Me.length;return this.handler.onData(Me)}onComplete(Me){this.retryCount=0;return this.handler.onComplete(Me)}onError(Me){if(this.aborted||ts(this.opts.body)){return this.handler.onError(Me)}this.retryOpts.retry(Me,{state:{counter:this.retryCount++,currentTimeout:this.retryAfter},opts:{retryOptions:this.retryOpts,...this.opts}},onRetry.bind(this));function onRetry(Me){if(Me!=null||this.aborted||ts(this.opts.body)){return this.handler.onError(Me)}if(this.start!==0){this.opts={...this.opts,headers:{...this.opts.headers,range:`bytes=${this.start}-${this.end??""}`}}}try{this.dispatch(this.opts,this)}catch(Me){this.handler.onError(Me)}}}}Me.exports=RetryHandler},64415:(Me,Bn,Hn)=>{"use strict";const zn=Hn(48299);function createRedirectInterceptor({maxRedirections:Me}){return Bn=>function Intercept(Hn,ni){const{maxRedirections:Ci=Me}=Hn;if(!Ci){return Bn(Hn,ni)}const ts=new zn(Bn,Ci,Hn,ni);Hn={...Hn,maxRedirections:0};return Bn(Hn,ts)}}Me.exports=createRedirectInterceptor},52824:(Me,Bn,Hn)=>{"use strict";Object.defineProperty(Bn,"__esModule",{value:true});Bn.SPECIAL_HEADERS=Bn.HEADER_STATE=Bn.MINOR=Bn.MAJOR=Bn.CONNECTION_TOKEN_CHARS=Bn.HEADER_CHARS=Bn.TOKEN=Bn.STRICT_TOKEN=Bn.HEX=Bn.URL_CHAR=Bn.STRICT_URL_CHAR=Bn.USERINFO_CHARS=Bn.MARK=Bn.ALPHANUM=Bn.NUM=Bn.HEX_MAP=Bn.NUM_MAP=Bn.ALPHA=Bn.FINISH=Bn.H_METHOD_MAP=Bn.METHOD_MAP=Bn.METHODS_RTSP=Bn.METHODS_ICE=Bn.METHODS_HTTP=Bn.METHODS=Bn.LENIENT_FLAGS=Bn.FLAGS=Bn.TYPE=Bn.ERROR=void 0;const zn=Hn(50172);var ni;(function(Me){Me[Me["OK"]=0]="OK";Me[Me["INTERNAL"]=1]="INTERNAL";Me[Me["STRICT"]=2]="STRICT";Me[Me["LF_EXPECTED"]=3]="LF_EXPECTED";Me[Me["UNEXPECTED_CONTENT_LENGTH"]=4]="UNEXPECTED_CONTENT_LENGTH";Me[Me["CLOSED_CONNECTION"]=5]="CLOSED_CONNECTION";Me[Me["INVALID_METHOD"]=6]="INVALID_METHOD";Me[Me["INVALID_URL"]=7]="INVALID_URL";Me[Me["INVALID_CONSTANT"]=8]="INVALID_CONSTANT";Me[Me["INVALID_VERSION"]=9]="INVALID_VERSION";Me[Me["INVALID_HEADER_TOKEN"]=10]="INVALID_HEADER_TOKEN";Me[Me["INVALID_CONTENT_LENGTH"]=11]="INVALID_CONTENT_LENGTH";Me[Me["INVALID_CHUNK_SIZE"]=12]="INVALID_CHUNK_SIZE";Me[Me["INVALID_STATUS"]=13]="INVALID_STATUS";Me[Me["INVALID_EOF_STATE"]=14]="INVALID_EOF_STATE";Me[Me["INVALID_TRANSFER_ENCODING"]=15]="INVALID_TRANSFER_ENCODING";Me[Me["CB_MESSAGE_BEGIN"]=16]="CB_MESSAGE_BEGIN";Me[Me["CB_HEADERS_COMPLETE"]=17]="CB_HEADERS_COMPLETE";Me[Me["CB_MESSAGE_COMPLETE"]=18]="CB_MESSAGE_COMPLETE";Me[Me["CB_CHUNK_HEADER"]=19]="CB_CHUNK_HEADER";Me[Me["CB_CHUNK_COMPLETE"]=20]="CB_CHUNK_COMPLETE";Me[Me["PAUSED"]=21]="PAUSED";Me[Me["PAUSED_UPGRADE"]=22]="PAUSED_UPGRADE";Me[Me["PAUSED_H2_UPGRADE"]=23]="PAUSED_H2_UPGRADE";Me[Me["USER"]=24]="USER"})(ni=Bn.ERROR||(Bn.ERROR={}));var Ci;(function(Me){Me[Me["BOTH"]=0]="BOTH";Me[Me["REQUEST"]=1]="REQUEST";Me[Me["RESPONSE"]=2]="RESPONSE"})(Ci=Bn.TYPE||(Bn.TYPE={}));var ts;(function(Me){Me[Me["CONNECTION_KEEP_ALIVE"]=1]="CONNECTION_KEEP_ALIVE";Me[Me["CONNECTION_CLOSE"]=2]="CONNECTION_CLOSE";Me[Me["CONNECTION_UPGRADE"]=4]="CONNECTION_UPGRADE";Me[Me["CHUNKED"]=8]="CHUNKED";Me[Me["UPGRADE"]=16]="UPGRADE";Me[Me["CONTENT_LENGTH"]=32]="CONTENT_LENGTH";Me[Me["SKIPBODY"]=64]="SKIPBODY";Me[Me["TRAILING"]=128]="TRAILING";Me[Me["TRANSFER_ENCODING"]=512]="TRANSFER_ENCODING"})(ts=Bn.FLAGS||(Bn.FLAGS={}));var Ps;(function(Me){Me[Me["HEADERS"]=1]="HEADERS";Me[Me["CHUNKED_LENGTH"]=2]="CHUNKED_LENGTH";Me[Me["KEEP_ALIVE"]=4]="KEEP_ALIVE"})(Ps=Bn.LENIENT_FLAGS||(Bn.LENIENT_FLAGS={}));var aa;(function(Me){Me[Me["DELETE"]=0]="DELETE";Me[Me["GET"]=1]="GET";Me[Me["HEAD"]=2]="HEAD";Me[Me["POST"]=3]="POST";Me[Me["PUT"]=4]="PUT";Me[Me["CONNECT"]=5]="CONNECT";Me[Me["OPTIONS"]=6]="OPTIONS";Me[Me["TRACE"]=7]="TRACE";Me[Me["COPY"]=8]="COPY";Me[Me["LOCK"]=9]="LOCK";Me[Me["MKCOL"]=10]="MKCOL";Me[Me["MOVE"]=11]="MOVE";Me[Me["PROPFIND"]=12]="PROPFIND";Me[Me["PROPPATCH"]=13]="PROPPATCH";Me[Me["SEARCH"]=14]="SEARCH";Me[Me["UNLOCK"]=15]="UNLOCK";Me[Me["BIND"]=16]="BIND";Me[Me["REBIND"]=17]="REBIND";Me[Me["UNBIND"]=18]="UNBIND";Me[Me["ACL"]=19]="ACL";Me[Me["REPORT"]=20]="REPORT";Me[Me["MKACTIVITY"]=21]="MKACTIVITY";Me[Me["CHECKOUT"]=22]="CHECKOUT";Me[Me["MERGE"]=23]="MERGE";Me[Me["M-SEARCH"]=24]="M-SEARCH";Me[Me["NOTIFY"]=25]="NOTIFY";Me[Me["SUBSCRIBE"]=26]="SUBSCRIBE";Me[Me["UNSUBSCRIBE"]=27]="UNSUBSCRIBE";Me[Me["PATCH"]=28]="PATCH";Me[Me["PURGE"]=29]="PURGE";Me[Me["MKCALENDAR"]=30]="MKCALENDAR";Me[Me["LINK"]=31]="LINK";Me[Me["UNLINK"]=32]="UNLINK";Me[Me["SOURCE"]=33]="SOURCE";Me[Me["PRI"]=34]="PRI";Me[Me["DESCRIBE"]=35]="DESCRIBE";Me[Me["ANNOUNCE"]=36]="ANNOUNCE";Me[Me["SETUP"]=37]="SETUP";Me[Me["PLAY"]=38]="PLAY";Me[Me["PAUSE"]=39]="PAUSE";Me[Me["TEARDOWN"]=40]="TEARDOWN";Me[Me["GET_PARAMETER"]=41]="GET_PARAMETER";Me[Me["SET_PARAMETER"]=42]="SET_PARAMETER";Me[Me["REDIRECT"]=43]="REDIRECT";Me[Me["RECORD"]=44]="RECORD";Me[Me["FLUSH"]=45]="FLUSH"})(aa=Bn.METHODS||(Bn.METHODS={}));Bn.METHODS_HTTP=[aa.DELETE,aa.GET,aa.HEAD,aa.POST,aa.PUT,aa.CONNECT,aa.OPTIONS,aa.TRACE,aa.COPY,aa.LOCK,aa.MKCOL,aa.MOVE,aa.PROPFIND,aa.PROPPATCH,aa.SEARCH,aa.UNLOCK,aa.BIND,aa.REBIND,aa.UNBIND,aa.ACL,aa.REPORT,aa.MKACTIVITY,aa.CHECKOUT,aa.MERGE,aa["M-SEARCH"],aa.NOTIFY,aa.SUBSCRIBE,aa.UNSUBSCRIBE,aa.PATCH,aa.PURGE,aa.MKCALENDAR,aa.LINK,aa.UNLINK,aa.PRI,aa.SOURCE];Bn.METHODS_ICE=[aa.SOURCE];Bn.METHODS_RTSP=[aa.OPTIONS,aa.DESCRIBE,aa.ANNOUNCE,aa.SETUP,aa.PLAY,aa.PAUSE,aa.TEARDOWN,aa.GET_PARAMETER,aa.SET_PARAMETER,aa.REDIRECT,aa.RECORD,aa.FLUSH,aa.GET,aa.POST];Bn.METHOD_MAP=zn.enumToMap(aa);Bn.H_METHOD_MAP={};Object.keys(Bn.METHOD_MAP).forEach((Me=>{if(/^H/.test(Me)){Bn.H_METHOD_MAP[Me]=Bn.METHOD_MAP[Me]}}));var oa;(function(Me){Me[Me["SAFE"]=0]="SAFE";Me[Me["SAFE_WITH_CB"]=1]="SAFE_WITH_CB";Me[Me["UNSAFE"]=2]="UNSAFE"})(oa=Bn.FINISH||(Bn.FINISH={}));Bn.ALPHA=[];for(let Me="A".charCodeAt(0);Me<="Z".charCodeAt(0);Me++){Bn.ALPHA.push(String.fromCharCode(Me));Bn.ALPHA.push(String.fromCharCode(Me+32))}Bn.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};Bn.HEX_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15};Bn.NUM=["0","1","2","3","4","5","6","7","8","9"];Bn.ALPHANUM=Bn.ALPHA.concat(Bn.NUM);Bn.MARK=["-","_",".","!","~","*","'","(",")"];Bn.USERINFO_CHARS=Bn.ALPHANUM.concat(Bn.MARK).concat(["%",";",":","&","=","+","$",","]);Bn.STRICT_URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(Bn.ALPHANUM);Bn.URL_CHAR=Bn.STRICT_URL_CHAR.concat(["\t","\f"]);for(let Me=128;Me<=255;Me++){Bn.URL_CHAR.push(Me)}Bn.HEX=Bn.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);Bn.STRICT_TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(Bn.ALPHANUM);Bn.TOKEN=Bn.STRICT_TOKEN.concat([" "]);Bn.HEADER_CHARS=["\t"];for(let Me=32;Me<=255;Me++){if(Me!==127){Bn.HEADER_CHARS.push(Me)}}Bn.CONNECTION_TOKEN_CHARS=Bn.HEADER_CHARS.filter((Me=>Me!==44));Bn.MAJOR=Bn.NUM_MAP;Bn.MINOR=Bn.MAJOR;var ca;(function(Me){Me[Me["GENERAL"]=0]="GENERAL";Me[Me["CONNECTION"]=1]="CONNECTION";Me[Me["CONTENT_LENGTH"]=2]="CONTENT_LENGTH";Me[Me["TRANSFER_ENCODING"]=3]="TRANSFER_ENCODING";Me[Me["UPGRADE"]=4]="UPGRADE";Me[Me["CONNECTION_KEEP_ALIVE"]=5]="CONNECTION_KEEP_ALIVE";Me[Me["CONNECTION_CLOSE"]=6]="CONNECTION_CLOSE";Me[Me["CONNECTION_UPGRADE"]=7]="CONNECTION_UPGRADE";Me[Me["TRANSFER_ENCODING_CHUNKED"]=8]="TRANSFER_ENCODING_CHUNKED"})(ca=Bn.HEADER_STATE||(Bn.HEADER_STATE={}));Bn.SPECIAL_HEADERS={connection:ca.CONNECTION,"content-length":ca.CONTENT_LENGTH,"proxy-connection":ca.CONNECTION,"transfer-encoding":ca.TRANSFER_ENCODING,upgrade:ca.UPGRADE}},63870:Me=>{Me.exports="AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJsbGh0dHBfc3RhdHVzX25hbWUAIRpsbGh0dHBfc2V0X2xlbmllbnRfaGVhZGVycwAiIWxsaHR0cF9zZXRfbGVuaWVudF9jaHVua2VkX2xlbmd0aAAjHWxsaHR0cF9zZXRfbGVuaWVudF9rZWVwX2FsaXZlACQkbGxodHRwX3NldF9sZW5pZW50X3RyYW5zZmVyX2VuY29kaW5nACUYbGxodHRwX21lc3NhZ2VfbmVlZHNfZW9mAD8JFwEAQQELEQECAwQFCwYHNTk3MS8tJyspCsLgAkUCAAsIABCIgICAAAsZACAAEMKAgIAAGiAAIAI2AjggACABOgAoCxwAIAAgAC8BMiAALQAuIAAQwYCAgAAQgICAgAALKgEBf0HAABDGgICAACIBEMKAgIAAGiABQYCIgIAANgI4IAEgADoAKCABCwoAIAAQyICAgAALBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LRQEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABDCgICAABogACAENgI4IAAgAzoAKCAAIAI6AC0gACABNgIYCxEAIAAgASABIAJqEMOAgIAACxAAIABBAEHcABDMgICAABoLZwEBf0EAIQECQCAAKAIMDQACQAJAAkACQCAALQAvDgMBAAMCCyAAKAI4IgFFDQAgASgCLCIBRQ0AIAAgARGAgICAAAAiAQ0DC0EADwsQyoCAgAAACyAAQcOWgIAANgIQQQ4hAQsgAQseAAJAIAAoAgwNACAAQdGbgIAANgIQIABBFTYCDAsLFgACQCAAKAIMQRVHDQAgAEEANgIMCwsWAAJAIAAoAgxBFkcNACAAQQA2AgwLCwcAIAAoAgwLBwAgACgCEAsJACAAIAE2AhALBwAgACgCFAsiAAJAIABBJEkNABDKgICAAAALIABBAnRBoLOAgABqKAIACyIAAkAgAEEuSQ0AEMqAgIAAAAsgAEECdEGwtICAAGooAgAL7gsBAX9B66iAgAAhAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABBnH9qDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0Hhp4CAAA8LQaShgIAADwtBy6yAgAAPC0H+sYCAAA8LQcCkgIAADwtBq6SAgAAPC0GNqICAAA8LQeKmgIAADwtBgLCAgAAPC0G5r4CAAA8LQdekgIAADwtB75+AgAAPC0Hhn4CAAA8LQfqfgIAADwtB8qCAgAAPC0Gor4CAAA8LQa6ygIAADwtBiLCAgAAPC0Hsp4CAAA8LQYKigIAADwtBjp2AgAAPC0HQroCAAA8LQcqjgIAADwtBxbKAgAAPC0HfnICAAA8LQdKcgIAADwtBxKCAgAAPC0HXoICAAA8LQaKfgIAADwtB7a6AgAAPC0GrsICAAA8LQdSlgIAADwtBzK6AgAAPC0H6roCAAA8LQfyrgIAADwtB0rCAgAAPC0HxnYCAAA8LQbuggIAADwtB96uAgAAPC0GQsYCAAA8LQdexgIAADwtBoq2AgAAPC0HUp4CAAA8LQeCrgIAADwtBn6yAgAAPC0HrsYCAAA8LQdWfgIAADwtByrGAgAAPC0HepYCAAA8LQdSegIAADwtB9JyAgAAPC0GnsoCAAA8LQbGdgIAADwtBoJ2AgAAPC0G5sYCAAA8LQbywgIAADwtBkqGAgAAPC0GzpoCAAA8LQemsgIAADwtBrJ6AgAAPC0HUq4CAAA8LQfemgIAADwtBgKaAgAAPC0GwoYCAAA8LQf6egIAADwtBjaOAgAAPC0GJrYCAAA8LQfeigIAADwtBoLGAgAAPC0Gun4CAAA8LQcalgIAADwtB6J6AgAAPC0GTooCAAA8LQcKvgIAADwtBw52AgAAPC0GLrICAAA8LQeGdgIAADwtBja+AgAAPC0HqoYCAAA8LQbStgIAADwtB0q+AgAAPC0HfsoCAAA8LQdKygIAADwtB8LCAgAAPC0GpooCAAA8LQfmjgIAADwtBmZ6AgAAPC0G1rICAAA8LQZuwgIAADwtBkrKAgAAPC0G2q4CAAA8LQcKigIAADwtB+LKAgAAPC0GepYCAAA8LQdCigIAADwtBup6AgAAPC0GBnoCAAA8LEMqAgIAAAAtB1qGAgAAhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAgAiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCBCIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQcaRgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIwIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAggiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2ioCAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCNCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIMIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZqAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAjgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCECIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZWQgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAI8IgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAhQiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEGqm4CAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCQCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIYIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZOAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCJCIERQ0AIAAgBBGAgICAAAAhAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIsIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAigiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2iICAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCUCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIcIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABBwpmAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCICIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZSUgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAJMIgRFDQAgACAEEYCAgIAAACEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAlQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCWCIERQ0AIAAgBBGAgICAAAAhAwsgAwtFAQF/AkACQCAALwEwQRRxQRRHDQBBASEDIAAtAChBAUYNASAALwEyQeUARiEDDAELIAAtAClBBUYhAwsgACADOgAuQQAL/gEBA39BASEDAkAgAC8BMCIEQQhxDQAgACkDIEIAUiEDCwJAAkAgAC0ALkUNAEEBIQUgAC0AKUEFRg0BQQEhBSAEQcAAcUUgA3FBAUcNAQtBACEFIARBwABxDQBBAiEFIARB//8DcSIDQQhxDQACQCADQYAEcUUNAAJAIAAtAChBAUcNACAALQAtQQpxDQBBBQ8LQQQPCwJAIANBIHENAAJAIAAtAChBAUYNACAALwEyQf//A3EiAEGcf2pB5ABJDQAgAEHMAUYNACAAQbACRg0AQQQhBSAEQShxRQ0CIANBiARxQYAERg0CC0EADwtBAEEDIAApAyBQGyEFCyAFC2IBAn9BACEBAkAgAC0AKEEBRg0AIAAvATJB//8DcSICQZx/akHkAEkNACACQcwBRg0AIAJBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhASAAQYgEcUGABEYNACAAQShxRSEBCyABC6cBAQN/AkACQAJAIAAtACpFDQAgAC0AK0UNAEEAIQMgAC8BMCIEQQJxRQ0BDAILQQAhAyAALwEwIgRBAXFFDQELQQEhAyAALQAoQQFGDQAgAC8BMkH//wNxIgVBnH9qQeQASQ0AIAVBzAFGDQAgBUGwAkYNACAEQcAAcQ0AQQAhAyAEQYgEcUGABEYNACAEQShxQQBHIQMLIABBADsBMCAAQQA6AC8gAwuZAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQBBACEBIAAvATAiAkECcUUNAQwCC0EAIQEgAC8BMCICQQFxRQ0BC0EBIQEgAC0AKEEBRg0AIAAvATJB//8DcSIAQZx/akHkAEkNACAAQcwBRg0AIABBsAJGDQAgAkHAAHENAEEAIQEgAkGIBHFBgARGDQAgAkEocUEARyEBCyABC1kAIABBGGpCADcDACAAQgA3AwAgAEE4akIANwMAIABBMGpCADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkBigGLAYwBjQGOAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwHLAcoBuAHJAbkByAG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAQDcAQtBACEQDMYBC0EOIRAMxQELQQ0hEAzEAQtBDyEQDMMBC0EQIRAMwgELQRMhEAzBAQtBFCEQDMABC0EVIRAMvwELQRYhEAy+AQtBFyEQDL0BC0EYIRAMvAELQRkhEAy7AQtBGiEQDLoBC0EbIRAMuQELQRwhEAy4AQtBCCEQDLcBC0EdIRAMtgELQSAhEAy1AQtBHyEQDLQBC0EHIRAMswELQSEhEAyyAQtBIiEQDLEBC0EeIRAMsAELQSMhEAyvAQtBEiEQDK4BC0ERIRAMrQELQSQhEAysAQtBJSEQDKsBC0EmIRAMqgELQSchEAypAQtBwwEhEAyoAQtBKSEQDKcBC0ErIRAMpgELQSwhEAylAQtBLSEQDKQBC0EuIRAMowELQS8hEAyiAQtBxAEhEAyhAQtBMCEQDKABC0E0IRAMnwELQQwhEAyeAQtBMSEQDJ0BC0EyIRAMnAELQTMhEAybAQtBOSEQDJoBC0E1IRAMmQELQcUBIRAMmAELQQshEAyXAQtBOiEQDJYBC0E2IRAMlQELQQohEAyUAQtBNyEQDJMBC0E4IRAMkgELQTwhEAyRAQtBOyEQDJABC0E9IRAMjwELQQkhEAyOAQtBKCEQDI0BC0E+IRAMjAELQT8hEAyLAQtBwAAhEAyKAQtBwQAhEAyJAQtBwgAhEAyIAQtBwwAhEAyHAQtBxAAhEAyGAQtBxQAhEAyFAQtBxgAhEAyEAQtBKiEQDIMBC0HHACEQDIIBC0HIACEQDIEBC0HJACEQDIABC0HKACEQDH8LQcsAIRAMfgtBzQAhEAx9C0HMACEQDHwLQc4AIRAMewtBzwAhEAx6C0HQACEQDHkLQdEAIRAMeAtB0gAhEAx3C0HTACEQDHYLQdQAIRAMdQtB1gAhEAx0C0HVACEQDHMLQQYhEAxyC0HXACEQDHELQQUhEAxwC0HYACEQDG8LQQQhEAxuC0HZACEQDG0LQdoAIRAMbAtB2wAhEAxrC0HcACEQDGoLQQMhEAxpC0HdACEQDGgLQd4AIRAMZwtB3wAhEAxmC0HhACEQDGULQeAAIRAMZAtB4gAhEAxjC0HjACEQDGILQQIhEAxhC0HkACEQDGALQeUAIRAMXwtB5gAhEAxeC0HnACEQDF0LQegAIRAMXAtB6QAhEAxbC0HqACEQDFoLQesAIRAMWQtB7AAhEAxYC0HtACEQDFcLQe4AIRAMVgtB7wAhEAxVC0HwACEQDFQLQfEAIRAMUwtB8gAhEAxSC0HzACEQDFELQfQAIRAMUAtB9QAhEAxPC0H2ACEQDE4LQfcAIRAMTQtB+AAhEAxMC0H5ACEQDEsLQfoAIRAMSgtB+wAhEAxJC0H8ACEQDEgLQf0AIRAMRwtB/gAhEAxGC0H/ACEQDEULQYABIRAMRAtBgQEhEAxDC0GCASEQDEILQYMBIRAMQQtBhAEhEAxAC0GFASEQDD8LQYYBIRAMPgtBhwEhEAw9C0GIASEQDDwLQYkBIRAMOwtBigEhEAw6C0GLASEQDDkLQYwBIRAMOAtBjQEhEAw3C0GOASEQDDYLQY8BIRAMNQtBkAEhEAw0C0GRASEQDDMLQZIBIRAMMgtBkwEhEAwxC0GUASEQDDALQZUBIRAMLwtBlgEhEAwuC0GXASEQDC0LQZgBIRAMLAtBmQEhEAwrC0GaASEQDCoLQZsBIRAMKQtBnAEhEAwoC0GdASEQDCcLQZ4BIRAMJgtBnwEhEAwlC0GgASEQDCQLQaEBIRAMIwtBogEhEAwiC0GjASEQDCELQaQBIRAMIAtBpQEhEAwfC0GmASEQDB4LQacBIRAMHQtBqAEhEAwcC0GpASEQDBsLQaoBIRAMGgtBqwEhEAwZC0GsASEQDBgLQa0BIRAMFwtBrgEhEAwWC0EBIRAMFQtBrwEhEAwUC0GwASEQDBMLQbEBIRAMEgtBswEhEAwRC0GyASEQDBALQbQBIRAMDwtBtQEhEAwOC0G2ASEQDA0LQbcBIRAMDAtBuAEhEAwLC0G5ASEQDAoLQboBIRAMCQtBuwEhEAwIC0HGASEQDAcLQbwBIRAMBgtBvQEhEAwFC0G+ASEQDAQLQb8BIRAMAwtBwAEhEAwCC0HCASEQDAELQcEBIRALA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8="},53434:Me=>{Me.exports="AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AcsBygG4AckBuQHIAboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBANwBC0EAIRAMxgELQQ4hEAzFAQtBDSEQDMQBC0EPIRAMwwELQRAhEAzCAQtBEyEQDMEBC0EUIRAMwAELQRUhEAy/AQtBFiEQDL4BC0EXIRAMvQELQRghEAy8AQtBGSEQDLsBC0EaIRAMugELQRshEAy5AQtBHCEQDLgBC0EIIRAMtwELQR0hEAy2AQtBICEQDLUBC0EfIRAMtAELQQchEAyzAQtBISEQDLIBC0EiIRAMsQELQR4hEAywAQtBIyEQDK8BC0ESIRAMrgELQREhEAytAQtBJCEQDKwBC0ElIRAMqwELQSYhEAyqAQtBJyEQDKkBC0HDASEQDKgBC0EpIRAMpwELQSshEAymAQtBLCEQDKUBC0EtIRAMpAELQS4hEAyjAQtBLyEQDKIBC0HEASEQDKEBC0EwIRAMoAELQTQhEAyfAQtBDCEQDJ4BC0ExIRAMnQELQTIhEAycAQtBMyEQDJsBC0E5IRAMmgELQTUhEAyZAQtBxQEhEAyYAQtBCyEQDJcBC0E6IRAMlgELQTYhEAyVAQtBCiEQDJQBC0E3IRAMkwELQTghEAySAQtBPCEQDJEBC0E7IRAMkAELQT0hEAyPAQtBCSEQDI4BC0EoIRAMjQELQT4hEAyMAQtBPyEQDIsBC0HAACEQDIoBC0HBACEQDIkBC0HCACEQDIgBC0HDACEQDIcBC0HEACEQDIYBC0HFACEQDIUBC0HGACEQDIQBC0EqIRAMgwELQccAIRAMggELQcgAIRAMgQELQckAIRAMgAELQcoAIRAMfwtBywAhEAx+C0HNACEQDH0LQcwAIRAMfAtBzgAhEAx7C0HPACEQDHoLQdAAIRAMeQtB0QAhEAx4C0HSACEQDHcLQdMAIRAMdgtB1AAhEAx1C0HWACEQDHQLQdUAIRAMcwtBBiEQDHILQdcAIRAMcQtBBSEQDHALQdgAIRAMbwtBBCEQDG4LQdkAIRAMbQtB2gAhEAxsC0HbACEQDGsLQdwAIRAMagtBAyEQDGkLQd0AIRAMaAtB3gAhEAxnC0HfACEQDGYLQeEAIRAMZQtB4AAhEAxkC0HiACEQDGMLQeMAIRAMYgtBAiEQDGELQeQAIRAMYAtB5QAhEAxfC0HmACEQDF4LQecAIRAMXQtB6AAhEAxcC0HpACEQDFsLQeoAIRAMWgtB6wAhEAxZC0HsACEQDFgLQe0AIRAMVwtB7gAhEAxWC0HvACEQDFULQfAAIRAMVAtB8QAhEAxTC0HyACEQDFILQfMAIRAMUQtB9AAhEAxQC0H1ACEQDE8LQfYAIRAMTgtB9wAhEAxNC0H4ACEQDEwLQfkAIRAMSwtB+gAhEAxKC0H7ACEQDEkLQfwAIRAMSAtB/QAhEAxHC0H+ACEQDEYLQf8AIRAMRQtBgAEhEAxEC0GBASEQDEMLQYIBIRAMQgtBgwEhEAxBC0GEASEQDEALQYUBIRAMPwtBhgEhEAw+C0GHASEQDD0LQYgBIRAMPAtBiQEhEAw7C0GKASEQDDoLQYsBIRAMOQtBjAEhEAw4C0GNASEQDDcLQY4BIRAMNgtBjwEhEAw1C0GQASEQDDQLQZEBIRAMMwtBkgEhEAwyC0GTASEQDDELQZQBIRAMMAtBlQEhEAwvC0GWASEQDC4LQZcBIRAMLQtBmAEhEAwsC0GZASEQDCsLQZoBIRAMKgtBmwEhEAwpC0GcASEQDCgLQZ0BIRAMJwtBngEhEAwmC0GfASEQDCULQaABIRAMJAtBoQEhEAwjC0GiASEQDCILQaMBIRAMIQtBpAEhEAwgC0GlASEQDB8LQaYBIRAMHgtBpwEhEAwdC0GoASEQDBwLQakBIRAMGwtBqgEhEAwaC0GrASEQDBkLQawBIRAMGAtBrQEhEAwXC0GuASEQDBYLQQEhEAwVC0GvASEQDBQLQbABIRAMEwtBsQEhEAwSC0GzASEQDBELQbIBIRAMEAtBtAEhEAwPC0G1ASEQDA4LQbYBIRAMDQtBtwEhEAwMC0G4ASEQDAsLQbkBIRAMCgtBugEhEAwJC0G7ASEQDAgLQcYBIRAMBwtBvAEhEAwGC0G9ASEQDAULQb4BIRAMBAtBvwEhEAwDC0HAASEQDAILQcIBIRAMAQtBwQEhEAsDQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw=="},50172:(Me,Bn)=>{"use strict";Object.defineProperty(Bn,"__esModule",{value:true});Bn.enumToMap=void 0;function enumToMap(Me){const Bn={};Object.keys(Me).forEach((Hn=>{const zn=Me[Hn];if(typeof zn==="number"){Bn[Hn]=zn}}));return Bn}Bn.enumToMap=enumToMap},47501:(Me,Bn,Hn)=>{"use strict";const{kClients:zn}=Hn(36443);const ni=Hn(59965);const{kAgent:Ci,kMockAgentSet:ts,kMockAgentGet:Ps,kDispatches:aa,kIsMockActive:oa,kNetConnect:ca,kGetNetConnect:_a,kOptions:xa,kFactory:Ga}=Hn(91117);const Ha=Hn(47365);const so=Hn(94004);const{matchValue:oo,buildMockOptions:Jo}=Hn(53397);const{InvalidArgumentError:tc,UndiciError:dc}=Hn(68707);const Fc=Hn(28611);const Jc=Hn(91529);const Dp=Hn(56142);class FakeWeakRef{constructor(Me){this.value=Me}deref(){return this.value}}class MockAgent extends Fc{constructor(Me){super(Me);this[ca]=true;this[oa]=true;if(Me&&Me.agent&&typeof Me.agent.dispatch!=="function"){throw new tc("Argument opts.agent must implement Agent")}const Bn=Me&&Me.agent?Me.agent:new ni(Me);this[Ci]=Bn;this[zn]=Bn[zn];this[xa]=Jo(Me)}get(Me){let Bn=this[Ps](Me);if(!Bn){Bn=this[Ga](Me);this[ts](Me,Bn)}return Bn}dispatch(Me,Bn){this.get(Me.origin);return this[Ci].dispatch(Me,Bn)}async close(){await this[Ci].close();this[zn].clear()}deactivate(){this[oa]=false}activate(){this[oa]=true}enableNetConnect(Me){if(typeof Me==="string"||typeof Me==="function"||Me instanceof RegExp){if(Array.isArray(this[ca])){this[ca].push(Me)}else{this[ca]=[Me]}}else if(typeof Me==="undefined"){this[ca]=true}else{throw new tc("Unsupported matcher. Must be one of String|Function|RegExp.")}}disableNetConnect(){this[ca]=false}get isMockActive(){return this[oa]}[ts](Me,Bn){this[zn].set(Me,new FakeWeakRef(Bn))}[Ga](Me){const Bn=Object.assign({agent:this},this[xa]);return this[xa]&&this[xa].connections===1?new Ha(Me,Bn):new so(Me,Bn)}[Ps](Me){const Bn=this[zn].get(Me);if(Bn){return Bn.deref()}if(typeof Me!=="string"){const Bn=this[Ga]("http://localhost:9999");this[ts](Me,Bn);return Bn}for(const[Bn,Hn]of Array.from(this[zn])){const zn=Hn.deref();if(zn&&typeof Bn!=="string"&&oo(Bn,Me)){const Bn=this[Ga](Me);this[ts](Me,Bn);Bn[aa]=zn[aa];return Bn}}}[_a](){return this[ca]}pendingInterceptors(){const Me=this[zn];return Array.from(Me.entries()).flatMap((([Me,Bn])=>Bn.deref()[aa].map((Bn=>({...Bn,origin:Me}))))).filter((({pending:Me})=>Me))}assertNoPendingInterceptors({pendingInterceptorsFormatter:Me=new Dp}={}){const Bn=this.pendingInterceptors();if(Bn.length===0){return}const Hn=new Jc("interceptor","interceptors").pluralize(Bn.length);throw new dc(`\n${Hn.count} ${Hn.noun} ${Hn.is} pending:\n\n${Me.format(Bn)}\n`.trim())}}Me.exports=MockAgent},47365:(Me,Bn,Hn)=>{"use strict";const{promisify:zn}=Hn(39023);const ni=Hn(86197);const{buildMockDispatch:Ci}=Hn(53397);const{kDispatches:ts,kMockAgent:Ps,kClose:aa,kOriginalClose:oa,kOrigin:ca,kOriginalDispatch:_a,kConnected:xa}=Hn(91117);const{MockInterceptor:Ga}=Hn(31511);const Ha=Hn(36443);const{InvalidArgumentError:so}=Hn(68707);class MockClient extends ni{constructor(Me,Bn){super(Me,Bn);if(!Bn||!Bn.agent||typeof Bn.agent.dispatch!=="function"){throw new so("Argument opts.agent must implement Agent")}this[Ps]=Bn.agent;this[ca]=Me;this[ts]=[];this[xa]=1;this[_a]=this.dispatch;this[oa]=this.close.bind(this);this.dispatch=Ci.call(this);this.close=this[aa]}get[Ha.kConnected](){return this[xa]}intercept(Me){return new Ga(Me,this[ts])}async[aa](){await zn(this[oa])();this[xa]=0;this[Ps][Ha.kClients].delete(this[ca])}}Me.exports=MockClient},52429:(Me,Bn,Hn)=>{"use strict";const{UndiciError:zn}=Hn(68707);class MockNotMatchedError extends zn{constructor(Me){super(Me);Error.captureStackTrace(this,MockNotMatchedError);this.name="MockNotMatchedError";this.message=Me||"The request does not match any registered mock dispatches";this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}}Me.exports={MockNotMatchedError:MockNotMatchedError}},31511:(Me,Bn,Hn)=>{"use strict";const{getResponseData:zn,buildKey:ni,addMockDispatch:Ci}=Hn(53397);const{kDispatches:ts,kDispatchKey:Ps,kDefaultHeaders:aa,kDefaultTrailers:oa,kContentLength:ca,kMockDispatch:_a}=Hn(91117);const{InvalidArgumentError:xa}=Hn(68707);const{buildURL:Ga}=Hn(3440);class MockScope{constructor(Me){this[_a]=Me}delay(Me){if(typeof Me!=="number"||!Number.isInteger(Me)||Me<=0){throw new xa("waitInMs must be a valid integer > 0")}this[_a].delay=Me;return this}persist(){this[_a].persist=true;return this}times(Me){if(typeof Me!=="number"||!Number.isInteger(Me)||Me<=0){throw new xa("repeatTimes must be a valid integer > 0")}this[_a].times=Me;return this}}class MockInterceptor{constructor(Me,Bn){if(typeof Me!=="object"){throw new xa("opts must be an object")}if(typeof Me.path==="undefined"){throw new xa("opts.path must be defined")}if(typeof Me.method==="undefined"){Me.method="GET"}if(typeof Me.path==="string"){if(Me.query){Me.path=Ga(Me.path,Me.query)}else{const Bn=new URL(Me.path,"data://");Me.path=Bn.pathname+Bn.search}}if(typeof Me.method==="string"){Me.method=Me.method.toUpperCase()}this[Ps]=ni(Me);this[ts]=Bn;this[aa]={};this[oa]={};this[ca]=false}createMockScopeDispatchData(Me,Bn,Hn={}){const ni=zn(Bn);const Ci=this[ca]?{"content-length":ni.length}:{};const ts={...this[aa],...Ci,...Hn.headers};const Ps={...this[oa],...Hn.trailers};return{statusCode:Me,data:Bn,headers:ts,trailers:Ps}}validateReplyParameters(Me,Bn,Hn){if(typeof Me==="undefined"){throw new xa("statusCode must be defined")}if(typeof Bn==="undefined"){throw new xa("data must be defined")}if(typeof Hn!=="object"){throw new xa("responseOptions must be an object")}}reply(Me){if(typeof Me==="function"){const wrappedDefaultsCallback=Bn=>{const Hn=Me(Bn);if(typeof Hn!=="object"){throw new xa("reply options callback must return an object")}const{statusCode:zn,data:ni="",responseOptions:Ci={}}=Hn;this.validateReplyParameters(zn,ni,Ci);return{...this.createMockScopeDispatchData(zn,ni,Ci)}};const Bn=Ci(this[ts],this[Ps],wrappedDefaultsCallback);return new MockScope(Bn)}const[Bn,Hn="",zn={}]=[...arguments];this.validateReplyParameters(Bn,Hn,zn);const ni=this.createMockScopeDispatchData(Bn,Hn,zn);const aa=Ci(this[ts],this[Ps],ni);return new MockScope(aa)}replyWithError(Me){if(typeof Me==="undefined"){throw new xa("error must be defined")}const Bn=Ci(this[ts],this[Ps],{error:Me});return new MockScope(Bn)}defaultReplyHeaders(Me){if(typeof Me==="undefined"){throw new xa("headers must be defined")}this[aa]=Me;return this}defaultReplyTrailers(Me){if(typeof Me==="undefined"){throw new xa("trailers must be defined")}this[oa]=Me;return this}replyContentLength(){this[ca]=true;return this}}Me.exports.MockInterceptor=MockInterceptor;Me.exports.MockScope=MockScope},94004:(Me,Bn,Hn)=>{"use strict";const{promisify:zn}=Hn(39023);const ni=Hn(35076);const{buildMockDispatch:Ci}=Hn(53397);const{kDispatches:ts,kMockAgent:Ps,kClose:aa,kOriginalClose:oa,kOrigin:ca,kOriginalDispatch:_a,kConnected:xa}=Hn(91117);const{MockInterceptor:Ga}=Hn(31511);const Ha=Hn(36443);const{InvalidArgumentError:so}=Hn(68707);class MockPool extends ni{constructor(Me,Bn){super(Me,Bn);if(!Bn||!Bn.agent||typeof Bn.agent.dispatch!=="function"){throw new so("Argument opts.agent must implement Agent")}this[Ps]=Bn.agent;this[ca]=Me;this[ts]=[];this[xa]=1;this[_a]=this.dispatch;this[oa]=this.close.bind(this);this.dispatch=Ci.call(this);this.close=this[aa]}get[Ha.kConnected](){return this[xa]}intercept(Me){return new Ga(Me,this[ts])}async[aa](){await zn(this[oa])();this[xa]=0;this[Ps][Ha.kClients].delete(this[ca])}}Me.exports=MockPool},91117:Me=>{"use strict";Me.exports={kAgent:Symbol("agent"),kOptions:Symbol("options"),kFactory:Symbol("factory"),kDispatches:Symbol("dispatches"),kDispatchKey:Symbol("dispatch key"),kDefaultHeaders:Symbol("default headers"),kDefaultTrailers:Symbol("default trailers"),kContentLength:Symbol("content length"),kMockAgent:Symbol("mock agent"),kMockAgentSet:Symbol("mock agent set"),kMockAgentGet:Symbol("mock agent get"),kMockDispatch:Symbol("mock dispatch"),kClose:Symbol("close"),kOriginalClose:Symbol("original agent close"),kOrigin:Symbol("origin"),kIsMockActive:Symbol("is mock active"),kNetConnect:Symbol("net connect"),kGetNetConnect:Symbol("get net connect"),kConnected:Symbol("connected")}},53397:(Me,Bn,Hn)=>{"use strict";const{MockNotMatchedError:zn}=Hn(52429);const{kDispatches:ni,kMockAgent:Ci,kOriginalDispatch:ts,kOrigin:Ps,kGetNetConnect:aa}=Hn(91117);const{buildURL:oa,nop:ca}=Hn(3440);const{STATUS_CODES:_a}=Hn(58611);const{types:{isPromise:xa}}=Hn(39023);function matchValue(Me,Bn){if(typeof Me==="string"){return Me===Bn}if(Me instanceof RegExp){return Me.test(Bn)}if(typeof Me==="function"){return Me(Bn)===true}return false}function lowerCaseEntries(Me){return Object.fromEntries(Object.entries(Me).map((([Me,Bn])=>[Me.toLocaleLowerCase(),Bn])))}function getHeaderByName(Me,Bn){if(Array.isArray(Me)){for(let Hn=0;Hn!Me)).filter((({path:Me})=>matchValue(safeUrl(Me),ni)));if(Ci.length===0){throw new zn(`Mock dispatch not matched for path '${ni}'`)}Ci=Ci.filter((({method:Me})=>matchValue(Me,Bn.method)));if(Ci.length===0){throw new zn(`Mock dispatch not matched for method '${Bn.method}'`)}Ci=Ci.filter((({body:Me})=>typeof Me!=="undefined"?matchValue(Me,Bn.body):true));if(Ci.length===0){throw new zn(`Mock dispatch not matched for body '${Bn.body}'`)}Ci=Ci.filter((Me=>matchHeaders(Me,Bn.headers)));if(Ci.length===0){throw new zn(`Mock dispatch not matched for headers '${typeof Bn.headers==="object"?JSON.stringify(Bn.headers):Bn.headers}'`)}return Ci[0]}function addMockDispatch(Me,Bn,Hn){const zn={timesInvoked:0,times:1,persist:false,consumed:false};const ni=typeof Hn==="function"?{callback:Hn}:{...Hn};const Ci={...zn,...Bn,pending:true,data:{error:null,...ni}};Me.push(Ci);return Ci}function deleteMockDispatch(Me,Bn){const Hn=Me.findIndex((Me=>{if(!Me.consumed){return false}return matchKey(Me,Bn)}));if(Hn!==-1){Me.splice(Hn,1)}}function buildKey(Me){const{path:Bn,method:Hn,body:zn,headers:ni,query:Ci}=Me;return{path:Bn,method:Hn,body:zn,headers:ni,query:Ci}}function generateKeyValues(Me){return Object.entries(Me).reduce(((Me,[Bn,Hn])=>[...Me,Buffer.from(`${Bn}`),Array.isArray(Hn)?Hn.map((Me=>Buffer.from(`${Me}`))):Buffer.from(`${Hn}`)]),[])}function getStatusText(Me){return _a[Me]||"unknown"}async function getResponse(Me){const Bn=[];for await(const Hn of Me){Bn.push(Hn)}return Buffer.concat(Bn).toString("utf8")}function mockDispatch(Me,Bn){const Hn=buildKey(Me);const zn=getMockDispatch(this[ni],Hn);zn.timesInvoked++;if(zn.data.callback){zn.data={...zn.data,...zn.data.callback(Me)}}const{data:{statusCode:Ci,data:ts,headers:Ps,trailers:aa,error:oa},delay:_a,persist:Ga}=zn;const{timesInvoked:Ha,times:so}=zn;zn.consumed=!Ga&&Ha>=so;zn.pending=Ha0){setTimeout((()=>{handleReply(this[ni])}),_a)}else{handleReply(this[ni])}function handleReply(zn,ni=ts){const oa=Array.isArray(Me.headers)?buildHeadersFromArray(Me.headers):Me.headers;const _a=typeof ni==="function"?ni({...Me,headers:oa}):ni;if(xa(_a)){_a.then((Me=>handleReply(zn,Me)));return}const Ga=getResponseData(_a);const Ha=generateKeyValues(Ps);const so=generateKeyValues(aa);Bn.abort=ca;Bn.onHeaders(Ci,Ha,resume,getStatusText(Ci));Bn.onData(Buffer.from(Ga));Bn.onComplete(so);deleteMockDispatch(zn,Hn)}function resume(){}return true}function buildMockDispatch(){const Me=this[Ci];const Bn=this[Ps];const Hn=this[ts];return function dispatch(ni,Ci){if(Me.isMockActive){try{mockDispatch.call(this,ni,Ci)}catch(ts){if(ts instanceof zn){const Ps=Me[aa]();if(Ps===false){throw new zn(`${ts.message}: subsequent request to origin ${Bn} was not allowed (net.connect disabled)`)}if(checkNetConnect(Ps,Bn)){Hn.call(this,ni,Ci)}else{throw new zn(`${ts.message}: subsequent request to origin ${Bn} was not allowed (net.connect is not enabled for this origin)`)}}else{throw ts}}}else{Hn.call(this,ni,Ci)}}}function checkNetConnect(Me,Bn){const Hn=new URL(Bn);if(Me===true){return true}else if(Array.isArray(Me)&&Me.some((Me=>matchValue(Me,Hn.host)))){return true}return false}function buildMockOptions(Me){if(Me){const{agent:Bn,...Hn}=Me;return Hn}}Me.exports={getResponseData:getResponseData,getMockDispatch:getMockDispatch,addMockDispatch:addMockDispatch,deleteMockDispatch:deleteMockDispatch,buildKey:buildKey,generateKeyValues:generateKeyValues,matchValue:matchValue,getResponse:getResponse,getStatusText:getStatusText,mockDispatch:mockDispatch,buildMockDispatch:buildMockDispatch,checkNetConnect:checkNetConnect,buildMockOptions:buildMockOptions,getHeaderByName:getHeaderByName}},56142:(Me,Bn,Hn)=>{"use strict";const{Transform:zn}=Hn(2203);const{Console:ni}=Hn(64236);Me.exports=class PendingInterceptorsFormatter{constructor({disableColors:Me}={}){this.transform=new zn({transform(Me,Bn,Hn){Hn(null,Me)}});this.logger=new ni({stdout:this.transform,inspectOptions:{colors:!Me&&!process.env.CI}})}format(Me){const Bn=Me.map((({method:Me,path:Bn,data:{statusCode:Hn},persist:zn,times:ni,timesInvoked:Ci,origin:ts})=>({Method:Me,Origin:ts,Path:Bn,"Status code":Hn,Persistent:zn?"✅":"❌",Invocations:Ci,Remaining:zn?Infinity:ni-Ci})));this.logger.table(Bn);return this.transform.read().toString()}}},91529:Me=>{"use strict";const Bn={pronoun:"it",is:"is",was:"was",this:"this"};const Hn={pronoun:"they",is:"are",was:"were",this:"these"};Me.exports=class Pluralizer{constructor(Me,Bn){this.singular=Me;this.plural=Bn}pluralize(Me){const zn=Me===1;const ni=zn?Bn:Hn;const Ci=zn?this.singular:this.plural;return{...ni,count:Me,noun:Ci}}}},34869:Me=>{"use strict";const Bn=2048;const Hn=Bn-1;class FixedCircularBuffer{constructor(){this.bottom=0;this.top=0;this.list=new Array(Bn);this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&Hn)===this.bottom}push(Me){this.list[this.top]=Me;this.top=this.top+1&Hn}shift(){const Me=this.list[this.bottom];if(Me===undefined)return null;this.list[this.bottom]=undefined;this.bottom=this.bottom+1&Hn;return Me}}Me.exports=class FixedQueue{constructor(){this.head=this.tail=new FixedCircularBuffer}isEmpty(){return this.head.isEmpty()}push(Me){if(this.head.isFull()){this.head=this.head.next=new FixedCircularBuffer}this.head.push(Me)}shift(){const Me=this.tail;const Bn=Me.shift();if(Me.isEmpty()&&Me.next!==null){this.tail=Me.next}return Bn}}},58640:(Me,Bn,Hn)=>{"use strict";const zn=Hn(50001);const ni=Hn(34869);const{kConnected:Ci,kSize:ts,kRunning:Ps,kPending:aa,kQueued:oa,kBusy:ca,kFree:_a,kUrl:xa,kClose:Ga,kDestroy:Ha,kDispatch:so}=Hn(36443);const oo=Hn(24622);const Jo=Symbol("clients");const tc=Symbol("needDrain");const dc=Symbol("queue");const Fc=Symbol("closed resolve");const Jc=Symbol("onDrain");const Dp=Symbol("onConnect");const kp=Symbol("onDisconnect");const Qp=Symbol("onConnectionError");const Up=Symbol("get dispatcher");const Vp=Symbol("add client");const qp=Symbol("remove client");const Jp=Symbol("stats");class PoolBase extends zn{constructor(){super();this[dc]=new ni;this[Jo]=[];this[oa]=0;const Me=this;this[Jc]=function onDrain(Bn,Hn){const zn=Me[dc];let ni=false;while(!ni){const Bn=zn.shift();if(!Bn){break}Me[oa]--;ni=!this.dispatch(Bn.opts,Bn.handler)}this[tc]=ni;if(!this[tc]&&Me[tc]){Me[tc]=false;Me.emit("drain",Bn,[Me,...Hn])}if(Me[Fc]&&zn.isEmpty()){Promise.all(Me[Jo].map((Me=>Me.close()))).then(Me[Fc])}};this[Dp]=(Bn,Hn)=>{Me.emit("connect",Bn,[Me,...Hn])};this[kp]=(Bn,Hn,zn)=>{Me.emit("disconnect",Bn,[Me,...Hn],zn)};this[Qp]=(Bn,Hn,zn)=>{Me.emit("connectionError",Bn,[Me,...Hn],zn)};this[Jp]=new oo(this)}get[ca](){return this[tc]}get[Ci](){return this[Jo].filter((Me=>Me[Ci])).length}get[_a](){return this[Jo].filter((Me=>Me[Ci]&&!Me[tc])).length}get[aa](){let Me=this[oa];for(const{[aa]:Bn}of this[Jo]){Me+=Bn}return Me}get[Ps](){let Me=0;for(const{[Ps]:Bn}of this[Jo]){Me+=Bn}return Me}get[ts](){let Me=this[oa];for(const{[ts]:Bn}of this[Jo]){Me+=Bn}return Me}get stats(){return this[Jp]}async[Ga](){if(this[dc].isEmpty()){return Promise.all(this[Jo].map((Me=>Me.close())))}else{return new Promise((Me=>{this[Fc]=Me}))}}async[Ha](Me){while(true){const Bn=this[dc].shift();if(!Bn){break}Bn.handler.onError(Me)}return Promise.all(this[Jo].map((Bn=>Bn.destroy(Me))))}[so](Me,Bn){const Hn=this[Up]();if(!Hn){this[tc]=true;this[dc].push({opts:Me,handler:Bn});this[oa]++}else if(!Hn.dispatch(Me,Bn)){Hn[tc]=true;this[tc]=!this[Up]()}return!this[tc]}[Vp](Me){Me.on("drain",this[Jc]).on("connect",this[Dp]).on("disconnect",this[kp]).on("connectionError",this[Qp]);this[Jo].push(Me);if(this[tc]){process.nextTick((()=>{if(this[tc]){this[Jc](Me[xa],[this,Me])}}))}return this}[qp](Me){Me.close((()=>{const Bn=this[Jo].indexOf(Me);if(Bn!==-1){this[Jo].splice(Bn,1)}}));this[tc]=this[Jo].some((Me=>!Me[tc]&&Me.closed!==true&&Me.destroyed!==true))}}Me.exports={PoolBase:PoolBase,kClients:Jo,kNeedDrain:tc,kAddClient:Vp,kRemoveClient:qp,kGetDispatcher:Up}},24622:(Me,Bn,Hn)=>{const{kFree:zn,kConnected:ni,kPending:Ci,kQueued:ts,kRunning:Ps,kSize:aa}=Hn(36443);const oa=Symbol("pool");class PoolStats{constructor(Me){this[oa]=Me}get connected(){return this[oa][ni]}get free(){return this[oa][zn]}get pending(){return this[oa][Ci]}get queued(){return this[oa][ts]}get running(){return this[oa][Ps]}get size(){return this[oa][aa]}}Me.exports=PoolStats},35076:(Me,Bn,Hn)=>{"use strict";const{PoolBase:zn,kClients:ni,kNeedDrain:Ci,kAddClient:ts,kGetDispatcher:Ps}=Hn(58640);const aa=Hn(86197);const{InvalidArgumentError:oa}=Hn(68707);const ca=Hn(3440);const{kUrl:_a,kInterceptors:xa}=Hn(36443);const Ga=Hn(59136);const Ha=Symbol("options");const so=Symbol("connections");const oo=Symbol("factory");function defaultFactory(Me,Bn){return new aa(Me,Bn)}class Pool extends zn{constructor(Me,{connections:Bn,factory:Hn=defaultFactory,connect:zn,connectTimeout:Ci,tls:ts,maxCachedSessions:Ps,socketPath:aa,autoSelectFamily:Jo,autoSelectFamilyAttemptTimeout:tc,allowH2:dc,...Fc}={}){super();if(Bn!=null&&(!Number.isFinite(Bn)||Bn<0)){throw new oa("invalid connections")}if(typeof Hn!=="function"){throw new oa("factory must be a function.")}if(zn!=null&&typeof zn!=="function"&&typeof zn!=="object"){throw new oa("connect must be a function or an object")}if(typeof zn!=="function"){zn=Ga({...ts,maxCachedSessions:Ps,allowH2:dc,socketPath:aa,timeout:Ci,...ca.nodeHasAutoSelectFamily&&Jo?{autoSelectFamily:Jo,autoSelectFamilyAttemptTimeout:tc}:undefined,...zn})}this[xa]=Fc.interceptors&&Fc.interceptors.Pool&&Array.isArray(Fc.interceptors.Pool)?Fc.interceptors.Pool:[];this[so]=Bn||null;this[_a]=ca.parseOrigin(Me);this[Ha]={...ca.deepClone(Fc),connect:zn,allowH2:dc};this[Ha].interceptors=Fc.interceptors?{...Fc.interceptors}:undefined;this[oo]=Hn;this.on("connectionError",((Me,Bn,Hn)=>{for(const Me of Bn){const Bn=this[ni].indexOf(Me);if(Bn!==-1){this[ni].splice(Bn,1)}}}))}[Ps](){let Me=this[ni].find((Me=>!Me[Ci]));if(Me){return Me}if(!this[so]||this[ni].length{"use strict";const{kProxy:zn,kClose:ni,kDestroy:Ci,kInterceptors:ts}=Hn(36443);const{URL:Ps}=Hn(87016);const aa=Hn(59965);const oa=Hn(35076);const ca=Hn(50001);const{InvalidArgumentError:_a,RequestAbortedError:xa}=Hn(68707);const Ga=Hn(59136);const Ha=Symbol("proxy agent");const so=Symbol("proxy client");const oo=Symbol("proxy headers");const Jo=Symbol("request tls settings");const tc=Symbol("proxy tls settings");const dc=Symbol("connect endpoint function");function defaultProtocolPort(Me){return Me==="https:"?443:80}function buildProxyOptions(Me){if(typeof Me==="string"){Me={uri:Me}}if(!Me||!Me.uri){throw new _a("Proxy opts.uri is mandatory")}return{uri:Me.uri,protocol:Me.protocol||"https"}}function defaultFactory(Me,Bn){return new oa(Me,Bn)}class ProxyAgent extends ca{constructor(Me){super(Me);this[zn]=buildProxyOptions(Me);this[Ha]=new aa(Me);this[ts]=Me.interceptors&&Me.interceptors.ProxyAgent&&Array.isArray(Me.interceptors.ProxyAgent)?Me.interceptors.ProxyAgent:[];if(typeof Me==="string"){Me={uri:Me}}if(!Me||!Me.uri){throw new _a("Proxy opts.uri is mandatory")}const{clientFactory:Bn=defaultFactory}=Me;if(typeof Bn!=="function"){throw new _a("Proxy opts.clientFactory must be a function.")}this[Jo]=Me.requestTls;this[tc]=Me.proxyTls;this[oo]=Me.headers||{};const Hn=new Ps(Me.uri);const{origin:ni,port:Ci,host:oa,username:ca,password:Fc}=Hn;if(Me.auth&&Me.token){throw new _a("opts.auth cannot be used in combination with opts.token")}else if(Me.auth){this[oo]["proxy-authorization"]=`Basic ${Me.auth}`}else if(Me.token){this[oo]["proxy-authorization"]=Me.token}else if(ca&&Fc){this[oo]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(ca)}:${decodeURIComponent(Fc)}`).toString("base64")}`}const Jc=Ga({...Me.proxyTls});this[dc]=Ga({...Me.requestTls});this[so]=Bn(Hn,{connect:Jc});this[Ha]=new aa({...Me,connect:async(Me,Bn)=>{let Hn=Me.host;if(!Me.port){Hn+=`:${defaultProtocolPort(Me.protocol)}`}try{const{socket:zn,statusCode:ts}=await this[so].connect({origin:ni,port:Ci,path:Hn,signal:Me.signal,headers:{...this[oo],host:oa}});if(ts!==200){zn.on("error",(()=>{})).destroy();Bn(new xa(`Proxy response (${ts}) !== 200 when HTTP Tunneling`))}if(Me.protocol!=="https:"){Bn(null,zn);return}let Ps;if(this[Jo]){Ps=this[Jo].servername}else{Ps=Me.servername}this[dc]({...Me,servername:Ps,httpSocket:zn},Bn)}catch(Me){Bn(Me)}}})}dispatch(Me,Bn){const{host:Hn}=new Ps(Me.origin);const zn=buildHeaders(Me.headers);throwIfProxyAuthIsSent(zn);return this[Ha].dispatch({...Me,headers:{...zn,host:Hn}},Bn)}async[ni](){await this[Ha].close();await this[so].close()}async[Ci](){await this[Ha].destroy();await this[so].destroy()}}function buildHeaders(Me){if(Array.isArray(Me)){const Bn={};for(let Hn=0;HnMe.toLowerCase()==="proxy-authorization"));if(Bn){throw new _a("Proxy-Authorization should be sent in ProxyAgent constructor")}}Me.exports=ProxyAgent},28804:Me=>{"use strict";let Bn=Date.now();let Hn;const zn=[];function onTimeout(){Bn=Date.now();let Me=zn.length;let Hn=0;while(Hn0&&Bn>=ni.state){ni.state=-1;ni.callback(ni.opaque)}if(ni.state===-1){ni.state=-2;if(Hn!==Me-1){zn[Hn]=zn.pop()}else{zn.pop()}Me-=1}else{Hn+=1}}if(zn.length>0){refreshTimeout()}}function refreshTimeout(){if(Hn&&Hn.refresh){Hn.refresh()}else{clearTimeout(Hn);Hn=setTimeout(onTimeout,1e3);if(Hn.unref){Hn.unref()}}}class Timeout{constructor(Me,Bn,Hn){this.callback=Me;this.delay=Bn;this.opaque=Hn;this.state=-2;this.refresh()}refresh(){if(this.state===-2){zn.push(this);if(!Hn||zn.length===1){refreshTimeout()}}this.state=0}clear(){this.state=-1}}Me.exports={setTimeout(Me,Bn,Hn){return Bn<1e3?setTimeout(Me,Bn,Hn):new Timeout(Me,Bn,Hn)},clearTimeout(Me){if(Me instanceof Timeout){Me.clear()}else{clearTimeout(Me)}}}},68550:(Me,Bn,Hn)=>{"use strict";const zn=Hn(31637);const{uid:ni,states:Ci}=Hn(45913);const{kReadyState:ts,kSentClose:Ps,kByteParser:aa,kReceivedClose:oa}=Hn(62933);const{fireEvent:ca,failWebsocketConnection:_a}=Hn(3574);const{CloseEvent:xa}=Hn(46255);const{makeRequest:Ga}=Hn(25194);const{fetching:Ha}=Hn(12315);const{Headers:so}=Hn(26349);const{getGlobalDispatcher:oo}=Hn(32581);const{kHeadersList:Jo}=Hn(36443);const tc={};tc.open=zn.channel("undici:websocket:open");tc.close=zn.channel("undici:websocket:close");tc.socketError=zn.channel("undici:websocket:socket_error");let dc;try{dc=Hn(76982)}catch{}function establishWebSocketConnection(Me,Bn,Hn,zn,Ci){const ts=Me;ts.protocol=Me.protocol==="ws:"?"http:":"https:";const Ps=Ga({urlList:[ts],serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error"});if(Ci.headers){const Me=new so(Ci.headers)[Jo];Ps.headersList=Me}const aa=dc.randomBytes(16).toString("base64");Ps.headersList.append("sec-websocket-key",aa);Ps.headersList.append("sec-websocket-version","13");for(const Me of Bn){Ps.headersList.append("sec-websocket-protocol",Me)}const oa="";const ca=Ha({request:Ps,useParallelQueue:true,dispatcher:Ci.dispatcher??oo(),processResponse(Me){if(Me.type==="error"||Me.status!==101){_a(Hn,"Received network error or non-101 status code.");return}if(Bn.length!==0&&!Me.headersList.get("Sec-WebSocket-Protocol")){_a(Hn,"Server did not respond with sent protocols.");return}if(Me.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){_a(Hn,'Server did not set Upgrade header to "websocket".');return}if(Me.headersList.get("Connection")?.toLowerCase()!=="upgrade"){_a(Hn,'Server did not set Connection header to "upgrade".');return}const Ci=Me.headersList.get("Sec-WebSocket-Accept");const ts=dc.createHash("sha1").update(aa+ni).digest("base64");if(Ci!==ts){_a(Hn,"Incorrect hash received in Sec-WebSocket-Accept header.");return}const ca=Me.headersList.get("Sec-WebSocket-Extensions");if(ca!==null&&ca!==oa){_a(Hn,"Received different permessage-deflate than the one set.");return}const xa=Me.headersList.get("Sec-WebSocket-Protocol");if(xa!==null&&xa!==Ps.headersList.get("Sec-WebSocket-Protocol")){_a(Hn,"Protocol was not set in the opening handshake.");return}Me.socket.on("data",onSocketData);Me.socket.on("close",onSocketClose);Me.socket.on("error",onSocketError);if(tc.open.hasSubscribers){tc.open.publish({address:Me.socket.address(),protocol:xa,extensions:ca})}zn(Me)}});return ca}function onSocketData(Me){if(!this.ws[aa].write(Me)){this.pause()}}function onSocketClose(){const{ws:Me}=this;const Bn=Me[Ps]&&Me[oa];let Hn=1005;let zn="";const ni=Me[aa].closingInfo;if(ni){Hn=ni.code??1005;zn=ni.reason}else if(!Me[Ps]){Hn=1006}Me[ts]=Ci.CLOSED;ca("close",Me,xa,{wasClean:Bn,code:Hn,reason:zn});if(tc.close.hasSubscribers){tc.close.publish({websocket:Me,code:Hn,reason:zn})}}function onSocketError(Me){const{ws:Bn}=this;Bn[ts]=Ci.CLOSING;if(tc.socketError.hasSubscribers){tc.socketError.publish(Me)}this.destroy()}Me.exports={establishWebSocketConnection:establishWebSocketConnection}},45913:Me=>{"use strict";const Bn="258EAFA5-E914-47DA-95CA-C5AB0DC85B11";const Hn={enumerable:true,writable:false,configurable:false};const zn={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};const ni={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10};const Ci=2**16-1;const ts={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4};const Ps=Buffer.allocUnsafe(0);Me.exports={uid:Bn,staticPropertyDescriptors:Hn,states:zn,opcodes:ni,maxUnsigned16Bit:Ci,parserStates:ts,emptyBuffer:Ps}},46255:(Me,Bn,Hn)=>{"use strict";const{webidl:zn}=Hn(74222);const{kEnumerableProperty:ni}=Hn(3440);const{MessagePort:Ci}=Hn(28167);class MessageEvent extends Event{#W;constructor(Me,Bn={}){zn.argumentLengthCheck(arguments,1,{header:"MessageEvent constructor"});Me=zn.converters.DOMString(Me);Bn=zn.converters.MessageEventInit(Bn);super(Me,Bn);this.#W=Bn}get data(){zn.brandCheck(this,MessageEvent);return this.#W.data}get origin(){zn.brandCheck(this,MessageEvent);return this.#W.origin}get lastEventId(){zn.brandCheck(this,MessageEvent);return this.#W.lastEventId}get source(){zn.brandCheck(this,MessageEvent);return this.#W.source}get ports(){zn.brandCheck(this,MessageEvent);if(!Object.isFrozen(this.#W.ports)){Object.freeze(this.#W.ports)}return this.#W.ports}initMessageEvent(Me,Bn=false,Hn=false,ni=null,Ci="",ts="",Ps=null,aa=[]){zn.brandCheck(this,MessageEvent);zn.argumentLengthCheck(arguments,1,{header:"MessageEvent.initMessageEvent"});return new MessageEvent(Me,{bubbles:Bn,cancelable:Hn,data:ni,origin:Ci,lastEventId:ts,source:Ps,ports:aa})}}class CloseEvent extends Event{#W;constructor(Me,Bn={}){zn.argumentLengthCheck(arguments,1,{header:"CloseEvent constructor"});Me=zn.converters.DOMString(Me);Bn=zn.converters.CloseEventInit(Bn);super(Me,Bn);this.#W=Bn}get wasClean(){zn.brandCheck(this,CloseEvent);return this.#W.wasClean}get code(){zn.brandCheck(this,CloseEvent);return this.#W.code}get reason(){zn.brandCheck(this,CloseEvent);return this.#W.reason}}class ErrorEvent extends Event{#W;constructor(Me,Bn){zn.argumentLengthCheck(arguments,1,{header:"ErrorEvent constructor"});super(Me,Bn);Me=zn.converters.DOMString(Me);Bn=zn.converters.ErrorEventInit(Bn??{});this.#W=Bn}get message(){zn.brandCheck(this,ErrorEvent);return this.#W.message}get filename(){zn.brandCheck(this,ErrorEvent);return this.#W.filename}get lineno(){zn.brandCheck(this,ErrorEvent);return this.#W.lineno}get colno(){zn.brandCheck(this,ErrorEvent);return this.#W.colno}get error(){zn.brandCheck(this,ErrorEvent);return this.#W.error}}Object.defineProperties(MessageEvent.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:true},data:ni,origin:ni,lastEventId:ni,source:ni,ports:ni,initMessageEvent:ni});Object.defineProperties(CloseEvent.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:true},reason:ni,code:ni,wasClean:ni});Object.defineProperties(ErrorEvent.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:true},message:ni,filename:ni,lineno:ni,colno:ni,error:ni});zn.converters.MessagePort=zn.interfaceConverter(Ci);zn.converters["sequence"]=zn.sequenceConverter(zn.converters.MessagePort);const ts=[{key:"bubbles",converter:zn.converters.boolean,defaultValue:false},{key:"cancelable",converter:zn.converters.boolean,defaultValue:false},{key:"composed",converter:zn.converters.boolean,defaultValue:false}];zn.converters.MessageEventInit=zn.dictionaryConverter([...ts,{key:"data",converter:zn.converters.any,defaultValue:null},{key:"origin",converter:zn.converters.USVString,defaultValue:""},{key:"lastEventId",converter:zn.converters.DOMString,defaultValue:""},{key:"source",converter:zn.nullableConverter(zn.converters.MessagePort),defaultValue:null},{key:"ports",converter:zn.converters["sequence"],get defaultValue(){return[]}}]);zn.converters.CloseEventInit=zn.dictionaryConverter([...ts,{key:"wasClean",converter:zn.converters.boolean,defaultValue:false},{key:"code",converter:zn.converters["unsigned short"],defaultValue:0},{key:"reason",converter:zn.converters.USVString,defaultValue:""}]);zn.converters.ErrorEventInit=zn.dictionaryConverter([...ts,{key:"message",converter:zn.converters.DOMString,defaultValue:""},{key:"filename",converter:zn.converters.USVString,defaultValue:""},{key:"lineno",converter:zn.converters["unsigned long"],defaultValue:0},{key:"colno",converter:zn.converters["unsigned long"],defaultValue:0},{key:"error",converter:zn.converters.any}]);Me.exports={MessageEvent:MessageEvent,CloseEvent:CloseEvent,ErrorEvent:ErrorEvent}},31237:(Me,Bn,Hn)=>{"use strict";const{maxUnsigned16Bit:zn}=Hn(45913);let ni;try{ni=Hn(76982)}catch{}class WebsocketFrameSend{constructor(Me){this.frameData=Me;this.maskKey=ni.randomBytes(4)}createFrame(Me){const Bn=this.frameData?.byteLength??0;let Hn=Bn;let ni=6;if(Bn>zn){ni+=8;Hn=127}else if(Bn>125){ni+=2;Hn=126}const Ci=Buffer.allocUnsafe(Bn+ni);Ci[0]=Ci[1]=0;Ci[0]|=128;Ci[0]=(Ci[0]&240)+Me; /*! ws. MIT License. Einar Otto Stangvik */Ci[ni-4]=this.maskKey[0];Ci[ni-3]=this.maskKey[1];Ci[ni-2]=this.maskKey[2];Ci[ni-1]=this.maskKey[3];Ci[1]=Hn;if(Hn===126){Ci.writeUInt16BE(Bn,2)}else if(Hn===127){Ci[2]=Ci[3]=0;Ci.writeUIntBE(Bn,4,6)}Ci[1]|=128;for(let Me=0;Me{"use strict";const{Writable:zn}=Hn(2203);const ni=Hn(31637);const{parserStates:Ci,opcodes:ts,states:Ps,emptyBuffer:aa}=Hn(45913);const{kReadyState:oa,kSentClose:ca,kResponse:_a,kReceivedClose:xa}=Hn(62933);const{isValidStatusCode:Ga,failWebsocketConnection:Ha,websocketMessageReceived:so}=Hn(3574);const{WebsocketFrameSend:oo}=Hn(31237);const Jo={};Jo.ping=ni.channel("undici:websocket:ping");Jo.pong=ni.channel("undici:websocket:pong");class ByteParser extends zn{#X=[];#Z=0;#v=Ci.INFO;#te={};#re=[];constructor(Me){super();this.ws=Me}_write(Me,Bn,Hn){this.#X.push(Me);this.#Z+=Me.length;this.run(Hn)}run(Me){while(true){if(this.#v===Ci.INFO){if(this.#Z<2){return Me()}const Bn=this.consume(2);this.#te.fin=(Bn[0]&128)!==0;this.#te.opcode=Bn[0]&15;this.#te.originalOpcode??=this.#te.opcode;this.#te.fragmented=!this.#te.fin&&this.#te.opcode!==ts.CONTINUATION;if(this.#te.fragmented&&this.#te.opcode!==ts.BINARY&&this.#te.opcode!==ts.TEXT){Ha(this.ws,"Invalid frame type was fragmented.");return}const Hn=Bn[1]&127;if(Hn<=125){this.#te.payloadLength=Hn;this.#v=Ci.READ_DATA}else if(Hn===126){this.#v=Ci.PAYLOADLENGTH_16}else if(Hn===127){this.#v=Ci.PAYLOADLENGTH_64}if(this.#te.fragmented&&Hn>125){Ha(this.ws,"Fragmented frame exceeded 125 bytes.");return}else if((this.#te.opcode===ts.PING||this.#te.opcode===ts.PONG||this.#te.opcode===ts.CLOSE)&&Hn>125){Ha(this.ws,"Payload length for control frame exceeded 125 bytes.");return}else if(this.#te.opcode===ts.CLOSE){if(Hn===1){Ha(this.ws,"Received close frame with a 1-byte body.");return}const Me=this.consume(Hn);this.#te.closeInfo=this.parseCloseBody(false,Me);if(!this.ws[ca]){const Me=Buffer.allocUnsafe(2);Me.writeUInt16BE(this.#te.closeInfo.code,0);const Bn=new oo(Me);this.ws[_a].socket.write(Bn.createFrame(ts.CLOSE),(Me=>{if(!Me){this.ws[ca]=true}}))}this.ws[oa]=Ps.CLOSING;this.ws[xa]=true;this.end();return}else if(this.#te.opcode===ts.PING){const Bn=this.consume(Hn);if(!this.ws[xa]){const Me=new oo(Bn);this.ws[_a].socket.write(Me.createFrame(ts.PONG));if(Jo.ping.hasSubscribers){Jo.ping.publish({payload:Bn})}}this.#v=Ci.INFO;if(this.#Z>0){continue}else{Me();return}}else if(this.#te.opcode===ts.PONG){const Bn=this.consume(Hn);if(Jo.pong.hasSubscribers){Jo.pong.publish({payload:Bn})}if(this.#Z>0){continue}else{Me();return}}}else if(this.#v===Ci.PAYLOADLENGTH_16){if(this.#Z<2){return Me()}const Bn=this.consume(2);this.#te.payloadLength=Bn.readUInt16BE(0);this.#v=Ci.READ_DATA}else if(this.#v===Ci.PAYLOADLENGTH_64){if(this.#Z<8){return Me()}const Bn=this.consume(8);const Hn=Bn.readUInt32BE(0);if(Hn>2**31-1){Ha(this.ws,"Received payload length > 2^31 bytes.");return}const zn=Bn.readUInt32BE(4);this.#te.payloadLength=(Hn<<8)+zn;this.#v=Ci.READ_DATA}else if(this.#v===Ci.READ_DATA){if(this.#Z=this.#te.payloadLength){const Me=this.consume(this.#te.payloadLength);this.#re.push(Me);if(!this.#te.fragmented||this.#te.fin&&this.#te.opcode===ts.CONTINUATION){const Me=Buffer.concat(this.#re);so(this.ws,this.#te.originalOpcode,Me);this.#te={};this.#re.length=0}this.#v=Ci.INFO}}if(this.#Z>0){continue}else{Me();break}}}consume(Me){if(Me>this.#Z){return null}else if(Me===0){return aa}if(this.#X[0].length===Me){this.#Z-=this.#X[0].length;return this.#X.shift()}const Bn=Buffer.allocUnsafe(Me);let Hn=0;while(Hn!==Me){const zn=this.#X[0];const{length:ni}=zn;if(ni+Hn===Me){Bn.set(this.#X.shift(),Hn);break}else if(ni+Hn>Me){Bn.set(zn.subarray(0,Me-Hn),Hn);this.#X[0]=zn.subarray(Me-Hn);break}else{Bn.set(this.#X.shift(),Hn);Hn+=zn.length}}this.#Z-=Me;return Bn}parseCloseBody(Me,Bn){let Hn;if(Bn.length>=2){Hn=Bn.readUInt16BE(0)}if(Me){if(!Ga(Hn)){return null}return{code:Hn}}let zn=Bn.subarray(2);if(zn[0]===239&&zn[1]===187&&zn[2]===191){zn=zn.subarray(3)}if(Hn!==undefined&&!Ga(Hn)){return null}try{zn=new TextDecoder("utf-8",{fatal:true}).decode(zn)}catch{return null}return{code:Hn,reason:zn}}get closingInfo(){return this.#te.closeInfo}}Me.exports={ByteParser:ByteParser}},62933:Me=>{"use strict";Me.exports={kWebSocketURL:Symbol("url"),kReadyState:Symbol("ready state"),kController:Symbol("controller"),kResponse:Symbol("response"),kBinaryType:Symbol("binary type"),kSentClose:Symbol("sent close"),kReceivedClose:Symbol("received close"),kByteParser:Symbol("byte parser")}},3574:(Me,Bn,Hn)=>{"use strict";const{kReadyState:zn,kController:ni,kResponse:Ci,kBinaryType:ts,kWebSocketURL:Ps}=Hn(62933);const{states:aa,opcodes:oa}=Hn(45913);const{MessageEvent:ca,ErrorEvent:_a}=Hn(46255);function isEstablished(Me){return Me[zn]===aa.OPEN}function isClosing(Me){return Me[zn]===aa.CLOSING}function isClosed(Me){return Me[zn]===aa.CLOSED}function fireEvent(Me,Bn,Hn=Event,zn){const ni=new Hn(Me,zn);Bn.dispatchEvent(ni)}function websocketMessageReceived(Me,Bn,Hn){if(Me[zn]!==aa.OPEN){return}let ni;if(Bn===oa.TEXT){try{ni=new TextDecoder("utf-8",{fatal:true}).decode(Hn)}catch{failWebsocketConnection(Me,"Received invalid UTF-8 in text frame.");return}}else if(Bn===oa.BINARY){if(Me[ts]==="blob"){ni=new Blob([Hn])}else{ni=new Uint8Array(Hn).buffer}}fireEvent("message",Me,ca,{origin:Me[Ps].origin,data:ni})}function isValidSubprotocol(Me){if(Me.length===0){return false}for(const Bn of Me){const Me=Bn.charCodeAt(0);if(Me<33||Me>126||Bn==="("||Bn===")"||Bn==="<"||Bn===">"||Bn==="@"||Bn===","||Bn===";"||Bn===":"||Bn==="\\"||Bn==='"'||Bn==="/"||Bn==="["||Bn==="]"||Bn==="?"||Bn==="="||Bn==="{"||Bn==="}"||Me===32||Me===9){return false}}return true}function isValidStatusCode(Me){if(Me>=1e3&&Me<1015){return Me!==1004&&Me!==1005&&Me!==1006}return Me>=3e3&&Me<=4999}function failWebsocketConnection(Me,Bn){const{[ni]:Hn,[Ci]:zn}=Me;Hn.abort();if(zn?.socket&&!zn.socket.destroyed){zn.socket.destroy()}if(Bn){fireEvent("error",Me,_a,{error:new Error(Bn)})}}Me.exports={isEstablished:isEstablished,isClosing:isClosing,isClosed:isClosed,fireEvent:fireEvent,isValidSubprotocol:isValidSubprotocol,isValidStatusCode:isValidStatusCode,failWebsocketConnection:failWebsocketConnection,websocketMessageReceived:websocketMessageReceived}},55171:(Me,Bn,Hn)=>{"use strict";const{webidl:zn}=Hn(74222);const{DOMException:ni}=Hn(87326);const{URLSerializer:Ci}=Hn(94322);const{getGlobalOrigin:ts}=Hn(75628);const{staticPropertyDescriptors:Ps,states:aa,opcodes:oa,emptyBuffer:ca}=Hn(45913);const{kWebSocketURL:_a,kReadyState:xa,kController:Ga,kBinaryType:Ha,kResponse:so,kSentClose:oo,kByteParser:Jo}=Hn(62933);const{isEstablished:tc,isClosing:dc,isValidSubprotocol:Fc,failWebsocketConnection:Jc,fireEvent:Dp}=Hn(3574);const{establishWebSocketConnection:kp}=Hn(68550);const{WebsocketFrameSend:Qp}=Hn(31237);const{ByteParser:Up}=Hn(43171);const{kEnumerableProperty:Vp,isBlobLike:qp}=Hn(3440);const{getGlobalDispatcher:Jp}=Hn(32581);const{types:Wp}=Hn(39023);let zp=false;class WebSocket extends EventTarget{#R={open:null,error:null,close:null,message:null};#ue=0;#ce="";#ne="";constructor(Me,Bn=[]){super();zn.argumentLengthCheck(arguments,1,{header:"WebSocket constructor"});if(!zp){zp=true;process.emitWarning("WebSockets are experimental, expect them to change at any time.",{code:"UNDICI-WS"})}const Hn=zn.converters["DOMString or sequence or WebSocketInit"](Bn);Me=zn.converters.USVString(Me);Bn=Hn.protocols;const Ci=ts();let Ps;try{Ps=new URL(Me,Ci)}catch(Me){throw new ni(Me,"SyntaxError")}if(Ps.protocol==="http:"){Ps.protocol="ws:"}else if(Ps.protocol==="https:"){Ps.protocol="wss:"}if(Ps.protocol!=="ws:"&&Ps.protocol!=="wss:"){throw new ni(`Expected a ws: or wss: protocol, got ${Ps.protocol}`,"SyntaxError")}if(Ps.hash||Ps.href.endsWith("#")){throw new ni("Got fragment","SyntaxError")}if(typeof Bn==="string"){Bn=[Bn]}if(Bn.length!==new Set(Bn.map((Me=>Me.toLowerCase()))).size){throw new ni("Invalid Sec-WebSocket-Protocol value","SyntaxError")}if(Bn.length>0&&!Bn.every((Me=>Fc(Me)))){throw new ni("Invalid Sec-WebSocket-Protocol value","SyntaxError")}this[_a]=new URL(Ps.href);this[Ga]=kp(Ps,Bn,this,(Me=>this.#pe(Me)),Hn);this[xa]=WebSocket.CONNECTING;this[Ha]="blob"}close(Me=undefined,Bn=undefined){zn.brandCheck(this,WebSocket);if(Me!==undefined){Me=zn.converters["unsigned short"](Me,{clamp:true})}if(Bn!==undefined){Bn=zn.converters.USVString(Bn)}if(Me!==undefined){if(Me!==1e3&&(Me<3e3||Me>4999)){throw new ni("invalid code","InvalidAccessError")}}let Hn=0;if(Bn!==undefined){Hn=Buffer.byteLength(Bn);if(Hn>123){throw new ni(`Reason must be less than 123 bytes; received ${Hn}`,"SyntaxError")}}if(this[xa]===WebSocket.CLOSING||this[xa]===WebSocket.CLOSED){}else if(!tc(this)){Jc(this,"Connection was closed before it was established.");this[xa]=WebSocket.CLOSING}else if(!dc(this)){const zn=new Qp;if(Me!==undefined&&Bn===undefined){zn.frameData=Buffer.allocUnsafe(2);zn.frameData.writeUInt16BE(Me,0)}else if(Me!==undefined&&Bn!==undefined){zn.frameData=Buffer.allocUnsafe(2+Hn);zn.frameData.writeUInt16BE(Me,0);zn.frameData.write(Bn,2,"utf-8")}else{zn.frameData=ca}const ni=this[so].socket;ni.write(zn.createFrame(oa.CLOSE),(Me=>{if(!Me){this[oo]=true}}));this[xa]=aa.CLOSING}else{this[xa]=WebSocket.CLOSING}}send(Me){zn.brandCheck(this,WebSocket);zn.argumentLengthCheck(arguments,1,{header:"WebSocket.send"});Me=zn.converters.WebSocketSendData(Me);if(this[xa]===WebSocket.CONNECTING){throw new ni("Sent before connected.","InvalidStateError")}if(!tc(this)||dc(this)){return}const Bn=this[so].socket;if(typeof Me==="string"){const Hn=Buffer.from(Me);const zn=new Qp(Hn);const ni=zn.createFrame(oa.TEXT);this.#ue+=Hn.byteLength;Bn.write(ni,(()=>{this.#ue-=Hn.byteLength}))}else if(Wp.isArrayBuffer(Me)){const Hn=Buffer.from(Me);const zn=new Qp(Hn);const ni=zn.createFrame(oa.BINARY);this.#ue+=Hn.byteLength;Bn.write(ni,(()=>{this.#ue-=Hn.byteLength}))}else if(ArrayBuffer.isView(Me)){const Hn=Buffer.from(Me,Me.byteOffset,Me.byteLength);const zn=new Qp(Hn);const ni=zn.createFrame(oa.BINARY);this.#ue+=Hn.byteLength;Bn.write(ni,(()=>{this.#ue-=Hn.byteLength}))}else if(qp(Me)){const Hn=new Qp;Me.arrayBuffer().then((Me=>{const zn=Buffer.from(Me);Hn.frameData=zn;const ni=Hn.createFrame(oa.BINARY);this.#ue+=zn.byteLength;Bn.write(ni,(()=>{this.#ue-=zn.byteLength}))}))}}get readyState(){zn.brandCheck(this,WebSocket);return this[xa]}get bufferedAmount(){zn.brandCheck(this,WebSocket);return this.#ue}get url(){zn.brandCheck(this,WebSocket);return Ci(this[_a])}get extensions(){zn.brandCheck(this,WebSocket);return this.#ne}get protocol(){zn.brandCheck(this,WebSocket);return this.#ce}get onopen(){zn.brandCheck(this,WebSocket);return this.#R.open}set onopen(Me){zn.brandCheck(this,WebSocket);if(this.#R.open){this.removeEventListener("open",this.#R.open)}if(typeof Me==="function"){this.#R.open=Me;this.addEventListener("open",Me)}else{this.#R.open=null}}get onerror(){zn.brandCheck(this,WebSocket);return this.#R.error}set onerror(Me){zn.brandCheck(this,WebSocket);if(this.#R.error){this.removeEventListener("error",this.#R.error)}if(typeof Me==="function"){this.#R.error=Me;this.addEventListener("error",Me)}else{this.#R.error=null}}get onclose(){zn.brandCheck(this,WebSocket);return this.#R.close}set onclose(Me){zn.brandCheck(this,WebSocket);if(this.#R.close){this.removeEventListener("close",this.#R.close)}if(typeof Me==="function"){this.#R.close=Me;this.addEventListener("close",Me)}else{this.#R.close=null}}get onmessage(){zn.brandCheck(this,WebSocket);return this.#R.message}set onmessage(Me){zn.brandCheck(this,WebSocket);if(this.#R.message){this.removeEventListener("message",this.#R.message)}if(typeof Me==="function"){this.#R.message=Me;this.addEventListener("message",Me)}else{this.#R.message=null}}get binaryType(){zn.brandCheck(this,WebSocket);return this[Ha]}set binaryType(Me){zn.brandCheck(this,WebSocket);if(Me!=="blob"&&Me!=="arraybuffer"){this[Ha]="blob"}else{this[Ha]=Me}}#pe(Me){this[so]=Me;const Bn=new Up(this);Bn.on("drain",(function onParserDrain(){this.ws[so].socket.resume()}));Me.socket.ws=this;this[Jo]=Bn;this[xa]=aa.OPEN;const Hn=Me.headersList.get("sec-websocket-extensions");if(Hn!==null){this.#ne=Hn}const zn=Me.headersList.get("sec-websocket-protocol");if(zn!==null){this.#ce=zn}Dp("open",this)}}WebSocket.CONNECTING=WebSocket.prototype.CONNECTING=aa.CONNECTING;WebSocket.OPEN=WebSocket.prototype.OPEN=aa.OPEN;WebSocket.CLOSING=WebSocket.prototype.CLOSING=aa.CLOSING;WebSocket.CLOSED=WebSocket.prototype.CLOSED=aa.CLOSED;Object.defineProperties(WebSocket.prototype,{CONNECTING:Ps,OPEN:Ps,CLOSING:Ps,CLOSED:Ps,url:Vp,readyState:Vp,bufferedAmount:Vp,onopen:Vp,onerror:Vp,onclose:Vp,close:Vp,onmessage:Vp,binaryType:Vp,send:Vp,extensions:Vp,protocol:Vp,[Symbol.toStringTag]:{value:"WebSocket",writable:false,enumerable:false,configurable:true}});Object.defineProperties(WebSocket,{CONNECTING:Ps,OPEN:Ps,CLOSING:Ps,CLOSED:Ps});zn.converters["sequence"]=zn.sequenceConverter(zn.converters.DOMString);zn.converters["DOMString or sequence"]=function(Me){if(zn.util.Type(Me)==="Object"&&Symbol.iterator in Me){return zn.converters["sequence"](Me)}return zn.converters.DOMString(Me)};zn.converters.WebSocketInit=zn.dictionaryConverter([{key:"protocols",converter:zn.converters["DOMString or sequence"],get defaultValue(){return[]}},{key:"dispatcher",converter:Me=>Me,get defaultValue(){return Jp()}},{key:"headers",converter:zn.nullableConverter(zn.converters.HeadersInit)}]);zn.converters["DOMString or sequence or WebSocketInit"]=function(Me){if(zn.util.Type(Me)==="Object"&&!(Symbol.iterator in Me)){return zn.converters.WebSocketInit(Me)}return{protocols:zn.converters["DOMString or sequence"](Me)}};zn.converters.WebSocketSendData=function(Me){if(zn.util.Type(Me)==="Object"){if(qp(Me)){return zn.converters.Blob(Me,{strict:false})}if(ArrayBuffer.isView(Me)||Wp.isAnyArrayBuffer(Me)){return zn.converters.BufferSource(Me)}}return zn.converters.USVString(Me)};Me.exports={WebSocket:WebSocket}},33843:(Me,Bn)=>{"use strict";Object.defineProperty(Bn,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&process.version!==undefined){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}Bn.getUserAgent=getUserAgent},58264:Me=>{Me.exports=wrappy;function wrappy(Me,Bn){if(Me&&Bn)return wrappy(Me)(Bn);if(typeof Me!=="function")throw new TypeError("need wrapper function");Object.keys(Me).forEach((function(Bn){wrapper[Bn]=Me[Bn]}));return wrapper;function wrapper(){var Bn=new Array(arguments.length);for(var Hn=0;Hn{"use strict";Object.defineProperty(Bn,"__esModule",{value:true});var Hn=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(Me){return typeof Me}:function(Me){return Me&&typeof Symbol==="function"&&Me.constructor===Symbol?"symbol":typeof Me};function isLower(Me){return Me>=97&&Me<=122}function isUpper(Me){return Me>=65&&Me<=90}function isDigit(Me){return Me>=48&&Me<=57}function toUpper(Me){return Me-32}function toUpperSafe(Me){if(isLower(Me)){return Me-32}return Me}function toLower(Me){return Me+32}function camelize$1(Me,Bn){var Hn=Me.charCodeAt(0);if(isDigit(Hn)||isUpper(Hn)||Hn==Bn){return Me}var zn=[];var ni=false;if(isUpper(Hn)){ni=true;zn.push(toLower(Hn))}else{zn.push(Hn)}var Ci=Me.length;for(var ts=1;ts0){Ci.push(Bn)}Ci.push(toLower(Ps));ni=true}else{Ci.push(Ps)}}return ni?String.fromCharCode.apply(undefined,Ci):Me}function shouldProcessValue(Me){return Me&&(typeof Me==="undefined"?"undefined":Hn(Me))=="object"&&!(Me instanceof Date)&&!(Me instanceof Function)}function processKeys(Me,Bn,Hn){var zn=void 0;if(Me instanceof Array){zn=[]}else{if(typeof Me.prototype!=="undefined"){return Me}zn={}}for(var ni in Me){var Ci=Me[ni];if(typeof ni==="string")ni=Bn(ni,Hn&&Hn.separator);if(shouldProcessValue(Ci)){zn[ni]=processKeys(Ci,Bn,Hn)}else{zn[ni]=Ci}}return zn}function processKeysInPlace(Me,Bn,Hn){var zn=Object.keys(Me);for(var ni=0;ni{module.exports=eval("require")("chokidar")},87788:(Me,Bn,Hn)=>{var zn={"./BurstyRateLimiter":[85860],"./BurstyRateLimiter.js":[85860],"./ExpressBruteFlexible":[83966,966],"./ExpressBruteFlexible.js":[83966,966],"./RLWrapperBlackAndWhite":[87383],"./RLWrapperBlackAndWhite.js":[87383],"./RLWrapperTimeouts":[24016],"./RLWrapperTimeouts.js":[24016],"./RateLimiterAbstract":[88569],"./RateLimiterAbstract.js":[88569],"./RateLimiterCluster":[10565],"./RateLimiterCluster.js":[10565],"./RateLimiterDrizzle":[50673],"./RateLimiterDrizzle.js":[50673],"./RateLimiterDrizzleNonAtomic":[75347],"./RateLimiterDrizzleNonAtomic.js":[75347],"./RateLimiterDynamo":[82309],"./RateLimiterDynamo.js":[82309],"./RateLimiterEtcd":[36481],"./RateLimiterEtcd.js":[36481],"./RateLimiterEtcdNonAtomic":[15299],"./RateLimiterEtcdNonAtomic.js":[15299],"./RateLimiterInsuredAbstract":[33847],"./RateLimiterInsuredAbstract.js":[33847],"./RateLimiterMemcache":[73250],"./RateLimiterMemcache.js":[73250],"./RateLimiterMemory":[24544],"./RateLimiterMemory.js":[24544],"./RateLimiterMongo":[28439],"./RateLimiterMongo.js":[28439],"./RateLimiterMySQL":[67793],"./RateLimiterMySQL.js":[67793],"./RateLimiterPostgres":[3740],"./RateLimiterPostgres.js":[3740],"./RateLimiterPrisma":[16323],"./RateLimiterPrisma.js":[16323],"./RateLimiterQueue":[52860],"./RateLimiterQueue.js":[52860],"./RateLimiterRedis":[54336],"./RateLimiterRedis.js":[54336],"./RateLimiterRes":[80449],"./RateLimiterRes.js":[80449],"./RateLimiterSQLite":[73283],"./RateLimiterSQLite.js":[73283],"./RateLimiterStoreAbstract":[65140],"./RateLimiterStoreAbstract.js":[65140],"./RateLimiterUnion":[10244],"./RateLimiterUnion.js":[10244],"./RateLimiterValkey":[32193],"./RateLimiterValkey.js":[32193],"./RateLimiterValkeyGlide":[53756],"./RateLimiterValkeyGlide.js":[53756],"./component/BlockedKeys":[38830],"./component/BlockedKeys/":[38830],"./component/BlockedKeys/BlockedKeys":[85202],"./component/BlockedKeys/BlockedKeys.js":[85202],"./component/BlockedKeys/index":[38830],"./component/BlockedKeys/index.js":[38830],"./component/MemoryStorage":[28178,178],"./component/MemoryStorage/":[28178,178],"./component/MemoryStorage/MemoryStorage":[81534],"./component/MemoryStorage/MemoryStorage.js":[81534],"./component/MemoryStorage/Record":[60749],"./component/MemoryStorage/Record.js":[60749],"./component/MemoryStorage/index":[28178,178],"./component/MemoryStorage/index.js":[28178,178],"./component/RateLimiterEtcdTransactionFailedError":[43184],"./component/RateLimiterEtcdTransactionFailedError.js":[43184],"./component/RateLimiterQueueError":[27948],"./component/RateLimiterQueueError.js":[27948],"./component/RateLimiterSetupError":[72922],"./component/RateLimiterSetupError.js":[72922],"./constants":[13880,880],"./constants.js":[13880,880]};function webpackAsyncContext(Me){if(!Hn.o(zn,Me)){return Promise.resolve().then((()=>{var Bn=new Error("Cannot find module '"+Me+"'");Bn.code="MODULE_NOT_FOUND";throw Bn}))}var Bn=zn[Me],ni=Bn[0];return Promise.all(Bn.slice(1).map(Hn.e)).then((()=>Hn.t(ni,7|16)))}webpackAsyncContext.keys=()=>Object.keys(zn);webpackAsyncContext.id=87788;Me.exports=webpackAsyncContext},42613:Me=>{"use strict";Me.exports=require("assert")},90290:Me=>{"use strict";Me.exports=require("async_hooks")},20181:Me=>{"use strict";Me.exports=require("buffer")},35317:Me=>{"use strict";Me.exports=require("child_process")},29907:Me=>{"use strict";Me.exports=require("cluster")},64236:Me=>{"use strict";Me.exports=require("console")},76982:Me=>{"use strict";Me.exports=require("crypto")},31637:Me=>{"use strict";Me.exports=require("diagnostics_channel")},73167:Me=>{"use strict";Me.exports=require("domain")},24434:Me=>{"use strict";Me.exports=require("events")},79896:Me=>{"use strict";Me.exports=require("fs")},58611:Me=>{"use strict";Me.exports=require("http")},85675:Me=>{"use strict";Me.exports=require("http2")},65692:Me=>{"use strict";Me.exports=require("https")},23346:Me=>{"use strict";Me.exports=require("isolated-vm")},73339:Me=>{"use strict";Me.exports=require("module")},69278:Me=>{"use strict";Me.exports=require("net")},34589:Me=>{"use strict";Me.exports=require("node:assert")},16698:Me=>{"use strict";Me.exports=require("node:async_hooks")},4573:Me=>{"use strict";Me.exports=require("node:buffer")},37540:Me=>{"use strict";Me.exports=require("node:console")},77598:Me=>{"use strict";Me.exports=require("node:crypto")},53053:Me=>{"use strict";Me.exports=require("node:diagnostics_channel")},40610:Me=>{"use strict";Me.exports=require("node:dns")},78474:Me=>{"use strict";Me.exports=require("node:events")},37067:Me=>{"use strict";Me.exports=require("node:http")},32467:Me=>{"use strict";Me.exports=require("node:http2")},77030:Me=>{"use strict";Me.exports=require("node:net")},643:Me=>{"use strict";Me.exports=require("node:perf_hooks")},41792:Me=>{"use strict";Me.exports=require("node:querystring")},57075:Me=>{"use strict";Me.exports=require("node:stream")},41692:Me=>{"use strict";Me.exports=require("node:tls")},73136:Me=>{"use strict";Me.exports=require("node:url")},57975:Me=>{"use strict";Me.exports=require("node:util")},73429:Me=>{"use strict";Me.exports=require("node:util/types")},75919:Me=>{"use strict";Me.exports=require("node:worker_threads")},38522:Me=>{"use strict";Me.exports=require("node:zlib")},70857:Me=>{"use strict";Me.exports=require("os")},16928:Me=>{"use strict";Me.exports=require("path")},82987:Me=>{"use strict";Me.exports=require("perf_hooks")},83480:Me=>{"use strict";Me.exports=require("querystring")},2203:Me=>{"use strict";Me.exports=require("stream")},63774:Me=>{"use strict";Me.exports=require("stream/web")},13193:Me=>{"use strict";Me.exports=require("string_decoder")},53557:Me=>{"use strict";Me.exports=require("timers")},64756:Me=>{"use strict";Me.exports=require("tls")},52018:Me=>{"use strict";Me.exports=require("tty")},87016:Me=>{"use strict";Me.exports=require("url")},39023:Me=>{"use strict";Me.exports=require("util")},98253:Me=>{"use strict";Me.exports=require("util/types")},28167:Me=>{"use strict";Me.exports=require("worker_threads")},43106:Me=>{"use strict";Me.exports=require("zlib")},27182:(Me,Bn,Hn)=>{"use strict";const zn=Hn(57075).Writable;const ni=Hn(57975).inherits;const Ci=Hn(84136);const ts=Hn(50612);const Ps=Hn(84652);const aa=45;const oa=Buffer.from("-");const ca=Buffer.from("\r\n");const EMPTY_FN=function(){};function Dicer(Me){if(!(this instanceof Dicer)){return new Dicer(Me)}zn.call(this,Me);if(!Me||!Me.headerFirst&&typeof Me.boundary!=="string"){throw new TypeError("Boundary required")}if(typeof Me.boundary==="string"){this.setBoundary(Me.boundary)}else{this._bparser=undefined}this._headerFirst=Me.headerFirst;this._dashes=0;this._parts=0;this._finished=false;this._realFinish=false;this._isPreamble=true;this._justMatched=false;this._firstWrite=true;this._inHeader=true;this._part=undefined;this._cb=undefined;this._ignoreData=false;this._partOpts={highWaterMark:Me.partHwm};this._pause=false;const Bn=this;this._hparser=new Ps(Me);this._hparser.on("header",(function(Me){Bn._inHeader=false;Bn._part.emit("header",Me)}))}ni(Dicer,zn);Dicer.prototype.emit=function(Me){if(Me==="finish"&&!this._realFinish){if(!this._finished){const Me=this;process.nextTick((function(){Me.emit("error",new Error("Unexpected end of multipart data"));if(Me._part&&!Me._ignoreData){const Bn=Me._isPreamble?"Preamble":"Part";Me._part.emit("error",new Error(Bn+" terminated early due to unexpected end of multipart data"));Me._part.push(null);process.nextTick((function(){Me._realFinish=true;Me.emit("finish");Me._realFinish=false}));return}Me._realFinish=true;Me.emit("finish");Me._realFinish=false}))}}else{zn.prototype.emit.apply(this,arguments)}};Dicer.prototype._write=function(Me,Bn,Hn){if(!this._hparser&&!this._bparser){return Hn()}if(this._headerFirst&&this._isPreamble){if(!this._part){this._part=new ts(this._partOpts);if(this.listenerCount("preamble")!==0){this.emit("preamble",this._part)}else{this._ignore()}}const Bn=this._hparser.push(Me);if(!this._inHeader&&Bn!==undefined&&Bn{"use strict";const zn=Hn(78474).EventEmitter;const ni=Hn(57975).inherits;const Ci=Hn(22393);const ts=Hn(84136);const Ps=Buffer.from("\r\n\r\n");const aa=/\r\n/g;const oa=/^([^:]+):[ \t]?([\x00-\xFF]+)?$/;function HeaderParser(Me){zn.call(this);Me=Me||{};const Bn=this;this.nread=0;this.maxed=false;this.npairs=0;this.maxHeaderPairs=Ci(Me,"maxHeaderPairs",2e3);this.maxHeaderSize=Ci(Me,"maxHeaderSize",80*1024);this.buffer="";this.header={};this.finished=false;this.ss=new ts(Ps);this.ss.on("info",(function(Me,Hn,zn,ni){if(Hn&&!Bn.maxed){if(Bn.nread+ni-zn>=Bn.maxHeaderSize){ni=Bn.maxHeaderSize-Bn.nread+zn;Bn.nread=Bn.maxHeaderSize;Bn.maxed=true}else{Bn.nread+=ni-zn}Bn.buffer+=Hn.toString("binary",zn,ni)}if(Me){Bn._finish()}}))}ni(HeaderParser,zn);HeaderParser.prototype.push=function(Me){const Bn=this.ss.push(Me);if(this.finished){return Bn}};HeaderParser.prototype.reset=function(){this.finished=false;this.buffer="";this.header={};this.ss.reset()};HeaderParser.prototype._finish=function(){if(this.buffer){this._parseHeader()}this.ss.matches=this.ss.maxMatches;const Me=this.header;this.header={};this.buffer="";this.finished=true;this.nread=this.npairs=0;this.maxed=false;this.emit("header",Me)};HeaderParser.prototype._parseHeader=function(){if(this.npairs===this.maxHeaderPairs){return}const Me=this.buffer.split(aa);const Bn=Me.length;let Hn,zn;for(var ni=0;ni{"use strict";const zn=Hn(57975).inherits;const ni=Hn(57075).Readable;function PartStream(Me){ni.call(this,Me)}zn(PartStream,ni);PartStream.prototype._read=function(Me){};Me.exports=PartStream},84136:(Me,Bn,Hn)=>{"use strict";const zn=Hn(78474).EventEmitter;const ni=Hn(57975).inherits;function SBMH(Me){if(typeof Me==="string"){Me=Buffer.from(Me)}if(!Buffer.isBuffer(Me)){throw new TypeError("The needle has to be a String or a Buffer.")}const Bn=Me.length;if(Bn===0){throw new Error("The needle cannot be an empty String/Buffer.")}if(Bn>256){throw new Error("The needle cannot have a length bigger than 256.")}this.maxMatches=Infinity;this.matches=0;this._occ=new Array(256).fill(Bn);this._lookbehind_size=0;this._needle=Me;this._bufpos=0;this._lookbehind=Buffer.alloc(Bn);for(var Hn=0;Hn=0){this.emit("info",false,this._lookbehind,0,this._lookbehind_size);this._lookbehind_size=0}else{const Hn=this._lookbehind_size+Ci;if(Hn>0){this.emit("info",false,this._lookbehind,0,Hn)}this._lookbehind.copy(this._lookbehind,0,Hn,this._lookbehind_size-Hn);this._lookbehind_size-=Hn;Me.copy(this._lookbehind,this._lookbehind_size);this._lookbehind_size+=Bn;this._bufpos=Bn;return Bn}}Ci+=(Ci>=0)*this._bufpos;if(Me.indexOf(Hn,Ci)!==-1){Ci=Me.indexOf(Hn,Ci);++this.matches;if(Ci>0){this.emit("info",true,Me,this._bufpos,Ci)}else{this.emit("info",true)}return this._bufpos=Ci+zn}else{Ci=Bn-zn}while(Ci0){this.emit("info",false,Me,this._bufpos,Ci{"use strict";const zn=Hn(57075).Writable;const{inherits:ni}=Hn(57975);const Ci=Hn(27182);const ts=Hn(41192);const Ps=Hn(80855);const aa=Hn(8929);function Busboy(Me){if(!(this instanceof Busboy)){return new Busboy(Me)}if(typeof Me!=="object"){throw new TypeError("Busboy expected an options-Object.")}if(typeof Me.headers!=="object"){throw new TypeError("Busboy expected an options-Object with headers-attribute.")}if(typeof Me.headers["content-type"]!=="string"){throw new TypeError("Missing Content-Type-header.")}const{headers:Bn,...Hn}=Me;this.opts={autoDestroy:false,...Hn};zn.call(this,this.opts);this._done=false;this._parser=this.getParserByHeaders(Bn);this._finished=false}ni(Busboy,zn);Busboy.prototype.emit=function(Me){if(Me==="finish"){if(!this._done){this._parser?.end();return}else if(this._finished){return}this._finished=true}zn.prototype.emit.apply(this,arguments)};Busboy.prototype.getParserByHeaders=function(Me){const Bn=aa(Me["content-type"]);const Hn={defCharset:this.opts.defCharset,fileHwm:this.opts.fileHwm,headers:Me,highWaterMark:this.opts.highWaterMark,isPartAFile:this.opts.isPartAFile,limits:this.opts.limits,parsedConType:Bn,preservePath:this.opts.preservePath};if(ts.detect.test(Bn[0])){return new ts(this,Hn)}if(Ps.detect.test(Bn[0])){return new Ps(this,Hn)}throw new Error("Unsupported Content-Type.")};Busboy.prototype._write=function(Me,Bn,Hn){this._parser.write(Me,Hn)};Me.exports=Busboy;Me.exports["default"]=Busboy;Me.exports.Busboy=Busboy;Me.exports.Dicer=Ci},41192:(Me,Bn,Hn)=>{"use strict";const{Readable:zn}=Hn(57075);const{inherits:ni}=Hn(57975);const Ci=Hn(27182);const ts=Hn(8929);const Ps=Hn(72747);const aa=Hn(20692);const oa=Hn(22393);const ca=/^boundary$/i;const _a=/^form-data$/i;const xa=/^charset$/i;const Ga=/^filename$/i;const Ha=/^name$/i;Multipart.detect=/^multipart\/form-data/i;function Multipart(Me,Bn){let Hn;let zn;const ni=this;let so;const oo=Bn.limits;const Jo=Bn.isPartAFile||((Me,Bn,Hn)=>Bn==="application/octet-stream"||Hn!==undefined);const tc=Bn.parsedConType||[];const dc=Bn.defCharset||"utf8";const Fc=Bn.preservePath;const Jc={highWaterMark:Bn.fileHwm};for(Hn=0,zn=tc.length;HnVp){ni.parser.removeListener("part",onPart);ni.parser.on("part",skipPart);Me.hitPartsLimit=true;Me.emit("partsLimit");return skipPart(Bn)}if(Kf){const Me=Kf;Me.emit("end");Me.removeAllListeners("end")}Bn.on("header",(function(Ci){let oa;let ca;let so;let oo;let tc;let Vp;let qp=0;if(Ci["content-type"]){so=ts(Ci["content-type"][0]);if(so[0]){oa=so[0].toLowerCase();for(Hn=0,zn=so.length;Hnkp){const zn=kp-qp+Me.length;if(zn>0){Hn.push(Me.slice(0,zn))}Hn.truncated=true;Hn.bytesRead=kp;Bn.removeAllListeners("data");Hn.emit("limit");return}else if(!Hn.push(Me)){ni._pause=true}Hn.bytesRead=qp};Xf=function(){Yf=undefined;Hn.push(null)}}else{if(zp===Up){if(!Me.hitFieldsLimit){Me.hitFieldsLimit=true;Me.emit("fieldsLimit")}return skipPart(Bn)}++zp;++Qf;let Hn="";let zn=false;Kf=Bn;Jp=function(Me){if((qp+=Me.length)>Dp){const ni=Dp-(qp-Me.length);Hn+=Me.toString("binary",0,ni);zn=true;Bn.removeAllListeners("data")}else{Hn+=Me.toString("binary")}};Xf=function(){Kf=undefined;if(Hn.length){Hn=Ps(Hn,"binary",oo)}Me.emit("field",ca,Hn,false,zn,tc,oa);--Qf;checkFinished()}}Bn._readableState.sync=false;Bn.on("data",Jp);Bn.on("end",Xf)})).on("error",(function(Me){if(Yf){Yf.emit("error",Me)}}))})).on("error",(function(Bn){Me.emit("error",Bn)})).on("finish",(function(){Xf=true;checkFinished()}))}Multipart.prototype.write=function(Me,Bn){const Hn=this.parser.write(Me);if(Hn&&!this._pause){Bn()}else{this._needDrain=!Hn;this._cb=Bn}};Multipart.prototype.end=function(){const Me=this;if(Me.parser.writable){Me.parser.end()}else if(!Me._boy._done){process.nextTick((function(){Me._boy._done=true;Me._boy.emit("finish")}))}};function skipPart(Me){Me.resume()}function FileStream(Me){zn.call(this,Me);this.bytesRead=0;this.truncated=false}ni(FileStream,zn);FileStream.prototype._read=function(Me){};Me.exports=Multipart},80855:(Me,Bn,Hn)=>{"use strict";const zn=Hn(11496);const ni=Hn(72747);const Ci=Hn(22393);const ts=/^charset$/i;UrlEncoded.detect=/^application\/x-www-form-urlencoded/i;function UrlEncoded(Me,Bn){const Hn=Bn.limits;const ni=Bn.parsedConType;this.boy=Me;this.fieldSizeLimit=Ci(Hn,"fieldSize",1*1024*1024);this.fieldNameSizeLimit=Ci(Hn,"fieldNameSize",100);this.fieldsLimit=Ci(Hn,"fields",Infinity);let Ps;for(var aa=0,oa=ni.length;aats){this._key+=this.decoder.write(Me.toString("binary",ts,Hn))}this._state="val";this._hitLimit=false;this._checkingBytes=true;this._val="";this._bytesVal=0;this._valTrunc=false;this.decoder.reset();ts=Hn+1}else if(zn!==undefined){++this._fields;let Hn;const Ci=this._keyTrunc;if(zn>ts){Hn=this._key+=this.decoder.write(Me.toString("binary",ts,zn))}else{Hn=this._key}this._hitLimit=false;this._checkingBytes=true;this._key="";this._bytesKey=0;this._keyTrunc=false;this.decoder.reset();if(Hn.length){this.boy.emit("field",ni(Hn,"binary",this.charset),"",Ci,false)}ts=zn+1;if(this._fields===this.fieldsLimit){return Bn()}}else if(this._hitLimit){if(Ci>ts){this._key+=this.decoder.write(Me.toString("binary",ts,Ci))}ts=Ci;if((this._bytesKey=this._key.length)===this.fieldNameSizeLimit){this._checkingBytes=false;this._keyTrunc=true}}else{if(tsts){this._val+=this.decoder.write(Me.toString("binary",ts,zn))}this.boy.emit("field",ni(this._key,"binary",this.charset),ni(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc);this._state="key";this._hitLimit=false;this._checkingBytes=true;this._key="";this._bytesKey=0;this._keyTrunc=false;this.decoder.reset();ts=zn+1;if(this._fields===this.fieldsLimit){return Bn()}}else if(this._hitLimit){if(Ci>ts){this._val+=this.decoder.write(Me.toString("binary",ts,Ci))}ts=Ci;if(this._val===""&&this.fieldSizeLimit===0||(this._bytesVal=this._val.length)===this.fieldSizeLimit){this._checkingBytes=false;this._valTrunc=true}}else{if(ts0){this.boy.emit("field",ni(this._key,"binary",this.charset),"",this._keyTrunc,false)}else if(this._state==="val"){this.boy.emit("field",ni(this._key,"binary",this.charset),ni(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc)}this.boy._done=true;this.boy.emit("finish")};Me.exports=UrlEncoded},11496:Me=>{"use strict";const Bn=/\+/g;const Hn=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];function Decoder(){this.buffer=undefined}Decoder.prototype.write=function(Me){Me=Me.replace(Bn," ");let zn="";let ni=0;let Ci=0;const ts=Me.length;for(;niCi){zn+=Me.substring(Ci,ni);Ci=ni}this.buffer="";++Ci}}if(Ci{"use strict";Me.exports=function basename(Me){if(typeof Me!=="string"){return""}for(var Bn=Me.length-1;Bn>=0;--Bn){switch(Me.charCodeAt(Bn)){case 47:case 92:Me=Me.slice(Bn+1);return Me===".."||Me==="."?"":Me}}return Me===".."||Me==="."?"":Me}},72747:function(Me){"use strict";const Bn=new TextDecoder("utf-8");const Hn=new Map([["utf-8",Bn],["utf8",Bn]]);function getDecoder(Me){let Bn;while(true){switch(Me){case"utf-8":case"utf8":return zn.utf8;case"latin1":case"ascii":case"us-ascii":case"iso-8859-1":case"iso8859-1":case"iso88591":case"iso_8859-1":case"windows-1252":case"iso_8859-1:1987":case"cp1252":case"x-cp1252":return zn.latin1;case"utf16le":case"utf-16le":case"ucs2":case"ucs-2":return zn.utf16le;case"base64":return zn.base64;default:if(Bn===undefined){Bn=true;Me=Me.toLowerCase();continue}return zn.other.bind(Me)}}}const zn={utf8:(Me,Bn)=>{if(Me.length===0){return""}if(typeof Me==="string"){Me=Buffer.from(Me,Bn)}return Me.utf8Slice(0,Me.length)},latin1:(Me,Bn)=>{if(Me.length===0){return""}if(typeof Me==="string"){return Me}return Me.latin1Slice(0,Me.length)},utf16le:(Me,Bn)=>{if(Me.length===0){return""}if(typeof Me==="string"){Me=Buffer.from(Me,Bn)}return Me.ucs2Slice(0,Me.length)},base64:(Me,Bn)=>{if(Me.length===0){return""}if(typeof Me==="string"){Me=Buffer.from(Me,Bn)}return Me.base64Slice(0,Me.length)},other:(Me,Bn)=>{if(Me.length===0){return""}if(typeof Me==="string"){Me=Buffer.from(Me,Bn)}if(Hn.has(this.toString())){try{return Hn.get(this).decode(Me)}catch{}}return typeof Me==="string"?Me:Me.toString()}};function decodeText(Me,Bn,Hn){if(Me){return getDecoder(Hn)(Me,Bn)}return Me}Me.exports=decodeText},22393:Me=>{"use strict";Me.exports=function getLimit(Me,Bn,Hn){if(!Me||Me[Bn]===undefined||Me[Bn]===null){return Hn}if(typeof Me[Bn]!=="number"||isNaN(Me[Bn])){throw new TypeError("Limit "+Bn+" is not a valid number")}return Me[Bn]}},8929:(Me,Bn,Hn)=>{"use strict";const zn=Hn(72747);const ni=/%[a-fA-F0-9][a-fA-F0-9]/g;const Ci={"%00":"\0","%01":"","%02":"","%03":"","%04":"","%05":"","%06":"","%07":"","%08":"\b","%09":"\t","%0a":"\n","%0A":"\n","%0b":"\v","%0B":"\v","%0c":"\f","%0C":"\f","%0d":"\r","%0D":"\r","%0e":"","%0E":"","%0f":"","%0F":"","%10":"","%11":"","%12":"","%13":"","%14":"","%15":"","%16":"","%17":"","%18":"","%19":"","%1a":"","%1A":"","%1b":"","%1B":"","%1c":"","%1C":"","%1d":"","%1D":"","%1e":"","%1E":"","%1f":"","%1F":"","%20":" ","%21":"!","%22":'"',"%23":"#","%24":"$","%25":"%","%26":"&","%27":"'","%28":"(","%29":")","%2a":"*","%2A":"*","%2b":"+","%2B":"+","%2c":",","%2C":",","%2d":"-","%2D":"-","%2e":".","%2E":".","%2f":"/","%2F":"/","%30":"0","%31":"1","%32":"2","%33":"3","%34":"4","%35":"5","%36":"6","%37":"7","%38":"8","%39":"9","%3a":":","%3A":":","%3b":";","%3B":";","%3c":"<","%3C":"<","%3d":"=","%3D":"=","%3e":">","%3E":">","%3f":"?","%3F":"?","%40":"@","%41":"A","%42":"B","%43":"C","%44":"D","%45":"E","%46":"F","%47":"G","%48":"H","%49":"I","%4a":"J","%4A":"J","%4b":"K","%4B":"K","%4c":"L","%4C":"L","%4d":"M","%4D":"M","%4e":"N","%4E":"N","%4f":"O","%4F":"O","%50":"P","%51":"Q","%52":"R","%53":"S","%54":"T","%55":"U","%56":"V","%57":"W","%58":"X","%59":"Y","%5a":"Z","%5A":"Z","%5b":"[","%5B":"[","%5c":"\\","%5C":"\\","%5d":"]","%5D":"]","%5e":"^","%5E":"^","%5f":"_","%5F":"_","%60":"`","%61":"a","%62":"b","%63":"c","%64":"d","%65":"e","%66":"f","%67":"g","%68":"h","%69":"i","%6a":"j","%6A":"j","%6b":"k","%6B":"k","%6c":"l","%6C":"l","%6d":"m","%6D":"m","%6e":"n","%6E":"n","%6f":"o","%6F":"o","%70":"p","%71":"q","%72":"r","%73":"s","%74":"t","%75":"u","%76":"v","%77":"w","%78":"x","%79":"y","%7a":"z","%7A":"z","%7b":"{","%7B":"{","%7c":"|","%7C":"|","%7d":"}","%7D":"}","%7e":"~","%7E":"~","%7f":"","%7F":"","%80":"€","%81":"","%82":"‚","%83":"ƒ","%84":"„","%85":"…","%86":"†","%87":"‡","%88":"ˆ","%89":"‰","%8a":"Š","%8A":"Š","%8b":"‹","%8B":"‹","%8c":"Œ","%8C":"Œ","%8d":"","%8D":"","%8e":"Ž","%8E":"Ž","%8f":"","%8F":"","%90":"","%91":"‘","%92":"’","%93":"“","%94":"”","%95":"•","%96":"–","%97":"—","%98":"˜","%99":"™","%9a":"š","%9A":"š","%9b":"›","%9B":"›","%9c":"œ","%9C":"œ","%9d":"","%9D":"","%9e":"ž","%9E":"ž","%9f":"Ÿ","%9F":"Ÿ","%a0":" ","%A0":" ","%a1":"¡","%A1":"¡","%a2":"¢","%A2":"¢","%a3":"£","%A3":"£","%a4":"¤","%A4":"¤","%a5":"¥","%A5":"¥","%a6":"¦","%A6":"¦","%a7":"§","%A7":"§","%a8":"¨","%A8":"¨","%a9":"©","%A9":"©","%aa":"ª","%Aa":"ª","%aA":"ª","%AA":"ª","%ab":"«","%Ab":"«","%aB":"«","%AB":"«","%ac":"¬","%Ac":"¬","%aC":"¬","%AC":"¬","%ad":"­","%Ad":"­","%aD":"­","%AD":"­","%ae":"®","%Ae":"®","%aE":"®","%AE":"®","%af":"¯","%Af":"¯","%aF":"¯","%AF":"¯","%b0":"°","%B0":"°","%b1":"±","%B1":"±","%b2":"²","%B2":"²","%b3":"³","%B3":"³","%b4":"´","%B4":"´","%b5":"µ","%B5":"µ","%b6":"¶","%B6":"¶","%b7":"·","%B7":"·","%b8":"¸","%B8":"¸","%b9":"¹","%B9":"¹","%ba":"º","%Ba":"º","%bA":"º","%BA":"º","%bb":"»","%Bb":"»","%bB":"»","%BB":"»","%bc":"¼","%Bc":"¼","%bC":"¼","%BC":"¼","%bd":"½","%Bd":"½","%bD":"½","%BD":"½","%be":"¾","%Be":"¾","%bE":"¾","%BE":"¾","%bf":"¿","%Bf":"¿","%bF":"¿","%BF":"¿","%c0":"À","%C0":"À","%c1":"Á","%C1":"Á","%c2":"Â","%C2":"Â","%c3":"Ã","%C3":"Ã","%c4":"Ä","%C4":"Ä","%c5":"Å","%C5":"Å","%c6":"Æ","%C6":"Æ","%c7":"Ç","%C7":"Ç","%c8":"È","%C8":"È","%c9":"É","%C9":"É","%ca":"Ê","%Ca":"Ê","%cA":"Ê","%CA":"Ê","%cb":"Ë","%Cb":"Ë","%cB":"Ë","%CB":"Ë","%cc":"Ì","%Cc":"Ì","%cC":"Ì","%CC":"Ì","%cd":"Í","%Cd":"Í","%cD":"Í","%CD":"Í","%ce":"Î","%Ce":"Î","%cE":"Î","%CE":"Î","%cf":"Ï","%Cf":"Ï","%cF":"Ï","%CF":"Ï","%d0":"Ð","%D0":"Ð","%d1":"Ñ","%D1":"Ñ","%d2":"Ò","%D2":"Ò","%d3":"Ó","%D3":"Ó","%d4":"Ô","%D4":"Ô","%d5":"Õ","%D5":"Õ","%d6":"Ö","%D6":"Ö","%d7":"×","%D7":"×","%d8":"Ø","%D8":"Ø","%d9":"Ù","%D9":"Ù","%da":"Ú","%Da":"Ú","%dA":"Ú","%DA":"Ú","%db":"Û","%Db":"Û","%dB":"Û","%DB":"Û","%dc":"Ü","%Dc":"Ü","%dC":"Ü","%DC":"Ü","%dd":"Ý","%Dd":"Ý","%dD":"Ý","%DD":"Ý","%de":"Þ","%De":"Þ","%dE":"Þ","%DE":"Þ","%df":"ß","%Df":"ß","%dF":"ß","%DF":"ß","%e0":"à","%E0":"à","%e1":"á","%E1":"á","%e2":"â","%E2":"â","%e3":"ã","%E3":"ã","%e4":"ä","%E4":"ä","%e5":"å","%E5":"å","%e6":"æ","%E6":"æ","%e7":"ç","%E7":"ç","%e8":"è","%E8":"è","%e9":"é","%E9":"é","%ea":"ê","%Ea":"ê","%eA":"ê","%EA":"ê","%eb":"ë","%Eb":"ë","%eB":"ë","%EB":"ë","%ec":"ì","%Ec":"ì","%eC":"ì","%EC":"ì","%ed":"í","%Ed":"í","%eD":"í","%ED":"í","%ee":"î","%Ee":"î","%eE":"î","%EE":"î","%ef":"ï","%Ef":"ï","%eF":"ï","%EF":"ï","%f0":"ð","%F0":"ð","%f1":"ñ","%F1":"ñ","%f2":"ò","%F2":"ò","%f3":"ó","%F3":"ó","%f4":"ô","%F4":"ô","%f5":"õ","%F5":"õ","%f6":"ö","%F6":"ö","%f7":"÷","%F7":"÷","%f8":"ø","%F8":"ø","%f9":"ù","%F9":"ù","%fa":"ú","%Fa":"ú","%fA":"ú","%FA":"ú","%fb":"û","%Fb":"û","%fB":"û","%FB":"û","%fc":"ü","%Fc":"ü","%fC":"ü","%FC":"ü","%fd":"ý","%Fd":"ý","%fD":"ý","%FD":"ý","%fe":"þ","%Fe":"þ","%fE":"þ","%FE":"þ","%ff":"ÿ","%Ff":"ÿ","%fF":"ÿ","%FF":"ÿ"};function encodedReplacer(Me){return Ci[Me]}const ts=0;const Ps=1;const aa=2;const oa=3;function parseParams(Me){const Bn=[];let Hn=ts;let Ci="";let ca=false;let _a=false;let xa=0;let Ga="";const Ha=Me.length;for(var so=0;so{"use strict"; -/*! Axios v1.13.5 Copyright (c) 2026 Matt Zabriskie and contributors */const zn=Hn(96454);const ni=Hn(76982);const Ci=Hn(87016);const ts=Hn(77777);const Ps=Hn(58611);const aa=Hn(65692);const oa=Hn(85675);const ca=Hn(39023);const _a=Hn(1573);const xa=Hn(43106);const Ga=Hn(2203);const Ha=Hn(24434);function _interopDefaultLegacy(Me){return Me&&typeof Me==="object"&&"default"in Me?Me:{default:Me}}const so=_interopDefaultLegacy(zn);const oo=_interopDefaultLegacy(ni);const Jo=_interopDefaultLegacy(Ci);const tc=_interopDefaultLegacy(ts);const dc=_interopDefaultLegacy(Ps);const Fc=_interopDefaultLegacy(aa);const Jc=_interopDefaultLegacy(oa);const Dp=_interopDefaultLegacy(ca);const kp=_interopDefaultLegacy(_a);const Qp=_interopDefaultLegacy(xa);const Up=_interopDefaultLegacy(Ga);function bind(Me,Bn){return function wrap(){return Me.apply(Bn,arguments)}}const{toString:Vp}=Object.prototype;const{getPrototypeOf:qp}=Object;const{iterator:Jp,toStringTag:Wp}=Symbol;const zp=(Me=>Bn=>{const Hn=Vp.call(Bn);return Me[Hn]||(Me[Hn]=Hn.slice(8,-1).toLowerCase())})(Object.create(null));const kindOfTest=Me=>{Me=Me.toLowerCase();return Bn=>zp(Bn)===Me};const typeOfTest=Me=>Bn=>typeof Bn===Me;const{isArray:Qf}=Array;const Yf=typeOfTest("undefined");function isBuffer(Me){return Me!==null&&!Yf(Me)&&Me.constructor!==null&&!Yf(Me.constructor)&&Ad(Me.constructor.isBuffer)&&Me.constructor.isBuffer(Me)}const Kf=kindOfTest("ArrayBuffer");function isArrayBufferView(Me){let Bn;if(typeof ArrayBuffer!=="undefined"&&ArrayBuffer.isView){Bn=ArrayBuffer.isView(Me)}else{Bn=Me&&Me.buffer&&Kf(Me.buffer)}return Bn}const Xf=typeOfTest("string");const Ad=typeOfTest("function");const Cd=typeOfTest("number");const isObject=Me=>Me!==null&&typeof Me==="object";const isBoolean=Me=>Me===true||Me===false;const isPlainObject=Me=>{if(zp(Me)!=="object"){return false}const Bn=qp(Me);return(Bn===null||Bn===Object.prototype||Object.getPrototypeOf(Bn)===null)&&!(Wp in Me)&&!(Jp in Me)};const isEmptyObject=Me=>{if(!isObject(Me)||isBuffer(Me)){return false}try{return Object.keys(Me).length===0&&Object.getPrototypeOf(Me)===Object.prototype}catch(Me){return false}};const wd=kindOfTest("Date");const Sd=kindOfTest("File");const xd=kindOfTest("Blob");const Td=kindOfTest("FileList");const isStream=Me=>isObject(Me)&&Ad(Me.pipe);const isFormData=Me=>{let Bn;return Me&&(typeof FormData==="function"&&Me instanceof FormData||Ad(Me.append)&&((Bn=zp(Me))==="formdata"||Bn==="object"&&Ad(Me.toString)&&Me.toString()==="[object FormData]"))};const Pd=kindOfTest("URLSearchParams");const[Qh,Zh,sA,oA]=["ReadableStream","Request","Response","Headers"].map(kindOfTest);const trim=Me=>Me.trim?Me.trim():Me.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function forEach(Me,Bn,{allOwnKeys:Hn=false}={}){if(Me===null||typeof Me==="undefined"){return}let zn;let ni;if(typeof Me!=="object"){Me=[Me]}if(Qf(Me)){for(zn=0,ni=Me.length;zn0){ni=Hn[zn];if(Bn===ni.toLowerCase()){return ni}}return null}const hA=(()=>{if(typeof globalThis!=="undefined")return globalThis;return typeof self!=="undefined"?self:typeof window!=="undefined"?window:global})();const isContextDefined=Me=>!Yf(Me)&&Me!==hA;function merge(){const{caseless:Me,skipUndefined:Bn}=isContextDefined(this)&&this||{};const Hn={};const assignValue=(zn,ni)=>{if(ni==="__proto__"||ni==="constructor"||ni==="prototype"){return}const Ci=Me&&findKey(Hn,ni)||ni;if(isPlainObject(Hn[Ci])&&isPlainObject(zn)){Hn[Ci]=merge(Hn[Ci],zn)}else if(isPlainObject(zn)){Hn[Ci]=merge({},zn)}else if(Qf(zn)){Hn[Ci]=zn.slice()}else if(!Bn||!Yf(zn)){Hn[Ci]=zn}};for(let Me=0,Bn=arguments.length;Me{forEach(Bn,((Bn,zn)=>{if(Hn&&Ad(Bn)){Object.defineProperty(Me,zn,{value:bind(Bn,Hn),writable:true,enumerable:true,configurable:true})}else{Object.defineProperty(Me,zn,{value:Bn,writable:true,enumerable:true,configurable:true})}}),{allOwnKeys:zn});return Me};const stripBOM=Me=>{if(Me.charCodeAt(0)===65279){Me=Me.slice(1)}return Me};const inherits=(Me,Bn,Hn,zn)=>{Me.prototype=Object.create(Bn.prototype,zn);Object.defineProperty(Me.prototype,"constructor",{value:Me,writable:true,enumerable:false,configurable:true});Object.defineProperty(Me,"super",{value:Bn.prototype});Hn&&Object.assign(Me.prototype,Hn)};const toFlatObject=(Me,Bn,Hn,zn)=>{let ni;let Ci;let ts;const Ps={};Bn=Bn||{};if(Me==null)return Bn;do{ni=Object.getOwnPropertyNames(Me);Ci=ni.length;while(Ci-- >0){ts=ni[Ci];if((!zn||zn(ts,Me,Bn))&&!Ps[ts]){Bn[ts]=Me[ts];Ps[ts]=true}}Me=Hn!==false&&qp(Me)}while(Me&&(!Hn||Hn(Me,Bn))&&Me!==Object.prototype);return Bn};const endsWith=(Me,Bn,Hn)=>{Me=String(Me);if(Hn===undefined||Hn>Me.length){Hn=Me.length}Hn-=Bn.length;const zn=Me.indexOf(Bn,Hn);return zn!==-1&&zn===Hn};const toArray=Me=>{if(!Me)return null;if(Qf(Me))return Me;let Bn=Me.length;if(!Cd(Bn))return null;const Hn=new Array(Bn);while(Bn-- >0){Hn[Bn]=Me[Bn]}return Hn};const eg=(Me=>Bn=>Me&&Bn instanceof Me)(typeof Uint8Array!=="undefined"&&qp(Uint8Array));const forEachEntry=(Me,Bn)=>{const Hn=Me&&Me[Jp];const zn=Hn.call(Me);let ni;while((ni=zn.next())&&!ni.done){const Hn=ni.value;Bn.call(Me,Hn[0],Hn[1])}};const matchAll=(Me,Bn)=>{let Hn;const zn=[];while((Hn=Me.exec(Bn))!==null){zn.push(Hn)}return zn};const tg=kindOfTest("HTMLFormElement");const toCamelCase=Me=>Me.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function replacer(Me,Bn,Hn){return Bn.toUpperCase()+Hn}));const rg=(({hasOwnProperty:Me})=>(Bn,Hn)=>Me.call(Bn,Hn))(Object.prototype);const ng=kindOfTest("RegExp");const reduceDescriptors=(Me,Bn)=>{const Hn=Object.getOwnPropertyDescriptors(Me);const zn={};forEach(Hn,((Hn,ni)=>{let Ci;if((Ci=Bn(Hn,ni,Me))!==false){zn[ni]=Ci||Hn}}));Object.defineProperties(Me,zn)};const freezeMethods=Me=>{reduceDescriptors(Me,((Bn,Hn)=>{if(Ad(Me)&&["arguments","caller","callee"].indexOf(Hn)!==-1){return false}const zn=Me[Hn];if(!Ad(zn))return;Bn.enumerable=false;if("writable"in Bn){Bn.writable=false;return}if(!Bn.set){Bn.set=()=>{throw Error("Can not rewrite read-only method '"+Hn+"'")}}}))};const toObjectSet=(Me,Bn)=>{const Hn={};const define=Me=>{Me.forEach((Me=>{Hn[Me]=true}))};Qf(Me)?define(Me):define(String(Me).split(Bn));return Hn};const noop=()=>{};const toFiniteNumber=(Me,Bn)=>Me!=null&&Number.isFinite(Me=+Me)?Me:Bn;function isSpecCompliantForm(Me){return!!(Me&&Ad(Me.append)&&Me[Wp]==="FormData"&&Me[Jp])}const toJSONObject=Me=>{const Bn=new Array(10);const visit=(Me,Hn)=>{if(isObject(Me)){if(Bn.indexOf(Me)>=0){return}if(isBuffer(Me)){return Me}if(!("toJSON"in Me)){Bn[Hn]=Me;const zn=Qf(Me)?[]:{};forEach(Me,((Me,Bn)=>{const ni=visit(Me,Hn+1);!Yf(ni)&&(zn[Bn]=ni)}));Bn[Hn]=undefined;return zn}}return Me};return visit(Me,0)};const ig=kindOfTest("AsyncFunction");const isThenable=Me=>Me&&(isObject(Me)||Ad(Me))&&Ad(Me.then)&&Ad(Me.catch);const sg=((Me,Bn)=>{if(Me){return setImmediate}return Bn?((Me,Bn)=>{hA.addEventListener("message",(({source:Hn,data:zn})=>{if(Hn===hA&&zn===Me){Bn.length&&Bn.shift()()}}),false);return Hn=>{Bn.push(Hn);hA.postMessage(Me,"*")}})(`axios@${Math.random()}`,[]):Me=>setTimeout(Me)})(typeof setImmediate==="function",Ad(hA.postMessage));const ag=typeof queueMicrotask!=="undefined"?queueMicrotask.bind(hA):typeof process!=="undefined"&&process.nextTick||sg;const isIterable=Me=>Me!=null&&Ad(Me[Jp]);const og={isArray:Qf,isArrayBuffer:Kf,isBuffer:isBuffer,isFormData:isFormData,isArrayBufferView:isArrayBufferView,isString:Xf,isNumber:Cd,isBoolean:isBoolean,isObject:isObject,isPlainObject:isPlainObject,isEmptyObject:isEmptyObject,isReadableStream:Qh,isRequest:Zh,isResponse:sA,isHeaders:oA,isUndefined:Yf,isDate:wd,isFile:Sd,isBlob:xd,isRegExp:ng,isFunction:Ad,isStream:isStream,isURLSearchParams:Pd,isTypedArray:eg,isFileList:Td,forEach:forEach,merge:merge,extend:extend,trim:trim,stripBOM:stripBOM,inherits:inherits,toFlatObject:toFlatObject,kindOf:zp,kindOfTest:kindOfTest,endsWith:endsWith,toArray:toArray,forEachEntry:forEachEntry,matchAll:matchAll,isHTMLForm:tg,hasOwnProperty:rg,hasOwnProp:rg,reduceDescriptors:reduceDescriptors,freezeMethods:freezeMethods,toObjectSet:toObjectSet,toCamelCase:toCamelCase,noop:noop,toFiniteNumber:toFiniteNumber,findKey:findKey,global:hA,isContextDefined:isContextDefined,isSpecCompliantForm:isSpecCompliantForm,toJSONObject:toJSONObject,isAsyncFn:ig,isThenable:isThenable,setImmediate:sg,asap:ag,isIterable:isIterable};class AxiosError extends Error{static from(Me,Bn,Hn,zn,ni,Ci){const ts=new AxiosError(Me.message,Bn||Me.code,Hn,zn,ni);ts.cause=Me;ts.name=Me.name;Ci&&Object.assign(ts,Ci);return ts}constructor(Me,Bn,Hn,zn,ni){super(Me);this.name="AxiosError";this.isAxiosError=true;Bn&&(this.code=Bn);Hn&&(this.config=Hn);zn&&(this.request=zn);if(ni){this.response=ni;this.status=ni.status}}toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:og.toJSONObject(this.config),code:this.code,status:this.status}}}AxiosError.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";AxiosError.ERR_BAD_OPTION="ERR_BAD_OPTION";AxiosError.ECONNABORTED="ECONNABORTED";AxiosError.ETIMEDOUT="ETIMEDOUT";AxiosError.ERR_NETWORK="ERR_NETWORK";AxiosError.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";AxiosError.ERR_DEPRECATED="ERR_DEPRECATED";AxiosError.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";AxiosError.ERR_BAD_REQUEST="ERR_BAD_REQUEST";AxiosError.ERR_CANCELED="ERR_CANCELED";AxiosError.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";AxiosError.ERR_INVALID_URL="ERR_INVALID_URL";const ug=AxiosError;function isVisitable(Me){return og.isPlainObject(Me)||og.isArray(Me)}function removeBrackets(Me){return og.endsWith(Me,"[]")?Me.slice(0,-2):Me}function renderKey(Me,Bn,Hn){if(!Me)return Bn;return Me.concat(Bn).map((function each(Me,Bn){Me=removeBrackets(Me);return!Hn&&Bn?"["+Me+"]":Me})).join(Hn?".":"")}function isFlatArray(Me){return og.isArray(Me)&&!Me.some(isVisitable)}const cg=og.toFlatObject(og,{},null,(function filter(Me){return/^is[A-Z]/.test(Me)}));function toFormData(Me,Bn,Hn){if(!og.isObject(Me)){throw new TypeError("target must be an object")}Bn=Bn||new(so["default"]||FormData);Hn=og.toFlatObject(Hn,{metaTokens:true,dots:false,indexes:false},false,(function defined(Me,Bn){return!og.isUndefined(Bn[Me])}));const zn=Hn.metaTokens;const ni=Hn.visitor||defaultVisitor;const Ci=Hn.dots;const ts=Hn.indexes;const Ps=Hn.Blob||typeof Blob!=="undefined"&&Blob;const aa=Ps&&og.isSpecCompliantForm(Bn);if(!og.isFunction(ni)){throw new TypeError("visitor must be a function")}function convertValue(Me){if(Me===null)return"";if(og.isDate(Me)){return Me.toISOString()}if(og.isBoolean(Me)){return Me.toString()}if(!aa&&og.isBlob(Me)){throw new ug("Blob is not supported. Use a Buffer instead.")}if(og.isArrayBuffer(Me)||og.isTypedArray(Me)){return aa&&typeof Blob==="function"?new Blob([Me]):Buffer.from(Me)}return Me}function defaultVisitor(Me,Hn,ni){let Ps=Me;if(Me&&!ni&&typeof Me==="object"){if(og.endsWith(Hn,"{}")){Hn=zn?Hn:Hn.slice(0,-2);Me=JSON.stringify(Me)}else if(og.isArray(Me)&&isFlatArray(Me)||(og.isFileList(Me)||og.endsWith(Hn,"[]"))&&(Ps=og.toArray(Me))){Hn=removeBrackets(Hn);Ps.forEach((function each(Me,zn){!(og.isUndefined(Me)||Me===null)&&Bn.append(ts===true?renderKey([Hn],zn,Ci):ts===null?Hn:Hn+"[]",convertValue(Me))}));return false}}if(isVisitable(Me)){return true}Bn.append(renderKey(ni,Hn,Ci),convertValue(Me));return false}const oa=[];const ca=Object.assign(cg,{defaultVisitor:defaultVisitor,convertValue:convertValue,isVisitable:isVisitable});function build(Me,Hn){if(og.isUndefined(Me))return;if(oa.indexOf(Me)!==-1){throw Error("Circular reference detected in "+Hn.join("."))}oa.push(Me);og.forEach(Me,(function each(Me,zn){const Ci=!(og.isUndefined(Me)||Me===null)&&ni.call(Bn,Me,og.isString(zn)?zn.trim():zn,Hn,ca);if(Ci===true){build(Me,Hn?Hn.concat(zn):[zn])}}));oa.pop()}if(!og.isObject(Me)){throw new TypeError("data must be an object")}build(Me);return Bn}function encode$1(Me){const Bn={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(Me).replace(/[!'()~]|%20|%00/g,(function replacer(Me){return Bn[Me]}))}function AxiosURLSearchParams(Me,Bn){this._pairs=[];Me&&toFormData(Me,this,Bn)}const lg=AxiosURLSearchParams.prototype;lg.append=function append(Me,Bn){this._pairs.push([Me,Bn])};lg.toString=function toString(Me){const Bn=Me?function(Bn){return Me.call(this,Bn,encode$1)}:encode$1;return this._pairs.map((function each(Me){return Bn(Me[0])+"="+Bn(Me[1])}),"").join("&")};function encode(Me){return encodeURIComponent(Me).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function buildURL(Me,Bn,Hn){if(!Bn){return Me}const zn=Hn&&Hn.encode||encode;const ni=og.isFunction(Hn)?{serialize:Hn}:Hn;const Ci=ni&&ni.serialize;let ts;if(Ci){ts=Ci(Bn,ni)}else{ts=og.isURLSearchParams(Bn)?Bn.toString():new AxiosURLSearchParams(Bn,ni).toString(zn)}if(ts){const Bn=Me.indexOf("#");if(Bn!==-1){Me=Me.slice(0,Bn)}Me+=(Me.indexOf("?")===-1?"?":"&")+ts}return Me}class InterceptorManager{constructor(){this.handlers=[]}use(Me,Bn,Hn){this.handlers.push({fulfilled:Me,rejected:Bn,synchronous:Hn?Hn.synchronous:false,runWhen:Hn?Hn.runWhen:null});return this.handlers.length-1}eject(Me){if(this.handlers[Me]){this.handlers[Me]=null}}clear(){if(this.handlers){this.handlers=[]}}forEach(Me){og.forEach(this.handlers,(function forEachHandler(Bn){if(Bn!==null){Me(Bn)}}))}}const pg=InterceptorManager;const fg={silentJSONParsing:true,forcedJSONParsing:true,clarifyTimeoutError:false,legacyInterceptorReqResOrdering:true};const dg=Jo["default"].URLSearchParams;const hg="abcdefghijklmnopqrstuvwxyz";const Ag="0123456789";const mg={DIGIT:Ag,ALPHA:hg,ALPHA_DIGIT:hg+hg.toUpperCase()+Ag};const generateString=(Me=16,Bn=mg.ALPHA_DIGIT)=>{let Hn="";const{length:zn}=Bn;const ni=new Uint32Array(Me);oo["default"].randomFillSync(ni);for(let Ci=0;Citypeof WorkerGlobalScope!=="undefined"&&self instanceof WorkerGlobalScope&&typeof self.importScripts==="function")();const bg=_g&&window.location.href||"http://localhost";const Cg=Object.freeze({__proto__:null,hasBrowserEnv:_g,hasStandardBrowserWebWorkerEnv:Eg,hasStandardBrowserEnv:vg,navigator:yg,origin:bg});const Dg={...Cg,...gg};function toURLEncodedForm(Me,Bn){return toFormData(Me,new Dg.classes.URLSearchParams,{visitor:function(Me,Bn,Hn,zn){if(Dg.isNode&&og.isBuffer(Me)){this.append(Bn,Me.toString("base64"));return false}return zn.defaultVisitor.apply(this,arguments)},...Bn})}function parsePropPath(Me){return og.matchAll(/\w+|\[(\w*)]/g,Me).map((Me=>Me[0]==="[]"?"":Me[1]||Me[0]))}function arrayToObject(Me){const Bn={};const Hn=Object.keys(Me);let zn;const ni=Hn.length;let Ci;for(zn=0;zn=Me.length;ni=!ni&&og.isArray(Hn)?Hn.length:ni;if(ts){if(og.hasOwnProp(Hn,ni)){Hn[ni]=[Hn[ni],Bn]}else{Hn[ni]=Bn}return!Ci}if(!Hn[ni]||!og.isObject(Hn[ni])){Hn[ni]=[]}const Ps=buildPath(Me,Bn,Hn[ni],zn);if(Ps&&og.isArray(Hn[ni])){Hn[ni]=arrayToObject(Hn[ni])}return!Ci}if(og.isFormData(Me)&&og.isFunction(Me.entries)){const Bn={};og.forEachEntry(Me,((Me,Hn)=>{buildPath(parsePropPath(Me),Hn,Bn,0)}));return Bn}return null}function stringifySafely(Me,Bn,Hn){if(og.isString(Me)){try{(Bn||JSON.parse)(Me);return og.trim(Me)}catch(Me){if(Me.name!=="SyntaxError"){throw Me}}}return(Hn||JSON.stringify)(Me)}const wg={transitional:fg,adapter:["xhr","http","fetch"],transformRequest:[function transformRequest(Me,Bn){const Hn=Bn.getContentType()||"";const zn=Hn.indexOf("application/json")>-1;const ni=og.isObject(Me);if(ni&&og.isHTMLForm(Me)){Me=new FormData(Me)}const Ci=og.isFormData(Me);if(Ci){return zn?JSON.stringify(formDataToJSON(Me)):Me}if(og.isArrayBuffer(Me)||og.isBuffer(Me)||og.isStream(Me)||og.isFile(Me)||og.isBlob(Me)||og.isReadableStream(Me)){return Me}if(og.isArrayBufferView(Me)){return Me.buffer}if(og.isURLSearchParams(Me)){Bn.setContentType("application/x-www-form-urlencoded;charset=utf-8",false);return Me.toString()}let ts;if(ni){if(Hn.indexOf("application/x-www-form-urlencoded")>-1){return toURLEncodedForm(Me,this.formSerializer).toString()}if((ts=og.isFileList(Me))||Hn.indexOf("multipart/form-data")>-1){const Bn=this.env&&this.env.FormData;return toFormData(ts?{"files[]":Me}:Me,Bn&&new Bn,this.formSerializer)}}if(ni||zn){Bn.setContentType("application/json",false);return stringifySafely(Me)}return Me}],transformResponse:[function transformResponse(Me){const Bn=this.transitional||wg.transitional;const Hn=Bn&&Bn.forcedJSONParsing;const zn=this.responseType==="json";if(og.isResponse(Me)||og.isReadableStream(Me)){return Me}if(Me&&og.isString(Me)&&(Hn&&!this.responseType||zn)){const Hn=Bn&&Bn.silentJSONParsing;const ni=!Hn&&zn;try{return JSON.parse(Me,this.parseReviver)}catch(Me){if(ni){if(Me.name==="SyntaxError"){throw ug.from(Me,ug.ERR_BAD_RESPONSE,this,null,this.response)}throw Me}}}return Me}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Dg.classes.FormData,Blob:Dg.classes.Blob},validateStatus:function validateStatus(Me){return Me>=200&&Me<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":undefined}}};og.forEach(["delete","get","head","post","put","patch"],(Me=>{wg.headers[Me]={}}));const Sg=wg;const Ig=og.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]);const parseHeaders=Me=>{const Bn={};let Hn;let zn;let ni;Me&&Me.split("\n").forEach((function parser(Me){ni=Me.indexOf(":");Hn=Me.substring(0,ni).trim().toLowerCase();zn=Me.substring(ni+1).trim();if(!Hn||Bn[Hn]&&Ig[Hn]){return}if(Hn==="set-cookie"){if(Bn[Hn]){Bn[Hn].push(zn)}else{Bn[Hn]=[zn]}}else{Bn[Hn]=Bn[Hn]?Bn[Hn]+", "+zn:zn}}));return Bn};const xg=Symbol("internals");function normalizeHeader(Me){return Me&&String(Me).trim().toLowerCase()}function normalizeValue(Me){if(Me===false||Me==null){return Me}return og.isArray(Me)?Me.map(normalizeValue):String(Me)}function parseTokens(Me){const Bn=Object.create(null);const Hn=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let zn;while(zn=Hn.exec(Me)){Bn[zn[1]]=zn[2]}return Bn}const isValidHeaderName=Me=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(Me.trim());function matchHeaderValue(Me,Bn,Hn,zn,ni){if(og.isFunction(zn)){return zn.call(this,Bn,Hn)}if(ni){Bn=Hn}if(!og.isString(Bn))return;if(og.isString(zn)){return Bn.indexOf(zn)!==-1}if(og.isRegExp(zn)){return zn.test(Bn)}}function formatHeader(Me){return Me.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((Me,Bn,Hn)=>Bn.toUpperCase()+Hn))}function buildAccessors(Me,Bn){const Hn=og.toCamelCase(" "+Bn);["get","set","has"].forEach((zn=>{Object.defineProperty(Me,zn+Hn,{value:function(Me,Hn,ni){return this[zn].call(this,Bn,Me,Hn,ni)},configurable:true})}))}class AxiosHeaders{constructor(Me){Me&&this.set(Me)}set(Me,Bn,Hn){const zn=this;function setHeader(Me,Bn,Hn){const ni=normalizeHeader(Bn);if(!ni){throw new Error("header name must be a non-empty string")}const Ci=og.findKey(zn,ni);if(!Ci||zn[Ci]===undefined||Hn===true||Hn===undefined&&zn[Ci]!==false){zn[Ci||Bn]=normalizeValue(Me)}}const setHeaders=(Me,Bn)=>og.forEach(Me,((Me,Hn)=>setHeader(Me,Hn,Bn)));if(og.isPlainObject(Me)||Me instanceof this.constructor){setHeaders(Me,Bn)}else if(og.isString(Me)&&(Me=Me.trim())&&!isValidHeaderName(Me)){setHeaders(parseHeaders(Me),Bn)}else if(og.isObject(Me)&&og.isIterable(Me)){let Hn={},zn,ni;for(const Bn of Me){if(!og.isArray(Bn)){throw TypeError("Object iterator must return a key-value pair")}Hn[ni=Bn[0]]=(zn=Hn[ni])?og.isArray(zn)?[...zn,Bn[1]]:[zn,Bn[1]]:Bn[1]}setHeaders(Hn,Bn)}else{Me!=null&&setHeader(Bn,Me,Hn)}return this}get(Me,Bn){Me=normalizeHeader(Me);if(Me){const Hn=og.findKey(this,Me);if(Hn){const Me=this[Hn];if(!Bn){return Me}if(Bn===true){return parseTokens(Me)}if(og.isFunction(Bn)){return Bn.call(this,Me,Hn)}if(og.isRegExp(Bn)){return Bn.exec(Me)}throw new TypeError("parser must be boolean|regexp|function")}}}has(Me,Bn){Me=normalizeHeader(Me);if(Me){const Hn=og.findKey(this,Me);return!!(Hn&&this[Hn]!==undefined&&(!Bn||matchHeaderValue(this,this[Hn],Hn,Bn)))}return false}delete(Me,Bn){const Hn=this;let zn=false;function deleteHeader(Me){Me=normalizeHeader(Me);if(Me){const ni=og.findKey(Hn,Me);if(ni&&(!Bn||matchHeaderValue(Hn,Hn[ni],ni,Bn))){delete Hn[ni];zn=true}}}if(og.isArray(Me)){Me.forEach(deleteHeader)}else{deleteHeader(Me)}return zn}clear(Me){const Bn=Object.keys(this);let Hn=Bn.length;let zn=false;while(Hn--){const ni=Bn[Hn];if(!Me||matchHeaderValue(this,this[ni],ni,Me,true)){delete this[ni];zn=true}}return zn}normalize(Me){const Bn=this;const Hn={};og.forEach(this,((zn,ni)=>{const Ci=og.findKey(Hn,ni);if(Ci){Bn[Ci]=normalizeValue(zn);delete Bn[ni];return}const ts=Me?formatHeader(ni):String(ni).trim();if(ts!==ni){delete Bn[ni]}Bn[ts]=normalizeValue(zn);Hn[ts]=true}));return this}concat(...Me){return this.constructor.concat(this,...Me)}toJSON(Me){const Bn=Object.create(null);og.forEach(this,((Hn,zn)=>{Hn!=null&&Hn!==false&&(Bn[zn]=Me&&og.isArray(Hn)?Hn.join(", "):Hn)}));return Bn}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([Me,Bn])=>Me+": "+Bn)).join("\n")}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(Me){return Me instanceof this?Me:new this(Me)}static concat(Me,...Bn){const Hn=new this(Me);Bn.forEach((Me=>Hn.set(Me)));return Hn}static accessor(Me){const Bn=this[xg]=this[xg]={accessors:{}};const Hn=Bn.accessors;const zn=this.prototype;function defineAccessor(Me){const Bn=normalizeHeader(Me);if(!Hn[Bn]){buildAccessors(zn,Me);Hn[Bn]=true}}og.isArray(Me)?Me.forEach(defineAccessor):defineAccessor(Me);return this}}AxiosHeaders.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);og.reduceDescriptors(AxiosHeaders.prototype,(({value:Me},Bn)=>{let Hn=Bn[0].toUpperCase()+Bn.slice(1);return{get:()=>Me,set(Me){this[Hn]=Me}}}));og.freezeMethods(AxiosHeaders);const kg=AxiosHeaders;function transformData(Me,Bn){const Hn=this||Sg;const zn=Bn||Hn;const ni=kg.from(zn.headers);let Ci=zn.data;og.forEach(Me,(function transform(Me){Ci=Me.call(Hn,Ci,ni.normalize(),Bn?Bn.status:undefined)}));ni.normalize();return Ci}function isCancel(Me){return!!(Me&&Me.__CANCEL__)}class CanceledError extends ug{constructor(Me,Bn,Hn){super(Me==null?"canceled":Me,ug.ERR_CANCELED,Bn,Hn);this.name="CanceledError";this.__CANCEL__=true}}const Bg=CanceledError;function settle(Me,Bn,Hn){const zn=Hn.config.validateStatus;if(!Hn.status||!zn||zn(Hn.status)){Me(Hn)}else{Bn(new ug("Request failed with status code "+Hn.status,[ug.ERR_BAD_REQUEST,ug.ERR_BAD_RESPONSE][Math.floor(Hn.status/100)-4],Hn.config,Hn.request,Hn))}}function isAbsoluteURL(Me){if(typeof Me!=="string"){return false}return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(Me)}function combineURLs(Me,Bn){return Bn?Me.replace(/\/?\/$/,"")+"/"+Bn.replace(/^\/+/,""):Me}function buildFullPath(Me,Bn,Hn){let zn=!isAbsoluteURL(Bn);if(Me&&(zn||Hn==false)){return combineURLs(Me,Bn)}return Bn}const Tg="1.13.5";function parseProtocol(Me){const Bn=/^([-+\w]{1,25})(:?\/\/|:)/.exec(Me);return Bn&&Bn[1]||""}const Fg=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;function fromDataURI(Me,Bn,Hn){const zn=Hn&&Hn.Blob||Dg.classes.Blob;const ni=parseProtocol(Me);if(Bn===undefined&&zn){Bn=true}if(ni==="data"){Me=ni.length?Me.slice(ni.length+1):Me;const Hn=Fg.exec(Me);if(!Hn){throw new ug("Invalid URL",ug.ERR_INVALID_URL)}const Ci=Hn[1];const ts=Hn[2];const Ps=Hn[3];const aa=Buffer.from(decodeURIComponent(Ps),ts?"base64":"utf8");if(Bn){if(!zn){throw new ug("Blob is not supported",ug.ERR_NOT_SUPPORT)}return new zn([aa],{type:Ci})}return aa}throw new ug("Unsupported protocol "+ni,ug.ERR_NOT_SUPPORT)}const Ng=Symbol("internals");class AxiosTransformStream extends Up["default"].Transform{constructor(Me){Me=og.toFlatObject(Me,{maxRate:0,chunkSize:64*1024,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,((Me,Bn)=>!og.isUndefined(Bn[Me])));super({readableHighWaterMark:Me.chunkSize});const Bn=this[Ng]={timeWindow:Me.timeWindow,chunkSize:Me.chunkSize,maxRate:Me.maxRate,minChunkSize:Me.minChunkSize,bytesSeen:0,isCaptured:false,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null};this.on("newListener",(Me=>{if(Me==="progress"){if(!Bn.isCaptured){Bn.isCaptured=true}}}))}_read(Me){const Bn=this[Ng];if(Bn.onReadCallback){Bn.onReadCallback()}return super._read(Me)}_transform(Me,Bn,Hn){const zn=this[Ng];const ni=zn.maxRate;const Ci=this.readableHighWaterMark;const ts=zn.timeWindow;const Ps=1e3/ts;const aa=ni/Ps;const oa=zn.minChunkSize!==false?Math.max(zn.minChunkSize,aa*.01):0;const pushChunk=(Me,Bn)=>{const Hn=Buffer.byteLength(Me);zn.bytesSeen+=Hn;zn.bytes+=Hn;zn.isCaptured&&this.emit("progress",zn.bytesSeen);if(this.push(Me)){process.nextTick(Bn)}else{zn.onReadCallback=()=>{zn.onReadCallback=null;process.nextTick(Bn)}}};const transformChunk=(Me,Bn)=>{const Hn=Buffer.byteLength(Me);let Ps=null;let ca=Ci;let _a;let xa=0;if(ni){const Me=Date.now();if(!zn.ts||(xa=Me-zn.ts)>=ts){zn.ts=Me;_a=aa-zn.bytes;zn.bytes=_a<0?-_a:0;xa=0}_a=aa-zn.bytes}if(ni){if(_a<=0){return setTimeout((()=>{Bn(null,Me)}),ts-xa)}if(_aca&&Hn-ca>oa){Ps=Me.subarray(ca);Me=Me.subarray(0,ca)}pushChunk(Me,Ps?()=>{process.nextTick(Bn,null,Ps)}:Bn)};transformChunk(Me,(function transformNextChunk(Me,Bn){if(Me){return Hn(Me)}if(Bn){transformChunk(Bn,transformNextChunk)}else{Hn(null)}}))}}const Qg=AxiosTransformStream;const{asyncIterator:Rg}=Symbol;const readBlob=async function*(Me){if(Me.stream){yield*Me.stream()}else if(Me.arrayBuffer){yield await Me.arrayBuffer()}else if(Me[Rg]){yield*Me[Rg]()}else{yield Me}};const Pg=readBlob;const Og=Dg.ALPHABET.ALPHA_DIGIT+"-_";const Lg=typeof TextEncoder==="function"?new TextEncoder:new Dp["default"].TextEncoder;const Mg="\r\n";const jg=Lg.encode(Mg);const Ug=2;class FormDataPart{constructor(Me,Bn){const{escapeName:Hn}=this.constructor;const zn=og.isString(Bn);let ni=`Content-Disposition: form-data; name="${Hn(Me)}"${!zn&&Bn.name?`; filename="${Hn(Bn.name)}"`:""}${Mg}`;if(zn){Bn=Lg.encode(String(Bn).replace(/\r?\n|\r\n?/g,Mg))}else{ni+=`Content-Type: ${Bn.type||"application/octet-stream"}${Mg}`}this.headers=Lg.encode(ni+Mg);this.contentLength=zn?Bn.byteLength:Bn.size;this.size=this.headers.byteLength+this.contentLength+Ug;this.name=Me;this.value=Bn}async*encode(){yield this.headers;const{value:Me}=this;if(og.isTypedArray(Me)){yield Me}else{yield*Pg(Me)}yield jg}static escapeName(Me){return String(Me).replace(/[\r\n"]/g,(Me=>({"\r":"%0D","\n":"%0A",'"':"%22"}[Me])))}}const formDataToStream=(Me,Bn,Hn)=>{const{tag:zn="form-data-boundary",size:ni=25,boundary:Ci=zn+"-"+Dg.generateString(ni,Og)}=Hn||{};if(!og.isFormData(Me)){throw TypeError("FormData instance required")}if(Ci.length<1||Ci.length>70){throw Error("boundary must be 10-70 characters long")}const ts=Lg.encode("--"+Ci+Mg);const Ps=Lg.encode("--"+Ci+"--"+Mg);let aa=Ps.byteLength;const oa=Array.from(Me.entries()).map((([Me,Bn])=>{const Hn=new FormDataPart(Me,Bn);aa+=Hn.size;return Hn}));aa+=ts.byteLength*oa.length;aa=og.toFiniteNumber(aa);const ca={"Content-Type":`multipart/form-data; boundary=${Ci}`};if(Number.isFinite(aa)){ca["Content-Length"]=aa}Bn&&Bn(ca);return Ga.Readable.from(async function*(){for(const Me of oa){yield ts;yield*Me.encode()}yield Ps}())};const Gg=formDataToStream;class ZlibHeaderTransformStream extends Up["default"].Transform{__transform(Me,Bn,Hn){this.push(Me);Hn()}_transform(Me,Bn,Hn){if(Me.length!==0){this._transform=this.__transform;if(Me[0]!==120){const Me=Buffer.alloc(2);Me[0]=120;Me[1]=156;this.push(Me,Bn)}}this.__transform(Me,Bn,Hn)}}const Vg=ZlibHeaderTransformStream;const callbackify=(Me,Bn)=>og.isAsyncFn(Me)?function(...Hn){const zn=Hn.pop();Me.apply(this,Hn).then((Me=>{try{Bn?zn(null,...Bn(Me)):zn(null,Me)}catch(Me){zn(Me)}}),zn)}:Me;const Hg=callbackify;function speedometer(Me,Bn){Me=Me||10;const Hn=new Array(Me);const zn=new Array(Me);let ni=0;let Ci=0;let ts;Bn=Bn!==undefined?Bn:1e3;return function push(Ps){const aa=Date.now();const oa=zn[Ci];if(!ts){ts=aa}Hn[ni]=Ps;zn[ni]=aa;let ca=Ci;let _a=0;while(ca!==ni){_a+=Hn[ca++];ca=ca%Me}ni=(ni+1)%Me;if(ni===Ci){Ci=(Ci+1)%Me}if(aa-ts{Hn=zn;ni=null;if(Ci){clearTimeout(Ci);Ci=null}Me(...Bn)};const throttled=(...Me)=>{const Bn=Date.now();const ts=Bn-Hn;if(ts>=zn){invoke(Me,Bn)}else{ni=Me;if(!Ci){Ci=setTimeout((()=>{Ci=null;invoke(ni)}),zn-ts)}}};const flush=()=>ni&&invoke(ni);return[throttled,flush]}const progressEventReducer=(Me,Bn,Hn=3)=>{let zn=0;const ni=speedometer(50,250);return throttle((Hn=>{const Ci=Hn.loaded;const ts=Hn.lengthComputable?Hn.total:undefined;const Ps=Ci-zn;const aa=ni(Ps);const oa=Ci<=ts;zn=Ci;const ca={loaded:Ci,total:ts,progress:ts?Ci/ts:undefined,bytes:Ps,rate:aa?aa:undefined,estimated:aa&&ts&&oa?(ts-Ci)/aa:undefined,event:Hn,lengthComputable:ts!=null,[Bn?"download":"upload"]:true};Me(ca)}),Hn)};const progressEventDecorator=(Me,Bn)=>{const Hn=Me!=null;return[zn=>Bn[0]({lengthComputable:Hn,total:Me,loaded:zn}),Bn[1]]};const asyncDecorator=Me=>(...Bn)=>og.asap((()=>Me(...Bn)));function estimateDataURLDecodedBytes(Me){if(!Me||typeof Me!=="string")return 0;if(!Me.startsWith("data:"))return 0;const Bn=Me.indexOf(",");if(Bn<0)return 0;const Hn=Me.slice(5,Bn);const zn=Me.slice(Bn+1);const ni=/;base64/i.test(Hn);if(ni){let Me=zn.length;const Bn=zn.length;for(let Hn=0;Hn=48&&Bn<=57||Bn>=65&&Bn<=70||Bn>=97&&Bn<=102)&&(ni>=48&&ni<=57||ni>=65&&ni<=70||ni>=97&&ni<=102);if(Ci){Me-=2;Hn+=2}}}let Hn=0;let ni=Bn-1;const tailIsPct3D=Me=>Me>=2&&zn.charCodeAt(Me-2)===37&&zn.charCodeAt(Me-1)===51&&(zn.charCodeAt(Me)===68||zn.charCodeAt(Me)===100);if(ni>=0){if(zn.charCodeAt(ni)===61){Hn++;ni--}else if(tailIsPct3D(ni)){Hn++;ni-=3}}if(Hn===1&&ni>=0){if(zn.charCodeAt(ni)===61){Hn++}else if(tailIsPct3D(ni)){Hn++}}const Ci=Math.floor(Me/4);const ts=Ci*3-(Hn||0);return ts>0?ts:0}return Buffer.byteLength(zn,"utf8")}const qg={flush:Qp["default"].constants.Z_SYNC_FLUSH,finishFlush:Qp["default"].constants.Z_SYNC_FLUSH};const Jg={flush:Qp["default"].constants.BROTLI_OPERATION_FLUSH,finishFlush:Qp["default"].constants.BROTLI_OPERATION_FLUSH};const $g=og.isFunction(Qp["default"].createBrotliDecompress);const{http:Yg,https:Wg}=kp["default"];const Kg=/https:?/;const zg=Dg.protocols.map((Me=>Me+":"));const flushOnFinish=(Me,[Bn,Hn])=>{Me.on("end",Hn).on("error",Hn);return Bn};class Http2Sessions{constructor(){this.sessions=Object.create(null)}getSession(Me,Bn){Bn=Object.assign({sessionTimeout:1e3},Bn);let Hn=this.sessions[Me];if(Hn){let Me=Hn.length;for(let zn=0;zn{if(ni){return}ni=true;let Bn=Hn,Ci=Bn.length,ts=Ci;while(ts--){if(Bn[ts][0]===zn){if(Ci===1){delete this.sessions[Me]}else{Bn.splice(ts,1)}return}}};const Ci=zn.request;const{sessionTimeout:ts}=Bn;if(ts!=null){let Me;let Bn=0;zn.request=function(){const Hn=Ci.apply(this,arguments);Bn++;if(Me){clearTimeout(Me);Me=null}Hn.once("close",(()=>{if(! --Bn){Me=setTimeout((()=>{Me=null;removeSession()}),ts)}}));return Hn}}zn.once("close",removeSession);let Ps=[zn,Bn];Hn?Hn.push(Ps):Hn=this.sessions[Me]=[Ps];return zn}}const Xg=new Http2Sessions;function dispatchBeforeRedirect(Me,Bn){if(Me.beforeRedirects.proxy){Me.beforeRedirects.proxy(Me)}if(Me.beforeRedirects.config){Me.beforeRedirects.config(Me,Bn)}}function setProxy(Me,Bn,Hn){let zn=Bn;if(!zn&&zn!==false){const Me=tc["default"].getProxyForUrl(Hn);if(Me){zn=new URL(Me)}}if(zn){if(zn.username){zn.auth=(zn.username||"")+":"+(zn.password||"")}if(zn.auth){const Bn=Boolean(zn.auth.username||zn.auth.password);if(Bn){zn.auth=(zn.auth.username||"")+":"+(zn.auth.password||"")}else if(typeof zn.auth==="object"){throw new ug("Invalid proxy authorization",ug.ERR_BAD_OPTION,{proxy:zn})}const Hn=Buffer.from(zn.auth,"utf8").toString("base64");Me.headers["Proxy-Authorization"]="Basic "+Hn}Me.headers.host=Me.hostname+(Me.port?":"+Me.port:"");const Bn=zn.hostname||zn.host;Me.hostname=Bn;Me.host=Bn;Me.port=zn.port;Me.path=Hn;if(zn.protocol){Me.protocol=zn.protocol.includes(":")?zn.protocol:`${zn.protocol}:`}}Me.beforeRedirects.proxy=function beforeRedirect(Me){setProxy(Me,Bn,Me.href)}}const Zg=typeof process!=="undefined"&&og.kindOf(process)==="process";const wrapAsync=Me=>new Promise(((Bn,Hn)=>{let zn;let ni;const done=(Me,Bn)=>{if(ni)return;ni=true;zn&&zn(Me,Bn)};const _resolve=Me=>{done(Me);Bn(Me)};const _reject=Me=>{done(Me,true);Hn(Me)};Me(_resolve,_reject,(Me=>zn=Me)).catch(_reject)}));const resolveFamily=({address:Me,family:Bn})=>{if(!og.isString(Me)){throw TypeError("address must be a string")}return{address:Me,family:Bn||(Me.indexOf(".")<0?6:4)}};const buildAddressEntry=(Me,Bn)=>resolveFamily(og.isObject(Me)?Me:{address:Me,family:Bn});const f_={request(Me,Bn){const Hn=Me.protocol+"//"+Me.hostname+":"+(Me.port||(Me.protocol==="https:"?443:80));const{http2Options:zn,headers:ni}=Me;const Ci=Xg.getSession(Hn,zn);const{HTTP2_HEADER_SCHEME:ts,HTTP2_HEADER_METHOD:Ps,HTTP2_HEADER_PATH:aa,HTTP2_HEADER_STATUS:oa}=Jc["default"].constants;const ca={[ts]:Me.protocol.replace(":",""),[Ps]:Me.method,[aa]:Me.path};og.forEach(ni,((Me,Bn)=>{Bn.charAt(0)!==":"&&(ca[Bn]=Me)}));const _a=Ci.request(ca);_a.once("response",(Me=>{const Hn=_a;Me=Object.assign({},Me);const zn=Me[oa];delete Me[oa];Hn.headers=Me;Hn.statusCode=+zn;Bn(Hn)}));return _a}};const Z_=Zg&&function httpAdapter(Me){return wrapAsync((async function dispatchHttpRequest(Bn,Hn,zn){let{data:ni,lookup:Ci,family:ts,httpVersion:Ps=1,http2Options:aa}=Me;const{responseType:oa,responseEncoding:ca}=Me;const _a=Me.method.toUpperCase();let xa;let Ga=false;let so;Ps=+Ps;if(Number.isNaN(Ps)){throw TypeError(`Invalid protocol version: '${Me.httpVersion}' is not a number`)}if(Ps!==1&&Ps!==2){throw TypeError(`Unsupported protocol version '${Ps}'`)}const oo=Ps===2;if(Ci){const Me=Hg(Ci,(Me=>og.isArray(Me)?Me:[Me]));Ci=(Bn,Hn,zn)=>{Me(Bn,Hn,((Me,Bn,ni)=>{if(Me){return zn(Me)}const Ci=og.isArray(Bn)?Bn.map((Me=>buildAddressEntry(Me))):[buildAddressEntry(Bn,ni)];Hn.all?zn(Me,Ci):zn(Me,Ci[0].address,Ci[0].family)}))}}const Jo=new Ha.EventEmitter;function abort(Bn){try{Jo.emit("abort",!Bn||Bn.type?new Bg(null,Me,so):Bn)}catch(Me){console.warn("emit error",Me)}}Jo.once("abort",Hn);const onFinished=()=>{if(Me.cancelToken){Me.cancelToken.unsubscribe(abort)}if(Me.signal){Me.signal.removeEventListener("abort",abort)}Jo.removeAllListeners()};if(Me.cancelToken||Me.signal){Me.cancelToken&&Me.cancelToken.subscribe(abort);if(Me.signal){Me.signal.aborted?abort():Me.signal.addEventListener("abort",abort)}}zn(((Me,Bn)=>{xa=true;if(Bn){Ga=true;onFinished();return}const{data:Hn}=Me;if(Hn instanceof Up["default"].Readable||Hn instanceof Up["default"].Duplex){const Me=Up["default"].finished(Hn,(()=>{Me();onFinished()}))}else{onFinished()}}));const tc=buildFullPath(Me.baseURL,Me.url,Me.allowAbsoluteUrls);const Jc=new URL(tc,Dg.hasBrowserEnv?Dg.origin:undefined);const kp=Jc.protocol||zg[0];if(kp==="data:"){if(Me.maxContentLength>-1){const Bn=String(Me.url||tc||"");const zn=estimateDataURLDecodedBytes(Bn);if(zn>Me.maxContentLength){return Hn(new ug("maxContentLength size of "+Me.maxContentLength+" exceeded",ug.ERR_BAD_RESPONSE,Me))}}let zn;if(_a!=="GET"){return settle(Bn,Hn,{status:405,statusText:"method not allowed",headers:{},config:Me})}try{zn=fromDataURI(Me.url,oa==="blob",{Blob:Me.env&&Me.env.Blob})}catch(Bn){throw ug.from(Bn,ug.ERR_BAD_REQUEST,Me)}if(oa==="text"){zn=zn.toString(ca);if(!ca||ca==="utf8"){zn=og.stripBOM(zn)}}else if(oa==="stream"){zn=Up["default"].Readable.from(zn)}return settle(Bn,Hn,{data:zn,status:200,statusText:"OK",headers:new kg,config:Me})}if(zg.indexOf(kp)===-1){return Hn(new ug("Unsupported protocol "+kp,ug.ERR_BAD_REQUEST,Me))}const Vp=kg.from(Me.headers).normalize();Vp.set("User-Agent","axios/"+Tg,false);const{onUploadProgress:qp,onDownloadProgress:Jp}=Me;const Wp=Me.maxRate;let zp=undefined;let Qf=undefined;if(og.isSpecCompliantForm(ni)){const Me=Vp.getContentType(/boundary=([-_\w\d]{10,70})/i);ni=Gg(ni,(Me=>{Vp.set(Me)}),{tag:`axios-${Tg}-boundary`,boundary:Me&&Me[1]||undefined})}else if(og.isFormData(ni)&&og.isFunction(ni.getHeaders)){Vp.set(ni.getHeaders());if(!Vp.hasContentLength()){try{const Me=await Dp["default"].promisify(ni.getLength).call(ni);Number.isFinite(Me)&&Me>=0&&Vp.setContentLength(Me)}catch(Me){}}}else if(og.isBlob(ni)||og.isFile(ni)){ni.size&&Vp.setContentType(ni.type||"application/octet-stream");Vp.setContentLength(ni.size||0);ni=Up["default"].Readable.from(Pg(ni))}else if(ni&&!og.isStream(ni)){if(Buffer.isBuffer(ni));else if(og.isArrayBuffer(ni)){ni=Buffer.from(new Uint8Array(ni))}else if(og.isString(ni)){ni=Buffer.from(ni,"utf-8")}else{return Hn(new ug("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",ug.ERR_BAD_REQUEST,Me))}Vp.setContentLength(ni.length,false);if(Me.maxBodyLength>-1&&ni.length>Me.maxBodyLength){return Hn(new ug("Request body larger than maxBodyLength limit",ug.ERR_BAD_REQUEST,Me))}}const Yf=og.toFiniteNumber(Vp.getContentLength());if(og.isArray(Wp)){zp=Wp[0];Qf=Wp[1]}else{zp=Qf=Wp}if(ni&&(qp||zp)){if(!og.isStream(ni)){ni=Up["default"].Readable.from(ni,{objectMode:false})}ni=Up["default"].pipeline([ni,new Qg({maxRate:og.toFiniteNumber(zp)})],og.noop);qp&&ni.on("progress",flushOnFinish(ni,progressEventDecorator(Yf,progressEventReducer(asyncDecorator(qp),false,3))))}let Kf=undefined;if(Me.auth){const Bn=Me.auth.username||"";const Hn=Me.auth.password||"";Kf=Bn+":"+Hn}if(!Kf&&Jc.username){const Me=Jc.username;const Bn=Jc.password;Kf=Me+":"+Bn}Kf&&Vp.delete("authorization");let Xf;try{Xf=buildURL(Jc.pathname+Jc.search,Me.params,Me.paramsSerializer).replace(/^\?/,"")}catch(Bn){const zn=new Error(Bn.message);zn.config=Me;zn.url=Me.url;zn.exists=true;return Hn(zn)}Vp.set("Accept-Encoding","gzip, compress, deflate"+($g?", br":""),false);const Ad={path:Xf,method:_a,headers:Vp.toJSON(),agents:{http:Me.httpAgent,https:Me.httpsAgent},auth:Kf,protocol:kp,family:ts,beforeRedirect:dispatchBeforeRedirect,beforeRedirects:{},http2Options:aa};!og.isUndefined(Ci)&&(Ad.lookup=Ci);if(Me.socketPath){Ad.socketPath=Me.socketPath}else{Ad.hostname=Jc.hostname.startsWith("[")?Jc.hostname.slice(1,-1):Jc.hostname;Ad.port=Jc.port;setProxy(Ad,Me.proxy,kp+"//"+Jc.hostname+(Jc.port?":"+Jc.port:"")+Ad.path)}let Cd;const wd=Kg.test(Ad.protocol);Ad.agent=wd?Me.httpsAgent:Me.httpAgent;if(oo){Cd=f_}else{if(Me.transport){Cd=Me.transport}else if(Me.maxRedirects===0){Cd=wd?Fc["default"]:dc["default"]}else{if(Me.maxRedirects){Ad.maxRedirects=Me.maxRedirects}if(Me.beforeRedirect){Ad.beforeRedirects.config=Me.beforeRedirect}Cd=wd?Wg:Yg}}if(Me.maxBodyLength>-1){Ad.maxBodyLength=Me.maxBodyLength}else{Ad.maxBodyLength=Infinity}if(Me.insecureHTTPParser){Ad.insecureHTTPParser=Me.insecureHTTPParser}so=Cd.request(Ad,(function handleResponse(zn){if(so.destroyed)return;const ni=[zn];const Ci=og.toFiniteNumber(zn.headers["content-length"]);if(Jp||Qf){const Me=new Qg({maxRate:og.toFiniteNumber(Qf)});Jp&&Me.on("progress",flushOnFinish(Me,progressEventDecorator(Ci,progressEventReducer(asyncDecorator(Jp),true,3))));ni.push(Me)}let ts=zn;const Ps=zn.req||so;if(Me.decompress!==false&&zn.headers["content-encoding"]){if(_a==="HEAD"||zn.statusCode===204){delete zn.headers["content-encoding"]}switch((zn.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":ni.push(Qp["default"].createUnzip(qg));delete zn.headers["content-encoding"];break;case"deflate":ni.push(new Vg);ni.push(Qp["default"].createUnzip(qg));delete zn.headers["content-encoding"];break;case"br":if($g){ni.push(Qp["default"].createBrotliDecompress(Jg));delete zn.headers["content-encoding"]}}}ts=ni.length>1?Up["default"].pipeline(ni,og.noop):ni[0];const aa={status:zn.statusCode,statusText:zn.statusMessage,headers:new kg(zn.headers),config:Me,request:Ps};if(oa==="stream"){aa.data=ts;settle(Bn,Hn,aa)}else{const zn=[];let ni=0;ts.on("data",(function handleStreamData(Bn){zn.push(Bn);ni+=Bn.length;if(Me.maxContentLength>-1&&ni>Me.maxContentLength){Ga=true;ts.destroy();abort(new ug("maxContentLength size of "+Me.maxContentLength+" exceeded",ug.ERR_BAD_RESPONSE,Me,Ps))}}));ts.on("aborted",(function handlerStreamAborted(){if(Ga){return}const Bn=new ug("stream has been aborted",ug.ERR_BAD_RESPONSE,Me,Ps);ts.destroy(Bn);Hn(Bn)}));ts.on("error",(function handleStreamError(Bn){if(so.destroyed)return;Hn(ug.from(Bn,null,Me,Ps))}));ts.on("end",(function handleStreamEnd(){try{let Me=zn.length===1?zn[0]:Buffer.concat(zn);if(oa!=="arraybuffer"){Me=Me.toString(ca);if(!ca||ca==="utf8"){Me=og.stripBOM(Me)}}aa.data=Me}catch(Bn){return Hn(ug.from(Bn,null,Me,aa.request,aa))}settle(Bn,Hn,aa)}))}Jo.once("abort",(Me=>{if(!ts.destroyed){ts.emit("error",Me);ts.destroy()}}))}));Jo.once("abort",(Me=>{if(so.close){so.close()}else{so.destroy(Me)}}));so.on("error",(function handleRequestError(Bn){Hn(ug.from(Bn,null,Me,so))}));so.on("socket",(function handleRequestSocket(Me){Me.setKeepAlive(true,1e3*60)}));if(Me.timeout){const Bn=parseInt(Me.timeout,10);if(Number.isNaN(Bn)){abort(new ug("error trying to parse `config.timeout` to int",ug.ERR_BAD_OPTION_VALUE,Me,so));return}so.setTimeout(Bn,(function handleRequestTimeout(){if(xa)return;let Bn=Me.timeout?"timeout of "+Me.timeout+"ms exceeded":"timeout exceeded";const Hn=Me.transitional||fg;if(Me.timeoutErrorMessage){Bn=Me.timeoutErrorMessage}abort(new ug(Bn,Hn.clarifyTimeoutError?ug.ETIMEDOUT:ug.ECONNABORTED,Me,so))}))}else{so.setTimeout(0)}if(og.isStream(ni)){let Bn=false;let Hn=false;ni.on("end",(()=>{Bn=true}));ni.once("error",(Me=>{Hn=true;so.destroy(Me)}));ni.on("close",(()=>{if(!Bn&&!Hn){abort(new Bg("Request stream has been aborted",Me,so))}}));ni.pipe(so)}else{ni&&so.write(ni);so.end()}}))};const ey=Dg.hasStandardBrowserEnv?((Me,Bn)=>Hn=>{Hn=new URL(Hn,Dg.origin);return Me.protocol===Hn.protocol&&Me.host===Hn.host&&(Bn||Me.port===Hn.port)})(new URL(Dg.origin),Dg.navigator&&/(msie|trident)/i.test(Dg.navigator.userAgent)):()=>true;const ty=Dg.hasStandardBrowserEnv?{write(Me,Bn,Hn,zn,ni,Ci,ts){if(typeof document==="undefined")return;const Ps=[`${Me}=${encodeURIComponent(Bn)}`];if(og.isNumber(Hn)){Ps.push(`expires=${new Date(Hn).toUTCString()}`)}if(og.isString(zn)){Ps.push(`path=${zn}`)}if(og.isString(ni)){Ps.push(`domain=${ni}`)}if(Ci===true){Ps.push("secure")}if(og.isString(ts)){Ps.push(`SameSite=${ts}`)}document.cookie=Ps.join("; ")},read(Me){if(typeof document==="undefined")return null;const Bn=document.cookie.match(new RegExp("(?:^|; )"+Me+"=([^;]*)"));return Bn?decodeURIComponent(Bn[1]):null},remove(Me){this.write(Me,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};const headersToObject=Me=>Me instanceof kg?{...Me}:Me;function mergeConfig(Me,Bn){Bn=Bn||{};const Hn={};function getMergedValue(Me,Bn,Hn,zn){if(og.isPlainObject(Me)&&og.isPlainObject(Bn)){return og.merge.call({caseless:zn},Me,Bn)}else if(og.isPlainObject(Bn)){return og.merge({},Bn)}else if(og.isArray(Bn)){return Bn.slice()}return Bn}function mergeDeepProperties(Me,Bn,Hn,zn){if(!og.isUndefined(Bn)){return getMergedValue(Me,Bn,Hn,zn)}else if(!og.isUndefined(Me)){return getMergedValue(undefined,Me,Hn,zn)}}function valueFromConfig2(Me,Bn){if(!og.isUndefined(Bn)){return getMergedValue(undefined,Bn)}}function defaultToConfig2(Me,Bn){if(!og.isUndefined(Bn)){return getMergedValue(undefined,Bn)}else if(!og.isUndefined(Me)){return getMergedValue(undefined,Me)}}function mergeDirectKeys(Hn,zn,ni){if(ni in Bn){return getMergedValue(Hn,zn)}else if(ni in Me){return getMergedValue(undefined,Hn)}}const zn={url:valueFromConfig2,method:valueFromConfig2,data:valueFromConfig2,baseURL:defaultToConfig2,transformRequest:defaultToConfig2,transformResponse:defaultToConfig2,paramsSerializer:defaultToConfig2,timeout:defaultToConfig2,timeoutMessage:defaultToConfig2,withCredentials:defaultToConfig2,withXSRFToken:defaultToConfig2,adapter:defaultToConfig2,responseType:defaultToConfig2,xsrfCookieName:defaultToConfig2,xsrfHeaderName:defaultToConfig2,onUploadProgress:defaultToConfig2,onDownloadProgress:defaultToConfig2,decompress:defaultToConfig2,maxContentLength:defaultToConfig2,maxBodyLength:defaultToConfig2,beforeRedirect:defaultToConfig2,transport:defaultToConfig2,httpAgent:defaultToConfig2,httpsAgent:defaultToConfig2,cancelToken:defaultToConfig2,socketPath:defaultToConfig2,responseEncoding:defaultToConfig2,validateStatus:mergeDirectKeys,headers:(Me,Bn,Hn)=>mergeDeepProperties(headersToObject(Me),headersToObject(Bn),Hn,true)};og.forEach(Object.keys({...Me,...Bn}),(function computeConfigValue(ni){if(ni==="__proto__"||ni==="constructor"||ni==="prototype")return;const Ci=og.hasOwnProp(zn,ni)?zn[ni]:mergeDeepProperties;const ts=Ci(Me[ni],Bn[ni],ni);og.isUndefined(ts)&&Ci!==mergeDirectKeys||(Hn[ni]=ts)}));return Hn}const resolveConfig=Me=>{const Bn=mergeConfig({},Me);let{data:Hn,withXSRFToken:zn,xsrfHeaderName:ni,xsrfCookieName:Ci,headers:ts,auth:Ps}=Bn;Bn.headers=ts=kg.from(ts);Bn.url=buildURL(buildFullPath(Bn.baseURL,Bn.url,Bn.allowAbsoluteUrls),Me.params,Me.paramsSerializer);if(Ps){ts.set("Authorization","Basic "+btoa((Ps.username||"")+":"+(Ps.password?unescape(encodeURIComponent(Ps.password)):"")))}if(og.isFormData(Hn)){if(Dg.hasStandardBrowserEnv||Dg.hasStandardBrowserWebWorkerEnv){ts.setContentType(undefined)}else if(og.isFunction(Hn.getHeaders)){const Me=Hn.getHeaders();const Bn=["content-type","content-length"];Object.entries(Me).forEach((([Me,Hn])=>{if(Bn.includes(Me.toLowerCase())){ts.set(Me,Hn)}}))}}if(Dg.hasStandardBrowserEnv){zn&&og.isFunction(zn)&&(zn=zn(Bn));if(zn||zn!==false&&ey(Bn.url)){const Me=ni&&Ci&&ty.read(Ci);if(Me){ts.set(ni,Me)}}}return Bn};const ry=typeof XMLHttpRequest!=="undefined";const ny=ry&&function(Me){return new Promise((function dispatchXhrRequest(Bn,Hn){const zn=resolveConfig(Me);let ni=zn.data;const Ci=kg.from(zn.headers).normalize();let{responseType:ts,onUploadProgress:Ps,onDownloadProgress:aa}=zn;let oa;let ca,_a;let xa,Ga;function done(){xa&&xa();Ga&&Ga();zn.cancelToken&&zn.cancelToken.unsubscribe(oa);zn.signal&&zn.signal.removeEventListener("abort",oa)}let Ha=new XMLHttpRequest;Ha.open(zn.method.toUpperCase(),zn.url,true);Ha.timeout=zn.timeout;function onloadend(){if(!Ha){return}const zn=kg.from("getAllResponseHeaders"in Ha&&Ha.getAllResponseHeaders());const ni=!ts||ts==="text"||ts==="json"?Ha.responseText:Ha.response;const Ci={data:ni,status:Ha.status,statusText:Ha.statusText,headers:zn,config:Me,request:Ha};settle((function _resolve(Me){Bn(Me);done()}),(function _reject(Me){Hn(Me);done()}),Ci);Ha=null}if("onloadend"in Ha){Ha.onloadend=onloadend}else{Ha.onreadystatechange=function handleLoad(){if(!Ha||Ha.readyState!==4){return}if(Ha.status===0&&!(Ha.responseURL&&Ha.responseURL.indexOf("file:")===0)){return}setTimeout(onloadend)}}Ha.onabort=function handleAbort(){if(!Ha){return}Hn(new ug("Request aborted",ug.ECONNABORTED,Me,Ha));Ha=null};Ha.onerror=function handleError(Bn){const zn=Bn&&Bn.message?Bn.message:"Network Error";const ni=new ug(zn,ug.ERR_NETWORK,Me,Ha);ni.event=Bn||null;Hn(ni);Ha=null};Ha.ontimeout=function handleTimeout(){let Bn=zn.timeout?"timeout of "+zn.timeout+"ms exceeded":"timeout exceeded";const ni=zn.transitional||fg;if(zn.timeoutErrorMessage){Bn=zn.timeoutErrorMessage}Hn(new ug(Bn,ni.clarifyTimeoutError?ug.ETIMEDOUT:ug.ECONNABORTED,Me,Ha));Ha=null};ni===undefined&&Ci.setContentType(null);if("setRequestHeader"in Ha){og.forEach(Ci.toJSON(),(function setRequestHeader(Me,Bn){Ha.setRequestHeader(Bn,Me)}))}if(!og.isUndefined(zn.withCredentials)){Ha.withCredentials=!!zn.withCredentials}if(ts&&ts!=="json"){Ha.responseType=zn.responseType}if(aa){[_a,Ga]=progressEventReducer(aa,true);Ha.addEventListener("progress",_a)}if(Ps&&Ha.upload){[ca,xa]=progressEventReducer(Ps);Ha.upload.addEventListener("progress",ca);Ha.upload.addEventListener("loadend",xa)}if(zn.cancelToken||zn.signal){oa=Bn=>{if(!Ha){return}Hn(!Bn||Bn.type?new Bg(null,Me,Ha):Bn);Ha.abort();Ha=null};zn.cancelToken&&zn.cancelToken.subscribe(oa);if(zn.signal){zn.signal.aborted?oa():zn.signal.addEventListener("abort",oa)}}const so=parseProtocol(zn.url);if(so&&Dg.protocols.indexOf(so)===-1){Hn(new ug("Unsupported protocol "+so+":",ug.ERR_BAD_REQUEST,Me));return}Ha.send(ni||null)}))};const composeSignals=(Me,Bn)=>{const{length:Hn}=Me=Me?Me.filter(Boolean):[];if(Bn||Hn){let Hn=new AbortController;let zn;const onabort=function(Me){if(!zn){zn=true;unsubscribe();const Bn=Me instanceof Error?Me:this.reason;Hn.abort(Bn instanceof ug?Bn:new Bg(Bn instanceof Error?Bn.message:Bn))}};let ni=Bn&&setTimeout((()=>{ni=null;onabort(new ug(`timeout of ${Bn}ms exceeded`,ug.ETIMEDOUT))}),Bn);const unsubscribe=()=>{if(Me){ni&&clearTimeout(ni);ni=null;Me.forEach((Me=>{Me.unsubscribe?Me.unsubscribe(onabort):Me.removeEventListener("abort",onabort)}));Me=null}};Me.forEach((Me=>Me.addEventListener("abort",onabort)));const{signal:Ci}=Hn;Ci.unsubscribe=()=>og.asap(unsubscribe);return Ci}};const iy=composeSignals;const streamChunk=function*(Me,Bn){let Hn=Me.byteLength;if(!Bn||Hn{const ni=readBytes(Me,Bn);let Ci=0;let ts;let _onFinish=Me=>{if(!ts){ts=true;zn&&zn(Me)}};return new ReadableStream({async pull(Me){try{const{done:Bn,value:zn}=await ni.next();if(Bn){_onFinish();Me.close();return}let ts=zn.byteLength;if(Hn){let Me=Ci+=ts;Hn(Me)}Me.enqueue(new Uint8Array(zn))}catch(Me){_onFinish(Me);throw Me}},cancel(Me){_onFinish(Me);return ni.return()}},{highWaterMark:2})};const py=64*1024;const{isFunction:fy}=og;const Ty=(({Request:Me,Response:Bn})=>({Request:Me,Response:Bn}))(og.global);const{ReadableStream:Gy,TextEncoder:Vy}=og.global;const test=(Me,...Bn)=>{try{return!!Me(...Bn)}catch(Me){return false}};const factory=Me=>{Me=og.merge.call({skipUndefined:true},Ty,Me);const{fetch:Bn,Request:Hn,Response:zn}=Me;const ni=Bn?fy(Bn):typeof fetch==="function";const Ci=fy(Hn);const ts=fy(zn);if(!ni){return false}const Ps=ni&&fy(Gy);const aa=ni&&(typeof Vy==="function"?(Me=>Bn=>Me.encode(Bn))(new Vy):async Me=>new Uint8Array(await new Hn(Me).arrayBuffer()));const oa=Ci&&Ps&&test((()=>{let Me=false;const Bn=new Hn(Dg.origin,{body:new Gy,method:"POST",get duplex(){Me=true;return"half"}}).headers.has("Content-Type");return Me&&!Bn}));const ca=ts&&Ps&&test((()=>og.isReadableStream(new zn("").body)));const _a={stream:ca&&(Me=>Me.body)};ni&&(()=>{["text","arrayBuffer","blob","formData","stream"].forEach((Me=>{!_a[Me]&&(_a[Me]=(Bn,Hn)=>{let zn=Bn&&Bn[Me];if(zn){return zn.call(Bn)}throw new ug(`Response type '${Me}' is not supported`,ug.ERR_NOT_SUPPORT,Hn)})}))})();const getBodyLength=async Me=>{if(Me==null){return 0}if(og.isBlob(Me)){return Me.size}if(og.isSpecCompliantForm(Me)){const Bn=new Hn(Dg.origin,{method:"POST",body:Me});return(await Bn.arrayBuffer()).byteLength}if(og.isArrayBufferView(Me)||og.isArrayBuffer(Me)){return Me.byteLength}if(og.isURLSearchParams(Me)){Me=Me+""}if(og.isString(Me)){return(await aa(Me)).byteLength}};const resolveBodyLength=async(Me,Bn)=>{const Hn=og.toFiniteNumber(Me.getContentLength());return Hn==null?getBodyLength(Bn):Hn};return async Me=>{let{url:ni,method:ts,data:Ps,signal:aa,cancelToken:xa,timeout:Ga,onDownloadProgress:Ha,onUploadProgress:so,responseType:oo,headers:Jo,withCredentials:tc="same-origin",fetchOptions:dc}=resolveConfig(Me);let Fc=Bn||fetch;oo=oo?(oo+"").toLowerCase():"text";let Jc=iy([aa,xa&&xa.toAbortSignal()],Ga);let Dp=null;const kp=Jc&&Jc.unsubscribe&&(()=>{Jc.unsubscribe()});let Qp;try{if(so&&oa&&ts!=="get"&&ts!=="head"&&(Qp=await resolveBodyLength(Jo,Ps))!==0){let Me=new Hn(ni,{method:"POST",body:Ps,duplex:"half"});let Bn;if(og.isFormData(Ps)&&(Bn=Me.headers.get("content-type"))){Jo.setContentType(Bn)}if(Me.body){const[Bn,Hn]=progressEventDecorator(Qp,progressEventReducer(asyncDecorator(so)));Ps=trackStream(Me.body,py,Bn,Hn)}}if(!og.isString(tc)){tc=tc?"include":"omit"}const Bn=Ci&&"credentials"in Hn.prototype;const aa={...dc,signal:Jc,method:ts.toUpperCase(),headers:Jo.normalize().toJSON(),body:Ps,duplex:"half",credentials:Bn?tc:undefined};Dp=Ci&&new Hn(ni,aa);let xa=await(Ci?Fc(Dp,dc):Fc(ni,aa));const Ga=ca&&(oo==="stream"||oo==="response");if(ca&&(Ha||Ga&&kp)){const Me={};["status","statusText","headers"].forEach((Bn=>{Me[Bn]=xa[Bn]}));const Bn=og.toFiniteNumber(xa.headers.get("content-length"));const[Hn,ni]=Ha&&progressEventDecorator(Bn,progressEventReducer(asyncDecorator(Ha),true))||[];xa=new zn(trackStream(xa.body,py,Hn,(()=>{ni&&ni();kp&&kp()})),Me)}oo=oo||"text";let Up=await _a[og.findKey(_a,oo)||"text"](xa,Me);!Ga&&kp&&kp();return await new Promise(((Bn,Hn)=>{settle(Bn,Hn,{data:Up,headers:kg.from(xa.headers),status:xa.status,statusText:xa.statusText,config:Me,request:Dp})}))}catch(Bn){kp&&kp();if(Bn&&Bn.name==="TypeError"&&/Load failed|fetch/i.test(Bn.message)){throw Object.assign(new ug("Network Error",ug.ERR_NETWORK,Me,Dp,Bn&&Bn.response),{cause:Bn.cause||Bn})}throw ug.from(Bn,Bn&&Bn.code,Me,Dp,Bn&&Bn.response)}}};const Hy=new Map;const getFetch=Me=>{let Bn=Me&&Me.env||{};const{fetch:Hn,Request:zn,Response:ni}=Bn;const Ci=[zn,ni,Hn];let ts=Ci.length,Ps=ts,aa,oa,ca=Hy;while(Ps--){aa=Ci[Ps];oa=ca.get(aa);oa===undefined&&ca.set(aa,oa=Ps?new Map:factory(Bn));ca=oa}return oa};getFetch();const Av={http:Z_,xhr:ny,fetch:{get:getFetch}};og.forEach(Av,((Me,Bn)=>{if(Me){try{Object.defineProperty(Me,"name",{value:Bn})}catch(Me){}Object.defineProperty(Me,"adapterName",{value:Bn})}}));const renderReason=Me=>`- ${Me}`;const isResolvedHandle=Me=>og.isFunction(Me)||Me===null||Me===false;function getAdapter(Me,Bn){Me=og.isArray(Me)?Me:[Me];const{length:Hn}=Me;let zn;let ni;const Ci={};for(let ts=0;ts`adapter ${Me} `+(Bn===false?"is not supported by the environment":"is not available in the build")));let Bn=Hn?Me.length>1?"since :\n"+Me.map(renderReason).join("\n"):" "+renderReason(Me[0]):"as no adapter specified";throw new ug(`There is no suitable adapter to dispatch the request `+Bn,"ERR_NOT_SUPPORT")}return ni}const vv={getAdapter:getAdapter,adapters:Av};function throwIfCancellationRequested(Me){if(Me.cancelToken){Me.cancelToken.throwIfRequested()}if(Me.signal&&Me.signal.aborted){throw new Bg(null,Me)}}function dispatchRequest(Me){throwIfCancellationRequested(Me);Me.headers=kg.from(Me.headers);Me.data=transformData.call(Me,Me.transformRequest);if(["post","put","patch"].indexOf(Me.method)!==-1){Me.headers.setContentType("application/x-www-form-urlencoded",false)}const Bn=vv.getAdapter(Me.adapter||Sg.adapter,Me);return Bn(Me).then((function onAdapterResolution(Bn){throwIfCancellationRequested(Me);Bn.data=transformData.call(Me,Me.transformResponse,Bn);Bn.headers=kg.from(Bn.headers);return Bn}),(function onAdapterRejection(Bn){if(!isCancel(Bn)){throwIfCancellationRequested(Me);if(Bn&&Bn.response){Bn.response.data=transformData.call(Me,Me.transformResponse,Bn.response);Bn.response.headers=kg.from(Bn.response.headers)}}return Promise.reject(Bn)}))}const Ev={};["object","boolean","number","function","string","symbol"].forEach(((Me,Bn)=>{Ev[Me]=function validator(Hn){return typeof Hn===Me||"a"+(Bn<1?"n ":" ")+Me}}));const bv={};Ev.transitional=function transitional(Me,Bn,Hn){function formatMessage(Me,Bn){return"[Axios v"+Tg+"] Transitional option '"+Me+"'"+Bn+(Hn?". "+Hn:"")}return(Hn,zn,ni)=>{if(Me===false){throw new ug(formatMessage(zn," has been removed"+(Bn?" in "+Bn:"")),ug.ERR_DEPRECATED)}if(Bn&&!bv[zn]){bv[zn]=true;console.warn(formatMessage(zn," has been deprecated since v"+Bn+" and will be removed in the near future"))}return Me?Me(Hn,zn,ni):true}};Ev.spelling=function spelling(Me){return(Bn,Hn)=>{console.warn(`${Hn} is likely a misspelling of ${Me}`);return true}};function assertOptions(Me,Bn,Hn){if(typeof Me!=="object"){throw new ug("options must be an object",ug.ERR_BAD_OPTION_VALUE)}const zn=Object.keys(Me);let ni=zn.length;while(ni-- >0){const Ci=zn[ni];const ts=Bn[Ci];if(ts){const Bn=Me[Ci];const Hn=Bn===undefined||ts(Bn,Ci,Me);if(Hn!==true){throw new ug("option "+Ci+" must be "+Hn,ug.ERR_BAD_OPTION_VALUE)}continue}if(Hn!==true){throw new ug("Unknown option "+Ci,ug.ERR_BAD_OPTION)}}}const Cv={assertOptions:assertOptions,validators:Ev};const wv=Cv.validators;class Axios{constructor(Me){this.defaults=Me||{};this.interceptors={request:new pg,response:new pg}}async request(Me,Bn){try{return await this._request(Me,Bn)}catch(Me){if(Me instanceof Error){let Bn={};Error.captureStackTrace?Error.captureStackTrace(Bn):Bn=new Error;const Hn=Bn.stack?Bn.stack.replace(/^.+\n/,""):"";try{if(!Me.stack){Me.stack=Hn}else if(Hn&&!String(Me.stack).endsWith(Hn.replace(/^.+\n.+\n/,""))){Me.stack+="\n"+Hn}}catch(Me){}}throw Me}}_request(Me,Bn){if(typeof Me==="string"){Bn=Bn||{};Bn.url=Me}else{Bn=Me||{}}Bn=mergeConfig(this.defaults,Bn);const{transitional:Hn,paramsSerializer:zn,headers:ni}=Bn;if(Hn!==undefined){Cv.assertOptions(Hn,{silentJSONParsing:wv.transitional(wv.boolean),forcedJSONParsing:wv.transitional(wv.boolean),clarifyTimeoutError:wv.transitional(wv.boolean),legacyInterceptorReqResOrdering:wv.transitional(wv.boolean)},false)}if(zn!=null){if(og.isFunction(zn)){Bn.paramsSerializer={serialize:zn}}else{Cv.assertOptions(zn,{encode:wv.function,serialize:wv.function},true)}}if(Bn.allowAbsoluteUrls!==undefined);else if(this.defaults.allowAbsoluteUrls!==undefined){Bn.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls}else{Bn.allowAbsoluteUrls=true}Cv.assertOptions(Bn,{baseUrl:wv.spelling("baseURL"),withXsrfToken:wv.spelling("withXSRFToken")},true);Bn.method=(Bn.method||this.defaults.method||"get").toLowerCase();let Ci=ni&&og.merge(ni.common,ni[Bn.method]);ni&&og.forEach(["delete","get","head","post","put","patch","common"],(Me=>{delete ni[Me]}));Bn.headers=kg.concat(Ci,ni);const ts=[];let Ps=true;this.interceptors.request.forEach((function unshiftRequestInterceptors(Me){if(typeof Me.runWhen==="function"&&Me.runWhen(Bn)===false){return}Ps=Ps&&Me.synchronous;const Hn=Bn.transitional||fg;const zn=Hn&&Hn.legacyInterceptorReqResOrdering;if(zn){ts.unshift(Me.fulfilled,Me.rejected)}else{ts.push(Me.fulfilled,Me.rejected)}}));const aa=[];this.interceptors.response.forEach((function pushResponseInterceptors(Me){aa.push(Me.fulfilled,Me.rejected)}));let oa;let ca=0;let _a;if(!Ps){const Me=[dispatchRequest.bind(this),undefined];Me.unshift(...ts);Me.push(...aa);_a=Me.length;oa=Promise.resolve(Bn);while(ca<_a){oa=oa.then(Me[ca++],Me[ca++])}return oa}_a=ts.length;let xa=Bn;while(ca<_a){const Me=ts[ca++];const Bn=ts[ca++];try{xa=Me(xa)}catch(Me){Bn.call(this,Me);break}}try{oa=dispatchRequest.call(this,xa)}catch(Me){return Promise.reject(Me)}ca=0;_a=aa.length;while(ca<_a){oa=oa.then(aa[ca++],aa[ca++])}return oa}getUri(Me){Me=mergeConfig(this.defaults,Me);const Bn=buildFullPath(Me.baseURL,Me.url,Me.allowAbsoluteUrls);return buildURL(Bn,Me.params,Me.paramsSerializer)}}og.forEach(["delete","get","head","options"],(function forEachMethodNoData(Me){Axios.prototype[Me]=function(Bn,Hn){return this.request(mergeConfig(Hn||{},{method:Me,url:Bn,data:(Hn||{}).data}))}}));og.forEach(["post","put","patch"],(function forEachMethodWithData(Me){function generateHTTPMethod(Bn){return function httpMethod(Hn,zn,ni){return this.request(mergeConfig(ni||{},{method:Me,headers:Bn?{"Content-Type":"multipart/form-data"}:{},url:Hn,data:zn}))}}Axios.prototype[Me]=generateHTTPMethod();Axios.prototype[Me+"Form"]=generateHTTPMethod(true)}));const Sv=Axios;class CancelToken{constructor(Me){if(typeof Me!=="function"){throw new TypeError("executor must be a function.")}let Bn;this.promise=new Promise((function promiseExecutor(Me){Bn=Me}));const Hn=this;this.promise.then((Me=>{if(!Hn._listeners)return;let Bn=Hn._listeners.length;while(Bn-- >0){Hn._listeners[Bn](Me)}Hn._listeners=null}));this.promise.then=Me=>{let Bn;const zn=new Promise((Me=>{Hn.subscribe(Me);Bn=Me})).then(Me);zn.cancel=function reject(){Hn.unsubscribe(Bn)};return zn};Me((function cancel(Me,zn,ni){if(Hn.reason){return}Hn.reason=new Bg(Me,zn,ni);Bn(Hn.reason)}))}throwIfRequested(){if(this.reason){throw this.reason}}subscribe(Me){if(this.reason){Me(this.reason);return}if(this._listeners){this._listeners.push(Me)}else{this._listeners=[Me]}}unsubscribe(Me){if(!this._listeners){return}const Bn=this._listeners.indexOf(Me);if(Bn!==-1){this._listeners.splice(Bn,1)}}toAbortSignal(){const Me=new AbortController;const abort=Bn=>{Me.abort(Bn)};this.subscribe(abort);Me.signal.unsubscribe=()=>this.unsubscribe(abort);return Me.signal}static source(){let Me;const Bn=new CancelToken((function executor(Bn){Me=Bn}));return{token:Bn,cancel:Me}}}const Iv=CancelToken;function spread(Me){return function wrap(Bn){return Me.apply(null,Bn)}}function isAxiosError(Me){return og.isObject(Me)&&Me.isAxiosError===true}const xv={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(xv).forEach((([Me,Bn])=>{xv[Bn]=Me}));const kv=xv;function createInstance(Me){const Bn=new Sv(Me);const Hn=bind(Sv.prototype.request,Bn);og.extend(Hn,Sv.prototype,Bn,{allOwnKeys:true});og.extend(Hn,Bn,null,{allOwnKeys:true});Hn.create=function create(Bn){return createInstance(mergeConfig(Me,Bn))};return Hn}const Bv=createInstance(Sg);Bv.Axios=Sv;Bv.CanceledError=Bg;Bv.CancelToken=Iv;Bv.isCancel=isCancel;Bv.VERSION=Tg;Bv.toFormData=toFormData;Bv.AxiosError=ug;Bv.Cancel=Bv.CanceledError;Bv.all=function all(Me){return Promise.all(Me)};Bv.spread=spread;Bv.isAxiosError=isAxiosError;Bv.mergeConfig=mergeConfig;Bv.AxiosHeaders=kg;Bv.formToJSON=Me=>formDataToJSON(og.isHTMLForm(Me)?new FormData(Me):Me);Bv.getAdapter=vv.getAdapter;Bv.HttpStatusCode=kv;Bv.default=Bv;Me.exports=Bv},21213:Me=>{"use strict";Me.exports=JSON.parse('{"name":"prettier","version":"2.8.8","description":"Prettier is an opinionated code formatter","bin":"./bin-prettier.js","repository":"prettier/prettier","funding":"https://github.com/prettier/prettier?sponsor=1","homepage":"https://prettier.io","author":"James Long","license":"MIT","main":"./index.js","browser":"./standalone.js","unpkg":"./standalone.js","engines":{"node":">=10.13.0"},"files":["*.js","esm/*.mjs"]}')},41002:Me=>{"use strict";Me.exports=JSON.parse('{"version":"2.1.267","license":"MIT","main":"dist/index.js","typings":"dist/index.d.ts","files":["dist","src"],"engines":{"node":">=20"},"scripts":{"jest:clear":"jest --clearCache","start":"tsup --watch","build":"tsup && tsc -p tsconfig.build.json","test":"jest","test:coverage":"npm run test -- --coverage","lint":"eslint src/**/*.ts","prepare":"npm run build && husky","version":"echo version && git add -A src","debug-dry-run":"npm test dry-run.test","postversion":"echo postversion && git push origin HEAD:$CI_DEFAULT_BRANCH && git push --tags origin HEAD:$CI_DEFAULT_BRANCH"},"publishConfig":{"registry":"https://linearb.jfrog.io/linearb/api/npm/npm-local/"},"name":"@linearb/gitstream-core","author":"Oriel Zaken","devDependencies":{"@eslint/js":"^9.39.2","@jest/globals":"^30.2.0","@types/jest":"^30.0.0","@types/js-yaml":"^4.0.9","@types/jsonwebtoken":"^9.0.10","@types/lodash":"^4.17.23","@types/node":"^25.1.0","@types/nunjucks":"^3.2.6","@types/prettier":"^2.7.3","@types/shell-quote":"^1.7.5","eslint":"^9.39.2","eslint-config-prettier":"^10.1.8","eslint-plugin-import":"^2.32.0","eslint-plugin-prettier":"^4.2.5","globals":"^17.3.0","husky":"^9.1.7","jest":"^30.2.0","ts-jest":"^29.4.6","tslib":"^2.8.1","tsup":"^8.5.1","typescript":"^5.9.3","typescript-eslint":"^8.54.0"},"dependencies":{"@actions/core":"^1.11.1","@gitbeaker/rest":"^43.8.0","@linearb/gitstream-core-js":"0.1.104","@octokit/rest":"^20.1.2","@wasm-fmt/ruff_fmt":"^0.14.14","ajv":"^8.17.1","axios":"^1.13.4","isolated-vm":"^5.0.4","js-yaml":"^4.1.1","jsonwebtoken":"^9.0.3","lodash":"^4.17.23","moment":"^2.30.1","nunjucks":"^3.2.4","parse-diff":"^0.11.1","prettier":"^2.8.8","shell-quote":"^1.8.3"},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"all"}}')},81813:Me=>{"use strict";Me.exports=JSON.parse('{"application/1d-interleaved-parityfec":{"source":"iana"},"application/3gpdash-qoe-report+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/3gpp-ims+xml":{"source":"iana","compressible":true},"application/3gpphal+json":{"source":"iana","compressible":true},"application/3gpphalforms+json":{"source":"iana","compressible":true},"application/a2l":{"source":"iana"},"application/ace+cbor":{"source":"iana"},"application/activemessage":{"source":"iana"},"application/activity+json":{"source":"iana","compressible":true},"application/alto-costmap+json":{"source":"iana","compressible":true},"application/alto-costmapfilter+json":{"source":"iana","compressible":true},"application/alto-directory+json":{"source":"iana","compressible":true},"application/alto-endpointcost+json":{"source":"iana","compressible":true},"application/alto-endpointcostparams+json":{"source":"iana","compressible":true},"application/alto-endpointprop+json":{"source":"iana","compressible":true},"application/alto-endpointpropparams+json":{"source":"iana","compressible":true},"application/alto-error+json":{"source":"iana","compressible":true},"application/alto-networkmap+json":{"source":"iana","compressible":true},"application/alto-networkmapfilter+json":{"source":"iana","compressible":true},"application/alto-updatestreamcontrol+json":{"source":"iana","compressible":true},"application/alto-updatestreamparams+json":{"source":"iana","compressible":true},"application/aml":{"source":"iana"},"application/andrew-inset":{"source":"iana","extensions":["ez"]},"application/applefile":{"source":"iana"},"application/applixware":{"source":"apache","extensions":["aw"]},"application/at+jwt":{"source":"iana"},"application/atf":{"source":"iana"},"application/atfx":{"source":"iana"},"application/atom+xml":{"source":"iana","compressible":true,"extensions":["atom"]},"application/atomcat+xml":{"source":"iana","compressible":true,"extensions":["atomcat"]},"application/atomdeleted+xml":{"source":"iana","compressible":true,"extensions":["atomdeleted"]},"application/atomicmail":{"source":"iana"},"application/atomsvc+xml":{"source":"iana","compressible":true,"extensions":["atomsvc"]},"application/atsc-dwd+xml":{"source":"iana","compressible":true,"extensions":["dwd"]},"application/atsc-dynamic-event-message":{"source":"iana"},"application/atsc-held+xml":{"source":"iana","compressible":true,"extensions":["held"]},"application/atsc-rdt+json":{"source":"iana","compressible":true},"application/atsc-rsat+xml":{"source":"iana","compressible":true,"extensions":["rsat"]},"application/atxml":{"source":"iana"},"application/auth-policy+xml":{"source":"iana","compressible":true},"application/bacnet-xdd+zip":{"source":"iana","compressible":false},"application/batch-smtp":{"source":"iana"},"application/bdoc":{"compressible":false,"extensions":["bdoc"]},"application/beep+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/calendar+json":{"source":"iana","compressible":true},"application/calendar+xml":{"source":"iana","compressible":true,"extensions":["xcs"]},"application/call-completion":{"source":"iana"},"application/cals-1840":{"source":"iana"},"application/captive+json":{"source":"iana","compressible":true},"application/cbor":{"source":"iana"},"application/cbor-seq":{"source":"iana"},"application/cccex":{"source":"iana"},"application/ccmp+xml":{"source":"iana","compressible":true},"application/ccxml+xml":{"source":"iana","compressible":true,"extensions":["ccxml"]},"application/cdfx+xml":{"source":"iana","compressible":true,"extensions":["cdfx"]},"application/cdmi-capability":{"source":"iana","extensions":["cdmia"]},"application/cdmi-container":{"source":"iana","extensions":["cdmic"]},"application/cdmi-domain":{"source":"iana","extensions":["cdmid"]},"application/cdmi-object":{"source":"iana","extensions":["cdmio"]},"application/cdmi-queue":{"source":"iana","extensions":["cdmiq"]},"application/cdni":{"source":"iana"},"application/cea":{"source":"iana"},"application/cea-2018+xml":{"source":"iana","compressible":true},"application/cellml+xml":{"source":"iana","compressible":true},"application/cfw":{"source":"iana"},"application/city+json":{"source":"iana","compressible":true},"application/clr":{"source":"iana"},"application/clue+xml":{"source":"iana","compressible":true},"application/clue_info+xml":{"source":"iana","compressible":true},"application/cms":{"source":"iana"},"application/cnrp+xml":{"source":"iana","compressible":true},"application/coap-group+json":{"source":"iana","compressible":true},"application/coap-payload":{"source":"iana"},"application/commonground":{"source":"iana"},"application/conference-info+xml":{"source":"iana","compressible":true},"application/cose":{"source":"iana"},"application/cose-key":{"source":"iana"},"application/cose-key-set":{"source":"iana"},"application/cpl+xml":{"source":"iana","compressible":true,"extensions":["cpl"]},"application/csrattrs":{"source":"iana"},"application/csta+xml":{"source":"iana","compressible":true},"application/cstadata+xml":{"source":"iana","compressible":true},"application/csvm+json":{"source":"iana","compressible":true},"application/cu-seeme":{"source":"apache","extensions":["cu"]},"application/cwt":{"source":"iana"},"application/cybercash":{"source":"iana"},"application/dart":{"compressible":true},"application/dash+xml":{"source":"iana","compressible":true,"extensions":["mpd"]},"application/dash-patch+xml":{"source":"iana","compressible":true,"extensions":["mpp"]},"application/dashdelta":{"source":"iana"},"application/davmount+xml":{"source":"iana","compressible":true,"extensions":["davmount"]},"application/dca-rft":{"source":"iana"},"application/dcd":{"source":"iana"},"application/dec-dx":{"source":"iana"},"application/dialog-info+xml":{"source":"iana","compressible":true},"application/dicom":{"source":"iana"},"application/dicom+json":{"source":"iana","compressible":true},"application/dicom+xml":{"source":"iana","compressible":true},"application/dii":{"source":"iana"},"application/dit":{"source":"iana"},"application/dns":{"source":"iana"},"application/dns+json":{"source":"iana","compressible":true},"application/dns-message":{"source":"iana"},"application/docbook+xml":{"source":"apache","compressible":true,"extensions":["dbk"]},"application/dots+cbor":{"source":"iana"},"application/dskpp+xml":{"source":"iana","compressible":true},"application/dssc+der":{"source":"iana","extensions":["dssc"]},"application/dssc+xml":{"source":"iana","compressible":true,"extensions":["xdssc"]},"application/dvcs":{"source":"iana"},"application/ecmascript":{"source":"iana","compressible":true,"extensions":["es","ecma"]},"application/edi-consent":{"source":"iana"},"application/edi-x12":{"source":"iana","compressible":false},"application/edifact":{"source":"iana","compressible":false},"application/efi":{"source":"iana"},"application/elm+json":{"source":"iana","charset":"UTF-8","compressible":true},"application/elm+xml":{"source":"iana","compressible":true},"application/emergencycalldata.cap+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/emergencycalldata.comment+xml":{"source":"iana","compressible":true},"application/emergencycalldata.control+xml":{"source":"iana","compressible":true},"application/emergencycalldata.deviceinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.ecall.msd":{"source":"iana"},"application/emergencycalldata.providerinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.serviceinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.subscriberinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.veds+xml":{"source":"iana","compressible":true},"application/emma+xml":{"source":"iana","compressible":true,"extensions":["emma"]},"application/emotionml+xml":{"source":"iana","compressible":true,"extensions":["emotionml"]},"application/encaprtp":{"source":"iana"},"application/epp+xml":{"source":"iana","compressible":true},"application/epub+zip":{"source":"iana","compressible":false,"extensions":["epub"]},"application/eshop":{"source":"iana"},"application/exi":{"source":"iana","extensions":["exi"]},"application/expect-ct-report+json":{"source":"iana","compressible":true},"application/express":{"source":"iana","extensions":["exp"]},"application/fastinfoset":{"source":"iana"},"application/fastsoap":{"source":"iana"},"application/fdt+xml":{"source":"iana","compressible":true,"extensions":["fdt"]},"application/fhir+json":{"source":"iana","charset":"UTF-8","compressible":true},"application/fhir+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/fido.trusted-apps+json":{"compressible":true},"application/fits":{"source":"iana"},"application/flexfec":{"source":"iana"},"application/font-sfnt":{"source":"iana"},"application/font-tdpfr":{"source":"iana","extensions":["pfr"]},"application/font-woff":{"source":"iana","compressible":false},"application/framework-attributes+xml":{"source":"iana","compressible":true},"application/geo+json":{"source":"iana","compressible":true,"extensions":["geojson"]},"application/geo+json-seq":{"source":"iana"},"application/geopackage+sqlite3":{"source":"iana"},"application/geoxacml+xml":{"source":"iana","compressible":true},"application/gltf-buffer":{"source":"iana"},"application/gml+xml":{"source":"iana","compressible":true,"extensions":["gml"]},"application/gpx+xml":{"source":"apache","compressible":true,"extensions":["gpx"]},"application/gxf":{"source":"apache","extensions":["gxf"]},"application/gzip":{"source":"iana","compressible":false,"extensions":["gz"]},"application/h224":{"source":"iana"},"application/held+xml":{"source":"iana","compressible":true},"application/hjson":{"extensions":["hjson"]},"application/http":{"source":"iana"},"application/hyperstudio":{"source":"iana","extensions":["stk"]},"application/ibe-key-request+xml":{"source":"iana","compressible":true},"application/ibe-pkg-reply+xml":{"source":"iana","compressible":true},"application/ibe-pp-data":{"source":"iana"},"application/iges":{"source":"iana"},"application/im-iscomposing+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/index":{"source":"iana"},"application/index.cmd":{"source":"iana"},"application/index.obj":{"source":"iana"},"application/index.response":{"source":"iana"},"application/index.vnd":{"source":"iana"},"application/inkml+xml":{"source":"iana","compressible":true,"extensions":["ink","inkml"]},"application/iotp":{"source":"iana"},"application/ipfix":{"source":"iana","extensions":["ipfix"]},"application/ipp":{"source":"iana"},"application/isup":{"source":"iana"},"application/its+xml":{"source":"iana","compressible":true,"extensions":["its"]},"application/java-archive":{"source":"apache","compressible":false,"extensions":["jar","war","ear"]},"application/java-serialized-object":{"source":"apache","compressible":false,"extensions":["ser"]},"application/java-vm":{"source":"apache","compressible":false,"extensions":["class"]},"application/javascript":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["js","mjs"]},"application/jf2feed+json":{"source":"iana","compressible":true},"application/jose":{"source":"iana"},"application/jose+json":{"source":"iana","compressible":true},"application/jrd+json":{"source":"iana","compressible":true},"application/jscalendar+json":{"source":"iana","compressible":true},"application/json":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["json","map"]},"application/json-patch+json":{"source":"iana","compressible":true},"application/json-seq":{"source":"iana"},"application/json5":{"extensions":["json5"]},"application/jsonml+json":{"source":"apache","compressible":true,"extensions":["jsonml"]},"application/jwk+json":{"source":"iana","compressible":true},"application/jwk-set+json":{"source":"iana","compressible":true},"application/jwt":{"source":"iana"},"application/kpml-request+xml":{"source":"iana","compressible":true},"application/kpml-response+xml":{"source":"iana","compressible":true},"application/ld+json":{"source":"iana","compressible":true,"extensions":["jsonld"]},"application/lgr+xml":{"source":"iana","compressible":true,"extensions":["lgr"]},"application/link-format":{"source":"iana"},"application/load-control+xml":{"source":"iana","compressible":true},"application/lost+xml":{"source":"iana","compressible":true,"extensions":["lostxml"]},"application/lostsync+xml":{"source":"iana","compressible":true},"application/lpf+zip":{"source":"iana","compressible":false},"application/lxf":{"source":"iana"},"application/mac-binhex40":{"source":"iana","extensions":["hqx"]},"application/mac-compactpro":{"source":"apache","extensions":["cpt"]},"application/macwriteii":{"source":"iana"},"application/mads+xml":{"source":"iana","compressible":true,"extensions":["mads"]},"application/manifest+json":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["webmanifest"]},"application/marc":{"source":"iana","extensions":["mrc"]},"application/marcxml+xml":{"source":"iana","compressible":true,"extensions":["mrcx"]},"application/mathematica":{"source":"iana","extensions":["ma","nb","mb"]},"application/mathml+xml":{"source":"iana","compressible":true,"extensions":["mathml"]},"application/mathml-content+xml":{"source":"iana","compressible":true},"application/mathml-presentation+xml":{"source":"iana","compressible":true},"application/mbms-associated-procedure-description+xml":{"source":"iana","compressible":true},"application/mbms-deregister+xml":{"source":"iana","compressible":true},"application/mbms-envelope+xml":{"source":"iana","compressible":true},"application/mbms-msk+xml":{"source":"iana","compressible":true},"application/mbms-msk-response+xml":{"source":"iana","compressible":true},"application/mbms-protection-description+xml":{"source":"iana","compressible":true},"application/mbms-reception-report+xml":{"source":"iana","compressible":true},"application/mbms-register+xml":{"source":"iana","compressible":true},"application/mbms-register-response+xml":{"source":"iana","compressible":true},"application/mbms-schedule+xml":{"source":"iana","compressible":true},"application/mbms-user-service-description+xml":{"source":"iana","compressible":true},"application/mbox":{"source":"iana","extensions":["mbox"]},"application/media-policy-dataset+xml":{"source":"iana","compressible":true,"extensions":["mpf"]},"application/media_control+xml":{"source":"iana","compressible":true},"application/mediaservercontrol+xml":{"source":"iana","compressible":true,"extensions":["mscml"]},"application/merge-patch+json":{"source":"iana","compressible":true},"application/metalink+xml":{"source":"apache","compressible":true,"extensions":["metalink"]},"application/metalink4+xml":{"source":"iana","compressible":true,"extensions":["meta4"]},"application/mets+xml":{"source":"iana","compressible":true,"extensions":["mets"]},"application/mf4":{"source":"iana"},"application/mikey":{"source":"iana"},"application/mipc":{"source":"iana"},"application/missing-blocks+cbor-seq":{"source":"iana"},"application/mmt-aei+xml":{"source":"iana","compressible":true,"extensions":["maei"]},"application/mmt-usd+xml":{"source":"iana","compressible":true,"extensions":["musd"]},"application/mods+xml":{"source":"iana","compressible":true,"extensions":["mods"]},"application/moss-keys":{"source":"iana"},"application/moss-signature":{"source":"iana"},"application/mosskey-data":{"source":"iana"},"application/mosskey-request":{"source":"iana"},"application/mp21":{"source":"iana","extensions":["m21","mp21"]},"application/mp4":{"source":"iana","extensions":["mp4s","m4p"]},"application/mpeg4-generic":{"source":"iana"},"application/mpeg4-iod":{"source":"iana"},"application/mpeg4-iod-xmt":{"source":"iana"},"application/mrb-consumer+xml":{"source":"iana","compressible":true},"application/mrb-publish+xml":{"source":"iana","compressible":true},"application/msc-ivr+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/msc-mixer+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/msword":{"source":"iana","compressible":false,"extensions":["doc","dot"]},"application/mud+json":{"source":"iana","compressible":true},"application/multipart-core":{"source":"iana"},"application/mxf":{"source":"iana","extensions":["mxf"]},"application/n-quads":{"source":"iana","extensions":["nq"]},"application/n-triples":{"source":"iana","extensions":["nt"]},"application/nasdata":{"source":"iana"},"application/news-checkgroups":{"source":"iana","charset":"US-ASCII"},"application/news-groupinfo":{"source":"iana","charset":"US-ASCII"},"application/news-transmission":{"source":"iana"},"application/nlsml+xml":{"source":"iana","compressible":true},"application/node":{"source":"iana","extensions":["cjs"]},"application/nss":{"source":"iana"},"application/oauth-authz-req+jwt":{"source":"iana"},"application/oblivious-dns-message":{"source":"iana"},"application/ocsp-request":{"source":"iana"},"application/ocsp-response":{"source":"iana"},"application/octet-stream":{"source":"iana","compressible":false,"extensions":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{"source":"iana","extensions":["oda"]},"application/odm+xml":{"source":"iana","compressible":true},"application/odx":{"source":"iana"},"application/oebps-package+xml":{"source":"iana","compressible":true,"extensions":["opf"]},"application/ogg":{"source":"iana","compressible":false,"extensions":["ogx"]},"application/omdoc+xml":{"source":"apache","compressible":true,"extensions":["omdoc"]},"application/onenote":{"source":"apache","extensions":["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{"source":"iana","compressible":true},"application/oscore":{"source":"iana"},"application/oxps":{"source":"iana","extensions":["oxps"]},"application/p21":{"source":"iana"},"application/p21+zip":{"source":"iana","compressible":false},"application/p2p-overlay+xml":{"source":"iana","compressible":true,"extensions":["relo"]},"application/parityfec":{"source":"iana"},"application/passport":{"source":"iana"},"application/patch-ops-error+xml":{"source":"iana","compressible":true,"extensions":["xer"]},"application/pdf":{"source":"iana","compressible":false,"extensions":["pdf"]},"application/pdx":{"source":"iana"},"application/pem-certificate-chain":{"source":"iana"},"application/pgp-encrypted":{"source":"iana","compressible":false,"extensions":["pgp"]},"application/pgp-keys":{"source":"iana","extensions":["asc"]},"application/pgp-signature":{"source":"iana","extensions":["asc","sig"]},"application/pics-rules":{"source":"apache","extensions":["prf"]},"application/pidf+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/pidf-diff+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/pkcs10":{"source":"iana","extensions":["p10"]},"application/pkcs12":{"source":"iana"},"application/pkcs7-mime":{"source":"iana","extensions":["p7m","p7c"]},"application/pkcs7-signature":{"source":"iana","extensions":["p7s"]},"application/pkcs8":{"source":"iana","extensions":["p8"]},"application/pkcs8-encrypted":{"source":"iana"},"application/pkix-attr-cert":{"source":"iana","extensions":["ac"]},"application/pkix-cert":{"source":"iana","extensions":["cer"]},"application/pkix-crl":{"source":"iana","extensions":["crl"]},"application/pkix-pkipath":{"source":"iana","extensions":["pkipath"]},"application/pkixcmp":{"source":"iana","extensions":["pki"]},"application/pls+xml":{"source":"iana","compressible":true,"extensions":["pls"]},"application/poc-settings+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/postscript":{"source":"iana","compressible":true,"extensions":["ai","eps","ps"]},"application/ppsp-tracker+json":{"source":"iana","compressible":true},"application/problem+json":{"source":"iana","compressible":true},"application/problem+xml":{"source":"iana","compressible":true},"application/provenance+xml":{"source":"iana","compressible":true,"extensions":["provx"]},"application/prs.alvestrand.titrax-sheet":{"source":"iana"},"application/prs.cww":{"source":"iana","extensions":["cww"]},"application/prs.cyn":{"source":"iana","charset":"7-BIT"},"application/prs.hpub+zip":{"source":"iana","compressible":false},"application/prs.nprend":{"source":"iana"},"application/prs.plucker":{"source":"iana"},"application/prs.rdf-xml-crypt":{"source":"iana"},"application/prs.xsf+xml":{"source":"iana","compressible":true},"application/pskc+xml":{"source":"iana","compressible":true,"extensions":["pskcxml"]},"application/pvd+json":{"source":"iana","compressible":true},"application/qsig":{"source":"iana"},"application/raml+yaml":{"compressible":true,"extensions":["raml"]},"application/raptorfec":{"source":"iana"},"application/rdap+json":{"source":"iana","compressible":true},"application/rdf+xml":{"source":"iana","compressible":true,"extensions":["rdf","owl"]},"application/reginfo+xml":{"source":"iana","compressible":true,"extensions":["rif"]},"application/relax-ng-compact-syntax":{"source":"iana","extensions":["rnc"]},"application/remote-printing":{"source":"iana"},"application/reputon+json":{"source":"iana","compressible":true},"application/resource-lists+xml":{"source":"iana","compressible":true,"extensions":["rl"]},"application/resource-lists-diff+xml":{"source":"iana","compressible":true,"extensions":["rld"]},"application/rfc+xml":{"source":"iana","compressible":true},"application/riscos":{"source":"iana"},"application/rlmi+xml":{"source":"iana","compressible":true},"application/rls-services+xml":{"source":"iana","compressible":true,"extensions":["rs"]},"application/route-apd+xml":{"source":"iana","compressible":true,"extensions":["rapd"]},"application/route-s-tsid+xml":{"source":"iana","compressible":true,"extensions":["sls"]},"application/route-usd+xml":{"source":"iana","compressible":true,"extensions":["rusd"]},"application/rpki-ghostbusters":{"source":"iana","extensions":["gbr"]},"application/rpki-manifest":{"source":"iana","extensions":["mft"]},"application/rpki-publication":{"source":"iana"},"application/rpki-roa":{"source":"iana","extensions":["roa"]},"application/rpki-updown":{"source":"iana"},"application/rsd+xml":{"source":"apache","compressible":true,"extensions":["rsd"]},"application/rss+xml":{"source":"apache","compressible":true,"extensions":["rss"]},"application/rtf":{"source":"iana","compressible":true,"extensions":["rtf"]},"application/rtploopback":{"source":"iana"},"application/rtx":{"source":"iana"},"application/samlassertion+xml":{"source":"iana","compressible":true},"application/samlmetadata+xml":{"source":"iana","compressible":true},"application/sarif+json":{"source":"iana","compressible":true},"application/sarif-external-properties+json":{"source":"iana","compressible":true},"application/sbe":{"source":"iana"},"application/sbml+xml":{"source":"iana","compressible":true,"extensions":["sbml"]},"application/scaip+xml":{"source":"iana","compressible":true},"application/scim+json":{"source":"iana","compressible":true},"application/scvp-cv-request":{"source":"iana","extensions":["scq"]},"application/scvp-cv-response":{"source":"iana","extensions":["scs"]},"application/scvp-vp-request":{"source":"iana","extensions":["spq"]},"application/scvp-vp-response":{"source":"iana","extensions":["spp"]},"application/sdp":{"source":"iana","extensions":["sdp"]},"application/secevent+jwt":{"source":"iana"},"application/senml+cbor":{"source":"iana"},"application/senml+json":{"source":"iana","compressible":true},"application/senml+xml":{"source":"iana","compressible":true,"extensions":["senmlx"]},"application/senml-etch+cbor":{"source":"iana"},"application/senml-etch+json":{"source":"iana","compressible":true},"application/senml-exi":{"source":"iana"},"application/sensml+cbor":{"source":"iana"},"application/sensml+json":{"source":"iana","compressible":true},"application/sensml+xml":{"source":"iana","compressible":true,"extensions":["sensmlx"]},"application/sensml-exi":{"source":"iana"},"application/sep+xml":{"source":"iana","compressible":true},"application/sep-exi":{"source":"iana"},"application/session-info":{"source":"iana"},"application/set-payment":{"source":"iana"},"application/set-payment-initiation":{"source":"iana","extensions":["setpay"]},"application/set-registration":{"source":"iana"},"application/set-registration-initiation":{"source":"iana","extensions":["setreg"]},"application/sgml":{"source":"iana"},"application/sgml-open-catalog":{"source":"iana"},"application/shf+xml":{"source":"iana","compressible":true,"extensions":["shf"]},"application/sieve":{"source":"iana","extensions":["siv","sieve"]},"application/simple-filter+xml":{"source":"iana","compressible":true},"application/simple-message-summary":{"source":"iana"},"application/simplesymbolcontainer":{"source":"iana"},"application/sipc":{"source":"iana"},"application/slate":{"source":"iana"},"application/smil":{"source":"iana"},"application/smil+xml":{"source":"iana","compressible":true,"extensions":["smi","smil"]},"application/smpte336m":{"source":"iana"},"application/soap+fastinfoset":{"source":"iana"},"application/soap+xml":{"source":"iana","compressible":true},"application/sparql-query":{"source":"iana","extensions":["rq"]},"application/sparql-results+xml":{"source":"iana","compressible":true,"extensions":["srx"]},"application/spdx+json":{"source":"iana","compressible":true},"application/spirits-event+xml":{"source":"iana","compressible":true},"application/sql":{"source":"iana"},"application/srgs":{"source":"iana","extensions":["gram"]},"application/srgs+xml":{"source":"iana","compressible":true,"extensions":["grxml"]},"application/sru+xml":{"source":"iana","compressible":true,"extensions":["sru"]},"application/ssdl+xml":{"source":"apache","compressible":true,"extensions":["ssdl"]},"application/ssml+xml":{"source":"iana","compressible":true,"extensions":["ssml"]},"application/stix+json":{"source":"iana","compressible":true},"application/swid+xml":{"source":"iana","compressible":true,"extensions":["swidtag"]},"application/tamp-apex-update":{"source":"iana"},"application/tamp-apex-update-confirm":{"source":"iana"},"application/tamp-community-update":{"source":"iana"},"application/tamp-community-update-confirm":{"source":"iana"},"application/tamp-error":{"source":"iana"},"application/tamp-sequence-adjust":{"source":"iana"},"application/tamp-sequence-adjust-confirm":{"source":"iana"},"application/tamp-status-query":{"source":"iana"},"application/tamp-status-response":{"source":"iana"},"application/tamp-update":{"source":"iana"},"application/tamp-update-confirm":{"source":"iana"},"application/tar":{"compressible":true},"application/taxii+json":{"source":"iana","compressible":true},"application/td+json":{"source":"iana","compressible":true},"application/tei+xml":{"source":"iana","compressible":true,"extensions":["tei","teicorpus"]},"application/tetra_isi":{"source":"iana"},"application/thraud+xml":{"source":"iana","compressible":true,"extensions":["tfi"]},"application/timestamp-query":{"source":"iana"},"application/timestamp-reply":{"source":"iana"},"application/timestamped-data":{"source":"iana","extensions":["tsd"]},"application/tlsrpt+gzip":{"source":"iana"},"application/tlsrpt+json":{"source":"iana","compressible":true},"application/tnauthlist":{"source":"iana"},"application/token-introspection+jwt":{"source":"iana"},"application/toml":{"compressible":true,"extensions":["toml"]},"application/trickle-ice-sdpfrag":{"source":"iana"},"application/trig":{"source":"iana","extensions":["trig"]},"application/ttml+xml":{"source":"iana","compressible":true,"extensions":["ttml"]},"application/tve-trigger":{"source":"iana"},"application/tzif":{"source":"iana"},"application/tzif-leap":{"source":"iana"},"application/ubjson":{"compressible":false,"extensions":["ubj"]},"application/ulpfec":{"source":"iana"},"application/urc-grpsheet+xml":{"source":"iana","compressible":true},"application/urc-ressheet+xml":{"source":"iana","compressible":true,"extensions":["rsheet"]},"application/urc-targetdesc+xml":{"source":"iana","compressible":true,"extensions":["td"]},"application/urc-uisocketdesc+xml":{"source":"iana","compressible":true},"application/vcard+json":{"source":"iana","compressible":true},"application/vcard+xml":{"source":"iana","compressible":true},"application/vemmi":{"source":"iana"},"application/vividence.scriptfile":{"source":"apache"},"application/vnd.1000minds.decision-model+xml":{"source":"iana","compressible":true,"extensions":["1km"]},"application/vnd.3gpp-prose+xml":{"source":"iana","compressible":true},"application/vnd.3gpp-prose-pc3ch+xml":{"source":"iana","compressible":true},"application/vnd.3gpp-v2x-local-service-information":{"source":"iana"},"application/vnd.3gpp.5gnas":{"source":"iana"},"application/vnd.3gpp.access-transfer-events+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.bsf+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.gmop+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.gtpc":{"source":"iana"},"application/vnd.3gpp.interworking-data":{"source":"iana"},"application/vnd.3gpp.lpp":{"source":"iana"},"application/vnd.3gpp.mc-signalling-ear":{"source":"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-payload":{"source":"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-signalling":{"source":"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-floor-request+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-location-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-signed+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-ue-init-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-location-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-transmission-request+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mid-call+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.ngap":{"source":"iana"},"application/vnd.3gpp.pfcp":{"source":"iana"},"application/vnd.3gpp.pic-bw-large":{"source":"iana","extensions":["plb"]},"application/vnd.3gpp.pic-bw-small":{"source":"iana","extensions":["psb"]},"application/vnd.3gpp.pic-bw-var":{"source":"iana","extensions":["pvb"]},"application/vnd.3gpp.s1ap":{"source":"iana"},"application/vnd.3gpp.sms":{"source":"iana"},"application/vnd.3gpp.sms+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.srvcc-ext+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.srvcc-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.state-and-event-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.ussd+xml":{"source":"iana","compressible":true},"application/vnd.3gpp2.bcmcsinfo+xml":{"source":"iana","compressible":true},"application/vnd.3gpp2.sms":{"source":"iana"},"application/vnd.3gpp2.tcap":{"source":"iana","extensions":["tcap"]},"application/vnd.3lightssoftware.imagescal":{"source":"iana"},"application/vnd.3m.post-it-notes":{"source":"iana","extensions":["pwn"]},"application/vnd.accpac.simply.aso":{"source":"iana","extensions":["aso"]},"application/vnd.accpac.simply.imp":{"source":"iana","extensions":["imp"]},"application/vnd.acucobol":{"source":"iana","extensions":["acu"]},"application/vnd.acucorp":{"source":"iana","extensions":["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{"source":"apache","compressible":false,"extensions":["air"]},"application/vnd.adobe.flash.movie":{"source":"iana"},"application/vnd.adobe.formscentral.fcdt":{"source":"iana","extensions":["fcdt"]},"application/vnd.adobe.fxp":{"source":"iana","extensions":["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{"source":"iana"},"application/vnd.adobe.xdp+xml":{"source":"iana","compressible":true,"extensions":["xdp"]},"application/vnd.adobe.xfdf":{"source":"iana","extensions":["xfdf"]},"application/vnd.aether.imp":{"source":"iana"},"application/vnd.afpc.afplinedata":{"source":"iana"},"application/vnd.afpc.afplinedata-pagedef":{"source":"iana"},"application/vnd.afpc.cmoca-cmresource":{"source":"iana"},"application/vnd.afpc.foca-charset":{"source":"iana"},"application/vnd.afpc.foca-codedfont":{"source":"iana"},"application/vnd.afpc.foca-codepage":{"source":"iana"},"application/vnd.afpc.modca":{"source":"iana"},"application/vnd.afpc.modca-cmtable":{"source":"iana"},"application/vnd.afpc.modca-formdef":{"source":"iana"},"application/vnd.afpc.modca-mediummap":{"source":"iana"},"application/vnd.afpc.modca-objectcontainer":{"source":"iana"},"application/vnd.afpc.modca-overlay":{"source":"iana"},"application/vnd.afpc.modca-pagesegment":{"source":"iana"},"application/vnd.age":{"source":"iana","extensions":["age"]},"application/vnd.ah-barcode":{"source":"iana"},"application/vnd.ahead.space":{"source":"iana","extensions":["ahead"]},"application/vnd.airzip.filesecure.azf":{"source":"iana","extensions":["azf"]},"application/vnd.airzip.filesecure.azs":{"source":"iana","extensions":["azs"]},"application/vnd.amadeus+json":{"source":"iana","compressible":true},"application/vnd.amazon.ebook":{"source":"apache","extensions":["azw"]},"application/vnd.amazon.mobi8-ebook":{"source":"iana"},"application/vnd.americandynamics.acc":{"source":"iana","extensions":["acc"]},"application/vnd.amiga.ami":{"source":"iana","extensions":["ami"]},"application/vnd.amundsen.maze+xml":{"source":"iana","compressible":true},"application/vnd.android.ota":{"source":"iana"},"application/vnd.android.package-archive":{"source":"apache","compressible":false,"extensions":["apk"]},"application/vnd.anki":{"source":"iana"},"application/vnd.anser-web-certificate-issue-initiation":{"source":"iana","extensions":["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{"source":"apache","extensions":["fti"]},"application/vnd.antix.game-component":{"source":"iana","extensions":["atx"]},"application/vnd.apache.arrow.file":{"source":"iana"},"application/vnd.apache.arrow.stream":{"source":"iana"},"application/vnd.apache.thrift.binary":{"source":"iana"},"application/vnd.apache.thrift.compact":{"source":"iana"},"application/vnd.apache.thrift.json":{"source":"iana"},"application/vnd.api+json":{"source":"iana","compressible":true},"application/vnd.aplextor.warrp+json":{"source":"iana","compressible":true},"application/vnd.apothekende.reservation+json":{"source":"iana","compressible":true},"application/vnd.apple.installer+xml":{"source":"iana","compressible":true,"extensions":["mpkg"]},"application/vnd.apple.keynote":{"source":"iana","extensions":["key"]},"application/vnd.apple.mpegurl":{"source":"iana","extensions":["m3u8"]},"application/vnd.apple.numbers":{"source":"iana","extensions":["numbers"]},"application/vnd.apple.pages":{"source":"iana","extensions":["pages"]},"application/vnd.apple.pkpass":{"compressible":false,"extensions":["pkpass"]},"application/vnd.arastra.swi":{"source":"iana"},"application/vnd.aristanetworks.swi":{"source":"iana","extensions":["swi"]},"application/vnd.artisan+json":{"source":"iana","compressible":true},"application/vnd.artsquare":{"source":"iana"},"application/vnd.astraea-software.iota":{"source":"iana","extensions":["iota"]},"application/vnd.audiograph":{"source":"iana","extensions":["aep"]},"application/vnd.autopackage":{"source":"iana"},"application/vnd.avalon+json":{"source":"iana","compressible":true},"application/vnd.avistar+xml":{"source":"iana","compressible":true},"application/vnd.balsamiq.bmml+xml":{"source":"iana","compressible":true,"extensions":["bmml"]},"application/vnd.balsamiq.bmpr":{"source":"iana"},"application/vnd.banana-accounting":{"source":"iana"},"application/vnd.bbf.usp.error":{"source":"iana"},"application/vnd.bbf.usp.msg":{"source":"iana"},"application/vnd.bbf.usp.msg+json":{"source":"iana","compressible":true},"application/vnd.bekitzur-stech+json":{"source":"iana","compressible":true},"application/vnd.bint.med-content":{"source":"iana"},"application/vnd.biopax.rdf+xml":{"source":"iana","compressible":true},"application/vnd.blink-idb-value-wrapper":{"source":"iana"},"application/vnd.blueice.multipass":{"source":"iana","extensions":["mpm"]},"application/vnd.bluetooth.ep.oob":{"source":"iana"},"application/vnd.bluetooth.le.oob":{"source":"iana"},"application/vnd.bmi":{"source":"iana","extensions":["bmi"]},"application/vnd.bpf":{"source":"iana"},"application/vnd.bpf3":{"source":"iana"},"application/vnd.businessobjects":{"source":"iana","extensions":["rep"]},"application/vnd.byu.uapi+json":{"source":"iana","compressible":true},"application/vnd.cab-jscript":{"source":"iana"},"application/vnd.canon-cpdl":{"source":"iana"},"application/vnd.canon-lips":{"source":"iana"},"application/vnd.capasystems-pg+json":{"source":"iana","compressible":true},"application/vnd.cendio.thinlinc.clientconf":{"source":"iana"},"application/vnd.century-systems.tcp_stream":{"source":"iana"},"application/vnd.chemdraw+xml":{"source":"iana","compressible":true,"extensions":["cdxml"]},"application/vnd.chess-pgn":{"source":"iana"},"application/vnd.chipnuts.karaoke-mmd":{"source":"iana","extensions":["mmd"]},"application/vnd.ciedi":{"source":"iana"},"application/vnd.cinderella":{"source":"iana","extensions":["cdy"]},"application/vnd.cirpack.isdn-ext":{"source":"iana"},"application/vnd.citationstyles.style+xml":{"source":"iana","compressible":true,"extensions":["csl"]},"application/vnd.claymore":{"source":"iana","extensions":["cla"]},"application/vnd.cloanto.rp9":{"source":"iana","extensions":["rp9"]},"application/vnd.clonk.c4group":{"source":"iana","extensions":["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{"source":"iana","extensions":["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{"source":"iana","extensions":["c11amz"]},"application/vnd.coffeescript":{"source":"iana"},"application/vnd.collabio.xodocuments.document":{"source":"iana"},"application/vnd.collabio.xodocuments.document-template":{"source":"iana"},"application/vnd.collabio.xodocuments.presentation":{"source":"iana"},"application/vnd.collabio.xodocuments.presentation-template":{"source":"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{"source":"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{"source":"iana"},"application/vnd.collection+json":{"source":"iana","compressible":true},"application/vnd.collection.doc+json":{"source":"iana","compressible":true},"application/vnd.collection.next+json":{"source":"iana","compressible":true},"application/vnd.comicbook+zip":{"source":"iana","compressible":false},"application/vnd.comicbook-rar":{"source":"iana"},"application/vnd.commerce-battelle":{"source":"iana"},"application/vnd.commonspace":{"source":"iana","extensions":["csp"]},"application/vnd.contact.cmsg":{"source":"iana","extensions":["cdbcmsg"]},"application/vnd.coreos.ignition+json":{"source":"iana","compressible":true},"application/vnd.cosmocaller":{"source":"iana","extensions":["cmc"]},"application/vnd.crick.clicker":{"source":"iana","extensions":["clkx"]},"application/vnd.crick.clicker.keyboard":{"source":"iana","extensions":["clkk"]},"application/vnd.crick.clicker.palette":{"source":"iana","extensions":["clkp"]},"application/vnd.crick.clicker.template":{"source":"iana","extensions":["clkt"]},"application/vnd.crick.clicker.wordbank":{"source":"iana","extensions":["clkw"]},"application/vnd.criticaltools.wbs+xml":{"source":"iana","compressible":true,"extensions":["wbs"]},"application/vnd.cryptii.pipe+json":{"source":"iana","compressible":true},"application/vnd.crypto-shade-file":{"source":"iana"},"application/vnd.cryptomator.encrypted":{"source":"iana"},"application/vnd.cryptomator.vault":{"source":"iana"},"application/vnd.ctc-posml":{"source":"iana","extensions":["pml"]},"application/vnd.ctct.ws+xml":{"source":"iana","compressible":true},"application/vnd.cups-pdf":{"source":"iana"},"application/vnd.cups-postscript":{"source":"iana"},"application/vnd.cups-ppd":{"source":"iana","extensions":["ppd"]},"application/vnd.cups-raster":{"source":"iana"},"application/vnd.cups-raw":{"source":"iana"},"application/vnd.curl":{"source":"iana"},"application/vnd.curl.car":{"source":"apache","extensions":["car"]},"application/vnd.curl.pcurl":{"source":"apache","extensions":["pcurl"]},"application/vnd.cyan.dean.root+xml":{"source":"iana","compressible":true},"application/vnd.cybank":{"source":"iana"},"application/vnd.cyclonedx+json":{"source":"iana","compressible":true},"application/vnd.cyclonedx+xml":{"source":"iana","compressible":true},"application/vnd.d2l.coursepackage1p0+zip":{"source":"iana","compressible":false},"application/vnd.d3m-dataset":{"source":"iana"},"application/vnd.d3m-problem":{"source":"iana"},"application/vnd.dart":{"source":"iana","compressible":true,"extensions":["dart"]},"application/vnd.data-vision.rdz":{"source":"iana","extensions":["rdz"]},"application/vnd.datapackage+json":{"source":"iana","compressible":true},"application/vnd.dataresource+json":{"source":"iana","compressible":true},"application/vnd.dbf":{"source":"iana","extensions":["dbf"]},"application/vnd.debian.binary-package":{"source":"iana"},"application/vnd.dece.data":{"source":"iana","extensions":["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{"source":"iana","compressible":true,"extensions":["uvt","uvvt"]},"application/vnd.dece.unspecified":{"source":"iana","extensions":["uvx","uvvx"]},"application/vnd.dece.zip":{"source":"iana","extensions":["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{"source":"iana","extensions":["fe_launch"]},"application/vnd.desmume.movie":{"source":"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{"source":"iana"},"application/vnd.dm.delegation+xml":{"source":"iana","compressible":true},"application/vnd.dna":{"source":"iana","extensions":["dna"]},"application/vnd.document+json":{"source":"iana","compressible":true},"application/vnd.dolby.mlp":{"source":"apache","extensions":["mlp"]},"application/vnd.dolby.mobile.1":{"source":"iana"},"application/vnd.dolby.mobile.2":{"source":"iana"},"application/vnd.doremir.scorecloud-binary-document":{"source":"iana"},"application/vnd.dpgraph":{"source":"iana","extensions":["dpg"]},"application/vnd.dreamfactory":{"source":"iana","extensions":["dfac"]},"application/vnd.drive+json":{"source":"iana","compressible":true},"application/vnd.ds-keypoint":{"source":"apache","extensions":["kpxx"]},"application/vnd.dtg.local":{"source":"iana"},"application/vnd.dtg.local.flash":{"source":"iana"},"application/vnd.dtg.local.html":{"source":"iana"},"application/vnd.dvb.ait":{"source":"iana","extensions":["ait"]},"application/vnd.dvb.dvbisl+xml":{"source":"iana","compressible":true},"application/vnd.dvb.dvbj":{"source":"iana"},"application/vnd.dvb.esgcontainer":{"source":"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{"source":"iana"},"application/vnd.dvb.ipdcesgaccess":{"source":"iana"},"application/vnd.dvb.ipdcesgaccess2":{"source":"iana"},"application/vnd.dvb.ipdcesgpdd":{"source":"iana"},"application/vnd.dvb.ipdcroaming":{"source":"iana"},"application/vnd.dvb.iptv.alfec-base":{"source":"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{"source":"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-container+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-generic+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-msglist+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-registration-request+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-registration-response+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-init+xml":{"source":"iana","compressible":true},"application/vnd.dvb.pfr":{"source":"iana"},"application/vnd.dvb.service":{"source":"iana","extensions":["svc"]},"application/vnd.dxr":{"source":"iana"},"application/vnd.dynageo":{"source":"iana","extensions":["geo"]},"application/vnd.dzr":{"source":"iana"},"application/vnd.easykaraoke.cdgdownload":{"source":"iana"},"application/vnd.ecdis-update":{"source":"iana"},"application/vnd.ecip.rlp":{"source":"iana"},"application/vnd.eclipse.ditto+json":{"source":"iana","compressible":true},"application/vnd.ecowin.chart":{"source":"iana","extensions":["mag"]},"application/vnd.ecowin.filerequest":{"source":"iana"},"application/vnd.ecowin.fileupdate":{"source":"iana"},"application/vnd.ecowin.series":{"source":"iana"},"application/vnd.ecowin.seriesrequest":{"source":"iana"},"application/vnd.ecowin.seriesupdate":{"source":"iana"},"application/vnd.efi.img":{"source":"iana"},"application/vnd.efi.iso":{"source":"iana"},"application/vnd.emclient.accessrequest+xml":{"source":"iana","compressible":true},"application/vnd.enliven":{"source":"iana","extensions":["nml"]},"application/vnd.enphase.envoy":{"source":"iana"},"application/vnd.eprints.data+xml":{"source":"iana","compressible":true},"application/vnd.epson.esf":{"source":"iana","extensions":["esf"]},"application/vnd.epson.msf":{"source":"iana","extensions":["msf"]},"application/vnd.epson.quickanime":{"source":"iana","extensions":["qam"]},"application/vnd.epson.salt":{"source":"iana","extensions":["slt"]},"application/vnd.epson.ssf":{"source":"iana","extensions":["ssf"]},"application/vnd.ericsson.quickcall":{"source":"iana"},"application/vnd.espass-espass+zip":{"source":"iana","compressible":false},"application/vnd.eszigno3+xml":{"source":"iana","compressible":true,"extensions":["es3","et3"]},"application/vnd.etsi.aoc+xml":{"source":"iana","compressible":true},"application/vnd.etsi.asic-e+zip":{"source":"iana","compressible":false},"application/vnd.etsi.asic-s+zip":{"source":"iana","compressible":false},"application/vnd.etsi.cug+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvcommand+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvdiscovery+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvprofile+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-bc+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-cod+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-npvr+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvservice+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsync+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvueprofile+xml":{"source":"iana","compressible":true},"application/vnd.etsi.mcid+xml":{"source":"iana","compressible":true},"application/vnd.etsi.mheg5":{"source":"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{"source":"iana","compressible":true},"application/vnd.etsi.pstn+xml":{"source":"iana","compressible":true},"application/vnd.etsi.sci+xml":{"source":"iana","compressible":true},"application/vnd.etsi.simservs+xml":{"source":"iana","compressible":true},"application/vnd.etsi.timestamp-token":{"source":"iana"},"application/vnd.etsi.tsl+xml":{"source":"iana","compressible":true},"application/vnd.etsi.tsl.der":{"source":"iana"},"application/vnd.eu.kasparian.car+json":{"source":"iana","compressible":true},"application/vnd.eudora.data":{"source":"iana"},"application/vnd.evolv.ecig.profile":{"source":"iana"},"application/vnd.evolv.ecig.settings":{"source":"iana"},"application/vnd.evolv.ecig.theme":{"source":"iana"},"application/vnd.exstream-empower+zip":{"source":"iana","compressible":false},"application/vnd.exstream-package":{"source":"iana"},"application/vnd.ezpix-album":{"source":"iana","extensions":["ez2"]},"application/vnd.ezpix-package":{"source":"iana","extensions":["ez3"]},"application/vnd.f-secure.mobile":{"source":"iana"},"application/vnd.familysearch.gedcom+zip":{"source":"iana","compressible":false},"application/vnd.fastcopy-disk-image":{"source":"iana"},"application/vnd.fdf":{"source":"iana","extensions":["fdf"]},"application/vnd.fdsn.mseed":{"source":"iana","extensions":["mseed"]},"application/vnd.fdsn.seed":{"source":"iana","extensions":["seed","dataless"]},"application/vnd.ffsns":{"source":"iana"},"application/vnd.ficlab.flb+zip":{"source":"iana","compressible":false},"application/vnd.filmit.zfc":{"source":"iana"},"application/vnd.fints":{"source":"iana"},"application/vnd.firemonkeys.cloudcell":{"source":"iana"},"application/vnd.flographit":{"source":"iana","extensions":["gph"]},"application/vnd.fluxtime.clip":{"source":"iana","extensions":["ftc"]},"application/vnd.font-fontforge-sfd":{"source":"iana"},"application/vnd.framemaker":{"source":"iana","extensions":["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{"source":"iana","extensions":["fnc"]},"application/vnd.frogans.ltf":{"source":"iana","extensions":["ltf"]},"application/vnd.fsc.weblaunch":{"source":"iana","extensions":["fsc"]},"application/vnd.fujifilm.fb.docuworks":{"source":"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{"source":"iana"},"application/vnd.fujifilm.fb.docuworks.container":{"source":"iana"},"application/vnd.fujifilm.fb.jfi+xml":{"source":"iana","compressible":true},"application/vnd.fujitsu.oasys":{"source":"iana","extensions":["oas"]},"application/vnd.fujitsu.oasys2":{"source":"iana","extensions":["oa2"]},"application/vnd.fujitsu.oasys3":{"source":"iana","extensions":["oa3"]},"application/vnd.fujitsu.oasysgp":{"source":"iana","extensions":["fg5"]},"application/vnd.fujitsu.oasysprs":{"source":"iana","extensions":["bh2"]},"application/vnd.fujixerox.art-ex":{"source":"iana"},"application/vnd.fujixerox.art4":{"source":"iana"},"application/vnd.fujixerox.ddd":{"source":"iana","extensions":["ddd"]},"application/vnd.fujixerox.docuworks":{"source":"iana","extensions":["xdw"]},"application/vnd.fujixerox.docuworks.binder":{"source":"iana","extensions":["xbd"]},"application/vnd.fujixerox.docuworks.container":{"source":"iana"},"application/vnd.fujixerox.hbpl":{"source":"iana"},"application/vnd.fut-misnet":{"source":"iana"},"application/vnd.futoin+cbor":{"source":"iana"},"application/vnd.futoin+json":{"source":"iana","compressible":true},"application/vnd.fuzzysheet":{"source":"iana","extensions":["fzs"]},"application/vnd.genomatix.tuxedo":{"source":"iana","extensions":["txd"]},"application/vnd.gentics.grd+json":{"source":"iana","compressible":true},"application/vnd.geo+json":{"source":"iana","compressible":true},"application/vnd.geocube+xml":{"source":"iana","compressible":true},"application/vnd.geogebra.file":{"source":"iana","extensions":["ggb"]},"application/vnd.geogebra.slides":{"source":"iana"},"application/vnd.geogebra.tool":{"source":"iana","extensions":["ggt"]},"application/vnd.geometry-explorer":{"source":"iana","extensions":["gex","gre"]},"application/vnd.geonext":{"source":"iana","extensions":["gxt"]},"application/vnd.geoplan":{"source":"iana","extensions":["g2w"]},"application/vnd.geospace":{"source":"iana","extensions":["g3w"]},"application/vnd.gerber":{"source":"iana"},"application/vnd.globalplatform.card-content-mgt":{"source":"iana"},"application/vnd.globalplatform.card-content-mgt-response":{"source":"iana"},"application/vnd.gmx":{"source":"iana","extensions":["gmx"]},"application/vnd.google-apps.document":{"compressible":false,"extensions":["gdoc"]},"application/vnd.google-apps.presentation":{"compressible":false,"extensions":["gslides"]},"application/vnd.google-apps.spreadsheet":{"compressible":false,"extensions":["gsheet"]},"application/vnd.google-earth.kml+xml":{"source":"iana","compressible":true,"extensions":["kml"]},"application/vnd.google-earth.kmz":{"source":"iana","compressible":false,"extensions":["kmz"]},"application/vnd.gov.sk.e-form+xml":{"source":"iana","compressible":true},"application/vnd.gov.sk.e-form+zip":{"source":"iana","compressible":false},"application/vnd.gov.sk.xmldatacontainer+xml":{"source":"iana","compressible":true},"application/vnd.grafeq":{"source":"iana","extensions":["gqf","gqs"]},"application/vnd.gridmp":{"source":"iana"},"application/vnd.groove-account":{"source":"iana","extensions":["gac"]},"application/vnd.groove-help":{"source":"iana","extensions":["ghf"]},"application/vnd.groove-identity-message":{"source":"iana","extensions":["gim"]},"application/vnd.groove-injector":{"source":"iana","extensions":["grv"]},"application/vnd.groove-tool-message":{"source":"iana","extensions":["gtm"]},"application/vnd.groove-tool-template":{"source":"iana","extensions":["tpl"]},"application/vnd.groove-vcard":{"source":"iana","extensions":["vcg"]},"application/vnd.hal+json":{"source":"iana","compressible":true},"application/vnd.hal+xml":{"source":"iana","compressible":true,"extensions":["hal"]},"application/vnd.handheld-entertainment+xml":{"source":"iana","compressible":true,"extensions":["zmm"]},"application/vnd.hbci":{"source":"iana","extensions":["hbci"]},"application/vnd.hc+json":{"source":"iana","compressible":true},"application/vnd.hcl-bireports":{"source":"iana"},"application/vnd.hdt":{"source":"iana"},"application/vnd.heroku+json":{"source":"iana","compressible":true},"application/vnd.hhe.lesson-player":{"source":"iana","extensions":["les"]},"application/vnd.hl7cda+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.hl7v2+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.hp-hpgl":{"source":"iana","extensions":["hpgl"]},"application/vnd.hp-hpid":{"source":"iana","extensions":["hpid"]},"application/vnd.hp-hps":{"source":"iana","extensions":["hps"]},"application/vnd.hp-jlyt":{"source":"iana","extensions":["jlt"]},"application/vnd.hp-pcl":{"source":"iana","extensions":["pcl"]},"application/vnd.hp-pclxl":{"source":"iana","extensions":["pclxl"]},"application/vnd.httphone":{"source":"iana"},"application/vnd.hydrostatix.sof-data":{"source":"iana","extensions":["sfd-hdstx"]},"application/vnd.hyper+json":{"source":"iana","compressible":true},"application/vnd.hyper-item+json":{"source":"iana","compressible":true},"application/vnd.hyperdrive+json":{"source":"iana","compressible":true},"application/vnd.hzn-3d-crossword":{"source":"iana"},"application/vnd.ibm.afplinedata":{"source":"iana"},"application/vnd.ibm.electronic-media":{"source":"iana"},"application/vnd.ibm.minipay":{"source":"iana","extensions":["mpy"]},"application/vnd.ibm.modcap":{"source":"iana","extensions":["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{"source":"iana","extensions":["irm"]},"application/vnd.ibm.secure-container":{"source":"iana","extensions":["sc"]},"application/vnd.iccprofile":{"source":"iana","extensions":["icc","icm"]},"application/vnd.ieee.1905":{"source":"iana"},"application/vnd.igloader":{"source":"iana","extensions":["igl"]},"application/vnd.imagemeter.folder+zip":{"source":"iana","compressible":false},"application/vnd.imagemeter.image+zip":{"source":"iana","compressible":false},"application/vnd.immervision-ivp":{"source":"iana","extensions":["ivp"]},"application/vnd.immervision-ivu":{"source":"iana","extensions":["ivu"]},"application/vnd.ims.imsccv1p1":{"source":"iana"},"application/vnd.ims.imsccv1p2":{"source":"iana"},"application/vnd.ims.imsccv1p3":{"source":"iana"},"application/vnd.ims.lis.v2.result+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolproxy+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolproxy.id+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolsettings+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolsettings.simple+json":{"source":"iana","compressible":true},"application/vnd.informedcontrol.rms+xml":{"source":"iana","compressible":true},"application/vnd.informix-visionary":{"source":"iana"},"application/vnd.infotech.project":{"source":"iana"},"application/vnd.infotech.project+xml":{"source":"iana","compressible":true},"application/vnd.innopath.wamp.notification":{"source":"iana"},"application/vnd.insors.igm":{"source":"iana","extensions":["igm"]},"application/vnd.intercon.formnet":{"source":"iana","extensions":["xpw","xpx"]},"application/vnd.intergeo":{"source":"iana","extensions":["i2g"]},"application/vnd.intertrust.digibox":{"source":"iana"},"application/vnd.intertrust.nncp":{"source":"iana"},"application/vnd.intu.qbo":{"source":"iana","extensions":["qbo"]},"application/vnd.intu.qfx":{"source":"iana","extensions":["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.conceptitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.knowledgeitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.newsitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.newsmessage+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.packageitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.planningitem+xml":{"source":"iana","compressible":true},"application/vnd.ipunplugged.rcprofile":{"source":"iana","extensions":["rcprofile"]},"application/vnd.irepository.package+xml":{"source":"iana","compressible":true,"extensions":["irp"]},"application/vnd.is-xpr":{"source":"iana","extensions":["xpr"]},"application/vnd.isac.fcs":{"source":"iana","extensions":["fcs"]},"application/vnd.iso11783-10+zip":{"source":"iana","compressible":false},"application/vnd.jam":{"source":"iana","extensions":["jam"]},"application/vnd.japannet-directory-service":{"source":"iana"},"application/vnd.japannet-jpnstore-wakeup":{"source":"iana"},"application/vnd.japannet-payment-wakeup":{"source":"iana"},"application/vnd.japannet-registration":{"source":"iana"},"application/vnd.japannet-registration-wakeup":{"source":"iana"},"application/vnd.japannet-setstore-wakeup":{"source":"iana"},"application/vnd.japannet-verification":{"source":"iana"},"application/vnd.japannet-verification-wakeup":{"source":"iana"},"application/vnd.jcp.javame.midlet-rms":{"source":"iana","extensions":["rms"]},"application/vnd.jisp":{"source":"iana","extensions":["jisp"]},"application/vnd.joost.joda-archive":{"source":"iana","extensions":["joda"]},"application/vnd.jsk.isdn-ngn":{"source":"iana"},"application/vnd.kahootz":{"source":"iana","extensions":["ktz","ktr"]},"application/vnd.kde.karbon":{"source":"iana","extensions":["karbon"]},"application/vnd.kde.kchart":{"source":"iana","extensions":["chrt"]},"application/vnd.kde.kformula":{"source":"iana","extensions":["kfo"]},"application/vnd.kde.kivio":{"source":"iana","extensions":["flw"]},"application/vnd.kde.kontour":{"source":"iana","extensions":["kon"]},"application/vnd.kde.kpresenter":{"source":"iana","extensions":["kpr","kpt"]},"application/vnd.kde.kspread":{"source":"iana","extensions":["ksp"]},"application/vnd.kde.kword":{"source":"iana","extensions":["kwd","kwt"]},"application/vnd.kenameaapp":{"source":"iana","extensions":["htke"]},"application/vnd.kidspiration":{"source":"iana","extensions":["kia"]},"application/vnd.kinar":{"source":"iana","extensions":["kne","knp"]},"application/vnd.koan":{"source":"iana","extensions":["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{"source":"iana","extensions":["sse"]},"application/vnd.las":{"source":"iana"},"application/vnd.las.las+json":{"source":"iana","compressible":true},"application/vnd.las.las+xml":{"source":"iana","compressible":true,"extensions":["lasxml"]},"application/vnd.laszip":{"source":"iana"},"application/vnd.leap+json":{"source":"iana","compressible":true},"application/vnd.liberty-request+xml":{"source":"iana","compressible":true},"application/vnd.llamagraphics.life-balance.desktop":{"source":"iana","extensions":["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{"source":"iana","compressible":true,"extensions":["lbe"]},"application/vnd.logipipe.circuit+zip":{"source":"iana","compressible":false},"application/vnd.loom":{"source":"iana"},"application/vnd.lotus-1-2-3":{"source":"iana","extensions":["123"]},"application/vnd.lotus-approach":{"source":"iana","extensions":["apr"]},"application/vnd.lotus-freelance":{"source":"iana","extensions":["pre"]},"application/vnd.lotus-notes":{"source":"iana","extensions":["nsf"]},"application/vnd.lotus-organizer":{"source":"iana","extensions":["org"]},"application/vnd.lotus-screencam":{"source":"iana","extensions":["scm"]},"application/vnd.lotus-wordpro":{"source":"iana","extensions":["lwp"]},"application/vnd.macports.portpkg":{"source":"iana","extensions":["portpkg"]},"application/vnd.mapbox-vector-tile":{"source":"iana","extensions":["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.conftoken+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.license+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.mdcf":{"source":"iana"},"application/vnd.mason+json":{"source":"iana","compressible":true},"application/vnd.maxar.archive.3tz+zip":{"source":"iana","compressible":false},"application/vnd.maxmind.maxmind-db":{"source":"iana"},"application/vnd.mcd":{"source":"iana","extensions":["mcd"]},"application/vnd.medcalcdata":{"source":"iana","extensions":["mc1"]},"application/vnd.mediastation.cdkey":{"source":"iana","extensions":["cdkey"]},"application/vnd.meridian-slingshot":{"source":"iana"},"application/vnd.mfer":{"source":"iana","extensions":["mwf"]},"application/vnd.mfmp":{"source":"iana","extensions":["mfm"]},"application/vnd.micro+json":{"source":"iana","compressible":true},"application/vnd.micrografx.flo":{"source":"iana","extensions":["flo"]},"application/vnd.micrografx.igx":{"source":"iana","extensions":["igx"]},"application/vnd.microsoft.portable-executable":{"source":"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{"source":"iana"},"application/vnd.miele+json":{"source":"iana","compressible":true},"application/vnd.mif":{"source":"iana","extensions":["mif"]},"application/vnd.minisoft-hp3000-save":{"source":"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{"source":"iana"},"application/vnd.mobius.daf":{"source":"iana","extensions":["daf"]},"application/vnd.mobius.dis":{"source":"iana","extensions":["dis"]},"application/vnd.mobius.mbk":{"source":"iana","extensions":["mbk"]},"application/vnd.mobius.mqy":{"source":"iana","extensions":["mqy"]},"application/vnd.mobius.msl":{"source":"iana","extensions":["msl"]},"application/vnd.mobius.plc":{"source":"iana","extensions":["plc"]},"application/vnd.mobius.txf":{"source":"iana","extensions":["txf"]},"application/vnd.mophun.application":{"source":"iana","extensions":["mpn"]},"application/vnd.mophun.certificate":{"source":"iana","extensions":["mpc"]},"application/vnd.motorola.flexsuite":{"source":"iana"},"application/vnd.motorola.flexsuite.adsi":{"source":"iana"},"application/vnd.motorola.flexsuite.fis":{"source":"iana"},"application/vnd.motorola.flexsuite.gotap":{"source":"iana"},"application/vnd.motorola.flexsuite.kmr":{"source":"iana"},"application/vnd.motorola.flexsuite.ttc":{"source":"iana"},"application/vnd.motorola.flexsuite.wem":{"source":"iana"},"application/vnd.motorola.iprm":{"source":"iana"},"application/vnd.mozilla.xul+xml":{"source":"iana","compressible":true,"extensions":["xul"]},"application/vnd.ms-3mfdocument":{"source":"iana"},"application/vnd.ms-artgalry":{"source":"iana","extensions":["cil"]},"application/vnd.ms-asf":{"source":"iana"},"application/vnd.ms-cab-compressed":{"source":"iana","extensions":["cab"]},"application/vnd.ms-color.iccprofile":{"source":"apache"},"application/vnd.ms-excel":{"source":"iana","compressible":false,"extensions":["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{"source":"iana","extensions":["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{"source":"iana","extensions":["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{"source":"iana","extensions":["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{"source":"iana","extensions":["xltm"]},"application/vnd.ms-fontobject":{"source":"iana","compressible":true,"extensions":["eot"]},"application/vnd.ms-htmlhelp":{"source":"iana","extensions":["chm"]},"application/vnd.ms-ims":{"source":"iana","extensions":["ims"]},"application/vnd.ms-lrm":{"source":"iana","extensions":["lrm"]},"application/vnd.ms-office.activex+xml":{"source":"iana","compressible":true},"application/vnd.ms-officetheme":{"source":"iana","extensions":["thmx"]},"application/vnd.ms-opentype":{"source":"apache","compressible":true},"application/vnd.ms-outlook":{"compressible":false,"extensions":["msg"]},"application/vnd.ms-package.obfuscated-opentype":{"source":"apache"},"application/vnd.ms-pki.seccat":{"source":"apache","extensions":["cat"]},"application/vnd.ms-pki.stl":{"source":"apache","extensions":["stl"]},"application/vnd.ms-playready.initiator+xml":{"source":"iana","compressible":true},"application/vnd.ms-powerpoint":{"source":"iana","compressible":false,"extensions":["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{"source":"iana","extensions":["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{"source":"iana","extensions":["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{"source":"iana","extensions":["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{"source":"iana","extensions":["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{"source":"iana","extensions":["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{"source":"iana","compressible":true},"application/vnd.ms-printing.printticket+xml":{"source":"apache","compressible":true},"application/vnd.ms-printschematicket+xml":{"source":"iana","compressible":true},"application/vnd.ms-project":{"source":"iana","extensions":["mpp","mpt"]},"application/vnd.ms-tnef":{"source":"iana"},"application/vnd.ms-windows.devicepairing":{"source":"iana"},"application/vnd.ms-windows.nwprinting.oob":{"source":"iana"},"application/vnd.ms-windows.printerpairing":{"source":"iana"},"application/vnd.ms-windows.wsd.oob":{"source":"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{"source":"iana"},"application/vnd.ms-wmdrm.lic-resp":{"source":"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{"source":"iana"},"application/vnd.ms-wmdrm.meter-resp":{"source":"iana"},"application/vnd.ms-word.document.macroenabled.12":{"source":"iana","extensions":["docm"]},"application/vnd.ms-word.template.macroenabled.12":{"source":"iana","extensions":["dotm"]},"application/vnd.ms-works":{"source":"iana","extensions":["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{"source":"iana","extensions":["wpl"]},"application/vnd.ms-xpsdocument":{"source":"iana","compressible":false,"extensions":["xps"]},"application/vnd.msa-disk-image":{"source":"iana"},"application/vnd.mseq":{"source":"iana","extensions":["mseq"]},"application/vnd.msign":{"source":"iana"},"application/vnd.multiad.creator":{"source":"iana"},"application/vnd.multiad.creator.cif":{"source":"iana"},"application/vnd.music-niff":{"source":"iana"},"application/vnd.musician":{"source":"iana","extensions":["mus"]},"application/vnd.muvee.style":{"source":"iana","extensions":["msty"]},"application/vnd.mynfc":{"source":"iana","extensions":["taglet"]},"application/vnd.nacamar.ybrid+json":{"source":"iana","compressible":true},"application/vnd.ncd.control":{"source":"iana"},"application/vnd.ncd.reference":{"source":"iana"},"application/vnd.nearst.inv+json":{"source":"iana","compressible":true},"application/vnd.nebumind.line":{"source":"iana"},"application/vnd.nervana":{"source":"iana"},"application/vnd.netfpx":{"source":"iana"},"application/vnd.neurolanguage.nlu":{"source":"iana","extensions":["nlu"]},"application/vnd.nimn":{"source":"iana"},"application/vnd.nintendo.nitro.rom":{"source":"iana"},"application/vnd.nintendo.snes.rom":{"source":"iana"},"application/vnd.nitf":{"source":"iana","extensions":["ntf","nitf"]},"application/vnd.noblenet-directory":{"source":"iana","extensions":["nnd"]},"application/vnd.noblenet-sealer":{"source":"iana","extensions":["nns"]},"application/vnd.noblenet-web":{"source":"iana","extensions":["nnw"]},"application/vnd.nokia.catalogs":{"source":"iana"},"application/vnd.nokia.conml+wbxml":{"source":"iana"},"application/vnd.nokia.conml+xml":{"source":"iana","compressible":true},"application/vnd.nokia.iptv.config+xml":{"source":"iana","compressible":true},"application/vnd.nokia.isds-radio-presets":{"source":"iana"},"application/vnd.nokia.landmark+wbxml":{"source":"iana"},"application/vnd.nokia.landmark+xml":{"source":"iana","compressible":true},"application/vnd.nokia.landmarkcollection+xml":{"source":"iana","compressible":true},"application/vnd.nokia.n-gage.ac+xml":{"source":"iana","compressible":true,"extensions":["ac"]},"application/vnd.nokia.n-gage.data":{"source":"iana","extensions":["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{"source":"iana","extensions":["n-gage"]},"application/vnd.nokia.ncd":{"source":"iana"},"application/vnd.nokia.pcd+wbxml":{"source":"iana"},"application/vnd.nokia.pcd+xml":{"source":"iana","compressible":true},"application/vnd.nokia.radio-preset":{"source":"iana","extensions":["rpst"]},"application/vnd.nokia.radio-presets":{"source":"iana","extensions":["rpss"]},"application/vnd.novadigm.edm":{"source":"iana","extensions":["edm"]},"application/vnd.novadigm.edx":{"source":"iana","extensions":["edx"]},"application/vnd.novadigm.ext":{"source":"iana","extensions":["ext"]},"application/vnd.ntt-local.content-share":{"source":"iana"},"application/vnd.ntt-local.file-transfer":{"source":"iana"},"application/vnd.ntt-local.ogw_remote-access":{"source":"iana"},"application/vnd.ntt-local.sip-ta_remote":{"source":"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{"source":"iana"},"application/vnd.oasis.opendocument.chart":{"source":"iana","extensions":["odc"]},"application/vnd.oasis.opendocument.chart-template":{"source":"iana","extensions":["otc"]},"application/vnd.oasis.opendocument.database":{"source":"iana","extensions":["odb"]},"application/vnd.oasis.opendocument.formula":{"source":"iana","extensions":["odf"]},"application/vnd.oasis.opendocument.formula-template":{"source":"iana","extensions":["odft"]},"application/vnd.oasis.opendocument.graphics":{"source":"iana","compressible":false,"extensions":["odg"]},"application/vnd.oasis.opendocument.graphics-template":{"source":"iana","extensions":["otg"]},"application/vnd.oasis.opendocument.image":{"source":"iana","extensions":["odi"]},"application/vnd.oasis.opendocument.image-template":{"source":"iana","extensions":["oti"]},"application/vnd.oasis.opendocument.presentation":{"source":"iana","compressible":false,"extensions":["odp"]},"application/vnd.oasis.opendocument.presentation-template":{"source":"iana","extensions":["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{"source":"iana","compressible":false,"extensions":["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{"source":"iana","extensions":["ots"]},"application/vnd.oasis.opendocument.text":{"source":"iana","compressible":false,"extensions":["odt"]},"application/vnd.oasis.opendocument.text-master":{"source":"iana","extensions":["odm"]},"application/vnd.oasis.opendocument.text-template":{"source":"iana","extensions":["ott"]},"application/vnd.oasis.opendocument.text-web":{"source":"iana","extensions":["oth"]},"application/vnd.obn":{"source":"iana"},"application/vnd.ocf+cbor":{"source":"iana"},"application/vnd.oci.image.manifest.v1+json":{"source":"iana","compressible":true},"application/vnd.oftn.l10n+json":{"source":"iana","compressible":true},"application/vnd.oipf.contentaccessdownload+xml":{"source":"iana","compressible":true},"application/vnd.oipf.contentaccessstreaming+xml":{"source":"iana","compressible":true},"application/vnd.oipf.cspg-hexbinary":{"source":"iana"},"application/vnd.oipf.dae.svg+xml":{"source":"iana","compressible":true},"application/vnd.oipf.dae.xhtml+xml":{"source":"iana","compressible":true},"application/vnd.oipf.mippvcontrolmessage+xml":{"source":"iana","compressible":true},"application/vnd.oipf.pae.gem":{"source":"iana"},"application/vnd.oipf.spdiscovery+xml":{"source":"iana","compressible":true},"application/vnd.oipf.spdlist+xml":{"source":"iana","compressible":true},"application/vnd.oipf.ueprofile+xml":{"source":"iana","compressible":true},"application/vnd.oipf.userprofile+xml":{"source":"iana","compressible":true},"application/vnd.olpc-sugar":{"source":"iana","extensions":["xo"]},"application/vnd.oma-scws-config":{"source":"iana"},"application/vnd.oma-scws-http-request":{"source":"iana"},"application/vnd.oma-scws-http-response":{"source":"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.drm-trigger+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.imd+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.ltkm":{"source":"iana"},"application/vnd.oma.bcast.notification+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.provisioningtrigger":{"source":"iana"},"application/vnd.oma.bcast.sgboot":{"source":"iana"},"application/vnd.oma.bcast.sgdd+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.sgdu":{"source":"iana"},"application/vnd.oma.bcast.simple-symbol-container":{"source":"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.sprov+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.stkm":{"source":"iana"},"application/vnd.oma.cab-address-book+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-feature-handler+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-pcc+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-subs-invite+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-user-prefs+xml":{"source":"iana","compressible":true},"application/vnd.oma.dcd":{"source":"iana"},"application/vnd.oma.dcdc":{"source":"iana"},"application/vnd.oma.dd2+xml":{"source":"iana","compressible":true,"extensions":["dd2"]},"application/vnd.oma.drm.risd+xml":{"source":"iana","compressible":true},"application/vnd.oma.group-usage-list+xml":{"source":"iana","compressible":true},"application/vnd.oma.lwm2m+cbor":{"source":"iana"},"application/vnd.oma.lwm2m+json":{"source":"iana","compressible":true},"application/vnd.oma.lwm2m+tlv":{"source":"iana"},"application/vnd.oma.pal+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.detailed-progress-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.final-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.groups+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.invocation-descriptor+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.optimized-progress-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.push":{"source":"iana"},"application/vnd.oma.scidm.messages+xml":{"source":"iana","compressible":true},"application/vnd.oma.xcap-directory+xml":{"source":"iana","compressible":true},"application/vnd.omads-email+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omads-file+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omads-folder+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omaloc-supl-init":{"source":"iana"},"application/vnd.onepager":{"source":"iana"},"application/vnd.onepagertamp":{"source":"iana"},"application/vnd.onepagertamx":{"source":"iana"},"application/vnd.onepagertat":{"source":"iana"},"application/vnd.onepagertatp":{"source":"iana"},"application/vnd.onepagertatx":{"source":"iana"},"application/vnd.openblox.game+xml":{"source":"iana","compressible":true,"extensions":["obgx"]},"application/vnd.openblox.game-binary":{"source":"iana"},"application/vnd.openeye.oeb":{"source":"iana"},"application/vnd.openofficeorg.extension":{"source":"apache","extensions":["oxt"]},"application/vnd.openstreetmap.data+xml":{"source":"iana","compressible":true,"extensions":["osm"]},"application/vnd.opentimestamps.ots":{"source":"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawing+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{"source":"iana","compressible":false,"extensions":["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slide":{"source":"iana","extensions":["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{"source":"iana","extensions":["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.template":{"source":"iana","extensions":["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"source":"iana","compressible":false,"extensions":["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{"source":"iana","extensions":["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.theme+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.vmldrawing":{"source":"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{"source":"iana","compressible":false,"extensions":["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{"source":"iana","extensions":["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.core-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.relationships+xml":{"source":"iana","compressible":true},"application/vnd.oracle.resource+json":{"source":"iana","compressible":true},"application/vnd.orange.indata":{"source":"iana"},"application/vnd.osa.netdeploy":{"source":"iana"},"application/vnd.osgeo.mapguide.package":{"source":"iana","extensions":["mgp"]},"application/vnd.osgi.bundle":{"source":"iana"},"application/vnd.osgi.dp":{"source":"iana","extensions":["dp"]},"application/vnd.osgi.subsystem":{"source":"iana","extensions":["esa"]},"application/vnd.otps.ct-kip+xml":{"source":"iana","compressible":true},"application/vnd.oxli.countgraph":{"source":"iana"},"application/vnd.pagerduty+json":{"source":"iana","compressible":true},"application/vnd.palm":{"source":"iana","extensions":["pdb","pqa","oprc"]},"application/vnd.panoply":{"source":"iana"},"application/vnd.paos.xml":{"source":"iana"},"application/vnd.patentdive":{"source":"iana"},"application/vnd.patientecommsdoc":{"source":"iana"},"application/vnd.pawaafile":{"source":"iana","extensions":["paw"]},"application/vnd.pcos":{"source":"iana"},"application/vnd.pg.format":{"source":"iana","extensions":["str"]},"application/vnd.pg.osasli":{"source":"iana","extensions":["ei6"]},"application/vnd.piaccess.application-licence":{"source":"iana"},"application/vnd.picsel":{"source":"iana","extensions":["efif"]},"application/vnd.pmi.widget":{"source":"iana","extensions":["wg"]},"application/vnd.poc.group-advertisement+xml":{"source":"iana","compressible":true},"application/vnd.pocketlearn":{"source":"iana","extensions":["plf"]},"application/vnd.powerbuilder6":{"source":"iana","extensions":["pbd"]},"application/vnd.powerbuilder6-s":{"source":"iana"},"application/vnd.powerbuilder7":{"source":"iana"},"application/vnd.powerbuilder7-s":{"source":"iana"},"application/vnd.powerbuilder75":{"source":"iana"},"application/vnd.powerbuilder75-s":{"source":"iana"},"application/vnd.preminet":{"source":"iana"},"application/vnd.previewsystems.box":{"source":"iana","extensions":["box"]},"application/vnd.proteus.magazine":{"source":"iana","extensions":["mgz"]},"application/vnd.psfs":{"source":"iana"},"application/vnd.publishare-delta-tree":{"source":"iana","extensions":["qps"]},"application/vnd.pvi.ptid1":{"source":"iana","extensions":["ptid"]},"application/vnd.pwg-multiplexed":{"source":"iana"},"application/vnd.pwg-xhtml-print+xml":{"source":"iana","compressible":true},"application/vnd.qualcomm.brew-app-res":{"source":"iana"},"application/vnd.quarantainenet":{"source":"iana"},"application/vnd.quark.quarkxpress":{"source":"iana","extensions":["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{"source":"iana"},"application/vnd.radisys.moml+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-conf+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-conn+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-dialog+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-stream+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-conf+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-base+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-fax-detect+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-group+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-speech+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-transform+xml":{"source":"iana","compressible":true},"application/vnd.rainstor.data":{"source":"iana"},"application/vnd.rapid":{"source":"iana"},"application/vnd.rar":{"source":"iana","extensions":["rar"]},"application/vnd.realvnc.bed":{"source":"iana","extensions":["bed"]},"application/vnd.recordare.musicxml":{"source":"iana","extensions":["mxl"]},"application/vnd.recordare.musicxml+xml":{"source":"iana","compressible":true,"extensions":["musicxml"]},"application/vnd.renlearn.rlprint":{"source":"iana"},"application/vnd.resilient.logic":{"source":"iana"},"application/vnd.restful+json":{"source":"iana","compressible":true},"application/vnd.rig.cryptonote":{"source":"iana","extensions":["cryptonote"]},"application/vnd.rim.cod":{"source":"apache","extensions":["cod"]},"application/vnd.rn-realmedia":{"source":"apache","extensions":["rm"]},"application/vnd.rn-realmedia-vbr":{"source":"apache","extensions":["rmvb"]},"application/vnd.route66.link66+xml":{"source":"iana","compressible":true,"extensions":["link66"]},"application/vnd.rs-274x":{"source":"iana"},"application/vnd.ruckus.download":{"source":"iana"},"application/vnd.s3sms":{"source":"iana"},"application/vnd.sailingtracker.track":{"source":"iana","extensions":["st"]},"application/vnd.sar":{"source":"iana"},"application/vnd.sbm.cid":{"source":"iana"},"application/vnd.sbm.mid2":{"source":"iana"},"application/vnd.scribus":{"source":"iana"},"application/vnd.sealed.3df":{"source":"iana"},"application/vnd.sealed.csf":{"source":"iana"},"application/vnd.sealed.doc":{"source":"iana"},"application/vnd.sealed.eml":{"source":"iana"},"application/vnd.sealed.mht":{"source":"iana"},"application/vnd.sealed.net":{"source":"iana"},"application/vnd.sealed.ppt":{"source":"iana"},"application/vnd.sealed.tiff":{"source":"iana"},"application/vnd.sealed.xls":{"source":"iana"},"application/vnd.sealedmedia.softseal.html":{"source":"iana"},"application/vnd.sealedmedia.softseal.pdf":{"source":"iana"},"application/vnd.seemail":{"source":"iana","extensions":["see"]},"application/vnd.seis+json":{"source":"iana","compressible":true},"application/vnd.sema":{"source":"iana","extensions":["sema"]},"application/vnd.semd":{"source":"iana","extensions":["semd"]},"application/vnd.semf":{"source":"iana","extensions":["semf"]},"application/vnd.shade-save-file":{"source":"iana"},"application/vnd.shana.informed.formdata":{"source":"iana","extensions":["ifm"]},"application/vnd.shana.informed.formtemplate":{"source":"iana","extensions":["itp"]},"application/vnd.shana.informed.interchange":{"source":"iana","extensions":["iif"]},"application/vnd.shana.informed.package":{"source":"iana","extensions":["ipk"]},"application/vnd.shootproof+json":{"source":"iana","compressible":true},"application/vnd.shopkick+json":{"source":"iana","compressible":true},"application/vnd.shp":{"source":"iana"},"application/vnd.shx":{"source":"iana"},"application/vnd.sigrok.session":{"source":"iana"},"application/vnd.simtech-mindmapper":{"source":"iana","extensions":["twd","twds"]},"application/vnd.siren+json":{"source":"iana","compressible":true},"application/vnd.smaf":{"source":"iana","extensions":["mmf"]},"application/vnd.smart.notebook":{"source":"iana"},"application/vnd.smart.teacher":{"source":"iana","extensions":["teacher"]},"application/vnd.snesdev-page-table":{"source":"iana"},"application/vnd.software602.filler.form+xml":{"source":"iana","compressible":true,"extensions":["fo"]},"application/vnd.software602.filler.form-xml-zip":{"source":"iana"},"application/vnd.solent.sdkm+xml":{"source":"iana","compressible":true,"extensions":["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{"source":"iana","extensions":["dxp"]},"application/vnd.spotfire.sfs":{"source":"iana","extensions":["sfs"]},"application/vnd.sqlite3":{"source":"iana"},"application/vnd.sss-cod":{"source":"iana"},"application/vnd.sss-dtf":{"source":"iana"},"application/vnd.sss-ntf":{"source":"iana"},"application/vnd.stardivision.calc":{"source":"apache","extensions":["sdc"]},"application/vnd.stardivision.draw":{"source":"apache","extensions":["sda"]},"application/vnd.stardivision.impress":{"source":"apache","extensions":["sdd"]},"application/vnd.stardivision.math":{"source":"apache","extensions":["smf"]},"application/vnd.stardivision.writer":{"source":"apache","extensions":["sdw","vor"]},"application/vnd.stardivision.writer-global":{"source":"apache","extensions":["sgl"]},"application/vnd.stepmania.package":{"source":"iana","extensions":["smzip"]},"application/vnd.stepmania.stepchart":{"source":"iana","extensions":["sm"]},"application/vnd.street-stream":{"source":"iana"},"application/vnd.sun.wadl+xml":{"source":"iana","compressible":true,"extensions":["wadl"]},"application/vnd.sun.xml.calc":{"source":"apache","extensions":["sxc"]},"application/vnd.sun.xml.calc.template":{"source":"apache","extensions":["stc"]},"application/vnd.sun.xml.draw":{"source":"apache","extensions":["sxd"]},"application/vnd.sun.xml.draw.template":{"source":"apache","extensions":["std"]},"application/vnd.sun.xml.impress":{"source":"apache","extensions":["sxi"]},"application/vnd.sun.xml.impress.template":{"source":"apache","extensions":["sti"]},"application/vnd.sun.xml.math":{"source":"apache","extensions":["sxm"]},"application/vnd.sun.xml.writer":{"source":"apache","extensions":["sxw"]},"application/vnd.sun.xml.writer.global":{"source":"apache","extensions":["sxg"]},"application/vnd.sun.xml.writer.template":{"source":"apache","extensions":["stw"]},"application/vnd.sus-calendar":{"source":"iana","extensions":["sus","susp"]},"application/vnd.svd":{"source":"iana","extensions":["svd"]},"application/vnd.swiftview-ics":{"source":"iana"},"application/vnd.sycle+xml":{"source":"iana","compressible":true},"application/vnd.syft+json":{"source":"iana","compressible":true},"application/vnd.symbian.install":{"source":"apache","extensions":["sis","sisx"]},"application/vnd.syncml+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["xsm"]},"application/vnd.syncml.dm+wbxml":{"source":"iana","charset":"UTF-8","extensions":["bdm"]},"application/vnd.syncml.dm+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["xdm"]},"application/vnd.syncml.dm.notification":{"source":"iana"},"application/vnd.syncml.dmddf+wbxml":{"source":"iana"},"application/vnd.syncml.dmddf+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{"source":"iana"},"application/vnd.syncml.dmtnds+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.syncml.ds.notification":{"source":"iana"},"application/vnd.tableschema+json":{"source":"iana","compressible":true},"application/vnd.tao.intent-module-archive":{"source":"iana","extensions":["tao"]},"application/vnd.tcpdump.pcap":{"source":"iana","extensions":["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{"source":"iana","compressible":true},"application/vnd.tmd.mediaflex.api+xml":{"source":"iana","compressible":true},"application/vnd.tml":{"source":"iana"},"application/vnd.tmobile-livetv":{"source":"iana","extensions":["tmo"]},"application/vnd.tri.onesource":{"source":"iana"},"application/vnd.trid.tpt":{"source":"iana","extensions":["tpt"]},"application/vnd.triscape.mxs":{"source":"iana","extensions":["mxs"]},"application/vnd.trueapp":{"source":"iana","extensions":["tra"]},"application/vnd.truedoc":{"source":"iana"},"application/vnd.ubisoft.webplayer":{"source":"iana"},"application/vnd.ufdl":{"source":"iana","extensions":["ufd","ufdl"]},"application/vnd.uiq.theme":{"source":"iana","extensions":["utz"]},"application/vnd.umajin":{"source":"iana","extensions":["umj"]},"application/vnd.unity":{"source":"iana","extensions":["unityweb"]},"application/vnd.uoml+xml":{"source":"iana","compressible":true,"extensions":["uoml"]},"application/vnd.uplanet.alert":{"source":"iana"},"application/vnd.uplanet.alert-wbxml":{"source":"iana"},"application/vnd.uplanet.bearer-choice":{"source":"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{"source":"iana"},"application/vnd.uplanet.cacheop":{"source":"iana"},"application/vnd.uplanet.cacheop-wbxml":{"source":"iana"},"application/vnd.uplanet.channel":{"source":"iana"},"application/vnd.uplanet.channel-wbxml":{"source":"iana"},"application/vnd.uplanet.list":{"source":"iana"},"application/vnd.uplanet.list-wbxml":{"source":"iana"},"application/vnd.uplanet.listcmd":{"source":"iana"},"application/vnd.uplanet.listcmd-wbxml":{"source":"iana"},"application/vnd.uplanet.signal":{"source":"iana"},"application/vnd.uri-map":{"source":"iana"},"application/vnd.valve.source.material":{"source":"iana"},"application/vnd.vcx":{"source":"iana","extensions":["vcx"]},"application/vnd.vd-study":{"source":"iana"},"application/vnd.vectorworks":{"source":"iana"},"application/vnd.vel+json":{"source":"iana","compressible":true},"application/vnd.verimatrix.vcas":{"source":"iana"},"application/vnd.veritone.aion+json":{"source":"iana","compressible":true},"application/vnd.veryant.thin":{"source":"iana"},"application/vnd.ves.encrypted":{"source":"iana"},"application/vnd.vidsoft.vidconference":{"source":"iana"},"application/vnd.visio":{"source":"iana","extensions":["vsd","vst","vss","vsw"]},"application/vnd.visionary":{"source":"iana","extensions":["vis"]},"application/vnd.vividence.scriptfile":{"source":"iana"},"application/vnd.vsf":{"source":"iana","extensions":["vsf"]},"application/vnd.wap.sic":{"source":"iana"},"application/vnd.wap.slc":{"source":"iana"},"application/vnd.wap.wbxml":{"source":"iana","charset":"UTF-8","extensions":["wbxml"]},"application/vnd.wap.wmlc":{"source":"iana","extensions":["wmlc"]},"application/vnd.wap.wmlscriptc":{"source":"iana","extensions":["wmlsc"]},"application/vnd.webturbo":{"source":"iana","extensions":["wtb"]},"application/vnd.wfa.dpp":{"source":"iana"},"application/vnd.wfa.p2p":{"source":"iana"},"application/vnd.wfa.wsc":{"source":"iana"},"application/vnd.windows.devicepairing":{"source":"iana"},"application/vnd.wmc":{"source":"iana"},"application/vnd.wmf.bootstrap":{"source":"iana"},"application/vnd.wolfram.mathematica":{"source":"iana"},"application/vnd.wolfram.mathematica.package":{"source":"iana"},"application/vnd.wolfram.player":{"source":"iana","extensions":["nbp"]},"application/vnd.wordperfect":{"source":"iana","extensions":["wpd"]},"application/vnd.wqd":{"source":"iana","extensions":["wqd"]},"application/vnd.wrq-hp3000-labelled":{"source":"iana"},"application/vnd.wt.stf":{"source":"iana","extensions":["stf"]},"application/vnd.wv.csp+wbxml":{"source":"iana"},"application/vnd.wv.csp+xml":{"source":"iana","compressible":true},"application/vnd.wv.ssp+xml":{"source":"iana","compressible":true},"application/vnd.xacml+json":{"source":"iana","compressible":true},"application/vnd.xara":{"source":"iana","extensions":["xar"]},"application/vnd.xfdl":{"source":"iana","extensions":["xfdl"]},"application/vnd.xfdl.webform":{"source":"iana"},"application/vnd.xmi+xml":{"source":"iana","compressible":true},"application/vnd.xmpie.cpkg":{"source":"iana"},"application/vnd.xmpie.dpkg":{"source":"iana"},"application/vnd.xmpie.plan":{"source":"iana"},"application/vnd.xmpie.ppkg":{"source":"iana"},"application/vnd.xmpie.xlim":{"source":"iana"},"application/vnd.yamaha.hv-dic":{"source":"iana","extensions":["hvd"]},"application/vnd.yamaha.hv-script":{"source":"iana","extensions":["hvs"]},"application/vnd.yamaha.hv-voice":{"source":"iana","extensions":["hvp"]},"application/vnd.yamaha.openscoreformat":{"source":"iana","extensions":["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{"source":"iana","compressible":true,"extensions":["osfpvg"]},"application/vnd.yamaha.remote-setup":{"source":"iana"},"application/vnd.yamaha.smaf-audio":{"source":"iana","extensions":["saf"]},"application/vnd.yamaha.smaf-phrase":{"source":"iana","extensions":["spf"]},"application/vnd.yamaha.through-ngn":{"source":"iana"},"application/vnd.yamaha.tunnel-udpencap":{"source":"iana"},"application/vnd.yaoweme":{"source":"iana"},"application/vnd.yellowriver-custom-menu":{"source":"iana","extensions":["cmp"]},"application/vnd.youtube.yt":{"source":"iana"},"application/vnd.zul":{"source":"iana","extensions":["zir","zirz"]},"application/vnd.zzazz.deck+xml":{"source":"iana","compressible":true,"extensions":["zaz"]},"application/voicexml+xml":{"source":"iana","compressible":true,"extensions":["vxml"]},"application/voucher-cms+json":{"source":"iana","compressible":true},"application/vq-rtcpxr":{"source":"iana"},"application/wasm":{"source":"iana","compressible":true,"extensions":["wasm"]},"application/watcherinfo+xml":{"source":"iana","compressible":true,"extensions":["wif"]},"application/webpush-options+json":{"source":"iana","compressible":true},"application/whoispp-query":{"source":"iana"},"application/whoispp-response":{"source":"iana"},"application/widget":{"source":"iana","extensions":["wgt"]},"application/winhlp":{"source":"apache","extensions":["hlp"]},"application/wita":{"source":"iana"},"application/wordperfect5.1":{"source":"iana"},"application/wsdl+xml":{"source":"iana","compressible":true,"extensions":["wsdl"]},"application/wspolicy+xml":{"source":"iana","compressible":true,"extensions":["wspolicy"]},"application/x-7z-compressed":{"source":"apache","compressible":false,"extensions":["7z"]},"application/x-abiword":{"source":"apache","extensions":["abw"]},"application/x-ace-compressed":{"source":"apache","extensions":["ace"]},"application/x-amf":{"source":"apache"},"application/x-apple-diskimage":{"source":"apache","extensions":["dmg"]},"application/x-arj":{"compressible":false,"extensions":["arj"]},"application/x-authorware-bin":{"source":"apache","extensions":["aab","x32","u32","vox"]},"application/x-authorware-map":{"source":"apache","extensions":["aam"]},"application/x-authorware-seg":{"source":"apache","extensions":["aas"]},"application/x-bcpio":{"source":"apache","extensions":["bcpio"]},"application/x-bdoc":{"compressible":false,"extensions":["bdoc"]},"application/x-bittorrent":{"source":"apache","extensions":["torrent"]},"application/x-blorb":{"source":"apache","extensions":["blb","blorb"]},"application/x-bzip":{"source":"apache","compressible":false,"extensions":["bz"]},"application/x-bzip2":{"source":"apache","compressible":false,"extensions":["bz2","boz"]},"application/x-cbr":{"source":"apache","extensions":["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{"source":"apache","extensions":["vcd"]},"application/x-cfs-compressed":{"source":"apache","extensions":["cfs"]},"application/x-chat":{"source":"apache","extensions":["chat"]},"application/x-chess-pgn":{"source":"apache","extensions":["pgn"]},"application/x-chrome-extension":{"extensions":["crx"]},"application/x-cocoa":{"source":"nginx","extensions":["cco"]},"application/x-compress":{"source":"apache"},"application/x-conference":{"source":"apache","extensions":["nsc"]},"application/x-cpio":{"source":"apache","extensions":["cpio"]},"application/x-csh":{"source":"apache","extensions":["csh"]},"application/x-deb":{"compressible":false},"application/x-debian-package":{"source":"apache","extensions":["deb","udeb"]},"application/x-dgc-compressed":{"source":"apache","extensions":["dgc"]},"application/x-director":{"source":"apache","extensions":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{"source":"apache","extensions":["wad"]},"application/x-dtbncx+xml":{"source":"apache","compressible":true,"extensions":["ncx"]},"application/x-dtbook+xml":{"source":"apache","compressible":true,"extensions":["dtb"]},"application/x-dtbresource+xml":{"source":"apache","compressible":true,"extensions":["res"]},"application/x-dvi":{"source":"apache","compressible":false,"extensions":["dvi"]},"application/x-envoy":{"source":"apache","extensions":["evy"]},"application/x-eva":{"source":"apache","extensions":["eva"]},"application/x-font-bdf":{"source":"apache","extensions":["bdf"]},"application/x-font-dos":{"source":"apache"},"application/x-font-framemaker":{"source":"apache"},"application/x-font-ghostscript":{"source":"apache","extensions":["gsf"]},"application/x-font-libgrx":{"source":"apache"},"application/x-font-linux-psf":{"source":"apache","extensions":["psf"]},"application/x-font-pcf":{"source":"apache","extensions":["pcf"]},"application/x-font-snf":{"source":"apache","extensions":["snf"]},"application/x-font-speedo":{"source":"apache"},"application/x-font-sunos-news":{"source":"apache"},"application/x-font-type1":{"source":"apache","extensions":["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{"source":"apache"},"application/x-freearc":{"source":"apache","extensions":["arc"]},"application/x-futuresplash":{"source":"apache","extensions":["spl"]},"application/x-gca-compressed":{"source":"apache","extensions":["gca"]},"application/x-glulx":{"source":"apache","extensions":["ulx"]},"application/x-gnumeric":{"source":"apache","extensions":["gnumeric"]},"application/x-gramps-xml":{"source":"apache","extensions":["gramps"]},"application/x-gtar":{"source":"apache","extensions":["gtar"]},"application/x-gzip":{"source":"apache"},"application/x-hdf":{"source":"apache","extensions":["hdf"]},"application/x-httpd-php":{"compressible":true,"extensions":["php"]},"application/x-install-instructions":{"source":"apache","extensions":["install"]},"application/x-iso9660-image":{"source":"apache","extensions":["iso"]},"application/x-iwork-keynote-sffkey":{"extensions":["key"]},"application/x-iwork-numbers-sffnumbers":{"extensions":["numbers"]},"application/x-iwork-pages-sffpages":{"extensions":["pages"]},"application/x-java-archive-diff":{"source":"nginx","extensions":["jardiff"]},"application/x-java-jnlp-file":{"source":"apache","compressible":false,"extensions":["jnlp"]},"application/x-javascript":{"compressible":true},"application/x-keepass2":{"extensions":["kdbx"]},"application/x-latex":{"source":"apache","compressible":false,"extensions":["latex"]},"application/x-lua-bytecode":{"extensions":["luac"]},"application/x-lzh-compressed":{"source":"apache","extensions":["lzh","lha"]},"application/x-makeself":{"source":"nginx","extensions":["run"]},"application/x-mie":{"source":"apache","extensions":["mie"]},"application/x-mobipocket-ebook":{"source":"apache","extensions":["prc","mobi"]},"application/x-mpegurl":{"compressible":false},"application/x-ms-application":{"source":"apache","extensions":["application"]},"application/x-ms-shortcut":{"source":"apache","extensions":["lnk"]},"application/x-ms-wmd":{"source":"apache","extensions":["wmd"]},"application/x-ms-wmz":{"source":"apache","extensions":["wmz"]},"application/x-ms-xbap":{"source":"apache","extensions":["xbap"]},"application/x-msaccess":{"source":"apache","extensions":["mdb"]},"application/x-msbinder":{"source":"apache","extensions":["obd"]},"application/x-mscardfile":{"source":"apache","extensions":["crd"]},"application/x-msclip":{"source":"apache","extensions":["clp"]},"application/x-msdos-program":{"extensions":["exe"]},"application/x-msdownload":{"source":"apache","extensions":["exe","dll","com","bat","msi"]},"application/x-msmediaview":{"source":"apache","extensions":["mvb","m13","m14"]},"application/x-msmetafile":{"source":"apache","extensions":["wmf","wmz","emf","emz"]},"application/x-msmoney":{"source":"apache","extensions":["mny"]},"application/x-mspublisher":{"source":"apache","extensions":["pub"]},"application/x-msschedule":{"source":"apache","extensions":["scd"]},"application/x-msterminal":{"source":"apache","extensions":["trm"]},"application/x-mswrite":{"source":"apache","extensions":["wri"]},"application/x-netcdf":{"source":"apache","extensions":["nc","cdf"]},"application/x-ns-proxy-autoconfig":{"compressible":true,"extensions":["pac"]},"application/x-nzb":{"source":"apache","extensions":["nzb"]},"application/x-perl":{"source":"nginx","extensions":["pl","pm"]},"application/x-pilot":{"source":"nginx","extensions":["prc","pdb"]},"application/x-pkcs12":{"source":"apache","compressible":false,"extensions":["p12","pfx"]},"application/x-pkcs7-certificates":{"source":"apache","extensions":["p7b","spc"]},"application/x-pkcs7-certreqresp":{"source":"apache","extensions":["p7r"]},"application/x-pki-message":{"source":"iana"},"application/x-rar-compressed":{"source":"apache","compressible":false,"extensions":["rar"]},"application/x-redhat-package-manager":{"source":"nginx","extensions":["rpm"]},"application/x-research-info-systems":{"source":"apache","extensions":["ris"]},"application/x-sea":{"source":"nginx","extensions":["sea"]},"application/x-sh":{"source":"apache","compressible":true,"extensions":["sh"]},"application/x-shar":{"source":"apache","extensions":["shar"]},"application/x-shockwave-flash":{"source":"apache","compressible":false,"extensions":["swf"]},"application/x-silverlight-app":{"source":"apache","extensions":["xap"]},"application/x-sql":{"source":"apache","extensions":["sql"]},"application/x-stuffit":{"source":"apache","compressible":false,"extensions":["sit"]},"application/x-stuffitx":{"source":"apache","extensions":["sitx"]},"application/x-subrip":{"source":"apache","extensions":["srt"]},"application/x-sv4cpio":{"source":"apache","extensions":["sv4cpio"]},"application/x-sv4crc":{"source":"apache","extensions":["sv4crc"]},"application/x-t3vm-image":{"source":"apache","extensions":["t3"]},"application/x-tads":{"source":"apache","extensions":["gam"]},"application/x-tar":{"source":"apache","compressible":true,"extensions":["tar"]},"application/x-tcl":{"source":"apache","extensions":["tcl","tk"]},"application/x-tex":{"source":"apache","extensions":["tex"]},"application/x-tex-tfm":{"source":"apache","extensions":["tfm"]},"application/x-texinfo":{"source":"apache","extensions":["texinfo","texi"]},"application/x-tgif":{"source":"apache","extensions":["obj"]},"application/x-ustar":{"source":"apache","extensions":["ustar"]},"application/x-virtualbox-hdd":{"compressible":true,"extensions":["hdd"]},"application/x-virtualbox-ova":{"compressible":true,"extensions":["ova"]},"application/x-virtualbox-ovf":{"compressible":true,"extensions":["ovf"]},"application/x-virtualbox-vbox":{"compressible":true,"extensions":["vbox"]},"application/x-virtualbox-vbox-extpack":{"compressible":false,"extensions":["vbox-extpack"]},"application/x-virtualbox-vdi":{"compressible":true,"extensions":["vdi"]},"application/x-virtualbox-vhd":{"compressible":true,"extensions":["vhd"]},"application/x-virtualbox-vmdk":{"compressible":true,"extensions":["vmdk"]},"application/x-wais-source":{"source":"apache","extensions":["src"]},"application/x-web-app-manifest+json":{"compressible":true,"extensions":["webapp"]},"application/x-www-form-urlencoded":{"source":"iana","compressible":true},"application/x-x509-ca-cert":{"source":"iana","extensions":["der","crt","pem"]},"application/x-x509-ca-ra-cert":{"source":"iana"},"application/x-x509-next-ca-cert":{"source":"iana"},"application/x-xfig":{"source":"apache","extensions":["fig"]},"application/x-xliff+xml":{"source":"apache","compressible":true,"extensions":["xlf"]},"application/x-xpinstall":{"source":"apache","compressible":false,"extensions":["xpi"]},"application/x-xz":{"source":"apache","extensions":["xz"]},"application/x-zmachine":{"source":"apache","extensions":["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{"source":"iana"},"application/xacml+xml":{"source":"iana","compressible":true},"application/xaml+xml":{"source":"apache","compressible":true,"extensions":["xaml"]},"application/xcap-att+xml":{"source":"iana","compressible":true,"extensions":["xav"]},"application/xcap-caps+xml":{"source":"iana","compressible":true,"extensions":["xca"]},"application/xcap-diff+xml":{"source":"iana","compressible":true,"extensions":["xdf"]},"application/xcap-el+xml":{"source":"iana","compressible":true,"extensions":["xel"]},"application/xcap-error+xml":{"source":"iana","compressible":true},"application/xcap-ns+xml":{"source":"iana","compressible":true,"extensions":["xns"]},"application/xcon-conference-info+xml":{"source":"iana","compressible":true},"application/xcon-conference-info-diff+xml":{"source":"iana","compressible":true},"application/xenc+xml":{"source":"iana","compressible":true,"extensions":["xenc"]},"application/xhtml+xml":{"source":"iana","compressible":true,"extensions":["xhtml","xht"]},"application/xhtml-voice+xml":{"source":"apache","compressible":true},"application/xliff+xml":{"source":"iana","compressible":true,"extensions":["xlf"]},"application/xml":{"source":"iana","compressible":true,"extensions":["xml","xsl","xsd","rng"]},"application/xml-dtd":{"source":"iana","compressible":true,"extensions":["dtd"]},"application/xml-external-parsed-entity":{"source":"iana"},"application/xml-patch+xml":{"source":"iana","compressible":true},"application/xmpp+xml":{"source":"iana","compressible":true},"application/xop+xml":{"source":"iana","compressible":true,"extensions":["xop"]},"application/xproc+xml":{"source":"apache","compressible":true,"extensions":["xpl"]},"application/xslt+xml":{"source":"iana","compressible":true,"extensions":["xsl","xslt"]},"application/xspf+xml":{"source":"apache","compressible":true,"extensions":["xspf"]},"application/xv+xml":{"source":"iana","compressible":true,"extensions":["mxml","xhvml","xvml","xvm"]},"application/yang":{"source":"iana","extensions":["yang"]},"application/yang-data+json":{"source":"iana","compressible":true},"application/yang-data+xml":{"source":"iana","compressible":true},"application/yang-patch+json":{"source":"iana","compressible":true},"application/yang-patch+xml":{"source":"iana","compressible":true},"application/yin+xml":{"source":"iana","compressible":true,"extensions":["yin"]},"application/zip":{"source":"iana","compressible":false,"extensions":["zip"]},"application/zlib":{"source":"iana"},"application/zstd":{"source":"iana"},"audio/1d-interleaved-parityfec":{"source":"iana"},"audio/32kadpcm":{"source":"iana"},"audio/3gpp":{"source":"iana","compressible":false,"extensions":["3gpp"]},"audio/3gpp2":{"source":"iana"},"audio/aac":{"source":"iana"},"audio/ac3":{"source":"iana"},"audio/adpcm":{"source":"apache","extensions":["adp"]},"audio/amr":{"source":"iana","extensions":["amr"]},"audio/amr-wb":{"source":"iana"},"audio/amr-wb+":{"source":"iana"},"audio/aptx":{"source":"iana"},"audio/asc":{"source":"iana"},"audio/atrac-advanced-lossless":{"source":"iana"},"audio/atrac-x":{"source":"iana"},"audio/atrac3":{"source":"iana"},"audio/basic":{"source":"iana","compressible":false,"extensions":["au","snd"]},"audio/bv16":{"source":"iana"},"audio/bv32":{"source":"iana"},"audio/clearmode":{"source":"iana"},"audio/cn":{"source":"iana"},"audio/dat12":{"source":"iana"},"audio/dls":{"source":"iana"},"audio/dsr-es201108":{"source":"iana"},"audio/dsr-es202050":{"source":"iana"},"audio/dsr-es202211":{"source":"iana"},"audio/dsr-es202212":{"source":"iana"},"audio/dv":{"source":"iana"},"audio/dvi4":{"source":"iana"},"audio/eac3":{"source":"iana"},"audio/encaprtp":{"source":"iana"},"audio/evrc":{"source":"iana"},"audio/evrc-qcp":{"source":"iana"},"audio/evrc0":{"source":"iana"},"audio/evrc1":{"source":"iana"},"audio/evrcb":{"source":"iana"},"audio/evrcb0":{"source":"iana"},"audio/evrcb1":{"source":"iana"},"audio/evrcnw":{"source":"iana"},"audio/evrcnw0":{"source":"iana"},"audio/evrcnw1":{"source":"iana"},"audio/evrcwb":{"source":"iana"},"audio/evrcwb0":{"source":"iana"},"audio/evrcwb1":{"source":"iana"},"audio/evs":{"source":"iana"},"audio/flexfec":{"source":"iana"},"audio/fwdred":{"source":"iana"},"audio/g711-0":{"source":"iana"},"audio/g719":{"source":"iana"},"audio/g722":{"source":"iana"},"audio/g7221":{"source":"iana"},"audio/g723":{"source":"iana"},"audio/g726-16":{"source":"iana"},"audio/g726-24":{"source":"iana"},"audio/g726-32":{"source":"iana"},"audio/g726-40":{"source":"iana"},"audio/g728":{"source":"iana"},"audio/g729":{"source":"iana"},"audio/g7291":{"source":"iana"},"audio/g729d":{"source":"iana"},"audio/g729e":{"source":"iana"},"audio/gsm":{"source":"iana"},"audio/gsm-efr":{"source":"iana"},"audio/gsm-hr-08":{"source":"iana"},"audio/ilbc":{"source":"iana"},"audio/ip-mr_v2.5":{"source":"iana"},"audio/isac":{"source":"apache"},"audio/l16":{"source":"iana"},"audio/l20":{"source":"iana"},"audio/l24":{"source":"iana","compressible":false},"audio/l8":{"source":"iana"},"audio/lpc":{"source":"iana"},"audio/melp":{"source":"iana"},"audio/melp1200":{"source":"iana"},"audio/melp2400":{"source":"iana"},"audio/melp600":{"source":"iana"},"audio/mhas":{"source":"iana"},"audio/midi":{"source":"apache","extensions":["mid","midi","kar","rmi"]},"audio/mobile-xmf":{"source":"iana","extensions":["mxmf"]},"audio/mp3":{"compressible":false,"extensions":["mp3"]},"audio/mp4":{"source":"iana","compressible":false,"extensions":["m4a","mp4a"]},"audio/mp4a-latm":{"source":"iana"},"audio/mpa":{"source":"iana"},"audio/mpa-robust":{"source":"iana"},"audio/mpeg":{"source":"iana","compressible":false,"extensions":["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{"source":"iana"},"audio/musepack":{"source":"apache"},"audio/ogg":{"source":"iana","compressible":false,"extensions":["oga","ogg","spx","opus"]},"audio/opus":{"source":"iana"},"audio/parityfec":{"source":"iana"},"audio/pcma":{"source":"iana"},"audio/pcma-wb":{"source":"iana"},"audio/pcmu":{"source":"iana"},"audio/pcmu-wb":{"source":"iana"},"audio/prs.sid":{"source":"iana"},"audio/qcelp":{"source":"iana"},"audio/raptorfec":{"source":"iana"},"audio/red":{"source":"iana"},"audio/rtp-enc-aescm128":{"source":"iana"},"audio/rtp-midi":{"source":"iana"},"audio/rtploopback":{"source":"iana"},"audio/rtx":{"source":"iana"},"audio/s3m":{"source":"apache","extensions":["s3m"]},"audio/scip":{"source":"iana"},"audio/silk":{"source":"apache","extensions":["sil"]},"audio/smv":{"source":"iana"},"audio/smv-qcp":{"source":"iana"},"audio/smv0":{"source":"iana"},"audio/sofa":{"source":"iana"},"audio/sp-midi":{"source":"iana"},"audio/speex":{"source":"iana"},"audio/t140c":{"source":"iana"},"audio/t38":{"source":"iana"},"audio/telephone-event":{"source":"iana"},"audio/tetra_acelp":{"source":"iana"},"audio/tetra_acelp_bb":{"source":"iana"},"audio/tone":{"source":"iana"},"audio/tsvcis":{"source":"iana"},"audio/uemclip":{"source":"iana"},"audio/ulpfec":{"source":"iana"},"audio/usac":{"source":"iana"},"audio/vdvi":{"source":"iana"},"audio/vmr-wb":{"source":"iana"},"audio/vnd.3gpp.iufp":{"source":"iana"},"audio/vnd.4sb":{"source":"iana"},"audio/vnd.audiokoz":{"source":"iana"},"audio/vnd.celp":{"source":"iana"},"audio/vnd.cisco.nse":{"source":"iana"},"audio/vnd.cmles.radio-events":{"source":"iana"},"audio/vnd.cns.anp1":{"source":"iana"},"audio/vnd.cns.inf1":{"source":"iana"},"audio/vnd.dece.audio":{"source":"iana","extensions":["uva","uvva"]},"audio/vnd.digital-winds":{"source":"iana","extensions":["eol"]},"audio/vnd.dlna.adts":{"source":"iana"},"audio/vnd.dolby.heaac.1":{"source":"iana"},"audio/vnd.dolby.heaac.2":{"source":"iana"},"audio/vnd.dolby.mlp":{"source":"iana"},"audio/vnd.dolby.mps":{"source":"iana"},"audio/vnd.dolby.pl2":{"source":"iana"},"audio/vnd.dolby.pl2x":{"source":"iana"},"audio/vnd.dolby.pl2z":{"source":"iana"},"audio/vnd.dolby.pulse.1":{"source":"iana"},"audio/vnd.dra":{"source":"iana","extensions":["dra"]},"audio/vnd.dts":{"source":"iana","extensions":["dts"]},"audio/vnd.dts.hd":{"source":"iana","extensions":["dtshd"]},"audio/vnd.dts.uhd":{"source":"iana"},"audio/vnd.dvb.file":{"source":"iana"},"audio/vnd.everad.plj":{"source":"iana"},"audio/vnd.hns.audio":{"source":"iana"},"audio/vnd.lucent.voice":{"source":"iana","extensions":["lvp"]},"audio/vnd.ms-playready.media.pya":{"source":"iana","extensions":["pya"]},"audio/vnd.nokia.mobile-xmf":{"source":"iana"},"audio/vnd.nortel.vbk":{"source":"iana"},"audio/vnd.nuera.ecelp4800":{"source":"iana","extensions":["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{"source":"iana","extensions":["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{"source":"iana","extensions":["ecelp9600"]},"audio/vnd.octel.sbc":{"source":"iana"},"audio/vnd.presonus.multitrack":{"source":"iana"},"audio/vnd.qcelp":{"source":"iana"},"audio/vnd.rhetorex.32kadpcm":{"source":"iana"},"audio/vnd.rip":{"source":"iana","extensions":["rip"]},"audio/vnd.rn-realaudio":{"compressible":false},"audio/vnd.sealedmedia.softseal.mpeg":{"source":"iana"},"audio/vnd.vmx.cvsd":{"source":"iana"},"audio/vnd.wave":{"compressible":false},"audio/vorbis":{"source":"iana","compressible":false},"audio/vorbis-config":{"source":"iana"},"audio/wav":{"compressible":false,"extensions":["wav"]},"audio/wave":{"compressible":false,"extensions":["wav"]},"audio/webm":{"source":"apache","compressible":false,"extensions":["weba"]},"audio/x-aac":{"source":"apache","compressible":false,"extensions":["aac"]},"audio/x-aiff":{"source":"apache","extensions":["aif","aiff","aifc"]},"audio/x-caf":{"source":"apache","compressible":false,"extensions":["caf"]},"audio/x-flac":{"source":"apache","extensions":["flac"]},"audio/x-m4a":{"source":"nginx","extensions":["m4a"]},"audio/x-matroska":{"source":"apache","extensions":["mka"]},"audio/x-mpegurl":{"source":"apache","extensions":["m3u"]},"audio/x-ms-wax":{"source":"apache","extensions":["wax"]},"audio/x-ms-wma":{"source":"apache","extensions":["wma"]},"audio/x-pn-realaudio":{"source":"apache","extensions":["ram","ra"]},"audio/x-pn-realaudio-plugin":{"source":"apache","extensions":["rmp"]},"audio/x-realaudio":{"source":"nginx","extensions":["ra"]},"audio/x-tta":{"source":"apache"},"audio/x-wav":{"source":"apache","extensions":["wav"]},"audio/xm":{"source":"apache","extensions":["xm"]},"chemical/x-cdx":{"source":"apache","extensions":["cdx"]},"chemical/x-cif":{"source":"apache","extensions":["cif"]},"chemical/x-cmdf":{"source":"apache","extensions":["cmdf"]},"chemical/x-cml":{"source":"apache","extensions":["cml"]},"chemical/x-csml":{"source":"apache","extensions":["csml"]},"chemical/x-pdb":{"source":"apache"},"chemical/x-xyz":{"source":"apache","extensions":["xyz"]},"font/collection":{"source":"iana","extensions":["ttc"]},"font/otf":{"source":"iana","compressible":true,"extensions":["otf"]},"font/sfnt":{"source":"iana"},"font/ttf":{"source":"iana","compressible":true,"extensions":["ttf"]},"font/woff":{"source":"iana","extensions":["woff"]},"font/woff2":{"source":"iana","extensions":["woff2"]},"image/aces":{"source":"iana","extensions":["exr"]},"image/apng":{"compressible":false,"extensions":["apng"]},"image/avci":{"source":"iana","extensions":["avci"]},"image/avcs":{"source":"iana","extensions":["avcs"]},"image/avif":{"source":"iana","compressible":false,"extensions":["avif"]},"image/bmp":{"source":"iana","compressible":true,"extensions":["bmp"]},"image/cgm":{"source":"iana","extensions":["cgm"]},"image/dicom-rle":{"source":"iana","extensions":["drle"]},"image/emf":{"source":"iana","extensions":["emf"]},"image/fits":{"source":"iana","extensions":["fits"]},"image/g3fax":{"source":"iana","extensions":["g3"]},"image/gif":{"source":"iana","compressible":false,"extensions":["gif"]},"image/heic":{"source":"iana","extensions":["heic"]},"image/heic-sequence":{"source":"iana","extensions":["heics"]},"image/heif":{"source":"iana","extensions":["heif"]},"image/heif-sequence":{"source":"iana","extensions":["heifs"]},"image/hej2k":{"source":"iana","extensions":["hej2"]},"image/hsj2":{"source":"iana","extensions":["hsj2"]},"image/ief":{"source":"iana","extensions":["ief"]},"image/jls":{"source":"iana","extensions":["jls"]},"image/jp2":{"source":"iana","compressible":false,"extensions":["jp2","jpg2"]},"image/jpeg":{"source":"iana","compressible":false,"extensions":["jpeg","jpg","jpe"]},"image/jph":{"source":"iana","extensions":["jph"]},"image/jphc":{"source":"iana","extensions":["jhc"]},"image/jpm":{"source":"iana","compressible":false,"extensions":["jpm"]},"image/jpx":{"source":"iana","compressible":false,"extensions":["jpx","jpf"]},"image/jxr":{"source":"iana","extensions":["jxr"]},"image/jxra":{"source":"iana","extensions":["jxra"]},"image/jxrs":{"source":"iana","extensions":["jxrs"]},"image/jxs":{"source":"iana","extensions":["jxs"]},"image/jxsc":{"source":"iana","extensions":["jxsc"]},"image/jxsi":{"source":"iana","extensions":["jxsi"]},"image/jxss":{"source":"iana","extensions":["jxss"]},"image/ktx":{"source":"iana","extensions":["ktx"]},"image/ktx2":{"source":"iana","extensions":["ktx2"]},"image/naplps":{"source":"iana"},"image/pjpeg":{"compressible":false},"image/png":{"source":"iana","compressible":false,"extensions":["png"]},"image/prs.btif":{"source":"iana","extensions":["btif"]},"image/prs.pti":{"source":"iana","extensions":["pti"]},"image/pwg-raster":{"source":"iana"},"image/sgi":{"source":"apache","extensions":["sgi"]},"image/svg+xml":{"source":"iana","compressible":true,"extensions":["svg","svgz"]},"image/t38":{"source":"iana","extensions":["t38"]},"image/tiff":{"source":"iana","compressible":false,"extensions":["tif","tiff"]},"image/tiff-fx":{"source":"iana","extensions":["tfx"]},"image/vnd.adobe.photoshop":{"source":"iana","compressible":true,"extensions":["psd"]},"image/vnd.airzip.accelerator.azv":{"source":"iana","extensions":["azv"]},"image/vnd.cns.inf2":{"source":"iana"},"image/vnd.dece.graphic":{"source":"iana","extensions":["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{"source":"iana","extensions":["djvu","djv"]},"image/vnd.dvb.subtitle":{"source":"iana","extensions":["sub"]},"image/vnd.dwg":{"source":"iana","extensions":["dwg"]},"image/vnd.dxf":{"source":"iana","extensions":["dxf"]},"image/vnd.fastbidsheet":{"source":"iana","extensions":["fbs"]},"image/vnd.fpx":{"source":"iana","extensions":["fpx"]},"image/vnd.fst":{"source":"iana","extensions":["fst"]},"image/vnd.fujixerox.edmics-mmr":{"source":"iana","extensions":["mmr"]},"image/vnd.fujixerox.edmics-rlc":{"source":"iana","extensions":["rlc"]},"image/vnd.globalgraphics.pgb":{"source":"iana"},"image/vnd.microsoft.icon":{"source":"iana","compressible":true,"extensions":["ico"]},"image/vnd.mix":{"source":"iana"},"image/vnd.mozilla.apng":{"source":"iana"},"image/vnd.ms-dds":{"compressible":true,"extensions":["dds"]},"image/vnd.ms-modi":{"source":"iana","extensions":["mdi"]},"image/vnd.ms-photo":{"source":"apache","extensions":["wdp"]},"image/vnd.net-fpx":{"source":"iana","extensions":["npx"]},"image/vnd.pco.b16":{"source":"iana","extensions":["b16"]},"image/vnd.radiance":{"source":"iana"},"image/vnd.sealed.png":{"source":"iana"},"image/vnd.sealedmedia.softseal.gif":{"source":"iana"},"image/vnd.sealedmedia.softseal.jpg":{"source":"iana"},"image/vnd.svf":{"source":"iana"},"image/vnd.tencent.tap":{"source":"iana","extensions":["tap"]},"image/vnd.valve.source.texture":{"source":"iana","extensions":["vtf"]},"image/vnd.wap.wbmp":{"source":"iana","extensions":["wbmp"]},"image/vnd.xiff":{"source":"iana","extensions":["xif"]},"image/vnd.zbrush.pcx":{"source":"iana","extensions":["pcx"]},"image/webp":{"source":"apache","extensions":["webp"]},"image/wmf":{"source":"iana","extensions":["wmf"]},"image/x-3ds":{"source":"apache","extensions":["3ds"]},"image/x-cmu-raster":{"source":"apache","extensions":["ras"]},"image/x-cmx":{"source":"apache","extensions":["cmx"]},"image/x-freehand":{"source":"apache","extensions":["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{"source":"apache","compressible":true,"extensions":["ico"]},"image/x-jng":{"source":"nginx","extensions":["jng"]},"image/x-mrsid-image":{"source":"apache","extensions":["sid"]},"image/x-ms-bmp":{"source":"nginx","compressible":true,"extensions":["bmp"]},"image/x-pcx":{"source":"apache","extensions":["pcx"]},"image/x-pict":{"source":"apache","extensions":["pic","pct"]},"image/x-portable-anymap":{"source":"apache","extensions":["pnm"]},"image/x-portable-bitmap":{"source":"apache","extensions":["pbm"]},"image/x-portable-graymap":{"source":"apache","extensions":["pgm"]},"image/x-portable-pixmap":{"source":"apache","extensions":["ppm"]},"image/x-rgb":{"source":"apache","extensions":["rgb"]},"image/x-tga":{"source":"apache","extensions":["tga"]},"image/x-xbitmap":{"source":"apache","extensions":["xbm"]},"image/x-xcf":{"compressible":false},"image/x-xpixmap":{"source":"apache","extensions":["xpm"]},"image/x-xwindowdump":{"source":"apache","extensions":["xwd"]},"message/cpim":{"source":"iana"},"message/delivery-status":{"source":"iana"},"message/disposition-notification":{"source":"iana","extensions":["disposition-notification"]},"message/external-body":{"source":"iana"},"message/feedback-report":{"source":"iana"},"message/global":{"source":"iana","extensions":["u8msg"]},"message/global-delivery-status":{"source":"iana","extensions":["u8dsn"]},"message/global-disposition-notification":{"source":"iana","extensions":["u8mdn"]},"message/global-headers":{"source":"iana","extensions":["u8hdr"]},"message/http":{"source":"iana","compressible":false},"message/imdn+xml":{"source":"iana","compressible":true},"message/news":{"source":"iana"},"message/partial":{"source":"iana","compressible":false},"message/rfc822":{"source":"iana","compressible":true,"extensions":["eml","mime"]},"message/s-http":{"source":"iana"},"message/sip":{"source":"iana"},"message/sipfrag":{"source":"iana"},"message/tracking-status":{"source":"iana"},"message/vnd.si.simp":{"source":"iana"},"message/vnd.wfa.wsc":{"source":"iana","extensions":["wsc"]},"model/3mf":{"source":"iana","extensions":["3mf"]},"model/e57":{"source":"iana"},"model/gltf+json":{"source":"iana","compressible":true,"extensions":["gltf"]},"model/gltf-binary":{"source":"iana","compressible":true,"extensions":["glb"]},"model/iges":{"source":"iana","compressible":false,"extensions":["igs","iges"]},"model/mesh":{"source":"iana","compressible":false,"extensions":["msh","mesh","silo"]},"model/mtl":{"source":"iana","extensions":["mtl"]},"model/obj":{"source":"iana","extensions":["obj"]},"model/step":{"source":"iana"},"model/step+xml":{"source":"iana","compressible":true,"extensions":["stpx"]},"model/step+zip":{"source":"iana","compressible":false,"extensions":["stpz"]},"model/step-xml+zip":{"source":"iana","compressible":false,"extensions":["stpxz"]},"model/stl":{"source":"iana","extensions":["stl"]},"model/vnd.collada+xml":{"source":"iana","compressible":true,"extensions":["dae"]},"model/vnd.dwf":{"source":"iana","extensions":["dwf"]},"model/vnd.flatland.3dml":{"source":"iana"},"model/vnd.gdl":{"source":"iana","extensions":["gdl"]},"model/vnd.gs-gdl":{"source":"apache"},"model/vnd.gs.gdl":{"source":"iana"},"model/vnd.gtw":{"source":"iana","extensions":["gtw"]},"model/vnd.moml+xml":{"source":"iana","compressible":true},"model/vnd.mts":{"source":"iana","extensions":["mts"]},"model/vnd.opengex":{"source":"iana","extensions":["ogex"]},"model/vnd.parasolid.transmit.binary":{"source":"iana","extensions":["x_b"]},"model/vnd.parasolid.transmit.text":{"source":"iana","extensions":["x_t"]},"model/vnd.pytha.pyox":{"source":"iana"},"model/vnd.rosette.annotated-data-model":{"source":"iana"},"model/vnd.sap.vds":{"source":"iana","extensions":["vds"]},"model/vnd.usdz+zip":{"source":"iana","compressible":false,"extensions":["usdz"]},"model/vnd.valve.source.compiled-map":{"source":"iana","extensions":["bsp"]},"model/vnd.vtu":{"source":"iana","extensions":["vtu"]},"model/vrml":{"source":"iana","compressible":false,"extensions":["wrl","vrml"]},"model/x3d+binary":{"source":"apache","compressible":false,"extensions":["x3db","x3dbz"]},"model/x3d+fastinfoset":{"source":"iana","extensions":["x3db"]},"model/x3d+vrml":{"source":"apache","compressible":false,"extensions":["x3dv","x3dvz"]},"model/x3d+xml":{"source":"iana","compressible":true,"extensions":["x3d","x3dz"]},"model/x3d-vrml":{"source":"iana","extensions":["x3dv"]},"multipart/alternative":{"source":"iana","compressible":false},"multipart/appledouble":{"source":"iana"},"multipart/byteranges":{"source":"iana"},"multipart/digest":{"source":"iana"},"multipart/encrypted":{"source":"iana","compressible":false},"multipart/form-data":{"source":"iana","compressible":false},"multipart/header-set":{"source":"iana"},"multipart/mixed":{"source":"iana"},"multipart/multilingual":{"source":"iana"},"multipart/parallel":{"source":"iana"},"multipart/related":{"source":"iana","compressible":false},"multipart/report":{"source":"iana"},"multipart/signed":{"source":"iana","compressible":false},"multipart/vnd.bint.med-plus":{"source":"iana"},"multipart/voice-message":{"source":"iana"},"multipart/x-mixed-replace":{"source":"iana"},"text/1d-interleaved-parityfec":{"source":"iana"},"text/cache-manifest":{"source":"iana","compressible":true,"extensions":["appcache","manifest"]},"text/calendar":{"source":"iana","extensions":["ics","ifb"]},"text/calender":{"compressible":true},"text/cmd":{"compressible":true},"text/coffeescript":{"extensions":["coffee","litcoffee"]},"text/cql":{"source":"iana"},"text/cql-expression":{"source":"iana"},"text/cql-identifier":{"source":"iana"},"text/css":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["css"]},"text/csv":{"source":"iana","compressible":true,"extensions":["csv"]},"text/csv-schema":{"source":"iana"},"text/directory":{"source":"iana"},"text/dns":{"source":"iana"},"text/ecmascript":{"source":"iana"},"text/encaprtp":{"source":"iana"},"text/enriched":{"source":"iana"},"text/fhirpath":{"source":"iana"},"text/flexfec":{"source":"iana"},"text/fwdred":{"source":"iana"},"text/gff3":{"source":"iana"},"text/grammar-ref-list":{"source":"iana"},"text/html":{"source":"iana","compressible":true,"extensions":["html","htm","shtml"]},"text/jade":{"extensions":["jade"]},"text/javascript":{"source":"iana","compressible":true},"text/jcr-cnd":{"source":"iana"},"text/jsx":{"compressible":true,"extensions":["jsx"]},"text/less":{"compressible":true,"extensions":["less"]},"text/markdown":{"source":"iana","compressible":true,"extensions":["markdown","md"]},"text/mathml":{"source":"nginx","extensions":["mml"]},"text/mdx":{"compressible":true,"extensions":["mdx"]},"text/mizar":{"source":"iana"},"text/n3":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["n3"]},"text/parameters":{"source":"iana","charset":"UTF-8"},"text/parityfec":{"source":"iana"},"text/plain":{"source":"iana","compressible":true,"extensions":["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{"source":"iana","charset":"UTF-8"},"text/prs.fallenstein.rst":{"source":"iana"},"text/prs.lines.tag":{"source":"iana","extensions":["dsc"]},"text/prs.prop.logic":{"source":"iana"},"text/raptorfec":{"source":"iana"},"text/red":{"source":"iana"},"text/rfc822-headers":{"source":"iana"},"text/richtext":{"source":"iana","compressible":true,"extensions":["rtx"]},"text/rtf":{"source":"iana","compressible":true,"extensions":["rtf"]},"text/rtp-enc-aescm128":{"source":"iana"},"text/rtploopback":{"source":"iana"},"text/rtx":{"source":"iana"},"text/sgml":{"source":"iana","extensions":["sgml","sgm"]},"text/shaclc":{"source":"iana"},"text/shex":{"source":"iana","extensions":["shex"]},"text/slim":{"extensions":["slim","slm"]},"text/spdx":{"source":"iana","extensions":["spdx"]},"text/strings":{"source":"iana"},"text/stylus":{"extensions":["stylus","styl"]},"text/t140":{"source":"iana"},"text/tab-separated-values":{"source":"iana","compressible":true,"extensions":["tsv"]},"text/troff":{"source":"iana","extensions":["t","tr","roff","man","me","ms"]},"text/turtle":{"source":"iana","charset":"UTF-8","extensions":["ttl"]},"text/ulpfec":{"source":"iana"},"text/uri-list":{"source":"iana","compressible":true,"extensions":["uri","uris","urls"]},"text/vcard":{"source":"iana","compressible":true,"extensions":["vcard"]},"text/vnd.a":{"source":"iana"},"text/vnd.abc":{"source":"iana"},"text/vnd.ascii-art":{"source":"iana"},"text/vnd.curl":{"source":"iana","extensions":["curl"]},"text/vnd.curl.dcurl":{"source":"apache","extensions":["dcurl"]},"text/vnd.curl.mcurl":{"source":"apache","extensions":["mcurl"]},"text/vnd.curl.scurl":{"source":"apache","extensions":["scurl"]},"text/vnd.debian.copyright":{"source":"iana","charset":"UTF-8"},"text/vnd.dmclientscript":{"source":"iana"},"text/vnd.dvb.subtitle":{"source":"iana","extensions":["sub"]},"text/vnd.esmertec.theme-descriptor":{"source":"iana","charset":"UTF-8"},"text/vnd.familysearch.gedcom":{"source":"iana","extensions":["ged"]},"text/vnd.ficlab.flt":{"source":"iana"},"text/vnd.fly":{"source":"iana","extensions":["fly"]},"text/vnd.fmi.flexstor":{"source":"iana","extensions":["flx"]},"text/vnd.gml":{"source":"iana"},"text/vnd.graphviz":{"source":"iana","extensions":["gv"]},"text/vnd.hans":{"source":"iana"},"text/vnd.hgl":{"source":"iana"},"text/vnd.in3d.3dml":{"source":"iana","extensions":["3dml"]},"text/vnd.in3d.spot":{"source":"iana","extensions":["spot"]},"text/vnd.iptc.newsml":{"source":"iana"},"text/vnd.iptc.nitf":{"source":"iana"},"text/vnd.latex-z":{"source":"iana"},"text/vnd.motorola.reflex":{"source":"iana"},"text/vnd.ms-mediapackage":{"source":"iana"},"text/vnd.net2phone.commcenter.command":{"source":"iana"},"text/vnd.radisys.msml-basic-layout":{"source":"iana"},"text/vnd.senx.warpscript":{"source":"iana"},"text/vnd.si.uricatalogue":{"source":"iana"},"text/vnd.sosi":{"source":"iana"},"text/vnd.sun.j2me.app-descriptor":{"source":"iana","charset":"UTF-8","extensions":["jad"]},"text/vnd.trolltech.linguist":{"source":"iana","charset":"UTF-8"},"text/vnd.wap.si":{"source":"iana"},"text/vnd.wap.sl":{"source":"iana"},"text/vnd.wap.wml":{"source":"iana","extensions":["wml"]},"text/vnd.wap.wmlscript":{"source":"iana","extensions":["wmls"]},"text/vtt":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["vtt"]},"text/x-asm":{"source":"apache","extensions":["s","asm"]},"text/x-c":{"source":"apache","extensions":["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{"source":"nginx","extensions":["htc"]},"text/x-fortran":{"source":"apache","extensions":["f","for","f77","f90"]},"text/x-gwt-rpc":{"compressible":true},"text/x-handlebars-template":{"extensions":["hbs"]},"text/x-java-source":{"source":"apache","extensions":["java"]},"text/x-jquery-tmpl":{"compressible":true},"text/x-lua":{"extensions":["lua"]},"text/x-markdown":{"compressible":true,"extensions":["mkd"]},"text/x-nfo":{"source":"apache","extensions":["nfo"]},"text/x-opml":{"source":"apache","extensions":["opml"]},"text/x-org":{"compressible":true,"extensions":["org"]},"text/x-pascal":{"source":"apache","extensions":["p","pas"]},"text/x-processing":{"compressible":true,"extensions":["pde"]},"text/x-sass":{"extensions":["sass"]},"text/x-scss":{"extensions":["scss"]},"text/x-setext":{"source":"apache","extensions":["etx"]},"text/x-sfv":{"source":"apache","extensions":["sfv"]},"text/x-suse-ymp":{"compressible":true,"extensions":["ymp"]},"text/x-uuencode":{"source":"apache","extensions":["uu"]},"text/x-vcalendar":{"source":"apache","extensions":["vcs"]},"text/x-vcard":{"source":"apache","extensions":["vcf"]},"text/xml":{"source":"iana","compressible":true,"extensions":["xml"]},"text/xml-external-parsed-entity":{"source":"iana"},"text/yaml":{"compressible":true,"extensions":["yaml","yml"]},"video/1d-interleaved-parityfec":{"source":"iana"},"video/3gpp":{"source":"iana","extensions":["3gp","3gpp"]},"video/3gpp-tt":{"source":"iana"},"video/3gpp2":{"source":"iana","extensions":["3g2"]},"video/av1":{"source":"iana"},"video/bmpeg":{"source":"iana"},"video/bt656":{"source":"iana"},"video/celb":{"source":"iana"},"video/dv":{"source":"iana"},"video/encaprtp":{"source":"iana"},"video/ffv1":{"source":"iana"},"video/flexfec":{"source":"iana"},"video/h261":{"source":"iana","extensions":["h261"]},"video/h263":{"source":"iana","extensions":["h263"]},"video/h263-1998":{"source":"iana"},"video/h263-2000":{"source":"iana"},"video/h264":{"source":"iana","extensions":["h264"]},"video/h264-rcdo":{"source":"iana"},"video/h264-svc":{"source":"iana"},"video/h265":{"source":"iana"},"video/iso.segment":{"source":"iana","extensions":["m4s"]},"video/jpeg":{"source":"iana","extensions":["jpgv"]},"video/jpeg2000":{"source":"iana"},"video/jpm":{"source":"apache","extensions":["jpm","jpgm"]},"video/jxsv":{"source":"iana"},"video/mj2":{"source":"iana","extensions":["mj2","mjp2"]},"video/mp1s":{"source":"iana"},"video/mp2p":{"source":"iana"},"video/mp2t":{"source":"iana","extensions":["ts"]},"video/mp4":{"source":"iana","compressible":false,"extensions":["mp4","mp4v","mpg4"]},"video/mp4v-es":{"source":"iana"},"video/mpeg":{"source":"iana","compressible":false,"extensions":["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{"source":"iana"},"video/mpv":{"source":"iana"},"video/nv":{"source":"iana"},"video/ogg":{"source":"iana","compressible":false,"extensions":["ogv"]},"video/parityfec":{"source":"iana"},"video/pointer":{"source":"iana"},"video/quicktime":{"source":"iana","compressible":false,"extensions":["qt","mov"]},"video/raptorfec":{"source":"iana"},"video/raw":{"source":"iana"},"video/rtp-enc-aescm128":{"source":"iana"},"video/rtploopback":{"source":"iana"},"video/rtx":{"source":"iana"},"video/scip":{"source":"iana"},"video/smpte291":{"source":"iana"},"video/smpte292m":{"source":"iana"},"video/ulpfec":{"source":"iana"},"video/vc1":{"source":"iana"},"video/vc2":{"source":"iana"},"video/vnd.cctv":{"source":"iana"},"video/vnd.dece.hd":{"source":"iana","extensions":["uvh","uvvh"]},"video/vnd.dece.mobile":{"source":"iana","extensions":["uvm","uvvm"]},"video/vnd.dece.mp4":{"source":"iana"},"video/vnd.dece.pd":{"source":"iana","extensions":["uvp","uvvp"]},"video/vnd.dece.sd":{"source":"iana","extensions":["uvs","uvvs"]},"video/vnd.dece.video":{"source":"iana","extensions":["uvv","uvvv"]},"video/vnd.directv.mpeg":{"source":"iana"},"video/vnd.directv.mpeg-tts":{"source":"iana"},"video/vnd.dlna.mpeg-tts":{"source":"iana"},"video/vnd.dvb.file":{"source":"iana","extensions":["dvb"]},"video/vnd.fvt":{"source":"iana","extensions":["fvt"]},"video/vnd.hns.video":{"source":"iana"},"video/vnd.iptvforum.1dparityfec-1010":{"source":"iana"},"video/vnd.iptvforum.1dparityfec-2005":{"source":"iana"},"video/vnd.iptvforum.2dparityfec-1010":{"source":"iana"},"video/vnd.iptvforum.2dparityfec-2005":{"source":"iana"},"video/vnd.iptvforum.ttsavc":{"source":"iana"},"video/vnd.iptvforum.ttsmpeg2":{"source":"iana"},"video/vnd.motorola.video":{"source":"iana"},"video/vnd.motorola.videop":{"source":"iana"},"video/vnd.mpegurl":{"source":"iana","extensions":["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{"source":"iana","extensions":["pyv"]},"video/vnd.nokia.interleaved-multimedia":{"source":"iana"},"video/vnd.nokia.mp4vr":{"source":"iana"},"video/vnd.nokia.videovoip":{"source":"iana"},"video/vnd.objectvideo":{"source":"iana"},"video/vnd.radgamettools.bink":{"source":"iana"},"video/vnd.radgamettools.smacker":{"source":"iana"},"video/vnd.sealed.mpeg1":{"source":"iana"},"video/vnd.sealed.mpeg4":{"source":"iana"},"video/vnd.sealed.swf":{"source":"iana"},"video/vnd.sealedmedia.softseal.mov":{"source":"iana"},"video/vnd.uvvu.mp4":{"source":"iana","extensions":["uvu","uvvu"]},"video/vnd.vivo":{"source":"iana","extensions":["viv"]},"video/vnd.youtube.yt":{"source":"iana"},"video/vp8":{"source":"iana"},"video/vp9":{"source":"iana"},"video/webm":{"source":"apache","compressible":false,"extensions":["webm"]},"video/x-f4v":{"source":"apache","extensions":["f4v"]},"video/x-fli":{"source":"apache","extensions":["fli"]},"video/x-flv":{"source":"apache","compressible":false,"extensions":["flv"]},"video/x-m4v":{"source":"apache","extensions":["m4v"]},"video/x-matroska":{"source":"apache","compressible":false,"extensions":["mkv","mk3d","mks"]},"video/x-mng":{"source":"apache","extensions":["mng"]},"video/x-ms-asf":{"source":"apache","extensions":["asf","asx"]},"video/x-ms-vob":{"source":"apache","extensions":["vob"]},"video/x-ms-wm":{"source":"apache","extensions":["wm"]},"video/x-ms-wmv":{"source":"apache","compressible":false,"extensions":["wmv"]},"video/x-ms-wmx":{"source":"apache","extensions":["wmx"]},"video/x-ms-wvx":{"source":"apache","extensions":["wvx"]},"video/x-msvideo":{"source":"apache","extensions":["avi"]},"video/x-sgi-movie":{"source":"apache","extensions":["movie"]},"video/x-smv":{"source":"apache","extensions":["smv"]},"x-conference/x-cooltalk":{"source":"apache","extensions":["ice"]},"x-shader/x-fragment":{"compressible":true},"x-shader/x-vertex":{"compressible":true}}')}};var __webpack_module_cache__={};function __nccwpck_require__(Me){var Bn=__webpack_module_cache__[Me];if(Bn!==undefined){return Bn.exports}var Hn=__webpack_module_cache__[Me]={id:Me,loaded:false,exports:{}};var zn=true;try{__webpack_modules__[Me].call(Hn.exports,Hn,Hn.exports,__nccwpck_require__);zn=false}finally{if(zn)delete __webpack_module_cache__[Me]}Hn.loaded=true;return Hn.exports}__nccwpck_require__.m=__webpack_modules__;(()=>{var Me=Object.getPrototypeOf?Me=>Object.getPrototypeOf(Me):Me=>Me.__proto__;var Bn;__nccwpck_require__.t=function(Hn,zn){if(zn&1)Hn=this(Hn);if(zn&8)return Hn;if(typeof Hn==="object"&&Hn){if(zn&4&&Hn.__esModule)return Hn;if(zn&16&&typeof Hn.then==="function")return Hn}var ni=Object.create(null);__nccwpck_require__.r(ni);var Ci={};Bn=Bn||[null,Me({}),Me([]),Me(Me)];for(var ts=zn&2&&Hn;typeof ts=="object"&&!~Bn.indexOf(ts);ts=Me(ts)){Object.getOwnPropertyNames(ts).forEach((Me=>Ci[Me]=()=>Hn[Me]))}Ci["default"]=()=>Hn;__nccwpck_require__.d(ni,Ci);return ni}})();(()=>{__nccwpck_require__.d=(Me,Bn)=>{for(var Hn in Bn){if(__nccwpck_require__.o(Bn,Hn)&&!__nccwpck_require__.o(Me,Hn)){Object.defineProperty(Me,Hn,{enumerable:true,get:Bn[Hn]})}}}})();(()=>{__nccwpck_require__.f={};__nccwpck_require__.e=Me=>Promise.all(Object.keys(__nccwpck_require__.f).reduce(((Bn,Hn)=>{__nccwpck_require__.f[Hn](Me,Bn);return Bn}),[]))})();(()=>{__nccwpck_require__.u=Me=>""+Me+".index.js"})();(()=>{__nccwpck_require__.o=(Me,Bn)=>Object.prototype.hasOwnProperty.call(Me,Bn)})();(()=>{__nccwpck_require__.r=Me=>{if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(Me,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(Me,"__esModule",{value:true})}})();(()=>{__nccwpck_require__.nmd=Me=>{Me.paths=[];if(!Me.children)Me.children=[];return Me}})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";(()=>{var Me={792:1};var installChunk=Bn=>{var Hn=Bn.modules,zn=Bn.ids,ni=Bn.runtime;for(var Ci in Hn){if(__nccwpck_require__.o(Hn,Ci)){__nccwpck_require__.m[Ci]=Hn[Ci]}}if(ni)ni(__nccwpck_require__);for(var ts=0;ts{if(!Me[Bn]){if(true){installChunk(require("./"+__nccwpck_require__.u(Bn)))}else Me[Bn]=1}}})();var __webpack_exports__={};(()=>{"use strict";var Me=__webpack_exports__;Object.defineProperty(Me,"__esModule",{value:true});const Bn=__nccwpck_require__(41730);(0,Bn.run)()})();module.exports=__webpack_exports__})(); \ No newline at end of file +/*! Axios v1.15.0 Copyright (c) 2026 Matt Zabriskie and contributors */var zn=Hn(96454);var ni=Hn(76982);var Ci=Hn(87016);var ts=Hn(58611);var Ps=Hn(65692);var aa=Hn(85675);var oa=Hn(39023);var ca=Hn(1573);var _a=Hn(43106);var xa=Hn(2203);var Ga=Hn(24434);function bind(Me,Bn){return function wrap(){return Me.apply(Bn,arguments)}}const{toString:Ha}=Object.prototype;const{getPrototypeOf:so}=Object;const{iterator:oo,toStringTag:Jo}=Symbol;const tc=(Me=>Bn=>{const Hn=Ha.call(Bn);return Me[Hn]||(Me[Hn]=Hn.slice(8,-1).toLowerCase())})(Object.create(null));const kindOfTest=Me=>{Me=Me.toLowerCase();return Bn=>tc(Bn)===Me};const typeOfTest=Me=>Bn=>typeof Bn===Me;const{isArray:dc}=Array;const Fc=typeOfTest("undefined");function isBuffer(Me){return Me!==null&&!Fc(Me)&&Me.constructor!==null&&!Fc(Me.constructor)&&kp(Me.constructor.isBuffer)&&Me.constructor.isBuffer(Me)}const Jc=kindOfTest("ArrayBuffer");function isArrayBufferView(Me){let Bn;if(typeof ArrayBuffer!=="undefined"&&ArrayBuffer.isView){Bn=ArrayBuffer.isView(Me)}else{Bn=Me&&Me.buffer&&Jc(Me.buffer)}return Bn}const Dp=typeOfTest("string");const kp=typeOfTest("function");const Qp=typeOfTest("number");const isObject=Me=>Me!==null&&typeof Me==="object";const isBoolean=Me=>Me===true||Me===false;const isPlainObject=Me=>{if(tc(Me)!=="object"){return false}const Bn=so(Me);return(Bn===null||Bn===Object.prototype||Object.getPrototypeOf(Bn)===null)&&!(Jo in Me)&&!(oo in Me)};const isEmptyObject=Me=>{if(!isObject(Me)||isBuffer(Me)){return false}try{return Object.keys(Me).length===0&&Object.getPrototypeOf(Me)===Object.prototype}catch(Me){return false}};const Up=kindOfTest("Date");const Vp=kindOfTest("File");const isReactNativeBlob=Me=>!!(Me&&typeof Me.uri!=="undefined");const isReactNative=Me=>Me&&typeof Me.getParts!=="undefined";const qp=kindOfTest("Blob");const Jp=kindOfTest("FileList");const isStream=Me=>isObject(Me)&&kp(Me.pipe);function getGlobal(){if(typeof globalThis!=="undefined")return globalThis;if(typeof self!=="undefined")return self;if(typeof window!=="undefined")return window;if(typeof global!=="undefined")return global;return{}}const Wp=getGlobal();const zp=typeof Wp.FormData!=="undefined"?Wp.FormData:undefined;const isFormData=Me=>{let Bn;return Me&&(zp&&Me instanceof zp||kp(Me.append)&&((Bn=tc(Me))==="formdata"||Bn==="object"&&kp(Me.toString)&&Me.toString()==="[object FormData]"))};const Qf=kindOfTest("URLSearchParams");const[Yf,Kf,Xf,Ad]=["ReadableStream","Request","Response","Headers"].map(kindOfTest);const trim=Me=>Me.trim?Me.trim():Me.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function forEach(Me,Bn,{allOwnKeys:Hn=false}={}){if(Me===null||typeof Me==="undefined"){return}let zn;let ni;if(typeof Me!=="object"){Me=[Me]}if(dc(Me)){for(zn=0,ni=Me.length;zn0){ni=Hn[zn];if(Bn===ni.toLowerCase()){return ni}}return null}const Cd=(()=>{if(typeof globalThis!=="undefined")return globalThis;return typeof self!=="undefined"?self:typeof window!=="undefined"?window:global})();const isContextDefined=Me=>!Fc(Me)&&Me!==Cd;function merge(){const{caseless:Me,skipUndefined:Bn}=isContextDefined(this)&&this||{};const Hn={};const assignValue=(zn,ni)=>{if(ni==="__proto__"||ni==="constructor"||ni==="prototype"){return}const Ci=Me&&findKey(Hn,ni)||ni;if(isPlainObject(Hn[Ci])&&isPlainObject(zn)){Hn[Ci]=merge(Hn[Ci],zn)}else if(isPlainObject(zn)){Hn[Ci]=merge({},zn)}else if(dc(zn)){Hn[Ci]=zn.slice()}else if(!Bn||!Fc(zn)){Hn[Ci]=zn}};for(let Me=0,Bn=arguments.length;Me{forEach(Bn,((Bn,zn)=>{if(Hn&&kp(Bn)){Object.defineProperty(Me,zn,{value:bind(Bn,Hn),writable:true,enumerable:true,configurable:true})}else{Object.defineProperty(Me,zn,{value:Bn,writable:true,enumerable:true,configurable:true})}}),{allOwnKeys:zn});return Me};const stripBOM=Me=>{if(Me.charCodeAt(0)===65279){Me=Me.slice(1)}return Me};const inherits=(Me,Bn,Hn,zn)=>{Me.prototype=Object.create(Bn.prototype,zn);Object.defineProperty(Me.prototype,"constructor",{value:Me,writable:true,enumerable:false,configurable:true});Object.defineProperty(Me,"super",{value:Bn.prototype});Hn&&Object.assign(Me.prototype,Hn)};const toFlatObject=(Me,Bn,Hn,zn)=>{let ni;let Ci;let ts;const Ps={};Bn=Bn||{};if(Me==null)return Bn;do{ni=Object.getOwnPropertyNames(Me);Ci=ni.length;while(Ci-- >0){ts=ni[Ci];if((!zn||zn(ts,Me,Bn))&&!Ps[ts]){Bn[ts]=Me[ts];Ps[ts]=true}}Me=Hn!==false&&so(Me)}while(Me&&(!Hn||Hn(Me,Bn))&&Me!==Object.prototype);return Bn};const endsWith=(Me,Bn,Hn)=>{Me=String(Me);if(Hn===undefined||Hn>Me.length){Hn=Me.length}Hn-=Bn.length;const zn=Me.indexOf(Bn,Hn);return zn!==-1&&zn===Hn};const toArray=Me=>{if(!Me)return null;if(dc(Me))return Me;let Bn=Me.length;if(!Qp(Bn))return null;const Hn=new Array(Bn);while(Bn-- >0){Hn[Bn]=Me[Bn]}return Hn};const wd=(Me=>Bn=>Me&&Bn instanceof Me)(typeof Uint8Array!=="undefined"&&so(Uint8Array));const forEachEntry=(Me,Bn)=>{const Hn=Me&&Me[oo];const zn=Hn.call(Me);let ni;while((ni=zn.next())&&!ni.done){const Hn=ni.value;Bn.call(Me,Hn[0],Hn[1])}};const matchAll=(Me,Bn)=>{let Hn;const zn=[];while((Hn=Me.exec(Bn))!==null){zn.push(Hn)}return zn};const Sd=kindOfTest("HTMLFormElement");const toCamelCase=Me=>Me.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function replacer(Me,Bn,Hn){return Bn.toUpperCase()+Hn}));const xd=(({hasOwnProperty:Me})=>(Bn,Hn)=>Me.call(Bn,Hn))(Object.prototype);const Td=kindOfTest("RegExp");const reduceDescriptors=(Me,Bn)=>{const Hn=Object.getOwnPropertyDescriptors(Me);const zn={};forEach(Hn,((Hn,ni)=>{let Ci;if((Ci=Bn(Hn,ni,Me))!==false){zn[ni]=Ci||Hn}}));Object.defineProperties(Me,zn)};const freezeMethods=Me=>{reduceDescriptors(Me,((Bn,Hn)=>{if(kp(Me)&&["arguments","caller","callee"].indexOf(Hn)!==-1){return false}const zn=Me[Hn];if(!kp(zn))return;Bn.enumerable=false;if("writable"in Bn){Bn.writable=false;return}if(!Bn.set){Bn.set=()=>{throw Error("Can not rewrite read-only method '"+Hn+"'")}}}))};const toObjectSet=(Me,Bn)=>{const Hn={};const define=Me=>{Me.forEach((Me=>{Hn[Me]=true}))};dc(Me)?define(Me):define(String(Me).split(Bn));return Hn};const noop=()=>{};const toFiniteNumber=(Me,Bn)=>Me!=null&&Number.isFinite(Me=+Me)?Me:Bn;function isSpecCompliantForm(Me){return!!(Me&&kp(Me.append)&&Me[Jo]==="FormData"&&Me[oo])}const toJSONObject=Me=>{const Bn=new Array(10);const visit=(Me,Hn)=>{if(isObject(Me)){if(Bn.indexOf(Me)>=0){return}if(isBuffer(Me)){return Me}if(!("toJSON"in Me)){Bn[Hn]=Me;const zn=dc(Me)?[]:{};forEach(Me,((Me,Bn)=>{const ni=visit(Me,Hn+1);!Fc(ni)&&(zn[Bn]=ni)}));Bn[Hn]=undefined;return zn}}return Me};return visit(Me,0)};const Pd=kindOfTest("AsyncFunction");const isThenable=Me=>Me&&(isObject(Me)||kp(Me))&&kp(Me.then)&&kp(Me.catch);const Qh=((Me,Bn)=>{if(Me){return setImmediate}return Bn?((Me,Bn)=>{Cd.addEventListener("message",(({source:Hn,data:zn})=>{if(Hn===Cd&&zn===Me){Bn.length&&Bn.shift()()}}),false);return Hn=>{Bn.push(Hn);Cd.postMessage(Me,"*")}})(`axios@${Math.random()}`,[]):Me=>setTimeout(Me)})(typeof setImmediate==="function",kp(Cd.postMessage));const Zh=typeof queueMicrotask!=="undefined"?queueMicrotask.bind(Cd):typeof process!=="undefined"&&process.nextTick||Qh;const isIterable=Me=>Me!=null&&kp(Me[oo]);var sA={isArray:dc,isArrayBuffer:Jc,isBuffer:isBuffer,isFormData:isFormData,isArrayBufferView:isArrayBufferView,isString:Dp,isNumber:Qp,isBoolean:isBoolean,isObject:isObject,isPlainObject:isPlainObject,isEmptyObject:isEmptyObject,isReadableStream:Yf,isRequest:Kf,isResponse:Xf,isHeaders:Ad,isUndefined:Fc,isDate:Up,isFile:Vp,isReactNativeBlob:isReactNativeBlob,isReactNative:isReactNative,isBlob:qp,isRegExp:Td,isFunction:kp,isStream:isStream,isURLSearchParams:Qf,isTypedArray:wd,isFileList:Jp,forEach:forEach,merge:merge,extend:extend,trim:trim,stripBOM:stripBOM,inherits:inherits,toFlatObject:toFlatObject,kindOf:tc,kindOfTest:kindOfTest,endsWith:endsWith,toArray:toArray,forEachEntry:forEachEntry,matchAll:matchAll,isHTMLForm:Sd,hasOwnProperty:xd,hasOwnProp:xd,reduceDescriptors:reduceDescriptors,freezeMethods:freezeMethods,toObjectSet:toObjectSet,toCamelCase:toCamelCase,noop:noop,toFiniteNumber:toFiniteNumber,findKey:findKey,global:Cd,isContextDefined:isContextDefined,isSpecCompliantForm:isSpecCompliantForm,toJSONObject:toJSONObject,isAsyncFn:Pd,isThenable:isThenable,setImmediate:Qh,asap:Zh,isIterable:isIterable};class AxiosError extends Error{static from(Me,Bn,Hn,zn,ni,Ci){const ts=new AxiosError(Me.message,Bn||Me.code,Hn,zn,ni);ts.cause=Me;ts.name=Me.name;if(Me.status!=null&&ts.status==null){ts.status=Me.status}Ci&&Object.assign(ts,Ci);return ts}constructor(Me,Bn,Hn,zn,ni){super(Me);Object.defineProperty(this,"message",{value:Me,enumerable:true,writable:true,configurable:true});this.name="AxiosError";this.isAxiosError=true;Bn&&(this.code=Bn);Hn&&(this.config=Hn);zn&&(this.request=zn);if(ni){this.response=ni;this.status=ni.status}}toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:sA.toJSONObject(this.config),code:this.code,status:this.status}}}AxiosError.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";AxiosError.ERR_BAD_OPTION="ERR_BAD_OPTION";AxiosError.ECONNABORTED="ECONNABORTED";AxiosError.ETIMEDOUT="ETIMEDOUT";AxiosError.ERR_NETWORK="ERR_NETWORK";AxiosError.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";AxiosError.ERR_DEPRECATED="ERR_DEPRECATED";AxiosError.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";AxiosError.ERR_BAD_REQUEST="ERR_BAD_REQUEST";AxiosError.ERR_CANCELED="ERR_CANCELED";AxiosError.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";AxiosError.ERR_INVALID_URL="ERR_INVALID_URL";function isVisitable(Me){return sA.isPlainObject(Me)||sA.isArray(Me)}function removeBrackets(Me){return sA.endsWith(Me,"[]")?Me.slice(0,-2):Me}function renderKey(Me,Bn,Hn){if(!Me)return Bn;return Me.concat(Bn).map((function each(Me,Bn){Me=removeBrackets(Me);return!Hn&&Bn?"["+Me+"]":Me})).join(Hn?".":"")}function isFlatArray(Me){return sA.isArray(Me)&&!Me.some(isVisitable)}const oA=sA.toFlatObject(sA,{},null,(function filter(Me){return/^is[A-Z]/.test(Me)}));function toFormData(Me,Bn,Hn){if(!sA.isObject(Me)){throw new TypeError("target must be an object")}Bn=Bn||new(zn||FormData);Hn=sA.toFlatObject(Hn,{metaTokens:true,dots:false,indexes:false},false,(function defined(Me,Bn){return!sA.isUndefined(Bn[Me])}));const ni=Hn.metaTokens;const Ci=Hn.visitor||defaultVisitor;const ts=Hn.dots;const Ps=Hn.indexes;const aa=Hn.Blob||typeof Blob!=="undefined"&&Blob;const oa=aa&&sA.isSpecCompliantForm(Bn);if(!sA.isFunction(Ci)){throw new TypeError("visitor must be a function")}function convertValue(Me){if(Me===null)return"";if(sA.isDate(Me)){return Me.toISOString()}if(sA.isBoolean(Me)){return Me.toString()}if(!oa&&sA.isBlob(Me)){throw new AxiosError("Blob is not supported. Use a Buffer instead.")}if(sA.isArrayBuffer(Me)||sA.isTypedArray(Me)){return oa&&typeof Blob==="function"?new Blob([Me]):Buffer.from(Me)}return Me}function defaultVisitor(Me,Hn,zn){let Ci=Me;if(sA.isReactNative(Bn)&&sA.isReactNativeBlob(Me)){Bn.append(renderKey(zn,Hn,ts),convertValue(Me));return false}if(Me&&!zn&&typeof Me==="object"){if(sA.endsWith(Hn,"{}")){Hn=ni?Hn:Hn.slice(0,-2);Me=JSON.stringify(Me)}else if(sA.isArray(Me)&&isFlatArray(Me)||(sA.isFileList(Me)||sA.endsWith(Hn,"[]"))&&(Ci=sA.toArray(Me))){Hn=removeBrackets(Hn);Ci.forEach((function each(Me,zn){!(sA.isUndefined(Me)||Me===null)&&Bn.append(Ps===true?renderKey([Hn],zn,ts):Ps===null?Hn:Hn+"[]",convertValue(Me))}));return false}}if(isVisitable(Me)){return true}Bn.append(renderKey(zn,Hn,ts),convertValue(Me));return false}const ca=[];const _a=Object.assign(oA,{defaultVisitor:defaultVisitor,convertValue:convertValue,isVisitable:isVisitable});function build(Me,Hn){if(sA.isUndefined(Me))return;if(ca.indexOf(Me)!==-1){throw Error("Circular reference detected in "+Hn.join("."))}ca.push(Me);sA.forEach(Me,(function each(Me,zn){const ni=!(sA.isUndefined(Me)||Me===null)&&Ci.call(Bn,Me,sA.isString(zn)?zn.trim():zn,Hn,_a);if(ni===true){build(Me,Hn?Hn.concat(zn):[zn])}}));ca.pop()}if(!sA.isObject(Me)){throw new TypeError("data must be an object")}build(Me);return Bn}function encode$1(Me){const Bn={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(Me).replace(/[!'()~]|%20|%00/g,(function replacer(Me){return Bn[Me]}))}function AxiosURLSearchParams(Me,Bn){this._pairs=[];Me&&toFormData(Me,this,Bn)}const hA=AxiosURLSearchParams.prototype;hA.append=function append(Me,Bn){this._pairs.push([Me,Bn])};hA.toString=function toString(Me){const Bn=Me?function(Bn){return Me.call(this,Bn,encode$1)}:encode$1;return this._pairs.map((function each(Me){return Bn(Me[0])+"="+Bn(Me[1])}),"").join("&")};function encode(Me){return encodeURIComponent(Me).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function buildURL(Me,Bn,Hn){if(!Bn){return Me}const zn=Hn&&Hn.encode||encode;const ni=sA.isFunction(Hn)?{serialize:Hn}:Hn;const Ci=ni&&ni.serialize;let ts;if(Ci){ts=Ci(Bn,ni)}else{ts=sA.isURLSearchParams(Bn)?Bn.toString():new AxiosURLSearchParams(Bn,ni).toString(zn)}if(ts){const Bn=Me.indexOf("#");if(Bn!==-1){Me=Me.slice(0,Bn)}Me+=(Me.indexOf("?")===-1?"?":"&")+ts}return Me}class InterceptorManager{constructor(){this.handlers=[]}use(Me,Bn,Hn){this.handlers.push({fulfilled:Me,rejected:Bn,synchronous:Hn?Hn.synchronous:false,runWhen:Hn?Hn.runWhen:null});return this.handlers.length-1}eject(Me){if(this.handlers[Me]){this.handlers[Me]=null}}clear(){if(this.handlers){this.handlers=[]}}forEach(Me){sA.forEach(this.handlers,(function forEachHandler(Bn){if(Bn!==null){Me(Bn)}}))}}var eg={silentJSONParsing:true,forcedJSONParsing:true,clarifyTimeoutError:false,legacyInterceptorReqResOrdering:true};var tg=Ci.URLSearchParams;const rg="abcdefghijklmnopqrstuvwxyz";const ng="0123456789";const ig={DIGIT:ng,ALPHA:rg,ALPHA_DIGIT:rg+rg.toUpperCase()+ng};const generateString=(Me=16,Bn=ig.ALPHA_DIGIT)=>{let Hn="";const{length:zn}=Bn;const Ci=new Uint32Array(Me);ni.randomFillSync(Ci);for(let ni=0;nitypeof WorkerGlobalScope!=="undefined"&&self instanceof WorkerGlobalScope&&typeof self.importScripts==="function")();const lg=ag&&window.location.href||"http://localhost";var pg=Object.freeze({__proto__:null,hasBrowserEnv:ag,hasStandardBrowserEnv:ug,hasStandardBrowserWebWorkerEnv:cg,navigator:og,origin:lg});var fg={...pg,...sg};function toURLEncodedForm(Me,Bn){return toFormData(Me,new fg.classes.URLSearchParams,{visitor:function(Me,Bn,Hn,zn){if(fg.isNode&&sA.isBuffer(Me)){this.append(Bn,Me.toString("base64"));return false}return zn.defaultVisitor.apply(this,arguments)},...Bn})}function parsePropPath(Me){return sA.matchAll(/\w+|\[(\w*)]/g,Me).map((Me=>Me[0]==="[]"?"":Me[1]||Me[0]))}function arrayToObject(Me){const Bn={};const Hn=Object.keys(Me);let zn;const ni=Hn.length;let Ci;for(zn=0;zn=Me.length;ni=!ni&&sA.isArray(Hn)?Hn.length:ni;if(ts){if(sA.hasOwnProp(Hn,ni)){Hn[ni]=[Hn[ni],Bn]}else{Hn[ni]=Bn}return!Ci}if(!Hn[ni]||!sA.isObject(Hn[ni])){Hn[ni]=[]}const Ps=buildPath(Me,Bn,Hn[ni],zn);if(Ps&&sA.isArray(Hn[ni])){Hn[ni]=arrayToObject(Hn[ni])}return!Ci}if(sA.isFormData(Me)&&sA.isFunction(Me.entries)){const Bn={};sA.forEachEntry(Me,((Me,Hn)=>{buildPath(parsePropPath(Me),Hn,Bn,0)}));return Bn}return null}function stringifySafely(Me,Bn,Hn){if(sA.isString(Me)){try{(Bn||JSON.parse)(Me);return sA.trim(Me)}catch(Me){if(Me.name!=="SyntaxError"){throw Me}}}return(Hn||JSON.stringify)(Me)}const dg={transitional:eg,adapter:["xhr","http","fetch"],transformRequest:[function transformRequest(Me,Bn){const Hn=Bn.getContentType()||"";const zn=Hn.indexOf("application/json")>-1;const ni=sA.isObject(Me);if(ni&&sA.isHTMLForm(Me)){Me=new FormData(Me)}const Ci=sA.isFormData(Me);if(Ci){return zn?JSON.stringify(formDataToJSON(Me)):Me}if(sA.isArrayBuffer(Me)||sA.isBuffer(Me)||sA.isStream(Me)||sA.isFile(Me)||sA.isBlob(Me)||sA.isReadableStream(Me)){return Me}if(sA.isArrayBufferView(Me)){return Me.buffer}if(sA.isURLSearchParams(Me)){Bn.setContentType("application/x-www-form-urlencoded;charset=utf-8",false);return Me.toString()}let ts;if(ni){if(Hn.indexOf("application/x-www-form-urlencoded")>-1){return toURLEncodedForm(Me,this.formSerializer).toString()}if((ts=sA.isFileList(Me))||Hn.indexOf("multipart/form-data")>-1){const Bn=this.env&&this.env.FormData;return toFormData(ts?{"files[]":Me}:Me,Bn&&new Bn,this.formSerializer)}}if(ni||zn){Bn.setContentType("application/json",false);return stringifySafely(Me)}return Me}],transformResponse:[function transformResponse(Me){const Bn=this.transitional||dg.transitional;const Hn=Bn&&Bn.forcedJSONParsing;const zn=this.responseType==="json";if(sA.isResponse(Me)||sA.isReadableStream(Me)){return Me}if(Me&&sA.isString(Me)&&(Hn&&!this.responseType||zn)){const Hn=Bn&&Bn.silentJSONParsing;const ni=!Hn&&zn;try{return JSON.parse(Me,this.parseReviver)}catch(Me){if(ni){if(Me.name==="SyntaxError"){throw AxiosError.from(Me,AxiosError.ERR_BAD_RESPONSE,this,null,this.response)}throw Me}}}return Me}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:fg.classes.FormData,Blob:fg.classes.Blob},validateStatus:function validateStatus(Me){return Me>=200&&Me<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":undefined}}};sA.forEach(["delete","get","head","post","put","patch"],(Me=>{dg.headers[Me]={}}));const hg=sA.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]);var parseHeaders=Me=>{const Bn={};let Hn;let zn;let ni;Me&&Me.split("\n").forEach((function parser(Me){ni=Me.indexOf(":");Hn=Me.substring(0,ni).trim().toLowerCase();zn=Me.substring(ni+1).trim();if(!Hn||Bn[Hn]&&hg[Hn]){return}if(Hn==="set-cookie"){if(Bn[Hn]){Bn[Hn].push(zn)}else{Bn[Hn]=[zn]}}else{Bn[Hn]=Bn[Hn]?Bn[Hn]+", "+zn:zn}}));return Bn};const Ag=Symbol("internals");const isValidHeaderValue=Me=>!/[\r\n]/.test(Me);function assertValidHeaderValue(Me,Bn){if(Me===false||Me==null){return}if(sA.isArray(Me)){Me.forEach((Me=>assertValidHeaderValue(Me,Bn)));return}if(!isValidHeaderValue(String(Me))){throw new Error(`Invalid character in header content ["${Bn}"]`)}}function normalizeHeader(Me){return Me&&String(Me).trim().toLowerCase()}function stripTrailingCRLF(Me){let Bn=Me.length;while(Bn>0){const Hn=Me.charCodeAt(Bn-1);if(Hn!==10&&Hn!==13){break}Bn-=1}return Bn===Me.length?Me:Me.slice(0,Bn)}function normalizeValue(Me){if(Me===false||Me==null){return Me}return sA.isArray(Me)?Me.map(normalizeValue):stripTrailingCRLF(String(Me))}function parseTokens(Me){const Bn=Object.create(null);const Hn=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let zn;while(zn=Hn.exec(Me)){Bn[zn[1]]=zn[2]}return Bn}const isValidHeaderName=Me=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(Me.trim());function matchHeaderValue(Me,Bn,Hn,zn,ni){if(sA.isFunction(zn)){return zn.call(this,Bn,Hn)}if(ni){Bn=Hn}if(!sA.isString(Bn))return;if(sA.isString(zn)){return Bn.indexOf(zn)!==-1}if(sA.isRegExp(zn)){return zn.test(Bn)}}function formatHeader(Me){return Me.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((Me,Bn,Hn)=>Bn.toUpperCase()+Hn))}function buildAccessors(Me,Bn){const Hn=sA.toCamelCase(" "+Bn);["get","set","has"].forEach((zn=>{Object.defineProperty(Me,zn+Hn,{value:function(Me,Hn,ni){return this[zn].call(this,Bn,Me,Hn,ni)},configurable:true})}))}class AxiosHeaders{constructor(Me){Me&&this.set(Me)}set(Me,Bn,Hn){const zn=this;function setHeader(Me,Bn,Hn){const ni=normalizeHeader(Bn);if(!ni){throw new Error("header name must be a non-empty string")}const Ci=sA.findKey(zn,ni);if(!Ci||zn[Ci]===undefined||Hn===true||Hn===undefined&&zn[Ci]!==false){assertValidHeaderValue(Me,Bn);zn[Ci||Bn]=normalizeValue(Me)}}const setHeaders=(Me,Bn)=>sA.forEach(Me,((Me,Hn)=>setHeader(Me,Hn,Bn)));if(sA.isPlainObject(Me)||Me instanceof this.constructor){setHeaders(Me,Bn)}else if(sA.isString(Me)&&(Me=Me.trim())&&!isValidHeaderName(Me)){setHeaders(parseHeaders(Me),Bn)}else if(sA.isObject(Me)&&sA.isIterable(Me)){let Hn={},zn,ni;for(const Bn of Me){if(!sA.isArray(Bn)){throw TypeError("Object iterator must return a key-value pair")}Hn[ni=Bn[0]]=(zn=Hn[ni])?sA.isArray(zn)?[...zn,Bn[1]]:[zn,Bn[1]]:Bn[1]}setHeaders(Hn,Bn)}else{Me!=null&&setHeader(Bn,Me,Hn)}return this}get(Me,Bn){Me=normalizeHeader(Me);if(Me){const Hn=sA.findKey(this,Me);if(Hn){const Me=this[Hn];if(!Bn){return Me}if(Bn===true){return parseTokens(Me)}if(sA.isFunction(Bn)){return Bn.call(this,Me,Hn)}if(sA.isRegExp(Bn)){return Bn.exec(Me)}throw new TypeError("parser must be boolean|regexp|function")}}}has(Me,Bn){Me=normalizeHeader(Me);if(Me){const Hn=sA.findKey(this,Me);return!!(Hn&&this[Hn]!==undefined&&(!Bn||matchHeaderValue(this,this[Hn],Hn,Bn)))}return false}delete(Me,Bn){const Hn=this;let zn=false;function deleteHeader(Me){Me=normalizeHeader(Me);if(Me){const ni=sA.findKey(Hn,Me);if(ni&&(!Bn||matchHeaderValue(Hn,Hn[ni],ni,Bn))){delete Hn[ni];zn=true}}}if(sA.isArray(Me)){Me.forEach(deleteHeader)}else{deleteHeader(Me)}return zn}clear(Me){const Bn=Object.keys(this);let Hn=Bn.length;let zn=false;while(Hn--){const ni=Bn[Hn];if(!Me||matchHeaderValue(this,this[ni],ni,Me,true)){delete this[ni];zn=true}}return zn}normalize(Me){const Bn=this;const Hn={};sA.forEach(this,((zn,ni)=>{const Ci=sA.findKey(Hn,ni);if(Ci){Bn[Ci]=normalizeValue(zn);delete Bn[ni];return}const ts=Me?formatHeader(ni):String(ni).trim();if(ts!==ni){delete Bn[ni]}Bn[ts]=normalizeValue(zn);Hn[ts]=true}));return this}concat(...Me){return this.constructor.concat(this,...Me)}toJSON(Me){const Bn=Object.create(null);sA.forEach(this,((Hn,zn)=>{Hn!=null&&Hn!==false&&(Bn[zn]=Me&&sA.isArray(Hn)?Hn.join(", "):Hn)}));return Bn}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([Me,Bn])=>Me+": "+Bn)).join("\n")}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(Me){return Me instanceof this?Me:new this(Me)}static concat(Me,...Bn){const Hn=new this(Me);Bn.forEach((Me=>Hn.set(Me)));return Hn}static accessor(Me){const Bn=this[Ag]=this[Ag]={accessors:{}};const Hn=Bn.accessors;const zn=this.prototype;function defineAccessor(Me){const Bn=normalizeHeader(Me);if(!Hn[Bn]){buildAccessors(zn,Me);Hn[Bn]=true}}sA.isArray(Me)?Me.forEach(defineAccessor):defineAccessor(Me);return this}}AxiosHeaders.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);sA.reduceDescriptors(AxiosHeaders.prototype,(({value:Me},Bn)=>{let Hn=Bn[0].toUpperCase()+Bn.slice(1);return{get:()=>Me,set(Me){this[Hn]=Me}}}));sA.freezeMethods(AxiosHeaders);function transformData(Me,Bn){const Hn=this||dg;const zn=Bn||Hn;const ni=AxiosHeaders.from(zn.headers);let Ci=zn.data;sA.forEach(Me,(function transform(Me){Ci=Me.call(Hn,Ci,ni.normalize(),Bn?Bn.status:undefined)}));ni.normalize();return Ci}function isCancel(Me){return!!(Me&&Me.__CANCEL__)}class CanceledError extends AxiosError{constructor(Me,Bn,Hn){super(Me==null?"canceled":Me,AxiosError.ERR_CANCELED,Bn,Hn);this.name="CanceledError";this.__CANCEL__=true}}function settle(Me,Bn,Hn){const zn=Hn.config.validateStatus;if(!Hn.status||!zn||zn(Hn.status)){Me(Hn)}else{Bn(new AxiosError("Request failed with status code "+Hn.status,[AxiosError.ERR_BAD_REQUEST,AxiosError.ERR_BAD_RESPONSE][Math.floor(Hn.status/100)-4],Hn.config,Hn.request,Hn))}}function isAbsoluteURL(Me){if(typeof Me!=="string"){return false}return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(Me)}function combineURLs(Me,Bn){return Bn?Me.replace(/\/?\/$/,"")+"/"+Bn.replace(/^\/+/,""):Me}function buildFullPath(Me,Bn,Hn){let zn=!isAbsoluteURL(Bn);if(Me&&(zn||Hn==false)){return combineURLs(Me,Bn)}return Bn}var mg={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443};function parseUrl(Me){try{return new URL(Me)}catch{return null}}function getProxyForUrl(Me){var Bn=(typeof Me==="string"?parseUrl(Me):Me)||{};var Hn=Bn.protocol;var zn=Bn.host;var ni=Bn.port;if(typeof zn!=="string"||!zn||typeof Hn!=="string"){return""}Hn=Hn.split(":",1)[0];zn=zn.replace(/:\d*$/,"");ni=parseInt(ni)||mg[Hn]||0;if(!shouldProxy(zn,ni)){return""}var Ci=getEnv(Hn+"_proxy")||getEnv("all_proxy");if(Ci&&Ci.indexOf("://")===-1){Ci=Hn+"://"+Ci}return Ci}function shouldProxy(Me,Bn){var Hn=getEnv("no_proxy").toLowerCase();if(!Hn){return true}if(Hn==="*"){return false}return Hn.split(/[,\s]/).every((function(Hn){if(!Hn){return true}var zn=Hn.match(/^(.+):(\d+)$/);var ni=zn?zn[1]:Hn;var Ci=zn?parseInt(zn[2]):0;if(Ci&&Ci!==Bn){return true}if(!/^[.*]/.test(ni)){return Me!==ni}if(ni.charAt(0)==="*"){ni=ni.slice(1)}return!Me.endsWith(ni)}))}function getEnv(Me){return process.env[Me.toLowerCase()]||process.env[Me.toUpperCase()]||""}const gg="1.15.0";function parseProtocol(Me){const Bn=/^([-+\w]{1,25})(:?\/\/|:)/.exec(Me);return Bn&&Bn[1]||""}const _g=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;function fromDataURI(Me,Bn,Hn){const zn=Hn&&Hn.Blob||fg.classes.Blob;const ni=parseProtocol(Me);if(Bn===undefined&&zn){Bn=true}if(ni==="data"){Me=ni.length?Me.slice(ni.length+1):Me;const Hn=_g.exec(Me);if(!Hn){throw new AxiosError("Invalid URL",AxiosError.ERR_INVALID_URL)}const Ci=Hn[1];const ts=Hn[2];const Ps=Hn[3];const aa=Buffer.from(decodeURIComponent(Ps),ts?"base64":"utf8");if(Bn){if(!zn){throw new AxiosError("Blob is not supported",AxiosError.ERR_NOT_SUPPORT)}return new zn([aa],{type:Ci})}return aa}throw new AxiosError("Unsupported protocol "+ni,AxiosError.ERR_NOT_SUPPORT)}const yg=Symbol("internals");class AxiosTransformStream extends xa.Transform{constructor(Me){Me=sA.toFlatObject(Me,{maxRate:0,chunkSize:64*1024,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,((Me,Bn)=>!sA.isUndefined(Bn[Me])));super({readableHighWaterMark:Me.chunkSize});const Bn=this[yg]={timeWindow:Me.timeWindow,chunkSize:Me.chunkSize,maxRate:Me.maxRate,minChunkSize:Me.minChunkSize,bytesSeen:0,isCaptured:false,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null};this.on("newListener",(Me=>{if(Me==="progress"){if(!Bn.isCaptured){Bn.isCaptured=true}}}))}_read(Me){const Bn=this[yg];if(Bn.onReadCallback){Bn.onReadCallback()}return super._read(Me)}_transform(Me,Bn,Hn){const zn=this[yg];const ni=zn.maxRate;const Ci=this.readableHighWaterMark;const ts=zn.timeWindow;const Ps=1e3/ts;const aa=ni/Ps;const oa=zn.minChunkSize!==false?Math.max(zn.minChunkSize,aa*.01):0;const pushChunk=(Me,Bn)=>{const Hn=Buffer.byteLength(Me);zn.bytesSeen+=Hn;zn.bytes+=Hn;zn.isCaptured&&this.emit("progress",zn.bytesSeen);if(this.push(Me)){process.nextTick(Bn)}else{zn.onReadCallback=()=>{zn.onReadCallback=null;process.nextTick(Bn)}}};const transformChunk=(Me,Bn)=>{const Hn=Buffer.byteLength(Me);let Ps=null;let ca=Ci;let _a;let xa=0;if(ni){const Me=Date.now();if(!zn.ts||(xa=Me-zn.ts)>=ts){zn.ts=Me;_a=aa-zn.bytes;zn.bytes=_a<0?-_a:0;xa=0}_a=aa-zn.bytes}if(ni){if(_a<=0){return setTimeout((()=>{Bn(null,Me)}),ts-xa)}if(_aca&&Hn-ca>oa){Ps=Me.subarray(ca);Me=Me.subarray(0,ca)}pushChunk(Me,Ps?()=>{process.nextTick(Bn,null,Ps)}:Bn)};transformChunk(Me,(function transformNextChunk(Me,Bn){if(Me){return Hn(Me)}if(Bn){transformChunk(Bn,transformNextChunk)}else{Hn(null)}}))}}const{asyncIterator:vg}=Symbol;const readBlob=async function*(Me){if(Me.stream){yield*Me.stream()}else if(Me.arrayBuffer){yield await Me.arrayBuffer()}else if(Me[vg]){yield*Me[vg]()}else{yield Me}};const Eg=fg.ALPHABET.ALPHA_DIGIT+"-_";const bg=typeof TextEncoder==="function"?new TextEncoder:new oa.TextEncoder;const Cg="\r\n";const Dg=bg.encode(Cg);const wg=2;class FormDataPart{constructor(Me,Bn){const{escapeName:Hn}=this.constructor;const zn=sA.isString(Bn);let ni=`Content-Disposition: form-data; name="${Hn(Me)}"${!zn&&Bn.name?`; filename="${Hn(Bn.name)}"`:""}${Cg}`;if(zn){Bn=bg.encode(String(Bn).replace(/\r?\n|\r\n?/g,Cg))}else{ni+=`Content-Type: ${Bn.type||"application/octet-stream"}${Cg}`}this.headers=bg.encode(ni+Cg);this.contentLength=zn?Bn.byteLength:Bn.size;this.size=this.headers.byteLength+this.contentLength+wg;this.name=Me;this.value=Bn}async*encode(){yield this.headers;const{value:Me}=this;if(sA.isTypedArray(Me)){yield Me}else{yield*readBlob(Me)}yield Dg}static escapeName(Me){return String(Me).replace(/[\r\n"]/g,(Me=>({"\r":"%0D","\n":"%0A",'"':"%22"}[Me])))}}const formDataToStream=(Me,Bn,Hn)=>{const{tag:zn="form-data-boundary",size:ni=25,boundary:Ci=zn+"-"+fg.generateString(ni,Eg)}=Hn||{};if(!sA.isFormData(Me)){throw TypeError("FormData instance required")}if(Ci.length<1||Ci.length>70){throw Error("boundary must be 10-70 characters long")}const ts=bg.encode("--"+Ci+Cg);const Ps=bg.encode("--"+Ci+"--"+Cg);let aa=Ps.byteLength;const oa=Array.from(Me.entries()).map((([Me,Bn])=>{const Hn=new FormDataPart(Me,Bn);aa+=Hn.size;return Hn}));aa+=ts.byteLength*oa.length;aa=sA.toFiniteNumber(aa);const ca={"Content-Type":`multipart/form-data; boundary=${Ci}`};if(Number.isFinite(aa)){ca["Content-Length"]=aa}Bn&&Bn(ca);return xa.Readable.from(async function*(){for(const Me of oa){yield ts;yield*Me.encode()}yield Ps}())};class ZlibHeaderTransformStream extends xa.Transform{__transform(Me,Bn,Hn){this.push(Me);Hn()}_transform(Me,Bn,Hn){if(Me.length!==0){this._transform=this.__transform;if(Me[0]!==120){const Me=Buffer.alloc(2);Me[0]=120;Me[1]=156;this.push(Me,Bn)}}this.__transform(Me,Bn,Hn)}}const callbackify=(Me,Bn)=>sA.isAsyncFn(Me)?function(...Hn){const zn=Hn.pop();Me.apply(this,Hn).then((Me=>{try{Bn?zn(null,...Bn(Me)):zn(null,Me)}catch(Me){zn(Me)}}),zn)}:Me;const Sg={http:80,https:443,ws:80,wss:443,ftp:21};const parseNoProxyEntry=Me=>{let Bn=Me;let Hn=0;if(Bn.charAt(0)==="["){const Me=Bn.indexOf("]");if(Me!==-1){const zn=Bn.slice(1,Me);const ni=Bn.slice(Me+1);if(ni.charAt(0)===":"&&/^\d+$/.test(ni.slice(1))){Hn=Number.parseInt(ni.slice(1),10)}return[zn,Hn]}}const zn=Bn.indexOf(":");const ni=Bn.lastIndexOf(":");if(zn!==-1&&zn===ni&&/^\d+$/.test(Bn.slice(ni+1))){Hn=Number.parseInt(Bn.slice(ni+1),10);Bn=Bn.slice(0,ni)}return[Bn,Hn]};const normalizeNoProxyHost=Me=>{if(!Me){return Me}if(Me.charAt(0)==="["&&Me.charAt(Me.length-1)==="]"){Me=Me.slice(1,-1)}return Me.replace(/\.+$/,"")};function shouldBypassProxy(Me){let Bn;try{Bn=new URL(Me)}catch(Me){return false}const Hn=(process.env.no_proxy||process.env.NO_PROXY||"").toLowerCase();if(!Hn){return false}if(Hn==="*"){return true}const zn=Number.parseInt(Bn.port,10)||Sg[Bn.protocol.split(":",1)[0]]||0;const ni=normalizeNoProxyHost(Bn.hostname.toLowerCase());return Hn.split(/[\s,]+/).some((Me=>{if(!Me){return false}let[Bn,Hn]=parseNoProxyEntry(Me);Bn=normalizeNoProxyHost(Bn);if(!Bn){return false}if(Hn&&Hn!==zn){return false}if(Bn.charAt(0)==="*"){Bn=Bn.slice(1)}if(Bn.charAt(0)==="."){return ni.endsWith(Bn)}return ni===Bn}))}function speedometer(Me,Bn){Me=Me||10;const Hn=new Array(Me);const zn=new Array(Me);let ni=0;let Ci=0;let ts;Bn=Bn!==undefined?Bn:1e3;return function push(Ps){const aa=Date.now();const oa=zn[Ci];if(!ts){ts=aa}Hn[ni]=Ps;zn[ni]=aa;let ca=Ci;let _a=0;while(ca!==ni){_a+=Hn[ca++];ca=ca%Me}ni=(ni+1)%Me;if(ni===Ci){Ci=(Ci+1)%Me}if(aa-ts{Hn=zn;ni=null;if(Ci){clearTimeout(Ci);Ci=null}Me(...Bn)};const throttled=(...Me)=>{const Bn=Date.now();const ts=Bn-Hn;if(ts>=zn){invoke(Me,Bn)}else{ni=Me;if(!Ci){Ci=setTimeout((()=>{Ci=null;invoke(ni)}),zn-ts)}}};const flush=()=>ni&&invoke(ni);return[throttled,flush]}const progressEventReducer=(Me,Bn,Hn=3)=>{let zn=0;const ni=speedometer(50,250);return throttle((Hn=>{const Ci=Hn.loaded;const ts=Hn.lengthComputable?Hn.total:undefined;const Ps=Ci-zn;const aa=ni(Ps);const oa=Ci<=ts;zn=Ci;const ca={loaded:Ci,total:ts,progress:ts?Ci/ts:undefined,bytes:Ps,rate:aa?aa:undefined,estimated:aa&&ts&&oa?(ts-Ci)/aa:undefined,event:Hn,lengthComputable:ts!=null,[Bn?"download":"upload"]:true};Me(ca)}),Hn)};const progressEventDecorator=(Me,Bn)=>{const Hn=Me!=null;return[zn=>Bn[0]({lengthComputable:Hn,total:Me,loaded:zn}),Bn[1]]};const asyncDecorator=Me=>(...Bn)=>sA.asap((()=>Me(...Bn)));function estimateDataURLDecodedBytes(Me){if(!Me||typeof Me!=="string")return 0;if(!Me.startsWith("data:"))return 0;const Bn=Me.indexOf(",");if(Bn<0)return 0;const Hn=Me.slice(5,Bn);const zn=Me.slice(Bn+1);const ni=/;base64/i.test(Hn);if(ni){let Me=zn.length;const Bn=zn.length;for(let Hn=0;Hn=48&&Bn<=57||Bn>=65&&Bn<=70||Bn>=97&&Bn<=102)&&(ni>=48&&ni<=57||ni>=65&&ni<=70||ni>=97&&ni<=102);if(Ci){Me-=2;Hn+=2}}}let Hn=0;let ni=Bn-1;const tailIsPct3D=Me=>Me>=2&&zn.charCodeAt(Me-2)===37&&zn.charCodeAt(Me-1)===51&&(zn.charCodeAt(Me)===68||zn.charCodeAt(Me)===100);if(ni>=0){if(zn.charCodeAt(ni)===61){Hn++;ni--}else if(tailIsPct3D(ni)){Hn++;ni-=3}}if(Hn===1&&ni>=0){if(zn.charCodeAt(ni)===61){Hn++}else if(tailIsPct3D(ni)){Hn++}}const Ci=Math.floor(Me/4);const ts=Ci*3-(Hn||0);return ts>0?ts:0}return Buffer.byteLength(zn,"utf8")}const Ig={flush:_a.constants.Z_SYNC_FLUSH,finishFlush:_a.constants.Z_SYNC_FLUSH};const xg={flush:_a.constants.BROTLI_OPERATION_FLUSH,finishFlush:_a.constants.BROTLI_OPERATION_FLUSH};const kg=sA.isFunction(_a.createBrotliDecompress);const{http:Bg,https:Tg}=ca;const Fg=/https:?/;const Ng=fg.protocols.map((Me=>Me+":"));const flushOnFinish=(Me,[Bn,Hn])=>{Me.on("end",Hn).on("error",Hn);return Bn};class Http2Sessions{constructor(){this.sessions=Object.create(null)}getSession(Me,Bn){Bn=Object.assign({sessionTimeout:1e3},Bn);let Hn=this.sessions[Me];if(Hn){let Me=Hn.length;for(let zn=0;zn{if(ni){return}ni=true;let Bn=Hn,Ci=Bn.length,ts=Ci;while(ts--){if(Bn[ts][0]===zn){if(Ci===1){delete this.sessions[Me]}else{Bn.splice(ts,1)}if(!zn.closed){zn.close()}return}}};const Ci=zn.request;const{sessionTimeout:ts}=Bn;if(ts!=null){let Me;let Bn=0;zn.request=function(){const Hn=Ci.apply(this,arguments);Bn++;if(Me){clearTimeout(Me);Me=null}Hn.once("close",(()=>{if(! --Bn){Me=setTimeout((()=>{Me=null;removeSession()}),ts)}}));return Hn}}zn.once("close",removeSession);let Ps=[zn,Bn];Hn?Hn.push(Ps):Hn=this.sessions[Me]=[Ps];return zn}}const Qg=new Http2Sessions;function dispatchBeforeRedirect(Me,Bn){if(Me.beforeRedirects.proxy){Me.beforeRedirects.proxy(Me)}if(Me.beforeRedirects.config){Me.beforeRedirects.config(Me,Bn)}}function setProxy(Me,Bn,Hn){let zn=Bn;if(!zn&&zn!==false){const Me=getProxyForUrl(Hn);if(Me){if(!shouldBypassProxy(Hn)){zn=new URL(Me)}}}if(zn){if(zn.username){zn.auth=(zn.username||"")+":"+(zn.password||"")}if(zn.auth){const Bn=Boolean(zn.auth.username||zn.auth.password);if(Bn){zn.auth=(zn.auth.username||"")+":"+(zn.auth.password||"")}else if(typeof zn.auth==="object"){throw new AxiosError("Invalid proxy authorization",AxiosError.ERR_BAD_OPTION,{proxy:zn})}const Hn=Buffer.from(zn.auth,"utf8").toString("base64");Me.headers["Proxy-Authorization"]="Basic "+Hn}Me.headers.host=Me.hostname+(Me.port?":"+Me.port:"");const Bn=zn.hostname||zn.host;Me.hostname=Bn;Me.host=Bn;Me.port=zn.port;Me.path=Hn;if(zn.protocol){Me.protocol=zn.protocol.includes(":")?zn.protocol:`${zn.protocol}:`}}Me.beforeRedirects.proxy=function beforeRedirect(Me){setProxy(Me,Bn,Me.href)}}const Rg=typeof process!=="undefined"&&sA.kindOf(process)==="process";const wrapAsync=Me=>new Promise(((Bn,Hn)=>{let zn;let ni;const done=(Me,Bn)=>{if(ni)return;ni=true;zn&&zn(Me,Bn)};const _resolve=Me=>{done(Me);Bn(Me)};const _reject=Me=>{done(Me,true);Hn(Me)};Me(_resolve,_reject,(Me=>zn=Me)).catch(_reject)}));const resolveFamily=({address:Me,family:Bn})=>{if(!sA.isString(Me)){throw TypeError("address must be a string")}return{address:Me,family:Bn||(Me.indexOf(".")<0?6:4)}};const buildAddressEntry=(Me,Bn)=>resolveFamily(sA.isObject(Me)?Me:{address:Me,family:Bn});const Pg={request(Me,Bn){const Hn=Me.protocol+"//"+Me.hostname+":"+(Me.port||(Me.protocol==="https:"?443:80));const{http2Options:zn,headers:ni}=Me;const Ci=Qg.getSession(Hn,zn);const{HTTP2_HEADER_SCHEME:ts,HTTP2_HEADER_METHOD:Ps,HTTP2_HEADER_PATH:oa,HTTP2_HEADER_STATUS:ca}=aa.constants;const _a={[ts]:Me.protocol.replace(":",""),[Ps]:Me.method,[oa]:Me.path};sA.forEach(ni,((Me,Bn)=>{Bn.charAt(0)!==":"&&(_a[Bn]=Me)}));const xa=Ci.request(_a);xa.once("response",(Me=>{const Hn=xa;Me=Object.assign({},Me);const zn=Me[ca];delete Me[ca];Hn.headers=Me;Hn.statusCode=+zn;Bn(Hn)}));return xa}};var Og=Rg&&function httpAdapter(Me){return wrapAsync((async function dispatchHttpRequest(Bn,Hn,zn){let{data:ni,lookup:Ci,family:aa,httpVersion:ca=1,http2Options:Ha}=Me;const{responseType:so,responseEncoding:oo}=Me;const Jo=Me.method.toUpperCase();let tc;let dc=false;let Fc;ca=+ca;if(Number.isNaN(ca)){throw TypeError(`Invalid protocol version: '${Me.httpVersion}' is not a number`)}if(ca!==1&&ca!==2){throw TypeError(`Unsupported protocol version '${ca}'`)}const Jc=ca===2;if(Ci){const Me=callbackify(Ci,(Me=>sA.isArray(Me)?Me:[Me]));Ci=(Bn,Hn,zn)=>{Me(Bn,Hn,((Me,Bn,ni)=>{if(Me){return zn(Me)}const Ci=sA.isArray(Bn)?Bn.map((Me=>buildAddressEntry(Me))):[buildAddressEntry(Bn,ni)];Hn.all?zn(Me,Ci):zn(Me,Ci[0].address,Ci[0].family)}))}}const Dp=new Ga.EventEmitter;function abort(Bn){try{Dp.emit("abort",!Bn||Bn.type?new CanceledError(null,Me,Fc):Bn)}catch(Me){console.warn("emit error",Me)}}Dp.once("abort",Hn);const onFinished=()=>{if(Me.cancelToken){Me.cancelToken.unsubscribe(abort)}if(Me.signal){Me.signal.removeEventListener("abort",abort)}Dp.removeAllListeners()};if(Me.cancelToken||Me.signal){Me.cancelToken&&Me.cancelToken.subscribe(abort);if(Me.signal){Me.signal.aborted?abort():Me.signal.addEventListener("abort",abort)}}zn(((Me,Bn)=>{tc=true;if(Bn){dc=true;onFinished();return}const{data:Hn}=Me;if(Hn instanceof xa.Readable||Hn instanceof xa.Duplex){const Me=xa.finished(Hn,(()=>{Me();onFinished()}))}else{onFinished()}}));const kp=buildFullPath(Me.baseURL,Me.url,Me.allowAbsoluteUrls);const Qp=new URL(kp,fg.hasBrowserEnv?fg.origin:undefined);const Up=Qp.protocol||Ng[0];if(Up==="data:"){if(Me.maxContentLength>-1){const Bn=String(Me.url||kp||"");const zn=estimateDataURLDecodedBytes(Bn);if(zn>Me.maxContentLength){return Hn(new AxiosError("maxContentLength size of "+Me.maxContentLength+" exceeded",AxiosError.ERR_BAD_RESPONSE,Me))}}let zn;if(Jo!=="GET"){return settle(Bn,Hn,{status:405,statusText:"method not allowed",headers:{},config:Me})}try{zn=fromDataURI(Me.url,so==="blob",{Blob:Me.env&&Me.env.Blob})}catch(Bn){throw AxiosError.from(Bn,AxiosError.ERR_BAD_REQUEST,Me)}if(so==="text"){zn=zn.toString(oo);if(!oo||oo==="utf8"){zn=sA.stripBOM(zn)}}else if(so==="stream"){zn=xa.Readable.from(zn)}return settle(Bn,Hn,{data:zn,status:200,statusText:"OK",headers:new AxiosHeaders,config:Me})}if(Ng.indexOf(Up)===-1){return Hn(new AxiosError("Unsupported protocol "+Up,AxiosError.ERR_BAD_REQUEST,Me))}const Vp=AxiosHeaders.from(Me.headers).normalize();Vp.set("User-Agent","axios/"+gg,false);const{onUploadProgress:qp,onDownloadProgress:Jp}=Me;const Wp=Me.maxRate;let zp=undefined;let Qf=undefined;if(sA.isSpecCompliantForm(ni)){const Me=Vp.getContentType(/boundary=([-_\w\d]{10,70})/i);ni=formDataToStream(ni,(Me=>{Vp.set(Me)}),{tag:`axios-${gg}-boundary`,boundary:Me&&Me[1]||undefined})}else if(sA.isFormData(ni)&&sA.isFunction(ni.getHeaders)){Vp.set(ni.getHeaders());if(!Vp.hasContentLength()){try{const Me=await oa.promisify(ni.getLength).call(ni);Number.isFinite(Me)&&Me>=0&&Vp.setContentLength(Me)}catch(Me){}}}else if(sA.isBlob(ni)||sA.isFile(ni)){ni.size&&Vp.setContentType(ni.type||"application/octet-stream");Vp.setContentLength(ni.size||0);ni=xa.Readable.from(readBlob(ni))}else if(ni&&!sA.isStream(ni)){if(Buffer.isBuffer(ni));else if(sA.isArrayBuffer(ni)){ni=Buffer.from(new Uint8Array(ni))}else if(sA.isString(ni)){ni=Buffer.from(ni,"utf-8")}else{return Hn(new AxiosError("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",AxiosError.ERR_BAD_REQUEST,Me))}Vp.setContentLength(ni.length,false);if(Me.maxBodyLength>-1&&ni.length>Me.maxBodyLength){return Hn(new AxiosError("Request body larger than maxBodyLength limit",AxiosError.ERR_BAD_REQUEST,Me))}}const Yf=sA.toFiniteNumber(Vp.getContentLength());if(sA.isArray(Wp)){zp=Wp[0];Qf=Wp[1]}else{zp=Qf=Wp}if(ni&&(qp||zp)){if(!sA.isStream(ni)){ni=xa.Readable.from(ni,{objectMode:false})}ni=xa.pipeline([ni,new AxiosTransformStream({maxRate:sA.toFiniteNumber(zp)})],sA.noop);qp&&ni.on("progress",flushOnFinish(ni,progressEventDecorator(Yf,progressEventReducer(asyncDecorator(qp),false,3))))}let Kf=undefined;if(Me.auth){const Bn=Me.auth.username||"";const Hn=Me.auth.password||"";Kf=Bn+":"+Hn}if(!Kf&&Qp.username){const Me=Qp.username;const Bn=Qp.password;Kf=Me+":"+Bn}Kf&&Vp.delete("authorization");let Xf;try{Xf=buildURL(Qp.pathname+Qp.search,Me.params,Me.paramsSerializer).replace(/^\?/,"")}catch(Bn){const zn=new Error(Bn.message);zn.config=Me;zn.url=Me.url;zn.exists=true;return Hn(zn)}Vp.set("Accept-Encoding","gzip, compress, deflate"+(kg?", br":""),false);const Ad={path:Xf,method:Jo,headers:Vp.toJSON(),agents:{http:Me.httpAgent,https:Me.httpsAgent},auth:Kf,protocol:Up,family:aa,beforeRedirect:dispatchBeforeRedirect,beforeRedirects:{},http2Options:Ha};!sA.isUndefined(Ci)&&(Ad.lookup=Ci);if(Me.socketPath){Ad.socketPath=Me.socketPath}else{Ad.hostname=Qp.hostname.startsWith("[")?Qp.hostname.slice(1,-1):Qp.hostname;Ad.port=Qp.port;setProxy(Ad,Me.proxy,Up+"//"+Qp.hostname+(Qp.port?":"+Qp.port:"")+Ad.path)}let Cd;const wd=Fg.test(Ad.protocol);Ad.agent=wd?Me.httpsAgent:Me.httpAgent;if(Jc){Cd=Pg}else{if(Me.transport){Cd=Me.transport}else if(Me.maxRedirects===0){Cd=wd?Ps:ts}else{if(Me.maxRedirects){Ad.maxRedirects=Me.maxRedirects}if(Me.beforeRedirect){Ad.beforeRedirects.config=Me.beforeRedirect}Cd=wd?Tg:Bg}}if(Me.maxBodyLength>-1){Ad.maxBodyLength=Me.maxBodyLength}else{Ad.maxBodyLength=Infinity}if(Me.insecureHTTPParser){Ad.insecureHTTPParser=Me.insecureHTTPParser}Fc=Cd.request(Ad,(function handleResponse(zn){if(Fc.destroyed)return;const ni=[zn];const Ci=sA.toFiniteNumber(zn.headers["content-length"]);if(Jp||Qf){const Me=new AxiosTransformStream({maxRate:sA.toFiniteNumber(Qf)});Jp&&Me.on("progress",flushOnFinish(Me,progressEventDecorator(Ci,progressEventReducer(asyncDecorator(Jp),true,3))));ni.push(Me)}let ts=zn;const Ps=zn.req||Fc;if(Me.decompress!==false&&zn.headers["content-encoding"]){if(Jo==="HEAD"||zn.statusCode===204){delete zn.headers["content-encoding"]}switch((zn.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":ni.push(_a.createUnzip(Ig));delete zn.headers["content-encoding"];break;case"deflate":ni.push(new ZlibHeaderTransformStream);ni.push(_a.createUnzip(Ig));delete zn.headers["content-encoding"];break;case"br":if(kg){ni.push(_a.createBrotliDecompress(xg));delete zn.headers["content-encoding"]}}}ts=ni.length>1?xa.pipeline(ni,sA.noop):ni[0];const aa={status:zn.statusCode,statusText:zn.statusMessage,headers:new AxiosHeaders(zn.headers),config:Me,request:Ps};if(so==="stream"){aa.data=ts;settle(Bn,Hn,aa)}else{const zn=[];let ni=0;ts.on("data",(function handleStreamData(Bn){zn.push(Bn);ni+=Bn.length;if(Me.maxContentLength>-1&&ni>Me.maxContentLength){dc=true;ts.destroy();abort(new AxiosError("maxContentLength size of "+Me.maxContentLength+" exceeded",AxiosError.ERR_BAD_RESPONSE,Me,Ps))}}));ts.on("aborted",(function handlerStreamAborted(){if(dc){return}const Bn=new AxiosError("stream has been aborted",AxiosError.ERR_BAD_RESPONSE,Me,Ps);ts.destroy(Bn);Hn(Bn)}));ts.on("error",(function handleStreamError(Bn){if(Fc.destroyed)return;Hn(AxiosError.from(Bn,null,Me,Ps))}));ts.on("end",(function handleStreamEnd(){try{let Me=zn.length===1?zn[0]:Buffer.concat(zn);if(so!=="arraybuffer"){Me=Me.toString(oo);if(!oo||oo==="utf8"){Me=sA.stripBOM(Me)}}aa.data=Me}catch(Bn){return Hn(AxiosError.from(Bn,null,Me,aa.request,aa))}settle(Bn,Hn,aa)}))}Dp.once("abort",(Me=>{if(!ts.destroyed){ts.emit("error",Me);ts.destroy()}}))}));Dp.once("abort",(Me=>{if(Fc.close){Fc.close()}else{Fc.destroy(Me)}}));Fc.on("error",(function handleRequestError(Bn){Hn(AxiosError.from(Bn,null,Me,Fc))}));Fc.on("socket",(function handleRequestSocket(Me){Me.setKeepAlive(true,1e3*60)}));if(Me.timeout){const Bn=parseInt(Me.timeout,10);if(Number.isNaN(Bn)){abort(new AxiosError("error trying to parse `config.timeout` to int",AxiosError.ERR_BAD_OPTION_VALUE,Me,Fc));return}Fc.setTimeout(Bn,(function handleRequestTimeout(){if(tc)return;let Bn=Me.timeout?"timeout of "+Me.timeout+"ms exceeded":"timeout exceeded";const Hn=Me.transitional||eg;if(Me.timeoutErrorMessage){Bn=Me.timeoutErrorMessage}abort(new AxiosError(Bn,Hn.clarifyTimeoutError?AxiosError.ETIMEDOUT:AxiosError.ECONNABORTED,Me,Fc))}))}else{Fc.setTimeout(0)}if(sA.isStream(ni)){let Bn=false;let Hn=false;ni.on("end",(()=>{Bn=true}));ni.once("error",(Me=>{Hn=true;Fc.destroy(Me)}));ni.on("close",(()=>{if(!Bn&&!Hn){abort(new CanceledError("Request stream has been aborted",Me,Fc))}}));ni.pipe(Fc)}else{ni&&Fc.write(ni);Fc.end()}}))};var Lg=fg.hasStandardBrowserEnv?((Me,Bn)=>Hn=>{Hn=new URL(Hn,fg.origin);return Me.protocol===Hn.protocol&&Me.host===Hn.host&&(Bn||Me.port===Hn.port)})(new URL(fg.origin),fg.navigator&&/(msie|trident)/i.test(fg.navigator.userAgent)):()=>true;var Mg=fg.hasStandardBrowserEnv?{write(Me,Bn,Hn,zn,ni,Ci,ts){if(typeof document==="undefined")return;const Ps=[`${Me}=${encodeURIComponent(Bn)}`];if(sA.isNumber(Hn)){Ps.push(`expires=${new Date(Hn).toUTCString()}`)}if(sA.isString(zn)){Ps.push(`path=${zn}`)}if(sA.isString(ni)){Ps.push(`domain=${ni}`)}if(Ci===true){Ps.push("secure")}if(sA.isString(ts)){Ps.push(`SameSite=${ts}`)}document.cookie=Ps.join("; ")},read(Me){if(typeof document==="undefined")return null;const Bn=document.cookie.match(new RegExp("(?:^|; )"+Me+"=([^;]*)"));return Bn?decodeURIComponent(Bn[1]):null},remove(Me){this.write(Me,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};const headersToObject=Me=>Me instanceof AxiosHeaders?{...Me}:Me;function mergeConfig(Me,Bn){Bn=Bn||{};const Hn={};function getMergedValue(Me,Bn,Hn,zn){if(sA.isPlainObject(Me)&&sA.isPlainObject(Bn)){return sA.merge.call({caseless:zn},Me,Bn)}else if(sA.isPlainObject(Bn)){return sA.merge({},Bn)}else if(sA.isArray(Bn)){return Bn.slice()}return Bn}function mergeDeepProperties(Me,Bn,Hn,zn){if(!sA.isUndefined(Bn)){return getMergedValue(Me,Bn,Hn,zn)}else if(!sA.isUndefined(Me)){return getMergedValue(undefined,Me,Hn,zn)}}function valueFromConfig2(Me,Bn){if(!sA.isUndefined(Bn)){return getMergedValue(undefined,Bn)}}function defaultToConfig2(Me,Bn){if(!sA.isUndefined(Bn)){return getMergedValue(undefined,Bn)}else if(!sA.isUndefined(Me)){return getMergedValue(undefined,Me)}}function mergeDirectKeys(Hn,zn,ni){if(ni in Bn){return getMergedValue(Hn,zn)}else if(ni in Me){return getMergedValue(undefined,Hn)}}const zn={url:valueFromConfig2,method:valueFromConfig2,data:valueFromConfig2,baseURL:defaultToConfig2,transformRequest:defaultToConfig2,transformResponse:defaultToConfig2,paramsSerializer:defaultToConfig2,timeout:defaultToConfig2,timeoutMessage:defaultToConfig2,withCredentials:defaultToConfig2,withXSRFToken:defaultToConfig2,adapter:defaultToConfig2,responseType:defaultToConfig2,xsrfCookieName:defaultToConfig2,xsrfHeaderName:defaultToConfig2,onUploadProgress:defaultToConfig2,onDownloadProgress:defaultToConfig2,decompress:defaultToConfig2,maxContentLength:defaultToConfig2,maxBodyLength:defaultToConfig2,beforeRedirect:defaultToConfig2,transport:defaultToConfig2,httpAgent:defaultToConfig2,httpsAgent:defaultToConfig2,cancelToken:defaultToConfig2,socketPath:defaultToConfig2,responseEncoding:defaultToConfig2,validateStatus:mergeDirectKeys,headers:(Me,Bn,Hn)=>mergeDeepProperties(headersToObject(Me),headersToObject(Bn),Hn,true)};sA.forEach(Object.keys({...Me,...Bn}),(function computeConfigValue(ni){if(ni==="__proto__"||ni==="constructor"||ni==="prototype")return;const Ci=sA.hasOwnProp(zn,ni)?zn[ni]:mergeDeepProperties;const ts=Ci(Me[ni],Bn[ni],ni);sA.isUndefined(ts)&&Ci!==mergeDirectKeys||(Hn[ni]=ts)}));return Hn}var resolveConfig=Me=>{const Bn=mergeConfig({},Me);let{data:Hn,withXSRFToken:zn,xsrfHeaderName:ni,xsrfCookieName:Ci,headers:ts,auth:Ps}=Bn;Bn.headers=ts=AxiosHeaders.from(ts);Bn.url=buildURL(buildFullPath(Bn.baseURL,Bn.url,Bn.allowAbsoluteUrls),Me.params,Me.paramsSerializer);if(Ps){ts.set("Authorization","Basic "+btoa((Ps.username||"")+":"+(Ps.password?unescape(encodeURIComponent(Ps.password)):"")))}if(sA.isFormData(Hn)){if(fg.hasStandardBrowserEnv||fg.hasStandardBrowserWebWorkerEnv){ts.setContentType(undefined)}else if(sA.isFunction(Hn.getHeaders)){const Me=Hn.getHeaders();const Bn=["content-type","content-length"];Object.entries(Me).forEach((([Me,Hn])=>{if(Bn.includes(Me.toLowerCase())){ts.set(Me,Hn)}}))}}if(fg.hasStandardBrowserEnv){zn&&sA.isFunction(zn)&&(zn=zn(Bn));if(zn||zn!==false&&Lg(Bn.url)){const Me=ni&&Ci&&Mg.read(Ci);if(Me){ts.set(ni,Me)}}}return Bn};const jg=typeof XMLHttpRequest!=="undefined";var Ug=jg&&function(Me){return new Promise((function dispatchXhrRequest(Bn,Hn){const zn=resolveConfig(Me);let ni=zn.data;const Ci=AxiosHeaders.from(zn.headers).normalize();let{responseType:ts,onUploadProgress:Ps,onDownloadProgress:aa}=zn;let oa;let ca,_a;let xa,Ga;function done(){xa&&xa();Ga&&Ga();zn.cancelToken&&zn.cancelToken.unsubscribe(oa);zn.signal&&zn.signal.removeEventListener("abort",oa)}let Ha=new XMLHttpRequest;Ha.open(zn.method.toUpperCase(),zn.url,true);Ha.timeout=zn.timeout;function onloadend(){if(!Ha){return}const zn=AxiosHeaders.from("getAllResponseHeaders"in Ha&&Ha.getAllResponseHeaders());const ni=!ts||ts==="text"||ts==="json"?Ha.responseText:Ha.response;const Ci={data:ni,status:Ha.status,statusText:Ha.statusText,headers:zn,config:Me,request:Ha};settle((function _resolve(Me){Bn(Me);done()}),(function _reject(Me){Hn(Me);done()}),Ci);Ha=null}if("onloadend"in Ha){Ha.onloadend=onloadend}else{Ha.onreadystatechange=function handleLoad(){if(!Ha||Ha.readyState!==4){return}if(Ha.status===0&&!(Ha.responseURL&&Ha.responseURL.indexOf("file:")===0)){return}setTimeout(onloadend)}}Ha.onabort=function handleAbort(){if(!Ha){return}Hn(new AxiosError("Request aborted",AxiosError.ECONNABORTED,Me,Ha));Ha=null};Ha.onerror=function handleError(Bn){const zn=Bn&&Bn.message?Bn.message:"Network Error";const ni=new AxiosError(zn,AxiosError.ERR_NETWORK,Me,Ha);ni.event=Bn||null;Hn(ni);Ha=null};Ha.ontimeout=function handleTimeout(){let Bn=zn.timeout?"timeout of "+zn.timeout+"ms exceeded":"timeout exceeded";const ni=zn.transitional||eg;if(zn.timeoutErrorMessage){Bn=zn.timeoutErrorMessage}Hn(new AxiosError(Bn,ni.clarifyTimeoutError?AxiosError.ETIMEDOUT:AxiosError.ECONNABORTED,Me,Ha));Ha=null};ni===undefined&&Ci.setContentType(null);if("setRequestHeader"in Ha){sA.forEach(Ci.toJSON(),(function setRequestHeader(Me,Bn){Ha.setRequestHeader(Bn,Me)}))}if(!sA.isUndefined(zn.withCredentials)){Ha.withCredentials=!!zn.withCredentials}if(ts&&ts!=="json"){Ha.responseType=zn.responseType}if(aa){[_a,Ga]=progressEventReducer(aa,true);Ha.addEventListener("progress",_a)}if(Ps&&Ha.upload){[ca,xa]=progressEventReducer(Ps);Ha.upload.addEventListener("progress",ca);Ha.upload.addEventListener("loadend",xa)}if(zn.cancelToken||zn.signal){oa=Bn=>{if(!Ha){return}Hn(!Bn||Bn.type?new CanceledError(null,Me,Ha):Bn);Ha.abort();Ha=null};zn.cancelToken&&zn.cancelToken.subscribe(oa);if(zn.signal){zn.signal.aborted?oa():zn.signal.addEventListener("abort",oa)}}const so=parseProtocol(zn.url);if(so&&fg.protocols.indexOf(so)===-1){Hn(new AxiosError("Unsupported protocol "+so+":",AxiosError.ERR_BAD_REQUEST,Me));return}Ha.send(ni||null)}))};const composeSignals=(Me,Bn)=>{const{length:Hn}=Me=Me?Me.filter(Boolean):[];if(Bn||Hn){let Hn=new AbortController;let zn;const onabort=function(Me){if(!zn){zn=true;unsubscribe();const Bn=Me instanceof Error?Me:this.reason;Hn.abort(Bn instanceof AxiosError?Bn:new CanceledError(Bn instanceof Error?Bn.message:Bn))}};let ni=Bn&&setTimeout((()=>{ni=null;onabort(new AxiosError(`timeout of ${Bn}ms exceeded`,AxiosError.ETIMEDOUT))}),Bn);const unsubscribe=()=>{if(Me){ni&&clearTimeout(ni);ni=null;Me.forEach((Me=>{Me.unsubscribe?Me.unsubscribe(onabort):Me.removeEventListener("abort",onabort)}));Me=null}};Me.forEach((Me=>Me.addEventListener("abort",onabort)));const{signal:Ci}=Hn;Ci.unsubscribe=()=>sA.asap(unsubscribe);return Ci}};const streamChunk=function*(Me,Bn){let Hn=Me.byteLength;if(Hn{const ni=readBytes(Me,Bn);let Ci=0;let ts;let _onFinish=Me=>{if(!ts){ts=true;zn&&zn(Me)}};return new ReadableStream({async pull(Me){try{const{done:Bn,value:zn}=await ni.next();if(Bn){_onFinish();Me.close();return}let ts=zn.byteLength;if(Hn){let Me=Ci+=ts;Hn(Me)}Me.enqueue(new Uint8Array(zn))}catch(Me){_onFinish(Me);throw Me}},cancel(Me){_onFinish(Me);return ni.return()}},{highWaterMark:2})};const Gg=64*1024;const{isFunction:Vg}=sA;const Hg=(({Request:Me,Response:Bn})=>({Request:Me,Response:Bn}))(sA.global);const{ReadableStream:qg,TextEncoder:Jg}=sA.global;const test=(Me,...Bn)=>{try{return!!Me(...Bn)}catch(Me){return false}};const factory=Me=>{Me=sA.merge.call({skipUndefined:true},Hg,Me);const{fetch:Bn,Request:Hn,Response:zn}=Me;const ni=Bn?Vg(Bn):typeof fetch==="function";const Ci=Vg(Hn);const ts=Vg(zn);if(!ni){return false}const Ps=ni&&Vg(qg);const aa=ni&&(typeof Jg==="function"?(Me=>Bn=>Me.encode(Bn))(new Jg):async Me=>new Uint8Array(await new Hn(Me).arrayBuffer()));const oa=Ci&&Ps&&test((()=>{let Me=false;const Bn=new qg;const zn=new Hn(fg.origin,{body:Bn,method:"POST",get duplex(){Me=true;return"half"}}).headers.has("Content-Type");Bn.cancel();return Me&&!zn}));const ca=ts&&Ps&&test((()=>sA.isReadableStream(new zn("").body)));const _a={stream:ca&&(Me=>Me.body)};ni&&(()=>{["text","arrayBuffer","blob","formData","stream"].forEach((Me=>{!_a[Me]&&(_a[Me]=(Bn,Hn)=>{let zn=Bn&&Bn[Me];if(zn){return zn.call(Bn)}throw new AxiosError(`Response type '${Me}' is not supported`,AxiosError.ERR_NOT_SUPPORT,Hn)})}))})();const getBodyLength=async Me=>{if(Me==null){return 0}if(sA.isBlob(Me)){return Me.size}if(sA.isSpecCompliantForm(Me)){const Bn=new Hn(fg.origin,{method:"POST",body:Me});return(await Bn.arrayBuffer()).byteLength}if(sA.isArrayBufferView(Me)||sA.isArrayBuffer(Me)){return Me.byteLength}if(sA.isURLSearchParams(Me)){Me=Me+""}if(sA.isString(Me)){return(await aa(Me)).byteLength}};const resolveBodyLength=async(Me,Bn)=>{const Hn=sA.toFiniteNumber(Me.getContentLength());return Hn==null?getBodyLength(Bn):Hn};return async Me=>{let{url:ni,method:ts,data:Ps,signal:aa,cancelToken:xa,timeout:Ga,onDownloadProgress:Ha,onUploadProgress:so,responseType:oo,headers:Jo,withCredentials:tc="same-origin",fetchOptions:dc}=resolveConfig(Me);let Fc=Bn||fetch;oo=oo?(oo+"").toLowerCase():"text";let Jc=composeSignals([aa,xa&&xa.toAbortSignal()],Ga);let Dp=null;const kp=Jc&&Jc.unsubscribe&&(()=>{Jc.unsubscribe()});let Qp;try{if(so&&oa&&ts!=="get"&&ts!=="head"&&(Qp=await resolveBodyLength(Jo,Ps))!==0){let Me=new Hn(ni,{method:"POST",body:Ps,duplex:"half"});let Bn;if(sA.isFormData(Ps)&&(Bn=Me.headers.get("content-type"))){Jo.setContentType(Bn)}if(Me.body){const[Bn,Hn]=progressEventDecorator(Qp,progressEventReducer(asyncDecorator(so)));Ps=trackStream(Me.body,Gg,Bn,Hn)}}if(!sA.isString(tc)){tc=tc?"include":"omit"}const Bn=Ci&&"credentials"in Hn.prototype;const aa={...dc,signal:Jc,method:ts.toUpperCase(),headers:Jo.normalize().toJSON(),body:Ps,duplex:"half",credentials:Bn?tc:undefined};Dp=Ci&&new Hn(ni,aa);let xa=await(Ci?Fc(Dp,dc):Fc(ni,aa));const Ga=ca&&(oo==="stream"||oo==="response");if(ca&&(Ha||Ga&&kp)){const Me={};["status","statusText","headers"].forEach((Bn=>{Me[Bn]=xa[Bn]}));const Bn=sA.toFiniteNumber(xa.headers.get("content-length"));const[Hn,ni]=Ha&&progressEventDecorator(Bn,progressEventReducer(asyncDecorator(Ha),true))||[];xa=new zn(trackStream(xa.body,Gg,Hn,(()=>{ni&&ni();kp&&kp()})),Me)}oo=oo||"text";let Up=await _a[sA.findKey(_a,oo)||"text"](xa,Me);!Ga&&kp&&kp();return await new Promise(((Bn,Hn)=>{settle(Bn,Hn,{data:Up,headers:AxiosHeaders.from(xa.headers),status:xa.status,statusText:xa.statusText,config:Me,request:Dp})}))}catch(Bn){kp&&kp();if(Bn&&Bn.name==="TypeError"&&/Load failed|fetch/i.test(Bn.message)){throw Object.assign(new AxiosError("Network Error",AxiosError.ERR_NETWORK,Me,Dp,Bn&&Bn.response),{cause:Bn.cause||Bn})}throw AxiosError.from(Bn,Bn&&Bn.code,Me,Dp,Bn&&Bn.response)}}};const $g=new Map;const getFetch=Me=>{let Bn=Me&&Me.env||{};const{fetch:Hn,Request:zn,Response:ni}=Bn;const Ci=[zn,ni,Hn];let ts=Ci.length,Ps=ts,aa,oa,ca=$g;while(Ps--){aa=Ci[Ps];oa=ca.get(aa);oa===undefined&&ca.set(aa,oa=Ps?new Map:factory(Bn));ca=oa}return oa};getFetch();const Yg={http:Og,xhr:Ug,fetch:{get:getFetch}};sA.forEach(Yg,((Me,Bn)=>{if(Me){try{Object.defineProperty(Me,"name",{value:Bn})}catch(Me){}Object.defineProperty(Me,"adapterName",{value:Bn})}}));const renderReason=Me=>`- ${Me}`;const isResolvedHandle=Me=>sA.isFunction(Me)||Me===null||Me===false;function getAdapter(Me,Bn){Me=sA.isArray(Me)?Me:[Me];const{length:Hn}=Me;let zn;let ni;const Ci={};for(let ts=0;ts`adapter ${Me} `+(Bn===false?"is not supported by the environment":"is not available in the build")));let Bn=Hn?Me.length>1?"since :\n"+Me.map(renderReason).join("\n"):" "+renderReason(Me[0]):"as no adapter specified";throw new AxiosError(`There is no suitable adapter to dispatch the request `+Bn,"ERR_NOT_SUPPORT")}return ni}var Wg={getAdapter:getAdapter,adapters:Yg};function throwIfCancellationRequested(Me){if(Me.cancelToken){Me.cancelToken.throwIfRequested()}if(Me.signal&&Me.signal.aborted){throw new CanceledError(null,Me)}}function dispatchRequest(Me){throwIfCancellationRequested(Me);Me.headers=AxiosHeaders.from(Me.headers);Me.data=transformData.call(Me,Me.transformRequest);if(["post","put","patch"].indexOf(Me.method)!==-1){Me.headers.setContentType("application/x-www-form-urlencoded",false)}const Bn=Wg.getAdapter(Me.adapter||dg.adapter,Me);return Bn(Me).then((function onAdapterResolution(Bn){throwIfCancellationRequested(Me);Bn.data=transformData.call(Me,Me.transformResponse,Bn);Bn.headers=AxiosHeaders.from(Bn.headers);return Bn}),(function onAdapterRejection(Bn){if(!isCancel(Bn)){throwIfCancellationRequested(Me);if(Bn&&Bn.response){Bn.response.data=transformData.call(Me,Me.transformResponse,Bn.response);Bn.response.headers=AxiosHeaders.from(Bn.response.headers)}}return Promise.reject(Bn)}))}const Kg={};["object","boolean","number","function","string","symbol"].forEach(((Me,Bn)=>{Kg[Me]=function validator(Hn){return typeof Hn===Me||"a"+(Bn<1?"n ":" ")+Me}}));const zg={};Kg.transitional=function transitional(Me,Bn,Hn){function formatMessage(Me,Bn){return"[Axios v"+gg+"] Transitional option '"+Me+"'"+Bn+(Hn?". "+Hn:"")}return(Hn,zn,ni)=>{if(Me===false){throw new AxiosError(formatMessage(zn," has been removed"+(Bn?" in "+Bn:"")),AxiosError.ERR_DEPRECATED)}if(Bn&&!zg[zn]){zg[zn]=true;console.warn(formatMessage(zn," has been deprecated since v"+Bn+" and will be removed in the near future"))}return Me?Me(Hn,zn,ni):true}};Kg.spelling=function spelling(Me){return(Bn,Hn)=>{console.warn(`${Hn} is likely a misspelling of ${Me}`);return true}};function assertOptions(Me,Bn,Hn){if(typeof Me!=="object"){throw new AxiosError("options must be an object",AxiosError.ERR_BAD_OPTION_VALUE)}const zn=Object.keys(Me);let ni=zn.length;while(ni-- >0){const Ci=zn[ni];const ts=Bn[Ci];if(ts){const Bn=Me[Ci];const Hn=Bn===undefined||ts(Bn,Ci,Me);if(Hn!==true){throw new AxiosError("option "+Ci+" must be "+Hn,AxiosError.ERR_BAD_OPTION_VALUE)}continue}if(Hn!==true){throw new AxiosError("Unknown option "+Ci,AxiosError.ERR_BAD_OPTION)}}}var Xg={assertOptions:assertOptions,validators:Kg};const Zg=Xg.validators;class Axios{constructor(Me){this.defaults=Me||{};this.interceptors={request:new InterceptorManager,response:new InterceptorManager}}async request(Me,Bn){try{return await this._request(Me,Bn)}catch(Me){if(Me instanceof Error){let Bn={};Error.captureStackTrace?Error.captureStackTrace(Bn):Bn=new Error;const Hn=(()=>{if(!Bn.stack){return""}const Me=Bn.stack.indexOf("\n");return Me===-1?"":Bn.stack.slice(Me+1)})();try{if(!Me.stack){Me.stack=Hn}else if(Hn){const Bn=Hn.indexOf("\n");const zn=Bn===-1?-1:Hn.indexOf("\n",Bn+1);const ni=zn===-1?"":Hn.slice(zn+1);if(!String(Me.stack).endsWith(ni)){Me.stack+="\n"+Hn}}}catch(Me){}}throw Me}}_request(Me,Bn){if(typeof Me==="string"){Bn=Bn||{};Bn.url=Me}else{Bn=Me||{}}Bn=mergeConfig(this.defaults,Bn);const{transitional:Hn,paramsSerializer:zn,headers:ni}=Bn;if(Hn!==undefined){Xg.assertOptions(Hn,{silentJSONParsing:Zg.transitional(Zg.boolean),forcedJSONParsing:Zg.transitional(Zg.boolean),clarifyTimeoutError:Zg.transitional(Zg.boolean),legacyInterceptorReqResOrdering:Zg.transitional(Zg.boolean)},false)}if(zn!=null){if(sA.isFunction(zn)){Bn.paramsSerializer={serialize:zn}}else{Xg.assertOptions(zn,{encode:Zg.function,serialize:Zg.function},true)}}if(Bn.allowAbsoluteUrls!==undefined);else if(this.defaults.allowAbsoluteUrls!==undefined){Bn.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls}else{Bn.allowAbsoluteUrls=true}Xg.assertOptions(Bn,{baseUrl:Zg.spelling("baseURL"),withXsrfToken:Zg.spelling("withXSRFToken")},true);Bn.method=(Bn.method||this.defaults.method||"get").toLowerCase();let Ci=ni&&sA.merge(ni.common,ni[Bn.method]);ni&&sA.forEach(["delete","get","head","post","put","patch","common"],(Me=>{delete ni[Me]}));Bn.headers=AxiosHeaders.concat(Ci,ni);const ts=[];let Ps=true;this.interceptors.request.forEach((function unshiftRequestInterceptors(Me){if(typeof Me.runWhen==="function"&&Me.runWhen(Bn)===false){return}Ps=Ps&&Me.synchronous;const Hn=Bn.transitional||eg;const zn=Hn&&Hn.legacyInterceptorReqResOrdering;if(zn){ts.unshift(Me.fulfilled,Me.rejected)}else{ts.push(Me.fulfilled,Me.rejected)}}));const aa=[];this.interceptors.response.forEach((function pushResponseInterceptors(Me){aa.push(Me.fulfilled,Me.rejected)}));let oa;let ca=0;let _a;if(!Ps){const Me=[dispatchRequest.bind(this),undefined];Me.unshift(...ts);Me.push(...aa);_a=Me.length;oa=Promise.resolve(Bn);while(ca<_a){oa=oa.then(Me[ca++],Me[ca++])}return oa}_a=ts.length;let xa=Bn;while(ca<_a){const Me=ts[ca++];const Bn=ts[ca++];try{xa=Me(xa)}catch(Me){Bn.call(this,Me);break}}try{oa=dispatchRequest.call(this,xa)}catch(Me){return Promise.reject(Me)}ca=0;_a=aa.length;while(ca<_a){oa=oa.then(aa[ca++],aa[ca++])}return oa}getUri(Me){Me=mergeConfig(this.defaults,Me);const Bn=buildFullPath(Me.baseURL,Me.url,Me.allowAbsoluteUrls);return buildURL(Bn,Me.params,Me.paramsSerializer)}}sA.forEach(["delete","get","head","options"],(function forEachMethodNoData(Me){Axios.prototype[Me]=function(Bn,Hn){return this.request(mergeConfig(Hn||{},{method:Me,url:Bn,data:(Hn||{}).data}))}}));sA.forEach(["post","put","patch"],(function forEachMethodWithData(Me){function generateHTTPMethod(Bn){return function httpMethod(Hn,zn,ni){return this.request(mergeConfig(ni||{},{method:Me,headers:Bn?{"Content-Type":"multipart/form-data"}:{},url:Hn,data:zn}))}}Axios.prototype[Me]=generateHTTPMethod();Axios.prototype[Me+"Form"]=generateHTTPMethod(true)}));class CancelToken{constructor(Me){if(typeof Me!=="function"){throw new TypeError("executor must be a function.")}let Bn;this.promise=new Promise((function promiseExecutor(Me){Bn=Me}));const Hn=this;this.promise.then((Me=>{if(!Hn._listeners)return;let Bn=Hn._listeners.length;while(Bn-- >0){Hn._listeners[Bn](Me)}Hn._listeners=null}));this.promise.then=Me=>{let Bn;const zn=new Promise((Me=>{Hn.subscribe(Me);Bn=Me})).then(Me);zn.cancel=function reject(){Hn.unsubscribe(Bn)};return zn};Me((function cancel(Me,zn,ni){if(Hn.reason){return}Hn.reason=new CanceledError(Me,zn,ni);Bn(Hn.reason)}))}throwIfRequested(){if(this.reason){throw this.reason}}subscribe(Me){if(this.reason){Me(this.reason);return}if(this._listeners){this._listeners.push(Me)}else{this._listeners=[Me]}}unsubscribe(Me){if(!this._listeners){return}const Bn=this._listeners.indexOf(Me);if(Bn!==-1){this._listeners.splice(Bn,1)}}toAbortSignal(){const Me=new AbortController;const abort=Bn=>{Me.abort(Bn)};this.subscribe(abort);Me.signal.unsubscribe=()=>this.unsubscribe(abort);return Me.signal}static source(){let Me;const Bn=new CancelToken((function executor(Bn){Me=Bn}));return{token:Bn,cancel:Me}}}function spread(Me){return function wrap(Bn){return Me.apply(null,Bn)}}function isAxiosError(Me){return sA.isObject(Me)&&Me.isAxiosError===true}const f_={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(f_).forEach((([Me,Bn])=>{f_[Bn]=Me}));function createInstance(Me){const Bn=new Axios(Me);const Hn=bind(Axios.prototype.request,Bn);sA.extend(Hn,Axios.prototype,Bn,{allOwnKeys:true});sA.extend(Hn,Bn,null,{allOwnKeys:true});Hn.create=function create(Bn){return createInstance(mergeConfig(Me,Bn))};return Hn}const Z_=createInstance(dg);Z_.Axios=Axios;Z_.CanceledError=CanceledError;Z_.CancelToken=CancelToken;Z_.isCancel=isCancel;Z_.VERSION=gg;Z_.toFormData=toFormData;Z_.AxiosError=AxiosError;Z_.Cancel=Z_.CanceledError;Z_.all=function all(Me){return Promise.all(Me)};Z_.spread=spread;Z_.isAxiosError=isAxiosError;Z_.mergeConfig=mergeConfig;Z_.AxiosHeaders=AxiosHeaders;Z_.formToJSON=Me=>formDataToJSON(sA.isHTMLForm(Me)?new FormData(Me):Me);Z_.getAdapter=Wg.getAdapter;Z_.HttpStatusCode=f_;Z_.default=Z_;Me.exports=Z_},21213:Me=>{"use strict";Me.exports=JSON.parse('{"name":"prettier","version":"2.8.8","description":"Prettier is an opinionated code formatter","bin":"./bin-prettier.js","repository":"prettier/prettier","funding":"https://github.com/prettier/prettier?sponsor=1","homepage":"https://prettier.io","author":"James Long","license":"MIT","main":"./index.js","browser":"./standalone.js","unpkg":"./standalone.js","engines":{"node":">=10.13.0"},"files":["*.js","esm/*.mjs"]}')},41002:Me=>{"use strict";Me.exports=JSON.parse('{"version":"2.1.267","license":"MIT","main":"dist/index.js","typings":"dist/index.d.ts","files":["dist","src"],"engines":{"node":">=20"},"scripts":{"jest:clear":"jest --clearCache","start":"tsup --watch","build":"tsup && tsc -p tsconfig.build.json","test":"jest","test:coverage":"npm run test -- --coverage","lint":"eslint src/**/*.ts","prepare":"npm run build && husky","version":"echo version && git add -A src","debug-dry-run":"npm test dry-run.test","postversion":"echo postversion && git push origin HEAD:$CI_DEFAULT_BRANCH && git push --tags origin HEAD:$CI_DEFAULT_BRANCH"},"publishConfig":{"registry":"https://linearb.jfrog.io/linearb/api/npm/npm-local/"},"name":"@linearb/gitstream-core","author":"Oriel Zaken","devDependencies":{"@eslint/js":"^9.39.2","@jest/globals":"^30.2.0","@types/jest":"^30.0.0","@types/js-yaml":"^4.0.9","@types/jsonwebtoken":"^9.0.10","@types/lodash":"^4.17.23","@types/node":"^25.1.0","@types/nunjucks":"^3.2.6","@types/prettier":"^2.7.3","@types/shell-quote":"^1.7.5","eslint":"^9.39.2","eslint-config-prettier":"^10.1.8","eslint-plugin-import":"^2.32.0","eslint-plugin-prettier":"^4.2.5","globals":"^17.3.0","husky":"^9.1.7","jest":"^30.2.0","ts-jest":"^29.4.6","tslib":"^2.8.1","tsup":"^8.5.1","typescript":"^5.9.3","typescript-eslint":"^8.54.0"},"dependencies":{"@actions/core":"^1.11.1","@gitbeaker/rest":"^43.8.0","@linearb/gitstream-core-js":"0.1.104","@octokit/rest":"^20.1.2","@wasm-fmt/ruff_fmt":"^0.14.14","ajv":"^8.17.1","axios":"^1.13.4","isolated-vm":"^5.0.4","js-yaml":"^4.1.1","jsonwebtoken":"^9.0.3","lodash":"^4.17.23","moment":"^2.30.1","nunjucks":"^3.2.4","parse-diff":"^0.11.1","prettier":"^2.8.8","shell-quote":"^1.8.3"},"prettier":{"printWidth":80,"semi":true,"singleQuote":true,"trailingComma":"all"}}')},81813:Me=>{"use strict";Me.exports=JSON.parse('{"application/1d-interleaved-parityfec":{"source":"iana"},"application/3gpdash-qoe-report+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/3gpp-ims+xml":{"source":"iana","compressible":true},"application/3gpphal+json":{"source":"iana","compressible":true},"application/3gpphalforms+json":{"source":"iana","compressible":true},"application/a2l":{"source":"iana"},"application/ace+cbor":{"source":"iana"},"application/activemessage":{"source":"iana"},"application/activity+json":{"source":"iana","compressible":true},"application/alto-costmap+json":{"source":"iana","compressible":true},"application/alto-costmapfilter+json":{"source":"iana","compressible":true},"application/alto-directory+json":{"source":"iana","compressible":true},"application/alto-endpointcost+json":{"source":"iana","compressible":true},"application/alto-endpointcostparams+json":{"source":"iana","compressible":true},"application/alto-endpointprop+json":{"source":"iana","compressible":true},"application/alto-endpointpropparams+json":{"source":"iana","compressible":true},"application/alto-error+json":{"source":"iana","compressible":true},"application/alto-networkmap+json":{"source":"iana","compressible":true},"application/alto-networkmapfilter+json":{"source":"iana","compressible":true},"application/alto-updatestreamcontrol+json":{"source":"iana","compressible":true},"application/alto-updatestreamparams+json":{"source":"iana","compressible":true},"application/aml":{"source":"iana"},"application/andrew-inset":{"source":"iana","extensions":["ez"]},"application/applefile":{"source":"iana"},"application/applixware":{"source":"apache","extensions":["aw"]},"application/at+jwt":{"source":"iana"},"application/atf":{"source":"iana"},"application/atfx":{"source":"iana"},"application/atom+xml":{"source":"iana","compressible":true,"extensions":["atom"]},"application/atomcat+xml":{"source":"iana","compressible":true,"extensions":["atomcat"]},"application/atomdeleted+xml":{"source":"iana","compressible":true,"extensions":["atomdeleted"]},"application/atomicmail":{"source":"iana"},"application/atomsvc+xml":{"source":"iana","compressible":true,"extensions":["atomsvc"]},"application/atsc-dwd+xml":{"source":"iana","compressible":true,"extensions":["dwd"]},"application/atsc-dynamic-event-message":{"source":"iana"},"application/atsc-held+xml":{"source":"iana","compressible":true,"extensions":["held"]},"application/atsc-rdt+json":{"source":"iana","compressible":true},"application/atsc-rsat+xml":{"source":"iana","compressible":true,"extensions":["rsat"]},"application/atxml":{"source":"iana"},"application/auth-policy+xml":{"source":"iana","compressible":true},"application/bacnet-xdd+zip":{"source":"iana","compressible":false},"application/batch-smtp":{"source":"iana"},"application/bdoc":{"compressible":false,"extensions":["bdoc"]},"application/beep+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/calendar+json":{"source":"iana","compressible":true},"application/calendar+xml":{"source":"iana","compressible":true,"extensions":["xcs"]},"application/call-completion":{"source":"iana"},"application/cals-1840":{"source":"iana"},"application/captive+json":{"source":"iana","compressible":true},"application/cbor":{"source":"iana"},"application/cbor-seq":{"source":"iana"},"application/cccex":{"source":"iana"},"application/ccmp+xml":{"source":"iana","compressible":true},"application/ccxml+xml":{"source":"iana","compressible":true,"extensions":["ccxml"]},"application/cdfx+xml":{"source":"iana","compressible":true,"extensions":["cdfx"]},"application/cdmi-capability":{"source":"iana","extensions":["cdmia"]},"application/cdmi-container":{"source":"iana","extensions":["cdmic"]},"application/cdmi-domain":{"source":"iana","extensions":["cdmid"]},"application/cdmi-object":{"source":"iana","extensions":["cdmio"]},"application/cdmi-queue":{"source":"iana","extensions":["cdmiq"]},"application/cdni":{"source":"iana"},"application/cea":{"source":"iana"},"application/cea-2018+xml":{"source":"iana","compressible":true},"application/cellml+xml":{"source":"iana","compressible":true},"application/cfw":{"source":"iana"},"application/city+json":{"source":"iana","compressible":true},"application/clr":{"source":"iana"},"application/clue+xml":{"source":"iana","compressible":true},"application/clue_info+xml":{"source":"iana","compressible":true},"application/cms":{"source":"iana"},"application/cnrp+xml":{"source":"iana","compressible":true},"application/coap-group+json":{"source":"iana","compressible":true},"application/coap-payload":{"source":"iana"},"application/commonground":{"source":"iana"},"application/conference-info+xml":{"source":"iana","compressible":true},"application/cose":{"source":"iana"},"application/cose-key":{"source":"iana"},"application/cose-key-set":{"source":"iana"},"application/cpl+xml":{"source":"iana","compressible":true,"extensions":["cpl"]},"application/csrattrs":{"source":"iana"},"application/csta+xml":{"source":"iana","compressible":true},"application/cstadata+xml":{"source":"iana","compressible":true},"application/csvm+json":{"source":"iana","compressible":true},"application/cu-seeme":{"source":"apache","extensions":["cu"]},"application/cwt":{"source":"iana"},"application/cybercash":{"source":"iana"},"application/dart":{"compressible":true},"application/dash+xml":{"source":"iana","compressible":true,"extensions":["mpd"]},"application/dash-patch+xml":{"source":"iana","compressible":true,"extensions":["mpp"]},"application/dashdelta":{"source":"iana"},"application/davmount+xml":{"source":"iana","compressible":true,"extensions":["davmount"]},"application/dca-rft":{"source":"iana"},"application/dcd":{"source":"iana"},"application/dec-dx":{"source":"iana"},"application/dialog-info+xml":{"source":"iana","compressible":true},"application/dicom":{"source":"iana"},"application/dicom+json":{"source":"iana","compressible":true},"application/dicom+xml":{"source":"iana","compressible":true},"application/dii":{"source":"iana"},"application/dit":{"source":"iana"},"application/dns":{"source":"iana"},"application/dns+json":{"source":"iana","compressible":true},"application/dns-message":{"source":"iana"},"application/docbook+xml":{"source":"apache","compressible":true,"extensions":["dbk"]},"application/dots+cbor":{"source":"iana"},"application/dskpp+xml":{"source":"iana","compressible":true},"application/dssc+der":{"source":"iana","extensions":["dssc"]},"application/dssc+xml":{"source":"iana","compressible":true,"extensions":["xdssc"]},"application/dvcs":{"source":"iana"},"application/ecmascript":{"source":"iana","compressible":true,"extensions":["es","ecma"]},"application/edi-consent":{"source":"iana"},"application/edi-x12":{"source":"iana","compressible":false},"application/edifact":{"source":"iana","compressible":false},"application/efi":{"source":"iana"},"application/elm+json":{"source":"iana","charset":"UTF-8","compressible":true},"application/elm+xml":{"source":"iana","compressible":true},"application/emergencycalldata.cap+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/emergencycalldata.comment+xml":{"source":"iana","compressible":true},"application/emergencycalldata.control+xml":{"source":"iana","compressible":true},"application/emergencycalldata.deviceinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.ecall.msd":{"source":"iana"},"application/emergencycalldata.providerinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.serviceinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.subscriberinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.veds+xml":{"source":"iana","compressible":true},"application/emma+xml":{"source":"iana","compressible":true,"extensions":["emma"]},"application/emotionml+xml":{"source":"iana","compressible":true,"extensions":["emotionml"]},"application/encaprtp":{"source":"iana"},"application/epp+xml":{"source":"iana","compressible":true},"application/epub+zip":{"source":"iana","compressible":false,"extensions":["epub"]},"application/eshop":{"source":"iana"},"application/exi":{"source":"iana","extensions":["exi"]},"application/expect-ct-report+json":{"source":"iana","compressible":true},"application/express":{"source":"iana","extensions":["exp"]},"application/fastinfoset":{"source":"iana"},"application/fastsoap":{"source":"iana"},"application/fdt+xml":{"source":"iana","compressible":true,"extensions":["fdt"]},"application/fhir+json":{"source":"iana","charset":"UTF-8","compressible":true},"application/fhir+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/fido.trusted-apps+json":{"compressible":true},"application/fits":{"source":"iana"},"application/flexfec":{"source":"iana"},"application/font-sfnt":{"source":"iana"},"application/font-tdpfr":{"source":"iana","extensions":["pfr"]},"application/font-woff":{"source":"iana","compressible":false},"application/framework-attributes+xml":{"source":"iana","compressible":true},"application/geo+json":{"source":"iana","compressible":true,"extensions":["geojson"]},"application/geo+json-seq":{"source":"iana"},"application/geopackage+sqlite3":{"source":"iana"},"application/geoxacml+xml":{"source":"iana","compressible":true},"application/gltf-buffer":{"source":"iana"},"application/gml+xml":{"source":"iana","compressible":true,"extensions":["gml"]},"application/gpx+xml":{"source":"apache","compressible":true,"extensions":["gpx"]},"application/gxf":{"source":"apache","extensions":["gxf"]},"application/gzip":{"source":"iana","compressible":false,"extensions":["gz"]},"application/h224":{"source":"iana"},"application/held+xml":{"source":"iana","compressible":true},"application/hjson":{"extensions":["hjson"]},"application/http":{"source":"iana"},"application/hyperstudio":{"source":"iana","extensions":["stk"]},"application/ibe-key-request+xml":{"source":"iana","compressible":true},"application/ibe-pkg-reply+xml":{"source":"iana","compressible":true},"application/ibe-pp-data":{"source":"iana"},"application/iges":{"source":"iana"},"application/im-iscomposing+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/index":{"source":"iana"},"application/index.cmd":{"source":"iana"},"application/index.obj":{"source":"iana"},"application/index.response":{"source":"iana"},"application/index.vnd":{"source":"iana"},"application/inkml+xml":{"source":"iana","compressible":true,"extensions":["ink","inkml"]},"application/iotp":{"source":"iana"},"application/ipfix":{"source":"iana","extensions":["ipfix"]},"application/ipp":{"source":"iana"},"application/isup":{"source":"iana"},"application/its+xml":{"source":"iana","compressible":true,"extensions":["its"]},"application/java-archive":{"source":"apache","compressible":false,"extensions":["jar","war","ear"]},"application/java-serialized-object":{"source":"apache","compressible":false,"extensions":["ser"]},"application/java-vm":{"source":"apache","compressible":false,"extensions":["class"]},"application/javascript":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["js","mjs"]},"application/jf2feed+json":{"source":"iana","compressible":true},"application/jose":{"source":"iana"},"application/jose+json":{"source":"iana","compressible":true},"application/jrd+json":{"source":"iana","compressible":true},"application/jscalendar+json":{"source":"iana","compressible":true},"application/json":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["json","map"]},"application/json-patch+json":{"source":"iana","compressible":true},"application/json-seq":{"source":"iana"},"application/json5":{"extensions":["json5"]},"application/jsonml+json":{"source":"apache","compressible":true,"extensions":["jsonml"]},"application/jwk+json":{"source":"iana","compressible":true},"application/jwk-set+json":{"source":"iana","compressible":true},"application/jwt":{"source":"iana"},"application/kpml-request+xml":{"source":"iana","compressible":true},"application/kpml-response+xml":{"source":"iana","compressible":true},"application/ld+json":{"source":"iana","compressible":true,"extensions":["jsonld"]},"application/lgr+xml":{"source":"iana","compressible":true,"extensions":["lgr"]},"application/link-format":{"source":"iana"},"application/load-control+xml":{"source":"iana","compressible":true},"application/lost+xml":{"source":"iana","compressible":true,"extensions":["lostxml"]},"application/lostsync+xml":{"source":"iana","compressible":true},"application/lpf+zip":{"source":"iana","compressible":false},"application/lxf":{"source":"iana"},"application/mac-binhex40":{"source":"iana","extensions":["hqx"]},"application/mac-compactpro":{"source":"apache","extensions":["cpt"]},"application/macwriteii":{"source":"iana"},"application/mads+xml":{"source":"iana","compressible":true,"extensions":["mads"]},"application/manifest+json":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["webmanifest"]},"application/marc":{"source":"iana","extensions":["mrc"]},"application/marcxml+xml":{"source":"iana","compressible":true,"extensions":["mrcx"]},"application/mathematica":{"source":"iana","extensions":["ma","nb","mb"]},"application/mathml+xml":{"source":"iana","compressible":true,"extensions":["mathml"]},"application/mathml-content+xml":{"source":"iana","compressible":true},"application/mathml-presentation+xml":{"source":"iana","compressible":true},"application/mbms-associated-procedure-description+xml":{"source":"iana","compressible":true},"application/mbms-deregister+xml":{"source":"iana","compressible":true},"application/mbms-envelope+xml":{"source":"iana","compressible":true},"application/mbms-msk+xml":{"source":"iana","compressible":true},"application/mbms-msk-response+xml":{"source":"iana","compressible":true},"application/mbms-protection-description+xml":{"source":"iana","compressible":true},"application/mbms-reception-report+xml":{"source":"iana","compressible":true},"application/mbms-register+xml":{"source":"iana","compressible":true},"application/mbms-register-response+xml":{"source":"iana","compressible":true},"application/mbms-schedule+xml":{"source":"iana","compressible":true},"application/mbms-user-service-description+xml":{"source":"iana","compressible":true},"application/mbox":{"source":"iana","extensions":["mbox"]},"application/media-policy-dataset+xml":{"source":"iana","compressible":true,"extensions":["mpf"]},"application/media_control+xml":{"source":"iana","compressible":true},"application/mediaservercontrol+xml":{"source":"iana","compressible":true,"extensions":["mscml"]},"application/merge-patch+json":{"source":"iana","compressible":true},"application/metalink+xml":{"source":"apache","compressible":true,"extensions":["metalink"]},"application/metalink4+xml":{"source":"iana","compressible":true,"extensions":["meta4"]},"application/mets+xml":{"source":"iana","compressible":true,"extensions":["mets"]},"application/mf4":{"source":"iana"},"application/mikey":{"source":"iana"},"application/mipc":{"source":"iana"},"application/missing-blocks+cbor-seq":{"source":"iana"},"application/mmt-aei+xml":{"source":"iana","compressible":true,"extensions":["maei"]},"application/mmt-usd+xml":{"source":"iana","compressible":true,"extensions":["musd"]},"application/mods+xml":{"source":"iana","compressible":true,"extensions":["mods"]},"application/moss-keys":{"source":"iana"},"application/moss-signature":{"source":"iana"},"application/mosskey-data":{"source":"iana"},"application/mosskey-request":{"source":"iana"},"application/mp21":{"source":"iana","extensions":["m21","mp21"]},"application/mp4":{"source":"iana","extensions":["mp4s","m4p"]},"application/mpeg4-generic":{"source":"iana"},"application/mpeg4-iod":{"source":"iana"},"application/mpeg4-iod-xmt":{"source":"iana"},"application/mrb-consumer+xml":{"source":"iana","compressible":true},"application/mrb-publish+xml":{"source":"iana","compressible":true},"application/msc-ivr+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/msc-mixer+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/msword":{"source":"iana","compressible":false,"extensions":["doc","dot"]},"application/mud+json":{"source":"iana","compressible":true},"application/multipart-core":{"source":"iana"},"application/mxf":{"source":"iana","extensions":["mxf"]},"application/n-quads":{"source":"iana","extensions":["nq"]},"application/n-triples":{"source":"iana","extensions":["nt"]},"application/nasdata":{"source":"iana"},"application/news-checkgroups":{"source":"iana","charset":"US-ASCII"},"application/news-groupinfo":{"source":"iana","charset":"US-ASCII"},"application/news-transmission":{"source":"iana"},"application/nlsml+xml":{"source":"iana","compressible":true},"application/node":{"source":"iana","extensions":["cjs"]},"application/nss":{"source":"iana"},"application/oauth-authz-req+jwt":{"source":"iana"},"application/oblivious-dns-message":{"source":"iana"},"application/ocsp-request":{"source":"iana"},"application/ocsp-response":{"source":"iana"},"application/octet-stream":{"source":"iana","compressible":false,"extensions":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{"source":"iana","extensions":["oda"]},"application/odm+xml":{"source":"iana","compressible":true},"application/odx":{"source":"iana"},"application/oebps-package+xml":{"source":"iana","compressible":true,"extensions":["opf"]},"application/ogg":{"source":"iana","compressible":false,"extensions":["ogx"]},"application/omdoc+xml":{"source":"apache","compressible":true,"extensions":["omdoc"]},"application/onenote":{"source":"apache","extensions":["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{"source":"iana","compressible":true},"application/oscore":{"source":"iana"},"application/oxps":{"source":"iana","extensions":["oxps"]},"application/p21":{"source":"iana"},"application/p21+zip":{"source":"iana","compressible":false},"application/p2p-overlay+xml":{"source":"iana","compressible":true,"extensions":["relo"]},"application/parityfec":{"source":"iana"},"application/passport":{"source":"iana"},"application/patch-ops-error+xml":{"source":"iana","compressible":true,"extensions":["xer"]},"application/pdf":{"source":"iana","compressible":false,"extensions":["pdf"]},"application/pdx":{"source":"iana"},"application/pem-certificate-chain":{"source":"iana"},"application/pgp-encrypted":{"source":"iana","compressible":false,"extensions":["pgp"]},"application/pgp-keys":{"source":"iana","extensions":["asc"]},"application/pgp-signature":{"source":"iana","extensions":["asc","sig"]},"application/pics-rules":{"source":"apache","extensions":["prf"]},"application/pidf+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/pidf-diff+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/pkcs10":{"source":"iana","extensions":["p10"]},"application/pkcs12":{"source":"iana"},"application/pkcs7-mime":{"source":"iana","extensions":["p7m","p7c"]},"application/pkcs7-signature":{"source":"iana","extensions":["p7s"]},"application/pkcs8":{"source":"iana","extensions":["p8"]},"application/pkcs8-encrypted":{"source":"iana"},"application/pkix-attr-cert":{"source":"iana","extensions":["ac"]},"application/pkix-cert":{"source":"iana","extensions":["cer"]},"application/pkix-crl":{"source":"iana","extensions":["crl"]},"application/pkix-pkipath":{"source":"iana","extensions":["pkipath"]},"application/pkixcmp":{"source":"iana","extensions":["pki"]},"application/pls+xml":{"source":"iana","compressible":true,"extensions":["pls"]},"application/poc-settings+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/postscript":{"source":"iana","compressible":true,"extensions":["ai","eps","ps"]},"application/ppsp-tracker+json":{"source":"iana","compressible":true},"application/problem+json":{"source":"iana","compressible":true},"application/problem+xml":{"source":"iana","compressible":true},"application/provenance+xml":{"source":"iana","compressible":true,"extensions":["provx"]},"application/prs.alvestrand.titrax-sheet":{"source":"iana"},"application/prs.cww":{"source":"iana","extensions":["cww"]},"application/prs.cyn":{"source":"iana","charset":"7-BIT"},"application/prs.hpub+zip":{"source":"iana","compressible":false},"application/prs.nprend":{"source":"iana"},"application/prs.plucker":{"source":"iana"},"application/prs.rdf-xml-crypt":{"source":"iana"},"application/prs.xsf+xml":{"source":"iana","compressible":true},"application/pskc+xml":{"source":"iana","compressible":true,"extensions":["pskcxml"]},"application/pvd+json":{"source":"iana","compressible":true},"application/qsig":{"source":"iana"},"application/raml+yaml":{"compressible":true,"extensions":["raml"]},"application/raptorfec":{"source":"iana"},"application/rdap+json":{"source":"iana","compressible":true},"application/rdf+xml":{"source":"iana","compressible":true,"extensions":["rdf","owl"]},"application/reginfo+xml":{"source":"iana","compressible":true,"extensions":["rif"]},"application/relax-ng-compact-syntax":{"source":"iana","extensions":["rnc"]},"application/remote-printing":{"source":"iana"},"application/reputon+json":{"source":"iana","compressible":true},"application/resource-lists+xml":{"source":"iana","compressible":true,"extensions":["rl"]},"application/resource-lists-diff+xml":{"source":"iana","compressible":true,"extensions":["rld"]},"application/rfc+xml":{"source":"iana","compressible":true},"application/riscos":{"source":"iana"},"application/rlmi+xml":{"source":"iana","compressible":true},"application/rls-services+xml":{"source":"iana","compressible":true,"extensions":["rs"]},"application/route-apd+xml":{"source":"iana","compressible":true,"extensions":["rapd"]},"application/route-s-tsid+xml":{"source":"iana","compressible":true,"extensions":["sls"]},"application/route-usd+xml":{"source":"iana","compressible":true,"extensions":["rusd"]},"application/rpki-ghostbusters":{"source":"iana","extensions":["gbr"]},"application/rpki-manifest":{"source":"iana","extensions":["mft"]},"application/rpki-publication":{"source":"iana"},"application/rpki-roa":{"source":"iana","extensions":["roa"]},"application/rpki-updown":{"source":"iana"},"application/rsd+xml":{"source":"apache","compressible":true,"extensions":["rsd"]},"application/rss+xml":{"source":"apache","compressible":true,"extensions":["rss"]},"application/rtf":{"source":"iana","compressible":true,"extensions":["rtf"]},"application/rtploopback":{"source":"iana"},"application/rtx":{"source":"iana"},"application/samlassertion+xml":{"source":"iana","compressible":true},"application/samlmetadata+xml":{"source":"iana","compressible":true},"application/sarif+json":{"source":"iana","compressible":true},"application/sarif-external-properties+json":{"source":"iana","compressible":true},"application/sbe":{"source":"iana"},"application/sbml+xml":{"source":"iana","compressible":true,"extensions":["sbml"]},"application/scaip+xml":{"source":"iana","compressible":true},"application/scim+json":{"source":"iana","compressible":true},"application/scvp-cv-request":{"source":"iana","extensions":["scq"]},"application/scvp-cv-response":{"source":"iana","extensions":["scs"]},"application/scvp-vp-request":{"source":"iana","extensions":["spq"]},"application/scvp-vp-response":{"source":"iana","extensions":["spp"]},"application/sdp":{"source":"iana","extensions":["sdp"]},"application/secevent+jwt":{"source":"iana"},"application/senml+cbor":{"source":"iana"},"application/senml+json":{"source":"iana","compressible":true},"application/senml+xml":{"source":"iana","compressible":true,"extensions":["senmlx"]},"application/senml-etch+cbor":{"source":"iana"},"application/senml-etch+json":{"source":"iana","compressible":true},"application/senml-exi":{"source":"iana"},"application/sensml+cbor":{"source":"iana"},"application/sensml+json":{"source":"iana","compressible":true},"application/sensml+xml":{"source":"iana","compressible":true,"extensions":["sensmlx"]},"application/sensml-exi":{"source":"iana"},"application/sep+xml":{"source":"iana","compressible":true},"application/sep-exi":{"source":"iana"},"application/session-info":{"source":"iana"},"application/set-payment":{"source":"iana"},"application/set-payment-initiation":{"source":"iana","extensions":["setpay"]},"application/set-registration":{"source":"iana"},"application/set-registration-initiation":{"source":"iana","extensions":["setreg"]},"application/sgml":{"source":"iana"},"application/sgml-open-catalog":{"source":"iana"},"application/shf+xml":{"source":"iana","compressible":true,"extensions":["shf"]},"application/sieve":{"source":"iana","extensions":["siv","sieve"]},"application/simple-filter+xml":{"source":"iana","compressible":true},"application/simple-message-summary":{"source":"iana"},"application/simplesymbolcontainer":{"source":"iana"},"application/sipc":{"source":"iana"},"application/slate":{"source":"iana"},"application/smil":{"source":"iana"},"application/smil+xml":{"source":"iana","compressible":true,"extensions":["smi","smil"]},"application/smpte336m":{"source":"iana"},"application/soap+fastinfoset":{"source":"iana"},"application/soap+xml":{"source":"iana","compressible":true},"application/sparql-query":{"source":"iana","extensions":["rq"]},"application/sparql-results+xml":{"source":"iana","compressible":true,"extensions":["srx"]},"application/spdx+json":{"source":"iana","compressible":true},"application/spirits-event+xml":{"source":"iana","compressible":true},"application/sql":{"source":"iana"},"application/srgs":{"source":"iana","extensions":["gram"]},"application/srgs+xml":{"source":"iana","compressible":true,"extensions":["grxml"]},"application/sru+xml":{"source":"iana","compressible":true,"extensions":["sru"]},"application/ssdl+xml":{"source":"apache","compressible":true,"extensions":["ssdl"]},"application/ssml+xml":{"source":"iana","compressible":true,"extensions":["ssml"]},"application/stix+json":{"source":"iana","compressible":true},"application/swid+xml":{"source":"iana","compressible":true,"extensions":["swidtag"]},"application/tamp-apex-update":{"source":"iana"},"application/tamp-apex-update-confirm":{"source":"iana"},"application/tamp-community-update":{"source":"iana"},"application/tamp-community-update-confirm":{"source":"iana"},"application/tamp-error":{"source":"iana"},"application/tamp-sequence-adjust":{"source":"iana"},"application/tamp-sequence-adjust-confirm":{"source":"iana"},"application/tamp-status-query":{"source":"iana"},"application/tamp-status-response":{"source":"iana"},"application/tamp-update":{"source":"iana"},"application/tamp-update-confirm":{"source":"iana"},"application/tar":{"compressible":true},"application/taxii+json":{"source":"iana","compressible":true},"application/td+json":{"source":"iana","compressible":true},"application/tei+xml":{"source":"iana","compressible":true,"extensions":["tei","teicorpus"]},"application/tetra_isi":{"source":"iana"},"application/thraud+xml":{"source":"iana","compressible":true,"extensions":["tfi"]},"application/timestamp-query":{"source":"iana"},"application/timestamp-reply":{"source":"iana"},"application/timestamped-data":{"source":"iana","extensions":["tsd"]},"application/tlsrpt+gzip":{"source":"iana"},"application/tlsrpt+json":{"source":"iana","compressible":true},"application/tnauthlist":{"source":"iana"},"application/token-introspection+jwt":{"source":"iana"},"application/toml":{"compressible":true,"extensions":["toml"]},"application/trickle-ice-sdpfrag":{"source":"iana"},"application/trig":{"source":"iana","extensions":["trig"]},"application/ttml+xml":{"source":"iana","compressible":true,"extensions":["ttml"]},"application/tve-trigger":{"source":"iana"},"application/tzif":{"source":"iana"},"application/tzif-leap":{"source":"iana"},"application/ubjson":{"compressible":false,"extensions":["ubj"]},"application/ulpfec":{"source":"iana"},"application/urc-grpsheet+xml":{"source":"iana","compressible":true},"application/urc-ressheet+xml":{"source":"iana","compressible":true,"extensions":["rsheet"]},"application/urc-targetdesc+xml":{"source":"iana","compressible":true,"extensions":["td"]},"application/urc-uisocketdesc+xml":{"source":"iana","compressible":true},"application/vcard+json":{"source":"iana","compressible":true},"application/vcard+xml":{"source":"iana","compressible":true},"application/vemmi":{"source":"iana"},"application/vividence.scriptfile":{"source":"apache"},"application/vnd.1000minds.decision-model+xml":{"source":"iana","compressible":true,"extensions":["1km"]},"application/vnd.3gpp-prose+xml":{"source":"iana","compressible":true},"application/vnd.3gpp-prose-pc3ch+xml":{"source":"iana","compressible":true},"application/vnd.3gpp-v2x-local-service-information":{"source":"iana"},"application/vnd.3gpp.5gnas":{"source":"iana"},"application/vnd.3gpp.access-transfer-events+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.bsf+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.gmop+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.gtpc":{"source":"iana"},"application/vnd.3gpp.interworking-data":{"source":"iana"},"application/vnd.3gpp.lpp":{"source":"iana"},"application/vnd.3gpp.mc-signalling-ear":{"source":"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-payload":{"source":"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-signalling":{"source":"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-floor-request+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-location-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-signed+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-ue-init-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-location-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-transmission-request+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mid-call+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.ngap":{"source":"iana"},"application/vnd.3gpp.pfcp":{"source":"iana"},"application/vnd.3gpp.pic-bw-large":{"source":"iana","extensions":["plb"]},"application/vnd.3gpp.pic-bw-small":{"source":"iana","extensions":["psb"]},"application/vnd.3gpp.pic-bw-var":{"source":"iana","extensions":["pvb"]},"application/vnd.3gpp.s1ap":{"source":"iana"},"application/vnd.3gpp.sms":{"source":"iana"},"application/vnd.3gpp.sms+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.srvcc-ext+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.srvcc-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.state-and-event-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.ussd+xml":{"source":"iana","compressible":true},"application/vnd.3gpp2.bcmcsinfo+xml":{"source":"iana","compressible":true},"application/vnd.3gpp2.sms":{"source":"iana"},"application/vnd.3gpp2.tcap":{"source":"iana","extensions":["tcap"]},"application/vnd.3lightssoftware.imagescal":{"source":"iana"},"application/vnd.3m.post-it-notes":{"source":"iana","extensions":["pwn"]},"application/vnd.accpac.simply.aso":{"source":"iana","extensions":["aso"]},"application/vnd.accpac.simply.imp":{"source":"iana","extensions":["imp"]},"application/vnd.acucobol":{"source":"iana","extensions":["acu"]},"application/vnd.acucorp":{"source":"iana","extensions":["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{"source":"apache","compressible":false,"extensions":["air"]},"application/vnd.adobe.flash.movie":{"source":"iana"},"application/vnd.adobe.formscentral.fcdt":{"source":"iana","extensions":["fcdt"]},"application/vnd.adobe.fxp":{"source":"iana","extensions":["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{"source":"iana"},"application/vnd.adobe.xdp+xml":{"source":"iana","compressible":true,"extensions":["xdp"]},"application/vnd.adobe.xfdf":{"source":"iana","extensions":["xfdf"]},"application/vnd.aether.imp":{"source":"iana"},"application/vnd.afpc.afplinedata":{"source":"iana"},"application/vnd.afpc.afplinedata-pagedef":{"source":"iana"},"application/vnd.afpc.cmoca-cmresource":{"source":"iana"},"application/vnd.afpc.foca-charset":{"source":"iana"},"application/vnd.afpc.foca-codedfont":{"source":"iana"},"application/vnd.afpc.foca-codepage":{"source":"iana"},"application/vnd.afpc.modca":{"source":"iana"},"application/vnd.afpc.modca-cmtable":{"source":"iana"},"application/vnd.afpc.modca-formdef":{"source":"iana"},"application/vnd.afpc.modca-mediummap":{"source":"iana"},"application/vnd.afpc.modca-objectcontainer":{"source":"iana"},"application/vnd.afpc.modca-overlay":{"source":"iana"},"application/vnd.afpc.modca-pagesegment":{"source":"iana"},"application/vnd.age":{"source":"iana","extensions":["age"]},"application/vnd.ah-barcode":{"source":"iana"},"application/vnd.ahead.space":{"source":"iana","extensions":["ahead"]},"application/vnd.airzip.filesecure.azf":{"source":"iana","extensions":["azf"]},"application/vnd.airzip.filesecure.azs":{"source":"iana","extensions":["azs"]},"application/vnd.amadeus+json":{"source":"iana","compressible":true},"application/vnd.amazon.ebook":{"source":"apache","extensions":["azw"]},"application/vnd.amazon.mobi8-ebook":{"source":"iana"},"application/vnd.americandynamics.acc":{"source":"iana","extensions":["acc"]},"application/vnd.amiga.ami":{"source":"iana","extensions":["ami"]},"application/vnd.amundsen.maze+xml":{"source":"iana","compressible":true},"application/vnd.android.ota":{"source":"iana"},"application/vnd.android.package-archive":{"source":"apache","compressible":false,"extensions":["apk"]},"application/vnd.anki":{"source":"iana"},"application/vnd.anser-web-certificate-issue-initiation":{"source":"iana","extensions":["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{"source":"apache","extensions":["fti"]},"application/vnd.antix.game-component":{"source":"iana","extensions":["atx"]},"application/vnd.apache.arrow.file":{"source":"iana"},"application/vnd.apache.arrow.stream":{"source":"iana"},"application/vnd.apache.thrift.binary":{"source":"iana"},"application/vnd.apache.thrift.compact":{"source":"iana"},"application/vnd.apache.thrift.json":{"source":"iana"},"application/vnd.api+json":{"source":"iana","compressible":true},"application/vnd.aplextor.warrp+json":{"source":"iana","compressible":true},"application/vnd.apothekende.reservation+json":{"source":"iana","compressible":true},"application/vnd.apple.installer+xml":{"source":"iana","compressible":true,"extensions":["mpkg"]},"application/vnd.apple.keynote":{"source":"iana","extensions":["key"]},"application/vnd.apple.mpegurl":{"source":"iana","extensions":["m3u8"]},"application/vnd.apple.numbers":{"source":"iana","extensions":["numbers"]},"application/vnd.apple.pages":{"source":"iana","extensions":["pages"]},"application/vnd.apple.pkpass":{"compressible":false,"extensions":["pkpass"]},"application/vnd.arastra.swi":{"source":"iana"},"application/vnd.aristanetworks.swi":{"source":"iana","extensions":["swi"]},"application/vnd.artisan+json":{"source":"iana","compressible":true},"application/vnd.artsquare":{"source":"iana"},"application/vnd.astraea-software.iota":{"source":"iana","extensions":["iota"]},"application/vnd.audiograph":{"source":"iana","extensions":["aep"]},"application/vnd.autopackage":{"source":"iana"},"application/vnd.avalon+json":{"source":"iana","compressible":true},"application/vnd.avistar+xml":{"source":"iana","compressible":true},"application/vnd.balsamiq.bmml+xml":{"source":"iana","compressible":true,"extensions":["bmml"]},"application/vnd.balsamiq.bmpr":{"source":"iana"},"application/vnd.banana-accounting":{"source":"iana"},"application/vnd.bbf.usp.error":{"source":"iana"},"application/vnd.bbf.usp.msg":{"source":"iana"},"application/vnd.bbf.usp.msg+json":{"source":"iana","compressible":true},"application/vnd.bekitzur-stech+json":{"source":"iana","compressible":true},"application/vnd.bint.med-content":{"source":"iana"},"application/vnd.biopax.rdf+xml":{"source":"iana","compressible":true},"application/vnd.blink-idb-value-wrapper":{"source":"iana"},"application/vnd.blueice.multipass":{"source":"iana","extensions":["mpm"]},"application/vnd.bluetooth.ep.oob":{"source":"iana"},"application/vnd.bluetooth.le.oob":{"source":"iana"},"application/vnd.bmi":{"source":"iana","extensions":["bmi"]},"application/vnd.bpf":{"source":"iana"},"application/vnd.bpf3":{"source":"iana"},"application/vnd.businessobjects":{"source":"iana","extensions":["rep"]},"application/vnd.byu.uapi+json":{"source":"iana","compressible":true},"application/vnd.cab-jscript":{"source":"iana"},"application/vnd.canon-cpdl":{"source":"iana"},"application/vnd.canon-lips":{"source":"iana"},"application/vnd.capasystems-pg+json":{"source":"iana","compressible":true},"application/vnd.cendio.thinlinc.clientconf":{"source":"iana"},"application/vnd.century-systems.tcp_stream":{"source":"iana"},"application/vnd.chemdraw+xml":{"source":"iana","compressible":true,"extensions":["cdxml"]},"application/vnd.chess-pgn":{"source":"iana"},"application/vnd.chipnuts.karaoke-mmd":{"source":"iana","extensions":["mmd"]},"application/vnd.ciedi":{"source":"iana"},"application/vnd.cinderella":{"source":"iana","extensions":["cdy"]},"application/vnd.cirpack.isdn-ext":{"source":"iana"},"application/vnd.citationstyles.style+xml":{"source":"iana","compressible":true,"extensions":["csl"]},"application/vnd.claymore":{"source":"iana","extensions":["cla"]},"application/vnd.cloanto.rp9":{"source":"iana","extensions":["rp9"]},"application/vnd.clonk.c4group":{"source":"iana","extensions":["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{"source":"iana","extensions":["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{"source":"iana","extensions":["c11amz"]},"application/vnd.coffeescript":{"source":"iana"},"application/vnd.collabio.xodocuments.document":{"source":"iana"},"application/vnd.collabio.xodocuments.document-template":{"source":"iana"},"application/vnd.collabio.xodocuments.presentation":{"source":"iana"},"application/vnd.collabio.xodocuments.presentation-template":{"source":"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{"source":"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{"source":"iana"},"application/vnd.collection+json":{"source":"iana","compressible":true},"application/vnd.collection.doc+json":{"source":"iana","compressible":true},"application/vnd.collection.next+json":{"source":"iana","compressible":true},"application/vnd.comicbook+zip":{"source":"iana","compressible":false},"application/vnd.comicbook-rar":{"source":"iana"},"application/vnd.commerce-battelle":{"source":"iana"},"application/vnd.commonspace":{"source":"iana","extensions":["csp"]},"application/vnd.contact.cmsg":{"source":"iana","extensions":["cdbcmsg"]},"application/vnd.coreos.ignition+json":{"source":"iana","compressible":true},"application/vnd.cosmocaller":{"source":"iana","extensions":["cmc"]},"application/vnd.crick.clicker":{"source":"iana","extensions":["clkx"]},"application/vnd.crick.clicker.keyboard":{"source":"iana","extensions":["clkk"]},"application/vnd.crick.clicker.palette":{"source":"iana","extensions":["clkp"]},"application/vnd.crick.clicker.template":{"source":"iana","extensions":["clkt"]},"application/vnd.crick.clicker.wordbank":{"source":"iana","extensions":["clkw"]},"application/vnd.criticaltools.wbs+xml":{"source":"iana","compressible":true,"extensions":["wbs"]},"application/vnd.cryptii.pipe+json":{"source":"iana","compressible":true},"application/vnd.crypto-shade-file":{"source":"iana"},"application/vnd.cryptomator.encrypted":{"source":"iana"},"application/vnd.cryptomator.vault":{"source":"iana"},"application/vnd.ctc-posml":{"source":"iana","extensions":["pml"]},"application/vnd.ctct.ws+xml":{"source":"iana","compressible":true},"application/vnd.cups-pdf":{"source":"iana"},"application/vnd.cups-postscript":{"source":"iana"},"application/vnd.cups-ppd":{"source":"iana","extensions":["ppd"]},"application/vnd.cups-raster":{"source":"iana"},"application/vnd.cups-raw":{"source":"iana"},"application/vnd.curl":{"source":"iana"},"application/vnd.curl.car":{"source":"apache","extensions":["car"]},"application/vnd.curl.pcurl":{"source":"apache","extensions":["pcurl"]},"application/vnd.cyan.dean.root+xml":{"source":"iana","compressible":true},"application/vnd.cybank":{"source":"iana"},"application/vnd.cyclonedx+json":{"source":"iana","compressible":true},"application/vnd.cyclonedx+xml":{"source":"iana","compressible":true},"application/vnd.d2l.coursepackage1p0+zip":{"source":"iana","compressible":false},"application/vnd.d3m-dataset":{"source":"iana"},"application/vnd.d3m-problem":{"source":"iana"},"application/vnd.dart":{"source":"iana","compressible":true,"extensions":["dart"]},"application/vnd.data-vision.rdz":{"source":"iana","extensions":["rdz"]},"application/vnd.datapackage+json":{"source":"iana","compressible":true},"application/vnd.dataresource+json":{"source":"iana","compressible":true},"application/vnd.dbf":{"source":"iana","extensions":["dbf"]},"application/vnd.debian.binary-package":{"source":"iana"},"application/vnd.dece.data":{"source":"iana","extensions":["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{"source":"iana","compressible":true,"extensions":["uvt","uvvt"]},"application/vnd.dece.unspecified":{"source":"iana","extensions":["uvx","uvvx"]},"application/vnd.dece.zip":{"source":"iana","extensions":["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{"source":"iana","extensions":["fe_launch"]},"application/vnd.desmume.movie":{"source":"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{"source":"iana"},"application/vnd.dm.delegation+xml":{"source":"iana","compressible":true},"application/vnd.dna":{"source":"iana","extensions":["dna"]},"application/vnd.document+json":{"source":"iana","compressible":true},"application/vnd.dolby.mlp":{"source":"apache","extensions":["mlp"]},"application/vnd.dolby.mobile.1":{"source":"iana"},"application/vnd.dolby.mobile.2":{"source":"iana"},"application/vnd.doremir.scorecloud-binary-document":{"source":"iana"},"application/vnd.dpgraph":{"source":"iana","extensions":["dpg"]},"application/vnd.dreamfactory":{"source":"iana","extensions":["dfac"]},"application/vnd.drive+json":{"source":"iana","compressible":true},"application/vnd.ds-keypoint":{"source":"apache","extensions":["kpxx"]},"application/vnd.dtg.local":{"source":"iana"},"application/vnd.dtg.local.flash":{"source":"iana"},"application/vnd.dtg.local.html":{"source":"iana"},"application/vnd.dvb.ait":{"source":"iana","extensions":["ait"]},"application/vnd.dvb.dvbisl+xml":{"source":"iana","compressible":true},"application/vnd.dvb.dvbj":{"source":"iana"},"application/vnd.dvb.esgcontainer":{"source":"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{"source":"iana"},"application/vnd.dvb.ipdcesgaccess":{"source":"iana"},"application/vnd.dvb.ipdcesgaccess2":{"source":"iana"},"application/vnd.dvb.ipdcesgpdd":{"source":"iana"},"application/vnd.dvb.ipdcroaming":{"source":"iana"},"application/vnd.dvb.iptv.alfec-base":{"source":"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{"source":"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-container+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-generic+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-msglist+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-registration-request+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-registration-response+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-init+xml":{"source":"iana","compressible":true},"application/vnd.dvb.pfr":{"source":"iana"},"application/vnd.dvb.service":{"source":"iana","extensions":["svc"]},"application/vnd.dxr":{"source":"iana"},"application/vnd.dynageo":{"source":"iana","extensions":["geo"]},"application/vnd.dzr":{"source":"iana"},"application/vnd.easykaraoke.cdgdownload":{"source":"iana"},"application/vnd.ecdis-update":{"source":"iana"},"application/vnd.ecip.rlp":{"source":"iana"},"application/vnd.eclipse.ditto+json":{"source":"iana","compressible":true},"application/vnd.ecowin.chart":{"source":"iana","extensions":["mag"]},"application/vnd.ecowin.filerequest":{"source":"iana"},"application/vnd.ecowin.fileupdate":{"source":"iana"},"application/vnd.ecowin.series":{"source":"iana"},"application/vnd.ecowin.seriesrequest":{"source":"iana"},"application/vnd.ecowin.seriesupdate":{"source":"iana"},"application/vnd.efi.img":{"source":"iana"},"application/vnd.efi.iso":{"source":"iana"},"application/vnd.emclient.accessrequest+xml":{"source":"iana","compressible":true},"application/vnd.enliven":{"source":"iana","extensions":["nml"]},"application/vnd.enphase.envoy":{"source":"iana"},"application/vnd.eprints.data+xml":{"source":"iana","compressible":true},"application/vnd.epson.esf":{"source":"iana","extensions":["esf"]},"application/vnd.epson.msf":{"source":"iana","extensions":["msf"]},"application/vnd.epson.quickanime":{"source":"iana","extensions":["qam"]},"application/vnd.epson.salt":{"source":"iana","extensions":["slt"]},"application/vnd.epson.ssf":{"source":"iana","extensions":["ssf"]},"application/vnd.ericsson.quickcall":{"source":"iana"},"application/vnd.espass-espass+zip":{"source":"iana","compressible":false},"application/vnd.eszigno3+xml":{"source":"iana","compressible":true,"extensions":["es3","et3"]},"application/vnd.etsi.aoc+xml":{"source":"iana","compressible":true},"application/vnd.etsi.asic-e+zip":{"source":"iana","compressible":false},"application/vnd.etsi.asic-s+zip":{"source":"iana","compressible":false},"application/vnd.etsi.cug+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvcommand+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvdiscovery+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvprofile+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-bc+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-cod+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-npvr+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvservice+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsync+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvueprofile+xml":{"source":"iana","compressible":true},"application/vnd.etsi.mcid+xml":{"source":"iana","compressible":true},"application/vnd.etsi.mheg5":{"source":"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{"source":"iana","compressible":true},"application/vnd.etsi.pstn+xml":{"source":"iana","compressible":true},"application/vnd.etsi.sci+xml":{"source":"iana","compressible":true},"application/vnd.etsi.simservs+xml":{"source":"iana","compressible":true},"application/vnd.etsi.timestamp-token":{"source":"iana"},"application/vnd.etsi.tsl+xml":{"source":"iana","compressible":true},"application/vnd.etsi.tsl.der":{"source":"iana"},"application/vnd.eu.kasparian.car+json":{"source":"iana","compressible":true},"application/vnd.eudora.data":{"source":"iana"},"application/vnd.evolv.ecig.profile":{"source":"iana"},"application/vnd.evolv.ecig.settings":{"source":"iana"},"application/vnd.evolv.ecig.theme":{"source":"iana"},"application/vnd.exstream-empower+zip":{"source":"iana","compressible":false},"application/vnd.exstream-package":{"source":"iana"},"application/vnd.ezpix-album":{"source":"iana","extensions":["ez2"]},"application/vnd.ezpix-package":{"source":"iana","extensions":["ez3"]},"application/vnd.f-secure.mobile":{"source":"iana"},"application/vnd.familysearch.gedcom+zip":{"source":"iana","compressible":false},"application/vnd.fastcopy-disk-image":{"source":"iana"},"application/vnd.fdf":{"source":"iana","extensions":["fdf"]},"application/vnd.fdsn.mseed":{"source":"iana","extensions":["mseed"]},"application/vnd.fdsn.seed":{"source":"iana","extensions":["seed","dataless"]},"application/vnd.ffsns":{"source":"iana"},"application/vnd.ficlab.flb+zip":{"source":"iana","compressible":false},"application/vnd.filmit.zfc":{"source":"iana"},"application/vnd.fints":{"source":"iana"},"application/vnd.firemonkeys.cloudcell":{"source":"iana"},"application/vnd.flographit":{"source":"iana","extensions":["gph"]},"application/vnd.fluxtime.clip":{"source":"iana","extensions":["ftc"]},"application/vnd.font-fontforge-sfd":{"source":"iana"},"application/vnd.framemaker":{"source":"iana","extensions":["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{"source":"iana","extensions":["fnc"]},"application/vnd.frogans.ltf":{"source":"iana","extensions":["ltf"]},"application/vnd.fsc.weblaunch":{"source":"iana","extensions":["fsc"]},"application/vnd.fujifilm.fb.docuworks":{"source":"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{"source":"iana"},"application/vnd.fujifilm.fb.docuworks.container":{"source":"iana"},"application/vnd.fujifilm.fb.jfi+xml":{"source":"iana","compressible":true},"application/vnd.fujitsu.oasys":{"source":"iana","extensions":["oas"]},"application/vnd.fujitsu.oasys2":{"source":"iana","extensions":["oa2"]},"application/vnd.fujitsu.oasys3":{"source":"iana","extensions":["oa3"]},"application/vnd.fujitsu.oasysgp":{"source":"iana","extensions":["fg5"]},"application/vnd.fujitsu.oasysprs":{"source":"iana","extensions":["bh2"]},"application/vnd.fujixerox.art-ex":{"source":"iana"},"application/vnd.fujixerox.art4":{"source":"iana"},"application/vnd.fujixerox.ddd":{"source":"iana","extensions":["ddd"]},"application/vnd.fujixerox.docuworks":{"source":"iana","extensions":["xdw"]},"application/vnd.fujixerox.docuworks.binder":{"source":"iana","extensions":["xbd"]},"application/vnd.fujixerox.docuworks.container":{"source":"iana"},"application/vnd.fujixerox.hbpl":{"source":"iana"},"application/vnd.fut-misnet":{"source":"iana"},"application/vnd.futoin+cbor":{"source":"iana"},"application/vnd.futoin+json":{"source":"iana","compressible":true},"application/vnd.fuzzysheet":{"source":"iana","extensions":["fzs"]},"application/vnd.genomatix.tuxedo":{"source":"iana","extensions":["txd"]},"application/vnd.gentics.grd+json":{"source":"iana","compressible":true},"application/vnd.geo+json":{"source":"iana","compressible":true},"application/vnd.geocube+xml":{"source":"iana","compressible":true},"application/vnd.geogebra.file":{"source":"iana","extensions":["ggb"]},"application/vnd.geogebra.slides":{"source":"iana"},"application/vnd.geogebra.tool":{"source":"iana","extensions":["ggt"]},"application/vnd.geometry-explorer":{"source":"iana","extensions":["gex","gre"]},"application/vnd.geonext":{"source":"iana","extensions":["gxt"]},"application/vnd.geoplan":{"source":"iana","extensions":["g2w"]},"application/vnd.geospace":{"source":"iana","extensions":["g3w"]},"application/vnd.gerber":{"source":"iana"},"application/vnd.globalplatform.card-content-mgt":{"source":"iana"},"application/vnd.globalplatform.card-content-mgt-response":{"source":"iana"},"application/vnd.gmx":{"source":"iana","extensions":["gmx"]},"application/vnd.google-apps.document":{"compressible":false,"extensions":["gdoc"]},"application/vnd.google-apps.presentation":{"compressible":false,"extensions":["gslides"]},"application/vnd.google-apps.spreadsheet":{"compressible":false,"extensions":["gsheet"]},"application/vnd.google-earth.kml+xml":{"source":"iana","compressible":true,"extensions":["kml"]},"application/vnd.google-earth.kmz":{"source":"iana","compressible":false,"extensions":["kmz"]},"application/vnd.gov.sk.e-form+xml":{"source":"iana","compressible":true},"application/vnd.gov.sk.e-form+zip":{"source":"iana","compressible":false},"application/vnd.gov.sk.xmldatacontainer+xml":{"source":"iana","compressible":true},"application/vnd.grafeq":{"source":"iana","extensions":["gqf","gqs"]},"application/vnd.gridmp":{"source":"iana"},"application/vnd.groove-account":{"source":"iana","extensions":["gac"]},"application/vnd.groove-help":{"source":"iana","extensions":["ghf"]},"application/vnd.groove-identity-message":{"source":"iana","extensions":["gim"]},"application/vnd.groove-injector":{"source":"iana","extensions":["grv"]},"application/vnd.groove-tool-message":{"source":"iana","extensions":["gtm"]},"application/vnd.groove-tool-template":{"source":"iana","extensions":["tpl"]},"application/vnd.groove-vcard":{"source":"iana","extensions":["vcg"]},"application/vnd.hal+json":{"source":"iana","compressible":true},"application/vnd.hal+xml":{"source":"iana","compressible":true,"extensions":["hal"]},"application/vnd.handheld-entertainment+xml":{"source":"iana","compressible":true,"extensions":["zmm"]},"application/vnd.hbci":{"source":"iana","extensions":["hbci"]},"application/vnd.hc+json":{"source":"iana","compressible":true},"application/vnd.hcl-bireports":{"source":"iana"},"application/vnd.hdt":{"source":"iana"},"application/vnd.heroku+json":{"source":"iana","compressible":true},"application/vnd.hhe.lesson-player":{"source":"iana","extensions":["les"]},"application/vnd.hl7cda+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.hl7v2+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.hp-hpgl":{"source":"iana","extensions":["hpgl"]},"application/vnd.hp-hpid":{"source":"iana","extensions":["hpid"]},"application/vnd.hp-hps":{"source":"iana","extensions":["hps"]},"application/vnd.hp-jlyt":{"source":"iana","extensions":["jlt"]},"application/vnd.hp-pcl":{"source":"iana","extensions":["pcl"]},"application/vnd.hp-pclxl":{"source":"iana","extensions":["pclxl"]},"application/vnd.httphone":{"source":"iana"},"application/vnd.hydrostatix.sof-data":{"source":"iana","extensions":["sfd-hdstx"]},"application/vnd.hyper+json":{"source":"iana","compressible":true},"application/vnd.hyper-item+json":{"source":"iana","compressible":true},"application/vnd.hyperdrive+json":{"source":"iana","compressible":true},"application/vnd.hzn-3d-crossword":{"source":"iana"},"application/vnd.ibm.afplinedata":{"source":"iana"},"application/vnd.ibm.electronic-media":{"source":"iana"},"application/vnd.ibm.minipay":{"source":"iana","extensions":["mpy"]},"application/vnd.ibm.modcap":{"source":"iana","extensions":["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{"source":"iana","extensions":["irm"]},"application/vnd.ibm.secure-container":{"source":"iana","extensions":["sc"]},"application/vnd.iccprofile":{"source":"iana","extensions":["icc","icm"]},"application/vnd.ieee.1905":{"source":"iana"},"application/vnd.igloader":{"source":"iana","extensions":["igl"]},"application/vnd.imagemeter.folder+zip":{"source":"iana","compressible":false},"application/vnd.imagemeter.image+zip":{"source":"iana","compressible":false},"application/vnd.immervision-ivp":{"source":"iana","extensions":["ivp"]},"application/vnd.immervision-ivu":{"source":"iana","extensions":["ivu"]},"application/vnd.ims.imsccv1p1":{"source":"iana"},"application/vnd.ims.imsccv1p2":{"source":"iana"},"application/vnd.ims.imsccv1p3":{"source":"iana"},"application/vnd.ims.lis.v2.result+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolproxy+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolproxy.id+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolsettings+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolsettings.simple+json":{"source":"iana","compressible":true},"application/vnd.informedcontrol.rms+xml":{"source":"iana","compressible":true},"application/vnd.informix-visionary":{"source":"iana"},"application/vnd.infotech.project":{"source":"iana"},"application/vnd.infotech.project+xml":{"source":"iana","compressible":true},"application/vnd.innopath.wamp.notification":{"source":"iana"},"application/vnd.insors.igm":{"source":"iana","extensions":["igm"]},"application/vnd.intercon.formnet":{"source":"iana","extensions":["xpw","xpx"]},"application/vnd.intergeo":{"source":"iana","extensions":["i2g"]},"application/vnd.intertrust.digibox":{"source":"iana"},"application/vnd.intertrust.nncp":{"source":"iana"},"application/vnd.intu.qbo":{"source":"iana","extensions":["qbo"]},"application/vnd.intu.qfx":{"source":"iana","extensions":["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.conceptitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.knowledgeitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.newsitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.newsmessage+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.packageitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.planningitem+xml":{"source":"iana","compressible":true},"application/vnd.ipunplugged.rcprofile":{"source":"iana","extensions":["rcprofile"]},"application/vnd.irepository.package+xml":{"source":"iana","compressible":true,"extensions":["irp"]},"application/vnd.is-xpr":{"source":"iana","extensions":["xpr"]},"application/vnd.isac.fcs":{"source":"iana","extensions":["fcs"]},"application/vnd.iso11783-10+zip":{"source":"iana","compressible":false},"application/vnd.jam":{"source":"iana","extensions":["jam"]},"application/vnd.japannet-directory-service":{"source":"iana"},"application/vnd.japannet-jpnstore-wakeup":{"source":"iana"},"application/vnd.japannet-payment-wakeup":{"source":"iana"},"application/vnd.japannet-registration":{"source":"iana"},"application/vnd.japannet-registration-wakeup":{"source":"iana"},"application/vnd.japannet-setstore-wakeup":{"source":"iana"},"application/vnd.japannet-verification":{"source":"iana"},"application/vnd.japannet-verification-wakeup":{"source":"iana"},"application/vnd.jcp.javame.midlet-rms":{"source":"iana","extensions":["rms"]},"application/vnd.jisp":{"source":"iana","extensions":["jisp"]},"application/vnd.joost.joda-archive":{"source":"iana","extensions":["joda"]},"application/vnd.jsk.isdn-ngn":{"source":"iana"},"application/vnd.kahootz":{"source":"iana","extensions":["ktz","ktr"]},"application/vnd.kde.karbon":{"source":"iana","extensions":["karbon"]},"application/vnd.kde.kchart":{"source":"iana","extensions":["chrt"]},"application/vnd.kde.kformula":{"source":"iana","extensions":["kfo"]},"application/vnd.kde.kivio":{"source":"iana","extensions":["flw"]},"application/vnd.kde.kontour":{"source":"iana","extensions":["kon"]},"application/vnd.kde.kpresenter":{"source":"iana","extensions":["kpr","kpt"]},"application/vnd.kde.kspread":{"source":"iana","extensions":["ksp"]},"application/vnd.kde.kword":{"source":"iana","extensions":["kwd","kwt"]},"application/vnd.kenameaapp":{"source":"iana","extensions":["htke"]},"application/vnd.kidspiration":{"source":"iana","extensions":["kia"]},"application/vnd.kinar":{"source":"iana","extensions":["kne","knp"]},"application/vnd.koan":{"source":"iana","extensions":["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{"source":"iana","extensions":["sse"]},"application/vnd.las":{"source":"iana"},"application/vnd.las.las+json":{"source":"iana","compressible":true},"application/vnd.las.las+xml":{"source":"iana","compressible":true,"extensions":["lasxml"]},"application/vnd.laszip":{"source":"iana"},"application/vnd.leap+json":{"source":"iana","compressible":true},"application/vnd.liberty-request+xml":{"source":"iana","compressible":true},"application/vnd.llamagraphics.life-balance.desktop":{"source":"iana","extensions":["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{"source":"iana","compressible":true,"extensions":["lbe"]},"application/vnd.logipipe.circuit+zip":{"source":"iana","compressible":false},"application/vnd.loom":{"source":"iana"},"application/vnd.lotus-1-2-3":{"source":"iana","extensions":["123"]},"application/vnd.lotus-approach":{"source":"iana","extensions":["apr"]},"application/vnd.lotus-freelance":{"source":"iana","extensions":["pre"]},"application/vnd.lotus-notes":{"source":"iana","extensions":["nsf"]},"application/vnd.lotus-organizer":{"source":"iana","extensions":["org"]},"application/vnd.lotus-screencam":{"source":"iana","extensions":["scm"]},"application/vnd.lotus-wordpro":{"source":"iana","extensions":["lwp"]},"application/vnd.macports.portpkg":{"source":"iana","extensions":["portpkg"]},"application/vnd.mapbox-vector-tile":{"source":"iana","extensions":["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.conftoken+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.license+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.mdcf":{"source":"iana"},"application/vnd.mason+json":{"source":"iana","compressible":true},"application/vnd.maxar.archive.3tz+zip":{"source":"iana","compressible":false},"application/vnd.maxmind.maxmind-db":{"source":"iana"},"application/vnd.mcd":{"source":"iana","extensions":["mcd"]},"application/vnd.medcalcdata":{"source":"iana","extensions":["mc1"]},"application/vnd.mediastation.cdkey":{"source":"iana","extensions":["cdkey"]},"application/vnd.meridian-slingshot":{"source":"iana"},"application/vnd.mfer":{"source":"iana","extensions":["mwf"]},"application/vnd.mfmp":{"source":"iana","extensions":["mfm"]},"application/vnd.micro+json":{"source":"iana","compressible":true},"application/vnd.micrografx.flo":{"source":"iana","extensions":["flo"]},"application/vnd.micrografx.igx":{"source":"iana","extensions":["igx"]},"application/vnd.microsoft.portable-executable":{"source":"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{"source":"iana"},"application/vnd.miele+json":{"source":"iana","compressible":true},"application/vnd.mif":{"source":"iana","extensions":["mif"]},"application/vnd.minisoft-hp3000-save":{"source":"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{"source":"iana"},"application/vnd.mobius.daf":{"source":"iana","extensions":["daf"]},"application/vnd.mobius.dis":{"source":"iana","extensions":["dis"]},"application/vnd.mobius.mbk":{"source":"iana","extensions":["mbk"]},"application/vnd.mobius.mqy":{"source":"iana","extensions":["mqy"]},"application/vnd.mobius.msl":{"source":"iana","extensions":["msl"]},"application/vnd.mobius.plc":{"source":"iana","extensions":["plc"]},"application/vnd.mobius.txf":{"source":"iana","extensions":["txf"]},"application/vnd.mophun.application":{"source":"iana","extensions":["mpn"]},"application/vnd.mophun.certificate":{"source":"iana","extensions":["mpc"]},"application/vnd.motorola.flexsuite":{"source":"iana"},"application/vnd.motorola.flexsuite.adsi":{"source":"iana"},"application/vnd.motorola.flexsuite.fis":{"source":"iana"},"application/vnd.motorola.flexsuite.gotap":{"source":"iana"},"application/vnd.motorola.flexsuite.kmr":{"source":"iana"},"application/vnd.motorola.flexsuite.ttc":{"source":"iana"},"application/vnd.motorola.flexsuite.wem":{"source":"iana"},"application/vnd.motorola.iprm":{"source":"iana"},"application/vnd.mozilla.xul+xml":{"source":"iana","compressible":true,"extensions":["xul"]},"application/vnd.ms-3mfdocument":{"source":"iana"},"application/vnd.ms-artgalry":{"source":"iana","extensions":["cil"]},"application/vnd.ms-asf":{"source":"iana"},"application/vnd.ms-cab-compressed":{"source":"iana","extensions":["cab"]},"application/vnd.ms-color.iccprofile":{"source":"apache"},"application/vnd.ms-excel":{"source":"iana","compressible":false,"extensions":["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{"source":"iana","extensions":["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{"source":"iana","extensions":["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{"source":"iana","extensions":["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{"source":"iana","extensions":["xltm"]},"application/vnd.ms-fontobject":{"source":"iana","compressible":true,"extensions":["eot"]},"application/vnd.ms-htmlhelp":{"source":"iana","extensions":["chm"]},"application/vnd.ms-ims":{"source":"iana","extensions":["ims"]},"application/vnd.ms-lrm":{"source":"iana","extensions":["lrm"]},"application/vnd.ms-office.activex+xml":{"source":"iana","compressible":true},"application/vnd.ms-officetheme":{"source":"iana","extensions":["thmx"]},"application/vnd.ms-opentype":{"source":"apache","compressible":true},"application/vnd.ms-outlook":{"compressible":false,"extensions":["msg"]},"application/vnd.ms-package.obfuscated-opentype":{"source":"apache"},"application/vnd.ms-pki.seccat":{"source":"apache","extensions":["cat"]},"application/vnd.ms-pki.stl":{"source":"apache","extensions":["stl"]},"application/vnd.ms-playready.initiator+xml":{"source":"iana","compressible":true},"application/vnd.ms-powerpoint":{"source":"iana","compressible":false,"extensions":["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{"source":"iana","extensions":["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{"source":"iana","extensions":["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{"source":"iana","extensions":["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{"source":"iana","extensions":["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{"source":"iana","extensions":["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{"source":"iana","compressible":true},"application/vnd.ms-printing.printticket+xml":{"source":"apache","compressible":true},"application/vnd.ms-printschematicket+xml":{"source":"iana","compressible":true},"application/vnd.ms-project":{"source":"iana","extensions":["mpp","mpt"]},"application/vnd.ms-tnef":{"source":"iana"},"application/vnd.ms-windows.devicepairing":{"source":"iana"},"application/vnd.ms-windows.nwprinting.oob":{"source":"iana"},"application/vnd.ms-windows.printerpairing":{"source":"iana"},"application/vnd.ms-windows.wsd.oob":{"source":"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{"source":"iana"},"application/vnd.ms-wmdrm.lic-resp":{"source":"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{"source":"iana"},"application/vnd.ms-wmdrm.meter-resp":{"source":"iana"},"application/vnd.ms-word.document.macroenabled.12":{"source":"iana","extensions":["docm"]},"application/vnd.ms-word.template.macroenabled.12":{"source":"iana","extensions":["dotm"]},"application/vnd.ms-works":{"source":"iana","extensions":["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{"source":"iana","extensions":["wpl"]},"application/vnd.ms-xpsdocument":{"source":"iana","compressible":false,"extensions":["xps"]},"application/vnd.msa-disk-image":{"source":"iana"},"application/vnd.mseq":{"source":"iana","extensions":["mseq"]},"application/vnd.msign":{"source":"iana"},"application/vnd.multiad.creator":{"source":"iana"},"application/vnd.multiad.creator.cif":{"source":"iana"},"application/vnd.music-niff":{"source":"iana"},"application/vnd.musician":{"source":"iana","extensions":["mus"]},"application/vnd.muvee.style":{"source":"iana","extensions":["msty"]},"application/vnd.mynfc":{"source":"iana","extensions":["taglet"]},"application/vnd.nacamar.ybrid+json":{"source":"iana","compressible":true},"application/vnd.ncd.control":{"source":"iana"},"application/vnd.ncd.reference":{"source":"iana"},"application/vnd.nearst.inv+json":{"source":"iana","compressible":true},"application/vnd.nebumind.line":{"source":"iana"},"application/vnd.nervana":{"source":"iana"},"application/vnd.netfpx":{"source":"iana"},"application/vnd.neurolanguage.nlu":{"source":"iana","extensions":["nlu"]},"application/vnd.nimn":{"source":"iana"},"application/vnd.nintendo.nitro.rom":{"source":"iana"},"application/vnd.nintendo.snes.rom":{"source":"iana"},"application/vnd.nitf":{"source":"iana","extensions":["ntf","nitf"]},"application/vnd.noblenet-directory":{"source":"iana","extensions":["nnd"]},"application/vnd.noblenet-sealer":{"source":"iana","extensions":["nns"]},"application/vnd.noblenet-web":{"source":"iana","extensions":["nnw"]},"application/vnd.nokia.catalogs":{"source":"iana"},"application/vnd.nokia.conml+wbxml":{"source":"iana"},"application/vnd.nokia.conml+xml":{"source":"iana","compressible":true},"application/vnd.nokia.iptv.config+xml":{"source":"iana","compressible":true},"application/vnd.nokia.isds-radio-presets":{"source":"iana"},"application/vnd.nokia.landmark+wbxml":{"source":"iana"},"application/vnd.nokia.landmark+xml":{"source":"iana","compressible":true},"application/vnd.nokia.landmarkcollection+xml":{"source":"iana","compressible":true},"application/vnd.nokia.n-gage.ac+xml":{"source":"iana","compressible":true,"extensions":["ac"]},"application/vnd.nokia.n-gage.data":{"source":"iana","extensions":["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{"source":"iana","extensions":["n-gage"]},"application/vnd.nokia.ncd":{"source":"iana"},"application/vnd.nokia.pcd+wbxml":{"source":"iana"},"application/vnd.nokia.pcd+xml":{"source":"iana","compressible":true},"application/vnd.nokia.radio-preset":{"source":"iana","extensions":["rpst"]},"application/vnd.nokia.radio-presets":{"source":"iana","extensions":["rpss"]},"application/vnd.novadigm.edm":{"source":"iana","extensions":["edm"]},"application/vnd.novadigm.edx":{"source":"iana","extensions":["edx"]},"application/vnd.novadigm.ext":{"source":"iana","extensions":["ext"]},"application/vnd.ntt-local.content-share":{"source":"iana"},"application/vnd.ntt-local.file-transfer":{"source":"iana"},"application/vnd.ntt-local.ogw_remote-access":{"source":"iana"},"application/vnd.ntt-local.sip-ta_remote":{"source":"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{"source":"iana"},"application/vnd.oasis.opendocument.chart":{"source":"iana","extensions":["odc"]},"application/vnd.oasis.opendocument.chart-template":{"source":"iana","extensions":["otc"]},"application/vnd.oasis.opendocument.database":{"source":"iana","extensions":["odb"]},"application/vnd.oasis.opendocument.formula":{"source":"iana","extensions":["odf"]},"application/vnd.oasis.opendocument.formula-template":{"source":"iana","extensions":["odft"]},"application/vnd.oasis.opendocument.graphics":{"source":"iana","compressible":false,"extensions":["odg"]},"application/vnd.oasis.opendocument.graphics-template":{"source":"iana","extensions":["otg"]},"application/vnd.oasis.opendocument.image":{"source":"iana","extensions":["odi"]},"application/vnd.oasis.opendocument.image-template":{"source":"iana","extensions":["oti"]},"application/vnd.oasis.opendocument.presentation":{"source":"iana","compressible":false,"extensions":["odp"]},"application/vnd.oasis.opendocument.presentation-template":{"source":"iana","extensions":["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{"source":"iana","compressible":false,"extensions":["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{"source":"iana","extensions":["ots"]},"application/vnd.oasis.opendocument.text":{"source":"iana","compressible":false,"extensions":["odt"]},"application/vnd.oasis.opendocument.text-master":{"source":"iana","extensions":["odm"]},"application/vnd.oasis.opendocument.text-template":{"source":"iana","extensions":["ott"]},"application/vnd.oasis.opendocument.text-web":{"source":"iana","extensions":["oth"]},"application/vnd.obn":{"source":"iana"},"application/vnd.ocf+cbor":{"source":"iana"},"application/vnd.oci.image.manifest.v1+json":{"source":"iana","compressible":true},"application/vnd.oftn.l10n+json":{"source":"iana","compressible":true},"application/vnd.oipf.contentaccessdownload+xml":{"source":"iana","compressible":true},"application/vnd.oipf.contentaccessstreaming+xml":{"source":"iana","compressible":true},"application/vnd.oipf.cspg-hexbinary":{"source":"iana"},"application/vnd.oipf.dae.svg+xml":{"source":"iana","compressible":true},"application/vnd.oipf.dae.xhtml+xml":{"source":"iana","compressible":true},"application/vnd.oipf.mippvcontrolmessage+xml":{"source":"iana","compressible":true},"application/vnd.oipf.pae.gem":{"source":"iana"},"application/vnd.oipf.spdiscovery+xml":{"source":"iana","compressible":true},"application/vnd.oipf.spdlist+xml":{"source":"iana","compressible":true},"application/vnd.oipf.ueprofile+xml":{"source":"iana","compressible":true},"application/vnd.oipf.userprofile+xml":{"source":"iana","compressible":true},"application/vnd.olpc-sugar":{"source":"iana","extensions":["xo"]},"application/vnd.oma-scws-config":{"source":"iana"},"application/vnd.oma-scws-http-request":{"source":"iana"},"application/vnd.oma-scws-http-response":{"source":"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.drm-trigger+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.imd+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.ltkm":{"source":"iana"},"application/vnd.oma.bcast.notification+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.provisioningtrigger":{"source":"iana"},"application/vnd.oma.bcast.sgboot":{"source":"iana"},"application/vnd.oma.bcast.sgdd+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.sgdu":{"source":"iana"},"application/vnd.oma.bcast.simple-symbol-container":{"source":"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.sprov+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.stkm":{"source":"iana"},"application/vnd.oma.cab-address-book+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-feature-handler+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-pcc+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-subs-invite+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-user-prefs+xml":{"source":"iana","compressible":true},"application/vnd.oma.dcd":{"source":"iana"},"application/vnd.oma.dcdc":{"source":"iana"},"application/vnd.oma.dd2+xml":{"source":"iana","compressible":true,"extensions":["dd2"]},"application/vnd.oma.drm.risd+xml":{"source":"iana","compressible":true},"application/vnd.oma.group-usage-list+xml":{"source":"iana","compressible":true},"application/vnd.oma.lwm2m+cbor":{"source":"iana"},"application/vnd.oma.lwm2m+json":{"source":"iana","compressible":true},"application/vnd.oma.lwm2m+tlv":{"source":"iana"},"application/vnd.oma.pal+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.detailed-progress-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.final-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.groups+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.invocation-descriptor+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.optimized-progress-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.push":{"source":"iana"},"application/vnd.oma.scidm.messages+xml":{"source":"iana","compressible":true},"application/vnd.oma.xcap-directory+xml":{"source":"iana","compressible":true},"application/vnd.omads-email+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omads-file+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omads-folder+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omaloc-supl-init":{"source":"iana"},"application/vnd.onepager":{"source":"iana"},"application/vnd.onepagertamp":{"source":"iana"},"application/vnd.onepagertamx":{"source":"iana"},"application/vnd.onepagertat":{"source":"iana"},"application/vnd.onepagertatp":{"source":"iana"},"application/vnd.onepagertatx":{"source":"iana"},"application/vnd.openblox.game+xml":{"source":"iana","compressible":true,"extensions":["obgx"]},"application/vnd.openblox.game-binary":{"source":"iana"},"application/vnd.openeye.oeb":{"source":"iana"},"application/vnd.openofficeorg.extension":{"source":"apache","extensions":["oxt"]},"application/vnd.openstreetmap.data+xml":{"source":"iana","compressible":true,"extensions":["osm"]},"application/vnd.opentimestamps.ots":{"source":"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawing+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{"source":"iana","compressible":false,"extensions":["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slide":{"source":"iana","extensions":["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{"source":"iana","extensions":["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.template":{"source":"iana","extensions":["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"source":"iana","compressible":false,"extensions":["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{"source":"iana","extensions":["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.theme+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.vmldrawing":{"source":"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{"source":"iana","compressible":false,"extensions":["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{"source":"iana","extensions":["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.core-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.relationships+xml":{"source":"iana","compressible":true},"application/vnd.oracle.resource+json":{"source":"iana","compressible":true},"application/vnd.orange.indata":{"source":"iana"},"application/vnd.osa.netdeploy":{"source":"iana"},"application/vnd.osgeo.mapguide.package":{"source":"iana","extensions":["mgp"]},"application/vnd.osgi.bundle":{"source":"iana"},"application/vnd.osgi.dp":{"source":"iana","extensions":["dp"]},"application/vnd.osgi.subsystem":{"source":"iana","extensions":["esa"]},"application/vnd.otps.ct-kip+xml":{"source":"iana","compressible":true},"application/vnd.oxli.countgraph":{"source":"iana"},"application/vnd.pagerduty+json":{"source":"iana","compressible":true},"application/vnd.palm":{"source":"iana","extensions":["pdb","pqa","oprc"]},"application/vnd.panoply":{"source":"iana"},"application/vnd.paos.xml":{"source":"iana"},"application/vnd.patentdive":{"source":"iana"},"application/vnd.patientecommsdoc":{"source":"iana"},"application/vnd.pawaafile":{"source":"iana","extensions":["paw"]},"application/vnd.pcos":{"source":"iana"},"application/vnd.pg.format":{"source":"iana","extensions":["str"]},"application/vnd.pg.osasli":{"source":"iana","extensions":["ei6"]},"application/vnd.piaccess.application-licence":{"source":"iana"},"application/vnd.picsel":{"source":"iana","extensions":["efif"]},"application/vnd.pmi.widget":{"source":"iana","extensions":["wg"]},"application/vnd.poc.group-advertisement+xml":{"source":"iana","compressible":true},"application/vnd.pocketlearn":{"source":"iana","extensions":["plf"]},"application/vnd.powerbuilder6":{"source":"iana","extensions":["pbd"]},"application/vnd.powerbuilder6-s":{"source":"iana"},"application/vnd.powerbuilder7":{"source":"iana"},"application/vnd.powerbuilder7-s":{"source":"iana"},"application/vnd.powerbuilder75":{"source":"iana"},"application/vnd.powerbuilder75-s":{"source":"iana"},"application/vnd.preminet":{"source":"iana"},"application/vnd.previewsystems.box":{"source":"iana","extensions":["box"]},"application/vnd.proteus.magazine":{"source":"iana","extensions":["mgz"]},"application/vnd.psfs":{"source":"iana"},"application/vnd.publishare-delta-tree":{"source":"iana","extensions":["qps"]},"application/vnd.pvi.ptid1":{"source":"iana","extensions":["ptid"]},"application/vnd.pwg-multiplexed":{"source":"iana"},"application/vnd.pwg-xhtml-print+xml":{"source":"iana","compressible":true},"application/vnd.qualcomm.brew-app-res":{"source":"iana"},"application/vnd.quarantainenet":{"source":"iana"},"application/vnd.quark.quarkxpress":{"source":"iana","extensions":["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{"source":"iana"},"application/vnd.radisys.moml+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-conf+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-conn+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-dialog+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-stream+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-conf+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-base+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-fax-detect+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-group+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-speech+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-transform+xml":{"source":"iana","compressible":true},"application/vnd.rainstor.data":{"source":"iana"},"application/vnd.rapid":{"source":"iana"},"application/vnd.rar":{"source":"iana","extensions":["rar"]},"application/vnd.realvnc.bed":{"source":"iana","extensions":["bed"]},"application/vnd.recordare.musicxml":{"source":"iana","extensions":["mxl"]},"application/vnd.recordare.musicxml+xml":{"source":"iana","compressible":true,"extensions":["musicxml"]},"application/vnd.renlearn.rlprint":{"source":"iana"},"application/vnd.resilient.logic":{"source":"iana"},"application/vnd.restful+json":{"source":"iana","compressible":true},"application/vnd.rig.cryptonote":{"source":"iana","extensions":["cryptonote"]},"application/vnd.rim.cod":{"source":"apache","extensions":["cod"]},"application/vnd.rn-realmedia":{"source":"apache","extensions":["rm"]},"application/vnd.rn-realmedia-vbr":{"source":"apache","extensions":["rmvb"]},"application/vnd.route66.link66+xml":{"source":"iana","compressible":true,"extensions":["link66"]},"application/vnd.rs-274x":{"source":"iana"},"application/vnd.ruckus.download":{"source":"iana"},"application/vnd.s3sms":{"source":"iana"},"application/vnd.sailingtracker.track":{"source":"iana","extensions":["st"]},"application/vnd.sar":{"source":"iana"},"application/vnd.sbm.cid":{"source":"iana"},"application/vnd.sbm.mid2":{"source":"iana"},"application/vnd.scribus":{"source":"iana"},"application/vnd.sealed.3df":{"source":"iana"},"application/vnd.sealed.csf":{"source":"iana"},"application/vnd.sealed.doc":{"source":"iana"},"application/vnd.sealed.eml":{"source":"iana"},"application/vnd.sealed.mht":{"source":"iana"},"application/vnd.sealed.net":{"source":"iana"},"application/vnd.sealed.ppt":{"source":"iana"},"application/vnd.sealed.tiff":{"source":"iana"},"application/vnd.sealed.xls":{"source":"iana"},"application/vnd.sealedmedia.softseal.html":{"source":"iana"},"application/vnd.sealedmedia.softseal.pdf":{"source":"iana"},"application/vnd.seemail":{"source":"iana","extensions":["see"]},"application/vnd.seis+json":{"source":"iana","compressible":true},"application/vnd.sema":{"source":"iana","extensions":["sema"]},"application/vnd.semd":{"source":"iana","extensions":["semd"]},"application/vnd.semf":{"source":"iana","extensions":["semf"]},"application/vnd.shade-save-file":{"source":"iana"},"application/vnd.shana.informed.formdata":{"source":"iana","extensions":["ifm"]},"application/vnd.shana.informed.formtemplate":{"source":"iana","extensions":["itp"]},"application/vnd.shana.informed.interchange":{"source":"iana","extensions":["iif"]},"application/vnd.shana.informed.package":{"source":"iana","extensions":["ipk"]},"application/vnd.shootproof+json":{"source":"iana","compressible":true},"application/vnd.shopkick+json":{"source":"iana","compressible":true},"application/vnd.shp":{"source":"iana"},"application/vnd.shx":{"source":"iana"},"application/vnd.sigrok.session":{"source":"iana"},"application/vnd.simtech-mindmapper":{"source":"iana","extensions":["twd","twds"]},"application/vnd.siren+json":{"source":"iana","compressible":true},"application/vnd.smaf":{"source":"iana","extensions":["mmf"]},"application/vnd.smart.notebook":{"source":"iana"},"application/vnd.smart.teacher":{"source":"iana","extensions":["teacher"]},"application/vnd.snesdev-page-table":{"source":"iana"},"application/vnd.software602.filler.form+xml":{"source":"iana","compressible":true,"extensions":["fo"]},"application/vnd.software602.filler.form-xml-zip":{"source":"iana"},"application/vnd.solent.sdkm+xml":{"source":"iana","compressible":true,"extensions":["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{"source":"iana","extensions":["dxp"]},"application/vnd.spotfire.sfs":{"source":"iana","extensions":["sfs"]},"application/vnd.sqlite3":{"source":"iana"},"application/vnd.sss-cod":{"source":"iana"},"application/vnd.sss-dtf":{"source":"iana"},"application/vnd.sss-ntf":{"source":"iana"},"application/vnd.stardivision.calc":{"source":"apache","extensions":["sdc"]},"application/vnd.stardivision.draw":{"source":"apache","extensions":["sda"]},"application/vnd.stardivision.impress":{"source":"apache","extensions":["sdd"]},"application/vnd.stardivision.math":{"source":"apache","extensions":["smf"]},"application/vnd.stardivision.writer":{"source":"apache","extensions":["sdw","vor"]},"application/vnd.stardivision.writer-global":{"source":"apache","extensions":["sgl"]},"application/vnd.stepmania.package":{"source":"iana","extensions":["smzip"]},"application/vnd.stepmania.stepchart":{"source":"iana","extensions":["sm"]},"application/vnd.street-stream":{"source":"iana"},"application/vnd.sun.wadl+xml":{"source":"iana","compressible":true,"extensions":["wadl"]},"application/vnd.sun.xml.calc":{"source":"apache","extensions":["sxc"]},"application/vnd.sun.xml.calc.template":{"source":"apache","extensions":["stc"]},"application/vnd.sun.xml.draw":{"source":"apache","extensions":["sxd"]},"application/vnd.sun.xml.draw.template":{"source":"apache","extensions":["std"]},"application/vnd.sun.xml.impress":{"source":"apache","extensions":["sxi"]},"application/vnd.sun.xml.impress.template":{"source":"apache","extensions":["sti"]},"application/vnd.sun.xml.math":{"source":"apache","extensions":["sxm"]},"application/vnd.sun.xml.writer":{"source":"apache","extensions":["sxw"]},"application/vnd.sun.xml.writer.global":{"source":"apache","extensions":["sxg"]},"application/vnd.sun.xml.writer.template":{"source":"apache","extensions":["stw"]},"application/vnd.sus-calendar":{"source":"iana","extensions":["sus","susp"]},"application/vnd.svd":{"source":"iana","extensions":["svd"]},"application/vnd.swiftview-ics":{"source":"iana"},"application/vnd.sycle+xml":{"source":"iana","compressible":true},"application/vnd.syft+json":{"source":"iana","compressible":true},"application/vnd.symbian.install":{"source":"apache","extensions":["sis","sisx"]},"application/vnd.syncml+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["xsm"]},"application/vnd.syncml.dm+wbxml":{"source":"iana","charset":"UTF-8","extensions":["bdm"]},"application/vnd.syncml.dm+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["xdm"]},"application/vnd.syncml.dm.notification":{"source":"iana"},"application/vnd.syncml.dmddf+wbxml":{"source":"iana"},"application/vnd.syncml.dmddf+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{"source":"iana"},"application/vnd.syncml.dmtnds+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.syncml.ds.notification":{"source":"iana"},"application/vnd.tableschema+json":{"source":"iana","compressible":true},"application/vnd.tao.intent-module-archive":{"source":"iana","extensions":["tao"]},"application/vnd.tcpdump.pcap":{"source":"iana","extensions":["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{"source":"iana","compressible":true},"application/vnd.tmd.mediaflex.api+xml":{"source":"iana","compressible":true},"application/vnd.tml":{"source":"iana"},"application/vnd.tmobile-livetv":{"source":"iana","extensions":["tmo"]},"application/vnd.tri.onesource":{"source":"iana"},"application/vnd.trid.tpt":{"source":"iana","extensions":["tpt"]},"application/vnd.triscape.mxs":{"source":"iana","extensions":["mxs"]},"application/vnd.trueapp":{"source":"iana","extensions":["tra"]},"application/vnd.truedoc":{"source":"iana"},"application/vnd.ubisoft.webplayer":{"source":"iana"},"application/vnd.ufdl":{"source":"iana","extensions":["ufd","ufdl"]},"application/vnd.uiq.theme":{"source":"iana","extensions":["utz"]},"application/vnd.umajin":{"source":"iana","extensions":["umj"]},"application/vnd.unity":{"source":"iana","extensions":["unityweb"]},"application/vnd.uoml+xml":{"source":"iana","compressible":true,"extensions":["uoml"]},"application/vnd.uplanet.alert":{"source":"iana"},"application/vnd.uplanet.alert-wbxml":{"source":"iana"},"application/vnd.uplanet.bearer-choice":{"source":"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{"source":"iana"},"application/vnd.uplanet.cacheop":{"source":"iana"},"application/vnd.uplanet.cacheop-wbxml":{"source":"iana"},"application/vnd.uplanet.channel":{"source":"iana"},"application/vnd.uplanet.channel-wbxml":{"source":"iana"},"application/vnd.uplanet.list":{"source":"iana"},"application/vnd.uplanet.list-wbxml":{"source":"iana"},"application/vnd.uplanet.listcmd":{"source":"iana"},"application/vnd.uplanet.listcmd-wbxml":{"source":"iana"},"application/vnd.uplanet.signal":{"source":"iana"},"application/vnd.uri-map":{"source":"iana"},"application/vnd.valve.source.material":{"source":"iana"},"application/vnd.vcx":{"source":"iana","extensions":["vcx"]},"application/vnd.vd-study":{"source":"iana"},"application/vnd.vectorworks":{"source":"iana"},"application/vnd.vel+json":{"source":"iana","compressible":true},"application/vnd.verimatrix.vcas":{"source":"iana"},"application/vnd.veritone.aion+json":{"source":"iana","compressible":true},"application/vnd.veryant.thin":{"source":"iana"},"application/vnd.ves.encrypted":{"source":"iana"},"application/vnd.vidsoft.vidconference":{"source":"iana"},"application/vnd.visio":{"source":"iana","extensions":["vsd","vst","vss","vsw"]},"application/vnd.visionary":{"source":"iana","extensions":["vis"]},"application/vnd.vividence.scriptfile":{"source":"iana"},"application/vnd.vsf":{"source":"iana","extensions":["vsf"]},"application/vnd.wap.sic":{"source":"iana"},"application/vnd.wap.slc":{"source":"iana"},"application/vnd.wap.wbxml":{"source":"iana","charset":"UTF-8","extensions":["wbxml"]},"application/vnd.wap.wmlc":{"source":"iana","extensions":["wmlc"]},"application/vnd.wap.wmlscriptc":{"source":"iana","extensions":["wmlsc"]},"application/vnd.webturbo":{"source":"iana","extensions":["wtb"]},"application/vnd.wfa.dpp":{"source":"iana"},"application/vnd.wfa.p2p":{"source":"iana"},"application/vnd.wfa.wsc":{"source":"iana"},"application/vnd.windows.devicepairing":{"source":"iana"},"application/vnd.wmc":{"source":"iana"},"application/vnd.wmf.bootstrap":{"source":"iana"},"application/vnd.wolfram.mathematica":{"source":"iana"},"application/vnd.wolfram.mathematica.package":{"source":"iana"},"application/vnd.wolfram.player":{"source":"iana","extensions":["nbp"]},"application/vnd.wordperfect":{"source":"iana","extensions":["wpd"]},"application/vnd.wqd":{"source":"iana","extensions":["wqd"]},"application/vnd.wrq-hp3000-labelled":{"source":"iana"},"application/vnd.wt.stf":{"source":"iana","extensions":["stf"]},"application/vnd.wv.csp+wbxml":{"source":"iana"},"application/vnd.wv.csp+xml":{"source":"iana","compressible":true},"application/vnd.wv.ssp+xml":{"source":"iana","compressible":true},"application/vnd.xacml+json":{"source":"iana","compressible":true},"application/vnd.xara":{"source":"iana","extensions":["xar"]},"application/vnd.xfdl":{"source":"iana","extensions":["xfdl"]},"application/vnd.xfdl.webform":{"source":"iana"},"application/vnd.xmi+xml":{"source":"iana","compressible":true},"application/vnd.xmpie.cpkg":{"source":"iana"},"application/vnd.xmpie.dpkg":{"source":"iana"},"application/vnd.xmpie.plan":{"source":"iana"},"application/vnd.xmpie.ppkg":{"source":"iana"},"application/vnd.xmpie.xlim":{"source":"iana"},"application/vnd.yamaha.hv-dic":{"source":"iana","extensions":["hvd"]},"application/vnd.yamaha.hv-script":{"source":"iana","extensions":["hvs"]},"application/vnd.yamaha.hv-voice":{"source":"iana","extensions":["hvp"]},"application/vnd.yamaha.openscoreformat":{"source":"iana","extensions":["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{"source":"iana","compressible":true,"extensions":["osfpvg"]},"application/vnd.yamaha.remote-setup":{"source":"iana"},"application/vnd.yamaha.smaf-audio":{"source":"iana","extensions":["saf"]},"application/vnd.yamaha.smaf-phrase":{"source":"iana","extensions":["spf"]},"application/vnd.yamaha.through-ngn":{"source":"iana"},"application/vnd.yamaha.tunnel-udpencap":{"source":"iana"},"application/vnd.yaoweme":{"source":"iana"},"application/vnd.yellowriver-custom-menu":{"source":"iana","extensions":["cmp"]},"application/vnd.youtube.yt":{"source":"iana"},"application/vnd.zul":{"source":"iana","extensions":["zir","zirz"]},"application/vnd.zzazz.deck+xml":{"source":"iana","compressible":true,"extensions":["zaz"]},"application/voicexml+xml":{"source":"iana","compressible":true,"extensions":["vxml"]},"application/voucher-cms+json":{"source":"iana","compressible":true},"application/vq-rtcpxr":{"source":"iana"},"application/wasm":{"source":"iana","compressible":true,"extensions":["wasm"]},"application/watcherinfo+xml":{"source":"iana","compressible":true,"extensions":["wif"]},"application/webpush-options+json":{"source":"iana","compressible":true},"application/whoispp-query":{"source":"iana"},"application/whoispp-response":{"source":"iana"},"application/widget":{"source":"iana","extensions":["wgt"]},"application/winhlp":{"source":"apache","extensions":["hlp"]},"application/wita":{"source":"iana"},"application/wordperfect5.1":{"source":"iana"},"application/wsdl+xml":{"source":"iana","compressible":true,"extensions":["wsdl"]},"application/wspolicy+xml":{"source":"iana","compressible":true,"extensions":["wspolicy"]},"application/x-7z-compressed":{"source":"apache","compressible":false,"extensions":["7z"]},"application/x-abiword":{"source":"apache","extensions":["abw"]},"application/x-ace-compressed":{"source":"apache","extensions":["ace"]},"application/x-amf":{"source":"apache"},"application/x-apple-diskimage":{"source":"apache","extensions":["dmg"]},"application/x-arj":{"compressible":false,"extensions":["arj"]},"application/x-authorware-bin":{"source":"apache","extensions":["aab","x32","u32","vox"]},"application/x-authorware-map":{"source":"apache","extensions":["aam"]},"application/x-authorware-seg":{"source":"apache","extensions":["aas"]},"application/x-bcpio":{"source":"apache","extensions":["bcpio"]},"application/x-bdoc":{"compressible":false,"extensions":["bdoc"]},"application/x-bittorrent":{"source":"apache","extensions":["torrent"]},"application/x-blorb":{"source":"apache","extensions":["blb","blorb"]},"application/x-bzip":{"source":"apache","compressible":false,"extensions":["bz"]},"application/x-bzip2":{"source":"apache","compressible":false,"extensions":["bz2","boz"]},"application/x-cbr":{"source":"apache","extensions":["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{"source":"apache","extensions":["vcd"]},"application/x-cfs-compressed":{"source":"apache","extensions":["cfs"]},"application/x-chat":{"source":"apache","extensions":["chat"]},"application/x-chess-pgn":{"source":"apache","extensions":["pgn"]},"application/x-chrome-extension":{"extensions":["crx"]},"application/x-cocoa":{"source":"nginx","extensions":["cco"]},"application/x-compress":{"source":"apache"},"application/x-conference":{"source":"apache","extensions":["nsc"]},"application/x-cpio":{"source":"apache","extensions":["cpio"]},"application/x-csh":{"source":"apache","extensions":["csh"]},"application/x-deb":{"compressible":false},"application/x-debian-package":{"source":"apache","extensions":["deb","udeb"]},"application/x-dgc-compressed":{"source":"apache","extensions":["dgc"]},"application/x-director":{"source":"apache","extensions":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{"source":"apache","extensions":["wad"]},"application/x-dtbncx+xml":{"source":"apache","compressible":true,"extensions":["ncx"]},"application/x-dtbook+xml":{"source":"apache","compressible":true,"extensions":["dtb"]},"application/x-dtbresource+xml":{"source":"apache","compressible":true,"extensions":["res"]},"application/x-dvi":{"source":"apache","compressible":false,"extensions":["dvi"]},"application/x-envoy":{"source":"apache","extensions":["evy"]},"application/x-eva":{"source":"apache","extensions":["eva"]},"application/x-font-bdf":{"source":"apache","extensions":["bdf"]},"application/x-font-dos":{"source":"apache"},"application/x-font-framemaker":{"source":"apache"},"application/x-font-ghostscript":{"source":"apache","extensions":["gsf"]},"application/x-font-libgrx":{"source":"apache"},"application/x-font-linux-psf":{"source":"apache","extensions":["psf"]},"application/x-font-pcf":{"source":"apache","extensions":["pcf"]},"application/x-font-snf":{"source":"apache","extensions":["snf"]},"application/x-font-speedo":{"source":"apache"},"application/x-font-sunos-news":{"source":"apache"},"application/x-font-type1":{"source":"apache","extensions":["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{"source":"apache"},"application/x-freearc":{"source":"apache","extensions":["arc"]},"application/x-futuresplash":{"source":"apache","extensions":["spl"]},"application/x-gca-compressed":{"source":"apache","extensions":["gca"]},"application/x-glulx":{"source":"apache","extensions":["ulx"]},"application/x-gnumeric":{"source":"apache","extensions":["gnumeric"]},"application/x-gramps-xml":{"source":"apache","extensions":["gramps"]},"application/x-gtar":{"source":"apache","extensions":["gtar"]},"application/x-gzip":{"source":"apache"},"application/x-hdf":{"source":"apache","extensions":["hdf"]},"application/x-httpd-php":{"compressible":true,"extensions":["php"]},"application/x-install-instructions":{"source":"apache","extensions":["install"]},"application/x-iso9660-image":{"source":"apache","extensions":["iso"]},"application/x-iwork-keynote-sffkey":{"extensions":["key"]},"application/x-iwork-numbers-sffnumbers":{"extensions":["numbers"]},"application/x-iwork-pages-sffpages":{"extensions":["pages"]},"application/x-java-archive-diff":{"source":"nginx","extensions":["jardiff"]},"application/x-java-jnlp-file":{"source":"apache","compressible":false,"extensions":["jnlp"]},"application/x-javascript":{"compressible":true},"application/x-keepass2":{"extensions":["kdbx"]},"application/x-latex":{"source":"apache","compressible":false,"extensions":["latex"]},"application/x-lua-bytecode":{"extensions":["luac"]},"application/x-lzh-compressed":{"source":"apache","extensions":["lzh","lha"]},"application/x-makeself":{"source":"nginx","extensions":["run"]},"application/x-mie":{"source":"apache","extensions":["mie"]},"application/x-mobipocket-ebook":{"source":"apache","extensions":["prc","mobi"]},"application/x-mpegurl":{"compressible":false},"application/x-ms-application":{"source":"apache","extensions":["application"]},"application/x-ms-shortcut":{"source":"apache","extensions":["lnk"]},"application/x-ms-wmd":{"source":"apache","extensions":["wmd"]},"application/x-ms-wmz":{"source":"apache","extensions":["wmz"]},"application/x-ms-xbap":{"source":"apache","extensions":["xbap"]},"application/x-msaccess":{"source":"apache","extensions":["mdb"]},"application/x-msbinder":{"source":"apache","extensions":["obd"]},"application/x-mscardfile":{"source":"apache","extensions":["crd"]},"application/x-msclip":{"source":"apache","extensions":["clp"]},"application/x-msdos-program":{"extensions":["exe"]},"application/x-msdownload":{"source":"apache","extensions":["exe","dll","com","bat","msi"]},"application/x-msmediaview":{"source":"apache","extensions":["mvb","m13","m14"]},"application/x-msmetafile":{"source":"apache","extensions":["wmf","wmz","emf","emz"]},"application/x-msmoney":{"source":"apache","extensions":["mny"]},"application/x-mspublisher":{"source":"apache","extensions":["pub"]},"application/x-msschedule":{"source":"apache","extensions":["scd"]},"application/x-msterminal":{"source":"apache","extensions":["trm"]},"application/x-mswrite":{"source":"apache","extensions":["wri"]},"application/x-netcdf":{"source":"apache","extensions":["nc","cdf"]},"application/x-ns-proxy-autoconfig":{"compressible":true,"extensions":["pac"]},"application/x-nzb":{"source":"apache","extensions":["nzb"]},"application/x-perl":{"source":"nginx","extensions":["pl","pm"]},"application/x-pilot":{"source":"nginx","extensions":["prc","pdb"]},"application/x-pkcs12":{"source":"apache","compressible":false,"extensions":["p12","pfx"]},"application/x-pkcs7-certificates":{"source":"apache","extensions":["p7b","spc"]},"application/x-pkcs7-certreqresp":{"source":"apache","extensions":["p7r"]},"application/x-pki-message":{"source":"iana"},"application/x-rar-compressed":{"source":"apache","compressible":false,"extensions":["rar"]},"application/x-redhat-package-manager":{"source":"nginx","extensions":["rpm"]},"application/x-research-info-systems":{"source":"apache","extensions":["ris"]},"application/x-sea":{"source":"nginx","extensions":["sea"]},"application/x-sh":{"source":"apache","compressible":true,"extensions":["sh"]},"application/x-shar":{"source":"apache","extensions":["shar"]},"application/x-shockwave-flash":{"source":"apache","compressible":false,"extensions":["swf"]},"application/x-silverlight-app":{"source":"apache","extensions":["xap"]},"application/x-sql":{"source":"apache","extensions":["sql"]},"application/x-stuffit":{"source":"apache","compressible":false,"extensions":["sit"]},"application/x-stuffitx":{"source":"apache","extensions":["sitx"]},"application/x-subrip":{"source":"apache","extensions":["srt"]},"application/x-sv4cpio":{"source":"apache","extensions":["sv4cpio"]},"application/x-sv4crc":{"source":"apache","extensions":["sv4crc"]},"application/x-t3vm-image":{"source":"apache","extensions":["t3"]},"application/x-tads":{"source":"apache","extensions":["gam"]},"application/x-tar":{"source":"apache","compressible":true,"extensions":["tar"]},"application/x-tcl":{"source":"apache","extensions":["tcl","tk"]},"application/x-tex":{"source":"apache","extensions":["tex"]},"application/x-tex-tfm":{"source":"apache","extensions":["tfm"]},"application/x-texinfo":{"source":"apache","extensions":["texinfo","texi"]},"application/x-tgif":{"source":"apache","extensions":["obj"]},"application/x-ustar":{"source":"apache","extensions":["ustar"]},"application/x-virtualbox-hdd":{"compressible":true,"extensions":["hdd"]},"application/x-virtualbox-ova":{"compressible":true,"extensions":["ova"]},"application/x-virtualbox-ovf":{"compressible":true,"extensions":["ovf"]},"application/x-virtualbox-vbox":{"compressible":true,"extensions":["vbox"]},"application/x-virtualbox-vbox-extpack":{"compressible":false,"extensions":["vbox-extpack"]},"application/x-virtualbox-vdi":{"compressible":true,"extensions":["vdi"]},"application/x-virtualbox-vhd":{"compressible":true,"extensions":["vhd"]},"application/x-virtualbox-vmdk":{"compressible":true,"extensions":["vmdk"]},"application/x-wais-source":{"source":"apache","extensions":["src"]},"application/x-web-app-manifest+json":{"compressible":true,"extensions":["webapp"]},"application/x-www-form-urlencoded":{"source":"iana","compressible":true},"application/x-x509-ca-cert":{"source":"iana","extensions":["der","crt","pem"]},"application/x-x509-ca-ra-cert":{"source":"iana"},"application/x-x509-next-ca-cert":{"source":"iana"},"application/x-xfig":{"source":"apache","extensions":["fig"]},"application/x-xliff+xml":{"source":"apache","compressible":true,"extensions":["xlf"]},"application/x-xpinstall":{"source":"apache","compressible":false,"extensions":["xpi"]},"application/x-xz":{"source":"apache","extensions":["xz"]},"application/x-zmachine":{"source":"apache","extensions":["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{"source":"iana"},"application/xacml+xml":{"source":"iana","compressible":true},"application/xaml+xml":{"source":"apache","compressible":true,"extensions":["xaml"]},"application/xcap-att+xml":{"source":"iana","compressible":true,"extensions":["xav"]},"application/xcap-caps+xml":{"source":"iana","compressible":true,"extensions":["xca"]},"application/xcap-diff+xml":{"source":"iana","compressible":true,"extensions":["xdf"]},"application/xcap-el+xml":{"source":"iana","compressible":true,"extensions":["xel"]},"application/xcap-error+xml":{"source":"iana","compressible":true},"application/xcap-ns+xml":{"source":"iana","compressible":true,"extensions":["xns"]},"application/xcon-conference-info+xml":{"source":"iana","compressible":true},"application/xcon-conference-info-diff+xml":{"source":"iana","compressible":true},"application/xenc+xml":{"source":"iana","compressible":true,"extensions":["xenc"]},"application/xhtml+xml":{"source":"iana","compressible":true,"extensions":["xhtml","xht"]},"application/xhtml-voice+xml":{"source":"apache","compressible":true},"application/xliff+xml":{"source":"iana","compressible":true,"extensions":["xlf"]},"application/xml":{"source":"iana","compressible":true,"extensions":["xml","xsl","xsd","rng"]},"application/xml-dtd":{"source":"iana","compressible":true,"extensions":["dtd"]},"application/xml-external-parsed-entity":{"source":"iana"},"application/xml-patch+xml":{"source":"iana","compressible":true},"application/xmpp+xml":{"source":"iana","compressible":true},"application/xop+xml":{"source":"iana","compressible":true,"extensions":["xop"]},"application/xproc+xml":{"source":"apache","compressible":true,"extensions":["xpl"]},"application/xslt+xml":{"source":"iana","compressible":true,"extensions":["xsl","xslt"]},"application/xspf+xml":{"source":"apache","compressible":true,"extensions":["xspf"]},"application/xv+xml":{"source":"iana","compressible":true,"extensions":["mxml","xhvml","xvml","xvm"]},"application/yang":{"source":"iana","extensions":["yang"]},"application/yang-data+json":{"source":"iana","compressible":true},"application/yang-data+xml":{"source":"iana","compressible":true},"application/yang-patch+json":{"source":"iana","compressible":true},"application/yang-patch+xml":{"source":"iana","compressible":true},"application/yin+xml":{"source":"iana","compressible":true,"extensions":["yin"]},"application/zip":{"source":"iana","compressible":false,"extensions":["zip"]},"application/zlib":{"source":"iana"},"application/zstd":{"source":"iana"},"audio/1d-interleaved-parityfec":{"source":"iana"},"audio/32kadpcm":{"source":"iana"},"audio/3gpp":{"source":"iana","compressible":false,"extensions":["3gpp"]},"audio/3gpp2":{"source":"iana"},"audio/aac":{"source":"iana"},"audio/ac3":{"source":"iana"},"audio/adpcm":{"source":"apache","extensions":["adp"]},"audio/amr":{"source":"iana","extensions":["amr"]},"audio/amr-wb":{"source":"iana"},"audio/amr-wb+":{"source":"iana"},"audio/aptx":{"source":"iana"},"audio/asc":{"source":"iana"},"audio/atrac-advanced-lossless":{"source":"iana"},"audio/atrac-x":{"source":"iana"},"audio/atrac3":{"source":"iana"},"audio/basic":{"source":"iana","compressible":false,"extensions":["au","snd"]},"audio/bv16":{"source":"iana"},"audio/bv32":{"source":"iana"},"audio/clearmode":{"source":"iana"},"audio/cn":{"source":"iana"},"audio/dat12":{"source":"iana"},"audio/dls":{"source":"iana"},"audio/dsr-es201108":{"source":"iana"},"audio/dsr-es202050":{"source":"iana"},"audio/dsr-es202211":{"source":"iana"},"audio/dsr-es202212":{"source":"iana"},"audio/dv":{"source":"iana"},"audio/dvi4":{"source":"iana"},"audio/eac3":{"source":"iana"},"audio/encaprtp":{"source":"iana"},"audio/evrc":{"source":"iana"},"audio/evrc-qcp":{"source":"iana"},"audio/evrc0":{"source":"iana"},"audio/evrc1":{"source":"iana"},"audio/evrcb":{"source":"iana"},"audio/evrcb0":{"source":"iana"},"audio/evrcb1":{"source":"iana"},"audio/evrcnw":{"source":"iana"},"audio/evrcnw0":{"source":"iana"},"audio/evrcnw1":{"source":"iana"},"audio/evrcwb":{"source":"iana"},"audio/evrcwb0":{"source":"iana"},"audio/evrcwb1":{"source":"iana"},"audio/evs":{"source":"iana"},"audio/flexfec":{"source":"iana"},"audio/fwdred":{"source":"iana"},"audio/g711-0":{"source":"iana"},"audio/g719":{"source":"iana"},"audio/g722":{"source":"iana"},"audio/g7221":{"source":"iana"},"audio/g723":{"source":"iana"},"audio/g726-16":{"source":"iana"},"audio/g726-24":{"source":"iana"},"audio/g726-32":{"source":"iana"},"audio/g726-40":{"source":"iana"},"audio/g728":{"source":"iana"},"audio/g729":{"source":"iana"},"audio/g7291":{"source":"iana"},"audio/g729d":{"source":"iana"},"audio/g729e":{"source":"iana"},"audio/gsm":{"source":"iana"},"audio/gsm-efr":{"source":"iana"},"audio/gsm-hr-08":{"source":"iana"},"audio/ilbc":{"source":"iana"},"audio/ip-mr_v2.5":{"source":"iana"},"audio/isac":{"source":"apache"},"audio/l16":{"source":"iana"},"audio/l20":{"source":"iana"},"audio/l24":{"source":"iana","compressible":false},"audio/l8":{"source":"iana"},"audio/lpc":{"source":"iana"},"audio/melp":{"source":"iana"},"audio/melp1200":{"source":"iana"},"audio/melp2400":{"source":"iana"},"audio/melp600":{"source":"iana"},"audio/mhas":{"source":"iana"},"audio/midi":{"source":"apache","extensions":["mid","midi","kar","rmi"]},"audio/mobile-xmf":{"source":"iana","extensions":["mxmf"]},"audio/mp3":{"compressible":false,"extensions":["mp3"]},"audio/mp4":{"source":"iana","compressible":false,"extensions":["m4a","mp4a"]},"audio/mp4a-latm":{"source":"iana"},"audio/mpa":{"source":"iana"},"audio/mpa-robust":{"source":"iana"},"audio/mpeg":{"source":"iana","compressible":false,"extensions":["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{"source":"iana"},"audio/musepack":{"source":"apache"},"audio/ogg":{"source":"iana","compressible":false,"extensions":["oga","ogg","spx","opus"]},"audio/opus":{"source":"iana"},"audio/parityfec":{"source":"iana"},"audio/pcma":{"source":"iana"},"audio/pcma-wb":{"source":"iana"},"audio/pcmu":{"source":"iana"},"audio/pcmu-wb":{"source":"iana"},"audio/prs.sid":{"source":"iana"},"audio/qcelp":{"source":"iana"},"audio/raptorfec":{"source":"iana"},"audio/red":{"source":"iana"},"audio/rtp-enc-aescm128":{"source":"iana"},"audio/rtp-midi":{"source":"iana"},"audio/rtploopback":{"source":"iana"},"audio/rtx":{"source":"iana"},"audio/s3m":{"source":"apache","extensions":["s3m"]},"audio/scip":{"source":"iana"},"audio/silk":{"source":"apache","extensions":["sil"]},"audio/smv":{"source":"iana"},"audio/smv-qcp":{"source":"iana"},"audio/smv0":{"source":"iana"},"audio/sofa":{"source":"iana"},"audio/sp-midi":{"source":"iana"},"audio/speex":{"source":"iana"},"audio/t140c":{"source":"iana"},"audio/t38":{"source":"iana"},"audio/telephone-event":{"source":"iana"},"audio/tetra_acelp":{"source":"iana"},"audio/tetra_acelp_bb":{"source":"iana"},"audio/tone":{"source":"iana"},"audio/tsvcis":{"source":"iana"},"audio/uemclip":{"source":"iana"},"audio/ulpfec":{"source":"iana"},"audio/usac":{"source":"iana"},"audio/vdvi":{"source":"iana"},"audio/vmr-wb":{"source":"iana"},"audio/vnd.3gpp.iufp":{"source":"iana"},"audio/vnd.4sb":{"source":"iana"},"audio/vnd.audiokoz":{"source":"iana"},"audio/vnd.celp":{"source":"iana"},"audio/vnd.cisco.nse":{"source":"iana"},"audio/vnd.cmles.radio-events":{"source":"iana"},"audio/vnd.cns.anp1":{"source":"iana"},"audio/vnd.cns.inf1":{"source":"iana"},"audio/vnd.dece.audio":{"source":"iana","extensions":["uva","uvva"]},"audio/vnd.digital-winds":{"source":"iana","extensions":["eol"]},"audio/vnd.dlna.adts":{"source":"iana"},"audio/vnd.dolby.heaac.1":{"source":"iana"},"audio/vnd.dolby.heaac.2":{"source":"iana"},"audio/vnd.dolby.mlp":{"source":"iana"},"audio/vnd.dolby.mps":{"source":"iana"},"audio/vnd.dolby.pl2":{"source":"iana"},"audio/vnd.dolby.pl2x":{"source":"iana"},"audio/vnd.dolby.pl2z":{"source":"iana"},"audio/vnd.dolby.pulse.1":{"source":"iana"},"audio/vnd.dra":{"source":"iana","extensions":["dra"]},"audio/vnd.dts":{"source":"iana","extensions":["dts"]},"audio/vnd.dts.hd":{"source":"iana","extensions":["dtshd"]},"audio/vnd.dts.uhd":{"source":"iana"},"audio/vnd.dvb.file":{"source":"iana"},"audio/vnd.everad.plj":{"source":"iana"},"audio/vnd.hns.audio":{"source":"iana"},"audio/vnd.lucent.voice":{"source":"iana","extensions":["lvp"]},"audio/vnd.ms-playready.media.pya":{"source":"iana","extensions":["pya"]},"audio/vnd.nokia.mobile-xmf":{"source":"iana"},"audio/vnd.nortel.vbk":{"source":"iana"},"audio/vnd.nuera.ecelp4800":{"source":"iana","extensions":["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{"source":"iana","extensions":["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{"source":"iana","extensions":["ecelp9600"]},"audio/vnd.octel.sbc":{"source":"iana"},"audio/vnd.presonus.multitrack":{"source":"iana"},"audio/vnd.qcelp":{"source":"iana"},"audio/vnd.rhetorex.32kadpcm":{"source":"iana"},"audio/vnd.rip":{"source":"iana","extensions":["rip"]},"audio/vnd.rn-realaudio":{"compressible":false},"audio/vnd.sealedmedia.softseal.mpeg":{"source":"iana"},"audio/vnd.vmx.cvsd":{"source":"iana"},"audio/vnd.wave":{"compressible":false},"audio/vorbis":{"source":"iana","compressible":false},"audio/vorbis-config":{"source":"iana"},"audio/wav":{"compressible":false,"extensions":["wav"]},"audio/wave":{"compressible":false,"extensions":["wav"]},"audio/webm":{"source":"apache","compressible":false,"extensions":["weba"]},"audio/x-aac":{"source":"apache","compressible":false,"extensions":["aac"]},"audio/x-aiff":{"source":"apache","extensions":["aif","aiff","aifc"]},"audio/x-caf":{"source":"apache","compressible":false,"extensions":["caf"]},"audio/x-flac":{"source":"apache","extensions":["flac"]},"audio/x-m4a":{"source":"nginx","extensions":["m4a"]},"audio/x-matroska":{"source":"apache","extensions":["mka"]},"audio/x-mpegurl":{"source":"apache","extensions":["m3u"]},"audio/x-ms-wax":{"source":"apache","extensions":["wax"]},"audio/x-ms-wma":{"source":"apache","extensions":["wma"]},"audio/x-pn-realaudio":{"source":"apache","extensions":["ram","ra"]},"audio/x-pn-realaudio-plugin":{"source":"apache","extensions":["rmp"]},"audio/x-realaudio":{"source":"nginx","extensions":["ra"]},"audio/x-tta":{"source":"apache"},"audio/x-wav":{"source":"apache","extensions":["wav"]},"audio/xm":{"source":"apache","extensions":["xm"]},"chemical/x-cdx":{"source":"apache","extensions":["cdx"]},"chemical/x-cif":{"source":"apache","extensions":["cif"]},"chemical/x-cmdf":{"source":"apache","extensions":["cmdf"]},"chemical/x-cml":{"source":"apache","extensions":["cml"]},"chemical/x-csml":{"source":"apache","extensions":["csml"]},"chemical/x-pdb":{"source":"apache"},"chemical/x-xyz":{"source":"apache","extensions":["xyz"]},"font/collection":{"source":"iana","extensions":["ttc"]},"font/otf":{"source":"iana","compressible":true,"extensions":["otf"]},"font/sfnt":{"source":"iana"},"font/ttf":{"source":"iana","compressible":true,"extensions":["ttf"]},"font/woff":{"source":"iana","extensions":["woff"]},"font/woff2":{"source":"iana","extensions":["woff2"]},"image/aces":{"source":"iana","extensions":["exr"]},"image/apng":{"compressible":false,"extensions":["apng"]},"image/avci":{"source":"iana","extensions":["avci"]},"image/avcs":{"source":"iana","extensions":["avcs"]},"image/avif":{"source":"iana","compressible":false,"extensions":["avif"]},"image/bmp":{"source":"iana","compressible":true,"extensions":["bmp"]},"image/cgm":{"source":"iana","extensions":["cgm"]},"image/dicom-rle":{"source":"iana","extensions":["drle"]},"image/emf":{"source":"iana","extensions":["emf"]},"image/fits":{"source":"iana","extensions":["fits"]},"image/g3fax":{"source":"iana","extensions":["g3"]},"image/gif":{"source":"iana","compressible":false,"extensions":["gif"]},"image/heic":{"source":"iana","extensions":["heic"]},"image/heic-sequence":{"source":"iana","extensions":["heics"]},"image/heif":{"source":"iana","extensions":["heif"]},"image/heif-sequence":{"source":"iana","extensions":["heifs"]},"image/hej2k":{"source":"iana","extensions":["hej2"]},"image/hsj2":{"source":"iana","extensions":["hsj2"]},"image/ief":{"source":"iana","extensions":["ief"]},"image/jls":{"source":"iana","extensions":["jls"]},"image/jp2":{"source":"iana","compressible":false,"extensions":["jp2","jpg2"]},"image/jpeg":{"source":"iana","compressible":false,"extensions":["jpeg","jpg","jpe"]},"image/jph":{"source":"iana","extensions":["jph"]},"image/jphc":{"source":"iana","extensions":["jhc"]},"image/jpm":{"source":"iana","compressible":false,"extensions":["jpm"]},"image/jpx":{"source":"iana","compressible":false,"extensions":["jpx","jpf"]},"image/jxr":{"source":"iana","extensions":["jxr"]},"image/jxra":{"source":"iana","extensions":["jxra"]},"image/jxrs":{"source":"iana","extensions":["jxrs"]},"image/jxs":{"source":"iana","extensions":["jxs"]},"image/jxsc":{"source":"iana","extensions":["jxsc"]},"image/jxsi":{"source":"iana","extensions":["jxsi"]},"image/jxss":{"source":"iana","extensions":["jxss"]},"image/ktx":{"source":"iana","extensions":["ktx"]},"image/ktx2":{"source":"iana","extensions":["ktx2"]},"image/naplps":{"source":"iana"},"image/pjpeg":{"compressible":false},"image/png":{"source":"iana","compressible":false,"extensions":["png"]},"image/prs.btif":{"source":"iana","extensions":["btif"]},"image/prs.pti":{"source":"iana","extensions":["pti"]},"image/pwg-raster":{"source":"iana"},"image/sgi":{"source":"apache","extensions":["sgi"]},"image/svg+xml":{"source":"iana","compressible":true,"extensions":["svg","svgz"]},"image/t38":{"source":"iana","extensions":["t38"]},"image/tiff":{"source":"iana","compressible":false,"extensions":["tif","tiff"]},"image/tiff-fx":{"source":"iana","extensions":["tfx"]},"image/vnd.adobe.photoshop":{"source":"iana","compressible":true,"extensions":["psd"]},"image/vnd.airzip.accelerator.azv":{"source":"iana","extensions":["azv"]},"image/vnd.cns.inf2":{"source":"iana"},"image/vnd.dece.graphic":{"source":"iana","extensions":["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{"source":"iana","extensions":["djvu","djv"]},"image/vnd.dvb.subtitle":{"source":"iana","extensions":["sub"]},"image/vnd.dwg":{"source":"iana","extensions":["dwg"]},"image/vnd.dxf":{"source":"iana","extensions":["dxf"]},"image/vnd.fastbidsheet":{"source":"iana","extensions":["fbs"]},"image/vnd.fpx":{"source":"iana","extensions":["fpx"]},"image/vnd.fst":{"source":"iana","extensions":["fst"]},"image/vnd.fujixerox.edmics-mmr":{"source":"iana","extensions":["mmr"]},"image/vnd.fujixerox.edmics-rlc":{"source":"iana","extensions":["rlc"]},"image/vnd.globalgraphics.pgb":{"source":"iana"},"image/vnd.microsoft.icon":{"source":"iana","compressible":true,"extensions":["ico"]},"image/vnd.mix":{"source":"iana"},"image/vnd.mozilla.apng":{"source":"iana"},"image/vnd.ms-dds":{"compressible":true,"extensions":["dds"]},"image/vnd.ms-modi":{"source":"iana","extensions":["mdi"]},"image/vnd.ms-photo":{"source":"apache","extensions":["wdp"]},"image/vnd.net-fpx":{"source":"iana","extensions":["npx"]},"image/vnd.pco.b16":{"source":"iana","extensions":["b16"]},"image/vnd.radiance":{"source":"iana"},"image/vnd.sealed.png":{"source":"iana"},"image/vnd.sealedmedia.softseal.gif":{"source":"iana"},"image/vnd.sealedmedia.softseal.jpg":{"source":"iana"},"image/vnd.svf":{"source":"iana"},"image/vnd.tencent.tap":{"source":"iana","extensions":["tap"]},"image/vnd.valve.source.texture":{"source":"iana","extensions":["vtf"]},"image/vnd.wap.wbmp":{"source":"iana","extensions":["wbmp"]},"image/vnd.xiff":{"source":"iana","extensions":["xif"]},"image/vnd.zbrush.pcx":{"source":"iana","extensions":["pcx"]},"image/webp":{"source":"apache","extensions":["webp"]},"image/wmf":{"source":"iana","extensions":["wmf"]},"image/x-3ds":{"source":"apache","extensions":["3ds"]},"image/x-cmu-raster":{"source":"apache","extensions":["ras"]},"image/x-cmx":{"source":"apache","extensions":["cmx"]},"image/x-freehand":{"source":"apache","extensions":["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{"source":"apache","compressible":true,"extensions":["ico"]},"image/x-jng":{"source":"nginx","extensions":["jng"]},"image/x-mrsid-image":{"source":"apache","extensions":["sid"]},"image/x-ms-bmp":{"source":"nginx","compressible":true,"extensions":["bmp"]},"image/x-pcx":{"source":"apache","extensions":["pcx"]},"image/x-pict":{"source":"apache","extensions":["pic","pct"]},"image/x-portable-anymap":{"source":"apache","extensions":["pnm"]},"image/x-portable-bitmap":{"source":"apache","extensions":["pbm"]},"image/x-portable-graymap":{"source":"apache","extensions":["pgm"]},"image/x-portable-pixmap":{"source":"apache","extensions":["ppm"]},"image/x-rgb":{"source":"apache","extensions":["rgb"]},"image/x-tga":{"source":"apache","extensions":["tga"]},"image/x-xbitmap":{"source":"apache","extensions":["xbm"]},"image/x-xcf":{"compressible":false},"image/x-xpixmap":{"source":"apache","extensions":["xpm"]},"image/x-xwindowdump":{"source":"apache","extensions":["xwd"]},"message/cpim":{"source":"iana"},"message/delivery-status":{"source":"iana"},"message/disposition-notification":{"source":"iana","extensions":["disposition-notification"]},"message/external-body":{"source":"iana"},"message/feedback-report":{"source":"iana"},"message/global":{"source":"iana","extensions":["u8msg"]},"message/global-delivery-status":{"source":"iana","extensions":["u8dsn"]},"message/global-disposition-notification":{"source":"iana","extensions":["u8mdn"]},"message/global-headers":{"source":"iana","extensions":["u8hdr"]},"message/http":{"source":"iana","compressible":false},"message/imdn+xml":{"source":"iana","compressible":true},"message/news":{"source":"iana"},"message/partial":{"source":"iana","compressible":false},"message/rfc822":{"source":"iana","compressible":true,"extensions":["eml","mime"]},"message/s-http":{"source":"iana"},"message/sip":{"source":"iana"},"message/sipfrag":{"source":"iana"},"message/tracking-status":{"source":"iana"},"message/vnd.si.simp":{"source":"iana"},"message/vnd.wfa.wsc":{"source":"iana","extensions":["wsc"]},"model/3mf":{"source":"iana","extensions":["3mf"]},"model/e57":{"source":"iana"},"model/gltf+json":{"source":"iana","compressible":true,"extensions":["gltf"]},"model/gltf-binary":{"source":"iana","compressible":true,"extensions":["glb"]},"model/iges":{"source":"iana","compressible":false,"extensions":["igs","iges"]},"model/mesh":{"source":"iana","compressible":false,"extensions":["msh","mesh","silo"]},"model/mtl":{"source":"iana","extensions":["mtl"]},"model/obj":{"source":"iana","extensions":["obj"]},"model/step":{"source":"iana"},"model/step+xml":{"source":"iana","compressible":true,"extensions":["stpx"]},"model/step+zip":{"source":"iana","compressible":false,"extensions":["stpz"]},"model/step-xml+zip":{"source":"iana","compressible":false,"extensions":["stpxz"]},"model/stl":{"source":"iana","extensions":["stl"]},"model/vnd.collada+xml":{"source":"iana","compressible":true,"extensions":["dae"]},"model/vnd.dwf":{"source":"iana","extensions":["dwf"]},"model/vnd.flatland.3dml":{"source":"iana"},"model/vnd.gdl":{"source":"iana","extensions":["gdl"]},"model/vnd.gs-gdl":{"source":"apache"},"model/vnd.gs.gdl":{"source":"iana"},"model/vnd.gtw":{"source":"iana","extensions":["gtw"]},"model/vnd.moml+xml":{"source":"iana","compressible":true},"model/vnd.mts":{"source":"iana","extensions":["mts"]},"model/vnd.opengex":{"source":"iana","extensions":["ogex"]},"model/vnd.parasolid.transmit.binary":{"source":"iana","extensions":["x_b"]},"model/vnd.parasolid.transmit.text":{"source":"iana","extensions":["x_t"]},"model/vnd.pytha.pyox":{"source":"iana"},"model/vnd.rosette.annotated-data-model":{"source":"iana"},"model/vnd.sap.vds":{"source":"iana","extensions":["vds"]},"model/vnd.usdz+zip":{"source":"iana","compressible":false,"extensions":["usdz"]},"model/vnd.valve.source.compiled-map":{"source":"iana","extensions":["bsp"]},"model/vnd.vtu":{"source":"iana","extensions":["vtu"]},"model/vrml":{"source":"iana","compressible":false,"extensions":["wrl","vrml"]},"model/x3d+binary":{"source":"apache","compressible":false,"extensions":["x3db","x3dbz"]},"model/x3d+fastinfoset":{"source":"iana","extensions":["x3db"]},"model/x3d+vrml":{"source":"apache","compressible":false,"extensions":["x3dv","x3dvz"]},"model/x3d+xml":{"source":"iana","compressible":true,"extensions":["x3d","x3dz"]},"model/x3d-vrml":{"source":"iana","extensions":["x3dv"]},"multipart/alternative":{"source":"iana","compressible":false},"multipart/appledouble":{"source":"iana"},"multipart/byteranges":{"source":"iana"},"multipart/digest":{"source":"iana"},"multipart/encrypted":{"source":"iana","compressible":false},"multipart/form-data":{"source":"iana","compressible":false},"multipart/header-set":{"source":"iana"},"multipart/mixed":{"source":"iana"},"multipart/multilingual":{"source":"iana"},"multipart/parallel":{"source":"iana"},"multipart/related":{"source":"iana","compressible":false},"multipart/report":{"source":"iana"},"multipart/signed":{"source":"iana","compressible":false},"multipart/vnd.bint.med-plus":{"source":"iana"},"multipart/voice-message":{"source":"iana"},"multipart/x-mixed-replace":{"source":"iana"},"text/1d-interleaved-parityfec":{"source":"iana"},"text/cache-manifest":{"source":"iana","compressible":true,"extensions":["appcache","manifest"]},"text/calendar":{"source":"iana","extensions":["ics","ifb"]},"text/calender":{"compressible":true},"text/cmd":{"compressible":true},"text/coffeescript":{"extensions":["coffee","litcoffee"]},"text/cql":{"source":"iana"},"text/cql-expression":{"source":"iana"},"text/cql-identifier":{"source":"iana"},"text/css":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["css"]},"text/csv":{"source":"iana","compressible":true,"extensions":["csv"]},"text/csv-schema":{"source":"iana"},"text/directory":{"source":"iana"},"text/dns":{"source":"iana"},"text/ecmascript":{"source":"iana"},"text/encaprtp":{"source":"iana"},"text/enriched":{"source":"iana"},"text/fhirpath":{"source":"iana"},"text/flexfec":{"source":"iana"},"text/fwdred":{"source":"iana"},"text/gff3":{"source":"iana"},"text/grammar-ref-list":{"source":"iana"},"text/html":{"source":"iana","compressible":true,"extensions":["html","htm","shtml"]},"text/jade":{"extensions":["jade"]},"text/javascript":{"source":"iana","compressible":true},"text/jcr-cnd":{"source":"iana"},"text/jsx":{"compressible":true,"extensions":["jsx"]},"text/less":{"compressible":true,"extensions":["less"]},"text/markdown":{"source":"iana","compressible":true,"extensions":["markdown","md"]},"text/mathml":{"source":"nginx","extensions":["mml"]},"text/mdx":{"compressible":true,"extensions":["mdx"]},"text/mizar":{"source":"iana"},"text/n3":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["n3"]},"text/parameters":{"source":"iana","charset":"UTF-8"},"text/parityfec":{"source":"iana"},"text/plain":{"source":"iana","compressible":true,"extensions":["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{"source":"iana","charset":"UTF-8"},"text/prs.fallenstein.rst":{"source":"iana"},"text/prs.lines.tag":{"source":"iana","extensions":["dsc"]},"text/prs.prop.logic":{"source":"iana"},"text/raptorfec":{"source":"iana"},"text/red":{"source":"iana"},"text/rfc822-headers":{"source":"iana"},"text/richtext":{"source":"iana","compressible":true,"extensions":["rtx"]},"text/rtf":{"source":"iana","compressible":true,"extensions":["rtf"]},"text/rtp-enc-aescm128":{"source":"iana"},"text/rtploopback":{"source":"iana"},"text/rtx":{"source":"iana"},"text/sgml":{"source":"iana","extensions":["sgml","sgm"]},"text/shaclc":{"source":"iana"},"text/shex":{"source":"iana","extensions":["shex"]},"text/slim":{"extensions":["slim","slm"]},"text/spdx":{"source":"iana","extensions":["spdx"]},"text/strings":{"source":"iana"},"text/stylus":{"extensions":["stylus","styl"]},"text/t140":{"source":"iana"},"text/tab-separated-values":{"source":"iana","compressible":true,"extensions":["tsv"]},"text/troff":{"source":"iana","extensions":["t","tr","roff","man","me","ms"]},"text/turtle":{"source":"iana","charset":"UTF-8","extensions":["ttl"]},"text/ulpfec":{"source":"iana"},"text/uri-list":{"source":"iana","compressible":true,"extensions":["uri","uris","urls"]},"text/vcard":{"source":"iana","compressible":true,"extensions":["vcard"]},"text/vnd.a":{"source":"iana"},"text/vnd.abc":{"source":"iana"},"text/vnd.ascii-art":{"source":"iana"},"text/vnd.curl":{"source":"iana","extensions":["curl"]},"text/vnd.curl.dcurl":{"source":"apache","extensions":["dcurl"]},"text/vnd.curl.mcurl":{"source":"apache","extensions":["mcurl"]},"text/vnd.curl.scurl":{"source":"apache","extensions":["scurl"]},"text/vnd.debian.copyright":{"source":"iana","charset":"UTF-8"},"text/vnd.dmclientscript":{"source":"iana"},"text/vnd.dvb.subtitle":{"source":"iana","extensions":["sub"]},"text/vnd.esmertec.theme-descriptor":{"source":"iana","charset":"UTF-8"},"text/vnd.familysearch.gedcom":{"source":"iana","extensions":["ged"]},"text/vnd.ficlab.flt":{"source":"iana"},"text/vnd.fly":{"source":"iana","extensions":["fly"]},"text/vnd.fmi.flexstor":{"source":"iana","extensions":["flx"]},"text/vnd.gml":{"source":"iana"},"text/vnd.graphviz":{"source":"iana","extensions":["gv"]},"text/vnd.hans":{"source":"iana"},"text/vnd.hgl":{"source":"iana"},"text/vnd.in3d.3dml":{"source":"iana","extensions":["3dml"]},"text/vnd.in3d.spot":{"source":"iana","extensions":["spot"]},"text/vnd.iptc.newsml":{"source":"iana"},"text/vnd.iptc.nitf":{"source":"iana"},"text/vnd.latex-z":{"source":"iana"},"text/vnd.motorola.reflex":{"source":"iana"},"text/vnd.ms-mediapackage":{"source":"iana"},"text/vnd.net2phone.commcenter.command":{"source":"iana"},"text/vnd.radisys.msml-basic-layout":{"source":"iana"},"text/vnd.senx.warpscript":{"source":"iana"},"text/vnd.si.uricatalogue":{"source":"iana"},"text/vnd.sosi":{"source":"iana"},"text/vnd.sun.j2me.app-descriptor":{"source":"iana","charset":"UTF-8","extensions":["jad"]},"text/vnd.trolltech.linguist":{"source":"iana","charset":"UTF-8"},"text/vnd.wap.si":{"source":"iana"},"text/vnd.wap.sl":{"source":"iana"},"text/vnd.wap.wml":{"source":"iana","extensions":["wml"]},"text/vnd.wap.wmlscript":{"source":"iana","extensions":["wmls"]},"text/vtt":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["vtt"]},"text/x-asm":{"source":"apache","extensions":["s","asm"]},"text/x-c":{"source":"apache","extensions":["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{"source":"nginx","extensions":["htc"]},"text/x-fortran":{"source":"apache","extensions":["f","for","f77","f90"]},"text/x-gwt-rpc":{"compressible":true},"text/x-handlebars-template":{"extensions":["hbs"]},"text/x-java-source":{"source":"apache","extensions":["java"]},"text/x-jquery-tmpl":{"compressible":true},"text/x-lua":{"extensions":["lua"]},"text/x-markdown":{"compressible":true,"extensions":["mkd"]},"text/x-nfo":{"source":"apache","extensions":["nfo"]},"text/x-opml":{"source":"apache","extensions":["opml"]},"text/x-org":{"compressible":true,"extensions":["org"]},"text/x-pascal":{"source":"apache","extensions":["p","pas"]},"text/x-processing":{"compressible":true,"extensions":["pde"]},"text/x-sass":{"extensions":["sass"]},"text/x-scss":{"extensions":["scss"]},"text/x-setext":{"source":"apache","extensions":["etx"]},"text/x-sfv":{"source":"apache","extensions":["sfv"]},"text/x-suse-ymp":{"compressible":true,"extensions":["ymp"]},"text/x-uuencode":{"source":"apache","extensions":["uu"]},"text/x-vcalendar":{"source":"apache","extensions":["vcs"]},"text/x-vcard":{"source":"apache","extensions":["vcf"]},"text/xml":{"source":"iana","compressible":true,"extensions":["xml"]},"text/xml-external-parsed-entity":{"source":"iana"},"text/yaml":{"compressible":true,"extensions":["yaml","yml"]},"video/1d-interleaved-parityfec":{"source":"iana"},"video/3gpp":{"source":"iana","extensions":["3gp","3gpp"]},"video/3gpp-tt":{"source":"iana"},"video/3gpp2":{"source":"iana","extensions":["3g2"]},"video/av1":{"source":"iana"},"video/bmpeg":{"source":"iana"},"video/bt656":{"source":"iana"},"video/celb":{"source":"iana"},"video/dv":{"source":"iana"},"video/encaprtp":{"source":"iana"},"video/ffv1":{"source":"iana"},"video/flexfec":{"source":"iana"},"video/h261":{"source":"iana","extensions":["h261"]},"video/h263":{"source":"iana","extensions":["h263"]},"video/h263-1998":{"source":"iana"},"video/h263-2000":{"source":"iana"},"video/h264":{"source":"iana","extensions":["h264"]},"video/h264-rcdo":{"source":"iana"},"video/h264-svc":{"source":"iana"},"video/h265":{"source":"iana"},"video/iso.segment":{"source":"iana","extensions":["m4s"]},"video/jpeg":{"source":"iana","extensions":["jpgv"]},"video/jpeg2000":{"source":"iana"},"video/jpm":{"source":"apache","extensions":["jpm","jpgm"]},"video/jxsv":{"source":"iana"},"video/mj2":{"source":"iana","extensions":["mj2","mjp2"]},"video/mp1s":{"source":"iana"},"video/mp2p":{"source":"iana"},"video/mp2t":{"source":"iana","extensions":["ts"]},"video/mp4":{"source":"iana","compressible":false,"extensions":["mp4","mp4v","mpg4"]},"video/mp4v-es":{"source":"iana"},"video/mpeg":{"source":"iana","compressible":false,"extensions":["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{"source":"iana"},"video/mpv":{"source":"iana"},"video/nv":{"source":"iana"},"video/ogg":{"source":"iana","compressible":false,"extensions":["ogv"]},"video/parityfec":{"source":"iana"},"video/pointer":{"source":"iana"},"video/quicktime":{"source":"iana","compressible":false,"extensions":["qt","mov"]},"video/raptorfec":{"source":"iana"},"video/raw":{"source":"iana"},"video/rtp-enc-aescm128":{"source":"iana"},"video/rtploopback":{"source":"iana"},"video/rtx":{"source":"iana"},"video/scip":{"source":"iana"},"video/smpte291":{"source":"iana"},"video/smpte292m":{"source":"iana"},"video/ulpfec":{"source":"iana"},"video/vc1":{"source":"iana"},"video/vc2":{"source":"iana"},"video/vnd.cctv":{"source":"iana"},"video/vnd.dece.hd":{"source":"iana","extensions":["uvh","uvvh"]},"video/vnd.dece.mobile":{"source":"iana","extensions":["uvm","uvvm"]},"video/vnd.dece.mp4":{"source":"iana"},"video/vnd.dece.pd":{"source":"iana","extensions":["uvp","uvvp"]},"video/vnd.dece.sd":{"source":"iana","extensions":["uvs","uvvs"]},"video/vnd.dece.video":{"source":"iana","extensions":["uvv","uvvv"]},"video/vnd.directv.mpeg":{"source":"iana"},"video/vnd.directv.mpeg-tts":{"source":"iana"},"video/vnd.dlna.mpeg-tts":{"source":"iana"},"video/vnd.dvb.file":{"source":"iana","extensions":["dvb"]},"video/vnd.fvt":{"source":"iana","extensions":["fvt"]},"video/vnd.hns.video":{"source":"iana"},"video/vnd.iptvforum.1dparityfec-1010":{"source":"iana"},"video/vnd.iptvforum.1dparityfec-2005":{"source":"iana"},"video/vnd.iptvforum.2dparityfec-1010":{"source":"iana"},"video/vnd.iptvforum.2dparityfec-2005":{"source":"iana"},"video/vnd.iptvforum.ttsavc":{"source":"iana"},"video/vnd.iptvforum.ttsmpeg2":{"source":"iana"},"video/vnd.motorola.video":{"source":"iana"},"video/vnd.motorola.videop":{"source":"iana"},"video/vnd.mpegurl":{"source":"iana","extensions":["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{"source":"iana","extensions":["pyv"]},"video/vnd.nokia.interleaved-multimedia":{"source":"iana"},"video/vnd.nokia.mp4vr":{"source":"iana"},"video/vnd.nokia.videovoip":{"source":"iana"},"video/vnd.objectvideo":{"source":"iana"},"video/vnd.radgamettools.bink":{"source":"iana"},"video/vnd.radgamettools.smacker":{"source":"iana"},"video/vnd.sealed.mpeg1":{"source":"iana"},"video/vnd.sealed.mpeg4":{"source":"iana"},"video/vnd.sealed.swf":{"source":"iana"},"video/vnd.sealedmedia.softseal.mov":{"source":"iana"},"video/vnd.uvvu.mp4":{"source":"iana","extensions":["uvu","uvvu"]},"video/vnd.vivo":{"source":"iana","extensions":["viv"]},"video/vnd.youtube.yt":{"source":"iana"},"video/vp8":{"source":"iana"},"video/vp9":{"source":"iana"},"video/webm":{"source":"apache","compressible":false,"extensions":["webm"]},"video/x-f4v":{"source":"apache","extensions":["f4v"]},"video/x-fli":{"source":"apache","extensions":["fli"]},"video/x-flv":{"source":"apache","compressible":false,"extensions":["flv"]},"video/x-m4v":{"source":"apache","extensions":["m4v"]},"video/x-matroska":{"source":"apache","compressible":false,"extensions":["mkv","mk3d","mks"]},"video/x-mng":{"source":"apache","extensions":["mng"]},"video/x-ms-asf":{"source":"apache","extensions":["asf","asx"]},"video/x-ms-vob":{"source":"apache","extensions":["vob"]},"video/x-ms-wm":{"source":"apache","extensions":["wm"]},"video/x-ms-wmv":{"source":"apache","compressible":false,"extensions":["wmv"]},"video/x-ms-wmx":{"source":"apache","extensions":["wmx"]},"video/x-ms-wvx":{"source":"apache","extensions":["wvx"]},"video/x-msvideo":{"source":"apache","extensions":["avi"]},"video/x-sgi-movie":{"source":"apache","extensions":["movie"]},"video/x-smv":{"source":"apache","extensions":["smv"]},"x-conference/x-cooltalk":{"source":"apache","extensions":["ice"]},"x-shader/x-fragment":{"compressible":true},"x-shader/x-vertex":{"compressible":true}}')}};var __webpack_module_cache__={};function __nccwpck_require__(Me){var Bn=__webpack_module_cache__[Me];if(Bn!==undefined){return Bn.exports}var Hn=__webpack_module_cache__[Me]={id:Me,loaded:false,exports:{}};var zn=true;try{__webpack_modules__[Me].call(Hn.exports,Hn,Hn.exports,__nccwpck_require__);zn=false}finally{if(zn)delete __webpack_module_cache__[Me]}Hn.loaded=true;return Hn.exports}__nccwpck_require__.m=__webpack_modules__;(()=>{var Me=Object.getPrototypeOf?Me=>Object.getPrototypeOf(Me):Me=>Me.__proto__;var Bn;__nccwpck_require__.t=function(Hn,zn){if(zn&1)Hn=this(Hn);if(zn&8)return Hn;if(typeof Hn==="object"&&Hn){if(zn&4&&Hn.__esModule)return Hn;if(zn&16&&typeof Hn.then==="function")return Hn}var ni=Object.create(null);__nccwpck_require__.r(ni);var Ci={};Bn=Bn||[null,Me({}),Me([]),Me(Me)];for(var ts=zn&2&&Hn;typeof ts=="object"&&!~Bn.indexOf(ts);ts=Me(ts)){Object.getOwnPropertyNames(ts).forEach((Me=>Ci[Me]=()=>Hn[Me]))}Ci["default"]=()=>Hn;__nccwpck_require__.d(ni,Ci);return ni}})();(()=>{__nccwpck_require__.d=(Me,Bn)=>{for(var Hn in Bn){if(__nccwpck_require__.o(Bn,Hn)&&!__nccwpck_require__.o(Me,Hn)){Object.defineProperty(Me,Hn,{enumerable:true,get:Bn[Hn]})}}}})();(()=>{__nccwpck_require__.f={};__nccwpck_require__.e=Me=>Promise.all(Object.keys(__nccwpck_require__.f).reduce(((Bn,Hn)=>{__nccwpck_require__.f[Hn](Me,Bn);return Bn}),[]))})();(()=>{__nccwpck_require__.u=Me=>""+Me+".index.js"})();(()=>{__nccwpck_require__.o=(Me,Bn)=>Object.prototype.hasOwnProperty.call(Me,Bn)})();(()=>{__nccwpck_require__.r=Me=>{if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(Me,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(Me,"__esModule",{value:true})}})();(()=>{__nccwpck_require__.nmd=Me=>{Me.paths=[];if(!Me.children)Me.children=[];return Me}})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";(()=>{var Me={792:1};var installChunk=Bn=>{var Hn=Bn.modules,zn=Bn.ids,ni=Bn.runtime;for(var Ci in Hn){if(__nccwpck_require__.o(Hn,Ci)){__nccwpck_require__.m[Ci]=Hn[Ci]}}if(ni)ni(__nccwpck_require__);for(var ts=0;ts{if(!Me[Bn]){if(true){installChunk(require("./"+__nccwpck_require__.u(Bn)))}else Me[Bn]=1}}})();var __webpack_exports__={};(()=>{"use strict";var Me=__webpack_exports__;Object.defineProperty(Me,"__esModule",{value:true});const Bn=__nccwpck_require__(41730);(0,Bn.run)()})();module.exports=__webpack_exports__})(); \ No newline at end of file diff --git a/dist/node_modules/.package-lock.json b/dist/node_modules/.package-lock.json new file mode 100644 index 00000000..9716d219 --- /dev/null +++ b/dist/node_modules/.package-lock.json @@ -0,0 +1,421 @@ +{ + "lockfileVersion": 3, + "requires": true, + "packages": { + "node_modules/@octokit/auth-token": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/core": { + "version": "5.2.2", + "license": "MIT", + "dependencies": { + "@octokit/auth-token": "^4.0.0", + "@octokit/graphql": "^7.1.0", + "@octokit/request": "^8.4.1", + "@octokit/request-error": "^5.1.1", + "@octokit/types": "^13.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/endpoint": { + "version": "9.0.6", + "license": "MIT", + "dependencies": { + "@octokit/types": "^13.1.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/graphql": { + "version": "7.1.1", + "license": "MIT", + "dependencies": { + "@octokit/request": "^8.4.1", + "@octokit/types": "^13.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "24.2.0", + "license": "MIT" + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "11.3.1", + "license": "MIT", + "dependencies": { + "@octokit/types": "^13.5.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": "5" + } + }, + "node_modules/@octokit/plugin-request-log": { + "version": "4.0.1", + "license": "MIT", + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": "5" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "13.2.2", + "license": "MIT", + "dependencies": { + "@octokit/types": "^13.5.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": "^5" + } + }, + "node_modules/@octokit/request": { + "version": "8.4.1", + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^9.0.6", + "@octokit/request-error": "^5.1.1", + "@octokit/types": "^13.1.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/request-error": { + "version": "5.1.1", + "license": "MIT", + "dependencies": { + "@octokit/types": "^13.1.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/rest": { + "version": "20.1.1", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-20.1.1.tgz", + "integrity": "sha512-MB4AYDsM5jhIHro/dq4ix1iWTLGToIGk6cWF5L6vanFaMble5jTX/UBQyiv05HsWnwUtY8JrfHy2LWfKwihqMw==", + "license": "MIT", + "dependencies": { + "@octokit/core": "^5.0.2", + "@octokit/plugin-paginate-rest": "11.3.1", + "@octokit/plugin-request-log": "^4.0.0", + "@octokit/plugin-rest-endpoint-methods": "13.2.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/types": { + "version": "13.10.0", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^24.2.0" + } + }, + "node_modules/@wasm-fmt/ruff_fmt": { + "version": "0.14.14", + "resolved": "https://registry.npmjs.org/@wasm-fmt/ruff_fmt/-/ruff_fmt-0.14.14.tgz", + "integrity": "sha512-GnP6DM+XGaqc2uBzmjaLgnt851sJb+t5jhyGgbhdOhI7s9gLc7hrs7xaaez3que/h0oybp4ROTs9aZLIiP/Z6w==", + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.14.0.tgz", + "integrity": "sha512-3Y8yrqLSwjuzpXuZ0oIYZ/XGgLwUIBU3uLvbcpb0pidD9ctpShJd43KSlEEkVQg6DS0G9NKyzOvBfUtDKEyHvQ==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.11", + "form-data": "^4.0.5", + "proxy-from-env": "^2.1.0" + } + }, + "node_modules/before-after-hook": { + "version": "2.2.3", + "license": "Apache-2.0" + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/deprecation": { + "version": "2.3.1", + "license": "ISC" + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.5", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/lodash": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", + "license": "MIT" + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/once": { + "version": "1.4.0", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/proxy-from-env": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/universal-user-agent": { + "version": "6.0.1", + "license": "ISC" + }, + "node_modules/wrappy": { + "version": "1.0.2", + "license": "ISC" + } + } +} diff --git a/dist/node_modules/@octokit/auth-token/LICENSE b/dist/node_modules/@octokit/auth-token/LICENSE new file mode 100644 index 00000000..ef2c18ee --- /dev/null +++ b/dist/node_modules/@octokit/auth-token/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2019 Octokit contributors + +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. diff --git a/dist/node_modules/@octokit/auth-token/README.md b/dist/node_modules/@octokit/auth-token/README.md new file mode 100644 index 00000000..2e48b73b --- /dev/null +++ b/dist/node_modules/@octokit/auth-token/README.md @@ -0,0 +1,285 @@ +# auth-token.js + +> GitHub API token authentication for browsers and Node.js + +[![@latest](https://img.shields.io/npm/v/@octokit/auth-token.svg)](https://www.npmjs.com/package/@octokit/auth-token) +[![Build Status](https://github.com/octokit/auth-token.js/workflows/Test/badge.svg)](https://github.com/octokit/auth-token.js/actions?query=workflow%3ATest) + +`@octokit/auth-token` is the simplest of [GitHub’s authentication strategies](https://github.com/octokit/auth.js). + +It is useful if you want to support multiple authentication strategies, as it’s API is compatible with its sibling packages for [basic](https://github.com/octokit/auth-basic.js), [GitHub App](https://github.com/octokit/auth-app.js) and [OAuth app](https://github.com/octokit/auth.js) authentication. + + + +- [Usage](#usage) +- [`createTokenAuth(token) options`](#createtokenauthtoken-options) +- [`auth()`](#auth) +- [Authentication object](#authentication-object) +- [`auth.hook(request, route, options)` or `auth.hook(request, options)`](#authhookrequest-route-options-or-authhookrequest-options) +- [Find more information](#find-more-information) + - [Find out what scopes are enabled for oauth tokens](#find-out-what-scopes-are-enabled-for-oauth-tokens) + - [Find out if token is a personal access token or if it belongs to an OAuth app](#find-out-if-token-is-a-personal-access-token-or-if-it-belongs-to-an-oauth-app) + - [Find out what permissions are enabled for a repository](#find-out-what-permissions-are-enabled-for-a-repository) + - [Use token for git operations](#use-token-for-git-operations) +- [License](#license) + + + +## Usage + + + + + + +
+Browsers + + +Load `@octokit/auth-token` directly from [cdn.skypack.dev](https://cdn.skypack.dev) + +```html + +``` + +
+Node + + +Install with npm install @octokit/auth-token + +```js +const { createTokenAuth } = require("@octokit/auth-token"); +// or: import { createTokenAuth } from "@octokit/auth-token"; +``` + +
+ +```js +const auth = createTokenAuth("ghp_PersonalAccessToken01245678900000000"); +const authentication = await auth(); +// { +// type: 'token', +// token: 'ghp_PersonalAccessToken01245678900000000', +// tokenType: 'oauth' +// } +``` + +## `createTokenAuth(token) options` + +The `createTokenAuth` method accepts a single argument of type string, which is the token. The passed token can be one of the following: + +- [Personal access token](https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line) +- [OAuth access token](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/) +- [GITHUB_TOKEN provided to GitHub Actions](https://developer.github.com/actions/creating-github-actions/accessing-the-runtime-environment/#environment-variables) +- Installation access token ([server-to-server](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation)) +- User authentication for installation ([user-to-server](https://docs.github.com/en/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)) + +Examples + +```js +// Personal access token or OAuth access token +createTokenAuth("ghp_PersonalAccessToken01245678900000000"); +// { +// type: 'token', +// token: 'ghp_PersonalAccessToken01245678900000000', +// tokenType: 'oauth' +// } + +// Installation access token or GitHub Action token +createTokenAuth("ghs_InstallallationOrActionToken00000000"); +// { +// type: 'token', +// token: 'ghs_InstallallationOrActionToken00000000', +// tokenType: 'installation' +// } + +// Installation access token or GitHub Action token +createTokenAuth("ghu_InstallationUserToServer000000000000"); +// { +// type: 'token', +// token: 'ghu_InstallationUserToServer000000000000', +// tokenType: 'user-to-server' +// } +``` + +## `auth()` + +The `auth()` method has no options. It returns a promise which resolves with the the authentication object. + +## Authentication object + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ name + + type + + description +
+ type + + string + + "token" +
+ token + + string + + The provided token. +
+ tokenType + + string + + Can be either "oauth" for personal access tokens and OAuth tokens, "installation" for installation access tokens (includes GITHUB_TOKEN provided to GitHub Actions), "app" for a GitHub App JSON Web Token, or "user-to-server" for a user authentication token through an app installation. +
+ +## `auth.hook(request, route, options)` or `auth.hook(request, options)` + +`auth.hook()` hooks directly into the request life cycle. It authenticates the request using the provided token. + +The `request` option is an instance of [`@octokit/request`](https://github.com/octokit/request.js#readme). The `route`/`options` parameters are the same as for the [`request()` method](https://github.com/octokit/request.js#request). + +`auth.hook()` can be called directly to send an authenticated request + +```js +const { data: authorizations } = await auth.hook( + request, + "GET /authorizations" +); +``` + +Or it can be passed as option to [`request()`](https://github.com/octokit/request.js#request). + +```js +const requestWithAuth = request.defaults({ + request: { + hook: auth.hook, + }, +}); + +const { data: authorizations } = await requestWithAuth("GET /authorizations"); +``` + +## Find more information + +`auth()` does not send any requests, it only transforms the provided token string into an authentication object. + +Here is a list of things you can do to retrieve further information + +### Find out what scopes are enabled for oauth tokens + +Note that this does not work for installations. There is no way to retrieve permissions based on an installation access tokens. + +```js +const TOKEN = "ghp_PersonalAccessToken01245678900000000"; + +const auth = createTokenAuth(TOKEN); +const authentication = await auth(); + +const response = await request("HEAD /"); +const scopes = response.headers["x-oauth-scopes"].split(/,\s+/); + +if (scopes.length) { + console.log( + `"${TOKEN}" has ${scopes.length} scopes enabled: ${scopes.join(", ")}` + ); +} else { + console.log(`"${TOKEN}" has no scopes enabled`); +} +``` + +### Find out if token is a personal access token or if it belongs to an OAuth app + +```js +const TOKEN = "ghp_PersonalAccessToken01245678900000000"; + +const auth = createTokenAuth(TOKEN); +const authentication = await auth(); + +const response = await request("HEAD /"); +const clientId = response.headers["x-oauth-client-id"]; + +if (clientId) { + console.log( + `"${token}" is an OAuth token, its app’s client_id is ${clientId}.` + ); +} else { + console.log(`"${token}" is a personal access token`); +} +``` + +### Find out what permissions are enabled for a repository + +Note that the `permissions` key is not set when authenticated using an installation access token. + +```js +const TOKEN = "ghp_PersonalAccessToken01245678900000000"; + +const auth = createTokenAuth(TOKEN); +const authentication = await auth(); + +const response = await request("GET /repos/{owner}/{repo}", { + owner: "octocat", + repo: "hello-world", +}); + +console.log(response.data.permissions); +// { +// admin: true, +// push: true, +// pull: true +// } +``` + +### Use token for git operations + +Both OAuth and installation access tokens can be used for git operations. However, when using with an installation, [the token must be prefixed with `x-access-token`](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#http-based-git-access-by-an-installation). + +This example is using the [`execa`](https://github.com/sindresorhus/execa) package to run a `git push` command. + +```js +const TOKEN = "ghp_PersonalAccessToken01245678900000000"; + +const auth = createTokenAuth(TOKEN); +const { token, tokenType } = await auth(); +const tokenWithPrefix = + tokenType === "installation" ? `x-access-token:${token}` : token; + +const repositoryUrl = `https://${tokenWithPrefix}@github.com/octocat/hello-world.git`; + +const { stdout } = await execa("git", ["push", repositoryUrl]); +console.log(stdout); +``` + +## License + +[MIT](LICENSE) diff --git a/dist/node_modules/@octokit/auth-token/dist-node/index.js b/dist/node_modules/@octokit/auth-token/dist-node/index.js new file mode 100644 index 00000000..93ea7c87 --- /dev/null +++ b/dist/node_modules/@octokit/auth-token/dist-node/index.js @@ -0,0 +1,79 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + createTokenAuth: () => createTokenAuth +}); +module.exports = __toCommonJS(dist_src_exports); + +// pkg/dist-src/auth.js +var REGEX_IS_INSTALLATION_LEGACY = /^v1\./; +var REGEX_IS_INSTALLATION = /^ghs_/; +var REGEX_IS_USER_TO_SERVER = /^ghu_/; +async function auth(token) { + const isApp = token.split(/\./).length === 3; + const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); + const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); + const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; + return { + type: "token", + token, + tokenType + }; +} + +// pkg/dist-src/with-authorization-prefix.js +function withAuthorizationPrefix(token) { + if (token.split(/\./).length === 3) { + return `bearer ${token}`; + } + return `token ${token}`; +} + +// pkg/dist-src/hook.js +async function hook(token, request, route, parameters) { + const endpoint = request.endpoint.merge( + route, + parameters + ); + endpoint.headers.authorization = withAuthorizationPrefix(token); + return request(endpoint); +} + +// pkg/dist-src/index.js +var createTokenAuth = function createTokenAuth2(token) { + if (!token) { + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); + } + if (typeof token !== "string") { + throw new Error( + "[@octokit/auth-token] Token passed to createTokenAuth is not a string" + ); + } + token = token.replace(/^(token|bearer) +/i, ""); + return Object.assign(auth.bind(null, token), { + hook: hook.bind(null, token) + }); +}; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + createTokenAuth +}); diff --git a/dist/node_modules/@octokit/auth-token/dist-node/index.js.map b/dist/node_modules/@octokit/auth-token/dist-node/index.js.map new file mode 100644 index 00000000..deff6da2 --- /dev/null +++ b/dist/node_modules/@octokit/auth-token/dist-node/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/index.js", "../dist-src/auth.js", "../dist-src/with-authorization-prefix.js", "../dist-src/hook.js"], + "sourcesContent": ["import { auth } from \"./auth\";\nimport { hook } from \"./hook\";\nconst createTokenAuth = function createTokenAuth2(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n if (typeof token !== \"string\") {\n throw new Error(\n \"[@octokit/auth-token] Token passed to createTokenAuth is not a string\"\n );\n }\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token)\n });\n};\nexport {\n createTokenAuth\n};\n", "const REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nconst REGEX_IS_INSTALLATION = /^ghs_/;\nconst REGEX_IS_USER_TO_SERVER = /^ghu_/;\nasync function auth(token) {\n const isApp = token.split(/\\./).length === 3;\n const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token);\n const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n const tokenType = isApp ? \"app\" : isInstallation ? \"installation\" : isUserToServer ? \"user-to-server\" : \"oauth\";\n return {\n type: \"token\",\n token,\n tokenType\n };\n}\nexport {\n auth\n};\n", "function withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n return `token ${token}`;\n}\nexport {\n withAuthorizationPrefix\n};\n", "import { withAuthorizationPrefix } from \"./with-authorization-prefix\";\nasync function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(\n route,\n parameters\n );\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\nexport {\n hook\n};\n"], + "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAM,+BAA+B;AACrC,IAAM,wBAAwB;AAC9B,IAAM,0BAA0B;AAChC,eAAe,KAAK,OAAO;AACzB,QAAM,QAAQ,MAAM,MAAM,IAAI,EAAE,WAAW;AAC3C,QAAM,iBAAiB,6BAA6B,KAAK,KAAK,KAAK,sBAAsB,KAAK,KAAK;AACnG,QAAM,iBAAiB,wBAAwB,KAAK,KAAK;AACzD,QAAM,YAAY,QAAQ,QAAQ,iBAAiB,iBAAiB,iBAAiB,mBAAmB;AACxG,SAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACF;AACF;;;ACbA,SAAS,wBAAwB,OAAO;AACtC,MAAI,MAAM,MAAM,IAAI,EAAE,WAAW,GAAG;AAClC,WAAO,UAAU;AAAA,EACnB;AACA,SAAO,SAAS;AAClB;;;ACJA,eAAe,KAAK,OAAO,SAAS,OAAO,YAAY;AACrD,QAAM,WAAW,QAAQ,SAAS;AAAA,IAChC;AAAA,IACA;AAAA,EACF;AACA,WAAS,QAAQ,gBAAgB,wBAAwB,KAAK;AAC9D,SAAO,QAAQ,QAAQ;AACzB;;;AHNA,IAAM,kBAAkB,SAAS,iBAAiB,OAAO;AACvD,MAAI,CAAC,OAAO;AACV,UAAM,IAAI,MAAM,0DAA0D;AAAA,EAC5E;AACA,MAAI,OAAO,UAAU,UAAU;AAC7B,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,UAAQ,MAAM,QAAQ,sBAAsB,EAAE;AAC9C,SAAO,OAAO,OAAO,KAAK,KAAK,MAAM,KAAK,GAAG;AAAA,IAC3C,MAAM,KAAK,KAAK,MAAM,KAAK;AAAA,EAC7B,CAAC;AACH;", + "names": [] +} diff --git a/dist/node_modules/@octokit/auth-token/dist-src/auth.js b/dist/node_modules/@octokit/auth-token/dist-src/auth.js new file mode 100644 index 00000000..d3efbf5a --- /dev/null +++ b/dist/node_modules/@octokit/auth-token/dist-src/auth.js @@ -0,0 +1,17 @@ +const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; +const REGEX_IS_INSTALLATION = /^ghs_/; +const REGEX_IS_USER_TO_SERVER = /^ghu_/; +async function auth(token) { + const isApp = token.split(/\./).length === 3; + const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); + const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); + const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; + return { + type: "token", + token, + tokenType + }; +} +export { + auth +}; diff --git a/dist/node_modules/@octokit/auth-token/dist-src/hook.js b/dist/node_modules/@octokit/auth-token/dist-src/hook.js new file mode 100644 index 00000000..371a041b --- /dev/null +++ b/dist/node_modules/@octokit/auth-token/dist-src/hook.js @@ -0,0 +1,12 @@ +import { withAuthorizationPrefix } from "./with-authorization-prefix"; +async function hook(token, request, route, parameters) { + const endpoint = request.endpoint.merge( + route, + parameters + ); + endpoint.headers.authorization = withAuthorizationPrefix(token); + return request(endpoint); +} +export { + hook +}; diff --git a/dist/node_modules/@octokit/auth-token/dist-src/index.js b/dist/node_modules/@octokit/auth-token/dist-src/index.js new file mode 100644 index 00000000..445cfaaa --- /dev/null +++ b/dist/node_modules/@octokit/auth-token/dist-src/index.js @@ -0,0 +1,19 @@ +import { auth } from "./auth"; +import { hook } from "./hook"; +const createTokenAuth = function createTokenAuth2(token) { + if (!token) { + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); + } + if (typeof token !== "string") { + throw new Error( + "[@octokit/auth-token] Token passed to createTokenAuth is not a string" + ); + } + token = token.replace(/^(token|bearer) +/i, ""); + return Object.assign(auth.bind(null, token), { + hook: hook.bind(null, token) + }); +}; +export { + createTokenAuth +}; diff --git a/dist/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js b/dist/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js new file mode 100644 index 00000000..02a4bb5e --- /dev/null +++ b/dist/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js @@ -0,0 +1,9 @@ +function withAuthorizationPrefix(token) { + if (token.split(/\./).length === 3) { + return `bearer ${token}`; + } + return `token ${token}`; +} +export { + withAuthorizationPrefix +}; diff --git a/dist/node_modules/@octokit/auth-token/dist-types/auth.d.ts b/dist/node_modules/@octokit/auth-token/dist-types/auth.d.ts new file mode 100644 index 00000000..941d8c21 --- /dev/null +++ b/dist/node_modules/@octokit/auth-token/dist-types/auth.d.ts @@ -0,0 +1,2 @@ +import type { Token, Authentication } from "./types"; +export declare function auth(token: Token): Promise; diff --git a/dist/node_modules/@octokit/auth-token/dist-types/hook.d.ts b/dist/node_modules/@octokit/auth-token/dist-types/hook.d.ts new file mode 100644 index 00000000..ad457dc3 --- /dev/null +++ b/dist/node_modules/@octokit/auth-token/dist-types/hook.d.ts @@ -0,0 +1,2 @@ +import type { AnyResponse, EndpointOptions, RequestInterface, RequestParameters, Route, Token } from "./types"; +export declare function hook(token: Token, request: RequestInterface, route: Route | EndpointOptions, parameters?: RequestParameters): Promise; diff --git a/dist/node_modules/@octokit/auth-token/dist-types/index.d.ts b/dist/node_modules/@octokit/auth-token/dist-types/index.d.ts new file mode 100644 index 00000000..115bb7f1 --- /dev/null +++ b/dist/node_modules/@octokit/auth-token/dist-types/index.d.ts @@ -0,0 +1,7 @@ +import type { StrategyInterface, Token, Authentication } from "./types"; +export type Types = { + StrategyOptions: Token; + AuthOptions: never; + Authentication: Authentication; +}; +export declare const createTokenAuth: StrategyInterface; diff --git a/dist/node_modules/@octokit/auth-token/dist-types/types.d.ts b/dist/node_modules/@octokit/auth-token/dist-types/types.d.ts new file mode 100644 index 00000000..4267fa19 --- /dev/null +++ b/dist/node_modules/@octokit/auth-token/dist-types/types.d.ts @@ -0,0 +1,33 @@ +import * as OctokitTypes from "@octokit/types"; +export type AnyResponse = OctokitTypes.OctokitResponse; +export type StrategyInterface = OctokitTypes.StrategyInterface<[ + Token +], [ +], Authentication>; +export type EndpointDefaults = OctokitTypes.EndpointDefaults; +export type EndpointOptions = OctokitTypes.EndpointOptions; +export type RequestParameters = OctokitTypes.RequestParameters; +export type RequestInterface = OctokitTypes.RequestInterface; +export type Route = OctokitTypes.Route; +export type Token = string; +export type OAuthTokenAuthentication = { + type: "token"; + tokenType: "oauth"; + token: Token; +}; +export type InstallationTokenAuthentication = { + type: "token"; + tokenType: "installation"; + token: Token; +}; +export type AppAuthentication = { + type: "token"; + tokenType: "app"; + token: Token; +}; +export type UserToServerAuthentication = { + type: "token"; + tokenType: "user-to-server"; + token: Token; +}; +export type Authentication = OAuthTokenAuthentication | InstallationTokenAuthentication | AppAuthentication | UserToServerAuthentication; diff --git a/dist/node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts b/dist/node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts new file mode 100644 index 00000000..2e52c31d --- /dev/null +++ b/dist/node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts @@ -0,0 +1,6 @@ +/** + * Prefix token for usage in the Authorization header + * + * @param token OAuth token or JSON Web Token + */ +export declare function withAuthorizationPrefix(token: string): string; diff --git a/dist/node_modules/@octokit/auth-token/dist-web/index.js b/dist/node_modules/@octokit/auth-token/dist-web/index.js new file mode 100644 index 00000000..b6f7249c --- /dev/null +++ b/dist/node_modules/@octokit/auth-token/dist-web/index.js @@ -0,0 +1,52 @@ +// pkg/dist-src/auth.js +var REGEX_IS_INSTALLATION_LEGACY = /^v1\./; +var REGEX_IS_INSTALLATION = /^ghs_/; +var REGEX_IS_USER_TO_SERVER = /^ghu_/; +async function auth(token) { + const isApp = token.split(/\./).length === 3; + const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); + const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); + const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; + return { + type: "token", + token, + tokenType + }; +} + +// pkg/dist-src/with-authorization-prefix.js +function withAuthorizationPrefix(token) { + if (token.split(/\./).length === 3) { + return `bearer ${token}`; + } + return `token ${token}`; +} + +// pkg/dist-src/hook.js +async function hook(token, request, route, parameters) { + const endpoint = request.endpoint.merge( + route, + parameters + ); + endpoint.headers.authorization = withAuthorizationPrefix(token); + return request(endpoint); +} + +// pkg/dist-src/index.js +var createTokenAuth = function createTokenAuth2(token) { + if (!token) { + throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); + } + if (typeof token !== "string") { + throw new Error( + "[@octokit/auth-token] Token passed to createTokenAuth is not a string" + ); + } + token = token.replace(/^(token|bearer) +/i, ""); + return Object.assign(auth.bind(null, token), { + hook: hook.bind(null, token) + }); +}; +export { + createTokenAuth +}; diff --git a/dist/node_modules/@octokit/auth-token/dist-web/index.js.map b/dist/node_modules/@octokit/auth-token/dist-web/index.js.map new file mode 100644 index 00000000..b84a1ead --- /dev/null +++ b/dist/node_modules/@octokit/auth-token/dist-web/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/auth.js", "../dist-src/with-authorization-prefix.js", "../dist-src/hook.js", "../dist-src/index.js"], + "sourcesContent": ["const REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nconst REGEX_IS_INSTALLATION = /^ghs_/;\nconst REGEX_IS_USER_TO_SERVER = /^ghu_/;\nasync function auth(token) {\n const isApp = token.split(/\\./).length === 3;\n const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token);\n const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n const tokenType = isApp ? \"app\" : isInstallation ? \"installation\" : isUserToServer ? \"user-to-server\" : \"oauth\";\n return {\n type: \"token\",\n token,\n tokenType\n };\n}\nexport {\n auth\n};\n", "function withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n return `token ${token}`;\n}\nexport {\n withAuthorizationPrefix\n};\n", "import { withAuthorizationPrefix } from \"./with-authorization-prefix\";\nasync function hook(token, request, route, parameters) {\n const endpoint = request.endpoint.merge(\n route,\n parameters\n );\n endpoint.headers.authorization = withAuthorizationPrefix(token);\n return request(endpoint);\n}\nexport {\n hook\n};\n", "import { auth } from \"./auth\";\nimport { hook } from \"./hook\";\nconst createTokenAuth = function createTokenAuth2(token) {\n if (!token) {\n throw new Error(\"[@octokit/auth-token] No token passed to createTokenAuth\");\n }\n if (typeof token !== \"string\") {\n throw new Error(\n \"[@octokit/auth-token] Token passed to createTokenAuth is not a string\"\n );\n }\n token = token.replace(/^(token|bearer) +/i, \"\");\n return Object.assign(auth.bind(null, token), {\n hook: hook.bind(null, token)\n });\n};\nexport {\n createTokenAuth\n};\n"], + "mappings": ";AAAA,IAAM,+BAA+B;AACrC,IAAM,wBAAwB;AAC9B,IAAM,0BAA0B;AAChC,eAAe,KAAK,OAAO;AACzB,QAAM,QAAQ,MAAM,MAAM,IAAI,EAAE,WAAW;AAC3C,QAAM,iBAAiB,6BAA6B,KAAK,KAAK,KAAK,sBAAsB,KAAK,KAAK;AACnG,QAAM,iBAAiB,wBAAwB,KAAK,KAAK;AACzD,QAAM,YAAY,QAAQ,QAAQ,iBAAiB,iBAAiB,iBAAiB,mBAAmB;AACxG,SAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACF;AACF;;;ACbA,SAAS,wBAAwB,OAAO;AACtC,MAAI,MAAM,MAAM,IAAI,EAAE,WAAW,GAAG;AAClC,WAAO,UAAU;AAAA,EACnB;AACA,SAAO,SAAS;AAClB;;;ACJA,eAAe,KAAK,OAAO,SAAS,OAAO,YAAY;AACrD,QAAM,WAAW,QAAQ,SAAS;AAAA,IAChC;AAAA,IACA;AAAA,EACF;AACA,WAAS,QAAQ,gBAAgB,wBAAwB,KAAK;AAC9D,SAAO,QAAQ,QAAQ;AACzB;;;ACNA,IAAM,kBAAkB,SAAS,iBAAiB,OAAO;AACvD,MAAI,CAAC,OAAO;AACV,UAAM,IAAI,MAAM,0DAA0D;AAAA,EAC5E;AACA,MAAI,OAAO,UAAU,UAAU;AAC7B,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,UAAQ,MAAM,QAAQ,sBAAsB,EAAE;AAC9C,SAAO,OAAO,OAAO,KAAK,KAAK,MAAM,KAAK,GAAG;AAAA,IAC3C,MAAM,KAAK,KAAK,MAAM,KAAK;AAAA,EAC7B,CAAC;AACH;", + "names": [] +} diff --git a/dist/node_modules/@octokit/auth-token/package.json b/dist/node_modules/@octokit/auth-token/package.json new file mode 100644 index 00000000..cecbfb69 --- /dev/null +++ b/dist/node_modules/@octokit/auth-token/package.json @@ -0,0 +1,44 @@ +{ + "name": "@octokit/auth-token", + "publishConfig": { + "access": "public" + }, + "version": "4.0.0", + "description": "GitHub API token authentication for browsers and Node.js", + "repository": "github:octokit/auth-token.js", + "keywords": [ + "github", + "octokit", + "authentication", + "api" + ], + "author": "Gregor Martynus (https://github.com/gr2m)", + "license": "MIT", + "devDependencies": { + "@octokit/request": "^6.0.0", + "@octokit/tsconfig": "^2.0.0", + "@octokit/types": "^9.2.3", + "@types/fetch-mock": "^7.3.1", + "@types/jest": "^29.0.0", + "esbuild": "^0.18.0", + "fetch-mock": "^9.0.0", + "glob": "^10.2.6", + "jest": "^29.0.0", + "prettier": "2.8.8", + "semantic-release": "^21.0.0", + "ts-jest": "^29.0.0", + "typescript": "^5.0.0" + }, + "engines": { + "node": ">= 18" + }, + "files": [ + "dist-*/**", + "bin/**" + ], + "main": "dist-node/index.js", + "browser": "dist-web/index.js", + "types": "dist-types/index.d.ts", + "module": "dist-src/index.js", + "sideEffects": false +} diff --git a/dist/node_modules/@octokit/core/LICENSE b/dist/node_modules/@octokit/core/LICENSE new file mode 100644 index 00000000..ef2c18ee --- /dev/null +++ b/dist/node_modules/@octokit/core/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2019 Octokit contributors + +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. diff --git a/dist/node_modules/@octokit/core/README.md b/dist/node_modules/@octokit/core/README.md new file mode 100644 index 00000000..985841bf --- /dev/null +++ b/dist/node_modules/@octokit/core/README.md @@ -0,0 +1,448 @@ +# core.js + +> Extendable client for GitHub's REST & GraphQL APIs + +[![@latest](https://img.shields.io/npm/v/@octokit/core.svg)](https://www.npmjs.com/package/@octokit/core) +[![Build Status](https://github.com/octokit/core.js/workflows/Test/badge.svg)](https://github.com/octokit/core.js/actions?query=workflow%3ATest+branch%3Amain) + + + +- [Usage](#usage) + - [REST API example](#rest-api-example) + - [GraphQL example](#graphql-example) +- [Options](#options) +- [Defaults](#defaults) +- [Authentication](#authentication) +- [Logging](#logging) +- [Hooks](#hooks) +- [Plugins](#plugins) +- [Build your own Octokit with Plugins and Defaults](#build-your-own-octokit-with-plugins-and-defaults) +- [LICENSE](#license) + + + +If you need a minimalistic library to utilize GitHub's [REST API](https://developer.github.com/v3/) and [GraphQL API](https://developer.github.com/v4/) which you can extend with plugins as needed, then `@octokit/core` is a great starting point. + +If you don't need the Plugin API then using [`@octokit/request`](https://github.com/octokit/request.js/) or [`@octokit/graphql`](https://github.com/octokit/graphql.js/) directly is a good alternative. + +## Usage + + + + + + +
+Browsers + +Load @octokit/core directly from esm.sh + +```html + +``` + +
+Node + + +Install with npm install @octokit/core + +```js +const { Octokit } = require("@octokit/core"); +// or: import { Octokit } from "@octokit/core"; +``` + +
+ +### REST API example + +```js +// Create a personal access token at https://github.com/settings/tokens/new?scopes=repo +const octokit = new Octokit({ auth: `personal-access-token123` }); + +const response = await octokit.request("GET /orgs/{org}/repos", { + org: "octokit", + type: "private", +}); +``` + +See [`@octokit/request`](https://github.com/octokit/request.js) for full documentation of the `.request` method. + +### GraphQL example + +```js +const octokit = new Octokit({ auth: `secret123` }); + +const response = await octokit.graphql( + `query ($login: String!) { + organization(login: $login) { + repositories(privacy: PRIVATE) { + totalCount + } + } + }`, + { login: "octokit" }, +); +``` + +See [`@octokit/graphql`](https://github.com/octokit/graphql.js) for full documentation of the `.graphql` method. + +## Options + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ name + + type + + description +
+ options.authStrategy + + Function + + Defaults to @octokit/auth-token. See Authentication below for examples. +
+ options.auth + + String or Object + + See Authentication below for examples. +
+ options.baseUrl + + String + + +When using with GitHub Enterprise Server, set `options.baseUrl` to the root URL of the API. For example, if your GitHub Enterprise Server's hostname is `github.acme-inc.com`, then set `options.baseUrl` to `https://github.acme-inc.com/api/v3`. Example + +```js +const octokit = new Octokit({ + baseUrl: "https://github.acme-inc.com/api/v3", +}); +``` + +
+ options.previews + + Array of Strings + + +Some REST API endpoints require preview headers to be set, or enable +additional features. Preview headers can be set on a per-request basis, e.g. + +```js +octokit.request("POST /repos/{owner}/{repo}/pulls", { + mediaType: { + previews: ["shadow-cat"], + }, + owner, + repo, + title: "My pull request", + base: "main", + head: "my-feature", + draft: true, +}); +``` + +You can also set previews globally, by setting the `options.previews` option on the constructor. Example: + +```js +const octokit = new Octokit({ + previews: ["shadow-cat"], +}); +``` + +
+ options.request + + Object + + +Set a default request timeout (`options.request.timeout`) or an [`http(s).Agent`](https://nodejs.org/api/http.html#http_class_http_agent) e.g. for proxy usage (Node only, `options.request.agent`). + +There are more `options.request.*` options, see [`@octokit/request` options](https://github.com/octokit/request.js#request). `options.request` can also be set on a per-request basis. + +
+ options.timeZone + + String + + +Sets the `Time-Zone` header which defines a timezone according to the [list of names from the Olson database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + +```js +const octokit = new Octokit({ + timeZone: "America/Los_Angeles", +}); +``` + +The time zone header will determine the timezone used for generating the timestamp when creating commits. See [GitHub's Timezones documentation](https://developer.github.com/v3/#timezones). + +
+ options.userAgent + + String + + +A custom user agent string for your app or library. Example + +```js +const octokit = new Octokit({ + userAgent: "my-app/v1.2.3", +}); +``` + +
+ +## Defaults + +You can create a new Octokit class with customized default options. + +```js +const MyOctokit = Octokit.defaults({ + auth: "personal-access-token123", + baseUrl: "https://github.acme-inc.com/api/v3", + userAgent: "my-app/v1.2.3", +}); +const octokit1 = new MyOctokit(); +const octokit2 = new MyOctokit(); +``` + +If you pass additional options to your new constructor, the options will be merged shallowly. + +```js +const MyOctokit = Octokit.defaults({ + foo: { + opt1: 1, + }, +}); +const octokit = new MyOctokit({ + foo: { + opt2: 1, + }, +}); +// options will be { foo: { opt2: 1 }} +``` + +If you need a deep or conditional merge, you can pass a function instead. + +```js +const MyOctokit = Octokit.defaults((options) => { + return { + foo: Object.assign({}, options.foo, { opt1: 1 }), + }; +}); +const octokit = new MyOctokit({ + foo: { opt2: 1 }, +}); +// options will be { foo: { opt1: 1, opt2: 1 }} +``` + +Be careful about mutating the `options` object in the `Octokit.defaults` callback, as it can have unforeseen consequences. + +## Authentication + +Authentication is optional for some REST API endpoints accessing public data, but is required for GraphQL queries. Using authentication also increases your [API rate limit](https://developer.github.com/v3/#rate-limiting). + +By default, Octokit authenticates using the [token authentication strategy](https://github.com/octokit/auth-token.js). Pass in a token using `options.auth`. It can be a personal access token, an OAuth token, an installation access token or a JSON Web Token for GitHub App authentication. The `Authorization` header will be set according to the type of token. + +```js +import { Octokit } from "@octokit/core"; + +const octokit = new Octokit({ + auth: "mypersonalaccesstoken123", +}); + +const { data } = await octokit.request("/user"); +``` + +To use a different authentication strategy, set `options.authStrategy`. A list of authentication strategies is available at [octokit/authentication-strategies.js](https://github.com/octokit/authentication-strategies.js/#readme). + +Example + +```js +import { Octokit } from "@octokit/core"; +import { createAppAuth } from "@octokit/auth-app"; + +const appOctokit = new Octokit({ + authStrategy: createAppAuth, + auth: { + appId: 123, + privateKey: process.env.PRIVATE_KEY, + }, +}); + +const { data } = await appOctokit.request("/app"); +``` + +The `.auth()` method returned by the current authentication strategy can be accessed at `octokit.auth()`. Example + +```js +const { token } = await appOctokit.auth({ + type: "installation", + installationId: 123, +}); +``` + +## Logging + +There are four built-in log methods + +1. `octokit.log.debug(message[, additionalInfo])` +1. `octokit.log.info(message[, additionalInfo])` +1. `octokit.log.warn(message[, additionalInfo])` +1. `octokit.log.error(message[, additionalInfo])` + +They can be configured using the [`log` client option](client-options). By default, `octokit.log.debug()` and `octokit.log.info()` are no-ops, while the other two call `console.warn()` and `console.error()` respectively. + +This is useful if you build reusable [plugins](#plugins). + +If you would like to make the log level configurable using an environment variable or external option, we recommend the [console-log-level](https://github.com/watson/console-log-level) package. Example + +```js +const octokit = new Octokit({ + log: require("console-log-level")({ level: "info" }), +}); +``` + +## Hooks + +You can customize Octokit's request lifecycle with hooks. + +```js +octokit.hook.before("request", async (options) => { + validate(options); +}); +octokit.hook.after("request", async (response, options) => { + console.log(`${options.method} ${options.url}: ${response.status}`); +}); +octokit.hook.error("request", async (error, options) => { + if (error.status === 304) { + return findInCache(error.response.headers.etag); + } + + throw error; +}); +octokit.hook.wrap("request", async (request, options) => { + // add logic before, after, catch errors or replace the request altogether + return request(options); +}); +``` + +See [before-after-hook](https://github.com/gr2m/before-after-hook#readme) for more documentation on hooks. + +## Plugins + +Octokit’s functionality can be extended using plugins. The `Octokit.plugin()` method accepts a plugin (or many) and returns a new constructor. + +A plugin is a function which gets two arguments: + +1. the current instance +2. the options passed to the constructor. + +In order to extend `octokit`'s API, the plugin must return an object with the new methods. Please refrain from adding methods directly to the `octokit` instance, especialy if you depend on keys that do not exist in `@octokit/core`, such as `octokit.rest`. + +```js +// index.js +const { Octokit } = require("@octokit/core") +const MyOctokit = Octokit.plugin( + require("./lib/my-plugin"), + require("octokit-plugin-example") +); + +const octokit = new MyOctokit({ greeting: "Moin moin" }); +octokit.helloWorld(); // logs "Moin moin, world!" +octokit.request("GET /"); // logs "GET / - 200 in 123ms" + +// lib/my-plugin.js +module.exports = (octokit, options = { greeting: "Hello" }) => { + // hook into the request lifecycle + octokit.hook.wrap("request", async (request, options) => { + const time = Date.now(); + const response = await request(options); + console.log( + `${options.method} ${options.url} – ${response.status} in ${Date.now() - + time}ms` + ); + return response; + }); + + // add a custom method + return { + helloWorld: () => console.log(`${options.greeting}, world!`); + } +}; +``` + +## Build your own Octokit with Plugins and Defaults + +You can build your own Octokit class with preset default options and plugins. In fact, this is mostly how the `@octokit/` modules work, such as [`@octokit/action`](https://github.com/octokit/action.js): + +```js +const { Octokit } = require("@octokit/core"); +const MyActionOctokit = Octokit.plugin( + require("@octokit/plugin-paginate-rest").paginateRest, + require("@octokit/plugin-throttling").throttling, + require("@octokit/plugin-retry").retry, +).defaults({ + throttle: { + onAbuseLimit: (retryAfter, options) => { + /* ... */ + }, + onRateLimit: (retryAfter, options) => { + /* ... */ + }, + }, + authStrategy: require("@octokit/auth-action").createActionAuth, + userAgent: `my-octokit-action/v1.2.3`, +}); + +const octokit = new MyActionOctokit(); +const installations = await octokit.paginate("GET /app/installations"); +``` + +## LICENSE + +[MIT](LICENSE) diff --git a/dist/node_modules/@octokit/core/dist-node/index.js b/dist/node_modules/@octokit/core/dist-node/index.js new file mode 100644 index 00000000..5b9fc66b --- /dev/null +++ b/dist/node_modules/@octokit/core/dist-node/index.js @@ -0,0 +1,170 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var index_exports = {}; +__export(index_exports, { + Octokit: () => Octokit +}); +module.exports = __toCommonJS(index_exports); +var import_universal_user_agent = require("universal-user-agent"); +var import_before_after_hook = require("before-after-hook"); +var import_request = require("@octokit/request"); +var import_graphql = require("@octokit/graphql"); +var import_auth_token = require("@octokit/auth-token"); + +// pkg/dist-src/version.js +var VERSION = "5.2.2"; + +// pkg/dist-src/index.js +var noop = () => { +}; +var consoleWarn = console.warn.bind(console); +var consoleError = console.error.bind(console); +function createLogger(logger = {}) { + if (typeof logger.debug !== "function") { + logger.debug = noop; + } + if (typeof logger.info !== "function") { + logger.info = noop; + } + if (typeof logger.warn !== "function") { + logger.warn = consoleWarn; + } + if (typeof logger.error !== "function") { + logger.error = consoleError; + } + return logger; +} +var userAgentTrail = `octokit-core.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}`; +var Octokit = class { + static { + this.VERSION = VERSION; + } + static defaults(defaults) { + const OctokitWithDefaults = class extends this { + constructor(...args) { + const options = args[0] || {}; + if (typeof defaults === "function") { + super(defaults(options)); + return; + } + super( + Object.assign( + {}, + defaults, + options, + options.userAgent && defaults.userAgent ? { + userAgent: `${options.userAgent} ${defaults.userAgent}` + } : null + ) + ); + } + }; + return OctokitWithDefaults; + } + static { + this.plugins = []; + } + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ + static plugin(...newPlugins) { + const currentPlugins = this.plugins; + const NewOctokit = class extends this { + static { + this.plugins = currentPlugins.concat( + newPlugins.filter((plugin) => !currentPlugins.includes(plugin)) + ); + } + }; + return NewOctokit; + } + constructor(options = {}) { + const hook = new import_before_after_hook.Collection(); + const requestDefaults = { + baseUrl: import_request.request.endpoint.DEFAULTS.baseUrl, + headers: {}, + request: Object.assign({}, options.request, { + // @ts-ignore internal usage only, no need to type + hook: hook.bind(null, "request") + }), + mediaType: { + previews: [], + format: "" + } + }; + requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail; + if (options.baseUrl) { + requestDefaults.baseUrl = options.baseUrl; + } + if (options.previews) { + requestDefaults.mediaType.previews = options.previews; + } + if (options.timeZone) { + requestDefaults.headers["time-zone"] = options.timeZone; + } + this.request = import_request.request.defaults(requestDefaults); + this.graphql = (0, import_graphql.withCustomRequest)(this.request).defaults(requestDefaults); + this.log = createLogger(options.log); + this.hook = hook; + if (!options.authStrategy) { + if (!options.auth) { + this.auth = async () => ({ + type: "unauthenticated" + }); + } else { + const auth = (0, import_auth_token.createTokenAuth)(options.auth); + hook.wrap("request", auth.hook); + this.auth = auth; + } + } else { + const { authStrategy, ...otherOptions } = options; + const auth = authStrategy( + Object.assign( + { + request: this.request, + log: this.log, + // we pass the current octokit instance as well as its constructor options + // to allow for authentication strategies that return a new octokit instance + // that shares the same internal state as the current one. The original + // requirement for this was the "event-octokit" authentication strategy + // of https://github.com/probot/octokit-auth-probot. + octokit: this, + octokitOptions: otherOptions + }, + options.auth + ) + ); + hook.wrap("request", auth.hook); + this.auth = auth; + } + const classConstructor = this.constructor; + for (let i = 0; i < classConstructor.plugins.length; ++i) { + Object.assign(this, classConstructor.plugins[i](this, options)); + } + } +}; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + Octokit +}); diff --git a/dist/node_modules/@octokit/core/dist-node/index.js.map b/dist/node_modules/@octokit/core/dist-node/index.js.map new file mode 100644 index 00000000..4700b471 --- /dev/null +++ b/dist/node_modules/@octokit/core/dist-node/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/index.js", "../dist-src/version.js"], + "sourcesContent": ["import { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { graphql, withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\nimport { VERSION } from \"./version.js\";\nconst noop = () => {\n};\nconst consoleWarn = console.warn.bind(console);\nconst consoleError = console.error.bind(console);\nfunction createLogger(logger = {}) {\n if (typeof logger.debug !== \"function\") {\n logger.debug = noop;\n }\n if (typeof logger.info !== \"function\") {\n logger.info = noop;\n }\n if (typeof logger.warn !== \"function\") {\n logger.warn = consoleWarn;\n }\n if (typeof logger.error !== \"function\") {\n logger.error = consoleError;\n }\n return logger;\n}\nconst userAgentTrail = `octokit-core.js/${VERSION} ${getUserAgent()}`;\nclass Octokit {\n static {\n this.VERSION = VERSION;\n }\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n super(\n Object.assign(\n {},\n defaults,\n options,\n options.userAgent && defaults.userAgent ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`\n } : null\n )\n );\n }\n };\n return OctokitWithDefaults;\n }\n static {\n this.plugins = [];\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n static plugin(...newPlugins) {\n const currentPlugins = this.plugins;\n const NewOctokit = class extends this {\n static {\n this.plugins = currentPlugins.concat(\n newPlugins.filter((plugin) => !currentPlugins.includes(plugin))\n );\n }\n };\n return NewOctokit;\n }\n constructor(options = {}) {\n const hook = new Collection();\n const requestDefaults = {\n baseUrl: request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\")\n }),\n mediaType: {\n previews: [],\n format: \"\"\n }\n };\n requestDefaults.headers[\"user-agent\"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail;\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n this.request = request.defaults(requestDefaults);\n this.graphql = withCustomRequest(this.request).defaults(requestDefaults);\n this.log = createLogger(options.log);\n this.hook = hook;\n if (!options.authStrategy) {\n if (!options.auth) {\n this.auth = async () => ({\n type: \"unauthenticated\"\n });\n } else {\n const auth = createTokenAuth(options.auth);\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n } else {\n const { authStrategy, ...otherOptions } = options;\n const auth = authStrategy(\n Object.assign(\n {\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions\n },\n options.auth\n )\n );\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n const classConstructor = this.constructor;\n for (let i = 0; i < classConstructor.plugins.length; ++i) {\n Object.assign(this, classConstructor.plugins[i](this, options));\n }\n }\n}\nexport {\n Octokit\n};\n", "const VERSION = \"5.2.2\";\nexport {\n VERSION\n};\n"], + "mappings": "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", + "names": [] +} diff --git a/dist/node_modules/@octokit/core/dist-src/index.js b/dist/node_modules/@octokit/core/dist-src/index.js new file mode 100644 index 00000000..a2d404cc --- /dev/null +++ b/dist/node_modules/@octokit/core/dist-src/index.js @@ -0,0 +1,140 @@ +import { getUserAgent } from "universal-user-agent"; +import { Collection } from "before-after-hook"; +import { request } from "@octokit/request"; +import { graphql, withCustomRequest } from "@octokit/graphql"; +import { createTokenAuth } from "@octokit/auth-token"; +import { VERSION } from "./version.js"; +const noop = () => { +}; +const consoleWarn = console.warn.bind(console); +const consoleError = console.error.bind(console); +function createLogger(logger = {}) { + if (typeof logger.debug !== "function") { + logger.debug = noop; + } + if (typeof logger.info !== "function") { + logger.info = noop; + } + if (typeof logger.warn !== "function") { + logger.warn = consoleWarn; + } + if (typeof logger.error !== "function") { + logger.error = consoleError; + } + return logger; +} +const userAgentTrail = `octokit-core.js/${VERSION} ${getUserAgent()}`; +class Octokit { + static { + this.VERSION = VERSION; + } + static defaults(defaults) { + const OctokitWithDefaults = class extends this { + constructor(...args) { + const options = args[0] || {}; + if (typeof defaults === "function") { + super(defaults(options)); + return; + } + super( + Object.assign( + {}, + defaults, + options, + options.userAgent && defaults.userAgent ? { + userAgent: `${options.userAgent} ${defaults.userAgent}` + } : null + ) + ); + } + }; + return OctokitWithDefaults; + } + static { + this.plugins = []; + } + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ + static plugin(...newPlugins) { + const currentPlugins = this.plugins; + const NewOctokit = class extends this { + static { + this.plugins = currentPlugins.concat( + newPlugins.filter((plugin) => !currentPlugins.includes(plugin)) + ); + } + }; + return NewOctokit; + } + constructor(options = {}) { + const hook = new Collection(); + const requestDefaults = { + baseUrl: request.endpoint.DEFAULTS.baseUrl, + headers: {}, + request: Object.assign({}, options.request, { + // @ts-ignore internal usage only, no need to type + hook: hook.bind(null, "request") + }), + mediaType: { + previews: [], + format: "" + } + }; + requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail; + if (options.baseUrl) { + requestDefaults.baseUrl = options.baseUrl; + } + if (options.previews) { + requestDefaults.mediaType.previews = options.previews; + } + if (options.timeZone) { + requestDefaults.headers["time-zone"] = options.timeZone; + } + this.request = request.defaults(requestDefaults); + this.graphql = withCustomRequest(this.request).defaults(requestDefaults); + this.log = createLogger(options.log); + this.hook = hook; + if (!options.authStrategy) { + if (!options.auth) { + this.auth = async () => ({ + type: "unauthenticated" + }); + } else { + const auth = createTokenAuth(options.auth); + hook.wrap("request", auth.hook); + this.auth = auth; + } + } else { + const { authStrategy, ...otherOptions } = options; + const auth = authStrategy( + Object.assign( + { + request: this.request, + log: this.log, + // we pass the current octokit instance as well as its constructor options + // to allow for authentication strategies that return a new octokit instance + // that shares the same internal state as the current one. The original + // requirement for this was the "event-octokit" authentication strategy + // of https://github.com/probot/octokit-auth-probot. + octokit: this, + octokitOptions: otherOptions + }, + options.auth + ) + ); + hook.wrap("request", auth.hook); + this.auth = auth; + } + const classConstructor = this.constructor; + for (let i = 0; i < classConstructor.plugins.length; ++i) { + Object.assign(this, classConstructor.plugins[i](this, options)); + } + } +} +export { + Octokit +}; diff --git a/dist/node_modules/@octokit/core/dist-src/version.js b/dist/node_modules/@octokit/core/dist-src/version.js new file mode 100644 index 00000000..5ca6e417 --- /dev/null +++ b/dist/node_modules/@octokit/core/dist-src/version.js @@ -0,0 +1,4 @@ +const VERSION = "5.2.2"; +export { + VERSION +}; diff --git a/dist/node_modules/@octokit/core/dist-types/index.d.ts b/dist/node_modules/@octokit/core/dist-types/index.d.ts new file mode 100644 index 00000000..1102b3b7 --- /dev/null +++ b/dist/node_modules/@octokit/core/dist-types/index.d.ts @@ -0,0 +1,31 @@ +import type { HookCollection } from "before-after-hook"; +import { request } from "@octokit/request"; +import { graphql } from "@octokit/graphql"; +import type { Constructor, Hooks, OctokitOptions, OctokitPlugin, ReturnTypeOf, UnionToIntersection } from "./types.js"; +export type { OctokitOptions } from "./types.js"; +export declare class Octokit { + static VERSION: string; + static defaults>(this: S, defaults: OctokitOptions | Function): S; + static plugins: OctokitPlugin[]; + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ + static plugin & { + plugins: any[]; + }, T extends OctokitPlugin[]>(this: S, ...newPlugins: T): S & Constructor>>; + constructor(options?: OctokitOptions); + request: typeof request; + graphql: typeof graphql; + log: { + debug: (message: string, additionalInfo?: object) => any; + info: (message: string, additionalInfo?: object) => any; + warn: (message: string, additionalInfo?: object) => any; + error: (message: string, additionalInfo?: object) => any; + [key: string]: any; + }; + hook: HookCollection; + auth: (...args: unknown[]) => Promise; +} diff --git a/dist/node_modules/@octokit/core/dist-types/types.d.ts b/dist/node_modules/@octokit/core/dist-types/types.d.ts new file mode 100644 index 00000000..3f8f09b4 --- /dev/null +++ b/dist/node_modules/@octokit/core/dist-types/types.d.ts @@ -0,0 +1,44 @@ +import * as OctokitTypes from "@octokit/types"; +import { RequestError } from "@octokit/request-error"; +import type { Octokit } from "./index.js"; +export type RequestParameters = OctokitTypes.RequestParameters; +export interface OctokitOptions { + authStrategy?: any; + auth?: any; + userAgent?: string; + previews?: string[]; + baseUrl?: string; + log?: { + debug: (message: string) => unknown; + info: (message: string) => unknown; + warn: (message: string) => unknown; + error: (message: string) => unknown; + }; + request?: OctokitTypes.RequestRequestOptions; + timeZone?: string; + [option: string]: any; +} +export type Constructor = new (...args: any[]) => T; +export type ReturnTypeOf = T extends AnyFunction ? ReturnType : T extends AnyFunction[] ? UnionToIntersection, void>> : never; +/** + * @author https://stackoverflow.com/users/2887218/jcalz + * @see https://stackoverflow.com/a/50375286/10325032 + */ +export type UnionToIntersection = (Union extends any ? (argument: Union) => void : never) extends (argument: infer Intersection) => void ? Intersection : never; +type AnyFunction = (...args: any) => any; +export type OctokitPlugin = (octokit: Octokit, options: OctokitOptions) => { + [key: string]: any; +} | void; +export type Hooks = { + request: { + Options: Required; + Result: OctokitTypes.OctokitResponse; + Error: RequestError | Error; + }; + [key: string]: { + Options: unknown; + Result: unknown; + Error: unknown; + }; +}; +export {}; diff --git a/dist/node_modules/@octokit/core/dist-types/version.d.ts b/dist/node_modules/@octokit/core/dist-types/version.d.ts new file mode 100644 index 00000000..d27375ec --- /dev/null +++ b/dist/node_modules/@octokit/core/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "5.2.2"; diff --git a/dist/node_modules/@octokit/core/dist-web/index.js b/dist/node_modules/@octokit/core/dist-web/index.js new file mode 100644 index 00000000..a562cfcb --- /dev/null +++ b/dist/node_modules/@octokit/core/dist-web/index.js @@ -0,0 +1,145 @@ +// pkg/dist-src/index.js +import { getUserAgent } from "universal-user-agent"; +import { Collection } from "before-after-hook"; +import { request } from "@octokit/request"; +import { graphql, withCustomRequest } from "@octokit/graphql"; +import { createTokenAuth } from "@octokit/auth-token"; + +// pkg/dist-src/version.js +var VERSION = "5.2.2"; + +// pkg/dist-src/index.js +var noop = () => { +}; +var consoleWarn = console.warn.bind(console); +var consoleError = console.error.bind(console); +function createLogger(logger = {}) { + if (typeof logger.debug !== "function") { + logger.debug = noop; + } + if (typeof logger.info !== "function") { + logger.info = noop; + } + if (typeof logger.warn !== "function") { + logger.warn = consoleWarn; + } + if (typeof logger.error !== "function") { + logger.error = consoleError; + } + return logger; +} +var userAgentTrail = `octokit-core.js/${VERSION} ${getUserAgent()}`; +var Octokit = class { + static { + this.VERSION = VERSION; + } + static defaults(defaults) { + const OctokitWithDefaults = class extends this { + constructor(...args) { + const options = args[0] || {}; + if (typeof defaults === "function") { + super(defaults(options)); + return; + } + super( + Object.assign( + {}, + defaults, + options, + options.userAgent && defaults.userAgent ? { + userAgent: `${options.userAgent} ${defaults.userAgent}` + } : null + ) + ); + } + }; + return OctokitWithDefaults; + } + static { + this.plugins = []; + } + /** + * Attach a plugin (or many) to your Octokit instance. + * + * @example + * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) + */ + static plugin(...newPlugins) { + const currentPlugins = this.plugins; + const NewOctokit = class extends this { + static { + this.plugins = currentPlugins.concat( + newPlugins.filter((plugin) => !currentPlugins.includes(plugin)) + ); + } + }; + return NewOctokit; + } + constructor(options = {}) { + const hook = new Collection(); + const requestDefaults = { + baseUrl: request.endpoint.DEFAULTS.baseUrl, + headers: {}, + request: Object.assign({}, options.request, { + // @ts-ignore internal usage only, no need to type + hook: hook.bind(null, "request") + }), + mediaType: { + previews: [], + format: "" + } + }; + requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail; + if (options.baseUrl) { + requestDefaults.baseUrl = options.baseUrl; + } + if (options.previews) { + requestDefaults.mediaType.previews = options.previews; + } + if (options.timeZone) { + requestDefaults.headers["time-zone"] = options.timeZone; + } + this.request = request.defaults(requestDefaults); + this.graphql = withCustomRequest(this.request).defaults(requestDefaults); + this.log = createLogger(options.log); + this.hook = hook; + if (!options.authStrategy) { + if (!options.auth) { + this.auth = async () => ({ + type: "unauthenticated" + }); + } else { + const auth = createTokenAuth(options.auth); + hook.wrap("request", auth.hook); + this.auth = auth; + } + } else { + const { authStrategy, ...otherOptions } = options; + const auth = authStrategy( + Object.assign( + { + request: this.request, + log: this.log, + // we pass the current octokit instance as well as its constructor options + // to allow for authentication strategies that return a new octokit instance + // that shares the same internal state as the current one. The original + // requirement for this was the "event-octokit" authentication strategy + // of https://github.com/probot/octokit-auth-probot. + octokit: this, + octokitOptions: otherOptions + }, + options.auth + ) + ); + hook.wrap("request", auth.hook); + this.auth = auth; + } + const classConstructor = this.constructor; + for (let i = 0; i < classConstructor.plugins.length; ++i) { + Object.assign(this, classConstructor.plugins[i](this, options)); + } + } +}; +export { + Octokit +}; diff --git a/dist/node_modules/@octokit/core/dist-web/index.js.map b/dist/node_modules/@octokit/core/dist-web/index.js.map new file mode 100644 index 00000000..abd5281a --- /dev/null +++ b/dist/node_modules/@octokit/core/dist-web/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/index.js", "../dist-src/version.js"], + "sourcesContent": ["import { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { graphql, withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\nimport { VERSION } from \"./version.js\";\nconst noop = () => {\n};\nconst consoleWarn = console.warn.bind(console);\nconst consoleError = console.error.bind(console);\nfunction createLogger(logger = {}) {\n if (typeof logger.debug !== \"function\") {\n logger.debug = noop;\n }\n if (typeof logger.info !== \"function\") {\n logger.info = noop;\n }\n if (typeof logger.warn !== \"function\") {\n logger.warn = consoleWarn;\n }\n if (typeof logger.error !== \"function\") {\n logger.error = consoleError;\n }\n return logger;\n}\nconst userAgentTrail = `octokit-core.js/${VERSION} ${getUserAgent()}`;\nclass Octokit {\n static {\n this.VERSION = VERSION;\n }\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n super(\n Object.assign(\n {},\n defaults,\n options,\n options.userAgent && defaults.userAgent ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`\n } : null\n )\n );\n }\n };\n return OctokitWithDefaults;\n }\n static {\n this.plugins = [];\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n static plugin(...newPlugins) {\n const currentPlugins = this.plugins;\n const NewOctokit = class extends this {\n static {\n this.plugins = currentPlugins.concat(\n newPlugins.filter((plugin) => !currentPlugins.includes(plugin))\n );\n }\n };\n return NewOctokit;\n }\n constructor(options = {}) {\n const hook = new Collection();\n const requestDefaults = {\n baseUrl: request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\")\n }),\n mediaType: {\n previews: [],\n format: \"\"\n }\n };\n requestDefaults.headers[\"user-agent\"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail;\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n this.request = request.defaults(requestDefaults);\n this.graphql = withCustomRequest(this.request).defaults(requestDefaults);\n this.log = createLogger(options.log);\n this.hook = hook;\n if (!options.authStrategy) {\n if (!options.auth) {\n this.auth = async () => ({\n type: \"unauthenticated\"\n });\n } else {\n const auth = createTokenAuth(options.auth);\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n } else {\n const { authStrategy, ...otherOptions } = options;\n const auth = authStrategy(\n Object.assign(\n {\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions\n },\n options.auth\n )\n );\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n const classConstructor = this.constructor;\n for (let i = 0; i < classConstructor.plugins.length; ++i) {\n Object.assign(this, classConstructor.plugins[i](this, options));\n }\n }\n}\nexport {\n Octokit\n};\n", "const VERSION = \"5.2.2\";\nexport {\n VERSION\n};\n"], + "mappings": "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", + "names": [] +} diff --git a/dist/node_modules/@octokit/core/package.json b/dist/node_modules/@octokit/core/package.json new file mode 100644 index 00000000..a69e765d --- /dev/null +++ b/dist/node_modules/@octokit/core/package.json @@ -0,0 +1,62 @@ +{ + "name": "@octokit/core", + "version": "5.2.2", + "publishConfig": { + "access": "public", + "provenance": true + }, + "description": "Extendable client for GitHub's REST & GraphQL APIs", + "repository": "github:octokit/core.js", + "keywords": [ + "octokit", + "github", + "api", + "sdk", + "toolkit" + ], + "author": "Gregor Martynus (https://github.com/gr2m)", + "license": "MIT", + "dependencies": { + "@octokit/auth-token": "^4.0.0", + "@octokit/graphql": "^7.1.0", + "@octokit/request": "^8.4.1", + "@octokit/request-error": "^5.1.1", + "@octokit/types": "^13.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + }, + "devDependencies": { + "@octokit/auth-action": "^4.1.0", + "@octokit/auth-app": "^6.0.0", + "@octokit/auth-oauth-app": "^7.1.0", + "@octokit/tsconfig": "^2.0.0", + "@sinonjs/fake-timers": "^11.2.2", + "@types/jest": "^29.0.0", + "@types/lolex": "^5.1.0", + "@types/node": "^20.0.0", + "@types/sinonjs__fake-timers": "^8.1.5", + "esbuild": "^0.25.0", + "fetch-mock": "^11.0.0", + "glob": "^10.2.5", + "http-proxy-agent": "^7.0.0", + "jest": "^29.0.0", + "prettier": "3.2.4", + "proxy": "^2.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "ts-jest": "^29.0.0", + "typescript": "^5.0.0", + "undici": "^6.0.0" + }, + "engines": { + "node": ">= 18" + }, + "files": [ + "dist-*/**", + "bin/**" + ], + "main": "dist-node/index.js", + "module": "dist-web/index.js", + "types": "dist-types/index.d.ts", + "source": "dist-src/index.js", + "sideEffects": false +} diff --git a/dist/node_modules/@octokit/endpoint/LICENSE b/dist/node_modules/@octokit/endpoint/LICENSE new file mode 100644 index 00000000..af5366d0 --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2018 Octokit contributors + +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. diff --git a/dist/node_modules/@octokit/endpoint/README.md b/dist/node_modules/@octokit/endpoint/README.md new file mode 100644 index 00000000..07acbd10 --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/README.md @@ -0,0 +1,410 @@ +# endpoint.js + +> Turns GitHub REST API endpoints into generic request options + +[![@latest](https://img.shields.io/npm/v/@octokit/endpoint.svg)](https://www.npmjs.com/package/@octokit/endpoint) +[![Build Status](https://github.com/octokit/endpoint.js/workflows/Test/badge.svg)](https://github.com/octokit/endpoint.js/actions/workflows/test.yml?query=branch%3Amain) + +`@octokit/endpoint` combines [GitHub REST API routes](https://developer.github.com/v3/) with your parameters and turns them into generic request options that can be used in any request library. + + + + + +- [Usage](#usage) +- [API](#api) + - [`endpoint(route, options)` or `endpoint(options)`](#endpointroute-options-or-endpointoptions) + - [`endpoint.defaults()`](#endpointdefaults) + - [`endpoint.DEFAULTS`](#endpointdefaults) + - [`endpoint.merge(route, options)` or `endpoint.merge(options)`](#endpointmergeroute-options-or-endpointmergeoptions) + - [`endpoint.parse()`](#endpointparse) +- [Special cases](#special-cases) + - [The `data` parameter – set request body directly](#the-data-parameter-%E2%80%93-set-request-body-directly) + - [Set parameters for both the URL/query and the request body](#set-parameters-for-both-the-urlquery-and-the-request-body) +- [LICENSE](#license) + + + +## Usage + + + + + + +
+Browsers + +Load @octokit/endpoint directly from esm.sh + +```html + +``` + +
+Node + + +Install with npm install @octokit/endpoint + +```js +const { endpoint } = require("@octokit/endpoint"); +// or: import { endpoint } from "@octokit/endpoint"; +``` + +
+ +Example for [List organization repositories](https://developer.github.com/v3/repos/#list-organization-repositories) + +```js +const requestOptions = endpoint("GET /orgs/{org}/repos", { + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, + org: "octokit", + type: "private", +}); +``` + +The resulting `requestOptions` looks as follows + +```json +{ + "method": "GET", + "url": "https://api.github.com/orgs/octokit/repos?type=private", + "headers": { + "accept": "application/vnd.github.v3+json", + "authorization": "token 0000000000000000000000000000000000000001", + "user-agent": "octokit/endpoint.js v1.2.3" + } +} +``` + +You can pass `requestOptions` to common request libraries + +```js +const { url, ...options } = requestOptions; +// using with fetch (https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) +fetch(url, options); +// using with request (https://github.com/request/request) +request(requestOptions); +// using with got (https://github.com/sindresorhus/got) +got[options.method](url, options); +// using with axios +axios(requestOptions); +``` + +## API + +### `endpoint(route, options)` or `endpoint(options)` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ name + + type + + description +
+ route + + String + + If set, it has to be a string consisting of URL and the request method, e.g., GET /orgs/{org}. If it’s set to a URL, only the method defaults to GET. +
+ options.method + + String + + Required unless route is set. Any supported http verb. Defaults to GET. +
+ options.url + + String + + Required unless route is set. A path or full URL which may contain :variable or {variable} placeholders, + e.g., /orgs/{org}/repos. The url is parsed using url-template. +
+ options.baseUrl + + String + + Defaults to https://api.github.com. +
+ options.headers + + Object + + Custom headers. Passed headers are merged with defaults:
+ headers['user-agent'] defaults to octokit-endpoint.js/1.2.3 (where 1.2.3 is the released version).
+ headers['accept'] defaults to application/vnd.github.v3+json.
+
+ options.mediaType.format + + String + + Media type param, such as raw, diff, or text+json. See Media Types. Setting options.mediaType.format will amend the headers.accept value. +
+ options.data + + Any + + Set request body directly instead of setting it to JSON based on additional parameters. See "The data parameter" below. +
+ options.request + + Object + + Pass custom meta information for the request. The request object will be returned as is. +
+ +All other options will be passed depending on the `method` and `url` options. + +1. If the option key has a placeholder in the `url`, it will be used as the replacement. For example, if the passed options are `{url: '/orgs/{org}/repos', org: 'foo'}` the returned `options.url` is `https://api.github.com/orgs/foo/repos`. +2. If the `method` is `GET` or `HEAD`, the option is passed as a query parameter. +3. Otherwise, the parameter is passed in the request body as a JSON key. + +**Result** + +`endpoint()` is a synchronous method and returns an object with the following keys: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ key + + type + + description +
methodStringThe http method. Always lowercase.
urlStringThe url with placeholders replaced with passed parameters.
headersObjectAll header names are lowercased.
bodyAnyThe request body if one is present. Only for PATCH, POST, PUT, DELETE requests.
requestObjectRequest meta option, it will be returned as it was passed into endpoint()
+ +### `endpoint.defaults()` + +Override or set default options. Example: + +```js +const request = require("request"); +const myEndpoint = require("@octokit/endpoint").defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", + headers: { + "user-agent": "myApp/1.2.3", + authorization: `token 0000000000000000000000000000000000000001`, + }, + org: "my-project", + per_page: 100, +}); + +request(myEndpoint(`GET /orgs/{org}/repos`)); +``` + +You can call `.defaults()` again on the returned method, the defaults will cascade. + +```js +const myProjectEndpoint = endpoint.defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", + headers: { + "user-agent": "myApp/1.2.3", + }, + org: "my-project", +}); +const myProjectEndpointWithAuth = myProjectEndpoint.defaults({ + headers: { + authorization: `token 0000000000000000000000000000000000000001`, + }, +}); +``` + +`myProjectEndpointWithAuth` now defaults the `baseUrl`, `headers['user-agent']`, +`org` and `headers['authorization']` on top of `headers['accept']` that is set +by the global default. + +### `endpoint.DEFAULTS` + +The current default options. + +```js +endpoint.DEFAULTS.baseUrl; // https://api.github.com +const myEndpoint = endpoint.defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", +}); +myEndpoint.DEFAULTS.baseUrl; // https://github-enterprise.acme-inc.com/api/v3 +``` + +### `endpoint.merge(route, options)` or `endpoint.merge(options)` + +Get the defaulted endpoint options, but without parsing them into request options: + +```js +const myProjectEndpoint = endpoint.defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", + headers: { + "user-agent": "myApp/1.2.3", + }, + org: "my-project", +}); +myProjectEndpoint.merge("GET /orgs/{org}/repos", { + headers: { + authorization: `token 0000000000000000000000000000000000000001`, + }, + org: "my-secret-project", + type: "private", +}); + +// { +// baseUrl: 'https://github-enterprise.acme-inc.com/api/v3', +// method: 'GET', +// url: '/orgs/{org}/repos', +// headers: { +// accept: 'application/vnd.github.v3+json', +// authorization: `token 0000000000000000000000000000000000000001`, +// 'user-agent': 'myApp/1.2.3' +// }, +// org: 'my-secret-project', +// type: 'private' +// } +``` + +### `endpoint.parse()` + +Stateless method to turn endpoint options into request options. Calling +`endpoint(options)` is the same as calling `endpoint.parse(endpoint.merge(options))`. + +## Special cases + + + +### The `data` parameter – set request body directly + +Some endpoints such as [Render a Markdown document in raw mode](https://developer.github.com/v3/markdown/#render-a-markdown-document-in-raw-mode) don’t have parameters that are sent as request body keys, instead, the request body needs to be set directly. In these cases, set the `data` parameter. + +```js +const options = endpoint("POST /markdown/raw", { + data: "Hello world github/linguist#1 **cool**, and #1!", + headers: { + accept: "text/html;charset=utf-8", + "content-type": "text/plain", + }, +}); + +// options is +// { +// method: 'post', +// url: 'https://api.github.com/markdown/raw', +// headers: { +// accept: 'text/html;charset=utf-8', +// 'content-type': 'text/plain', +// 'user-agent': userAgent +// }, +// body: 'Hello world github/linguist#1 **cool**, and #1!' +// } +``` + +### Set parameters for both the URL/query and the request body + +There are API endpoints that accept both query parameters as well as a body. In that case, you need to add the query parameters as templates to `options.url`, as defined in the [RFC 6570 URI Template specification](https://tools.ietf.org/html/rfc6570). + +Example + +```js +endpoint( + "POST https://uploads.github.com/repos/octocat/Hello-World/releases/1/assets{?name,label}", + { + name: "example.zip", + label: "short description", + headers: { + "content-type": "text/plain", + "content-length": 14, + authorization: `token 0000000000000000000000000000000000000001`, + }, + data: "Hello, world!", + }, +); +``` + +## LICENSE + +[MIT](LICENSE) diff --git a/dist/node_modules/@octokit/endpoint/dist-node/index.js b/dist/node_modules/@octokit/endpoint/dist-node/index.js new file mode 100644 index 00000000..f01c7ca9 --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-node/index.js @@ -0,0 +1,378 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + endpoint: () => endpoint +}); +module.exports = __toCommonJS(dist_src_exports); + +// pkg/dist-src/defaults.js +var import_universal_user_agent = require("universal-user-agent"); + +// pkg/dist-src/version.js +var VERSION = "9.0.6"; + +// pkg/dist-src/defaults.js +var userAgent = `octokit-endpoint.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}`; +var DEFAULTS = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent + }, + mediaType: { + format: "" + } +}; + +// pkg/dist-src/util/lowercase-keys.js +function lowercaseKeys(object) { + if (!object) { + return {}; + } + return Object.keys(object).reduce((newObj, key) => { + newObj[key.toLowerCase()] = object[key]; + return newObj; + }, {}); +} + +// pkg/dist-src/util/is-plain-object.js +function isPlainObject(value) { + if (typeof value !== "object" || value === null) + return false; + if (Object.prototype.toString.call(value) !== "[object Object]") + return false; + const proto = Object.getPrototypeOf(value); + if (proto === null) + return true; + const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; + return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); +} + +// pkg/dist-src/util/merge-deep.js +function mergeDeep(defaults, options) { + const result = Object.assign({}, defaults); + Object.keys(options).forEach((key) => { + if (isPlainObject(options[key])) { + if (!(key in defaults)) + Object.assign(result, { [key]: options[key] }); + else + result[key] = mergeDeep(defaults[key], options[key]); + } else { + Object.assign(result, { [key]: options[key] }); + } + }); + return result; +} + +// pkg/dist-src/util/remove-undefined-properties.js +function removeUndefinedProperties(obj) { + for (const key in obj) { + if (obj[key] === void 0) { + delete obj[key]; + } + } + return obj; +} + +// pkg/dist-src/merge.js +function merge(defaults, route, options) { + if (typeof route === "string") { + let [method, url] = route.split(" "); + options = Object.assign(url ? { method, url } : { url: method }, options); + } else { + options = Object.assign({}, route); + } + options.headers = lowercaseKeys(options.headers); + removeUndefinedProperties(options); + removeUndefinedProperties(options.headers); + const mergedOptions = mergeDeep(defaults || {}, options); + if (options.url === "/graphql") { + if (defaults && defaults.mediaType.previews?.length) { + mergedOptions.mediaType.previews = defaults.mediaType.previews.filter( + (preview) => !mergedOptions.mediaType.previews.includes(preview) + ).concat(mergedOptions.mediaType.previews); + } + mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, "")); + } + return mergedOptions; +} + +// pkg/dist-src/util/add-query-parameters.js +function addQueryParameters(url, parameters) { + const separator = /\?/.test(url) ? "&" : "?"; + const names = Object.keys(parameters); + if (names.length === 0) { + return url; + } + return url + separator + names.map((name) => { + if (name === "q") { + return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); + } + return `${name}=${encodeURIComponent(parameters[name])}`; + }).join("&"); +} + +// pkg/dist-src/util/extract-url-variable-names.js +var urlVariableRegex = /\{[^{}}]+\}/g; +function removeNonChars(variableName) { + return variableName.replace(/(?:^\W+)|(?:(? a.concat(b), []); +} + +// pkg/dist-src/util/omit.js +function omit(object, keysToOmit) { + const result = { __proto__: null }; + for (const key of Object.keys(object)) { + if (keysToOmit.indexOf(key) === -1) { + result[key] = object[key]; + } + } + return result; +} + +// pkg/dist-src/util/url-template.js +function encodeReserved(str) { + return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) { + if (!/%[0-9A-Fa-f]/.test(part)) { + part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); + } + return part; + }).join(""); +} +function encodeUnreserved(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + }); +} +function encodeValue(operator, value, key) { + value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); + if (key) { + return encodeUnreserved(key) + "=" + value; + } else { + return value; + } +} +function isDefined(value) { + return value !== void 0 && value !== null; +} +function isKeyOperator(operator) { + return operator === ";" || operator === "&" || operator === "?"; +} +function getValues(context, operator, key, modifier) { + var value = context[key], result = []; + if (isDefined(value) && value !== "") { + if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { + value = value.toString(); + if (modifier && modifier !== "*") { + value = value.substring(0, parseInt(modifier, 10)); + } + result.push( + encodeValue(operator, value, isKeyOperator(operator) ? key : "") + ); + } else { + if (modifier === "*") { + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function(value2) { + result.push( + encodeValue(operator, value2, isKeyOperator(operator) ? key : "") + ); + }); + } else { + Object.keys(value).forEach(function(k) { + if (isDefined(value[k])) { + result.push(encodeValue(operator, value[k], k)); + } + }); + } + } else { + const tmp = []; + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function(value2) { + tmp.push(encodeValue(operator, value2)); + }); + } else { + Object.keys(value).forEach(function(k) { + if (isDefined(value[k])) { + tmp.push(encodeUnreserved(k)); + tmp.push(encodeValue(operator, value[k].toString())); + } + }); + } + if (isKeyOperator(operator)) { + result.push(encodeUnreserved(key) + "=" + tmp.join(",")); + } else if (tmp.length !== 0) { + result.push(tmp.join(",")); + } + } + } + } else { + if (operator === ";") { + if (isDefined(value)) { + result.push(encodeUnreserved(key)); + } + } else if (value === "" && (operator === "&" || operator === "?")) { + result.push(encodeUnreserved(key) + "="); + } else if (value === "") { + result.push(""); + } + } + return result; +} +function parseUrl(template) { + return { + expand: expand.bind(null, template) + }; +} +function expand(template, context) { + var operators = ["+", "#", ".", "/", ";", "?", "&"]; + template = template.replace( + /\{([^\{\}]+)\}|([^\{\}]+)/g, + function(_, expression, literal) { + if (expression) { + let operator = ""; + const values = []; + if (operators.indexOf(expression.charAt(0)) !== -1) { + operator = expression.charAt(0); + expression = expression.substr(1); + } + expression.split(/,/g).forEach(function(variable) { + var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); + values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); + }); + if (operator && operator !== "+") { + var separator = ","; + if (operator === "?") { + separator = "&"; + } else if (operator !== "#") { + separator = operator; + } + return (values.length !== 0 ? operator : "") + values.join(separator); + } else { + return values.join(","); + } + } else { + return encodeReserved(literal); + } + } + ); + if (template === "/") { + return template; + } else { + return template.replace(/\/$/, ""); + } +} + +// pkg/dist-src/parse.js +function parse(options) { + let method = options.method.toUpperCase(); + let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); + let headers = Object.assign({}, options.headers); + let body; + let parameters = omit(options, [ + "method", + "baseUrl", + "url", + "headers", + "request", + "mediaType" + ]); + const urlVariableNames = extractUrlVariableNames(url); + url = parseUrl(url).expand(parameters); + if (!/^http/.test(url)) { + url = options.baseUrl + url; + } + const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat("baseUrl"); + const remainingParameters = omit(parameters, omittedParameters); + const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); + if (!isBinaryRequest) { + if (options.mediaType.format) { + headers.accept = headers.accept.split(/,/).map( + (format) => format.replace( + /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, + `application/vnd$1$2.${options.mediaType.format}` + ) + ).join(","); + } + if (url.endsWith("/graphql")) { + if (options.mediaType.previews?.length) { + const previewsFromAcceptHeader = headers.accept.match(/(? { + const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; + return `application/vnd.github.${preview}-preview${format}`; + }).join(","); + } + } + } + if (["GET", "HEAD"].includes(method)) { + url = addQueryParameters(url, remainingParameters); + } else { + if ("data" in remainingParameters) { + body = remainingParameters.data; + } else { + if (Object.keys(remainingParameters).length) { + body = remainingParameters; + } + } + } + if (!headers["content-type"] && typeof body !== "undefined") { + headers["content-type"] = "application/json; charset=utf-8"; + } + if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { + body = ""; + } + return Object.assign( + { method, url, headers }, + typeof body !== "undefined" ? { body } : null, + options.request ? { request: options.request } : null + ); +} + +// pkg/dist-src/endpoint-with-defaults.js +function endpointWithDefaults(defaults, route, options) { + return parse(merge(defaults, route, options)); +} + +// pkg/dist-src/with-defaults.js +function withDefaults(oldDefaults, newDefaults) { + const DEFAULTS2 = merge(oldDefaults, newDefaults); + const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2); + return Object.assign(endpoint2, { + DEFAULTS: DEFAULTS2, + defaults: withDefaults.bind(null, DEFAULTS2), + merge: merge.bind(null, DEFAULTS2), + parse + }); +} + +// pkg/dist-src/index.js +var endpoint = withDefaults(null, DEFAULTS); +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + endpoint +}); diff --git a/dist/node_modules/@octokit/endpoint/dist-node/index.js.map b/dist/node_modules/@octokit/endpoint/dist-node/index.js.map new file mode 100644 index 00000000..55aeab89 --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-node/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/index.js", "../dist-src/defaults.js", "../dist-src/version.js", "../dist-src/util/lowercase-keys.js", "../dist-src/util/is-plain-object.js", "../dist-src/util/merge-deep.js", "../dist-src/util/remove-undefined-properties.js", "../dist-src/merge.js", "../dist-src/util/add-query-parameters.js", "../dist-src/util/extract-url-variable-names.js", "../dist-src/util/omit.js", "../dist-src/util/url-template.js", "../dist-src/parse.js", "../dist-src/endpoint-with-defaults.js", "../dist-src/with-defaults.js"], + "sourcesContent": ["import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nconst endpoint = withDefaults(null, DEFAULTS);\nexport {\n endpoint\n};\n", "import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\nconst DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent\n },\n mediaType: {\n format: \"\"\n }\n};\nexport {\n DEFAULTS\n};\n", "const VERSION = \"9.0.6\";\nexport {\n VERSION\n};\n", "function lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\nexport {\n lowercaseKeys\n};\n", "function isPlainObject(value) {\n if (typeof value !== \"object\" || value === null)\n return false;\n if (Object.prototype.toString.call(value) !== \"[object Object]\")\n return false;\n const proto = Object.getPrototypeOf(value);\n if (proto === null)\n return true;\n const Ctor = Object.prototype.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n return typeof Ctor === \"function\" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);\n}\nexport {\n isPlainObject\n};\n", "import { isPlainObject } from \"./is-plain-object\";\nfunction mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach((key) => {\n if (isPlainObject(options[key])) {\n if (!(key in defaults))\n Object.assign(result, { [key]: options[key] });\n else\n result[key] = mergeDeep(defaults[key], options[key]);\n } else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\nexport {\n mergeDeep\n};\n", "function removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === void 0) {\n delete obj[key];\n }\n }\n return obj;\n}\nexport {\n removeUndefinedProperties\n};\n", "import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\nfunction merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? { method, url } : { url: method }, options);\n } else {\n options = Object.assign({}, route);\n }\n options.headers = lowercaseKeys(options.headers);\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n if (options.url === \"/graphql\") {\n if (defaults && defaults.mediaType.previews?.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(\n (preview) => !mergedOptions.mediaType.previews.includes(preview)\n ).concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, \"\"));\n }\n return mergedOptions;\n}\nexport {\n merge\n};\n", "function addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n if (names.length === 0) {\n return url;\n }\n return url + separator + names.map((name) => {\n if (name === \"q\") {\n return \"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\");\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n }).join(\"&\");\n}\nexport {\n addQueryParameters\n};\n", "const urlVariableRegex = /\\{[^{}}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/(?:^\\W+)|(?:(? a.concat(b), []);\n}\nexport {\n extractUrlVariableNames\n};\n", "function omit(object, keysToOmit) {\n const result = { __proto__: null };\n for (const key of Object.keys(object)) {\n if (keysToOmit.indexOf(key) === -1) {\n result[key] = object[key];\n }\n }\n return result;\n}\nexport {\n omit\n};\n", "function encodeReserved(str) {\n return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n return part;\n }).join(\"\");\n}\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function(c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\nfunction encodeValue(operator, value, key) {\n value = operator === \"+\" || operator === \"#\" ? encodeReserved(value) : encodeUnreserved(value);\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n } else {\n return value;\n }\n}\nfunction isDefined(value) {\n return value !== void 0 && value !== null;\n}\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\nfunction getValues(context, operator, key, modifier) {\n var value = context[key], result = [];\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n value = value.toString();\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n result.push(\n encodeValue(operator, value, isKeyOperator(operator) ? key : \"\")\n );\n } else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function(value2) {\n result.push(\n encodeValue(operator, value2, isKeyOperator(operator) ? key : \"\")\n );\n });\n } else {\n Object.keys(value).forEach(function(k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n } else {\n const tmp = [];\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function(value2) {\n tmp.push(encodeValue(operator, value2));\n });\n } else {\n Object.keys(value).forEach(function(k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n } else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n } else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n } else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n } else if (value === \"\") {\n result.push(\"\");\n }\n }\n return result;\n}\nfunction parseUrl(template) {\n return {\n expand: expand.bind(null, template)\n };\n}\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n template = template.replace(\n /\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g,\n function(_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n expression.split(/,/g).forEach(function(variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n if (operator && operator !== \"+\") {\n var separator = \",\";\n if (operator === \"?\") {\n separator = \"&\";\n } else if (operator !== \"#\") {\n separator = operator;\n }\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n } else {\n return values.join(\",\");\n }\n } else {\n return encodeReserved(literal);\n }\n }\n );\n if (template === \"/\") {\n return template;\n } else {\n return template.replace(/\\/$/, \"\");\n }\n}\nexport {\n parseUrl\n};\n", "import { addQueryParameters } from \"./util/add-query-parameters\";\nimport { extractUrlVariableNames } from \"./util/extract-url-variable-names\";\nimport { omit } from \"./util/omit\";\nimport { parseUrl } from \"./util/url-template\";\nfunction parse(options) {\n let method = options.method.toUpperCase();\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"mediaType\"\n ]);\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n headers.accept = headers.accept.split(/,/).map(\n (format) => format.replace(\n /application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/,\n `application/vnd$1$2.${options.mediaType.format}`\n )\n ).join(\",\");\n }\n if (url.endsWith(\"/graphql\")) {\n if (options.mediaType.previews?.length) {\n const previewsFromAcceptHeader = headers.accept.match(/(? {\n const format = options.mediaType.format ? `.${options.mediaType.format}` : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n }).join(\",\");\n }\n }\n }\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n } else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n } else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n }\n }\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n return Object.assign(\n { method, url, headers },\n typeof body !== \"undefined\" ? { body } : null,\n options.request ? { request: options.request } : null\n );\n}\nexport {\n parse\n};\n", "import { DEFAULTS } from \"./defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nfunction endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\nexport {\n endpointWithDefaults\n};\n", "import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nfunction withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse\n });\n}\nexport {\n withDefaults\n};\n"], + "mappings": "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", + "names": ["DEFAULTS", "endpoint"] +} diff --git a/dist/node_modules/@octokit/endpoint/dist-src/defaults.js b/dist/node_modules/@octokit/endpoint/dist-src/defaults.js new file mode 100644 index 00000000..43d620c3 --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-src/defaults.js @@ -0,0 +1,17 @@ +import { getUserAgent } from "universal-user-agent"; +import { VERSION } from "./version"; +const userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`; +const DEFAULTS = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent + }, + mediaType: { + format: "" + } +}; +export { + DEFAULTS +}; diff --git a/dist/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js b/dist/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js new file mode 100644 index 00000000..f3c4f4b2 --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js @@ -0,0 +1,9 @@ +import { DEFAULTS } from "./defaults"; +import { merge } from "./merge"; +import { parse } from "./parse"; +function endpointWithDefaults(defaults, route, options) { + return parse(merge(defaults, route, options)); +} +export { + endpointWithDefaults +}; diff --git a/dist/node_modules/@octokit/endpoint/dist-src/index.js b/dist/node_modules/@octokit/endpoint/dist-src/index.js new file mode 100644 index 00000000..b1d45e34 --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-src/index.js @@ -0,0 +1,6 @@ +import { withDefaults } from "./with-defaults"; +import { DEFAULTS } from "./defaults"; +const endpoint = withDefaults(null, DEFAULTS); +export { + endpoint +}; diff --git a/dist/node_modules/@octokit/endpoint/dist-src/merge.js b/dist/node_modules/@octokit/endpoint/dist-src/merge.js new file mode 100644 index 00000000..baf74698 --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-src/merge.js @@ -0,0 +1,27 @@ +import { lowercaseKeys } from "./util/lowercase-keys"; +import { mergeDeep } from "./util/merge-deep"; +import { removeUndefinedProperties } from "./util/remove-undefined-properties"; +function merge(defaults, route, options) { + if (typeof route === "string") { + let [method, url] = route.split(" "); + options = Object.assign(url ? { method, url } : { url: method }, options); + } else { + options = Object.assign({}, route); + } + options.headers = lowercaseKeys(options.headers); + removeUndefinedProperties(options); + removeUndefinedProperties(options.headers); + const mergedOptions = mergeDeep(defaults || {}, options); + if (options.url === "/graphql") { + if (defaults && defaults.mediaType.previews?.length) { + mergedOptions.mediaType.previews = defaults.mediaType.previews.filter( + (preview) => !mergedOptions.mediaType.previews.includes(preview) + ).concat(mergedOptions.mediaType.previews); + } + mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, "")); + } + return mergedOptions; +} +export { + merge +}; diff --git a/dist/node_modules/@octokit/endpoint/dist-src/parse.js b/dist/node_modules/@octokit/endpoint/dist-src/parse.js new file mode 100644 index 00000000..80b79762 --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-src/parse.js @@ -0,0 +1,70 @@ +import { addQueryParameters } from "./util/add-query-parameters"; +import { extractUrlVariableNames } from "./util/extract-url-variable-names"; +import { omit } from "./util/omit"; +import { parseUrl } from "./util/url-template"; +function parse(options) { + let method = options.method.toUpperCase(); + let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); + let headers = Object.assign({}, options.headers); + let body; + let parameters = omit(options, [ + "method", + "baseUrl", + "url", + "headers", + "request", + "mediaType" + ]); + const urlVariableNames = extractUrlVariableNames(url); + url = parseUrl(url).expand(parameters); + if (!/^http/.test(url)) { + url = options.baseUrl + url; + } + const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat("baseUrl"); + const remainingParameters = omit(parameters, omittedParameters); + const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); + if (!isBinaryRequest) { + if (options.mediaType.format) { + headers.accept = headers.accept.split(/,/).map( + (format) => format.replace( + /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, + `application/vnd$1$2.${options.mediaType.format}` + ) + ).join(","); + } + if (url.endsWith("/graphql")) { + if (options.mediaType.previews?.length) { + const previewsFromAcceptHeader = headers.accept.match(/(? { + const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; + return `application/vnd.github.${preview}-preview${format}`; + }).join(","); + } + } + } + if (["GET", "HEAD"].includes(method)) { + url = addQueryParameters(url, remainingParameters); + } else { + if ("data" in remainingParameters) { + body = remainingParameters.data; + } else { + if (Object.keys(remainingParameters).length) { + body = remainingParameters; + } + } + } + if (!headers["content-type"] && typeof body !== "undefined") { + headers["content-type"] = "application/json; charset=utf-8"; + } + if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { + body = ""; + } + return Object.assign( + { method, url, headers }, + typeof body !== "undefined" ? { body } : null, + options.request ? { request: options.request } : null + ); +} +export { + parse +}; diff --git a/dist/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js b/dist/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js new file mode 100644 index 00000000..6bdf7367 --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js @@ -0,0 +1,16 @@ +function addQueryParameters(url, parameters) { + const separator = /\?/.test(url) ? "&" : "?"; + const names = Object.keys(parameters); + if (names.length === 0) { + return url; + } + return url + separator + names.map((name) => { + if (name === "q") { + return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); + } + return `${name}=${encodeURIComponent(parameters[name])}`; + }).join("&"); +} +export { + addQueryParameters +}; diff --git a/dist/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js b/dist/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js new file mode 100644 index 00000000..bd909773 --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js @@ -0,0 +1,14 @@ +const urlVariableRegex = /\{[^{}}]+\}/g; +function removeNonChars(variableName) { + return variableName.replace(/(?:^\W+)|(?:(? a.concat(b), []); +} +export { + extractUrlVariableNames +}; diff --git a/dist/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js b/dist/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js new file mode 100644 index 00000000..44b5eb2a --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js @@ -0,0 +1,14 @@ +function isPlainObject(value) { + if (typeof value !== "object" || value === null) + return false; + if (Object.prototype.toString.call(value) !== "[object Object]") + return false; + const proto = Object.getPrototypeOf(value); + if (proto === null) + return true; + const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; + return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); +} +export { + isPlainObject +}; diff --git a/dist/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js b/dist/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js new file mode 100644 index 00000000..9bd7bb99 --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js @@ -0,0 +1,12 @@ +function lowercaseKeys(object) { + if (!object) { + return {}; + } + return Object.keys(object).reduce((newObj, key) => { + newObj[key.toLowerCase()] = object[key]; + return newObj; + }, {}); +} +export { + lowercaseKeys +}; diff --git a/dist/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js b/dist/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js new file mode 100644 index 00000000..c1654456 --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js @@ -0,0 +1,18 @@ +import { isPlainObject } from "./is-plain-object"; +function mergeDeep(defaults, options) { + const result = Object.assign({}, defaults); + Object.keys(options).forEach((key) => { + if (isPlainObject(options[key])) { + if (!(key in defaults)) + Object.assign(result, { [key]: options[key] }); + else + result[key] = mergeDeep(defaults[key], options[key]); + } else { + Object.assign(result, { [key]: options[key] }); + } + }); + return result; +} +export { + mergeDeep +}; diff --git a/dist/node_modules/@octokit/endpoint/dist-src/util/omit.js b/dist/node_modules/@octokit/endpoint/dist-src/util/omit.js new file mode 100644 index 00000000..aceffe25 --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-src/util/omit.js @@ -0,0 +1,12 @@ +function omit(object, keysToOmit) { + const result = { __proto__: null }; + for (const key of Object.keys(object)) { + if (keysToOmit.indexOf(key) === -1) { + result[key] = object[key]; + } + } + return result; +} +export { + omit +}; diff --git a/dist/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js b/dist/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js new file mode 100644 index 00000000..8653027c --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js @@ -0,0 +1,11 @@ +function removeUndefinedProperties(obj) { + for (const key in obj) { + if (obj[key] === void 0) { + delete obj[key]; + } + } + return obj; +} +export { + removeUndefinedProperties +}; diff --git a/dist/node_modules/@octokit/endpoint/dist-src/util/url-template.js b/dist/node_modules/@octokit/endpoint/dist-src/util/url-template.js new file mode 100644 index 00000000..f70aa5c7 --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-src/util/url-template.js @@ -0,0 +1,133 @@ +function encodeReserved(str) { + return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) { + if (!/%[0-9A-Fa-f]/.test(part)) { + part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); + } + return part; + }).join(""); +} +function encodeUnreserved(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + }); +} +function encodeValue(operator, value, key) { + value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); + if (key) { + return encodeUnreserved(key) + "=" + value; + } else { + return value; + } +} +function isDefined(value) { + return value !== void 0 && value !== null; +} +function isKeyOperator(operator) { + return operator === ";" || operator === "&" || operator === "?"; +} +function getValues(context, operator, key, modifier) { + var value = context[key], result = []; + if (isDefined(value) && value !== "") { + if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { + value = value.toString(); + if (modifier && modifier !== "*") { + value = value.substring(0, parseInt(modifier, 10)); + } + result.push( + encodeValue(operator, value, isKeyOperator(operator) ? key : "") + ); + } else { + if (modifier === "*") { + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function(value2) { + result.push( + encodeValue(operator, value2, isKeyOperator(operator) ? key : "") + ); + }); + } else { + Object.keys(value).forEach(function(k) { + if (isDefined(value[k])) { + result.push(encodeValue(operator, value[k], k)); + } + }); + } + } else { + const tmp = []; + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function(value2) { + tmp.push(encodeValue(operator, value2)); + }); + } else { + Object.keys(value).forEach(function(k) { + if (isDefined(value[k])) { + tmp.push(encodeUnreserved(k)); + tmp.push(encodeValue(operator, value[k].toString())); + } + }); + } + if (isKeyOperator(operator)) { + result.push(encodeUnreserved(key) + "=" + tmp.join(",")); + } else if (tmp.length !== 0) { + result.push(tmp.join(",")); + } + } + } + } else { + if (operator === ";") { + if (isDefined(value)) { + result.push(encodeUnreserved(key)); + } + } else if (value === "" && (operator === "&" || operator === "?")) { + result.push(encodeUnreserved(key) + "="); + } else if (value === "") { + result.push(""); + } + } + return result; +} +function parseUrl(template) { + return { + expand: expand.bind(null, template) + }; +} +function expand(template, context) { + var operators = ["+", "#", ".", "/", ";", "?", "&"]; + template = template.replace( + /\{([^\{\}]+)\}|([^\{\}]+)/g, + function(_, expression, literal) { + if (expression) { + let operator = ""; + const values = []; + if (operators.indexOf(expression.charAt(0)) !== -1) { + operator = expression.charAt(0); + expression = expression.substr(1); + } + expression.split(/,/g).forEach(function(variable) { + var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); + values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); + }); + if (operator && operator !== "+") { + var separator = ","; + if (operator === "?") { + separator = "&"; + } else if (operator !== "#") { + separator = operator; + } + return (values.length !== 0 ? operator : "") + values.join(separator); + } else { + return values.join(","); + } + } else { + return encodeReserved(literal); + } + } + ); + if (template === "/") { + return template; + } else { + return template.replace(/\/$/, ""); + } +} +export { + parseUrl +}; diff --git a/dist/node_modules/@octokit/endpoint/dist-src/version.js b/dist/node_modules/@octokit/endpoint/dist-src/version.js new file mode 100644 index 00000000..3c33bbff --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-src/version.js @@ -0,0 +1,4 @@ +const VERSION = "9.0.6"; +export { + VERSION +}; diff --git a/dist/node_modules/@octokit/endpoint/dist-src/with-defaults.js b/dist/node_modules/@octokit/endpoint/dist-src/with-defaults.js new file mode 100644 index 00000000..6d508f03 --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-src/with-defaults.js @@ -0,0 +1,16 @@ +import { endpointWithDefaults } from "./endpoint-with-defaults"; +import { merge } from "./merge"; +import { parse } from "./parse"; +function withDefaults(oldDefaults, newDefaults) { + const DEFAULTS = merge(oldDefaults, newDefaults); + const endpoint = endpointWithDefaults.bind(null, DEFAULTS); + return Object.assign(endpoint, { + DEFAULTS, + defaults: withDefaults.bind(null, DEFAULTS), + merge: merge.bind(null, DEFAULTS), + parse + }); +} +export { + withDefaults +}; diff --git a/dist/node_modules/@octokit/endpoint/dist-types/defaults.d.ts b/dist/node_modules/@octokit/endpoint/dist-types/defaults.d.ts new file mode 100644 index 00000000..d65e889b --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-types/defaults.d.ts @@ -0,0 +1,2 @@ +import type { EndpointDefaults } from "@octokit/types"; +export declare const DEFAULTS: EndpointDefaults; diff --git a/dist/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts b/dist/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts new file mode 100644 index 00000000..c36732e9 --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts @@ -0,0 +1,3 @@ +import type { EndpointOptions, RequestParameters, Route } from "@octokit/types"; +import { DEFAULTS } from "./defaults"; +export declare function endpointWithDefaults(defaults: typeof DEFAULTS, route: Route | EndpointOptions, options?: RequestParameters): import("@octokit/types").RequestOptions; diff --git a/dist/node_modules/@octokit/endpoint/dist-types/index.d.ts b/dist/node_modules/@octokit/endpoint/dist-types/index.d.ts new file mode 100644 index 00000000..1ede1366 --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-types/index.d.ts @@ -0,0 +1 @@ +export declare const endpoint: import("@octokit/types").EndpointInterface; diff --git a/dist/node_modules/@octokit/endpoint/dist-types/merge.d.ts b/dist/node_modules/@octokit/endpoint/dist-types/merge.d.ts new file mode 100644 index 00000000..f5839812 --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-types/merge.d.ts @@ -0,0 +1,2 @@ +import type { EndpointDefaults, RequestParameters, Route } from "@octokit/types"; +export declare function merge(defaults: EndpointDefaults | null, route?: Route | RequestParameters, options?: RequestParameters): EndpointDefaults; diff --git a/dist/node_modules/@octokit/endpoint/dist-types/parse.d.ts b/dist/node_modules/@octokit/endpoint/dist-types/parse.d.ts new file mode 100644 index 00000000..5d0927ae --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-types/parse.d.ts @@ -0,0 +1,2 @@ +import type { EndpointDefaults, RequestOptions } from "@octokit/types"; +export declare function parse(options: EndpointDefaults): RequestOptions; diff --git a/dist/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts b/dist/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts new file mode 100644 index 00000000..4b192ac4 --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts @@ -0,0 +1,4 @@ +export declare function addQueryParameters(url: string, parameters: { + [x: string]: string | undefined; + q?: string; +}): string; diff --git a/dist/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts b/dist/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts new file mode 100644 index 00000000..93586d4d --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts @@ -0,0 +1 @@ +export declare function extractUrlVariableNames(url: string): string[]; diff --git a/dist/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts b/dist/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts new file mode 100644 index 00000000..004fa4bf --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts @@ -0,0 +1 @@ +export declare function isPlainObject(value: unknown): value is Object; diff --git a/dist/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts b/dist/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts new file mode 100644 index 00000000..1daf3073 --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts @@ -0,0 +1,5 @@ +export declare function lowercaseKeys(object?: { + [key: string]: any; +}): { + [key: string]: any; +}; diff --git a/dist/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts b/dist/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts new file mode 100644 index 00000000..914411cf --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts @@ -0,0 +1 @@ +export declare function mergeDeep(defaults: any, options: any): object; diff --git a/dist/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts b/dist/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts new file mode 100644 index 00000000..06927d6b --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts @@ -0,0 +1,5 @@ +export declare function omit(object: { + [key: string]: any; +}, keysToOmit: string[]): { + [key: string]: any; +}; diff --git a/dist/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts b/dist/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts new file mode 100644 index 00000000..92d8d850 --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts @@ -0,0 +1 @@ +export declare function removeUndefinedProperties(obj: any): any; diff --git a/dist/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts b/dist/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts new file mode 100644 index 00000000..5d967cab --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts @@ -0,0 +1,3 @@ +export declare function parseUrl(template: string): { + expand: (context: object) => string; +}; diff --git a/dist/node_modules/@octokit/endpoint/dist-types/version.d.ts b/dist/node_modules/@octokit/endpoint/dist-types/version.d.ts new file mode 100644 index 00000000..e9596293 --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "9.0.6"; diff --git a/dist/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts b/dist/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts new file mode 100644 index 00000000..e09354c5 --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts @@ -0,0 +1,2 @@ +import type { EndpointInterface, RequestParameters, EndpointDefaults } from "@octokit/types"; +export declare function withDefaults(oldDefaults: EndpointDefaults | null, newDefaults: RequestParameters): EndpointInterface; diff --git a/dist/node_modules/@octokit/endpoint/dist-web/index.js b/dist/node_modules/@octokit/endpoint/dist-web/index.js new file mode 100644 index 00000000..aa82fa08 --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-web/index.js @@ -0,0 +1,351 @@ +// pkg/dist-src/defaults.js +import { getUserAgent } from "universal-user-agent"; + +// pkg/dist-src/version.js +var VERSION = "9.0.6"; + +// pkg/dist-src/defaults.js +var userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`; +var DEFAULTS = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent + }, + mediaType: { + format: "" + } +}; + +// pkg/dist-src/util/lowercase-keys.js +function lowercaseKeys(object) { + if (!object) { + return {}; + } + return Object.keys(object).reduce((newObj, key) => { + newObj[key.toLowerCase()] = object[key]; + return newObj; + }, {}); +} + +// pkg/dist-src/util/is-plain-object.js +function isPlainObject(value) { + if (typeof value !== "object" || value === null) + return false; + if (Object.prototype.toString.call(value) !== "[object Object]") + return false; + const proto = Object.getPrototypeOf(value); + if (proto === null) + return true; + const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; + return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); +} + +// pkg/dist-src/util/merge-deep.js +function mergeDeep(defaults, options) { + const result = Object.assign({}, defaults); + Object.keys(options).forEach((key) => { + if (isPlainObject(options[key])) { + if (!(key in defaults)) + Object.assign(result, { [key]: options[key] }); + else + result[key] = mergeDeep(defaults[key], options[key]); + } else { + Object.assign(result, { [key]: options[key] }); + } + }); + return result; +} + +// pkg/dist-src/util/remove-undefined-properties.js +function removeUndefinedProperties(obj) { + for (const key in obj) { + if (obj[key] === void 0) { + delete obj[key]; + } + } + return obj; +} + +// pkg/dist-src/merge.js +function merge(defaults, route, options) { + if (typeof route === "string") { + let [method, url] = route.split(" "); + options = Object.assign(url ? { method, url } : { url: method }, options); + } else { + options = Object.assign({}, route); + } + options.headers = lowercaseKeys(options.headers); + removeUndefinedProperties(options); + removeUndefinedProperties(options.headers); + const mergedOptions = mergeDeep(defaults || {}, options); + if (options.url === "/graphql") { + if (defaults && defaults.mediaType.previews?.length) { + mergedOptions.mediaType.previews = defaults.mediaType.previews.filter( + (preview) => !mergedOptions.mediaType.previews.includes(preview) + ).concat(mergedOptions.mediaType.previews); + } + mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, "")); + } + return mergedOptions; +} + +// pkg/dist-src/util/add-query-parameters.js +function addQueryParameters(url, parameters) { + const separator = /\?/.test(url) ? "&" : "?"; + const names = Object.keys(parameters); + if (names.length === 0) { + return url; + } + return url + separator + names.map((name) => { + if (name === "q") { + return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); + } + return `${name}=${encodeURIComponent(parameters[name])}`; + }).join("&"); +} + +// pkg/dist-src/util/extract-url-variable-names.js +var urlVariableRegex = /\{[^{}}]+\}/g; +function removeNonChars(variableName) { + return variableName.replace(/(?:^\W+)|(?:(? a.concat(b), []); +} + +// pkg/dist-src/util/omit.js +function omit(object, keysToOmit) { + const result = { __proto__: null }; + for (const key of Object.keys(object)) { + if (keysToOmit.indexOf(key) === -1) { + result[key] = object[key]; + } + } + return result; +} + +// pkg/dist-src/util/url-template.js +function encodeReserved(str) { + return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) { + if (!/%[0-9A-Fa-f]/.test(part)) { + part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); + } + return part; + }).join(""); +} +function encodeUnreserved(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + }); +} +function encodeValue(operator, value, key) { + value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); + if (key) { + return encodeUnreserved(key) + "=" + value; + } else { + return value; + } +} +function isDefined(value) { + return value !== void 0 && value !== null; +} +function isKeyOperator(operator) { + return operator === ";" || operator === "&" || operator === "?"; +} +function getValues(context, operator, key, modifier) { + var value = context[key], result = []; + if (isDefined(value) && value !== "") { + if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { + value = value.toString(); + if (modifier && modifier !== "*") { + value = value.substring(0, parseInt(modifier, 10)); + } + result.push( + encodeValue(operator, value, isKeyOperator(operator) ? key : "") + ); + } else { + if (modifier === "*") { + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function(value2) { + result.push( + encodeValue(operator, value2, isKeyOperator(operator) ? key : "") + ); + }); + } else { + Object.keys(value).forEach(function(k) { + if (isDefined(value[k])) { + result.push(encodeValue(operator, value[k], k)); + } + }); + } + } else { + const tmp = []; + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function(value2) { + tmp.push(encodeValue(operator, value2)); + }); + } else { + Object.keys(value).forEach(function(k) { + if (isDefined(value[k])) { + tmp.push(encodeUnreserved(k)); + tmp.push(encodeValue(operator, value[k].toString())); + } + }); + } + if (isKeyOperator(operator)) { + result.push(encodeUnreserved(key) + "=" + tmp.join(",")); + } else if (tmp.length !== 0) { + result.push(tmp.join(",")); + } + } + } + } else { + if (operator === ";") { + if (isDefined(value)) { + result.push(encodeUnreserved(key)); + } + } else if (value === "" && (operator === "&" || operator === "?")) { + result.push(encodeUnreserved(key) + "="); + } else if (value === "") { + result.push(""); + } + } + return result; +} +function parseUrl(template) { + return { + expand: expand.bind(null, template) + }; +} +function expand(template, context) { + var operators = ["+", "#", ".", "/", ";", "?", "&"]; + template = template.replace( + /\{([^\{\}]+)\}|([^\{\}]+)/g, + function(_, expression, literal) { + if (expression) { + let operator = ""; + const values = []; + if (operators.indexOf(expression.charAt(0)) !== -1) { + operator = expression.charAt(0); + expression = expression.substr(1); + } + expression.split(/,/g).forEach(function(variable) { + var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); + values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); + }); + if (operator && operator !== "+") { + var separator = ","; + if (operator === "?") { + separator = "&"; + } else if (operator !== "#") { + separator = operator; + } + return (values.length !== 0 ? operator : "") + values.join(separator); + } else { + return values.join(","); + } + } else { + return encodeReserved(literal); + } + } + ); + if (template === "/") { + return template; + } else { + return template.replace(/\/$/, ""); + } +} + +// pkg/dist-src/parse.js +function parse(options) { + let method = options.method.toUpperCase(); + let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); + let headers = Object.assign({}, options.headers); + let body; + let parameters = omit(options, [ + "method", + "baseUrl", + "url", + "headers", + "request", + "mediaType" + ]); + const urlVariableNames = extractUrlVariableNames(url); + url = parseUrl(url).expand(parameters); + if (!/^http/.test(url)) { + url = options.baseUrl + url; + } + const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat("baseUrl"); + const remainingParameters = omit(parameters, omittedParameters); + const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); + if (!isBinaryRequest) { + if (options.mediaType.format) { + headers.accept = headers.accept.split(/,/).map( + (format) => format.replace( + /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, + `application/vnd$1$2.${options.mediaType.format}` + ) + ).join(","); + } + if (url.endsWith("/graphql")) { + if (options.mediaType.previews?.length) { + const previewsFromAcceptHeader = headers.accept.match(/(? { + const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; + return `application/vnd.github.${preview}-preview${format}`; + }).join(","); + } + } + } + if (["GET", "HEAD"].includes(method)) { + url = addQueryParameters(url, remainingParameters); + } else { + if ("data" in remainingParameters) { + body = remainingParameters.data; + } else { + if (Object.keys(remainingParameters).length) { + body = remainingParameters; + } + } + } + if (!headers["content-type"] && typeof body !== "undefined") { + headers["content-type"] = "application/json; charset=utf-8"; + } + if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { + body = ""; + } + return Object.assign( + { method, url, headers }, + typeof body !== "undefined" ? { body } : null, + options.request ? { request: options.request } : null + ); +} + +// pkg/dist-src/endpoint-with-defaults.js +function endpointWithDefaults(defaults, route, options) { + return parse(merge(defaults, route, options)); +} + +// pkg/dist-src/with-defaults.js +function withDefaults(oldDefaults, newDefaults) { + const DEFAULTS2 = merge(oldDefaults, newDefaults); + const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2); + return Object.assign(endpoint2, { + DEFAULTS: DEFAULTS2, + defaults: withDefaults.bind(null, DEFAULTS2), + merge: merge.bind(null, DEFAULTS2), + parse + }); +} + +// pkg/dist-src/index.js +var endpoint = withDefaults(null, DEFAULTS); +export { + endpoint +}; diff --git a/dist/node_modules/@octokit/endpoint/dist-web/index.js.map b/dist/node_modules/@octokit/endpoint/dist-web/index.js.map new file mode 100644 index 00000000..ab12861a --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/dist-web/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/defaults.js", "../dist-src/version.js", "../dist-src/util/lowercase-keys.js", "../dist-src/util/is-plain-object.js", "../dist-src/util/merge-deep.js", "../dist-src/util/remove-undefined-properties.js", "../dist-src/merge.js", "../dist-src/util/add-query-parameters.js", "../dist-src/util/extract-url-variable-names.js", "../dist-src/util/omit.js", "../dist-src/util/url-template.js", "../dist-src/parse.js", "../dist-src/endpoint-with-defaults.js", "../dist-src/with-defaults.js", "../dist-src/index.js"], + "sourcesContent": ["import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\nconst DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent\n },\n mediaType: {\n format: \"\"\n }\n};\nexport {\n DEFAULTS\n};\n", "const VERSION = \"9.0.6\";\nexport {\n VERSION\n};\n", "function lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\nexport {\n lowercaseKeys\n};\n", "function isPlainObject(value) {\n if (typeof value !== \"object\" || value === null)\n return false;\n if (Object.prototype.toString.call(value) !== \"[object Object]\")\n return false;\n const proto = Object.getPrototypeOf(value);\n if (proto === null)\n return true;\n const Ctor = Object.prototype.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n return typeof Ctor === \"function\" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);\n}\nexport {\n isPlainObject\n};\n", "import { isPlainObject } from \"./is-plain-object\";\nfunction mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach((key) => {\n if (isPlainObject(options[key])) {\n if (!(key in defaults))\n Object.assign(result, { [key]: options[key] });\n else\n result[key] = mergeDeep(defaults[key], options[key]);\n } else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\nexport {\n mergeDeep\n};\n", "function removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === void 0) {\n delete obj[key];\n }\n }\n return obj;\n}\nexport {\n removeUndefinedProperties\n};\n", "import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\nfunction merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? { method, url } : { url: method }, options);\n } else {\n options = Object.assign({}, route);\n }\n options.headers = lowercaseKeys(options.headers);\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n if (options.url === \"/graphql\") {\n if (defaults && defaults.mediaType.previews?.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(\n (preview) => !mergedOptions.mediaType.previews.includes(preview)\n ).concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, \"\"));\n }\n return mergedOptions;\n}\nexport {\n merge\n};\n", "function addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n if (names.length === 0) {\n return url;\n }\n return url + separator + names.map((name) => {\n if (name === \"q\") {\n return \"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\");\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n }).join(\"&\");\n}\nexport {\n addQueryParameters\n};\n", "const urlVariableRegex = /\\{[^{}}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/(?:^\\W+)|(?:(? a.concat(b), []);\n}\nexport {\n extractUrlVariableNames\n};\n", "function omit(object, keysToOmit) {\n const result = { __proto__: null };\n for (const key of Object.keys(object)) {\n if (keysToOmit.indexOf(key) === -1) {\n result[key] = object[key];\n }\n }\n return result;\n}\nexport {\n omit\n};\n", "function encodeReserved(str) {\n return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n return part;\n }).join(\"\");\n}\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function(c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\nfunction encodeValue(operator, value, key) {\n value = operator === \"+\" || operator === \"#\" ? encodeReserved(value) : encodeUnreserved(value);\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n } else {\n return value;\n }\n}\nfunction isDefined(value) {\n return value !== void 0 && value !== null;\n}\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\nfunction getValues(context, operator, key, modifier) {\n var value = context[key], result = [];\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n value = value.toString();\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n result.push(\n encodeValue(operator, value, isKeyOperator(operator) ? key : \"\")\n );\n } else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function(value2) {\n result.push(\n encodeValue(operator, value2, isKeyOperator(operator) ? key : \"\")\n );\n });\n } else {\n Object.keys(value).forEach(function(k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n } else {\n const tmp = [];\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function(value2) {\n tmp.push(encodeValue(operator, value2));\n });\n } else {\n Object.keys(value).forEach(function(k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n } else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n } else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n } else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n } else if (value === \"\") {\n result.push(\"\");\n }\n }\n return result;\n}\nfunction parseUrl(template) {\n return {\n expand: expand.bind(null, template)\n };\n}\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n template = template.replace(\n /\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g,\n function(_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n expression.split(/,/g).forEach(function(variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n if (operator && operator !== \"+\") {\n var separator = \",\";\n if (operator === \"?\") {\n separator = \"&\";\n } else if (operator !== \"#\") {\n separator = operator;\n }\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n } else {\n return values.join(\",\");\n }\n } else {\n return encodeReserved(literal);\n }\n }\n );\n if (template === \"/\") {\n return template;\n } else {\n return template.replace(/\\/$/, \"\");\n }\n}\nexport {\n parseUrl\n};\n", "import { addQueryParameters } from \"./util/add-query-parameters\";\nimport { extractUrlVariableNames } from \"./util/extract-url-variable-names\";\nimport { omit } from \"./util/omit\";\nimport { parseUrl } from \"./util/url-template\";\nfunction parse(options) {\n let method = options.method.toUpperCase();\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"mediaType\"\n ]);\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n headers.accept = headers.accept.split(/,/).map(\n (format) => format.replace(\n /application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/,\n `application/vnd$1$2.${options.mediaType.format}`\n )\n ).join(\",\");\n }\n if (url.endsWith(\"/graphql\")) {\n if (options.mediaType.previews?.length) {\n const previewsFromAcceptHeader = headers.accept.match(/(? {\n const format = options.mediaType.format ? `.${options.mediaType.format}` : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n }).join(\",\");\n }\n }\n }\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n } else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n } else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n }\n }\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n return Object.assign(\n { method, url, headers },\n typeof body !== \"undefined\" ? { body } : null,\n options.request ? { request: options.request } : null\n );\n}\nexport {\n parse\n};\n", "import { DEFAULTS } from \"./defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nfunction endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\nexport {\n endpointWithDefaults\n};\n", "import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nfunction withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse\n });\n}\nexport {\n withDefaults\n};\n", "import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nconst endpoint = withDefaults(null, DEFAULTS);\nexport {\n endpoint\n};\n"], + "mappings": "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", + "names": ["DEFAULTS", "endpoint"] +} diff --git a/dist/node_modules/@octokit/endpoint/package.json b/dist/node_modules/@octokit/endpoint/package.json new file mode 100644 index 00000000..7b6a76f9 --- /dev/null +++ b/dist/node_modules/@octokit/endpoint/package.json @@ -0,0 +1,45 @@ +{ + "name": "@octokit/endpoint", + "version": "9.0.6", + "publishConfig": { + "access": "public" + }, + "description": "Turns REST API endpoints into generic request options", + "repository": "github:octokit/endpoint.js", + "keywords": [ + "octokit", + "github", + "api", + "rest" + ], + "author": "Gregor Martynus (https://github.com/gr2m)", + "license": "MIT", + "devDependencies": { + "@octokit/tsconfig": "^2.0.0", + "@types/jest": "^29.0.0", + "esbuild": "^0.19.0", + "glob": "^10.2.7", + "jest": "^29.0.0", + "prettier": "3.1.0", + "semantic-release": "^22.0.0", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "ts-jest": "^29.0.0", + "typescript": "^5.0.0" + }, + "dependencies": { + "@octokit/types": "^13.1.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + }, + "files": [ + "dist-*/**", + "bin/**" + ], + "main": "dist-node/index.js", + "browser": "dist-web/index.js", + "types": "dist-types/index.d.ts", + "module": "dist-src/index.js", + "sideEffects": false +} diff --git a/dist/node_modules/@octokit/graphql/LICENSE b/dist/node_modules/@octokit/graphql/LICENSE new file mode 100644 index 00000000..af5366d0 --- /dev/null +++ b/dist/node_modules/@octokit/graphql/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2018 Octokit contributors + +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. diff --git a/dist/node_modules/@octokit/graphql/README.md b/dist/node_modules/@octokit/graphql/README.md new file mode 100644 index 00000000..58b3b10d --- /dev/null +++ b/dist/node_modules/@octokit/graphql/README.md @@ -0,0 +1,409 @@ +# graphql.js + +> GitHub GraphQL API client for browsers and Node + +[![@latest](https://img.shields.io/npm/v/@octokit/graphql.svg)](https://www.npmjs.com/package/@octokit/graphql) +[![Build Status](https://github.com/octokit/graphql.js/workflows/Test/badge.svg)](https://github.com/octokit/graphql.js/actions?query=workflow%3ATest+branch%3Amain) + + + +- [Usage](#usage) + - [Send a simple query](#send-a-simple-query) + - [Authentication](#authentication) + - [Variables](#variables) + - [Pass query together with headers and variables](#pass-query-together-with-headers-and-variables) + - [Use with GitHub Enterprise](#use-with-github-enterprise) + - [Use custom `@octokit/request` instance](#use-custom-octokitrequest-instance) +- [TypeScript](#typescript) + - [Additional Types](#additional-types) +- [Errors](#errors) +- [Partial responses](#partial-responses) +- [Writing tests](#writing-tests) +- [License](#license) + + + +## Usage + + + + + + +
+Browsers + + +Load `@octokit/graphql` directly from [esm.sh](https://esm.sh) + +```html + +``` + +
+Node + + +Install with npm install @octokit/graphql + +```js +const { graphql } = require("@octokit/graphql"); +// or: import { graphql } from "@octokit/graphql"; +``` + +
+ +### Send a simple query + +```js +const { repository } = await graphql( + ` + { + repository(owner: "octokit", name: "graphql.js") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + } + `, + { + headers: { + authorization: `token secret123`, + }, + }, +); +``` + +### Authentication + +The simplest way to authenticate a request is to set the `Authorization` header, e.g. to a [personal access token](https://github.com/settings/tokens/). + +```js +const graphqlWithAuth = graphql.defaults({ + headers: { + authorization: `token secret123`, + }, +}); +const { repository } = await graphqlWithAuth(` + { + repository(owner: "octokit", name: "graphql.js") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + } +`); +``` + +For more complex authentication strategies such as GitHub Apps or Basic, we recommend the according authentication library exported by [`@octokit/auth`](https://github.com/octokit/auth.js). + +```js +const { createAppAuth } = require("@octokit/auth-app"); +const auth = createAppAuth({ + appId: process.env.APP_ID, + privateKey: process.env.PRIVATE_KEY, + installationId: 123, +}); +const graphqlWithAuth = graphql.defaults({ + request: { + hook: auth.hook, + }, +}); + +const { repository } = await graphqlWithAuth( + `{ + repository(owner: "octokit", name: "graphql.js") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + }`, +); +``` + +### Variables + +⚠️ Do not use [template literals](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals) in the query strings as they make your code vulnerable to query injection attacks (see [#2](https://github.com/octokit/graphql.js/issues/2)). Use variables instead: + +```js +const { lastIssues } = await graphql( + ` + query lastIssues($owner: String!, $repo: String!, $num: Int = 3) { + repository(owner: $owner, name: $repo) { + issues(last: $num) { + edges { + node { + title + } + } + } + } + } + `, + { + owner: "octokit", + repo: "graphql.js", + headers: { + authorization: `token secret123`, + }, + }, +); +``` + +### Pass query together with headers and variables + +```js +const { graphql } = require("@octokit/graphql"); +const { lastIssues } = await graphql({ + query: `query lastIssues($owner: String!, $repo: String!, $num: Int = 3) { + repository(owner:$owner, name:$repo) { + issues(last:$num) { + edges { + node { + title + } + } + } + } + }`, + owner: "octokit", + repo: "graphql.js", + headers: { + authorization: `token secret123`, + }, +}); +``` + +### Use with GitHub Enterprise + +```js +let { graphql } = require("@octokit/graphql"); +graphql = graphql.defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api", + headers: { + authorization: `token secret123`, + }, +}); +const { repository } = await graphql(` + { + repository(owner: "acme-project", name: "acme-repo") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + } +`); +``` + +### Use custom `@octokit/request` instance + +```js +const { request } = require("@octokit/request"); +const { withCustomRequest } = require("@octokit/graphql"); + +let requestCounter = 0; +const myRequest = request.defaults({ + headers: { + authorization: "bearer secret123", + }, + request: { + hook(request, options) { + requestCounter++; + return request(options); + }, + }, +}); +const myGraphql = withCustomRequest(myRequest); +await request("/"); +await myGraphql(` + { + repository(owner: "acme-project", name: "acme-repo") { + issues(last: 3) { + edges { + node { + title + } + } + } + } + } +`); +// requestCounter is now 2 +``` + +## TypeScript + +`@octokit/graphql` is exposing proper types for its usage with TypeScript projects. + +### Additional Types + +Additionally, `GraphQlQueryResponseData` has been exposed to users: + +```ts +import type { GraphQlQueryResponseData } from "@octokit/graphql"; +``` + +## Errors + +In case of a GraphQL error, `error.message` is set to a combined message describing all errors returned by the endpoint. +All errors can be accessed at `error.errors`. `error.request` has the request options such as query, variables and headers set for easier debugging. + +```js +let { graphql, GraphqlResponseError } = require("@octokit/graphql"); +graphql = graphql.defaults({ + headers: { + authorization: `token secret123`, + }, +}); +const query = `{ + viewer { + bioHtml + } +}`; + +try { + const result = await graphql(query); +} catch (error) { + if (error instanceof GraphqlResponseError) { + // do something with the error, allowing you to detect a graphql response error, + // compared to accidentally catching unrelated errors. + + // server responds with an object like the following (as an example) + // class GraphqlResponseError { + // "headers": { + // "status": "403", + // }, + // "data": null, + // "errors": [{ + // "message": "Field 'bioHtml' doesn't exist on type 'User'", + // "locations": [{ + // "line": 3, + // "column": 5 + // }] + // }] + // } + + console.log("Request failed:", error.request); // { query, variables: {}, headers: { authorization: 'token secret123' } } + console.log(error.message); // Field 'bioHtml' doesn't exist on type 'User' + } else { + // handle non-GraphQL error + } +} +``` + +## Partial responses + +A GraphQL query may respond with partial data accompanied by errors. In this case we will throw an error but the partial data will still be accessible through `error.data` + +```js +let { graphql } = require("@octokit/graphql"); +graphql = graphql.defaults({ + headers: { + authorization: `token secret123`, + }, +}); +const query = `{ + repository(name: "probot", owner: "probot") { + name + ref(qualifiedName: "master") { + target { + ... on Commit { + history(first: 25, after: "invalid cursor") { + nodes { + message + } + } + } + } + } + } +}`; + +try { + const result = await graphql(query); +} catch (error) { + // server responds with + // { + // "data": { + // "repository": { + // "name": "probot", + // "ref": null + // } + // }, + // "errors": [ + // { + // "type": "INVALID_CURSOR_ARGUMENTS", + // "path": [ + // "repository", + // "ref", + // "target", + // "history" + // ], + // "locations": [ + // { + // "line": 7, + // "column": 11 + // } + // ], + // "message": "`invalid cursor` does not appear to be a valid cursor." + // } + // ] + // } + + console.log("Request failed:", error.request); // { query, variables: {}, headers: { authorization: 'token secret123' } } + console.log(error.message); // `invalid cursor` does not appear to be a valid cursor. + console.log(error.data); // { repository: { name: 'probot', ref: null } } +} +``` + +## Writing tests + +You can pass a replacement for [the built-in fetch implementation](https://github.com/bitinn/node-fetch) as `request.fetch` option. For example, using [fetch-mock](http://www.wheresrhys.co.uk/fetch-mock/) works great to write tests + +```js +const assert = require("assert"); +const fetchMock = require("fetch-mock/es5/server"); + +const { graphql } = require("@octokit/graphql"); + +graphql("{ viewer { login } }", { + headers: { + authorization: "token secret123", + }, + request: { + fetch: fetchMock + .sandbox() + .post("https://api.github.com/graphql", (url, options) => { + assert.strictEqual(options.headers.authorization, "token secret123"); + assert.strictEqual( + options.body, + '{"query":"{ viewer { login } }"}', + "Sends correct query", + ); + return { data: {} }; + }), + }, +}); +``` + +## License + +[MIT](LICENSE) diff --git a/dist/node_modules/@octokit/graphql/dist-node/index.js b/dist/node_modules/@octokit/graphql/dist-node/index.js new file mode 100644 index 00000000..de55f796 --- /dev/null +++ b/dist/node_modules/@octokit/graphql/dist-node/index.js @@ -0,0 +1,153 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var index_exports = {}; +__export(index_exports, { + GraphqlResponseError: () => GraphqlResponseError, + graphql: () => graphql2, + withCustomRequest: () => withCustomRequest +}); +module.exports = __toCommonJS(index_exports); +var import_request3 = require("@octokit/request"); +var import_universal_user_agent = require("universal-user-agent"); + +// pkg/dist-src/version.js +var VERSION = "7.1.1"; + +// pkg/dist-src/with-defaults.js +var import_request2 = require("@octokit/request"); + +// pkg/dist-src/graphql.js +var import_request = require("@octokit/request"); + +// pkg/dist-src/error.js +function _buildMessageForResponseErrors(data) { + return `Request failed due to following response errors: +` + data.errors.map((e) => ` - ${e.message}`).join("\n"); +} +var GraphqlResponseError = class extends Error { + constructor(request2, headers, response) { + super(_buildMessageForResponseErrors(response)); + this.request = request2; + this.headers = headers; + this.response = response; + this.name = "GraphqlResponseError"; + this.errors = response.errors; + this.data = response.data; + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + } +}; + +// pkg/dist-src/graphql.js +var NON_VARIABLE_OPTIONS = [ + "method", + "baseUrl", + "url", + "headers", + "request", + "query", + "mediaType" +]; +var FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; +var GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; +function graphql(request2, query, options) { + if (options) { + if (typeof query === "string" && "query" in options) { + return Promise.reject( + new Error(`[@octokit/graphql] "query" cannot be used as variable name`) + ); + } + for (const key in options) { + if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue; + return Promise.reject( + new Error( + `[@octokit/graphql] "${key}" cannot be used as variable name` + ) + ); + } + } + const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query; + const requestOptions = Object.keys( + parsedOptions + ).reduce((result, key) => { + if (NON_VARIABLE_OPTIONS.includes(key)) { + result[key] = parsedOptions[key]; + return result; + } + if (!result.variables) { + result.variables = {}; + } + result.variables[key] = parsedOptions[key]; + return result; + }, {}); + const baseUrl = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl; + if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { + requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); + } + return request2(requestOptions).then((response) => { + if (response.data.errors) { + const headers = {}; + for (const key of Object.keys(response.headers)) { + headers[key] = response.headers[key]; + } + throw new GraphqlResponseError( + requestOptions, + headers, + response.data + ); + } + return response.data.data; + }); +} + +// pkg/dist-src/with-defaults.js +function withDefaults(request2, newDefaults) { + const newRequest = request2.defaults(newDefaults); + const newApi = (query, options) => { + return graphql(newRequest, query, options); + }; + return Object.assign(newApi, { + defaults: withDefaults.bind(null, newRequest), + endpoint: newRequest.endpoint + }); +} + +// pkg/dist-src/index.js +var graphql2 = withDefaults(import_request3.request, { + headers: { + "user-agent": `octokit-graphql.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}` + }, + method: "POST", + url: "/graphql" +}); +function withCustomRequest(customRequest) { + return withDefaults(customRequest, { + method: "POST", + url: "/graphql" + }); +} +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + GraphqlResponseError, + graphql, + withCustomRequest +}); diff --git a/dist/node_modules/@octokit/graphql/dist-node/index.js.map b/dist/node_modules/@octokit/graphql/dist-node/index.js.map new file mode 100644 index 00000000..9e130308 --- /dev/null +++ b/dist/node_modules/@octokit/graphql/dist-node/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/index.js", "../dist-src/version.js", "../dist-src/with-defaults.js", "../dist-src/graphql.js", "../dist-src/error.js"], + "sourcesContent": ["import { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport { withDefaults } from \"./with-defaults\";\nconst graphql = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`\n },\n method: \"POST\",\n url: \"/graphql\"\n});\nimport { GraphqlResponseError } from \"./error\";\nfunction withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\"\n });\n}\nexport {\n GraphqlResponseError,\n graphql,\n withCustomRequest\n};\n", "const VERSION = \"7.1.1\";\nexport {\n VERSION\n};\n", "import { request as Request } from \"@octokit/request\";\nimport { graphql } from \"./graphql\";\nfunction withDefaults(request, newDefaults) {\n const newRequest = request.defaults(newDefaults);\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: newRequest.endpoint\n });\n}\nexport {\n withDefaults\n};\n", "import { request as Request } from \"@octokit/request\";\nimport { GraphqlResponseError } from \"./error\";\nconst NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\"\n];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nfunction graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(\n new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`)\n );\n }\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;\n return Promise.reject(\n new Error(\n `[@octokit/graphql] \"${key}\" cannot be used as variable name`\n )\n );\n }\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(\n parsedOptions\n ).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n if (!result.variables) {\n result.variables = {};\n }\n result.variables[key] = parsedOptions[key];\n return result;\n }, {});\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n return request(requestOptions).then((response) => {\n if (response.data.errors) {\n const headers = {};\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n throw new GraphqlResponseError(\n requestOptions,\n headers,\n response.data\n );\n }\n return response.data.data;\n });\n}\nexport {\n graphql\n};\n", "function _buildMessageForResponseErrors(data) {\n return `Request failed due to following response errors:\n` + data.errors.map((e) => ` - ${e.message}`).join(\"\\n\");\n}\nclass GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\";\n this.errors = response.errors;\n this.data = response.data;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n}\nexport {\n GraphqlResponseError\n};\n"], + "mappings": "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", + "names": ["graphql", "import_request", "import_request", "request", "request", "request", "graphql"] +} diff --git a/dist/node_modules/@octokit/graphql/dist-src/error.js b/dist/node_modules/@octokit/graphql/dist-src/error.js new file mode 100644 index 00000000..dd0f4e69 --- /dev/null +++ b/dist/node_modules/@octokit/graphql/dist-src/error.js @@ -0,0 +1,21 @@ +function _buildMessageForResponseErrors(data) { + return `Request failed due to following response errors: +` + data.errors.map((e) => ` - ${e.message}`).join("\n"); +} +class GraphqlResponseError extends Error { + constructor(request, headers, response) { + super(_buildMessageForResponseErrors(response)); + this.request = request; + this.headers = headers; + this.response = response; + this.name = "GraphqlResponseError"; + this.errors = response.errors; + this.data = response.data; + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + } +} +export { + GraphqlResponseError +}; diff --git a/dist/node_modules/@octokit/graphql/dist-src/graphql.js b/dist/node_modules/@octokit/graphql/dist-src/graphql.js new file mode 100644 index 00000000..8a57f60a --- /dev/null +++ b/dist/node_modules/@octokit/graphql/dist-src/graphql.js @@ -0,0 +1,65 @@ +import { request as Request } from "@octokit/request"; +import { GraphqlResponseError } from "./error"; +const NON_VARIABLE_OPTIONS = [ + "method", + "baseUrl", + "url", + "headers", + "request", + "query", + "mediaType" +]; +const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; +const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; +function graphql(request, query, options) { + if (options) { + if (typeof query === "string" && "query" in options) { + return Promise.reject( + new Error(`[@octokit/graphql] "query" cannot be used as variable name`) + ); + } + for (const key in options) { + if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue; + return Promise.reject( + new Error( + `[@octokit/graphql] "${key}" cannot be used as variable name` + ) + ); + } + } + const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query; + const requestOptions = Object.keys( + parsedOptions + ).reduce((result, key) => { + if (NON_VARIABLE_OPTIONS.includes(key)) { + result[key] = parsedOptions[key]; + return result; + } + if (!result.variables) { + result.variables = {}; + } + result.variables[key] = parsedOptions[key]; + return result; + }, {}); + const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl; + if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { + requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); + } + return request(requestOptions).then((response) => { + if (response.data.errors) { + const headers = {}; + for (const key of Object.keys(response.headers)) { + headers[key] = response.headers[key]; + } + throw new GraphqlResponseError( + requestOptions, + headers, + response.data + ); + } + return response.data.data; + }); +} +export { + graphql +}; diff --git a/dist/node_modules/@octokit/graphql/dist-src/index.js b/dist/node_modules/@octokit/graphql/dist-src/index.js new file mode 100644 index 00000000..4e7deb5b --- /dev/null +++ b/dist/node_modules/@octokit/graphql/dist-src/index.js @@ -0,0 +1,23 @@ +import { request } from "@octokit/request"; +import { getUserAgent } from "universal-user-agent"; +import { VERSION } from "./version"; +import { withDefaults } from "./with-defaults"; +const graphql = withDefaults(request, { + headers: { + "user-agent": `octokit-graphql.js/${VERSION} ${getUserAgent()}` + }, + method: "POST", + url: "/graphql" +}); +import { GraphqlResponseError } from "./error"; +function withCustomRequest(customRequest) { + return withDefaults(customRequest, { + method: "POST", + url: "/graphql" + }); +} +export { + GraphqlResponseError, + graphql, + withCustomRequest +}; diff --git a/dist/node_modules/@octokit/graphql/dist-src/version.js b/dist/node_modules/@octokit/graphql/dist-src/version.js new file mode 100644 index 00000000..75aca505 --- /dev/null +++ b/dist/node_modules/@octokit/graphql/dist-src/version.js @@ -0,0 +1,4 @@ +const VERSION = "7.1.1"; +export { + VERSION +}; diff --git a/dist/node_modules/@octokit/graphql/dist-src/with-defaults.js b/dist/node_modules/@octokit/graphql/dist-src/with-defaults.js new file mode 100644 index 00000000..853ce88f --- /dev/null +++ b/dist/node_modules/@octokit/graphql/dist-src/with-defaults.js @@ -0,0 +1,15 @@ +import { request as Request } from "@octokit/request"; +import { graphql } from "./graphql"; +function withDefaults(request, newDefaults) { + const newRequest = request.defaults(newDefaults); + const newApi = (query, options) => { + return graphql(newRequest, query, options); + }; + return Object.assign(newApi, { + defaults: withDefaults.bind(null, newRequest), + endpoint: newRequest.endpoint + }); +} +export { + withDefaults +}; diff --git a/dist/node_modules/@octokit/graphql/dist-types/error.d.ts b/dist/node_modules/@octokit/graphql/dist-types/error.d.ts new file mode 100644 index 00000000..e921bfa5 --- /dev/null +++ b/dist/node_modules/@octokit/graphql/dist-types/error.d.ts @@ -0,0 +1,13 @@ +import type { ResponseHeaders } from "@octokit/types"; +import type { GraphQlEndpointOptions, GraphQlQueryResponse } from "./types"; +type ServerResponseData = Required>; +export declare class GraphqlResponseError extends Error { + readonly request: GraphQlEndpointOptions; + readonly headers: ResponseHeaders; + readonly response: ServerResponseData; + name: string; + readonly errors: GraphQlQueryResponse["errors"]; + readonly data: ResponseData; + constructor(request: GraphQlEndpointOptions, headers: ResponseHeaders, response: ServerResponseData); +} +export {}; diff --git a/dist/node_modules/@octokit/graphql/dist-types/graphql.d.ts b/dist/node_modules/@octokit/graphql/dist-types/graphql.d.ts new file mode 100644 index 00000000..376e5dfe --- /dev/null +++ b/dist/node_modules/@octokit/graphql/dist-types/graphql.d.ts @@ -0,0 +1,3 @@ +import { request as Request } from "@octokit/request"; +import type { RequestParameters, GraphQlQueryResponseData } from "./types"; +export declare function graphql(request: typeof Request, query: string | RequestParameters, options?: RequestParameters): Promise; diff --git a/dist/node_modules/@octokit/graphql/dist-types/index.d.ts b/dist/node_modules/@octokit/graphql/dist-types/index.d.ts new file mode 100644 index 00000000..c9b22c94 --- /dev/null +++ b/dist/node_modules/@octokit/graphql/dist-types/index.d.ts @@ -0,0 +1,5 @@ +import { request } from "@octokit/request"; +export declare const graphql: import("./types").graphql; +export type { GraphQlQueryResponseData } from "./types"; +export { GraphqlResponseError } from "./error"; +export declare function withCustomRequest(customRequest: typeof request): import("./types").graphql; diff --git a/dist/node_modules/@octokit/graphql/dist-types/types.d.ts b/dist/node_modules/@octokit/graphql/dist-types/types.d.ts new file mode 100644 index 00000000..ceba0258 --- /dev/null +++ b/dist/node_modules/@octokit/graphql/dist-types/types.d.ts @@ -0,0 +1,55 @@ +import type { EndpointOptions, RequestParameters as RequestParametersType, EndpointInterface } from "@octokit/types"; +export type GraphQlEndpointOptions = EndpointOptions & { + variables?: { + [key: string]: unknown; + }; +}; +export type RequestParameters = RequestParametersType; +export type Query = string; +export interface graphql { + /** + * Sends a GraphQL query request based on endpoint options + * The GraphQL query must be specified in `options`. + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: RequestParameters): GraphQlResponse; + /** + * Sends a GraphQL query request based on endpoint options + * + * @param {string} query GraphQL query. Example: `'query { viewer { login } }'`. + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (query: Query, parameters?: RequestParameters): GraphQlResponse; + /** + * Returns a new `endpoint` with updated route and parameters + */ + defaults: (newDefaults: RequestParameters) => graphql; + /** + * Octokit endpoint API, see {@link https://github.com/octokit/endpoint.js|@octokit/endpoint} + */ + endpoint: EndpointInterface; +} +export type GraphQlResponse = Promise; +export type GraphQlQueryResponseData = { + [key: string]: any; +}; +export type GraphQlQueryResponse = { + data: ResponseData; + errors?: [ + { + type: string; + message: string; + path: [string]; + extensions: { + [key: string]: any; + }; + locations: [ + { + line: number; + column: number; + } + ]; + } + ]; +}; diff --git a/dist/node_modules/@octokit/graphql/dist-types/version.d.ts b/dist/node_modules/@octokit/graphql/dist-types/version.d.ts new file mode 100644 index 00000000..76a73422 --- /dev/null +++ b/dist/node_modules/@octokit/graphql/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "7.1.1"; diff --git a/dist/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts b/dist/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts new file mode 100644 index 00000000..28f22dc2 --- /dev/null +++ b/dist/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts @@ -0,0 +1,3 @@ +import { request as Request } from "@octokit/request"; +import type { graphql as ApiInterface, RequestParameters } from "./types"; +export declare function withDefaults(request: typeof Request, newDefaults: RequestParameters): ApiInterface; diff --git a/dist/node_modules/@octokit/graphql/dist-web/index.js b/dist/node_modules/@octokit/graphql/dist-web/index.js new file mode 100644 index 00000000..2e06cd93 --- /dev/null +++ b/dist/node_modules/@octokit/graphql/dist-web/index.js @@ -0,0 +1,126 @@ +// pkg/dist-src/index.js +import { request } from "@octokit/request"; +import { getUserAgent } from "universal-user-agent"; + +// pkg/dist-src/version.js +var VERSION = "7.1.1"; + +// pkg/dist-src/with-defaults.js +import { request as Request2 } from "@octokit/request"; + +// pkg/dist-src/graphql.js +import { request as Request } from "@octokit/request"; + +// pkg/dist-src/error.js +function _buildMessageForResponseErrors(data) { + return `Request failed due to following response errors: +` + data.errors.map((e) => ` - ${e.message}`).join("\n"); +} +var GraphqlResponseError = class extends Error { + constructor(request2, headers, response) { + super(_buildMessageForResponseErrors(response)); + this.request = request2; + this.headers = headers; + this.response = response; + this.name = "GraphqlResponseError"; + this.errors = response.errors; + this.data = response.data; + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + } +}; + +// pkg/dist-src/graphql.js +var NON_VARIABLE_OPTIONS = [ + "method", + "baseUrl", + "url", + "headers", + "request", + "query", + "mediaType" +]; +var FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; +var GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; +function graphql(request2, query, options) { + if (options) { + if (typeof query === "string" && "query" in options) { + return Promise.reject( + new Error(`[@octokit/graphql] "query" cannot be used as variable name`) + ); + } + for (const key in options) { + if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue; + return Promise.reject( + new Error( + `[@octokit/graphql] "${key}" cannot be used as variable name` + ) + ); + } + } + const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query; + const requestOptions = Object.keys( + parsedOptions + ).reduce((result, key) => { + if (NON_VARIABLE_OPTIONS.includes(key)) { + result[key] = parsedOptions[key]; + return result; + } + if (!result.variables) { + result.variables = {}; + } + result.variables[key] = parsedOptions[key]; + return result; + }, {}); + const baseUrl = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl; + if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { + requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); + } + return request2(requestOptions).then((response) => { + if (response.data.errors) { + const headers = {}; + for (const key of Object.keys(response.headers)) { + headers[key] = response.headers[key]; + } + throw new GraphqlResponseError( + requestOptions, + headers, + response.data + ); + } + return response.data.data; + }); +} + +// pkg/dist-src/with-defaults.js +function withDefaults(request2, newDefaults) { + const newRequest = request2.defaults(newDefaults); + const newApi = (query, options) => { + return graphql(newRequest, query, options); + }; + return Object.assign(newApi, { + defaults: withDefaults.bind(null, newRequest), + endpoint: newRequest.endpoint + }); +} + +// pkg/dist-src/index.js +var graphql2 = withDefaults(request, { + headers: { + "user-agent": `octokit-graphql.js/${VERSION} ${getUserAgent()}` + }, + method: "POST", + url: "/graphql" +}); +function withCustomRequest(customRequest) { + return withDefaults(customRequest, { + method: "POST", + url: "/graphql" + }); +} +export { + GraphqlResponseError, + graphql2 as graphql, + withCustomRequest +}; diff --git a/dist/node_modules/@octokit/graphql/dist-web/index.js.map b/dist/node_modules/@octokit/graphql/dist-web/index.js.map new file mode 100644 index 00000000..e3292cbd --- /dev/null +++ b/dist/node_modules/@octokit/graphql/dist-web/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/index.js", "../dist-src/version.js", "../dist-src/with-defaults.js", "../dist-src/graphql.js", "../dist-src/error.js"], + "sourcesContent": ["import { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport { withDefaults } from \"./with-defaults\";\nconst graphql = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`\n },\n method: \"POST\",\n url: \"/graphql\"\n});\nimport { GraphqlResponseError } from \"./error\";\nfunction withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\"\n });\n}\nexport {\n GraphqlResponseError,\n graphql,\n withCustomRequest\n};\n", "const VERSION = \"7.1.1\";\nexport {\n VERSION\n};\n", "import { request as Request } from \"@octokit/request\";\nimport { graphql } from \"./graphql\";\nfunction withDefaults(request, newDefaults) {\n const newRequest = request.defaults(newDefaults);\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: newRequest.endpoint\n });\n}\nexport {\n withDefaults\n};\n", "import { request as Request } from \"@octokit/request\";\nimport { GraphqlResponseError } from \"./error\";\nconst NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\"\n];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nfunction graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(\n new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`)\n );\n }\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;\n return Promise.reject(\n new Error(\n `[@octokit/graphql] \"${key}\" cannot be used as variable name`\n )\n );\n }\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(\n parsedOptions\n ).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n if (!result.variables) {\n result.variables = {};\n }\n result.variables[key] = parsedOptions[key];\n return result;\n }, {});\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n return request(requestOptions).then((response) => {\n if (response.data.errors) {\n const headers = {};\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n throw new GraphqlResponseError(\n requestOptions,\n headers,\n response.data\n );\n }\n return response.data.data;\n });\n}\nexport {\n graphql\n};\n", "function _buildMessageForResponseErrors(data) {\n return `Request failed due to following response errors:\n` + data.errors.map((e) => ` - ${e.message}`).join(\"\\n\");\n}\nclass GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\";\n this.errors = response.errors;\n this.data = response.data;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n}\nexport {\n GraphqlResponseError\n};\n"], + "mappings": "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", + "names": ["Request", "request", "request", "request", "graphql"] +} diff --git a/dist/node_modules/@octokit/graphql/package.json b/dist/node_modules/@octokit/graphql/package.json new file mode 100644 index 00000000..4537da79 --- /dev/null +++ b/dist/node_modules/@octokit/graphql/package.json @@ -0,0 +1,48 @@ +{ + "name": "@octokit/graphql", + "version": "7.1.1", + "publishConfig": { + "access": "public", + "provenance": true + }, + "description": "GitHub GraphQL API client for browsers and Node", + "repository": "github:octokit/graphql.js", + "keywords": [ + "octokit", + "github", + "api", + "graphql" + ], + "author": "Gregor Martynus (https://github.com/gr2m)", + "license": "MIT", + "dependencies": { + "@octokit/request": "^8.4.1", + "@octokit/types": "^13.0.0", + "universal-user-agent": "^6.0.0" + }, + "devDependencies": { + "@octokit/tsconfig": "^2.0.0", + "@types/jest": "^29.0.0", + "@types/node": "^18.0.0", + "esbuild": "~0.25.0", + "fetch-mock": "^11.1.5", + "glob": "^10.2.6", + "jest": "^29.0.0", + "prettier": "3.0.3", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "ts-jest": "^29.0.0", + "typescript": "^5.0.0" + }, + "engines": { + "node": ">= 18" + }, + "files": [ + "dist-*/**", + "bin/**" + ], + "main": "dist-node/index.js", + "module": "dist-web/index.js", + "types": "dist-types/index.d.ts", + "source": "dist-src/index.js", + "sideEffects": false +} diff --git a/dist/node_modules/@octokit/openapi-types/LICENSE b/dist/node_modules/@octokit/openapi-types/LICENSE new file mode 100644 index 00000000..c61fbbe5 --- /dev/null +++ b/dist/node_modules/@octokit/openapi-types/LICENSE @@ -0,0 +1,7 @@ +Copyright 2020 Gregor Martynus + +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. \ No newline at end of file diff --git a/dist/node_modules/@octokit/openapi-types/README.md b/dist/node_modules/@octokit/openapi-types/README.md new file mode 100644 index 00000000..e61ed8d2 --- /dev/null +++ b/dist/node_modules/@octokit/openapi-types/README.md @@ -0,0 +1,17 @@ +# @octokit/openapi-types + +> Generated TypeScript definitions based on GitHub's OpenAPI spec + +This package is continuously updated based on [GitHub's OpenAPI specification](https://github.com/github/rest-api-description/) + +## Usage + +```ts +import { components } from "@octokit/openapi-types"; + +type Repository = components["schemas"]["full-repository"]; +``` + +## License + +[MIT](LICENSE) diff --git a/dist/node_modules/@octokit/openapi-types/package.json b/dist/node_modules/@octokit/openapi-types/package.json new file mode 100644 index 00000000..64cf131e --- /dev/null +++ b/dist/node_modules/@octokit/openapi-types/package.json @@ -0,0 +1,21 @@ +{ + "name": "@octokit/openapi-types", + "description": "Generated TypeScript definitions based on GitHub's OpenAPI spec for api.github.com", + "repository": { + "type": "git", + "url": "https://github.com/octokit/openapi-types.ts.git", + "directory": "packages/openapi-types" + }, + "publishConfig": { + "access": "public", + "provenance": true + }, + "version": "24.2.0", + "main": "", + "types": "types.d.ts", + "author": "Gregor Martynus (https://twitter.com/gr2m)", + "license": "MIT", + "octokit": { + "openapi-version": "18.2.0" + } +} diff --git a/dist/node_modules/@octokit/openapi-types/types.d.ts b/dist/node_modules/@octokit/openapi-types/types.d.ts new file mode 100644 index 00000000..8a2a9073 --- /dev/null +++ b/dist/node_modules/@octokit/openapi-types/types.d.ts @@ -0,0 +1,117609 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +/** OneOf type helpers */ +type Without = { [P in Exclude]?: never }; +type XOR = T | U extends object + ? (Without & U) | (Without & T) + : T | U; +type OneOf = T extends [infer Only] + ? Only + : T extends [infer A, infer B, ...infer Rest] + ? OneOf<[XOR, ...Rest]> + : never; + +export interface paths { + "/": { + /** + * GitHub API Root + * @description Get Hypermedia links to resources accessible in GitHub's REST API + */ + get: operations["meta/root"]; + }; + "/advisories": { + /** + * List global security advisories + * @description Lists all global security advisories that match the specified parameters. If no other parameters are defined, the request will return only GitHub-reviewed advisories that are not malware. + * + * By default, all responses will exclude advisories for malware, because malware are not standard vulnerabilities. To list advisories for malware, you must include the `type` parameter in your request, with the value `malware`. For more information about the different types of security advisories, see "[About the GitHub Advisory database](https://docs.github.com/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database#about-types-of-security-advisories)." + */ + get: operations["security-advisories/list-global-advisories"]; + }; + "/advisories/{ghsa_id}": { + /** + * Get a global security advisory + * @description Gets a global security advisory using its GitHub Security Advisory (GHSA) identifier. + */ + get: operations["security-advisories/get-global-advisory"]; + }; + "/app": { + /** + * Get the authenticated app + * @description Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/apps/apps#list-installations-for-the-authenticated-app)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-authenticated"]; + }; + "/app-manifests/{code}/conversions": { + /** + * Create a GitHub App from a manifest + * @description Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. + */ + post: operations["apps/create-from-manifest"]; + }; + "/app/hook/config": { + /** + * Get a webhook configuration for an app + * @description Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-webhook-config-for-app"]; + /** + * Update a webhook configuration for an app + * @description Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + patch: operations["apps/update-webhook-config-for-app"]; + }; + "/app/hook/deliveries": { + /** + * List deliveries for an app webhook + * @description Returns a list of webhook deliveries for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/list-webhook-deliveries"]; + }; + "/app/hook/deliveries/{delivery_id}": { + /** + * Get a delivery for an app webhook + * @description Returns a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-webhook-delivery"]; + }; + "/app/hook/deliveries/{delivery_id}/attempts": { + /** + * Redeliver a delivery for an app webhook + * @description Redeliver a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + post: operations["apps/redeliver-webhook-delivery"]; + }; + "/app/installation-requests": { + /** + * List installation requests for the authenticated app + * @description Lists all the pending installation requests for the authenticated GitHub App. + */ + get: operations["apps/list-installation-requests-for-authenticated-app"]; + }; + "/app/installations": { + /** + * List installations for the authenticated app + * @description You must use a [JWT](https://docs.github.com/enterprise-server@3.9/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * + * The permissions the installation has are included under the `permissions` key. + */ + get: operations["apps/list-installations"]; + }; + "/app/installations/{installation_id}": { + /** + * Get an installation for the authenticated app + * @description Enables an authenticated GitHub App to find an installation's information using the installation id. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-installation"]; + /** + * Delete an installation for the authenticated app + * @description Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/apps/apps#suspend-an-app-installation)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + delete: operations["apps/delete-installation"]; + }; + "/app/installations/{installation_id}/access_tokens": { + /** + * Create an installation access token for an app + * @description Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. + * + * Optionally, you can use the `repositories` or `repository_ids` body parameters to specify individual repositories that the installation access token can access. If you don't use `repositories` or `repository_ids` to grant access to specific repositories, the installation access token will have access to all repositories that the installation was granted access to. The installation access token cannot be granted access to repositories that the installation was not granted access to. Up to 500 repositories can be listed in this manner. + * + * Optionally, use the `permissions` body parameter to specify the permissions that the installation access token should have. If `permissions` is not specified, the installation access token will have all of the permissions that were granted to the app. The installation access token cannot be granted permissions that the app was not granted. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + post: operations["apps/create-installation-access-token"]; + }; + "/app/installations/{installation_id}/suspended": { + /** + * Suspend an app installation + * @description Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + put: operations["apps/suspend-installation"]; + /** + * Unsuspend an app installation + * @description Removes a GitHub App installation suspension. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + delete: operations["apps/unsuspend-installation"]; + }; + "/applications/{client_id}/grant": { + /** + * Delete an app authorization + * @description OAuth and GitHub application owners can revoke a grant for their application and a specific user. You must provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. + * Deleting an application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ + delete: operations["apps/delete-authorization"]; + }; + "/applications/{client_id}/token": { + /** + * Check a token + * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. Invalid tokens will return `404 NOT FOUND`. + */ + post: operations["apps/check-token"]; + /** + * Delete an app token + * @description OAuth or GitHub application owners can revoke a single token for an OAuth application or a GitHub application with an OAuth authorization. + */ + delete: operations["apps/delete-token"]; + /** + * Reset a token + * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. Invalid tokens will return `404 NOT FOUND`. + */ + patch: operations["apps/reset-token"]; + }; + "/applications/{client_id}/token/scoped": { + /** + * Create a scoped access token + * @description Use a non-scoped user access token to create a repository-scoped and/or permission-scoped user access token. You can specify + * which repositories the token can access and which permissions are granted to the + * token. + * + * Invalid tokens will return `404 NOT FOUND`. + */ + post: operations["apps/scope-token"]; + }; + "/apps/{app_slug}": { + /** + * Get an app + * @description > [!NOTE] + * > The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). + */ + get: operations["apps/get-by-slug"]; + }; + "/assignments/{assignment_id}": { + /** + * Get an assignment + * @description Gets a GitHub Classroom assignment. Assignment will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + get: operations["classroom/get-an-assignment"]; + }; + "/assignments/{assignment_id}/accepted_assignments": { + /** + * List accepted assignments for an assignment + * @description Lists any assignment repositories that have been created by students accepting a GitHub Classroom assignment. Accepted assignments will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + get: operations["classroom/list-accepted-assignments-for-an-assignment"]; + }; + "/assignments/{assignment_id}/grades": { + /** + * Get assignment grades + * @description Gets grades for a GitHub Classroom assignment. Grades will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + get: operations["classroom/get-assignment-grades"]; + }; + "/classrooms": { + /** + * List classrooms + * @description Lists GitHub Classroom classrooms for the current user. Classrooms will only be returned if the current user is an administrator of one or more GitHub Classrooms. + */ + get: operations["classroom/list-classrooms"]; + }; + "/classrooms/{classroom_id}": { + /** + * Get a classroom + * @description Gets a GitHub Classroom classroom for the current user. Classroom will only be returned if the current user is an administrator of the GitHub Classroom. + */ + get: operations["classroom/get-a-classroom"]; + }; + "/classrooms/{classroom_id}/assignments": { + /** + * List assignments for a classroom + * @description Lists GitHub Classroom assignments for a classroom. Assignments will only be returned if the current user is an administrator of the GitHub Classroom. + */ + get: operations["classroom/list-assignments-for-a-classroom"]; + }; + "/codes_of_conduct": { + /** + * Get all codes of conduct + * @description Returns array of all GitHub's codes of conduct. + */ + get: operations["codes-of-conduct/get-all-codes-of-conduct"]; + }; + "/codes_of_conduct/{key}": { + /** + * Get a code of conduct + * @description Returns information about the specified GitHub code of conduct. + */ + get: operations["codes-of-conduct/get-conduct-code"]; + }; + "/emojis": { + /** + * Get emojis + * @description Lists all the emojis available to use on GitHub. + */ + get: operations["emojis/get"]; + }; + "/enterprises/{enterprise}/code-security/configurations": { + /** + * Get code security configurations for an enterprise + * @description Lists all code security configurations available in an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. + */ + get: operations["code-security/get-configurations-for-enterprise"]; + /** + * Create a code security configuration for an enterprise + * @description Creates a code security configuration in an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + post: operations["code-security/create-configuration-for-enterprise"]; + }; + "/enterprises/{enterprise}/code-security/configurations/defaults": { + /** + * Get default code security configurations for an enterprise + * @description Lists the default code security configurations for an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. + */ + get: operations["code-security/get-default-configurations-for-enterprise"]; + }; + "/enterprises/{enterprise}/code-security/configurations/{configuration_id}": { + /** + * Retrieve a code security configuration of an enterprise + * @description Gets a code security configuration available in an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. + */ + get: operations["code-security/get-single-configuration-for-enterprise"]; + /** + * Delete a code security configuration for an enterprise + * @description Deletes a code security configuration from an enterprise. + * Repositories attached to the configuration will retain their settings but will no longer be associated with + * the configuration. + * + * The authenticated user must be an administrator for the enterprise to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + delete: operations["code-security/delete-configuration-for-enterprise"]; + /** + * Update a custom code security configuration for an enterprise + * @description Updates a code security configuration in an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + patch: operations["code-security/update-enterprise-configuration"]; + }; + "/enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach": { + /** + * Attach an enterprise configuration to repositories + * @description Attaches an enterprise code security configuration to repositories. If the repositories specified are already attached to a configuration, they will be re-attached to the provided configuration. + * + * If insufficient GHAS licenses are available to attach the configuration to a repository, only free features will be enabled. + * + * The authenticated user must be an administrator for the enterprise to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + post: operations["code-security/attach-enterprise-configuration"]; + }; + "/enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults": { + /** + * Set a code security configuration as a default for an enterprise + * @description Sets a code security configuration as a default to be applied to new repositories in your enterprise. + * + * This configuration will be applied by default to the matching repository type when created, but only for organizations within the enterprise that do not already have a default code security configuration set. + * + * The authenticated user must be an administrator for the enterprise to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + put: operations["code-security/set-configuration-as-default-for-enterprise"]; + }; + "/enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories": { + /** + * Get repositories associated with an enterprise code security configuration + * @description Lists the repositories associated with an enterprise code security configuration in an organization. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. + */ + get: operations["code-security/get-repositories-for-enterprise-configuration"]; + }; + "/enterprises/{enterprise}/dependabot/alerts": { + /** + * List Dependabot alerts for an enterprise + * @description Lists Dependabot alerts for repositories that are owned by the specified enterprise. + * + * The authenticated user must be a member of the enterprise to use this endpoint. + * + * Alerts are only returned for organizations in the enterprise for which you are an organization owner or a security manager. For more information about security managers, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. + */ + get: operations["dependabot/list-alerts-for-enterprise"]; + }; + "/enterprises/{enterprise}/secret-scanning/alerts": { + /** + * List secret scanning alerts for an enterprise + * @description Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. + * + * Alerts are only returned for organizations in the enterprise for which the authenticated user is an organization owner or a [security manager](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). + * + * The authenticated user must be a member of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope or `security_events` scope to use this endpoint. + */ + get: operations["secret-scanning/list-alerts-for-enterprise"]; + }; + "/events": { + /** + * List public events + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-public-events"]; + }; + "/feeds": { + /** + * Get feeds + * @description Lists the feeds available to the authenticated user. The response provides a URL for each feed. You can then get a specific feed by sending a request to one of the feed URLs. + * + * * **Timeline**: The GitHub global public timeline + * * **User**: The public timeline for any user, using `uri_template`. For more information, see "[Hypermedia](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia)." + * * **Current user public**: The public timeline for the authenticated user + * * **Current user**: The private timeline for the authenticated user + * * **Current user actor**: The private timeline for activity created by the authenticated user + * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. + * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. + * + * By default, timeline resources are returned in JSON. You can specify the `application/atom+xml` type in the `Accept` header to return timeline resources in Atom format. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * > [!NOTE] + * > Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) since current feed URIs use the older, non revocable auth tokens. + */ + get: operations["activity/get-feeds"]; + }; + "/gists": { + /** + * List gists for the authenticated user + * @description Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: + */ + get: operations["gists/list"]; + /** + * Create a gist + * @description Allows you to add a new gist with one or more files. + * + * > [!NOTE] + * > Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. + */ + post: operations["gists/create"]; + }; + "/gists/public": { + /** + * List public gists + * @description List public gists sorted by most recently updated to least recently updated. + * + * Note: With [pagination](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. + */ + get: operations["gists/list-public"]; + }; + "/gists/starred": { + /** + * List starred gists + * @description List the authenticated user's starred gists: + */ + get: operations["gists/list-starred"]; + }; + "/gists/{gist_id}": { + /** + * Get a gist + * @description Gets a specified gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + get: operations["gists/get"]; + /** Delete a gist */ + delete: operations["gists/delete"]; + /** + * Update a gist + * @description Allows you to update a gist's description and to update, delete, or rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. + */ + patch: operations["gists/update"]; + }; + "/gists/{gist_id}/comments": { + /** + * List gist comments + * @description Lists the comments on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + get: operations["gists/list-comments"]; + /** + * Create a gist comment + * @description Creates a comment on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + post: operations["gists/create-comment"]; + }; + "/gists/{gist_id}/comments/{comment_id}": { + /** + * Get a gist comment + * @description Gets a comment on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + get: operations["gists/get-comment"]; + /** Delete a gist comment */ + delete: operations["gists/delete-comment"]; + /** + * Update a gist comment + * @description Updates a comment on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + patch: operations["gists/update-comment"]; + }; + "/gists/{gist_id}/commits": { + /** List gist commits */ + get: operations["gists/list-commits"]; + }; + "/gists/{gist_id}/forks": { + /** List gist forks */ + get: operations["gists/list-forks"]; + /** Fork a gist */ + post: operations["gists/fork"]; + }; + "/gists/{gist_id}/star": { + /** Check if a gist is starred */ + get: operations["gists/check-is-starred"]; + /** + * Star a gist + * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + put: operations["gists/star"]; + /** Unstar a gist */ + delete: operations["gists/unstar"]; + }; + "/gists/{gist_id}/{sha}": { + /** + * Get a gist revision + * @description Gets a specified gist revision. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + get: operations["gists/get-revision"]; + }; + "/gitignore/templates": { + /** + * Get all gitignore templates + * @description List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/repos/repos#create-a-repository-for-the-authenticated-user). + */ + get: operations["gitignore/get-all-templates"]; + }; + "/gitignore/templates/{name}": { + /** + * Get a gitignore template + * @description Get the content of a gitignore template. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw .gitignore contents. + */ + get: operations["gitignore/get-template"]; + }; + "/installation/repositories": { + /** + * List repositories accessible to the app installation + * @description List repositories that an app installation can access. + */ + get: operations["apps/list-repos-accessible-to-installation"]; + }; + "/installation/token": { + /** + * Revoke an installation access token + * @description Revokes the installation token you're using to authenticate as an installation and access this endpoint. + * + * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/apps/apps#create-an-installation-access-token-for-an-app)" endpoint. + */ + delete: operations["apps/revoke-installation-access-token"]; + }; + "/issues": { + /** + * List issues assigned to the authenticated user + * @description List issues assigned to the authenticated user across all visible repositories including owned repositories, member + * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not + * necessarily assigned to you. + * + * > [!NOTE] + * > GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list"]; + }; + "/licenses": { + /** + * Get all commonly used licenses + * @description Lists the most commonly used licenses on GitHub. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." + */ + get: operations["licenses/get-all-commonly-used"]; + }; + "/licenses/{license}": { + /** + * Get a license + * @description Gets information about a specific license. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." + */ + get: operations["licenses/get"]; + }; + "/markdown": { + /** Render a Markdown document */ + post: operations["markdown/render"]; + }; + "/markdown/raw": { + /** + * Render a Markdown document in raw mode + * @description You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. + */ + post: operations["markdown/render-raw"]; + }; + "/marketplace_listing/accounts/{account_id}": { + /** + * Get a subscription plan for an account + * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/get-subscription-plan-for-account"]; + }; + "/marketplace_listing/plans": { + /** + * List plans + * @description Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-plans"]; + }; + "/marketplace_listing/plans/{plan_id}/accounts": { + /** + * List accounts for a plan + * @description Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-accounts-for-plan"]; + }; + "/marketplace_listing/stubbed/accounts/{account_id}": { + /** + * Get a subscription plan for an account (stubbed) + * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/get-subscription-plan-for-account-stubbed"]; + }; + "/marketplace_listing/stubbed/plans": { + /** + * List plans (stubbed) + * @description Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-plans-stubbed"]; + }; + "/marketplace_listing/stubbed/plans/{plan_id}/accounts": { + /** + * List accounts for a plan (stubbed) + * @description Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-accounts-for-plan-stubbed"]; + }; + "/meta": { + /** + * Get GitHub meta information + * @description Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://docs.github.com/articles/about-github-s-ip-addresses/)." + * + * The API's response also includes a list of GitHub's domain names. + * + * The values shown in the documentation's response are example values. You must always query the API directly to get the latest values. + * + * > [!NOTE] + * > This endpoint returns both IPv4 and IPv6 addresses. However, not all features support IPv6. You should refer to the specific documentation for each feature to determine if IPv6 is supported. + */ + get: operations["meta/get"]; + }; + "/networks/{owner}/{repo}/events": { + /** + * List public events for a network of repositories + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-public-events-for-repo-network"]; + }; + "/notifications": { + /** + * List notifications for the authenticated user + * @description List all notifications for the current user, sorted by most recently updated. + */ + get: operations["activity/list-notifications-for-authenticated-user"]; + /** + * Mark notifications as read + * @description Marks all notifications as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + */ + put: operations["activity/mark-notifications-as-read"]; + }; + "/notifications/threads/{thread_id}": { + /** + * Get a thread + * @description Gets information about a notification thread. + */ + get: operations["activity/get-thread"]; + /** + * Mark a thread as done + * @description Marks a thread as "done." Marking a thread as "done" is equivalent to marking a notification in your notification inbox on GitHub as done: https://github.com/notifications. + */ + delete: operations["activity/mark-thread-as-done"]; + /** + * Mark a thread as read + * @description Marks a thread as "read." Marking a thread as "read" is equivalent to clicking a notification in your notification inbox on GitHub: https://github.com/notifications. + */ + patch: operations["activity/mark-thread-as-read"]; + }; + "/notifications/threads/{thread_id}/subscription": { + /** + * Get a thread subscription for the authenticated user + * @description This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/activity/watching#get-a-repository-subscription). + * + * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. + */ + get: operations["activity/get-thread-subscription-for-authenticated-user"]; + /** + * Set a thread subscription + * @description If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. + * + * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. + * + * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/activity/notifications#delete-a-thread-subscription) endpoint. + */ + put: operations["activity/set-thread-subscription"]; + /** + * Delete a thread subscription + * @description Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/activity/notifications#set-a-thread-subscription) endpoint and set `ignore` to `true`. + */ + delete: operations["activity/delete-thread-subscription"]; + }; + "/octocat": { + /** + * Get Octocat + * @description Get the octocat as ASCII art + */ + get: operations["meta/get-octocat"]; + }; + "/organizations": { + /** + * List organizations + * @description Lists all organizations, in the order that they were created. + * + * > [!NOTE] + * > Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of organizations. + */ + get: operations["orgs/list"]; + }; + "/organizations/{org}/settings/billing/usage": { + /** + * Get billing usage report for an organization + * @description Gets a report of the total usage for an organization. To use this endpoint, you must be an administrator of an organization within an enterprise or an organization account. + * + * **Note:** This endpoint is only available to organizations with access to the enhanced billing platform. For more information, see "[About the enhanced billing platform](https://docs.github.com/billing/using-the-new-billing-platform)." + */ + get: operations["billing/get-github-billing-usage-report-org"]; + }; + "/orgs/{org}": { + /** + * Get an organization + * @description Gets information about an organization. + * + * When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, outside collaborators, guest collaborators, repository collaborators, or everyone with access to any repository within the organization to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). + * + * To see the full details about an organization, the authenticated user must be an organization owner. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to see the full details about an organization. + * + * To see information about an organization's GitHub plan, GitHub Apps need the `Organization plan` permission. + */ + get: operations["orgs/get"]; + /** + * Delete an organization + * @description Deletes an organization and all its repositories. + * + * The organization login will be unavailable for 90 days after deletion. + * + * Please review the Terms of Service regarding account deletion before using this endpoint: + * + * https://docs.github.com/site-policy/github-terms/github-terms-of-service + */ + delete: operations["orgs/delete"]; + /** + * Update an organization + * @description > [!WARNING] + * > **Closing down notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). + * + * > [!WARNING] + * > **Closing down notice:** Code security product enablement for new repositories through the organization API is closing down. Please use [code security configurations](https://docs.github.com/rest/code-security/configurations#set-a-code-security-configuration-as-a-default-for-an-organization) to set defaults instead. For more information on setting a default security configuration, see the [changelog](https://github.blog/changelog/2024-07-09-sunsetting-security-settings-defaults-parameters-in-the-organizations-rest-api/). + * + * Updates the organization's profile and member privileges. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` or `repo` scope to use this endpoint. + */ + patch: operations["orgs/update"]; + }; + "/orgs/{org}/actions/cache/usage": { + /** + * Get GitHub Actions cache usage for an organization + * @description Gets the total GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * + * OAuth tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage-for-org"]; + }; + "/orgs/{org}/actions/cache/usage-by-repository": { + /** + * List repositories with GitHub Actions cache usage for an organization + * @description Lists repositories and their GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * + * OAuth tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage-by-repo-for-org"]; + }; + "/orgs/{org}/actions/hosted-runners": { + /** + * List GitHub-hosted runners for an organization + * @description Lists all GitHub-hosted runners configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_runner:org` scope to use this endpoint. + */ + get: operations["actions/list-hosted-runners-for-org"]; + /** + * Create a GitHub-hosted runner for an organization + * @description Creates a GitHub-hosted runner for an organization. + * OAuth tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + post: operations["actions/create-hosted-runner-for-org"]; + }; + "/orgs/{org}/actions/hosted-runners/images/github-owned": { + /** + * Get GitHub-owned images for GitHub-hosted runners in an organization + * @description Get the list of GitHub-owned images available for GitHub-hosted runners for an organization. + */ + get: operations["actions/get-hosted-runners-github-owned-images-for-org"]; + }; + "/orgs/{org}/actions/hosted-runners/images/partner": { + /** + * Get partner images for GitHub-hosted runners in an organization + * @description Get the list of partner images available for GitHub-hosted runners for an organization. + */ + get: operations["actions/get-hosted-runners-partner-images-for-org"]; + }; + "/orgs/{org}/actions/hosted-runners/limits": { + /** + * Get limits on GitHub-hosted runners for an organization + * @description Get the GitHub-hosted runners limits for an organization. + */ + get: operations["actions/get-hosted-runners-limits-for-org"]; + }; + "/orgs/{org}/actions/hosted-runners/machine-sizes": { + /** + * Get GitHub-hosted runners machine specs for an organization + * @description Get the list of machine specs available for GitHub-hosted runners for an organization. + */ + get: operations["actions/get-hosted-runners-machine-specs-for-org"]; + }; + "/orgs/{org}/actions/hosted-runners/platforms": { + /** + * Get platforms for GitHub-hosted runners in an organization + * @description Get the list of platforms available for GitHub-hosted runners for an organization. + */ + get: operations["actions/get-hosted-runners-platforms-for-org"]; + }; + "/orgs/{org}/actions/hosted-runners/{hosted_runner_id}": { + /** + * Get a GitHub-hosted runner for an organization + * @description Gets a GitHub-hosted runner configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + get: operations["actions/get-hosted-runner-for-org"]; + /** + * Delete a GitHub-hosted runner for an organization + * @description Deletes a GitHub-hosted runner for an organization. + */ + delete: operations["actions/delete-hosted-runner-for-org"]; + /** + * Update a GitHub-hosted runner for an organization + * @description Updates a GitHub-hosted runner for an organization. + * OAuth app tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + patch: operations["actions/update-hosted-runner-for-org"]; + }; + "/orgs/{org}/actions/oidc/customization/sub": { + /** + * Get the customization template for an OIDC subject claim for an organization + * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + get: operations["oidc/get-oidc-custom-sub-template-for-org"]; + /** + * Set the customization template for an OIDC subject claim for an organization + * @description Creates or updates the customization template for an OpenID Connect (OIDC) subject claim. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + put: operations["oidc/update-oidc-custom-sub-template-for-org"]; + }; + "/orgs/{org}/actions/permissions": { + /** + * Get GitHub Actions permissions for an organization + * @description Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/get-github-actions-permissions-organization"]; + /** + * Set GitHub Actions permissions for an organization + * @description Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-github-actions-permissions-organization"]; + }; + "/orgs/{org}/actions/permissions/repositories": { + /** + * List selected repositories enabled for GitHub Actions in an organization + * @description Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-selected-repositories-enabled-github-actions-organization"]; + /** + * Set selected repositories enabled for GitHub Actions in an organization + * @description Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-selected-repositories-enabled-github-actions-organization"]; + }; + "/orgs/{org}/actions/permissions/repositories/{repository_id}": { + /** + * Enable a selected repository for GitHub Actions in an organization + * @description Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/enable-selected-repository-github-actions-organization"]; + /** + * Disable a selected repository for GitHub Actions in an organization + * @description Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/disable-selected-repository-github-actions-organization"]; + }; + "/orgs/{org}/actions/permissions/selected-actions": { + /** + * Get allowed actions and reusable workflows for an organization + * @description Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/get-allowed-actions-organization"]; + /** + * Set allowed actions and reusable workflows for an organization + * @description Sets the actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-allowed-actions-organization"]; + }; + "/orgs/{org}/actions/permissions/workflow": { + /** + * Get default workflow permissions for an organization + * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, + * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/get-github-actions-default-workflow-permissions-organization"]; + /** + * Set default workflow permissions for an organization + * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, and sets if GitHub Actions + * can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-github-actions-default-workflow-permissions-organization"]; + }; + "/orgs/{org}/actions/runner-groups": { + /** + * List self-hosted runner groups for an organization + * @description Lists all self-hosted runner groups configured in an organization and inherited from an enterprise. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-self-hosted-runner-groups-for-org"]; + /** + * Create a self-hosted runner group for an organization + * @description Creates a new self-hosted runner group for an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + post: operations["actions/create-self-hosted-runner-group-for-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}": { + /** + * Get a self-hosted runner group for an organization + * @description Gets a specific self-hosted runner group for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/get-self-hosted-runner-group-for-org"]; + /** + * Delete a self-hosted runner group from an organization + * @description Deletes a self-hosted runner group for an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/delete-self-hosted-runner-group-from-org"]; + /** + * Update a self-hosted runner group for an organization + * @description Updates the `name` and `visibility` of a self-hosted runner group in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + patch: operations["actions/update-self-hosted-runner-group-for-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners": { + /** + * List GitHub-hosted runners in a group for an organization + * @description Lists the GitHub-hosted runners in an organization group. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-github-hosted-runners-in-group-for-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": { + /** + * List repository access to a self-hosted runner group in an organization + * @description Lists the repositories with access to a self-hosted runner group configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-repo-access-to-self-hosted-runner-group-in-org"]; + /** + * Set repository access for a self-hosted runner group in an organization + * @description Replaces the list of repositories that have access to a self-hosted runner group configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-repo-access-to-self-hosted-runner-group-in-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}": { + /** + * Add repository access to a self-hosted runner group in an organization + * @description Adds a repository to the list of repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/add-repo-access-to-self-hosted-runner-group-in-org"]; + /** + * Remove repository access to a self-hosted runner group in an organization + * @description Removes a repository from the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/remove-repo-access-to-self-hosted-runner-group-in-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners": { + /** + * List self-hosted runners in a group for an organization + * @description Lists self-hosted runners that are in a specific organization group. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["actions/list-self-hosted-runners-in-group-for-org"]; + /** + * Set self-hosted runners in a group for an organization + * @description Replaces the list of self-hosted runners that are part of an organization runner group. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/set-self-hosted-runners-in-group-for-org"]; + }; + "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": { + /** + * Add a self-hosted runner to a group for an organization + * @description Adds a self-hosted runner to a runner group configured in an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["actions/add-self-hosted-runner-to-group-for-org"]; + /** + * Remove a self-hosted runner from a group for an organization + * @description Removes a self-hosted runner from a group configured in an organization. The runner is then returned to the default group. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["actions/remove-self-hosted-runner-from-group-for-org"]; + }; + "/orgs/{org}/actions/runners": { + /** + * List self-hosted runners for an organization + * @description Lists all self-hosted runners configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-self-hosted-runners-for-org"]; + }; + "/orgs/{org}/actions/runners/downloads": { + /** + * List runner applications for an organization + * @description Lists binaries for the runner application that you can download and run. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-runner-applications-for-org"]; + }; + "/orgs/{org}/actions/runners/generate-jitconfig": { + /** + * Create configuration for a just-in-time runner for an organization + * @description Generates a configuration that can be passed to the runner application at startup. + * + * The authenticated user must have admin access to the organization. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/generate-runner-jitconfig-for-org"]; + }; + "/orgs/{org}/actions/runners/registration-token": { + /** + * Create a registration token for an organization + * @description Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to configure your self-hosted runner: + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-registration-token-for-org"]; + }; + "/orgs/{org}/actions/runners/remove-token": { + /** + * Create a remove token for an organization + * @description Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization: + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-remove-token-for-org"]; + }; + "/orgs/{org}/actions/runners/{runner_id}": { + /** + * Get a self-hosted runner for an organization + * @description Gets a specific self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/get-self-hosted-runner-for-org"]; + /** + * Delete a self-hosted runner from an organization + * @description Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-self-hosted-runner-from-org"]; + }; + "/orgs/{org}/actions/runners/{runner_id}/labels": { + /** + * List labels for a self-hosted runner for an organization + * @description Lists all labels for a self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-labels-for-self-hosted-runner-for-org"]; + /** + * Set custom labels for a self-hosted runner for an organization + * @description Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + put: operations["actions/set-custom-labels-for-self-hosted-runner-for-org"]; + /** + * Add custom labels to a self-hosted runner for an organization + * @description Adds custom labels to a self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + post: operations["actions/add-custom-labels-to-self-hosted-runner-for-org"]; + /** + * Remove all custom labels from a self-hosted runner for an organization + * @description Remove all custom labels from a self-hosted runner configured in an + * organization. Returns the remaining read-only labels from the runner. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-org"]; + }; + "/orgs/{org}/actions/runners/{runner_id}/labels/{name}": { + /** + * Remove a custom label from a self-hosted runner for an organization + * @description Remove a custom label from a self-hosted runner configured + * in an organization. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-org"]; + }; + "/orgs/{org}/actions/secrets": { + /** + * List organization secrets + * @description Lists all secrets available in an organization without revealing their + * encrypted values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-org-secrets"]; + }; + "/orgs/{org}/actions/secrets/public-key": { + /** + * Get an organization public key + * @description Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * The authenticated user must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-org-public-key"]; + }; + "/orgs/{org}/actions/secrets/{secret_name}": { + /** + * Get an organization secret + * @description Gets a single organization secret without revealing its encrypted value. + * + * The authenticated user must have collaborator access to a repository to create, update, or read secrets + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-org-secret"]; + /** + * Create or update an organization secret + * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to + * use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + put: operations["actions/create-or-update-org-secret"]; + /** + * Delete an organization secret + * @description Deletes a secret in an organization using the secret name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-org-secret"]; + }; + "/orgs/{org}/actions/secrets/{secret_name}/repositories": { + /** + * List selected repositories for an organization secret + * @description Lists all repositories that have been selected when the `visibility` + * for repository access to a secret is set to `selected`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-selected-repos-for-org-secret"]; + /** + * Set selected repositories for an organization secret + * @description Replaces all repositories for an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + put: operations["actions/set-selected-repos-for-org-secret"]; + }; + "/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": { + /** + * Add selected repository to an organization secret + * @description Adds a repository to an organization secret when the `visibility` for + * repository access is set to `selected`. For more information about setting the visibility, see [Create or + * update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/add-selected-repo-to-org-secret"]; + /** + * Remove selected repository from an organization secret + * @description Removes a repository from an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + delete: operations["actions/remove-selected-repo-from-org-secret"]; + }; + "/orgs/{org}/actions/variables": { + /** + * List organization variables + * @description Lists all organization variables. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-org-variables"]; + /** + * Create an organization variable + * @description Creates an organization variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-org-variable"]; + }; + "/orgs/{org}/actions/variables/{name}": { + /** + * Get an organization variable + * @description Gets a specific variable in an organization. + * + * The authenticated user must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-org-variable"]; + /** + * Delete an organization variable + * @description Deletes an organization variable using the variable name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-org-variable"]; + /** + * Update an organization variable + * @description Updates an organization variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + patch: operations["actions/update-org-variable"]; + }; + "/orgs/{org}/actions/variables/{name}/repositories": { + /** + * List selected repositories for an organization variable + * @description Lists all repositories that can access an organization variable + * that is available to selected repositories. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + get: operations["actions/list-selected-repos-for-org-variable"]; + /** + * Set selected repositories for an organization variable + * @description Replaces all repositories for an organization variable that is available + * to selected repositories. Organization variables that are available to selected + * repositories have their `visibility` field set to `selected`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + put: operations["actions/set-selected-repos-for-org-variable"]; + }; + "/orgs/{org}/actions/variables/{name}/repositories/{repository_id}": { + /** + * Add selected repository to an organization variable + * @description Adds a repository to an organization variable that is available to selected repositories. + * Organization variables that are available to selected repositories have their `visibility` field set to `selected`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/add-selected-repo-to-org-variable"]; + /** + * Remove selected repository from an organization variable + * @description Removes a repository from an organization variable that is + * available to selected repositories. Organization variables that are available to + * selected repositories have their `visibility` field set to `selected`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + delete: operations["actions/remove-selected-repo-from-org-variable"]; + }; + "/orgs/{org}/attestations/{subject_digest}": { + /** + * List attestations + * @description List a collection of artifact attestations with a given subject digest that are associated with repositories owned by an organization. + * + * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + get: operations["orgs/list-attestations"]; + }; + "/orgs/{org}/blocks": { + /** + * List users blocked by an organization + * @description List the users blocked by an organization. + */ + get: operations["orgs/list-blocked-users"]; + }; + "/orgs/{org}/blocks/{username}": { + /** + * Check if a user is blocked by an organization + * @description Returns a 204 if the given user is blocked by the given organization. Returns a 404 if the organization is not blocking the user, or if the user account has been identified as spam by GitHub. + */ + get: operations["orgs/check-blocked-user"]; + /** + * Block a user from an organization + * @description Blocks the given user on behalf of the specified organization and returns a 204. If the organization cannot block the given user a 422 is returned. + */ + put: operations["orgs/block-user"]; + /** + * Unblock a user from an organization + * @description Unblocks the given user on behalf of the specified organization. + */ + delete: operations["orgs/unblock-user"]; + }; + "/orgs/{org}/code-scanning/alerts": { + /** + * List code scanning alerts for an organization + * @description Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` or `repo`s cope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/list-alerts-for-org"]; + }; + "/orgs/{org}/code-security/configurations": { + /** + * Get code security configurations for an organization + * @description Lists all code security configurations available in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + get: operations["code-security/get-configurations-for-org"]; + /** + * Create a code security configuration + * @description Creates a code security configuration in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + post: operations["code-security/create-configuration"]; + }; + "/orgs/{org}/code-security/configurations/defaults": { + /** + * Get default code security configurations + * @description Lists the default code security configurations for an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + get: operations["code-security/get-default-configurations"]; + }; + "/orgs/{org}/code-security/configurations/detach": { + /** + * Detach configurations from repositories + * @description Detach code security configuration(s) from a set of repositories. + * Repositories will retain their settings but will no longer be associated with the configuration. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + delete: operations["code-security/detach-configuration"]; + }; + "/orgs/{org}/code-security/configurations/{configuration_id}": { + /** + * Get a code security configuration + * @description Gets a code security configuration available in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + get: operations["code-security/get-configuration"]; + /** + * Delete a code security configuration + * @description Deletes the desired code security configuration from an organization. + * Repositories attached to the configuration will retain their settings but will no longer be associated with + * the configuration. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + delete: operations["code-security/delete-configuration"]; + /** + * Update a code security configuration + * @description Updates a code security configuration in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + patch: operations["code-security/update-configuration"]; + }; + "/orgs/{org}/code-security/configurations/{configuration_id}/attach": { + /** + * Attach a configuration to repositories + * @description Attach a code security configuration to a set of repositories. If the repositories specified are already attached to a configuration, they will be re-attached to the provided configuration. + * + * If insufficient GHAS licenses are available to attach the configuration to a repository, only free features will be enabled. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + post: operations["code-security/attach-configuration"]; + }; + "/orgs/{org}/code-security/configurations/{configuration_id}/defaults": { + /** + * Set a code security configuration as a default for an organization + * @description Sets a code security configuration as a default to be applied to new repositories in your organization. + * + * This configuration will be applied to the matching repository type (all, none, public, private and internal) by default when they are created. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + put: operations["code-security/set-configuration-as-default"]; + }; + "/orgs/{org}/code-security/configurations/{configuration_id}/repositories": { + /** + * Get repositories associated with a code security configuration + * @description Lists the repositories associated with a code security configuration in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + get: operations["code-security/get-repositories-for-configuration"]; + }; + "/orgs/{org}/codespaces": { + /** + * List codespaces for the organization + * @description Lists the codespaces associated to a specified organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/list-in-organization"]; + }; + "/orgs/{org}/codespaces/access": { + /** + * Manage access control for organization codespaces + * @deprecated + * @description Sets which users can access codespaces in an organization. This is synonymous with granting or revoking codespaces access permissions for users according to the visibility. + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["codespaces/set-codespaces-access"]; + }; + "/orgs/{org}/codespaces/access/selected_users": { + /** + * Add users to Codespaces access for an organization + * @deprecated + * @description Codespaces for the specified users will be billed to the organization. + * + * To use this endpoint, the access settings for the organization must be set to `selected_members`. + * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + post: operations["codespaces/set-codespaces-access-users"]; + /** + * Remove users from Codespaces access for an organization + * @deprecated + * @description Codespaces for the specified users will no longer be billed to the organization. + * + * To use this endpoint, the access settings for the organization must be set to `selected_members`. + * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["codespaces/delete-codespaces-access-users"]; + }; + "/orgs/{org}/codespaces/secrets": { + /** + * List organization secrets + * @description Lists all Codespaces development environment secrets available at the organization-level without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/list-org-secrets"]; + }; + "/orgs/{org}/codespaces/secrets/public-key": { + /** + * Get an organization public key + * @description Gets a public key for an organization, which is required in order to encrypt secrets. You need to encrypt the value of a secret before you can create or update secrets. + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/get-org-public-key"]; + }; + "/orgs/{org}/codespaces/secrets/{secret_name}": { + /** + * Get an organization secret + * @description Gets an organization development environment secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/get-org-secret"]; + /** + * Create or update an organization secret + * @description Creates or updates an organization development environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["codespaces/create-or-update-org-secret"]; + /** + * Delete an organization secret + * @description Deletes an organization development environment secret using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["codespaces/delete-org-secret"]; + }; + "/orgs/{org}/codespaces/secrets/{secret_name}/repositories": { + /** + * List selected repositories for an organization secret + * @description Lists all repositories that have been selected when the `visibility` + * for repository access to a secret is set to `selected`. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/list-selected-repos-for-org-secret"]; + /** + * Set selected repositories for an organization secret + * @description Replaces all repositories for an organization development environment secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["codespaces/set-selected-repos-for-org-secret"]; + }; + "/orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}": { + /** + * Add selected repository to an organization secret + * @description Adds a repository to an organization development environment secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["codespaces/add-selected-repo-to-org-secret"]; + /** + * Remove selected repository from an organization secret + * @description Removes a repository from an organization development environment secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["codespaces/remove-selected-repo-from-org-secret"]; + }; + "/orgs/{org}/copilot/billing": { + /** + * Get Copilot seat information and settings for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Gets information about an organization's Copilot subscription, including seat breakdown + * and feature policies. To configure these settings, go to your organization's settings on GitHub.com. + * For more information, see "[Managing policies for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-policies-for-copilot-business-in-your-organization)." + * + * Only organization owners can view details about the organization's Copilot Business or Copilot Enterprise subscription. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes to use this endpoint. + */ + get: operations["copilot/get-copilot-organization-details"]; + }; + "/orgs/{org}/copilot/billing/seats": { + /** + * List all Copilot seat assignments for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Lists all Copilot seats for which an organization with a Copilot Business or Copilot Enterprise subscription is currently being billed. + * Only organization owners can view assigned seats. + * + * Each seat object contains information about the assigned user's most recent Copilot activity. Users must have telemetry enabled in their IDE for Copilot in the IDE activity to be reflected in `last_activity_at`. + * For more information about activity data, see "[Reviewing user activity data for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/reviewing-user-activity-data-for-copilot-in-your-organization)." + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes to use this endpoint. + */ + get: operations["copilot/list-copilot-seats"]; + }; + "/orgs/{org}/copilot/billing/selected_teams": { + /** + * Add teams to the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Purchases a GitHub Copilot seat for all users within each specified team. + * The organization will be billed for each seat based on the organization's Copilot plan. For more information about Copilot pricing, see "[About billing for GitHub Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/about-billing-for-github-copilot-in-your-organization)." + * + * Only organization owners can purchase Copilot seats for their organization members. The organization must have a Copilot Business or Copilot Enterprise subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot subscription, see "[Subscribing to Copilot for your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/subscribing-to-copilot-for-your-organization)." + * For more information about setting a suggestion matching policy, see "[Managing policies for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#policies-for-suggestion-matching)." + * + * The response contains the total number of new seats that were created and existing seats that were refreshed. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + post: operations["copilot/add-copilot-seats-for-teams"]; + /** + * Remove teams from the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Sets seats for all members of each team specified to "pending cancellation". + * This will cause the members of the specified team(s) to lose access to GitHub Copilot at the end of the current billing cycle unless they retain access through another team. + * For more information about disabling access to Copilot, see "[Revoking access to Copilot for members of your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/revoking-access-to-copilot-for-members-of-your-organization)." + * + * Only organization owners can cancel Copilot seats for their organization members. + * + * The response contains the total number of seats set to "pending cancellation". + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + delete: operations["copilot/cancel-copilot-seat-assignment-for-teams"]; + }; + "/orgs/{org}/copilot/billing/selected_users": { + /** + * Add users to the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Purchases a GitHub Copilot seat for each user specified. + * The organization will be billed for each seat based on the organization's Copilot plan. For more information about Copilot pricing, see "[About billing for GitHub Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/about-billing-for-github-copilot-in-your-organization)." + * + * Only organization owners can purchase Copilot seats for their organization members. The organization must have a Copilot Business or Copilot Enterprise subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot subscription, see "[Subscribing to Copilot for your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/subscribing-to-copilot-for-your-organization)." + * For more information about setting a suggestion matching policy, see "[Managing policies for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#policies-for-suggestion-matching)." + * + * The response contains the total number of new seats that were created and existing seats that were refreshed. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + post: operations["copilot/add-copilot-seats-for-users"]; + /** + * Remove users from the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Sets seats for all users specified to "pending cancellation". + * This will cause the specified users to lose access to GitHub Copilot at the end of the current billing cycle unless they retain access through team membership. + * For more information about disabling access to Copilot, see "[Revoking access to Copilot for members of your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/revoking-access-to-copilot-for-members-of-your-organization)." + * + * Only organization owners can cancel Copilot seats for their organization members. + * + * The response contains the total number of seats set to "pending cancellation". + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + delete: operations["copilot/cancel-copilot-seat-assignment-for-users"]; + }; + "/orgs/{org}/copilot/metrics": { + /** + * Get Copilot metrics for an organization + * @description Use this endpoint to see a breakdown of aggregated metrics for various GitHub Copilot features. See the response schema tab for detailed metrics definitions. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the organization contained **five or more members with active Copilot licenses** on that day, as evaluated at the end of that day. + * + * The response contains metrics for up to 28 days prior. Metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * To access this endpoint, the Copilot Metrics API access policy must be enabled for the organization. + * Only organization owners and owners and billing managers of the parent enterprise can view Copilot metrics. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. + */ + get: operations["copilot/copilot-metrics-for-organization"]; + }; + "/orgs/{org}/copilot/usage": { + /** + * Get a summary of Copilot usage for organization members + * @description > [!NOTE] + * > This endpoint is closing down. It will be accessible throughout February 2025, but will not return any new data after February 1st. + * + * You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + * across an organization, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. + * See the response schema tab for detailed metrics definitions. + * + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * Organization owners, and owners and billing managers of the parent enterprise, can view Copilot usage metrics. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. + */ + get: operations["copilot/usage-metrics-for-org"]; + }; + "/orgs/{org}/dependabot/alerts": { + /** + * List Dependabot alerts for an organization + * @description Lists Dependabot alerts for an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["dependabot/list-alerts-for-org"]; + }; + "/orgs/{org}/dependabot/secrets": { + /** + * List organization secrets + * @description Lists all secrets available in an organization without revealing their + * encrypted values. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["dependabot/list-org-secrets"]; + }; + "/orgs/{org}/dependabot/secrets/public-key": { + /** + * Get an organization public key + * @description Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["dependabot/get-org-public-key"]; + }; + "/orgs/{org}/dependabot/secrets/{secret_name}": { + /** + * Get an organization secret + * @description Gets a single organization secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["dependabot/get-org-secret"]; + /** + * Create or update an organization secret + * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization + * permission to use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + put: operations["dependabot/create-or-update-org-secret"]; + /** + * Delete an organization secret + * @description Deletes a secret in an organization using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["dependabot/delete-org-secret"]; + }; + "/orgs/{org}/dependabot/secrets/{secret_name}/repositories": { + /** + * List selected repositories for an organization secret + * @description Lists all repositories that have been selected when the `visibility` + * for repository access to a secret is set to `selected`. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["dependabot/list-selected-repos-for-org-secret"]; + /** + * Set selected repositories for an organization secret + * @description Replaces all repositories for an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["dependabot/set-selected-repos-for-org-secret"]; + }; + "/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": { + /** + * Add selected repository to an organization secret + * @description Adds a repository to an organization secret when the `visibility` for + * repository access is set to `selected`. The visibility is set when you [Create or + * update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["dependabot/add-selected-repo-to-org-secret"]; + /** + * Remove selected repository from an organization secret + * @description Removes a repository from an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["dependabot/remove-selected-repo-from-org-secret"]; + }; + "/orgs/{org}/docker/conflicts": { + /** + * Get list of conflicting packages during Docker migration for organization + * @description Lists all packages that are in a specific organization, are readable by the requesting user, and that encountered a conflict during a Docker migration. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + get: operations["packages/list-docker-migration-conflicting-packages-for-organization"]; + }; + "/orgs/{org}/events": { + /** + * List public organization events + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-public-org-events"]; + }; + "/orgs/{org}/failed_invitations": { + /** + * List failed organization invitations + * @description The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. + */ + get: operations["orgs/list-failed-invitations"]; + }; + "/orgs/{org}/hooks": { + /** + * List organization webhooks + * @description List webhooks for an organization. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + get: operations["orgs/list-webhooks"]; + /** + * Create an organization webhook + * @description Create a hook that posts payloads in JSON format. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or + * edit webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + post: operations["orgs/create-webhook"]; + }; + "/orgs/{org}/hooks/{hook_id}": { + /** + * Get an organization webhook + * @description Returns a webhook configured in an organization. To get only the webhook + * `config` properties, see "[Get a webhook configuration for an organization](/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization). + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + get: operations["orgs/get-webhook"]; + /** + * Delete an organization webhook + * @description Delete a webhook for an organization. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + delete: operations["orgs/delete-webhook"]; + /** + * Update an organization webhook + * @description Updates a webhook configured in an organization. When you update a webhook, + * the `secret` will be overwritten. If you previously had a `secret` set, you must + * provide the same `secret` or set a new `secret` or the secret will be removed. If + * you are only updating individual webhook `config` properties, use "[Update a webhook + * configuration for an organization](/rest/orgs/webhooks#update-a-webhook-configuration-for-an-organization)". + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + patch: operations["orgs/update-webhook"]; + }; + "/orgs/{org}/hooks/{hook_id}/config": { + /** + * Get a webhook configuration for an organization + * @description Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/orgs/webhooks#get-an-organization-webhook)." + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + get: operations["orgs/get-webhook-config-for-org"]; + /** + * Update a webhook configuration for an organization + * @description Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/orgs/webhooks#update-an-organization-webhook)." + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + patch: operations["orgs/update-webhook-config-for-org"]; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries": { + /** + * List deliveries for an organization webhook + * @description Returns a list of webhook deliveries for a webhook configured in an organization. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + get: operations["orgs/list-webhook-deliveries"]; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": { + /** + * Get a webhook delivery for an organization webhook + * @description Returns a delivery for a webhook configured in an organization. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + get: operations["orgs/get-webhook-delivery"]; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { + /** + * Redeliver a delivery for an organization webhook + * @description Redeliver a delivery for a webhook configured in an organization. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + post: operations["orgs/redeliver-webhook-delivery"]; + }; + "/orgs/{org}/hooks/{hook_id}/pings": { + /** + * Ping an organization webhook + * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) + * to be sent to the hook. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + post: operations["orgs/ping-webhook"]; + }; + "/orgs/{org}/insights/api/route-stats/{actor_type}/{actor_id}": { + /** + * Get route stats by actor + * @description Get API request count statistics for an actor broken down by route within a specified time frame. + */ + get: operations["api-insights/get-route-stats-by-actor"]; + }; + "/orgs/{org}/insights/api/subject-stats": { + /** + * Get subject stats + * @description Get API request statistics for all subjects within an organization within a specified time frame. Subjects can be users or GitHub Apps. + */ + get: operations["api-insights/get-subject-stats"]; + }; + "/orgs/{org}/insights/api/summary-stats": { + /** + * Get summary stats + * @description Get overall statistics of API requests made within an organization by all users and apps within a specified time frame. + */ + get: operations["api-insights/get-summary-stats"]; + }; + "/orgs/{org}/insights/api/summary-stats/users/{user_id}": { + /** + * Get summary stats by user + * @description Get overall statistics of API requests within the organization for a user. + */ + get: operations["api-insights/get-summary-stats-by-user"]; + }; + "/orgs/{org}/insights/api/summary-stats/{actor_type}/{actor_id}": { + /** + * Get summary stats by actor + * @description Get overall statistics of API requests within the organization made by a specific actor. Actors can be GitHub App installations, OAuth apps or other tokens on behalf of a user. + */ + get: operations["api-insights/get-summary-stats-by-actor"]; + }; + "/orgs/{org}/insights/api/time-stats": { + /** + * Get time stats + * @description Get the number of API requests and rate-limited requests made within an organization over a specified time period. + */ + get: operations["api-insights/get-time-stats"]; + }; + "/orgs/{org}/insights/api/time-stats/users/{user_id}": { + /** + * Get time stats by user + * @description Get the number of API requests and rate-limited requests made within an organization by a specific user over a specified time period. + */ + get: operations["api-insights/get-time-stats-by-user"]; + }; + "/orgs/{org}/insights/api/time-stats/{actor_type}/{actor_id}": { + /** + * Get time stats by actor + * @description Get the number of API requests and rate-limited requests made within an organization by a specific actor within a specified time period. + */ + get: operations["api-insights/get-time-stats-by-actor"]; + }; + "/orgs/{org}/insights/api/user-stats/{user_id}": { + /** + * Get user stats + * @description Get API usage statistics within an organization for a user broken down by the type of access. + */ + get: operations["api-insights/get-user-stats"]; + }; + "/orgs/{org}/installation": { + /** + * Get an organization installation for the authenticated app + * @description Enables an authenticated GitHub App to find the organization's installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-org-installation"]; + }; + "/orgs/{org}/installations": { + /** + * List app installations for an organization + * @description Lists all GitHub Apps in an organization. The installation count includes + * all GitHub Apps installed on repositories in the organization. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:read` scope to use this endpoint. + */ + get: operations["orgs/list-app-installations"]; + }; + "/orgs/{org}/interaction-limits": { + /** + * Get interaction restrictions for an organization + * @description Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. + */ + get: operations["interactions/get-restrictions-for-org"]; + /** + * Set interaction restrictions for an organization + * @description Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. + */ + put: operations["interactions/set-restrictions-for-org"]; + /** + * Remove interaction restrictions for an organization + * @description Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. + */ + delete: operations["interactions/remove-restrictions-for-org"]; + }; + "/orgs/{org}/invitations": { + /** + * List pending organization invitations + * @description The return hash contains a `role` field which refers to the Organization + * Invitation role and will be one of the following values: `direct_member`, `admin`, + * `billing_manager`, or `hiring_manager`. If the invitee is not a GitHub + * member, the `login` field in the return hash will be `null`. + */ + get: operations["orgs/list-pending-invitations"]; + /** + * Create an organization invitation + * @description Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + post: operations["orgs/create-invitation"]; + }; + "/orgs/{org}/invitations/{invitation_id}": { + /** + * Cancel an organization invitation + * @description Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). + */ + delete: operations["orgs/cancel-invitation"]; + }; + "/orgs/{org}/invitations/{invitation_id}/teams": { + /** + * List organization invitation teams + * @description List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. + */ + get: operations["orgs/list-invitation-teams"]; + }; + "/orgs/{org}/issue-types": { + /** + * List issue types for an organization + * @description Lists all issue types for an organization. + */ + get: operations["orgs/list-issue-types"]; + /** + * Create issue type for an organization + * @description Create a new issue type for an organization. + * + * You can find out more about issue types in [Managing issue types in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). + */ + post: operations["orgs/create-issue-type"]; + }; + "/orgs/{org}/issue-types/{issue_type_id}": { + /** + * Update issue type for an organization + * @description Updates an issue type for an organization. + * + * You can find out more about issue types in [Managing issue types in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). + */ + put: operations["orgs/update-issue-type"]; + /** + * Delete issue type for an organization + * @description Deletes an issue type for an organization. + * + * You can find out more about issue types in [Managing issue types in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). + */ + delete: operations["orgs/delete-issue-type"]; + }; + "/orgs/{org}/issues": { + /** + * List organization issues assigned to the authenticated user + * @description List issues in an organization assigned to the authenticated user. + * + * > [!NOTE] + * > GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list-for-org"]; + }; + "/orgs/{org}/members": { + /** + * List organization members + * @description List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. + */ + get: operations["orgs/list-members"]; + }; + "/orgs/{org}/members/{username}": { + /** + * Check organization membership for a user + * @description Check if a user is, publicly or privately, a member of the organization. + */ + get: operations["orgs/check-membership-for-user"]; + /** + * Remove an organization member + * @description Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. + */ + delete: operations["orgs/remove-member"]; + }; + "/orgs/{org}/members/{username}/codespaces": { + /** + * List codespaces for a user in organization + * @description Lists the codespaces that a member of an organization has for repositories in that organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/get-codespaces-for-user-in-org"]; + }; + "/orgs/{org}/members/{username}/codespaces/{codespace_name}": { + /** + * Delete a codespace from the organization + * @description Deletes a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["codespaces/delete-from-organization"]; + }; + "/orgs/{org}/members/{username}/codespaces/{codespace_name}/stop": { + /** + * Stop a codespace for an organization user + * @description Stops a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + post: operations["codespaces/stop-in-organization"]; + }; + "/orgs/{org}/members/{username}/copilot": { + /** + * Get Copilot seat assignment details for a user + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Gets the GitHub Copilot seat details for a member of an organization who currently has access to GitHub Copilot. + * + * The seat object contains information about the user's most recent Copilot activity. Users must have telemetry enabled in their IDE for Copilot in the IDE activity to be reflected in `last_activity_at`. + * For more information about activity data, see "[Reviewing user activity data for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/reviewing-user-activity-data-for-copilot-in-your-organization)." + * + * Only organization owners can view Copilot seat assignment details for members of their organization. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes to use this endpoint. + */ + get: operations["copilot/get-copilot-seat-details-for-user"]; + }; + "/orgs/{org}/memberships/{username}": { + /** + * Get organization membership for a user + * @description In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. + */ + get: operations["orgs/get-membership-for-user"]; + /** + * Set organization membership for a user + * @description Only authenticated organization owners can add a member to the organization or update the member's role. + * + * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/orgs/members#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. + * + * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. + * + * **Rate limits** + * + * To prevent abuse, organization owners are limited to creating 50 organization invitations for an organization within a 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. + */ + put: operations["orgs/set-membership-for-user"]; + /** + * Remove organization membership for a user + * @description In order to remove a user's membership with an organization, the authenticated user must be an organization owner. + * + * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. + */ + delete: operations["orgs/remove-membership-for-user"]; + }; + "/orgs/{org}/migrations": { + /** + * List organization migrations + * @description Lists the most recent migrations, including both exports (which can be started through the REST API) and imports (which cannot be started using the REST API). + * + * A list of `repositories` is only returned for export migrations. + */ + get: operations["migrations/list-for-org"]; + /** + * Start an organization migration + * @description Initiates the generation of a migration archive. + */ + post: operations["migrations/start-for-org"]; + }; + "/orgs/{org}/migrations/{migration_id}": { + /** + * Get an organization migration status + * @description Fetches the status of a migration. + * + * The `state` of a migration can be one of the following values: + * + * * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ + get: operations["migrations/get-status-for-org"]; + }; + "/orgs/{org}/migrations/{migration_id}/archive": { + /** + * Download an organization migration archive + * @description Fetches the URL to a migration archive. + */ + get: operations["migrations/download-archive-for-org"]; + /** + * Delete an organization migration archive + * @description Deletes a previous migration archive. Migration archives are automatically deleted after seven days. + */ + delete: operations["migrations/delete-archive-for-org"]; + }; + "/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": { + /** + * Unlock an organization repository + * @description Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/repos/repos#delete-a-repository) when the migration is complete and you no longer need the source data. + */ + delete: operations["migrations/unlock-repo-for-org"]; + }; + "/orgs/{org}/migrations/{migration_id}/repositories": { + /** + * List repositories in an organization migration + * @description List all the repositories for this organization migration. + */ + get: operations["migrations/list-repos-for-org"]; + }; + "/orgs/{org}/organization-roles": { + /** + * Get all organization roles for an organization + * @description Lists the organization roles available in this organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, the authenticated user must be one of: + * + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permissions of `read_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/list-org-roles"]; + }; + "/orgs/{org}/organization-roles/teams/{team_slug}": { + /** + * Remove all organization roles for a team + * @description Removes all assigned organization roles from a team. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/revoke-all-org-roles-team"]; + }; + "/orgs/{org}/organization-roles/teams/{team_slug}/{role_id}": { + /** + * Assign an organization role to a team + * @description Assigns an organization role to a team in an organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["orgs/assign-team-to-org-role"]; + /** + * Remove an organization role from a team + * @description Removes an organization role from a team. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/revoke-org-role-team"]; + }; + "/orgs/{org}/organization-roles/users/{username}": { + /** + * Remove all organization roles for a user + * @description Revokes all assigned organization roles from a user. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/revoke-all-org-roles-user"]; + }; + "/orgs/{org}/organization-roles/users/{username}/{role_id}": { + /** + * Assign an organization role to a user + * @description Assigns an organization role to a member of an organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + put: operations["orgs/assign-user-to-org-role"]; + /** + * Remove an organization role from a user + * @description Remove an organization role from a user. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["orgs/revoke-org-role-user"]; + }; + "/orgs/{org}/organization-roles/{role_id}": { + /** + * Get an organization role + * @description Gets an organization role that is available to this organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, the authenticated user must be one of: + * + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permissions of `read_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/get-org-role"]; + }; + "/orgs/{org}/organization-roles/{role_id}/teams": { + /** + * List teams that are assigned to an organization role + * @description Lists the teams that are assigned to an organization role. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, you must be an administrator for the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/list-org-role-teams"]; + }; + "/orgs/{org}/organization-roles/{role_id}/users": { + /** + * List users that are assigned to an organization role + * @description Lists organization members that are assigned to an organization role. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, you must be an administrator for the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/list-org-role-users"]; + }; + "/orgs/{org}/outside_collaborators": { + /** + * List outside collaborators for an organization + * @description List all users who are outside collaborators of an organization. + */ + get: operations["orgs/list-outside-collaborators"]; + }; + "/orgs/{org}/outside_collaborators/{username}": { + /** + * Convert an organization member to outside collaborator + * @description When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." + */ + put: operations["orgs/convert-member-to-outside-collaborator"]; + /** + * Remove outside collaborator from an organization + * @description Removing a user from this list will remove them from all the organization's repositories. + */ + delete: operations["orgs/remove-outside-collaborator"]; + }; + "/orgs/{org}/packages": { + /** + * List packages for an organization + * @description Lists packages in an organization readable by the user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/list-packages-for-organization"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}": { + /** + * Get a package for an organization + * @description Gets a specific package in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-for-organization"]; + /** + * Delete a package for an organization + * @description Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-for-org"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/restore": { + /** + * Restore a package for an organization + * @description Restores an entire package in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-for-org"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions": { + /** + * List package versions for a package owned by an organization + * @description Lists package versions for a package owned by an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-org"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": { + /** + * Get a package version for an organization + * @description Gets a specific package version in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-version-for-organization"]; + /** + * Delete package version for an organization + * @description Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-version-for-org"]; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + /** + * Restore package version for an organization + * @description Restores a specific package version in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-version-for-org"]; + }; + "/orgs/{org}/personal-access-token-requests": { + /** + * List requests to access organization resources with fine-grained personal access tokens + * @description Lists requests from organization members to access organization resources with a fine-grained personal access token. + * + * Only GitHub Apps can use this endpoint. + */ + get: operations["orgs/list-pat-grant-requests"]; + /** + * Review requests to access organization resources with fine-grained personal access tokens + * @description Approves or denies multiple pending requests to access organization resources via a fine-grained personal access token. + * + * Only GitHub Apps can use this endpoint. + */ + post: operations["orgs/review-pat-grant-requests-in-bulk"]; + }; + "/orgs/{org}/personal-access-token-requests/{pat_request_id}": { + /** + * Review a request to access organization resources with a fine-grained personal access token + * @description Approves or denies a pending request to access organization resources via a fine-grained personal access token. + * + * Only GitHub Apps can use this endpoint. + */ + post: operations["orgs/review-pat-grant-request"]; + }; + "/orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories": { + /** + * List repositories requested to be accessed by a fine-grained personal access token + * @description Lists the repositories a fine-grained personal access token request is requesting access to. + * + * Only GitHub Apps can use this endpoint. + */ + get: operations["orgs/list-pat-grant-request-repositories"]; + }; + "/orgs/{org}/personal-access-tokens": { + /** + * List fine-grained personal access tokens with access to organization resources + * @description Lists approved fine-grained personal access tokens owned by organization members that can access organization resources. + * + * Only GitHub Apps can use this endpoint. + */ + get: operations["orgs/list-pat-grants"]; + /** + * Update the access to organization resources via fine-grained personal access tokens + * @description Updates the access organization members have to organization resources via fine-grained personal access tokens. Limited to revoking a token's existing access. + * + * Only GitHub Apps can use this endpoint. + */ + post: operations["orgs/update-pat-accesses"]; + }; + "/orgs/{org}/personal-access-tokens/{pat_id}": { + /** + * Update the access a fine-grained personal access token has to organization resources + * @description Updates the access an organization member has to organization resources via a fine-grained personal access token. Limited to revoking the token's existing access. Limited to revoking a token's existing access. + * + * Only GitHub Apps can use this endpoint. + */ + post: operations["orgs/update-pat-access"]; + }; + "/orgs/{org}/personal-access-tokens/{pat_id}/repositories": { + /** + * List repositories a fine-grained personal access token has access to + * @description Lists the repositories a fine-grained personal access token has access to. + * + * Only GitHub Apps can use this endpoint. + */ + get: operations["orgs/list-pat-grant-repositories"]; + }; + "/orgs/{org}/private-registries": { + /** + * List private registries for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Lists all private registry configurations available at the organization-level without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["private-registries/list-org-private-registries"]; + /** + * Create a private registry for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Creates a private registry configuration with an encrypted value for an organization. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + post: operations["private-registries/create-org-private-registry"]; + }; + "/orgs/{org}/private-registries/public-key": { + /** + * Get private registries public key for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Gets the org public key, which is needed to encrypt private registry secrets. You need to encrypt a secret before you can create or update secrets. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["private-registries/get-org-public-key"]; + }; + "/orgs/{org}/private-registries/{secret_name}": { + /** + * Get a private registry for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Get the configuration of a single private registry defined for an organization, omitting its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["private-registries/get-org-private-registry"]; + /** + * Delete a private registry for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Delete a private registry configuration at the organization-level. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + delete: operations["private-registries/delete-org-private-registry"]; + /** + * Update a private registry for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Updates a private registry configuration with an encrypted value for an organization. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + patch: operations["private-registries/update-org-private-registry"]; + }; + "/orgs/{org}/projects": { + /** + * List organization projects + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/list-for-org"]; + /** + * Create an organization project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + post: operations["projects/create-for-org"]; + }; + "/orgs/{org}/properties/schema": { + /** + * Get all custom properties for an organization + * @description Gets all custom properties defined for an organization. + * Organization members can read these properties. + */ + get: operations["orgs/get-all-custom-properties"]; + /** + * Create or update custom properties for an organization + * @description Creates new or updates existing custom properties defined for an organization in a batch. + * + * If the property already exists, the existing property will be replaced with the new values. + * Missing optional values will fall back to default values, previous values will be overwritten. + * E.g. if a property exists with `values_editable_by: org_and_repo_actors` and it's updated without specifying `values_editable_by`, it will be updated to default value `org_actors`. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. + */ + patch: operations["orgs/create-or-update-custom-properties"]; + }; + "/orgs/{org}/properties/schema/{custom_property_name}": { + /** + * Get a custom property for an organization + * @description Gets a custom property that is defined for an organization. + * Organization members can read these properties. + */ + get: operations["orgs/get-custom-property"]; + /** + * Create or update a custom property for an organization + * @description Creates a new or updates an existing custom property that is defined for an organization. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. + */ + put: operations["orgs/create-or-update-custom-property"]; + /** + * Remove a custom property for an organization + * @description Removes a custom property that is defined for an organization. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. + */ + delete: operations["orgs/remove-custom-property"]; + }; + "/orgs/{org}/properties/values": { + /** + * List custom property values for organization repositories + * @description Lists organization repositories with all of their custom property values. + * Organization members can read these properties. + */ + get: operations["orgs/list-custom-properties-values-for-repos"]; + /** + * Create or update custom property values for organization repositories + * @description Create new or update existing custom property values for repositories in a batch that belong to an organization. + * Each target repository will have its custom property values updated to match the values provided in the request. + * + * A maximum of 30 repositories can be updated in a single request. + * + * Using a value of `null` for a custom property will remove or 'unset' the property value from the repository. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_values_editor` in the organization. + */ + patch: operations["orgs/create-or-update-custom-properties-values-for-repos"]; + }; + "/orgs/{org}/public_members": { + /** + * List public organization members + * @description Members of an organization can choose to have their membership publicized or not. + */ + get: operations["orgs/list-public-members"]; + }; + "/orgs/{org}/public_members/{username}": { + /** + * Check public organization membership for a user + * @description Check if the provided user is a public member of the organization. + */ + get: operations["orgs/check-public-membership-for-user"]; + /** + * Set public organization membership for the authenticated user + * @description The user can publicize their own membership. (A user cannot publicize the membership for another user.) + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + put: operations["orgs/set-public-membership-for-authenticated-user"]; + /** + * Remove public organization membership for the authenticated user + * @description Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default. + */ + delete: operations["orgs/remove-public-membership-for-authenticated-user"]; + }; + "/orgs/{org}/repos": { + /** + * List organization repositories + * @description Lists repositories for the specified organization. + * + * > [!NOTE] + * > In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + */ + get: operations["repos/list-for-org"]; + /** + * Create an organization repository + * @description Creates a new repository in the specified organization. The authenticated user must be a member of the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository. + */ + post: operations["repos/create-in-org"]; + }; + "/orgs/{org}/rulesets": { + /** + * Get all organization repository rulesets + * @description Get all the repository rulesets for an organization. + */ + get: operations["repos/get-org-rulesets"]; + /** + * Create an organization repository ruleset + * @description Create a repository ruleset for an organization. + */ + post: operations["repos/create-org-ruleset"]; + }; + "/orgs/{org}/rulesets/rule-suites": { + /** + * List organization rule suites + * @description Lists suites of rule evaluations at the organization level. + * For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." + */ + get: operations["repos/get-org-rule-suites"]; + }; + "/orgs/{org}/rulesets/rule-suites/{rule_suite_id}": { + /** + * Get an organization rule suite + * @description Gets information about a suite of rule evaluations from within an organization. + * For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." + */ + get: operations["repos/get-org-rule-suite"]; + }; + "/orgs/{org}/rulesets/{ruleset_id}": { + /** + * Get an organization repository ruleset + * @description Get a repository ruleset for an organization. + * + * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + * making the API request has write access to the ruleset. + */ + get: operations["repos/get-org-ruleset"]; + /** + * Update an organization repository ruleset + * @description Update a ruleset for an organization. + */ + put: operations["repos/update-org-ruleset"]; + /** + * Delete an organization repository ruleset + * @description Delete a ruleset for an organization. + */ + delete: operations["repos/delete-org-ruleset"]; + }; + "/orgs/{org}/rulesets/{ruleset_id}/history": { + /** + * Get organization ruleset history + * @description Get the history of an organization ruleset. + */ + get: operations["orgs/get-org-ruleset-history"]; + }; + "/orgs/{org}/rulesets/{ruleset_id}/history/{version_id}": { + /** + * Get organization ruleset version + * @description Get a version of an organization ruleset. + */ + get: operations["orgs/get-org-ruleset-version"]; + }; + "/orgs/{org}/secret-scanning/alerts": { + /** + * List secret scanning alerts for an organization + * @description Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["secret-scanning/list-alerts-for-org"]; + }; + "/orgs/{org}/security-advisories": { + /** + * List repository security advisories for an organization + * @description Lists repository security advisories for an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + get: operations["security-advisories/list-org-repository-advisories"]; + }; + "/orgs/{org}/security-managers": { + /** + * List security manager teams + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed starting January 1, 2026. Please use the "[Organization Roles](https://docs.github.com/rest/orgs/organization-roles)" endpoints instead. + */ + get: operations["orgs/list-security-manager-teams"]; + }; + "/orgs/{org}/security-managers/teams/{team_slug}": { + /** + * Add a security manager team + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed starting January 1, 2026. Please use the "[Organization Roles](https://docs.github.com/rest/orgs/organization-roles)" endpoints instead. + */ + put: operations["orgs/add-security-manager-team"]; + /** + * Remove a security manager team + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed starting January 1, 2026. Please use the "[Organization Roles](https://docs.github.com/rest/orgs/organization-roles)" endpoints instead. + */ + delete: operations["orgs/remove-security-manager-team"]; + }; + "/orgs/{org}/settings/billing/actions": { + /** + * Get GitHub Actions billing for an organization + * @description Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + get: operations["billing/get-github-actions-billing-org"]; + }; + "/orgs/{org}/settings/billing/packages": { + /** + * Get GitHub Packages billing for an organization + * @description Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + get: operations["billing/get-github-packages-billing-org"]; + }; + "/orgs/{org}/settings/billing/shared-storage": { + /** + * Get shared storage billing for an organization + * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + get: operations["billing/get-shared-storage-billing-org"]; + }; + "/orgs/{org}/settings/network-configurations": { + /** + * List hosted compute network configurations for an organization + * @description Lists all hosted compute network configurations configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:network_configurations` scope to use this endpoint. + */ + get: operations["hosted-compute/list-network-configurations-for-org"]; + /** + * Create a hosted compute network configuration for an organization + * @description Creates a hosted compute network configuration for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `write:network_configurations` scope to use this endpoint. + */ + post: operations["hosted-compute/create-network-configuration-for-org"]; + }; + "/orgs/{org}/settings/network-configurations/{network_configuration_id}": { + /** + * Get a hosted compute network configuration for an organization + * @description Gets a hosted compute network configuration configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:network_configurations` scope to use this endpoint. + */ + get: operations["hosted-compute/get-network-configuration-for-org"]; + /** + * Delete a hosted compute network configuration from an organization + * @description Deletes a hosted compute network configuration from an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `write:network_configurations` scope to use this endpoint. + */ + delete: operations["hosted-compute/delete-network-configuration-from-org"]; + /** + * Update a hosted compute network configuration for an organization + * @description Updates a hosted compute network configuration for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `write:network_configurations` scope to use this endpoint. + */ + patch: operations["hosted-compute/update-network-configuration-for-org"]; + }; + "/orgs/{org}/settings/network-settings/{network_settings_id}": { + /** + * Get a hosted compute network settings resource for an organization + * @description Gets a hosted compute network settings resource configured for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:network_configurations` scope to use this endpoint. + */ + get: operations["hosted-compute/get-network-settings-for-org"]; + }; + "/orgs/{org}/team/{team_slug}/copilot/metrics": { + /** + * Get Copilot metrics for a team + * @description Use this endpoint to see a breakdown of aggregated metrics for various GitHub Copilot features. See the response schema tab for detailed metrics definitions. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the team had **five or more members with active Copilot licenses** on that day, as evaluated at the end of that day. + * + * The response contains metrics for up to 28 days prior. Metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * To access this endpoint, the Copilot Metrics API access policy must be enabled for the organization containing the team within GitHub settings. + * Only organization owners for the organization that contains this team and owners and billing managers of the parent enterprise can view Copilot metrics for a team. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. + */ + get: operations["copilot/copilot-metrics-for-team"]; + }; + "/orgs/{org}/team/{team_slug}/copilot/usage": { + /** + * Get a summary of Copilot usage for a team + * @description > [!NOTE] + * > This endpoint is closing down. It will be accessible throughout February 2025, but will not return any new data after February 1st. + * + * You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + * for users within a team, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. + * See the response schema tab for detailed metrics definitions. + * + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the team had five or more members with active Copilot licenses, as evaluated at the end of that day. + * + * Organization owners for the organization that contains this team, and owners and billing managers of the parent enterprise can view Copilot usage metrics for a team. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. + */ + get: operations["copilot/usage-metrics-for-team"]; + }; + "/orgs/{org}/teams": { + /** + * List teams + * @description Lists all teams in an organization that are visible to the authenticated user. + */ + get: operations["teams/list"]; + /** + * Create a team + * @description To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/articles/setting-team-creation-permissions-in-your-organization)." + * + * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/about-teams)". + */ + post: operations["teams/create"]; + }; + "/orgs/{org}/teams/{team_slug}": { + /** + * Get a team by name + * @description Gets a team using the team's `slug`. To create the `slug`, GitHub replaces special characters in the `name` string, changes all words to lowercase, and replaces spaces with a `-` separator. For example, `"My TEam Näme"` would become `my-team-name`. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. + */ + get: operations["teams/get-by-name"]; + /** + * Delete a team + * @description To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. + */ + delete: operations["teams/delete-in-org"]; + /** + * Update a team + * @description To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. + */ + patch: operations["teams/update-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions": { + /** + * List discussions + * @description List all discussions on a team's page. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/list-discussions-in-org"]; + /** + * Create a discussion + * @description Creates a new discussion post on a team's page. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["teams/create-discussion-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": { + /** + * Get a discussion + * @description Get a specific discussion on a team's page. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/get-discussion-in-org"]; + /** + * Delete a discussion + * @description Delete a discussion from a team's page. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["teams/delete-discussion-in-org"]; + /** + * Update a discussion + * @description Edits the title and body text of a discussion post. Only the parameters you provide are updated. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + patch: operations["teams/update-discussion-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": { + /** + * List discussion comments + * @description List all comments on a team discussion. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/list-discussion-comments-in-org"]; + /** + * Create a discussion comment + * @description Creates a new comment on a team discussion. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["teams/create-discussion-comment-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": { + /** + * Get a discussion comment + * @description Get a specific comment on a team discussion. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/get-discussion-comment-in-org"]; + /** + * Delete a discussion comment + * @description Deletes a comment on a team discussion. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["teams/delete-discussion-comment-in-org"]; + /** + * Update a discussion comment + * @description Edits the body text of a discussion comment. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + patch: operations["teams/update-discussion-comment-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + /** + * List reactions for a team discussion comment + * @description List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["reactions/list-for-team-discussion-comment-in-org"]; + /** + * Create reaction for a team discussion comment + * @description Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["reactions/create-for-team-discussion-comment-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": { + /** + * Delete team discussion comment reaction + * @description > [!NOTE] + * > You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["reactions/delete-for-team-discussion-comment"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": { + /** + * List reactions for a team discussion + * @description List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["reactions/list-for-team-discussion-in-org"]; + /** + * Create reaction for a team discussion + * @description Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["reactions/create-for-team-discussion-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": { + /** + * Delete team discussion reaction + * @description > [!NOTE] + * > You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["reactions/delete-for-team-discussion"]; + }; + "/orgs/{org}/teams/{team_slug}/invitations": { + /** + * List pending team invitations + * @description The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. + */ + get: operations["teams/list-pending-invitations-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/members": { + /** + * List team members + * @description Team members will include the members of child teams. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + get: operations["teams/list-members-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/memberships/{username}": { + /** + * Get team membership for a user + * @description Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. + * + * > [!NOTE] + * > The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). + */ + get: operations["teams/get-membership-for-user-in-org"]; + /** + * Add or update team membership for a user + * @description Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * > [!NOTE] + * > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + put: operations["teams/add-or-update-membership-for-user-in-org"]; + /** + * Remove team membership for a user + * @description To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * > [!NOTE] + * > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + delete: operations["teams/remove-membership-for-user-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/projects": { + /** + * List team projects + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["teams/list-projects-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/projects/{project_id}": { + /** + * Check team permissions for a project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["teams/check-permissions-for-project-in-org"]; + /** + * Add or update team project permissions + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + put: operations["teams/add-or-update-project-permissions-in-org"]; + /** + * Remove a project from a team + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + delete: operations["teams/remove-project-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/repos": { + /** + * List team repositories + * @description Lists a team's repositories visible to the authenticated user. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. + */ + get: operations["teams/list-repos-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": { + /** + * Check team permissions for a repository + * @description Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types/) via the `application/vnd.github.v3.repository+json` accept header. + * + * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. + * + * If the repository is private, you must have at least `read` permission for that repository, and your token must have the `repo` or `admin:org` scope. Otherwise, you will receive a `404 Not Found` response status. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + get: operations["teams/check-permissions-for-repo-in-org"]; + /** + * Add or update team repository permissions + * @description To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + * + * For more information about the permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + */ + put: operations["teams/add-or-update-repo-permissions-in-org"]; + /** + * Remove a repository from a team + * @description If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + delete: operations["teams/remove-repo-in-org"]; + }; + "/orgs/{org}/teams/{team_slug}/teams": { + /** + * List child teams + * @description Lists the child teams of the team specified by `{team_slug}`. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. + */ + get: operations["teams/list-child-in-org"]; + }; + "/orgs/{org}/{security_product}/{enablement}": { + /** + * Enable or disable a security feature for an organization + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** The ability to enable or disable a security feature for all eligible repositories in an organization is closing down. Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. For more information, see the [changelog](https://github.blog/changelog/2024-07-22-deprecation-of-api-endpoint-to-enable-or-disable-a-security-feature-for-an-organization/). + * + * Enables or disables the specified security feature for all eligible repositories in an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * The authenticated user must be an organization owner or be member of a team with the security manager role to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org`, `write:org`, or `repo` scopes to use this endpoint. + */ + post: operations["orgs/enable-or-disable-security-product-on-all-org-repos"]; + }; + "/projects/columns/cards/{card_id}": { + /** + * Get a project card + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/get-card"]; + /** + * Delete a project card + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + delete: operations["projects/delete-card"]; + /** + * Update an existing project card + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + patch: operations["projects/update-card"]; + }; + "/projects/columns/cards/{card_id}/moves": { + /** + * Move a project card + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + post: operations["projects/move-card"]; + }; + "/projects/columns/{column_id}": { + /** + * Get a project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/get-column"]; + /** + * Delete a project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + delete: operations["projects/delete-column"]; + /** + * Update an existing project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + patch: operations["projects/update-column"]; + }; + "/projects/columns/{column_id}/cards": { + /** + * List project cards + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/list-cards"]; + /** + * Create a project card + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + post: operations["projects/create-card"]; + }; + "/projects/columns/{column_id}/moves": { + /** + * Move a project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + post: operations["projects/move-column"]; + }; + "/projects/{project_id}": { + /** + * Get a project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/get"]; + /** + * Delete a project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + delete: operations["projects/delete"]; + /** + * Update a project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + patch: operations["projects/update"]; + }; + "/projects/{project_id}/collaborators": { + /** + * List project collaborators + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/list-collaborators"]; + }; + "/projects/{project_id}/collaborators/{username}": { + /** + * Add project collaborator + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + put: operations["projects/add-collaborator"]; + /** + * Remove user as a collaborator + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + delete: operations["projects/remove-collaborator"]; + }; + "/projects/{project_id}/collaborators/{username}/permission": { + /** + * Get project permission for a user + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/get-permission-for-user"]; + }; + "/projects/{project_id}/columns": { + /** + * List project columns + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/list-columns"]; + /** + * Create a project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + post: operations["projects/create-column"]; + }; + "/rate_limit": { + /** + * Get rate limit status for the authenticated user + * @description > [!NOTE] + * > Accessing this endpoint does not count against your REST API rate limit. + * + * Some categories of endpoints have custom rate limits that are separate from the rate limit governing the other REST API endpoints. For this reason, the API response categorizes your rate limit. Under `resources`, you'll see objects relating to different categories: + * * The `core` object provides your rate limit status for all non-search-related resources in the REST API. + * * The `search` object provides your rate limit status for the REST API for searching (excluding code searches). For more information, see "[Search](https://docs.github.com/rest/search/search)." + * * The `code_search` object provides your rate limit status for the REST API for searching code. For more information, see "[Search code](https://docs.github.com/rest/search/search#search-code)." + * * The `graphql` object provides your rate limit status for the GraphQL API. For more information, see "[Resource limitations](https://docs.github.com/graphql/overview/resource-limitations#rate-limit)." + * * The `integration_manifest` object provides your rate limit status for the `POST /app-manifests/{code}/conversions` operation. For more information, see "[Creating a GitHub App from a manifest](https://docs.github.com/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app-from-a-manifest#3-you-exchange-the-temporary-code-to-retrieve-the-app-configuration)." + * * The `dependency_snapshots` object provides your rate limit status for submitting snapshots to the dependency graph. For more information, see "[Dependency graph](https://docs.github.com/rest/dependency-graph)." + * * The `code_scanning_upload` object provides your rate limit status for uploading SARIF results to code scanning. For more information, see "[Uploading a SARIF file to GitHub](https://docs.github.com/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github)." + * * The `actions_runner_registration` object provides your rate limit status for registering self-hosted runners in GitHub Actions. For more information, see "[Self-hosted runners](https://docs.github.com/rest/actions/self-hosted-runners)." + * * The `source_import` object is no longer in use for any API endpoints, and it will be removed in the next API version. For more information about API versions, see "[API Versions](https://docs.github.com/rest/about-the-rest-api/api-versions)." + * + * > [!NOTE] + * > The `rate` object is closing down. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. + */ + get: operations["rate-limit/get"]; + }; + "/repos/{owner}/{repo}": { + /** + * Get a repository + * @description The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. + * + * > [!NOTE] + * > In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + */ + get: operations["repos/get"]; + /** + * Delete a repository + * @description Deleting a repository requires admin access. + * + * If an organization owner has configured the organization to prevent members from deleting organization-owned + * repositories, you will get a `403 Forbidden` response. + * + * OAuth app tokens and personal access tokens (classic) need the `delete_repo` scope to use this endpoint. + */ + delete: operations["repos/delete"]; + /** + * Update a repository + * @description **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/repos/repos#replace-all-repository-topics) endpoint. + */ + patch: operations["repos/update"]; + }; + "/repos/{owner}/{repo}/actions/artifacts": { + /** + * List artifacts for a repository + * @description Lists all artifacts for a repository. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/list-artifacts-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}": { + /** + * Get an artifact + * @description Gets a specific artifact for a workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-artifact"]; + /** + * Delete an artifact + * @description Deletes an artifact for a workflow run. + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-artifact"]; + }; + "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": { + /** + * Download an artifact + * @description Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in + * the response header to find the URL for the download. The `:archive_format` must be `zip`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/download-artifact"]; + }; + "/repos/{owner}/{repo}/actions/cache/usage": { + /** + * Get GitHub Actions cache usage for a repository + * @description Gets GitHub Actions cache usage for a repository. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage"]; + }; + "/repos/{owner}/{repo}/actions/caches": { + /** + * List GitHub Actions caches for a repository + * @description Lists the GitHub Actions caches for a repository. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-actions-cache-list"]; + /** + * Delete GitHub Actions caches for a repository (using a cache key) + * @description Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-actions-cache-by-key"]; + }; + "/repos/{owner}/{repo}/actions/caches/{cache_id}": { + /** + * Delete a GitHub Actions cache for a repository (using a cache ID) + * @description Deletes a GitHub Actions cache for a repository, using a cache ID. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-actions-cache-by-id"]; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}": { + /** + * Get a job for a workflow run + * @description Gets a specific job in a workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-job-for-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}/logs": { + /** + * Download job logs for a workflow run + * @description Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look + * for `Location:` in the response header to find the URL for the download. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/download-job-logs-for-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}/rerun": { + /** + * Re-run a job from a workflow run + * @description Re-run a job and its dependent jobs in a workflow run. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/re-run-job-for-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/oidc/customization/sub": { + /** + * Get the customization template for an OIDC subject claim for a repository + * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-custom-oidc-sub-claim-for-repo"]; + /** + * Set the customization template for an OIDC subject claim for a repository + * @description Sets the customization template and `opt-in` or `opt-out` flag for an OpenID Connect (OIDC) subject claim for a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/set-custom-oidc-sub-claim-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/organization-secrets": { + /** + * List repository organization secrets + * @description Lists all organization secrets shared with a repository without revealing their encrypted + * values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-repo-organization-secrets"]; + }; + "/repos/{owner}/{repo}/actions/organization-variables": { + /** + * List repository organization variables + * @description Lists all organization variables shared with a repository. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-repo-organization-variables"]; + }; + "/repos/{owner}/{repo}/actions/permissions": { + /** + * Get GitHub Actions permissions for a repository + * @description Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-github-actions-permissions-repository"]; + /** + * Set GitHub Actions permissions for a repository + * @description Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/set-github-actions-permissions-repository"]; + }; + "/repos/{owner}/{repo}/actions/permissions/access": { + /** + * Get the level of access for workflows outside of the repository + * @description Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to private repositories. + * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-workflow-access-to-repository"]; + /** + * Set the level of access for workflows outside of the repository + * @description Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to private repositories. + * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/set-workflow-access-to-repository"]; + }; + "/repos/{owner}/{repo}/actions/permissions/selected-actions": { + /** + * Get allowed actions and reusable workflows for a repository + * @description Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-allowed-actions-repository"]; + /** + * Set allowed actions and reusable workflows for a repository + * @description Sets the actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/set-allowed-actions-repository"]; + }; + "/repos/{owner}/{repo}/actions/permissions/workflow": { + /** + * Get default workflow permissions for a repository + * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, + * as well as if GitHub Actions can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-github-actions-default-workflow-permissions-repository"]; + /** + * Set default workflow permissions for a repository + * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, and sets if GitHub Actions + * can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/set-github-actions-default-workflow-permissions-repository"]; + }; + "/repos/{owner}/{repo}/actions/runners": { + /** + * List self-hosted runners for a repository + * @description Lists all self-hosted runners configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-self-hosted-runners-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/downloads": { + /** + * List runner applications for a repository + * @description Lists binaries for the runner application that you can download and run. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-runner-applications-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/generate-jitconfig": { + /** + * Create configuration for a just-in-time runner for a repository + * @description Generates a configuration that can be passed to the runner application at startup. + * + * The authenticated user must have admin access to the repository. + * + * OAuth tokens and personal access tokens (classic) need the`repo` scope to use this endpoint. + */ + post: operations["actions/generate-runner-jitconfig-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/registration-token": { + /** + * Create a registration token for a repository + * @description Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to configure your self-hosted runner: + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-registration-token-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/remove-token": { + /** + * Create a remove token for a repository + * @description Returns a token that you can pass to the `config` script to remove a self-hosted runner from an repository. The token expires after one hour. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization: + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-remove-token-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}": { + /** + * Get a self-hosted runner for a repository + * @description Gets a specific self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-self-hosted-runner-for-repo"]; + /** + * Delete a self-hosted runner from a repository + * @description Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-self-hosted-runner-from-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels": { + /** + * List labels for a self-hosted runner for a repository + * @description Lists all labels for a self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-labels-for-self-hosted-runner-for-repo"]; + /** + * Set custom labels for a self-hosted runner for a repository + * @description Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/set-custom-labels-for-self-hosted-runner-for-repo"]; + /** + * Add custom labels to a self-hosted runner for a repository + * @description Adds custom labels to a self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/add-custom-labels-to-self-hosted-runner-for-repo"]; + /** + * Remove all custom labels from a self-hosted runner for a repository + * @description Remove all custom labels from a self-hosted runner configured in a + * repository. Returns the remaining read-only labels from the runner. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}": { + /** + * Remove a custom label from a self-hosted runner for a repository + * @description Remove a custom label from a self-hosted runner configured + * in a repository. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runs": { + /** + * List workflow runs for a repository + * @description Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + * + * This endpoint will return up to 1,000 results for each search when using the following parameters: `actor`, `branch`, `check_suite_id`, `created`, `event`, `head_sha`, `status`. + */ + get: operations["actions/list-workflow-runs-for-repo"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}": { + /** + * Get a workflow run + * @description Gets a specific workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/get-workflow-run"]; + /** + * Delete a workflow run + * @description Deletes a specific workflow run. + * + * Anyone with write access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/approvals": { + /** + * Get the review history for a workflow run + * @description Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/get-reviews-for-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/approve": { + /** + * Approve a workflow run for a fork pull request + * @description Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/approve-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": { + /** + * List workflow run artifacts + * @description Lists artifacts for a workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/list-workflow-run-artifacts"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": { + /** + * Get a workflow run attempt + * @description Gets a specific workflow run attempt. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/get-workflow-run-attempt"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": { + /** + * List jobs for a workflow run attempt + * @description Lists jobs for a specific workflow run attempt. You can use parameters to narrow the list of results. For more information + * about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/list-jobs-for-workflow-run-attempt"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs": { + /** + * Download workflow run attempt logs + * @description Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after + * 1 minute. Look for `Location:` in the response header to find the URL for the download. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/download-workflow-run-attempt-logs"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel": { + /** + * Cancel a workflow run + * @description Cancels a workflow run using its `id`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/cancel-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule": { + /** + * Review custom deployment protection rules for a workflow run + * @description Approve or reject custom deployment protection rules provided by a GitHub App for a workflow run. For more information, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * > [!NOTE] + * > GitHub Apps can only review their own custom deployment protection rules. To approve or reject pending deployments that are waiting for review from a specific person or team, see [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`](/rest/actions/workflow-runs#review-pending-deployments-for-a-workflow-run). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + post: operations["actions/review-custom-gates-for-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel": { + /** + * Force cancel a workflow run + * @description Cancels a workflow run and bypasses conditions that would otherwise cause a workflow execution to continue, such as an `always()` condition on a job. + * You should only use this endpoint to cancel a workflow run when the workflow run is not responding to [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel`](/rest/actions/workflow-runs#cancel-a-workflow-run). + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/force-cancel-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/jobs": { + /** + * List jobs for a workflow run + * @description Lists jobs for a workflow run. You can use parameters to narrow the list of results. For more information + * about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/list-jobs-for-workflow-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/logs": { + /** + * Download workflow run logs + * @description Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for + * `Location:` in the response header to find the URL for the download. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/download-workflow-run-logs"]; + /** + * Delete workflow run logs + * @description Deletes all logs for a workflow run. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-workflow-run-logs"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": { + /** + * Get pending deployments for a workflow run + * @description Get all deployment environments for a workflow run that are waiting for protection rules to pass. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-pending-deployments-for-run"]; + /** + * Review pending deployments for a workflow run + * @description Approve or reject pending deployments that are waiting on approval by a required reviewer. + * + * Required reviewers with read access to the repository contents and deployments can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/review-pending-deployments-for-run"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun": { + /** + * Re-run a workflow + * @description Re-runs your workflow run using its `id`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/re-run-workflow"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs": { + /** + * Re-run failed jobs from a workflow run + * @description Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/re-run-workflow-failed-jobs"]; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/timing": { + /** + * Get workflow run usage + * @description > [!WARNING] + * > This endpoint is in the process of closing down. Refer to "[Actions Get workflow usage and Get workflow run usage endpoints closing down](https://github.blog/changelog/2025-02-02-actions-get-workflow-usage-and-get-workflow-run-usage-endpoints-closing-down/)" for more information. + * + * Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/get-workflow-run-usage"]; + }; + "/repos/{owner}/{repo}/actions/secrets": { + /** + * List repository secrets + * @description Lists all secrets available in a repository without revealing their encrypted + * values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-repo-secrets"]; + }; + "/repos/{owner}/{repo}/actions/secrets/public-key": { + /** + * Get a repository public key + * @description Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-repo-public-key"]; + }; + "/repos/{owner}/{repo}/actions/secrets/{secret_name}": { + /** + * Get a repository secret + * @description Gets a single repository secret without revealing its encrypted value. + * + * The authenticated user must have collaborator access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-repo-secret"]; + /** + * Create or update a repository secret + * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/create-or-update-repo-secret"]; + /** + * Delete a repository secret + * @description Deletes a secret in a repository using the secret name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-repo-secret"]; + }; + "/repos/{owner}/{repo}/actions/variables": { + /** + * List repository variables + * @description Lists all repository variables. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-repo-variables"]; + /** + * Create a repository variable + * @description Creates a repository variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-repo-variable"]; + }; + "/repos/{owner}/{repo}/actions/variables/{name}": { + /** + * Get a repository variable + * @description Gets a specific variable in a repository. + * + * The authenticated user must have collaborator access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-repo-variable"]; + /** + * Delete a repository variable + * @description Deletes a repository variable using the variable name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-repo-variable"]; + /** + * Update a repository variable + * @description Updates a repository variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + patch: operations["actions/update-repo-variable"]; + }; + "/repos/{owner}/{repo}/actions/workflows": { + /** + * List repository workflows + * @description Lists the workflows in a repository. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/list-repo-workflows"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}": { + /** + * Get a workflow + * @description Gets a specific workflow. You can replace `workflow_id` with the workflow + * file name. For example, you could use `main.yaml`. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/get-workflow"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": { + /** + * Disable a workflow + * @description Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/disable-workflow"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": { + /** + * Create a workflow dispatch event + * @description You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-workflow-dispatch"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": { + /** + * Enable a workflow + * @description Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/enable-workflow"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": { + /** + * List workflow runs for a workflow + * @description List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + * + * This endpoint will return up to 1,000 results for each search when using the following parameters: `actor`, `branch`, `check_suite_id`, `created`, `event`, `head_sha`, `status`. + */ + get: operations["actions/list-workflow-runs"]; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": { + /** + * Get workflow usage + * @description > [!WARNING] + * > This endpoint is in the process of closing down. Refer to "[Actions Get workflow usage and Get workflow run usage endpoints closing down](https://github.blog/changelog/2025-02-02-actions-get-workflow-usage-and-get-workflow-run-usage-endpoints-closing-down/)" for more information. + * + * Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["actions/get-workflow-usage"]; + }; + "/repos/{owner}/{repo}/activity": { + /** + * List repository activities + * @description Lists a detailed history of changes to a repository, such as pushes, merges, force pushes, and branch changes, and associates these changes with commits and users. + * + * For more information about viewing repository activity, + * see "[Viewing activity and data for your repository](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository)." + */ + get: operations["repos/list-activities"]; + }; + "/repos/{owner}/{repo}/assignees": { + /** + * List assignees + * @description Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. + */ + get: operations["issues/list-assignees"]; + }; + "/repos/{owner}/{repo}/assignees/{assignee}": { + /** + * Check if a user can be assigned + * @description Checks if a user has permission to be assigned to an issue in this repository. + * + * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + get: operations["issues/check-user-can-be-assigned"]; + }; + "/repos/{owner}/{repo}/attestations": { + /** + * Create an attestation + * @description Store an artifact attestation and associate it with a repository. + * + * The authenticated user must have write permission to the repository and, if using a fine-grained access token, the `attestations:write` permission is required. + * + * Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For more information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + post: operations["repos/create-attestation"]; + }; + "/repos/{owner}/{repo}/attestations/{subject_digest}": { + /** + * List attestations + * @description List a collection of artifact attestations with a given subject digest that are associated with a repository. + * + * The authenticated user making the request must have read access to the repository. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + get: operations["repos/list-attestations"]; + }; + "/repos/{owner}/{repo}/autolinks": { + /** + * Get all autolinks of a repository + * @description Gets all autolinks that are configured for a repository. + * + * Information about autolinks are only available to repository administrators. + */ + get: operations["repos/list-autolinks"]; + /** + * Create an autolink reference for a repository + * @description Users with admin access to the repository can create an autolink. + */ + post: operations["repos/create-autolink"]; + }; + "/repos/{owner}/{repo}/autolinks/{autolink_id}": { + /** + * Get an autolink reference of a repository + * @description This returns a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + get: operations["repos/get-autolink"]; + /** + * Delete an autolink reference from a repository + * @description This deletes a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + delete: operations["repos/delete-autolink"]; + }; + "/repos/{owner}/{repo}/automated-security-fixes": { + /** + * Check if Dependabot security updates are enabled for a repository + * @description Shows whether Dependabot security updates are enabled, disabled or paused for a repository. The authenticated user must have admin read access to the repository. For more information, see "[Configuring Dependabot security updates](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + get: operations["repos/check-automated-security-fixes"]; + /** + * Enable Dependabot security updates + * @description Enables Dependabot security updates for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring Dependabot security updates](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + put: operations["repos/enable-automated-security-fixes"]; + /** + * Disable Dependabot security updates + * @description Disables Dependabot security updates for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring Dependabot security updates](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + delete: operations["repos/disable-automated-security-fixes"]; + }; + "/repos/{owner}/{repo}/branches": { + /** List branches */ + get: operations["repos/list-branches"]; + }; + "/repos/{owner}/{repo}/branches/{branch}": { + /** Get a branch */ + get: operations["repos/get-branch"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection": { + /** + * Get branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-branch-protection"]; + /** + * Update branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Protecting a branch requires admin or owner permissions to the repository. + * + * > [!NOTE] + * > Passing new arrays of `users` and `teams` replaces their previous values. + * + * > [!NOTE] + * > The list of users, apps, and teams in total is limited to 100 items. + */ + put: operations["repos/update-branch-protection"]; + /** + * Delete branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + delete: operations["repos/delete-branch-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": { + /** + * Get admin branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-admin-branch-protection"]; + /** + * Set admin branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + post: operations["repos/set-admin-branch-protection"]; + /** + * Delete admin branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + delete: operations["repos/delete-admin-branch-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": { + /** + * Get pull request review protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-pull-request-review-protection"]; + /** + * Delete pull request review protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + delete: operations["repos/delete-pull-request-review-protection"]; + /** + * Update pull request review protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * + * > [!NOTE] + * > Passing new arrays of `users` and `teams` replaces their previous values. + */ + patch: operations["repos/update-pull-request-review-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": { + /** + * Get commit signature protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://docs.github.com/articles/signing-commits-with-gpg) in GitHub Help. + * + * > [!NOTE] + * > You must enable branch protection to require signed commits. + */ + get: operations["repos/get-commit-signature-protection"]; + /** + * Create commit signature protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. + */ + post: operations["repos/create-commit-signature-protection"]; + /** + * Delete commit signature protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. + */ + delete: operations["repos/delete-commit-signature-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": { + /** + * Get status checks protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-status-checks-protection"]; + /** + * Remove status check protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + delete: operations["repos/remove-status-check-protection"]; + /** + * Update status check protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. + */ + patch: operations["repos/update-status-check-protection"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": { + /** + * Get all status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-all-status-check-contexts"]; + /** + * Set status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + put: operations["repos/set-status-check-contexts"]; + /** + * Add status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + post: operations["repos/add-status-check-contexts"]; + /** + * Remove status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + delete: operations["repos/remove-status-check-contexts"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions": { + /** + * Get access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists who has access to this protected branch. + * + * > [!NOTE] + * > Users, apps, and teams `restrictions` are only available for organization-owned repositories. + */ + get: operations["repos/get-access-restrictions"]; + /** + * Delete access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Disables the ability to restrict who can push to this branch. + */ + delete: operations["repos/delete-access-restrictions"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": { + /** + * Get apps with access to the protected branch + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the GitHub Apps that have push access to this branch. Only GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + get: operations["repos/get-apps-with-access-to-protected-branch"]; + /** + * Set app access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + put: operations["repos/set-app-access-restrictions"]; + /** + * Add app access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified apps push access for this branch. Only GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + post: operations["repos/add-app-access-restrictions"]; + /** + * Remove app access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of an app to push to this branch. Only GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + delete: operations["repos/remove-app-access-restrictions"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": { + /** + * Get teams with access to the protected branch + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. + */ + get: operations["repos/get-teams-with-access-to-protected-branch"]; + /** + * Set team access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. + */ + put: operations["repos/set-team-access-restrictions"]; + /** + * Add team access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified teams push access for this branch. You can also give push access to child teams. + */ + post: operations["repos/add-team-access-restrictions"]; + /** + * Remove team access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a team to push to this branch. You can also remove push access for child teams. + */ + delete: operations["repos/remove-team-access-restrictions"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": { + /** + * Get users with access to the protected branch + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + */ + get: operations["repos/get-users-with-access-to-protected-branch"]; + /** + * Set user access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + put: operations["repos/set-user-access-restrictions"]; + /** + * Add user access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified people push access for this branch. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + post: operations["repos/add-user-access-restrictions"]; + /** + * Remove user access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a user to push to this branch. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + delete: operations["repos/remove-user-access-restrictions"]; + }; + "/repos/{owner}/{repo}/branches/{branch}/rename": { + /** + * Rename a branch + * @description Renames a branch in a repository. + * + * > [!NOTE] + * > Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". + * + * The authenticated user must have push access to the branch. If the branch is the default branch, the authenticated user must also have admin or owner permissions. + * + * In order to rename the default branch, fine-grained access tokens also need the `administration:write` repository permission. + */ + post: operations["repos/rename-branch"]; + }; + "/repos/{owner}/{repo}/check-runs": { + /** + * Create a check run + * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. + * + * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. + */ + post: operations["checks/create"]; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}": { + /** + * Get a check run + * @description Gets a single check run using its `id`. + * + * > [!NOTE] + * > The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + get: operations["checks/get"]; + /** + * Update a check run + * @description Updates a check run for a specific commit in a repository. + * + * > [!NOTE] + * > The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + patch: operations["checks/update"]; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": { + /** + * List check run annotations + * @description Lists annotations for a check run using the annotation `id`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + get: operations["checks/list-annotations"]; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest": { + /** + * Rerequest a check run + * @description Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * For more information about how to re-run GitHub Actions jobs, see "[Re-run a job from a workflow run](https://docs.github.com/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run)". + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + post: operations["checks/rerequest-run"]; + }; + "/repos/{owner}/{repo}/check-suites": { + /** + * Create a check suite + * @description Creates a check suite manually. By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/checks/runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/checks/suites#update-repository-preferences-for-check-suites)". + * + * > [!NOTE] + * > The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + post: operations["checks/create-suite"]; + }; + "/repos/{owner}/{repo}/check-suites/preferences": { + /** + * Update repository preferences for check suites + * @description Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/checks/suites#create-a-check-suite). + * You must have admin permissions in the repository to set preferences for check suites. + */ + patch: operations["checks/set-suites-preferences"]; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}": { + /** + * Get a check suite + * @description Gets a single check suite using its `id`. + * + * > [!NOTE] + * > The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + get: operations["checks/get-suite"]; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": { + /** + * List check runs in a check suite + * @description Lists check runs for a check suite using its `id`. + * + * > [!NOTE] + * > The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + get: operations["checks/list-for-suite"]; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest": { + /** + * Rerequest a check suite + * @description Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + post: operations["checks/rerequest-suite"]; + }; + "/repos/{owner}/{repo}/code-scanning/alerts": { + /** + * List code scanning alerts for a repository + * @description Lists all open code scanning alerts for the default branch (usually `main` + * or `master`). You must use an access token with the `security_events` scope to use + * this endpoint with private repos, the `public_repo` scope also grants permission to read + * security events on public repos only. GitHub Apps must have the `security_events` read + * permission to use this endpoint. + * + * The response includes a `most_recent_instance` object. + * This provides details of the most recent instance of this alert + * for the default branch or for the specified Git reference + * (if you used `ref` in the request). + */ + get: operations["code-scanning/list-alerts-for-repo"]; + }; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": { + /** + * Get a code scanning alert + * @description Gets a single code scanning alert. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-alert"]; + /** + * Update a code scanning alert + * @description Updates the status of a single code scanning alert. + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + patch: operations["code-scanning/update-alert"]; + }; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix": { + /** + * Get the status of an autofix for a code scanning alert + * @description Gets the status and description of an autofix for a code scanning alert. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-autofix"]; + /** + * Create an autofix for a code scanning alert + * @description Creates an autofix for a code scanning alert. + * + * If a new autofix is to be created as a result of this request or is currently being generated, then this endpoint will return a 202 Accepted response. + * + * If an autofix already exists for a given alert, then this endpoint will return a 200 OK response. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + post: operations["code-scanning/create-autofix"]; + }; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits": { + /** + * Commit an autofix for a code scanning alert + * @description Commits an autofix for a code scanning alert. + * + * If an autofix is committed as a result of this request, then this endpoint will return a 201 Created response. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + post: operations["code-scanning/commit-autofix"]; + }; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": { + /** + * List instances of a code scanning alert + * @description Lists all instances of the specified code scanning alert. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/list-alert-instances"]; + }; + "/repos/{owner}/{repo}/code-scanning/analyses": { + /** + * List code scanning analyses for a repository + * @description Lists the details of all code scanning analyses for a repository, + * starting with the most recent. + * The response is paginated and you can use the `page` and `per_page` parameters + * to list the analyses you're interested in. + * By default 30 analyses are listed per page. + * + * The `rules_count` field in the response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * > [!WARNING] + * > **Closing down notice:** The `tool_name` field is closing down and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/list-recent-analyses"]; + }; + "/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": { + /** + * Get a code scanning analysis for a repository + * @description Gets a specified code scanning analysis for a repository. + * + * The default JSON response contains fields that describe the analysis. + * This includes the Git reference and commit SHA to which the analysis relates, + * the datetime of the analysis, the name of the code scanning tool, + * and the number of alerts. + * + * The `rules_count` field in the default response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/sarif+json`**: Instead of returning a summary of the analysis, this endpoint returns a subset of the analysis data that was uploaded. The data is formatted as [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). It also returns additional data such as the `github/alertNumber` and `github/alertUrl` properties. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-analysis"]; + /** + * Delete a code scanning analysis from a repository + * @description Deletes a specified code scanning analysis from a repository. + * + * You can delete one analysis at a time. + * To delete a series of analyses, start with the most recent analysis and work backwards. + * Conceptually, the process is similar to the undo function in a text editor. + * + * When you list the analyses for a repository, + * one or more will be identified as deletable in the response: + * + * ``` + * "deletable": true + * ``` + * + * An analysis is deletable when it's the most recent in a set of analyses. + * Typically, a repository will have multiple sets of analyses + * for each enabled code scanning tool, + * where a set is determined by a unique combination of analysis values: + * + * * `ref` + * * `tool` + * * `category` + * + * If you attempt to delete an analysis that is not the most recent in a set, + * you'll get a 400 response with the message: + * + * ``` + * Analysis specified is not deletable. + * ``` + * + * The response from a successful `DELETE` operation provides you with + * two alternative URLs for deleting the next analysis in the set: + * `next_analysis_url` and `confirm_delete_url`. + * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis + * in a set. This is a useful option if you want to preserve at least one analysis + * for the specified tool in your repository. + * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. + * When you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url` + * in the 200 response is `null`. + * + * As an example of the deletion process, + * let's imagine that you added a workflow that configured a particular code scanning tool + * to analyze the code in a repository. This tool has added 15 analyses: + * 10 on the default branch, and another 5 on a topic branch. + * You therefore have two separate sets of analyses for this tool. + * You've now decided that you want to remove all of the analyses for the tool. + * To do this you must make 15 separate deletion requests. + * To start, you must find an analysis that's identified as deletable. + * Each set of analyses always has one that's identified as deletable. + * Having found the deletable analysis for one of the two sets, + * delete this analysis and then continue deleting the next analysis in the set until they're all deleted. + * Then repeat the process for the second set. + * The procedure therefore consists of a nested loop: + * + * **Outer loop**: + * * List the analyses for the repository, filtered by tool. + * * Parse this list to find a deletable analysis. If found: + * + * **Inner loop**: + * * Delete the identified analysis. + * * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. + * + * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + delete: operations["code-scanning/delete-analysis"]; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/databases": { + /** + * List CodeQL databases for a repository + * @description Lists the CodeQL databases that are available in a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/list-codeql-databases"]; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/databases/{language}": { + /** + * Get a CodeQL database for a repository + * @description Gets a CodeQL database for a language in a repository. + * + * By default this endpoint returns JSON metadata about the CodeQL database. To + * download the CodeQL database binary content, set the `Accept` header of the request + * to [`application/zip`](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types), and make sure + * your HTTP client is configured to follow redirects or use the `Location` header + * to make a second request to get the redirect URL. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-codeql-database"]; + /** + * Delete a CodeQL database + * @description Deletes a CodeQL database for a language in a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + delete: operations["code-scanning/delete-codeql-database"]; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses": { + /** + * Create a CodeQL variant analysis + * @description Creates a new CodeQL variant analysis, which will run a CodeQL query against one or more repositories. + * + * Get started by learning more about [running CodeQL queries at scale with Multi-Repository Variant Analysis](https://docs.github.com/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/running-codeql-queries-at-scale-with-multi-repository-variant-analysis). + * + * Use the `owner` and `repo` parameters in the URL to specify the controller repository that + * will be used for running GitHub Actions workflows and storing the results of the CodeQL variant analysis. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["code-scanning/create-variant-analysis"]; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}": { + /** + * Get the summary of a CodeQL variant analysis + * @description Gets the summary of a CodeQL variant analysis. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-variant-analysis"]; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}": { + /** + * Get the analysis status of a repository in a CodeQL variant analysis + * @description Gets the analysis status of a repository in a CodeQL variant analysis. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-variant-analysis-repo-task"]; + }; + "/repos/{owner}/{repo}/code-scanning/default-setup": { + /** + * Get a code scanning default setup configuration + * @description Gets a code scanning default setup configuration. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-default-setup"]; + /** + * Update a code scanning default setup configuration + * @description Updates a code scanning default setup configuration. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + patch: operations["code-scanning/update-default-setup"]; + }; + "/repos/{owner}/{repo}/code-scanning/sarifs": { + /** + * Upload an analysis as SARIF data + * @description Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. For troubleshooting information, see "[Troubleshooting SARIF uploads](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif)." + * + * There are two places where you can upload code scanning results. + * - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." + * - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." + * + * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: + * + * ``` + * gzip -c analysis-data.sarif | base64 -w0 + * ``` + * + * SARIF upload supports a maximum number of entries per the following data objects, and an analysis will be rejected if any of these objects is above its maximum value. For some objects, there are additional values over which the entries will be ignored while keeping the most important entries whenever applicable. + * To get the most out of your analysis when it includes data above the supported limits, try to optimize the analysis configuration. For example, for the CodeQL tool, identify and remove the most noisy queries. For more information, see "[SARIF results exceed one or more limits](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif/results-exceed-limit)." + * + * + * | **SARIF data** | **Maximum values** | **Additional limits** | + * |----------------------------------|:------------------:|----------------------------------------------------------------------------------| + * | Runs per file | 20 | | + * | Results per run | 25,000 | Only the top 5,000 results will be included, prioritized by severity. | + * | Rules per run | 25,000 | | + * | Tool extensions per run | 100 | | + * | Thread Flow Locations per result | 10,000 | Only the top 1,000 Thread Flow Locations will be included, using prioritization. | + * | Location per result | 1,000 | Only 100 locations will be included. | + * | Tags per rule | 20 | Only 10 tags will be included. | + * + * + * The `202 Accepted` response includes an `id` value. + * You can use this ID to check the status of the upload by using it in the `/sarifs/{sarif_id}` endpoint. + * For more information, see "[Get information about a SARIF upload](/rest/code-scanning/code-scanning#get-information-about-a-sarif-upload)." + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + * + * This endpoint is limited to 1,000 requests per hour for each user or app installation calling it. + */ + post: operations["code-scanning/upload-sarif"]; + }; + "/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}": { + /** + * Get information about a SARIF upload + * @description Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository)." + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + get: operations["code-scanning/get-sarif"]; + }; + "/repos/{owner}/{repo}/code-security-configuration": { + /** + * Get the code security configuration associated with a repository + * @description Get the code security configuration that manages a repository's code security settings. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["code-security/get-configuration-for-repository"]; + }; + "/repos/{owner}/{repo}/codeowners/errors": { + /** + * List CODEOWNERS errors + * @description List any syntax errors that are detected in the CODEOWNERS + * file. + * + * For more information about the correct CODEOWNERS syntax, + * see "[About code owners](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)." + */ + get: operations["repos/codeowners-errors"]; + }; + "/repos/{owner}/{repo}/codespaces": { + /** + * List codespaces in a repository for the authenticated user + * @description Lists the codespaces associated to a specified repository and the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/list-in-repository-for-authenticated-user"]; + /** + * Create a codespace in a repository + * @description Creates a codespace owned by the authenticated user in the specified repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/create-with-repo-for-authenticated-user"]; + }; + "/repos/{owner}/{repo}/codespaces/devcontainers": { + /** + * List devcontainer configurations in a repository for the authenticated user + * @description Lists the devcontainer.json files associated with a specified repository and the authenticated user. These files + * specify launchpoint configurations for codespaces created within the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/list-devcontainers-in-repository-for-authenticated-user"]; + }; + "/repos/{owner}/{repo}/codespaces/machines": { + /** + * List available machine types for a repository + * @description List the machine types available for a given repository based on its configuration. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/repo-machines-for-authenticated-user"]; + }; + "/repos/{owner}/{repo}/codespaces/new": { + /** + * Get default attributes for a codespace + * @description Gets the default attributes for codespaces created by the user with the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/pre-flight-with-repo-for-authenticated-user"]; + }; + "/repos/{owner}/{repo}/codespaces/permissions_check": { + /** + * Check if permissions defined by a devcontainer have been accepted by the authenticated user + * @description Checks whether the permissions defined by a given devcontainer configuration have been accepted by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/check-permissions-for-devcontainer"]; + }; + "/repos/{owner}/{repo}/codespaces/secrets": { + /** + * List repository secrets + * @description Lists all development environment secrets available in a repository without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["codespaces/list-repo-secrets"]; + }; + "/repos/{owner}/{repo}/codespaces/secrets/public-key": { + /** + * Get a repository public key + * @description Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * If the repository is private, OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["codespaces/get-repo-public-key"]; + }; + "/repos/{owner}/{repo}/codespaces/secrets/{secret_name}": { + /** + * Get a repository secret + * @description Gets a single repository development environment secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["codespaces/get-repo-secret"]; + /** + * Create or update a repository secret + * @description Creates or updates a repository development environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. The associated user must be a repository admin. + */ + put: operations["codespaces/create-or-update-repo-secret"]; + /** + * Delete a repository secret + * @description Deletes a development environment secret in a repository using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. The associated user must be a repository admin. + */ + delete: operations["codespaces/delete-repo-secret"]; + }; + "/repos/{owner}/{repo}/collaborators": { + /** + * List repository collaborators + * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * Organization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint. + * + * Team members will include the members of child teams. + * + * The authenticated user must have push access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` and `repo` scopes to use this endpoint. + */ + get: operations["repos/list-collaborators"]; + }; + "/repos/{owner}/{repo}/collaborators/{username}": { + /** + * Check if a user is a repository collaborator + * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + * + * The authenticated user must have push access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` and `repo` scopes to use this endpoint. + */ + get: operations["repos/check-collaborator"]; + /** + * Add a repository collaborator + * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * Adding an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." + * + * For more information on permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the permission being given must be equal to or higher than the org base permission. Otherwise, the request will fail with: + * + * ``` + * Cannot assign {member} permission of {role name} + * ``` + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * + * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [API](https://docs.github.com/rest/collaborators/invitations). + * + * **Updating an existing collaborator's permission level** + * + * The endpoint can also be used to change the permissions of an existing collaborator without first removing and re-adding the collaborator. To change the permissions, use the same endpoint and pass a different `permission` parameter. The response will be a `204`, with no other indication that the permission level changed. + * + * **Rate limits** + * + * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. + */ + put: operations["repos/add-collaborator"]; + /** + * Remove a repository collaborator + * @description Removes a collaborator from a repository. + * + * To use this endpoint, the authenticated user must either be an administrator of the repository or target themselves for removal. + * + * This endpoint also: + * - Cancels any outstanding invitations + * - Unasigns the user from any issues + * - Removes access to organization projects if the user is not an organization member and is not a collaborator on any other organization repositories. + * - Unstars the repository + * - Updates access permissions to packages + * + * Removing a user as a collaborator has the following effects on forks: + * - If the user had access to a fork through their membership to this repository, the user will also be removed from the fork. + * - If the user had their own fork of the repository, the fork will be deleted. + * - If the user still has read access to the repository, open pull requests by this user from a fork will be denied. + * + * > [!NOTE] + * > A user can still have access to the repository through organization permissions like base repository permissions. + * + * Although the API responds immediately, the additional permission updates might take some extra time to complete in the background. + * + * For more information on fork permissions, see "[About permissions and visibility of forks](https://docs.github.com/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks)". + */ + delete: operations["repos/remove-collaborator"]; + }; + "/repos/{owner}/{repo}/collaborators/{username}/permission": { + /** + * Get repository permissions for a user + * @description Checks the repository permission of a collaborator. The possible repository + * permissions are `admin`, `write`, `read`, and `none`. + * + * *Note*: The `permission` attribute provides the legacy base roles of `admin`, `write`, `read`, and `none`, where the + * `maintain` role is mapped to `write` and the `triage` role is mapped to `read`. To determine the role assigned to the + * collaborator, see the `role_name` attribute, which will provide the full role name, including custom roles. The + * `permissions` hash can also be used to determine which base level of access the collaborator has to the repository. + */ + get: operations["repos/get-collaborator-permission-level"]; + }; + "/repos/{owner}/{repo}/comments": { + /** + * List commit comments for a repository + * @description Lists the commit comments for a specified repository. Comments are ordered by ascending ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["repos/list-commit-comments-for-repo"]; + }; + "/repos/{owner}/{repo}/comments/{comment_id}": { + /** + * Get a commit comment + * @description Gets a specified commit comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["repos/get-commit-comment"]; + /** Delete a commit comment */ + delete: operations["repos/delete-commit-comment"]; + /** + * Update a commit comment + * @description Updates the contents of a specified commit comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + patch: operations["repos/update-commit-comment"]; + }; + "/repos/{owner}/{repo}/comments/{comment_id}/reactions": { + /** + * List reactions for a commit comment + * @description List the reactions to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). + */ + get: operations["reactions/list-for-commit-comment"]; + /** + * Create reaction for a commit comment + * @description Create a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. + */ + post: operations["reactions/create-for-commit-comment"]; + }; + "/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": { + /** + * Delete a commit comment reaction + * @description > [!NOTE] + * > You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). + */ + delete: operations["reactions/delete-for-commit-comment"]; + }; + "/repos/{owner}/{repo}/commits": { + /** + * List commits + * @description **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["repos/list-commits"]; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": { + /** + * List branches for HEAD commit + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. + */ + get: operations["repos/list-branches-for-head-commit"]; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/comments": { + /** + * List commit comments + * @description Lists the comments for a specified commit. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["repos/list-comments-for-commit"]; + /** + * Create a commit comment + * @description Create a comment for a commit using its `:commit_sha`. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["repos/create-commit-comment"]; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/pulls": { + /** + * List pull requests associated with a commit + * @description Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, will only return open pull requests associated with the commit. + * + * To list the open or merged pull requests associated with a branch, you can set the `commit_sha` parameter to the branch name. + */ + get: operations["repos/list-pull-requests-associated-with-commit"]; + }; + "/repos/{owner}/{repo}/commits/{ref}": { + /** + * Get a commit + * @description Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. + * + * > [!NOTE] + * > If there are more than 300 files in the commit diff and the default JSON media type is requested, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." Pagination query parameters are not supported for these media types. + * + * - **`application/vnd.github.diff`**: Returns the diff of the commit. Larger diffs may time out and return a 5xx status code. + * - **`application/vnd.github.patch`**: Returns the patch of the commit. Diffs with binary data will have no `patch` property. Larger diffs may time out and return a 5xx status code. + * - **`application/vnd.github.sha`**: Returns the commit's SHA-1 hash. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["repos/get-commit"]; + }; + "/repos/{owner}/{repo}/commits/{ref}/check-runs": { + /** + * List check runs for a Git reference + * @description Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. + * + * > [!NOTE] + * > The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * If there are more than 1000 check suites on a single git reference, this endpoint will limit check runs to the 1000 most recent check suites. To iterate over all possible check runs, use the [List check suites for a Git reference](https://docs.github.com/rest/reference/checks#list-check-suites-for-a-git-reference) endpoint and provide the `check_suite_id` parameter to the [List check runs in a check suite](https://docs.github.com/rest/reference/checks#list-check-runs-in-a-check-suite) endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + get: operations["checks/list-for-ref"]; + }; + "/repos/{owner}/{repo}/commits/{ref}/check-suites": { + /** + * List check suites for a Git reference + * @description Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. + * + * > [!NOTE] + * > The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + get: operations["checks/list-suites-for-ref"]; + }; + "/repos/{owner}/{repo}/commits/{ref}/status": { + /** + * Get the combined status for a specific reference + * @description Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. + * + * + * Additionally, a combined `state` is returned. The `state` is one of: + * + * * **failure** if any of the contexts report as `error` or `failure` + * * **pending** if there are no statuses or a context is `pending` + * * **success** if the latest status for all contexts is `success` + */ + get: operations["repos/get-combined-status-for-ref"]; + }; + "/repos/{owner}/{repo}/commits/{ref}/statuses": { + /** + * List commit statuses for a reference + * @description Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. + * + * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. + */ + get: operations["repos/list-commit-statuses-for-ref"]; + }; + "/repos/{owner}/{repo}/community/profile": { + /** + * Get community profile metrics + * @description Returns all community profile metrics for a repository. The repository cannot be a fork. + * + * The returned metrics include an overall health score, the repository description, the presence of documentation, the + * detected code of conduct, the detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, + * README, and CONTRIBUTING files. + * + * The `health_percentage` score is defined as a percentage of how many of + * the recommended community health files are present. For more information, see + * "[About community profiles for public repositories](https://docs.github.com/communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories)." + * + * `content_reports_enabled` is only returned for organization-owned repositories. + */ + get: operations["repos/get-community-profile-metrics"]; + }; + "/repos/{owner}/{repo}/compare/{basehead}": { + /** + * Compare two commits + * @description Compares two commits against one another. You can compare refs (branches or tags) and commit SHAs in the same repository, or you can compare refs and commit SHAs that exist in different repositories within the same repository network, including fork branches. For more information about how to view a repository's network, see "[Understanding connections between repositories](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories)." + * + * This endpoint is equivalent to running the `git log BASE..HEAD` command, but it returns commits in a different order. The `git log BASE..HEAD` command returns commits in reverse chronological order, whereas the API returns commits in chronological order. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.diff`**: Returns the diff of the commit. + * - **`application/vnd.github.patch`**: Returns the patch of the commit. Diffs with binary data will have no `patch` property. + * + * The API response includes details about the files that were changed between the two commits. This includes the status of the change (if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * When calling this endpoint without any paging parameter (`per_page` or `page`), the returned list is limited to 250 commits, and the last commit in the list is the most recent of the entire comparison. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, use a query parameter (`per_page` or `page`) to paginate the results. When using pagination: + * + * - The list of changed files is only shown on the first page of results, and it includes up to 300 changed files for the entire comparison. + * - The results are returned in chronological order, but the last commit in the returned list may not be the most recent one in the entire set if there are more pages of results. + * + * For more information on working with pagination, see "[Using pagination in the REST API](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api)." + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The `verification` object includes the following fields: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["repos/compare-commits-with-basehead"]; + }; + "/repos/{owner}/{repo}/contents/{path}": { + /** + * Get repository content + * @description Gets the contents of a file or directory in a repository. Specify the file path or directory with the `path` parameter. If you omit the `path` parameter, you will receive the contents of the repository's root directory. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw file contents for files and symlinks. + * - **`application/vnd.github.html+json`**: Returns the file contents in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + * - **`application/vnd.github.object+json`**: Returns the contents in a consistent object format regardless of the content type. For example, instead of an array of objects for a directory, the response will be an object with an `entries` attribute containing the array of objects. + * + * If the content is a directory, the response will be an array of objects, one object for each item in the directory. When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value _should_ be "submodule". This behavior exists [for backwards compatibility purposes](https://git.io/v1YCW). In the next major version of the API, the type will be returned as "submodule". + * + * If the content is a symlink and the symlink's target is a normal file in the repository, then the API responds with the content of the file. Otherwise, the API responds with an object describing the symlink itself. + * + * If the content is a submodule, the `submodule_git_url` field identifies the location of the submodule repository, and the `sha` identifies a specific commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out the submodule at that specific commit. If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the github.com URLs (`html_url` and `_links["html"]`) will have null values. + * + * **Notes**: + * + * - To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/git/trees#get-a-tree). + * - This API has an upper limit of 1,000 files for a directory. If you need to retrieve + * more files, use the [Git Trees API](https://docs.github.com/rest/git/trees#get-a-tree). + * - Download URLs expire and are meant to be used just once. To ensure the download URL does not expire, please use the contents API to obtain a fresh download URL for each download. + * - If the requested file's size is: + * - 1 MB or smaller: All features of this endpoint are supported. + * - Between 1-100 MB: Only the `raw` or `object` custom media types are supported. Both will work as normal, except that when using the `object` media type, the `content` field will be an empty + * string and the `encoding` field will be `"none"`. To get the contents of these larger files, use the `raw` media type. + * - Greater than 100 MB: This endpoint is not supported. + */ + get: operations["repos/get-content"]; + /** + * Create or update file contents + * @description Creates a new file or replaces an existing file in a repository. + * + * > [!NOTE] + * > If you use this endpoint and the "[Delete a file](https://docs.github.com/rest/repos/contents/#delete-a-file)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. The `workflow` scope is also required in order to modify files in the `.github/workflows` directory. + */ + put: operations["repos/create-or-update-file-contents"]; + /** + * Delete a file + * @description Deletes a file in a repository. + * + * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. + * + * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. + * + * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. + * + * > [!NOTE] + * > If you use this endpoint and the "[Create or update file contents](https://docs.github.com/rest/repos/contents/#create-or-update-file-contents)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. + */ + delete: operations["repos/delete-file"]; + }; + "/repos/{owner}/{repo}/contributors": { + /** + * List repository contributors + * @description Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API caches contributor data to improve performance. + * + * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. + */ + get: operations["repos/list-contributors"]; + }; + "/repos/{owner}/{repo}/dependabot/alerts": { + /** + * List Dependabot alerts for a repository + * @description OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["dependabot/list-alerts-for-repo"]; + }; + "/repos/{owner}/{repo}/dependabot/alerts/{alert_number}": { + /** + * Get a Dependabot alert + * @description OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["dependabot/get-alert"]; + /** + * Update a Dependabot alert + * @description The authenticated user must have access to security alerts for the repository to use this endpoint. For more information, see "[Granting access to security alerts](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)." + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + patch: operations["dependabot/update-alert"]; + }; + "/repos/{owner}/{repo}/dependabot/secrets": { + /** + * List repository secrets + * @description Lists all secrets available in a repository without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["dependabot/list-repo-secrets"]; + }; + "/repos/{owner}/{repo}/dependabot/secrets/public-key": { + /** + * Get a repository public key + * @description Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. Anyone with read access + * to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint if the repository is private. + */ + get: operations["dependabot/get-repo-public-key"]; + }; + "/repos/{owner}/{repo}/dependabot/secrets/{secret_name}": { + /** + * Get a repository secret + * @description Gets a single repository secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["dependabot/get-repo-secret"]; + /** + * Create or update a repository secret + * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["dependabot/create-or-update-repo-secret"]; + /** + * Delete a repository secret + * @description Deletes a secret in a repository using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["dependabot/delete-repo-secret"]; + }; + "/repos/{owner}/{repo}/dependency-graph/compare/{basehead}": { + /** + * Get a diff of the dependencies between commits + * @description Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. + */ + get: operations["dependency-graph/diff-range"]; + }; + "/repos/{owner}/{repo}/dependency-graph/sbom": { + /** + * Export a software bill of materials (SBOM) for a repository. + * @description Exports the software bill of materials (SBOM) for a repository in SPDX JSON format. + */ + get: operations["dependency-graph/export-sbom"]; + }; + "/repos/{owner}/{repo}/dependency-graph/snapshots": { + /** + * Create a snapshot of dependencies for a repository + * @description Create a new snapshot of a repository's dependencies. + * + * The authenticated user must have access to the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["dependency-graph/create-repository-snapshot"]; + }; + "/repos/{owner}/{repo}/deployments": { + /** + * List deployments + * @description Simple filtering of deployments is available via query parameters: + */ + get: operations["repos/list-deployments"]; + /** + * Create a deployment + * @description Deployments offer a few configurable parameters with certain defaults. + * + * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them + * before we merge a pull request. + * + * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have + * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter + * makes it easier to track which environments have requested deployments. The default environment is `production`. + * + * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If + * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, + * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will + * return a failure response. + * + * By default, [commit statuses](https://docs.github.com/rest/commits/statuses) for every submitted context must be in a `success` + * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to + * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do + * not require any contexts or create any commit statuses, the deployment will always succeed. + * + * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text + * field that will be passed on when a deployment event is dispatched. + * + * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might + * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an + * application with debugging enabled. + * + * Merged branch response: + * + * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating + * a deployment. This auto-merge happens when: + * * Auto-merge option is enabled in the repository + * * Topic branch does not include the latest changes on the base branch, which is `master` in the response example + * * There are no merge conflicts + * + * If there are no new commits in the base branch, a new request to create a deployment should give a successful + * response. + * + * Merge conflict response: + * + * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't + * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. + * + * Failed commit status checks: + * + * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` + * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repo_deployment` scope to use this endpoint. + */ + post: operations["repos/create-deployment"]; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}": { + /** Get a deployment */ + get: operations["repos/get-deployment"]; + /** + * Delete a deployment + * @description If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. + * + * To set a deployment as inactive, you must: + * + * * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. + * * Mark the active deployment as inactive by adding any non-successful deployment status. + * + * For more information, see "[Create a deployment](https://docs.github.com/rest/deployments/deployments/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/deployments/statuses#create-a-deployment-status)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repo_deployment` scope to use this endpoint. + */ + delete: operations["repos/delete-deployment"]; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses": { + /** + * List deployment statuses + * @description Users with pull access can view deployment statuses for a deployment: + */ + get: operations["repos/list-deployment-statuses"]; + /** + * Create a deployment status + * @description Users with `push` access can create deployment statuses for a given deployment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo_deployment` scope to use this endpoint. + */ + post: operations["repos/create-deployment-status"]; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": { + /** + * Get a deployment status + * @description Users with pull access can view a deployment status for a deployment: + */ + get: operations["repos/get-deployment-status"]; + }; + "/repos/{owner}/{repo}/dispatches": { + /** + * Create a repository dispatch event + * @description You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." + * + * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. + * + * This input example shows how you can use the `client_payload` as a test to debug your workflow. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["repos/create-dispatch-event"]; + }; + "/repos/{owner}/{repo}/environments": { + /** + * List environments + * @description Lists the environments for a repository. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/get-all-environments"]; + }; + "/repos/{owner}/{repo}/environments/{environment_name}": { + /** + * Get an environment + * @description > [!NOTE] + * > To get information about name patterns that branches must match in order to deploy to this environment, see "[Get a deployment branch policy](/rest/deployments/branch-policies#get-a-deployment-branch-policy)." + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/get-environment"]; + /** + * Create or update an environment + * @description Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." + * + * > [!NOTE] + * > To create or update name patterns that branches must match in order to deploy to this environment, see "[Deployment branch policies](/rest/deployments/branch-policies)." + * + * > [!NOTE] + * > To create or update secrets for an environment, see "[GitHub Actions secrets](/rest/actions/secrets)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["repos/create-or-update-environment"]; + /** + * Delete an environment + * @description OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["repos/delete-an-environment"]; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies": { + /** + * List deployment branch policies + * @description Lists the deployment branch policies for an environment. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/list-deployment-branch-policies"]; + /** + * Create a deployment branch policy + * @description Creates a deployment branch or tag policy for an environment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["repos/create-deployment-branch-policy"]; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}": { + /** + * Get a deployment branch policy + * @description Gets a deployment branch or tag policy for an environment. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/get-deployment-branch-policy"]; + /** + * Update a deployment branch policy + * @description Updates a deployment branch or tag policy for an environment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["repos/update-deployment-branch-policy"]; + /** + * Delete a deployment branch policy + * @description Deletes a deployment branch or tag policy for an environment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["repos/delete-deployment-branch-policy"]; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules": { + /** + * Get all deployment protection rules for an environment + * @description Gets all custom deployment protection rules that are enabled for an environment. Anyone with read access to the repository can use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/get-all-deployment-protection-rules"]; + /** + * Create a custom deployment protection rule on an environment + * @description Enable a custom deployment protection rule for an environment. + * + * The authenticated user must have admin or owner permissions to the repository to use this endpoint. + * + * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app), as well as the [guide to creating custom deployment protection rules](https://docs.github.com/actions/managing-workflow-runs-and-deployments/managing-deployments/creating-custom-deployment-protection-rules). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["repos/create-deployment-protection-rule"]; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps": { + /** + * List custom deployment rule integrations available for an environment + * @description Gets all custom deployment protection rule integrations that are available for an environment. + * + * The authenticated user must have admin or owner permissions to the repository to use this endpoint. + * + * For more information about environments, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * For more information about the app that is providing this custom deployment rule, see "[GET an app](https://docs.github.com/rest/apps/apps#get-an-app)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/list-custom-deployment-rule-integrations"]; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}": { + /** + * Get a custom deployment protection rule + * @description Gets an enabled custom deployment protection rule for an environment. Anyone with read access to the repository can use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * For more information about the app that is providing this custom deployment rule, see [`GET /apps/{app_slug}`](https://docs.github.com/rest/apps/apps#get-an-app). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/get-custom-deployment-protection-rule"]; + /** + * Disable a custom protection rule for an environment + * @description Disables a custom deployment protection rule for an environment. + * + * The authenticated user must have admin or owner permissions to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["repos/disable-deployment-protection-rule"]; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/secrets": { + /** + * List environment secrets + * @description Lists all secrets available in an environment without revealing their + * encrypted values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-environment-secrets"]; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key": { + /** + * Get an environment public key + * @description Get the public key for an environment, which you need to encrypt environment + * secrets. You need to encrypt a secret before you can create or update secrets. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-environment-public-key"]; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}": { + /** + * Get an environment secret + * @description Gets a single environment secret without revealing its encrypted value. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-environment-secret"]; + /** + * Create or update an environment secret + * @description Creates or updates an environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["actions/create-or-update-environment-secret"]; + /** + * Delete an environment secret + * @description Deletes a secret in an environment using the secret name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-environment-secret"]; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/variables": { + /** + * List environment variables + * @description Lists all environment variables. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/list-environment-variables"]; + /** + * Create an environment variable + * @description Create an environment variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["actions/create-environment-variable"]; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/variables/{name}": { + /** + * Get an environment variable + * @description Gets a specific variable in an environment. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["actions/get-environment-variable"]; + /** + * Delete an environment variable + * @description Deletes an environment variable using the variable name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["actions/delete-environment-variable"]; + /** + * Update an environment variable + * @description Updates an environment variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + patch: operations["actions/update-environment-variable"]; + }; + "/repos/{owner}/{repo}/events": { + /** + * List repository events + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-repo-events"]; + }; + "/repos/{owner}/{repo}/forks": { + /** List forks */ + get: operations["repos/list-forks"]; + /** + * Create a fork + * @description Create a fork for the authenticated user. + * + * > [!NOTE] + * > Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + * + * > [!NOTE] + * > Although this endpoint works with GitHub Apps, the GitHub App must be installed on the destination account with access to all repositories and on the source account with access to the source repository. + */ + post: operations["repos/create-fork"]; + }; + "/repos/{owner}/{repo}/git/blobs": { + /** Create a blob */ + post: operations["git/create-blob"]; + }; + "/repos/{owner}/{repo}/git/blobs/{file_sha}": { + /** + * Get a blob + * @description The `content` in the response will always be Base64 encoded. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw blob data. + * - **`application/vnd.github+json`**: Returns a JSON representation of the blob with `content` as a base64 encoded string. This is the default if no media type is specified. + * + * **Note** This endpoint supports blobs up to 100 megabytes in size. + */ + get: operations["git/get-blob"]; + }; + "/repos/{owner}/{repo}/git/commits": { + /** + * Create a commit + * @description Creates a new Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + post: operations["git/create-commit"]; + }; + "/repos/{owner}/{repo}/git/commits/{commit_sha}": { + /** + * Get a commit object + * @description Gets a Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). + * + * To get the contents of a commit, see "[Get a commit](/rest/commits/commits#get-a-commit)." + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["git/get-commit"]; + }; + "/repos/{owner}/{repo}/git/matching-refs/{ref}": { + /** + * List matching references + * @description Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. + * + * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. + * + * > [!NOTE] + * > You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. + */ + get: operations["git/list-matching-refs"]; + }; + "/repos/{owner}/{repo}/git/ref/{ref}": { + /** + * Get a reference + * @description Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. + * + * > [!NOTE] + * > You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + */ + get: operations["git/get-ref"]; + }; + "/repos/{owner}/{repo}/git/refs": { + /** + * Create a reference + * @description Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. + */ + post: operations["git/create-ref"]; + }; + "/repos/{owner}/{repo}/git/refs/{ref}": { + /** + * Delete a reference + * @description Deletes the provided reference. + */ + delete: operations["git/delete-ref"]; + /** + * Update a reference + * @description Updates the provided reference to point to a new SHA. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + */ + patch: operations["git/update-ref"]; + }; + "/repos/{owner}/{repo}/git/tags": { + /** + * Create a tag object + * @description Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/git/refs#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/git/refs#create-a-reference) the tag reference - this call would be unnecessary. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + post: operations["git/create-tag"]; + }; + "/repos/{owner}/{repo}/git/tags/{tag_sha}": { + /** + * Get a tag + * @description **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["git/get-tag"]; + }; + "/repos/{owner}/{repo}/git/trees": { + /** + * Create a tree + * @description The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. + * + * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/git/commits#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/git/refs#update-a-reference)." + * + * Returns an error if you try to delete a file that does not exist. + */ + post: operations["git/create-tree"]; + }; + "/repos/{owner}/{repo}/git/trees/{tree_sha}": { + /** + * Get a tree + * @description Returns a single tree using the SHA1 value or ref name for that tree. + * + * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. + * + * > [!NOTE] + * > The limit for the `tree` array is 100,000 entries with a maximum size of 7 MB when using the `recursive` parameter. + */ + get: operations["git/get-tree"]; + }; + "/repos/{owner}/{repo}/hooks": { + /** + * List repository webhooks + * @description Lists webhooks for a repository. `last response` may return null if there have not been any deliveries within 30 days. + */ + get: operations["repos/list-webhooks"]; + /** + * Create a repository webhook + * @description Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can + * share the same `config` as long as those webhooks do not have any `events` that overlap. + */ + post: operations["repos/create-webhook"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}": { + /** + * Get a repository webhook + * @description Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/webhooks/repo-config#get-a-webhook-configuration-for-a-repository)." + */ + get: operations["repos/get-webhook"]; + /** + * Delete a repository webhook + * @description Delete a webhook for an organization. + * + * The authenticated user must be a repository owner, or have admin access in the repository, to delete the webhook. + */ + delete: operations["repos/delete-webhook"]; + /** + * Update a repository webhook + * @description Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/webhooks/repo-config#update-a-webhook-configuration-for-a-repository)." + */ + patch: operations["repos/update-webhook"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/config": { + /** + * Get a webhook configuration for a repository + * @description Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/webhooks/repos#get-a-repository-webhook)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:repo_hook` or `repo` scope to use this endpoint. + */ + get: operations["repos/get-webhook-config-for-repo"]; + /** + * Update a webhook configuration for a repository + * @description Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/webhooks/repos#update-a-repository-webhook)." + * + * OAuth app tokens and personal access tokens (classic) need the `write:repo_hook` or `repo` scope to use this endpoint. + */ + patch: operations["repos/update-webhook-config-for-repo"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries": { + /** + * List deliveries for a repository webhook + * @description Returns a list of webhook deliveries for a webhook configured in a repository. + */ + get: operations["repos/list-webhook-deliveries"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": { + /** + * Get a delivery for a repository webhook + * @description Returns a delivery for a webhook configured in a repository. + */ + get: operations["repos/get-webhook-delivery"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { + /** + * Redeliver a delivery for a repository webhook + * @description Redeliver a webhook delivery for a webhook configured in a repository. + */ + post: operations["repos/redeliver-webhook-delivery"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/pings": { + /** + * Ping a repository webhook + * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. + */ + post: operations["repos/ping-webhook"]; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/tests": { + /** + * Test the push repository webhook + * @description This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. + * + * > [!NOTE] + * > Previously `/repos/:owner/:repo/hooks/:hook_id/test` + */ + post: operations["repos/test-push-webhook"]; + }; + "/repos/{owner}/{repo}/import": { + /** + * Get an import status + * @deprecated + * @description View the progress of an import. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + * + * **Import status** + * + * This section includes details about the possible values of the `status` field of the Import Progress response. + * + * An import that does not have errors will progress through these steps: + * + * * `detecting` - the "detection" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL. + * * `importing` - the "raw" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import). + * * `mapping` - the "rewrite" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information. + * * `pushing` - the "push" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is "Writing objects". + * * `complete` - the import is complete, and the repository is ready on GitHub. + * + * If there are problems, you will see one of these in the `status` field: + * + * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. + * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api) for more information. + * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. + * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/migrations/source-imports#cancel-an-import) and [retry](https://docs.github.com/rest/migrations/source-imports#start-an-import) with the correct URL. + * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. + * + * **The project_choices field** + * + * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. + * + * **Git LFS related fields** + * + * This section includes details about Git LFS related fields that may be present in the Import Progress response. + * + * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. + * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. + * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. + * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. + */ + get: operations["migrations/get-import-status"]; + /** + * Start an import + * @deprecated + * @description Start a source import to a GitHub repository using GitHub Importer. + * Importing into a GitHub repository with GitHub Actions enabled is not supported and will + * return a status `422 Unprocessable Entity` response. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + put: operations["migrations/start-import"]; + /** + * Cancel an import + * @deprecated + * @description Stop an import for a repository. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + delete: operations["migrations/cancel-import"]; + /** + * Update an import + * @deprecated + * @description An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API + * request. If no parameters are provided, the import will be restarted. + * + * Some servers (e.g. TFS servers) can have several projects at a single URL. In those cases the import progress will + * have the status `detection_found_multiple` and the Import Progress response will include a `project_choices` array. + * You can select the project to import by providing one of the objects in the `project_choices` array in the update request. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + patch: operations["migrations/update-import"]; + }; + "/repos/{owner}/{repo}/import/authors": { + /** + * Get commit authors + * @deprecated + * @description Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. + * + * This endpoint and the [Map a commit author](https://docs.github.com/rest/migrations/source-imports#map-a-commit-author) endpoint allow you to provide correct Git author information. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + get: operations["migrations/get-commit-authors"]; + }; + "/repos/{owner}/{repo}/import/authors/{author_id}": { + /** + * Map a commit author + * @deprecated + * @description Update an author's identity for the import. Your application can continue updating authors any time before you push + * new commits to the repository. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + patch: operations["migrations/map-commit-author"]; + }; + "/repos/{owner}/{repo}/import/large_files": { + /** + * Get large files + * @deprecated + * @description List files larger than 100MB found during the import + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + get: operations["migrations/get-large-files"]; + }; + "/repos/{owner}/{repo}/import/lfs": { + /** + * Update Git LFS preference + * @deprecated + * @description You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability + * is powered by [Git LFS](https://git-lfs.com). + * + * You can learn more about our LFS feature and working with large files [on our help + * site](https://docs.github.com/repositories/working-with-files/managing-large-files). + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + patch: operations["migrations/set-lfs-preference"]; + }; + "/repos/{owner}/{repo}/installation": { + /** + * Get a repository installation for the authenticated app + * @description Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-repo-installation"]; + }; + "/repos/{owner}/{repo}/interaction-limits": { + /** + * Get interaction restrictions for a repository + * @description Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. + */ + get: operations["interactions/get-restrictions-for-repo"]; + /** + * Set interaction restrictions for a repository + * @description Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. + */ + put: operations["interactions/set-restrictions-for-repo"]; + /** + * Remove interaction restrictions for a repository + * @description Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. + */ + delete: operations["interactions/remove-restrictions-for-repo"]; + }; + "/repos/{owner}/{repo}/invitations": { + /** + * List repository invitations + * @description When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. + */ + get: operations["repos/list-invitations"]; + }; + "/repos/{owner}/{repo}/invitations/{invitation_id}": { + /** Delete a repository invitation */ + delete: operations["repos/delete-invitation"]; + /** Update a repository invitation */ + patch: operations["repos/update-invitation"]; + }; + "/repos/{owner}/{repo}/issues": { + /** + * List repository issues + * @description List issues in a repository. Only open issues will be listed. + * + * > [!NOTE] + * > GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list-for-repo"]; + /** + * Create an issue + * @description Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["issues/create"]; + }; + "/repos/{owner}/{repo}/issues/comments": { + /** + * List issue comments for a repository + * @description You can use the REST API to list comments on issues and pull requests for a repository. Every pull request is an issue, but not every issue is a pull request. + * + * By default, issue comments are ordered by ascending ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list-comments-for-repo"]; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}": { + /** + * Get an issue comment + * @description You can use the REST API to get comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/get-comment"]; + /** + * Delete an issue comment + * @description You can use the REST API to delete comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + */ + delete: operations["issues/delete-comment"]; + /** + * Update an issue comment + * @description You can use the REST API to update comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + patch: operations["issues/update-comment"]; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": { + /** + * List reactions for an issue comment + * @description List the reactions to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). + */ + get: operations["reactions/list-for-issue-comment"]; + /** + * Create reaction for an issue comment + * @description Create a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. + */ + post: operations["reactions/create-for-issue-comment"]; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": { + /** + * Delete an issue comment reaction + * @description > [!NOTE] + * > You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). + */ + delete: operations["reactions/delete-for-issue-comment"]; + }; + "/repos/{owner}/{repo}/issues/events": { + /** + * List issue events for a repository + * @description Lists events for a repository. + */ + get: operations["issues/list-events-for-repo"]; + }; + "/repos/{owner}/{repo}/issues/events/{event_id}": { + /** + * Get an issue event + * @description Gets a single event by the event id. + */ + get: operations["issues/get-event"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}": { + /** + * Get an issue + * @description The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api#follow-redirects) if the issue was + * [transferred](https://docs.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If + * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API + * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read + * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe + * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. + * + * > [!NOTE] + * > GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/get"]; + /** + * Update an issue + * @description Issue owners and users with push access or Triage role can edit an issue. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + patch: operations["issues/update"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/assignees": { + /** + * Add assignees to an issue + * @description Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. + */ + post: operations["issues/add-assignees"]; + /** + * Remove assignees from an issue + * @description Removes one or more assignees from an issue. + */ + delete: operations["issues/remove-assignees"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}": { + /** + * Check if a user can be assigned to a issue + * @description Checks if a user has permission to be assigned to a specific issue. + * + * If the `assignee` can be assigned to this issue, a `204` status code with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + get: operations["issues/check-user-can-be-assigned-to-issue"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/comments": { + /** + * List issue comments + * @description You can use the REST API to list comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * Issue comments are ordered by ascending ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list-comments"]; + /** + * Create an issue comment + * @description You can use the REST API to create comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). + * Creating content too quickly using this endpoint may result in secondary rate limiting. + * For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["issues/create-comment"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/events": { + /** + * List issue events + * @description Lists all events for an issue. + */ + get: operations["issues/list-events"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/labels": { + /** + * List labels for an issue + * @description Lists all labels for an issue. + */ + get: operations["issues/list-labels-on-issue"]; + /** + * Set labels for an issue + * @description Removes any previous labels and sets the new labels for an issue. + */ + put: operations["issues/set-labels"]; + /** + * Add labels to an issue + * @description Adds labels to an issue. If you provide an empty array of labels, all labels are removed from the issue. + */ + post: operations["issues/add-labels"]; + /** + * Remove all labels from an issue + * @description Removes all labels from an issue. + */ + delete: operations["issues/remove-all-labels"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}": { + /** + * Remove a label from an issue + * @description Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. + */ + delete: operations["issues/remove-label"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/lock": { + /** + * Lock an issue + * @description Users with push access can lock an issue or pull request's conversation. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + put: operations["issues/lock"]; + /** + * Unlock an issue + * @description Users with push access can unlock an issue's conversation. + */ + delete: operations["issues/unlock"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/reactions": { + /** + * List reactions for an issue + * @description List the reactions to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). + */ + get: operations["reactions/list-for-issue"]; + /** + * Create reaction for an issue + * @description Create a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). A response with an HTTP `200` status means that you already added the reaction type to this issue. + */ + post: operations["reactions/create-for-issue"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": { + /** + * Delete an issue reaction + * @description > [!NOTE] + * > You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. + * + * Delete a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). + */ + delete: operations["reactions/delete-for-issue"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/sub_issue": { + /** + * Remove sub-issue + * @description You can use the REST API to remove a sub-issue from an issue. + * Removing content too quickly using this endpoint may result in secondary rate limiting. + * For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass a specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + delete: operations["issues/remove-sub-issue"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/sub_issues": { + /** + * List sub-issues + * @description You can use the REST API to list the sub-issues on an issue. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list-sub-issues"]; + /** + * Add sub-issue + * @description You can use the REST API to add sub-issues to issues. + * + * Creating content too quickly using this endpoint may result in secondary rate limiting. + * For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["issues/add-sub-issue"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority": { + /** + * Reprioritize sub-issue + * @description You can use the REST API to reprioritize a sub-issue to a different position in the parent list. + */ + patch: operations["issues/reprioritize-sub-issue"]; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/timeline": { + /** + * List timeline events for an issue + * @description List all timeline events for an issue. + */ + get: operations["issues/list-events-for-timeline"]; + }; + "/repos/{owner}/{repo}/keys": { + /** List deploy keys */ + get: operations["repos/list-deploy-keys"]; + /** + * Create a deploy key + * @description You can create a read-only deploy key. + */ + post: operations["repos/create-deploy-key"]; + }; + "/repos/{owner}/{repo}/keys/{key_id}": { + /** Get a deploy key */ + get: operations["repos/get-deploy-key"]; + /** + * Delete a deploy key + * @description Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. + */ + delete: operations["repos/delete-deploy-key"]; + }; + "/repos/{owner}/{repo}/labels": { + /** + * List labels for a repository + * @description Lists all labels for a repository. + */ + get: operations["issues/list-labels-for-repo"]; + /** + * Create a label + * @description Creates a label for the specified repository with the given name and color. The name and color parameters are required. The color must be a valid [hexadecimal color code](http://www.color-hex.com/). + */ + post: operations["issues/create-label"]; + }; + "/repos/{owner}/{repo}/labels/{name}": { + /** + * Get a label + * @description Gets a label using the given name. + */ + get: operations["issues/get-label"]; + /** + * Delete a label + * @description Deletes a label using the given label name. + */ + delete: operations["issues/delete-label"]; + /** + * Update a label + * @description Updates a label using the given label name. + */ + patch: operations["issues/update-label"]; + }; + "/repos/{owner}/{repo}/languages": { + /** + * List repository languages + * @description Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. + */ + get: operations["repos/list-languages"]; + }; + "/repos/{owner}/{repo}/license": { + /** + * Get the license for a repository + * @description This method returns the contents of the repository's license file, if one is detected. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw contents of the license. + * - **`application/vnd.github.html+json`**: Returns the license contents in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + */ + get: operations["licenses/get-for-repo"]; + }; + "/repos/{owner}/{repo}/merge-upstream": { + /** + * Sync a fork branch with the upstream repository + * @description Sync a branch of a forked repository to keep it up-to-date with the upstream repository. + */ + post: operations["repos/merge-upstream"]; + }; + "/repos/{owner}/{repo}/merges": { + /** Merge a branch */ + post: operations["repos/merge"]; + }; + "/repos/{owner}/{repo}/milestones": { + /** + * List milestones + * @description Lists milestones for a repository. + */ + get: operations["issues/list-milestones"]; + /** + * Create a milestone + * @description Creates a milestone. + */ + post: operations["issues/create-milestone"]; + }; + "/repos/{owner}/{repo}/milestones/{milestone_number}": { + /** + * Get a milestone + * @description Gets a milestone using the given milestone number. + */ + get: operations["issues/get-milestone"]; + /** + * Delete a milestone + * @description Deletes a milestone using the given milestone number. + */ + delete: operations["issues/delete-milestone"]; + /** Update a milestone */ + patch: operations["issues/update-milestone"]; + }; + "/repos/{owner}/{repo}/milestones/{milestone_number}/labels": { + /** + * List labels for issues in a milestone + * @description Lists labels for issues in a milestone. + */ + get: operations["issues/list-labels-for-milestone"]; + }; + "/repos/{owner}/{repo}/notifications": { + /** + * List repository notifications for the authenticated user + * @description Lists all notifications for the current user in the specified repository. + */ + get: operations["activity/list-repo-notifications-for-authenticated-user"]; + /** + * Mark repository notifications as read + * @description Marks all notifications in a repository as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + */ + put: operations["activity/mark-repo-notifications-as-read"]; + }; + "/repos/{owner}/{repo}/pages": { + /** + * Get a GitHub Pages site + * @description Gets information about a GitHub Pages site. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["repos/get-pages"]; + /** + * Update information about a GitHub Pages site + * @description Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + put: operations["repos/update-information-about-pages-site"]; + /** + * Create a GitHub Pages site + * @description Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["repos/create-pages-site"]; + /** + * Delete a GitHub Pages site + * @description Deletes a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + delete: operations["repos/delete-pages-site"]; + }; + "/repos/{owner}/{repo}/pages/builds": { + /** + * List GitHub Pages builds + * @description Lists builts of a GitHub Pages site. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["repos/list-pages-builds"]; + /** + * Request a GitHub Pages build + * @description You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. + * + * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. + */ + post: operations["repos/request-pages-build"]; + }; + "/repos/{owner}/{repo}/pages/builds/latest": { + /** + * Get latest Pages build + * @description Gets information about the single most recent build of a GitHub Pages site. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["repos/get-latest-pages-build"]; + }; + "/repos/{owner}/{repo}/pages/builds/{build_id}": { + /** + * Get GitHub Pages build + * @description Gets information about a GitHub Pages build. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["repos/get-pages-build"]; + }; + "/repos/{owner}/{repo}/pages/deployments": { + /** + * Create a GitHub Pages deployment + * @description Create a GitHub Pages deployment for a repository. + * + * The authenticated user must have write permission to the repository. + */ + post: operations["repos/create-pages-deployment"]; + }; + "/repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}": { + /** + * Get the status of a GitHub Pages deployment + * @description Gets the current status of a GitHub Pages deployment. + * + * The authenticated user must have read permission for the GitHub Pages site. + */ + get: operations["repos/get-pages-deployment"]; + }; + "/repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel": { + /** + * Cancel a GitHub Pages deployment + * @description Cancels a GitHub Pages deployment. + * + * The authenticated user must have write permissions for the GitHub Pages site. + */ + post: operations["repos/cancel-pages-deployment"]; + }; + "/repos/{owner}/{repo}/pages/health": { + /** + * Get a DNS health check for GitHub Pages + * @description Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages. + * + * The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["repos/get-pages-health-check"]; + }; + "/repos/{owner}/{repo}/private-vulnerability-reporting": { + /** + * Check if private vulnerability reporting is enabled for a repository + * @description Returns a boolean indicating whether or not private vulnerability reporting is enabled for the repository. For more information, see "[Evaluating the security settings of a repository](https://docs.github.com/code-security/security-advisories/working-with-repository-security-advisories/evaluating-the-security-settings-of-a-repository)". + */ + get: operations["repos/check-private-vulnerability-reporting"]; + /** + * Enable private vulnerability reporting for a repository + * @description Enables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)." + */ + put: operations["repos/enable-private-vulnerability-reporting"]; + /** + * Disable private vulnerability reporting for a repository + * @description Disables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)". + */ + delete: operations["repos/disable-private-vulnerability-reporting"]; + }; + "/repos/{owner}/{repo}/projects": { + /** + * List repository projects + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/list-for-repo"]; + /** + * Create a repository project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + post: operations["projects/create-for-repo"]; + }; + "/repos/{owner}/{repo}/properties/values": { + /** + * Get all custom property values for a repository + * @description Gets all custom property values that are set for a repository. + * Users with read access to the repository can use this endpoint. + */ + get: operations["repos/get-custom-properties-values"]; + /** + * Create or update custom property values for a repository + * @description Create new or update existing custom property values for a repository. + * Using a value of `null` for a custom property will remove or 'unset' the property value from the repository. + * + * Repository admins and other users with the repository-level "edit custom property values" fine-grained permission can use this endpoint. + */ + patch: operations["repos/create-or-update-custom-properties-values"]; + }; + "/repos/{owner}/{repo}/pulls": { + /** + * List pull requests + * @description Lists pull requests in a specified repository. + * + * Draft pull requests are available in public repositories with GitHub + * Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing + * plans, and in public and private repositories with GitHub Team and GitHub Enterprise + * Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) + * in the GitHub Help documentation. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list"]; + /** + * Create a pull request + * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["pulls/create"]; + }; + "/repos/{owner}/{repo}/pulls/comments": { + /** + * List review comments in a repository + * @description Lists review comments for all pull requests in a repository. By default, + * review comments are in ascending order by ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-review-comments-for-repo"]; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}": { + /** + * Get a review comment for a pull request + * @description Provides details for a specified review comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/get-review-comment"]; + /** + * Delete a review comment for a pull request + * @description Deletes a review comment. + */ + delete: operations["pulls/delete-review-comment"]; + /** + * Update a review comment for a pull request + * @description Edits the content of a specified review comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + patch: operations["pulls/update-review-comment"]; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": { + /** + * List reactions for a pull request review comment + * @description List the reactions to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). + */ + get: operations["reactions/list-for-pull-request-review-comment"]; + /** + * Create reaction for a pull request review comment + * @description Create a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. + */ + post: operations["reactions/create-for-pull-request-review-comment"]; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": { + /** + * Delete a pull request comment reaction + * @description > [!NOTE] + * > You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` + * + * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). + */ + delete: operations["reactions/delete-for-pull-request-comment"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}": { + /** + * Get a pull request + * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists details of a pull request by providing its number. + * + * When you get, [create](https://docs.github.com/rest/pulls/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/pulls/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. + * + * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: + * + * * If merged as a [merge commit](https://docs.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. + * * If merged via a [squash](https://docs.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. + * * If [rebased](https://docs.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. + * + * Pass the appropriate [media type](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types) to fetch diff and patch formats. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + * - **`application/vnd.github.diff`**: For more information, see "[git-diff](https://git-scm.com/docs/git-diff)" in the Git documentation. If a diff is corrupt, contact us through the [GitHub Support portal](https://support.github.com/). Include the repository name and pull request ID in your message. + */ + get: operations["pulls/get"]; + /** + * Update a pull request + * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + patch: operations["pulls/update"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/codespaces": { + /** + * Create a codespace from a pull request + * @description Creates a codespace owned by the authenticated user for the specified pull request. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/create-with-pr-for-authenticated-user"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/comments": { + /** + * List review comments on a pull request + * @description Lists all review comments for a specified pull request. By default, review comments + * are in ascending order by ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-review-comments"]; + /** + * Create a review comment for a pull request + * @description Creates a review comment on the diff of a specified pull request. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/issues/comments#create-an-issue-comment)." + * + * If your comment applies to more than one line in the pull request diff, you should use the parameters `line`, `side`, and optionally `start_line` and `start_side` in your request. + * + * The `position` parameter is closing down. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["pulls/create-review-comment"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies": { + /** + * Create a reply for a review comment + * @description Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["pulls/create-reply-for-review-comment"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/commits": { + /** + * List commits on a pull request + * @description Lists a maximum of 250 commits for a pull request. To receive a complete + * commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/commits/commits#list-commits) + * endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-commits"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/files": { + /** + * List pull requests files + * @description Lists the files in a specified pull request. + * + * > [!NOTE] + * > Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-files"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/merge": { + /** + * Check if a pull request has been merged + * @description Checks if a pull request has been merged into the base branch. The HTTP status of the response indicates whether or not the pull request has been merged; the response body is empty. + */ + get: operations["pulls/check-if-merged"]; + /** + * Merge a pull request + * @description Merges a pull request into the base branch. + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + put: operations["pulls/merge"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": { + /** + * Get all requested reviewers for a pull request + * @description Gets the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation. + */ + get: operations["pulls/list-requested-reviewers"]; + /** + * Request reviewers for a pull request + * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["pulls/request-reviewers"]; + /** + * Remove requested reviewers from a pull request + * @description Removes review requests from a pull request for a given set of users and/or teams. + */ + delete: operations["pulls/remove-requested-reviewers"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews": { + /** + * List reviews for a pull request + * @description Lists all reviews for a specified pull request. The list of reviews returns in chronological order. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-reviews"]; + /** + * Create a review for a pull request + * @description Creates a review on a specified pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * Pull request reviews created in the `PENDING` state are not submitted and therefore do not include the `submitted_at` property in the response. To create a pending review for a pull request, leave the `event` parameter blank. For more information about submitting a `PENDING` review, see "[Submit a review for a pull request](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request)." + * + * > [!NOTE] + * > To comment on a specific line in a file, you need to first determine the position of that line in the diff. To see a pull request diff, add the `application/vnd.github.v3.diff` media type to the `Accept` header of a call to the [Get a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) endpoint. + * + * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["pulls/create-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": { + /** + * Get a review for a pull request + * @description Retrieves a pull request review by its ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/get-review"]; + /** + * Update a review for a pull request + * @description Updates the contents of a specified review summary comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + put: operations["pulls/update-review"]; + /** + * Delete a pending review for a pull request + * @description Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + delete: operations["pulls/delete-pending-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": { + /** + * List comments for a pull request review + * @description Lists comments for a specific pull request review. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["pulls/list-comments-for-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals": { + /** + * Dismiss a review for a pull request + * @description Dismisses a specified review on a pull request. + * + * > [!NOTE] + * > To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/branches/branch-protection), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + put: operations["pulls/dismiss-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events": { + /** + * Submit a review for a pull request + * @description Submits a pending review for a pull request. For more information about creating a pending review for a pull request, see "[Create a review for a pull request](https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + post: operations["pulls/submit-review"]; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/update-branch": { + /** + * Update a pull request branch + * @description Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. + * Note: If making a request on behalf of a GitHub App you must also have permissions to write the contents of the head repository. + */ + put: operations["pulls/update-branch"]; + }; + "/repos/{owner}/{repo}/readme": { + /** + * Get a repository README + * @description Gets the preferred README for a repository. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw file contents. This is the default if you do not specify a media type. + * - **`application/vnd.github.html+json`**: Returns the README in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + */ + get: operations["repos/get-readme"]; + }; + "/repos/{owner}/{repo}/readme/{dir}": { + /** + * Get a repository README for a directory + * @description Gets the README from a repository directory. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw file contents. This is the default if you do not specify a media type. + * - **`application/vnd.github.html+json`**: Returns the README in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + */ + get: operations["repos/get-readme-in-directory"]; + }; + "/repos/{owner}/{repo}/releases": { + /** + * List releases + * @description This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/repos/repos#list-repository-tags). + * + * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. + */ + get: operations["repos/list-releases"]; + /** + * Create a release + * @description Users with push access to the repository can create a release. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + post: operations["repos/create-release"]; + }; + "/repos/{owner}/{repo}/releases/assets/{asset_id}": { + /** + * Get a release asset + * @description To download the asset's binary content: + * + * - If within a browser, fetch the location specified in the `browser_download_url` key provided in the response. + * - Alternatively, set the `Accept` header of the request to + * [`application/octet-stream`](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types). + * The API will either redirect the client to the location, or stream it directly if possible. + * API clients should handle both a `200` or `302` response. + */ + get: operations["repos/get-release-asset"]; + /** Delete a release asset */ + delete: operations["repos/delete-release-asset"]; + /** + * Update a release asset + * @description Users with push access to the repository can edit a release asset. + */ + patch: operations["repos/update-release-asset"]; + }; + "/repos/{owner}/{repo}/releases/generate-notes": { + /** + * Generate release notes content for a release + * @description Generate a name and body describing a [release](https://docs.github.com/rest/releases/releases#get-a-release). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. + */ + post: operations["repos/generate-release-notes"]; + }; + "/repos/{owner}/{repo}/releases/latest": { + /** + * Get the latest release + * @description View the latest published full release for the repository. + * + * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. + */ + get: operations["repos/get-latest-release"]; + }; + "/repos/{owner}/{repo}/releases/tags/{tag}": { + /** + * Get a release by tag name + * @description Get a published release with the specified tag. + */ + get: operations["repos/get-release-by-tag"]; + }; + "/repos/{owner}/{repo}/releases/{release_id}": { + /** + * Get a release + * @description Gets a public release with the specified release ID. + * + * > [!NOTE] + * > This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a hypermedia resource. For more information, see "[Getting started with the REST API](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia)." + */ + get: operations["repos/get-release"]; + /** + * Delete a release + * @description Users with push access to the repository can delete a release. + */ + delete: operations["repos/delete-release"]; + /** + * Update a release + * @description Users with push access to the repository can edit a release. + */ + patch: operations["repos/update-release"]; + }; + "/repos/{owner}/{repo}/releases/{release_id}/assets": { + /** List release assets */ + get: operations["repos/list-release-assets"]; + /** + * Upload a release asset + * @description This endpoint makes use of a [Hypermedia relation](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in + * the response of the [Create a release endpoint](https://docs.github.com/rest/releases/releases#create-a-release) to upload a release asset. + * + * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. + * + * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: + * + * `application/zip` + * + * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, + * you'll still need to pass your authentication to be able to upload an asset. + * + * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. + * + * **Notes:** + * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List release assets](https://docs.github.com/rest/releases/assets#list-release-assets)" + * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + * * To find the `release_id` query the [`GET /repos/{owner}/{repo}/releases/latest` endpoint](https://docs.github.com/rest/releases/releases#get-the-latest-release). + * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. + */ + post: operations["repos/upload-release-asset"]; + }; + "/repos/{owner}/{repo}/releases/{release_id}/reactions": { + /** + * List reactions for a release + * @description List the reactions to a [release](https://docs.github.com/rest/releases/releases#get-a-release). + */ + get: operations["reactions/list-for-release"]; + /** + * Create reaction for a release + * @description Create a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). A response with a `Status: 200 OK` means that you already added the reaction type to this release. + */ + post: operations["reactions/create-for-release"]; + }; + "/repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}": { + /** + * Delete a release reaction + * @description > [!NOTE] + * > You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`. + * + * Delete a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). + */ + delete: operations["reactions/delete-for-release"]; + }; + "/repos/{owner}/{repo}/rules/branches/{branch}": { + /** + * Get rules for a branch + * @description Returns all active rules that apply to the specified branch. The branch does not need to exist; rules that would apply + * to a branch with that name will be returned. All active rules that apply will be returned, regardless of the level + * at which they are configured (e.g. repository or organization). Rules in rulesets with "evaluate" or "disabled" + * enforcement statuses are not returned. + */ + get: operations["repos/get-branch-rules"]; + }; + "/repos/{owner}/{repo}/rulesets": { + /** + * Get all repository rulesets + * @description Get all the rulesets for a repository. + */ + get: operations["repos/get-repo-rulesets"]; + /** + * Create a repository ruleset + * @description Create a ruleset for a repository. + */ + post: operations["repos/create-repo-ruleset"]; + }; + "/repos/{owner}/{repo}/rulesets/rule-suites": { + /** + * List repository rule suites + * @description Lists suites of rule evaluations at the repository level. + * For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." + */ + get: operations["repos/get-repo-rule-suites"]; + }; + "/repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}": { + /** + * Get a repository rule suite + * @description Gets information about a suite of rule evaluations from within a repository. + * For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." + */ + get: operations["repos/get-repo-rule-suite"]; + }; + "/repos/{owner}/{repo}/rulesets/{ruleset_id}": { + /** + * Get a repository ruleset + * @description Get a ruleset for a repository. + * + * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + * making the API request has write access to the ruleset. + */ + get: operations["repos/get-repo-ruleset"]; + /** + * Update a repository ruleset + * @description Update a ruleset for a repository. + */ + put: operations["repos/update-repo-ruleset"]; + /** + * Delete a repository ruleset + * @description Delete a ruleset for a repository. + */ + delete: operations["repos/delete-repo-ruleset"]; + }; + "/repos/{owner}/{repo}/rulesets/{ruleset_id}/history": { + /** + * Get repository ruleset history + * @description Get the history of a repository ruleset. + */ + get: operations["repos/get-repo-ruleset-history"]; + }; + "/repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}": { + /** + * Get repository ruleset version + * @description Get a version of a repository ruleset. + */ + get: operations["repos/get-repo-ruleset-version"]; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts": { + /** + * List secret scanning alerts for a repository + * @description Lists secret scanning alerts for an eligible repository, from newest to oldest. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["secret-scanning/list-alerts-for-repo"]; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": { + /** + * Get a secret scanning alert + * @description Gets a single secret scanning alert detected in an eligible repository. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["secret-scanning/get-alert"]; + /** + * Update a secret scanning alert + * @description Updates the status of a secret scanning alert in an eligible repository. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + patch: operations["secret-scanning/update-alert"]; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": { + /** + * List locations for a secret scanning alert + * @description Lists all locations for a given secret scanning alert for an eligible repository. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["secret-scanning/list-locations-for-alert"]; + }; + "/repos/{owner}/{repo}/secret-scanning/push-protection-bypasses": { + /** + * Create a push protection bypass + * @description Creates a bypass for a previously push protected secret. + * + * The authenticated user must be the original author of the committed secret. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + post: operations["secret-scanning/create-push-protection-bypass"]; + }; + "/repos/{owner}/{repo}/secret-scanning/scan-history": { + /** + * Get secret scanning scan history for a repository + * @description Lists the latest default incremental and backfill scans by type for a repository. Scans from Copilot Secret Scanning are not included. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + get: operations["secret-scanning/get-scan-history"]; + }; + "/repos/{owner}/{repo}/security-advisories": { + /** + * List repository security advisories + * @description Lists security advisories in a repository. + * + * The authenticated user can access unpublished security advisories from a repository if they are a security manager or administrator of that repository, or if they are a collaborator on any security advisory. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:read` scope to to get a published security advisory in a private repository, or any unpublished security advisory that the authenticated user has access to. + */ + get: operations["security-advisories/list-repository-advisories"]; + /** + * Create a repository security advisory + * @description Creates a new repository security advisory. + * + * In order to create a draft repository security advisory, the authenticated user must be a security manager or administrator of that repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + post: operations["security-advisories/create-repository-advisory"]; + }; + "/repos/{owner}/{repo}/security-advisories/reports": { + /** + * Privately report a security vulnerability + * @description Report a security vulnerability to the maintainers of the repository. + * See "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)" for more information about private vulnerability reporting. + */ + post: operations["security-advisories/create-private-vulnerability-report"]; + }; + "/repos/{owner}/{repo}/security-advisories/{ghsa_id}": { + /** + * Get a repository security advisory + * @description Get a repository security advisory using its GitHub Security Advisory (GHSA) identifier. + * + * Anyone can access any published security advisory on a public repository. + * + * The authenticated user can access an unpublished security advisory from a repository if they are a security manager or administrator of that repository, or if they are a + * collaborator on the security advisory. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:read` scope to to get a published security advisory in a private repository, or any unpublished security advisory that the authenticated user has access to. + */ + get: operations["security-advisories/get-repository-advisory"]; + /** + * Update a repository security advisory + * @description Update a repository security advisory using its GitHub Security Advisory (GHSA) identifier. + * + * In order to update any security advisory, the authenticated user must be a security manager or administrator of that repository, + * or a collaborator on the repository security advisory. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + patch: operations["security-advisories/update-repository-advisory"]; + }; + "/repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve": { + /** + * Request a CVE for a repository security advisory + * @description If you want a CVE identification number for the security vulnerability in your project, and don't already have one, you can request a CVE identification number from GitHub. For more information see "[Requesting a CVE identification number](https://docs.github.com/code-security/security-advisories/repository-security-advisories/publishing-a-repository-security-advisory#requesting-a-cve-identification-number-optional)." + * + * You may request a CVE for public repositories, but cannot do so for private repositories. + * + * In order to request a CVE for a repository security advisory, the authenticated user must be a security manager or administrator of that repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + post: operations["security-advisories/create-repository-advisory-cve-request"]; + }; + "/repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks": { + /** + * Create a temporary private fork + * @description Create a temporary private fork to collaborate on fixing a security vulnerability in your repository. + * + * > [!NOTE] + * > Forking a repository happens asynchronously. You may have to wait up to 5 minutes before you can access the fork. + */ + post: operations["security-advisories/create-fork"]; + }; + "/repos/{owner}/{repo}/stargazers": { + /** + * List stargazers + * @description Lists the people that have starred the repository. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. + */ + get: operations["activity/list-stargazers-for-repo"]; + }; + "/repos/{owner}/{repo}/stats/code_frequency": { + /** + * Get the weekly commit activity + * @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. + * + * > [!NOTE] + * > This endpoint can only be used for repositories with fewer than 10,000 commits. If the repository contains 10,000 or more commits, a 422 status code will be returned. + */ + get: operations["repos/get-code-frequency-stats"]; + }; + "/repos/{owner}/{repo}/stats/commit_activity": { + /** + * Get the last year of commit activity + * @description Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. + */ + get: operations["repos/get-commit-activity-stats"]; + }; + "/repos/{owner}/{repo}/stats/contributors": { + /** + * Get all contributor commit activity + * @description + * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: + * + * * `w` - Start of the week, given as a [Unix timestamp](https://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + * + * > [!NOTE] + * > This endpoint will return `0` values for all addition and deletion counts in repositories with 10,000 or more commits. + */ + get: operations["repos/get-contributors-stats"]; + }; + "/repos/{owner}/{repo}/stats/participation": { + /** + * Get the weekly commit count + * @description Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. + * + * The array order is oldest week (index 0) to most recent week. + * + * The most recent week is seven days ago at UTC midnight to today at UTC midnight. + */ + get: operations["repos/get-participation-stats"]; + }; + "/repos/{owner}/{repo}/stats/punch_card": { + /** + * Get the hourly commit count for each day + * @description Each array contains the day number, hour number, and number of commits: + * + * * `0-6`: Sunday - Saturday + * * `0-23`: Hour of day + * * Number of commits + * + * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. + */ + get: operations["repos/get-punch-card-stats"]; + }; + "/repos/{owner}/{repo}/statuses/{sha}": { + /** + * Create a commit status + * @description Users with push access in a repository can create commit statuses for a given SHA. + * + * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. + */ + post: operations["repos/create-commit-status"]; + }; + "/repos/{owner}/{repo}/subscribers": { + /** + * List watchers + * @description Lists the people watching the specified repository. + */ + get: operations["activity/list-watchers-for-repo"]; + }; + "/repos/{owner}/{repo}/subscription": { + /** + * Get a repository subscription + * @description Gets information about whether the authenticated user is subscribed to the repository. + */ + get: operations["activity/get-repo-subscription"]; + /** + * Set a repository subscription + * @description If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/activity/watching#delete-a-repository-subscription) completely. + */ + put: operations["activity/set-repo-subscription"]; + /** + * Delete a repository subscription + * @description This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/activity/watching#set-a-repository-subscription). + */ + delete: operations["activity/delete-repo-subscription"]; + }; + "/repos/{owner}/{repo}/tags": { + /** List repository tags */ + get: operations["repos/list-tags"]; + }; + "/repos/{owner}/{repo}/tags/protection": { + /** + * Closing down - List tag protection states for a repository + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed after August 30, 2024. Use the "[Repository Rulesets](https://docs.github.com/rest/repos/rules#get-all-repository-rulesets)" endpoint instead. + * + * This returns the tag protection states of a repository. + * + * This information is only available to repository administrators. + */ + get: operations["repos/list-tag-protection"]; + /** + * Closing down - Create a tag protection state for a repository + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed after August 30, 2024. Use the "[Repository Rulesets](https://docs.github.com/rest/repos/rules#create-a-repository-ruleset)" endpoint instead. + * + * This creates a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + post: operations["repos/create-tag-protection"]; + }; + "/repos/{owner}/{repo}/tags/protection/{tag_protection_id}": { + /** + * Closing down - Delete a tag protection state for a repository + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed after August 30, 2024. Use the "[Repository Rulesets](https://docs.github.com/rest/repos/rules#delete-a-repository-ruleset)" endpoint instead. + * + * This deletes a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + delete: operations["repos/delete-tag-protection"]; + }; + "/repos/{owner}/{repo}/tarball/{ref}": { + /** + * Download a repository archive (tar) + * @description Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * + * > [!NOTE] + * > For private repositories, these links are temporary and expire after five minutes. + */ + get: operations["repos/download-tarball-archive"]; + }; + "/repos/{owner}/{repo}/teams": { + /** + * List repository teams + * @description Lists the teams that have access to the specified repository and that are also visible to the authenticated user. + * + * For a public repository, a team is listed only if that team added the public repository explicitly. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to use this endpoint with a public repository, and `repo` scope to use this endpoint with a private repository. + */ + get: operations["repos/list-teams"]; + }; + "/repos/{owner}/{repo}/topics": { + /** Get all repository topics */ + get: operations["repos/get-all-topics"]; + /** Replace all repository topics */ + put: operations["repos/replace-all-topics"]; + }; + "/repos/{owner}/{repo}/traffic/clones": { + /** + * Get repository clones + * @description Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + */ + get: operations["repos/get-clones"]; + }; + "/repos/{owner}/{repo}/traffic/popular/paths": { + /** + * Get top referral paths + * @description Get the top 10 popular contents over the last 14 days. + */ + get: operations["repos/get-top-paths"]; + }; + "/repos/{owner}/{repo}/traffic/popular/referrers": { + /** + * Get top referral sources + * @description Get the top 10 referrers over the last 14 days. + */ + get: operations["repos/get-top-referrers"]; + }; + "/repos/{owner}/{repo}/traffic/views": { + /** + * Get page views + * @description Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + */ + get: operations["repos/get-views"]; + }; + "/repos/{owner}/{repo}/transfer": { + /** + * Transfer a repository + * @description A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/articles/about-repository-transfers/). + */ + post: operations["repos/transfer"]; + }; + "/repos/{owner}/{repo}/vulnerability-alerts": { + /** + * Check if vulnerability alerts are enabled for a repository + * @description Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + get: operations["repos/check-vulnerability-alerts"]; + /** + * Enable vulnerability alerts + * @description Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + put: operations["repos/enable-vulnerability-alerts"]; + /** + * Disable vulnerability alerts + * @description Disables dependency alerts and the dependency graph for a repository. + * The authenticated user must have admin access to the repository. For more information, + * see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + delete: operations["repos/disable-vulnerability-alerts"]; + }; + "/repos/{owner}/{repo}/zipball/{ref}": { + /** + * Download a repository archive (zip) + * @description Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * + * > [!NOTE] + * > For private repositories, these links are temporary and expire after five minutes. If the repository is empty, you will receive a 404 when you follow the redirect. + */ + get: operations["repos/download-zipball-archive"]; + }; + "/repos/{template_owner}/{template_repo}/generate": { + /** + * Create a repository using a template + * @description Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/repos/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository. + */ + post: operations["repos/create-using-template"]; + }; + "/repositories": { + /** + * List public repositories + * @description Lists all public repositories in the order that they were created. + * + * Note: + * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. + * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of repositories. + */ + get: operations["repos/list-public"]; + }; + "/search/code": { + /** + * Search code + * @description Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: + * + * `q=addClass+in:file+language:js+repo:jquery/jquery` + * + * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. + * + * Considerations for code search: + * + * Due to the complexity of searching code, there are a few restrictions on how searches are performed: + * + * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. + * * Only files smaller than 384 KB are searchable. + * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing + * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. + * + * This endpoint requires you to authenticate and limits you to 10 requests per minute. + */ + get: operations["search/code"]; + }; + "/search/commits": { + /** + * Search commits + * @description Find commits via various criteria on the default branch (usually `main`). This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match + * metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: + * + * `q=repo:octocat/Spoon-Knife+css` + */ + get: operations["search/commits"]; + }; + "/search/issues": { + /** + * Search issues and pull requests + * @deprecated + * @description > [!WARNING] + * > **Notice:** Search for issues and pull requests will be overridden by advanced search on September 4, 2025. + * > You can read more about this change on [the GitHub blog](https://github.blog/changelog/2025-03-06-github-issues-projects-api-support-for-issues-advanced-search-and-more/). + */ + get: operations["search/issues-and-pull-requests"]; + }; + "/search/labels": { + /** + * Search labels + * @description Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: + * + * `q=bug+defect+enhancement&repository_id=64778136` + * + * The labels that best match the query appear first in the search results. + */ + get: operations["search/labels"]; + }; + "/search/repositories": { + /** + * Search repositories + * @description Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: + * + * `q=tetris+language:assembly&sort=stars&order=desc` + * + * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. + */ + get: operations["search/repos"]; + }; + "/search/topics": { + /** + * Search topics + * @description Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). See "[Searching topics](https://docs.github.com/articles/searching-topics/)" for a detailed list of qualifiers. + * + * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: + * + * `q=ruby+is:featured` + * + * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. + */ + get: operations["search/topics"]; + }; + "/search/users": { + /** + * Search users + * @description Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for users, you can get text match metadata for the issue **login**, public **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you're looking for a list of popular users, you might try this query: + * + * `q=tom+repos:%3E42+followers:%3E1000` + * + * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. + * + * This endpoint does not accept authentication and will only include publicly visible users. As an alternative, you can use the GraphQL API. The GraphQL API requires authentication and will return private users, including Enterprise Managed Users (EMUs), that you are authorized to view. For more information, see "[GraphQL Queries](https://docs.github.com/graphql/reference/queries#search)." + */ + get: operations["search/users"]; + }; + "/teams/{team_id}": { + /** + * Get a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/teams/teams#get-a-team-by-name) endpoint. + */ + get: operations["teams/get-legacy"]; + /** + * Delete a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/teams/teams#delete-a-team) endpoint. + * + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + */ + delete: operations["teams/delete-legacy"]; + /** + * Update a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/teams/teams#update-a-team) endpoint. + * + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * > [!NOTE] + * > With nested teams, the `privacy` for parent teams cannot be `secret`. + */ + patch: operations["teams/update-legacy"]; + }; + "/teams/{team_id}/discussions": { + /** + * List discussions (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/teams/discussions#list-discussions) endpoint. + * + * List all discussions on a team's page. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/list-discussions-legacy"]; + /** + * Create a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/teams/discussions#create-a-discussion) endpoint. + * + * Creates a new discussion post on a team's page. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["teams/create-discussion-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}": { + /** + * Get a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion) endpoint. + * + * Get a specific discussion on a team's page. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/get-discussion-legacy"]; + /** + * Delete a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/teams/discussions#delete-a-discussion) endpoint. + * + * Delete a discussion from a team's page. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["teams/delete-discussion-legacy"]; + /** + * Update a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/teams/discussions#update-a-discussion) endpoint. + * + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + patch: operations["teams/update-discussion-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments": { + /** + * List discussion comments (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments) endpoint. + * + * List all comments on a team discussion. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/list-discussion-comments-legacy"]; + /** + * Create a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/teams/discussion-comments#create-a-discussion-comment) endpoint. + * + * Creates a new comment on a team discussion. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["teams/create-discussion-comment-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": { + /** + * Get a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment) endpoint. + * + * Get a specific comment on a team discussion. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["teams/get-discussion-comment-legacy"]; + /** + * Delete a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/teams/discussion-comments#delete-a-discussion-comment) endpoint. + * + * Deletes a comment on a team discussion. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + delete: operations["teams/delete-discussion-comment-legacy"]; + /** + * Update a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/teams/discussion-comments#update-a-discussion-comment) endpoint. + * + * Edits the body text of a discussion comment. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + patch: operations["teams/update-discussion-comment-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + /** + * List reactions for a team discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment) endpoint. + * + * List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["reactions/list-for-team-discussion-comment-legacy"]; + /** + * Create reaction for a team discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. + * + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["reactions/create-for-team-discussion-comment-legacy"]; + }; + "/teams/{team_id}/discussions/{discussion_number}/reactions": { + /** + * List reactions for a team discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion) endpoint. + * + * List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + get: operations["reactions/list-for-team-discussion-legacy"]; + /** + * Create reaction for a team discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion) endpoint. + * + * Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + post: operations["reactions/create-for-team-discussion-legacy"]; + }; + "/teams/{team_id}/invitations": { + /** + * List pending team invitations (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/teams/members#list-pending-team-invitations) endpoint. + * + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + */ + get: operations["teams/list-pending-invitations-legacy"]; + }; + "/teams/{team_id}/members": { + /** + * List team members (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/teams/members#list-team-members) endpoint. + * + * Team members will include the members of child teams. + */ + get: operations["teams/list-members-legacy"]; + }; + "/teams/{team_id}/members/{username}": { + /** + * Get team member (Legacy) + * @deprecated + * @description The "Get team member" endpoint (described below) is closing down. + * + * We recommend using the [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + get: operations["teams/get-member-legacy"]; + /** + * Add team member (Legacy) + * @deprecated + * @description The "Add team member" endpoint (described below) is closing down. + * + * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. + * + * > [!NOTE] + * > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + put: operations["teams/add-member-legacy"]; + /** + * Remove team member (Legacy) + * @deprecated + * @description The "Remove team member" endpoint (described below) is closing down. + * + * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. + * + * > [!NOTE] + * > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + delete: operations["teams/remove-member-legacy"]; + }; + "/teams/{team_id}/memberships/{username}": { + /** + * Get team membership for a user (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint. + * + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). + */ + get: operations["teams/get-membership-for-user-legacy"]; + /** + * Add or update team membership for a user (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. + * + * > [!NOTE] + * > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + */ + put: operations["teams/add-or-update-membership-for-user-legacy"]; + /** + * Remove team membership for a user (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * > [!NOTE] + * > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + delete: operations["teams/remove-membership-for-user-legacy"]; + }; + "/teams/{team_id}/projects": { + /** + * List team projects (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["teams/list-projects-legacy"]; + }; + "/teams/{team_id}/projects/{project_id}": { + /** + * Check team permissions for a project (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["teams/check-permissions-for-project-legacy"]; + /** + * Add or update team project permissions (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + put: operations["teams/add-or-update-project-permissions-legacy"]; + /** + * Remove a project from a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + delete: operations["teams/remove-project-legacy"]; + }; + "/teams/{team_id}/repos": { + /** + * List team repositories (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/teams/teams#list-team-repositories) endpoint. + */ + get: operations["teams/list-repos-legacy"]; + }; + "/teams/{team_id}/repos/{owner}/{repo}": { + /** + * Check team permissions for a repository (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository) endpoint. + * + * > [!NOTE] + * > Repositories inherited through a parent team will also be checked. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types/) via the `Accept` header: + */ + get: operations["teams/check-permissions-for-repo-legacy"]; + /** + * Add or update team repository permissions (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/teams/teams#add-or-update-team-repository-permissions)" endpoint. + * + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + put: operations["teams/add-or-update-repo-permissions-legacy"]; + /** + * Remove a repository from a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/teams/teams#remove-a-repository-from-a-team) endpoint. + * + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. + */ + delete: operations["teams/remove-repo-legacy"]; + }; + "/teams/{team_id}/teams": { + /** + * List child teams (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/teams/teams#list-child-teams) endpoint. + */ + get: operations["teams/list-child-legacy"]; + }; + "/user": { + /** + * Get the authenticated user + * @description OAuth app tokens and personal access tokens (classic) need the `user` scope in order for the response to include private profile information. + */ + get: operations["users/get-authenticated"]; + /** + * Update the authenticated user + * @description **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. + */ + patch: operations["users/update-authenticated"]; + }; + "/user/blocks": { + /** + * List users blocked by the authenticated user + * @description List the users you've blocked on your personal account. + */ + get: operations["users/list-blocked-by-authenticated-user"]; + }; + "/user/blocks/{username}": { + /** + * Check if a user is blocked by the authenticated user + * @description Returns a 204 if the given user is blocked by the authenticated user. Returns a 404 if the given user is not blocked by the authenticated user, or if the given user account has been identified as spam by GitHub. + */ + get: operations["users/check-blocked"]; + /** + * Block a user + * @description Blocks the given user and returns a 204. If the authenticated user cannot block the given user a 422 is returned. + */ + put: operations["users/block"]; + /** + * Unblock a user + * @description Unblocks the given user and returns a 204. + */ + delete: operations["users/unblock"]; + }; + "/user/codespaces": { + /** + * List codespaces for the authenticated user + * @description Lists the authenticated user's codespaces. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/list-for-authenticated-user"]; + /** + * Create a codespace for the authenticated user + * @description Creates a new codespace, owned by the authenticated user. + * + * This endpoint requires either a `repository_id` OR a `pull_request` but not both. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/create-for-authenticated-user"]; + }; + "/user/codespaces/secrets": { + /** + * List secrets for the authenticated user + * @description Lists all development environment secrets available for a user's codespaces without revealing their + * encrypted values. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + get: operations["codespaces/list-secrets-for-authenticated-user"]; + }; + "/user/codespaces/secrets/public-key": { + /** + * Get public key for the authenticated user + * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + get: operations["codespaces/get-public-key-for-authenticated-user"]; + }; + "/user/codespaces/secrets/{secret_name}": { + /** + * Get a secret for the authenticated user + * @description Gets a development environment secret available to a user's codespaces without revealing its encrypted value. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + get: operations["codespaces/get-secret-for-authenticated-user"]; + /** + * Create or update a secret for the authenticated user + * @description Creates or updates a development environment secret for a user's codespace with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + put: operations["codespaces/create-or-update-secret-for-authenticated-user"]; + /** + * Delete a secret for the authenticated user + * @description Deletes a development environment secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + delete: operations["codespaces/delete-secret-for-authenticated-user"]; + }; + "/user/codespaces/secrets/{secret_name}/repositories": { + /** + * List selected repositories for a user secret + * @description List the repositories that have been granted the ability to use a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + get: operations["codespaces/list-repositories-for-secret-for-authenticated-user"]; + /** + * Set selected repositories for a user secret + * @description Select the repositories that will use a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + put: operations["codespaces/set-repositories-for-secret-for-authenticated-user"]; + }; + "/user/codespaces/secrets/{secret_name}/repositories/{repository_id}": { + /** + * Add a selected repository to a user secret + * @description Adds a repository to the selected repositories for a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + put: operations["codespaces/add-repository-for-secret-for-authenticated-user"]; + /** + * Remove a selected repository from a user secret + * @description Removes a repository from the selected repositories for a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + delete: operations["codespaces/remove-repository-for-secret-for-authenticated-user"]; + }; + "/user/codespaces/{codespace_name}": { + /** + * Get a codespace for the authenticated user + * @description Gets information about a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/get-for-authenticated-user"]; + /** + * Delete a codespace for the authenticated user + * @description Deletes a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + delete: operations["codespaces/delete-for-authenticated-user"]; + /** + * Update a codespace for the authenticated user + * @description Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint. + * + * If you specify a new machine type it will be applied the next time your codespace is started. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + patch: operations["codespaces/update-for-authenticated-user"]; + }; + "/user/codespaces/{codespace_name}/exports": { + /** + * Export a codespace for the authenticated user + * @description Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. + * + * If changes cannot be pushed to the codespace's repository, they will be pushed to a new or previously-existing fork instead. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/export-for-authenticated-user"]; + }; + "/user/codespaces/{codespace_name}/exports/{export_id}": { + /** + * Get details about a codespace export + * @description Gets information about an export of a codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/get-export-details-for-authenticated-user"]; + }; + "/user/codespaces/{codespace_name}/machines": { + /** + * List machine types for a codespace + * @description List the machine types a codespace can transition to use. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + get: operations["codespaces/codespace-machines-for-authenticated-user"]; + }; + "/user/codespaces/{codespace_name}/publish": { + /** + * Create a repository from an unpublished codespace + * @description Publishes an unpublished codespace, creating a new repository and assigning it to the codespace. + * + * The codespace's token is granted write permissions to the repository, allowing the user to push their changes. + * + * This will fail for a codespace that is already published, meaning it has an associated repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/publish-for-authenticated-user"]; + }; + "/user/codespaces/{codespace_name}/start": { + /** + * Start a codespace for the authenticated user + * @description Starts a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/start-for-authenticated-user"]; + }; + "/user/codespaces/{codespace_name}/stop": { + /** + * Stop a codespace for the authenticated user + * @description Stops a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + post: operations["codespaces/stop-for-authenticated-user"]; + }; + "/user/docker/conflicts": { + /** + * Get list of conflicting packages during Docker migration for authenticated-user + * @description Lists all packages that are owned by the authenticated user within the user's namespace, and that encountered a conflict during a Docker migration. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + get: operations["packages/list-docker-migration-conflicting-packages-for-authenticated-user"]; + }; + "/user/email/visibility": { + /** + * Set primary email visibility for the authenticated user + * @description Sets the visibility for your primary email addresses. + */ + patch: operations["users/set-primary-email-visibility-for-authenticated-user"]; + }; + "/user/emails": { + /** + * List email addresses for the authenticated user + * @description Lists all of your email addresses, and specifies which one is visible + * to the public. + * + * OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. + */ + get: operations["users/list-emails-for-authenticated-user"]; + /** + * Add an email address for the authenticated user + * @description OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + post: operations["users/add-email-for-authenticated-user"]; + /** + * Delete an email address for the authenticated user + * @description OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + delete: operations["users/delete-email-for-authenticated-user"]; + }; + "/user/followers": { + /** + * List followers of the authenticated user + * @description Lists the people following the authenticated user. + */ + get: operations["users/list-followers-for-authenticated-user"]; + }; + "/user/following": { + /** + * List the people the authenticated user follows + * @description Lists the people who the authenticated user follows. + */ + get: operations["users/list-followed-by-authenticated-user"]; + }; + "/user/following/{username}": { + /** Check if a person is followed by the authenticated user */ + get: operations["users/check-person-is-followed-by-authenticated"]; + /** + * Follow a user + * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * + * OAuth app tokens and personal access tokens (classic) need the `user:follow` scope to use this endpoint. + */ + put: operations["users/follow"]; + /** + * Unfollow a user + * @description OAuth app tokens and personal access tokens (classic) need the `user:follow` scope to use this endpoint. + */ + delete: operations["users/unfollow"]; + }; + "/user/gpg_keys": { + /** + * List GPG keys for the authenticated user + * @description Lists the current user's GPG keys. + * + * OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint. + */ + get: operations["users/list-gpg-keys-for-authenticated-user"]; + /** + * Create a GPG key for the authenticated user + * @description Adds a GPG key to the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:gpg_key` scope to use this endpoint. + */ + post: operations["users/create-gpg-key-for-authenticated-user"]; + }; + "/user/gpg_keys/{gpg_key_id}": { + /** + * Get a GPG key for the authenticated user + * @description View extended details for a single GPG key. + * + * OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint. + */ + get: operations["users/get-gpg-key-for-authenticated-user"]; + /** + * Delete a GPG key for the authenticated user + * @description Removes a GPG key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:gpg_key` scope to use this endpoint. + */ + delete: operations["users/delete-gpg-key-for-authenticated-user"]; + }; + "/user/installations": { + /** + * List app installations accessible to the user access token + * @description Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You can find the permissions for the installation under the `permissions` key. + */ + get: operations["apps/list-installations-for-authenticated-user"]; + }; + "/user/installations/{installation_id}/repositories": { + /** + * List repositories accessible to the user access token + * @description List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * The access the user has to each repository is included in the hash under the `permissions` key. + */ + get: operations["apps/list-installation-repos-for-authenticated-user"]; + }; + "/user/installations/{installation_id}/repositories/{repository_id}": { + /** + * Add a repository to an app installation + * @description Add a single repository to an installation. The authenticated user must have admin access to the repository. + * + * This endpoint only works for PATs (classic) with the `repo` scope. + */ + put: operations["apps/add-repo-to-installation-for-authenticated-user"]; + /** + * Remove a repository from an app installation + * @description Remove a single repository from an installation. The authenticated user must have admin access to the repository. The installation must have the `repository_selection` of `selected`. + * + * This endpoint only works for PATs (classic) with the `repo` scope. + */ + delete: operations["apps/remove-repo-from-installation-for-authenticated-user"]; + }; + "/user/interaction-limits": { + /** + * Get interaction restrictions for your public repositories + * @description Shows which type of GitHub user can interact with your public repositories and when the restriction expires. + */ + get: operations["interactions/get-restrictions-for-authenticated-user"]; + /** + * Set interaction restrictions for your public repositories + * @description Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. + */ + put: operations["interactions/set-restrictions-for-authenticated-user"]; + /** + * Remove interaction restrictions from your public repositories + * @description Removes any interaction restrictions from your public repositories. + */ + delete: operations["interactions/remove-restrictions-for-authenticated-user"]; + }; + "/user/issues": { + /** + * List user account issues assigned to the authenticated user + * @description List issues across owned and member repositories assigned to the authenticated user. + * + * > [!NOTE] + * > GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: operations["issues/list-for-authenticated-user"]; + }; + "/user/keys": { + /** + * List public SSH keys for the authenticated user + * @description Lists the public SSH keys for the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint. + */ + get: operations["users/list-public-ssh-keys-for-authenticated-user"]; + /** + * Create a public SSH key for the authenticated user + * @description Adds a public SSH key to the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:gpg_key` scope to use this endpoint. + */ + post: operations["users/create-public-ssh-key-for-authenticated-user"]; + }; + "/user/keys/{key_id}": { + /** + * Get a public SSH key for the authenticated user + * @description View extended details for a single public SSH key. + * + * OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint. + */ + get: operations["users/get-public-ssh-key-for-authenticated-user"]; + /** + * Delete a public SSH key for the authenticated user + * @description Removes a public SSH key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:public_key` scope to use this endpoint. + */ + delete: operations["users/delete-public-ssh-key-for-authenticated-user"]; + }; + "/user/marketplace_purchases": { + /** + * List subscriptions for the authenticated user + * @description Lists the active subscriptions for the authenticated user. + */ + get: operations["apps/list-subscriptions-for-authenticated-user"]; + }; + "/user/marketplace_purchases/stubbed": { + /** + * List subscriptions for the authenticated user (stubbed) + * @description Lists the active subscriptions for the authenticated user. + */ + get: operations["apps/list-subscriptions-for-authenticated-user-stubbed"]; + }; + "/user/memberships/orgs": { + /** + * List organization memberships for the authenticated user + * @description Lists all of the authenticated user's organization memberships. + */ + get: operations["orgs/list-memberships-for-authenticated-user"]; + }; + "/user/memberships/orgs/{org}": { + /** + * Get an organization membership for the authenticated user + * @description If the authenticated user is an active or pending member of the organization, this endpoint will return the user's membership. If the authenticated user is not affiliated with the organization, a `404` is returned. This endpoint will return a `403` if the request is made by a GitHub App that is blocked by the organization. + */ + get: operations["orgs/get-membership-for-authenticated-user"]; + /** + * Update an organization membership for the authenticated user + * @description Converts the authenticated user to an active member of the organization, if that user has a pending invitation from the organization. + */ + patch: operations["orgs/update-membership-for-authenticated-user"]; + }; + "/user/migrations": { + /** + * List user migrations + * @description Lists all migrations a user has started. + */ + get: operations["migrations/list-for-authenticated-user"]; + /** + * Start a user migration + * @description Initiates the generation of a user migration archive. + */ + post: operations["migrations/start-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}": { + /** + * Get a user migration status + * @description Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: + * + * * `pending` - the migration hasn't started yet. + * * `exporting` - the migration is in progress. + * * `exported` - the migration finished successfully. + * * `failed` - the migration failed. + * + * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/migrations/users#download-a-user-migration-archive). + */ + get: operations["migrations/get-status-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}/archive": { + /** + * Download a user migration archive + * @description Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: + * + * * attachments + * * bases + * * commit\_comments + * * issue\_comments + * * issue\_events + * * issues + * * milestones + * * organizations + * * projects + * * protected\_branches + * * pull\_request\_reviews + * * pull\_requests + * * releases + * * repositories + * * review\_comments + * * schema + * * users + * + * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. + */ + get: operations["migrations/get-archive-for-authenticated-user"]; + /** + * Delete a user migration archive + * @description Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/migrations/users#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/migrations/users#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. + */ + delete: operations["migrations/delete-archive-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}/repos/{repo_name}/lock": { + /** + * Unlock a user repository + * @description Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/migrations/users#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/repos/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. + */ + delete: operations["migrations/unlock-repo-for-authenticated-user"]; + }; + "/user/migrations/{migration_id}/repositories": { + /** + * List repositories for a user migration + * @description Lists all the repositories for this user migration. + */ + get: operations["migrations/list-repos-for-authenticated-user"]; + }; + "/user/orgs": { + /** + * List organizations for the authenticated user + * @description List organizations for the authenticated user. + * + * For OAuth app tokens and personal access tokens (classic), this endpoint only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope for OAuth app tokens and personal access tokens (classic). Requests with insufficient scope will receive a `403 Forbidden` response. + * + * > [!NOTE] + * > Requests using a fine-grained access token will receive a `200 Success` response with an empty list. + */ + get: operations["orgs/list-for-authenticated-user"]; + }; + "/user/packages": { + /** + * List packages for the authenticated user's namespace + * @description Lists packages owned by the authenticated user within the user's namespace. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/list-packages-for-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}": { + /** + * Get a package for the authenticated user + * @description Gets a specific package for a package owned by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-for-authenticated-user"]; + /** + * Delete a package for the authenticated user + * @description Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-for-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}/restore": { + /** + * Restore a package for the authenticated user + * @description Restores a package owned by the authenticated user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-for-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}/versions": { + /** + * List package versions for a package owned by the authenticated user + * @description Lists package versions for a package owned by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}/versions/{package_version_id}": { + /** + * Get a package version for the authenticated user + * @description Gets a specific package version for a package owned by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-version-for-authenticated-user"]; + /** + * Delete a package version for the authenticated user + * @description Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-version-for-authenticated-user"]; + }; + "/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + /** + * Restore a package version for the authenticated user + * @description Restores a package version owned by the authenticated user. + * + * You can restore a deleted package version under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-version-for-authenticated-user"]; + }; + "/user/projects": { + /** + * Create a user project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + post: operations["projects/create-for-authenticated-user"]; + }; + "/user/public_emails": { + /** + * List public email addresses for the authenticated user + * @description Lists your publicly visible email address, which you can set with the + * [Set primary email visibility for the authenticated user](https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user) + * endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. + */ + get: operations["users/list-public-emails-for-authenticated-user"]; + }; + "/user/repos": { + /** + * List repositories for the authenticated user + * @description Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + */ + get: operations["repos/list-for-authenticated-user"]; + /** + * Create a repository for the authenticated user + * @description Creates a new repository for the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository. + */ + post: operations["repos/create-for-authenticated-user"]; + }; + "/user/repository_invitations": { + /** + * List repository invitations for the authenticated user + * @description When authenticating as a user, this endpoint will list all currently open repository invitations for that user. + */ + get: operations["repos/list-invitations-for-authenticated-user"]; + }; + "/user/repository_invitations/{invitation_id}": { + /** Decline a repository invitation */ + delete: operations["repos/decline-invitation-for-authenticated-user"]; + /** Accept a repository invitation */ + patch: operations["repos/accept-invitation-for-authenticated-user"]; + }; + "/user/social_accounts": { + /** + * List social accounts for the authenticated user + * @description Lists all of your social accounts. + */ + get: operations["users/list-social-accounts-for-authenticated-user"]; + /** + * Add social accounts for the authenticated user + * @description Add one or more social accounts to the authenticated user's profile. + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + post: operations["users/add-social-account-for-authenticated-user"]; + /** + * Delete social accounts for the authenticated user + * @description Deletes one or more social accounts from the authenticated user's profile. + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + delete: operations["users/delete-social-account-for-authenticated-user"]; + }; + "/user/ssh_signing_keys": { + /** + * List SSH signing keys for the authenticated user + * @description Lists the SSH signing keys for the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `read:ssh_signing_key` scope to use this endpoint. + */ + get: operations["users/list-ssh-signing-keys-for-authenticated-user"]; + /** + * Create a SSH signing key for the authenticated user + * @description Creates an SSH signing key for the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:ssh_signing_key` scope to use this endpoint. + */ + post: operations["users/create-ssh-signing-key-for-authenticated-user"]; + }; + "/user/ssh_signing_keys/{ssh_signing_key_id}": { + /** + * Get an SSH signing key for the authenticated user + * @description Gets extended details for an SSH signing key. + * + * OAuth app tokens and personal access tokens (classic) need the `read:ssh_signing_key` scope to use this endpoint. + */ + get: operations["users/get-ssh-signing-key-for-authenticated-user"]; + /** + * Delete an SSH signing key for the authenticated user + * @description Deletes an SSH signing key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:ssh_signing_key` scope to use this endpoint. + */ + delete: operations["users/delete-ssh-signing-key-for-authenticated-user"]; + }; + "/user/starred": { + /** + * List repositories starred by the authenticated user + * @description Lists repositories the authenticated user has starred. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. + */ + get: operations["activity/list-repos-starred-by-authenticated-user"]; + }; + "/user/starred/{owner}/{repo}": { + /** + * Check if a repository is starred by the authenticated user + * @description Whether the authenticated user has starred the repository. + */ + get: operations["activity/check-repo-is-starred-by-authenticated-user"]; + /** + * Star a repository for the authenticated user + * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + put: operations["activity/star-repo-for-authenticated-user"]; + /** + * Unstar a repository for the authenticated user + * @description Unstar a repository that the authenticated user has previously starred. + */ + delete: operations["activity/unstar-repo-for-authenticated-user"]; + }; + "/user/subscriptions": { + /** + * List repositories watched by the authenticated user + * @description Lists repositories the authenticated user is watching. + */ + get: operations["activity/list-watched-repos-for-authenticated-user"]; + }; + "/user/teams": { + /** + * List teams for the authenticated user + * @description List all of the teams across all of the organizations to which the authenticated + * user belongs. + * + * OAuth app tokens and personal access tokens (classic) need the `user`, `repo`, or `read:org` scope to use this endpoint. + * + * When using a fine-grained personal access token, the resource owner of the token must be a single organization, and the response will only include the teams from that organization. + */ + get: operations["teams/list-for-authenticated-user"]; + }; + "/user/{account_id}": { + /** + * Get a user using their ID + * @description Provides publicly available information about someone with a GitHub account. This method takes their durable user `ID` instead of their `login`, which can change over time. + * + * If you are requesting information about an [Enterprise Managed User](https://docs.github.com/enterprise-cloud@latest/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users), or a GitHub App bot that is installed in an organization that uses Enterprise Managed Users, your requests must be authenticated as a user or GitHub App that has access to the organization to view that account's information. If you are not authorized, the request will return a `404 Not Found` status. + * + * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be public which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#authentication). + * + * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see [Emails API](https://docs.github.com/rest/users/emails). + */ + get: operations["users/get-by-id"]; + }; + "/users": { + /** + * List users + * @description Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. + * + * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of users. + */ + get: operations["users/list"]; + }; + "/users/{username}": { + /** + * Get a user + * @description Provides publicly available information about someone with a GitHub account. + * + * If you are requesting information about an [Enterprise Managed User](https://docs.github.com/enterprise-cloud@latest/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users), or a GitHub App bot that is installed in an organization that uses Enterprise Managed Users, your requests must be authenticated as a user or GitHub App that has access to the organization to view that account's information. If you are not authorized, the request will return a `404 Not Found` status. + * + * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be public which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#authentication). + * + * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see [Emails API](https://docs.github.com/rest/users/emails). + */ + get: operations["users/get-by-username"]; + }; + "/users/{username}/attestations/{subject_digest}": { + /** + * List attestations + * @description List a collection of artifact attestations with a given subject digest that are associated with repositories owned by a user. + * + * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + get: operations["users/list-attestations"]; + }; + "/users/{username}/docker/conflicts": { + /** + * Get list of conflicting packages during Docker migration for user + * @description Lists all packages that are in a specific user's namespace, that the requesting user has access to, and that encountered a conflict during Docker migration. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + get: operations["packages/list-docker-migration-conflicting-packages-for-user"]; + }; + "/users/{username}/events": { + /** + * List events for the authenticated user + * @description If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. _Optional_: use the fine-grained token with following permission set to view private events: "Events" user permissions (read). + * + * > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-events-for-authenticated-user"]; + }; + "/users/{username}/events/orgs/{org}": { + /** + * List organization events for the authenticated user + * @description This is the user's organization dashboard. You must be authenticated as the user to view this. + * + * > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-org-events-for-authenticated-user"]; + }; + "/users/{username}/events/public": { + /** + * List public events for a user + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-public-events-for-user"]; + }; + "/users/{username}/followers": { + /** + * List followers of a user + * @description Lists the people following the specified user. + */ + get: operations["users/list-followers-for-user"]; + }; + "/users/{username}/following": { + /** + * List the people a user follows + * @description Lists the people who the specified user follows. + */ + get: operations["users/list-following-for-user"]; + }; + "/users/{username}/following/{target_user}": { + /** Check if a user follows another user */ + get: operations["users/check-following-for-user"]; + }; + "/users/{username}/gists": { + /** + * List gists for a user + * @description Lists public gists for the specified user: + */ + get: operations["gists/list-for-user"]; + }; + "/users/{username}/gpg_keys": { + /** + * List GPG keys for a user + * @description Lists the GPG keys for a user. This information is accessible by anyone. + */ + get: operations["users/list-gpg-keys-for-user"]; + }; + "/users/{username}/hovercard": { + /** + * Get contextual information for a user + * @description Provides hovercard information. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. + * + * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository, you would use a `subject_type` value of `repository` and a `subject_id` value of `1300192` (the ID of the `Spoon-Knife` repository). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + get: operations["users/get-context-for-user"]; + }; + "/users/{username}/installation": { + /** + * Get a user installation for the authenticated app + * @description Enables an authenticated GitHub App to find the user’s installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-user-installation"]; + }; + "/users/{username}/keys": { + /** + * List public keys for a user + * @description Lists the _verified_ public SSH keys for a user. This is accessible by anyone. + */ + get: operations["users/list-public-keys-for-user"]; + }; + "/users/{username}/orgs": { + /** + * List organizations for a user + * @description List [public organization memberships](https://docs.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. + * + * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user) API instead. + */ + get: operations["orgs/list-for-user"]; + }; + "/users/{username}/packages": { + /** + * List packages for a user + * @description Lists all packages in a user's namespace for which the requesting user has access. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/list-packages-for-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}": { + /** + * Get a package for a user + * @description Gets a specific package metadata for a public package owned by a user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-for-user"]; + /** + * Delete a package for a user + * @description Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-for-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}/restore": { + /** + * Restore a package for a user + * @description Restores an entire package for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-for-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions": { + /** + * List package versions for a package owned by a user + * @description Lists package versions for a public package owned by a specified user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": { + /** + * Get a package version for a user + * @description Gets a specific package version for a public package owned by a specified user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-version-for-user"]; + /** + * Delete package version for a user + * @description Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-version-for-user"]; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + /** + * Restore package version for a user + * @description Restores a specific package version for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-version-for-user"]; + }; + "/users/{username}/projects": { + /** + * List user projects + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + get: operations["projects/list-for-user"]; + }; + "/users/{username}/received_events": { + /** + * List events received by the authenticated user + * @description These are events that you've received by watching repositories and following users. If you are authenticated as the + * given user, you will see private events. Otherwise, you'll only see public events. + * + * > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-received-events-for-user"]; + }; + "/users/{username}/received_events/public": { + /** + * List public events received by a user + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + get: operations["activity/list-received-public-events-for-user"]; + }; + "/users/{username}/repos": { + /** + * List repositories for a user + * @description Lists public repositories for the specified user. + */ + get: operations["repos/list-for-user"]; + }; + "/users/{username}/settings/billing/actions": { + /** + * Get GitHub Actions billing for a user + * @description Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + get: operations["billing/get-github-actions-billing-user"]; + }; + "/users/{username}/settings/billing/packages": { + /** + * Get GitHub Packages billing for a user + * @description Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + get: operations["billing/get-github-packages-billing-user"]; + }; + "/users/{username}/settings/billing/shared-storage": { + /** + * Get shared storage billing for a user + * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + get: operations["billing/get-shared-storage-billing-user"]; + }; + "/users/{username}/social_accounts": { + /** + * List social accounts for a user + * @description Lists social media accounts for a user. This endpoint is accessible by anyone. + */ + get: operations["users/list-social-accounts-for-user"]; + }; + "/users/{username}/ssh_signing_keys": { + /** + * List SSH signing keys for a user + * @description Lists the SSH signing keys for a user. This operation is accessible by anyone. + */ + get: operations["users/list-ssh-signing-keys-for-user"]; + }; + "/users/{username}/starred": { + /** + * List repositories starred by a user + * @description Lists repositories a user has starred. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. + */ + get: operations["activity/list-repos-starred-by-user"]; + }; + "/users/{username}/subscriptions": { + /** + * List repositories watched by a user + * @description Lists repositories a user is watching. + */ + get: operations["activity/list-repos-watched-by-user"]; + }; + "/versions": { + /** + * Get all API versions + * @description Get all supported GitHub API versions. + */ + get: operations["meta/get-all-versions"]; + }; + "/zen": { + /** + * Get the Zen of GitHub + * @description Get a random sentence from the Zen of GitHub + */ + get: operations["meta/get-zen"]; + }; + "/repos/{owner}/{repo}/compare/{base}...{head}": { + /** + * Compare two commits + * @description **Deprecated**: Use `repos.compareCommitsWithBasehead()` (`GET /repos/{owner}/{repo}/compare/{basehead}`) instead. Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`. + * + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." + * + * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["repos/compare-commits"]; + }; + "/orgs/{org}/organization-fine-grained-permissions": { + /** + * List organization fine-grained permissions for an organization + * @description Lists the fine-grained permissions that can be used in custom organization roles for an organization. For more information, see "[Managing people's access to your organization with roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles)." + * + * To list the fine-grained permissions that can be used in custom repository roles for an organization, see "[List repository fine-grained permissions for an organization](https://docs.github.com/rest/orgs/organization-roles#list-repository-fine-grained-permissions-for-an-organization)." + * + * To use this endpoint, the authenticated user must be one of: + * + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permissions of `read_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + get: operations["orgs/list-organization-fine-grained-permissions"]; + }; +} + +export type webhooks = Record; + +export interface components { + schemas: { + root: { + /** Format: uri-template */ + current_user_url: string; + /** Format: uri-template */ + current_user_authorizations_html_url: string; + /** Format: uri-template */ + authorizations_url: string; + /** Format: uri-template */ + code_search_url: string; + /** Format: uri-template */ + commit_search_url: string; + /** Format: uri-template */ + emails_url: string; + /** Format: uri-template */ + emojis_url: string; + /** Format: uri-template */ + events_url: string; + /** Format: uri-template */ + feeds_url: string; + /** Format: uri-template */ + followers_url: string; + /** Format: uri-template */ + following_url: string; + /** Format: uri-template */ + gists_url: string; + /** + * Format: uri-template + * @deprecated + */ + hub_url?: string; + /** Format: uri-template */ + issue_search_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + label_search_url: string; + /** Format: uri-template */ + notifications_url: string; + /** Format: uri-template */ + organization_url: string; + /** Format: uri-template */ + organization_repositories_url: string; + /** Format: uri-template */ + organization_teams_url: string; + /** Format: uri-template */ + public_gists_url: string; + /** Format: uri-template */ + rate_limit_url: string; + /** Format: uri-template */ + repository_url: string; + /** Format: uri-template */ + repository_search_url: string; + /** Format: uri-template */ + current_user_repositories_url: string; + /** Format: uri-template */ + starred_url: string; + /** Format: uri-template */ + starred_gists_url: string; + /** Format: uri-template */ + topic_search_url?: string; + /** Format: uri-template */ + user_url: string; + /** Format: uri-template */ + user_organizations_url: string; + /** Format: uri-template */ + user_repositories_url: string; + /** Format: uri-template */ + user_search_url: string; + }; + /** + * @description The package's language or package management ecosystem. + * @enum {string} + */ + "security-advisory-ecosystems": + | "rubygems" + | "npm" + | "pip" + | "maven" + | "nuget" + | "composer" + | "go" + | "rust" + | "erlang" + | "actions" + | "pub" + | "other" + | "swift"; + /** @description A vulnerability describing the product and its affected versions within a GitHub Security Advisory. */ + vulnerability: { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name: string | null; + } | null; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range: string | null; + /** @description The package version that resolves the vulnerability. */ + first_patched_version: string | null; + /** @description The functions in the package that are affected by the vulnerability. */ + vulnerable_functions: readonly string[] | null; + }; + "cvss-severities": { + cvss_v3?: { + /** @description The CVSS 3 vector string. */ + vector_string: string | null; + /** @description The CVSS 3 score. */ + score: number | null; + } | null; + cvss_v4?: { + /** @description The CVSS 4 vector string. */ + vector_string: string | null; + /** @description The CVSS 4 score. */ + score: number | null; + } | null; + } | null; + /** @description The EPSS scores as calculated by the [Exploit Prediction Scoring System](https://www.first.org/epss). */ + readonly "security-advisory-epss": { + readonly percentage?: number; + readonly percentile?: number; + } | null; + /** + * Simple User + * @description A GitHub user. + */ + "simple-user": { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** + * Format: int64 + * @example 1 + */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + /** @example public */ + user_view_type?: string; + }; + /** + * @description The type of credit the user is receiving. + * @enum {string} + */ + "security-advisory-credit-types": + | "analyst" + | "finder" + | "reporter" + | "coordinator" + | "remediation_developer" + | "remediation_reviewer" + | "remediation_verifier" + | "tool" + | "sponsor" + | "other"; + /** @description A GitHub Security Advisory. */ + "global-advisory": { + /** @description The GitHub Security Advisory ID. */ + ghsa_id: string; + /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ + cve_id: string | null; + /** @description The API URL for the advisory. */ + url: string; + /** + * Format: uri + * @description The URL for the advisory. + */ + html_url: string; + /** + * Format: uri + * @description The API URL for the repository advisory. + */ + repository_advisory_url: string | null; + /** @description A short summary of the advisory. */ + summary: string; + /** @description A detailed description of what the advisory entails. */ + description: string | null; + /** + * @description The type of advisory. + * @enum {string} + */ + type: "reviewed" | "unreviewed" | "malware"; + /** + * @description The severity of the advisory. + * @enum {string} + */ + severity: "critical" | "high" | "medium" | "low" | "unknown"; + /** + * Format: uri + * @description The URL of the advisory's source code. + */ + source_code_location: string | null; + identifiers: + | readonly { + /** + * @description The type of identifier. + * @enum {string} + */ + type: "CVE" | "GHSA"; + /** @description The identifier value. */ + value: string; + }[] + | null; + references: string[] | null; + /** + * Format: date-time + * @description The date and time of when the advisory was published, in ISO 8601 format. + */ + published_at: string; + /** + * Format: date-time + * @description The date and time of when the advisory was last updated, in ISO 8601 format. + */ + updated_at: string; + /** + * Format: date-time + * @description The date and time of when the advisory was reviewed by GitHub, in ISO 8601 format. + */ + github_reviewed_at: string | null; + /** + * Format: date-time + * @description The date and time when the advisory was published in the National Vulnerability Database, in ISO 8601 format. + * This field is only populated when the advisory is imported from the National Vulnerability Database. + */ + nvd_published_at: string | null; + /** + * Format: date-time + * @description The date and time of when the advisory was withdrawn, in ISO 8601 format. + */ + withdrawn_at: string | null; + /** @description The products and respective version ranges affected by the advisory. */ + vulnerabilities: components["schemas"]["vulnerability"][] | null; + cvss: { + /** @description The CVSS vector. */ + vector_string: string | null; + /** @description The CVSS score. */ + score: number | null; + } | null; + cvss_severities?: components["schemas"]["cvss-severities"]; + epss?: components["schemas"]["security-advisory-epss"]; + cwes: + | { + /** @description The Common Weakness Enumeration (CWE) identifier. */ + cwe_id: string; + /** @description The name of the CWE. */ + name: string; + }[] + | null; + /** @description The users who contributed to the advisory. */ + credits: + | readonly { + user: components["schemas"]["simple-user"]; + type: components["schemas"]["security-advisory-credit-types"]; + }[] + | null; + }; + /** + * Basic Error + * @description Basic Error + */ + "basic-error": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + /** + * Validation Error Simple + * @description Validation Error Simple + */ + "validation-error-simple": { + message: string; + documentation_url: string; + errors?: string[]; + }; + /** + * Enterprise + * @description An enterprise on GitHub. + */ + enterprise: { + /** @description A short description of the enterprise. */ + description?: string | null; + /** + * Format: uri + * @example https://github.com/enterprises/octo-business + */ + html_url: string; + /** + * Format: uri + * @description The enterprise's website URL. + */ + website_url?: string | null; + /** + * @description Unique identifier of the enterprise + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the enterprise. + * @example Octo Business + */ + name: string; + /** + * @description The slug url identifier for the enterprise. + * @example octo-business + */ + slug: string; + /** + * Format: date-time + * @example 2019-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2019-01-26T19:14:43Z + */ + updated_at: string | null; + /** Format: uri */ + avatar_url: string; + }; + /** + * GitHub app + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + integration: { + /** + * @description Unique identifier of the GitHub app + * @example 37 + */ + id: number; + /** + * @description The slug name of the GitHub app + * @example probot-owners + */ + slug?: string; + /** @example MDExOkludGVncmF0aW9uMQ== */ + node_id: string; + /** @example "Iv1.25b5d1e65ffc4022" */ + client_id?: string; + owner: + | components["schemas"]["simple-user"] + | components["schemas"]["enterprise"]; + /** + * @description The name of the GitHub app + * @example Probot Owners + */ + name: string; + /** @example The description of the app. */ + description: string | null; + /** + * Format: uri + * @example https://example.com + */ + external_url: string; + /** + * Format: uri + * @example https://github.com/apps/super-ci + */ + html_url: string; + /** + * Format: date-time + * @example 2017-07-08T16:18:44-04:00 + */ + created_at: string; + /** + * Format: date-time + * @example 2017-07-08T16:18:44-04:00 + */ + updated_at: string; + /** + * @description The set of permissions for the GitHub app + * @example { + * "issues": "read", + * "deployments": "write" + * } + */ + permissions: { + issues?: string; + checks?: string; + metadata?: string; + contents?: string; + deployments?: string; + [key: string]: string | undefined; + }; + /** + * @description The list of events for the GitHub app + * @example [ + * "label", + * "deployment" + * ] + */ + events: string[]; + /** + * @description The number of installations associated with the GitHub app + * @example 5 + */ + installations_count?: number; + /** @example "1d4b2097ac622ba702d19de498f005747a8b21d3" */ + client_secret?: string; + /** @example "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b" */ + webhook_secret?: string | null; + /** @example "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\n-----END RSA PRIVATE KEY-----\n" */ + pem?: string; + } | null; + /** + * Format: uri + * @description The URL to which the payloads will be delivered. + * @example https://example.com/webhook + */ + "webhook-config-url": string; + /** + * @description The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. + * @example "json" + */ + "webhook-config-content-type": string; + /** + * @description If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/webhooks/event-payloads/#delivery-headers). + * @example "********" + */ + "webhook-config-secret": string; + "webhook-config-insecure-ssl": string | number; + /** + * Webhook Configuration + * @description Configuration object of the webhook + */ + "webhook-config": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + /** + * Simple webhook delivery + * @description Delivery made by a webhook, without request and response information. + */ + "hook-delivery-item": { + /** + * Format: int64 + * @description Unique identifier of the webhook delivery. + * @example 42 + */ + id: number; + /** + * @description Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). + * @example 58474f00-b361-11eb-836d-0e4f3503ccbe + */ + guid: string; + /** + * Format: date-time + * @description Time when the webhook delivery occurred. + * @example 2021-05-12T20:33:44Z + */ + delivered_at: string; + /** + * @description Whether the webhook delivery is a redelivery. + * @example false + */ + redelivery: boolean; + /** + * @description Time spent delivering. + * @example 0.03 + */ + duration: number; + /** + * @description Describes the response returned after attempting the delivery. + * @example failed to connect + */ + status: string; + /** + * @description Status code received when delivery was made. + * @example 502 + */ + status_code: number; + /** + * @description The event that triggered the delivery. + * @example issues + */ + event: string; + /** + * @description The type of activity for the event that triggered the delivery. + * @example opened + */ + action: string | null; + /** + * Format: int64 + * @description The id of the GitHub App installation associated with this event. + * @example 123 + */ + installation_id: number | null; + /** + * Format: int64 + * @description The id of the repository associated with this event. + * @example 123 + */ + repository_id: number | null; + /** + * Format: date-time + * @description Time when the webhook delivery was throttled. + * @example 2021-05-12T20:33:44Z + */ + throttled_at?: string | null; + }; + /** + * Scim Error + * @description Scim Error + */ + "scim-error": { + message?: string | null; + documentation_url?: string | null; + detail?: string | null; + status?: number; + scimType?: string | null; + schemas?: string[]; + }; + /** + * Validation Error + * @description Validation Error + */ + "validation-error": { + message: string; + documentation_url: string; + errors?: { + resource?: string; + field?: string; + message?: string; + code: string; + index?: number; + value?: (string | null) | (number | null) | (string[] | null); + }[]; + }; + /** + * Webhook delivery + * @description Delivery made by a webhook. + */ + "hook-delivery": { + /** + * @description Unique identifier of the delivery. + * @example 42 + */ + id: number; + /** + * @description Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). + * @example 58474f00-b361-11eb-836d-0e4f3503ccbe + */ + guid: string; + /** + * Format: date-time + * @description Time when the delivery was delivered. + * @example 2021-05-12T20:33:44Z + */ + delivered_at: string; + /** + * @description Whether the delivery is a redelivery. + * @example false + */ + redelivery: boolean; + /** + * @description Time spent delivering. + * @example 0.03 + */ + duration: number; + /** + * @description Description of the status of the attempted delivery + * @example failed to connect + */ + status: string; + /** + * @description Status code received when delivery was made. + * @example 502 + */ + status_code: number; + /** + * @description The event that triggered the delivery. + * @example issues + */ + event: string; + /** + * @description The type of activity for the event that triggered the delivery. + * @example opened + */ + action: string | null; + /** + * @description The id of the GitHub App installation associated with this event. + * @example 123 + */ + installation_id: number | null; + /** + * @description The id of the repository associated with this event. + * @example 123 + */ + repository_id: number | null; + /** + * Format: date-time + * @description Time when the webhook delivery was throttled. + * @example 2021-05-12T20:33:44Z + */ + throttled_at?: string | null; + /** + * @description The URL target of the delivery. + * @example https://www.example.com + */ + url?: string; + request: { + /** @description The request headers sent with the webhook delivery. */ + headers: { + [key: string]: unknown; + } | null; + /** @description The webhook payload. */ + payload: { + [key: string]: unknown; + } | null; + }; + response: { + /** @description The response headers received when the delivery was made. */ + headers: { + [key: string]: unknown; + } | null; + /** @description The response payload received. */ + payload: string | null; + }; + }; + /** + * Integration Installation Request + * @description Request to install an integration on a target + */ + "integration-installation-request": { + /** + * @description Unique identifier of the request installation. + * @example 42 + */ + id: number; + /** @example MDExOkludGVncmF0aW9uMQ== */ + node_id?: string; + account: + | components["schemas"]["simple-user"] + | components["schemas"]["enterprise"]; + requester: components["schemas"]["simple-user"]; + /** + * Format: date-time + * @example 2022-07-08T16:18:44-04:00 + */ + created_at: string; + }; + /** + * App Permissions + * @description The permissions granted to the user access token. + * @example { + * "contents": "read", + * "issues": "read", + * "deployments": "write", + * "single_file": "read" + * } + */ + "app-permissions": { + /** + * @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + * @enum {string} + */ + actions?: "read" | "write"; + /** + * @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + * @enum {string} + */ + administration?: "read" | "write"; + /** + * @description The level of permission to grant the access token for checks on code. + * @enum {string} + */ + checks?: "read" | "write"; + /** + * @description The level of permission to grant the access token to create, edit, delete, and list Codespaces. + * @enum {string} + */ + codespaces?: "read" | "write"; + /** + * @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + * @enum {string} + */ + contents?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage Dependabot secrets. + * @enum {string} + */ + dependabot_secrets?: "read" | "write"; + /** + * @description The level of permission to grant the access token for deployments and deployment statuses. + * @enum {string} + */ + deployments?: "read" | "write"; + /** + * @description The level of permission to grant the access token for managing repository environments. + * @enum {string} + */ + environments?: "read" | "write"; + /** + * @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + * @enum {string} + */ + issues?: "read" | "write"; + /** + * @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + * @enum {string} + */ + metadata?: "read" | "write"; + /** + * @description The level of permission to grant the access token for packages published to GitHub Packages. + * @enum {string} + */ + packages?: "read" | "write"; + /** + * @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + * @enum {string} + */ + pages?: "read" | "write"; + /** + * @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + * @enum {string} + */ + pull_requests?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and edit custom properties for a repository, when allowed by the property. + * @enum {string} + */ + repository_custom_properties?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + * @enum {string} + */ + repository_hooks?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage repository projects, columns, and cards. + * @enum {string} + */ + repository_projects?: "read" | "write" | "admin"; + /** + * @description The level of permission to grant the access token to view and manage secret scanning alerts. + * @enum {string} + */ + secret_scanning_alerts?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage repository secrets. + * @enum {string} + */ + secrets?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + * @enum {string} + */ + security_events?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage just a single file. + * @enum {string} + */ + single_file?: "read" | "write"; + /** + * @description The level of permission to grant the access token for commit statuses. + * @enum {string} + */ + statuses?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage Dependabot alerts. + * @enum {string} + */ + vulnerability_alerts?: "read" | "write"; + /** + * @description The level of permission to grant the access token to update GitHub Actions workflow files. + * @enum {string} + */ + workflows?: "write"; + /** + * @description The level of permission to grant the access token for organization teams and members. + * @enum {string} + */ + members?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage access to an organization. + * @enum {string} + */ + organization_administration?: "read" | "write"; + /** + * @description The level of permission to grant the access token for custom repository roles management. + * @enum {string} + */ + organization_custom_roles?: "read" | "write"; + /** + * @description The level of permission to grant the access token for custom organization roles management. + * @enum {string} + */ + organization_custom_org_roles?: "read" | "write"; + /** + * @description The level of permission to grant the access token for custom property management. + * @enum {string} + */ + organization_custom_properties?: "read" | "write" | "admin"; + /** + * @description The level of permission to grant the access token for managing access to GitHub Copilot for members of an organization with a Copilot Business subscription. This property is in public preview and is subject to change. + * @enum {string} + */ + organization_copilot_seat_management?: "write"; + /** + * @description The level of permission to grant the access token to view and manage announcement banners for an organization. + * @enum {string} + */ + organization_announcement_banners?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view events triggered by an activity in an organization. + * @enum {string} + */ + organization_events?: "read"; + /** + * @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + * @enum {string} + */ + organization_hooks?: "read" | "write"; + /** + * @description The level of permission to grant the access token for viewing and managing fine-grained personal access token requests to an organization. + * @enum {string} + */ + organization_personal_access_tokens?: "read" | "write"; + /** + * @description The level of permission to grant the access token for viewing and managing fine-grained personal access tokens that have been approved by an organization. + * @enum {string} + */ + organization_personal_access_token_requests?: "read" | "write"; + /** + * @description The level of permission to grant the access token for viewing an organization's plan. + * @enum {string} + */ + organization_plan?: "read"; + /** + * @description The level of permission to grant the access token to manage organization projects and projects public preview (where available). + * @enum {string} + */ + organization_projects?: "read" | "write" | "admin"; + /** + * @description The level of permission to grant the access token for organization packages published to GitHub Packages. + * @enum {string} + */ + organization_packages?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage organization secrets. + * @enum {string} + */ + organization_secrets?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + * @enum {string} + */ + organization_self_hosted_runners?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage users blocked by the organization. + * @enum {string} + */ + organization_user_blocking?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage team discussions and related comments. + * @enum {string} + */ + team_discussions?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the email addresses belonging to a user. + * @enum {string} + */ + email_addresses?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the followers belonging to a user. + * @enum {string} + */ + followers?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage git SSH keys. + * @enum {string} + */ + git_ssh_keys?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage GPG keys belonging to a user. + * @enum {string} + */ + gpg_keys?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage interaction limits on a repository. + * @enum {string} + */ + interaction_limits?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the profile settings belonging to a user. + * @enum {string} + */ + profile?: "write"; + /** + * @description The level of permission to grant the access token to list and manage repositories a user is starring. + * @enum {string} + */ + starring?: "read" | "write"; + }; + /** + * Simple User + * @description A GitHub user. + */ + "nullable-simple-user": { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** + * Format: int64 + * @example 1 + */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + /** @example public */ + user_view_type?: string; + } | null; + /** + * Installation + * @description Installation + */ + installation: { + /** + * @description The ID of the installation. + * @example 1 + */ + id: number; + account: + | ( + | components["schemas"]["simple-user"] + | components["schemas"]["enterprise"] + ) + | null; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + repository_selection: "all" | "selected"; + /** + * Format: uri + * @example https://api.github.com/app/installations/1/access_tokens + */ + access_tokens_url: string; + /** + * Format: uri + * @example https://api.github.com/installation/repositories + */ + repositories_url: string; + /** + * Format: uri + * @example https://github.com/organizations/github/settings/installations/1 + */ + html_url: string; + /** @example 1 */ + app_id: number; + /** @description The ID of the user or organization this token is being scoped to. */ + target_id: number; + /** @example Organization */ + target_type: string; + permissions: components["schemas"]["app-permissions"]; + events: string[]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** + * @example [ + * "config.yml", + * ".github/issue_TEMPLATE.md" + * ] + */ + single_file_paths?: string[]; + /** @example github-actions */ + app_slug: string; + suspended_by: components["schemas"]["nullable-simple-user"]; + /** Format: date-time */ + suspended_at: string | null; + /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ + contact_email?: string | null; + }; + /** + * License Simple + * @description License Simple + */ + "nullable-license-simple": { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** + * Format: uri + * @example https://api.github.com/licenses/mit + */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** + * Repository + * @description A repository on GitHub. + */ + repository: { + /** + * Format: int64 + * @description Unique identifier of the repository + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + license: components["schemas"]["nullable-license-simple"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + owner: components["schemas"]["simple-user"]; + /** + * @description Whether the repository is private or public. + * @default false + */ + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** + * @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. + * @example 108 + */ + size: number; + /** + * @description The default branch of the repository. + * @example master + */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ + is_template?: boolean; + topics?: string[]; + /** + * @description Whether issues are enabled. + * @default true + * @example true + */ + has_issues: boolean; + /** + * @description Whether projects are enabled. + * @default true + * @example true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + * @example true + */ + has_wiki: boolean; + has_pages: boolean; + /** + * @deprecated + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; + /** + * @description Whether discussions are enabled. + * @default false + * @example true + */ + has_discussions?: boolean; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @default public + */ + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string | null; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_merge?: boolean; + temp_clone_token?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge?: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ + delete_branch_on_merge?: boolean; + /** + * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + * @default false + * @example false + */ + allow_update_branch?: boolean; + /** + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit?: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + */ + web_commit_signoff_required?: boolean; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + }; + /** + * Installation Token + * @description Authentication token for a GitHub App installed on a user or org. + */ + "installation-token": { + token: string; + expires_at: string; + permissions?: components["schemas"]["app-permissions"]; + /** @enum {string} */ + repository_selection?: "all" | "selected"; + repositories?: components["schemas"]["repository"][]; + /** @example README.md */ + single_file?: string; + /** @example true */ + has_multiple_single_files?: boolean; + /** + * @example [ + * "config.yml", + * ".github/issue_TEMPLATE.md" + * ] + */ + single_file_paths?: string[]; + }; + /** Scoped Installation */ + "nullable-scoped-installation": { + permissions: components["schemas"]["app-permissions"]; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + repository_selection: "all" | "selected"; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** + * @example [ + * "config.yml", + * ".github/issue_TEMPLATE.md" + * ] + */ + single_file_paths?: string[]; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repositories_url: string; + account: components["schemas"]["simple-user"]; + } | null; + /** + * Authorization + * @description The authorization for an OAuth app, GitHub App, or a Personal Access Token. + */ + authorization: { + /** Format: int64 */ + id: number; + /** Format: uri */ + url: string; + /** @description A list of scopes that this authorization is in. */ + scopes: string[] | null; + token: string; + token_last_eight: string | null; + hashed_token: string | null; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + note: string | null; + /** Format: uri */ + note_url: string | null; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + created_at: string; + fingerprint: string | null; + user?: components["schemas"]["nullable-simple-user"]; + installation?: components["schemas"]["nullable-scoped-installation"]; + /** Format: date-time */ + expires_at: string | null; + }; + /** + * Simple Classroom Repository + * @description A GitHub repository view for Classroom + */ + "simple-classroom-repository": { + /** + * @description A unique identifier of the repository. + * @example 1296269 + */ + id: number; + /** + * @description The full, globally unique name of the repository. + * @example octocat/Hello-World + */ + full_name: string; + /** + * Format: uri + * @description The URL to view the repository on GitHub.com. + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** + * @description The GraphQL identifier of the repository. + * @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 + */ + node_id: string; + /** @description Whether the repository is private. */ + private: boolean; + /** + * @description The default branch for the repository. + * @example main + */ + default_branch: string; + }; + /** + * Organization Simple for Classroom + * @description A GitHub organization. + */ + "simple-classroom-organization": { + /** @example 1 */ + id: number; + /** @example github */ + login: string; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/github + */ + html_url: string; + /** @example Github - Code thigns happen here */ + name: string | null; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + }; + /** + * Classroom + * @description A GitHub Classroom classroom + */ + classroom: { + /** + * @description Unique identifier of the classroom. + * @example 42 + */ + id: number; + /** + * @description The name of the classroom. + * @example Programming Elixir + */ + name: string; + /** + * @description Whether classroom is archived. + * @example false + */ + archived: boolean; + organization: components["schemas"]["simple-classroom-organization"]; + /** + * @description The URL of the classroom on GitHub Classroom. + * @example https://classroom.github.com/classrooms/1-programming-elixir + */ + url: string; + }; + /** + * Classroom Assignment + * @description A GitHub Classroom assignment + */ + "classroom-assignment": { + /** + * @description Unique identifier of the repository. + * @example 42 + */ + id: number; + /** + * @description Whether an accepted assignment creates a public repository. + * @example true + */ + public_repo: boolean; + /** + * @description Assignment title. + * @example Intro to Binaries + */ + title: string; + /** + * @description Whether it's a group assignment or individual assignment. + * @example individual + * @enum {string} + */ + type: "individual" | "group"; + /** + * @description The link that a student can use to accept the assignment. + * @example https://classroom.github.com/a/Lx7jiUgx + */ + invite_link: string; + /** + * @description Whether the invitation link is enabled. Visiting an enabled invitation link will accept the assignment. + * @example true + */ + invitations_enabled: boolean; + /** + * @description Sluggified name of the assignment. + * @example intro-to-binaries + */ + slug: string; + /** + * @description Whether students are admins on created repository when a student accepts the assignment. + * @example true + */ + students_are_repo_admins: boolean; + /** + * @description Whether feedback pull request will be created when a student accepts the assignment. + * @example true + */ + feedback_pull_requests_enabled: boolean; + /** + * @description The maximum allowable teams for the assignment. + * @example 0 + */ + max_teams: number | null; + /** + * @description The maximum allowable members per team. + * @example 0 + */ + max_members: number | null; + /** + * @description The selected editor for the assignment. + * @example codespaces + */ + editor: string; + /** + * @description The number of students that have accepted the assignment. + * @example 25 + */ + accepted: number; + /** + * @description The number of students that have submitted the assignment. + * @example 10 + */ + submitted: number; + /** + * @description The number of students that have passed the assignment. + * @example 10 + */ + passing: number; + /** + * @description The programming language used in the assignment. + * @example elixir + */ + language: string; + /** + * Format: date-time + * @description The time at which the assignment is due. + * @example 2011-01-26T19:06:43Z + */ + deadline: string | null; + starter_code_repository: components["schemas"]["simple-classroom-repository"]; + classroom: components["schemas"]["classroom"]; + }; + /** + * Simple Classroom User + * @description A GitHub user simplified for Classroom. + */ + "simple-classroom-user": { + /** @example 1 */ + id: number; + /** @example octocat */ + login: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + }; + /** + * Simple Classroom + * @description A GitHub Classroom classroom + */ + "simple-classroom": { + /** + * @description Unique identifier of the classroom. + * @example 42 + */ + id: number; + /** + * @description The name of the classroom. + * @example Programming Elixir + */ + name: string; + /** + * @description Returns whether classroom is archived or not. + * @example false + */ + archived: boolean; + /** + * @description The url of the classroom on GitHub Classroom. + * @example https://classroom.github.com/classrooms/1-programming-elixir + */ + url: string; + }; + /** + * Simple Classroom Assignment + * @description A GitHub Classroom assignment + */ + "simple-classroom-assignment": { + /** + * @description Unique identifier of the repository. + * @example 42 + */ + id: number; + /** + * @description Whether an accepted assignment creates a public repository. + * @example true + */ + public_repo: boolean; + /** + * @description Assignment title. + * @example Intro to Binaries + */ + title: string; + /** + * @description Whether it's a Group Assignment or Individual Assignment. + * @example individual + * @enum {string} + */ + type: "individual" | "group"; + /** + * @description The link that a student can use to accept the assignment. + * @example https://classroom.github.com/a/Lx7jiUgx + */ + invite_link: string; + /** + * @description Whether the invitation link is enabled. Visiting an enabled invitation link will accept the assignment. + * @example true + */ + invitations_enabled: boolean; + /** + * @description Sluggified name of the assignment. + * @example intro-to-binaries + */ + slug: string; + /** + * @description Whether students are admins on created repository on accepted assignment. + * @example true + */ + students_are_repo_admins: boolean; + /** + * @description Whether feedback pull request will be created on assignment acceptance. + * @example true + */ + feedback_pull_requests_enabled: boolean; + /** + * @description The maximum allowable teams for the assignment. + * @example 0 + */ + max_teams?: number | null; + /** + * @description The maximum allowable members per team. + * @example 0 + */ + max_members?: number | null; + /** + * @description The selected editor for the assignment. + * @example codespaces + */ + editor: string; + /** + * @description The number of students that have accepted the assignment. + * @example 25 + */ + accepted: number; + /** + * @description The number of students that have submitted the assignment. + * @example 10 + */ + submitted: number; + /** + * @description The number of students that have passed the assignment. + * @example 10 + */ + passing: number; + /** + * @description The programming language used in the assignment. + * @example elixir + */ + language: string; + /** + * Format: date-time + * @description The time at which the assignment is due. + * @example 2011-01-26T19:06:43Z + */ + deadline: string | null; + classroom: components["schemas"]["simple-classroom"]; + }; + /** + * Classroom Accepted Assignment + * @description A GitHub Classroom accepted assignment + */ + "classroom-accepted-assignment": { + /** + * @description Unique identifier of the repository. + * @example 42 + */ + id: number; + /** + * @description Whether an accepted assignment has been submitted. + * @example true + */ + submitted: boolean; + /** + * @description Whether a submission passed. + * @example true + */ + passing: boolean; + /** + * @description Count of student commits. + * @example 5 + */ + commit_count: number; + /** + * @description Most recent grade. + * @example 10/10 + */ + grade: string; + students: components["schemas"]["simple-classroom-user"][]; + repository: components["schemas"]["simple-classroom-repository"]; + assignment: components["schemas"]["simple-classroom-assignment"]; + }; + /** + * Classroom Assignment Grade + * @description Grade for a student or groups GitHub Classroom assignment + */ + "classroom-assignment-grade": { + /** @description Name of the assignment */ + assignment_name: string; + /** @description URL of the assignment */ + assignment_url: string; + /** @description URL of the starter code for the assignment */ + starter_code_url: string; + /** @description GitHub username of the student */ + github_username: string; + /** @description Roster identifier of the student */ + roster_identifier: string; + /** @description Name of the student's assignment repository */ + student_repository_name: string; + /** @description URL of the student's assignment repository */ + student_repository_url: string; + /** @description Timestamp of the student's assignment submission */ + submission_timestamp: string; + /** @description Number of points awarded to the student */ + points_awarded: number; + /** @description Number of points available for the assignment */ + points_available: number; + /** @description If a group assignment, name of the group the student is in */ + group_name?: string; + }; + /** + * Code Of Conduct + * @description Code Of Conduct + */ + "code-of-conduct": { + /** @example contributor_covenant */ + key: string; + /** @example Contributor Covenant */ + name: string; + /** + * Format: uri + * @example https://api.github.com/codes_of_conduct/contributor_covenant + */ + url: string; + /** + * @example # Contributor Covenant Code of Conduct + * + * ## Our Pledge + * + * In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + * + * ## Our Standards + * + * Examples of behavior that contributes to creating a positive environment include: + * + * * Using welcoming and inclusive language + * * Being respectful of differing viewpoints and experiences + * * Gracefully accepting constructive criticism + * * Focusing on what is best for the community + * * Showing empathy towards other community members + * + * Examples of unacceptable behavior by participants include: + * + * * The use of sexualized language or imagery and unwelcome sexual attention or advances + * * Trolling, insulting/derogatory comments, and personal or political attacks + * * Public or private harassment + * * Publishing others' private information, such as a physical or electronic address, without explicit permission + * * Other conduct which could reasonably be considered inappropriate in a professional setting + * + * ## Our Responsibilities + * + * Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response + * to any instances of unacceptable behavior. + * + * Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + * + * ## Scope + * + * This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, + * posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + * + * ## Enforcement + * + * Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + * + * Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + * + * ## Attribution + * + * This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.4, available at [http://contributor-covenant.org/version/1/4](http://contributor-covenant.org/version/1/4/). + */ + body?: string; + /** Format: uri */ + html_url: string | null; + }; + /** @description A code security configuration */ + "code-security-configuration": { + /** @description The ID of the code security configuration */ + id?: number; + /** @description The name of the code security configuration. Must be unique within the organization. */ + name?: string; + /** + * @description The type of the code security configuration. + * @enum {string} + */ + target_type?: "global" | "organization" | "enterprise"; + /** @description A description of the code security configuration */ + description?: string; + /** + * @description The enablement status of GitHub Advanced Security + * @enum {string} + */ + advanced_security?: "enabled" | "disabled"; + /** + * @description The enablement status of Dependency Graph + * @enum {string} + */ + dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @enum {string} + */ + dependency_graph_autosubmit_action?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ + labeled_runners?: boolean; + }; + /** + * @description The enablement status of Dependabot alerts + * @enum {string} + */ + dependabot_alerts?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot security updates + * @enum {string} + */ + dependabot_security_updates?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of code scanning default setup + * @enum {string} + */ + code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for code scanning default setup */ + code_scanning_default_setup_options?: { + /** + * @description Whether to use labeled runners or standard GitHub runners. + * @enum {string|null} + */ + runner_type?: "standard" | "labeled" | "not_set" | null; + /** @description The label of the runner to use for code scanning when runner_type is 'labeled'. */ + runner_label?: string | null; + } | null; + /** + * @description The enablement status of code scanning delegated alert dismissal + * @enum {string} + */ + code_scanning_delegated_alert_dismissal?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of secret scanning + * @enum {string} + */ + secret_scanning?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning push protection + * @enum {string} + */ + secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated bypass + * @enum {string} + */ + secret_scanning_delegated_bypass?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for secret scanning delegated bypass */ + secret_scanning_delegated_bypass_options?: { + /** @description The bypass reviewers for secret scanning delegated bypass */ + reviewers?: { + /** @description The ID of the team or role selected as a bypass reviewer */ + reviewer_id: number; + /** + * @description The type of the bypass reviewer + * @enum {string} + */ + reviewer_type: "TEAM" | "ROLE"; + }[]; + }; + /** + * @description The enablement status of secret scanning validity checks + * @enum {string} + */ + secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non-provider patterns + * @enum {string} + */ + secret_scanning_non_provider_patterns?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of Copilot secret scanning + * @enum {string} + */ + secret_scanning_generic_secrets?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated alert dismissal + * @enum {string} + */ + secret_scanning_delegated_alert_dismissal?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of private vulnerability reporting + * @enum {string} + */ + private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; + /** + * @description The enforcement status for a security configuration + * @enum {string} + */ + enforcement?: "enforced" | "unenforced"; + /** + * Format: uri + * @description The URL of the configuration + */ + url?: string; + /** + * Format: uri + * @description The URL of the configuration + */ + html_url?: string; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + }; + /** @description Feature options for code scanning default setup */ + "code-scanning-default-setup-options": { + /** + * @description Whether to use labeled runners or standard GitHub runners. + * @enum {string} + */ + runner_type?: "standard" | "labeled" | "not_set"; + /** @description The label of the runner to use for code scanning default setup when runner_type is 'labeled'. */ + runner_label?: string | null; + } | null; + /** @description A list of default code security configurations */ + "code-security-default-configurations": { + /** + * @description The visibility of newly created repositories for which the code security configuration will be applied to by default + * @enum {unknown} + */ + default_for_new_repos?: "public" | "private_and_internal" | "all"; + configuration?: components["schemas"]["code-security-configuration"]; + }[]; + /** + * Simple Repository + * @description A GitHub repository. + */ + "simple-repository": { + /** + * Format: int64 + * @description A unique identifier of the repository. + * @example 1296269 + */ + id: number; + /** + * @description The GraphQL identifier of the repository. + * @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 + */ + node_id: string; + /** + * @description The name of the repository. + * @example Hello-World + */ + name: string; + /** + * @description The full, globally unique, name of the repository. + * @example octocat/Hello-World + */ + full_name: string; + owner: components["schemas"]["simple-user"]; + /** @description Whether the repository is private. */ + private: boolean; + /** + * Format: uri + * @description The URL to view the repository on GitHub.com. + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** + * @description The repository description. + * @example This your first repo! + */ + description: string | null; + /** @description Whether the repository is a fork. */ + fork: boolean; + /** + * Format: uri + * @description The URL to get more information about the repository from the GitHub API. + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** + * @description A template for the API URL to download the repository as an archive. + * @example https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + */ + archive_url: string; + /** + * @description A template for the API URL to list the available assignees for issues in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/assignees{/user} + */ + assignees_url: string; + /** + * @description A template for the API URL to create or retrieve a raw Git blob in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} + */ + blobs_url: string; + /** + * @description A template for the API URL to get information about branches in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/branches{/branch} + */ + branches_url: string; + /** + * @description A template for the API URL to get information about collaborators of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + */ + collaborators_url: string; + /** + * @description A template for the API URL to get information about comments on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/comments{/number} + */ + comments_url: string; + /** + * @description A template for the API URL to get information about commits on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/commits{/sha} + */ + commits_url: string; + /** + * @description A template for the API URL to compare two commits or refs. + * @example https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + */ + compare_url: string; + /** + * @description A template for the API URL to get the contents of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/contents/{+path} + */ + contents_url: string; + /** + * Format: uri + * @description A template for the API URL to list the contributors to the repository. + * @example https://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @description The API URL to list the deployments of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @description The API URL to list the downloads on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @description The API URL to list the events of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @description The API URL to list the forks of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** + * @description A template for the API URL to get information about Git commits of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/commits{/sha} + */ + git_commits_url: string; + /** + * @description A template for the API URL to get information about Git refs of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} + */ + git_refs_url: string; + /** + * @description A template for the API URL to get information about Git tags of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} + */ + git_tags_url: string; + /** + * @description A template for the API URL to get information about issue comments on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + */ + issue_comment_url: string; + /** + * @description A template for the API URL to get information about issue events on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/issues/events{/number} + */ + issue_events_url: string; + /** + * @description A template for the API URL to get information about issues on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/issues{/number} + */ + issues_url: string; + /** + * @description A template for the API URL to get information about deploy keys on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/keys{/key_id} + */ + keys_url: string; + /** + * @description A template for the API URL to get information about labels of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/labels{/name} + */ + labels_url: string; + /** + * Format: uri + * @description The API URL to get information about the languages of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @description The API URL to merge branches in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** + * @description A template for the API URL to get information about milestones of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/milestones{/number} + */ + milestones_url: string; + /** + * @description A template for the API URL to get information about notifications on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + */ + notifications_url: string; + /** + * @description A template for the API URL to get information about pull requests on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/pulls{/number} + */ + pulls_url: string; + /** + * @description A template for the API URL to get information about releases on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/releases{/id} + */ + releases_url: string; + /** + * Format: uri + * @description The API URL to list the stargazers on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** + * @description A template for the API URL to get information about statuses of a commit. + * @example https://api.github.com/repos/octocat/Hello-World/statuses/{sha} + */ + statuses_url: string; + /** + * Format: uri + * @description The API URL to list the subscribers on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @description The API URL to subscribe to notifications for this repository. + * @example https://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @description The API URL to get information about tags on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @description The API URL to list the teams on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** + * @description A template for the API URL to create or retrieve a raw Git tree of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/trees{/sha} + */ + trees_url: string; + /** + * Format: uri + * @description The API URL to list the hooks on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + }; + /** @description Repositories associated with a code security configuration and attachment status */ + "code-security-configuration-repositories": { + /** + * @description The attachment status of the code security configuration on the repository. + * @enum {string} + */ + status?: + | "attached" + | "attaching" + | "detached" + | "removed" + | "enforced" + | "failed" + | "updating" + | "removed_by_enterprise"; + repository?: components["schemas"]["simple-repository"]; + }; + /** @description The security alert number. */ + readonly "alert-number": number; + /** @description Details for the vulnerable package. */ + readonly "dependabot-alert-package": { + /** @description The package's language or package management ecosystem. */ + readonly ecosystem: string; + /** @description The unique package name within its ecosystem. */ + readonly name: string; + }; + /** @description Details pertaining to one vulnerable version range for the advisory. */ + readonly "dependabot-alert-security-vulnerability": { + readonly package: components["schemas"]["dependabot-alert-package"]; + /** + * @description The severity of the vulnerability. + * @enum {string} + */ + readonly severity: "low" | "medium" | "high" | "critical"; + /** @description Conditions that identify vulnerable versions of this vulnerability's package. */ + readonly vulnerable_version_range: string; + /** @description Details pertaining to the package version that patches this vulnerability. */ + readonly first_patched_version: { + /** @description The package version that patches this vulnerability. */ + readonly identifier: string; + } | null; + }; + /** @description Details for the GitHub Security Advisory. */ + readonly "dependabot-alert-security-advisory": { + /** @description The unique GitHub Security Advisory ID assigned to the advisory. */ + readonly ghsa_id: string; + /** @description The unique CVE ID assigned to the advisory. */ + readonly cve_id: string | null; + /** @description A short, plain text summary of the advisory. */ + readonly summary: string; + /** @description A long-form Markdown-supported description of the advisory. */ + readonly description: string; + /** @description Vulnerable version range information for the advisory. */ + readonly vulnerabilities: readonly components["schemas"]["dependabot-alert-security-vulnerability"][]; + /** + * @description The severity of the advisory. + * @enum {string} + */ + readonly severity: "low" | "medium" | "high" | "critical"; + /** @description Details for the advisory pertaining to the Common Vulnerability Scoring System. */ + readonly cvss: { + /** @description The overall CVSS score of the advisory. */ + readonly score: number; + /** @description The full CVSS vector string for the advisory. */ + readonly vector_string: string | null; + }; + readonly cvss_severities?: components["schemas"]["cvss-severities"]; + readonly epss?: components["schemas"]["security-advisory-epss"]; + /** @description Details for the advisory pertaining to Common Weakness Enumeration. */ + readonly cwes: readonly { + /** @description The unique CWE ID. */ + readonly cwe_id: string; + /** @description The short, plain text name of the CWE. */ + readonly name: string; + }[]; + /** @description Values that identify this advisory among security information sources. */ + readonly identifiers: readonly { + /** + * @description The type of advisory identifier. + * @enum {string} + */ + readonly type: "CVE" | "GHSA"; + /** @description The value of the advisory identifer. */ + readonly value: string; + }[]; + /** @description Links to additional advisory information. */ + readonly references: readonly { + /** + * Format: uri + * @description The URL of the reference. + */ + readonly url: string; + }[]; + /** + * Format: date-time + * @description The time that the advisory was published in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly published_at: string; + /** + * Format: date-time + * @description The time that the advisory was last modified in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly updated_at: string; + /** + * Format: date-time + * @description The time that the advisory was withdrawn in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly withdrawn_at: string | null; + }; + /** + * Format: uri + * @description The REST API URL of the alert resource. + */ + readonly "alert-url": string; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + readonly "alert-html-url": string; + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly "alert-created-at": string; + /** + * Format: date-time + * @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly "alert-updated-at": string; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly "alert-dismissed-at": string | null; + /** + * Format: date-time + * @description The time that the alert was no longer detected and was considered fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly "alert-fixed-at": string | null; + /** + * Format: date-time + * @description The time that the alert was auto-dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly "alert-auto-dismissed-at": string | null; + /** @description A Dependabot alert. */ + "dependabot-alert-with-repository": { + number: components["schemas"]["alert-number"]; + /** + * @description The state of the Dependabot alert. + * @enum {string} + */ + state: "auto_dismissed" | "dismissed" | "fixed" | "open"; + /** @description Details for the vulnerable dependency. */ + dependency: { + readonly package?: components["schemas"]["dependabot-alert-package"]; + /** @description The full path to the dependency manifest file, relative to the root of the repository. */ + readonly manifest_path?: string; + /** + * @description The execution scope of the vulnerable dependency. + * @enum {string|null} + */ + readonly scope?: "development" | "runtime" | null; + /** + * @description The vulnerable dependency's relationship to your project. + * + * > [!NOTE] + * > We are rolling out support for dependency relationship across ecosystems. This value will be "unknown" for all dependencies in unsupported ecosystems. + * + * @enum {string|null} + */ + readonly relationship?: "unknown" | "direct" | "transitive" | null; + }; + security_advisory: components["schemas"]["dependabot-alert-security-advisory"]; + security_vulnerability: components["schemas"]["dependabot-alert-security-vulnerability"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at: components["schemas"]["alert-updated-at"]; + dismissed_at: components["schemas"]["alert-dismissed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + /** + * @description The reason that the alert was dismissed. + * @enum {string|null} + */ + dismissed_reason: + | "fix_started" + | "inaccurate" + | "no_bandwidth" + | "not_used" + | "tolerable_risk" + | null; + /** @description An optional comment associated with the alert's dismissal. */ + dismissed_comment: string | null; + fixed_at: components["schemas"]["alert-fixed-at"]; + auto_dismissed_at?: components["schemas"]["alert-auto-dismissed-at"]; + repository: components["schemas"]["simple-repository"]; + }; + /** + * Format: date-time + * @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly "nullable-alert-updated-at": string | null; + /** + * @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. + * @enum {string} + */ + "secret-scanning-alert-state": "open" | "resolved"; + /** + * @description **Required when the `state` is `resolved`.** The reason for resolving the alert. + * @enum {string|null} + */ + "secret-scanning-alert-resolution": + | "false_positive" + | "wont_fix" + | "revoked" + | "used_in_tests" + | null; + "organization-secret-scanning-alert": { + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["nullable-alert-updated-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; + /** + * Format: uri + * @description The REST API URL of the code locations for this alert. + */ + locations_url?: string; + state?: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + /** + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + resolved_at?: string | null; + resolved_by?: components["schemas"]["nullable-simple-user"]; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** + * @description User-friendly name for the detected secret, matching the `secret_type`. + * For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." + */ + secret_type_display_name?: string; + /** @description The secret that was detected. */ + secret?: string; + repository?: components["schemas"]["simple-repository"]; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: boolean | null; + push_protection_bypassed_by?: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + push_protection_bypassed_at?: string | null; + push_protection_bypass_request_reviewer?: components["schemas"]["nullable-simple-user"]; + /** @description An optional comment when reviewing a push protection bypass. */ + push_protection_bypass_request_reviewer_comment?: string | null; + /** @description An optional comment when requesting a push protection bypass. */ + push_protection_bypass_request_comment?: string | null; + /** + * Format: uri + * @description The URL to a push protection bypass request. + */ + push_protection_bypass_request_html_url?: string | null; + /** @description The comment that was optionally added when this alert was closed */ + resolution_comment?: string | null; + /** + * @description The token status as of the latest validity check. + * @enum {string} + */ + validity?: "active" | "inactive" | "unknown"; + /** @description Whether the secret was publicly leaked. */ + publicly_leaked?: boolean | null; + /** @description Whether the detected secret was found in multiple repositories in the same organization or enterprise. */ + multi_repo?: boolean | null; + /** @description A boolean value representing whether or not alert is base64 encoded */ + is_base64_encoded?: boolean | null; + }; + /** + * Actor + * @description Actor + */ + actor: { + id: number; + login: string; + display_login?: string; + gravatar_id: string | null; + /** Format: uri */ + url: string; + /** Format: uri */ + avatar_url: string; + }; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + "nullable-milestone": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/milestones/1 + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/milestones/v1.0 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/milestones/1/labels + */ + labels_url: string; + /** @example 1002604 */ + id: number; + /** @example MDk6TWlsZXN0b25lMTAwMjYwNA== */ + node_id: string; + /** + * @description The number of the milestone. + * @example 42 + */ + number: number; + /** + * @description The state of the milestone. + * @default open + * @example open + * @enum {string} + */ + state: "open" | "closed"; + /** + * @description The title of the milestone. + * @example v1.0 + */ + title: string; + /** @example Tracking milestone for version 1.0 */ + description: string | null; + creator: components["schemas"]["nullable-simple-user"]; + /** @example 4 */ + open_issues: number; + /** @example 8 */ + closed_issues: number; + /** + * Format: date-time + * @example 2011-04-10T20:09:31Z + */ + created_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2013-02-12T13:22:01Z + */ + closed_at: string | null; + /** + * Format: date-time + * @example 2012-10-09T23:39:01Z + */ + due_on: string | null; + } | null; + /** + * Issue Type + * @description The type of issue. + */ + "issue-type": { + /** @description The unique identifier of the issue type. */ + id: number; + /** @description The node identifier of the issue type. */ + node_id: string; + /** @description The name of the issue type. */ + name: string; + /** @description The description of the issue type. */ + description: string | null; + /** + * @description The color of the issue type. + * @enum {string|null} + */ + color?: + | "gray" + | "blue" + | "green" + | "yellow" + | "orange" + | "red" + | "pink" + | "purple" + | null; + /** + * Format: date-time + * @description The time the issue type created. + */ + created_at?: string; + /** + * Format: date-time + * @description The time the issue type last updated. + */ + updated_at?: string; + /** @description The enabled state of the issue type. */ + is_enabled?: boolean; + } | null; + /** + * GitHub app + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + "nullable-integration": { + /** + * @description Unique identifier of the GitHub app + * @example 37 + */ + id: number; + /** + * @description The slug name of the GitHub app + * @example probot-owners + */ + slug?: string; + /** @example MDExOkludGVncmF0aW9uMQ== */ + node_id: string; + /** @example "Iv1.25b5d1e65ffc4022" */ + client_id?: string; + owner: + | components["schemas"]["simple-user"] + | components["schemas"]["enterprise"]; + /** + * @description The name of the GitHub app + * @example Probot Owners + */ + name: string; + /** @example The description of the app. */ + description: string | null; + /** + * Format: uri + * @example https://example.com + */ + external_url: string; + /** + * Format: uri + * @example https://github.com/apps/super-ci + */ + html_url: string; + /** + * Format: date-time + * @example 2017-07-08T16:18:44-04:00 + */ + created_at: string; + /** + * Format: date-time + * @example 2017-07-08T16:18:44-04:00 + */ + updated_at: string; + /** + * @description The set of permissions for the GitHub app + * @example { + * "issues": "read", + * "deployments": "write" + * } + */ + permissions: { + issues?: string; + checks?: string; + metadata?: string; + contents?: string; + deployments?: string; + [key: string]: string | undefined; + }; + /** + * @description The list of events for the GitHub app + * @example [ + * "label", + * "deployment" + * ] + */ + events: string[]; + /** + * @description The number of installations associated with the GitHub app + * @example 5 + */ + installations_count?: number; + /** @example "1d4b2097ac622ba702d19de498f005747a8b21d3" */ + client_secret?: string; + /** @example "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b" */ + webhook_secret?: string | null; + /** @example "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\n-----END RSA PRIVATE KEY-----\n" */ + pem?: string; + } | null; + /** + * author_association + * @description How the author is associated with the repository. + * @example OWNER + * @enum {string} + */ + "author-association": + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** Reaction Rollup */ + "reaction-rollup": { + /** Format: uri */ + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; + eyes: number; + rocket: number; + }; + /** Sub-issues Summary */ + "sub-issues-summary": { + total: number; + completed: number; + percent_completed: number; + }; + /** + * Issue + * @description Issues are a great way to keep track of tasks, enhancements, and bugs for your projects. + */ + issue: { + /** Format: int64 */ + id: number; + node_id: string; + /** + * Format: uri + * @description URL for the issue + * @example https://api.github.com/repositories/42/issues/1 + */ + url: string; + /** Format: uri */ + repository_url: string; + labels_url: string; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** + * @description Number uniquely identifying the issue within its repository + * @example 42 + */ + number: number; + /** + * @description State of the issue; either 'open' or 'closed' + * @example open + */ + state: string; + /** + * @description The reason for the current state + * @example not_planned + * @enum {string|null} + */ + state_reason?: "completed" | "reopened" | "not_planned" | null; + /** + * @description Title of the issue + * @example Widget creation fails in Safari on OS X 10.8 + */ + title: string; + /** + * @description Contents of the issue + * @example It looks like the new widget form is broken on Safari. When I try and create the widget, Safari crashes. This is reproducible on 10.8, but not 10.9. Maybe a browser bug? + */ + body?: string | null; + user: components["schemas"]["nullable-simple-user"]; + /** + * @description Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository + * @example [ + * "bug", + * "registration" + * ] + */ + labels: OneOf< + [ + string, + { + /** Format: int64 */ + id?: number; + node_id?: string; + /** Format: uri */ + url?: string; + name?: string; + description?: string | null; + color?: string | null; + default?: boolean; + }, + ] + >[]; + assignee: components["schemas"]["nullable-simple-user"]; + assignees?: components["schemas"]["simple-user"][] | null; + milestone: components["schemas"]["nullable-milestone"]; + locked: boolean; + active_lock_reason?: string | null; + comments: number; + pull_request?: { + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + diff_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + patch_url: string | null; + /** Format: uri */ + url: string | null; + }; + /** Format: date-time */ + closed_at: string | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + draft?: boolean; + closed_by?: components["schemas"]["nullable-simple-user"]; + body_html?: string; + body_text?: string; + /** Format: uri */ + timeline_url?: string; + type?: components["schemas"]["issue-type"]; + repository?: components["schemas"]["repository"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + author_association: components["schemas"]["author-association"]; + reactions?: components["schemas"]["reaction-rollup"]; + sub_issues_summary?: components["schemas"]["sub-issues-summary"]; + }; + /** + * Issue Comment + * @description Comments provide a way for people to collaborate on an issue. + */ + "issue-comment": { + /** + * Format: int64 + * @description Unique identifier of the issue comment + * @example 42 + */ + id: number; + node_id: string; + /** + * Format: uri + * @description URL for the issue comment + * @example https://api.github.com/repositories/42/issues/comments/1 + */ + url: string; + /** + * @description Contents of the issue comment + * @example What version of Safari were you using when you observed this bug? + */ + body?: string; + body_text?: string; + body_html?: string; + /** Format: uri */ + html_url: string; + user: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + updated_at: string; + /** Format: uri */ + issue_url: string; + author_association: components["schemas"]["author-association"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Event + * @description Event + */ + event: { + id: string; + type: string | null; + actor: components["schemas"]["actor"]; + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + org?: components["schemas"]["actor"]; + payload: { + action?: string; + issue?: components["schemas"]["issue"]; + comment?: components["schemas"]["issue-comment"]; + pages?: { + page_name?: string; + title?: string; + summary?: string | null; + action?: string; + sha?: string; + html_url?: string; + }[]; + }; + public: boolean; + /** Format: date-time */ + created_at: string | null; + }; + /** + * Link With Type + * @description Hypermedia Link with Type + */ + "link-with-type": { + href: string; + type: string; + }; + /** + * Feed + * @description Feed + */ + feed: { + /** @example https://github.com/timeline */ + timeline_url: string; + /** @example https://github.com/{user} */ + user_url: string; + /** @example https://github.com/octocat */ + current_user_public_url?: string; + /** @example https://github.com/octocat.private?token=abc123 */ + current_user_url?: string; + /** @example https://github.com/octocat.private.actor?token=abc123 */ + current_user_actor_url?: string; + /** @example https://github.com/octocat-org */ + current_user_organization_url?: string; + /** + * @example [ + * "https://github.com/organizations/github/octocat.private.atom?token=abc123" + * ] + */ + current_user_organization_urls?: string[]; + /** @example https://github.com/security-advisories */ + security_advisories_url?: string; + /** + * @description A feed of discussions for a given repository. + * @example https://github.com/{user}/{repo}/discussions + */ + repository_discussions_url?: string; + /** + * @description A feed of discussions for a given repository and category. + * @example https://github.com/{user}/{repo}/discussions/categories/{category} + */ + repository_discussions_category_url?: string; + _links: { + timeline: components["schemas"]["link-with-type"]; + user: components["schemas"]["link-with-type"]; + security_advisories?: components["schemas"]["link-with-type"]; + current_user?: components["schemas"]["link-with-type"]; + current_user_public?: components["schemas"]["link-with-type"]; + current_user_actor?: components["schemas"]["link-with-type"]; + current_user_organization?: components["schemas"]["link-with-type"]; + current_user_organizations?: components["schemas"]["link-with-type"][]; + repository_discussions?: components["schemas"]["link-with-type"]; + repository_discussions_category?: components["schemas"]["link-with-type"]; + }; + }; + /** + * Base Gist + * @description Base Gist + */ + "base-gist": { + /** Format: uri */ + url: string; + /** Format: uri */ + forks_url: string; + /** Format: uri */ + commits_url: string; + id: string; + node_id: string; + /** Format: uri */ + git_pull_url: string; + /** Format: uri */ + git_push_url: string; + /** Format: uri */ + html_url: string; + files: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + /** + * @description The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. + * @default utf-8 + */ + encoding?: string; + }; + }; + public: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + description: string | null; + comments: number; + comments_enabled?: boolean; + user: components["schemas"]["nullable-simple-user"]; + /** Format: uri */ + comments_url: string; + owner?: components["schemas"]["simple-user"]; + truncated?: boolean; + forks?: unknown[]; + history?: unknown[]; + }; + /** + * Public User + * @description Public User + */ + "public-user": { + login: string; + /** Format: int64 */ + id: number; + user_view_type?: string; + node_id: string; + /** Format: uri */ + avatar_url: string; + gravatar_id: string | null; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + repos_url: string; + events_url: string; + /** Format: uri */ + received_events_url: string; + type: string; + site_admin: boolean; + name: string | null; + company: string | null; + blog: string | null; + location: string | null; + /** Format: email */ + email: string | null; + /** Format: email */ + notification_email?: string | null; + hireable: boolean | null; + bio: string | null; + twitter_username?: string | null; + public_repos: number; + public_gists: number; + followers: number; + following: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + plan?: { + collaborators: number; + name: string; + space: number; + private_repos: number; + }; + /** @example 1 */ + private_gists?: number; + /** @example 2 */ + total_private_repos?: number; + /** @example 2 */ + owned_private_repos?: number; + /** @example 1 */ + disk_usage?: number; + /** @example 3 */ + collaborators?: number; + }; + /** + * Gist History + * @description Gist History + */ + "gist-history": { + user?: components["schemas"]["nullable-simple-user"]; + version?: string; + /** Format: date-time */ + committed_at?: string; + change_status?: { + total?: number; + additions?: number; + deletions?: number; + }; + /** Format: uri */ + url?: string; + }; + /** + * Gist Simple + * @description Gist Simple + */ + "gist-simple": { + /** @deprecated */ + forks?: + | { + id?: string; + /** Format: uri */ + url?: string; + user?: components["schemas"]["public-user"]; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + }[] + | null; + /** @deprecated */ + history?: components["schemas"]["gist-history"][] | null; + /** + * Gist + * @description Gist + */ + fork_of?: { + /** Format: uri */ + url: string; + /** Format: uri */ + forks_url: string; + /** Format: uri */ + commits_url: string; + id: string; + node_id: string; + /** Format: uri */ + git_pull_url: string; + /** Format: uri */ + git_push_url: string; + /** Format: uri */ + html_url: string; + files: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + }; + }; + public: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + description: string | null; + comments: number; + comments_enabled?: boolean; + user: components["schemas"]["nullable-simple-user"]; + /** Format: uri */ + comments_url: string; + owner?: components["schemas"]["nullable-simple-user"]; + truncated?: boolean; + forks?: unknown[]; + history?: unknown[]; + } | null; + url?: string; + forks_url?: string; + commits_url?: string; + id?: string; + node_id?: string; + git_pull_url?: string; + git_push_url?: string; + html_url?: string; + files?: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + truncated?: boolean; + content?: string; + /** + * @description The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. + * @default utf-8 + */ + encoding?: string; + } | null; + }; + public?: boolean; + created_at?: string; + updated_at?: string; + description?: string | null; + comments?: number; + comments_enabled?: boolean; + user?: string | null; + comments_url?: string; + owner?: components["schemas"]["simple-user"]; + truncated?: boolean; + }; + /** + * Gist Comment + * @description A comment made to a gist. + */ + "gist-comment": { + /** @example 1 */ + id: number; + /** @example MDExOkdpc3RDb21tZW50MQ== */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/gists/a6db0bec360bb87e9418/comments/1 + */ + url: string; + /** + * @description The comment text. + * @example Body of the attachment + */ + body: string; + user: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @example 2011-04-18T23:23:56Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-04-18T23:23:56Z + */ + updated_at: string; + author_association: components["schemas"]["author-association"]; + }; + /** + * Gist Commit + * @description Gist Commit + */ + "gist-commit": { + /** + * Format: uri + * @example https://api.github.com/gists/aa5a315d61ae9438b18d/57a7f021a713b1c5a6a199b54cc514735d2d462f + */ + url: string; + /** @example 57a7f021a713b1c5a6a199b54cc514735d2d462f */ + version: string; + user: components["schemas"]["nullable-simple-user"]; + change_status: { + total?: number; + additions?: number; + deletions?: number; + }; + /** + * Format: date-time + * @example 2010-04-14T02:15:15Z + */ + committed_at: string; + }; + /** + * Gitignore Template + * @description Gitignore Template + */ + "gitignore-template": { + /** @example C */ + name: string; + /** + * @example # Object files + * *.o + * + * # Libraries + * *.lib + * *.a + * + * # Shared objects (inc. Windows DLLs) + * *.dll + * *.so + * *.so.* + * *.dylib + * + * # Executables + * *.exe + * *.out + * *.app + */ + source: string; + }; + /** + * License Simple + * @description License Simple + */ + "license-simple": { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** + * Format: uri + * @example https://api.github.com/licenses/mit + */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + }; + /** + * License + * @description License + */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** @example MIT */ + spdx_id: string | null; + /** + * Format: uri + * @example https://api.github.com/licenses/mit + */ + url: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** + * Format: uri + * @example http://choosealicense.com/licenses/mit/ + */ + html_url: string; + /** @example A permissive license that is short and to the point. It lets people do anything with your code with proper attribution and without warranty. */ + description: string; + /** @example Create a text file (typically named LICENSE or LICENSE.txt) in the root of your source code and copy the text of the license into the file. Replace [year] with the current year and [fullname] with the name (or names) of the copyright holders. */ + implementation: string; + /** + * @example [ + * "commercial-use", + * "modifications", + * "distribution", + * "sublicense", + * "private-use" + * ] + */ + permissions: string[]; + /** + * @example [ + * "include-copyright" + * ] + */ + conditions: string[]; + /** + * @example [ + * "no-liability" + * ] + */ + limitations: string[]; + /** + * @example + * + * The MIT License (MIT) + * + * Copyright (c) [year] [fullname] + * + * 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. + */ + body: string; + /** @example true */ + featured: boolean; + }; + /** + * Marketplace Listing Plan + * @description Marketplace Listing Plan + */ + "marketplace-listing-plan": { + /** + * Format: uri + * @example https://api.github.com/marketplace_listing/plans/1313 + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/marketplace_listing/plans/1313/accounts + */ + accounts_url: string; + /** @example 1313 */ + id: number; + /** @example 3 */ + number: number; + /** @example Pro */ + name: string; + /** @example A professional-grade CI solution */ + description: string; + /** @example 1099 */ + monthly_price_in_cents: number; + /** @example 11870 */ + yearly_price_in_cents: number; + /** + * @example FLAT_RATE + * @enum {string} + */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + /** @example true */ + has_free_trial: boolean; + unit_name: string | null; + /** @example published */ + state: string; + /** + * @example [ + * "Up to 25 private repositories", + * "11 concurrent builds" + * ] + */ + bullets: string[]; + }; + /** + * Marketplace Purchase + * @description Marketplace Purchase + */ + "marketplace-purchase": { + url: string; + type: string; + id: number; + login: string; + organization_billing_email?: string; + email?: string | null; + marketplace_pending_change?: { + is_installed?: boolean; + effective_date?: string; + unit_count?: number | null; + id?: number; + plan?: components["schemas"]["marketplace-listing-plan"]; + } | null; + marketplace_purchase: { + billing_cycle?: string; + next_billing_date?: string | null; + is_installed?: boolean; + unit_count?: number | null; + on_free_trial?: boolean; + free_trial_ends_on?: string | null; + updated_at?: string; + plan?: components["schemas"]["marketplace-listing-plan"]; + }; + }; + /** + * Api Overview + * @description Api Overview + */ + "api-overview": { + /** @example true */ + verifiable_password_authentication: boolean; + ssh_key_fingerprints?: { + SHA256_RSA?: string; + SHA256_DSA?: string; + SHA256_ECDSA?: string; + SHA256_ED25519?: string; + }; + /** + * @example [ + * "ssh-ed25519 ABCDEFGHIJKLMNOPQRSTUVWXYZ" + * ] + */ + ssh_keys?: string[]; + /** + * @example [ + * "192.0.2.1" + * ] + */ + hooks?: string[]; + /** + * @example [ + * "192.0.2.1" + * ] + */ + github_enterprise_importer?: string[]; + /** + * @example [ + * "192.0.2.1" + * ] + */ + web?: string[]; + /** + * @example [ + * "192.0.2.1" + * ] + */ + api?: string[]; + /** + * @example [ + * "192.0.2.1" + * ] + */ + git?: string[]; + /** + * @example [ + * "192.0.2.1" + * ] + */ + packages?: string[]; + /** + * @example [ + * "192.0.2.1" + * ] + */ + pages?: string[]; + /** + * @example [ + * "192.0.2.1" + * ] + */ + importer?: string[]; + /** + * @example [ + * "192.0.2.1" + * ] + */ + actions?: string[]; + /** + * @example [ + * "192.0.2.1" + * ] + */ + actions_macos?: string[]; + /** + * @example [ + * "192.0.2.1" + * ] + */ + codespaces?: string[]; + /** + * @example [ + * "192.0.2.1" + * ] + */ + dependabot?: string[]; + /** + * @example [ + * "192.0.2.1" + * ] + */ + copilot?: string[]; + domains?: { + website?: string[]; + codespaces?: string[]; + copilot?: string[]; + packages?: string[]; + actions?: string[]; + actions_inbound?: { + full_domains?: string[]; + wildcard_domains?: string[]; + }; + artifact_attestations?: { + /** + * @example [ + * "example" + * ] + */ + trust_domain?: string; + services?: string[]; + }; + }; + }; + "security-and-analysis": { + advanced_security?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + /** @description Enable or disable Dependabot security updates for the repository. */ + dependabot_security_updates?: { + /** + * @description The enablement status of Dependabot security updates for the repository. + * @enum {string} + */ + status?: "enabled" | "disabled"; + }; + secret_scanning?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + secret_scanning_push_protection?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + secret_scanning_non_provider_patterns?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + secret_scanning_ai_detection?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + } | null; + /** + * Minimal Repository + * @description Minimal Repository + */ + "minimal-repository": { + /** + * Format: int64 + * @example 1296269 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + owner: components["schemas"]["simple-user"]; + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + git_url?: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + ssh_url?: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + clone_url?: string; + mirror_url?: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + /** @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. */ + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + has_discussions?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at?: string | null; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + /** @example admin */ + role_name?: string; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + code_of_conduct?: components["schemas"]["code-of-conduct"]; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + /** @example 0 */ + forks?: number; + /** @example 0 */ + open_issues?: number; + /** @example 0 */ + watchers?: number; + allow_forking?: boolean; + /** @example false */ + web_commit_signoff_required?: boolean; + security_and_analysis?: components["schemas"]["security-and-analysis"]; + }; + /** + * Thread + * @description Thread + */ + thread: { + id: string; + repository: components["schemas"]["minimal-repository"]; + subject: { + title: string; + url: string; + latest_comment_url: string; + type: string; + }; + reason: string; + unread: boolean; + updated_at: string; + last_read_at: string | null; + url: string; + /** @example https://api.github.com/notifications/threads/2/subscription */ + subscription_url: string; + }; + /** + * Thread Subscription + * @description Thread Subscription + */ + "thread-subscription": { + /** @example true */ + subscribed: boolean; + ignored: boolean; + reason: string | null; + /** + * Format: date-time + * @example 2012-10-06T21:34:12Z + */ + created_at: string | null; + /** + * Format: uri + * @example https://api.github.com/notifications/threads/1/subscription + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/notifications/threads/1 + */ + thread_url?: string; + /** + * Format: uri + * @example https://api.github.com/repos/1 + */ + repository_url?: string; + }; + /** + * Organization Simple + * @description A GitHub organization. + */ + "organization-simple": { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/repos + */ + repos_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/events + */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + }; + "billing-usage-report": { + usageItems?: { + /** @description Date of the usage line item. */ + date: string; + /** @description Product name. */ + product: string; + /** @description SKU name. */ + sku: string; + /** @description Quantity of the usage line item. */ + quantity: number; + /** @description Unit type of the usage line item. */ + unitType: string; + /** @description Price per unit of the usage line item. */ + pricePerUnit: number; + /** @description Gross amount of the usage line item. */ + grossAmount: number; + /** @description Discount amount of the usage line item. */ + discountAmount: number; + /** @description Net amount of the usage line item. */ + netAmount: number; + /** @description Name of the organization. */ + organizationName: string; + /** @description Name of the repository. */ + repositoryName?: string; + }[]; + }; + /** + * Organization Full + * @description Organization Full + */ + "organization-full": { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/repos + */ + repos_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/events + */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + /** @example github */ + name?: string; + /** @example GitHub */ + company?: string; + /** + * Format: uri + * @example https://github.com/blog + */ + blog?: string; + /** @example San Francisco */ + location?: string; + /** + * Format: email + * @example octocat@github.com + */ + email?: string; + /** @example github */ + twitter_username?: string | null; + /** @example true */ + is_verified?: boolean; + /** @example true */ + has_organization_projects: boolean; + /** @example true */ + has_repository_projects: boolean; + /** @example 2 */ + public_repos: number; + /** @example 1 */ + public_gists: number; + /** @example 20 */ + followers: number; + /** @example 0 */ + following: number; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** @example Organization */ + type: string; + /** @example 100 */ + total_private_repos?: number; + /** @example 100 */ + owned_private_repos?: number; + /** @example 81 */ + private_gists?: number | null; + /** @example 10000 */ + disk_usage?: number | null; + /** + * @description The number of collaborators on private repositories. + * + * This field may be null if the number of private repositories is over 50,000. + * @example 8 + */ + collaborators?: number | null; + /** + * Format: email + * @example org@example.com + */ + billing_email?: string | null; + plan?: { + name: string; + space: number; + private_repos: number; + filled_seats?: number; + seats?: number; + }; + default_repository_permission?: string | null; + /** @example true */ + members_can_create_repositories?: boolean | null; + /** @example true */ + two_factor_requirement_enabled?: boolean | null; + /** @example all */ + members_allowed_repository_creation_type?: string; + /** @example true */ + members_can_create_public_repositories?: boolean; + /** @example true */ + members_can_create_private_repositories?: boolean; + /** @example true */ + members_can_create_internal_repositories?: boolean; + /** @example true */ + members_can_create_pages?: boolean; + /** @example true */ + members_can_create_public_pages?: boolean; + /** @example true */ + members_can_create_private_pages?: boolean; + /** @example false */ + members_can_fork_private_repositories?: boolean | null; + /** @example false */ + web_commit_signoff_required?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + advanced_security_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether Dependabot alerts are automatically enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + dependabot_alerts_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether Dependabot security updates are automatically enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + dependabot_security_updates_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether dependency graph is automatically enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + dependency_graph_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether secret scanning is automatically enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + secret_scanning_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether secret scanning push protection is automatically enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + secret_scanning_push_protection_enabled_for_new_repositories?: boolean; + /** + * @description Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection. + * @example false + */ + secret_scanning_push_protection_custom_link_enabled?: boolean; + /** + * @description An optional URL string to display to contributors who are blocked from pushing a secret. + * @example https://github.com/test-org/test-repo/blob/main/README.md + */ + secret_scanning_push_protection_custom_link?: string | null; + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + archived_at: string | null; + /** + * @description Controls whether or not deploy keys may be added and used for repositories in the organization. + * @example false + */ + deploy_keys_enabled_for_repositories?: boolean; + }; + "actions-cache-usage-org-enterprise": { + /** @description The count of active caches across all repositories of an enterprise or an organization. */ + total_active_caches_count: number; + /** @description The total size in bytes of all active cache items across all repositories of an enterprise or an organization. */ + total_active_caches_size_in_bytes: number; + }; + /** + * Actions Cache Usage by repository + * @description GitHub Actions Cache Usage by repository. + */ + "actions-cache-usage-by-repository": { + /** + * @description The repository owner and name for the cache usage being shown. + * @example octo-org/Hello-World + */ + full_name: string; + /** + * @description The sum of the size in bytes of all the active cache items in the repository. + * @example 2322142 + */ + active_caches_size_in_bytes: number; + /** + * @description The number of active caches in the repository. + * @example 3 + */ + active_caches_count: number; + }; + /** + * GitHub-hosted runner image details. + * @description Provides details of a hosted runner image + */ + "nullable-actions-hosted-runner-pool-image": { + /** + * @description The ID of the image. Use this ID for the `image` parameter when creating a new larger runner. + * @example ubuntu-20.04 + */ + id: string; + /** + * @description Image size in GB. + * @example 86 + */ + size_gb: number; + /** + * @description Display name for this image. + * @example 20.04 + */ + display_name: string; + /** + * @description The image provider. + * @enum {string} + */ + source: "github" | "partner" | "custom"; + } | null; + /** + * Github-owned VM details. + * @description Provides details of a particular machine spec. + */ + "actions-hosted-runner-machine-spec": { + /** + * @description The ID used for the `size` parameter when creating a new runner. + * @example 8-core + */ + id: string; + /** + * @description The number of cores. + * @example 8 + */ + cpu_cores: number; + /** + * @description The available RAM for the machine spec. + * @example 32 + */ + memory_gb: number; + /** + * @description The available SSD storage for the machine spec. + * @example 300 + */ + storage_gb: number; + }; + /** + * Public IP for a GitHub-hosted larger runners. + * @description Provides details of Public IP for a GitHub-hosted larger runners + */ + "public-ip": { + /** + * @description Whether public IP is enabled. + * @example true + */ + enabled?: boolean; + /** + * @description The prefix for the public IP. + * @example 20.80.208.150 + */ + prefix?: string; + /** + * @description The length of the IP prefix. + * @example 28 + */ + length?: number; + }; + /** + * GitHub-hosted hosted runner + * @description A Github-hosted hosted runner. + */ + "actions-hosted-runner": { + /** + * @description The unique identifier of the hosted runner. + * @example 5 + */ + id: number; + /** + * @description The name of the hosted runner. + * @example my-github-hosted-runner + */ + name: string; + /** + * @description The unique identifier of the group that the hosted runner belongs to. + * @example 2 + */ + runner_group_id?: number; + image_details: components["schemas"]["nullable-actions-hosted-runner-pool-image"]; + machine_size_details: components["schemas"]["actions-hosted-runner-machine-spec"]; + /** + * @description The status of the runner. + * @example Ready + * @enum {string} + */ + status: "Ready" | "Provisioning" | "Shutdown" | "Deleting" | "Stuck"; + /** + * @description The operating system of the image. + * @example linux-x64 + */ + platform: string; + /** + * @description The maximum amount of hosted runners. Runners will not scale automatically above this number. Use this setting to limit your cost. + * @default 10 + * @example 5 + */ + maximum_runners?: number; + /** + * @description Whether public IP is enabled for the hosted runners. + * @example true + */ + public_ip_enabled: boolean; + /** @description The public IP ranges when public IP is enabled for the hosted runners. */ + public_ips?: components["schemas"]["public-ip"][]; + /** + * Format: date-time + * @description The time at which the runner was last used, in ISO 8601 format. + * @example 2022-10-09T23:39:01Z + */ + last_active_on?: string | null; + }; + /** + * GitHub-hosted runner image details. + * @description Provides details of a hosted runner image + */ + "actions-hosted-runner-image": { + /** + * @description The ID of the image. Use this ID for the `image` parameter when creating a new larger runner. + * @example ubuntu-20.04 + */ + id: string; + /** + * @description The operating system of the image. + * @example linux-x64 + */ + platform: string; + /** + * @description Image size in GB. + * @example 86 + */ + size_gb: number; + /** + * @description Display name for this image. + * @example 20.04 + */ + display_name: string; + /** + * @description The image provider. + * @enum {string} + */ + source: "github" | "partner" | "custom"; + }; + "actions-hosted-runner-limits": { + /** + * Static public IP Limits for GitHub-hosted Hosted Runners. + * @description Provides details of static public IP limits for GitHub-hosted Hosted Runners + */ + public_ips: { + /** + * @description The maximum number of static public IP addresses that can be used for Hosted Runners. + * @example 50 + */ + maximum: number; + /** + * @description The current number of static public IP addresses in use by Hosted Runners. + * @example 17 + */ + current_usage: number; + }; + }; + /** + * Actions OIDC Subject customization + * @description Actions OIDC Subject customization + */ + "oidc-custom-sub": { + /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ + include_claim_keys: string[]; + }; + /** + * Empty Object + * @description An object without any properties. + */ + "empty-object": Record; + /** + * @description The policy that controls the repositories in the organization that are allowed to run GitHub Actions. + * @enum {string} + */ + "enabled-repositories": "all" | "none" | "selected"; + /** + * @description The permissions policy that controls the actions and reusable workflows that are allowed to run. + * @enum {string} + */ + "allowed-actions": "all" | "local_only" | "selected"; + /** @description The API URL to use to get or set the actions and reusable workflows that are allowed to run, when `allowed_actions` is set to `selected`. */ + "selected-actions-url": string; + "actions-organization-permissions": { + enabled_repositories: components["schemas"]["enabled-repositories"]; + /** @description The API URL to use to get or set the selected repositories that are allowed to run GitHub Actions, when `enabled_repositories` is set to `selected`. */ + selected_repositories_url?: string; + allowed_actions?: components["schemas"]["allowed-actions"]; + selected_actions_url?: components["schemas"]["selected-actions-url"]; + }; + "selected-actions": { + /** @description Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ + github_owned_allowed?: boolean; + /** @description Whether actions from GitHub Marketplace verified creators are allowed. Set to `true` to allow all actions by GitHub Marketplace verified creators. */ + verified_allowed?: boolean; + /** + * @description Specifies a list of string-matching patterns to allow specific action(s) and reusable workflow(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`. + * + * > [!NOTE] + * > The `patterns_allowed` setting only applies to public repositories. + */ + patterns_allowed?: string[]; + }; + /** + * @description The default workflow permissions granted to the GITHUB_TOKEN when running workflows. + * @enum {string} + */ + "actions-default-workflow-permissions": "read" | "write"; + /** @description Whether GitHub Actions can approve pull requests. Enabling this can be a security risk. */ + "actions-can-approve-pull-request-reviews": boolean; + "actions-get-default-workflow-permissions": { + default_workflow_permissions: components["schemas"]["actions-default-workflow-permissions"]; + can_approve_pull_request_reviews: components["schemas"]["actions-can-approve-pull-request-reviews"]; + }; + "actions-set-default-workflow-permissions": { + default_workflow_permissions?: components["schemas"]["actions-default-workflow-permissions"]; + can_approve_pull_request_reviews?: components["schemas"]["actions-can-approve-pull-request-reviews"]; + }; + "runner-groups-org": { + id: number; + name: string; + visibility: string; + default: boolean; + /** @description Link to the selected repositories resource for this runner group. Not present unless visibility was set to `selected` */ + selected_repositories_url?: string; + runners_url: string; + hosted_runners_url?: string; + /** @description The identifier of a hosted compute network configuration. */ + network_configuration_id?: string; + inherited: boolean; + inherited_allows_public_repositories?: boolean; + allows_public_repositories: boolean; + /** + * @description If `true`, the `restricted_to_workflows` and `selected_workflows` fields cannot be modified. + * @default false + */ + workflow_restrictions_read_only?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: string[]; + }; + /** + * Self hosted runner label + * @description A label for a self hosted runner + */ + "runner-label": { + /** @description Unique identifier of the label. */ + id?: number; + /** @description Name of the label. */ + name: string; + /** + * @description The type of label. Read-only labels are applied automatically when the runner is configured. + * @enum {string} + */ + type?: "read-only" | "custom"; + }; + /** + * Self hosted runners + * @description A self hosted runner + */ + runner: { + /** + * @description The ID of the runner. + * @example 5 + */ + id: number; + /** + * @description The ID of the runner group. + * @example 1 + */ + runner_group_id?: number; + /** + * @description The name of the runner. + * @example iMac + */ + name: string; + /** + * @description The Operating System of the runner. + * @example macos + */ + os: string; + /** + * @description The status of the runner. + * @example online + */ + status: string; + busy: boolean; + labels: components["schemas"]["runner-label"][]; + ephemeral?: boolean; + }; + /** + * Runner Application + * @description Runner Application + */ + "runner-application": { + os: string; + architecture: string; + download_url: string; + filename: string; + /** @description A short lived bearer token used to download the runner, if needed. */ + temp_download_token?: string; + sha256_checksum?: string; + }; + /** + * Authentication Token + * @description Authentication Token + */ + "authentication-token": { + /** + * @description The token used for authentication + * @example v1.1f699f1069f60xxx + */ + token: string; + /** + * Format: date-time + * @description The time this token expires + * @example 2016-07-11T22:14:10Z + */ + expires_at: string; + /** + * @example { + * "issues": "read", + * "deployments": "write" + * } + */ + permissions?: Record; + /** @description The repositories this token has access to */ + repositories?: components["schemas"]["repository"][]; + /** @example config.yaml */ + single_file?: string | null; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + repository_selection?: "all" | "selected"; + }; + /** + * Actions Secret for an Organization + * @description Secrets for GitHub Actions for an organization. + */ + "organization-actions-secret": { + /** + * @description The name of the secret. + * @example SECRET_TOKEN + */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** + * @description Visibility of a secret + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @example https://api.github.com/organizations/org/secrets/my_secret/repositories + */ + selected_repositories_url?: string; + }; + /** + * ActionsPublicKey + * @description The public key used for setting Actions Secrets. + */ + "actions-public-key": { + /** + * @description The identifier for the key. + * @example 1234567 + */ + key_id: string; + /** + * @description The Base64 encoded public key. + * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= + */ + key: string; + /** @example 2 */ + id?: number; + /** @example https://api.github.com/user/keys/2 */ + url?: string; + /** @example ssh-rsa AAAAB3NzaC1yc2EAAA */ + title?: string; + /** @example 2011-01-26T19:01:12Z */ + created_at?: string; + }; + /** + * Actions Variable for an Organization + * @description Organization variable for GitHub Actions. + */ + "organization-actions-variable": { + /** + * @description The name of the variable. + * @example USERNAME + */ + name: string; + /** + * @description The value of the variable. + * @example octocat + */ + value: string; + /** + * Format: date-time + * @description The date and time at which the variable was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + * @example 2019-01-24T22:45:36.000Z + */ + created_at: string; + /** + * Format: date-time + * @description The date and time at which the variable was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + * @example 2019-01-24T22:45:36.000Z + */ + updated_at: string; + /** + * @description Visibility of a variable + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @example https://api.github.com/organizations/org/variables/USERNAME/repositories + */ + selected_repositories_url?: string; + }; + /** @description The name of the tool used to generate the code scanning analysis. */ + "code-scanning-analysis-tool-name": string; + /** @description The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data. */ + "code-scanning-analysis-tool-guid": string | null; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + "code-scanning-alert-state-query": + | "open" + | "closed" + | "dismissed" + | "fixed"; + /** + * @description Severity of a code scanning alert. + * @enum {string} + */ + "code-scanning-alert-severity": + | "critical" + | "high" + | "medium" + | "low" + | "warning" + | "note" + | "error"; + /** + * Format: uri + * @description The REST API URL for fetching the list of instances for an alert. + */ + readonly "alert-instances-url": string; + /** + * @description State of a code scanning alert. + * @enum {string|null} + */ + "code-scanning-alert-state": "open" | "dismissed" | "fixed" | null; + /** + * @description **Required when the state is dismissed.** The reason for dismissing or closing the alert. + * @enum {string|null} + */ + "code-scanning-alert-dismissed-reason": + | "false positive" + | "won't fix" + | "used in tests" + | null; + /** @description The dismissal comment associated with the dismissal of the alert. */ + "code-scanning-alert-dismissed-comment": string | null; + "code-scanning-alert-rule-summary": { + /** @description A unique identifier for the rule used to detect the alert. */ + id?: string | null; + /** @description The name of the rule used to detect the alert. */ + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity?: "none" | "note" | "warning" | "error" | null; + /** + * @description The security severity of the alert. + * @enum {string|null} + */ + security_severity_level?: "low" | "medium" | "high" | "critical" | null; + /** @description A short description of the rule used to detect the alert. */ + description?: string; + /** @description A description of the rule used to detect the alert. */ + full_description?: string; + /** @description A set of tags applicable for the rule. */ + tags?: string[] | null; + /** @description Detailed documentation for the rule as GitHub Flavored Markdown. */ + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + }; + /** @description The version of the tool used to generate the code scanning analysis. */ + "code-scanning-analysis-tool-version": string | null; + "code-scanning-analysis-tool": { + name?: components["schemas"]["code-scanning-analysis-tool-name"]; + version?: components["schemas"]["code-scanning-analysis-tool-version"]; + guid?: components["schemas"]["code-scanning-analysis-tool-guid"]; + }; + /** + * @description The Git reference, formatted as `refs/pull//merge`, `refs/pull//head`, + * `refs/heads/` or simply ``. + */ + "code-scanning-ref": string; + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + "code-scanning-analysis-analysis-key": string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + "code-scanning-alert-environment": string; + /** @description Identifies the configuration under which the analysis was executed. Used to distinguish between multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. */ + "code-scanning-analysis-category": string; + /** @description Describe a region within a file for the alert. */ + "code-scanning-alert-location": { + path?: string; + start_line?: number; + end_line?: number; + start_column?: number; + end_column?: number; + }; + /** + * @description A classification of the file. For example to identify it as generated. + * @enum {string|null} + */ + "code-scanning-alert-classification": + | "source" + | "generated" + | "test" + | "library" + | null; + "code-scanning-alert-instance": { + ref?: components["schemas"]["code-scanning-ref"]; + analysis_key?: components["schemas"]["code-scanning-analysis-analysis-key"]; + environment?: components["schemas"]["code-scanning-alert-environment"]; + category?: components["schemas"]["code-scanning-analysis-category"]; + state?: components["schemas"]["code-scanning-alert-state"]; + commit_sha?: string; + message?: { + text?: string; + }; + location?: components["schemas"]["code-scanning-alert-location"]; + html_url?: string; + /** + * @description Classifications that have been applied to the file that triggered the alert. + * For example identifying it as documentation, or a generated file. + */ + classifications?: components["schemas"]["code-scanning-alert-classification"][]; + }; + "code-scanning-organization-alert-items": { + number: components["schemas"]["alert-number"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["alert-updated-at"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + instances_url: components["schemas"]["alert-instances-url"]; + state: components["schemas"]["code-scanning-alert-state"]; + fixed_at?: components["schemas"]["alert-fixed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + dismissed_at: components["schemas"]["alert-dismissed-at"]; + dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + rule: components["schemas"]["code-scanning-alert-rule-summary"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; + repository: components["schemas"]["simple-repository"]; + dismissal_approved_by?: components["schemas"]["nullable-simple-user"]; + }; + /** + * Codespace machine + * @description A description of the machine powering a codespace. + */ + "nullable-codespace-machine": { + /** + * @description The name of the machine. + * @example standardLinux + */ + name: string; + /** + * @description The display name of the machine includes cores, memory, and storage. + * @example 4 cores, 16 GB RAM, 64 GB storage + */ + display_name: string; + /** + * @description The operating system of the machine. + * @example linux + */ + operating_system: string; + /** + * @description How much storage is available to the codespace. + * @example 68719476736 + */ + storage_in_bytes: number; + /** + * @description How much memory is available to the codespace. + * @example 17179869184 + */ + memory_in_bytes: number; + /** + * @description How many cores are available to the codespace. + * @example 4 + */ + cpus: number; + /** + * @description Whether a prebuild is currently available when creating a codespace for this machine and repository. If a branch was not specified as a ref, the default branch will be assumed. Value will be "null" if prebuilds are not supported or prebuild availability could not be determined. Value will be "none" if no prebuild is available. Latest values "ready" and "in_progress" indicate the prebuild availability status. + * @example ready + * @enum {string|null} + */ + prebuild_availability: "none" | "ready" | "in_progress" | null; + } | null; + /** + * Codespace + * @description A codespace. + */ + codespace: { + /** + * Format: int64 + * @example 1 + */ + id: number; + /** + * @description Automatically generated name of this codespace. + * @example monalisa-octocat-hello-world-g4wpq6h95q + */ + name: string; + /** + * @description Display name for this codespace. + * @example bookish space pancake + */ + display_name?: string | null; + /** + * @description UUID identifying this codespace's environment. + * @example 26a7c758-7299-4a73-b978-5a92a7ae98a0 + */ + environment_id: string | null; + owner: components["schemas"]["simple-user"]; + billable_owner: components["schemas"]["simple-user"]; + repository: components["schemas"]["minimal-repository"]; + machine: components["schemas"]["nullable-codespace-machine"]; + /** + * @description Path to devcontainer.json from repo root used to create Codespace. + * @example .devcontainer/example/devcontainer.json + */ + devcontainer_path?: string | null; + /** + * @description Whether the codespace was created from a prebuild. + * @example false + */ + prebuild: boolean | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + updated_at: string; + /** + * Format: date-time + * @description Last known time this codespace was started. + * @example 2011-01-26T19:01:12Z + */ + last_used_at: string; + /** + * @description State of this codespace. + * @example Available + * @enum {string} + */ + state: + | "Unknown" + | "Created" + | "Queued" + | "Provisioning" + | "Available" + | "Awaiting" + | "Unavailable" + | "Deleted" + | "Moved" + | "Shutdown" + | "Archived" + | "Starting" + | "ShuttingDown" + | "Failed" + | "Exporting" + | "Updating" + | "Rebuilding"; + /** + * Format: uri + * @description API URL for this codespace. + */ + url: string; + /** @description Details about the codespace's git repository. */ + git_status: { + /** + * @description The number of commits the local repository is ahead of the remote. + * @example 0 + */ + ahead?: number; + /** + * @description The number of commits the local repository is behind the remote. + * @example 0 + */ + behind?: number; + /** @description Whether the local repository has unpushed changes. */ + has_unpushed_changes?: boolean; + /** @description Whether the local repository has uncommitted changes. */ + has_uncommitted_changes?: boolean; + /** + * @description The current branch (or SHA if in detached HEAD state) of the local repository. + * @example main + */ + ref?: string; + }; + /** + * @description The initally assigned location of a new codespace. + * @example WestUs2 + * @enum {string} + */ + location: "EastUs" | "SouthEastAsia" | "WestEurope" | "WestUs2"; + /** + * @description The number of minutes of inactivity after which this codespace will be automatically stopped. + * @example 60 + */ + idle_timeout_minutes: number | null; + /** + * Format: uri + * @description URL to access this codespace on the web. + */ + web_url: string; + /** + * Format: uri + * @description API URL to access available alternate machine types for this codespace. + */ + machines_url: string; + /** + * Format: uri + * @description API URL to start this codespace. + */ + start_url: string; + /** + * Format: uri + * @description API URL to stop this codespace. + */ + stop_url: string; + /** + * Format: uri + * @description API URL to publish this codespace to a new repository. + */ + publish_url?: string | null; + /** + * Format: uri + * @description API URL for the Pull Request associated with this codespace, if any. + */ + pulls_url: string | null; + recent_folders: string[]; + runtime_constraints?: { + /** @description The privacy settings a user can select from when forwarding a port. */ + allowed_port_privacy_settings?: string[] | null; + }; + /** @description Whether or not a codespace has a pending async operation. This would mean that the codespace is temporarily unavailable. The only thing that you can do with a codespace in this state is delete it. */ + pending_operation?: boolean | null; + /** @description Text to show user when codespace is disabled by a pending operation */ + pending_operation_disabled_reason?: string | null; + /** @description Text to show user when codespace idle timeout minutes has been overriden by an organization policy */ + idle_timeout_notice?: string | null; + /** + * @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). + * @example 60 + */ + retention_period_minutes?: number | null; + /** + * Format: date-time + * @description When a codespace will be auto-deleted based on the "retention_period_minutes" and "last_used_at" + * @example 2011-01-26T20:01:12Z + */ + retention_expires_at?: string | null; + /** + * @description The text to display to a user when a codespace has been stopped for a potentially actionable reason. + * @example you've used 100% of your spending limit for Codespaces + */ + last_known_stop_notice?: string | null; + }; + /** + * Codespaces Secret + * @description Secrets for a GitHub Codespace. + */ + "codespaces-org-secret": { + /** + * @description The name of the secret + * @example SECRET_NAME + */ + name: string; + /** + * Format: date-time + * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at: string; + /** + * @description The type of repositories in the organization that the secret is visible to + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @description The API URL at which the list of repositories this secret is visible to can be retrieved + * @example https://api.github.com/orgs/ORGANIZATION/codespaces/secrets/SECRET_NAME/repositories + */ + selected_repositories_url?: string; + }; + /** + * CodespacesPublicKey + * @description The public key used for setting Codespaces secrets. + */ + "codespaces-public-key": { + /** + * @description The identifier for the key. + * @example 1234567 + */ + key_id: string; + /** + * @description The Base64 encoded public key. + * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= + */ + key: string; + /** @example 2 */ + id?: number; + /** @example https://api.github.com/user/keys/2 */ + url?: string; + /** @example ssh-rsa AAAAB3NzaC1yc2EAAA */ + title?: string; + /** @example 2011-01-26T19:01:12Z */ + created_at?: string; + }; + /** + * Copilot Seat Breakdown + * @description The breakdown of Copilot Business seats for the organization. + */ + "copilot-organization-seat-breakdown": { + /** @description The total number of seats being billed for the organization as of the current billing cycle. */ + total?: number; + /** @description Seats added during the current billing cycle. */ + added_this_cycle?: number; + /** @description The number of seats that are pending cancellation at the end of the current billing cycle. */ + pending_cancellation?: number; + /** @description The number of users who have been invited to receive a Copilot seat through this organization. */ + pending_invitation?: number; + /** @description The number of seats that have used Copilot during the current billing cycle. */ + active_this_cycle?: number; + /** @description The number of seats that have not used Copilot during the current billing cycle. */ + inactive_this_cycle?: number; + }; + /** + * Copilot Organization Details + * @description Information about the seat breakdown and policies set for an organization with a Copilot Business or Copilot Enterprise subscription. + */ + "copilot-organization-details": { + seat_breakdown: components["schemas"]["copilot-organization-seat-breakdown"]; + /** + * @description The organization policy for allowing or blocking suggestions matching public code (duplication detection filter). + * @enum {string} + */ + public_code_suggestions: "allow" | "block" | "unconfigured"; + /** + * @description The organization policy for allowing or disallowing Copilot Chat in the IDE. + * @enum {string} + */ + ide_chat?: "enabled" | "disabled" | "unconfigured"; + /** + * @description The organization policy for allowing or disallowing Copilot features on GitHub.com. + * @enum {string} + */ + platform_chat?: "enabled" | "disabled" | "unconfigured"; + /** + * @description The organization policy for allowing or disallowing Copilot in the CLI. + * @enum {string} + */ + cli?: "enabled" | "disabled" | "unconfigured"; + /** + * @description The mode of assigning new seats. + * @enum {string} + */ + seat_management_setting: + | "assign_all" + | "assign_selected" + | "disabled" + | "unconfigured"; + /** + * @description The Copilot plan of the organization, or the parent enterprise, when applicable. + * @enum {string} + */ + plan_type?: "business" | "enterprise"; + [key: string]: unknown; + }; + /** + * Organization Simple + * @description A GitHub organization. + */ + "nullable-organization-simple": { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/repos + */ + repos_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/events + */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + } | null; + /** + * Team Simple + * @description Groups of organization members that gives permissions on specified repositories. + */ + "nullable-team-simple": { + /** + * @description Unique identifier of the team + * @example 1 + */ + id: number; + /** @example MDQ6VGVhbTE= */ + node_id: string; + /** + * Format: uri + * @description URL for the team + * @example https://api.github.com/organizations/1/team/1 + */ + url: string; + /** @example https://api.github.com/organizations/1/team/1/members{/member} */ + members_url: string; + /** + * @description Name of the team + * @example Justice League + */ + name: string; + /** + * @description Description of the team + * @example A great team. + */ + description: string | null; + /** + * @description Permission that the team will have for its repositories + * @example admin + */ + permission: string; + /** + * @description The level of privacy this team should have + * @example closed + */ + privacy?: string; + /** + * @description The notification setting the team has set + * @example notifications_enabled + */ + notification_setting?: string; + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/1/repos + */ + repositories_url: string; + /** @example justice-league */ + slug: string; + /** + * @description Distinguished Name (DN) that team maps to within LDAP environment + * @example uid=example,ou=users,dc=github,dc=com + */ + ldap_dn?: string; + } | null; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + id: number; + node_id: string; + name: string; + slug: string; + description: string | null; + privacy?: string; + notification_setting?: string; + permission: string; + permissions?: { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; + }; + /** Format: uri */ + url: string; + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ + html_url: string; + members_url: string; + /** Format: uri */ + repositories_url: string; + parent: components["schemas"]["nullable-team-simple"]; + }; + /** + * Enterprise Team + * @description Group of enterprise owners and/or members + */ + "enterprise-team": { + /** Format: int64 */ + id: number; + name: string; + slug: string; + /** Format: uri */ + url: string; + /** @example disabled | all */ + sync_to_organizations: string; + /** @example 62ab9291-fae2-468e-974b-7e45096d5021 */ + group_id?: string | null; + /** @example Justice League */ + group_name?: string | null; + /** + * Format: uri + * @example https://github.com/enterprises/dc/teams/justice-league + */ + html_url: string; + members_url: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Copilot Business Seat Detail + * @description Information about a Copilot Business seat assignment for a user, team, or organization. + */ + "copilot-seat-details": { + assignee: components["schemas"]["simple-user"]; + organization?: components["schemas"]["nullable-organization-simple"]; + /** @description The team through which the assignee is granted access to GitHub Copilot, if applicable. */ + assigning_team?: + | components["schemas"]["team"] + | components["schemas"]["enterprise-team"] + | null; + /** + * Format: date + * @description The pending cancellation date for the seat, in `YYYY-MM-DD` format. This will be null unless the assignee's Copilot access has been canceled during the current billing cycle. If the seat has been cancelled, this corresponds to the start of the organization's next billing cycle. + */ + pending_cancellation_date?: string | null; + /** + * Format: date-time + * @description Timestamp of user's last GitHub Copilot activity, in ISO 8601 format. + */ + last_activity_at?: string | null; + /** @description Last editor that was used by the user for a GitHub Copilot completion. */ + last_activity_editor?: string | null; + /** + * Format: date-time + * @description Timestamp of when the assignee was last granted access to GitHub Copilot, in ISO 8601 format. + */ + created_at: string; + /** + * Format: date-time + * @deprecated + * @description **Closing down notice:** This field is no longer relevant and is closing down. Use the `created_at` field to determine when the assignee was last granted access to GitHub Copilot. Timestamp of when the assignee's GitHub Copilot access was last updated, in ISO 8601 format. + */ + updated_at?: string; + /** + * @description The Copilot plan of the organization, or the parent enterprise, when applicable. + * @enum {string} + */ + plan_type?: "business" | "enterprise" | "unknown"; + }; + /** @description Usage metrics for Copilot editor code completions in the IDE. */ + "copilot-ide-code-completions": { + /** @description Number of users who accepted at least one Copilot code suggestion, across all active editors. Includes both full and partial acceptances. */ + total_engaged_users?: number; + /** @description Code completion metrics for active languages. */ + languages?: { + /** @description Name of the language used for Copilot code completion suggestions. */ + name?: string; + /** @description Number of users who accepted at least one Copilot code completion suggestion for the given language. Includes both full and partial acceptances. */ + total_engaged_users?: number; + }[]; + editors?: { + /** @description Name of the given editor. */ + name?: string; + /** @description Number of users who accepted at least one Copilot code completion suggestion for the given editor. Includes both full and partial acceptances. */ + total_engaged_users?: number; + /** @description List of model metrics for custom models and the default model. */ + models?: { + /** @description Name of the model used for Copilot code completion suggestions. If the default model is used will appear as 'default'. */ + name?: string; + /** @description Indicates whether a model is custom or default. */ + is_custom_model?: boolean; + /** @description The training date for the custom model. */ + custom_model_training_date?: string | null; + /** @description Number of users who accepted at least one Copilot code completion suggestion for the given editor, for the given language and model. Includes both full and partial acceptances. */ + total_engaged_users?: number; + /** @description Code completion metrics for active languages, for the given editor. */ + languages?: { + /** @description Name of the language used for Copilot code completion suggestions, for the given editor. */ + name?: string; + /** @description Number of users who accepted at least one Copilot code completion suggestion for the given editor, for the given language. Includes both full and partial acceptances. */ + total_engaged_users?: number; + /** @description The number of Copilot code suggestions generated for the given editor, for the given language. */ + total_code_suggestions?: number; + /** @description The number of Copilot code suggestions accepted for the given editor, for the given language. Includes both full and partial acceptances. */ + total_code_acceptances?: number; + /** @description The number of lines of code suggested by Copilot code completions for the given editor, for the given language. */ + total_code_lines_suggested?: number; + /** @description The number of lines of code accepted from Copilot code suggestions for the given editor, for the given language. */ + total_code_lines_accepted?: number; + }[]; + }[]; + [key: string]: unknown; + }[]; + [key: string]: unknown; + } | null; + /** @description Usage metrics for Copilot Chat in the IDE. */ + "copilot-ide-chat": { + /** @description Total number of users who prompted Copilot Chat in the IDE. */ + total_engaged_users?: number; + editors?: { + /** @description Name of the given editor. */ + name?: string; + /** @description The number of users who prompted Copilot Chat in the specified editor. */ + total_engaged_users?: number; + /** @description List of model metrics for custom models and the default model. */ + models?: { + /** @description Name of the model used for Copilot Chat. If the default model is used will appear as 'default'. */ + name?: string; + /** @description Indicates whether a model is custom or default. */ + is_custom_model?: boolean; + /** @description The training date for the custom model. */ + custom_model_training_date?: string | null; + /** @description The number of users who prompted Copilot Chat in the given editor and model. */ + total_engaged_users?: number; + /** @description The total number of chats initiated by users in the given editor and model. */ + total_chats?: number; + /** @description The number of times users accepted a code suggestion from Copilot Chat using the 'Insert Code' UI element, for the given editor. */ + total_chat_insertion_events?: number; + /** @description The number of times users copied a code suggestion from Copilot Chat using the keyboard, or the 'Copy' UI element, for the given editor. */ + total_chat_copy_events?: number; + }[]; + }[]; + [key: string]: unknown; + } | null; + /** @description Usage metrics for Copilot Chat in GitHub.com */ + "copilot-dotcom-chat": { + /** @description Total number of users who prompted Copilot Chat on github.com at least once. */ + total_engaged_users?: number; + /** @description List of model metrics for a custom models and the default model. */ + models?: { + /** @description Name of the model used for Copilot Chat. If the default model is used will appear as 'default'. */ + name?: string; + /** @description Indicates whether a model is custom or default. */ + is_custom_model?: boolean; + /** @description The training date for the custom model (if applicable). */ + custom_model_training_date?: string | null; + /** @description Total number of users who prompted Copilot Chat on github.com at least once for each model. */ + total_engaged_users?: number; + /** @description Total number of chats initiated by users on github.com. */ + total_chats?: number; + }[]; + [key: string]: unknown; + } | null; + /** @description Usage metrics for Copilot for pull requests. */ + "copilot-dotcom-pull-requests": { + /** @description The number of users who used Copilot for Pull Requests on github.com to generate a pull request summary at least once. */ + total_engaged_users?: number; + /** @description Repositories in which users used Copilot for Pull Requests to generate pull request summaries */ + repositories?: { + /** @description Repository name */ + name?: string; + /** @description The number of users who generated pull request summaries using Copilot for Pull Requests in the given repository. */ + total_engaged_users?: number; + /** @description List of model metrics for custom models and the default model. */ + models?: { + /** @description Name of the model used for Copilot pull request summaries. If the default model is used will appear as 'default'. */ + name?: string; + /** @description Indicates whether a model is custom or default. */ + is_custom_model?: boolean; + /** @description The training date for the custom model. */ + custom_model_training_date?: string | null; + /** @description The number of pull request summaries generated using Copilot for Pull Requests in the given repository. */ + total_pr_summaries_created?: number; + /** @description The number of users who generated pull request summaries using Copilot for Pull Requests in the given repository and model. */ + total_engaged_users?: number; + }[]; + }[]; + [key: string]: unknown; + } | null; + /** + * Copilot Usage Metrics + * @description Copilot usage metrics for a given day. + */ + "copilot-usage-metrics-day": { + /** + * Format: date + * @description The date for which the usage metrics are aggregated, in `YYYY-MM-DD` format. + */ + date: string; + /** @description The total number of Copilot users with activity belonging to any Copilot feature, globally, for the given day. Includes passive activity such as receiving a code suggestion, as well as engagement activity such as accepting a code suggestion or prompting chat. Does not include authentication events. Is not limited to the individual features detailed on the endpoint. */ + total_active_users?: number; + /** @description The total number of Copilot users who engaged with any Copilot feature, for the given day. Examples include but are not limited to accepting a code suggestion, prompting Copilot chat, or triggering a PR Summary. Does not include authentication events. Is not limited to the individual features detailed on the endpoint. */ + total_engaged_users?: number; + copilot_ide_code_completions?: components["schemas"]["copilot-ide-code-completions"]; + copilot_ide_chat?: components["schemas"]["copilot-ide-chat"]; + copilot_dotcom_chat?: components["schemas"]["copilot-dotcom-chat"]; + copilot_dotcom_pull_requests?: components["schemas"]["copilot-dotcom-pull-requests"]; + [key: string]: unknown; + }; + /** + * Copilot Usage Metrics + * @description Summary of Copilot usage. + */ + "copilot-usage-metrics": { + /** + * Format: date + * @description The date for which the usage metrics are reported, in `YYYY-MM-DD` format. + */ + day: string; + /** @description The total number of Copilot code completion suggestions shown to users. */ + total_suggestions_count?: number; + /** @description The total number of Copilot code completion suggestions accepted by users. */ + total_acceptances_count?: number; + /** @description The total number of lines of code completions suggested by Copilot. */ + total_lines_suggested?: number; + /** @description The total number of lines of code completions accepted by users. */ + total_lines_accepted?: number; + /** @description The total number of users who were shown Copilot code completion suggestions during the day specified. */ + total_active_users?: number; + /** @description The total instances of users who accepted code suggested by Copilot Chat in the IDE (panel and inline). */ + total_chat_acceptances?: number; + /** @description The total number of chat turns (prompt and response pairs) sent between users and Copilot Chat in the IDE. */ + total_chat_turns?: number; + /** @description The total number of users who interacted with Copilot Chat in the IDE during the day specified. */ + total_active_chat_users?: number; + /** @description Breakdown of Copilot code completions usage by language and editor */ + breakdown: + | { + /** @description The language in which Copilot suggestions were shown to users in the specified editor. */ + language?: string; + /** @description The editor in which Copilot suggestions were shown to users for the specified language. */ + editor?: string; + /** @description The number of Copilot suggestions shown to users in the editor specified during the day specified. */ + suggestions_count?: number; + /** @description The number of Copilot suggestions accepted by users in the editor specified during the day specified. */ + acceptances_count?: number; + /** @description The number of lines of code suggested by Copilot in the editor specified during the day specified. */ + lines_suggested?: number; + /** @description The number of lines of code accepted by users in the editor specified during the day specified. */ + lines_accepted?: number; + /** @description The number of users who were shown Copilot completion suggestions in the editor specified during the day specified. */ + active_users?: number; + [key: string]: unknown; + }[] + | null; + }; + /** + * Dependabot Secret for an Organization + * @description Secrets for GitHub Dependabot for an organization. + */ + "organization-dependabot-secret": { + /** + * @description The name of the secret. + * @example SECRET_TOKEN + */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** + * @description Visibility of a secret + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @example https://api.github.com/organizations/org/dependabot/secrets/my_secret/repositories + */ + selected_repositories_url?: string; + }; + /** + * DependabotPublicKey + * @description The public key used for setting Dependabot Secrets. + */ + "dependabot-public-key": { + /** + * @description The identifier for the key. + * @example 1234567 + */ + key_id: string; + /** + * @description The Base64 encoded public key. + * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= + */ + key: string; + }; + /** + * Minimal Repository + * @description Minimal Repository + */ + "nullable-minimal-repository": { + /** + * Format: int64 + * @example 1296269 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + owner: components["schemas"]["simple-user"]; + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + git_url?: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + ssh_url?: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + clone_url?: string; + mirror_url?: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + /** @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. */ + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + has_discussions?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at?: string | null; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + /** @example admin */ + role_name?: string; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + code_of_conduct?: components["schemas"]["code-of-conduct"]; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + /** @example 0 */ + forks?: number; + /** @example 0 */ + open_issues?: number; + /** @example 0 */ + watchers?: number; + allow_forking?: boolean; + /** @example false */ + web_commit_signoff_required?: boolean; + security_and_analysis?: components["schemas"]["security-and-analysis"]; + } | null; + /** + * Package + * @description A software package + */ + package: { + /** + * @description Unique identifier of the package. + * @example 1 + */ + id: number; + /** + * @description The name of the package. + * @example super-linter + */ + name: string; + /** + * @example docker + * @enum {string} + */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** @example https://api.github.com/orgs/github/packages/container/super-linter */ + url: string; + /** @example https://github.com/orgs/github/packages/container/package/super-linter */ + html_url: string; + /** + * @description The number of versions of the package. + * @example 1 + */ + version_count: number; + /** + * @example private + * @enum {string} + */ + visibility: "private" | "public"; + owner?: components["schemas"]["nullable-simple-user"]; + repository?: components["schemas"]["nullable-minimal-repository"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Organization Invitation + * @description Organization Invitation + */ + "organization-invitation": { + /** Format: int64 */ + id: number; + login: string | null; + email: string | null; + role: string; + created_at: string; + failed_at?: string | null; + failed_reason?: string | null; + inviter: components["schemas"]["simple-user"]; + team_count: number; + /** @example "MDIyOk9yZ2FuaXphdGlvbkludml0YXRpb24x" */ + node_id: string; + /** @example "https://api.github.com/organizations/16/invitations/1/teams" */ + invitation_teams_url: string; + /** @example "member" */ + invitation_source?: string; + }; + /** + * Org Hook + * @description Org Hook + */ + "org-hook": { + /** @example 1 */ + id: number; + /** + * Format: uri + * @example https://api.github.com/orgs/octocat/hooks/1 + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/octocat/hooks/1/pings + */ + ping_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/octocat/hooks/1/deliveries + */ + deliveries_url?: string; + /** @example web */ + name: string; + /** + * @example [ + * "push", + * "pull_request" + * ] + */ + events: string[]; + /** @example true */ + active: boolean; + config: { + /** @example "http://example.com/2" */ + url?: string; + /** @example "0" */ + insecure_ssl?: string; + /** @example "form" */ + content_type?: string; + /** @example "********" */ + secret?: string; + }; + /** + * Format: date-time + * @example 2011-09-06T20:39:23Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2011-09-06T17:26:27Z + */ + created_at: string; + type: string; + }; + /** + * Route Stats + * @description API Insights usage route stats for an actor + */ + "api-insights-route-stats": { + /** @description The HTTP method */ + http_method?: string; + /** @description The API path's route template */ + api_route?: string; + /** + * Format: int64 + * @description The total number of requests within the queried time period + */ + total_request_count?: number; + /** + * Format: int64 + * @description The total number of requests that were rate limited within the queried time period + */ + rate_limited_request_count?: number; + last_rate_limited_timestamp?: string | null; + last_request_timestamp?: string; + }[]; + /** + * Subject Stats + * @description API Insights usage subject stats for an organization + */ + "api-insights-subject-stats": { + subject_type?: string; + subject_name?: string; + /** Format: int64 */ + subject_id?: number; + total_request_count?: number; + rate_limited_request_count?: number; + last_rate_limited_timestamp?: string | null; + last_request_timestamp?: string; + }[]; + /** + * Summary Stats + * @description API Insights usage summary stats for an organization + */ + "api-insights-summary-stats": { + /** + * Format: int64 + * @description The total number of requests within the queried time period + */ + total_request_count?: number; + /** + * Format: int64 + * @description The total number of requests that were rate limited within the queried time period + */ + rate_limited_request_count?: number; + }; + /** + * Time Stats + * @description API Insights usage time stats for an organization + */ + "api-insights-time-stats": { + timestamp?: string; + /** Format: int64 */ + total_request_count?: number; + /** Format: int64 */ + rate_limited_request_count?: number; + }[]; + /** + * User Stats + * @description API Insights usage stats for a user + */ + "api-insights-user-stats": { + actor_type?: string; + actor_name?: string; + /** Format: int64 */ + actor_id?: number; + /** Format: int64 */ + integration_id?: number | null; + /** Format: int64 */ + oauth_application_id?: number | null; + total_request_count?: number; + rate_limited_request_count?: number; + last_rate_limited_timestamp?: string | null; + last_request_timestamp?: string; + }[]; + /** + * @description The type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect. + * @example collaborators_only + * @enum {string} + */ + "interaction-group": + | "existing_users" + | "contributors_only" + | "collaborators_only"; + /** + * Interaction Limits + * @description Interaction limit settings. + */ + "interaction-limit-response": { + limit: components["schemas"]["interaction-group"]; + /** @example repository */ + origin: string; + /** + * Format: date-time + * @example 2018-08-17T04:18:39Z + */ + expires_at: string; + }; + /** + * @description The duration of the interaction restriction. Default: `one_day`. + * @example one_month + * @enum {string} + */ + "interaction-expiry": + | "one_day" + | "three_days" + | "one_week" + | "one_month" + | "six_months"; + /** + * Interaction Restrictions + * @description Limit interactions to a specific type of user for a specified duration + */ + "interaction-limit": { + limit: components["schemas"]["interaction-group"]; + expiry?: components["schemas"]["interaction-expiry"]; + }; + "organization-create-issue-type": { + /** @description Name of the issue type. */ + name: string; + /** @description Whether or not the issue type is enabled at the organization level. */ + is_enabled: boolean; + /** @description Whether or not the issue type is restricted to issues in private repositories. */ + is_private?: boolean; + /** @description Description of the issue type. */ + description?: string | null; + /** + * @description Color for the issue type. + * @enum {string|null} + */ + color?: + | "gray" + | "blue" + | "green" + | "yellow" + | "orange" + | "red" + | "pink" + | "purple" + | null; + }; + "organization-update-issue-type": { + /** @description Name of the issue type. */ + name: string; + /** @description Whether or not the issue type is enabled at the organization level. */ + is_enabled: boolean; + /** @description Whether or not the issue type is restricted to issues in private repositories. */ + is_private?: boolean; + /** @description Description of the issue type. */ + description?: string | null; + /** + * @description Color for the issue type. + * @enum {string|null} + */ + color?: + | "gray" + | "blue" + | "green" + | "yellow" + | "orange" + | "red" + | "pink" + | "purple" + | null; + }; + /** + * Org Membership + * @description Org Membership + */ + "org-membership": { + /** + * Format: uri + * @example https://api.github.com/orgs/octocat/memberships/defunkt + */ + url: string; + /** + * @description The state of the member in the organization. The `pending` state indicates the user has not yet accepted an invitation. + * @example active + * @enum {string} + */ + state: "active" | "pending"; + /** + * @description The user's membership type in the organization. + * @example admin + * @enum {string} + */ + role: "admin" | "member" | "billing_manager"; + /** + * Format: uri + * @example https://api.github.com/orgs/octocat + */ + organization_url: string; + organization: components["schemas"]["organization-simple"]; + user: components["schemas"]["nullable-simple-user"]; + permissions?: { + can_create_repository: boolean; + }; + }; + /** + * Migration + * @description A migration. + */ + migration: { + /** + * Format: int64 + * @example 79 + */ + id: number; + owner: components["schemas"]["nullable-simple-user"]; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + guid: string; + /** @example pending */ + state: string; + /** @example true */ + lock_repositories: boolean; + exclude_metadata: boolean; + exclude_git_data: boolean; + exclude_attachments: boolean; + exclude_releases: boolean; + exclude_owner_projects: boolean; + org_metadata_only: boolean; + /** @description The repositories included in the migration. Only returned for export migrations. */ + repositories: components["schemas"]["repository"][]; + /** + * Format: uri + * @example https://api.github.com/orgs/octo-org/migrations/79 + */ + url: string; + /** + * Format: date-time + * @example 2015-07-06T15:33:38-07:00 + */ + created_at: string; + /** + * Format: date-time + * @example 2015-07-06T15:33:38-07:00 + */ + updated_at: string; + node_id: string; + /** Format: uri */ + archive_url?: string; + /** @description Exclude related items from being returned in the response in order to improve performance of the request. The array can include any of: `"repositories"`. */ + exclude?: string[]; + }; + /** + * Organization Role + * @description Organization roles + */ + "organization-role": { + /** + * Format: int64 + * @description The unique identifier of the role. + */ + id: number; + /** @description The name of the role. */ + name: string; + /** @description A short description about who this role is for or what permissions it grants. */ + description?: string | null; + /** + * @description The system role from which this role inherits permissions. + * @enum {string|null} + */ + base_role?: "read" | "triage" | "write" | "maintain" | "admin" | null; + /** + * @description Source answers the question, "where did this role come from?" + * @enum {string|null} + */ + source?: "Organization" | "Enterprise" | "Predefined" | null; + /** @description A list of permissions included in this role. */ + permissions: string[]; + organization: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @description The date and time the role was created. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time the role was last updated. + */ + updated_at: string; + }; + /** + * A Role Assignment for a Team + * @description The Relationship a Team has with a role. + */ + "team-role-assignment": { + /** + * @description Determines if the team has a direct, indirect, or mixed relationship to a role + * @example direct + * @enum {string} + */ + assignment?: "direct" | "indirect" | "mixed"; + id: number; + node_id: string; + name: string; + slug: string; + description: string | null; + privacy?: string; + notification_setting?: string; + permission: string; + permissions?: { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; + }; + /** Format: uri */ + url: string; + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ + html_url: string; + members_url: string; + /** Format: uri */ + repositories_url: string; + parent: components["schemas"]["nullable-team-simple"]; + }; + /** + * Team Simple + * @description Groups of organization members that gives permissions on specified repositories. + */ + "team-simple": { + /** + * @description Unique identifier of the team + * @example 1 + */ + id: number; + /** @example MDQ6VGVhbTE= */ + node_id: string; + /** + * Format: uri + * @description URL for the team + * @example https://api.github.com/organizations/1/team/1 + */ + url: string; + /** @example https://api.github.com/organizations/1/team/1/members{/member} */ + members_url: string; + /** + * @description Name of the team + * @example Justice League + */ + name: string; + /** + * @description Description of the team + * @example A great team. + */ + description: string | null; + /** + * @description Permission that the team will have for its repositories + * @example admin + */ + permission: string; + /** + * @description The level of privacy this team should have + * @example closed + */ + privacy?: string; + /** + * @description The notification setting the team has set + * @example notifications_enabled + */ + notification_setting?: string; + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/1/repos + */ + repositories_url: string; + /** @example justice-league */ + slug: string; + /** + * @description Distinguished Name (DN) that team maps to within LDAP environment + * @example uid=example,ou=users,dc=github,dc=com + */ + ldap_dn?: string; + }; + /** + * A Role Assignment for a User + * @description The Relationship a User has with a role. + */ + "user-role-assignment": { + /** + * @description Determines if the user has a direct, indirect, or mixed relationship to a role + * @example direct + * @enum {string} + */ + assignment?: "direct" | "indirect" | "mixed"; + /** @description Team the user has gotten the role through */ + inherited_from?: components["schemas"]["team-simple"][]; + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + /** @example public */ + user_view_type?: string; + }; + /** + * Package Version + * @description A version of a software package + */ + "package-version": { + /** + * @description Unique identifier of the package version. + * @example 1 + */ + id: number; + /** + * @description The name of the package version. + * @example latest + */ + name: string; + /** @example https://api.github.com/orgs/github/packages/container/super-linter/versions/786068 */ + url: string; + /** @example https://github.com/orgs/github/packages/container/package/super-linter */ + package_html_url: string; + /** @example https://github.com/orgs/github/packages/container/super-linter/786068 */ + html_url?: string; + /** @example MIT */ + license?: string; + description?: string; + /** + * Format: date-time + * @example 2011-04-10T20:09:31Z + */ + created_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + deleted_at?: string; + /** Package Version Metadata */ + metadata?: { + /** + * @example docker + * @enum {string} + */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** Container Metadata */ + container?: { + tags: string[]; + }; + /** Docker Metadata */ + docker?: { + tag?: string[]; + }; + }; + }; + /** + * Simple Organization Programmatic Access Grant Request + * @description Minimal representation of an organization programmatic access grant request for enumerations + */ + "organization-programmatic-access-grant-request": { + /** @description Unique identifier of the request for access via fine-grained personal access token. The `pat_request_id` used to review PAT requests. */ + id: number; + /** @description Reason for requesting access. */ + reason: string | null; + owner: components["schemas"]["simple-user"]; + /** + * @description Type of repository selection requested. + * @enum {string} + */ + repository_selection: "none" | "all" | "subset"; + /** @description URL to the list of repositories requested to be accessed via fine-grained personal access token. Should only be followed when `repository_selection` is `subset`. */ + repositories_url: string; + /** @description Permissions requested, categorized by type of permission. */ + permissions: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Date and time when the request for access was created. */ + created_at: string; + /** @description Unique identifier of the user's token. This field can also be found in audit log events and the organization's settings for their PAT grants. */ + token_id: number; + /** @description The name given to the user's token. This field can also be found in an organization's settings page for Active Tokens. */ + token_name: string; + /** @description Whether the associated fine-grained personal access token has expired. */ + token_expired: boolean; + /** @description Date and time when the associated fine-grained personal access token expires. */ + token_expires_at: string | null; + /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ + token_last_used_at: string | null; + }; + /** + * Organization Programmatic Access Grant + * @description Minimal representation of an organization programmatic access grant for enumerations + */ + "organization-programmatic-access-grant": { + /** @description Unique identifier of the fine-grained personal access token grant. The `pat_id` used to get details about an approved fine-grained personal access token. */ + id: number; + owner: components["schemas"]["simple-user"]; + /** + * @description Type of repository selection requested. + * @enum {string} + */ + repository_selection: "none" | "all" | "subset"; + /** @description URL to the list of repositories the fine-grained personal access token can access. Only follow when `repository_selection` is `subset`. */ + repositories_url: string; + /** @description Permissions requested, categorized by type of permission. */ + permissions: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Date and time when the fine-grained personal access token was approved to access the organization. */ + access_granted_at: string; + /** @description Unique identifier of the user's token. This field can also be found in audit log events and the organization's settings for their PAT grants. */ + token_id: number; + /** @description The name given to the user's token. This field can also be found in an organization's settings page for Active Tokens. */ + token_name: string; + /** @description Whether the associated fine-grained personal access token has expired. */ + token_expired: boolean; + /** @description Date and time when the associated fine-grained personal access token expires. */ + token_expires_at: string | null; + /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ + token_last_used_at: string | null; + }; + /** + * Organization private registry + * @description Private registry configuration for an organization + */ + "org-private-registry-configuration": { + /** + * @description The name of the private registry configuration. + * @example MAVEN_REPOSITORY_SECRET + */ + name: string; + /** + * @description The registry type. + * @enum {string} + */ + registry_type: "maven_repository"; + /** + * @description The username to use when authenticating with the private registry. + * @example monalisa + */ + username?: string | null; + /** + * @description Which type of organization repositories have access to the private registry. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Organization private registry + * @description Private registry configuration for an organization + */ + "org-private-registry-configuration-with-selected-repositories": { + /** + * @description The name of the private registry configuration. + * @example MAVEN_REPOSITORY_SECRET + */ + name: string; + /** + * @description The registry type. + * @enum {string} + */ + registry_type: "maven_repository"; + /** + * @description The username to use when authenticating with the private registry. + * @example monalisa + */ + username?: string; + /** + * @description Which type of organization repositories have access to the private registry. `selected` means only the repositories specified by `selected_repository_ids` can access the private registry. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository IDs that can access the organization private registry when `visibility` is set to `selected`. */ + selected_repository_ids?: number[]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Project + * @description Projects are a way to organize columns and cards of work. + */ + project: { + /** + * Format: uri + * @example https://api.github.com/repos/api-playground/projects-test + */ + owner_url: string; + /** + * Format: uri + * @example https://api.github.com/projects/1002604 + */ + url: string; + /** + * Format: uri + * @example https://github.com/api-playground/projects-test/projects/12 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/projects/1002604/columns + */ + columns_url: string; + /** @example 1002604 */ + id: number; + /** @example MDc6UHJvamVjdDEwMDI2MDQ= */ + node_id: string; + /** + * @description Name of the project + * @example Week One Sprint + */ + name: string; + /** + * @description Body of the project + * @example This project represents the sprint of the first week in January + */ + body: string | null; + /** @example 1 */ + number: number; + /** + * @description State of the project; either 'open' or 'closed' + * @example open + */ + state: string; + creator: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @example 2011-04-10T20:09:31Z + */ + created_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + updated_at: string; + /** + * @description The baseline permission that all organization members have on this project. Only present if owner is an organization. + * @enum {string} + */ + organization_permission?: "read" | "write" | "admin" | "none"; + /** @description Whether or not this project can be seen by everyone. Only present if owner is an organization. */ + private?: boolean; + }; + /** + * Organization Custom Property + * @description Custom property defined on an organization + */ + "custom-property": { + /** @description The name of the property */ + property_name: string; + /** + * Format: uri + * @description The URL that can be used to fetch, update, or delete info about this property via the API. + */ + url?: string; + /** + * @description The source type of the property + * @example organization + * @enum {string} + */ + source_type?: "organization" | "enterprise"; + /** + * @description The type of the value for the property + * @example single_select + * @enum {string} + */ + value_type: "string" | "single_select" | "multi_select" | "true_false"; + /** @description Whether the property is required. */ + required?: boolean; + /** @description Default value of the property */ + default_value?: string | string[] | null; + /** @description Short description of the property */ + description?: string | null; + /** + * @description An ordered list of the allowed values of the property. + * The property can have up to 200 allowed values. + */ + allowed_values?: string[] | null; + /** + * @description Who can edit the values of the property + * @example org_actors + * @enum {string|null} + */ + values_editable_by?: "org_actors" | "org_and_repo_actors" | null; + }; + /** + * Custom Property Set Payload + * @description Custom property set payload + */ + "custom-property-set-payload": { + /** + * @description The type of the value for the property + * @example single_select + * @enum {string} + */ + value_type: "string" | "single_select" | "multi_select" | "true_false"; + /** @description Whether the property is required. */ + required?: boolean; + /** @description Default value of the property */ + default_value?: string | string[] | null; + /** @description Short description of the property */ + description?: string | null; + /** + * @description An ordered list of the allowed values of the property. + * The property can have up to 200 allowed values. + */ + allowed_values?: string[] | null; + /** + * @description Who can edit the values of the property + * @example org_actors + * @enum {string|null} + */ + values_editable_by?: "org_actors" | "org_and_repo_actors" | null; + }; + /** + * Custom Property Value + * @description Custom property name and associated value + */ + "custom-property-value": { + /** @description The name of the property */ + property_name: string; + /** @description The value assigned to the property */ + value: string | string[] | null; + }; + /** + * Organization Repository Custom Property Values + * @description List of custom property values for a repository + */ + "org-repo-custom-property-values": { + /** @example 1296269 */ + repository_id: number; + /** @example Hello-World */ + repository_name: string; + /** @example octocat/Hello-World */ + repository_full_name: string; + /** @description List of custom property names and associated values */ + properties: components["schemas"]["custom-property-value"][]; + }; + /** + * Repository + * @description A repository on GitHub. + */ + "nullable-repository": { + /** + * Format: int64 + * @description Unique identifier of the repository + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + license: components["schemas"]["nullable-license-simple"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + owner: components["schemas"]["simple-user"]; + /** + * @description Whether the repository is private or public. + * @default false + */ + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** + * @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. + * @example 108 + */ + size: number; + /** + * @description The default branch of the repository. + * @example master + */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ + is_template?: boolean; + topics?: string[]; + /** + * @description Whether issues are enabled. + * @default true + * @example true + */ + has_issues: boolean; + /** + * @description Whether projects are enabled. + * @default true + * @example true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + * @example true + */ + has_wiki: boolean; + has_pages: boolean; + /** + * @deprecated + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; + /** + * @description Whether discussions are enabled. + * @default false + * @example true + */ + has_discussions?: boolean; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @default public + */ + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string | null; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_merge?: boolean; + temp_clone_token?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge?: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ + delete_branch_on_merge?: boolean; + /** + * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + * @default false + * @example false + */ + allow_update_branch?: boolean; + /** + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit?: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + */ + web_commit_signoff_required?: boolean; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + } | null; + /** + * Code Of Conduct Simple + * @description Code of Conduct Simple + */ + "code-of-conduct-simple": { + /** + * Format: uri + * @example https://api.github.com/repos/github/docs/community/code_of_conduct + */ + url: string; + /** @example citizen_code_of_conduct */ + key: string; + /** @example Citizen Code of Conduct */ + name: string; + /** + * Format: uri + * @example https://github.com/github/docs/blob/main/CODE_OF_CONDUCT.md + */ + html_url: string | null; + }; + /** + * Full Repository + * @description Full Repository + */ + "full-repository": { + /** + * Format: int64 + * @example 1296269 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + owner: components["schemas"]["simple-user"]; + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** + * @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. + * @example 108 + */ + size: number; + /** @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @example true */ + is_template?: boolean; + /** + * @example [ + * "octocat", + * "atom", + * "electron", + * "API" + * ] + */ + topics?: string[]; + /** @example true */ + has_issues: boolean; + /** @example true */ + has_projects: boolean; + /** @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @example true */ + has_downloads?: boolean; + /** @example true */ + has_discussions: boolean; + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @example public + */ + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + /** @example true */ + allow_rebase_merge?: boolean; + template_repository?: components["schemas"]["nullable-repository"]; + temp_clone_token?: string | null; + /** @example true */ + allow_squash_merge?: boolean; + /** @example false */ + allow_auto_merge?: boolean; + /** @example false */ + delete_branch_on_merge?: boolean; + /** @example true */ + allow_merge_commit?: boolean; + /** @example true */ + allow_update_branch?: boolean; + /** @example false */ + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @example PR_TITLE + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @example PR_BODY + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @example PR_TITLE + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @example PR_BODY + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @example true */ + allow_forking?: boolean; + /** @example false */ + web_commit_signoff_required?: boolean; + /** @example 42 */ + subscribers_count: number; + /** @example 0 */ + network_count: number; + license: components["schemas"]["nullable-license-simple"]; + organization?: components["schemas"]["nullable-simple-user"]; + parent?: components["schemas"]["repository"]; + source?: components["schemas"]["repository"]; + forks: number; + master_branch?: string; + open_issues: number; + watchers: number; + /** + * @description Whether anonymous git access is allowed. + * @default true + */ + anonymous_access_enabled?: boolean; + code_of_conduct?: components["schemas"]["code-of-conduct-simple"]; + security_and_analysis?: components["schemas"]["security-and-analysis"]; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + }; + /** + * @description The enforcement level of the ruleset. `evaluate` allows admins to test rules before enforcing them. Admins can view insights on the Rule Insights page (`evaluate` is only available with GitHub Enterprise). + * @enum {string} + */ + "repository-rule-enforcement": "disabled" | "active" | "evaluate"; + /** + * Repository Ruleset Bypass Actor + * @description An actor that can bypass rules in a ruleset + */ + "repository-ruleset-bypass-actor": { + /** @description The ID of the actor that can bypass a ruleset. If `actor_type` is `OrganizationAdmin`, this should be `1`. If `actor_type` is `DeployKey`, this should be null. `OrganizationAdmin` is not applicable for personal repositories. */ + actor_id?: number | null; + /** + * @description The type of actor that can bypass a ruleset. + * @enum {string} + */ + actor_type: + | "Integration" + | "OrganizationAdmin" + | "RepositoryRole" + | "Team" + | "DeployKey"; + /** + * @description When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. Also, `pull_request` is only applicable to branch rulesets. + * @default always + * @enum {string} + */ + bypass_mode?: "always" | "pull_request"; + }; + /** + * Repository ruleset conditions for ref names + * @description Parameters for a repository ruleset ref name condition + */ + "repository-ruleset-conditions": { + ref_name?: { + /** @description Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~DEFAULT_BRANCH` to include the default branch or `~ALL` to include all branches. */ + include?: string[]; + /** @description Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match. */ + exclude?: string[]; + }; + }; + /** + * Repository ruleset conditions for repository names + * @description Parameters for a repository name condition + */ + "repository-ruleset-conditions-repository-name-target": { + repository_name: { + /** @description Array of repository names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~ALL` to include all repositories. */ + include?: string[]; + /** @description Array of repository names or patterns to exclude. The condition will not pass if any of these patterns match. */ + exclude?: string[]; + /** @description Whether renaming of target repositories is prevented. */ + protected?: boolean; + }; + }; + /** + * Repository ruleset conditions for repository IDs + * @description Parameters for a repository ID condition + */ + "repository-ruleset-conditions-repository-id-target": { + repository_id: { + /** @description The repository IDs that the ruleset applies to. One of these IDs must match for the condition to pass. */ + repository_ids?: number[]; + }; + }; + /** + * Repository ruleset property targeting definition + * @description Parameters for a targeting a repository property + */ + "repository-ruleset-conditions-repository-property-spec": { + /** @description The name of the repository property to target */ + name: string; + /** @description The values to match for the repository property */ + property_values: string[]; + /** + * @description The source of the repository property. Defaults to 'custom' if not specified. + * @enum {string} + */ + source?: "custom" | "system"; + }; + /** + * Repository ruleset conditions for repository properties + * @description Parameters for a repository property condition + */ + "repository-ruleset-conditions-repository-property-target": { + repository_property: { + /** @description The repository properties and values to include. All of these properties must match for the condition to pass. */ + include?: components["schemas"]["repository-ruleset-conditions-repository-property-spec"][]; + /** @description The repository properties and values to exclude. The condition will not pass if any of these properties match. */ + exclude?: components["schemas"]["repository-ruleset-conditions-repository-property-spec"][]; + }; + }; + /** + * Organization ruleset conditions + * @description Conditions for an organization ruleset. + * The branch and tag rulesets conditions object should contain both `repository_name` and `ref_name` properties, or both `repository_id` and `ref_name` properties, or both `repository_property` and `ref_name` properties. + * The push rulesets conditions object does not require the `ref_name` property. + * For repository policy rulesets, the conditions object should only contain the `repository_name`, the `repository_id`, or the `repository_property`. + */ + "org-ruleset-conditions": + | (components["schemas"]["repository-ruleset-conditions"] & + components["schemas"]["repository-ruleset-conditions-repository-name-target"]) + | (components["schemas"]["repository-ruleset-conditions"] & + components["schemas"]["repository-ruleset-conditions-repository-id-target"]) + | (components["schemas"]["repository-ruleset-conditions"] & + components["schemas"]["repository-ruleset-conditions-repository-property-target"]); + /** + * creation + * @description Only allow users with bypass permission to create matching refs. + */ + "repository-rule-creation": { + /** @enum {string} */ + type: "creation"; + }; + /** + * update + * @description Only allow users with bypass permission to update matching refs. + */ + "repository-rule-update": { + /** @enum {string} */ + type: "update"; + parameters?: { + /** @description Branch can pull changes from its upstream repository */ + update_allows_fetch_and_merge: boolean; + }; + }; + /** + * deletion + * @description Only allow users with bypass permissions to delete matching refs. + */ + "repository-rule-deletion": { + /** @enum {string} */ + type: "deletion"; + }; + /** + * required_linear_history + * @description Prevent merge commits from being pushed to matching refs. + */ + "repository-rule-required-linear-history": { + /** @enum {string} */ + type: "required_linear_history"; + }; + /** + * merge_queue + * @description Merges must be performed via a merge queue. + */ + "repository-rule-merge-queue": { + /** @enum {string} */ + type: "merge_queue"; + parameters?: { + /** @description Maximum time for a required status check to report a conclusion. After this much time has elapsed, checks that have not reported a conclusion will be assumed to have failed */ + check_response_timeout_minutes: number; + /** + * @description When set to ALLGREEN, the merge commit created by merge queue for each PR in the group must pass all required checks to merge. When set to HEADGREEN, only the commit at the head of the merge group, i.e. the commit containing changes from all of the PRs in the group, must pass its required checks to merge. + * @enum {string} + */ + grouping_strategy: "ALLGREEN" | "HEADGREEN"; + /** @description Limit the number of queued pull requests requesting checks and workflow runs at the same time. */ + max_entries_to_build: number; + /** @description The maximum number of PRs that will be merged together in a group. */ + max_entries_to_merge: number; + /** + * @description Method to use when merging changes from queued pull requests. + * @enum {string} + */ + merge_method: "MERGE" | "SQUASH" | "REBASE"; + /** @description The minimum number of PRs that will be merged together in a group. */ + min_entries_to_merge: number; + /** @description The time merge queue should wait after the first PR is added to the queue for the minimum group size to be met. After this time has elapsed, the minimum group size will be ignored and a smaller group will be merged. */ + min_entries_to_merge_wait_minutes: number; + }; + }; + /** + * required_deployments + * @description Choose which environments must be successfully deployed to before refs can be pushed into a ref that matches this rule. + */ + "repository-rule-required-deployments": { + /** @enum {string} */ + type: "required_deployments"; + parameters?: { + /** @description The environments that must be successfully deployed to before branches can be merged. */ + required_deployment_environments: string[]; + }; + }; + /** + * required_signatures + * @description Commits pushed to matching refs must have verified signatures. + */ + "repository-rule-required-signatures": { + /** @enum {string} */ + type: "required_signatures"; + }; + /** + * Reviewer + * @description A required reviewing team + */ + "repository-rule-params-reviewer": { + /** @description ID of the reviewer which must review changes to matching files. */ + id: number; + /** + * @description The type of the reviewer + * @enum {string} + */ + type: "Team"; + }; + /** + * RequiredReviewerConfiguration + * @description A reviewing team, and file patterns describing which files they must approve changes to. + */ + "repository-rule-params-required-reviewer-configuration": { + /** @description Array of file patterns. Pull requests which change matching files must be approved by the specified team. File patterns use the same syntax as `.gitignore` files. */ + file_patterns: string[]; + /** @description Minimum number of approvals required from the specified team. If set to zero, the team will be added to the pull request but approval is optional. */ + minimum_approvals: number; + reviewer?: components["schemas"]["repository-rule-params-reviewer"]; + }; + /** + * pull_request + * @description Require all commits be made to a non-target branch and submitted via a pull request before they can be merged. + */ + "repository-rule-pull-request": { + /** @enum {string} */ + type: "pull_request"; + parameters?: { + /** @description Array of allowed merge methods. Allowed values include `merge`, `squash`, and `rebase`. At least one option must be enabled. */ + allowed_merge_methods?: string[]; + /** @description New, reviewable commits pushed will dismiss previous pull request review approvals. */ + dismiss_stale_reviews_on_push: boolean; + /** @description Require an approving review in pull requests that modify files that have a designated code owner. */ + require_code_owner_review: boolean; + /** @description Whether the most recent reviewable push must be approved by someone other than the person who pushed it. */ + require_last_push_approval: boolean; + /** @description The number of approving reviews that are required before a pull request can be merged. */ + required_approving_review_count: number; + /** @description All conversations on code must be resolved before a pull request can be merged. */ + required_review_thread_resolution: boolean; + }; + }; + /** + * StatusCheckConfiguration + * @description Required status check + */ + "repository-rule-params-status-check-configuration": { + /** @description The status check context name that must be present on the commit. */ + context: string; + /** @description The optional integration ID that this status check must originate from. */ + integration_id?: number; + }; + /** + * required_status_checks + * @description Choose which status checks must pass before the ref is updated. When enabled, commits must first be pushed to another ref where the checks pass. + */ + "repository-rule-required-status-checks": { + /** @enum {string} */ + type: "required_status_checks"; + parameters?: { + /** @description Allow repositories and branches to be created if a check would otherwise prohibit it. */ + do_not_enforce_on_create?: boolean; + /** @description Status checks that are required. */ + required_status_checks: components["schemas"]["repository-rule-params-status-check-configuration"][]; + /** @description Whether pull requests targeting a matching branch must be tested with the latest code. This setting will not take effect unless at least one status check is enabled. */ + strict_required_status_checks_policy: boolean; + }; + }; + /** + * non_fast_forward + * @description Prevent users with push access from force pushing to refs. + */ + "repository-rule-non-fast-forward": { + /** @enum {string} */ + type: "non_fast_forward"; + }; + /** + * commit_message_pattern + * @description Parameters to be used for the commit_message_pattern rule + */ + "repository-rule-commit-message-pattern": { + /** @enum {string} */ + type: "commit_message_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * commit_author_email_pattern + * @description Parameters to be used for the commit_author_email_pattern rule + */ + "repository-rule-commit-author-email-pattern": { + /** @enum {string} */ + type: "commit_author_email_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * committer_email_pattern + * @description Parameters to be used for the committer_email_pattern rule + */ + "repository-rule-committer-email-pattern": { + /** @enum {string} */ + type: "committer_email_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * branch_name_pattern + * @description Parameters to be used for the branch_name_pattern rule + */ + "repository-rule-branch-name-pattern": { + /** @enum {string} */ + type: "branch_name_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * tag_name_pattern + * @description Parameters to be used for the tag_name_pattern rule + */ + "repository-rule-tag-name-pattern": { + /** @enum {string} */ + type: "tag_name_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * RestrictedCommits + * @description Restricted commit + */ + "repository-rule-params-restricted-commits": { + /** @description Full or abbreviated commit hash to reject */ + oid: string; + /** @description Reason for restriction */ + reason?: string; + }; + /** + * WorkflowFileReference + * @description A workflow that must run for this rule to pass + */ + "repository-rule-params-workflow-file-reference": { + /** @description The path to the workflow file */ + path: string; + /** @description The ref (branch or tag) of the workflow file to use */ + ref?: string; + /** @description The ID of the repository where the workflow is defined */ + repository_id: number; + /** @description The commit SHA of the workflow file to use */ + sha?: string; + }; + /** + * workflows + * @description Require all changes made to a targeted branch to pass the specified workflows before they can be merged. + */ + "repository-rule-workflows": { + /** @enum {string} */ + type: "workflows"; + parameters?: { + /** @description Allow repositories and branches to be created if a check would otherwise prohibit it. */ + do_not_enforce_on_create?: boolean; + /** @description Workflows that must pass for this rule to pass. */ + workflows: components["schemas"]["repository-rule-params-workflow-file-reference"][]; + }; + }; + /** + * CodeScanningTool + * @description A tool that must provide code scanning results for this rule to pass. + */ + "repository-rule-params-code-scanning-tool": { + /** + * @description The severity level at which code scanning results that raise alerts block a reference update. For more information on alert severity levels, see "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels)." + * @enum {string} + */ + alerts_threshold: "none" | "errors" | "errors_and_warnings" | "all"; + /** + * @description The severity level at which code scanning results that raise security alerts block a reference update. For more information on security severity levels, see "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts#about-alert-severity-and-security-severity-levels)." + * @enum {string} + */ + security_alerts_threshold: + | "none" + | "critical" + | "high_or_higher" + | "medium_or_higher" + | "all"; + /** @description The name of a code scanning tool */ + tool: string; + }; + /** + * code_scanning + * @description Choose which tools must provide code scanning results before the reference is updated. When configured, code scanning must be enabled and have results for both the commit and the reference being updated. + */ + "repository-rule-code-scanning": { + /** @enum {string} */ + type: "code_scanning"; + parameters?: { + /** @description Tools that must provide code scanning results for this rule to pass. */ + code_scanning_tools: components["schemas"]["repository-rule-params-code-scanning-tool"][]; + }; + }; + /** + * Repository Rule + * @description A repository rule. + */ + "repository-rule": + | components["schemas"]["repository-rule-creation"] + | components["schemas"]["repository-rule-update"] + | components["schemas"]["repository-rule-deletion"] + | components["schemas"]["repository-rule-required-linear-history"] + | components["schemas"]["repository-rule-merge-queue"] + | components["schemas"]["repository-rule-required-deployments"] + | components["schemas"]["repository-rule-required-signatures"] + | components["schemas"]["repository-rule-pull-request"] + | components["schemas"]["repository-rule-required-status-checks"] + | components["schemas"]["repository-rule-non-fast-forward"] + | components["schemas"]["repository-rule-commit-message-pattern"] + | components["schemas"]["repository-rule-commit-author-email-pattern"] + | components["schemas"]["repository-rule-committer-email-pattern"] + | components["schemas"]["repository-rule-branch-name-pattern"] + | components["schemas"]["repository-rule-tag-name-pattern"] + | { + /** @enum {string} */ + type: "file_path_restriction"; + parameters?: { + /** @description The file paths that are restricted from being pushed to the commit graph. */ + restricted_file_paths: string[]; + }; + } + | { + /** @enum {string} */ + type: "max_file_path_length"; + parameters?: { + /** @description The maximum amount of characters allowed in file paths */ + max_file_path_length: number; + }; + } + | { + /** @enum {string} */ + type: "file_extension_restriction"; + parameters?: { + /** @description The file extensions that are restricted from being pushed to the commit graph. */ + restricted_file_extensions: string[]; + }; + } + | { + /** @enum {string} */ + type: "max_file_size"; + parameters?: { + /** @description The maximum file size allowed in megabytes. This limit does not apply to Git Large File Storage (Git LFS). */ + max_file_size: number; + }; + } + | components["schemas"]["repository-rule-workflows"] + | components["schemas"]["repository-rule-code-scanning"]; + /** + * Repository ruleset + * @description A set of rules to apply when specified conditions are met. + */ + "repository-ruleset": { + /** @description The ID of the ruleset */ + id: number; + /** @description The name of the ruleset */ + name: string; + /** + * @description The target of the ruleset + * @enum {string} + */ + target?: "branch" | "tag" | "push" | "repository"; + /** + * @description The type of the source of the ruleset + * @enum {string} + */ + source_type?: "Repository" | "Organization" | "Enterprise"; + /** @description The name of the source */ + source: string; + enforcement: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + /** + * @description The bypass type of the user making the API request for this ruleset. This field is only returned when + * querying the repository-level endpoint. + * @enum {string} + */ + current_user_can_bypass?: "always" | "pull_requests_only" | "never"; + node_id?: string; + _links?: { + self?: { + /** @description The URL of the ruleset */ + href?: string; + }; + html?: { + /** @description The html URL of the ruleset */ + href?: string; + } | null; + }; + conditions?: + | ( + | components["schemas"]["repository-ruleset-conditions"] + | components["schemas"]["org-ruleset-conditions"] + ) + | null; + rules?: components["schemas"]["repository-rule"][]; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + }; + /** + * Rule Suites + * @description Response + */ + "rule-suites": { + /** @description The unique identifier of the rule insight. */ + id?: number; + /** @description The number that identifies the user. */ + actor_id?: number; + /** @description The handle for the GitHub user account. */ + actor_name?: string; + /** @description The first commit sha before the push evaluation. */ + before_sha?: string; + /** @description The last commit sha in the push evaluation. */ + after_sha?: string; + /** @description The ref name that the evaluation ran on. */ + ref?: string; + /** @description The ID of the repository associated with the rule evaluation. */ + repository_id?: number; + /** @description The name of the repository without the `.git` extension. */ + repository_name?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at?: string; + /** + * @description The result of the rule evaluations for rules with the `active` enforcement status. + * @enum {string} + */ + result?: "pass" | "fail" | "bypass"; + /** + * @description The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`. + * @enum {string} + */ + evaluation_result?: "pass" | "fail" | "bypass"; + }[]; + /** + * Rule Suite + * @description Response + */ + "rule-suite": { + /** @description The unique identifier of the rule insight. */ + id?: number; + /** @description The number that identifies the user. */ + actor_id?: number | null; + /** @description The handle for the GitHub user account. */ + actor_name?: string | null; + /** @description The first commit sha before the push evaluation. */ + before_sha?: string; + /** @description The last commit sha in the push evaluation. */ + after_sha?: string; + /** @description The ref name that the evaluation ran on. */ + ref?: string; + /** @description The ID of the repository associated with the rule evaluation. */ + repository_id?: number; + /** @description The name of the repository without the `.git` extension. */ + repository_name?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at?: string; + /** + * @description The result of the rule evaluations for rules with the `active` enforcement status. + * @enum {string} + */ + result?: "pass" | "fail" | "bypass"; + /** + * @description The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`. Null if no rules with `evaluate` enforcement status were run. + * @enum {string|null} + */ + evaluation_result?: "pass" | "fail" | "bypass" | null; + /** @description Details on the evaluated rules. */ + rule_evaluations?: { + rule_source?: { + /** @description The type of rule source. */ + type?: string; + /** @description The ID of the rule source. */ + id?: number | null; + /** @description The name of the rule source. */ + name?: string | null; + }; + /** + * @description The enforcement level of this rule source. + * @enum {string} + */ + enforcement?: "active" | "evaluate" | "deleted ruleset"; + /** + * @description The result of the evaluation of the individual rule. + * @enum {string} + */ + result?: "pass" | "fail"; + /** @description The type of rule. */ + rule_type?: string; + /** @description The detailed failure message for the rule. Null if the rule passed. */ + details?: string | null; + }[]; + }; + /** + * Ruleset version + * @description The historical version of a ruleset + */ + "ruleset-version": { + /** @description The ID of the previous version of the ruleset */ + version_id: number; + /** @description The actor who updated the ruleset */ + actor: { + id?: number; + type?: string; + }; + /** Format: date-time */ + updated_at: string; + }; + "ruleset-version-with-state": components["schemas"]["ruleset-version"] & { + /** @description The state of the ruleset version */ + state: Record; + }; + /** @description A product affected by the vulnerability detailed in a repository security advisory. */ + "repository-advisory-vulnerability": { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name: string | null; + } | null; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range: string | null; + /** @description The package version(s) that resolve the vulnerability. */ + patched_versions: string | null; + /** @description The functions in the package that are affected. */ + vulnerable_functions: string[] | null; + }; + /** @description A credit given to a user for a repository security advisory. */ + "repository-advisory-credit": { + user: components["schemas"]["simple-user"]; + type: components["schemas"]["security-advisory-credit-types"]; + /** + * @description The state of the user's acceptance of the credit. + * @enum {string} + */ + state: "accepted" | "declined" | "pending"; + }; + /** @description A repository security advisory. */ + "repository-advisory": { + /** @description The GitHub Security Advisory ID. */ + ghsa_id: string; + /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ + cve_id: string | null; + /** + * Format: uri + * @description The API URL for the advisory. + */ + url: string; + /** + * Format: uri + * @description The URL for the advisory. + */ + html_url: string; + /** @description A short summary of the advisory. */ + summary: string; + /** @description A detailed description of what the advisory entails. */ + description: string | null; + /** + * @description The severity of the advisory. + * @enum {string|null} + */ + severity: "critical" | "high" | "medium" | "low" | null; + /** @description The author of the advisory. */ + author: components["schemas"]["simple-user"] | null; + /** @description The publisher of the advisory. */ + publisher: components["schemas"]["simple-user"] | null; + identifiers: readonly { + /** + * @description The type of identifier. + * @enum {string} + */ + type: "CVE" | "GHSA"; + /** @description The identifier value. */ + value: string; + }[]; + /** + * @description The state of the advisory. + * @enum {string} + */ + state: "published" | "closed" | "withdrawn" | "draft" | "triage"; + /** + * Format: date-time + * @description The date and time of when the advisory was created, in ISO 8601 format. + */ + created_at: string | null; + /** + * Format: date-time + * @description The date and time of when the advisory was last updated, in ISO 8601 format. + */ + updated_at: string | null; + /** + * Format: date-time + * @description The date and time of when the advisory was published, in ISO 8601 format. + */ + published_at: string | null; + /** + * Format: date-time + * @description The date and time of when the advisory was closed, in ISO 8601 format. + */ + closed_at: string | null; + /** + * Format: date-time + * @description The date and time of when the advisory was withdrawn, in ISO 8601 format. + */ + withdrawn_at: string | null; + submission: { + /** @description Whether a private vulnerability report was accepted by the repository's administrators. */ + readonly accepted: boolean; + } | null; + vulnerabilities: + | components["schemas"]["repository-advisory-vulnerability"][] + | null; + cvss: { + /** @description The CVSS vector. */ + vector_string: string | null; + /** @description The CVSS score. */ + score: number | null; + } | null; + cvss_severities?: components["schemas"]["cvss-severities"]; + cwes: + | readonly { + /** @description The Common Weakness Enumeration (CWE) identifier. */ + cwe_id: string; + /** @description The name of the CWE. */ + name: string; + }[] + | null; + /** @description A list of only the CWE IDs. */ + cwe_ids: string[] | null; + credits: + | { + /** @description The username of the user credited. */ + login?: string; + type?: components["schemas"]["security-advisory-credit-types"]; + }[] + | null; + credits_detailed: + | readonly components["schemas"]["repository-advisory-credit"][] + | null; + /** @description A list of users that collaborate on the advisory. */ + collaborating_users: components["schemas"]["simple-user"][] | null; + /** @description A list of teams that collaborate on the advisory. */ + collaborating_teams: components["schemas"]["team"][] | null; + /** @description A temporary private fork of the advisory's repository for collaborating on a fix. */ + private_fork: components["schemas"]["simple-repository"] | null; + }; + "actions-billing-usage": { + /** @description The sum of the free and paid GitHub Actions minutes used. */ + total_minutes_used: number; + /** @description The total paid GitHub Actions minutes used. */ + total_paid_minutes_used: number; + /** @description The amount of free GitHub Actions minutes available. */ + included_minutes: number; + minutes_used_breakdown: { + /** @description Total minutes used on Ubuntu runner machines. */ + UBUNTU?: number; + /** @description Total minutes used on macOS runner machines. */ + MACOS?: number; + /** @description Total minutes used on Windows runner machines. */ + WINDOWS?: number; + /** @description Total minutes used on Ubuntu 4 core runner machines. */ + ubuntu_4_core?: number; + /** @description Total minutes used on Ubuntu 8 core runner machines. */ + ubuntu_8_core?: number; + /** @description Total minutes used on Ubuntu 16 core runner machines. */ + ubuntu_16_core?: number; + /** @description Total minutes used on Ubuntu 32 core runner machines. */ + ubuntu_32_core?: number; + /** @description Total minutes used on Ubuntu 64 core runner machines. */ + ubuntu_64_core?: number; + /** @description Total minutes used on Windows 4 core runner machines. */ + windows_4_core?: number; + /** @description Total minutes used on Windows 8 core runner machines. */ + windows_8_core?: number; + /** @description Total minutes used on Windows 16 core runner machines. */ + windows_16_core?: number; + /** @description Total minutes used on Windows 32 core runner machines. */ + windows_32_core?: number; + /** @description Total minutes used on Windows 64 core runner machines. */ + windows_64_core?: number; + /** @description Total minutes used on macOS 12 core runner machines. */ + macos_12_core?: number; + /** @description Total minutes used on all runner machines. */ + total?: number; + }; + }; + "packages-billing-usage": { + /** @description Sum of the free and paid storage space (GB) for GitHuub Packages. */ + total_gigabytes_bandwidth_used: number; + /** @description Total paid storage space (GB) for GitHuub Packages. */ + total_paid_gigabytes_bandwidth_used: number; + /** @description Free storage space (GB) for GitHub Packages. */ + included_gigabytes_bandwidth: number; + }; + "combined-billing-usage": { + /** @description Numbers of days left in billing cycle. */ + days_left_in_billing_cycle: number; + /** @description Estimated storage space (GB) used in billing cycle. */ + estimated_paid_storage_for_month: number; + /** @description Estimated sum of free and paid storage space (GB) used in billing cycle. */ + estimated_storage_for_month: number; + }; + /** + * Hosted compute network configuration + * @description A hosted compute network configuration. + */ + "network-configuration": { + /** + * @description The unique identifier of the network configuration. + * @example 123ABC456DEF789 + */ + id: string; + /** + * @description The name of the network configuration. + * @example my-network-configuration + */ + name: string; + /** + * @description The hosted compute service the network configuration supports. + * @enum {string} + */ + compute_service?: "none" | "actions" | "codespaces"; + /** + * @description The unique identifier of each network settings in the configuration. + * @example 123ABC456DEF789 + */ + network_settings_ids?: string[]; + /** + * Format: date-time + * @description The time at which the network configuration was created, in ISO 8601 format. + * @example 2024-04-26T11:31:07Z + */ + created_on: string | null; + }; + /** + * Hosted compute network settings resource + * @description A hosted compute network settings resource. + */ + "network-settings": { + /** + * @description The unique identifier of the network settings resource. + * @example 220F78DACB92BBFBC5E6F22DE1CCF52309D + */ + id: string; + /** + * @description The identifier of the network configuration that is using this settings resource. + * @example 934E208B3EE0BD60CF5F752C426BFB53562 + */ + network_configuration_id?: string; + /** + * @description The name of the network settings resource. + * @example my-network-settings + */ + name: string; + /** + * @description The subnet this network settings resource is configured for. + * @example /subscriptions/14839728-3ad9-43ab-bd2b-fa6ad0f75e2a/resourceGroups/my-rg/providers/Microsoft.Network/virtualNetworks/my-vnet/subnets/my-subnet + */ + subnet_id: string; + /** + * @description The location of the subnet this network settings resource is configured for. + * @example eastus + */ + region: string; + }; + /** + * Team Organization + * @description Team Organization + */ + "team-organization": { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/repos + */ + repos_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/events + */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + /** @example github */ + name?: string; + /** @example GitHub */ + company?: string; + /** + * Format: uri + * @example https://github.com/blog + */ + blog?: string; + /** @example San Francisco */ + location?: string; + /** + * Format: email + * @example octocat@github.com + */ + email?: string; + /** @example github */ + twitter_username?: string | null; + /** @example true */ + is_verified?: boolean; + /** @example true */ + has_organization_projects: boolean; + /** @example true */ + has_repository_projects: boolean; + /** @example 2 */ + public_repos: number; + /** @example 1 */ + public_gists: number; + /** @example 20 */ + followers: number; + /** @example 0 */ + following: number; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ + created_at: string; + /** @example Organization */ + type: string; + /** @example 100 */ + total_private_repos?: number; + /** @example 100 */ + owned_private_repos?: number; + /** @example 81 */ + private_gists?: number | null; + /** @example 10000 */ + disk_usage?: number | null; + /** @example 8 */ + collaborators?: number | null; + /** + * Format: email + * @example org@example.com + */ + billing_email?: string | null; + plan?: { + name: string; + space: number; + private_repos: number; + filled_seats?: number; + seats?: number; + }; + default_repository_permission?: string | null; + /** @example true */ + members_can_create_repositories?: boolean | null; + /** @example true */ + two_factor_requirement_enabled?: boolean | null; + /** @example all */ + members_allowed_repository_creation_type?: string; + /** @example true */ + members_can_create_public_repositories?: boolean; + /** @example true */ + members_can_create_private_repositories?: boolean; + /** @example true */ + members_can_create_internal_repositories?: boolean; + /** @example true */ + members_can_create_pages?: boolean; + /** @example true */ + members_can_create_public_pages?: boolean; + /** @example true */ + members_can_create_private_pages?: boolean; + /** @example false */ + members_can_fork_private_repositories?: boolean | null; + /** @example false */ + web_commit_signoff_required?: boolean; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + archived_at: string | null; + }; + /** + * Full Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + "team-full": { + /** + * @description Unique identifier of the team + * @example 42 + */ + id: number; + /** @example MDQ6VGVhbTE= */ + node_id: string; + /** + * Format: uri + * @description URL for the team + * @example https://api.github.com/organizations/1/team/1 + */ + url: string; + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ + html_url: string; + /** + * @description Name of the team + * @example Developers + */ + name: string; + /** @example justice-league */ + slug: string; + /** @example A great team. */ + description: string | null; + /** + * @description The level of privacy this team should have + * @example closed + * @enum {string} + */ + privacy?: "closed" | "secret"; + /** + * @description The notification setting the team has set + * @example notifications_enabled + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** + * @description Permission that the team will have for its repositories + * @example push + */ + permission: string; + /** @example https://api.github.com/organizations/1/team/1/members{/member} */ + members_url: string; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/1/repos + */ + repositories_url: string; + parent?: components["schemas"]["nullable-team-simple"]; + /** @example 3 */ + members_count: number; + /** @example 10 */ + repos_count: number; + /** + * Format: date-time + * @example 2017-07-14T16:53:42Z + */ + created_at: string; + /** + * Format: date-time + * @example 2017-08-17T12:37:15Z + */ + updated_at: string; + organization: components["schemas"]["team-organization"]; + /** + * @description Distinguished Name (DN) that team maps to within LDAP environment + * @example uid=example,ou=users,dc=github,dc=com + */ + ldap_dn?: string; + }; + /** + * Team Discussion + * @description A team discussion is a persistent record of a free-form conversation within a team. + */ + "team-discussion": { + author: components["schemas"]["nullable-simple-user"]; + /** + * @description The main text of the discussion. + * @example Please suggest improvements to our workflow in comments. + */ + body: string; + /** @example

Hi! This is an area for us to collaborate as a team

*/ + body_html: string; + /** + * @description The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server. + * @example 0307116bbf7ced493b8d8a346c650b71 + */ + body_version: string; + /** @example 0 */ + comments_count: number; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/2343027/discussions/1/comments + */ + comments_url: string; + /** + * Format: date-time + * @example 2018-01-25T18:56:31Z + */ + created_at: string; + /** Format: date-time */ + last_edited_at: string | null; + /** + * Format: uri + * @example https://github.com/orgs/github/teams/justice-league/discussions/1 + */ + html_url: string; + /** @example MDE0OlRlYW1EaXNjdXNzaW9uMQ== */ + node_id: string; + /** + * @description The unique sequence number of a team discussion. + * @example 42 + */ + number: number; + /** + * @description Whether or not this discussion should be pinned for easy retrieval. + * @example true + */ + pinned: boolean; + /** + * @description Whether or not this discussion should be restricted to team members and organization owners. + * @example true + */ + private: boolean; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/2343027 + */ + team_url: string; + /** + * @description The title of the discussion. + * @example How can we improve our workflow? + */ + title: string; + /** + * Format: date-time + * @example 2018-01-25T18:56:31Z + */ + updated_at: string; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/2343027/discussions/1 + */ + url: string; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Team Discussion Comment + * @description A reply to a discussion within a team. + */ + "team-discussion-comment": { + author: components["schemas"]["nullable-simple-user"]; + /** + * @description The main text of the comment. + * @example I agree with this suggestion. + */ + body: string; + /** @example

Do you like apples?

*/ + body_html: string; + /** + * @description The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server. + * @example 0307116bbf7ced493b8d8a346c650b71 + */ + body_version: string; + /** + * Format: date-time + * @example 2018-01-15T23:53:58Z + */ + created_at: string; + /** Format: date-time */ + last_edited_at: string | null; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/2403582/discussions/1 + */ + discussion_url: string; + /** + * Format: uri + * @example https://github.com/orgs/github/teams/justice-league/discussions/1/comments/1 + */ + html_url: string; + /** @example MDIxOlRlYW1EaXNjdXNzaW9uQ29tbWVudDE= */ + node_id: string; + /** + * @description The unique sequence number of a team discussion comment. + * @example 42 + */ + number: number; + /** + * Format: date-time + * @example 2018-01-15T23:53:58Z + */ + updated_at: string; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/2403582/discussions/1/comments/1 + */ + url: string; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Reaction + * @description Reactions to conversations provide a way to help people express their feelings more simply and effectively. + */ + reaction: { + /** @example 1 */ + id: number; + /** @example MDg6UmVhY3Rpb24x */ + node_id: string; + user: components["schemas"]["nullable-simple-user"]; + /** + * @description The reaction to use + * @example heart + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + /** + * Format: date-time + * @example 2016-05-20T20:09:31Z + */ + created_at: string; + }; + /** + * Team Membership + * @description Team Membership + */ + "team-membership": { + /** Format: uri */ + url: string; + /** + * @description The role of the user in the team. + * @default member + * @example member + * @enum {string} + */ + role: "member" | "maintainer"; + /** + * @description The state of the user's membership in the team. + * @enum {string} + */ + state: "active" | "pending"; + }; + /** + * Team Project + * @description A team's access to a project. + */ + "team-project": { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string | null; + number: number; + state: string; + creator: components["schemas"]["simple-user"]; + created_at: string; + updated_at: string; + /** @description The organization permission for this project. Only present when owner is an organization. */ + organization_permission?: string; + /** @description Whether the project is private or not. Only present when owner is an organization. */ + private?: boolean; + permissions: { + read: boolean; + write: boolean; + admin: boolean; + }; + }; + /** + * Team Repository + * @description A team's access to a repository. + */ + "team-repository": { + /** + * @description Unique identifier of the repository + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + license: components["schemas"]["nullable-license-simple"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + /** @example admin */ + role_name?: string; + owner: components["schemas"]["nullable-simple-user"]; + /** + * @description Whether the repository is private or public. + * @default false + */ + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @example 108 */ + size: number; + /** + * @description The default branch of the repository. + * @example master + */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ + is_template?: boolean; + topics?: string[]; + /** + * @description Whether issues are enabled. + * @default true + * @example true + */ + has_issues: boolean; + /** + * @description Whether projects are enabled. + * @default true + * @example true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + * @example true + */ + has_wiki: boolean; + has_pages: boolean; + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @default public + */ + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string | null; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_merge?: boolean; + temp_clone_token?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge?: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ + delete_branch_on_merge?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow forking this repo + * @default false + * @example false + */ + allow_forking?: boolean; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + * @example false + */ + web_commit_signoff_required?: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + }; + /** + * Project Card + * @description Project cards represent a scope of work. + */ + "project-card": { + /** + * Format: uri + * @example https://api.github.com/projects/columns/cards/1478 + */ + url: string; + /** + * Format: int64 + * @description The project card's ID + * @example 42 + */ + id: number; + /** @example MDExOlByb2plY3RDYXJkMTQ3OA== */ + node_id: string; + /** @example Add payload for delete Project column */ + note: string | null; + creator: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @example 2016-09-05T14:21:06Z + */ + created_at: string; + /** + * Format: date-time + * @example 2016-09-05T14:20:22Z + */ + updated_at: string; + /** + * @description Whether or not the card is archived + * @example false + */ + archived?: boolean; + column_name?: string; + project_id?: string; + /** + * Format: uri + * @example https://api.github.com/projects/columns/367 + */ + column_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/api-playground/projects-test/issues/3 + */ + content_url?: string; + /** + * Format: uri + * @example https://api.github.com/projects/120 + */ + project_url: string; + }; + /** + * Project Column + * @description Project columns contain cards of work. + */ + "project-column": { + /** + * Format: uri + * @example https://api.github.com/projects/columns/367 + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/projects/120 + */ + project_url: string; + /** + * Format: uri + * @example https://api.github.com/projects/columns/367/cards + */ + cards_url: string; + /** + * @description The unique identifier of the project column + * @example 42 + */ + id: number; + /** @example MDEzOlByb2plY3RDb2x1bW4zNjc= */ + node_id: string; + /** + * @description Name of the project column + * @example Remaining tasks + */ + name: string; + /** + * Format: date-time + * @example 2016-09-05T14:18:44Z + */ + created_at: string; + /** + * Format: date-time + * @example 2016-09-05T14:22:28Z + */ + updated_at: string; + }; + /** + * Project Collaborator Permission + * @description Project Collaborator Permission + */ + "project-collaborator-permission": { + permission: string; + user: components["schemas"]["nullable-simple-user"]; + }; + /** Rate Limit */ + "rate-limit": { + limit: number; + remaining: number; + reset: number; + used: number; + }; + /** + * Rate Limit Overview + * @description Rate Limit Overview + */ + "rate-limit-overview": { + resources: { + core: components["schemas"]["rate-limit"]; + graphql?: components["schemas"]["rate-limit"]; + search: components["schemas"]["rate-limit"]; + code_search?: components["schemas"]["rate-limit"]; + source_import?: components["schemas"]["rate-limit"]; + integration_manifest?: components["schemas"]["rate-limit"]; + code_scanning_upload?: components["schemas"]["rate-limit"]; + actions_runner_registration?: components["schemas"]["rate-limit"]; + scim?: components["schemas"]["rate-limit"]; + dependency_snapshots?: components["schemas"]["rate-limit"]; + code_scanning_autofix?: components["schemas"]["rate-limit"]; + }; + rate: components["schemas"]["rate-limit"]; + }; + /** + * Artifact + * @description An artifact + */ + artifact: { + /** @example 5 */ + id: number; + /** @example MDEwOkNoZWNrU3VpdGU1 */ + node_id: string; + /** + * @description The name of the artifact. + * @example AdventureWorks.Framework + */ + name: string; + /** + * @description The size in bytes of the artifact. + * @example 12345 + */ + size_in_bytes: number; + /** @example https://api.github.com/repos/github/hello-world/actions/artifacts/5 */ + url: string; + /** @example https://api.github.com/repos/github/hello-world/actions/artifacts/5/zip */ + archive_download_url: string; + /** @description Whether or not the artifact has expired. */ + expired: boolean; + /** Format: date-time */ + created_at: string | null; + /** Format: date-time */ + expires_at: string | null; + /** Format: date-time */ + updated_at: string | null; + /** + * @description The SHA256 digest of the artifact. This field will only be populated on artifacts uploaded with upload-artifact v4 or newer. For older versions, this field will be null. + * @example sha256:cfc3236bdad15b5898bca8408945c9e19e1917da8704adc20eaa618444290a8c + */ + digest?: string | null; + workflow_run?: { + /** @example 10 */ + id?: number; + /** @example 42 */ + repository_id?: number; + /** @example 42 */ + head_repository_id?: number; + /** @example main */ + head_branch?: string; + /** @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d */ + head_sha?: string; + } | null; + }; + /** + * Repository actions caches + * @description Repository actions caches + */ + "actions-cache-list": { + /** + * @description Total number of caches + * @example 2 + */ + total_count: number; + /** @description Array of caches */ + actions_caches: { + /** @example 2 */ + id?: number; + /** @example refs/heads/main */ + ref?: string; + /** @example Linux-node-958aff96db2d75d67787d1e634ae70b659de937b */ + key?: string; + /** @example 73885106f58cc52a7df9ec4d4a5622a5614813162cb516c759a30af6bf56e6f0 */ + version?: string; + /** + * Format: date-time + * @example 2019-01-24T22:45:36.000Z + */ + last_accessed_at?: string; + /** + * Format: date-time + * @example 2019-01-24T22:45:36.000Z + */ + created_at?: string; + /** @example 1024 */ + size_in_bytes?: number; + }[]; + }; + /** + * Job + * @description Information of a job execution in a workflow run + */ + job: { + /** + * @description The id of the job. + * @example 21 + */ + id: number; + /** + * @description The id of the associated workflow run. + * @example 5 + */ + run_id: number; + /** @example https://api.github.com/repos/github/hello-world/actions/runs/5 */ + run_url: string; + /** + * @description Attempt number of the associated workflow run, 1 for first attempt and higher if the workflow was re-run. + * @example 1 + */ + run_attempt?: number; + /** @example MDg6Q2hlY2tSdW40 */ + node_id: string; + /** + * @description The SHA of the commit that is being run. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + */ + head_sha: string; + /** @example https://api.github.com/repos/github/hello-world/actions/jobs/21 */ + url: string; + /** @example https://github.com/github/hello-world/runs/4 */ + html_url: string | null; + /** + * @description The phase of the lifecycle that the job is currently in. + * @example queued + * @enum {string} + */ + status: + | "queued" + | "in_progress" + | "completed" + | "waiting" + | "requested" + | "pending"; + /** + * @description The outcome of the job. + * @example success + * @enum {string|null} + */ + conclusion: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "skipped" + | "timed_out" + | "action_required" + | null; + /** + * Format: date-time + * @description The time that the job created, in ISO 8601 format. + * @example 2019-08-08T08:00:00-07:00 + */ + created_at: string; + /** + * Format: date-time + * @description The time that the job started, in ISO 8601 format. + * @example 2019-08-08T08:00:00-07:00 + */ + started_at: string; + /** + * Format: date-time + * @description The time that the job finished, in ISO 8601 format. + * @example 2019-08-08T08:00:00-07:00 + */ + completed_at: string | null; + /** + * @description The name of the job. + * @example test-coverage + */ + name: string; + /** @description Steps in this job. */ + steps?: { + /** + * @description The phase of the lifecycle that the job is currently in. + * @example queued + * @enum {string} + */ + status: "queued" | "in_progress" | "completed"; + /** + * @description The outcome of the job. + * @example success + */ + conclusion: string | null; + /** + * @description The name of the job. + * @example test-coverage + */ + name: string; + /** @example 1 */ + number: number; + /** + * Format: date-time + * @description The time that the step started, in ISO 8601 format. + * @example 2019-08-08T08:00:00-07:00 + */ + started_at?: string | null; + /** + * Format: date-time + * @description The time that the job finished, in ISO 8601 format. + * @example 2019-08-08T08:00:00-07:00 + */ + completed_at?: string | null; + }[]; + /** @example https://api.github.com/repos/github/hello-world/check-runs/4 */ + check_run_url: string; + /** + * @description Labels for the workflow job. Specified by the "runs_on" attribute in the action's workflow file. + * @example [ + * "self-hosted", + * "foo", + * "bar" + * ] + */ + labels: string[]; + /** + * @description The ID of the runner to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) + * @example 1 + */ + runner_id: number | null; + /** + * @description The name of the runner to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) + * @example my runner + */ + runner_name: string | null; + /** + * @description The ID of the runner group to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) + * @example 2 + */ + runner_group_id: number | null; + /** + * @description The name of the runner group to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) + * @example my runner group + */ + runner_group_name: string | null; + /** + * @description The name of the workflow. + * @example Build + */ + workflow_name: string | null; + /** + * @description The name of the current branch. + * @example main + */ + head_branch: string | null; + }; + /** + * Actions OIDC subject customization for a repository + * @description Actions OIDC subject customization for a repository + */ + "oidc-custom-sub-repo": { + /** @description Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored. */ + use_default: boolean; + /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ + include_claim_keys?: string[]; + }; + /** + * Actions Secret + * @description Set secrets for GitHub Actions. + */ + "actions-secret": { + /** + * @description The name of the secret. + * @example SECRET_TOKEN + */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** Actions Variable */ + "actions-variable": { + /** + * @description The name of the variable. + * @example USERNAME + */ + name: string; + /** + * @description The value of the variable. + * @example octocat + */ + value: string; + /** + * Format: date-time + * @description The date and time at which the variable was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + * @example 2019-01-24T22:45:36.000Z + */ + created_at: string; + /** + * Format: date-time + * @description The date and time at which the variable was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + * @example 2019-01-24T22:45:36.000Z + */ + updated_at: string; + }; + /** @description Whether GitHub Actions is enabled on the repository. */ + "actions-enabled": boolean; + "actions-repository-permissions": { + enabled: components["schemas"]["actions-enabled"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + selected_actions_url?: components["schemas"]["selected-actions-url"]; + }; + "actions-workflow-access-to-repository": { + /** + * @description Defines the level of access that workflows outside of the repository have to actions and reusable workflows within the + * repository. + * + * `none` means the access is only possible from workflows in this repository. `user` level access allows sharing across user owned private repositories only. `organization` level access allows sharing across the organization. + * @enum {string} + */ + access_level: "none" | "user" | "organization"; + }; + /** + * Referenced workflow + * @description A workflow referenced/reused by the initial caller workflow + */ + "referenced-workflow": { + path: string; + sha: string; + ref?: string; + }; + /** Pull Request Minimal */ + "pull-request-minimal": { + /** Format: int64 */ + id: number; + number: number; + url: string; + head: { + ref: string; + sha: string; + repo: { + /** Format: int64 */ + id: number; + url: string; + name: string; + }; + }; + base: { + ref: string; + sha: string; + repo: { + /** Format: int64 */ + id: number; + url: string; + name: string; + }; + }; + }; + /** + * Simple Commit + * @description A commit. + */ + "nullable-simple-commit": { + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + id: string; + /** @description SHA for the commit's tree */ + tree_id: string; + /** + * @description Message describing the purpose of the commit + * @example Fix #42 + */ + message: string; + /** + * Format: date-time + * @description Timestamp of the commit + * @example 2014-08-09T08:02:04+12:00 + */ + timestamp: string; + /** @description Information about the Git author */ + author: { + /** + * @description Name of the commit's author + * @example Monalisa Octocat + */ + name: string; + /** + * Format: email + * @description Git email address of the commit's author + * @example monalisa.octocat@example.com + */ + email: string; + } | null; + /** @description Information about the Git committer */ + committer: { + /** + * @description Name of the commit's committer + * @example Monalisa Octocat + */ + name: string; + /** + * Format: email + * @description Git email address of the commit's committer + * @example monalisa.octocat@example.com + */ + email: string; + } | null; + } | null; + /** + * Workflow Run + * @description An invocation of a workflow + */ + "workflow-run": { + /** + * @description The ID of the workflow run. + * @example 5 + */ + id: number; + /** + * @description The name of the workflow run. + * @example Build + */ + name?: string | null; + /** @example MDEwOkNoZWNrU3VpdGU1 */ + node_id: string; + /** + * @description The ID of the associated check suite. + * @example 42 + */ + check_suite_id?: number; + /** + * @description The node ID of the associated check suite. + * @example MDEwOkNoZWNrU3VpdGU0Mg== + */ + check_suite_node_id?: string; + /** @example master */ + head_branch: string | null; + /** + * @description The SHA of the head commit that points to the version of the workflow being run. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + */ + head_sha: string; + /** + * @description The full path of the workflow + * @example octocat/octo-repo/.github/workflows/ci.yml@main + */ + path: string; + /** + * @description The auto incrementing run number for the workflow run. + * @example 106 + */ + run_number: number; + /** + * @description Attempt number of the run, 1 for first attempt and higher if the workflow was re-run. + * @example 1 + */ + run_attempt?: number; + referenced_workflows?: + | components["schemas"]["referenced-workflow"][] + | null; + /** @example push */ + event: string; + /** @example completed */ + status: string | null; + /** @example neutral */ + conclusion: string | null; + /** + * @description The ID of the parent workflow. + * @example 5 + */ + workflow_id: number; + /** + * @description The URL to the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5 + */ + url: string; + /** @example https://github.com/github/hello-world/suites/4 */ + html_url: string; + /** @description Pull requests that are open with a `head_sha` or `head_branch` that matches the workflow run. The returned pull requests do not necessarily indicate pull requests that triggered the run. */ + pull_requests: components["schemas"]["pull-request-minimal"][] | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + actor?: components["schemas"]["simple-user"]; + triggering_actor?: components["schemas"]["simple-user"]; + /** + * Format: date-time + * @description The start time of the latest run. Resets on re-run. + */ + run_started_at?: string; + /** + * @description The URL to the jobs for the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/jobs + */ + jobs_url: string; + /** + * @description The URL to download the logs for the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/logs + */ + logs_url: string; + /** + * @description The URL to the associated check suite. + * @example https://api.github.com/repos/github/hello-world/check-suites/12 + */ + check_suite_url: string; + /** + * @description The URL to the artifacts for the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun/artifacts + */ + artifacts_url: string; + /** + * @description The URL to cancel the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/cancel + */ + cancel_url: string; + /** + * @description The URL to rerun the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun + */ + rerun_url: string; + /** + * @description The URL to the previous attempted run of this workflow, if one exists. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/attempts/3 + */ + previous_attempt_url?: string | null; + /** + * @description The URL to the workflow. + * @example https://api.github.com/repos/github/hello-world/actions/workflows/main.yaml + */ + workflow_url: string; + head_commit: components["schemas"]["nullable-simple-commit"]; + repository: components["schemas"]["minimal-repository"]; + head_repository: components["schemas"]["minimal-repository"]; + /** @example 5 */ + head_repository_id?: number; + /** + * @description The event-specific title associated with the run or the run-name if set, or the value of `run-name` if it is set in the workflow. + * @example Simple Workflow + */ + display_title: string; + }; + /** + * Environment Approval + * @description An entry in the reviews log for environment deployments + */ + "environment-approvals": { + /** @description The list of environments that were approved or rejected */ + environments: { + /** + * @description The id of the environment. + * @example 56780428 + */ + id?: number; + /** @example MDExOkVudmlyb25tZW50NTY3ODA0Mjg= */ + node_id?: string; + /** + * @description The name of the environment. + * @example staging + */ + name?: string; + /** @example https://api.github.com/repos/github/hello-world/environments/staging */ + url?: string; + /** @example https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging */ + html_url?: string; + /** + * Format: date-time + * @description The time that the environment was created, in ISO 8601 format. + * @example 2020-11-23T22:00:40Z + */ + created_at?: string; + /** + * Format: date-time + * @description The time that the environment was last updated, in ISO 8601 format. + * @example 2020-11-23T22:00:40Z + */ + updated_at?: string; + }[]; + /** + * @description Whether deployment to the environment(s) was approved or rejected or pending (with comments) + * @example approved + * @enum {string} + */ + state: "approved" | "rejected" | "pending"; + user: components["schemas"]["simple-user"]; + /** + * @description The comment submitted with the deployment review + * @example Ship it! + */ + comment: string; + }; + "review-custom-gates-comment-required": { + /** @description The name of the environment to approve or reject. */ + environment_name: string; + /** @description Comment associated with the pending deployment protection rule. **Required when state is not provided.** */ + comment: string; + }; + "review-custom-gates-state-required": { + /** @description The name of the environment to approve or reject. */ + environment_name: string; + /** + * @description Whether to approve or reject deployment to the specified environments. + * @enum {string} + */ + state: "approved" | "rejected"; + /** @description Optional comment to include with the review. */ + comment?: string; + }; + /** + * @description The type of reviewer. + * @example User + * @enum {string} + */ + "deployment-reviewer-type": "User" | "Team"; + /** + * Pending Deployment + * @description Details of a deployment that is waiting for protection rules to pass + */ + "pending-deployment": { + environment: { + /** + * Format: int64 + * @description The id of the environment. + * @example 56780428 + */ + id?: number; + /** @example MDExOkVudmlyb25tZW50NTY3ODA0Mjg= */ + node_id?: string; + /** + * @description The name of the environment. + * @example staging + */ + name?: string; + /** @example https://api.github.com/repos/github/hello-world/environments/staging */ + url?: string; + /** @example https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging */ + html_url?: string; + }; + /** + * @description The set duration of the wait timer + * @example 30 + */ + wait_timer: number; + /** + * Format: date-time + * @description The time that the wait timer began. + * @example 2020-11-23T22:00:40Z + */ + wait_timer_started_at: string | null; + /** + * @description Whether the currently authenticated user can approve the deployment + * @example true + */ + current_user_can_approve: boolean; + /** @description The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ + reviewers: { + type?: components["schemas"]["deployment-reviewer-type"]; + reviewer?: + | components["schemas"]["simple-user"] + | components["schemas"]["team"]; + }[]; + }; + /** + * Deployment + * @description A request for a specific ref(branch,sha,tag) to be deployed + */ + deployment: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example/deployments/1 + */ + url: string; + /** + * Format: int64 + * @description Unique identifier of the deployment + * @example 42 + */ + id: number; + /** @example MDEwOkRlcGxveW1lbnQx */ + node_id: string; + /** @example a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d */ + sha: string; + /** + * @description The ref to deploy. This can be a branch, tag, or sha. + * @example topic-branch + */ + ref: string; + /** + * @description Parameter to specify a task to execute + * @example deploy + */ + task: string; + payload: OneOf< + [ + { + [key: string]: unknown; + }, + string, + ] + >; + /** @example staging */ + original_environment?: string; + /** + * @description Name for the target deployment environment. + * @example production + */ + environment: string; + /** @example Deploy request from hubot */ + description: string | null; + creator: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @example 2012-07-20T01:19:13Z + */ + created_at: string; + /** + * Format: date-time + * @example 2012-07-20T01:19:13Z + */ + updated_at: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example/deployments/1/statuses + */ + statuses_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example + */ + repository_url: string; + /** + * @description Specifies if the given environment is will no longer exist at some point in the future. Default: false. + * @example true + */ + transient_environment?: boolean; + /** + * @description Specifies if the given environment is one that end-users directly interact with. Default: false. + * @example true + */ + production_environment?: boolean; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + }; + /** + * Workflow Run Usage + * @description Workflow Run Usage + */ + "workflow-run-usage": { + billable: { + UBUNTU?: { + total_ms: number; + jobs: number; + job_runs?: { + job_id: number; + duration_ms: number; + }[]; + }; + MACOS?: { + total_ms: number; + jobs: number; + job_runs?: { + job_id: number; + duration_ms: number; + }[]; + }; + WINDOWS?: { + total_ms: number; + jobs: number; + job_runs?: { + job_id: number; + duration_ms: number; + }[]; + }; + }; + run_duration_ms?: number; + }; + /** + * Workflow + * @description A GitHub Actions workflow + */ + workflow: { + /** @example 5 */ + id: number; + /** @example MDg6V29ya2Zsb3cxMg== */ + node_id: string; + /** @example CI */ + name: string; + /** @example ruby.yaml */ + path: string; + /** + * @example active + * @enum {string} + */ + state: + | "active" + | "deleted" + | "disabled_fork" + | "disabled_inactivity" + | "disabled_manually"; + /** + * Format: date-time + * @example 2019-12-06T14:20:20.000Z + */ + created_at: string; + /** + * Format: date-time + * @example 2019-12-06T14:20:20.000Z + */ + updated_at: string; + /** @example https://api.github.com/repos/actions/setup-ruby/workflows/5 */ + url: string; + /** @example https://github.com/actions/setup-ruby/blob/master/.github/workflows/ruby.yaml */ + html_url: string; + /** @example https://github.com/actions/setup-ruby/workflows/CI/badge.svg */ + badge_url: string; + /** + * Format: date-time + * @example 2019-12-06T14:20:20.000Z + */ + deleted_at?: string; + }; + /** + * Workflow Usage + * @description Workflow Usage + */ + "workflow-usage": { + billable: { + UBUNTU?: { + total_ms?: number; + }; + MACOS?: { + total_ms?: number; + }; + WINDOWS?: { + total_ms?: number; + }; + }; + }; + /** + * Activity + * @description Activity + */ + activity: { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The SHA of the commit before the activity. + * @example 6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + before: string; + /** + * @description The SHA of the commit after the activity. + * @example 827efc6d56897b048c772eb4087f854f46256132 + */ + after: string; + /** + * @description The full Git reference, formatted as `refs/heads/`. + * @example refs/heads/main + */ + ref: string; + /** + * Format: date-time + * @description The time when the activity occurred. + * @example 2011-01-26T19:06:43Z + */ + timestamp: string; + /** + * @description The type of the activity that was performed. + * @example force_push + * @enum {string} + */ + activity_type: + | "push" + | "force_push" + | "branch_deletion" + | "branch_creation" + | "pr_merge" + | "merge_queue_merge"; + actor: components["schemas"]["nullable-simple-user"]; + }; + /** + * Autolink reference + * @description An autolink reference. + */ + autolink: { + /** @example 3 */ + id: number; + /** + * @description The prefix of a key that is linkified. + * @example TICKET- + */ + key_prefix: string; + /** + * @description A template for the target URL that is generated if a key was found. + * @example https://example.com/TICKET?query= + */ + url_template: string; + /** + * @description Whether this autolink reference matches alphanumeric characters. If false, this autolink reference only matches numeric characters. + * @example true + */ + is_alphanumeric: boolean; + }; + /** + * Check Dependabot security updates + * @description Check Dependabot security updates + */ + "check-automated-security-fixes": { + /** + * @description Whether Dependabot security updates are enabled for the repository. + * @example true + */ + enabled: boolean; + /** + * @description Whether Dependabot security updates are paused for the repository. + * @example false + */ + paused: boolean; + }; + /** + * Protected Branch Required Status Check + * @description Protected Branch Required Status Check + */ + "protected-branch-required-status-check": { + url?: string; + enforcement_level?: string; + contexts: string[]; + checks: { + context: string; + app_id: number | null; + }[]; + contexts_url?: string; + strict?: boolean; + }; + /** + * Protected Branch Admin Enforced + * @description Protected Branch Admin Enforced + */ + "protected-branch-admin-enforced": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/enforce_admins + */ + url: string; + /** @example true */ + enabled: boolean; + }; + /** + * Protected Branch Pull Request Review + * @description Protected Branch Pull Request Review + */ + "protected-branch-pull-request-review": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions + */ + url?: string; + dismissal_restrictions?: { + /** @description The list of users with review dismissal access. */ + users?: components["schemas"]["simple-user"][]; + /** @description The list of teams with review dismissal access. */ + teams?: components["schemas"]["team"][]; + /** @description The list of apps with review dismissal access. */ + apps?: components["schemas"]["integration"][]; + /** @example "https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions" */ + url?: string; + /** @example "https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/users" */ + users_url?: string; + /** @example "https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/teams" */ + teams_url?: string; + }; + /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ + bypass_pull_request_allowances?: { + /** @description The list of users allowed to bypass pull request requirements. */ + users?: components["schemas"]["simple-user"][]; + /** @description The list of teams allowed to bypass pull request requirements. */ + teams?: components["schemas"]["team"][]; + /** @description The list of apps allowed to bypass pull request requirements. */ + apps?: components["schemas"]["integration"][]; + }; + /** @example true */ + dismiss_stale_reviews: boolean; + /** @example true */ + require_code_owner_reviews: boolean; + /** @example 2 */ + required_approving_review_count?: number; + /** + * @description Whether the most recent push must be approved by someone other than the person who pushed it. + * @default false + * @example true + */ + require_last_push_approval?: boolean; + }; + /** + * Branch Restriction Policy + * @description Branch Restriction Policy + */ + "branch-restriction-policy": { + /** Format: uri */ + url: string; + /** Format: uri */ + users_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri */ + apps_url: string; + users: { + login?: string; + /** Format: int64 */ + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + user_view_type?: string; + }[]; + teams: { + id?: number; + node_id?: string; + url?: string; + html_url?: string; + name?: string; + slug?: string; + description?: string | null; + privacy?: string; + notification_setting?: string; + permission?: string; + members_url?: string; + repositories_url?: string; + parent?: string | null; + }[]; + apps: { + id?: number; + slug?: string; + node_id?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + url?: string; + repos_url?: string; + events_url?: string; + hooks_url?: string; + issues_url?: string; + members_url?: string; + public_members_url?: string; + avatar_url?: string; + description?: string; + /** @example "" */ + gravatar_id?: string; + /** @example "https://github.com/testorg-ea8ec76d71c3af4b" */ + html_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/followers" */ + followers_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/following{/other_user}" */ + following_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/gists{/gist_id}" */ + gists_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/starred{/owner}{/repo}" */ + starred_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/subscriptions" */ + subscriptions_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/orgs" */ + organizations_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/received_events" */ + received_events_url?: string; + /** @example "Organization" */ + type?: string; + /** @example false */ + site_admin?: boolean; + /** @example public */ + user_view_type?: string; + }; + name?: string; + client_id?: string; + description?: string; + external_url?: string; + html_url?: string; + created_at?: string; + updated_at?: string; + permissions?: { + metadata?: string; + contents?: string; + issues?: string; + single_file?: string; + }; + events?: string[]; + }[]; + }; + /** + * Branch Protection + * @description Branch Protection + */ + "branch-protection": { + url?: string; + enabled?: boolean; + required_status_checks?: components["schemas"]["protected-branch-required-status-check"]; + enforce_admins?: components["schemas"]["protected-branch-admin-enforced"]; + required_pull_request_reviews?: components["schemas"]["protected-branch-pull-request-review"]; + restrictions?: components["schemas"]["branch-restriction-policy"]; + required_linear_history?: { + enabled?: boolean; + }; + allow_force_pushes?: { + enabled?: boolean; + }; + allow_deletions?: { + enabled?: boolean; + }; + block_creations?: { + enabled?: boolean; + }; + required_conversation_resolution?: { + enabled?: boolean; + }; + /** @example "branch/with/protection" */ + name?: string; + /** @example "https://api.github.com/repos/owner-79e94e2d36b3fd06a32bb213/AAA_Public_Repo/branches/branch/with/protection/protection" */ + protection_url?: string; + required_signatures?: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures + */ + url: string; + /** @example true */ + enabled: boolean; + }; + /** @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. */ + lock_branch?: { + /** @default false */ + enabled?: boolean; + }; + /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. */ + allow_fork_syncing?: { + /** @default false */ + enabled?: boolean; + }; + }; + /** + * Short Branch + * @description Short Branch + */ + "short-branch": { + name: string; + commit: { + sha: string; + /** Format: uri */ + url: string; + }; + protected: boolean; + protection?: components["schemas"]["branch-protection"]; + /** Format: uri */ + protection_url?: string; + }; + /** + * Git User + * @description Metaproperties for Git author/committer information. + */ + "nullable-git-user": { + /** @example "Chris Wanstrath" */ + name?: string; + /** @example "chris@ozmm.org" */ + email?: string; + /** @example "2007-10-29T02:42:39.000-07:00" */ + date?: string; + } | null; + /** Verification */ + verification: { + verified: boolean; + reason: string; + payload: string | null; + signature: string | null; + verified_at: string | null; + }; + /** + * Diff Entry + * @description Diff Entry + */ + "diff-entry": { + /** @example bbcd538c8e72b8c175046e27cc8f907076331401 */ + sha: string; + /** @example file1.txt */ + filename: string; + /** + * @example added + * @enum {string} + */ + status: + | "added" + | "removed" + | "modified" + | "renamed" + | "copied" + | "changed" + | "unchanged"; + /** @example 103 */ + additions: number; + /** @example 21 */ + deletions: number; + /** @example 124 */ + changes: number; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/blob/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt + */ + blob_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/raw/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt + */ + raw_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/contents/file1.txt?ref=6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + contents_url: string; + /** @example @@ -132,7 +132,7 @@ module Test @@ -1000,7 +1000,7 @@ module Test */ + patch?: string; + /** @example file.txt */ + previous_filename?: string; + }; + /** + * Commit + * @description Commit + */ + commit: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + url: string; + /** @example 6dcb09b5b57875f334f61aebed695e2e4193db5e */ + sha: string; + /** @example MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ== */ + node_id: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments + */ + comments_url: string; + commit: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + url: string; + author: components["schemas"]["nullable-git-user"]; + committer: components["schemas"]["nullable-git-user"]; + /** @example Fix all the bugs */ + message: string; + /** @example 0 */ + comment_count: number; + tree: { + /** @example 827efc6d56897b048c772eb4087f854f46256132 */ + sha: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/tree/827efc6d56897b048c772eb4087f854f46256132 + */ + url: string; + }; + verification?: components["schemas"]["verification"]; + }; + author: + | components["schemas"]["simple-user"] + | components["schemas"]["empty-object"] + | null; + committer: + | components["schemas"]["simple-user"] + | components["schemas"]["empty-object"] + | null; + parents: { + /** @example 7638417db6d59f3c431d3e1f261cc637155684cd */ + sha: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/commits/7638417db6d59f3c431d3e1f261cc637155684cd + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/commit/7638417db6d59f3c431d3e1f261cc637155684cd + */ + html_url?: string; + }[]; + stats?: { + additions?: number; + deletions?: number; + total?: number; + }; + files?: components["schemas"]["diff-entry"][]; + }; + /** + * Branch With Protection + * @description Branch With Protection + */ + "branch-with-protection": { + name: string; + commit: components["schemas"]["commit"]; + _links: { + html: string; + /** Format: uri */ + self: string; + }; + protected: boolean; + protection: components["schemas"]["branch-protection"]; + /** Format: uri */ + protection_url: string; + /** @example "mas*" */ + pattern?: string; + /** @example 1 */ + required_approving_review_count?: number; + }; + /** + * Status Check Policy + * @description Status Check Policy + */ + "status-check-policy": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks + */ + url: string; + /** @example true */ + strict: boolean; + /** + * @example [ + * "continuous-integration/travis-ci" + * ] + */ + contexts: string[]; + checks: { + /** @example continuous-integration/travis-ci */ + context: string; + app_id: number | null; + }[]; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks/contexts + */ + contexts_url: string; + }; + /** + * Protected Branch + * @description Branch protections protect branches + */ + "protected-branch": { + /** Format: uri */ + url: string; + required_status_checks?: components["schemas"]["status-check-policy"]; + required_pull_request_reviews?: { + /** Format: uri */ + url: string; + dismiss_stale_reviews?: boolean; + require_code_owner_reviews?: boolean; + required_approving_review_count?: number; + /** + * @description Whether the most recent push must be approved by someone other than the person who pushed it. + * @default false + */ + require_last_push_approval?: boolean; + dismissal_restrictions?: { + /** Format: uri */ + url: string; + /** Format: uri */ + users_url: string; + /** Format: uri */ + teams_url: string; + users: components["schemas"]["simple-user"][]; + teams: components["schemas"]["team"][]; + apps?: components["schemas"]["integration"][]; + }; + bypass_pull_request_allowances?: { + users: components["schemas"]["simple-user"][]; + teams: components["schemas"]["team"][]; + apps?: components["schemas"]["integration"][]; + }; + }; + required_signatures?: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures + */ + url: string; + /** @example true */ + enabled: boolean; + }; + enforce_admins?: { + /** Format: uri */ + url: string; + enabled: boolean; + }; + required_linear_history?: { + enabled: boolean; + }; + allow_force_pushes?: { + enabled: boolean; + }; + allow_deletions?: { + enabled: boolean; + }; + restrictions?: components["schemas"]["branch-restriction-policy"]; + required_conversation_resolution?: { + enabled?: boolean; + }; + block_creations?: { + enabled: boolean; + }; + /** @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. */ + lock_branch?: { + /** @default false */ + enabled?: boolean; + }; + /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. */ + allow_fork_syncing?: { + /** @default false */ + enabled?: boolean; + }; + }; + /** + * Deployment + * @description A deployment created as the result of an Actions check run from a workflow that references an environment + */ + "deployment-simple": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example/deployments/1 + */ + url: string; + /** + * @description Unique identifier of the deployment + * @example 42 + */ + id: number; + /** @example MDEwOkRlcGxveW1lbnQx */ + node_id: string; + /** + * @description Parameter to specify a task to execute + * @example deploy + */ + task: string; + /** @example staging */ + original_environment?: string; + /** + * @description Name for the target deployment environment. + * @example production + */ + environment: string; + /** @example Deploy request from hubot */ + description: string | null; + /** + * Format: date-time + * @example 2012-07-20T01:19:13Z + */ + created_at: string; + /** + * Format: date-time + * @example 2012-07-20T01:19:13Z + */ + updated_at: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example/deployments/1/statuses + */ + statuses_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example + */ + repository_url: string; + /** + * @description Specifies if the given environment is will no longer exist at some point in the future. Default: false. + * @example true + */ + transient_environment?: boolean; + /** + * @description Specifies if the given environment is one that end-users directly interact with. Default: false. + * @example true + */ + production_environment?: boolean; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + }; + /** + * CheckRun + * @description A check performed on the code of a given code change + */ + "check-run": { + /** + * Format: int64 + * @description The id of the check. + * @example 21 + */ + id: number; + /** + * @description The SHA of the commit that is being checked. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + */ + head_sha: string; + /** @example MDg6Q2hlY2tSdW40 */ + node_id: string; + /** @example 42 */ + external_id: string | null; + /** @example https://api.github.com/repos/github/hello-world/check-runs/4 */ + url: string; + /** @example https://github.com/github/hello-world/runs/4 */ + html_url: string | null; + /** @example https://example.com */ + details_url: string | null; + /** + * @description The phase of the lifecycle that the check is currently in. Statuses of waiting, requested, and pending are reserved for GitHub Actions check runs. + * @example queued + * @enum {string} + */ + status: + | "queued" + | "in_progress" + | "completed" + | "waiting" + | "requested" + | "pending"; + /** + * @example neutral + * @enum {string|null} + */ + conclusion: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "skipped" + | "timed_out" + | "action_required" + | null; + /** + * Format: date-time + * @example 2018-05-04T01:14:52Z + */ + started_at: string | null; + /** + * Format: date-time + * @example 2018-05-04T01:14:52Z + */ + completed_at: string | null; + output: { + title: string | null; + summary: string | null; + text: string | null; + annotations_count: number; + /** Format: uri */ + annotations_url: string; + }; + /** + * @description The name of the check. + * @example test-coverage + */ + name: string; + check_suite: { + id: number; + } | null; + app: components["schemas"]["nullable-integration"]; + /** @description Pull requests that are open with a `head_sha` or `head_branch` that matches the check. The returned pull requests do not necessarily indicate pull requests that triggered the check. */ + pull_requests: components["schemas"]["pull-request-minimal"][]; + deployment?: components["schemas"]["deployment-simple"]; + }; + /** + * Check Annotation + * @description Check Annotation + */ + "check-annotation": { + /** @example README.md */ + path: string; + /** @example 2 */ + start_line: number; + /** @example 2 */ + end_line: number; + /** @example 5 */ + start_column: number | null; + /** @example 10 */ + end_column: number | null; + /** @example warning */ + annotation_level: string | null; + /** @example Spell Checker */ + title: string | null; + /** @example Check your spelling for 'banaas'. */ + message: string | null; + /** @example Do you mean 'bananas' or 'banana'? */ + raw_details: string | null; + blob_href: string; + }; + /** + * Simple Commit + * @description A commit. + */ + "simple-commit": { + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + id: string; + /** @description SHA for the commit's tree */ + tree_id: string; + /** + * @description Message describing the purpose of the commit + * @example Fix #42 + */ + message: string; + /** + * Format: date-time + * @description Timestamp of the commit + * @example 2014-08-09T08:02:04+12:00 + */ + timestamp: string; + /** @description Information about the Git author */ + author: { + /** + * @description Name of the commit's author + * @example Monalisa Octocat + */ + name: string; + /** + * Format: email + * @description Git email address of the commit's author + * @example monalisa.octocat@example.com + */ + email: string; + } | null; + /** @description Information about the Git committer */ + committer: { + /** + * @description Name of the commit's committer + * @example Monalisa Octocat + */ + name: string; + /** + * Format: email + * @description Git email address of the commit's committer + * @example monalisa.octocat@example.com + */ + email: string; + } | null; + }; + /** + * CheckSuite + * @description A suite of checks performed on the code of a given code change + */ + "check-suite": { + /** + * Format: int64 + * @example 5 + */ + id: number; + /** @example MDEwOkNoZWNrU3VpdGU1 */ + node_id: string; + /** @example master */ + head_branch: string | null; + /** + * @description The SHA of the head commit that is being checked. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + */ + head_sha: string; + /** + * @description The phase of the lifecycle that the check suite is currently in. Statuses of waiting, requested, and pending are reserved for GitHub Actions check suites. + * @example completed + * @enum {string|null} + */ + status: + | "queued" + | "in_progress" + | "completed" + | "waiting" + | "requested" + | "pending" + | null; + /** + * @example neutral + * @enum {string|null} + */ + conclusion: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "skipped" + | "timed_out" + | "action_required" + | "startup_failure" + | "stale" + | null; + /** @example https://api.github.com/repos/github/hello-world/check-suites/5 */ + url: string | null; + /** @example 146e867f55c26428e5f9fade55a9bbf5e95a7912 */ + before: string | null; + /** @example d6fde92930d4715a2b49857d24b940956b26d2d3 */ + after: string | null; + pull_requests: components["schemas"]["pull-request-minimal"][] | null; + app: components["schemas"]["nullable-integration"]; + repository: components["schemas"]["minimal-repository"]; + /** Format: date-time */ + created_at: string | null; + /** Format: date-time */ + updated_at: string | null; + head_commit: components["schemas"]["simple-commit"]; + latest_check_runs_count: number; + check_runs_url: string; + rerequestable?: boolean; + runs_rerequestable?: boolean; + }; + /** + * Check Suite Preference + * @description Check suite configuration preferences for a repository. + */ + "check-suite-preference": { + preferences: { + auto_trigger_checks?: { + app_id: number; + setting: boolean; + }[]; + }; + repository: components["schemas"]["minimal-repository"]; + }; + "code-scanning-alert-items": { + number: components["schemas"]["alert-number"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["alert-updated-at"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + instances_url: components["schemas"]["alert-instances-url"]; + state: components["schemas"]["code-scanning-alert-state"]; + fixed_at?: components["schemas"]["alert-fixed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + dismissed_at: components["schemas"]["alert-dismissed-at"]; + dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + rule: components["schemas"]["code-scanning-alert-rule-summary"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; + dismissal_approved_by?: components["schemas"]["nullable-simple-user"]; + }; + "code-scanning-alert-rule": { + /** @description A unique identifier for the rule used to detect the alert. */ + id?: string | null; + /** @description The name of the rule used to detect the alert. */ + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity?: "none" | "note" | "warning" | "error" | null; + /** + * @description The security severity of the alert. + * @enum {string|null} + */ + security_severity_level?: "low" | "medium" | "high" | "critical" | null; + /** @description A short description of the rule used to detect the alert. */ + description?: string; + /** @description A description of the rule used to detect the alert. */ + full_description?: string; + /** @description A set of tags applicable for the rule. */ + tags?: string[] | null; + /** @description Detailed documentation for the rule as GitHub Flavored Markdown. */ + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + }; + "code-scanning-alert": { + number: components["schemas"]["alert-number"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["alert-updated-at"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + instances_url: components["schemas"]["alert-instances-url"]; + state: components["schemas"]["code-scanning-alert-state"]; + fixed_at?: components["schemas"]["alert-fixed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + dismissed_at: components["schemas"]["alert-dismissed-at"]; + dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + rule: components["schemas"]["code-scanning-alert-rule"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; + dismissal_approved_by?: components["schemas"]["nullable-simple-user"]; + }; + /** + * @description Sets the state of the code scanning alert. You must provide `dismissed_reason` when you set the state to `dismissed`. + * @enum {string} + */ + "code-scanning-alert-set-state": "open" | "dismissed"; + /** @description If `true`, attempt to create an alert dismissal request. */ + "code-scanning-alert-create-request": boolean; + /** + * @description The status of an autofix. + * @enum {string} + */ + "code-scanning-autofix-status": + | "pending" + | "error" + | "success" + | "outdated"; + /** @description The description of an autofix. */ + "code-scanning-autofix-description": string | null; + /** + * Format: date-time + * @description The start time of an autofix in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly "code-scanning-autofix-started-at": string; + "code-scanning-autofix": { + status: components["schemas"]["code-scanning-autofix-status"]; + description: components["schemas"]["code-scanning-autofix-description"]; + started_at: components["schemas"]["code-scanning-autofix-started-at"]; + }; + /** @description Commit an autofix for a code scanning alert */ + "code-scanning-autofix-commits": { + /** @description The Git reference of target branch for the commit. Branch needs to already exist. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + target_ref?: string; + /** @description Commit message to be used. */ + message?: string; + } | null; + "code-scanning-autofix-commits-response": { + /** @description The Git reference of target branch for the commit. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + target_ref?: string; + /** @description SHA of commit with autofix. */ + sha?: string; + }; + /** + * @description An identifier for the upload. + * @example 6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53 + */ + "code-scanning-analysis-sarif-id": string; + /** @description The SHA of the commit to which the analysis you are uploading relates. */ + "code-scanning-analysis-commit-sha": string; + /** @description Identifies the variable values associated with the environment in which this analysis was performed. */ + "code-scanning-analysis-environment": string; + /** + * Format: date-time + * @description The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly "code-scanning-analysis-created-at": string; + /** + * Format: uri + * @description The REST API URL of the analysis resource. + */ + readonly "code-scanning-analysis-url": string; + "code-scanning-analysis": { + ref: components["schemas"]["code-scanning-ref"]; + commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; + analysis_key: components["schemas"]["code-scanning-analysis-analysis-key"]; + environment: components["schemas"]["code-scanning-analysis-environment"]; + category?: components["schemas"]["code-scanning-analysis-category"]; + /** @example error reading field xyz */ + error: string; + created_at: components["schemas"]["code-scanning-analysis-created-at"]; + /** @description The total number of results in the analysis. */ + results_count: number; + /** @description The total number of rules used in the analysis. */ + rules_count: number; + /** @description Unique identifier for this analysis. */ + id: number; + url: components["schemas"]["code-scanning-analysis-url"]; + sarif_id: components["schemas"]["code-scanning-analysis-sarif-id"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + deletable: boolean; + /** + * @description Warning generated when processing the analysis + * @example 123 results were ignored + */ + warning: string; + }; + /** + * Analysis deletion + * @description Successful deletion of a code scanning analysis + */ + "code-scanning-analysis-deletion": { + /** + * Format: uri + * @description Next deletable analysis in chain, without last analysis deletion confirmation + */ + next_analysis_url: string | null; + /** + * Format: uri + * @description Next deletable analysis in chain, with last analysis deletion confirmation + */ + confirm_delete_url: string | null; + }; + /** + * CodeQL Database + * @description A CodeQL database. + */ + "code-scanning-codeql-database": { + /** @description The ID of the CodeQL database. */ + id: number; + /** @description The name of the CodeQL database. */ + name: string; + /** @description The language of the CodeQL database. */ + language: string; + uploader: components["schemas"]["simple-user"]; + /** @description The MIME type of the CodeQL database file. */ + content_type: string; + /** @description The size of the CodeQL database file in bytes. */ + size: number; + /** + * Format: date-time + * @description The date and time at which the CodeQL database was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time at which the CodeQL database was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at: string; + /** + * Format: uri + * @description The URL at which to download the CodeQL database. The `Accept` header must be set to the value of the `content_type` property. + */ + url: string; + /** @description The commit SHA of the repository at the time the CodeQL database was created. */ + commit_oid?: string | null; + }; + /** + * @description The language targeted by the CodeQL query + * @enum {string} + */ + "code-scanning-variant-analysis-language": + | "cpp" + | "csharp" + | "go" + | "java" + | "javascript" + | "python" + | "ruby" + | "swift"; + /** + * Repository Identifier + * @description Repository Identifier + */ + "code-scanning-variant-analysis-repository": { + /** + * @description A unique identifier of the repository. + * @example 1296269 + */ + id: number; + /** + * @description The name of the repository. + * @example Hello-World + */ + name: string; + /** + * @description The full, globally unique, name of the repository. + * @example octocat/Hello-World + */ + full_name: string; + /** @description Whether the repository is private. */ + private: boolean; + /** @example 80 */ + stargazers_count: number; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string | null; + }; + /** + * @description The new status of the CodeQL variant analysis repository task. + * @enum {string} + */ + "code-scanning-variant-analysis-status": + | "pending" + | "in_progress" + | "succeeded" + | "failed" + | "canceled" + | "timed_out"; + "code-scanning-variant-analysis-skipped-repo-group": { + /** + * @description The total number of repositories that were skipped for this reason. + * @example 2 + */ + repository_count: number; + /** @description A list of repositories that were skipped. This list may not include all repositories that were skipped. This is only available when the repository was found and the user has access to it. */ + repositories: components["schemas"]["code-scanning-variant-analysis-repository"][]; + }; + /** + * Variant Analysis + * @description A run of a CodeQL query against one or more repositories. + */ + "code-scanning-variant-analysis": { + /** @description The ID of the variant analysis. */ + id: number; + controller_repo: components["schemas"]["simple-repository"]; + actor: components["schemas"]["simple-user"]; + query_language: components["schemas"]["code-scanning-variant-analysis-language"]; + /** @description The download url for the query pack. */ + query_pack_url: string; + /** + * Format: date-time + * @description The date and time at which the variant analysis was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + created_at?: string; + /** + * Format: date-time + * @description The date and time at which the variant analysis was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at?: string; + /** + * Format: date-time + * @description The date and time at which the variant analysis was completed, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. Will be null if the variant analysis has not yet completed or this information is not available. + */ + completed_at?: string | null; + /** @enum {string} */ + status: "in_progress" | "succeeded" | "failed" | "cancelled"; + /** @description The GitHub Actions workflow run used to execute this variant analysis. This is only available if the workflow run has started. */ + actions_workflow_run_id?: number; + /** + * @description The reason for a failure of the variant analysis. This is only available if the variant analysis has failed. + * @enum {string} + */ + failure_reason?: + | "no_repos_queried" + | "actions_workflow_run_failed" + | "internal_error"; + scanned_repositories?: { + repository: components["schemas"]["code-scanning-variant-analysis-repository"]; + analysis_status: components["schemas"]["code-scanning-variant-analysis-status"]; + /** @description The number of results in the case of a successful analysis. This is only available for successful analyses. */ + result_count?: number; + /** @description The size of the artifact. This is only available for successful analyses. */ + artifact_size_in_bytes?: number; + /** @description The reason of the failure of this repo task. This is only available if the repository task has failed. */ + failure_message?: string; + }[]; + /** @description Information about repositories that were skipped from processing. This information is only available to the user that initiated the variant analysis. */ + skipped_repositories?: { + access_mismatch_repos: components["schemas"]["code-scanning-variant-analysis-skipped-repo-group"]; + not_found_repos: { + /** + * @description The total number of repositories that were skipped for this reason. + * @example 2 + */ + repository_count: number; + /** @description A list of full repository names that were skipped. This list may not include all repositories that were skipped. */ + repository_full_names: string[]; + }; + no_codeql_db_repos: components["schemas"]["code-scanning-variant-analysis-skipped-repo-group"]; + over_limit_repos: components["schemas"]["code-scanning-variant-analysis-skipped-repo-group"]; + }; + }; + "code-scanning-variant-analysis-repo-task": { + repository: components["schemas"]["simple-repository"]; + analysis_status: components["schemas"]["code-scanning-variant-analysis-status"]; + /** @description The size of the artifact. This is only available for successful analyses. */ + artifact_size_in_bytes?: number; + /** @description The number of results in the case of a successful analysis. This is only available for successful analyses. */ + result_count?: number; + /** @description The reason of the failure of this repo task. This is only available if the repository task has failed. */ + failure_message?: string; + /** @description The SHA of the commit the CodeQL database was built against. This is only available for successful analyses. */ + database_commit_sha?: string; + /** @description The source location prefix to use. This is only available for successful analyses. */ + source_location_prefix?: string; + /** @description The URL of the artifact. This is only available for successful analyses. */ + artifact_url?: string; + }; + /** @description Configuration for code scanning default setup. */ + "code-scanning-default-setup": { + /** + * @description Code scanning default setup has been configured or not. + * @enum {string} + */ + state?: "configured" | "not-configured"; + /** @description Languages to be analyzed. */ + languages?: ( + | "actions" + | "c-cpp" + | "csharp" + | "go" + | "java-kotlin" + | "javascript-typescript" + | "javascript" + | "python" + | "ruby" + | "typescript" + | "swift" + )[]; + /** + * @description Runner type to be used. + * @enum {string|null} + */ + runner_type?: "standard" | "labeled" | null; + /** + * @description Runner label to be used if the runner type is labeled. + * @example code-scanning + */ + runner_label?: string | null; + /** + * @description CodeQL query suite to be used. + * @enum {string} + */ + query_suite?: "default" | "extended"; + /** + * Format: date-time + * @description Timestamp of latest configuration update. + * @example 2023-12-06T14:20:20.000Z + */ + updated_at?: string | null; + /** + * @description The frequency of the periodic analysis. + * @enum {string|null} + */ + schedule?: "weekly" | null; + }; + /** @description Configuration for code scanning default setup. */ + "code-scanning-default-setup-update": { + /** + * @description The desired state of code scanning default setup. + * @enum {string} + */ + state?: "configured" | "not-configured"; + /** + * @description Runner type to be used. + * @enum {string} + */ + runner_type?: "standard" | "labeled"; + /** + * @description Runner label to be used if the runner type is labeled. + * @example code-scanning + */ + runner_label?: string | null; + /** + * @description CodeQL query suite to be used. + * @enum {string} + */ + query_suite?: "default" | "extended"; + /** @description CodeQL languages to be analyzed. */ + languages?: ( + | "actions" + | "c-cpp" + | "csharp" + | "go" + | "java-kotlin" + | "javascript-typescript" + | "python" + | "ruby" + | "swift" + )[]; + }; + /** + * @description You can use `run_url` to track the status of the run. This includes a property status and conclusion. + * You should not rely on this always being an actions workflow run object. + */ + "code-scanning-default-setup-update-response": { + /** @description ID of the corresponding run. */ + run_id?: number; + /** @description URL of the corresponding run. */ + run_url?: string; + }; + /** + * @description The full Git reference, formatted as `refs/heads/`, + * `refs/tags/`, `refs/pull//merge`, or `refs/pull//head`. + * @example refs/heads/main + */ + "code-scanning-ref-full": string; + /** @description A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using [`gzip`](http://www.gnu.org/software/gzip/manual/gzip.html) and then translate the contents of the file into a Base64 encoding string. For more information, see "[SARIF support for code scanning](https://docs.github.com/code-security/secure-coding/sarif-support-for-code-scanning)." */ + "code-scanning-analysis-sarif-file": string; + "code-scanning-sarifs-receipt": { + id?: components["schemas"]["code-scanning-analysis-sarif-id"]; + /** + * Format: uri + * @description The REST API URL for checking the status of the upload. + */ + url?: string; + }; + "code-scanning-sarifs-status": { + /** + * @description `pending` files have not yet been processed, while `complete` means results from the SARIF have been stored. `failed` files have either not been processed at all, or could only be partially processed. + * @enum {string} + */ + processing_status?: "pending" | "complete" | "failed"; + /** + * Format: uri + * @description The REST API URL for getting the analyses associated with the upload. + */ + analyses_url?: string | null; + /** @description Any errors that ocurred during processing of the delivery. */ + errors?: readonly string[] | null; + }; + /** @description Code security configuration associated with a repository and attachment status */ + "code-security-configuration-for-repository": { + /** + * @description The attachment status of the code security configuration on the repository. + * @enum {string} + */ + status?: + | "attached" + | "attaching" + | "detached" + | "removed" + | "enforced" + | "failed" + | "updating" + | "removed_by_enterprise"; + configuration?: components["schemas"]["code-security-configuration"]; + }; + /** + * CODEOWNERS errors + * @description A list of errors found in a repo's CODEOWNERS file + */ + "codeowners-errors": { + errors: { + /** + * @description The line number where this errors occurs. + * @example 7 + */ + line: number; + /** + * @description The column number where this errors occurs. + * @example 3 + */ + column: number; + /** + * @description The contents of the line where the error occurs. + * @example * user + */ + source?: string; + /** + * @description The type of error. + * @example Invalid owner + */ + kind: string; + /** + * @description Suggested action to fix the error. This will usually be `null`, but is provided for some common errors. + * @example The pattern `/` will never match anything, did you mean `*` instead? + */ + suggestion?: string | null; + /** + * @description A human-readable description of the error, combining information from multiple fields, laid out for display in a monospaced typeface (for example, a command-line setting). + * @example Invalid owner on line 7: + * + * * user + * ^ + */ + message: string; + /** + * @description The path of the file where the error occured. + * @example .github/CODEOWNERS + */ + path: string; + }[]; + }; + /** + * Codespace machine + * @description A description of the machine powering a codespace. + */ + "codespace-machine": { + /** + * @description The name of the machine. + * @example standardLinux + */ + name: string; + /** + * @description The display name of the machine includes cores, memory, and storage. + * @example 4 cores, 16 GB RAM, 64 GB storage + */ + display_name: string; + /** + * @description The operating system of the machine. + * @example linux + */ + operating_system: string; + /** + * @description How much storage is available to the codespace. + * @example 68719476736 + */ + storage_in_bytes: number; + /** + * @description How much memory is available to the codespace. + * @example 17179869184 + */ + memory_in_bytes: number; + /** + * @description How many cores are available to the codespace. + * @example 4 + */ + cpus: number; + /** + * @description Whether a prebuild is currently available when creating a codespace for this machine and repository. If a branch was not specified as a ref, the default branch will be assumed. Value will be "null" if prebuilds are not supported or prebuild availability could not be determined. Value will be "none" if no prebuild is available. Latest values "ready" and "in_progress" indicate the prebuild availability status. + * @example ready + * @enum {string|null} + */ + prebuild_availability: "none" | "ready" | "in_progress" | null; + }; + /** + * Codespaces Permissions Check + * @description Permission check result for a given devcontainer config. + */ + "codespaces-permissions-check-for-devcontainer": { + /** + * @description Whether the user has accepted the permissions defined by the devcontainer config + * @example true + */ + accepted: boolean; + }; + /** + * Codespaces Secret + * @description Set repository secrets for GitHub Codespaces. + */ + "repo-codespaces-secret": { + /** + * @description The name of the secret. + * @example SECRET_TOKEN + */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Collaborator + * @description Collaborator + */ + collaborator: { + /** @example octocat */ + login: string; + /** + * Format: int64 + * @example 1 + */ + id: number; + email?: string | null; + name?: string | null; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + permissions?: { + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + admin: boolean; + }; + /** @example admin */ + role_name: string; + /** @example public */ + user_view_type?: string; + }; + /** + * Repository Invitation + * @description Repository invitations let you manage who you collaborate with. + */ + "repository-invitation": { + /** + * Format: int64 + * @description Unique identifier of the repository invitation. + * @example 42 + */ + id: number; + repository: components["schemas"]["minimal-repository"]; + invitee: components["schemas"]["nullable-simple-user"]; + inviter: components["schemas"]["nullable-simple-user"]; + /** + * @description The permission associated with the invitation. + * @example read + * @enum {string} + */ + permissions: "read" | "write" | "admin" | "triage" | "maintain"; + /** + * Format: date-time + * @example 2016-06-13T14:52:50-05:00 + */ + created_at: string; + /** @description Whether or not the invitation has expired */ + expired?: boolean; + /** + * @description URL for the repository invitation + * @example https://api.github.com/user/repository-invitations/1 + */ + url: string; + /** @example https://github.com/octocat/Hello-World/invitations */ + html_url: string; + node_id: string; + }; + /** + * Collaborator + * @description Collaborator + */ + "nullable-collaborator": { + /** @example octocat */ + login: string; + /** + * Format: int64 + * @example 1 + */ + id: number; + email?: string | null; + name?: string | null; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + permissions?: { + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + admin: boolean; + }; + /** @example admin */ + role_name: string; + /** @example public */ + user_view_type?: string; + } | null; + /** + * Repository Collaborator Permission + * @description Repository Collaborator Permission + */ + "repository-collaborator-permission": { + permission: string; + /** @example admin */ + role_name: string; + user: components["schemas"]["nullable-collaborator"]; + }; + /** + * Commit Comment + * @description Commit Comment + */ + "commit-comment": { + /** Format: uri */ + html_url: string; + /** Format: uri */ + url: string; + id: number; + node_id: string; + body: string; + path: string | null; + position: number | null; + line: number | null; + commit_id: string; + user: components["schemas"]["nullable-simple-user"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + author_association: components["schemas"]["author-association"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Branch Short + * @description Branch Short + */ + "branch-short": { + name: string; + commit: { + sha: string; + url: string; + }; + protected: boolean; + }; + /** + * Link + * @description Hypermedia Link + */ + link: { + href: string; + }; + /** + * Auto merge + * @description The status of auto merging a pull request. + */ + "auto-merge": { + enabled_by: components["schemas"]["simple-user"]; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + /** @description Title for the merge commit message. */ + commit_title: string; + /** @description Commit message for the merge commit. */ + commit_message: string; + } | null; + /** + * Pull Request Simple + * @description Pull Request Simple + */ + "pull-request-simple": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347 + */ + url: string; + /** + * Format: int64 + * @example 1 + */ + id: number; + /** @example MDExOlB1bGxSZXF1ZXN0MQ== */ + node_id: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347 + */ + html_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347.diff + */ + diff_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347.patch + */ + patch_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 + */ + issue_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits + */ + commits_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments + */ + review_comments_url: string; + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} */ + review_comment_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347/comments + */ + comments_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + statuses_url: string; + /** @example 1347 */ + number: number; + /** @example open */ + state: string; + /** @example true */ + locked: boolean; + /** @example new-feature */ + title: string; + user: components["schemas"]["nullable-simple-user"]; + /** @example Please pull these awesome changes */ + body: string | null; + labels: { + /** Format: int64 */ + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; + }[]; + milestone: components["schemas"]["nullable-milestone"]; + /** @example too heated */ + active_lock_reason?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + closed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + merged_at: string | null; + /** @example e5bd3914e2e596debea16f433f57875b5b90bcd6 */ + merge_commit_sha: string | null; + assignee: components["schemas"]["nullable-simple-user"]; + assignees?: components["schemas"]["simple-user"][] | null; + requested_reviewers?: components["schemas"]["simple-user"][] | null; + requested_teams?: components["schemas"]["team"][] | null; + head: { + label: string; + ref: string; + repo: components["schemas"]["repository"]; + sha: string; + user: components["schemas"]["nullable-simple-user"]; + }; + base: { + label: string; + ref: string; + repo: components["schemas"]["repository"]; + sha: string; + user: components["schemas"]["nullable-simple-user"]; + }; + _links: { + comments: components["schemas"]["link"]; + commits: components["schemas"]["link"]; + statuses: components["schemas"]["link"]; + html: components["schemas"]["link"]; + issue: components["schemas"]["link"]; + review_comments: components["schemas"]["link"]; + review_comment: components["schemas"]["link"]; + self: components["schemas"]["link"]; + }; + author_association: components["schemas"]["author-association"]; + auto_merge: components["schemas"]["auto-merge"]; + /** + * @description Indicates whether or not the pull request is a draft. + * @example false + */ + draft?: boolean; + }; + /** Simple Commit Status */ + "simple-commit-status": { + description: string | null; + id: number; + node_id: string; + state: string; + context: string; + /** Format: uri */ + target_url: string | null; + required?: boolean | null; + /** Format: uri */ + avatar_url: string | null; + /** Format: uri */ + url: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Combined Commit Status + * @description Combined Commit Status + */ + "combined-commit-status": { + state: string; + statuses: components["schemas"]["simple-commit-status"][]; + sha: string; + total_count: number; + repository: components["schemas"]["minimal-repository"]; + /** Format: uri */ + commit_url: string; + /** Format: uri */ + url: string; + }; + /** + * Status + * @description The status of a commit. + */ + status: { + url: string; + avatar_url: string | null; + id: number; + node_id: string; + state: string; + description: string | null; + target_url: string | null; + context: string; + created_at: string; + updated_at: string; + creator: components["schemas"]["nullable-simple-user"]; + }; + /** + * Code Of Conduct Simple + * @description Code of Conduct Simple + */ + "nullable-code-of-conduct-simple": { + /** + * Format: uri + * @example https://api.github.com/repos/github/docs/community/code_of_conduct + */ + url: string; + /** @example citizen_code_of_conduct */ + key: string; + /** @example Citizen Code of Conduct */ + name: string; + /** + * Format: uri + * @example https://github.com/github/docs/blob/main/CODE_OF_CONDUCT.md + */ + html_url: string | null; + } | null; + /** Community Health File */ + "nullable-community-health-file": { + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + } | null; + /** + * Community Profile + * @description Community Profile + */ + "community-profile": { + /** @example 100 */ + health_percentage: number; + /** @example My first repository on GitHub! */ + description: string | null; + /** @example example.com */ + documentation: string | null; + files: { + code_of_conduct: components["schemas"]["nullable-code-of-conduct-simple"]; + code_of_conduct_file: components["schemas"]["nullable-community-health-file"]; + license: components["schemas"]["nullable-license-simple"]; + contributing: components["schemas"]["nullable-community-health-file"]; + readme: components["schemas"]["nullable-community-health-file"]; + issue_template: components["schemas"]["nullable-community-health-file"]; + pull_request_template: components["schemas"]["nullable-community-health-file"]; + }; + /** + * Format: date-time + * @example 2017-02-28T19:09:29Z + */ + updated_at: string | null; + /** @example true */ + content_reports_enabled?: boolean; + }; + /** + * Commit Comparison + * @description Commit Comparison + */ + "commit-comparison": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/compare/master...topic + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/compare/master...topic + */ + html_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/compare/octocat:bbcd538c8e72b8c175046e27cc8f907076331401...octocat:0328041d1152db8ae77652d1618a02e57f745f17 + */ + permalink_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/compare/master...topic.diff + */ + diff_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/compare/master...topic.patch + */ + patch_url: string; + base_commit: components["schemas"]["commit"]; + merge_base_commit: components["schemas"]["commit"]; + /** + * @example ahead + * @enum {string} + */ + status: "diverged" | "ahead" | "behind" | "identical"; + /** @example 4 */ + ahead_by: number; + /** @example 5 */ + behind_by: number; + /** @example 6 */ + total_commits: number; + commits: components["schemas"]["commit"][]; + files?: components["schemas"]["diff-entry"][]; + }; + /** + * Content Tree + * @description Content Tree + */ + "content-tree": { + type: string; + size: number; + name: string; + path: string; + sha: string; + content?: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + download_url: string | null; + entries?: { + type: string; + size: number; + name: string; + path: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + download_url: string | null; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + }[]; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + }; + /** + * Content Directory + * @description A list of directory items + */ + "content-directory": { + /** @enum {string} */ + type: "dir" | "file" | "submodule" | "symlink"; + size: number; + name: string; + path: string; + content?: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + download_url: string | null; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + }[]; + /** + * Content File + * @description Content File + */ + "content-file": { + /** @enum {string} */ + type: "file"; + encoding: string; + size: number; + name: string; + path: string; + content: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + download_url: string | null; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + /** @example "actual/actual.md" */ + target?: string; + /** @example "git://example.com/defunkt/dotjs.git" */ + submodule_git_url?: string; + }; + /** + * Symlink Content + * @description An object describing a symlink + */ + "content-symlink": { + /** @enum {string} */ + type: "symlink"; + target: string; + size: number; + name: string; + path: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + download_url: string | null; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + }; + /** + * Submodule Content + * @description An object describing a submodule + */ + "content-submodule": { + /** @enum {string} */ + type: "submodule"; + /** Format: uri */ + submodule_git_url: string; + size: number; + name: string; + path: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + download_url: string | null; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + }; + /** + * File Commit + * @description File Commit + */ + "file-commit": { + content: { + name?: string; + path?: string; + sha?: string; + size?: number; + url?: string; + html_url?: string; + git_url?: string; + download_url?: string; + type?: string; + _links?: { + self?: string; + git?: string; + html?: string; + }; + } | null; + commit: { + sha?: string; + node_id?: string; + url?: string; + html_url?: string; + author?: { + date?: string; + name?: string; + email?: string; + }; + committer?: { + date?: string; + name?: string; + email?: string; + }; + message?: string; + tree?: { + url?: string; + sha?: string; + }; + parents?: { + url?: string; + html_url?: string; + sha?: string; + }[]; + verification?: { + verified?: boolean; + reason?: string; + signature?: string | null; + payload?: string | null; + verified_at?: string | null; + }; + }; + }; + /** @description The ID of the push protection bypass placeholder. This value is returned on any push protected routes. */ + "secret-scanning-push-protection-bypass-placeholder-id": string; + /** @description Repository rule violation was detected */ + "repository-rule-violation-error": { + message?: string; + documentation_url?: string; + status?: string; + metadata?: { + secret_scanning?: { + bypass_placeholders?: { + placeholder_id?: components["schemas"]["secret-scanning-push-protection-bypass-placeholder-id"]; + token_type?: string; + }[]; + }; + }; + }; + /** + * Contributor + * @description Contributor + */ + contributor: { + login?: string; + id?: number; + node_id?: string; + /** Format: uri */ + avatar_url?: string; + gravatar_id?: string | null; + /** Format: uri */ + url?: string; + /** Format: uri */ + html_url?: string; + /** Format: uri */ + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + repos_url?: string; + events_url?: string; + /** Format: uri */ + received_events_url?: string; + type: string; + site_admin?: boolean; + contributions: number; + email?: string; + name?: string; + user_view_type?: string; + }; + /** @description A Dependabot alert. */ + "dependabot-alert": { + number: components["schemas"]["alert-number"]; + /** + * @description The state of the Dependabot alert. + * @enum {string} + */ + state: "auto_dismissed" | "dismissed" | "fixed" | "open"; + /** @description Details for the vulnerable dependency. */ + dependency: { + readonly package?: components["schemas"]["dependabot-alert-package"]; + /** @description The full path to the dependency manifest file, relative to the root of the repository. */ + readonly manifest_path?: string; + /** + * @description The execution scope of the vulnerable dependency. + * @enum {string|null} + */ + readonly scope?: "development" | "runtime" | null; + /** + * @description The vulnerable dependency's relationship to your project. + * + * > [!NOTE] + * > We are rolling out support for dependency relationship across ecosystems. This value will be "unknown" for all dependencies in unsupported ecosystems. + * + * @enum {string|null} + */ + readonly relationship?: "unknown" | "direct" | "transitive" | null; + }; + security_advisory: components["schemas"]["dependabot-alert-security-advisory"]; + security_vulnerability: components["schemas"]["dependabot-alert-security-vulnerability"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at: components["schemas"]["alert-updated-at"]; + dismissed_at: components["schemas"]["alert-dismissed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + /** + * @description The reason that the alert was dismissed. + * @enum {string|null} + */ + dismissed_reason: + | "fix_started" + | "inaccurate" + | "no_bandwidth" + | "not_used" + | "tolerable_risk" + | null; + /** @description An optional comment associated with the alert's dismissal. */ + dismissed_comment: string | null; + fixed_at: components["schemas"]["alert-fixed-at"]; + auto_dismissed_at?: components["schemas"]["alert-auto-dismissed-at"]; + }; + /** + * Dependabot Secret + * @description Set secrets for Dependabot. + */ + "dependabot-secret": { + /** + * @description The name of the secret. + * @example MY_ARTIFACTORY_PASSWORD + */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Dependency Graph Diff + * @description A diff of the dependencies between two commits. + */ + "dependency-graph-diff": { + /** @enum {string} */ + change_type: "added" | "removed"; + /** @example path/to/package-lock.json */ + manifest: string; + /** @example npm */ + ecosystem: string; + /** @example @actions/core */ + name: string; + /** @example 1.0.0 */ + version: string; + /** @example pkg:/npm/%40actions/core@1.1.0 */ + package_url: string | null; + /** @example MIT */ + license: string | null; + /** @example https://github.com/github/actions */ + source_repository_url: string | null; + vulnerabilities: { + /** @example critical */ + severity: string; + /** @example GHSA-rf4j-j272-fj86 */ + advisory_ghsa_id: string; + /** @example A summary of the advisory. */ + advisory_summary: string; + /** @example https://github.com/advisories/GHSA-rf4j-j272-fj86 */ + advisory_url: string; + }[]; + /** + * @description Where the dependency is utilized. `development` means that the dependency is only utilized in the development environment. `runtime` means that the dependency is utilized at runtime and in the development environment. + * @enum {string} + */ + scope: "unknown" | "runtime" | "development"; + }[]; + /** + * Dependency Graph SPDX SBOM + * @description A schema for the SPDX JSON format returned by the Dependency Graph. + */ + "dependency-graph-spdx-sbom": { + sbom: { + /** + * @description The SPDX identifier for the SPDX document. + * @example SPDXRef-DOCUMENT + */ + SPDXID: string; + /** + * @description The version of the SPDX specification that this document conforms to. + * @example SPDX-2.3 + */ + spdxVersion: string; + /** + * @description An optional comment about the SPDX document. + * @example Exact versions could not be resolved for some packages. For more information: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/ + */ + comment?: string; + creationInfo: { + /** + * @description The date and time the SPDX document was created. + * @example 2021-11-03T00:00:00Z + */ + created: string; + /** @description The tools that were used to generate the SPDX document. */ + creators: string[]; + }; + /** + * @description The name of the SPDX document. + * @example github/github + */ + name: string; + /** + * @description The license under which the SPDX document is licensed. + * @example CC0-1.0 + */ + dataLicense: string; + /** + * @description The namespace for the SPDX document. + * @example https://spdx.org/spdxdocs/protobom/15e41dd2-f961-4f4d-b8dc-f8f57ad70d57 + */ + documentNamespace: string; + packages: { + /** + * @description A unique SPDX identifier for the package. + * @example SPDXRef-Package + */ + SPDXID?: string; + /** + * @description The name of the package. + * @example github/github + */ + name?: string; + /** + * @description The version of the package. If the package does not have an exact version specified, + * a version range is given. + * @example 1.0.0 + */ + versionInfo?: string; + /** + * @description The location where the package can be downloaded, + * or NOASSERTION if this has not been determined. + * @example NOASSERTION + */ + downloadLocation?: string; + /** + * @description Whether the package's file content has been subjected to + * analysis during the creation of the SPDX document. + * @example false + */ + filesAnalyzed?: boolean; + /** + * @description The license of the package as determined while creating the SPDX document. + * @example MIT + */ + licenseConcluded?: string; + /** + * @description The license of the package as declared by its author, or NOASSERTION if this information + * was not available when the SPDX document was created. + * @example NOASSERTION + */ + licenseDeclared?: string; + /** + * @description The distribution source of this package, or NOASSERTION if this was not determined. + * @example NOASSERTION + */ + supplier?: string; + /** + * @description The copyright holders of the package, and any dates present with those notices, if available. + * @example Copyright (c) 1985 GitHub.com + */ + copyrightText?: string; + externalRefs?: { + /** + * @description The category of reference to an external resource this reference refers to. + * @example PACKAGE-MANAGER + */ + referenceCategory: string; + /** + * @description A locator for the particular external resource this reference refers to. + * @example pkg:gem/rails@6.0.1 + */ + referenceLocator: string; + /** + * @description The category of reference to an external resource this reference refers to. + * @example purl + */ + referenceType: string; + }[]; + }[]; + relationships?: { + /** + * @description The type of relationship between the two SPDX elements. + * @example DEPENDS_ON + */ + relationshipType?: string; + /** @description The SPDX identifier of the package that is the source of the relationship. */ + spdxElementId?: string; + /** @description The SPDX identifier of the package that is the target of the relationship. */ + relatedSpdxElement?: string; + }[]; + }; + }; + /** + * metadata + * @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values. + */ + metadata: { + [key: string]: (string | number | boolean) | null; + }; + dependency: { + /** + * @description Package-url (PURL) of dependency. See https://github.com/package-url/purl-spec for more details. + * @example pkg:/npm/%40actions/http-client@1.0.11 + */ + package_url?: string; + metadata?: components["schemas"]["metadata"]; + /** + * @description A notation of whether a dependency is requested directly by this manifest or is a dependency of another dependency. + * @example direct + * @enum {string} + */ + relationship?: "direct" | "indirect"; + /** + * @description A notation of whether the dependency is required for the primary build artifact (runtime) or is only used for development. Future versions of this specification may allow for more granular scopes. + * @example runtime + * @enum {string} + */ + scope?: "runtime" | "development"; + /** + * @description Array of package-url (PURLs) of direct child dependencies. + * @example @actions/http-client + */ + dependencies?: string[]; + }; + manifest: { + /** + * @description The name of the manifest. + * @example package-lock.json + */ + name: string; + file?: { + /** + * @description The path of the manifest file relative to the root of the Git repository. + * @example /src/build/package-lock.json + */ + source_location?: string; + }; + metadata?: components["schemas"]["metadata"]; + /** @description A collection of resolved package dependencies. */ + resolved?: { + [key: string]: components["schemas"]["dependency"]; + }; + }; + /** + * snapshot + * @description Create a new snapshot of a repository's dependencies. + */ + snapshot: { + /** @description The version of the repository snapshot submission. */ + version: number; + job: { + /** + * @description The external ID of the job. + * @example 5622a2b0-63f6-4732-8c34-a1ab27e102a11 + */ + id: string; + /** + * @description Correlator provides a key that is used to group snapshots submitted over time. Only the "latest" submitted snapshot for a given combination of `job.correlator` and `detector.name` will be considered when calculating a repository's current dependencies. Correlator should be as unique as it takes to distinguish all detection runs for a given "wave" of CI workflow you run. If you're using GitHub Actions, a good default value for this could be the environment variables GITHUB_WORKFLOW and GITHUB_JOB concatenated together. If you're using a build matrix, then you'll also need to add additional key(s) to distinguish between each submission inside a matrix variation. + * @example yourworkflowname_yourjobname + */ + correlator: string; + /** + * @description The url for the job. + * @example http://example.com/build + */ + html_url?: string; + }; + /** + * @description The commit SHA associated with this dependency snapshot. Maximum length: 40 characters. + * @example ddc951f4b1293222421f2c8df679786153acf689 + */ + sha: string; + /** + * @description The repository branch that triggered this snapshot. + * @example refs/heads/main + */ + ref: string; + /** @description A description of the detector used. */ + detector: { + /** + * @description The name of the detector used. + * @example docker buildtime detector + */ + name: string; + /** + * @description The version of the detector used. + * @example 1.0.0 + */ + version: string; + /** + * @description The url of the detector used. + * @example http://example.com/docker-buildtimer-detector + */ + url: string; + }; + metadata?: components["schemas"]["metadata"]; + /** @description A collection of package manifests, which are a collection of related dependencies declared in a file or representing a logical group of dependencies. */ + manifests?: { + [key: string]: components["schemas"]["manifest"]; + }; + /** + * Format: date-time + * @description The time at which the snapshot was scanned. + * @example 2020-06-13T14:52:50-05:00 + */ + scanned: string; + }; + /** + * Deployment Status + * @description The status of a deployment. + */ + "deployment-status": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example/deployments/42/statuses/1 + */ + url: string; + /** + * Format: int64 + * @example 1 + */ + id: number; + /** @example MDE2OkRlcGxveW1lbnRTdGF0dXMx */ + node_id: string; + /** + * @description The state of the status. + * @example success + * @enum {string} + */ + state: + | "error" + | "failure" + | "inactive" + | "pending" + | "success" + | "queued" + | "in_progress"; + creator: components["schemas"]["nullable-simple-user"]; + /** + * @description A short description of the status. + * @default + * @example Deployment finished successfully. + */ + description: string; + /** + * @description The environment of the deployment that the status is for. + * @default + * @example production + */ + environment?: string; + /** + * Format: uri + * @description Closing down notice: the URL to associate with this status. + * @default + * @example https://example.com/deployment/42/output + */ + target_url: string; + /** + * Format: date-time + * @example 2012-07-20T01:19:13Z + */ + created_at: string; + /** + * Format: date-time + * @example 2012-07-20T01:19:13Z + */ + updated_at: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example/deployments/42 + */ + deployment_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example + */ + repository_url: string; + /** + * Format: uri + * @description The URL for accessing your environment. + * @default + * @example https://staging.example.com/ + */ + environment_url?: string; + /** + * Format: uri + * @description The URL to associate with this status. + * @default + * @example https://example.com/deployment/42/output + */ + log_url?: string; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + }; + /** + * @description The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days). + * @example 30 + */ + "wait-timer": number; + /** @description The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`. */ + "deployment-branch-policy-settings": { + /** @description Whether only branches with branch protection rules can deploy to this environment. If `protected_branches` is `true`, `custom_branch_policies` must be `false`; if `protected_branches` is `false`, `custom_branch_policies` must be `true`. */ + protected_branches: boolean; + /** @description Whether only branches that match the specified name patterns can deploy to this environment. If `custom_branch_policies` is `true`, `protected_branches` must be `false`; if `custom_branch_policies` is `false`, `protected_branches` must be `true`. */ + custom_branch_policies: boolean; + } | null; + /** + * Environment + * @description Details of a deployment environment + */ + environment: { + /** + * Format: int64 + * @description The id of the environment. + * @example 56780428 + */ + id: number; + /** @example MDExOkVudmlyb25tZW50NTY3ODA0Mjg= */ + node_id: string; + /** + * @description The name of the environment. + * @example staging + */ + name: string; + /** @example https://api.github.com/repos/github/hello-world/environments/staging */ + url: string; + /** @example https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging */ + html_url: string; + /** + * Format: date-time + * @description The time that the environment was created, in ISO 8601 format. + * @example 2020-11-23T22:00:40Z + */ + created_at: string; + /** + * Format: date-time + * @description The time that the environment was last updated, in ISO 8601 format. + * @example 2020-11-23T22:00:40Z + */ + updated_at: string; + /** @description Built-in deployment protection rules for the environment. */ + protection_rules?: ( + | { + /** @example 3515 */ + id: number; + /** @example MDQ6R2F0ZTM1MTU= */ + node_id: string; + /** @example wait_timer */ + type: string; + wait_timer?: components["schemas"]["wait-timer"]; + } + | { + /** @example 3755 */ + id: number; + /** @example MDQ6R2F0ZTM3NTU= */ + node_id: string; + /** + * @description Whether deployments to this environment can be approved by the user who created the deployment. + * @example false + */ + prevent_self_review?: boolean; + /** @example required_reviewers */ + type: string; + /** @description The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ + reviewers?: { + type?: components["schemas"]["deployment-reviewer-type"]; + reviewer?: + | components["schemas"]["simple-user"] + | components["schemas"]["team"]; + }[]; + } + | { + /** @example 3515 */ + id: number; + /** @example MDQ6R2F0ZTM1MTU= */ + node_id: string; + /** @example branch_policy */ + type: string; + } + )[]; + deployment_branch_policy?: components["schemas"]["deployment-branch-policy-settings"]; + }; + /** + * @description Whether or not a user who created the job is prevented from approving their own job. + * @example false + */ + "prevent-self-review": boolean; + /** + * Deployment branch policy + * @description Details of a deployment branch or tag policy. + */ + "deployment-branch-policy": { + /** + * @description The unique identifier of the branch or tag policy. + * @example 361471 + */ + id?: number; + /** @example MDE2OkdhdGVCcmFuY2hQb2xpY3kzNjE0NzE= */ + node_id?: string; + /** + * @description The name pattern that branches or tags must match in order to deploy to the environment. + * @example release/* + */ + name?: string; + /** + * @description Whether this rule targets a branch or tag. + * @example branch + * @enum {string} + */ + type?: "branch" | "tag"; + }; + /** Deployment branch and tag policy name pattern */ + "deployment-branch-policy-name-pattern-with-type": { + /** + * @description The name pattern that branches or tags must match in order to deploy to the environment. + * + * Wildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*\/*`. + * For more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch). + * @example release/* + */ + name: string; + /** + * @description Whether this rule targets a branch or tag + * @example branch + * @enum {string} + */ + type?: "branch" | "tag"; + }; + /** Deployment branch policy name pattern */ + "deployment-branch-policy-name-pattern": { + /** + * @description The name pattern that branches must match in order to deploy to the environment. + * + * Wildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*\/*`. + * For more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch). + * @example release/* + */ + name: string; + }; + /** + * Custom deployment protection rule app + * @description A GitHub App that is providing a custom deployment protection rule. + */ + "custom-deployment-rule-app": { + /** + * @description The unique identifier of the deployment protection rule integration. + * @example 3515 + */ + id: number; + /** + * @description The slugified name of the deployment protection rule integration. + * @example my-custom-app + */ + slug: string; + /** + * @description The URL for the endpoint to get details about the app. + * @example https://api.github.com/apps/custom-app-slug + */ + integration_url: string; + /** + * @description The node ID for the deployment protection rule integration. + * @example MDQ6R2F0ZTM1MTU= + */ + node_id: string; + }; + /** + * Deployment protection rule + * @description Deployment protection rule + */ + "deployment-protection-rule": { + /** + * @description The unique identifier for the deployment protection rule. + * @example 3515 + */ + id: number; + /** + * @description The node ID for the deployment protection rule. + * @example MDQ6R2F0ZTM1MTU= + */ + node_id: string; + /** + * @description Whether the deployment protection rule is enabled for the environment. + * @example true + */ + enabled: boolean; + app: components["schemas"]["custom-deployment-rule-app"]; + }; + /** + * Short Blob + * @description Short Blob + */ + "short-blob": { + url: string; + sha: string; + }; + /** + * Blob + * @description Blob + */ + blob: { + content: string; + encoding: string; + /** Format: uri */ + url: string; + sha: string; + size: number | null; + node_id: string; + highlighted_content?: string; + }; + /** + * Git Commit + * @description Low-level Git commit operations within a repository + */ + "git-commit": { + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + sha: string; + node_id: string; + /** Format: uri */ + url: string; + /** @description Identifying information for the git-user */ + author: { + /** + * Format: date-time + * @description Timestamp of the commit + * @example 2014-08-09T08:02:04+12:00 + */ + date: string; + /** + * @description Git email address of the user + * @example monalisa.octocat@example.com + */ + email: string; + /** + * @description Name of the git user + * @example Monalisa Octocat + */ + name: string; + }; + /** @description Identifying information for the git-user */ + committer: { + /** + * Format: date-time + * @description Timestamp of the commit + * @example 2014-08-09T08:02:04+12:00 + */ + date: string; + /** + * @description Git email address of the user + * @example monalisa.octocat@example.com + */ + email: string; + /** + * @description Name of the git user + * @example Monalisa Octocat + */ + name: string; + }; + /** + * @description Message describing the purpose of the commit + * @example Fix #42 + */ + message: string; + tree: { + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + sha: string; + /** Format: uri */ + url: string; + }; + parents: { + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + }[]; + verification: { + verified: boolean; + reason: string; + signature: string | null; + payload: string | null; + verified_at: string | null; + }; + /** Format: uri */ + html_url: string; + }; + /** + * Git Reference + * @description Git references within a repository + */ + "git-ref": { + ref: string; + node_id: string; + /** Format: uri */ + url: string; + object: { + type: string; + /** + * @description SHA for the reference + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + sha: string; + /** Format: uri */ + url: string; + }; + }; + /** + * Git Tag + * @description Metadata for a Git tag + */ + "git-tag": { + /** @example MDM6VGFnOTQwYmQzMzYyNDhlZmFlMGY5ZWU1YmM3YjJkNWM5ODU4ODdiMTZhYw== */ + node_id: string; + /** + * @description Name of the tag + * @example v0.0.1 + */ + tag: string; + /** @example 940bd336248efae0f9ee5bc7b2d5c985887b16ac */ + sha: string; + /** + * Format: uri + * @description URL for the tag + * @example https://api.github.com/repositories/42/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac + */ + url: string; + /** + * @description Message describing the purpose of the tag + * @example Initial public release + */ + message: string; + tagger: { + date: string; + email: string; + name: string; + }; + object: { + sha: string; + type: string; + /** Format: uri */ + url: string; + }; + verification?: components["schemas"]["verification"]; + }; + /** + * Git Tree + * @description The hierarchy between files in a Git repository. + */ + "git-tree": { + sha: string; + /** Format: uri */ + url: string; + truncated: boolean; + /** + * @description Objects specifying a tree structure + * @example [ + * { + * "path": "file.rb", + * "mode": "100644", + * "type": "blob", + * "size": 30, + * "sha": "44b4fc6d56897b048c772eb4087f854f46256132", + * "url": "https://api.github.com/repos/octocat/Hello-World/git/blobs/44b4fc6d56897b048c772eb4087f854f46256132", + * "properties": { + * "path": { + * "type": "string" + * }, + * "mode": { + * "type": "string" + * }, + * "type": { + * "type": "string" + * }, + * "size": { + * "type": "integer" + * }, + * "sha": { + * "type": "string" + * }, + * "url": { + * "type": "string" + * } + * }, + * "required": [ + * "path", + * "mode", + * "type", + * "sha", + * "url", + * "size" + * ] + * } + * ] + */ + tree: { + /** @example test/file.rb */ + path?: string; + /** @example 040000 */ + mode?: string; + /** @example tree */ + type?: string; + /** @example 23f6827669e43831def8a7ad935069c8bd418261 */ + sha?: string; + /** @example 12 */ + size?: number; + /** @example https://api.github.com/repos/owner-482f3203ecf01f67e9deb18e/BBB_Private_Repo/git/blobs/23f6827669e43831def8a7ad935069c8bd418261 */ + url?: string; + }[]; + }; + /** Hook Response */ + "hook-response": { + code: number | null; + status: string | null; + message: string | null; + }; + /** + * Webhook + * @description Webhooks for repositories. + */ + hook: { + type: string; + /** + * @description Unique identifier of the webhook. + * @example 42 + */ + id: number; + /** + * @description The name of a valid service, use 'web' for a webhook. + * @example web + */ + name: string; + /** + * @description Determines whether the hook is actually triggered on pushes. + * @example true + */ + active: boolean; + /** + * @description Determines what events the hook is triggered for. Default: ['push']. + * @example [ + * "push", + * "pull_request" + * ] + */ + events: string[]; + config: components["schemas"]["webhook-config"]; + /** + * Format: date-time + * @example 2011-09-06T20:39:23Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2011-09-06T17:26:27Z + */ + created_at: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/hooks/1 + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/hooks/1/test + */ + test_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/hooks/1/pings + */ + ping_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/hooks/1/deliveries + */ + deliveries_url?: string; + last_response: components["schemas"]["hook-response"]; + }; + /** + * Import + * @description A repository import from an external source. + */ + import: { + vcs: string | null; + use_lfs?: boolean; + /** @description The URL of the originating repository. */ + vcs_url: string; + svc_root?: string; + tfvc_project?: string; + /** @enum {string} */ + status: + | "auth" + | "error" + | "none" + | "detecting" + | "choose" + | "auth_failed" + | "importing" + | "mapping" + | "waiting_to_push" + | "pushing" + | "complete" + | "setup" + | "unknown" + | "detection_found_multiple" + | "detection_found_nothing" + | "detection_needs_auth"; + status_text?: string | null; + failed_step?: string | null; + error_message?: string | null; + import_percent?: number | null; + commit_count?: number | null; + push_percent?: number | null; + has_large_files?: boolean; + large_files_size?: number; + large_files_count?: number; + project_choices?: { + vcs?: string; + tfvc_project?: string; + human_name?: string; + }[]; + message?: string; + authors_count?: number | null; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + authors_url: string; + /** Format: uri */ + repository_url: string; + svn_root?: string; + }; + /** + * Porter Author + * @description Porter Author + */ + "porter-author": { + id: number; + remote_id: string; + remote_name: string; + email: string; + name: string; + /** Format: uri */ + url: string; + /** Format: uri */ + import_url: string; + }; + /** + * Porter Large File + * @description Porter Large File + */ + "porter-large-file": { + ref_name: string; + path: string; + oid: string; + size: number; + }; + /** + * Issue + * @description Issues are a great way to keep track of tasks, enhancements, and bugs for your projects. + */ + "nullable-issue": { + /** Format: int64 */ + id: number; + node_id: string; + /** + * Format: uri + * @description URL for the issue + * @example https://api.github.com/repositories/42/issues/1 + */ + url: string; + /** Format: uri */ + repository_url: string; + labels_url: string; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** + * @description Number uniquely identifying the issue within its repository + * @example 42 + */ + number: number; + /** + * @description State of the issue; either 'open' or 'closed' + * @example open + */ + state: string; + /** + * @description The reason for the current state + * @example not_planned + * @enum {string|null} + */ + state_reason?: "completed" | "reopened" | "not_planned" | null; + /** + * @description Title of the issue + * @example Widget creation fails in Safari on OS X 10.8 + */ + title: string; + /** + * @description Contents of the issue + * @example It looks like the new widget form is broken on Safari. When I try and create the widget, Safari crashes. This is reproducible on 10.8, but not 10.9. Maybe a browser bug? + */ + body?: string | null; + user: components["schemas"]["nullable-simple-user"]; + /** + * @description Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository + * @example [ + * "bug", + * "registration" + * ] + */ + labels: OneOf< + [ + string, + { + /** Format: int64 */ + id?: number; + node_id?: string; + /** Format: uri */ + url?: string; + name?: string; + description?: string | null; + color?: string | null; + default?: boolean; + }, + ] + >[]; + assignee: components["schemas"]["nullable-simple-user"]; + assignees?: components["schemas"]["simple-user"][] | null; + milestone: components["schemas"]["nullable-milestone"]; + locked: boolean; + active_lock_reason?: string | null; + comments: number; + pull_request?: { + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + diff_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + patch_url: string | null; + /** Format: uri */ + url: string | null; + }; + /** Format: date-time */ + closed_at: string | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + draft?: boolean; + closed_by?: components["schemas"]["nullable-simple-user"]; + body_html?: string; + body_text?: string; + /** Format: uri */ + timeline_url?: string; + type?: components["schemas"]["issue-type"]; + repository?: components["schemas"]["repository"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + author_association: components["schemas"]["author-association"]; + reactions?: components["schemas"]["reaction-rollup"]; + sub_issues_summary?: components["schemas"]["sub-issues-summary"]; + } | null; + /** + * Issue Event Label + * @description Issue Event Label + */ + "issue-event-label": { + name: string | null; + color: string | null; + }; + /** Issue Event Dismissed Review */ + "issue-event-dismissed-review": { + state: string; + review_id: number; + dismissal_message: string | null; + dismissal_commit_id?: string | null; + }; + /** + * Issue Event Milestone + * @description Issue Event Milestone + */ + "issue-event-milestone": { + title: string; + }; + /** + * Issue Event Project Card + * @description Issue Event Project Card + */ + "issue-event-project-card": { + /** Format: uri */ + url: string; + id: number; + /** Format: uri */ + project_url: string; + project_id: number; + column_name: string; + previous_column_name?: string; + }; + /** + * Issue Event Rename + * @description Issue Event Rename + */ + "issue-event-rename": { + from: string; + to: string; + }; + /** + * Issue Event + * @description Issue Event + */ + "issue-event": { + /** + * Format: int64 + * @example 1 + */ + id: number; + /** @example MDEwOklzc3VlRXZlbnQx */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/issues/events/1 + */ + url: string; + actor: components["schemas"]["nullable-simple-user"]; + /** @example closed */ + event: string; + /** @example 6dcb09b5b57875f334f61aebed695e2e4193db5e */ + commit_id: string | null; + /** @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e */ + commit_url: string | null; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + created_at: string; + issue?: components["schemas"]["nullable-issue"]; + label?: components["schemas"]["issue-event-label"]; + assignee?: components["schemas"]["nullable-simple-user"]; + assigner?: components["schemas"]["nullable-simple-user"]; + review_requester?: components["schemas"]["nullable-simple-user"]; + requested_reviewer?: components["schemas"]["nullable-simple-user"]; + requested_team?: components["schemas"]["team"]; + dismissed_review?: components["schemas"]["issue-event-dismissed-review"]; + milestone?: components["schemas"]["issue-event-milestone"]; + project_card?: components["schemas"]["issue-event-project-card"]; + rename?: components["schemas"]["issue-event-rename"]; + author_association?: components["schemas"]["author-association"]; + lock_reason?: string | null; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + }; + /** + * Labeled Issue Event + * @description Labeled Issue Event + */ + "labeled-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + label: { + name: string; + color: string; + }; + }; + /** + * Unlabeled Issue Event + * @description Unlabeled Issue Event + */ + "unlabeled-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + label: { + name: string; + color: string; + }; + }; + /** + * Assigned Issue Event + * @description Assigned Issue Event + */ + "assigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["integration"]; + assignee: components["schemas"]["simple-user"]; + assigner: components["schemas"]["simple-user"]; + }; + /** + * Unassigned Issue Event + * @description Unassigned Issue Event + */ + "unassigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + assignee: components["schemas"]["simple-user"]; + assigner: components["schemas"]["simple-user"]; + }; + /** + * Milestoned Issue Event + * @description Milestoned Issue Event + */ + "milestoned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + milestone: { + title: string; + }; + }; + /** + * Demilestoned Issue Event + * @description Demilestoned Issue Event + */ + "demilestoned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + milestone: { + title: string; + }; + }; + /** + * Renamed Issue Event + * @description Renamed Issue Event + */ + "renamed-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + rename: { + from: string; + to: string; + }; + }; + /** + * Review Requested Issue Event + * @description Review Requested Issue Event + */ + "review-requested-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + review_requester: components["schemas"]["simple-user"]; + requested_team?: components["schemas"]["team"]; + requested_reviewer?: components["schemas"]["simple-user"]; + }; + /** + * Review Request Removed Issue Event + * @description Review Request Removed Issue Event + */ + "review-request-removed-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + review_requester: components["schemas"]["simple-user"]; + requested_team?: components["schemas"]["team"]; + requested_reviewer?: components["schemas"]["simple-user"]; + }; + /** + * Review Dismissed Issue Event + * @description Review Dismissed Issue Event + */ + "review-dismissed-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + dismissed_review: { + state: string; + review_id: number; + dismissal_message: string | null; + dismissal_commit_id?: string; + }; + }; + /** + * Locked Issue Event + * @description Locked Issue Event + */ + "locked-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + /** @example "off-topic" */ + lock_reason: string | null; + }; + /** + * Added to Project Issue Event + * @description Added to Project Issue Event + */ + "added-to-project-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + project_card?: { + id: number; + /** Format: uri */ + url: string; + project_id: number; + /** Format: uri */ + project_url: string; + column_name: string; + previous_column_name?: string; + }; + }; + /** + * Moved Column in Project Issue Event + * @description Moved Column in Project Issue Event + */ + "moved-column-in-project-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + project_card?: { + id: number; + /** Format: uri */ + url: string; + project_id: number; + /** Format: uri */ + project_url: string; + column_name: string; + previous_column_name?: string; + }; + }; + /** + * Removed from Project Issue Event + * @description Removed from Project Issue Event + */ + "removed-from-project-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + project_card?: { + id: number; + /** Format: uri */ + url: string; + project_id: number; + /** Format: uri */ + project_url: string; + column_name: string; + previous_column_name?: string; + }; + }; + /** + * Converted Note to Issue Issue Event + * @description Converted Note to Issue Issue Event + */ + "converted-note-to-issue-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["integration"]; + project_card?: { + id: number; + /** Format: uri */ + url: string; + project_id: number; + /** Format: uri */ + project_url: string; + column_name: string; + previous_column_name?: string; + }; + }; + /** + * Issue Event for Issue + * @description Issue Event for Issue + */ + "issue-event-for-issue": + | components["schemas"]["labeled-issue-event"] + | components["schemas"]["unlabeled-issue-event"] + | components["schemas"]["assigned-issue-event"] + | components["schemas"]["unassigned-issue-event"] + | components["schemas"]["milestoned-issue-event"] + | components["schemas"]["demilestoned-issue-event"] + | components["schemas"]["renamed-issue-event"] + | components["schemas"]["review-requested-issue-event"] + | components["schemas"]["review-request-removed-issue-event"] + | components["schemas"]["review-dismissed-issue-event"] + | components["schemas"]["locked-issue-event"] + | components["schemas"]["added-to-project-issue-event"] + | components["schemas"]["moved-column-in-project-issue-event"] + | components["schemas"]["removed-from-project-issue-event"] + | components["schemas"]["converted-note-to-issue-issue-event"]; + /** + * Label + * @description Color-coded labels help you categorize and filter your issues (just like labels in Gmail). + */ + label: { + /** + * Format: int64 + * @description Unique identifier for the label. + * @example 208045946 + */ + id: number; + /** @example MDU6TGFiZWwyMDgwNDU5NDY= */ + node_id: string; + /** + * Format: uri + * @description URL for the label + * @example https://api.github.com/repositories/42/labels/bug + */ + url: string; + /** + * @description The name of the label. + * @example bug + */ + name: string; + /** + * @description Optional description of the label, such as its purpose. + * @example Something isn't working + */ + description: string | null; + /** + * @description 6-character hex code, without the leading #, identifying the color + * @example FFFFFF + */ + color: string; + /** + * @description Whether this label comes by default in a new repository. + * @example true + */ + default: boolean; + }; + /** + * Timeline Comment Event + * @description Timeline Comment Event + */ + "timeline-comment-event": { + event: string; + actor: components["schemas"]["simple-user"]; + /** + * @description Unique identifier of the issue comment + * @example 42 + */ + id: number; + node_id: string; + /** + * Format: uri + * @description URL for the issue comment + * @example https://api.github.com/repositories/42/issues/comments/1 + */ + url: string; + /** + * @description Contents of the issue comment + * @example What version of Safari were you using when you observed this bug? + */ + body?: string; + body_text?: string; + body_html?: string; + /** Format: uri */ + html_url: string; + user: components["schemas"]["simple-user"]; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + updated_at: string; + /** Format: uri */ + issue_url: string; + author_association: components["schemas"]["author-association"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Timeline Cross Referenced Event + * @description Timeline Cross Referenced Event + */ + "timeline-cross-referenced-event": { + event: string; + actor?: components["schemas"]["simple-user"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + source: { + type?: string; + issue?: components["schemas"]["issue"]; + }; + }; + /** + * Timeline Committed Event + * @description Timeline Committed Event + */ + "timeline-committed-event": { + event?: string; + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + sha: string; + node_id: string; + /** Format: uri */ + url: string; + /** @description Identifying information for the git-user */ + author: { + /** + * Format: date-time + * @description Timestamp of the commit + * @example 2014-08-09T08:02:04+12:00 + */ + date: string; + /** + * @description Git email address of the user + * @example monalisa.octocat@example.com + */ + email: string; + /** + * @description Name of the git user + * @example Monalisa Octocat + */ + name: string; + }; + /** @description Identifying information for the git-user */ + committer: { + /** + * Format: date-time + * @description Timestamp of the commit + * @example 2014-08-09T08:02:04+12:00 + */ + date: string; + /** + * @description Git email address of the user + * @example monalisa.octocat@example.com + */ + email: string; + /** + * @description Name of the git user + * @example Monalisa Octocat + */ + name: string; + }; + /** + * @description Message describing the purpose of the commit + * @example Fix #42 + */ + message: string; + tree: { + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + sha: string; + /** Format: uri */ + url: string; + }; + parents: { + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + }[]; + verification: { + verified: boolean; + reason: string; + signature: string | null; + payload: string | null; + verified_at: string | null; + }; + /** Format: uri */ + html_url: string; + }; + /** + * Timeline Reviewed Event + * @description Timeline Reviewed Event + */ + "timeline-reviewed-event": { + event: string; + /** + * @description Unique identifier of the review + * @example 42 + */ + id: number; + /** @example MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA= */ + node_id: string; + user: components["schemas"]["simple-user"]; + /** + * @description The text of the review. + * @example This looks great. + */ + body: string | null; + /** @example CHANGES_REQUESTED */ + state: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/12 + */ + pull_request_url: string; + _links: { + html: { + href: string; + }; + pull_request: { + href: string; + }; + }; + /** Format: date-time */ + submitted_at?: string; + /** + * @description A commit SHA for the review. + * @example 54bb654c9e6025347f57900a4a5c2313a96b8035 + */ + commit_id: string; + body_html?: string; + body_text?: string; + author_association: components["schemas"]["author-association"]; + }; + /** + * Pull Request Review Comment + * @description Pull Request Review Comments are comments on a portion of the Pull Request's diff. + */ + "pull-request-review-comment": { + /** + * @description URL for the pull request review comment + * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 + */ + url: string; + /** + * Format: int64 + * @description The ID of the pull request review to which the comment belongs. + * @example 42 + */ + pull_request_review_id: number | null; + /** + * Format: int64 + * @description The ID of the pull request review comment. + * @example 1 + */ + id: number; + /** + * @description The node ID of the pull request review comment. + * @example MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw + */ + node_id: string; + /** + * @description The diff of the line that the comment refers to. + * @example @@ -16,33 +16,40 @@ public class Connection : IConnection... + */ + diff_hunk: string; + /** + * @description The relative path of the file to which the comment applies. + * @example config/database.yaml + */ + path: string; + /** + * @description The line index in the diff to which the comment applies. This field is closing down; use `line` instead. + * @example 1 + */ + position?: number; + /** + * @description The index of the original line in the diff to which the comment applies. This field is closing down; use `original_line` instead. + * @example 4 + */ + original_position?: number; + /** + * @description The SHA of the commit to which the comment applies. + * @example 6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + commit_id: string; + /** + * @description The SHA of the original commit to which the comment applies. + * @example 9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840 + */ + original_commit_id: string; + /** + * @description The comment ID to reply to. + * @example 8 + */ + in_reply_to_id?: number; + user: components["schemas"]["simple-user"]; + /** + * @description The text of the comment. + * @example We should probably include a check for null values here. + */ + body: string; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + updated_at: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + * @example https://github.com/octocat/Hello-World/pull/1#discussion-diff-1 + */ + html_url: string; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1 + */ + pull_request_url: string; + author_association: components["schemas"]["author-association"]; + _links: { + self: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 + */ + href: string; + }; + html: { + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1#discussion-diff-1 + */ + href: string; + }; + pull_request: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1 + */ + href: string; + }; + }; + /** + * @description The first line of the range for a multi-line comment. + * @example 2 + */ + start_line?: number | null; + /** + * @description The first line of the range for a multi-line comment. + * @example 2 + */ + original_start_line?: number | null; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side?: "LEFT" | "RIGHT" | null; + /** + * @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment + * @example 2 + */ + line?: number; + /** + * @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment + * @example 2 + */ + original_line?: number; + /** + * @description The side of the diff to which the comment applies. The side of the last line of the range for a multi-line comment + * @default RIGHT + * @enum {string} + */ + side?: "LEFT" | "RIGHT"; + /** + * @description The level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + reactions?: components["schemas"]["reaction-rollup"]; + /** @example "

comment body

" */ + body_html?: string; + /** @example "comment body" */ + body_text?: string; + }; + /** + * Timeline Line Commented Event + * @description Timeline Line Commented Event + */ + "timeline-line-commented-event": { + event?: string; + node_id?: string; + comments?: components["schemas"]["pull-request-review-comment"][]; + }; + /** + * Timeline Commit Commented Event + * @description Timeline Commit Commented Event + */ + "timeline-commit-commented-event": { + event?: string; + node_id?: string; + commit_id?: string; + comments?: components["schemas"]["commit-comment"][]; + }; + /** + * Timeline Assigned Issue Event + * @description Timeline Assigned Issue Event + */ + "timeline-assigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + assignee: components["schemas"]["simple-user"]; + }; + /** + * Timeline Unassigned Issue Event + * @description Timeline Unassigned Issue Event + */ + "timeline-unassigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + assignee: components["schemas"]["simple-user"]; + }; + /** + * State Change Issue Event + * @description State Change Issue Event + */ + "state-change-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + state_reason?: string | null; + }; + /** + * Timeline Event + * @description Timeline Event + */ + "timeline-issue-events": + | components["schemas"]["labeled-issue-event"] + | components["schemas"]["unlabeled-issue-event"] + | components["schemas"]["milestoned-issue-event"] + | components["schemas"]["demilestoned-issue-event"] + | components["schemas"]["renamed-issue-event"] + | components["schemas"]["review-requested-issue-event"] + | components["schemas"]["review-request-removed-issue-event"] + | components["schemas"]["review-dismissed-issue-event"] + | components["schemas"]["locked-issue-event"] + | components["schemas"]["added-to-project-issue-event"] + | components["schemas"]["moved-column-in-project-issue-event"] + | components["schemas"]["removed-from-project-issue-event"] + | components["schemas"]["converted-note-to-issue-issue-event"] + | components["schemas"]["timeline-comment-event"] + | components["schemas"]["timeline-cross-referenced-event"] + | components["schemas"]["timeline-committed-event"] + | components["schemas"]["timeline-reviewed-event"] + | components["schemas"]["timeline-line-commented-event"] + | components["schemas"]["timeline-commit-commented-event"] + | components["schemas"]["timeline-assigned-issue-event"] + | components["schemas"]["timeline-unassigned-issue-event"] + | components["schemas"]["state-change-issue-event"]; + /** + * Deploy Key + * @description An SSH key granting access to a single repository. + */ + "deploy-key": { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; + added_by?: string | null; + last_used?: string | null; + enabled?: boolean; + }; + /** + * Language + * @description Language + */ + language: { + [key: string]: number; + }; + /** + * License Content + * @description License Content + */ + "license-content": { + name: string; + path: string; + sha: string; + size: number; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + git_url: string | null; + /** Format: uri */ + download_url: string | null; + type: string; + content: string; + encoding: string; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + license: components["schemas"]["nullable-license-simple"]; + }; + /** + * Merged upstream + * @description Results of a successful merge upstream request + */ + "merged-upstream": { + message?: string; + /** @enum {string} */ + merge_type?: "merge" | "fast-forward" | "none"; + base_branch?: string; + }; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/milestones/1 + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/milestones/v1.0 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/milestones/1/labels + */ + labels_url: string; + /** @example 1002604 */ + id: number; + /** @example MDk6TWlsZXN0b25lMTAwMjYwNA== */ + node_id: string; + /** + * @description The number of the milestone. + * @example 42 + */ + number: number; + /** + * @description The state of the milestone. + * @default open + * @example open + * @enum {string} + */ + state: "open" | "closed"; + /** + * @description The title of the milestone. + * @example v1.0 + */ + title: string; + /** @example Tracking milestone for version 1.0 */ + description: string | null; + creator: components["schemas"]["nullable-simple-user"]; + /** @example 4 */ + open_issues: number; + /** @example 8 */ + closed_issues: number; + /** + * Format: date-time + * @example 2011-04-10T20:09:31Z + */ + created_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2013-02-12T13:22:01Z + */ + closed_at: string | null; + /** + * Format: date-time + * @example 2012-10-09T23:39:01Z + */ + due_on: string | null; + }; + /** Pages Source Hash */ + "pages-source-hash": { + branch: string; + path: string; + }; + /** Pages Https Certificate */ + "pages-https-certificate": { + /** + * @example approved + * @enum {string} + */ + state: + | "new" + | "authorization_created" + | "authorization_pending" + | "authorized" + | "authorization_revoked" + | "issued" + | "uploaded" + | "approved" + | "errored" + | "bad_authz" + | "destroy_pending" + | "dns_changed"; + /** @example Certificate is approved */ + description: string; + /** + * @description Array of the domain set and its alternate name (if it is configured) + * @example [ + * "example.com", + * "www.example.com" + * ] + */ + domains: string[]; + /** Format: date */ + expires_at?: string; + }; + /** + * GitHub Pages + * @description The configuration for GitHub Pages for a repository. + */ + page: { + /** + * Format: uri + * @description The API address for accessing this Page resource. + * @example https://api.github.com/repos/github/hello-world/pages + */ + url: string; + /** + * @description The status of the most recent build of the Page. + * @example built + * @enum {string|null} + */ + status: "built" | "building" | "errored" | null; + /** + * @description The Pages site's custom domain + * @example example.com + */ + cname: string | null; + /** + * @description The state if the domain is verified + * @example pending + * @enum {string|null} + */ + protected_domain_state?: "pending" | "verified" | "unverified" | null; + /** + * Format: date-time + * @description The timestamp when a pending domain becomes unverified. + */ + pending_domain_unverified_at?: string | null; + /** + * @description Whether the Page has a custom 404 page. + * @default false + * @example false + */ + custom_404: boolean; + /** + * Format: uri + * @description The web address the Page can be accessed from. + * @example https://example.com + */ + html_url?: string; + /** + * @description The process in which the Page will be built. + * @example legacy + * @enum {string|null} + */ + build_type?: "legacy" | "workflow" | null; + source?: components["schemas"]["pages-source-hash"]; + /** + * @description Whether the GitHub Pages site is publicly visible. If set to `true`, the site is accessible to anyone on the internet. If set to `false`, the site will only be accessible to users who have at least `read` access to the repository that published the site. + * @example true + */ + public: boolean; + https_certificate?: components["schemas"]["pages-https-certificate"]; + /** + * @description Whether https is enabled on the domain + * @example true + */ + https_enforced?: boolean; + }; + /** + * Page Build + * @description Page Build + */ + "page-build": { + /** Format: uri */ + url: string; + status: string; + error: { + message: string | null; + }; + pusher: components["schemas"]["nullable-simple-user"]; + commit: string; + duration: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Page Build Status + * @description Page Build Status + */ + "page-build-status": { + /** + * Format: uri + * @example https://api.github.com/repos/github/hello-world/pages/builds/latest + */ + url: string; + /** @example queued */ + status: string; + }; + /** + * GitHub Pages + * @description The GitHub Pages deployment status. + */ + "page-deployment": { + /** @description The ID of the GitHub Pages deployment. This is the Git SHA of the deployed commit. */ + id: number | string; + /** + * Format: uri + * @description The URI to monitor GitHub Pages deployment status. + * @example https://api.github.com/repos/github/hello-world/pages/deployments/4fd754f7e594640989b406850d0bc8f06a121251 + */ + status_url: string; + /** + * Format: uri + * @description The URI to the deployed GitHub Pages. + * @example hello-world.github.io + */ + page_url: string; + /** + * Format: uri + * @description The URI to the deployed GitHub Pages preview. + * @example monalisa-1231a2312sa32-23sda74.drafts.github.io + */ + preview_url?: string; + }; + /** GitHub Pages deployment status */ + "pages-deployment-status": { + /** + * @description The current status of the deployment. + * @enum {string} + */ + status?: + | "deployment_in_progress" + | "syncing_files" + | "finished_file_sync" + | "updating_pages" + | "purging_cdn" + | "deployment_cancelled" + | "deployment_failed" + | "deployment_content_failed" + | "deployment_attempt_error" + | "deployment_lost" + | "succeed"; + }; + /** + * Pages Health Check Status + * @description Pages Health Check Status + */ + "pages-health-check": { + domain?: { + host?: string; + uri?: string; + nameservers?: string; + dns_resolves?: boolean; + is_proxied?: boolean | null; + is_cloudflare_ip?: boolean | null; + is_fastly_ip?: boolean | null; + is_old_ip_address?: boolean | null; + is_a_record?: boolean | null; + has_cname_record?: boolean | null; + has_mx_records_present?: boolean | null; + is_valid_domain?: boolean; + is_apex_domain?: boolean; + should_be_a_record?: boolean | null; + is_cname_to_github_user_domain?: boolean | null; + is_cname_to_pages_dot_github_dot_com?: boolean | null; + is_cname_to_fastly?: boolean | null; + is_pointed_to_github_pages_ip?: boolean | null; + is_non_github_pages_ip_present?: boolean | null; + is_pages_domain?: boolean; + is_served_by_pages?: boolean | null; + is_valid?: boolean; + reason?: string | null; + responds_to_https?: boolean; + enforces_https?: boolean; + https_error?: string | null; + is_https_eligible?: boolean | null; + caa_error?: string | null; + }; + alt_domain?: { + host?: string; + uri?: string; + nameservers?: string; + dns_resolves?: boolean; + is_proxied?: boolean | null; + is_cloudflare_ip?: boolean | null; + is_fastly_ip?: boolean | null; + is_old_ip_address?: boolean | null; + is_a_record?: boolean | null; + has_cname_record?: boolean | null; + has_mx_records_present?: boolean | null; + is_valid_domain?: boolean; + is_apex_domain?: boolean; + should_be_a_record?: boolean | null; + is_cname_to_github_user_domain?: boolean | null; + is_cname_to_pages_dot_github_dot_com?: boolean | null; + is_cname_to_fastly?: boolean | null; + is_pointed_to_github_pages_ip?: boolean | null; + is_non_github_pages_ip_present?: boolean | null; + is_pages_domain?: boolean; + is_served_by_pages?: boolean | null; + is_valid?: boolean; + reason?: string | null; + responds_to_https?: boolean; + enforces_https?: boolean; + https_error?: string | null; + is_https_eligible?: boolean | null; + caa_error?: string | null; + } | null; + }; + /** + * Pull Request + * @description Pull requests let you tell others about changes you've pushed to a repository on GitHub. Once a pull request is sent, interested parties can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary. + */ + "pull-request": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347 + */ + url: string; + /** + * Format: int64 + * @example 1 + */ + id: number; + /** @example MDExOlB1bGxSZXF1ZXN0MQ== */ + node_id: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347 + */ + html_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347.diff + */ + diff_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347.patch + */ + patch_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 + */ + issue_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits + */ + commits_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments + */ + review_comments_url: string; + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} */ + review_comment_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347/comments + */ + comments_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + statuses_url: string; + /** + * @description Number uniquely identifying the pull request within its repository. + * @example 42 + */ + number: number; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @example open + * @enum {string} + */ + state: "open" | "closed"; + /** @example true */ + locked: boolean; + /** + * @description The title of the pull request. + * @example Amazing new feature + */ + title: string; + user: components["schemas"]["simple-user"]; + /** @example Please pull these awesome changes */ + body: string | null; + labels: { + /** Format: int64 */ + id: number; + node_id: string; + url: string; + name: string; + description: string | null; + color: string; + default: boolean; + }[]; + milestone: components["schemas"]["nullable-milestone"]; + /** @example too heated */ + active_lock_reason?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + closed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + merged_at: string | null; + /** @example e5bd3914e2e596debea16f433f57875b5b90bcd6 */ + merge_commit_sha: string | null; + assignee: components["schemas"]["nullable-simple-user"]; + assignees?: components["schemas"]["simple-user"][] | null; + requested_reviewers?: components["schemas"]["simple-user"][] | null; + requested_teams?: components["schemas"]["team-simple"][] | null; + head: { + label: string; + ref: string; + repo: components["schemas"]["repository"]; + sha: string; + user: components["schemas"]["simple-user"]; + }; + base: { + label: string; + ref: string; + repo: components["schemas"]["repository"]; + sha: string; + user: components["schemas"]["simple-user"]; + }; + _links: { + comments: components["schemas"]["link"]; + commits: components["schemas"]["link"]; + statuses: components["schemas"]["link"]; + html: components["schemas"]["link"]; + issue: components["schemas"]["link"]; + review_comments: components["schemas"]["link"]; + review_comment: components["schemas"]["link"]; + self: components["schemas"]["link"]; + }; + author_association: components["schemas"]["author-association"]; + auto_merge: components["schemas"]["auto-merge"]; + /** + * @description Indicates whether or not the pull request is a draft. + * @example false + */ + draft?: boolean; + merged: boolean; + /** @example true */ + mergeable: boolean | null; + /** @example true */ + rebaseable?: boolean | null; + /** @example clean */ + mergeable_state: string; + merged_by: components["schemas"]["nullable-simple-user"]; + /** @example 10 */ + comments: number; + /** @example 0 */ + review_comments: number; + /** + * @description Indicates whether maintainers can modify the pull request. + * @example true + */ + maintainer_can_modify: boolean; + /** @example 3 */ + commits: number; + /** @example 100 */ + additions: number; + /** @example 3 */ + deletions: number; + /** @example 5 */ + changed_files: number; + }; + /** + * Pull Request Merge Result + * @description Pull Request Merge Result + */ + "pull-request-merge-result": { + sha: string; + merged: boolean; + message: string; + }; + /** + * Pull Request Review Request + * @description Pull Request Review Request + */ + "pull-request-review-request": { + users: components["schemas"]["simple-user"][]; + teams: components["schemas"]["team"][]; + }; + /** + * Pull Request Review + * @description Pull Request Reviews are reviews on pull requests. + */ + "pull-request-review": { + /** + * Format: int64 + * @description Unique identifier of the review + * @example 42 + */ + id: number; + /** @example MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA= */ + node_id: string; + user: components["schemas"]["nullable-simple-user"]; + /** + * @description The text of the review. + * @example This looks great. + */ + body: string; + /** @example CHANGES_REQUESTED */ + state: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/12 + */ + pull_request_url: string; + _links: { + html: { + href: string; + }; + pull_request: { + href: string; + }; + }; + /** Format: date-time */ + submitted_at?: string; + /** + * @description A commit SHA for the review. If the commit object was garbage collected or forcibly deleted, then it no longer exists in Git and this value will be `null`. + * @example 54bb654c9e6025347f57900a4a5c2313a96b8035 + */ + commit_id: string | null; + body_html?: string; + body_text?: string; + author_association: components["schemas"]["author-association"]; + }; + /** + * Legacy Review Comment + * @description Legacy Review Comment + */ + "review-comment": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 + */ + url: string; + /** + * Format: int64 + * @example 42 + */ + pull_request_review_id: number | null; + /** + * Format: int64 + * @example 10 + */ + id: number; + /** @example MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw */ + node_id: string; + /** @example @@ -16,33 +16,40 @@ public class Connection : IConnection... */ + diff_hunk: string; + /** @example file1.txt */ + path: string; + /** @example 1 */ + position: number | null; + /** @example 4 */ + original_position: number; + /** @example 6dcb09b5b57875f334f61aebed695e2e4193db5e */ + commit_id: string; + /** @example 9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840 */ + original_commit_id: string; + /** @example 8 */ + in_reply_to_id?: number; + user: components["schemas"]["nullable-simple-user"]; + /** @example Great stuff */ + body: string; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + updated_at: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1#discussion-diff-1 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1 + */ + pull_request_url: string; + author_association: components["schemas"]["author-association"]; + _links: { + self: components["schemas"]["link"]; + html: components["schemas"]["link"]; + pull_request: components["schemas"]["link"]; + }; + body_text?: string; + body_html?: string; + reactions?: components["schemas"]["reaction-rollup"]; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string} + */ + side?: "LEFT" | "RIGHT"; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side?: "LEFT" | "RIGHT" | null; + /** + * @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment + * @example 2 + */ + line?: number; + /** + * @description The original line of the blob to which the comment applies. The last line of the range for a multi-line comment + * @example 2 + */ + original_line?: number; + /** + * @description The first line of the range for a multi-line comment. + * @example 2 + */ + start_line?: number | null; + /** + * @description The original first line of the range for a multi-line comment. + * @example 2 + */ + original_start_line?: number | null; + }; + /** + * Release Asset + * @description Data related to a release. + */ + "release-asset": { + /** Format: uri */ + url: string; + /** Format: uri */ + browser_download_url: string; + id: number; + node_id: string; + /** + * @description The file name of the asset. + * @example Team Environment + */ + name: string; + label: string | null; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded" | "open"; + content_type: string; + size: number; + download_count: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + uploader: components["schemas"]["nullable-simple-user"]; + }; + /** + * Release + * @description A release. + */ + release: { + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + assets_url: string; + upload_url: string; + /** Format: uri */ + tarball_url: string | null; + /** Format: uri */ + zipball_url: string | null; + id: number; + node_id: string; + /** + * @description The name of the tag. + * @example v1.0.0 + */ + tag_name: string; + /** + * @description Specifies the commitish value that determines where the Git tag is created from. + * @example master + */ + target_commitish: string; + name: string | null; + body?: string | null; + /** + * @description true to create a draft (unpublished) release, false to create a published one. + * @example false + */ + draft: boolean; + /** + * @description Whether to identify the release as a prerelease or a full release. + * @example false + */ + prerelease: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + published_at: string | null; + author: components["schemas"]["simple-user"]; + assets: components["schemas"]["release-asset"][]; + body_html?: string; + body_text?: string; + mentions_count?: number; + /** + * Format: uri + * @description The URL of the release discussion. + */ + discussion_url?: string; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Generated Release Notes Content + * @description Generated name and body describing a release + */ + "release-notes-content": { + /** + * @description The generated name of the release + * @example Release v1.0.0 is now available! + */ + name: string; + /** @description The generated body describing the contents of the release supporting markdown formatting */ + body: string; + }; + /** + * repository ruleset data for rule + * @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values. + */ + "repository-rule-ruleset-info": { + /** + * @description The type of source for the ruleset that includes this rule. + * @enum {string} + */ + ruleset_source_type?: "Repository" | "Organization"; + /** @description The name of the source of the ruleset that includes this rule. */ + ruleset_source?: string; + /** @description The ID of the ruleset that includes this rule. */ + ruleset_id?: number; + }; + /** + * Repository Rule + * @description A repository rule with ruleset details. + */ + "repository-rule-detailed": + | (components["schemas"]["repository-rule-creation"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-update"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-deletion"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-required-linear-history"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-merge-queue"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-required-deployments"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-required-signatures"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-pull-request"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-required-status-checks"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-non-fast-forward"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-commit-message-pattern"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-commit-author-email-pattern"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-committer-email-pattern"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-branch-name-pattern"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-tag-name-pattern"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-workflows"] & + components["schemas"]["repository-rule-ruleset-info"]) + | (components["schemas"]["repository-rule-code-scanning"] & + components["schemas"]["repository-rule-ruleset-info"]); + "secret-scanning-alert": { + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["nullable-alert-updated-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; + /** + * Format: uri + * @description The REST API URL of the code locations for this alert. + */ + locations_url?: string; + state?: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + /** + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + resolved_at?: string | null; + resolved_by?: components["schemas"]["nullable-simple-user"]; + /** @description An optional comment to resolve an alert. */ + resolution_comment?: string | null; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** + * @description User-friendly name for the detected secret, matching the `secret_type`. + * For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." + */ + secret_type_display_name?: string; + /** @description The secret that was detected. */ + secret?: string; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: boolean | null; + push_protection_bypassed_by?: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + push_protection_bypassed_at?: string | null; + push_protection_bypass_request_reviewer?: components["schemas"]["nullable-simple-user"]; + /** @description An optional comment when reviewing a push protection bypass. */ + push_protection_bypass_request_reviewer_comment?: string | null; + /** @description An optional comment when requesting a push protection bypass. */ + push_protection_bypass_request_comment?: string | null; + /** + * Format: uri + * @description The URL to a push protection bypass request. + */ + push_protection_bypass_request_html_url?: string | null; + /** + * @description The token status as of the latest validity check. + * @enum {string} + */ + validity?: "active" | "inactive" | "unknown"; + /** @description Whether the detected secret was publicly leaked. */ + publicly_leaked?: boolean | null; + /** @description Whether the detected secret was found in multiple repositories under the same organization or enterprise. */ + multi_repo?: boolean | null; + /** @description A boolean value representing whether or not alert is base64 encoded */ + is_base64_encoded?: boolean | null; + }; + /** @description An optional comment when closing an alert. Cannot be updated or deleted. Must be `null` when changing `state` to `open`. */ + "secret-scanning-alert-resolution-comment": string | null; + /** @description Represents a 'commit' secret scanning location type. This location type shows that a secret was detected inside a commit to a repository. */ + "secret-scanning-location-commit": { + /** + * @description The file path in the repository + * @example /example/secrets.txt + */ + path: string; + /** @description Line number at which the secret starts in the file */ + start_line: number; + /** @description Line number at which the secret ends in the file */ + end_line: number; + /** @description The column at which the secret starts within the start line when the file is interpreted as 8BIT ASCII */ + start_column: number; + /** @description The column at which the secret ends within the end line when the file is interpreted as 8BIT ASCII */ + end_column: number; + /** + * @description SHA-1 hash ID of the associated blob + * @example af5626b4a114abcb82d63db7c8082c3c4756e51b + */ + blob_sha: string; + /** @description The API URL to get the associated blob resource */ + blob_url: string; + /** + * @description SHA-1 hash ID of the associated commit + * @example af5626b4a114abcb82d63db7c8082c3c4756e51b + */ + commit_sha: string; + /** @description The API URL to get the associated commit resource */ + commit_url: string; + }; + /** @description Represents a 'wiki_commit' secret scanning location type. This location type shows that a secret was detected inside a commit to a repository wiki. */ + "secret-scanning-location-wiki-commit": { + /** + * @description The file path of the wiki page + * @example /example/Home.md + */ + path: string; + /** @description Line number at which the secret starts in the file */ + start_line: number; + /** @description Line number at which the secret ends in the file */ + end_line: number; + /** @description The column at which the secret starts within the start line when the file is interpreted as 8-bit ASCII. */ + start_column: number; + /** @description The column at which the secret ends within the end line when the file is interpreted as 8-bit ASCII. */ + end_column: number; + /** + * @description SHA-1 hash ID of the associated blob + * @example af5626b4a114abcb82d63db7c8082c3c4756e51b + */ + blob_sha: string; + /** + * @description The GitHub URL to get the associated wiki page + * @example https://github.com/octocat/Hello-World/wiki/Home/302c0b7e200761c9dd9b57e57db540ee0b4293a5 + */ + page_url: string; + /** + * @description SHA-1 hash ID of the associated commit + * @example 302c0b7e200761c9dd9b57e57db540ee0b4293a5 + */ + commit_sha: string; + /** + * @description The GitHub URL to get the associated wiki commit + * @example https://github.com/octocat/Hello-World/wiki/_compare/302c0b7e200761c9dd9b57e57db540ee0b4293a5 + */ + commit_url: string; + }; + /** @description Represents an 'issue_title' secret scanning location type. This location type shows that a secret was detected in the title of an issue. */ + "secret-scanning-location-issue-title": { + /** + * Format: uri + * @description The API URL to get the issue where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 + */ + issue_title_url: string; + }; + /** @description Represents an 'issue_body' secret scanning location type. This location type shows that a secret was detected in the body of an issue. */ + "secret-scanning-location-issue-body": { + /** + * Format: uri + * @description The API URL to get the issue where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 + */ + issue_body_url: string; + }; + /** @description Represents an 'issue_comment' secret scanning location type. This location type shows that a secret was detected in a comment on an issue. */ + "secret-scanning-location-issue-comment": { + /** + * Format: uri + * @description The API URL to get the issue comment where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/issues/comments/1081119451 + */ + issue_comment_url: string; + }; + /** @description Represents a 'discussion_title' secret scanning location type. This location type shows that a secret was detected in the title of a discussion. */ + "secret-scanning-location-discussion-title": { + /** + * Format: uri + * @description The URL to the discussion where the secret was detected. + * @example https://github.com/community/community/discussions/39082 + */ + discussion_title_url: string; + }; + /** @description Represents a 'discussion_body' secret scanning location type. This location type shows that a secret was detected in the body of a discussion. */ + "secret-scanning-location-discussion-body": { + /** + * Format: uri + * @description The URL to the discussion where the secret was detected. + * @example https://github.com/community/community/discussions/39082#discussion-4566270 + */ + discussion_body_url: string; + }; + /** @description Represents a 'discussion_comment' secret scanning location type. This location type shows that a secret was detected in a comment on a discussion. */ + "secret-scanning-location-discussion-comment": { + /** + * Format: uri + * @description The API URL to get the discussion comment where the secret was detected. + * @example https://github.com/community/community/discussions/39082#discussioncomment-4158232 + */ + discussion_comment_url: string; + }; + /** @description Represents a 'pull_request_title' secret scanning location type. This location type shows that a secret was detected in the title of a pull request. */ + "secret-scanning-location-pull-request-title": { + /** + * Format: uri + * @description The API URL to get the pull request where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/pulls/2846 + */ + pull_request_title_url: string; + }; + /** @description Represents a 'pull_request_body' secret scanning location type. This location type shows that a secret was detected in the body of a pull request. */ + "secret-scanning-location-pull-request-body": { + /** + * Format: uri + * @description The API URL to get the pull request where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/pulls/2846 + */ + pull_request_body_url: string; + }; + /** @description Represents a 'pull_request_comment' secret scanning location type. This location type shows that a secret was detected in a comment on a pull request. */ + "secret-scanning-location-pull-request-comment": { + /** + * Format: uri + * @description The API URL to get the pull request comment where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/issues/comments/1081119451 + */ + pull_request_comment_url: string; + }; + /** @description Represents a 'pull_request_review' secret scanning location type. This location type shows that a secret was detected in a review on a pull request. */ + "secret-scanning-location-pull-request-review": { + /** + * Format: uri + * @description The API URL to get the pull request review where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/pulls/2846/reviews/80 + */ + pull_request_review_url: string; + }; + /** @description Represents a 'pull_request_review_comment' secret scanning location type. This location type shows that a secret was detected in a review comment on a pull request. */ + "secret-scanning-location-pull-request-review-comment": { + /** + * Format: uri + * @description The API URL to get the pull request review comment where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/12 + */ + pull_request_review_comment_url: string; + }; + "secret-scanning-location": { + /** + * @description The location type. Because secrets may be found in different types of resources (ie. code, comments, issues, pull requests, discussions), this field identifies the type of resource where the secret was found. + * @example commit + * @enum {string} + */ + type?: + | "commit" + | "wiki_commit" + | "issue_title" + | "issue_body" + | "issue_comment" + | "discussion_title" + | "discussion_body" + | "discussion_comment" + | "pull_request_title" + | "pull_request_body" + | "pull_request_comment" + | "pull_request_review" + | "pull_request_review_comment"; + details?: + | components["schemas"]["secret-scanning-location-commit"] + | components["schemas"]["secret-scanning-location-wiki-commit"] + | components["schemas"]["secret-scanning-location-issue-title"] + | components["schemas"]["secret-scanning-location-issue-body"] + | components["schemas"]["secret-scanning-location-issue-comment"] + | components["schemas"]["secret-scanning-location-discussion-title"] + | components["schemas"]["secret-scanning-location-discussion-body"] + | components["schemas"]["secret-scanning-location-discussion-comment"] + | components["schemas"]["secret-scanning-location-pull-request-title"] + | components["schemas"]["secret-scanning-location-pull-request-body"] + | components["schemas"]["secret-scanning-location-pull-request-comment"] + | components["schemas"]["secret-scanning-location-pull-request-review"] + | components["schemas"]["secret-scanning-location-pull-request-review-comment"]; + }; + /** + * @description The reason for bypassing push protection. + * @enum {string} + */ + "secret-scanning-push-protection-bypass-reason": + | "false_positive" + | "used_in_tests" + | "will_fix_later"; + "secret-scanning-push-protection-bypass": { + reason?: components["schemas"]["secret-scanning-push-protection-bypass-reason"]; + /** + * Format: date-time + * @description The time that the bypass will expire in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + expire_at?: string | null; + /** @description The token type this bypass is for. */ + token_type?: string; + }; + /** @description Information on a single scan performed by secret scanning on the repository */ + "secret-scanning-scan": { + /** @description The type of scan */ + type?: string; + /** @description The state of the scan. Either "completed", "running", or "pending" */ + status?: string; + /** + * Format: date-time + * @description The time that the scan was completed. Empty if the scan is running + */ + completed_at?: string | null; + /** + * Format: date-time + * @description The time that the scan was started. Empty if the scan is pending + */ + started_at?: string | null; + }; + "secret-scanning-scan-history": { + incremental_scans?: components["schemas"]["secret-scanning-scan"][]; + pattern_update_scans?: components["schemas"]["secret-scanning-scan"][]; + backfill_scans?: components["schemas"]["secret-scanning-scan"][]; + custom_pattern_backfill_scans?: (components["schemas"]["secret-scanning-scan"] & { + /** @description Name of the custom pattern for custom pattern scans */ + pattern_name?: string; + /** @description Level at which the custom pattern is defined, one of "repository", "organization", or "enterprise" */ + pattern_scope?: string; + })[]; + }; + "repository-advisory-create": { + /** @description A short summary of the advisory. */ + summary: string; + /** @description A detailed description of what the advisory impacts. */ + description: string; + /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ + cve_id?: string | null; + /** @description A product affected by the vulnerability detailed in a repository security advisory. */ + vulnerabilities: { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name?: string | null; + }; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range?: string | null; + /** @description The package version(s) that resolve the vulnerability. */ + patched_versions?: string | null; + /** @description The functions in the package that are affected. */ + vulnerable_functions?: string[] | null; + }[]; + /** @description A list of Common Weakness Enumeration (CWE) IDs. */ + cwe_ids?: string[] | null; + /** @description A list of users receiving credit for their participation in the security advisory. */ + credits?: + | { + /** @description The username of the user credited. */ + login: string; + type: components["schemas"]["security-advisory-credit-types"]; + }[] + | null; + /** + * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. + * @enum {string|null} + */ + severity?: "critical" | "high" | "medium" | "low" | null; + /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ + cvss_vector_string?: string | null; + /** + * @description Whether to create a temporary private fork of the repository to collaborate on a fix. + * @default false + */ + start_private_fork?: boolean; + }; + "private-vulnerability-report-create": { + /** @description A short summary of the advisory. */ + summary: string; + /** @description A detailed description of what the advisory impacts. */ + description: string; + /** @description An array of products affected by the vulnerability detailed in a repository security advisory. */ + vulnerabilities?: + | { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name?: string | null; + }; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range?: string | null; + /** @description The package version(s) that resolve the vulnerability. */ + patched_versions?: string | null; + /** @description The functions in the package that are affected. */ + vulnerable_functions?: string[] | null; + }[] + | null; + /** @description A list of Common Weakness Enumeration (CWE) IDs. */ + cwe_ids?: string[] | null; + /** + * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. + * @enum {string|null} + */ + severity?: "critical" | "high" | "medium" | "low" | null; + /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ + cvss_vector_string?: string | null; + /** + * @description Whether to create a temporary private fork of the repository to collaborate on a fix. + * @default false + */ + start_private_fork?: boolean; + }; + "repository-advisory-update": { + /** @description A short summary of the advisory. */ + summary?: string; + /** @description A detailed description of what the advisory impacts. */ + description?: string; + /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ + cve_id?: string | null; + /** @description A product affected by the vulnerability detailed in a repository security advisory. */ + vulnerabilities?: { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name?: string | null; + }; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range?: string | null; + /** @description The package version(s) that resolve the vulnerability. */ + patched_versions?: string | null; + /** @description The functions in the package that are affected. */ + vulnerable_functions?: string[] | null; + }[]; + /** @description A list of Common Weakness Enumeration (CWE) IDs. */ + cwe_ids?: string[] | null; + /** @description A list of users receiving credit for their participation in the security advisory. */ + credits?: + | { + /** @description The username of the user credited. */ + login: string; + type: components["schemas"]["security-advisory-credit-types"]; + }[] + | null; + /** + * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. + * @enum {string|null} + */ + severity?: "critical" | "high" | "medium" | "low" | null; + /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ + cvss_vector_string?: string | null; + /** + * @description The state of the advisory. + * @enum {string} + */ + state?: "published" | "closed" | "draft"; + /** @description A list of usernames who have been granted write access to the advisory. */ + collaborating_users?: string[] | null; + /** @description A list of team slugs which have been granted write access to the advisory. */ + collaborating_teams?: string[] | null; + }; + /** + * Stargazer + * @description Stargazer + */ + stargazer: { + /** Format: date-time */ + starred_at: string; + user: components["schemas"]["nullable-simple-user"]; + }; + /** + * Code Frequency Stat + * @description Code Frequency Stat + */ + "code-frequency-stat": number[]; + /** + * Commit Activity + * @description Commit Activity + */ + "commit-activity": { + /** + * @example [ + * 0, + * 3, + * 26, + * 20, + * 39, + * 1, + * 0 + * ] + */ + days: number[]; + /** @example 89 */ + total: number; + /** @example 1336280400 */ + week: number; + }; + /** + * Contributor Activity + * @description Contributor Activity + */ + "contributor-activity": { + author: components["schemas"]["nullable-simple-user"]; + /** @example 135 */ + total: number; + /** + * @example [ + * { + * "w": "1367712000", + * "a": 6898, + * "d": 77, + * "c": 10 + * } + * ] + */ + weeks: { + w?: number; + a?: number; + d?: number; + c?: number; + }[]; + }; + /** Participation Stats */ + "participation-stats": { + all: number[]; + owner: number[]; + }; + /** + * Repository Invitation + * @description Repository invitations let you manage who you collaborate with. + */ + "repository-subscription": { + /** + * @description Determines if notifications should be received from this repository. + * @example true + */ + subscribed: boolean; + /** @description Determines if all notifications should be blocked from this repository. */ + ignored: boolean; + reason: string | null; + /** + * Format: date-time + * @example 2012-10-06T21:34:12Z + */ + created_at: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example/subscription + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example + */ + repository_url: string; + }; + /** + * Tag + * @description Tag + */ + tag: { + /** @example v0.1 */ + name: string; + commit: { + sha: string; + /** Format: uri */ + url: string; + }; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/zipball/v0.1 + */ + zipball_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/tarball/v0.1 + */ + tarball_url: string; + node_id: string; + }; + /** + * Tag protection + * @description Tag protection + */ + "tag-protection": { + /** @example 2 */ + id?: number; + /** @example 2011-01-26T19:01:12Z */ + created_at?: string; + /** @example 2011-01-26T19:01:12Z */ + updated_at?: string; + /** @example true */ + enabled?: boolean; + /** @example v1.* */ + pattern: string; + }; + /** + * Topic + * @description A topic aggregates entities that are related to a subject. + */ + topic: { + names: string[]; + }; + /** Traffic */ + traffic: { + /** Format: date-time */ + timestamp: string; + uniques: number; + count: number; + }; + /** + * Clone Traffic + * @description Clone Traffic + */ + "clone-traffic": { + /** @example 173 */ + count: number; + /** @example 128 */ + uniques: number; + clones: components["schemas"]["traffic"][]; + }; + /** + * Content Traffic + * @description Content Traffic + */ + "content-traffic": { + /** @example /github/hubot */ + path: string; + /** @example github/hubot: A customizable life embetterment robot. */ + title: string; + /** @example 3542 */ + count: number; + /** @example 2225 */ + uniques: number; + }; + /** + * Referrer Traffic + * @description Referrer Traffic + */ + "referrer-traffic": { + /** @example Google */ + referrer: string; + /** @example 4 */ + count: number; + /** @example 3 */ + uniques: number; + }; + /** + * View Traffic + * @description View Traffic + */ + "view-traffic": { + /** @example 14850 */ + count: number; + /** @example 3782 */ + uniques: number; + views: components["schemas"]["traffic"][]; + }; + /** Search Result Text Matches */ + "search-result-text-matches": { + object_url?: string; + object_type?: string | null; + property?: string; + fragment?: string; + matches?: { + text?: string; + indices?: number[]; + }[]; + }[]; + /** + * Code Search Result Item + * @description Code Search Result Item + */ + "code-search-result-item": { + name: string; + path: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: string; + /** Format: uri */ + html_url: string; + repository: components["schemas"]["minimal-repository"]; + score: number; + file_size?: number; + language?: string | null; + /** Format: date-time */ + last_modified_at?: string; + /** + * @example [ + * "73..77", + * "77..78" + * ] + */ + line_numbers?: string[]; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** + * Commit Search Result Item + * @description Commit Search Result Item + */ + "commit-search-result-item": { + /** Format: uri */ + url: string; + sha: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + comments_url: string; + commit: { + author: { + name: string; + email: string; + /** Format: date-time */ + date: string; + }; + committer: components["schemas"]["nullable-git-user"]; + comment_count: number; + message: string; + tree: { + sha: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + url: string; + verification?: components["schemas"]["verification"]; + }; + author: components["schemas"]["nullable-simple-user"]; + committer: components["schemas"]["nullable-git-user"]; + parents: { + url?: string; + html_url?: string; + sha?: string; + }[]; + repository: components["schemas"]["minimal-repository"]; + score: number; + node_id: string; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** + * Issue Search Result Item + * @description Issue Search Result Item + */ + "issue-search-result-item": { + /** Format: uri */ + url: string; + /** Format: uri */ + repository_url: string; + labels_url: string; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + node_id: string; + number: number; + title: string; + locked: boolean; + active_lock_reason?: string | null; + assignees?: components["schemas"]["simple-user"][] | null; + user: components["schemas"]["nullable-simple-user"]; + labels: { + /** Format: int64 */ + id?: number; + node_id?: string; + url?: string; + name?: string; + color?: string; + default?: boolean; + description?: string | null; + }[]; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + state: string; + state_reason?: string | null; + assignee: components["schemas"]["nullable-simple-user"]; + milestone: components["schemas"]["nullable-milestone"]; + comments: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + closed_at: string | null; + text_matches?: components["schemas"]["search-result-text-matches"]; + pull_request?: { + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + diff_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + patch_url: string | null; + /** Format: uri */ + url: string | null; + }; + body?: string; + score: number; + author_association: components["schemas"]["author-association"]; + draft?: boolean; + repository?: components["schemas"]["repository"]; + body_html?: string; + body_text?: string; + /** Format: uri */ + timeline_url?: string; + type?: components["schemas"]["issue-type"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Label Search Result Item + * @description Label Search Result Item + */ + "label-search-result-item": { + id: number; + node_id: string; + /** Format: uri */ + url: string; + name: string; + color: string; + default: boolean; + description: string | null; + score: number; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** + * Repo Search Result Item + * @description Repo Search Result Item + */ + "repo-search-result-item": { + id: number; + node_id: string; + name: string; + full_name: string; + owner: components["schemas"]["nullable-simple-user"]; + private: boolean; + /** Format: uri */ + html_url: string; + description: string | null; + fork: boolean; + /** Format: uri */ + url: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + pushed_at: string; + /** Format: uri */ + homepage: string | null; + size: number; + stargazers_count: number; + watchers_count: number; + language: string | null; + forks_count: number; + open_issues_count: number; + master_branch?: string; + default_branch: string; + score: number; + /** Format: uri */ + forks_url: string; + keys_url: string; + collaborators_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri */ + hooks_url: string; + issue_events_url: string; + /** Format: uri */ + events_url: string; + assignees_url: string; + branches_url: string; + /** Format: uri */ + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; + /** Format: uri */ + merges_url: string; + archive_url: string; + /** Format: uri */ + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; + /** Format: uri */ + deployments_url: string; + git_url: string; + ssh_url: string; + clone_url: string; + /** Format: uri */ + svn_url: string; + forks: number; + open_issues: number; + watchers: number; + topics?: string[]; + /** Format: uri */ + mirror_url: string | null; + has_issues: boolean; + has_projects: boolean; + has_pages: boolean; + has_wiki: boolean; + has_downloads: boolean; + has_discussions?: boolean; + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. */ + visibility?: string; + license: components["schemas"]["nullable-license-simple"]; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + text_matches?: components["schemas"]["search-result-text-matches"]; + temp_clone_token?: string; + allow_merge_commit?: boolean; + allow_squash_merge?: boolean; + allow_rebase_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_forking?: boolean; + is_template?: boolean; + /** @example false */ + web_commit_signoff_required?: boolean; + }; + /** + * Topic Search Result Item + * @description Topic Search Result Item + */ + "topic-search-result-item": { + name: string; + display_name: string | null; + short_description: string | null; + description: string | null; + created_by: string | null; + released: string | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + featured: boolean; + curated: boolean; + score: number; + repository_count?: number | null; + /** Format: uri */ + logo_url?: string | null; + text_matches?: components["schemas"]["search-result-text-matches"]; + related?: + | { + topic_relation?: { + id?: number; + name?: string; + topic_id?: number; + relation_type?: string; + }; + }[] + | null; + aliases?: + | { + topic_relation?: { + id?: number; + name?: string; + topic_id?: number; + relation_type?: string; + }; + }[] + | null; + }; + /** + * User Search Result Item + * @description User Search Result Item + */ + "user-search-result-item": { + login: string; + /** Format: int64 */ + id: number; + node_id: string; + /** Format: uri */ + avatar_url: string; + gravatar_id: string | null; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + followers_url: string; + /** Format: uri */ + subscriptions_url: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + repos_url: string; + /** Format: uri */ + received_events_url: string; + type: string; + score: number; + following_url: string; + gists_url: string; + starred_url: string; + events_url: string; + public_repos?: number; + public_gists?: number; + followers?: number; + following?: number; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + name?: string | null; + bio?: string | null; + /** Format: email */ + email?: string | null; + location?: string | null; + site_admin: boolean; + hireable?: boolean | null; + text_matches?: components["schemas"]["search-result-text-matches"]; + blog?: string | null; + company?: string | null; + /** Format: date-time */ + suspended_at?: string | null; + user_view_type?: string; + }; + /** + * Private User + * @description Private User + */ + "private-user": { + /** @example octocat */ + login: string; + /** + * Format: int64 + * @example 1 + */ + id: number; + user_view_type?: string; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example monalisa octocat */ + name: string | null; + /** @example GitHub */ + company: string | null; + /** @example https://github.com/blog */ + blog: string | null; + /** @example San Francisco */ + location: string | null; + /** + * Format: email + * @example octocat@github.com + */ + email: string | null; + /** + * Format: email + * @example octocat@github.com + */ + notification_email?: string | null; + hireable: boolean | null; + /** @example There once was... */ + bio: string | null; + /** @example monalisa */ + twitter_username?: string | null; + /** @example 2 */ + public_repos: number; + /** @example 1 */ + public_gists: number; + /** @example 20 */ + followers: number; + /** @example 0 */ + following: number; + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ + created_at: string; + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ + updated_at: string; + /** @example 81 */ + private_gists: number; + /** @example 100 */ + total_private_repos: number; + /** @example 100 */ + owned_private_repos: number; + /** @example 10000 */ + disk_usage: number; + /** @example 8 */ + collaborators: number; + /** @example true */ + two_factor_authentication: boolean; + plan?: { + collaborators: number; + name: string; + space: number; + private_repos: number; + }; + business_plus?: boolean; + ldap_dn?: string; + }; + /** + * Codespaces Secret + * @description Secrets for a GitHub Codespace. + */ + "codespaces-secret": { + /** + * @description The name of the secret + * @example SECRET_NAME + */ + name: string; + /** + * Format: date-time + * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time at which the secret was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at: string; + /** + * @description The type of repositories in the organization that the secret is visible to + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @description The API URL at which the list of repositories this secret is visible to can be retrieved + * @example https://api.github.com/user/secrets/SECRET_NAME/repositories + */ + selected_repositories_url: string; + }; + /** + * CodespacesUserPublicKey + * @description The public key used for setting user Codespaces' Secrets. + */ + "codespaces-user-public-key": { + /** + * @description The identifier for the key. + * @example 1234567 + */ + key_id: string; + /** + * @description The Base64 encoded public key. + * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= + */ + key: string; + }; + /** + * Fetches information about an export of a codespace. + * @description An export of a codespace. Also, latest export details for a codespace can be fetched with id = latest + */ + "codespace-export-details": { + /** + * @description State of the latest export + * @example succeeded | failed | in_progress + */ + state?: string | null; + /** + * Format: date-time + * @description Completion time of the last export operation + * @example 2021-01-01T19:01:12Z + */ + completed_at?: string | null; + /** + * @description Name of the exported branch + * @example codespace-monalisa-octocat-hello-world-g4wpq6h95q + */ + branch?: string | null; + /** + * @description Git commit SHA of the exported branch + * @example fd95a81ca01e48ede9f39c799ecbcef817b8a3b2 + */ + sha?: string | null; + /** + * @description Id for the export details + * @example latest + */ + id?: string; + /** + * @description Url for fetching export details + * @example https://api.github.com/user/codespaces/:name/exports/latest + */ + export_url?: string; + /** + * @description Web url for the exported branch + * @example https://github.com/octocat/hello-world/tree/:branch + */ + html_url?: string | null; + }; + /** + * Codespace + * @description A codespace. + */ + "codespace-with-full-repository": { + /** + * Format: int64 + * @example 1 + */ + id: number; + /** + * @description Automatically generated name of this codespace. + * @example monalisa-octocat-hello-world-g4wpq6h95q + */ + name: string; + /** + * @description Display name for this codespace. + * @example bookish space pancake + */ + display_name?: string | null; + /** + * @description UUID identifying this codespace's environment. + * @example 26a7c758-7299-4a73-b978-5a92a7ae98a0 + */ + environment_id: string | null; + owner: components["schemas"]["simple-user"]; + billable_owner: components["schemas"]["simple-user"]; + repository: components["schemas"]["full-repository"]; + machine: components["schemas"]["nullable-codespace-machine"]; + /** + * @description Path to devcontainer.json from repo root used to create Codespace. + * @example .devcontainer/example/devcontainer.json + */ + devcontainer_path?: string | null; + /** + * @description Whether the codespace was created from a prebuild. + * @example false + */ + prebuild: boolean | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + updated_at: string; + /** + * Format: date-time + * @description Last known time this codespace was started. + * @example 2011-01-26T19:01:12Z + */ + last_used_at: string; + /** + * @description State of this codespace. + * @example Available + * @enum {string} + */ + state: + | "Unknown" + | "Created" + | "Queued" + | "Provisioning" + | "Available" + | "Awaiting" + | "Unavailable" + | "Deleted" + | "Moved" + | "Shutdown" + | "Archived" + | "Starting" + | "ShuttingDown" + | "Failed" + | "Exporting" + | "Updating" + | "Rebuilding"; + /** + * Format: uri + * @description API URL for this codespace. + */ + url: string; + /** @description Details about the codespace's git repository. */ + git_status: { + /** + * @description The number of commits the local repository is ahead of the remote. + * @example 0 + */ + ahead?: number; + /** + * @description The number of commits the local repository is behind the remote. + * @example 0 + */ + behind?: number; + /** @description Whether the local repository has unpushed changes. */ + has_unpushed_changes?: boolean; + /** @description Whether the local repository has uncommitted changes. */ + has_uncommitted_changes?: boolean; + /** + * @description The current branch (or SHA if in detached HEAD state) of the local repository. + * @example main + */ + ref?: string; + }; + /** + * @description The initally assigned location of a new codespace. + * @example WestUs2 + * @enum {string} + */ + location: "EastUs" | "SouthEastAsia" | "WestEurope" | "WestUs2"; + /** + * @description The number of minutes of inactivity after which this codespace will be automatically stopped. + * @example 60 + */ + idle_timeout_minutes: number | null; + /** + * Format: uri + * @description URL to access this codespace on the web. + */ + web_url: string; + /** + * Format: uri + * @description API URL to access available alternate machine types for this codespace. + */ + machines_url: string; + /** + * Format: uri + * @description API URL to start this codespace. + */ + start_url: string; + /** + * Format: uri + * @description API URL to stop this codespace. + */ + stop_url: string; + /** + * Format: uri + * @description API URL to publish this codespace to a new repository. + */ + publish_url?: string | null; + /** + * Format: uri + * @description API URL for the Pull Request associated with this codespace, if any. + */ + pulls_url: string | null; + recent_folders: string[]; + runtime_constraints?: { + /** @description The privacy settings a user can select from when forwarding a port. */ + allowed_port_privacy_settings?: string[] | null; + }; + /** @description Whether or not a codespace has a pending async operation. This would mean that the codespace is temporarily unavailable. The only thing that you can do with a codespace in this state is delete it. */ + pending_operation?: boolean | null; + /** @description Text to show user when codespace is disabled by a pending operation */ + pending_operation_disabled_reason?: string | null; + /** @description Text to show user when codespace idle timeout minutes has been overriden by an organization policy */ + idle_timeout_notice?: string | null; + /** + * @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). + * @example 60 + */ + retention_period_minutes?: number | null; + /** + * Format: date-time + * @description When a codespace will be auto-deleted based on the "retention_period_minutes" and "last_used_at" + * @example 2011-01-26T20:01:12Z + */ + retention_expires_at?: string | null; + }; + /** + * Email + * @description Email + */ + email: { + /** + * Format: email + * @example octocat@github.com + */ + email: string; + /** @example true */ + primary: boolean; + /** @example true */ + verified: boolean; + /** @example public */ + visibility: string | null; + }; + /** + * GPG Key + * @description A unique encryption key + */ + "gpg-key": { + /** + * Format: int64 + * @example 3 + */ + id: number; + /** @example Octocat's GPG Key */ + name?: string | null; + primary_key_id: number | null; + /** @example 3262EFF25BA0D270 */ + key_id: string; + /** @example xsBNBFayYZ... */ + public_key: string; + /** + * @example [ + * { + * "email": "octocat@users.noreply.github.com", + * "verified": true + * } + * ] + */ + emails: { + email?: string; + verified?: boolean; + }[]; + /** + * @example [ + * { + * "id": 4, + * "primary_key_id": 3, + * "key_id": "4A595D4C72EE49C7", + * "public_key": "zsBNBFayYZ...", + * "emails": [], + * "can_sign": false, + * "can_encrypt_comms": true, + * "can_encrypt_storage": true, + * "can_certify": false, + * "created_at": "2016-03-24T11:31:04-06:00", + * "expires_at": null, + * "revoked": false + * } + * ] + */ + subkeys: { + /** Format: int64 */ + id?: number; + primary_key_id?: number; + key_id?: string; + public_key?: string; + emails?: { + email?: string; + verified?: boolean; + }[]; + subkeys?: unknown[]; + can_sign?: boolean; + can_encrypt_comms?: boolean; + can_encrypt_storage?: boolean; + can_certify?: boolean; + created_at?: string; + expires_at?: string | null; + raw_key?: string | null; + revoked?: boolean; + }[]; + /** @example true */ + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + /** @example true */ + can_certify: boolean; + /** + * Format: date-time + * @example 2016-03-24T11:31:04-06:00 + */ + created_at: string; + /** Format: date-time */ + expires_at: string | null; + /** @example true */ + revoked: boolean; + raw_key: string | null; + }; + /** + * Key + * @description Key + */ + key: { + key: string; + /** Format: int64 */ + id: number; + url: string; + title: string; + /** Format: date-time */ + created_at: string; + verified: boolean; + read_only: boolean; + }; + /** Marketplace Account */ + "marketplace-account": { + /** Format: uri */ + url: string; + id: number; + type: string; + node_id?: string; + login: string; + /** Format: email */ + email?: string | null; + /** Format: email */ + organization_billing_email?: string | null; + }; + /** + * User Marketplace Purchase + * @description User Marketplace Purchase + */ + "user-marketplace-purchase": { + /** @example monthly */ + billing_cycle: string; + /** + * Format: date-time + * @example 2017-11-11T00:00:00Z + */ + next_billing_date: string | null; + unit_count: number | null; + /** @example true */ + on_free_trial: boolean; + /** + * Format: date-time + * @example 2017-11-11T00:00:00Z + */ + free_trial_ends_on: string | null; + /** + * Format: date-time + * @example 2017-11-02T01:12:12Z + */ + updated_at: string | null; + account: components["schemas"]["marketplace-account"]; + plan: components["schemas"]["marketplace-listing-plan"]; + }; + /** + * Social account + * @description Social media account + */ + "social-account": { + /** @example linkedin */ + provider: string; + /** @example https://www.linkedin.com/company/github/ */ + url: string; + }; + /** + * SSH Signing Key + * @description A public SSH key used to sign Git commits + */ + "ssh-signing-key": { + key: string; + id: number; + title: string; + /** Format: date-time */ + created_at: string; + }; + /** + * Starred Repository + * @description Starred Repository + */ + "starred-repository": { + /** Format: date-time */ + starred_at: string; + repo: components["schemas"]["repository"]; + }; + /** + * Hovercard + * @description Hovercard + */ + hovercard: { + contexts: { + message: string; + octicon: string; + }[]; + }; + /** + * Key Simple + * @description Key Simple + */ + "key-simple": { + id: number; + key: string; + }; + /** + * Enterprise + * @description An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured + * on an enterprise account or an organization that's part of an enterprise account. For more information, + * see "[About enterprise accounts](https://docs.github.com/admin/overview/about-enterprise-accounts)." + */ + "enterprise-webhooks": { + /** @description A short description of the enterprise. */ + description?: string | null; + /** + * Format: uri + * @example https://github.com/enterprises/octo-business + */ + html_url: string; + /** + * Format: uri + * @description The enterprise's website URL. + */ + website_url?: string | null; + /** + * @description Unique identifier of the enterprise + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the enterprise. + * @example Octo Business + */ + name: string; + /** + * @description The slug url identifier for the enterprise. + * @example octo-business + */ + slug: string; + /** + * Format: date-time + * @example 2019-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2019-01-26T19:14:43Z + */ + updated_at: string | null; + /** Format: uri */ + avatar_url: string; + }; + /** + * Simple Installation + * @description The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured + * for and sent to a GitHub App. For more information, + * see "[Using webhooks with GitHub Apps](https://docs.github.com/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps)." + */ + "simple-installation": { + /** + * @description The ID of the installation. + * @example 1 + */ + id: number; + /** + * @description The global node ID of the installation. + * @example MDQ6VXNlcjU4MzIzMQ== + */ + node_id: string; + }; + /** + * Organization Simple + * @description A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an + * organization, or when the event occurs from activity in a repository owned by an organization. + */ + "organization-simple-webhooks": { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/repos + */ + repos_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/events + */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + }; + /** + * Repository + * @description The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property + * when the event occurs from activity in a repository. + */ + "repository-webhooks": { + /** + * Format: int64 + * @description Unique identifier of the repository + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + license: components["schemas"]["nullable-license-simple"]; + organization?: components["schemas"]["nullable-simple-user"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + owner: components["schemas"]["simple-user"]; + /** + * @description Whether the repository is private or public. + * @default false + */ + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** + * @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. + * @example 108 + */ + size: number; + /** + * @description The default branch of the repository. + * @example master + */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ + is_template?: boolean; + topics?: string[]; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** + * @description Whether issues are enabled. + * @default true + * @example true + */ + has_issues: boolean; + /** + * @description Whether projects are enabled. + * @default true + * @example true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + * @example true + */ + has_wiki: boolean; + has_pages: boolean; + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; + /** + * @description Whether discussions are enabled. + * @default false + * @example true + */ + has_discussions?: boolean; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @default public + */ + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string | null; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_merge?: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge?: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ + delete_branch_on_merge?: boolean; + /** + * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + * @default false + * @example false + */ + allow_update_branch?: boolean; + /** + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit?: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + */ + web_commit_signoff_required?: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + }; + /** + * branch protection rule + * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. + */ + webhooks_rule: { + admin_enforced: boolean; + /** @enum {string} */ + allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; + authorized_actor_names: string[]; + authorized_actors_only: boolean; + authorized_dismissal_actors_only: boolean; + create_protected?: boolean; + /** Format: date-time */ + created_at: string; + dismiss_stale_reviews_on_push: boolean; + id: number; + ignore_approvals_from_contributors: boolean; + /** @enum {string} */ + linear_history_requirement_enforcement_level: + | "off" + | "non_admins" + | "everyone"; + /** + * @description The enforcement level of the branch lock setting. `off` means the branch is not locked, `non_admins` means the branch is read-only for non_admins, and `everyone` means the branch is read-only for everyone. + * @enum {string} + */ + lock_branch_enforcement_level: "off" | "non_admins" | "everyone"; + /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow users to pull changes from upstream when the branch is locked. This setting is only applicable for forks. */ + lock_allows_fork_sync?: boolean; + /** @enum {string} */ + merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; + name: string; + /** @enum {string} */ + pull_request_reviews_enforcement_level: "off" | "non_admins" | "everyone"; + repository_id: number; + require_code_owner_review: boolean; + /** @description Whether the most recent push must be approved by someone other than the person who pushed it */ + require_last_push_approval?: boolean; + required_approving_review_count: number; + /** @enum {string} */ + required_conversation_resolution_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + required_deployments_enforcement_level: "off" | "non_admins" | "everyone"; + required_status_checks: string[]; + /** @enum {string} */ + required_status_checks_enforcement_level: + | "off" + | "non_admins" + | "everyone"; + /** @enum {string} */ + signature_requirement_enforcement_level: + | "off" + | "non_admins" + | "everyone"; + strict_required_status_checks_policy: boolean; + /** Format: date-time */ + updated_at: string; + }; + /** @description A suite of checks performed on the code of a given code change */ + "simple-check-suite": { + /** @example d6fde92930d4715a2b49857d24b940956b26d2d3 */ + after?: string | null; + app?: components["schemas"]["integration"]; + /** @example 146e867f55c26428e5f9fade55a9bbf5e95a7912 */ + before?: string | null; + /** + * @example neutral + * @enum {string|null} + */ + conclusion?: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "skipped" + | "timed_out" + | "action_required" + | "stale" + | "startup_failure" + | null; + /** Format: date-time */ + created_at?: string; + /** @example master */ + head_branch?: string | null; + /** + * @description The SHA of the head commit that is being checked. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + */ + head_sha?: string; + /** @example 5 */ + id?: number; + /** @example MDEwOkNoZWNrU3VpdGU1 */ + node_id?: string; + pull_requests?: components["schemas"]["pull-request-minimal"][]; + repository?: components["schemas"]["minimal-repository"]; + /** + * @example completed + * @enum {string} + */ + status?: "queued" | "in_progress" | "completed" | "pending" | "waiting"; + /** Format: date-time */ + updated_at?: string; + /** @example https://api.github.com/repos/github/hello-world/check-suites/5 */ + url?: string; + }; + /** + * CheckRun + * @description A check performed on the code of a given code change + */ + "check-run-with-simple-check-suite": { + app: components["schemas"]["nullable-integration"]; + check_suite: components["schemas"]["simple-check-suite"]; + /** + * Format: date-time + * @example 2018-05-04T01:14:52Z + */ + completed_at: string | null; + /** + * @example neutral + * @enum {string|null} + */ + conclusion: + | "waiting" + | "pending" + | "startup_failure" + | "stale" + | "success" + | "failure" + | "neutral" + | "cancelled" + | "skipped" + | "timed_out" + | "action_required" + | null; + deployment?: components["schemas"]["deployment-simple"]; + /** @example https://example.com */ + details_url: string; + /** @example 42 */ + external_id: string; + /** + * @description The SHA of the commit that is being checked. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + */ + head_sha: string; + /** @example https://github.com/github/hello-world/runs/4 */ + html_url: string; + /** + * @description The id of the check. + * @example 21 + */ + id: number; + /** + * @description The name of the check. + * @example test-coverage + */ + name: string; + /** @example MDg6Q2hlY2tSdW40 */ + node_id: string; + output: { + annotations_count: number; + /** Format: uri */ + annotations_url: string; + summary: string | null; + text: string | null; + title: string | null; + }; + pull_requests: components["schemas"]["pull-request-minimal"][]; + /** + * Format: date-time + * @example 2018-05-04T01:14:52Z + */ + started_at: string; + /** + * @description The phase of the lifecycle that the check is currently in. + * @example queued + * @enum {string} + */ + status: "queued" | "in_progress" | "completed" | "pending"; + /** @example https://api.github.com/repos/github/hello-world/check-runs/4 */ + url: string; + }; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + webhooks_code_scanning_commit_oid: string; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + webhooks_code_scanning_ref: string; + /** @description The pusher type for the event. Can be either `user` or a deploy key. */ + webhooks_deploy_pusher_type: string; + /** @description The [`git ref`](https://docs.github.com/rest/git/refs#get-a-reference) resource. */ + webhooks_ref_0: string; + /** @description The [`deploy key`](https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key) resource. */ + webhooks_deploy_key: { + added_by?: string | null; + created_at: string; + id: number; + key: string; + last_used?: string | null; + read_only: boolean; + title: string; + /** Format: uri */ + url: string; + verified: boolean; + enabled?: boolean; + }; + /** Workflow */ + webhooks_workflow: { + /** Format: uri */ + badge_url: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + node_id: string; + path: string; + state: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + webhooks_approver: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + webhooks_reviewers: { + /** User */ + reviewer?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @enum {string} */ + type?: "User"; + }[]; + webhooks_workflow_job_run: { + conclusion: unknown; + created_at: string; + environment: string; + html_url: string; + id: number; + name: unknown; + status: string; + updated_at: string; + }; + /** User */ + webhooks_user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + webhooks_answer: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + body: string; + child_comment_count: number; + /** Format: date-time */ + created_at: string; + discussion_id: number; + html_url: string; + id: number; + node_id: string; + parent_id: unknown; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + /** Format: date-time */ + updated_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** + * Discussion + * @description A Discussion in a repository. + */ + discussion: { + active_lock_reason: string | null; + answer_chosen_at: string | null; + /** User */ + answer_chosen_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + answer_html_url: string | null; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + body: string; + category: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; + }; + comments: number; + /** Format: date-time */ + created_at: string; + html_url: string; + id: number; + locked: boolean; + node_id: string; + number: number; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + /** + * @description The current state of the discussion. + * `converting` means that the discussion is being converted from an issue. + * `transferring` means that the discussion is being transferred from another repository. + * @enum {string} + */ + state: "open" | "closed" | "locked" | "converting" | "transferring"; + /** + * @description The reason for the current state + * @example resolved + * @enum {string|null} + */ + state_reason: "resolved" | "outdated" | "duplicate" | "reopened" | null; + timeline_url?: string; + title: string; + /** Format: date-time */ + updated_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + labels?: components["schemas"]["label"][]; + }; + webhooks_comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + body: string; + child_comment_count: number; + created_at: string; + discussion_id: number; + html_url: string; + id: number; + node_id: string; + parent_id: number | null; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + updated_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Label */ + webhooks_label: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + /** @description An array of repository objects that the installation can access. */ + webhooks_repositories: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + /** @description An array of repository objects, which were added to the installation. */ + webhooks_repositories_added: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + webhooks_repository_selection: "all" | "selected"; + /** + * issue comment + * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. + */ + webhooks_issue_comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue comment */ + body: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the issue comment + */ + id: number; + /** Format: uri */ + issue_url: string; + node_id: string; + performed_via_github_app: components["schemas"]["integration"]; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** @description The changes to the comment. */ + webhooks_changes: { + body?: { + /** @description The previous version of the body. */ + from: string; + }; + }; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + webhooks_issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "reminder" + | "pull_request_review_thread" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + webhooks_milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + webhooks_issue_2: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** User */ + webhooks_user_mannequin: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Marketplace Purchase */ + webhooks_marketplace_purchase: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: string | null; + next_billing_date: string | null; + on_free_trial: boolean; + plan: { + bullets: (string | null)[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + /** Marketplace Purchase */ + webhooks_previous_marketplace_purchase: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: unknown; + next_billing_date?: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + webhooks_team: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting: + | "notifications_enabled" + | "notifications_disabled"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** @enum {string} */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; + /** + * Merge Group + * @description A group of pull requests that the merge queue has grouped together to be merged. + */ + "merge-group": { + /** @description The SHA of the merge group. */ + head_sha: string; + /** @description The full ref of the merge group. */ + head_ref: string; + /** @description The SHA of the merge group's parent commit. */ + base_sha: string; + /** @description The full ref of the branch the merge group will be merged into. */ + base_ref: string; + head_commit: components["schemas"]["simple-commit"]; + }; + /** + * Repository + * @description The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property + * when the event occurs from activity in a repository. + */ + "nullable-repository-webhooks": { + /** + * Format: int64 + * @description Unique identifier of the repository + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + license: components["schemas"]["nullable-license-simple"]; + organization?: components["schemas"]["nullable-simple-user"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + owner: components["schemas"]["simple-user"]; + /** + * @description Whether the repository is private or public. + * @default false + */ + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** + * @description The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0. + * @example 108 + */ + size: number; + /** + * @description The default branch of the repository. + * @example master + */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ + is_template?: boolean; + topics?: string[]; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** + * @description Whether issues are enabled. + * @default true + * @example true + */ + has_issues: boolean; + /** + * @description Whether projects are enabled. + * @default true + * @example true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + * @example true + */ + has_wiki: boolean; + has_pages: boolean; + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; + /** + * @description Whether discussions are enabled. + * @default false + * @example true + */ + has_discussions?: boolean; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @default public + */ + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string | null; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_merge?: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge?: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ + delete_branch_on_merge?: boolean; + /** + * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + * @default false + * @example false + */ + allow_update_branch?: boolean; + /** + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit?: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + */ + web_commit_signoff_required?: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + webhooks_milestone_3: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + /** + * Membership + * @description The membership between the user and the organization. Not present when the action is `member_invited`. + */ + webhooks_membership: { + /** Format: uri */ + organization_url: string; + role: string; + state: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** + * Personal Access Token Request + * @description Details of a Personal Access Token Request. + */ + "personal-access-token-request": { + /** @description Unique identifier of the request for access via fine-grained personal access token. Used as the `pat_request_id` parameter in the list and review API calls. */ + id: number; + owner: components["schemas"]["simple-user"]; + /** @description New requested permissions, categorized by type of permission. */ + permissions_added: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Requested permissions that elevate access for a previously approved request for access, categorized by type of permission. */ + permissions_upgraded: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Permissions requested, categorized by type of permission. This field incorporates `permissions_added` and `permissions_upgraded`. */ + permissions_result: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** + * @description Type of repository selection requested. + * @enum {string} + */ + repository_selection: "none" | "all" | "subset"; + /** @description The number of repositories the token is requesting access to. This field is only populated when `repository_selection` is `subset`. */ + repository_count: number | null; + /** @description An array of repository objects the token is requesting access to. This field is only populated when `repository_selection` is `subset`. */ + repositories: + | { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[] + | null; + /** @description Date and time when the request for access was created. */ + created_at: string; + /** @description Unique identifier of the user's token. This field can also be found in audit log events and the organization's settings for their PAT grants. */ + token_id: number; + /** @description The name given to the user's token. This field can also be found in an organization's settings page for Active Tokens. */ + token_name: string; + /** @description Whether the associated fine-grained personal access token has expired. */ + token_expired: boolean; + /** @description Date and time when the associated fine-grained personal access token expires. */ + token_expires_at: string | null; + /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ + token_last_used_at: string | null; + }; + /** Project Card */ + webhooks_project_card: { + after_id?: number | null; + /** @description Whether or not the card is archived */ + archived: boolean; + column_id: number; + /** Format: uri */ + column_url: string; + /** Format: uri */ + content_url?: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The project card's ID */ + id: number; + node_id: string; + note: string | null; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + /** Project */ + webhooks_project: { + /** @description Body of the project */ + body: string | null; + /** Format: uri */ + columns_url: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: uri */ + html_url: string; + id: number; + /** @description Name of the project */ + name: string; + node_id: string; + number: number; + /** Format: uri */ + owner_url: string; + /** + * @description State of the project; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + /** Project Column */ + webhooks_project_column: { + after_id?: number | null; + /** Format: uri */ + cards_url: string; + /** Format: date-time */ + created_at: string; + /** @description The unique identifier of the project column */ + id: number; + /** @description Name of the project column */ + name: string; + node_id: string; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + /** + * Projects v2 Project + * @description A projects v2 project + */ + "projects-v2": { + id: number; + node_id: string; + owner: components["schemas"]["simple-user"]; + creator: components["schemas"]["simple-user"]; + title: string; + description: string | null; + public: boolean; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + closed_at: string | null; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + created_at: string; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + updated_at: string; + number: number; + short_description: string | null; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + deleted_at: string | null; + deleted_by: components["schemas"]["nullable-simple-user"]; + }; + webhooks_project_changes: { + archived_at?: { + /** Format: date-time */ + from?: string | null; + /** Format: date-time */ + to?: string | null; + }; + }; + /** + * Projects v2 Item Content Type + * @description The type of content tracked in a project item + * @enum {string} + */ + "projects-v2-item-content-type": "Issue" | "PullRequest" | "DraftIssue"; + /** + * Projects v2 Item + * @description An item belonging to a project + */ + "projects-v2-item": { + id: number; + node_id?: string; + project_node_id?: string; + content_node_id: string; + content_type: components["schemas"]["projects-v2-item-content-type"]; + creator?: components["schemas"]["simple-user"]; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + created_at: string; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + archived_at: string | null; + }; + /** + * Projects v2 Single Select Option + * @description An option for a single select field + */ + "projects-v2-single-select-option": { + id: string; + name: string; + color?: string | null; + description?: string | null; + }; + /** + * Projects v2 Iteration Setting + * @description An iteration setting for an iteration field + */ + "projects-v2-iteration-setting": { + id: string; + title: string; + duration?: number | null; + start_date?: string | null; + }; + /** + * Projects v2 Status Update + * @description An status update belonging to a project + */ + "projects-v2-status-update": { + id: number; + node_id: string; + project_node_id?: string; + creator?: components["schemas"]["simple-user"]; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + created_at: string; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + updated_at: string; + /** @enum {string|null} */ + status?: + | "INACTIVE" + | "ON_TRACK" + | "AT_RISK" + | "OFF_TRACK" + | "COMPLETE" + | null; + /** + * Format: date + * @example 2022-04-28 + */ + start_date?: string; + /** + * Format: date + * @example 2022-04-28 + */ + target_date?: string; + /** + * @description Body of the status update + * @example The project is off to a great start! + */ + body?: string | null; + }; + /** @description The pull request number. */ + webhooks_number: number; + "pull-request-webhook": components["schemas"]["pull-request"] & { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow updating the pull request's branch. */ + allow_update_branch?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged. + * @default false + */ + delete_branch_on_merge?: boolean; + /** + * @description The default value for a merge commit message. + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a squash merge commit message: + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead.** + * @default false + */ + use_squash_pr_title_as_default?: boolean; + }; + /** Pull Request */ + webhooks_pull_request_5: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** + * Pull Request Review Comment + * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. + */ + webhooks_review_comment: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: number | null; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + start_line: number | null; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side: "LEFT" | "RIGHT" | null; + /** + * @description The level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** @description The review that was affected. */ + webhooks_review: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description The text of the review. */ + body: string | null; + /** @description A commit SHA for the review. */ + commit_id: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the review */ + id: number; + node_id: string; + /** Format: uri */ + pull_request_url: string; + state: string; + /** Format: date-time */ + submitted_at: string | null; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + webhooks_nullable_string: string | null; + /** + * Release + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. + */ + webhooks_release: { + assets: { + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: string | null; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + url: string; + }[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + body: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string | null; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: string | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: string | null; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: string | null; + }; + /** + * Release + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. + */ + webhooks_release_1: { + assets: ({ + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: string | null; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + url: string; + } | null)[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + body: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string | null; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: string | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: string | null; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: string | null; + }; + /** + * Repository Vulnerability Alert Alert + * @description The security alert of the vulnerable dependency. + */ + webhooks_alert: { + affected_package_name: string; + affected_range: string; + created_at: string; + dismiss_reason?: string; + dismissed_at?: string; + /** User */ + dismisser?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + external_identifier: string; + /** Format: uri */ + external_reference: string | null; + fix_reason?: string; + /** Format: date-time */ + fixed_at?: string; + fixed_in?: string; + ghsa_id: string; + id: number; + node_id: string; + number: number; + severity: string; + /** @enum {string} */ + state: "open"; + }; + /** + * @description The reason for resolving the alert. + * @enum {string|null} + */ + "secret-scanning-alert-resolution-webhook": + | "false_positive" + | "wont_fix" + | "revoked" + | "used_in_tests" + | "pattern_deleted" + | "pattern_edited" + | null; + "secret-scanning-alert-webhook": { + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["nullable-alert-updated-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; + /** + * Format: uri + * @description The REST API URL of the code locations for this alert. + */ + locations_url?: string; + resolution?: components["schemas"]["secret-scanning-alert-resolution-webhook"]; + /** + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + resolved_at?: string | null; + resolved_by?: components["schemas"]["nullable-simple-user"]; + /** @description An optional comment to resolve an alert. */ + resolution_comment?: string | null; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** + * @description User-friendly name for the detected secret, matching the `secret_type`. + * For a list of built-in patterns, see "[Supported secret scanning patterns](https://docs.github.com/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." + */ + secret_type_display_name?: string; + /** + * @description The token status as of the latest validity check. + * @enum {string} + */ + validity?: "active" | "inactive" | "unknown"; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: boolean | null; + push_protection_bypassed_by?: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + push_protection_bypassed_at?: string | null; + push_protection_bypass_request_reviewer?: components["schemas"]["nullable-simple-user"]; + /** @description An optional comment when reviewing a push protection bypass. */ + push_protection_bypass_request_reviewer_comment?: string | null; + /** @description An optional comment when requesting a push protection bypass. */ + push_protection_bypass_request_comment?: string | null; + /** + * Format: uri + * @description The URL to a push protection bypass request. + */ + push_protection_bypass_request_html_url?: string | null; + /** @description Whether the detected secret was publicly leaked. */ + publicly_leaked?: boolean | null; + /** @description Whether the detected secret was found in multiple repositories in the same organization or business. */ + multi_repo?: boolean | null; + }; + /** @description The details of the security advisory, including summary, description, and severity. */ + webhooks_security_advisory: { + cvss: { + score: number; + vector_string: string | null; + }; + cvss_severities?: components["schemas"]["cvss-severities"]; + cwes: { + cwe_id: string; + name: string; + }[]; + description: string; + ghsa_id: string; + identifiers: { + type: string; + value: string; + }[]; + published_at: string; + references: { + /** Format: uri */ + url: string; + }[]; + severity: string; + summary: string; + updated_at: string; + vulnerabilities: { + first_patched_version: { + identifier: string; + } | null; + package: { + ecosystem: string; + name: string; + }; + severity: string; + vulnerable_version_range: string; + }[]; + withdrawn_at: string | null; + }; + webhooks_sponsorship: { + created_at: string; + maintainer?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + node_id: string; + privacy_level: string; + /** User */ + sponsor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** User */ + sponsorable: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + tier: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; + /** @description The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect. */ + webhooks_effective_date: string; + webhooks_changes_8: { + tier: { + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + from: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; + }; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + webhooks_team_1: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting: + | "notifications_enabled" + | "notifications_disabled"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; + /** branch protection configuration disabled event */ + "webhook-branch-protection-configuration-disabled": { + /** @enum {string} */ + action: "disabled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** branch protection configuration enabled event */ + "webhook-branch-protection-configuration-enabled": { + /** @enum {string} */ + action: "enabled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** branch protection rule created event */ + "webhook-branch-protection-rule-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + rule: components["schemas"]["webhooks_rule"]; + sender: components["schemas"]["simple-user"]; + }; + /** branch protection rule deleted event */ + "webhook-branch-protection-rule-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + rule: components["schemas"]["webhooks_rule"]; + sender: components["schemas"]["simple-user"]; + }; + /** branch protection rule edited event */ + "webhook-branch-protection-rule-edited": { + /** @enum {string} */ + action: "edited"; + /** @description If the action was `edited`, the changes to the rule. */ + changes?: { + admin_enforced?: { + from: boolean | null; + }; + authorized_actor_names?: { + from: string[]; + }; + authorized_actors_only?: { + from: boolean | null; + }; + authorized_dismissal_actors_only?: { + from: boolean | null; + }; + linear_history_requirement_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; + }; + lock_branch_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; + }; + lock_allows_fork_sync?: { + from: boolean | null; + }; + pull_request_reviews_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; + }; + require_last_push_approval?: { + from: boolean | null; + }; + required_status_checks?: { + from: string[]; + }; + required_status_checks_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + rule: components["schemas"]["webhooks_rule"]; + sender: components["schemas"]["simple-user"]; + }; + /** Check Run Completed Event */ + "webhook-check-run-completed": { + /** @enum {string} */ + action?: "completed"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** + * Check Run Completed Event + * @description The check_run.completed webhook encoded with URL encoding + */ + "webhook-check-run-completed-form-encoded": { + /** @description A URL-encoded string of the check_run.completed JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** Check Run Created Event */ + "webhook-check-run-created": { + /** @enum {string} */ + action?: "created"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** + * Check Run Created Event + * @description The check_run.created webhook encoded with URL encoding + */ + "webhook-check-run-created-form-encoded": { + /** @description A URL-encoded string of the check_run.created JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** Check Run Requested Action Event */ + "webhook-check-run-requested-action": { + /** @enum {string} */ + action: "requested_action"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + /** @description The action requested by the user. */ + requested_action?: { + /** @description The integrator reference of the action requested by the user. */ + identifier?: string; + }; + sender: components["schemas"]["simple-user"]; + }; + /** + * Check Run Requested Action Event + * @description The check_run.requested_action webhook encoded with URL encoding + */ + "webhook-check-run-requested-action-form-encoded": { + /** @description A URL-encoded string of the check_run.requested_action JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** Check Run Re-Requested Event */ + "webhook-check-run-rerequested": { + /** @enum {string} */ + action?: "rerequested"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** + * Check Run Re-Requested Event + * @description The check_run.rerequested webhook encoded with URL encoding + */ + "webhook-check-run-rerequested-form-encoded": { + /** @description A URL-encoded string of the check_run.rerequested JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** check_suite completed event */ + "webhook-check-suite-completed": { + /** @enum {string} */ + action: "completed"; + /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ + check_suite: { + after: string | null; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + app: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "merge_group" + | "pull_request_review_thread" + | "workflow_job" + | "merge_queue_entry" + | "security_and_analysis" + | "projects_v2_item" + | "secret_scanning_alert_location" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The client ID of the GitHub app */ + client_id?: string | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + }; + before: string | null; + /** Format: uri */ + check_runs_url: string; + /** + * @description The summary conclusion for all check runs that are part of the check suite. This value will be `null` until the check run has `completed`. + * @enum {string|null} + */ + conclusion: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "timed_out" + | "action_required" + | "stale" + | null + | "skipped" + | "startup_failure"; + /** Format: date-time */ + created_at: string; + /** @description The head branch name the changes are on. */ + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** @description The SHA of the head commit that is being checked. */ + head_sha: string; + id: number; + latest_check_runs_count: number; + node_id: string; + /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + rerequestable?: boolean; + runs_rerequestable?: boolean; + /** + * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. + * @enum {string|null} + */ + status: + | "requested" + | "in_progress" + | "completed" + | "queued" + | null + | "pending"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL that points to the check suite API resource. + */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** check_suite requested event */ + "webhook-check-suite-requested": { + /** @enum {string} */ + action: "requested"; + /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ + check_suite: { + after: string | null; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + app: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "pull_request_review_thread" + | "workflow_job" + | "merge_queue_entry" + | "security_and_analysis" + | "secret_scanning_alert_location" + | "projects_v2_item" + | "merge_group" + | "repository_import" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description Client ID of the GitHub app */ + client_id?: string | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + }; + before: string | null; + /** Format: uri */ + check_runs_url: string; + /** + * @description The summary conclusion for all check runs that are part of the check suite. This value will be `null` until the check run has completed. + * @enum {string|null} + */ + conclusion: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "timed_out" + | "action_required" + | "stale" + | null + | "skipped"; + /** Format: date-time */ + created_at: string; + /** @description The head branch name the changes are on. */ + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** @description The SHA of the head commit that is being checked. */ + head_sha: string; + id: number; + latest_check_runs_count: number; + node_id: string; + /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + rerequestable?: boolean; + runs_rerequestable?: boolean; + /** + * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. + * @enum {string|null} + */ + status: "requested" | "in_progress" | "completed" | "queued" | null; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL that points to the check suite API resource. + */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** check_suite rerequested event */ + "webhook-check-suite-rerequested": { + /** @enum {string} */ + action: "rerequested"; + /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ + check_suite: { + after: string | null; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + app: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "pull_request_review_thread" + | "merge_queue_entry" + | "workflow_job" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The Client ID for the GitHub app */ + client_id?: string | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + }; + before: string | null; + /** Format: uri */ + check_runs_url: string; + /** + * @description The summary conclusion for all check runs that are part of the check suite. This value will be `null` until the check run has completed. + * @enum {string|null} + */ + conclusion: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "timed_out" + | "action_required" + | "stale" + | null; + /** Format: date-time */ + created_at: string; + /** @description The head branch name the changes are on. */ + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** @description The SHA of the head commit that is being checked. */ + head_sha: string; + id: number; + latest_check_runs_count: number; + node_id: string; + /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + rerequestable?: boolean; + runs_rerequestable?: boolean; + /** + * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. + * @enum {string|null} + */ + status: "requested" | "in_progress" | "completed" | "queued" | null; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL that points to the check suite API resource. + */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert appeared_in_branch event */ + "webhook-code-scanning-alert-appeared-in-branch": { + /** @enum {string} */ + action: "appeared_in_branch"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + dismissed_at: string | null; + /** User */ + dismissed_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** + * @description The reason for dismissing or closing the alert. + * @enum {string|null} + */ + dismissed_reason: + | "false positive" + | "won't fix" + | "used in tests" + | null; + /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + fixed_at?: unknown; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + }; + /** + * @description State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed. + * @enum {string|null} + */ + state: "open" | "dismissed" | "fixed" | null; + tool: { + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert closed_by_user event */ + "webhook-code-scanning-alert-closed-by-user": { + /** @enum {string} */ + action: "closed_by_user"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + dismissed_at: string; + /** User */ + dismissed_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** + * @description The reason for dismissing or closing the alert. + * @enum {string|null} + */ + dismissed_reason: + | "false positive" + | "won't fix" + | "used in tests" + | null; + /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + fixed_at?: unknown; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + tags?: string[] | null; + }; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "dismissed" | "fixed"; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + /** User */ + dismissal_approved_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert created event */ + "webhook-code-scanning-alert-created": { + /** @enum {string} */ + action: "created"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string | null; + /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + dismissed_at: unknown; + dismissed_by: unknown; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ + dismissed_reason: unknown; + /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + fixed_at?: unknown; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + instances_url?: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + tags?: string[] | null; + }; + /** + * @description State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed. + * @enum {string|null} + */ + state: "open" | "dismissed" | null; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + } | null; + updated_at?: string | null; + /** Format: uri */ + url: string; + dismissal_approved_by?: unknown; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert fixed event */ + "webhook-code-scanning-alert-fixed": { + /** @enum {string} */ + action: "fixed"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + dismissed_at: string | null; + /** User */ + dismissed_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** + * @description The reason for dismissing or closing the alert. + * @enum {string|null} + */ + dismissed_reason: + | "false positive" + | "won't fix" + | "used in tests" + | null; + /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + fixed_at?: unknown; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Format: uri */ + instances_url?: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + tags?: string[] | null; + }; + /** + * @description State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed. + * @enum {string|null} + */ + state: "fixed" | null; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert reopened event */ + "webhook-code-scanning-alert-reopened": { + /** @enum {string} */ + action: "reopened"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + dismissed_at: string | null; + dismissed_by: Record | null; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ + dismissed_reason: string | null; + /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + fixed_at?: unknown; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + tags?: string[] | null; + }; + /** + * @description State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed. + * @enum {string|null} + */ + state: "open" | "dismissed" | "fixed" | null; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + } | null; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: string | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: string | null; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** code_scanning_alert reopened_by_user event */ + "webhook-code-scanning-alert-reopened-by-user": { + /** @enum {string} */ + action: "reopened_by_user"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + dismissed_at: unknown; + dismissed_by: unknown; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ + dismissed_reason: unknown; + /** @description The time that the alert was fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + fixed_at?: unknown; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + }; + /** + * @description State of a code scanning alert. Events for alerts found outside the default branch will return a `null` value until they are dismissed or fixed. + * @enum {string|null} + */ + state: "open" | "fixed" | null; + tool: { + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + }; + commit_oid: components["schemas"]["webhooks_code_scanning_commit_oid"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: components["schemas"]["webhooks_code_scanning_ref"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** commit_comment created event */ + "webhook-commit-comment-created": { + /** + * @description The action performed. Can be `created`. + * @enum {string} + */ + action: "created"; + /** @description The [commit comment](${externalDocsUpapp/api/description/components/schemas/webhooks/issue-comment-created.yamlrl}/rest/commits/comments#get-a-commit-comment) resource. */ + comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + created_at: string; + /** Format: uri */ + html_url: string; + /** @description The ID of the commit comment. */ + id: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the commit comment. */ + node_id: string; + /** @description The relative path of the file to which the comment applies. */ + path: string | null; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** create event */ + "webhook-create": { + /** @description The repository's current description. */ + description: string | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The name of the repository's default branch (usually `main`). */ + master_branch: string; + organization?: components["schemas"]["organization-simple-webhooks"]; + pusher_type: components["schemas"]["webhooks_deploy_pusher_type"]; + ref: components["schemas"]["webhooks_ref_0"]; + /** + * @description The type of Git ref object created in the repository. + * @enum {string} + */ + ref_type: "tag" | "branch"; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** custom property created event */ + "webhook-custom-property-created": { + /** @enum {string} */ + action: "created"; + definition: components["schemas"]["custom-property"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** custom property deleted event */ + "webhook-custom-property-deleted": { + /** @enum {string} */ + action: "deleted"; + definition: { + /** @description The name of the property that was deleted. */ + property_name: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** custom property updated event */ + "webhook-custom-property-updated": { + /** @enum {string} */ + action: "updated"; + definition: components["schemas"]["custom-property"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** Custom property values updated event */ + "webhook-custom-property-values-updated": { + /** @enum {string} */ + action: "updated"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + repository: components["schemas"]["repository-webhooks"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user"]; + /** @description The new custom property values for the repository. */ + new_property_values: components["schemas"]["custom-property-value"][]; + /** @description The old custom property values for the repository. */ + old_property_values: components["schemas"]["custom-property-value"][]; + }; + /** delete event */ + "webhook-delete": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pusher_type: components["schemas"]["webhooks_deploy_pusher_type"]; + ref: components["schemas"]["webhooks_ref_0"]; + /** + * @description The type of Git ref object deleted in the repository. + * @enum {string} + */ + ref_type: "tag" | "branch"; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert auto-dismissed event */ + "webhook-dependabot-alert-auto-dismissed": { + /** @enum {string} */ + action: "auto_dismissed"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert auto-reopened event */ + "webhook-dependabot-alert-auto-reopened": { + /** @enum {string} */ + action: "auto_reopened"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert created event */ + "webhook-dependabot-alert-created": { + /** @enum {string} */ + action: "created"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert dismissed event */ + "webhook-dependabot-alert-dismissed": { + /** @enum {string} */ + action: "dismissed"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert fixed event */ + "webhook-dependabot-alert-fixed": { + /** @enum {string} */ + action: "fixed"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert reintroduced event */ + "webhook-dependabot-alert-reintroduced": { + /** @enum {string} */ + action: "reintroduced"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Dependabot alert reopened event */ + "webhook-dependabot-alert-reopened": { + /** @enum {string} */ + action: "reopened"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** deploy_key created event */ + "webhook-deploy-key-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + key: components["schemas"]["webhooks_deploy_key"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** deploy_key deleted event */ + "webhook-deploy-key-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + key: components["schemas"]["webhooks_deploy_key"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** deployment created event */ + "webhook-deployment-created": { + /** @enum {string} */ + action: "created"; + /** + * Deployment + * @description The [deployment](https://docs.github.com/rest/deployments/deployments#list-deployments). + */ + deployment: { + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + environment: string; + id: number; + node_id: string; + original_environment: string; + payload: Record | string; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "workflow_job" + | "pull_request_review_thread" + | "merge_queue_entry" + | "secret_scanning_alert_location" + | "merge_group" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + production_environment?: boolean; + ref: string; + /** Format: uri */ + repository_url: string; + sha: string; + /** Format: uri */ + statuses_url: string; + task: string; + transient_environment?: boolean; + updated_at: string; + /** Format: uri */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow: components["schemas"]["webhooks_workflow"]; + /** Deployment Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "timed_out" + | "action_required" + | "stale" + | null; + /** Format: date-time */ + created_at: string; + display_title: string; + event: string; + head_branch: string; + head_commit?: unknown; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: unknown; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: unknown; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: + | { + path: string; + ref?: string; + sha: string; + }[] + | null; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: unknown; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: + | "requested" + | "in_progress" + | "completed" + | "queued" + | "waiting" + | "pending"; + /** User */ + triggering_actor?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + } | null; + }; + /** deployment protection rule requested event */ + "webhook-deployment-protection-rule-requested": { + /** @enum {string} */ + action?: "requested"; + /** @description The name of the environment that has the deployment protection rule. */ + environment?: string; + /** @description The event that triggered the deployment protection rule. */ + event?: string; + /** + * Format: uri + * @description The URL to review the deployment protection rule. + */ + deployment_callback_url?: string; + deployment?: components["schemas"]["deployment"]; + pull_requests?: components["schemas"]["pull-request"][]; + repository?: components["schemas"]["repository-webhooks"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + sender?: components["schemas"]["simple-user"]; + }; + "webhook-deployment-review-approved": { + /** @enum {string} */ + action: "approved"; + approver?: components["schemas"]["webhooks_approver"]; + comment?: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + reviewers?: components["schemas"]["webhooks_reviewers"]; + sender: components["schemas"]["simple-user"]; + since: string; + workflow_job_run?: components["schemas"]["webhooks_workflow_job_run"]; + workflow_job_runs?: { + conclusion?: unknown; + created_at?: string; + environment?: string; + html_url?: string; + id?: number; + name?: string | null; + status?: string; + updated_at?: string; + }[]; + /** Deployment Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "timed_out" + | "action_required" + | "stale" + | null; + /** Format: date-time */ + created_at: string; + display_title: string; + event: string; + head_branch: string; + head_commit?: Record | null; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: + | { + path: string; + ref?: string; + sha: string; + }[] + | null; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: + | "requested" + | "in_progress" + | "completed" + | "queued" + | "waiting" + | "pending"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + } | null; + }; + "webhook-deployment-review-rejected": { + /** @enum {string} */ + action: "rejected"; + approver?: components["schemas"]["webhooks_approver"]; + comment?: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + reviewers?: components["schemas"]["webhooks_reviewers"]; + sender: components["schemas"]["simple-user"]; + since: string; + workflow_job_run?: components["schemas"]["webhooks_workflow_job_run"]; + workflow_job_runs?: { + conclusion?: string | null; + created_at?: string; + environment?: string; + html_url?: string; + id?: number; + name?: string | null; + status?: string; + updated_at?: string; + }[]; + /** Deployment Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "timed_out" + | "action_required" + | "stale" + | null; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string; + head_commit?: Record | null; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: + | { + path: string; + ref?: string; + sha: string; + }[] + | null; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: + | "requested" + | "in_progress" + | "completed" + | "queued" + | "waiting"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + display_title: string; + } | null; + }; + "webhook-deployment-review-requested": { + /** @enum {string} */ + action: "requested"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + environment: string; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + requestor: components["schemas"]["webhooks_user"]; + reviewers: { + /** User */ + reviewer?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login?: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @enum {string} */ + type?: "User" | "Team"; + }[]; + sender: components["schemas"]["simple-user"]; + since: string; + workflow_job_run: { + conclusion: unknown; + created_at: string; + environment: string; + html_url: string; + id: number; + name: string | null; + status: string; + updated_at: string; + }; + /** Deployment Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "timed_out" + | "action_required" + | "stale" + | null; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string; + head_commit?: Record | null; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: + | { + path: string; + ref?: string; + sha: string; + }[] + | null; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: + | "requested" + | "in_progress" + | "completed" + | "queued" + | "waiting" + | "pending"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + display_title: string; + } | null; + }; + /** deployment_status created event */ + "webhook-deployment-status-created": { + /** @enum {string} */ + action: "created"; + check_run?: { + /** Format: date-time */ + completed_at: string | null; + /** + * @description The result of the completed check run. This value will be `null` until the check run has completed. + * @enum {string|null} + */ + conclusion: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "timed_out" + | "action_required" + | "stale" + | "skipped" + | null; + /** Format: uri */ + details_url: string; + external_id: string; + /** @description The SHA of the commit that is being checked. */ + head_sha: string; + /** Format: uri */ + html_url: string; + /** @description The id of the check. */ + id: number; + /** @description The name of the check run. */ + name: string; + node_id: string; + /** Format: date-time */ + started_at: string; + /** + * @description The current status of the check run. Can be `queued`, `in_progress`, or `completed`. + * @enum {string} + */ + status: "queued" | "in_progress" | "completed" | "waiting" | "pending"; + /** Format: uri */ + url: string; + } | null; + /** + * Deployment + * @description The [deployment](https://docs.github.com/rest/deployments/deployments#list-deployments). + */ + deployment: { + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + environment: string; + id: number; + node_id: string; + original_environment: string; + payload: string | Record | null; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "merge_queue_entry" + | "workflow_job" + | "pull_request_review_thread" + | "secret_scanning_alert_location" + | "merge_group" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + production_environment?: boolean; + ref: string; + /** Format: uri */ + repository_url: string; + sha: string; + /** Format: uri */ + statuses_url: string; + task: string; + transient_environment?: boolean; + updated_at: string; + /** Format: uri */ + url: string; + }; + /** @description The [deployment status](https://docs.github.com/rest/deployments/statuses#list-deployment-statuses). */ + deployment_status: { + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: uri */ + deployment_url: string; + /** @description The optional human-readable description added to the status. */ + description: string; + environment: string; + /** Format: uri */ + environment_url?: string; + id: number; + /** Format: uri */ + log_url?: string; + node_id: string; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "pull_request_review_thread" + | "merge_queue_entry" + | "workflow_job" + | "merge_group" + | "secret_scanning_alert_location" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + /** Format: uri */ + repository_url: string; + /** @description The new state. Can be `pending`, `success`, `failure`, or `error`. */ + state: string; + /** @description The optional link added to the status. */ + target_url: string; + updated_at: string; + /** Format: uri */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow?: components["schemas"]["webhooks_workflow"]; + /** Deployment Workflow Run */ + workflow_run?: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "timed_out" + | "action_required" + | "stale" + | null + | "startup_failure"; + /** Format: date-time */ + created_at: string; + display_title: string; + event: string; + head_branch: string; + head_commit?: unknown; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: unknown; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: unknown; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: + | { + path: string; + ref?: string; + sha: string; + }[] + | null; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: unknown; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: + | "requested" + | "in_progress" + | "completed" + | "queued" + | "waiting" + | "pending"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + } | null; + }; + /** discussion answered event */ + "webhook-discussion-answered": { + /** @enum {string} */ + action: "answered"; + answer: components["schemas"]["webhooks_answer"]; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion category changed event */ + "webhook-discussion-category-changed": { + /** @enum {string} */ + action: "category_changed"; + changes: { + category: { + from: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; + }; + }; + }; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion closed event */ + "webhook-discussion-closed": { + /** @enum {string} */ + action: "closed"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion_comment created event */ + "webhook-discussion-comment-created": { + /** @enum {string} */ + action: "created"; + comment: components["schemas"]["webhooks_comment"]; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion_comment deleted event */ + "webhook-discussion-comment-deleted": { + /** @enum {string} */ + action: "deleted"; + comment: components["schemas"]["webhooks_comment"]; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion_comment edited event */ + "webhook-discussion-comment-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + body: { + from: string; + }; + }; + comment: components["schemas"]["webhooks_comment"]; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion created event */ + "webhook-discussion-created": { + /** @enum {string} */ + action: "created"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion deleted event */ + "webhook-discussion-deleted": { + /** @enum {string} */ + action: "deleted"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion edited event */ + "webhook-discussion-edited": { + /** @enum {string} */ + action: "edited"; + changes?: { + body?: { + from: string; + }; + title?: { + from: string; + }; + }; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion labeled event */ + "webhook-discussion-labeled": { + /** @enum {string} */ + action: "labeled"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion locked event */ + "webhook-discussion-locked": { + /** @enum {string} */ + action: "locked"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion pinned event */ + "webhook-discussion-pinned": { + /** @enum {string} */ + action: "pinned"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion reopened event */ + "webhook-discussion-reopened": { + /** @enum {string} */ + action: "reopened"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion transferred event */ + "webhook-discussion-transferred": { + /** @enum {string} */ + action: "transferred"; + changes: { + new_discussion: components["schemas"]["discussion"]; + new_repository: components["schemas"]["repository-webhooks"]; + }; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion unanswered event */ + "webhook-discussion-unanswered": { + /** @enum {string} */ + action: "unanswered"; + discussion: components["schemas"]["discussion"]; + old_answer: components["schemas"]["webhooks_answer"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** discussion unlabeled event */ + "webhook-discussion-unlabeled": { + /** @enum {string} */ + action: "unlabeled"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion unlocked event */ + "webhook-discussion-unlocked": { + /** @enum {string} */ + action: "unlocked"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** discussion unpinned event */ + "webhook-discussion-unpinned": { + /** @enum {string} */ + action: "unpinned"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** + * fork event + * @description A user forks a repository. + */ + "webhook-fork": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + /** @description The created [`repository`](https://docs.github.com/rest/repos/repos#get-a-repository) resource. */ + forkee: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } & { + allow_forking?: boolean; + archive_url?: string; + archived?: boolean; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + clone_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + created_at?: string; + default_branch?: string; + deployments_url?: string; + description?: string | null; + disabled?: boolean; + downloads_url?: string; + events_url?: string; + /** @enum {boolean} */ + fork?: true; + forks?: number; + forks_count?: number; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + has_downloads?: boolean; + has_issues?: boolean; + has_pages?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + homepage?: string | null; + hooks_url?: string; + html_url?: string; + id?: number; + is_template?: boolean; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + language?: unknown; + languages_url?: string; + license?: Record | null; + merges_url?: string; + milestones_url?: string; + mirror_url?: unknown; + name?: string; + node_id?: string; + notifications_url?: string; + open_issues?: number; + open_issues_count?: number; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + public?: boolean; + pulls_url?: string; + pushed_at?: string; + releases_url?: string; + size?: number; + ssh_url?: string; + stargazers_count?: number; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + svn_url?: string; + tags_url?: string; + teams_url?: string; + topics?: unknown[]; + trees_url?: string; + updated_at?: string; + url?: string; + visibility?: string; + watchers?: number; + watchers_count?: number; + }; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** github_app_authorization revoked event */ + "webhook-github-app-authorization-revoked": { + /** @enum {string} */ + action: "revoked"; + sender: components["schemas"]["simple-user"]; + }; + /** gollum event */ + "webhook-gollum": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The pages that were updated. */ + pages: { + /** + * @description The action that was performed on the page. Can be `created` or `edited`. + * @enum {string} + */ + action: "created" | "edited"; + /** + * Format: uri + * @description Points to the HTML wiki page. + */ + html_url: string; + /** @description The name of the page. */ + page_name: string; + /** @description The latest commit SHA of the page. */ + sha: string; + summary: string | null; + /** @description The current page title. */ + title: string; + }[]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** installation created event */ + "webhook-installation-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories?: components["schemas"]["webhooks_repositories"]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: components["schemas"]["webhooks_user"]; + sender: components["schemas"]["simple-user"]; + }; + /** installation deleted event */ + "webhook-installation-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories?: components["schemas"]["webhooks_repositories"]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: unknown; + sender: components["schemas"]["simple-user"]; + }; + /** installation new_permissions_accepted event */ + "webhook-installation-new-permissions-accepted": { + /** @enum {string} */ + action: "new_permissions_accepted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories?: components["schemas"]["webhooks_repositories"]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: unknown; + sender: components["schemas"]["simple-user"]; + }; + /** installation_repositories added event */ + "webhook-installation-repositories-added": { + /** @enum {string} */ + action: "added"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories_added: components["schemas"]["webhooks_repositories_added"]; + /** @description An array of repository objects, which were removed from the installation. */ + repositories_removed: { + full_name?: string; + /** @description Unique identifier of the repository */ + id?: number; + /** @description The name of the repository. */ + name?: string; + node_id?: string; + /** @description Whether the repository is private or public. */ + private?: boolean; + }[]; + repository?: components["schemas"]["repository-webhooks"]; + repository_selection: components["schemas"]["webhooks_repository_selection"]; + requester: components["schemas"]["webhooks_user"]; + sender: components["schemas"]["simple-user"]; + }; + /** installation_repositories removed event */ + "webhook-installation-repositories-removed": { + /** @enum {string} */ + action: "removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories_added: components["schemas"]["webhooks_repositories_added"]; + /** @description An array of repository objects, which were removed from the installation. */ + repositories_removed: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + repository?: components["schemas"]["repository-webhooks"]; + repository_selection: components["schemas"]["webhooks_repository_selection"]; + requester: components["schemas"]["webhooks_user"]; + sender: components["schemas"]["simple-user"]; + }; + /** installation suspend event */ + "webhook-installation-suspend": { + /** @enum {string} */ + action: "suspend"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories?: components["schemas"]["webhooks_repositories"]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: unknown; + sender: components["schemas"]["simple-user"]; + }; + "webhook-installation-target-renamed": { + account: { + archived_at?: string | null; + avatar_url: string; + created_at?: string; + description?: unknown; + events_url?: string; + followers?: number; + followers_url?: string; + following?: number; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + has_organization_projects?: boolean; + has_repository_projects?: boolean; + hooks_url?: string; + html_url: string; + id: number; + is_verified?: boolean; + issues_url?: string; + login?: string; + members_url?: string; + name?: string; + node_id: string; + organizations_url?: string; + public_gists?: number; + public_members_url?: string; + public_repos?: number; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + slug?: string; + starred_url?: string; + subscriptions_url?: string; + type?: string; + updated_at?: string; + url?: string; + website_url?: unknown; + user_view_type?: string; + }; + /** @enum {string} */ + action: "renamed"; + changes: { + login?: { + from: string; + }; + slug?: { + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + target_type: string; + }; + /** installation unsuspend event */ + "webhook-installation-unsuspend": { + /** @enum {string} */ + action: "unsuspend"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repositories?: components["schemas"]["webhooks_repositories"]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: unknown; + sender: components["schemas"]["simple-user"]; + }; + /** issue_comment created event */ + "webhook-issue-comment-created": { + /** @enum {string} */ + action: "created"; + /** + * issue comment + * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. + */ + comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue comment */ + body: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the issue comment + */ + id: number; + /** Format: uri */ + issue_url: string; + node_id: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ + issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "reminder" + | "pull_request_review_thread" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + } & { + active_lock_reason?: string | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees?: (Record | null)[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + labels_url?: string; + locked: boolean; + milestone?: Record | null; + node_id?: string; + number?: number; + performed_via_github_app?: Record | null; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + /** Format: int64 */ + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issue_comment deleted event */ + "webhook-issue-comment-deleted": { + /** @enum {string} */ + action: "deleted"; + comment: components["schemas"]["webhooks_issue_comment"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ + issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + } & { + active_lock_reason?: string | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees?: (Record | null)[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + labels_url?: string; + locked: boolean; + milestone?: Record | null; + node_id?: string; + number?: number; + performed_via_github_app?: Record | null; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + /** Format: int64 */ + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issue_comment edited event */ + "webhook-issue-comment-edited": { + /** @enum {string} */ + action: "edited"; + changes: components["schemas"]["webhooks_changes"]; + comment: components["schemas"]["webhooks_issue_comment"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ + issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "reminder" + | "pull_request_review_thread" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + } & { + active_lock_reason?: string | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees?: (Record | null)[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + labels_url?: string; + locked: boolean; + milestone?: Record | null; + node_id?: string; + number?: number; + performed_via_github_app?: Record | null; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + /** Format: int64 */ + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues assigned event */ + "webhook-issues-assigned": { + /** + * @description The action that was performed. + * @enum {string} + */ + action: "assigned"; + assignee?: components["schemas"]["webhooks_user"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues closed event */ + "webhook-issues-closed": { + /** + * @description The action that was performed. + * @enum {string} + */ + action: "closed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. */ + issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "security_and_analysis" + | "reminder" + | "pull_request_review_thread" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + } & { + active_lock_reason?: string | null; + assignee?: Record | null; + assignees?: (Record | null)[]; + author_association?: string; + body?: string | null; + closed_at: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels?: (Record | null)[]; + labels_url?: string; + locked?: boolean; + milestone?: Record | null; + node_id?: string; + number?: number; + performed_via_github_app?: Record | null; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** @enum {string} */ + state: "closed" | "open"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + /** Format: int64 */ + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues deleted event */ + "webhook-issues-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "reminder" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues demilestoned event */ + "webhook-issues-demilestoned": { + /** @enum {string} */ + action: "demilestoned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + } | null)[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + milestone?: components["schemas"]["webhooks_milestone"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues edited event */ + "webhook-issues-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the issue. */ + changes: { + body?: { + /** @description The previous version of the body. */ + from: string; + }; + title?: { + /** @description The previous version of the title. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "security_and_analysis" + | "pull_request_review_thread" + | "reminder" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + type?: components["schemas"]["issue-type"]; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + label?: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues labeled event */ + "webhook-issues-labeled": { + /** @enum {string} */ + action: "labeled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "pull_request_review_thread" + | "reminder" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + type?: components["schemas"]["issue-type"]; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + label?: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues locked event */ + "webhook-issues-locked": { + /** @enum {string} */ + action: "locked"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + } | null)[]; + /** Format: uri-template */ + labels_url: string; + /** @enum {boolean} */ + locked: true; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "reminder" + | "security_and_analysis" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + type?: components["schemas"]["issue-type"]; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues milestoned event */ + "webhook-issues-milestoned": { + /** @enum {string} */ + action: "milestoned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + } | null)[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "reminder" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + milestone: components["schemas"]["webhooks_milestone"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues opened event */ + "webhook-issues-opened": { + /** @enum {string} */ + action: "opened"; + changes?: { + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + old_issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + } | null; + /** + * Repository + * @description A git repository + */ + old_repository: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** @description Whether the repository has discussions enabled. */ + has_discussions?: boolean; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require commit signoff. */ + web_commit_signoff_required?: boolean; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "security_and_analysis" + | "pull_request_review_thread" + | "reminder" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues pinned event */ + "webhook-issues-pinned": { + /** @enum {string} */ + action: "pinned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue_2"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues reopened event */ + "webhook-issues-reopened": { + /** @enum {string} */ + action: "reopened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + } | null)[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + | "pull_request_review_thread" + | "reminder" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + type?: components["schemas"]["issue-type"]; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues transferred event */ + "webhook-issues-transferred": { + /** @enum {string} */ + action: "transferred"; + changes: { + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + new_issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** + * Repository + * @description A git repository + */ + new_repository: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue_2"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues unassigned event */ + "webhook-issues-unassigned": { + /** + * @description The action that was performed. + * @enum {string} + */ + action: "unassigned"; + assignee?: components["schemas"]["webhooks_user_mannequin"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues unlabeled event */ + "webhook-issues-unlabeled": { + /** @enum {string} */ + action: "unlabeled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue"]; + label?: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues unlocked event */ + "webhook-issues-unlocked": { + /** @enum {string} */ + action: "unlocked"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: ({ + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + } | null)[]; + /** Format: uri-template */ + labels_url: string; + /** @enum {boolean} */ + locked: false; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ( + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "content_reference" + | "create" + | "delete" + | "deployment" + | "deployment_review" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "milestone" + | "organization" + | "org_block" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_dispatch" + | "secret_scanning_alert" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_dispatch" + | "workflow_run" + )[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** Sub-issues Summary */ + sub_issues_summary?: { + total: number; + completed: number; + percent_completed: number; + }; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + type?: components["schemas"]["issue-type"]; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** issues unpinned event */ + "webhook-issues-unpinned": { + /** @enum {string} */ + action: "unpinned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: components["schemas"]["webhooks_issue_2"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** label created event */ + "webhook-label-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** label deleted event */ + "webhook-label-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** label edited event */ + "webhook-label-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the label if the action was `edited`. */ + changes?: { + color?: { + /** @description The previous version of the color if the action was `edited`. */ + from: string; + }; + description?: { + /** @description The previous version of the description if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The previous version of the name if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label: components["schemas"]["webhooks_label"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** marketplace_purchase cancelled event */ + "webhook-marketplace-purchase-cancelled": { + /** @enum {string} */ + action: "cancelled"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: components["schemas"]["webhooks_marketplace_purchase"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + previous_marketplace_purchase?: components["schemas"]["webhooks_previous_marketplace_purchase"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** marketplace_purchase changed event */ + "webhook-marketplace-purchase-changed": { + /** @enum {string} */ + action: "changed"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: components["schemas"]["webhooks_marketplace_purchase"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Marketplace Purchase */ + previous_marketplace_purchase?: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: string | null; + next_billing_date?: string | null; + on_free_trial: boolean | null; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** marketplace_purchase pending_change event */ + "webhook-marketplace-purchase-pending-change": { + /** @enum {string} */ + action: "pending_change"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: components["schemas"]["webhooks_marketplace_purchase"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Marketplace Purchase */ + previous_marketplace_purchase?: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: string | null; + next_billing_date?: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** marketplace_purchase pending_change_cancelled event */ + "webhook-marketplace-purchase-pending-change-cancelled": { + /** @enum {string} */ + action: "pending_change_cancelled"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** Marketplace Purchase */ + marketplace_purchase: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: unknown; + next_billing_date: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + previous_marketplace_purchase?: components["schemas"]["webhooks_previous_marketplace_purchase"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** marketplace_purchase purchased event */ + "webhook-marketplace-purchase-purchased": { + /** @enum {string} */ + action: "purchased"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: components["schemas"]["webhooks_marketplace_purchase"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + previous_marketplace_purchase?: components["schemas"]["webhooks_previous_marketplace_purchase"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** member added event */ + "webhook-member-added": { + /** @enum {string} */ + action: "added"; + changes?: { + /** + * @description This field is included for legacy purposes; use the `role_name` field instead. The `maintain` + * role is mapped to `write` and the `triage` role is mapped to `read`. To determine the role + * assigned to the collaborator, use the `role_name` field instead, which will provide the full + * role name, including custom roles. + */ + permission?: { + /** @enum {string} */ + to: "write" | "admin" | "read"; + }; + /** @description The role assigned to the collaborator. */ + role_name?: { + to: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + member: components["schemas"]["webhooks_user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** member edited event */ + "webhook-member-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the collaborator permissions */ + changes: { + old_permission?: { + /** @description The previous permissions of the collaborator if the action was edited. */ + from: string; + }; + permission?: { + from?: string | null; + to?: string | null; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + member: components["schemas"]["webhooks_user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** member removed event */ + "webhook-member-removed": { + /** @enum {string} */ + action: "removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + member: components["schemas"]["webhooks_user"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** membership added event */ + "webhook-membership-added": { + /** @enum {string} */ + action: "added"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + member: components["schemas"]["webhooks_user"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + /** + * @description The scope of the membership. Currently, can only be `team`. + * @enum {string} + */ + scope: "team"; + /** User */ + sender: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + team: components["schemas"]["webhooks_team"]; + }; + /** membership removed event */ + "webhook-membership-removed": { + /** @enum {string} */ + action: "removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + member: components["schemas"]["webhooks_user"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + /** + * @description The scope of the membership. Currently, can only be `team`. + * @enum {string} + */ + scope: "team" | "organization"; + /** User */ + sender: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + team: components["schemas"]["webhooks_team"]; + }; + "webhook-merge-group-checks-requested": { + /** @enum {string} */ + action: "checks_requested"; + installation?: components["schemas"]["simple-installation"]; + merge_group: components["schemas"]["merge-group"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + "webhook-merge-group-destroyed": { + /** @enum {string} */ + action: "destroyed"; + /** + * @description Explains why the merge group is being destroyed. The group could have been merged, removed from the queue (dequeued), or invalidated by an earlier queue entry being dequeued (invalidated). + * @enum {string} + */ + reason?: "merged" | "invalidated" | "dequeued"; + installation?: components["schemas"]["simple-installation"]; + merge_group: components["schemas"]["merge-group"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** meta deleted event */ + "webhook-meta-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + /** @description The modified webhook. This will contain different keys based on the type of webhook it is: repository, organization, business, app, or GitHub Marketplace. */ + hook: { + active: boolean; + config: { + /** @enum {string} */ + content_type: "json" | "form"; + insecure_ssl: string; + secret?: string; + /** Format: uri */ + url: string; + }; + created_at: string; + events: ( + | "*" + | "branch_protection_rule" + | "check_run" + | "check_suite" + | "code_scanning_alert" + | "commit_comment" + | "create" + | "delete" + | "deployment" + | "deployment_status" + | "deploy_key" + | "discussion" + | "discussion_comment" + | "fork" + | "gollum" + | "issues" + | "issue_comment" + | "label" + | "member" + | "membership" + | "meta" + | "milestone" + | "organization" + | "org_block" + | "package" + | "page_build" + | "project" + | "project_card" + | "project_column" + | "public" + | "pull_request" + | "pull_request_review" + | "pull_request_review_comment" + | "pull_request_review_thread" + | "push" + | "registry_package" + | "release" + | "repository" + | "repository_import" + | "repository_vulnerability_alert" + | "secret_scanning_alert" + | "secret_scanning_alert_location" + | "security_and_analysis" + | "star" + | "status" + | "team" + | "team_add" + | "watch" + | "workflow_job" + | "workflow_run" + | "repository_dispatch" + | "projects_v2_item" + )[]; + id: number; + name: string; + type: string; + updated_at: string; + }; + /** @description The id of the modified webhook. */ + hook_id: number; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["nullable-repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** milestone closed event */ + "webhook-milestone-closed": { + /** @enum {string} */ + action: "closed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + milestone: components["schemas"]["webhooks_milestone"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** milestone created event */ + "webhook-milestone-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + milestone: components["schemas"]["webhooks_milestone_3"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** milestone deleted event */ + "webhook-milestone-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + milestone: components["schemas"]["webhooks_milestone"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** milestone edited event */ + "webhook-milestone-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the milestone if the action was `edited`. */ + changes: { + description?: { + /** @description The previous version of the description if the action was `edited`. */ + from: string; + }; + due_on?: { + /** @description The previous version of the due date if the action was `edited`. */ + from: string; + }; + title?: { + /** @description The previous version of the title if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + milestone: components["schemas"]["webhooks_milestone"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** milestone opened event */ + "webhook-milestone-opened": { + /** @enum {string} */ + action: "opened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + milestone: components["schemas"]["webhooks_milestone_3"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** org_block blocked event */ + "webhook-org-block-blocked": { + /** @enum {string} */ + action: "blocked"; + blocked_user: components["schemas"]["webhooks_user"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** org_block unblocked event */ + "webhook-org-block-unblocked": { + /** @enum {string} */ + action: "unblocked"; + blocked_user: components["schemas"]["webhooks_user"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** organization deleted event */ + "webhook-organization-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + membership?: components["schemas"]["webhooks_membership"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** organization member_added event */ + "webhook-organization-member-added": { + /** @enum {string} */ + action: "member_added"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + membership: components["schemas"]["webhooks_membership"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** organization member_invited event */ + "webhook-organization-member-invited": { + /** @enum {string} */ + action: "member_invited"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The invitation for the user or email if the action is `member_invited`. */ + invitation: { + /** Format: date-time */ + created_at: string; + email: string | null; + /** Format: date-time */ + failed_at: string | null; + failed_reason: string | null; + id: number; + /** Format: uri */ + invitation_teams_url: string; + /** User */ + inviter: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + login: string | null; + node_id: string; + role: string; + team_count: number; + invitation_source?: string; + }; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + user?: components["schemas"]["webhooks_user"]; + }; + /** organization member_removed event */ + "webhook-organization-member-removed": { + /** @enum {string} */ + action: "member_removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + membership: components["schemas"]["webhooks_membership"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** organization renamed event */ + "webhook-organization-renamed": { + /** @enum {string} */ + action: "renamed"; + changes?: { + login?: { + from?: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + membership?: components["schemas"]["webhooks_membership"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Ruby Gems metadata */ + "webhook-rubygems-metadata": { + name?: string; + description?: string; + readme?: string; + homepage?: string; + version_info?: { + version?: string; + }; + platform?: string; + metadata?: { + [key: string]: string; + }; + repo?: string; + dependencies?: { + [key: string]: string; + }[]; + commit_oid?: string; + }; + /** package published event */ + "webhook-package-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description Information about the package. */ + package: { + created_at: string | null; + description: string | null; + ecosystem: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + namespace: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + package_type: string; + package_version: { + /** User */ + author?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + body?: string | Record; + body_html?: string; + container_metadata?: { + labels?: Record | null; + manifest?: Record | null; + tag?: { + digest?: string; + name?: string; + }; + } | null; + created_at?: string; + description: string; + docker_metadata?: { + tags?: string[]; + }[]; + draft?: boolean; + /** Format: uri */ + html_url: string; + id: number; + installation_command: string; + manifest?: string; + metadata: { + [key: string]: unknown; + }[]; + name: string; + npm_metadata?: { + name?: string; + version?: string; + npm_user?: string; + author?: Record | null; + bugs?: Record | null; + dependencies?: Record; + dev_dependencies?: Record; + peer_dependencies?: Record; + optional_dependencies?: Record; + description?: string; + dist?: Record | null; + git_head?: string; + homepage?: string; + license?: string; + main?: string; + repository?: Record | null; + scripts?: Record; + id?: string; + node_version?: string; + npm_version?: string; + has_shrinkwrap?: boolean; + maintainers?: Record[]; + contributors?: Record[]; + engines?: Record; + keywords?: string[]; + files?: string[]; + bin?: Record; + man?: Record; + directories?: Record | null; + os?: string[]; + cpu?: string[]; + readme?: string; + installation_command?: string; + release_id?: number; + commit_oid?: string; + published_via_actions?: boolean; + deleted_by_id?: number; + } | null; + nuget_metadata?: + | { + id?: number | string; + name?: string; + value?: OneOf< + [ + boolean, + string, + number, + { + url?: string; + branch?: string; + commit?: string; + type?: string; + }, + ] + >; + }[] + | null; + package_files: { + content_type: string; + created_at: string; + /** Format: uri */ + download_url: string; + id: number; + md5: string | null; + name: string; + sha1: string | null; + sha256: string | null; + size: number; + state: string | null; + updated_at: string; + }[]; + package_url?: string; + prerelease?: boolean; + release?: { + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + created_at: string; + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string | null; + prerelease: boolean; + published_at: string; + tag_name: string; + target_commitish: string; + /** Format: uri */ + url: string; + }; + rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; + source_url?: string; + summary: string; + tag_name?: string; + target_commitish?: string; + target_oid?: string; + updated_at?: string; + version: string; + } | null; + registry: { + /** Format: uri */ + about_url: string; + name: string; + type: string; + /** Format: uri */ + url: string; + vendor: string; + } | null; + updated_at: string | null; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** package updated event */ + "webhook-package-updated": { + /** @enum {string} */ + action: "updated"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description Information about the package. */ + package: { + created_at: string; + description: string | null; + ecosystem: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + namespace: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + package_type: string; + package_version: { + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + body: string; + body_html: string; + created_at: string; + description: string; + docker_metadata?: { + tags?: string[]; + }[]; + draft?: boolean; + /** Format: uri */ + html_url: string; + id: number; + installation_command: string; + manifest?: string; + metadata: { + [key: string]: unknown; + }[]; + name: string; + package_files: { + content_type: string; + created_at: string; + /** Format: uri */ + download_url: string; + id: number; + md5: string | null; + name: string; + sha1: string | null; + sha256: string; + size: number; + state: string; + updated_at: string; + }[]; + package_url?: string; + prerelease?: boolean; + release?: { + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + created_at: string; + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string; + prerelease: boolean; + published_at: string; + tag_name: string; + target_commitish: string; + /** Format: uri */ + url: string; + }; + rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; + /** Format: uri */ + source_url?: string; + summary: string; + tag_name?: string; + target_commitish: string; + target_oid: string; + updated_at: string; + version: string; + }; + registry: { + /** Format: uri */ + about_url: string; + name: string; + type: string; + /** Format: uri */ + url: string; + vendor: string; + } | null; + updated_at: string; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** page_build event */ + "webhook-page-build": { + /** @description The [List GitHub Pages builds](https://docs.github.com/rest/pages/pages#list-github-pages-builds) itself. */ + build: { + commit: string | null; + created_at: string; + duration: number; + error: { + message: string | null; + }; + /** User */ + pusher: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + status: string; + updated_at: string; + /** Format: uri */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + id: number; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** personal_access_token_request approved event */ + "webhook-personal-access-token-request-approved": { + /** @enum {string} */ + action: "approved"; + personal_access_token_request: components["schemas"]["personal-access-token-request"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender: components["schemas"]["simple-user"]; + installation: components["schemas"]["simple-installation"]; + }; + /** personal_access_token_request cancelled event */ + "webhook-personal-access-token-request-cancelled": { + /** @enum {string} */ + action: "cancelled"; + personal_access_token_request: components["schemas"]["personal-access-token-request"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender: components["schemas"]["simple-user"]; + installation: components["schemas"]["simple-installation"]; + }; + /** personal_access_token_request created event */ + "webhook-personal-access-token-request-created": { + /** @enum {string} */ + action: "created"; + personal_access_token_request: components["schemas"]["personal-access-token-request"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender: components["schemas"]["simple-user"]; + installation?: components["schemas"]["simple-installation"]; + }; + /** personal_access_token_request denied event */ + "webhook-personal-access-token-request-denied": { + /** @enum {string} */ + action: "denied"; + personal_access_token_request: components["schemas"]["personal-access-token-request"]; + organization: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + sender: components["schemas"]["simple-user"]; + installation: components["schemas"]["simple-installation"]; + }; + "webhook-ping": { + /** + * Webhook + * @description The webhook that is being pinged + */ + hook?: { + /** @description Determines whether the hook is actually triggered for the events it subscribes to. */ + active: boolean; + /** @description Only included for GitHub Apps. When you register a new GitHub App, GitHub sends a ping event to the webhook URL you specified during registration. The GitHub App ID sent in this field is required for authenticating an app. */ + app_id?: number; + config: { + content_type?: components["schemas"]["webhook-config-content-type"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + secret?: components["schemas"]["webhook-config-secret"]; + url?: components["schemas"]["webhook-config-url"]; + }; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + deliveries_url?: string; + /** @description Determines what events the hook is triggered for. Default: ['push']. */ + events: string[]; + /** @description Unique identifier of the webhook. */ + id: number; + last_response?: components["schemas"]["hook-response"]; + /** + * @description The type of webhook. The only valid value is 'web'. + * @enum {string} + */ + name: "web"; + /** Format: uri */ + ping_url?: string; + /** Format: uri */ + test_url?: string; + type: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url?: string; + }; + /** @description The ID of the webhook that triggered the ping. */ + hook_id?: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + /** @description Random string of GitHub zen. */ + zen?: string; + }; + /** @description The webhooks ping payload encoded with URL encoding. */ + "webhook-ping-form-encoded": { + /** @description A URL-encoded string of the ping JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** project_card converted event */ + "webhook-project-card-converted": { + /** @enum {string} */ + action: "converted"; + changes: { + note: { + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_card: components["schemas"]["webhooks_project_card"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project_card created event */ + "webhook-project-card-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_card: components["schemas"]["webhooks_project_card"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project_card deleted event */ + "webhook-project-card-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project Card */ + project_card: { + after_id?: number | null; + /** @description Whether or not the card is archived */ + archived: boolean; + column_id: number | null; + /** Format: uri */ + column_url: string; + /** Format: uri */ + content_url?: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The project card's ID */ + id: number; + node_id: string; + note: string | null; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["nullable-repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project_card edited event */ + "webhook-project-card-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + note: { + from: string | null; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_card: components["schemas"]["webhooks_project_card"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project_card moved event */ + "webhook-project-card-moved": { + /** @enum {string} */ + action: "moved"; + changes?: { + column_id: { + from: number; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_card: { + after_id?: number | null; + /** @description Whether or not the card is archived */ + archived: boolean; + column_id: number; + /** Format: uri */ + column_url: string; + /** Format: uri */ + content_url?: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description The project card's ID */ + id: number; + node_id: string; + note: string | null; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } & { + after_id: number | null; + archived?: boolean; + column_id?: number; + column_url?: string; + created_at?: string; + creator?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + } | null; + id?: number; + node_id?: string; + note?: string | null; + project_url?: string; + updated_at?: string; + url?: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project closed event */ + "webhook-project-closed": { + /** @enum {string} */ + action: "closed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project: components["schemas"]["webhooks_project"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project_column created event */ + "webhook-project-column-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_column: components["schemas"]["webhooks_project_column"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** project_column deleted event */ + "webhook-project-column-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_column: components["schemas"]["webhooks_project_column"]; + repository?: components["schemas"]["nullable-repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** project_column edited event */ + "webhook-project-column-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + name?: { + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_column: components["schemas"]["webhooks_project_column"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** project_column moved event */ + "webhook-project-column-moved": { + /** @enum {string} */ + action: "moved"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_column: components["schemas"]["webhooks_project_column"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project created event */ + "webhook-project-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project: components["schemas"]["webhooks_project"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** project deleted event */ + "webhook-project-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project: components["schemas"]["webhooks_project"]; + repository?: components["schemas"]["nullable-repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** project edited event */ + "webhook-project-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the project if the action was `edited`. */ + changes?: { + body?: { + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The changes to the project if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project: components["schemas"]["webhooks_project"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** project reopened event */ + "webhook-project-reopened": { + /** @enum {string} */ + action: "reopened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project: components["schemas"]["webhooks_project"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Project Closed Event */ + "webhook-projects-v2-project-closed": { + /** @enum {string} */ + action: "closed"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user"]; + }; + /** @description A project was created */ + "webhook-projects-v2-project-created": { + /** @enum {string} */ + action: "created"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Project Deleted Event */ + "webhook-projects-v2-project-deleted": { + /** @enum {string} */ + action: "deleted"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Project Edited Event */ + "webhook-projects-v2-project-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + description?: { + from?: string | null; + to?: string | null; + }; + public?: { + from?: boolean; + to?: boolean; + }; + short_description?: { + from?: string | null; + to?: string | null; + }; + title?: { + from?: string; + to?: string; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Archived Event */ + "webhook-projects-v2-item-archived": { + /** @enum {string} */ + action: "archived"; + changes: components["schemas"]["webhooks_project_changes"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Converted Event */ + "webhook-projects-v2-item-converted": { + /** @enum {string} */ + action: "converted"; + changes: { + content_type?: { + from?: string | null; + to?: string; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Created Event */ + "webhook-projects-v2-item-created": { + /** @enum {string} */ + action: "created"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Deleted Event */ + "webhook-projects-v2-item-deleted": { + /** @enum {string} */ + action: "deleted"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Edited Event */ + "webhook-projects-v2-item-edited": { + /** @enum {string} */ + action: "edited"; + /** + * @description The changes made to the item may involve modifications in the item's fields and draft issue body. + * It includes altered values for text, number, date, single select, and iteration fields, along with the GraphQL node ID of the changed field. + */ + changes?: OneOf< + [ + { + field_value: { + field_node_id?: string; + field_type?: string; + field_name?: string; + project_number?: number; + from?: + | string + | number + | components["schemas"]["projects-v2-single-select-option"] + | components["schemas"]["projects-v2-iteration-setting"] + | null; + to?: + | string + | number + | components["schemas"]["projects-v2-single-select-option"] + | components["schemas"]["projects-v2-iteration-setting"] + | null; + }; + }, + { + body: { + from?: string | null; + to?: string | null; + }; + }, + ] + >; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Reordered Event */ + "webhook-projects-v2-item-reordered": { + /** @enum {string} */ + action: "reordered"; + changes: { + previous_projects_v2_item_node_id?: { + from?: string | null; + to?: string | null; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Item Restored Event */ + "webhook-projects-v2-item-restored": { + /** @enum {string} */ + action: "restored"; + changes: components["schemas"]["webhooks_project_changes"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Project Reopened Event */ + "webhook-projects-v2-project-reopened": { + /** @enum {string} */ + action: "reopened"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Status Update Created Event */ + "webhook-projects-v2-status-update-created": { + /** @enum {string} */ + action: "created"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_status_update: components["schemas"]["projects-v2-status-update"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Status Update Deleted Event */ + "webhook-projects-v2-status-update-deleted": { + /** @enum {string} */ + action: "deleted"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_status_update: components["schemas"]["projects-v2-status-update"]; + sender: components["schemas"]["simple-user"]; + }; + /** Projects v2 Status Update Edited Event */ + "webhook-projects-v2-status-update-edited": { + /** @enum {string} */ + action: "edited"; + changes?: { + body?: { + from?: string | null; + to?: string | null; + }; + status?: { + /** @enum {string|null} */ + from?: + | "INACTIVE" + | "ON_TRACK" + | "AT_RISK" + | "OFF_TRACK" + | "COMPLETE" + | null; + /** @enum {string|null} */ + to?: + | "INACTIVE" + | "ON_TRACK" + | "AT_RISK" + | "OFF_TRACK" + | "COMPLETE" + | null; + }; + start_date?: { + /** Format: date */ + from?: string | null; + /** Format: date */ + to?: string | null; + }; + target_date?: { + /** Format: date */ + from?: string | null; + /** Format: date */ + to?: string | null; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_status_update: components["schemas"]["projects-v2-status-update"]; + sender: components["schemas"]["simple-user"]; + }; + /** public event */ + "webhook-public": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request assigned event */ + "webhook-pull-request-assigned": { + /** @enum {string} */ + action: "assigned"; + assignee: components["schemas"]["webhooks_user"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request auto_merge_disabled event */ + "webhook-pull-request-auto-merge-disabled": { + /** @enum {string} */ + action: "auto_merge_disabled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + reason: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request auto_merge_enabled event */ + "webhook-pull-request-auto-merge-enabled": { + /** @enum {string} */ + action: "auto_merge_enabled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + reason?: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request closed event */ + "webhook-pull-request-closed": { + /** @enum {string} */ + action: "closed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request converted_to_draft event */ + "webhook-pull-request-converted-to-draft": { + /** @enum {string} */ + action: "converted_to_draft"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request demilestoned event */ + "webhook-pull-request-demilestoned": { + /** @enum {string} */ + action: "demilestoned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + milestone?: components["schemas"]["milestone"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["webhooks_pull_request_5"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** pull_request dequeued event */ + "webhook-pull-request-dequeued": { + /** @enum {string} */ + action: "dequeued"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** @enum {string} */ + reason: + | "UNKNOWN_REMOVAL_REASON" + | "MANUAL" + | "MERGE" + | "MERGE_CONFLICT" + | "CI_FAILURE" + | "CI_TIMEOUT" + | "ALREADY_MERGED" + | "QUEUE_CLEARED" + | "ROLL_BACK" + | "BRANCH_PROTECTIONS" + | "GIT_TREE_INVALID" + | "INVALID_MERGE_COMMIT"; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request edited event */ + "webhook-pull-request-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the comment if the action was `edited`. */ + changes: { + base?: { + ref: { + from: string; + }; + sha: { + from: string; + }; + }; + body?: { + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + title?: { + /** @description The previous version of the title if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** pull_request enqueued event */ + "webhook-pull-request-enqueued": { + /** @enum {string} */ + action: "enqueued"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request labeled event */ + "webhook-pull-request-labeled": { + /** @enum {string} */ + action: "labeled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label?: components["schemas"]["webhooks_label"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request locked event */ + "webhook-pull-request-locked": { + /** @enum {string} */ + action: "locked"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request milestoned event */ + "webhook-pull-request-milestoned": { + /** @enum {string} */ + action: "milestoned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + milestone?: components["schemas"]["milestone"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["webhooks_pull_request_5"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** pull_request opened event */ + "webhook-pull-request-opened": { + /** @enum {string} */ + action: "opened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request ready_for_review event */ + "webhook-pull-request-ready-for-review": { + /** @enum {string} */ + action: "ready_for_review"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request reopened event */ + "webhook-pull-request-reopened": { + /** @enum {string} */ + action: "reopened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request-webhook"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review_comment created event */ + "webhook-pull-request-review-comment-created": { + /** @enum {string} */ + action: "created"; + /** + * Pull Request Review Comment + * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. + */ + comment: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number | null; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: number | null; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + start_line: number | null; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side: "LEFT" | "RIGHT" | null; + /** + * @description The level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge?: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft?: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions?: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review_comment deleted event */ + "webhook-pull-request-review-comment-deleted": { + /** @enum {string} */ + action: "deleted"; + comment: components["schemas"]["webhooks_review_comment"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge?: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft?: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review_comment edited event */ + "webhook-pull-request-review-comment-edited": { + /** @enum {string} */ + action: "edited"; + changes: components["schemas"]["webhooks_changes"]; + comment: components["schemas"]["webhooks_review_comment"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge?: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft?: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + user_view_type?: string; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review dismissed event */ + "webhook-pull-request-review-dismissed": { + /** @enum {string} */ + action: "dismissed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** @description The review that was affected. */ + review: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description The text of the review. */ + body: string | null; + /** @description A commit SHA for the review. */ + commit_id: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the review */ + id: number; + node_id: string; + /** Format: uri */ + pull_request_url: string; + /** @enum {string} */ + state: "dismissed" | "approved" | "changes_requested"; + /** Format: date-time */ + submitted_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review edited event */ + "webhook-pull-request-review-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + body?: { + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + review: components["schemas"]["webhooks_review"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request review_request_removed event */ + "webhook-pull-request-review-request-removed": OneOf< + [ + { + /** @enum {string} */ + action: "review_request_removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title. + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** User */ + requested_reviewer: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + sender: components["schemas"]["simple-user"]; + }, + { + /** @enum {string} */ + action: "review_request_removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + requested_team: { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }; + sender: components["schemas"]["simple-user"]; + }, + ] + >; + /** pull_request review_requested event */ + "webhook-pull-request-review-requested": OneOf< + [ + { + /** @enum {string} */ + action: "review_requested"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** User */ + requested_reviewer: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + sender: components["schemas"]["simple-user"]; + }, + { + /** @enum {string} */ + action: "review_requested"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + requested_team: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; + sender: components["schemas"]["simple-user"]; + }, + ] + >; + /** pull_request_review submitted event */ + "webhook-pull-request-review-submitted": { + /** @enum {string} */ + action: "submitted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + review: components["schemas"]["webhooks_review"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request_review_thread resolved event */ + "webhook-pull-request-review-thread-resolved": { + /** @enum {string} */ + action: "resolved"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + thread: { + comments: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number | null; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: number | null; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + start_line: number | null; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side: "LEFT" | "RIGHT" | null; + /** + * @description The level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }[]; + node_id: string; + }; + }; + /** pull_request_review_thread unresolved event */ + "webhook-pull-request-review-thread-unresolved": { + /** @enum {string} */ + action: "unresolved"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + thread: { + comments: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: number | null; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + start_line: number | null; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side: "LEFT" | "RIGHT" | null; + /** + * @description The level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }[]; + node_id: string; + }; + }; + /** pull_request synchronize event */ + "webhook-pull-request-synchronize": { + /** @enum {string} */ + action: "synchronize"; + after: string; + before: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit message title. + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request unassigned event */ + "webhook-pull-request-unassigned": { + /** @enum {string} */ + action: "unassigned"; + assignee?: components["schemas"]["webhooks_user_mannequin"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** pull_request unlabeled event */ + "webhook-pull-request-unlabeled": { + /** @enum {string} */ + action: "unlabeled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + label?: components["schemas"]["webhooks_label"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit message title. + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** pull_request unlocked event */ + "webhook-pull-request-unlocked": { + /** @enum {string} */ + action: "unlocked"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: components["schemas"]["webhooks_number"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: + | "resolved" + | "off-topic" + | "too heated" + | "spam" + | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: + | "COLLABORATOR" + | "CONTRIBUTOR" + | "FIRST_TIMER" + | "FIRST_TIME_CONTRIBUTOR" + | "MANNEQUIN" + | "MEMBER" + | "NONE" + | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: + | "PR_BODY" + | "COMMIT_MESSAGES" + | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: OneOf< + [ + { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null, + { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }, + ] + >[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** push event */ + "webhook-push": { + /** @description The SHA of the most recent commit on `ref` after the push. */ + after: string; + base_ref: components["schemas"]["webhooks_nullable_string"]; + /** @description The SHA of the most recent commit on `ref` before the push. */ + before: string; + /** @description An array of commit objects describing the pushed commits. (Pushed commits are all commits that are included in the `compare` between the `before` commit and the `after` commit.) The array includes a maximum of 2048 commits. If necessary, you can use the [Commits API](https://docs.github.com/rest/commits) to fetch additional commits. */ + commits: { + /** @description An array of files added in the commit. A maximum of 3000 changed files will be reported per commit. */ + added?: string[]; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** @description Whether this commit is distinct from any that have been pushed before. */ + distinct: boolean; + id: string; + /** @description The commit message. */ + message: string; + /** @description An array of files modified by the commit. A maximum of 3000 changed files will be reported per commit. */ + modified?: string[]; + /** @description An array of files removed in the commit. A maximum of 3000 changed files will be reported per commit. */ + removed?: string[]; + /** + * Format: date-time + * @description The ISO 8601 timestamp of the commit. + */ + timestamp: string; + tree_id: string; + /** + * Format: uri + * @description URL that points to the commit API resource. + */ + url: string; + }[]; + /** @description URL that shows the changes in this `ref` update, from the `before` commit to the `after` commit. For a newly created `ref` that is directly based on the default branch, this is the comparison between the head of the default branch and the `after` commit. Otherwise, this shows all commits until the `after` commit. */ + compare: string; + /** @description Whether this push created the `ref`. */ + created: boolean; + /** @description Whether this push deleted the `ref`. */ + deleted: boolean; + enterprise?: components["schemas"]["enterprise-webhooks"]; + /** @description Whether this push was a force push of the `ref`. */ + forced: boolean; + /** Commit */ + head_commit: { + /** @description An array of files added in the commit. */ + added?: string[]; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** @description Whether this commit is distinct from any that have been pushed before. */ + distinct: boolean; + id: string; + /** @description The commit message. */ + message: string; + /** @description An array of files modified by the commit. */ + modified?: string[]; + /** @description An array of files removed in the commit. */ + removed?: string[]; + /** + * Format: date-time + * @description The ISO 8601 timestamp of the commit. + */ + timestamp: string; + tree_id: string; + /** + * Format: uri + * @description URL that points to the commit API resource. + */ + url: string; + } | null; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + pusher: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email?: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** @description The full git ref that was pushed. Example: `refs/heads/main` or `refs/tags/v3.14.1`. */ + ref: string; + /** + * Repository + * @description A git repository + */ + repository: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sender?: components["schemas"]["simple-user"]; + }; + "webhook-registry-package-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + registry_package: { + created_at: string | null; + description: string | null; + ecosystem: string; + html_url: string; + id: number; + name: string; + namespace: string; + owner: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + user_view_type?: string; + }; + package_type: string; + package_version: { + author?: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + user_view_type?: string; + }; + body?: string | Record; + body_html?: string; + container_metadata?: { + labels?: Record | null; + manifest?: Record | null; + tag?: { + digest?: string; + name?: string; + }; + }; + created_at?: string; + description: string; + docker_metadata?: { + tags?: string[]; + }[]; + draft?: boolean; + html_url: string; + id: number; + installation_command: string; + manifest?: string; + metadata: { + [key: string]: unknown; + }[]; + name: string; + npm_metadata?: { + name?: string; + version?: string; + npm_user?: string; + author?: string | Record | null; + bugs?: string | Record | null; + dependencies?: Record; + dev_dependencies?: Record; + peer_dependencies?: Record; + optional_dependencies?: Record; + description?: string; + dist?: string | Record | null; + git_head?: string; + homepage?: string; + license?: string; + main?: string; + repository?: string | Record | null; + scripts?: Record; + id?: string; + node_version?: string; + npm_version?: string; + has_shrinkwrap?: boolean; + maintainers?: string[]; + contributors?: string[]; + engines?: Record; + keywords?: string[]; + files?: string[]; + bin?: Record; + man?: Record; + directories?: string | Record | null; + os?: string[]; + cpu?: string[]; + readme?: string; + installation_command?: string; + release_id?: number; + commit_oid?: string; + published_via_actions?: boolean; + deleted_by_id?: number; + } | null; + nuget_metadata?: + | { + id?: string | Record | number | null; + name?: string; + value?: OneOf< + [ + boolean, + string, + number, + { + url?: string; + branch?: string; + commit?: string; + type?: string; + }, + ] + >; + }[] + | null; + package_files: { + content_type: string; + created_at: string; + download_url: string; + id: number; + md5: string | null; + name: string; + sha1: string | null; + sha256: string | null; + size: number; + state: string | null; + updated_at: string; + }[]; + package_url: string; + prerelease?: boolean; + release?: { + author?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + user_view_type?: string; + }; + created_at?: string; + draft?: boolean; + html_url?: string; + id?: number; + name?: string | null; + prerelease?: boolean; + published_at?: string; + tag_name?: string; + target_commitish?: string; + url?: string; + }; + rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; + summary: string; + tag_name?: string; + target_commitish?: string; + target_oid?: string; + updated_at?: string; + version: string; + } | null; + registry: { + about_url?: string; + name?: string; + type?: string; + url?: string; + vendor?: string; + } | null; + updated_at: string | null; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + "webhook-registry-package-updated": { + /** @enum {string} */ + action: "updated"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + registry_package: { + created_at: string; + description: unknown; + ecosystem: string; + html_url: string; + id: number; + name: string; + namespace: string; + owner: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + user_view_type?: string; + }; + package_type: string; + package_version: { + author: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + user_view_type?: string; + }; + body: string; + body_html: string; + created_at: string; + description: string; + docker_metadata?: ({ + tags?: string[]; + } | null)[]; + draft?: boolean; + html_url: string; + id: number; + installation_command: string; + manifest?: string; + metadata: { + [key: string]: unknown; + }[]; + name: string; + package_files: { + content_type?: string; + created_at?: string; + download_url?: string; + id?: number; + md5?: string | null; + name?: string; + sha1?: string | null; + sha256?: string; + size?: number; + state?: string; + updated_at?: string; + }[]; + package_url: string; + prerelease?: boolean; + release?: { + author: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + user_view_type?: string; + }; + created_at: string; + draft: boolean; + html_url: string; + id: number; + name: string; + prerelease: boolean; + published_at: string; + tag_name: string; + target_commitish: string; + url: string; + }; + rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; + summary: string; + tag_name?: string; + target_commitish: string; + target_oid: string; + updated_at: string; + version: string; + }; + registry: Record | null; + updated_at: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** release created event */ + "webhook-release-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: components["schemas"]["webhooks_release"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** release deleted event */ + "webhook-release-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: components["schemas"]["webhooks_release"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** release edited event */ + "webhook-release-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + body?: { + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The previous version of the name if the action was `edited`. */ + from: string; + }; + tag_name?: { + /** @description The previous version of the tag_name if the action was `edited`. */ + from: string; + }; + make_latest?: { + /** @description Whether this release was explicitly `edited` to be the latest. */ + to: boolean; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: components["schemas"]["webhooks_release"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** release prereleased event */ + "webhook-release-prereleased": { + /** @enum {string} */ + action: "prereleased"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** + * Release + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. + */ + release: { + assets: ({ + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: string | null; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + url: string; + } | null)[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + body: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string | null; + node_id: string; + /** + * @description Whether the release is identified as a prerelease or a full release. + * @enum {boolean} + */ + prerelease: true; + /** Format: date-time */ + published_at: string | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: string | null; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: string | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** release published event */ + "webhook-release-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: components["schemas"]["webhooks_release_1"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** release released event */ + "webhook-release-released": { + /** @enum {string} */ + action: "released"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: components["schemas"]["webhooks_release"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** release unpublished event */ + "webhook-release-unpublished": { + /** @enum {string} */ + action: "unpublished"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: components["schemas"]["webhooks_release_1"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** Repository advisory published event */ + "webhook-repository-advisory-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + repository_advisory: components["schemas"]["repository-advisory"]; + sender?: components["schemas"]["simple-user"]; + }; + /** Repository advisory reported event */ + "webhook-repository-advisory-reported": { + /** @enum {string} */ + action: "reported"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + repository_advisory: components["schemas"]["repository-advisory"]; + sender?: components["schemas"]["simple-user"]; + }; + /** repository archived event */ + "webhook-repository-archived": { + /** @enum {string} */ + action: "archived"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository created event */ + "webhook-repository-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository deleted event */ + "webhook-repository-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_dispatch event */ + "webhook-repository-dispatch-sample": { + /** @description The `event_type` that was specified in the `POST /repos/{owner}/{repo}/dispatches` request body. */ + action: string; + branch: string; + /** @description The `client_payload` that was specified in the `POST /repos/{owner}/{repo}/dispatches` request body. */ + client_payload: { + [key: string]: unknown; + } | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository edited event */ + "webhook-repository-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + default_branch?: { + from: string; + }; + description?: { + from: string | null; + }; + homepage?: { + from: string | null; + }; + topics?: { + from?: string[] | null; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_import event */ + "webhook-repository-import": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + /** @enum {string} */ + status: "success" | "cancelled" | "failure"; + }; + /** repository privatized event */ + "webhook-repository-privatized": { + /** @enum {string} */ + action: "privatized"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository publicized event */ + "webhook-repository-publicized": { + /** @enum {string} */ + action: "publicized"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository renamed event */ + "webhook-repository-renamed": { + /** @enum {string} */ + action: "renamed"; + changes: { + repository: { + name: { + from: string; + }; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository ruleset created event */ + "webhook-repository-ruleset-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + repository_ruleset: components["schemas"]["repository-ruleset"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository ruleset deleted event */ + "webhook-repository-ruleset-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + repository_ruleset: components["schemas"]["repository-ruleset"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository ruleset edited event */ + "webhook-repository-ruleset-edited": { + /** @enum {string} */ + action: "edited"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + repository_ruleset: components["schemas"]["repository-ruleset"]; + changes?: { + name?: { + from?: string; + }; + enforcement?: { + from?: string; + }; + conditions?: { + added?: components["schemas"]["repository-ruleset-conditions"][]; + deleted?: components["schemas"]["repository-ruleset-conditions"][]; + updated?: { + condition?: components["schemas"]["repository-ruleset-conditions"]; + changes?: { + condition_type?: { + from?: string; + }; + target?: { + from?: string; + }; + include?: { + from?: string[]; + }; + exclude?: { + from?: string[]; + }; + }; + }[]; + }; + rules?: { + added?: components["schemas"]["repository-rule"][]; + deleted?: components["schemas"]["repository-rule"][]; + updated?: { + rule?: components["schemas"]["repository-rule"]; + changes?: { + configuration?: { + from?: string; + }; + rule_type?: { + from?: string; + }; + pattern?: { + from?: string; + }; + }; + }[]; + }; + }; + sender: components["schemas"]["simple-user"]; + }; + /** repository transferred event */ + "webhook-repository-transferred": { + /** @enum {string} */ + action: "transferred"; + changes: { + owner: { + from: { + /** Organization */ + organization?: { + /** Format: uri */ + avatar_url: string; + description: string | null; + /** Format: uri */ + events_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url?: string; + id: number; + /** Format: uri */ + issues_url: string; + login: string; + /** Format: uri-template */ + members_url: string; + node_id: string; + /** Format: uri-template */ + public_members_url: string; + /** Format: uri */ + repos_url: string; + /** Format: uri */ + url: string; + }; + /** User */ + user?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + /** Format: int64 */ + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + }; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository unarchived event */ + "webhook-repository-unarchived": { + /** @enum {string} */ + action: "unarchived"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_vulnerability_alert create event */ + "webhook-repository-vulnerability-alert-create": { + /** @enum {string} */ + action: "create"; + alert: components["schemas"]["webhooks_alert"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_vulnerability_alert dismiss event */ + "webhook-repository-vulnerability-alert-dismiss": { + /** @enum {string} */ + action: "dismiss"; + /** + * Repository Vulnerability Alert Alert + * @description The security alert of the vulnerable dependency. + */ + alert: { + affected_package_name: string; + affected_range: string; + created_at: string; + dismiss_comment?: string | null; + dismiss_reason: string; + dismissed_at: string; + /** User */ + dismisser: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + external_identifier: string; + /** Format: uri */ + external_reference: string | null; + fix_reason?: string; + /** Format: date-time */ + fixed_at?: string; + fixed_in?: string; + ghsa_id: string; + id: number; + node_id: string; + number: number; + severity: string; + /** @enum {string} */ + state: "dismissed"; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_vulnerability_alert reopen event */ + "webhook-repository-vulnerability-alert-reopen": { + /** @enum {string} */ + action: "reopen"; + alert: components["schemas"]["webhooks_alert"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** repository_vulnerability_alert resolve event */ + "webhook-repository-vulnerability-alert-resolve": { + /** @enum {string} */ + action: "resolve"; + /** + * Repository Vulnerability Alert Alert + * @description The security alert of the vulnerable dependency. + */ + alert: { + affected_package_name: string; + affected_range: string; + created_at: string; + dismiss_reason?: string; + dismissed_at?: string; + /** User */ + dismisser?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + external_identifier: string; + /** Format: uri */ + external_reference: string | null; + fix_reason?: string; + /** Format: date-time */ + fixed_at?: string; + fixed_in?: string; + ghsa_id: string; + id: number; + node_id: string; + number: number; + severity: string; + /** @enum {string} */ + state: "fixed" | "open"; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** secret_scanning_alert created event */ + "webhook-secret-scanning-alert-created": { + /** @enum {string} */ + action: "created"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** Secret Scanning Alert Location Created Event */ + "webhook-secret-scanning-alert-location-created": { + /** @enum {string} */ + action?: "created"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + installation?: components["schemas"]["simple-installation"]; + location: components["schemas"]["secret-scanning-location"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** Secret Scanning Alert Location Created Event */ + "webhook-secret-scanning-alert-location-created-form-encoded": { + /** @description A URL-encoded string of the secret_scanning_alert_location.created JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** secret_scanning_alert publicly leaked event */ + "webhook-secret-scanning-alert-publicly-leaked": { + /** @enum {string} */ + action: "publicly_leaked"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** secret_scanning_alert reopened event */ + "webhook-secret-scanning-alert-reopened": { + /** @enum {string} */ + action: "reopened"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** secret_scanning_alert resolved event */ + "webhook-secret-scanning-alert-resolved": { + /** @enum {string} */ + action: "resolved"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** secret_scanning_alert validated event */ + "webhook-secret-scanning-alert-validated": { + /** @enum {string} */ + action: "validated"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** secret_scanning_scan completed event */ + "webhook-secret-scanning-scan-completed": { + /** @enum {string} */ + action: "completed"; + /** + * @description What type of scan was completed + * @enum {string} + */ + type: "backfill" | "custom-pattern-backfill" | "pattern-version-backfill"; + /** + * @description What type of content was scanned + * @enum {string} + */ + source: "git" | "issues" | "pull-requests" | "discussions" | "wiki"; + /** + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at: string; + /** + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at: string; + /** @description List of patterns that were updated. This will be empty for normal backfill scans or custom pattern updates */ + secret_types?: string[] | null; + /** @description If the scan was triggered by a custom pattern update, this will be the name of the pattern that was updated */ + custom_pattern_name?: string | null; + /** + * @description If the scan was triggered by a custom pattern update, this will be the scope of the pattern that was updated + * @enum {string|null} + */ + custom_pattern_scope?: + | "repository" + | "organization" + | "enterprise" + | null; + repository?: components["schemas"]["repository-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** security_advisory published event */ + "webhook-security-advisory-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + security_advisory: components["schemas"]["webhooks_security_advisory"]; + sender?: components["schemas"]["simple-user"]; + }; + /** security_advisory updated event */ + "webhook-security-advisory-updated": { + /** @enum {string} */ + action: "updated"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + security_advisory: components["schemas"]["webhooks_security_advisory"]; + sender?: components["schemas"]["simple-user"]; + }; + /** security_advisory withdrawn event */ + "webhook-security-advisory-withdrawn": { + /** @enum {string} */ + action: "withdrawn"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + /** @description The details of the security advisory, including summary, description, and severity. */ + security_advisory: { + cvss: { + score: number; + vector_string: string | null; + }; + cvss_severities?: components["schemas"]["cvss-severities"]; + cwes: { + cwe_id: string; + name: string; + }[]; + description: string; + ghsa_id: string; + identifiers: { + type: string; + value: string; + }[]; + published_at: string; + references: { + /** Format: uri */ + url: string; + }[]; + severity: string; + summary: string; + updated_at: string; + vulnerabilities: { + first_patched_version: { + identifier: string; + } | null; + package: { + ecosystem: string; + name: string; + }; + severity: string; + vulnerable_version_range: string; + }[]; + withdrawn_at: string; + }; + sender?: components["schemas"]["simple-user"]; + }; + /** security_and_analysis event */ + "webhook-security-and-analysis": { + changes: { + from?: { + security_and_analysis?: components["schemas"]["security-and-analysis"]; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["full-repository"]; + sender?: components["schemas"]["simple-user"]; + }; + /** sponsorship cancelled event */ + "webhook-sponsorship-cancelled": { + /** @enum {string} */ + action: "cancelled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + sponsorship: components["schemas"]["webhooks_sponsorship"]; + }; + /** sponsorship created event */ + "webhook-sponsorship-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + sponsorship: components["schemas"]["webhooks_sponsorship"]; + }; + /** sponsorship edited event */ + "webhook-sponsorship-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + privacy_level?: { + /** @description The `edited` event types include the details about the change when someone edits a sponsorship to change the privacy. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + sponsorship: components["schemas"]["webhooks_sponsorship"]; + }; + /** sponsorship pending_cancellation event */ + "webhook-sponsorship-pending-cancellation": { + /** @enum {string} */ + action: "pending_cancellation"; + effective_date?: components["schemas"]["webhooks_effective_date"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + sponsorship: components["schemas"]["webhooks_sponsorship"]; + }; + /** sponsorship pending_tier_change event */ + "webhook-sponsorship-pending-tier-change": { + /** @enum {string} */ + action: "pending_tier_change"; + changes: components["schemas"]["webhooks_changes_8"]; + effective_date?: components["schemas"]["webhooks_effective_date"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + sponsorship: components["schemas"]["webhooks_sponsorship"]; + }; + /** sponsorship tier_changed event */ + "webhook-sponsorship-tier-changed": { + /** @enum {string} */ + action: "tier_changed"; + changes: components["schemas"]["webhooks_changes_8"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + sponsorship: components["schemas"]["webhooks_sponsorship"]; + }; + /** star created event */ + "webhook-star-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + /** @description The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action. */ + starred_at: string | null; + }; + /** star deleted event */ + "webhook-star-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + /** @description The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action. */ + starred_at: unknown; + }; + /** status event */ + "webhook-status": { + /** Format: uri */ + avatar_url?: string | null; + /** @description An array of branch objects containing the status' SHA. Each branch contains the given SHA, but the SHA may or may not be the head of the branch. The array includes a maximum of 10 branches. */ + branches: { + commit: { + sha: string | null; + /** Format: uri */ + url: string | null; + }; + name: string; + protected: boolean; + }[]; + commit: { + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id?: number; + login?: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + comments_url: string; + commit: { + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + } & { + date: string; + email?: string; + name?: string; + }; + comment_count: number; + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + } & { + date: string; + email?: string; + name?: string; + }; + message: string; + tree: { + sha: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + url: string; + verification: { + payload: string | null; + /** @enum {string} */ + reason: + | "expired_key" + | "not_signing_key" + | "gpgverify_error" + | "gpgverify_unavailable" + | "unsigned" + | "unknown_signature_type" + | "no_user" + | "unverified_email" + | "bad_email" + | "unknown_key" + | "malformed_signature" + | "invalid" + | "valid" + | "bad_cert" + | "ocsp_pending"; + signature: string | null; + verified: boolean; + verified_at: string | null; + }; + }; + /** User */ + committer: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id?: number; + login?: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + html_url: string; + node_id: string; + parents: { + /** Format: uri */ + html_url: string; + sha: string; + /** Format: uri */ + url: string; + }[]; + sha: string; + /** Format: uri */ + url: string; + }; + context: string; + created_at: string; + /** @description The optional human-readable description added to the status. */ + description: string | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + /** @description The unique identifier of the status. */ + id: number; + installation?: components["schemas"]["simple-installation"]; + name: string; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + /** @description The Commit SHA. */ + sha: string; + /** + * @description The new state. Can be `pending`, `success`, `failure`, or `error`. + * @enum {string} + */ + state: "pending" | "success" | "failure" | "error"; + /** @description The optional link added to the status. */ + target_url: string | null; + updated_at: string; + }; + /** parent issue added event */ + "webhook-sub-issues-parent-issue-added": { + /** @enum {string} */ + action: "parent_issue_added"; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + parent_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** parent issue removed event */ + "webhook-sub-issues-parent-issue-removed": { + /** @enum {string} */ + action: "parent_issue_removed"; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + parent_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** sub-issue added event */ + "webhook-sub-issues-sub-issue-added": { + /** @enum {string} */ + action: "sub_issue_added"; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + sub_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** sub-issue removed event */ + "webhook-sub-issues-sub-issue-removed": { + /** @enum {string} */ + action: "sub_issue_removed"; + /** @description The ID of the sub-issue. */ + sub_issue_id: number; + sub_issue: components["schemas"]["issue"]; + sub_issue_repo: components["schemas"]["repository"]; + /** @description The ID of the parent issue. */ + parent_issue_id: number; + parent_issue: components["schemas"]["issue"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user"]; + }; + /** team_add event */ + "webhook-team-add": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + team: components["schemas"]["webhooks_team_1"]; + }; + /** team added_to_repository event */ + "webhook-team-added-to-repository": { + /** @enum {string} */ + action: "added_to_repository"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender?: components["schemas"]["simple-user"]; + team: components["schemas"]["webhooks_team_1"]; + }; + /** team created event */ + "webhook-team-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender: components["schemas"]["simple-user"]; + team: components["schemas"]["webhooks_team_1"]; + }; + /** team deleted event */ + "webhook-team-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender?: components["schemas"]["simple-user"]; + team: components["schemas"]["webhooks_team_1"]; + }; + /** team edited event */ + "webhook-team-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the team if the action was `edited`. */ + changes: { + description?: { + /** @description The previous version of the description if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The previous version of the name if the action was `edited`. */ + from: string; + }; + privacy?: { + /** @description The previous version of the team's privacy if the action was `edited`. */ + from: string; + }; + notification_setting?: { + /** @description The previous version of the team's notification setting if the action was `edited`. */ + from: string; + }; + repository?: { + permissions: { + from: { + /** @description The previous version of the team member's `admin` permission on a repository, if the action was `edited`. */ + admin?: boolean; + /** @description The previous version of the team member's `pull` permission on a repository, if the action was `edited`. */ + pull?: boolean; + /** @description The previous version of the team member's `push` permission on a repository, if the action was `edited`. */ + push?: boolean; + }; + }; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender: components["schemas"]["simple-user"]; + team: components["schemas"]["webhooks_team_1"]; + }; + /** team removed_from_repository event */ + "webhook-team-removed-from-repository": { + /** @enum {string} */ + action: "removed_from_repository"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge?: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge?: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The custom properties that were defined for the repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge?: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the repository + */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: number | string | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender: components["schemas"]["simple-user"]; + team: components["schemas"]["webhooks_team_1"]; + }; + /** watch started event */ + "webhook-watch-started": { + /** @enum {string} */ + action: "started"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + }; + /** workflow_dispatch event */ + "webhook-workflow-dispatch": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + inputs: { + [key: string]: unknown; + } | null; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow: string; + }; + /** workflow_job completed event */ + "webhook-workflow-job-completed": { + /** @enum {string} */ + action: "completed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow_job: { + /** Format: uri */ + check_run_url: string; + completed_at: string | null; + /** @enum {string|null} */ + conclusion: + | "success" + | "failure" + | null + | "skipped" + | "cancelled" + | "action_required" + | "neutral" + | "timed_out"; + /** @description The time that the job created. */ + created_at: string; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** @description Custom labels for the job. Specified by the [`"runs-on"` attribute](https://docs.github.com/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) in the workflow YAML. */ + labels: string[]; + name: string; + node_id: string; + run_attempt: number; + run_id: number; + /** Format: uri */ + run_url: string; + /** @description The ID of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_id: number | null; + /** @description The name of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_name: string | null; + /** @description The ID of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_id: number | null; + /** @description The name of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_name: string | null; + started_at: string; + /** + * @description The current status of the job. Can be `queued`, `in_progress`, `waiting`, or `completed`. + * @enum {string} + */ + status: "queued" | "in_progress" | "completed" | "waiting"; + /** @description The name of the current branch. */ + head_branch: string | null; + /** @description The name of the workflow. */ + workflow_name: string | null; + steps: { + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "failure" | "skipped" | "success" | "cancelled" | null; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "in_progress" | "completed" | "queued"; + }[]; + /** Format: uri */ + url: string; + } & { + check_run_url?: string; + completed_at?: string; + /** @enum {string} */ + conclusion: + | "success" + | "failure" + | "skipped" + | "cancelled" + | "action_required" + | "neutral" + | "timed_out"; + /** @description The time that the job created. */ + created_at?: string; + head_sha?: string; + html_url?: string; + id?: number; + labels?: (string | null)[]; + name?: string; + node_id?: string; + run_attempt?: number; + run_id?: number; + run_url?: string; + runner_group_id?: number | null; + runner_group_name?: string | null; + runner_id?: number | null; + runner_name?: string | null; + started_at?: string; + status?: string; + /** @description The name of the current branch. */ + head_branch?: string | null; + /** @description The name of the workflow. */ + workflow_name?: string | null; + steps?: (Record | null)[]; + url?: string; + }; + deployment?: components["schemas"]["deployment"]; + }; + /** workflow_job in_progress event */ + "webhook-workflow-job-in-progress": { + /** @enum {string} */ + action: "in_progress"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow_job: { + /** Format: uri */ + check_run_url: string; + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "success" | "failure" | null | "cancelled" | "neutral"; + /** @description The time that the job created. */ + created_at: string; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** @description Custom labels for the job. Specified by the [`"runs-on"` attribute](https://docs.github.com/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) in the workflow YAML. */ + labels: string[]; + name: string; + node_id: string; + run_attempt: number; + run_id: number; + /** Format: uri */ + run_url: string; + /** @description The ID of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_id: number | null; + /** @description The name of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_name: string | null; + /** @description The ID of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_id: number | null; + /** @description The name of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_name: string | null; + started_at: string; + /** + * @description The current status of the job. Can be `queued`, `in_progress`, or `completed`. + * @enum {string} + */ + status: "queued" | "in_progress" | "completed"; + /** @description The name of the current branch. */ + head_branch: string | null; + /** @description The name of the workflow. */ + workflow_name: string | null; + steps: { + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "failure" | "skipped" | "success" | null | "cancelled"; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "in_progress" | "completed" | "queued" | "pending"; + }[]; + /** Format: uri */ + url: string; + } & { + check_run_url?: string; + completed_at?: string | null; + conclusion?: string | null; + /** @description The time that the job created. */ + created_at?: string; + head_sha?: string; + html_url?: string; + id?: number; + labels?: string[]; + name?: string; + node_id?: string; + run_attempt?: number; + run_id?: number; + run_url?: string; + runner_group_id?: number | null; + runner_group_name?: string | null; + runner_id?: number | null; + runner_name?: string | null; + started_at?: string; + /** @enum {string} */ + status: "in_progress" | "completed" | "queued"; + /** @description The name of the current branch. */ + head_branch?: string | null; + /** @description The name of the workflow. */ + workflow_name?: string | null; + steps: { + completed_at: string | null; + conclusion: string | null; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "in_progress" | "completed" | "pending" | "queued"; + }[]; + url?: string; + }; + deployment?: components["schemas"]["deployment"]; + }; + /** workflow_job queued event */ + "webhook-workflow-job-queued": { + /** @enum {string} */ + action: "queued"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow_job: { + /** Format: uri */ + check_run_url: string; + completed_at: string | null; + conclusion: string | null; + /** @description The time that the job created. */ + created_at: string; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + labels: string[]; + name: string; + node_id: string; + run_attempt: number; + run_id: number; + /** Format: uri */ + run_url: string; + runner_group_id: number | null; + runner_group_name: string | null; + runner_id: number | null; + runner_name: string | null; + /** Format: date-time */ + started_at: string; + /** @enum {string} */ + status: "queued" | "in_progress" | "completed" | "waiting"; + /** @description The name of the current branch. */ + head_branch: string | null; + /** @description The name of the workflow. */ + workflow_name: string | null; + steps: { + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "failure" | "skipped" | "success" | "cancelled" | null; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "completed" | "in_progress" | "queued" | "pending"; + }[]; + /** Format: uri */ + url: string; + }; + deployment?: components["schemas"]["deployment"]; + }; + /** workflow_job waiting event */ + "webhook-workflow-job-waiting": { + /** @enum {string} */ + action: "waiting"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow_job: { + /** Format: uri */ + check_run_url: string; + completed_at: string | null; + conclusion: string | null; + /** @description The time that the job created. */ + created_at: string; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + labels: string[]; + name: string; + node_id: string; + run_attempt: number; + run_id: number; + /** Format: uri */ + run_url: string; + runner_group_id: number | null; + runner_group_name: string | null; + runner_id: number | null; + runner_name: string | null; + /** Format: date-time */ + started_at: string; + /** @description The name of the current branch. */ + head_branch: string | null; + /** @description The name of the workflow. */ + workflow_name: string | null; + /** @enum {string} */ + status: "queued" | "in_progress" | "completed" | "waiting"; + steps: { + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "failure" | "skipped" | "success" | "cancelled" | null; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: + | "completed" + | "in_progress" + | "queued" + | "pending" + | "waiting"; + }[]; + /** Format: uri */ + url: string; + }; + deployment?: components["schemas"]["deployment"]; + }; + /** workflow_run completed event */ + "webhook-workflow-run-completed": { + /** @enum {string} */ + action: "completed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow: components["schemas"]["webhooks_workflow"]; + /** Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: uri */ + artifacts_url: string; + /** Format: uri */ + cancel_url: string; + check_suite_id: number; + check_suite_node_id: string; + /** Format: uri */ + check_suite_url: string; + /** @enum {string|null} */ + conclusion: + | "action_required" + | "cancelled" + | "failure" + | "neutral" + | "skipped" + | "stale" + | "success" + | "timed_out" + | "startup_failure" + | null; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** Repository Lite */ + head_repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + jobs_url: string; + /** Format: uri */ + logs_url: string; + name: string | null; + node_id: string; + path: string; + /** Format: uri */ + previous_attempt_url: string | null; + pull_requests: ({ + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + } | null)[]; + referenced_workflows?: + | { + path: string; + ref?: string; + sha: string; + }[] + | null; + /** Repository Lite */ + repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + rerun_url: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: + | "requested" + | "in_progress" + | "completed" + | "queued" + | "pending" + | "waiting"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + /** Format: uri */ + workflow_url: string; + /** + * @description The event-specific title associated with the run or the run-name if set, or the value of `run-name` if it is set in the workflow. + * @example Simple Workflow + */ + display_title?: string; + }; + }; + /** workflow_run in_progress event */ + "webhook-workflow-run-in-progress": { + /** @enum {string} */ + action: "in_progress"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow: components["schemas"]["webhooks_workflow"]; + /** Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + artifacts_url: string; + /** Format: uri */ + cancel_url: string; + check_suite_id: number; + check_suite_node_id: string; + /** Format: uri */ + check_suite_url: string; + /** @enum {string|null} */ + conclusion: + | "action_required" + | "cancelled" + | "failure" + | "neutral" + | "skipped" + | "stale" + | "success" + | "timed_out" + | null; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** Repository Lite */ + head_repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string | null; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + jobs_url: string; + /** Format: uri */ + logs_url: string; + name: string | null; + node_id: string; + path: string; + /** Format: uri */ + previous_attempt_url: string | null; + pull_requests: ({ + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + } | null)[]; + referenced_workflows?: + | { + path: string; + ref?: string; + sha: string; + }[] + | null; + /** Repository Lite */ + repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + rerun_url: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: + | "requested" + | "in_progress" + | "completed" + | "queued" + | "pending"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + /** Format: uri */ + workflow_url: string; + }; + }; + /** workflow_run requested event */ + "webhook-workflow-run-requested": { + /** @enum {string} */ + action: "requested"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user"]; + workflow: components["schemas"]["webhooks_workflow"]; + /** Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: uri */ + artifacts_url: string; + /** Format: uri */ + cancel_url: string; + check_suite_id: number; + check_suite_node_id: string; + /** Format: uri */ + check_suite_url: string; + /** @enum {string|null} */ + conclusion: + | "success" + | "failure" + | "neutral" + | "cancelled" + | "timed_out" + | "action_required" + | "stale" + | null + | "skipped" + | "startup_failure"; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** Repository Lite */ + head_repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + jobs_url: string; + /** Format: uri */ + logs_url: string; + name: string | null; + node_id: string; + path: string; + /** Format: uri */ + previous_attempt_url: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: + | { + path: string; + ref?: string; + sha: string; + }[] + | null; + /** Repository Lite */ + repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + rerun_url: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: + | "requested" + | "in_progress" + | "completed" + | "queued" + | "pending" + | "waiting"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + user_view_type?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + /** Format: uri */ + workflow_url: string; + display_title: string; + }; + }; + }; + responses: { + /** @description Validation failed, or the endpoint has been spammed. */ + validation_failed_simple: { + content: { + "application/json": components["schemas"]["validation-error-simple"]; + }; + }; + /** @description Resource not found */ + not_found: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Bad Request */ + bad_request: { + content: { + "application/json": components["schemas"]["basic-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; + }; + /** @description Validation failed, or the endpoint has been spammed. */ + validation_failed: { + content: { + "application/json": components["schemas"]["validation-error"]; + }; + }; + /** @description Accepted */ + accepted: { + content: { + "application/json": Record; + }; + }; + /** @description Not modified */ + not_modified: { + content: never; + }; + /** @description Requires authentication */ + requires_authentication: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Forbidden */ + forbidden: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Conflict */ + conflict: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description A header with no content is returned. */ + no_content: { + content: never; + }; + /** @description Service unavailable */ + service_unavailable: { + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + }; + }; + }; + /** @description Forbidden Gist */ + forbidden_gist: { + content: { + "application/json": { + block?: { + reason?: string; + created_at?: string; + html_url?: string | null; + }; + message?: string; + documentation_url?: string; + }; + }; + }; + /** @description Moved permanently */ + moved_permanently: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Billing usage report response for an organization */ + billing_usage_report_org: { + content: { + "application/json": components["schemas"]["billing-usage-report"]; + }; + }; + /** @description Internal Error */ + internal_error: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response */ + actions_runner_jitconfig: { + content: { + "application/json": { + runner: components["schemas"]["runner"]; + /** @description The base64 encoded runner configuration. */ + encoded_jit_config: string; + }; + }; + }; + /** @description Response */ + actions_runner_labels: { + content: { + "application/json": { + total_count: number; + labels: components["schemas"]["runner-label"][]; + }; + }; + }; + /** @description Response */ + actions_runner_labels_readonly: { + content: { + "application/json": { + total_count: number; + labels: components["schemas"]["runner-label"][]; + }; + }; + }; + /** @description Copilot Usage Merics API setting is disabled at the organization or enterprise level. */ + usage_metrics_api_disabled: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description The value of `per_page` multiplied by `page` cannot be greater than 10000. */ + package_es_list_error: { + content: never; + }; + /** @description Gone */ + gone: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Temporary Redirect */ + temporary_redirect: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response if GitHub Advanced Security is not enabled for this repository */ + code_scanning_forbidden_read: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response if the repository is archived or if GitHub Advanced Security is not enabled for this repository */ + code_scanning_forbidden_write: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Bad Request */ + code_scanning_bad_request: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response if the repository is archived, if GitHub Advanced Security is not enabled for this repository or if rate limit is exceeded */ + code_scanning_autofix_create_forbidden: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Found */ + found: { + content: never; + }; + /** @description Response if there is already a validation run in progress with a different default setup configuration */ + code_scanning_conflict: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response for a private repository when GitHub Advanced Security is not enabled, or if used against a fork */ + dependency_review_forbidden: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Unavailable due to service under maintenance. */ + porter_maintenance: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Unacceptable */ + unacceptable: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + parameters: { + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + "pagination-before"?: string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + "pagination-after"?: string; + /** @description The direction to sort the results by. */ + direction?: "asc" | "desc"; + /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ + ghsa_id: string; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + "per-page"?: number; + /** @description Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ + cursor?: string; + "delivery-id": number; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: number; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: string; + /** @description The unique identifier of the installation. */ + "installation-id": number; + /** @description The client ID of the GitHub app. */ + "client-id": string; + "app-slug": string; + /** @description The unique identifier of the classroom assignment. */ + "assignment-id": number; + /** @description The unique identifier of the classroom. */ + "classroom-id": number; + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: string; + /** @description The unique identifier of the code security configuration. */ + "configuration-id": number; + /** + * @description A comma-separated list of states. If specified, only alerts with these states will be returned. + * + * Can be: `auto_dismissed`, `dismissed`, `fixed`, `open` + */ + "dependabot-alert-comma-separated-states"?: string; + /** + * @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. + * + * Can be: `low`, `medium`, `high`, `critical` + */ + "dependabot-alert-comma-separated-severities"?: string; + /** + * @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. + * + * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust` + */ + "dependabot-alert-comma-separated-ecosystems"?: string; + /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ + "dependabot-alert-comma-separated-packages"?: string; + /** + * @description CVE Exploit Prediction Scoring System (EPSS) percentage. Can be specified as: + * - An exact number (`n`) + * - Comparators such as `>n`, `=n`, `<=n` + * - A range like `n..n`, where `n` is a number from 0.0 to 1.0 + * + * Filters the list of alerts based on EPSS percentages. If specified, only alerts with the provided EPSS percentages will be returned. + */ + "dependabot-alert-comma-separated-epss"?: string; + /** @description The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. */ + "dependabot-alert-scope"?: "development" | "runtime"; + /** + * @description The property by which to sort the results. + * `created` means when the alert was created. + * `updated` means when the alert's state last changed. + * `epss_percentage` sorts alerts by the Exploit Prediction Scoring System (EPSS) percentage. + */ + "dependabot-alert-sort"?: "created" | "updated" | "epss_percentage"; + /** + * @description **Deprecated**. The number of results per page (max 100), starting from the first matching result. + * This parameter must not be used in combination with `last`. + * Instead, use `per_page` in combination with `after` to fetch the first page of results. + */ + "pagination-first"?: number; + /** + * @description **Deprecated**. The number of results per page (max 100), starting from the last matching result. + * This parameter must not be used in combination with `first`. + * Instead, use `per_page` in combination with `before` to fetch the last page of results. + */ + "pagination-last"?: number; + /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + "secret-scanning-alert-state"?: "open" | "resolved"; + /** @description A comma-separated list of secret types to return. All default secret patterns are returned. To return generic patterns, pass the token name(s) in the parameter. See "[Supported secret scanning patterns](https://docs.github.com/enterprise-cloud@latest/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)" for a complete list of secret types. */ + "secret-scanning-alert-secret-type"?: string; + /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + "secret-scanning-alert-resolution"?: string; + /** @description The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ + "secret-scanning-alert-sort"?: "created" | "updated"; + /** @description A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`. */ + "secret-scanning-alert-validity"?: string; + /** @description A boolean value representing whether or not to filter alerts by the publicly-leaked tag being present. */ + "secret-scanning-alert-publicly-leaked"?: boolean; + /** @description A boolean value representing whether or not to filter alerts by the multi-repo tag being present. */ + "secret-scanning-alert-multi-repo"?: boolean; + /** @description The unique identifier of the gist. */ + "gist-id": string; + /** @description The unique identifier of the comment. */ + "comment-id": number; + /** @description A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: string; + /** @description account_id parameter */ + "account-id": number; + /** @description The unique identifier of the plan. */ + "plan-id": number; + /** @description The property to sort the results by. */ + sort?: "created" | "updated"; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: string; + /** @description If `true`, show notifications marked as read. */ + all?: boolean; + /** @description If `true`, only shows notifications in which the user is directly participating or mentioned. */ + participating?: boolean; + /** @description Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + before?: string; + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + "thread-id": number; + /** @description An organization ID. Only return organizations with an ID greater than this ID. */ + "since-org"?: number; + /** @description The organization name. The name is not case sensitive. */ + org: string; + /** @description If specified, only return results for a single year. The value of `year` is an integer with four digits representing a year. For example, `2025`. Default value is the current year. */ + "billing-usage-report-year"?: number; + /** @description If specified, only return results for a single month. The value of `month` is an integer between `1` and `12`. If no year is specified the default `year` is used. */ + "billing-usage-report-month"?: number; + /** @description If specified, only return results for a single day. The value of `day` is an integer between `1` and `31`. If no `year` or `month` is specified, the default `year` and `month` are used. */ + "billing-usage-report-day"?: number; + /** @description If specified, only return results for a single hour. The value of `hour` is an integer between `0` and `23`. If no `year`, `month`, or `day` is specified, the default `year`, `month`, and `day` are used. */ + "billing-usage-report-hour"?: number; + /** @description Unique identifier of the GitHub-hosted runner. */ + "hosted-runner-id": number; + /** @description The unique identifier of the repository. */ + "repository-id": number; + /** @description Only return runner groups that are allowed to be used by this repository. */ + "visible-to-repository"?: string; + /** @description Unique identifier of the self-hosted runner group. */ + "runner-group-id": number; + /** @description Unique identifier of the self-hosted runner. */ + "runner-id": number; + /** @description The name of a self-hosted runner's custom label. */ + "runner-label-name": string; + /** @description The name of the secret. */ + "secret-name": string; + /** @description The number of results per page (max 30). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + "variables-per-page"?: number; + /** @description The name of the variable. */ + "variable-name": string; + /** @description The handle for the GitHub user account. */ + username: string; + /** @description The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + "tool-name"?: components["schemas"]["code-scanning-analysis-tool-name"]; + /** @description The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + "tool-guid"?: components["schemas"]["code-scanning-analysis-tool-guid"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + "hook-id": number; + /** @description The type of the actor */ + "api-insights-actor-type": + | "installation" + | "classic_pat" + | "fine_grained_pat" + | "oauth_app" + | "github_app_user_to_server"; + /** @description The ID of the actor */ + "api-insights-actor-id": number; + /** @description The minimum timestamp to query for stats. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "api-insights-min-timestamp": string; + /** @description The maximum timestamp to query for stats. Defaults to the time 30 days ago. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "api-insights-max-timestamp"?: string; + /** @description The property to sort the results by. */ + "api-insights-route-stats-sort"?: ( + | "last_rate_limited_timestamp" + | "last_request_timestamp" + | "rate_limited_request_count" + | "http_method" + | "api_route" + | "total_request_count" + )[]; + /** @description Providing a substring will filter results where the API route contains the substring. This is a case-insensitive search. */ + "api-insights-api-route-substring"?: string; + /** @description The property to sort the results by. */ + "api-insights-sort"?: ( + | "last_rate_limited_timestamp" + | "last_request_timestamp" + | "rate_limited_request_count" + | "subject_name" + | "total_request_count" + )[]; + /** @description Providing a substring will filter results where the subject name contains the substring. This is a case-insensitive search. */ + "api-insights-subject-name-substring"?: string; + /** @description The ID of the user to query for stats */ + "api-insights-user-id": string; + /** @description The increment of time used to breakdown the query results (5m, 10m, 1h, etc.) */ + "api-insights-timestamp-increment": string; + /** @description Providing a substring will filter results where the actor name contains the substring. This is a case-insensitive search. */ + "api-insights-actor-name-substring"?: string; + /** @description The unique identifier of the invitation. */ + "invitation-id": number; + /** @description The unique identifier of the issue type. */ + "issue-type-id": number; + /** @description The name of the codespace. */ + "codespace-name": string; + /** @description The unique identifier of the migration. */ + "migration-id": number; + /** @description repo_name parameter */ + "repo-name": string; + /** @description The slug of the team name. */ + "team-slug": string; + /** @description The unique identifier of the role. */ + "role-id": number; + /** + * @description The selected visibility of the packages. This parameter is optional and only filters an existing result set. + * + * The `internal` visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystems `internal` is synonymous with `private`. + * For the list of GitHub Packages registries that support granular permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + */ + "package-visibility"?: "public" | "private" | "internal"; + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + "package-type": + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + /** @description The name of the package. */ + "package-name": string; + /** @description Unique identifier of the package version. */ + "package-version-id": number; + /** @description The property by which to sort the results. */ + "personal-access-token-sort"?: "created_at"; + /** @description A list of owner usernames to use to filter the results. */ + "personal-access-token-owner"?: string[]; + /** @description The name of the repository to use to filter the results. */ + "personal-access-token-repository"?: string; + /** @description The permission to use to filter the results. */ + "personal-access-token-permission"?: string; + /** @description Only show fine-grained personal access tokens used before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "personal-access-token-before"?: string; + /** @description Only show fine-grained personal access tokens used after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "personal-access-token-after"?: string; + /** @description The ID of the token */ + "personal-access-token-token-id"?: string[]; + /** @description The unique identifier of the fine-grained personal access token. */ + "fine-grained-personal-access-token-id": number; + /** @description The custom property name */ + "custom-property-name": string; + /** + * @description A comma-separated list of rule targets to filter by. + * If provided, only rulesets that apply to the specified targets will be returned. + * For example, `branch,tag,push`. + */ + "ruleset-targets"?: string; + /** @description The name of the ref. Cannot contain wildcard characters. Optionally prefix with `refs/heads/` to limit to branches or `refs/tags/` to limit to tags. Omit the prefix to search across all refs. When specified, only rule evaluations triggered for this ref will be returned. */ + "ref-in-query"?: string; + /** @description The name of the repository to filter on. */ + "repository-name-in-query"?: string; + /** + * @description The time period to filter by. + * + * For example, `day` will filter for rule suites that occurred in the past 24 hours, and `week` will filter for insights that occurred in the past 7 days (168 hours). + */ + "time-period"?: "hour" | "day" | "week" | "month"; + /** @description The handle for the GitHub user account to filter on. When specified, only rule evaluations triggered by this actor will be returned. */ + "actor-name-in-query"?: string; + /** @description The rule results to filter on. When specified, only suites with this result will be returned. */ + "rule-suite-result"?: "pass" | "fail" | "bypass" | "all"; + /** + * @description The unique identifier of the rule suite result. + * To get this ID, you can use [GET /repos/{owner}/{repo}/rulesets/rule-suites](https://docs.github.com/rest/repos/rule-suites#list-repository-rule-suites) + * for repositories and [GET /orgs/{org}/rulesets/rule-suites](https://docs.github.com/rest/orgs/rule-suites#list-organization-rule-suites) + * for organizations. + */ + "rule-suite-id": number; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty "before" query string. */ + "secret-scanning-pagination-before-org-repo"?: string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty "after" query string. */ + "secret-scanning-pagination-after-org-repo"?: string; + /** @description Unique identifier of the hosted compute network configuration. */ + "network-configuration-id": string; + /** @description Unique identifier of the hosted compute network settings. */ + "network-settings-id": string; + /** @description The number that identifies the discussion. */ + "discussion-number": number; + /** @description The number that identifies the comment. */ + "comment-number": number; + /** @description The unique identifier of the reaction. */ + "reaction-id": number; + /** @description The unique identifier of the project. */ + "project-id": number; + /** @description The security feature to enable or disable. */ + "security-product": + | "dependency_graph" + | "dependabot_alerts" + | "dependabot_security_updates" + | "advanced_security" + | "code_scanning_default_setup" + | "secret_scanning" + | "secret_scanning_push_protection"; + /** + * @description The action to take. + * + * `enable_all` means to enable the specified security feature for all repositories in the organization. + * `disable_all` means to disable the specified security feature for all repositories in the organization. + */ + "org-security-product-enablement": "enable_all" | "disable_all"; + /** @description The unique identifier of the card. */ + "card-id": number; + /** @description The unique identifier of the column. */ + "column-id": number; + /** @description The name field of an artifact. When specified, only artifacts with this name will be returned. */ + "artifact-name"?: string; + /** @description The unique identifier of the artifact. */ + "artifact-id": number; + /** @description The full Git reference for narrowing down the cache. The `ref` for a branch should be formatted as `refs/heads/`. To reference a pull request use `refs/pull//merge`. */ + "actions-cache-git-ref-full"?: string; + /** @description An explicit key or prefix for identifying the cache */ + "actions-cache-key"?: string; + /** @description The property to sort the results by. `created_at` means when the cache was created. `last_accessed_at` means when the cache was last accessed. `size_in_bytes` is the size of the cache in bytes. */ + "actions-cache-list-sort"?: + | "created_at" + | "last_accessed_at" + | "size_in_bytes"; + /** @description A key for identifying the cache. */ + "actions-cache-key-required": string; + /** @description The unique identifier of the GitHub Actions cache. */ + "cache-id": number; + /** @description The unique identifier of the job. */ + "job-id": number; + /** @description Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ + actor?: string; + /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + "workflow-run-branch"?: string; + /** @description Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event?: string; + /** @description Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub Actions can set a status of `waiting`, `pending`, or `requested`. */ + "workflow-run-status"?: + | "completed" + | "action_required" + | "cancelled" + | "failure" + | "neutral" + | "skipped" + | "stale" + | "success" + | "timed_out" + | "in_progress" + | "queued" + | "requested" + | "waiting" + | "pending"; + /** @description Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + created?: string; + /** @description If `true` pull requests are omitted from the response (empty array). */ + "exclude-pull-requests"?: boolean; + /** @description Returns workflow runs with the `check_suite_id` that you specify. */ + "workflow-run-check-suite-id"?: number; + /** @description Only returns workflow runs that are associated with the specified `head_sha`. */ + "workflow-run-head-sha"?: string; + /** @description The unique identifier of the workflow run. */ + "run-id": number; + /** @description The attempt number of the workflow run. */ + "attempt-number": number; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + "workflow-id": number | string; + /** @description The unique identifier of the autolink. */ + "autolink-id": number; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: string; + /** @description The unique identifier of the check run. */ + "check-run-id": number; + /** @description The unique identifier of the check suite. */ + "check-suite-id": number; + /** @description Returns check runs with the specified `name`. */ + "check-name"?: string; + /** @description Returns check runs with the specified `status`. */ + status?: "queued" | "in_progress" | "completed"; + /** @description The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + "git-ref"?: components["schemas"]["code-scanning-ref"]; + /** @description The number of the pull request for the results you want to list. */ + "pr-alias"?: number; + /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + "alert-number": components["schemas"]["alert-number"]; + /** @description The SHA of the commit. */ + "commit-sha": string; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + "commit-ref": string; + /** @description A comma-separated list of full manifest paths. If specified, only alerts for these manifests will be returned. */ + "dependabot-alert-comma-separated-manifests"?: string; + /** + * @description The number that identifies a Dependabot alert in its repository. + * You can find this at the end of the URL for a Dependabot alert within GitHub, + * or in `number` fields in the response from the + * `GET /repos/{owner}/{repo}/dependabot/alerts` operation. + */ + "dependabot-alert-number": components["schemas"]["alert-number"]; + /** @description The full path, relative to the repository root, of the dependency manifest file. */ + "manifest-path"?: string; + /** @description deployment_id parameter */ + "deployment-id": number; + /** @description The name of the environment. The name must be URL encoded. For example, any slashes in the name must be replaced with `%2F`. */ + "environment-name": string; + /** @description The unique identifier of the branch policy. */ + "branch-policy-id": number; + /** @description The unique identifier of the protection rule. */ + "protection-rule-id": number; + /** + * @description The Git reference. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + * @example heads/feature-a + */ + "git-ref-only": string; + /** @description A user ID. Only return users with an ID greater than this ID. */ + "since-user"?: number; + /** @description The number that identifies the issue. */ + "issue-number": number; + /** @description The unique identifier of the key. */ + "key-id": number; + /** @description The number that identifies the milestone. */ + "milestone-number": number; + /** @description The ID of the Pages deployment. You can also give the commit SHA of the deployment. */ + "pages-deployment-id": number | string; + /** @description The number that identifies the pull request. */ + "pull-number": number; + /** @description The unique identifier of the review. */ + "review-id": number; + /** @description The unique identifier of the asset. */ + "asset-id": number; + /** @description The unique identifier of the release. */ + "release-id": number; + /** @description The unique identifier of the tag protection. */ + "tag-protection-id": number; + /** @description The time frame to display results for. */ + per?: "day" | "week"; + /** @description A repository ID. Only return repositories with an ID greater than this ID. */ + "since-repo"?: number; + /** @description Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: "desc" | "asc"; + /** + * @description Set to `true` to use advanced search. + * Example: `http://api.github.com/search/issues?q={query}&advanced_search=true` + */ + "issues-advanced-search"?: string; + /** @description The unique identifier of the team. */ + "team-id": number; + /** @description ID of the Repository to filter on */ + "repository-id-in-query"?: number; + /** @description The ID of the export operation, or `latest`. Currently only `latest` is currently supported. */ + "export-id": string; + /** @description The unique identifier of the GPG key. */ + "gpg-key-id": number; + /** @description Only show repositories updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "since-repo-date"?: string; + /** @description Only show repositories updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "before-repo-date"?: string; + /** @description The unique identifier of the SSH signing key. */ + "ssh-signing-key-id": number; + /** @description The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + "sort-starred"?: "created" | "updated"; + }; + requestBodies: never; + headers: { + /** @example ; rel="next", ; rel="last" */ + link: string; + /** @example text/html */ + "content-type": string; + /** @example 0.17.4 */ + "x-common-marker-version": string; + /** @example 5000 */ + "x-rate-limit-limit": number; + /** @example 4999 */ + "x-rate-limit-remaining": number; + /** @example 1590701888 */ + "x-rate-limit-reset": number; + /** @example https://pipelines.actions.githubusercontent.com/OhgS4QRKqmgx7bKC27GKU83jnQjyeqG8oIMTge8eqtheppcmw8/_apis/pipelines/1/runs/176/signedlogcontent?urlExpires=2020-01-24T18%3A10%3A31.5729946Z&urlSigningMethod=HMACV1&urlSignature=agG73JakPYkHrh06seAkvmH7rBR4Ji4c2%2B6a2ejYh3E%3D */ + location: string; + }; + pathItems: never; +} + +export type $defs = Record; + +export type external = Record; + +export interface operations { + /** + * GitHub API Root + * @description Get Hypermedia links to resources accessible in GitHub's REST API + */ + "meta/root": { + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["root"]; + }; + }; + }; + }; + /** + * List global security advisories + * @description Lists all global security advisories that match the specified parameters. If no other parameters are defined, the request will return only GitHub-reviewed advisories that are not malware. + * + * By default, all responses will exclude advisories for malware, because malware are not standard vulnerabilities. To list advisories for malware, you must include the `type` parameter in your request, with the value `malware`. For more information about the different types of security advisories, see "[About the GitHub Advisory database](https://docs.github.com/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database#about-types-of-security-advisories)." + */ + "security-advisories/list-global-advisories": { + parameters: { + query?: { + /** @description If specified, only advisories with this GHSA (GitHub Security Advisory) identifier will be returned. */ + ghsa_id?: string; + /** @description If specified, only advisories of this type will be returned. By default, a request with no other parameters defined will only return reviewed advisories that are not malware. */ + type?: "reviewed" | "malware" | "unreviewed"; + /** @description If specified, only advisories with this CVE (Common Vulnerabilities and Exposures) identifier will be returned. */ + cve_id?: string; + /** @description If specified, only advisories for these ecosystems will be returned. */ + ecosystem?: components["schemas"]["security-advisory-ecosystems"]; + /** @description If specified, only advisories with these severities will be returned. */ + severity?: "unknown" | "low" | "medium" | "high" | "critical"; + /** + * @description If specified, only advisories with these Common Weakness Enumerations (CWEs) will be returned. + * + * Example: `cwes=79,284,22` or `cwes[]=79&cwes[]=284&cwes[]=22` + */ + cwes?: string | string[]; + /** @description Whether to only return advisories that have been withdrawn. */ + is_withdrawn?: boolean; + /** + * @description If specified, only return advisories that affect any of `package` or `package@version`. A maximum of 1000 packages can be specified. + * If the query parameter causes the URL to exceed the maximum URL length supported by your client, you must specify fewer packages. + * + * Example: `affects=package1,package2@1.0.0,package3@^2.0.0` or `affects[]=package1&affects[]=package2@1.0.0` + */ + affects?: string | string[]; + /** + * @description If specified, only return advisories that were published on a date or date range. + * + * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." + */ + published?: string; + /** + * @description If specified, only return advisories that were updated on a date or date range. + * + * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." + */ + updated?: string; + /** + * @description If specified, only show advisories that were updated or published on a date or date range. + * + * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." + */ + modified?: string; + /** + * @description If specified, only return advisories that have an EPSS percentage score that matches the provided value. + * The EPSS percentage represents the likelihood of a CVE being exploited. + */ + epss_percentage?: string; + /** + * @description If specified, only return advisories that have an EPSS percentile score that matches the provided value. + * The EPSS percentile represents the relative rank of the CVE's likelihood of being exploited compared to other CVEs. + */ + epss_percentile?: string; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + /** @description The property to sort the results by. */ + sort?: "updated" | "published" | "epss_percentage" | "epss_percentile"; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["global-advisory"][]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + /** @description Too many requests */ + 429: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * Get a global security advisory + * @description Gets a global security advisory using its GitHub Security Advisory (GHSA) identifier. + */ + "security-advisories/get-global-advisory": { + parameters: { + path: { + ghsa_id: components["parameters"]["ghsa_id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["global-advisory"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get the authenticated app + * @description Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/apps/apps#list-installations-for-the-authenticated-app)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-authenticated": { + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"]; + }; + }; + }; + }; + /** + * Create a GitHub App from a manifest + * @description Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. + */ + "apps/create-from-manifest": { + parameters: { + path: { + code: string; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["integration"] & { + client_id: string; + client_secret: string; + webhook_secret: string | null; + pem: string; + [key: string]: unknown; + }; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Get a webhook configuration for an app + * @description Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-webhook-config-for-app": { + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + /** + * Update a webhook configuration for an app + * @description Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/update-webhook-config-for-app": { + requestBody: { + content: { + "application/json": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + /** + * List deliveries for an app webhook + * @description Returns a list of webhook deliveries for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/list-webhook-deliveries": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + cursor?: components["parameters"]["cursor"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a delivery for an app webhook + * @description Returns a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-webhook-delivery": { + parameters: { + path: { + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Redeliver a delivery for an app webhook + * @description Redeliver a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/redeliver-webhook-delivery": { + parameters: { + path: { + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List installation requests for the authenticated app + * @description Lists all the pending installation requests for the authenticated GitHub App. + */ + "apps/list-installation-requests-for-authenticated-app": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description List of integration installation requests */ + 200: { + content: { + "application/json": components["schemas"]["integration-installation-request"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + }; + }; + /** + * List installations for the authenticated app + * @description You must use a [JWT](https://docs.github.com/enterprise-server@3.9/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * + * The permissions the installation has are included under the `permissions` key. + */ + "apps/list-installations": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + since?: components["parameters"]["since"]; + outdated?: string; + }; + }; + responses: { + /** @description The permissions the installation has are included under the `permissions` key. */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + /** + * @description The ID of the installation. + * @example 1 + */ + id: number; + account: + | ({ + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } & { + /** @description A short description of the enterprise. */ + description?: string | null; + /** + * Format: uri + * @example https://github.com/enterprises/octo-business + */ + html_url: string; + /** + * Format: uri + * @description The enterprise's website URL. + */ + website_url?: string | null; + /** + * @description Unique identifier of the enterprise + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the enterprise. + * @example Octo Business + */ + name: string; + /** + * @description The slug url identifier for the enterprise. + * @example octo-business + */ + slug: string; + /** + * Format: date-time + * @example 2019-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2019-01-26T19:14:43Z + */ + updated_at: string | null; + /** Format: uri */ + avatar_url: string; + }) + | null; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + repository_selection: "all" | "selected"; + /** + * Format: uri + * @example https://api.github.com/installations/1/access_tokens + */ + access_tokens_url: string; + /** + * Format: uri + * @example https://api.github.com/installation/repositories + */ + repositories_url: string; + /** + * Format: uri + * @example https://github.com/organizations/github/settings/installations/1 + */ + html_url: string; + /** @example 1 */ + app_id: number; + /** @description The ID of the user or organization this token is being scoped to. */ + target_id: number; + /** @example Organization */ + target_type: string; + /** + * App Permissions + * @description The permissions granted to the user access token. + * @example { + * "contents": "read", + * "issues": "read", + * "deployments": "write", + * "single_file": "read" + * } + */ + permissions: { + /** + * @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + * @enum {string} + */ + actions?: "read" | "write"; + /** + * @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + * @enum {string} + */ + administration?: "read" | "write"; + /** + * @description The level of permission to grant the access token for checks on code. + * @enum {string} + */ + checks?: "read" | "write"; + /** + * @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + * @enum {string} + */ + contents?: "read" | "write"; + /** + * @description The level of permission to grant the access token for deployments and deployment statuses. + * @enum {string} + */ + deployments?: "read" | "write"; + /** + * @description The level of permission to grant the access token for managing repository environments. + * @enum {string} + */ + environments?: "read" | "write"; + /** + * @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + * @enum {string} + */ + issues?: "read" | "write"; + /** + * @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + * @enum {string} + */ + metadata?: "read" | "write"; + /** + * @description The level of permission to grant the access token for packages published to GitHub Packages. + * @enum {string} + */ + packages?: "read" | "write"; + /** + * @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + * @enum {string} + */ + pages?: "read" | "write"; + /** + * @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + * @enum {string} + */ + pull_requests?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + * @enum {string} + */ + repository_hooks?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage repository projects, columns, and cards. + * @enum {string} + */ + repository_projects?: "read" | "write" | "admin"; + /** + * @description The level of permission to grant the access token to view and manage secret scanning alerts. + * @enum {string} + */ + secret_scanning_alerts?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage repository secrets. + * @enum {string} + */ + secrets?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + * @enum {string} + */ + security_events?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage just a single file. + * @enum {string} + */ + single_file?: "read" | "write"; + /** + * @description The level of permission to grant the access token for commit statuses. + * @enum {string} + */ + statuses?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage Dependabot alerts. + * @enum {string} + */ + vulnerability_alerts?: "read" | "write"; + /** + * @description The level of permission to grant the access token to update GitHub Actions workflow files. + * @enum {string} + */ + workflows?: "write"; + /** + * @description The level of permission to grant the access token for organization teams and members. + * @enum {string} + */ + members?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage access to an organization. + * @enum {string} + */ + organization_administration?: "read" | "write"; + /** + * @description The level of permission to grant the access token for custom repository roles management. This property is in beta and is subject to change. + * @enum {string} + */ + organization_custom_roles?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage announcement banners for an organization. + * @enum {string} + */ + organization_announcement_banners?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + * @enum {string} + */ + organization_hooks?: "read" | "write"; + /** + * @description The level of permission to grant the access token for viewing and managing fine-grained personal access token requests to an organization. + * @enum {string} + */ + organization_personal_access_tokens?: "read" | "write"; + /** + * @description The level of permission to grant the access token for viewing and managing fine-grained personal access tokens that have been approved by an organization. + * @enum {string} + */ + organization_personal_access_token_requests?: "read" | "write"; + /** + * @description The level of permission to grant the access token for viewing an organization's plan. + * @enum {string} + */ + organization_plan?: "read"; + /** + * @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + * @enum {string} + */ + organization_projects?: "read" | "write" | "admin"; + /** + * @description The level of permission to grant the access token for organization packages published to GitHub Packages. + * @enum {string} + */ + organization_packages?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage organization secrets. + * @enum {string} + */ + organization_secrets?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + * @enum {string} + */ + organization_self_hosted_runners?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage users blocked by the organization. + * @enum {string} + */ + organization_user_blocking?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage team discussions and related comments. + * @enum {string} + */ + team_discussions?: "read" | "write"; + }; + events: string[]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** + * @example [ + * "config.yml", + * ".github/issue_TEMPLATE.md" + * ] + */ + single_file_paths?: string[]; + /** @example github-actions */ + app_slug: string; + /** + * Simple User + * @description A GitHub user. + */ + suspended_by: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Format: date-time */ + suspended_at: string | null; + /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ + contact_email?: string | null; + }[]; + }; + }; + }; + }; + /** + * Get an installation for the authenticated app + * @description Enables an authenticated GitHub App to find an installation's information using the installation id. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-installation": { + parameters: { + path: { + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete an installation for the authenticated app + * @description Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/apps/apps#suspend-an-app-installation)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/delete-installation": { + parameters: { + path: { + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create an installation access token for an app + * @description Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. + * + * Optionally, you can use the `repositories` or `repository_ids` body parameters to specify individual repositories that the installation access token can access. If you don't use `repositories` or `repository_ids` to grant access to specific repositories, the installation access token will have access to all repositories that the installation was granted access to. The installation access token cannot be granted access to repositories that the installation was not granted access to. Up to 500 repositories can be listed in this manner. + * + * Optionally, use the `permissions` body parameter to specify the permissions that the installation access token should have. If `permissions` is not specified, the installation access token will have all of the permissions that were granted to the app. The installation access token cannot be granted permissions that the app was not granted. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/create-installation-access-token": { + parameters: { + path: { + installation_id: components["parameters"]["installation-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description List of repository names that the token should have access to */ + repositories?: string[]; + /** + * @description List of repository IDs that the token should have access to + * @example [ + * 1 + * ] + */ + repository_ids?: number[]; + permissions?: components["schemas"]["app-permissions"]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["installation-token"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Suspend an app installation + * @description Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/suspend-installation": { + parameters: { + path: { + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Unsuspend an app installation + * @description Removes a GitHub App installation suspension. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/unsuspend-installation": { + parameters: { + path: { + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete an app authorization + * @description OAuth and GitHub application owners can revoke a grant for their application and a specific user. You must provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. + * Deleting an application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ + "apps/delete-authorization": { + parameters: { + path: { + client_id: components["parameters"]["client-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The OAuth access token used to authenticate to the GitHub API. */ + access_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Check a token + * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. Invalid tokens will return `404 NOT FOUND`. + */ + "apps/check-token": { + parameters: { + path: { + client_id: components["parameters"]["client-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The access_token of the OAuth or GitHub application. */ + access_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Delete an app token + * @description OAuth or GitHub application owners can revoke a single token for an OAuth application or a GitHub application with an OAuth authorization. + */ + "apps/delete-token": { + parameters: { + path: { + client_id: components["parameters"]["client-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The OAuth access token used to authenticate to the GitHub API. */ + access_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Reset a token + * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. Invalid tokens will return `404 NOT FOUND`. + */ + "apps/reset-token": { + parameters: { + path: { + client_id: components["parameters"]["client-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The access_token of the OAuth or GitHub application. */ + access_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Create a scoped access token + * @description Use a non-scoped user access token to create a repository-scoped and/or permission-scoped user access token. You can specify + * which repositories the token can access and which permissions are granted to the + * token. + * + * Invalid tokens will return `404 NOT FOUND`. + */ + "apps/scope-token": { + parameters: { + path: { + client_id: components["parameters"]["client-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The access token used to authenticate to the GitHub API. + * @example e72e16c7e42f292c6912e7710c838347ae178b4a + */ + access_token: string; + /** + * @description The name of the user or organization to scope the user access token to. **Required** unless `target_id` is specified. + * @example octocat + */ + target?: string; + /** + * @description The ID of the user or organization to scope the user access token to. **Required** unless `target` is specified. + * @example 1 + */ + target_id?: number; + /** @description The list of repository names to scope the user access token to. `repositories` may not be specified if `repository_ids` is specified. */ + repositories?: string[]; + /** + * @description The list of repository IDs to scope the user access token to. `repository_ids` may not be specified if `repositories` is specified. + * @example [ + * 1 + * ] + */ + repository_ids?: number[]; + permissions?: components["schemas"]["app-permissions"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get an app + * @description > [!NOTE] + * > The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). + */ + "apps/get-by-slug": { + parameters: { + path: { + app_slug: components["parameters"]["app-slug"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get an assignment + * @description Gets a GitHub Classroom assignment. Assignment will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + "classroom/get-an-assignment": { + parameters: { + path: { + assignment_id: components["parameters"]["assignment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["classroom-assignment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List accepted assignments for an assignment + * @description Lists any assignment repositories that have been created by students accepting a GitHub Classroom assignment. Accepted assignments will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + "classroom/list-accepted-assignments-for-an-assignment": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + assignment_id: components["parameters"]["assignment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["classroom-accepted-assignment"][]; + }; + }; + }; + }; + /** + * Get assignment grades + * @description Gets grades for a GitHub Classroom assignment. Grades will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + "classroom/get-assignment-grades": { + parameters: { + path: { + assignment_id: components["parameters"]["assignment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["classroom-assignment-grade"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List classrooms + * @description Lists GitHub Classroom classrooms for the current user. Classrooms will only be returned if the current user is an administrator of one or more GitHub Classrooms. + */ + "classroom/list-classrooms": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-classroom"][]; + }; + }; + }; + }; + /** + * Get a classroom + * @description Gets a GitHub Classroom classroom for the current user. Classroom will only be returned if the current user is an administrator of the GitHub Classroom. + */ + "classroom/get-a-classroom": { + parameters: { + path: { + classroom_id: components["parameters"]["classroom-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["classroom"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List assignments for a classroom + * @description Lists GitHub Classroom assignments for a classroom. Assignments will only be returned if the current user is an administrator of the GitHub Classroom. + */ + "classroom/list-assignments-for-a-classroom": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + classroom_id: components["parameters"]["classroom-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-classroom-assignment"][]; + }; + }; + }; + }; + /** + * Get all codes of conduct + * @description Returns array of all GitHub's codes of conduct. + */ + "codes-of-conduct/get-all-codes-of-conduct": { + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-of-conduct"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Get a code of conduct + * @description Returns information about the specified GitHub code of conduct. + */ + "codes-of-conduct/get-conduct-code": { + parameters: { + path: { + key: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-of-conduct"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get emojis + * @description Lists all the emojis available to use on GitHub. + */ + "emojis/get": { + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + [key: string]: string; + }; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Get code security configurations for an enterprise + * @description Lists all code security configurations available in an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. + */ + "code-security/get-configurations-for-enterprise": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + }; + path: { + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-security-configuration"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a code security configuration for an enterprise + * @description Creates a code security configuration in an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + "code-security/create-configuration-for-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the code security configuration. Must be unique within the enterprise. */ + name: string; + /** @description A description of the code security configuration */ + description: string; + /** + * @description The enablement status of GitHub Advanced Security + * @default disabled + * @enum {string} + */ + advanced_security?: "enabled" | "disabled"; + /** + * @description The enablement status of Dependency Graph + * @default enabled + * @enum {string} + */ + dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @default disabled + * @enum {string} + */ + dependency_graph_autosubmit_action?: + | "enabled" + | "disabled" + | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** + * @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. + * @default false + */ + labeled_runners?: boolean; + }; + /** + * @description The enablement status of Dependabot alerts + * @default disabled + * @enum {string} + */ + dependabot_alerts?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot security updates + * @default disabled + * @enum {string} + */ + dependabot_security_updates?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of code scanning default setup + * @default disabled + * @enum {string} + */ + code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; + code_scanning_default_setup_options?: components["schemas"]["code-scanning-default-setup-options"]; + /** + * @description The enablement status of code scanning delegated alert dismissal + * @default disabled + * @enum {string} + */ + code_scanning_delegated_alert_dismissal?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of secret scanning + * @default disabled + * @enum {string} + */ + secret_scanning?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning push protection + * @default disabled + * @enum {string} + */ + secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning validity checks + * @default disabled + * @enum {string} + */ + secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non provider patterns + * @default disabled + * @enum {string} + */ + secret_scanning_non_provider_patterns?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of Copilot secret scanning + * @default disabled + * @enum {string} + */ + secret_scanning_generic_secrets?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated alert dismissal + * @default disabled + * @enum {string} + */ + secret_scanning_delegated_alert_dismissal?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of private vulnerability reporting + * @default disabled + * @enum {string} + */ + private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; + /** + * @description The enforcement status for a security configuration + * @default enforced + * @enum {string} + */ + enforcement?: "enforced" | "unenforced"; + }; + }; + }; + responses: { + /** @description Successfully created code security configuration */ + 201: { + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get default code security configurations for an enterprise + * @description Lists the default code security configurations for an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. + */ + "code-security/get-default-configurations-for-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-security-default-configurations"]; + }; + }; + }; + }; + /** + * Retrieve a code security configuration of an enterprise + * @description Gets a code security configuration available in an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. + */ + "code-security/get-single-configuration-for-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + configuration_id: components["parameters"]["configuration-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a code security configuration for an enterprise + * @description Deletes a code security configuration from an enterprise. + * Repositories attached to the configuration will retain their settings but will no longer be associated with + * the configuration. + * + * The authenticated user must be an administrator for the enterprise to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + "code-security/delete-configuration-for-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + configuration_id: components["parameters"]["configuration-id"]; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + /** + * Update a custom code security configuration for an enterprise + * @description Updates a code security configuration in an enterprise. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + "code-security/update-enterprise-configuration": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + configuration_id: components["parameters"]["configuration-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the code security configuration. Must be unique across the enterprise. */ + name?: string; + /** @description A description of the code security configuration */ + description?: string; + /** + * @description The enablement status of GitHub Advanced Security. Must be set to enabled if you want to enable any GHAS settings. + * @enum {string} + */ + advanced_security?: "enabled" | "disabled"; + /** + * @description The enablement status of Dependency Graph + * @enum {string} + */ + dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @enum {string} + */ + dependency_graph_autosubmit_action?: + | "enabled" + | "disabled" + | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ + labeled_runners?: boolean; + }; + /** + * @description The enablement status of Dependabot alerts + * @enum {string} + */ + dependabot_alerts?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot security updates + * @enum {string} + */ + dependabot_security_updates?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of code scanning default setup + * @enum {string} + */ + code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; + code_scanning_default_setup_options?: components["schemas"]["code-scanning-default-setup-options"]; + /** + * @description The enablement status of code scanning delegated alert dismissal + * @default disabled + * @enum {string} + */ + code_scanning_delegated_alert_dismissal?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of secret scanning + * @enum {string} + */ + secret_scanning?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning push protection + * @enum {string} + */ + secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning validity checks + * @enum {string} + */ + secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non-provider patterns + * @enum {string} + */ + secret_scanning_non_provider_patterns?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of Copilot secret scanning + * @default disabled + * @enum {string} + */ + secret_scanning_generic_secrets?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated alert dismissal + * @default disabled + * @enum {string} + */ + secret_scanning_delegated_alert_dismissal?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of private vulnerability reporting + * @enum {string} + */ + private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; + /** + * @description The enforcement status for a security configuration + * @enum {string} + */ + enforcement?: "enforced" | "unenforced"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + /** + * Attach an enterprise configuration to repositories + * @description Attaches an enterprise code security configuration to repositories. If the repositories specified are already attached to a configuration, they will be re-attached to the provided configuration. + * + * If insufficient GHAS licenses are available to attach the configuration to a repository, only free features will be enabled. + * + * The authenticated user must be an administrator for the enterprise to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + "code-security/attach-enterprise-configuration": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + configuration_id: components["parameters"]["configuration-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The type of repositories to attach the configuration to. + * @enum {string} + */ + scope: "all" | "all_without_configurations"; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + /** + * Set a code security configuration as a default for an enterprise + * @description Sets a code security configuration as a default to be applied to new repositories in your enterprise. + * + * This configuration will be applied by default to the matching repository type when created, but only for organizations within the enterprise that do not already have a default code security configuration set. + * + * The authenticated user must be an administrator for the enterprise to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:enterprise` scope to use this endpoint. + */ + "code-security/set-configuration-as-default-for-enterprise": { + parameters: { + path: { + enterprise: components["parameters"]["enterprise"]; + configuration_id: components["parameters"]["configuration-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Specify which types of repository this security configuration should be applied to by default. + * @enum {string} + */ + default_for_new_repos?: + | "all" + | "none" + | "private_and_internal" + | "public"; + }; + }; + }; + responses: { + /** @description Default successfully changed. */ + 200: { + content: { + "application/json": { + /** + * @description Specifies which types of repository this security configuration is applied to by default. + * @enum {string} + */ + default_for_new_repos?: + | "all" + | "none" + | "private_and_internal" + | "public"; + configuration?: components["schemas"]["code-security-configuration"]; + }; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get repositories associated with an enterprise code security configuration + * @description Lists the repositories associated with an enterprise code security configuration in an organization. + * + * The authenticated user must be an administrator of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:enterprise` scope to use this endpoint. + */ + "code-security/get-repositories-for-enterprise-configuration": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + /** + * @description A comma-separated list of statuses. If specified, only repositories with these attachment statuses will be returned. + * + * Can be: `all`, `attached`, `attaching`, `removed`, `enforced`, `failed`, `updating`, `removed_by_enterprise` + */ + status?: string; + }; + path: { + enterprise: components["parameters"]["enterprise"]; + configuration_id: components["parameters"]["configuration-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-security-configuration-repositories"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List Dependabot alerts for an enterprise + * @description Lists Dependabot alerts for repositories that are owned by the specified enterprise. + * + * The authenticated user must be a member of the enterprise to use this endpoint. + * + * Alerts are only returned for organizations in the enterprise for which you are an organization owner or a security manager. For more information about security managers, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. + */ + "dependabot/list-alerts-for-enterprise": { + parameters: { + query?: { + state?: components["parameters"]["dependabot-alert-comma-separated-states"]; + severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; + ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; + package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; + epss_percentage?: components["parameters"]["dependabot-alert-comma-separated-epss"]; + scope?: components["parameters"]["dependabot-alert-scope"]; + sort?: components["parameters"]["dependabot-alert-sort"]; + direction?: components["parameters"]["direction"]; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + first?: components["parameters"]["pagination-first"]; + last?: components["parameters"]["pagination-last"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["dependabot-alert-with-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * List secret scanning alerts for an enterprise + * @description Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. + * + * Alerts are only returned for organizations in the enterprise for which the authenticated user is an organization owner or a [security manager](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). + * + * The authenticated user must be a member of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope or `security_events` scope to use this endpoint. + */ + "secret-scanning/list-alerts-for-enterprise": { + parameters: { + query?: { + state?: components["parameters"]["secret-scanning-alert-state"]; + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; + sort?: components["parameters"]["secret-scanning-alert-sort"]; + direction?: components["parameters"]["direction"]; + per_page?: components["parameters"]["per-page"]; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + validity?: components["parameters"]["secret-scanning-alert-validity"]; + is_publicly_leaked?: components["parameters"]["secret-scanning-alert-publicly-leaked"]; + is_multi_repo?: components["parameters"]["secret-scanning-alert-multi-repo"]; + }; + path: { + enterprise: components["parameters"]["enterprise"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["organization-secret-scanning-alert"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List public events + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + "activity/list-public-events": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get feeds + * @description Lists the feeds available to the authenticated user. The response provides a URL for each feed. You can then get a specific feed by sending a request to one of the feed URLs. + * + * * **Timeline**: The GitHub global public timeline + * * **User**: The public timeline for any user, using `uri_template`. For more information, see "[Hypermedia](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia)." + * * **Current user public**: The public timeline for the authenticated user + * * **Current user**: The private timeline for the authenticated user + * * **Current user actor**: The private timeline for activity created by the authenticated user + * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. + * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. + * + * By default, timeline resources are returned in JSON. You can specify the `application/atom+xml` type in the `Accept` header to return timeline resources in Atom format. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * > [!NOTE] + * > Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) since current feed URIs use the older, non revocable auth tokens. + */ + "activity/get-feeds": { + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["feed"]; + }; + }; + }; + }; + /** + * List gists for the authenticated user + * @description Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: + */ + "gists/list": { + parameters: { + query?: { + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Create a gist + * @description Allows you to add a new gist with one or more files. + * + * > [!NOTE] + * > Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. + */ + "gists/create": { + requestBody: { + content: { + "application/json": { + /** + * @description Description of the gist + * @example Example Ruby script + */ + description?: string; + /** + * @description Names and content for the files that make up the gist + * @example { + * "hello.rb": { + * "content": "puts \"Hello, World!\"" + * } + * } + */ + files: { + [key: string]: { + /** @description Content of the file */ + content: string; + }; + }; + public?: boolean | ("true" | "false"); + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/gists/aa5a315d61ae9438b18d */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List public gists + * @description List public gists sorted by most recently updated to least recently updated. + * + * Note: With [pagination](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. + */ + "gists/list-public": { + parameters: { + query?: { + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List starred gists + * @description List the authenticated user's starred gists: + */ + "gists/list-starred": { + parameters: { + query?: { + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get a gist + * @description Gets a specified gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + "gists/get": { + parameters: { + path: { + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden_gist"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Delete a gist */ + "gists/delete": { + parameters: { + path: { + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update a gist + * @description Allows you to update a gist's description and to update, delete, or rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. + */ + "gists/update": { + parameters: { + path: { + gist_id: components["parameters"]["gist-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The description of the gist. + * @example Example Ruby script + */ + description?: string; + /** + * @description The gist files to be updated, renamed, or deleted. Each `key` must match the current filename + * (including extension) of the targeted gist file. For example: `hello.py`. + * + * To delete a file, set the whole file to null. For example: `hello.py : null`. + * @example { + * "hello.rb": { + * "content": "blah", + * "filename": "goodbye.rb" + * } + * } + */ + files?: { + [key: string]: { + /** @description The new content of the file. */ + content?: string; + /** @description The new filename for the file. */ + filename?: string | null; + }; + }; + } | null; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List gist comments + * @description Lists the comments on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + "gists/list-comments": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["gist-comment"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a gist comment + * @description Creates a comment on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + "gists/create-comment": { + parameters: { + path: { + gist_id: components["parameters"]["gist-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The comment text. + * @example Body of the attachment + */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/gists/a6db0bec360bb87e9418/comments/1 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get a gist comment + * @description Gets a comment on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + "gists/get-comment": { + parameters: { + path: { + gist_id: components["parameters"]["gist-id"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden_gist"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Delete a gist comment */ + "gists/delete-comment": { + parameters: { + path: { + gist_id: components["parameters"]["gist-id"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update a gist comment + * @description Updates a comment on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + "gists/update-comment": { + parameters: { + path: { + gist_id: components["parameters"]["gist-id"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The comment text. + * @example Body of the attachment + */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** List gist commits */ + "gists/list-commits": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + }; + content: { + "application/json": components["schemas"]["gist-commit"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** List gist forks */ + "gists/list-forks": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["gist-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Fork a gist */ + "gists/fork": { + parameters: { + path: { + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/gists/aa5a315d61ae9438b18d */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["base-gist"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Check if a gist is starred */ + "gists/check-is-starred": { + parameters: { + path: { + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** @description Response if gist is starred */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + /** @description Not Found if gist is not starred */ + 404: { + content: { + "application/json": Record; + }; + }; + }; + }; + /** + * Star a gist + * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + "gists/star": { + parameters: { + path: { + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Unstar a gist */ + "gists/unstar": { + parameters: { + path: { + gist_id: components["parameters"]["gist-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get a gist revision + * @description Gets a specified gist revision. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + "gists/get-revision": { + parameters: { + path: { + gist_id: components["parameters"]["gist-id"]; + sha: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get all gitignore templates + * @description List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/repos/repos#create-a-repository-for-the-authenticated-user). + */ + "gitignore/get-all-templates": { + responses: { + /** @description Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Get a gitignore template + * @description Get the content of a gitignore template. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw .gitignore contents. + */ + "gitignore/get-template": { + parameters: { + path: { + name: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["gitignore-template"]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * List repositories accessible to the app installation + * @description List repositories that an app installation can access. + */ + "apps/list-repos-accessible-to-installation": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["repository"][]; + /** @example selected */ + repository_selection?: string; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Revoke an installation access token + * @description Revokes the installation token you're using to authenticate as an installation and access this endpoint. + * + * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/apps/apps#create-an-installation-access-token-for-an-app)" endpoint. + */ + "apps/revoke-installation-access-token": { + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List issues assigned to the authenticated user + * @description List issues assigned to the authenticated user across all visible repositories including owned repositories, member + * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not + * necessarily assigned to you. + * + * > [!NOTE] + * > GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/list": { + parameters: { + query?: { + /** @description Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ + filter?: + | "assigned" + | "created" + | "mentioned" + | "subscribed" + | "repos" + | "all"; + /** @description Indicates the state of the issues to return. */ + state?: "open" | "closed" | "all"; + labels?: components["parameters"]["labels"]; + /** @description What to sort results by. */ + sort?: "created" | "updated" | "comments"; + direction?: components["parameters"]["direction"]; + since?: components["parameters"]["since"]; + collab?: boolean; + orgs?: boolean; + owned?: boolean; + pulls?: boolean; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get all commonly used licenses + * @description Lists the most commonly used licenses on GitHub. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." + */ + "licenses/get-all-commonly-used": { + parameters: { + query?: { + featured?: boolean; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["license-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Get a license + * @description Gets information about a specific license. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." + */ + "licenses/get": { + parameters: { + path: { + license: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["license"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Render a Markdown document */ + "markdown/render": { + requestBody: { + content: { + "application/json": { + /** @description The Markdown text to render in HTML. */ + text: string; + /** + * @description The rendering mode. + * @default markdown + * @example markdown + * @enum {string} + */ + mode?: "markdown" | "gfm"; + /** @description The repository context to use when creating references in `gfm` mode. For example, setting `context` to `octo-org/octo-repo` will change the text `#42` into an HTML link to issue 42 in the `octo-org/octo-repo` repository. */ + context?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + "Content-Type": components["headers"]["content-type"]; + /** @example 279 */ + "Content-Length"?: string; + "X-CommonMarker-Version": components["headers"]["x-common-marker-version"]; + }; + content: { + "text/html": string; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Render a Markdown document in raw mode + * @description You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. + */ + "markdown/render-raw": { + requestBody?: { + content: { + "text/plain": string; + "text/x-markdown": string; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + "X-CommonMarker-Version": components["headers"]["x-common-marker-version"]; + }; + content: { + "text/html": string; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Get a subscription plan for an account + * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/get-subscription-plan-for-account": { + parameters: { + path: { + account_id: components["parameters"]["account-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["marketplace-purchase"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + /** @description Not Found when the account has not purchased the listing */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * List plans + * @description Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-plans": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["marketplace-listing-plan"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List accounts for a plan + * @description Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-accounts-for-plan": { + parameters: { + query?: { + sort?: components["parameters"]["sort"]; + /** @description To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + plan_id: components["parameters"]["plan-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["marketplace-purchase"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a subscription plan for an account (stubbed) + * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/get-subscription-plan-for-account-stubbed": { + parameters: { + path: { + account_id: components["parameters"]["account-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["marketplace-purchase"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + /** @description Not Found when the account has not purchased the listing */ + 404: { + content: never; + }; + }; + }; + /** + * List plans (stubbed) + * @description Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-plans-stubbed": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["marketplace-listing-plan"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + }; + }; + /** + * List accounts for a plan (stubbed) + * @description Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/authentication/authenticating-to-the-rest-api#using-basic-authentication) with their client ID and client secret to access this endpoint. + */ + "apps/list-accounts-for-plan-stubbed": { + parameters: { + query?: { + sort?: components["parameters"]["sort"]; + /** @description To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + plan_id: components["parameters"]["plan-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["marketplace-purchase"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + }; + }; + /** + * Get GitHub meta information + * @description Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://docs.github.com/articles/about-github-s-ip-addresses/)." + * + * The API's response also includes a list of GitHub's domain names. + * + * The values shown in the documentation's response are example values. You must always query the API directly to get the latest values. + * + * > [!NOTE] + * > This endpoint returns both IPv4 and IPv6 addresses. However, not all features support IPv6. You should refer to the specific documentation for each feature to determine if IPv6 is supported. + */ + "meta/get": { + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["api-overview"]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * List public events for a network of repositories + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + "activity/list-public-events-for-repo-network": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List notifications for the authenticated user + * @description List all notifications for the current user, sorted by most recently updated. + */ + "activity/list-notifications-for-authenticated-user": { + parameters: { + query?: { + all?: components["parameters"]["all"]; + participating?: components["parameters"]["participating"]; + since?: components["parameters"]["since"]; + before?: components["parameters"]["before"]; + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 50). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["thread"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Mark notifications as read + * @description Marks all notifications as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + */ + "activity/mark-notifications-as-read": { + requestBody?: { + content: { + "application/json": { + /** + * Format: date-time + * @description Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; + /** @description Whether the notification has been read. */ + read?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 202: { + content: { + "application/json": { + message?: string; + }; + }; + }; + /** @description Reset Content */ + 205: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get a thread + * @description Gets information about a notification thread. + */ + "activity/get-thread": { + parameters: { + path: { + thread_id: components["parameters"]["thread-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["thread"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Mark a thread as done + * @description Marks a thread as "done." Marking a thread as "done" is equivalent to marking a notification in your notification inbox on GitHub as done: https://github.com/notifications. + */ + "activity/mark-thread-as-done": { + parameters: { + path: { + thread_id: components["parameters"]["thread-id"]; + }; + }; + responses: { + /** @description No content */ + 204: { + content: never; + }; + }; + }; + /** + * Mark a thread as read + * @description Marks a thread as "read." Marking a thread as "read" is equivalent to clicking a notification in your notification inbox on GitHub: https://github.com/notifications. + */ + "activity/mark-thread-as-read": { + parameters: { + path: { + thread_id: components["parameters"]["thread-id"]; + }; + }; + responses: { + /** @description Reset Content */ + 205: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get a thread subscription for the authenticated user + * @description This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/activity/watching#get-a-repository-subscription). + * + * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. + */ + "activity/get-thread-subscription-for-authenticated-user": { + parameters: { + path: { + thread_id: components["parameters"]["thread-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["thread-subscription"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Set a thread subscription + * @description If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. + * + * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. + * + * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/activity/notifications#delete-a-thread-subscription) endpoint. + */ + "activity/set-thread-subscription": { + parameters: { + path: { + thread_id: components["parameters"]["thread-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Whether to block all notifications from a thread. + * @default false + */ + ignored?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["thread-subscription"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Delete a thread subscription + * @description Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/activity/notifications#set-a-thread-subscription) endpoint and set `ignore` to `true`. + */ + "activity/delete-thread-subscription": { + parameters: { + path: { + thread_id: components["parameters"]["thread-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get Octocat + * @description Get the octocat as ASCII art + */ + "meta/get-octocat": { + parameters: { + query?: { + /** @description The words to show in Octocat's speech bubble */ + s?: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/octocat-stream": string; + }; + }; + }; + }; + /** + * List organizations + * @description Lists all organizations, in the order that they were created. + * + * > [!NOTE] + * > Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of organizations. + */ + "orgs/list": { + parameters: { + query?: { + since?: components["parameters"]["since-org"]; + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + }; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Get billing usage report for an organization + * @description Gets a report of the total usage for an organization. To use this endpoint, you must be an administrator of an organization within an enterprise or an organization account. + * + * **Note:** This endpoint is only available to organizations with access to the enhanced billing platform. For more information, see "[About the enhanced billing platform](https://docs.github.com/billing/using-the-new-billing-platform)." + */ + "billing/get-github-billing-usage-report-org": { + parameters: { + query?: { + year?: components["parameters"]["billing-usage-report-year"]; + month?: components["parameters"]["billing-usage-report-month"]; + day?: components["parameters"]["billing-usage-report-day"]; + hour?: components["parameters"]["billing-usage-report-hour"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + 200: components["responses"]["billing_usage_report_org"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get an organization + * @description Gets information about an organization. + * + * When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, outside collaborators, guest collaborators, repository collaborators, or everyone with access to any repository within the organization to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). + * + * To see the full details about an organization, the authenticated user must be an organization owner. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to see the full details about an organization. + * + * To see information about an organization's GitHub plan, GitHub Apps need the `Organization plan` permission. + */ + "orgs/get": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-full"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete an organization + * @description Deletes an organization and all its repositories. + * + * The organization login will be unavailable for 90 days after deletion. + * + * Please review the Terms of Service regarding account deletion before using this endpoint: + * + * https://docs.github.com/site-policy/github-terms/github-terms-of-service + */ + "orgs/delete": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update an organization + * @description > [!WARNING] + * > **Closing down notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). + * + * > [!WARNING] + * > **Closing down notice:** Code security product enablement for new repositories through the organization API is closing down. Please use [code security configurations](https://docs.github.com/rest/code-security/configurations#set-a-code-security-configuration-as-a-default-for-an-organization) to set defaults instead. For more information on setting a default security configuration, see the [changelog](https://github.blog/changelog/2024-07-09-sunsetting-security-settings-defaults-parameters-in-the-organizations-rest-api/). + * + * Updates the organization's profile and member privileges. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` or `repo` scope to use this endpoint. + */ + "orgs/update": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description Billing email address. This address is not publicized. */ + billing_email?: string; + /** @description The company name. */ + company?: string; + /** @description The publicly visible email address. */ + email?: string; + /** @description The Twitter username of the company. */ + twitter_username?: string; + /** @description The location. */ + location?: string; + /** @description The shorthand name of the company. */ + name?: string; + /** @description The description of the company. The maximum size is 160 characters. */ + description?: string; + /** @description Whether an organization can use organization projects. */ + has_organization_projects?: boolean; + /** @description Whether repositories that belong to the organization can use repository projects. */ + has_repository_projects?: boolean; + /** + * @description Default permission level members have for organization repositories. + * @default read + * @enum {string} + */ + default_repository_permission?: "read" | "write" | "admin" | "none"; + /** + * @description Whether of non-admin organization members can create repositories. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. + * @default true + */ + members_can_create_repositories?: boolean; + /** @description Whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ + members_can_create_internal_repositories?: boolean; + /** @description Whether organization members can create private repositories, which are visible to organization members with permission. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ + members_can_create_private_repositories?: boolean; + /** @description Whether organization members can create public repositories, which are visible to anyone. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ + members_can_create_public_repositories?: boolean; + /** + * @description Specifies which types of repositories non-admin organization members can create. `private` is only available to repositories that are part of an organization on GitHub Enterprise Cloud. + * **Note:** This parameter is closing down and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details. + * @enum {string} + */ + members_allowed_repository_creation_type?: "all" | "private" | "none"; + /** + * @description Whether organization members can create GitHub Pages sites. Existing published sites will not be impacted. + * @default true + */ + members_can_create_pages?: boolean; + /** + * @description Whether organization members can create public GitHub Pages sites. Existing published sites will not be impacted. + * @default true + */ + members_can_create_public_pages?: boolean; + /** + * @description Whether organization members can create private GitHub Pages sites. Existing published sites will not be impacted. + * @default true + */ + members_can_create_private_pages?: boolean; + /** + * @description Whether organization members can fork private organization repositories. + * @default false + */ + members_can_fork_private_repositories?: boolean; + /** + * @description Whether contributors to organization repositories are required to sign off on commits they make through GitHub's web interface. + * @default false + */ + web_commit_signoff_required?: boolean; + /** @example "http://github.blog" */ + blog?: string; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether GitHub Advanced Security is automatically enabled for new repositories and repositories transferred to this organization. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + advanced_security_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether Dependabot alerts are automatically enabled for new repositories and repositories transferred to this organization. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + dependabot_alerts_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether Dependabot security updates are automatically enabled for new repositories and repositories transferred to this organization. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + dependabot_security_updates_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether dependency graph is automatically enabled for new repositories and repositories transferred to this organization. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + dependency_graph_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether secret scanning is automatically enabled for new repositories and repositories transferred to this organization. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + secret_scanning_enabled_for_new_repositories?: boolean; + /** + * @deprecated + * @description **Endpoint closing down notice.** Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. + * + * Whether secret scanning push protection is automatically enabled for new repositories and repositories transferred to this organization. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. + */ + secret_scanning_push_protection_enabled_for_new_repositories?: boolean; + /** @description Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection. */ + secret_scanning_push_protection_custom_link_enabled?: boolean; + /** @description If `secret_scanning_push_protection_custom_link_enabled` is true, the URL that will be displayed to contributors who are blocked from pushing a secret. */ + secret_scanning_push_protection_custom_link?: string; + /** @description Controls whether or not deploy keys may be added and used for repositories in the organization. */ + deploy_keys_enabled_for_repositories?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-full"]; + }; + }; + 409: components["responses"]["conflict"]; + /** @description Validation failed */ + 422: { + content: { + "application/json": + | components["schemas"]["validation-error"] + | components["schemas"]["validation-error-simple"]; + }; + }; + }; + }; + /** + * Get GitHub Actions cache usage for an organization + * @description Gets the total GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * + * OAuth tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + "actions/get-actions-cache-usage-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["actions-cache-usage-org-enterprise"]; + }; + }; + }; + }; + /** + * List repositories with GitHub Actions cache usage for an organization + * @description Lists repositories and their GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * + * OAuth tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + "actions/get-actions-cache-usage-by-repo-for-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + repository_cache_usages: components["schemas"]["actions-cache-usage-by-repository"][]; + }; + }; + }; + }; + }; + /** + * List GitHub-hosted runners for an organization + * @description Lists all GitHub-hosted runners configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_runner:org` scope to use this endpoint. + */ + "actions/list-hosted-runners-for-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["actions-hosted-runner"][]; + }; + }; + }; + }; + }; + /** + * Create a GitHub-hosted runner for an organization + * @description Creates a GitHub-hosted runner for an organization. + * OAuth tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + "actions/create-hosted-runner-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the runner. Must be between 1 and 64 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'. */ + name: string; + /** @description The image of runner. To list all available images, use `GET /actions/hosted-runners/images/github-owned` or `GET /actions/hosted-runners/images/partner`. */ + image: { + /** @description The unique identifier of the runner image. */ + id?: string; + /** + * @description The source of the runner image. + * @enum {string} + */ + source?: "github" | "partner" | "custom"; + }; + /** @description The machine size of the runner. To list available sizes, use `GET actions/hosted-runners/machine-sizes` */ + size: string; + /** @description The existing runner group to add this runner to. */ + runner_group_id: number; + /** @description The maximum amount of runners to scale up to. Runners will not auto-scale above this number. Use this setting to limit your cost. */ + maximum_runners?: number; + /** @description Whether this runner should be created with a static public IP. Note limit on account. To list limits on account, use `GET actions/hosted-runners/limits` */ + enable_static_ip?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["actions-hosted-runner"]; + }; + }; + }; + }; + /** + * Get GitHub-owned images for GitHub-hosted runners in an organization + * @description Get the list of GitHub-owned images available for GitHub-hosted runners for an organization. + */ + "actions/get-hosted-runners-github-owned-images-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + images: components["schemas"]["actions-hosted-runner-image"][]; + }; + }; + }; + }; + }; + /** + * Get partner images for GitHub-hosted runners in an organization + * @description Get the list of partner images available for GitHub-hosted runners for an organization. + */ + "actions/get-hosted-runners-partner-images-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + images: components["schemas"]["actions-hosted-runner-image"][]; + }; + }; + }; + }; + }; + /** + * Get limits on GitHub-hosted runners for an organization + * @description Get the GitHub-hosted runners limits for an organization. + */ + "actions/get-hosted-runners-limits-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-hosted-runner-limits"]; + }; + }; + }; + }; + /** + * Get GitHub-hosted runners machine specs for an organization + * @description Get the list of machine specs available for GitHub-hosted runners for an organization. + */ + "actions/get-hosted-runners-machine-specs-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + machine_specs: components["schemas"]["actions-hosted-runner-machine-spec"][]; + }; + }; + }; + }; + }; + /** + * Get platforms for GitHub-hosted runners in an organization + * @description Get the list of platforms available for GitHub-hosted runners for an organization. + */ + "actions/get-hosted-runners-platforms-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + platforms: string[]; + }; + }; + }; + }; + }; + /** + * Get a GitHub-hosted runner for an organization + * @description Gets a GitHub-hosted runner configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + "actions/get-hosted-runner-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + hosted_runner_id: components["parameters"]["hosted-runner-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["actions-hosted-runner"]; + }; + }; + }; + }; + /** + * Delete a GitHub-hosted runner for an organization + * @description Deletes a GitHub-hosted runner for an organization. + */ + "actions/delete-hosted-runner-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + hosted_runner_id: components["parameters"]["hosted-runner-id"]; + }; + }; + responses: { + /** @description Response */ + 202: { + content: { + "application/json": components["schemas"]["actions-hosted-runner"]; + }; + }; + }; + }; + /** + * Update a GitHub-hosted runner for an organization + * @description Updates a GitHub-hosted runner for an organization. + * OAuth app tokens and personal access tokens (classic) need the `manage_runners:org` scope to use this endpoint. + */ + "actions/update-hosted-runner-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + hosted_runner_id: components["parameters"]["hosted-runner-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the runner. Must be between 1 and 64 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'. */ + name?: string; + /** @description The existing runner group to add this runner to. */ + runner_group_id?: number; + /** @description The maximum amount of runners to scale up to. Runners will not auto-scale above this number. Use this setting to limit your cost. */ + maximum_runners?: number; + /** @description Whether this runner should be updated with a static public IP. Note limit on account. To list limits on account, use `GET actions/hosted-runners/limits` */ + enable_static_ip?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-hosted-runner"]; + }; + }; + }; + }; + /** + * Get the customization template for an OIDC subject claim for an organization + * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + "oidc/get-oidc-custom-sub-template-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description A JSON serialized template for OIDC subject claim customization */ + 200: { + content: { + "application/json": components["schemas"]["oidc-custom-sub"]; + }; + }; + }; + }; + /** + * Set the customization template for an OIDC subject claim for an organization + * @description Creates or updates the customization template for an OpenID Connect (OIDC) subject claim. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + "oidc/update-oidc-custom-sub-template-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["oidc-custom-sub"]; + }; + }; + responses: { + /** @description Empty response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get GitHub Actions permissions for an organization + * @description Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/get-github-actions-permissions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-organization-permissions"]; + }; + }; + }; + }; + /** + * Set GitHub Actions permissions for an organization + * @description Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/set-github-actions-permissions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + enabled_repositories: components["schemas"]["enabled-repositories"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List selected repositories enabled for GitHub Actions in an organization + * @description Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/list-selected-repositories-enabled-github-actions-organization": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["repository"][]; + }; + }; + }; + }; + }; + /** + * Set selected repositories enabled for GitHub Actions in an organization + * @description Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/set-selected-repositories-enabled-github-actions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description List of repository IDs to enable for GitHub Actions. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Enable a selected repository for GitHub Actions in an organization + * @description Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/enable-selected-repository-github-actions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Disable a selected repository for GitHub Actions in an organization + * @description Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/disable-selected-repository-github-actions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get allowed actions and reusable workflows for an organization + * @description Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/get-allowed-actions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + }; + /** + * Set allowed actions and reusable workflows for an organization + * @description Sets the actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/set-allowed-actions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get default workflow permissions for an organization + * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, + * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/get-github-actions-default-workflow-permissions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; + }; + }; + }; + }; + /** + * Set default workflow permissions for an organization + * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, and sets if GitHub Actions + * can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/set-github-actions-default-workflow-permissions-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; + }; + }; + responses: { + /** @description Success response */ + 204: { + content: never; + }; + }; + }; + /** + * List self-hosted runner groups for an organization + * @description Lists all self-hosted runner groups configured in an organization and inherited from an enterprise. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/list-self-hosted-runner-groups-for-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + visible_to_repository?: components["parameters"]["visible-to-repository"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + runner_groups: components["schemas"]["runner-groups-org"][]; + }; + }; + }; + }; + }; + /** + * Create a self-hosted runner group for an organization + * @description Creates a new self-hosted runner group for an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/create-self-hosted-runner-group-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the runner group. */ + name: string; + /** + * @description Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories. + * @default all + * @enum {string} + */ + visibility?: "selected" | "all" | "private"; + /** @description List of repository IDs that can access the runner group. */ + selected_repository_ids?: number[]; + /** @description List of runner IDs to add to the runner group. */ + runners?: number[]; + /** + * @description Whether the runner group can be used by `public` repositories. + * @default false + */ + allows_public_repositories?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: string[]; + /** @description The identifier of a hosted compute network configuration. */ + network_configuration_id?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["runner-groups-org"]; + }; + }; + }; + }; + /** + * Get a self-hosted runner group for an organization + * @description Gets a specific self-hosted runner group for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/get-self-hosted-runner-group-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-groups-org"]; + }; + }; + }; + }; + /** + * Delete a self-hosted runner group from an organization + * @description Deletes a self-hosted runner group for an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/delete-self-hosted-runner-group-from-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update a self-hosted runner group for an organization + * @description Updates the `name` and `visibility` of a self-hosted runner group in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/update-self-hosted-runner-group-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the runner group. */ + name: string; + /** + * @description Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories. + * @enum {string} + */ + visibility?: "selected" | "all" | "private"; + /** + * @description Whether the runner group can be used by `public` repositories. + * @default false + */ + allows_public_repositories?: boolean; + /** + * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array. + * @default false + */ + restricted_to_workflows?: boolean; + /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */ + selected_workflows?: string[]; + /** @description The identifier of a hosted compute network configuration. */ + network_configuration_id?: string | null; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-groups-org"]; + }; + }; + }; + }; + /** + * List GitHub-hosted runners in a group for an organization + * @description Lists the GitHub-hosted runners in an organization group. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/list-github-hosted-runners-in-group-for-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["actions-hosted-runner"][]; + }; + }; + }; + }; + }; + /** + * List repository access to a self-hosted runner group in an organization + * @description Lists the repositories with access to a self-hosted runner group configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/list-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + }; + /** + * Set repository access for a self-hosted runner group in an organization + * @description Replaces the list of repositories that have access to a self-hosted runner group configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/set-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description List of repository IDs that can access the runner group. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Add repository access to a self-hosted runner group in an organization + * @description Adds a repository to the list of repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/add-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner-group-id"]; + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Remove repository access to a self-hosted runner group in an organization + * @description Removes a repository from the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/remove-repo-access-to-self-hosted-runner-group-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner-group-id"]; + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List self-hosted runners in a group for an organization + * @description Lists self-hosted runners that are in a specific organization group. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/list-self-hosted-runners-in-group-for-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; + }; + /** + * Set self-hosted runners in a group for an organization + * @description Replaces the list of self-hosted runners that are part of an organization runner group. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/set-self-hosted-runners-in-group-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner-group-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description List of runner IDs to add to the runner group. */ + runners: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Add a self-hosted runner to a group for an organization + * @description Adds a self-hosted runner to a runner group configured in an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/add-self-hosted-runner-to-group-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner-group-id"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Remove a self-hosted runner from a group for an organization + * @description Removes a self-hosted runner from a group configured in an organization. The runner is then returned to the default group. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/remove-self-hosted-runner-from-group-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_group_id: components["parameters"]["runner-group-id"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List self-hosted runners for an organization + * @description Lists all self-hosted runners configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/list-self-hosted-runners-for-org": { + parameters: { + query?: { + /** @description The name of a self-hosted runner. */ + name?: string; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; + }; + /** + * List runner applications for an organization + * @description Lists binaries for the runner application that you can download and run. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/list-runner-applications-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-application"][]; + }; + }; + }; + }; + /** + * Create configuration for a just-in-time runner for an organization + * @description Generates a configuration that can be passed to the runner application at startup. + * + * The authenticated user must have admin access to the organization. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/generate-runner-jitconfig-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the new runner. */ + name: string; + /** @description The ID of the runner group to register the runner to. */ + runner_group_id: number; + /** @description The names of the custom labels to add to the runner. **Minimum items**: 1. **Maximum items**: 100. */ + labels: string[]; + /** + * @description The working directory to be used for job execution, relative to the runner install directory. + * @default _work + */ + work_folder?: string; + }; + }; + }; + responses: { + 201: components["responses"]["actions_runner_jitconfig"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Create a registration token for an organization + * @description Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to configure your self-hosted runner: + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/create-registration-token-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + /** + * Create a remove token for an organization + * @description Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization: + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/create-remove-token-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + /** + * Get a self-hosted runner for an organization + * @description Gets a specific self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/get-self-hosted-runner-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["runner"]; + }; + }; + }; + }; + /** + * Delete a self-hosted runner from an organization + * @description Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/delete-self-hosted-runner-from-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List labels for a self-hosted runner for an organization + * @description Lists all labels for a self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/list-labels-for-self-hosted-runner-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Set custom labels for a self-hosted runner for an organization + * @description Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/set-custom-labels-for-self-hosted-runner-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ + labels: string[]; + }; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Add custom labels to a self-hosted runner for an organization + * @description Adds custom labels to a self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "actions/add-custom-labels-to-self-hosted-runner-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to add to the runner. */ + labels: string[]; + }; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Remove all custom labels from a self-hosted runner for an organization + * @description Remove all custom labels from a self-hosted runner configured in an + * organization. Returns the remaining read-only labels from the runner. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/remove-all-custom-labels-from-self-hosted-runner-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels_readonly"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Remove a custom label from a self-hosted runner for an organization + * @description Remove a custom label from a self-hosted runner configured + * in an organization. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/remove-custom-label-from-self-hosted-runner-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + runner_id: components["parameters"]["runner-id"]; + name: components["parameters"]["runner-label-name"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * List organization secrets + * @description Lists all secrets available in an organization without revealing their + * encrypted values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/list-org-secrets": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["organization-actions-secret"][]; + }; + }; + }; + }; + }; + /** + * Get an organization public key + * @description Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * The authenticated user must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-org-public-key": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; + }; + }; + /** + * Get an organization secret + * @description Gets a single organization secret without revealing its encrypted value. + * + * The authenticated user must have collaborator access to a repository to create, update, or read secrets + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-actions-secret"]; + }; + }; + }; + }; + /** + * Create or update an organization secret + * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to + * use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + "actions/create-or-update-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/reference/actions#get-an-organization-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + /** + * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: (number | string)[]; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + content: never; + }; + }; + }; + /** + * Delete an organization secret + * @description Deletes a secret in an organization using the secret name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/delete-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List selected repositories for an organization secret + * @description Lists all repositories that have been selected when the `visibility` + * for repository access to a secret is set to `selected`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/list-selected-repos-for-org-secret": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + }; + /** + * Set selected repositories for an organization secret + * @description Replaces all repositories for an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/set-selected-repos-for-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Add selected repository to an organization secret](https://docs.github.com/rest/actions/secrets#add-selected-repository-to-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/actions/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Add selected repository to an organization secret + * @description Adds a repository to an organization secret when the `visibility` for + * repository access is set to `selected`. For more information about setting the visibility, see [Create or + * update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/add-selected-repo-to-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** @description No Content when repository was added to the selected list */ + 204: { + content: never; + }; + /** @description Conflict when visibility type is not set to selected */ + 409: { + content: never; + }; + }; + }; + /** + * Remove selected repository from an organization secret + * @description Removes a repository from an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/remove-selected-repo-from-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** @description Response when repository was removed from the selected list */ + 204: { + content: never; + }; + /** @description Conflict when visibility type not set to selected */ + 409: { + content: never; + }; + }; + }; + /** + * List organization variables + * @description Lists all organization variables. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/list-org-variables": { + parameters: { + query?: { + per_page?: components["parameters"]["variables-per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + variables: components["schemas"]["organization-actions-variable"][]; + }; + }; + }; + }; + }; + /** + * Create an organization variable + * @description Creates an organization variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/create-org-variable": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name: string; + /** @description The value of the variable. */ + value: string; + /** + * @description The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response when creating a variable */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; + }; + /** + * Get an organization variable + * @description Gets a specific variable in an organization. + * + * The authenticated user must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-org-variable": { + parameters: { + path: { + org: components["parameters"]["org"]; + name: components["parameters"]["variable-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-actions-variable"]; + }; + }; + }; + }; + /** + * Delete an organization variable + * @description Deletes an organization variable using the variable name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/delete-org-variable": { + parameters: { + path: { + org: components["parameters"]["org"]; + name: components["parameters"]["variable-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update an organization variable + * @description Updates an organization variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/update-org-variable": { + parameters: { + path: { + org: components["parameters"]["org"]; + name: components["parameters"]["variable-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name?: string; + /** @description The value of the variable. */ + value?: string; + /** + * @description The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable. + * @enum {string} + */ + visibility?: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List selected repositories for an organization variable + * @description Lists all repositories that can access an organization variable + * that is available to selected repositories. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/list-selected-repos-for-org-variable": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + org: components["parameters"]["org"]; + name: components["parameters"]["variable-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + /** @description Response when the visibility of the variable is not set to `selected` */ + 409: { + content: never; + }; + }; + }; + /** + * Set selected repositories for an organization variable + * @description Replaces all repositories for an organization variable that is available + * to selected repositories. Organization variables that are available to selected + * repositories have their `visibility` field set to `selected`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/set-selected-repos-for-org-variable": { + parameters: { + path: { + org: components["parameters"]["org"]; + name: components["parameters"]["variable-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The IDs of the repositories that can access the organization variable. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + /** @description Response when the visibility of the variable is not set to `selected` */ + 409: { + content: never; + }; + }; + }; + /** + * Add selected repository to an organization variable + * @description Adds a repository to an organization variable that is available to selected repositories. + * Organization variables that are available to selected repositories have their `visibility` field set to `selected`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/add-selected-repo-to-org-variable": { + parameters: { + path: { + org: components["parameters"]["org"]; + name: components["parameters"]["variable-name"]; + repository_id: number; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + /** @description Response when the visibility of the variable is not set to `selected` */ + 409: { + content: never; + }; + }; + }; + /** + * Remove selected repository from an organization variable + * @description Removes a repository from an organization variable that is + * available to selected repositories. Organization variables that are available to + * selected repositories have their `visibility` field set to `selected`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + "actions/remove-selected-repo-from-org-variable": { + parameters: { + path: { + org: components["parameters"]["org"]; + name: components["parameters"]["variable-name"]; + repository_id: number; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + /** @description Response when the visibility of the variable is not set to `selected` */ + 409: { + content: never; + }; + }; + }; + /** + * List attestations + * @description List a collection of artifact attestations with a given subject digest that are associated with repositories owned by an organization. + * + * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + "orgs/list-attestations": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + /** + * @description Optional filter for fetching attestations with a given predicate type. + * This option accepts `provenance`, `sbom`, or freeform text for custom predicate types. + */ + predicate_type?: string; + }; + path: { + org: components["parameters"]["org"]; + /** @description The parameter should be set to the attestation's subject's SHA256 digest, in the form `sha256:HEX_DIGEST`. */ + subject_digest: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + attestations?: { + /** + * @description The attestation's Sigstore Bundle. + * Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. + */ + bundle?: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + repository_id?: number; + bundle_url?: string; + }[]; + }; + }; + }; + }; + }; + /** + * List users blocked by an organization + * @description List the users blocked by an organization. + */ + "orgs/list-blocked-users": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + /** + * Check if a user is blocked by an organization + * @description Returns a 204 if the given user is blocked by the given organization. Returns a 404 if the organization is not blocking the user, or if the user account has been identified as spam by GitHub. + */ + "orgs/check-blocked-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description If the user is blocked */ + 204: { + content: never; + }; + /** @description If the user is not blocked */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * Block a user from an organization + * @description Blocks the given user on behalf of the specified organization and returns a 204. If the organization cannot block the given user a 422 is returned. + */ + "orgs/block-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Unblock a user from an organization + * @description Unblocks the given user on behalf of the specified organization. + */ + "orgs/unblock-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List code scanning alerts for an organization + * @description Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` or `repo`s cope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/list-alerts-for-org": { + parameters: { + query?: { + tool_name?: components["parameters"]["tool-name"]; + tool_guid?: components["parameters"]["tool-guid"]; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + direction?: components["parameters"]["direction"]; + /** @description If specified, only code scanning alerts with this state will be returned. */ + state?: components["schemas"]["code-scanning-alert-state-query"]; + /** @description The property by which to sort the results. */ + sort?: "created" | "updated"; + /** @description If specified, only code scanning alerts with this severity will be returned. */ + severity?: components["schemas"]["code-scanning-alert-severity"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["code-scanning-organization-alert-items"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get code security configurations for an organization + * @description Lists all code security configurations available in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + "code-security/get-configurations-for-org": { + parameters: { + query?: { + /** @description The target type of the code security configuration */ + target_type?: "global" | "all"; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-security-configuration"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a code security configuration + * @description Creates a code security configuration in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + "code-security/create-configuration": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the code security configuration. Must be unique within the organization. */ + name: string; + /** @description A description of the code security configuration */ + description: string; + /** + * @description The enablement status of GitHub Advanced Security + * @default disabled + * @enum {string} + */ + advanced_security?: "enabled" | "disabled"; + /** + * @description The enablement status of Dependency Graph + * @default enabled + * @enum {string} + */ + dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @default disabled + * @enum {string} + */ + dependency_graph_autosubmit_action?: + | "enabled" + | "disabled" + | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** + * @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. + * @default false + */ + labeled_runners?: boolean; + }; + /** + * @description The enablement status of Dependabot alerts + * @default disabled + * @enum {string} + */ + dependabot_alerts?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot security updates + * @default disabled + * @enum {string} + */ + dependabot_security_updates?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of code scanning default setup + * @default disabled + * @enum {string} + */ + code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; + code_scanning_default_setup_options?: components["schemas"]["code-scanning-default-setup-options"]; + /** + * @description The enablement status of code scanning delegated alert dismissal + * @default not_set + * @enum {string} + */ + code_scanning_delegated_alert_dismissal?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of secret scanning + * @default disabled + * @enum {string} + */ + secret_scanning?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning push protection + * @default disabled + * @enum {string} + */ + secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated bypass + * @default disabled + * @enum {string} + */ + secret_scanning_delegated_bypass?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for secret scanning delegated bypass */ + secret_scanning_delegated_bypass_options?: { + /** @description The bypass reviewers for secret scanning delegated bypass */ + reviewers?: { + /** @description The ID of the team or role selected as a bypass reviewer */ + reviewer_id: number; + /** + * @description The type of the bypass reviewer + * @enum {string} + */ + reviewer_type: "TEAM" | "ROLE"; + }[]; + }; + /** + * @description The enablement status of secret scanning validity checks + * @default disabled + * @enum {string} + */ + secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non provider patterns + * @default disabled + * @enum {string} + */ + secret_scanning_non_provider_patterns?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of Copilot secret scanning + * @default disabled + * @enum {string} + */ + secret_scanning_generic_secrets?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated alert dismissal + * @enum {string} + */ + secret_scanning_delegated_alert_dismissal?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of private vulnerability reporting + * @default disabled + * @enum {string} + */ + private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; + /** + * @description The enforcement status for a security configuration + * @default enforced + * @enum {string} + */ + enforcement?: "enforced" | "unenforced"; + }; + }; + }; + responses: { + /** @description Successfully created code security configuration */ + 201: { + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + }; + }; + /** + * Get default code security configurations + * @description Lists the default code security configurations for an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + "code-security/get-default-configurations": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-security-default-configurations"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Detach configurations from repositories + * @description Detach code security configuration(s) from a set of repositories. + * Repositories will retain their settings but will no longer be associated with the configuration. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + "code-security/detach-configuration": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository IDs to detach from configurations. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + /** + * Get a code security configuration + * @description Gets a code security configuration available in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + "code-security/get-configuration": { + parameters: { + path: { + org: components["parameters"]["org"]; + configuration_id: components["parameters"]["configuration-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a code security configuration + * @description Deletes the desired code security configuration from an organization. + * Repositories attached to the configuration will retain their settings but will no longer be associated with + * the configuration. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + "code-security/delete-configuration": { + parameters: { + path: { + org: components["parameters"]["org"]; + configuration_id: components["parameters"]["configuration-id"]; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + /** + * Update a code security configuration + * @description Updates a code security configuration in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + "code-security/update-configuration": { + parameters: { + path: { + org: components["parameters"]["org"]; + configuration_id: components["parameters"]["configuration-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the code security configuration. Must be unique within the organization. */ + name?: string; + /** @description A description of the code security configuration */ + description?: string; + /** + * @description The enablement status of GitHub Advanced Security + * @enum {string} + */ + advanced_security?: "enabled" | "disabled"; + /** + * @description The enablement status of Dependency Graph + * @enum {string} + */ + dependency_graph?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Automatic dependency submission + * @enum {string} + */ + dependency_graph_autosubmit_action?: + | "enabled" + | "disabled" + | "not_set"; + /** @description Feature options for Automatic dependency submission */ + dependency_graph_autosubmit_action_options?: { + /** @description Whether to use runners labeled with 'dependency-submission' or standard GitHub runners. */ + labeled_runners?: boolean; + }; + /** + * @description The enablement status of Dependabot alerts + * @enum {string} + */ + dependabot_alerts?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of Dependabot security updates + * @enum {string} + */ + dependabot_security_updates?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of code scanning default setup + * @enum {string} + */ + code_scanning_default_setup?: "enabled" | "disabled" | "not_set"; + code_scanning_default_setup_options?: components["schemas"]["code-scanning-default-setup-options"]; + /** + * @description The enablement status of code scanning delegated alert dismissal + * @default disabled + * @enum {string} + */ + code_scanning_delegated_alert_dismissal?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of secret scanning + * @enum {string} + */ + secret_scanning?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning push protection + * @enum {string} + */ + secret_scanning_push_protection?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated bypass + * @enum {string} + */ + secret_scanning_delegated_bypass?: "enabled" | "disabled" | "not_set"; + /** @description Feature options for secret scanning delegated bypass */ + secret_scanning_delegated_bypass_options?: { + /** @description The bypass reviewers for secret scanning delegated bypass */ + reviewers?: { + /** @description The ID of the team or role selected as a bypass reviewer */ + reviewer_id: number; + /** + * @description The type of the bypass reviewer + * @enum {string} + */ + reviewer_type: "TEAM" | "ROLE"; + }[]; + }; + /** + * @description The enablement status of secret scanning validity checks + * @enum {string} + */ + secret_scanning_validity_checks?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning non-provider patterns + * @enum {string} + */ + secret_scanning_non_provider_patterns?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of Copilot secret scanning + * @enum {string} + */ + secret_scanning_generic_secrets?: "enabled" | "disabled" | "not_set"; + /** + * @description The enablement status of secret scanning delegated alert dismissal + * @enum {string} + */ + secret_scanning_delegated_alert_dismissal?: + | "enabled" + | "disabled" + | "not_set"; + /** + * @description The enablement status of private vulnerability reporting + * @enum {string} + */ + private_vulnerability_reporting?: "enabled" | "disabled" | "not_set"; + /** + * @description The enforcement status for a security configuration + * @enum {string} + */ + enforcement?: "enforced" | "unenforced"; + }; + }; + }; + responses: { + /** @description Response when a configuration is updated */ + 200: { + content: { + "application/json": components["schemas"]["code-security-configuration"]; + }; + }; + /** @description Response when no new updates are made */ + 204: { + content: never; + }; + }; + }; + /** + * Attach a configuration to repositories + * @description Attach a code security configuration to a set of repositories. If the repositories specified are already attached to a configuration, they will be re-attached to the provided configuration. + * + * If insufficient GHAS licenses are available to attach the configuration to a repository, only free features will be enabled. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + "code-security/attach-configuration": { + parameters: { + path: { + org: components["parameters"]["org"]; + configuration_id: components["parameters"]["configuration-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The type of repositories to attach the configuration to. `selected` means the configuration will be attached to only the repositories specified by `selected_repository_ids` + * @enum {string} + */ + scope: + | "all" + | "all_without_configurations" + | "public" + | "private_or_internal" + | "selected"; + /** @description An array of repository IDs to attach the configuration to. You can only provide a list of repository ids when the `scope` is set to `selected`. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + }; + }; + /** + * Set a code security configuration as a default for an organization + * @description Sets a code security configuration as a default to be applied to new repositories in your organization. + * + * This configuration will be applied to the matching repository type (all, none, public, private and internal) by default when they are created. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + "code-security/set-configuration-as-default": { + parameters: { + path: { + org: components["parameters"]["org"]; + configuration_id: components["parameters"]["configuration-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Specify which types of repository this security configuration should be applied to by default. + * @enum {string} + */ + default_for_new_repos?: + | "all" + | "none" + | "private_and_internal" + | "public"; + }; + }; + }; + responses: { + /** @description Default successfully changed. */ + 200: { + content: { + "application/json": { + /** + * @description Specifies which types of repository this security configuration is applied to by default. + * @enum {string} + */ + default_for_new_repos?: + | "all" + | "none" + | "private_and_internal" + | "public"; + configuration?: components["schemas"]["code-security-configuration"]; + }; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get repositories associated with a code security configuration + * @description Lists the repositories associated with a code security configuration in an organization. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + "code-security/get-repositories-for-configuration": { + parameters: { + query?: { + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + /** + * @description A comma-separated list of statuses. If specified, only repositories with these attachment statuses will be returned. + * + * Can be: `all`, `attached`, `attaching`, `detached`, `removed`, `enforced`, `failed`, `updating`, `removed_by_enterprise` + */ + status?: string; + }; + path: { + org: components["parameters"]["org"]; + configuration_id: components["parameters"]["configuration-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-security-configuration-repositories"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List codespaces for the organization + * @description Lists the codespaces associated to a specified organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/list-in-organization": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + codespaces: components["schemas"]["codespace"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Manage access control for organization codespaces + * @deprecated + * @description Sets which users can access codespaces in an organization. This is synonymous with granting or revoking codespaces access permissions for users according to the visibility. + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/set-codespaces-access": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Which users can access codespaces in the organization. `disabled` means that no users can access codespaces in the organization. + * @enum {string} + */ + visibility: + | "disabled" + | "selected_members" + | "all_members" + | "all_members_and_outside_collaborators"; + /** @description The usernames of the organization members who should have access to codespaces in the organization. Required when `visibility` is `selected_members`. The provided list of usernames will replace any existing value. */ + selected_usernames?: string[]; + }; + }; + }; + responses: { + /** @description Response when successfully modifying permissions. */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + /** @description Users are neither members nor collaborators of this organization. */ + 400: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Add users to Codespaces access for an organization + * @deprecated + * @description Codespaces for the specified users will be billed to the organization. + * + * To use this endpoint, the access settings for the organization must be set to `selected_members`. + * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/set-codespaces-access-users": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The usernames of the organization members whose codespaces be billed to the organization. */ + selected_usernames: string[]; + }; + }; + }; + responses: { + /** @description Response when successfully modifying permissions. */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + /** @description Users are neither members nor collaborators of this organization. */ + 400: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Remove users from Codespaces access for an organization + * @deprecated + * @description Codespaces for the specified users will no longer be billed to the organization. + * + * To use this endpoint, the access settings for the organization must be set to `selected_members`. + * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/delete-codespaces-access-users": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The usernames of the organization members whose codespaces should not be billed to the organization. */ + selected_usernames: string[]; + }; + }; + }; + responses: { + /** @description Response when successfully modifying permissions. */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + /** @description Users are neither members nor collaborators of this organization. */ + 400: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List organization secrets + * @description Lists all Codespaces development environment secrets available at the organization-level without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/list-org-secrets": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["codespaces-org-secret"][]; + }; + }; + }; + }; + }; + /** + * Get an organization public key + * @description Gets a public key for an organization, which is required in order to encrypt secrets. You need to encrypt the value of a secret before you can create or update secrets. + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/get-org-public-key": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["codespaces-public-key"]; + }; + }; + }; + }; + /** + * Get an organization secret + * @description Gets an organization development environment secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/get-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["codespaces-org-secret"]; + }; + }; + }; + }; + /** + * Create or update an organization secret + * @description Creates or updates an organization development environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/create-or-update-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/codespaces/organization-secrets#get-an-organization-public-key) endpoint. */ + encrypted_value?: string; + /** @description The ID of the key you used to encrypt the secret. */ + key_id?: string; + /** + * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository IDs that can access the organization secret. You can only provide a list of repository IDs when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Delete an organization secret + * @description Deletes an organization development environment secret using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/delete-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List selected repositories for an organization secret + * @description Lists all repositories that have been selected when the `visibility` + * for repository access to a secret is set to `selected`. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/list-selected-repos-for-org-secret": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Set selected repositories for an organization secret + * @description Replaces all repositories for an organization development environment secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/set-selected-repos-for-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + /** @description Conflict when visibility type not set to selected */ + 409: { + content: never; + }; + }; + }; + /** + * Add selected repository to an organization secret + * @description Adds a repository to an organization development environment secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/add-selected-repo-to-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** @description No Content when repository was added to the selected list */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + /** @description Conflict when visibility type is not set to selected */ + 409: { + content: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove selected repository from an organization secret + * @description Removes a repository from an organization development environment secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/remove-selected-repo-from-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** @description Response when repository was removed from the selected list */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + /** @description Conflict when visibility type not set to selected */ + 409: { + content: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get Copilot seat information and settings for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Gets information about an organization's Copilot subscription, including seat breakdown + * and feature policies. To configure these settings, go to your organization's settings on GitHub.com. + * For more information, see "[Managing policies for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-policies-for-copilot-business-in-your-organization)." + * + * Only organization owners can view details about the organization's Copilot Business or Copilot Enterprise subscription. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes to use this endpoint. + */ + "copilot/get-copilot-organization-details": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description OK */ + 200: { + content: { + "application/json": components["schemas"]["copilot-organization-details"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description There is a problem with your account's associated payment method. */ + 422: { + content: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List all Copilot seat assignments for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Lists all Copilot seats for which an organization with a Copilot Business or Copilot Enterprise subscription is currently being billed. + * Only organization owners can view assigned seats. + * + * Each seat object contains information about the assigned user's most recent Copilot activity. Users must have telemetry enabled in their IDE for Copilot in the IDE activity to be reflected in `last_activity_at`. + * For more information about activity data, see "[Reviewing user activity data for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/reviewing-user-activity-data-for-copilot-in-your-organization)." + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes to use this endpoint. + */ + "copilot/list-copilot-seats": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + /** @description Total number of Copilot seats for the organization currently being billed. */ + total_seats?: number; + seats?: components["schemas"]["copilot-seat-details"][]; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Add teams to the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Purchases a GitHub Copilot seat for all users within each specified team. + * The organization will be billed for each seat based on the organization's Copilot plan. For more information about Copilot pricing, see "[About billing for GitHub Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/about-billing-for-github-copilot-in-your-organization)." + * + * Only organization owners can purchase Copilot seats for their organization members. The organization must have a Copilot Business or Copilot Enterprise subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot subscription, see "[Subscribing to Copilot for your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/subscribing-to-copilot-for-your-organization)." + * For more information about setting a suggestion matching policy, see "[Managing policies for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#policies-for-suggestion-matching)." + * + * The response contains the total number of new seats that were created and existing seats that were refreshed. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + "copilot/add-copilot-seats-for-teams": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description List of team names within the organization to which to grant access to GitHub Copilot. */ + selected_teams: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 201: { + content: { + "application/json": { + seats_created: number; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot Business or Enterprise is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ + 422: { + content: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Remove teams from the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Sets seats for all members of each team specified to "pending cancellation". + * This will cause the members of the specified team(s) to lose access to GitHub Copilot at the end of the current billing cycle unless they retain access through another team. + * For more information about disabling access to Copilot, see "[Revoking access to Copilot for members of your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/revoking-access-to-copilot-for-members-of-your-organization)." + * + * Only organization owners can cancel Copilot seats for their organization members. + * + * The response contains the total number of seats set to "pending cancellation". + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + "copilot/cancel-copilot-seat-assignment-for-teams": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of teams from which to revoke access to GitHub Copilot. */ + selected_teams: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + content: { + "application/json": { + seats_cancelled: number; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot Business or Enterprise is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ + 422: { + content: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Add users to the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Purchases a GitHub Copilot seat for each user specified. + * The organization will be billed for each seat based on the organization's Copilot plan. For more information about Copilot pricing, see "[About billing for GitHub Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/about-billing-for-github-copilot-in-your-organization)." + * + * Only organization owners can purchase Copilot seats for their organization members. The organization must have a Copilot Business or Copilot Enterprise subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot subscription, see "[Subscribing to Copilot for your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/subscribing-to-copilot-for-your-organization)." + * For more information about setting a suggestion matching policy, see "[Managing policies for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#policies-for-suggestion-matching)." + * + * The response contains the total number of new seats that were created and existing seats that were refreshed. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + "copilot/add-copilot-seats-for-users": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The usernames of the organization members to be granted access to GitHub Copilot. */ + selected_usernames: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 201: { + content: { + "application/json": { + seats_created: number; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot Business or Enterprise is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ + 422: { + content: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Remove users from the Copilot subscription for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Sets seats for all users specified to "pending cancellation". + * This will cause the specified users to lose access to GitHub Copilot at the end of the current billing cycle unless they retain access through team membership. + * For more information about disabling access to Copilot, see "[Revoking access to Copilot for members of your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/revoking-access-to-copilot-for-members-of-your-organization)." + * + * Only organization owners can cancel Copilot seats for their organization members. + * + * The response contains the total number of seats set to "pending cancellation". + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `admin:org` scopes to use this endpoint. + */ + "copilot/cancel-copilot-seat-assignment-for-users": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The usernames of the organization members for which to revoke access to GitHub Copilot. */ + selected_usernames: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + content: { + "application/json": { + seats_cancelled: number; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot Business or Enterprise is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, the seat management setting is set to enable Copilot for all users or is unconfigured, or a user's seat cannot be cancelled because it was assigned to them via a team. */ + 422: { + content: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get Copilot metrics for an organization + * @description Use this endpoint to see a breakdown of aggregated metrics for various GitHub Copilot features. See the response schema tab for detailed metrics definitions. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the organization contained **five or more members with active Copilot licenses** on that day, as evaluated at the end of that day. + * + * The response contains metrics for up to 28 days prior. Metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * To access this endpoint, the Copilot Metrics API access policy must be enabled for the organization. + * Only organization owners and owners and billing managers of the parent enterprise can view Copilot metrics. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. + */ + "copilot/copilot-metrics-for-organization": { + parameters: { + query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ + since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + until?: string; + page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["copilot-usage-metrics-day"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["usage_metrics_api_disabled"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get a summary of Copilot usage for organization members + * @description > [!NOTE] + * > This endpoint is closing down. It will be accessible throughout February 2025, but will not return any new data after February 1st. + * + * You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + * across an organization, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. + * See the response schema tab for detailed metrics definitions. + * + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * Organization owners, and owners and billing managers of the parent enterprise, can view Copilot usage metrics. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. + */ + "copilot/usage-metrics-for-org": { + parameters: { + query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ + since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + until?: string; + page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["copilot-usage-metrics"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List Dependabot alerts for an organization + * @description Lists Dependabot alerts for an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + "dependabot/list-alerts-for-org": { + parameters: { + query?: { + state?: components["parameters"]["dependabot-alert-comma-separated-states"]; + severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; + ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; + package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; + epss_percentage?: components["parameters"]["dependabot-alert-comma-separated-epss"]; + scope?: components["parameters"]["dependabot-alert-scope"]; + sort?: components["parameters"]["dependabot-alert-sort"]; + direction?: components["parameters"]["direction"]; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + first?: components["parameters"]["pagination-first"]; + last?: components["parameters"]["pagination-last"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["dependabot-alert-with-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * List organization secrets + * @description Lists all secrets available in an organization without revealing their + * encrypted values. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "dependabot/list-org-secrets": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["organization-dependabot-secret"][]; + }; + }; + }; + }; + }; + /** + * Get an organization public key + * @description Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "dependabot/get-org-public-key": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["dependabot-public-key"]; + }; + }; + }; + }; + /** + * Get an organization secret + * @description Gets a single organization secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "dependabot/get-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-dependabot-secret"]; + }; + }; + }; + }; + /** + * Create or update an organization secret + * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization + * permission to use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + "dependabot/create-or-update-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/reference/dependabot#get-an-organization-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + /** + * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/reference/dependabot#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/dependabot#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/dependabot#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: (string | number)[]; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + content: never; + }; + }; + }; + /** + * Delete an organization secret + * @description Deletes a secret in an organization using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "dependabot/delete-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List selected repositories for an organization secret + * @description Lists all repositories that have been selected when the `visibility` + * for repository access to a secret is set to `selected`. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "dependabot/list-selected-repos-for-org-secret": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + }; + /** + * Set selected repositories for an organization secret + * @description Replaces all repositories for an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "dependabot/set-selected-repos-for-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/dependabot/secrets#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/dependabot/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Add selected repository to an organization secret + * @description Adds a repository to an organization secret when the `visibility` for + * repository access is set to `selected`. The visibility is set when you [Create or + * update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "dependabot/add-selected-repo-to-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** @description No Content when repository was added to the selected list */ + 204: { + content: never; + }; + /** @description Conflict when visibility type is not set to selected */ + 409: { + content: never; + }; + }; + }; + /** + * Remove selected repository from an organization secret + * @description Removes a repository from an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "dependabot/remove-selected-repo-from-org-secret": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** @description Response when repository was removed from the selected list */ + 204: { + content: never; + }; + /** @description Conflict when visibility type not set to selected */ + 409: { + content: never; + }; + }; + }; + /** + * Get list of conflicting packages during Docker migration for organization + * @description Lists all packages that are in a specific organization, are readable by the requesting user, and that encountered a conflict during a Docker migration. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + "packages/list-docker-migration-conflicting-packages-for-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * List public organization events + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + "activity/list-public-org-events": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + /** + * List failed organization invitations + * @description The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. + */ + "orgs/list-failed-invitations": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List organization webhooks + * @description List webhooks for an organization. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + "orgs/list-webhooks": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["org-hook"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create an organization webhook + * @description Create a hook that posts payloads in JSON format. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or + * edit webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + "orgs/create-webhook": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Must be passed as "web". */ + name: string; + /** @description Key/value pairs to provide settings for this webhook. */ + config: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + /** @example "kdaigle" */ + username?: string; + /** @example "password" */ + password?: string; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. Set to `["*"]` to receive all possible events. + * @default [ + * "push" + * ] + */ + events?: string[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/orgs/octocat/hooks/1 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get an organization webhook + * @description Returns a webhook configured in an organization. To get only the webhook + * `config` properties, see "[Get a webhook configuration for an organization](/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization). + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + "orgs/get-webhook": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete an organization webhook + * @description Delete a webhook for an organization. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + "orgs/delete-webhook": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update an organization webhook + * @description Updates a webhook configured in an organization. When you update a webhook, + * the `secret` will be overwritten. If you previously had a `secret` set, you must + * provide the same `secret` or set a new `secret` or the secret will be removed. If + * you are only updating individual webhook `config` properties, use "[Update a webhook + * configuration for an organization](/rest/orgs/webhooks#update-a-webhook-configuration-for-an-organization)". + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + "orgs/update-webhook": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description Key/value pairs to provide settings for this webhook. */ + config?: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. + * @default [ + * "push" + * ] + */ + events?: string[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active?: boolean; + /** @example "web" */ + name?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a webhook configuration for an organization + * @description Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/orgs/webhooks#get-an-organization-webhook)." + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + "orgs/get-webhook-config-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + /** + * Update a webhook configuration for an organization + * @description Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/orgs/webhooks#update-an-organization-webhook)." + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + "orgs/update-webhook-config-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + /** + * List deliveries for an organization webhook + * @description Returns a list of webhook deliveries for a webhook configured in an organization. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + "orgs/list-webhook-deliveries": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + cursor?: components["parameters"]["cursor"]; + }; + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a webhook delivery for an organization webhook + * @description Returns a delivery for a webhook configured in an organization. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + "orgs/get-webhook-delivery": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Redeliver a delivery for an organization webhook + * @description Redeliver a delivery for a webhook configured in an organization. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + "orgs/redeliver-webhook-delivery": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Ping an organization webhook + * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) + * to be sent to the hook. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + "orgs/ping-webhook": { + parameters: { + path: { + org: components["parameters"]["org"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get route stats by actor + * @description Get API request count statistics for an actor broken down by route within a specified time frame. + */ + "api-insights/get-route-stats-by-actor": { + parameters: { + query: { + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + direction?: components["parameters"]["direction"]; + sort?: components["parameters"]["api-insights-route-stats-sort"]; + api_route_substring?: components["parameters"]["api-insights-api-route-substring"]; + }; + path: { + org: components["parameters"]["org"]; + actor_type: components["parameters"]["api-insights-actor-type"]; + actor_id: components["parameters"]["api-insights-actor-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["api-insights-route-stats"]; + }; + }; + }; + }; + /** + * Get subject stats + * @description Get API request statistics for all subjects within an organization within a specified time frame. Subjects can be users or GitHub Apps. + */ + "api-insights/get-subject-stats": { + parameters: { + query: { + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + direction?: components["parameters"]["direction"]; + sort?: components["parameters"]["api-insights-sort"]; + subject_name_substring?: components["parameters"]["api-insights-subject-name-substring"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["api-insights-subject-stats"]; + }; + }; + }; + }; + /** + * Get summary stats + * @description Get overall statistics of API requests made within an organization by all users and apps within a specified time frame. + */ + "api-insights/get-summary-stats": { + parameters: { + query: { + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["api-insights-summary-stats"]; + }; + }; + }; + }; + /** + * Get summary stats by user + * @description Get overall statistics of API requests within the organization for a user. + */ + "api-insights/get-summary-stats-by-user": { + parameters: { + query: { + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + }; + path: { + org: components["parameters"]["org"]; + user_id: components["parameters"]["api-insights-user-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["api-insights-summary-stats"]; + }; + }; + }; + }; + /** + * Get summary stats by actor + * @description Get overall statistics of API requests within the organization made by a specific actor. Actors can be GitHub App installations, OAuth apps or other tokens on behalf of a user. + */ + "api-insights/get-summary-stats-by-actor": { + parameters: { + query: { + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + }; + path: { + org: components["parameters"]["org"]; + actor_type: components["parameters"]["api-insights-actor-type"]; + actor_id: components["parameters"]["api-insights-actor-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["api-insights-summary-stats"]; + }; + }; + }; + }; + /** + * Get time stats + * @description Get the number of API requests and rate-limited requests made within an organization over a specified time period. + */ + "api-insights/get-time-stats": { + parameters: { + query: { + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + timestamp_increment: components["parameters"]["api-insights-timestamp-increment"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["api-insights-time-stats"]; + }; + }; + }; + }; + /** + * Get time stats by user + * @description Get the number of API requests and rate-limited requests made within an organization by a specific user over a specified time period. + */ + "api-insights/get-time-stats-by-user": { + parameters: { + query: { + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + timestamp_increment: components["parameters"]["api-insights-timestamp-increment"]; + }; + path: { + org: components["parameters"]["org"]; + user_id: components["parameters"]["api-insights-user-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["api-insights-time-stats"]; + }; + }; + }; + }; + /** + * Get time stats by actor + * @description Get the number of API requests and rate-limited requests made within an organization by a specific actor within a specified time period. + */ + "api-insights/get-time-stats-by-actor": { + parameters: { + query: { + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + timestamp_increment: components["parameters"]["api-insights-timestamp-increment"]; + }; + path: { + org: components["parameters"]["org"]; + actor_type: components["parameters"]["api-insights-actor-type"]; + actor_id: components["parameters"]["api-insights-actor-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["api-insights-time-stats"]; + }; + }; + }; + }; + /** + * Get user stats + * @description Get API usage statistics within an organization for a user broken down by the type of access. + */ + "api-insights/get-user-stats": { + parameters: { + query: { + min_timestamp: components["parameters"]["api-insights-min-timestamp"]; + max_timestamp?: components["parameters"]["api-insights-max-timestamp"]; + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + direction?: components["parameters"]["direction"]; + sort?: components["parameters"]["api-insights-sort"]; + actor_name_substring?: components["parameters"]["api-insights-actor-name-substring"]; + }; + path: { + org: components["parameters"]["org"]; + user_id: components["parameters"]["api-insights-user-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["api-insights-user-stats"]; + }; + }; + }; + }; + /** + * Get an organization installation for the authenticated app + * @description Enables an authenticated GitHub App to find the organization's installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-org-installation": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + }; + }; + /** + * List app installations for an organization + * @description Lists all GitHub Apps in an organization. The installation count includes + * all GitHub Apps installed on repositories in the organization. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:read` scope to use this endpoint. + */ + "orgs/list-app-installations": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + installations: components["schemas"]["installation"][]; + }; + }; + }; + }; + }; + /** + * Get interaction restrictions for an organization + * @description Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. + */ + "interactions/get-restrictions-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": + | components["schemas"]["interaction-limit-response"] + | Record; + }; + }; + }; + }; + /** + * Set interaction restrictions for an organization + * @description Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. + */ + "interactions/set-restrictions-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove interaction restrictions for an organization + * @description Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. + */ + "interactions/remove-restrictions-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List pending organization invitations + * @description The return hash contains a `role` field which refers to the Organization + * Invitation role and will be one of the following values: `direct_member`, `admin`, + * `billing_manager`, or `hiring_manager`. If the invitee is not a GitHub + * member, the `login` field in the return hash will be `null`. + */ + "orgs/list-pending-invitations": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + /** @description Filter invitations by their member role. */ + role?: + | "all" + | "admin" + | "direct_member" + | "billing_manager" + | "hiring_manager"; + /** @description Filter invitations by their invitation source. */ + invitation_source?: "all" | "member" | "scim"; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create an organization invitation + * @description Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + "orgs/create-invitation": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description **Required unless you provide `email`**. GitHub user ID for the person you are inviting. */ + invitee_id?: number; + /** @description **Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user. */ + email?: string; + /** + * @description The role for the new member. + * * `admin` - Organization owners with full administrative rights to the organization and complete access to all repositories and teams. + * * `direct_member` - Non-owner organization members with ability to see other members and join teams by invitation. + * * `billing_manager` - Non-owner organization members with ability to manage the billing settings of your organization. + * * `reinstate` - The previous role assigned to the invitee before they were removed from your organization. Can be one of the roles listed above. Only works if the invitee was previously part of your organization. + * @default direct_member + * @enum {string} + */ + role?: "admin" | "direct_member" | "billing_manager" | "reinstate"; + /** @description Specify IDs for the teams you want to invite new members to. */ + team_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["organization-invitation"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Cancel an organization invitation + * @description Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). + */ + "orgs/cancel-invitation": { + parameters: { + path: { + org: components["parameters"]["org"]; + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List organization invitation teams + * @description List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. + */ + "orgs/list-invitation-teams": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List issue types for an organization + * @description Lists all issue types for an organization. + */ + "orgs/list-issue-types": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["issue-type"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create issue type for an organization + * @description Create a new issue type for an organization. + * + * You can find out more about issue types in [Managing issue types in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). + */ + "orgs/create-issue-type": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["organization-create-issue-type"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["issue-type"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Update issue type for an organization + * @description Updates an issue type for an organization. + * + * You can find out more about issue types in [Managing issue types in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). + */ + "orgs/update-issue-type": { + parameters: { + path: { + org: components["parameters"]["org"]; + issue_type_id: components["parameters"]["issue-type-id"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["organization-update-issue-type"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["issue-type"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Delete issue type for an organization + * @description Deletes an issue type for an organization. + * + * You can find out more about issue types in [Managing issue types in an organization](https://docs.github.com/issues/tracking-your-work-with-issues/configuring-issues/managing-issue-types-in-an-organization). + */ + "orgs/delete-issue-type": { + parameters: { + path: { + org: components["parameters"]["org"]; + issue_type_id: components["parameters"]["issue-type-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * List organization issues assigned to the authenticated user + * @description List issues in an organization assigned to the authenticated user. + * + * > [!NOTE] + * > GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/list-for-org": { + parameters: { + query?: { + /** @description Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ + filter?: + | "assigned" + | "created" + | "mentioned" + | "subscribed" + | "repos" + | "all"; + /** @description Indicates the state of the issues to return. */ + state?: "open" | "closed" | "all"; + labels?: components["parameters"]["labels"]; + /** @description Can be the name of an issue type. */ + type?: string; + /** @description What to sort results by. */ + sort?: "created" | "updated" | "comments"; + direction?: components["parameters"]["direction"]; + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List organization members + * @description List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. + */ + "orgs/list-members": { + parameters: { + query?: { + /** @description Filter members returned in the list. `2fa_disabled` means that only members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. This options is only available for organization owners. */ + filter?: "2fa_disabled" | "all"; + /** @description Filter members returned by their role. */ + role?: "all" | "admin" | "member"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Check organization membership for a user + * @description Check if a user is, publicly or privately, a member of the organization. + */ + "orgs/check-membership-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response if requester is an organization member and user is a member */ + 204: { + content: never; + }; + /** @description Response if requester is not an organization member */ + 302: { + headers: { + /** @example https://api.github.com/orgs/github/public_members/pezra */ + Location?: string; + }; + content: never; + }; + /** @description Not Found if requester is an organization member and user is not a member */ + 404: { + content: never; + }; + }; + }; + /** + * Remove an organization member + * @description Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. + */ + "orgs/remove-member": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * List codespaces for a user in organization + * @description Lists the codespaces that a member of an organization has for repositories in that organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/get-codespaces-for-user-in-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + codespaces: components["schemas"]["codespace"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Delete a codespace from the organization + * @description Deletes a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/delete-from-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Stop a codespace for an organization user + * @description Stops a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "codespaces/stop-in-organization": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get Copilot seat assignment details for a user + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Gets the GitHub Copilot seat details for a member of an organization who currently has access to GitHub Copilot. + * + * The seat object contains information about the user's most recent Copilot activity. Users must have telemetry enabled in their IDE for Copilot in the IDE activity to be reflected in `last_activity_at`. + * For more information about activity data, see "[Reviewing user activity data for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-github-copilot-in-your-organization/reviewing-activity-related-to-github-copilot-in-your-organization/reviewing-user-activity-data-for-copilot-in-your-organization)." + * + * Only organization owners can view Copilot seat assignment details for members of their organization. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot` or `read:org` scopes to use this endpoint. + */ + "copilot/get-copilot-seat-details-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description The user's GitHub Copilot seat details, including usage. */ + 200: { + content: { + "application/json": components["schemas"]["copilot-seat-details"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot Business or Enterprise is not enabled for this organization or the user has a pending organization invitation. */ + 422: { + content: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get organization membership for a user + * @description In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. + */ + "orgs/get-membership-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Set organization membership for a user + * @description Only authenticated organization owners can add a member to the organization or update the member's role. + * + * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/orgs/members#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. + * + * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. + * + * **Rate limits** + * + * To prevent abuse, organization owners are limited to creating 50 organization invitations for an organization within a 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. + */ + "orgs/set-membership-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The role to give the user in the organization. Can be one of: + * * `admin` - The user will become an owner of the organization. + * * `member` - The user will become a non-owner member of the organization. + * @default member + * @enum {string} + */ + role?: "admin" | "member"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove organization membership for a user + * @description In order to remove a user's membership with an organization, the authenticated user must be an organization owner. + * + * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. + */ + "orgs/remove-membership-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List organization migrations + * @description Lists the most recent migrations, including both exports (which can be started through the REST API) and imports (which cannot be started using the REST API). + * + * A list of `repositories` is only returned for export migrations. + */ + "migrations/list-for-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + /** @description Exclude attributes from the API response to improve performance */ + exclude?: "repositories"[]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["migration"][]; + }; + }; + }; + }; + /** + * Start an organization migration + * @description Initiates the generation of a migration archive. + */ + "migrations/start-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description A list of arrays indicating which repositories should be migrated. */ + repositories: string[]; + /** + * @description Indicates whether repositories should be locked (to prevent manipulation) while migrating data. + * @default false + * @example true + */ + lock_repositories?: boolean; + /** + * @description Indicates whether metadata should be excluded and only git source should be included for the migration. + * @default false + */ + exclude_metadata?: boolean; + /** + * @description Indicates whether the repository git data should be excluded from the migration. + * @default false + */ + exclude_git_data?: boolean; + /** + * @description Indicates whether attachments should be excluded from the migration (to reduce migration archive file size). + * @default false + * @example true + */ + exclude_attachments?: boolean; + /** + * @description Indicates whether releases should be excluded from the migration (to reduce migration archive file size). + * @default false + * @example true + */ + exclude_releases?: boolean; + /** + * @description Indicates whether projects owned by the organization or users should be excluded. from the migration. + * @default false + * @example true + */ + exclude_owner_projects?: boolean; + /** + * @description Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags). + * @default false + * @example true + */ + org_metadata_only?: boolean; + /** @description Exclude related items from being returned in the response in order to improve performance of the request. */ + exclude?: "repositories"[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get an organization migration status + * @description Fetches the status of a migration. + * + * The `state` of a migration can be one of the following values: + * + * * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ + "migrations/get-status-for-org": { + parameters: { + query?: { + /** @description Exclude attributes from the API response to improve performance */ + exclude?: "repositories"[]; + }; + path: { + org: components["parameters"]["org"]; + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** + * @description * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ + 200: { + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Download an organization migration archive + * @description Fetches the URL to a migration archive. + */ + "migrations/download-archive-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** @description Response */ + 302: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete an organization migration archive + * @description Deletes a previous migration archive. Migration archives are automatically deleted after seven days. + */ + "migrations/delete-archive-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Unlock an organization repository + * @description Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/repos/repos#delete-a-repository) when the migration is complete and you no longer need the source data. + */ + "migrations/unlock-repo-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + migration_id: components["parameters"]["migration-id"]; + repo_name: components["parameters"]["repo-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List repositories in an organization migration + * @description List all the repositories for this organization migration. + */ + "migrations/list-repos-for-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get all organization roles for an organization + * @description Lists the organization roles available in this organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, the authenticated user must be one of: + * + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permissions of `read_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/list-org-roles": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response - list of organization roles */ + 200: { + content: { + "application/json": { + /** @description The total number of organization roles available to the organization. */ + total_count?: number; + /** @description The list of organization roles available to the organization. */ + roles?: components["schemas"]["organization-role"][]; + }; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove all organization roles for a team + * @description Removes all assigned organization roles from a team. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/revoke-all-org-roles-team": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Assign an organization role to a team + * @description Assigns an organization role to a team in an organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/assign-team-to-org-role": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + role_id: components["parameters"]["role-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + /** @description Response if the organization, team or role does not exist. */ + 404: { + content: never; + }; + /** @description Response if the organization roles feature is not enabled for the organization, or validation failed. */ + 422: { + content: never; + }; + }; + }; + /** + * Remove an organization role from a team + * @description Removes an organization role from a team. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/revoke-org-role-team": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + role_id: components["parameters"]["role-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Remove all organization roles for a user + * @description Revokes all assigned organization roles from a user. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/revoke-all-org-roles-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Assign an organization role to a user + * @description Assigns an organization role to a member of an organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/assign-user-to-org-role": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + role_id: components["parameters"]["role-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + /** @description Response if the organization, user or role does not exist. */ + 404: { + content: never; + }; + /** @description Response if the organization roles feature is not enabled enabled for the organization, the validation failed, or the user is not an organization member. */ + 422: { + content: never; + }; + }; + }; + /** + * Remove an organization role from a user + * @description Remove an organization role from a user. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/revoke-org-role-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + role_id: components["parameters"]["role-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get an organization role + * @description Gets an organization role that is available to this organization. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, the authenticated user must be one of: + * + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permissions of `read_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/get-org-role": { + parameters: { + path: { + org: components["parameters"]["org"]; + role_id: components["parameters"]["role-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["organization-role"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List teams that are assigned to an organization role + * @description Lists the teams that are assigned to an organization role. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, you must be an administrator for the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/list-org-role-teams": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + role_id: components["parameters"]["role-id"]; + }; + }; + responses: { + /** @description Response - List of assigned teams */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["team-role-assignment"][]; + }; + }; + /** @description Response if the organization or role does not exist. */ + 404: { + content: never; + }; + /** @description Response if the organization roles feature is not enabled or validation failed. */ + 422: { + content: never; + }; + }; + }; + /** + * List users that are assigned to an organization role + * @description Lists organization members that are assigned to an organization role. For more information on organization roles, see "[Using organization roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/using-organization-roles)." + * + * To use this endpoint, you must be an administrator for the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/list-org-role-users": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + role_id: components["parameters"]["role-id"]; + }; + }; + responses: { + /** @description Response - List of assigned users */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["user-role-assignment"][]; + }; + }; + /** @description Response if the organization or role does not exist. */ + 404: { + content: never; + }; + /** @description Response if the organization roles feature is not enabled or validation failed. */ + 422: { + content: never; + }; + }; + }; + /** + * List outside collaborators for an organization + * @description List all users who are outside collaborators of an organization. + */ + "orgs/list-outside-collaborators": { + parameters: { + query?: { + /** @description Filter the list of outside collaborators. `2fa_disabled` means that only outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. */ + filter?: "2fa_disabled" | "all"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + /** + * Convert an organization member to outside collaborator + * @description When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." + */ + "orgs/convert-member-to-outside-collaborator": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description When set to `true`, the request will be performed asynchronously. Returns a 202 status code when the job is successfully queued. + * @default false + */ + async?: boolean; + }; + }; + }; + responses: { + /** @description User is getting converted asynchronously */ + 202: { + content: { + "application/json": Record; + }; + }; + /** @description User was converted */ + 204: { + content: never; + }; + /** @description Forbidden if user is the last owner of the organization, not a member of the organization, or if the enterprise enforces a policy for inviting outside collaborators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." */ + 403: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Remove outside collaborator from an organization + * @description Removing a user from this list will remove them from all the organization's repositories. + */ + "orgs/remove-outside-collaborator": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + /** @description Unprocessable Entity if user is a member of the organization */ + 422: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + }; + }; + /** + * List packages for an organization + * @description Lists packages in an organization readable by the user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/list-packages-for-organization": { + parameters: { + query: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + visibility?: components["parameters"]["package-visibility"]; + /** @description The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + page?: number; + /** @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 400: components["responses"]["package_es_list_error"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get a package for an organization + * @description Gets a specific package in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/get-package-for-organization": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; + }; + /** + * Delete a package for an organization + * @description Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/delete-package-for-org": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restore a package for an organization + * @description Restores an entire package in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/restore-package-for-org": { + parameters: { + query?: { + /** @description package token */ + token?: string; + }; + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List package versions for a package owned by an organization + * @description Lists package versions for a package owned by an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/get-all-package-versions-for-package-owned-by-org": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + /** @description The state of the package, either active or deleted. */ + state?: "active" | "deleted"; + }; + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get a package version for an organization + * @description Gets a specific package version in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/get-package-version-for-organization": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + org: components["parameters"]["org"]; + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; + }; + }; + /** + * Delete package version for an organization + * @description Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/delete-package-version-for-org": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + org: components["parameters"]["org"]; + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restore package version for an organization + * @description Restores a specific package version in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/restore-package-version-for-org": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + org: components["parameters"]["org"]; + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List requests to access organization resources with fine-grained personal access tokens + * @description Lists requests from organization members to access organization resources with a fine-grained personal access token. + * + * Only GitHub Apps can use this endpoint. + */ + "orgs/list-pat-grant-requests": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + sort?: components["parameters"]["personal-access-token-sort"]; + direction?: components["parameters"]["direction"]; + owner?: components["parameters"]["personal-access-token-owner"]; + repository?: components["parameters"]["personal-access-token-repository"]; + permission?: components["parameters"]["personal-access-token-permission"]; + last_used_before?: components["parameters"]["personal-access-token-before"]; + last_used_after?: components["parameters"]["personal-access-token-after"]; + token_id?: components["parameters"]["personal-access-token-token-id"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["organization-programmatic-access-grant-request"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Review requests to access organization resources with fine-grained personal access tokens + * @description Approves or denies multiple pending requests to access organization resources via a fine-grained personal access token. + * + * Only GitHub Apps can use this endpoint. + */ + "orgs/review-pat-grant-requests-in-bulk": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Unique identifiers of the requests for access via fine-grained personal access token. Must be formed of between 1 and 100 `pat_request_id` values. */ + pat_request_ids?: number[]; + /** + * @description Action to apply to the requests. + * @enum {string} + */ + action: "approve" | "deny"; + /** @description Reason for approving or denying the requests. Max 1024 characters. */ + reason?: string | null; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Review a request to access organization resources with a fine-grained personal access token + * @description Approves or denies a pending request to access organization resources via a fine-grained personal access token. + * + * Only GitHub Apps can use this endpoint. + */ + "orgs/review-pat-grant-request": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** @description Unique identifier of the request for access via fine-grained personal access token. */ + pat_request_id: number; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Action to apply to the request. + * @enum {string} + */ + action: "approve" | "deny"; + /** @description Reason for approving or denying the request. Max 1024 characters. */ + reason?: string | null; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List repositories requested to be accessed by a fine-grained personal access token + * @description Lists the repositories a fine-grained personal access token request is requesting access to. + * + * Only GitHub Apps can use this endpoint. + */ + "orgs/list-pat-grant-request-repositories": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + /** @description Unique identifier of the request for access via fine-grained personal access token. */ + pat_request_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List fine-grained personal access tokens with access to organization resources + * @description Lists approved fine-grained personal access tokens owned by organization members that can access organization resources. + * + * Only GitHub Apps can use this endpoint. + */ + "orgs/list-pat-grants": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + sort?: components["parameters"]["personal-access-token-sort"]; + direction?: components["parameters"]["direction"]; + owner?: components["parameters"]["personal-access-token-owner"]; + repository?: components["parameters"]["personal-access-token-repository"]; + permission?: components["parameters"]["personal-access-token-permission"]; + last_used_before?: components["parameters"]["personal-access-token-before"]; + last_used_after?: components["parameters"]["personal-access-token-after"]; + token_id?: components["parameters"]["personal-access-token-token-id"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["organization-programmatic-access-grant"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Update the access to organization resources via fine-grained personal access tokens + * @description Updates the access organization members have to organization resources via fine-grained personal access tokens. Limited to revoking a token's existing access. + * + * Only GitHub Apps can use this endpoint. + */ + "orgs/update-pat-accesses": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Action to apply to the fine-grained personal access token. + * @enum {string} + */ + action: "revoke"; + /** @description The IDs of the fine-grained personal access tokens. */ + pat_ids: number[]; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Update the access a fine-grained personal access token has to organization resources + * @description Updates the access an organization member has to organization resources via a fine-grained personal access token. Limited to revoking the token's existing access. Limited to revoking a token's existing access. + * + * Only GitHub Apps can use this endpoint. + */ + "orgs/update-pat-access": { + parameters: { + path: { + org: components["parameters"]["org"]; + pat_id: components["parameters"]["fine-grained-personal-access-token-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Action to apply to the fine-grained personal access token. + * @enum {string} + */ + action: "revoke"; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List repositories a fine-grained personal access token has access to + * @description Lists the repositories a fine-grained personal access token has access to. + * + * Only GitHub Apps can use this endpoint. + */ + "orgs/list-pat-grant-repositories": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + /** @description Unique identifier of the fine-grained personal access token. */ + pat_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List private registries for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Lists all private registry configurations available at the organization-level without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "private-registries/list-org-private-registries": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + configurations: components["schemas"]["org-private-registry-configuration"][]; + }; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a private registry for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Creates a private registry configuration with an encrypted value for an organization. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "private-registries/create-org-private-registry": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The registry type. + * @enum {string} + */ + registry_type: "maven_repository"; + /** @description The username to use when authenticating with the private registry. This field should be omitted if the private registry does not require a username for authentication. */ + username?: string | null; + /** @description The value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get private registries public key for an organization](https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization) endpoint. */ + encrypted_value: string; + /** @description The ID of the key you used to encrypt the secret. */ + key_id: string; + /** + * @description Which type of organization repositories have access to the private registry. `selected` means only the repositories specified by `selected_repository_ids` can access the private registry. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository IDs that can access the organization private registry. You can only provide a list of repository IDs when `visibility` is set to `selected`. You can manage the list of selected repositories using the [Update a private registry for an organization](https://docs.github.com/rest/private-registries/organization-configurations#update-a-private-registry-for-an-organization) endpoint. This field should be omitted if `visibility` is set to `all` or `private`. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description The organization private registry configuration */ + 201: { + content: { + "application/json": components["schemas"]["org-private-registry-configuration-with-selected-repositories"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get private registries public key for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Gets the org public key, which is needed to encrypt private registry secrets. You need to encrypt a secret before you can create or update secrets. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "private-registries/get-org-public-key": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + /** + * @description The identifier for the key. + * @example 012345678912345678 + */ + key_id: string; + /** + * @description The Base64 encoded public key. + * @example 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 + */ + key: string; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get a private registry for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Get the configuration of a single private registry defined for an organization, omitting its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "private-registries/get-org-private-registry": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description The specified private registry configuration for the organization */ + 200: { + content: { + "application/json": components["schemas"]["org-private-registry-configuration"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a private registry for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Delete a private registry configuration at the organization-level. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "private-registries/delete-org-private-registry": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update a private registry for an organization + * @description > [!NOTE] + * > This endpoint is in public preview and is subject to change. + * + * Updates a private registry configuration with an encrypted value for an organization. Encrypt your secret using [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "private-registries/update-org-private-registry": { + parameters: { + path: { + org: components["parameters"]["org"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The registry type. + * @enum {string} + */ + registry_type?: "maven_repository"; + /** @description The username to use when authenticating with the private registry. This field should be omitted if the private registry does not require a username for authentication. */ + username?: string | null; + /** @description The value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get private registries public key for an organization](https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization) endpoint. */ + encrypted_value?: string; + /** @description The ID of the key you used to encrypt the secret. */ + key_id?: string; + /** + * @description Which type of organization repositories have access to the private registry. `selected` means only the repositories specified by `selected_repository_ids` can access the private registry. + * @enum {string} + */ + visibility?: "all" | "private" | "selected"; + /** @description An array of repository IDs that can access the organization private registry. You can only provide a list of repository IDs when `visibility` is set to `selected`. This field should be omitted if `visibility` is set to `all` or `private`. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List organization projects + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects/list-for-org": { + parameters: { + query?: { + /** @description Indicates the state of the projects to return. */ + state?: "open" | "closed" | "all"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["project"][]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Create an organization project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects/create-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the project. */ + name: string; + /** @description The description of the project. */ + body?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Get all custom properties for an organization + * @description Gets all custom properties defined for an organization. + * Organization members can read these properties. + */ + "orgs/get-all-custom-properties": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["custom-property"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create or update custom properties for an organization + * @description Creates new or updates existing custom properties defined for an organization in a batch. + * + * If the property already exists, the existing property will be replaced with the new values. + * Missing optional values will fall back to default values, previous values will be overwritten. + * E.g. if a property exists with `values_editable_by: org_and_repo_actors` and it's updated without specifying `values_editable_by`, it will be updated to default value `org_actors`. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. + */ + "orgs/create-or-update-custom-properties": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The array of custom properties to create or update. */ + properties: components["schemas"]["custom-property"][]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["custom-property"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get a custom property for an organization + * @description Gets a custom property that is defined for an organization. + * Organization members can read these properties. + */ + "orgs/get-custom-property": { + parameters: { + path: { + org: components["parameters"]["org"]; + custom_property_name: components["parameters"]["custom-property-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["custom-property"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create or update a custom property for an organization + * @description Creates a new or updates an existing custom property that is defined for an organization. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. + */ + "orgs/create-or-update-custom-property": { + parameters: { + path: { + org: components["parameters"]["org"]; + custom_property_name: components["parameters"]["custom-property-name"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["custom-property-set-payload"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["custom-property"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Remove a custom property for an organization + * @description Removes a custom property that is defined for an organization. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. + */ + "orgs/remove-custom-property": { + parameters: { + path: { + org: components["parameters"]["org"]; + custom_property_name: components["parameters"]["custom-property-name"]; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List custom property values for organization repositories + * @description Lists organization repositories with all of their custom property values. + * Organization members can read these properties. + */ + "orgs/list-custom-properties-values-for-repos": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + /** @description Finds repositories in the organization with a query containing one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching for repositories](https://docs.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. */ + repository_query?: string; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["org-repo-custom-property-values"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create or update custom property values for organization repositories + * @description Create new or update existing custom property values for repositories in a batch that belong to an organization. + * Each target repository will have its custom property values updated to match the values provided in the request. + * + * A maximum of 30 repositories can be updated in a single request. + * + * Using a value of `null` for a custom property will remove or 'unset' the property value from the repository. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_values_editor` in the organization. + */ + "orgs/create-or-update-custom-properties-values-for-repos": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of repositories that the custom property values will be applied to. */ + repository_names: string[]; + /** @description List of custom property names and associated values to apply to the repositories. */ + properties: components["schemas"]["custom-property-value"][]; + }; + }; + }; + responses: { + /** @description No Content when custom property values are successfully created or updated */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List public organization members + * @description Members of an organization can choose to have their membership publicized or not. + */ + "orgs/list-public-members": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + /** + * Check public organization membership for a user + * @description Check if the provided user is a public member of the organization. + */ + "orgs/check-public-membership-for-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response if user is a public member */ + 204: { + content: never; + }; + /** @description Not Found if user is not a public member */ + 404: { + content: never; + }; + }; + }; + /** + * Set public organization membership for the authenticated user + * @description The user can publicize their own membership. (A user cannot publicize the membership for another user.) + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + "orgs/set-public-membership-for-authenticated-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Remove public organization membership for the authenticated user + * @description Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default. + */ + "orgs/remove-public-membership-for-authenticated-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List organization repositories + * @description Lists repositories for the specified organization. + * + * > [!NOTE] + * > In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + */ + "repos/list-for-org": { + parameters: { + query?: { + /** @description Specifies the types of repositories you want returned. */ + type?: "all" | "public" | "private" | "forks" | "sources" | "member"; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ + direction?: "asc" | "desc"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + /** + * Create an organization repository + * @description Creates a new repository in the specified organization. The authenticated user must be a member of the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository. + */ + "repos/create-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the repository. */ + name: string; + /** @description A short description of the repository. */ + description?: string; + /** @description A URL with more information about the repository. */ + homepage?: string; + /** + * @description Whether the repository is private. + * @default false + */ + private?: boolean; + /** + * @description The visibility of the repository. + * @enum {string} + */ + visibility?: "public" | "private"; + /** + * @description Either `true` to enable issues for this repository or `false` to disable them. + * @default true + */ + has_issues?: boolean; + /** + * @description Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + * @default true + */ + has_projects?: boolean; + /** + * @description Either `true` to enable the wiki for this repository or `false` to disable it. + * @default true + */ + has_wiki?: boolean; + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads?: boolean; + /** + * @description Either `true` to make this repo available as a template repository or `false` to prevent it. + * @default false + */ + is_template?: boolean; + /** @description The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ + team_id?: number; + /** + * @description Pass `true` to create an initial commit with empty README. + * @default false + */ + auto_init?: boolean; + /** @description Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, "Haskell". */ + gitignore_template?: string; + /** @description Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://docs.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, "mit" or "mpl-2.0". */ + license_template?: string; + /** + * @description Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + * @default true + */ + allow_squash_merge?: boolean; + /** + * @description Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge. + * @default false + */ + allow_auto_merge?: boolean; + /** + * @description Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. **The authenticated user must be an organization owner to set this property to `true`.** + * @default false + */ + delete_branch_on_merge?: boolean; + /** + * @deprecated + * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @description The custom properties for the new repository. The keys are the custom property names, and the values are the corresponding custom property values. */ + custom_properties?: { + [key: string]: unknown; + }; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get all organization repository rulesets + * @description Get all the repository rulesets for an organization. + */ + "repos/get-org-rulesets": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + targets?: components["parameters"]["ruleset-targets"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-ruleset"][]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Create an organization repository ruleset + * @description Create a repository ruleset for an organization. + */ + "repos/create-org-ruleset": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + /** @description Request body */ + requestBody: { + content: { + "application/json": { + /** @description The name of the ruleset. */ + name: string; + /** + * @description The target of the ruleset + * @default branch + * @enum {string} + */ + target?: "branch" | "tag" | "push" | "repository"; + enforcement: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + conditions?: components["schemas"]["org-ruleset-conditions"]; + /** @description An array of rules within the ruleset. */ + rules?: components["schemas"]["repository-rule"][]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List organization rule suites + * @description Lists suites of rule evaluations at the organization level. + * For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." + */ + "repos/get-org-rule-suites": { + parameters: { + query?: { + ref?: components["parameters"]["ref-in-query"]; + repository_name?: components["parameters"]["repository-name-in-query"]; + time_period?: components["parameters"]["time-period"]; + actor_name?: components["parameters"]["actor-name-in-query"]; + rule_suite_result?: components["parameters"]["rule-suite-result"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["rule-suites"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get an organization rule suite + * @description Gets information about a suite of rule evaluations from within an organization. + * For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." + */ + "repos/get-org-rule-suite": { + parameters: { + path: { + org: components["parameters"]["org"]; + rule_suite_id: components["parameters"]["rule-suite-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["rule-suite"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get an organization repository ruleset + * @description Get a repository ruleset for an organization. + * + * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + * making the API request has write access to the ruleset. + */ + "repos/get-org-ruleset": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Update an organization repository ruleset + * @description Update a ruleset for an organization. + */ + "repos/update-org-ruleset": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + }; + /** @description Request body */ + requestBody?: { + content: { + "application/json": { + /** @description The name of the ruleset. */ + name?: string; + /** + * @description The target of the ruleset + * @enum {string} + */ + target?: "branch" | "tag" | "push" | "repository"; + enforcement?: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + conditions?: components["schemas"]["org-ruleset-conditions"]; + /** @description An array of rules within the ruleset. */ + rules?: components["schemas"]["repository-rule"][]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Delete an organization repository ruleset + * @description Delete a ruleset for an organization. + */ + "repos/delete-org-ruleset": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get organization ruleset history + * @description Get the history of an organization ruleset. + */ + "orgs/get-org-ruleset-history": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["ruleset-version"][]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get organization ruleset version + * @description Get a version of an organization ruleset. + */ + "orgs/get-org-ruleset-version": { + parameters: { + path: { + org: components["parameters"]["org"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + /** @description The ID of the version */ + version_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["ruleset-version-with-state"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List secret scanning alerts for an organization + * @description Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + "secret-scanning/list-alerts-for-org": { + parameters: { + query?: { + state?: components["parameters"]["secret-scanning-alert-state"]; + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; + sort?: components["parameters"]["secret-scanning-alert-sort"]; + direction?: components["parameters"]["direction"]; + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + before?: components["parameters"]["secret-scanning-pagination-before-org-repo"]; + after?: components["parameters"]["secret-scanning-pagination-after-org-repo"]; + validity?: components["parameters"]["secret-scanning-alert-validity"]; + is_publicly_leaked?: components["parameters"]["secret-scanning-alert-publicly-leaked"]; + is_multi_repo?: components["parameters"]["secret-scanning-alert-multi-repo"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["organization-secret-scanning-alert"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List repository security advisories for an organization + * @description Lists repository security advisories for an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + "security-advisories/list-org-repository-advisories": { + parameters: { + query?: { + direction?: components["parameters"]["direction"]; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "published"; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + /** @description The number of advisories to return per page. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + /** @description Filter by the state of the repository advisories. Only advisories of this state will be returned. */ + state?: "triage" | "draft" | "published" | "closed"; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-advisory"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List security manager teams + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed starting January 1, 2026. Please use the "[Organization Roles](https://docs.github.com/rest/orgs/organization-roles)" endpoints instead. + */ + "orgs/list-security-manager-teams": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-simple"][]; + }; + }; + }; + }; + /** + * Add a security manager team + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed starting January 1, 2026. Please use the "[Organization Roles](https://docs.github.com/rest/orgs/organization-roles)" endpoints instead. + */ + "orgs/add-security-manager-team": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Remove a security manager team + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed starting January 1, 2026. Please use the "[Organization Roles](https://docs.github.com/rest/orgs/organization-roles)" endpoints instead. + */ + "orgs/remove-security-manager-team": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get GitHub Actions billing for an organization + * @description Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + "billing/get-github-actions-billing-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-billing-usage"]; + }; + }; + }; + }; + /** + * Get GitHub Packages billing for an organization + * @description Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + "billing/get-github-packages-billing-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["packages-billing-usage"]; + }; + }; + }; + }; + /** + * Get shared storage billing for an organization + * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + "billing/get-shared-storage-billing-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["combined-billing-usage"]; + }; + }; + }; + }; + /** + * List hosted compute network configurations for an organization + * @description Lists all hosted compute network configurations configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:network_configurations` scope to use this endpoint. + */ + "hosted-compute/list-network-configurations-for-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + network_configurations: components["schemas"]["network-configuration"][]; + }; + }; + }; + }; + }; + /** + * Create a hosted compute network configuration for an organization + * @description Creates a hosted compute network configuration for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `write:network_configurations` scope to use this endpoint. + */ + "hosted-compute/create-network-configuration-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the network configuration. Must be between 1 and 100 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'. */ + name: string; + /** + * @description The hosted compute service to use for the network configuration. + * @enum {string} + */ + compute_service?: "none" | "actions"; + /** @description The identifier of the network settings to use for the network configuration. Exactly one network settings must be specified. */ + network_settings_ids: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["network-configuration"]; + }; + }; + }; + }; + /** + * Get a hosted compute network configuration for an organization + * @description Gets a hosted compute network configuration configured in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:network_configurations` scope to use this endpoint. + */ + "hosted-compute/get-network-configuration-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + network_configuration_id: components["parameters"]["network-configuration-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["network-configuration"]; + }; + }; + }; + }; + /** + * Delete a hosted compute network configuration from an organization + * @description Deletes a hosted compute network configuration from an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `write:network_configurations` scope to use this endpoint. + */ + "hosted-compute/delete-network-configuration-from-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + network_configuration_id: components["parameters"]["network-configuration-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update a hosted compute network configuration for an organization + * @description Updates a hosted compute network configuration for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `write:network_configurations` scope to use this endpoint. + */ + "hosted-compute/update-network-configuration-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + network_configuration_id: components["parameters"]["network-configuration-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the network configuration. Must be between 1 and 100 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'. */ + name?: string; + /** + * @description The hosted compute service to use for the network configuration. + * @enum {string} + */ + compute_service?: "none" | "actions"; + /** @description The identifier of the network settings to use for the network configuration. Exactly one network settings must be specified. */ + network_settings_ids?: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["network-configuration"]; + }; + }; + }; + }; + /** + * Get a hosted compute network settings resource for an organization + * @description Gets a hosted compute network settings resource configured for an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:network_configurations` scope to use this endpoint. + */ + "hosted-compute/get-network-settings-for-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + network_settings_id: components["parameters"]["network-settings-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["network-settings"]; + }; + }; + }; + }; + /** + * Get Copilot metrics for a team + * @description Use this endpoint to see a breakdown of aggregated metrics for various GitHub Copilot features. See the response schema tab for detailed metrics definitions. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the team had **five or more members with active Copilot licenses** on that day, as evaluated at the end of that day. + * + * The response contains metrics for up to 28 days prior. Metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * To access this endpoint, the Copilot Metrics API access policy must be enabled for the organization containing the team within GitHub settings. + * Only organization owners for the organization that contains this team and owners and billing managers of the parent enterprise can view Copilot metrics for a team. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. + */ + "copilot/copilot-metrics-for-team": { + parameters: { + query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ + since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + until?: string; + page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + }; + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["copilot-usage-metrics-day"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["usage_metrics_api_disabled"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get a summary of Copilot usage for a team + * @description > [!NOTE] + * > This endpoint is closing down. It will be accessible throughout February 2025, but will not return any new data after February 1st. + * + * You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + * for users within a team, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. + * See the response schema tab for detailed metrics definitions. + * + * The response contains metrics for up to 28 days prior. Usage metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * > [!NOTE] + * > This endpoint will only return results for a given day if the team had five or more members with active Copilot licenses, as evaluated at the end of that day. + * + * Organization owners for the organization that contains this team, and owners and billing managers of the parent enterprise can view Copilot usage metrics for a team. + * + * OAuth app tokens and personal access tokens (classic) need either the `manage_billing:copilot`, `read:org`, or `read:enterprise` scopes to use this endpoint. + */ + "copilot/usage-metrics-for-team": { + parameters: { + query?: { + /** @description Show usage metrics since this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`). Maximum value is 28 days ago. */ + since?: string; + /** @description Show usage metrics until this date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (`YYYY-MM-DDTHH:MM:SSZ`) and should not preceed the `since` date if it is passed. */ + until?: string; + page?: components["parameters"]["page"]; + /** @description The number of days of metrics to display per page (max 28). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + }; + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["copilot-usage-metrics"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List teams + * @description Lists all teams in an organization that are visible to the authenticated user. + */ + "teams/list": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Create a team + * @description To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/articles/setting-team-creation-permissions-in-your-organization)." + * + * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/about-teams)". + */ + "teams/create": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the team. */ + name: string; + /** @description The description of the team. */ + description?: string; + /** @description List GitHub IDs for organization members who will become team maintainers. */ + maintainers?: string[]; + /** @description The full name (e.g., "organization-name/repository-name") of repositories to add the team to. */ + repo_names?: string[]; + /** + * @description The level of privacy this team should have. The options are: + * **For a non-nested team:** + * * `secret` - only visible to organization owners and members of this team. + * * `closed` - visible to all members of this organization. + * Default: `secret` + * **For a parent or child team:** + * * `closed` - visible to all members of this organization. + * Default for child team: `closed` + * @enum {string} + */ + privacy?: "secret" | "closed"; + /** + * @description The notification setting the team has chosen. The options are: + * * `notifications_enabled` - team members receive notifications when the team is @mentioned. + * * `notifications_disabled` - no one receives notifications. + * Default: `notifications_enabled` + * @enum {string} + */ + notification_setting?: + | "notifications_enabled" + | "notifications_disabled"; + /** + * @description **Closing down notice**. The permission that new repositories will be added to the team with when none is specified. + * @default pull + * @enum {string} + */ + permission?: "pull" | "push"; + /** @description The ID of a team to set as the parent team. */ + parent_team_id?: number; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a team by name + * @description Gets a team using the team's `slug`. To create the `slug`, GitHub replaces special characters in the `name` string, changes all words to lowercase, and replaces spaces with a `-` separator. For example, `"My TEam Näme"` would become `my-team-name`. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. + */ + "teams/get-by-name": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a team + * @description To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. + */ + "teams/delete-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update a team + * @description To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. + */ + "teams/update-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the team. */ + name?: string; + /** @description The description of the team. */ + description?: string; + /** + * @description The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: + * **For a non-nested team:** + * * `secret` - only visible to organization owners and members of this team. + * * `closed` - visible to all members of this organization. + * **For a parent or child team:** + * * `closed` - visible to all members of this organization. + * @enum {string} + */ + privacy?: "secret" | "closed"; + /** + * @description The notification setting the team has chosen. Editing teams without specifying this parameter leaves `notification_setting` intact. The options are: + * * `notifications_enabled` - team members receive notifications when the team is @mentioned. + * * `notifications_disabled` - no one receives notifications. + * @enum {string} + */ + notification_setting?: + | "notifications_enabled" + | "notifications_disabled"; + /** + * @description **Closing down notice**. The permission that new repositories will be added to the team with when none is specified. + * @default pull + * @enum {string} + */ + permission?: "pull" | "push" | "admin"; + /** @description The ID of a team to set as the parent team. */ + parent_team_id?: number | null; + }; + }; + }; + responses: { + /** @description Response when the updated information already exists */ + 200: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List discussions + * @description List all discussions on a team's page. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + "teams/list-discussions-in-org": { + parameters: { + query?: { + direction?: components["parameters"]["direction"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + /** @description Pinned discussions only filter */ + pinned?: string; + }; + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["team-discussion"][]; + }; + }; + }; + }; + /** + * Create a discussion + * @description Creates a new discussion post on a team's page. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "teams/create-discussion-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title: string; + /** @description The discussion post's body text. */ + body: string; + /** + * @description Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + * @default false + */ + private?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + /** + * Get a discussion + * @description Get a specific discussion on a team's page. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + "teams/get-discussion-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + /** + * Delete a discussion + * @description Delete a discussion from a team's page. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "teams/delete-discussion-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update a discussion + * @description Edits the title and body text of a discussion post. Only the parameters you provide are updated. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "teams/update-discussion-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title?: string; + /** @description The discussion post's body text. */ + body?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + /** + * List discussion comments + * @description List all comments on a team discussion. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + "teams/list-discussion-comments-in-org": { + parameters: { + query?: { + direction?: components["parameters"]["direction"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"][]; + }; + }; + }; + }; + /** + * Create a discussion comment + * @description Creates a new comment on a team discussion. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "teams/create-discussion-comment-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + /** + * Get a discussion comment + * @description Get a specific comment on a team discussion. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + "teams/get-discussion-comment-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + /** + * Delete a discussion comment + * @description Deletes a comment on a team discussion. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "teams/delete-discussion-comment-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update a discussion comment + * @description Edits the body text of a discussion comment. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "teams/update-discussion-comment-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + /** + * List reactions for a team discussion comment + * @description List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + "reactions/list-for-team-discussion-comment-in-org": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + /** + * Create reaction for a team discussion comment + * @description Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "reactions/create-for-team-discussion-comment-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion comment. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + responses: { + /** @description Response when the reaction type has already been added to this team discussion comment */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + }; + /** + * Delete team discussion comment reaction + * @description > [!NOTE] + * > You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "reactions/delete-for-team-discussion-comment": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List reactions for a team discussion + * @description List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + "reactions/list-for-team-discussion-in-org": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + /** + * Create reaction for a team discussion + * @description Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "reactions/create-for-team-discussion-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + }; + /** + * Delete team discussion reaction + * @description > [!NOTE] + * > You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "reactions/delete-for-team-discussion": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + discussion_number: components["parameters"]["discussion-number"]; + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List pending team invitations + * @description The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. + */ + "teams/list-pending-invitations-in-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + }; + }; + /** + * List team members + * @description Team members will include the members of child teams. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + "teams/list-members-in-org": { + parameters: { + query?: { + /** @description Filters members returned by their role in the team. */ + role?: "member" | "maintainer" | "all"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + /** + * Get team membership for a user + * @description Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. + * + * > [!NOTE] + * > The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). + */ + "teams/get-membership-for-user-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** @description if user has no team membership */ + 404: { + content: never; + }; + }; + }; + /** + * Add or update team membership for a user + * @description Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * > [!NOTE] + * > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + "teams/add-or-update-membership-for-user-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + username: components["parameters"]["username"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The role that this user should have in the team. + * @default member + * @enum {string} + */ + role?: "member" | "maintainer"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** @description Forbidden if team synchronization is set up */ + 403: { + content: never; + }; + /** @description Unprocessable Entity if you attempt to add an organization to a team */ + 422: { + content: never; + }; + }; + }; + /** + * Remove team membership for a user + * @description To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * > [!NOTE] + * > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + "teams/remove-membership-for-user-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + /** @description Forbidden if team synchronization is set up */ + 403: { + content: never; + }; + }; + }; + /** + * List team projects + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "teams/list-projects-in-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["team-project"][]; + }; + }; + }; + }; + /** + * Check team permissions for a project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "teams/check-permissions-for-project-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-project"]; + }; + }; + /** @description Not Found if project is not managed by this team */ + 404: { + content: never; + }; + }; + }; + /** + * Add or update team project permissions + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "teams/add-or-update-project-permissions-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + project_id: components["parameters"]["project-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * @enum {string} + */ + permission?: "read" | "write" | "admin"; + } | null; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + /** @description Forbidden if the project is not owned by the organization */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + }; + }; + /** + * Remove a project from a team + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "teams/remove-project-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List team repositories + * @description Lists a team's repositories visible to the authenticated user. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. + */ + "teams/list-repos-in-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + /** + * Check team permissions for a repository + * @description Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types/) via the `application/vnd.github.v3.repository+json` accept header. + * + * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. + * + * If the repository is private, you must have at least `read` permission for that repository, and your token must have the `repo` or `admin:org` scope. Otherwise, you will receive a `404 Not Found` response status. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + "teams/check-permissions-for-repo-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Alternative response with repository permissions */ + 200: { + content: { + "application/json": components["schemas"]["team-repository"]; + }; + }; + /** @description Response if team has permission for the repository. This is the response when the repository media type hasn't been provded in the Accept header. */ + 204: { + content: never; + }; + /** @description Not Found if team does not have permission for the repository */ + 404: { + content: never; + }; + }; + }; + /** + * Add or update team repository permissions + * @description To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + * + * For more information about the permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + */ + "teams/add-or-update-repo-permissions-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The permission to grant the team on this repository. We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and you can also specify a custom repository role name, if the owning organization has defined any. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. */ + permission?: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Remove a repository from a team + * @description If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + "teams/remove-repo-in-org": { + parameters: { + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List child teams + * @description Lists the child teams of the team specified by `{team_slug}`. + * + * > [!NOTE] + * > You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. + */ + "teams/list-child-in-org": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + org: components["parameters"]["org"]; + team_slug: components["parameters"]["team-slug"]; + }; + }; + responses: { + /** @description if child teams exist */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + }; + }; + /** + * Enable or disable a security feature for an organization + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** The ability to enable or disable a security feature for all eligible repositories in an organization is closing down. Please use [code security configurations](https://docs.github.com/rest/code-security/configurations) instead. For more information, see the [changelog](https://github.blog/changelog/2024-07-22-deprecation-of-api-endpoint-to-enable-or-disable-a-security-feature-for-an-organization/). + * + * Enables or disables the specified security feature for all eligible repositories in an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * The authenticated user must be an organization owner or be member of a team with the security manager role to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org`, `write:org`, or `repo` scopes to use this endpoint. + */ + "orgs/enable-or-disable-security-product-on-all-org-repos": { + parameters: { + path: { + org: components["parameters"]["org"]; + security_product: components["parameters"]["security-product"]; + enablement: components["parameters"]["org-security-product-enablement"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description CodeQL query suite to be used. If you specify the `query_suite` parameter, the default setup will be configured with this query suite only on all repositories that didn't have default setup already configured. It will not change the query suite on repositories that already have default setup configured. + * If you don't specify any `query_suite` in your request, the preferred query suite of the organization will be applied. + * @enum {string} + */ + query_suite?: "default" | "extended"; + }; + }; + }; + responses: { + /** @description Action started */ + 204: { + content: never; + }; + /** @description The action could not be taken due to an in progress enablement, or a policy is preventing enablement */ + 422: { + content: never; + }; + }; + }; + /** + * Get a project card + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects/get-card": { + parameters: { + path: { + card_id: components["parameters"]["card-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["project-card"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a project card + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects/delete-card": { + parameters: { + path: { + card_id: components["parameters"]["card-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** @description Forbidden */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update an existing project card + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects/update-card": { + parameters: { + path: { + card_id: components["parameters"]["card-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The project card's note + * @example Update all gems + */ + note?: string | null; + /** + * @description Whether or not the card is archived + * @example false + */ + archived?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["project-card"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Move a project card + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects/move-card": { + parameters: { + path: { + card_id: components["parameters"]["card-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The position of the card in a column. Can be one of: `top`, `bottom`, or `after:` to place after the specified card. + * @example bottom + */ + position: string; + /** + * @description The unique identifier of the column the card should be moved to + * @example 42 + */ + column_id?: number; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": Record; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** @description Forbidden */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + resource?: string; + field?: string; + }[]; + }; + }; + }; + 422: components["responses"]["validation_failed"]; + /** @description Response */ + 503: { + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + }[]; + }; + }; + }; + }; + }; + /** + * Get a project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects/get-column": { + parameters: { + path: { + column_id: components["parameters"]["column-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["project-column"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects/delete-column": { + parameters: { + path: { + column_id: components["parameters"]["column-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Update an existing project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects/update-column": { + parameters: { + path: { + column_id: components["parameters"]["column-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Name of the project column + * @example Remaining tasks + */ + name: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["project-column"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * List project cards + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects/list-cards": { + parameters: { + query?: { + /** @description Filters the project cards that are returned by the card's state. */ + archived_state?: "all" | "archived" | "not_archived"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + column_id: components["parameters"]["column-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["project-card"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Create a project card + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects/create-card": { + parameters: { + path: { + column_id: components["parameters"]["column-id"]; + }; + }; + requestBody: { + content: { + "application/json": OneOf< + [ + { + /** + * @description The project card's note + * @example Update all gems + */ + note: string | null; + }, + { + /** + * @description The unique identifier of the content associated with the card + * @example 42 + */ + content_id: number; + /** + * @description The piece of content associated with the card + * @example PullRequest + */ + content_type: string; + }, + ] + >; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["project-card"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** @description Validation failed */ + 422: { + content: { + "application/json": + | components["schemas"]["validation-error"] + | components["schemas"]["validation-error-simple"]; + }; + }; + /** @description Response */ + 503: { + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + }[]; + }; + }; + }; + }; + }; + /** + * Move a project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects/move-column": { + parameters: { + path: { + column_id: components["parameters"]["column-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The position of the column in a project. Can be one of: `first`, `last`, or `after:` to place after the specified column. + * @example last + */ + position: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": Record; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Get a project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects/get": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Delete a project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects/delete": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** @description Delete Success */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** @description Forbidden */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * Update a project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects/update": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Name of the project + * @example Week One Sprint + */ + name?: string; + /** + * @description Body of the project + * @example This project represents the sprint of the first week in January + */ + body?: string | null; + /** + * @description State of the project; either 'open' or 'closed' + * @example open + */ + state?: string; + /** + * @description The baseline permission that all organization members have on this project + * @enum {string} + */ + organization_permission?: "read" | "write" | "admin" | "none"; + /** @description Whether or not this project can be seen by everyone. */ + private?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** @description Forbidden */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + }; + /** @description Not Found if the authenticated user does not have access to the project */ + 404: { + content: never; + }; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * List project collaborators + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects/list-collaborators": { + parameters: { + query?: { + /** @description Filters the collaborators by their affiliation. `outside` means outside collaborators of a project that are not a member of the project's organization. `direct` means collaborators with permissions to a project, regardless of organization membership status. `all` means all collaborators the authenticated user can see. */ + affiliation?: "outside" | "direct" | "all"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Add project collaborator + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects/add-collaborator": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + username: components["parameters"]["username"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permission to grant the collaborator. + * @default write + * @example write + * @enum {string} + */ + permission?: "read" | "write" | "admin"; + } | null; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove user as a collaborator + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects/remove-collaborator": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get project permission for a user + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects/get-permission-for-user": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["project-collaborator-permission"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List project columns + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects/list-columns": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["project-column"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Create a project column + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects/create-column": { + parameters: { + path: { + project_id: components["parameters"]["project-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Name of the project column + * @example Remaining tasks + */ + name: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["project-column"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Get rate limit status for the authenticated user + * @description > [!NOTE] + * > Accessing this endpoint does not count against your REST API rate limit. + * + * Some categories of endpoints have custom rate limits that are separate from the rate limit governing the other REST API endpoints. For this reason, the API response categorizes your rate limit. Under `resources`, you'll see objects relating to different categories: + * * The `core` object provides your rate limit status for all non-search-related resources in the REST API. + * * The `search` object provides your rate limit status for the REST API for searching (excluding code searches). For more information, see "[Search](https://docs.github.com/rest/search/search)." + * * The `code_search` object provides your rate limit status for the REST API for searching code. For more information, see "[Search code](https://docs.github.com/rest/search/search#search-code)." + * * The `graphql` object provides your rate limit status for the GraphQL API. For more information, see "[Resource limitations](https://docs.github.com/graphql/overview/resource-limitations#rate-limit)." + * * The `integration_manifest` object provides your rate limit status for the `POST /app-manifests/{code}/conversions` operation. For more information, see "[Creating a GitHub App from a manifest](https://docs.github.com/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app-from-a-manifest#3-you-exchange-the-temporary-code-to-retrieve-the-app-configuration)." + * * The `dependency_snapshots` object provides your rate limit status for submitting snapshots to the dependency graph. For more information, see "[Dependency graph](https://docs.github.com/rest/dependency-graph)." + * * The `code_scanning_upload` object provides your rate limit status for uploading SARIF results to code scanning. For more information, see "[Uploading a SARIF file to GitHub](https://docs.github.com/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github)." + * * The `actions_runner_registration` object provides your rate limit status for registering self-hosted runners in GitHub Actions. For more information, see "[Self-hosted runners](https://docs.github.com/rest/actions/self-hosted-runners)." + * * The `source_import` object is no longer in use for any API endpoints, and it will be removed in the next API version. For more information about API versions, see "[API Versions](https://docs.github.com/rest/about-the-rest-api/api-versions)." + * + * > [!NOTE] + * > The `rate` object is closing down. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. + */ + "rate-limit/get": { + responses: { + /** @description Response */ + 200: { + headers: { + "X-RateLimit-Limit": components["headers"]["x-rate-limit-limit"]; + "X-RateLimit-Remaining": components["headers"]["x-rate-limit-remaining"]; + "X-RateLimit-Reset": components["headers"]["x-rate-limit-reset"]; + }; + content: { + "application/json": components["schemas"]["rate-limit-overview"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get a repository + * @description The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. + * + * > [!NOTE] + * > In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + */ + "repos/get": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a repository + * @description Deleting a repository requires admin access. + * + * If an organization owner has configured the organization to prevent members from deleting organization-owned + * repositories, you will get a `403 Forbidden` response. + * + * OAuth app tokens and personal access tokens (classic) need the `delete_repo` scope to use this endpoint. + */ + "repos/delete": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 307: components["responses"]["temporary_redirect"]; + /** @description If an organization owner has configured the organization to prevent members from deleting organization-owned repositories, a member will get this response: */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update a repository + * @description **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/repos/repos#replace-all-repository-topics) endpoint. + */ + "repos/update": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the repository. */ + name?: string; + /** @description A short description of the repository. */ + description?: string; + /** @description A URL with more information about the repository. */ + homepage?: string; + /** + * @description Either `true` to make the repository private or `false` to make it public. Default: `false`. + * **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://docs.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. + * @default false + */ + private?: boolean; + /** + * @description The visibility of the repository. + * @enum {string} + */ + visibility?: "public" | "private"; + /** + * @description Specify which security and analysis features to enable or disable for the repository. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * For example, to enable GitHub Advanced Security, use this data in the body of the `PATCH` request: + * `{ "security_and_analysis": {"advanced_security": { "status": "enabled" } } }`. + * + * You can check which security and analysis features are currently enabled by using a `GET /repos/{owner}/{repo}` request. + */ + security_and_analysis?: { + /** @description Use the `status` property to enable or disable GitHub Advanced Security for this repository. For more information, see "[About GitHub Advanced Security](/github/getting-started-with-github/learning-about-github/about-github-advanced-security)." */ + advanced_security?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + /** @description Use the `status` property to enable or disable secret scanning for this repository. For more information, see "[About secret scanning](/code-security/secret-security/about-secret-scanning)." */ + secret_scanning?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + /** @description Use the `status` property to enable or disable secret scanning push protection for this repository. For more information, see "[Protecting pushes with secret scanning](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." */ + secret_scanning_push_protection?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + /** @description Use the `status` property to enable or disable secret scanning AI detection for this repository. For more information, see "[Responsible detection of generic secrets with AI](https://docs.github.com/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/responsible-ai-generic-secrets)." */ + secret_scanning_ai_detection?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + /** @description Use the `status` property to enable or disable secret scanning non-provider patterns for this repository. For more information, see "[Supported secret scanning patterns](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)." */ + secret_scanning_non_provider_patterns?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + } | null; + /** + * @description Either `true` to enable issues for this repository or `false` to disable them. + * @default true + */ + has_issues?: boolean; + /** + * @description Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + * @default true + */ + has_projects?: boolean; + /** + * @description Either `true` to enable the wiki for this repository or `false` to disable it. + * @default true + */ + has_wiki?: boolean; + /** + * @description Either `true` to make this repo available as a template repository or `false` to prevent it. + * @default false + */ + is_template?: boolean; + /** @description Updates the default branch for this repository. */ + default_branch?: string; + /** + * @description Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + * @default true + */ + allow_squash_merge?: boolean; + /** + * @description Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + * @default true + */ + allow_merge_commit?: boolean; + /** + * @description Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + * @default true + */ + allow_rebase_merge?: boolean; + /** + * @description Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge. + * @default false + */ + allow_auto_merge?: boolean; + /** + * @description Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + * @default false + */ + delete_branch_on_merge?: boolean; + /** + * @description Either `true` to always allow a pull request head branch that is behind its base branch to be updated even if it is not required to be up to date before merging, or false otherwise. + * @default false + */ + allow_update_branch?: boolean; + /** + * @deprecated + * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property is closing down. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default?: boolean; + /** + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether to archive this repository. `false` will unarchive a previously archived repository. + * @default false + */ + archived?: boolean; + /** + * @description Either `true` to allow private forks, or `false` to prevent private forks. + * @default false + */ + allow_forking?: boolean; + /** + * @description Either `true` to require contributors to sign off on web-based commits, or `false` to not require contributors to sign off on web-based commits. + * @default false + */ + web_commit_signoff_required?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 307: components["responses"]["temporary_redirect"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List artifacts for a repository + * @description Lists all artifacts for a repository. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "actions/list-artifacts-for-repo": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + name?: components["parameters"]["artifact-name"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + artifacts: components["schemas"]["artifact"][]; + }; + }; + }; + }; + }; + /** + * Get an artifact + * @description Gets a specific artifact for a workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-artifact": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + artifact_id: components["parameters"]["artifact-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["artifact"]; + }; + }; + }; + }; + /** + * Delete an artifact + * @description Deletes an artifact for a workflow run. + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/delete-artifact": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + artifact_id: components["parameters"]["artifact-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Download an artifact + * @description Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in + * the response header to find the URL for the download. The `:archive_format` must be `zip`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/download-artifact": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + artifact_id: components["parameters"]["artifact-id"]; + archive_format: string; + }; + }; + responses: { + /** @description Response */ + 302: { + headers: { + Location: components["headers"]["location"]; + }; + content: never; + }; + 410: components["responses"]["gone"]; + }; + }; + /** + * Get GitHub Actions cache usage for a repository + * @description Gets GitHub Actions cache usage for a repository. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-actions-cache-usage": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-cache-usage-by-repository"]; + }; + }; + }; + }; + /** + * List GitHub Actions caches for a repository + * @description Lists the GitHub Actions caches for a repository. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-actions-cache-list": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + ref?: components["parameters"]["actions-cache-git-ref-full"]; + key?: components["parameters"]["actions-cache-key"]; + sort?: components["parameters"]["actions-cache-list-sort"]; + direction?: components["parameters"]["direction"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["actions-cache-list"]; + }; + }; + }; + }; + /** + * Delete GitHub Actions caches for a repository (using a cache key) + * @description Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/delete-actions-cache-by-key": { + parameters: { + query: { + key: components["parameters"]["actions-cache-key-required"]; + ref?: components["parameters"]["actions-cache-git-ref-full"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-cache-list"]; + }; + }; + }; + }; + /** + * Delete a GitHub Actions cache for a repository (using a cache ID) + * @description Deletes a GitHub Actions cache for a repository, using a cache ID. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/delete-actions-cache-by-id": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + cache_id: components["parameters"]["cache-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get a job for a workflow run + * @description Gets a specific job in a workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-job-for-workflow-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + job_id: components["parameters"]["job-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["job"]; + }; + }; + }; + }; + /** + * Download job logs for a workflow run + * @description Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look + * for `Location:` in the response header to find the URL for the download. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/download-job-logs-for-workflow-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + job_id: components["parameters"]["job-id"]; + }; + }; + responses: { + /** @description Response */ + 302: { + headers: { + /** @example https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/jobs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D */ + Location?: string; + }; + content: never; + }; + }; + }; + /** + * Re-run a job from a workflow run + * @description Re-run a job and its dependent jobs in a workflow run. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/re-run-job-for-workflow-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + job_id: components["parameters"]["job-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging?: boolean; + } | null; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get the customization template for an OIDC subject claim for a repository + * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-custom-oidc-sub-claim-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Status response */ + 200: { + content: { + "application/json": components["schemas"]["oidc-custom-sub-repo"]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Set the customization template for an OIDC subject claim for a repository + * @description Sets the customization template and `opt-in` or `opt-out` flag for an OpenID Connect (OIDC) subject claim for a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/set-custom-oidc-sub-claim-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored. */ + use_default: boolean; + /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ + include_claim_keys?: string[]; + }; + }; + }; + responses: { + /** @description Empty response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * List repository organization secrets + * @description Lists all organization secrets shared with a repository without revealing their encrypted + * values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/list-repo-organization-secrets": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["actions-secret"][]; + }; + }; + }; + }; + }; + /** + * List repository organization variables + * @description Lists all organization variables shared with a repository. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/list-repo-organization-variables": { + parameters: { + query?: { + per_page?: components["parameters"]["variables-per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + variables: components["schemas"]["actions-variable"][]; + }; + }; + }; + }; + }; + /** + * Get GitHub Actions permissions for a repository + * @description Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-github-actions-permissions-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-repository-permissions"]; + }; + }; + }; + }; + /** + * Set GitHub Actions permissions for a repository + * @description Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/set-github-actions-permissions-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + enabled: components["schemas"]["actions-enabled"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get the level of access for workflows outside of the repository + * @description Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to private repositories. + * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-workflow-access-to-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-workflow-access-to-repository"]; + }; + }; + }; + }; + /** + * Set the level of access for workflows outside of the repository + * @description Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to private repositories. + * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/set-workflow-access-to-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-workflow-access-to-repository"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get allowed actions and reusable workflows for a repository + * @description Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-allowed-actions-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; + }; + /** + * Set allowed actions and reusable workflows for a repository + * @description Sets the actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/set-allowed-actions-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get default workflow permissions for a repository + * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, + * as well as if GitHub Actions can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-github-actions-default-workflow-permissions-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; + }; + }; + }; + }; + /** + * Set default workflow permissions for a repository + * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, and sets if GitHub Actions + * can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/set-github-actions-default-workflow-permissions-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; + }; + }; + responses: { + /** @description Success response */ + 204: { + content: never; + }; + /** @description Conflict response when changing a setting is prevented by the owning organization */ + 409: { + content: never; + }; + }; + }; + /** + * List self-hosted runners for a repository + * @description Lists all self-hosted runners configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/list-self-hosted-runners-for-repo": { + parameters: { + query?: { + /** @description The name of a self-hosted runner. */ + name?: string; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; + }; + /** + * List runner applications for a repository + * @description Lists binaries for the runner application that you can download and run. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/list-runner-applications-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["runner-application"][]; + }; + }; + }; + }; + /** + * Create configuration for a just-in-time runner for a repository + * @description Generates a configuration that can be passed to the runner application at startup. + * + * The authenticated user must have admin access to the repository. + * + * OAuth tokens and personal access tokens (classic) need the`repo` scope to use this endpoint. + */ + "actions/generate-runner-jitconfig-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the new runner. */ + name: string; + /** @description The ID of the runner group to register the runner to. */ + runner_group_id: number; + /** @description The names of the custom labels to add to the runner. **Minimum items**: 1. **Maximum items**: 100. */ + labels: string[]; + /** + * @description The working directory to be used for job execution, relative to the runner install directory. + * @default _work + */ + work_folder?: string; + }; + }; + }; + responses: { + 201: components["responses"]["actions_runner_jitconfig"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Create a registration token for a repository + * @description Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to configure your self-hosted runner: + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/create-registration-token-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + /** + * Create a remove token for a repository + * @description Returns a token that you can pass to the `config` script to remove a self-hosted runner from an repository. The token expires after one hour. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization: + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/create-remove-token-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; + }; + /** + * Get a self-hosted runner for a repository + * @description Gets a specific self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-self-hosted-runner-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["runner"]; + }; + }; + }; + }; + /** + * Delete a self-hosted runner from a repository + * @description Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/delete-self-hosted-runner-from-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List labels for a self-hosted runner for a repository + * @description Lists all labels for a self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/list-labels-for-self-hosted-runner-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Set custom labels for a self-hosted runner for a repository + * @description Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/set-custom-labels-for-self-hosted-runner-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ + labels: string[]; + }; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Add custom labels to a self-hosted runner for a repository + * @description Adds custom labels to a self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/add-custom-labels-to-self-hosted-runner-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to add to the runner. */ + labels: string[]; + }; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Remove all custom labels from a self-hosted runner for a repository + * @description Remove all custom labels from a self-hosted runner configured in a + * repository. Returns the remaining read-only labels from the runner. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/remove-all-custom-labels-from-self-hosted-runner-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + runner_id: components["parameters"]["runner-id"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels_readonly"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Remove a custom label from a self-hosted runner for a repository + * @description Remove a custom label from a self-hosted runner configured + * in a repository. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/remove-custom-label-from-self-hosted-runner-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + runner_id: components["parameters"]["runner-id"]; + name: components["parameters"]["runner-label-name"]; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * List workflow runs for a repository + * @description Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + * + * This endpoint will return up to 1,000 results for each search when using the following parameters: `actor`, `branch`, `check_suite_id`, `created`, `event`, `head_sha`, `status`. + */ + "actions/list-workflow-runs-for-repo": { + parameters: { + query?: { + actor?: components["parameters"]["actor"]; + branch?: components["parameters"]["workflow-run-branch"]; + event?: components["parameters"]["event"]; + status?: components["parameters"]["workflow-run-status"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + created?: components["parameters"]["created"]; + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; + head_sha?: components["parameters"]["workflow-run-head-sha"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + workflow_runs: components["schemas"]["workflow-run"][]; + }; + }; + }; + }; + }; + /** + * Get a workflow run + * @description Gets a specific workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "actions/get-workflow-run": { + parameters: { + query?: { + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["workflow-run"]; + }; + }; + }; + }; + /** + * Delete a workflow run + * @description Deletes a specific workflow run. + * + * Anyone with write access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/delete-workflow-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get the review history for a workflow run + * @description Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "actions/get-reviews-for-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["environment-approvals"][]; + }; + }; + }; + }; + /** + * Approve a workflow run for a fork pull request + * @description Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/approve-workflow-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List workflow run artifacts + * @description Lists artifacts for a workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "actions/list-workflow-run-artifacts": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + name?: components["parameters"]["artifact-name"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + artifacts: components["schemas"]["artifact"][]; + }; + }; + }; + }; + }; + /** + * Get a workflow run attempt + * @description Gets a specific workflow run attempt. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "actions/get-workflow-run-attempt": { + parameters: { + query?: { + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + attempt_number: components["parameters"]["attempt-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["workflow-run"]; + }; + }; + }; + }; + /** + * List jobs for a workflow run attempt + * @description Lists jobs for a specific workflow run attempt. You can use parameters to narrow the list of results. For more information + * about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "actions/list-jobs-for-workflow-run-attempt": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + attempt_number: components["parameters"]["attempt-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + jobs: components["schemas"]["job"][]; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Download workflow run attempt logs + * @description Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after + * 1 minute. Look for `Location:` in the response header to find the URL for the download. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/download-workflow-run-attempt-logs": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + attempt_number: components["parameters"]["attempt-number"]; + }; + }; + responses: { + /** @description Response */ + 302: { + headers: { + /** @example https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/runs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D */ + Location?: string; + }; + content: never; + }; + }; + }; + /** + * Cancel a workflow run + * @description Cancels a workflow run using its `id`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/cancel-workflow-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** @description Response */ + 202: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 409: components["responses"]["conflict"]; + }; + }; + /** + * Review custom deployment protection rules for a workflow run + * @description Approve or reject custom deployment protection rules provided by a GitHub App for a workflow run. For more information, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * > [!NOTE] + * > GitHub Apps can only review their own custom deployment protection rules. To approve or reject pending deployments that are waiting for review from a specific person or team, see [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`](/rest/actions/workflow-runs#review-pending-deployments-for-a-workflow-run). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "actions/review-custom-gates-for-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + requestBody: { + content: { + "application/json": + | components["schemas"]["review-custom-gates-comment-required"] + | components["schemas"]["review-custom-gates-state-required"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Force cancel a workflow run + * @description Cancels a workflow run and bypasses conditions that would otherwise cause a workflow execution to continue, such as an `always()` condition on a job. + * You should only use this endpoint to cancel a workflow run when the workflow run is not responding to [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel`](/rest/actions/workflow-runs#cancel-a-workflow-run). + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/force-cancel-workflow-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** @description Response */ + 202: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 409: components["responses"]["conflict"]; + }; + }; + /** + * List jobs for a workflow run + * @description Lists jobs for a workflow run. You can use parameters to narrow the list of results. For more information + * about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "actions/list-jobs-for-workflow-run": { + parameters: { + query?: { + /** @description Filters jobs by their `completed_at` timestamp. `latest` returns jobs from the most recent execution of the workflow run. `all` returns all jobs for a workflow run, including from old executions of the workflow run. */ + filter?: "latest" | "all"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + jobs: components["schemas"]["job"][]; + }; + }; + }; + }; + }; + /** + * Download workflow run logs + * @description Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for + * `Location:` in the response header to find the URL for the download. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/download-workflow-run-logs": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** @description Response */ + 302: { + headers: { + /** @example https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/runs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D */ + Location?: string; + }; + content: never; + }; + }; + }; + /** + * Delete workflow run logs + * @description Deletes all logs for a workflow run. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/delete-workflow-run-logs": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get pending deployments for a workflow run + * @description Get all deployment environments for a workflow run that are waiting for protection rules to pass. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-pending-deployments-for-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["pending-deployment"][]; + }; + }; + }; + }; + /** + * Review pending deployments for a workflow run + * @description Approve or reject pending deployments that are waiting on approval by a required reviewer. + * + * Required reviewers with read access to the repository contents and deployments can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/review-pending-deployments-for-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The list of environment ids to approve or reject + * @example [ + * 161171787, + * 161171795 + * ] + */ + environment_ids: number[]; + /** + * @description Whether to approve or reject deployment to the specified environments. + * @example approved + * @enum {string} + */ + state: "approved" | "rejected"; + /** + * @description A comment to accompany the deployment review + * @example Ship it! + */ + comment: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["deployment"][]; + }; + }; + }; + }; + /** + * Re-run a workflow + * @description Re-runs your workflow run using its `id`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/re-run-workflow": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging?: boolean; + } | null; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; + }; + /** + * Re-run failed jobs from a workflow run + * @description Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/re-run-workflow-failed-jobs": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging?: boolean; + } | null; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; + }; + /** + * Get workflow run usage + * @description > [!WARNING] + * > This endpoint is in the process of closing down. Refer to "[Actions Get workflow usage and Get workflow run usage endpoints closing down](https://github.blog/changelog/2025-02-02-actions-get-workflow-usage-and-get-workflow-run-usage-endpoints-closing-down/)" for more information. + * + * Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "actions/get-workflow-run-usage": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + run_id: components["parameters"]["run-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["workflow-run-usage"]; + }; + }; + }; + }; + /** + * List repository secrets + * @description Lists all secrets available in a repository without revealing their encrypted + * values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/list-repo-secrets": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["actions-secret"][]; + }; + }; + }; + }; + }; + /** + * Get a repository public key + * @description Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-repo-public-key": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; + }; + }; + /** + * Get a repository secret + * @description Gets a single repository secret without revealing its encrypted value. + * + * The authenticated user must have collaborator access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-repo-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-secret"]; + }; + }; + }; + }; + /** + * Create or update a repository secret + * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/create-or-update-repo-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/actions/secrets#get-a-repository-public-key) endpoint. */ + encrypted_value: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id: string; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + content: never; + }; + }; + }; + /** + * Delete a repository secret + * @description Deletes a secret in a repository using the secret name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/delete-repo-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List repository variables + * @description Lists all repository variables. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/list-repo-variables": { + parameters: { + query?: { + per_page?: components["parameters"]["variables-per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + variables: components["schemas"]["actions-variable"][]; + }; + }; + }; + }; + }; + /** + * Create a repository variable + * @description Creates a repository variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/create-repo-variable": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name: string; + /** @description The value of the variable. */ + value: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; + }; + /** + * Get a repository variable + * @description Gets a specific variable in a repository. + * + * The authenticated user must have collaborator access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-repo-variable": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + name: components["parameters"]["variable-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-variable"]; + }; + }; + }; + }; + /** + * Delete a repository variable + * @description Deletes a repository variable using the variable name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/delete-repo-variable": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + name: components["parameters"]["variable-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update a repository variable + * @description Updates a repository variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/update-repo-variable": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + name: components["parameters"]["variable-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name?: string; + /** @description The value of the variable. */ + value?: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List repository workflows + * @description Lists the workflows in a repository. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "actions/list-repo-workflows": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + workflows: components["schemas"]["workflow"][]; + }; + }; + }; + }; + }; + /** + * Get a workflow + * @description Gets a specific workflow. You can replace `workflow_id` with the workflow + * file name. For example, you could use `main.yaml`. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "actions/get-workflow": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["workflow"]; + }; + }; + }; + }; + /** + * Disable a workflow + * @description Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/disable-workflow": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Create a workflow dispatch event + * @description You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/create-workflow-dispatch": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The git reference for the workflow. The reference can be a branch or tag name. */ + ref: string; + /** @description Input keys and values configured in the workflow file. The maximum number of properties is 10. Any default properties configured in the workflow file will be used when `inputs` are omitted. */ + inputs?: { + [key: string]: unknown; + }; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Enable a workflow + * @description Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/enable-workflow": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List workflow runs for a workflow + * @description List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + * + * This endpoint will return up to 1,000 results for each search when using the following parameters: `actor`, `branch`, `check_suite_id`, `created`, `event`, `head_sha`, `status`. + */ + "actions/list-workflow-runs": { + parameters: { + query?: { + actor?: components["parameters"]["actor"]; + branch?: components["parameters"]["workflow-run-branch"]; + event?: components["parameters"]["event"]; + status?: components["parameters"]["workflow-run-status"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + created?: components["parameters"]["created"]; + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; + head_sha?: components["parameters"]["workflow-run-head-sha"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + workflow_runs: components["schemas"]["workflow-run"][]; + }; + }; + }; + }; + }; + /** + * Get workflow usage + * @description > [!WARNING] + * > This endpoint is in the process of closing down. Refer to "[Actions Get workflow usage and Get workflow run usage endpoints closing down](https://github.blog/changelog/2025-02-02-actions-get-workflow-usage-and-get-workflow-run-usage-endpoints-closing-down/)" for more information. + * + * Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "actions/get-workflow-usage": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + workflow_id: components["parameters"]["workflow-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["workflow-usage"]; + }; + }; + }; + }; + /** + * List repository activities + * @description Lists a detailed history of changes to a repository, such as pushes, merges, force pushes, and branch changes, and associates these changes with commits and users. + * + * For more information about viewing repository activity, + * see "[Viewing activity and data for your repository](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository)." + */ + "repos/list-activities": { + parameters: { + query?: { + direction?: components["parameters"]["direction"]; + per_page?: components["parameters"]["per-page"]; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + /** + * @description The Git reference for the activities you want to list. + * + * The `ref` for a branch can be formatted either as `refs/heads/BRANCH_NAME` or `BRANCH_NAME`, where `BRANCH_NAME` is the name of your branch. + */ + ref?: string; + /** @description The GitHub username to use to filter by the actor who performed the activity. */ + actor?: string; + /** + * @description The time period to filter by. + * + * For example, `day` will filter for activity that occurred in the past 24 hours, and `week` will filter for activity that occurred in the past 7 days (168 hours). + */ + time_period?: "day" | "week" | "month" | "quarter" | "year"; + /** + * @description The activity type to filter by. + * + * For example, you can choose to filter by "force_push", to see all force pushes to the repository. + */ + activity_type?: + | "push" + | "force_push" + | "branch_creation" + | "branch_deletion" + | "pr_merge" + | "merge_queue_merge"; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["activity"][]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * List assignees + * @description Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. + */ + "issues/list-assignees": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Check if a user can be assigned + * @description Checks if a user has permission to be assigned to an issue in this repository. + * + * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + "issues/check-user-can-be-assigned": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + assignee: string; + }; + }; + responses: { + /** @description If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. */ + 204: { + content: never; + }; + /** @description Otherwise a `404` status code is returned. */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * Create an attestation + * @description Store an artifact attestation and associate it with a repository. + * + * The authenticated user must have write permission to the repository and, if using a fine-grained access token, the `attestations:write` permission is required. + * + * Artifact attestations are meant to be created using the [attest action](https://github.com/actions/attest). For more information, see our guide on [using artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + "repos/create-attestation": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The attestation's Sigstore Bundle. + * Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. + */ + bundle: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + }; + }; + }; + responses: { + /** @description response */ + 201: { + content: { + "application/json": { + /** @description The ID of the attestation. */ + id?: number; + }; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List attestations + * @description List a collection of artifact attestations with a given subject digest that are associated with a repository. + * + * The authenticated user making the request must have read access to the repository. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + "repos/list-attestations": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + /** + * @description Optional filter for fetching attestations with a given predicate type. + * This option accepts `provenance`, `sbom`, or freeform text for custom predicate types. + */ + predicate_type?: string; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The parameter should be set to the attestation's subject's SHA256 digest, in the form `sha256:HEX_DIGEST`. */ + subject_digest: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + attestations?: { + /** + * @description The attestation's Sigstore Bundle. + * Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. + */ + bundle?: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + repository_id?: number; + bundle_url?: string; + }[]; + }; + }; + }; + }; + }; + /** + * Get all autolinks of a repository + * @description Gets all autolinks that are configured for a repository. + * + * Information about autolinks are only available to repository administrators. + */ + "repos/list-autolinks": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["autolink"][]; + }; + }; + }; + }; + /** + * Create an autolink reference for a repository + * @description Users with admin access to the repository can create an autolink. + */ + "repos/create-autolink": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description This prefix appended by certain characters will generate a link any time it is found in an issue, pull request, or commit. */ + key_prefix: string; + /** @description The URL must contain `` for the reference number. `` matches different characters depending on the value of `is_alphanumeric`. */ + url_template: string; + /** + * @description Whether this autolink reference matches alphanumeric characters. If true, the `` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters. + * @default true + */ + is_alphanumeric?: boolean; + }; + }; + }; + responses: { + /** @description response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/autolinks/1 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["autolink"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get an autolink reference of a repository + * @description This returns a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + "repos/get-autolink": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + autolink_id: components["parameters"]["autolink-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["autolink"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete an autolink reference from a repository + * @description This deletes a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + "repos/delete-autolink": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + autolink_id: components["parameters"]["autolink-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Check if Dependabot security updates are enabled for a repository + * @description Shows whether Dependabot security updates are enabled, disabled or paused for a repository. The authenticated user must have admin read access to the repository. For more information, see "[Configuring Dependabot security updates](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + "repos/check-automated-security-fixes": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response if Dependabot is enabled */ + 200: { + content: { + "application/json": components["schemas"]["check-automated-security-fixes"]; + }; + }; + /** @description Not Found if Dependabot is not enabled for the repository */ + 404: { + content: never; + }; + }; + }; + /** + * Enable Dependabot security updates + * @description Enables Dependabot security updates for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring Dependabot security updates](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + "repos/enable-automated-security-fixes": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Disable Dependabot security updates + * @description Disables Dependabot security updates for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring Dependabot security updates](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + "repos/disable-automated-security-fixes": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** List branches */ + "repos/list-branches": { + parameters: { + query?: { + /** @description Setting to `true` returns only branches protected by branch protections or rulesets. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. */ + protected?: boolean; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["short-branch"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Get a branch */ + "repos/get-branch": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["branch-with-protection"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/get-branch-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["branch-protection"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Protecting a branch requires admin or owner permissions to the repository. + * + * > [!NOTE] + * > Passing new arrays of `users` and `teams` replaces their previous values. + * + * > [!NOTE] + * > The list of users, apps, and teams in total is limited to 100 items. + */ + "repos/update-branch-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Require status checks to pass before merging. Set to `null` to disable. */ + required_status_checks: { + /** @description Require branches to be up to date before merging. */ + strict: boolean; + /** + * @deprecated + * @description **Closing down notice**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control. + */ + contexts: string[]; + /** @description The list of status checks to require in order to merge into this branch. */ + checks?: { + /** @description The name of the required check */ + context: string; + /** @description The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status. */ + app_id?: number; + }[]; + } | null; + /** @description Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable. */ + enforce_admins: boolean | null; + /** @description Require at least one approving review on a pull request, before merging. Set to `null` to disable. */ + required_pull_request_reviews: { + /** @description Specify which users, teams, and apps can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ + dismissal_restrictions?: { + /** @description The list of user `login`s with dismissal access */ + users?: string[]; + /** @description The list of team `slug`s with dismissal access */ + teams?: string[]; + /** @description The list of app `slug`s with dismissal access */ + apps?: string[]; + }; + /** @description Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ + dismiss_stale_reviews?: boolean; + /** @description Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) review them. */ + require_code_owner_reviews?: boolean; + /** @description Specify the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers. */ + required_approving_review_count?: number; + /** + * @description Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false`. + * @default false + */ + require_last_push_approval?: boolean; + /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ + bypass_pull_request_allowances?: { + /** @description The list of user `login`s allowed to bypass pull request requirements. */ + users?: string[]; + /** @description The list of team `slug`s allowed to bypass pull request requirements. */ + teams?: string[]; + /** @description The list of app `slug`s allowed to bypass pull request requirements. */ + apps?: string[]; + }; + } | null; + /** @description Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable. */ + restrictions: { + /** @description The list of user `login`s with push access */ + users: string[]; + /** @description The list of team `slug`s with push access */ + teams: string[]; + /** @description The list of app `slug`s with push access */ + apps?: string[]; + } | null; + /** @description Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see "[Requiring a linear commit history](https://docs.github.com/github/administering-a-repository/requiring-a-linear-commit-history)" in the GitHub Help documentation. */ + required_linear_history?: boolean; + /** @description Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://docs.github.com/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation." */ + allow_force_pushes?: boolean | null; + /** @description Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://docs.github.com/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation. */ + allow_deletions?: boolean; + /** @description If set to `true`, the `restrictions` branch protection settings which limits who can push will also block pushes which create new branches, unless the push is initiated by a user, team, or app which has the ability to push. Set to `true` to restrict new branch creation. Default: `false`. */ + block_creations?: boolean; + /** @description Requires all conversations on code to be resolved before a pull request can be merged into a branch that matches this rule. Set to `false` to disable. Default: `false`. */ + required_conversation_resolution?: boolean; + /** + * @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. Default: `false`. + * @default false + */ + lock_branch?: boolean; + /** + * @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. Default: `false`. + * @default false + */ + allow_fork_syncing?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Delete branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/delete-branch-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get admin branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/get-admin-branch-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + }; + }; + /** + * Set admin branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + "repos/set-admin-branch-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + }; + }; + /** + * Delete admin branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + "repos/delete-admin-branch-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get pull request review protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/get-pull-request-review-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-pull-request-review"]; + }; + }; + }; + }; + /** + * Delete pull request review protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/delete-pull-request-review-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update pull request review protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * + * > [!NOTE] + * > Passing new arrays of `users` and `teams` replaces their previous values. + */ + "repos/update-pull-request-review-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description Specify which users, teams, and apps can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ + dismissal_restrictions?: { + /** @description The list of user `login`s with dismissal access */ + users?: string[]; + /** @description The list of team `slug`s with dismissal access */ + teams?: string[]; + /** @description The list of app `slug`s with dismissal access */ + apps?: string[]; + }; + /** @description Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ + dismiss_stale_reviews?: boolean; + /** @description Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) have reviewed. */ + require_code_owner_reviews?: boolean; + /** @description Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers. */ + required_approving_review_count?: number; + /** + * @description Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false` + * @default false + */ + require_last_push_approval?: boolean; + /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ + bypass_pull_request_allowances?: { + /** @description The list of user `login`s allowed to bypass pull request requirements. */ + users?: string[]; + /** @description The list of team `slug`s allowed to bypass pull request requirements. */ + teams?: string[]; + /** @description The list of app `slug`s allowed to bypass pull request requirements. */ + apps?: string[]; + }; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-pull-request-review"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get commit signature protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://docs.github.com/articles/signing-commits-with-gpg) in GitHub Help. + * + * > [!NOTE] + * > You must enable branch protection to require signed commits. + */ + "repos/get-commit-signature-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create commit signature protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. + */ + "repos/create-commit-signature-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete commit signature protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. + */ + "repos/delete-commit-signature-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get status checks protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/get-status-checks-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["status-check-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Remove status check protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/remove-status-check-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update status check protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. + */ + "repos/update-status-check-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description Require branches to be up to date before merging. */ + strict?: boolean; + /** + * @deprecated + * @description **Closing down notice**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control. + */ + contexts?: string[]; + /** @description The list of status checks to require in order to merge into this branch. */ + checks?: { + /** @description The name of the required check */ + context: string; + /** @description The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status. */ + app_id?: number; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["status-check-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get all status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/get-all-status-check-contexts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Set status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/set-status-check-contexts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the status checks */ + contexts: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Add status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/add-status-check-contexts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the status checks */ + contexts: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + "repos/remove-status-check-contexts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the status checks */ + contexts: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists who has access to this protected branch. + * + * > [!NOTE] + * > Users, apps, and teams `restrictions` are only available for organization-owned repositories. + */ + "repos/get-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["branch-restriction-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Disables the ability to restrict who can push to this branch. + */ + "repos/delete-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get apps with access to the protected branch + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the GitHub Apps that have push access to this branch. Only GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + "repos/get-apps-with-access-to-protected-branch": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Set app access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + "repos/set-app-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ + apps: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Add app access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified apps push access for this branch. Only GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + "repos/add-app-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ + apps: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove app access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of an app to push to this branch. Only GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + "repos/remove-app-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ + apps: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get teams with access to the protected branch + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. + */ + "repos/get-teams-with-access-to-protected-branch": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Set team access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. + */ + "repos/set-team-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The slug values for teams */ + teams: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Add team access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified teams push access for this branch. You can also give push access to child teams. + */ + "repos/add-team-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The slug values for teams */ + teams: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove team access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a team to push to this branch. You can also remove push access for child teams. + */ + "repos/remove-team-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The slug values for teams */ + teams: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get users with access to the protected branch + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + */ + "repos/get-users-with-access-to-protected-branch": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Set user access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/set-user-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The username for users */ + users: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Add user access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified people push access for this branch. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/add-user-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The username for users */ + users: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove user access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a user to push to this branch. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + "repos/remove-user-access-restrictions": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The username for users */ + users: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Rename a branch + * @description Renames a branch in a repository. + * + * > [!NOTE] + * > Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". + * + * The authenticated user must have push access to the branch. If the branch is the default branch, the authenticated user must also have admin or owner permissions. + * + * In order to rename the default branch, fine-grained access tokens also need the `administration:write` repository permission. + */ + "repos/rename-branch": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The new name of the branch. */ + new_name: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["branch-with-protection"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Create a check run + * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. + * + * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. + */ + "checks/create": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the check. For example, "code-coverage". */ + name: string; + /** @description The SHA of the commit. */ + head_sha: string; + /** @description The URL of the integrator's site that has the full details of the check. If the integrator does not provide this, then the homepage of the GitHub app is used. */ + details_url?: string; + /** @description A reference for the run on the integrator's system. */ + external_id?: string; + /** + * @description The current status. + * @default queued + * @enum {string} + */ + status?: "queued" | "in_progress" | "completed"; + /** + * Format: date-time + * @description The time that the check run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * @description **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this. + * @enum {string} + */ + conclusion?: + | "action_required" + | "cancelled" + | "failure" + | "neutral" + | "success" + | "skipped" + | "stale" + | "timed_out"; + /** + * Format: date-time + * @description The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at?: string; + /** @description Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. */ + output?: { + /** @description The title of the check run. */ + title: string; + /** @description The summary of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters. */ + summary: string; + /** @description The details of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters. */ + text?: string; + /** @description Adds information from your analysis to specific lines of code. Annotations are visible on GitHub in the **Checks** and **Files changed** tab of the pull request. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/reference/checks#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. GitHub Actions are limited to 10 warning annotations and 10 error annotations per step. For details about how you can view annotations on GitHub, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". */ + annotations?: { + /** @description The path of the file to add an annotation to. For example, `assets/css/main.css`. */ + path: string; + /** @description The start line of the annotation. Line numbers start at 1. */ + start_line: number; + /** @description The end line of the annotation. */ + end_line: number; + /** @description The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. Column numbers start at 1. */ + start_column?: number; + /** @description The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ + end_column?: number; + /** + * @description The level of the annotation. + * @enum {string} + */ + annotation_level: "notice" | "warning" | "failure"; + /** @description A short description of the feedback for these lines of code. The maximum size is 64 KB. */ + message: string; + /** @description The title that represents the annotation. The maximum size is 255 characters. */ + title?: string; + /** @description Details about this annotation. The maximum size is 64 KB. */ + raw_details?: string; + }[]; + /** @description Adds images to the output displayed in the GitHub pull request UI. */ + images?: { + /** @description The alternative text for the image. */ + alt: string; + /** @description The full URL of the image. */ + image_url: string; + /** @description A short image description. */ + caption?: string; + }[]; + }; + /** @description Displays a button on GitHub that can be clicked to alert your app to do additional tasks. For example, a code linting app can display a button that automatically fixes detected errors. The button created in this object is displayed after the check run completes. When a user clicks the button, GitHub sends the [`check_run.requested_action` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/reference/checks#check-runs-and-requested-actions)." */ + actions?: { + /** @description The text to be displayed on a button in the web UI. The maximum size is 20 characters. */ + label: string; + /** @description A short explanation of what this action would do. The maximum size is 40 characters. */ + description: string; + /** @description A reference for the action on the integrator's system. The maximum size is 20 characters. */ + identifier: string; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; + }; + /** + * Get a check run + * @description Gets a single check run using its `id`. + * + * > [!NOTE] + * > The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + "checks/get": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + check_run_id: components["parameters"]["check-run-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; + }; + /** + * Update a check run + * @description Updates a check run for a specific commit in a repository. + * + * > [!NOTE] + * > The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + "checks/update": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + check_run_id: components["parameters"]["check-run-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the check. For example, "code-coverage". */ + name?: string; + /** @description The URL of the integrator's site that has the full details of the check. */ + details_url?: string; + /** @description A reference for the run on the integrator's system. */ + external_id?: string; + /** + * Format: date-time + * @description This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * @description The current status of the check run. Only GitHub Actions can set a status of `waiting`, `pending`, or `requested`. + * @enum {string} + */ + status?: + | "queued" + | "in_progress" + | "completed" + | "waiting" + | "requested" + | "pending"; + /** + * @description **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this. + * @enum {string} + */ + conclusion?: + | "action_required" + | "cancelled" + | "failure" + | "neutral" + | "success" + | "skipped" + | "stale" + | "timed_out"; + /** + * Format: date-time + * @description The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at?: string; + /** @description Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. */ + output?: { + /** @description **Required**. */ + title?: string; + /** @description Can contain Markdown. */ + summary: string; + /** @description Can contain Markdown. */ + text?: string; + /** @description Adds information from your analysis to specific lines of code. Annotations are visible in GitHub's pull request UI. Annotations are visible in GitHub's pull request UI. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/checks/runs#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. GitHub Actions are limited to 10 warning annotations and 10 error annotations per step. For details about annotations in the UI, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". */ + annotations?: { + /** @description The path of the file to add an annotation to. For example, `assets/css/main.css`. */ + path: string; + /** @description The start line of the annotation. Line numbers start at 1. */ + start_line: number; + /** @description The end line of the annotation. */ + end_line: number; + /** @description The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. Column numbers start at 1. */ + start_column?: number; + /** @description The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ + end_column?: number; + /** + * @description The level of the annotation. + * @enum {string} + */ + annotation_level: "notice" | "warning" | "failure"; + /** @description A short description of the feedback for these lines of code. The maximum size is 64 KB. */ + message: string; + /** @description The title that represents the annotation. The maximum size is 255 characters. */ + title?: string; + /** @description Details about this annotation. The maximum size is 64 KB. */ + raw_details?: string; + }[]; + /** @description Adds images to the output displayed in the GitHub pull request UI. */ + images?: { + /** @description The alternative text for the image. */ + alt: string; + /** @description The full URL of the image. */ + image_url: string; + /** @description A short image description. */ + caption?: string; + }[]; + }; + /** @description Possible further actions the integrator can perform, which a user may trigger. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/guides/using-the-rest-api-to-interact-with-checks#check-runs-and-requested-actions)." */ + actions?: { + /** @description The text to be displayed on a button in the web UI. The maximum size is 20 characters. */ + label: string; + /** @description A short explanation of what this action would do. The maximum size is 40 characters. */ + description: string; + /** @description A reference for the action on the integrator's system. The maximum size is 20 characters. */ + identifier: string; + }[]; + } & ( + | { + /** @enum {unknown} */ + status?: "completed"; + [key: string]: unknown; + } + | { + /** @enum {unknown} */ + status?: "queued" | "in_progress"; + [key: string]: unknown; + } + ); + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; + }; + /** + * List check run annotations + * @description Lists annotations for a check run using the annotation `id`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + "checks/list-annotations": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + check_run_id: components["parameters"]["check-run-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["check-annotation"][]; + }; + }; + }; + }; + /** + * Rerequest a check run + * @description Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * For more information about how to re-run GitHub Actions jobs, see "[Re-run a job from a workflow run](https://docs.github.com/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run)". + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + "checks/rerequest-run": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + check_run_id: components["parameters"]["check-run-id"]; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Forbidden if the check run is not rerequestable or doesn't belong to the authenticated GitHub App */ + 403: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 404: components["responses"]["not_found"]; + /** @description Validation error if the check run is not rerequestable */ + 422: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * Create a check suite + * @description Creates a check suite manually. By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/checks/runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/checks/suites#update-repository-preferences-for-check-suites)". + * + * > [!NOTE] + * > The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + "checks/create-suite": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The sha of the head commit. */ + head_sha: string; + }; + }; + }; + responses: { + /** @description Response when the suite already exists */ + 200: { + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + /** @description Response when the suite was created */ + 201: { + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + }; + }; + /** + * Update repository preferences for check suites + * @description Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/checks/suites#create-a-check-suite). + * You must have admin permissions in the repository to set preferences for check suites. + */ + "checks/set-suites-preferences": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. */ + auto_trigger_checks?: { + /** @description The `id` of the GitHub App. */ + app_id: number; + /** + * @description Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository, or `false` to disable them. + * @default true + */ + setting: boolean; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["check-suite-preference"]; + }; + }; + }; + }; + /** + * Get a check suite + * @description Gets a single check suite using its `id`. + * + * > [!NOTE] + * > The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + "checks/get-suite": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + check_suite_id: components["parameters"]["check-suite-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + }; + }; + /** + * List check runs in a check suite + * @description Lists check runs for a check suite using its `id`. + * + * > [!NOTE] + * > The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + "checks/list-for-suite": { + parameters: { + query?: { + check_name?: components["parameters"]["check-name"]; + status?: components["parameters"]["status"]; + /** @description Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ + filter?: "latest" | "all"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + check_suite_id: components["parameters"]["check-suite-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + check_runs: components["schemas"]["check-run"][]; + }; + }; + }; + }; + }; + /** + * Rerequest a check suite + * @description Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + "checks/rerequest-suite": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + check_suite_id: components["parameters"]["check-suite-id"]; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; + }; + /** + * List code scanning alerts for a repository + * @description Lists all open code scanning alerts for the default branch (usually `main` + * or `master`). You must use an access token with the `security_events` scope to use + * this endpoint with private repos, the `public_repo` scope also grants permission to read + * security events on public repos only. GitHub Apps must have the `security_events` read + * permission to use this endpoint. + * + * The response includes a `most_recent_instance` object. + * This provides details of the most recent instance of this alert + * for the default branch or for the specified Git reference + * (if you used `ref` in the request). + */ + "code-scanning/list-alerts-for-repo": { + parameters: { + query?: { + tool_name?: components["parameters"]["tool-name"]; + tool_guid?: components["parameters"]["tool-guid"]; + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + ref?: components["parameters"]["git-ref"]; + direction?: components["parameters"]["direction"]; + /** @description The property by which to sort the results. . `number` is deprecated - we recommend that you use `created` instead. */ + sort?: "created" | "number" | "updated"; + /** @description Set to `open`, `closed, `fixed`, or `dismissed` to list code scanning alerts in a specific state. */ + state?: components["schemas"]["code-scanning-alert-state"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-alert-items"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get a code scanning alert + * @description Gets a single code scanning alert. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/get-alert": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + alert_number: components["parameters"]["alert-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-alert"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Update a code scanning alert + * @description Updates the status of a single code scanning alert. + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/update-alert": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + alert_number: components["parameters"]["alert-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + state: components["schemas"]["code-scanning-alert-set-state"]; + dismissed_reason?: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + create_request?: components["schemas"]["code-scanning-alert-create-request"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-alert"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get the status of an autofix for a code scanning alert + * @description Gets the status and description of an autofix for a code scanning alert. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/get-autofix": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + alert_number: components["parameters"]["alert-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-autofix"]; + }; + }; + 400: components["responses"]["code_scanning_bad_request"]; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Create an autofix for a code scanning alert + * @description Creates an autofix for a code scanning alert. + * + * If a new autofix is to be created as a result of this request or is currently being generated, then this endpoint will return a 202 Accepted response. + * + * If an autofix already exists for a given alert, then this endpoint will return a 200 OK response. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/create-autofix": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + alert_number: components["parameters"]["alert-number"]; + }; + }; + responses: { + /** @description OK */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-autofix"]; + }; + }; + /** @description Accepted */ + 202: { + content: { + "application/json": components["schemas"]["code-scanning-autofix"]; + }; + }; + 400: components["responses"]["code_scanning_bad_request"]; + 403: components["responses"]["code_scanning_autofix_create_forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Unprocessable Entity */ + 422: { + content: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Commit an autofix for a code scanning alert + * @description Commits an autofix for a code scanning alert. + * + * If an autofix is committed as a result of this request, then this endpoint will return a 201 Created response. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/commit-autofix": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + alert_number: components["parameters"]["alert-number"]; + }; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["code-scanning-autofix-commits"]; + }; + }; + responses: { + /** @description Created */ + 201: { + content: { + "application/json": components["schemas"]["code-scanning-autofix-commits-response"]; + }; + }; + 400: components["responses"]["code_scanning_bad_request"]; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + /** @description Unprocessable Entity */ + 422: { + content: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List instances of a code scanning alert + * @description Lists all instances of the specified code scanning alert. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/list-alert-instances": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + ref?: components["parameters"]["git-ref"]; + pr?: components["parameters"]["pr-alias"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + alert_number: components["parameters"]["alert-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-alert-instance"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List code scanning analyses for a repository + * @description Lists the details of all code scanning analyses for a repository, + * starting with the most recent. + * The response is paginated and you can use the `page` and `per_page` parameters + * to list the analyses you're interested in. + * By default 30 analyses are listed per page. + * + * The `rules_count` field in the response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * > [!WARNING] + * > **Closing down notice:** The `tool_name` field is closing down and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/list-recent-analyses": { + parameters: { + query?: { + tool_name?: components["parameters"]["tool-name"]; + tool_guid?: components["parameters"]["tool-guid"]; + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + pr?: components["parameters"]["pr-alias"]; + /** @description The Git reference for the analyses you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + ref?: components["schemas"]["code-scanning-ref"]; + /** @description Filter analyses belonging to the same SARIF upload. */ + sarif_id?: components["schemas"]["code-scanning-analysis-sarif-id"]; + direction?: components["parameters"]["direction"]; + /** @description The property by which to sort the results. */ + sort?: "created"; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-analysis"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get a code scanning analysis for a repository + * @description Gets a specified code scanning analysis for a repository. + * + * The default JSON response contains fields that describe the analysis. + * This includes the Git reference and commit SHA to which the analysis relates, + * the datetime of the analysis, the name of the code scanning tool, + * and the number of alerts. + * + * The `rules_count` field in the default response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/sarif+json`**: Instead of returning a summary of the analysis, this endpoint returns a subset of the analysis data that was uploaded. The data is formatted as [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). It also returns additional data such as the `github/alertNumber` and `github/alertUrl` properties. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/get-analysis": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ + analysis_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-analysis"]; + "application/json+sarif": { + [key: string]: unknown; + }; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Delete a code scanning analysis from a repository + * @description Deletes a specified code scanning analysis from a repository. + * + * You can delete one analysis at a time. + * To delete a series of analyses, start with the most recent analysis and work backwards. + * Conceptually, the process is similar to the undo function in a text editor. + * + * When you list the analyses for a repository, + * one or more will be identified as deletable in the response: + * + * ``` + * "deletable": true + * ``` + * + * An analysis is deletable when it's the most recent in a set of analyses. + * Typically, a repository will have multiple sets of analyses + * for each enabled code scanning tool, + * where a set is determined by a unique combination of analysis values: + * + * * `ref` + * * `tool` + * * `category` + * + * If you attempt to delete an analysis that is not the most recent in a set, + * you'll get a 400 response with the message: + * + * ``` + * Analysis specified is not deletable. + * ``` + * + * The response from a successful `DELETE` operation provides you with + * two alternative URLs for deleting the next analysis in the set: + * `next_analysis_url` and `confirm_delete_url`. + * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis + * in a set. This is a useful option if you want to preserve at least one analysis + * for the specified tool in your repository. + * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. + * When you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url` + * in the 200 response is `null`. + * + * As an example of the deletion process, + * let's imagine that you added a workflow that configured a particular code scanning tool + * to analyze the code in a repository. This tool has added 15 analyses: + * 10 on the default branch, and another 5 on a topic branch. + * You therefore have two separate sets of analyses for this tool. + * You've now decided that you want to remove all of the analyses for the tool. + * To do this you must make 15 separate deletion requests. + * To start, you must find an analysis that's identified as deletable. + * Each set of analyses always has one that's identified as deletable. + * Having found the deletable analysis for one of the two sets, + * delete this analysis and then continue deleting the next analysis in the set until they're all deleted. + * Then repeat the process for the second set. + * The procedure therefore consists of a nested loop: + * + * **Outer loop**: + * * List the analyses for the repository, filtered by tool. + * * Parse this list to find a deletable analysis. If found: + * + * **Inner loop**: + * * Delete the identified analysis. + * * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. + * + * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/delete-analysis": { + parameters: { + query?: { + /** @description Allow deletion if the specified analysis is the last in a set. If you attempt to delete the final analysis in a set without setting this parameter to `true`, you'll get a 400 response with the message: `Analysis is last of its type and deletion may result in the loss of historical alert data. Please specify confirm_delete.` */ + confirm_delete?: string | null; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ + analysis_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-analysis-deletion"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List CodeQL databases for a repository + * @description Lists the CodeQL databases that are available in a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/list-codeql-databases": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-codeql-database"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get a CodeQL database for a repository + * @description Gets a CodeQL database for a language in a repository. + * + * By default this endpoint returns JSON metadata about the CodeQL database. To + * download the CodeQL database binary content, set the `Accept` header of the request + * to [`application/zip`](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types), and make sure + * your HTTP client is configured to follow redirects or use the `Location` header + * to make a second request to get the redirect URL. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/get-codeql-database": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The language of the CodeQL database. */ + language: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-codeql-database"]; + }; + }; + 302: components["responses"]["found"]; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Delete a CodeQL database + * @description Deletes a CodeQL database for a language in a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/delete-codeql-database": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The language of the CodeQL database. */ + language: string; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Create a CodeQL variant analysis + * @description Creates a new CodeQL variant analysis, which will run a CodeQL query against one or more repositories. + * + * Get started by learning more about [running CodeQL queries at scale with Multi-Repository Variant Analysis](https://docs.github.com/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/running-codeql-queries-at-scale-with-multi-repository-variant-analysis). + * + * Use the `owner` and `repo` parameters in the URL to specify the controller repository that + * will be used for running GitHub Actions workflows and storing the results of the CodeQL variant analysis. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "code-scanning/create-variant-analysis": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + language: components["schemas"]["code-scanning-variant-analysis-language"]; + /** @description A Base64-encoded tarball containing a CodeQL query and all its dependencies */ + query_pack: string; + /** @description List of repository names (in the form `owner/repo-name`) to run the query against. Precisely one property from `repositories`, `repository_lists` and `repository_owners` is required. */ + repositories?: string[]; + /** @description List of repository lists to run the query against. Precisely one property from `repositories`, `repository_lists` and `repository_owners` is required. */ + repository_lists?: string[]; + /** @description List of organization or user names whose repositories the query should be run against. Precisely one property from `repositories`, `repository_lists` and `repository_owners` is required. */ + repository_owners?: string[]; + }; + }; + }; + responses: { + /** @description Variant analysis submitted for processing */ + 201: { + content: { + "application/json": components["schemas"]["code-scanning-variant-analysis"]; + }; + }; + 404: components["responses"]["not_found"]; + /** @description Unable to process variant analysis submission */ + 422: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get the summary of a CodeQL variant analysis + * @description Gets the summary of a CodeQL variant analysis. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/get-variant-analysis": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the variant analysis. */ + codeql_variant_analysis_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-variant-analysis"]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get the analysis status of a repository in a CodeQL variant analysis + * @description Gets the analysis status of a repository in a CodeQL variant analysis. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/get-variant-analysis-repo-task": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + /** @description The name of the controller repository. */ + repo: string; + /** @description The ID of the variant analysis. */ + codeql_variant_analysis_id: number; + /** @description The account owner of the variant analysis repository. The name is not case sensitive. */ + repo_owner: string; + /** @description The name of the variant analysis repository. */ + repo_name: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-variant-analysis-repo-task"]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get a code scanning default setup configuration + * @description Gets a code scanning default setup configuration. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/get-default-setup": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-default-setup"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Update a code scanning default setup configuration + * @description Updates a code scanning default setup configuration. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/update-default-setup": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["code-scanning-default-setup-update"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response */ + 202: { + content: { + "application/json": components["schemas"]["code-scanning-default-setup-update-response"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["code_scanning_conflict"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Upload an analysis as SARIF data + * @description Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. For troubleshooting information, see "[Troubleshooting SARIF uploads](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif)." + * + * There are two places where you can upload code scanning results. + * - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." + * - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." + * + * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: + * + * ``` + * gzip -c analysis-data.sarif | base64 -w0 + * ``` + * + * SARIF upload supports a maximum number of entries per the following data objects, and an analysis will be rejected if any of these objects is above its maximum value. For some objects, there are additional values over which the entries will be ignored while keeping the most important entries whenever applicable. + * To get the most out of your analysis when it includes data above the supported limits, try to optimize the analysis configuration. For example, for the CodeQL tool, identify and remove the most noisy queries. For more information, see "[SARIF results exceed one or more limits](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif/results-exceed-limit)." + * + * + * | **SARIF data** | **Maximum values** | **Additional limits** | + * |----------------------------------|:------------------:|----------------------------------------------------------------------------------| + * | Runs per file | 20 | | + * | Results per run | 25,000 | Only the top 5,000 results will be included, prioritized by severity. | + * | Rules per run | 25,000 | | + * | Tool extensions per run | 100 | | + * | Thread Flow Locations per result | 10,000 | Only the top 1,000 Thread Flow Locations will be included, using prioritization. | + * | Location per result | 1,000 | Only 100 locations will be included. | + * | Tags per rule | 20 | Only 10 tags will be included. | + * + * + * The `202 Accepted` response includes an `id` value. + * You can use this ID to check the status of the upload by using it in the `/sarifs/{sarif_id}` endpoint. + * For more information, see "[Get information about a SARIF upload](/rest/code-scanning/code-scanning#get-information-about-a-sarif-upload)." + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + * + * This endpoint is limited to 1,000 requests per hour for each user or app installation calling it. + */ + "code-scanning/upload-sarif": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; + ref: components["schemas"]["code-scanning-ref-full"]; + sarif: components["schemas"]["code-scanning-analysis-sarif-file"]; + /** + * Format: uri + * @description The base directory used in the analysis, as it appears in the SARIF file. + * This property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository. + * @example file:///github/workspace/ + */ + checkout_uri?: string; + /** + * Format: date-time + * @description The time that the analysis run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** @description The name of the tool used to generate the code scanning analysis. If this parameter is not used, the tool name defaults to "API". If the uploaded SARIF contains a tool GUID, this will be available for filtering using the `tool_guid` parameter of operations such as `GET /repos/{owner}/{repo}/code-scanning/alerts`. */ + tool_name?: string; + /** + * @description Whether the SARIF file will be validated according to the code scanning specifications. + * This parameter is intended to help integrators ensure that the uploaded SARIF files are correctly rendered by code scanning. + */ + validate?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 202: { + content: { + "application/json": components["schemas"]["code-scanning-sarifs-receipt"]; + }; + }; + /** @description Bad Request if the sarif field is invalid */ + 400: { + content: never; + }; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + /** @description Payload Too Large if the sarif field is too large */ + 413: { + content: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get information about a SARIF upload + * @description Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository)." + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + "code-scanning/get-sarif": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The SARIF ID obtained after uploading. */ + sarif_id: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-scanning-sarifs-status"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + /** @description Not Found if the sarif id does not match any upload */ + 404: { + content: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get the code security configuration associated with a repository + * @description Get the code security configuration that manages a repository's code security settings. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "code-security/get-configuration-for-repository": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["code-security-configuration-for-repository"]; + }; + }; + 204: components["responses"]["no_content"]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List CODEOWNERS errors + * @description List any syntax errors that are detected in the CODEOWNERS + * file. + * + * For more information about the correct CODEOWNERS syntax, + * see "[About code owners](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)." + */ + "repos/codeowners-errors": { + parameters: { + query?: { + /** @description A branch, tag or commit name used to determine which version of the CODEOWNERS file to use. Default: the repository's default branch (e.g. `main`) */ + ref?: string; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["codeowners-errors"]; + }; + }; + /** @description Resource not found */ + 404: { + content: never; + }; + }; + }; + /** + * List codespaces in a repository for the authenticated user + * @description Lists the codespaces associated to a specified repository and the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/list-in-repository-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + codespaces: components["schemas"]["codespace"][]; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Create a codespace in a repository + * @description Creates a codespace owned by the authenticated user in the specified repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/create-with-repo-for-authenticated-user": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Git ref (typically a branch name) for this codespace */ + ref?: string; + /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ + location?: string; + /** + * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is closing down. + * @enum {string} + */ + geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Whether to authorize requested permissions from devcontainer.json */ + multi_repo_permissions_opt_out?: boolean; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ + retention_period_minutes?: number; + } | null; + }; + }; + responses: { + /** @description Response when the codespace was successfully created */ + 201: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + /** @description Response when the codespace creation partially failed but is being retried in the background */ + 202: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List devcontainer configurations in a repository for the authenticated user + * @description Lists the devcontainer.json files associated with a specified repository and the authenticated user. These files + * specify launchpoint configurations for codespaces created within the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/list-devcontainers-in-repository-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + devcontainers: { + path: string; + name?: string; + display_name?: string; + }[]; + }; + }; + }; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List available machine types for a repository + * @description List the machine types available for a given repository based on its configuration. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/repo-machines-for-authenticated-user": { + parameters: { + query?: { + /** @description The location to check for available machines. Assigned by IP if not provided. */ + location?: string; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description The branch or commit to check for prebuild availability and devcontainer restrictions. */ + ref?: string; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + machines: components["schemas"]["codespace-machine"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get default attributes for a codespace + * @description Gets the default attributes for codespaces created by the user with the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/pre-flight-with-repo-for-authenticated-user": { + parameters: { + query?: { + /** @description The branch or commit to check for a default devcontainer path. If not specified, the default branch will be checked. */ + ref?: string; + /** @description An alternative IP for default location auto-detection, such as when proxying a request. */ + client_ip?: string; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response when a user is able to create codespaces from the repository. */ + 200: { + content: { + "application/json": { + billable_owner?: components["schemas"]["simple-user"]; + defaults?: { + location: string; + devcontainer_path: string | null; + }; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Check if permissions defined by a devcontainer have been accepted by the authenticated user + * @description Checks whether the permissions defined by a given devcontainer configuration have been accepted by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/check-permissions-for-devcontainer": { + parameters: { + query: { + /** @description The git reference that points to the location of the devcontainer configuration to use for the permission check. The value of `ref` will typically be a branch name (`heads/BRANCH_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: string; + /** @description Path to the devcontainer.json configuration to use for the permission check. */ + devcontainer_path: string; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response when the permission check is successful */ + 200: { + content: { + "application/json": components["schemas"]["codespaces-permissions-check-for-devcontainer"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List repository secrets + * @description Lists all development environment secrets available in a repository without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "codespaces/list-repo-secrets": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["repo-codespaces-secret"][]; + }; + }; + }; + }; + }; + /** + * Get a repository public key + * @description Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * If the repository is private, OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "codespaces/get-repo-public-key": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["codespaces-public-key"]; + }; + }; + }; + }; + /** + * Get a repository secret + * @description Gets a single repository development environment secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "codespaces/get-repo-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repo-codespaces-secret"]; + }; + }; + }; + }; + /** + * Create or update a repository secret + * @description Creates or updates a repository development environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. The associated user must be a repository admin. + */ + "codespaces/create-or-update-repo-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/codespaces/repository-secrets#get-a-repository-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + content: never; + }; + }; + }; + /** + * Delete a repository secret + * @description Deletes a development environment secret in a repository using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. The associated user must be a repository admin. + */ + "codespaces/delete-repo-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List repository collaborators + * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * Organization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint. + * + * Team members will include the members of child teams. + * + * The authenticated user must have push access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` and `repo` scopes to use this endpoint. + */ + "repos/list-collaborators": { + parameters: { + query?: { + /** @description Filter collaborators returned by their affiliation. `outside` means all outside collaborators of an organization-owned repository. `direct` means all collaborators with permissions to an organization-owned repository, regardless of organization membership status. `all` means all collaborators the authenticated user can see. */ + affiliation?: "outside" | "direct" | "all"; + /** @description Filter collaborators by the permissions they have on the repository. If not specified, all collaborators will be returned. */ + permission?: "pull" | "triage" | "push" | "maintain" | "admin"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["collaborator"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Check if a user is a repository collaborator + * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + * + * The authenticated user must have push access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` and `repo` scopes to use this endpoint. + */ + "repos/check-collaborator": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response if user is a collaborator */ + 204: { + content: never; + }; + /** @description Not Found if user is not a collaborator */ + 404: { + content: never; + }; + }; + }; + /** + * Add a repository collaborator + * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * Adding an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." + * + * For more information on permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the permission being given must be equal to or higher than the org base permission. Otherwise, the request will fail with: + * + * ``` + * Cannot assign {member} permission of {role name} + * ``` + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * + * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [API](https://docs.github.com/rest/collaborators/invitations). + * + * **Updating an existing collaborator's permission level** + * + * The endpoint can also be used to change the permissions of an existing collaborator without first removing and re-adding the collaborator. To change the permissions, use the same endpoint and pass a different `permission` parameter. The response will be a `204`, with no other indication that the permission level changed. + * + * **Rate limits** + * + * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. + */ + "repos/add-collaborator": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + username: components["parameters"]["username"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permission to grant the collaborator. **Only valid on organization-owned repositories.** We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and you can also specify a custom repository role name, if the owning organization has defined any. + * @default push + */ + permission?: string; + }; + }; + }; + responses: { + /** @description Response when a new invitation is created */ + 201: { + content: { + "application/json": components["schemas"]["repository-invitation"]; + }; + }; + /** + * @description Response when: + * - an existing collaborator is added as a collaborator + * - an organization member is added as an individual collaborator + * - an existing team member (whose team is also a repository collaborator) is added as an individual collaborator + */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove a repository collaborator + * @description Removes a collaborator from a repository. + * + * To use this endpoint, the authenticated user must either be an administrator of the repository or target themselves for removal. + * + * This endpoint also: + * - Cancels any outstanding invitations + * - Unasigns the user from any issues + * - Removes access to organization projects if the user is not an organization member and is not a collaborator on any other organization repositories. + * - Unstars the repository + * - Updates access permissions to packages + * + * Removing a user as a collaborator has the following effects on forks: + * - If the user had access to a fork through their membership to this repository, the user will also be removed from the fork. + * - If the user had their own fork of the repository, the fork will be deleted. + * - If the user still has read access to the repository, open pull requests by this user from a fork will be denied. + * + * > [!NOTE] + * > A user can still have access to the repository through organization permissions like base repository permissions. + * + * Although the API responds immediately, the additional permission updates might take some extra time to complete in the background. + * + * For more information on fork permissions, see "[About permissions and visibility of forks](https://docs.github.com/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks)". + */ + "repos/remove-collaborator": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description No Content when collaborator was removed from the repository. */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get repository permissions for a user + * @description Checks the repository permission of a collaborator. The possible repository + * permissions are `admin`, `write`, `read`, and `none`. + * + * *Note*: The `permission` attribute provides the legacy base roles of `admin`, `write`, `read`, and `none`, where the + * `maintain` role is mapped to `write` and the `triage` role is mapped to `read`. To determine the role assigned to the + * collaborator, see the `role_name` attribute, which will provide the full role name, including custom roles. The + * `permissions` hash can also be used to determine which base level of access the collaborator has to the repository. + */ + "repos/get-collaborator-permission-level": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description if user has admin permissions */ + 200: { + content: { + "application/json": components["schemas"]["repository-collaborator-permission"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List commit comments for a repository + * @description Lists the commit comments for a specified repository. Comments are ordered by ascending ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "repos/list-commit-comments-for-repo": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["commit-comment"][]; + }; + }; + }; + }; + /** + * Get a commit comment + * @description Gets a specified commit comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "repos/get-commit-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["commit-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Delete a commit comment */ + "repos/delete-commit-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update a commit comment + * @description Updates the contents of a specified commit comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "repos/update-commit-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["commit-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List reactions for a commit comment + * @description List the reactions to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). + */ + "reactions/list-for-commit-comment": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a commit comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create reaction for a commit comment + * @description Create a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. + */ + "reactions/create-for-commit-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the commit comment. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + responses: { + /** @description Reaction exists */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Reaction created */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Delete a commit comment reaction + * @description > [!NOTE] + * > You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). + */ + "reactions/delete-for-commit-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List commits + * @description **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "repos/list-commits": { + parameters: { + query?: { + /** @description SHA or branch to start listing commits from. Default: the repository’s default branch (usually `main`). */ + sha?: string; + /** @description Only commits containing this file path will be returned. */ + path?: string; + /** @description GitHub username or email address to use to filter by commit author. */ + author?: string; + /** @description GitHub username or email address to use to filter by commit committer. */ + committer?: string; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Due to limitations of Git, timestamps must be between 1970-01-01 and 2099-12-31 (inclusive) or unexpected results may be returned. */ + since?: string; + /** @description Only commits before this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Due to limitations of Git, timestamps must be between 1970-01-01 and 2099-12-31 (inclusive) or unexpected results may be returned. */ + until?: string; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["commit"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List branches for HEAD commit + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. + */ + "repos/list-branches-for-head-commit": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + commit_sha: components["parameters"]["commit-sha"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["branch-short"][]; + }; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List commit comments + * @description Lists the comments for a specified commit. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "repos/list-comments-for-commit": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + commit_sha: components["parameters"]["commit-sha"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["commit-comment"][]; + }; + }; + }; + }; + /** + * Create a commit comment + * @description Create a comment for a commit using its `:commit_sha`. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "repos/create-commit-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + commit_sha: components["parameters"]["commit-sha"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment. */ + body: string; + /** @description Relative path of the file to comment on. */ + path?: string; + /** @description Line index in the diff to comment on. */ + position?: number; + /** @description **Closing down notice**. Use **position** parameter instead. Line number in the file to comment on. */ + line?: number; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/comments/1 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["commit-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List pull requests associated with a commit + * @description Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, will only return open pull requests associated with the commit. + * + * To list the open or merged pull requests associated with a branch, you can set the `commit_sha` parameter to the branch name. + */ + "repos/list-pull-requests-associated-with-commit": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + commit_sha: components["parameters"]["commit-sha"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["pull-request-simple"][]; + }; + }; + 409: components["responses"]["conflict"]; + }; + }; + /** + * Get a commit + * @description Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. + * + * > [!NOTE] + * > If there are more than 300 files in the commit diff and the default JSON media type is requested, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." Pagination query parameters are not supported for these media types. + * + * - **`application/vnd.github.diff`**: Returns the diff of the commit. Larger diffs may time out and return a 5xx status code. + * - **`application/vnd.github.patch`**: Returns the patch of the commit. Diffs with binary data will have no `patch` property. Larger diffs may time out and return a 5xx status code. + * - **`application/vnd.github.sha`**: Returns the commit's SHA-1 hash. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "repos/get-commit": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ref: components["parameters"]["commit-ref"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List check runs for a Git reference + * @description Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. + * + * > [!NOTE] + * > The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * If there are more than 1000 check suites on a single git reference, this endpoint will limit check runs to the 1000 most recent check suites. To iterate over all possible check runs, use the [List check suites for a Git reference](https://docs.github.com/rest/reference/checks#list-check-suites-for-a-git-reference) endpoint and provide the `check_suite_id` parameter to the [List check runs in a check suite](https://docs.github.com/rest/reference/checks#list-check-runs-in-a-check-suite) endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + "checks/list-for-ref": { + parameters: { + query?: { + check_name?: components["parameters"]["check-name"]; + status?: components["parameters"]["status"]; + /** @description Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ + filter?: "latest" | "all"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + app_id?: number; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ref: components["parameters"]["commit-ref"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + check_runs: components["schemas"]["check-run"][]; + }; + }; + }; + }; + }; + /** + * List check suites for a Git reference + * @description Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. + * + * > [!NOTE] + * > The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + "checks/list-suites-for-ref": { + parameters: { + query?: { + /** + * @description Filters check suites by GitHub App `id`. + * @example 1 + */ + app_id?: number; + check_name?: components["parameters"]["check-name"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ref: components["parameters"]["commit-ref"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + check_suites: components["schemas"]["check-suite"][]; + }; + }; + }; + }; + }; + /** + * Get the combined status for a specific reference + * @description Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. + * + * + * Additionally, a combined `state` is returned. The `state` is one of: + * + * * **failure** if any of the contexts report as `error` or `failure` + * * **pending** if there are no statuses or a context is `pending` + * * **success** if the latest status for all contexts is `success` + */ + "repos/get-combined-status-for-ref": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ref: components["parameters"]["commit-ref"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["combined-commit-status"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List commit statuses for a reference + * @description Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. + * + * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. + */ + "repos/list-commit-statuses-for-ref": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ref: components["parameters"]["commit-ref"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["status"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + }; + }; + /** + * Get community profile metrics + * @description Returns all community profile metrics for a repository. The repository cannot be a fork. + * + * The returned metrics include an overall health score, the repository description, the presence of documentation, the + * detected code of conduct, the detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, + * README, and CONTRIBUTING files. + * + * The `health_percentage` score is defined as a percentage of how many of + * the recommended community health files are present. For more information, see + * "[About community profiles for public repositories](https://docs.github.com/communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories)." + * + * `content_reports_enabled` is only returned for organization-owned repositories. + */ + "repos/get-community-profile-metrics": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["community-profile"]; + }; + }; + }; + }; + /** + * Compare two commits + * @description Compares two commits against one another. You can compare refs (branches or tags) and commit SHAs in the same repository, or you can compare refs and commit SHAs that exist in different repositories within the same repository network, including fork branches. For more information about how to view a repository's network, see "[Understanding connections between repositories](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories)." + * + * This endpoint is equivalent to running the `git log BASE..HEAD` command, but it returns commits in a different order. The `git log BASE..HEAD` command returns commits in reverse chronological order, whereas the API returns commits in chronological order. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.diff`**: Returns the diff of the commit. + * - **`application/vnd.github.patch`**: Returns the patch of the commit. Diffs with binary data will have no `patch` property. + * + * The API response includes details about the files that were changed between the two commits. This includes the status of the change (if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * When calling this endpoint without any paging parameter (`per_page` or `page`), the returned list is limited to 250 commits, and the last commit in the list is the most recent of the entire comparison. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, use a query parameter (`per_page` or `page`) to paginate the results. When using pagination: + * + * - The list of changed files is only shown on the first page of results, and it includes up to 300 changed files for the entire comparison. + * - The results are returned in chronological order, but the last commit in the returned list may not be the most recent one in the entire set if there are more pages of results. + * + * For more information on working with pagination, see "[Using pagination in the REST API](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api)." + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The `verification` object includes the following fields: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "repos/compare-commits-with-basehead": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The base branch and head branch to compare. This parameter expects the format `BASE...HEAD`. Both must be branch names in `repo`. To compare with a branch that exists in a different repository in the same network as `repo`, the `basehead` parameter expects the format `USERNAME:BASE...USERNAME:HEAD`. */ + basehead: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["commit-comparison"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get repository content + * @description Gets the contents of a file or directory in a repository. Specify the file path or directory with the `path` parameter. If you omit the `path` parameter, you will receive the contents of the repository's root directory. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw file contents for files and symlinks. + * - **`application/vnd.github.html+json`**: Returns the file contents in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + * - **`application/vnd.github.object+json`**: Returns the contents in a consistent object format regardless of the content type. For example, instead of an array of objects for a directory, the response will be an object with an `entries` attribute containing the array of objects. + * + * If the content is a directory, the response will be an array of objects, one object for each item in the directory. When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value _should_ be "submodule". This behavior exists [for backwards compatibility purposes](https://git.io/v1YCW). In the next major version of the API, the type will be returned as "submodule". + * + * If the content is a symlink and the symlink's target is a normal file in the repository, then the API responds with the content of the file. Otherwise, the API responds with an object describing the symlink itself. + * + * If the content is a submodule, the `submodule_git_url` field identifies the location of the submodule repository, and the `sha` identifies a specific commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out the submodule at that specific commit. If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the github.com URLs (`html_url` and `_links["html"]`) will have null values. + * + * **Notes**: + * + * - To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/git/trees#get-a-tree). + * - This API has an upper limit of 1,000 files for a directory. If you need to retrieve + * more files, use the [Git Trees API](https://docs.github.com/rest/git/trees#get-a-tree). + * - Download URLs expire and are meant to be used just once. To ensure the download URL does not expire, please use the contents API to obtain a fresh download URL for each download. + * - If the requested file's size is: + * - 1 MB or smaller: All features of this endpoint are supported. + * - Between 1-100 MB: Only the `raw` or `object` custom media types are supported. Both will work as normal, except that when using the `object` media type, the `content` field will be an empty + * string and the `encoding` field will be `"none"`. To get the contents of these larger files, use the `raw` media type. + * - Greater than 100 MB: This endpoint is not supported. + */ + "repos/get-content": { + parameters: { + query?: { + /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ + ref?: string; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description path parameter */ + path: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/vnd.github.object": components["schemas"]["content-tree"]; + "application/json": + | components["schemas"]["content-directory"] + | components["schemas"]["content-file"] + | components["schemas"]["content-symlink"] + | components["schemas"]["content-submodule"]; + }; + }; + 302: components["responses"]["found"]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create or update file contents + * @description Creates a new file or replaces an existing file in a repository. + * + * > [!NOTE] + * > If you use this endpoint and the "[Delete a file](https://docs.github.com/rest/repos/contents/#delete-a-file)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. The `workflow` scope is also required in order to modify files in the `.github/workflows` directory. + */ + "repos/create-or-update-file-contents": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description path parameter */ + path: string; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The commit message. */ + message: string; + /** @description The new file content, using Base64 encoding. */ + content: string; + /** @description **Required if you are updating a file**. The blob SHA of the file being replaced. */ + sha?: string; + /** @description The branch name. Default: the repository’s default branch. */ + branch?: string; + /** @description The person that committed the file. Default: the authenticated user. */ + committer?: { + /** @description The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ + name: string; + /** @description The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ + email: string; + /** @example "2013-01-05T13:13:22+05:00" */ + date?: string; + }; + /** @description The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. */ + author?: { + /** @description The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ + name: string; + /** @description The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ + email: string; + /** @example "2013-01-15T17:13:22+05:00" */ + date?: string; + }; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["file-commit"]; + }; + }; + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["file-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + /** @description Conflict */ + 409: { + content: { + "application/json": + | components["schemas"]["basic-error"] + | components["schemas"]["repository-rule-violation-error"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Delete a file + * @description Deletes a file in a repository. + * + * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. + * + * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. + * + * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. + * + * > [!NOTE] + * > If you use this endpoint and the "[Create or update file contents](https://docs.github.com/rest/repos/contents/#create-or-update-file-contents)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. + */ + "repos/delete-file": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description path parameter */ + path: string; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The commit message. */ + message: string; + /** @description The blob SHA of the file being deleted. */ + sha: string; + /** @description The branch name. Default: the repository’s default branch */ + branch?: string; + /** @description object containing information about the committer. */ + committer?: { + /** @description The name of the author (or committer) of the commit */ + name?: string; + /** @description The email of the author (or committer) of the commit */ + email?: string; + }; + /** @description object containing information about the author. */ + author?: { + /** @description The name of the author (or committer) of the commit */ + name?: string; + /** @description The email of the author (or committer) of the commit */ + email?: string; + }; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["file-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List repository contributors + * @description Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API caches contributor data to improve performance. + * + * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. + */ + "repos/list-contributors": { + parameters: { + query?: { + /** @description Set to `1` or `true` to include anonymous contributors in results. */ + anon?: string; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description If repository contains content */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["contributor"][]; + }; + }; + /** @description Response if repository is empty */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List Dependabot alerts for a repository + * @description OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + "dependabot/list-alerts-for-repo": { + parameters: { + query?: { + state?: components["parameters"]["dependabot-alert-comma-separated-states"]; + severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; + ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; + package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; + manifest?: components["parameters"]["dependabot-alert-comma-separated-manifests"]; + epss_percentage?: components["parameters"]["dependabot-alert-comma-separated-epss"]; + scope?: components["parameters"]["dependabot-alert-scope"]; + sort?: components["parameters"]["dependabot-alert-sort"]; + direction?: components["parameters"]["direction"]; + /** + * @deprecated + * @description **Closing down notice**. Page number of the results to fetch. Use cursor-based pagination with `before` or `after` instead. + */ + page?: number; + /** + * @deprecated + * @description The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." + */ + per_page?: number; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + first?: components["parameters"]["pagination-first"]; + last?: components["parameters"]["pagination-last"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["dependabot-alert"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Get a Dependabot alert + * @description OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + "dependabot/get-alert": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + alert_number: components["parameters"]["dependabot-alert-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["dependabot-alert"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update a Dependabot alert + * @description The authenticated user must have access to security alerts for the repository to use this endpoint. For more information, see "[Granting access to security alerts](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)." + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + "dependabot/update-alert": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + alert_number: components["parameters"]["dependabot-alert-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The state of the Dependabot alert. + * A `dismissed_reason` must be provided when setting the state to `dismissed`. + * @enum {string} + */ + state: "dismissed" | "open"; + /** + * @description **Required when `state` is `dismissed`.** A reason for dismissing the alert. + * @enum {string} + */ + dismissed_reason?: + | "fix_started" + | "inaccurate" + | "no_bandwidth" + | "not_used" + | "tolerable_risk"; + /** @description An optional comment associated with dismissing the alert. */ + dismissed_comment?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["dependabot-alert"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * List repository secrets + * @description Lists all secrets available in a repository without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "dependabot/list-repo-secrets": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["dependabot-secret"][]; + }; + }; + }; + }; + }; + /** + * Get a repository public key + * @description Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. Anyone with read access + * to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint if the repository is private. + */ + "dependabot/get-repo-public-key": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["dependabot-public-key"]; + }; + }; + }; + }; + /** + * Get a repository secret + * @description Gets a single repository secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "dependabot/get-repo-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["dependabot-secret"]; + }; + }; + }; + }; + /** + * Create or update a repository secret + * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "dependabot/create-or-update-repo-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/dependabot/secrets#get-a-repository-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + content: never; + }; + }; + }; + /** + * Delete a repository secret + * @description Deletes a secret in a repository using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "dependabot/delete-repo-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get a diff of the dependencies between commits + * @description Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. + */ + "dependency-graph/diff-range": { + parameters: { + query?: { + name?: components["parameters"]["manifest-path"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The base and head Git revisions to compare. The Git revisions will be resolved to commit SHAs. Named revisions will be resolved to their corresponding HEAD commits, and an appropriate merge base will be determined. This parameter expects the format `{base}...{head}`. */ + basehead: string; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["dependency-graph-diff"]; + }; + }; + 403: components["responses"]["dependency_review_forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Export a software bill of materials (SBOM) for a repository. + * @description Exports the software bill of materials (SBOM) for a repository in SPDX JSON format. + */ + "dependency-graph/export-sbom": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["dependency-graph-spdx-sbom"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a snapshot of dependencies for a repository + * @description Create a new snapshot of a repository's dependencies. + * + * The authenticated user must have access to the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "dependency-graph/create-repository-snapshot": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["snapshot"]; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": { + /** @description ID of the created snapshot. */ + id: number; + /** @description The time at which the snapshot was created. */ + created_at: string; + /** @description Either "SUCCESS", "ACCEPTED", or "INVALID". "SUCCESS" indicates that the snapshot was successfully created and the repository's dependencies were updated. "ACCEPTED" indicates that the snapshot was successfully created, but the repository's dependencies were not updated. "INVALID" indicates that the snapshot was malformed. */ + result: string; + /** @description A message providing further details about the result, such as why the dependencies were not updated. */ + message: string; + }; + }; + }; + }; + }; + /** + * List deployments + * @description Simple filtering of deployments is available via query parameters: + */ + "repos/list-deployments": { + parameters: { + query?: { + /** @description The SHA recorded at creation time. */ + sha?: string; + /** @description The name of the ref. This can be a branch, tag, or SHA. */ + ref?: string; + /** @description The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`). */ + task?: string; + /** @description The name of the environment that was deployed to (e.g., `staging` or `production`). */ + environment?: string | null; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["deployment"][]; + }; + }; + }; + }; + /** + * Create a deployment + * @description Deployments offer a few configurable parameters with certain defaults. + * + * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them + * before we merge a pull request. + * + * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have + * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter + * makes it easier to track which environments have requested deployments. The default environment is `production`. + * + * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If + * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, + * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will + * return a failure response. + * + * By default, [commit statuses](https://docs.github.com/rest/commits/statuses) for every submitted context must be in a `success` + * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to + * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do + * not require any contexts or create any commit statuses, the deployment will always succeed. + * + * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text + * field that will be passed on when a deployment event is dispatched. + * + * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might + * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an + * application with debugging enabled. + * + * Merged branch response: + * + * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating + * a deployment. This auto-merge happens when: + * * Auto-merge option is enabled in the repository + * * Topic branch does not include the latest changes on the base branch, which is `master` in the response example + * * There are no merge conflicts + * + * If there are no new commits in the base branch, a new request to create a deployment should give a successful + * response. + * + * Merge conflict response: + * + * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't + * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. + * + * Failed commit status checks: + * + * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` + * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repo_deployment` scope to use this endpoint. + */ + "repos/create-deployment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The ref to deploy. This can be a branch, tag, or SHA. */ + ref: string; + /** + * @description Specifies a task to execute (e.g., `deploy` or `deploy:migrations`). + * @default deploy + */ + task?: string; + /** + * @description Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch. + * @default true + */ + auto_merge?: boolean; + /** @description The [status](https://docs.github.com/rest/commits/statuses) contexts to verify against commit status checks. If you omit this parameter, GitHub verifies all unique contexts before creating a deployment. To bypass checking entirely, pass an empty array. Defaults to all unique contexts. */ + required_contexts?: string[]; + payload?: OneOf< + [ + { + [key: string]: unknown; + }, + string, + ] + >; + /** + * @description Name for the target deployment environment (e.g., `production`, `staging`, `qa`). + * @default production + */ + environment?: string; + /** + * @description Short description of the deployment. + * @default + */ + description?: string | null; + /** + * @description Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false` + * @default false + */ + transient_environment?: boolean; + /** @description Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise. */ + production_environment?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["deployment"]; + }; + }; + /** @description Merged branch response */ + 202: { + content: { + "application/json": { + message?: string; + }; + }; + }; + /** @description Conflict when there is a merge conflict or the commit's status checks failed */ + 409: { + content: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Get a deployment */ + "repos/get-deployment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + deployment_id: components["parameters"]["deployment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["deployment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a deployment + * @description If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. + * + * To set a deployment as inactive, you must: + * + * * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. + * * Mark the active deployment as inactive by adding any non-successful deployment status. + * + * For more information, see "[Create a deployment](https://docs.github.com/rest/deployments/deployments/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/deployments/statuses#create-a-deployment-status)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repo_deployment` scope to use this endpoint. + */ + "repos/delete-deployment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + deployment_id: components["parameters"]["deployment-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * List deployment statuses + * @description Users with pull access can view deployment statuses for a deployment: + */ + "repos/list-deployment-statuses": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + deployment_id: components["parameters"]["deployment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["deployment-status"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a deployment status + * @description Users with `push` access can create deployment statuses for a given deployment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo_deployment` scope to use this endpoint. + */ + "repos/create-deployment-status": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + deployment_id: components["parameters"]["deployment-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The state of the status. When you set a transient deployment to `inactive`, the deployment will be shown as `destroyed` in GitHub. + * @enum {string} + */ + state: + | "error" + | "failure" + | "inactive" + | "in_progress" + | "queued" + | "pending" + | "success"; + /** + * @description The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. + * + * > [!NOTE] + * > It's recommended to use the `log_url` parameter, which replaces `target_url`. + * @default + */ + target_url?: string; + /** + * @description The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `""` + * @default + */ + log_url?: string; + /** + * @description A short description of the status. The maximum description length is 140 characters. + * @default + */ + description?: string; + /** @description Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`. If not defined, the environment of the previous status on the deployment will be used, if it exists. Otherwise, the environment of the deployment will be used. */ + environment?: string; + /** + * @description Sets the URL for accessing your environment. Default: `""` + * @default + */ + environment_url?: string; + /** @description Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true` */ + auto_inactive?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/example/deployments/42/statuses/1 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["deployment-status"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a deployment status + * @description Users with pull access can view a deployment status for a deployment: + */ + "repos/get-deployment-status": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + deployment_id: components["parameters"]["deployment-id"]; + status_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["deployment-status"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a repository dispatch event + * @description You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." + * + * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. + * + * This input example shows how you can use the `client_payload` as a test to debug your workflow. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/create-dispatch-event": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description A custom webhook event name. Must be 100 characters or fewer. */ + event_type: string; + /** @description JSON payload with extra information about the webhook event that your action or workflow may use. The maximum number of top-level properties is 10. The total size of the JSON payload must be less than 64KB. */ + client_payload?: { + [key: string]: unknown; + }; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List environments + * @description Lists the environments for a repository. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "repos/get-all-environments": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + /** + * @description The number of environments in this repository + * @example 5 + */ + total_count?: number; + environments?: components["schemas"]["environment"][]; + }; + }; + }; + }; + }; + /** + * Get an environment + * @description > [!NOTE] + * > To get information about name patterns that branches must match in order to deploy to this environment, see "[Get a deployment branch policy](/rest/deployments/branch-policies#get-a-deployment-branch-policy)." + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "repos/get-environment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["environment"]; + }; + }; + }; + }; + /** + * Create or update an environment + * @description Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." + * + * > [!NOTE] + * > To create or update name patterns that branches must match in order to deploy to this environment, see "[Deployment branch policies](/rest/deployments/branch-policies)." + * + * > [!NOTE] + * > To create or update secrets for an environment, see "[GitHub Actions secrets](/rest/actions/secrets)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/create-or-update-environment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + }; + }; + requestBody?: { + content: { + "application/json": { + wait_timer?: components["schemas"]["wait-timer"]; + prevent_self_review?: components["schemas"]["prevent-self-review"]; + /** @description The people or teams that may review jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ + reviewers?: + | { + type?: components["schemas"]["deployment-reviewer-type"]; + /** + * @description The id of the user or team who can review the deployment + * @example 4532992 + */ + id?: number; + }[] + | null; + deployment_branch_policy?: components["schemas"]["deployment-branch-policy-settings"]; + } | null; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["environment"]; + }; + }; + /** @description Validation error when the environment name is invalid or when `protected_branches` and `custom_branch_policies` in `deployment_branch_policy` are set to the same value */ + 422: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * Delete an environment + * @description OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/delete-an-environment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + }; + }; + responses: { + /** @description Default response */ + 204: { + content: never; + }; + }; + }; + /** + * List deployment branch policies + * @description Lists the deployment branch policies for an environment. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "repos/list-deployment-branch-policies": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + /** + * @description The number of deployment branch policies for the environment. + * @example 2 + */ + total_count: number; + branch_policies: components["schemas"]["deployment-branch-policy"][]; + }; + }; + }; + }; + }; + /** + * Create a deployment branch policy + * @description Creates a deployment branch or tag policy for an environment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/create-deployment-branch-policy": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["deployment-branch-policy-name-pattern-with-type"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["deployment-branch-policy"]; + }; + }; + /** @description Response if the same branch name pattern already exists */ + 303: { + content: never; + }; + /** @description Not Found or `deployment_branch_policy.custom_branch_policies` property for the environment is set to false */ + 404: { + content: never; + }; + }; + }; + /** + * Get a deployment branch policy + * @description Gets a deployment branch or tag policy for an environment. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "repos/get-deployment-branch-policy": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + branch_policy_id: components["parameters"]["branch-policy-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["deployment-branch-policy"]; + }; + }; + }; + }; + /** + * Update a deployment branch policy + * @description Updates a deployment branch or tag policy for an environment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/update-deployment-branch-policy": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + branch_policy_id: components["parameters"]["branch-policy-id"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["deployment-branch-policy-name-pattern"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["deployment-branch-policy"]; + }; + }; + }; + }; + /** + * Delete a deployment branch policy + * @description Deletes a deployment branch or tag policy for an environment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/delete-deployment-branch-policy": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + branch_policy_id: components["parameters"]["branch-policy-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get all deployment protection rules for an environment + * @description Gets all custom deployment protection rules that are enabled for an environment. Anyone with read access to the repository can use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "repos/get-all-deployment-protection-rules": { + parameters: { + path: { + environment_name: components["parameters"]["environment-name"]; + repo: components["parameters"]["repo"]; + owner: components["parameters"]["owner"]; + }; + }; + responses: { + /** @description List of deployment protection rules */ + 200: { + content: { + "application/json": { + /** + * @description The number of enabled custom deployment protection rules for this environment + * @example 10 + */ + total_count?: number; + custom_deployment_protection_rules?: components["schemas"]["deployment-protection-rule"][]; + }; + }; + }; + }; + }; + /** + * Create a custom deployment protection rule on an environment + * @description Enable a custom deployment protection rule for an environment. + * + * The authenticated user must have admin or owner permissions to the repository to use this endpoint. + * + * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app), as well as the [guide to creating custom deployment protection rules](https://docs.github.com/actions/managing-workflow-runs-and-deployments/managing-deployments/creating-custom-deployment-protection-rules). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/create-deployment-protection-rule": { + parameters: { + path: { + environment_name: components["parameters"]["environment-name"]; + repo: components["parameters"]["repo"]; + owner: components["parameters"]["owner"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The ID of the custom app that will be enabled on the environment. */ + integration_id?: number; + }; + }; + }; + responses: { + /** @description The enabled custom deployment protection rule */ + 201: { + content: { + "application/json": components["schemas"]["deployment-protection-rule"]; + }; + }; + }; + }; + /** + * List custom deployment rule integrations available for an environment + * @description Gets all custom deployment protection rule integrations that are available for an environment. + * + * The authenticated user must have admin or owner permissions to the repository to use this endpoint. + * + * For more information about environments, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * For more information about the app that is providing this custom deployment rule, see "[GET an app](https://docs.github.com/rest/apps/apps#get-an-app)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "repos/list-custom-deployment-rule-integrations": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + environment_name: components["parameters"]["environment-name"]; + repo: components["parameters"]["repo"]; + owner: components["parameters"]["owner"]; + }; + }; + responses: { + /** @description A list of custom deployment rule integrations available for this environment. */ + 200: { + content: { + "application/json": { + /** + * @description The total number of custom deployment protection rule integrations available for this environment. + * @example 35 + */ + total_count?: number; + available_custom_deployment_protection_rule_integrations?: components["schemas"]["custom-deployment-rule-app"][]; + }; + }; + }; + }; + }; + /** + * Get a custom deployment protection rule + * @description Gets an enabled custom deployment protection rule for an environment. Anyone with read access to the repository can use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * For more information about the app that is providing this custom deployment rule, see [`GET /apps/{app_slug}`](https://docs.github.com/rest/apps/apps#get-an-app). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + "repos/get-custom-deployment-protection-rule": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + protection_rule_id: components["parameters"]["protection-rule-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["deployment-protection-rule"]; + }; + }; + }; + }; + /** + * Disable a custom protection rule for an environment + * @description Disables a custom deployment protection rule for an environment. + * + * The authenticated user must have admin or owner permissions to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/disable-deployment-protection-rule": { + parameters: { + path: { + environment_name: components["parameters"]["environment-name"]; + repo: components["parameters"]["repo"]; + owner: components["parameters"]["owner"]; + protection_rule_id: components["parameters"]["protection-rule-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List environment secrets + * @description Lists all secrets available in an environment without revealing their + * encrypted values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/list-environment-secrets": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["actions-secret"][]; + }; + }; + }; + }; + }; + /** + * Get an environment public key + * @description Get the public key for an environment, which you need to encrypt environment + * secrets. You need to encrypt a secret before you can create or update secrets. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-environment-public-key": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; + }; + }; + /** + * Get an environment secret + * @description Gets a single environment secret without revealing its encrypted value. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-environment-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-secret"]; + }; + }; + }; + }; + /** + * Create or update an environment secret + * @description Creates or updates an environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/create-or-update-environment-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an environment public key](https://docs.github.com/rest/actions/secrets#get-an-environment-public-key) endpoint. */ + encrypted_value: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id: string; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + content: never; + }; + }; + }; + /** + * Delete an environment secret + * @description Deletes a secret in an environment using the secret name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/delete-environment-secret": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Default response */ + 204: { + content: never; + }; + }; + }; + /** + * List environment variables + * @description Lists all environment variables. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/list-environment-variables": { + parameters: { + query?: { + per_page?: components["parameters"]["variables-per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + variables: components["schemas"]["actions-variable"][]; + }; + }; + }; + }; + }; + /** + * Create an environment variable + * @description Create an environment variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/create-environment-variable": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name: string; + /** @description The value of the variable. */ + value: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; + }; + /** + * Get an environment variable + * @description Gets a specific variable in an environment. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/get-environment-variable": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + environment_name: components["parameters"]["environment-name"]; + name: components["parameters"]["variable-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-variable"]; + }; + }; + }; + }; + /** + * Delete an environment variable + * @description Deletes an environment variable using the variable name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/delete-environment-variable": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + name: components["parameters"]["variable-name"]; + environment_name: components["parameters"]["environment-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update an environment variable + * @description Updates an environment variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "actions/update-environment-variable": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + name: components["parameters"]["variable-name"]; + environment_name: components["parameters"]["environment-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name?: string; + /** @description The value of the variable. */ + value?: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List repository events + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + "activity/list-repo-events": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + /** List forks */ + "repos/list-forks": { + parameters: { + query?: { + /** @description The sort order. `stargazers` will sort by star count. */ + sort?: "newest" | "oldest" | "stargazers" | "watchers"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 400: components["responses"]["bad_request"]; + }; + }; + /** + * Create a fork + * @description Create a fork for the authenticated user. + * + * > [!NOTE] + * > Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + * + * > [!NOTE] + * > Although this endpoint works with GitHub Apps, the GitHub App must be installed on the destination account with access to all repositories and on the source account with access to the source repository. + */ + "repos/create-fork": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description Optional parameter to specify the organization name if forking into an organization. */ + organization?: string; + /** @description When forking from an existing repository, a new name for the fork. */ + name?: string; + /** @description When forking from an existing repository, fork with only the default branch. */ + default_branch_only?: boolean; + } | null; + }; + }; + responses: { + /** @description Response */ + 202: { + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Create a blob */ + "git/create-blob": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The new blob's content. */ + content: string; + /** + * @description The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. + * @default utf-8 + */ + encoding?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["short-blob"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + /** @description Validation failed */ + 422: { + content: { + "application/json": + | components["schemas"]["validation-error"] + | components["schemas"]["repository-rule-violation-error"]; + }; + }; + }; + }; + /** + * Get a blob + * @description The `content` in the response will always be Base64 encoded. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw blob data. + * - **`application/vnd.github+json`**: Returns a JSON representation of the blob with `content` as a base64 encoded string. This is the default if no media type is specified. + * + * **Note** This endpoint supports blobs up to 100 megabytes in size. + */ + "git/get-blob": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + file_sha: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["blob"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Create a commit + * @description Creates a new Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "git/create-commit": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The commit message */ + message: string; + /** @description The SHA of the tree object this commit points to */ + tree: string; + /** @description The full SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided. */ + parents?: string[]; + /** @description Information about the author of the commit. By default, the `author` will be the authenticated user and the current date. See the `author` and `committer` object below for details. */ + author?: { + /** @description The name of the author (or committer) of the commit */ + name: string; + /** @description The email of the author (or committer) of the commit */ + email: string; + /** + * Format: date-time + * @description Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + }; + /** @description Information about the person who is making the commit. By default, `committer` will use the information set in `author`. See the `author` and `committer` object below for details. */ + committer?: { + /** @description The name of the author (or committer) of the commit */ + name?: string; + /** @description The email of the author (or committer) of the commit */ + email?: string; + /** + * Format: date-time + * @description Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + }; + /** @description The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits. */ + signature?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/git/commits/7638417db6d59f3c431d3e1f261cc637155684cd */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["git-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a commit object + * @description Gets a Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). + * + * To get the contents of a commit, see "[Get a commit](/rest/commits/commits#get-a-commit)." + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "git/get-commit": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + commit_sha: components["parameters"]["commit-sha"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["git-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + /** + * List matching references + * @description Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. + * + * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. + * + * > [!NOTE] + * > You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. + */ + "git/list-matching-refs": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ref: components["parameters"]["git-ref-only"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["git-ref"][]; + }; + }; + 409: components["responses"]["conflict"]; + }; + }; + /** + * Get a reference + * @description Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. + * + * > [!NOTE] + * > You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + */ + "git/get-ref": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ref: components["parameters"]["git-ref-only"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + /** + * Create a reference + * @description Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. + */ + "git/create-ref": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected. */ + ref: string; + /** @description The SHA1 value for this reference. */ + sha: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/git/refs/heads/featureA */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Delete a reference + * @description Deletes the provided reference. + */ + "git/delete-ref": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ref: components["parameters"]["git-ref-only"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Update a reference + * @description Updates the provided reference to point to a new SHA. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + */ + "git/update-ref": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ref: components["parameters"]["git-ref-only"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The SHA1 value to set this reference to */ + sha: string; + /** + * @description Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work. + * @default false + */ + force?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Create a tag object + * @description Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/git/refs#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/git/refs#create-a-reference) the tag reference - this call would be unnecessary. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "git/create-tag": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The tag's name. This is typically a version (e.g., "v0.0.1"). */ + tag: string; + /** @description The tag message. */ + message: string; + /** @description The SHA of the git object this is tagging. */ + object: string; + /** + * @description The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`. + * @enum {string} + */ + type: "commit" | "tree" | "blob"; + /** @description An object with information about the individual creating the tag. */ + tagger?: { + /** @description The name of the author of the tag */ + name: string; + /** @description The email of the author of the tag */ + email: string; + /** + * Format: date-time + * @description When this object was tagged. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + }; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["git-tag"]; + }; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a tag + * @description **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * | `verified_at` | `string` | The date the signature was verified by GitHub. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "git/get-tag": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + tag_sha: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["git-tag"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + /** + * Create a tree + * @description The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. + * + * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/git/commits#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/git/refs#update-a-reference)." + * + * Returns an error if you try to delete a file that does not exist. + */ + "git/create-tree": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure. */ + tree: { + /** @description The file referenced in the tree. */ + path?: string; + /** + * @description The file mode; one of `100644` for file (blob), `100755` for executable (blob), `040000` for subdirectory (tree), `160000` for submodule (commit), or `120000` for a blob that specifies the path of a symlink. + * @enum {string} + */ + mode?: "100644" | "100755" | "040000" | "160000" | "120000"; + /** + * @description Either `blob`, `tree`, or `commit`. + * @enum {string} + */ + type?: "blob" | "tree" | "commit"; + /** + * @description The SHA1 checksum ID of the object in the tree. Also called `tree.sha`. If the value is `null` then the file will be deleted. + * + * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. + */ + sha?: string | null; + /** + * @description The content you want this file to have. GitHub will write this blob out and use that SHA for this entry. Use either this, or `tree.sha`. + * + * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. + */ + content?: string; + }[]; + /** + * @description The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on. + * If not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit. + */ + base_tree?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/trees/cd8274d15fa3ae2ab983129fb037999f264ba9a7 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["git-tree"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a tree + * @description Returns a single tree using the SHA1 value or ref name for that tree. + * + * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. + * + * > [!NOTE] + * > The limit for the `tree` array is 100,000 entries with a maximum size of 7 MB when using the `recursive` parameter. + */ + "git/get-tree": { + parameters: { + query?: { + /** @description Setting this parameter to any value returns the objects or subtrees referenced by the tree specified in `:tree_sha`. For example, setting `recursive` to any of the following will enable returning objects or subtrees: `0`, `1`, `"true"`, and `"false"`. Omit this parameter to prevent recursively returning objects or subtrees. */ + recursive?: string; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The SHA1 value or ref (branch or tag) name of the tree. */ + tree_sha: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["git-tree"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List repository webhooks + * @description Lists webhooks for a repository. `last response` may return null if there have not been any deliveries within 30 days. + */ + "repos/list-webhooks": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["hook"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a repository webhook + * @description Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can + * share the same `config` as long as those webhooks do not have any `events` that overlap. + */ + "repos/create-webhook": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`. */ + name?: string; + /** @description Key/value pairs to provide settings for this webhook. */ + config?: { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. + * @default [ + * "push" + * ] + */ + events?: string[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active?: boolean; + } | null; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/hooks/12345678 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a repository webhook + * @description Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/webhooks/repo-config#get-a-webhook-configuration-for-a-repository)." + */ + "repos/get-webhook": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a repository webhook + * @description Delete a webhook for an organization. + * + * The authenticated user must be a repository owner, or have admin access in the repository, to delete the webhook. + */ + "repos/delete-webhook": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update a repository webhook + * @description Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/webhooks/repo-config#update-a-webhook-configuration-for-a-repository)." + */ + "repos/update-webhook": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + config?: components["schemas"]["webhook-config"]; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. This replaces the entire array of events. + * @default [ + * "push" + * ] + */ + events?: string[]; + /** @description Determines a list of events to be added to the list of events that the Hook triggers for. */ + add_events?: string[]; + /** @description Determines a list of events to be removed from the list of events that the Hook triggers for. */ + remove_events?: string[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a webhook configuration for a repository + * @description Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/webhooks/repos#get-a-repository-webhook)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:repo_hook` or `repo` scope to use this endpoint. + */ + "repos/get-webhook-config-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + /** + * Update a webhook configuration for a repository + * @description Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/webhooks/repos#update-a-repository-webhook)." + * + * OAuth app tokens and personal access tokens (classic) need the `write:repo_hook` or `repo` scope to use this endpoint. + */ + "repos/update-webhook-config-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; + }; + /** + * List deliveries for a repository webhook + * @description Returns a list of webhook deliveries for a webhook configured in a repository. + */ + "repos/list-webhook-deliveries": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + cursor?: components["parameters"]["cursor"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a delivery for a repository webhook + * @description Returns a delivery for a webhook configured in a repository. + */ + "repos/get-webhook-delivery": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Redeliver a delivery for a repository webhook + * @description Redeliver a webhook delivery for a webhook configured in a repository. + */ + "repos/redeliver-webhook-delivery": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Ping a repository webhook + * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. + */ + "repos/ping-webhook": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Test the push repository webhook + * @description This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. + * + * > [!NOTE] + * > Previously `/repos/:owner/:repo/hooks/:hook_id/test` + */ + "repos/test-push-webhook": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + hook_id: components["parameters"]["hook-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get an import status + * @deprecated + * @description View the progress of an import. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + * + * **Import status** + * + * This section includes details about the possible values of the `status` field of the Import Progress response. + * + * An import that does not have errors will progress through these steps: + * + * * `detecting` - the "detection" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL. + * * `importing` - the "raw" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import). + * * `mapping` - the "rewrite" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information. + * * `pushing` - the "push" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is "Writing objects". + * * `complete` - the import is complete, and the repository is ready on GitHub. + * + * If there are problems, you will see one of these in the `status` field: + * + * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. + * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api) for more information. + * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. + * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/migrations/source-imports#cancel-an-import) and [retry](https://docs.github.com/rest/migrations/source-imports#start-an-import) with the correct URL. + * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. + * + * **The project_choices field** + * + * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. + * + * **Git LFS related fields** + * + * This section includes details about Git LFS related fields that may be present in the Import Progress response. + * + * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. + * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. + * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. + * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. + */ + "migrations/get-import-status": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + /** + * Start an import + * @deprecated + * @description Start a source import to a GitHub repository using GitHub Importer. + * Importing into a GitHub repository with GitHub Actions enabled is not supported and will + * return a status `422 Unprocessable Entity` response. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + "migrations/start-import": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The URL of the originating repository. */ + vcs_url: string; + /** + * @description The originating VCS type. Without this parameter, the import job will take additional time to detect the VCS type before beginning the import. This detection step will be reflected in the response. + * @enum {string} + */ + vcs?: "subversion" | "git" | "mercurial" | "tfvc"; + /** @description If authentication is required, the username to provide to `vcs_url`. */ + vcs_username?: string; + /** @description If authentication is required, the password to provide to `vcs_url`. */ + vcs_password?: string; + /** @description For a tfvc import, the name of the project that is being imported. */ + tfvc_project?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/spraints/socm/import */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + /** + * Cancel an import + * @deprecated + * @description Stop an import for a repository. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + "migrations/cancel-import": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 503: components["responses"]["porter_maintenance"]; + }; + }; + /** + * Update an import + * @deprecated + * @description An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API + * request. If no parameters are provided, the import will be restarted. + * + * Some servers (e.g. TFS servers) can have several projects at a single URL. In those cases the import progress will + * have the status `detection_found_multiple` and the Import Progress response will include a `project_choices` array. + * You can select the project to import by providing one of the objects in the `project_choices` array in the update request. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + "migrations/update-import": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The username to provide to the originating repository. */ + vcs_username?: string; + /** @description The password to provide to the originating repository. */ + vcs_password?: string; + /** + * @description The type of version control system you are migrating from. + * @example "git" + * @enum {string} + */ + vcs?: "subversion" | "tfvc" | "git" | "mercurial"; + /** + * @description For a tfvc import, the name of the project that is being imported. + * @example "project1" + */ + tfvc_project?: string; + } | null; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 503: components["responses"]["porter_maintenance"]; + }; + }; + /** + * Get commit authors + * @deprecated + * @description Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. + * + * This endpoint and the [Map a commit author](https://docs.github.com/rest/migrations/source-imports#map-a-commit-author) endpoint allow you to provide correct Git author information. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + "migrations/get-commit-authors": { + parameters: { + query?: { + since?: components["parameters"]["since-user"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["porter-author"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + /** + * Map a commit author + * @deprecated + * @description Update an author's identity for the import. Your application can continue updating authors any time before you push + * new commits to the repository. + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + "migrations/map-commit-author": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + author_id: number; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The new Git author email. */ + email?: string; + /** @description The new Git author name. */ + name?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["porter-author"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + /** + * Get large files + * @deprecated + * @description List files larger than 100MB found during the import + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + "migrations/get-large-files": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["porter-large-file"][]; + }; + }; + 503: components["responses"]["porter_maintenance"]; + }; + }; + /** + * Update Git LFS preference + * @deprecated + * @description You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability + * is powered by [Git LFS](https://git-lfs.com). + * + * You can learn more about our LFS feature and working with large files [on our help + * site](https://docs.github.com/repositories/working-with-files/managing-large-files). + * + * > [!WARNING] + * > **Endpoint closing down notice:** Due to very low levels of usage and available alternatives, this endpoint is closing down and will no longer be available from 00:00 UTC on April 12, 2024. For more details and alternatives, see the [changelog](https://gh.io/source-imports-api-deprecation). + */ + "migrations/set-lfs-preference": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Whether to store large files during the import. `opt_in` means large files will be stored using Git LFS. `opt_out` means large files will be removed during the import. + * @enum {string} + */ + use_lfs: "opt_in" | "opt_out"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + /** + * Get a repository installation for the authenticated app + * @description Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-repo-installation": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get interaction restrictions for a repository + * @description Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. + */ + "interactions/get-restrictions-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": + | components["schemas"]["interaction-limit-response"] + | Record; + }; + }; + }; + }; + /** + * Set interaction restrictions for a repository + * @description Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. + */ + "interactions/set-restrictions-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + /** @description Response */ + 409: { + content: never; + }; + }; + }; + /** + * Remove interaction restrictions for a repository + * @description Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. + */ + "interactions/remove-restrictions-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + /** @description Response */ + 409: { + content: never; + }; + }; + }; + /** + * List repository invitations + * @description When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. + */ + "repos/list-invitations": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["repository-invitation"][]; + }; + }; + }; + }; + /** Delete a repository invitation */ + "repos/delete-invitation": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** Update a repository invitation */ + "repos/update-invitation": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permissions that the associated user will have on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`. + * @enum {string} + */ + permissions?: "read" | "write" | "maintain" | "triage" | "admin"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-invitation"]; + }; + }; + }; + }; + /** + * List repository issues + * @description List issues in a repository. Only open issues will be listed. + * + * > [!NOTE] + * > GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/list-for-repo": { + parameters: { + query?: { + /** @description If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned. */ + milestone?: string; + /** @description Indicates the state of the issues to return. */ + state?: "open" | "closed" | "all"; + /** @description Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user. */ + assignee?: string; + /** @description Can be the name of an issue type. If the string `*` is passed, issues with any type are accepted. If the string `none` is passed, issues without type are returned. */ + type?: string; + /** @description The user that created the issue. */ + creator?: string; + /** @description A user that's mentioned in the issue. */ + mentioned?: string; + labels?: components["parameters"]["labels"]; + /** @description What to sort results by. */ + sort?: "created" | "updated" | "comments"; + direction?: components["parameters"]["direction"]; + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Create an issue + * @description Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/create": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the issue. */ + title: string | number; + /** @description The contents of the issue. */ + body?: string; + /** @description Login for the user that this issue should be assigned to. _NOTE: Only users with push access can set the assignee for new issues. The assignee is silently dropped otherwise. **This field is closing down.**_ */ + assignee?: string | null; + milestone?: string | number | null; + /** @description Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._ */ + labels?: OneOf< + [ + string, + { + id?: number; + name?: string; + description?: string | null; + color?: string | null; + }, + ] + >[]; + /** @description Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ */ + assignees?: string[]; + /** + * @description The name of the issue type to associate with this issue. + * @example Epic + */ + type?: string | null; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/issues/1347 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List issue comments for a repository + * @description You can use the REST API to list comments on issues and pull requests for a repository. Every pull request is an issue, but not every issue is a pull request. + * + * By default, issue comments are ordered by ascending ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/list-comments-for-repo": { + parameters: { + query?: { + sort?: components["parameters"]["sort"]; + /** @description Either `asc` or `desc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["issue-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get an issue comment + * @description You can use the REST API to get comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/get-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete an issue comment + * @description You can use the REST API to delete comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + */ + "issues/delete-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update an issue comment + * @description You can use the REST API to update comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/update-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List reactions for an issue comment + * @description List the reactions to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). + */ + "reactions/list-for-issue-comment": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to an issue comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create reaction for an issue comment + * @description Create a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. + */ + "reactions/create-for-issue-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the issue comment. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + responses: { + /** @description Reaction exists */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Reaction created */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Delete an issue comment reaction + * @description > [!NOTE] + * > You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). + */ + "reactions/delete-for-issue-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List issue events for a repository + * @description Lists events for a repository. + */ + "issues/list-events-for-repo": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["issue-event"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get an issue event + * @description Gets a single event by the event id. + */ + "issues/get-event": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + event_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["issue-event"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * Get an issue + * @description The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api#follow-redirects) if the issue was + * [transferred](https://docs.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If + * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API + * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read + * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe + * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. + * + * > [!NOTE] + * > GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/get": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * Update an issue + * @description Issue owners and users with push access or Triage role can edit an issue. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/update": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The title of the issue. */ + title?: string | number | null; + /** @description The contents of the issue. */ + body?: string | null; + /** @description Username to assign to this issue. **This field is closing down.** */ + assignee?: string | null; + /** + * @description The open or closed state of the issue. + * @enum {string} + */ + state?: "open" | "closed"; + /** + * @description The reason for the state change. Ignored unless `state` is changed. + * @example not_planned + * @enum {string|null} + */ + state_reason?: "completed" | "not_planned" | "reopened" | null; + milestone?: string | number | null; + /** @description Labels to associate with this issue. Pass one or more labels to _replace_ the set of labels on this issue. Send an empty array (`[]`) to clear all labels from the issue. Only users with push access can set labels for issues. Without push access to the repository, label changes are silently dropped. */ + labels?: OneOf< + [ + string, + { + id?: number; + name?: string; + description?: string | null; + color?: string | null; + }, + ] + >[]; + /** @description Usernames to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this issue. Send an empty array (`[]`) to clear all assignees from the issue. Only users with push access can set assignees for new issues. Without push access to the repository, assignee changes are silently dropped. */ + assignees?: string[]; + /** + * @description The name of the issue type to associate with this issue or use `null` to remove the current issue type. + * @example Epic + */ + type?: string | null; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Add assignees to an issue + * @description Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. + */ + "issues/add-assignees": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._ */ + assignees?: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + }; + }; + /** + * Remove assignees from an issue + * @description Removes one or more assignees from an issue. + */ + "issues/remove-assignees": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._ */ + assignees: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + }; + }; + /** + * Check if a user can be assigned to a issue + * @description Checks if a user has permission to be assigned to a specific issue. + * + * If the `assignee` can be assigned to this issue, a `204` status code with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + "issues/check-user-can-be-assigned-to-issue": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + assignee: string; + }; + }; + responses: { + /** @description Response if `assignee` can be assigned to `issue_number` */ + 204: { + content: never; + }; + /** @description Response if `assignee` can not be assigned to `issue_number` */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * List issue comments + * @description You can use the REST API to list comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * Issue comments are ordered by ascending ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/list-comments": { + parameters: { + query?: { + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["issue-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * Create an issue comment + * @description You can use the REST API to create comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). + * Creating content too quickly using this endpoint may result in secondary rate limiting. + * For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/create-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/issues/comments/1 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List issue events + * @description Lists all events for an issue. + */ + "issues/list-events": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["issue-event-for-issue"][]; + }; + }; + 410: components["responses"]["gone"]; + }; + }; + /** + * List labels for an issue + * @description Lists all labels for an issue. + */ + "issues/list-labels-on-issue": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * Set labels for an issue + * @description Removes any previous labels and sets the new labels for an issue. + */ + "issues/set-labels": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + requestBody?: { + content: { + "application/json": OneOf< + [ + { + /** @description The names of the labels to set for the issue. The labels you set replace any existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also add labels to the existing labels for an issue. For more information, see "[Add labels to an issue](https://docs.github.com/rest/issues/labels#add-labels-to-an-issue)." */ + labels?: string[]; + }, + { + labels?: { + name: string; + }[]; + }, + ] + >; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Add labels to an issue + * @description Adds labels to an issue. If you provide an empty array of labels, all labels are removed from the issue. + */ + "issues/add-labels": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + requestBody?: { + content: { + "application/json": OneOf< + [ + { + /** @description The names of the labels to add to the issue's existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also replace all of the labels for an issue. For more information, see "[Set labels for an issue](https://docs.github.com/rest/issues/labels#set-labels-for-an-issue)." */ + labels?: string[]; + }, + { + labels?: { + name: string; + }[]; + }, + ] + >; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove all labels from an issue + * @description Removes all labels from an issue. + */ + "issues/remove-all-labels": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * Remove a label from an issue + * @description Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. + */ + "issues/remove-label": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + name: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * Lock an issue + * @description Users with push access can lock an issue or pull request's conversation. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + "issues/lock": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: + * * `off-topic` + * * `too heated` + * * `resolved` + * * `spam` + * @enum {string} + */ + lock_reason?: "off-topic" | "too heated" | "resolved" | "spam"; + } | null; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Unlock an issue + * @description Users with push access can unlock an issue's conversation. + */ + "issues/unlock": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List reactions for an issue + * @description List the reactions to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). + */ + "reactions/list-for-issue": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to an issue. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * Create reaction for an issue + * @description Create a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). A response with an HTTP `200` status means that you already added the reaction type to this issue. + */ + "reactions/create-for-issue": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the issue. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Delete an issue reaction + * @description > [!NOTE] + * > You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. + * + * Delete a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). + */ + "reactions/delete-for-issue": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Remove sub-issue + * @description You can use the REST API to remove a sub-issue from an issue. + * Removing content too quickly using this endpoint may result in secondary rate limiting. + * For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass a specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/remove-sub-issue": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The id of the sub-issue to remove */ + sub_issue_id: number; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/issues/1/sub-issue */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List sub-issues + * @description You can use the REST API to list the sub-issues on an issue. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/list-sub-issues": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** + * Add sub-issue + * @description You can use the REST API to add sub-issues to issues. + * + * Creating content too quickly using this endpoint may result in secondary rate limiting. + * For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/add-sub-issue": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The id of the sub-issue to add. The sub-issue must belong to the same repository owner as the parent issue */ + sub_issue_id: number; + /** @description Option that, when true, instructs the operation to replace the sub-issues current parent issue */ + replace_parent?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/issues/sub-issues/1 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Reprioritize sub-issue + * @description You can use the REST API to reprioritize a sub-issue to a different position in the parent list. + */ + "issues/reprioritize-sub-issue": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The id of the sub-issue to reprioritize */ + sub_issue_id: number; + /** @description The id of the sub-issue to be prioritized after (either positional argument after OR before should be specified). */ + after_id?: number; + /** @description The id of the sub-issue to be prioritized before (either positional argument after OR before should be specified). */ + before_id?: number; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List timeline events for an issue + * @description List all timeline events for an issue. + */ + "issues/list-events-for-timeline": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + issue_number: components["parameters"]["issue-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["timeline-issue-events"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + /** List deploy keys */ + "repos/list-deploy-keys": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["deploy-key"][]; + }; + }; + }; + }; + /** + * Create a deploy key + * @description You can create a read-only deploy key. + */ + "repos/create-deploy-key": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description A name for the key. */ + title?: string; + /** @description The contents of the key. */ + key: string; + /** + * @description If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. + * + * Deploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see "[Repository permission levels for an organization](https://docs.github.com/articles/repository-permission-levels-for-an-organization/)" and "[Permission levels for a user account repository](https://docs.github.com/articles/permission-levels-for-a-user-account-repository/)." + */ + read_only?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/keys/1 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["deploy-key"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** Get a deploy key */ + "repos/get-deploy-key": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + key_id: components["parameters"]["key-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["deploy-key"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a deploy key + * @description Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. + */ + "repos/delete-deploy-key": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + key_id: components["parameters"]["key-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List labels for a repository + * @description Lists all labels for a repository. + */ + "issues/list-labels-for-repo": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a label + * @description Creates a label for the specified repository with the given name and color. The name and color parameters are required. The color must be a valid [hexadecimal color code](http://www.color-hex.com/). + */ + "issues/create-label": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see "[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet)." */ + name: string; + /** @description The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ + color?: string; + /** @description A short description of the label. Must be 100 characters or fewer. */ + description?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/labels/bug */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["label"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a label + * @description Gets a label using the given name. + */ + "issues/get-label": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + name: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["label"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a label + * @description Deletes a label using the given label name. + */ + "issues/delete-label": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + name: string; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update a label + * @description Updates a label using the given label name. + */ + "issues/update-label": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + name: string; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see "[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet)." */ + new_name?: string; + /** @description The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ + color?: string; + /** @description A short description of the label. Must be 100 characters or fewer. */ + description?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["label"]; + }; + }; + }; + }; + /** + * List repository languages + * @description Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. + */ + "repos/list-languages": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["language"]; + }; + }; + }; + }; + /** + * Get the license for a repository + * @description This method returns the contents of the repository's license file, if one is detected. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw contents of the license. + * - **`application/vnd.github.html+json`**: Returns the license contents in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + */ + "licenses/get-for-repo": { + parameters: { + query?: { + ref?: components["parameters"]["git-ref"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["license-content"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Sync a fork branch with the upstream repository + * @description Sync a branch of a forked repository to keep it up-to-date with the upstream repository. + */ + "repos/merge-upstream": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the branch which should be updated to match upstream. */ + branch: string; + }; + }; + }; + responses: { + /** @description The branch has been successfully synced with the upstream repository */ + 200: { + content: { + "application/json": components["schemas"]["merged-upstream"]; + }; + }; + /** @description The branch could not be synced because of a merge conflict */ + 409: { + content: never; + }; + /** @description The branch could not be synced for some other reason */ + 422: { + content: never; + }; + }; + }; + /** Merge a branch */ + "repos/merge": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the base branch that the head will be merged into. */ + base: string; + /** @description The head to merge. This can be a branch name or a commit SHA1. */ + head: string; + /** @description Commit message to use for the merge commit. If omitted, a default message will be used. */ + commit_message?: string; + }; + }; + }; + responses: { + /** @description Successful Response (The resulting merge commit) */ + 201: { + content: { + "application/json": components["schemas"]["commit"]; + }; + }; + /** @description Response when already merged */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + /** @description Not Found when the base or head does not exist */ + 404: { + content: never; + }; + /** @description Conflict when there is a merge conflict */ + 409: { + content: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List milestones + * @description Lists milestones for a repository. + */ + "issues/list-milestones": { + parameters: { + query?: { + /** @description The state of the milestone. Either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** @description What to sort results by. Either `due_on` or `completeness`. */ + sort?: "due_on" | "completeness"; + /** @description The direction of the sort. Either `asc` or `desc`. */ + direction?: "asc" | "desc"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["milestone"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a milestone + * @description Creates a milestone. + */ + "issues/create-milestone": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the milestone. */ + title: string; + /** + * @description The state of the milestone. Either `open` or `closed`. + * @default open + * @enum {string} + */ + state?: "open" | "closed"; + /** @description A description of the milestone. */ + description?: string; + /** + * Format: date-time + * @description The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/milestones/1 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["milestone"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a milestone + * @description Gets a milestone using the given milestone number. + */ + "issues/get-milestone": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + milestone_number: components["parameters"]["milestone-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["milestone"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a milestone + * @description Deletes a milestone using the given milestone number. + */ + "issues/delete-milestone": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + milestone_number: components["parameters"]["milestone-number"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Update a milestone */ + "issues/update-milestone": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + milestone_number: components["parameters"]["milestone-number"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The title of the milestone. */ + title?: string; + /** + * @description The state of the milestone. Either `open` or `closed`. + * @default open + * @enum {string} + */ + state?: "open" | "closed"; + /** @description A description of the milestone. */ + description?: string; + /** + * Format: date-time + * @description The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["milestone"]; + }; + }; + }; + }; + /** + * List labels for issues in a milestone + * @description Lists labels for issues in a milestone. + */ + "issues/list-labels-for-milestone": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + milestone_number: components["parameters"]["milestone-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + }; + }; + /** + * List repository notifications for the authenticated user + * @description Lists all notifications for the current user in the specified repository. + */ + "activity/list-repo-notifications-for-authenticated-user": { + parameters: { + query?: { + all?: components["parameters"]["all"]; + participating?: components["parameters"]["participating"]; + since?: components["parameters"]["since"]; + before?: components["parameters"]["before"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["thread"][]; + }; + }; + }; + }; + /** + * Mark repository notifications as read + * @description Marks all notifications in a repository as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + */ + "activity/mark-repo-notifications-as-read": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * Format: date-time + * @description Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; + }; + }; + }; + responses: { + /** @description Response */ + 202: { + content: { + "application/json": { + message?: string; + url?: string; + }; + }; + }; + /** @description Reset Content */ + 205: { + content: never; + }; + }; + }; + /** + * Get a GitHub Pages site + * @description Gets information about a GitHub Pages site. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/get-pages": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["page"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update information about a GitHub Pages site + * @description Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/update-information-about-pages-site": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Specify a custom domain for the repository. Sending a `null` value will remove the custom domain. For more about custom domains, see "[Using a custom domain with GitHub Pages](https://docs.github.com/pages/configuring-a-custom-domain-for-your-github-pages-site)." */ + cname?: string | null; + /** @description Specify whether HTTPS should be enforced for the repository. */ + https_enforced?: boolean; + /** + * @description The process by which the GitHub Pages site will be built. `workflow` means that the site is built by a custom GitHub Actions workflow. `legacy` means that the site is built by GitHub when changes are pushed to a specific branch. + * @enum {string} + */ + build_type?: "legacy" | "workflow"; + source?: + | ("gh-pages" | "master" | "master /docs") + | { + /** @description The repository branch used to publish your site's source files. */ + branch: string; + /** + * @description The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. + * @enum {string} + */ + path: "/" | "/docs"; + }; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 400: components["responses"]["bad_request"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Create a GitHub Pages site + * @description Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/create-pages-site": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The process in which the Page will be built. Possible values are `"legacy"` and `"workflow"`. + * @enum {string} + */ + build_type?: "legacy" | "workflow"; + /** @description The source branch and directory used to publish your Pages site. */ + source?: { + /** @description The repository branch used to publish your site's source files. */ + branch: string; + /** + * @description The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. Default: `/` + * @default / + * @enum {string} + */ + path?: "/" | "/docs"; + }; + } | null; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["page"]; + }; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Delete a GitHub Pages site + * @description Deletes a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/delete-pages-site": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List GitHub Pages builds + * @description Lists builts of a GitHub Pages site. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/list-pages-builds": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["page-build"][]; + }; + }; + }; + }; + /** + * Request a GitHub Pages build + * @description You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. + * + * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. + */ + "repos/request-pages-build": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["page-build-status"]; + }; + }; + }; + }; + /** + * Get latest Pages build + * @description Gets information about the single most recent build of a GitHub Pages site. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/get-latest-pages-build": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["page-build"]; + }; + }; + }; + }; + /** + * Get GitHub Pages build + * @description Gets information about a GitHub Pages build. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/get-pages-build": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + build_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["page-build"]; + }; + }; + }; + }; + /** + * Create a GitHub Pages deployment + * @description Create a GitHub Pages deployment for a repository. + * + * The authenticated user must have write permission to the repository. + */ + "repos/create-pages-deployment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The ID of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository. Either `artifact_id` or `artifact_url` are required. */ + artifact_id?: number; + /** @description The URL of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository. Either `artifact_id` or `artifact_url` are required. */ + artifact_url?: string; + /** + * @description The target environment for this GitHub Pages deployment. + * @default github-pages + */ + environment?: string; + /** + * @description A unique string that represents the version of the build for this deployment. + * @default GITHUB_SHA + */ + pages_build_version: string; + /** @description The OIDC token issued by GitHub Actions certifying the origin of the deployment. */ + oidc_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["page-deployment"]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get the status of a GitHub Pages deployment + * @description Gets the current status of a GitHub Pages deployment. + * + * The authenticated user must have read permission for the GitHub Pages site. + */ + "repos/get-pages-deployment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pages_deployment_id: components["parameters"]["pages-deployment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["pages-deployment-status"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Cancel a GitHub Pages deployment + * @description Cancels a GitHub Pages deployment. + * + * The authenticated user must have write permissions for the GitHub Pages site. + */ + "repos/cancel-pages-deployment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pages_deployment_id: components["parameters"]["pages-deployment-id"]; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get a DNS health check for GitHub Pages + * @description Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages. + * + * The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "repos/get-pages-health-check": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["pages-health-check"]; + }; + }; + /** @description Empty response */ + 202: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Custom domains are not available for GitHub Pages */ + 400: { + content: never; + }; + 404: components["responses"]["not_found"]; + /** @description There isn't a CNAME for this page */ + 422: { + content: never; + }; + }; + }; + /** + * Check if private vulnerability reporting is enabled for a repository + * @description Returns a boolean indicating whether or not private vulnerability reporting is enabled for the repository. For more information, see "[Evaluating the security settings of a repository](https://docs.github.com/code-security/security-advisories/working-with-repository-security-advisories/evaluating-the-security-settings-of-a-repository)". + */ + "repos/check-private-vulnerability-reporting": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Private vulnerability reporting status */ + 200: { + content: { + "application/json": { + /** @description Whether or not private vulnerability reporting is enabled for the repository. */ + enabled: boolean; + }; + }; + }; + 422: components["responses"]["bad_request"]; + }; + }; + /** + * Enable private vulnerability reporting for a repository + * @description Enables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)." + */ + "repos/enable-private-vulnerability-reporting": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 422: components["responses"]["bad_request"]; + }; + }; + /** + * Disable private vulnerability reporting for a repository + * @description Disables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)". + */ + "repos/disable-private-vulnerability-reporting": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 422: components["responses"]["bad_request"]; + }; + }; + /** + * List repository projects + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects/list-for-repo": { + parameters: { + query?: { + /** @description Indicates the state of the projects to return. */ + state?: "open" | "closed" | "all"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["project"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Create a repository project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects/create-for-repo": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the project. */ + name: string; + /** @description The description of the project. */ + body?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Get all custom property values for a repository + * @description Gets all custom property values that are set for a repository. + * Users with read access to the repository can use this endpoint. + */ + "repos/get-custom-properties-values": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["custom-property-value"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create or update custom property values for a repository + * @description Create new or update existing custom property values for a repository. + * Using a value of `null` for a custom property will remove or 'unset' the property value from the repository. + * + * Repository admins and other users with the repository-level "edit custom property values" fine-grained permission can use this endpoint. + */ + "repos/create-or-update-custom-properties-values": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description A list of custom property names and associated values to apply to the repositories. */ + properties: components["schemas"]["custom-property-value"][]; + }; + }; + }; + responses: { + /** @description No Content when custom property values are successfully created or updated */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List pull requests + * @description Lists pull requests in a specified repository. + * + * Draft pull requests are available in public repositories with GitHub + * Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing + * plans, and in public and private repositories with GitHub Team and GitHub Enterprise + * Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) + * in the GitHub Help documentation. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/list": { + parameters: { + query?: { + /** @description Either `open`, `closed`, or `all` to filter by state. */ + state?: "open" | "closed" | "all"; + /** @description Filter pulls by head user or head organization and branch name in the format of `user:ref-name` or `organization:ref-name`. For example: `github:new-script-format` or `octocat:test-branch`. */ + head?: string; + /** @description Filter pulls by base branch name. Example: `gh-pages`. */ + base?: string; + /** @description What to sort results by. `popularity` will sort by the number of comments. `long-running` will sort by date created and will limit the results to pull requests that have been open for more than a month and have had activity within the past month. */ + sort?: "created" | "updated" | "popularity" | "long-running"; + /** @description The direction of the sort. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. */ + direction?: "asc" | "desc"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["pull-request-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Create a pull request + * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/create": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the new pull request. Required unless `issue` is specified. */ + title?: string; + /** @description The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`. */ + head: string; + /** + * Format: repo.nwo + * @description The name of the repository where the changes in the pull request were made. This field is required for cross-repository pull requests if both repositories are owned by the same organization. + * @example octo-org/octo-repo + */ + head_repo?: string; + /** @description The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository. */ + base: string; + /** @description The contents of the pull request. */ + body?: string; + /** @description Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ + maintainer_can_modify?: boolean; + /** @description Indicates whether the pull request is a draft. See "[Draft Pull Requests](https://docs.github.com/articles/about-pull-requests#draft-pull-requests)" in the GitHub Help documentation to learn more. */ + draft?: boolean; + /** + * Format: int64 + * @description An issue in the repository to convert to a pull request. The issue title, body, and comments will become the title, body, and comments on the new pull request. Required unless `title` is specified. + * @example 1 + */ + issue?: number; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/1347 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["pull-request"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List review comments in a repository + * @description Lists review comments for all pull requests in a repository. By default, + * review comments are in ascending order by ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/list-review-comments-for-repo": { + parameters: { + query?: { + sort?: "created" | "updated" | "created_at"; + /** @description The direction to sort results. Ignored without `sort` parameter. */ + direction?: "asc" | "desc"; + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"][]; + }; + }; + }; + }; + /** + * Get a review comment for a pull request + * @description Provides details for a specified review comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/get-review-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a review comment for a pull request + * @description Deletes a review comment. + */ + "pulls/delete-review-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update a review comment for a pull request + * @description Edits the content of a specified review comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/update-review-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The text of the reply to the review comment. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + }; + }; + /** + * List reactions for a pull request review comment + * @description List the reactions to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). + */ + "reactions/list-for-pull-request-review-comment": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a pull request review comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create reaction for a pull request review comment + * @description Create a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. + */ + "reactions/create-for-pull-request-review-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the pull request review comment. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + responses: { + /** @description Reaction exists */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Reaction created */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Delete a pull request comment reaction + * @description > [!NOTE] + * > You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` + * + * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). + */ + "reactions/delete-for-pull-request-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + comment_id: components["parameters"]["comment-id"]; + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get a pull request + * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists details of a pull request by providing its number. + * + * When you get, [create](https://docs.github.com/rest/pulls/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/pulls/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. + * + * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: + * + * * If merged as a [merge commit](https://docs.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. + * * If merged via a [squash](https://docs.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. + * * If [rebased](https://docs.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. + * + * Pass the appropriate [media type](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types) to fetch diff and patch formats. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + * - **`application/vnd.github.diff`**: For more information, see "[git-diff](https://git-scm.com/docs/git-diff)" in the Git documentation. If a diff is corrupt, contact us through the [GitHub Support portal](https://support.github.com/). Include the repository name and pull request ID in your message. + */ + "pulls/get": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** @description Pass the appropriate [media type](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types) to fetch diff and patch formats. */ + 200: { + content: { + "application/json": components["schemas"]["pull-request"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 406: components["responses"]["unacceptable"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Update a pull request + * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/update": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The title of the pull request. */ + title?: string; + /** @description The contents of the pull request. */ + body?: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state?: "open" | "closed"; + /** @description The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository. */ + base?: string; + /** @description Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ + maintainer_can_modify?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Create a codespace from a pull request + * @description Creates a codespace owned by the authenticated user for the specified pull request. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/create-with-pr-for-authenticated-user": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ + location?: string; + /** + * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is closing down. + * @enum {string} + */ + geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Whether to authorize requested permissions from devcontainer.json */ + multi_repo_permissions_opt_out?: boolean; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ + retention_period_minutes?: number; + } | null; + }; + }; + responses: { + /** @description Response when the codespace was successfully created */ + 201: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + /** @description Response when the codespace creation partially failed but is being retried in the background */ + 202: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List review comments on a pull request + * @description Lists all review comments for a specified pull request. By default, review comments + * are in ascending order by ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/list-review-comments": { + parameters: { + query?: { + sort?: components["parameters"]["sort"]; + /** @description The direction to sort results. Ignored without `sort` parameter. */ + direction?: "asc" | "desc"; + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"][]; + }; + }; + }; + }; + /** + * Create a review comment for a pull request + * @description Creates a review comment on the diff of a specified pull request. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/issues/comments#create-an-issue-comment)." + * + * If your comment applies to more than one line in the pull request diff, you should use the parameters `line`, `side`, and optionally `start_line` and `start_side` in your request. + * + * The `position` parameter is closing down. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/create-review-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The text of the review comment. */ + body: string; + /** @description The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. */ + commit_id: string; + /** @description The relative path to the file that necessitates a comment. */ + path: string; + /** + * @deprecated + * @description **This parameter is closing down. Use `line` instead**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + */ + position?: number; + /** + * @description In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://docs.github.com/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + * @enum {string} + */ + side?: "LEFT" | "RIGHT"; + /** @description **Required unless using `subject_type:file`**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. */ + line?: number; + /** @description **Required when using multi-line comments unless using `in_reply_to`**. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://docs.github.com/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. */ + start_line?: number; + /** + * @description **Required when using multi-line comments unless using `in_reply_to`**. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://docs.github.com/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. + * @enum {string} + */ + start_side?: "LEFT" | "RIGHT" | "side"; + /** + * @description The ID of the review comment to reply to. To find the ID of a review comment with ["List review comments on a pull request"](#list-review-comments-on-a-pull-request). When specified, all parameters other than `body` in the request body are ignored. + * @example 2 + */ + in_reply_to?: number; + /** + * @description The level at which the comment is targeted. + * @enum {string} + */ + subject_type?: "line" | "file"; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Create a reply for a review comment + * @description Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/create-reply-for-review-comment": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + comment_id: components["parameters"]["comment-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The text of the review comment. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List commits on a pull request + * @description Lists a maximum of 250 commits for a pull request. To receive a complete + * commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/commits/commits#list-commits) + * endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/list-commits": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["commit"][]; + }; + }; + }; + }; + /** + * List pull requests files + * @description Lists the files in a specified pull request. + * + * > [!NOTE] + * > Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/list-files": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["diff-entry"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Check if a pull request has been merged + * @description Checks if a pull request has been merged into the base branch. The HTTP status of the response indicates whether or not the pull request has been merged; the response body is empty. + */ + "pulls/check-if-merged": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** @description Response if pull request has been merged */ + 204: { + content: never; + }; + /** @description Not Found if pull request has not been merged */ + 404: { + content: never; + }; + }; + }; + /** + * Merge a pull request + * @description Merges a pull request into the base branch. + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + "pulls/merge": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description Title for the automatic commit message. */ + commit_title?: string; + /** @description Extra detail to append to automatic commit message. */ + commit_message?: string; + /** @description SHA that pull request head must match to allow merge. */ + sha?: string; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method?: "merge" | "squash" | "rebase"; + } | null; + }; + }; + responses: { + /** @description if merge was successful */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-merge-result"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Method Not Allowed if merge cannot be performed */ + 405: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + /** @description Conflict if sha was provided and pull request head did not match */ + 409: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get all requested reviewers for a pull request + * @description Gets the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation. + */ + "pulls/list-requested-reviewers": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["pull-request-review-request"]; + }; + }; + }; + }; + /** + * Request reviewers for a pull request + * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + "pulls/request-reviewers": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description An array of user `login`s that will be requested. */ + reviewers?: string[]; + /** @description An array of team `slug`s that will be requested. */ + team_reviewers?: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["pull-request-simple"]; + }; + }; + 403: components["responses"]["forbidden"]; + /** @description Unprocessable Entity if user is not a collaborator */ + 422: { + content: never; + }; + }; + }; + /** + * Remove requested reviewers from a pull request + * @description Removes review requests from a pull request for a given set of users and/or teams. + */ + "pulls/remove-requested-reviewers": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of user `login`s that will be removed. */ + reviewers: string[]; + /** @description An array of team `slug`s that will be removed. */ + team_reviewers?: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-simple"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List reviews for a pull request + * @description Lists all reviews for a specified pull request. The list of reviews returns in chronological order. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/list-reviews": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + responses: { + /** @description The list of reviews returns in chronological order. */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["pull-request-review"][]; + }; + }; + }; + }; + /** + * Create a review for a pull request + * @description Creates a review on a specified pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * Pull request reviews created in the `PENDING` state are not submitted and therefore do not include the `submitted_at` property in the response. To create a pending review for a pull request, leave the `event` parameter blank. For more information about submitting a `PENDING` review, see "[Submit a review for a pull request](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request)." + * + * > [!NOTE] + * > To comment on a specific line in a file, you need to first determine the position of that line in the diff. To see a pull request diff, add the `application/vnd.github.v3.diff` media type to the `Accept` header of a call to the [Get a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) endpoint. + * + * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/create-review": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value. */ + commit_id?: string; + /** @description **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. */ + body?: string; + /** + * @description The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request) when you are ready. + * @enum {string} + */ + event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + /** @description Use the following table to specify the location, destination, and contents of the draft review comment. */ + comments?: { + /** @description The relative path to the file that necessitates a review comment. */ + path: string; + /** @description The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. */ + position?: number; + /** @description Text of the review comment. */ + body: string; + /** @example 28 */ + line?: number; + /** @example RIGHT */ + side?: string; + /** @example 26 */ + start_line?: number; + /** @example LEFT */ + start_side?: string; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Get a review for a pull request + * @description Retrieves a pull request review by its ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/get-review": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + review_id: components["parameters"]["review-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update a review for a pull request + * @description Updates the contents of a specified review summary comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/update-review": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + review_id: components["parameters"]["review-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The body text of the pull request review. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Delete a pending review for a pull request + * @description Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/delete-pending-review": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + review_id: components["parameters"]["review-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * List comments for a pull request review + * @description Lists comments for a specific pull request review. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/list-comments-for-review": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + review_id: components["parameters"]["review-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["review-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Dismiss a review for a pull request + * @description Dismisses a specified review on a pull request. + * + * > [!NOTE] + * > To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/branches/branch-protection), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/dismiss-review": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + review_id: components["parameters"]["review-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The message for the pull request review dismissal */ + message: string; + /** + * @example "DISMISS" + * @enum {string} + */ + event?: "DISMISS"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Submit a review for a pull request + * @description Submits a pending review for a pull request. For more information about creating a pending review for a pull request, see "[Create a review for a pull request](https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "pulls/submit-review": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + review_id: components["parameters"]["review-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The body text of the pull request review */ + body?: string; + /** + * @description The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action. + * @enum {string} + */ + event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Update a pull request branch + * @description Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. + * Note: If making a request on behalf of a GitHub App you must also have permissions to write the contents of the head repository. + */ + "pulls/update-branch": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + pull_number: components["parameters"]["pull-number"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the "[List commits](https://docs.github.com/rest/commits/commits#list-commits)" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref. */ + expected_head_sha?: string; + } | null; + }; + }; + responses: { + /** @description Response */ + 202: { + content: { + "application/json": { + message?: string; + url?: string; + }; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a repository README + * @description Gets the preferred README for a repository. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw file contents. This is the default if you do not specify a media type. + * - **`application/vnd.github.html+json`**: Returns the README in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + */ + "repos/get-readme": { + parameters: { + query?: { + /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ + ref?: string; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["content-file"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a repository README for a directory + * @description Gets the README from a repository directory. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw file contents. This is the default if you do not specify a media type. + * - **`application/vnd.github.html+json`**: Returns the README in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + */ + "repos/get-readme-in-directory": { + parameters: { + query?: { + /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ + ref?: string; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The alternate path to look for a README file */ + dir: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["content-file"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List releases + * @description This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/repos/repos#list-repository-tags). + * + * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. + */ + "repos/list-releases": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["release"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a release + * @description Users with push access to the repository can create a release. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + "repos/create-release": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the tag. */ + tag_name: string; + /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch. */ + target_commitish?: string; + /** @description The name of the release. */ + name?: string; + /** @description Text describing the contents of the tag. */ + body?: string; + /** + * @description `true` to create a draft (unpublished) release, `false` to create a published one. + * @default false + */ + draft?: boolean; + /** + * @description `true` to identify the release as a prerelease. `false` to identify the release as a full release. + * @default false + */ + prerelease?: boolean; + /** @description If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. For more information, see "[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." */ + discussion_category_name?: string; + /** + * @description Whether to automatically generate the name and body for this release. If `name` is specified, the specified name will be used; otherwise, a name will be automatically generated. If `body` is specified, the body will be pre-pended to the automatically generated notes. + * @default false + */ + generate_release_notes?: boolean; + /** + * @description Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version. + * @default true + * @enum {string} + */ + make_latest?: "true" | "false" | "legacy"; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/releases/1 */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["release"]; + }; + }; + /** @description Not Found if the discussion category name is invalid */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a release asset + * @description To download the asset's binary content: + * + * - If within a browser, fetch the location specified in the `browser_download_url` key provided in the response. + * - Alternatively, set the `Accept` header of the request to + * [`application/octet-stream`](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types). + * The API will either redirect the client to the location, or stream it directly if possible. + * API clients should handle both a `200` or `302` response. + */ + "repos/get-release-asset": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + asset_id: components["parameters"]["asset-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + 302: components["responses"]["found"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Delete a release asset */ + "repos/delete-release-asset": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + asset_id: components["parameters"]["asset-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update a release asset + * @description Users with push access to the repository can edit a release asset. + */ + "repos/update-release-asset": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + asset_id: components["parameters"]["asset-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The file name of the asset. */ + name?: string; + /** @description An alternate short description of the asset. Used in place of the filename. */ + label?: string; + /** @example "uploaded" */ + state?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + }; + }; + /** + * Generate release notes content for a release + * @description Generate a name and body describing a [release](https://docs.github.com/rest/releases/releases#get-a-release). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. + */ + "repos/generate-release-notes": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The tag name for the release. This can be an existing tag or a new one. */ + tag_name: string; + /** @description Specifies the commitish value that will be the target for the release's tag. Required if the supplied tag_name does not reference an existing tag. Ignored if the tag_name already exists. */ + target_commitish?: string; + /** @description The name of the previous tag to use as the starting point for the release notes. Use to manually specify the range for the set of changes considered as part this release. */ + previous_tag_name?: string; + /** @description Specifies a path to a file in the repository containing configuration settings used for generating the release notes. If unspecified, the configuration file located in the repository at '.github/release.yml' or '.github/release.yaml' will be used. If that is not present, the default configuration will be used. */ + configuration_file_path?: string; + }; + }; + }; + responses: { + /** @description Name and body of generated release notes */ + 200: { + content: { + "application/json": components["schemas"]["release-notes-content"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get the latest release + * @description View the latest published full release for the repository. + * + * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. + */ + "repos/get-latest-release": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["release"]; + }; + }; + }; + }; + /** + * Get a release by tag name + * @description Get a published release with the specified tag. + */ + "repos/get-release-by-tag": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description tag parameter */ + tag: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["release"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get a release + * @description Gets a public release with the specified release ID. + * + * > [!NOTE] + * > This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a hypermedia resource. For more information, see "[Getting started with the REST API](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia)." + */ + "repos/get-release": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + release_id: components["parameters"]["release-id"]; + }; + }; + responses: { + /** @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a hypermedia resource. For more information, see "[Getting started with the REST API](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia)." */ + 200: { + content: { + "application/json": components["schemas"]["release"]; + }; + }; + /** @description Unauthorized */ + 401: { + content: never; + }; + }; + }; + /** + * Delete a release + * @description Users with push access to the repository can delete a release. + */ + "repos/delete-release": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + release_id: components["parameters"]["release-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update a release + * @description Users with push access to the repository can edit a release. + */ + "repos/update-release": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + release_id: components["parameters"]["release-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the tag. */ + tag_name?: string; + /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch. */ + target_commitish?: string; + /** @description The name of the release. */ + name?: string; + /** @description Text describing the contents of the tag. */ + body?: string; + /** @description `true` makes the release a draft, and `false` publishes the release. */ + draft?: boolean; + /** @description `true` to identify the release as a prerelease, `false` to identify the release as a full release. */ + prerelease?: boolean; + /** + * @description Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version. + * @default true + * @enum {string} + */ + make_latest?: "true" | "false" | "legacy"; + /** @description If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. If there is already a discussion linked to the release, this parameter is ignored. For more information, see "[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." */ + discussion_category_name?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["release"]; + }; + }; + /** @description Not Found if the discussion category name is invalid */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** List release assets */ + "repos/list-release-assets": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + release_id: components["parameters"]["release-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["release-asset"][]; + }; + }; + }; + }; + /** + * Upload a release asset + * @description This endpoint makes use of a [Hypermedia relation](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in + * the response of the [Create a release endpoint](https://docs.github.com/rest/releases/releases#create-a-release) to upload a release asset. + * + * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. + * + * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: + * + * `application/zip` + * + * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, + * you'll still need to pass your authentication to be able to upload an asset. + * + * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. + * + * **Notes:** + * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List release assets](https://docs.github.com/rest/releases/assets#list-release-assets)" + * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + * * To find the `release_id` query the [`GET /repos/{owner}/{repo}/releases/latest` endpoint](https://docs.github.com/rest/releases/releases#get-the-latest-release). + * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. + */ + "repos/upload-release-asset": { + parameters: { + query: { + name: string; + label?: string; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + release_id: components["parameters"]["release-id"]; + }; + }; + requestBody?: { + content: { + "application/octet-stream": string; + }; + }; + responses: { + /** @description Response for successful upload */ + 201: { + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + /** @description Response if you upload an asset with the same filename as another uploaded asset */ + 422: { + content: never; + }; + }; + }; + /** + * List reactions for a release + * @description List the reactions to a [release](https://docs.github.com/rest/releases/releases#get-a-release). + */ + "reactions/list-for-release": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a release. */ + content?: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + release_id: components["parameters"]["release-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create reaction for a release + * @description Create a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). A response with a `Status: 200 OK` means that you already added the reaction type to this release. + */ + "reactions/create-for-release": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + release_id: components["parameters"]["release-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the release. + * @enum {string} + */ + content: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Reaction exists */ + 200: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Reaction created */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Delete a release reaction + * @description > [!NOTE] + * > You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`. + * + * Delete a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). + */ + "reactions/delete-for-release": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + release_id: components["parameters"]["release-id"]; + reaction_id: components["parameters"]["reaction-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Get rules for a branch + * @description Returns all active rules that apply to the specified branch. The branch does not need to exist; rules that would apply + * to a branch with that name will be returned. All active rules that apply will be returned, regardless of the level + * at which they are configured (e.g. repository or organization). Rules in rulesets with "evaluate" or "disabled" + * enforcement statuses are not returned. + */ + "repos/get-branch-rules": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + branch: components["parameters"]["branch"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-rule-detailed"][]; + }; + }; + }; + }; + /** + * Get all repository rulesets + * @description Get all the rulesets for a repository. + */ + "repos/get-repo-rulesets": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + /** @description Include rulesets configured at higher levels that apply to this repository */ + includes_parents?: boolean; + targets?: components["parameters"]["ruleset-targets"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-ruleset"][]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Create a repository ruleset + * @description Create a ruleset for a repository. + */ + "repos/create-repo-ruleset": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + /** @description Request body */ + requestBody: { + content: { + "application/json": { + /** @description The name of the ruleset. */ + name: string; + /** + * @description The target of the ruleset + * @default branch + * @enum {string} + */ + target?: "branch" | "tag" | "push"; + enforcement: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + conditions?: components["schemas"]["repository-ruleset-conditions"]; + /** @description An array of rules within the ruleset. */ + rules?: components["schemas"]["repository-rule"][]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List repository rule suites + * @description Lists suites of rule evaluations at the repository level. + * For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." + */ + "repos/get-repo-rule-suites": { + parameters: { + query?: { + ref?: components["parameters"]["ref-in-query"]; + time_period?: components["parameters"]["time-period"]; + actor_name?: components["parameters"]["actor-name-in-query"]; + rule_suite_result?: components["parameters"]["rule-suite-result"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["rule-suites"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get a repository rule suite + * @description Gets information about a suite of rule evaluations from within a repository. + * For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." + */ + "repos/get-repo-rule-suite": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + rule_suite_id: components["parameters"]["rule-suite-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["rule-suite"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get a repository ruleset + * @description Get a ruleset for a repository. + * + * **Note:** To prevent leaking sensitive information, the `bypass_actors` property is only returned if the user + * making the API request has write access to the ruleset. + */ + "repos/get-repo-ruleset": { + parameters: { + query?: { + /** @description Include rulesets configured at higher levels that apply to this repository */ + includes_parents?: boolean; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Update a repository ruleset + * @description Update a ruleset for a repository. + */ + "repos/update-repo-ruleset": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + }; + /** @description Request body */ + requestBody?: { + content: { + "application/json": { + /** @description The name of the ruleset. */ + name?: string; + /** + * @description The target of the ruleset + * @enum {string} + */ + target?: "branch" | "tag" | "push"; + enforcement?: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + conditions?: components["schemas"]["repository-ruleset-conditions"]; + /** @description An array of rules within the ruleset. */ + rules?: components["schemas"]["repository-rule"][]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Delete a repository ruleset + * @description Delete a ruleset for a repository. + */ + "repos/delete-repo-ruleset": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get repository ruleset history + * @description Get the history of a repository ruleset. + */ + "repos/get-repo-ruleset-history": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["ruleset-version"][]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get repository ruleset version + * @description Get a version of a repository ruleset. + */ + "repos/get-repo-ruleset-version": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + /** @description The ID of the version */ + version_id: number; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["ruleset-version-with-state"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List secret scanning alerts for a repository + * @description Lists secret scanning alerts for an eligible repository, from newest to oldest. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + "secret-scanning/list-alerts-for-repo": { + parameters: { + query?: { + state?: components["parameters"]["secret-scanning-alert-state"]; + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; + sort?: components["parameters"]["secret-scanning-alert-sort"]; + direction?: components["parameters"]["direction"]; + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + before?: components["parameters"]["secret-scanning-pagination-before-org-repo"]; + after?: components["parameters"]["secret-scanning-pagination-after-org-repo"]; + validity?: components["parameters"]["secret-scanning-alert-validity"]; + is_publicly_leaked?: components["parameters"]["secret-scanning-alert-publicly-leaked"]; + is_multi_repo?: components["parameters"]["secret-scanning-alert-multi-repo"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["secret-scanning-alert"][]; + }; + }; + /** @description Repository is public or secret scanning is disabled for the repository */ + 404: { + content: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get a secret scanning alert + * @description Gets a single secret scanning alert detected in an eligible repository. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + "secret-scanning/get-alert": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + alert_number: components["parameters"]["alert-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["secret-scanning-alert"]; + }; + }; + 304: components["responses"]["not_modified"]; + /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: { + content: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Update a secret scanning alert + * @description Updates the status of a secret scanning alert in an eligible repository. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + "secret-scanning/update-alert": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + alert_number: components["parameters"]["alert-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + state: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + resolution_comment?: components["schemas"]["secret-scanning-alert-resolution-comment"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["secret-scanning-alert"]; + }; + }; + /** @description Bad request, resolution comment is invalid or the resolution was not changed. */ + 400: { + content: never; + }; + /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: { + content: never; + }; + /** @description State does not match the resolution or resolution comment */ + 422: { + content: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List locations for a secret scanning alert + * @description Lists all locations for a given secret scanning alert for an eligible repository. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + "secret-scanning/list-locations-for-alert": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + alert_number: components["parameters"]["alert-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["secret-scanning-location"][]; + }; + }; + /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: { + content: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Create a push protection bypass + * @description Creates a bypass for a previously push protected secret. + * + * The authenticated user must be the original author of the committed secret. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "secret-scanning/create-push-protection-bypass": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + reason: components["schemas"]["secret-scanning-push-protection-bypass-reason"]; + placeholder_id: components["schemas"]["secret-scanning-push-protection-bypass-placeholder-id"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["secret-scanning-push-protection-bypass"]; + }; + }; + /** @description User does not have enough permissions to perform this action. */ + 403: { + content: never; + }; + /** @description Placeholder ID not found, or push protection is disabled on this repository. */ + 404: { + content: never; + }; + /** @description Bad request, input data missing or incorrect. */ + 422: { + content: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get secret scanning scan history for a repository + * @description Lists the latest default incremental and backfill scans by type for a repository. Scans from Copilot Secret Scanning are not included. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + "secret-scanning/get-scan-history": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["secret-scanning-scan-history"]; + }; + }; + /** @description Repository does not have GitHub Advanced Security or secret scanning enabled */ + 404: { + content: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List repository security advisories + * @description Lists security advisories in a repository. + * + * The authenticated user can access unpublished security advisories from a repository if they are a security manager or administrator of that repository, or if they are a collaborator on any security advisory. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:read` scope to to get a published security advisory in a private repository, or any unpublished security advisory that the authenticated user has access to. + */ + "security-advisories/list-repository-advisories": { + parameters: { + query?: { + direction?: components["parameters"]["direction"]; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "published"; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + /** @description The number of advisories to return per page. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)." */ + per_page?: number; + /** @description Filter by state of the repository advisories. Only advisories of this state will be returned. */ + state?: "triage" | "draft" | "published" | "closed"; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-advisory"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a repository security advisory + * @description Creates a new repository security advisory. + * + * In order to create a draft repository security advisory, the authenticated user must be a security manager or administrator of that repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + "security-advisories/create-repository-advisory": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["repository-advisory-create"]; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["repository-advisory"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Privately report a security vulnerability + * @description Report a security vulnerability to the maintainers of the repository. + * See "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)" for more information about private vulnerability reporting. + */ + "security-advisories/create-private-vulnerability-report": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["private-vulnerability-report-create"]; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["repository-advisory"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a repository security advisory + * @description Get a repository security advisory using its GitHub Security Advisory (GHSA) identifier. + * + * Anyone can access any published security advisory on a public repository. + * + * The authenticated user can access an unpublished security advisory from a repository if they are a security manager or administrator of that repository, or if they are a + * collaborator on the security advisory. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:read` scope to to get a published security advisory in a private repository, or any unpublished security advisory that the authenticated user has access to. + */ + "security-advisories/get-repository-advisory": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ghsa_id: components["parameters"]["ghsa_id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-advisory"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update a repository security advisory + * @description Update a repository security advisory using its GitHub Security Advisory (GHSA) identifier. + * + * In order to update any security advisory, the authenticated user must be a security manager or administrator of that repository, + * or a collaborator on the repository security advisory. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + "security-advisories/update-repository-advisory": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ghsa_id: components["parameters"]["ghsa_id"]; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["repository-advisory-update"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-advisory"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Validation failed, or the endpoint has been spammed. */ + 422: { + content: { + "application/json": components["schemas"]["validation-error"]; + }; + }; + }; + }; + /** + * Request a CVE for a repository security advisory + * @description If you want a CVE identification number for the security vulnerability in your project, and don't already have one, you can request a CVE identification number from GitHub. For more information see "[Requesting a CVE identification number](https://docs.github.com/code-security/security-advisories/repository-security-advisories/publishing-a-repository-security-advisory#requesting-a-cve-identification-number-optional)." + * + * You may request a CVE for public repositories, but cannot do so for private repositories. + * + * In order to request a CVE for a repository security advisory, the authenticated user must be a security manager or administrator of that repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + "security-advisories/create-repository-advisory-cve-request": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ghsa_id: components["parameters"]["ghsa_id"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Create a temporary private fork + * @description Create a temporary private fork to collaborate on fixing a security vulnerability in your repository. + * + * > [!NOTE] + * > Forking a repository happens asynchronously. You may have to wait up to 5 minutes before you can access the fork. + */ + "security-advisories/create-fork": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ghsa_id: components["parameters"]["ghsa_id"]; + }; + }; + responses: { + /** @description Response */ + 202: { + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List stargazers + * @description Lists the people that have starred the repository. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. + */ + "activity/list-stargazers-for-repo": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": + | components["schemas"]["simple-user"][] + | components["schemas"]["stargazer"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get the weekly commit activity + * @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. + * + * > [!NOTE] + * > This endpoint can only be used for repositories with fewer than 10,000 commits. If the repository contains 10,000 or more commits, a 422 status code will be returned. + */ + "repos/get-code-frequency-stats": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ + 200: { + content: { + "application/json": components["schemas"]["code-frequency-stat"][]; + }; + }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + /** @description Repository contains more than 10,000 commits */ + 422: { + content: never; + }; + }; + }; + /** + * Get the last year of commit activity + * @description Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. + */ + "repos/get-commit-activity-stats": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["commit-activity"][]; + }; + }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + }; + }; + /** + * Get all contributor commit activity + * @description + * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: + * + * * `w` - Start of the week, given as a [Unix timestamp](https://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + * + * > [!NOTE] + * > This endpoint will return `0` values for all addition and deletion counts in repositories with 10,000 or more commits. + */ + "repos/get-contributors-stats": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["contributor-activity"][]; + }; + }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + }; + }; + /** + * Get the weekly commit count + * @description Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. + * + * The array order is oldest week (index 0) to most recent week. + * + * The most recent week is seven days ago at UTC midnight to today at UTC midnight. + */ + "repos/get-participation-stats": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description The array order is oldest week (index 0) to most recent week. */ + 200: { + content: { + "application/json": components["schemas"]["participation-stats"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get the hourly commit count for each day + * @description Each array contains the day number, hour number, and number of commits: + * + * * `0-6`: Sunday - Saturday + * * `0-23`: Hour of day + * * Number of commits + * + * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. + */ + "repos/get-punch-card-stats": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. */ + 200: { + content: { + "application/json": components["schemas"]["code-frequency-stat"][]; + }; + }; + 204: components["responses"]["no_content"]; + }; + }; + /** + * Create a commit status + * @description Users with push access in a repository can create commit statuses for a given SHA. + * + * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. + */ + "repos/create-commit-status": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + sha: string; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The state of the status. + * @enum {string} + */ + state: "error" | "failure" | "pending" | "success"; + /** + * @description The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status. + * For example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA: + * `http://ci.example.com/user/repo/build/sha` + */ + target_url?: string | null; + /** @description A short description of the status. */ + description?: string | null; + /** + * @description A string label to differentiate this status from the status of other systems. This field is case-insensitive. + * @default default + */ + context?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["status"]; + }; + }; + }; + }; + /** + * List watchers + * @description Lists the people watching the specified repository. + */ + "activity/list-watchers-for-repo": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + /** + * Get a repository subscription + * @description Gets information about whether the authenticated user is subscribed to the repository. + */ + "activity/get-repo-subscription": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description if you subscribe to the repository */ + 200: { + content: { + "application/json": components["schemas"]["repository-subscription"]; + }; + }; + 403: components["responses"]["forbidden"]; + /** @description Not Found if you don't subscribe to the repository */ + 404: { + content: never; + }; + }; + }; + /** + * Set a repository subscription + * @description If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/activity/watching#delete-a-repository-subscription) completely. + */ + "activity/set-repo-subscription": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description Determines if notifications should be received from this repository. */ + subscribed?: boolean; + /** @description Determines if all notifications should be blocked from this repository. */ + ignored?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repository-subscription"]; + }; + }; + }; + }; + /** + * Delete a repository subscription + * @description This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/activity/watching#set-a-repository-subscription). + */ + "activity/delete-repo-subscription": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** List repository tags */ + "repos/list-tags": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["tag"][]; + }; + }; + }; + }; + /** + * Closing down - List tag protection states for a repository + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed after August 30, 2024. Use the "[Repository Rulesets](https://docs.github.com/rest/repos/rules#get-all-repository-rulesets)" endpoint instead. + * + * This returns the tag protection states of a repository. + * + * This information is only available to repository administrators. + */ + "repos/list-tag-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["tag-protection"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Closing down - Create a tag protection state for a repository + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed after August 30, 2024. Use the "[Repository Rulesets](https://docs.github.com/rest/repos/rules#create-a-repository-ruleset)" endpoint instead. + * + * This creates a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + "repos/create-tag-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description An optional glob pattern to match against when enforcing tag protection. */ + pattern: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["tag-protection"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Closing down - Delete a tag protection state for a repository + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** This operation is closing down and will be removed after August 30, 2024. Use the "[Repository Rulesets](https://docs.github.com/rest/repos/rules#delete-a-repository-ruleset)" endpoint instead. + * + * This deletes a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + "repos/delete-tag-protection": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + tag_protection_id: components["parameters"]["tag-protection-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Download a repository archive (tar) + * @description Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * + * > [!NOTE] + * > For private repositories, these links are temporary and expire after five minutes. + */ + "repos/download-tarball-archive": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ref: string; + }; + }; + responses: { + /** @description Response */ + 302: { + headers: { + /** @example https://codeload.github.com/me/myprivate/legacy.zip/master?login=me&token=thistokenexpires */ + Location?: string; + }; + content: never; + }; + }; + }; + /** + * List repository teams + * @description Lists the teams that have access to the specified repository and that are also visible to the authenticated user. + * + * For a public repository, a team is listed only if that team added the public repository explicitly. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to use this endpoint with a public repository, and `repo` scope to use this endpoint with a private repository. + */ + "repos/list-teams": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Get all repository topics */ + "repos/get-all-topics": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["topic"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** Replace all repository topics */ + "repos/replace-all-topics": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` will be saved as lowercase. */ + names: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["topic"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * Get repository clones + * @description Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + */ + "repos/get-clones": { + parameters: { + query?: { + per?: components["parameters"]["per"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["clone-traffic"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get top referral paths + * @description Get the top 10 popular contents over the last 14 days. + */ + "repos/get-top-paths": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["content-traffic"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get top referral sources + * @description Get the top 10 referrers over the last 14 days. + */ + "repos/get-top-referrers": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["referrer-traffic"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get page views + * @description Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + */ + "repos/get-views": { + parameters: { + query?: { + per?: components["parameters"]["per"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["view-traffic"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Transfer a repository + * @description A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/articles/about-repository-transfers/). + */ + "repos/transfer": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The username or organization name the repository will be transferred to. */ + new_owner: string; + /** @description The new name to be given to the repository. */ + new_name?: string; + /** @description ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories. */ + team_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 202: { + content: { + "application/json": components["schemas"]["minimal-repository"]; + }; + }; + }; + }; + /** + * Check if vulnerability alerts are enabled for a repository + * @description Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + "repos/check-vulnerability-alerts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response if repository is enabled with vulnerability alerts */ + 204: { + content: never; + }; + /** @description Not Found if repository is not enabled with vulnerability alerts */ + 404: { + content: never; + }; + }; + }; + /** + * Enable vulnerability alerts + * @description Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + "repos/enable-vulnerability-alerts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Disable vulnerability alerts + * @description Disables dependency alerts and the dependency graph for a repository. + * The authenticated user must have admin access to the repository. For more information, + * see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + "repos/disable-vulnerability-alerts": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Download a repository archive (zip) + * @description Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * + * > [!NOTE] + * > For private repositories, these links are temporary and expire after five minutes. If the repository is empty, you will receive a 404 when you follow the redirect. + */ + "repos/download-zipball-archive": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + ref: string; + }; + }; + responses: { + /** @description Response */ + 302: { + headers: { + /** @example https://codeload.github.com/me/myprivate/legacy.zip/master?login=me&token=thistokenexpires */ + Location?: string; + }; + content: never; + }; + }; + }; + /** + * Create a repository using a template + * @description Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/repos/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository. + */ + "repos/create-using-template": { + parameters: { + path: { + /** @description The account owner of the template repository. The name is not case sensitive. */ + template_owner: string; + /** @description The name of the template repository without the `.git` extension. The name is not case sensitive. */ + template_repo: string; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization. */ + owner?: string; + /** @description The name of the new repository. */ + name: string; + /** @description A short description of the new repository. */ + description?: string; + /** + * @description Set to `true` to include the directory structure and files from all branches in the template repository, and not just the default branch. Default: `false`. + * @default false + */ + include_all_branches?: boolean; + /** + * @description Either `true` to create a new private repository or `false` to create a new public one. + * @default false + */ + private?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + }; + }; + /** + * List public repositories + * @description Lists all public repositories in the order that they were created. + * + * Note: + * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. + * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of repositories. + */ + "repos/list-public": { + parameters: { + query?: { + since?: components["parameters"]["since-repo"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Search code + * @description Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: + * + * `q=addClass+in:file+language:js+repo:jquery/jquery` + * + * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. + * + * Considerations for code search: + * + * Due to the complexity of searching code, there are a few restrictions on how searches are performed: + * + * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. + * * Only files smaller than 384 KB are searchable. + * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing + * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. + * + * This endpoint requires you to authenticate and limits you to 10 requests per minute. + */ + "search/code": { + parameters: { + query: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching code](https://docs.github.com/search-github/searching-on-github/searching-code)" for a detailed list of qualifiers. */ + q: string; + /** + * @deprecated + * @description **This field is closing down.** Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub search infrastructure. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) + */ + sort?: "indexed"; + /** + * @deprecated + * @description **This field is closing down.** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["code-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Search commits + * @description Find commits via various criteria on the default branch (usually `main`). This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match + * metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: + * + * `q=repo:octocat/Spoon-Knife+css` + */ + "search/commits": { + parameters: { + query: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching commits](https://docs.github.com/search-github/searching-on-github/searching-commits)" for a detailed list of qualifiers. */ + q: string; + /** @description Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ + sort?: "author-date" | "committer-date"; + order?: components["parameters"]["order"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["commit-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Search issues and pull requests + * @deprecated + * @description > [!WARNING] + * > **Notice:** Search for issues and pull requests will be overridden by advanced search on September 4, 2025. + * > You can read more about this change on [the GitHub blog](https://github.blog/changelog/2025-03-06-github-issues-projects-api-support-for-issues-advanced-search-and-more/). + */ + "search/issues-and-pull-requests": { + parameters: { + query: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching issues and pull requests](https://docs.github.com/search-github/searching-on-github/searching-issues-and-pull-requests)" for a detailed list of qualifiers. */ + q: string; + /** @description Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ + sort?: + | "comments" + | "reactions" + | "reactions-+1" + | "reactions--1" + | "reactions-smile" + | "reactions-thinking_face" + | "reactions-heart" + | "reactions-tada" + | "interactions" + | "created" + | "updated"; + order?: components["parameters"]["order"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + advanced_search?: components["parameters"]["issues-advanced-search"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["issue-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Search labels + * @description Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: + * + * `q=bug+defect+enhancement&repository_id=64778136` + * + * The labels that best match the query appear first in the search results. + */ + "search/labels": { + parameters: { + query: { + /** @description The id of the repository. */ + repository_id: number; + /** @description The search keywords. This endpoint does not accept qualifiers in the query. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). */ + q: string; + /** @description Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ + sort?: "created" | "updated"; + order?: components["parameters"]["order"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["label-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Search repositories + * @description Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: + * + * `q=tetris+language:assembly&sort=stars&order=desc` + * + * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. + */ + "search/repos": { + parameters: { + query: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching for repositories](https://docs.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. */ + q: string; + /** @description Sorts the results of your query by number of `stars`, `forks`, or `help-wanted-issues` or how recently the items were `updated`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ + sort?: "stars" | "forks" | "help-wanted-issues" | "updated"; + order?: components["parameters"]["order"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["repo-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Search topics + * @description Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). See "[Searching topics](https://docs.github.com/articles/searching-topics/)" for a detailed list of qualifiers. + * + * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: + * + * `q=ruby+is:featured` + * + * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. + */ + "search/topics": { + parameters: { + query: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). */ + q: string; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["topic-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Search users + * @description Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for users, you can get text match metadata for the issue **login**, public **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you're looking for a list of popular users, you might try this query: + * + * `q=tom+repos:%3E42+followers:%3E1000` + * + * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. + * + * This endpoint does not accept authentication and will only include publicly visible users. As an alternative, you can use the GraphQL API. The GraphQL API requires authentication and will return private users, including Enterprise Managed Users (EMUs), that you are authorized to view. For more information, see "[GraphQL Queries](https://docs.github.com/graphql/reference/queries#search)." + */ + "search/users": { + parameters: { + query: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching users](https://docs.github.com/search-github/searching-on-github/searching-users)" for a detailed list of qualifiers. */ + q: string; + /** @description Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ + sort?: "followers" | "repositories" | "joined"; + order?: components["parameters"]["order"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["user-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * Get a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/teams/teams#get-a-team-by-name) endpoint. + */ + "teams/get-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/teams/teams#delete-a-team) endpoint. + * + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + */ + "teams/delete-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Update a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/teams/teams#update-a-team) endpoint. + * + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * > [!NOTE] + * > With nested teams, the `privacy` for parent teams cannot be `secret`. + */ + "teams/update-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the team. */ + name: string; + /** @description The description of the team. */ + description?: string; + /** + * @description The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: + * **For a non-nested team:** + * * `secret` - only visible to organization owners and members of this team. + * * `closed` - visible to all members of this organization. + * **For a parent or child team:** + * * `closed` - visible to all members of this organization. + * @enum {string} + */ + privacy?: "secret" | "closed"; + /** + * @description The notification setting the team has chosen. Editing teams without specifying this parameter leaves `notification_setting` intact. The options are: + * * `notifications_enabled` - team members receive notifications when the team is @mentioned. + * * `notifications_disabled` - no one receives notifications. + * @enum {string} + */ + notification_setting?: + | "notifications_enabled" + | "notifications_disabled"; + /** + * @description **Closing down notice**. The permission that new repositories will be added to the team with when none is specified. + * @default pull + * @enum {string} + */ + permission?: "pull" | "push" | "admin"; + /** @description The ID of a team to set as the parent team. */ + parent_team_id?: number | null; + }; + }; + }; + responses: { + /** @description Response when the updated information already exists */ + 200: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List discussions (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/teams/discussions#list-discussions) endpoint. + * + * List all discussions on a team's page. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + "teams/list-discussions-legacy": { + parameters: { + query?: { + direction?: components["parameters"]["direction"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["team-discussion"][]; + }; + }; + }; + }; + /** + * Create a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/teams/discussions#create-a-discussion) endpoint. + * + * Creates a new discussion post on a team's page. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "teams/create-discussion-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title: string; + /** @description The discussion post's body text. */ + body: string; + /** + * @description Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + * @default false + */ + private?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + /** + * Get a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion) endpoint. + * + * Get a specific discussion on a team's page. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + "teams/get-discussion-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + /** + * Delete a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/teams/discussions#delete-a-discussion) endpoint. + * + * Delete a discussion from a team's page. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "teams/delete-discussion-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update a discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/teams/discussions#update-a-discussion) endpoint. + * + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "teams/update-discussion-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title?: string; + /** @description The discussion post's body text. */ + body?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; + }; + /** + * List discussion comments (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments) endpoint. + * + * List all comments on a team discussion. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + "teams/list-discussion-comments-legacy": { + parameters: { + query?: { + direction?: components["parameters"]["direction"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"][]; + }; + }; + }; + }; + /** + * Create a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/teams/discussion-comments#create-a-discussion-comment) endpoint. + * + * Creates a new comment on a team discussion. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "teams/create-discussion-comment-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + /** + * Get a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment) endpoint. + * + * Get a specific comment on a team discussion. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + "teams/get-discussion-comment-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + /** + * Delete a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/teams/discussion-comments#delete-a-discussion-comment) endpoint. + * + * Deletes a comment on a team discussion. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "teams/delete-discussion-comment-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * Update a discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/teams/discussion-comments#update-a-discussion-comment) endpoint. + * + * Edits the body text of a discussion comment. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "teams/update-discussion-comment-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; + }; + /** + * List reactions for a team discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment) endpoint. + * + * List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + "reactions/list-for-team-discussion-comment-legacy": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion comment. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + /** + * Create reaction for a team discussion comment (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. + * + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "reactions/create-for-team-discussion-comment-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + comment_number: components["parameters"]["comment-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion comment. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + }; + /** + * List reactions for a team discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion) endpoint. + * + * List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + "reactions/list-for-team-discussion-legacy": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion. */ + content?: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; + }; + /** + * Create reaction for a team discussion (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion) endpoint. + * + * Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + "reactions/create-for-team-discussion-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + discussion_number: components["parameters"]["discussion-number"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion. + * @enum {string} + */ + content: + | "+1" + | "-1" + | "laugh" + | "confused" + | "heart" + | "hooray" + | "rocket" + | "eyes"; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; + }; + /** + * List pending team invitations (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/teams/members#list-pending-team-invitations) endpoint. + * + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + */ + "teams/list-pending-invitations-legacy": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + }; + }; + /** + * List team members (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/teams/members#list-team-members) endpoint. + * + * Team members will include the members of child teams. + */ + "teams/list-members-legacy": { + parameters: { + query?: { + /** @description Filters members returned by their role in the team. */ + role?: "member" | "maintainer" | "all"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get team member (Legacy) + * @deprecated + * @description The "Get team member" endpoint (described below) is closing down. + * + * We recommend using the [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + "teams/get-member-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description if user is a member */ + 204: { + content: never; + }; + /** @description if user is not a member */ + 404: { + content: never; + }; + }; + }; + /** + * Add team member (Legacy) + * @deprecated + * @description The "Add team member" endpoint (described below) is closing down. + * + * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. + * + * > [!NOTE] + * > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + "teams/add-member-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + /** @description Not Found if team synchronization is set up */ + 404: { + content: never; + }; + /** @description Unprocessable Entity if you attempt to add an organization to a team or you attempt to add a user to a team when they are not a member of at least one other team in the same organization */ + 422: { + content: never; + }; + }; + }; + /** + * Remove team member (Legacy) + * @deprecated + * @description The "Remove team member" endpoint (described below) is closing down. + * + * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. + * + * > [!NOTE] + * > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + "teams/remove-member-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + /** @description Not Found if team synchronization is setup */ + 404: { + content: never; + }; + }; + }; + /** + * Get team membership for a user (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint. + * + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). + */ + "teams/get-membership-for-user-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Add or update team membership for a user (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. + * + * > [!NOTE] + * > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + */ + "teams/add-or-update-membership-for-user-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + username: components["parameters"]["username"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The role that this user should have in the team. + * @default member + * @enum {string} + */ + role?: "member" | "maintainer"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** @description Forbidden if team synchronization is set up */ + 403: { + content: never; + }; + 404: components["responses"]["not_found"]; + /** @description Unprocessable Entity if you attempt to add an organization to a team */ + 422: { + content: never; + }; + }; + }; + /** + * Remove team membership for a user (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * > [!NOTE] + * > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + "teams/remove-membership-for-user-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + /** @description if team synchronization is set up */ + 403: { + content: never; + }; + }; + }; + /** + * List team projects (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "teams/list-projects-legacy": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["team-project"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Check team permissions for a project (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "teams/check-permissions-for-project-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["team-project"]; + }; + }; + /** @description Not Found if project is not managed by this team */ + 404: { + content: never; + }; + }; + }; + /** + * Add or update team project permissions (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "teams/add-or-update-project-permissions-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + project_id: components["parameters"]["project-id"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * @enum {string} + */ + permission?: "read" | "write" | "admin"; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + /** @description Forbidden if the project is not owned by the organization */ + 403: { + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove a project from a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "teams/remove-project-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + project_id: components["parameters"]["project-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List team repositories (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/teams/teams#list-team-repositories) endpoint. + */ + "teams/list-repos-legacy": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Check team permissions for a repository (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository) endpoint. + * + * > [!NOTE] + * > Repositories inherited through a parent team will also be checked. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types/) via the `Accept` header: + */ + "teams/check-permissions-for-repo-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Alternative response with extra repository information */ + 200: { + content: { + "application/json": components["schemas"]["team-repository"]; + }; + }; + /** @description Response if repository is managed by this team */ + 204: { + content: never; + }; + /** @description Not Found if repository is not managed by this team */ + 404: { + content: never; + }; + }; + }; + /** + * Add or update team repository permissions (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/teams/teams#add-or-update-team-repository-permissions)" endpoint. + * + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + "teams/add-or-update-repo-permissions-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permission to grant the team on this repository. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + * @enum {string} + */ + permission?: "pull" | "push" | "admin"; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove a repository from a team (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/teams/teams#remove-a-repository-from-a-team) endpoint. + * + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. + */ + "teams/remove-repo-legacy": { + parameters: { + path: { + team_id: components["parameters"]["team-id"]; + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List child teams (Legacy) + * @deprecated + * @description > [!WARNING] + * > **Endpoint closing down notice:** This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/teams/teams#list-child-teams) endpoint. + */ + "teams/list-child-legacy": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + team_id: components["parameters"]["team-id"]; + }; + }; + responses: { + /** @description if child teams exist */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get the authenticated user + * @description OAuth app tokens and personal access tokens (classic) need the `user` scope in order for the response to include private profile information. + */ + "users/get-authenticated": { + responses: { + /** @description Response */ + 200: { + content: { + "application/json": + | components["schemas"]["private-user"] + | components["schemas"]["public-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Update the authenticated user + * @description **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. + */ + "users/update-authenticated": { + requestBody?: { + content: { + "application/json": { + /** + * @description The new name of the user. + * @example Omar Jahandar + */ + name?: string; + /** + * @description The publicly visible email address of the user. + * @example omar@example.com + */ + email?: string; + /** + * @description The new blog URL of the user. + * @example blog.example.com + */ + blog?: string; + /** + * @description The new Twitter username of the user. + * @example therealomarj + */ + twitter_username?: string | null; + /** + * @description The new company of the user. + * @example Acme corporation + */ + company?: string; + /** + * @description The new location of the user. + * @example Berlin, Germany + */ + location?: string; + /** @description The new hiring availability of the user. */ + hireable?: boolean; + /** @description The new short biography of the user. */ + bio?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["private-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List users blocked by the authenticated user + * @description List the users you've blocked on your personal account. + */ + "users/list-blocked-by-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Check if a user is blocked by the authenticated user + * @description Returns a 204 if the given user is blocked by the authenticated user. Returns a 404 if the given user is not blocked by the authenticated user, or if the given user account has been identified as spam by GitHub. + */ + "users/check-blocked": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description If the user is blocked */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** @description If the user is not blocked */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * Block a user + * @description Blocks the given user and returns a 204. If the authenticated user cannot block the given user a 422 is returned. + */ + "users/block": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Unblock a user + * @description Unblocks the given user and returns a 204. + */ + "users/unblock": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List codespaces for the authenticated user + * @description Lists the authenticated user's codespaces. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/list-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + repository_id?: components["parameters"]["repository-id-in-query"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + codespaces: components["schemas"]["codespace"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Create a codespace for the authenticated user + * @description Creates a new codespace, owned by the authenticated user. + * + * This endpoint requires either a `repository_id` OR a `pull_request` but not both. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/create-for-authenticated-user": { + requestBody: { + content: { + "application/json": OneOf< + [ + { + /** @description Repository id for this codespace */ + repository_id: number; + /** @description Git ref (typically a branch name) for this codespace */ + ref?: string; + /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ + location?: string; + /** + * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is closing down. + * @enum {string} + */ + geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Whether to authorize requested permissions from devcontainer.json */ + multi_repo_permissions_opt_out?: boolean; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ + retention_period_minutes?: number; + }, + { + /** @description Pull request number for this codespace */ + pull_request: { + /** @description Pull request number */ + pull_request_number: number; + /** @description Repository id for this codespace */ + repository_id: number; + }; + /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ + location?: string; + /** + * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is closing down. + * @enum {string} + */ + geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + }, + ] + >; + }; + }; + responses: { + /** @description Response when the codespace was successfully created */ + 201: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + /** @description Response when the codespace creation partially failed but is being retried in the background */ + 202: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + /** + * List secrets for the authenticated user + * @description Lists all development environment secrets available for a user's codespaces without revealing their + * encrypted values. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + "codespaces/list-secrets-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["codespaces-secret"][]; + }; + }; + }; + }; + }; + /** + * Get public key for the authenticated user + * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + "codespaces/get-public-key-for-authenticated-user": { + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["codespaces-user-public-key"]; + }; + }; + }; + }; + /** + * Get a secret for the authenticated user + * @description Gets a development environment secret available to a user's codespaces without revealing its encrypted value. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + "codespaces/get-secret-for-authenticated-user": { + parameters: { + path: { + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["codespaces-secret"]; + }; + }; + }; + }; + /** + * Create or update a secret for the authenticated user + * @description Creates or updates a development environment secret for a user's codespace with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + "codespaces/create-or-update-secret-for-authenticated-user": { + parameters: { + path: { + secret_name: components["parameters"]["secret-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get the public key for the authenticated user](https://docs.github.com/rest/codespaces/secrets#get-public-key-for-the-authenticated-user) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id: string; + /** @description An array of repository ids that can access the user secret. You can manage the list of selected repositories using the [List selected repositories for a user secret](https://docs.github.com/rest/codespaces/secrets#list-selected-repositories-for-a-user-secret), [Set selected repositories for a user secret](https://docs.github.com/rest/codespaces/secrets#set-selected-repositories-for-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/codespaces/secrets#remove-a-selected-repository-from-a-user-secret) endpoints. */ + selected_repository_ids?: (number | string)[]; + }; + }; + }; + responses: { + /** @description Response after successfully creating a secret */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response after successfully updating a secret */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Delete a secret for the authenticated user + * @description Deletes a development environment secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + "codespaces/delete-secret-for-authenticated-user": { + parameters: { + path: { + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List selected repositories for a user secret + * @description List the repositories that have been granted the ability to use a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + "codespaces/list-repositories-for-secret-for-authenticated-user": { + parameters: { + path: { + secret_name: components["parameters"]["secret-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Set selected repositories for a user secret + * @description Select the repositories that will use a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + "codespaces/set-repositories-for-secret-for-authenticated-user": { + parameters: { + path: { + secret_name: components["parameters"]["secret-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository ids for which a codespace can access the secret. You can manage the list of selected repositories using the [List selected repositories for a user secret](https://docs.github.com/rest/codespaces/secrets#list-selected-repositories-for-a-user-secret), [Add a selected repository to a user secret](https://docs.github.com/rest/codespaces/secrets#add-a-selected-repository-to-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/codespaces/secrets#remove-a-selected-repository-from-a-user-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description No Content when repositories were added to the selected list */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Add a selected repository to a user secret + * @description Adds a repository to the selected repositories for a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + "codespaces/add-repository-for-secret-for-authenticated-user": { + parameters: { + path: { + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** @description No Content when repository was added to the selected list */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Remove a selected repository from a user secret + * @description Removes a repository from the selected repositories for a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + "codespaces/remove-repository-for-secret-for-authenticated-user": { + parameters: { + path: { + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + }; + responses: { + /** @description No Content when repository was removed from the selected list */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get a codespace for the authenticated user + * @description Gets information about a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/get-for-authenticated-user": { + parameters: { + path: { + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Delete a codespace for the authenticated user + * @description Deletes a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/delete-for-authenticated-user": { + parameters: { + path: { + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Update a codespace for the authenticated user + * @description Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint. + * + * If you specify a new machine type it will be applied the next time your codespace is started. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/update-for-authenticated-user": { + parameters: { + path: { + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + requestBody?: { + content: { + "application/json": { + /** @description A valid machine to transition this codespace to. */ + machine?: string; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Recently opened folders inside the codespace. It is currently used by the clients to determine the folder path to load the codespace in. */ + recent_folders?: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Export a codespace for the authenticated user + * @description Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. + * + * If changes cannot be pushed to the codespace's repository, they will be pushed to a new or previously-existing fork instead. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/export-for-authenticated-user": { + parameters: { + path: { + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + /** @description Response */ + 202: { + content: { + "application/json": components["schemas"]["codespace-export-details"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get details about a codespace export + * @description Gets information about an export of a codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/get-export-details-for-authenticated-user": { + parameters: { + path: { + codespace_name: components["parameters"]["codespace-name"]; + export_id: components["parameters"]["export-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["codespace-export-details"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List machine types for a codespace + * @description List the machine types a codespace can transition to use. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/codespace-machines-for-authenticated-user": { + parameters: { + path: { + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + total_count: number; + machines: components["schemas"]["codespace-machine"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Create a repository from an unpublished codespace + * @description Publishes an unpublished codespace, creating a new repository and assigning it to the codespace. + * + * The codespace's token is granted write permissions to the repository, allowing the user to push their changes. + * + * This will fail for a codespace that is already published, meaning it has an associated repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/publish-for-authenticated-user": { + parameters: { + path: { + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** @description A name for the new repository. */ + name?: string; + /** + * @description Whether the new repository should be private. + * @default false + */ + private?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["codespace-with-full-repository"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Start a codespace for the authenticated user + * @description Starts a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/start-for-authenticated-user": { + parameters: { + path: { + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + /** @description Payment required */ + 402: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Stop a codespace for the authenticated user + * @description Stops a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + "codespaces/stop-for-authenticated-user": { + parameters: { + path: { + codespace_name: components["parameters"]["codespace-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * Get list of conflicting packages during Docker migration for authenticated-user + * @description Lists all packages that are owned by the authenticated user within the user's namespace, and that encountered a conflict during a Docker migration. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + "packages/list-docker-migration-conflicting-packages-for-authenticated-user": { + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + }; + }; + /** + * Set primary email visibility for the authenticated user + * @description Sets the visibility for your primary email addresses. + */ + "users/set-primary-email-visibility-for-authenticated-user": { + requestBody: { + content: { + "application/json": { + /** + * @description Denotes whether an email is publicly visible. + * @enum {string} + */ + visibility: "public" | "private"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List email addresses for the authenticated user + * @description Lists all of your email addresses, and specifies which one is visible + * to the public. + * + * OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. + */ + "users/list-emails-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Add an email address for the authenticated user + * @description OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + "users/add-email-for-authenticated-user": { + requestBody?: { + content: { + "application/json": { + /** + * @description Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key. + * @example [] + */ + emails: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Delete an email address for the authenticated user + * @description OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + "users/delete-email-for-authenticated-user": { + requestBody?: { + content: { + "application/json": { + /** @description Email addresses associated with the GitHub user account. */ + emails: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List followers of the authenticated user + * @description Lists the people following the authenticated user. + */ + "users/list-followers-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * List the people the authenticated user follows + * @description Lists the people who the authenticated user follows. + */ + "users/list-followed-by-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** Check if a person is followed by the authenticated user */ + "users/check-person-is-followed-by-authenticated": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description if the person is followed by the authenticated user */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** @description if the person is not followed by the authenticated user */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * Follow a user + * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * + * OAuth app tokens and personal access tokens (classic) need the `user:follow` scope to use this endpoint. + */ + "users/follow": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Unfollow a user + * @description OAuth app tokens and personal access tokens (classic) need the `user:follow` scope to use this endpoint. + */ + "users/unfollow": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List GPG keys for the authenticated user + * @description Lists the current user's GPG keys. + * + * OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint. + */ + "users/list-gpg-keys-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["gpg-key"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a GPG key for the authenticated user + * @description Adds a GPG key to the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:gpg_key` scope to use this endpoint. + */ + "users/create-gpg-key-for-authenticated-user": { + requestBody: { + content: { + "application/json": { + /** @description A descriptive name for the new key. */ + name?: string; + /** @description A GPG key in ASCII-armored format. */ + armored_public_key: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["gpg-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a GPG key for the authenticated user + * @description View extended details for a single GPG key. + * + * OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint. + */ + "users/get-gpg-key-for-authenticated-user": { + parameters: { + path: { + gpg_key_id: components["parameters"]["gpg-key-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["gpg-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a GPG key for the authenticated user + * @description Removes a GPG key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:gpg_key` scope to use this endpoint. + */ + "users/delete-gpg-key-for-authenticated-user": { + parameters: { + path: { + gpg_key_id: components["parameters"]["gpg-key-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List app installations accessible to the user access token + * @description Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You can find the permissions for the installation under the `permissions` key. + */ + "apps/list-installations-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description You can find the permissions for the installation under the `permissions` key. */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + installations: components["schemas"]["installation"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * List repositories accessible to the user access token + * @description List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * The access the user has to each repository is included in the hash under the `permissions` key. + */ + "apps/list-installation-repos-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + installation_id: components["parameters"]["installation-id"]; + }; + }; + responses: { + /** @description The access the user has to each repository is included in the hash under the `permissions` key. */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": { + total_count: number; + repository_selection?: string; + repositories: components["schemas"]["repository"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Add a repository to an app installation + * @description Add a single repository to an installation. The authenticated user must have admin access to the repository. + * + * This endpoint only works for PATs (classic) with the `repo` scope. + */ + "apps/add-repo-to-installation-for-authenticated-user": { + parameters: { + path: { + installation_id: components["parameters"]["installation-id"]; + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Remove a repository from an app installation + * @description Remove a single repository from an installation. The authenticated user must have admin access to the repository. The installation must have the `repository_selection` of `selected`. + * + * This endpoint only works for PATs (classic) with the `repo` scope. + */ + "apps/remove-repo-from-installation-for-authenticated-user": { + parameters: { + path: { + installation_id: components["parameters"]["installation-id"]; + repository_id: components["parameters"]["repository-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Returned when the application is installed on `all` repositories in the organization, or if this request would remove the last repository that the application has access to in the organization. */ + 422: { + content: never; + }; + }; + }; + /** + * Get interaction restrictions for your public repositories + * @description Shows which type of GitHub user can interact with your public repositories and when the restriction expires. + */ + "interactions/get-restrictions-for-authenticated-user": { + responses: { + /** @description Default response */ + 200: { + content: { + "application/json": + | components["schemas"]["interaction-limit-response"] + | Record; + }; + }; + /** @description Response when there are no restrictions */ + 204: { + content: never; + }; + }; + }; + /** + * Set interaction restrictions for your public repositories + * @description Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. + */ + "interactions/set-restrictions-for-authenticated-user": { + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Remove interaction restrictions from your public repositories + * @description Removes any interaction restrictions from your public repositories. + */ + "interactions/remove-restrictions-for-authenticated-user": { + responses: { + /** @description Response */ + 204: { + content: never; + }; + }; + }; + /** + * List user account issues assigned to the authenticated user + * @description List issues across owned and member repositories assigned to the authenticated user. + * + * > [!NOTE] + * > GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + "issues/list-for-authenticated-user": { + parameters: { + query?: { + /** @description Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ + filter?: + | "assigned" + | "created" + | "mentioned" + | "subscribed" + | "repos" + | "all"; + /** @description Indicates the state of the issues to return. */ + state?: "open" | "closed" | "all"; + labels?: components["parameters"]["labels"]; + /** @description What to sort results by. */ + sort?: "created" | "updated" | "comments"; + direction?: components["parameters"]["direction"]; + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List public SSH keys for the authenticated user + * @description Lists the public SSH keys for the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint. + */ + "users/list-public-ssh-keys-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["key"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a public SSH key for the authenticated user + * @description Adds a public SSH key to the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:gpg_key` scope to use this endpoint. + */ + "users/create-public-ssh-key-for-authenticated-user": { + requestBody: { + content: { + "application/json": { + /** + * @description A descriptive name for the new key. + * @example Personal MacBook Air + */ + title?: string; + /** @description The public SSH key to add to your GitHub account. */ + key: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a public SSH key for the authenticated user + * @description View extended details for a single public SSH key. + * + * OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint. + */ + "users/get-public-ssh-key-for-authenticated-user": { + parameters: { + path: { + key_id: components["parameters"]["key-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete a public SSH key for the authenticated user + * @description Removes a public SSH key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:public_key` scope to use this endpoint. + */ + "users/delete-public-ssh-key-for-authenticated-user": { + parameters: { + path: { + key_id: components["parameters"]["key-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List subscriptions for the authenticated user + * @description Lists the active subscriptions for the authenticated user. + */ + "apps/list-subscriptions-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["user-marketplace-purchase"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List subscriptions for the authenticated user (stubbed) + * @description Lists the active subscriptions for the authenticated user. + */ + "apps/list-subscriptions-for-authenticated-user-stubbed": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["user-marketplace-purchase"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + }; + }; + /** + * List organization memberships for the authenticated user + * @description Lists all of the authenticated user's organization memberships. + */ + "orgs/list-memberships-for-authenticated-user": { + parameters: { + query?: { + /** @description Indicates the state of the memberships to return. If not specified, the API returns both active and pending memberships. */ + state?: "active" | "pending"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["org-membership"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get an organization membership for the authenticated user + * @description If the authenticated user is an active or pending member of the organization, this endpoint will return the user's membership. If the authenticated user is not affiliated with the organization, a `404` is returned. This endpoint will return a `403` if the request is made by a GitHub App that is blocked by the organization. + */ + "orgs/get-membership-for-authenticated-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Update an organization membership for the authenticated user + * @description Converts the authenticated user to an active member of the organization, if that user has a pending invitation from the organization. + */ + "orgs/update-membership-for-authenticated-user": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The state that the membership should be in. Only `"active"` will be accepted. + * @enum {string} + */ + state: "active"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List user migrations + * @description Lists all migrations a user has started. + */ + "migrations/list-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["migration"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Start a user migration + * @description Initiates the generation of a user migration archive. + */ + "migrations/start-for-authenticated-user": { + requestBody: { + content: { + "application/json": { + /** + * @description Lock the repositories being migrated at the start of the migration + * @example true + */ + lock_repositories?: boolean; + /** + * @description Indicates whether metadata should be excluded and only git source should be included for the migration. + * @example true + */ + exclude_metadata?: boolean; + /** + * @description Indicates whether the repository git data should be excluded from the migration. + * @example true + */ + exclude_git_data?: boolean; + /** + * @description Do not include attachments in the migration + * @example true + */ + exclude_attachments?: boolean; + /** + * @description Do not include releases in the migration + * @example true + */ + exclude_releases?: boolean; + /** + * @description Indicates whether projects owned by the organization or users should be excluded. + * @example true + */ + exclude_owner_projects?: boolean; + /** + * @description Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags). + * @default false + * @example true + */ + org_metadata_only?: boolean; + /** + * @description Exclude attributes from the API response to improve performance + * @example [ + * "repositories" + * ] + */ + exclude?: "repositories"[]; + repositories: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a user migration status + * @description Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: + * + * * `pending` - the migration hasn't started yet. + * * `exporting` - the migration is in progress. + * * `exported` - the migration finished successfully. + * * `failed` - the migration failed. + * + * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/migrations/users#download-a-user-migration-archive). + */ + "migrations/get-status-for-authenticated-user": { + parameters: { + query?: { + exclude?: string[]; + }; + path: { + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Download a user migration archive + * @description Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: + * + * * attachments + * * bases + * * commit\_comments + * * issue\_comments + * * issue\_events + * * issues + * * milestones + * * organizations + * * projects + * * protected\_branches + * * pull\_request\_reviews + * * pull\_requests + * * releases + * * repositories + * * review\_comments + * * schema + * * users + * + * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. + */ + "migrations/get-archive-for-authenticated-user": { + parameters: { + path: { + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** @description Response */ + 302: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Delete a user migration archive + * @description Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/migrations/users#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/migrations/users#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. + */ + "migrations/delete-archive-for-authenticated-user": { + parameters: { + path: { + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Unlock a user repository + * @description Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/migrations/users#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/repos/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. + */ + "migrations/unlock-repo-for-authenticated-user": { + parameters: { + path: { + migration_id: components["parameters"]["migration-id"]; + repo_name: components["parameters"]["repo-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List repositories for a user migration + * @description Lists all the repositories for this user migration. + */ + "migrations/list-repos-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + migration_id: components["parameters"]["migration-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List organizations for the authenticated user + * @description List organizations for the authenticated user. + * + * For OAuth app tokens and personal access tokens (classic), this endpoint only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope for OAuth app tokens and personal access tokens (classic). Requests with insufficient scope will receive a `403 Forbidden` response. + * + * > [!NOTE] + * > Requests using a fine-grained access token will receive a `200 Success` response with an empty list. + */ + "orgs/list-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * List packages for the authenticated user's namespace + * @description Lists packages owned by the authenticated user within the user's namespace. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/list-packages-for-authenticated-user": { + parameters: { + query: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + visibility?: components["parameters"]["package-visibility"]; + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 400: components["responses"]["package_es_list_error"]; + }; + }; + /** + * Get a package for the authenticated user + * @description Gets a specific package for a package owned by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/get-package-for-authenticated-user": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; + }; + /** + * Delete a package for the authenticated user + * @description Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/delete-package-for-authenticated-user": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restore a package for the authenticated user + * @description Restores a package owned by the authenticated user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/restore-package-for-authenticated-user": { + parameters: { + query?: { + /** @description package token */ + token?: string; + }; + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List package versions for a package owned by the authenticated user + * @description Lists package versions for a package owned by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/get-all-package-versions-for-package-owned-by-authenticated-user": { + parameters: { + query?: { + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + /** @description The state of the package, either active or deleted. */ + state?: "active" | "deleted"; + }; + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get a package version for the authenticated user + * @description Gets a specific package version for a package owned by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/get-package-version-for-authenticated-user": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; + }; + }; + /** + * Delete a package version for the authenticated user + * @description Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/delete-package-version-for-authenticated-user": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restore a package version for the authenticated user + * @description Restores a package version owned by the authenticated user. + * + * You can restore a deleted package version under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/restore-package-version-for-authenticated-user": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a user project + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects/create-for-authenticated-user": { + requestBody: { + content: { + "application/json": { + /** + * @description Name of the project + * @example Week One Sprint + */ + name: string; + /** + * @description Body of the project + * @example This project represents the sprint of the first week in January + */ + body?: string | null; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + /** + * List public email addresses for the authenticated user + * @description Lists your publicly visible email address, which you can set with the + * [Set primary email visibility for the authenticated user](https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user) + * endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. + */ + "users/list-public-emails-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List repositories for the authenticated user + * @description Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + */ + "repos/list-for-authenticated-user": { + parameters: { + query?: { + /** @description Limit results to repositories with the specified visibility. */ + visibility?: "all" | "public" | "private"; + /** + * @description Comma-separated list of values. Can include: + * * `owner`: Repositories that are owned by the authenticated user. + * * `collaborator`: Repositories that the user has been added to as a collaborator. + * * `organization_member`: Repositories that the user has access to through being a member of an organization. This includes every repository on every team that the user is on. + */ + affiliation?: string; + /** @description Limit results to repositories of the specified type. Will cause a `422` error if used in the same request as **visibility** or **affiliation**. */ + type?: "all" | "owner" | "public" | "private" | "member"; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ + direction?: "asc" | "desc"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + since?: components["parameters"]["since-repo-date"]; + before?: components["parameters"]["before-repo-date"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Create a repository for the authenticated user + * @description Creates a new repository for the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository. + */ + "repos/create-for-authenticated-user": { + requestBody: { + content: { + "application/json": { + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @description A short description of the repository. */ + description?: string; + /** @description A URL with more information about the repository. */ + homepage?: string; + /** + * @description Whether the repository is private. + * @default false + */ + private?: boolean; + /** + * @description Whether issues are enabled. + * @default true + * @example true + */ + has_issues?: boolean; + /** + * @description Whether projects are enabled. + * @default true + * @example true + */ + has_projects?: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + * @example true + */ + has_wiki?: boolean; + /** + * @description Whether discussions are enabled. + * @default false + * @example true + */ + has_discussions?: boolean; + /** @description The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ + team_id?: number; + /** + * @description Whether the repository is initialized with a minimal README. + * @default false + */ + auto_init?: boolean; + /** + * @description The desired language or platform to apply to the .gitignore. + * @example Haskell + */ + gitignore_template?: string; + /** + * @description The license keyword of the open source license for this repository. + * @example mit + */ + license_template?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit?: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_merge?: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ + delete_branch_on_merge?: boolean; + /** + * @description Required when using `squash_merge_commit_message`. + * + * The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description Required when using `merge_commit_message`. + * + * The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads?: boolean; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ + is_template?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World */ + Location?: string; + }; + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List repository invitations for the authenticated user + * @description When authenticating as a user, this endpoint will list all currently open repository invitations for that user. + */ + "repos/list-invitations-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["repository-invitation"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** Decline a repository invitation */ + "repos/decline-invitation-for-authenticated-user": { + parameters: { + path: { + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + /** Accept a repository invitation */ + "repos/accept-invitation-for-authenticated-user": { + parameters: { + path: { + invitation_id: components["parameters"]["invitation-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + /** + * List social accounts for the authenticated user + * @description Lists all of your social accounts. + */ + "users/list-social-accounts-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["social-account"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Add social accounts for the authenticated user + * @description Add one or more social accounts to the authenticated user's profile. + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + "users/add-social-account-for-authenticated-user": { + requestBody: { + content: { + "application/json": { + /** + * @description Full URLs for the social media profiles to add. + * @example [] + */ + account_urls: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["social-account"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Delete social accounts for the authenticated user + * @description Deletes one or more social accounts from the authenticated user's profile. + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + "users/delete-social-account-for-authenticated-user": { + requestBody: { + content: { + "application/json": { + /** + * @description Full URLs for the social media profiles to delete. + * @example [] + */ + account_urls: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List SSH signing keys for the authenticated user + * @description Lists the SSH signing keys for the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `read:ssh_signing_key` scope to use this endpoint. + */ + "users/list-ssh-signing-keys-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["ssh-signing-key"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Create a SSH signing key for the authenticated user + * @description Creates an SSH signing key for the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:ssh_signing_key` scope to use this endpoint. + */ + "users/create-ssh-signing-key-for-authenticated-user": { + requestBody: { + content: { + "application/json": { + /** + * @description A descriptive name for the new key. + * @example Personal MacBook Air + */ + title?: string; + /** @description The public SSH key to add to your GitHub account. For more information, see "[Checking for existing SSH keys](https://docs.github.com/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys)." */ + key: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["ssh-signing-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get an SSH signing key for the authenticated user + * @description Gets extended details for an SSH signing key. + * + * OAuth app tokens and personal access tokens (classic) need the `read:ssh_signing_key` scope to use this endpoint. + */ + "users/get-ssh-signing-key-for-authenticated-user": { + parameters: { + path: { + ssh_signing_key_id: components["parameters"]["ssh-signing-key-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["ssh-signing-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Delete an SSH signing key for the authenticated user + * @description Deletes an SSH signing key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:ssh_signing_key` scope to use this endpoint. + */ + "users/delete-ssh-signing-key-for-authenticated-user": { + parameters: { + path: { + ssh_signing_key_id: components["parameters"]["ssh-signing-key-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List repositories starred by the authenticated user + * @description Lists repositories the authenticated user has starred. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. + */ + "activity/list-repos-starred-by-authenticated-user": { + parameters: { + query?: { + sort?: components["parameters"]["sort-starred"]; + direction?: components["parameters"]["direction"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["repository"][]; + "application/vnd.github.v3.star+json": components["schemas"]["starred-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Check if a repository is starred by the authenticated user + * @description Whether the authenticated user has starred the repository. + */ + "activity/check-repo-is-starred-by-authenticated-user": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response if this repository is starred by you */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** @description Not Found if this repository is not starred by you */ + 404: { + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; + }; + /** + * Star a repository for the authenticated user + * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + "activity/star-repo-for-authenticated-user": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Unstar a repository for the authenticated user + * @description Unstar a repository that the authenticated user has previously starred. + */ + "activity/unstar-repo-for-authenticated-user": { + parameters: { + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List repositories watched by the authenticated user + * @description Lists repositories the authenticated user is watching. + */ + "activity/list-watched-repos-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * List teams for the authenticated user + * @description List all of the teams across all of the organizations to which the authenticated + * user belongs. + * + * OAuth app tokens and personal access tokens (classic) need the `user`, `repo`, or `read:org` scope to use this endpoint. + * + * When using a fine-grained personal access token, the resource owner of the token must be a single organization, and the response will only include the teams from that organization. + */ + "teams/list-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["team-full"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get a user using their ID + * @description Provides publicly available information about someone with a GitHub account. This method takes their durable user `ID` instead of their `login`, which can change over time. + * + * If you are requesting information about an [Enterprise Managed User](https://docs.github.com/enterprise-cloud@latest/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users), or a GitHub App bot that is installed in an organization that uses Enterprise Managed Users, your requests must be authenticated as a user or GitHub App that has access to the organization to view that account's information. If you are not authorized, the request will return a `404 Not Found` status. + * + * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be public which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#authentication). + * + * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see [Emails API](https://docs.github.com/rest/users/emails). + */ + "users/get-by-id": { + parameters: { + path: { + account_id: components["parameters"]["account-id"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": + | components["schemas"]["private-user"] + | components["schemas"]["public-user"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List users + * @description Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. + * + * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of users. + */ + "users/list": { + parameters: { + query?: { + since?: components["parameters"]["since-user"]; + per_page?: components["parameters"]["per-page"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + /** + * Get a user + * @description Provides publicly available information about someone with a GitHub account. + * + * If you are requesting information about an [Enterprise Managed User](https://docs.github.com/enterprise-cloud@latest/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users), or a GitHub App bot that is installed in an organization that uses Enterprise Managed Users, your requests must be authenticated as a user or GitHub App that has access to the organization to view that account's information. If you are not authorized, the request will return a `404 Not Found` status. + * + * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be public which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#authentication). + * + * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see [Emails API](https://docs.github.com/rest/users/emails). + */ + "users/get-by-username": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": + | components["schemas"]["private-user"] + | components["schemas"]["public-user"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List attestations + * @description List a collection of artifact attestations with a given subject digest that are associated with repositories owned by a user. + * + * The collection of attestations returned by this endpoint is filtered according to the authenticated user's permissions; if the authenticated user cannot read a repository, the attestations associated with that repository will not be included in the response. In addition, when using a fine-grained access token the `attestations:read` permission is required. + * + * **Please note:** in order to offer meaningful security benefits, an attestation's signature and timestamps **must** be cryptographically verified, and the identity of the attestation signer **must** be validated. Attestations can be verified using the [GitHub CLI `attestation verify` command](https://cli.github.com/manual/gh_attestation_verify). For more information, see [our guide on how to use artifact attestations to establish a build's provenance](https://docs.github.com/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds). + */ + "users/list-attestations": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + before?: components["parameters"]["pagination-before"]; + after?: components["parameters"]["pagination-after"]; + /** + * @description Optional filter for fetching attestations with a given predicate type. + * This option accepts `provenance`, `sbom`, or freeform text for custom predicate types. + */ + predicate_type?: string; + }; + path: { + username: components["parameters"]["username"]; + /** @description Subject Digest */ + subject_digest: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + attestations?: { + /** + * @description The attestation's Sigstore Bundle. + * Refer to the [Sigstore Bundle Specification](https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_bundle.proto) for more information. + */ + bundle?: { + mediaType?: string; + verificationMaterial?: { + [key: string]: unknown; + }; + dsseEnvelope?: { + [key: string]: unknown; + }; + }; + repository_id?: number; + bundle_url?: string; + }[]; + }; + }; + }; + /** @description Response */ + 201: { + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response */ + 204: { + content: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get list of conflicting packages during Docker migration for user + * @description Lists all packages that are in a specific user's namespace, that the requesting user has access to, and that encountered a conflict during Docker migration. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + "packages/list-docker-migration-conflicting-packages-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * List events for the authenticated user + * @description If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. _Optional_: use the fine-grained token with following permission set to view private events: "Events" user permissions (read). + * + * > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + "activity/list-events-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + /** + * List organization events for the authenticated user + * @description This is the user's organization dashboard. You must be authenticated as the user to view this. + * + * > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + "activity/list-org-events-for-authenticated-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + /** + * List public events for a user + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + "activity/list-public-events-for-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + /** + * List followers of a user + * @description Lists the people following the specified user. + */ + "users/list-followers-for-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + /** + * List the people a user follows + * @description Lists the people who the specified user follows. + */ + "users/list-following-for-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; + }; + /** Check if a user follows another user */ + "users/check-following-for-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + target_user: string; + }; + }; + responses: { + /** @description if the user follows the target user */ + 204: { + content: never; + }; + /** @description if the user does not follow the target user */ + 404: { + content: never; + }; + }; + }; + /** + * List gists for a user + * @description Lists public gists for the specified user: + */ + "gists/list-for-user": { + parameters: { + query?: { + since?: components["parameters"]["since"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List GPG keys for a user + * @description Lists the GPG keys for a user. This information is accessible by anyone. + */ + "users/list-gpg-keys-for-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["gpg-key"][]; + }; + }; + }; + }; + /** + * Get contextual information for a user + * @description Provides hovercard information. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. + * + * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository, you would use a `subject_type` value of `repository` and a `subject_id` value of `1300192` (the ID of the `Spoon-Knife` repository). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + "users/get-context-for-user": { + parameters: { + query?: { + /** @description Identifies which additional information you'd like to receive about the person's hovercard. Can be `organization`, `repository`, `issue`, `pull_request`. **Required** when using `subject_id`. */ + subject_type?: "organization" | "repository" | "issue" | "pull_request"; + /** @description Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`. */ + subject_id?: string; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["hovercard"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * Get a user installation for the authenticated app + * @description Enables an authenticated GitHub App to find the user’s installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + "apps/get-user-installation": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + }; + }; + /** + * List public keys for a user + * @description Lists the _verified_ public SSH keys for a user. This is accessible by anyone. + */ + "users/list-public-keys-for-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["key-simple"][]; + }; + }; + }; + }; + /** + * List organizations for a user + * @description List [public organization memberships](https://docs.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. + * + * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user) API instead. + */ + "orgs/list-for-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + }; + }; + /** + * List packages for a user + * @description Lists all packages in a user's namespace for which the requesting user has access. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/list-packages-for-user": { + parameters: { + query: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: + | "npm" + | "maven" + | "rubygems" + | "docker" + | "nuget" + | "container"; + visibility?: components["parameters"]["package-visibility"]; + page?: components["parameters"]["page"]; + per_page?: components["parameters"]["per-page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 400: components["responses"]["package_es_list_error"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + /** + * Get a package for a user + * @description Gets a specific package metadata for a public package owned by a user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/get-package-for-user": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; + }; + /** + * Delete a package for a user + * @description Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/delete-package-for-user": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restore a package for a user + * @description Restores an entire package for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/restore-package-for-user": { + parameters: { + query?: { + /** @description package token */ + token?: string; + }; + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List package versions for a package owned by a user + * @description Lists package versions for a public package owned by a specified user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/get-all-package-versions-for-package-owned-by-user": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get a package version for a user + * @description Gets a specific package version for a public package owned by a specified user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/get-package-version-for-user": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + package_version_id: components["parameters"]["package-version-id"]; + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; + }; + }; + /** + * Delete package version for a user + * @description Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/delete-package-version-for-user": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + username: components["parameters"]["username"]; + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Restore package version for a user + * @description Restores a specific package version for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. For more information, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + "packages/restore-package-version-for-user": { + parameters: { + path: { + package_type: components["parameters"]["package-type"]; + package_name: components["parameters"]["package-name"]; + username: components["parameters"]["username"]; + package_version_id: components["parameters"]["package-version-id"]; + }; + }; + responses: { + /** @description Response */ + 204: { + content: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + /** + * List user projects + * @deprecated + * @description > [!WARNING] + * > **Closing down notice:** Projects (classic) is being deprecated in favor of the new Projects experience. + * > See the [changelog](https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/) for more information. + */ + "projects/list-for-user": { + parameters: { + query?: { + /** @description Indicates the state of the projects to return. */ + state?: "open" | "closed" | "all"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["project"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + /** + * List events received by the authenticated user + * @description These are events that you've received by watching repositories and following users. If you are authenticated as the + * given user, you will see private events. Otherwise, you'll only see public events. + * + * > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + "activity/list-received-events-for-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + /** + * List public events received by a user + * @description > [!NOTE] + * > This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + "activity/list-received-public-events-for-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; + }; + /** + * List repositories for a user + * @description Lists public repositories for the specified user. + */ + "repos/list-for-user": { + parameters: { + query?: { + /** @description Limit results to repositories of the specified type. */ + type?: "all" | "owner" | "member"; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ + direction?: "asc" | "desc"; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + /** + * Get GitHub Actions billing for a user + * @description Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + "billing/get-github-actions-billing-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["actions-billing-usage"]; + }; + }; + }; + }; + /** + * Get GitHub Packages billing for a user + * @description Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + "billing/get-github-packages-billing-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["packages-billing-usage"]; + }; + }; + }; + }; + /** + * Get shared storage billing for a user + * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + "billing/get-shared-storage-billing-user": { + parameters: { + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["combined-billing-usage"]; + }; + }; + }; + }; + /** + * List social accounts for a user + * @description Lists social media accounts for a user. This endpoint is accessible by anyone. + */ + "users/list-social-accounts-for-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["social-account"][]; + }; + }; + }; + }; + /** + * List SSH signing keys for a user + * @description Lists the SSH signing keys for a user. This operation is accessible by anyone. + */ + "users/list-ssh-signing-keys-for-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["ssh-signing-key"][]; + }; + }; + }; + }; + /** + * List repositories starred by a user + * @description Lists repositories a user has starred. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. + */ + "activity/list-repos-starred-by-user": { + parameters: { + query?: { + sort?: components["parameters"]["sort-starred"]; + direction?: components["parameters"]["direction"]; + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": + | components["schemas"]["starred-repository"][] + | components["schemas"]["repository"][]; + }; + }; + }; + }; + /** + * List repositories watched by a user + * @description Lists repositories a user is watching. + */ + "activity/list-repos-watched-by-user": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + username: components["parameters"]["username"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; + /** + * Get all API versions + * @description Get all supported GitHub API versions. + */ + "meta/get-all-versions": { + responses: { + /** @description Response */ + 200: { + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + /** + * Get the Zen of GitHub + * @description Get a random sentence from the Zen of GitHub + */ + "meta/get-zen": { + responses: { + /** @description Response */ + 200: { + content: { + "text/plain": string; + }; + }; + }; + }; + /** + * Compare two commits + * @description **Deprecated**: Use `repos.compareCommitsWithBasehead()` (`GET /repos/{owner}/{repo}/compare/{basehead}`) instead. Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`. + * + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." + * + * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + "repos/compare-commits": { + parameters: { + query?: { + per_page?: components["parameters"]["per-page"]; + page?: components["parameters"]["page"]; + }; + path: { + owner: components["parameters"]["owner"]; + repo: components["parameters"]["repo"]; + base: string; + head: string; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": components["schemas"]["commit-comparison"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + /** + * List organization fine-grained permissions for an organization + * @description Lists the fine-grained permissions that can be used in custom organization roles for an organization. For more information, see "[Managing people's access to your organization with roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles)." + * + * To list the fine-grained permissions that can be used in custom repository roles for an organization, see "[List repository fine-grained permissions for an organization](https://docs.github.com/rest/orgs/organization-roles#list-repository-fine-grained-permissions-for-an-organization)." + * + * To use this endpoint, the authenticated user must be one of: + * + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permissions of `read_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + "orgs/list-organization-fine-grained-permissions": { + parameters: { + path: { + org: components["parameters"]["org"]; + }; + }; + responses: { + /** @description Response */ + 200: { + content: { + "application/json": { + name: string; + description: string; + }[]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; +} diff --git a/dist/node_modules/@octokit/plugin-paginate-rest/LICENSE b/dist/node_modules/@octokit/plugin-paginate-rest/LICENSE new file mode 100644 index 00000000..57bee5f1 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-paginate-rest/LICENSE @@ -0,0 +1,7 @@ +MIT License Copyright (c) 2019 Octokit contributors + +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 (including the next paragraph) 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. diff --git a/dist/node_modules/@octokit/plugin-paginate-rest/README.md b/dist/node_modules/@octokit/plugin-paginate-rest/README.md new file mode 100644 index 00000000..9ebf695f --- /dev/null +++ b/dist/node_modules/@octokit/plugin-paginate-rest/README.md @@ -0,0 +1,269 @@ +# plugin-paginate-rest.js + +> Octokit plugin to paginate REST API endpoint responses + +[![@latest](https://img.shields.io/npm/v/@octokit/plugin-paginate-rest.svg)](https://www.npmjs.com/package/@octokit/plugin-paginate-rest) +[![Build Status](https://github.com/octokit/plugin-paginate-rest.js/workflows/Test/badge.svg)](https://github.com/octokit/plugin-paginate-rest.js/actions?workflow=Test) + +## Usage + + + + + + +
+Browsers + + +Load `@octokit/plugin-paginate-rest` and [`@octokit/core`](https://github.com/octokit/core.js) (or core-compatible module) directly from [esm.sh](https://esm.sh) + +```html + +``` + +
+Node + + +Install with `npm install @octokit/core @octokit/plugin-paginate-rest`. Optionally replace `@octokit/core` with a core-compatible module + +```js +const { Octokit } = require("@octokit/core"); +const { + paginateRest, + composePaginateRest, +} = require("@octokit/plugin-paginate-rest"); +``` + +
+ +```js +const MyOctokit = Octokit.plugin(paginateRest); +const octokit = new MyOctokit({ auth: "secret123" }); + +// See https://developer.github.com/v3/issues/#list-issues-for-a-repository +const issues = await octokit.paginate("GET /repos/{owner}/{repo}/issues", { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100, +}); +``` + +If you want to utilize the pagination methods in another plugin, use `composePaginateRest`. + +```js +function myPlugin(octokit, options) { + return { + allStars({owner, repo}) => { + return composePaginateRest( + octokit, + "GET /repos/{owner}/{repo}/stargazers", + {owner, repo } + ) + } + } +} +``` + +## `octokit.paginate()` + +The `paginateRest` plugin adds a new `octokit.paginate()` method which accepts the same parameters as [`octokit.request`](https://github.com/octokit/request.js#request). Only "List ..." endpoints such as [List issues for a repository](https://developer.github.com/v3/issues/#list-issues-for-a-repository) are supporting pagination. Their [response includes a Link header](https://developer.github.com/v3/issues/#response-1). For other endpoints, `octokit.paginate()` behaves the same as `octokit.request()`. + +The `per_page` parameter is usually defaulting to `30`, and can be set to up to `100`, which helps retrieving a big amount of data without hitting the rate limits too soon. + +An optional `mapFunction` can be passed to map each page response to a new value, usually an array with only the data you need. This can help to reduce memory usage, as only the relevant data has to be kept in memory until the pagination is complete. + +```js +const issueTitles = await octokit.paginate( + "GET /repos/{owner}/{repo}/issues", + { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100, + }, + (response) => response.data.map((issue) => issue.title), +); +``` + +The `mapFunction` gets a 2nd argument `done` which can be called to end the pagination early. + +```js +const issues = await octokit.paginate( + "GET /repos/{owner}/{repo}/issues", + { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100, + }, + (response, done) => { + if (response.data.find((issue) => issue.title.includes("something"))) { + done(); + } + return response.data; + }, +); +``` + +Alternatively you can pass a `request` method as first argument. This is great when using in combination with [`@octokit/plugin-rest-endpoint-methods`](https://github.com/octokit/plugin-rest-endpoint-methods.js/): + +```js +const issues = await octokit.paginate(octokit.rest.issues.listForRepo, { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100, +}); +``` + +## `octokit.paginate.iterator()` + +If your target runtime environments supports async iterators (such as most modern browsers and Node 10+), you can iterate through each response + +```js +const parameters = { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100, +}; +for await (const response of octokit.paginate.iterator( + "GET /repos/{owner}/{repo}/issues", + parameters, +)) { + // do whatever you want with each response, break out of the loop, etc. + const issues = response.data; + console.log("%d issues found", issues.length); +} +``` + +Alternatively you can pass a `request` method as first argument. This is great when using in combination with [`@octokit/plugin-rest-endpoint-methods`](https://github.com/octokit/plugin-rest-endpoint-methods.js/): + +```js +const parameters = { + owner: "octocat", + repo: "hello-world", + since: "2010-10-01", + per_page: 100, +}; +for await (const response of octokit.paginate.iterator( + octokit.rest.issues.listForRepo, + parameters, +)) { + // do whatever you want with each response, break out of the loop, etc. + const issues = response.data; + console.log("%d issues found", issues.length); +} +``` + +## `composePaginateRest` and `composePaginateRest.iterator` + +The `compose*` methods work just like their `octokit.*` counterparts described above, with the differenct that both methods require an `octokit` instance to be passed as first argument + +## How it works + +`octokit.paginate()` wraps `octokit.request()`. As long as a `rel="next"` link value is present in the response's `Link` header, it sends another request for that URL, and so on. + +Most of GitHub's paginating REST API endpoints return an array, but there are a few exceptions which return an object with a key that includes the items array. For example: + +- [Search repositories](https://developer.github.com/v3/search/#example) (key `items`) +- [List check runs for a specific ref](https://developer.github.com/v3/checks/runs/#response-3) (key: `check_runs`) +- [List check suites for a specific ref](https://developer.github.com/v3/checks/suites/#response-1) (key: `check_suites`) +- [List repositories](https://developer.github.com/v3/apps/installations/#list-repositories) for an installation (key: `repositories`) +- [List installations for a user](https://developer.github.com/v3/apps/installations/#response-1) (key `installations`) + +`octokit.paginate()` is working around these inconsistencies so you don't have to worry about it. + +If a response is lacking the `Link` header, `octokit.paginate()` still resolves with an array, even if the response returns a single object. + +## Types + +The plugin also exposes some types and runtime type guards for TypeScript projects. + + + + + + +
+Types + + +```typescript +import { + PaginateInterface, + PaginatingEndpoints, +} from "@octokit/plugin-paginate-rest"; +``` + +
+Guards + + +```typescript +import { isPaginatingEndpoint } from "@octokit/plugin-paginate-rest"; +``` + +
+ +### PaginateInterface + +An `interface` that declares all the overloads of the `.paginate` method. + +### PaginatingEndpoints + +An `interface` which describes all API endpoints supported by the plugin. Some overloads of `.paginate()` method and `composePaginateRest()` function depend on `PaginatingEndpoints`, using the `keyof PaginatingEndpoints` as a type for one of its arguments. + +```typescript +import { Octokit } from "@octokit/core"; +import { + PaginatingEndpoints, + composePaginateRest, +} from "@octokit/plugin-paginate-rest"; + +type DataType = "data" extends keyof T ? T["data"] : unknown; + +async function myPaginatePlugin( + octokit: Octokit, + endpoint: E, + parameters?: PaginatingEndpoints[E]["parameters"], +): Promise> { + return await composePaginateRest(octokit, endpoint, parameters); +} +``` + +### isPaginatingEndpoint + +A type guard, `isPaginatingEndpoint(arg)` returns `true` if `arg` is one of the keys in `PaginatingEndpoints` (is `keyof PaginatingEndpoints`). + +```typescript +import { Octokit } from "@octokit/core"; +import { + isPaginatingEndpoint, + composePaginateRest, +} from "@octokit/plugin-paginate-rest"; + +async function myPlugin(octokit: Octokit, arg: unknown) { + if (isPaginatingEndpoint(arg)) { + return await composePaginateRest(octokit, arg); + } + // ... +} +``` + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/dist/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js b/dist/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js new file mode 100644 index 00000000..39bac2c9 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js @@ -0,0 +1,401 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + composePaginateRest: () => composePaginateRest, + isPaginatingEndpoint: () => isPaginatingEndpoint, + paginateRest: () => paginateRest, + paginatingEndpoints: () => paginatingEndpoints +}); +module.exports = __toCommonJS(dist_src_exports); + +// pkg/dist-src/version.js +var VERSION = "11.3.1"; + +// pkg/dist-src/normalize-paginated-list-response.js +function normalizePaginatedListResponse(response) { + if (!response.data) { + return { + ...response, + data: [] + }; + } + const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data); + if (!responseNeedsNormalization) + return response; + const incompleteResults = response.data.incomplete_results; + const repositorySelection = response.data.repository_selection; + const totalCount = response.data.total_count; + delete response.data.incomplete_results; + delete response.data.repository_selection; + delete response.data.total_count; + const namespaceKey = Object.keys(response.data)[0]; + const data = response.data[namespaceKey]; + response.data = data; + if (typeof incompleteResults !== "undefined") { + response.data.incomplete_results = incompleteResults; + } + if (typeof repositorySelection !== "undefined") { + response.data.repository_selection = repositorySelection; + } + response.data.total_count = totalCount; + return response; +} + +// pkg/dist-src/iterator.js +function iterator(octokit, route, parameters) { + const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters); + const requestMethod = typeof route === "function" ? route : octokit.request; + const method = options.method; + const headers = options.headers; + let url = options.url; + return { + [Symbol.asyncIterator]: () => ({ + async next() { + if (!url) + return { done: true }; + try { + const response = await requestMethod({ method, url, headers }); + const normalizedResponse = normalizePaginatedListResponse(response); + url = ((normalizedResponse.headers.link || "").match( + /<([^>]+)>;\s*rel="next"/ + ) || [])[1]; + return { value: normalizedResponse }; + } catch (error) { + if (error.status !== 409) + throw error; + url = ""; + return { + value: { + status: 200, + headers: {}, + data: [] + } + }; + } + } + }) + }; +} + +// pkg/dist-src/paginate.js +function paginate(octokit, route, parameters, mapFn) { + if (typeof parameters === "function") { + mapFn = parameters; + parameters = void 0; + } + return gather( + octokit, + [], + iterator(octokit, route, parameters)[Symbol.asyncIterator](), + mapFn + ); +} +function gather(octokit, results, iterator2, mapFn) { + return iterator2.next().then((result) => { + if (result.done) { + return results; + } + let earlyExit = false; + function done() { + earlyExit = true; + } + results = results.concat( + mapFn ? mapFn(result.value, done) : result.value.data + ); + if (earlyExit) { + return results; + } + return gather(octokit, results, iterator2, mapFn); + }); +} + +// pkg/dist-src/compose-paginate.js +var composePaginateRest = Object.assign(paginate, { + iterator +}); + +// pkg/dist-src/generated/paginating-endpoints.js +var paginatingEndpoints = [ + "GET /advisories", + "GET /app/hook/deliveries", + "GET /app/installation-requests", + "GET /app/installations", + "GET /assignments/{assignment_id}/accepted_assignments", + "GET /classrooms", + "GET /classrooms/{classroom_id}/assignments", + "GET /enterprises/{enterprise}/copilot/usage", + "GET /enterprises/{enterprise}/dependabot/alerts", + "GET /enterprises/{enterprise}/secret-scanning/alerts", + "GET /events", + "GET /gists", + "GET /gists/public", + "GET /gists/starred", + "GET /gists/{gist_id}/comments", + "GET /gists/{gist_id}/commits", + "GET /gists/{gist_id}/forks", + "GET /installation/repositories", + "GET /issues", + "GET /licenses", + "GET /marketplace_listing/plans", + "GET /marketplace_listing/plans/{plan_id}/accounts", + "GET /marketplace_listing/stubbed/plans", + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", + "GET /networks/{owner}/{repo}/events", + "GET /notifications", + "GET /organizations", + "GET /orgs/{org}/actions/cache/usage-by-repository", + "GET /orgs/{org}/actions/permissions/repositories", + "GET /orgs/{org}/actions/runners", + "GET /orgs/{org}/actions/secrets", + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", + "GET /orgs/{org}/actions/variables", + "GET /orgs/{org}/actions/variables/{name}/repositories", + "GET /orgs/{org}/blocks", + "GET /orgs/{org}/code-scanning/alerts", + "GET /orgs/{org}/codespaces", + "GET /orgs/{org}/codespaces/secrets", + "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories", + "GET /orgs/{org}/copilot/billing/seats", + "GET /orgs/{org}/copilot/usage", + "GET /orgs/{org}/dependabot/alerts", + "GET /orgs/{org}/dependabot/secrets", + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories", + "GET /orgs/{org}/events", + "GET /orgs/{org}/failed_invitations", + "GET /orgs/{org}/hooks", + "GET /orgs/{org}/hooks/{hook_id}/deliveries", + "GET /orgs/{org}/installations", + "GET /orgs/{org}/invitations", + "GET /orgs/{org}/invitations/{invitation_id}/teams", + "GET /orgs/{org}/issues", + "GET /orgs/{org}/members", + "GET /orgs/{org}/members/{username}/codespaces", + "GET /orgs/{org}/migrations", + "GET /orgs/{org}/migrations/{migration_id}/repositories", + "GET /orgs/{org}/organization-roles/{role_id}/teams", + "GET /orgs/{org}/organization-roles/{role_id}/users", + "GET /orgs/{org}/outside_collaborators", + "GET /orgs/{org}/packages", + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + "GET /orgs/{org}/personal-access-token-requests", + "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories", + "GET /orgs/{org}/personal-access-tokens", + "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories", + "GET /orgs/{org}/projects", + "GET /orgs/{org}/properties/values", + "GET /orgs/{org}/public_members", + "GET /orgs/{org}/repos", + "GET /orgs/{org}/rulesets", + "GET /orgs/{org}/rulesets/rule-suites", + "GET /orgs/{org}/secret-scanning/alerts", + "GET /orgs/{org}/security-advisories", + "GET /orgs/{org}/team/{team_slug}/copilot/usage", + "GET /orgs/{org}/teams", + "GET /orgs/{org}/teams/{team_slug}/discussions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/invitations", + "GET /orgs/{org}/teams/{team_slug}/members", + "GET /orgs/{org}/teams/{team_slug}/projects", + "GET /orgs/{org}/teams/{team_slug}/repos", + "GET /orgs/{org}/teams/{team_slug}/teams", + "GET /projects/columns/{column_id}/cards", + "GET /projects/{project_id}/collaborators", + "GET /projects/{project_id}/columns", + "GET /repos/{owner}/{repo}/actions/artifacts", + "GET /repos/{owner}/{repo}/actions/caches", + "GET /repos/{owner}/{repo}/actions/organization-secrets", + "GET /repos/{owner}/{repo}/actions/organization-variables", + "GET /repos/{owner}/{repo}/actions/runners", + "GET /repos/{owner}/{repo}/actions/runs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", + "GET /repos/{owner}/{repo}/actions/secrets", + "GET /repos/{owner}/{repo}/actions/variables", + "GET /repos/{owner}/{repo}/actions/workflows", + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", + "GET /repos/{owner}/{repo}/activity", + "GET /repos/{owner}/{repo}/assignees", + "GET /repos/{owner}/{repo}/branches", + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", + "GET /repos/{owner}/{repo}/code-scanning/alerts", + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + "GET /repos/{owner}/{repo}/code-scanning/analyses", + "GET /repos/{owner}/{repo}/codespaces", + "GET /repos/{owner}/{repo}/codespaces/devcontainers", + "GET /repos/{owner}/{repo}/codespaces/secrets", + "GET /repos/{owner}/{repo}/collaborators", + "GET /repos/{owner}/{repo}/comments", + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/commits", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", + "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", + "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", + "GET /repos/{owner}/{repo}/commits/{ref}/status", + "GET /repos/{owner}/{repo}/commits/{ref}/statuses", + "GET /repos/{owner}/{repo}/contributors", + "GET /repos/{owner}/{repo}/dependabot/alerts", + "GET /repos/{owner}/{repo}/dependabot/secrets", + "GET /repos/{owner}/{repo}/deployments", + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", + "GET /repos/{owner}/{repo}/environments", + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies", + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps", + "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets", + "GET /repos/{owner}/{repo}/environments/{environment_name}/variables", + "GET /repos/{owner}/{repo}/events", + "GET /repos/{owner}/{repo}/forks", + "GET /repos/{owner}/{repo}/hooks", + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", + "GET /repos/{owner}/{repo}/invitations", + "GET /repos/{owner}/{repo}/issues", + "GET /repos/{owner}/{repo}/issues/comments", + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/issues/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", + "GET /repos/{owner}/{repo}/issues/{issue_number}/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", + "GET /repos/{owner}/{repo}/keys", + "GET /repos/{owner}/{repo}/labels", + "GET /repos/{owner}/{repo}/milestones", + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", + "GET /repos/{owner}/{repo}/notifications", + "GET /repos/{owner}/{repo}/pages/builds", + "GET /repos/{owner}/{repo}/projects", + "GET /repos/{owner}/{repo}/pulls", + "GET /repos/{owner}/{repo}/pulls/comments", + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", + "GET /repos/{owner}/{repo}/releases", + "GET /repos/{owner}/{repo}/releases/{release_id}/assets", + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions", + "GET /repos/{owner}/{repo}/rules/branches/{branch}", + "GET /repos/{owner}/{repo}/rulesets", + "GET /repos/{owner}/{repo}/rulesets/rule-suites", + "GET /repos/{owner}/{repo}/secret-scanning/alerts", + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", + "GET /repos/{owner}/{repo}/security-advisories", + "GET /repos/{owner}/{repo}/stargazers", + "GET /repos/{owner}/{repo}/subscribers", + "GET /repos/{owner}/{repo}/tags", + "GET /repos/{owner}/{repo}/teams", + "GET /repos/{owner}/{repo}/topics", + "GET /repositories", + "GET /search/code", + "GET /search/commits", + "GET /search/issues", + "GET /search/labels", + "GET /search/repositories", + "GET /search/topics", + "GET /search/users", + "GET /teams/{team_id}/discussions", + "GET /teams/{team_id}/discussions/{discussion_number}/comments", + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /teams/{team_id}/discussions/{discussion_number}/reactions", + "GET /teams/{team_id}/invitations", + "GET /teams/{team_id}/members", + "GET /teams/{team_id}/projects", + "GET /teams/{team_id}/repos", + "GET /teams/{team_id}/teams", + "GET /user/blocks", + "GET /user/codespaces", + "GET /user/codespaces/secrets", + "GET /user/emails", + "GET /user/followers", + "GET /user/following", + "GET /user/gpg_keys", + "GET /user/installations", + "GET /user/installations/{installation_id}/repositories", + "GET /user/issues", + "GET /user/keys", + "GET /user/marketplace_purchases", + "GET /user/marketplace_purchases/stubbed", + "GET /user/memberships/orgs", + "GET /user/migrations", + "GET /user/migrations/{migration_id}/repositories", + "GET /user/orgs", + "GET /user/packages", + "GET /user/packages/{package_type}/{package_name}/versions", + "GET /user/public_emails", + "GET /user/repos", + "GET /user/repository_invitations", + "GET /user/social_accounts", + "GET /user/ssh_signing_keys", + "GET /user/starred", + "GET /user/subscriptions", + "GET /user/teams", + "GET /users", + "GET /users/{username}/events", + "GET /users/{username}/events/orgs/{org}", + "GET /users/{username}/events/public", + "GET /users/{username}/followers", + "GET /users/{username}/following", + "GET /users/{username}/gists", + "GET /users/{username}/gpg_keys", + "GET /users/{username}/keys", + "GET /users/{username}/orgs", + "GET /users/{username}/packages", + "GET /users/{username}/projects", + "GET /users/{username}/received_events", + "GET /users/{username}/received_events/public", + "GET /users/{username}/repos", + "GET /users/{username}/social_accounts", + "GET /users/{username}/ssh_signing_keys", + "GET /users/{username}/starred", + "GET /users/{username}/subscriptions" +]; + +// pkg/dist-src/paginating-endpoints.js +function isPaginatingEndpoint(arg) { + if (typeof arg === "string") { + return paginatingEndpoints.includes(arg); + } else { + return false; + } +} + +// pkg/dist-src/index.js +function paginateRest(octokit) { + return { + paginate: Object.assign(paginate.bind(null, octokit), { + iterator: iterator.bind(null, octokit) + }) + }; +} +paginateRest.VERSION = VERSION; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + composePaginateRest, + isPaginatingEndpoint, + paginateRest, + paginatingEndpoints +}); diff --git a/dist/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map b/dist/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map new file mode 100644 index 00000000..0ef1ff68 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/index.js", "../dist-src/version.js", "../dist-src/normalize-paginated-list-response.js", "../dist-src/iterator.js", "../dist-src/paginate.js", "../dist-src/compose-paginate.js", "../dist-src/generated/paginating-endpoints.js", "../dist-src/paginating-endpoints.js"], + "sourcesContent": ["import { VERSION } from \"./version.js\";\nimport { paginate } from \"./paginate.js\";\nimport { iterator } from \"./iterator.js\";\nimport { composePaginateRest } from \"./compose-paginate.js\";\nimport {\n isPaginatingEndpoint,\n paginatingEndpoints\n} from \"./paginating-endpoints.js\";\nfunction paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit)\n })\n };\n}\npaginateRest.VERSION = VERSION;\nexport {\n composePaginateRest,\n isPaginatingEndpoint,\n paginateRest,\n paginatingEndpoints\n};\n", "const VERSION = \"11.3.1\";\nexport {\n VERSION\n};\n", "function normalizePaginatedListResponse(response) {\n if (!response.data) {\n return {\n ...response,\n data: []\n };\n }\n const responseNeedsNormalization = \"total_count\" in response.data && !(\"url\" in response.data);\n if (!responseNeedsNormalization)\n return response;\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n response.data.total_count = totalCount;\n return response;\n}\nexport {\n normalizePaginatedListResponse\n};\n", "import { normalizePaginatedListResponse } from \"./normalize-paginated-list-response.js\";\nfunction iterator(octokit, route, parameters) {\n const options = typeof route === \"function\" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);\n const requestMethod = typeof route === \"function\" ? route : octokit.request;\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n async next() {\n if (!url)\n return { done: true };\n try {\n const response = await requestMethod({ method, url, headers });\n const normalizedResponse = normalizePaginatedListResponse(response);\n url = ((normalizedResponse.headers.link || \"\").match(\n /<([^>]+)>;\\s*rel=\"next\"/\n ) || [])[1];\n return { value: normalizedResponse };\n } catch (error) {\n if (error.status !== 409)\n throw error;\n url = \"\";\n return {\n value: {\n status: 200,\n headers: {},\n data: []\n }\n };\n }\n }\n })\n };\n}\nexport {\n iterator\n};\n", "import { iterator } from \"./iterator.js\";\nfunction paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = void 0;\n }\n return gather(\n octokit,\n [],\n iterator(octokit, route, parameters)[Symbol.asyncIterator](),\n mapFn\n );\n}\nfunction gather(octokit, results, iterator2, mapFn) {\n return iterator2.next().then((result) => {\n if (result.done) {\n return results;\n }\n let earlyExit = false;\n function done() {\n earlyExit = true;\n }\n results = results.concat(\n mapFn ? mapFn(result.value, done) : result.value.data\n );\n if (earlyExit) {\n return results;\n }\n return gather(octokit, results, iterator2, mapFn);\n });\n}\nexport {\n paginate\n};\n", "import { paginate } from \"./paginate.js\";\nimport { iterator } from \"./iterator.js\";\nconst composePaginateRest = Object.assign(paginate, {\n iterator\n});\nexport {\n composePaginateRest\n};\n", "const paginatingEndpoints = [\n \"GET /advisories\",\n \"GET /app/hook/deliveries\",\n \"GET /app/installation-requests\",\n \"GET /app/installations\",\n \"GET /assignments/{assignment_id}/accepted_assignments\",\n \"GET /classrooms\",\n \"GET /classrooms/{classroom_id}/assignments\",\n \"GET /enterprises/{enterprise}/copilot/usage\",\n \"GET /enterprises/{enterprise}/dependabot/alerts\",\n \"GET /enterprises/{enterprise}/secret-scanning/alerts\",\n \"GET /events\",\n \"GET /gists\",\n \"GET /gists/public\",\n \"GET /gists/starred\",\n \"GET /gists/{gist_id}/comments\",\n \"GET /gists/{gist_id}/commits\",\n \"GET /gists/{gist_id}/forks\",\n \"GET /installation/repositories\",\n \"GET /issues\",\n \"GET /licenses\",\n \"GET /marketplace_listing/plans\",\n \"GET /marketplace_listing/plans/{plan_id}/accounts\",\n \"GET /marketplace_listing/stubbed/plans\",\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n \"GET /networks/{owner}/{repo}/events\",\n \"GET /notifications\",\n \"GET /organizations\",\n \"GET /orgs/{org}/actions/cache/usage-by-repository\",\n \"GET /orgs/{org}/actions/permissions/repositories\",\n \"GET /orgs/{org}/actions/runners\",\n \"GET /orgs/{org}/actions/secrets\",\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/actions/variables\",\n \"GET /orgs/{org}/actions/variables/{name}/repositories\",\n \"GET /orgs/{org}/blocks\",\n \"GET /orgs/{org}/code-scanning/alerts\",\n \"GET /orgs/{org}/codespaces\",\n \"GET /orgs/{org}/codespaces/secrets\",\n \"GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/copilot/billing/seats\",\n \"GET /orgs/{org}/copilot/usage\",\n \"GET /orgs/{org}/dependabot/alerts\",\n \"GET /orgs/{org}/dependabot/secrets\",\n \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/events\",\n \"GET /orgs/{org}/failed_invitations\",\n \"GET /orgs/{org}/hooks\",\n \"GET /orgs/{org}/hooks/{hook_id}/deliveries\",\n \"GET /orgs/{org}/installations\",\n \"GET /orgs/{org}/invitations\",\n \"GET /orgs/{org}/invitations/{invitation_id}/teams\",\n \"GET /orgs/{org}/issues\",\n \"GET /orgs/{org}/members\",\n \"GET /orgs/{org}/members/{username}/codespaces\",\n \"GET /orgs/{org}/migrations\",\n \"GET /orgs/{org}/migrations/{migration_id}/repositories\",\n \"GET /orgs/{org}/organization-roles/{role_id}/teams\",\n \"GET /orgs/{org}/organization-roles/{role_id}/users\",\n \"GET /orgs/{org}/outside_collaborators\",\n \"GET /orgs/{org}/packages\",\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n \"GET /orgs/{org}/personal-access-token-requests\",\n \"GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories\",\n \"GET /orgs/{org}/personal-access-tokens\",\n \"GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories\",\n \"GET /orgs/{org}/projects\",\n \"GET /orgs/{org}/properties/values\",\n \"GET /orgs/{org}/public_members\",\n \"GET /orgs/{org}/repos\",\n \"GET /orgs/{org}/rulesets\",\n \"GET /orgs/{org}/rulesets/rule-suites\",\n \"GET /orgs/{org}/secret-scanning/alerts\",\n \"GET /orgs/{org}/security-advisories\",\n \"GET /orgs/{org}/team/{team_slug}/copilot/usage\",\n \"GET /orgs/{org}/teams\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/invitations\",\n \"GET /orgs/{org}/teams/{team_slug}/members\",\n \"GET /orgs/{org}/teams/{team_slug}/projects\",\n \"GET /orgs/{org}/teams/{team_slug}/repos\",\n \"GET /orgs/{org}/teams/{team_slug}/teams\",\n \"GET /projects/columns/{column_id}/cards\",\n \"GET /projects/{project_id}/collaborators\",\n \"GET /projects/{project_id}/columns\",\n \"GET /repos/{owner}/{repo}/actions/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/caches\",\n \"GET /repos/{owner}/{repo}/actions/organization-secrets\",\n \"GET /repos/{owner}/{repo}/actions/organization-variables\",\n \"GET /repos/{owner}/{repo}/actions/runners\",\n \"GET /repos/{owner}/{repo}/actions/runs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/secrets\",\n \"GET /repos/{owner}/{repo}/actions/variables\",\n \"GET /repos/{owner}/{repo}/actions/workflows\",\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\",\n \"GET /repos/{owner}/{repo}/activity\",\n \"GET /repos/{owner}/{repo}/assignees\",\n \"GET /repos/{owner}/{repo}/branches\",\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\",\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n \"GET /repos/{owner}/{repo}/code-scanning/analyses\",\n \"GET /repos/{owner}/{repo}/codespaces\",\n \"GET /repos/{owner}/{repo}/codespaces/devcontainers\",\n \"GET /repos/{owner}/{repo}/codespaces/secrets\",\n \"GET /repos/{owner}/{repo}/collaborators\",\n \"GET /repos/{owner}/{repo}/comments\",\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/commits\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/status\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\",\n \"GET /repos/{owner}/{repo}/contributors\",\n \"GET /repos/{owner}/{repo}/dependabot/alerts\",\n \"GET /repos/{owner}/{repo}/dependabot/secrets\",\n \"GET /repos/{owner}/{repo}/deployments\",\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n \"GET /repos/{owner}/{repo}/environments\",\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies\",\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps\",\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/secrets\",\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/variables\",\n \"GET /repos/{owner}/{repo}/events\",\n \"GET /repos/{owner}/{repo}/forks\",\n \"GET /repos/{owner}/{repo}/hooks\",\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\",\n \"GET /repos/{owner}/{repo}/invitations\",\n \"GET /repos/{owner}/{repo}/issues\",\n \"GET /repos/{owner}/{repo}/issues/comments\",\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\",\n \"GET /repos/{owner}/{repo}/keys\",\n \"GET /repos/{owner}/{repo}/labels\",\n \"GET /repos/{owner}/{repo}/milestones\",\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\",\n \"GET /repos/{owner}/{repo}/notifications\",\n \"GET /repos/{owner}/{repo}/pages/builds\",\n \"GET /repos/{owner}/{repo}/projects\",\n \"GET /repos/{owner}/{repo}/pulls\",\n \"GET /repos/{owner}/{repo}/pulls/comments\",\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\",\n \"GET /repos/{owner}/{repo}/releases\",\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\",\n \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\",\n \"GET /repos/{owner}/{repo}/rules/branches/{branch}\",\n \"GET /repos/{owner}/{repo}/rulesets\",\n \"GET /repos/{owner}/{repo}/rulesets/rule-suites\",\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\",\n \"GET /repos/{owner}/{repo}/security-advisories\",\n \"GET /repos/{owner}/{repo}/stargazers\",\n \"GET /repos/{owner}/{repo}/subscribers\",\n \"GET /repos/{owner}/{repo}/tags\",\n \"GET /repos/{owner}/{repo}/teams\",\n \"GET /repos/{owner}/{repo}/topics\",\n \"GET /repositories\",\n \"GET /search/code\",\n \"GET /search/commits\",\n \"GET /search/issues\",\n \"GET /search/labels\",\n \"GET /search/repositories\",\n \"GET /search/topics\",\n \"GET /search/users\",\n \"GET /teams/{team_id}/discussions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/reactions\",\n \"GET /teams/{team_id}/invitations\",\n \"GET /teams/{team_id}/members\",\n \"GET /teams/{team_id}/projects\",\n \"GET /teams/{team_id}/repos\",\n \"GET /teams/{team_id}/teams\",\n \"GET /user/blocks\",\n \"GET /user/codespaces\",\n \"GET /user/codespaces/secrets\",\n \"GET /user/emails\",\n \"GET /user/followers\",\n \"GET /user/following\",\n \"GET /user/gpg_keys\",\n \"GET /user/installations\",\n \"GET /user/installations/{installation_id}/repositories\",\n \"GET /user/issues\",\n \"GET /user/keys\",\n \"GET /user/marketplace_purchases\",\n \"GET /user/marketplace_purchases/stubbed\",\n \"GET /user/memberships/orgs\",\n \"GET /user/migrations\",\n \"GET /user/migrations/{migration_id}/repositories\",\n \"GET /user/orgs\",\n \"GET /user/packages\",\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n \"GET /user/public_emails\",\n \"GET /user/repos\",\n \"GET /user/repository_invitations\",\n \"GET /user/social_accounts\",\n \"GET /user/ssh_signing_keys\",\n \"GET /user/starred\",\n \"GET /user/subscriptions\",\n \"GET /user/teams\",\n \"GET /users\",\n \"GET /users/{username}/events\",\n \"GET /users/{username}/events/orgs/{org}\",\n \"GET /users/{username}/events/public\",\n \"GET /users/{username}/followers\",\n \"GET /users/{username}/following\",\n \"GET /users/{username}/gists\",\n \"GET /users/{username}/gpg_keys\",\n \"GET /users/{username}/keys\",\n \"GET /users/{username}/orgs\",\n \"GET /users/{username}/packages\",\n \"GET /users/{username}/projects\",\n \"GET /users/{username}/received_events\",\n \"GET /users/{username}/received_events/public\",\n \"GET /users/{username}/repos\",\n \"GET /users/{username}/social_accounts\",\n \"GET /users/{username}/ssh_signing_keys\",\n \"GET /users/{username}/starred\",\n \"GET /users/{username}/subscriptions\"\n];\nexport {\n paginatingEndpoints\n};\n", "import {\n paginatingEndpoints\n} from \"./generated/paginating-endpoints.js\";\nimport { paginatingEndpoints as paginatingEndpoints2 } from \"./generated/paginating-endpoints.js\";\nfunction isPaginatingEndpoint(arg) {\n if (typeof arg === \"string\") {\n return paginatingEndpoints.includes(arg);\n } else {\n return false;\n }\n}\nexport {\n isPaginatingEndpoint,\n paginatingEndpoints2 as paginatingEndpoints\n};\n"], + "mappings": "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ACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;AC1OA,SAAS,qBAAqB,KAAK;AACjC,MAAI,OAAO,QAAQ,UAAU;AAC3B,WAAO,oBAAoB,SAAS,GAAG;AAAA,EACzC,OAAO;AACL,WAAO;AAAA,EACT;AACF;;;APFA,SAAS,aAAa,SAAS;AAC7B,SAAO;AAAA,IACL,UAAU,OAAO,OAAO,SAAS,KAAK,MAAM,OAAO,GAAG;AAAA,MACpD,UAAU,SAAS,KAAK,MAAM,OAAO;AAAA,IACvC,CAAC;AAAA,EACH;AACF;AACA,aAAa,UAAU;", + "names": [] +} diff --git a/dist/node_modules/@octokit/plugin-paginate-rest/dist-src/compose-paginate.js b/dist/node_modules/@octokit/plugin-paginate-rest/dist-src/compose-paginate.js new file mode 100644 index 00000000..f3a6537a --- /dev/null +++ b/dist/node_modules/@octokit/plugin-paginate-rest/dist-src/compose-paginate.js @@ -0,0 +1,8 @@ +import { paginate } from "./paginate.js"; +import { iterator } from "./iterator.js"; +const composePaginateRest = Object.assign(paginate, { + iterator +}); +export { + composePaginateRest +}; diff --git a/dist/node_modules/@octokit/plugin-paginate-rest/dist-src/generated/paginating-endpoints.js b/dist/node_modules/@octokit/plugin-paginate-rest/dist-src/generated/paginating-endpoints.js new file mode 100644 index 00000000..918a5114 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-paginate-rest/dist-src/generated/paginating-endpoints.js @@ -0,0 +1,242 @@ +const paginatingEndpoints = [ + "GET /advisories", + "GET /app/hook/deliveries", + "GET /app/installation-requests", + "GET /app/installations", + "GET /assignments/{assignment_id}/accepted_assignments", + "GET /classrooms", + "GET /classrooms/{classroom_id}/assignments", + "GET /enterprises/{enterprise}/copilot/usage", + "GET /enterprises/{enterprise}/dependabot/alerts", + "GET /enterprises/{enterprise}/secret-scanning/alerts", + "GET /events", + "GET /gists", + "GET /gists/public", + "GET /gists/starred", + "GET /gists/{gist_id}/comments", + "GET /gists/{gist_id}/commits", + "GET /gists/{gist_id}/forks", + "GET /installation/repositories", + "GET /issues", + "GET /licenses", + "GET /marketplace_listing/plans", + "GET /marketplace_listing/plans/{plan_id}/accounts", + "GET /marketplace_listing/stubbed/plans", + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", + "GET /networks/{owner}/{repo}/events", + "GET /notifications", + "GET /organizations", + "GET /orgs/{org}/actions/cache/usage-by-repository", + "GET /orgs/{org}/actions/permissions/repositories", + "GET /orgs/{org}/actions/runners", + "GET /orgs/{org}/actions/secrets", + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", + "GET /orgs/{org}/actions/variables", + "GET /orgs/{org}/actions/variables/{name}/repositories", + "GET /orgs/{org}/blocks", + "GET /orgs/{org}/code-scanning/alerts", + "GET /orgs/{org}/codespaces", + "GET /orgs/{org}/codespaces/secrets", + "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories", + "GET /orgs/{org}/copilot/billing/seats", + "GET /orgs/{org}/copilot/usage", + "GET /orgs/{org}/dependabot/alerts", + "GET /orgs/{org}/dependabot/secrets", + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories", + "GET /orgs/{org}/events", + "GET /orgs/{org}/failed_invitations", + "GET /orgs/{org}/hooks", + "GET /orgs/{org}/hooks/{hook_id}/deliveries", + "GET /orgs/{org}/installations", + "GET /orgs/{org}/invitations", + "GET /orgs/{org}/invitations/{invitation_id}/teams", + "GET /orgs/{org}/issues", + "GET /orgs/{org}/members", + "GET /orgs/{org}/members/{username}/codespaces", + "GET /orgs/{org}/migrations", + "GET /orgs/{org}/migrations/{migration_id}/repositories", + "GET /orgs/{org}/organization-roles/{role_id}/teams", + "GET /orgs/{org}/organization-roles/{role_id}/users", + "GET /orgs/{org}/outside_collaborators", + "GET /orgs/{org}/packages", + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + "GET /orgs/{org}/personal-access-token-requests", + "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories", + "GET /orgs/{org}/personal-access-tokens", + "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories", + "GET /orgs/{org}/projects", + "GET /orgs/{org}/properties/values", + "GET /orgs/{org}/public_members", + "GET /orgs/{org}/repos", + "GET /orgs/{org}/rulesets", + "GET /orgs/{org}/rulesets/rule-suites", + "GET /orgs/{org}/secret-scanning/alerts", + "GET /orgs/{org}/security-advisories", + "GET /orgs/{org}/team/{team_slug}/copilot/usage", + "GET /orgs/{org}/teams", + "GET /orgs/{org}/teams/{team_slug}/discussions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/invitations", + "GET /orgs/{org}/teams/{team_slug}/members", + "GET /orgs/{org}/teams/{team_slug}/projects", + "GET /orgs/{org}/teams/{team_slug}/repos", + "GET /orgs/{org}/teams/{team_slug}/teams", + "GET /projects/columns/{column_id}/cards", + "GET /projects/{project_id}/collaborators", + "GET /projects/{project_id}/columns", + "GET /repos/{owner}/{repo}/actions/artifacts", + "GET /repos/{owner}/{repo}/actions/caches", + "GET /repos/{owner}/{repo}/actions/organization-secrets", + "GET /repos/{owner}/{repo}/actions/organization-variables", + "GET /repos/{owner}/{repo}/actions/runners", + "GET /repos/{owner}/{repo}/actions/runs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", + "GET /repos/{owner}/{repo}/actions/secrets", + "GET /repos/{owner}/{repo}/actions/variables", + "GET /repos/{owner}/{repo}/actions/workflows", + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", + "GET /repos/{owner}/{repo}/activity", + "GET /repos/{owner}/{repo}/assignees", + "GET /repos/{owner}/{repo}/branches", + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", + "GET /repos/{owner}/{repo}/code-scanning/alerts", + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + "GET /repos/{owner}/{repo}/code-scanning/analyses", + "GET /repos/{owner}/{repo}/codespaces", + "GET /repos/{owner}/{repo}/codespaces/devcontainers", + "GET /repos/{owner}/{repo}/codespaces/secrets", + "GET /repos/{owner}/{repo}/collaborators", + "GET /repos/{owner}/{repo}/comments", + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/commits", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", + "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", + "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", + "GET /repos/{owner}/{repo}/commits/{ref}/status", + "GET /repos/{owner}/{repo}/commits/{ref}/statuses", + "GET /repos/{owner}/{repo}/contributors", + "GET /repos/{owner}/{repo}/dependabot/alerts", + "GET /repos/{owner}/{repo}/dependabot/secrets", + "GET /repos/{owner}/{repo}/deployments", + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", + "GET /repos/{owner}/{repo}/environments", + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies", + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps", + "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets", + "GET /repos/{owner}/{repo}/environments/{environment_name}/variables", + "GET /repos/{owner}/{repo}/events", + "GET /repos/{owner}/{repo}/forks", + "GET /repos/{owner}/{repo}/hooks", + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", + "GET /repos/{owner}/{repo}/invitations", + "GET /repos/{owner}/{repo}/issues", + "GET /repos/{owner}/{repo}/issues/comments", + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/issues/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", + "GET /repos/{owner}/{repo}/issues/{issue_number}/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", + "GET /repos/{owner}/{repo}/keys", + "GET /repos/{owner}/{repo}/labels", + "GET /repos/{owner}/{repo}/milestones", + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", + "GET /repos/{owner}/{repo}/notifications", + "GET /repos/{owner}/{repo}/pages/builds", + "GET /repos/{owner}/{repo}/projects", + "GET /repos/{owner}/{repo}/pulls", + "GET /repos/{owner}/{repo}/pulls/comments", + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", + "GET /repos/{owner}/{repo}/releases", + "GET /repos/{owner}/{repo}/releases/{release_id}/assets", + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions", + "GET /repos/{owner}/{repo}/rules/branches/{branch}", + "GET /repos/{owner}/{repo}/rulesets", + "GET /repos/{owner}/{repo}/rulesets/rule-suites", + "GET /repos/{owner}/{repo}/secret-scanning/alerts", + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", + "GET /repos/{owner}/{repo}/security-advisories", + "GET /repos/{owner}/{repo}/stargazers", + "GET /repos/{owner}/{repo}/subscribers", + "GET /repos/{owner}/{repo}/tags", + "GET /repos/{owner}/{repo}/teams", + "GET /repos/{owner}/{repo}/topics", + "GET /repositories", + "GET /search/code", + "GET /search/commits", + "GET /search/issues", + "GET /search/labels", + "GET /search/repositories", + "GET /search/topics", + "GET /search/users", + "GET /teams/{team_id}/discussions", + "GET /teams/{team_id}/discussions/{discussion_number}/comments", + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /teams/{team_id}/discussions/{discussion_number}/reactions", + "GET /teams/{team_id}/invitations", + "GET /teams/{team_id}/members", + "GET /teams/{team_id}/projects", + "GET /teams/{team_id}/repos", + "GET /teams/{team_id}/teams", + "GET /user/blocks", + "GET /user/codespaces", + "GET /user/codespaces/secrets", + "GET /user/emails", + "GET /user/followers", + "GET /user/following", + "GET /user/gpg_keys", + "GET /user/installations", + "GET /user/installations/{installation_id}/repositories", + "GET /user/issues", + "GET /user/keys", + "GET /user/marketplace_purchases", + "GET /user/marketplace_purchases/stubbed", + "GET /user/memberships/orgs", + "GET /user/migrations", + "GET /user/migrations/{migration_id}/repositories", + "GET /user/orgs", + "GET /user/packages", + "GET /user/packages/{package_type}/{package_name}/versions", + "GET /user/public_emails", + "GET /user/repos", + "GET /user/repository_invitations", + "GET /user/social_accounts", + "GET /user/ssh_signing_keys", + "GET /user/starred", + "GET /user/subscriptions", + "GET /user/teams", + "GET /users", + "GET /users/{username}/events", + "GET /users/{username}/events/orgs/{org}", + "GET /users/{username}/events/public", + "GET /users/{username}/followers", + "GET /users/{username}/following", + "GET /users/{username}/gists", + "GET /users/{username}/gpg_keys", + "GET /users/{username}/keys", + "GET /users/{username}/orgs", + "GET /users/{username}/packages", + "GET /users/{username}/projects", + "GET /users/{username}/received_events", + "GET /users/{username}/received_events/public", + "GET /users/{username}/repos", + "GET /users/{username}/social_accounts", + "GET /users/{username}/ssh_signing_keys", + "GET /users/{username}/starred", + "GET /users/{username}/subscriptions" +]; +export { + paginatingEndpoints +}; diff --git a/dist/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js b/dist/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js new file mode 100644 index 00000000..02a5b109 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js @@ -0,0 +1,22 @@ +import { VERSION } from "./version.js"; +import { paginate } from "./paginate.js"; +import { iterator } from "./iterator.js"; +import { composePaginateRest } from "./compose-paginate.js"; +import { + isPaginatingEndpoint, + paginatingEndpoints +} from "./paginating-endpoints.js"; +function paginateRest(octokit) { + return { + paginate: Object.assign(paginate.bind(null, octokit), { + iterator: iterator.bind(null, octokit) + }) + }; +} +paginateRest.VERSION = VERSION; +export { + composePaginateRest, + isPaginatingEndpoint, + paginateRest, + paginatingEndpoints +}; diff --git a/dist/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js b/dist/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js new file mode 100644 index 00000000..52069226 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js @@ -0,0 +1,38 @@ +import { normalizePaginatedListResponse } from "./normalize-paginated-list-response.js"; +function iterator(octokit, route, parameters) { + const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters); + const requestMethod = typeof route === "function" ? route : octokit.request; + const method = options.method; + const headers = options.headers; + let url = options.url; + return { + [Symbol.asyncIterator]: () => ({ + async next() { + if (!url) + return { done: true }; + try { + const response = await requestMethod({ method, url, headers }); + const normalizedResponse = normalizePaginatedListResponse(response); + url = ((normalizedResponse.headers.link || "").match( + /<([^>]+)>;\s*rel="next"/ + ) || [])[1]; + return { value: normalizedResponse }; + } catch (error) { + if (error.status !== 409) + throw error; + url = ""; + return { + value: { + status: 200, + headers: {}, + data: [] + } + }; + } + } + }) + }; +} +export { + iterator +}; diff --git a/dist/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js b/dist/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js new file mode 100644 index 00000000..c1dd7447 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js @@ -0,0 +1,31 @@ +function normalizePaginatedListResponse(response) { + if (!response.data) { + return { + ...response, + data: [] + }; + } + const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data); + if (!responseNeedsNormalization) + return response; + const incompleteResults = response.data.incomplete_results; + const repositorySelection = response.data.repository_selection; + const totalCount = response.data.total_count; + delete response.data.incomplete_results; + delete response.data.repository_selection; + delete response.data.total_count; + const namespaceKey = Object.keys(response.data)[0]; + const data = response.data[namespaceKey]; + response.data = data; + if (typeof incompleteResults !== "undefined") { + response.data.incomplete_results = incompleteResults; + } + if (typeof repositorySelection !== "undefined") { + response.data.repository_selection = repositorySelection; + } + response.data.total_count = totalCount; + return response; +} +export { + normalizePaginatedListResponse +}; diff --git a/dist/node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js b/dist/node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js new file mode 100644 index 00000000..0e888b99 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js @@ -0,0 +1,34 @@ +import { iterator } from "./iterator.js"; +function paginate(octokit, route, parameters, mapFn) { + if (typeof parameters === "function") { + mapFn = parameters; + parameters = void 0; + } + return gather( + octokit, + [], + iterator(octokit, route, parameters)[Symbol.asyncIterator](), + mapFn + ); +} +function gather(octokit, results, iterator2, mapFn) { + return iterator2.next().then((result) => { + if (result.done) { + return results; + } + let earlyExit = false; + function done() { + earlyExit = true; + } + results = results.concat( + mapFn ? mapFn(result.value, done) : result.value.data + ); + if (earlyExit) { + return results; + } + return gather(octokit, results, iterator2, mapFn); + }); +} +export { + paginate +}; diff --git a/dist/node_modules/@octokit/plugin-paginate-rest/dist-src/paginating-endpoints.js b/dist/node_modules/@octokit/plugin-paginate-rest/dist-src/paginating-endpoints.js new file mode 100644 index 00000000..f9a110a8 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-paginate-rest/dist-src/paginating-endpoints.js @@ -0,0 +1,15 @@ +import { + paginatingEndpoints +} from "./generated/paginating-endpoints.js"; +import { paginatingEndpoints as paginatingEndpoints2 } from "./generated/paginating-endpoints.js"; +function isPaginatingEndpoint(arg) { + if (typeof arg === "string") { + return paginatingEndpoints.includes(arg); + } else { + return false; + } +} +export { + isPaginatingEndpoint, + paginatingEndpoints2 as paginatingEndpoints +}; diff --git a/dist/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js b/dist/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js new file mode 100644 index 00000000..2ee7c276 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js @@ -0,0 +1,4 @@ +const VERSION = "11.3.1"; +export { + VERSION +}; diff --git a/dist/node_modules/@octokit/plugin-paginate-rest/dist-types/compose-paginate.d.ts b/dist/node_modules/@octokit/plugin-paginate-rest/dist-types/compose-paginate.d.ts new file mode 100644 index 00000000..484eadb2 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-paginate-rest/dist-types/compose-paginate.d.ts @@ -0,0 +1,2 @@ +import type { ComposePaginateInterface } from "./types.js"; +export declare const composePaginateRest: ComposePaginateInterface; diff --git a/dist/node_modules/@octokit/plugin-paginate-rest/dist-types/generated/paginating-endpoints.d.ts b/dist/node_modules/@octokit/plugin-paginate-rest/dist-types/generated/paginating-endpoints.d.ts new file mode 100644 index 00000000..25bd42ea --- /dev/null +++ b/dist/node_modules/@octokit/plugin-paginate-rest/dist-types/generated/paginating-endpoints.d.ts @@ -0,0 +1,1771 @@ +import type { Endpoints } from "@octokit/types"; +export interface PaginatingEndpoints { + /** + * @see https://docs.github.com/rest/security-advisories/global-advisories#list-global-security-advisories + */ + "GET /advisories": { + parameters: Endpoints["GET /advisories"]["parameters"]; + response: Endpoints["GET /advisories"]["response"]; + }; + /** + * @see https://docs.github.com/rest/apps/webhooks#list-deliveries-for-an-app-webhook + */ + "GET /app/hook/deliveries": { + parameters: Endpoints["GET /app/hook/deliveries"]["parameters"]; + response: Endpoints["GET /app/hook/deliveries"]["response"]; + }; + /** + * @see https://docs.github.com/rest/apps/apps#list-installation-requests-for-the-authenticated-app + */ + "GET /app/installation-requests": { + parameters: Endpoints["GET /app/installation-requests"]["parameters"]; + response: Endpoints["GET /app/installation-requests"]["response"]; + }; + /** + * @see https://docs.github.com/enterprise-server@3.9/rest/apps/apps#list-installations-for-the-authenticated-app + */ + "GET /app/installations": { + parameters: Endpoints["GET /app/installations"]["parameters"]; + response: Endpoints["GET /app/installations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/classroom/classroom#list-accepted-assignments-for-an-assignment + */ + "GET /assignments/{assignment_id}/accepted_assignments": { + parameters: Endpoints["GET /assignments/{assignment_id}/accepted_assignments"]["parameters"]; + response: Endpoints["GET /assignments/{assignment_id}/accepted_assignments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/classroom/classroom#list-classrooms + */ + "GET /classrooms": { + parameters: Endpoints["GET /classrooms"]["parameters"]; + response: Endpoints["GET /classrooms"]["response"]; + }; + /** + * @see https://docs.github.com/rest/classroom/classroom#list-assignments-for-a-classroom + */ + "GET /classrooms/{classroom_id}/assignments": { + parameters: Endpoints["GET /classrooms/{classroom_id}/assignments"]["parameters"]; + response: Endpoints["GET /classrooms/{classroom_id}/assignments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/copilot/copilot-usage#get-a-summary-of-copilot-usage-for-enterprise-members + */ + "GET /enterprises/{enterprise}/copilot/usage": { + parameters: Endpoints["GET /enterprises/{enterprise}/copilot/usage"]["parameters"]; + response: Endpoints["GET /enterprises/{enterprise}/copilot/usage"]["response"]; + }; + /** + * @see https://docs.github.com/rest/dependabot/alerts#list-dependabot-alerts-for-an-enterprise + */ + "GET /enterprises/{enterprise}/dependabot/alerts": { + parameters: Endpoints["GET /enterprises/{enterprise}/dependabot/alerts"]["parameters"]; + response: Endpoints["GET /enterprises/{enterprise}/dependabot/alerts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-secret-scanning-alerts-for-an-enterprise + */ + "GET /enterprises/{enterprise}/secret-scanning/alerts": { + parameters: Endpoints["GET /enterprises/{enterprise}/secret-scanning/alerts"]["parameters"]; + response: Endpoints["GET /enterprises/{enterprise}/secret-scanning/alerts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/events#list-public-events + */ + "GET /events": { + parameters: Endpoints["GET /events"]["parameters"]; + response: Endpoints["GET /events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/gists/gists#list-gists-for-the-authenticated-user + */ + "GET /gists": { + parameters: Endpoints["GET /gists"]["parameters"]; + response: Endpoints["GET /gists"]["response"]; + }; + /** + * @see https://docs.github.com/rest/gists/gists#list-public-gists + */ + "GET /gists/public": { + parameters: Endpoints["GET /gists/public"]["parameters"]; + response: Endpoints["GET /gists/public"]["response"]; + }; + /** + * @see https://docs.github.com/rest/gists/gists#list-starred-gists + */ + "GET /gists/starred": { + parameters: Endpoints["GET /gists/starred"]["parameters"]; + response: Endpoints["GET /gists/starred"]["response"]; + }; + /** + * @see https://docs.github.com/rest/gists/comments#list-gist-comments + */ + "GET /gists/{gist_id}/comments": { + parameters: Endpoints["GET /gists/{gist_id}/comments"]["parameters"]; + response: Endpoints["GET /gists/{gist_id}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/gists/gists#list-gist-commits + */ + "GET /gists/{gist_id}/commits": { + parameters: Endpoints["GET /gists/{gist_id}/commits"]["parameters"]; + response: Endpoints["GET /gists/{gist_id}/commits"]["response"]; + }; + /** + * @see https://docs.github.com/rest/gists/gists#list-gist-forks + */ + "GET /gists/{gist_id}/forks": { + parameters: Endpoints["GET /gists/{gist_id}/forks"]["parameters"]; + response: Endpoints["GET /gists/{gist_id}/forks"]["response"]; + }; + /** + * @see https://docs.github.com/rest/apps/installations#list-repositories-accessible-to-the-app-installation + */ + "GET /installation/repositories": { + parameters: Endpoints["GET /installation/repositories"]["parameters"]; + response: Endpoints["GET /installation/repositories"]["response"] & { + data: Endpoints["GET /installation/repositories"]["response"]["data"]["repositories"]; + }; + }; + /** + * @see https://docs.github.com/rest/issues/issues#list-issues-assigned-to-the-authenticated-user + */ + "GET /issues": { + parameters: Endpoints["GET /issues"]["parameters"]; + response: Endpoints["GET /issues"]["response"]; + }; + /** + * @see https://docs.github.com/rest/licenses/licenses#get-all-commonly-used-licenses + */ + "GET /licenses": { + parameters: Endpoints["GET /licenses"]["parameters"]; + response: Endpoints["GET /licenses"]["response"]; + }; + /** + * @see https://docs.github.com/rest/apps/marketplace#list-plans + */ + "GET /marketplace_listing/plans": { + parameters: Endpoints["GET /marketplace_listing/plans"]["parameters"]; + response: Endpoints["GET /marketplace_listing/plans"]["response"]; + }; + /** + * @see https://docs.github.com/rest/apps/marketplace#list-accounts-for-a-plan + */ + "GET /marketplace_listing/plans/{plan_id}/accounts": { + parameters: Endpoints["GET /marketplace_listing/plans/{plan_id}/accounts"]["parameters"]; + response: Endpoints["GET /marketplace_listing/plans/{plan_id}/accounts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/apps/marketplace#list-plans-stubbed + */ + "GET /marketplace_listing/stubbed/plans": { + parameters: Endpoints["GET /marketplace_listing/stubbed/plans"]["parameters"]; + response: Endpoints["GET /marketplace_listing/stubbed/plans"]["response"]; + }; + /** + * @see https://docs.github.com/rest/apps/marketplace#list-accounts-for-a-plan-stubbed + */ + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts": { + parameters: Endpoints["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"]["parameters"]; + response: Endpoints["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/events#list-public-events-for-a-network-of-repositories + */ + "GET /networks/{owner}/{repo}/events": { + parameters: Endpoints["GET /networks/{owner}/{repo}/events"]["parameters"]; + response: Endpoints["GET /networks/{owner}/{repo}/events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user + */ + "GET /notifications": { + parameters: Endpoints["GET /notifications"]["parameters"]; + response: Endpoints["GET /notifications"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/orgs#list-organizations + */ + "GET /organizations": { + parameters: Endpoints["GET /organizations"]["parameters"]; + response: Endpoints["GET /organizations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/actions/cache#list-repositories-with-github-actions-cache-usage-for-an-organization + */ + "GET /orgs/{org}/actions/cache/usage-by-repository": { + parameters: Endpoints["GET /orgs/{org}/actions/cache/usage-by-repository"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/cache/usage-by-repository"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/cache/usage-by-repository"]["response"]["data"]["repository_cache_usages"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/permissions#list-selected-repositories-enabled-for-github-actions-in-an-organization + */ + "GET /orgs/{org}/actions/permissions/repositories": { + parameters: Endpoints["GET /orgs/{org}/actions/permissions/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/permissions/repositories"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/permissions/repositories"]["response"]["data"]["repositories"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-self-hosted-runners-for-an-organization + */ + "GET /orgs/{org}/actions/runners": { + parameters: Endpoints["GET /orgs/{org}/actions/runners"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/runners"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/runners"]["response"]["data"]["runners"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/secrets#list-organization-secrets + */ + "GET /orgs/{org}/actions/secrets": { + parameters: Endpoints["GET /orgs/{org}/actions/secrets"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/secrets"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/secrets#list-selected-repositories-for-an-organization-secret + */ + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories": { + parameters: Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"]["response"]["data"]["repositories"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/variables#list-organization-variables + */ + "GET /orgs/{org}/actions/variables": { + parameters: Endpoints["GET /orgs/{org}/actions/variables"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/variables"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/variables"]["response"]["data"]["variables"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/variables#list-selected-repositories-for-an-organization-variable + */ + "GET /orgs/{org}/actions/variables/{name}/repositories": { + parameters: Endpoints["GET /orgs/{org}/actions/variables/{name}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/variables/{name}/repositories"]["response"] & { + data: Endpoints["GET /orgs/{org}/actions/variables/{name}/repositories"]["response"]["data"]["repositories"]; + }; + }; + /** + * @see https://docs.github.com/rest/orgs/blocking#list-users-blocked-by-an-organization + */ + "GET /orgs/{org}/blocks": { + parameters: Endpoints["GET /orgs/{org}/blocks"]["parameters"]; + response: Endpoints["GET /orgs/{org}/blocks"]["response"]; + }; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#list-code-scanning-alerts-for-an-organization + */ + "GET /orgs/{org}/code-scanning/alerts": { + parameters: Endpoints["GET /orgs/{org}/code-scanning/alerts"]["parameters"]; + response: Endpoints["GET /orgs/{org}/code-scanning/alerts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/codespaces/organizations#list-codespaces-for-the-organization + */ + "GET /orgs/{org}/codespaces": { + parameters: Endpoints["GET /orgs/{org}/codespaces"]["parameters"]; + response: Endpoints["GET /orgs/{org}/codespaces"]["response"] & { + data: Endpoints["GET /orgs/{org}/codespaces"]["response"]["data"]["codespaces"]; + }; + }; + /** + * @see https://docs.github.com/rest/codespaces/organization-secrets#list-organization-secrets + */ + "GET /orgs/{org}/codespaces/secrets": { + parameters: Endpoints["GET /orgs/{org}/codespaces/secrets"]["parameters"]; + response: Endpoints["GET /orgs/{org}/codespaces/secrets"]["response"] & { + data: Endpoints["GET /orgs/{org}/codespaces/secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/codespaces/organization-secrets#list-selected-repositories-for-an-organization-secret + */ + "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories": { + parameters: Endpoints["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"]["response"] & { + data: Endpoints["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"]["response"]["data"]["repositories"]; + }; + }; + /** + * @see https://docs.github.com/rest/copilot/copilot-user-management#list-all-copilot-seat-assignments-for-an-organization + */ + "GET /orgs/{org}/copilot/billing/seats": { + parameters: Endpoints["GET /orgs/{org}/copilot/billing/seats"]["parameters"]; + response: Endpoints["GET /orgs/{org}/copilot/billing/seats"]["response"] & { + data: Endpoints["GET /orgs/{org}/copilot/billing/seats"]["response"]["data"]["seats"]; + }; + }; + /** + * @see https://docs.github.com/rest/copilot/copilot-usage#get-a-summary-of-copilot-usage-for-organization-members + */ + "GET /orgs/{org}/copilot/usage": { + parameters: Endpoints["GET /orgs/{org}/copilot/usage"]["parameters"]; + response: Endpoints["GET /orgs/{org}/copilot/usage"]["response"]; + }; + /** + * @see https://docs.github.com/rest/dependabot/alerts#list-dependabot-alerts-for-an-organization + */ + "GET /orgs/{org}/dependabot/alerts": { + parameters: Endpoints["GET /orgs/{org}/dependabot/alerts"]["parameters"]; + response: Endpoints["GET /orgs/{org}/dependabot/alerts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/dependabot/secrets#list-organization-secrets + */ + "GET /orgs/{org}/dependabot/secrets": { + parameters: Endpoints["GET /orgs/{org}/dependabot/secrets"]["parameters"]; + response: Endpoints["GET /orgs/{org}/dependabot/secrets"]["response"] & { + data: Endpoints["GET /orgs/{org}/dependabot/secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/dependabot/secrets#list-selected-repositories-for-an-organization-secret + */ + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories": { + parameters: Endpoints["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"]["response"] & { + data: Endpoints["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"]["response"]["data"]["repositories"]; + }; + }; + /** + * @see https://docs.github.com/rest/activity/events#list-public-organization-events + */ + "GET /orgs/{org}/events": { + parameters: Endpoints["GET /orgs/{org}/events"]["parameters"]; + response: Endpoints["GET /orgs/{org}/events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/members#list-failed-organization-invitations + */ + "GET /orgs/{org}/failed_invitations": { + parameters: Endpoints["GET /orgs/{org}/failed_invitations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/failed_invitations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/webhooks#list-organization-webhooks + */ + "GET /orgs/{org}/hooks": { + parameters: Endpoints["GET /orgs/{org}/hooks"]["parameters"]; + response: Endpoints["GET /orgs/{org}/hooks"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/webhooks#list-deliveries-for-an-organization-webhook + */ + "GET /orgs/{org}/hooks/{hook_id}/deliveries": { + parameters: Endpoints["GET /orgs/{org}/hooks/{hook_id}/deliveries"]["parameters"]; + response: Endpoints["GET /orgs/{org}/hooks/{hook_id}/deliveries"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/orgs#list-app-installations-for-an-organization + */ + "GET /orgs/{org}/installations": { + parameters: Endpoints["GET /orgs/{org}/installations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/installations"]["response"] & { + data: Endpoints["GET /orgs/{org}/installations"]["response"]["data"]["installations"]; + }; + }; + /** + * @see https://docs.github.com/rest/orgs/members#list-pending-organization-invitations + */ + "GET /orgs/{org}/invitations": { + parameters: Endpoints["GET /orgs/{org}/invitations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/invitations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/members#list-organization-invitation-teams + */ + "GET /orgs/{org}/invitations/{invitation_id}/teams": { + parameters: Endpoints["GET /orgs/{org}/invitations/{invitation_id}/teams"]["parameters"]; + response: Endpoints["GET /orgs/{org}/invitations/{invitation_id}/teams"]["response"]; + }; + /** + * @see https://docs.github.com/rest/issues/issues#list-organization-issues-assigned-to-the-authenticated-user + */ + "GET /orgs/{org}/issues": { + parameters: Endpoints["GET /orgs/{org}/issues"]["parameters"]; + response: Endpoints["GET /orgs/{org}/issues"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/members#list-organization-members + */ + "GET /orgs/{org}/members": { + parameters: Endpoints["GET /orgs/{org}/members"]["parameters"]; + response: Endpoints["GET /orgs/{org}/members"]["response"]; + }; + /** + * @see https://docs.github.com/rest/codespaces/organizations#list-codespaces-for-a-user-in-organization + */ + "GET /orgs/{org}/members/{username}/codespaces": { + parameters: Endpoints["GET /orgs/{org}/members/{username}/codespaces"]["parameters"]; + response: Endpoints["GET /orgs/{org}/members/{username}/codespaces"]["response"] & { + data: Endpoints["GET /orgs/{org}/members/{username}/codespaces"]["response"]["data"]["codespaces"]; + }; + }; + /** + * @see https://docs.github.com/rest/migrations/orgs#list-organization-migrations + */ + "GET /orgs/{org}/migrations": { + parameters: Endpoints["GET /orgs/{org}/migrations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/migrations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/migrations/orgs#list-repositories-in-an-organization-migration + */ + "GET /orgs/{org}/migrations/{migration_id}/repositories": { + parameters: Endpoints["GET /orgs/{org}/migrations/{migration_id}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/migrations/{migration_id}/repositories"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/organization-roles#list-teams-that-are-assigned-to-an-organization-role + */ + "GET /orgs/{org}/organization-roles/{role_id}/teams": { + parameters: Endpoints["GET /orgs/{org}/organization-roles/{role_id}/teams"]["parameters"]; + response: Endpoints["GET /orgs/{org}/organization-roles/{role_id}/teams"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/organization-roles#list-users-that-are-assigned-to-an-organization-role + */ + "GET /orgs/{org}/organization-roles/{role_id}/users": { + parameters: Endpoints["GET /orgs/{org}/organization-roles/{role_id}/users"]["parameters"]; + response: Endpoints["GET /orgs/{org}/organization-roles/{role_id}/users"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/outside-collaborators#list-outside-collaborators-for-an-organization + */ + "GET /orgs/{org}/outside_collaborators": { + parameters: Endpoints["GET /orgs/{org}/outside_collaborators"]["parameters"]; + response: Endpoints["GET /orgs/{org}/outside_collaborators"]["response"]; + }; + /** + * @see https://docs.github.com/rest/packages/packages#list-packages-for-an-organization + */ + "GET /orgs/{org}/packages": { + parameters: Endpoints["GET /orgs/{org}/packages"]["parameters"]; + response: Endpoints["GET /orgs/{org}/packages"]["response"]; + }; + /** + * @see https://docs.github.com/rest/packages/packages#list-package-versions-for-a-package-owned-by-an-organization + */ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions": { + parameters: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-requests-to-access-organization-resources-with-fine-grained-personal-access-tokens + */ + "GET /orgs/{org}/personal-access-token-requests": { + parameters: Endpoints["GET /orgs/{org}/personal-access-token-requests"]["parameters"]; + response: Endpoints["GET /orgs/{org}/personal-access-token-requests"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-repositories-requested-to-be-accessed-by-a-fine-grained-personal-access-token + */ + "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories": { + parameters: Endpoints["GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-fine-grained-personal-access-tokens-with-access-to-organization-resources + */ + "GET /orgs/{org}/personal-access-tokens": { + parameters: Endpoints["GET /orgs/{org}/personal-access-tokens"]["parameters"]; + response: Endpoints["GET /orgs/{org}/personal-access-tokens"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-repositories-a-fine-grained-personal-access-token-has-access-to + */ + "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories": { + parameters: Endpoints["GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"]["response"]; + }; + /** + * @see https://docs.github.com/rest/projects/projects#list-organization-projects + */ + "GET /orgs/{org}/projects": { + parameters: Endpoints["GET /orgs/{org}/projects"]["parameters"]; + response: Endpoints["GET /orgs/{org}/projects"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/custom-properties#list-custom-property-values-for-organization-repositories + */ + "GET /orgs/{org}/properties/values": { + parameters: Endpoints["GET /orgs/{org}/properties/values"]["parameters"]; + response: Endpoints["GET /orgs/{org}/properties/values"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/members#list-public-organization-members + */ + "GET /orgs/{org}/public_members": { + parameters: Endpoints["GET /orgs/{org}/public_members"]["parameters"]; + response: Endpoints["GET /orgs/{org}/public_members"]["response"]; + }; + /** + * @see https://docs.github.com/rest/repos/repos#list-organization-repositories + */ + "GET /orgs/{org}/repos": { + parameters: Endpoints["GET /orgs/{org}/repos"]["parameters"]; + response: Endpoints["GET /orgs/{org}/repos"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/rules#get-all-organization-repository-rulesets + */ + "GET /orgs/{org}/rulesets": { + parameters: Endpoints["GET /orgs/{org}/rulesets"]["parameters"]; + response: Endpoints["GET /orgs/{org}/rulesets"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/rule-suites#list-organization-rule-suites + */ + "GET /orgs/{org}/rulesets/rule-suites": { + parameters: Endpoints["GET /orgs/{org}/rulesets/rule-suites"]["parameters"]; + response: Endpoints["GET /orgs/{org}/rulesets/rule-suites"]["response"]; + }; + /** + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-secret-scanning-alerts-for-an-organization + */ + "GET /orgs/{org}/secret-scanning/alerts": { + parameters: Endpoints["GET /orgs/{org}/secret-scanning/alerts"]["parameters"]; + response: Endpoints["GET /orgs/{org}/secret-scanning/alerts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/security-advisories/repository-advisories#list-repository-security-advisories-for-an-organization + */ + "GET /orgs/{org}/security-advisories": { + parameters: Endpoints["GET /orgs/{org}/security-advisories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/security-advisories"]["response"]; + }; + /** + * @see https://docs.github.com/rest/copilot/copilot-usage#get-a-summary-of-copilot-usage-for-a-team + */ + "GET /orgs/{org}/team/{team_slug}/copilot/usage": { + parameters: Endpoints["GET /orgs/{org}/team/{team_slug}/copilot/usage"]["parameters"]; + response: Endpoints["GET /orgs/{org}/team/{team_slug}/copilot/usage"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/teams#list-teams + */ + "GET /orgs/{org}/teams": { + parameters: Endpoints["GET /orgs/{org}/teams"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/discussions#list-discussions + */ + "GET /orgs/{org}/teams/{team_slug}/discussions": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/members#list-pending-team-invitations + */ + "GET /orgs/{org}/teams/{team_slug}/invitations": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/invitations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/invitations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/members#list-team-members + */ + "GET /orgs/{org}/teams/{team_slug}/members": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/members"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/members"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/teams#list-team-projects + */ + "GET /orgs/{org}/teams/{team_slug}/projects": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/projects"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/projects"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/teams#list-team-repositories + */ + "GET /orgs/{org}/teams/{team_slug}/repos": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/repos"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/repos"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/teams#list-child-teams + */ + "GET /orgs/{org}/teams/{team_slug}/teams": { + parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/teams"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/teams"]["response"]; + }; + /** + * @see https://docs.github.com/rest/projects/cards#list-project-cards + */ + "GET /projects/columns/{column_id}/cards": { + parameters: Endpoints["GET /projects/columns/{column_id}/cards"]["parameters"]; + response: Endpoints["GET /projects/columns/{column_id}/cards"]["response"]; + }; + /** + * @see https://docs.github.com/rest/projects/collaborators#list-project-collaborators + */ + "GET /projects/{project_id}/collaborators": { + parameters: Endpoints["GET /projects/{project_id}/collaborators"]["parameters"]; + response: Endpoints["GET /projects/{project_id}/collaborators"]["response"]; + }; + /** + * @see https://docs.github.com/rest/projects/columns#list-project-columns + */ + "GET /projects/{project_id}/columns": { + parameters: Endpoints["GET /projects/{project_id}/columns"]["parameters"]; + response: Endpoints["GET /projects/{project_id}/columns"]["response"]; + }; + /** + * @see https://docs.github.com/rest/actions/artifacts#list-artifacts-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/artifacts": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts"]["response"]["data"]["artifacts"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/cache#list-github-actions-caches-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/caches": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/caches"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/caches"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/caches"]["response"]["data"]["actions_caches"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/secrets#list-repository-organization-secrets + */ + "GET /repos/{owner}/{repo}/actions/organization-secrets": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/organization-secrets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/organization-secrets"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/organization-secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/variables#list-repository-organization-variables + */ + "GET /repos/{owner}/{repo}/actions/organization-variables": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/organization-variables"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/organization-variables"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/organization-variables"]["response"]["data"]["variables"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-self-hosted-runners-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runners"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runners"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/runners"]["response"]["data"]["runners"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#list-workflow-runs-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runs": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/runs"]["response"]["data"]["workflow_runs"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/artifacts#list-workflow-run-artifacts + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"]["response"]["data"]["artifacts"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/workflow-jobs#list-jobs-for-a-workflow-run-attempt + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"]["response"]["data"]["jobs"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/workflow-jobs#list-jobs-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"]["response"]["data"]["jobs"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/secrets#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/actions/secrets": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/secrets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/secrets"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/variables#list-repository-variables + */ + "GET /repos/{owner}/{repo}/actions/variables": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/variables"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/variables"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/variables"]["response"]["data"]["variables"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/workflows#list-repository-workflows + */ + "GET /repos/{owner}/{repo}/actions/workflows": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/workflows"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/workflows"]["response"]["data"]["workflows"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#list-workflow-runs-for-a-workflow + */ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": { + parameters: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"]["response"]["data"]["workflow_runs"]; + }; + }; + /** + * @see https://docs.github.com/rest/repos/repos#list-repository-activities + */ + "GET /repos/{owner}/{repo}/activity": { + parameters: Endpoints["GET /repos/{owner}/{repo}/activity"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/activity"]["response"]; + }; + /** + * @see https://docs.github.com/rest/issues/assignees#list-assignees + */ + "GET /repos/{owner}/{repo}/assignees": { + parameters: Endpoints["GET /repos/{owner}/{repo}/assignees"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/assignees"]["response"]; + }; + /** + * @see https://docs.github.com/rest/branches/branches#list-branches + */ + "GET /repos/{owner}/{repo}/branches": { + parameters: Endpoints["GET /repos/{owner}/{repo}/branches"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches"]["response"]; + }; + /** + * @see https://docs.github.com/rest/checks/runs#list-check-run-annotations + */ + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": { + parameters: Endpoints["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/checks/runs#list-check-runs-in-a-check-suite + */ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": { + parameters: Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"]["response"]["data"]["check_runs"]; + }; + }; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-alerts-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts": { + parameters: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#list-instances-of-a-code-scanning-alert + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": { + parameters: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"]["response"]; + }; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#list-code-scanning-analyses-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/analyses": { + parameters: Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses"]["response"]; + }; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#list-codespaces-in-a-repository-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/codespaces": { + parameters: Endpoints["GET /repos/{owner}/{repo}/codespaces"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/codespaces"]["response"]["data"]["codespaces"]; + }; + }; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#list-devcontainer-configurations-in-a-repository-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/codespaces/devcontainers": { + parameters: Endpoints["GET /repos/{owner}/{repo}/codespaces/devcontainers"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces/devcontainers"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/codespaces/devcontainers"]["response"]["data"]["devcontainers"]; + }; + }; + /** + * @see https://docs.github.com/rest/codespaces/repository-secrets#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/codespaces/secrets": { + parameters: Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/collaborators/collaborators#list-repository-collaborators + */ + "GET /repos/{owner}/{repo}/collaborators": { + parameters: Endpoints["GET /repos/{owner}/{repo}/collaborators"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/collaborators"]["response"]; + }; + /** + * @see https://docs.github.com/rest/commits/comments#list-commit-comments-for-a-repository + */ + "GET /repos/{owner}/{repo}/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-commit-comment + */ + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions": { + parameters: Endpoints["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/commits/commits#list-commits + */ + "GET /repos/{owner}/{repo}/commits": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits"]["response"]; + }; + /** + * @see https://docs.github.com/rest/commits/comments#list-commit-comments + */ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/commits/commits#list-pull-requests-associated-with-a-commit + */ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"]["response"]; + }; + /** + * @see https://docs.github.com/rest/checks/runs#list-check-runs-for-a-git-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/check-runs": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"]["response"]["data"]["check_runs"]; + }; + }; + /** + * @see https://docs.github.com/rest/checks/suites#list-check-suites-for-a-git-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/check-suites": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"]["response"]["data"]["check_suites"]; + }; + }; + /** + * @see https://docs.github.com/rest/commits/statuses#get-the-combined-status-for-a-specific-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/status": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/status"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/status"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/status"]["response"]["data"]["statuses"]; + }; + }; + /** + * @see https://docs.github.com/rest/commits/statuses#list-commit-statuses-for-a-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/statuses": { + parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/statuses"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/statuses"]["response"]; + }; + /** + * @see https://docs.github.com/rest/repos/repos#list-repository-contributors + */ + "GET /repos/{owner}/{repo}/contributors": { + parameters: Endpoints["GET /repos/{owner}/{repo}/contributors"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/contributors"]["response"]; + }; + /** + * @see https://docs.github.com/rest/dependabot/alerts#list-dependabot-alerts-for-a-repository + */ + "GET /repos/{owner}/{repo}/dependabot/alerts": { + parameters: Endpoints["GET /repos/{owner}/{repo}/dependabot/alerts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/dependabot/alerts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/dependabot/secrets#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/dependabot/secrets": { + parameters: Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/deployments/deployments#list-deployments + */ + "GET /repos/{owner}/{repo}/deployments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/deployments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/deployments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/deployments/statuses#list-deployment-statuses + */ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses": { + parameters: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"]["response"]; + }; + /** + * @see https://docs.github.com/rest/deployments/environments#list-environments + */ + "GET /repos/{owner}/{repo}/environments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/environments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/environments"]["response"]["data"]["environments"]; + }; + }; + /** + * @see https://docs.github.com/rest/deployments/branch-policies#list-deployment-branch-policies + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies": { + parameters: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"]["response"]["data"]["branch_policies"]; + }; + }; + /** + * @see https://docs.github.com/rest/deployments/protection-rules#list-custom-deployment-rule-integrations-available-for-an-environment + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps": { + parameters: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"]["response"]["data"]["available_custom_deployment_protection_rule_integrations"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/secrets#list-environment-secrets + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets": { + parameters: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/actions/variables#list-environment-variables + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/variables": { + parameters: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/variables"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/variables"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/variables"]["response"]["data"]["variables"]; + }; + }; + /** + * @see https://docs.github.com/rest/activity/events#list-repository-events + */ + "GET /repos/{owner}/{repo}/events": { + parameters: Endpoints["GET /repos/{owner}/{repo}/events"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/repos/forks#list-forks + */ + "GET /repos/{owner}/{repo}/forks": { + parameters: Endpoints["GET /repos/{owner}/{repo}/forks"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/forks"]["response"]; + }; + /** + * @see https://docs.github.com/rest/repos/webhooks#list-repository-webhooks + */ + "GET /repos/{owner}/{repo}/hooks": { + parameters: Endpoints["GET /repos/{owner}/{repo}/hooks"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/hooks"]["response"]; + }; + /** + * @see https://docs.github.com/rest/repos/webhooks#list-deliveries-for-a-repository-webhook + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries": { + parameters: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"]["response"]; + }; + /** + * @see https://docs.github.com/rest/collaborators/invitations#list-repository-invitations + */ + "GET /repos/{owner}/{repo}/invitations": { + parameters: Endpoints["GET /repos/{owner}/{repo}/invitations"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/invitations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/issues/issues#list-repository-issues + */ + "GET /repos/{owner}/{repo}/issues": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues"]["response"]; + }; + /** + * @see https://docs.github.com/rest/issues/comments#list-issue-comments-for-a-repository + */ + "GET /repos/{owner}/{repo}/issues/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-an-issue-comment + */ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/issues/events#list-issue-events-for-a-repository + */ + "GET /repos/{owner}/{repo}/issues/events": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/events"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/issues/comments#list-issue-comments + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/issues/events#list-issue-events + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/events": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/events"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/issues/labels#list-labels-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/issues/timeline#list-timeline-events-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline": { + parameters: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"]["response"]; + }; + /** + * @see https://docs.github.com/rest/deploy-keys/deploy-keys#list-deploy-keys + */ + "GET /repos/{owner}/{repo}/keys": { + parameters: Endpoints["GET /repos/{owner}/{repo}/keys"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/keys"]["response"]; + }; + /** + * @see https://docs.github.com/rest/issues/labels#list-labels-for-a-repository + */ + "GET /repos/{owner}/{repo}/labels": { + parameters: Endpoints["GET /repos/{owner}/{repo}/labels"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/labels"]["response"]; + }; + /** + * @see https://docs.github.com/rest/issues/milestones#list-milestones + */ + "GET /repos/{owner}/{repo}/milestones": { + parameters: Endpoints["GET /repos/{owner}/{repo}/milestones"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/milestones"]["response"]; + }; + /** + * @see https://docs.github.com/rest/issues/labels#list-labels-for-issues-in-a-milestone + */ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels": { + parameters: Endpoints["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/notifications": { + parameters: Endpoints["GET /repos/{owner}/{repo}/notifications"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/notifications"]["response"]; + }; + /** + * @see https://docs.github.com/rest/pages/pages#list-apiname-pages-builds + */ + "GET /repos/{owner}/{repo}/pages/builds": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pages/builds"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pages/builds"]["response"]; + }; + /** + * @see https://docs.github.com/rest/projects/projects#list-repository-projects + */ + "GET /repos/{owner}/{repo}/projects": { + parameters: Endpoints["GET /repos/{owner}/{repo}/projects"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/projects"]["response"]; + }; + /** + * @see https://docs.github.com/rest/pulls/pulls#list-pull-requests + */ + "GET /repos/{owner}/{repo}/pulls": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls"]["response"]; + }; + /** + * @see https://docs.github.com/rest/pulls/comments#list-review-comments-in-a-repository + */ + "GET /repos/{owner}/{repo}/pulls/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-pull-request-review-comment + */ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/pulls/comments#list-review-comments-on-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/pulls/pulls#list-commits-on-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"]["response"]; + }; + /** + * @see https://docs.github.com/rest/pulls/pulls#list-pull-requests-files + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/files": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"]["response"]; + }; + /** + * @see https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"]["response"]; + }; + /** + * @see https://docs.github.com/rest/pulls/reviews#list-comments-for-a-pull-request-review + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": { + parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/releases/releases#list-releases + */ + "GET /repos/{owner}/{repo}/releases": { + parameters: Endpoints["GET /repos/{owner}/{repo}/releases"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/releases"]["response"]; + }; + /** + * @see https://docs.github.com/rest/releases/assets#list-release-assets + */ + "GET /repos/{owner}/{repo}/releases/{release_id}/assets": { + parameters: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/assets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/assets"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-release + */ + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions": { + parameters: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/repos/rules#get-rules-for-a-branch + */ + "GET /repos/{owner}/{repo}/rules/branches/{branch}": { + parameters: Endpoints["GET /repos/{owner}/{repo}/rules/branches/{branch}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/rules/branches/{branch}"]["response"]; + }; + /** + * @see https://docs.github.com/rest/repos/rules#get-all-repository-rulesets + */ + "GET /repos/{owner}/{repo}/rulesets": { + parameters: Endpoints["GET /repos/{owner}/{repo}/rulesets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/rulesets"]["response"]; + }; + /** + * @see https://docs.github.com/rest/repos/rule-suites#list-repository-rule-suites + */ + "GET /repos/{owner}/{repo}/rulesets/rule-suites": { + parameters: Endpoints["GET /repos/{owner}/{repo}/rulesets/rule-suites"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/rulesets/rule-suites"]["response"]; + }; + /** + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-secret-scanning-alerts-for-a-repository + */ + "GET /repos/{owner}/{repo}/secret-scanning/alerts": { + parameters: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-locations-for-a-secret-scanning-alert + */ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": { + parameters: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/security-advisories/repository-advisories#list-repository-security-advisories + */ + "GET /repos/{owner}/{repo}/security-advisories": { + parameters: Endpoints["GET /repos/{owner}/{repo}/security-advisories"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/security-advisories"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/starring#list-stargazers + */ + "GET /repos/{owner}/{repo}/stargazers": { + parameters: Endpoints["GET /repos/{owner}/{repo}/stargazers"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/stargazers"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/watching#list-watchers + */ + "GET /repos/{owner}/{repo}/subscribers": { + parameters: Endpoints["GET /repos/{owner}/{repo}/subscribers"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/subscribers"]["response"]; + }; + /** + * @see https://docs.github.com/rest/repos/repos#list-repository-tags + */ + "GET /repos/{owner}/{repo}/tags": { + parameters: Endpoints["GET /repos/{owner}/{repo}/tags"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/tags"]["response"]; + }; + /** + * @see https://docs.github.com/rest/repos/repos#list-repository-teams + */ + "GET /repos/{owner}/{repo}/teams": { + parameters: Endpoints["GET /repos/{owner}/{repo}/teams"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/teams"]["response"]; + }; + /** + * @see https://docs.github.com/rest/repos/repos#get-all-repository-topics + */ + "GET /repos/{owner}/{repo}/topics": { + parameters: Endpoints["GET /repos/{owner}/{repo}/topics"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/topics"]["response"] & { + data: Endpoints["GET /repos/{owner}/{repo}/topics"]["response"]["data"]["names"]; + }; + }; + /** + * @see https://docs.github.com/rest/repos/repos#list-public-repositories + */ + "GET /repositories": { + parameters: Endpoints["GET /repositories"]["parameters"]; + response: Endpoints["GET /repositories"]["response"]; + }; + /** + * @see https://docs.github.com/rest/search/search#search-code + */ + "GET /search/code": { + parameters: Endpoints["GET /search/code"]["parameters"]; + response: Endpoints["GET /search/code"]["response"] & { + data: Endpoints["GET /search/code"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/search/search#search-commits + */ + "GET /search/commits": { + parameters: Endpoints["GET /search/commits"]["parameters"]; + response: Endpoints["GET /search/commits"]["response"] & { + data: Endpoints["GET /search/commits"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/search/search#search-issues-and-pull-requests + */ + "GET /search/issues": { + parameters: Endpoints["GET /search/issues"]["parameters"]; + response: Endpoints["GET /search/issues"]["response"] & { + data: Endpoints["GET /search/issues"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/search/search#search-labels + */ + "GET /search/labels": { + parameters: Endpoints["GET /search/labels"]["parameters"]; + response: Endpoints["GET /search/labels"]["response"] & { + data: Endpoints["GET /search/labels"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/search/search#search-repositories + */ + "GET /search/repositories": { + parameters: Endpoints["GET /search/repositories"]["parameters"]; + response: Endpoints["GET /search/repositories"]["response"] & { + data: Endpoints["GET /search/repositories"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/search/search#search-topics + */ + "GET /search/topics": { + parameters: Endpoints["GET /search/topics"]["parameters"]; + response: Endpoints["GET /search/topics"]["response"] & { + data: Endpoints["GET /search/topics"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/search/search#search-users + */ + "GET /search/users": { + parameters: Endpoints["GET /search/users"]["parameters"]; + response: Endpoints["GET /search/users"]["response"] & { + data: Endpoints["GET /search/users"]["response"]["data"]["items"]; + }; + }; + /** + * @see https://docs.github.com/rest/teams/discussions#list-discussions-legacy + */ + "GET /teams/{team_id}/discussions": { + parameters: Endpoints["GET /teams/{team_id}/discussions"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/discussions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/comments": { + parameters: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/comments"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/comments"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + parameters: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/reactions": { + parameters: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/reactions"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/reactions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/members#list-pending-team-invitations-legacy + */ + "GET /teams/{team_id}/invitations": { + parameters: Endpoints["GET /teams/{team_id}/invitations"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/invitations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/members#list-team-members-legacy + */ + "GET /teams/{team_id}/members": { + parameters: Endpoints["GET /teams/{team_id}/members"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/members"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/teams#list-team-projects-legacy + */ + "GET /teams/{team_id}/projects": { + parameters: Endpoints["GET /teams/{team_id}/projects"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/projects"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/teams#list-team-repositories-legacy + */ + "GET /teams/{team_id}/repos": { + parameters: Endpoints["GET /teams/{team_id}/repos"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/repos"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/teams#list-child-teams-legacy + */ + "GET /teams/{team_id}/teams": { + parameters: Endpoints["GET /teams/{team_id}/teams"]["parameters"]; + response: Endpoints["GET /teams/{team_id}/teams"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/blocking#list-users-blocked-by-the-authenticated-user + */ + "GET /user/blocks": { + parameters: Endpoints["GET /user/blocks"]["parameters"]; + response: Endpoints["GET /user/blocks"]["response"]; + }; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#list-codespaces-for-the-authenticated-user + */ + "GET /user/codespaces": { + parameters: Endpoints["GET /user/codespaces"]["parameters"]; + response: Endpoints["GET /user/codespaces"]["response"] & { + data: Endpoints["GET /user/codespaces"]["response"]["data"]["codespaces"]; + }; + }; + /** + * @see https://docs.github.com/rest/codespaces/secrets#list-secrets-for-the-authenticated-user + */ + "GET /user/codespaces/secrets": { + parameters: Endpoints["GET /user/codespaces/secrets"]["parameters"]; + response: Endpoints["GET /user/codespaces/secrets"]["response"] & { + data: Endpoints["GET /user/codespaces/secrets"]["response"]["data"]["secrets"]; + }; + }; + /** + * @see https://docs.github.com/rest/users/emails#list-email-addresses-for-the-authenticated-user + */ + "GET /user/emails": { + parameters: Endpoints["GET /user/emails"]["parameters"]; + response: Endpoints["GET /user/emails"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/followers#list-followers-of-the-authenticated-user + */ + "GET /user/followers": { + parameters: Endpoints["GET /user/followers"]["parameters"]; + response: Endpoints["GET /user/followers"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/followers#list-the-people-the-authenticated-user-follows + */ + "GET /user/following": { + parameters: Endpoints["GET /user/following"]["parameters"]; + response: Endpoints["GET /user/following"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/gpg-keys#list-gpg-keys-for-the-authenticated-user + */ + "GET /user/gpg_keys": { + parameters: Endpoints["GET /user/gpg_keys"]["parameters"]; + response: Endpoints["GET /user/gpg_keys"]["response"]; + }; + /** + * @see https://docs.github.com/rest/apps/installations#list-app-installations-accessible-to-the-user-access-token + */ + "GET /user/installations": { + parameters: Endpoints["GET /user/installations"]["parameters"]; + response: Endpoints["GET /user/installations"]["response"] & { + data: Endpoints["GET /user/installations"]["response"]["data"]["installations"]; + }; + }; + /** + * @see https://docs.github.com/rest/apps/installations#list-repositories-accessible-to-the-user-access-token + */ + "GET /user/installations/{installation_id}/repositories": { + parameters: Endpoints["GET /user/installations/{installation_id}/repositories"]["parameters"]; + response: Endpoints["GET /user/installations/{installation_id}/repositories"]["response"] & { + data: Endpoints["GET /user/installations/{installation_id}/repositories"]["response"]["data"]["repositories"]; + }; + }; + /** + * @see https://docs.github.com/rest/issues/issues#list-user-account-issues-assigned-to-the-authenticated-user + */ + "GET /user/issues": { + parameters: Endpoints["GET /user/issues"]["parameters"]; + response: Endpoints["GET /user/issues"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/keys#list-public-ssh-keys-for-the-authenticated-user + */ + "GET /user/keys": { + parameters: Endpoints["GET /user/keys"]["parameters"]; + response: Endpoints["GET /user/keys"]["response"]; + }; + /** + * @see https://docs.github.com/rest/apps/marketplace#list-subscriptions-for-the-authenticated-user + */ + "GET /user/marketplace_purchases": { + parameters: Endpoints["GET /user/marketplace_purchases"]["parameters"]; + response: Endpoints["GET /user/marketplace_purchases"]["response"]; + }; + /** + * @see https://docs.github.com/rest/apps/marketplace#list-subscriptions-for-the-authenticated-user-stubbed + */ + "GET /user/marketplace_purchases/stubbed": { + parameters: Endpoints["GET /user/marketplace_purchases/stubbed"]["parameters"]; + response: Endpoints["GET /user/marketplace_purchases/stubbed"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/members#list-organization-memberships-for-the-authenticated-user + */ + "GET /user/memberships/orgs": { + parameters: Endpoints["GET /user/memberships/orgs"]["parameters"]; + response: Endpoints["GET /user/memberships/orgs"]["response"]; + }; + /** + * @see https://docs.github.com/rest/migrations/users#list-user-migrations + */ + "GET /user/migrations": { + parameters: Endpoints["GET /user/migrations"]["parameters"]; + response: Endpoints["GET /user/migrations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/migrations/users#list-repositories-for-a-user-migration + */ + "GET /user/migrations/{migration_id}/repositories": { + parameters: Endpoints["GET /user/migrations/{migration_id}/repositories"]["parameters"]; + response: Endpoints["GET /user/migrations/{migration_id}/repositories"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user + */ + "GET /user/orgs": { + parameters: Endpoints["GET /user/orgs"]["parameters"]; + response: Endpoints["GET /user/orgs"]["response"]; + }; + /** + * @see https://docs.github.com/rest/packages/packages#list-packages-for-the-authenticated-users-namespace + */ + "GET /user/packages": { + parameters: Endpoints["GET /user/packages"]["parameters"]; + response: Endpoints["GET /user/packages"]["response"]; + }; + /** + * @see https://docs.github.com/rest/packages/packages#list-package-versions-for-a-package-owned-by-the-authenticated-user + */ + "GET /user/packages/{package_type}/{package_name}/versions": { + parameters: Endpoints["GET /user/packages/{package_type}/{package_name}/versions"]["parameters"]; + response: Endpoints["GET /user/packages/{package_type}/{package_name}/versions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/emails#list-public-email-addresses-for-the-authenticated-user + */ + "GET /user/public_emails": { + parameters: Endpoints["GET /user/public_emails"]["parameters"]; + response: Endpoints["GET /user/public_emails"]["response"]; + }; + /** + * @see https://docs.github.com/rest/repos/repos#list-repositories-for-the-authenticated-user + */ + "GET /user/repos": { + parameters: Endpoints["GET /user/repos"]["parameters"]; + response: Endpoints["GET /user/repos"]["response"]; + }; + /** + * @see https://docs.github.com/rest/collaborators/invitations#list-repository-invitations-for-the-authenticated-user + */ + "GET /user/repository_invitations": { + parameters: Endpoints["GET /user/repository_invitations"]["parameters"]; + response: Endpoints["GET /user/repository_invitations"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/social-accounts#list-social-accounts-for-the-authenticated-user + */ + "GET /user/social_accounts": { + parameters: Endpoints["GET /user/social_accounts"]["parameters"]; + response: Endpoints["GET /user/social_accounts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/ssh-signing-keys#list-ssh-signing-keys-for-the-authenticated-user + */ + "GET /user/ssh_signing_keys": { + parameters: Endpoints["GET /user/ssh_signing_keys"]["parameters"]; + response: Endpoints["GET /user/ssh_signing_keys"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/starring#list-repositories-starred-by-the-authenticated-user + */ + "GET /user/starred": { + parameters: Endpoints["GET /user/starred"]["parameters"]; + response: Endpoints["GET /user/starred"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/watching#list-repositories-watched-by-the-authenticated-user + */ + "GET /user/subscriptions": { + parameters: Endpoints["GET /user/subscriptions"]["parameters"]; + response: Endpoints["GET /user/subscriptions"]["response"]; + }; + /** + * @see https://docs.github.com/rest/teams/teams#list-teams-for-the-authenticated-user + */ + "GET /user/teams": { + parameters: Endpoints["GET /user/teams"]["parameters"]; + response: Endpoints["GET /user/teams"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/users#list-users + */ + "GET /users": { + parameters: Endpoints["GET /users"]["parameters"]; + response: Endpoints["GET /users"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/events#list-events-for-the-authenticated-user + */ + "GET /users/{username}/events": { + parameters: Endpoints["GET /users/{username}/events"]["parameters"]; + response: Endpoints["GET /users/{username}/events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/events#list-organization-events-for-the-authenticated-user + */ + "GET /users/{username}/events/orgs/{org}": { + parameters: Endpoints["GET /users/{username}/events/orgs/{org}"]["parameters"]; + response: Endpoints["GET /users/{username}/events/orgs/{org}"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/events#list-public-events-for-a-user + */ + "GET /users/{username}/events/public": { + parameters: Endpoints["GET /users/{username}/events/public"]["parameters"]; + response: Endpoints["GET /users/{username}/events/public"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/followers#list-followers-of-a-user + */ + "GET /users/{username}/followers": { + parameters: Endpoints["GET /users/{username}/followers"]["parameters"]; + response: Endpoints["GET /users/{username}/followers"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/followers#list-the-people-a-user-follows + */ + "GET /users/{username}/following": { + parameters: Endpoints["GET /users/{username}/following"]["parameters"]; + response: Endpoints["GET /users/{username}/following"]["response"]; + }; + /** + * @see https://docs.github.com/rest/gists/gists#list-gists-for-a-user + */ + "GET /users/{username}/gists": { + parameters: Endpoints["GET /users/{username}/gists"]["parameters"]; + response: Endpoints["GET /users/{username}/gists"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/gpg-keys#list-gpg-keys-for-a-user + */ + "GET /users/{username}/gpg_keys": { + parameters: Endpoints["GET /users/{username}/gpg_keys"]["parameters"]; + response: Endpoints["GET /users/{username}/gpg_keys"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/keys#list-public-keys-for-a-user + */ + "GET /users/{username}/keys": { + parameters: Endpoints["GET /users/{username}/keys"]["parameters"]; + response: Endpoints["GET /users/{username}/keys"]["response"]; + }; + /** + * @see https://docs.github.com/rest/orgs/orgs#list-organizations-for-a-user + */ + "GET /users/{username}/orgs": { + parameters: Endpoints["GET /users/{username}/orgs"]["parameters"]; + response: Endpoints["GET /users/{username}/orgs"]["response"]; + }; + /** + * @see https://docs.github.com/rest/packages/packages#list-packages-for-a-user + */ + "GET /users/{username}/packages": { + parameters: Endpoints["GET /users/{username}/packages"]["parameters"]; + response: Endpoints["GET /users/{username}/packages"]["response"]; + }; + /** + * @see https://docs.github.com/rest/projects/projects#list-user-projects + */ + "GET /users/{username}/projects": { + parameters: Endpoints["GET /users/{username}/projects"]["parameters"]; + response: Endpoints["GET /users/{username}/projects"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/events#list-events-received-by-the-authenticated-user + */ + "GET /users/{username}/received_events": { + parameters: Endpoints["GET /users/{username}/received_events"]["parameters"]; + response: Endpoints["GET /users/{username}/received_events"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/events#list-public-events-received-by-a-user + */ + "GET /users/{username}/received_events/public": { + parameters: Endpoints["GET /users/{username}/received_events/public"]["parameters"]; + response: Endpoints["GET /users/{username}/received_events/public"]["response"]; + }; + /** + * @see https://docs.github.com/rest/repos/repos#list-repositories-for-a-user + */ + "GET /users/{username}/repos": { + parameters: Endpoints["GET /users/{username}/repos"]["parameters"]; + response: Endpoints["GET /users/{username}/repos"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/social-accounts#list-social-accounts-for-a-user + */ + "GET /users/{username}/social_accounts": { + parameters: Endpoints["GET /users/{username}/social_accounts"]["parameters"]; + response: Endpoints["GET /users/{username}/social_accounts"]["response"]; + }; + /** + * @see https://docs.github.com/rest/users/ssh-signing-keys#list-ssh-signing-keys-for-a-user + */ + "GET /users/{username}/ssh_signing_keys": { + parameters: Endpoints["GET /users/{username}/ssh_signing_keys"]["parameters"]; + response: Endpoints["GET /users/{username}/ssh_signing_keys"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/starring#list-repositories-starred-by-a-user + */ + "GET /users/{username}/starred": { + parameters: Endpoints["GET /users/{username}/starred"]["parameters"]; + response: Endpoints["GET /users/{username}/starred"]["response"]; + }; + /** + * @see https://docs.github.com/rest/activity/watching#list-repositories-watched-by-a-user + */ + "GET /users/{username}/subscriptions": { + parameters: Endpoints["GET /users/{username}/subscriptions"]["parameters"]; + response: Endpoints["GET /users/{username}/subscriptions"]["response"]; + }; +} +export declare const paginatingEndpoints: (keyof PaginatingEndpoints)[]; diff --git a/dist/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts b/dist/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts new file mode 100644 index 00000000..4a5c6a71 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts @@ -0,0 +1,15 @@ +import type { Octokit } from "@octokit/core"; +import type { PaginateInterface } from "./types.js"; +export type { PaginateInterface, PaginatingEndpoints } from "./types.js"; +export { composePaginateRest } from "./compose-paginate.js"; +export { isPaginatingEndpoint, paginatingEndpoints, } from "./paginating-endpoints.js"; +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ +export declare function paginateRest(octokit: Octokit): { + paginate: PaginateInterface; +}; +export declare namespace paginateRest { + var VERSION: string; +} diff --git a/dist/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts b/dist/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts new file mode 100644 index 00000000..70f2fbfa --- /dev/null +++ b/dist/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts @@ -0,0 +1,20 @@ +import type { Octokit } from "@octokit/core"; +import type { RequestInterface, RequestParameters, Route } from "./types.js"; +export declare function iterator(octokit: Octokit, route: Route | RequestInterface, parameters?: RequestParameters): { + [Symbol.asyncIterator]: () => { + next(): Promise<{ + done: boolean; + value?: undefined; + } | { + value: import("@octokit/types/dist-types/OctokitResponse.js").OctokitResponse; + done?: undefined; + } | { + value: { + status: number; + headers: {}; + data: never[]; + }; + done?: undefined; + }>; + }; +}; diff --git a/dist/node_modules/@octokit/plugin-paginate-rest/dist-types/normalize-paginated-list-response.d.ts b/dist/node_modules/@octokit/plugin-paginate-rest/dist-types/normalize-paginated-list-response.d.ts new file mode 100644 index 00000000..4b15bf00 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-paginate-rest/dist-types/normalize-paginated-list-response.d.ts @@ -0,0 +1,18 @@ +/** + * Some “list” response that can be paginated have a different response structure + * + * They have a `total_count` key in the response (search also has `incomplete_results`, + * /installation/repositories also has `repository_selection`), as well as a key with + * the list of the items which name varies from endpoint to endpoint. + * + * Octokit normalizes these responses so that paginated results are always returned following + * the same structure. One challenge is that if the list response has only one page, no Link + * header is provided, so this header alone is not sufficient to check wether a response is + * paginated or not. + * + * We check if a "total_count" key is present in the response data, but also make sure that + * a "url" property is not, as the "Get the combined status for a specific ref" endpoint would + * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref + */ +import type { OctokitResponse } from "./types.js"; +export declare function normalizePaginatedListResponse(response: OctokitResponse): OctokitResponse; diff --git a/dist/node_modules/@octokit/plugin-paginate-rest/dist-types/paginate.d.ts b/dist/node_modules/@octokit/plugin-paginate-rest/dist-types/paginate.d.ts new file mode 100644 index 00000000..7ccd3dea --- /dev/null +++ b/dist/node_modules/@octokit/plugin-paginate-rest/dist-types/paginate.d.ts @@ -0,0 +1,3 @@ +import type { Octokit } from "@octokit/core"; +import type { MapFunction, PaginationResults, RequestParameters, Route, RequestInterface } from "./types"; +export declare function paginate(octokit: Octokit, route: Route | RequestInterface, parameters?: RequestParameters, mapFn?: MapFunction): Promise; diff --git a/dist/node_modules/@octokit/plugin-paginate-rest/dist-types/paginating-endpoints.d.ts b/dist/node_modules/@octokit/plugin-paginate-rest/dist-types/paginating-endpoints.d.ts new file mode 100644 index 00000000..22cd65d8 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-paginate-rest/dist-types/paginating-endpoints.d.ts @@ -0,0 +1,3 @@ +import { type PaginatingEndpoints } from "./generated/paginating-endpoints.js"; +export { paginatingEndpoints } from "./generated/paginating-endpoints.js"; +export declare function isPaginatingEndpoint(arg: unknown): arg is keyof PaginatingEndpoints; diff --git a/dist/node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts b/dist/node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts new file mode 100644 index 00000000..405a6bbc --- /dev/null +++ b/dist/node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts @@ -0,0 +1,242 @@ +import { Octokit } from "@octokit/core"; +import * as OctokitTypes from "@octokit/types"; +export type { EndpointOptions, RequestInterface, OctokitResponse, RequestParameters, Route, } from "@octokit/types"; +export type { PaginatingEndpoints } from "./generated/paginating-endpoints.js"; +import type { PaginatingEndpoints } from "./generated/paginating-endpoints.js"; +type KnownKeys = Extract<{ + [K in keyof T]: string extends K ? never : number extends K ? never : K; +} extends { + [_ in keyof T]: infer U; +} ? U : never, keyof T>; +type KeysMatching = { + [K in keyof T]: T[K] extends V ? K : never; +}[keyof T]; +type KnownKeysMatching = KeysMatching>, V>; +type GetResultsType = T extends { + data: any[]; +} ? T["data"] : T extends { + data: object; +} ? T["data"][KnownKeysMatching] : never; +type NormalizeResponse = T & { + data: GetResultsType; +}; +type DataType = "data" extends keyof T ? T["data"] : unknown; +export interface MapFunction>, M = unknown[]> { + (response: T, done: () => void): M; +} +export type PaginationResults = T[]; +export interface PaginateInterface { + /** + * Paginate a request using endpoint options and map each response to a custom array + * + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + * @param {function} mapFn Optional method to map each response to a custom array + */ + (options: OctokitTypes.EndpointOptions, mapFn: MapFunction>, M[]>): Promise>; + /** + * Paginate a request using endpoint options + * + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (options: OctokitTypes.EndpointOptions): Promise>; + /** + * Paginate a request using a known endpoint route string and map each response to a custom array + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {function} mapFn Optional method to map each response to a custom array + */ + (route: R, mapFn: MapFunction): Promise; + /** + * Paginate a request using a known endpoint route string and parameters, and map each response to a custom array + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} parameters URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + * @param {function} mapFn Optional method to map each response to a custom array + */ + (route: R, parameters: PaginatingEndpoints[R]["parameters"], mapFn: MapFunction): Promise; + /** + * Paginate a request using an known endpoint route string + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (route: R, parameters?: PaginatingEndpoints[R]["parameters"]): Promise>; + /** + * Paginate a request using an unknown endpoint route string + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (route: R, parameters?: R extends keyof PaginatingEndpoints ? PaginatingEndpoints[R]["parameters"] : OctokitTypes.RequestParameters): Promise; + /** + * Paginate a request using an endpoint method and a map function + * + * @param {string} request Request method (`octokit.request` or `@octokit/request`) + * @param {function} mapFn? Optional method to map each response to a custom array + */ + (request: R, mapFn: MapFunction>, M>): Promise; + /** + * Paginate a request using an endpoint method, parameters, and a map function + * + * @param {string} request Request method (`octokit.request` or `@octokit/request`) + * @param {object} parameters URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + * @param {function} mapFn? Optional method to map each response to a custom array + */ + (request: R, parameters: Parameters[0], mapFn: MapFunction>, M>): Promise; + /** + * Paginate a request using an endpoint method and parameters + * + * @param {string} request Request method (`octokit.request` or `@octokit/request`) + * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (request: R, parameters?: Parameters[0]): Promise>["data"]>; + iterator: { + /** + * Get an async iterator to paginate a request using endpoint options + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (options: OctokitTypes.EndpointOptions): AsyncIterableIterator>>; + /** + * Get an async iterator to paginate a request using a known endpoint route string and optional parameters + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (route: R, parameters?: PaginatingEndpoints[R]["parameters"]): AsyncIterableIterator>>; + /** + * Get an async iterator to paginate a request using an unknown endpoint route string and optional parameters + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (route: R, parameters?: R extends keyof PaginatingEndpoints ? PaginatingEndpoints[R]["parameters"] : OctokitTypes.RequestParameters): AsyncIterableIterator>>; + /** + * Get an async iterator to paginate a request using a request method and optional parameters + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * @param {string} request `@octokit/request` or `octokit.request` method + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (request: R, parameters?: Parameters[0]): AsyncIterableIterator>>; + }; +} +export interface ComposePaginateInterface { + /** + * Paginate a request using endpoint options and map each response to a custom array + * + * @param {object} octokit Octokit instance + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + * @param {function} mapFn Optional method to map each response to a custom array + */ + (octokit: Octokit, options: OctokitTypes.EndpointOptions, mapFn: MapFunction>, M[]>): Promise>; + /** + * Paginate a request using endpoint options + * + * @param {object} octokit Octokit instance + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (octokit: Octokit, options: OctokitTypes.EndpointOptions): Promise>; + /** + * Paginate a request using a known endpoint route string and map each response to a custom array + * + * @param {object} octokit Octokit instance + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {function} mapFn Optional method to map each response to a custom array + */ + (octokit: Octokit, route: R, mapFn: MapFunction): Promise; + /** + * Paginate a request using a known endpoint route string and parameters, and map each response to a custom array + * + * @param {object} octokit Octokit instance + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} parameters URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + * @param {function} mapFn Optional method to map each response to a custom array + */ + (octokit: Octokit, route: R, parameters: PaginatingEndpoints[R]["parameters"], mapFn: MapFunction): Promise; + /** + * Paginate a request using an known endpoint route string + * + * @param {object} octokit Octokit instance + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (octokit: Octokit, route: R, parameters?: PaginatingEndpoints[R]["parameters"]): Promise>; + /** + * Paginate a request using an unknown endpoint route string + * + * @param {object} octokit Octokit instance + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (octokit: Octokit, route: R, parameters?: R extends keyof PaginatingEndpoints ? PaginatingEndpoints[R]["parameters"] : OctokitTypes.RequestParameters): Promise; + /** + * Paginate a request using an endpoint method and a map function + * + * @param {object} octokit Octokit instance + * @param {string} request Request method (`octokit.request` or `@octokit/request`) + * @param {function} mapFn? Optional method to map each response to a custom array + */ + (octokit: Octokit, request: R, mapFn: MapFunction>, M>): Promise; + /** + * Paginate a request using an endpoint method, parameters, and a map function + * + * @param {object} octokit Octokit instance + * @param {string} request Request method (`octokit.request` or `@octokit/request`) + * @param {object} parameters URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + * @param {function} mapFn? Optional method to map each response to a custom array + */ + (octokit: Octokit, request: R, parameters: Parameters[0], mapFn: MapFunction>, M>): Promise; + /** + * Paginate a request using an endpoint method and parameters + * + * @param {object} octokit Octokit instance + * @param {string} request Request method (`octokit.request` or `@octokit/request`) + * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (octokit: Octokit, request: R, parameters?: Parameters[0]): Promise>["data"]>; + iterator: { + /** + * Get an async iterator to paginate a request using endpoint options + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * + * @param {object} octokit Octokit instance + * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (octokit: Octokit, options: OctokitTypes.EndpointOptions): AsyncIterableIterator>>; + /** + * Get an async iterator to paginate a request using a known endpoint route string and optional parameters + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * + * @param {object} octokit Octokit instance + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (octokit: Octokit, route: R, parameters?: PaginatingEndpoints[R]["parameters"]): AsyncIterableIterator>>; + /** + * Get an async iterator to paginate a request using an unknown endpoint route string and optional parameters + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * + * @param {object} octokit Octokit instance + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (octokit: Octokit, route: R, parameters?: R extends keyof PaginatingEndpoints ? PaginatingEndpoints[R]["parameters"] : OctokitTypes.RequestParameters): AsyncIterableIterator>>; + /** + * Get an async iterator to paginate a request using a request method and optional parameters + * + * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of + * + * @param {object} octokit Octokit instance + * @param {string} request `@octokit/request` or `octokit.request` method + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. + */ + (octokit: Octokit, request: R, parameters?: Parameters[0]): AsyncIterableIterator>>; + }; +} diff --git a/dist/node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts b/dist/node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts new file mode 100644 index 00000000..97296a82 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "11.3.1"; diff --git a/dist/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js b/dist/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js new file mode 100644 index 00000000..409593a3 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js @@ -0,0 +1,371 @@ +// pkg/dist-src/version.js +var VERSION = "11.3.1"; + +// pkg/dist-src/normalize-paginated-list-response.js +function normalizePaginatedListResponse(response) { + if (!response.data) { + return { + ...response, + data: [] + }; + } + const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data); + if (!responseNeedsNormalization) + return response; + const incompleteResults = response.data.incomplete_results; + const repositorySelection = response.data.repository_selection; + const totalCount = response.data.total_count; + delete response.data.incomplete_results; + delete response.data.repository_selection; + delete response.data.total_count; + const namespaceKey = Object.keys(response.data)[0]; + const data = response.data[namespaceKey]; + response.data = data; + if (typeof incompleteResults !== "undefined") { + response.data.incomplete_results = incompleteResults; + } + if (typeof repositorySelection !== "undefined") { + response.data.repository_selection = repositorySelection; + } + response.data.total_count = totalCount; + return response; +} + +// pkg/dist-src/iterator.js +function iterator(octokit, route, parameters) { + const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters); + const requestMethod = typeof route === "function" ? route : octokit.request; + const method = options.method; + const headers = options.headers; + let url = options.url; + return { + [Symbol.asyncIterator]: () => ({ + async next() { + if (!url) + return { done: true }; + try { + const response = await requestMethod({ method, url, headers }); + const normalizedResponse = normalizePaginatedListResponse(response); + url = ((normalizedResponse.headers.link || "").match( + /<([^>]+)>;\s*rel="next"/ + ) || [])[1]; + return { value: normalizedResponse }; + } catch (error) { + if (error.status !== 409) + throw error; + url = ""; + return { + value: { + status: 200, + headers: {}, + data: [] + } + }; + } + } + }) + }; +} + +// pkg/dist-src/paginate.js +function paginate(octokit, route, parameters, mapFn) { + if (typeof parameters === "function") { + mapFn = parameters; + parameters = void 0; + } + return gather( + octokit, + [], + iterator(octokit, route, parameters)[Symbol.asyncIterator](), + mapFn + ); +} +function gather(octokit, results, iterator2, mapFn) { + return iterator2.next().then((result) => { + if (result.done) { + return results; + } + let earlyExit = false; + function done() { + earlyExit = true; + } + results = results.concat( + mapFn ? mapFn(result.value, done) : result.value.data + ); + if (earlyExit) { + return results; + } + return gather(octokit, results, iterator2, mapFn); + }); +} + +// pkg/dist-src/compose-paginate.js +var composePaginateRest = Object.assign(paginate, { + iterator +}); + +// pkg/dist-src/generated/paginating-endpoints.js +var paginatingEndpoints = [ + "GET /advisories", + "GET /app/hook/deliveries", + "GET /app/installation-requests", + "GET /app/installations", + "GET /assignments/{assignment_id}/accepted_assignments", + "GET /classrooms", + "GET /classrooms/{classroom_id}/assignments", + "GET /enterprises/{enterprise}/copilot/usage", + "GET /enterprises/{enterprise}/dependabot/alerts", + "GET /enterprises/{enterprise}/secret-scanning/alerts", + "GET /events", + "GET /gists", + "GET /gists/public", + "GET /gists/starred", + "GET /gists/{gist_id}/comments", + "GET /gists/{gist_id}/commits", + "GET /gists/{gist_id}/forks", + "GET /installation/repositories", + "GET /issues", + "GET /licenses", + "GET /marketplace_listing/plans", + "GET /marketplace_listing/plans/{plan_id}/accounts", + "GET /marketplace_listing/stubbed/plans", + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", + "GET /networks/{owner}/{repo}/events", + "GET /notifications", + "GET /organizations", + "GET /orgs/{org}/actions/cache/usage-by-repository", + "GET /orgs/{org}/actions/permissions/repositories", + "GET /orgs/{org}/actions/runners", + "GET /orgs/{org}/actions/secrets", + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", + "GET /orgs/{org}/actions/variables", + "GET /orgs/{org}/actions/variables/{name}/repositories", + "GET /orgs/{org}/blocks", + "GET /orgs/{org}/code-scanning/alerts", + "GET /orgs/{org}/codespaces", + "GET /orgs/{org}/codespaces/secrets", + "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories", + "GET /orgs/{org}/copilot/billing/seats", + "GET /orgs/{org}/copilot/usage", + "GET /orgs/{org}/dependabot/alerts", + "GET /orgs/{org}/dependabot/secrets", + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories", + "GET /orgs/{org}/events", + "GET /orgs/{org}/failed_invitations", + "GET /orgs/{org}/hooks", + "GET /orgs/{org}/hooks/{hook_id}/deliveries", + "GET /orgs/{org}/installations", + "GET /orgs/{org}/invitations", + "GET /orgs/{org}/invitations/{invitation_id}/teams", + "GET /orgs/{org}/issues", + "GET /orgs/{org}/members", + "GET /orgs/{org}/members/{username}/codespaces", + "GET /orgs/{org}/migrations", + "GET /orgs/{org}/migrations/{migration_id}/repositories", + "GET /orgs/{org}/organization-roles/{role_id}/teams", + "GET /orgs/{org}/organization-roles/{role_id}/users", + "GET /orgs/{org}/outside_collaborators", + "GET /orgs/{org}/packages", + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + "GET /orgs/{org}/personal-access-token-requests", + "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories", + "GET /orgs/{org}/personal-access-tokens", + "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories", + "GET /orgs/{org}/projects", + "GET /orgs/{org}/properties/values", + "GET /orgs/{org}/public_members", + "GET /orgs/{org}/repos", + "GET /orgs/{org}/rulesets", + "GET /orgs/{org}/rulesets/rule-suites", + "GET /orgs/{org}/secret-scanning/alerts", + "GET /orgs/{org}/security-advisories", + "GET /orgs/{org}/team/{team_slug}/copilot/usage", + "GET /orgs/{org}/teams", + "GET /orgs/{org}/teams/{team_slug}/discussions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/invitations", + "GET /orgs/{org}/teams/{team_slug}/members", + "GET /orgs/{org}/teams/{team_slug}/projects", + "GET /orgs/{org}/teams/{team_slug}/repos", + "GET /orgs/{org}/teams/{team_slug}/teams", + "GET /projects/columns/{column_id}/cards", + "GET /projects/{project_id}/collaborators", + "GET /projects/{project_id}/columns", + "GET /repos/{owner}/{repo}/actions/artifacts", + "GET /repos/{owner}/{repo}/actions/caches", + "GET /repos/{owner}/{repo}/actions/organization-secrets", + "GET /repos/{owner}/{repo}/actions/organization-variables", + "GET /repos/{owner}/{repo}/actions/runners", + "GET /repos/{owner}/{repo}/actions/runs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", + "GET /repos/{owner}/{repo}/actions/secrets", + "GET /repos/{owner}/{repo}/actions/variables", + "GET /repos/{owner}/{repo}/actions/workflows", + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", + "GET /repos/{owner}/{repo}/activity", + "GET /repos/{owner}/{repo}/assignees", + "GET /repos/{owner}/{repo}/branches", + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", + "GET /repos/{owner}/{repo}/code-scanning/alerts", + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + "GET /repos/{owner}/{repo}/code-scanning/analyses", + "GET /repos/{owner}/{repo}/codespaces", + "GET /repos/{owner}/{repo}/codespaces/devcontainers", + "GET /repos/{owner}/{repo}/codespaces/secrets", + "GET /repos/{owner}/{repo}/collaborators", + "GET /repos/{owner}/{repo}/comments", + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/commits", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", + "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", + "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", + "GET /repos/{owner}/{repo}/commits/{ref}/status", + "GET /repos/{owner}/{repo}/commits/{ref}/statuses", + "GET /repos/{owner}/{repo}/contributors", + "GET /repos/{owner}/{repo}/dependabot/alerts", + "GET /repos/{owner}/{repo}/dependabot/secrets", + "GET /repos/{owner}/{repo}/deployments", + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", + "GET /repos/{owner}/{repo}/environments", + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies", + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps", + "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets", + "GET /repos/{owner}/{repo}/environments/{environment_name}/variables", + "GET /repos/{owner}/{repo}/events", + "GET /repos/{owner}/{repo}/forks", + "GET /repos/{owner}/{repo}/hooks", + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", + "GET /repos/{owner}/{repo}/invitations", + "GET /repos/{owner}/{repo}/issues", + "GET /repos/{owner}/{repo}/issues/comments", + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/issues/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", + "GET /repos/{owner}/{repo}/issues/{issue_number}/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", + "GET /repos/{owner}/{repo}/keys", + "GET /repos/{owner}/{repo}/labels", + "GET /repos/{owner}/{repo}/milestones", + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", + "GET /repos/{owner}/{repo}/notifications", + "GET /repos/{owner}/{repo}/pages/builds", + "GET /repos/{owner}/{repo}/projects", + "GET /repos/{owner}/{repo}/pulls", + "GET /repos/{owner}/{repo}/pulls/comments", + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", + "GET /repos/{owner}/{repo}/releases", + "GET /repos/{owner}/{repo}/releases/{release_id}/assets", + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions", + "GET /repos/{owner}/{repo}/rules/branches/{branch}", + "GET /repos/{owner}/{repo}/rulesets", + "GET /repos/{owner}/{repo}/rulesets/rule-suites", + "GET /repos/{owner}/{repo}/secret-scanning/alerts", + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", + "GET /repos/{owner}/{repo}/security-advisories", + "GET /repos/{owner}/{repo}/stargazers", + "GET /repos/{owner}/{repo}/subscribers", + "GET /repos/{owner}/{repo}/tags", + "GET /repos/{owner}/{repo}/teams", + "GET /repos/{owner}/{repo}/topics", + "GET /repositories", + "GET /search/code", + "GET /search/commits", + "GET /search/issues", + "GET /search/labels", + "GET /search/repositories", + "GET /search/topics", + "GET /search/users", + "GET /teams/{team_id}/discussions", + "GET /teams/{team_id}/discussions/{discussion_number}/comments", + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /teams/{team_id}/discussions/{discussion_number}/reactions", + "GET /teams/{team_id}/invitations", + "GET /teams/{team_id}/members", + "GET /teams/{team_id}/projects", + "GET /teams/{team_id}/repos", + "GET /teams/{team_id}/teams", + "GET /user/blocks", + "GET /user/codespaces", + "GET /user/codespaces/secrets", + "GET /user/emails", + "GET /user/followers", + "GET /user/following", + "GET /user/gpg_keys", + "GET /user/installations", + "GET /user/installations/{installation_id}/repositories", + "GET /user/issues", + "GET /user/keys", + "GET /user/marketplace_purchases", + "GET /user/marketplace_purchases/stubbed", + "GET /user/memberships/orgs", + "GET /user/migrations", + "GET /user/migrations/{migration_id}/repositories", + "GET /user/orgs", + "GET /user/packages", + "GET /user/packages/{package_type}/{package_name}/versions", + "GET /user/public_emails", + "GET /user/repos", + "GET /user/repository_invitations", + "GET /user/social_accounts", + "GET /user/ssh_signing_keys", + "GET /user/starred", + "GET /user/subscriptions", + "GET /user/teams", + "GET /users", + "GET /users/{username}/events", + "GET /users/{username}/events/orgs/{org}", + "GET /users/{username}/events/public", + "GET /users/{username}/followers", + "GET /users/{username}/following", + "GET /users/{username}/gists", + "GET /users/{username}/gpg_keys", + "GET /users/{username}/keys", + "GET /users/{username}/orgs", + "GET /users/{username}/packages", + "GET /users/{username}/projects", + "GET /users/{username}/received_events", + "GET /users/{username}/received_events/public", + "GET /users/{username}/repos", + "GET /users/{username}/social_accounts", + "GET /users/{username}/ssh_signing_keys", + "GET /users/{username}/starred", + "GET /users/{username}/subscriptions" +]; + +// pkg/dist-src/paginating-endpoints.js +function isPaginatingEndpoint(arg) { + if (typeof arg === "string") { + return paginatingEndpoints.includes(arg); + } else { + return false; + } +} + +// pkg/dist-src/index.js +function paginateRest(octokit) { + return { + paginate: Object.assign(paginate.bind(null, octokit), { + iterator: iterator.bind(null, octokit) + }) + }; +} +paginateRest.VERSION = VERSION; +export { + composePaginateRest, + isPaginatingEndpoint, + paginateRest, + paginatingEndpoints +}; diff --git a/dist/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map b/dist/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map new file mode 100644 index 00000000..d5fc958f --- /dev/null +++ b/dist/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/version.js", "../dist-src/normalize-paginated-list-response.js", "../dist-src/iterator.js", "../dist-src/paginate.js", "../dist-src/compose-paginate.js", "../dist-src/generated/paginating-endpoints.js", "../dist-src/paginating-endpoints.js", "../dist-src/index.js"], + "sourcesContent": ["const VERSION = \"11.3.1\";\nexport {\n VERSION\n};\n", "function normalizePaginatedListResponse(response) {\n if (!response.data) {\n return {\n ...response,\n data: []\n };\n }\n const responseNeedsNormalization = \"total_count\" in response.data && !(\"url\" in response.data);\n if (!responseNeedsNormalization)\n return response;\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\n const namespaceKey = Object.keys(response.data)[0];\n const data = response.data[namespaceKey];\n response.data = data;\n if (typeof incompleteResults !== \"undefined\") {\n response.data.incomplete_results = incompleteResults;\n }\n if (typeof repositorySelection !== \"undefined\") {\n response.data.repository_selection = repositorySelection;\n }\n response.data.total_count = totalCount;\n return response;\n}\nexport {\n normalizePaginatedListResponse\n};\n", "import { normalizePaginatedListResponse } from \"./normalize-paginated-list-response.js\";\nfunction iterator(octokit, route, parameters) {\n const options = typeof route === \"function\" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);\n const requestMethod = typeof route === \"function\" ? route : octokit.request;\n const method = options.method;\n const headers = options.headers;\n let url = options.url;\n return {\n [Symbol.asyncIterator]: () => ({\n async next() {\n if (!url)\n return { done: true };\n try {\n const response = await requestMethod({ method, url, headers });\n const normalizedResponse = normalizePaginatedListResponse(response);\n url = ((normalizedResponse.headers.link || \"\").match(\n /<([^>]+)>;\\s*rel=\"next\"/\n ) || [])[1];\n return { value: normalizedResponse };\n } catch (error) {\n if (error.status !== 409)\n throw error;\n url = \"\";\n return {\n value: {\n status: 200,\n headers: {},\n data: []\n }\n };\n }\n }\n })\n };\n}\nexport {\n iterator\n};\n", "import { iterator } from \"./iterator.js\";\nfunction paginate(octokit, route, parameters, mapFn) {\n if (typeof parameters === \"function\") {\n mapFn = parameters;\n parameters = void 0;\n }\n return gather(\n octokit,\n [],\n iterator(octokit, route, parameters)[Symbol.asyncIterator](),\n mapFn\n );\n}\nfunction gather(octokit, results, iterator2, mapFn) {\n return iterator2.next().then((result) => {\n if (result.done) {\n return results;\n }\n let earlyExit = false;\n function done() {\n earlyExit = true;\n }\n results = results.concat(\n mapFn ? mapFn(result.value, done) : result.value.data\n );\n if (earlyExit) {\n return results;\n }\n return gather(octokit, results, iterator2, mapFn);\n });\n}\nexport {\n paginate\n};\n", "import { paginate } from \"./paginate.js\";\nimport { iterator } from \"./iterator.js\";\nconst composePaginateRest = Object.assign(paginate, {\n iterator\n});\nexport {\n composePaginateRest\n};\n", "const paginatingEndpoints = [\n \"GET /advisories\",\n \"GET /app/hook/deliveries\",\n \"GET /app/installation-requests\",\n \"GET /app/installations\",\n \"GET /assignments/{assignment_id}/accepted_assignments\",\n \"GET /classrooms\",\n \"GET /classrooms/{classroom_id}/assignments\",\n \"GET /enterprises/{enterprise}/copilot/usage\",\n \"GET /enterprises/{enterprise}/dependabot/alerts\",\n \"GET /enterprises/{enterprise}/secret-scanning/alerts\",\n \"GET /events\",\n \"GET /gists\",\n \"GET /gists/public\",\n \"GET /gists/starred\",\n \"GET /gists/{gist_id}/comments\",\n \"GET /gists/{gist_id}/commits\",\n \"GET /gists/{gist_id}/forks\",\n \"GET /installation/repositories\",\n \"GET /issues\",\n \"GET /licenses\",\n \"GET /marketplace_listing/plans\",\n \"GET /marketplace_listing/plans/{plan_id}/accounts\",\n \"GET /marketplace_listing/stubbed/plans\",\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\",\n \"GET /networks/{owner}/{repo}/events\",\n \"GET /notifications\",\n \"GET /organizations\",\n \"GET /orgs/{org}/actions/cache/usage-by-repository\",\n \"GET /orgs/{org}/actions/permissions/repositories\",\n \"GET /orgs/{org}/actions/runners\",\n \"GET /orgs/{org}/actions/secrets\",\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/actions/variables\",\n \"GET /orgs/{org}/actions/variables/{name}/repositories\",\n \"GET /orgs/{org}/blocks\",\n \"GET /orgs/{org}/code-scanning/alerts\",\n \"GET /orgs/{org}/codespaces\",\n \"GET /orgs/{org}/codespaces/secrets\",\n \"GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/copilot/billing/seats\",\n \"GET /orgs/{org}/copilot/usage\",\n \"GET /orgs/{org}/dependabot/alerts\",\n \"GET /orgs/{org}/dependabot/secrets\",\n \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\",\n \"GET /orgs/{org}/events\",\n \"GET /orgs/{org}/failed_invitations\",\n \"GET /orgs/{org}/hooks\",\n \"GET /orgs/{org}/hooks/{hook_id}/deliveries\",\n \"GET /orgs/{org}/installations\",\n \"GET /orgs/{org}/invitations\",\n \"GET /orgs/{org}/invitations/{invitation_id}/teams\",\n \"GET /orgs/{org}/issues\",\n \"GET /orgs/{org}/members\",\n \"GET /orgs/{org}/members/{username}/codespaces\",\n \"GET /orgs/{org}/migrations\",\n \"GET /orgs/{org}/migrations/{migration_id}/repositories\",\n \"GET /orgs/{org}/organization-roles/{role_id}/teams\",\n \"GET /orgs/{org}/organization-roles/{role_id}/users\",\n \"GET /orgs/{org}/outside_collaborators\",\n \"GET /orgs/{org}/packages\",\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n \"GET /orgs/{org}/personal-access-token-requests\",\n \"GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories\",\n \"GET /orgs/{org}/personal-access-tokens\",\n \"GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories\",\n \"GET /orgs/{org}/projects\",\n \"GET /orgs/{org}/properties/values\",\n \"GET /orgs/{org}/public_members\",\n \"GET /orgs/{org}/repos\",\n \"GET /orgs/{org}/rulesets\",\n \"GET /orgs/{org}/rulesets/rule-suites\",\n \"GET /orgs/{org}/secret-scanning/alerts\",\n \"GET /orgs/{org}/security-advisories\",\n \"GET /orgs/{org}/team/{team_slug}/copilot/usage\",\n \"GET /orgs/{org}/teams\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\",\n \"GET /orgs/{org}/teams/{team_slug}/invitations\",\n \"GET /orgs/{org}/teams/{team_slug}/members\",\n \"GET /orgs/{org}/teams/{team_slug}/projects\",\n \"GET /orgs/{org}/teams/{team_slug}/repos\",\n \"GET /orgs/{org}/teams/{team_slug}/teams\",\n \"GET /projects/columns/{column_id}/cards\",\n \"GET /projects/{project_id}/collaborators\",\n \"GET /projects/{project_id}/columns\",\n \"GET /repos/{owner}/{repo}/actions/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/caches\",\n \"GET /repos/{owner}/{repo}/actions/organization-secrets\",\n \"GET /repos/{owner}/{repo}/actions/organization-variables\",\n \"GET /repos/{owner}/{repo}/actions/runners\",\n \"GET /repos/{owner}/{repo}/actions/runs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\",\n \"GET /repos/{owner}/{repo}/actions/secrets\",\n \"GET /repos/{owner}/{repo}/actions/variables\",\n \"GET /repos/{owner}/{repo}/actions/workflows\",\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\",\n \"GET /repos/{owner}/{repo}/activity\",\n \"GET /repos/{owner}/{repo}/assignees\",\n \"GET /repos/{owner}/{repo}/branches\",\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\",\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n \"GET /repos/{owner}/{repo}/code-scanning/analyses\",\n \"GET /repos/{owner}/{repo}/codespaces\",\n \"GET /repos/{owner}/{repo}/codespaces/devcontainers\",\n \"GET /repos/{owner}/{repo}/codespaces/secrets\",\n \"GET /repos/{owner}/{repo}/collaborators\",\n \"GET /repos/{owner}/{repo}/comments\",\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/commits\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\",\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/status\",\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\",\n \"GET /repos/{owner}/{repo}/contributors\",\n \"GET /repos/{owner}/{repo}/dependabot/alerts\",\n \"GET /repos/{owner}/{repo}/dependabot/secrets\",\n \"GET /repos/{owner}/{repo}/deployments\",\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\",\n \"GET /repos/{owner}/{repo}/environments\",\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies\",\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps\",\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/secrets\",\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/variables\",\n \"GET /repos/{owner}/{repo}/events\",\n \"GET /repos/{owner}/{repo}/forks\",\n \"GET /repos/{owner}/{repo}/hooks\",\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\",\n \"GET /repos/{owner}/{repo}/invitations\",\n \"GET /repos/{owner}/{repo}/issues\",\n \"GET /repos/{owner}/{repo}/issues/comments\",\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/events\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\",\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\",\n \"GET /repos/{owner}/{repo}/keys\",\n \"GET /repos/{owner}/{repo}/labels\",\n \"GET /repos/{owner}/{repo}/milestones\",\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\",\n \"GET /repos/{owner}/{repo}/notifications\",\n \"GET /repos/{owner}/{repo}/pages/builds\",\n \"GET /repos/{owner}/{repo}/projects\",\n \"GET /repos/{owner}/{repo}/pulls\",\n \"GET /repos/{owner}/{repo}/pulls/comments\",\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\",\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\",\n \"GET /repos/{owner}/{repo}/releases\",\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\",\n \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\",\n \"GET /repos/{owner}/{repo}/rules/branches/{branch}\",\n \"GET /repos/{owner}/{repo}/rulesets\",\n \"GET /repos/{owner}/{repo}/rulesets/rule-suites\",\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts\",\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\",\n \"GET /repos/{owner}/{repo}/security-advisories\",\n \"GET /repos/{owner}/{repo}/stargazers\",\n \"GET /repos/{owner}/{repo}/subscribers\",\n \"GET /repos/{owner}/{repo}/tags\",\n \"GET /repos/{owner}/{repo}/teams\",\n \"GET /repos/{owner}/{repo}/topics\",\n \"GET /repositories\",\n \"GET /search/code\",\n \"GET /search/commits\",\n \"GET /search/issues\",\n \"GET /search/labels\",\n \"GET /search/repositories\",\n \"GET /search/topics\",\n \"GET /search/users\",\n \"GET /teams/{team_id}/discussions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions\",\n \"GET /teams/{team_id}/discussions/{discussion_number}/reactions\",\n \"GET /teams/{team_id}/invitations\",\n \"GET /teams/{team_id}/members\",\n \"GET /teams/{team_id}/projects\",\n \"GET /teams/{team_id}/repos\",\n \"GET /teams/{team_id}/teams\",\n \"GET /user/blocks\",\n \"GET /user/codespaces\",\n \"GET /user/codespaces/secrets\",\n \"GET /user/emails\",\n \"GET /user/followers\",\n \"GET /user/following\",\n \"GET /user/gpg_keys\",\n \"GET /user/installations\",\n \"GET /user/installations/{installation_id}/repositories\",\n \"GET /user/issues\",\n \"GET /user/keys\",\n \"GET /user/marketplace_purchases\",\n \"GET /user/marketplace_purchases/stubbed\",\n \"GET /user/memberships/orgs\",\n \"GET /user/migrations\",\n \"GET /user/migrations/{migration_id}/repositories\",\n \"GET /user/orgs\",\n \"GET /user/packages\",\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n \"GET /user/public_emails\",\n \"GET /user/repos\",\n \"GET /user/repository_invitations\",\n \"GET /user/social_accounts\",\n \"GET /user/ssh_signing_keys\",\n \"GET /user/starred\",\n \"GET /user/subscriptions\",\n \"GET /user/teams\",\n \"GET /users\",\n \"GET /users/{username}/events\",\n \"GET /users/{username}/events/orgs/{org}\",\n \"GET /users/{username}/events/public\",\n \"GET /users/{username}/followers\",\n \"GET /users/{username}/following\",\n \"GET /users/{username}/gists\",\n \"GET /users/{username}/gpg_keys\",\n \"GET /users/{username}/keys\",\n \"GET /users/{username}/orgs\",\n \"GET /users/{username}/packages\",\n \"GET /users/{username}/projects\",\n \"GET /users/{username}/received_events\",\n \"GET /users/{username}/received_events/public\",\n \"GET /users/{username}/repos\",\n \"GET /users/{username}/social_accounts\",\n \"GET /users/{username}/ssh_signing_keys\",\n \"GET /users/{username}/starred\",\n \"GET /users/{username}/subscriptions\"\n];\nexport {\n paginatingEndpoints\n};\n", "import {\n paginatingEndpoints\n} from \"./generated/paginating-endpoints.js\";\nimport { paginatingEndpoints as paginatingEndpoints2 } from \"./generated/paginating-endpoints.js\";\nfunction isPaginatingEndpoint(arg) {\n if (typeof arg === \"string\") {\n return paginatingEndpoints.includes(arg);\n } else {\n return false;\n }\n}\nexport {\n isPaginatingEndpoint,\n paginatingEndpoints2 as paginatingEndpoints\n};\n", "import { VERSION } from \"./version.js\";\nimport { paginate } from \"./paginate.js\";\nimport { iterator } from \"./iterator.js\";\nimport { composePaginateRest } from \"./compose-paginate.js\";\nimport {\n isPaginatingEndpoint,\n paginatingEndpoints\n} from \"./paginating-endpoints.js\";\nfunction paginateRest(octokit) {\n return {\n paginate: Object.assign(paginate.bind(null, octokit), {\n iterator: iterator.bind(null, octokit)\n })\n };\n}\npaginateRest.VERSION = VERSION;\nexport {\n composePaginateRest,\n isPaginatingEndpoint,\n paginateRest,\n paginatingEndpoints\n};\n"], + "mappings": "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CA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;AC1OA,SAAS,qBAAqB,KAAK;AACjC,MAAI,OAAO,QAAQ,UAAU;AAC3B,WAAO,oBAAoB,SAAS,GAAG;AAAA,EACzC,OAAO;AACL,WAAO;AAAA,EACT;AACF;;;ACFA,SAAS,aAAa,SAAS;AAC7B,SAAO;AAAA,IACL,UAAU,OAAO,OAAO,SAAS,KAAK,MAAM,OAAO,GAAG;AAAA,MACpD,UAAU,SAAS,KAAK,MAAM,OAAO;AAAA,IACvC,CAAC;AAAA,EACH;AACF;AACA,aAAa,UAAU;", + "names": [] +} diff --git a/dist/node_modules/@octokit/plugin-paginate-rest/package.json b/dist/node_modules/@octokit/plugin-paginate-rest/package.json new file mode 100644 index 00000000..1b1beb9b --- /dev/null +++ b/dist/node_modules/@octokit/plugin-paginate-rest/package.json @@ -0,0 +1,53 @@ +{ + "name": "@octokit/plugin-paginate-rest", + "publishConfig": { + "access": "public", + "provenance": true + }, + "version": "11.3.1", + "description": "Octokit plugin to paginate REST API endpoint responses", + "repository": "github:octokit/plugin-paginate-rest.js", + "keywords": [ + "github", + "api", + "sdk", + "toolkit" + ], + "license": "MIT", + "dependencies": { + "@octokit/types": "^13.5.0" + }, + "peerDependencies": { + "@octokit/core": "5" + }, + "devDependencies": { + "@octokit/core": "^5.1.0", + "@octokit/plugin-rest-endpoint-methods": "13.2.2", + "@octokit/tsconfig": "^2.0.0", + "@types/fetch-mock": "^7.3.1", + "@types/jest": "^29.0.0", + "@types/node": "^20.0.0", + "esbuild": "^0.20.0", + "fetch-mock": "^9.0.0", + "github-openapi-graphql-query": "^4.0.0", + "glob": "^10.2.5", + "jest": "^29.0.0", + "npm-run-all2": "^6.0.0", + "prettier": "3.2.5", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "ts-jest": "^29.0.0", + "typescript": "^5.0.0" + }, + "engines": { + "node": ">= 18" + }, + "files": [ + "dist-*/**", + "bin/**" + ], + "main": "dist-node/index.js", + "module": "dist-web/index.js", + "types": "dist-types/index.d.ts", + "source": "dist-src/index.js", + "sideEffects": false +} diff --git a/dist/node_modules/@octokit/plugin-request-log/LICENSE b/dist/node_modules/@octokit/plugin-request-log/LICENSE new file mode 100644 index 00000000..d7d59275 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-request-log/LICENSE @@ -0,0 +1,7 @@ +MIT License Copyright (c) 2020 Octokit contributors + +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 (including the next paragraph) 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. diff --git a/dist/node_modules/@octokit/plugin-request-log/README.md b/dist/node_modules/@octokit/plugin-request-log/README.md new file mode 100644 index 00000000..6d6ee8be --- /dev/null +++ b/dist/node_modules/@octokit/plugin-request-log/README.md @@ -0,0 +1,69 @@ +# plugin-request-log.js + +> Log all requests and request errors + +[![@latest](https://img.shields.io/npm/v/@octokit/plugin-request-log.svg)](https://www.npmjs.com/package/@octokit/plugin-request-log) +[![Build Status](https://github.com/octokit/plugin-request-log.js/workflows/Test/badge.svg)](https://github.com/octokit/plugin-request-log.js/actions?workflow=Test) + +## Usage + + + + + + +
+Browsers + + +Load `@octokit/plugin-request-log` and [`@octokit/core`](https://github.com/octokit/core.js) (or core-compatible module) directly from [esm.sh](https://esm.sh) + +```html + +``` + +
+Node + + +Install with `npm install @octokit/core @octokit/plugin-request-log`. Optionally replace `@octokit/core` with a core-compatible module + +```js +const { Octokit } = require("@octokit/core"); +const { requestLog } = require("@octokit/plugin-request-log"); +``` + +
+ +```js +const MyOctokit = Octokit.plugin(requestLog); +const octokit = new MyOctokit({ auth: "secret123" }); + +octokit.request("GET /"); +// logs "GET / - 200 in 123ms + +octokit.request("GET /oops"); +// logs "GET / - 404 in 123ms +``` + +In order to log all request options, the `log.debug` option needs to be set. We recommend the [console-log-level](https://github.com/watson/console-log-level) package for a configurable log level + +```js +const octokit = new MyOctokit({ + log: require("console-log-level")({ + auth: "secret123", + level: "info", + }), +}); +``` + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/dist/node_modules/@octokit/plugin-request-log/dist-node/index.js b/dist/node_modules/@octokit/plugin-request-log/dist-node/index.js new file mode 100644 index 00000000..921e6b54 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-request-log/dist-node/index.js @@ -0,0 +1,54 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + requestLog: () => requestLog +}); +module.exports = __toCommonJS(dist_src_exports); + +// pkg/dist-src/version.js +var VERSION = "4.0.1"; + +// pkg/dist-src/index.js +function requestLog(octokit) { + octokit.hook.wrap("request", (request, options) => { + octokit.log.debug("request", options); + const start = Date.now(); + const requestOptions = octokit.request.endpoint.parse(options); + const path = requestOptions.url.replace(options.baseUrl, ""); + return request(options).then((response) => { + octokit.log.info( + `${requestOptions.method} ${path} - ${response.status} in ${Date.now() - start}ms` + ); + return response; + }).catch((error) => { + octokit.log.info( + `${requestOptions.method} ${path} - ${error.status} in ${Date.now() - start}ms` + ); + throw error; + }); + }); +} +requestLog.VERSION = VERSION; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + requestLog +}); diff --git a/dist/node_modules/@octokit/plugin-request-log/dist-node/index.js.map b/dist/node_modules/@octokit/plugin-request-log/dist-node/index.js.map new file mode 100644 index 00000000..752c6bbb --- /dev/null +++ b/dist/node_modules/@octokit/plugin-request-log/dist-node/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/index.js", "../dist-src/version.js"], + "sourcesContent": ["import { VERSION } from \"./version\";\nfunction requestLog(octokit) {\n octokit.hook.wrap(\"request\", (request, options) => {\n octokit.log.debug(\"request\", options);\n const start = Date.now();\n const requestOptions = octokit.request.endpoint.parse(options);\n const path = requestOptions.url.replace(options.baseUrl, \"\");\n return request(options).then((response) => {\n octokit.log.info(\n `${requestOptions.method} ${path} - ${response.status} in ${Date.now() - start}ms`\n );\n return response;\n }).catch((error) => {\n octokit.log.info(\n `${requestOptions.method} ${path} - ${error.status} in ${Date.now() - start}ms`\n );\n throw error;\n });\n });\n}\nrequestLog.VERSION = VERSION;\nexport {\n requestLog\n};\n", "const VERSION = \"4.0.1\";\nexport {\n VERSION\n};\n"], + "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAM,UAAU;;;ADChB,SAAS,WAAW,SAAS;AAC3B,UAAQ,KAAK,KAAK,WAAW,CAAC,SAAS,YAAY;AACjD,YAAQ,IAAI,MAAM,WAAW,OAAO;AACpC,UAAM,QAAQ,KAAK,IAAI;AACvB,UAAM,iBAAiB,QAAQ,QAAQ,SAAS,MAAM,OAAO;AAC7D,UAAM,OAAO,eAAe,IAAI,QAAQ,QAAQ,SAAS,EAAE;AAC3D,WAAO,QAAQ,OAAO,EAAE,KAAK,CAAC,aAAa;AACzC,cAAQ,IAAI;AAAA,QACV,GAAG,eAAe,MAAM,IAAI,IAAI,MAAM,SAAS,MAAM,OAAO,KAAK,IAAI,IAAI,KAAK;AAAA,MAChF;AACA,aAAO;AAAA,IACT,CAAC,EAAE,MAAM,CAAC,UAAU;AAClB,cAAQ,IAAI;AAAA,QACV,GAAG,eAAe,MAAM,IAAI,IAAI,MAAM,MAAM,MAAM,OAAO,KAAK,IAAI,IAAI,KAAK;AAAA,MAC7E;AACA,YAAM;AAAA,IACR,CAAC;AAAA,EACH,CAAC;AACH;AACA,WAAW,UAAU;", + "names": [] +} diff --git a/dist/node_modules/@octokit/plugin-request-log/dist-src/index.js b/dist/node_modules/@octokit/plugin-request-log/dist-src/index.js new file mode 100644 index 00000000..e60b83ab --- /dev/null +++ b/dist/node_modules/@octokit/plugin-request-log/dist-src/index.js @@ -0,0 +1,24 @@ +import { VERSION } from "./version"; +function requestLog(octokit) { + octokit.hook.wrap("request", (request, options) => { + octokit.log.debug("request", options); + const start = Date.now(); + const requestOptions = octokit.request.endpoint.parse(options); + const path = requestOptions.url.replace(options.baseUrl, ""); + return request(options).then((response) => { + octokit.log.info( + `${requestOptions.method} ${path} - ${response.status} in ${Date.now() - start}ms` + ); + return response; + }).catch((error) => { + octokit.log.info( + `${requestOptions.method} ${path} - ${error.status} in ${Date.now() - start}ms` + ); + throw error; + }); + }); +} +requestLog.VERSION = VERSION; +export { + requestLog +}; diff --git a/dist/node_modules/@octokit/plugin-request-log/dist-src/version.js b/dist/node_modules/@octokit/plugin-request-log/dist-src/version.js new file mode 100644 index 00000000..05a4d7f0 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-request-log/dist-src/version.js @@ -0,0 +1,4 @@ +const VERSION = "4.0.1"; +export { + VERSION +}; diff --git a/dist/node_modules/@octokit/plugin-request-log/dist-types/index.d.ts b/dist/node_modules/@octokit/plugin-request-log/dist-types/index.d.ts new file mode 100644 index 00000000..dc62f632 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-request-log/dist-types/index.d.ts @@ -0,0 +1,9 @@ +import type { Octokit } from "@octokit/core"; +/** + * @param octokit Octokit instance + * @param options Options passed to Octokit constructor + */ +export declare function requestLog(octokit: Octokit): void; +export declare namespace requestLog { + var VERSION: string; +} diff --git a/dist/node_modules/@octokit/plugin-request-log/dist-types/version.d.ts b/dist/node_modules/@octokit/plugin-request-log/dist-types/version.d.ts new file mode 100644 index 00000000..7d7580cd --- /dev/null +++ b/dist/node_modules/@octokit/plugin-request-log/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "4.0.1"; diff --git a/dist/node_modules/@octokit/plugin-request-log/dist-web/index.js b/dist/node_modules/@octokit/plugin-request-log/dist-web/index.js new file mode 100644 index 00000000..a59b0aa6 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-request-log/dist-web/index.js @@ -0,0 +1,27 @@ +// pkg/dist-src/version.js +var VERSION = "4.0.1"; + +// pkg/dist-src/index.js +function requestLog(octokit) { + octokit.hook.wrap("request", (request, options) => { + octokit.log.debug("request", options); + const start = Date.now(); + const requestOptions = octokit.request.endpoint.parse(options); + const path = requestOptions.url.replace(options.baseUrl, ""); + return request(options).then((response) => { + octokit.log.info( + `${requestOptions.method} ${path} - ${response.status} in ${Date.now() - start}ms` + ); + return response; + }).catch((error) => { + octokit.log.info( + `${requestOptions.method} ${path} - ${error.status} in ${Date.now() - start}ms` + ); + throw error; + }); + }); +} +requestLog.VERSION = VERSION; +export { + requestLog +}; diff --git a/dist/node_modules/@octokit/plugin-request-log/dist-web/index.js.map b/dist/node_modules/@octokit/plugin-request-log/dist-web/index.js.map new file mode 100644 index 00000000..befef9ab --- /dev/null +++ b/dist/node_modules/@octokit/plugin-request-log/dist-web/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/version.js", "../dist-src/index.js"], + "sourcesContent": ["const VERSION = \"4.0.1\";\nexport {\n VERSION\n};\n", "import { VERSION } from \"./version\";\nfunction requestLog(octokit) {\n octokit.hook.wrap(\"request\", (request, options) => {\n octokit.log.debug(\"request\", options);\n const start = Date.now();\n const requestOptions = octokit.request.endpoint.parse(options);\n const path = requestOptions.url.replace(options.baseUrl, \"\");\n return request(options).then((response) => {\n octokit.log.info(\n `${requestOptions.method} ${path} - ${response.status} in ${Date.now() - start}ms`\n );\n return response;\n }).catch((error) => {\n octokit.log.info(\n `${requestOptions.method} ${path} - ${error.status} in ${Date.now() - start}ms`\n );\n throw error;\n });\n });\n}\nrequestLog.VERSION = VERSION;\nexport {\n requestLog\n};\n"], + "mappings": ";AAAA,IAAM,UAAU;;;ACChB,SAAS,WAAW,SAAS;AAC3B,UAAQ,KAAK,KAAK,WAAW,CAAC,SAAS,YAAY;AACjD,YAAQ,IAAI,MAAM,WAAW,OAAO;AACpC,UAAM,QAAQ,KAAK,IAAI;AACvB,UAAM,iBAAiB,QAAQ,QAAQ,SAAS,MAAM,OAAO;AAC7D,UAAM,OAAO,eAAe,IAAI,QAAQ,QAAQ,SAAS,EAAE;AAC3D,WAAO,QAAQ,OAAO,EAAE,KAAK,CAAC,aAAa;AACzC,cAAQ,IAAI;AAAA,QACV,GAAG,eAAe,MAAM,IAAI,IAAI,MAAM,SAAS,MAAM,OAAO,KAAK,IAAI,IAAI,KAAK;AAAA,MAChF;AACA,aAAO;AAAA,IACT,CAAC,EAAE,MAAM,CAAC,UAAU;AAClB,cAAQ,IAAI;AAAA,QACV,GAAG,eAAe,MAAM,IAAI,IAAI,MAAM,MAAM,MAAM,OAAO,KAAK,IAAI,IAAI,KAAK;AAAA,MAC7E;AACA,YAAM;AAAA,IACR,CAAC;AAAA,EACH,CAAC;AACH;AACA,WAAW,UAAU;", + "names": [] +} diff --git a/dist/node_modules/@octokit/plugin-request-log/package.json b/dist/node_modules/@octokit/plugin-request-log/package.json new file mode 100644 index 00000000..66c62a34 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-request-log/package.json @@ -0,0 +1,47 @@ +{ + "name": "@octokit/plugin-request-log", + "version": "4.0.1", + "description": "Log all requests and request errors", + "repository": "github:octokit/plugin-request-log.js", + "keywords": [ + "github", + "api", + "sdk", + "toolkit" + ], + "author": "Gregor Martynus (https://twitter.com/gr2m)", + "license": "MIT", + "peerDependencies": { + "@octokit/core": "5" + }, + "devDependencies": { + "@octokit/core": "^5.0.0", + "@octokit/tsconfig": "^2.0.0", + "@types/fetch-mock": "^7.3.2", + "@types/jest": "^29.0.0", + "@types/node": "^20.0.0", + "esbuild": "^0.20.0", + "fetch-mock": "npm:@gr2m/fetch-mock@9.11.0-pull-request-644.1", + "glob": "^10.2.7", + "jest": "^29.0.0", + "prettier": "3.2.5", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "ts-jest": "^29.0.0", + "typescript": "^5.0.0" + }, + "publishConfig": { + "access": "public" + }, + "engines": { + "node": ">= 18" + }, + "files": [ + "dist-*/**", + "bin/**" + ], + "main": "dist-node/index.js", + "browser": "dist-web/index.js", + "types": "dist-types/index.d.ts", + "module": "dist-src/index.js", + "sideEffects": false +} diff --git a/dist/node_modules/@octokit/plugin-rest-endpoint-methods/LICENSE b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/LICENSE new file mode 100644 index 00000000..57bee5f1 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/LICENSE @@ -0,0 +1,7 @@ +MIT License Copyright (c) 2019 Octokit contributors + +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 (including the next paragraph) 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. diff --git a/dist/node_modules/@octokit/plugin-rest-endpoint-methods/README.md b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/README.md new file mode 100644 index 00000000..ee4f952e --- /dev/null +++ b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/README.md @@ -0,0 +1,76 @@ +# plugin-rest-endpoint-methods.js + +> Octokit plugin adding one method for all of api.github.com REST API endpoints + +[![@latest](https://img.shields.io/npm/v/@octokit/plugin-rest-endpoint-methods.svg)](https://www.npmjs.com/package/@octokit/plugin-rest-endpoint-methods) +[![Build Status](https://github.com/octokit/plugin-rest-endpoint-methods.js/workflows/Test/badge.svg)](https://github.com/octokit/plugin-rest-endpoint-methods.js/actions?workflow=Test) + +## Usage + + + + + + +
+Browsers + + +Load `@octokit/plugin-rest-endpoint-methods` and [`@octokit/core`](https://github.com/octokit/core.js) (or core-compatible module) directly from [esm.sh](https://esm.sh) + +```html + +``` + +
+Node + + +Install with `npm install @octokit/core @octokit/plugin-rest-endpoint-methods`. Optionally replace `@octokit/core` with a compatible module + +```js +const { Octokit } = require("@octokit/core"); +const { + restEndpointMethods, +} = require("@octokit/plugin-rest-endpoint-methods"); +``` + +
+ +```js +const MyOctokit = Octokit.plugin(restEndpointMethods); +const octokit = new MyOctokit({ auth: "secret123" }); + +// https://developer.github.com/v3/users/#get-the-authenticated-user +octokit.rest.users.getAuthenticated(); +``` + +There is one method for each REST API endpoint documented at [https://developer.github.com/v3](https://developer.github.com/v3). All endpoint methods are documented in the [docs/](docs/) folder, e.g. [docs/users/getAuthenticated.md](docs/users/getAuthenticated.md) + +## TypeScript + +Parameter and response types for all endpoint methods exported as `{ RestEndpointMethodTypes }`. + +Example + +```ts +import { RestEndpointMethodTypes } from "@octokit/plugin-rest-endpoint-methods"; + +type UpdateLabelParameters = + RestEndpointMethodTypes["issues"]["updateLabel"]["parameters"]; +type UpdateLabelResponse = + RestEndpointMethodTypes["issues"]["updateLabel"]["response"]; +``` + +In order to get types beyond parameters and responses, check out [`@octokit/openapi-types`](https://github.com/octokit/openapi-types.ts/#readme), which is a direct transpilation from GitHub's official OpenAPI specification. + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js new file mode 100644 index 00000000..d84a48b1 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js @@ -0,0 +1,2115 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + legacyRestEndpointMethods: () => legacyRestEndpointMethods, + restEndpointMethods: () => restEndpointMethods +}); +module.exports = __toCommonJS(dist_src_exports); + +// pkg/dist-src/version.js +var VERSION = "13.2.2"; + +// pkg/dist-src/generated/endpoints.js +var Endpoints = { + actions: { + addCustomLabelsToSelfHostedRunnerForOrg: [ + "POST /orgs/{org}/actions/runners/{runner_id}/labels" + ], + addCustomLabelsToSelfHostedRunnerForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + addSelectedRepoToOrgSecret: [ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}" + ], + addSelectedRepoToOrgVariable: [ + "PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}" + ], + approveWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve" + ], + cancelWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel" + ], + createEnvironmentVariable: [ + "POST /repos/{owner}/{repo}/environments/{environment_name}/variables" + ], + createOrUpdateEnvironmentSecret: [ + "PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}" + ], + createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"], + createOrUpdateRepoSecret: [ + "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}" + ], + createOrgVariable: ["POST /orgs/{org}/actions/variables"], + createRegistrationTokenForOrg: [ + "POST /orgs/{org}/actions/runners/registration-token" + ], + createRegistrationTokenForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/registration-token" + ], + createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"], + createRemoveTokenForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/remove-token" + ], + createRepoVariable: ["POST /repos/{owner}/{repo}/actions/variables"], + createWorkflowDispatch: [ + "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches" + ], + deleteActionsCacheById: [ + "DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}" + ], + deleteActionsCacheByKey: [ + "DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}" + ], + deleteArtifact: [ + "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}" + ], + deleteEnvironmentSecret: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}" + ], + deleteEnvironmentVariable: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}" + ], + deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"], + deleteOrgVariable: ["DELETE /orgs/{org}/actions/variables/{name}"], + deleteRepoSecret: [ + "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}" + ], + deleteRepoVariable: [ + "DELETE /repos/{owner}/{repo}/actions/variables/{name}" + ], + deleteSelfHostedRunnerFromOrg: [ + "DELETE /orgs/{org}/actions/runners/{runner_id}" + ], + deleteSelfHostedRunnerFromRepo: [ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}" + ], + deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"], + deleteWorkflowRunLogs: [ + "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs" + ], + disableSelectedRepositoryGithubActionsOrganization: [ + "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}" + ], + disableWorkflow: [ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable" + ], + downloadArtifact: [ + "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}" + ], + downloadJobLogsForWorkflowRun: [ + "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs" + ], + downloadWorkflowRunAttemptLogs: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs" + ], + downloadWorkflowRunLogs: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs" + ], + enableSelectedRepositoryGithubActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}" + ], + enableWorkflow: [ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable" + ], + forceCancelWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel" + ], + generateRunnerJitconfigForOrg: [ + "POST /orgs/{org}/actions/runners/generate-jitconfig" + ], + generateRunnerJitconfigForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig" + ], + getActionsCacheList: ["GET /repos/{owner}/{repo}/actions/caches"], + getActionsCacheUsage: ["GET /repos/{owner}/{repo}/actions/cache/usage"], + getActionsCacheUsageByRepoForOrg: [ + "GET /orgs/{org}/actions/cache/usage-by-repository" + ], + getActionsCacheUsageForOrg: ["GET /orgs/{org}/actions/cache/usage"], + getAllowedActionsOrganization: [ + "GET /orgs/{org}/actions/permissions/selected-actions" + ], + getAllowedActionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions/selected-actions" + ], + getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + getCustomOidcSubClaimForRepo: [ + "GET /repos/{owner}/{repo}/actions/oidc/customization/sub" + ], + getEnvironmentPublicKey: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key" + ], + getEnvironmentSecret: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}" + ], + getEnvironmentVariable: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}" + ], + getGithubActionsDefaultWorkflowPermissionsOrganization: [ + "GET /orgs/{org}/actions/permissions/workflow" + ], + getGithubActionsDefaultWorkflowPermissionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions/workflow" + ], + getGithubActionsPermissionsOrganization: [ + "GET /orgs/{org}/actions/permissions" + ], + getGithubActionsPermissionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions" + ], + getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"], + getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"], + getOrgVariable: ["GET /orgs/{org}/actions/variables/{name}"], + getPendingDeploymentsForRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments" + ], + getRepoPermissions: [ + "GET /repos/{owner}/{repo}/actions/permissions", + {}, + { renamed: ["actions", "getGithubActionsPermissionsRepository"] } + ], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"], + getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + getRepoVariable: ["GET /repos/{owner}/{repo}/actions/variables/{name}"], + getReviewsForRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals" + ], + getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"], + getSelfHostedRunnerForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}" + ], + getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"], + getWorkflowAccessToRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions/access" + ], + getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"], + getWorkflowRunAttempt: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}" + ], + getWorkflowRunUsage: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing" + ], + getWorkflowUsage: [ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing" + ], + listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], + listEnvironmentSecrets: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets" + ], + listEnvironmentVariables: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/variables" + ], + listJobsForWorkflowRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs" + ], + listJobsForWorkflowRunAttempt: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs" + ], + listLabelsForSelfHostedRunnerForOrg: [ + "GET /orgs/{org}/actions/runners/{runner_id}/labels" + ], + listLabelsForSelfHostedRunnerForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + listOrgSecrets: ["GET /orgs/{org}/actions/secrets"], + listOrgVariables: ["GET /orgs/{org}/actions/variables"], + listRepoOrganizationSecrets: [ + "GET /repos/{owner}/{repo}/actions/organization-secrets" + ], + listRepoOrganizationVariables: [ + "GET /repos/{owner}/{repo}/actions/organization-variables" + ], + listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"], + listRepoVariables: ["GET /repos/{owner}/{repo}/actions/variables"], + listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"], + listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"], + listRunnerApplicationsForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/downloads" + ], + listSelectedReposForOrgSecret: [ + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories" + ], + listSelectedReposForOrgVariable: [ + "GET /orgs/{org}/actions/variables/{name}/repositories" + ], + listSelectedRepositoriesEnabledGithubActionsOrganization: [ + "GET /orgs/{org}/actions/permissions/repositories" + ], + listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"], + listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"], + listWorkflowRunArtifacts: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts" + ], + listWorkflowRuns: [ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs" + ], + listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"], + reRunJobForWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun" + ], + reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"], + reRunWorkflowFailedJobs: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs" + ], + removeAllCustomLabelsFromSelfHostedRunnerForOrg: [ + "DELETE /orgs/{org}/actions/runners/{runner_id}/labels" + ], + removeAllCustomLabelsFromSelfHostedRunnerForRepo: [ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + removeCustomLabelFromSelfHostedRunnerForOrg: [ + "DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}" + ], + removeCustomLabelFromSelfHostedRunnerForRepo: [ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}" + ], + removeSelectedRepoFromOrgSecret: [ + "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}" + ], + removeSelectedRepoFromOrgVariable: [ + "DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}" + ], + reviewCustomGatesForRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule" + ], + reviewPendingDeploymentsForRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments" + ], + setAllowedActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/selected-actions" + ], + setAllowedActionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions" + ], + setCustomLabelsForSelfHostedRunnerForOrg: [ + "PUT /orgs/{org}/actions/runners/{runner_id}/labels" + ], + setCustomLabelsForSelfHostedRunnerForRepo: [ + "PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + setCustomOidcSubClaimForRepo: [ + "PUT /repos/{owner}/{repo}/actions/oidc/customization/sub" + ], + setGithubActionsDefaultWorkflowPermissionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/workflow" + ], + setGithubActionsDefaultWorkflowPermissionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions/workflow" + ], + setGithubActionsPermissionsOrganization: [ + "PUT /orgs/{org}/actions/permissions" + ], + setGithubActionsPermissionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions" + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories" + ], + setSelectedReposForOrgVariable: [ + "PUT /orgs/{org}/actions/variables/{name}/repositories" + ], + setSelectedRepositoriesEnabledGithubActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/repositories" + ], + setWorkflowAccessToRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions/access" + ], + updateEnvironmentVariable: [ + "PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}" + ], + updateOrgVariable: ["PATCH /orgs/{org}/actions/variables/{name}"], + updateRepoVariable: [ + "PATCH /repos/{owner}/{repo}/actions/variables/{name}" + ] + }, + activity: { + checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"], + deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"], + deleteThreadSubscription: [ + "DELETE /notifications/threads/{thread_id}/subscription" + ], + getFeeds: ["GET /feeds"], + getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"], + getThread: ["GET /notifications/threads/{thread_id}"], + getThreadSubscriptionForAuthenticatedUser: [ + "GET /notifications/threads/{thread_id}/subscription" + ], + listEventsForAuthenticatedUser: ["GET /users/{username}/events"], + listNotificationsForAuthenticatedUser: ["GET /notifications"], + listOrgEventsForAuthenticatedUser: [ + "GET /users/{username}/events/orgs/{org}" + ], + listPublicEvents: ["GET /events"], + listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"], + listPublicEventsForUser: ["GET /users/{username}/events/public"], + listPublicOrgEvents: ["GET /orgs/{org}/events"], + listReceivedEventsForUser: ["GET /users/{username}/received_events"], + listReceivedPublicEventsForUser: [ + "GET /users/{username}/received_events/public" + ], + listRepoEvents: ["GET /repos/{owner}/{repo}/events"], + listRepoNotificationsForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/notifications" + ], + listReposStarredByAuthenticatedUser: ["GET /user/starred"], + listReposStarredByUser: ["GET /users/{username}/starred"], + listReposWatchedByUser: ["GET /users/{username}/subscriptions"], + listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"], + listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"], + listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"], + markNotificationsAsRead: ["PUT /notifications"], + markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"], + markThreadAsDone: ["DELETE /notifications/threads/{thread_id}"], + markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"], + setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"], + setThreadSubscription: [ + "PUT /notifications/threads/{thread_id}/subscription" + ], + starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"], + unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"] + }, + apps: { + addRepoToInstallation: [ + "PUT /user/installations/{installation_id}/repositories/{repository_id}", + {}, + { renamed: ["apps", "addRepoToInstallationForAuthenticatedUser"] } + ], + addRepoToInstallationForAuthenticatedUser: [ + "PUT /user/installations/{installation_id}/repositories/{repository_id}" + ], + checkToken: ["POST /applications/{client_id}/token"], + createFromManifest: ["POST /app-manifests/{code}/conversions"], + createInstallationAccessToken: [ + "POST /app/installations/{installation_id}/access_tokens" + ], + deleteAuthorization: ["DELETE /applications/{client_id}/grant"], + deleteInstallation: ["DELETE /app/installations/{installation_id}"], + deleteToken: ["DELETE /applications/{client_id}/token"], + getAuthenticated: ["GET /app"], + getBySlug: ["GET /apps/{app_slug}"], + getInstallation: ["GET /app/installations/{installation_id}"], + getOrgInstallation: ["GET /orgs/{org}/installation"], + getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"], + getSubscriptionPlanForAccount: [ + "GET /marketplace_listing/accounts/{account_id}" + ], + getSubscriptionPlanForAccountStubbed: [ + "GET /marketplace_listing/stubbed/accounts/{account_id}" + ], + getUserInstallation: ["GET /users/{username}/installation"], + getWebhookConfigForApp: ["GET /app/hook/config"], + getWebhookDelivery: ["GET /app/hook/deliveries/{delivery_id}"], + listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"], + listAccountsForPlanStubbed: [ + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts" + ], + listInstallationReposForAuthenticatedUser: [ + "GET /user/installations/{installation_id}/repositories" + ], + listInstallationRequestsForAuthenticatedApp: [ + "GET /app/installation-requests" + ], + listInstallations: ["GET /app/installations"], + listInstallationsForAuthenticatedUser: ["GET /user/installations"], + listPlans: ["GET /marketplace_listing/plans"], + listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"], + listReposAccessibleToInstallation: ["GET /installation/repositories"], + listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"], + listSubscriptionsForAuthenticatedUserStubbed: [ + "GET /user/marketplace_purchases/stubbed" + ], + listWebhookDeliveries: ["GET /app/hook/deliveries"], + redeliverWebhookDelivery: [ + "POST /app/hook/deliveries/{delivery_id}/attempts" + ], + removeRepoFromInstallation: [ + "DELETE /user/installations/{installation_id}/repositories/{repository_id}", + {}, + { renamed: ["apps", "removeRepoFromInstallationForAuthenticatedUser"] } + ], + removeRepoFromInstallationForAuthenticatedUser: [ + "DELETE /user/installations/{installation_id}/repositories/{repository_id}" + ], + resetToken: ["PATCH /applications/{client_id}/token"], + revokeInstallationAccessToken: ["DELETE /installation/token"], + scopeToken: ["POST /applications/{client_id}/token/scoped"], + suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"], + unsuspendInstallation: [ + "DELETE /app/installations/{installation_id}/suspended" + ], + updateWebhookConfigForApp: ["PATCH /app/hook/config"] + }, + billing: { + getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"], + getGithubActionsBillingUser: [ + "GET /users/{username}/settings/billing/actions" + ], + getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"], + getGithubPackagesBillingUser: [ + "GET /users/{username}/settings/billing/packages" + ], + getSharedStorageBillingOrg: [ + "GET /orgs/{org}/settings/billing/shared-storage" + ], + getSharedStorageBillingUser: [ + "GET /users/{username}/settings/billing/shared-storage" + ] + }, + checks: { + create: ["POST /repos/{owner}/{repo}/check-runs"], + createSuite: ["POST /repos/{owner}/{repo}/check-suites"], + get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"], + getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"], + listAnnotations: [ + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations" + ], + listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"], + listForSuite: [ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs" + ], + listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"], + rerequestRun: [ + "POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest" + ], + rerequestSuite: [ + "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest" + ], + setSuitesPreferences: [ + "PATCH /repos/{owner}/{repo}/check-suites/preferences" + ], + update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"] + }, + codeScanning: { + deleteAnalysis: [ + "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}" + ], + getAlert: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", + {}, + { renamedParameters: { alert_id: "alert_number" } } + ], + getAnalysis: [ + "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}" + ], + getCodeqlDatabase: [ + "GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}" + ], + getDefaultSetup: ["GET /repos/{owner}/{repo}/code-scanning/default-setup"], + getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"], + listAlertInstances: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances" + ], + listAlertsForOrg: ["GET /orgs/{org}/code-scanning/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"], + listAlertsInstances: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + {}, + { renamed: ["codeScanning", "listAlertInstances"] } + ], + listCodeqlDatabases: [ + "GET /repos/{owner}/{repo}/code-scanning/codeql/databases" + ], + listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}" + ], + updateDefaultSetup: [ + "PATCH /repos/{owner}/{repo}/code-scanning/default-setup" + ], + uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"] + }, + codesOfConduct: { + getAllCodesOfConduct: ["GET /codes_of_conduct"], + getConductCode: ["GET /codes_of_conduct/{key}"] + }, + codespaces: { + addRepositoryForSecretForAuthenticatedUser: [ + "PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + addSelectedRepoToOrgSecret: [ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + checkPermissionsForDevcontainer: [ + "GET /repos/{owner}/{repo}/codespaces/permissions_check" + ], + codespaceMachinesForAuthenticatedUser: [ + "GET /user/codespaces/{codespace_name}/machines" + ], + createForAuthenticatedUser: ["POST /user/codespaces"], + createOrUpdateOrgSecret: [ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}" + ], + createOrUpdateRepoSecret: [ + "PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" + ], + createOrUpdateSecretForAuthenticatedUser: [ + "PUT /user/codespaces/secrets/{secret_name}" + ], + createWithPrForAuthenticatedUser: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces" + ], + createWithRepoForAuthenticatedUser: [ + "POST /repos/{owner}/{repo}/codespaces" + ], + deleteForAuthenticatedUser: ["DELETE /user/codespaces/{codespace_name}"], + deleteFromOrganization: [ + "DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}" + ], + deleteOrgSecret: ["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"], + deleteRepoSecret: [ + "DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" + ], + deleteSecretForAuthenticatedUser: [ + "DELETE /user/codespaces/secrets/{secret_name}" + ], + exportForAuthenticatedUser: [ + "POST /user/codespaces/{codespace_name}/exports" + ], + getCodespacesForUserInOrg: [ + "GET /orgs/{org}/members/{username}/codespaces" + ], + getExportDetailsForAuthenticatedUser: [ + "GET /user/codespaces/{codespace_name}/exports/{export_id}" + ], + getForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}"], + getOrgPublicKey: ["GET /orgs/{org}/codespaces/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/codespaces/secrets/{secret_name}"], + getPublicKeyForAuthenticatedUser: [ + "GET /user/codespaces/secrets/public-key" + ], + getRepoPublicKey: [ + "GET /repos/{owner}/{repo}/codespaces/secrets/public-key" + ], + getRepoSecret: [ + "GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" + ], + getSecretForAuthenticatedUser: [ + "GET /user/codespaces/secrets/{secret_name}" + ], + listDevcontainersInRepositoryForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces/devcontainers" + ], + listForAuthenticatedUser: ["GET /user/codespaces"], + listInOrganization: [ + "GET /orgs/{org}/codespaces", + {}, + { renamedParameters: { org_id: "org" } } + ], + listInRepositoryForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces" + ], + listOrgSecrets: ["GET /orgs/{org}/codespaces/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/codespaces/secrets"], + listRepositoriesForSecretForAuthenticatedUser: [ + "GET /user/codespaces/secrets/{secret_name}/repositories" + ], + listSecretsForAuthenticatedUser: ["GET /user/codespaces/secrets"], + listSelectedReposForOrgSecret: [ + "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories" + ], + preFlightWithRepoForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces/new" + ], + publishForAuthenticatedUser: [ + "POST /user/codespaces/{codespace_name}/publish" + ], + removeRepositoryForSecretForAuthenticatedUser: [ + "DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + removeSelectedRepoFromOrgSecret: [ + "DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + repoMachinesForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces/machines" + ], + setRepositoriesForSecretForAuthenticatedUser: [ + "PUT /user/codespaces/secrets/{secret_name}/repositories" + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories" + ], + startForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/start"], + stopForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/stop"], + stopInOrganization: [ + "POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop" + ], + updateForAuthenticatedUser: ["PATCH /user/codespaces/{codespace_name}"] + }, + copilot: { + addCopilotSeatsForTeams: [ + "POST /orgs/{org}/copilot/billing/selected_teams" + ], + addCopilotSeatsForUsers: [ + "POST /orgs/{org}/copilot/billing/selected_users" + ], + cancelCopilotSeatAssignmentForTeams: [ + "DELETE /orgs/{org}/copilot/billing/selected_teams" + ], + cancelCopilotSeatAssignmentForUsers: [ + "DELETE /orgs/{org}/copilot/billing/selected_users" + ], + getCopilotOrganizationDetails: ["GET /orgs/{org}/copilot/billing"], + getCopilotSeatDetailsForUser: [ + "GET /orgs/{org}/members/{username}/copilot" + ], + listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"], + usageMetricsForEnterprise: ["GET /enterprises/{enterprise}/copilot/usage"], + usageMetricsForOrg: ["GET /orgs/{org}/copilot/usage"], + usageMetricsForTeam: ["GET /orgs/{org}/team/{team_slug}/copilot/usage"] + }, + dependabot: { + addSelectedRepoToOrgSecret: [ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}" + ], + createOrUpdateOrgSecret: [ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}" + ], + createOrUpdateRepoSecret: [ + "PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" + ], + deleteOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"], + deleteRepoSecret: [ + "DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" + ], + getAlert: ["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"], + getOrgPublicKey: ["GET /orgs/{org}/dependabot/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}"], + getRepoPublicKey: [ + "GET /repos/{owner}/{repo}/dependabot/secrets/public-key" + ], + getRepoSecret: [ + "GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" + ], + listAlertsForEnterprise: [ + "GET /enterprises/{enterprise}/dependabot/alerts" + ], + listAlertsForOrg: ["GET /orgs/{org}/dependabot/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/dependabot/alerts"], + listOrgSecrets: ["GET /orgs/{org}/dependabot/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/dependabot/secrets"], + listSelectedReposForOrgSecret: [ + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories" + ], + removeSelectedRepoFromOrgSecret: [ + "DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}" + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories" + ], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}" + ] + }, + dependencyGraph: { + createRepositorySnapshot: [ + "POST /repos/{owner}/{repo}/dependency-graph/snapshots" + ], + diffRange: [ + "GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}" + ], + exportSbom: ["GET /repos/{owner}/{repo}/dependency-graph/sbom"] + }, + emojis: { get: ["GET /emojis"] }, + gists: { + checkIsStarred: ["GET /gists/{gist_id}/star"], + create: ["POST /gists"], + createComment: ["POST /gists/{gist_id}/comments"], + delete: ["DELETE /gists/{gist_id}"], + deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"], + fork: ["POST /gists/{gist_id}/forks"], + get: ["GET /gists/{gist_id}"], + getComment: ["GET /gists/{gist_id}/comments/{comment_id}"], + getRevision: ["GET /gists/{gist_id}/{sha}"], + list: ["GET /gists"], + listComments: ["GET /gists/{gist_id}/comments"], + listCommits: ["GET /gists/{gist_id}/commits"], + listForUser: ["GET /users/{username}/gists"], + listForks: ["GET /gists/{gist_id}/forks"], + listPublic: ["GET /gists/public"], + listStarred: ["GET /gists/starred"], + star: ["PUT /gists/{gist_id}/star"], + unstar: ["DELETE /gists/{gist_id}/star"], + update: ["PATCH /gists/{gist_id}"], + updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"] + }, + git: { + createBlob: ["POST /repos/{owner}/{repo}/git/blobs"], + createCommit: ["POST /repos/{owner}/{repo}/git/commits"], + createRef: ["POST /repos/{owner}/{repo}/git/refs"], + createTag: ["POST /repos/{owner}/{repo}/git/tags"], + createTree: ["POST /repos/{owner}/{repo}/git/trees"], + deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"], + getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"], + getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"], + getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"], + getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"], + getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"], + listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"], + updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"] + }, + gitignore: { + getAllTemplates: ["GET /gitignore/templates"], + getTemplate: ["GET /gitignore/templates/{name}"] + }, + interactions: { + getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"], + getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"], + getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"], + getRestrictionsForYourPublicRepos: [ + "GET /user/interaction-limits", + {}, + { renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] } + ], + removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"], + removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"], + removeRestrictionsForRepo: [ + "DELETE /repos/{owner}/{repo}/interaction-limits" + ], + removeRestrictionsForYourPublicRepos: [ + "DELETE /user/interaction-limits", + {}, + { renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] } + ], + setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"], + setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"], + setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"], + setRestrictionsForYourPublicRepos: [ + "PUT /user/interaction-limits", + {}, + { renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] } + ] + }, + issues: { + addAssignees: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/assignees" + ], + addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], + checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"], + checkUserCanBeAssignedToIssue: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}" + ], + create: ["POST /repos/{owner}/{repo}/issues"], + createComment: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/comments" + ], + createLabel: ["POST /repos/{owner}/{repo}/labels"], + createMilestone: ["POST /repos/{owner}/{repo}/milestones"], + deleteComment: [ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}" + ], + deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"], + deleteMilestone: [ + "DELETE /repos/{owner}/{repo}/milestones/{milestone_number}" + ], + get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"], + getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"], + getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"], + getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"], + getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"], + list: ["GET /issues"], + listAssignees: ["GET /repos/{owner}/{repo}/assignees"], + listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"], + listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"], + listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"], + listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"], + listEventsForTimeline: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline" + ], + listForAuthenticatedUser: ["GET /user/issues"], + listForOrg: ["GET /orgs/{org}/issues"], + listForRepo: ["GET /repos/{owner}/{repo}/issues"], + listLabelsForMilestone: [ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels" + ], + listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"], + listLabelsOnIssue: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels" + ], + listMilestones: ["GET /repos/{owner}/{repo}/milestones"], + lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"], + removeAllLabels: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels" + ], + removeAssignees: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees" + ], + removeLabel: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}" + ], + setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"], + unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"], + update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"], + updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"], + updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"], + updateMilestone: [ + "PATCH /repos/{owner}/{repo}/milestones/{milestone_number}" + ] + }, + licenses: { + get: ["GET /licenses/{license}"], + getAllCommonlyUsed: ["GET /licenses"], + getForRepo: ["GET /repos/{owner}/{repo}/license"] + }, + markdown: { + render: ["POST /markdown"], + renderRaw: [ + "POST /markdown/raw", + { headers: { "content-type": "text/plain; charset=utf-8" } } + ] + }, + meta: { + get: ["GET /meta"], + getAllVersions: ["GET /versions"], + getOctocat: ["GET /octocat"], + getZen: ["GET /zen"], + root: ["GET /"] + }, + migrations: { + deleteArchiveForAuthenticatedUser: [ + "DELETE /user/migrations/{migration_id}/archive" + ], + deleteArchiveForOrg: [ + "DELETE /orgs/{org}/migrations/{migration_id}/archive" + ], + downloadArchiveForOrg: [ + "GET /orgs/{org}/migrations/{migration_id}/archive" + ], + getArchiveForAuthenticatedUser: [ + "GET /user/migrations/{migration_id}/archive" + ], + getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}"], + getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}"], + listForAuthenticatedUser: ["GET /user/migrations"], + listForOrg: ["GET /orgs/{org}/migrations"], + listReposForAuthenticatedUser: [ + "GET /user/migrations/{migration_id}/repositories" + ], + listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories"], + listReposForUser: [ + "GET /user/migrations/{migration_id}/repositories", + {}, + { renamed: ["migrations", "listReposForAuthenticatedUser"] } + ], + startForAuthenticatedUser: ["POST /user/migrations"], + startForOrg: ["POST /orgs/{org}/migrations"], + unlockRepoForAuthenticatedUser: [ + "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock" + ], + unlockRepoForOrg: [ + "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock" + ] + }, + oidc: { + getOidcCustomSubTemplateForOrg: [ + "GET /orgs/{org}/actions/oidc/customization/sub" + ], + updateOidcCustomSubTemplateForOrg: [ + "PUT /orgs/{org}/actions/oidc/customization/sub" + ] + }, + orgs: { + addSecurityManagerTeam: [ + "PUT /orgs/{org}/security-managers/teams/{team_slug}" + ], + assignTeamToOrgRole: [ + "PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}" + ], + assignUserToOrgRole: [ + "PUT /orgs/{org}/organization-roles/users/{username}/{role_id}" + ], + blockUser: ["PUT /orgs/{org}/blocks/{username}"], + cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"], + checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"], + checkMembershipForUser: ["GET /orgs/{org}/members/{username}"], + checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"], + convertMemberToOutsideCollaborator: [ + "PUT /orgs/{org}/outside_collaborators/{username}" + ], + createCustomOrganizationRole: ["POST /orgs/{org}/organization-roles"], + createInvitation: ["POST /orgs/{org}/invitations"], + createOrUpdateCustomProperties: ["PATCH /orgs/{org}/properties/schema"], + createOrUpdateCustomPropertiesValuesForRepos: [ + "PATCH /orgs/{org}/properties/values" + ], + createOrUpdateCustomProperty: [ + "PUT /orgs/{org}/properties/schema/{custom_property_name}" + ], + createWebhook: ["POST /orgs/{org}/hooks"], + delete: ["DELETE /orgs/{org}"], + deleteCustomOrganizationRole: [ + "DELETE /orgs/{org}/organization-roles/{role_id}" + ], + deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], + enableOrDisableSecurityProductOnAllOrgRepos: [ + "POST /orgs/{org}/{security_product}/{enablement}" + ], + get: ["GET /orgs/{org}"], + getAllCustomProperties: ["GET /orgs/{org}/properties/schema"], + getCustomProperty: [ + "GET /orgs/{org}/properties/schema/{custom_property_name}" + ], + getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], + getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], + getOrgRole: ["GET /orgs/{org}/organization-roles/{role_id}"], + getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"], + getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"], + getWebhookDelivery: [ + "GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}" + ], + list: ["GET /organizations"], + listAppInstallations: ["GET /orgs/{org}/installations"], + listBlockedUsers: ["GET /orgs/{org}/blocks"], + listCustomPropertiesValuesForRepos: ["GET /orgs/{org}/properties/values"], + listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], + listForAuthenticatedUser: ["GET /user/orgs"], + listForUser: ["GET /users/{username}/orgs"], + listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], + listMembers: ["GET /orgs/{org}/members"], + listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], + listOrgRoleTeams: ["GET /orgs/{org}/organization-roles/{role_id}/teams"], + listOrgRoleUsers: ["GET /orgs/{org}/organization-roles/{role_id}/users"], + listOrgRoles: ["GET /orgs/{org}/organization-roles"], + listOrganizationFineGrainedPermissions: [ + "GET /orgs/{org}/organization-fine-grained-permissions" + ], + listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"], + listPatGrantRepositories: [ + "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories" + ], + listPatGrantRequestRepositories: [ + "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories" + ], + listPatGrantRequests: ["GET /orgs/{org}/personal-access-token-requests"], + listPatGrants: ["GET /orgs/{org}/personal-access-tokens"], + listPendingInvitations: ["GET /orgs/{org}/invitations"], + listPublicMembers: ["GET /orgs/{org}/public_members"], + listSecurityManagerTeams: ["GET /orgs/{org}/security-managers"], + listWebhookDeliveries: ["GET /orgs/{org}/hooks/{hook_id}/deliveries"], + listWebhooks: ["GET /orgs/{org}/hooks"], + patchCustomOrganizationRole: [ + "PATCH /orgs/{org}/organization-roles/{role_id}" + ], + pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: [ + "POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts" + ], + removeCustomProperty: [ + "DELETE /orgs/{org}/properties/schema/{custom_property_name}" + ], + removeMember: ["DELETE /orgs/{org}/members/{username}"], + removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"], + removeOutsideCollaborator: [ + "DELETE /orgs/{org}/outside_collaborators/{username}" + ], + removePublicMembershipForAuthenticatedUser: [ + "DELETE /orgs/{org}/public_members/{username}" + ], + removeSecurityManagerTeam: [ + "DELETE /orgs/{org}/security-managers/teams/{team_slug}" + ], + reviewPatGrantRequest: [ + "POST /orgs/{org}/personal-access-token-requests/{pat_request_id}" + ], + reviewPatGrantRequestsInBulk: [ + "POST /orgs/{org}/personal-access-token-requests" + ], + revokeAllOrgRolesTeam: [ + "DELETE /orgs/{org}/organization-roles/teams/{team_slug}" + ], + revokeAllOrgRolesUser: [ + "DELETE /orgs/{org}/organization-roles/users/{username}" + ], + revokeOrgRoleTeam: [ + "DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}" + ], + revokeOrgRoleUser: [ + "DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}" + ], + setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], + setPublicMembershipForAuthenticatedUser: [ + "PUT /orgs/{org}/public_members/{username}" + ], + unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], + update: ["PATCH /orgs/{org}"], + updateMembershipForAuthenticatedUser: [ + "PATCH /user/memberships/orgs/{org}" + ], + updatePatAccess: ["POST /orgs/{org}/personal-access-tokens/{pat_id}"], + updatePatAccesses: ["POST /orgs/{org}/personal-access-tokens"], + updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"], + updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"] + }, + packages: { + deletePackageForAuthenticatedUser: [ + "DELETE /user/packages/{package_type}/{package_name}" + ], + deletePackageForOrg: [ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}" + ], + deletePackageForUser: [ + "DELETE /users/{username}/packages/{package_type}/{package_name}" + ], + deletePackageVersionForAuthenticatedUser: [ + "DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + deletePackageVersionForOrg: [ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + deletePackageVersionForUser: [ + "DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + getAllPackageVersionsForAPackageOwnedByAnOrg: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + {}, + { renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] } + ], + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions", + {}, + { + renamed: [ + "packages", + "getAllPackageVersionsForPackageOwnedByAuthenticatedUser" + ] + } + ], + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions" + ], + getAllPackageVersionsForPackageOwnedByOrg: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions" + ], + getAllPackageVersionsForPackageOwnedByUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}/versions" + ], + getPackageForAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}" + ], + getPackageForOrganization: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}" + ], + getPackageForUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}" + ], + getPackageVersionForAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + getPackageVersionForOrganization: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + getPackageVersionForUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + listDockerMigrationConflictingPackagesForAuthenticatedUser: [ + "GET /user/docker/conflicts" + ], + listDockerMigrationConflictingPackagesForOrganization: [ + "GET /orgs/{org}/docker/conflicts" + ], + listDockerMigrationConflictingPackagesForUser: [ + "GET /users/{username}/docker/conflicts" + ], + listPackagesForAuthenticatedUser: ["GET /user/packages"], + listPackagesForOrganization: ["GET /orgs/{org}/packages"], + listPackagesForUser: ["GET /users/{username}/packages"], + restorePackageForAuthenticatedUser: [ + "POST /user/packages/{package_type}/{package_name}/restore{?token}" + ], + restorePackageForOrg: [ + "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}" + ], + restorePackageForUser: [ + "POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}" + ], + restorePackageVersionForAuthenticatedUser: [ + "POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore" + ], + restorePackageVersionForOrg: [ + "POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore" + ], + restorePackageVersionForUser: [ + "POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore" + ] + }, + projects: { + addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}"], + createCard: ["POST /projects/columns/{column_id}/cards"], + createColumn: ["POST /projects/{project_id}/columns"], + createForAuthenticatedUser: ["POST /user/projects"], + createForOrg: ["POST /orgs/{org}/projects"], + createForRepo: ["POST /repos/{owner}/{repo}/projects"], + delete: ["DELETE /projects/{project_id}"], + deleteCard: ["DELETE /projects/columns/cards/{card_id}"], + deleteColumn: ["DELETE /projects/columns/{column_id}"], + get: ["GET /projects/{project_id}"], + getCard: ["GET /projects/columns/cards/{card_id}"], + getColumn: ["GET /projects/columns/{column_id}"], + getPermissionForUser: [ + "GET /projects/{project_id}/collaborators/{username}/permission" + ], + listCards: ["GET /projects/columns/{column_id}/cards"], + listCollaborators: ["GET /projects/{project_id}/collaborators"], + listColumns: ["GET /projects/{project_id}/columns"], + listForOrg: ["GET /orgs/{org}/projects"], + listForRepo: ["GET /repos/{owner}/{repo}/projects"], + listForUser: ["GET /users/{username}/projects"], + moveCard: ["POST /projects/columns/cards/{card_id}/moves"], + moveColumn: ["POST /projects/columns/{column_id}/moves"], + removeCollaborator: [ + "DELETE /projects/{project_id}/collaborators/{username}" + ], + update: ["PATCH /projects/{project_id}"], + updateCard: ["PATCH /projects/columns/cards/{card_id}"], + updateColumn: ["PATCH /projects/columns/{column_id}"] + }, + pulls: { + checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + create: ["POST /repos/{owner}/{repo}/pulls"], + createReplyForReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies" + ], + createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + createReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments" + ], + deletePendingReview: [ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" + ], + deleteReviewComment: [ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}" + ], + dismissReview: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals" + ], + get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"], + getReview: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" + ], + getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + list: ["GET /repos/{owner}/{repo}/pulls"], + listCommentsForReview: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments" + ], + listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"], + listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"], + listRequestedReviewers: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" + ], + listReviewComments: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments" + ], + listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"], + listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + removeRequestedReviewers: [ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" + ], + requestReviewers: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" + ], + submitReview: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events" + ], + update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"], + updateBranch: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch" + ], + updateReview: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" + ], + updateReviewComment: [ + "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}" + ] + }, + rateLimit: { get: ["GET /rate_limit"] }, + reactions: { + createForCommitComment: [ + "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions" + ], + createForIssue: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions" + ], + createForIssueComment: [ + "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions" + ], + createForPullRequestReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions" + ], + createForRelease: [ + "POST /repos/{owner}/{repo}/releases/{release_id}/reactions" + ], + createForTeamDiscussionCommentInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions" + ], + createForTeamDiscussionInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions" + ], + deleteForCommitComment: [ + "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}" + ], + deleteForIssue: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}" + ], + deleteForIssueComment: [ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}" + ], + deleteForPullRequestComment: [ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}" + ], + deleteForRelease: [ + "DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}" + ], + deleteForTeamDiscussion: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}" + ], + deleteForTeamDiscussionComment: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}" + ], + listForCommitComment: [ + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions" + ], + listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"], + listForIssueComment: [ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions" + ], + listForPullRequestReviewComment: [ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions" + ], + listForRelease: [ + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions" + ], + listForTeamDiscussionCommentInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions" + ], + listForTeamDiscussionInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions" + ] + }, + repos: { + acceptInvitation: [ + "PATCH /user/repository_invitations/{invitation_id}", + {}, + { renamed: ["repos", "acceptInvitationForAuthenticatedUser"] } + ], + acceptInvitationForAuthenticatedUser: [ + "PATCH /user/repository_invitations/{invitation_id}" + ], + addAppAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" } + ], + addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"], + addStatusCheckContexts: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" } + ], + addTeamAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" } + ], + addUserAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" } + ], + cancelPagesDeployment: [ + "POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel" + ], + checkAutomatedSecurityFixes: [ + "GET /repos/{owner}/{repo}/automated-security-fixes" + ], + checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], + checkPrivateVulnerabilityReporting: [ + "GET /repos/{owner}/{repo}/private-vulnerability-reporting" + ], + checkVulnerabilityAlerts: [ + "GET /repos/{owner}/{repo}/vulnerability-alerts" + ], + codeownersErrors: ["GET /repos/{owner}/{repo}/codeowners/errors"], + compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"], + compareCommitsWithBasehead: [ + "GET /repos/{owner}/{repo}/compare/{basehead}" + ], + createAutolink: ["POST /repos/{owner}/{repo}/autolinks"], + createCommitComment: [ + "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments" + ], + createCommitSignatureProtection: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" + ], + createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"], + createDeployKey: ["POST /repos/{owner}/{repo}/keys"], + createDeployment: ["POST /repos/{owner}/{repo}/deployments"], + createDeploymentBranchPolicy: [ + "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies" + ], + createDeploymentProtectionRule: [ + "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules" + ], + createDeploymentStatus: [ + "POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses" + ], + createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"], + createForAuthenticatedUser: ["POST /user/repos"], + createFork: ["POST /repos/{owner}/{repo}/forks"], + createInOrg: ["POST /orgs/{org}/repos"], + createOrUpdateCustomPropertiesValues: [ + "PATCH /repos/{owner}/{repo}/properties/values" + ], + createOrUpdateEnvironment: [ + "PUT /repos/{owner}/{repo}/environments/{environment_name}" + ], + createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"], + createOrgRuleset: ["POST /orgs/{org}/rulesets"], + createPagesDeployment: ["POST /repos/{owner}/{repo}/pages/deployments"], + createPagesSite: ["POST /repos/{owner}/{repo}/pages"], + createRelease: ["POST /repos/{owner}/{repo}/releases"], + createRepoRuleset: ["POST /repos/{owner}/{repo}/rulesets"], + createTagProtection: ["POST /repos/{owner}/{repo}/tags/protection"], + createUsingTemplate: [ + "POST /repos/{template_owner}/{template_repo}/generate" + ], + createWebhook: ["POST /repos/{owner}/{repo}/hooks"], + declineInvitation: [ + "DELETE /user/repository_invitations/{invitation_id}", + {}, + { renamed: ["repos", "declineInvitationForAuthenticatedUser"] } + ], + declineInvitationForAuthenticatedUser: [ + "DELETE /user/repository_invitations/{invitation_id}" + ], + delete: ["DELETE /repos/{owner}/{repo}"], + deleteAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions" + ], + deleteAdminBranchProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" + ], + deleteAnEnvironment: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}" + ], + deleteAutolink: ["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"], + deleteBranchProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection" + ], + deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"], + deleteCommitSignatureProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" + ], + deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"], + deleteDeployment: [ + "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}" + ], + deleteDeploymentBranchPolicy: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" + ], + deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"], + deleteInvitation: [ + "DELETE /repos/{owner}/{repo}/invitations/{invitation_id}" + ], + deleteOrgRuleset: ["DELETE /orgs/{org}/rulesets/{ruleset_id}"], + deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages"], + deletePullRequestReviewProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" + ], + deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"], + deleteReleaseAsset: [ + "DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}" + ], + deleteRepoRuleset: ["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + deleteTagProtection: [ + "DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}" + ], + deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"], + disableAutomatedSecurityFixes: [ + "DELETE /repos/{owner}/{repo}/automated-security-fixes" + ], + disableDeploymentProtectionRule: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}" + ], + disablePrivateVulnerabilityReporting: [ + "DELETE /repos/{owner}/{repo}/private-vulnerability-reporting" + ], + disableVulnerabilityAlerts: [ + "DELETE /repos/{owner}/{repo}/vulnerability-alerts" + ], + downloadArchive: [ + "GET /repos/{owner}/{repo}/zipball/{ref}", + {}, + { renamed: ["repos", "downloadZipballArchive"] } + ], + downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"], + downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"], + enableAutomatedSecurityFixes: [ + "PUT /repos/{owner}/{repo}/automated-security-fixes" + ], + enablePrivateVulnerabilityReporting: [ + "PUT /repos/{owner}/{repo}/private-vulnerability-reporting" + ], + enableVulnerabilityAlerts: [ + "PUT /repos/{owner}/{repo}/vulnerability-alerts" + ], + generateReleaseNotes: [ + "POST /repos/{owner}/{repo}/releases/generate-notes" + ], + get: ["GET /repos/{owner}/{repo}"], + getAccessRestrictions: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions" + ], + getAdminBranchProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" + ], + getAllDeploymentProtectionRules: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules" + ], + getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"], + getAllStatusCheckContexts: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts" + ], + getAllTopics: ["GET /repos/{owner}/{repo}/topics"], + getAppsWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps" + ], + getAutolink: ["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"], + getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"], + getBranchProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection" + ], + getBranchRules: ["GET /repos/{owner}/{repo}/rules/branches/{branch}"], + getClones: ["GET /repos/{owner}/{repo}/traffic/clones"], + getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"], + getCollaboratorPermissionLevel: [ + "GET /repos/{owner}/{repo}/collaborators/{username}/permission" + ], + getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"], + getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"], + getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"], + getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"], + getCommitSignatureProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" + ], + getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"], + getContent: ["GET /repos/{owner}/{repo}/contents/{path}"], + getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"], + getCustomDeploymentProtectionRule: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}" + ], + getCustomPropertiesValues: ["GET /repos/{owner}/{repo}/properties/values"], + getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"], + getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"], + getDeploymentBranchPolicy: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" + ], + getDeploymentStatus: [ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}" + ], + getEnvironment: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}" + ], + getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"], + getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"], + getOrgRuleSuite: ["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"], + getOrgRuleSuites: ["GET /orgs/{org}/rulesets/rule-suites"], + getOrgRuleset: ["GET /orgs/{org}/rulesets/{ruleset_id}"], + getOrgRulesets: ["GET /orgs/{org}/rulesets"], + getPages: ["GET /repos/{owner}/{repo}/pages"], + getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"], + getPagesDeployment: [ + "GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}" + ], + getPagesHealthCheck: ["GET /repos/{owner}/{repo}/pages/health"], + getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"], + getPullRequestReviewProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" + ], + getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"], + getReadme: ["GET /repos/{owner}/{repo}/readme"], + getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"], + getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"], + getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"], + getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"], + getRepoRuleSuite: [ + "GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}" + ], + getRepoRuleSuites: ["GET /repos/{owner}/{repo}/rulesets/rule-suites"], + getRepoRuleset: ["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + getRepoRulesets: ["GET /repos/{owner}/{repo}/rulesets"], + getStatusChecksProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" + ], + getTeamsWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams" + ], + getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"], + getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"], + getUsersWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users" + ], + getViews: ["GET /repos/{owner}/{repo}/traffic/views"], + getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"], + getWebhookConfigForRepo: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/config" + ], + getWebhookDelivery: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}" + ], + listActivities: ["GET /repos/{owner}/{repo}/activity"], + listAutolinks: ["GET /repos/{owner}/{repo}/autolinks"], + listBranches: ["GET /repos/{owner}/{repo}/branches"], + listBranchesForHeadCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head" + ], + listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"], + listCommentsForCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments" + ], + listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"], + listCommitStatusesForRef: [ + "GET /repos/{owner}/{repo}/commits/{ref}/statuses" + ], + listCommits: ["GET /repos/{owner}/{repo}/commits"], + listContributors: ["GET /repos/{owner}/{repo}/contributors"], + listCustomDeploymentRuleIntegrations: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps" + ], + listDeployKeys: ["GET /repos/{owner}/{repo}/keys"], + listDeploymentBranchPolicies: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies" + ], + listDeploymentStatuses: [ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses" + ], + listDeployments: ["GET /repos/{owner}/{repo}/deployments"], + listForAuthenticatedUser: ["GET /user/repos"], + listForOrg: ["GET /orgs/{org}/repos"], + listForUser: ["GET /users/{username}/repos"], + listForks: ["GET /repos/{owner}/{repo}/forks"], + listInvitations: ["GET /repos/{owner}/{repo}/invitations"], + listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"], + listLanguages: ["GET /repos/{owner}/{repo}/languages"], + listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"], + listPublic: ["GET /repositories"], + listPullRequestsAssociatedWithCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls" + ], + listReleaseAssets: [ + "GET /repos/{owner}/{repo}/releases/{release_id}/assets" + ], + listReleases: ["GET /repos/{owner}/{repo}/releases"], + listTagProtection: ["GET /repos/{owner}/{repo}/tags/protection"], + listTags: ["GET /repos/{owner}/{repo}/tags"], + listTeams: ["GET /repos/{owner}/{repo}/teams"], + listWebhookDeliveries: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries" + ], + listWebhooks: ["GET /repos/{owner}/{repo}/hooks"], + merge: ["POST /repos/{owner}/{repo}/merges"], + mergeUpstream: ["POST /repos/{owner}/{repo}/merge-upstream"], + pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: [ + "POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts" + ], + removeAppAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" } + ], + removeCollaborator: [ + "DELETE /repos/{owner}/{repo}/collaborators/{username}" + ], + removeStatusCheckContexts: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" } + ], + removeStatusCheckProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" + ], + removeTeamAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" } + ], + removeUserAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" } + ], + renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"], + replaceAllTopics: ["PUT /repos/{owner}/{repo}/topics"], + requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"], + setAdminBranchProtection: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" + ], + setAppAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" } + ], + setStatusCheckContexts: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" } + ], + setTeamAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" } + ], + setUserAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" } + ], + testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"], + transfer: ["POST /repos/{owner}/{repo}/transfer"], + update: ["PATCH /repos/{owner}/{repo}"], + updateBranchProtection: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection" + ], + updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"], + updateDeploymentBranchPolicy: [ + "PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" + ], + updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"], + updateInvitation: [ + "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}" + ], + updateOrgRuleset: ["PUT /orgs/{org}/rulesets/{ruleset_id}"], + updatePullRequestReviewProtection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" + ], + updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"], + updateReleaseAsset: [ + "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}" + ], + updateRepoRuleset: ["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + updateStatusCheckPotection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + {}, + { renamed: ["repos", "updateStatusCheckProtection"] } + ], + updateStatusCheckProtection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" + ], + updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"], + updateWebhookConfigForRepo: [ + "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config" + ], + uploadReleaseAsset: [ + "POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}", + { baseUrl: "https://uploads.github.com" } + ] + }, + search: { + code: ["GET /search/code"], + commits: ["GET /search/commits"], + issuesAndPullRequests: ["GET /search/issues"], + labels: ["GET /search/labels"], + repos: ["GET /search/repositories"], + topics: ["GET /search/topics"], + users: ["GET /search/users"] + }, + secretScanning: { + getAlert: [ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" + ], + listAlertsForEnterprise: [ + "GET /enterprises/{enterprise}/secret-scanning/alerts" + ], + listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"], + listLocationsForAlert: [ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations" + ], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" + ] + }, + securityAdvisories: { + createFork: [ + "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks" + ], + createPrivateVulnerabilityReport: [ + "POST /repos/{owner}/{repo}/security-advisories/reports" + ], + createRepositoryAdvisory: [ + "POST /repos/{owner}/{repo}/security-advisories" + ], + createRepositoryAdvisoryCveRequest: [ + "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve" + ], + getGlobalAdvisory: ["GET /advisories/{ghsa_id}"], + getRepositoryAdvisory: [ + "GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}" + ], + listGlobalAdvisories: ["GET /advisories"], + listOrgRepositoryAdvisories: ["GET /orgs/{org}/security-advisories"], + listRepositoryAdvisories: ["GET /repos/{owner}/{repo}/security-advisories"], + updateRepositoryAdvisory: [ + "PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}" + ] + }, + teams: { + addOrUpdateMembershipForUserInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}" + ], + addOrUpdateProjectPermissionsInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}" + ], + addOrUpdateRepoPermissionsInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" + ], + checkPermissionsForProjectInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}" + ], + checkPermissionsForRepoInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" + ], + create: ["POST /orgs/{org}/teams"], + createDiscussionCommentInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments" + ], + createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"], + deleteDiscussionCommentInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}" + ], + deleteDiscussionInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}" + ], + deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"], + getByName: ["GET /orgs/{org}/teams/{team_slug}"], + getDiscussionCommentInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}" + ], + getDiscussionInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}" + ], + getMembershipForUserInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/memberships/{username}" + ], + list: ["GET /orgs/{org}/teams"], + listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"], + listDiscussionCommentsInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments" + ], + listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"], + listForAuthenticatedUser: ["GET /user/teams"], + listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"], + listPendingInvitationsInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/invitations" + ], + listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects"], + listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], + removeMembershipForUserInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}" + ], + removeProjectInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}" + ], + removeRepoInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" + ], + updateDiscussionCommentInOrg: [ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}" + ], + updateDiscussionInOrg: [ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}" + ], + updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"] + }, + users: { + addEmailForAuthenticated: [ + "POST /user/emails", + {}, + { renamed: ["users", "addEmailForAuthenticatedUser"] } + ], + addEmailForAuthenticatedUser: ["POST /user/emails"], + addSocialAccountForAuthenticatedUser: ["POST /user/social_accounts"], + block: ["PUT /user/blocks/{username}"], + checkBlocked: ["GET /user/blocks/{username}"], + checkFollowingForUser: ["GET /users/{username}/following/{target_user}"], + checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"], + createGpgKeyForAuthenticated: [ + "POST /user/gpg_keys", + {}, + { renamed: ["users", "createGpgKeyForAuthenticatedUser"] } + ], + createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"], + createPublicSshKeyForAuthenticated: [ + "POST /user/keys", + {}, + { renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] } + ], + createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"], + createSshSigningKeyForAuthenticatedUser: ["POST /user/ssh_signing_keys"], + deleteEmailForAuthenticated: [ + "DELETE /user/emails", + {}, + { renamed: ["users", "deleteEmailForAuthenticatedUser"] } + ], + deleteEmailForAuthenticatedUser: ["DELETE /user/emails"], + deleteGpgKeyForAuthenticated: [ + "DELETE /user/gpg_keys/{gpg_key_id}", + {}, + { renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] } + ], + deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"], + deletePublicSshKeyForAuthenticated: [ + "DELETE /user/keys/{key_id}", + {}, + { renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] } + ], + deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"], + deleteSocialAccountForAuthenticatedUser: ["DELETE /user/social_accounts"], + deleteSshSigningKeyForAuthenticatedUser: [ + "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}" + ], + follow: ["PUT /user/following/{username}"], + getAuthenticated: ["GET /user"], + getByUsername: ["GET /users/{username}"], + getContextForUser: ["GET /users/{username}/hovercard"], + getGpgKeyForAuthenticated: [ + "GET /user/gpg_keys/{gpg_key_id}", + {}, + { renamed: ["users", "getGpgKeyForAuthenticatedUser"] } + ], + getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"], + getPublicSshKeyForAuthenticated: [ + "GET /user/keys/{key_id}", + {}, + { renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] } + ], + getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"], + getSshSigningKeyForAuthenticatedUser: [ + "GET /user/ssh_signing_keys/{ssh_signing_key_id}" + ], + list: ["GET /users"], + listBlockedByAuthenticated: [ + "GET /user/blocks", + {}, + { renamed: ["users", "listBlockedByAuthenticatedUser"] } + ], + listBlockedByAuthenticatedUser: ["GET /user/blocks"], + listEmailsForAuthenticated: [ + "GET /user/emails", + {}, + { renamed: ["users", "listEmailsForAuthenticatedUser"] } + ], + listEmailsForAuthenticatedUser: ["GET /user/emails"], + listFollowedByAuthenticated: [ + "GET /user/following", + {}, + { renamed: ["users", "listFollowedByAuthenticatedUser"] } + ], + listFollowedByAuthenticatedUser: ["GET /user/following"], + listFollowersForAuthenticatedUser: ["GET /user/followers"], + listFollowersForUser: ["GET /users/{username}/followers"], + listFollowingForUser: ["GET /users/{username}/following"], + listGpgKeysForAuthenticated: [ + "GET /user/gpg_keys", + {}, + { renamed: ["users", "listGpgKeysForAuthenticatedUser"] } + ], + listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"], + listGpgKeysForUser: ["GET /users/{username}/gpg_keys"], + listPublicEmailsForAuthenticated: [ + "GET /user/public_emails", + {}, + { renamed: ["users", "listPublicEmailsForAuthenticatedUser"] } + ], + listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"], + listPublicKeysForUser: ["GET /users/{username}/keys"], + listPublicSshKeysForAuthenticated: [ + "GET /user/keys", + {}, + { renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] } + ], + listPublicSshKeysForAuthenticatedUser: ["GET /user/keys"], + listSocialAccountsForAuthenticatedUser: ["GET /user/social_accounts"], + listSocialAccountsForUser: ["GET /users/{username}/social_accounts"], + listSshSigningKeysForAuthenticatedUser: ["GET /user/ssh_signing_keys"], + listSshSigningKeysForUser: ["GET /users/{username}/ssh_signing_keys"], + setPrimaryEmailVisibilityForAuthenticated: [ + "PATCH /user/email/visibility", + {}, + { renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] } + ], + setPrimaryEmailVisibilityForAuthenticatedUser: [ + "PATCH /user/email/visibility" + ], + unblock: ["DELETE /user/blocks/{username}"], + unfollow: ["DELETE /user/following/{username}"], + updateAuthenticated: ["PATCH /user"] + } +}; +var endpoints_default = Endpoints; + +// pkg/dist-src/endpoints-to-methods.js +var endpointMethodsMap = /* @__PURE__ */ new Map(); +for (const [scope, endpoints] of Object.entries(endpoints_default)) { + for (const [methodName, endpoint] of Object.entries(endpoints)) { + const [route, defaults, decorations] = endpoint; + const [method, url] = route.split(/ /); + const endpointDefaults = Object.assign( + { + method, + url + }, + defaults + ); + if (!endpointMethodsMap.has(scope)) { + endpointMethodsMap.set(scope, /* @__PURE__ */ new Map()); + } + endpointMethodsMap.get(scope).set(methodName, { + scope, + methodName, + endpointDefaults, + decorations + }); + } +} +var handler = { + has({ scope }, methodName) { + return endpointMethodsMap.get(scope).has(methodName); + }, + getOwnPropertyDescriptor(target, methodName) { + return { + value: this.get(target, methodName), + // ensures method is in the cache + configurable: true, + writable: true, + enumerable: true + }; + }, + defineProperty(target, methodName, descriptor) { + Object.defineProperty(target.cache, methodName, descriptor); + return true; + }, + deleteProperty(target, methodName) { + delete target.cache[methodName]; + return true; + }, + ownKeys({ scope }) { + return [...endpointMethodsMap.get(scope).keys()]; + }, + set(target, methodName, value) { + return target.cache[methodName] = value; + }, + get({ octokit, scope, cache }, methodName) { + if (cache[methodName]) { + return cache[methodName]; + } + const method = endpointMethodsMap.get(scope).get(methodName); + if (!method) { + return void 0; + } + const { endpointDefaults, decorations } = method; + if (decorations) { + cache[methodName] = decorate( + octokit, + scope, + methodName, + endpointDefaults, + decorations + ); + } else { + cache[methodName] = octokit.request.defaults(endpointDefaults); + } + return cache[methodName]; + } +}; +function endpointsToMethods(octokit) { + const newMethods = {}; + for (const scope of endpointMethodsMap.keys()) { + newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler); + } + return newMethods; +} +function decorate(octokit, scope, methodName, defaults, decorations) { + const requestWithDefaults = octokit.request.defaults(defaults); + function withDecorations(...args) { + let options = requestWithDefaults.endpoint.merge(...args); + if (decorations.mapToData) { + options = Object.assign({}, options, { + data: options[decorations.mapToData], + [decorations.mapToData]: void 0 + }); + return requestWithDefaults(options); + } + if (decorations.renamed) { + const [newScope, newMethodName] = decorations.renamed; + octokit.log.warn( + `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()` + ); + } + if (decorations.deprecated) { + octokit.log.warn(decorations.deprecated); + } + if (decorations.renamedParameters) { + const options2 = requestWithDefaults.endpoint.merge(...args); + for (const [name, alias] of Object.entries( + decorations.renamedParameters + )) { + if (name in options2) { + octokit.log.warn( + `"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead` + ); + if (!(alias in options2)) { + options2[alias] = options2[name]; + } + delete options2[name]; + } + } + return requestWithDefaults(options2); + } + return requestWithDefaults(...args); + } + return Object.assign(withDecorations, requestWithDefaults); +} + +// pkg/dist-src/index.js +function restEndpointMethods(octokit) { + const api = endpointsToMethods(octokit); + return { + rest: api + }; +} +restEndpointMethods.VERSION = VERSION; +function legacyRestEndpointMethods(octokit) { + const api = endpointsToMethods(octokit); + return { + ...api, + rest: api + }; +} +legacyRestEndpointMethods.VERSION = VERSION; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + legacyRestEndpointMethods, + restEndpointMethods +}); diff --git a/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map new file mode 100644 index 00000000..f8e622cd --- /dev/null +++ b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/index.js", "../dist-src/version.js", "../dist-src/generated/endpoints.js", "../dist-src/endpoints-to-methods.js"], + "sourcesContent": ["import { VERSION } from \"./version.js\";\nimport { endpointsToMethods } from \"./endpoints-to-methods.js\";\nfunction restEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit);\n return {\n rest: api\n };\n}\nrestEndpointMethods.VERSION = VERSION;\nfunction legacyRestEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit);\n return {\n ...api,\n rest: api\n };\n}\nlegacyRestEndpointMethods.VERSION = VERSION;\nexport {\n legacyRestEndpointMethods,\n restEndpointMethods\n};\n", "const VERSION = \"13.2.2\";\nexport {\n VERSION\n};\n", "const Endpoints = {\n actions: {\n addCustomLabelsToSelfHostedRunnerForOrg: [\n \"POST /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n addCustomLabelsToSelfHostedRunnerForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n addSelectedRepoToOrgVariable: [\n \"PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}\"\n ],\n approveWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve\"\n ],\n cancelWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\"\n ],\n createEnvironmentVariable: [\n \"POST /repos/{owner}/{repo}/environments/{environment_name}/variables\"\n ],\n createOrUpdateEnvironmentSecret: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}\"\n ],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\"\n ],\n createOrgVariable: [\"POST /orgs/{org}/actions/variables\"],\n createRegistrationTokenForOrg: [\n \"POST /orgs/{org}/actions/runners/registration-token\"\n ],\n createRegistrationTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/registration-token\"\n ],\n createRemoveTokenForOrg: [\"POST /orgs/{org}/actions/runners/remove-token\"],\n createRemoveTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/remove-token\"\n ],\n createRepoVariable: [\"POST /repos/{owner}/{repo}/actions/variables\"],\n createWorkflowDispatch: [\n \"POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches\"\n ],\n deleteActionsCacheById: [\n \"DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}\"\n ],\n deleteActionsCacheByKey: [\n \"DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}\"\n ],\n deleteArtifact: [\n \"DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"\n ],\n deleteEnvironmentSecret: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}\"\n ],\n deleteEnvironmentVariable: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}\"\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}\"],\n deleteOrgVariable: [\"DELETE /orgs/{org}/actions/variables/{name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\"\n ],\n deleteRepoVariable: [\n \"DELETE /repos/{owner}/{repo}/actions/variables/{name}\"\n ],\n deleteSelfHostedRunnerFromOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}\"\n ],\n deleteSelfHostedRunnerFromRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\"\n ],\n deleteWorkflowRun: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n deleteWorkflowRunLogs: [\n \"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"\n ],\n disableSelectedRepositoryGithubActionsOrganization: [\n \"DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}\"\n ],\n disableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable\"\n ],\n downloadArtifact: [\n \"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}\"\n ],\n downloadJobLogsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\"\n ],\n downloadWorkflowRunAttemptLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs\"\n ],\n downloadWorkflowRunLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"\n ],\n enableSelectedRepositoryGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories/{repository_id}\"\n ],\n enableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable\"\n ],\n forceCancelWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel\"\n ],\n generateRunnerJitconfigForOrg: [\n \"POST /orgs/{org}/actions/runners/generate-jitconfig\"\n ],\n generateRunnerJitconfigForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig\"\n ],\n getActionsCacheList: [\"GET /repos/{owner}/{repo}/actions/caches\"],\n getActionsCacheUsage: [\"GET /repos/{owner}/{repo}/actions/cache/usage\"],\n getActionsCacheUsageByRepoForOrg: [\n \"GET /orgs/{org}/actions/cache/usage-by-repository\"\n ],\n getActionsCacheUsageForOrg: [\"GET /orgs/{org}/actions/cache/usage\"],\n getAllowedActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/selected-actions\"\n ],\n getAllowedActionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/selected-actions\"\n ],\n getArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n getCustomOidcSubClaimForRepo: [\n \"GET /repos/{owner}/{repo}/actions/oidc/customization/sub\"\n ],\n getEnvironmentPublicKey: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key\"\n ],\n getEnvironmentSecret: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}\"\n ],\n getEnvironmentVariable: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}\"\n ],\n getGithubActionsDefaultWorkflowPermissionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/workflow\"\n ],\n getGithubActionsDefaultWorkflowPermissionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/workflow\"\n ],\n getGithubActionsPermissionsOrganization: [\n \"GET /orgs/{org}/actions/permissions\"\n ],\n getGithubActionsPermissionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions\"\n ],\n getJobForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/actions/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}\"],\n getOrgVariable: [\"GET /orgs/{org}/actions/variables/{name}\"],\n getPendingDeploymentsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"\n ],\n getRepoPermissions: [\n \"GET /repos/{owner}/{repo}/actions/permissions\",\n {},\n { renamed: [\"actions\", \"getGithubActionsPermissionsRepository\"] }\n ],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n getRepoVariable: [\"GET /repos/{owner}/{repo}/actions/variables/{name}\"],\n getReviewsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals\"\n ],\n getSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}\"],\n getSelfHostedRunnerForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\"\n ],\n getWorkflow: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}\"],\n getWorkflowAccessToRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/access\"\n ],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunAttempt: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}\"\n ],\n getWorkflowRunUsage: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\"\n ],\n getWorkflowUsage: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing\"\n ],\n listArtifactsForRepo: [\"GET /repos/{owner}/{repo}/actions/artifacts\"],\n listEnvironmentSecrets: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/secrets\"\n ],\n listEnvironmentVariables: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/variables\"\n ],\n listJobsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\"\n ],\n listJobsForWorkflowRunAttempt: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\"\n ],\n listLabelsForSelfHostedRunnerForOrg: [\n \"GET /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n listLabelsForSelfHostedRunnerForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n listOrgSecrets: [\"GET /orgs/{org}/actions/secrets\"],\n listOrgVariables: [\"GET /orgs/{org}/actions/variables\"],\n listRepoOrganizationSecrets: [\n \"GET /repos/{owner}/{repo}/actions/organization-secrets\"\n ],\n listRepoOrganizationVariables: [\n \"GET /repos/{owner}/{repo}/actions/organization-variables\"\n ],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/actions/secrets\"],\n listRepoVariables: [\"GET /repos/{owner}/{repo}/actions/variables\"],\n listRepoWorkflows: [\"GET /repos/{owner}/{repo}/actions/workflows\"],\n listRunnerApplicationsForOrg: [\"GET /orgs/{org}/actions/runners/downloads\"],\n listRunnerApplicationsForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/downloads\"\n ],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\"\n ],\n listSelectedReposForOrgVariable: [\n \"GET /orgs/{org}/actions/variables/{name}/repositories\"\n ],\n listSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/repositories\"\n ],\n listSelfHostedRunnersForOrg: [\"GET /orgs/{org}/actions/runners\"],\n listSelfHostedRunnersForRepo: [\"GET /repos/{owner}/{repo}/actions/runners\"],\n listWorkflowRunArtifacts: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\"\n ],\n listWorkflowRuns: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\"\n ],\n listWorkflowRunsForRepo: [\"GET /repos/{owner}/{repo}/actions/runs\"],\n reRunJobForWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun\"\n ],\n reRunWorkflow: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\"],\n reRunWorkflowFailedJobs: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs\"\n ],\n removeAllCustomLabelsFromSelfHostedRunnerForOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n removeAllCustomLabelsFromSelfHostedRunnerForRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n removeCustomLabelFromSelfHostedRunnerForOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}\"\n ],\n removeCustomLabelFromSelfHostedRunnerForRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}\"\n ],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n removeSelectedRepoFromOrgVariable: [\n \"DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}\"\n ],\n reviewCustomGatesForRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule\"\n ],\n reviewPendingDeploymentsForRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"\n ],\n setAllowedActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/selected-actions\"\n ],\n setAllowedActionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/selected-actions\"\n ],\n setCustomLabelsForSelfHostedRunnerForOrg: [\n \"PUT /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n setCustomLabelsForSelfHostedRunnerForRepo: [\n \"PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n setCustomOidcSubClaimForRepo: [\n \"PUT /repos/{owner}/{repo}/actions/oidc/customization/sub\"\n ],\n setGithubActionsDefaultWorkflowPermissionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/workflow\"\n ],\n setGithubActionsDefaultWorkflowPermissionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/workflow\"\n ],\n setGithubActionsPermissionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions\"\n ],\n setGithubActionsPermissionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions\"\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories\"\n ],\n setSelectedReposForOrgVariable: [\n \"PUT /orgs/{org}/actions/variables/{name}/repositories\"\n ],\n setSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories\"\n ],\n setWorkflowAccessToRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/access\"\n ],\n updateEnvironmentVariable: [\n \"PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}\"\n ],\n updateOrgVariable: [\"PATCH /orgs/{org}/actions/variables/{name}\"],\n updateRepoVariable: [\n \"PATCH /repos/{owner}/{repo}/actions/variables/{name}\"\n ]\n },\n activity: {\n checkRepoIsStarredByAuthenticatedUser: [\"GET /user/starred/{owner}/{repo}\"],\n deleteRepoSubscription: [\"DELETE /repos/{owner}/{repo}/subscription\"],\n deleteThreadSubscription: [\n \"DELETE /notifications/threads/{thread_id}/subscription\"\n ],\n getFeeds: [\"GET /feeds\"],\n getRepoSubscription: [\"GET /repos/{owner}/{repo}/subscription\"],\n getThread: [\"GET /notifications/threads/{thread_id}\"],\n getThreadSubscriptionForAuthenticatedUser: [\n \"GET /notifications/threads/{thread_id}/subscription\"\n ],\n listEventsForAuthenticatedUser: [\"GET /users/{username}/events\"],\n listNotificationsForAuthenticatedUser: [\"GET /notifications\"],\n listOrgEventsForAuthenticatedUser: [\n \"GET /users/{username}/events/orgs/{org}\"\n ],\n listPublicEvents: [\"GET /events\"],\n listPublicEventsForRepoNetwork: [\"GET /networks/{owner}/{repo}/events\"],\n listPublicEventsForUser: [\"GET /users/{username}/events/public\"],\n listPublicOrgEvents: [\"GET /orgs/{org}/events\"],\n listReceivedEventsForUser: [\"GET /users/{username}/received_events\"],\n listReceivedPublicEventsForUser: [\n \"GET /users/{username}/received_events/public\"\n ],\n listRepoEvents: [\"GET /repos/{owner}/{repo}/events\"],\n listRepoNotificationsForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/notifications\"\n ],\n listReposStarredByAuthenticatedUser: [\"GET /user/starred\"],\n listReposStarredByUser: [\"GET /users/{username}/starred\"],\n listReposWatchedByUser: [\"GET /users/{username}/subscriptions\"],\n listStargazersForRepo: [\"GET /repos/{owner}/{repo}/stargazers\"],\n listWatchedReposForAuthenticatedUser: [\"GET /user/subscriptions\"],\n listWatchersForRepo: [\"GET /repos/{owner}/{repo}/subscribers\"],\n markNotificationsAsRead: [\"PUT /notifications\"],\n markRepoNotificationsAsRead: [\"PUT /repos/{owner}/{repo}/notifications\"],\n markThreadAsDone: [\"DELETE /notifications/threads/{thread_id}\"],\n markThreadAsRead: [\"PATCH /notifications/threads/{thread_id}\"],\n setRepoSubscription: [\"PUT /repos/{owner}/{repo}/subscription\"],\n setThreadSubscription: [\n \"PUT /notifications/threads/{thread_id}/subscription\"\n ],\n starRepoForAuthenticatedUser: [\"PUT /user/starred/{owner}/{repo}\"],\n unstarRepoForAuthenticatedUser: [\"DELETE /user/starred/{owner}/{repo}\"]\n },\n apps: {\n addRepoToInstallation: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\",\n {},\n { renamed: [\"apps\", \"addRepoToInstallationForAuthenticatedUser\"] }\n ],\n addRepoToInstallationForAuthenticatedUser: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\"\n ],\n checkToken: [\"POST /applications/{client_id}/token\"],\n createFromManifest: [\"POST /app-manifests/{code}/conversions\"],\n createInstallationAccessToken: [\n \"POST /app/installations/{installation_id}/access_tokens\"\n ],\n deleteAuthorization: [\"DELETE /applications/{client_id}/grant\"],\n deleteInstallation: [\"DELETE /app/installations/{installation_id}\"],\n deleteToken: [\"DELETE /applications/{client_id}/token\"],\n getAuthenticated: [\"GET /app\"],\n getBySlug: [\"GET /apps/{app_slug}\"],\n getInstallation: [\"GET /app/installations/{installation_id}\"],\n getOrgInstallation: [\"GET /orgs/{org}/installation\"],\n getRepoInstallation: [\"GET /repos/{owner}/{repo}/installation\"],\n getSubscriptionPlanForAccount: [\n \"GET /marketplace_listing/accounts/{account_id}\"\n ],\n getSubscriptionPlanForAccountStubbed: [\n \"GET /marketplace_listing/stubbed/accounts/{account_id}\"\n ],\n getUserInstallation: [\"GET /users/{username}/installation\"],\n getWebhookConfigForApp: [\"GET /app/hook/config\"],\n getWebhookDelivery: [\"GET /app/hook/deliveries/{delivery_id}\"],\n listAccountsForPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\"],\n listAccountsForPlanStubbed: [\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\"\n ],\n listInstallationReposForAuthenticatedUser: [\n \"GET /user/installations/{installation_id}/repositories\"\n ],\n listInstallationRequestsForAuthenticatedApp: [\n \"GET /app/installation-requests\"\n ],\n listInstallations: [\"GET /app/installations\"],\n listInstallationsForAuthenticatedUser: [\"GET /user/installations\"],\n listPlans: [\"GET /marketplace_listing/plans\"],\n listPlansStubbed: [\"GET /marketplace_listing/stubbed/plans\"],\n listReposAccessibleToInstallation: [\"GET /installation/repositories\"],\n listSubscriptionsForAuthenticatedUser: [\"GET /user/marketplace_purchases\"],\n listSubscriptionsForAuthenticatedUserStubbed: [\n \"GET /user/marketplace_purchases/stubbed\"\n ],\n listWebhookDeliveries: [\"GET /app/hook/deliveries\"],\n redeliverWebhookDelivery: [\n \"POST /app/hook/deliveries/{delivery_id}/attempts\"\n ],\n removeRepoFromInstallation: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\",\n {},\n { renamed: [\"apps\", \"removeRepoFromInstallationForAuthenticatedUser\"] }\n ],\n removeRepoFromInstallationForAuthenticatedUser: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\"\n ],\n resetToken: [\"PATCH /applications/{client_id}/token\"],\n revokeInstallationAccessToken: [\"DELETE /installation/token\"],\n scopeToken: [\"POST /applications/{client_id}/token/scoped\"],\n suspendInstallation: [\"PUT /app/installations/{installation_id}/suspended\"],\n unsuspendInstallation: [\n \"DELETE /app/installations/{installation_id}/suspended\"\n ],\n updateWebhookConfigForApp: [\"PATCH /app/hook/config\"]\n },\n billing: {\n getGithubActionsBillingOrg: [\"GET /orgs/{org}/settings/billing/actions\"],\n getGithubActionsBillingUser: [\n \"GET /users/{username}/settings/billing/actions\"\n ],\n getGithubPackagesBillingOrg: [\"GET /orgs/{org}/settings/billing/packages\"],\n getGithubPackagesBillingUser: [\n \"GET /users/{username}/settings/billing/packages\"\n ],\n getSharedStorageBillingOrg: [\n \"GET /orgs/{org}/settings/billing/shared-storage\"\n ],\n getSharedStorageBillingUser: [\n \"GET /users/{username}/settings/billing/shared-storage\"\n ]\n },\n checks: {\n create: [\"POST /repos/{owner}/{repo}/check-runs\"],\n createSuite: [\"POST /repos/{owner}/{repo}/check-suites\"],\n get: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n getSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}\"],\n listAnnotations: [\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\"\n ],\n listForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\"],\n listForSuite: [\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\"\n ],\n listSuitesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\"],\n rerequestRun: [\n \"POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest\"\n ],\n rerequestSuite: [\n \"POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest\"\n ],\n setSuitesPreferences: [\n \"PATCH /repos/{owner}/{repo}/check-suites/preferences\"\n ],\n update: [\"PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}\"]\n },\n codeScanning: {\n deleteAnalysis: [\n \"DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}\"\n ],\n getAlert: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\",\n {},\n { renamedParameters: { alert_id: \"alert_number\" } }\n ],\n getAnalysis: [\n \"GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}\"\n ],\n getCodeqlDatabase: [\n \"GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}\"\n ],\n getDefaultSetup: [\"GET /repos/{owner}/{repo}/code-scanning/default-setup\"],\n getSarif: [\"GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}\"],\n listAlertInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\"\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/code-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"],\n listAlertsInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n {},\n { renamed: [\"codeScanning\", \"listAlertInstances\"] }\n ],\n listCodeqlDatabases: [\n \"GET /repos/{owner}/{repo}/code-scanning/codeql/databases\"\n ],\n listRecentAnalyses: [\"GET /repos/{owner}/{repo}/code-scanning/analyses\"],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\"\n ],\n updateDefaultSetup: [\n \"PATCH /repos/{owner}/{repo}/code-scanning/default-setup\"\n ],\n uploadSarif: [\"POST /repos/{owner}/{repo}/code-scanning/sarifs\"]\n },\n codesOfConduct: {\n getAllCodesOfConduct: [\"GET /codes_of_conduct\"],\n getConductCode: [\"GET /codes_of_conduct/{key}\"]\n },\n codespaces: {\n addRepositoryForSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n checkPermissionsForDevcontainer: [\n \"GET /repos/{owner}/{repo}/codespaces/permissions_check\"\n ],\n codespaceMachinesForAuthenticatedUser: [\n \"GET /user/codespaces/{codespace_name}/machines\"\n ],\n createForAuthenticatedUser: [\"POST /user/codespaces\"],\n createOrUpdateOrgSecret: [\n \"PUT /orgs/{org}/codespaces/secrets/{secret_name}\"\n ],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"\n ],\n createOrUpdateSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}\"\n ],\n createWithPrForAuthenticatedUser: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces\"\n ],\n createWithRepoForAuthenticatedUser: [\n \"POST /repos/{owner}/{repo}/codespaces\"\n ],\n deleteForAuthenticatedUser: [\"DELETE /user/codespaces/{codespace_name}\"],\n deleteFromOrganization: [\n \"DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}\"\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/codespaces/secrets/{secret_name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"\n ],\n deleteSecretForAuthenticatedUser: [\n \"DELETE /user/codespaces/secrets/{secret_name}\"\n ],\n exportForAuthenticatedUser: [\n \"POST /user/codespaces/{codespace_name}/exports\"\n ],\n getCodespacesForUserInOrg: [\n \"GET /orgs/{org}/members/{username}/codespaces\"\n ],\n getExportDetailsForAuthenticatedUser: [\n \"GET /user/codespaces/{codespace_name}/exports/{export_id}\"\n ],\n getForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/codespaces/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/codespaces/secrets/{secret_name}\"],\n getPublicKeyForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/public-key\"\n ],\n getRepoPublicKey: [\n \"GET /repos/{owner}/{repo}/codespaces/secrets/public-key\"\n ],\n getRepoSecret: [\n \"GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"\n ],\n getSecretForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/{secret_name}\"\n ],\n listDevcontainersInRepositoryForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/devcontainers\"\n ],\n listForAuthenticatedUser: [\"GET /user/codespaces\"],\n listInOrganization: [\n \"GET /orgs/{org}/codespaces\",\n {},\n { renamedParameters: { org_id: \"org\" } }\n ],\n listInRepositoryForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces\"\n ],\n listOrgSecrets: [\"GET /orgs/{org}/codespaces/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/codespaces/secrets\"],\n listRepositoriesForSecretForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/{secret_name}/repositories\"\n ],\n listSecretsForAuthenticatedUser: [\"GET /user/codespaces/secrets\"],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories\"\n ],\n preFlightWithRepoForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/new\"\n ],\n publishForAuthenticatedUser: [\n \"POST /user/codespaces/{codespace_name}/publish\"\n ],\n removeRepositoryForSecretForAuthenticatedUser: [\n \"DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n repoMachinesForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/machines\"\n ],\n setRepositoriesForSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}/repositories\"\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories\"\n ],\n startForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/start\"],\n stopForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/stop\"],\n stopInOrganization: [\n \"POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop\"\n ],\n updateForAuthenticatedUser: [\"PATCH /user/codespaces/{codespace_name}\"]\n },\n copilot: {\n addCopilotSeatsForTeams: [\n \"POST /orgs/{org}/copilot/billing/selected_teams\"\n ],\n addCopilotSeatsForUsers: [\n \"POST /orgs/{org}/copilot/billing/selected_users\"\n ],\n cancelCopilotSeatAssignmentForTeams: [\n \"DELETE /orgs/{org}/copilot/billing/selected_teams\"\n ],\n cancelCopilotSeatAssignmentForUsers: [\n \"DELETE /orgs/{org}/copilot/billing/selected_users\"\n ],\n getCopilotOrganizationDetails: [\"GET /orgs/{org}/copilot/billing\"],\n getCopilotSeatDetailsForUser: [\n \"GET /orgs/{org}/members/{username}/copilot\"\n ],\n listCopilotSeats: [\"GET /orgs/{org}/copilot/billing/seats\"],\n usageMetricsForEnterprise: [\"GET /enterprises/{enterprise}/copilot/usage\"],\n usageMetricsForOrg: [\"GET /orgs/{org}/copilot/usage\"],\n usageMetricsForTeam: [\"GET /orgs/{org}/team/{team_slug}/copilot/usage\"]\n },\n dependabot: {\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n createOrUpdateOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}\"\n ],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/dependabot/secrets/{secret_name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"\n ],\n getAlert: [\"GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/dependabot/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/dependabot/secrets/{secret_name}\"],\n getRepoPublicKey: [\n \"GET /repos/{owner}/{repo}/dependabot/secrets/public-key\"\n ],\n getRepoSecret: [\n \"GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"\n ],\n listAlertsForEnterprise: [\n \"GET /enterprises/{enterprise}/dependabot/alerts\"\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/dependabot/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/dependabot/alerts\"],\n listOrgSecrets: [\"GET /orgs/{org}/dependabot/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/dependabot/secrets\"],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"\n ],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"\n ],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}\"\n ]\n },\n dependencyGraph: {\n createRepositorySnapshot: [\n \"POST /repos/{owner}/{repo}/dependency-graph/snapshots\"\n ],\n diffRange: [\n \"GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}\"\n ],\n exportSbom: [\"GET /repos/{owner}/{repo}/dependency-graph/sbom\"]\n },\n emojis: { get: [\"GET /emojis\"] },\n gists: {\n checkIsStarred: [\"GET /gists/{gist_id}/star\"],\n create: [\"POST /gists\"],\n createComment: [\"POST /gists/{gist_id}/comments\"],\n delete: [\"DELETE /gists/{gist_id}\"],\n deleteComment: [\"DELETE /gists/{gist_id}/comments/{comment_id}\"],\n fork: [\"POST /gists/{gist_id}/forks\"],\n get: [\"GET /gists/{gist_id}\"],\n getComment: [\"GET /gists/{gist_id}/comments/{comment_id}\"],\n getRevision: [\"GET /gists/{gist_id}/{sha}\"],\n list: [\"GET /gists\"],\n listComments: [\"GET /gists/{gist_id}/comments\"],\n listCommits: [\"GET /gists/{gist_id}/commits\"],\n listForUser: [\"GET /users/{username}/gists\"],\n listForks: [\"GET /gists/{gist_id}/forks\"],\n listPublic: [\"GET /gists/public\"],\n listStarred: [\"GET /gists/starred\"],\n star: [\"PUT /gists/{gist_id}/star\"],\n unstar: [\"DELETE /gists/{gist_id}/star\"],\n update: [\"PATCH /gists/{gist_id}\"],\n updateComment: [\"PATCH /gists/{gist_id}/comments/{comment_id}\"]\n },\n git: {\n createBlob: [\"POST /repos/{owner}/{repo}/git/blobs\"],\n createCommit: [\"POST /repos/{owner}/{repo}/git/commits\"],\n createRef: [\"POST /repos/{owner}/{repo}/git/refs\"],\n createTag: [\"POST /repos/{owner}/{repo}/git/tags\"],\n createTree: [\"POST /repos/{owner}/{repo}/git/trees\"],\n deleteRef: [\"DELETE /repos/{owner}/{repo}/git/refs/{ref}\"],\n getBlob: [\"GET /repos/{owner}/{repo}/git/blobs/{file_sha}\"],\n getCommit: [\"GET /repos/{owner}/{repo}/git/commits/{commit_sha}\"],\n getRef: [\"GET /repos/{owner}/{repo}/git/ref/{ref}\"],\n getTag: [\"GET /repos/{owner}/{repo}/git/tags/{tag_sha}\"],\n getTree: [\"GET /repos/{owner}/{repo}/git/trees/{tree_sha}\"],\n listMatchingRefs: [\"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\"],\n updateRef: [\"PATCH /repos/{owner}/{repo}/git/refs/{ref}\"]\n },\n gitignore: {\n getAllTemplates: [\"GET /gitignore/templates\"],\n getTemplate: [\"GET /gitignore/templates/{name}\"]\n },\n interactions: {\n getRestrictionsForAuthenticatedUser: [\"GET /user/interaction-limits\"],\n getRestrictionsForOrg: [\"GET /orgs/{org}/interaction-limits\"],\n getRestrictionsForRepo: [\"GET /repos/{owner}/{repo}/interaction-limits\"],\n getRestrictionsForYourPublicRepos: [\n \"GET /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"getRestrictionsForAuthenticatedUser\"] }\n ],\n removeRestrictionsForAuthenticatedUser: [\"DELETE /user/interaction-limits\"],\n removeRestrictionsForOrg: [\"DELETE /orgs/{org}/interaction-limits\"],\n removeRestrictionsForRepo: [\n \"DELETE /repos/{owner}/{repo}/interaction-limits\"\n ],\n removeRestrictionsForYourPublicRepos: [\n \"DELETE /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"removeRestrictionsForAuthenticatedUser\"] }\n ],\n setRestrictionsForAuthenticatedUser: [\"PUT /user/interaction-limits\"],\n setRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\"],\n setRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\"],\n setRestrictionsForYourPublicRepos: [\n \"PUT /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"setRestrictionsForAuthenticatedUser\"] }\n ]\n },\n issues: {\n addAssignees: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/assignees\"\n ],\n addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n checkUserCanBeAssigned: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\"],\n checkUserCanBeAssignedToIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}\"\n ],\n create: [\"POST /repos/{owner}/{repo}/issues\"],\n createComment: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/comments\"\n ],\n createLabel: [\"POST /repos/{owner}/{repo}/labels\"],\n createMilestone: [\"POST /repos/{owner}/{repo}/milestones\"],\n deleteComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}\"\n ],\n deleteLabel: [\"DELETE /repos/{owner}/{repo}/labels/{name}\"],\n deleteMilestone: [\n \"DELETE /repos/{owner}/{repo}/milestones/{milestone_number}\"\n ],\n get: [\"GET /repos/{owner}/{repo}/issues/{issue_number}\"],\n getComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n getEvent: [\"GET /repos/{owner}/{repo}/issues/events/{event_id}\"],\n getLabel: [\"GET /repos/{owner}/{repo}/labels/{name}\"],\n getMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n list: [\"GET /issues\"],\n listAssignees: [\"GET /repos/{owner}/{repo}/assignees\"],\n listComments: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n listCommentsForRepo: [\"GET /repos/{owner}/{repo}/issues/comments\"],\n listEvents: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/events\"],\n listEventsForRepo: [\"GET /repos/{owner}/{repo}/issues/events\"],\n listEventsForTimeline: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\"\n ],\n listForAuthenticatedUser: [\"GET /user/issues\"],\n listForOrg: [\"GET /orgs/{org}/issues\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/issues\"],\n listLabelsForMilestone: [\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\"\n ],\n listLabelsForRepo: [\"GET /repos/{owner}/{repo}/labels\"],\n listLabelsOnIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\"\n ],\n listMilestones: [\"GET /repos/{owner}/{repo}/milestones\"],\n lock: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n removeAllLabels: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\"\n ],\n removeAssignees: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees\"\n ],\n removeLabel: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\"\n ],\n setLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n unlock: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n update: [\"PATCH /repos/{owner}/{repo}/issues/{issue_number}\"],\n updateComment: [\"PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n updateLabel: [\"PATCH /repos/{owner}/{repo}/labels/{name}\"],\n updateMilestone: [\n \"PATCH /repos/{owner}/{repo}/milestones/{milestone_number}\"\n ]\n },\n licenses: {\n get: [\"GET /licenses/{license}\"],\n getAllCommonlyUsed: [\"GET /licenses\"],\n getForRepo: [\"GET /repos/{owner}/{repo}/license\"]\n },\n markdown: {\n render: [\"POST /markdown\"],\n renderRaw: [\n \"POST /markdown/raw\",\n { headers: { \"content-type\": \"text/plain; charset=utf-8\" } }\n ]\n },\n meta: {\n get: [\"GET /meta\"],\n getAllVersions: [\"GET /versions\"],\n getOctocat: [\"GET /octocat\"],\n getZen: [\"GET /zen\"],\n root: [\"GET /\"]\n },\n migrations: {\n deleteArchiveForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/archive\"\n ],\n deleteArchiveForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/archive\"\n ],\n downloadArchiveForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}/archive\"\n ],\n getArchiveForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/archive\"\n ],\n getStatusForAuthenticatedUser: [\"GET /user/migrations/{migration_id}\"],\n getStatusForOrg: [\"GET /orgs/{org}/migrations/{migration_id}\"],\n listForAuthenticatedUser: [\"GET /user/migrations\"],\n listForOrg: [\"GET /orgs/{org}/migrations\"],\n listReposForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/repositories\"\n ],\n listReposForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/repositories\"],\n listReposForUser: [\n \"GET /user/migrations/{migration_id}/repositories\",\n {},\n { renamed: [\"migrations\", \"listReposForAuthenticatedUser\"] }\n ],\n startForAuthenticatedUser: [\"POST /user/migrations\"],\n startForOrg: [\"POST /orgs/{org}/migrations\"],\n unlockRepoForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock\"\n ],\n unlockRepoForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\"\n ]\n },\n oidc: {\n getOidcCustomSubTemplateForOrg: [\n \"GET /orgs/{org}/actions/oidc/customization/sub\"\n ],\n updateOidcCustomSubTemplateForOrg: [\n \"PUT /orgs/{org}/actions/oidc/customization/sub\"\n ]\n },\n orgs: {\n addSecurityManagerTeam: [\n \"PUT /orgs/{org}/security-managers/teams/{team_slug}\"\n ],\n assignTeamToOrgRole: [\n \"PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}\"\n ],\n assignUserToOrgRole: [\n \"PUT /orgs/{org}/organization-roles/users/{username}/{role_id}\"\n ],\n blockUser: [\"PUT /orgs/{org}/blocks/{username}\"],\n cancelInvitation: [\"DELETE /orgs/{org}/invitations/{invitation_id}\"],\n checkBlockedUser: [\"GET /orgs/{org}/blocks/{username}\"],\n checkMembershipForUser: [\"GET /orgs/{org}/members/{username}\"],\n checkPublicMembershipForUser: [\"GET /orgs/{org}/public_members/{username}\"],\n convertMemberToOutsideCollaborator: [\n \"PUT /orgs/{org}/outside_collaborators/{username}\"\n ],\n createCustomOrganizationRole: [\"POST /orgs/{org}/organization-roles\"],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createOrUpdateCustomProperties: [\"PATCH /orgs/{org}/properties/schema\"],\n createOrUpdateCustomPropertiesValuesForRepos: [\n \"PATCH /orgs/{org}/properties/values\"\n ],\n createOrUpdateCustomProperty: [\n \"PUT /orgs/{org}/properties/schema/{custom_property_name}\"\n ],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n delete: [\"DELETE /orgs/{org}\"],\n deleteCustomOrganizationRole: [\n \"DELETE /orgs/{org}/organization-roles/{role_id}\"\n ],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n enableOrDisableSecurityProductOnAllOrgRepos: [\n \"POST /orgs/{org}/{security_product}/{enablement}\"\n ],\n get: [\"GET /orgs/{org}\"],\n getAllCustomProperties: [\"GET /orgs/{org}/properties/schema\"],\n getCustomProperty: [\n \"GET /orgs/{org}/properties/schema/{custom_property_name}\"\n ],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\n getOrgRole: [\"GET /orgs/{org}/organization-roles/{role_id}\"],\n getWebhook: [\"GET /orgs/{org}/hooks/{hook_id}\"],\n getWebhookConfigForOrg: [\"GET /orgs/{org}/hooks/{hook_id}/config\"],\n getWebhookDelivery: [\n \"GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}\"\n ],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\"],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listCustomPropertiesValuesForRepos: [\"GET /orgs/{org}/properties/values\"],\n listFailedInvitations: [\"GET /orgs/{org}/failed_invitations\"],\n listForAuthenticatedUser: [\"GET /user/orgs\"],\n listForUser: [\"GET /users/{username}/orgs\"],\n listInvitationTeams: [\"GET /orgs/{org}/invitations/{invitation_id}/teams\"],\n listMembers: [\"GET /orgs/{org}/members\"],\n listMembershipsForAuthenticatedUser: [\"GET /user/memberships/orgs\"],\n listOrgRoleTeams: [\"GET /orgs/{org}/organization-roles/{role_id}/teams\"],\n listOrgRoleUsers: [\"GET /orgs/{org}/organization-roles/{role_id}/users\"],\n listOrgRoles: [\"GET /orgs/{org}/organization-roles\"],\n listOrganizationFineGrainedPermissions: [\n \"GET /orgs/{org}/organization-fine-grained-permissions\"\n ],\n listOutsideCollaborators: [\"GET /orgs/{org}/outside_collaborators\"],\n listPatGrantRepositories: [\n \"GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories\"\n ],\n listPatGrantRequestRepositories: [\n \"GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories\"\n ],\n listPatGrantRequests: [\"GET /orgs/{org}/personal-access-token-requests\"],\n listPatGrants: [\"GET /orgs/{org}/personal-access-tokens\"],\n listPendingInvitations: [\"GET /orgs/{org}/invitations\"],\n listPublicMembers: [\"GET /orgs/{org}/public_members\"],\n listSecurityManagerTeams: [\"GET /orgs/{org}/security-managers\"],\n listWebhookDeliveries: [\"GET /orgs/{org}/hooks/{hook_id}/deliveries\"],\n listWebhooks: [\"GET /orgs/{org}/hooks\"],\n patchCustomOrganizationRole: [\n \"PATCH /orgs/{org}/organization-roles/{role_id}\"\n ],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\n \"POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\"\n ],\n removeCustomProperty: [\n \"DELETE /orgs/{org}/properties/schema/{custom_property_name}\"\n ],\n removeMember: [\"DELETE /orgs/{org}/members/{username}\"],\n removeMembershipForUser: [\"DELETE /orgs/{org}/memberships/{username}\"],\n removeOutsideCollaborator: [\n \"DELETE /orgs/{org}/outside_collaborators/{username}\"\n ],\n removePublicMembershipForAuthenticatedUser: [\n \"DELETE /orgs/{org}/public_members/{username}\"\n ],\n removeSecurityManagerTeam: [\n \"DELETE /orgs/{org}/security-managers/teams/{team_slug}\"\n ],\n reviewPatGrantRequest: [\n \"POST /orgs/{org}/personal-access-token-requests/{pat_request_id}\"\n ],\n reviewPatGrantRequestsInBulk: [\n \"POST /orgs/{org}/personal-access-token-requests\"\n ],\n revokeAllOrgRolesTeam: [\n \"DELETE /orgs/{org}/organization-roles/teams/{team_slug}\"\n ],\n revokeAllOrgRolesUser: [\n \"DELETE /orgs/{org}/organization-roles/users/{username}\"\n ],\n revokeOrgRoleTeam: [\n \"DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}\"\n ],\n revokeOrgRoleUser: [\n \"DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}\"\n ],\n setMembershipForUser: [\"PUT /orgs/{org}/memberships/{username}\"],\n setPublicMembershipForAuthenticatedUser: [\n \"PUT /orgs/{org}/public_members/{username}\"\n ],\n unblockUser: [\"DELETE /orgs/{org}/blocks/{username}\"],\n update: [\"PATCH /orgs/{org}\"],\n updateMembershipForAuthenticatedUser: [\n \"PATCH /user/memberships/orgs/{org}\"\n ],\n updatePatAccess: [\"POST /orgs/{org}/personal-access-tokens/{pat_id}\"],\n updatePatAccesses: [\"POST /orgs/{org}/personal-access-tokens\"],\n updateWebhook: [\"PATCH /orgs/{org}/hooks/{hook_id}\"],\n updateWebhookConfigForOrg: [\"PATCH /orgs/{org}/hooks/{hook_id}/config\"]\n },\n packages: {\n deletePackageForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}\"\n ],\n deletePackageForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}\"\n ],\n deletePackageForUser: [\n \"DELETE /users/{username}/packages/{package_type}/{package_name}\"\n ],\n deletePackageVersionForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n deletePackageVersionForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n deletePackageVersionForUser: [\n \"DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n getAllPackageVersionsForAPackageOwnedByAnOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n {},\n { renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByOrg\"] }\n ],\n getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n {},\n {\n renamed: [\n \"packages\",\n \"getAllPackageVersionsForPackageOwnedByAuthenticatedUser\"\n ]\n }\n ],\n getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\"\n ],\n getAllPackageVersionsForPackageOwnedByOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\"\n ],\n getAllPackageVersionsForPackageOwnedByUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions\"\n ],\n getPackageForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}\"\n ],\n getPackageForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}\"\n ],\n getPackageForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}\"\n ],\n getPackageVersionForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n getPackageVersionForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n getPackageVersionForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n listDockerMigrationConflictingPackagesForAuthenticatedUser: [\n \"GET /user/docker/conflicts\"\n ],\n listDockerMigrationConflictingPackagesForOrganization: [\n \"GET /orgs/{org}/docker/conflicts\"\n ],\n listDockerMigrationConflictingPackagesForUser: [\n \"GET /users/{username}/docker/conflicts\"\n ],\n listPackagesForAuthenticatedUser: [\"GET /user/packages\"],\n listPackagesForOrganization: [\"GET /orgs/{org}/packages\"],\n listPackagesForUser: [\"GET /users/{username}/packages\"],\n restorePackageForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/restore{?token}\"\n ],\n restorePackageForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}\"\n ],\n restorePackageForUser: [\n \"POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}\"\n ],\n restorePackageVersionForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"\n ],\n restorePackageVersionForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"\n ],\n restorePackageVersionForUser: [\n \"POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"\n ]\n },\n projects: {\n addCollaborator: [\"PUT /projects/{project_id}/collaborators/{username}\"],\n createCard: [\"POST /projects/columns/{column_id}/cards\"],\n createColumn: [\"POST /projects/{project_id}/columns\"],\n createForAuthenticatedUser: [\"POST /user/projects\"],\n createForOrg: [\"POST /orgs/{org}/projects\"],\n createForRepo: [\"POST /repos/{owner}/{repo}/projects\"],\n delete: [\"DELETE /projects/{project_id}\"],\n deleteCard: [\"DELETE /projects/columns/cards/{card_id}\"],\n deleteColumn: [\"DELETE /projects/columns/{column_id}\"],\n get: [\"GET /projects/{project_id}\"],\n getCard: [\"GET /projects/columns/cards/{card_id}\"],\n getColumn: [\"GET /projects/columns/{column_id}\"],\n getPermissionForUser: [\n \"GET /projects/{project_id}/collaborators/{username}/permission\"\n ],\n listCards: [\"GET /projects/columns/{column_id}/cards\"],\n listCollaborators: [\"GET /projects/{project_id}/collaborators\"],\n listColumns: [\"GET /projects/{project_id}/columns\"],\n listForOrg: [\"GET /orgs/{org}/projects\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/projects\"],\n listForUser: [\"GET /users/{username}/projects\"],\n moveCard: [\"POST /projects/columns/cards/{card_id}/moves\"],\n moveColumn: [\"POST /projects/columns/{column_id}/moves\"],\n removeCollaborator: [\n \"DELETE /projects/{project_id}/collaborators/{username}\"\n ],\n update: [\"PATCH /projects/{project_id}\"],\n updateCard: [\"PATCH /projects/columns/cards/{card_id}\"],\n updateColumn: [\"PATCH /projects/columns/{column_id}\"]\n },\n pulls: {\n checkIfMerged: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n create: [\"POST /repos/{owner}/{repo}/pulls\"],\n createReplyForReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\"\n ],\n createReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n createReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\"\n ],\n deletePendingReview: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"\n ],\n deleteReviewComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\"\n ],\n dismissReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals\"\n ],\n get: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}\"],\n getReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"\n ],\n getReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n list: [\"GET /repos/{owner}/{repo}/pulls\"],\n listCommentsForReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\"\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\"],\n listFiles: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\"],\n listRequestedReviewers: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"\n ],\n listReviewComments: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\"\n ],\n listReviewCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\"],\n listReviews: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n merge: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n removeRequestedReviewers: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"\n ],\n requestReviewers: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"\n ],\n submitReview: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events\"\n ],\n update: [\"PATCH /repos/{owner}/{repo}/pulls/{pull_number}\"],\n updateBranch: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch\"\n ],\n updateReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"\n ],\n updateReviewComment: [\n \"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\"\n ]\n },\n rateLimit: { get: [\"GET /rate_limit\"] },\n reactions: {\n createForCommitComment: [\n \"POST /repos/{owner}/{repo}/comments/{comment_id}/reactions\"\n ],\n createForIssue: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\"\n ],\n createForIssueComment: [\n \"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\"\n ],\n createForPullRequestReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\"\n ],\n createForRelease: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/reactions\"\n ],\n createForTeamDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\"\n ],\n createForTeamDiscussionInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\"\n ],\n deleteForCommitComment: [\n \"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\"\n ],\n deleteForIssue: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\"\n ],\n deleteForIssueComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\"\n ],\n deleteForPullRequestComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\"\n ],\n deleteForRelease: [\n \"DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}\"\n ],\n deleteForTeamDiscussion: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\"\n ],\n deleteForTeamDiscussionComment: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\"\n ],\n listForCommitComment: [\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\"\n ],\n listForIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\"],\n listForIssueComment: [\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\"\n ],\n listForPullRequestReviewComment: [\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\"\n ],\n listForRelease: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\"\n ],\n listForTeamDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\"\n ],\n listForTeamDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\"\n ]\n },\n repos: {\n acceptInvitation: [\n \"PATCH /user/repository_invitations/{invitation_id}\",\n {},\n { renamed: [\"repos\", \"acceptInvitationForAuthenticatedUser\"] }\n ],\n acceptInvitationForAuthenticatedUser: [\n \"PATCH /user/repository_invitations/{invitation_id}\"\n ],\n addAppAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" }\n ],\n addCollaborator: [\"PUT /repos/{owner}/{repo}/collaborators/{username}\"],\n addStatusCheckContexts: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" }\n ],\n addTeamAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" }\n ],\n addUserAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" }\n ],\n cancelPagesDeployment: [\n \"POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel\"\n ],\n checkAutomatedSecurityFixes: [\n \"GET /repos/{owner}/{repo}/automated-security-fixes\"\n ],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\n checkPrivateVulnerabilityReporting: [\n \"GET /repos/{owner}/{repo}/private-vulnerability-reporting\"\n ],\n checkVulnerabilityAlerts: [\n \"GET /repos/{owner}/{repo}/vulnerability-alerts\"\n ],\n codeownersErrors: [\"GET /repos/{owner}/{repo}/codeowners/errors\"],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n compareCommitsWithBasehead: [\n \"GET /repos/{owner}/{repo}/compare/{basehead}\"\n ],\n createAutolink: [\"POST /repos/{owner}/{repo}/autolinks\"],\n createCommitComment: [\n \"POST /repos/{owner}/{repo}/commits/{commit_sha}/comments\"\n ],\n createCommitSignatureProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"\n ],\n createCommitStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\"],\n createDeployKey: [\"POST /repos/{owner}/{repo}/keys\"],\n createDeployment: [\"POST /repos/{owner}/{repo}/deployments\"],\n createDeploymentBranchPolicy: [\n \"POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies\"\n ],\n createDeploymentProtectionRule: [\n \"POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules\"\n ],\n createDeploymentStatus: [\n \"POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"\n ],\n createDispatchEvent: [\"POST /repos/{owner}/{repo}/dispatches\"],\n createForAuthenticatedUser: [\"POST /user/repos\"],\n createFork: [\"POST /repos/{owner}/{repo}/forks\"],\n createInOrg: [\"POST /orgs/{org}/repos\"],\n createOrUpdateCustomPropertiesValues: [\n \"PATCH /repos/{owner}/{repo}/properties/values\"\n ],\n createOrUpdateEnvironment: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}\"\n ],\n createOrUpdateFileContents: [\"PUT /repos/{owner}/{repo}/contents/{path}\"],\n createOrgRuleset: [\"POST /orgs/{org}/rulesets\"],\n createPagesDeployment: [\"POST /repos/{owner}/{repo}/pages/deployments\"],\n createPagesSite: [\"POST /repos/{owner}/{repo}/pages\"],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createRepoRuleset: [\"POST /repos/{owner}/{repo}/rulesets\"],\n createTagProtection: [\"POST /repos/{owner}/{repo}/tags/protection\"],\n createUsingTemplate: [\n \"POST /repos/{template_owner}/{template_repo}/generate\"\n ],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\n \"DELETE /user/repository_invitations/{invitation_id}\",\n {},\n { renamed: [\"repos\", \"declineInvitationForAuthenticatedUser\"] }\n ],\n declineInvitationForAuthenticatedUser: [\n \"DELETE /user/repository_invitations/{invitation_id}\"\n ],\n delete: [\"DELETE /repos/{owner}/{repo}\"],\n deleteAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"\n ],\n deleteAdminBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"\n ],\n deleteAnEnvironment: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}\"\n ],\n deleteAutolink: [\"DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n deleteBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\"\n ],\n deleteCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}\"],\n deleteCommitSignatureProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"\n ],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\n \"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\"\n ],\n deleteDeploymentBranchPolicy: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}\"\n ],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteInvitation: [\n \"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\"\n ],\n deleteOrgRuleset: [\"DELETE /orgs/{org}/rulesets/{ruleset_id}\"],\n deletePagesSite: [\"DELETE /repos/{owner}/{repo}/pages\"],\n deletePullRequestReviewProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"\n ],\n deleteRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}\"],\n deleteReleaseAsset: [\n \"DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}\"\n ],\n deleteRepoRuleset: [\"DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}\"],\n deleteTagProtection: [\n \"DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}\"\n ],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\n \"DELETE /repos/{owner}/{repo}/automated-security-fixes\"\n ],\n disableDeploymentProtectionRule: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}\"\n ],\n disablePrivateVulnerabilityReporting: [\n \"DELETE /repos/{owner}/{repo}/private-vulnerability-reporting\"\n ],\n disableVulnerabilityAlerts: [\n \"DELETE /repos/{owner}/{repo}/vulnerability-alerts\"\n ],\n downloadArchive: [\n \"GET /repos/{owner}/{repo}/zipball/{ref}\",\n {},\n { renamed: [\"repos\", \"downloadZipballArchive\"] }\n ],\n downloadTarballArchive: [\"GET /repos/{owner}/{repo}/tarball/{ref}\"],\n downloadZipballArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\"],\n enableAutomatedSecurityFixes: [\n \"PUT /repos/{owner}/{repo}/automated-security-fixes\"\n ],\n enablePrivateVulnerabilityReporting: [\n \"PUT /repos/{owner}/{repo}/private-vulnerability-reporting\"\n ],\n enableVulnerabilityAlerts: [\n \"PUT /repos/{owner}/{repo}/vulnerability-alerts\"\n ],\n generateReleaseNotes: [\n \"POST /repos/{owner}/{repo}/releases/generate-notes\"\n ],\n get: [\"GET /repos/{owner}/{repo}\"],\n getAccessRestrictions: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"\n ],\n getAdminBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"\n ],\n getAllDeploymentProtectionRules: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules\"\n ],\n getAllEnvironments: [\"GET /repos/{owner}/{repo}/environments\"],\n getAllStatusCheckContexts: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\"\n ],\n getAllTopics: [\"GET /repos/{owner}/{repo}/topics\"],\n getAppsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\"\n ],\n getAutolink: [\"GET /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n getBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}\"],\n getBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection\"\n ],\n getBranchRules: [\"GET /repos/{owner}/{repo}/rules/branches/{branch}\"],\n getClones: [\"GET /repos/{owner}/{repo}/traffic/clones\"],\n getCodeFrequencyStats: [\"GET /repos/{owner}/{repo}/stats/code_frequency\"],\n getCollaboratorPermissionLevel: [\n \"GET /repos/{owner}/{repo}/collaborators/{username}/permission\"\n ],\n getCombinedStatusForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/status\"],\n getCommit: [\"GET /repos/{owner}/{repo}/commits/{ref}\"],\n getCommitActivityStats: [\"GET /repos/{owner}/{repo}/stats/commit_activity\"],\n getCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}\"],\n getCommitSignatureProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"\n ],\n getCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\"],\n getContent: [\"GET /repos/{owner}/{repo}/contents/{path}\"],\n getContributorsStats: [\"GET /repos/{owner}/{repo}/stats/contributors\"],\n getCustomDeploymentProtectionRule: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}\"\n ],\n getCustomPropertiesValues: [\"GET /repos/{owner}/{repo}/properties/values\"],\n getDeployKey: [\"GET /repos/{owner}/{repo}/keys/{key_id}\"],\n getDeployment: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n getDeploymentBranchPolicy: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}\"\n ],\n getDeploymentStatus: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\"\n ],\n getEnvironment: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}\"\n ],\n getLatestPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/latest\"],\n getLatestRelease: [\"GET /repos/{owner}/{repo}/releases/latest\"],\n getOrgRuleSuite: [\"GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}\"],\n getOrgRuleSuites: [\"GET /orgs/{org}/rulesets/rule-suites\"],\n getOrgRuleset: [\"GET /orgs/{org}/rulesets/{ruleset_id}\"],\n getOrgRulesets: [\"GET /orgs/{org}/rulesets\"],\n getPages: [\"GET /repos/{owner}/{repo}/pages\"],\n getPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/{build_id}\"],\n getPagesDeployment: [\n \"GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}\"\n ],\n getPagesHealthCheck: [\"GET /repos/{owner}/{repo}/pages/health\"],\n getParticipationStats: [\"GET /repos/{owner}/{repo}/stats/participation\"],\n getPullRequestReviewProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"\n ],\n getPunchCardStats: [\"GET /repos/{owner}/{repo}/stats/punch_card\"],\n getReadme: [\"GET /repos/{owner}/{repo}/readme\"],\n getReadmeInDirectory: [\"GET /repos/{owner}/{repo}/readme/{dir}\"],\n getRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}\"],\n getReleaseAsset: [\"GET /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n getReleaseByTag: [\"GET /repos/{owner}/{repo}/releases/tags/{tag}\"],\n getRepoRuleSuite: [\n \"GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}\"\n ],\n getRepoRuleSuites: [\"GET /repos/{owner}/{repo}/rulesets/rule-suites\"],\n getRepoRuleset: [\"GET /repos/{owner}/{repo}/rulesets/{ruleset_id}\"],\n getRepoRulesets: [\"GET /repos/{owner}/{repo}/rulesets\"],\n getStatusChecksProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"\n ],\n getTeamsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\"\n ],\n getTopPaths: [\"GET /repos/{owner}/{repo}/traffic/popular/paths\"],\n getTopReferrers: [\"GET /repos/{owner}/{repo}/traffic/popular/referrers\"],\n getUsersWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\"\n ],\n getViews: [\"GET /repos/{owner}/{repo}/traffic/views\"],\n getWebhook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\"],\n getWebhookConfigForRepo: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/config\"\n ],\n getWebhookDelivery: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}\"\n ],\n listActivities: [\"GET /repos/{owner}/{repo}/activity\"],\n listAutolinks: [\"GET /repos/{owner}/{repo}/autolinks\"],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\"\n ],\n listCollaborators: [\"GET /repos/{owner}/{repo}/collaborators\"],\n listCommentsForCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\"\n ],\n listCommitCommentsForRepo: [\"GET /repos/{owner}/{repo}/comments\"],\n listCommitStatusesForRef: [\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\"\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/commits\"],\n listContributors: [\"GET /repos/{owner}/{repo}/contributors\"],\n listCustomDeploymentRuleIntegrations: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps\"\n ],\n listDeployKeys: [\"GET /repos/{owner}/{repo}/keys\"],\n listDeploymentBranchPolicies: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies\"\n ],\n listDeploymentStatuses: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"\n ],\n listDeployments: [\"GET /repos/{owner}/{repo}/deployments\"],\n listForAuthenticatedUser: [\"GET /user/repos\"],\n listForOrg: [\"GET /orgs/{org}/repos\"],\n listForUser: [\"GET /users/{username}/repos\"],\n listForks: [\"GET /repos/{owner}/{repo}/forks\"],\n listInvitations: [\"GET /repos/{owner}/{repo}/invitations\"],\n listInvitationsForAuthenticatedUser: [\"GET /user/repository_invitations\"],\n listLanguages: [\"GET /repos/{owner}/{repo}/languages\"],\n listPagesBuilds: [\"GET /repos/{owner}/{repo}/pages/builds\"],\n listPublic: [\"GET /repositories\"],\n listPullRequestsAssociatedWithCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\"\n ],\n listReleaseAssets: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\"\n ],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listTagProtection: [\"GET /repos/{owner}/{repo}/tags/protection\"],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listWebhookDeliveries: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\"\n ],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n mergeUpstream: [\"POST /repos/{owner}/{repo}/merge-upstream\"],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\n \"POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\"\n ],\n removeAppAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" }\n ],\n removeCollaborator: [\n \"DELETE /repos/{owner}/{repo}/collaborators/{username}\"\n ],\n removeStatusCheckContexts: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" }\n ],\n removeStatusCheckProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"\n ],\n removeTeamAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" }\n ],\n removeUserAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" }\n ],\n renameBranch: [\"POST /repos/{owner}/{repo}/branches/{branch}/rename\"],\n replaceAllTopics: [\"PUT /repos/{owner}/{repo}/topics\"],\n requestPagesBuild: [\"POST /repos/{owner}/{repo}/pages/builds\"],\n setAdminBranchProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"\n ],\n setAppAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" }\n ],\n setStatusCheckContexts: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" }\n ],\n setTeamAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" }\n ],\n setUserAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" }\n ],\n testPushWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/tests\"],\n transfer: [\"POST /repos/{owner}/{repo}/transfer\"],\n update: [\"PATCH /repos/{owner}/{repo}\"],\n updateBranchProtection: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection\"\n ],\n updateCommitComment: [\"PATCH /repos/{owner}/{repo}/comments/{comment_id}\"],\n updateDeploymentBranchPolicy: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}\"\n ],\n updateInformationAboutPagesSite: [\"PUT /repos/{owner}/{repo}/pages\"],\n updateInvitation: [\n \"PATCH /repos/{owner}/{repo}/invitations/{invitation_id}\"\n ],\n updateOrgRuleset: [\"PUT /orgs/{org}/rulesets/{ruleset_id}\"],\n updatePullRequestReviewProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"\n ],\n updateRelease: [\"PATCH /repos/{owner}/{repo}/releases/{release_id}\"],\n updateReleaseAsset: [\n \"PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}\"\n ],\n updateRepoRuleset: [\"PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}\"],\n updateStatusCheckPotection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n {},\n { renamed: [\"repos\", \"updateStatusCheckProtection\"] }\n ],\n updateStatusCheckProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"\n ],\n updateWebhook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\"],\n updateWebhookConfigForRepo: [\n \"PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config\"\n ],\n uploadReleaseAsset: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}\",\n { baseUrl: \"https://uploads.github.com\" }\n ]\n },\n search: {\n code: [\"GET /search/code\"],\n commits: [\"GET /search/commits\"],\n issuesAndPullRequests: [\"GET /search/issues\"],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\"],\n users: [\"GET /search/users\"]\n },\n secretScanning: {\n getAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"\n ],\n listAlertsForEnterprise: [\n \"GET /enterprises/{enterprise}/secret-scanning/alerts\"\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/secret-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts\"],\n listLocationsForAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\"\n ],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"\n ]\n },\n securityAdvisories: {\n createFork: [\n \"POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks\"\n ],\n createPrivateVulnerabilityReport: [\n \"POST /repos/{owner}/{repo}/security-advisories/reports\"\n ],\n createRepositoryAdvisory: [\n \"POST /repos/{owner}/{repo}/security-advisories\"\n ],\n createRepositoryAdvisoryCveRequest: [\n \"POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve\"\n ],\n getGlobalAdvisory: [\"GET /advisories/{ghsa_id}\"],\n getRepositoryAdvisory: [\n \"GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}\"\n ],\n listGlobalAdvisories: [\"GET /advisories\"],\n listOrgRepositoryAdvisories: [\"GET /orgs/{org}/security-advisories\"],\n listRepositoryAdvisories: [\"GET /repos/{owner}/{repo}/security-advisories\"],\n updateRepositoryAdvisory: [\n \"PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}\"\n ]\n },\n teams: {\n addOrUpdateMembershipForUserInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\"\n ],\n addOrUpdateProjectPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\"\n ],\n addOrUpdateRepoPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"\n ],\n checkPermissionsForProjectInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\"\n ],\n checkPermissionsForRepoInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"\n ],\n create: [\"POST /orgs/{org}/teams\"],\n createDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"\n ],\n createDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions\"],\n deleteDiscussionCommentInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"\n ],\n deleteDiscussionInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"\n ],\n deleteInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}\"],\n getByName: [\"GET /orgs/{org}/teams/{team_slug}\"],\n getDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"\n ],\n getDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"\n ],\n getMembershipForUserInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\"\n ],\n list: [\"GET /orgs/{org}/teams\"],\n listChildInOrg: [\"GET /orgs/{org}/teams/{team_slug}/teams\"],\n listDiscussionCommentsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"\n ],\n listDiscussionsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions\"],\n listForAuthenticatedUser: [\"GET /user/teams\"],\n listMembersInOrg: [\"GET /orgs/{org}/teams/{team_slug}/members\"],\n listPendingInvitationsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/invitations\"\n ],\n listProjectsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects\"],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\"\n ],\n removeProjectInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}\"\n ],\n removeRepoInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"\n ],\n updateDiscussionCommentInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"\n ],\n updateDiscussionInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"\n ],\n updateInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}\"]\n },\n users: {\n addEmailForAuthenticated: [\n \"POST /user/emails\",\n {},\n { renamed: [\"users\", \"addEmailForAuthenticatedUser\"] }\n ],\n addEmailForAuthenticatedUser: [\"POST /user/emails\"],\n addSocialAccountForAuthenticatedUser: [\"POST /user/social_accounts\"],\n block: [\"PUT /user/blocks/{username}\"],\n checkBlocked: [\"GET /user/blocks/{username}\"],\n checkFollowingForUser: [\"GET /users/{username}/following/{target_user}\"],\n checkPersonIsFollowedByAuthenticated: [\"GET /user/following/{username}\"],\n createGpgKeyForAuthenticated: [\n \"POST /user/gpg_keys\",\n {},\n { renamed: [\"users\", \"createGpgKeyForAuthenticatedUser\"] }\n ],\n createGpgKeyForAuthenticatedUser: [\"POST /user/gpg_keys\"],\n createPublicSshKeyForAuthenticated: [\n \"POST /user/keys\",\n {},\n { renamed: [\"users\", \"createPublicSshKeyForAuthenticatedUser\"] }\n ],\n createPublicSshKeyForAuthenticatedUser: [\"POST /user/keys\"],\n createSshSigningKeyForAuthenticatedUser: [\"POST /user/ssh_signing_keys\"],\n deleteEmailForAuthenticated: [\n \"DELETE /user/emails\",\n {},\n { renamed: [\"users\", \"deleteEmailForAuthenticatedUser\"] }\n ],\n deleteEmailForAuthenticatedUser: [\"DELETE /user/emails\"],\n deleteGpgKeyForAuthenticated: [\n \"DELETE /user/gpg_keys/{gpg_key_id}\",\n {},\n { renamed: [\"users\", \"deleteGpgKeyForAuthenticatedUser\"] }\n ],\n deleteGpgKeyForAuthenticatedUser: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicSshKeyForAuthenticated: [\n \"DELETE /user/keys/{key_id}\",\n {},\n { renamed: [\"users\", \"deletePublicSshKeyForAuthenticatedUser\"] }\n ],\n deletePublicSshKeyForAuthenticatedUser: [\"DELETE /user/keys/{key_id}\"],\n deleteSocialAccountForAuthenticatedUser: [\"DELETE /user/social_accounts\"],\n deleteSshSigningKeyForAuthenticatedUser: [\n \"DELETE /user/ssh_signing_keys/{ssh_signing_key_id}\"\n ],\n follow: [\"PUT /user/following/{username}\"],\n getAuthenticated: [\"GET /user\"],\n getByUsername: [\"GET /users/{username}\"],\n getContextForUser: [\"GET /users/{username}/hovercard\"],\n getGpgKeyForAuthenticated: [\n \"GET /user/gpg_keys/{gpg_key_id}\",\n {},\n { renamed: [\"users\", \"getGpgKeyForAuthenticatedUser\"] }\n ],\n getGpgKeyForAuthenticatedUser: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicSshKeyForAuthenticated: [\n \"GET /user/keys/{key_id}\",\n {},\n { renamed: [\"users\", \"getPublicSshKeyForAuthenticatedUser\"] }\n ],\n getPublicSshKeyForAuthenticatedUser: [\"GET /user/keys/{key_id}\"],\n getSshSigningKeyForAuthenticatedUser: [\n \"GET /user/ssh_signing_keys/{ssh_signing_key_id}\"\n ],\n list: [\"GET /users\"],\n listBlockedByAuthenticated: [\n \"GET /user/blocks\",\n {},\n { renamed: [\"users\", \"listBlockedByAuthenticatedUser\"] }\n ],\n listBlockedByAuthenticatedUser: [\"GET /user/blocks\"],\n listEmailsForAuthenticated: [\n \"GET /user/emails\",\n {},\n { renamed: [\"users\", \"listEmailsForAuthenticatedUser\"] }\n ],\n listEmailsForAuthenticatedUser: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\n \"GET /user/following\",\n {},\n { renamed: [\"users\", \"listFollowedByAuthenticatedUser\"] }\n ],\n listFollowedByAuthenticatedUser: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeysForAuthenticated: [\n \"GET /user/gpg_keys\",\n {},\n { renamed: [\"users\", \"listGpgKeysForAuthenticatedUser\"] }\n ],\n listGpgKeysForAuthenticatedUser: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmailsForAuthenticated: [\n \"GET /user/public_emails\",\n {},\n { renamed: [\"users\", \"listPublicEmailsForAuthenticatedUser\"] }\n ],\n listPublicEmailsForAuthenticatedUser: [\"GET /user/public_emails\"],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\n \"GET /user/keys\",\n {},\n { renamed: [\"users\", \"listPublicSshKeysForAuthenticatedUser\"] }\n ],\n listPublicSshKeysForAuthenticatedUser: [\"GET /user/keys\"],\n listSocialAccountsForAuthenticatedUser: [\"GET /user/social_accounts\"],\n listSocialAccountsForUser: [\"GET /users/{username}/social_accounts\"],\n listSshSigningKeysForAuthenticatedUser: [\"GET /user/ssh_signing_keys\"],\n listSshSigningKeysForUser: [\"GET /users/{username}/ssh_signing_keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\n \"PATCH /user/email/visibility\",\n {},\n { renamed: [\"users\", \"setPrimaryEmailVisibilityForAuthenticatedUser\"] }\n ],\n setPrimaryEmailVisibilityForAuthenticatedUser: [\n \"PATCH /user/email/visibility\"\n ],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"]\n }\n};\nvar endpoints_default = Endpoints;\nexport {\n endpoints_default as default\n};\n", "import ENDPOINTS from \"./generated/endpoints.js\";\nconst endpointMethodsMap = /* @__PURE__ */ new Map();\nfor (const [scope, endpoints] of Object.entries(ENDPOINTS)) {\n for (const [methodName, endpoint] of Object.entries(endpoints)) {\n const [route, defaults, decorations] = endpoint;\n const [method, url] = route.split(/ /);\n const endpointDefaults = Object.assign(\n {\n method,\n url\n },\n defaults\n );\n if (!endpointMethodsMap.has(scope)) {\n endpointMethodsMap.set(scope, /* @__PURE__ */ new Map());\n }\n endpointMethodsMap.get(scope).set(methodName, {\n scope,\n methodName,\n endpointDefaults,\n decorations\n });\n }\n}\nconst handler = {\n has({ scope }, methodName) {\n return endpointMethodsMap.get(scope).has(methodName);\n },\n getOwnPropertyDescriptor(target, methodName) {\n return {\n value: this.get(target, methodName),\n // ensures method is in the cache\n configurable: true,\n writable: true,\n enumerable: true\n };\n },\n defineProperty(target, methodName, descriptor) {\n Object.defineProperty(target.cache, methodName, descriptor);\n return true;\n },\n deleteProperty(target, methodName) {\n delete target.cache[methodName];\n return true;\n },\n ownKeys({ scope }) {\n return [...endpointMethodsMap.get(scope).keys()];\n },\n set(target, methodName, value) {\n return target.cache[methodName] = value;\n },\n get({ octokit, scope, cache }, methodName) {\n if (cache[methodName]) {\n return cache[methodName];\n }\n const method = endpointMethodsMap.get(scope).get(methodName);\n if (!method) {\n return void 0;\n }\n const { endpointDefaults, decorations } = method;\n if (decorations) {\n cache[methodName] = decorate(\n octokit,\n scope,\n methodName,\n endpointDefaults,\n decorations\n );\n } else {\n cache[methodName] = octokit.request.defaults(endpointDefaults);\n }\n return cache[methodName];\n }\n};\nfunction endpointsToMethods(octokit) {\n const newMethods = {};\n for (const scope of endpointMethodsMap.keys()) {\n newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler);\n }\n return newMethods;\n}\nfunction decorate(octokit, scope, methodName, defaults, decorations) {\n const requestWithDefaults = octokit.request.defaults(defaults);\n function withDecorations(...args) {\n let options = requestWithDefaults.endpoint.merge(...args);\n if (decorations.mapToData) {\n options = Object.assign({}, options, {\n data: options[decorations.mapToData],\n [decorations.mapToData]: void 0\n });\n return requestWithDefaults(options);\n }\n if (decorations.renamed) {\n const [newScope, newMethodName] = decorations.renamed;\n octokit.log.warn(\n `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`\n );\n }\n if (decorations.deprecated) {\n octokit.log.warn(decorations.deprecated);\n }\n if (decorations.renamedParameters) {\n const options2 = requestWithDefaults.endpoint.merge(...args);\n for (const [name, alias] of Object.entries(\n decorations.renamedParameters\n )) {\n if (name in options2) {\n octokit.log.warn(\n `\"${name}\" parameter is deprecated for \"octokit.${scope}.${methodName}()\". Use \"${alias}\" instead`\n );\n if (!(alias in options2)) {\n options2[alias] = options2[name];\n }\n delete options2[name];\n }\n }\n return requestWithDefaults(options2);\n }\n return requestWithDefaults(...args);\n }\n return Object.assign(withDecorations, requestWithDefaults);\n}\nexport {\n endpointsToMethods\n};\n"], + "mappings": "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", + "names": [] +} diff --git a/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js new file mode 100644 index 00000000..8a2aa969 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js @@ -0,0 +1,125 @@ +import ENDPOINTS from "./generated/endpoints.js"; +const endpointMethodsMap = /* @__PURE__ */ new Map(); +for (const [scope, endpoints] of Object.entries(ENDPOINTS)) { + for (const [methodName, endpoint] of Object.entries(endpoints)) { + const [route, defaults, decorations] = endpoint; + const [method, url] = route.split(/ /); + const endpointDefaults = Object.assign( + { + method, + url + }, + defaults + ); + if (!endpointMethodsMap.has(scope)) { + endpointMethodsMap.set(scope, /* @__PURE__ */ new Map()); + } + endpointMethodsMap.get(scope).set(methodName, { + scope, + methodName, + endpointDefaults, + decorations + }); + } +} +const handler = { + has({ scope }, methodName) { + return endpointMethodsMap.get(scope).has(methodName); + }, + getOwnPropertyDescriptor(target, methodName) { + return { + value: this.get(target, methodName), + // ensures method is in the cache + configurable: true, + writable: true, + enumerable: true + }; + }, + defineProperty(target, methodName, descriptor) { + Object.defineProperty(target.cache, methodName, descriptor); + return true; + }, + deleteProperty(target, methodName) { + delete target.cache[methodName]; + return true; + }, + ownKeys({ scope }) { + return [...endpointMethodsMap.get(scope).keys()]; + }, + set(target, methodName, value) { + return target.cache[methodName] = value; + }, + get({ octokit, scope, cache }, methodName) { + if (cache[methodName]) { + return cache[methodName]; + } + const method = endpointMethodsMap.get(scope).get(methodName); + if (!method) { + return void 0; + } + const { endpointDefaults, decorations } = method; + if (decorations) { + cache[methodName] = decorate( + octokit, + scope, + methodName, + endpointDefaults, + decorations + ); + } else { + cache[methodName] = octokit.request.defaults(endpointDefaults); + } + return cache[methodName]; + } +}; +function endpointsToMethods(octokit) { + const newMethods = {}; + for (const scope of endpointMethodsMap.keys()) { + newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler); + } + return newMethods; +} +function decorate(octokit, scope, methodName, defaults, decorations) { + const requestWithDefaults = octokit.request.defaults(defaults); + function withDecorations(...args) { + let options = requestWithDefaults.endpoint.merge(...args); + if (decorations.mapToData) { + options = Object.assign({}, options, { + data: options[decorations.mapToData], + [decorations.mapToData]: void 0 + }); + return requestWithDefaults(options); + } + if (decorations.renamed) { + const [newScope, newMethodName] = decorations.renamed; + octokit.log.warn( + `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()` + ); + } + if (decorations.deprecated) { + octokit.log.warn(decorations.deprecated); + } + if (decorations.renamedParameters) { + const options2 = requestWithDefaults.endpoint.merge(...args); + for (const [name, alias] of Object.entries( + decorations.renamedParameters + )) { + if (name in options2) { + octokit.log.warn( + `"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead` + ); + if (!(alias in options2)) { + options2[alias] = options2[name]; + } + delete options2[name]; + } + } + return requestWithDefaults(options2); + } + return requestWithDefaults(...args); + } + return Object.assign(withDecorations, requestWithDefaults); +} +export { + endpointsToMethods +}; diff --git a/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js new file mode 100644 index 00000000..47380cf2 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js @@ -0,0 +1,1942 @@ +const Endpoints = { + actions: { + addCustomLabelsToSelfHostedRunnerForOrg: [ + "POST /orgs/{org}/actions/runners/{runner_id}/labels" + ], + addCustomLabelsToSelfHostedRunnerForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + addSelectedRepoToOrgSecret: [ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}" + ], + addSelectedRepoToOrgVariable: [ + "PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}" + ], + approveWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve" + ], + cancelWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel" + ], + createEnvironmentVariable: [ + "POST /repos/{owner}/{repo}/environments/{environment_name}/variables" + ], + createOrUpdateEnvironmentSecret: [ + "PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}" + ], + createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"], + createOrUpdateRepoSecret: [ + "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}" + ], + createOrgVariable: ["POST /orgs/{org}/actions/variables"], + createRegistrationTokenForOrg: [ + "POST /orgs/{org}/actions/runners/registration-token" + ], + createRegistrationTokenForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/registration-token" + ], + createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"], + createRemoveTokenForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/remove-token" + ], + createRepoVariable: ["POST /repos/{owner}/{repo}/actions/variables"], + createWorkflowDispatch: [ + "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches" + ], + deleteActionsCacheById: [ + "DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}" + ], + deleteActionsCacheByKey: [ + "DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}" + ], + deleteArtifact: [ + "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}" + ], + deleteEnvironmentSecret: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}" + ], + deleteEnvironmentVariable: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}" + ], + deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"], + deleteOrgVariable: ["DELETE /orgs/{org}/actions/variables/{name}"], + deleteRepoSecret: [ + "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}" + ], + deleteRepoVariable: [ + "DELETE /repos/{owner}/{repo}/actions/variables/{name}" + ], + deleteSelfHostedRunnerFromOrg: [ + "DELETE /orgs/{org}/actions/runners/{runner_id}" + ], + deleteSelfHostedRunnerFromRepo: [ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}" + ], + deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"], + deleteWorkflowRunLogs: [ + "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs" + ], + disableSelectedRepositoryGithubActionsOrganization: [ + "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}" + ], + disableWorkflow: [ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable" + ], + downloadArtifact: [ + "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}" + ], + downloadJobLogsForWorkflowRun: [ + "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs" + ], + downloadWorkflowRunAttemptLogs: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs" + ], + downloadWorkflowRunLogs: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs" + ], + enableSelectedRepositoryGithubActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}" + ], + enableWorkflow: [ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable" + ], + forceCancelWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel" + ], + generateRunnerJitconfigForOrg: [ + "POST /orgs/{org}/actions/runners/generate-jitconfig" + ], + generateRunnerJitconfigForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig" + ], + getActionsCacheList: ["GET /repos/{owner}/{repo}/actions/caches"], + getActionsCacheUsage: ["GET /repos/{owner}/{repo}/actions/cache/usage"], + getActionsCacheUsageByRepoForOrg: [ + "GET /orgs/{org}/actions/cache/usage-by-repository" + ], + getActionsCacheUsageForOrg: ["GET /orgs/{org}/actions/cache/usage"], + getAllowedActionsOrganization: [ + "GET /orgs/{org}/actions/permissions/selected-actions" + ], + getAllowedActionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions/selected-actions" + ], + getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + getCustomOidcSubClaimForRepo: [ + "GET /repos/{owner}/{repo}/actions/oidc/customization/sub" + ], + getEnvironmentPublicKey: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key" + ], + getEnvironmentSecret: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}" + ], + getEnvironmentVariable: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}" + ], + getGithubActionsDefaultWorkflowPermissionsOrganization: [ + "GET /orgs/{org}/actions/permissions/workflow" + ], + getGithubActionsDefaultWorkflowPermissionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions/workflow" + ], + getGithubActionsPermissionsOrganization: [ + "GET /orgs/{org}/actions/permissions" + ], + getGithubActionsPermissionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions" + ], + getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"], + getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"], + getOrgVariable: ["GET /orgs/{org}/actions/variables/{name}"], + getPendingDeploymentsForRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments" + ], + getRepoPermissions: [ + "GET /repos/{owner}/{repo}/actions/permissions", + {}, + { renamed: ["actions", "getGithubActionsPermissionsRepository"] } + ], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"], + getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + getRepoVariable: ["GET /repos/{owner}/{repo}/actions/variables/{name}"], + getReviewsForRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals" + ], + getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"], + getSelfHostedRunnerForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}" + ], + getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"], + getWorkflowAccessToRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions/access" + ], + getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"], + getWorkflowRunAttempt: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}" + ], + getWorkflowRunUsage: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing" + ], + getWorkflowUsage: [ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing" + ], + listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], + listEnvironmentSecrets: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets" + ], + listEnvironmentVariables: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/variables" + ], + listJobsForWorkflowRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs" + ], + listJobsForWorkflowRunAttempt: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs" + ], + listLabelsForSelfHostedRunnerForOrg: [ + "GET /orgs/{org}/actions/runners/{runner_id}/labels" + ], + listLabelsForSelfHostedRunnerForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + listOrgSecrets: ["GET /orgs/{org}/actions/secrets"], + listOrgVariables: ["GET /orgs/{org}/actions/variables"], + listRepoOrganizationSecrets: [ + "GET /repos/{owner}/{repo}/actions/organization-secrets" + ], + listRepoOrganizationVariables: [ + "GET /repos/{owner}/{repo}/actions/organization-variables" + ], + listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"], + listRepoVariables: ["GET /repos/{owner}/{repo}/actions/variables"], + listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"], + listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"], + listRunnerApplicationsForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/downloads" + ], + listSelectedReposForOrgSecret: [ + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories" + ], + listSelectedReposForOrgVariable: [ + "GET /orgs/{org}/actions/variables/{name}/repositories" + ], + listSelectedRepositoriesEnabledGithubActionsOrganization: [ + "GET /orgs/{org}/actions/permissions/repositories" + ], + listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"], + listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"], + listWorkflowRunArtifacts: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts" + ], + listWorkflowRuns: [ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs" + ], + listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"], + reRunJobForWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun" + ], + reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"], + reRunWorkflowFailedJobs: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs" + ], + removeAllCustomLabelsFromSelfHostedRunnerForOrg: [ + "DELETE /orgs/{org}/actions/runners/{runner_id}/labels" + ], + removeAllCustomLabelsFromSelfHostedRunnerForRepo: [ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + removeCustomLabelFromSelfHostedRunnerForOrg: [ + "DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}" + ], + removeCustomLabelFromSelfHostedRunnerForRepo: [ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}" + ], + removeSelectedRepoFromOrgSecret: [ + "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}" + ], + removeSelectedRepoFromOrgVariable: [ + "DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}" + ], + reviewCustomGatesForRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule" + ], + reviewPendingDeploymentsForRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments" + ], + setAllowedActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/selected-actions" + ], + setAllowedActionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions" + ], + setCustomLabelsForSelfHostedRunnerForOrg: [ + "PUT /orgs/{org}/actions/runners/{runner_id}/labels" + ], + setCustomLabelsForSelfHostedRunnerForRepo: [ + "PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + setCustomOidcSubClaimForRepo: [ + "PUT /repos/{owner}/{repo}/actions/oidc/customization/sub" + ], + setGithubActionsDefaultWorkflowPermissionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/workflow" + ], + setGithubActionsDefaultWorkflowPermissionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions/workflow" + ], + setGithubActionsPermissionsOrganization: [ + "PUT /orgs/{org}/actions/permissions" + ], + setGithubActionsPermissionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions" + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories" + ], + setSelectedReposForOrgVariable: [ + "PUT /orgs/{org}/actions/variables/{name}/repositories" + ], + setSelectedRepositoriesEnabledGithubActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/repositories" + ], + setWorkflowAccessToRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions/access" + ], + updateEnvironmentVariable: [ + "PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}" + ], + updateOrgVariable: ["PATCH /orgs/{org}/actions/variables/{name}"], + updateRepoVariable: [ + "PATCH /repos/{owner}/{repo}/actions/variables/{name}" + ] + }, + activity: { + checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"], + deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"], + deleteThreadSubscription: [ + "DELETE /notifications/threads/{thread_id}/subscription" + ], + getFeeds: ["GET /feeds"], + getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"], + getThread: ["GET /notifications/threads/{thread_id}"], + getThreadSubscriptionForAuthenticatedUser: [ + "GET /notifications/threads/{thread_id}/subscription" + ], + listEventsForAuthenticatedUser: ["GET /users/{username}/events"], + listNotificationsForAuthenticatedUser: ["GET /notifications"], + listOrgEventsForAuthenticatedUser: [ + "GET /users/{username}/events/orgs/{org}" + ], + listPublicEvents: ["GET /events"], + listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"], + listPublicEventsForUser: ["GET /users/{username}/events/public"], + listPublicOrgEvents: ["GET /orgs/{org}/events"], + listReceivedEventsForUser: ["GET /users/{username}/received_events"], + listReceivedPublicEventsForUser: [ + "GET /users/{username}/received_events/public" + ], + listRepoEvents: ["GET /repos/{owner}/{repo}/events"], + listRepoNotificationsForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/notifications" + ], + listReposStarredByAuthenticatedUser: ["GET /user/starred"], + listReposStarredByUser: ["GET /users/{username}/starred"], + listReposWatchedByUser: ["GET /users/{username}/subscriptions"], + listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"], + listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"], + listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"], + markNotificationsAsRead: ["PUT /notifications"], + markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"], + markThreadAsDone: ["DELETE /notifications/threads/{thread_id}"], + markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"], + setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"], + setThreadSubscription: [ + "PUT /notifications/threads/{thread_id}/subscription" + ], + starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"], + unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"] + }, + apps: { + addRepoToInstallation: [ + "PUT /user/installations/{installation_id}/repositories/{repository_id}", + {}, + { renamed: ["apps", "addRepoToInstallationForAuthenticatedUser"] } + ], + addRepoToInstallationForAuthenticatedUser: [ + "PUT /user/installations/{installation_id}/repositories/{repository_id}" + ], + checkToken: ["POST /applications/{client_id}/token"], + createFromManifest: ["POST /app-manifests/{code}/conversions"], + createInstallationAccessToken: [ + "POST /app/installations/{installation_id}/access_tokens" + ], + deleteAuthorization: ["DELETE /applications/{client_id}/grant"], + deleteInstallation: ["DELETE /app/installations/{installation_id}"], + deleteToken: ["DELETE /applications/{client_id}/token"], + getAuthenticated: ["GET /app"], + getBySlug: ["GET /apps/{app_slug}"], + getInstallation: ["GET /app/installations/{installation_id}"], + getOrgInstallation: ["GET /orgs/{org}/installation"], + getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"], + getSubscriptionPlanForAccount: [ + "GET /marketplace_listing/accounts/{account_id}" + ], + getSubscriptionPlanForAccountStubbed: [ + "GET /marketplace_listing/stubbed/accounts/{account_id}" + ], + getUserInstallation: ["GET /users/{username}/installation"], + getWebhookConfigForApp: ["GET /app/hook/config"], + getWebhookDelivery: ["GET /app/hook/deliveries/{delivery_id}"], + listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"], + listAccountsForPlanStubbed: [ + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts" + ], + listInstallationReposForAuthenticatedUser: [ + "GET /user/installations/{installation_id}/repositories" + ], + listInstallationRequestsForAuthenticatedApp: [ + "GET /app/installation-requests" + ], + listInstallations: ["GET /app/installations"], + listInstallationsForAuthenticatedUser: ["GET /user/installations"], + listPlans: ["GET /marketplace_listing/plans"], + listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"], + listReposAccessibleToInstallation: ["GET /installation/repositories"], + listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"], + listSubscriptionsForAuthenticatedUserStubbed: [ + "GET /user/marketplace_purchases/stubbed" + ], + listWebhookDeliveries: ["GET /app/hook/deliveries"], + redeliverWebhookDelivery: [ + "POST /app/hook/deliveries/{delivery_id}/attempts" + ], + removeRepoFromInstallation: [ + "DELETE /user/installations/{installation_id}/repositories/{repository_id}", + {}, + { renamed: ["apps", "removeRepoFromInstallationForAuthenticatedUser"] } + ], + removeRepoFromInstallationForAuthenticatedUser: [ + "DELETE /user/installations/{installation_id}/repositories/{repository_id}" + ], + resetToken: ["PATCH /applications/{client_id}/token"], + revokeInstallationAccessToken: ["DELETE /installation/token"], + scopeToken: ["POST /applications/{client_id}/token/scoped"], + suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"], + unsuspendInstallation: [ + "DELETE /app/installations/{installation_id}/suspended" + ], + updateWebhookConfigForApp: ["PATCH /app/hook/config"] + }, + billing: { + getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"], + getGithubActionsBillingUser: [ + "GET /users/{username}/settings/billing/actions" + ], + getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"], + getGithubPackagesBillingUser: [ + "GET /users/{username}/settings/billing/packages" + ], + getSharedStorageBillingOrg: [ + "GET /orgs/{org}/settings/billing/shared-storage" + ], + getSharedStorageBillingUser: [ + "GET /users/{username}/settings/billing/shared-storage" + ] + }, + checks: { + create: ["POST /repos/{owner}/{repo}/check-runs"], + createSuite: ["POST /repos/{owner}/{repo}/check-suites"], + get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"], + getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"], + listAnnotations: [ + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations" + ], + listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"], + listForSuite: [ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs" + ], + listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"], + rerequestRun: [ + "POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest" + ], + rerequestSuite: [ + "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest" + ], + setSuitesPreferences: [ + "PATCH /repos/{owner}/{repo}/check-suites/preferences" + ], + update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"] + }, + codeScanning: { + deleteAnalysis: [ + "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}" + ], + getAlert: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", + {}, + { renamedParameters: { alert_id: "alert_number" } } + ], + getAnalysis: [ + "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}" + ], + getCodeqlDatabase: [ + "GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}" + ], + getDefaultSetup: ["GET /repos/{owner}/{repo}/code-scanning/default-setup"], + getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"], + listAlertInstances: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances" + ], + listAlertsForOrg: ["GET /orgs/{org}/code-scanning/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"], + listAlertsInstances: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + {}, + { renamed: ["codeScanning", "listAlertInstances"] } + ], + listCodeqlDatabases: [ + "GET /repos/{owner}/{repo}/code-scanning/codeql/databases" + ], + listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}" + ], + updateDefaultSetup: [ + "PATCH /repos/{owner}/{repo}/code-scanning/default-setup" + ], + uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"] + }, + codesOfConduct: { + getAllCodesOfConduct: ["GET /codes_of_conduct"], + getConductCode: ["GET /codes_of_conduct/{key}"] + }, + codespaces: { + addRepositoryForSecretForAuthenticatedUser: [ + "PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + addSelectedRepoToOrgSecret: [ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + checkPermissionsForDevcontainer: [ + "GET /repos/{owner}/{repo}/codespaces/permissions_check" + ], + codespaceMachinesForAuthenticatedUser: [ + "GET /user/codespaces/{codespace_name}/machines" + ], + createForAuthenticatedUser: ["POST /user/codespaces"], + createOrUpdateOrgSecret: [ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}" + ], + createOrUpdateRepoSecret: [ + "PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" + ], + createOrUpdateSecretForAuthenticatedUser: [ + "PUT /user/codespaces/secrets/{secret_name}" + ], + createWithPrForAuthenticatedUser: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces" + ], + createWithRepoForAuthenticatedUser: [ + "POST /repos/{owner}/{repo}/codespaces" + ], + deleteForAuthenticatedUser: ["DELETE /user/codespaces/{codespace_name}"], + deleteFromOrganization: [ + "DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}" + ], + deleteOrgSecret: ["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"], + deleteRepoSecret: [ + "DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" + ], + deleteSecretForAuthenticatedUser: [ + "DELETE /user/codespaces/secrets/{secret_name}" + ], + exportForAuthenticatedUser: [ + "POST /user/codespaces/{codespace_name}/exports" + ], + getCodespacesForUserInOrg: [ + "GET /orgs/{org}/members/{username}/codespaces" + ], + getExportDetailsForAuthenticatedUser: [ + "GET /user/codespaces/{codespace_name}/exports/{export_id}" + ], + getForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}"], + getOrgPublicKey: ["GET /orgs/{org}/codespaces/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/codespaces/secrets/{secret_name}"], + getPublicKeyForAuthenticatedUser: [ + "GET /user/codespaces/secrets/public-key" + ], + getRepoPublicKey: [ + "GET /repos/{owner}/{repo}/codespaces/secrets/public-key" + ], + getRepoSecret: [ + "GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" + ], + getSecretForAuthenticatedUser: [ + "GET /user/codespaces/secrets/{secret_name}" + ], + listDevcontainersInRepositoryForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces/devcontainers" + ], + listForAuthenticatedUser: ["GET /user/codespaces"], + listInOrganization: [ + "GET /orgs/{org}/codespaces", + {}, + { renamedParameters: { org_id: "org" } } + ], + listInRepositoryForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces" + ], + listOrgSecrets: ["GET /orgs/{org}/codespaces/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/codespaces/secrets"], + listRepositoriesForSecretForAuthenticatedUser: [ + "GET /user/codespaces/secrets/{secret_name}/repositories" + ], + listSecretsForAuthenticatedUser: ["GET /user/codespaces/secrets"], + listSelectedReposForOrgSecret: [ + "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories" + ], + preFlightWithRepoForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces/new" + ], + publishForAuthenticatedUser: [ + "POST /user/codespaces/{codespace_name}/publish" + ], + removeRepositoryForSecretForAuthenticatedUser: [ + "DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + removeSelectedRepoFromOrgSecret: [ + "DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + repoMachinesForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces/machines" + ], + setRepositoriesForSecretForAuthenticatedUser: [ + "PUT /user/codespaces/secrets/{secret_name}/repositories" + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories" + ], + startForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/start"], + stopForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/stop"], + stopInOrganization: [ + "POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop" + ], + updateForAuthenticatedUser: ["PATCH /user/codespaces/{codespace_name}"] + }, + copilot: { + addCopilotSeatsForTeams: [ + "POST /orgs/{org}/copilot/billing/selected_teams" + ], + addCopilotSeatsForUsers: [ + "POST /orgs/{org}/copilot/billing/selected_users" + ], + cancelCopilotSeatAssignmentForTeams: [ + "DELETE /orgs/{org}/copilot/billing/selected_teams" + ], + cancelCopilotSeatAssignmentForUsers: [ + "DELETE /orgs/{org}/copilot/billing/selected_users" + ], + getCopilotOrganizationDetails: ["GET /orgs/{org}/copilot/billing"], + getCopilotSeatDetailsForUser: [ + "GET /orgs/{org}/members/{username}/copilot" + ], + listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"], + usageMetricsForEnterprise: ["GET /enterprises/{enterprise}/copilot/usage"], + usageMetricsForOrg: ["GET /orgs/{org}/copilot/usage"], + usageMetricsForTeam: ["GET /orgs/{org}/team/{team_slug}/copilot/usage"] + }, + dependabot: { + addSelectedRepoToOrgSecret: [ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}" + ], + createOrUpdateOrgSecret: [ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}" + ], + createOrUpdateRepoSecret: [ + "PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" + ], + deleteOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"], + deleteRepoSecret: [ + "DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" + ], + getAlert: ["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"], + getOrgPublicKey: ["GET /orgs/{org}/dependabot/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}"], + getRepoPublicKey: [ + "GET /repos/{owner}/{repo}/dependabot/secrets/public-key" + ], + getRepoSecret: [ + "GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" + ], + listAlertsForEnterprise: [ + "GET /enterprises/{enterprise}/dependabot/alerts" + ], + listAlertsForOrg: ["GET /orgs/{org}/dependabot/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/dependabot/alerts"], + listOrgSecrets: ["GET /orgs/{org}/dependabot/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/dependabot/secrets"], + listSelectedReposForOrgSecret: [ + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories" + ], + removeSelectedRepoFromOrgSecret: [ + "DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}" + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories" + ], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}" + ] + }, + dependencyGraph: { + createRepositorySnapshot: [ + "POST /repos/{owner}/{repo}/dependency-graph/snapshots" + ], + diffRange: [ + "GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}" + ], + exportSbom: ["GET /repos/{owner}/{repo}/dependency-graph/sbom"] + }, + emojis: { get: ["GET /emojis"] }, + gists: { + checkIsStarred: ["GET /gists/{gist_id}/star"], + create: ["POST /gists"], + createComment: ["POST /gists/{gist_id}/comments"], + delete: ["DELETE /gists/{gist_id}"], + deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"], + fork: ["POST /gists/{gist_id}/forks"], + get: ["GET /gists/{gist_id}"], + getComment: ["GET /gists/{gist_id}/comments/{comment_id}"], + getRevision: ["GET /gists/{gist_id}/{sha}"], + list: ["GET /gists"], + listComments: ["GET /gists/{gist_id}/comments"], + listCommits: ["GET /gists/{gist_id}/commits"], + listForUser: ["GET /users/{username}/gists"], + listForks: ["GET /gists/{gist_id}/forks"], + listPublic: ["GET /gists/public"], + listStarred: ["GET /gists/starred"], + star: ["PUT /gists/{gist_id}/star"], + unstar: ["DELETE /gists/{gist_id}/star"], + update: ["PATCH /gists/{gist_id}"], + updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"] + }, + git: { + createBlob: ["POST /repos/{owner}/{repo}/git/blobs"], + createCommit: ["POST /repos/{owner}/{repo}/git/commits"], + createRef: ["POST /repos/{owner}/{repo}/git/refs"], + createTag: ["POST /repos/{owner}/{repo}/git/tags"], + createTree: ["POST /repos/{owner}/{repo}/git/trees"], + deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"], + getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"], + getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"], + getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"], + getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"], + getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"], + listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"], + updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"] + }, + gitignore: { + getAllTemplates: ["GET /gitignore/templates"], + getTemplate: ["GET /gitignore/templates/{name}"] + }, + interactions: { + getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"], + getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"], + getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"], + getRestrictionsForYourPublicRepos: [ + "GET /user/interaction-limits", + {}, + { renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] } + ], + removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"], + removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"], + removeRestrictionsForRepo: [ + "DELETE /repos/{owner}/{repo}/interaction-limits" + ], + removeRestrictionsForYourPublicRepos: [ + "DELETE /user/interaction-limits", + {}, + { renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] } + ], + setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"], + setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"], + setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"], + setRestrictionsForYourPublicRepos: [ + "PUT /user/interaction-limits", + {}, + { renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] } + ] + }, + issues: { + addAssignees: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/assignees" + ], + addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], + checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"], + checkUserCanBeAssignedToIssue: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}" + ], + create: ["POST /repos/{owner}/{repo}/issues"], + createComment: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/comments" + ], + createLabel: ["POST /repos/{owner}/{repo}/labels"], + createMilestone: ["POST /repos/{owner}/{repo}/milestones"], + deleteComment: [ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}" + ], + deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"], + deleteMilestone: [ + "DELETE /repos/{owner}/{repo}/milestones/{milestone_number}" + ], + get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"], + getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"], + getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"], + getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"], + getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"], + list: ["GET /issues"], + listAssignees: ["GET /repos/{owner}/{repo}/assignees"], + listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"], + listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"], + listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"], + listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"], + listEventsForTimeline: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline" + ], + listForAuthenticatedUser: ["GET /user/issues"], + listForOrg: ["GET /orgs/{org}/issues"], + listForRepo: ["GET /repos/{owner}/{repo}/issues"], + listLabelsForMilestone: [ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels" + ], + listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"], + listLabelsOnIssue: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels" + ], + listMilestones: ["GET /repos/{owner}/{repo}/milestones"], + lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"], + removeAllLabels: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels" + ], + removeAssignees: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees" + ], + removeLabel: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}" + ], + setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"], + unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"], + update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"], + updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"], + updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"], + updateMilestone: [ + "PATCH /repos/{owner}/{repo}/milestones/{milestone_number}" + ] + }, + licenses: { + get: ["GET /licenses/{license}"], + getAllCommonlyUsed: ["GET /licenses"], + getForRepo: ["GET /repos/{owner}/{repo}/license"] + }, + markdown: { + render: ["POST /markdown"], + renderRaw: [ + "POST /markdown/raw", + { headers: { "content-type": "text/plain; charset=utf-8" } } + ] + }, + meta: { + get: ["GET /meta"], + getAllVersions: ["GET /versions"], + getOctocat: ["GET /octocat"], + getZen: ["GET /zen"], + root: ["GET /"] + }, + migrations: { + deleteArchiveForAuthenticatedUser: [ + "DELETE /user/migrations/{migration_id}/archive" + ], + deleteArchiveForOrg: [ + "DELETE /orgs/{org}/migrations/{migration_id}/archive" + ], + downloadArchiveForOrg: [ + "GET /orgs/{org}/migrations/{migration_id}/archive" + ], + getArchiveForAuthenticatedUser: [ + "GET /user/migrations/{migration_id}/archive" + ], + getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}"], + getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}"], + listForAuthenticatedUser: ["GET /user/migrations"], + listForOrg: ["GET /orgs/{org}/migrations"], + listReposForAuthenticatedUser: [ + "GET /user/migrations/{migration_id}/repositories" + ], + listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories"], + listReposForUser: [ + "GET /user/migrations/{migration_id}/repositories", + {}, + { renamed: ["migrations", "listReposForAuthenticatedUser"] } + ], + startForAuthenticatedUser: ["POST /user/migrations"], + startForOrg: ["POST /orgs/{org}/migrations"], + unlockRepoForAuthenticatedUser: [ + "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock" + ], + unlockRepoForOrg: [ + "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock" + ] + }, + oidc: { + getOidcCustomSubTemplateForOrg: [ + "GET /orgs/{org}/actions/oidc/customization/sub" + ], + updateOidcCustomSubTemplateForOrg: [ + "PUT /orgs/{org}/actions/oidc/customization/sub" + ] + }, + orgs: { + addSecurityManagerTeam: [ + "PUT /orgs/{org}/security-managers/teams/{team_slug}" + ], + assignTeamToOrgRole: [ + "PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}" + ], + assignUserToOrgRole: [ + "PUT /orgs/{org}/organization-roles/users/{username}/{role_id}" + ], + blockUser: ["PUT /orgs/{org}/blocks/{username}"], + cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"], + checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"], + checkMembershipForUser: ["GET /orgs/{org}/members/{username}"], + checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"], + convertMemberToOutsideCollaborator: [ + "PUT /orgs/{org}/outside_collaborators/{username}" + ], + createCustomOrganizationRole: ["POST /orgs/{org}/organization-roles"], + createInvitation: ["POST /orgs/{org}/invitations"], + createOrUpdateCustomProperties: ["PATCH /orgs/{org}/properties/schema"], + createOrUpdateCustomPropertiesValuesForRepos: [ + "PATCH /orgs/{org}/properties/values" + ], + createOrUpdateCustomProperty: [ + "PUT /orgs/{org}/properties/schema/{custom_property_name}" + ], + createWebhook: ["POST /orgs/{org}/hooks"], + delete: ["DELETE /orgs/{org}"], + deleteCustomOrganizationRole: [ + "DELETE /orgs/{org}/organization-roles/{role_id}" + ], + deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], + enableOrDisableSecurityProductOnAllOrgRepos: [ + "POST /orgs/{org}/{security_product}/{enablement}" + ], + get: ["GET /orgs/{org}"], + getAllCustomProperties: ["GET /orgs/{org}/properties/schema"], + getCustomProperty: [ + "GET /orgs/{org}/properties/schema/{custom_property_name}" + ], + getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], + getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], + getOrgRole: ["GET /orgs/{org}/organization-roles/{role_id}"], + getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"], + getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"], + getWebhookDelivery: [ + "GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}" + ], + list: ["GET /organizations"], + listAppInstallations: ["GET /orgs/{org}/installations"], + listBlockedUsers: ["GET /orgs/{org}/blocks"], + listCustomPropertiesValuesForRepos: ["GET /orgs/{org}/properties/values"], + listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], + listForAuthenticatedUser: ["GET /user/orgs"], + listForUser: ["GET /users/{username}/orgs"], + listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], + listMembers: ["GET /orgs/{org}/members"], + listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], + listOrgRoleTeams: ["GET /orgs/{org}/organization-roles/{role_id}/teams"], + listOrgRoleUsers: ["GET /orgs/{org}/organization-roles/{role_id}/users"], + listOrgRoles: ["GET /orgs/{org}/organization-roles"], + listOrganizationFineGrainedPermissions: [ + "GET /orgs/{org}/organization-fine-grained-permissions" + ], + listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"], + listPatGrantRepositories: [ + "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories" + ], + listPatGrantRequestRepositories: [ + "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories" + ], + listPatGrantRequests: ["GET /orgs/{org}/personal-access-token-requests"], + listPatGrants: ["GET /orgs/{org}/personal-access-tokens"], + listPendingInvitations: ["GET /orgs/{org}/invitations"], + listPublicMembers: ["GET /orgs/{org}/public_members"], + listSecurityManagerTeams: ["GET /orgs/{org}/security-managers"], + listWebhookDeliveries: ["GET /orgs/{org}/hooks/{hook_id}/deliveries"], + listWebhooks: ["GET /orgs/{org}/hooks"], + patchCustomOrganizationRole: [ + "PATCH /orgs/{org}/organization-roles/{role_id}" + ], + pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: [ + "POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts" + ], + removeCustomProperty: [ + "DELETE /orgs/{org}/properties/schema/{custom_property_name}" + ], + removeMember: ["DELETE /orgs/{org}/members/{username}"], + removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"], + removeOutsideCollaborator: [ + "DELETE /orgs/{org}/outside_collaborators/{username}" + ], + removePublicMembershipForAuthenticatedUser: [ + "DELETE /orgs/{org}/public_members/{username}" + ], + removeSecurityManagerTeam: [ + "DELETE /orgs/{org}/security-managers/teams/{team_slug}" + ], + reviewPatGrantRequest: [ + "POST /orgs/{org}/personal-access-token-requests/{pat_request_id}" + ], + reviewPatGrantRequestsInBulk: [ + "POST /orgs/{org}/personal-access-token-requests" + ], + revokeAllOrgRolesTeam: [ + "DELETE /orgs/{org}/organization-roles/teams/{team_slug}" + ], + revokeAllOrgRolesUser: [ + "DELETE /orgs/{org}/organization-roles/users/{username}" + ], + revokeOrgRoleTeam: [ + "DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}" + ], + revokeOrgRoleUser: [ + "DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}" + ], + setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], + setPublicMembershipForAuthenticatedUser: [ + "PUT /orgs/{org}/public_members/{username}" + ], + unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], + update: ["PATCH /orgs/{org}"], + updateMembershipForAuthenticatedUser: [ + "PATCH /user/memberships/orgs/{org}" + ], + updatePatAccess: ["POST /orgs/{org}/personal-access-tokens/{pat_id}"], + updatePatAccesses: ["POST /orgs/{org}/personal-access-tokens"], + updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"], + updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"] + }, + packages: { + deletePackageForAuthenticatedUser: [ + "DELETE /user/packages/{package_type}/{package_name}" + ], + deletePackageForOrg: [ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}" + ], + deletePackageForUser: [ + "DELETE /users/{username}/packages/{package_type}/{package_name}" + ], + deletePackageVersionForAuthenticatedUser: [ + "DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + deletePackageVersionForOrg: [ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + deletePackageVersionForUser: [ + "DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + getAllPackageVersionsForAPackageOwnedByAnOrg: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + {}, + { renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] } + ], + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions", + {}, + { + renamed: [ + "packages", + "getAllPackageVersionsForPackageOwnedByAuthenticatedUser" + ] + } + ], + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions" + ], + getAllPackageVersionsForPackageOwnedByOrg: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions" + ], + getAllPackageVersionsForPackageOwnedByUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}/versions" + ], + getPackageForAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}" + ], + getPackageForOrganization: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}" + ], + getPackageForUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}" + ], + getPackageVersionForAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + getPackageVersionForOrganization: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + getPackageVersionForUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + listDockerMigrationConflictingPackagesForAuthenticatedUser: [ + "GET /user/docker/conflicts" + ], + listDockerMigrationConflictingPackagesForOrganization: [ + "GET /orgs/{org}/docker/conflicts" + ], + listDockerMigrationConflictingPackagesForUser: [ + "GET /users/{username}/docker/conflicts" + ], + listPackagesForAuthenticatedUser: ["GET /user/packages"], + listPackagesForOrganization: ["GET /orgs/{org}/packages"], + listPackagesForUser: ["GET /users/{username}/packages"], + restorePackageForAuthenticatedUser: [ + "POST /user/packages/{package_type}/{package_name}/restore{?token}" + ], + restorePackageForOrg: [ + "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}" + ], + restorePackageForUser: [ + "POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}" + ], + restorePackageVersionForAuthenticatedUser: [ + "POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore" + ], + restorePackageVersionForOrg: [ + "POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore" + ], + restorePackageVersionForUser: [ + "POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore" + ] + }, + projects: { + addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}"], + createCard: ["POST /projects/columns/{column_id}/cards"], + createColumn: ["POST /projects/{project_id}/columns"], + createForAuthenticatedUser: ["POST /user/projects"], + createForOrg: ["POST /orgs/{org}/projects"], + createForRepo: ["POST /repos/{owner}/{repo}/projects"], + delete: ["DELETE /projects/{project_id}"], + deleteCard: ["DELETE /projects/columns/cards/{card_id}"], + deleteColumn: ["DELETE /projects/columns/{column_id}"], + get: ["GET /projects/{project_id}"], + getCard: ["GET /projects/columns/cards/{card_id}"], + getColumn: ["GET /projects/columns/{column_id}"], + getPermissionForUser: [ + "GET /projects/{project_id}/collaborators/{username}/permission" + ], + listCards: ["GET /projects/columns/{column_id}/cards"], + listCollaborators: ["GET /projects/{project_id}/collaborators"], + listColumns: ["GET /projects/{project_id}/columns"], + listForOrg: ["GET /orgs/{org}/projects"], + listForRepo: ["GET /repos/{owner}/{repo}/projects"], + listForUser: ["GET /users/{username}/projects"], + moveCard: ["POST /projects/columns/cards/{card_id}/moves"], + moveColumn: ["POST /projects/columns/{column_id}/moves"], + removeCollaborator: [ + "DELETE /projects/{project_id}/collaborators/{username}" + ], + update: ["PATCH /projects/{project_id}"], + updateCard: ["PATCH /projects/columns/cards/{card_id}"], + updateColumn: ["PATCH /projects/columns/{column_id}"] + }, + pulls: { + checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + create: ["POST /repos/{owner}/{repo}/pulls"], + createReplyForReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies" + ], + createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + createReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments" + ], + deletePendingReview: [ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" + ], + deleteReviewComment: [ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}" + ], + dismissReview: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals" + ], + get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"], + getReview: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" + ], + getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + list: ["GET /repos/{owner}/{repo}/pulls"], + listCommentsForReview: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments" + ], + listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"], + listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"], + listRequestedReviewers: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" + ], + listReviewComments: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments" + ], + listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"], + listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + removeRequestedReviewers: [ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" + ], + requestReviewers: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" + ], + submitReview: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events" + ], + update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"], + updateBranch: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch" + ], + updateReview: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" + ], + updateReviewComment: [ + "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}" + ] + }, + rateLimit: { get: ["GET /rate_limit"] }, + reactions: { + createForCommitComment: [ + "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions" + ], + createForIssue: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions" + ], + createForIssueComment: [ + "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions" + ], + createForPullRequestReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions" + ], + createForRelease: [ + "POST /repos/{owner}/{repo}/releases/{release_id}/reactions" + ], + createForTeamDiscussionCommentInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions" + ], + createForTeamDiscussionInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions" + ], + deleteForCommitComment: [ + "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}" + ], + deleteForIssue: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}" + ], + deleteForIssueComment: [ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}" + ], + deleteForPullRequestComment: [ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}" + ], + deleteForRelease: [ + "DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}" + ], + deleteForTeamDiscussion: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}" + ], + deleteForTeamDiscussionComment: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}" + ], + listForCommitComment: [ + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions" + ], + listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"], + listForIssueComment: [ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions" + ], + listForPullRequestReviewComment: [ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions" + ], + listForRelease: [ + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions" + ], + listForTeamDiscussionCommentInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions" + ], + listForTeamDiscussionInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions" + ] + }, + repos: { + acceptInvitation: [ + "PATCH /user/repository_invitations/{invitation_id}", + {}, + { renamed: ["repos", "acceptInvitationForAuthenticatedUser"] } + ], + acceptInvitationForAuthenticatedUser: [ + "PATCH /user/repository_invitations/{invitation_id}" + ], + addAppAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" } + ], + addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"], + addStatusCheckContexts: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" } + ], + addTeamAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" } + ], + addUserAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" } + ], + cancelPagesDeployment: [ + "POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel" + ], + checkAutomatedSecurityFixes: [ + "GET /repos/{owner}/{repo}/automated-security-fixes" + ], + checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], + checkPrivateVulnerabilityReporting: [ + "GET /repos/{owner}/{repo}/private-vulnerability-reporting" + ], + checkVulnerabilityAlerts: [ + "GET /repos/{owner}/{repo}/vulnerability-alerts" + ], + codeownersErrors: ["GET /repos/{owner}/{repo}/codeowners/errors"], + compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"], + compareCommitsWithBasehead: [ + "GET /repos/{owner}/{repo}/compare/{basehead}" + ], + createAutolink: ["POST /repos/{owner}/{repo}/autolinks"], + createCommitComment: [ + "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments" + ], + createCommitSignatureProtection: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" + ], + createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"], + createDeployKey: ["POST /repos/{owner}/{repo}/keys"], + createDeployment: ["POST /repos/{owner}/{repo}/deployments"], + createDeploymentBranchPolicy: [ + "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies" + ], + createDeploymentProtectionRule: [ + "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules" + ], + createDeploymentStatus: [ + "POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses" + ], + createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"], + createForAuthenticatedUser: ["POST /user/repos"], + createFork: ["POST /repos/{owner}/{repo}/forks"], + createInOrg: ["POST /orgs/{org}/repos"], + createOrUpdateCustomPropertiesValues: [ + "PATCH /repos/{owner}/{repo}/properties/values" + ], + createOrUpdateEnvironment: [ + "PUT /repos/{owner}/{repo}/environments/{environment_name}" + ], + createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"], + createOrgRuleset: ["POST /orgs/{org}/rulesets"], + createPagesDeployment: ["POST /repos/{owner}/{repo}/pages/deployments"], + createPagesSite: ["POST /repos/{owner}/{repo}/pages"], + createRelease: ["POST /repos/{owner}/{repo}/releases"], + createRepoRuleset: ["POST /repos/{owner}/{repo}/rulesets"], + createTagProtection: ["POST /repos/{owner}/{repo}/tags/protection"], + createUsingTemplate: [ + "POST /repos/{template_owner}/{template_repo}/generate" + ], + createWebhook: ["POST /repos/{owner}/{repo}/hooks"], + declineInvitation: [ + "DELETE /user/repository_invitations/{invitation_id}", + {}, + { renamed: ["repos", "declineInvitationForAuthenticatedUser"] } + ], + declineInvitationForAuthenticatedUser: [ + "DELETE /user/repository_invitations/{invitation_id}" + ], + delete: ["DELETE /repos/{owner}/{repo}"], + deleteAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions" + ], + deleteAdminBranchProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" + ], + deleteAnEnvironment: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}" + ], + deleteAutolink: ["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"], + deleteBranchProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection" + ], + deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"], + deleteCommitSignatureProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" + ], + deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"], + deleteDeployment: [ + "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}" + ], + deleteDeploymentBranchPolicy: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" + ], + deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"], + deleteInvitation: [ + "DELETE /repos/{owner}/{repo}/invitations/{invitation_id}" + ], + deleteOrgRuleset: ["DELETE /orgs/{org}/rulesets/{ruleset_id}"], + deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages"], + deletePullRequestReviewProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" + ], + deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"], + deleteReleaseAsset: [ + "DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}" + ], + deleteRepoRuleset: ["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + deleteTagProtection: [ + "DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}" + ], + deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"], + disableAutomatedSecurityFixes: [ + "DELETE /repos/{owner}/{repo}/automated-security-fixes" + ], + disableDeploymentProtectionRule: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}" + ], + disablePrivateVulnerabilityReporting: [ + "DELETE /repos/{owner}/{repo}/private-vulnerability-reporting" + ], + disableVulnerabilityAlerts: [ + "DELETE /repos/{owner}/{repo}/vulnerability-alerts" + ], + downloadArchive: [ + "GET /repos/{owner}/{repo}/zipball/{ref}", + {}, + { renamed: ["repos", "downloadZipballArchive"] } + ], + downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"], + downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"], + enableAutomatedSecurityFixes: [ + "PUT /repos/{owner}/{repo}/automated-security-fixes" + ], + enablePrivateVulnerabilityReporting: [ + "PUT /repos/{owner}/{repo}/private-vulnerability-reporting" + ], + enableVulnerabilityAlerts: [ + "PUT /repos/{owner}/{repo}/vulnerability-alerts" + ], + generateReleaseNotes: [ + "POST /repos/{owner}/{repo}/releases/generate-notes" + ], + get: ["GET /repos/{owner}/{repo}"], + getAccessRestrictions: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions" + ], + getAdminBranchProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" + ], + getAllDeploymentProtectionRules: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules" + ], + getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"], + getAllStatusCheckContexts: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts" + ], + getAllTopics: ["GET /repos/{owner}/{repo}/topics"], + getAppsWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps" + ], + getAutolink: ["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"], + getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"], + getBranchProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection" + ], + getBranchRules: ["GET /repos/{owner}/{repo}/rules/branches/{branch}"], + getClones: ["GET /repos/{owner}/{repo}/traffic/clones"], + getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"], + getCollaboratorPermissionLevel: [ + "GET /repos/{owner}/{repo}/collaborators/{username}/permission" + ], + getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"], + getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"], + getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"], + getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"], + getCommitSignatureProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" + ], + getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"], + getContent: ["GET /repos/{owner}/{repo}/contents/{path}"], + getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"], + getCustomDeploymentProtectionRule: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}" + ], + getCustomPropertiesValues: ["GET /repos/{owner}/{repo}/properties/values"], + getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"], + getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"], + getDeploymentBranchPolicy: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" + ], + getDeploymentStatus: [ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}" + ], + getEnvironment: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}" + ], + getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"], + getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"], + getOrgRuleSuite: ["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"], + getOrgRuleSuites: ["GET /orgs/{org}/rulesets/rule-suites"], + getOrgRuleset: ["GET /orgs/{org}/rulesets/{ruleset_id}"], + getOrgRulesets: ["GET /orgs/{org}/rulesets"], + getPages: ["GET /repos/{owner}/{repo}/pages"], + getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"], + getPagesDeployment: [ + "GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}" + ], + getPagesHealthCheck: ["GET /repos/{owner}/{repo}/pages/health"], + getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"], + getPullRequestReviewProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" + ], + getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"], + getReadme: ["GET /repos/{owner}/{repo}/readme"], + getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"], + getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"], + getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"], + getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"], + getRepoRuleSuite: [ + "GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}" + ], + getRepoRuleSuites: ["GET /repos/{owner}/{repo}/rulesets/rule-suites"], + getRepoRuleset: ["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + getRepoRulesets: ["GET /repos/{owner}/{repo}/rulesets"], + getStatusChecksProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" + ], + getTeamsWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams" + ], + getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"], + getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"], + getUsersWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users" + ], + getViews: ["GET /repos/{owner}/{repo}/traffic/views"], + getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"], + getWebhookConfigForRepo: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/config" + ], + getWebhookDelivery: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}" + ], + listActivities: ["GET /repos/{owner}/{repo}/activity"], + listAutolinks: ["GET /repos/{owner}/{repo}/autolinks"], + listBranches: ["GET /repos/{owner}/{repo}/branches"], + listBranchesForHeadCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head" + ], + listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"], + listCommentsForCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments" + ], + listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"], + listCommitStatusesForRef: [ + "GET /repos/{owner}/{repo}/commits/{ref}/statuses" + ], + listCommits: ["GET /repos/{owner}/{repo}/commits"], + listContributors: ["GET /repos/{owner}/{repo}/contributors"], + listCustomDeploymentRuleIntegrations: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps" + ], + listDeployKeys: ["GET /repos/{owner}/{repo}/keys"], + listDeploymentBranchPolicies: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies" + ], + listDeploymentStatuses: [ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses" + ], + listDeployments: ["GET /repos/{owner}/{repo}/deployments"], + listForAuthenticatedUser: ["GET /user/repos"], + listForOrg: ["GET /orgs/{org}/repos"], + listForUser: ["GET /users/{username}/repos"], + listForks: ["GET /repos/{owner}/{repo}/forks"], + listInvitations: ["GET /repos/{owner}/{repo}/invitations"], + listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"], + listLanguages: ["GET /repos/{owner}/{repo}/languages"], + listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"], + listPublic: ["GET /repositories"], + listPullRequestsAssociatedWithCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls" + ], + listReleaseAssets: [ + "GET /repos/{owner}/{repo}/releases/{release_id}/assets" + ], + listReleases: ["GET /repos/{owner}/{repo}/releases"], + listTagProtection: ["GET /repos/{owner}/{repo}/tags/protection"], + listTags: ["GET /repos/{owner}/{repo}/tags"], + listTeams: ["GET /repos/{owner}/{repo}/teams"], + listWebhookDeliveries: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries" + ], + listWebhooks: ["GET /repos/{owner}/{repo}/hooks"], + merge: ["POST /repos/{owner}/{repo}/merges"], + mergeUpstream: ["POST /repos/{owner}/{repo}/merge-upstream"], + pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: [ + "POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts" + ], + removeAppAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" } + ], + removeCollaborator: [ + "DELETE /repos/{owner}/{repo}/collaborators/{username}" + ], + removeStatusCheckContexts: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" } + ], + removeStatusCheckProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" + ], + removeTeamAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" } + ], + removeUserAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" } + ], + renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"], + replaceAllTopics: ["PUT /repos/{owner}/{repo}/topics"], + requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"], + setAdminBranchProtection: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" + ], + setAppAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" } + ], + setStatusCheckContexts: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" } + ], + setTeamAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" } + ], + setUserAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" } + ], + testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"], + transfer: ["POST /repos/{owner}/{repo}/transfer"], + update: ["PATCH /repos/{owner}/{repo}"], + updateBranchProtection: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection" + ], + updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"], + updateDeploymentBranchPolicy: [ + "PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" + ], + updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"], + updateInvitation: [ + "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}" + ], + updateOrgRuleset: ["PUT /orgs/{org}/rulesets/{ruleset_id}"], + updatePullRequestReviewProtection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" + ], + updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"], + updateReleaseAsset: [ + "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}" + ], + updateRepoRuleset: ["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + updateStatusCheckPotection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + {}, + { renamed: ["repos", "updateStatusCheckProtection"] } + ], + updateStatusCheckProtection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" + ], + updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"], + updateWebhookConfigForRepo: [ + "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config" + ], + uploadReleaseAsset: [ + "POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}", + { baseUrl: "https://uploads.github.com" } + ] + }, + search: { + code: ["GET /search/code"], + commits: ["GET /search/commits"], + issuesAndPullRequests: ["GET /search/issues"], + labels: ["GET /search/labels"], + repos: ["GET /search/repositories"], + topics: ["GET /search/topics"], + users: ["GET /search/users"] + }, + secretScanning: { + getAlert: [ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" + ], + listAlertsForEnterprise: [ + "GET /enterprises/{enterprise}/secret-scanning/alerts" + ], + listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"], + listLocationsForAlert: [ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations" + ], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" + ] + }, + securityAdvisories: { + createFork: [ + "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks" + ], + createPrivateVulnerabilityReport: [ + "POST /repos/{owner}/{repo}/security-advisories/reports" + ], + createRepositoryAdvisory: [ + "POST /repos/{owner}/{repo}/security-advisories" + ], + createRepositoryAdvisoryCveRequest: [ + "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve" + ], + getGlobalAdvisory: ["GET /advisories/{ghsa_id}"], + getRepositoryAdvisory: [ + "GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}" + ], + listGlobalAdvisories: ["GET /advisories"], + listOrgRepositoryAdvisories: ["GET /orgs/{org}/security-advisories"], + listRepositoryAdvisories: ["GET /repos/{owner}/{repo}/security-advisories"], + updateRepositoryAdvisory: [ + "PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}" + ] + }, + teams: { + addOrUpdateMembershipForUserInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}" + ], + addOrUpdateProjectPermissionsInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}" + ], + addOrUpdateRepoPermissionsInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" + ], + checkPermissionsForProjectInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}" + ], + checkPermissionsForRepoInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" + ], + create: ["POST /orgs/{org}/teams"], + createDiscussionCommentInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments" + ], + createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"], + deleteDiscussionCommentInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}" + ], + deleteDiscussionInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}" + ], + deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"], + getByName: ["GET /orgs/{org}/teams/{team_slug}"], + getDiscussionCommentInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}" + ], + getDiscussionInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}" + ], + getMembershipForUserInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/memberships/{username}" + ], + list: ["GET /orgs/{org}/teams"], + listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"], + listDiscussionCommentsInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments" + ], + listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"], + listForAuthenticatedUser: ["GET /user/teams"], + listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"], + listPendingInvitationsInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/invitations" + ], + listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects"], + listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], + removeMembershipForUserInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}" + ], + removeProjectInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}" + ], + removeRepoInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" + ], + updateDiscussionCommentInOrg: [ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}" + ], + updateDiscussionInOrg: [ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}" + ], + updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"] + }, + users: { + addEmailForAuthenticated: [ + "POST /user/emails", + {}, + { renamed: ["users", "addEmailForAuthenticatedUser"] } + ], + addEmailForAuthenticatedUser: ["POST /user/emails"], + addSocialAccountForAuthenticatedUser: ["POST /user/social_accounts"], + block: ["PUT /user/blocks/{username}"], + checkBlocked: ["GET /user/blocks/{username}"], + checkFollowingForUser: ["GET /users/{username}/following/{target_user}"], + checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"], + createGpgKeyForAuthenticated: [ + "POST /user/gpg_keys", + {}, + { renamed: ["users", "createGpgKeyForAuthenticatedUser"] } + ], + createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"], + createPublicSshKeyForAuthenticated: [ + "POST /user/keys", + {}, + { renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] } + ], + createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"], + createSshSigningKeyForAuthenticatedUser: ["POST /user/ssh_signing_keys"], + deleteEmailForAuthenticated: [ + "DELETE /user/emails", + {}, + { renamed: ["users", "deleteEmailForAuthenticatedUser"] } + ], + deleteEmailForAuthenticatedUser: ["DELETE /user/emails"], + deleteGpgKeyForAuthenticated: [ + "DELETE /user/gpg_keys/{gpg_key_id}", + {}, + { renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] } + ], + deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"], + deletePublicSshKeyForAuthenticated: [ + "DELETE /user/keys/{key_id}", + {}, + { renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] } + ], + deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"], + deleteSocialAccountForAuthenticatedUser: ["DELETE /user/social_accounts"], + deleteSshSigningKeyForAuthenticatedUser: [ + "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}" + ], + follow: ["PUT /user/following/{username}"], + getAuthenticated: ["GET /user"], + getByUsername: ["GET /users/{username}"], + getContextForUser: ["GET /users/{username}/hovercard"], + getGpgKeyForAuthenticated: [ + "GET /user/gpg_keys/{gpg_key_id}", + {}, + { renamed: ["users", "getGpgKeyForAuthenticatedUser"] } + ], + getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"], + getPublicSshKeyForAuthenticated: [ + "GET /user/keys/{key_id}", + {}, + { renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] } + ], + getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"], + getSshSigningKeyForAuthenticatedUser: [ + "GET /user/ssh_signing_keys/{ssh_signing_key_id}" + ], + list: ["GET /users"], + listBlockedByAuthenticated: [ + "GET /user/blocks", + {}, + { renamed: ["users", "listBlockedByAuthenticatedUser"] } + ], + listBlockedByAuthenticatedUser: ["GET /user/blocks"], + listEmailsForAuthenticated: [ + "GET /user/emails", + {}, + { renamed: ["users", "listEmailsForAuthenticatedUser"] } + ], + listEmailsForAuthenticatedUser: ["GET /user/emails"], + listFollowedByAuthenticated: [ + "GET /user/following", + {}, + { renamed: ["users", "listFollowedByAuthenticatedUser"] } + ], + listFollowedByAuthenticatedUser: ["GET /user/following"], + listFollowersForAuthenticatedUser: ["GET /user/followers"], + listFollowersForUser: ["GET /users/{username}/followers"], + listFollowingForUser: ["GET /users/{username}/following"], + listGpgKeysForAuthenticated: [ + "GET /user/gpg_keys", + {}, + { renamed: ["users", "listGpgKeysForAuthenticatedUser"] } + ], + listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"], + listGpgKeysForUser: ["GET /users/{username}/gpg_keys"], + listPublicEmailsForAuthenticated: [ + "GET /user/public_emails", + {}, + { renamed: ["users", "listPublicEmailsForAuthenticatedUser"] } + ], + listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"], + listPublicKeysForUser: ["GET /users/{username}/keys"], + listPublicSshKeysForAuthenticated: [ + "GET /user/keys", + {}, + { renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] } + ], + listPublicSshKeysForAuthenticatedUser: ["GET /user/keys"], + listSocialAccountsForAuthenticatedUser: ["GET /user/social_accounts"], + listSocialAccountsForUser: ["GET /users/{username}/social_accounts"], + listSshSigningKeysForAuthenticatedUser: ["GET /user/ssh_signing_keys"], + listSshSigningKeysForUser: ["GET /users/{username}/ssh_signing_keys"], + setPrimaryEmailVisibilityForAuthenticated: [ + "PATCH /user/email/visibility", + {}, + { renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] } + ], + setPrimaryEmailVisibilityForAuthenticatedUser: [ + "PATCH /user/email/visibility" + ], + unblock: ["DELETE /user/blocks/{username}"], + unfollow: ["DELETE /user/following/{username}"], + updateAuthenticated: ["PATCH /user"] + } +}; +var endpoints_default = Endpoints; +export { + endpoints_default as default +}; diff --git a/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/method-types.js b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/method-types.js new file mode 100644 index 00000000..e69de29b diff --git a/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/parameters-and-response-types.js b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/parameters-and-response-types.js new file mode 100644 index 00000000..e69de29b diff --git a/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js new file mode 100644 index 00000000..97ef7975 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js @@ -0,0 +1,21 @@ +import { VERSION } from "./version.js"; +import { endpointsToMethods } from "./endpoints-to-methods.js"; +function restEndpointMethods(octokit) { + const api = endpointsToMethods(octokit); + return { + rest: api + }; +} +restEndpointMethods.VERSION = VERSION; +function legacyRestEndpointMethods(octokit) { + const api = endpointsToMethods(octokit); + return { + ...api, + rest: api + }; +} +legacyRestEndpointMethods.VERSION = VERSION; +export { + legacyRestEndpointMethods, + restEndpointMethods +}; diff --git a/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js new file mode 100644 index 00000000..7928d9b1 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js @@ -0,0 +1,4 @@ +const VERSION = "13.2.2"; +export { + VERSION +}; diff --git a/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/endpoints-to-methods.d.ts b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/endpoints-to-methods.d.ts new file mode 100644 index 00000000..c46d15bf --- /dev/null +++ b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/endpoints-to-methods.d.ts @@ -0,0 +1,3 @@ +import type { Octokit } from "@octokit/core"; +import type { RestEndpointMethods } from "./generated/method-types.js"; +export declare function endpointsToMethods(octokit: Octokit): RestEndpointMethods; diff --git a/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/endpoints.d.ts b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/endpoints.d.ts new file mode 100644 index 00000000..c2f1e81a --- /dev/null +++ b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/endpoints.d.ts @@ -0,0 +1,3 @@ +import type { EndpointsDefaultsAndDecorations } from "../types.js"; +declare const Endpoints: EndpointsDefaultsAndDecorations; +export default Endpoints; diff --git a/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/method-types.d.ts b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/method-types.d.ts new file mode 100644 index 00000000..b8d03db8 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/method-types.d.ts @@ -0,0 +1,12341 @@ +import type { EndpointInterface, RequestInterface } from "@octokit/types"; +import type { RestEndpointMethodTypes } from "./parameters-and-response-types.js"; +export type RestEndpointMethods = { + actions: { + /** + * Adds custom labels to a self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + addCustomLabelsToSelfHostedRunnerForOrg: { + (params?: RestEndpointMethodTypes["actions"]["addCustomLabelsToSelfHostedRunnerForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds custom labels to a self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + addCustomLabelsToSelfHostedRunnerForRepo: { + (params?: RestEndpointMethodTypes["actions"]["addCustomLabelsToSelfHostedRunnerForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds a repository to an organization secret when the `visibility` for + * repository access is set to `selected`. For more information about setting the visibility, see [Create or + * update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + addSelectedRepoToOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["addSelectedRepoToOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds a repository to an organization variable that is available to selected repositories. + * Organization variables that are available to selected repositories have their `visibility` field set to `selected`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + addSelectedRepoToOrgVariable: { + (params?: RestEndpointMethodTypes["actions"]["addSelectedRepoToOrgVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + approveWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["approveWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Cancels a workflow run using its `id`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + cancelWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["cancelWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create an environment variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + createEnvironmentVariable: { + (params?: RestEndpointMethodTypes["actions"]["createEnvironmentVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates or updates an environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + createOrUpdateEnvironmentSecret: { + (params?: RestEndpointMethodTypes["actions"]["createOrUpdateEnvironmentSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to + * use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + createOrUpdateOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["createOrUpdateOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + createOrUpdateRepoSecret: { + (params?: RestEndpointMethodTypes["actions"]["createOrUpdateRepoSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates an organization variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + createOrgVariable: { + (params?: RestEndpointMethodTypes["actions"]["createOrgVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to configure your self-hosted runner: + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + createRegistrationTokenForOrg: { + (params?: RestEndpointMethodTypes["actions"]["createRegistrationTokenForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to configure your self-hosted runner: + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + createRegistrationTokenForRepo: { + (params?: RestEndpointMethodTypes["actions"]["createRegistrationTokenForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization: + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + createRemoveTokenForOrg: { + (params?: RestEndpointMethodTypes["actions"]["createRemoveTokenForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an repository. The token expires after one hour. + * + * For example, you can replace `TOKEN` in the following example with the registration token provided by this endpoint to remove your self-hosted runner from an organization: + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + createRemoveTokenForRepo: { + (params?: RestEndpointMethodTypes["actions"]["createRemoveTokenForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a repository variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + createRepoVariable: { + (params?: RestEndpointMethodTypes["actions"]["createRepoVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + createWorkflowDispatch: { + (params?: RestEndpointMethodTypes["actions"]["createWorkflowDispatch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a GitHub Actions cache for a repository, using a cache ID. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + deleteActionsCacheById: { + (params?: RestEndpointMethodTypes["actions"]["deleteActionsCacheById"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + deleteActionsCacheByKey: { + (params?: RestEndpointMethodTypes["actions"]["deleteActionsCacheByKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes an artifact for a workflow run. + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + deleteArtifact: { + (params?: RestEndpointMethodTypes["actions"]["deleteArtifact"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a secret in an environment using the secret name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + deleteEnvironmentSecret: { + (params?: RestEndpointMethodTypes["actions"]["deleteEnvironmentSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes an environment variable using the variable name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + deleteEnvironmentVariable: { + (params?: RestEndpointMethodTypes["actions"]["deleteEnvironmentVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a secret in an organization using the secret name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + deleteOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["deleteOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes an organization variable using the variable name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + deleteOrgVariable: { + (params?: RestEndpointMethodTypes["actions"]["deleteOrgVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a secret in a repository using the secret name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + deleteRepoSecret: { + (params?: RestEndpointMethodTypes["actions"]["deleteRepoSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a repository variable using the variable name. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + deleteRepoVariable: { + (params?: RestEndpointMethodTypes["actions"]["deleteRepoVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + deleteSelfHostedRunnerFromOrg: { + (params?: RestEndpointMethodTypes["actions"]["deleteSelfHostedRunnerFromOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + deleteSelfHostedRunnerFromRepo: { + (params?: RestEndpointMethodTypes["actions"]["deleteSelfHostedRunnerFromRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a specific workflow run. + * + * Anyone with write access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + deleteWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["deleteWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes all logs for a workflow run. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + deleteWorkflowRunLogs: { + (params?: RestEndpointMethodTypes["actions"]["deleteWorkflowRunLogs"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + disableSelectedRepositoryGithubActionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["disableSelectedRepositoryGithubActionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + disableWorkflow: { + (params?: RestEndpointMethodTypes["actions"]["disableWorkflow"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in + * the response header to find the URL for the download. The `:archive_format` must be `zip`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + downloadArtifact: { + (params?: RestEndpointMethodTypes["actions"]["downloadArtifact"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look + * for `Location:` in the response header to find the URL for the download. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + downloadJobLogsForWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["downloadJobLogsForWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after + * 1 minute. Look for `Location:` in the response header to find the URL for the download. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + downloadWorkflowRunAttemptLogs: { + (params?: RestEndpointMethodTypes["actions"]["downloadWorkflowRunAttemptLogs"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for + * `Location:` in the response header to find the URL for the download. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + downloadWorkflowRunLogs: { + (params?: RestEndpointMethodTypes["actions"]["downloadWorkflowRunLogs"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + enableSelectedRepositoryGithubActionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["enableSelectedRepositoryGithubActionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + enableWorkflow: { + (params?: RestEndpointMethodTypes["actions"]["enableWorkflow"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Cancels a workflow run and bypasses conditions that would otherwise cause a workflow execution to continue, such as an `always()` condition on a job. + * You should only use this endpoint to cancel a workflow run when the workflow run is not responding to [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel`](/rest/actions/workflow-runs#cancel-a-workflow-run). + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + forceCancelWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["forceCancelWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Generates a configuration that can be passed to the runner application at startup. + * + * The authenticated user must have admin access to the organization. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + generateRunnerJitconfigForOrg: { + (params?: RestEndpointMethodTypes["actions"]["generateRunnerJitconfigForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Generates a configuration that can be passed to the runner application at startup. + * + * The authenticated user must have admin access to the repository. + * + * OAuth tokens and personal access tokens (classic) need the`repo` scope to use this endpoint. + */ + generateRunnerJitconfigForRepo: { + (params?: RestEndpointMethodTypes["actions"]["generateRunnerJitconfigForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the GitHub Actions caches for a repository. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getActionsCacheList: { + (params?: RestEndpointMethodTypes["actions"]["getActionsCacheList"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets GitHub Actions cache usage for a repository. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getActionsCacheUsage: { + (params?: RestEndpointMethodTypes["actions"]["getActionsCacheUsage"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists repositories and their GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * + * OAuth tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + getActionsCacheUsageByRepoForOrg: { + (params?: RestEndpointMethodTypes["actions"]["getActionsCacheUsageByRepoForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the total GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * + * OAuth tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + getActionsCacheUsageForOrg: { + (params?: RestEndpointMethodTypes["actions"]["getActionsCacheUsageForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + getAllowedActionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["getAllowedActionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getAllowedActionsRepository: { + (params?: RestEndpointMethodTypes["actions"]["getAllowedActionsRepository"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific artifact for a workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getArtifact: { + (params?: RestEndpointMethodTypes["actions"]["getArtifact"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the customization template for an OpenID Connect (OIDC) subject claim. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getCustomOidcSubClaimForRepo: { + (params?: RestEndpointMethodTypes["actions"]["getCustomOidcSubClaimForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get the public key for an environment, which you need to encrypt environment + * secrets. You need to encrypt a secret before you can create or update secrets. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getEnvironmentPublicKey: { + (params?: RestEndpointMethodTypes["actions"]["getEnvironmentPublicKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a single environment secret without revealing its encrypted value. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getEnvironmentSecret: { + (params?: RestEndpointMethodTypes["actions"]["getEnvironmentSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific variable in an environment. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getEnvironmentVariable: { + (params?: RestEndpointMethodTypes["actions"]["getEnvironmentVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, + * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + getGithubActionsDefaultWorkflowPermissionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["getGithubActionsDefaultWorkflowPermissionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, + * as well as if GitHub Actions can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getGithubActionsDefaultWorkflowPermissionsRepository: { + (params?: RestEndpointMethodTypes["actions"]["getGithubActionsDefaultWorkflowPermissionsRepository"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * OAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + getGithubActionsPermissionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["getGithubActionsPermissionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getGithubActionsPermissionsRepository: { + (params?: RestEndpointMethodTypes["actions"]["getGithubActionsPermissionsRepository"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific job in a workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getJobForWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["getJobForWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * The authenticated user must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getOrgPublicKey: { + (params?: RestEndpointMethodTypes["actions"]["getOrgPublicKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a single organization secret without revealing its encrypted value. + * + * The authenticated user must have collaborator access to a repository to create, update, or read secrets + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["getOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific variable in an organization. + * + * The authenticated user must have collaborator access to a repository to create, update, or read variables. + * + * OAuth tokens and personal access tokens (classic) need the`admin:org` scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getOrgVariable: { + (params?: RestEndpointMethodTypes["actions"]["getOrgVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get all deployment environments for a workflow run that are waiting for protection rules to pass. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getPendingDeploymentsForRun: { + (params?: RestEndpointMethodTypes["actions"]["getPendingDeploymentsForRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. + * + * OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + * @deprecated octokit.rest.actions.getRepoPermissions() has been renamed to octokit.rest.actions.getGithubActionsPermissionsRepository() (2020-11-10) + */ + getRepoPermissions: { + (params?: RestEndpointMethodTypes["actions"]["getRepoPermissions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getRepoPublicKey: { + (params?: RestEndpointMethodTypes["actions"]["getRepoPublicKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a single repository secret without revealing its encrypted value. + * + * The authenticated user must have collaborator access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getRepoSecret: { + (params?: RestEndpointMethodTypes["actions"]["getRepoSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific variable in a repository. + * + * The authenticated user must have collaborator access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getRepoVariable: { + (params?: RestEndpointMethodTypes["actions"]["getRepoVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + getReviewsForRun: { + (params?: RestEndpointMethodTypes["actions"]["getReviewsForRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + getSelfHostedRunnerForOrg: { + (params?: RestEndpointMethodTypes["actions"]["getSelfHostedRunnerForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getSelfHostedRunnerForRepo: { + (params?: RestEndpointMethodTypes["actions"]["getSelfHostedRunnerForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific workflow. You can replace `workflow_id` with the workflow + * file name. For example, you could use `main.yaml`. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + getWorkflow: { + (params?: RestEndpointMethodTypes["actions"]["getWorkflow"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to private repositories. + * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getWorkflowAccessToRepository: { + (params?: RestEndpointMethodTypes["actions"]["getWorkflowAccessToRepository"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + getWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["getWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific workflow run attempt. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + getWorkflowRunAttempt: { + (params?: RestEndpointMethodTypes["actions"]["getWorkflowRunAttempt"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + getWorkflowRunUsage: { + (params?: RestEndpointMethodTypes["actions"]["getWorkflowRunUsage"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + getWorkflowUsage: { + (params?: RestEndpointMethodTypes["actions"]["getWorkflowUsage"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all artifacts for a repository. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + listArtifactsForRepo: { + (params?: RestEndpointMethodTypes["actions"]["listArtifactsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all secrets available in an environment without revealing their + * encrypted values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + listEnvironmentSecrets: { + (params?: RestEndpointMethodTypes["actions"]["listEnvironmentSecrets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all environment variables. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + listEnvironmentVariables: { + (params?: RestEndpointMethodTypes["actions"]["listEnvironmentVariables"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists jobs for a workflow run. You can use parameters to narrow the list of results. For more information + * about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + listJobsForWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["listJobsForWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists jobs for a specific workflow run attempt. You can use parameters to narrow the list of results. For more information + * about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + listJobsForWorkflowRunAttempt: { + (params?: RestEndpointMethodTypes["actions"]["listJobsForWorkflowRunAttempt"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all labels for a self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + listLabelsForSelfHostedRunnerForOrg: { + (params?: RestEndpointMethodTypes["actions"]["listLabelsForSelfHostedRunnerForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all labels for a self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + listLabelsForSelfHostedRunnerForRepo: { + (params?: RestEndpointMethodTypes["actions"]["listLabelsForSelfHostedRunnerForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all secrets available in an organization without revealing their + * encrypted values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + listOrgSecrets: { + (params?: RestEndpointMethodTypes["actions"]["listOrgSecrets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all organization variables. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + listOrgVariables: { + (params?: RestEndpointMethodTypes["actions"]["listOrgVariables"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all organization secrets shared with a repository without revealing their encrypted + * values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + listRepoOrganizationSecrets: { + (params?: RestEndpointMethodTypes["actions"]["listRepoOrganizationSecrets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all organization variables shared with a repository. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + listRepoOrganizationVariables: { + (params?: RestEndpointMethodTypes["actions"]["listRepoOrganizationVariables"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all secrets available in a repository without revealing their encrypted + * values. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + listRepoSecrets: { + (params?: RestEndpointMethodTypes["actions"]["listRepoSecrets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all repository variables. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + listRepoVariables: { + (params?: RestEndpointMethodTypes["actions"]["listRepoVariables"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the workflows in a repository. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + listRepoWorkflows: { + (params?: RestEndpointMethodTypes["actions"]["listRepoWorkflows"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists binaries for the runner application that you can download and run. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + listRunnerApplicationsForOrg: { + (params?: RestEndpointMethodTypes["actions"]["listRunnerApplicationsForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists binaries for the runner application that you can download and run. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + listRunnerApplicationsForRepo: { + (params?: RestEndpointMethodTypes["actions"]["listRunnerApplicationsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all repositories that have been selected when the `visibility` + * for repository access to a secret is set to `selected`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + listSelectedReposForOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["listSelectedReposForOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all repositories that can access an organization variable + * that is available to selected repositories. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + listSelectedReposForOrgVariable: { + (params?: RestEndpointMethodTypes["actions"]["listSelectedReposForOrgVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + listSelectedRepositoriesEnabledGithubActionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["listSelectedRepositoriesEnabledGithubActionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all self-hosted runners configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + listSelfHostedRunnersForOrg: { + (params?: RestEndpointMethodTypes["actions"]["listSelfHostedRunnersForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all self-hosted runners configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + listSelfHostedRunnersForRepo: { + (params?: RestEndpointMethodTypes["actions"]["listSelfHostedRunnersForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists artifacts for a workflow run. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + listWorkflowRunArtifacts: { + (params?: RestEndpointMethodTypes["actions"]["listWorkflowRunArtifacts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + listWorkflowRuns: { + (params?: RestEndpointMethodTypes["actions"]["listWorkflowRuns"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + * + * This API will return up to 1,000 results for each search when using the following parameters: `actor`, `branch`, `check_suite_id`, `created`, `event`, `head_sha`, `status`. + */ + listWorkflowRunsForRepo: { + (params?: RestEndpointMethodTypes["actions"]["listWorkflowRunsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Re-run a job and its dependent jobs in a workflow run. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + reRunJobForWorkflowRun: { + (params?: RestEndpointMethodTypes["actions"]["reRunJobForWorkflowRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Re-runs your workflow run using its `id`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + reRunWorkflow: { + (params?: RestEndpointMethodTypes["actions"]["reRunWorkflow"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + reRunWorkflowFailedJobs: { + (params?: RestEndpointMethodTypes["actions"]["reRunWorkflowFailedJobs"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Remove all custom labels from a self-hosted runner configured in an + * organization. Returns the remaining read-only labels from the runner. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + removeAllCustomLabelsFromSelfHostedRunnerForOrg: { + (params?: RestEndpointMethodTypes["actions"]["removeAllCustomLabelsFromSelfHostedRunnerForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Remove all custom labels from a self-hosted runner configured in a + * repository. Returns the remaining read-only labels from the runner. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + removeAllCustomLabelsFromSelfHostedRunnerForRepo: { + (params?: RestEndpointMethodTypes["actions"]["removeAllCustomLabelsFromSelfHostedRunnerForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Remove a custom label from a self-hosted runner configured + * in an organization. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + removeCustomLabelFromSelfHostedRunnerForOrg: { + (params?: RestEndpointMethodTypes["actions"]["removeCustomLabelFromSelfHostedRunnerForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Remove a custom label from a self-hosted runner configured + * in a repository. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + removeCustomLabelFromSelfHostedRunnerForRepo: { + (params?: RestEndpointMethodTypes["actions"]["removeCustomLabelFromSelfHostedRunnerForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a repository from an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + removeSelectedRepoFromOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["removeSelectedRepoFromOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a repository from an organization variable that is + * available to selected repositories. Organization variables that are available to + * selected repositories have their `visibility` field set to `selected`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + removeSelectedRepoFromOrgVariable: { + (params?: RestEndpointMethodTypes["actions"]["removeSelectedRepoFromOrgVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Approve or reject custom deployment protection rules provided by a GitHub App for a workflow run. For more information, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * **Note:** GitHub Apps can only review their own custom deployment protection rules. + * To approve or reject pending deployments that are waiting for review from a specific person or team, see [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`](/rest/actions/workflow-runs#review-pending-deployments-for-a-workflow-run). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + reviewCustomGatesForRun: { + (params?: RestEndpointMethodTypes["actions"]["reviewCustomGatesForRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Approve or reject pending deployments that are waiting on approval by a required reviewer. + * + * Required reviewers with read access to the repository contents and deployments can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + reviewPendingDeploymentsForRun: { + (params?: RestEndpointMethodTypes["actions"]["reviewPendingDeploymentsForRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + setAllowedActionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["setAllowedActionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + setAllowedActionsRepository: { + (params?: RestEndpointMethodTypes["actions"]["setAllowedActionsRepository"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in an organization. + * + * Authenticated users must have admin access to the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + setCustomLabelsForSelfHostedRunnerForOrg: { + (params?: RestEndpointMethodTypes["actions"]["setCustomLabelsForSelfHostedRunnerForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in a repository. + * + * Authenticated users must have admin access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + setCustomLabelsForSelfHostedRunnerForRepo: { + (params?: RestEndpointMethodTypes["actions"]["setCustomLabelsForSelfHostedRunnerForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the customization template and `opt-in` or `opt-out` flag for an OpenID Connect (OIDC) subject claim for a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + setCustomOidcSubClaimForRepo: { + (params?: RestEndpointMethodTypes["actions"]["setCustomOidcSubClaimForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, and sets if GitHub Actions + * can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + setGithubActionsDefaultWorkflowPermissionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["setGithubActionsDefaultWorkflowPermissionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, and sets if GitHub Actions + * can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + setGithubActionsDefaultWorkflowPermissionsRepository: { + (params?: RestEndpointMethodTypes["actions"]["setGithubActionsDefaultWorkflowPermissionsRepository"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + setGithubActionsPermissionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["setGithubActionsPermissionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + setGithubActionsPermissionsRepository: { + (params?: RestEndpointMethodTypes["actions"]["setGithubActionsPermissionsRepository"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Replaces all repositories for an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). + * + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + setSelectedReposForOrgSecret: { + (params?: RestEndpointMethodTypes["actions"]["setSelectedReposForOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Replaces all repositories for an organization variable that is available + * to selected repositories. Organization variables that are available to selected + * repositories have their `visibility` field set to `selected`. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + setSelectedReposForOrgVariable: { + (params?: RestEndpointMethodTypes["actions"]["setSelectedReposForOrgVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + setSelectedRepositoriesEnabledGithubActionsOrganization: { + (params?: RestEndpointMethodTypes["actions"]["setSelectedRepositoriesEnabledGithubActionsOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to private repositories. + * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + setWorkflowAccessToRepository: { + (params?: RestEndpointMethodTypes["actions"]["setWorkflowAccessToRepository"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates an environment variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + updateEnvironmentVariable: { + (params?: RestEndpointMethodTypes["actions"]["updateEnvironmentVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates an organization variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. If the repository is private, the `repo` scope is also required. + */ + updateOrgVariable: { + (params?: RestEndpointMethodTypes["actions"]["updateOrgVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates a repository variable that you can reference in a GitHub Actions workflow. + * + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + updateRepoVariable: { + (params?: RestEndpointMethodTypes["actions"]["updateRepoVariable"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + activity: { + /** + * Whether the authenticated user has starred the repository. + */ + checkRepoIsStarredByAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["checkRepoIsStarredByAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/activity/watching#set-a-repository-subscription). + */ + deleteRepoSubscription: { + (params?: RestEndpointMethodTypes["activity"]["deleteRepoSubscription"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/activity/notifications#set-a-thread-subscription) endpoint and set `ignore` to `true`. + */ + deleteThreadSubscription: { + (params?: RestEndpointMethodTypes["activity"]["deleteThreadSubscription"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the feeds available to the authenticated user. The response provides a URL for each feed. You can then get a specific feed by sending a request to one of the feed URLs. + * + * * **Timeline**: The GitHub global public timeline + * * **User**: The public timeline for any user, using `uri_template`. For more information, see "[Hypermedia](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia)." + * * **Current user public**: The public timeline for the authenticated user + * * **Current user**: The private timeline for the authenticated user + * * **Current user actor**: The private timeline for activity created by the authenticated user + * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. + * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. + * + * By default, timeline resources are returned in JSON. You can specify the `application/atom+xml` type in the `Accept` header to return timeline resources in Atom format. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens. + */ + getFeeds: { + (params?: RestEndpointMethodTypes["activity"]["getFeeds"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets information about whether the authenticated user is subscribed to the repository. + */ + getRepoSubscription: { + (params?: RestEndpointMethodTypes["activity"]["getRepoSubscription"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets information about a notification thread. + */ + getThread: { + (params?: RestEndpointMethodTypes["activity"]["getThread"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/activity/watching#get-a-repository-subscription). + * + * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. + */ + getThreadSubscriptionForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["getThreadSubscriptionForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. + */ + listEventsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["listEventsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all notifications for the current user, sorted by most recently updated. + */ + listNotificationsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["listNotificationsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This is the user's organization dashboard. You must be authenticated as the user to view this. + */ + listOrgEventsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["listOrgEventsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. + */ + listPublicEvents: { + (params?: RestEndpointMethodTypes["activity"]["listPublicEvents"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listPublicEventsForRepoNetwork: { + (params?: RestEndpointMethodTypes["activity"]["listPublicEventsForRepoNetwork"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listPublicEventsForUser: { + (params?: RestEndpointMethodTypes["activity"]["listPublicEventsForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listPublicOrgEvents: { + (params?: RestEndpointMethodTypes["activity"]["listPublicOrgEvents"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * These are events that you've received by watching repositories and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. + */ + listReceivedEventsForUser: { + (params?: RestEndpointMethodTypes["activity"]["listReceivedEventsForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listReceivedPublicEventsForUser: { + (params?: RestEndpointMethodTypes["activity"]["listReceivedPublicEventsForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + */ + listRepoEvents: { + (params?: RestEndpointMethodTypes["activity"]["listRepoEvents"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all notifications for the current user in the specified repository. + */ + listRepoNotificationsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["listRepoNotificationsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists repositories the authenticated user has starred. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. + */ + listReposStarredByAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["listReposStarredByAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists repositories a user has starred. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. + */ + listReposStarredByUser: { + (params?: RestEndpointMethodTypes["activity"]["listReposStarredByUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists repositories a user is watching. + */ + listReposWatchedByUser: { + (params?: RestEndpointMethodTypes["activity"]["listReposWatchedByUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the people that have starred the repository. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created. + */ + listStargazersForRepo: { + (params?: RestEndpointMethodTypes["activity"]["listStargazersForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists repositories the authenticated user is watching. + */ + listWatchedReposForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["listWatchedReposForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the people watching the specified repository. + */ + listWatchersForRepo: { + (params?: RestEndpointMethodTypes["activity"]["listWatchersForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Marks all notifications as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + */ + markNotificationsAsRead: { + (params?: RestEndpointMethodTypes["activity"]["markNotificationsAsRead"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Marks all notifications in a repository as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + */ + markRepoNotificationsAsRead: { + (params?: RestEndpointMethodTypes["activity"]["markRepoNotificationsAsRead"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Marks a thread as "done." Marking a thread as "done" is equivalent to marking a notification in your notification inbox on GitHub as done: https://github.com/notifications. + */ + markThreadAsDone: { + (params?: RestEndpointMethodTypes["activity"]["markThreadAsDone"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Marks a thread as "read." Marking a thread as "read" is equivalent to clicking a notification in your notification inbox on GitHub: https://github.com/notifications. + */ + markThreadAsRead: { + (params?: RestEndpointMethodTypes["activity"]["markThreadAsRead"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/activity/watching#delete-a-repository-subscription) completely. + */ + setRepoSubscription: { + (params?: RestEndpointMethodTypes["activity"]["setRepoSubscription"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. + * + * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. + * + * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/activity/notifications#delete-a-thread-subscription) endpoint. + */ + setThreadSubscription: { + (params?: RestEndpointMethodTypes["activity"]["setThreadSubscription"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + starRepoForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["starRepoForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Unstar a repository that the authenticated user has previously starred. + */ + unstarRepoForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["activity"]["unstarRepoForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + apps: { + /** + * Add a single repository to an installation. The authenticated user must have admin access to the repository. + * @deprecated octokit.rest.apps.addRepoToInstallation() has been renamed to octokit.rest.apps.addRepoToInstallationForAuthenticatedUser() (2021-10-05) + */ + addRepoToInstallation: { + (params?: RestEndpointMethodTypes["apps"]["addRepoToInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Add a single repository to an installation. The authenticated user must have admin access to the repository. + */ + addRepoToInstallationForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["apps"]["addRepoToInstallationForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth applications and GitHub applications with OAuth authorizations can use this API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. + */ + checkToken: { + (params?: RestEndpointMethodTypes["apps"]["checkToken"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. + */ + createFromManifest: { + (params?: RestEndpointMethodTypes["apps"]["createFromManifest"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. + * + * Optionally, you can use the `repositories` or `repository_ids` body parameters to specify individual repositories that the installation access token can access. If you don't use `repositories` or `repository_ids` to grant access to specific repositories, the installation access token will have access to all repositories that the installation was granted access to. The installation access token cannot be granted access to repositories that the installation was not granted access to. Up to 500 repositories can be listed in this manner. + * + * Optionally, use the `permissions` body parameter to specify the permissions that the installation access token should have. If `permissions` is not specified, the installation access token will have all of the permissions that were granted to the app. The installation access token cannot be granted permissions that the app was not granted. + * + * When using the repository or permission parameters to reduce the access of the token, the complexity of the token is increased due to both the number of permissions in the request and the number of repositories the token will have access to. If the complexity is too large, the token will fail to be issued. If this occurs, the error message will indicate the maximum number of repositories that should be requested. For the average application requesting 8 permissions, this limit is around 5000 repositories. With fewer permissions requested, more repositories are supported. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + createInstallationAccessToken: { + (params?: RestEndpointMethodTypes["apps"]["createInstallationAccessToken"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth and GitHub application owners can revoke a grant for their application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. + * Deleting an application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ + deleteAuthorization: { + (params?: RestEndpointMethodTypes["apps"]["deleteAuthorization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/apps/apps#suspend-an-app-installation)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + deleteInstallation: { + (params?: RestEndpointMethodTypes["apps"]["deleteInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth or GitHub application owners can revoke a single token for an OAuth application or a GitHub application with an OAuth authorization. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password. + */ + deleteToken: { + (params?: RestEndpointMethodTypes["apps"]["deleteToken"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/apps/apps#list-installations-for-the-authenticated-app)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getAuthenticated: { + (params?: RestEndpointMethodTypes["apps"]["getAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). + */ + getBySlug: { + (params?: RestEndpointMethodTypes["apps"]["getBySlug"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables an authenticated GitHub App to find an installation's information using the installation id. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getInstallation: { + (params?: RestEndpointMethodTypes["apps"]["getInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables an authenticated GitHub App to find the organization's installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getOrgInstallation: { + (params?: RestEndpointMethodTypes["apps"]["getOrgInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getRepoInstallation: { + (params?: RestEndpointMethodTypes["apps"]["getRepoInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + getSubscriptionPlanForAccount: { + (params?: RestEndpointMethodTypes["apps"]["getSubscriptionPlanForAccount"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + getSubscriptionPlanForAccountStubbed: { + (params?: RestEndpointMethodTypes["apps"]["getSubscriptionPlanForAccountStubbed"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables an authenticated GitHub App to find the user’s installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getUserInstallation: { + (params?: RestEndpointMethodTypes["apps"]["getUserInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getWebhookConfigForApp: { + (params?: RestEndpointMethodTypes["apps"]["getWebhookConfigForApp"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + getWebhookDelivery: { + (params?: RestEndpointMethodTypes["apps"]["getWebhookDelivery"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listAccountsForPlan: { + (params?: RestEndpointMethodTypes["apps"]["listAccountsForPlan"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listAccountsForPlanStubbed: { + (params?: RestEndpointMethodTypes["apps"]["listAccountsForPlanStubbed"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * The access the user has to each repository is included in the hash under the `permissions` key. + */ + listInstallationReposForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["apps"]["listInstallationReposForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all the pending installation requests for the authenticated GitHub App. + */ + listInstallationRequestsForAuthenticatedApp: { + (params?: RestEndpointMethodTypes["apps"]["listInstallationRequestsForAuthenticatedApp"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You must use a [JWT](https://docs.github.com/enterprise-server@3.9/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * + * The permissions the installation has are included under the `permissions` key. + */ + listInstallations: { + (params?: RestEndpointMethodTypes["apps"]["listInstallations"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You can find the permissions for the installation under the `permissions` key. + */ + listInstallationsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["apps"]["listInstallationsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listPlans: { + (params?: RestEndpointMethodTypes["apps"]["listPlans"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + listPlansStubbed: { + (params?: RestEndpointMethodTypes["apps"]["listPlansStubbed"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List repositories that an app installation can access. + */ + listReposAccessibleToInstallation: { + (params?: RestEndpointMethodTypes["apps"]["listReposAccessibleToInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the active subscriptions for the authenticated user. + */ + listSubscriptionsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["apps"]["listSubscriptionsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the active subscriptions for the authenticated user. + */ + listSubscriptionsForAuthenticatedUserStubbed: { + (params?: RestEndpointMethodTypes["apps"]["listSubscriptionsForAuthenticatedUserStubbed"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a list of webhook deliveries for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + listWebhookDeliveries: { + (params?: RestEndpointMethodTypes["apps"]["listWebhookDeliveries"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Redeliver a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + redeliverWebhookDelivery: { + (params?: RestEndpointMethodTypes["apps"]["redeliverWebhookDelivery"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Remove a single repository from an installation. The authenticated user must have admin access to the repository. The installation must have the `repository_selection` of `selected`. + * @deprecated octokit.rest.apps.removeRepoFromInstallation() has been renamed to octokit.rest.apps.removeRepoFromInstallationForAuthenticatedUser() (2021-10-05) + */ + removeRepoFromInstallation: { + (params?: RestEndpointMethodTypes["apps"]["removeRepoFromInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Remove a single repository from an installation. The authenticated user must have admin access to the repository. The installation must have the `repository_selection` of `selected`. + */ + removeRepoFromInstallationForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["apps"]["removeRepoFromInstallationForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth applications and GitHub applications with OAuth authorizations can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + */ + resetToken: { + (params?: RestEndpointMethodTypes["apps"]["resetToken"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Revokes the installation token you're using to authenticate as an installation and access this endpoint. + * + * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/apps/apps#create-an-installation-access-token-for-an-app)" endpoint. + */ + revokeInstallationAccessToken: { + (params?: RestEndpointMethodTypes["apps"]["revokeInstallationAccessToken"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Use a non-scoped user access token to create a repository-scoped and/or permission-scoped user access token. You can specify + * which repositories the token can access and which permissions are granted to the + * token. + * + * Invalid tokens will return `404 NOT FOUND`. + * + * You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) + * when accessing this endpoint, using the `client_id` and `client_secret` of the GitHub App + * as the username and password. + */ + scopeToken: { + (params?: RestEndpointMethodTypes["apps"]["scopeToken"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + suspendInstallation: { + (params?: RestEndpointMethodTypes["apps"]["suspendInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a GitHub App installation suspension. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + unsuspendInstallation: { + (params?: RestEndpointMethodTypes["apps"]["unsuspendInstallation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + updateWebhookConfigForApp: { + (params?: RestEndpointMethodTypes["apps"]["updateWebhookConfigForApp"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + billing: { + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + getGithubActionsBillingOrg: { + (params?: RestEndpointMethodTypes["billing"]["getGithubActionsBillingOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + getGithubActionsBillingUser: { + (params?: RestEndpointMethodTypes["billing"]["getGithubActionsBillingUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + getGithubPackagesBillingOrg: { + (params?: RestEndpointMethodTypes["billing"]["getGithubPackagesBillingOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + getGithubPackagesBillingUser: { + (params?: RestEndpointMethodTypes["billing"]["getGithubPackagesBillingUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `admin:org` scope to use this endpoint. + */ + getSharedStorageBillingOrg: { + (params?: RestEndpointMethodTypes["billing"]["getSharedStorageBillingOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + getSharedStorageBillingUser: { + (params?: RestEndpointMethodTypes["billing"]["getSharedStorageBillingUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + checks: { + /** + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. + * + * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. + */ + create: { + (params?: RestEndpointMethodTypes["checks"]["create"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a check suite manually. By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/checks/runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/checks/suites#update-repository-preferences-for-check-suites)". + * + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + createSuite: { + (params?: RestEndpointMethodTypes["checks"]["createSuite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a single check run using its `id`. + * + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + get: { + (params?: RestEndpointMethodTypes["checks"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a single check suite using its `id`. + * + * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + getSuite: { + (params?: RestEndpointMethodTypes["checks"]["getSuite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists annotations for a check run using the annotation `id`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + listAnnotations: { + (params?: RestEndpointMethodTypes["checks"]["listAnnotations"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. + * + * **Note:** The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * If there are more than 1000 check suites on a single git reference, this endpoint will limit check runs to the 1000 most recent check suites. To iterate over all possible check runs, use the [List check suites for a Git reference](https://docs.github.com/rest/reference/checks#list-check-suites-for-a-git-reference) endpoint and provide the `check_suite_id` parameter to the [List check runs in a check suite](https://docs.github.com/rest/reference/checks#list-check-runs-in-a-check-suite) endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + listForRef: { + (params?: RestEndpointMethodTypes["checks"]["listForRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists check runs for a check suite using its `id`. + * + * **Note:** The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + listForSuite: { + (params?: RestEndpointMethodTypes["checks"]["listForSuite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. + * + * **Note:** The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint on a private repository. + */ + listSuitesForRef: { + (params?: RestEndpointMethodTypes["checks"]["listSuitesForRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * For more information about how to re-run GitHub Actions jobs, see "[Re-run a job from a workflow run](https://docs.github.com/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run)". + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + rerequestRun: { + (params?: RestEndpointMethodTypes["checks"]["rerequestRun"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + rerequestSuite: { + (params?: RestEndpointMethodTypes["checks"]["rerequestSuite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/checks/suites#create-a-check-suite). + * You must have admin permissions in the repository to set preferences for check suites. + */ + setSuitesPreferences: { + (params?: RestEndpointMethodTypes["checks"]["setSuitesPreferences"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates a check run for a specific commit in a repository. + * + * **Note:** The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * OAuth apps and personal access tokens (classic) cannot use this endpoint. + */ + update: { + (params?: RestEndpointMethodTypes["checks"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + codeScanning: { + /** + * Deletes a specified code scanning analysis from a repository. + * + * You can delete one analysis at a time. + * To delete a series of analyses, start with the most recent analysis and work backwards. + * Conceptually, the process is similar to the undo function in a text editor. + * + * When you list the analyses for a repository, + * one or more will be identified as deletable in the response: + * + * ``` + * "deletable": true + * ``` + * + * An analysis is deletable when it's the most recent in a set of analyses. + * Typically, a repository will have multiple sets of analyses + * for each enabled code scanning tool, + * where a set is determined by a unique combination of analysis values: + * + * * `ref` + * * `tool` + * * `category` + * + * If you attempt to delete an analysis that is not the most recent in a set, + * you'll get a 400 response with the message: + * + * ``` + * Analysis specified is not deletable. + * ``` + * + * The response from a successful `DELETE` operation provides you with + * two alternative URLs for deleting the next analysis in the set: + * `next_analysis_url` and `confirm_delete_url`. + * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis + * in a set. This is a useful option if you want to preserve at least one analysis + * for the specified tool in your repository. + * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. + * When you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url` + * in the 200 response is `null`. + * + * As an example of the deletion process, + * let's imagine that you added a workflow that configured a particular code scanning tool + * to analyze the code in a repository. This tool has added 15 analyses: + * 10 on the default branch, and another 5 on a topic branch. + * You therefore have two separate sets of analyses for this tool. + * You've now decided that you want to remove all of the analyses for the tool. + * To do this you must make 15 separate deletion requests. + * To start, you must find an analysis that's identified as deletable. + * Each set of analyses always has one that's identified as deletable. + * Having found the deletable analysis for one of the two sets, + * delete this analysis and then continue deleting the next analysis in the set until they're all deleted. + * Then repeat the process for the second set. + * The procedure therefore consists of a nested loop: + * + * **Outer loop**: + * * List the analyses for the repository, filtered by tool. + * * Parse this list to find a deletable analysis. If found: + * + * **Inner loop**: + * * Delete the identified analysis. + * * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. + * + * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + deleteAnalysis: { + (params?: RestEndpointMethodTypes["codeScanning"]["deleteAnalysis"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a single code scanning alert. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + getAlert: { + (params?: RestEndpointMethodTypes["codeScanning"]["getAlert"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specified code scanning analysis for a repository. + * + * The default JSON response contains fields that describe the analysis. + * This includes the Git reference and commit SHA to which the analysis relates, + * the datetime of the analysis, the name of the code scanning tool, + * and the number of alerts. + * + * The `rules_count` field in the default response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/sarif+json`**: Instead of returning a summary of the analysis, this endpoint returns a subset of the analysis data that was uploaded. The data is formatted as [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). It also returns additional data such as the `github/alertNumber` and `github/alertUrl` properties. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + getAnalysis: { + (params?: RestEndpointMethodTypes["codeScanning"]["getAnalysis"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a CodeQL database for a language in a repository. + * + * By default this endpoint returns JSON metadata about the CodeQL database. To + * download the CodeQL database binary content, set the `Accept` header of the request + * to [`application/zip`](https://docs.github.com/rest/overview/media-types), and make sure + * your HTTP client is configured to follow redirects or use the `Location` header + * to make a second request to get the redirect URL. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + getCodeqlDatabase: { + (params?: RestEndpointMethodTypes["codeScanning"]["getCodeqlDatabase"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a code scanning default setup configuration. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + getDefaultSetup: { + (params?: RestEndpointMethodTypes["codeScanning"]["getDefaultSetup"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository)." + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + getSarif: { + (params?: RestEndpointMethodTypes["codeScanning"]["getSarif"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all instances of the specified code scanning alert. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + listAlertInstances: { + (params?: RestEndpointMethodTypes["codeScanning"]["listAlertInstances"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` or `repo`s cope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + listAlertsForOrg: { + (params?: RestEndpointMethodTypes["codeScanning"]["listAlertsForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all open code scanning alerts for the default branch (usually `main` + * or `master`). You must use an access token with the `security_events` scope to use + * this endpoint with private repos, the `public_repo` scope also grants permission to read + * security events on public repos only. GitHub Apps must have the `security_events` read + * permission to use this endpoint. + * + * The response includes a `most_recent_instance` object. + * This provides details of the most recent instance of this alert + * for the default branch or for the specified Git reference + * (if you used `ref` in the request). + */ + listAlertsForRepo: { + (params?: RestEndpointMethodTypes["codeScanning"]["listAlertsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all instances of the specified code scanning alert. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + * @deprecated octokit.rest.codeScanning.listAlertsInstances() has been renamed to octokit.rest.codeScanning.listAlertInstances() (2021-04-30) + */ + listAlertsInstances: { + (params?: RestEndpointMethodTypes["codeScanning"]["listAlertsInstances"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the CodeQL databases that are available in a repository. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + listCodeqlDatabases: { + (params?: RestEndpointMethodTypes["codeScanning"]["listCodeqlDatabases"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the details of all code scanning analyses for a repository, + * starting with the most recent. + * The response is paginated and you can use the `page` and `per_page` parameters + * to list the analyses you're interested in. + * By default 30 analyses are listed per page. + * + * The `rules_count` field in the response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * **Deprecation notice**: + * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + listRecentAnalyses: { + (params?: RestEndpointMethodTypes["codeScanning"]["listRecentAnalyses"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the status of a single code scanning alert. + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + updateAlert: { + (params?: RestEndpointMethodTypes["codeScanning"]["updateAlert"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates a code scanning default setup configuration. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + updateDefaultSetup: { + (params?: RestEndpointMethodTypes["codeScanning"]["updateDefaultSetup"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. For troubleshooting information, see "[Troubleshooting SARIF uploads](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif)." + * + * There are two places where you can upload code scanning results. + * - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." + * - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." + * + * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: + * + * ``` + * gzip -c analysis-data.sarif | base64 -w0 + * ``` + * + * SARIF upload supports a maximum number of entries per the following data objects, and an analysis will be rejected if any of these objects is above its maximum value. For some objects, there are additional values over which the entries will be ignored while keeping the most important entries whenever applicable. + * To get the most out of your analysis when it includes data above the supported limits, try to optimize the analysis configuration. For example, for the CodeQL tool, identify and remove the most noisy queries. For more information, see "[SARIF results exceed one or more limits](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif/results-exceed-limit)." + * + * + * | **SARIF data** | **Maximum values** | **Additional limits** | + * |----------------------------------|:------------------:|----------------------------------------------------------------------------------| + * | Runs per file | 20 | | + * | Results per run | 25,000 | Only the top 5,000 results will be included, prioritized by severity. | + * | Rules per run | 25,000 | | + * | Tool extensions per run | 100 | | + * | Thread Flow Locations per result | 10,000 | Only the top 1,000 Thread Flow Locations will be included, using prioritization. | + * | Location per result | 1,000 | Only 100 locations will be included. | + * | Tags per rule | 20 | Only 10 tags will be included. | + * + * + * The `202 Accepted` response includes an `id` value. + * You can use this ID to check the status of the upload by using it in the `/sarifs/{sarif_id}` endpoint. + * For more information, see "[Get information about a SARIF upload](/rest/code-scanning/code-scanning#get-information-about-a-sarif-upload)." + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint with private or public repositories, or the `public_repo` scope to use this endpoint with only public repositories. + */ + uploadSarif: { + (params?: RestEndpointMethodTypes["codeScanning"]["uploadSarif"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + codesOfConduct: { + /** + * Returns array of all GitHub's codes of conduct. + */ + getAllCodesOfConduct: { + (params?: RestEndpointMethodTypes["codesOfConduct"]["getAllCodesOfConduct"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns information about the specified GitHub code of conduct. + */ + getConductCode: { + (params?: RestEndpointMethodTypes["codesOfConduct"]["getConductCode"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + codespaces: { + /** + * Adds a repository to the selected repositories for a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + addRepositoryForSecretForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["addRepositoryForSecretForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds a repository to an organization development environment secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + addSelectedRepoToOrgSecret: { + (params?: RestEndpointMethodTypes["codespaces"]["addSelectedRepoToOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Checks whether the permissions defined by a given devcontainer configuration have been accepted by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + checkPermissionsForDevcontainer: { + (params?: RestEndpointMethodTypes["codespaces"]["checkPermissionsForDevcontainer"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the machine types a codespace can transition to use. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + codespaceMachinesForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["codespaceMachinesForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new codespace, owned by the authenticated user. + * + * This endpoint requires either a `repository_id` OR a `pull_request` but not both. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + createForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["createForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates or updates an organization development environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + createOrUpdateOrgSecret: { + (params?: RestEndpointMethodTypes["codespaces"]["createOrUpdateOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates or updates a repository development environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + createOrUpdateRepoSecret: { + (params?: RestEndpointMethodTypes["codespaces"]["createOrUpdateRepoSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates or updates a development environment secret for a user's codespace with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + createOrUpdateSecretForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["createOrUpdateSecretForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a codespace owned by the authenticated user for the specified pull request. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + createWithPrForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["createWithPrForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a codespace owned by the authenticated user in the specified repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + createWithRepoForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["createWithRepoForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + deleteForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["deleteForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + deleteFromOrganization: { + (params?: RestEndpointMethodTypes["codespaces"]["deleteFromOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes an organization development environment secret using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + deleteOrgSecret: { + (params?: RestEndpointMethodTypes["codespaces"]["deleteOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a development environment secret in a repository using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + deleteRepoSecret: { + (params?: RestEndpointMethodTypes["codespaces"]["deleteRepoSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a development environment secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + deleteSecretForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["deleteSecretForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. + * + * If changes cannot be pushed to the codespace's repository, they will be pushed to a new or previously-existing fork instead. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + exportForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["exportForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the codespaces that a member of an organization has for repositories in that organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + getCodespacesForUserInOrg: { + (params?: RestEndpointMethodTypes["codespaces"]["getCodespacesForUserInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets information about an export of a codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + getExportDetailsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["getExportDetailsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets information about a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + getForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["getForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a public key for an organization, which is required in order to encrypt secrets. You need to encrypt the value of a secret before you can create or update secrets. + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + getOrgPublicKey: { + (params?: RestEndpointMethodTypes["codespaces"]["getOrgPublicKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets an organization development environment secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + getOrgSecret: { + (params?: RestEndpointMethodTypes["codespaces"]["getOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + getPublicKeyForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["getPublicKeyForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * Anyone with read access to the repository can use this endpoint. + * + * If the repository is private, OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getRepoPublicKey: { + (params?: RestEndpointMethodTypes["codespaces"]["getRepoPublicKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a single repository development environment secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getRepoSecret: { + (params?: RestEndpointMethodTypes["codespaces"]["getRepoSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a development environment secret available to a user's codespaces without revealing its encrypted value. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + getSecretForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["getSecretForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the devcontainer.json files associated with a specified repository and the authenticated user. These files + * specify launchpoint configurations for codespaces created within the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + listDevcontainersInRepositoryForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["listDevcontainersInRepositoryForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the authenticated user's codespaces. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + listForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["listForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the codespaces associated to a specified organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + listInOrganization: { + (params?: RestEndpointMethodTypes["codespaces"]["listInOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the codespaces associated to a specified repository and the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + listInRepositoryForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["listInRepositoryForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all Codespaces development environment secrets available at the organization-level without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + listOrgSecrets: { + (params?: RestEndpointMethodTypes["codespaces"]["listOrgSecrets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all development environment secrets available in a repository without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + listRepoSecrets: { + (params?: RestEndpointMethodTypes["codespaces"]["listRepoSecrets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the repositories that have been granted the ability to use a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + listRepositoriesForSecretForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["listRepositoriesForSecretForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all development environment secrets available for a user's codespaces without revealing their + * encrypted values. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + listSecretsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["listSecretsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all repositories that have been selected when the `visibility` + * for repository access to a secret is set to `selected`. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + listSelectedReposForOrgSecret: { + (params?: RestEndpointMethodTypes["codespaces"]["listSelectedReposForOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the default attributes for codespaces created by the user with the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + preFlightWithRepoForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["preFlightWithRepoForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Publishes an unpublished codespace, creating a new repository and assigning it to the codespace. + * + * The codespace's token is granted write permissions to the repository, allowing the user to push their changes. + * + * This will fail for a codespace that is already published, meaning it has an associated repository. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + publishForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["publishForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a repository from the selected repositories for a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + removeRepositoryForSecretForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["removeRepositoryForSecretForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a repository from an organization development environment secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + removeSelectedRepoFromOrgSecret: { + (params?: RestEndpointMethodTypes["codespaces"]["removeSelectedRepoFromOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the machine types available for a given repository based on its configuration. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + repoMachinesForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["repoMachinesForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Select the repositories that will use a user's development environment secret. + * + * The authenticated user must have Codespaces access to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` or `codespace:secrets` scope to use this endpoint. + */ + setRepositoriesForSecretForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["setRepositoriesForSecretForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Replaces all repositories for an organization development environment secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + setSelectedReposForOrgSecret: { + (params?: RestEndpointMethodTypes["codespaces"]["setSelectedReposForOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Starts a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + startForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["startForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Stops a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + stopForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["stopForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Stops a user's codespace. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + stopInOrganization: { + (params?: RestEndpointMethodTypes["codespaces"]["stopInOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint. + * + * If you specify a new machine type it will be applied the next time your codespace is started. + * + * OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint. + */ + updateForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["codespaces"]["updateForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + copilot: { + /** + * **Note**: This endpoint is in beta and is subject to change. + * + * Purchases a GitHub Copilot seat for all users within each specified team. + * The organization will be billed accordingly. For more information about Copilot pricing, see "[Pricing for GitHub Copilot](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot)". + * + * Only organization owners can configure GitHub Copilot in their organization. + * + * In order for an admin to use this endpoint, the organization must have a Copilot Business or Enterprise subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot subscription, see "[Setting up a Copilot subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise)". + * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-policies-for-github-copilot-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope to use this endpoint. + */ + addCopilotSeatsForTeams: { + (params?: RestEndpointMethodTypes["copilot"]["addCopilotSeatsForTeams"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: This endpoint is in beta and is subject to change. + * + * Purchases a GitHub Copilot seat for each user specified. + * The organization will be billed accordingly. For more information about Copilot pricing, see "[Pricing for GitHub Copilot](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot)". + * + * Only organization owners can configure GitHub Copilot in their organization. + * + * In order for an admin to use this endpoint, the organization must have a Copilot Business or Enterprise subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot subscription, see "[Setting up a Copilot subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise)". + * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-policies-for-github-copilot-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope to use this endpoint. + */ + addCopilotSeatsForUsers: { + (params?: RestEndpointMethodTypes["copilot"]["addCopilotSeatsForUsers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: This endpoint is in beta and is subject to change. + * + * Cancels the Copilot seat assignment for all members of each team specified. + * This will cause the members of the specified team(s) to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users. + * + * For more information about Copilot pricing, see "[Pricing for GitHub Copilot](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot)". + * + * For more information about disabling access to Copilot Business or Enterprise, see "[Revoking access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/managing-copilot/managing-access-for-copilot-in-your-organization#revoking-access-to-github-copilot-for-specific-users-in-your-organization)". + * + * Only organization owners can configure GitHub Copilot in their organization. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope to use this endpoint. + */ + cancelCopilotSeatAssignmentForTeams: { + (params?: RestEndpointMethodTypes["copilot"]["cancelCopilotSeatAssignmentForTeams"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: This endpoint is in beta and is subject to change. + * + * Cancels the Copilot seat assignment for each user specified. + * This will cause the specified users to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users. + * + * For more information about Copilot pricing, see "[Pricing for GitHub Copilot](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot)". + * + * For more information about disabling access to Copilot Business or Enterprise, see "[Revoking access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/managing-copilot/managing-access-for-copilot-in-your-organization#revoking-access-to-github-copilot-for-specific-users-in-your-organization)". + * + * Only organization owners can configure GitHub Copilot in their organization. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope to use this endpoint. + */ + cancelCopilotSeatAssignmentForUsers: { + (params?: RestEndpointMethodTypes["copilot"]["cancelCopilotSeatAssignmentForUsers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: This endpoint is in beta and is subject to change. + * + * Gets information about an organization's Copilot subscription, including seat breakdown + * and code matching policies. To configure these settings, go to your organization's settings on GitHub.com. + * For more information, see "[Managing policies for Copilot in your organization](https://docs.github.com/copilot/managing-copilot/managing-policies-for-copilot-business-in-your-organization)". + * + * Only organization owners can configure and view details about the organization's Copilot Business subscription. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope to use this endpoint. + */ + getCopilotOrganizationDetails: { + (params?: RestEndpointMethodTypes["copilot"]["getCopilotOrganizationDetails"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: This endpoint is in beta and is subject to change. + * + * Gets the GitHub Copilot seat assignment details for a member of an organization who currently has access to GitHub Copilot. + * + * Organization owners can view GitHub Copilot seat assignment details for members in their organization. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope to use this endpoint. + */ + getCopilotSeatDetailsForUser: { + (params?: RestEndpointMethodTypes["copilot"]["getCopilotSeatDetailsForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: This endpoint is in beta and is subject to change. + * + * Lists all Copilot seat assignments for an organization that are currently being billed (either active or pending cancellation at the start of the next billing cycle). + * + * Only organization owners can configure and view details about the organization's Copilot Business or Enterprise subscription. + * + * OAuth app tokens and personal access tokens (classic) need the `manage_billing:copilot` scope to use this endpoint. + */ + listCopilotSeats: { + (params?: RestEndpointMethodTypes["copilot"]["listCopilotSeats"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: This endpoint is in beta and is subject to change. + * + * You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + * for all users across organizations with access to Copilot within your enterprise, with a further breakdown of suggestions, acceptances, + * and number of active users by editor and language for each day. See the response schema tab for detailed metrics definitions. + * + * The response contains metrics for the prior 28 days. Usage metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * Only the owners and billing managers of enterprises with a Copilot Business or Enterprise subscription can view Copilot usage + * metrics for the enterprise. + * + * OAuth app tokens and personal access tokens (classic) need the `copilot`, `manage_billing:copilot`, `admin:enterprise`, or `manage_billing:enterprise` scope to use this endpoint. + */ + usageMetricsForEnterprise: { + (params?: RestEndpointMethodTypes["copilot"]["usageMetricsForEnterprise"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: This endpoint is in beta and is subject to change. + * + * You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + * across an organization, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. + * See the response schema tab for detailed metrics definitions. + * + * The response contains metrics for the prior 28 days. Usage metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * Copilot Business or Copilot Enterprise organization owners, and owners and billing managers of their parent enterprises, can view + * Copilot usage metrics. + * + * OAuth app tokens and personal access tokens (classic) need the `copilot`, `manage_billing:copilot`, `admin:org`, `admin:enterprise`, or `manage_billing:enterprise` scope to use this endpoint. + */ + usageMetricsForOrg: { + (params?: RestEndpointMethodTypes["copilot"]["usageMetricsForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: This endpoint is in beta and is subject to change. + * + * You can use this endpoint to see a daily breakdown of aggregated usage metrics for Copilot completions and Copilot Chat in the IDE + * for users within a team, with a further breakdown of suggestions, acceptances, and number of active users by editor and language for each day. + * See the response schema tab for detailed metrics definitions. + * + * The response contains metrics for the prior 28 days. Usage metrics are processed once per day for the previous day, + * and the response will only include data up until yesterday. In order for an end user to be counted towards these metrics, + * they must have telemetry enabled in their IDE. + * + * **Note**: This endpoint will only return results for a given day if the team had five or more members on that day. + * + * Copilot Business or Copilot Enterprise organization owners for the organization that contains this team, + * and owners and billing managers of their parent enterprises, can view Copilot usage metrics for a team. + * + * OAuth app tokens and personal access tokens (classic) need the `copilot`, `manage_billing:copilot`, `admin:org`, `admin:enterprise`, or `manage_billing:enterprise` scope to use this endpoint. + */ + usageMetricsForTeam: { + (params?: RestEndpointMethodTypes["copilot"]["usageMetricsForTeam"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + dependabot: { + /** + * Adds a repository to an organization secret when the `visibility` for + * repository access is set to `selected`. The visibility is set when you [Create or + * update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + addSelectedRepoToOrgSecret: { + (params?: RestEndpointMethodTypes["dependabot"]["addSelectedRepoToOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization + * permission to use this endpoint. + * + * #### Example encrypting a secret using Node.js + * + * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. + * + * ``` + * const sodium = require('tweetsodium'); + * + * const key = "base64-encoded-public-key"; + * const value = "plain-text-secret"; + * + * // Convert the message and key to Uint8Array's (Buffer implements that interface) + * const messageBytes = Buffer.from(value); + * const keyBytes = Buffer.from(key, 'base64'); + * + * // Encrypt using LibSodium. + * const encryptedBytes = sodium.seal(messageBytes, keyBytes); + * + * // Base64 the encrypted secret + * const encrypted = Buffer.from(encryptedBytes).toString('base64'); + * + * console.log(encrypted); + * ``` + * + * + * #### Example encrypting a secret using Python + * + * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. + * + * ``` + * from base64 import b64encode + * from nacl import encoding, public + * + * def encrypt(public_key: str, secret_value: str) -> str: + * """Encrypt a Unicode string using the public key.""" + * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) + * sealed_box = public.SealedBox(public_key) + * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) + * return b64encode(encrypted).decode("utf-8") + * ``` + * + * #### Example encrypting a secret using C# + * + * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. + * + * ``` + * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); + * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); + * + * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); + * + * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); + * ``` + * + * #### Example encrypting a secret using Ruby + * + * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. + * + * ```ruby + * require "rbnacl" + * require "base64" + * + * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") + * public_key = RbNaCl::PublicKey.new(key) + * + * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) + * encrypted_secret = box.encrypt("my_secret") + * + * # Print the base64 encoded secret + * puts Base64.strict_encode64(encrypted_secret) + * ``` + */ + createOrUpdateOrgSecret: { + (params?: RestEndpointMethodTypes["dependabot"]["createOrUpdateOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + createOrUpdateRepoSecret: { + (params?: RestEndpointMethodTypes["dependabot"]["createOrUpdateRepoSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a secret in an organization using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + deleteOrgSecret: { + (params?: RestEndpointMethodTypes["dependabot"]["deleteOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a secret in a repository using the secret name. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + deleteRepoSecret: { + (params?: RestEndpointMethodTypes["dependabot"]["deleteRepoSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + getAlert: { + (params?: RestEndpointMethodTypes["dependabot"]["getAlert"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + getOrgPublicKey: { + (params?: RestEndpointMethodTypes["dependabot"]["getOrgPublicKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a single organization secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + getOrgSecret: { + (params?: RestEndpointMethodTypes["dependabot"]["getOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. Anyone with read access + * to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint if the repository is private. + */ + getRepoPublicKey: { + (params?: RestEndpointMethodTypes["dependabot"]["getRepoPublicKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a single repository secret without revealing its encrypted value. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getRepoSecret: { + (params?: RestEndpointMethodTypes["dependabot"]["getRepoSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists Dependabot alerts for repositories that are owned by the specified enterprise. + * + * The authenticated user must be a member of the enterprise to use this endpoint. + * + * Alerts are only returned for organizations in the enterprise for which you are an organization owner or a security manager. For more information about security managers, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. + */ + listAlertsForEnterprise: { + (params?: RestEndpointMethodTypes["dependabot"]["listAlertsForEnterprise"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists Dependabot alerts for an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + listAlertsForOrg: { + (params?: RestEndpointMethodTypes["dependabot"]["listAlertsForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + listAlertsForRepo: { + (params?: RestEndpointMethodTypes["dependabot"]["listAlertsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all secrets available in an organization without revealing their + * encrypted values. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + listOrgSecrets: { + (params?: RestEndpointMethodTypes["dependabot"]["listOrgSecrets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all secrets available in a repository without revealing their encrypted + * values. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + listRepoSecrets: { + (params?: RestEndpointMethodTypes["dependabot"]["listRepoSecrets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all repositories that have been selected when the `visibility` + * for repository access to a secret is set to `selected`. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + listSelectedReposForOrgSecret: { + (params?: RestEndpointMethodTypes["dependabot"]["listSelectedReposForOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a repository from an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + removeSelectedRepoFromOrgSecret: { + (params?: RestEndpointMethodTypes["dependabot"]["removeSelectedRepoFromOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Replaces all repositories for an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + setSelectedReposForOrgSecret: { + (params?: RestEndpointMethodTypes["dependabot"]["setSelectedReposForOrgSecret"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The authenticated user must have access to security alerts for the repository to use this endpoint. For more information, see "[Granting access to security alerts](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)." + * + * OAuth app tokens and personal access tokens (classic) need the `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + updateAlert: { + (params?: RestEndpointMethodTypes["dependabot"]["updateAlert"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + dependencyGraph: { + /** + * Create a new snapshot of a repository's dependencies. + * + * The authenticated user must have access to the repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + createRepositorySnapshot: { + (params?: RestEndpointMethodTypes["dependencyGraph"]["createRepositorySnapshot"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. + */ + diffRange: { + (params?: RestEndpointMethodTypes["dependencyGraph"]["diffRange"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Exports the software bill of materials (SBOM) for a repository in SPDX JSON format. + */ + exportSbom: { + (params?: RestEndpointMethodTypes["dependencyGraph"]["exportSbom"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + emojis: { + /** + * Lists all the emojis available to use on GitHub. + */ + get: { + (params?: RestEndpointMethodTypes["emojis"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + gists: { + checkIsStarred: { + (params?: RestEndpointMethodTypes["gists"]["checkIsStarred"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Allows you to add a new gist with one or more files. + * + * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. + */ + create: { + (params?: RestEndpointMethodTypes["gists"]["create"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a comment on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + createComment: { + (params?: RestEndpointMethodTypes["gists"]["createComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + delete: { + (params?: RestEndpointMethodTypes["gists"]["delete"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteComment: { + (params?: RestEndpointMethodTypes["gists"]["deleteComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + fork: { + (params?: RestEndpointMethodTypes["gists"]["fork"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specified gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + get: { + (params?: RestEndpointMethodTypes["gists"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a comment on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + getComment: { + (params?: RestEndpointMethodTypes["gists"]["getComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specified gist revision. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + getRevision: { + (params?: RestEndpointMethodTypes["gists"]["getRevision"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: + */ + list: { + (params?: RestEndpointMethodTypes["gists"]["list"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the comments on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + listComments: { + (params?: RestEndpointMethodTypes["gists"]["listComments"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listCommits: { + (params?: RestEndpointMethodTypes["gists"]["listCommits"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists public gists for the specified user: + */ + listForUser: { + (params?: RestEndpointMethodTypes["gists"]["listForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listForks: { + (params?: RestEndpointMethodTypes["gists"]["listForks"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List public gists sorted by most recently updated to least recently updated. + * + * Note: With [pagination](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. + */ + listPublic: { + (params?: RestEndpointMethodTypes["gists"]["listPublic"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the authenticated user's starred gists: + */ + listStarred: { + (params?: RestEndpointMethodTypes["gists"]["listStarred"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + star: { + (params?: RestEndpointMethodTypes["gists"]["star"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + unstar: { + (params?: RestEndpointMethodTypes["gists"]["unstar"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Allows you to update a gist's description and to update, delete, or rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. + */ + update: { + (params?: RestEndpointMethodTypes["gists"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates a comment on a gist. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.base64+json`**: Returns the base64-encoded contents. This can be useful if your gist contains any invalid UTF-8 sequences. + */ + updateComment: { + (params?: RestEndpointMethodTypes["gists"]["updateComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + git: { + createBlob: { + (params?: RestEndpointMethodTypes["git"]["createBlob"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + createCommit: { + (params?: RestEndpointMethodTypes["git"]["createCommit"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. + */ + createRef: { + (params?: RestEndpointMethodTypes["git"]["createRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/git/refs#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/git/refs#create-a-reference) the tag reference - this call would be unnecessary. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + createTag: { + (params?: RestEndpointMethodTypes["git"]["createTag"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. + * + * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/git/commits#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/git/refs#update-a-reference)." + * + * Returns an error if you try to delete a file that does not exist. + */ + createTree: { + (params?: RestEndpointMethodTypes["git"]["createTree"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes the provided reference. + */ + deleteRef: { + (params?: RestEndpointMethodTypes["git"]["deleteRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The `content` in the response will always be Base64 encoded. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw blob data. + * - **`application/vnd.github+json`**: Returns a JSON representation of the blob with `content` as a base64 encoded string. This is the default if no media type is specified. + * + * **Note** This endpoint supports blobs up to 100 megabytes in size. + */ + getBlob: { + (params?: RestEndpointMethodTypes["git"]["getBlob"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). + * + * To get the contents of a commit, see "[Get a commit](/rest/commits/commits#get-a-commit)." + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + getCommit: { + (params?: RestEndpointMethodTypes["git"]["getCommit"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + */ + getRef: { + (params?: RestEndpointMethodTypes["git"]["getRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + getTag: { + (params?: RestEndpointMethodTypes["git"]["getTag"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a single tree using the SHA1 value or ref name for that tree. + * + * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. + * + * + * **Note**: The limit for the `tree` array is 100,000 entries with a maximum size of 7 MB when using the `recursive` parameter. + */ + getTree: { + (params?: RestEndpointMethodTypes["git"]["getTree"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. + * + * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. + */ + listMatchingRefs: { + (params?: RestEndpointMethodTypes["git"]["listMatchingRefs"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the provided reference to point to a new SHA. For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + */ + updateRef: { + (params?: RestEndpointMethodTypes["git"]["updateRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + gitignore: { + /** + * List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/repos/repos#create-a-repository-for-the-authenticated-user). + */ + getAllTemplates: { + (params?: RestEndpointMethodTypes["gitignore"]["getAllTemplates"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get the content of a gitignore template. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw .gitignore contents. + */ + getTemplate: { + (params?: RestEndpointMethodTypes["gitignore"]["getTemplate"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + interactions: { + /** + * Shows which type of GitHub user can interact with your public repositories and when the restriction expires. + */ + getRestrictionsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["interactions"]["getRestrictionsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. + */ + getRestrictionsForOrg: { + (params?: RestEndpointMethodTypes["interactions"]["getRestrictionsForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. + */ + getRestrictionsForRepo: { + (params?: RestEndpointMethodTypes["interactions"]["getRestrictionsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Shows which type of GitHub user can interact with your public repositories and when the restriction expires. + * @deprecated octokit.rest.interactions.getRestrictionsForYourPublicRepos() has been renamed to octokit.rest.interactions.getRestrictionsForAuthenticatedUser() (2021-02-02) + */ + getRestrictionsForYourPublicRepos: { + (params?: RestEndpointMethodTypes["interactions"]["getRestrictionsForYourPublicRepos"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes any interaction restrictions from your public repositories. + */ + removeRestrictionsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["interactions"]["removeRestrictionsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. + */ + removeRestrictionsForOrg: { + (params?: RestEndpointMethodTypes["interactions"]["removeRestrictionsForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. + */ + removeRestrictionsForRepo: { + (params?: RestEndpointMethodTypes["interactions"]["removeRestrictionsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes any interaction restrictions from your public repositories. + * @deprecated octokit.rest.interactions.removeRestrictionsForYourPublicRepos() has been renamed to octokit.rest.interactions.removeRestrictionsForAuthenticatedUser() (2021-02-02) + */ + removeRestrictionsForYourPublicRepos: { + (params?: RestEndpointMethodTypes["interactions"]["removeRestrictionsForYourPublicRepos"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. + */ + setRestrictionsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["interactions"]["setRestrictionsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. + */ + setRestrictionsForOrg: { + (params?: RestEndpointMethodTypes["interactions"]["setRestrictionsForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. + */ + setRestrictionsForRepo: { + (params?: RestEndpointMethodTypes["interactions"]["setRestrictionsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. + * @deprecated octokit.rest.interactions.setRestrictionsForYourPublicRepos() has been renamed to octokit.rest.interactions.setRestrictionsForAuthenticatedUser() (2021-02-02) + */ + setRestrictionsForYourPublicRepos: { + (params?: RestEndpointMethodTypes["interactions"]["setRestrictionsForYourPublicRepos"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + issues: { + /** + * Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. + */ + addAssignees: { + (params?: RestEndpointMethodTypes["issues"]["addAssignees"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds labels to an issue. If you provide an empty array of labels, all labels are removed from the issue. + */ + addLabels: { + (params?: RestEndpointMethodTypes["issues"]["addLabels"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Checks if a user has permission to be assigned to an issue in this repository. + * + * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + checkUserCanBeAssigned: { + (params?: RestEndpointMethodTypes["issues"]["checkUserCanBeAssigned"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Checks if a user has permission to be assigned to a specific issue. + * + * If the `assignee` can be assigned to this issue, a `204` status code with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + checkUserCanBeAssignedToIssue: { + (params?: RestEndpointMethodTypes["issues"]["checkUserCanBeAssignedToIssue"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + create: { + (params?: RestEndpointMethodTypes["issues"]["create"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can use the REST API to create comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). + * Creating content too quickly using this endpoint may result in secondary rate limiting. + * For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + createComment: { + (params?: RestEndpointMethodTypes["issues"]["createComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a label for the specified repository with the given name and color. The name and color parameters are required. The color must be a valid [hexadecimal color code](http://www.color-hex.com/). + */ + createLabel: { + (params?: RestEndpointMethodTypes["issues"]["createLabel"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a milestone. + */ + createMilestone: { + (params?: RestEndpointMethodTypes["issues"]["createMilestone"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can use the REST API to delete comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + */ + deleteComment: { + (params?: RestEndpointMethodTypes["issues"]["deleteComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a label using the given label name. + */ + deleteLabel: { + (params?: RestEndpointMethodTypes["issues"]["deleteLabel"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a milestone using the given milestone number. + */ + deleteMilestone: { + (params?: RestEndpointMethodTypes["issues"]["deleteMilestone"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api#follow-redirects) if the issue was + * [transferred](https://docs.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If + * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API + * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read + * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe + * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. + * + * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + get: { + (params?: RestEndpointMethodTypes["issues"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can use the REST API to get comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + getComment: { + (params?: RestEndpointMethodTypes["issues"]["getComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a single event by the event id. + */ + getEvent: { + (params?: RestEndpointMethodTypes["issues"]["getEvent"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a label using the given name. + */ + getLabel: { + (params?: RestEndpointMethodTypes["issues"]["getLabel"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a milestone using the given milestone number. + */ + getMilestone: { + (params?: RestEndpointMethodTypes["issues"]["getMilestone"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List issues assigned to the authenticated user across all visible repositories including owned repositories, member + * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not + * necessarily assigned to you. + * + * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + list: { + (params?: RestEndpointMethodTypes["issues"]["list"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. + */ + listAssignees: { + (params?: RestEndpointMethodTypes["issues"]["listAssignees"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can use the REST API to list comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * Issue comments are ordered by ascending ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + listComments: { + (params?: RestEndpointMethodTypes["issues"]["listComments"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can use the REST API to list comments on issues and pull requests for a repository. Every pull request is an issue, but not every issue is a pull request. + * + * By default, issue comments are ordered by ascending ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + listCommentsForRepo: { + (params?: RestEndpointMethodTypes["issues"]["listCommentsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all events for an issue. + */ + listEvents: { + (params?: RestEndpointMethodTypes["issues"]["listEvents"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists events for a repository. + */ + listEventsForRepo: { + (params?: RestEndpointMethodTypes["issues"]["listEventsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all timeline events for an issue. + */ + listEventsForTimeline: { + (params?: RestEndpointMethodTypes["issues"]["listEventsForTimeline"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List issues across owned and member repositories assigned to the authenticated user. + * + * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + listForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["issues"]["listForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List issues in an organization assigned to the authenticated user. + * + * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + listForOrg: { + (params?: RestEndpointMethodTypes["issues"]["listForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List issues in a repository. Only open issues will be listed. + * + * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + listForRepo: { + (params?: RestEndpointMethodTypes["issues"]["listForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists labels for issues in a milestone. + */ + listLabelsForMilestone: { + (params?: RestEndpointMethodTypes["issues"]["listLabelsForMilestone"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all labels for a repository. + */ + listLabelsForRepo: { + (params?: RestEndpointMethodTypes["issues"]["listLabelsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all labels for an issue. + */ + listLabelsOnIssue: { + (params?: RestEndpointMethodTypes["issues"]["listLabelsOnIssue"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists milestones for a repository. + */ + listMilestones: { + (params?: RestEndpointMethodTypes["issues"]["listMilestones"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access can lock an issue or pull request's conversation. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + lock: { + (params?: RestEndpointMethodTypes["issues"]["lock"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes all labels from an issue. + */ + removeAllLabels: { + (params?: RestEndpointMethodTypes["issues"]["removeAllLabels"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes one or more assignees from an issue. + */ + removeAssignees: { + (params?: RestEndpointMethodTypes["issues"]["removeAssignees"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. + */ + removeLabel: { + (params?: RestEndpointMethodTypes["issues"]["removeLabel"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes any previous labels and sets the new labels for an issue. + */ + setLabels: { + (params?: RestEndpointMethodTypes["issues"]["setLabels"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access can unlock an issue's conversation. + */ + unlock: { + (params?: RestEndpointMethodTypes["issues"]["unlock"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Issue owners and users with push access can edit an issue. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + update: { + (params?: RestEndpointMethodTypes["issues"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can use the REST API to update comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + updateComment: { + (params?: RestEndpointMethodTypes["issues"]["updateComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates a label using the given label name. + */ + updateLabel: { + (params?: RestEndpointMethodTypes["issues"]["updateLabel"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateMilestone: { + (params?: RestEndpointMethodTypes["issues"]["updateMilestone"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + licenses: { + /** + * Gets information about a specific license. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." + */ + get: { + (params?: RestEndpointMethodTypes["licenses"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the most commonly used licenses on GitHub. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." + */ + getAllCommonlyUsed: { + (params?: RestEndpointMethodTypes["licenses"]["getAllCommonlyUsed"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This method returns the contents of the repository's license file, if one is detected. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw contents of the license. + * - **`application/vnd.github.html+json`**: Returns the license contents in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + */ + getForRepo: { + (params?: RestEndpointMethodTypes["licenses"]["getForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + markdown: { + render: { + (params?: RestEndpointMethodTypes["markdown"]["render"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. + */ + renderRaw: { + (params?: RestEndpointMethodTypes["markdown"]["renderRaw"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + meta: { + /** + * Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://docs.github.com/articles/about-github-s-ip-addresses/)." + * + * The API's response also includes a list of GitHub's domain names. + * + * The values shown in the documentation's response are example values. You must always query the API directly to get the latest values. + * + * **Note:** This endpoint returns both IPv4 and IPv6 addresses. However, not all features support IPv6. You should refer to the specific documentation for each feature to determine if IPv6 is supported. + */ + get: { + (params?: RestEndpointMethodTypes["meta"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get all supported GitHub API versions. + */ + getAllVersions: { + (params?: RestEndpointMethodTypes["meta"]["getAllVersions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get the octocat as ASCII art + */ + getOctocat: { + (params?: RestEndpointMethodTypes["meta"]["getOctocat"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get a random sentence from the Zen of GitHub + */ + getZen: { + (params?: RestEndpointMethodTypes["meta"]["getZen"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get Hypermedia links to resources accessible in GitHub's REST API + */ + root: { + (params?: RestEndpointMethodTypes["meta"]["root"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + migrations: { + /** + * Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/migrations/users#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/migrations/users#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. + */ + deleteArchiveForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["migrations"]["deleteArchiveForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a previous migration archive. Migration archives are automatically deleted after seven days. + */ + deleteArchiveForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["deleteArchiveForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Fetches the URL to a migration archive. + */ + downloadArchiveForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["downloadArchiveForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: + * + * * attachments + * * bases + * * commit\_comments + * * issue\_comments + * * issue\_events + * * issues + * * milestones + * * organizations + * * projects + * * protected\_branches + * * pull\_request\_reviews + * * pull\_requests + * * releases + * * repositories + * * review\_comments + * * schema + * * users + * + * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. + */ + getArchiveForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["migrations"]["getArchiveForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: + * + * * `pending` - the migration hasn't started yet. + * * `exporting` - the migration is in progress. + * * `exported` - the migration finished successfully. + * * `failed` - the migration failed. + * + * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/migrations/users#download-a-user-migration-archive). + */ + getStatusForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["migrations"]["getStatusForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Fetches the status of a migration. + * + * The `state` of a migration can be one of the following values: + * + * * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ + getStatusForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["getStatusForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all migrations a user has started. + */ + listForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["migrations"]["listForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the most recent migrations, including both exports (which can be started through the REST API) and imports (which cannot be started using the REST API). + * + * A list of `repositories` is only returned for export migrations. + */ + listForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["listForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all the repositories for this user migration. + */ + listReposForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["migrations"]["listReposForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all the repositories for this organization migration. + */ + listReposForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["listReposForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all the repositories for this user migration. + * @deprecated octokit.rest.migrations.listReposForUser() has been renamed to octokit.rest.migrations.listReposForAuthenticatedUser() (2021-10-05) + */ + listReposForUser: { + (params?: RestEndpointMethodTypes["migrations"]["listReposForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Initiates the generation of a user migration archive. + */ + startForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["migrations"]["startForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Initiates the generation of a migration archive. + */ + startForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["startForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/migrations/users#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/repos/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. + */ + unlockRepoForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["migrations"]["unlockRepoForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/repos/repos#delete-a-repository) when the migration is complete and you no longer need the source data. + */ + unlockRepoForOrg: { + (params?: RestEndpointMethodTypes["migrations"]["unlockRepoForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + oidc: { + /** + * Gets the customization template for an OpenID Connect (OIDC) subject claim. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + getOidcCustomSubTemplateForOrg: { + (params?: RestEndpointMethodTypes["oidc"]["getOidcCustomSubTemplateForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates or updates the customization template for an OpenID Connect (OIDC) subject claim. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + updateOidcCustomSubTemplateForOrg: { + (params?: RestEndpointMethodTypes["oidc"]["updateOidcCustomSubTemplateForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + orgs: { + /** + * Adds a team as a security manager for an organization. For more information, see "[Managing security for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) for an organization." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + addSecurityManagerTeam: { + (params?: RestEndpointMethodTypes["orgs"]["addSecurityManagerTeam"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Assigns an organization role to a team in an organization. For more information on organization roles, see "[Managing people's access to your organization with roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + assignTeamToOrgRole: { + (params?: RestEndpointMethodTypes["orgs"]["assignTeamToOrgRole"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Assigns an organization role to a member of an organization. For more information on organization roles, see "[Managing people's access to your organization with roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + assignUserToOrgRole: { + (params?: RestEndpointMethodTypes["orgs"]["assignUserToOrgRole"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Blocks the given user on behalf of the specified organization and returns a 204. If the organization cannot block the given user a 422 is returned. + */ + blockUser: { + (params?: RestEndpointMethodTypes["orgs"]["blockUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). + */ + cancelInvitation: { + (params?: RestEndpointMethodTypes["orgs"]["cancelInvitation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a 204 if the given user is blocked by the given organization. Returns a 404 if the organization is not blocking the user, or if the user account has been identified as spam by GitHub. + */ + checkBlockedUser: { + (params?: RestEndpointMethodTypes["orgs"]["checkBlockedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Check if a user is, publicly or privately, a member of the organization. + */ + checkMembershipForUser: { + (params?: RestEndpointMethodTypes["orgs"]["checkMembershipForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Check if the provided user is a public member of the organization. + */ + checkPublicMembershipForUser: { + (params?: RestEndpointMethodTypes["orgs"]["checkPublicMembershipForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." + */ + convertMemberToOutsideCollaborator: { + (params?: RestEndpointMethodTypes["orgs"]["convertMemberToOutsideCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a custom organization role that can be assigned to users and teams, granting them specific permissions over the organization. For more information on custom organization roles, see "[Managing people's access to your organization with roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles)." + * + * To use this endpoint, the authenticated user must be one of: + * + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permissions of `write_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + createCustomOrganizationRole: { + (params?: RestEndpointMethodTypes["orgs"]["createCustomOrganizationRole"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + createInvitation: { + (params?: RestEndpointMethodTypes["orgs"]["createInvitation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates new or updates existing custom properties defined for an organization in a batch. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. + */ + createOrUpdateCustomProperties: { + (params?: RestEndpointMethodTypes["orgs"]["createOrUpdateCustomProperties"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create new or update existing custom property values for repositories in a batch that belong to an organization. + * Each target repository will have its custom property values updated to match the values provided in the request. + * + * A maximum of 30 repositories can be updated in a single request. + * + * Using a value of `null` for a custom property will remove or 'unset' the property value from the repository. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_values_editor` in the organization. + */ + createOrUpdateCustomPropertiesValuesForRepos: { + (params?: RestEndpointMethodTypes["orgs"]["createOrUpdateCustomPropertiesValuesForRepos"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new or updates an existing custom property that is defined for an organization. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. + */ + createOrUpdateCustomProperty: { + (params?: RestEndpointMethodTypes["orgs"]["createOrUpdateCustomProperty"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a hook that posts payloads in JSON format. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or + * edit webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + createWebhook: { + (params?: RestEndpointMethodTypes["orgs"]["createWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes an organization and all its repositories. + * + * The organization login will be unavailable for 90 days after deletion. + * + * Please review the Terms of Service regarding account deletion before using this endpoint: + * + * https://docs.github.com/site-policy/github-terms/github-terms-of-service + */ + delete: { + (params?: RestEndpointMethodTypes["orgs"]["delete"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a custom organization role. For more information on custom organization roles, see "[Managing people's access to your organization with roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles)." + * + * To use this endpoint, the authenticated user must be one of: + * + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permissions of `write_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + deleteCustomOrganizationRole: { + (params?: RestEndpointMethodTypes["orgs"]["deleteCustomOrganizationRole"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + deleteWebhook: { + (params?: RestEndpointMethodTypes["orgs"]["deleteWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables or disables the specified security feature for all eligible repositories in an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * The authenticated user must be an organization owner or be member of a team with the security manager role to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `write:org` scope to use this endpoint. + */ + enableOrDisableSecurityProductOnAllOrgRepos: { + (params?: RestEndpointMethodTypes["orgs"]["enableOrDisableSecurityProductOnAllOrgRepos"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets information about an organization. + * + * When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). + * + * To see the full details about an organization, the authenticated user must be an organization owner. + * + * The values returned by this endpoint are set by the "Update an organization" endpoint. If your organization set a default security configuration (beta), the following values retrieved from the "Update an organization" endpoint have been overwritten by that configuration: + * + * - advanced_security_enabled_for_new_repositories + * - dependabot_alerts_enabled_for_new_repositories + * - dependabot_security_updates_enabled_for_new_repositories + * - dependency_graph_enabled_for_new_repositories + * - secret_scanning_enabled_for_new_repositories + * - secret_scanning_push_protection_enabled_for_new_repositories + * + * For more information on security configurations, see "[Enabling security features at scale](https://docs.github.com/code-security/securing-your-organization/introduction-to-securing-your-organization-at-scale/about-enabling-security-features-at-scale)." + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to see the full details about an organization. + * + * To see information about an organization's GitHub plan, GitHub Apps need the `Organization plan` permission. + */ + get: { + (params?: RestEndpointMethodTypes["orgs"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets all custom properties defined for an organization. + * Organization members can read these properties. + */ + getAllCustomProperties: { + (params?: RestEndpointMethodTypes["orgs"]["getAllCustomProperties"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a custom property that is defined for an organization. + * Organization members can read these properties. + */ + getCustomProperty: { + (params?: RestEndpointMethodTypes["orgs"]["getCustomProperty"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * If the authenticated user is an active or pending member of the organization, this endpoint will return the user's membership. If the authenticated user is not affiliated with the organization, a `404` is returned. This endpoint will return a `403` if the request is made by a GitHub App that is blocked by the organization. + */ + getMembershipForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["orgs"]["getMembershipForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. + */ + getMembershipForUser: { + (params?: RestEndpointMethodTypes["orgs"]["getMembershipForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets an organization role that is available to this organization. For more information on organization roles, see "[Managing people's access to your organization with roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles)." + * + * To use this endpoint, the authenticated user must be one of: + * + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permissions of `read_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + getOrgRole: { + (params?: RestEndpointMethodTypes["orgs"]["getOrgRole"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a webhook configured in an organization. To get only the webhook + * `config` properties, see "[Get a webhook configuration for an organization](/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization). + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + getWebhook: { + (params?: RestEndpointMethodTypes["orgs"]["getWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/orgs/webhooks#get-an-organization-webhook)." + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + getWebhookConfigForOrg: { + (params?: RestEndpointMethodTypes["orgs"]["getWebhookConfigForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a delivery for a webhook configured in an organization. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + getWebhookDelivery: { + (params?: RestEndpointMethodTypes["orgs"]["getWebhookDelivery"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all organizations, in the order that they were created. + * + * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of organizations. + */ + list: { + (params?: RestEndpointMethodTypes["orgs"]["list"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all GitHub Apps in an organization. The installation count includes + * all GitHub Apps installed on repositories in the organization. + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:read` scope to use this endpoint. + */ + listAppInstallations: { + (params?: RestEndpointMethodTypes["orgs"]["listAppInstallations"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the users blocked by an organization. + */ + listBlockedUsers: { + (params?: RestEndpointMethodTypes["orgs"]["listBlockedUsers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists organization repositories with all of their custom property values. + * Organization members can read these properties. + */ + listCustomPropertiesValuesForRepos: { + (params?: RestEndpointMethodTypes["orgs"]["listCustomPropertiesValuesForRepos"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. + */ + listFailedInvitations: { + (params?: RestEndpointMethodTypes["orgs"]["listFailedInvitations"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List organizations for the authenticated user. + * + * For OAuth app tokens and personal access tokens (classic), this endpoint only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope for OAuth app tokens and personal access tokens (classic). Requests with insufficient scope will receive a `403 Forbidden` response. + */ + listForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["orgs"]["listForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List [public organization memberships](https://docs.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. + * + * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user) API instead. + */ + listForUser: { + (params?: RestEndpointMethodTypes["orgs"]["listForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. + */ + listInvitationTeams: { + (params?: RestEndpointMethodTypes["orgs"]["listInvitationTeams"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. + */ + listMembers: { + (params?: RestEndpointMethodTypes["orgs"]["listMembers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all of the authenticated user's organization memberships. + */ + listMembershipsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["orgs"]["listMembershipsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the teams that are assigned to an organization role. For more information on organization roles, see "[Managing people's access to your organization with roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles)." + * + * To use this endpoint, you must be an administrator for the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + listOrgRoleTeams: { + (params?: RestEndpointMethodTypes["orgs"]["listOrgRoleTeams"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists organization members that are assigned to an organization role. For more information on organization roles, see "[Managing people's access to your organization with roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles)." + * + * To use this endpoint, you must be an administrator for the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + listOrgRoleUsers: { + (params?: RestEndpointMethodTypes["orgs"]["listOrgRoleUsers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the organization roles available in this organization. For more information on organization roles, see "[Managing people's access to your organization with roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles)." + * + * To use this endpoint, the authenticated user must be one of: + * + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permissions of `read_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + listOrgRoles: { + (params?: RestEndpointMethodTypes["orgs"]["listOrgRoles"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the fine-grained permissions that can be used in custom organization roles for an organization. For more information, see "[Managing people's access to your organization with roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles)." + * + * To list the fine-grained permissions that can be used in custom repository roles for an organization, see "[List repository fine-grained permissions for an organization](https://docs.github.com/rest/orgs/organization-roles#list-repository-fine-grained-permissions-for-an-organization)." + * + * To use this endpoint, the authenticated user must be one of: + * + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permissions of `read_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + listOrganizationFineGrainedPermissions: { + (params?: RestEndpointMethodTypes["orgs"]["listOrganizationFineGrainedPermissions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all users who are outside collaborators of an organization. + */ + listOutsideCollaborators: { + (params?: RestEndpointMethodTypes["orgs"]["listOutsideCollaborators"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the repositories a fine-grained personal access token has access to. + * + * Only GitHub Apps can use this endpoint. + */ + listPatGrantRepositories: { + (params?: RestEndpointMethodTypes["orgs"]["listPatGrantRepositories"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the repositories a fine-grained personal access token request is requesting access to. + * + * Only GitHub Apps can use this endpoint. + */ + listPatGrantRequestRepositories: { + (params?: RestEndpointMethodTypes["orgs"]["listPatGrantRequestRepositories"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists requests from organization members to access organization resources with a fine-grained personal access token. + * + * Only GitHub Apps can use this endpoint. + */ + listPatGrantRequests: { + (params?: RestEndpointMethodTypes["orgs"]["listPatGrantRequests"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists approved fine-grained personal access tokens owned by organization members that can access organization resources. + * + * Only GitHub Apps can use this endpoint. + */ + listPatGrants: { + (params?: RestEndpointMethodTypes["orgs"]["listPatGrants"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, or `hiring_manager`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + */ + listPendingInvitations: { + (params?: RestEndpointMethodTypes["orgs"]["listPendingInvitations"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Members of an organization can choose to have their membership publicized or not. + */ + listPublicMembers: { + (params?: RestEndpointMethodTypes["orgs"]["listPublicMembers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists teams that are security managers for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` scope to use this endpoint. + */ + listSecurityManagerTeams: { + (params?: RestEndpointMethodTypes["orgs"]["listSecurityManagerTeams"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a list of webhook deliveries for a webhook configured in an organization. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + listWebhookDeliveries: { + (params?: RestEndpointMethodTypes["orgs"]["listWebhookDeliveries"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + listWebhooks: { + (params?: RestEndpointMethodTypes["orgs"]["listWebhooks"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates an existing custom organization role. Permission changes will apply to all assignees. For more information on custom organization roles, see "[Managing people's access to your organization with roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles)." + * + * + * To use this endpoint, the authenticated user must be one of: + * + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permissions of `write_organization_custom_org_role` in the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + patchCustomOrganizationRole: { + (params?: RestEndpointMethodTypes["orgs"]["patchCustomOrganizationRole"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) + * to be sent to the hook. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + pingWebhook: { + (params?: RestEndpointMethodTypes["orgs"]["pingWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Redeliver a delivery for a webhook configured in an organization. + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + redeliverWebhookDelivery: { + (params?: RestEndpointMethodTypes["orgs"]["redeliverWebhookDelivery"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a custom property that is defined for an organization. + * + * To use this endpoint, the authenticated user must be one of: + * - An administrator for the organization. + * - A user, or a user on a team, with the fine-grained permission of `custom_properties_org_definitions_manager` in the organization. + */ + removeCustomProperty: { + (params?: RestEndpointMethodTypes["orgs"]["removeCustomProperty"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. + */ + removeMember: { + (params?: RestEndpointMethodTypes["orgs"]["removeMember"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * In order to remove a user's membership with an organization, the authenticated user must be an organization owner. + * + * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. + */ + removeMembershipForUser: { + (params?: RestEndpointMethodTypes["orgs"]["removeMembershipForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removing a user from this list will remove them from all the organization's repositories. + */ + removeOutsideCollaborator: { + (params?: RestEndpointMethodTypes["orgs"]["removeOutsideCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default. + */ + removePublicMembershipForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["orgs"]["removePublicMembershipForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes the security manager role from a team for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) team from an organization." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + removeSecurityManagerTeam: { + (params?: RestEndpointMethodTypes["orgs"]["removeSecurityManagerTeam"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Approves or denies a pending request to access organization resources via a fine-grained personal access token. + * + * Only GitHub Apps can use this endpoint. + */ + reviewPatGrantRequest: { + (params?: RestEndpointMethodTypes["orgs"]["reviewPatGrantRequest"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Approves or denies multiple pending requests to access organization resources via a fine-grained personal access token. + * + * Only GitHub Apps can use this endpoint. + */ + reviewPatGrantRequestsInBulk: { + (params?: RestEndpointMethodTypes["orgs"]["reviewPatGrantRequestsInBulk"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes all assigned organization roles from a team. For more information on organization roles, see "[Managing people's access to your organization with roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + revokeAllOrgRolesTeam: { + (params?: RestEndpointMethodTypes["orgs"]["revokeAllOrgRolesTeam"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Revokes all assigned organization roles from a user. For more information on organization roles, see "[Managing people's access to your organization with roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + revokeAllOrgRolesUser: { + (params?: RestEndpointMethodTypes["orgs"]["revokeAllOrgRolesUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes an organization role from a team. For more information on organization roles, see "[Managing people's access to your organization with roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + revokeOrgRoleTeam: { + (params?: RestEndpointMethodTypes["orgs"]["revokeOrgRoleTeam"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Remove an organization role from a user. For more information on organization roles, see "[Managing people's access to your organization with roles](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles)." + * + * The authenticated user must be an administrator for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint. + */ + revokeOrgRoleUser: { + (params?: RestEndpointMethodTypes["orgs"]["revokeOrgRoleUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Only authenticated organization owners can add a member to the organization or update the member's role. + * + * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/orgs/members#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. + * + * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. + * + * **Rate limits** + * + * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. + */ + setMembershipForUser: { + (params?: RestEndpointMethodTypes["orgs"]["setMembershipForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The user can publicize their own membership. (A user cannot publicize the membership for another user.) + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + */ + setPublicMembershipForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["orgs"]["setPublicMembershipForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Unblocks the given user on behalf of the specified organization. + */ + unblockUser: { + (params?: RestEndpointMethodTypes["orgs"]["unblockUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). + * + * Updates the organization's profile and member privileges. + * + * With security configurations (beta), your organization can choose a default security configuration which will automatically apply a set of security enablement settings to new repositories in your organization based on their visibility. For targeted repositories, the following attributes will be overridden by the default security configuration: + * + * - advanced_security_enabled_for_new_repositories + * - dependabot_alerts_enabled_for_new_repositories + * - dependabot_security_updates_enabled_for_new_repositories + * - dependency_graph_enabled_for_new_repositories + * - secret_scanning_enabled_for_new_repositories + * - secret_scanning_push_protection_enabled_for_new_repositories + * + * For more information on setting a default security configuration, see "[Enabling security features at scale](https://docs.github.com/code-security/securing-your-organization/introduction-to-securing-your-organization-at-scale/about-enabling-security-features-at-scale)." + * + * The authenticated user must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:org` or `repo` scope to use this endpoint. + */ + update: { + (params?: RestEndpointMethodTypes["orgs"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Converts the authenticated user to an active member of the organization, if that user has a pending invitation from the organization. + */ + updateMembershipForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["orgs"]["updateMembershipForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the access an organization member has to organization resources via a fine-grained personal access token. Limited to revoking the token's existing access. Limited to revoking a token's existing access. + * + * Only GitHub Apps can use this endpoint. + */ + updatePatAccess: { + (params?: RestEndpointMethodTypes["orgs"]["updatePatAccess"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the access organization members have to organization resources via fine-grained personal access tokens. Limited to revoking a token's existing access. + * + * Only GitHub Apps can use this endpoint. + */ + updatePatAccesses: { + (params?: RestEndpointMethodTypes["orgs"]["updatePatAccesses"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates a webhook configured in an organization. When you update a webhook, + * the `secret` will be overwritten. If you previously had a `secret` set, you must + * provide the same `secret` or set a new `secret` or the secret will be removed. If + * you are only updating individual webhook `config` properties, use "[Update a webhook + * configuration for an organization](/rest/orgs/webhooks#update-a-webhook-configuration-for-an-organization)". + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + updateWebhook: { + (params?: RestEndpointMethodTypes["orgs"]["updateWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/orgs/webhooks#update-an-organization-webhook)." + * + * You must be an organization owner to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need `admin:org_hook` scope. OAuth apps cannot list, view, or edit + * webhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps. + */ + updateWebhookConfigForOrg: { + (params?: RestEndpointMethodTypes["orgs"]["updateWebhookConfigForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + packages: { + /** + * Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, `repo` scope is also required. For the list these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + deletePackageForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["deletePackageForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + deletePackageForOrg: { + (params?: RestEndpointMethodTypes["packages"]["deletePackageForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + deletePackageForUser: { + (params?: RestEndpointMethodTypes["packages"]["deletePackageForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + deletePackageVersionForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["deletePackageVersionForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + deletePackageVersionForOrg: { + (params?: RestEndpointMethodTypes["packages"]["deletePackageVersionForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + deletePackageVersionForUser: { + (params?: RestEndpointMethodTypes["packages"]["deletePackageVersionForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists package versions for a package owned by an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint if the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * @deprecated octokit.rest.packages.getAllPackageVersionsForAPackageOwnedByAnOrg() has been renamed to octokit.rest.packages.getAllPackageVersionsForPackageOwnedByOrg() (2021-03-24) + */ + getAllPackageVersionsForAPackageOwnedByAnOrg: { + (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForAPackageOwnedByAnOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists package versions for a package owned by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * @deprecated octokit.rest.packages.getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser() has been renamed to octokit.rest.packages.getAllPackageVersionsForPackageOwnedByAuthenticatedUser() (2021-03-24) + */ + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists package versions for a package owned by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForPackageOwnedByAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists package versions for a package owned by an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint if the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + getAllPackageVersionsForPackageOwnedByOrg: { + (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForPackageOwnedByOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists package versions for a public package owned by a specified user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + getAllPackageVersionsForPackageOwnedByUser: { + (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForPackageOwnedByUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package for a package owned by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + getPackageForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["getPackageForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + getPackageForOrganization: { + (params?: RestEndpointMethodTypes["packages"]["getPackageForOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package metadata for a public package owned by a user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + getPackageForUser: { + (params?: RestEndpointMethodTypes["packages"]["getPackageForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package version for a package owned by the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + getPackageVersionForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["getPackageVersionForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package version in an organization. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + getPackageVersionForOrganization: { + (params?: RestEndpointMethodTypes["packages"]["getPackageVersionForOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specific package version for a public package owned by a specified user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + getPackageVersionForUser: { + (params?: RestEndpointMethodTypes["packages"]["getPackageVersionForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all packages that are owned by the authenticated user within the user's namespace, and that encountered a conflict during a Docker migration. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + listDockerMigrationConflictingPackagesForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["listDockerMigrationConflictingPackagesForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all packages that are in a specific organization, are readable by the requesting user, and that encountered a conflict during a Docker migration. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + listDockerMigrationConflictingPackagesForOrganization: { + (params?: RestEndpointMethodTypes["packages"]["listDockerMigrationConflictingPackagesForOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all packages that are in a specific user's namespace, that the requesting user has access to, and that encountered a conflict during Docker migration. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. + */ + listDockerMigrationConflictingPackagesForUser: { + (params?: RestEndpointMethodTypes["packages"]["listDockerMigrationConflictingPackagesForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists packages owned by the authenticated user within the user's namespace. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + listPackagesForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["listPackagesForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists packages in an organization readable by the user. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + listPackagesForOrganization: { + (params?: RestEndpointMethodTypes["packages"]["listPackagesForOrganization"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all packages in a user's namespace for which the requesting user has access. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + listPackagesForUser: { + (params?: RestEndpointMethodTypes["packages"]["listPackagesForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Restores a package owned by the authenticated user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + restorePackageForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["restorePackageForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Restores an entire package in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + restorePackageForOrg: { + (params?: RestEndpointMethodTypes["packages"]["restorePackageForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Restores an entire package for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + restorePackageForUser: { + (params?: RestEndpointMethodTypes["packages"]["restorePackageForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Restores a package version owned by the authenticated user. + * + * You can restore a deleted package version under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + restorePackageVersionForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["packages"]["restorePackageVersionForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Restores a specific package version in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + restorePackageVersionForOrg: { + (params?: RestEndpointMethodTypes["packages"]["restorePackageVersionForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Restores a specific package version for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `write:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + restorePackageVersionForUser: { + (params?: RestEndpointMethodTypes["packages"]["restorePackageVersionForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + projects: { + /** + * Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. + */ + addCollaborator: { + (params?: RestEndpointMethodTypes["projects"]["addCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + createCard: { + (params?: RestEndpointMethodTypes["projects"]["createCard"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new project column. + */ + createColumn: { + (params?: RestEndpointMethodTypes["projects"]["createColumn"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a user project board. Returns a `410 Gone` status if the user does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + createForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["projects"]["createForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates an organization project board. Returns a `410 Gone` status if projects are disabled in the organization or if the organization does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + createForOrg: { + (params?: RestEndpointMethodTypes["projects"]["createForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a repository project board. Returns a `410 Gone` status if projects are disabled in the repository or if the repository does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + createForRepo: { + (params?: RestEndpointMethodTypes["projects"]["createForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a project board. Returns a `404 Not Found` status if projects are disabled. + */ + delete: { + (params?: RestEndpointMethodTypes["projects"]["delete"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a project card + */ + deleteCard: { + (params?: RestEndpointMethodTypes["projects"]["deleteCard"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a project column. + */ + deleteColumn: { + (params?: RestEndpointMethodTypes["projects"]["deleteColumn"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + get: { + (params?: RestEndpointMethodTypes["projects"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets information about a project card. + */ + getCard: { + (params?: RestEndpointMethodTypes["projects"]["getCard"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets information about a project column. + */ + getColumn: { + (params?: RestEndpointMethodTypes["projects"]["getColumn"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. + */ + getPermissionForUser: { + (params?: RestEndpointMethodTypes["projects"]["getPermissionForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the project cards in a project. + */ + listCards: { + (params?: RestEndpointMethodTypes["projects"]["listCards"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. + */ + listCollaborators: { + (params?: RestEndpointMethodTypes["projects"]["listCollaborators"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the project columns in a project. + */ + listColumns: { + (params?: RestEndpointMethodTypes["projects"]["listColumns"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + listForOrg: { + (params?: RestEndpointMethodTypes["projects"]["listForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + listForRepo: { + (params?: RestEndpointMethodTypes["projects"]["listForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists projects for a user. + */ + listForUser: { + (params?: RestEndpointMethodTypes["projects"]["listForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + moveCard: { + (params?: RestEndpointMethodTypes["projects"]["moveCard"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + moveColumn: { + (params?: RestEndpointMethodTypes["projects"]["moveColumn"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. + */ + removeCollaborator: { + (params?: RestEndpointMethodTypes["projects"]["removeCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + update: { + (params?: RestEndpointMethodTypes["projects"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateCard: { + (params?: RestEndpointMethodTypes["projects"]["updateCard"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateColumn: { + (params?: RestEndpointMethodTypes["projects"]["updateColumn"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + pulls: { + /** + * Checks if a pull request has been merged into the base branch. The HTTP status of the response indicates whether or not the pull request has been merged; the response body is empty. + */ + checkIfMerged: { + (params?: RestEndpointMethodTypes["pulls"]["checkIfMerged"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + create: { + (params?: RestEndpointMethodTypes["pulls"]["create"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + createReplyForReviewComment: { + (params?: RestEndpointMethodTypes["pulls"]["createReplyForReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a review on a specified pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * Pull request reviews created in the `PENDING` state are not submitted and therefore do not include the `submitted_at` property in the response. To create a pending review for a pull request, leave the `event` parameter blank. For more information about submitting a `PENDING` review, see "[Submit a review for a pull request](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request)." + * + * **Note:** To comment on a specific line in a file, you need to first determine the position of that line in the diff. To see a pull request diff, add the `application/vnd.github.v3.diff` media type to the `Accept` header of a call to the [Get a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) endpoint. + * + * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + createReview: { + (params?: RestEndpointMethodTypes["pulls"]["createReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a review comment on the diff of a specified pull request. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/issues/comments#create-an-issue-comment)." + * + * If your comment applies to more than one line in the pull request diff, you should use the parameters `line`, `side`, and optionally `start_line` and `start_side` in your request. + * + * The `position` parameter is deprecated. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/rate-limits-for-the-rest-api#about-secondary-rate-limits)" + * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + createReviewComment: { + (params?: RestEndpointMethodTypes["pulls"]["createReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + deletePendingReview: { + (params?: RestEndpointMethodTypes["pulls"]["deletePendingReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a review comment. + */ + deleteReviewComment: { + (params?: RestEndpointMethodTypes["pulls"]["deleteReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Dismisses a specified review on a pull request. + * + * **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/branches/branch-protection), + * you must be a repository administrator or be included in the list of people or teams + * who can dismiss pull request reviews. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + dismissReview: { + (params?: RestEndpointMethodTypes["pulls"]["dismissReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists details of a pull request by providing its number. + * + * When you get, [create](https://docs.github.com/rest/pulls/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/pulls/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. + * + * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: + * + * * If merged as a [merge commit](https://docs.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. + * * If merged via a [squash](https://docs.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. + * * If [rebased](https://docs.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. + * + * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + * - **`application/vnd.github.diff`**: For more information, see "[git-diff](https://git-scm.com/docs/git-diff)" in the Git documentation. If a diff is corrupt, contact us through the [GitHub Support portal](https://support.github.com/). Include the repository name and pull request ID in your message. + */ + get: { + (params?: RestEndpointMethodTypes["pulls"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Retrieves a pull request review by its ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + getReview: { + (params?: RestEndpointMethodTypes["pulls"]["getReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Provides details for a specified review comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + getReviewComment: { + (params?: RestEndpointMethodTypes["pulls"]["getReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists pull requests in a specified repository. + * + * Draft pull requests are available in public repositories with GitHub + * Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing + * plans, and in public and private repositories with GitHub Team and GitHub Enterprise + * Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) + * in the GitHub Help documentation. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + list: { + (params?: RestEndpointMethodTypes["pulls"]["list"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists comments for a specific pull request review. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + listCommentsForReview: { + (params?: RestEndpointMethodTypes["pulls"]["listCommentsForReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists a maximum of 250 commits for a pull request. To receive a complete + * commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/commits/commits#list-commits) + * endpoint. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + listCommits: { + (params?: RestEndpointMethodTypes["pulls"]["listCommits"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the files in a specified pull request. + * + * **Note:** Responses include a maximum of 3000 files. The paginated response + * returns 30 files per page by default. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + listFiles: { + (params?: RestEndpointMethodTypes["pulls"]["listFiles"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation. + */ + listRequestedReviewers: { + (params?: RestEndpointMethodTypes["pulls"]["listRequestedReviewers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all review comments for a specified pull request. By default, review comments + * are in ascending order by ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + listReviewComments: { + (params?: RestEndpointMethodTypes["pulls"]["listReviewComments"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists review comments for all pull requests in a repository. By default, + * review comments are in ascending order by ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + listReviewCommentsForRepo: { + (params?: RestEndpointMethodTypes["pulls"]["listReviewCommentsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all reviews for a specified pull request. The list of reviews returns in chronological order. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + listReviews: { + (params?: RestEndpointMethodTypes["pulls"]["listReviews"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Merges a pull request into the base branch. + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + merge: { + (params?: RestEndpointMethodTypes["pulls"]["merge"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes review requests from a pull request for a given set of users and/or teams. + */ + removeRequestedReviewers: { + (params?: RestEndpointMethodTypes["pulls"]["removeRequestedReviewers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + requestReviewers: { + (params?: RestEndpointMethodTypes["pulls"]["requestReviewers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Submits a pending review for a pull request. For more information about creating a pending review for a pull request, see "[Create a review for a pull request](https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + submitReview: { + (params?: RestEndpointMethodTypes["pulls"]["submitReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + update: { + (params?: RestEndpointMethodTypes["pulls"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. + */ + updateBranch: { + (params?: RestEndpointMethodTypes["pulls"]["updateBranch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the contents of a specified review summary comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + updateReview: { + (params?: RestEndpointMethodTypes["pulls"]["updateReview"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Edits the content of a specified review comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + updateReviewComment: { + (params?: RestEndpointMethodTypes["pulls"]["updateReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + rateLimit: { + /** + * **Note:** Accessing this endpoint does not count against your REST API rate limit. + * + * Some categories of endpoints have custom rate limits that are separate from the rate limit governing the other REST API endpoints. For this reason, the API response categorizes your rate limit. Under `resources`, you'll see objects relating to different categories: + * * The `core` object provides your rate limit status for all non-search-related resources in the REST API. + * * The `search` object provides your rate limit status for the REST API for searching (excluding code searches). For more information, see "[Search](https://docs.github.com/rest/search/search)." + * * The `code_search` object provides your rate limit status for the REST API for searching code. For more information, see "[Search code](https://docs.github.com/rest/search/search#search-code)." + * * The `graphql` object provides your rate limit status for the GraphQL API. For more information, see "[Resource limitations](https://docs.github.com/graphql/overview/resource-limitations#rate-limit)." + * * The `integration_manifest` object provides your rate limit status for the `POST /app-manifests/{code}/conversions` operation. For more information, see "[Creating a GitHub App from a manifest](https://docs.github.com/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app-from-a-manifest#3-you-exchange-the-temporary-code-to-retrieve-the-app-configuration)." + * * The `dependency_snapshots` object provides your rate limit status for submitting snapshots to the dependency graph. For more information, see "[Dependency graph](https://docs.github.com/rest/dependency-graph)." + * * The `code_scanning_upload` object provides your rate limit status for uploading SARIF results to code scanning. For more information, see "[Uploading a SARIF file to GitHub](https://docs.github.com/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github)." + * * The `actions_runner_registration` object provides your rate limit status for registering self-hosted runners in GitHub Actions. For more information, see "[Self-hosted runners](https://docs.github.com/rest/actions/self-hosted-runners)." + * * The `source_import` object is no longer in use for any API endpoints, and it will be removed in the next API version. For more information about API versions, see "[API Versions](https://docs.github.com/rest/overview/api-versions)." + * + * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. + */ + get: { + (params?: RestEndpointMethodTypes["rateLimit"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + reactions: { + /** + * Create a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. + */ + createForCommitComment: { + (params?: RestEndpointMethodTypes["reactions"]["createForCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). A response with an HTTP `200` status means that you already added the reaction type to this issue. + */ + createForIssue: { + (params?: RestEndpointMethodTypes["reactions"]["createForIssue"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. + */ + createForIssueComment: { + (params?: RestEndpointMethodTypes["reactions"]["createForIssueComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. + */ + createForPullRequestReviewComment: { + (params?: RestEndpointMethodTypes["reactions"]["createForPullRequestReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). A response with a `Status: 200 OK` means that you already added the reaction type to this release. + */ + createForRelease: { + (params?: RestEndpointMethodTypes["reactions"]["createForRelease"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + createForTeamDiscussionCommentInOrg: { + (params?: RestEndpointMethodTypes["reactions"]["createForTeamDiscussionCommentInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + createForTeamDiscussionInOrg: { + (params?: RestEndpointMethodTypes["reactions"]["createForTeamDiscussionInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). + */ + deleteForCommitComment: { + (params?: RestEndpointMethodTypes["reactions"]["deleteForCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. + * + * Delete a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). + */ + deleteForIssue: { + (params?: RestEndpointMethodTypes["reactions"]["deleteForIssue"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). + */ + deleteForIssueComment: { + (params?: RestEndpointMethodTypes["reactions"]["deleteForIssueComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` + * + * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). + */ + deleteForPullRequestComment: { + (params?: RestEndpointMethodTypes["reactions"]["deleteForPullRequestComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`. + * + * Delete a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). + */ + deleteForRelease: { + (params?: RestEndpointMethodTypes["reactions"]["deleteForRelease"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + deleteForTeamDiscussion: { + (params?: RestEndpointMethodTypes["reactions"]["deleteForTeamDiscussion"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + deleteForTeamDiscussionComment: { + (params?: RestEndpointMethodTypes["reactions"]["deleteForTeamDiscussionComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the reactions to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). + */ + listForCommitComment: { + (params?: RestEndpointMethodTypes["reactions"]["listForCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the reactions to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). + */ + listForIssue: { + (params?: RestEndpointMethodTypes["reactions"]["listForIssue"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the reactions to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). + */ + listForIssueComment: { + (params?: RestEndpointMethodTypes["reactions"]["listForIssueComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the reactions to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). + */ + listForPullRequestReviewComment: { + (params?: RestEndpointMethodTypes["reactions"]["listForPullRequestReviewComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the reactions to a [release](https://docs.github.com/rest/releases/releases#get-a-release). + */ + listForRelease: { + (params?: RestEndpointMethodTypes["reactions"]["listForRelease"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + listForTeamDiscussionCommentInOrg: { + (params?: RestEndpointMethodTypes["reactions"]["listForTeamDiscussionCommentInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + listForTeamDiscussionInOrg: { + (params?: RestEndpointMethodTypes["reactions"]["listForTeamDiscussionInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + repos: { + /** + * @deprecated octokit.rest.repos.acceptInvitation() has been renamed to octokit.rest.repos.acceptInvitationForAuthenticatedUser() (2021-10-05) + */ + acceptInvitation: { + (params?: RestEndpointMethodTypes["repos"]["acceptInvitation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + acceptInvitationForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["repos"]["acceptInvitationForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified apps push access for this branch. Only GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + addAppAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["addAppAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * Adding an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." + * + * For more information on permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the permission being given must be equal to or higher than the org base permission. Otherwise, the request will fail with: + * + * ``` + * Cannot assign {member} permission of {role name} + * ``` + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * + * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [API](https://docs.github.com/rest/collaborators/invitations). + * + * **Updating an existing collaborator's permission level** + * + * The endpoint can also be used to change the permissions of an existing collaborator without first removing and re-adding the collaborator. To change the permissions, use the same endpoint and pass a different `permission` parameter. The response will be a `204`, with no other indication that the permission level changed. + * + * **Rate limits** + * + * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. + */ + addCollaborator: { + (params?: RestEndpointMethodTypes["repos"]["addCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + addStatusCheckContexts: { + (params?: RestEndpointMethodTypes["repos"]["addStatusCheckContexts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified teams push access for this branch. You can also give push access to child teams. + */ + addTeamAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["addTeamAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified people push access for this branch. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + addUserAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["addUserAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Cancels a GitHub Pages deployment. + * + * The authenticated user must have write permissions for the GitHub Pages site. + */ + cancelPagesDeployment: { + (params?: RestEndpointMethodTypes["repos"]["cancelPagesDeployment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Shows whether automated security fixes are enabled, disabled or paused for a repository. The authenticated user must have admin read access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + checkAutomatedSecurityFixes: { + (params?: RestEndpointMethodTypes["repos"]["checkAutomatedSecurityFixes"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + * + * The authenticated user must have push access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` and `repo` scopes to use this endpoint. + */ + checkCollaborator: { + (params?: RestEndpointMethodTypes["repos"]["checkCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a boolean indicating whether or not private vulnerability reporting is enabled for the repository. For more information, see "[Evaluating the security settings of a repository](https://docs.github.com/code-security/security-advisories/working-with-repository-security-advisories/evaluating-the-security-settings-of-a-repository)". + */ + checkPrivateVulnerabilityReporting: { + (params?: RestEndpointMethodTypes["repos"]["checkPrivateVulnerabilityReporting"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + checkVulnerabilityAlerts: { + (params?: RestEndpointMethodTypes["repos"]["checkVulnerabilityAlerts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List any syntax errors that are detected in the CODEOWNERS + * file. + * + * For more information about the correct CODEOWNERS syntax, + * see "[About code owners](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)." + */ + codeownersErrors: { + (params?: RestEndpointMethodTypes["repos"]["codeownersErrors"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Deprecated**: Use `repos.compareCommitsWithBasehead()` (`GET /repos/{owner}/{repo}/compare/{basehead}`) instead. Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`. + * + * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." + * + * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + compareCommits: { + (params?: RestEndpointMethodTypes["repos"]["compareCommits"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Compares two commits against one another. You can compare refs (branches or tags) and commit SHAs in the same repository, or you can compare refs and commit SHAs that exist in different repositories within the same repository network, including fork branches. For more information about how to view a repository's network, see "[Understanding connections between repositories](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories)." + * + * This endpoint is equivalent to running the `git log BASE..HEAD` command, but it returns commits in a different order. The `git log BASE..HEAD` command returns commits in reverse chronological order, whereas the API returns commits in chronological order. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.diff`**: Returns the diff of the commit. + * - **`application/vnd.github.patch`**: Returns the patch of the commit. Diffs with binary data will have no `patch` property. + * + * The API response includes details about the files that were changed between the two commits. This includes the status of the change (if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * When calling this endpoint without any paging parameter (`per_page` or `page`), the returned list is limited to 250 commits, and the last commit in the list is the most recent of the entire comparison. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, use a query parameter (`per_page` or `page`) to paginate the results. When using pagination: + * + * - The list of changed files is only shown on the first page of results, but it includes all changed files for the entire comparison. + * - The results are returned in chronological order, but the last commit in the returned list may not be the most recent one in the entire set if there are more pages of results. + * + * For more information on working with pagination, see "[Using pagination in the REST API](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api)." + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The `verification` object includes the following fields: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + compareCommitsWithBasehead: { + (params?: RestEndpointMethodTypes["repos"]["compareCommitsWithBasehead"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with admin access to the repository can create an autolink. + */ + createAutolink: { + (params?: RestEndpointMethodTypes["repos"]["createAutolink"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a comment for a commit using its `:commit_sha`. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + createCommitComment: { + (params?: RestEndpointMethodTypes["repos"]["createCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. + */ + createCommitSignatureProtection: { + (params?: RestEndpointMethodTypes["repos"]["createCommitSignatureProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access in a repository can create commit statuses for a given SHA. + * + * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. + */ + createCommitStatus: { + (params?: RestEndpointMethodTypes["repos"]["createCommitStatus"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can create a read-only deploy key. + */ + createDeployKey: { + (params?: RestEndpointMethodTypes["repos"]["createDeployKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deployments offer a few configurable parameters with certain defaults. + * + * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them + * before we merge a pull request. + * + * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have + * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter + * makes it easier to track which environments have requested deployments. The default environment is `production`. + * + * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If + * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, + * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will + * return a failure response. + * + * By default, [commit statuses](https://docs.github.com/rest/commits/statuses) for every submitted context must be in a `success` + * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to + * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do + * not require any contexts or create any commit statuses, the deployment will always succeed. + * + * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text + * field that will be passed on when a deployment event is dispatched. + * + * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might + * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an + * application with debugging enabled. + * + * Merged branch response: + * + * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating + * a deployment. This auto-merge happens when: + * * Auto-merge option is enabled in the repository + * * Topic branch does not include the latest changes on the base branch, which is `master` in the response example + * * There are no merge conflicts + * + * If there are no new commits in the base branch, a new request to create a deployment should give a successful + * response. + * + * Merge conflict response: + * + * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't + * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. + * + * Failed commit status checks: + * + * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` + * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repo_deployment` scope to use this endpoint. + */ + createDeployment: { + (params?: RestEndpointMethodTypes["repos"]["createDeployment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a deployment branch or tag policy for an environment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + createDeploymentBranchPolicy: { + (params?: RestEndpointMethodTypes["repos"]["createDeploymentBranchPolicy"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enable a custom deployment protection rule for an environment. + * + * The authenticated user must have admin or owner permissions to the repository to use this endpoint. + * + * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + createDeploymentProtectionRule: { + (params?: RestEndpointMethodTypes["repos"]["createDeploymentProtectionRule"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with `push` access can create deployment statuses for a given deployment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo_deployment` scope to use this endpoint. + */ + createDeploymentStatus: { + (params?: RestEndpointMethodTypes["repos"]["createDeploymentStatus"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." + * + * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. + * + * This input example shows how you can use the `client_payload` as a test to debug your workflow. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + createDispatchEvent: { + (params?: RestEndpointMethodTypes["repos"]["createDispatchEvent"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new repository for the authenticated user. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository. + */ + createForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["repos"]["createForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a fork for the authenticated user. + * + * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + * + * **Note**: Although this endpoint works with GitHub Apps, the GitHub App must be installed on the destination account with access to all repositories and on the source account with access to the source repository. + */ + createFork: { + (params?: RestEndpointMethodTypes["repos"]["createFork"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new repository in the specified organization. The authenticated user must be a member of the organization. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository. + */ + createInOrg: { + (params?: RestEndpointMethodTypes["repos"]["createInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create new or update existing custom property values for a repository. + * Using a value of `null` for a custom property will remove or 'unset' the property value from the repository. + * + * Repository admins and other users with the repository-level "edit custom property values" fine-grained permission can use this endpoint. + */ + createOrUpdateCustomPropertiesValues: { + (params?: RestEndpointMethodTypes["repos"]["createOrUpdateCustomPropertiesValues"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." + * + * **Note:** To create or update name patterns that branches must match in order to deploy to this environment, see "[Deployment branch policies](/rest/deployments/branch-policies)." + * + * **Note:** To create or update secrets for an environment, see "[GitHub Actions secrets](/rest/actions/secrets)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + createOrUpdateEnvironment: { + (params?: RestEndpointMethodTypes["repos"]["createOrUpdateEnvironment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new file or replaces an existing file in a repository. + * + * **Note:** If you use this endpoint and the "[Delete a file](https://docs.github.com/rest/repos/contents/#delete-a-file)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. The `workflow` scope is also required in order to modify files in the `.github/workflows` directory. + */ + createOrUpdateFileContents: { + (params?: RestEndpointMethodTypes["repos"]["createOrUpdateFileContents"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a repository ruleset for an organization. + */ + createOrgRuleset: { + (params?: RestEndpointMethodTypes["repos"]["createOrgRuleset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a GitHub Pages deployment for a repository. + * + * The authenticated user must have write permission to the repository. + */ + createPagesDeployment: { + (params?: RestEndpointMethodTypes["repos"]["createPagesDeployment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + createPagesSite: { + (params?: RestEndpointMethodTypes["repos"]["createPagesSite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access to the repository can create a release. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + */ + createRelease: { + (params?: RestEndpointMethodTypes["repos"]["createRelease"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Create a ruleset for a repository. + */ + createRepoRuleset: { + (params?: RestEndpointMethodTypes["repos"]["createRepoRuleset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This creates a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + createTagProtection: { + (params?: RestEndpointMethodTypes["repos"]["createTagProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/repos/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository. + */ + createUsingTemplate: { + (params?: RestEndpointMethodTypes["repos"]["createUsingTemplate"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can + * share the same `config` as long as those webhooks do not have any `events` that overlap. + */ + createWebhook: { + (params?: RestEndpointMethodTypes["repos"]["createWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * @deprecated octokit.rest.repos.declineInvitation() has been renamed to octokit.rest.repos.declineInvitationForAuthenticatedUser() (2021-10-05) + */ + declineInvitation: { + (params?: RestEndpointMethodTypes["repos"]["declineInvitation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + declineInvitationForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["repos"]["declineInvitationForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deleting a repository requires admin access. + * + * If an organization owner has configured the organization to prevent members from deleting organization-owned + * repositories, you will get a `403 Forbidden` response. + * + * OAuth app tokens and personal access tokens (classic) need the `delete_repo` scope to use this endpoint. + */ + delete: { + (params?: RestEndpointMethodTypes["repos"]["delete"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Disables the ability to restrict who can push to this branch. + */ + deleteAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["deleteAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + deleteAdminBranchProtection: { + (params?: RestEndpointMethodTypes["repos"]["deleteAdminBranchProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + deleteAnEnvironment: { + (params?: RestEndpointMethodTypes["repos"]["deleteAnEnvironment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This deletes a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + deleteAutolink: { + (params?: RestEndpointMethodTypes["repos"]["deleteAutolink"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + deleteBranchProtection: { + (params?: RestEndpointMethodTypes["repos"]["deleteBranchProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteCommitComment: { + (params?: RestEndpointMethodTypes["repos"]["deleteCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. + */ + deleteCommitSignatureProtection: { + (params?: RestEndpointMethodTypes["repos"]["deleteCommitSignatureProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. + */ + deleteDeployKey: { + (params?: RestEndpointMethodTypes["repos"]["deleteDeployKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. + * + * To set a deployment as inactive, you must: + * + * * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. + * * Mark the active deployment as inactive by adding any non-successful deployment status. + * + * For more information, see "[Create a deployment](https://docs.github.com/rest/deployments/deployments/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/deployments/statuses#create-a-deployment-status)." + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repo_deployment` scope to use this endpoint. + */ + deleteDeployment: { + (params?: RestEndpointMethodTypes["repos"]["deleteDeployment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a deployment branch or tag policy for an environment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + deleteDeploymentBranchPolicy: { + (params?: RestEndpointMethodTypes["repos"]["deleteDeploymentBranchPolicy"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a file in a repository. + * + * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. + * + * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. + * + * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. + * + * **Note:** If you use this endpoint and the "[Create or update file contents](https://docs.github.com/rest/repos/contents/#create-or-update-file-contents)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. + */ + deleteFile: { + (params?: RestEndpointMethodTypes["repos"]["deleteFile"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteInvitation: { + (params?: RestEndpointMethodTypes["repos"]["deleteInvitation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Delete a ruleset for an organization. + */ + deleteOrgRuleset: { + (params?: RestEndpointMethodTypes["repos"]["deleteOrgRuleset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + deletePagesSite: { + (params?: RestEndpointMethodTypes["repos"]["deletePagesSite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + deletePullRequestReviewProtection: { + (params?: RestEndpointMethodTypes["repos"]["deletePullRequestReviewProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access to the repository can delete a release. + */ + deleteRelease: { + (params?: RestEndpointMethodTypes["repos"]["deleteRelease"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteReleaseAsset: { + (params?: RestEndpointMethodTypes["repos"]["deleteReleaseAsset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Delete a ruleset for a repository. + */ + deleteRepoRuleset: { + (params?: RestEndpointMethodTypes["repos"]["deleteRepoRuleset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This deletes a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + deleteTagProtection: { + (params?: RestEndpointMethodTypes["repos"]["deleteTagProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + deleteWebhook: { + (params?: RestEndpointMethodTypes["repos"]["deleteWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + disableAutomatedSecurityFixes: { + (params?: RestEndpointMethodTypes["repos"]["disableAutomatedSecurityFixes"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Disables a custom deployment protection rule for an environment. + * + * The authenticated user must have admin or owner permissions to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + disableDeploymentProtectionRule: { + (params?: RestEndpointMethodTypes["repos"]["disableDeploymentProtectionRule"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Disables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)". + */ + disablePrivateVulnerabilityReporting: { + (params?: RestEndpointMethodTypes["repos"]["disablePrivateVulnerabilityReporting"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Disables dependency alerts and the dependency graph for a repository. + * The authenticated user must have admin access to the repository. For more information, + * see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + disableVulnerabilityAlerts: { + (params?: RestEndpointMethodTypes["repos"]["disableVulnerabilityAlerts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * + * **Note**: For private repositories, these links are temporary and expire after five minutes. If the repository is empty, you will receive a 404 when you follow the redirect. + * @deprecated octokit.rest.repos.downloadArchive() has been renamed to octokit.rest.repos.downloadZipballArchive() (2020-09-17) + */ + downloadArchive: { + (params?: RestEndpointMethodTypes["repos"]["downloadArchive"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * **Note**: For private repositories, these links are temporary and expire after five minutes. + */ + downloadTarballArchive: { + (params?: RestEndpointMethodTypes["repos"]["downloadTarballArchive"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * + * **Note**: For private repositories, these links are temporary and expire after five minutes. If the repository is empty, you will receive a 404 when you follow the redirect. + */ + downloadZipballArchive: { + (params?: RestEndpointMethodTypes["repos"]["downloadZipballArchive"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + enableAutomatedSecurityFixes: { + (params?: RestEndpointMethodTypes["repos"]["enableAutomatedSecurityFixes"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)." + */ + enablePrivateVulnerabilityReporting: { + (params?: RestEndpointMethodTypes["repos"]["enablePrivateVulnerabilityReporting"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + enableVulnerabilityAlerts: { + (params?: RestEndpointMethodTypes["repos"]["enableVulnerabilityAlerts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Generate a name and body describing a [release](https://docs.github.com/rest/releases/releases#get-a-release). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. + */ + generateReleaseNotes: { + (params?: RestEndpointMethodTypes["repos"]["generateReleaseNotes"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. + * + * **Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + */ + get: { + (params?: RestEndpointMethodTypes["repos"]["get"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists who has access to this protected branch. + * + * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. + */ + getAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["getAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getAdminBranchProtection: { + (params?: RestEndpointMethodTypes["repos"]["getAdminBranchProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets all custom deployment protection rules that are enabled for an environment. Anyone with read access to the repository can use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + getAllDeploymentProtectionRules: { + (params?: RestEndpointMethodTypes["repos"]["getAllDeploymentProtectionRules"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the environments for a repository. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + getAllEnvironments: { + (params?: RestEndpointMethodTypes["repos"]["getAllEnvironments"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getAllStatusCheckContexts: { + (params?: RestEndpointMethodTypes["repos"]["getAllStatusCheckContexts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getAllTopics: { + (params?: RestEndpointMethodTypes["repos"]["getAllTopics"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the GitHub Apps that have push access to this branch. Only GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + getAppsWithAccessToProtectedBranch: { + (params?: RestEndpointMethodTypes["repos"]["getAppsWithAccessToProtectedBranch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This returns a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + getAutolink: { + (params?: RestEndpointMethodTypes["repos"]["getAutolink"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getBranch: { + (params?: RestEndpointMethodTypes["repos"]["getBranch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getBranchProtection: { + (params?: RestEndpointMethodTypes["repos"]["getBranchProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns all active rules that apply to the specified branch. The branch does not need to exist; rules that would apply + * to a branch with that name will be returned. All active rules that apply will be returned, regardless of the level + * at which they are configured (e.g. repository or organization). Rules in rulesets with "evaluate" or "disabled" + * enforcement statuses are not returned. + */ + getBranchRules: { + (params?: RestEndpointMethodTypes["repos"]["getBranchRules"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + */ + getClones: { + (params?: RestEndpointMethodTypes["repos"]["getClones"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a weekly aggregate of the number of additions and deletions pushed to a repository. + * + * **Note:** This endpoint can only be used for repositories with fewer than 10,000 commits. If the repository contains + * 10,000 or more commits, a 422 status code will be returned. + */ + getCodeFrequencyStats: { + (params?: RestEndpointMethodTypes["repos"]["getCodeFrequencyStats"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Checks the repository permission of a collaborator. The possible repository + * permissions are `admin`, `write`, `read`, and `none`. + * + * *Note*: The `permission` attribute provides the legacy base roles of `admin`, `write`, `read`, and `none`, where the + * `maintain` role is mapped to `write` and the `triage` role is mapped to `read`. To determine the role assigned to the + * collaborator, see the `role_name` attribute, which will provide the full role name, including custom roles. The + * `permissions` hash can also be used to determine which base level of access the collaborator has to the repository. + */ + getCollaboratorPermissionLevel: { + (params?: RestEndpointMethodTypes["repos"]["getCollaboratorPermissionLevel"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. + * + * + * Additionally, a combined `state` is returned. The `state` is one of: + * + * * **failure** if any of the contexts report as `error` or `failure` + * * **pending** if there are no statuses or a context is `pending` + * * **success** if the latest status for all contexts is `success` + */ + getCombinedStatusForRef: { + (params?: RestEndpointMethodTypes["repos"]["getCombinedStatusForRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. + * + * **Note:** If there are more than 300 files in the commit diff and the default JSON media type is requested, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." Pagination query parameters are not supported for these media types. + * + * - **`application/vnd.github.diff`**: Returns the diff of the commit. Larger diffs may time out and return a 5xx status code. + * - **`application/vnd.github.patch`**: Returns the patch of the commit. Diffs with binary data will have no `patch` property. Larger diffs may time out and return a 5xx status code. + * - **`application/vnd.github.sha`**: Returns the commit's SHA-1 hash. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + getCommit: { + (params?: RestEndpointMethodTypes["repos"]["getCommit"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. + */ + getCommitActivityStats: { + (params?: RestEndpointMethodTypes["repos"]["getCommitActivityStats"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a specified commit comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + getCommitComment: { + (params?: RestEndpointMethodTypes["repos"]["getCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://docs.github.com/articles/signing-commits-with-gpg) in GitHub Help. + * + * **Note**: You must enable branch protection to require signed commits. + */ + getCommitSignatureProtection: { + (params?: RestEndpointMethodTypes["repos"]["getCommitSignatureProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns all community profile metrics for a repository. The repository cannot be a fork. + * + * The returned metrics include an overall health score, the repository description, the presence of documentation, the + * detected code of conduct, the detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, + * README, and CONTRIBUTING files. + * + * The `health_percentage` score is defined as a percentage of how many of + * the recommended community health files are present. For more information, see + * "[About community profiles for public repositories](https://docs.github.com/communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories)." + * + * `content_reports_enabled` is only returned for organization-owned repositories. + */ + getCommunityProfileMetrics: { + (params?: RestEndpointMethodTypes["repos"]["getCommunityProfileMetrics"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the contents of a file or directory in a repository. Specify the file path or directory with the `path` parameter. If you omit the `path` parameter, you will receive the contents of the repository's root directory. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw file contents for files and symlinks. + * - **`application/vnd.github.html+json`**: Returns the file contents in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + * - **`application/vnd.github.object+json`**: Returns the contents in a consistent object format regardless of the content type. For example, instead of an array of objects for a directory, the response will be an object with an `entries` attribute containing the array of objects. + * + * If the content is a directory, the response will be an array of objects, one object for each item in the directory. When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value _should_ be "submodule". This behavior exists [for backwards compatibility purposes](https://git.io/v1YCW). In the next major version of the API, the type will be returned as "submodule". + * + * If the content is a symlink and the symlink's target is a normal file in the repository, then the API responds with the content of the file. Otherwise, the API responds with an object describing the symlink itself. + * + * If the content is a submodule, the `submodule_git_url` field identifies the location of the submodule repository, and the `sha` identifies a specific commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out the submodule at that specific commit. If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the github.com URLs (`html_url` and `_links["html"]`) will have null values. + * + * **Notes**: + * + * - To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/git/trees#get-a-tree). + * - This API has an upper limit of 1,000 files for a directory. If you need to retrieve + * more files, use the [Git Trees API](https://docs.github.com/rest/git/trees#get-a-tree). + * - Download URLs expire and are meant to be used just once. To ensure the download URL does not expire, please use the contents API to obtain a fresh download URL for each download. + * - If the requested file's size is: + * - 1 MB or smaller: All features of this endpoint are supported. + * - Between 1-100 MB: Only the `raw` or `object` custom media types are supported. Both will work as normal, except that when using the `object` media type, the `content` field will be an empty + * string and the `encoding` field will be `"none"`. To get the contents of these larger files, use the `raw` media type. + * - Greater than 100 MB: This endpoint is not supported. + */ + getContent: { + (params?: RestEndpointMethodTypes["repos"]["getContent"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: + * + * * `w` - Start of the week, given as a [Unix timestamp](https://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + * + * **Note:** This endpoint will return `0` values for all addition and deletion counts in repositories with 10,000 or more commits. + */ + getContributorsStats: { + (params?: RestEndpointMethodTypes["repos"]["getContributorsStats"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets an enabled custom deployment protection rule for an environment. Anyone with read access to the repository can use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * For more information about the app that is providing this custom deployment rule, see [`GET /apps/{app_slug}`](https://docs.github.com/rest/apps/apps#get-an-app). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + getCustomDeploymentProtectionRule: { + (params?: RestEndpointMethodTypes["repos"]["getCustomDeploymentProtectionRule"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets all custom property values that are set for a repository. + * Users with read access to the repository can use this endpoint. + */ + getCustomPropertiesValues: { + (params?: RestEndpointMethodTypes["repos"]["getCustomPropertiesValues"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getDeployKey: { + (params?: RestEndpointMethodTypes["repos"]["getDeployKey"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + getDeployment: { + (params?: RestEndpointMethodTypes["repos"]["getDeployment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a deployment branch or tag policy for an environment. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + getDeploymentBranchPolicy: { + (params?: RestEndpointMethodTypes["repos"]["getDeploymentBranchPolicy"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with pull access can view a deployment status for a deployment: + */ + getDeploymentStatus: { + (params?: RestEndpointMethodTypes["repos"]["getDeploymentStatus"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** To get information about name patterns that branches must match in order to deploy to this environment, see "[Get a deployment branch policy](/rest/deployments/branch-policies#get-a-deployment-branch-policy)." + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + getEnvironment: { + (params?: RestEndpointMethodTypes["repos"]["getEnvironment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets information about the single most recent build of a GitHub Pages site. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getLatestPagesBuild: { + (params?: RestEndpointMethodTypes["repos"]["getLatestPagesBuild"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * View the latest published full release for the repository. + * + * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. + */ + getLatestRelease: { + (params?: RestEndpointMethodTypes["repos"]["getLatestRelease"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets information about a suite of rule evaluations from within an organization. + * For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." + */ + getOrgRuleSuite: { + (params?: RestEndpointMethodTypes["repos"]["getOrgRuleSuite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists suites of rule evaluations at the organization level. + * For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." + */ + getOrgRuleSuites: { + (params?: RestEndpointMethodTypes["repos"]["getOrgRuleSuites"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get a repository ruleset for an organization. + */ + getOrgRuleset: { + (params?: RestEndpointMethodTypes["repos"]["getOrgRuleset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get all the repository rulesets for an organization. + */ + getOrgRulesets: { + (params?: RestEndpointMethodTypes["repos"]["getOrgRulesets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets information about a GitHub Pages site. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getPages: { + (params?: RestEndpointMethodTypes["repos"]["getPages"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets information about a GitHub Pages build. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getPagesBuild: { + (params?: RestEndpointMethodTypes["repos"]["getPagesBuild"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the current status of a GitHub Pages deployment. + * + * The authenticated user must have read permission for the GitHub Pages site. + */ + getPagesDeployment: { + (params?: RestEndpointMethodTypes["repos"]["getPagesDeployment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages. + * + * The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getPagesHealthCheck: { + (params?: RestEndpointMethodTypes["repos"]["getPagesHealthCheck"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. + * + * The array order is oldest week (index 0) to most recent week. + * + * The most recent week is seven days ago at UTC midnight to today at UTC midnight. + */ + getParticipationStats: { + (params?: RestEndpointMethodTypes["repos"]["getParticipationStats"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getPullRequestReviewProtection: { + (params?: RestEndpointMethodTypes["repos"]["getPullRequestReviewProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Each array contains the day number, hour number, and number of commits: + * + * * `0-6`: Sunday - Saturday + * * `0-23`: Hour of day + * * Number of commits + * + * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. + */ + getPunchCardStats: { + (params?: RestEndpointMethodTypes["repos"]["getPunchCardStats"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the preferred README for a repository. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw file contents. This is the default if you do not specify a media type. + * - **`application/vnd.github.html+json`**: Returns the README in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + */ + getReadme: { + (params?: RestEndpointMethodTypes["repos"]["getReadme"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets the README from a repository directory. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github.raw+json`**: Returns the raw file contents. This is the default if you do not specify a media type. + * - **`application/vnd.github.html+json`**: Returns the README in HTML. Markup languages are rendered to HTML using GitHub's open-source [Markup library](https://github.com/github/markup). + */ + getReadmeInDirectory: { + (params?: RestEndpointMethodTypes["repos"]["getReadmeInDirectory"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a public release with the specified release ID. + * + * **Note:** This returns an `upload_url` key corresponding to the endpoint + * for uploading release assets. This key is a hypermedia resource. For more information, see + * "[Getting started with the REST API](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia)." + */ + getRelease: { + (params?: RestEndpointMethodTypes["repos"]["getRelease"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. + */ + getReleaseAsset: { + (params?: RestEndpointMethodTypes["repos"]["getReleaseAsset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get a published release with the specified tag. + */ + getReleaseByTag: { + (params?: RestEndpointMethodTypes["repos"]["getReleaseByTag"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets information about a suite of rule evaluations from within a repository. + * For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." + */ + getRepoRuleSuite: { + (params?: RestEndpointMethodTypes["repos"]["getRepoRuleSuite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists suites of rule evaluations at the repository level. + * For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." + */ + getRepoRuleSuites: { + (params?: RestEndpointMethodTypes["repos"]["getRepoRuleSuites"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get a ruleset for a repository. + */ + getRepoRuleset: { + (params?: RestEndpointMethodTypes["repos"]["getRepoRuleset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get all the rulesets for a repository. + */ + getRepoRulesets: { + (params?: RestEndpointMethodTypes["repos"]["getRepoRulesets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + getStatusChecksProtection: { + (params?: RestEndpointMethodTypes["repos"]["getStatusChecksProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. + */ + getTeamsWithAccessToProtectedBranch: { + (params?: RestEndpointMethodTypes["repos"]["getTeamsWithAccessToProtectedBranch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get the top 10 popular contents over the last 14 days. + */ + getTopPaths: { + (params?: RestEndpointMethodTypes["repos"]["getTopPaths"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get the top 10 referrers over the last 14 days. + */ + getTopReferrers: { + (params?: RestEndpointMethodTypes["repos"]["getTopReferrers"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + */ + getUsersWithAccessToProtectedBranch: { + (params?: RestEndpointMethodTypes["repos"]["getUsersWithAccessToProtectedBranch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + */ + getViews: { + (params?: RestEndpointMethodTypes["repos"]["getViews"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/webhooks/repo-config#get-a-webhook-configuration-for-a-repository)." + */ + getWebhook: { + (params?: RestEndpointMethodTypes["repos"]["getWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/webhooks/repos#get-a-repository-webhook)." + * + * OAuth app tokens and personal access tokens (classic) need the `read:repo_hook` or `repo` scope to use this endpoint. + */ + getWebhookConfigForRepo: { + (params?: RestEndpointMethodTypes["repos"]["getWebhookConfigForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a delivery for a webhook configured in a repository. + */ + getWebhookDelivery: { + (params?: RestEndpointMethodTypes["repos"]["getWebhookDelivery"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists a detailed history of changes to a repository, such as pushes, merges, force pushes, and branch changes, and associates these changes with commits and users. + * + * For more information about viewing repository activity, + * see "[Viewing activity and data for your repository](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository)." + */ + listActivities: { + (params?: RestEndpointMethodTypes["repos"]["listActivities"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets all autolinks that are configured for a repository. + * + * Information about autolinks are only available to repository administrators. + */ + listAutolinks: { + (params?: RestEndpointMethodTypes["repos"]["listAutolinks"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listBranches: { + (params?: RestEndpointMethodTypes["repos"]["listBranches"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. + */ + listBranchesForHeadCommit: { + (params?: RestEndpointMethodTypes["repos"]["listBranchesForHeadCommit"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * Organization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint. + * + * Team members will include the members of child teams. + * + * The authenticated user must have push access to the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `read:org` and `repo` scopes to use this endpoint. + */ + listCollaborators: { + (params?: RestEndpointMethodTypes["repos"]["listCollaborators"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the comments for a specified commit. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + listCommentsForCommit: { + (params?: RestEndpointMethodTypes["repos"]["listCommentsForCommit"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the commit comments for a specified repository. Comments are ordered by ascending ID. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + listCommitCommentsForRepo: { + (params?: RestEndpointMethodTypes["repos"]["listCommitCommentsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. + * + * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. + */ + listCommitStatusesForRef: { + (params?: RestEndpointMethodTypes["repos"]["listCommitStatusesForRef"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + listCommits: { + (params?: RestEndpointMethodTypes["repos"]["listCommits"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API caches contributor data to improve performance. + * + * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. + */ + listContributors: { + (params?: RestEndpointMethodTypes["repos"]["listContributors"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets all custom deployment protection rule integrations that are available for an environment. Anyone with read access to the repository can use this endpoint. + * + * For more information about environments, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * For more information about the app that is providing this custom deployment rule, see "[GET an app](https://docs.github.com/rest/apps/apps#get-an-app)". + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + listCustomDeploymentRuleIntegrations: { + (params?: RestEndpointMethodTypes["repos"]["listCustomDeploymentRuleIntegrations"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listDeployKeys: { + (params?: RestEndpointMethodTypes["repos"]["listDeployKeys"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the deployment branch policies for an environment. + * + * Anyone with read access to the repository can use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + */ + listDeploymentBranchPolicies: { + (params?: RestEndpointMethodTypes["repos"]["listDeploymentBranchPolicies"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with pull access can view deployment statuses for a deployment: + */ + listDeploymentStatuses: { + (params?: RestEndpointMethodTypes["repos"]["listDeploymentStatuses"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Simple filtering of deployments is available via query parameters: + */ + listDeployments: { + (params?: RestEndpointMethodTypes["repos"]["listDeployments"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + */ + listForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["repos"]["listForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists repositories for the specified organization. + * + * **Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + */ + listForOrg: { + (params?: RestEndpointMethodTypes["repos"]["listForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists public repositories for the specified user. + */ + listForUser: { + (params?: RestEndpointMethodTypes["repos"]["listForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listForks: { + (params?: RestEndpointMethodTypes["repos"]["listForks"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. + */ + listInvitations: { + (params?: RestEndpointMethodTypes["repos"]["listInvitations"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * When authenticating as a user, this endpoint will list all currently open repository invitations for that user. + */ + listInvitationsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["repos"]["listInvitationsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. + */ + listLanguages: { + (params?: RestEndpointMethodTypes["repos"]["listLanguages"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists builts of a GitHub Pages site. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + listPagesBuilds: { + (params?: RestEndpointMethodTypes["repos"]["listPagesBuilds"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all public repositories in the order that they were created. + * + * Note: + * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. + * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of repositories. + */ + listPublic: { + (params?: RestEndpointMethodTypes["repos"]["listPublic"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, will only return open pull requests associated with the commit. + * + * To list the open or merged pull requests associated with a branch, you can set the `commit_sha` parameter to the branch name. + */ + listPullRequestsAssociatedWithCommit: { + (params?: RestEndpointMethodTypes["repos"]["listPullRequestsAssociatedWithCommit"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listReleaseAssets: { + (params?: RestEndpointMethodTypes["repos"]["listReleaseAssets"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/repos/repos#list-repository-tags). + * + * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. + */ + listReleases: { + (params?: RestEndpointMethodTypes["repos"]["listReleases"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This returns the tag protection states of a repository. + * + * This information is only available to repository administrators. + */ + listTagProtection: { + (params?: RestEndpointMethodTypes["repos"]["listTagProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + listTags: { + (params?: RestEndpointMethodTypes["repos"]["listTags"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the teams that have access to the specified repository and that are also visible to the authenticated user. + * + * For a public repository, a team is listed only if that team added the public repository explicitly. + * + * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to use this endpoint with a public repository, and `repo` scope to use this endpoint with a private repository. + */ + listTeams: { + (params?: RestEndpointMethodTypes["repos"]["listTeams"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a list of webhook deliveries for a webhook configured in a repository. + */ + listWebhookDeliveries: { + (params?: RestEndpointMethodTypes["repos"]["listWebhookDeliveries"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists webhooks for a repository. `last response` may return null if there have not been any deliveries within 30 days. + */ + listWebhooks: { + (params?: RestEndpointMethodTypes["repos"]["listWebhooks"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + merge: { + (params?: RestEndpointMethodTypes["repos"]["merge"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sync a branch of a forked repository to keep it up-to-date with the upstream repository. + */ + mergeUpstream: { + (params?: RestEndpointMethodTypes["repos"]["mergeUpstream"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. + */ + pingWebhook: { + (params?: RestEndpointMethodTypes["repos"]["pingWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Redeliver a webhook delivery for a webhook configured in a repository. + */ + redeliverWebhookDelivery: { + (params?: RestEndpointMethodTypes["repos"]["redeliverWebhookDelivery"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of an app to push to this branch. Only GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + removeAppAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["removeAppAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a collaborator from a repository. + * + * To use this endpoint, the authenticated user must either be an administrator of the repository or target themselves for removal. + * + * This endpoint also: + * - Cancels any outstanding invitations + * - Unasigns the user from any issues + * - Removes access to organization projects if the user is not an organization member and is not a collaborator on any other organization repositories. + * - Unstars the repository + * - Updates access permissions to packages + * + * Removing a user as a collaborator has the following effects on forks: + * - If the user had access to a fork through their membership to this repository, the user will also be removed from the fork. + * - If the user had their own fork of the repository, the fork will be deleted. + * - If the user still has read access to the repository, open pull requests by this user from a fork will be denied. + * + * **Note**: A user can still have access to the repository through organization permissions like base repository permissions. + * + * Although the API responds immediately, the additional permission updates might take some extra time to complete in the background. + * + * For more information on fork permissions, see "[About permissions and visibility of forks](https://docs.github.com/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks)". + */ + removeCollaborator: { + (params?: RestEndpointMethodTypes["repos"]["removeCollaborator"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + removeStatusCheckContexts: { + (params?: RestEndpointMethodTypes["repos"]["removeStatusCheckContexts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + removeStatusCheckProtection: { + (params?: RestEndpointMethodTypes["repos"]["removeStatusCheckProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a team to push to this branch. You can also remove push access for child teams. + */ + removeTeamAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["removeTeamAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a user to push to this branch. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + removeUserAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["removeUserAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Renames a branch in a repository. + * + * **Note:** Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". + * + * The authenticated user must have push access to the branch. If the branch is the default branch, the authenticated user must also have admin or owner permissions. + * + * In order to rename the default branch, fine-grained access tokens also need the `administration:write` repository permission. + */ + renameBranch: { + (params?: RestEndpointMethodTypes["repos"]["renameBranch"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + replaceAllTopics: { + (params?: RestEndpointMethodTypes["repos"]["replaceAllTopics"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. + * + * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. + */ + requestPagesBuild: { + (params?: RestEndpointMethodTypes["repos"]["requestPagesBuild"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + setAdminBranchProtection: { + (params?: RestEndpointMethodTypes["repos"]["setAdminBranchProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only GitHub Apps that are installed on the repository and that have been granted write access to the repository contents can be added as authorized actors on a protected branch. + */ + setAppAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["setAppAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + setStatusCheckContexts: { + (params?: RestEndpointMethodTypes["repos"]["setStatusCheckContexts"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. + */ + setTeamAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["setTeamAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + setUserAccessRestrictions: { + (params?: RestEndpointMethodTypes["repos"]["setUserAccessRestrictions"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. + * + * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` + */ + testPushWebhook: { + (params?: RestEndpointMethodTypes["repos"]["testPushWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/articles/about-repository-transfers/). + */ + transfer: { + (params?: RestEndpointMethodTypes["repos"]["transfer"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/repos/repos#replace-all-repository-topics) endpoint. + */ + update: { + (params?: RestEndpointMethodTypes["repos"]["update"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Protecting a branch requires admin or owner permissions to the repository. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + * + * **Note**: The list of users, apps, and teams in total is limited to 100 items. + */ + updateBranchProtection: { + (params?: RestEndpointMethodTypes["repos"]["updateBranchProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the contents of a specified commit comment. + * + * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)." + * + * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type. + * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`. + * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`. + * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`. + */ + updateCommitComment: { + (params?: RestEndpointMethodTypes["repos"]["updateCommitComment"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates a deployment branch or tag policy for an environment. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + updateDeploymentBranchPolicy: { + (params?: RestEndpointMethodTypes["repos"]["updateDeploymentBranchPolicy"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). + * + * The authenticated user must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + updateInformationAboutPagesSite: { + (params?: RestEndpointMethodTypes["repos"]["updateInformationAboutPagesSite"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + updateInvitation: { + (params?: RestEndpointMethodTypes["repos"]["updateInvitation"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Update a ruleset for an organization. + */ + updateOrgRuleset: { + (params?: RestEndpointMethodTypes["repos"]["updateOrgRuleset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + */ + updatePullRequestReviewProtection: { + (params?: RestEndpointMethodTypes["repos"]["updatePullRequestReviewProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access to the repository can edit a release. + */ + updateRelease: { + (params?: RestEndpointMethodTypes["repos"]["updateRelease"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Users with push access to the repository can edit a release asset. + */ + updateReleaseAsset: { + (params?: RestEndpointMethodTypes["repos"]["updateReleaseAsset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Update a ruleset for a repository. + */ + updateRepoRuleset: { + (params?: RestEndpointMethodTypes["repos"]["updateRepoRuleset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. + * @deprecated octokit.rest.repos.updateStatusCheckPotection() has been renamed to octokit.rest.repos.updateStatusCheckProtection() (2020-09-17) + */ + updateStatusCheckPotection: { + (params?: RestEndpointMethodTypes["repos"]["updateStatusCheckPotection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. + */ + updateStatusCheckProtection: { + (params?: RestEndpointMethodTypes["repos"]["updateStatusCheckProtection"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/webhooks/repo-config#update-a-webhook-configuration-for-a-repository)." + */ + updateWebhook: { + (params?: RestEndpointMethodTypes["repos"]["updateWebhook"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/webhooks/repos#update-a-repository-webhook)." + * + * OAuth app tokens and personal access tokens (classic) need the `write:repo_hook` or `repo` scope to use this endpoint. + */ + updateWebhookConfigForRepo: { + (params?: RestEndpointMethodTypes["repos"]["updateWebhookConfigForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * This endpoint makes use of a [Hypermedia relation](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in + * the response of the [Create a release endpoint](https://docs.github.com/rest/releases/releases#create-a-release) to upload a release asset. + * + * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. + * + * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: + * + * `application/zip` + * + * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, + * you'll still need to pass your authentication to be able to upload an asset. + * + * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. + * + * **Notes:** + * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List release assets](https://docs.github.com/rest/releases/assets#list-release-assets)" + * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + * * To find the `release_id` query the [`GET /repos/{owner}/{repo}/releases/latest` endpoint](https://docs.github.com/rest/releases/releases#get-the-latest-release). + * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. + */ + uploadReleaseAsset: { + (params?: RestEndpointMethodTypes["repos"]["uploadReleaseAsset"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + search: { + /** + * Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: + * + * `q=addClass+in:file+language:js+repo:jquery/jquery` + * + * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. + * + * Considerations for code search: + * + * Due to the complexity of searching code, there are a few restrictions on how searches are performed: + * + * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. + * * Only files smaller than 384 KB are searchable. + * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing + * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. + * + * This endpoint requires you to authenticate and limits you to 10 requests per minute. + */ + code: { + (params?: RestEndpointMethodTypes["search"]["code"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Find commits via various criteria on the default branch (usually `main`). This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match + * metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: + * + * `q=repo:octocat/Spoon-Knife+css` + */ + commits: { + (params?: RestEndpointMethodTypes["search"]["commits"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted + * search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. + * + * `q=windows+label:bug+language:python+state:open&sort=created&order=asc` + * + * This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results. + * + * **Note:** For requests made by GitHub Apps with a user access token, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." + */ + issuesAndPullRequests: { + (params?: RestEndpointMethodTypes["search"]["issuesAndPullRequests"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: + * + * `q=bug+defect+enhancement&repository_id=64778136` + * + * The labels that best match the query appear first in the search results. + */ + labels: { + (params?: RestEndpointMethodTypes["search"]["labels"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: + * + * `q=tetris+language:assembly&sort=stars&order=desc` + * + * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. + */ + repos: { + (params?: RestEndpointMethodTypes["search"]["repos"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). See "[Searching topics](https://docs.github.com/articles/searching-topics/)" for a detailed list of qualifiers. + * + * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: + * + * `q=ruby+is:featured` + * + * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. + */ + topics: { + (params?: RestEndpointMethodTypes["search"]["topics"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api). + * + * When searching for users, you can get text match metadata for the issue **login**, public **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you're looking for a list of popular users, you might try this query: + * + * `q=tom+repos:%3E42+followers:%3E1000` + * + * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. + * + * This endpoint does not accept authentication and will only include publicly visible users. As an alternative, you can use the GraphQL API. The GraphQL API requires authentication and will return private users, including Enterprise Managed Users (EMUs), that you are authorized to view. For more information, see "[GraphQL Queries](https://docs.github.com/graphql/reference/queries#search)." + */ + users: { + (params?: RestEndpointMethodTypes["search"]["users"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + secretScanning: { + /** + * Gets a single secret scanning alert detected in an eligible repository. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + getAlert: { + (params?: RestEndpointMethodTypes["secretScanning"]["getAlert"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. + * + * Alerts are only returned for organizations in the enterprise for which the authenticated user is an organization owner or a [security manager](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). + * + * The authenticated user must be a member of the enterprise in order to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope or `security_events` scope to use this endpoint. + */ + listAlertsForEnterprise: { + (params?: RestEndpointMethodTypes["secretScanning"]["listAlertsForEnterprise"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. + * + * The authenticated user must be an administrator or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + listAlertsForOrg: { + (params?: RestEndpointMethodTypes["secretScanning"]["listAlertsForOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists secret scanning alerts for an eligible repository, from newest to oldest. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + listAlertsForRepo: { + (params?: RestEndpointMethodTypes["secretScanning"]["listAlertsForRepo"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all locations for a given secret scanning alert for an eligible repository. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + listLocationsForAlert: { + (params?: RestEndpointMethodTypes["secretScanning"]["listLocationsForAlert"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Updates the status of a secret scanning alert in an eligible repository. + * + * The authenticated user must be an administrator for the repository or for the organization that owns the repository to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `security_events` scope to use this endpoint. If this endpoint is only used with public repositories, the token can use the `public_repo` scope instead. + */ + updateAlert: { + (params?: RestEndpointMethodTypes["secretScanning"]["updateAlert"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + securityAdvisories: { + /** + * Create a temporary private fork to collaborate on fixing a security vulnerability in your repository. + * + * **Note**: Forking a repository happens asynchronously. You may have to wait up to 5 minutes before you can access the fork. + */ + createFork: { + (params?: RestEndpointMethodTypes["securityAdvisories"]["createFork"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Report a security vulnerability to the maintainers of the repository. + * See "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)" for more information about private vulnerability reporting. + */ + createPrivateVulnerabilityReport: { + (params?: RestEndpointMethodTypes["securityAdvisories"]["createPrivateVulnerabilityReport"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new repository security advisory. + * + * In order to create a draft repository security advisory, the authenticated user must be a security manager or administrator of that repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + createRepositoryAdvisory: { + (params?: RestEndpointMethodTypes["securityAdvisories"]["createRepositoryAdvisory"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * If you want a CVE identification number for the security vulnerability in your project, and don't already have one, you can request a CVE identification number from GitHub. For more information see "[Requesting a CVE identification number](https://docs.github.com/code-security/security-advisories/repository-security-advisories/publishing-a-repository-security-advisory#requesting-a-cve-identification-number-optional)." + * + * You may request a CVE for public repositories, but cannot do so for private repositories. + * + * In order to request a CVE for a repository security advisory, the authenticated user must be a security manager or administrator of that repository. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + createRepositoryAdvisoryCveRequest: { + (params?: RestEndpointMethodTypes["securityAdvisories"]["createRepositoryAdvisoryCveRequest"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a global security advisory using its GitHub Security Advisory (GHSA) identifier. + */ + getGlobalAdvisory: { + (params?: RestEndpointMethodTypes["securityAdvisories"]["getGlobalAdvisory"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get a repository security advisory using its GitHub Security Advisory (GHSA) identifier. + * + * Anyone can access any published security advisory on a public repository. + * + * The authenticated user can access an unpublished security advisory from a repository if they are a security manager or administrator of that repository, or if they are a + * collaborator on the security advisory. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:read` scope to to get a published security advisory in a private repository, or any unpublished security advisory that the authenticated user has access to. + */ + getRepositoryAdvisory: { + (params?: RestEndpointMethodTypes["securityAdvisories"]["getRepositoryAdvisory"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all global security advisories that match the specified parameters. If no other parameters are defined, the request will return only GitHub-reviewed advisories that are not malware. + * + * By default, all responses will exclude advisories for malware, because malware are not standard vulnerabilities. To list advisories for malware, you must include the `type` parameter in your request, with the value `malware`. For more information about the different types of security advisories, see "[About the GitHub Advisory database](https://docs.github.com/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database#about-types-of-security-advisories)." + */ + listGlobalAdvisories: { + (params?: RestEndpointMethodTypes["securityAdvisories"]["listGlobalAdvisories"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists repository security advisories for an organization. + * + * The authenticated user must be an owner or security manager for the organization to use this endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + listOrgRepositoryAdvisories: { + (params?: RestEndpointMethodTypes["securityAdvisories"]["listOrgRepositoryAdvisories"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists security advisories in a repository. + * + * The authenticated user can access unpublished security advisories from a repository if they are a security manager or administrator of that repository, or if they are a collaborator on any security advisory. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:read` scope to to get a published security advisory in a private repository, or any unpublished security advisory that the authenticated user has access to. + */ + listRepositoryAdvisories: { + (params?: RestEndpointMethodTypes["securityAdvisories"]["listRepositoryAdvisories"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Update a repository security advisory using its GitHub Security Advisory (GHSA) identifier. + * + * In order to update any security advisory, the authenticated user must be a security manager or administrator of that repository, + * or a collaborator on the repository security advisory. + * + * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint. + */ + updateRepositoryAdvisory: { + (params?: RestEndpointMethodTypes["securityAdvisories"]["updateRepositoryAdvisory"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + teams: { + /** + * Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + addOrUpdateMembershipForUserInOrg: { + (params?: RestEndpointMethodTypes["teams"]["addOrUpdateMembershipForUserInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + addOrUpdateProjectPermissionsInOrg: { + (params?: RestEndpointMethodTypes["teams"]["addOrUpdateProjectPermissionsInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + * + * For more information about the permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + */ + addOrUpdateRepoPermissionsInOrg: { + (params?: RestEndpointMethodTypes["teams"]["addOrUpdateRepoPermissionsInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + checkPermissionsForProjectInOrg: { + (params?: RestEndpointMethodTypes["teams"]["checkPermissionsForProjectInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header. + * + * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. + * + * If the repository is private, you must have at least `read` permission for that repository, and your token must have the `repo` or `admin:org` scope. Otherwise, you will receive a `404 Not Found` response status. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + checkPermissionsForRepoInOrg: { + (params?: RestEndpointMethodTypes["teams"]["checkPermissionsForRepoInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/articles/setting-team-creation-permissions-in-your-organization)." + * + * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/about-teams)". + */ + create: { + (params?: RestEndpointMethodTypes["teams"]["create"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new comment on a team discussion. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + createDiscussionCommentInOrg: { + (params?: RestEndpointMethodTypes["teams"]["createDiscussionCommentInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates a new discussion post on a team's page. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/overview/rate-limits-for-the-rest-api#about-secondary-rate-limits)" and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + createDiscussionInOrg: { + (params?: RestEndpointMethodTypes["teams"]["createDiscussionInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes a comment on a team discussion. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + deleteDiscussionCommentInOrg: { + (params?: RestEndpointMethodTypes["teams"]["deleteDiscussionCommentInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Delete a discussion from a team's page. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + deleteDiscussionInOrg: { + (params?: RestEndpointMethodTypes["teams"]["deleteDiscussionInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. + */ + deleteInOrg: { + (params?: RestEndpointMethodTypes["teams"]["deleteInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets a team using the team's `slug`. To create the `slug`, GitHub replaces special characters in the `name` string, changes all words to lowercase, and replaces spaces with a `-` separator. For example, `"My TEam Näme"` would become `my-team-name`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. + */ + getByName: { + (params?: RestEndpointMethodTypes["teams"]["getByName"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get a specific comment on a team discussion. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + getDiscussionCommentInOrg: { + (params?: RestEndpointMethodTypes["teams"]["getDiscussionCommentInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Get a specific discussion on a team's page. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + getDiscussionInOrg: { + (params?: RestEndpointMethodTypes["teams"]["getDiscussionInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). + */ + getMembershipForUserInOrg: { + (params?: RestEndpointMethodTypes["teams"]["getMembershipForUserInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all teams in an organization that are visible to the authenticated user. + */ + list: { + (params?: RestEndpointMethodTypes["teams"]["list"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the child teams of the team specified by `{team_slug}`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. + */ + listChildInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listChildInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all comments on a team discussion. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + listDiscussionCommentsInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listDiscussionCommentsInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all discussions on a team's page. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. + * + * OAuth app tokens and personal access tokens (classic) need the `read:discussion` scope to use this endpoint. + */ + listDiscussionsInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listDiscussionsInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List all of the teams across all of the organizations to which the authenticated + * user belongs. + * + * OAuth app tokens and personal access tokens (classic) need the `user`, `repo`, or `read:org` scope to use this endpoint. + * + * When using a fine-grained personal access token, the resource owner of the token must be a single organization, and the response will only include the teams from that organization. + */ + listForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["teams"]["listForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Team members will include the members of child teams. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + listMembersInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listMembersInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. + */ + listPendingInvitationsInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listPendingInvitationsInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the organization projects for a team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`. + */ + listProjectsInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listProjectsInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists a team's repositories visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. + */ + listReposInOrg: { + (params?: RestEndpointMethodTypes["teams"]["listReposInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + removeMembershipForUserInOrg: { + (params?: RestEndpointMethodTypes["teams"]["removeMembershipForUserInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + removeProjectInOrg: { + (params?: RestEndpointMethodTypes["teams"]["removeProjectInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + removeRepoInOrg: { + (params?: RestEndpointMethodTypes["teams"]["removeRepoInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Edits the body text of a discussion comment. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + updateDiscussionCommentInOrg: { + (params?: RestEndpointMethodTypes["teams"]["updateDiscussionCommentInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + * + * OAuth app tokens and personal access tokens (classic) need the `write:discussion` scope to use this endpoint. + */ + updateDiscussionInOrg: { + (params?: RestEndpointMethodTypes["teams"]["updateDiscussionInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. + */ + updateInOrg: { + (params?: RestEndpointMethodTypes["teams"]["updateInOrg"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; + users: { + /** + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + * @deprecated octokit.rest.users.addEmailForAuthenticated() has been renamed to octokit.rest.users.addEmailForAuthenticatedUser() (2021-10-05) + */ + addEmailForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["addEmailForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + addEmailForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["addEmailForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Add one or more social accounts to the authenticated user's profile. + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + addSocialAccountForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["addSocialAccountForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Blocks the given user and returns a 204. If the authenticated user cannot block the given user a 422 is returned. + */ + block: { + (params?: RestEndpointMethodTypes["users"]["block"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Returns a 204 if the given user is blocked by the authenticated user. Returns a 404 if the given user is not blocked by the authenticated user, or if the given user account has been identified as spam by GitHub. + */ + checkBlocked: { + (params?: RestEndpointMethodTypes["users"]["checkBlocked"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + checkFollowingForUser: { + (params?: RestEndpointMethodTypes["users"]["checkFollowingForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + checkPersonIsFollowedByAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["checkPersonIsFollowedByAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds a GPG key to the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:gpg_key` scope to use this endpoint. + * @deprecated octokit.rest.users.createGpgKeyForAuthenticated() has been renamed to octokit.rest.users.createGpgKeyForAuthenticatedUser() (2021-10-05) + */ + createGpgKeyForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["createGpgKeyForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds a GPG key to the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:gpg_key` scope to use this endpoint. + */ + createGpgKeyForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["createGpgKeyForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds a public SSH key to the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:gpg_key` scope to use this endpoint. + * @deprecated octokit.rest.users.createPublicSshKeyForAuthenticated() has been renamed to octokit.rest.users.createPublicSshKeyForAuthenticatedUser() (2021-10-05) + */ + createPublicSshKeyForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["createPublicSshKeyForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Adds a public SSH key to the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:gpg_key` scope to use this endpoint. + */ + createPublicSshKeyForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["createPublicSshKeyForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Creates an SSH signing key for the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `write:ssh_signing_key` scope to use this endpoint. + */ + createSshSigningKeyForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["createSshSigningKeyForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + * @deprecated octokit.rest.users.deleteEmailForAuthenticated() has been renamed to octokit.rest.users.deleteEmailForAuthenticatedUser() (2021-10-05) + */ + deleteEmailForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["deleteEmailForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + deleteEmailForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["deleteEmailForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a GPG key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:gpg_key` scope to use this endpoint. + * @deprecated octokit.rest.users.deleteGpgKeyForAuthenticated() has been renamed to octokit.rest.users.deleteGpgKeyForAuthenticatedUser() (2021-10-05) + */ + deleteGpgKeyForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["deleteGpgKeyForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a GPG key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:gpg_key` scope to use this endpoint. + */ + deleteGpgKeyForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["deleteGpgKeyForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a public SSH key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:public_key` scope to use this endpoint. + * @deprecated octokit.rest.users.deletePublicSshKeyForAuthenticated() has been renamed to octokit.rest.users.deletePublicSshKeyForAuthenticatedUser() (2021-10-05) + */ + deletePublicSshKeyForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["deletePublicSshKeyForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Removes a public SSH key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:public_key` scope to use this endpoint. + */ + deletePublicSshKeyForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["deletePublicSshKeyForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes one or more social accounts from the authenticated user's profile. + * + * OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint. + */ + deleteSocialAccountForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["deleteSocialAccountForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Deletes an SSH signing key from the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `admin:ssh_signing_key` scope to use this endpoint. + */ + deleteSshSigningKeyForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["deleteSshSigningKeyForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)." + * + * OAuth app tokens and personal access tokens (classic) need the `user:follow` scope to use this endpoint. + */ + follow: { + (params?: RestEndpointMethodTypes["users"]["follow"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth app tokens and personal access tokens (classic) need the `user` scope in order for the response to include private profile information. + */ + getAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["getAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Provides publicly available information about someone with a GitHub account. + * + * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#authentication). + * + * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://docs.github.com/rest/users/emails)". + */ + getByUsername: { + (params?: RestEndpointMethodTypes["users"]["getByUsername"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Provides hovercard information. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. + * + * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository, you would use a `subject_type` value of `repository` and a `subject_id` value of `1300192` (the ID of the `Spoon-Knife` repository). + * + * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint. + */ + getContextForUser: { + (params?: RestEndpointMethodTypes["users"]["getContextForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * View extended details for a single GPG key. + * + * OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint. + * @deprecated octokit.rest.users.getGpgKeyForAuthenticated() has been renamed to octokit.rest.users.getGpgKeyForAuthenticatedUser() (2021-10-05) + */ + getGpgKeyForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["getGpgKeyForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * View extended details for a single GPG key. + * + * OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint. + */ + getGpgKeyForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["getGpgKeyForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * View extended details for a single public SSH key. + * + * OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint. + * @deprecated octokit.rest.users.getPublicSshKeyForAuthenticated() has been renamed to octokit.rest.users.getPublicSshKeyForAuthenticatedUser() (2021-10-05) + */ + getPublicSshKeyForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["getPublicSshKeyForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * View extended details for a single public SSH key. + * + * OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint. + */ + getPublicSshKeyForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["getPublicSshKeyForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Gets extended details for an SSH signing key. + * + * OAuth app tokens and personal access tokens (classic) need the `read:ssh_signing_key` scope to use this endpoint. + */ + getSshSigningKeyForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["getSshSigningKeyForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. + * + * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of users. + */ + list: { + (params?: RestEndpointMethodTypes["users"]["list"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the users you've blocked on your personal account. + * @deprecated octokit.rest.users.listBlockedByAuthenticated() has been renamed to octokit.rest.users.listBlockedByAuthenticatedUser() (2021-10-05) + */ + listBlockedByAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["listBlockedByAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * List the users you've blocked on your personal account. + */ + listBlockedByAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["listBlockedByAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all of your email addresses, and specifies which one is visible + * to the public. + * + * OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. + * @deprecated octokit.rest.users.listEmailsForAuthenticated() has been renamed to octokit.rest.users.listEmailsForAuthenticatedUser() (2021-10-05) + */ + listEmailsForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["listEmailsForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all of your email addresses, and specifies which one is visible + * to the public. + * + * OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. + */ + listEmailsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["listEmailsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the people who the authenticated user follows. + * @deprecated octokit.rest.users.listFollowedByAuthenticated() has been renamed to octokit.rest.users.listFollowedByAuthenticatedUser() (2021-10-05) + */ + listFollowedByAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["listFollowedByAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the people who the authenticated user follows. + */ + listFollowedByAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["listFollowedByAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the people following the authenticated user. + */ + listFollowersForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["listFollowersForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the people following the specified user. + */ + listFollowersForUser: { + (params?: RestEndpointMethodTypes["users"]["listFollowersForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the people who the specified user follows. + */ + listFollowingForUser: { + (params?: RestEndpointMethodTypes["users"]["listFollowingForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the current user's GPG keys. + * + * OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint. + * @deprecated octokit.rest.users.listGpgKeysForAuthenticated() has been renamed to octokit.rest.users.listGpgKeysForAuthenticatedUser() (2021-10-05) + */ + listGpgKeysForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["listGpgKeysForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the current user's GPG keys. + * + * OAuth app tokens and personal access tokens (classic) need the `read:gpg_key` scope to use this endpoint. + */ + listGpgKeysForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["listGpgKeysForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the GPG keys for a user. This information is accessible by anyone. + */ + listGpgKeysForUser: { + (params?: RestEndpointMethodTypes["users"]["listGpgKeysForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists your publicly visible email address, which you can set with the + * [Set primary email visibility for the authenticated user](https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user) + * endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. + * @deprecated octokit.rest.users.listPublicEmailsForAuthenticated() has been renamed to octokit.rest.users.listPublicEmailsForAuthenticatedUser() (2021-10-05) + */ + listPublicEmailsForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["listPublicEmailsForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists your publicly visible email address, which you can set with the + * [Set primary email visibility for the authenticated user](https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user) + * endpoint. + * + * OAuth app tokens and personal access tokens (classic) need the `user:email` scope to use this endpoint. + */ + listPublicEmailsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["listPublicEmailsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the _verified_ public SSH keys for a user. This is accessible by anyone. + */ + listPublicKeysForUser: { + (params?: RestEndpointMethodTypes["users"]["listPublicKeysForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the public SSH keys for the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint. + * @deprecated octokit.rest.users.listPublicSshKeysForAuthenticated() has been renamed to octokit.rest.users.listPublicSshKeysForAuthenticatedUser() (2021-10-05) + */ + listPublicSshKeysForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["listPublicSshKeysForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the public SSH keys for the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `read:public_key` scope to use this endpoint. + */ + listPublicSshKeysForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["listPublicSshKeysForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists all of your social accounts. + */ + listSocialAccountsForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["listSocialAccountsForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists social media accounts for a user. This endpoint is accessible by anyone. + */ + listSocialAccountsForUser: { + (params?: RestEndpointMethodTypes["users"]["listSocialAccountsForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the SSH signing keys for the authenticated user's GitHub account. + * + * OAuth app tokens and personal access tokens (classic) need the `read:ssh_signing_key` scope to use this endpoint. + */ + listSshSigningKeysForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["listSshSigningKeysForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Lists the SSH signing keys for a user. This operation is accessible by anyone. + */ + listSshSigningKeysForUser: { + (params?: RestEndpointMethodTypes["users"]["listSshSigningKeysForUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the visibility for your primary email addresses. + * @deprecated octokit.rest.users.setPrimaryEmailVisibilityForAuthenticated() has been renamed to octokit.rest.users.setPrimaryEmailVisibilityForAuthenticatedUser() (2021-10-05) + */ + setPrimaryEmailVisibilityForAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["setPrimaryEmailVisibilityForAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Sets the visibility for your primary email addresses. + */ + setPrimaryEmailVisibilityForAuthenticatedUser: { + (params?: RestEndpointMethodTypes["users"]["setPrimaryEmailVisibilityForAuthenticatedUser"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * Unblocks the given user and returns a 204. + */ + unblock: { + (params?: RestEndpointMethodTypes["users"]["unblock"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * OAuth app tokens and personal access tokens (classic) need the `user:follow` scope to use this endpoint. + */ + unfollow: { + (params?: RestEndpointMethodTypes["users"]["unfollow"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + /** + * **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. + */ + updateAuthenticated: { + (params?: RestEndpointMethodTypes["users"]["updateAuthenticated"]["parameters"]): Promise; + defaults: RequestInterface["defaults"]; + endpoint: EndpointInterface<{ + url: string; + }>; + }; + }; +}; diff --git a/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/parameters-and-response-types.d.ts b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/parameters-and-response-types.d.ts new file mode 100644 index 00000000..c0a8462e --- /dev/null +++ b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/parameters-and-response-types.d.ts @@ -0,0 +1,3723 @@ +import type { Endpoints, RequestParameters } from "@octokit/types"; +export type RestEndpointMethodTypes = { + actions: { + addCustomLabelsToSelfHostedRunnerForOrg: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/actions/runners/{runner_id}/labels"]["parameters"]; + response: Endpoints["POST /orgs/{org}/actions/runners/{runner_id}/labels"]["response"]; + }; + addCustomLabelsToSelfHostedRunnerForRepo: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"]["response"]; + }; + addSelectedRepoToOrgSecret: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"]["response"]; + }; + addSelectedRepoToOrgVariable: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"]["response"]; + }; + approveWorkflowRun: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"]["response"]; + }; + cancelWorkflowRun: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"]["response"]; + }; + createEnvironmentVariable: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/environments/{environment_name}/variables"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/environments/{environment_name}/variables"]["response"]; + }; + createOrUpdateEnvironmentSecret: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"]["response"]; + }; + createOrUpdateOrgSecret: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/actions/secrets/{secret_name}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/actions/secrets/{secret_name}"]["response"]; + }; + createOrUpdateRepoSecret: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"]["response"]; + }; + createOrgVariable: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/actions/variables"]["parameters"]; + response: Endpoints["POST /orgs/{org}/actions/variables"]["response"]; + }; + createRegistrationTokenForOrg: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/actions/runners/registration-token"]["parameters"]; + response: Endpoints["POST /orgs/{org}/actions/runners/registration-token"]["response"]; + }; + createRegistrationTokenForRepo: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/runners/registration-token"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runners/registration-token"]["response"]; + }; + createRemoveTokenForOrg: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/actions/runners/remove-token"]["parameters"]; + response: Endpoints["POST /orgs/{org}/actions/runners/remove-token"]["response"]; + }; + createRemoveTokenForRepo: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/runners/remove-token"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runners/remove-token"]["response"]; + }; + createRepoVariable: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/variables"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/variables"]["response"]; + }; + createWorkflowDispatch: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"]["response"]; + }; + deleteActionsCacheById: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"]["response"]; + }; + deleteActionsCacheByKey: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"]["response"]; + }; + deleteArtifact: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"]["response"]; + }; + deleteEnvironmentSecret: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"]["response"]; + }; + deleteEnvironmentVariable: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"]["response"]; + }; + deleteOrgSecret: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/actions/secrets/{secret_name}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/actions/secrets/{secret_name}"]["response"]; + }; + deleteOrgVariable: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/actions/variables/{name}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/actions/variables/{name}"]["response"]; + }; + deleteRepoSecret: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"]["response"]; + }; + deleteRepoVariable: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/actions/variables/{name}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/variables/{name}"]["response"]; + }; + deleteSelfHostedRunnerFromOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/actions/runners/{runner_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/actions/runners/{runner_id}"]["response"]; + }; + deleteSelfHostedRunnerFromRepo: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"]["response"]; + }; + deleteWorkflowRun: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"]["response"]; + }; + deleteWorkflowRunLogs: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"]["response"]; + }; + disableSelectedRepositoryGithubActionsOrganization: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"]["response"]; + }; + disableWorkflow: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"]["response"]; + }; + downloadArtifact: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"]["response"]; + }; + downloadJobLogsForWorkflowRun: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"]["response"]; + }; + downloadWorkflowRunAttemptLogs: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"]["response"]; + }; + downloadWorkflowRunLogs: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"]["response"]; + }; + enableSelectedRepositoryGithubActionsOrganization: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"]["response"]; + }; + enableWorkflow: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"]["response"]; + }; + forceCancelWorkflowRun: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel"]["response"]; + }; + generateRunnerJitconfigForOrg: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/actions/runners/generate-jitconfig"]["parameters"]; + response: Endpoints["POST /orgs/{org}/actions/runners/generate-jitconfig"]["response"]; + }; + generateRunnerJitconfigForRepo: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig"]["response"]; + }; + getActionsCacheList: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/caches"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/caches"]["response"]; + }; + getActionsCacheUsage: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/cache/usage"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/cache/usage"]["response"]; + }; + getActionsCacheUsageByRepoForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/cache/usage-by-repository"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/cache/usage-by-repository"]["response"]; + }; + getActionsCacheUsageForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/cache/usage"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/cache/usage"]["response"]; + }; + getAllowedActionsOrganization: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/permissions/selected-actions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/permissions/selected-actions"]["response"]; + }; + getAllowedActionsRepository: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"]["response"]; + }; + getArtifact: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"]["response"]; + }; + getCustomOidcSubClaimForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/oidc/customization/sub"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/oidc/customization/sub"]["response"]; + }; + getEnvironmentPublicKey: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key"]["response"]; + }; + getEnvironmentSecret: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"]["response"]; + }; + getEnvironmentVariable: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"]["response"]; + }; + getGithubActionsDefaultWorkflowPermissionsOrganization: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/permissions/workflow"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/permissions/workflow"]["response"]; + }; + getGithubActionsDefaultWorkflowPermissionsRepository: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/permissions/workflow"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/permissions/workflow"]["response"]; + }; + getGithubActionsPermissionsOrganization: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/permissions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/permissions"]["response"]; + }; + getGithubActionsPermissionsRepository: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/permissions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/permissions"]["response"]; + }; + getJobForWorkflowRun: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"]["response"]; + }; + getOrgPublicKey: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/secrets/public-key"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/secrets/public-key"]["response"]; + }; + getOrgSecret: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}"]["response"]; + }; + getOrgVariable: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/variables/{name}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/variables/{name}"]["response"]; + }; + getPendingDeploymentsForRun: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"]["response"]; + }; + getRepoPermissions: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/permissions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/permissions"]["response"]; + }; + getRepoPublicKey: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/secrets/public-key"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/secrets/public-key"]["response"]; + }; + getRepoSecret: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"]["response"]; + }; + getRepoVariable: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/variables/{name}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/variables/{name}"]["response"]; + }; + getReviewsForRun: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"]["response"]; + }; + getSelfHostedRunnerForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/runners/{runner_id}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/runners/{runner_id}"]["response"]; + }; + getSelfHostedRunnerForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"]["response"]; + }; + getWorkflow: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"]["response"]; + }; + getWorkflowAccessToRepository: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/permissions/access"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/permissions/access"]["response"]; + }; + getWorkflowRun: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}"]["response"]; + }; + getWorkflowRunAttempt: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"]["response"]; + }; + getWorkflowRunUsage: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"]["response"]; + }; + getWorkflowUsage: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"]["response"]; + }; + listArtifactsForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/artifacts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts"]["response"]; + }; + listEnvironmentSecrets: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets"]["response"]; + }; + listEnvironmentVariables: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/variables"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/variables"]["response"]; + }; + listJobsForWorkflowRun: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"]["response"]; + }; + listJobsForWorkflowRunAttempt: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"]["response"]; + }; + listLabelsForSelfHostedRunnerForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/runners/{runner_id}/labels"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/runners/{runner_id}/labels"]["response"]; + }; + listLabelsForSelfHostedRunnerForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"]["response"]; + }; + listOrgSecrets: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/secrets"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/secrets"]["response"]; + }; + listOrgVariables: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/variables"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/variables"]["response"]; + }; + listRepoOrganizationSecrets: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/organization-secrets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/organization-secrets"]["response"]; + }; + listRepoOrganizationVariables: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/organization-variables"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/organization-variables"]["response"]; + }; + listRepoSecrets: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/secrets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/secrets"]["response"]; + }; + listRepoVariables: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/variables"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/variables"]["response"]; + }; + listRepoWorkflows: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/workflows"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows"]["response"]; + }; + listRunnerApplicationsForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/runners/downloads"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/runners/downloads"]["response"]; + }; + listRunnerApplicationsForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runners/downloads"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runners/downloads"]["response"]; + }; + listSelectedReposForOrgSecret: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"]["response"]; + }; + listSelectedReposForOrgVariable: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/variables/{name}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/variables/{name}/repositories"]["response"]; + }; + listSelectedRepositoriesEnabledGithubActionsOrganization: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/permissions/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/permissions/repositories"]["response"]; + }; + listSelfHostedRunnersForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/runners"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/runners"]["response"]; + }; + listSelfHostedRunnersForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runners"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runners"]["response"]; + }; + listWorkflowRunArtifacts: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"]["response"]; + }; + listWorkflowRuns: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"]["response"]; + }; + listWorkflowRunsForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/actions/runs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/actions/runs"]["response"]; + }; + reRunJobForWorkflowRun: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"]["response"]; + }; + reRunWorkflow: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"]["response"]; + }; + reRunWorkflowFailedJobs: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"]["response"]; + }; + removeAllCustomLabelsFromSelfHostedRunnerForOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/actions/runners/{runner_id}/labels"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/actions/runners/{runner_id}/labels"]["response"]; + }; + removeAllCustomLabelsFromSelfHostedRunnerForRepo: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"]["response"]; + }; + removeCustomLabelFromSelfHostedRunnerForOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"]["response"]; + }; + removeCustomLabelFromSelfHostedRunnerForRepo: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"]["response"]; + }; + removeSelectedRepoFromOrgSecret: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"]["response"]; + }; + removeSelectedRepoFromOrgVariable: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"]["response"]; + }; + reviewCustomGatesForRun: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule"]["response"]; + }; + reviewPendingDeploymentsForRun: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"]["response"]; + }; + setAllowedActionsOrganization: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/actions/permissions/selected-actions"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/actions/permissions/selected-actions"]["response"]; + }; + setAllowedActionsRepository: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"]["response"]; + }; + setCustomLabelsForSelfHostedRunnerForOrg: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/actions/runners/{runner_id}/labels"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/actions/runners/{runner_id}/labels"]["response"]; + }; + setCustomLabelsForSelfHostedRunnerForRepo: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"]["response"]; + }; + setCustomOidcSubClaimForRepo: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/actions/oidc/customization/sub"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/oidc/customization/sub"]["response"]; + }; + setGithubActionsDefaultWorkflowPermissionsOrganization: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/actions/permissions/workflow"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/actions/permissions/workflow"]["response"]; + }; + setGithubActionsDefaultWorkflowPermissionsRepository: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/actions/permissions/workflow"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/permissions/workflow"]["response"]; + }; + setGithubActionsPermissionsOrganization: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/actions/permissions"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/actions/permissions"]["response"]; + }; + setGithubActionsPermissionsRepository: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/actions/permissions"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/permissions"]["response"]; + }; + setSelectedReposForOrgSecret: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"]["response"]; + }; + setSelectedReposForOrgVariable: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/actions/variables/{name}/repositories"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/actions/variables/{name}/repositories"]["response"]; + }; + setSelectedRepositoriesEnabledGithubActionsOrganization: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/actions/permissions/repositories"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/actions/permissions/repositories"]["response"]; + }; + setWorkflowAccessToRepository: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/actions/permissions/access"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/actions/permissions/access"]["response"]; + }; + updateEnvironmentVariable: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"]["response"]; + }; + updateOrgVariable: { + parameters: RequestParameters & Endpoints["PATCH /orgs/{org}/actions/variables/{name}"]["parameters"]; + response: Endpoints["PATCH /orgs/{org}/actions/variables/{name}"]["response"]; + }; + updateRepoVariable: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/actions/variables/{name}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/actions/variables/{name}"]["response"]; + }; + }; + activity: { + checkRepoIsStarredByAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/starred/{owner}/{repo}"]["parameters"]; + response: Endpoints["GET /user/starred/{owner}/{repo}"]["response"]; + }; + deleteRepoSubscription: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/subscription"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/subscription"]["response"]; + }; + deleteThreadSubscription: { + parameters: RequestParameters & Endpoints["DELETE /notifications/threads/{thread_id}/subscription"]["parameters"]; + response: Endpoints["DELETE /notifications/threads/{thread_id}/subscription"]["response"]; + }; + getFeeds: { + parameters: RequestParameters & Endpoints["GET /feeds"]["parameters"]; + response: Endpoints["GET /feeds"]["response"]; + }; + getRepoSubscription: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/subscription"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/subscription"]["response"]; + }; + getThread: { + parameters: RequestParameters & Endpoints["GET /notifications/threads/{thread_id}"]["parameters"]; + response: Endpoints["GET /notifications/threads/{thread_id}"]["response"]; + }; + getThreadSubscriptionForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /notifications/threads/{thread_id}/subscription"]["parameters"]; + response: Endpoints["GET /notifications/threads/{thread_id}/subscription"]["response"]; + }; + listEventsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/events"]["parameters"]; + response: Endpoints["GET /users/{username}/events"]["response"]; + }; + listNotificationsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /notifications"]["parameters"]; + response: Endpoints["GET /notifications"]["response"]; + }; + listOrgEventsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/events/orgs/{org}"]["parameters"]; + response: Endpoints["GET /users/{username}/events/orgs/{org}"]["response"]; + }; + listPublicEvents: { + parameters: RequestParameters & Endpoints["GET /events"]["parameters"]; + response: Endpoints["GET /events"]["response"]; + }; + listPublicEventsForRepoNetwork: { + parameters: RequestParameters & Endpoints["GET /networks/{owner}/{repo}/events"]["parameters"]; + response: Endpoints["GET /networks/{owner}/{repo}/events"]["response"]; + }; + listPublicEventsForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/events/public"]["parameters"]; + response: Endpoints["GET /users/{username}/events/public"]["response"]; + }; + listPublicOrgEvents: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/events"]["parameters"]; + response: Endpoints["GET /orgs/{org}/events"]["response"]; + }; + listReceivedEventsForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/received_events"]["parameters"]; + response: Endpoints["GET /users/{username}/received_events"]["response"]; + }; + listReceivedPublicEventsForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/received_events/public"]["parameters"]; + response: Endpoints["GET /users/{username}/received_events/public"]["response"]; + }; + listRepoEvents: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/events"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/events"]["response"]; + }; + listRepoNotificationsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/notifications"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/notifications"]["response"]; + }; + listReposStarredByAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/starred"]["parameters"]; + response: Endpoints["GET /user/starred"]["response"]; + }; + listReposStarredByUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/starred"]["parameters"]; + response: Endpoints["GET /users/{username}/starred"]["response"]; + }; + listReposWatchedByUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/subscriptions"]["parameters"]; + response: Endpoints["GET /users/{username}/subscriptions"]["response"]; + }; + listStargazersForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/stargazers"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/stargazers"]["response"]; + }; + listWatchedReposForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/subscriptions"]["parameters"]; + response: Endpoints["GET /user/subscriptions"]["response"]; + }; + listWatchersForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/subscribers"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/subscribers"]["response"]; + }; + markNotificationsAsRead: { + parameters: RequestParameters & Endpoints["PUT /notifications"]["parameters"]; + response: Endpoints["PUT /notifications"]["response"]; + }; + markRepoNotificationsAsRead: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/notifications"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/notifications"]["response"]; + }; + markThreadAsDone: { + parameters: RequestParameters & Endpoints["DELETE /notifications/threads/{thread_id}"]["parameters"]; + response: Endpoints["DELETE /notifications/threads/{thread_id}"]["response"]; + }; + markThreadAsRead: { + parameters: RequestParameters & Endpoints["PATCH /notifications/threads/{thread_id}"]["parameters"]; + response: Endpoints["PATCH /notifications/threads/{thread_id}"]["response"]; + }; + setRepoSubscription: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/subscription"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/subscription"]["response"]; + }; + setThreadSubscription: { + parameters: RequestParameters & Endpoints["PUT /notifications/threads/{thread_id}/subscription"]["parameters"]; + response: Endpoints["PUT /notifications/threads/{thread_id}/subscription"]["response"]; + }; + starRepoForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["PUT /user/starred/{owner}/{repo}"]["parameters"]; + response: Endpoints["PUT /user/starred/{owner}/{repo}"]["response"]; + }; + unstarRepoForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/starred/{owner}/{repo}"]["parameters"]; + response: Endpoints["DELETE /user/starred/{owner}/{repo}"]["response"]; + }; + }; + apps: { + addRepoToInstallation: { + parameters: RequestParameters & Endpoints["PUT /user/installations/{installation_id}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["PUT /user/installations/{installation_id}/repositories/{repository_id}"]["response"]; + }; + addRepoToInstallationForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["PUT /user/installations/{installation_id}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["PUT /user/installations/{installation_id}/repositories/{repository_id}"]["response"]; + }; + checkToken: { + parameters: RequestParameters & Endpoints["POST /applications/{client_id}/token"]["parameters"]; + response: Endpoints["POST /applications/{client_id}/token"]["response"]; + }; + createFromManifest: { + parameters: RequestParameters & Endpoints["POST /app-manifests/{code}/conversions"]["parameters"]; + response: Endpoints["POST /app-manifests/{code}/conversions"]["response"]; + }; + createInstallationAccessToken: { + parameters: RequestParameters & Endpoints["POST /app/installations/{installation_id}/access_tokens"]["parameters"]; + response: Endpoints["POST /app/installations/{installation_id}/access_tokens"]["response"]; + }; + deleteAuthorization: { + parameters: RequestParameters & Endpoints["DELETE /applications/{client_id}/grant"]["parameters"]; + response: Endpoints["DELETE /applications/{client_id}/grant"]["response"]; + }; + deleteInstallation: { + parameters: RequestParameters & Endpoints["DELETE /app/installations/{installation_id}"]["parameters"]; + response: Endpoints["DELETE /app/installations/{installation_id}"]["response"]; + }; + deleteToken: { + parameters: RequestParameters & Endpoints["DELETE /applications/{client_id}/token"]["parameters"]; + response: Endpoints["DELETE /applications/{client_id}/token"]["response"]; + }; + getAuthenticated: { + parameters: RequestParameters & Endpoints["GET /app"]["parameters"]; + response: Endpoints["GET /app"]["response"]; + }; + getBySlug: { + parameters: RequestParameters & Endpoints["GET /apps/{app_slug}"]["parameters"]; + response: Endpoints["GET /apps/{app_slug}"]["response"]; + }; + getInstallation: { + parameters: RequestParameters & Endpoints["GET /app/installations/{installation_id}"]["parameters"]; + response: Endpoints["GET /app/installations/{installation_id}"]["response"]; + }; + getOrgInstallation: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/installation"]["parameters"]; + response: Endpoints["GET /orgs/{org}/installation"]["response"]; + }; + getRepoInstallation: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/installation"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/installation"]["response"]; + }; + getSubscriptionPlanForAccount: { + parameters: RequestParameters & Endpoints["GET /marketplace_listing/accounts/{account_id}"]["parameters"]; + response: Endpoints["GET /marketplace_listing/accounts/{account_id}"]["response"]; + }; + getSubscriptionPlanForAccountStubbed: { + parameters: RequestParameters & Endpoints["GET /marketplace_listing/stubbed/accounts/{account_id}"]["parameters"]; + response: Endpoints["GET /marketplace_listing/stubbed/accounts/{account_id}"]["response"]; + }; + getUserInstallation: { + parameters: RequestParameters & Endpoints["GET /users/{username}/installation"]["parameters"]; + response: Endpoints["GET /users/{username}/installation"]["response"]; + }; + getWebhookConfigForApp: { + parameters: RequestParameters & Endpoints["GET /app/hook/config"]["parameters"]; + response: Endpoints["GET /app/hook/config"]["response"]; + }; + getWebhookDelivery: { + parameters: RequestParameters & Endpoints["GET /app/hook/deliveries/{delivery_id}"]["parameters"]; + response: Endpoints["GET /app/hook/deliveries/{delivery_id}"]["response"]; + }; + listAccountsForPlan: { + parameters: RequestParameters & Endpoints["GET /marketplace_listing/plans/{plan_id}/accounts"]["parameters"]; + response: Endpoints["GET /marketplace_listing/plans/{plan_id}/accounts"]["response"]; + }; + listAccountsForPlanStubbed: { + parameters: RequestParameters & Endpoints["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"]["parameters"]; + response: Endpoints["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"]["response"]; + }; + listInstallationReposForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/installations/{installation_id}/repositories"]["parameters"]; + response: Endpoints["GET /user/installations/{installation_id}/repositories"]["response"]; + }; + listInstallationRequestsForAuthenticatedApp: { + parameters: RequestParameters & Endpoints["GET /app/installation-requests"]["parameters"]; + response: Endpoints["GET /app/installation-requests"]["response"]; + }; + listInstallations: { + parameters: RequestParameters & Endpoints["GET /app/installations"]["parameters"]; + response: Endpoints["GET /app/installations"]["response"]; + }; + listInstallationsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/installations"]["parameters"]; + response: Endpoints["GET /user/installations"]["response"]; + }; + listPlans: { + parameters: RequestParameters & Endpoints["GET /marketplace_listing/plans"]["parameters"]; + response: Endpoints["GET /marketplace_listing/plans"]["response"]; + }; + listPlansStubbed: { + parameters: RequestParameters & Endpoints["GET /marketplace_listing/stubbed/plans"]["parameters"]; + response: Endpoints["GET /marketplace_listing/stubbed/plans"]["response"]; + }; + listReposAccessibleToInstallation: { + parameters: RequestParameters & Endpoints["GET /installation/repositories"]["parameters"]; + response: Endpoints["GET /installation/repositories"]["response"]; + }; + listSubscriptionsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/marketplace_purchases"]["parameters"]; + response: Endpoints["GET /user/marketplace_purchases"]["response"]; + }; + listSubscriptionsForAuthenticatedUserStubbed: { + parameters: RequestParameters & Endpoints["GET /user/marketplace_purchases/stubbed"]["parameters"]; + response: Endpoints["GET /user/marketplace_purchases/stubbed"]["response"]; + }; + listWebhookDeliveries: { + parameters: RequestParameters & Endpoints["GET /app/hook/deliveries"]["parameters"]; + response: Endpoints["GET /app/hook/deliveries"]["response"]; + }; + redeliverWebhookDelivery: { + parameters: RequestParameters & Endpoints["POST /app/hook/deliveries/{delivery_id}/attempts"]["parameters"]; + response: Endpoints["POST /app/hook/deliveries/{delivery_id}/attempts"]["response"]; + }; + removeRepoFromInstallation: { + parameters: RequestParameters & Endpoints["DELETE /user/installations/{installation_id}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["DELETE /user/installations/{installation_id}/repositories/{repository_id}"]["response"]; + }; + removeRepoFromInstallationForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/installations/{installation_id}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["DELETE /user/installations/{installation_id}/repositories/{repository_id}"]["response"]; + }; + resetToken: { + parameters: RequestParameters & Endpoints["PATCH /applications/{client_id}/token"]["parameters"]; + response: Endpoints["PATCH /applications/{client_id}/token"]["response"]; + }; + revokeInstallationAccessToken: { + parameters: RequestParameters & Endpoints["DELETE /installation/token"]["parameters"]; + response: Endpoints["DELETE /installation/token"]["response"]; + }; + scopeToken: { + parameters: RequestParameters & Endpoints["POST /applications/{client_id}/token/scoped"]["parameters"]; + response: Endpoints["POST /applications/{client_id}/token/scoped"]["response"]; + }; + suspendInstallation: { + parameters: RequestParameters & Endpoints["PUT /app/installations/{installation_id}/suspended"]["parameters"]; + response: Endpoints["PUT /app/installations/{installation_id}/suspended"]["response"]; + }; + unsuspendInstallation: { + parameters: RequestParameters & Endpoints["DELETE /app/installations/{installation_id}/suspended"]["parameters"]; + response: Endpoints["DELETE /app/installations/{installation_id}/suspended"]["response"]; + }; + updateWebhookConfigForApp: { + parameters: RequestParameters & Endpoints["PATCH /app/hook/config"]["parameters"]; + response: Endpoints["PATCH /app/hook/config"]["response"]; + }; + }; + billing: { + getGithubActionsBillingOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/settings/billing/actions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/settings/billing/actions"]["response"]; + }; + getGithubActionsBillingUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/settings/billing/actions"]["parameters"]; + response: Endpoints["GET /users/{username}/settings/billing/actions"]["response"]; + }; + getGithubPackagesBillingOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/settings/billing/packages"]["parameters"]; + response: Endpoints["GET /orgs/{org}/settings/billing/packages"]["response"]; + }; + getGithubPackagesBillingUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/settings/billing/packages"]["parameters"]; + response: Endpoints["GET /users/{username}/settings/billing/packages"]["response"]; + }; + getSharedStorageBillingOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/settings/billing/shared-storage"]["parameters"]; + response: Endpoints["GET /orgs/{org}/settings/billing/shared-storage"]["response"]; + }; + getSharedStorageBillingUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/settings/billing/shared-storage"]["parameters"]; + response: Endpoints["GET /users/{username}/settings/billing/shared-storage"]["response"]; + }; + }; + checks: { + create: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/check-runs"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/check-runs"]["response"]; + }; + createSuite: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/check-suites"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/check-suites"]["response"]; + }; + get: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"]["response"]; + }; + getSuite: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"]["response"]; + }; + listAnnotations: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"]["response"]; + }; + listForRef: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"]["response"]; + }; + listForSuite: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"]["response"]; + }; + listSuitesForRef: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"]["response"]; + }; + rerequestRun: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"]["response"]; + }; + rerequestSuite: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"]["response"]; + }; + setSuitesPreferences: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/check-suites/preferences"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/check-suites/preferences"]["response"]; + }; + update: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"]["response"]; + }; + }; + codeScanning: { + deleteAnalysis: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"]["response"]; + }; + getAlert: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"]["response"]; + }; + getAnalysis: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"]["response"]; + }; + getCodeqlDatabase: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"]["response"]; + }; + getDefaultSetup: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/code-scanning/default-setup"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/default-setup"]["response"]; + }; + getSarif: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"]["response"]; + }; + listAlertInstances: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"]["response"]; + }; + listAlertsForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/code-scanning/alerts"]["parameters"]; + response: Endpoints["GET /orgs/{org}/code-scanning/alerts"]["response"]; + }; + listAlertsForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts"]["response"]; + }; + listAlertsInstances: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"]["response"]; + }; + listCodeqlDatabases: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/code-scanning/codeql/databases"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/codeql/databases"]["response"]; + }; + listRecentAnalyses: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses"]["response"]; + }; + updateAlert: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"]["response"]; + }; + updateDefaultSetup: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/code-scanning/default-setup"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/code-scanning/default-setup"]["response"]; + }; + uploadSarif: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/code-scanning/sarifs"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/code-scanning/sarifs"]["response"]; + }; + }; + codesOfConduct: { + getAllCodesOfConduct: { + parameters: RequestParameters & Endpoints["GET /codes_of_conduct"]["parameters"]; + response: Endpoints["GET /codes_of_conduct"]["response"]; + }; + getConductCode: { + parameters: RequestParameters & Endpoints["GET /codes_of_conduct/{key}"]["parameters"]; + response: Endpoints["GET /codes_of_conduct/{key}"]["response"]; + }; + }; + codespaces: { + addRepositoryForSecretForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"]["response"]; + }; + addSelectedRepoToOrgSecret: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"]["response"]; + }; + checkPermissionsForDevcontainer: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/codespaces/permissions_check"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces/permissions_check"]["response"]; + }; + codespaceMachinesForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/codespaces/{codespace_name}/machines"]["parameters"]; + response: Endpoints["GET /user/codespaces/{codespace_name}/machines"]["response"]; + }; + createForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/codespaces"]["parameters"]; + response: Endpoints["POST /user/codespaces"]["response"]; + }; + createOrUpdateOrgSecret: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/codespaces/secrets/{secret_name}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/codespaces/secrets/{secret_name}"]["response"]; + }; + createOrUpdateRepoSecret: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"]["response"]; + }; + createOrUpdateSecretForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["PUT /user/codespaces/secrets/{secret_name}"]["parameters"]; + response: Endpoints["PUT /user/codespaces/secrets/{secret_name}"]["response"]; + }; + createWithPrForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"]["response"]; + }; + createWithRepoForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/codespaces"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/codespaces"]["response"]; + }; + deleteForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/codespaces/{codespace_name}"]["parameters"]; + response: Endpoints["DELETE /user/codespaces/{codespace_name}"]["response"]; + }; + deleteFromOrganization: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"]["response"]; + }; + deleteOrgSecret: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"]["response"]; + }; + deleteRepoSecret: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"]["response"]; + }; + deleteSecretForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/codespaces/secrets/{secret_name}"]["parameters"]; + response: Endpoints["DELETE /user/codespaces/secrets/{secret_name}"]["response"]; + }; + exportForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/codespaces/{codespace_name}/exports"]["parameters"]; + response: Endpoints["POST /user/codespaces/{codespace_name}/exports"]["response"]; + }; + getCodespacesForUserInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/members/{username}/codespaces"]["parameters"]; + response: Endpoints["GET /orgs/{org}/members/{username}/codespaces"]["response"]; + }; + getExportDetailsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/codespaces/{codespace_name}/exports/{export_id}"]["parameters"]; + response: Endpoints["GET /user/codespaces/{codespace_name}/exports/{export_id}"]["response"]; + }; + getForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/codespaces/{codespace_name}"]["parameters"]; + response: Endpoints["GET /user/codespaces/{codespace_name}"]["response"]; + }; + getOrgPublicKey: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/codespaces/secrets/public-key"]["parameters"]; + response: Endpoints["GET /orgs/{org}/codespaces/secrets/public-key"]["response"]; + }; + getOrgSecret: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/codespaces/secrets/{secret_name}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/codespaces/secrets/{secret_name}"]["response"]; + }; + getPublicKeyForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/codespaces/secrets/public-key"]["parameters"]; + response: Endpoints["GET /user/codespaces/secrets/public-key"]["response"]; + }; + getRepoPublicKey: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets/public-key"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets/public-key"]["response"]; + }; + getRepoSecret: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"]["response"]; + }; + getSecretForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/codespaces/secrets/{secret_name}"]["parameters"]; + response: Endpoints["GET /user/codespaces/secrets/{secret_name}"]["response"]; + }; + listDevcontainersInRepositoryForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/codespaces/devcontainers"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces/devcontainers"]["response"]; + }; + listForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/codespaces"]["parameters"]; + response: Endpoints["GET /user/codespaces"]["response"]; + }; + listInOrganization: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/codespaces"]["parameters"]; + response: Endpoints["GET /orgs/{org}/codespaces"]["response"]; + }; + listInRepositoryForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/codespaces"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces"]["response"]; + }; + listOrgSecrets: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/codespaces/secrets"]["parameters"]; + response: Endpoints["GET /orgs/{org}/codespaces/secrets"]["response"]; + }; + listRepoSecrets: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets"]["response"]; + }; + listRepositoriesForSecretForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/codespaces/secrets/{secret_name}/repositories"]["parameters"]; + response: Endpoints["GET /user/codespaces/secrets/{secret_name}/repositories"]["response"]; + }; + listSecretsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/codespaces/secrets"]["parameters"]; + response: Endpoints["GET /user/codespaces/secrets"]["response"]; + }; + listSelectedReposForOrgSecret: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"]["response"]; + }; + preFlightWithRepoForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/codespaces/new"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces/new"]["response"]; + }; + publishForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/codespaces/{codespace_name}/publish"]["parameters"]; + response: Endpoints["POST /user/codespaces/{codespace_name}/publish"]["response"]; + }; + removeRepositoryForSecretForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"]["response"]; + }; + removeSelectedRepoFromOrgSecret: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"]["response"]; + }; + repoMachinesForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/codespaces/machines"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codespaces/machines"]["response"]; + }; + setRepositoriesForSecretForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["PUT /user/codespaces/secrets/{secret_name}/repositories"]["parameters"]; + response: Endpoints["PUT /user/codespaces/secrets/{secret_name}/repositories"]["response"]; + }; + setSelectedReposForOrgSecret: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories"]["response"]; + }; + startForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/codespaces/{codespace_name}/start"]["parameters"]; + response: Endpoints["POST /user/codespaces/{codespace_name}/start"]["response"]; + }; + stopForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/codespaces/{codespace_name}/stop"]["parameters"]; + response: Endpoints["POST /user/codespaces/{codespace_name}/stop"]["response"]; + }; + stopInOrganization: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"]["parameters"]; + response: Endpoints["POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"]["response"]; + }; + updateForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["PATCH /user/codespaces/{codespace_name}"]["parameters"]; + response: Endpoints["PATCH /user/codespaces/{codespace_name}"]["response"]; + }; + }; + copilot: { + addCopilotSeatsForTeams: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/copilot/billing/selected_teams"]["parameters"]; + response: Endpoints["POST /orgs/{org}/copilot/billing/selected_teams"]["response"]; + }; + addCopilotSeatsForUsers: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/copilot/billing/selected_users"]["parameters"]; + response: Endpoints["POST /orgs/{org}/copilot/billing/selected_users"]["response"]; + }; + cancelCopilotSeatAssignmentForTeams: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/copilot/billing/selected_teams"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/copilot/billing/selected_teams"]["response"]; + }; + cancelCopilotSeatAssignmentForUsers: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/copilot/billing/selected_users"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/copilot/billing/selected_users"]["response"]; + }; + getCopilotOrganizationDetails: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/copilot/billing"]["parameters"]; + response: Endpoints["GET /orgs/{org}/copilot/billing"]["response"]; + }; + getCopilotSeatDetailsForUser: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/members/{username}/copilot"]["parameters"]; + response: Endpoints["GET /orgs/{org}/members/{username}/copilot"]["response"]; + }; + listCopilotSeats: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/copilot/billing/seats"]["parameters"]; + response: Endpoints["GET /orgs/{org}/copilot/billing/seats"]["response"]; + }; + usageMetricsForEnterprise: { + parameters: RequestParameters & Endpoints["GET /enterprises/{enterprise}/copilot/usage"]["parameters"]; + response: Endpoints["GET /enterprises/{enterprise}/copilot/usage"]["response"]; + }; + usageMetricsForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/copilot/usage"]["parameters"]; + response: Endpoints["GET /orgs/{org}/copilot/usage"]["response"]; + }; + usageMetricsForTeam: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/team/{team_slug}/copilot/usage"]["parameters"]; + response: Endpoints["GET /orgs/{org}/team/{team_slug}/copilot/usage"]["response"]; + }; + }; + dependabot: { + addSelectedRepoToOrgSecret: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"]["response"]; + }; + createOrUpdateOrgSecret: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/dependabot/secrets/{secret_name}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/dependabot/secrets/{secret_name}"]["response"]; + }; + createOrUpdateRepoSecret: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"]["response"]; + }; + deleteOrgSecret: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"]["response"]; + }; + deleteRepoSecret: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"]["response"]; + }; + getAlert: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"]["response"]; + }; + getOrgPublicKey: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/dependabot/secrets/public-key"]["parameters"]; + response: Endpoints["GET /orgs/{org}/dependabot/secrets/public-key"]["response"]; + }; + getOrgSecret: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/dependabot/secrets/{secret_name}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/dependabot/secrets/{secret_name}"]["response"]; + }; + getRepoPublicKey: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets/public-key"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets/public-key"]["response"]; + }; + getRepoSecret: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"]["response"]; + }; + listAlertsForEnterprise: { + parameters: RequestParameters & Endpoints["GET /enterprises/{enterprise}/dependabot/alerts"]["parameters"]; + response: Endpoints["GET /enterprises/{enterprise}/dependabot/alerts"]["response"]; + }; + listAlertsForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/dependabot/alerts"]["parameters"]; + response: Endpoints["GET /orgs/{org}/dependabot/alerts"]["response"]; + }; + listAlertsForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/dependabot/alerts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/dependabot/alerts"]["response"]; + }; + listOrgSecrets: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/dependabot/secrets"]["parameters"]; + response: Endpoints["GET /orgs/{org}/dependabot/secrets"]["response"]; + }; + listRepoSecrets: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets"]["response"]; + }; + listSelectedReposForOrgSecret: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"]["response"]; + }; + removeSelectedRepoFromOrgSecret: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"]["response"]; + }; + setSelectedReposForOrgSecret: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"]["response"]; + }; + updateAlert: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"]["response"]; + }; + }; + dependencyGraph: { + createRepositorySnapshot: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/dependency-graph/snapshots"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/dependency-graph/snapshots"]["response"]; + }; + diffRange: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"]["response"]; + }; + exportSbom: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/dependency-graph/sbom"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/dependency-graph/sbom"]["response"]; + }; + }; + emojis: { + get: { + parameters: RequestParameters & Endpoints["GET /emojis"]["parameters"]; + response: Endpoints["GET /emojis"]["response"]; + }; + }; + gists: { + checkIsStarred: { + parameters: RequestParameters & Endpoints["GET /gists/{gist_id}/star"]["parameters"]; + response: Endpoints["GET /gists/{gist_id}/star"]["response"]; + }; + create: { + parameters: RequestParameters & Endpoints["POST /gists"]["parameters"]; + response: Endpoints["POST /gists"]["response"]; + }; + createComment: { + parameters: RequestParameters & Endpoints["POST /gists/{gist_id}/comments"]["parameters"]; + response: Endpoints["POST /gists/{gist_id}/comments"]["response"]; + }; + delete: { + parameters: RequestParameters & Endpoints["DELETE /gists/{gist_id}"]["parameters"]; + response: Endpoints["DELETE /gists/{gist_id}"]["response"]; + }; + deleteComment: { + parameters: RequestParameters & Endpoints["DELETE /gists/{gist_id}/comments/{comment_id}"]["parameters"]; + response: Endpoints["DELETE /gists/{gist_id}/comments/{comment_id}"]["response"]; + }; + fork: { + parameters: RequestParameters & Endpoints["POST /gists/{gist_id}/forks"]["parameters"]; + response: Endpoints["POST /gists/{gist_id}/forks"]["response"]; + }; + get: { + parameters: RequestParameters & Endpoints["GET /gists/{gist_id}"]["parameters"]; + response: Endpoints["GET /gists/{gist_id}"]["response"]; + }; + getComment: { + parameters: RequestParameters & Endpoints["GET /gists/{gist_id}/comments/{comment_id}"]["parameters"]; + response: Endpoints["GET /gists/{gist_id}/comments/{comment_id}"]["response"]; + }; + getRevision: { + parameters: RequestParameters & Endpoints["GET /gists/{gist_id}/{sha}"]["parameters"]; + response: Endpoints["GET /gists/{gist_id}/{sha}"]["response"]; + }; + list: { + parameters: RequestParameters & Endpoints["GET /gists"]["parameters"]; + response: Endpoints["GET /gists"]["response"]; + }; + listComments: { + parameters: RequestParameters & Endpoints["GET /gists/{gist_id}/comments"]["parameters"]; + response: Endpoints["GET /gists/{gist_id}/comments"]["response"]; + }; + listCommits: { + parameters: RequestParameters & Endpoints["GET /gists/{gist_id}/commits"]["parameters"]; + response: Endpoints["GET /gists/{gist_id}/commits"]["response"]; + }; + listForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/gists"]["parameters"]; + response: Endpoints["GET /users/{username}/gists"]["response"]; + }; + listForks: { + parameters: RequestParameters & Endpoints["GET /gists/{gist_id}/forks"]["parameters"]; + response: Endpoints["GET /gists/{gist_id}/forks"]["response"]; + }; + listPublic: { + parameters: RequestParameters & Endpoints["GET /gists/public"]["parameters"]; + response: Endpoints["GET /gists/public"]["response"]; + }; + listStarred: { + parameters: RequestParameters & Endpoints["GET /gists/starred"]["parameters"]; + response: Endpoints["GET /gists/starred"]["response"]; + }; + star: { + parameters: RequestParameters & Endpoints["PUT /gists/{gist_id}/star"]["parameters"]; + response: Endpoints["PUT /gists/{gist_id}/star"]["response"]; + }; + unstar: { + parameters: RequestParameters & Endpoints["DELETE /gists/{gist_id}/star"]["parameters"]; + response: Endpoints["DELETE /gists/{gist_id}/star"]["response"]; + }; + update: { + parameters: RequestParameters & Endpoints["PATCH /gists/{gist_id}"]["parameters"]; + response: Endpoints["PATCH /gists/{gist_id}"]["response"]; + }; + updateComment: { + parameters: RequestParameters & Endpoints["PATCH /gists/{gist_id}/comments/{comment_id}"]["parameters"]; + response: Endpoints["PATCH /gists/{gist_id}/comments/{comment_id}"]["response"]; + }; + }; + git: { + createBlob: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/git/blobs"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/git/blobs"]["response"]; + }; + createCommit: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/git/commits"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/git/commits"]["response"]; + }; + createRef: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/git/refs"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/git/refs"]["response"]; + }; + createTag: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/git/tags"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/git/tags"]["response"]; + }; + createTree: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/git/trees"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/git/trees"]["response"]; + }; + deleteRef: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/git/refs/{ref}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/git/refs/{ref}"]["response"]; + }; + getBlob: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"]["response"]; + }; + getCommit: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"]["response"]; + }; + getRef: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/git/ref/{ref}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/git/ref/{ref}"]["response"]; + }; + getTag: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"]["response"]; + }; + getTree: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"]["response"]; + }; + listMatchingRefs: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"]["response"]; + }; + updateRef: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]["response"]; + }; + }; + gitignore: { + getAllTemplates: { + parameters: RequestParameters & Endpoints["GET /gitignore/templates"]["parameters"]; + response: Endpoints["GET /gitignore/templates"]["response"]; + }; + getTemplate: { + parameters: RequestParameters & Endpoints["GET /gitignore/templates/{name}"]["parameters"]; + response: Endpoints["GET /gitignore/templates/{name}"]["response"]; + }; + }; + interactions: { + getRestrictionsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/interaction-limits"]["parameters"]; + response: Endpoints["GET /user/interaction-limits"]["response"]; + }; + getRestrictionsForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/interaction-limits"]["parameters"]; + response: Endpoints["GET /orgs/{org}/interaction-limits"]["response"]; + }; + getRestrictionsForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/interaction-limits"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/interaction-limits"]["response"]; + }; + getRestrictionsForYourPublicRepos: { + parameters: RequestParameters & Endpoints["GET /user/interaction-limits"]["parameters"]; + response: Endpoints["GET /user/interaction-limits"]["response"]; + }; + removeRestrictionsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/interaction-limits"]["parameters"]; + response: Endpoints["DELETE /user/interaction-limits"]["response"]; + }; + removeRestrictionsForOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/interaction-limits"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/interaction-limits"]["response"]; + }; + removeRestrictionsForRepo: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/interaction-limits"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/interaction-limits"]["response"]; + }; + removeRestrictionsForYourPublicRepos: { + parameters: RequestParameters & Endpoints["DELETE /user/interaction-limits"]["parameters"]; + response: Endpoints["DELETE /user/interaction-limits"]["response"]; + }; + setRestrictionsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["PUT /user/interaction-limits"]["parameters"]; + response: Endpoints["PUT /user/interaction-limits"]["response"]; + }; + setRestrictionsForOrg: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/interaction-limits"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/interaction-limits"]["response"]; + }; + setRestrictionsForRepo: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/interaction-limits"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/interaction-limits"]["response"]; + }; + setRestrictionsForYourPublicRepos: { + parameters: RequestParameters & Endpoints["PUT /user/interaction-limits"]["parameters"]; + response: Endpoints["PUT /user/interaction-limits"]["response"]; + }; + }; + issues: { + addAssignees: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"]["response"]; + }; + addLabels: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"]["response"]; + }; + checkUserCanBeAssigned: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/assignees/{assignee}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/assignees/{assignee}"]["response"]; + }; + checkUserCanBeAssignedToIssue: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}"]["response"]; + }; + create: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/issues"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/issues"]["response"]; + }; + createComment: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"]["response"]; + }; + createLabel: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/labels"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/labels"]["response"]; + }; + createMilestone: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/milestones"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/milestones"]["response"]; + }; + deleteComment: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"]["response"]; + }; + deleteLabel: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/labels/{name}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/labels/{name}"]["response"]; + }; + deleteMilestone: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"]["response"]; + }; + get: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}"]["response"]; + }; + getComment: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"]["response"]; + }; + getEvent: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/issues/events/{event_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/events/{event_id}"]["response"]; + }; + getLabel: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/labels/{name}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/labels/{name}"]["response"]; + }; + getMilestone: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/milestones/{milestone_number}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/milestones/{milestone_number}"]["response"]; + }; + list: { + parameters: RequestParameters & Endpoints["GET /issues"]["parameters"]; + response: Endpoints["GET /issues"]["response"]; + }; + listAssignees: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/assignees"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/assignees"]["response"]; + }; + listComments: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"]["response"]; + }; + listCommentsForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/issues/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/comments"]["response"]; + }; + listEvents: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/events"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/events"]["response"]; + }; + listEventsForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/issues/events"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/events"]["response"]; + }; + listEventsForTimeline: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"]["response"]; + }; + listForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/issues"]["parameters"]; + response: Endpoints["GET /user/issues"]["response"]; + }; + listForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/issues"]["parameters"]; + response: Endpoints["GET /orgs/{org}/issues"]["response"]; + }; + listForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/issues"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues"]["response"]; + }; + listLabelsForMilestone: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"]["response"]; + }; + listLabelsForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/labels"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/labels"]["response"]; + }; + listLabelsOnIssue: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"]["response"]; + }; + listMilestones: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/milestones"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/milestones"]["response"]; + }; + lock: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"]["response"]; + }; + removeAllLabels: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"]["response"]; + }; + removeAssignees: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"]["response"]; + }; + removeLabel: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"]["response"]; + }; + setLabels: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"]["response"]; + }; + unlock: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"]["response"]; + }; + update: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/issues/{issue_number}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/issues/{issue_number}"]["response"]; + }; + updateComment: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"]["response"]; + }; + updateLabel: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/labels/{name}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/labels/{name}"]["response"]; + }; + updateMilestone: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"]["response"]; + }; + }; + licenses: { + get: { + parameters: RequestParameters & Endpoints["GET /licenses/{license}"]["parameters"]; + response: Endpoints["GET /licenses/{license}"]["response"]; + }; + getAllCommonlyUsed: { + parameters: RequestParameters & Endpoints["GET /licenses"]["parameters"]; + response: Endpoints["GET /licenses"]["response"]; + }; + getForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/license"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/license"]["response"]; + }; + }; + markdown: { + render: { + parameters: RequestParameters & Endpoints["POST /markdown"]["parameters"]; + response: Endpoints["POST /markdown"]["response"]; + }; + renderRaw: { + parameters: RequestParameters & Endpoints["POST /markdown/raw"]["parameters"]; + response: Endpoints["POST /markdown/raw"]["response"]; + }; + }; + meta: { + get: { + parameters: RequestParameters & Endpoints["GET /meta"]["parameters"]; + response: Endpoints["GET /meta"]["response"]; + }; + getAllVersions: { + parameters: RequestParameters & Endpoints["GET /versions"]["parameters"]; + response: Endpoints["GET /versions"]["response"]; + }; + getOctocat: { + parameters: RequestParameters & Endpoints["GET /octocat"]["parameters"]; + response: Endpoints["GET /octocat"]["response"]; + }; + getZen: { + parameters: RequestParameters & Endpoints["GET /zen"]["parameters"]; + response: Endpoints["GET /zen"]["response"]; + }; + root: { + parameters: RequestParameters & Endpoints["GET /"]["parameters"]; + response: Endpoints["GET /"]["response"]; + }; + }; + migrations: { + deleteArchiveForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/migrations/{migration_id}/archive"]["parameters"]; + response: Endpoints["DELETE /user/migrations/{migration_id}/archive"]["response"]; + }; + deleteArchiveForOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/migrations/{migration_id}/archive"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/migrations/{migration_id}/archive"]["response"]; + }; + downloadArchiveForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/migrations/{migration_id}/archive"]["parameters"]; + response: Endpoints["GET /orgs/{org}/migrations/{migration_id}/archive"]["response"]; + }; + getArchiveForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/migrations/{migration_id}/archive"]["parameters"]; + response: Endpoints["GET /user/migrations/{migration_id}/archive"]["response"]; + }; + getStatusForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/migrations/{migration_id}"]["parameters"]; + response: Endpoints["GET /user/migrations/{migration_id}"]["response"]; + }; + getStatusForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/migrations/{migration_id}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/migrations/{migration_id}"]["response"]; + }; + listForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/migrations"]["parameters"]; + response: Endpoints["GET /user/migrations"]["response"]; + }; + listForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/migrations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/migrations"]["response"]; + }; + listReposForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/migrations/{migration_id}/repositories"]["parameters"]; + response: Endpoints["GET /user/migrations/{migration_id}/repositories"]["response"]; + }; + listReposForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/migrations/{migration_id}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/migrations/{migration_id}/repositories"]["response"]; + }; + listReposForUser: { + parameters: RequestParameters & Endpoints["GET /user/migrations/{migration_id}/repositories"]["parameters"]; + response: Endpoints["GET /user/migrations/{migration_id}/repositories"]["response"]; + }; + startForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/migrations"]["parameters"]; + response: Endpoints["POST /user/migrations"]["response"]; + }; + startForOrg: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/migrations"]["parameters"]; + response: Endpoints["POST /orgs/{org}/migrations"]["response"]; + }; + unlockRepoForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"]["parameters"]; + response: Endpoints["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"]["response"]; + }; + unlockRepoForOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"]["response"]; + }; + }; + oidc: { + getOidcCustomSubTemplateForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/actions/oidc/customization/sub"]["parameters"]; + response: Endpoints["GET /orgs/{org}/actions/oidc/customization/sub"]["response"]; + }; + updateOidcCustomSubTemplateForOrg: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/actions/oidc/customization/sub"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/actions/oidc/customization/sub"]["response"]; + }; + }; + orgs: { + addSecurityManagerTeam: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/security-managers/teams/{team_slug}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/security-managers/teams/{team_slug}"]["response"]; + }; + assignTeamToOrgRole: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"]["response"]; + }; + assignUserToOrgRole: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/organization-roles/users/{username}/{role_id}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/organization-roles/users/{username}/{role_id}"]["response"]; + }; + blockUser: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/blocks/{username}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/blocks/{username}"]["response"]; + }; + cancelInvitation: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/invitations/{invitation_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/invitations/{invitation_id}"]["response"]; + }; + checkBlockedUser: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/blocks/{username}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/blocks/{username}"]["response"]; + }; + checkMembershipForUser: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/members/{username}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/members/{username}"]["response"]; + }; + checkPublicMembershipForUser: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/public_members/{username}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/public_members/{username}"]["response"]; + }; + convertMemberToOutsideCollaborator: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/outside_collaborators/{username}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/outside_collaborators/{username}"]["response"]; + }; + createCustomOrganizationRole: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/organization-roles"]["parameters"]; + response: Endpoints["POST /orgs/{org}/organization-roles"]["response"]; + }; + createInvitation: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/invitations"]["parameters"]; + response: Endpoints["POST /orgs/{org}/invitations"]["response"]; + }; + createOrUpdateCustomProperties: { + parameters: RequestParameters & Endpoints["PATCH /orgs/{org}/properties/schema"]["parameters"]; + response: Endpoints["PATCH /orgs/{org}/properties/schema"]["response"]; + }; + createOrUpdateCustomPropertiesValuesForRepos: { + parameters: RequestParameters & Endpoints["PATCH /orgs/{org}/properties/values"]["parameters"]; + response: Endpoints["PATCH /orgs/{org}/properties/values"]["response"]; + }; + createOrUpdateCustomProperty: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/properties/schema/{custom_property_name}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/properties/schema/{custom_property_name}"]["response"]; + }; + createWebhook: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/hooks"]["parameters"]; + response: Endpoints["POST /orgs/{org}/hooks"]["response"]; + }; + delete: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}"]["response"]; + }; + deleteCustomOrganizationRole: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/organization-roles/{role_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/organization-roles/{role_id}"]["response"]; + }; + deleteWebhook: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/hooks/{hook_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/hooks/{hook_id}"]["response"]; + }; + enableOrDisableSecurityProductOnAllOrgRepos: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/{security_product}/{enablement}"]["parameters"]; + response: Endpoints["POST /orgs/{org}/{security_product}/{enablement}"]["response"]; + }; + get: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}"]["parameters"]; + response: Endpoints["GET /orgs/{org}"]["response"]; + }; + getAllCustomProperties: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/properties/schema"]["parameters"]; + response: Endpoints["GET /orgs/{org}/properties/schema"]["response"]; + }; + getCustomProperty: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/properties/schema/{custom_property_name}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/properties/schema/{custom_property_name}"]["response"]; + }; + getMembershipForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/memberships/orgs/{org}"]["parameters"]; + response: Endpoints["GET /user/memberships/orgs/{org}"]["response"]; + }; + getMembershipForUser: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/memberships/{username}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/memberships/{username}"]["response"]; + }; + getOrgRole: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/organization-roles/{role_id}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/organization-roles/{role_id}"]["response"]; + }; + getWebhook: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/hooks/{hook_id}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/hooks/{hook_id}"]["response"]; + }; + getWebhookConfigForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/hooks/{hook_id}/config"]["parameters"]; + response: Endpoints["GET /orgs/{org}/hooks/{hook_id}/config"]["response"]; + }; + getWebhookDelivery: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"]["response"]; + }; + list: { + parameters: RequestParameters & Endpoints["GET /organizations"]["parameters"]; + response: Endpoints["GET /organizations"]["response"]; + }; + listAppInstallations: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/installations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/installations"]["response"]; + }; + listBlockedUsers: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/blocks"]["parameters"]; + response: Endpoints["GET /orgs/{org}/blocks"]["response"]; + }; + listCustomPropertiesValuesForRepos: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/properties/values"]["parameters"]; + response: Endpoints["GET /orgs/{org}/properties/values"]["response"]; + }; + listFailedInvitations: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/failed_invitations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/failed_invitations"]["response"]; + }; + listForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/orgs"]["parameters"]; + response: Endpoints["GET /user/orgs"]["response"]; + }; + listForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/orgs"]["parameters"]; + response: Endpoints["GET /users/{username}/orgs"]["response"]; + }; + listInvitationTeams: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/invitations/{invitation_id}/teams"]["parameters"]; + response: Endpoints["GET /orgs/{org}/invitations/{invitation_id}/teams"]["response"]; + }; + listMembers: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/members"]["parameters"]; + response: Endpoints["GET /orgs/{org}/members"]["response"]; + }; + listMembershipsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/memberships/orgs"]["parameters"]; + response: Endpoints["GET /user/memberships/orgs"]["response"]; + }; + listOrgRoleTeams: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/organization-roles/{role_id}/teams"]["parameters"]; + response: Endpoints["GET /orgs/{org}/organization-roles/{role_id}/teams"]["response"]; + }; + listOrgRoleUsers: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/organization-roles/{role_id}/users"]["parameters"]; + response: Endpoints["GET /orgs/{org}/organization-roles/{role_id}/users"]["response"]; + }; + listOrgRoles: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/organization-roles"]["parameters"]; + response: Endpoints["GET /orgs/{org}/organization-roles"]["response"]; + }; + listOrganizationFineGrainedPermissions: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/organization-fine-grained-permissions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/organization-fine-grained-permissions"]["response"]; + }; + listOutsideCollaborators: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/outside_collaborators"]["parameters"]; + response: Endpoints["GET /orgs/{org}/outside_collaborators"]["response"]; + }; + listPatGrantRepositories: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"]["response"]; + }; + listPatGrantRequestRepositories: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"]["response"]; + }; + listPatGrantRequests: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/personal-access-token-requests"]["parameters"]; + response: Endpoints["GET /orgs/{org}/personal-access-token-requests"]["response"]; + }; + listPatGrants: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/personal-access-tokens"]["parameters"]; + response: Endpoints["GET /orgs/{org}/personal-access-tokens"]["response"]; + }; + listPendingInvitations: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/invitations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/invitations"]["response"]; + }; + listPublicMembers: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/public_members"]["parameters"]; + response: Endpoints["GET /orgs/{org}/public_members"]["response"]; + }; + listSecurityManagerTeams: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/security-managers"]["parameters"]; + response: Endpoints["GET /orgs/{org}/security-managers"]["response"]; + }; + listWebhookDeliveries: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/hooks/{hook_id}/deliveries"]["parameters"]; + response: Endpoints["GET /orgs/{org}/hooks/{hook_id}/deliveries"]["response"]; + }; + listWebhooks: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/hooks"]["parameters"]; + response: Endpoints["GET /orgs/{org}/hooks"]["response"]; + }; + patchCustomOrganizationRole: { + parameters: RequestParameters & Endpoints["PATCH /orgs/{org}/organization-roles/{role_id}"]["parameters"]; + response: Endpoints["PATCH /orgs/{org}/organization-roles/{role_id}"]["response"]; + }; + pingWebhook: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/hooks/{hook_id}/pings"]["parameters"]; + response: Endpoints["POST /orgs/{org}/hooks/{hook_id}/pings"]["response"]; + }; + redeliverWebhookDelivery: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"]["parameters"]; + response: Endpoints["POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"]["response"]; + }; + removeCustomProperty: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/properties/schema/{custom_property_name}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/properties/schema/{custom_property_name}"]["response"]; + }; + removeMember: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/members/{username}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/members/{username}"]["response"]; + }; + removeMembershipForUser: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/memberships/{username}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/memberships/{username}"]["response"]; + }; + removeOutsideCollaborator: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/outside_collaborators/{username}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/outside_collaborators/{username}"]["response"]; + }; + removePublicMembershipForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/public_members/{username}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/public_members/{username}"]["response"]; + }; + removeSecurityManagerTeam: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/security-managers/teams/{team_slug}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/security-managers/teams/{team_slug}"]["response"]; + }; + reviewPatGrantRequest: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/personal-access-token-requests/{pat_request_id}"]["parameters"]; + response: Endpoints["POST /orgs/{org}/personal-access-token-requests/{pat_request_id}"]["response"]; + }; + reviewPatGrantRequestsInBulk: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/personal-access-token-requests"]["parameters"]; + response: Endpoints["POST /orgs/{org}/personal-access-token-requests"]["response"]; + }; + revokeAllOrgRolesTeam: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/organization-roles/teams/{team_slug}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/organization-roles/teams/{team_slug}"]["response"]; + }; + revokeAllOrgRolesUser: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/organization-roles/users/{username}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/organization-roles/users/{username}"]["response"]; + }; + revokeOrgRoleTeam: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"]["response"]; + }; + revokeOrgRoleUser: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}"]["response"]; + }; + setMembershipForUser: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/memberships/{username}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/memberships/{username}"]["response"]; + }; + setPublicMembershipForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/public_members/{username}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/public_members/{username}"]["response"]; + }; + unblockUser: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/blocks/{username}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/blocks/{username}"]["response"]; + }; + update: { + parameters: RequestParameters & Endpoints["PATCH /orgs/{org}"]["parameters"]; + response: Endpoints["PATCH /orgs/{org}"]["response"]; + }; + updateMembershipForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["PATCH /user/memberships/orgs/{org}"]["parameters"]; + response: Endpoints["PATCH /user/memberships/orgs/{org}"]["response"]; + }; + updatePatAccess: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/personal-access-tokens/{pat_id}"]["parameters"]; + response: Endpoints["POST /orgs/{org}/personal-access-tokens/{pat_id}"]["response"]; + }; + updatePatAccesses: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/personal-access-tokens"]["parameters"]; + response: Endpoints["POST /orgs/{org}/personal-access-tokens"]["response"]; + }; + updateWebhook: { + parameters: RequestParameters & Endpoints["PATCH /orgs/{org}/hooks/{hook_id}"]["parameters"]; + response: Endpoints["PATCH /orgs/{org}/hooks/{hook_id}"]["response"]; + }; + updateWebhookConfigForOrg: { + parameters: RequestParameters & Endpoints["PATCH /orgs/{org}/hooks/{hook_id}/config"]["parameters"]; + response: Endpoints["PATCH /orgs/{org}/hooks/{hook_id}/config"]["response"]; + }; + }; + packages: { + deletePackageForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/packages/{package_type}/{package_name}"]["parameters"]; + response: Endpoints["DELETE /user/packages/{package_type}/{package_name}"]["response"]; + }; + deletePackageForOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/packages/{package_type}/{package_name}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/packages/{package_type}/{package_name}"]["response"]; + }; + deletePackageForUser: { + parameters: RequestParameters & Endpoints["DELETE /users/{username}/packages/{package_type}/{package_name}"]["parameters"]; + response: Endpoints["DELETE /users/{username}/packages/{package_type}/{package_name}"]["response"]; + }; + deletePackageVersionForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"]["parameters"]; + response: Endpoints["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + deletePackageVersionForOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + deletePackageVersionForUser: { + parameters: RequestParameters & Endpoints["DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["parameters"]; + response: Endpoints["DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + getAllPackageVersionsForAPackageOwnedByAnOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"]["response"]; + }; + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/packages/{package_type}/{package_name}/versions"]["parameters"]; + response: Endpoints["GET /user/packages/{package_type}/{package_name}/versions"]["response"]; + }; + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/packages/{package_type}/{package_name}/versions"]["parameters"]; + response: Endpoints["GET /user/packages/{package_type}/{package_name}/versions"]["response"]; + }; + getAllPackageVersionsForPackageOwnedByOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"]["response"]; + }; + getAllPackageVersionsForPackageOwnedByUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/packages/{package_type}/{package_name}/versions"]["parameters"]; + response: Endpoints["GET /users/{username}/packages/{package_type}/{package_name}/versions"]["response"]; + }; + getPackageForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/packages/{package_type}/{package_name}"]["parameters"]; + response: Endpoints["GET /user/packages/{package_type}/{package_name}"]["response"]; + }; + getPackageForOrganization: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}"]["response"]; + }; + getPackageForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/packages/{package_type}/{package_name}"]["parameters"]; + response: Endpoints["GET /users/{username}/packages/{package_type}/{package_name}"]["response"]; + }; + getPackageVersionForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"]["parameters"]; + response: Endpoints["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + getPackageVersionForOrganization: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + getPackageVersionForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["parameters"]; + response: Endpoints["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; + }; + listDockerMigrationConflictingPackagesForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/docker/conflicts"]["parameters"]; + response: Endpoints["GET /user/docker/conflicts"]["response"]; + }; + listDockerMigrationConflictingPackagesForOrganization: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/docker/conflicts"]["parameters"]; + response: Endpoints["GET /orgs/{org}/docker/conflicts"]["response"]; + }; + listDockerMigrationConflictingPackagesForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/docker/conflicts"]["parameters"]; + response: Endpoints["GET /users/{username}/docker/conflicts"]["response"]; + }; + listPackagesForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/packages"]["parameters"]; + response: Endpoints["GET /user/packages"]["response"]; + }; + listPackagesForOrganization: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/packages"]["parameters"]; + response: Endpoints["GET /orgs/{org}/packages"]["response"]; + }; + listPackagesForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/packages"]["parameters"]; + response: Endpoints["GET /users/{username}/packages"]["response"]; + }; + restorePackageForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/packages/{package_type}/{package_name}/restore{?token}"]["parameters"]; + response: Endpoints["POST /user/packages/{package_type}/{package_name}/restore{?token}"]["response"]; + }; + restorePackageForOrg: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"]["parameters"]; + response: Endpoints["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"]["response"]; + }; + restorePackageForUser: { + parameters: RequestParameters & Endpoints["POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"]["parameters"]; + response: Endpoints["POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"]["response"]; + }; + restorePackageVersionForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]["parameters"]; + response: Endpoints["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]["response"]; + }; + restorePackageVersionForOrg: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]["parameters"]; + response: Endpoints["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]["response"]; + }; + restorePackageVersionForUser: { + parameters: RequestParameters & Endpoints["POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]["parameters"]; + response: Endpoints["POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]["response"]; + }; + }; + projects: { + addCollaborator: { + parameters: RequestParameters & Endpoints["PUT /projects/{project_id}/collaborators/{username}"]["parameters"]; + response: Endpoints["PUT /projects/{project_id}/collaborators/{username}"]["response"]; + }; + createCard: { + parameters: RequestParameters & Endpoints["POST /projects/columns/{column_id}/cards"]["parameters"]; + response: Endpoints["POST /projects/columns/{column_id}/cards"]["response"]; + }; + createColumn: { + parameters: RequestParameters & Endpoints["POST /projects/{project_id}/columns"]["parameters"]; + response: Endpoints["POST /projects/{project_id}/columns"]["response"]; + }; + createForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/projects"]["parameters"]; + response: Endpoints["POST /user/projects"]["response"]; + }; + createForOrg: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/projects"]["parameters"]; + response: Endpoints["POST /orgs/{org}/projects"]["response"]; + }; + createForRepo: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/projects"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/projects"]["response"]; + }; + delete: { + parameters: RequestParameters & Endpoints["DELETE /projects/{project_id}"]["parameters"]; + response: Endpoints["DELETE /projects/{project_id}"]["response"]; + }; + deleteCard: { + parameters: RequestParameters & Endpoints["DELETE /projects/columns/cards/{card_id}"]["parameters"]; + response: Endpoints["DELETE /projects/columns/cards/{card_id}"]["response"]; + }; + deleteColumn: { + parameters: RequestParameters & Endpoints["DELETE /projects/columns/{column_id}"]["parameters"]; + response: Endpoints["DELETE /projects/columns/{column_id}"]["response"]; + }; + get: { + parameters: RequestParameters & Endpoints["GET /projects/{project_id}"]["parameters"]; + response: Endpoints["GET /projects/{project_id}"]["response"]; + }; + getCard: { + parameters: RequestParameters & Endpoints["GET /projects/columns/cards/{card_id}"]["parameters"]; + response: Endpoints["GET /projects/columns/cards/{card_id}"]["response"]; + }; + getColumn: { + parameters: RequestParameters & Endpoints["GET /projects/columns/{column_id}"]["parameters"]; + response: Endpoints["GET /projects/columns/{column_id}"]["response"]; + }; + getPermissionForUser: { + parameters: RequestParameters & Endpoints["GET /projects/{project_id}/collaborators/{username}/permission"]["parameters"]; + response: Endpoints["GET /projects/{project_id}/collaborators/{username}/permission"]["response"]; + }; + listCards: { + parameters: RequestParameters & Endpoints["GET /projects/columns/{column_id}/cards"]["parameters"]; + response: Endpoints["GET /projects/columns/{column_id}/cards"]["response"]; + }; + listCollaborators: { + parameters: RequestParameters & Endpoints["GET /projects/{project_id}/collaborators"]["parameters"]; + response: Endpoints["GET /projects/{project_id}/collaborators"]["response"]; + }; + listColumns: { + parameters: RequestParameters & Endpoints["GET /projects/{project_id}/columns"]["parameters"]; + response: Endpoints["GET /projects/{project_id}/columns"]["response"]; + }; + listForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/projects"]["parameters"]; + response: Endpoints["GET /orgs/{org}/projects"]["response"]; + }; + listForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/projects"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/projects"]["response"]; + }; + listForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/projects"]["parameters"]; + response: Endpoints["GET /users/{username}/projects"]["response"]; + }; + moveCard: { + parameters: RequestParameters & Endpoints["POST /projects/columns/cards/{card_id}/moves"]["parameters"]; + response: Endpoints["POST /projects/columns/cards/{card_id}/moves"]["response"]; + }; + moveColumn: { + parameters: RequestParameters & Endpoints["POST /projects/columns/{column_id}/moves"]["parameters"]; + response: Endpoints["POST /projects/columns/{column_id}/moves"]["response"]; + }; + removeCollaborator: { + parameters: RequestParameters & Endpoints["DELETE /projects/{project_id}/collaborators/{username}"]["parameters"]; + response: Endpoints["DELETE /projects/{project_id}/collaborators/{username}"]["response"]; + }; + update: { + parameters: RequestParameters & Endpoints["PATCH /projects/{project_id}"]["parameters"]; + response: Endpoints["PATCH /projects/{project_id}"]["response"]; + }; + updateCard: { + parameters: RequestParameters & Endpoints["PATCH /projects/columns/cards/{card_id}"]["parameters"]; + response: Endpoints["PATCH /projects/columns/cards/{card_id}"]["response"]; + }; + updateColumn: { + parameters: RequestParameters & Endpoints["PATCH /projects/columns/{column_id}"]["parameters"]; + response: Endpoints["PATCH /projects/columns/{column_id}"]["response"]; + }; + }; + pulls: { + checkIfMerged: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"]["response"]; + }; + create: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/pulls"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/pulls"]["response"]; + }; + createReplyForReviewComment: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"]["response"]; + }; + createReview: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"]["response"]; + }; + createReviewComment: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"]["response"]; + }; + deletePendingReview: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"]["response"]; + }; + deleteReviewComment: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"]["response"]; + }; + dismissReview: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"]["response"]; + }; + get: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}"]["response"]; + }; + getReview: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"]["response"]; + }; + getReviewComment: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"]["response"]; + }; + list: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pulls"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls"]["response"]; + }; + listCommentsForReview: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"]["response"]; + }; + listCommits: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"]["response"]; + }; + listFiles: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"]["response"]; + }; + listRequestedReviewers: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"]["response"]; + }; + listReviewComments: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"]["response"]; + }; + listReviewCommentsForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pulls/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/comments"]["response"]; + }; + listReviews: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"]["response"]; + }; + merge: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"]["response"]; + }; + removeRequestedReviewers: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"]["response"]; + }; + requestReviewers: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"]["response"]; + }; + submitReview: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"]["response"]; + }; + update: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"]["response"]; + }; + updateBranch: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"]["response"]; + }; + updateReview: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"]["response"]; + }; + updateReviewComment: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"]["response"]; + }; + }; + rateLimit: { + get: { + parameters: RequestParameters & Endpoints["GET /rate_limit"]["parameters"]; + response: Endpoints["GET /rate_limit"]["response"]; + }; + }; + reactions: { + createForCommitComment: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"]["response"]; + }; + createForIssue: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"]["response"]; + }; + createForIssueComment: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"]["response"]; + }; + createForPullRequestReviewComment: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"]["response"]; + }; + createForRelease: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/releases/{release_id}/reactions"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/releases/{release_id}/reactions"]["response"]; + }; + createForTeamDiscussionCommentInOrg: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["parameters"]; + response: Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["response"]; + }; + createForTeamDiscussionInOrg: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]["parameters"]; + response: Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]["response"]; + }; + deleteForCommitComment: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"]["response"]; + }; + deleteForIssue: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"]["response"]; + }; + deleteForIssueComment: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"]["response"]; + }; + deleteForPullRequestComment: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"]["response"]; + }; + deleteForRelease: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"]["response"]; + }; + deleteForTeamDiscussion: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"]["response"]; + }; + deleteForTeamDiscussionComment: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"]["response"]; + }; + listForCommitComment: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"]["response"]; + }; + listForIssue: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"]["response"]; + }; + listForIssueComment: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"]["response"]; + }; + listForPullRequestReviewComment: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"]["response"]; + }; + listForRelease: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"]["response"]; + }; + listForTeamDiscussionCommentInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["response"]; + }; + listForTeamDiscussionInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]["response"]; + }; + }; + repos: { + acceptInvitation: { + parameters: RequestParameters & Endpoints["PATCH /user/repository_invitations/{invitation_id}"]["parameters"]; + response: Endpoints["PATCH /user/repository_invitations/{invitation_id}"]["response"]; + }; + acceptInvitationForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["PATCH /user/repository_invitations/{invitation_id}"]["parameters"]; + response: Endpoints["PATCH /user/repository_invitations/{invitation_id}"]["response"]; + }; + addAppAccessRestrictions: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["response"]; + }; + addCollaborator: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/collaborators/{username}"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/collaborators/{username}"]["response"]; + }; + addStatusCheckContexts: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["response"]; + }; + addTeamAccessRestrictions: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["response"]; + }; + addUserAccessRestrictions: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["response"]; + }; + cancelPagesDeployment: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel"]["response"]; + }; + checkAutomatedSecurityFixes: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/automated-security-fixes"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/automated-security-fixes"]["response"]; + }; + checkCollaborator: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/collaborators/{username}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/collaborators/{username}"]["response"]; + }; + checkPrivateVulnerabilityReporting: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/private-vulnerability-reporting"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/private-vulnerability-reporting"]["response"]; + }; + checkVulnerabilityAlerts: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/vulnerability-alerts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/vulnerability-alerts"]["response"]; + }; + codeownersErrors: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/codeowners/errors"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/codeowners/errors"]["response"]; + }; + compareCommits: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/compare/{base}...{head}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/compare/{base}...{head}"]["response"]; + }; + compareCommitsWithBasehead: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/compare/{basehead}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/compare/{basehead}"]["response"]; + }; + createAutolink: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/autolinks"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/autolinks"]["response"]; + }; + createCommitComment: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"]["response"]; + }; + createCommitSignatureProtection: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"]["response"]; + }; + createCommitStatus: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/statuses/{sha}"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/statuses/{sha}"]["response"]; + }; + createDeployKey: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/keys"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/keys"]["response"]; + }; + createDeployment: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/deployments"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/deployments"]["response"]; + }; + createDeploymentBranchPolicy: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"]["response"]; + }; + createDeploymentProtectionRule: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"]["response"]; + }; + createDeploymentStatus: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"]["response"]; + }; + createDispatchEvent: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/dispatches"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/dispatches"]["response"]; + }; + createForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/repos"]["parameters"]; + response: Endpoints["POST /user/repos"]["response"]; + }; + createFork: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/forks"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/forks"]["response"]; + }; + createInOrg: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/repos"]["parameters"]; + response: Endpoints["POST /orgs/{org}/repos"]["response"]; + }; + createOrUpdateCustomPropertiesValues: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/properties/values"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/properties/values"]["response"]; + }; + createOrUpdateEnvironment: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/environments/{environment_name}"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/environments/{environment_name}"]["response"]; + }; + createOrUpdateFileContents: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/contents/{path}"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/contents/{path}"]["response"]; + }; + createOrgRuleset: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/rulesets"]["parameters"]; + response: Endpoints["POST /orgs/{org}/rulesets"]["response"]; + }; + createPagesDeployment: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/pages/deployments"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/pages/deployments"]["response"]; + }; + createPagesSite: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/pages"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/pages"]["response"]; + }; + createRelease: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/releases"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/releases"]["response"]; + }; + createRepoRuleset: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/rulesets"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/rulesets"]["response"]; + }; + createTagProtection: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/tags/protection"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/tags/protection"]["response"]; + }; + createUsingTemplate: { + parameters: RequestParameters & Endpoints["POST /repos/{template_owner}/{template_repo}/generate"]["parameters"]; + response: Endpoints["POST /repos/{template_owner}/{template_repo}/generate"]["response"]; + }; + createWebhook: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/hooks"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/hooks"]["response"]; + }; + declineInvitation: { + parameters: RequestParameters & Endpoints["DELETE /user/repository_invitations/{invitation_id}"]["parameters"]; + response: Endpoints["DELETE /user/repository_invitations/{invitation_id}"]["response"]; + }; + declineInvitationForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/repository_invitations/{invitation_id}"]["parameters"]; + response: Endpoints["DELETE /user/repository_invitations/{invitation_id}"]["response"]; + }; + delete: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}"]["response"]; + }; + deleteAccessRestrictions: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"]["response"]; + }; + deleteAdminBranchProtection: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"]["response"]; + }; + deleteAnEnvironment: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/environments/{environment_name}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/environments/{environment_name}"]["response"]; + }; + deleteAutolink: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"]["response"]; + }; + deleteBranchProtection: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"]["response"]; + }; + deleteCommitComment: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/comments/{comment_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/comments/{comment_id}"]["response"]; + }; + deleteCommitSignatureProtection: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"]["response"]; + }; + deleteDeployKey: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/keys/{key_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/keys/{key_id}"]["response"]; + }; + deleteDeployment: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"]["response"]; + }; + deleteDeploymentBranchPolicy: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"]["response"]; + }; + deleteFile: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/contents/{path}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/contents/{path}"]["response"]; + }; + deleteInvitation: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"]["response"]; + }; + deleteOrgRuleset: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/rulesets/{ruleset_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/rulesets/{ruleset_id}"]["response"]; + }; + deletePagesSite: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/pages"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/pages"]["response"]; + }; + deletePullRequestReviewProtection: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"]["response"]; + }; + deleteRelease: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/releases/{release_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/releases/{release_id}"]["response"]; + }; + deleteReleaseAsset: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"]["response"]; + }; + deleteRepoRuleset: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"]["response"]; + }; + deleteTagProtection: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}"]["response"]; + }; + deleteWebhook: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"]["response"]; + }; + disableAutomatedSecurityFixes: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/automated-security-fixes"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/automated-security-fixes"]["response"]; + }; + disableDeploymentProtectionRule: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"]["response"]; + }; + disablePrivateVulnerabilityReporting: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/private-vulnerability-reporting"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/private-vulnerability-reporting"]["response"]; + }; + disableVulnerabilityAlerts: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/vulnerability-alerts"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/vulnerability-alerts"]["response"]; + }; + downloadArchive: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/zipball/{ref}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/zipball/{ref}"]["response"]; + }; + downloadTarballArchive: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/tarball/{ref}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/tarball/{ref}"]["response"]; + }; + downloadZipballArchive: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/zipball/{ref}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/zipball/{ref}"]["response"]; + }; + enableAutomatedSecurityFixes: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/automated-security-fixes"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/automated-security-fixes"]["response"]; + }; + enablePrivateVulnerabilityReporting: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/private-vulnerability-reporting"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/private-vulnerability-reporting"]["response"]; + }; + enableVulnerabilityAlerts: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/vulnerability-alerts"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/vulnerability-alerts"]["response"]; + }; + generateReleaseNotes: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/releases/generate-notes"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/releases/generate-notes"]["response"]; + }; + get: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}"]["response"]; + }; + getAccessRestrictions: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"]["response"]; + }; + getAdminBranchProtection: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"]["response"]; + }; + getAllDeploymentProtectionRules: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"]["response"]; + }; + getAllEnvironments: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/environments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments"]["response"]; + }; + getAllStatusCheckContexts: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["response"]; + }; + getAllTopics: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/topics"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/topics"]["response"]; + }; + getAppsWithAccessToProtectedBranch: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["response"]; + }; + getAutolink: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"]["response"]; + }; + getBranch: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/branches/{branch}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}"]["response"]; + }; + getBranchProtection: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection"]["response"]; + }; + getBranchRules: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/rules/branches/{branch}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/rules/branches/{branch}"]["response"]; + }; + getClones: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/traffic/clones"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/traffic/clones"]["response"]; + }; + getCodeFrequencyStats: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/stats/code_frequency"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/stats/code_frequency"]["response"]; + }; + getCollaboratorPermissionLevel: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/collaborators/{username}/permission"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/collaborators/{username}/permission"]["response"]; + }; + getCombinedStatusForRef: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/status"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/status"]["response"]; + }; + getCommit: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/commits/{ref}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}"]["response"]; + }; + getCommitActivityStats: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/stats/commit_activity"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/stats/commit_activity"]["response"]; + }; + getCommitComment: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/comments/{comment_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/comments/{comment_id}"]["response"]; + }; + getCommitSignatureProtection: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"]["response"]; + }; + getCommunityProfileMetrics: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/community/profile"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/community/profile"]["response"]; + }; + getContent: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/contents/{path}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/contents/{path}"]["response"]; + }; + getContributorsStats: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/stats/contributors"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/stats/contributors"]["response"]; + }; + getCustomDeploymentProtectionRule: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"]["response"]; + }; + getCustomPropertiesValues: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/properties/values"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/properties/values"]["response"]; + }; + getDeployKey: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/keys/{key_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/keys/{key_id}"]["response"]; + }; + getDeployment: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}"]["response"]; + }; + getDeploymentBranchPolicy: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"]["response"]; + }; + getDeploymentStatus: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"]["response"]; + }; + getEnvironment: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}"]["response"]; + }; + getLatestPagesBuild: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pages/builds/latest"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pages/builds/latest"]["response"]; + }; + getLatestRelease: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/releases/latest"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/releases/latest"]["response"]; + }; + getOrgRuleSuite: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"]["response"]; + }; + getOrgRuleSuites: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/rulesets/rule-suites"]["parameters"]; + response: Endpoints["GET /orgs/{org}/rulesets/rule-suites"]["response"]; + }; + getOrgRuleset: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/rulesets/{ruleset_id}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/rulesets/{ruleset_id}"]["response"]; + }; + getOrgRulesets: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/rulesets"]["parameters"]; + response: Endpoints["GET /orgs/{org}/rulesets"]["response"]; + }; + getPages: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pages"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pages"]["response"]; + }; + getPagesBuild: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pages/builds/{build_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pages/builds/{build_id}"]["response"]; + }; + getPagesDeployment: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}"]["response"]; + }; + getPagesHealthCheck: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pages/health"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pages/health"]["response"]; + }; + getParticipationStats: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/stats/participation"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/stats/participation"]["response"]; + }; + getPullRequestReviewProtection: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"]["response"]; + }; + getPunchCardStats: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/stats/punch_card"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/stats/punch_card"]["response"]; + }; + getReadme: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/readme"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/readme"]["response"]; + }; + getReadmeInDirectory: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/readme/{dir}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/readme/{dir}"]["response"]; + }; + getRelease: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}"]["response"]; + }; + getReleaseAsset: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"]["response"]; + }; + getReleaseByTag: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/releases/tags/{tag}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/releases/tags/{tag}"]["response"]; + }; + getRepoRuleSuite: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}"]["response"]; + }; + getRepoRuleSuites: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/rulesets/rule-suites"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/rulesets/rule-suites"]["response"]; + }; + getRepoRuleset: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"]["response"]; + }; + getRepoRulesets: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/rulesets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/rulesets"]["response"]; + }; + getStatusChecksProtection: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["response"]; + }; + getTeamsWithAccessToProtectedBranch: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["response"]; + }; + getTopPaths: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/traffic/popular/paths"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/traffic/popular/paths"]["response"]; + }; + getTopReferrers: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/traffic/popular/referrers"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/traffic/popular/referrers"]["response"]; + }; + getUsersWithAccessToProtectedBranch: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["response"]; + }; + getViews: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/traffic/views"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/traffic/views"]["response"]; + }; + getWebhook: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}"]["response"]; + }; + getWebhookConfigForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"]["response"]; + }; + getWebhookDelivery: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"]["response"]; + }; + listActivities: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/activity"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/activity"]["response"]; + }; + listAutolinks: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/autolinks"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/autolinks"]["response"]; + }; + listBranches: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/branches"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/branches"]["response"]; + }; + listBranchesForHeadCommit: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"]["response"]; + }; + listCollaborators: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/collaborators"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/collaborators"]["response"]; + }; + listCommentsForCommit: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"]["response"]; + }; + listCommitCommentsForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/comments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/comments"]["response"]; + }; + listCommitStatusesForRef: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/statuses"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/statuses"]["response"]; + }; + listCommits: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/commits"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits"]["response"]; + }; + listContributors: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/contributors"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/contributors"]["response"]; + }; + listCustomDeploymentRuleIntegrations: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"]["response"]; + }; + listDeployKeys: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/keys"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/keys"]["response"]; + }; + listDeploymentBranchPolicies: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"]["response"]; + }; + listDeploymentStatuses: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"]["response"]; + }; + listDeployments: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/deployments"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/deployments"]["response"]; + }; + listForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/repos"]["parameters"]; + response: Endpoints["GET /user/repos"]["response"]; + }; + listForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/repos"]["parameters"]; + response: Endpoints["GET /orgs/{org}/repos"]["response"]; + }; + listForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/repos"]["parameters"]; + response: Endpoints["GET /users/{username}/repos"]["response"]; + }; + listForks: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/forks"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/forks"]["response"]; + }; + listInvitations: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/invitations"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/invitations"]["response"]; + }; + listInvitationsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/repository_invitations"]["parameters"]; + response: Endpoints["GET /user/repository_invitations"]["response"]; + }; + listLanguages: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/languages"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/languages"]["response"]; + }; + listPagesBuilds: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/pages/builds"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/pages/builds"]["response"]; + }; + listPublic: { + parameters: RequestParameters & Endpoints["GET /repositories"]["parameters"]; + response: Endpoints["GET /repositories"]["response"]; + }; + listPullRequestsAssociatedWithCommit: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"]["response"]; + }; + listReleaseAssets: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/assets"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/assets"]["response"]; + }; + listReleases: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/releases"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/releases"]["response"]; + }; + listTagProtection: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/tags/protection"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/tags/protection"]["response"]; + }; + listTags: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/tags"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/tags"]["response"]; + }; + listTeams: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/teams"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/teams"]["response"]; + }; + listWebhookDeliveries: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"]["response"]; + }; + listWebhooks: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/hooks"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/hooks"]["response"]; + }; + merge: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/merges"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/merges"]["response"]; + }; + mergeUpstream: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/merge-upstream"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/merge-upstream"]["response"]; + }; + pingWebhook: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"]["response"]; + }; + redeliverWebhookDelivery: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"]["response"]; + }; + removeAppAccessRestrictions: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["response"]; + }; + removeCollaborator: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/collaborators/{username}"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/collaborators/{username}"]["response"]; + }; + removeStatusCheckContexts: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["response"]; + }; + removeStatusCheckProtection: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["response"]; + }; + removeTeamAccessRestrictions: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["response"]; + }; + removeUserAccessRestrictions: { + parameters: RequestParameters & Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["parameters"]; + response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["response"]; + }; + renameBranch: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/rename"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/rename"]["response"]; + }; + replaceAllTopics: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/topics"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/topics"]["response"]; + }; + requestPagesBuild: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/pages/builds"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/pages/builds"]["response"]; + }; + setAdminBranchProtection: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"]["response"]; + }; + setAppAccessRestrictions: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["response"]; + }; + setStatusCheckContexts: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["response"]; + }; + setTeamAccessRestrictions: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["response"]; + }; + setUserAccessRestrictions: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["response"]; + }; + testPushWebhook: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"]["response"]; + }; + transfer: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/transfer"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/transfer"]["response"]; + }; + update: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}"]["response"]; + }; + updateBranchProtection: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection"]["response"]; + }; + updateCommitComment: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/comments/{comment_id}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/comments/{comment_id}"]["response"]; + }; + updateDeploymentBranchPolicy: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"]["response"]; + }; + updateInformationAboutPagesSite: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/pages"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/pages"]["response"]; + }; + updateInvitation: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"]["response"]; + }; + updateOrgRuleset: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/rulesets/{ruleset_id}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/rulesets/{ruleset_id}"]["response"]; + }; + updatePullRequestReviewProtection: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"]["response"]; + }; + updateRelease: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/releases/{release_id}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/releases/{release_id}"]["response"]; + }; + updateReleaseAsset: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"]["response"]; + }; + updateRepoRuleset: { + parameters: RequestParameters & Endpoints["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"]["parameters"]; + response: Endpoints["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"]["response"]; + }; + updateStatusCheckPotection: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["response"]; + }; + updateStatusCheckProtection: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["response"]; + }; + updateWebhook: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"]["response"]; + }; + updateWebhookConfigForRepo: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"]["response"]; + }; + uploadReleaseAsset: { + parameters: RequestParameters & Endpoints["POST {origin}/repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}"]["parameters"]; + response: Endpoints["POST {origin}/repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}"]["response"]; + }; + }; + search: { + code: { + parameters: RequestParameters & Endpoints["GET /search/code"]["parameters"]; + response: Endpoints["GET /search/code"]["response"]; + }; + commits: { + parameters: RequestParameters & Endpoints["GET /search/commits"]["parameters"]; + response: Endpoints["GET /search/commits"]["response"]; + }; + issuesAndPullRequests: { + parameters: RequestParameters & Endpoints["GET /search/issues"]["parameters"]; + response: Endpoints["GET /search/issues"]["response"]; + }; + labels: { + parameters: RequestParameters & Endpoints["GET /search/labels"]["parameters"]; + response: Endpoints["GET /search/labels"]["response"]; + }; + repos: { + parameters: RequestParameters & Endpoints["GET /search/repositories"]["parameters"]; + response: Endpoints["GET /search/repositories"]["response"]; + }; + topics: { + parameters: RequestParameters & Endpoints["GET /search/topics"]["parameters"]; + response: Endpoints["GET /search/topics"]["response"]; + }; + users: { + parameters: RequestParameters & Endpoints["GET /search/users"]["parameters"]; + response: Endpoints["GET /search/users"]["response"]; + }; + }; + secretScanning: { + getAlert: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"]["response"]; + }; + listAlertsForEnterprise: { + parameters: RequestParameters & Endpoints["GET /enterprises/{enterprise}/secret-scanning/alerts"]["parameters"]; + response: Endpoints["GET /enterprises/{enterprise}/secret-scanning/alerts"]["response"]; + }; + listAlertsForOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/secret-scanning/alerts"]["parameters"]; + response: Endpoints["GET /orgs/{org}/secret-scanning/alerts"]["response"]; + }; + listAlertsForRepo: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts"]["response"]; + }; + listLocationsForAlert: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"]["response"]; + }; + updateAlert: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"]["response"]; + }; + }; + securityAdvisories: { + createFork: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks"]["response"]; + }; + createPrivateVulnerabilityReport: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/security-advisories/reports"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/security-advisories/reports"]["response"]; + }; + createRepositoryAdvisory: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/security-advisories"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/security-advisories"]["response"]; + }; + createRepositoryAdvisoryCveRequest: { + parameters: RequestParameters & Endpoints["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"]["parameters"]; + response: Endpoints["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"]["response"]; + }; + getGlobalAdvisory: { + parameters: RequestParameters & Endpoints["GET /advisories/{ghsa_id}"]["parameters"]; + response: Endpoints["GET /advisories/{ghsa_id}"]["response"]; + }; + getRepositoryAdvisory: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"]["response"]; + }; + listGlobalAdvisories: { + parameters: RequestParameters & Endpoints["GET /advisories"]["parameters"]; + response: Endpoints["GET /advisories"]["response"]; + }; + listOrgRepositoryAdvisories: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/security-advisories"]["parameters"]; + response: Endpoints["GET /orgs/{org}/security-advisories"]["response"]; + }; + listRepositoryAdvisories: { + parameters: RequestParameters & Endpoints["GET /repos/{owner}/{repo}/security-advisories"]["parameters"]; + response: Endpoints["GET /repos/{owner}/{repo}/security-advisories"]["response"]; + }; + updateRepositoryAdvisory: { + parameters: RequestParameters & Endpoints["PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"]["parameters"]; + response: Endpoints["PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"]["response"]; + }; + }; + teams: { + addOrUpdateMembershipForUserInOrg: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"]["response"]; + }; + addOrUpdateProjectPermissionsInOrg: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"]["response"]; + }; + addOrUpdateRepoPermissionsInOrg: { + parameters: RequestParameters & Endpoints["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"]["parameters"]; + response: Endpoints["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"]["response"]; + }; + checkPermissionsForProjectInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"]["response"]; + }; + checkPermissionsForRepoInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"]["response"]; + }; + create: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/teams"]["parameters"]; + response: Endpoints["POST /orgs/{org}/teams"]["response"]; + }; + createDiscussionCommentInOrg: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"]["parameters"]; + response: Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"]["response"]; + }; + createDiscussionInOrg: { + parameters: RequestParameters & Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions"]["parameters"]; + response: Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions"]["response"]; + }; + deleteDiscussionCommentInOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"]["response"]; + }; + deleteDiscussionInOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"]["response"]; + }; + deleteInOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/teams/{team_slug}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}"]["response"]; + }; + getByName: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}"]["response"]; + }; + getDiscussionCommentInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"]["response"]; + }; + getDiscussionInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"]["response"]; + }; + getMembershipForUserInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"]["response"]; + }; + list: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams"]["response"]; + }; + listChildInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/teams"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/teams"]["response"]; + }; + listDiscussionCommentsInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"]["response"]; + }; + listDiscussionsInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions"]["response"]; + }; + listForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/teams"]["parameters"]; + response: Endpoints["GET /user/teams"]["response"]; + }; + listMembersInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/members"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/members"]["response"]; + }; + listPendingInvitationsInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/invitations"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/invitations"]["response"]; + }; + listProjectsInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/projects"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/projects"]["response"]; + }; + listReposInOrg: { + parameters: RequestParameters & Endpoints["GET /orgs/{org}/teams/{team_slug}/repos"]["parameters"]; + response: Endpoints["GET /orgs/{org}/teams/{team_slug}/repos"]["response"]; + }; + removeMembershipForUserInOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"]["response"]; + }; + removeProjectInOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"]["response"]; + }; + removeRepoInOrg: { + parameters: RequestParameters & Endpoints["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"]["parameters"]; + response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"]["response"]; + }; + updateDiscussionCommentInOrg: { + parameters: RequestParameters & Endpoints["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"]["parameters"]; + response: Endpoints["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"]["response"]; + }; + updateDiscussionInOrg: { + parameters: RequestParameters & Endpoints["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"]["parameters"]; + response: Endpoints["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"]["response"]; + }; + updateInOrg: { + parameters: RequestParameters & Endpoints["PATCH /orgs/{org}/teams/{team_slug}"]["parameters"]; + response: Endpoints["PATCH /orgs/{org}/teams/{team_slug}"]["response"]; + }; + }; + users: { + addEmailForAuthenticated: { + parameters: RequestParameters & Endpoints["POST /user/emails"]["parameters"]; + response: Endpoints["POST /user/emails"]["response"]; + }; + addEmailForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/emails"]["parameters"]; + response: Endpoints["POST /user/emails"]["response"]; + }; + addSocialAccountForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/social_accounts"]["parameters"]; + response: Endpoints["POST /user/social_accounts"]["response"]; + }; + block: { + parameters: RequestParameters & Endpoints["PUT /user/blocks/{username}"]["parameters"]; + response: Endpoints["PUT /user/blocks/{username}"]["response"]; + }; + checkBlocked: { + parameters: RequestParameters & Endpoints["GET /user/blocks/{username}"]["parameters"]; + response: Endpoints["GET /user/blocks/{username}"]["response"]; + }; + checkFollowingForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/following/{target_user}"]["parameters"]; + response: Endpoints["GET /users/{username}/following/{target_user}"]["response"]; + }; + checkPersonIsFollowedByAuthenticated: { + parameters: RequestParameters & Endpoints["GET /user/following/{username}"]["parameters"]; + response: Endpoints["GET /user/following/{username}"]["response"]; + }; + createGpgKeyForAuthenticated: { + parameters: RequestParameters & Endpoints["POST /user/gpg_keys"]["parameters"]; + response: Endpoints["POST /user/gpg_keys"]["response"]; + }; + createGpgKeyForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/gpg_keys"]["parameters"]; + response: Endpoints["POST /user/gpg_keys"]["response"]; + }; + createPublicSshKeyForAuthenticated: { + parameters: RequestParameters & Endpoints["POST /user/keys"]["parameters"]; + response: Endpoints["POST /user/keys"]["response"]; + }; + createPublicSshKeyForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/keys"]["parameters"]; + response: Endpoints["POST /user/keys"]["response"]; + }; + createSshSigningKeyForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["POST /user/ssh_signing_keys"]["parameters"]; + response: Endpoints["POST /user/ssh_signing_keys"]["response"]; + }; + deleteEmailForAuthenticated: { + parameters: RequestParameters & Endpoints["DELETE /user/emails"]["parameters"]; + response: Endpoints["DELETE /user/emails"]["response"]; + }; + deleteEmailForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/emails"]["parameters"]; + response: Endpoints["DELETE /user/emails"]["response"]; + }; + deleteGpgKeyForAuthenticated: { + parameters: RequestParameters & Endpoints["DELETE /user/gpg_keys/{gpg_key_id}"]["parameters"]; + response: Endpoints["DELETE /user/gpg_keys/{gpg_key_id}"]["response"]; + }; + deleteGpgKeyForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/gpg_keys/{gpg_key_id}"]["parameters"]; + response: Endpoints["DELETE /user/gpg_keys/{gpg_key_id}"]["response"]; + }; + deletePublicSshKeyForAuthenticated: { + parameters: RequestParameters & Endpoints["DELETE /user/keys/{key_id}"]["parameters"]; + response: Endpoints["DELETE /user/keys/{key_id}"]["response"]; + }; + deletePublicSshKeyForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/keys/{key_id}"]["parameters"]; + response: Endpoints["DELETE /user/keys/{key_id}"]["response"]; + }; + deleteSocialAccountForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/social_accounts"]["parameters"]; + response: Endpoints["DELETE /user/social_accounts"]["response"]; + }; + deleteSshSigningKeyForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"]["parameters"]; + response: Endpoints["DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"]["response"]; + }; + follow: { + parameters: RequestParameters & Endpoints["PUT /user/following/{username}"]["parameters"]; + response: Endpoints["PUT /user/following/{username}"]["response"]; + }; + getAuthenticated: { + parameters: RequestParameters & Endpoints["GET /user"]["parameters"]; + response: Endpoints["GET /user"]["response"]; + }; + getByUsername: { + parameters: RequestParameters & Endpoints["GET /users/{username}"]["parameters"]; + response: Endpoints["GET /users/{username}"]["response"]; + }; + getContextForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/hovercard"]["parameters"]; + response: Endpoints["GET /users/{username}/hovercard"]["response"]; + }; + getGpgKeyForAuthenticated: { + parameters: RequestParameters & Endpoints["GET /user/gpg_keys/{gpg_key_id}"]["parameters"]; + response: Endpoints["GET /user/gpg_keys/{gpg_key_id}"]["response"]; + }; + getGpgKeyForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/gpg_keys/{gpg_key_id}"]["parameters"]; + response: Endpoints["GET /user/gpg_keys/{gpg_key_id}"]["response"]; + }; + getPublicSshKeyForAuthenticated: { + parameters: RequestParameters & Endpoints["GET /user/keys/{key_id}"]["parameters"]; + response: Endpoints["GET /user/keys/{key_id}"]["response"]; + }; + getPublicSshKeyForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/keys/{key_id}"]["parameters"]; + response: Endpoints["GET /user/keys/{key_id}"]["response"]; + }; + getSshSigningKeyForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/ssh_signing_keys/{ssh_signing_key_id}"]["parameters"]; + response: Endpoints["GET /user/ssh_signing_keys/{ssh_signing_key_id}"]["response"]; + }; + list: { + parameters: RequestParameters & Endpoints["GET /users"]["parameters"]; + response: Endpoints["GET /users"]["response"]; + }; + listBlockedByAuthenticated: { + parameters: RequestParameters & Endpoints["GET /user/blocks"]["parameters"]; + response: Endpoints["GET /user/blocks"]["response"]; + }; + listBlockedByAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/blocks"]["parameters"]; + response: Endpoints["GET /user/blocks"]["response"]; + }; + listEmailsForAuthenticated: { + parameters: RequestParameters & Endpoints["GET /user/emails"]["parameters"]; + response: Endpoints["GET /user/emails"]["response"]; + }; + listEmailsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/emails"]["parameters"]; + response: Endpoints["GET /user/emails"]["response"]; + }; + listFollowedByAuthenticated: { + parameters: RequestParameters & Endpoints["GET /user/following"]["parameters"]; + response: Endpoints["GET /user/following"]["response"]; + }; + listFollowedByAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/following"]["parameters"]; + response: Endpoints["GET /user/following"]["response"]; + }; + listFollowersForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/followers"]["parameters"]; + response: Endpoints["GET /user/followers"]["response"]; + }; + listFollowersForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/followers"]["parameters"]; + response: Endpoints["GET /users/{username}/followers"]["response"]; + }; + listFollowingForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/following"]["parameters"]; + response: Endpoints["GET /users/{username}/following"]["response"]; + }; + listGpgKeysForAuthenticated: { + parameters: RequestParameters & Endpoints["GET /user/gpg_keys"]["parameters"]; + response: Endpoints["GET /user/gpg_keys"]["response"]; + }; + listGpgKeysForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/gpg_keys"]["parameters"]; + response: Endpoints["GET /user/gpg_keys"]["response"]; + }; + listGpgKeysForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/gpg_keys"]["parameters"]; + response: Endpoints["GET /users/{username}/gpg_keys"]["response"]; + }; + listPublicEmailsForAuthenticated: { + parameters: RequestParameters & Endpoints["GET /user/public_emails"]["parameters"]; + response: Endpoints["GET /user/public_emails"]["response"]; + }; + listPublicEmailsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/public_emails"]["parameters"]; + response: Endpoints["GET /user/public_emails"]["response"]; + }; + listPublicKeysForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/keys"]["parameters"]; + response: Endpoints["GET /users/{username}/keys"]["response"]; + }; + listPublicSshKeysForAuthenticated: { + parameters: RequestParameters & Endpoints["GET /user/keys"]["parameters"]; + response: Endpoints["GET /user/keys"]["response"]; + }; + listPublicSshKeysForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/keys"]["parameters"]; + response: Endpoints["GET /user/keys"]["response"]; + }; + listSocialAccountsForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/social_accounts"]["parameters"]; + response: Endpoints["GET /user/social_accounts"]["response"]; + }; + listSocialAccountsForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/social_accounts"]["parameters"]; + response: Endpoints["GET /users/{username}/social_accounts"]["response"]; + }; + listSshSigningKeysForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["GET /user/ssh_signing_keys"]["parameters"]; + response: Endpoints["GET /user/ssh_signing_keys"]["response"]; + }; + listSshSigningKeysForUser: { + parameters: RequestParameters & Endpoints["GET /users/{username}/ssh_signing_keys"]["parameters"]; + response: Endpoints["GET /users/{username}/ssh_signing_keys"]["response"]; + }; + setPrimaryEmailVisibilityForAuthenticated: { + parameters: RequestParameters & Endpoints["PATCH /user/email/visibility"]["parameters"]; + response: Endpoints["PATCH /user/email/visibility"]["response"]; + }; + setPrimaryEmailVisibilityForAuthenticatedUser: { + parameters: RequestParameters & Endpoints["PATCH /user/email/visibility"]["parameters"]; + response: Endpoints["PATCH /user/email/visibility"]["response"]; + }; + unblock: { + parameters: RequestParameters & Endpoints["DELETE /user/blocks/{username}"]["parameters"]; + response: Endpoints["DELETE /user/blocks/{username}"]["response"]; + }; + unfollow: { + parameters: RequestParameters & Endpoints["DELETE /user/following/{username}"]["parameters"]; + response: Endpoints["DELETE /user/following/{username}"]["response"]; + }; + updateAuthenticated: { + parameters: RequestParameters & Endpoints["PATCH /user"]["parameters"]; + response: Endpoints["PATCH /user"]["response"]; + }; + }; +}; diff --git a/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts new file mode 100644 index 00000000..f6d12730 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts @@ -0,0 +1,12 @@ +import type { Octokit } from "@octokit/core"; +export type { RestEndpointMethodTypes } from "./generated/parameters-and-response-types.js"; +import type { Api } from "./types.js"; +export type { Api }; +export declare function restEndpointMethods(octokit: Octokit): Api; +export declare namespace restEndpointMethods { + var VERSION: string; +} +export declare function legacyRestEndpointMethods(octokit: Octokit): Api["rest"] & Api; +export declare namespace legacyRestEndpointMethods { + var VERSION: string; +} diff --git a/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts new file mode 100644 index 00000000..5fbfe844 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts @@ -0,0 +1,18 @@ +import type { Route, RequestParameters } from "@octokit/types"; +import type { RestEndpointMethods } from "./generated/method-types.js"; +export type Api = { + rest: RestEndpointMethods; +}; +export type EndpointDecorations = { + mapToData?: string; + deprecated?: string; + renamed?: [string, string]; + renamedParameters?: { + [name: string]: string; + }; +}; +export type EndpointsDefaultsAndDecorations = { + [scope: string]: { + [methodName: string]: [Route, RequestParameters?, EndpointDecorations?]; + }; +}; diff --git a/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts new file mode 100644 index 00000000..84d5c2d7 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "13.2.2"; diff --git a/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js new file mode 100644 index 00000000..810ed915 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js @@ -0,0 +1,2087 @@ +// pkg/dist-src/version.js +var VERSION = "13.2.2"; + +// pkg/dist-src/generated/endpoints.js +var Endpoints = { + actions: { + addCustomLabelsToSelfHostedRunnerForOrg: [ + "POST /orgs/{org}/actions/runners/{runner_id}/labels" + ], + addCustomLabelsToSelfHostedRunnerForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + addSelectedRepoToOrgSecret: [ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}" + ], + addSelectedRepoToOrgVariable: [ + "PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}" + ], + approveWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve" + ], + cancelWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel" + ], + createEnvironmentVariable: [ + "POST /repos/{owner}/{repo}/environments/{environment_name}/variables" + ], + createOrUpdateEnvironmentSecret: [ + "PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}" + ], + createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"], + createOrUpdateRepoSecret: [ + "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}" + ], + createOrgVariable: ["POST /orgs/{org}/actions/variables"], + createRegistrationTokenForOrg: [ + "POST /orgs/{org}/actions/runners/registration-token" + ], + createRegistrationTokenForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/registration-token" + ], + createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"], + createRemoveTokenForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/remove-token" + ], + createRepoVariable: ["POST /repos/{owner}/{repo}/actions/variables"], + createWorkflowDispatch: [ + "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches" + ], + deleteActionsCacheById: [ + "DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}" + ], + deleteActionsCacheByKey: [ + "DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}" + ], + deleteArtifact: [ + "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}" + ], + deleteEnvironmentSecret: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}" + ], + deleteEnvironmentVariable: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}" + ], + deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"], + deleteOrgVariable: ["DELETE /orgs/{org}/actions/variables/{name}"], + deleteRepoSecret: [ + "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}" + ], + deleteRepoVariable: [ + "DELETE /repos/{owner}/{repo}/actions/variables/{name}" + ], + deleteSelfHostedRunnerFromOrg: [ + "DELETE /orgs/{org}/actions/runners/{runner_id}" + ], + deleteSelfHostedRunnerFromRepo: [ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}" + ], + deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"], + deleteWorkflowRunLogs: [ + "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs" + ], + disableSelectedRepositoryGithubActionsOrganization: [ + "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}" + ], + disableWorkflow: [ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable" + ], + downloadArtifact: [ + "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}" + ], + downloadJobLogsForWorkflowRun: [ + "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs" + ], + downloadWorkflowRunAttemptLogs: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs" + ], + downloadWorkflowRunLogs: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs" + ], + enableSelectedRepositoryGithubActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}" + ], + enableWorkflow: [ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable" + ], + forceCancelWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel" + ], + generateRunnerJitconfigForOrg: [ + "POST /orgs/{org}/actions/runners/generate-jitconfig" + ], + generateRunnerJitconfigForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig" + ], + getActionsCacheList: ["GET /repos/{owner}/{repo}/actions/caches"], + getActionsCacheUsage: ["GET /repos/{owner}/{repo}/actions/cache/usage"], + getActionsCacheUsageByRepoForOrg: [ + "GET /orgs/{org}/actions/cache/usage-by-repository" + ], + getActionsCacheUsageForOrg: ["GET /orgs/{org}/actions/cache/usage"], + getAllowedActionsOrganization: [ + "GET /orgs/{org}/actions/permissions/selected-actions" + ], + getAllowedActionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions/selected-actions" + ], + getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], + getCustomOidcSubClaimForRepo: [ + "GET /repos/{owner}/{repo}/actions/oidc/customization/sub" + ], + getEnvironmentPublicKey: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key" + ], + getEnvironmentSecret: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}" + ], + getEnvironmentVariable: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}" + ], + getGithubActionsDefaultWorkflowPermissionsOrganization: [ + "GET /orgs/{org}/actions/permissions/workflow" + ], + getGithubActionsDefaultWorkflowPermissionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions/workflow" + ], + getGithubActionsPermissionsOrganization: [ + "GET /orgs/{org}/actions/permissions" + ], + getGithubActionsPermissionsRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions" + ], + getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"], + getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"], + getOrgVariable: ["GET /orgs/{org}/actions/variables/{name}"], + getPendingDeploymentsForRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments" + ], + getRepoPermissions: [ + "GET /repos/{owner}/{repo}/actions/permissions", + {}, + { renamed: ["actions", "getGithubActionsPermissionsRepository"] } + ], + getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"], + getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"], + getRepoVariable: ["GET /repos/{owner}/{repo}/actions/variables/{name}"], + getReviewsForRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals" + ], + getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"], + getSelfHostedRunnerForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}" + ], + getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"], + getWorkflowAccessToRepository: [ + "GET /repos/{owner}/{repo}/actions/permissions/access" + ], + getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"], + getWorkflowRunAttempt: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}" + ], + getWorkflowRunUsage: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing" + ], + getWorkflowUsage: [ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing" + ], + listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], + listEnvironmentSecrets: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets" + ], + listEnvironmentVariables: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/variables" + ], + listJobsForWorkflowRun: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs" + ], + listJobsForWorkflowRunAttempt: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs" + ], + listLabelsForSelfHostedRunnerForOrg: [ + "GET /orgs/{org}/actions/runners/{runner_id}/labels" + ], + listLabelsForSelfHostedRunnerForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + listOrgSecrets: ["GET /orgs/{org}/actions/secrets"], + listOrgVariables: ["GET /orgs/{org}/actions/variables"], + listRepoOrganizationSecrets: [ + "GET /repos/{owner}/{repo}/actions/organization-secrets" + ], + listRepoOrganizationVariables: [ + "GET /repos/{owner}/{repo}/actions/organization-variables" + ], + listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"], + listRepoVariables: ["GET /repos/{owner}/{repo}/actions/variables"], + listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"], + listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"], + listRunnerApplicationsForRepo: [ + "GET /repos/{owner}/{repo}/actions/runners/downloads" + ], + listSelectedReposForOrgSecret: [ + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories" + ], + listSelectedReposForOrgVariable: [ + "GET /orgs/{org}/actions/variables/{name}/repositories" + ], + listSelectedRepositoriesEnabledGithubActionsOrganization: [ + "GET /orgs/{org}/actions/permissions/repositories" + ], + listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"], + listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"], + listWorkflowRunArtifacts: [ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts" + ], + listWorkflowRuns: [ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs" + ], + listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"], + reRunJobForWorkflowRun: [ + "POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun" + ], + reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"], + reRunWorkflowFailedJobs: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs" + ], + removeAllCustomLabelsFromSelfHostedRunnerForOrg: [ + "DELETE /orgs/{org}/actions/runners/{runner_id}/labels" + ], + removeAllCustomLabelsFromSelfHostedRunnerForRepo: [ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + removeCustomLabelFromSelfHostedRunnerForOrg: [ + "DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}" + ], + removeCustomLabelFromSelfHostedRunnerForRepo: [ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}" + ], + removeSelectedRepoFromOrgSecret: [ + "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}" + ], + removeSelectedRepoFromOrgVariable: [ + "DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}" + ], + reviewCustomGatesForRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule" + ], + reviewPendingDeploymentsForRun: [ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments" + ], + setAllowedActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/selected-actions" + ], + setAllowedActionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions" + ], + setCustomLabelsForSelfHostedRunnerForOrg: [ + "PUT /orgs/{org}/actions/runners/{runner_id}/labels" + ], + setCustomLabelsForSelfHostedRunnerForRepo: [ + "PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + setCustomOidcSubClaimForRepo: [ + "PUT /repos/{owner}/{repo}/actions/oidc/customization/sub" + ], + setGithubActionsDefaultWorkflowPermissionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/workflow" + ], + setGithubActionsDefaultWorkflowPermissionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions/workflow" + ], + setGithubActionsPermissionsOrganization: [ + "PUT /orgs/{org}/actions/permissions" + ], + setGithubActionsPermissionsRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions" + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories" + ], + setSelectedReposForOrgVariable: [ + "PUT /orgs/{org}/actions/variables/{name}/repositories" + ], + setSelectedRepositoriesEnabledGithubActionsOrganization: [ + "PUT /orgs/{org}/actions/permissions/repositories" + ], + setWorkflowAccessToRepository: [ + "PUT /repos/{owner}/{repo}/actions/permissions/access" + ], + updateEnvironmentVariable: [ + "PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}" + ], + updateOrgVariable: ["PATCH /orgs/{org}/actions/variables/{name}"], + updateRepoVariable: [ + "PATCH /repos/{owner}/{repo}/actions/variables/{name}" + ] + }, + activity: { + checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"], + deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"], + deleteThreadSubscription: [ + "DELETE /notifications/threads/{thread_id}/subscription" + ], + getFeeds: ["GET /feeds"], + getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"], + getThread: ["GET /notifications/threads/{thread_id}"], + getThreadSubscriptionForAuthenticatedUser: [ + "GET /notifications/threads/{thread_id}/subscription" + ], + listEventsForAuthenticatedUser: ["GET /users/{username}/events"], + listNotificationsForAuthenticatedUser: ["GET /notifications"], + listOrgEventsForAuthenticatedUser: [ + "GET /users/{username}/events/orgs/{org}" + ], + listPublicEvents: ["GET /events"], + listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"], + listPublicEventsForUser: ["GET /users/{username}/events/public"], + listPublicOrgEvents: ["GET /orgs/{org}/events"], + listReceivedEventsForUser: ["GET /users/{username}/received_events"], + listReceivedPublicEventsForUser: [ + "GET /users/{username}/received_events/public" + ], + listRepoEvents: ["GET /repos/{owner}/{repo}/events"], + listRepoNotificationsForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/notifications" + ], + listReposStarredByAuthenticatedUser: ["GET /user/starred"], + listReposStarredByUser: ["GET /users/{username}/starred"], + listReposWatchedByUser: ["GET /users/{username}/subscriptions"], + listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"], + listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"], + listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"], + markNotificationsAsRead: ["PUT /notifications"], + markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"], + markThreadAsDone: ["DELETE /notifications/threads/{thread_id}"], + markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"], + setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"], + setThreadSubscription: [ + "PUT /notifications/threads/{thread_id}/subscription" + ], + starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"], + unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"] + }, + apps: { + addRepoToInstallation: [ + "PUT /user/installations/{installation_id}/repositories/{repository_id}", + {}, + { renamed: ["apps", "addRepoToInstallationForAuthenticatedUser"] } + ], + addRepoToInstallationForAuthenticatedUser: [ + "PUT /user/installations/{installation_id}/repositories/{repository_id}" + ], + checkToken: ["POST /applications/{client_id}/token"], + createFromManifest: ["POST /app-manifests/{code}/conversions"], + createInstallationAccessToken: [ + "POST /app/installations/{installation_id}/access_tokens" + ], + deleteAuthorization: ["DELETE /applications/{client_id}/grant"], + deleteInstallation: ["DELETE /app/installations/{installation_id}"], + deleteToken: ["DELETE /applications/{client_id}/token"], + getAuthenticated: ["GET /app"], + getBySlug: ["GET /apps/{app_slug}"], + getInstallation: ["GET /app/installations/{installation_id}"], + getOrgInstallation: ["GET /orgs/{org}/installation"], + getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"], + getSubscriptionPlanForAccount: [ + "GET /marketplace_listing/accounts/{account_id}" + ], + getSubscriptionPlanForAccountStubbed: [ + "GET /marketplace_listing/stubbed/accounts/{account_id}" + ], + getUserInstallation: ["GET /users/{username}/installation"], + getWebhookConfigForApp: ["GET /app/hook/config"], + getWebhookDelivery: ["GET /app/hook/deliveries/{delivery_id}"], + listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"], + listAccountsForPlanStubbed: [ + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts" + ], + listInstallationReposForAuthenticatedUser: [ + "GET /user/installations/{installation_id}/repositories" + ], + listInstallationRequestsForAuthenticatedApp: [ + "GET /app/installation-requests" + ], + listInstallations: ["GET /app/installations"], + listInstallationsForAuthenticatedUser: ["GET /user/installations"], + listPlans: ["GET /marketplace_listing/plans"], + listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"], + listReposAccessibleToInstallation: ["GET /installation/repositories"], + listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"], + listSubscriptionsForAuthenticatedUserStubbed: [ + "GET /user/marketplace_purchases/stubbed" + ], + listWebhookDeliveries: ["GET /app/hook/deliveries"], + redeliverWebhookDelivery: [ + "POST /app/hook/deliveries/{delivery_id}/attempts" + ], + removeRepoFromInstallation: [ + "DELETE /user/installations/{installation_id}/repositories/{repository_id}", + {}, + { renamed: ["apps", "removeRepoFromInstallationForAuthenticatedUser"] } + ], + removeRepoFromInstallationForAuthenticatedUser: [ + "DELETE /user/installations/{installation_id}/repositories/{repository_id}" + ], + resetToken: ["PATCH /applications/{client_id}/token"], + revokeInstallationAccessToken: ["DELETE /installation/token"], + scopeToken: ["POST /applications/{client_id}/token/scoped"], + suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"], + unsuspendInstallation: [ + "DELETE /app/installations/{installation_id}/suspended" + ], + updateWebhookConfigForApp: ["PATCH /app/hook/config"] + }, + billing: { + getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"], + getGithubActionsBillingUser: [ + "GET /users/{username}/settings/billing/actions" + ], + getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"], + getGithubPackagesBillingUser: [ + "GET /users/{username}/settings/billing/packages" + ], + getSharedStorageBillingOrg: [ + "GET /orgs/{org}/settings/billing/shared-storage" + ], + getSharedStorageBillingUser: [ + "GET /users/{username}/settings/billing/shared-storage" + ] + }, + checks: { + create: ["POST /repos/{owner}/{repo}/check-runs"], + createSuite: ["POST /repos/{owner}/{repo}/check-suites"], + get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"], + getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"], + listAnnotations: [ + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations" + ], + listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"], + listForSuite: [ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs" + ], + listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"], + rerequestRun: [ + "POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest" + ], + rerequestSuite: [ + "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest" + ], + setSuitesPreferences: [ + "PATCH /repos/{owner}/{repo}/check-suites/preferences" + ], + update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"] + }, + codeScanning: { + deleteAnalysis: [ + "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}" + ], + getAlert: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", + {}, + { renamedParameters: { alert_id: "alert_number" } } + ], + getAnalysis: [ + "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}" + ], + getCodeqlDatabase: [ + "GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}" + ], + getDefaultSetup: ["GET /repos/{owner}/{repo}/code-scanning/default-setup"], + getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"], + listAlertInstances: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances" + ], + listAlertsForOrg: ["GET /orgs/{org}/code-scanning/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"], + listAlertsInstances: [ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + {}, + { renamed: ["codeScanning", "listAlertInstances"] } + ], + listCodeqlDatabases: [ + "GET /repos/{owner}/{repo}/code-scanning/codeql/databases" + ], + listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}" + ], + updateDefaultSetup: [ + "PATCH /repos/{owner}/{repo}/code-scanning/default-setup" + ], + uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"] + }, + codesOfConduct: { + getAllCodesOfConduct: ["GET /codes_of_conduct"], + getConductCode: ["GET /codes_of_conduct/{key}"] + }, + codespaces: { + addRepositoryForSecretForAuthenticatedUser: [ + "PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + addSelectedRepoToOrgSecret: [ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + checkPermissionsForDevcontainer: [ + "GET /repos/{owner}/{repo}/codespaces/permissions_check" + ], + codespaceMachinesForAuthenticatedUser: [ + "GET /user/codespaces/{codespace_name}/machines" + ], + createForAuthenticatedUser: ["POST /user/codespaces"], + createOrUpdateOrgSecret: [ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}" + ], + createOrUpdateRepoSecret: [ + "PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" + ], + createOrUpdateSecretForAuthenticatedUser: [ + "PUT /user/codespaces/secrets/{secret_name}" + ], + createWithPrForAuthenticatedUser: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces" + ], + createWithRepoForAuthenticatedUser: [ + "POST /repos/{owner}/{repo}/codespaces" + ], + deleteForAuthenticatedUser: ["DELETE /user/codespaces/{codespace_name}"], + deleteFromOrganization: [ + "DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}" + ], + deleteOrgSecret: ["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"], + deleteRepoSecret: [ + "DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" + ], + deleteSecretForAuthenticatedUser: [ + "DELETE /user/codespaces/secrets/{secret_name}" + ], + exportForAuthenticatedUser: [ + "POST /user/codespaces/{codespace_name}/exports" + ], + getCodespacesForUserInOrg: [ + "GET /orgs/{org}/members/{username}/codespaces" + ], + getExportDetailsForAuthenticatedUser: [ + "GET /user/codespaces/{codespace_name}/exports/{export_id}" + ], + getForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}"], + getOrgPublicKey: ["GET /orgs/{org}/codespaces/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/codespaces/secrets/{secret_name}"], + getPublicKeyForAuthenticatedUser: [ + "GET /user/codespaces/secrets/public-key" + ], + getRepoPublicKey: [ + "GET /repos/{owner}/{repo}/codespaces/secrets/public-key" + ], + getRepoSecret: [ + "GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" + ], + getSecretForAuthenticatedUser: [ + "GET /user/codespaces/secrets/{secret_name}" + ], + listDevcontainersInRepositoryForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces/devcontainers" + ], + listForAuthenticatedUser: ["GET /user/codespaces"], + listInOrganization: [ + "GET /orgs/{org}/codespaces", + {}, + { renamedParameters: { org_id: "org" } } + ], + listInRepositoryForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces" + ], + listOrgSecrets: ["GET /orgs/{org}/codespaces/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/codespaces/secrets"], + listRepositoriesForSecretForAuthenticatedUser: [ + "GET /user/codespaces/secrets/{secret_name}/repositories" + ], + listSecretsForAuthenticatedUser: ["GET /user/codespaces/secrets"], + listSelectedReposForOrgSecret: [ + "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories" + ], + preFlightWithRepoForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces/new" + ], + publishForAuthenticatedUser: [ + "POST /user/codespaces/{codespace_name}/publish" + ], + removeRepositoryForSecretForAuthenticatedUser: [ + "DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + removeSelectedRepoFromOrgSecret: [ + "DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}" + ], + repoMachinesForAuthenticatedUser: [ + "GET /repos/{owner}/{repo}/codespaces/machines" + ], + setRepositoriesForSecretForAuthenticatedUser: [ + "PUT /user/codespaces/secrets/{secret_name}/repositories" + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories" + ], + startForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/start"], + stopForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/stop"], + stopInOrganization: [ + "POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop" + ], + updateForAuthenticatedUser: ["PATCH /user/codespaces/{codespace_name}"] + }, + copilot: { + addCopilotSeatsForTeams: [ + "POST /orgs/{org}/copilot/billing/selected_teams" + ], + addCopilotSeatsForUsers: [ + "POST /orgs/{org}/copilot/billing/selected_users" + ], + cancelCopilotSeatAssignmentForTeams: [ + "DELETE /orgs/{org}/copilot/billing/selected_teams" + ], + cancelCopilotSeatAssignmentForUsers: [ + "DELETE /orgs/{org}/copilot/billing/selected_users" + ], + getCopilotOrganizationDetails: ["GET /orgs/{org}/copilot/billing"], + getCopilotSeatDetailsForUser: [ + "GET /orgs/{org}/members/{username}/copilot" + ], + listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"], + usageMetricsForEnterprise: ["GET /enterprises/{enterprise}/copilot/usage"], + usageMetricsForOrg: ["GET /orgs/{org}/copilot/usage"], + usageMetricsForTeam: ["GET /orgs/{org}/team/{team_slug}/copilot/usage"] + }, + dependabot: { + addSelectedRepoToOrgSecret: [ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}" + ], + createOrUpdateOrgSecret: [ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}" + ], + createOrUpdateRepoSecret: [ + "PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" + ], + deleteOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"], + deleteRepoSecret: [ + "DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" + ], + getAlert: ["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"], + getOrgPublicKey: ["GET /orgs/{org}/dependabot/secrets/public-key"], + getOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}"], + getRepoPublicKey: [ + "GET /repos/{owner}/{repo}/dependabot/secrets/public-key" + ], + getRepoSecret: [ + "GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" + ], + listAlertsForEnterprise: [ + "GET /enterprises/{enterprise}/dependabot/alerts" + ], + listAlertsForOrg: ["GET /orgs/{org}/dependabot/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/dependabot/alerts"], + listOrgSecrets: ["GET /orgs/{org}/dependabot/secrets"], + listRepoSecrets: ["GET /repos/{owner}/{repo}/dependabot/secrets"], + listSelectedReposForOrgSecret: [ + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories" + ], + removeSelectedRepoFromOrgSecret: [ + "DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}" + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories" + ], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}" + ] + }, + dependencyGraph: { + createRepositorySnapshot: [ + "POST /repos/{owner}/{repo}/dependency-graph/snapshots" + ], + diffRange: [ + "GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}" + ], + exportSbom: ["GET /repos/{owner}/{repo}/dependency-graph/sbom"] + }, + emojis: { get: ["GET /emojis"] }, + gists: { + checkIsStarred: ["GET /gists/{gist_id}/star"], + create: ["POST /gists"], + createComment: ["POST /gists/{gist_id}/comments"], + delete: ["DELETE /gists/{gist_id}"], + deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"], + fork: ["POST /gists/{gist_id}/forks"], + get: ["GET /gists/{gist_id}"], + getComment: ["GET /gists/{gist_id}/comments/{comment_id}"], + getRevision: ["GET /gists/{gist_id}/{sha}"], + list: ["GET /gists"], + listComments: ["GET /gists/{gist_id}/comments"], + listCommits: ["GET /gists/{gist_id}/commits"], + listForUser: ["GET /users/{username}/gists"], + listForks: ["GET /gists/{gist_id}/forks"], + listPublic: ["GET /gists/public"], + listStarred: ["GET /gists/starred"], + star: ["PUT /gists/{gist_id}/star"], + unstar: ["DELETE /gists/{gist_id}/star"], + update: ["PATCH /gists/{gist_id}"], + updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"] + }, + git: { + createBlob: ["POST /repos/{owner}/{repo}/git/blobs"], + createCommit: ["POST /repos/{owner}/{repo}/git/commits"], + createRef: ["POST /repos/{owner}/{repo}/git/refs"], + createTag: ["POST /repos/{owner}/{repo}/git/tags"], + createTree: ["POST /repos/{owner}/{repo}/git/trees"], + deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"], + getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"], + getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"], + getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"], + getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"], + getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"], + listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"], + updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"] + }, + gitignore: { + getAllTemplates: ["GET /gitignore/templates"], + getTemplate: ["GET /gitignore/templates/{name}"] + }, + interactions: { + getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"], + getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"], + getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"], + getRestrictionsForYourPublicRepos: [ + "GET /user/interaction-limits", + {}, + { renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] } + ], + removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"], + removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"], + removeRestrictionsForRepo: [ + "DELETE /repos/{owner}/{repo}/interaction-limits" + ], + removeRestrictionsForYourPublicRepos: [ + "DELETE /user/interaction-limits", + {}, + { renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] } + ], + setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"], + setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"], + setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"], + setRestrictionsForYourPublicRepos: [ + "PUT /user/interaction-limits", + {}, + { renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] } + ] + }, + issues: { + addAssignees: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/assignees" + ], + addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], + checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"], + checkUserCanBeAssignedToIssue: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}" + ], + create: ["POST /repos/{owner}/{repo}/issues"], + createComment: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/comments" + ], + createLabel: ["POST /repos/{owner}/{repo}/labels"], + createMilestone: ["POST /repos/{owner}/{repo}/milestones"], + deleteComment: [ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}" + ], + deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"], + deleteMilestone: [ + "DELETE /repos/{owner}/{repo}/milestones/{milestone_number}" + ], + get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"], + getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"], + getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"], + getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"], + getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"], + list: ["GET /issues"], + listAssignees: ["GET /repos/{owner}/{repo}/assignees"], + listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"], + listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"], + listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"], + listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"], + listEventsForTimeline: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline" + ], + listForAuthenticatedUser: ["GET /user/issues"], + listForOrg: ["GET /orgs/{org}/issues"], + listForRepo: ["GET /repos/{owner}/{repo}/issues"], + listLabelsForMilestone: [ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels" + ], + listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"], + listLabelsOnIssue: [ + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels" + ], + listMilestones: ["GET /repos/{owner}/{repo}/milestones"], + lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"], + removeAllLabels: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels" + ], + removeAssignees: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees" + ], + removeLabel: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}" + ], + setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"], + unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"], + update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"], + updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"], + updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"], + updateMilestone: [ + "PATCH /repos/{owner}/{repo}/milestones/{milestone_number}" + ] + }, + licenses: { + get: ["GET /licenses/{license}"], + getAllCommonlyUsed: ["GET /licenses"], + getForRepo: ["GET /repos/{owner}/{repo}/license"] + }, + markdown: { + render: ["POST /markdown"], + renderRaw: [ + "POST /markdown/raw", + { headers: { "content-type": "text/plain; charset=utf-8" } } + ] + }, + meta: { + get: ["GET /meta"], + getAllVersions: ["GET /versions"], + getOctocat: ["GET /octocat"], + getZen: ["GET /zen"], + root: ["GET /"] + }, + migrations: { + deleteArchiveForAuthenticatedUser: [ + "DELETE /user/migrations/{migration_id}/archive" + ], + deleteArchiveForOrg: [ + "DELETE /orgs/{org}/migrations/{migration_id}/archive" + ], + downloadArchiveForOrg: [ + "GET /orgs/{org}/migrations/{migration_id}/archive" + ], + getArchiveForAuthenticatedUser: [ + "GET /user/migrations/{migration_id}/archive" + ], + getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}"], + getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}"], + listForAuthenticatedUser: ["GET /user/migrations"], + listForOrg: ["GET /orgs/{org}/migrations"], + listReposForAuthenticatedUser: [ + "GET /user/migrations/{migration_id}/repositories" + ], + listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories"], + listReposForUser: [ + "GET /user/migrations/{migration_id}/repositories", + {}, + { renamed: ["migrations", "listReposForAuthenticatedUser"] } + ], + startForAuthenticatedUser: ["POST /user/migrations"], + startForOrg: ["POST /orgs/{org}/migrations"], + unlockRepoForAuthenticatedUser: [ + "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock" + ], + unlockRepoForOrg: [ + "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock" + ] + }, + oidc: { + getOidcCustomSubTemplateForOrg: [ + "GET /orgs/{org}/actions/oidc/customization/sub" + ], + updateOidcCustomSubTemplateForOrg: [ + "PUT /orgs/{org}/actions/oidc/customization/sub" + ] + }, + orgs: { + addSecurityManagerTeam: [ + "PUT /orgs/{org}/security-managers/teams/{team_slug}" + ], + assignTeamToOrgRole: [ + "PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}" + ], + assignUserToOrgRole: [ + "PUT /orgs/{org}/organization-roles/users/{username}/{role_id}" + ], + blockUser: ["PUT /orgs/{org}/blocks/{username}"], + cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"], + checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"], + checkMembershipForUser: ["GET /orgs/{org}/members/{username}"], + checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"], + convertMemberToOutsideCollaborator: [ + "PUT /orgs/{org}/outside_collaborators/{username}" + ], + createCustomOrganizationRole: ["POST /orgs/{org}/organization-roles"], + createInvitation: ["POST /orgs/{org}/invitations"], + createOrUpdateCustomProperties: ["PATCH /orgs/{org}/properties/schema"], + createOrUpdateCustomPropertiesValuesForRepos: [ + "PATCH /orgs/{org}/properties/values" + ], + createOrUpdateCustomProperty: [ + "PUT /orgs/{org}/properties/schema/{custom_property_name}" + ], + createWebhook: ["POST /orgs/{org}/hooks"], + delete: ["DELETE /orgs/{org}"], + deleteCustomOrganizationRole: [ + "DELETE /orgs/{org}/organization-roles/{role_id}" + ], + deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], + enableOrDisableSecurityProductOnAllOrgRepos: [ + "POST /orgs/{org}/{security_product}/{enablement}" + ], + get: ["GET /orgs/{org}"], + getAllCustomProperties: ["GET /orgs/{org}/properties/schema"], + getCustomProperty: [ + "GET /orgs/{org}/properties/schema/{custom_property_name}" + ], + getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], + getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], + getOrgRole: ["GET /orgs/{org}/organization-roles/{role_id}"], + getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"], + getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"], + getWebhookDelivery: [ + "GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}" + ], + list: ["GET /organizations"], + listAppInstallations: ["GET /orgs/{org}/installations"], + listBlockedUsers: ["GET /orgs/{org}/blocks"], + listCustomPropertiesValuesForRepos: ["GET /orgs/{org}/properties/values"], + listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], + listForAuthenticatedUser: ["GET /user/orgs"], + listForUser: ["GET /users/{username}/orgs"], + listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], + listMembers: ["GET /orgs/{org}/members"], + listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], + listOrgRoleTeams: ["GET /orgs/{org}/organization-roles/{role_id}/teams"], + listOrgRoleUsers: ["GET /orgs/{org}/organization-roles/{role_id}/users"], + listOrgRoles: ["GET /orgs/{org}/organization-roles"], + listOrganizationFineGrainedPermissions: [ + "GET /orgs/{org}/organization-fine-grained-permissions" + ], + listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"], + listPatGrantRepositories: [ + "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories" + ], + listPatGrantRequestRepositories: [ + "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories" + ], + listPatGrantRequests: ["GET /orgs/{org}/personal-access-token-requests"], + listPatGrants: ["GET /orgs/{org}/personal-access-tokens"], + listPendingInvitations: ["GET /orgs/{org}/invitations"], + listPublicMembers: ["GET /orgs/{org}/public_members"], + listSecurityManagerTeams: ["GET /orgs/{org}/security-managers"], + listWebhookDeliveries: ["GET /orgs/{org}/hooks/{hook_id}/deliveries"], + listWebhooks: ["GET /orgs/{org}/hooks"], + patchCustomOrganizationRole: [ + "PATCH /orgs/{org}/organization-roles/{role_id}" + ], + pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: [ + "POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts" + ], + removeCustomProperty: [ + "DELETE /orgs/{org}/properties/schema/{custom_property_name}" + ], + removeMember: ["DELETE /orgs/{org}/members/{username}"], + removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"], + removeOutsideCollaborator: [ + "DELETE /orgs/{org}/outside_collaborators/{username}" + ], + removePublicMembershipForAuthenticatedUser: [ + "DELETE /orgs/{org}/public_members/{username}" + ], + removeSecurityManagerTeam: [ + "DELETE /orgs/{org}/security-managers/teams/{team_slug}" + ], + reviewPatGrantRequest: [ + "POST /orgs/{org}/personal-access-token-requests/{pat_request_id}" + ], + reviewPatGrantRequestsInBulk: [ + "POST /orgs/{org}/personal-access-token-requests" + ], + revokeAllOrgRolesTeam: [ + "DELETE /orgs/{org}/organization-roles/teams/{team_slug}" + ], + revokeAllOrgRolesUser: [ + "DELETE /orgs/{org}/organization-roles/users/{username}" + ], + revokeOrgRoleTeam: [ + "DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}" + ], + revokeOrgRoleUser: [ + "DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}" + ], + setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], + setPublicMembershipForAuthenticatedUser: [ + "PUT /orgs/{org}/public_members/{username}" + ], + unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], + update: ["PATCH /orgs/{org}"], + updateMembershipForAuthenticatedUser: [ + "PATCH /user/memberships/orgs/{org}" + ], + updatePatAccess: ["POST /orgs/{org}/personal-access-tokens/{pat_id}"], + updatePatAccesses: ["POST /orgs/{org}/personal-access-tokens"], + updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"], + updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"] + }, + packages: { + deletePackageForAuthenticatedUser: [ + "DELETE /user/packages/{package_type}/{package_name}" + ], + deletePackageForOrg: [ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}" + ], + deletePackageForUser: [ + "DELETE /users/{username}/packages/{package_type}/{package_name}" + ], + deletePackageVersionForAuthenticatedUser: [ + "DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + deletePackageVersionForOrg: [ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + deletePackageVersionForUser: [ + "DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + getAllPackageVersionsForAPackageOwnedByAnOrg: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + {}, + { renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] } + ], + getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions", + {}, + { + renamed: [ + "packages", + "getAllPackageVersionsForPackageOwnedByAuthenticatedUser" + ] + } + ], + getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions" + ], + getAllPackageVersionsForPackageOwnedByOrg: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions" + ], + getAllPackageVersionsForPackageOwnedByUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}/versions" + ], + getPackageForAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}" + ], + getPackageForOrganization: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}" + ], + getPackageForUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}" + ], + getPackageVersionForAuthenticatedUser: [ + "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + getPackageVersionForOrganization: [ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + getPackageVersionForUser: [ + "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}" + ], + listDockerMigrationConflictingPackagesForAuthenticatedUser: [ + "GET /user/docker/conflicts" + ], + listDockerMigrationConflictingPackagesForOrganization: [ + "GET /orgs/{org}/docker/conflicts" + ], + listDockerMigrationConflictingPackagesForUser: [ + "GET /users/{username}/docker/conflicts" + ], + listPackagesForAuthenticatedUser: ["GET /user/packages"], + listPackagesForOrganization: ["GET /orgs/{org}/packages"], + listPackagesForUser: ["GET /users/{username}/packages"], + restorePackageForAuthenticatedUser: [ + "POST /user/packages/{package_type}/{package_name}/restore{?token}" + ], + restorePackageForOrg: [ + "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}" + ], + restorePackageForUser: [ + "POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}" + ], + restorePackageVersionForAuthenticatedUser: [ + "POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore" + ], + restorePackageVersionForOrg: [ + "POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore" + ], + restorePackageVersionForUser: [ + "POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore" + ] + }, + projects: { + addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}"], + createCard: ["POST /projects/columns/{column_id}/cards"], + createColumn: ["POST /projects/{project_id}/columns"], + createForAuthenticatedUser: ["POST /user/projects"], + createForOrg: ["POST /orgs/{org}/projects"], + createForRepo: ["POST /repos/{owner}/{repo}/projects"], + delete: ["DELETE /projects/{project_id}"], + deleteCard: ["DELETE /projects/columns/cards/{card_id}"], + deleteColumn: ["DELETE /projects/columns/{column_id}"], + get: ["GET /projects/{project_id}"], + getCard: ["GET /projects/columns/cards/{card_id}"], + getColumn: ["GET /projects/columns/{column_id}"], + getPermissionForUser: [ + "GET /projects/{project_id}/collaborators/{username}/permission" + ], + listCards: ["GET /projects/columns/{column_id}/cards"], + listCollaborators: ["GET /projects/{project_id}/collaborators"], + listColumns: ["GET /projects/{project_id}/columns"], + listForOrg: ["GET /orgs/{org}/projects"], + listForRepo: ["GET /repos/{owner}/{repo}/projects"], + listForUser: ["GET /users/{username}/projects"], + moveCard: ["POST /projects/columns/cards/{card_id}/moves"], + moveColumn: ["POST /projects/columns/{column_id}/moves"], + removeCollaborator: [ + "DELETE /projects/{project_id}/collaborators/{username}" + ], + update: ["PATCH /projects/{project_id}"], + updateCard: ["PATCH /projects/columns/cards/{card_id}"], + updateColumn: ["PATCH /projects/columns/{column_id}"] + }, + pulls: { + checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + create: ["POST /repos/{owner}/{repo}/pulls"], + createReplyForReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies" + ], + createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + createReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments" + ], + deletePendingReview: [ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" + ], + deleteReviewComment: [ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}" + ], + dismissReview: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals" + ], + get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"], + getReview: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" + ], + getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"], + list: ["GET /repos/{owner}/{repo}/pulls"], + listCommentsForReview: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments" + ], + listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"], + listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"], + listRequestedReviewers: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" + ], + listReviewComments: [ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments" + ], + listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"], + listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], + merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"], + removeRequestedReviewers: [ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" + ], + requestReviewers: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" + ], + submitReview: [ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events" + ], + update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"], + updateBranch: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch" + ], + updateReview: [ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" + ], + updateReviewComment: [ + "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}" + ] + }, + rateLimit: { get: ["GET /rate_limit"] }, + reactions: { + createForCommitComment: [ + "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions" + ], + createForIssue: [ + "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions" + ], + createForIssueComment: [ + "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions" + ], + createForPullRequestReviewComment: [ + "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions" + ], + createForRelease: [ + "POST /repos/{owner}/{repo}/releases/{release_id}/reactions" + ], + createForTeamDiscussionCommentInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions" + ], + createForTeamDiscussionInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions" + ], + deleteForCommitComment: [ + "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}" + ], + deleteForIssue: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}" + ], + deleteForIssueComment: [ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}" + ], + deleteForPullRequestComment: [ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}" + ], + deleteForRelease: [ + "DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}" + ], + deleteForTeamDiscussion: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}" + ], + deleteForTeamDiscussionComment: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}" + ], + listForCommitComment: [ + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions" + ], + listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"], + listForIssueComment: [ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions" + ], + listForPullRequestReviewComment: [ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions" + ], + listForRelease: [ + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions" + ], + listForTeamDiscussionCommentInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions" + ], + listForTeamDiscussionInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions" + ] + }, + repos: { + acceptInvitation: [ + "PATCH /user/repository_invitations/{invitation_id}", + {}, + { renamed: ["repos", "acceptInvitationForAuthenticatedUser"] } + ], + acceptInvitationForAuthenticatedUser: [ + "PATCH /user/repository_invitations/{invitation_id}" + ], + addAppAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" } + ], + addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"], + addStatusCheckContexts: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" } + ], + addTeamAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" } + ], + addUserAccessRestrictions: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" } + ], + cancelPagesDeployment: [ + "POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel" + ], + checkAutomatedSecurityFixes: [ + "GET /repos/{owner}/{repo}/automated-security-fixes" + ], + checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], + checkPrivateVulnerabilityReporting: [ + "GET /repos/{owner}/{repo}/private-vulnerability-reporting" + ], + checkVulnerabilityAlerts: [ + "GET /repos/{owner}/{repo}/vulnerability-alerts" + ], + codeownersErrors: ["GET /repos/{owner}/{repo}/codeowners/errors"], + compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"], + compareCommitsWithBasehead: [ + "GET /repos/{owner}/{repo}/compare/{basehead}" + ], + createAutolink: ["POST /repos/{owner}/{repo}/autolinks"], + createCommitComment: [ + "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments" + ], + createCommitSignatureProtection: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" + ], + createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"], + createDeployKey: ["POST /repos/{owner}/{repo}/keys"], + createDeployment: ["POST /repos/{owner}/{repo}/deployments"], + createDeploymentBranchPolicy: [ + "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies" + ], + createDeploymentProtectionRule: [ + "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules" + ], + createDeploymentStatus: [ + "POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses" + ], + createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"], + createForAuthenticatedUser: ["POST /user/repos"], + createFork: ["POST /repos/{owner}/{repo}/forks"], + createInOrg: ["POST /orgs/{org}/repos"], + createOrUpdateCustomPropertiesValues: [ + "PATCH /repos/{owner}/{repo}/properties/values" + ], + createOrUpdateEnvironment: [ + "PUT /repos/{owner}/{repo}/environments/{environment_name}" + ], + createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"], + createOrgRuleset: ["POST /orgs/{org}/rulesets"], + createPagesDeployment: ["POST /repos/{owner}/{repo}/pages/deployments"], + createPagesSite: ["POST /repos/{owner}/{repo}/pages"], + createRelease: ["POST /repos/{owner}/{repo}/releases"], + createRepoRuleset: ["POST /repos/{owner}/{repo}/rulesets"], + createTagProtection: ["POST /repos/{owner}/{repo}/tags/protection"], + createUsingTemplate: [ + "POST /repos/{template_owner}/{template_repo}/generate" + ], + createWebhook: ["POST /repos/{owner}/{repo}/hooks"], + declineInvitation: [ + "DELETE /user/repository_invitations/{invitation_id}", + {}, + { renamed: ["repos", "declineInvitationForAuthenticatedUser"] } + ], + declineInvitationForAuthenticatedUser: [ + "DELETE /user/repository_invitations/{invitation_id}" + ], + delete: ["DELETE /repos/{owner}/{repo}"], + deleteAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions" + ], + deleteAdminBranchProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" + ], + deleteAnEnvironment: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}" + ], + deleteAutolink: ["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"], + deleteBranchProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection" + ], + deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"], + deleteCommitSignatureProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" + ], + deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"], + deleteDeployment: [ + "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}" + ], + deleteDeploymentBranchPolicy: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" + ], + deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"], + deleteInvitation: [ + "DELETE /repos/{owner}/{repo}/invitations/{invitation_id}" + ], + deleteOrgRuleset: ["DELETE /orgs/{org}/rulesets/{ruleset_id}"], + deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages"], + deletePullRequestReviewProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" + ], + deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"], + deleteReleaseAsset: [ + "DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}" + ], + deleteRepoRuleset: ["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + deleteTagProtection: [ + "DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}" + ], + deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"], + disableAutomatedSecurityFixes: [ + "DELETE /repos/{owner}/{repo}/automated-security-fixes" + ], + disableDeploymentProtectionRule: [ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}" + ], + disablePrivateVulnerabilityReporting: [ + "DELETE /repos/{owner}/{repo}/private-vulnerability-reporting" + ], + disableVulnerabilityAlerts: [ + "DELETE /repos/{owner}/{repo}/vulnerability-alerts" + ], + downloadArchive: [ + "GET /repos/{owner}/{repo}/zipball/{ref}", + {}, + { renamed: ["repos", "downloadZipballArchive"] } + ], + downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"], + downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"], + enableAutomatedSecurityFixes: [ + "PUT /repos/{owner}/{repo}/automated-security-fixes" + ], + enablePrivateVulnerabilityReporting: [ + "PUT /repos/{owner}/{repo}/private-vulnerability-reporting" + ], + enableVulnerabilityAlerts: [ + "PUT /repos/{owner}/{repo}/vulnerability-alerts" + ], + generateReleaseNotes: [ + "POST /repos/{owner}/{repo}/releases/generate-notes" + ], + get: ["GET /repos/{owner}/{repo}"], + getAccessRestrictions: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions" + ], + getAdminBranchProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" + ], + getAllDeploymentProtectionRules: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules" + ], + getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"], + getAllStatusCheckContexts: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts" + ], + getAllTopics: ["GET /repos/{owner}/{repo}/topics"], + getAppsWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps" + ], + getAutolink: ["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"], + getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"], + getBranchProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection" + ], + getBranchRules: ["GET /repos/{owner}/{repo}/rules/branches/{branch}"], + getClones: ["GET /repos/{owner}/{repo}/traffic/clones"], + getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"], + getCollaboratorPermissionLevel: [ + "GET /repos/{owner}/{repo}/collaborators/{username}/permission" + ], + getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"], + getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"], + getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"], + getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"], + getCommitSignatureProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" + ], + getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"], + getContent: ["GET /repos/{owner}/{repo}/contents/{path}"], + getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"], + getCustomDeploymentProtectionRule: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}" + ], + getCustomPropertiesValues: ["GET /repos/{owner}/{repo}/properties/values"], + getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"], + getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"], + getDeploymentBranchPolicy: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" + ], + getDeploymentStatus: [ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}" + ], + getEnvironment: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}" + ], + getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"], + getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"], + getOrgRuleSuite: ["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"], + getOrgRuleSuites: ["GET /orgs/{org}/rulesets/rule-suites"], + getOrgRuleset: ["GET /orgs/{org}/rulesets/{ruleset_id}"], + getOrgRulesets: ["GET /orgs/{org}/rulesets"], + getPages: ["GET /repos/{owner}/{repo}/pages"], + getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"], + getPagesDeployment: [ + "GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}" + ], + getPagesHealthCheck: ["GET /repos/{owner}/{repo}/pages/health"], + getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"], + getPullRequestReviewProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" + ], + getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"], + getReadme: ["GET /repos/{owner}/{repo}/readme"], + getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"], + getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"], + getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"], + getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"], + getRepoRuleSuite: [ + "GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}" + ], + getRepoRuleSuites: ["GET /repos/{owner}/{repo}/rulesets/rule-suites"], + getRepoRuleset: ["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + getRepoRulesets: ["GET /repos/{owner}/{repo}/rulesets"], + getStatusChecksProtection: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" + ], + getTeamsWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams" + ], + getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"], + getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"], + getUsersWithAccessToProtectedBranch: [ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users" + ], + getViews: ["GET /repos/{owner}/{repo}/traffic/views"], + getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"], + getWebhookConfigForRepo: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/config" + ], + getWebhookDelivery: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}" + ], + listActivities: ["GET /repos/{owner}/{repo}/activity"], + listAutolinks: ["GET /repos/{owner}/{repo}/autolinks"], + listBranches: ["GET /repos/{owner}/{repo}/branches"], + listBranchesForHeadCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head" + ], + listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"], + listCommentsForCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments" + ], + listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"], + listCommitStatusesForRef: [ + "GET /repos/{owner}/{repo}/commits/{ref}/statuses" + ], + listCommits: ["GET /repos/{owner}/{repo}/commits"], + listContributors: ["GET /repos/{owner}/{repo}/contributors"], + listCustomDeploymentRuleIntegrations: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps" + ], + listDeployKeys: ["GET /repos/{owner}/{repo}/keys"], + listDeploymentBranchPolicies: [ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies" + ], + listDeploymentStatuses: [ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses" + ], + listDeployments: ["GET /repos/{owner}/{repo}/deployments"], + listForAuthenticatedUser: ["GET /user/repos"], + listForOrg: ["GET /orgs/{org}/repos"], + listForUser: ["GET /users/{username}/repos"], + listForks: ["GET /repos/{owner}/{repo}/forks"], + listInvitations: ["GET /repos/{owner}/{repo}/invitations"], + listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"], + listLanguages: ["GET /repos/{owner}/{repo}/languages"], + listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"], + listPublic: ["GET /repositories"], + listPullRequestsAssociatedWithCommit: [ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls" + ], + listReleaseAssets: [ + "GET /repos/{owner}/{repo}/releases/{release_id}/assets" + ], + listReleases: ["GET /repos/{owner}/{repo}/releases"], + listTagProtection: ["GET /repos/{owner}/{repo}/tags/protection"], + listTags: ["GET /repos/{owner}/{repo}/tags"], + listTeams: ["GET /repos/{owner}/{repo}/teams"], + listWebhookDeliveries: [ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries" + ], + listWebhooks: ["GET /repos/{owner}/{repo}/hooks"], + merge: ["POST /repos/{owner}/{repo}/merges"], + mergeUpstream: ["POST /repos/{owner}/{repo}/merge-upstream"], + pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"], + redeliverWebhookDelivery: [ + "POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts" + ], + removeAppAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" } + ], + removeCollaborator: [ + "DELETE /repos/{owner}/{repo}/collaborators/{username}" + ], + removeStatusCheckContexts: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" } + ], + removeStatusCheckProtection: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" + ], + removeTeamAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" } + ], + removeUserAccessRestrictions: [ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" } + ], + renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"], + replaceAllTopics: ["PUT /repos/{owner}/{repo}/topics"], + requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"], + setAdminBranchProtection: [ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" + ], + setAppAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", + {}, + { mapToData: "apps" } + ], + setStatusCheckContexts: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", + {}, + { mapToData: "contexts" } + ], + setTeamAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", + {}, + { mapToData: "teams" } + ], + setUserAccessRestrictions: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", + {}, + { mapToData: "users" } + ], + testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"], + transfer: ["POST /repos/{owner}/{repo}/transfer"], + update: ["PATCH /repos/{owner}/{repo}"], + updateBranchProtection: [ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection" + ], + updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"], + updateDeploymentBranchPolicy: [ + "PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" + ], + updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"], + updateInvitation: [ + "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}" + ], + updateOrgRuleset: ["PUT /orgs/{org}/rulesets/{ruleset_id}"], + updatePullRequestReviewProtection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" + ], + updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"], + updateReleaseAsset: [ + "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}" + ], + updateRepoRuleset: ["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"], + updateStatusCheckPotection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", + {}, + { renamed: ["repos", "updateStatusCheckProtection"] } + ], + updateStatusCheckProtection: [ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" + ], + updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"], + updateWebhookConfigForRepo: [ + "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config" + ], + uploadReleaseAsset: [ + "POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}", + { baseUrl: "https://uploads.github.com" } + ] + }, + search: { + code: ["GET /search/code"], + commits: ["GET /search/commits"], + issuesAndPullRequests: ["GET /search/issues"], + labels: ["GET /search/labels"], + repos: ["GET /search/repositories"], + topics: ["GET /search/topics"], + users: ["GET /search/users"] + }, + secretScanning: { + getAlert: [ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" + ], + listAlertsForEnterprise: [ + "GET /enterprises/{enterprise}/secret-scanning/alerts" + ], + listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"], + listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"], + listLocationsForAlert: [ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations" + ], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" + ] + }, + securityAdvisories: { + createFork: [ + "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks" + ], + createPrivateVulnerabilityReport: [ + "POST /repos/{owner}/{repo}/security-advisories/reports" + ], + createRepositoryAdvisory: [ + "POST /repos/{owner}/{repo}/security-advisories" + ], + createRepositoryAdvisoryCveRequest: [ + "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve" + ], + getGlobalAdvisory: ["GET /advisories/{ghsa_id}"], + getRepositoryAdvisory: [ + "GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}" + ], + listGlobalAdvisories: ["GET /advisories"], + listOrgRepositoryAdvisories: ["GET /orgs/{org}/security-advisories"], + listRepositoryAdvisories: ["GET /repos/{owner}/{repo}/security-advisories"], + updateRepositoryAdvisory: [ + "PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}" + ] + }, + teams: { + addOrUpdateMembershipForUserInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}" + ], + addOrUpdateProjectPermissionsInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}" + ], + addOrUpdateRepoPermissionsInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" + ], + checkPermissionsForProjectInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}" + ], + checkPermissionsForRepoInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" + ], + create: ["POST /orgs/{org}/teams"], + createDiscussionCommentInOrg: [ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments" + ], + createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"], + deleteDiscussionCommentInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}" + ], + deleteDiscussionInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}" + ], + deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"], + getByName: ["GET /orgs/{org}/teams/{team_slug}"], + getDiscussionCommentInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}" + ], + getDiscussionInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}" + ], + getMembershipForUserInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/memberships/{username}" + ], + list: ["GET /orgs/{org}/teams"], + listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"], + listDiscussionCommentsInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments" + ], + listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"], + listForAuthenticatedUser: ["GET /user/teams"], + listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"], + listPendingInvitationsInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/invitations" + ], + listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects"], + listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], + removeMembershipForUserInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}" + ], + removeProjectInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}" + ], + removeRepoInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" + ], + updateDiscussionCommentInOrg: [ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}" + ], + updateDiscussionInOrg: [ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}" + ], + updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"] + }, + users: { + addEmailForAuthenticated: [ + "POST /user/emails", + {}, + { renamed: ["users", "addEmailForAuthenticatedUser"] } + ], + addEmailForAuthenticatedUser: ["POST /user/emails"], + addSocialAccountForAuthenticatedUser: ["POST /user/social_accounts"], + block: ["PUT /user/blocks/{username}"], + checkBlocked: ["GET /user/blocks/{username}"], + checkFollowingForUser: ["GET /users/{username}/following/{target_user}"], + checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"], + createGpgKeyForAuthenticated: [ + "POST /user/gpg_keys", + {}, + { renamed: ["users", "createGpgKeyForAuthenticatedUser"] } + ], + createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"], + createPublicSshKeyForAuthenticated: [ + "POST /user/keys", + {}, + { renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] } + ], + createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"], + createSshSigningKeyForAuthenticatedUser: ["POST /user/ssh_signing_keys"], + deleteEmailForAuthenticated: [ + "DELETE /user/emails", + {}, + { renamed: ["users", "deleteEmailForAuthenticatedUser"] } + ], + deleteEmailForAuthenticatedUser: ["DELETE /user/emails"], + deleteGpgKeyForAuthenticated: [ + "DELETE /user/gpg_keys/{gpg_key_id}", + {}, + { renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] } + ], + deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"], + deletePublicSshKeyForAuthenticated: [ + "DELETE /user/keys/{key_id}", + {}, + { renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] } + ], + deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"], + deleteSocialAccountForAuthenticatedUser: ["DELETE /user/social_accounts"], + deleteSshSigningKeyForAuthenticatedUser: [ + "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}" + ], + follow: ["PUT /user/following/{username}"], + getAuthenticated: ["GET /user"], + getByUsername: ["GET /users/{username}"], + getContextForUser: ["GET /users/{username}/hovercard"], + getGpgKeyForAuthenticated: [ + "GET /user/gpg_keys/{gpg_key_id}", + {}, + { renamed: ["users", "getGpgKeyForAuthenticatedUser"] } + ], + getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"], + getPublicSshKeyForAuthenticated: [ + "GET /user/keys/{key_id}", + {}, + { renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] } + ], + getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"], + getSshSigningKeyForAuthenticatedUser: [ + "GET /user/ssh_signing_keys/{ssh_signing_key_id}" + ], + list: ["GET /users"], + listBlockedByAuthenticated: [ + "GET /user/blocks", + {}, + { renamed: ["users", "listBlockedByAuthenticatedUser"] } + ], + listBlockedByAuthenticatedUser: ["GET /user/blocks"], + listEmailsForAuthenticated: [ + "GET /user/emails", + {}, + { renamed: ["users", "listEmailsForAuthenticatedUser"] } + ], + listEmailsForAuthenticatedUser: ["GET /user/emails"], + listFollowedByAuthenticated: [ + "GET /user/following", + {}, + { renamed: ["users", "listFollowedByAuthenticatedUser"] } + ], + listFollowedByAuthenticatedUser: ["GET /user/following"], + listFollowersForAuthenticatedUser: ["GET /user/followers"], + listFollowersForUser: ["GET /users/{username}/followers"], + listFollowingForUser: ["GET /users/{username}/following"], + listGpgKeysForAuthenticated: [ + "GET /user/gpg_keys", + {}, + { renamed: ["users", "listGpgKeysForAuthenticatedUser"] } + ], + listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"], + listGpgKeysForUser: ["GET /users/{username}/gpg_keys"], + listPublicEmailsForAuthenticated: [ + "GET /user/public_emails", + {}, + { renamed: ["users", "listPublicEmailsForAuthenticatedUser"] } + ], + listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"], + listPublicKeysForUser: ["GET /users/{username}/keys"], + listPublicSshKeysForAuthenticated: [ + "GET /user/keys", + {}, + { renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] } + ], + listPublicSshKeysForAuthenticatedUser: ["GET /user/keys"], + listSocialAccountsForAuthenticatedUser: ["GET /user/social_accounts"], + listSocialAccountsForUser: ["GET /users/{username}/social_accounts"], + listSshSigningKeysForAuthenticatedUser: ["GET /user/ssh_signing_keys"], + listSshSigningKeysForUser: ["GET /users/{username}/ssh_signing_keys"], + setPrimaryEmailVisibilityForAuthenticated: [ + "PATCH /user/email/visibility", + {}, + { renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] } + ], + setPrimaryEmailVisibilityForAuthenticatedUser: [ + "PATCH /user/email/visibility" + ], + unblock: ["DELETE /user/blocks/{username}"], + unfollow: ["DELETE /user/following/{username}"], + updateAuthenticated: ["PATCH /user"] + } +}; +var endpoints_default = Endpoints; + +// pkg/dist-src/endpoints-to-methods.js +var endpointMethodsMap = /* @__PURE__ */ new Map(); +for (const [scope, endpoints] of Object.entries(endpoints_default)) { + for (const [methodName, endpoint] of Object.entries(endpoints)) { + const [route, defaults, decorations] = endpoint; + const [method, url] = route.split(/ /); + const endpointDefaults = Object.assign( + { + method, + url + }, + defaults + ); + if (!endpointMethodsMap.has(scope)) { + endpointMethodsMap.set(scope, /* @__PURE__ */ new Map()); + } + endpointMethodsMap.get(scope).set(methodName, { + scope, + methodName, + endpointDefaults, + decorations + }); + } +} +var handler = { + has({ scope }, methodName) { + return endpointMethodsMap.get(scope).has(methodName); + }, + getOwnPropertyDescriptor(target, methodName) { + return { + value: this.get(target, methodName), + // ensures method is in the cache + configurable: true, + writable: true, + enumerable: true + }; + }, + defineProperty(target, methodName, descriptor) { + Object.defineProperty(target.cache, methodName, descriptor); + return true; + }, + deleteProperty(target, methodName) { + delete target.cache[methodName]; + return true; + }, + ownKeys({ scope }) { + return [...endpointMethodsMap.get(scope).keys()]; + }, + set(target, methodName, value) { + return target.cache[methodName] = value; + }, + get({ octokit, scope, cache }, methodName) { + if (cache[methodName]) { + return cache[methodName]; + } + const method = endpointMethodsMap.get(scope).get(methodName); + if (!method) { + return void 0; + } + const { endpointDefaults, decorations } = method; + if (decorations) { + cache[methodName] = decorate( + octokit, + scope, + methodName, + endpointDefaults, + decorations + ); + } else { + cache[methodName] = octokit.request.defaults(endpointDefaults); + } + return cache[methodName]; + } +}; +function endpointsToMethods(octokit) { + const newMethods = {}; + for (const scope of endpointMethodsMap.keys()) { + newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler); + } + return newMethods; +} +function decorate(octokit, scope, methodName, defaults, decorations) { + const requestWithDefaults = octokit.request.defaults(defaults); + function withDecorations(...args) { + let options = requestWithDefaults.endpoint.merge(...args); + if (decorations.mapToData) { + options = Object.assign({}, options, { + data: options[decorations.mapToData], + [decorations.mapToData]: void 0 + }); + return requestWithDefaults(options); + } + if (decorations.renamed) { + const [newScope, newMethodName] = decorations.renamed; + octokit.log.warn( + `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()` + ); + } + if (decorations.deprecated) { + octokit.log.warn(decorations.deprecated); + } + if (decorations.renamedParameters) { + const options2 = requestWithDefaults.endpoint.merge(...args); + for (const [name, alias] of Object.entries( + decorations.renamedParameters + )) { + if (name in options2) { + octokit.log.warn( + `"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead` + ); + if (!(alias in options2)) { + options2[alias] = options2[name]; + } + delete options2[name]; + } + } + return requestWithDefaults(options2); + } + return requestWithDefaults(...args); + } + return Object.assign(withDecorations, requestWithDefaults); +} + +// pkg/dist-src/index.js +function restEndpointMethods(octokit) { + const api = endpointsToMethods(octokit); + return { + rest: api + }; +} +restEndpointMethods.VERSION = VERSION; +function legacyRestEndpointMethods(octokit) { + const api = endpointsToMethods(octokit); + return { + ...api, + rest: api + }; +} +legacyRestEndpointMethods.VERSION = VERSION; +export { + legacyRestEndpointMethods, + restEndpointMethods +}; diff --git a/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map new file mode 100644 index 00000000..fd5ccbf6 --- /dev/null +++ b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/version.js", "../dist-src/generated/endpoints.js", "../dist-src/endpoints-to-methods.js", "../dist-src/index.js"], + "sourcesContent": ["const VERSION = \"13.2.2\";\nexport {\n VERSION\n};\n", "const Endpoints = {\n actions: {\n addCustomLabelsToSelfHostedRunnerForOrg: [\n \"POST /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n addCustomLabelsToSelfHostedRunnerForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n addSelectedRepoToOrgVariable: [\n \"PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}\"\n ],\n approveWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve\"\n ],\n cancelWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\"\n ],\n createEnvironmentVariable: [\n \"POST /repos/{owner}/{repo}/environments/{environment_name}/variables\"\n ],\n createOrUpdateEnvironmentSecret: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}\"\n ],\n createOrUpdateOrgSecret: [\"PUT /orgs/{org}/actions/secrets/{secret_name}\"],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}\"\n ],\n createOrgVariable: [\"POST /orgs/{org}/actions/variables\"],\n createRegistrationTokenForOrg: [\n \"POST /orgs/{org}/actions/runners/registration-token\"\n ],\n createRegistrationTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/registration-token\"\n ],\n createRemoveTokenForOrg: [\"POST /orgs/{org}/actions/runners/remove-token\"],\n createRemoveTokenForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/remove-token\"\n ],\n createRepoVariable: [\"POST /repos/{owner}/{repo}/actions/variables\"],\n createWorkflowDispatch: [\n \"POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches\"\n ],\n deleteActionsCacheById: [\n \"DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}\"\n ],\n deleteActionsCacheByKey: [\n \"DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}\"\n ],\n deleteArtifact: [\n \"DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"\n ],\n deleteEnvironmentSecret: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}\"\n ],\n deleteEnvironmentVariable: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}\"\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/actions/secrets/{secret_name}\"],\n deleteOrgVariable: [\"DELETE /orgs/{org}/actions/variables/{name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}\"\n ],\n deleteRepoVariable: [\n \"DELETE /repos/{owner}/{repo}/actions/variables/{name}\"\n ],\n deleteSelfHostedRunnerFromOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}\"\n ],\n deleteSelfHostedRunnerFromRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}\"\n ],\n deleteWorkflowRun: [\"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n deleteWorkflowRunLogs: [\n \"DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"\n ],\n disableSelectedRepositoryGithubActionsOrganization: [\n \"DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}\"\n ],\n disableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable\"\n ],\n downloadArtifact: [\n \"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}\"\n ],\n downloadJobLogsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs\"\n ],\n downloadWorkflowRunAttemptLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs\"\n ],\n downloadWorkflowRunLogs: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\"\n ],\n enableSelectedRepositoryGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories/{repository_id}\"\n ],\n enableWorkflow: [\n \"PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable\"\n ],\n forceCancelWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel\"\n ],\n generateRunnerJitconfigForOrg: [\n \"POST /orgs/{org}/actions/runners/generate-jitconfig\"\n ],\n generateRunnerJitconfigForRepo: [\n \"POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig\"\n ],\n getActionsCacheList: [\"GET /repos/{owner}/{repo}/actions/caches\"],\n getActionsCacheUsage: [\"GET /repos/{owner}/{repo}/actions/cache/usage\"],\n getActionsCacheUsageByRepoForOrg: [\n \"GET /orgs/{org}/actions/cache/usage-by-repository\"\n ],\n getActionsCacheUsageForOrg: [\"GET /orgs/{org}/actions/cache/usage\"],\n getAllowedActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/selected-actions\"\n ],\n getAllowedActionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/selected-actions\"\n ],\n getArtifact: [\"GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}\"],\n getCustomOidcSubClaimForRepo: [\n \"GET /repos/{owner}/{repo}/actions/oidc/customization/sub\"\n ],\n getEnvironmentPublicKey: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key\"\n ],\n getEnvironmentSecret: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}\"\n ],\n getEnvironmentVariable: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}\"\n ],\n getGithubActionsDefaultWorkflowPermissionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/workflow\"\n ],\n getGithubActionsDefaultWorkflowPermissionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/workflow\"\n ],\n getGithubActionsPermissionsOrganization: [\n \"GET /orgs/{org}/actions/permissions\"\n ],\n getGithubActionsPermissionsRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions\"\n ],\n getJobForWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/jobs/{job_id}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/actions/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/actions/secrets/{secret_name}\"],\n getOrgVariable: [\"GET /orgs/{org}/actions/variables/{name}\"],\n getPendingDeploymentsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"\n ],\n getRepoPermissions: [\n \"GET /repos/{owner}/{repo}/actions/permissions\",\n {},\n { renamed: [\"actions\", \"getGithubActionsPermissionsRepository\"] }\n ],\n getRepoPublicKey: [\"GET /repos/{owner}/{repo}/actions/secrets/public-key\"],\n getRepoSecret: [\"GET /repos/{owner}/{repo}/actions/secrets/{secret_name}\"],\n getRepoVariable: [\"GET /repos/{owner}/{repo}/actions/variables/{name}\"],\n getReviewsForRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals\"\n ],\n getSelfHostedRunnerForOrg: [\"GET /orgs/{org}/actions/runners/{runner_id}\"],\n getSelfHostedRunnerForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}\"\n ],\n getWorkflow: [\"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}\"],\n getWorkflowAccessToRepository: [\n \"GET /repos/{owner}/{repo}/actions/permissions/access\"\n ],\n getWorkflowRun: [\"GET /repos/{owner}/{repo}/actions/runs/{run_id}\"],\n getWorkflowRunAttempt: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}\"\n ],\n getWorkflowRunUsage: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\"\n ],\n getWorkflowUsage: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing\"\n ],\n listArtifactsForRepo: [\"GET /repos/{owner}/{repo}/actions/artifacts\"],\n listEnvironmentSecrets: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/secrets\"\n ],\n listEnvironmentVariables: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/variables\"\n ],\n listJobsForWorkflowRun: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs\"\n ],\n listJobsForWorkflowRunAttempt: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs\"\n ],\n listLabelsForSelfHostedRunnerForOrg: [\n \"GET /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n listLabelsForSelfHostedRunnerForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n listOrgSecrets: [\"GET /orgs/{org}/actions/secrets\"],\n listOrgVariables: [\"GET /orgs/{org}/actions/variables\"],\n listRepoOrganizationSecrets: [\n \"GET /repos/{owner}/{repo}/actions/organization-secrets\"\n ],\n listRepoOrganizationVariables: [\n \"GET /repos/{owner}/{repo}/actions/organization-variables\"\n ],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/actions/secrets\"],\n listRepoVariables: [\"GET /repos/{owner}/{repo}/actions/variables\"],\n listRepoWorkflows: [\"GET /repos/{owner}/{repo}/actions/workflows\"],\n listRunnerApplicationsForOrg: [\"GET /orgs/{org}/actions/runners/downloads\"],\n listRunnerApplicationsForRepo: [\n \"GET /repos/{owner}/{repo}/actions/runners/downloads\"\n ],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/actions/secrets/{secret_name}/repositories\"\n ],\n listSelectedReposForOrgVariable: [\n \"GET /orgs/{org}/actions/variables/{name}/repositories\"\n ],\n listSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"GET /orgs/{org}/actions/permissions/repositories\"\n ],\n listSelfHostedRunnersForOrg: [\"GET /orgs/{org}/actions/runners\"],\n listSelfHostedRunnersForRepo: [\"GET /repos/{owner}/{repo}/actions/runners\"],\n listWorkflowRunArtifacts: [\n \"GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts\"\n ],\n listWorkflowRuns: [\n \"GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\"\n ],\n listWorkflowRunsForRepo: [\"GET /repos/{owner}/{repo}/actions/runs\"],\n reRunJobForWorkflowRun: [\n \"POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun\"\n ],\n reRunWorkflow: [\"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\"],\n reRunWorkflowFailedJobs: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs\"\n ],\n removeAllCustomLabelsFromSelfHostedRunnerForOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n removeAllCustomLabelsFromSelfHostedRunnerForRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n removeCustomLabelFromSelfHostedRunnerForOrg: [\n \"DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}\"\n ],\n removeCustomLabelFromSelfHostedRunnerForRepo: [\n \"DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}\"\n ],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n removeSelectedRepoFromOrgVariable: [\n \"DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}\"\n ],\n reviewCustomGatesForRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule\"\n ],\n reviewPendingDeploymentsForRun: [\n \"POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\"\n ],\n setAllowedActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/selected-actions\"\n ],\n setAllowedActionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/selected-actions\"\n ],\n setCustomLabelsForSelfHostedRunnerForOrg: [\n \"PUT /orgs/{org}/actions/runners/{runner_id}/labels\"\n ],\n setCustomLabelsForSelfHostedRunnerForRepo: [\n \"PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels\"\n ],\n setCustomOidcSubClaimForRepo: [\n \"PUT /repos/{owner}/{repo}/actions/oidc/customization/sub\"\n ],\n setGithubActionsDefaultWorkflowPermissionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/workflow\"\n ],\n setGithubActionsDefaultWorkflowPermissionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/workflow\"\n ],\n setGithubActionsPermissionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions\"\n ],\n setGithubActionsPermissionsRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions\"\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/actions/secrets/{secret_name}/repositories\"\n ],\n setSelectedReposForOrgVariable: [\n \"PUT /orgs/{org}/actions/variables/{name}/repositories\"\n ],\n setSelectedRepositoriesEnabledGithubActionsOrganization: [\n \"PUT /orgs/{org}/actions/permissions/repositories\"\n ],\n setWorkflowAccessToRepository: [\n \"PUT /repos/{owner}/{repo}/actions/permissions/access\"\n ],\n updateEnvironmentVariable: [\n \"PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}\"\n ],\n updateOrgVariable: [\"PATCH /orgs/{org}/actions/variables/{name}\"],\n updateRepoVariable: [\n \"PATCH /repos/{owner}/{repo}/actions/variables/{name}\"\n ]\n },\n activity: {\n checkRepoIsStarredByAuthenticatedUser: [\"GET /user/starred/{owner}/{repo}\"],\n deleteRepoSubscription: [\"DELETE /repos/{owner}/{repo}/subscription\"],\n deleteThreadSubscription: [\n \"DELETE /notifications/threads/{thread_id}/subscription\"\n ],\n getFeeds: [\"GET /feeds\"],\n getRepoSubscription: [\"GET /repos/{owner}/{repo}/subscription\"],\n getThread: [\"GET /notifications/threads/{thread_id}\"],\n getThreadSubscriptionForAuthenticatedUser: [\n \"GET /notifications/threads/{thread_id}/subscription\"\n ],\n listEventsForAuthenticatedUser: [\"GET /users/{username}/events\"],\n listNotificationsForAuthenticatedUser: [\"GET /notifications\"],\n listOrgEventsForAuthenticatedUser: [\n \"GET /users/{username}/events/orgs/{org}\"\n ],\n listPublicEvents: [\"GET /events\"],\n listPublicEventsForRepoNetwork: [\"GET /networks/{owner}/{repo}/events\"],\n listPublicEventsForUser: [\"GET /users/{username}/events/public\"],\n listPublicOrgEvents: [\"GET /orgs/{org}/events\"],\n listReceivedEventsForUser: [\"GET /users/{username}/received_events\"],\n listReceivedPublicEventsForUser: [\n \"GET /users/{username}/received_events/public\"\n ],\n listRepoEvents: [\"GET /repos/{owner}/{repo}/events\"],\n listRepoNotificationsForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/notifications\"\n ],\n listReposStarredByAuthenticatedUser: [\"GET /user/starred\"],\n listReposStarredByUser: [\"GET /users/{username}/starred\"],\n listReposWatchedByUser: [\"GET /users/{username}/subscriptions\"],\n listStargazersForRepo: [\"GET /repos/{owner}/{repo}/stargazers\"],\n listWatchedReposForAuthenticatedUser: [\"GET /user/subscriptions\"],\n listWatchersForRepo: [\"GET /repos/{owner}/{repo}/subscribers\"],\n markNotificationsAsRead: [\"PUT /notifications\"],\n markRepoNotificationsAsRead: [\"PUT /repos/{owner}/{repo}/notifications\"],\n markThreadAsDone: [\"DELETE /notifications/threads/{thread_id}\"],\n markThreadAsRead: [\"PATCH /notifications/threads/{thread_id}\"],\n setRepoSubscription: [\"PUT /repos/{owner}/{repo}/subscription\"],\n setThreadSubscription: [\n \"PUT /notifications/threads/{thread_id}/subscription\"\n ],\n starRepoForAuthenticatedUser: [\"PUT /user/starred/{owner}/{repo}\"],\n unstarRepoForAuthenticatedUser: [\"DELETE /user/starred/{owner}/{repo}\"]\n },\n apps: {\n addRepoToInstallation: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\",\n {},\n { renamed: [\"apps\", \"addRepoToInstallationForAuthenticatedUser\"] }\n ],\n addRepoToInstallationForAuthenticatedUser: [\n \"PUT /user/installations/{installation_id}/repositories/{repository_id}\"\n ],\n checkToken: [\"POST /applications/{client_id}/token\"],\n createFromManifest: [\"POST /app-manifests/{code}/conversions\"],\n createInstallationAccessToken: [\n \"POST /app/installations/{installation_id}/access_tokens\"\n ],\n deleteAuthorization: [\"DELETE /applications/{client_id}/grant\"],\n deleteInstallation: [\"DELETE /app/installations/{installation_id}\"],\n deleteToken: [\"DELETE /applications/{client_id}/token\"],\n getAuthenticated: [\"GET /app\"],\n getBySlug: [\"GET /apps/{app_slug}\"],\n getInstallation: [\"GET /app/installations/{installation_id}\"],\n getOrgInstallation: [\"GET /orgs/{org}/installation\"],\n getRepoInstallation: [\"GET /repos/{owner}/{repo}/installation\"],\n getSubscriptionPlanForAccount: [\n \"GET /marketplace_listing/accounts/{account_id}\"\n ],\n getSubscriptionPlanForAccountStubbed: [\n \"GET /marketplace_listing/stubbed/accounts/{account_id}\"\n ],\n getUserInstallation: [\"GET /users/{username}/installation\"],\n getWebhookConfigForApp: [\"GET /app/hook/config\"],\n getWebhookDelivery: [\"GET /app/hook/deliveries/{delivery_id}\"],\n listAccountsForPlan: [\"GET /marketplace_listing/plans/{plan_id}/accounts\"],\n listAccountsForPlanStubbed: [\n \"GET /marketplace_listing/stubbed/plans/{plan_id}/accounts\"\n ],\n listInstallationReposForAuthenticatedUser: [\n \"GET /user/installations/{installation_id}/repositories\"\n ],\n listInstallationRequestsForAuthenticatedApp: [\n \"GET /app/installation-requests\"\n ],\n listInstallations: [\"GET /app/installations\"],\n listInstallationsForAuthenticatedUser: [\"GET /user/installations\"],\n listPlans: [\"GET /marketplace_listing/plans\"],\n listPlansStubbed: [\"GET /marketplace_listing/stubbed/plans\"],\n listReposAccessibleToInstallation: [\"GET /installation/repositories\"],\n listSubscriptionsForAuthenticatedUser: [\"GET /user/marketplace_purchases\"],\n listSubscriptionsForAuthenticatedUserStubbed: [\n \"GET /user/marketplace_purchases/stubbed\"\n ],\n listWebhookDeliveries: [\"GET /app/hook/deliveries\"],\n redeliverWebhookDelivery: [\n \"POST /app/hook/deliveries/{delivery_id}/attempts\"\n ],\n removeRepoFromInstallation: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\",\n {},\n { renamed: [\"apps\", \"removeRepoFromInstallationForAuthenticatedUser\"] }\n ],\n removeRepoFromInstallationForAuthenticatedUser: [\n \"DELETE /user/installations/{installation_id}/repositories/{repository_id}\"\n ],\n resetToken: [\"PATCH /applications/{client_id}/token\"],\n revokeInstallationAccessToken: [\"DELETE /installation/token\"],\n scopeToken: [\"POST /applications/{client_id}/token/scoped\"],\n suspendInstallation: [\"PUT /app/installations/{installation_id}/suspended\"],\n unsuspendInstallation: [\n \"DELETE /app/installations/{installation_id}/suspended\"\n ],\n updateWebhookConfigForApp: [\"PATCH /app/hook/config\"]\n },\n billing: {\n getGithubActionsBillingOrg: [\"GET /orgs/{org}/settings/billing/actions\"],\n getGithubActionsBillingUser: [\n \"GET /users/{username}/settings/billing/actions\"\n ],\n getGithubPackagesBillingOrg: [\"GET /orgs/{org}/settings/billing/packages\"],\n getGithubPackagesBillingUser: [\n \"GET /users/{username}/settings/billing/packages\"\n ],\n getSharedStorageBillingOrg: [\n \"GET /orgs/{org}/settings/billing/shared-storage\"\n ],\n getSharedStorageBillingUser: [\n \"GET /users/{username}/settings/billing/shared-storage\"\n ]\n },\n checks: {\n create: [\"POST /repos/{owner}/{repo}/check-runs\"],\n createSuite: [\"POST /repos/{owner}/{repo}/check-suites\"],\n get: [\"GET /repos/{owner}/{repo}/check-runs/{check_run_id}\"],\n getSuite: [\"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}\"],\n listAnnotations: [\n \"GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations\"\n ],\n listForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-runs\"],\n listForSuite: [\n \"GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs\"\n ],\n listSuitesForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/check-suites\"],\n rerequestRun: [\n \"POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest\"\n ],\n rerequestSuite: [\n \"POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest\"\n ],\n setSuitesPreferences: [\n \"PATCH /repos/{owner}/{repo}/check-suites/preferences\"\n ],\n update: [\"PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}\"]\n },\n codeScanning: {\n deleteAnalysis: [\n \"DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}\"\n ],\n getAlert: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\",\n {},\n { renamedParameters: { alert_id: \"alert_number\" } }\n ],\n getAnalysis: [\n \"GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}\"\n ],\n getCodeqlDatabase: [\n \"GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}\"\n ],\n getDefaultSetup: [\"GET /repos/{owner}/{repo}/code-scanning/default-setup\"],\n getSarif: [\"GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}\"],\n listAlertInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\"\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/code-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/code-scanning/alerts\"],\n listAlertsInstances: [\n \"GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances\",\n {},\n { renamed: [\"codeScanning\", \"listAlertInstances\"] }\n ],\n listCodeqlDatabases: [\n \"GET /repos/{owner}/{repo}/code-scanning/codeql/databases\"\n ],\n listRecentAnalyses: [\"GET /repos/{owner}/{repo}/code-scanning/analyses\"],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}\"\n ],\n updateDefaultSetup: [\n \"PATCH /repos/{owner}/{repo}/code-scanning/default-setup\"\n ],\n uploadSarif: [\"POST /repos/{owner}/{repo}/code-scanning/sarifs\"]\n },\n codesOfConduct: {\n getAllCodesOfConduct: [\"GET /codes_of_conduct\"],\n getConductCode: [\"GET /codes_of_conduct/{key}\"]\n },\n codespaces: {\n addRepositoryForSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n checkPermissionsForDevcontainer: [\n \"GET /repos/{owner}/{repo}/codespaces/permissions_check\"\n ],\n codespaceMachinesForAuthenticatedUser: [\n \"GET /user/codespaces/{codespace_name}/machines\"\n ],\n createForAuthenticatedUser: [\"POST /user/codespaces\"],\n createOrUpdateOrgSecret: [\n \"PUT /orgs/{org}/codespaces/secrets/{secret_name}\"\n ],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"\n ],\n createOrUpdateSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}\"\n ],\n createWithPrForAuthenticatedUser: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces\"\n ],\n createWithRepoForAuthenticatedUser: [\n \"POST /repos/{owner}/{repo}/codespaces\"\n ],\n deleteForAuthenticatedUser: [\"DELETE /user/codespaces/{codespace_name}\"],\n deleteFromOrganization: [\n \"DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}\"\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/codespaces/secrets/{secret_name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"\n ],\n deleteSecretForAuthenticatedUser: [\n \"DELETE /user/codespaces/secrets/{secret_name}\"\n ],\n exportForAuthenticatedUser: [\n \"POST /user/codespaces/{codespace_name}/exports\"\n ],\n getCodespacesForUserInOrg: [\n \"GET /orgs/{org}/members/{username}/codespaces\"\n ],\n getExportDetailsForAuthenticatedUser: [\n \"GET /user/codespaces/{codespace_name}/exports/{export_id}\"\n ],\n getForAuthenticatedUser: [\"GET /user/codespaces/{codespace_name}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/codespaces/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/codespaces/secrets/{secret_name}\"],\n getPublicKeyForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/public-key\"\n ],\n getRepoPublicKey: [\n \"GET /repos/{owner}/{repo}/codespaces/secrets/public-key\"\n ],\n getRepoSecret: [\n \"GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}\"\n ],\n getSecretForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/{secret_name}\"\n ],\n listDevcontainersInRepositoryForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/devcontainers\"\n ],\n listForAuthenticatedUser: [\"GET /user/codespaces\"],\n listInOrganization: [\n \"GET /orgs/{org}/codespaces\",\n {},\n { renamedParameters: { org_id: \"org\" } }\n ],\n listInRepositoryForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces\"\n ],\n listOrgSecrets: [\"GET /orgs/{org}/codespaces/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/codespaces/secrets\"],\n listRepositoriesForSecretForAuthenticatedUser: [\n \"GET /user/codespaces/secrets/{secret_name}/repositories\"\n ],\n listSecretsForAuthenticatedUser: [\"GET /user/codespaces/secrets\"],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories\"\n ],\n preFlightWithRepoForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/new\"\n ],\n publishForAuthenticatedUser: [\n \"POST /user/codespaces/{codespace_name}/publish\"\n ],\n removeRepositoryForSecretForAuthenticatedUser: [\n \"DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n repoMachinesForAuthenticatedUser: [\n \"GET /repos/{owner}/{repo}/codespaces/machines\"\n ],\n setRepositoriesForSecretForAuthenticatedUser: [\n \"PUT /user/codespaces/secrets/{secret_name}/repositories\"\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories\"\n ],\n startForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/start\"],\n stopForAuthenticatedUser: [\"POST /user/codespaces/{codespace_name}/stop\"],\n stopInOrganization: [\n \"POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop\"\n ],\n updateForAuthenticatedUser: [\"PATCH /user/codespaces/{codespace_name}\"]\n },\n copilot: {\n addCopilotSeatsForTeams: [\n \"POST /orgs/{org}/copilot/billing/selected_teams\"\n ],\n addCopilotSeatsForUsers: [\n \"POST /orgs/{org}/copilot/billing/selected_users\"\n ],\n cancelCopilotSeatAssignmentForTeams: [\n \"DELETE /orgs/{org}/copilot/billing/selected_teams\"\n ],\n cancelCopilotSeatAssignmentForUsers: [\n \"DELETE /orgs/{org}/copilot/billing/selected_users\"\n ],\n getCopilotOrganizationDetails: [\"GET /orgs/{org}/copilot/billing\"],\n getCopilotSeatDetailsForUser: [\n \"GET /orgs/{org}/members/{username}/copilot\"\n ],\n listCopilotSeats: [\"GET /orgs/{org}/copilot/billing/seats\"],\n usageMetricsForEnterprise: [\"GET /enterprises/{enterprise}/copilot/usage\"],\n usageMetricsForOrg: [\"GET /orgs/{org}/copilot/usage\"],\n usageMetricsForTeam: [\"GET /orgs/{org}/team/{team_slug}/copilot/usage\"]\n },\n dependabot: {\n addSelectedRepoToOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n createOrUpdateOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}\"\n ],\n createOrUpdateRepoSecret: [\n \"PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"\n ],\n deleteOrgSecret: [\"DELETE /orgs/{org}/dependabot/secrets/{secret_name}\"],\n deleteRepoSecret: [\n \"DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"\n ],\n getAlert: [\"GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}\"],\n getOrgPublicKey: [\"GET /orgs/{org}/dependabot/secrets/public-key\"],\n getOrgSecret: [\"GET /orgs/{org}/dependabot/secrets/{secret_name}\"],\n getRepoPublicKey: [\n \"GET /repos/{owner}/{repo}/dependabot/secrets/public-key\"\n ],\n getRepoSecret: [\n \"GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}\"\n ],\n listAlertsForEnterprise: [\n \"GET /enterprises/{enterprise}/dependabot/alerts\"\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/dependabot/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/dependabot/alerts\"],\n listOrgSecrets: [\"GET /orgs/{org}/dependabot/secrets\"],\n listRepoSecrets: [\"GET /repos/{owner}/{repo}/dependabot/secrets\"],\n listSelectedReposForOrgSecret: [\n \"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"\n ],\n removeSelectedRepoFromOrgSecret: [\n \"DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}\"\n ],\n setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"\n ],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}\"\n ]\n },\n dependencyGraph: {\n createRepositorySnapshot: [\n \"POST /repos/{owner}/{repo}/dependency-graph/snapshots\"\n ],\n diffRange: [\n \"GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}\"\n ],\n exportSbom: [\"GET /repos/{owner}/{repo}/dependency-graph/sbom\"]\n },\n emojis: { get: [\"GET /emojis\"] },\n gists: {\n checkIsStarred: [\"GET /gists/{gist_id}/star\"],\n create: [\"POST /gists\"],\n createComment: [\"POST /gists/{gist_id}/comments\"],\n delete: [\"DELETE /gists/{gist_id}\"],\n deleteComment: [\"DELETE /gists/{gist_id}/comments/{comment_id}\"],\n fork: [\"POST /gists/{gist_id}/forks\"],\n get: [\"GET /gists/{gist_id}\"],\n getComment: [\"GET /gists/{gist_id}/comments/{comment_id}\"],\n getRevision: [\"GET /gists/{gist_id}/{sha}\"],\n list: [\"GET /gists\"],\n listComments: [\"GET /gists/{gist_id}/comments\"],\n listCommits: [\"GET /gists/{gist_id}/commits\"],\n listForUser: [\"GET /users/{username}/gists\"],\n listForks: [\"GET /gists/{gist_id}/forks\"],\n listPublic: [\"GET /gists/public\"],\n listStarred: [\"GET /gists/starred\"],\n star: [\"PUT /gists/{gist_id}/star\"],\n unstar: [\"DELETE /gists/{gist_id}/star\"],\n update: [\"PATCH /gists/{gist_id}\"],\n updateComment: [\"PATCH /gists/{gist_id}/comments/{comment_id}\"]\n },\n git: {\n createBlob: [\"POST /repos/{owner}/{repo}/git/blobs\"],\n createCommit: [\"POST /repos/{owner}/{repo}/git/commits\"],\n createRef: [\"POST /repos/{owner}/{repo}/git/refs\"],\n createTag: [\"POST /repos/{owner}/{repo}/git/tags\"],\n createTree: [\"POST /repos/{owner}/{repo}/git/trees\"],\n deleteRef: [\"DELETE /repos/{owner}/{repo}/git/refs/{ref}\"],\n getBlob: [\"GET /repos/{owner}/{repo}/git/blobs/{file_sha}\"],\n getCommit: [\"GET /repos/{owner}/{repo}/git/commits/{commit_sha}\"],\n getRef: [\"GET /repos/{owner}/{repo}/git/ref/{ref}\"],\n getTag: [\"GET /repos/{owner}/{repo}/git/tags/{tag_sha}\"],\n getTree: [\"GET /repos/{owner}/{repo}/git/trees/{tree_sha}\"],\n listMatchingRefs: [\"GET /repos/{owner}/{repo}/git/matching-refs/{ref}\"],\n updateRef: [\"PATCH /repos/{owner}/{repo}/git/refs/{ref}\"]\n },\n gitignore: {\n getAllTemplates: [\"GET /gitignore/templates\"],\n getTemplate: [\"GET /gitignore/templates/{name}\"]\n },\n interactions: {\n getRestrictionsForAuthenticatedUser: [\"GET /user/interaction-limits\"],\n getRestrictionsForOrg: [\"GET /orgs/{org}/interaction-limits\"],\n getRestrictionsForRepo: [\"GET /repos/{owner}/{repo}/interaction-limits\"],\n getRestrictionsForYourPublicRepos: [\n \"GET /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"getRestrictionsForAuthenticatedUser\"] }\n ],\n removeRestrictionsForAuthenticatedUser: [\"DELETE /user/interaction-limits\"],\n removeRestrictionsForOrg: [\"DELETE /orgs/{org}/interaction-limits\"],\n removeRestrictionsForRepo: [\n \"DELETE /repos/{owner}/{repo}/interaction-limits\"\n ],\n removeRestrictionsForYourPublicRepos: [\n \"DELETE /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"removeRestrictionsForAuthenticatedUser\"] }\n ],\n setRestrictionsForAuthenticatedUser: [\"PUT /user/interaction-limits\"],\n setRestrictionsForOrg: [\"PUT /orgs/{org}/interaction-limits\"],\n setRestrictionsForRepo: [\"PUT /repos/{owner}/{repo}/interaction-limits\"],\n setRestrictionsForYourPublicRepos: [\n \"PUT /user/interaction-limits\",\n {},\n { renamed: [\"interactions\", \"setRestrictionsForAuthenticatedUser\"] }\n ]\n },\n issues: {\n addAssignees: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/assignees\"\n ],\n addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n checkUserCanBeAssigned: [\"GET /repos/{owner}/{repo}/assignees/{assignee}\"],\n checkUserCanBeAssignedToIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}\"\n ],\n create: [\"POST /repos/{owner}/{repo}/issues\"],\n createComment: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/comments\"\n ],\n createLabel: [\"POST /repos/{owner}/{repo}/labels\"],\n createMilestone: [\"POST /repos/{owner}/{repo}/milestones\"],\n deleteComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}\"\n ],\n deleteLabel: [\"DELETE /repos/{owner}/{repo}/labels/{name}\"],\n deleteMilestone: [\n \"DELETE /repos/{owner}/{repo}/milestones/{milestone_number}\"\n ],\n get: [\"GET /repos/{owner}/{repo}/issues/{issue_number}\"],\n getComment: [\"GET /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n getEvent: [\"GET /repos/{owner}/{repo}/issues/events/{event_id}\"],\n getLabel: [\"GET /repos/{owner}/{repo}/labels/{name}\"],\n getMilestone: [\"GET /repos/{owner}/{repo}/milestones/{milestone_number}\"],\n list: [\"GET /issues\"],\n listAssignees: [\"GET /repos/{owner}/{repo}/assignees\"],\n listComments: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/comments\"],\n listCommentsForRepo: [\"GET /repos/{owner}/{repo}/issues/comments\"],\n listEvents: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/events\"],\n listEventsForRepo: [\"GET /repos/{owner}/{repo}/issues/events\"],\n listEventsForTimeline: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/timeline\"\n ],\n listForAuthenticatedUser: [\"GET /user/issues\"],\n listForOrg: [\"GET /orgs/{org}/issues\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/issues\"],\n listLabelsForMilestone: [\n \"GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels\"\n ],\n listLabelsForRepo: [\"GET /repos/{owner}/{repo}/labels\"],\n listLabelsOnIssue: [\n \"GET /repos/{owner}/{repo}/issues/{issue_number}/labels\"\n ],\n listMilestones: [\"GET /repos/{owner}/{repo}/milestones\"],\n lock: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n removeAllLabels: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels\"\n ],\n removeAssignees: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees\"\n ],\n removeLabel: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\"\n ],\n setLabels: [\"PUT /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\n unlock: [\"DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock\"],\n update: [\"PATCH /repos/{owner}/{repo}/issues/{issue_number}\"],\n updateComment: [\"PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}\"],\n updateLabel: [\"PATCH /repos/{owner}/{repo}/labels/{name}\"],\n updateMilestone: [\n \"PATCH /repos/{owner}/{repo}/milestones/{milestone_number}\"\n ]\n },\n licenses: {\n get: [\"GET /licenses/{license}\"],\n getAllCommonlyUsed: [\"GET /licenses\"],\n getForRepo: [\"GET /repos/{owner}/{repo}/license\"]\n },\n markdown: {\n render: [\"POST /markdown\"],\n renderRaw: [\n \"POST /markdown/raw\",\n { headers: { \"content-type\": \"text/plain; charset=utf-8\" } }\n ]\n },\n meta: {\n get: [\"GET /meta\"],\n getAllVersions: [\"GET /versions\"],\n getOctocat: [\"GET /octocat\"],\n getZen: [\"GET /zen\"],\n root: [\"GET /\"]\n },\n migrations: {\n deleteArchiveForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/archive\"\n ],\n deleteArchiveForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/archive\"\n ],\n downloadArchiveForOrg: [\n \"GET /orgs/{org}/migrations/{migration_id}/archive\"\n ],\n getArchiveForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/archive\"\n ],\n getStatusForAuthenticatedUser: [\"GET /user/migrations/{migration_id}\"],\n getStatusForOrg: [\"GET /orgs/{org}/migrations/{migration_id}\"],\n listForAuthenticatedUser: [\"GET /user/migrations\"],\n listForOrg: [\"GET /orgs/{org}/migrations\"],\n listReposForAuthenticatedUser: [\n \"GET /user/migrations/{migration_id}/repositories\"\n ],\n listReposForOrg: [\"GET /orgs/{org}/migrations/{migration_id}/repositories\"],\n listReposForUser: [\n \"GET /user/migrations/{migration_id}/repositories\",\n {},\n { renamed: [\"migrations\", \"listReposForAuthenticatedUser\"] }\n ],\n startForAuthenticatedUser: [\"POST /user/migrations\"],\n startForOrg: [\"POST /orgs/{org}/migrations\"],\n unlockRepoForAuthenticatedUser: [\n \"DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock\"\n ],\n unlockRepoForOrg: [\n \"DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock\"\n ]\n },\n oidc: {\n getOidcCustomSubTemplateForOrg: [\n \"GET /orgs/{org}/actions/oidc/customization/sub\"\n ],\n updateOidcCustomSubTemplateForOrg: [\n \"PUT /orgs/{org}/actions/oidc/customization/sub\"\n ]\n },\n orgs: {\n addSecurityManagerTeam: [\n \"PUT /orgs/{org}/security-managers/teams/{team_slug}\"\n ],\n assignTeamToOrgRole: [\n \"PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}\"\n ],\n assignUserToOrgRole: [\n \"PUT /orgs/{org}/organization-roles/users/{username}/{role_id}\"\n ],\n blockUser: [\"PUT /orgs/{org}/blocks/{username}\"],\n cancelInvitation: [\"DELETE /orgs/{org}/invitations/{invitation_id}\"],\n checkBlockedUser: [\"GET /orgs/{org}/blocks/{username}\"],\n checkMembershipForUser: [\"GET /orgs/{org}/members/{username}\"],\n checkPublicMembershipForUser: [\"GET /orgs/{org}/public_members/{username}\"],\n convertMemberToOutsideCollaborator: [\n \"PUT /orgs/{org}/outside_collaborators/{username}\"\n ],\n createCustomOrganizationRole: [\"POST /orgs/{org}/organization-roles\"],\n createInvitation: [\"POST /orgs/{org}/invitations\"],\n createOrUpdateCustomProperties: [\"PATCH /orgs/{org}/properties/schema\"],\n createOrUpdateCustomPropertiesValuesForRepos: [\n \"PATCH /orgs/{org}/properties/values\"\n ],\n createOrUpdateCustomProperty: [\n \"PUT /orgs/{org}/properties/schema/{custom_property_name}\"\n ],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n delete: [\"DELETE /orgs/{org}\"],\n deleteCustomOrganizationRole: [\n \"DELETE /orgs/{org}/organization-roles/{role_id}\"\n ],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n enableOrDisableSecurityProductOnAllOrgRepos: [\n \"POST /orgs/{org}/{security_product}/{enablement}\"\n ],\n get: [\"GET /orgs/{org}\"],\n getAllCustomProperties: [\"GET /orgs/{org}/properties/schema\"],\n getCustomProperty: [\n \"GET /orgs/{org}/properties/schema/{custom_property_name}\"\n ],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\n getOrgRole: [\"GET /orgs/{org}/organization-roles/{role_id}\"],\n getWebhook: [\"GET /orgs/{org}/hooks/{hook_id}\"],\n getWebhookConfigForOrg: [\"GET /orgs/{org}/hooks/{hook_id}/config\"],\n getWebhookDelivery: [\n \"GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}\"\n ],\n list: [\"GET /organizations\"],\n listAppInstallations: [\"GET /orgs/{org}/installations\"],\n listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\n listCustomPropertiesValuesForRepos: [\"GET /orgs/{org}/properties/values\"],\n listFailedInvitations: [\"GET /orgs/{org}/failed_invitations\"],\n listForAuthenticatedUser: [\"GET /user/orgs\"],\n listForUser: [\"GET /users/{username}/orgs\"],\n listInvitationTeams: [\"GET /orgs/{org}/invitations/{invitation_id}/teams\"],\n listMembers: [\"GET /orgs/{org}/members\"],\n listMembershipsForAuthenticatedUser: [\"GET /user/memberships/orgs\"],\n listOrgRoleTeams: [\"GET /orgs/{org}/organization-roles/{role_id}/teams\"],\n listOrgRoleUsers: [\"GET /orgs/{org}/organization-roles/{role_id}/users\"],\n listOrgRoles: [\"GET /orgs/{org}/organization-roles\"],\n listOrganizationFineGrainedPermissions: [\n \"GET /orgs/{org}/organization-fine-grained-permissions\"\n ],\n listOutsideCollaborators: [\"GET /orgs/{org}/outside_collaborators\"],\n listPatGrantRepositories: [\n \"GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories\"\n ],\n listPatGrantRequestRepositories: [\n \"GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories\"\n ],\n listPatGrantRequests: [\"GET /orgs/{org}/personal-access-token-requests\"],\n listPatGrants: [\"GET /orgs/{org}/personal-access-tokens\"],\n listPendingInvitations: [\"GET /orgs/{org}/invitations\"],\n listPublicMembers: [\"GET /orgs/{org}/public_members\"],\n listSecurityManagerTeams: [\"GET /orgs/{org}/security-managers\"],\n listWebhookDeliveries: [\"GET /orgs/{org}/hooks/{hook_id}/deliveries\"],\n listWebhooks: [\"GET /orgs/{org}/hooks\"],\n patchCustomOrganizationRole: [\n \"PATCH /orgs/{org}/organization-roles/{role_id}\"\n ],\n pingWebhook: [\"POST /orgs/{org}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\n \"POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\"\n ],\n removeCustomProperty: [\n \"DELETE /orgs/{org}/properties/schema/{custom_property_name}\"\n ],\n removeMember: [\"DELETE /orgs/{org}/members/{username}\"],\n removeMembershipForUser: [\"DELETE /orgs/{org}/memberships/{username}\"],\n removeOutsideCollaborator: [\n \"DELETE /orgs/{org}/outside_collaborators/{username}\"\n ],\n removePublicMembershipForAuthenticatedUser: [\n \"DELETE /orgs/{org}/public_members/{username}\"\n ],\n removeSecurityManagerTeam: [\n \"DELETE /orgs/{org}/security-managers/teams/{team_slug}\"\n ],\n reviewPatGrantRequest: [\n \"POST /orgs/{org}/personal-access-token-requests/{pat_request_id}\"\n ],\n reviewPatGrantRequestsInBulk: [\n \"POST /orgs/{org}/personal-access-token-requests\"\n ],\n revokeAllOrgRolesTeam: [\n \"DELETE /orgs/{org}/organization-roles/teams/{team_slug}\"\n ],\n revokeAllOrgRolesUser: [\n \"DELETE /orgs/{org}/organization-roles/users/{username}\"\n ],\n revokeOrgRoleTeam: [\n \"DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}\"\n ],\n revokeOrgRoleUser: [\n \"DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}\"\n ],\n setMembershipForUser: [\"PUT /orgs/{org}/memberships/{username}\"],\n setPublicMembershipForAuthenticatedUser: [\n \"PUT /orgs/{org}/public_members/{username}\"\n ],\n unblockUser: [\"DELETE /orgs/{org}/blocks/{username}\"],\n update: [\"PATCH /orgs/{org}\"],\n updateMembershipForAuthenticatedUser: [\n \"PATCH /user/memberships/orgs/{org}\"\n ],\n updatePatAccess: [\"POST /orgs/{org}/personal-access-tokens/{pat_id}\"],\n updatePatAccesses: [\"POST /orgs/{org}/personal-access-tokens\"],\n updateWebhook: [\"PATCH /orgs/{org}/hooks/{hook_id}\"],\n updateWebhookConfigForOrg: [\"PATCH /orgs/{org}/hooks/{hook_id}/config\"]\n },\n packages: {\n deletePackageForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}\"\n ],\n deletePackageForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}\"\n ],\n deletePackageForUser: [\n \"DELETE /users/{username}/packages/{package_type}/{package_name}\"\n ],\n deletePackageVersionForAuthenticatedUser: [\n \"DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n deletePackageVersionForOrg: [\n \"DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n deletePackageVersionForUser: [\n \"DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n getAllPackageVersionsForAPackageOwnedByAnOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\",\n {},\n { renamed: [\"packages\", \"getAllPackageVersionsForPackageOwnedByOrg\"] }\n ],\n getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\",\n {},\n {\n renamed: [\n \"packages\",\n \"getAllPackageVersionsForPackageOwnedByAuthenticatedUser\"\n ]\n }\n ],\n getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions\"\n ],\n getAllPackageVersionsForPackageOwnedByOrg: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions\"\n ],\n getAllPackageVersionsForPackageOwnedByUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions\"\n ],\n getPackageForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}\"\n ],\n getPackageForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}\"\n ],\n getPackageForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}\"\n ],\n getPackageVersionForAuthenticatedUser: [\n \"GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n getPackageVersionForOrganization: [\n \"GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n getPackageVersionForUser: [\n \"GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}\"\n ],\n listDockerMigrationConflictingPackagesForAuthenticatedUser: [\n \"GET /user/docker/conflicts\"\n ],\n listDockerMigrationConflictingPackagesForOrganization: [\n \"GET /orgs/{org}/docker/conflicts\"\n ],\n listDockerMigrationConflictingPackagesForUser: [\n \"GET /users/{username}/docker/conflicts\"\n ],\n listPackagesForAuthenticatedUser: [\"GET /user/packages\"],\n listPackagesForOrganization: [\"GET /orgs/{org}/packages\"],\n listPackagesForUser: [\"GET /users/{username}/packages\"],\n restorePackageForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/restore{?token}\"\n ],\n restorePackageForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}\"\n ],\n restorePackageForUser: [\n \"POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}\"\n ],\n restorePackageVersionForAuthenticatedUser: [\n \"POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"\n ],\n restorePackageVersionForOrg: [\n \"POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"\n ],\n restorePackageVersionForUser: [\n \"POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore\"\n ]\n },\n projects: {\n addCollaborator: [\"PUT /projects/{project_id}/collaborators/{username}\"],\n createCard: [\"POST /projects/columns/{column_id}/cards\"],\n createColumn: [\"POST /projects/{project_id}/columns\"],\n createForAuthenticatedUser: [\"POST /user/projects\"],\n createForOrg: [\"POST /orgs/{org}/projects\"],\n createForRepo: [\"POST /repos/{owner}/{repo}/projects\"],\n delete: [\"DELETE /projects/{project_id}\"],\n deleteCard: [\"DELETE /projects/columns/cards/{card_id}\"],\n deleteColumn: [\"DELETE /projects/columns/{column_id}\"],\n get: [\"GET /projects/{project_id}\"],\n getCard: [\"GET /projects/columns/cards/{card_id}\"],\n getColumn: [\"GET /projects/columns/{column_id}\"],\n getPermissionForUser: [\n \"GET /projects/{project_id}/collaborators/{username}/permission\"\n ],\n listCards: [\"GET /projects/columns/{column_id}/cards\"],\n listCollaborators: [\"GET /projects/{project_id}/collaborators\"],\n listColumns: [\"GET /projects/{project_id}/columns\"],\n listForOrg: [\"GET /orgs/{org}/projects\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/projects\"],\n listForUser: [\"GET /users/{username}/projects\"],\n moveCard: [\"POST /projects/columns/cards/{card_id}/moves\"],\n moveColumn: [\"POST /projects/columns/{column_id}/moves\"],\n removeCollaborator: [\n \"DELETE /projects/{project_id}/collaborators/{username}\"\n ],\n update: [\"PATCH /projects/{project_id}\"],\n updateCard: [\"PATCH /projects/columns/cards/{card_id}\"],\n updateColumn: [\"PATCH /projects/columns/{column_id}\"]\n },\n pulls: {\n checkIfMerged: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n create: [\"POST /repos/{owner}/{repo}/pulls\"],\n createReplyForReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies\"\n ],\n createReview: [\"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n createReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/comments\"\n ],\n deletePendingReview: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"\n ],\n deleteReviewComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}\"\n ],\n dismissReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals\"\n ],\n get: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}\"],\n getReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"\n ],\n getReviewComment: [\"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}\"],\n list: [\"GET /repos/{owner}/{repo}/pulls\"],\n listCommentsForReview: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments\"\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/commits\"],\n listFiles: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/files\"],\n listRequestedReviewers: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"\n ],\n listReviewComments: [\n \"GET /repos/{owner}/{repo}/pulls/{pull_number}/comments\"\n ],\n listReviewCommentsForRepo: [\"GET /repos/{owner}/{repo}/pulls/comments\"],\n listReviews: [\"GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews\"],\n merge: [\"PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge\"],\n removeRequestedReviewers: [\n \"DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"\n ],\n requestReviewers: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers\"\n ],\n submitReview: [\n \"POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events\"\n ],\n update: [\"PATCH /repos/{owner}/{repo}/pulls/{pull_number}\"],\n updateBranch: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch\"\n ],\n updateReview: [\n \"PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}\"\n ],\n updateReviewComment: [\n \"PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}\"\n ]\n },\n rateLimit: { get: [\"GET /rate_limit\"] },\n reactions: {\n createForCommitComment: [\n \"POST /repos/{owner}/{repo}/comments/{comment_id}/reactions\"\n ],\n createForIssue: [\n \"POST /repos/{owner}/{repo}/issues/{issue_number}/reactions\"\n ],\n createForIssueComment: [\n \"POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\"\n ],\n createForPullRequestReviewComment: [\n \"POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\"\n ],\n createForRelease: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/reactions\"\n ],\n createForTeamDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\"\n ],\n createForTeamDiscussionInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\"\n ],\n deleteForCommitComment: [\n \"DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}\"\n ],\n deleteForIssue: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}\"\n ],\n deleteForIssueComment: [\n \"DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}\"\n ],\n deleteForPullRequestComment: [\n \"DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}\"\n ],\n deleteForRelease: [\n \"DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}\"\n ],\n deleteForTeamDiscussion: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}\"\n ],\n deleteForTeamDiscussionComment: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}\"\n ],\n listForCommitComment: [\n \"GET /repos/{owner}/{repo}/comments/{comment_id}/reactions\"\n ],\n listForIssue: [\"GET /repos/{owner}/{repo}/issues/{issue_number}/reactions\"],\n listForIssueComment: [\n \"GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions\"\n ],\n listForPullRequestReviewComment: [\n \"GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions\"\n ],\n listForRelease: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/reactions\"\n ],\n listForTeamDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions\"\n ],\n listForTeamDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions\"\n ]\n },\n repos: {\n acceptInvitation: [\n \"PATCH /user/repository_invitations/{invitation_id}\",\n {},\n { renamed: [\"repos\", \"acceptInvitationForAuthenticatedUser\"] }\n ],\n acceptInvitationForAuthenticatedUser: [\n \"PATCH /user/repository_invitations/{invitation_id}\"\n ],\n addAppAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" }\n ],\n addCollaborator: [\"PUT /repos/{owner}/{repo}/collaborators/{username}\"],\n addStatusCheckContexts: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" }\n ],\n addTeamAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" }\n ],\n addUserAccessRestrictions: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" }\n ],\n cancelPagesDeployment: [\n \"POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel\"\n ],\n checkAutomatedSecurityFixes: [\n \"GET /repos/{owner}/{repo}/automated-security-fixes\"\n ],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\n checkPrivateVulnerabilityReporting: [\n \"GET /repos/{owner}/{repo}/private-vulnerability-reporting\"\n ],\n checkVulnerabilityAlerts: [\n \"GET /repos/{owner}/{repo}/vulnerability-alerts\"\n ],\n codeownersErrors: [\"GET /repos/{owner}/{repo}/codeowners/errors\"],\n compareCommits: [\"GET /repos/{owner}/{repo}/compare/{base}...{head}\"],\n compareCommitsWithBasehead: [\n \"GET /repos/{owner}/{repo}/compare/{basehead}\"\n ],\n createAutolink: [\"POST /repos/{owner}/{repo}/autolinks\"],\n createCommitComment: [\n \"POST /repos/{owner}/{repo}/commits/{commit_sha}/comments\"\n ],\n createCommitSignatureProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"\n ],\n createCommitStatus: [\"POST /repos/{owner}/{repo}/statuses/{sha}\"],\n createDeployKey: [\"POST /repos/{owner}/{repo}/keys\"],\n createDeployment: [\"POST /repos/{owner}/{repo}/deployments\"],\n createDeploymentBranchPolicy: [\n \"POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies\"\n ],\n createDeploymentProtectionRule: [\n \"POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules\"\n ],\n createDeploymentStatus: [\n \"POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"\n ],\n createDispatchEvent: [\"POST /repos/{owner}/{repo}/dispatches\"],\n createForAuthenticatedUser: [\"POST /user/repos\"],\n createFork: [\"POST /repos/{owner}/{repo}/forks\"],\n createInOrg: [\"POST /orgs/{org}/repos\"],\n createOrUpdateCustomPropertiesValues: [\n \"PATCH /repos/{owner}/{repo}/properties/values\"\n ],\n createOrUpdateEnvironment: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}\"\n ],\n createOrUpdateFileContents: [\"PUT /repos/{owner}/{repo}/contents/{path}\"],\n createOrgRuleset: [\"POST /orgs/{org}/rulesets\"],\n createPagesDeployment: [\"POST /repos/{owner}/{repo}/pages/deployments\"],\n createPagesSite: [\"POST /repos/{owner}/{repo}/pages\"],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createRepoRuleset: [\"POST /repos/{owner}/{repo}/rulesets\"],\n createTagProtection: [\"POST /repos/{owner}/{repo}/tags/protection\"],\n createUsingTemplate: [\n \"POST /repos/{template_owner}/{template_repo}/generate\"\n ],\n createWebhook: [\"POST /repos/{owner}/{repo}/hooks\"],\n declineInvitation: [\n \"DELETE /user/repository_invitations/{invitation_id}\",\n {},\n { renamed: [\"repos\", \"declineInvitationForAuthenticatedUser\"] }\n ],\n declineInvitationForAuthenticatedUser: [\n \"DELETE /user/repository_invitations/{invitation_id}\"\n ],\n delete: [\"DELETE /repos/{owner}/{repo}\"],\n deleteAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"\n ],\n deleteAdminBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"\n ],\n deleteAnEnvironment: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}\"\n ],\n deleteAutolink: [\"DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n deleteBranchProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection\"\n ],\n deleteCommitComment: [\"DELETE /repos/{owner}/{repo}/comments/{comment_id}\"],\n deleteCommitSignatureProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"\n ],\n deleteDeployKey: [\"DELETE /repos/{owner}/{repo}/keys/{key_id}\"],\n deleteDeployment: [\n \"DELETE /repos/{owner}/{repo}/deployments/{deployment_id}\"\n ],\n deleteDeploymentBranchPolicy: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}\"\n ],\n deleteFile: [\"DELETE /repos/{owner}/{repo}/contents/{path}\"],\n deleteInvitation: [\n \"DELETE /repos/{owner}/{repo}/invitations/{invitation_id}\"\n ],\n deleteOrgRuleset: [\"DELETE /orgs/{org}/rulesets/{ruleset_id}\"],\n deletePagesSite: [\"DELETE /repos/{owner}/{repo}/pages\"],\n deletePullRequestReviewProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"\n ],\n deleteRelease: [\"DELETE /repos/{owner}/{repo}/releases/{release_id}\"],\n deleteReleaseAsset: [\n \"DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}\"\n ],\n deleteRepoRuleset: [\"DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}\"],\n deleteTagProtection: [\n \"DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}\"\n ],\n deleteWebhook: [\"DELETE /repos/{owner}/{repo}/hooks/{hook_id}\"],\n disableAutomatedSecurityFixes: [\n \"DELETE /repos/{owner}/{repo}/automated-security-fixes\"\n ],\n disableDeploymentProtectionRule: [\n \"DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}\"\n ],\n disablePrivateVulnerabilityReporting: [\n \"DELETE /repos/{owner}/{repo}/private-vulnerability-reporting\"\n ],\n disableVulnerabilityAlerts: [\n \"DELETE /repos/{owner}/{repo}/vulnerability-alerts\"\n ],\n downloadArchive: [\n \"GET /repos/{owner}/{repo}/zipball/{ref}\",\n {},\n { renamed: [\"repos\", \"downloadZipballArchive\"] }\n ],\n downloadTarballArchive: [\"GET /repos/{owner}/{repo}/tarball/{ref}\"],\n downloadZipballArchive: [\"GET /repos/{owner}/{repo}/zipball/{ref}\"],\n enableAutomatedSecurityFixes: [\n \"PUT /repos/{owner}/{repo}/automated-security-fixes\"\n ],\n enablePrivateVulnerabilityReporting: [\n \"PUT /repos/{owner}/{repo}/private-vulnerability-reporting\"\n ],\n enableVulnerabilityAlerts: [\n \"PUT /repos/{owner}/{repo}/vulnerability-alerts\"\n ],\n generateReleaseNotes: [\n \"POST /repos/{owner}/{repo}/releases/generate-notes\"\n ],\n get: [\"GET /repos/{owner}/{repo}\"],\n getAccessRestrictions: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions\"\n ],\n getAdminBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"\n ],\n getAllDeploymentProtectionRules: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules\"\n ],\n getAllEnvironments: [\"GET /repos/{owner}/{repo}/environments\"],\n getAllStatusCheckContexts: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\"\n ],\n getAllTopics: [\"GET /repos/{owner}/{repo}/topics\"],\n getAppsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\"\n ],\n getAutolink: [\"GET /repos/{owner}/{repo}/autolinks/{autolink_id}\"],\n getBranch: [\"GET /repos/{owner}/{repo}/branches/{branch}\"],\n getBranchProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection\"\n ],\n getBranchRules: [\"GET /repos/{owner}/{repo}/rules/branches/{branch}\"],\n getClones: [\"GET /repos/{owner}/{repo}/traffic/clones\"],\n getCodeFrequencyStats: [\"GET /repos/{owner}/{repo}/stats/code_frequency\"],\n getCollaboratorPermissionLevel: [\n \"GET /repos/{owner}/{repo}/collaborators/{username}/permission\"\n ],\n getCombinedStatusForRef: [\"GET /repos/{owner}/{repo}/commits/{ref}/status\"],\n getCommit: [\"GET /repos/{owner}/{repo}/commits/{ref}\"],\n getCommitActivityStats: [\"GET /repos/{owner}/{repo}/stats/commit_activity\"],\n getCommitComment: [\"GET /repos/{owner}/{repo}/comments/{comment_id}\"],\n getCommitSignatureProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures\"\n ],\n getCommunityProfileMetrics: [\"GET /repos/{owner}/{repo}/community/profile\"],\n getContent: [\"GET /repos/{owner}/{repo}/contents/{path}\"],\n getContributorsStats: [\"GET /repos/{owner}/{repo}/stats/contributors\"],\n getCustomDeploymentProtectionRule: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}\"\n ],\n getCustomPropertiesValues: [\"GET /repos/{owner}/{repo}/properties/values\"],\n getDeployKey: [\"GET /repos/{owner}/{repo}/keys/{key_id}\"],\n getDeployment: [\"GET /repos/{owner}/{repo}/deployments/{deployment_id}\"],\n getDeploymentBranchPolicy: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}\"\n ],\n getDeploymentStatus: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\"\n ],\n getEnvironment: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}\"\n ],\n getLatestPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/latest\"],\n getLatestRelease: [\"GET /repos/{owner}/{repo}/releases/latest\"],\n getOrgRuleSuite: [\"GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}\"],\n getOrgRuleSuites: [\"GET /orgs/{org}/rulesets/rule-suites\"],\n getOrgRuleset: [\"GET /orgs/{org}/rulesets/{ruleset_id}\"],\n getOrgRulesets: [\"GET /orgs/{org}/rulesets\"],\n getPages: [\"GET /repos/{owner}/{repo}/pages\"],\n getPagesBuild: [\"GET /repos/{owner}/{repo}/pages/builds/{build_id}\"],\n getPagesDeployment: [\n \"GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}\"\n ],\n getPagesHealthCheck: [\"GET /repos/{owner}/{repo}/pages/health\"],\n getParticipationStats: [\"GET /repos/{owner}/{repo}/stats/participation\"],\n getPullRequestReviewProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"\n ],\n getPunchCardStats: [\"GET /repos/{owner}/{repo}/stats/punch_card\"],\n getReadme: [\"GET /repos/{owner}/{repo}/readme\"],\n getReadmeInDirectory: [\"GET /repos/{owner}/{repo}/readme/{dir}\"],\n getRelease: [\"GET /repos/{owner}/{repo}/releases/{release_id}\"],\n getReleaseAsset: [\"GET /repos/{owner}/{repo}/releases/assets/{asset_id}\"],\n getReleaseByTag: [\"GET /repos/{owner}/{repo}/releases/tags/{tag}\"],\n getRepoRuleSuite: [\n \"GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}\"\n ],\n getRepoRuleSuites: [\"GET /repos/{owner}/{repo}/rulesets/rule-suites\"],\n getRepoRuleset: [\"GET /repos/{owner}/{repo}/rulesets/{ruleset_id}\"],\n getRepoRulesets: [\"GET /repos/{owner}/{repo}/rulesets\"],\n getStatusChecksProtection: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"\n ],\n getTeamsWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\"\n ],\n getTopPaths: [\"GET /repos/{owner}/{repo}/traffic/popular/paths\"],\n getTopReferrers: [\"GET /repos/{owner}/{repo}/traffic/popular/referrers\"],\n getUsersWithAccessToProtectedBranch: [\n \"GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\"\n ],\n getViews: [\"GET /repos/{owner}/{repo}/traffic/views\"],\n getWebhook: [\"GET /repos/{owner}/{repo}/hooks/{hook_id}\"],\n getWebhookConfigForRepo: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/config\"\n ],\n getWebhookDelivery: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}\"\n ],\n listActivities: [\"GET /repos/{owner}/{repo}/activity\"],\n listAutolinks: [\"GET /repos/{owner}/{repo}/autolinks\"],\n listBranches: [\"GET /repos/{owner}/{repo}/branches\"],\n listBranchesForHeadCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head\"\n ],\n listCollaborators: [\"GET /repos/{owner}/{repo}/collaborators\"],\n listCommentsForCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/comments\"\n ],\n listCommitCommentsForRepo: [\"GET /repos/{owner}/{repo}/comments\"],\n listCommitStatusesForRef: [\n \"GET /repos/{owner}/{repo}/commits/{ref}/statuses\"\n ],\n listCommits: [\"GET /repos/{owner}/{repo}/commits\"],\n listContributors: [\"GET /repos/{owner}/{repo}/contributors\"],\n listCustomDeploymentRuleIntegrations: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps\"\n ],\n listDeployKeys: [\"GET /repos/{owner}/{repo}/keys\"],\n listDeploymentBranchPolicies: [\n \"GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies\"\n ],\n listDeploymentStatuses: [\n \"GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\"\n ],\n listDeployments: [\"GET /repos/{owner}/{repo}/deployments\"],\n listForAuthenticatedUser: [\"GET /user/repos\"],\n listForOrg: [\"GET /orgs/{org}/repos\"],\n listForUser: [\"GET /users/{username}/repos\"],\n listForks: [\"GET /repos/{owner}/{repo}/forks\"],\n listInvitations: [\"GET /repos/{owner}/{repo}/invitations\"],\n listInvitationsForAuthenticatedUser: [\"GET /user/repository_invitations\"],\n listLanguages: [\"GET /repos/{owner}/{repo}/languages\"],\n listPagesBuilds: [\"GET /repos/{owner}/{repo}/pages/builds\"],\n listPublic: [\"GET /repositories\"],\n listPullRequestsAssociatedWithCommit: [\n \"GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls\"\n ],\n listReleaseAssets: [\n \"GET /repos/{owner}/{repo}/releases/{release_id}/assets\"\n ],\n listReleases: [\"GET /repos/{owner}/{repo}/releases\"],\n listTagProtection: [\"GET /repos/{owner}/{repo}/tags/protection\"],\n listTags: [\"GET /repos/{owner}/{repo}/tags\"],\n listTeams: [\"GET /repos/{owner}/{repo}/teams\"],\n listWebhookDeliveries: [\n \"GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries\"\n ],\n listWebhooks: [\"GET /repos/{owner}/{repo}/hooks\"],\n merge: [\"POST /repos/{owner}/{repo}/merges\"],\n mergeUpstream: [\"POST /repos/{owner}/{repo}/merge-upstream\"],\n pingWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/pings\"],\n redeliverWebhookDelivery: [\n \"POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts\"\n ],\n removeAppAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" }\n ],\n removeCollaborator: [\n \"DELETE /repos/{owner}/{repo}/collaborators/{username}\"\n ],\n removeStatusCheckContexts: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" }\n ],\n removeStatusCheckProtection: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"\n ],\n removeTeamAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" }\n ],\n removeUserAccessRestrictions: [\n \"DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" }\n ],\n renameBranch: [\"POST /repos/{owner}/{repo}/branches/{branch}/rename\"],\n replaceAllTopics: [\"PUT /repos/{owner}/{repo}/topics\"],\n requestPagesBuild: [\"POST /repos/{owner}/{repo}/pages/builds\"],\n setAdminBranchProtection: [\n \"POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins\"\n ],\n setAppAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps\",\n {},\n { mapToData: \"apps\" }\n ],\n setStatusCheckContexts: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts\",\n {},\n { mapToData: \"contexts\" }\n ],\n setTeamAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams\",\n {},\n { mapToData: \"teams\" }\n ],\n setUserAccessRestrictions: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users\",\n {},\n { mapToData: \"users\" }\n ],\n testPushWebhook: [\"POST /repos/{owner}/{repo}/hooks/{hook_id}/tests\"],\n transfer: [\"POST /repos/{owner}/{repo}/transfer\"],\n update: [\"PATCH /repos/{owner}/{repo}\"],\n updateBranchProtection: [\n \"PUT /repos/{owner}/{repo}/branches/{branch}/protection\"\n ],\n updateCommitComment: [\"PATCH /repos/{owner}/{repo}/comments/{comment_id}\"],\n updateDeploymentBranchPolicy: [\n \"PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}\"\n ],\n updateInformationAboutPagesSite: [\"PUT /repos/{owner}/{repo}/pages\"],\n updateInvitation: [\n \"PATCH /repos/{owner}/{repo}/invitations/{invitation_id}\"\n ],\n updateOrgRuleset: [\"PUT /orgs/{org}/rulesets/{ruleset_id}\"],\n updatePullRequestReviewProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews\"\n ],\n updateRelease: [\"PATCH /repos/{owner}/{repo}/releases/{release_id}\"],\n updateReleaseAsset: [\n \"PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}\"\n ],\n updateRepoRuleset: [\"PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}\"],\n updateStatusCheckPotection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\",\n {},\n { renamed: [\"repos\", \"updateStatusCheckProtection\"] }\n ],\n updateStatusCheckProtection: [\n \"PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks\"\n ],\n updateWebhook: [\"PATCH /repos/{owner}/{repo}/hooks/{hook_id}\"],\n updateWebhookConfigForRepo: [\n \"PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config\"\n ],\n uploadReleaseAsset: [\n \"POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}\",\n { baseUrl: \"https://uploads.github.com\" }\n ]\n },\n search: {\n code: [\"GET /search/code\"],\n commits: [\"GET /search/commits\"],\n issuesAndPullRequests: [\"GET /search/issues\"],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\"],\n users: [\"GET /search/users\"]\n },\n secretScanning: {\n getAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"\n ],\n listAlertsForEnterprise: [\n \"GET /enterprises/{enterprise}/secret-scanning/alerts\"\n ],\n listAlertsForOrg: [\"GET /orgs/{org}/secret-scanning/alerts\"],\n listAlertsForRepo: [\"GET /repos/{owner}/{repo}/secret-scanning/alerts\"],\n listLocationsForAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations\"\n ],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"\n ]\n },\n securityAdvisories: {\n createFork: [\n \"POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks\"\n ],\n createPrivateVulnerabilityReport: [\n \"POST /repos/{owner}/{repo}/security-advisories/reports\"\n ],\n createRepositoryAdvisory: [\n \"POST /repos/{owner}/{repo}/security-advisories\"\n ],\n createRepositoryAdvisoryCveRequest: [\n \"POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve\"\n ],\n getGlobalAdvisory: [\"GET /advisories/{ghsa_id}\"],\n getRepositoryAdvisory: [\n \"GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}\"\n ],\n listGlobalAdvisories: [\"GET /advisories\"],\n listOrgRepositoryAdvisories: [\"GET /orgs/{org}/security-advisories\"],\n listRepositoryAdvisories: [\"GET /repos/{owner}/{repo}/security-advisories\"],\n updateRepositoryAdvisory: [\n \"PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}\"\n ]\n },\n teams: {\n addOrUpdateMembershipForUserInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}\"\n ],\n addOrUpdateProjectPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\"\n ],\n addOrUpdateRepoPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"\n ],\n checkPermissionsForProjectInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\"\n ],\n checkPermissionsForRepoInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"\n ],\n create: [\"POST /orgs/{org}/teams\"],\n createDiscussionCommentInOrg: [\n \"POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"\n ],\n createDiscussionInOrg: [\"POST /orgs/{org}/teams/{team_slug}/discussions\"],\n deleteDiscussionCommentInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"\n ],\n deleteDiscussionInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"\n ],\n deleteInOrg: [\"DELETE /orgs/{org}/teams/{team_slug}\"],\n getByName: [\"GET /orgs/{org}/teams/{team_slug}\"],\n getDiscussionCommentInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"\n ],\n getDiscussionInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"\n ],\n getMembershipForUserInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/memberships/{username}\"\n ],\n list: [\"GET /orgs/{org}/teams\"],\n listChildInOrg: [\"GET /orgs/{org}/teams/{team_slug}/teams\"],\n listDiscussionCommentsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments\"\n ],\n listDiscussionsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/discussions\"],\n listForAuthenticatedUser: [\"GET /user/teams\"],\n listMembersInOrg: [\"GET /orgs/{org}/teams/{team_slug}/members\"],\n listPendingInvitationsInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/invitations\"\n ],\n listProjectsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects\"],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\"\n ],\n removeProjectInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}\"\n ],\n removeRepoInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"\n ],\n updateDiscussionCommentInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}\"\n ],\n updateDiscussionInOrg: [\n \"PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}\"\n ],\n updateInOrg: [\"PATCH /orgs/{org}/teams/{team_slug}\"]\n },\n users: {\n addEmailForAuthenticated: [\n \"POST /user/emails\",\n {},\n { renamed: [\"users\", \"addEmailForAuthenticatedUser\"] }\n ],\n addEmailForAuthenticatedUser: [\"POST /user/emails\"],\n addSocialAccountForAuthenticatedUser: [\"POST /user/social_accounts\"],\n block: [\"PUT /user/blocks/{username}\"],\n checkBlocked: [\"GET /user/blocks/{username}\"],\n checkFollowingForUser: [\"GET /users/{username}/following/{target_user}\"],\n checkPersonIsFollowedByAuthenticated: [\"GET /user/following/{username}\"],\n createGpgKeyForAuthenticated: [\n \"POST /user/gpg_keys\",\n {},\n { renamed: [\"users\", \"createGpgKeyForAuthenticatedUser\"] }\n ],\n createGpgKeyForAuthenticatedUser: [\"POST /user/gpg_keys\"],\n createPublicSshKeyForAuthenticated: [\n \"POST /user/keys\",\n {},\n { renamed: [\"users\", \"createPublicSshKeyForAuthenticatedUser\"] }\n ],\n createPublicSshKeyForAuthenticatedUser: [\"POST /user/keys\"],\n createSshSigningKeyForAuthenticatedUser: [\"POST /user/ssh_signing_keys\"],\n deleteEmailForAuthenticated: [\n \"DELETE /user/emails\",\n {},\n { renamed: [\"users\", \"deleteEmailForAuthenticatedUser\"] }\n ],\n deleteEmailForAuthenticatedUser: [\"DELETE /user/emails\"],\n deleteGpgKeyForAuthenticated: [\n \"DELETE /user/gpg_keys/{gpg_key_id}\",\n {},\n { renamed: [\"users\", \"deleteGpgKeyForAuthenticatedUser\"] }\n ],\n deleteGpgKeyForAuthenticatedUser: [\"DELETE /user/gpg_keys/{gpg_key_id}\"],\n deletePublicSshKeyForAuthenticated: [\n \"DELETE /user/keys/{key_id}\",\n {},\n { renamed: [\"users\", \"deletePublicSshKeyForAuthenticatedUser\"] }\n ],\n deletePublicSshKeyForAuthenticatedUser: [\"DELETE /user/keys/{key_id}\"],\n deleteSocialAccountForAuthenticatedUser: [\"DELETE /user/social_accounts\"],\n deleteSshSigningKeyForAuthenticatedUser: [\n \"DELETE /user/ssh_signing_keys/{ssh_signing_key_id}\"\n ],\n follow: [\"PUT /user/following/{username}\"],\n getAuthenticated: [\"GET /user\"],\n getByUsername: [\"GET /users/{username}\"],\n getContextForUser: [\"GET /users/{username}/hovercard\"],\n getGpgKeyForAuthenticated: [\n \"GET /user/gpg_keys/{gpg_key_id}\",\n {},\n { renamed: [\"users\", \"getGpgKeyForAuthenticatedUser\"] }\n ],\n getGpgKeyForAuthenticatedUser: [\"GET /user/gpg_keys/{gpg_key_id}\"],\n getPublicSshKeyForAuthenticated: [\n \"GET /user/keys/{key_id}\",\n {},\n { renamed: [\"users\", \"getPublicSshKeyForAuthenticatedUser\"] }\n ],\n getPublicSshKeyForAuthenticatedUser: [\"GET /user/keys/{key_id}\"],\n getSshSigningKeyForAuthenticatedUser: [\n \"GET /user/ssh_signing_keys/{ssh_signing_key_id}\"\n ],\n list: [\"GET /users\"],\n listBlockedByAuthenticated: [\n \"GET /user/blocks\",\n {},\n { renamed: [\"users\", \"listBlockedByAuthenticatedUser\"] }\n ],\n listBlockedByAuthenticatedUser: [\"GET /user/blocks\"],\n listEmailsForAuthenticated: [\n \"GET /user/emails\",\n {},\n { renamed: [\"users\", \"listEmailsForAuthenticatedUser\"] }\n ],\n listEmailsForAuthenticatedUser: [\"GET /user/emails\"],\n listFollowedByAuthenticated: [\n \"GET /user/following\",\n {},\n { renamed: [\"users\", \"listFollowedByAuthenticatedUser\"] }\n ],\n listFollowedByAuthenticatedUser: [\"GET /user/following\"],\n listFollowersForAuthenticatedUser: [\"GET /user/followers\"],\n listFollowersForUser: [\"GET /users/{username}/followers\"],\n listFollowingForUser: [\"GET /users/{username}/following\"],\n listGpgKeysForAuthenticated: [\n \"GET /user/gpg_keys\",\n {},\n { renamed: [\"users\", \"listGpgKeysForAuthenticatedUser\"] }\n ],\n listGpgKeysForAuthenticatedUser: [\"GET /user/gpg_keys\"],\n listGpgKeysForUser: [\"GET /users/{username}/gpg_keys\"],\n listPublicEmailsForAuthenticated: [\n \"GET /user/public_emails\",\n {},\n { renamed: [\"users\", \"listPublicEmailsForAuthenticatedUser\"] }\n ],\n listPublicEmailsForAuthenticatedUser: [\"GET /user/public_emails\"],\n listPublicKeysForUser: [\"GET /users/{username}/keys\"],\n listPublicSshKeysForAuthenticated: [\n \"GET /user/keys\",\n {},\n { renamed: [\"users\", \"listPublicSshKeysForAuthenticatedUser\"] }\n ],\n listPublicSshKeysForAuthenticatedUser: [\"GET /user/keys\"],\n listSocialAccountsForAuthenticatedUser: [\"GET /user/social_accounts\"],\n listSocialAccountsForUser: [\"GET /users/{username}/social_accounts\"],\n listSshSigningKeysForAuthenticatedUser: [\"GET /user/ssh_signing_keys\"],\n listSshSigningKeysForUser: [\"GET /users/{username}/ssh_signing_keys\"],\n setPrimaryEmailVisibilityForAuthenticated: [\n \"PATCH /user/email/visibility\",\n {},\n { renamed: [\"users\", \"setPrimaryEmailVisibilityForAuthenticatedUser\"] }\n ],\n setPrimaryEmailVisibilityForAuthenticatedUser: [\n \"PATCH /user/email/visibility\"\n ],\n unblock: [\"DELETE /user/blocks/{username}\"],\n unfollow: [\"DELETE /user/following/{username}\"],\n updateAuthenticated: [\"PATCH /user\"]\n }\n};\nvar endpoints_default = Endpoints;\nexport {\n endpoints_default as default\n};\n", "import ENDPOINTS from \"./generated/endpoints.js\";\nconst endpointMethodsMap = /* @__PURE__ */ new Map();\nfor (const [scope, endpoints] of Object.entries(ENDPOINTS)) {\n for (const [methodName, endpoint] of Object.entries(endpoints)) {\n const [route, defaults, decorations] = endpoint;\n const [method, url] = route.split(/ /);\n const endpointDefaults = Object.assign(\n {\n method,\n url\n },\n defaults\n );\n if (!endpointMethodsMap.has(scope)) {\n endpointMethodsMap.set(scope, /* @__PURE__ */ new Map());\n }\n endpointMethodsMap.get(scope).set(methodName, {\n scope,\n methodName,\n endpointDefaults,\n decorations\n });\n }\n}\nconst handler = {\n has({ scope }, methodName) {\n return endpointMethodsMap.get(scope).has(methodName);\n },\n getOwnPropertyDescriptor(target, methodName) {\n return {\n value: this.get(target, methodName),\n // ensures method is in the cache\n configurable: true,\n writable: true,\n enumerable: true\n };\n },\n defineProperty(target, methodName, descriptor) {\n Object.defineProperty(target.cache, methodName, descriptor);\n return true;\n },\n deleteProperty(target, methodName) {\n delete target.cache[methodName];\n return true;\n },\n ownKeys({ scope }) {\n return [...endpointMethodsMap.get(scope).keys()];\n },\n set(target, methodName, value) {\n return target.cache[methodName] = value;\n },\n get({ octokit, scope, cache }, methodName) {\n if (cache[methodName]) {\n return cache[methodName];\n }\n const method = endpointMethodsMap.get(scope).get(methodName);\n if (!method) {\n return void 0;\n }\n const { endpointDefaults, decorations } = method;\n if (decorations) {\n cache[methodName] = decorate(\n octokit,\n scope,\n methodName,\n endpointDefaults,\n decorations\n );\n } else {\n cache[methodName] = octokit.request.defaults(endpointDefaults);\n }\n return cache[methodName];\n }\n};\nfunction endpointsToMethods(octokit) {\n const newMethods = {};\n for (const scope of endpointMethodsMap.keys()) {\n newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler);\n }\n return newMethods;\n}\nfunction decorate(octokit, scope, methodName, defaults, decorations) {\n const requestWithDefaults = octokit.request.defaults(defaults);\n function withDecorations(...args) {\n let options = requestWithDefaults.endpoint.merge(...args);\n if (decorations.mapToData) {\n options = Object.assign({}, options, {\n data: options[decorations.mapToData],\n [decorations.mapToData]: void 0\n });\n return requestWithDefaults(options);\n }\n if (decorations.renamed) {\n const [newScope, newMethodName] = decorations.renamed;\n octokit.log.warn(\n `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`\n );\n }\n if (decorations.deprecated) {\n octokit.log.warn(decorations.deprecated);\n }\n if (decorations.renamedParameters) {\n const options2 = requestWithDefaults.endpoint.merge(...args);\n for (const [name, alias] of Object.entries(\n decorations.renamedParameters\n )) {\n if (name in options2) {\n octokit.log.warn(\n `\"${name}\" parameter is deprecated for \"octokit.${scope}.${methodName}()\". Use \"${alias}\" instead`\n );\n if (!(alias in options2)) {\n options2[alias] = options2[name];\n }\n delete options2[name];\n }\n }\n return requestWithDefaults(options2);\n }\n return requestWithDefaults(...args);\n }\n return Object.assign(withDecorations, requestWithDefaults);\n}\nexport {\n endpointsToMethods\n};\n", "import { VERSION } from \"./version.js\";\nimport { endpointsToMethods } from \"./endpoints-to-methods.js\";\nfunction restEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit);\n return {\n rest: api\n };\n}\nrestEndpointMethods.VERSION = VERSION;\nfunction legacyRestEndpointMethods(octokit) {\n const api = endpointsToMethods(octokit);\n return {\n ...api,\n rest: api\n };\n}\nlegacyRestEndpointMethods.VERSION = VERSION;\nexport {\n legacyRestEndpointMethods,\n restEndpointMethods\n};\n"], + "mappings": "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", + "names": [] +} diff --git a/dist/node_modules/@octokit/plugin-rest-endpoint-methods/package.json b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/package.json new file mode 100644 index 00000000..bdefb4be --- /dev/null +++ b/dist/node_modules/@octokit/plugin-rest-endpoint-methods/package.json @@ -0,0 +1,61 @@ +{ + "name": "@octokit/plugin-rest-endpoint-methods", + "version": "13.2.2", + "description": "Octokit plugin adding one method for all of api.github.com REST API endpoints", + "repository": "github:octokit/plugin-rest-endpoint-methods.js", + "keywords": [ + "github", + "api", + "sdk", + "toolkit" + ], + "author": "Gregor Martynus (https://twitter.com/gr2m)", + "license": "MIT", + "dependencies": { + "@octokit/types": "^13.5.0" + }, + "devDependencies": { + "@octokit/core": "^5.0.0", + "@octokit/tsconfig": "^2.0.0", + "@types/fetch-mock": "^7.3.1", + "@types/jest": "^29.0.0", + "@types/node": "^20.0.0", + "@types/sinon": "^17.0.0", + "esbuild": "^0.20.0", + "fetch-mock": "npm:@gr2m/fetch-mock@^9.11.0-pull-request-644.1", + "github-openapi-graphql-query": "^4.3.1", + "glob": "^10.2.6", + "jest": "^29.0.0", + "lodash.camelcase": "^4.3.0", + "lodash.set": "^4.3.2", + "lodash.upperfirst": "^4.3.1", + "mustache": "^4.0.0", + "npm-run-all2": "^6.0.0", + "prettier": "3.2.5", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "sinon": "^17.0.0", + "sort-keys": "^5.0.0", + "string-to-jsdoc-comment": "^1.0.0", + "ts-jest": "^29.0.0", + "typescript": "^5.0.0" + }, + "peerDependencies": { + "@octokit/core": "^5" + }, + "publishConfig": { + "access": "public", + "provenance": true + }, + "engines": { + "node": ">= 18" + }, + "files": [ + "dist-*/**", + "bin/**" + ], + "main": "dist-node/index.js", + "browser": "dist-web/index.js", + "types": "dist-types/index.d.ts", + "module": "dist-src/index.js", + "sideEffects": false +} diff --git a/dist/node_modules/@octokit/request-error/LICENSE b/dist/node_modules/@octokit/request-error/LICENSE new file mode 100644 index 00000000..ef2c18ee --- /dev/null +++ b/dist/node_modules/@octokit/request-error/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2019 Octokit contributors + +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. diff --git a/dist/node_modules/@octokit/request-error/README.md b/dist/node_modules/@octokit/request-error/README.md new file mode 100644 index 00000000..cdd36955 --- /dev/null +++ b/dist/node_modules/@octokit/request-error/README.md @@ -0,0 +1,88 @@ +# http-error.js + +> Error class for Octokit request errors + +[![@latest](https://img.shields.io/npm/v/@octokit/request-error.svg)](https://www.npmjs.com/package/@octokit/request-error) +[![Build Status](https://github.com/octokit/request-error.js/workflows/Test/badge.svg)](https://github.com/octokit/request-error.js/actions?query=workflow%3ATest) + +## Usage + + + + + + +
+Browsers + +Load @octokit/request-error directly from esm.sh + +```html + +``` + +
+Node + + +Install with npm install @octokit/request-error + +```js +const { RequestError } = require("@octokit/request-error"); +// or: import { RequestError } from "@octokit/request-error"; +``` + +
+ +```js +const error = new RequestError("Oops", 500, { + request: { + method: "POST", + url: "https://api.github.com/foo", + body: { + bar: "baz", + }, + headers: { + authorization: "token secret123", + }, + }, + response: { + status: 500, + url: "https://api.github.com/foo", + headers: { + "x-github-request-id": "1:2:3:4", + }, + data: { + foo: "bar", + }, + }, +}); + +error.message; // Oops +error.status; // 500 +error.request; // { method, url, headers, body } +error.response; // { url, status, headers, data } +``` + +### Usage with Octokit + +```js +try { + // your code here that sends at least one Octokit request + await octokit.request("GET /"); +} catch (error) { + // Octokit errors always have a `error.status` property which is the http response code + if (error.status) { + // handle Octokit error + } else { + // handle all other errors + throw error; + } +} +``` + +## LICENSE + +[MIT](LICENSE) diff --git a/dist/node_modules/@octokit/request-error/dist-node/index.js b/dist/node_modules/@octokit/request-error/dist-node/index.js new file mode 100644 index 00000000..9e50e438 --- /dev/null +++ b/dist/node_modules/@octokit/request-error/dist-node/index.js @@ -0,0 +1,92 @@ +"use strict"; +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + RequestError: () => RequestError +}); +module.exports = __toCommonJS(dist_src_exports); +var import_deprecation = require("deprecation"); +var import_once = __toESM(require("once")); +var logOnceCode = (0, import_once.default)((deprecation) => console.warn(deprecation)); +var logOnceHeaders = (0, import_once.default)((deprecation) => console.warn(deprecation)); +var RequestError = class extends Error { + constructor(message, statusCode, options) { + super(message); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + this.name = "HttpError"; + this.status = statusCode; + let headers; + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; + } + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } + const requestCopy = Object.assign({}, options.request); + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace( + /(? console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\nclass RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n }\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(\n /(? console.warn(deprecation)); +const logOnceHeaders = once((deprecation) => console.warn(deprecation)); +class RequestError extends Error { + constructor(message, statusCode, options) { + super(message); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + this.name = "HttpError"; + this.status = statusCode; + let headers; + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; + } + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } + const requestCopy = Object.assign({}, options.request); + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace( + /(?; + constructor(message: string, statusCode: number, options: RequestErrorOptions); +} diff --git a/dist/node_modules/@octokit/request-error/dist-types/types.d.ts b/dist/node_modules/@octokit/request-error/dist-types/types.d.ts new file mode 100644 index 00000000..4d084aa1 --- /dev/null +++ b/dist/node_modules/@octokit/request-error/dist-types/types.d.ts @@ -0,0 +1,9 @@ +import type { RequestOptions, ResponseHeaders, OctokitResponse } from "@octokit/types"; +export type RequestErrorOptions = { + /** @deprecated set `response` instead */ + headers?: ResponseHeaders; + request: RequestOptions; +} | { + response: OctokitResponse; + request: RequestOptions; +}; diff --git a/dist/node_modules/@octokit/request-error/dist-web/index.js b/dist/node_modules/@octokit/request-error/dist-web/index.js new file mode 100644 index 00000000..f13e8e19 --- /dev/null +++ b/dist/node_modules/@octokit/request-error/dist-web/index.js @@ -0,0 +1,57 @@ +// pkg/dist-src/index.js +import { Deprecation } from "deprecation"; +import once from "once"; +var logOnceCode = once((deprecation) => console.warn(deprecation)); +var logOnceHeaders = once((deprecation) => console.warn(deprecation)); +var RequestError = class extends Error { + constructor(message, statusCode, options) { + super(message); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + this.name = "HttpError"; + this.status = statusCode; + let headers; + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; + } + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } + const requestCopy = Object.assign({}, options.request); + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace( + /(? console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\nclass RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\n }\n const requestCopy = Object.assign({}, options.request);\n if (options.request.headers.authorization) {\n requestCopy.headers = Object.assign({}, options.request.headers, {\n authorization: options.request.headers.authorization.replace(\n /(?= 18" + }, + "files": [ + "dist-*/**", + "bin/**" + ], + "main": "dist-node/index.js", + "browser": "dist-web/index.js", + "types": "dist-types/index.d.ts", + "module": "dist-src/index.js", + "sideEffects": false, + "unpkg": "dist-web/index.js" +} diff --git a/dist/node_modules/@octokit/request/LICENSE b/dist/node_modules/@octokit/request/LICENSE new file mode 100644 index 00000000..af5366d0 --- /dev/null +++ b/dist/node_modules/@octokit/request/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2018 Octokit contributors + +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. diff --git a/dist/node_modules/@octokit/request/README.md b/dist/node_modules/@octokit/request/README.md new file mode 100644 index 00000000..6f80026f --- /dev/null +++ b/dist/node_modules/@octokit/request/README.md @@ -0,0 +1,579 @@ +# request.js + +> Send parameterized requests to GitHub’s APIs with sensible defaults in browsers and Node + +[![@latest](https://img.shields.io/npm/v/@octokit/request.svg)](https://www.npmjs.com/package/@octokit/request) +[![Build Status](https://github.com/octokit/request.js/workflows/Test/badge.svg)](https://github.com/octokit/request.js/actions?query=workflow%3ATest+branch%3Amain) + +`@octokit/request` is a request library for browsers & node that makes it easier +to interact with [GitHub’s REST API](https://developer.github.com/v3/) and +[GitHub’s GraphQL API](https://developer.github.com/v4/guides/forming-calls/#the-graphql-endpoint). + +It uses [`@octokit/endpoint`](https://github.com/octokit/endpoint.js) to parse +the passed options and sends the request using [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API). You can pass a custom `fetch` function using the `options.request.fetch` option, see below. + + + + + +- [request.js](#requestjs) + - [Features](#features) + - [Usage](#usage) + - [REST API example](#rest-api-example) + - [GraphQL example](#graphql-example) + - [Alternative: pass `method` \& `url` as part of options](#alternative-pass-method--url-as-part-of-options) + - [Authentication](#authentication) + - [request()](#request) + - [`request.defaults()`](#requestdefaults) + - [`request.endpoint`](#requestendpoint) + - [Special cases](#special-cases) + - [The `data` parameter – set request body directly](#the-data-parameter--set-request-body-directly) + - [Set parameters for both the URL/query and the request body](#set-parameters-for-both-the-urlquery-and-the-request-body) + - [Set a custom Agent to your requests](#set-a-custom-agent-to-your-requests) + - [LICENSE](#license) + + + +## Features + +🤩 1:1 mapping of REST API endpoint documentation, e.g. [Add labels to an issue](https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue) becomes + +```js +request("POST /repos/{owner}/{repo}/issues/{number}/labels", { + mediaType: { + previews: ["symmetra"], + }, + owner: "octokit", + repo: "request.js", + number: 1, + labels: ["🐛 bug"], +}); +``` + +👶 [Small bundle size](https://bundlephobia.com/result?p=@octokit/request@5.0.3) (\<4kb minified + gzipped) + +😎 [Authenticate](#authentication) with any of [GitHubs Authentication Strategies](https://github.com/octokit/auth.js). + +👍 Sensible defaults + +- `baseUrl`: `https://api.github.com` +- `headers.accept`: `application/vnd.github.v3+json` +- `headers['user-agent']`: `octokit-request.js/ `, e.g. `octokit-request.js/1.2.3 Node.js/10.15.0 (macOS Mojave; x64)` + +👌 Simple to test: mock requests by passing a custom fetch method. + +🧐 Simple to debug: Sets `error.request` to request options causing the error (with redacted credentials). + +## Usage + + + + + + +
+Browsers + +Load @octokit/request directly from esm.sh + +```html + +``` + +
+Node + + +Install with npm install @octokit/request + +```js +const { request } = require("@octokit/request"); +// or: import { request } from "@octokit/request"; +``` + +
+ +### REST API example + +```js +// Following GitHub docs formatting: +// https://developer.github.com/v3/repos/#list-organization-repositories +const result = await request("GET /orgs/{org}/repos", { + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, + org: "octokit", + type: "private", +}); + +console.log(`${result.data.length} repos found.`); +``` + +### GraphQL example + +For GraphQL request we recommend using [`@octokit/graphql`](https://github.com/octokit/graphql.js#readme) + +```js +const result = await request("POST /graphql", { + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, + query: `query ($login: String!) { + organization(login: $login) { + repositories(privacy: PRIVATE) { + totalCount + } + } + }`, + variables: { + login: "octokit", + }, +}); +``` + +### Alternative: pass `method` & `url` as part of options + +Alternatively, pass in a method and a url + +```js +const result = await request({ + method: "GET", + url: "/orgs/{org}/repos", + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, + org: "octokit", + type: "private", +}); +``` + +## Authentication + +The simplest way to authenticate a request is to set the `Authorization` header directly, e.g. to a [personal access token](https://github.com/settings/tokens/). + +```js +const requestWithAuth = request.defaults({ + headers: { + authorization: "token 0000000000000000000000000000000000000001", + }, +}); +const result = await requestWithAuth("GET /user"); +``` + +For more complex authentication strategies such as GitHub Apps or Basic, we recommend the according authentication library exported by [`@octokit/auth`](https://github.com/octokit/auth.js). + +```js +const { createAppAuth } = require("@octokit/auth-app"); +const auth = createAppAuth({ + appId: process.env.APP_ID, + privateKey: process.env.PRIVATE_KEY, + installationId: 123, +}); +const requestWithAuth = request.defaults({ + request: { + hook: auth.hook, + }, + mediaType: { + previews: ["machine-man"], + }, +}); + +const { data: app } = await requestWithAuth("GET /app"); +const { data: app } = await requestWithAuth( + "POST /repos/{owner}/{repo}/issues", + { + owner: "octocat", + repo: "hello-world", + title: "Hello from the engine room", + }, +); +``` + +## request() + +`request(route, options)` or `request(options)`. + +**Options** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ name + + type + + description +
+ route + + String + + **Required**. If route is set it has to be a string consisting of the request method and URL, e.g. GET /orgs/{org} +
+ options.baseUrl + + String + + The base URL that route or url will be prefixed with, if they use relative paths. Defaults to https://api.github.com. +
+ options.headers + + Object + + Custom headers. Passed headers are merged with defaults:
+ headers['user-agent'] defaults to octokit-rest.js/1.2.3 (where 1.2.3 is the released version).
+ headers['accept'] defaults to application/vnd.github.v3+json.
Use options.mediaType.{format,previews} to request API previews and custom media types. +
+ options.method + + String + + Any supported http verb, case-insensitive. Defaults to Get. +
+ options.mediaType.format + + String + + Media type param, such as `raw`, `html`, or `full`. See Media Types. +
+ options.mediaType.previews + + Array of strings + + Name of previews, such as `mercy`, `symmetra`, or `scarlet-witch`. See GraphQL Schema Previews. + Note that these only apply to GraphQL requests and have no effect on REST routes. +
+ options.url + + String + + **Required**. A path or full URL which may contain :variable or {variable} placeholders, + e.g. /orgs/{org}/repos. The url is parsed using url-template. +
+ options.data + + Any + + Set request body directly instead of setting it to JSON based on additional parameters. See "The `data` parameter" below. +
+ options.request.fetch + + Function + + Custom replacement for fetch. Useful for testing or request hooks. +
+ options.request.hook + + Function + + Function with the signature hook(request, endpointOptions), where endpointOptions are the parsed options as returned by endpoint.merge(), and request is request(). This option works great in conjunction with before-after-hook. +
+ options.request.signal + + new AbortController().signal + + Use an AbortController instance to cancel a request. In node you can only cancel streamed requests. +
+ options.request.log + + object + + Used for internal logging. Defaults to console. +
+ options.request.parseSuccessResponseBody + + boolean + + If set to false the returned `response` will be passed through from `fetch`. This is useful to stream response.body when downloading files from the GitHub API. +
+ +All other options except `options.request.*` will be passed depending on the `method` and `url` options. + +1. If the option key is a placeholder in the `url`, it will be used as replacement. For example, if the passed options are `{url: '/orgs/{org}/repos', org: 'foo'}` the returned `options.url` is `https://api.github.com/orgs/foo/repos` +2. If the `method` is `GET` or `HEAD`, the option is passed as query parameter +3. Otherwise the parameter is passed in the request body as JSON key. + +**Result** + +`request` returns a promise. If the request was successful, the promise resolves with an object containing 4 keys: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ key + + type + + description +
statusIntegerResponse status status
urlStringURL of response. If a request results in redirects, this is the final URL. You can send a HEAD request to retrieve it without loading the full response body.
headersObjectAll response headers
dataAnyThe response body as returned from server. If the response is JSON then it will be parsed into an object
+ +If an error occurs, the promise is rejected with an `error` object containing 3 keys to help with debugging: + +- `error.status` The http response status code +- `error.request` The request options such as `method`, `url` and `data` +- `error.response` The http response object with `url`, `headers`, and `data` + +If the error is due to an `AbortSignal` being used, the resulting `AbortError` is bubbled up to the caller. + +## `request.defaults()` + +Override or set default options. Example: + +```js +const myrequest = require("@octokit/request").defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", + headers: { + "user-agent": "myApp/1.2.3", + authorization: `token 0000000000000000000000000000000000000001`, + }, + org: "my-project", + per_page: 100, +}); + +myrequest(`GET /orgs/{org}/repos`); +``` + +You can call `.defaults()` again on the returned method, the defaults will cascade. + +```js +const myProjectRequest = request.defaults({ + baseUrl: "https://github-enterprise.acme-inc.com/api/v3", + headers: { + "user-agent": "myApp/1.2.3", + }, + org: "my-project", +}); +const myProjectRequestWithAuth = myProjectRequest.defaults({ + headers: { + authorization: `token 0000000000000000000000000000000000000001`, + }, +}); +``` + +`myProjectRequest` now defaults the `baseUrl`, `headers['user-agent']`, +`org` and `headers['authorization']` on top of `headers['accept']` that is set +by the global default. + +## `request.endpoint` + +See https://github.com/octokit/endpoint.js. Example + +```js +const options = request.endpoint("GET /orgs/{org}/repos", { + org: "my-project", + type: "private", +}); + +// { +// method: 'GET', +// url: 'https://api.github.com/orgs/my-project/repos?type=private', +// headers: { +// accept: 'application/vnd.github.v3+json', +// authorization: 'token 0000000000000000000000000000000000000001', +// 'user-agent': 'octokit/endpoint.js v1.2.3' +// } +// } +``` + +All of the [`@octokit/endpoint`](https://github.com/octokit/endpoint.js) API can be used: + +- [`octokitRequest.endpoint()`](#endpoint) +- [`octokitRequest.endpoint.defaults()`](#endpointdefaults) +- [`octokitRequest.endpoint.merge()`](#endpointdefaults) +- [`octokitRequest.endpoint.parse()`](#endpointmerge) + +## Special cases + + + +### The `data` parameter – set request body directly + +Some endpoints such as [Render a Markdown document in raw mode](https://developer.github.com/v3/markdown/#render-a-markdown-document-in-raw-mode) don’t have parameters that are sent as request body keys, instead the request body needs to be set directly. In these cases, set the `data` parameter. + +```js +const response = await request("POST /markdown/raw", { + data: "Hello world github/linguist#1 **cool**, and #1!", + headers: { + accept: "text/html;charset=utf-8", + "content-type": "text/plain", + }, +}); + +// Request is sent as +// +// { +// method: 'post', +// url: 'https://api.github.com/markdown/raw', +// headers: { +// accept: 'text/html;charset=utf-8', +// 'content-type': 'text/plain', +// 'user-agent': userAgent +// }, +// body: 'Hello world github/linguist#1 **cool**, and #1!' +// } +// +// not as +// +// { +// ... +// body: '{"data": "Hello world github/linguist#1 **cool**, and #1!"}' +// } +``` + +### Set parameters for both the URL/query and the request body + +There are API endpoints that accept both query parameters as well as a body. In that case you need to add the query parameters as templates to `options.url`, as defined in the [RFC 6570 URI Template specification](https://tools.ietf.org/html/rfc6570). + +Example + +```js +request( + "POST https://uploads.github.com/repos/octocat/Hello-World/releases/1/assets{?name,label}", + { + name: "example.zip", + label: "short description", + headers: { + "content-type": "text/plain", + "content-length": 14, + authorization: `token 0000000000000000000000000000000000000001`, + }, + data: "Hello, world!", + }, +); +``` + +### Set a custom Agent to your requests + +The way to pass a custom `Agent` to requests is by creating a custom `fetch` function and pass it as `options.request.fetch`. A good example can be [undici's `fetch` implementation](https://undici.nodejs.org/#/?id=undicifetchinput-init-promise). + +Example ([See example in CodeSandbox](https://codesandbox.io/p/sandbox/nifty-stitch-wdlwlf)) + +```js +import { request } from "@octokit/request"; +import { fetch as undiciFetch, Agent } from "undici"; + +/** @type {typeof import("undici").fetch} */ +const myFetch = (url, options) => { + return undiciFetch(url, { + ...options, + dispatcher: new Agent({ + keepAliveTimeout: 10, + keepAliveMaxTimeout: 10, + }), + }); +}; + +const { data } = await request("GET /users/{username}", { + username: "octocat", + headers: { + "X-GitHub-Api-Version": "2022-11-28", + }, + options: { + request: { + fetch: myFetch, + }, + }, +}); +``` + +## LICENSE + +[MIT](LICENSE) diff --git a/dist/node_modules/@octokit/request/dist-node/index.js b/dist/node_modules/@octokit/request/dist-node/index.js new file mode 100644 index 00000000..df0dff55 --- /dev/null +++ b/dist/node_modules/@octokit/request/dist-node/index.js @@ -0,0 +1,224 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + request: () => request +}); +module.exports = __toCommonJS(dist_src_exports); +var import_endpoint = require("@octokit/endpoint"); +var import_universal_user_agent = require("universal-user-agent"); + +// pkg/dist-src/version.js +var VERSION = "8.4.1"; + +// pkg/dist-src/is-plain-object.js +function isPlainObject(value) { + if (typeof value !== "object" || value === null) + return false; + if (Object.prototype.toString.call(value) !== "[object Object]") + return false; + const proto = Object.getPrototypeOf(value); + if (proto === null) + return true; + const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; + return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); +} + +// pkg/dist-src/fetch-wrapper.js +var import_request_error = require("@octokit/request-error"); + +// pkg/dist-src/get-buffer-response.js +function getBufferResponse(response) { + return response.arrayBuffer(); +} + +// pkg/dist-src/fetch-wrapper.js +function fetchWrapper(requestOptions) { + var _a, _b, _c, _d; + const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; + const parseSuccessResponseBody = ((_a = requestOptions.request) == null ? void 0 : _a.parseSuccessResponseBody) !== false; + if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { + requestOptions.body = JSON.stringify(requestOptions.body); + } + let headers = {}; + let status; + let url; + let { fetch } = globalThis; + if ((_b = requestOptions.request) == null ? void 0 : _b.fetch) { + fetch = requestOptions.request.fetch; + } + if (!fetch) { + throw new Error( + "fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing" + ); + } + return fetch(requestOptions.url, { + method: requestOptions.method, + body: requestOptions.body, + redirect: (_c = requestOptions.request) == null ? void 0 : _c.redirect, + headers: requestOptions.headers, + signal: (_d = requestOptions.request) == null ? void 0 : _d.signal, + // duplex must be set if request.body is ReadableStream or Async Iterables. + // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex. + ...requestOptions.body && { duplex: "half" } + }).then(async (response) => { + url = response.url; + status = response.status; + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1]; + } + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^<>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn( + `[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}` + ); + } + if (status === 204 || status === 205) { + return; + } + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; + } + throw new import_request_error.RequestError(response.statusText, status, { + response: { + url, + status, + headers, + data: void 0 + }, + request: requestOptions + }); + } + if (status === 304) { + throw new import_request_error.RequestError("Not modified", status, { + response: { + url, + status, + headers, + data: await getResponseData(response) + }, + request: requestOptions + }); + } + if (status >= 400) { + const data = await getResponseData(response); + const error = new import_request_error.RequestError(toErrorMessage(data), status, { + response: { + url, + status, + headers, + data + }, + request: requestOptions + }); + throw error; + } + return parseSuccessResponseBody ? await getResponseData(response) : response.body; + }).then((data) => { + return { + status, + url, + headers, + data + }; + }).catch((error) => { + if (error instanceof import_request_error.RequestError) + throw error; + else if (error.name === "AbortError") + throw error; + let message = error.message; + if (error.name === "TypeError" && "cause" in error) { + if (error.cause instanceof Error) { + message = error.cause.message; + } else if (typeof error.cause === "string") { + message = error.cause; + } + } + throw new import_request_error.RequestError(message, 500, { + request: requestOptions + }); + }); +} +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + if (/application\/json/.test(contentType)) { + return response.json().catch(() => response.text()).catch(() => ""); + } + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + return getBufferResponse(response); +} +function toErrorMessage(data) { + if (typeof data === "string") + return data; + let suffix; + if ("documentation_url" in data) { + suffix = ` - ${data.documentation_url}`; + } else { + suffix = ""; + } + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}${suffix}`; + } + return `${data.message}${suffix}`; + } + return `Unknown error: ${JSON.stringify(data)}`; +} + +// pkg/dist-src/with-defaults.js +function withDefaults(oldEndpoint, newDefaults) { + const endpoint2 = oldEndpoint.defaults(newDefaults); + const newApi = function(route, parameters) { + const endpointOptions = endpoint2.merge(route, parameters); + if (!endpointOptions.request || !endpointOptions.request.hook) { + return fetchWrapper(endpoint2.parse(endpointOptions)); + } + const request2 = (route2, parameters2) => { + return fetchWrapper( + endpoint2.parse(endpoint2.merge(route2, parameters2)) + ); + }; + Object.assign(request2, { + endpoint: endpoint2, + defaults: withDefaults.bind(null, endpoint2) + }); + return endpointOptions.request.hook(request2, endpointOptions); + }; + return Object.assign(newApi, { + endpoint: endpoint2, + defaults: withDefaults.bind(null, endpoint2) + }); +} + +// pkg/dist-src/index.js +var request = withDefaults(import_endpoint.endpoint, { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}` + } +}); +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + request +}); diff --git a/dist/node_modules/@octokit/request/dist-node/index.js.map b/dist/node_modules/@octokit/request/dist-node/index.js.map new file mode 100644 index 00000000..1b1ff8d2 --- /dev/null +++ b/dist/node_modules/@octokit/request/dist-node/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/index.js", "../dist-src/version.js", "../dist-src/is-plain-object.js", "../dist-src/fetch-wrapper.js", "../dist-src/get-buffer-response.js", "../dist-src/with-defaults.js"], + "sourcesContent": ["import { endpoint } from \"@octokit/endpoint\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version.js\";\nimport withDefaults from \"./with-defaults.js\";\nconst request = withDefaults(endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`\n }\n});\nexport {\n request\n};\n", "const VERSION = \"8.4.1\";\nexport {\n VERSION\n};\n", "function isPlainObject(value) {\n if (typeof value !== \"object\" || value === null)\n return false;\n if (Object.prototype.toString.call(value) !== \"[object Object]\")\n return false;\n const proto = Object.getPrototypeOf(value);\n if (proto === null)\n return true;\n const Ctor = Object.prototype.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n return typeof Ctor === \"function\" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);\n}\nexport {\n isPlainObject\n};\n", "import { isPlainObject } from \"./is-plain-object.js\";\nimport { RequestError } from \"@octokit/request-error\";\nimport getBuffer from \"./get-buffer-response.js\";\nfunction fetchWrapper(requestOptions) {\n const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console;\n const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false;\n if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n let headers = {};\n let status;\n let url;\n let { fetch } = globalThis;\n if (requestOptions.request?.fetch) {\n fetch = requestOptions.request.fetch;\n }\n if (!fetch) {\n throw new Error(\n \"fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing\"\n );\n }\n return fetch(requestOptions.url, {\n method: requestOptions.method,\n body: requestOptions.body,\n redirect: requestOptions.request?.redirect,\n headers: requestOptions.headers,\n signal: requestOptions.request?.signal,\n // duplex must be set if request.body is ReadableStream or Async Iterables.\n // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.\n ...requestOptions.body && { duplex: \"half\" }\n }).then(async (response) => {\n url = response.url;\n status = response.status;\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n if (\"deprecation\" in headers) {\n const matches = headers.link && headers.link.match(/<([^<>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(\n `[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`\n );\n }\n if (status === 204 || status === 205) {\n return;\n }\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n throw new RequestError(response.statusText, status, {\n response: {\n url,\n status,\n headers,\n data: void 0\n },\n request: requestOptions\n });\n }\n if (status === 304) {\n throw new RequestError(\"Not modified\", status, {\n response: {\n url,\n status,\n headers,\n data: await getResponseData(response)\n },\n request: requestOptions\n });\n }\n if (status >= 400) {\n const data = await getResponseData(response);\n const error = new RequestError(toErrorMessage(data), status, {\n response: {\n url,\n status,\n headers,\n data\n },\n request: requestOptions\n });\n throw error;\n }\n return parseSuccessResponseBody ? await getResponseData(response) : response.body;\n }).then((data) => {\n return {\n status,\n url,\n headers,\n data\n };\n }).catch((error) => {\n if (error instanceof RequestError)\n throw error;\n else if (error.name === \"AbortError\")\n throw error;\n let message = error.message;\n if (error.name === \"TypeError\" && \"cause\" in error) {\n if (error.cause instanceof Error) {\n message = error.cause.message;\n } else if (typeof error.cause === \"string\") {\n message = error.cause;\n }\n }\n throw new RequestError(message, 500, {\n request: requestOptions\n });\n });\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (/application\\/json/.test(contentType)) {\n return response.json().catch(() => response.text()).catch(() => \"\");\n }\n if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n return response.text();\n }\n return getBuffer(response);\n}\nfunction toErrorMessage(data) {\n if (typeof data === \"string\")\n return data;\n let suffix;\n if (\"documentation_url\" in data) {\n suffix = ` - ${data.documentation_url}`;\n } else {\n suffix = \"\";\n }\n if (\"message\" in data) {\n if (Array.isArray(data.errors)) {\n return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}${suffix}`;\n }\n return `${data.message}${suffix}`;\n }\n return `Unknown error: ${JSON.stringify(data)}`;\n}\nexport {\n fetchWrapper as default\n};\n", "function getBufferResponse(response) {\n return response.arrayBuffer();\n}\nexport {\n getBufferResponse as default\n};\n", "import fetchWrapper from \"./fetch-wrapper.js\";\nfunction withDefaults(oldEndpoint, newDefaults) {\n const endpoint = oldEndpoint.defaults(newDefaults);\n const newApi = function(route, parameters) {\n const endpointOptions = endpoint.merge(route, parameters);\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint.parse(endpointOptions));\n }\n const request = (route2, parameters2) => {\n return fetchWrapper(\n endpoint.parse(endpoint.merge(route2, parameters2))\n );\n };\n Object.assign(request, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n return endpointOptions.request.hook(request, endpointOptions);\n };\n return Object.assign(newApi, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n}\nexport {\n withDefaults as default\n};\n"], + "mappings": "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", + "names": ["endpoint", "request"] +} diff --git a/dist/node_modules/@octokit/request/dist-src/fetch-wrapper.js b/dist/node_modules/@octokit/request/dist-src/fetch-wrapper.js new file mode 100644 index 00000000..e2b168e2 --- /dev/null +++ b/dist/node_modules/@octokit/request/dist-src/fetch-wrapper.js @@ -0,0 +1,140 @@ +import { isPlainObject } from "./is-plain-object.js"; +import { RequestError } from "@octokit/request-error"; +import getBuffer from "./get-buffer-response.js"; +function fetchWrapper(requestOptions) { + const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; + const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false; + if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { + requestOptions.body = JSON.stringify(requestOptions.body); + } + let headers = {}; + let status; + let url; + let { fetch } = globalThis; + if (requestOptions.request?.fetch) { + fetch = requestOptions.request.fetch; + } + if (!fetch) { + throw new Error( + "fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing" + ); + } + return fetch(requestOptions.url, { + method: requestOptions.method, + body: requestOptions.body, + redirect: requestOptions.request?.redirect, + headers: requestOptions.headers, + signal: requestOptions.request?.signal, + // duplex must be set if request.body is ReadableStream or Async Iterables. + // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex. + ...requestOptions.body && { duplex: "half" } + }).then(async (response) => { + url = response.url; + status = response.status; + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1]; + } + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^<>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn( + `[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}` + ); + } + if (status === 204 || status === 205) { + return; + } + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; + } + throw new RequestError(response.statusText, status, { + response: { + url, + status, + headers, + data: void 0 + }, + request: requestOptions + }); + } + if (status === 304) { + throw new RequestError("Not modified", status, { + response: { + url, + status, + headers, + data: await getResponseData(response) + }, + request: requestOptions + }); + } + if (status >= 400) { + const data = await getResponseData(response); + const error = new RequestError(toErrorMessage(data), status, { + response: { + url, + status, + headers, + data + }, + request: requestOptions + }); + throw error; + } + return parseSuccessResponseBody ? await getResponseData(response) : response.body; + }).then((data) => { + return { + status, + url, + headers, + data + }; + }).catch((error) => { + if (error instanceof RequestError) + throw error; + else if (error.name === "AbortError") + throw error; + let message = error.message; + if (error.name === "TypeError" && "cause" in error) { + if (error.cause instanceof Error) { + message = error.cause.message; + } else if (typeof error.cause === "string") { + message = error.cause; + } + } + throw new RequestError(message, 500, { + request: requestOptions + }); + }); +} +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + if (/application\/json/.test(contentType)) { + return response.json().catch(() => response.text()).catch(() => ""); + } + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + return getBuffer(response); +} +function toErrorMessage(data) { + if (typeof data === "string") + return data; + let suffix; + if ("documentation_url" in data) { + suffix = ` - ${data.documentation_url}`; + } else { + suffix = ""; + } + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}${suffix}`; + } + return `${data.message}${suffix}`; + } + return `Unknown error: ${JSON.stringify(data)}`; +} +export { + fetchWrapper as default +}; diff --git a/dist/node_modules/@octokit/request/dist-src/get-buffer-response.js b/dist/node_modules/@octokit/request/dist-src/get-buffer-response.js new file mode 100644 index 00000000..792c895a --- /dev/null +++ b/dist/node_modules/@octokit/request/dist-src/get-buffer-response.js @@ -0,0 +1,6 @@ +function getBufferResponse(response) { + return response.arrayBuffer(); +} +export { + getBufferResponse as default +}; diff --git a/dist/node_modules/@octokit/request/dist-src/index.js b/dist/node_modules/@octokit/request/dist-src/index.js new file mode 100644 index 00000000..3f8e1ae9 --- /dev/null +++ b/dist/node_modules/@octokit/request/dist-src/index.js @@ -0,0 +1,12 @@ +import { endpoint } from "@octokit/endpoint"; +import { getUserAgent } from "universal-user-agent"; +import { VERSION } from "./version.js"; +import withDefaults from "./with-defaults.js"; +const request = withDefaults(endpoint, { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}` + } +}); +export { + request +}; diff --git a/dist/node_modules/@octokit/request/dist-src/is-plain-object.js b/dist/node_modules/@octokit/request/dist-src/is-plain-object.js new file mode 100644 index 00000000..44b5eb2a --- /dev/null +++ b/dist/node_modules/@octokit/request/dist-src/is-plain-object.js @@ -0,0 +1,14 @@ +function isPlainObject(value) { + if (typeof value !== "object" || value === null) + return false; + if (Object.prototype.toString.call(value) !== "[object Object]") + return false; + const proto = Object.getPrototypeOf(value); + if (proto === null) + return true; + const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; + return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); +} +export { + isPlainObject +}; diff --git a/dist/node_modules/@octokit/request/dist-src/version.js b/dist/node_modules/@octokit/request/dist-src/version.js new file mode 100644 index 00000000..64438de8 --- /dev/null +++ b/dist/node_modules/@octokit/request/dist-src/version.js @@ -0,0 +1,4 @@ +const VERSION = "8.4.1"; +export { + VERSION +}; diff --git a/dist/node_modules/@octokit/request/dist-src/with-defaults.js b/dist/node_modules/@octokit/request/dist-src/with-defaults.js new file mode 100644 index 00000000..b2dd7ad6 --- /dev/null +++ b/dist/node_modules/@octokit/request/dist-src/with-defaults.js @@ -0,0 +1,27 @@ +import fetchWrapper from "./fetch-wrapper.js"; +function withDefaults(oldEndpoint, newDefaults) { + const endpoint = oldEndpoint.defaults(newDefaults); + const newApi = function(route, parameters) { + const endpointOptions = endpoint.merge(route, parameters); + if (!endpointOptions.request || !endpointOptions.request.hook) { + return fetchWrapper(endpoint.parse(endpointOptions)); + } + const request = (route2, parameters2) => { + return fetchWrapper( + endpoint.parse(endpoint.merge(route2, parameters2)) + ); + }; + Object.assign(request, { + endpoint, + defaults: withDefaults.bind(null, endpoint) + }); + return endpointOptions.request.hook(request, endpointOptions); + }; + return Object.assign(newApi, { + endpoint, + defaults: withDefaults.bind(null, endpoint) + }); +} +export { + withDefaults as default +}; diff --git a/dist/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts b/dist/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts new file mode 100644 index 00000000..eaa77c41 --- /dev/null +++ b/dist/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts @@ -0,0 +1,9 @@ +import type { EndpointInterface } from "@octokit/types"; +export default function fetchWrapper(requestOptions: ReturnType): Promise<{ + status: number; + url: string; + headers: { + [header: string]: string; + }; + data: any; +}>; diff --git a/dist/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts b/dist/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts new file mode 100644 index 00000000..26f18527 --- /dev/null +++ b/dist/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts @@ -0,0 +1 @@ +export default function getBufferResponse(response: Response): Promise; diff --git a/dist/node_modules/@octokit/request/dist-types/index.d.ts b/dist/node_modules/@octokit/request/dist-types/index.d.ts new file mode 100644 index 00000000..1030809f --- /dev/null +++ b/dist/node_modules/@octokit/request/dist-types/index.d.ts @@ -0,0 +1 @@ +export declare const request: import("@octokit/types").RequestInterface; diff --git a/dist/node_modules/@octokit/request/dist-types/is-plain-object.d.ts b/dist/node_modules/@octokit/request/dist-types/is-plain-object.d.ts new file mode 100644 index 00000000..004fa4bf --- /dev/null +++ b/dist/node_modules/@octokit/request/dist-types/is-plain-object.d.ts @@ -0,0 +1 @@ +export declare function isPlainObject(value: unknown): value is Object; diff --git a/dist/node_modules/@octokit/request/dist-types/version.d.ts b/dist/node_modules/@octokit/request/dist-types/version.d.ts new file mode 100644 index 00000000..386929c9 --- /dev/null +++ b/dist/node_modules/@octokit/request/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "8.4.1"; diff --git a/dist/node_modules/@octokit/request/dist-types/with-defaults.d.ts b/dist/node_modules/@octokit/request/dist-types/with-defaults.d.ts new file mode 100644 index 00000000..4300682f --- /dev/null +++ b/dist/node_modules/@octokit/request/dist-types/with-defaults.d.ts @@ -0,0 +1,2 @@ +import type { EndpointInterface, RequestInterface, RequestParameters } from "@octokit/types"; +export default function withDefaults(oldEndpoint: EndpointInterface, newDefaults: RequestParameters): RequestInterface; diff --git a/dist/node_modules/@octokit/request/dist-web/index.js b/dist/node_modules/@octokit/request/dist-web/index.js new file mode 100644 index 00000000..25e57503 --- /dev/null +++ b/dist/node_modules/@octokit/request/dist-web/index.js @@ -0,0 +1,198 @@ +// pkg/dist-src/index.js +import { endpoint } from "@octokit/endpoint"; +import { getUserAgent } from "universal-user-agent"; + +// pkg/dist-src/version.js +var VERSION = "8.4.1"; + +// pkg/dist-src/is-plain-object.js +function isPlainObject(value) { + if (typeof value !== "object" || value === null) + return false; + if (Object.prototype.toString.call(value) !== "[object Object]") + return false; + const proto = Object.getPrototypeOf(value); + if (proto === null) + return true; + const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; + return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); +} + +// pkg/dist-src/fetch-wrapper.js +import { RequestError } from "@octokit/request-error"; + +// pkg/dist-src/get-buffer-response.js +function getBufferResponse(response) { + return response.arrayBuffer(); +} + +// pkg/dist-src/fetch-wrapper.js +function fetchWrapper(requestOptions) { + const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; + const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false; + if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { + requestOptions.body = JSON.stringify(requestOptions.body); + } + let headers = {}; + let status; + let url; + let { fetch } = globalThis; + if (requestOptions.request?.fetch) { + fetch = requestOptions.request.fetch; + } + if (!fetch) { + throw new Error( + "fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing" + ); + } + return fetch(requestOptions.url, { + method: requestOptions.method, + body: requestOptions.body, + redirect: requestOptions.request?.redirect, + headers: requestOptions.headers, + signal: requestOptions.request?.signal, + // duplex must be set if request.body is ReadableStream or Async Iterables. + // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex. + ...requestOptions.body && { duplex: "half" } + }).then(async (response) => { + url = response.url; + status = response.status; + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1]; + } + if ("deprecation" in headers) { + const matches = headers.link && headers.link.match(/<([^<>]+)>; rel="deprecation"/); + const deprecationLink = matches && matches.pop(); + log.warn( + `[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}` + ); + } + if (status === 204 || status === 205) { + return; + } + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; + } + throw new RequestError(response.statusText, status, { + response: { + url, + status, + headers, + data: void 0 + }, + request: requestOptions + }); + } + if (status === 304) { + throw new RequestError("Not modified", status, { + response: { + url, + status, + headers, + data: await getResponseData(response) + }, + request: requestOptions + }); + } + if (status >= 400) { + const data = await getResponseData(response); + const error = new RequestError(toErrorMessage(data), status, { + response: { + url, + status, + headers, + data + }, + request: requestOptions + }); + throw error; + } + return parseSuccessResponseBody ? await getResponseData(response) : response.body; + }).then((data) => { + return { + status, + url, + headers, + data + }; + }).catch((error) => { + if (error instanceof RequestError) + throw error; + else if (error.name === "AbortError") + throw error; + let message = error.message; + if (error.name === "TypeError" && "cause" in error) { + if (error.cause instanceof Error) { + message = error.cause.message; + } else if (typeof error.cause === "string") { + message = error.cause; + } + } + throw new RequestError(message, 500, { + request: requestOptions + }); + }); +} +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + if (/application\/json/.test(contentType)) { + return response.json().catch(() => response.text()).catch(() => ""); + } + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + return getBufferResponse(response); +} +function toErrorMessage(data) { + if (typeof data === "string") + return data; + let suffix; + if ("documentation_url" in data) { + suffix = ` - ${data.documentation_url}`; + } else { + suffix = ""; + } + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}${suffix}`; + } + return `${data.message}${suffix}`; + } + return `Unknown error: ${JSON.stringify(data)}`; +} + +// pkg/dist-src/with-defaults.js +function withDefaults(oldEndpoint, newDefaults) { + const endpoint2 = oldEndpoint.defaults(newDefaults); + const newApi = function(route, parameters) { + const endpointOptions = endpoint2.merge(route, parameters); + if (!endpointOptions.request || !endpointOptions.request.hook) { + return fetchWrapper(endpoint2.parse(endpointOptions)); + } + const request2 = (route2, parameters2) => { + return fetchWrapper( + endpoint2.parse(endpoint2.merge(route2, parameters2)) + ); + }; + Object.assign(request2, { + endpoint: endpoint2, + defaults: withDefaults.bind(null, endpoint2) + }); + return endpointOptions.request.hook(request2, endpointOptions); + }; + return Object.assign(newApi, { + endpoint: endpoint2, + defaults: withDefaults.bind(null, endpoint2) + }); +} + +// pkg/dist-src/index.js +var request = withDefaults(endpoint, { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}` + } +}); +export { + request +}; diff --git a/dist/node_modules/@octokit/request/dist-web/index.js.map b/dist/node_modules/@octokit/request/dist-web/index.js.map new file mode 100644 index 00000000..92e11506 --- /dev/null +++ b/dist/node_modules/@octokit/request/dist-web/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/index.js", "../dist-src/version.js", "../dist-src/is-plain-object.js", "../dist-src/fetch-wrapper.js", "../dist-src/get-buffer-response.js", "../dist-src/with-defaults.js"], + "sourcesContent": ["import { endpoint } from \"@octokit/endpoint\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version.js\";\nimport withDefaults from \"./with-defaults.js\";\nconst request = withDefaults(endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`\n }\n});\nexport {\n request\n};\n", "const VERSION = \"8.4.1\";\nexport {\n VERSION\n};\n", "function isPlainObject(value) {\n if (typeof value !== \"object\" || value === null)\n return false;\n if (Object.prototype.toString.call(value) !== \"[object Object]\")\n return false;\n const proto = Object.getPrototypeOf(value);\n if (proto === null)\n return true;\n const Ctor = Object.prototype.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n return typeof Ctor === \"function\" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);\n}\nexport {\n isPlainObject\n};\n", "import { isPlainObject } from \"./is-plain-object.js\";\nimport { RequestError } from \"@octokit/request-error\";\nimport getBuffer from \"./get-buffer-response.js\";\nfunction fetchWrapper(requestOptions) {\n const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console;\n const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false;\n if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n let headers = {};\n let status;\n let url;\n let { fetch } = globalThis;\n if (requestOptions.request?.fetch) {\n fetch = requestOptions.request.fetch;\n }\n if (!fetch) {\n throw new Error(\n \"fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing\"\n );\n }\n return fetch(requestOptions.url, {\n method: requestOptions.method,\n body: requestOptions.body,\n redirect: requestOptions.request?.redirect,\n headers: requestOptions.headers,\n signal: requestOptions.request?.signal,\n // duplex must be set if request.body is ReadableStream or Async Iterables.\n // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.\n ...requestOptions.body && { duplex: \"half\" }\n }).then(async (response) => {\n url = response.url;\n status = response.status;\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n if (\"deprecation\" in headers) {\n const matches = headers.link && headers.link.match(/<([^<>]+)>; rel=\"deprecation\"/);\n const deprecationLink = matches && matches.pop();\n log.warn(\n `[@octokit/request] \"${requestOptions.method} ${requestOptions.url}\" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`\n );\n }\n if (status === 204 || status === 205) {\n return;\n }\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n throw new RequestError(response.statusText, status, {\n response: {\n url,\n status,\n headers,\n data: void 0\n },\n request: requestOptions\n });\n }\n if (status === 304) {\n throw new RequestError(\"Not modified\", status, {\n response: {\n url,\n status,\n headers,\n data: await getResponseData(response)\n },\n request: requestOptions\n });\n }\n if (status >= 400) {\n const data = await getResponseData(response);\n const error = new RequestError(toErrorMessage(data), status, {\n response: {\n url,\n status,\n headers,\n data\n },\n request: requestOptions\n });\n throw error;\n }\n return parseSuccessResponseBody ? await getResponseData(response) : response.body;\n }).then((data) => {\n return {\n status,\n url,\n headers,\n data\n };\n }).catch((error) => {\n if (error instanceof RequestError)\n throw error;\n else if (error.name === \"AbortError\")\n throw error;\n let message = error.message;\n if (error.name === \"TypeError\" && \"cause\" in error) {\n if (error.cause instanceof Error) {\n message = error.cause.message;\n } else if (typeof error.cause === \"string\") {\n message = error.cause;\n }\n }\n throw new RequestError(message, 500, {\n request: requestOptions\n });\n });\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (/application\\/json/.test(contentType)) {\n return response.json().catch(() => response.text()).catch(() => \"\");\n }\n if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n return response.text();\n }\n return getBuffer(response);\n}\nfunction toErrorMessage(data) {\n if (typeof data === \"string\")\n return data;\n let suffix;\n if (\"documentation_url\" in data) {\n suffix = ` - ${data.documentation_url}`;\n } else {\n suffix = \"\";\n }\n if (\"message\" in data) {\n if (Array.isArray(data.errors)) {\n return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}${suffix}`;\n }\n return `${data.message}${suffix}`;\n }\n return `Unknown error: ${JSON.stringify(data)}`;\n}\nexport {\n fetchWrapper as default\n};\n", "function getBufferResponse(response) {\n return response.arrayBuffer();\n}\nexport {\n getBufferResponse as default\n};\n", "import fetchWrapper from \"./fetch-wrapper.js\";\nfunction withDefaults(oldEndpoint, newDefaults) {\n const endpoint = oldEndpoint.defaults(newDefaults);\n const newApi = function(route, parameters) {\n const endpointOptions = endpoint.merge(route, parameters);\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint.parse(endpointOptions));\n }\n const request = (route2, parameters2) => {\n return fetchWrapper(\n endpoint.parse(endpoint.merge(route2, parameters2))\n );\n };\n Object.assign(request, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n return endpointOptions.request.hook(request, endpointOptions);\n };\n return Object.assign(newApi, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n}\nexport {\n withDefaults as default\n};\n"], + "mappings": "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", + "names": ["endpoint", "request"] +} diff --git a/dist/node_modules/@octokit/request/package.json b/dist/node_modules/@octokit/request/package.json new file mode 100644 index 00000000..acc2584b --- /dev/null +++ b/dist/node_modules/@octokit/request/package.json @@ -0,0 +1,55 @@ +{ + "name": "@octokit/request", + "version": "8.4.1", + "publishConfig": { + "access": "public", + "provenance": true + }, + "description": "Send parameterized requests to GitHub's APIs with sensible defaults in browsers and Node", + "repository": "github:octokit/request.js", + "keywords": [ + "octokit", + "github", + "api", + "request" + ], + "author": "Gregor Martynus (https://github.com/gr2m)", + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^9.0.6", + "@octokit/request-error": "^5.1.1", + "@octokit/types": "^13.1.0", + "universal-user-agent": "^6.0.0" + }, + "devDependencies": { + "@octokit/auth-app": "^6.0.0", + "@octokit/tsconfig": "^2.0.0", + "@types/fetch-mock": "^7.2.4", + "@types/jest": "^29.0.0", + "@types/lolex": "^5.1.0", + "@types/node": "^20.0.0", + "@types/once": "^1.4.0", + "esbuild": "^0.20.0", + "fetch-mock": "npm:@gr2m/fetch-mock@^9.11.0-pull-request-644.1", + "glob": "^10.2.4", + "jest": "^29.0.0", + "lolex": "^6.0.0", + "prettier": "3.2.5", + "semantic-release-plugin-update-version-in-files": "^1.0.0", + "string-to-arraybuffer": "^1.0.2", + "ts-jest": "^29.0.0", + "typescript": "^5.0.0" + }, + "engines": { + "node": ">= 18" + }, + "files": [ + "dist-*/**", + "bin/**" + ], + "main": "dist-node/index.js", + "browser": "dist-web/index.js", + "types": "dist-types/index.d.ts", + "module": "dist-src/index.js", + "sideEffects": false +} diff --git a/dist/node_modules/@octokit/rest/LICENSE b/dist/node_modules/@octokit/rest/LICENSE new file mode 100644 index 00000000..4c0d268a --- /dev/null +++ b/dist/node_modules/@octokit/rest/LICENSE @@ -0,0 +1,22 @@ +The MIT License + +Copyright (c) 2012 Cloud9 IDE, Inc. (Mike de Boer) +Copyright (c) 2017-2018 Octokit contributors + +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. diff --git a/dist/node_modules/@octokit/rest/README.md b/dist/node_modules/@octokit/rest/README.md new file mode 100644 index 00000000..495a13f6 --- /dev/null +++ b/dist/node_modules/@octokit/rest/README.md @@ -0,0 +1,67 @@ +# rest.js + +> GitHub REST API client for JavaScript + +[![@latest](https://img.shields.io/npm/v/@octokit/rest.svg)](https://www.npmjs.com/package/@octokit/rest) +[![Build Status](https://github.com/octokit/rest.js/workflows/Test/badge.svg)](https://github.com/octokit/rest.js/actions?query=workflow%3ATest+branch%3Amain) + +## Usage + + + + + + +
+Browsers + +Load @octokit/rest directly from esm.sh + +```html + +``` + +
+Node + + +Install with npm install @octokit/rest + +```js +const { Octokit } = require("@octokit/rest"); +// or: import { Octokit } from "@octokit/rest"; +``` + +
+ +```js +const octokit = new Octokit(); + +// Compare: https://docs.github.com/en/rest/reference/repos/#list-organization-repositories +octokit.rest.repos + .listForOrg({ + org: "octokit", + type: "public", + }) + .then(({ data }) => { + // handle data + }); +``` + +See https://octokit.github.io/rest.js for full documentation. + +## Contributing + +We would love you to contribute to `@octokit/rest`, pull requests are very welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for more information. + +## Credits + +`@octokit/rest` was originally created as [`node-github`](https://www.npmjs.com/package/github) in 2012 by Mike de Boer from Cloud9 IDE, Inc. [The original commit](https://github.blog/2020-04-09-from-48k-lines-of-code-to-10-the-story-of-githubs-javascript-sdk/) is from 2010 which predates the npm registry. + +It was adopted and renamed by GitHub in 2017. Learn more about its origin on GitHub's blog: [From 48k lines of code to 10—the story of GitHub’s JavaScript SDK](https://github.blog/2020-04-09-from-48k-lines-of-code-to-10-the-story-of-githubs-javascript-sdk/) + +## LICENSE + +[MIT](LICENSE) diff --git a/dist/node_modules/@octokit/rest/dist-node/index.js b/dist/node_modules/@octokit/rest/dist-node/index.js new file mode 100644 index 00000000..1b3c245d --- /dev/null +++ b/dist/node_modules/@octokit/rest/dist-node/index.js @@ -0,0 +1,45 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + Octokit: () => Octokit +}); +module.exports = __toCommonJS(dist_src_exports); +var import_core = require("@octokit/core"); +var import_plugin_request_log = require("@octokit/plugin-request-log"); +var import_plugin_paginate_rest = require("@octokit/plugin-paginate-rest"); +var import_plugin_rest_endpoint_methods = require("@octokit/plugin-rest-endpoint-methods"); + +// pkg/dist-src/version.js +var VERSION = "20.1.1"; + +// pkg/dist-src/index.js +var Octokit = import_core.Octokit.plugin( + import_plugin_request_log.requestLog, + import_plugin_rest_endpoint_methods.legacyRestEndpointMethods, + import_plugin_paginate_rest.paginateRest +).defaults({ + userAgent: `octokit-rest.js/${VERSION}` +}); +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + Octokit +}); diff --git a/dist/node_modules/@octokit/rest/dist-node/index.js.map b/dist/node_modules/@octokit/rest/dist-node/index.js.map new file mode 100644 index 00000000..5df6f0a7 --- /dev/null +++ b/dist/node_modules/@octokit/rest/dist-node/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/index.js", "../dist-src/version.js"], + "sourcesContent": ["import { Octokit as Core } from \"@octokit/core\";\nimport { requestLog } from \"@octokit/plugin-request-log\";\nimport { paginateRest } from \"@octokit/plugin-paginate-rest\";\nimport { legacyRestEndpointMethods } from \"@octokit/plugin-rest-endpoint-methods\";\nimport { VERSION } from \"./version.js\";\nconst Octokit = Core.plugin(\n requestLog,\n legacyRestEndpointMethods,\n paginateRest\n).defaults({\n userAgent: `octokit-rest.js/${VERSION}`\n});\nexport {\n Octokit\n};\n", "const VERSION = \"20.1.1\";\nexport {\n VERSION\n};\n"], + "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAgC;AAChC,gCAA2B;AAC3B,kCAA6B;AAC7B,0CAA0C;;;ACH1C,IAAM,UAAU;;;ADKhB,IAAM,UAAU,YAAAA,QAAK;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AACF,EAAE,SAAS;AAAA,EACT,WAAW,mBAAmB,OAAO;AACvC,CAAC;", + "names": ["Core"] +} diff --git a/dist/node_modules/@octokit/rest/dist-src/index.js b/dist/node_modules/@octokit/rest/dist-src/index.js new file mode 100644 index 00000000..a3491f91 --- /dev/null +++ b/dist/node_modules/@octokit/rest/dist-src/index.js @@ -0,0 +1,15 @@ +import { Octokit as Core } from "@octokit/core"; +import { requestLog } from "@octokit/plugin-request-log"; +import { paginateRest } from "@octokit/plugin-paginate-rest"; +import { legacyRestEndpointMethods } from "@octokit/plugin-rest-endpoint-methods"; +import { VERSION } from "./version.js"; +const Octokit = Core.plugin( + requestLog, + legacyRestEndpointMethods, + paginateRest +).defaults({ + userAgent: `octokit-rest.js/${VERSION}` +}); +export { + Octokit +}; diff --git a/dist/node_modules/@octokit/rest/dist-src/version.js b/dist/node_modules/@octokit/rest/dist-src/version.js new file mode 100644 index 00000000..6f323eed --- /dev/null +++ b/dist/node_modules/@octokit/rest/dist-src/version.js @@ -0,0 +1,4 @@ +const VERSION = "20.1.1"; +export { + VERSION +}; diff --git a/dist/node_modules/@octokit/rest/dist-types/index.d.ts b/dist/node_modules/@octokit/rest/dist-types/index.d.ts new file mode 100644 index 00000000..82732f95 --- /dev/null +++ b/dist/node_modules/@octokit/rest/dist-types/index.d.ts @@ -0,0 +1,6 @@ +import { Octokit as Core } from "@octokit/core"; +export type { RestEndpointMethodTypes } from "@octokit/plugin-rest-endpoint-methods"; +export declare const Octokit: typeof Core & import("@octokit/core/dist-types/types.js").Constructor<{ + paginate: import("@octokit/plugin-paginate-rest").PaginateInterface; +} & import("@octokit/plugin-rest-endpoint-methods/dist-types/generated/method-types.js").RestEndpointMethods & import("@octokit/plugin-rest-endpoint-methods").Api>; +export type Octokit = InstanceType; diff --git a/dist/node_modules/@octokit/rest/dist-types/version.d.ts b/dist/node_modules/@octokit/rest/dist-types/version.d.ts new file mode 100644 index 00000000..19ddfb05 --- /dev/null +++ b/dist/node_modules/@octokit/rest/dist-types/version.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "20.1.1"; diff --git a/dist/node_modules/@octokit/rest/dist-web/index.js b/dist/node_modules/@octokit/rest/dist-web/index.js new file mode 100644 index 00000000..39a5c64d --- /dev/null +++ b/dist/node_modules/@octokit/rest/dist-web/index.js @@ -0,0 +1,20 @@ +// pkg/dist-src/index.js +import { Octokit as Core } from "@octokit/core"; +import { requestLog } from "@octokit/plugin-request-log"; +import { paginateRest } from "@octokit/plugin-paginate-rest"; +import { legacyRestEndpointMethods } from "@octokit/plugin-rest-endpoint-methods"; + +// pkg/dist-src/version.js +var VERSION = "20.1.1"; + +// pkg/dist-src/index.js +var Octokit = Core.plugin( + requestLog, + legacyRestEndpointMethods, + paginateRest +).defaults({ + userAgent: `octokit-rest.js/${VERSION}` +}); +export { + Octokit +}; diff --git a/dist/node_modules/@octokit/rest/dist-web/index.js.map b/dist/node_modules/@octokit/rest/dist-web/index.js.map new file mode 100644 index 00000000..f494ee62 --- /dev/null +++ b/dist/node_modules/@octokit/rest/dist-web/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../dist-src/index.js", "../dist-src/version.js"], + "sourcesContent": ["import { Octokit as Core } from \"@octokit/core\";\nimport { requestLog } from \"@octokit/plugin-request-log\";\nimport { paginateRest } from \"@octokit/plugin-paginate-rest\";\nimport { legacyRestEndpointMethods } from \"@octokit/plugin-rest-endpoint-methods\";\nimport { VERSION } from \"./version.js\";\nconst Octokit = Core.plugin(\n requestLog,\n legacyRestEndpointMethods,\n paginateRest\n).defaults({\n userAgent: `octokit-rest.js/${VERSION}`\n});\nexport {\n Octokit\n};\n", "const VERSION = \"20.1.1\";\nexport {\n VERSION\n};\n"], + "mappings": ";AAAA,SAAS,WAAW,YAAY;AAChC,SAAS,kBAAkB;AAC3B,SAAS,oBAAoB;AAC7B,SAAS,iCAAiC;;;ACH1C,IAAM,UAAU;;;ADKhB,IAAM,UAAU,KAAK;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AACF,EAAE,SAAS;AAAA,EACT,WAAW,mBAAmB,OAAO;AACvC,CAAC;", + "names": [] +} diff --git a/dist/node_modules/@octokit/rest/package.json b/dist/node_modules/@octokit/rest/package.json new file mode 100644 index 00000000..744be340 --- /dev/null +++ b/dist/node_modules/@octokit/rest/package.json @@ -0,0 +1,74 @@ +{ + "name": "@octokit/rest", + "version": "20.1.1", + "publishConfig": { + "access": "public", + "provenance": true + }, + "description": "GitHub REST API client for Node.js", + "keywords": [ + "octokit", + "github", + "rest", + "api-client" + ], + "author": "Gregor Martynus (https://github.com/gr2m)", + "contributors": [ + { + "name": "Mike de Boer", + "email": "info@mikedeboer.nl" + }, + { + "name": "Fabian Jakobs", + "email": "fabian@c9.io" + }, + { + "name": "Joe Gallo", + "email": "joe@brassafrax.com" + }, + { + "name": "Gregor Martynus", + "url": "https://github.com/gr2m" + } + ], + "repository": "github:octokit/rest.js", + "dependencies": { + "@octokit/core": "^5.0.2", + "@octokit/plugin-paginate-rest": "11.3.1", + "@octokit/plugin-request-log": "^4.0.0", + "@octokit/plugin-rest-endpoint-methods": "13.2.2" + }, + "devDependencies": { + "@octokit/auth-action": "^4.0.1", + "@octokit/auth-app": "^6.0.3", + "@octokit/fixtures-server": "^7.0.10", + "@octokit/request": "^8.1.6", + "@octokit/tsconfig": "^2.0.0", + "@types/jest": "^29.5.11", + "@types/node": "^20.11.5", + "esbuild": "^0.20.0", + "fetch-mock": "npm:@gr2m/fetch-mock@9.11.0-pull-request-644.1", + "glob": "^10.3.10", + "jest": "^29.7.0", + "nock": "^13.5.0", + "prettier": "^3.2.4", + "semantic-release": "^23.0.0", + "semantic-release-plugin-update-version-in-files": "^1.1.0", + "ts-jest": "^29.1.1", + "typescript": "^5.3.3", + "undici": "^6.4.0" + }, + "license": "MIT", + "engines": { + "node": ">= 18" + }, + "files": [ + "dist-*/**", + "bin/**" + ], + "main": "dist-node/index.js", + "module": "dist-web/index.js", + "types": "dist-types/index.d.ts", + "source": "dist-src/index.js", + "sideEffects": false +} diff --git a/dist/node_modules/@octokit/types/LICENSE b/dist/node_modules/@octokit/types/LICENSE new file mode 100644 index 00000000..57bee5f1 --- /dev/null +++ b/dist/node_modules/@octokit/types/LICENSE @@ -0,0 +1,7 @@ +MIT License Copyright (c) 2019 Octokit contributors + +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 (including the next paragraph) 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. diff --git a/dist/node_modules/@octokit/types/README.md b/dist/node_modules/@octokit/types/README.md new file mode 100644 index 00000000..7ebe154a --- /dev/null +++ b/dist/node_modules/@octokit/types/README.md @@ -0,0 +1,65 @@ +# types.ts + +> Shared TypeScript definitions for Octokit projects + +[![@latest](https://img.shields.io/npm/v/@octokit/types.svg)](https://www.npmjs.com/package/@octokit/types) +[![Build Status](https://github.com/octokit/types.ts/workflows/Test/badge.svg)](https://github.com/octokit/types.ts/actions?workflow=Test) + + + +- [Usage](#usage) +- [Examples](#examples) + - [Get parameter and response data types for a REST API endpoint](#get-parameter-and-response-data-types-for-a-rest-api-endpoint) + - [Get response types from endpoint methods](#get-response-types-from-endpoint-methods) +- [Contributing](#contributing) +- [License](#license) + + + +## Usage + +See all exported types at https://octokit.github.io/types.ts + +## Examples + +### Get parameter and response data types for a REST API endpoint + +```ts +import { Endpoints } from "@octokit/types"; + +type listUserReposParameters = + Endpoints["GET /repos/{owner}/{repo}"]["parameters"]; +type listUserReposResponse = Endpoints["GET /repos/{owner}/{repo}"]["response"]; + +async function listRepos( + options: listUserReposParameters, +): listUserReposResponse["data"] { + // ... +} +``` + +### Get response types from endpoint methods + +```ts +import { + GetResponseTypeFromEndpointMethod, + GetResponseDataTypeFromEndpointMethod, +} from "@octokit/types"; +import { Octokit } from "@octokit/rest"; + +const octokit = new Octokit(); +type CreateLabelResponseType = GetResponseTypeFromEndpointMethod< + typeof octokit.issues.createLabel +>; +type CreateLabelResponseDataType = GetResponseDataTypeFromEndpointMethod< + typeof octokit.issues.createLabel +>; +``` + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) + +## License + +[MIT](LICENSE) diff --git a/dist/node_modules/@octokit/types/dist-types/AuthInterface.d.ts b/dist/node_modules/@octokit/types/dist-types/AuthInterface.d.ts new file mode 100644 index 00000000..9858dc4f --- /dev/null +++ b/dist/node_modules/@octokit/types/dist-types/AuthInterface.d.ts @@ -0,0 +1,31 @@ +import type { EndpointOptions } from "./EndpointOptions.js"; +import type { OctokitResponse } from "./OctokitResponse.js"; +import type { RequestInterface } from "./RequestInterface.js"; +import type { RequestParameters } from "./RequestParameters.js"; +import type { Route } from "./Route.js"; +/** + * Interface to implement complex authentication strategies for Octokit. + * An object Implementing the AuthInterface can directly be passed as the + * `auth` option in the Octokit constructor. + * + * For the official implementations of the most common authentication + * strategies, see https://github.com/octokit/auth.js + */ +export interface AuthInterface { + (...args: AuthOptions): Promise; + hook: { + /** + * Sends a request using the passed `request` instance + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (request: RequestInterface, options: EndpointOptions): Promise>; + /** + * Sends a request using the passed `request` instance + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (request: RequestInterface, route: Route, parameters?: RequestParameters): Promise>; + }; +} diff --git a/dist/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts b/dist/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts new file mode 100644 index 00000000..998b43b8 --- /dev/null +++ b/dist/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts @@ -0,0 +1,21 @@ +import type { RequestHeaders } from "./RequestHeaders.js"; +import type { RequestMethod } from "./RequestMethod.js"; +import type { RequestParameters } from "./RequestParameters.js"; +import type { Url } from "./Url.js"; +/** + * The `.endpoint()` method is guaranteed to set all keys defined by RequestParameters + * as well as the method property. + */ +export type EndpointDefaults = RequestParameters & { + baseUrl: Url; + method: RequestMethod; + url?: Url; + headers: RequestHeaders & { + accept: string; + "user-agent": string; + }; + mediaType: { + format: string; + previews?: string[]; + }; +}; diff --git a/dist/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts b/dist/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts new file mode 100644 index 00000000..02bc6e4b --- /dev/null +++ b/dist/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts @@ -0,0 +1,65 @@ +import type { EndpointDefaults } from "./EndpointDefaults.js"; +import type { RequestOptions } from "./RequestOptions.js"; +import type { RequestParameters } from "./RequestParameters.js"; +import type { Route } from "./Route.js"; +import type { Endpoints } from "./generated/Endpoints.js"; +export interface EndpointInterface { + /** + * Transforms a GitHub REST API endpoint into generic request options + * + * @param {object} endpoint Must set `url` unless it's set defaults. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: O & { + method?: string; + } & ("url" extends keyof D ? { + url?: string; + } : { + url: string; + })): RequestOptions & Pick; + /** + * Transforms a GitHub REST API endpoint into generic request options + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (route: keyof Endpoints | R, parameters?: P): (R extends keyof Endpoints ? Endpoints[R]["request"] : RequestOptions) & Pick; + /** + * Object with current default route and parameters + */ + DEFAULTS: D & EndpointDefaults; + /** + * Returns a new `endpoint` interface with new defaults + */ + defaults: (newDefaults: O) => EndpointInterface; + merge: { + /** + * Merges current endpoint defaults with passed route and parameters, + * without transforming them into request options. + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + * + */ + (route: keyof Endpoints | R, parameters?: P): D & (R extends keyof Endpoints ? Endpoints[R]["request"] & Endpoints[R]["parameters"] : EndpointDefaults) & P; + /** + * Merges current endpoint defaults with passed route and parameters, + * without transforming them into request options. + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ +

(options: P): EndpointDefaults & D & P; + /** + * Returns current default options. + * + * @deprecated use endpoint.DEFAULTS instead + */ + (): D & EndpointDefaults; + }; + /** + * Stateless method to turn endpoint options into request options. + * Calling `endpoint(options)` is the same as calling `endpoint.parse(endpoint.merge(options))`. + * + * @param {object} options `method`, `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + parse: (options: O) => RequestOptions & Pick; +} diff --git a/dist/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts b/dist/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts new file mode 100644 index 00000000..6cb08033 --- /dev/null +++ b/dist/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts @@ -0,0 +1,7 @@ +import type { RequestMethod } from "./RequestMethod.js"; +import type { Url } from "./Url.js"; +import type { RequestParameters } from "./RequestParameters.js"; +export type EndpointOptions = RequestParameters & { + method: RequestMethod; + url: Url; +}; diff --git a/dist/node_modules/@octokit/types/dist-types/Fetch.d.ts b/dist/node_modules/@octokit/types/dist-types/Fetch.d.ts new file mode 100644 index 00000000..983c79be --- /dev/null +++ b/dist/node_modules/@octokit/types/dist-types/Fetch.d.ts @@ -0,0 +1,4 @@ +/** + * Browser's fetch method (or compatible such as fetch-mock) + */ +export type Fetch = any; diff --git a/dist/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts b/dist/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts new file mode 100644 index 00000000..2daaf34d --- /dev/null +++ b/dist/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts @@ -0,0 +1,5 @@ +type Unwrap = T extends Promise ? U : T; +type AnyFunction = (...args: any[]) => any; +export type GetResponseTypeFromEndpointMethod = Unwrap>; +export type GetResponseDataTypeFromEndpointMethod = Unwrap>["data"]; +export {}; diff --git a/dist/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts b/dist/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts new file mode 100644 index 00000000..47a17979 --- /dev/null +++ b/dist/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts @@ -0,0 +1,17 @@ +import type { ResponseHeaders } from "./ResponseHeaders.js"; +import type { Url } from "./Url.js"; +export interface OctokitResponse { + headers: ResponseHeaders; + /** + * http response code + */ + status: S; + /** + * URL of response after all redirects + */ + url: Url; + /** + * Response data as documented in the REST API reference documentation at https://docs.github.com/rest/reference + */ + data: T; +} diff --git a/dist/node_modules/@octokit/types/dist-types/RequestError.d.ts b/dist/node_modules/@octokit/types/dist-types/RequestError.d.ts new file mode 100644 index 00000000..46083923 --- /dev/null +++ b/dist/node_modules/@octokit/types/dist-types/RequestError.d.ts @@ -0,0 +1,11 @@ +export type RequestError = { + name: string; + status: number; + documentation_url: string; + errors?: Array<{ + resource: string; + code: string; + field: string; + message?: string; + }>; +}; diff --git a/dist/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts b/dist/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts new file mode 100644 index 00000000..42311594 --- /dev/null +++ b/dist/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts @@ -0,0 +1,15 @@ +export type RequestHeaders = { + /** + * Avoid setting `headers.accept`, use `mediaType.{format|previews}` option instead. + */ + accept?: string; + /** + * Use `authorization` to send authenticated request, remember `token ` / `bearer ` prefixes. Example: `token 1234567890abcdef1234567890abcdef12345678` + */ + authorization?: string; + /** + * `user-agent` is set do a default and can be overwritten as needed. + */ + "user-agent"?: string; + [header: string]: string | number | undefined; +}; diff --git a/dist/node_modules/@octokit/types/dist-types/RequestInterface.d.ts b/dist/node_modules/@octokit/types/dist-types/RequestInterface.d.ts new file mode 100644 index 00000000..41a884e5 --- /dev/null +++ b/dist/node_modules/@octokit/types/dist-types/RequestInterface.d.ts @@ -0,0 +1,34 @@ +import type { EndpointInterface } from "./EndpointInterface.js"; +import type { OctokitResponse } from "./OctokitResponse.js"; +import type { RequestParameters } from "./RequestParameters.js"; +import type { Route } from "./Route.js"; +import type { Endpoints } from "./generated/Endpoints.js"; +export interface RequestInterface { + /** + * Sends a request based on endpoint options + * + * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (options: O & { + method?: string; + } & ("url" extends keyof D ? { + url?: string; + } : { + url: string; + })): Promise>; + /** + * Sends a request based on endpoint options + * + * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` + * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. + */ + (route: keyof Endpoints | R, options?: R extends keyof Endpoints ? Endpoints[R]["parameters"] & RequestParameters : RequestParameters): R extends keyof Endpoints ? Promise : Promise>; + /** + * Returns a new `request` with updated route and parameters + */ + defaults: (newDefaults: O) => RequestInterface; + /** + * Octokit endpoint API, see {@link https://github.com/octokit/endpoint.js|@octokit/endpoint} + */ + endpoint: EndpointInterface; +} diff --git a/dist/node_modules/@octokit/types/dist-types/RequestMethod.d.ts b/dist/node_modules/@octokit/types/dist-types/RequestMethod.d.ts new file mode 100644 index 00000000..4cdfe61c --- /dev/null +++ b/dist/node_modules/@octokit/types/dist-types/RequestMethod.d.ts @@ -0,0 +1,4 @@ +/** + * HTTP Verb supported by GitHub's REST API + */ +export type RequestMethod = "DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT"; diff --git a/dist/node_modules/@octokit/types/dist-types/RequestOptions.d.ts b/dist/node_modules/@octokit/types/dist-types/RequestOptions.d.ts new file mode 100644 index 00000000..b4efafb6 --- /dev/null +++ b/dist/node_modules/@octokit/types/dist-types/RequestOptions.d.ts @@ -0,0 +1,14 @@ +import type { RequestHeaders } from "./RequestHeaders.js"; +import type { RequestMethod } from "./RequestMethod.js"; +import type { RequestRequestOptions } from "./RequestRequestOptions.js"; +import type { Url } from "./Url.js"; +/** + * Generic request options as they are returned by the `endpoint()` method + */ +export type RequestOptions = { + method: RequestMethod; + url: Url; + headers: RequestHeaders; + body?: any; + request?: RequestRequestOptions; +}; diff --git a/dist/node_modules/@octokit/types/dist-types/RequestParameters.d.ts b/dist/node_modules/@octokit/types/dist-types/RequestParameters.d.ts new file mode 100644 index 00000000..8032acc2 --- /dev/null +++ b/dist/node_modules/@octokit/types/dist-types/RequestParameters.d.ts @@ -0,0 +1,55 @@ +import type { RequestRequestOptions } from "./RequestRequestOptions.js"; +import type { RequestHeaders } from "./RequestHeaders.js"; +import type { Url } from "./Url.js"; +/** + * Parameters that can be passed into `request(route, parameters)` or `endpoint(route, parameters)` methods + */ +export type RequestParameters = { + /** + * Base URL to be used when a relative URL is passed, such as `/orgs/{org}`. + * If `baseUrl` is `https://enterprise.acme-inc.com/api/v3`, then the request + * will be sent to `https://enterprise.acme-inc.com/api/v3/orgs/{org}`. + */ + baseUrl?: Url; + /** + * HTTP headers. Use lowercase keys. + */ + headers?: RequestHeaders; + /** + * Media type options, see {@link https://developer.github.com/v3/media/|GitHub Developer Guide} + */ + mediaType?: { + /** + * `json` by default. Can be `raw`, `text`, `html`, `full`, `diff`, `patch`, `sha`, `base64`. Depending on endpoint + */ + format?: string; + /** + * Custom media type names of {@link https://docs.github.com/en/graphql/overview/schema-previews|GraphQL API Previews} without the `-preview` suffix. + * Example for single preview: `['squirrel-girl']`. + * Example for multiple previews: `['squirrel-girl', 'mister-fantastic']`. + */ + previews?: string[]; + }; + /** + * The name of the operation to execute. + * Required only if multiple operations are present in the query document. + */ + operationName?: string; + /** + * The GraphQL query string to be sent in the request. + * This is required and must contain a valid GraphQL document. + */ + query?: string; + /** + * Pass custom meta information for the request. The `request` object will be returned as is. + */ + request?: RequestRequestOptions; + /** + * Any additional parameter will be passed as follows + * 1. URL parameter if `':parameter'` or `{parameter}` is part of `url` + * 2. Query parameter if `method` is `'GET'` or `'HEAD'` + * 3. Request body if `parameter` is `'data'` + * 4. JSON in the request body in the form of `body[parameter]` unless `parameter` key is `'data'` + */ + [parameter: string]: unknown; +}; diff --git a/dist/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts b/dist/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts new file mode 100644 index 00000000..f2c621a3 --- /dev/null +++ b/dist/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts @@ -0,0 +1,20 @@ +import type { Fetch } from "./Fetch.js"; +/** + * Octokit-specific request options which are ignored for the actual request, but can be used by Octokit or plugins to manipulate how the request is sent or how a response is handled + */ +export type RequestRequestOptions = { + /** + * Custom replacement for built-in fetch method. Useful for testing or request hooks. + */ + fetch?: Fetch; + /** + * Use an `AbortController` instance to cancel a request. In node you can only cancel streamed requests. + */ + signal?: AbortSignal; + /** + * If set to `false`, the response body will not be parsed and will be returned as a stream. + */ + parseSuccessResponseBody?: boolean; + redirect?: "follow" | "error" | "manual"; + [option: string]: any; +}; diff --git a/dist/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts b/dist/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts new file mode 100644 index 00000000..7b5bf53b --- /dev/null +++ b/dist/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts @@ -0,0 +1,21 @@ +export type ResponseHeaders = { + "cache-control"?: string; + "content-length"?: number; + "content-type"?: string; + date?: string; + etag?: string; + "last-modified"?: string; + link?: string; + location?: string; + server?: string; + status?: string; + vary?: string; + "x-accepted-github-permissions"?: string; + "x-github-mediatype"?: string; + "x-github-request-id"?: string; + "x-oauth-scopes"?: string; + "x-ratelimit-limit"?: string; + "x-ratelimit-remaining"?: string; + "x-ratelimit-reset"?: string; + [header: string]: string | number | undefined; +}; diff --git a/dist/node_modules/@octokit/types/dist-types/Route.d.ts b/dist/node_modules/@octokit/types/dist-types/Route.d.ts new file mode 100644 index 00000000..808991eb --- /dev/null +++ b/dist/node_modules/@octokit/types/dist-types/Route.d.ts @@ -0,0 +1,4 @@ +/** + * String consisting of an optional HTTP method and relative path or absolute URL. Examples: `'/orgs/{org}'`, `'PUT /orgs/{org}'`, `GET https://example.com/foo/bar` + */ +export type Route = string; diff --git a/dist/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts b/dist/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts new file mode 100644 index 00000000..158e8663 --- /dev/null +++ b/dist/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts @@ -0,0 +1,4 @@ +import type { AuthInterface } from "./AuthInterface.js"; +export interface StrategyInterface { + (...args: StrategyOptions): AuthInterface; +} diff --git a/dist/node_modules/@octokit/types/dist-types/Url.d.ts b/dist/node_modules/@octokit/types/dist-types/Url.d.ts new file mode 100644 index 00000000..521f5ad9 --- /dev/null +++ b/dist/node_modules/@octokit/types/dist-types/Url.d.ts @@ -0,0 +1,4 @@ +/** + * Relative or absolute URL. Examples: `'/orgs/{org}'`, `https://example.com/foo/bar` + */ +export type Url = string; diff --git a/dist/node_modules/@octokit/types/dist-types/VERSION.d.ts b/dist/node_modules/@octokit/types/dist-types/VERSION.d.ts new file mode 100644 index 00000000..9a15b2f0 --- /dev/null +++ b/dist/node_modules/@octokit/types/dist-types/VERSION.d.ts @@ -0,0 +1 @@ +export declare const VERSION = "13.10.0"; diff --git a/dist/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts b/dist/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts new file mode 100644 index 00000000..0324c2fb --- /dev/null +++ b/dist/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts @@ -0,0 +1,4173 @@ +import type { paths } from "@octokit/openapi-types"; +import type { OctokitResponse } from "../OctokitResponse.js"; +import type { RequestHeaders } from "../RequestHeaders.js"; +import type { RequestRequestOptions } from "../RequestRequestOptions.js"; +/** + * @license (MIT OR CC0-1.0) + * @source https://github.com/sindresorhus/type-fest/blob/570e27f8fdaee37ef5d5e0fbf241e0212ff8fc1a/source/simplify.d.ts + */ +export type Simplify = { + [KeyType in keyof T]: T[KeyType]; +} & {}; +type UnionToIntersection = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never; +type ExtractParameters = "parameters" extends keyof T ? UnionToIntersection<{ + [K in keyof T["parameters"]]-?: T["parameters"][K]; +}[keyof T["parameters"]]> : {}; +type ExtractRequestBody = "requestBody" extends keyof T ? "content" extends keyof T["requestBody"] ? "application/json" extends keyof T["requestBody"]["content"] ? T["requestBody"]["content"]["application/json"] : { + data: { + [K in keyof T["requestBody"]["content"]]: T["requestBody"]["content"][K]; + }[keyof T["requestBody"]["content"]]; +} : "application/json" extends keyof T["requestBody"] ? T["requestBody"]["application/json"] : { + data: { + [K in keyof T["requestBody"]]: T["requestBody"][K]; + }[keyof T["requestBody"]]; +} : {}; +type ToOctokitParameters = ExtractParameters & ExtractRequestBody>; +type Operation = { + parameters: Simplify>; + request: Method extends ReadOnlyMethods ? { + method: Method extends string ? Uppercase : never; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; + } : { + method: Method extends string ? Uppercase : never; + url: Url; + headers: RequestHeaders; + request: RequestRequestOptions; + data: ExtractRequestBody; + }; + response: ExtractOctokitResponse; +}; +type ReadOnlyMethods = "get" | "head"; +type SuccessStatuses = 200 | 201 | 202 | 204 | 205; +type RedirectStatuses = 301 | 302; +type EmptyResponseStatuses = 201 | 204 | 205; +type KnownJsonResponseTypes = "application/json" | "application/octocat-stream" | "application/scim+json" | "text/html" | "text/plain"; +type SuccessResponseDataType = { + [K in SuccessStatuses & keyof Responses]: GetContentKeyIfPresent extends never ? never : OctokitResponse, K>; +}[SuccessStatuses & keyof Responses]; +type RedirectResponseDataType = { + [K in RedirectStatuses & keyof Responses]: OctokitResponse; +}[RedirectStatuses & keyof Responses]; +type EmptyResponseDataType = { + [K in EmptyResponseStatuses & keyof Responses]: OctokitResponse; +}[EmptyResponseStatuses & keyof Responses]; +type GetContentKeyIfPresent = "content" extends keyof T ? DataType : DataType; +type DataType = { + [K in KnownJsonResponseTypes & keyof T]: T[K]; +}[KnownJsonResponseTypes & keyof T]; +type ExtractOctokitResponse = "responses" extends keyof R ? SuccessResponseDataType extends never ? RedirectResponseDataType extends never ? EmptyResponseDataType : RedirectResponseDataType : SuccessResponseDataType : unknown; +export interface Endpoints { + /** + * @see https://docs.github.com/rest/apps/apps#delete-an-installation-for-the-authenticated-app + */ + "DELETE /app/installations/{installation_id}": Operation<"/app/installations/{installation_id}", "delete">; + /** + * @see https://docs.github.com/rest/apps/apps#unsuspend-an-app-installation + */ + "DELETE /app/installations/{installation_id}/suspended": Operation<"/app/installations/{installation_id}/suspended", "delete">; + /** + * @see https://docs.github.com/rest/apps/oauth-applications#delete-an-app-authorization + */ + "DELETE /applications/{client_id}/grant": Operation<"/applications/{client_id}/grant", "delete">; + /** + * @see https://docs.github.com/rest/apps/oauth-applications#delete-an-app-token + */ + "DELETE /applications/{client_id}/token": Operation<"/applications/{client_id}/token", "delete">; + /** + * @see https://docs.github.com/rest/code-security/configurations#delete-a-code-security-configuration-for-an-enterprise + */ + "DELETE /enterprises/{enterprise}/code-security/configurations/{configuration_id}": Operation<"/enterprises/{enterprise}/code-security/configurations/{configuration_id}", "delete">; + /** + * @see https://docs.github.com/rest/gists/gists#delete-a-gist + */ + "DELETE /gists/{gist_id}": Operation<"/gists/{gist_id}", "delete">; + /** + * @see https://docs.github.com/rest/gists/comments#delete-a-gist-comment + */ + "DELETE /gists/{gist_id}/comments/{comment_id}": Operation<"/gists/{gist_id}/comments/{comment_id}", "delete">; + /** + * @see https://docs.github.com/rest/gists/gists#unstar-a-gist + */ + "DELETE /gists/{gist_id}/star": Operation<"/gists/{gist_id}/star", "delete">; + /** + * @see https://docs.github.com/rest/apps/installations#revoke-an-installation-access-token + */ + "DELETE /installation/token": Operation<"/installation/token", "delete">; + /** + * @see https://docs.github.com/rest/activity/notifications#mark-a-thread-as-done + */ + "DELETE /notifications/threads/{thread_id}": Operation<"/notifications/threads/{thread_id}", "delete">; + /** + * @see https://docs.github.com/rest/activity/notifications#delete-a-thread-subscription + */ + "DELETE /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "delete">; + /** + * @see https://docs.github.com/rest/orgs/orgs#delete-an-organization + */ + "DELETE /orgs/{org}": Operation<"/orgs/{org}", "delete">; + /** + * @see https://docs.github.com/rest/actions/hosted-runners#delete-a-github-hosted-runner-for-an-organization + */ + "DELETE /orgs/{org}/actions/hosted-runners/{hosted_runner_id}": Operation<"/orgs/{org}/actions/hosted-runners/{hosted_runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/permissions#disable-a-selected-repository-for-github-actions-in-an-organization + */ + "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}": Operation<"/orgs/{org}/actions/permissions/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#delete-a-self-hosted-runner-group-from-an-organization + */ + "DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#remove-repository-access-to-a-self-hosted-runner-group-in-an-organization + */ + "DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#remove-a-self-hosted-runner-from-a-group-for-an-organization + */ + "DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#delete-a-self-hosted-runner-from-an-organization + */ + "DELETE /orgs/{org}/actions/runners/{runner_id}": Operation<"/orgs/{org}/actions/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#remove-all-custom-labels-from-a-self-hosted-runner-for-an-organization + */ + "DELETE /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "delete">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#remove-a-custom-label-from-a-self-hosted-runner-for-an-organization + */ + "DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels/{name}", "delete">; + /** + * @see https://docs.github.com/rest/actions/secrets#delete-an-organization-secret + */ + "DELETE /orgs/{org}/actions/secrets/{secret_name}": Operation<"/orgs/{org}/actions/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/actions/secrets#remove-selected-repository-from-an-organization-secret + */ + "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/variables#delete-an-organization-variable + */ + "DELETE /orgs/{org}/actions/variables/{name}": Operation<"/orgs/{org}/actions/variables/{name}", "delete">; + /** + * @see https://docs.github.com/rest/actions/variables#remove-selected-repository-from-an-organization-variable + */ + "DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/variables/{name}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/blocking#unblock-a-user-from-an-organization + */ + "DELETE /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "delete">; + /** + * @see https://docs.github.com/rest/code-security/configurations#detach-configurations-from-repositories + */ + "DELETE /orgs/{org}/code-security/configurations/detach": Operation<"/orgs/{org}/code-security/configurations/detach", "delete">; + /** + * @see https://docs.github.com/rest/code-security/configurations#delete-a-code-security-configuration + */ + "DELETE /orgs/{org}/code-security/configurations/{configuration_id}": Operation<"/orgs/{org}/code-security/configurations/{configuration_id}", "delete">; + /** + * @see https://docs.github.com/rest/codespaces/organizations#remove-users-from-codespaces-access-for-an-organization + */ + "DELETE /orgs/{org}/codespaces/access/selected_users": Operation<"/orgs/{org}/codespaces/access/selected_users", "delete">; + /** + * @see https://docs.github.com/rest/codespaces/organization-secrets#delete-an-organization-secret + */ + "DELETE /orgs/{org}/codespaces/secrets/{secret_name}": Operation<"/orgs/{org}/codespaces/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/codespaces/organization-secrets#remove-selected-repository-from-an-organization-secret + */ + "DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/copilot/copilot-user-management#remove-teams-from-the-copilot-subscription-for-an-organization + */ + "DELETE /orgs/{org}/copilot/billing/selected_teams": Operation<"/orgs/{org}/copilot/billing/selected_teams", "delete">; + /** + * @see https://docs.github.com/rest/copilot/copilot-user-management#remove-users-from-the-copilot-subscription-for-an-organization + */ + "DELETE /orgs/{org}/copilot/billing/selected_users": Operation<"/orgs/{org}/copilot/billing/selected_users", "delete">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#delete-an-organization-secret + */ + "DELETE /orgs/{org}/dependabot/secrets/{secret_name}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#remove-selected-repository-from-an-organization-secret + */ + "DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/webhooks#delete-an-organization-webhook + */ + "DELETE /orgs/{org}/hooks/{hook_id}": Operation<"/orgs/{org}/hooks/{hook_id}", "delete">; + /** + * @see https://docs.github.com/rest/interactions/orgs#remove-interaction-restrictions-for-an-organization + */ + "DELETE /orgs/{org}/interaction-limits": Operation<"/orgs/{org}/interaction-limits", "delete">; + /** + * @see https://docs.github.com/rest/orgs/members#cancel-an-organization-invitation + */ + "DELETE /orgs/{org}/invitations/{invitation_id}": Operation<"/orgs/{org}/invitations/{invitation_id}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/issue-types#delete-issue-type-for-an-organization + */ + "DELETE /orgs/{org}/issue-types/{issue_type_id}": Operation<"/orgs/{org}/issue-types/{issue_type_id}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/members#remove-an-organization-member + */ + "DELETE /orgs/{org}/members/{username}": Operation<"/orgs/{org}/members/{username}", "delete">; + /** + * @see https://docs.github.com/rest/codespaces/organizations#delete-a-codespace-from-the-organization + */ + "DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}": Operation<"/orgs/{org}/members/{username}/codespaces/{codespace_name}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/members#remove-organization-membership-for-a-user + */ + "DELETE /orgs/{org}/memberships/{username}": Operation<"/orgs/{org}/memberships/{username}", "delete">; + /** + * @see https://docs.github.com/rest/migrations/orgs#delete-an-organization-migration-archive + */ + "DELETE /orgs/{org}/migrations/{migration_id}/archive": Operation<"/orgs/{org}/migrations/{migration_id}/archive", "delete">; + /** + * @see https://docs.github.com/rest/migrations/orgs#unlock-an-organization-repository + */ + "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": Operation<"/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock", "delete">; + /** + * @see https://docs.github.com/rest/orgs/organization-roles#remove-all-organization-roles-for-a-team + */ + "DELETE /orgs/{org}/organization-roles/teams/{team_slug}": Operation<"/orgs/{org}/organization-roles/teams/{team_slug}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/organization-roles#remove-an-organization-role-from-a-team + */ + "DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}": Operation<"/orgs/{org}/organization-roles/teams/{team_slug}/{role_id}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/organization-roles#remove-all-organization-roles-for-a-user + */ + "DELETE /orgs/{org}/organization-roles/users/{username}": Operation<"/orgs/{org}/organization-roles/users/{username}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/organization-roles#remove-an-organization-role-from-a-user + */ + "DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}": Operation<"/orgs/{org}/organization-roles/users/{username}/{role_id}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/outside-collaborators#remove-outside-collaborator-from-an-organization + */ + "DELETE /orgs/{org}/outside_collaborators/{username}": Operation<"/orgs/{org}/outside_collaborators/{username}", "delete">; + /** + * @see https://docs.github.com/rest/packages/packages#delete-a-package-for-an-organization + */ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}", "delete">; + /** + * @see https://docs.github.com/rest/packages/packages#delete-package-version-for-an-organization + */ + "DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", "delete">; + /** + * @see https://docs.github.com/rest/private-registries/organization-configurations#delete-a-private-registry-for-an-organization + */ + "DELETE /orgs/{org}/private-registries/{secret_name}": Operation<"/orgs/{org}/private-registries/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/custom-properties#remove-a-custom-property-for-an-organization + */ + "DELETE /orgs/{org}/properties/schema/{custom_property_name}": Operation<"/orgs/{org}/properties/schema/{custom_property_name}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/members#remove-public-organization-membership-for-the-authenticated-user + */ + "DELETE /orgs/{org}/public_members/{username}": Operation<"/orgs/{org}/public_members/{username}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/rules#delete-an-organization-repository-ruleset + */ + "DELETE /orgs/{org}/rulesets/{ruleset_id}": Operation<"/orgs/{org}/rulesets/{ruleset_id}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/security-managers#remove-a-security-manager-team + */ + "DELETE /orgs/{org}/security-managers/teams/{team_slug}": Operation<"/orgs/{org}/security-managers/teams/{team_slug}", "delete">; + /** + * @see https://docs.github.com/rest/orgs/network-configurations#delete-a-hosted-compute-network-configuration-from-an-organization + */ + "DELETE /orgs/{org}/settings/network-configurations/{network_configuration_id}": Operation<"/orgs/{org}/settings/network-configurations/{network_configuration_id}", "delete">; + /** + * @see https://docs.github.com/rest/teams/teams#delete-a-team + */ + "DELETE /orgs/{org}/teams/{team_slug}": Operation<"/orgs/{org}/teams/{team_slug}", "delete">; + /** + * @see https://docs.github.com/rest/teams/discussions#delete-a-discussion + */ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", "delete">; + /** + * @see https://docs.github.com/rest/teams/discussion-comments#delete-a-discussion-comment + */ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "delete">; + /** + * @see https://docs.github.com/rest/reactions/reactions#delete-team-discussion-comment-reaction + */ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/reactions/reactions#delete-team-discussion-reaction + */ + "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user + */ + "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}": Operation<"/orgs/{org}/teams/{team_slug}/memberships/{username}", "delete">; + /** + * @see https://docs.github.com/rest/teams/teams#remove-a-project-from-a-team + */ + "DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}": Operation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "delete">; + /** + * @see https://docs.github.com/rest/teams/teams#remove-a-repository-from-a-team + */ + "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": Operation<"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "delete">; + /** + * @see https://docs.github.com/rest/projects/cards#delete-a-project-card + */ + "DELETE /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "delete">; + /** + * @see https://docs.github.com/rest/projects/columns#delete-a-project-column + */ + "DELETE /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "delete">; + /** + * @see https://docs.github.com/rest/projects/projects#delete-a-project + */ + "DELETE /projects/{project_id}": Operation<"/projects/{project_id}", "delete">; + /** + * @see https://docs.github.com/rest/projects/collaborators#remove-user-as-a-collaborator + */ + "DELETE /projects/{project_id}/collaborators/{username}": Operation<"/projects/{project_id}/collaborators/{username}", "delete">; + /** + * @see https://docs.github.com/rest/repos/repos#delete-a-repository + */ + "DELETE /repos/{owner}/{repo}": Operation<"/repos/{owner}/{repo}", "delete">; + /** + * @see https://docs.github.com/rest/actions/artifacts#delete-an-artifact + */ + "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}": Operation<"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/cache#delete-a-github-actions-cache-for-a-repository-using-a-cache-id + */ + "DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}": Operation<"/repos/{owner}/{repo}/actions/caches/{cache_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/cache#delete-github-actions-caches-for-a-repository-using-a-cache-key + */ + "DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}": Operation<"/repos/{owner}/{repo}/actions/caches", "delete">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#delete-a-self-hosted-runner-from-a-repository + */ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#remove-all-custom-labels-from-a-self-hosted-runner-for-a-repository + */ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "delete">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#remove-a-custom-label-from-a-self-hosted-runner-for-a-repository + */ + "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}", "delete">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#delete-a-workflow-run + */ + "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#delete-workflow-run-logs + */ + "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/logs", "delete">; + /** + * @see https://docs.github.com/rest/actions/secrets#delete-a-repository-secret + */ + "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/actions/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/actions/variables#delete-a-repository-variable + */ + "DELETE /repos/{owner}/{repo}/actions/variables/{name}": Operation<"/repos/{owner}/{repo}/actions/variables/{name}", "delete">; + /** + * @see https://docs.github.com/rest/repos/autolinks#delete-an-autolink-reference-from-a-repository + */ + "DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}": Operation<"/repos/{owner}/{repo}/autolinks/{autolink_id}", "delete">; + /** + * @see https://docs.github.com/rest/repos/repos#disable-dependabot-security-updates + */ + "DELETE /repos/{owner}/{repo}/automated-security-fixes": Operation<"/repos/{owner}/{repo}/automated-security-fixes", "delete">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#delete-branch-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection", "delete">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#delete-admin-branch-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", "delete">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#delete-pull-request-review-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", "delete">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#delete-commit-signature-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "delete">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#remove-status-check-protection + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", "delete">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#remove-status-check-contexts + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "delete">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#delete-access-restrictions + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions", "delete">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#remove-app-access-restrictions + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "delete">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#remove-team-access-restrictions + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "delete">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#remove-user-access-restrictions + */ + "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "delete">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#delete-a-code-scanning-analysis-from-a-repository + */ + "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}": Operation<"/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", "delete">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#delete-a-codeql-database + */ + "DELETE /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}": Operation<"/repos/{owner}/{repo}/code-scanning/codeql/databases/{language}", "delete">; + /** + * @see https://docs.github.com/rest/codespaces/repository-secrets#delete-a-repository-secret + */ + "DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/codespaces/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/collaborators/collaborators#remove-a-repository-collaborator + */ + "DELETE /repos/{owner}/{repo}/collaborators/{username}": Operation<"/repos/{owner}/{repo}/collaborators/{username}", "delete">; + /** + * @see https://docs.github.com/rest/commits/comments#delete-a-commit-comment + */ + "DELETE /repos/{owner}/{repo}/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}", "delete">; + /** + * @see https://docs.github.com/rest/reactions/reactions#delete-a-commit-comment-reaction + */ + "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/repos/contents#delete-a-file + */ + "DELETE /repos/{owner}/{repo}/contents/{path}": Operation<"/repos/{owner}/{repo}/contents/{path}", "delete">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#delete-a-repository-secret + */ + "DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/dependabot/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/deployments/deployments#delete-a-deployment + */ + "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}", "delete">; + /** + * @see https://docs.github.com/rest/deployments/environments#delete-an-environment + */ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}", "delete">; + /** + * @see https://docs.github.com/rest/deployments/branch-policies#delete-a-deployment-branch-policy + */ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}", "delete">; + /** + * @see https://docs.github.com/rest/deployments/protection-rules#disable-a-custom-protection-rule-for-an-environment + */ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}", "delete">; + /** + * @see https://docs.github.com/rest/actions/secrets#delete-an-environment-secret + */ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/actions/variables#delete-an-environment-variable + */ + "DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/variables/{name}", "delete">; + /** + * @see https://docs.github.com/rest/git/refs#delete-a-reference + */ + "DELETE /repos/{owner}/{repo}/git/refs/{ref}": Operation<"/repos/{owner}/{repo}/git/refs/{ref}", "delete">; + /** + * @see https://docs.github.com/rest/repos/webhooks#delete-a-repository-webhook + */ + "DELETE /repos/{owner}/{repo}/hooks/{hook_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}", "delete">; + /** + * @see https://docs.github.com/rest/migrations/source-imports#cancel-an-import + */ + "DELETE /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "delete">; + /** + * @see https://docs.github.com/rest/interactions/repos#remove-interaction-restrictions-for-a-repository + */ + "DELETE /repos/{owner}/{repo}/interaction-limits": Operation<"/repos/{owner}/{repo}/interaction-limits", "delete">; + /** + * @see https://docs.github.com/rest/collaborators/invitations#delete-a-repository-invitation + */ + "DELETE /repos/{owner}/{repo}/invitations/{invitation_id}": Operation<"/repos/{owner}/{repo}/invitations/{invitation_id}", "delete">; + /** + * @see https://docs.github.com/rest/issues/comments#delete-an-issue-comment + */ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}", "delete">; + /** + * @see https://docs.github.com/rest/reactions/reactions#delete-an-issue-comment-reaction + */ + "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/reference/issues#remove-assignees-from-an-issue + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/assignees", "delete">; + /** + * @see https://docs.github.com/rest/issues/labels#remove-all-labels-from-an-issue + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "delete">; + /** + * @see https://docs.github.com/rest/issues/labels#remove-a-label-from-an-issue + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}", "delete">; + /** + * @see https://docs.github.com/rest/issues/issues#unlock-an-issue + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/lock", "delete">; + /** + * @see https://docs.github.com/rest/reactions/reactions#delete-an-issue-reaction + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/issues/sub-issues#remove-sub-issue + */ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/sub_issue", "delete">; + /** + * @see https://docs.github.com/rest/deploy-keys/deploy-keys#delete-a-deploy-key + */ + "DELETE /repos/{owner}/{repo}/keys/{key_id}": Operation<"/repos/{owner}/{repo}/keys/{key_id}", "delete">; + /** + * @see https://docs.github.com/rest/issues/labels#delete-a-label + */ + "DELETE /repos/{owner}/{repo}/labels/{name}": Operation<"/repos/{owner}/{repo}/labels/{name}", "delete">; + /** + * @see https://docs.github.com/rest/issues/milestones#delete-a-milestone + */ + "DELETE /repos/{owner}/{repo}/milestones/{milestone_number}": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}", "delete">; + /** + * @see https://docs.github.com/rest/pages/pages#delete-a-apiname-pages-site + */ + "DELETE /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "delete">; + /** + * @see https://docs.github.com/rest/repos/repos#disable-private-vulnerability-reporting-for-a-repository + */ + "DELETE /repos/{owner}/{repo}/private-vulnerability-reporting": Operation<"/repos/{owner}/{repo}/private-vulnerability-reporting", "delete">; + /** + * @see https://docs.github.com/rest/pulls/comments#delete-a-review-comment-for-a-pull-request + */ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}", "delete">; + /** + * @see https://docs.github.com/rest/reactions/reactions#delete-a-pull-request-comment-reaction + */ + "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/pulls/review-requests#remove-requested-reviewers-from-a-pull-request + */ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "delete">; + /** + * @see https://docs.github.com/rest/pulls/reviews#delete-a-pending-review-for-a-pull-request + */ + "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", "delete">; + /** + * @see https://docs.github.com/rest/releases/assets#delete-a-release-asset + */ + "DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}": Operation<"/repos/{owner}/{repo}/releases/assets/{asset_id}", "delete">; + /** + * @see https://docs.github.com/rest/releases/releases#delete-a-release + */ + "DELETE /repos/{owner}/{repo}/releases/{release_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}", "delete">; + /** + * @see https://docs.github.com/rest/reactions/reactions#delete-a-release-reaction + */ + "DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}", "delete">; + /** + * @see https://docs.github.com/rest/repos/rules#delete-a-repository-ruleset + */ + "DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}": Operation<"/repos/{owner}/{repo}/rulesets/{ruleset_id}", "delete">; + /** + * @see https://docs.github.com/rest/activity/watching#delete-a-repository-subscription + */ + "DELETE /repos/{owner}/{repo}/subscription": Operation<"/repos/{owner}/{repo}/subscription", "delete">; + /** + * @see https://docs.github.com/rest/repos/tags#closing-down---delete-a-tag-protection-state-for-a-repository + */ + "DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}": Operation<"/repos/{owner}/{repo}/tags/protection/{tag_protection_id}", "delete">; + /** + * @see https://docs.github.com/rest/repos/repos#disable-vulnerability-alerts + */ + "DELETE /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "delete">; + /** + * @see https://docs.github.com/rest/teams/teams#delete-a-team-legacy + */ + "DELETE /teams/{team_id}": Operation<"/teams/{team_id}", "delete">; + /** + * @see https://docs.github.com/rest/teams/discussions#delete-a-discussion-legacy + */ + "DELETE /teams/{team_id}/discussions/{discussion_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}", "delete">; + /** + * @see https://docs.github.com/rest/teams/discussion-comments#delete-a-discussion-comment-legacy + */ + "DELETE /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "delete">; + /** + * @see https://docs.github.com/rest/teams/members#remove-team-member-legacy + */ + "DELETE /teams/{team_id}/members/{username}": Operation<"/teams/{team_id}/members/{username}", "delete">; + /** + * @see https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user-legacy + */ + "DELETE /teams/{team_id}/memberships/{username}": Operation<"/teams/{team_id}/memberships/{username}", "delete">; + /** + * @see https://docs.github.com/rest/teams/teams#remove-a-project-from-a-team-legacy + */ + "DELETE /teams/{team_id}/projects/{project_id}": Operation<"/teams/{team_id}/projects/{project_id}", "delete">; + /** + * @see https://docs.github.com/rest/teams/teams#remove-a-repository-from-a-team-legacy + */ + "DELETE /teams/{team_id}/repos/{owner}/{repo}": Operation<"/teams/{team_id}/repos/{owner}/{repo}", "delete">; + /** + * @see https://docs.github.com/rest/users/blocking#unblock-a-user + */ + "DELETE /user/blocks/{username}": Operation<"/user/blocks/{username}", "delete">; + /** + * @see https://docs.github.com/rest/codespaces/secrets#delete-a-secret-for-the-authenticated-user + */ + "DELETE /user/codespaces/secrets/{secret_name}": Operation<"/user/codespaces/secrets/{secret_name}", "delete">; + /** + * @see https://docs.github.com/rest/codespaces/secrets#remove-a-selected-repository-from-a-user-secret + */ + "DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}": Operation<"/user/codespaces/secrets/{secret_name}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#delete-a-codespace-for-the-authenticated-user + */ + "DELETE /user/codespaces/{codespace_name}": Operation<"/user/codespaces/{codespace_name}", "delete">; + /** + * @see https://docs.github.com/rest/users/emails#delete-an-email-address-for-the-authenticated-user + */ + "DELETE /user/emails": Operation<"/user/emails", "delete">; + /** + * @see https://docs.github.com/rest/users/followers#unfollow-a-user + */ + "DELETE /user/following/{username}": Operation<"/user/following/{username}", "delete">; + /** + * @see https://docs.github.com/rest/users/gpg-keys#delete-a-gpg-key-for-the-authenticated-user + */ + "DELETE /user/gpg_keys/{gpg_key_id}": Operation<"/user/gpg_keys/{gpg_key_id}", "delete">; + /** + * @see https://docs.github.com/rest/apps/installations#remove-a-repository-from-an-app-installation + */ + "DELETE /user/installations/{installation_id}/repositories/{repository_id}": Operation<"/user/installations/{installation_id}/repositories/{repository_id}", "delete">; + /** + * @see https://docs.github.com/rest/interactions/user#remove-interaction-restrictions-from-your-public-repositories + */ + "DELETE /user/interaction-limits": Operation<"/user/interaction-limits", "delete">; + /** + * @see https://docs.github.com/rest/users/keys#delete-a-public-ssh-key-for-the-authenticated-user + */ + "DELETE /user/keys/{key_id}": Operation<"/user/keys/{key_id}", "delete">; + /** + * @see https://docs.github.com/rest/migrations/users#delete-a-user-migration-archive + */ + "DELETE /user/migrations/{migration_id}/archive": Operation<"/user/migrations/{migration_id}/archive", "delete">; + /** + * @see https://docs.github.com/rest/migrations/users#unlock-a-user-repository + */ + "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock": Operation<"/user/migrations/{migration_id}/repos/{repo_name}/lock", "delete">; + /** + * @see https://docs.github.com/rest/packages/packages#delete-a-package-for-the-authenticated-user + */ + "DELETE /user/packages/{package_type}/{package_name}": Operation<"/user/packages/{package_type}/{package_name}", "delete">; + /** + * @see https://docs.github.com/rest/packages/packages#delete-a-package-version-for-the-authenticated-user + */ + "DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/user/packages/{package_type}/{package_name}/versions/{package_version_id}", "delete">; + /** + * @see https://docs.github.com/rest/collaborators/invitations#decline-a-repository-invitation + */ + "DELETE /user/repository_invitations/{invitation_id}": Operation<"/user/repository_invitations/{invitation_id}", "delete">; + /** + * @see https://docs.github.com/rest/users/social-accounts#delete-social-accounts-for-the-authenticated-user + */ + "DELETE /user/social_accounts": Operation<"/user/social_accounts", "delete">; + /** + * @see https://docs.github.com/rest/users/ssh-signing-keys#delete-an-ssh-signing-key-for-the-authenticated-user + */ + "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}": Operation<"/user/ssh_signing_keys/{ssh_signing_key_id}", "delete">; + /** + * @see https://docs.github.com/rest/activity/starring#unstar-a-repository-for-the-authenticated-user + */ + "DELETE /user/starred/{owner}/{repo}": Operation<"/user/starred/{owner}/{repo}", "delete">; + /** + * @see https://docs.github.com/rest/packages/packages#delete-a-package-for-a-user + */ + "DELETE /users/{username}/packages/{package_type}/{package_name}": Operation<"/users/{username}/packages/{package_type}/{package_name}", "delete">; + /** + * @see https://docs.github.com/rest/packages/packages#delete-package-version-for-a-user + */ + "DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}", "delete">; + /** + * @see https://docs.github.com/rest/meta/meta#github-api-root + */ + "GET /": Operation<"/", "get">; + /** + * @see https://docs.github.com/rest/security-advisories/global-advisories#list-global-security-advisories + */ + "GET /advisories": Operation<"/advisories", "get">; + /** + * @see https://docs.github.com/rest/security-advisories/global-advisories#get-a-global-security-advisory + */ + "GET /advisories/{ghsa_id}": Operation<"/advisories/{ghsa_id}", "get">; + /** + * @see https://docs.github.com/rest/apps/apps#get-the-authenticated-app + */ + "GET /app": Operation<"/app", "get">; + /** + * @see https://docs.github.com/rest/apps/webhooks#get-a-webhook-configuration-for-an-app + */ + "GET /app/hook/config": Operation<"/app/hook/config", "get">; + /** + * @see https://docs.github.com/rest/apps/webhooks#list-deliveries-for-an-app-webhook + */ + "GET /app/hook/deliveries": Operation<"/app/hook/deliveries", "get">; + /** + * @see https://docs.github.com/rest/apps/webhooks#get-a-delivery-for-an-app-webhook + */ + "GET /app/hook/deliveries/{delivery_id}": Operation<"/app/hook/deliveries/{delivery_id}", "get">; + /** + * @see https://docs.github.com/rest/apps/apps#list-installation-requests-for-the-authenticated-app + */ + "GET /app/installation-requests": Operation<"/app/installation-requests", "get">; + /** + * @see https://docs.github.com/enterprise-server@3.9/rest/apps/apps#list-installations-for-the-authenticated-app + */ + "GET /app/installations": Operation<"/app/installations", "get">; + /** + * @see https://docs.github.com/rest/apps/apps#get-an-installation-for-the-authenticated-app + */ + "GET /app/installations/{installation_id}": Operation<"/app/installations/{installation_id}", "get">; + /** + * @see https://docs.github.com/rest/apps/apps#get-an-app + */ + "GET /apps/{app_slug}": Operation<"/apps/{app_slug}", "get">; + /** + * @see https://docs.github.com/rest/classroom/classroom#get-an-assignment + */ + "GET /assignments/{assignment_id}": Operation<"/assignments/{assignment_id}", "get">; + /** + * @see https://docs.github.com/rest/classroom/classroom#list-accepted-assignments-for-an-assignment + */ + "GET /assignments/{assignment_id}/accepted_assignments": Operation<"/assignments/{assignment_id}/accepted_assignments", "get">; + /** + * @see https://docs.github.com/rest/classroom/classroom#get-assignment-grades + */ + "GET /assignments/{assignment_id}/grades": Operation<"/assignments/{assignment_id}/grades", "get">; + /** + * @see https://docs.github.com/rest/classroom/classroom#list-classrooms + */ + "GET /classrooms": Operation<"/classrooms", "get">; + /** + * @see https://docs.github.com/rest/classroom/classroom#get-a-classroom + */ + "GET /classrooms/{classroom_id}": Operation<"/classrooms/{classroom_id}", "get">; + /** + * @see https://docs.github.com/rest/classroom/classroom#list-assignments-for-a-classroom + */ + "GET /classrooms/{classroom_id}/assignments": Operation<"/classrooms/{classroom_id}/assignments", "get">; + /** + * @see https://docs.github.com/rest/codes-of-conduct/codes-of-conduct#get-all-codes-of-conduct + */ + "GET /codes_of_conduct": Operation<"/codes_of_conduct", "get">; + /** + * @see https://docs.github.com/rest/codes-of-conduct/codes-of-conduct#get-a-code-of-conduct + */ + "GET /codes_of_conduct/{key}": Operation<"/codes_of_conduct/{key}", "get">; + /** + * @see https://docs.github.com/rest/emojis/emojis#get-emojis + */ + "GET /emojis": Operation<"/emojis", "get">; + /** + * @see https://docs.github.com/rest/code-security/configurations#get-code-security-configurations-for-an-enterprise + */ + "GET /enterprises/{enterprise}/code-security/configurations": Operation<"/enterprises/{enterprise}/code-security/configurations", "get">; + /** + * @see https://docs.github.com/rest/code-security/configurations#get-default-code-security-configurations-for-an-enterprise + */ + "GET /enterprises/{enterprise}/code-security/configurations/defaults": Operation<"/enterprises/{enterprise}/code-security/configurations/defaults", "get">; + /** + * @see https://docs.github.com/rest/code-security/configurations#retrieve-a-code-security-configuration-of-an-enterprise + */ + "GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}": Operation<"/enterprises/{enterprise}/code-security/configurations/{configuration_id}", "get">; + /** + * @see https://docs.github.com/rest/code-security/configurations#get-repositories-associated-with-an-enterprise-code-security-configuration + */ + "GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories": Operation<"/enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/dependabot/alerts#list-dependabot-alerts-for-an-enterprise + */ + "GET /enterprises/{enterprise}/dependabot/alerts": Operation<"/enterprises/{enterprise}/dependabot/alerts", "get">; + /** + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-secret-scanning-alerts-for-an-enterprise + */ + "GET /enterprises/{enterprise}/secret-scanning/alerts": Operation<"/enterprises/{enterprise}/secret-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/activity/events#list-public-events + */ + "GET /events": Operation<"/events", "get">; + /** + * @see https://docs.github.com/rest/activity/feeds#get-feeds + */ + "GET /feeds": Operation<"/feeds", "get">; + /** + * @see https://docs.github.com/rest/gists/gists#list-gists-for-the-authenticated-user + */ + "GET /gists": Operation<"/gists", "get">; + /** + * @see https://docs.github.com/rest/gists/gists#list-public-gists + */ + "GET /gists/public": Operation<"/gists/public", "get">; + /** + * @see https://docs.github.com/rest/gists/gists#list-starred-gists + */ + "GET /gists/starred": Operation<"/gists/starred", "get">; + /** + * @see https://docs.github.com/rest/gists/gists#get-a-gist + */ + "GET /gists/{gist_id}": Operation<"/gists/{gist_id}", "get">; + /** + * @see https://docs.github.com/rest/gists/comments#list-gist-comments + */ + "GET /gists/{gist_id}/comments": Operation<"/gists/{gist_id}/comments", "get">; + /** + * @see https://docs.github.com/rest/gists/comments#get-a-gist-comment + */ + "GET /gists/{gist_id}/comments/{comment_id}": Operation<"/gists/{gist_id}/comments/{comment_id}", "get">; + /** + * @see https://docs.github.com/rest/gists/gists#list-gist-commits + */ + "GET /gists/{gist_id}/commits": Operation<"/gists/{gist_id}/commits", "get">; + /** + * @see https://docs.github.com/rest/gists/gists#list-gist-forks + */ + "GET /gists/{gist_id}/forks": Operation<"/gists/{gist_id}/forks", "get">; + /** + * @see https://docs.github.com/rest/gists/gists#check-if-a-gist-is-starred + */ + "GET /gists/{gist_id}/star": Operation<"/gists/{gist_id}/star", "get">; + /** + * @see https://docs.github.com/rest/gists/gists#get-a-gist-revision + */ + "GET /gists/{gist_id}/{sha}": Operation<"/gists/{gist_id}/{sha}", "get">; + /** + * @see https://docs.github.com/rest/gitignore/gitignore#get-all-gitignore-templates + */ + "GET /gitignore/templates": Operation<"/gitignore/templates", "get">; + /** + * @see https://docs.github.com/rest/gitignore/gitignore#get-a-gitignore-template + */ + "GET /gitignore/templates/{name}": Operation<"/gitignore/templates/{name}", "get">; + /** + * @see https://docs.github.com/rest/apps/installations#list-repositories-accessible-to-the-app-installation + */ + "GET /installation/repositories": Operation<"/installation/repositories", "get">; + /** + * @see https://docs.github.com/rest/issues/issues#list-issues-assigned-to-the-authenticated-user + */ + "GET /issues": Operation<"/issues", "get">; + /** + * @see https://docs.github.com/rest/licenses/licenses#get-all-commonly-used-licenses + */ + "GET /licenses": Operation<"/licenses", "get">; + /** + * @see https://docs.github.com/rest/licenses/licenses#get-a-license + */ + "GET /licenses/{license}": Operation<"/licenses/{license}", "get">; + /** + * @see https://docs.github.com/rest/apps/marketplace#get-a-subscription-plan-for-an-account + */ + "GET /marketplace_listing/accounts/{account_id}": Operation<"/marketplace_listing/accounts/{account_id}", "get">; + /** + * @see https://docs.github.com/rest/apps/marketplace#list-plans + */ + "GET /marketplace_listing/plans": Operation<"/marketplace_listing/plans", "get">; + /** + * @see https://docs.github.com/rest/apps/marketplace#list-accounts-for-a-plan + */ + "GET /marketplace_listing/plans/{plan_id}/accounts": Operation<"/marketplace_listing/plans/{plan_id}/accounts", "get">; + /** + * @see https://docs.github.com/rest/apps/marketplace#get-a-subscription-plan-for-an-account-stubbed + */ + "GET /marketplace_listing/stubbed/accounts/{account_id}": Operation<"/marketplace_listing/stubbed/accounts/{account_id}", "get">; + /** + * @see https://docs.github.com/rest/apps/marketplace#list-plans-stubbed + */ + "GET /marketplace_listing/stubbed/plans": Operation<"/marketplace_listing/stubbed/plans", "get">; + /** + * @see https://docs.github.com/rest/apps/marketplace#list-accounts-for-a-plan-stubbed + */ + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts": Operation<"/marketplace_listing/stubbed/plans/{plan_id}/accounts", "get">; + /** + * @see https://docs.github.com/rest/meta/meta#get-apiname-meta-information + */ + "GET /meta": Operation<"/meta", "get">; + /** + * @see https://docs.github.com/rest/activity/events#list-public-events-for-a-network-of-repositories + */ + "GET /networks/{owner}/{repo}/events": Operation<"/networks/{owner}/{repo}/events", "get">; + /** + * @see https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user + */ + "GET /notifications": Operation<"/notifications", "get">; + /** + * @see https://docs.github.com/rest/activity/notifications#get-a-thread + */ + "GET /notifications/threads/{thread_id}": Operation<"/notifications/threads/{thread_id}", "get">; + /** + * @see https://docs.github.com/rest/activity/notifications#get-a-thread-subscription-for-the-authenticated-user + */ + "GET /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "get">; + /** + * @see https://docs.github.com/rest/meta/meta#get-octocat + */ + "GET /octocat": Operation<"/octocat", "get">; + /** + * @see https://docs.github.com/rest/orgs/orgs#list-organizations + */ + "GET /organizations": Operation<"/organizations", "get">; + /** + * @see https://docs.github.com/rest/billing/enhanced-billing#get-billing-usage-report-for-an-organization + */ + "GET /organizations/{org}/settings/billing/usage": Operation<"/organizations/{org}/settings/billing/usage", "get">; + /** + * @see https://docs.github.com/rest/codespaces/organizations#list-codespaces-for-the-organization + * @deprecated "org_id" is now "org" + */ + "GET /orgs/{org_id}/codespaces": Operation<"/orgs/{org}/codespaces", "get">; + /** + * @see https://docs.github.com/rest/orgs/orgs#get-an-organization + */ + "GET /orgs/{org}": Operation<"/orgs/{org}", "get">; + /** + * @see https://docs.github.com/rest/actions/cache#get-github-actions-cache-usage-for-an-organization + */ + "GET /orgs/{org}/actions/cache/usage": Operation<"/orgs/{org}/actions/cache/usage", "get">; + /** + * @see https://docs.github.com/rest/actions/cache#list-repositories-with-github-actions-cache-usage-for-an-organization + */ + "GET /orgs/{org}/actions/cache/usage-by-repository": Operation<"/orgs/{org}/actions/cache/usage-by-repository", "get">; + /** + * @see https://docs.github.com/rest/actions/hosted-runners#list-github-hosted-runners-for-an-organization + */ + "GET /orgs/{org}/actions/hosted-runners": Operation<"/orgs/{org}/actions/hosted-runners", "get">; + /** + * @see https://docs.github.com/rest/actions/hosted-runners#get-github-owned-images-for-github-hosted-runners-in-an-organization + */ + "GET /orgs/{org}/actions/hosted-runners/images/github-owned": Operation<"/orgs/{org}/actions/hosted-runners/images/github-owned", "get">; + /** + * @see https://docs.github.com/rest/actions/hosted-runners#get-partner-images-for-github-hosted-runners-in-an-organization + */ + "GET /orgs/{org}/actions/hosted-runners/images/partner": Operation<"/orgs/{org}/actions/hosted-runners/images/partner", "get">; + /** + * @see https://docs.github.com/rest/actions/hosted-runners#get-limits-on-github-hosted-runners-for-an-organization + */ + "GET /orgs/{org}/actions/hosted-runners/limits": Operation<"/orgs/{org}/actions/hosted-runners/limits", "get">; + /** + * @see https://docs.github.com/rest/actions/hosted-runners#get-github-hosted-runners-machine-specs-for-an-organization + */ + "GET /orgs/{org}/actions/hosted-runners/machine-sizes": Operation<"/orgs/{org}/actions/hosted-runners/machine-sizes", "get">; + /** + * @see https://docs.github.com/rest/actions/hosted-runners#get-platforms-for-github-hosted-runners-in-an-organization + */ + "GET /orgs/{org}/actions/hosted-runners/platforms": Operation<"/orgs/{org}/actions/hosted-runners/platforms", "get">; + /** + * @see https://docs.github.com/rest/actions/hosted-runners#get-a-github-hosted-runner-for-an-organization + */ + "GET /orgs/{org}/actions/hosted-runners/{hosted_runner_id}": Operation<"/orgs/{org}/actions/hosted-runners/{hosted_runner_id}", "get">; + /** + * @see https://docs.github.com/rest/actions/oidc#get-the-customization-template-for-an-oidc-subject-claim-for-an-organization + */ + "GET /orgs/{org}/actions/oidc/customization/sub": Operation<"/orgs/{org}/actions/oidc/customization/sub", "get">; + /** + * @see https://docs.github.com/rest/actions/permissions#get-github-actions-permissions-for-an-organization + */ + "GET /orgs/{org}/actions/permissions": Operation<"/orgs/{org}/actions/permissions", "get">; + /** + * @see https://docs.github.com/rest/actions/permissions#list-selected-repositories-enabled-for-github-actions-in-an-organization + */ + "GET /orgs/{org}/actions/permissions/repositories": Operation<"/orgs/{org}/actions/permissions/repositories", "get">; + /** + * @see https://docs.github.com/rest/actions/permissions#get-allowed-actions-and-reusable-workflows-for-an-organization + */ + "GET /orgs/{org}/actions/permissions/selected-actions": Operation<"/orgs/{org}/actions/permissions/selected-actions", "get">; + /** + * @see https://docs.github.com/rest/actions/permissions#get-default-workflow-permissions-for-an-organization + */ + "GET /orgs/{org}/actions/permissions/workflow": Operation<"/orgs/{org}/actions/permissions/workflow", "get">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#list-self-hosted-runner-groups-for-an-organization + */ + "GET /orgs/{org}/actions/runner-groups": Operation<"/orgs/{org}/actions/runner-groups", "get">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#get-a-self-hosted-runner-group-for-an-organization + */ + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}", "get">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#list-github-hosted-runners-in-a-group-for-an-organization + */ + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners", "get">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#list-repository-access-to-a-self-hosted-runner-group-in-an-organization + */ + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#list-self-hosted-runners-in-a-group-for-an-organization + */ + "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/runners", "get">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-self-hosted-runners-for-an-organization + */ + "GET /orgs/{org}/actions/runners": Operation<"/orgs/{org}/actions/runners", "get">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-runner-applications-for-an-organization + */ + "GET /orgs/{org}/actions/runners/downloads": Operation<"/orgs/{org}/actions/runners/downloads", "get">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#get-a-self-hosted-runner-for-an-organization + */ + "GET /orgs/{org}/actions/runners/{runner_id}": Operation<"/orgs/{org}/actions/runners/{runner_id}", "get">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-labels-for-a-self-hosted-runner-for-an-organization + */ + "GET /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "get">; + /** + * @see https://docs.github.com/rest/actions/secrets#list-organization-secrets + */ + "GET /orgs/{org}/actions/secrets": Operation<"/orgs/{org}/actions/secrets", "get">; + /** + * @see https://docs.github.com/rest/actions/secrets#get-an-organization-public-key + */ + "GET /orgs/{org}/actions/secrets/public-key": Operation<"/orgs/{org}/actions/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/actions/secrets#get-an-organization-secret + */ + "GET /orgs/{org}/actions/secrets/{secret_name}": Operation<"/orgs/{org}/actions/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/actions/secrets#list-selected-repositories-for-an-organization-secret + */ + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories", "get">; + /** + * @see https://docs.github.com/rest/actions/variables#list-organization-variables + */ + "GET /orgs/{org}/actions/variables": Operation<"/orgs/{org}/actions/variables", "get">; + /** + * @see https://docs.github.com/rest/actions/variables#get-an-organization-variable + */ + "GET /orgs/{org}/actions/variables/{name}": Operation<"/orgs/{org}/actions/variables/{name}", "get">; + /** + * @see https://docs.github.com/rest/actions/variables#list-selected-repositories-for-an-organization-variable + */ + "GET /orgs/{org}/actions/variables/{name}/repositories": Operation<"/orgs/{org}/actions/variables/{name}/repositories", "get">; + /** + * @see https://docs.github.com/rest/orgs/orgs#list-attestations + */ + "GET /orgs/{org}/attestations/{subject_digest}": Operation<"/orgs/{org}/attestations/{subject_digest}", "get">; + /** + * @see https://docs.github.com/rest/orgs/blocking#list-users-blocked-by-an-organization + */ + "GET /orgs/{org}/blocks": Operation<"/orgs/{org}/blocks", "get">; + /** + * @see https://docs.github.com/rest/orgs/blocking#check-if-a-user-is-blocked-by-an-organization + */ + "GET /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#list-code-scanning-alerts-for-an-organization + */ + "GET /orgs/{org}/code-scanning/alerts": Operation<"/orgs/{org}/code-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/code-security/configurations#get-code-security-configurations-for-an-organization + */ + "GET /orgs/{org}/code-security/configurations": Operation<"/orgs/{org}/code-security/configurations", "get">; + /** + * @see https://docs.github.com/rest/code-security/configurations#get-default-code-security-configurations + */ + "GET /orgs/{org}/code-security/configurations/defaults": Operation<"/orgs/{org}/code-security/configurations/defaults", "get">; + /** + * @see https://docs.github.com/rest/code-security/configurations#get-a-code-security-configuration + */ + "GET /orgs/{org}/code-security/configurations/{configuration_id}": Operation<"/orgs/{org}/code-security/configurations/{configuration_id}", "get">; + /** + * @see https://docs.github.com/rest/code-security/configurations#get-repositories-associated-with-a-code-security-configuration + */ + "GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories": Operation<"/orgs/{org}/code-security/configurations/{configuration_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/codespaces/organizations#list-codespaces-for-the-organization + */ + "GET /orgs/{org}/codespaces": Operation<"/orgs/{org}/codespaces", "get">; + /** + * @see https://docs.github.com/rest/codespaces/organization-secrets#list-organization-secrets + */ + "GET /orgs/{org}/codespaces/secrets": Operation<"/orgs/{org}/codespaces/secrets", "get">; + /** + * @see https://docs.github.com/rest/codespaces/organization-secrets#get-an-organization-public-key + */ + "GET /orgs/{org}/codespaces/secrets/public-key": Operation<"/orgs/{org}/codespaces/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/codespaces/organization-secrets#get-an-organization-secret + */ + "GET /orgs/{org}/codespaces/secrets/{secret_name}": Operation<"/orgs/{org}/codespaces/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/codespaces/organization-secrets#list-selected-repositories-for-an-organization-secret + */ + "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/codespaces/secrets/{secret_name}/repositories", "get">; + /** + * @see https://docs.github.com/rest/copilot/copilot-user-management#get-copilot-seat-information-and-settings-for-an-organization + */ + "GET /orgs/{org}/copilot/billing": Operation<"/orgs/{org}/copilot/billing", "get">; + /** + * @see https://docs.github.com/rest/copilot/copilot-user-management#list-all-copilot-seat-assignments-for-an-organization + */ + "GET /orgs/{org}/copilot/billing/seats": Operation<"/orgs/{org}/copilot/billing/seats", "get">; + /** + * @see https://docs.github.com/rest/copilot/copilot-metrics#get-copilot-metrics-for-an-organization + */ + "GET /orgs/{org}/copilot/metrics": Operation<"/orgs/{org}/copilot/metrics", "get">; + /** + * @see https://docs.github.com/rest/copilot/copilot-usage#get-a-summary-of-copilot-usage-for-organization-members + */ + "GET /orgs/{org}/copilot/usage": Operation<"/orgs/{org}/copilot/usage", "get">; + /** + * @see https://docs.github.com/rest/dependabot/alerts#list-dependabot-alerts-for-an-organization + */ + "GET /orgs/{org}/dependabot/alerts": Operation<"/orgs/{org}/dependabot/alerts", "get">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#list-organization-secrets + */ + "GET /orgs/{org}/dependabot/secrets": Operation<"/orgs/{org}/dependabot/secrets", "get">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#get-an-organization-public-key + */ + "GET /orgs/{org}/dependabot/secrets/public-key": Operation<"/orgs/{org}/dependabot/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#get-an-organization-secret + */ + "GET /orgs/{org}/dependabot/secrets/{secret_name}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#list-selected-repositories-for-an-organization-secret + */ + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}/repositories", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#get-list-of-conflicting-packages-during-docker-migration-for-organization + */ + "GET /orgs/{org}/docker/conflicts": Operation<"/orgs/{org}/docker/conflicts", "get">; + /** + * @see https://docs.github.com/rest/activity/events#list-public-organization-events + */ + "GET /orgs/{org}/events": Operation<"/orgs/{org}/events", "get">; + /** + * @see https://docs.github.com/rest/orgs/members#list-failed-organization-invitations + */ + "GET /orgs/{org}/failed_invitations": Operation<"/orgs/{org}/failed_invitations", "get">; + /** + * @see https://docs.github.com/rest/orgs/webhooks#list-organization-webhooks + */ + "GET /orgs/{org}/hooks": Operation<"/orgs/{org}/hooks", "get">; + /** + * @see https://docs.github.com/rest/orgs/webhooks#get-an-organization-webhook + */ + "GET /orgs/{org}/hooks/{hook_id}": Operation<"/orgs/{org}/hooks/{hook_id}", "get">; + /** + * @see https://docs.github.com/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization + */ + "GET /orgs/{org}/hooks/{hook_id}/config": Operation<"/orgs/{org}/hooks/{hook_id}/config", "get">; + /** + * @see https://docs.github.com/rest/orgs/webhooks#list-deliveries-for-an-organization-webhook + */ + "GET /orgs/{org}/hooks/{hook_id}/deliveries": Operation<"/orgs/{org}/hooks/{hook_id}/deliveries", "get">; + /** + * @see https://docs.github.com/rest/orgs/webhooks#get-a-webhook-delivery-for-an-organization-webhook + */ + "GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": Operation<"/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}", "get">; + /** + * @see https://docs.github.com/rest/orgs/api-insights#get-route-stats-by-actor + */ + "GET /orgs/{org}/insights/api/route-stats/{actor_type}/{actor_id}": Operation<"/orgs/{org}/insights/api/route-stats/{actor_type}/{actor_id}", "get">; + /** + * @see https://docs.github.com/rest/orgs/api-insights#get-subject-stats + */ + "GET /orgs/{org}/insights/api/subject-stats": Operation<"/orgs/{org}/insights/api/subject-stats", "get">; + /** + * @see https://docs.github.com/rest/orgs/api-insights#get-summary-stats + */ + "GET /orgs/{org}/insights/api/summary-stats": Operation<"/orgs/{org}/insights/api/summary-stats", "get">; + /** + * @see https://docs.github.com/rest/orgs/api-insights#get-summary-stats-by-user + */ + "GET /orgs/{org}/insights/api/summary-stats/users/{user_id}": Operation<"/orgs/{org}/insights/api/summary-stats/users/{user_id}", "get">; + /** + * @see https://docs.github.com/rest/orgs/api-insights#get-summary-stats-by-actor + */ + "GET /orgs/{org}/insights/api/summary-stats/{actor_type}/{actor_id}": Operation<"/orgs/{org}/insights/api/summary-stats/{actor_type}/{actor_id}", "get">; + /** + * @see https://docs.github.com/rest/orgs/api-insights#get-time-stats + */ + "GET /orgs/{org}/insights/api/time-stats": Operation<"/orgs/{org}/insights/api/time-stats", "get">; + /** + * @see https://docs.github.com/rest/orgs/api-insights#get-time-stats-by-user + */ + "GET /orgs/{org}/insights/api/time-stats/users/{user_id}": Operation<"/orgs/{org}/insights/api/time-stats/users/{user_id}", "get">; + /** + * @see https://docs.github.com/rest/orgs/api-insights#get-time-stats-by-actor + */ + "GET /orgs/{org}/insights/api/time-stats/{actor_type}/{actor_id}": Operation<"/orgs/{org}/insights/api/time-stats/{actor_type}/{actor_id}", "get">; + /** + * @see https://docs.github.com/rest/orgs/api-insights#get-user-stats + */ + "GET /orgs/{org}/insights/api/user-stats/{user_id}": Operation<"/orgs/{org}/insights/api/user-stats/{user_id}", "get">; + /** + * @see https://docs.github.com/rest/apps/apps#get-an-organization-installation-for-the-authenticated-app + */ + "GET /orgs/{org}/installation": Operation<"/orgs/{org}/installation", "get">; + /** + * @see https://docs.github.com/rest/orgs/orgs#list-app-installations-for-an-organization + */ + "GET /orgs/{org}/installations": Operation<"/orgs/{org}/installations", "get">; + /** + * @see https://docs.github.com/rest/interactions/orgs#get-interaction-restrictions-for-an-organization + */ + "GET /orgs/{org}/interaction-limits": Operation<"/orgs/{org}/interaction-limits", "get">; + /** + * @see https://docs.github.com/rest/orgs/members#list-pending-organization-invitations + */ + "GET /orgs/{org}/invitations": Operation<"/orgs/{org}/invitations", "get">; + /** + * @see https://docs.github.com/rest/orgs/members#list-organization-invitation-teams + */ + "GET /orgs/{org}/invitations/{invitation_id}/teams": Operation<"/orgs/{org}/invitations/{invitation_id}/teams", "get">; + /** + * @see https://docs.github.com/rest/orgs/issue-types#list-issue-types-for-an-organization + */ + "GET /orgs/{org}/issue-types": Operation<"/orgs/{org}/issue-types", "get">; + /** + * @see https://docs.github.com/rest/issues/issues#list-organization-issues-assigned-to-the-authenticated-user + */ + "GET /orgs/{org}/issues": Operation<"/orgs/{org}/issues", "get">; + /** + * @see https://docs.github.com/rest/orgs/members#list-organization-members + */ + "GET /orgs/{org}/members": Operation<"/orgs/{org}/members", "get">; + /** + * @see https://docs.github.com/rest/orgs/members#check-organization-membership-for-a-user + */ + "GET /orgs/{org}/members/{username}": Operation<"/orgs/{org}/members/{username}", "get">; + /** + * @see https://docs.github.com/rest/codespaces/organizations#list-codespaces-for-a-user-in-organization + */ + "GET /orgs/{org}/members/{username}/codespaces": Operation<"/orgs/{org}/members/{username}/codespaces", "get">; + /** + * @see https://docs.github.com/rest/copilot/copilot-user-management#get-copilot-seat-assignment-details-for-a-user + */ + "GET /orgs/{org}/members/{username}/copilot": Operation<"/orgs/{org}/members/{username}/copilot", "get">; + /** + * @see https://docs.github.com/rest/orgs/members#get-organization-membership-for-a-user + */ + "GET /orgs/{org}/memberships/{username}": Operation<"/orgs/{org}/memberships/{username}", "get">; + /** + * @see https://docs.github.com/rest/migrations/orgs#list-organization-migrations + */ + "GET /orgs/{org}/migrations": Operation<"/orgs/{org}/migrations", "get">; + /** + * @see https://docs.github.com/rest/migrations/orgs#get-an-organization-migration-status + */ + "GET /orgs/{org}/migrations/{migration_id}": Operation<"/orgs/{org}/migrations/{migration_id}", "get">; + /** + * @see https://docs.github.com/rest/migrations/orgs#download-an-organization-migration-archive + */ + "GET /orgs/{org}/migrations/{migration_id}/archive": Operation<"/orgs/{org}/migrations/{migration_id}/archive", "get">; + /** + * @see https://docs.github.com/rest/migrations/orgs#list-repositories-in-an-organization-migration + */ + "GET /orgs/{org}/migrations/{migration_id}/repositories": Operation<"/orgs/{org}/migrations/{migration_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/orgs/organization-roles#list-organization-fine-grained-permissions-for-an-organization + */ + "GET /orgs/{org}/organization-fine-grained-permissions": Operation<"/orgs/{org}/organization-fine-grained-permissions", "get">; + /** + * @see https://docs.github.com/rest/orgs/organization-roles#get-all-organization-roles-for-an-organization + */ + "GET /orgs/{org}/organization-roles": Operation<"/orgs/{org}/organization-roles", "get">; + /** + * @see https://docs.github.com/rest/orgs/organization-roles#get-an-organization-role + */ + "GET /orgs/{org}/organization-roles/{role_id}": Operation<"/orgs/{org}/organization-roles/{role_id}", "get">; + /** + * @see https://docs.github.com/rest/orgs/organization-roles#list-teams-that-are-assigned-to-an-organization-role + */ + "GET /orgs/{org}/organization-roles/{role_id}/teams": Operation<"/orgs/{org}/organization-roles/{role_id}/teams", "get">; + /** + * @see https://docs.github.com/rest/orgs/organization-roles#list-users-that-are-assigned-to-an-organization-role + */ + "GET /orgs/{org}/organization-roles/{role_id}/users": Operation<"/orgs/{org}/organization-roles/{role_id}/users", "get">; + /** + * @see https://docs.github.com/rest/orgs/outside-collaborators#list-outside-collaborators-for-an-organization + */ + "GET /orgs/{org}/outside_collaborators": Operation<"/orgs/{org}/outside_collaborators", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#list-packages-for-an-organization + */ + "GET /orgs/{org}/packages": Operation<"/orgs/{org}/packages", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#get-a-package-for-an-organization + */ + "GET /orgs/{org}/packages/{package_type}/{package_name}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#list-package-versions-for-a-package-owned-by-an-organization + */ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#get-a-package-version-for-an-organization + */ + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", "get">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-requests-to-access-organization-resources-with-fine-grained-personal-access-tokens + */ + "GET /orgs/{org}/personal-access-token-requests": Operation<"/orgs/{org}/personal-access-token-requests", "get">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-repositories-requested-to-be-accessed-by-a-fine-grained-personal-access-token + */ + "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories": Operation<"/orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-fine-grained-personal-access-tokens-with-access-to-organization-resources + */ + "GET /orgs/{org}/personal-access-tokens": Operation<"/orgs/{org}/personal-access-tokens", "get">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-repositories-a-fine-grained-personal-access-token-has-access-to + */ + "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories": Operation<"/orgs/{org}/personal-access-tokens/{pat_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/private-registries/organization-configurations#list-private-registries-for-an-organization + */ + "GET /orgs/{org}/private-registries": Operation<"/orgs/{org}/private-registries", "get">; + /** + * @see https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization + */ + "GET /orgs/{org}/private-registries/public-key": Operation<"/orgs/{org}/private-registries/public-key", "get">; + /** + * @see https://docs.github.com/rest/private-registries/organization-configurations#get-a-private-registry-for-an-organization + */ + "GET /orgs/{org}/private-registries/{secret_name}": Operation<"/orgs/{org}/private-registries/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/projects/projects#list-organization-projects + */ + "GET /orgs/{org}/projects": Operation<"/orgs/{org}/projects", "get">; + /** + * @see https://docs.github.com/rest/orgs/custom-properties#get-all-custom-properties-for-an-organization + */ + "GET /orgs/{org}/properties/schema": Operation<"/orgs/{org}/properties/schema", "get">; + /** + * @see https://docs.github.com/rest/orgs/custom-properties#get-a-custom-property-for-an-organization + */ + "GET /orgs/{org}/properties/schema/{custom_property_name}": Operation<"/orgs/{org}/properties/schema/{custom_property_name}", "get">; + /** + * @see https://docs.github.com/rest/orgs/custom-properties#list-custom-property-values-for-organization-repositories + */ + "GET /orgs/{org}/properties/values": Operation<"/orgs/{org}/properties/values", "get">; + /** + * @see https://docs.github.com/rest/orgs/members#list-public-organization-members + */ + "GET /orgs/{org}/public_members": Operation<"/orgs/{org}/public_members", "get">; + /** + * @see https://docs.github.com/rest/orgs/members#check-public-organization-membership-for-a-user + */ + "GET /orgs/{org}/public_members/{username}": Operation<"/orgs/{org}/public_members/{username}", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#list-organization-repositories + */ + "GET /orgs/{org}/repos": Operation<"/orgs/{org}/repos", "get">; + /** + * @see https://docs.github.com/rest/orgs/rules#get-all-organization-repository-rulesets + */ + "GET /orgs/{org}/rulesets": Operation<"/orgs/{org}/rulesets", "get">; + /** + * @see https://docs.github.com/rest/orgs/rule-suites#list-organization-rule-suites + */ + "GET /orgs/{org}/rulesets/rule-suites": Operation<"/orgs/{org}/rulesets/rule-suites", "get">; + /** + * @see https://docs.github.com/rest/orgs/rule-suites#get-an-organization-rule-suite + */ + "GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}": Operation<"/orgs/{org}/rulesets/rule-suites/{rule_suite_id}", "get">; + /** + * @see https://docs.github.com/rest/orgs/rules#get-an-organization-repository-ruleset + */ + "GET /orgs/{org}/rulesets/{ruleset_id}": Operation<"/orgs/{org}/rulesets/{ruleset_id}", "get">; + /** + * @see https://docs.github.com/rest/orgs/rules#get-organization-ruleset-history + */ + "GET /orgs/{org}/rulesets/{ruleset_id}/history": Operation<"/orgs/{org}/rulesets/{ruleset_id}/history", "get">; + /** + * @see https://docs.github.com/rest/orgs/rules#get-organization-ruleset-version + */ + "GET /orgs/{org}/rulesets/{ruleset_id}/history/{version_id}": Operation<"/orgs/{org}/rulesets/{ruleset_id}/history/{version_id}", "get">; + /** + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-secret-scanning-alerts-for-an-organization + */ + "GET /orgs/{org}/secret-scanning/alerts": Operation<"/orgs/{org}/secret-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/security-advisories/repository-advisories#list-repository-security-advisories-for-an-organization + */ + "GET /orgs/{org}/security-advisories": Operation<"/orgs/{org}/security-advisories", "get">; + /** + * @see https://docs.github.com/rest/orgs/security-managers#list-security-manager-teams + */ + "GET /orgs/{org}/security-managers": Operation<"/orgs/{org}/security-managers", "get">; + /** + * @see https://docs.github.com/rest/billing/billing#get-github-actions-billing-for-an-organization + */ + "GET /orgs/{org}/settings/billing/actions": Operation<"/orgs/{org}/settings/billing/actions", "get">; + /** + * @see https://docs.github.com/rest/billing/billing#get-github-packages-billing-for-an-organization + */ + "GET /orgs/{org}/settings/billing/packages": Operation<"/orgs/{org}/settings/billing/packages", "get">; + /** + * @see https://docs.github.com/rest/billing/billing#get-shared-storage-billing-for-an-organization + */ + "GET /orgs/{org}/settings/billing/shared-storage": Operation<"/orgs/{org}/settings/billing/shared-storage", "get">; + /** + * @see https://docs.github.com/rest/orgs/network-configurations#list-hosted-compute-network-configurations-for-an-organization + */ + "GET /orgs/{org}/settings/network-configurations": Operation<"/orgs/{org}/settings/network-configurations", "get">; + /** + * @see https://docs.github.com/rest/orgs/network-configurations#get-a-hosted-compute-network-configuration-for-an-organization + */ + "GET /orgs/{org}/settings/network-configurations/{network_configuration_id}": Operation<"/orgs/{org}/settings/network-configurations/{network_configuration_id}", "get">; + /** + * @see https://docs.github.com/rest/orgs/network-configurations#get-a-hosted-compute-network-settings-resource-for-an-organization + */ + "GET /orgs/{org}/settings/network-settings/{network_settings_id}": Operation<"/orgs/{org}/settings/network-settings/{network_settings_id}", "get">; + /** + * @see https://docs.github.com/rest/copilot/copilot-metrics#get-copilot-metrics-for-a-team + */ + "GET /orgs/{org}/team/{team_slug}/copilot/metrics": Operation<"/orgs/{org}/team/{team_slug}/copilot/metrics", "get">; + /** + * @see https://docs.github.com/rest/copilot/copilot-usage#get-a-summary-of-copilot-usage-for-a-team + */ + "GET /orgs/{org}/team/{team_slug}/copilot/usage": Operation<"/orgs/{org}/team/{team_slug}/copilot/usage", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#list-teams + */ + "GET /orgs/{org}/teams": Operation<"/orgs/{org}/teams", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#get-a-team-by-name + */ + "GET /orgs/{org}/teams/{team_slug}": Operation<"/orgs/{org}/teams/{team_slug}", "get">; + /** + * @see https://docs.github.com/rest/teams/discussions#list-discussions + */ + "GET /orgs/{org}/teams/{team_slug}/discussions": Operation<"/orgs/{org}/teams/{team_slug}/discussions", "get">; + /** + * @see https://docs.github.com/rest/teams/discussions#get-a-discussion + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", "get">; + /** + * @see https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "get">; + /** + * @see https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "get">; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion + */ + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "get">; + /** + * @see https://docs.github.com/rest/teams/members#list-pending-team-invitations + */ + "GET /orgs/{org}/teams/{team_slug}/invitations": Operation<"/orgs/{org}/teams/{team_slug}/invitations", "get">; + /** + * @see https://docs.github.com/rest/teams/members#list-team-members + */ + "GET /orgs/{org}/teams/{team_slug}/members": Operation<"/orgs/{org}/teams/{team_slug}/members", "get">; + /** + * @see https://docs.github.com/rest/teams/members#get-team-membership-for-a-user + */ + "GET /orgs/{org}/teams/{team_slug}/memberships/{username}": Operation<"/orgs/{org}/teams/{team_slug}/memberships/{username}", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#list-team-projects + */ + "GET /orgs/{org}/teams/{team_slug}/projects": Operation<"/orgs/{org}/teams/{team_slug}/projects", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-project + */ + "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}": Operation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#list-team-repositories + */ + "GET /orgs/{org}/teams/{team_slug}/repos": Operation<"/orgs/{org}/teams/{team_slug}/repos", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository + */ + "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": Operation<"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#list-child-teams + */ + "GET /orgs/{org}/teams/{team_slug}/teams": Operation<"/orgs/{org}/teams/{team_slug}/teams", "get">; + /** + * @see https://docs.github.com/rest/projects/cards#get-a-project-card + */ + "GET /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "get">; + /** + * @see https://docs.github.com/rest/projects/columns#get-a-project-column + */ + "GET /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "get">; + /** + * @see https://docs.github.com/rest/projects/cards#list-project-cards + */ + "GET /projects/columns/{column_id}/cards": Operation<"/projects/columns/{column_id}/cards", "get">; + /** + * @see https://docs.github.com/rest/projects/projects#get-a-project + */ + "GET /projects/{project_id}": Operation<"/projects/{project_id}", "get">; + /** + * @see https://docs.github.com/rest/projects/collaborators#list-project-collaborators + */ + "GET /projects/{project_id}/collaborators": Operation<"/projects/{project_id}/collaborators", "get">; + /** + * @see https://docs.github.com/rest/projects/collaborators#get-project-permission-for-a-user + */ + "GET /projects/{project_id}/collaborators/{username}/permission": Operation<"/projects/{project_id}/collaborators/{username}/permission", "get">; + /** + * @see https://docs.github.com/rest/projects/columns#list-project-columns + */ + "GET /projects/{project_id}/columns": Operation<"/projects/{project_id}/columns", "get">; + /** + * @see https://docs.github.com/rest/rate-limit/rate-limit#get-rate-limit-status-for-the-authenticated-user + */ + "GET /rate_limit": Operation<"/rate_limit", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#get-a-repository + */ + "GET /repos/{owner}/{repo}": Operation<"/repos/{owner}/{repo}", "get">; + /** + * @see https://docs.github.com/rest/actions/artifacts#list-artifacts-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/artifacts": Operation<"/repos/{owner}/{repo}/actions/artifacts", "get">; + /** + * @see https://docs.github.com/rest/actions/artifacts#get-an-artifact + */ + "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}": Operation<"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}", "get">; + /** + * @see https://docs.github.com/rest/actions/artifacts#download-an-artifact + */ + "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": Operation<"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}", "get">; + /** + * @see https://docs.github.com/rest/actions/cache#get-github-actions-cache-usage-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/cache/usage": Operation<"/repos/{owner}/{repo}/actions/cache/usage", "get">; + /** + * @see https://docs.github.com/rest/actions/cache#list-github-actions-caches-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/caches": Operation<"/repos/{owner}/{repo}/actions/caches", "get">; + /** + * @see https://docs.github.com/rest/actions/workflow-jobs#get-a-job-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/jobs/{job_id}": Operation<"/repos/{owner}/{repo}/actions/jobs/{job_id}", "get">; + /** + * @see https://docs.github.com/rest/actions/workflow-jobs#download-job-logs-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs": Operation<"/repos/{owner}/{repo}/actions/jobs/{job_id}/logs", "get">; + /** + * @see https://docs.github.com/rest/actions/oidc#get-the-customization-template-for-an-oidc-subject-claim-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/oidc/customization/sub": Operation<"/repos/{owner}/{repo}/actions/oidc/customization/sub", "get">; + /** + * @see https://docs.github.com/rest/actions/secrets#list-repository-organization-secrets + */ + "GET /repos/{owner}/{repo}/actions/organization-secrets": Operation<"/repos/{owner}/{repo}/actions/organization-secrets", "get">; + /** + * @see https://docs.github.com/rest/actions/variables#list-repository-organization-variables + */ + "GET /repos/{owner}/{repo}/actions/organization-variables": Operation<"/repos/{owner}/{repo}/actions/organization-variables", "get">; + /** + * @see https://docs.github.com/rest/actions/permissions#get-github-actions-permissions-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/permissions": Operation<"/repos/{owner}/{repo}/actions/permissions", "get">; + /** + * @see https://docs.github.com/rest/actions/permissions#get-the-level-of-access-for-workflows-outside-of-the-repository + */ + "GET /repos/{owner}/{repo}/actions/permissions/access": Operation<"/repos/{owner}/{repo}/actions/permissions/access", "get">; + /** + * @see https://docs.github.com/rest/actions/permissions#get-allowed-actions-and-reusable-workflows-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/permissions/selected-actions": Operation<"/repos/{owner}/{repo}/actions/permissions/selected-actions", "get">; + /** + * @see https://docs.github.com/rest/actions/permissions#get-default-workflow-permissions-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/permissions/workflow": Operation<"/repos/{owner}/{repo}/actions/permissions/workflow", "get">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-self-hosted-runners-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners": Operation<"/repos/{owner}/{repo}/actions/runners", "get">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-runner-applications-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners/downloads": Operation<"/repos/{owner}/{repo}/actions/runners/downloads", "get">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#get-a-self-hosted-runner-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}", "get">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#list-labels-for-a-self-hosted-runner-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "get">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#list-workflow-runs-for-a-repository + */ + "GET /repos/{owner}/{repo}/actions/runs": Operation<"/repos/{owner}/{repo}/actions/runs", "get">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#get-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}", "get">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#get-the-review-history-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/approvals", "get">; + /** + * @see https://docs.github.com/rest/actions/artifacts#list-workflow-run-artifacts + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", "get">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#get-a-workflow-run-attempt + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}", "get">; + /** + * @see https://docs.github.com/rest/actions/workflow-jobs#list-jobs-for-a-workflow-run-attempt + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", "get">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#download-workflow-run-attempt-logs + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs", "get">; + /** + * @see https://docs.github.com/rest/actions/workflow-jobs#list-jobs-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/jobs", "get">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#download-workflow-run-logs + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/logs", "get">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#get-pending-deployments-for-a-workflow-run + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", "get">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#get-workflow-run-usage + */ + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/timing", "get">; + /** + * @see https://docs.github.com/rest/actions/secrets#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/actions/secrets": Operation<"/repos/{owner}/{repo}/actions/secrets", "get">; + /** + * @see https://docs.github.com/rest/actions/secrets#get-a-repository-public-key + */ + "GET /repos/{owner}/{repo}/actions/secrets/public-key": Operation<"/repos/{owner}/{repo}/actions/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/actions/secrets#get-a-repository-secret + */ + "GET /repos/{owner}/{repo}/actions/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/actions/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/actions/variables#list-repository-variables + */ + "GET /repos/{owner}/{repo}/actions/variables": Operation<"/repos/{owner}/{repo}/actions/variables", "get">; + /** + * @see https://docs.github.com/rest/actions/variables#get-a-repository-variable + */ + "GET /repos/{owner}/{repo}/actions/variables/{name}": Operation<"/repos/{owner}/{repo}/actions/variables/{name}", "get">; + /** + * @see https://docs.github.com/rest/actions/workflows#list-repository-workflows + */ + "GET /repos/{owner}/{repo}/actions/workflows": Operation<"/repos/{owner}/{repo}/actions/workflows", "get">; + /** + * @see https://docs.github.com/rest/actions/workflows#get-a-workflow + */ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}", "get">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#list-workflow-runs-for-a-workflow + */ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", "get">; + /** + * @see https://docs.github.com/rest/actions/workflows#get-workflow-usage + */ + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#list-repository-activities + */ + "GET /repos/{owner}/{repo}/activity": Operation<"/repos/{owner}/{repo}/activity", "get">; + /** + * @see https://docs.github.com/rest/issues/assignees#list-assignees + */ + "GET /repos/{owner}/{repo}/assignees": Operation<"/repos/{owner}/{repo}/assignees", "get">; + /** + * @see https://docs.github.com/rest/issues/assignees#check-if-a-user-can-be-assigned + */ + "GET /repos/{owner}/{repo}/assignees/{assignee}": Operation<"/repos/{owner}/{repo}/assignees/{assignee}", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#list-attestations + */ + "GET /repos/{owner}/{repo}/attestations/{subject_digest}": Operation<"/repos/{owner}/{repo}/attestations/{subject_digest}", "get">; + /** + * @see https://docs.github.com/rest/repos/autolinks#get-all-autolinks-of-a-repository + */ + "GET /repos/{owner}/{repo}/autolinks": Operation<"/repos/{owner}/{repo}/autolinks", "get">; + /** + * @see https://docs.github.com/rest/repos/autolinks#get-an-autolink-reference-of-a-repository + */ + "GET /repos/{owner}/{repo}/autolinks/{autolink_id}": Operation<"/repos/{owner}/{repo}/autolinks/{autolink_id}", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#check-if-dependabot-security-updates-are-enabled-for-a-repository + */ + "GET /repos/{owner}/{repo}/automated-security-fixes": Operation<"/repos/{owner}/{repo}/automated-security-fixes", "get">; + /** + * @see https://docs.github.com/rest/branches/branches#list-branches + */ + "GET /repos/{owner}/{repo}/branches": Operation<"/repos/{owner}/{repo}/branches", "get">; + /** + * @see https://docs.github.com/rest/branches/branches#get-a-branch + */ + "GET /repos/{owner}/{repo}/branches/{branch}": Operation<"/repos/{owner}/{repo}/branches/{branch}", "get">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#get-branch-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection", "get">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#get-admin-branch-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", "get">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#get-pull-request-review-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", "get">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#get-commit-signature-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "get">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#get-status-checks-protection + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", "get">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#get-all-status-check-contexts + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "get">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#get-access-restrictions + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions", "get">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#get-apps-with-access-to-the-protected-branch + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "get">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#get-teams-with-access-to-the-protected-branch + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "get">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#get-users-with-access-to-the-protected-branch + */ + "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "get">; + /** + * @see https://docs.github.com/rest/checks/runs#get-a-check-run + */ + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}", "get">; + /** + * @see https://docs.github.com/rest/checks/runs#list-check-run-annotations + */ + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", "get">; + /** + * @see https://docs.github.com/rest/checks/suites#get-a-check-suite + */ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}": Operation<"/repos/{owner}/{repo}/check-suites/{check_suite_id}", "get">; + /** + * @see https://docs.github.com/rest/checks/runs#list-check-runs-in-a-check-suite + */ + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": Operation<"/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", "get">; + /** + * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-alerts-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts": Operation<"/repos/{owner}/{repo}/code-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-a-code-scanning-alert + * @deprecated "alert_id" is now "alert_number" + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_id}": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-a-code-scanning-alert + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-the-status-of-an-autofix-for-a-code-scanning-alert + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#list-instances-of-a-code-scanning-alert + */ + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#list-code-scanning-analyses-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/analyses": Operation<"/repos/{owner}/{repo}/code-scanning/analyses", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": Operation<"/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#list-codeql-databases-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/codeql/databases": Operation<"/repos/{owner}/{repo}/code-scanning/codeql/databases", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-a-codeql-database-for-a-repository + */ + "GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}": Operation<"/repos/{owner}/{repo}/code-scanning/codeql/databases/{language}", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-the-summary-of-a-codeql-variant-analysis + */ + "GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}": Operation<"/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-the-analysis-status-of-a-repository-in-a-codeql-variant-analysis + */ + "GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}": Operation<"/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-a-code-scanning-default-setup-configuration + */ + "GET /repos/{owner}/{repo}/code-scanning/default-setup": Operation<"/repos/{owner}/{repo}/code-scanning/default-setup", "get">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#get-information-about-a-sarif-upload + */ + "GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}": Operation<"/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}", "get">; + /** + * @see https://docs.github.com/rest/code-security/configurations#get-the-code-security-configuration-associated-with-a-repository + */ + "GET /repos/{owner}/{repo}/code-security-configuration": Operation<"/repos/{owner}/{repo}/code-security-configuration", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#list-codeowners-errors + */ + "GET /repos/{owner}/{repo}/codeowners/errors": Operation<"/repos/{owner}/{repo}/codeowners/errors", "get">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#list-codespaces-in-a-repository-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/codespaces": Operation<"/repos/{owner}/{repo}/codespaces", "get">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#list-devcontainer-configurations-in-a-repository-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/codespaces/devcontainers": Operation<"/repos/{owner}/{repo}/codespaces/devcontainers", "get">; + /** + * @see https://docs.github.com/rest/codespaces/machines#list-available-machine-types-for-a-repository + */ + "GET /repos/{owner}/{repo}/codespaces/machines": Operation<"/repos/{owner}/{repo}/codespaces/machines", "get">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#get-default-attributes-for-a-codespace + */ + "GET /repos/{owner}/{repo}/codespaces/new": Operation<"/repos/{owner}/{repo}/codespaces/new", "get">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#check-if-permissions-defined-by-a-devcontainer-have-been-accepted-by-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/codespaces/permissions_check": Operation<"/repos/{owner}/{repo}/codespaces/permissions_check", "get">; + /** + * @see https://docs.github.com/rest/codespaces/repository-secrets#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/codespaces/secrets": Operation<"/repos/{owner}/{repo}/codespaces/secrets", "get">; + /** + * @see https://docs.github.com/rest/codespaces/repository-secrets#get-a-repository-public-key + */ + "GET /repos/{owner}/{repo}/codespaces/secrets/public-key": Operation<"/repos/{owner}/{repo}/codespaces/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/codespaces/repository-secrets#get-a-repository-secret + */ + "GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/codespaces/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/collaborators/collaborators#list-repository-collaborators + */ + "GET /repos/{owner}/{repo}/collaborators": Operation<"/repos/{owner}/{repo}/collaborators", "get">; + /** + * @see https://docs.github.com/rest/collaborators/collaborators#check-if-a-user-is-a-repository-collaborator + */ + "GET /repos/{owner}/{repo}/collaborators/{username}": Operation<"/repos/{owner}/{repo}/collaborators/{username}", "get">; + /** + * @see https://docs.github.com/rest/collaborators/collaborators#get-repository-permissions-for-a-user + */ + "GET /repos/{owner}/{repo}/collaborators/{username}/permission": Operation<"/repos/{owner}/{repo}/collaborators/{username}/permission", "get">; + /** + * @see https://docs.github.com/rest/commits/comments#list-commit-comments-for-a-repository + */ + "GET /repos/{owner}/{repo}/comments": Operation<"/repos/{owner}/{repo}/comments", "get">; + /** + * @see https://docs.github.com/rest/commits/comments#get-a-commit-comment + */ + "GET /repos/{owner}/{repo}/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}", "get">; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-commit-comment + */ + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions", "get">; + /** + * @see https://docs.github.com/rest/commits/commits#list-commits + */ + "GET /repos/{owner}/{repo}/commits": Operation<"/repos/{owner}/{repo}/commits", "get">; + /** + * @see https://docs.github.com/rest/commits/commits#list-branches-for-head-commit + */ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head", "get">; + /** + * @see https://docs.github.com/rest/commits/comments#list-commit-comments + */ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/comments", "get">; + /** + * @see https://docs.github.com/rest/commits/commits#list-pull-requests-associated-with-a-commit + */ + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/pulls", "get">; + /** + * @see https://docs.github.com/rest/commits/commits#get-a-commit + */ + "GET /repos/{owner}/{repo}/commits/{ref}": Operation<"/repos/{owner}/{repo}/commits/{ref}", "get">; + /** + * @see https://docs.github.com/rest/checks/runs#list-check-runs-for-a-git-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/check-runs": Operation<"/repos/{owner}/{repo}/commits/{ref}/check-runs", "get">; + /** + * @see https://docs.github.com/rest/checks/suites#list-check-suites-for-a-git-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/check-suites": Operation<"/repos/{owner}/{repo}/commits/{ref}/check-suites", "get">; + /** + * @see https://docs.github.com/rest/commits/statuses#get-the-combined-status-for-a-specific-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/status": Operation<"/repos/{owner}/{repo}/commits/{ref}/status", "get">; + /** + * @see https://docs.github.com/rest/commits/statuses#list-commit-statuses-for-a-reference + */ + "GET /repos/{owner}/{repo}/commits/{ref}/statuses": Operation<"/repos/{owner}/{repo}/commits/{ref}/statuses", "get">; + /** + * @see https://docs.github.com/rest/metrics/community#get-community-profile-metrics + */ + "GET /repos/{owner}/{repo}/community/profile": Operation<"/repos/{owner}/{repo}/community/profile", "get">; + /** + * @see https://docs.github.com/rest/commits/commits#compare-two-commits + */ + "GET /repos/{owner}/{repo}/compare/{basehead}": Operation<"/repos/{owner}/{repo}/compare/{basehead}", "get">; + /** + * @see https://docs.github.com/rest/reference/repos#compare-two-commits + */ + "GET /repos/{owner}/{repo}/compare/{base}...{head}": Operation<"/repos/{owner}/{repo}/compare/{base}...{head}", "get">; + /** + * @see https://docs.github.com/rest/repos/contents#get-repository-content + */ + "GET /repos/{owner}/{repo}/contents/{path}": Operation<"/repos/{owner}/{repo}/contents/{path}", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#list-repository-contributors + */ + "GET /repos/{owner}/{repo}/contributors": Operation<"/repos/{owner}/{repo}/contributors", "get">; + /** + * @see https://docs.github.com/rest/dependabot/alerts#list-dependabot-alerts-for-a-repository + */ + "GET /repos/{owner}/{repo}/dependabot/alerts": Operation<"/repos/{owner}/{repo}/dependabot/alerts", "get">; + /** + * @see https://docs.github.com/rest/dependabot/alerts#get-a-dependabot-alert + */ + "GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/dependabot/alerts/{alert_number}", "get">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#list-repository-secrets + */ + "GET /repos/{owner}/{repo}/dependabot/secrets": Operation<"/repos/{owner}/{repo}/dependabot/secrets", "get">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#get-a-repository-public-key + */ + "GET /repos/{owner}/{repo}/dependabot/secrets/public-key": Operation<"/repos/{owner}/{repo}/dependabot/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#get-a-repository-secret + */ + "GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/dependabot/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/dependency-graph/dependency-review#get-a-diff-of-the-dependencies-between-commits + */ + "GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}": Operation<"/repos/{owner}/{repo}/dependency-graph/compare/{basehead}", "get">; + /** + * @see https://docs.github.com/rest/dependency-graph/sboms#export-a-software-bill-of-materials-sbom-for-a-repository + */ + "GET /repos/{owner}/{repo}/dependency-graph/sbom": Operation<"/repos/{owner}/{repo}/dependency-graph/sbom", "get">; + /** + * @see https://docs.github.com/rest/deployments/deployments#list-deployments + */ + "GET /repos/{owner}/{repo}/deployments": Operation<"/repos/{owner}/{repo}/deployments", "get">; + /** + * @see https://docs.github.com/rest/deployments/deployments#get-a-deployment + */ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}", "get">; + /** + * @see https://docs.github.com/rest/deployments/statuses#list-deployment-statuses + */ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "get">; + /** + * @see https://docs.github.com/rest/deployments/statuses#get-a-deployment-status + */ + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}", "get">; + /** + * @see https://docs.github.com/rest/deployments/environments#list-environments + */ + "GET /repos/{owner}/{repo}/environments": Operation<"/repos/{owner}/{repo}/environments", "get">; + /** + * @see https://docs.github.com/rest/deployments/environments#get-an-environment + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}", "get">; + /** + * @see https://docs.github.com/rest/deployments/branch-policies#list-deployment-branch-policies + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies", "get">; + /** + * @see https://docs.github.com/rest/deployments/branch-policies#get-a-deployment-branch-policy + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}", "get">; + /** + * @see https://docs.github.com/rest/deployments/protection-rules#get-all-deployment-protection-rules-for-an-environment + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules", "get">; + /** + * @see https://docs.github.com/rest/deployments/protection-rules#list-custom-deployment-rule-integrations-available-for-an-environment + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps", "get">; + /** + * @see https://docs.github.com/rest/deployments/protection-rules#get-a-custom-deployment-protection-rule + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}", "get">; + /** + * @see https://docs.github.com/rest/actions/secrets#list-environment-secrets + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/secrets", "get">; + /** + * @see https://docs.github.com/rest/actions/secrets#get-an-environment-public-key + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/actions/secrets#get-an-environment-secret + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/actions/variables#list-environment-variables + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/variables": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/variables", "get">; + /** + * @see https://docs.github.com/rest/actions/variables#get-an-environment-variable + */ + "GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/variables/{name}", "get">; + /** + * @see https://docs.github.com/rest/activity/events#list-repository-events + */ + "GET /repos/{owner}/{repo}/events": Operation<"/repos/{owner}/{repo}/events", "get">; + /** + * @see https://docs.github.com/rest/repos/forks#list-forks + */ + "GET /repos/{owner}/{repo}/forks": Operation<"/repos/{owner}/{repo}/forks", "get">; + /** + * @see https://docs.github.com/rest/git/blobs#get-a-blob + */ + "GET /repos/{owner}/{repo}/git/blobs/{file_sha}": Operation<"/repos/{owner}/{repo}/git/blobs/{file_sha}", "get">; + /** + * @see https://docs.github.com/rest/git/commits#get-a-commit-object + */ + "GET /repos/{owner}/{repo}/git/commits/{commit_sha}": Operation<"/repos/{owner}/{repo}/git/commits/{commit_sha}", "get">; + /** + * @see https://docs.github.com/rest/git/refs#list-matching-references + */ + "GET /repos/{owner}/{repo}/git/matching-refs/{ref}": Operation<"/repos/{owner}/{repo}/git/matching-refs/{ref}", "get">; + /** + * @see https://docs.github.com/rest/git/refs#get-a-reference + */ + "GET /repos/{owner}/{repo}/git/ref/{ref}": Operation<"/repos/{owner}/{repo}/git/ref/{ref}", "get">; + /** + * @see https://docs.github.com/rest/git/tags#get-a-tag + */ + "GET /repos/{owner}/{repo}/git/tags/{tag_sha}": Operation<"/repos/{owner}/{repo}/git/tags/{tag_sha}", "get">; + /** + * @see https://docs.github.com/rest/git/trees#get-a-tree + */ + "GET /repos/{owner}/{repo}/git/trees/{tree_sha}": Operation<"/repos/{owner}/{repo}/git/trees/{tree_sha}", "get">; + /** + * @see https://docs.github.com/rest/repos/webhooks#list-repository-webhooks + */ + "GET /repos/{owner}/{repo}/hooks": Operation<"/repos/{owner}/{repo}/hooks", "get">; + /** + * @see https://docs.github.com/rest/repos/webhooks#get-a-repository-webhook + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}", "get">; + /** + * @see https://docs.github.com/rest/repos/webhooks#get-a-webhook-configuration-for-a-repository + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/config": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/config", "get">; + /** + * @see https://docs.github.com/rest/repos/webhooks#list-deliveries-for-a-repository-webhook + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries", "get">; + /** + * @see https://docs.github.com/rest/repos/webhooks#get-a-delivery-for-a-repository-webhook + */ + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}", "get">; + /** + * @see https://docs.github.com/rest/migrations/source-imports#get-an-import-status + */ + "GET /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "get">; + /** + * @see https://docs.github.com/rest/migrations/source-imports#get-commit-authors + */ + "GET /repos/{owner}/{repo}/import/authors": Operation<"/repos/{owner}/{repo}/import/authors", "get">; + /** + * @see https://docs.github.com/rest/migrations/source-imports#get-large-files + */ + "GET /repos/{owner}/{repo}/import/large_files": Operation<"/repos/{owner}/{repo}/import/large_files", "get">; + /** + * @see https://docs.github.com/rest/apps/apps#get-a-repository-installation-for-the-authenticated-app + */ + "GET /repos/{owner}/{repo}/installation": Operation<"/repos/{owner}/{repo}/installation", "get">; + /** + * @see https://docs.github.com/rest/interactions/repos#get-interaction-restrictions-for-a-repository + */ + "GET /repos/{owner}/{repo}/interaction-limits": Operation<"/repos/{owner}/{repo}/interaction-limits", "get">; + /** + * @see https://docs.github.com/rest/collaborators/invitations#list-repository-invitations + */ + "GET /repos/{owner}/{repo}/invitations": Operation<"/repos/{owner}/{repo}/invitations", "get">; + /** + * @see https://docs.github.com/rest/issues/issues#list-repository-issues + */ + "GET /repos/{owner}/{repo}/issues": Operation<"/repos/{owner}/{repo}/issues", "get">; + /** + * @see https://docs.github.com/rest/issues/comments#list-issue-comments-for-a-repository + */ + "GET /repos/{owner}/{repo}/issues/comments": Operation<"/repos/{owner}/{repo}/issues/comments", "get">; + /** + * @see https://docs.github.com/rest/issues/comments#get-an-issue-comment + */ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}", "get">; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-an-issue-comment + */ + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "get">; + /** + * @see https://docs.github.com/rest/issues/events#list-issue-events-for-a-repository + */ + "GET /repos/{owner}/{repo}/issues/events": Operation<"/repos/{owner}/{repo}/issues/events", "get">; + /** + * @see https://docs.github.com/rest/issues/events#get-an-issue-event + */ + "GET /repos/{owner}/{repo}/issues/events/{event_id}": Operation<"/repos/{owner}/{repo}/issues/events/{event_id}", "get">; + /** + * @see https://docs.github.com/rest/issues/issues#get-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}", "get">; + /** + * @see https://docs.github.com/rest/issues/assignees#check-if-a-user-can-be-assigned-to-a-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}", "get">; + /** + * @see https://docs.github.com/rest/issues/comments#list-issue-comments + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/comments": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/comments", "get">; + /** + * @see https://docs.github.com/rest/issues/events#list-issue-events + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/events": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/events", "get">; + /** + * @see https://docs.github.com/rest/issues/labels#list-labels-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "get">; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions", "get">; + /** + * @see https://docs.github.com/rest/issues/sub-issues#list-sub-issues + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/sub_issues", "get">; + /** + * @see https://docs.github.com/rest/issues/timeline#list-timeline-events-for-an-issue + */ + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/timeline", "get">; + /** + * @see https://docs.github.com/rest/deploy-keys/deploy-keys#list-deploy-keys + */ + "GET /repos/{owner}/{repo}/keys": Operation<"/repos/{owner}/{repo}/keys", "get">; + /** + * @see https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key + */ + "GET /repos/{owner}/{repo}/keys/{key_id}": Operation<"/repos/{owner}/{repo}/keys/{key_id}", "get">; + /** + * @see https://docs.github.com/rest/issues/labels#list-labels-for-a-repository + */ + "GET /repos/{owner}/{repo}/labels": Operation<"/repos/{owner}/{repo}/labels", "get">; + /** + * @see https://docs.github.com/rest/issues/labels#get-a-label + */ + "GET /repos/{owner}/{repo}/labels/{name}": Operation<"/repos/{owner}/{repo}/labels/{name}", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#list-repository-languages + */ + "GET /repos/{owner}/{repo}/languages": Operation<"/repos/{owner}/{repo}/languages", "get">; + /** + * @see https://docs.github.com/rest/licenses/licenses#get-the-license-for-a-repository + */ + "GET /repos/{owner}/{repo}/license": Operation<"/repos/{owner}/{repo}/license", "get">; + /** + * @see https://docs.github.com/rest/issues/milestones#list-milestones + */ + "GET /repos/{owner}/{repo}/milestones": Operation<"/repos/{owner}/{repo}/milestones", "get">; + /** + * @see https://docs.github.com/rest/issues/milestones#get-a-milestone + */ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}", "get">; + /** + * @see https://docs.github.com/rest/issues/labels#list-labels-for-issues-in-a-milestone + */ + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}/labels", "get">; + /** + * @see https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user + */ + "GET /repos/{owner}/{repo}/notifications": Operation<"/repos/{owner}/{repo}/notifications", "get">; + /** + * @see https://docs.github.com/rest/pages/pages#get-a-apiname-pages-site + */ + "GET /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "get">; + /** + * @see https://docs.github.com/rest/pages/pages#list-apiname-pages-builds + */ + "GET /repos/{owner}/{repo}/pages/builds": Operation<"/repos/{owner}/{repo}/pages/builds", "get">; + /** + * @see https://docs.github.com/rest/pages/pages#get-latest-pages-build + */ + "GET /repos/{owner}/{repo}/pages/builds/latest": Operation<"/repos/{owner}/{repo}/pages/builds/latest", "get">; + /** + * @see https://docs.github.com/rest/pages/pages#get-apiname-pages-build + */ + "GET /repos/{owner}/{repo}/pages/builds/{build_id}": Operation<"/repos/{owner}/{repo}/pages/builds/{build_id}", "get">; + /** + * @see https://docs.github.com/rest/pages/pages#get-the-status-of-a-github-pages-deployment + */ + "GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}": Operation<"/repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}", "get">; + /** + * @see https://docs.github.com/rest/pages/pages#get-a-dns-health-check-for-github-pages + */ + "GET /repos/{owner}/{repo}/pages/health": Operation<"/repos/{owner}/{repo}/pages/health", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#check-if-private-vulnerability-reporting-is-enabled-for-a-repository + */ + "GET /repos/{owner}/{repo}/private-vulnerability-reporting": Operation<"/repos/{owner}/{repo}/private-vulnerability-reporting", "get">; + /** + * @see https://docs.github.com/rest/projects/projects#list-repository-projects + */ + "GET /repos/{owner}/{repo}/projects": Operation<"/repos/{owner}/{repo}/projects", "get">; + /** + * @see https://docs.github.com/rest/repos/custom-properties#get-all-custom-property-values-for-a-repository + */ + "GET /repos/{owner}/{repo}/properties/values": Operation<"/repos/{owner}/{repo}/properties/values", "get">; + /** + * @see https://docs.github.com/rest/pulls/pulls#list-pull-requests + */ + "GET /repos/{owner}/{repo}/pulls": Operation<"/repos/{owner}/{repo}/pulls", "get">; + /** + * @see https://docs.github.com/rest/pulls/comments#list-review-comments-in-a-repository + */ + "GET /repos/{owner}/{repo}/pulls/comments": Operation<"/repos/{owner}/{repo}/pulls/comments", "get">; + /** + * @see https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}", "get">; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-pull-request-review-comment + */ + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "get">; + /** + * @see https://docs.github.com/rest/pulls/pulls#get-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}", "get">; + /** + * @see https://docs.github.com/rest/pulls/comments#list-review-comments-on-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/comments", "get">; + /** + * @see https://docs.github.com/rest/pulls/pulls#list-commits-on-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/commits", "get">; + /** + * @see https://docs.github.com/rest/pulls/pulls#list-pull-requests-files + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/files": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/files", "get">; + /** + * @see https://docs.github.com/rest/pulls/pulls#check-if-a-pull-request-has-been-merged + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/merge": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/merge", "get">; + /** + * @see https://docs.github.com/rest/pulls/review-requests#get-all-requested-reviewers-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "get">; + /** + * @see https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews", "get">; + /** + * @see https://docs.github.com/rest/pulls/reviews#get-a-review-for-a-pull-request + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", "get">; + /** + * @see https://docs.github.com/rest/pulls/reviews#list-comments-for-a-pull-request-review + */ + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", "get">; + /** + * @see https://docs.github.com/rest/repos/contents#get-a-repository-readme + */ + "GET /repos/{owner}/{repo}/readme": Operation<"/repos/{owner}/{repo}/readme", "get">; + /** + * @see https://docs.github.com/rest/repos/contents#get-a-repository-readme-for-a-directory + */ + "GET /repos/{owner}/{repo}/readme/{dir}": Operation<"/repos/{owner}/{repo}/readme/{dir}", "get">; + /** + * @see https://docs.github.com/rest/releases/releases#list-releases + */ + "GET /repos/{owner}/{repo}/releases": Operation<"/repos/{owner}/{repo}/releases", "get">; + /** + * @see https://docs.github.com/rest/releases/assets#get-a-release-asset + */ + "GET /repos/{owner}/{repo}/releases/assets/{asset_id}": Operation<"/repos/{owner}/{repo}/releases/assets/{asset_id}", "get">; + /** + * @see https://docs.github.com/rest/releases/releases#get-the-latest-release + */ + "GET /repos/{owner}/{repo}/releases/latest": Operation<"/repos/{owner}/{repo}/releases/latest", "get">; + /** + * @see https://docs.github.com/rest/releases/releases#get-a-release-by-tag-name + */ + "GET /repos/{owner}/{repo}/releases/tags/{tag}": Operation<"/repos/{owner}/{repo}/releases/tags/{tag}", "get">; + /** + * @see https://docs.github.com/rest/releases/releases#get-a-release + */ + "GET /repos/{owner}/{repo}/releases/{release_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}", "get">; + /** + * @see https://docs.github.com/rest/releases/assets#list-release-assets + */ + "GET /repos/{owner}/{repo}/releases/{release_id}/assets": Operation<"/repos/{owner}/{repo}/releases/{release_id}/assets", "get">; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-release + */ + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions": Operation<"/repos/{owner}/{repo}/releases/{release_id}/reactions", "get">; + /** + * @see https://docs.github.com/rest/repos/rules#get-rules-for-a-branch + */ + "GET /repos/{owner}/{repo}/rules/branches/{branch}": Operation<"/repos/{owner}/{repo}/rules/branches/{branch}", "get">; + /** + * @see https://docs.github.com/rest/repos/rules#get-all-repository-rulesets + */ + "GET /repos/{owner}/{repo}/rulesets": Operation<"/repos/{owner}/{repo}/rulesets", "get">; + /** + * @see https://docs.github.com/rest/repos/rule-suites#list-repository-rule-suites + */ + "GET /repos/{owner}/{repo}/rulesets/rule-suites": Operation<"/repos/{owner}/{repo}/rulesets/rule-suites", "get">; + /** + * @see https://docs.github.com/rest/repos/rule-suites#get-a-repository-rule-suite + */ + "GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}": Operation<"/repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}", "get">; + /** + * @see https://docs.github.com/rest/repos/rules#get-a-repository-ruleset + */ + "GET /repos/{owner}/{repo}/rulesets/{ruleset_id}": Operation<"/repos/{owner}/{repo}/rulesets/{ruleset_id}", "get">; + /** + * @see https://docs.github.com/rest/repos/rules#get-repository-ruleset-history + */ + "GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history": Operation<"/repos/{owner}/{repo}/rulesets/{ruleset_id}/history", "get">; + /** + * @see https://docs.github.com/rest/repos/rules#get-repository-ruleset-version + */ + "GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}": Operation<"/repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}", "get">; + /** + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-secret-scanning-alerts-for-a-repository + */ + "GET /repos/{owner}/{repo}/secret-scanning/alerts": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts", "get">; + /** + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#get-a-secret-scanning-alert + */ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", "get">; + /** + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-locations-for-a-secret-scanning-alert + */ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", "get">; + /** + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#get-secret-scanning-scan-history-for-a-repository + */ + "GET /repos/{owner}/{repo}/secret-scanning/scan-history": Operation<"/repos/{owner}/{repo}/secret-scanning/scan-history", "get">; + /** + * @see https://docs.github.com/rest/security-advisories/repository-advisories#list-repository-security-advisories + */ + "GET /repos/{owner}/{repo}/security-advisories": Operation<"/repos/{owner}/{repo}/security-advisories", "get">; + /** + * @see https://docs.github.com/rest/security-advisories/repository-advisories#get-a-repository-security-advisory + */ + "GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}": Operation<"/repos/{owner}/{repo}/security-advisories/{ghsa_id}", "get">; + /** + * @see https://docs.github.com/rest/activity/starring#list-stargazers + */ + "GET /repos/{owner}/{repo}/stargazers": Operation<"/repos/{owner}/{repo}/stargazers", "get">; + /** + * @see https://docs.github.com/rest/metrics/statistics#get-the-weekly-commit-activity + */ + "GET /repos/{owner}/{repo}/stats/code_frequency": Operation<"/repos/{owner}/{repo}/stats/code_frequency", "get">; + /** + * @see https://docs.github.com/rest/metrics/statistics#get-the-last-year-of-commit-activity + */ + "GET /repos/{owner}/{repo}/stats/commit_activity": Operation<"/repos/{owner}/{repo}/stats/commit_activity", "get">; + /** + * @see https://docs.github.com/rest/metrics/statistics#get-all-contributor-commit-activity + */ + "GET /repos/{owner}/{repo}/stats/contributors": Operation<"/repos/{owner}/{repo}/stats/contributors", "get">; + /** + * @see https://docs.github.com/rest/metrics/statistics#get-the-weekly-commit-count + */ + "GET /repos/{owner}/{repo}/stats/participation": Operation<"/repos/{owner}/{repo}/stats/participation", "get">; + /** + * @see https://docs.github.com/rest/metrics/statistics#get-the-hourly-commit-count-for-each-day + */ + "GET /repos/{owner}/{repo}/stats/punch_card": Operation<"/repos/{owner}/{repo}/stats/punch_card", "get">; + /** + * @see https://docs.github.com/rest/activity/watching#list-watchers + */ + "GET /repos/{owner}/{repo}/subscribers": Operation<"/repos/{owner}/{repo}/subscribers", "get">; + /** + * @see https://docs.github.com/rest/activity/watching#get-a-repository-subscription + */ + "GET /repos/{owner}/{repo}/subscription": Operation<"/repos/{owner}/{repo}/subscription", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#list-repository-tags + */ + "GET /repos/{owner}/{repo}/tags": Operation<"/repos/{owner}/{repo}/tags", "get">; + /** + * @see https://docs.github.com/rest/repos/tags#closing-down---list-tag-protection-states-for-a-repository + */ + "GET /repos/{owner}/{repo}/tags/protection": Operation<"/repos/{owner}/{repo}/tags/protection", "get">; + /** + * @see https://docs.github.com/rest/repos/contents#download-a-repository-archive-tar + */ + "GET /repos/{owner}/{repo}/tarball/{ref}": Operation<"/repos/{owner}/{repo}/tarball/{ref}", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#list-repository-teams + */ + "GET /repos/{owner}/{repo}/teams": Operation<"/repos/{owner}/{repo}/teams", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#get-all-repository-topics + */ + "GET /repos/{owner}/{repo}/topics": Operation<"/repos/{owner}/{repo}/topics", "get">; + /** + * @see https://docs.github.com/rest/metrics/traffic#get-repository-clones + */ + "GET /repos/{owner}/{repo}/traffic/clones": Operation<"/repos/{owner}/{repo}/traffic/clones", "get">; + /** + * @see https://docs.github.com/rest/metrics/traffic#get-top-referral-paths + */ + "GET /repos/{owner}/{repo}/traffic/popular/paths": Operation<"/repos/{owner}/{repo}/traffic/popular/paths", "get">; + /** + * @see https://docs.github.com/rest/metrics/traffic#get-top-referral-sources + */ + "GET /repos/{owner}/{repo}/traffic/popular/referrers": Operation<"/repos/{owner}/{repo}/traffic/popular/referrers", "get">; + /** + * @see https://docs.github.com/rest/metrics/traffic#get-page-views + */ + "GET /repos/{owner}/{repo}/traffic/views": Operation<"/repos/{owner}/{repo}/traffic/views", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#check-if-vulnerability-alerts-are-enabled-for-a-repository + */ + "GET /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "get">; + /** + * @see https://docs.github.com/rest/repos/contents#download-a-repository-archive-zip + */ + "GET /repos/{owner}/{repo}/zipball/{ref}": Operation<"/repos/{owner}/{repo}/zipball/{ref}", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#list-public-repositories + */ + "GET /repositories": Operation<"/repositories", "get">; + /** + * @see https://docs.github.com/rest/search/search#search-code + */ + "GET /search/code": Operation<"/search/code", "get">; + /** + * @see https://docs.github.com/rest/search/search#search-commits + */ + "GET /search/commits": Operation<"/search/commits", "get">; + /** + * @see https://docs.github.com/rest/search/search#search-issues-and-pull-requests + */ + "GET /search/issues": Operation<"/search/issues", "get">; + /** + * @see https://docs.github.com/rest/search/search#search-labels + */ + "GET /search/labels": Operation<"/search/labels", "get">; + /** + * @see https://docs.github.com/rest/search/search#search-repositories + */ + "GET /search/repositories": Operation<"/search/repositories", "get">; + /** + * @see https://docs.github.com/rest/search/search#search-topics + */ + "GET /search/topics": Operation<"/search/topics", "get">; + /** + * @see https://docs.github.com/rest/search/search#search-users + */ + "GET /search/users": Operation<"/search/users", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#get-a-team-legacy + */ + "GET /teams/{team_id}": Operation<"/teams/{team_id}", "get">; + /** + * @see https://docs.github.com/rest/teams/discussions#list-discussions-legacy + */ + "GET /teams/{team_id}/discussions": Operation<"/teams/{team_id}/discussions", "get">; + /** + * @see https://docs.github.com/rest/teams/discussions#get-a-discussion-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}", "get">; + /** + * @see https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/comments": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments", "get">; + /** + * @see https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "get">; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "get">; + /** + * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-legacy + */ + "GET /teams/{team_id}/discussions/{discussion_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/reactions", "get">; + /** + * @see https://docs.github.com/rest/teams/members#list-pending-team-invitations-legacy + */ + "GET /teams/{team_id}/invitations": Operation<"/teams/{team_id}/invitations", "get">; + /** + * @see https://docs.github.com/rest/teams/members#list-team-members-legacy + */ + "GET /teams/{team_id}/members": Operation<"/teams/{team_id}/members", "get">; + /** + * @see https://docs.github.com/rest/teams/members#get-team-member-legacy + */ + "GET /teams/{team_id}/members/{username}": Operation<"/teams/{team_id}/members/{username}", "get">; + /** + * @see https://docs.github.com/rest/teams/members#get-team-membership-for-a-user-legacy + */ + "GET /teams/{team_id}/memberships/{username}": Operation<"/teams/{team_id}/memberships/{username}", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#list-team-projects-legacy + */ + "GET /teams/{team_id}/projects": Operation<"/teams/{team_id}/projects", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-project-legacy + */ + "GET /teams/{team_id}/projects/{project_id}": Operation<"/teams/{team_id}/projects/{project_id}", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#list-team-repositories-legacy + */ + "GET /teams/{team_id}/repos": Operation<"/teams/{team_id}/repos", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository-legacy + */ + "GET /teams/{team_id}/repos/{owner}/{repo}": Operation<"/teams/{team_id}/repos/{owner}/{repo}", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#list-child-teams-legacy + */ + "GET /teams/{team_id}/teams": Operation<"/teams/{team_id}/teams", "get">; + /** + * @see https://docs.github.com/rest/users/users#get-the-authenticated-user + */ + "GET /user": Operation<"/user", "get">; + /** + * @see https://docs.github.com/rest/users/blocking#list-users-blocked-by-the-authenticated-user + */ + "GET /user/blocks": Operation<"/user/blocks", "get">; + /** + * @see https://docs.github.com/rest/users/blocking#check-if-a-user-is-blocked-by-the-authenticated-user + */ + "GET /user/blocks/{username}": Operation<"/user/blocks/{username}", "get">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#list-codespaces-for-the-authenticated-user + */ + "GET /user/codespaces": Operation<"/user/codespaces", "get">; + /** + * @see https://docs.github.com/rest/codespaces/secrets#list-secrets-for-the-authenticated-user + */ + "GET /user/codespaces/secrets": Operation<"/user/codespaces/secrets", "get">; + /** + * @see https://docs.github.com/rest/codespaces/secrets#get-public-key-for-the-authenticated-user + */ + "GET /user/codespaces/secrets/public-key": Operation<"/user/codespaces/secrets/public-key", "get">; + /** + * @see https://docs.github.com/rest/codespaces/secrets#get-a-secret-for-the-authenticated-user + */ + "GET /user/codespaces/secrets/{secret_name}": Operation<"/user/codespaces/secrets/{secret_name}", "get">; + /** + * @see https://docs.github.com/rest/codespaces/secrets#list-selected-repositories-for-a-user-secret + */ + "GET /user/codespaces/secrets/{secret_name}/repositories": Operation<"/user/codespaces/secrets/{secret_name}/repositories", "get">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#get-a-codespace-for-the-authenticated-user + */ + "GET /user/codespaces/{codespace_name}": Operation<"/user/codespaces/{codespace_name}", "get">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#get-details-about-a-codespace-export + */ + "GET /user/codespaces/{codespace_name}/exports/{export_id}": Operation<"/user/codespaces/{codespace_name}/exports/{export_id}", "get">; + /** + * @see https://docs.github.com/rest/codespaces/machines#list-machine-types-for-a-codespace + */ + "GET /user/codespaces/{codespace_name}/machines": Operation<"/user/codespaces/{codespace_name}/machines", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#get-list-of-conflicting-packages-during-docker-migration-for-authenticated-user + */ + "GET /user/docker/conflicts": Operation<"/user/docker/conflicts", "get">; + /** + * @see https://docs.github.com/rest/users/emails#list-email-addresses-for-the-authenticated-user + */ + "GET /user/emails": Operation<"/user/emails", "get">; + /** + * @see https://docs.github.com/rest/users/followers#list-followers-of-the-authenticated-user + */ + "GET /user/followers": Operation<"/user/followers", "get">; + /** + * @see https://docs.github.com/rest/users/followers#list-the-people-the-authenticated-user-follows + */ + "GET /user/following": Operation<"/user/following", "get">; + /** + * @see https://docs.github.com/rest/users/followers#check-if-a-person-is-followed-by-the-authenticated-user + */ + "GET /user/following/{username}": Operation<"/user/following/{username}", "get">; + /** + * @see https://docs.github.com/rest/users/gpg-keys#list-gpg-keys-for-the-authenticated-user + */ + "GET /user/gpg_keys": Operation<"/user/gpg_keys", "get">; + /** + * @see https://docs.github.com/rest/users/gpg-keys#get-a-gpg-key-for-the-authenticated-user + */ + "GET /user/gpg_keys/{gpg_key_id}": Operation<"/user/gpg_keys/{gpg_key_id}", "get">; + /** + * @see https://docs.github.com/rest/apps/installations#list-app-installations-accessible-to-the-user-access-token + */ + "GET /user/installations": Operation<"/user/installations", "get">; + /** + * @see https://docs.github.com/rest/apps/installations#list-repositories-accessible-to-the-user-access-token + */ + "GET /user/installations/{installation_id}/repositories": Operation<"/user/installations/{installation_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/interactions/user#get-interaction-restrictions-for-your-public-repositories + */ + "GET /user/interaction-limits": Operation<"/user/interaction-limits", "get">; + /** + * @see https://docs.github.com/rest/issues/issues#list-user-account-issues-assigned-to-the-authenticated-user + */ + "GET /user/issues": Operation<"/user/issues", "get">; + /** + * @see https://docs.github.com/rest/users/keys#list-public-ssh-keys-for-the-authenticated-user + */ + "GET /user/keys": Operation<"/user/keys", "get">; + /** + * @see https://docs.github.com/rest/users/keys#get-a-public-ssh-key-for-the-authenticated-user + */ + "GET /user/keys/{key_id}": Operation<"/user/keys/{key_id}", "get">; + /** + * @see https://docs.github.com/rest/apps/marketplace#list-subscriptions-for-the-authenticated-user + */ + "GET /user/marketplace_purchases": Operation<"/user/marketplace_purchases", "get">; + /** + * @see https://docs.github.com/rest/apps/marketplace#list-subscriptions-for-the-authenticated-user-stubbed + */ + "GET /user/marketplace_purchases/stubbed": Operation<"/user/marketplace_purchases/stubbed", "get">; + /** + * @see https://docs.github.com/rest/orgs/members#list-organization-memberships-for-the-authenticated-user + */ + "GET /user/memberships/orgs": Operation<"/user/memberships/orgs", "get">; + /** + * @see https://docs.github.com/rest/orgs/members#get-an-organization-membership-for-the-authenticated-user + */ + "GET /user/memberships/orgs/{org}": Operation<"/user/memberships/orgs/{org}", "get">; + /** + * @see https://docs.github.com/rest/migrations/users#list-user-migrations + */ + "GET /user/migrations": Operation<"/user/migrations", "get">; + /** + * @see https://docs.github.com/rest/migrations/users#get-a-user-migration-status + */ + "GET /user/migrations/{migration_id}": Operation<"/user/migrations/{migration_id}", "get">; + /** + * @see https://docs.github.com/rest/migrations/users#download-a-user-migration-archive + */ + "GET /user/migrations/{migration_id}/archive": Operation<"/user/migrations/{migration_id}/archive", "get">; + /** + * @see https://docs.github.com/rest/migrations/users#list-repositories-for-a-user-migration + */ + "GET /user/migrations/{migration_id}/repositories": Operation<"/user/migrations/{migration_id}/repositories", "get">; + /** + * @see https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user + */ + "GET /user/orgs": Operation<"/user/orgs", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#list-packages-for-the-authenticated-users-namespace + */ + "GET /user/packages": Operation<"/user/packages", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#get-a-package-for-the-authenticated-user + */ + "GET /user/packages/{package_type}/{package_name}": Operation<"/user/packages/{package_type}/{package_name}", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#list-package-versions-for-a-package-owned-by-the-authenticated-user + */ + "GET /user/packages/{package_type}/{package_name}/versions": Operation<"/user/packages/{package_type}/{package_name}/versions", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#get-a-package-version-for-the-authenticated-user + */ + "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/user/packages/{package_type}/{package_name}/versions/{package_version_id}", "get">; + /** + * @see https://docs.github.com/rest/users/emails#list-public-email-addresses-for-the-authenticated-user + */ + "GET /user/public_emails": Operation<"/user/public_emails", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#list-repositories-for-the-authenticated-user + */ + "GET /user/repos": Operation<"/user/repos", "get">; + /** + * @see https://docs.github.com/rest/collaborators/invitations#list-repository-invitations-for-the-authenticated-user + */ + "GET /user/repository_invitations": Operation<"/user/repository_invitations", "get">; + /** + * @see https://docs.github.com/rest/users/social-accounts#list-social-accounts-for-the-authenticated-user + */ + "GET /user/social_accounts": Operation<"/user/social_accounts", "get">; + /** + * @see https://docs.github.com/rest/users/ssh-signing-keys#list-ssh-signing-keys-for-the-authenticated-user + */ + "GET /user/ssh_signing_keys": Operation<"/user/ssh_signing_keys", "get">; + /** + * @see https://docs.github.com/rest/users/ssh-signing-keys#get-an-ssh-signing-key-for-the-authenticated-user + */ + "GET /user/ssh_signing_keys/{ssh_signing_key_id}": Operation<"/user/ssh_signing_keys/{ssh_signing_key_id}", "get">; + /** + * @see https://docs.github.com/rest/activity/starring#list-repositories-starred-by-the-authenticated-user + */ + "GET /user/starred": Operation<"/user/starred", "get">; + /** + * @see https://docs.github.com/rest/activity/starring#check-if-a-repository-is-starred-by-the-authenticated-user + */ + "GET /user/starred/{owner}/{repo}": Operation<"/user/starred/{owner}/{repo}", "get">; + /** + * @see https://docs.github.com/rest/activity/watching#list-repositories-watched-by-the-authenticated-user + */ + "GET /user/subscriptions": Operation<"/user/subscriptions", "get">; + /** + * @see https://docs.github.com/rest/teams/teams#list-teams-for-the-authenticated-user + */ + "GET /user/teams": Operation<"/user/teams", "get">; + /** + * @see https://docs.github.com/rest/users/users#get-a-user-using-their-id + */ + "GET /user/{account_id}": Operation<"/user/{account_id}", "get">; + /** + * @see https://docs.github.com/rest/users/users#list-users + */ + "GET /users": Operation<"/users", "get">; + /** + * @see https://docs.github.com/rest/users/users#get-a-user + */ + "GET /users/{username}": Operation<"/users/{username}", "get">; + /** + * @see https://docs.github.com/rest/users/attestations#list-attestations + */ + "GET /users/{username}/attestations/{subject_digest}": Operation<"/users/{username}/attestations/{subject_digest}", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#get-list-of-conflicting-packages-during-docker-migration-for-user + */ + "GET /users/{username}/docker/conflicts": Operation<"/users/{username}/docker/conflicts", "get">; + /** + * @see https://docs.github.com/rest/activity/events#list-events-for-the-authenticated-user + */ + "GET /users/{username}/events": Operation<"/users/{username}/events", "get">; + /** + * @see https://docs.github.com/rest/activity/events#list-organization-events-for-the-authenticated-user + */ + "GET /users/{username}/events/orgs/{org}": Operation<"/users/{username}/events/orgs/{org}", "get">; + /** + * @see https://docs.github.com/rest/activity/events#list-public-events-for-a-user + */ + "GET /users/{username}/events/public": Operation<"/users/{username}/events/public", "get">; + /** + * @see https://docs.github.com/rest/users/followers#list-followers-of-a-user + */ + "GET /users/{username}/followers": Operation<"/users/{username}/followers", "get">; + /** + * @see https://docs.github.com/rest/users/followers#list-the-people-a-user-follows + */ + "GET /users/{username}/following": Operation<"/users/{username}/following", "get">; + /** + * @see https://docs.github.com/rest/users/followers#check-if-a-user-follows-another-user + */ + "GET /users/{username}/following/{target_user}": Operation<"/users/{username}/following/{target_user}", "get">; + /** + * @see https://docs.github.com/rest/gists/gists#list-gists-for-a-user + */ + "GET /users/{username}/gists": Operation<"/users/{username}/gists", "get">; + /** + * @see https://docs.github.com/rest/users/gpg-keys#list-gpg-keys-for-a-user + */ + "GET /users/{username}/gpg_keys": Operation<"/users/{username}/gpg_keys", "get">; + /** + * @see https://docs.github.com/rest/users/users#get-contextual-information-for-a-user + */ + "GET /users/{username}/hovercard": Operation<"/users/{username}/hovercard", "get">; + /** + * @see https://docs.github.com/rest/apps/apps#get-a-user-installation-for-the-authenticated-app + */ + "GET /users/{username}/installation": Operation<"/users/{username}/installation", "get">; + /** + * @see https://docs.github.com/rest/users/keys#list-public-keys-for-a-user + */ + "GET /users/{username}/keys": Operation<"/users/{username}/keys", "get">; + /** + * @see https://docs.github.com/rest/orgs/orgs#list-organizations-for-a-user + */ + "GET /users/{username}/orgs": Operation<"/users/{username}/orgs", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#list-packages-for-a-user + */ + "GET /users/{username}/packages": Operation<"/users/{username}/packages", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#get-a-package-for-a-user + */ + "GET /users/{username}/packages/{package_type}/{package_name}": Operation<"/users/{username}/packages/{package_type}/{package_name}", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#list-package-versions-for-a-package-owned-by-a-user + */ + "GET /users/{username}/packages/{package_type}/{package_name}/versions": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions", "get">; + /** + * @see https://docs.github.com/rest/packages/packages#get-a-package-version-for-a-user + */ + "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}", "get">; + /** + * @see https://docs.github.com/rest/projects/projects#list-user-projects + */ + "GET /users/{username}/projects": Operation<"/users/{username}/projects", "get">; + /** + * @see https://docs.github.com/rest/activity/events#list-events-received-by-the-authenticated-user + */ + "GET /users/{username}/received_events": Operation<"/users/{username}/received_events", "get">; + /** + * @see https://docs.github.com/rest/activity/events#list-public-events-received-by-a-user + */ + "GET /users/{username}/received_events/public": Operation<"/users/{username}/received_events/public", "get">; + /** + * @see https://docs.github.com/rest/repos/repos#list-repositories-for-a-user + */ + "GET /users/{username}/repos": Operation<"/users/{username}/repos", "get">; + /** + * @see https://docs.github.com/rest/billing/billing#get-github-actions-billing-for-a-user + */ + "GET /users/{username}/settings/billing/actions": Operation<"/users/{username}/settings/billing/actions", "get">; + /** + * @see https://docs.github.com/rest/billing/billing#get-github-packages-billing-for-a-user + */ + "GET /users/{username}/settings/billing/packages": Operation<"/users/{username}/settings/billing/packages", "get">; + /** + * @see https://docs.github.com/rest/billing/billing#get-shared-storage-billing-for-a-user + */ + "GET /users/{username}/settings/billing/shared-storage": Operation<"/users/{username}/settings/billing/shared-storage", "get">; + /** + * @see https://docs.github.com/rest/users/social-accounts#list-social-accounts-for-a-user + */ + "GET /users/{username}/social_accounts": Operation<"/users/{username}/social_accounts", "get">; + /** + * @see https://docs.github.com/rest/users/ssh-signing-keys#list-ssh-signing-keys-for-a-user + */ + "GET /users/{username}/ssh_signing_keys": Operation<"/users/{username}/ssh_signing_keys", "get">; + /** + * @see https://docs.github.com/rest/activity/starring#list-repositories-starred-by-a-user + */ + "GET /users/{username}/starred": Operation<"/users/{username}/starred", "get">; + /** + * @see https://docs.github.com/rest/activity/watching#list-repositories-watched-by-a-user + */ + "GET /users/{username}/subscriptions": Operation<"/users/{username}/subscriptions", "get">; + /** + * @see https://docs.github.com/rest/meta/meta#get-all-api-versions + */ + "GET /versions": Operation<"/versions", "get">; + /** + * @see https://docs.github.com/rest/meta/meta#get-the-zen-of-github + */ + "GET /zen": Operation<"/zen", "get">; + /** + * @see https://docs.github.com/rest/apps/webhooks#update-a-webhook-configuration-for-an-app + */ + "PATCH /app/hook/config": Operation<"/app/hook/config", "patch">; + /** + * @see https://docs.github.com/rest/apps/oauth-applications#reset-a-token + */ + "PATCH /applications/{client_id}/token": Operation<"/applications/{client_id}/token", "patch">; + /** + * @see https://docs.github.com/rest/code-security/configurations#update-a-custom-code-security-configuration-for-an-enterprise + */ + "PATCH /enterprises/{enterprise}/code-security/configurations/{configuration_id}": Operation<"/enterprises/{enterprise}/code-security/configurations/{configuration_id}", "patch">; + /** + * @see https://docs.github.com/rest/reference/gists/#update-a-gist + */ + "PATCH /gists/{gist_id}": Operation<"/gists/{gist_id}", "patch">; + /** + * @see https://docs.github.com/rest/gists/comments#update-a-gist-comment + */ + "PATCH /gists/{gist_id}/comments/{comment_id}": Operation<"/gists/{gist_id}/comments/{comment_id}", "patch">; + /** + * @see https://docs.github.com/rest/activity/notifications#mark-a-thread-as-read + */ + "PATCH /notifications/threads/{thread_id}": Operation<"/notifications/threads/{thread_id}", "patch">; + /** + * @see https://docs.github.com/rest/orgs/orgs#update-an-organization + */ + "PATCH /orgs/{org}": Operation<"/orgs/{org}", "patch">; + /** + * @see https://docs.github.com/rest/actions/hosted-runners#update-a-github-hosted-runner-for-an-organization + */ + "PATCH /orgs/{org}/actions/hosted-runners/{hosted_runner_id}": Operation<"/orgs/{org}/actions/hosted-runners/{hosted_runner_id}", "patch">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#update-a-self-hosted-runner-group-for-an-organization + */ + "PATCH /orgs/{org}/actions/runner-groups/{runner_group_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}", "patch">; + /** + * @see https://docs.github.com/rest/actions/variables#update-an-organization-variable + */ + "PATCH /orgs/{org}/actions/variables/{name}": Operation<"/orgs/{org}/actions/variables/{name}", "patch">; + /** + * @see https://docs.github.com/rest/code-security/configurations#update-a-code-security-configuration + */ + "PATCH /orgs/{org}/code-security/configurations/{configuration_id}": Operation<"/orgs/{org}/code-security/configurations/{configuration_id}", "patch">; + /** + * @see https://docs.github.com/rest/orgs/webhooks#update-an-organization-webhook + */ + "PATCH /orgs/{org}/hooks/{hook_id}": Operation<"/orgs/{org}/hooks/{hook_id}", "patch">; + /** + * @see https://docs.github.com/rest/orgs/webhooks#update-a-webhook-configuration-for-an-organization + */ + "PATCH /orgs/{org}/hooks/{hook_id}/config": Operation<"/orgs/{org}/hooks/{hook_id}/config", "patch">; + /** + * @see https://docs.github.com/rest/private-registries/organization-configurations#update-a-private-registry-for-an-organization + */ + "PATCH /orgs/{org}/private-registries/{secret_name}": Operation<"/orgs/{org}/private-registries/{secret_name}", "patch">; + /** + * @see https://docs.github.com/rest/orgs/custom-properties#create-or-update-custom-properties-for-an-organization + */ + "PATCH /orgs/{org}/properties/schema": Operation<"/orgs/{org}/properties/schema", "patch">; + /** + * @see https://docs.github.com/rest/orgs/custom-properties#create-or-update-custom-property-values-for-organization-repositories + */ + "PATCH /orgs/{org}/properties/values": Operation<"/orgs/{org}/properties/values", "patch">; + /** + * @see https://docs.github.com/rest/orgs/network-configurations#update-a-hosted-compute-network-configuration-for-an-organization + */ + "PATCH /orgs/{org}/settings/network-configurations/{network_configuration_id}": Operation<"/orgs/{org}/settings/network-configurations/{network_configuration_id}", "patch">; + /** + * @see https://docs.github.com/rest/teams/teams#update-a-team + */ + "PATCH /orgs/{org}/teams/{team_slug}": Operation<"/orgs/{org}/teams/{team_slug}", "patch">; + /** + * @see https://docs.github.com/rest/teams/discussions#update-a-discussion + */ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", "patch">; + /** + * @see https://docs.github.com/rest/teams/discussion-comments#update-a-discussion-comment + */ + "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "patch">; + /** + * @see https://docs.github.com/rest/projects/cards#update-an-existing-project-card + */ + "PATCH /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "patch">; + /** + * @see https://docs.github.com/rest/projects/columns#update-an-existing-project-column + */ + "PATCH /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "patch">; + /** + * @see https://docs.github.com/rest/projects/projects#update-a-project + */ + "PATCH /projects/{project_id}": Operation<"/projects/{project_id}", "patch">; + /** + * @see https://docs.github.com/rest/repos/repos#update-a-repository + */ + "PATCH /repos/{owner}/{repo}": Operation<"/repos/{owner}/{repo}", "patch">; + /** + * @see https://docs.github.com/rest/actions/variables#update-a-repository-variable + */ + "PATCH /repos/{owner}/{repo}/actions/variables/{name}": Operation<"/repos/{owner}/{repo}/actions/variables/{name}", "patch">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#update-pull-request-review-protection + */ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", "patch">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#update-status-check-protection + */ + "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", "patch">; + /** + * @see https://docs.github.com/rest/checks/runs#update-a-check-run + */ + "PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}", "patch">; + /** + * @see https://docs.github.com/rest/checks/suites#update-repository-preferences-for-check-suites + */ + "PATCH /repos/{owner}/{repo}/check-suites/preferences": Operation<"/repos/{owner}/{repo}/check-suites/preferences", "patch">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#update-a-code-scanning-alert + */ + "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "patch">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#update-a-code-scanning-default-setup-configuration + */ + "PATCH /repos/{owner}/{repo}/code-scanning/default-setup": Operation<"/repos/{owner}/{repo}/code-scanning/default-setup", "patch">; + /** + * @see https://docs.github.com/rest/commits/comments#update-a-commit-comment + */ + "PATCH /repos/{owner}/{repo}/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}", "patch">; + /** + * @see https://docs.github.com/rest/dependabot/alerts#update-a-dependabot-alert + */ + "PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/dependabot/alerts/{alert_number}", "patch">; + /** + * @see https://docs.github.com/rest/actions/variables#update-an-environment-variable + */ + "PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/variables/{name}", "patch">; + /** + * @see https://docs.github.com/rest/git/refs#update-a-reference + */ + "PATCH /repos/{owner}/{repo}/git/refs/{ref}": Operation<"/repos/{owner}/{repo}/git/refs/{ref}", "patch">; + /** + * @see https://docs.github.com/rest/repos/webhooks#update-a-repository-webhook + */ + "PATCH /repos/{owner}/{repo}/hooks/{hook_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}", "patch">; + /** + * @see https://docs.github.com/rest/repos/webhooks#update-a-webhook-configuration-for-a-repository + */ + "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/config", "patch">; + /** + * @see https://docs.github.com/rest/migrations/source-imports#update-an-import + */ + "PATCH /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "patch">; + /** + * @see https://docs.github.com/rest/migrations/source-imports#map-a-commit-author + */ + "PATCH /repos/{owner}/{repo}/import/authors/{author_id}": Operation<"/repos/{owner}/{repo}/import/authors/{author_id}", "patch">; + /** + * @see https://docs.github.com/rest/migrations/source-imports#update-git-lfs-preference + */ + "PATCH /repos/{owner}/{repo}/import/lfs": Operation<"/repos/{owner}/{repo}/import/lfs", "patch">; + /** + * @see https://docs.github.com/rest/collaborators/invitations#update-a-repository-invitation + */ + "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}": Operation<"/repos/{owner}/{repo}/invitations/{invitation_id}", "patch">; + /** + * @see https://docs.github.com/rest/issues/comments#update-an-issue-comment + */ + "PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}", "patch">; + /** + * @see https://docs.github.com/rest/issues/issues#update-an-issue + */ + "PATCH /repos/{owner}/{repo}/issues/{issue_number}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}", "patch">; + /** + * @see https://docs.github.com/rest/issues/sub-issues#reprioritize-sub-issue + */ + "PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority", "patch">; + /** + * @see https://docs.github.com/rest/issues/labels#update-a-label + */ + "PATCH /repos/{owner}/{repo}/labels/{name}": Operation<"/repos/{owner}/{repo}/labels/{name}", "patch">; + /** + * @see https://docs.github.com/rest/issues/milestones#update-a-milestone + */ + "PATCH /repos/{owner}/{repo}/milestones/{milestone_number}": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}", "patch">; + /** + * @see https://docs.github.com/rest/repos/custom-properties#create-or-update-custom-property-values-for-a-repository + */ + "PATCH /repos/{owner}/{repo}/properties/values": Operation<"/repos/{owner}/{repo}/properties/values", "patch">; + /** + * @see https://docs.github.com/rest/pulls/comments#update-a-review-comment-for-a-pull-request + */ + "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}", "patch">; + /** + * @see https://docs.github.com/rest/pulls/pulls#update-a-pull-request + */ + "PATCH /repos/{owner}/{repo}/pulls/{pull_number}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}", "patch">; + /** + * @see https://docs.github.com/rest/releases/assets#update-a-release-asset + */ + "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}": Operation<"/repos/{owner}/{repo}/releases/assets/{asset_id}", "patch">; + /** + * @see https://docs.github.com/rest/releases/releases#update-a-release + */ + "PATCH /repos/{owner}/{repo}/releases/{release_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}", "patch">; + /** + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#update-a-secret-scanning-alert + */ + "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", "patch">; + /** + * @see https://docs.github.com/rest/security-advisories/repository-advisories#update-a-repository-security-advisory + */ + "PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}": Operation<"/repos/{owner}/{repo}/security-advisories/{ghsa_id}", "patch">; + /** + * @see https://docs.github.com/rest/teams/teams#update-a-team-legacy + */ + "PATCH /teams/{team_id}": Operation<"/teams/{team_id}", "patch">; + /** + * @see https://docs.github.com/rest/teams/discussions#update-a-discussion-legacy + */ + "PATCH /teams/{team_id}/discussions/{discussion_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}", "patch">; + /** + * @see https://docs.github.com/rest/teams/discussion-comments#update-a-discussion-comment-legacy + */ + "PATCH /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "patch">; + /** + * @see https://docs.github.com/rest/users/users#update-the-authenticated-user + */ + "PATCH /user": Operation<"/user", "patch">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#update-a-codespace-for-the-authenticated-user + */ + "PATCH /user/codespaces/{codespace_name}": Operation<"/user/codespaces/{codespace_name}", "patch">; + /** + * @see https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user + */ + "PATCH /user/email/visibility": Operation<"/user/email/visibility", "patch">; + /** + * @see https://docs.github.com/rest/orgs/members#update-an-organization-membership-for-the-authenticated-user + */ + "PATCH /user/memberships/orgs/{org}": Operation<"/user/memberships/orgs/{org}", "patch">; + /** + * @see https://docs.github.com/rest/collaborators/invitations#accept-a-repository-invitation + */ + "PATCH /user/repository_invitations/{invitation_id}": Operation<"/user/repository_invitations/{invitation_id}", "patch">; + /** + * @see https://docs.github.com/rest/apps/apps#create-a-github-app-from-a-manifest + */ + "POST /app-manifests/{code}/conversions": Operation<"/app-manifests/{code}/conversions", "post">; + /** + * @see https://docs.github.com/rest/apps/webhooks#redeliver-a-delivery-for-an-app-webhook + */ + "POST /app/hook/deliveries/{delivery_id}/attempts": Operation<"/app/hook/deliveries/{delivery_id}/attempts", "post">; + /** + * @see https://docs.github.com/rest/apps/apps#create-an-installation-access-token-for-an-app + */ + "POST /app/installations/{installation_id}/access_tokens": Operation<"/app/installations/{installation_id}/access_tokens", "post">; + /** + * @see https://docs.github.com/rest/apps/oauth-applications#check-a-token + */ + "POST /applications/{client_id}/token": Operation<"/applications/{client_id}/token", "post">; + /** + * @see https://docs.github.com/rest/apps/apps#create-a-scoped-access-token + */ + "POST /applications/{client_id}/token/scoped": Operation<"/applications/{client_id}/token/scoped", "post">; + /** + * @see https://docs.github.com/rest/code-security/configurations#create-a-code-security-configuration-for-an-enterprise + */ + "POST /enterprises/{enterprise}/code-security/configurations": Operation<"/enterprises/{enterprise}/code-security/configurations", "post">; + /** + * @see https://docs.github.com/rest/code-security/configurations#attach-an-enterprise-configuration-to-repositories + */ + "POST /enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach": Operation<"/enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach", "post">; + /** + * @see https://docs.github.com/rest/gists/gists#create-a-gist + */ + "POST /gists": Operation<"/gists", "post">; + /** + * @see https://docs.github.com/rest/gists/comments#create-a-gist-comment + */ + "POST /gists/{gist_id}/comments": Operation<"/gists/{gist_id}/comments", "post">; + /** + * @see https://docs.github.com/rest/gists/gists#fork-a-gist + */ + "POST /gists/{gist_id}/forks": Operation<"/gists/{gist_id}/forks", "post">; + /** + * @see https://docs.github.com/rest/markdown/markdown#render-a-markdown-document + */ + "POST /markdown": Operation<"/markdown", "post">; + /** + * @see https://docs.github.com/rest/markdown/markdown#render-a-markdown-document-in-raw-mode + */ + "POST /markdown/raw": Operation<"/markdown/raw", "post">; + /** + * @see https://docs.github.com/rest/actions/hosted-runners#create-a-github-hosted-runner-for-an-organization + */ + "POST /orgs/{org}/actions/hosted-runners": Operation<"/orgs/{org}/actions/hosted-runners", "post">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#create-a-self-hosted-runner-group-for-an-organization + */ + "POST /orgs/{org}/actions/runner-groups": Operation<"/orgs/{org}/actions/runner-groups", "post">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#create-configuration-for-a-just-in-time-runner-for-an-organization + */ + "POST /orgs/{org}/actions/runners/generate-jitconfig": Operation<"/orgs/{org}/actions/runners/generate-jitconfig", "post">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#create-a-registration-token-for-an-organization + */ + "POST /orgs/{org}/actions/runners/registration-token": Operation<"/orgs/{org}/actions/runners/registration-token", "post">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#create-a-remove-token-for-an-organization + */ + "POST /orgs/{org}/actions/runners/remove-token": Operation<"/orgs/{org}/actions/runners/remove-token", "post">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#add-custom-labels-to-a-self-hosted-runner-for-an-organization + */ + "POST /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "post">; + /** + * @see https://docs.github.com/rest/actions/variables#create-an-organization-variable + */ + "POST /orgs/{org}/actions/variables": Operation<"/orgs/{org}/actions/variables", "post">; + /** + * @see https://docs.github.com/rest/code-security/configurations#create-a-code-security-configuration + */ + "POST /orgs/{org}/code-security/configurations": Operation<"/orgs/{org}/code-security/configurations", "post">; + /** + * @see https://docs.github.com/rest/code-security/configurations#attach-a-configuration-to-repositories + */ + "POST /orgs/{org}/code-security/configurations/{configuration_id}/attach": Operation<"/orgs/{org}/code-security/configurations/{configuration_id}/attach", "post">; + /** + * @see https://docs.github.com/rest/codespaces/organizations#add-users-to-codespaces-access-for-an-organization + */ + "POST /orgs/{org}/codespaces/access/selected_users": Operation<"/orgs/{org}/codespaces/access/selected_users", "post">; + /** + * @see https://docs.github.com/rest/copilot/copilot-user-management#add-teams-to-the-copilot-subscription-for-an-organization + */ + "POST /orgs/{org}/copilot/billing/selected_teams": Operation<"/orgs/{org}/copilot/billing/selected_teams", "post">; + /** + * @see https://docs.github.com/rest/copilot/copilot-user-management#add-users-to-the-copilot-subscription-for-an-organization + */ + "POST /orgs/{org}/copilot/billing/selected_users": Operation<"/orgs/{org}/copilot/billing/selected_users", "post">; + /** + * @see https://docs.github.com/rest/orgs/webhooks#create-an-organization-webhook + */ + "POST /orgs/{org}/hooks": Operation<"/orgs/{org}/hooks", "post">; + /** + * @see https://docs.github.com/rest/orgs/webhooks#redeliver-a-delivery-for-an-organization-webhook + */ + "POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": Operation<"/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts", "post">; + /** + * @see https://docs.github.com/rest/orgs/webhooks#ping-an-organization-webhook + */ + "POST /orgs/{org}/hooks/{hook_id}/pings": Operation<"/orgs/{org}/hooks/{hook_id}/pings", "post">; + /** + * @see https://docs.github.com/rest/orgs/members#create-an-organization-invitation + */ + "POST /orgs/{org}/invitations": Operation<"/orgs/{org}/invitations", "post">; + /** + * @see https://docs.github.com/rest/orgs/issue-types#create-issue-type-for-an-organization + */ + "POST /orgs/{org}/issue-types": Operation<"/orgs/{org}/issue-types", "post">; + /** + * @see https://docs.github.com/rest/codespaces/organizations#stop-a-codespace-for-an-organization-user + */ + "POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop": Operation<"/orgs/{org}/members/{username}/codespaces/{codespace_name}/stop", "post">; + /** + * @see https://docs.github.com/rest/migrations/orgs#start-an-organization-migration + */ + "POST /orgs/{org}/migrations": Operation<"/orgs/{org}/migrations", "post">; + /** + * @see https://docs.github.com/rest/packages/packages#restore-a-package-for-an-organization + */ + "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/restore", "post">; + /** + * @see https://docs.github.com/rest/packages/packages#restore-package-version-for-an-organization + */ + "POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", "post">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#review-requests-to-access-organization-resources-with-fine-grained-personal-access-tokens + */ + "POST /orgs/{org}/personal-access-token-requests": Operation<"/orgs/{org}/personal-access-token-requests", "post">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#review-a-request-to-access-organization-resources-with-a-fine-grained-personal-access-token + */ + "POST /orgs/{org}/personal-access-token-requests/{pat_request_id}": Operation<"/orgs/{org}/personal-access-token-requests/{pat_request_id}", "post">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#update-the-access-to-organization-resources-via-fine-grained-personal-access-tokens + */ + "POST /orgs/{org}/personal-access-tokens": Operation<"/orgs/{org}/personal-access-tokens", "post">; + /** + * @see https://docs.github.com/rest/orgs/personal-access-tokens#update-the-access-a-fine-grained-personal-access-token-has-to-organization-resources + */ + "POST /orgs/{org}/personal-access-tokens/{pat_id}": Operation<"/orgs/{org}/personal-access-tokens/{pat_id}", "post">; + /** + * @see https://docs.github.com/rest/private-registries/organization-configurations#create-a-private-registry-for-an-organization + */ + "POST /orgs/{org}/private-registries": Operation<"/orgs/{org}/private-registries", "post">; + /** + * @see https://docs.github.com/rest/projects/projects#create-an-organization-project + */ + "POST /orgs/{org}/projects": Operation<"/orgs/{org}/projects", "post">; + /** + * @see https://docs.github.com/rest/repos/repos#create-an-organization-repository + */ + "POST /orgs/{org}/repos": Operation<"/orgs/{org}/repos", "post">; + /** + * @see https://docs.github.com/rest/orgs/rules#create-an-organization-repository-ruleset + */ + "POST /orgs/{org}/rulesets": Operation<"/orgs/{org}/rulesets", "post">; + /** + * @see https://docs.github.com/rest/orgs/network-configurations#create-a-hosted-compute-network-configuration-for-an-organization + */ + "POST /orgs/{org}/settings/network-configurations": Operation<"/orgs/{org}/settings/network-configurations", "post">; + /** + * @see https://docs.github.com/rest/teams/teams#create-a-team + */ + "POST /orgs/{org}/teams": Operation<"/orgs/{org}/teams", "post">; + /** + * @see https://docs.github.com/rest/teams/discussions#create-a-discussion + */ + "POST /orgs/{org}/teams/{team_slug}/discussions": Operation<"/orgs/{org}/teams/{team_slug}/discussions", "post">; + /** + * @see https://docs.github.com/rest/teams/discussion-comments#create-a-discussion-comment + */ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "post">; + /** + * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion-comment + */ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion + */ + "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "post">; + /** + * @see https://docs.github.com/rest/orgs/orgs#enable-or-disable-a-security-feature-for-an-organization + */ + "POST /orgs/{org}/{security_product}/{enablement}": Operation<"/orgs/{org}/{security_product}/{enablement}", "post">; + /** + * @see https://docs.github.com/rest/projects/cards#move-a-project-card + */ + "POST /projects/columns/cards/{card_id}/moves": Operation<"/projects/columns/cards/{card_id}/moves", "post">; + /** + * @see https://docs.github.com/rest/projects/cards#create-a-project-card + */ + "POST /projects/columns/{column_id}/cards": Operation<"/projects/columns/{column_id}/cards", "post">; + /** + * @see https://docs.github.com/rest/projects/columns#move-a-project-column + */ + "POST /projects/columns/{column_id}/moves": Operation<"/projects/columns/{column_id}/moves", "post">; + /** + * @see https://docs.github.com/rest/projects/columns#create-a-project-column + */ + "POST /projects/{project_id}/columns": Operation<"/projects/{project_id}/columns", "post">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run + */ + "POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun": Operation<"/repos/{owner}/{repo}/actions/jobs/{job_id}/rerun", "post">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#create-configuration-for-a-just-in-time-runner-for-a-repository + */ + "POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig": Operation<"/repos/{owner}/{repo}/actions/runners/generate-jitconfig", "post">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#create-a-registration-token-for-a-repository + */ + "POST /repos/{owner}/{repo}/actions/runners/registration-token": Operation<"/repos/{owner}/{repo}/actions/runners/registration-token", "post">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#create-a-remove-token-for-a-repository + */ + "POST /repos/{owner}/{repo}/actions/runners/remove-token": Operation<"/repos/{owner}/{repo}/actions/runners/remove-token", "post">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#add-custom-labels-to-a-self-hosted-runner-for-a-repository + */ + "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "post">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#approve-a-workflow-run-for-a-fork-pull-request + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/approve", "post">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#cancel-a-workflow-run + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/cancel", "post">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#review-custom-deployment-protection-rules-for-a-workflow-run + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule", "post">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#force-cancel-a-workflow-run + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel", "post">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#review-pending-deployments-for-a-workflow-run + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", "post">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#re-run-a-workflow + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/rerun", "post">; + /** + * @see https://docs.github.com/rest/actions/workflow-runs#re-run-failed-jobs-from-a-workflow-run + */ + "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs", "post">; + /** + * @see https://docs.github.com/rest/actions/variables#create-a-repository-variable + */ + "POST /repos/{owner}/{repo}/actions/variables": Operation<"/repos/{owner}/{repo}/actions/variables", "post">; + /** + * @see https://docs.github.com/rest/actions/workflows#create-a-workflow-dispatch-event + */ + "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches", "post">; + /** + * @see https://docs.github.com/rest/repos/repos#create-an-attestation + */ + "POST /repos/{owner}/{repo}/attestations": Operation<"/repos/{owner}/{repo}/attestations", "post">; + /** + * @see https://docs.github.com/rest/repos/autolinks#create-an-autolink-reference-for-a-repository + */ + "POST /repos/{owner}/{repo}/autolinks": Operation<"/repos/{owner}/{repo}/autolinks", "post">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#set-admin-branch-protection + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", "post">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#create-commit-signature-protection + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "post">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#add-status-check-contexts + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "post">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#add-app-access-restrictions + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "post">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#add-team-access-restrictions + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "post">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#add-user-access-restrictions + */ + "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "post">; + /** + * @see https://docs.github.com/rest/branches/branches#rename-a-branch + */ + "POST /repos/{owner}/{repo}/branches/{branch}/rename": Operation<"/repos/{owner}/{repo}/branches/{branch}/rename", "post">; + /** + * @see https://docs.github.com/rest/reference/checks#create-a-check-run + */ + "POST /repos/{owner}/{repo}/check-runs": Operation<"/repos/{owner}/{repo}/check-runs", "post">; + /** + * @see https://docs.github.com/rest/checks/runs#rerequest-a-check-run + */ + "POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest", "post">; + /** + * @see https://docs.github.com/rest/checks/suites#create-a-check-suite + */ + "POST /repos/{owner}/{repo}/check-suites": Operation<"/repos/{owner}/{repo}/check-suites", "post">; + /** + * @see https://docs.github.com/rest/checks/suites#rerequest-a-check-suite + */ + "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest": Operation<"/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest", "post">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#create-an-autofix-for-a-code-scanning-alert + */ + "POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix", "post">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#commit-an-autofix-for-a-code-scanning-alert + */ + "POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits", "post">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#create-a-codeql-variant-analysis + */ + "POST /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses": Operation<"/repos/{owner}/{repo}/code-scanning/codeql/variant-analyses", "post">; + /** + * @see https://docs.github.com/rest/code-scanning/code-scanning#upload-an-analysis-as-sarif-data + */ + "POST /repos/{owner}/{repo}/code-scanning/sarifs": Operation<"/repos/{owner}/{repo}/code-scanning/sarifs", "post">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#create-a-codespace-in-a-repository + */ + "POST /repos/{owner}/{repo}/codespaces": Operation<"/repos/{owner}/{repo}/codespaces", "post">; + /** + * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-commit-comment + */ + "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions", "post">; + /** + * @see https://docs.github.com/rest/commits/comments#create-a-commit-comment + */ + "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/comments", "post">; + /** + * @see https://docs.github.com/rest/dependency-graph/dependency-submission#create-a-snapshot-of-dependencies-for-a-repository + */ + "POST /repos/{owner}/{repo}/dependency-graph/snapshots": Operation<"/repos/{owner}/{repo}/dependency-graph/snapshots", "post">; + /** + * @see https://docs.github.com/rest/deployments/deployments#create-a-deployment + */ + "POST /repos/{owner}/{repo}/deployments": Operation<"/repos/{owner}/{repo}/deployments", "post">; + /** + * @see https://docs.github.com/rest/deployments/statuses#create-a-deployment-status + */ + "POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "post">; + /** + * @see https://docs.github.com/rest/repos/repos#create-a-repository-dispatch-event + */ + "POST /repos/{owner}/{repo}/dispatches": Operation<"/repos/{owner}/{repo}/dispatches", "post">; + /** + * @see https://docs.github.com/rest/deployments/branch-policies#create-a-deployment-branch-policy + */ + "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies", "post">; + /** + * @see https://docs.github.com/rest/deployments/protection-rules#create-a-custom-deployment-protection-rule-on-an-environment + */ + "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules", "post">; + /** + * @see https://docs.github.com/rest/actions/variables#create-an-environment-variable + */ + "POST /repos/{owner}/{repo}/environments/{environment_name}/variables": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/variables", "post">; + /** + * @see https://docs.github.com/rest/repos/forks#create-a-fork + */ + "POST /repos/{owner}/{repo}/forks": Operation<"/repos/{owner}/{repo}/forks", "post">; + /** + * @see https://docs.github.com/rest/git/blobs#create-a-blob + */ + "POST /repos/{owner}/{repo}/git/blobs": Operation<"/repos/{owner}/{repo}/git/blobs", "post">; + /** + * @see https://docs.github.com/rest/git/commits#create-a-commit + */ + "POST /repos/{owner}/{repo}/git/commits": Operation<"/repos/{owner}/{repo}/git/commits", "post">; + /** + * @see https://docs.github.com/rest/git/refs#create-a-reference + */ + "POST /repos/{owner}/{repo}/git/refs": Operation<"/repos/{owner}/{repo}/git/refs", "post">; + /** + * @see https://docs.github.com/rest/git/tags#create-a-tag-object + */ + "POST /repos/{owner}/{repo}/git/tags": Operation<"/repos/{owner}/{repo}/git/tags", "post">; + /** + * @see https://docs.github.com/rest/git/trees#create-a-tree + */ + "POST /repos/{owner}/{repo}/git/trees": Operation<"/repos/{owner}/{repo}/git/trees", "post">; + /** + * @see https://docs.github.com/rest/repos/webhooks#create-a-repository-webhook + */ + "POST /repos/{owner}/{repo}/hooks": Operation<"/repos/{owner}/{repo}/hooks", "post">; + /** + * @see https://docs.github.com/rest/repos/webhooks#redeliver-a-delivery-for-a-repository-webhook + */ + "POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts", "post">; + /** + * @see https://docs.github.com/rest/repos/webhooks#ping-a-repository-webhook + */ + "POST /repos/{owner}/{repo}/hooks/{hook_id}/pings": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/pings", "post">; + /** + * @see https://docs.github.com/rest/repos/webhooks#test-the-push-repository-webhook + */ + "POST /repos/{owner}/{repo}/hooks/{hook_id}/tests": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/tests", "post">; + /** + * @see https://docs.github.com/rest/issues/issues#create-an-issue + */ + "POST /repos/{owner}/{repo}/issues": Operation<"/repos/{owner}/{repo}/issues", "post">; + /** + * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-an-issue-comment + */ + "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "post">; + /** + * @see https://docs.github.com/rest/issues/assignees#add-assignees-to-an-issue + */ + "POST /repos/{owner}/{repo}/issues/{issue_number}/assignees": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/assignees", "post">; + /** + * @see https://docs.github.com/rest/issues/comments#create-an-issue-comment + */ + "POST /repos/{owner}/{repo}/issues/{issue_number}/comments": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/comments", "post">; + /** + * @see https://docs.github.com/rest/issues/labels#add-labels-to-an-issue + */ + "POST /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "post">; + /** + * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-an-issue + */ + "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions", "post">; + /** + * @see https://docs.github.com/rest/issues/sub-issues#add-sub-issue + */ + "POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/sub_issues", "post">; + /** + * @see https://docs.github.com/rest/deploy-keys/deploy-keys#create-a-deploy-key + */ + "POST /repos/{owner}/{repo}/keys": Operation<"/repos/{owner}/{repo}/keys", "post">; + /** + * @see https://docs.github.com/rest/issues/labels#create-a-label + */ + "POST /repos/{owner}/{repo}/labels": Operation<"/repos/{owner}/{repo}/labels", "post">; + /** + * @see https://docs.github.com/rest/branches/branches#sync-a-fork-branch-with-the-upstream-repository + */ + "POST /repos/{owner}/{repo}/merge-upstream": Operation<"/repos/{owner}/{repo}/merge-upstream", "post">; + /** + * @see https://docs.github.com/rest/branches/branches#merge-a-branch + */ + "POST /repos/{owner}/{repo}/merges": Operation<"/repos/{owner}/{repo}/merges", "post">; + /** + * @see https://docs.github.com/rest/issues/milestones#create-a-milestone + */ + "POST /repos/{owner}/{repo}/milestones": Operation<"/repos/{owner}/{repo}/milestones", "post">; + /** + * @see https://docs.github.com/rest/pages/pages#create-a-apiname-pages-site + */ + "POST /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "post">; + /** + * @see https://docs.github.com/rest/pages/pages#request-a-apiname-pages-build + */ + "POST /repos/{owner}/{repo}/pages/builds": Operation<"/repos/{owner}/{repo}/pages/builds", "post">; + /** + * @see https://docs.github.com/rest/pages/pages#create-a-github-pages-deployment + */ + "POST /repos/{owner}/{repo}/pages/deployments": Operation<"/repos/{owner}/{repo}/pages/deployments", "post">; + /** + * @see https://docs.github.com/rest/pages/pages#cancel-a-github-pages-deployment + */ + "POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel": Operation<"/repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel", "post">; + /** + * @see https://docs.github.com/rest/projects/projects#create-a-repository-project + */ + "POST /repos/{owner}/{repo}/projects": Operation<"/repos/{owner}/{repo}/projects", "post">; + /** + * @see https://docs.github.com/rest/pulls/pulls#create-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls": Operation<"/repos/{owner}/{repo}/pulls", "post">; + /** + * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-pull-request-review-comment + */ + "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "post">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#create-a-codespace-from-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/codespaces", "post">; + /** + * @see https://docs.github.com/rest/pulls/comments#create-a-review-comment-for-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/comments", "post">; + /** + * @see https://docs.github.com/rest/pulls/comments#create-a-reply-for-a-review-comment + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies", "post">; + /** + * @see https://docs.github.com/rest/reference/pulls#request-reviewers-for-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "post">; + /** + * @see https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews", "post">; + /** + * @see https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request + */ + "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events", "post">; + /** + * @see https://docs.github.com/rest/releases/releases#create-a-release + */ + "POST /repos/{owner}/{repo}/releases": Operation<"/repos/{owner}/{repo}/releases", "post">; + /** + * @see https://docs.github.com/rest/releases/releases#generate-release-notes-content-for-a-release + */ + "POST /repos/{owner}/{repo}/releases/generate-notes": Operation<"/repos/{owner}/{repo}/releases/generate-notes", "post">; + /** + * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-release + */ + "POST /repos/{owner}/{repo}/releases/{release_id}/reactions": Operation<"/repos/{owner}/{repo}/releases/{release_id}/reactions", "post">; + /** + * @see https://docs.github.com/rest/repos/rules#create-a-repository-ruleset + */ + "POST /repos/{owner}/{repo}/rulesets": Operation<"/repos/{owner}/{repo}/rulesets", "post">; + /** + * @see https://docs.github.com/rest/secret-scanning/secret-scanning#create-a-push-protection-bypass + */ + "POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses": Operation<"/repos/{owner}/{repo}/secret-scanning/push-protection-bypasses", "post">; + /** + * @see https://docs.github.com/rest/security-advisories/repository-advisories#create-a-repository-security-advisory + */ + "POST /repos/{owner}/{repo}/security-advisories": Operation<"/repos/{owner}/{repo}/security-advisories", "post">; + /** + * @see https://docs.github.com/rest/security-advisories/repository-advisories#privately-report-a-security-vulnerability + */ + "POST /repos/{owner}/{repo}/security-advisories/reports": Operation<"/repos/{owner}/{repo}/security-advisories/reports", "post">; + /** + * @see https://docs.github.com/rest/security-advisories/repository-advisories#request-a-cve-for-a-repository-security-advisory + */ + "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve": Operation<"/repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve", "post">; + /** + * @see https://docs.github.com/rest/security-advisories/repository-advisories#create-a-temporary-private-fork + */ + "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks": Operation<"/repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks", "post">; + /** + * @see https://docs.github.com/rest/commits/statuses#create-a-commit-status + */ + "POST /repos/{owner}/{repo}/statuses/{sha}": Operation<"/repos/{owner}/{repo}/statuses/{sha}", "post">; + /** + * @see https://docs.github.com/rest/repos/tags#closing-down---create-a-tag-protection-state-for-a-repository + */ + "POST /repos/{owner}/{repo}/tags/protection": Operation<"/repos/{owner}/{repo}/tags/protection", "post">; + /** + * @see https://docs.github.com/rest/repos/repos#transfer-a-repository + */ + "POST /repos/{owner}/{repo}/transfer": Operation<"/repos/{owner}/{repo}/transfer", "post">; + /** + * @see https://docs.github.com/rest/repos/repos#create-a-repository-using-a-template + */ + "POST /repos/{template_owner}/{template_repo}/generate": Operation<"/repos/{template_owner}/{template_repo}/generate", "post">; + /** + * @see https://docs.github.com/rest/teams/discussions#create-a-discussion-legacy + */ + "POST /teams/{team_id}/discussions": Operation<"/teams/{team_id}/discussions", "post">; + /** + * @see https://docs.github.com/rest/teams/discussion-comments#create-a-discussion-comment-legacy + */ + "POST /teams/{team_id}/discussions/{discussion_number}/comments": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments", "post">; + /** + * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion-comment-legacy + */ + "POST /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "post">; + /** + * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion-legacy + */ + "POST /teams/{team_id}/discussions/{discussion_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/reactions", "post">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#create-a-codespace-for-the-authenticated-user + */ + "POST /user/codespaces": Operation<"/user/codespaces", "post">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#export-a-codespace-for-the-authenticated-user + */ + "POST /user/codespaces/{codespace_name}/exports": Operation<"/user/codespaces/{codespace_name}/exports", "post">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#create-a-repository-from-an-unpublished-codespace + */ + "POST /user/codespaces/{codespace_name}/publish": Operation<"/user/codespaces/{codespace_name}/publish", "post">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#start-a-codespace-for-the-authenticated-user + */ + "POST /user/codespaces/{codespace_name}/start": Operation<"/user/codespaces/{codespace_name}/start", "post">; + /** + * @see https://docs.github.com/rest/codespaces/codespaces#stop-a-codespace-for-the-authenticated-user + */ + "POST /user/codespaces/{codespace_name}/stop": Operation<"/user/codespaces/{codespace_name}/stop", "post">; + /** + * @see https://docs.github.com/rest/users/emails#add-an-email-address-for-the-authenticated-user + */ + "POST /user/emails": Operation<"/user/emails", "post">; + /** + * @see https://docs.github.com/rest/users/gpg-keys#create-a-gpg-key-for-the-authenticated-user + */ + "POST /user/gpg_keys": Operation<"/user/gpg_keys", "post">; + /** + * @see https://docs.github.com/rest/users/keys#create-a-public-ssh-key-for-the-authenticated-user + */ + "POST /user/keys": Operation<"/user/keys", "post">; + /** + * @see https://docs.github.com/rest/migrations/users#start-a-user-migration + */ + "POST /user/migrations": Operation<"/user/migrations", "post">; + /** + * @see https://docs.github.com/rest/packages/packages#restore-a-package-for-the-authenticated-user + */ + "POST /user/packages/{package_type}/{package_name}/restore{?token}": Operation<"/user/packages/{package_type}/{package_name}/restore", "post">; + /** + * @see https://docs.github.com/rest/packages/packages#restore-a-package-version-for-the-authenticated-user + */ + "POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": Operation<"/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", "post">; + /** + * @see https://docs.github.com/rest/projects/projects#create-a-user-project + */ + "POST /user/projects": Operation<"/user/projects", "post">; + /** + * @see https://docs.github.com/rest/repos/repos#create-a-repository-for-the-authenticated-user + */ + "POST /user/repos": Operation<"/user/repos", "post">; + /** + * @see https://docs.github.com/rest/users/social-accounts#add-social-accounts-for-the-authenticated-user + */ + "POST /user/social_accounts": Operation<"/user/social_accounts", "post">; + /** + * @see https://docs.github.com/rest/users/ssh-signing-keys#create-a-ssh-signing-key-for-the-authenticated-user + */ + "POST /user/ssh_signing_keys": Operation<"/user/ssh_signing_keys", "post">; + /** + * @see https://docs.github.com/rest/packages/packages#restore-a-package-for-a-user + */ + "POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}": Operation<"/users/{username}/packages/{package_type}/{package_name}/restore", "post">; + /** + * @see https://docs.github.com/rest/packages/packages#restore-package-version-for-a-user + */ + "POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", "post">; + /** + * @see https://docs.github.com/rest/releases/assets#upload-a-release-asset + */ + "POST {origin}/repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}": Operation<"/repos/{owner}/{repo}/releases/{release_id}/assets", "post">; + /** + * @see https://docs.github.com/rest/apps/apps#suspend-an-app-installation + */ + "PUT /app/installations/{installation_id}/suspended": Operation<"/app/installations/{installation_id}/suspended", "put">; + /** + * @see https://docs.github.com/rest/code-security/configurations#set-a-code-security-configuration-as-a-default-for-an-enterprise + */ + "PUT /enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults": Operation<"/enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults", "put">; + /** + * @see https://docs.github.com/rest/gists/gists#star-a-gist + */ + "PUT /gists/{gist_id}/star": Operation<"/gists/{gist_id}/star", "put">; + /** + * @see https://docs.github.com/rest/activity/notifications#mark-notifications-as-read + */ + "PUT /notifications": Operation<"/notifications", "put">; + /** + * @see https://docs.github.com/rest/activity/notifications#set-a-thread-subscription + */ + "PUT /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "put">; + /** + * @see https://docs.github.com/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-an-organization + */ + "PUT /orgs/{org}/actions/oidc/customization/sub": Operation<"/orgs/{org}/actions/oidc/customization/sub", "put">; + /** + * @see https://docs.github.com/rest/actions/permissions#set-github-actions-permissions-for-an-organization + */ + "PUT /orgs/{org}/actions/permissions": Operation<"/orgs/{org}/actions/permissions", "put">; + /** + * @see https://docs.github.com/rest/actions/permissions#set-selected-repositories-enabled-for-github-actions-in-an-organization + */ + "PUT /orgs/{org}/actions/permissions/repositories": Operation<"/orgs/{org}/actions/permissions/repositories", "put">; + /** + * @see https://docs.github.com/rest/actions/permissions#enable-a-selected-repository-for-github-actions-in-an-organization + */ + "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}": Operation<"/orgs/{org}/actions/permissions/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/actions/permissions#set-allowed-actions-and-reusable-workflows-for-an-organization + */ + "PUT /orgs/{org}/actions/permissions/selected-actions": Operation<"/orgs/{org}/actions/permissions/selected-actions", "put">; + /** + * @see https://docs.github.com/rest/actions/permissions#set-default-workflow-permissions-for-an-organization + */ + "PUT /orgs/{org}/actions/permissions/workflow": Operation<"/orgs/{org}/actions/permissions/workflow", "put">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#set-repository-access-for-a-self-hosted-runner-group-in-an-organization + */ + "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories", "put">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#add-repository-access-to-a-self-hosted-runner-group-in-an-organization + */ + "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#set-self-hosted-runners-in-a-group-for-an-organization + */ + "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/runners": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/runners", "put">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runner-groups#add-a-self-hosted-runner-to-a-group-for-an-organization + */ + "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": Operation<"/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}", "put">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#set-custom-labels-for-a-self-hosted-runner-for-an-organization + */ + "PUT /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "put">; + /** + * @see https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret + */ + "PUT /orgs/{org}/actions/secrets/{secret_name}": Operation<"/orgs/{org}/actions/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/actions/secrets#set-selected-repositories-for-an-organization-secret + */ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories", "put">; + /** + * @see https://docs.github.com/rest/actions/secrets#add-selected-repository-to-an-organization-secret + */ + "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/actions/variables#set-selected-repositories-for-an-organization-variable + */ + "PUT /orgs/{org}/actions/variables/{name}/repositories": Operation<"/orgs/{org}/actions/variables/{name}/repositories", "put">; + /** + * @see https://docs.github.com/rest/actions/variables#add-selected-repository-to-an-organization-variable + */ + "PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/variables/{name}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/orgs/blocking#block-a-user-from-an-organization + */ + "PUT /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "put">; + /** + * @see https://docs.github.com/rest/code-security/configurations#set-a-code-security-configuration-as-a-default-for-an-organization + */ + "PUT /orgs/{org}/code-security/configurations/{configuration_id}/defaults": Operation<"/orgs/{org}/code-security/configurations/{configuration_id}/defaults", "put">; + /** + * @see https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces + */ + "PUT /orgs/{org}/codespaces/access": Operation<"/orgs/{org}/codespaces/access", "put">; + /** + * @see https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret + */ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}": Operation<"/orgs/{org}/codespaces/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/codespaces/organization-secrets#set-selected-repositories-for-an-organization-secret + */ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/codespaces/secrets/{secret_name}/repositories", "put">; + /** + * @see https://docs.github.com/rest/codespaces/organization-secrets#add-selected-repository-to-an-organization-secret + */ + "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret + */ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#set-selected-repositories-for-an-organization-secret + */ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}/repositories", "put">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#add-selected-repository-to-an-organization-secret + */ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/interactions/orgs#set-interaction-restrictions-for-an-organization + */ + "PUT /orgs/{org}/interaction-limits": Operation<"/orgs/{org}/interaction-limits", "put">; + /** + * @see https://docs.github.com/rest/orgs/issue-types#update-issue-type-for-an-organization + */ + "PUT /orgs/{org}/issue-types/{issue_type_id}": Operation<"/orgs/{org}/issue-types/{issue_type_id}", "put">; + /** + * @see https://docs.github.com/rest/orgs/members#set-organization-membership-for-a-user + */ + "PUT /orgs/{org}/memberships/{username}": Operation<"/orgs/{org}/memberships/{username}", "put">; + /** + * @see https://docs.github.com/rest/orgs/organization-roles#assign-an-organization-role-to-a-team + */ + "PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}": Operation<"/orgs/{org}/organization-roles/teams/{team_slug}/{role_id}", "put">; + /** + * @see https://docs.github.com/rest/orgs/organization-roles#assign-an-organization-role-to-a-user + */ + "PUT /orgs/{org}/organization-roles/users/{username}/{role_id}": Operation<"/orgs/{org}/organization-roles/users/{username}/{role_id}", "put">; + /** + * @see https://docs.github.com/rest/orgs/outside-collaborators#convert-an-organization-member-to-outside-collaborator + */ + "PUT /orgs/{org}/outside_collaborators/{username}": Operation<"/orgs/{org}/outside_collaborators/{username}", "put">; + /** + * @see https://docs.github.com/rest/orgs/custom-properties#create-or-update-a-custom-property-for-an-organization + */ + "PUT /orgs/{org}/properties/schema/{custom_property_name}": Operation<"/orgs/{org}/properties/schema/{custom_property_name}", "put">; + /** + * @see https://docs.github.com/rest/orgs/members#set-public-organization-membership-for-the-authenticated-user + */ + "PUT /orgs/{org}/public_members/{username}": Operation<"/orgs/{org}/public_members/{username}", "put">; + /** + * @see https://docs.github.com/rest/orgs/rules#update-an-organization-repository-ruleset + */ + "PUT /orgs/{org}/rulesets/{ruleset_id}": Operation<"/orgs/{org}/rulesets/{ruleset_id}", "put">; + /** + * @see https://docs.github.com/rest/orgs/security-managers#add-a-security-manager-team + */ + "PUT /orgs/{org}/security-managers/teams/{team_slug}": Operation<"/orgs/{org}/security-managers/teams/{team_slug}", "put">; + /** + * @see https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user + */ + "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}": Operation<"/orgs/{org}/teams/{team_slug}/memberships/{username}", "put">; + /** + * @see https://docs.github.com/rest/teams/teams#add-or-update-team-project-permissions + */ + "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}": Operation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "put">; + /** + * @see https://docs.github.com/rest/teams/teams#add-or-update-team-repository-permissions + */ + "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": Operation<"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "put">; + /** + * @see https://docs.github.com/rest/projects/collaborators#add-project-collaborator + */ + "PUT /projects/{project_id}/collaborators/{username}": Operation<"/projects/{project_id}/collaborators/{username}", "put">; + /** + * @see https://docs.github.com/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/oidc/customization/sub": Operation<"/repos/{owner}/{repo}/actions/oidc/customization/sub", "put">; + /** + * @see https://docs.github.com/rest/actions/permissions#set-github-actions-permissions-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/permissions": Operation<"/repos/{owner}/{repo}/actions/permissions", "put">; + /** + * @see https://docs.github.com/rest/actions/permissions#set-the-level-of-access-for-workflows-outside-of-the-repository + */ + "PUT /repos/{owner}/{repo}/actions/permissions/access": Operation<"/repos/{owner}/{repo}/actions/permissions/access", "put">; + /** + * @see https://docs.github.com/rest/actions/permissions#set-allowed-actions-and-reusable-workflows-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions": Operation<"/repos/{owner}/{repo}/actions/permissions/selected-actions", "put">; + /** + * @see https://docs.github.com/rest/actions/permissions#set-default-workflow-permissions-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/permissions/workflow": Operation<"/repos/{owner}/{repo}/actions/permissions/workflow", "put">; + /** + * @see https://docs.github.com/rest/actions/self-hosted-runners#set-custom-labels-for-a-self-hosted-runner-for-a-repository + */ + "PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "put">; + /** + * @see https://docs.github.com/rest/actions/secrets#create-or-update-a-repository-secret + */ + "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/actions/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/actions/workflows#disable-a-workflow + */ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable", "put">; + /** + * @see https://docs.github.com/rest/actions/workflows#enable-a-workflow + */ + "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable", "put">; + /** + * @see https://docs.github.com/rest/repos/repos#enable-dependabot-security-updates + */ + "PUT /repos/{owner}/{repo}/automated-security-fixes": Operation<"/repos/{owner}/{repo}/automated-security-fixes", "put">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#update-branch-protection + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection", "put">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#set-status-check-contexts + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "put">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#set-app-access-restrictions + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "put">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#set-team-access-restrictions + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "put">; + /** + * @see https://docs.github.com/rest/branches/branch-protection#set-user-access-restrictions + */ + "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "put">; + /** + * @see https://docs.github.com/rest/codespaces/repository-secrets#create-or-update-a-repository-secret + */ + "PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/codespaces/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/collaborators/collaborators#add-a-repository-collaborator + */ + "PUT /repos/{owner}/{repo}/collaborators/{username}": Operation<"/repos/{owner}/{repo}/collaborators/{username}", "put">; + /** + * @see https://docs.github.com/rest/repos/contents#create-or-update-file-contents + */ + "PUT /repos/{owner}/{repo}/contents/{path}": Operation<"/repos/{owner}/{repo}/contents/{path}", "put">; + /** + * @see https://docs.github.com/rest/dependabot/secrets#create-or-update-a-repository-secret + */ + "PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/dependabot/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/deployments/environments#create-or-update-an-environment + */ + "PUT /repos/{owner}/{repo}/environments/{environment_name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}", "put">; + /** + * @see https://docs.github.com/rest/deployments/branch-policies#update-a-deployment-branch-policy + */ + "PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}", "put">; + /** + * @see https://docs.github.com/rest/actions/secrets#create-or-update-an-environment-secret + */ + "PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/migrations/source-imports#start-an-import + */ + "PUT /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "put">; + /** + * @see https://docs.github.com/rest/interactions/repos#set-interaction-restrictions-for-a-repository + */ + "PUT /repos/{owner}/{repo}/interaction-limits": Operation<"/repos/{owner}/{repo}/interaction-limits", "put">; + /** + * @see https://docs.github.com/rest/issues/labels#set-labels-for-an-issue + */ + "PUT /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "put">; + /** + * @see https://docs.github.com/rest/issues/issues#lock-an-issue + */ + "PUT /repos/{owner}/{repo}/issues/{issue_number}/lock": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/lock", "put">; + /** + * @see https://docs.github.com/rest/activity/notifications#mark-repository-notifications-as-read + */ + "PUT /repos/{owner}/{repo}/notifications": Operation<"/repos/{owner}/{repo}/notifications", "put">; + /** + * @see https://docs.github.com/rest/pages/pages#update-information-about-a-apiname-pages-site + */ + "PUT /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "put">; + /** + * @see https://docs.github.com/rest/repos/repos#enable-private-vulnerability-reporting-for-a-repository + */ + "PUT /repos/{owner}/{repo}/private-vulnerability-reporting": Operation<"/repos/{owner}/{repo}/private-vulnerability-reporting", "put">; + /** + * @see https://docs.github.com/rest/pulls/pulls#merge-a-pull-request + */ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/merge", "put">; + /** + * @see https://docs.github.com/rest/pulls/reviews#update-a-review-for-a-pull-request + */ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", "put">; + /** + * @see https://docs.github.com/rest/pulls/reviews#dismiss-a-review-for-a-pull-request + */ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals", "put">; + /** + * @see https://docs.github.com/rest/pulls/pulls#update-a-pull-request-branch + */ + "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/update-branch", "put">; + /** + * @see https://docs.github.com/rest/repos/rules#update-a-repository-ruleset + */ + "PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}": Operation<"/repos/{owner}/{repo}/rulesets/{ruleset_id}", "put">; + /** + * @see https://docs.github.com/rest/activity/watching#set-a-repository-subscription + */ + "PUT /repos/{owner}/{repo}/subscription": Operation<"/repos/{owner}/{repo}/subscription", "put">; + /** + * @see https://docs.github.com/rest/repos/repos#replace-all-repository-topics + */ + "PUT /repos/{owner}/{repo}/topics": Operation<"/repos/{owner}/{repo}/topics", "put">; + /** + * @see https://docs.github.com/rest/repos/repos#enable-vulnerability-alerts + */ + "PUT /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "put">; + /** + * @see https://docs.github.com/rest/teams/members#add-team-member-legacy + */ + "PUT /teams/{team_id}/members/{username}": Operation<"/teams/{team_id}/members/{username}", "put">; + /** + * @see https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user-legacy + */ + "PUT /teams/{team_id}/memberships/{username}": Operation<"/teams/{team_id}/memberships/{username}", "put">; + /** + * @see https://docs.github.com/rest/teams/teams#add-or-update-team-project-permissions-legacy + */ + "PUT /teams/{team_id}/projects/{project_id}": Operation<"/teams/{team_id}/projects/{project_id}", "put">; + /** + * @see https://docs.github.com/rest/teams/teams#add-or-update-team-repository-permissions-legacy + */ + "PUT /teams/{team_id}/repos/{owner}/{repo}": Operation<"/teams/{team_id}/repos/{owner}/{repo}", "put">; + /** + * @see https://docs.github.com/rest/users/blocking#block-a-user + */ + "PUT /user/blocks/{username}": Operation<"/user/blocks/{username}", "put">; + /** + * @see https://docs.github.com/rest/codespaces/secrets#create-or-update-a-secret-for-the-authenticated-user + */ + "PUT /user/codespaces/secrets/{secret_name}": Operation<"/user/codespaces/secrets/{secret_name}", "put">; + /** + * @see https://docs.github.com/rest/codespaces/secrets#set-selected-repositories-for-a-user-secret + */ + "PUT /user/codespaces/secrets/{secret_name}/repositories": Operation<"/user/codespaces/secrets/{secret_name}/repositories", "put">; + /** + * @see https://docs.github.com/rest/codespaces/secrets#add-a-selected-repository-to-a-user-secret + */ + "PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}": Operation<"/user/codespaces/secrets/{secret_name}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/users/followers#follow-a-user + */ + "PUT /user/following/{username}": Operation<"/user/following/{username}", "put">; + /** + * @see https://docs.github.com/rest/apps/installations#add-a-repository-to-an-app-installation + */ + "PUT /user/installations/{installation_id}/repositories/{repository_id}": Operation<"/user/installations/{installation_id}/repositories/{repository_id}", "put">; + /** + * @see https://docs.github.com/rest/interactions/user#set-interaction-restrictions-for-your-public-repositories + */ + "PUT /user/interaction-limits": Operation<"/user/interaction-limits", "put">; + /** + * @see https://docs.github.com/rest/activity/starring#star-a-repository-for-the-authenticated-user + */ + "PUT /user/starred/{owner}/{repo}": Operation<"/user/starred/{owner}/{repo}", "put">; +} +export {}; diff --git a/dist/node_modules/@octokit/types/dist-types/index.d.ts b/dist/node_modules/@octokit/types/dist-types/index.d.ts new file mode 100644 index 00000000..a640e7c9 --- /dev/null +++ b/dist/node_modules/@octokit/types/dist-types/index.d.ts @@ -0,0 +1,20 @@ +export * from "./AuthInterface.js"; +export * from "./EndpointDefaults.js"; +export * from "./EndpointInterface.js"; +export * from "./EndpointOptions.js"; +export * from "./Fetch.js"; +export * from "./OctokitResponse.js"; +export * from "./RequestError.js"; +export * from "./RequestHeaders.js"; +export * from "./RequestInterface.js"; +export * from "./RequestMethod.js"; +export * from "./RequestOptions.js"; +export * from "./RequestParameters.js"; +export * from "./RequestRequestOptions.js"; +export * from "./ResponseHeaders.js"; +export * from "./Route.js"; +export * from "./StrategyInterface.js"; +export * from "./Url.js"; +export * from "./VERSION.js"; +export * from "./GetResponseTypeFromEndpointMethod.js"; +export * from "./generated/Endpoints.js"; diff --git a/dist/node_modules/@octokit/types/package.json b/dist/node_modules/@octokit/types/package.json new file mode 100644 index 00000000..323f8c9c --- /dev/null +++ b/dist/node_modules/@octokit/types/package.json @@ -0,0 +1,42 @@ +{ + "name": "@octokit/types", + "version": "13.10.0", + "publishConfig": { + "access": "public", + "provenance": true + }, + "description": "Shared TypeScript definitions for Octokit projects", + "dependencies": { + "@octokit/openapi-types": "^24.2.0" + }, + "repository": "github:octokit/types.ts", + "keywords": [ + "github", + "api", + "sdk", + "toolkit", + "typescript" + ], + "author": "Gregor Martynus (https://twitter.com/gr2m)", + "license": "MIT", + "devDependencies": { + "@octokit/tsconfig": "^4.0.0", + "github-openapi-graphql-query": "^4.5.0", + "handlebars": "^4.7.6", + "npm-run-all2": "^7.0.0", + "prettier": "^3.0.0", + "semantic-release": "^24.0.0", + "semantic-release-plugin-update-version-in-files": "^2.0.0", + "sort-keys": "^5.0.0", + "typedoc": "^0.26.0", + "typescript": "^5.0.0" + }, + "octokit": { + "openapi-version": "18.2.0" + }, + "files": [ + "dist-types/**" + ], + "types": "dist-types/index.d.ts", + "sideEffects": false +} diff --git a/dist/node_modules/asynckit/LICENSE b/dist/node_modules/asynckit/LICENSE new file mode 100644 index 00000000..c9eca5dd --- /dev/null +++ b/dist/node_modules/asynckit/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Alex Indigo + +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. diff --git a/dist/node_modules/asynckit/README.md b/dist/node_modules/asynckit/README.md new file mode 100644 index 00000000..ddcc7e6b --- /dev/null +++ b/dist/node_modules/asynckit/README.md @@ -0,0 +1,233 @@ +# asynckit [![NPM Module](https://img.shields.io/npm/v/asynckit.svg?style=flat)](https://www.npmjs.com/package/asynckit) + +Minimal async jobs utility library, with streams support. + +[![PhantomJS Build](https://img.shields.io/travis/alexindigo/asynckit/v0.4.0.svg?label=browser&style=flat)](https://travis-ci.org/alexindigo/asynckit) +[![Linux Build](https://img.shields.io/travis/alexindigo/asynckit/v0.4.0.svg?label=linux:0.12-6.x&style=flat)](https://travis-ci.org/alexindigo/asynckit) +[![Windows Build](https://img.shields.io/appveyor/ci/alexindigo/asynckit/v0.4.0.svg?label=windows:0.12-6.x&style=flat)](https://ci.appveyor.com/project/alexindigo/asynckit) + +[![Coverage Status](https://img.shields.io/coveralls/alexindigo/asynckit/v0.4.0.svg?label=code+coverage&style=flat)](https://coveralls.io/github/alexindigo/asynckit?branch=master) +[![Dependency Status](https://img.shields.io/david/alexindigo/asynckit/v0.4.0.svg?style=flat)](https://david-dm.org/alexindigo/asynckit) +[![bitHound Overall Score](https://www.bithound.io/github/alexindigo/asynckit/badges/score.svg)](https://www.bithound.io/github/alexindigo/asynckit) + + + +AsyncKit provides harness for `parallel` and `serial` iterators over list of items represented by arrays or objects. +Optionally it accepts abort function (should be synchronously return by iterator for each item), and terminates left over jobs upon an error event. For specific iteration order built-in (`ascending` and `descending`) and custom sort helpers also supported, via `asynckit.serialOrdered` method. + +It ensures async operations to keep behavior more stable and prevent `Maximum call stack size exceeded` errors, from sync iterators. + +| compression | size | +| :----------------- | -------: | +| asynckit.js | 12.34 kB | +| asynckit.min.js | 4.11 kB | +| asynckit.min.js.gz | 1.47 kB | + + +## Install + +```sh +$ npm install --save asynckit +``` + +## Examples + +### Parallel Jobs + +Runs iterator over provided array in parallel. Stores output in the `result` array, +on the matching positions. In unlikely event of an error from one of the jobs, +will terminate rest of the active jobs (if abort function is provided) +and return error along with salvaged data to the main callback function. + +#### Input Array + +```javascript +var parallel = require('asynckit').parallel + , assert = require('assert') + ; + +var source = [ 1, 1, 4, 16, 64, 32, 8, 2 ] + , expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ] + , expectedTarget = [ 1, 1, 2, 4, 8, 16, 32, 64 ] + , target = [] + ; + +parallel(source, asyncJob, function(err, result) +{ + assert.deepEqual(result, expectedResult); + assert.deepEqual(target, expectedTarget); +}); + +// async job accepts one element from the array +// and a callback function +function asyncJob(item, cb) +{ + // different delays (in ms) per item + var delay = item * 25; + + // pretend different jobs take different time to finish + // and not in consequential order + var timeoutId = setTimeout(function() { + target.push(item); + cb(null, item * 2); + }, delay); + + // allow to cancel "leftover" jobs upon error + // return function, invoking of which will abort this job + return clearTimeout.bind(null, timeoutId); +} +``` + +More examples could be found in [test/test-parallel-array.js](test/test-parallel-array.js). + +#### Input Object + +Also it supports named jobs, listed via object. + +```javascript +var parallel = require('asynckit/parallel') + , assert = require('assert') + ; + +var source = { first: 1, one: 1, four: 4, sixteen: 16, sixtyFour: 64, thirtyTwo: 32, eight: 8, two: 2 } + , expectedResult = { first: 2, one: 2, four: 8, sixteen: 32, sixtyFour: 128, thirtyTwo: 64, eight: 16, two: 4 } + , expectedTarget = [ 1, 1, 2, 4, 8, 16, 32, 64 ] + , expectedKeys = [ 'first', 'one', 'two', 'four', 'eight', 'sixteen', 'thirtyTwo', 'sixtyFour' ] + , target = [] + , keys = [] + ; + +parallel(source, asyncJob, function(err, result) +{ + assert.deepEqual(result, expectedResult); + assert.deepEqual(target, expectedTarget); + assert.deepEqual(keys, expectedKeys); +}); + +// supports full value, key, callback (shortcut) interface +function asyncJob(item, key, cb) +{ + // different delays (in ms) per item + var delay = item * 25; + + // pretend different jobs take different time to finish + // and not in consequential order + var timeoutId = setTimeout(function() { + keys.push(key); + target.push(item); + cb(null, item * 2); + }, delay); + + // allow to cancel "leftover" jobs upon error + // return function, invoking of which will abort this job + return clearTimeout.bind(null, timeoutId); +} +``` + +More examples could be found in [test/test-parallel-object.js](test/test-parallel-object.js). + +### Serial Jobs + +Runs iterator over provided array sequentially. Stores output in the `result` array, +on the matching positions. In unlikely event of an error from one of the jobs, +will not proceed to the rest of the items in the list +and return error along with salvaged data to the main callback function. + +#### Input Array + +```javascript +var serial = require('asynckit/serial') + , assert = require('assert') + ; + +var source = [ 1, 1, 4, 16, 64, 32, 8, 2 ] + , expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ] + , expectedTarget = [ 0, 1, 2, 3, 4, 5, 6, 7 ] + , target = [] + ; + +serial(source, asyncJob, function(err, result) +{ + assert.deepEqual(result, expectedResult); + assert.deepEqual(target, expectedTarget); +}); + +// extended interface (item, key, callback) +// also supported for arrays +function asyncJob(item, key, cb) +{ + target.push(key); + + // it will be automatically made async + // even it iterator "returns" in the same event loop + cb(null, item * 2); +} +``` + +More examples could be found in [test/test-serial-array.js](test/test-serial-array.js). + +#### Input Object + +Also it supports named jobs, listed via object. + +```javascript +var serial = require('asynckit').serial + , assert = require('assert') + ; + +var source = [ 1, 1, 4, 16, 64, 32, 8, 2 ] + , expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ] + , expectedTarget = [ 0, 1, 2, 3, 4, 5, 6, 7 ] + , target = [] + ; + +var source = { first: 1, one: 1, four: 4, sixteen: 16, sixtyFour: 64, thirtyTwo: 32, eight: 8, two: 2 } + , expectedResult = { first: 2, one: 2, four: 8, sixteen: 32, sixtyFour: 128, thirtyTwo: 64, eight: 16, two: 4 } + , expectedTarget = [ 1, 1, 4, 16, 64, 32, 8, 2 ] + , target = [] + ; + + +serial(source, asyncJob, function(err, result) +{ + assert.deepEqual(result, expectedResult); + assert.deepEqual(target, expectedTarget); +}); + +// shortcut interface (item, callback) +// works for object as well as for the arrays +function asyncJob(item, cb) +{ + target.push(item); + + // it will be automatically made async + // even it iterator "returns" in the same event loop + cb(null, item * 2); +} +``` + +More examples could be found in [test/test-serial-object.js](test/test-serial-object.js). + +_Note: Since _object_ is an _unordered_ collection of properties, +it may produce unexpected results with sequential iterations. +Whenever order of the jobs' execution is important please use `serialOrdered` method._ + +### Ordered Serial Iterations + +TBD + +For example [compare-property](compare-property) package. + +### Streaming interface + +TBD + +## Want to Know More? + +More examples can be found in [test folder](test/). + +Or open an [issue](https://github.com/alexindigo/asynckit/issues) with questions and/or suggestions. + +## License + +AsyncKit is licensed under the MIT license. diff --git a/dist/node_modules/asynckit/bench.js b/dist/node_modules/asynckit/bench.js new file mode 100644 index 00000000..c612f1a5 --- /dev/null +++ b/dist/node_modules/asynckit/bench.js @@ -0,0 +1,76 @@ +/* eslint no-console: "off" */ + +var asynckit = require('./') + , async = require('async') + , assert = require('assert') + , expected = 0 + ; + +var Benchmark = require('benchmark'); +var suite = new Benchmark.Suite; + +var source = []; +for (var z = 1; z < 100; z++) +{ + source.push(z); + expected += z; +} + +suite +// add tests + +.add('async.map', function(deferred) +{ + var total = 0; + + async.map(source, + function(i, cb) + { + setImmediate(function() + { + total += i; + cb(null, total); + }); + }, + function(err, result) + { + assert.ifError(err); + assert.equal(result[result.length - 1], expected); + deferred.resolve(); + }); +}, {'defer': true}) + + +.add('asynckit.parallel', function(deferred) +{ + var total = 0; + + asynckit.parallel(source, + function(i, cb) + { + setImmediate(function() + { + total += i; + cb(null, total); + }); + }, + function(err, result) + { + assert.ifError(err); + assert.equal(result[result.length - 1], expected); + deferred.resolve(); + }); +}, {'defer': true}) + + +// add listeners +.on('cycle', function(ev) +{ + console.log(String(ev.target)); +}) +.on('complete', function() +{ + console.log('Fastest is ' + this.filter('fastest').map('name')); +}) +// run async +.run({ 'async': true }); diff --git a/dist/node_modules/asynckit/index.js b/dist/node_modules/asynckit/index.js new file mode 100644 index 00000000..455f9454 --- /dev/null +++ b/dist/node_modules/asynckit/index.js @@ -0,0 +1,6 @@ +module.exports = +{ + parallel : require('./parallel.js'), + serial : require('./serial.js'), + serialOrdered : require('./serialOrdered.js') +}; diff --git a/dist/node_modules/asynckit/lib/abort.js b/dist/node_modules/asynckit/lib/abort.js new file mode 100644 index 00000000..114367e5 --- /dev/null +++ b/dist/node_modules/asynckit/lib/abort.js @@ -0,0 +1,29 @@ +// API +module.exports = abort; + +/** + * Aborts leftover active jobs + * + * @param {object} state - current state object + */ +function abort(state) +{ + Object.keys(state.jobs).forEach(clean.bind(state)); + + // reset leftover jobs + state.jobs = {}; +} + +/** + * Cleans up leftover job by invoking abort function for the provided job id + * + * @this state + * @param {string|number} key - job id to abort + */ +function clean(key) +{ + if (typeof this.jobs[key] == 'function') + { + this.jobs[key](); + } +} diff --git a/dist/node_modules/asynckit/lib/async.js b/dist/node_modules/asynckit/lib/async.js new file mode 100644 index 00000000..7f1288a4 --- /dev/null +++ b/dist/node_modules/asynckit/lib/async.js @@ -0,0 +1,34 @@ +var defer = require('./defer.js'); + +// API +module.exports = async; + +/** + * Runs provided callback asynchronously + * even if callback itself is not + * + * @param {function} callback - callback to invoke + * @returns {function} - augmented callback + */ +function async(callback) +{ + var isAsync = false; + + // check if async happened + defer(function() { isAsync = true; }); + + return function async_callback(err, result) + { + if (isAsync) + { + callback(err, result); + } + else + { + defer(function nextTick_callback() + { + callback(err, result); + }); + } + }; +} diff --git a/dist/node_modules/asynckit/lib/defer.js b/dist/node_modules/asynckit/lib/defer.js new file mode 100644 index 00000000..b67110c7 --- /dev/null +++ b/dist/node_modules/asynckit/lib/defer.js @@ -0,0 +1,26 @@ +module.exports = defer; + +/** + * Runs provided function on next iteration of the event loop + * + * @param {function} fn - function to run + */ +function defer(fn) +{ + var nextTick = typeof setImmediate == 'function' + ? setImmediate + : ( + typeof process == 'object' && typeof process.nextTick == 'function' + ? process.nextTick + : null + ); + + if (nextTick) + { + nextTick(fn); + } + else + { + setTimeout(fn, 0); + } +} diff --git a/dist/node_modules/asynckit/lib/iterate.js b/dist/node_modules/asynckit/lib/iterate.js new file mode 100644 index 00000000..5d2839a5 --- /dev/null +++ b/dist/node_modules/asynckit/lib/iterate.js @@ -0,0 +1,75 @@ +var async = require('./async.js') + , abort = require('./abort.js') + ; + +// API +module.exports = iterate; + +/** + * Iterates over each job object + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {object} state - current job status + * @param {function} callback - invoked when all elements processed + */ +function iterate(list, iterator, state, callback) +{ + // store current index + var key = state['keyedList'] ? state['keyedList'][state.index] : state.index; + + state.jobs[key] = runJob(iterator, key, list[key], function(error, output) + { + // don't repeat yourself + // skip secondary callbacks + if (!(key in state.jobs)) + { + return; + } + + // clean up jobs + delete state.jobs[key]; + + if (error) + { + // don't process rest of the results + // stop still active jobs + // and reset the list + abort(state); + } + else + { + state.results[key] = output; + } + + // return salvaged results + callback(error, state.results); + }); +} + +/** + * Runs iterator over provided job element + * + * @param {function} iterator - iterator to invoke + * @param {string|number} key - key/index of the element in the list of jobs + * @param {mixed} item - job description + * @param {function} callback - invoked after iterator is done with the job + * @returns {function|mixed} - job abort function or something else + */ +function runJob(iterator, key, item, callback) +{ + var aborter; + + // allow shortcut if iterator expects only two arguments + if (iterator.length == 2) + { + aborter = iterator(item, async(callback)); + } + // otherwise go with full three arguments + else + { + aborter = iterator(item, key, async(callback)); + } + + return aborter; +} diff --git a/dist/node_modules/asynckit/lib/readable_asynckit.js b/dist/node_modules/asynckit/lib/readable_asynckit.js new file mode 100644 index 00000000..78ad240f --- /dev/null +++ b/dist/node_modules/asynckit/lib/readable_asynckit.js @@ -0,0 +1,91 @@ +var streamify = require('./streamify.js') + , defer = require('./defer.js') + ; + +// API +module.exports = ReadableAsyncKit; + +/** + * Base constructor for all streams + * used to hold properties/methods + */ +function ReadableAsyncKit() +{ + ReadableAsyncKit.super_.apply(this, arguments); + + // list of active jobs + this.jobs = {}; + + // add stream methods + this.destroy = destroy; + this._start = _start; + this._read = _read; +} + +/** + * Destroys readable stream, + * by aborting outstanding jobs + * + * @returns {void} + */ +function destroy() +{ + if (this.destroyed) + { + return; + } + + this.destroyed = true; + + if (typeof this.terminator == 'function') + { + this.terminator(); + } +} + +/** + * Starts provided jobs in async manner + * + * @private + */ +function _start() +{ + // first argument – runner function + var runner = arguments[0] + // take away first argument + , args = Array.prototype.slice.call(arguments, 1) + // second argument - input data + , input = args[0] + // last argument - result callback + , endCb = streamify.callback.call(this, args[args.length - 1]) + ; + + args[args.length - 1] = endCb; + // third argument - iterator + args[1] = streamify.iterator.call(this, args[1]); + + // allow time for proper setup + defer(function() + { + if (!this.destroyed) + { + this.terminator = runner.apply(null, args); + } + else + { + endCb(null, Array.isArray(input) ? [] : {}); + } + }.bind(this)); +} + + +/** + * Implement _read to comply with Readable streams + * Doesn't really make sense for flowing object mode + * + * @private + */ +function _read() +{ + +} diff --git a/dist/node_modules/asynckit/lib/readable_parallel.js b/dist/node_modules/asynckit/lib/readable_parallel.js new file mode 100644 index 00000000..5d2929f7 --- /dev/null +++ b/dist/node_modules/asynckit/lib/readable_parallel.js @@ -0,0 +1,25 @@ +var parallel = require('../parallel.js'); + +// API +module.exports = ReadableParallel; + +/** + * Streaming wrapper to `asynckit.parallel` + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {function} callback - invoked when all elements processed + * @returns {stream.Readable#} + */ +function ReadableParallel(list, iterator, callback) +{ + if (!(this instanceof ReadableParallel)) + { + return new ReadableParallel(list, iterator, callback); + } + + // turn on object mode + ReadableParallel.super_.call(this, {objectMode: true}); + + this._start(parallel, list, iterator, callback); +} diff --git a/dist/node_modules/asynckit/lib/readable_serial.js b/dist/node_modules/asynckit/lib/readable_serial.js new file mode 100644 index 00000000..78226982 --- /dev/null +++ b/dist/node_modules/asynckit/lib/readable_serial.js @@ -0,0 +1,25 @@ +var serial = require('../serial.js'); + +// API +module.exports = ReadableSerial; + +/** + * Streaming wrapper to `asynckit.serial` + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {function} callback - invoked when all elements processed + * @returns {stream.Readable#} + */ +function ReadableSerial(list, iterator, callback) +{ + if (!(this instanceof ReadableSerial)) + { + return new ReadableSerial(list, iterator, callback); + } + + // turn on object mode + ReadableSerial.super_.call(this, {objectMode: true}); + + this._start(serial, list, iterator, callback); +} diff --git a/dist/node_modules/asynckit/lib/readable_serial_ordered.js b/dist/node_modules/asynckit/lib/readable_serial_ordered.js new file mode 100644 index 00000000..3de89c47 --- /dev/null +++ b/dist/node_modules/asynckit/lib/readable_serial_ordered.js @@ -0,0 +1,29 @@ +var serialOrdered = require('../serialOrdered.js'); + +// API +module.exports = ReadableSerialOrdered; +// expose sort helpers +module.exports.ascending = serialOrdered.ascending; +module.exports.descending = serialOrdered.descending; + +/** + * Streaming wrapper to `asynckit.serialOrdered` + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {function} sortMethod - custom sort function + * @param {function} callback - invoked when all elements processed + * @returns {stream.Readable#} + */ +function ReadableSerialOrdered(list, iterator, sortMethod, callback) +{ + if (!(this instanceof ReadableSerialOrdered)) + { + return new ReadableSerialOrdered(list, iterator, sortMethod, callback); + } + + // turn on object mode + ReadableSerialOrdered.super_.call(this, {objectMode: true}); + + this._start(serialOrdered, list, iterator, sortMethod, callback); +} diff --git a/dist/node_modules/asynckit/lib/state.js b/dist/node_modules/asynckit/lib/state.js new file mode 100644 index 00000000..cbea7ad8 --- /dev/null +++ b/dist/node_modules/asynckit/lib/state.js @@ -0,0 +1,37 @@ +// API +module.exports = state; + +/** + * Creates initial state object + * for iteration over list + * + * @param {array|object} list - list to iterate over + * @param {function|null} sortMethod - function to use for keys sort, + * or `null` to keep them as is + * @returns {object} - initial state object + */ +function state(list, sortMethod) +{ + var isNamedList = !Array.isArray(list) + , initState = + { + index : 0, + keyedList: isNamedList || sortMethod ? Object.keys(list) : null, + jobs : {}, + results : isNamedList ? {} : [], + size : isNamedList ? Object.keys(list).length : list.length + } + ; + + if (sortMethod) + { + // sort array keys based on it's values + // sort object's keys just on own merit + initState.keyedList.sort(isNamedList ? sortMethod : function(a, b) + { + return sortMethod(list[a], list[b]); + }); + } + + return initState; +} diff --git a/dist/node_modules/asynckit/lib/streamify.js b/dist/node_modules/asynckit/lib/streamify.js new file mode 100644 index 00000000..f56a1c92 --- /dev/null +++ b/dist/node_modules/asynckit/lib/streamify.js @@ -0,0 +1,141 @@ +var async = require('./async.js'); + +// API +module.exports = { + iterator: wrapIterator, + callback: wrapCallback +}; + +/** + * Wraps iterators with long signature + * + * @this ReadableAsyncKit# + * @param {function} iterator - function to wrap + * @returns {function} - wrapped function + */ +function wrapIterator(iterator) +{ + var stream = this; + + return function(item, key, cb) + { + var aborter + , wrappedCb = async(wrapIteratorCallback.call(stream, cb, key)) + ; + + stream.jobs[key] = wrappedCb; + + // it's either shortcut (item, cb) + if (iterator.length == 2) + { + aborter = iterator(item, wrappedCb); + } + // or long format (item, key, cb) + else + { + aborter = iterator(item, key, wrappedCb); + } + + return aborter; + }; +} + +/** + * Wraps provided callback function + * allowing to execute snitch function before + * real callback + * + * @this ReadableAsyncKit# + * @param {function} callback - function to wrap + * @returns {function} - wrapped function + */ +function wrapCallback(callback) +{ + var stream = this; + + var wrapped = function(error, result) + { + return finisher.call(stream, error, result, callback); + }; + + return wrapped; +} + +/** + * Wraps provided iterator callback function + * makes sure snitch only called once, + * but passes secondary calls to the original callback + * + * @this ReadableAsyncKit# + * @param {function} callback - callback to wrap + * @param {number|string} key - iteration key + * @returns {function} wrapped callback + */ +function wrapIteratorCallback(callback, key) +{ + var stream = this; + + return function(error, output) + { + // don't repeat yourself + if (!(key in stream.jobs)) + { + callback(error, output); + return; + } + + // clean up jobs + delete stream.jobs[key]; + + return streamer.call(stream, error, {key: key, value: output}, callback); + }; +} + +/** + * Stream wrapper for iterator callback + * + * @this ReadableAsyncKit# + * @param {mixed} error - error response + * @param {mixed} output - iterator output + * @param {function} callback - callback that expects iterator results + */ +function streamer(error, output, callback) +{ + if (error && !this.error) + { + this.error = error; + this.pause(); + this.emit('error', error); + // send back value only, as expected + callback(error, output && output.value); + return; + } + + // stream stuff + this.push(output); + + // back to original track + // send back value only, as expected + callback(error, output && output.value); +} + +/** + * Stream wrapper for finishing callback + * + * @this ReadableAsyncKit# + * @param {mixed} error - error response + * @param {mixed} output - iterator output + * @param {function} callback - callback that expects final results + */ +function finisher(error, output, callback) +{ + // signal end of the stream + // only for successfully finished streams + if (!error) + { + this.push(null); + } + + // back to original track + callback(error, output); +} diff --git a/dist/node_modules/asynckit/lib/terminator.js b/dist/node_modules/asynckit/lib/terminator.js new file mode 100644 index 00000000..d6eb9921 --- /dev/null +++ b/dist/node_modules/asynckit/lib/terminator.js @@ -0,0 +1,29 @@ +var abort = require('./abort.js') + , async = require('./async.js') + ; + +// API +module.exports = terminator; + +/** + * Terminates jobs in the attached state context + * + * @this AsyncKitState# + * @param {function} callback - final callback to invoke after termination + */ +function terminator(callback) +{ + if (!Object.keys(this.jobs).length) + { + return; + } + + // fast forward iteration index + this.index = this.size; + + // abort jobs + abort(this); + + // send back results we have so far + async(callback)(null, this.results); +} diff --git a/dist/node_modules/asynckit/package.json b/dist/node_modules/asynckit/package.json new file mode 100644 index 00000000..51147d65 --- /dev/null +++ b/dist/node_modules/asynckit/package.json @@ -0,0 +1,63 @@ +{ + "name": "asynckit", + "version": "0.4.0", + "description": "Minimal async jobs utility library, with streams support", + "main": "index.js", + "scripts": { + "clean": "rimraf coverage", + "lint": "eslint *.js lib/*.js test/*.js", + "test": "istanbul cover --reporter=json tape -- 'test/test-*.js' | tap-spec", + "win-test": "tape test/test-*.js", + "browser": "browserify -t browserify-istanbul test/lib/browserify_adjustment.js test/test-*.js | obake --coverage | tap-spec", + "report": "istanbul report", + "size": "browserify index.js | size-table asynckit", + "debug": "tape test/test-*.js" + }, + "pre-commit": [ + "clean", + "lint", + "test", + "browser", + "report", + "size" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/alexindigo/asynckit.git" + }, + "keywords": [ + "async", + "jobs", + "parallel", + "serial", + "iterator", + "array", + "object", + "stream", + "destroy", + "terminate", + "abort" + ], + "author": "Alex Indigo ", + "license": "MIT", + "bugs": { + "url": "https://github.com/alexindigo/asynckit/issues" + }, + "homepage": "https://github.com/alexindigo/asynckit#readme", + "devDependencies": { + "browserify": "^13.0.0", + "browserify-istanbul": "^2.0.0", + "coveralls": "^2.11.9", + "eslint": "^2.9.0", + "istanbul": "^0.4.3", + "obake": "^0.1.2", + "phantomjs-prebuilt": "^2.1.7", + "pre-commit": "^1.1.3", + "reamde": "^1.1.0", + "rimraf": "^2.5.2", + "size-table": "^0.2.0", + "tap-spec": "^4.1.1", + "tape": "^4.5.1" + }, + "dependencies": {} +} diff --git a/dist/node_modules/asynckit/parallel.js b/dist/node_modules/asynckit/parallel.js new file mode 100644 index 00000000..3c50344d --- /dev/null +++ b/dist/node_modules/asynckit/parallel.js @@ -0,0 +1,43 @@ +var iterate = require('./lib/iterate.js') + , initState = require('./lib/state.js') + , terminator = require('./lib/terminator.js') + ; + +// Public API +module.exports = parallel; + +/** + * Runs iterator over provided array elements in parallel + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {function} callback - invoked when all elements processed + * @returns {function} - jobs terminator + */ +function parallel(list, iterator, callback) +{ + var state = initState(list); + + while (state.index < (state['keyedList'] || list).length) + { + iterate(list, iterator, state, function(error, result) + { + if (error) + { + callback(error, result); + return; + } + + // looks like it's the last one + if (Object.keys(state.jobs).length === 0) + { + callback(null, state.results); + return; + } + }); + + state.index++; + } + + return terminator.bind(state, callback); +} diff --git a/dist/node_modules/asynckit/serial.js b/dist/node_modules/asynckit/serial.js new file mode 100644 index 00000000..6cd949a6 --- /dev/null +++ b/dist/node_modules/asynckit/serial.js @@ -0,0 +1,17 @@ +var serialOrdered = require('./serialOrdered.js'); + +// Public API +module.exports = serial; + +/** + * Runs iterator over provided array elements in series + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {function} callback - invoked when all elements processed + * @returns {function} - jobs terminator + */ +function serial(list, iterator, callback) +{ + return serialOrdered(list, iterator, null, callback); +} diff --git a/dist/node_modules/asynckit/serialOrdered.js b/dist/node_modules/asynckit/serialOrdered.js new file mode 100644 index 00000000..607eafea --- /dev/null +++ b/dist/node_modules/asynckit/serialOrdered.js @@ -0,0 +1,75 @@ +var iterate = require('./lib/iterate.js') + , initState = require('./lib/state.js') + , terminator = require('./lib/terminator.js') + ; + +// Public API +module.exports = serialOrdered; +// sorting helpers +module.exports.ascending = ascending; +module.exports.descending = descending; + +/** + * Runs iterator over provided sorted array elements in series + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {function} sortMethod - custom sort function + * @param {function} callback - invoked when all elements processed + * @returns {function} - jobs terminator + */ +function serialOrdered(list, iterator, sortMethod, callback) +{ + var state = initState(list, sortMethod); + + iterate(list, iterator, state, function iteratorHandler(error, result) + { + if (error) + { + callback(error, result); + return; + } + + state.index++; + + // are we there yet? + if (state.index < (state['keyedList'] || list).length) + { + iterate(list, iterator, state, iteratorHandler); + return; + } + + // done here + callback(null, state.results); + }); + + return terminator.bind(state, callback); +} + +/* + * -- Sort methods + */ + +/** + * sort helper to sort array elements in ascending order + * + * @param {mixed} a - an item to compare + * @param {mixed} b - an item to compare + * @returns {number} - comparison result + */ +function ascending(a, b) +{ + return a < b ? -1 : a > b ? 1 : 0; +} + +/** + * sort helper to sort array elements in descending order + * + * @param {mixed} a - an item to compare + * @param {mixed} b - an item to compare + * @returns {number} - comparison result + */ +function descending(a, b) +{ + return -1 * ascending(a, b); +} diff --git a/dist/node_modules/asynckit/stream.js b/dist/node_modules/asynckit/stream.js new file mode 100644 index 00000000..d43465f9 --- /dev/null +++ b/dist/node_modules/asynckit/stream.js @@ -0,0 +1,21 @@ +var inherits = require('util').inherits + , Readable = require('stream').Readable + , ReadableAsyncKit = require('./lib/readable_asynckit.js') + , ReadableParallel = require('./lib/readable_parallel.js') + , ReadableSerial = require('./lib/readable_serial.js') + , ReadableSerialOrdered = require('./lib/readable_serial_ordered.js') + ; + +// API +module.exports = +{ + parallel : ReadableParallel, + serial : ReadableSerial, + serialOrdered : ReadableSerialOrdered, +}; + +inherits(ReadableAsyncKit, Readable); + +inherits(ReadableParallel, ReadableAsyncKit); +inherits(ReadableSerial, ReadableAsyncKit); +inherits(ReadableSerialOrdered, ReadableAsyncKit); diff --git a/dist/node_modules/axios/CHANGELOG.md b/dist/node_modules/axios/CHANGELOG.md new file mode 100644 index 00000000..e286c126 --- /dev/null +++ b/dist/node_modules/axios/CHANGELOG.md @@ -0,0 +1,1416 @@ +# Changelog + +## [1.13.3](https://github.com/axios/axios/compare/v1.13.2...v1.13.3) (2026-01-20) + +### Bug Fixes + +- **http2:** Use port 443 for HTTPS connections by default. ([#7256](https://github.com/axios/axios/issues/7256)) ([d7e6065](https://github.com/axios/axios/commit/d7e60653460480ffacecf85383012ca1baa6263e)) +- **interceptor:** handle the error in the same interceptor ([#6269](https://github.com/axios/axios/issues/6269)) ([5945e40](https://github.com/axios/axios/commit/5945e40bb171d4ac4fc195df276cf952244f0f89)) +- main field in package.json should correspond to cjs artifacts ([#5756](https://github.com/axios/axios/issues/5756)) ([7373fbf](https://github.com/axios/axios/commit/7373fbff24cd92ce650d99ff6f7fe08c2e2a0a04)) +- **package.json:** add 'bun' package.json 'exports' condition. Load the Node.js build in Bun instead of the browser build ([#5754](https://github.com/axios/axios/issues/5754)) ([b89217e](https://github.com/axios/axios/commit/b89217e3e91de17a3d55e2b8f39ceb0e9d8aeda8)) +- silentJSONParsing=false should throw on invalid JSON ([#7253](https://github.com/axios/axios/issues/7253)) ([#7257](https://github.com/axios/axios/issues/7257)) ([7d19335](https://github.com/axios/axios/commit/7d19335e43d6754a1a9a66e424f7f7da259895bf)) +- turn AxiosError into a native error ([#5394](https://github.com/axios/axios/issues/5394)) ([#5558](https://github.com/axios/axios/issues/5558)) ([1c6a86d](https://github.com/axios/axios/commit/1c6a86dd2c0623ee1af043a8491dbc96d40e883b)) +- **types:** add handlers to AxiosInterceptorManager interface ([#5551](https://github.com/axios/axios/issues/5551)) ([8d1271b](https://github.com/axios/axios/commit/8d1271b49fc226ed7defd07cd577bd69a55bb13a)) +- **types:** restore AxiosError.cause type from unknown to Error ([#7327](https://github.com/axios/axios/issues/7327)) ([d8233d9](https://github.com/axios/axios/commit/d8233d9e8e9a64bfba9bbe01d475ba417510b82b)) +- unclear error message is thrown when specifying an empty proxy authorization ([#6314](https://github.com/axios/axios/issues/6314)) ([6ef867e](https://github.com/axios/axios/commit/6ef867e684adf7fb2343e3b29a79078a3c76dc29)) + +### Features + +- add `undefined` as a value in AxiosRequestConfig ([#5560](https://github.com/axios/axios/issues/5560)) ([095033c](https://github.com/axios/axios/commit/095033c626895ecdcda2288050b63dcf948db3bd)) +- add automatic minor and patch upgrades to dependabot ([#6053](https://github.com/axios/axios/issues/6053)) ([65a7584](https://github.com/axios/axios/commit/65a7584eda6164980ddb8cf5372f0afa2a04c1ed)) +- add Node.js coverage script using c8 (closes [#7289](https://github.com/axios/axios/issues/7289)) ([#7294](https://github.com/axios/axios/issues/7294)) ([ec9d94e](https://github.com/axios/axios/commit/ec9d94e9f88da13e9219acadf65061fb38ce080a)) +- added copilot instructions ([3f83143](https://github.com/axios/axios/commit/3f83143bfe617eec17f9d7dcf8bafafeeae74c26)) +- compatibility with frozen prototypes ([#6265](https://github.com/axios/axios/issues/6265)) ([860e033](https://github.com/axios/axios/commit/860e03396a536e9b926dacb6570732489c9d7012)) +- enhance pipeFileToResponse with error handling ([#7169](https://github.com/axios/axios/issues/7169)) ([88d7884](https://github.com/axios/axios/commit/88d78842541610692a04282233933d078a8a2552)) +- **types:** Intellisense for string literals in a widened union ([#6134](https://github.com/axios/axios/issues/6134)) ([f73474d](https://github.com/axios/axios/commit/f73474d02c5aa957b2daeecee65508557fd3c6e5)), closes [/github.com/microsoft/TypeScript/issues/33471#issuecomment-1376364329](https://github.com//github.com/microsoft/TypeScript/issues/33471/issues/issuecomment-1376364329) + +### Reverts + +- Revert "fix: silentJSONParsing=false should throw on invalid JSON (#7253) (#7…" (#7298) ([a4230f5](https://github.com/axios/axios/commit/a4230f5581b3f58b6ff531b6dbac377a4fd7942a)), closes [#7253](https://github.com/axios/axios/issues/7253) [#7](https://github.com/axios/axios/issues/7) [#7298](https://github.com/axios/axios/issues/7298) +- **deps:** bump peter-evans/create-pull-request from 7 to 8 in the github-actions group ([#7334](https://github.com/axios/axios/issues/7334)) ([2d6ad5e](https://github.com/axios/axios/commit/2d6ad5e48bd29b0b2b5e7e95fb473df98301543a)) + +### Contributors to this release + +- avatar [Ashvin Tiwari](https://github.com/ashvin2005 '+1752/-4 (#7218 #7218 )') +- avatar [Nikunj Mochi](https://github.com/mochinikunj '+940/-12 (#7294 #7294 )') +- avatar [Anchal Singh](https://github.com/imanchalsingh '+544/-102 (#7169 #7185 )') +- avatar [jasonsaayman](https://github.com/jasonsaayman '+317/-73 (#7334 #7298 )') +- avatar [Julian Dax](https://github.com/brodo '+99/-120 (#5558 )') +- avatar [Akash Dhar Dubey](https://github.com/AKASHDHARDUBEY '+167/-0 (#7287 #7288 )') +- avatar [Madhumita](https://github.com/madhumitaaa '+20/-68 (#7198 )') +- avatar [Tackoil](https://github.com/Tackoil '+80/-2 (#6269 )') +- avatar [Justin Dhillon](https://github.com/justindhillon '+41/-41 (#6324 #6315 )') +- avatar [Rudransh](https://github.com/Rudrxxx '+71/-2 (#7257 )') +- avatar [WuMingDao](https://github.com/WuMingDao '+36/-36 (#7215 )') +- avatar [codenomnom](https://github.com/codenomnom '+70/-0 (#7201 #7201 )') +- avatar [Nandan Acharya](https://github.com/Nandann018-ux '+60/-10 (#7272 )') +- avatar [Eric Dubé](https://github.com/KernelDeimos '+22/-40 (#7042 )') +- avatar [Tibor Pilz](https://github.com/tiborpilz '+40/-4 (#5551 )') +- avatar [Gabriel Quaresma](https://github.com/joaoGabriel55 '+31/-4 (#6314 )') +- avatar [Turadg Aleahmad](https://github.com/turadg '+23/-6 (#6265 )') +- avatar [JohnTitor](https://github.com/kiritosan '+14/-14 (#6155 )') +- avatar [rohit miryala](https://github.com/rohitmiryala '+22/-0 (#7250 )') +- avatar [Wilson Mun](https://github.com/wmundev '+20/-0 (#6053 )') +- avatar [techcodie](https://github.com/techcodie '+7/-7 (#7236 )') +- avatar [Ved Vadnere](https://github.com/Archis009 '+5/-6 (#7283 )') +- avatar [svihpinc](https://github.com/svihpinc '+5/-3 (#6134 )') +- avatar [SANDESH LENDVE](https://github.com/mrsandy1965 '+3/-3 (#7246 )') +- avatar [Lubos](https://github.com/mrlubos '+5/-1 (#7312 )') +- avatar [Jarred Sumner](https://github.com/Jarred-Sumner '+5/-1 (#5754 )') +- avatar [Adam Hines](https://github.com/thebanjomatic '+2/-1 (#5756 )') +- avatar [Subhan Kumar Rai](https://github.com/Subhan030 '+2/-1 (#7256 )') +- avatar [Joseph Frazier](https://github.com/josephfrazier '+1/-1 (#7311 )') +- avatar [KT0803](https://github.com/KT0803 '+0/-2 (#7229 )') +- avatar [Albie](https://github.com/AlbertoSadoc '+1/-1 (#5560 )') +- avatar [Jake Hayes](https://github.com/thejayhaykid '+1/-0 (#5999 )') + +## [1.13.2](https://github.com/axios/axios/compare/v1.13.1...v1.13.2) (2025-11-04) + +### Bug Fixes + +- **http:** fix 'socket hang up' bug for keep-alive requests when using timeouts; ([#7206](https://github.com/axios/axios/issues/7206)) ([8d37233](https://github.com/axios/axios/commit/8d372335f5c50ecd01e8615f2468a9eb19703117)) +- **http:** use default export for http2 module to support stubs; ([#7196](https://github.com/axios/axios/issues/7196)) ([0588880](https://github.com/axios/axios/commit/0588880ac7ddba7594ef179930493884b7e90bf5)) + +### Performance Improvements + +- **http:** fix early loop exit; ([#7202](https://github.com/axios/axios/issues/7202)) ([12c314b](https://github.com/axios/axios/commit/12c314b603e7852a157e93e47edb626a471ba6c5)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+28/-9 (#7206 #7202 )') +- avatar [Kasper Isager Dalsgarð](https://github.com/kasperisager '+9/-9 (#7196 )') + +## [1.13.1](https://github.com/axios/axios/compare/v1.13.0...v1.13.1) (2025-10-28) + +### Bug Fixes + +- **http:** fixed a regression that caused the data stream to be interrupted for responses with non-OK HTTP statuses; ([#7193](https://github.com/axios/axios/issues/7193)) ([bcd5581](https://github.com/axios/axios/commit/bcd5581d208cd372055afdcb2fd10b68ca40613c)) + +### Contributors to this release + +- avatar [Anchal Singh](https://github.com/imanchalsingh '+220/-111 (#7173 )') +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+18/-1 (#7193 )') + +# [1.13.0](https://github.com/axios/axios/compare/v1.12.2...v1.13.0) (2025-10-27) + +### Bug Fixes + +- **fetch:** prevent TypeError when config.env is undefined ([#7155](https://github.com/axios/axios/issues/7155)) ([015faec](https://github.com/axios/axios/commit/015faeca9f26db76f9562760f04bb9f8229f4db1)) +- resolve issue [#7131](https://github.com/axios/axios/issues/7131) (added spacing in mergeConfig.js) ([#7133](https://github.com/axios/axios/issues/7133)) ([9b9ec98](https://github.com/axios/axios/commit/9b9ec98548d93e9f2204deea10a5f1528bf3ce62)) + +### Features + +- **http:** add HTTP2 support; ([#7150](https://github.com/axios/axios/issues/7150)) ([d676df7](https://github.com/axios/axios/commit/d676df772244726533ca320f42e967f5af056bac)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+794/-180 (#7186 #7150 #7039 )') +- avatar [Noritaka Kobayashi](https://github.com/noritaka1166 '+24/-509 (#7032 )') +- avatar [Aviraj2929](https://github.com/Aviraj2929 '+211/-93 (#7136 #7135 #7134 #7112 )') +- avatar [prasoon patel](https://github.com/Prasoon52 '+167/-6 (#7099 )') +- avatar [Samyak Dandge](https://github.com/Samy-in '+134/-0 (#7171 )') +- avatar [Anchal Singh](https://github.com/imanchalsingh '+53/-56 (#7170 )') +- avatar [Rahul Kumar](https://github.com/jaiyankargupta '+28/-28 (#7073 )') +- avatar [Amit Verma](https://github.com/Amitverma0509 '+24/-13 (#7129 )') +- avatar [Abhishek3880](https://github.com/abhishekmaniy '+23/-4 (#7119 #7117 #7116 #7115 )') +- avatar [Dhvani Maktuporia](https://github.com/Dhvani365 '+14/-5 (#7175 )') +- avatar [Usama Ayoub](https://github.com/sam3690 '+4/-4 (#7133 )') +- avatar [ikuy1203](https://github.com/ikuy1203 '+3/-3 (#7166 )') +- avatar [Nikhil Simon Toppo](https://github.com/Kirito-Excalibur '+1/-1 (#7172 )') +- avatar [Jane Wangari](https://github.com/Wangarijane '+1/-1 (#7155 )') +- avatar [Supakorn Ieamgomol](https://github.com/Supakornn '+1/-1 (#7065 )') +- avatar [Kian-Meng Ang](https://github.com/kianmeng '+1/-1 (#7046 )') +- avatar [UTSUMI Keiji](https://github.com/k-utsumi '+1/-1 (#7037 )') + +## [1.12.2](https://github.com/axios/axios/compare/v1.12.1...v1.12.2) (2025-09-14) + +### Bug Fixes + +- **fetch:** use current global fetch instead of cached one when env fetch is not specified to keep MSW support; ([#7030](https://github.com/axios/axios/issues/7030)) ([cf78825](https://github.com/axios/axios/commit/cf78825e1229b60d1629ad0bbc8a752ff43c3f53)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+247/-16 (#7030 #7022 #7024 )') +- avatar [Noritaka Kobayashi](https://github.com/noritaka1166 '+2/-6 (#7028 #7029 )') + +## [1.12.1](https://github.com/axios/axios/compare/v1.12.0...v1.12.1) (2025-09-12) + +### Bug Fixes + +- **types:** fixed env config types; ([#7020](https://github.com/axios/axios/issues/7020)) ([b5f26b7](https://github.com/axios/axios/commit/b5f26b75bdd9afa95016fb67d0cab15fc74cbf05)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+10/-4 (#7020 )') + +# [1.12.0](https://github.com/axios/axios/compare/v1.11.0...v1.12.0) (2025-09-11) + +### Bug Fixes + +- adding build artifacts ([9ec86de](https://github.com/axios/axios/commit/9ec86de257bfa33856571036279169f385ed92bd)) +- dont add dist on release ([a2edc36](https://github.com/axios/axios/commit/a2edc3606a4f775d868a67bb3461ff18ce7ecd11)) +- **fetch-adapter:** set correct Content-Type for Node FormData ([#6998](https://github.com/axios/axios/issues/6998)) ([a9f47af](https://github.com/axios/axios/commit/a9f47afbf3224d2ca987dbd8188789c7ea853c5d)) +- **node:** enforce maxContentLength for data: URLs ([#7011](https://github.com/axios/axios/issues/7011)) ([945435f](https://github.com/axios/axios/commit/945435fc51467303768202250debb8d4ae892593)) +- package exports ([#5627](https://github.com/axios/axios/issues/5627)) ([aa78ac2](https://github.com/axios/axios/commit/aa78ac23fc9036163308c0f6bd2bb885e7af3f36)) +- **params:** removing '[' and ']' from URL encode exclude characters ([#3316](https://github.com/axios/axios/issues/3316)) ([#5715](https://github.com/axios/axios/issues/5715)) ([6d84189](https://github.com/axios/axios/commit/6d84189349c43b1dcdd977b522610660cc4c7042)) +- release pr run ([fd7f404](https://github.com/axios/axios/commit/fd7f404488b2c4f238c2fbe635b58026a634bfd2)) +- **types:** change the type guard on isCancel ([#5595](https://github.com/axios/axios/issues/5595)) ([0dbb7fd](https://github.com/axios/axios/commit/0dbb7fd4f61dc568498cd13a681fa7f907d6ec7e)) + +### Features + +- **adapter:** surface low‑level network error details; attach original error via cause ([#6982](https://github.com/axios/axios/issues/6982)) ([78b290c](https://github.com/axios/axios/commit/78b290c57c978ed2ab420b90d97350231c9e5d74)) +- **fetch:** add fetch, Request, Response env config variables for the adapter; ([#7003](https://github.com/axios/axios/issues/7003)) ([c959ff2](https://github.com/axios/axios/commit/c959ff29013a3bc90cde3ac7ea2d9a3f9c08974b)) +- support reviver on JSON.parse ([#5926](https://github.com/axios/axios/issues/5926)) ([2a97634](https://github.com/axios/axios/commit/2a9763426e43d996fd60d01afe63fa6e1f5b4fca)), closes [#5924](https://github.com/axios/axios/issues/5924) +- **types:** extend AxiosResponse interface to include custom headers type ([#6782](https://github.com/axios/axios/issues/6782)) ([7960d34](https://github.com/axios/axios/commit/7960d34eded2de66ffd30b4687f8da0e46c4903e)) + +### Contributors to this release + +- avatar [Willian Agostini](https://github.com/WillianAgostini '+132/-16760 (#7002 #5926 #6782 )') +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+4263/-293 (#7006 #7003 )') +- avatar [khani](https://github.com/mkhani01 '+111/-15 (#6982 )') +- avatar [Ameer Assadi](https://github.com/AmeerAssadi '+123/-0 (#7011 )') +- avatar [Emiedonmokumo Dick-Boro](https://github.com/emiedonmokumo '+55/-35 (#6998 )') +- avatar [Zeroday BYTE](https://github.com/opsysdebug '+8/-8 (#6980 )') +- avatar [Jason Saayman](https://github.com/jasonsaayman '+7/-7 (#6985 #6985 )') +- avatar [최예찬](https://github.com/HealGaren '+5/-7 (#5715 )') +- avatar [Gligor Kotushevski](https://github.com/gligorkot '+3/-1 (#5627 )') +- avatar [Aleksandar Dimitrov](https://github.com/adimit '+2/-1 (#5595 )') + +# [1.11.0](https://github.com/axios/axios/compare/v1.10.0...v1.11.0) (2025-07-22) + +### Bug Fixes + +- form-data npm pakcage ([#6970](https://github.com/axios/axios/issues/6970)) ([e72c193](https://github.com/axios/axios/commit/e72c193722530db538b19e5ddaaa4544d226b253)) +- prevent RangeError when using large Buffers ([#6961](https://github.com/axios/axios/issues/6961)) ([a2214ca](https://github.com/axios/axios/commit/a2214ca1bc60540baf2c80573cea3a0ff91ba9d1)) +- **types:** resolve type discrepancies between ESM and CJS TypeScript declaration files ([#6956](https://github.com/axios/axios/issues/6956)) ([8517aa1](https://github.com/axios/axios/commit/8517aa16f8d082fc1d5309c642220fa736159110)) + +### Contributors to this release + +- avatar [izzy goldman](https://github.com/izzygld '+186/-93 (#6970 )') +- avatar [Manish Sahani](https://github.com/manishsahanidev '+70/-0 (#6961 )') +- avatar [Noritaka Kobayashi](https://github.com/noritaka1166 '+12/-10 (#6938 #6939 )') +- avatar [James Nail](https://github.com/jrnail23 '+13/-2 (#6956 )') +- avatar [Tejaswi1305](https://github.com/Tejaswi1305 '+1/-1 (#6894 )') + +# [1.10.0](https://github.com/axios/axios/compare/v1.9.0...v1.10.0) (2025-06-14) + +### Bug Fixes + +- **adapter:** pass fetchOptions to fetch function ([#6883](https://github.com/axios/axios/issues/6883)) ([0f50af8](https://github.com/axios/axios/commit/0f50af8e076b7fb403844789bd5e812dedcaf4ed)) +- **form-data:** convert boolean values to strings in FormData serialization ([#6917](https://github.com/axios/axios/issues/6917)) ([5064b10](https://github.com/axios/axios/commit/5064b108de336ff34862650709761b8a96d26be0)) +- **package:** add module entry point for React Native; ([#6933](https://github.com/axios/axios/issues/6933)) ([3d343b8](https://github.com/axios/axios/commit/3d343b86dc4fd0eea0987059c5af04327c7ae304)) + +### Features + +- **types:** improved fetchOptions interface ([#6867](https://github.com/axios/axios/issues/6867)) ([63f1fce](https://github.com/axios/axios/commit/63f1fce233009f5db1abf2586c145825ac98c3d7)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+30/-19 (#6933 #6920 #6893 #6892 )') +- avatar [Noritaka Kobayashi](https://github.com/noritaka1166 '+2/-6 (#6922 #6923 )') +- avatar [Dimitrios Lazanas](https://github.com/dimitry-lzs '+4/-0 (#6917 )') +- avatar [Adrian Knapp](https://github.com/AdrianKnapp '+2/-2 (#6867 )') +- avatar [Howie Zhao](https://github.com/howiezhao '+3/-1 (#6872 )') +- avatar [Uhyeon Park](https://github.com/warpdev '+1/-1 (#6883 )') +- avatar [Sampo Silvennoinen](https://github.com/stscoundrel '+1/-1 (#6913 )') + +# [1.9.0](https://github.com/axios/axios/compare/v1.8.4...v1.9.0) (2025-04-24) + +### Bug Fixes + +- **core:** fix the Axios constructor implementation to treat the config argument as optional; ([#6881](https://github.com/axios/axios/issues/6881)) ([6c5d4cd](https://github.com/axios/axios/commit/6c5d4cd69286868059c5e52d45085cb9a894a983)) +- **fetch:** fixed ERR_NETWORK mapping for Safari browsers; ([#6767](https://github.com/axios/axios/issues/6767)) ([dfe8411](https://github.com/axios/axios/commit/dfe8411c9a082c3d068bdd1f8d6e73054f387f45)) +- **headers:** allow iterable objects to be a data source for the set method; ([#6873](https://github.com/axios/axios/issues/6873)) ([1b1f9cc](https://github.com/axios/axios/commit/1b1f9ccdc15f1ea745160ec9a5223de9db4673bc)) +- **headers:** fix `getSetCookie` by using 'get' method for caseless access; ([#6874](https://github.com/axios/axios/issues/6874)) ([d4f7df4](https://github.com/axios/axios/commit/d4f7df4b304af8b373488fdf8e830793ff843eb9)) +- **headers:** fixed support for setting multiple header values from an iterated source; ([#6885](https://github.com/axios/axios/issues/6885)) ([f7a3b5e](https://github.com/axios/axios/commit/f7a3b5e0f7e5e127b97defa92a132fbf1b55cf15)) +- **http:** send minimal end multipart boundary ([#6661](https://github.com/axios/axios/issues/6661)) ([987d2e2](https://github.com/axios/axios/commit/987d2e2dd3b362757550f36eab875e60640b6ddc)) +- **types:** fix autocomplete for adapter config ([#6855](https://github.com/axios/axios/issues/6855)) ([e61a893](https://github.com/axios/axios/commit/e61a8934d8f94dd429a2f309b48c67307c700df0)) + +### Features + +- **AxiosHeaders:** add getSetCookie method to retrieve set-cookie headers values ([#5707](https://github.com/axios/axios/issues/5707)) ([80ea756](https://github.com/axios/axios/commit/80ea756e72bcf53110fa792f5d7ab76e8b11c996)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+200/-34 (#6890 #6889 #6888 #6885 #6881 #6767 #6874 #6873 )') +- avatar [Jay](https://github.com/jasonsaayman '+26/-1 ()') +- avatar [Willian Agostini](https://github.com/WillianAgostini '+21/-0 (#5707 )') +- avatar [George Cheng](https://github.com/Gerhut '+3/-3 (#5096 )') +- avatar [FatahChan](https://github.com/FatahChan '+2/-2 (#6855 )') +- avatar [Ionuț G. Stan](https://github.com/igstan '+1/-1 (#6661 )') + +## [1.8.4](https://github.com/axios/axios/compare/v1.8.3...v1.8.4) (2025-03-19) + +### Bug Fixes + +- **buildFullPath:** handle `allowAbsoluteUrls: false` without `baseURL` ([#6833](https://github.com/axios/axios/issues/6833)) ([f10c2e0](https://github.com/axios/axios/commit/f10c2e0de7fde0051f848609a29c2906d0caa1d9)) + +### Contributors to this release + +- avatar [Marc Hassan](https://github.com/mhassan1 '+5/-1 (#6833 )') + +## [1.8.3](https://github.com/axios/axios/compare/v1.8.2...v1.8.3) (2025-03-10) + +### Bug Fixes + +- add missing type for allowAbsoluteUrls ([#6818](https://github.com/axios/axios/issues/6818)) ([10fa70e](https://github.com/axios/axios/commit/10fa70ef14fe39558b15a179f0e82f5f5e5d11b2)) +- **xhr/fetch:** pass `allowAbsoluteUrls` to `buildFullPath` in `xhr` and `fetch` adapters ([#6814](https://github.com/axios/axios/issues/6814)) ([ec159e5](https://github.com/axios/axios/commit/ec159e507bdf08c04ba1a10fe7710094e9e50ec9)) + +### Contributors to this release + +- avatar [Ashcon Partovi](https://github.com/Electroid '+6/-0 (#6811 )') +- avatar [StefanBRas](https://github.com/StefanBRas '+4/-0 (#6818 )') +- avatar [Marc Hassan](https://github.com/mhassan1 '+2/-2 (#6814 )') + +## [1.8.2](https://github.com/axios/axios/compare/v1.8.1...v1.8.2) (2025-03-07) + +### Bug Fixes + +- **http-adapter:** add allowAbsoluteUrls to path building ([#6810](https://github.com/axios/axios/issues/6810)) ([fb8eec2](https://github.com/axios/axios/commit/fb8eec214ce7744b5ca787f2c3b8339b2f54b00f)) + +### Contributors to this release + +- avatar [Fasoro-Joseph Alexander](https://github.com/lexcorp16 '+1/-1 (#6810 )') + +## [1.8.1](https://github.com/axios/axios/compare/v1.8.0...v1.8.1) (2025-02-26) + +### Bug Fixes + +- **utils:** move `generateString` to platform utils to avoid importing crypto module into client builds; ([#6789](https://github.com/axios/axios/issues/6789)) ([36a5a62](https://github.com/axios/axios/commit/36a5a620bec0b181451927f13ac85b9888b86cec)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+51/-47 (#6789 )') + +# [1.8.0](https://github.com/axios/axios/compare/v1.7.9...v1.8.0) (2025-02-25) + +### Bug Fixes + +- **examples:** application crashed when navigating examples in browser ([#5938](https://github.com/axios/axios/issues/5938)) ([1260ded](https://github.com/axios/axios/commit/1260ded634ec101dd5ed05d3b70f8e8f899dba6c)) +- missing word in SUPPORT_QUESTION.yml ([#6757](https://github.com/axios/axios/issues/6757)) ([1f890b1](https://github.com/axios/axios/commit/1f890b13f2c25a016f3c84ae78efb769f244133e)) +- **utils:** replace getRandomValues with crypto module ([#6788](https://github.com/axios/axios/issues/6788)) ([23a25af](https://github.com/axios/axios/commit/23a25af0688d1db2c396deb09229d2271cc24f6c)) + +### Features + +- Add config for ignoring absolute URLs ([#5902](https://github.com/axios/axios/issues/5902)) ([#6192](https://github.com/axios/axios/issues/6192)) ([32c7bcc](https://github.com/axios/axios/commit/32c7bcc0f233285ba27dec73a4b1e81fb7a219b3)) + +### Reverts + +- Revert "chore: expose fromDataToStream to be consumable (#6731)" (#6732) ([1317261](https://github.com/axios/axios/commit/1317261125e9c419fe9f126867f64d28f9c1efda)), closes [#6731](https://github.com/axios/axios/issues/6731) [#6732](https://github.com/axios/axios/issues/6732) + +### BREAKING CHANGES + +- code relying on the above will now combine the URLs instead of prefer request URL + +- feat: add config option for allowing absolute URLs + +- fix: add default value for allowAbsoluteUrls in buildFullPath + +- fix: typo in flow control when setting allowAbsoluteUrls + +### Contributors to this release + +- avatar [Michael Toscano](https://github.com/GethosTheWalrus '+42/-8 (#6192 )') +- avatar [Willian Agostini](https://github.com/WillianAgostini '+26/-3 (#6788 #6777 )') +- avatar [Naron](https://github.com/naronchen '+27/-0 (#5901 )') +- avatar [shravan || श्रvan](https://github.com/shravan20 '+7/-3 (#6116 )') +- avatar [Justin Dhillon](https://github.com/justindhillon '+0/-7 (#6312 )') +- avatar [yionr](https://github.com/yionr '+5/-1 (#6129 )') +- avatar [Shin'ya Ueoka](https://github.com/ueokande '+3/-3 (#5935 )') +- avatar [Dan Dascalescu](https://github.com/dandv '+3/-3 (#5908 #6757 )') +- avatar [Nitin Ramnani](https://github.com/NitinRamnani '+2/-2 (#5938 )') +- avatar [Shay Molcho](https://github.com/shaymolcho '+2/-2 (#6770 )') +- avatar [Jay](https://github.com/jasonsaayman '+0/-3 (#6732 )') +- fancy45daddy +- avatar [Habip Akyol](https://github.com/habipakyol '+1/-1 (#6030 )') +- avatar [Bailey Lissington](https://github.com/llamington '+1/-1 (#6771 )') +- avatar [Bernardo da Eira Duarte](https://github.com/bernardoduarte '+1/-1 (#6480 )') +- avatar [Shivam Batham](https://github.com/Shivam-Batham '+1/-1 (#5949 )') +- avatar [Lipin Kariappa](https://github.com/lipinnnnn '+1/-1 (#5936 )') + +## [1.7.9](https://github.com/axios/axios/compare/v1.7.8...v1.7.9) (2024-12-04) + +### Reverts + +- Revert "fix(types): export CJS types from ESM (#6218)" (#6729) ([c44d2f2](https://github.com/axios/axios/commit/c44d2f2316ad289b38997657248ba10de11deb6c)), closes [#6218](https://github.com/axios/axios/issues/6218) [#6729](https://github.com/axios/axios/issues/6729) + +### Contributors to this release + +- avatar [Jay](https://github.com/jasonsaayman '+596/-108 (#6729 )') + +## [1.7.8](https://github.com/axios/axios/compare/v1.7.7...v1.7.8) (2024-11-25) + +### Bug Fixes + +- allow passing a callback as paramsSerializer to buildURL ([#6680](https://github.com/axios/axios/issues/6680)) ([eac4619](https://github.com/axios/axios/commit/eac4619fe2e0926e876cd260ee21e3690381dbb5)) +- **core:** fixed config merging bug ([#6668](https://github.com/axios/axios/issues/6668)) ([5d99fe4](https://github.com/axios/axios/commit/5d99fe4491202a6268c71e5dcc09192359d73cea)) +- fixed width form to not shrink after 'Send Request' button is clicked ([#6644](https://github.com/axios/axios/issues/6644)) ([7ccd5fd](https://github.com/axios/axios/commit/7ccd5fd42402102d38712c32707bf055be72ab54)) +- **http:** add support for File objects as payload in http adapter ([#6588](https://github.com/axios/axios/issues/6588)) ([#6605](https://github.com/axios/axios/issues/6605)) ([6841d8d](https://github.com/axios/axios/commit/6841d8d18ddc71cc1bd202ffcfddb3f95622eef3)) +- **http:** fixed proxy-from-env module import ([#5222](https://github.com/axios/axios/issues/5222)) ([12b3295](https://github.com/axios/axios/commit/12b32957f1258aee94ef859809ed39f8f88f9dfa)) +- **http:** use `globalThis.TextEncoder` when available ([#6634](https://github.com/axios/axios/issues/6634)) ([df956d1](https://github.com/axios/axios/commit/df956d18febc9100a563298dfdf0f102c3d15410)) +- ios11 breaks when build ([#6608](https://github.com/axios/axios/issues/6608)) ([7638952](https://github.com/axios/axios/commit/763895270f7b50c7c780c3c9807ae8635de952cd)) +- **types:** add missing types for mergeConfig function ([#6590](https://github.com/axios/axios/issues/6590)) ([00de614](https://github.com/axios/axios/commit/00de614cd07b7149af335e202aef0e076c254f49)) +- **types:** export CJS types from ESM ([#6218](https://github.com/axios/axios/issues/6218)) ([c71811b](https://github.com/axios/axios/commit/c71811b00f2fcff558e4382ba913bdac4ad7200e)) +- updated stream aborted error message to be more clear ([#6615](https://github.com/axios/axios/issues/6615)) ([cc3217a](https://github.com/axios/axios/commit/cc3217a612024d83a663722a56d7a98d8759c6d5)) +- use URL API instead of DOM to fix a potential vulnerability warning; ([#6714](https://github.com/axios/axios/issues/6714)) ([0a8d6e1](https://github.com/axios/axios/commit/0a8d6e19da5b9899a2abafaaa06a75ee548597db)) + +### Contributors to this release + +- avatar [Remco Haszing](https://github.com/remcohaszing '+108/-596 (#6218 )') +- avatar [Jay](https://github.com/jasonsaayman '+281/-19 (#6640 #6619 )') +- avatar [Aayush Yadav](https://github.com/aayushyadav020 '+124/-111 (#6617 )') +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+12/-65 (#6714 )') +- avatar [Ell Bradshaw](https://github.com/cincodenada '+29/-0 (#6489 )') +- avatar [Amit Saini](https://github.com/amitsainii '+13/-3 (#5237 )') +- avatar [Tommaso Paulon](https://github.com/guuido '+14/-1 (#6680 )') +- avatar [Akki](https://github.com/Aakash-Rana '+5/-5 (#6668 )') +- avatar [Sampo Silvennoinen](https://github.com/stscoundrel '+3/-3 (#6633 )') +- avatar [Kasper Isager Dalsgarð](https://github.com/kasperisager '+2/-2 (#6634 )') +- avatar [Christian Clauss](https://github.com/cclauss '+4/-0 (#6683 )') +- avatar [Pavan Welihinda](https://github.com/pavan168 '+2/-2 (#5222 )') +- avatar [Taylor Flatt](https://github.com/taylorflatt '+2/-2 (#6615 )') +- avatar [Kenzo Wada](https://github.com/Kenzo-Wada '+2/-2 (#6608 )') +- avatar [Ngole Lawson](https://github.com/echelonnought '+3/-0 (#6644 )') +- avatar [Haven](https://github.com/Baoyx007 '+3/-0 (#6590 )') +- avatar [Shrivali Dutt](https://github.com/shrivalidutt '+1/-1 (#6637 )') +- avatar [Henco Appel](https://github.com/hencoappel '+1/-1 (#6605 )') + +## [1.7.7](https://github.com/axios/axios/compare/v1.7.6...v1.7.7) (2024-08-31) + +### Bug Fixes + +- **fetch:** fix stream handling in Safari by fallback to using a stream reader instead of an async iterator; ([#6584](https://github.com/axios/axios/issues/6584)) ([d198085](https://github.com/axios/axios/commit/d1980854fee1765cd02fa0787adf5d6e34dd9dcf)) +- **http:** fixed support for IPv6 literal strings in url ([#5731](https://github.com/axios/axios/issues/5731)) ([364993f](https://github.com/axios/axios/commit/364993f0d8bc6e0e06f76b8a35d2d0a35cab054c)) + +### Contributors to this release + +- avatar [Rishi556](https://github.com/Rishi556 '+39/-1 (#5731 )') +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+27/-7 (#6584 )') + +## [1.7.6](https://github.com/axios/axios/compare/v1.7.5...v1.7.6) (2024-08-30) + +### Bug Fixes + +- **fetch:** fix content length calculation for FormData payload; ([#6524](https://github.com/axios/axios/issues/6524)) ([085f568](https://github.com/axios/axios/commit/085f56861a83e9ac02c140ad9d68dac540dfeeaa)) +- **fetch:** optimize signals composing logic; ([#6582](https://github.com/axios/axios/issues/6582)) ([df9889b](https://github.com/axios/axios/commit/df9889b83c2cc37e9e6189675a73ab70c60f031f)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+98/-46 (#6582 )') +- avatar [Jacques Germishuys](https://github.com/jacquesg '+5/-1 (#6524 )') +- avatar [kuroino721](https://github.com/kuroino721 '+3/-1 (#6575 )') + +## [1.7.5](https://github.com/axios/axios/compare/v1.7.4...v1.7.5) (2024-08-23) + +### Bug Fixes + +- **adapter:** fix undefined reference to hasBrowserEnv ([#6572](https://github.com/axios/axios/issues/6572)) ([7004707](https://github.com/axios/axios/commit/7004707c4180b416341863bd86913fe4fc2f1df1)) +- **core:** add the missed implementation of AxiosError#status property; ([#6573](https://github.com/axios/axios/issues/6573)) ([6700a8a](https://github.com/axios/axios/commit/6700a8adac06942205f6a7a21421ecb36c4e0852)) +- **core:** fix `ReferenceError: navigator is not defined` for custom environments; ([#6567](https://github.com/axios/axios/issues/6567)) ([fed1a4b](https://github.com/axios/axios/commit/fed1a4b2d78ed4a588c84e09d32749ed01dc2794)) +- **fetch:** fix credentials handling in Cloudflare workers ([#6533](https://github.com/axios/axios/issues/6533)) ([550d885](https://github.com/axios/axios/commit/550d885eb90fd156add7b93bbdc54d30d2f9a98d)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+187/-83 (#6573 #6567 #6566 #6564 #6563 #6557 #6556 #6555 #6554 #6552 )') +- avatar [Antonin Bas](https://github.com/antoninbas '+6/-6 (#6572 )') +- avatar [Hans Otto Wirtz](https://github.com/hansottowirtz '+4/-1 (#6533 )') + +## [1.7.4](https://github.com/axios/axios/compare/v1.7.3...v1.7.4) (2024-08-13) + +### Bug Fixes + +- **sec:** CVE-2024-39338 ([#6539](https://github.com/axios/axios/issues/6539)) ([#6543](https://github.com/axios/axios/issues/6543)) ([6b6b605](https://github.com/axios/axios/commit/6b6b605eaf73852fb2dae033f1e786155959de3a)) +- **sec:** disregard protocol-relative URL to remediate SSRF ([#6539](https://github.com/axios/axios/issues/6539)) ([07a661a](https://github.com/axios/axios/commit/07a661a2a6b9092c4aa640dcc7f724ec5e65bdda)) + +### Contributors to this release + +- avatar [Lev Pachmanov](https://github.com/levpachmanov '+47/-11 (#6543 )') +- avatar [Đỗ Trọng Hải](https://github.com/hainenber '+49/-4 (#6539 )') + +## [1.7.3](https://github.com/axios/axios/compare/v1.7.2...v1.7.3) (2024-08-01) + +### Bug Fixes + +- **adapter:** fix progress event emitting; ([#6518](https://github.com/axios/axios/issues/6518)) ([e3c76fc](https://github.com/axios/axios/commit/e3c76fc9bdd03aa4d98afaf211df943e2031453f)) +- **fetch:** fix withCredentials request config ([#6505](https://github.com/axios/axios/issues/6505)) ([85d4d0e](https://github.com/axios/axios/commit/85d4d0ea0aae91082f04e303dec46510d1b4e787)) +- **xhr:** return original config on errors from XHR adapter ([#6515](https://github.com/axios/axios/issues/6515)) ([8966ee7](https://github.com/axios/axios/commit/8966ee7ea62ecbd6cfb39a905939bcdab5cf6388)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+211/-159 (#6518 #6519 )') +- avatar [Valerii Sidorenko](https://github.com/ValeraS '+3/-3 (#6515 )') +- avatar [prianYu](https://github.com/prianyu '+2/-2 (#6505 )') + +## [1.7.2](https://github.com/axios/axios/compare/v1.7.1...v1.7.2) (2024-05-21) + +### Bug Fixes + +- **fetch:** enhance fetch API detection; ([#6413](https://github.com/axios/axios/issues/6413)) ([4f79aef](https://github.com/axios/axios/commit/4f79aef81b7c4644328365bfc33acf0a9ef595bc)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+3/-3 (#6413 )') + +## [1.7.1](https://github.com/axios/axios/compare/v1.7.0...v1.7.1) (2024-05-20) + +### Bug Fixes + +- **fetch:** fixed ReferenceError issue when TextEncoder is not available in the environment; ([#6410](https://github.com/axios/axios/issues/6410)) ([733f15f](https://github.com/axios/axios/commit/733f15fe5bd2d67e1fadaee82e7913b70d45dc5e)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+14/-9 (#6410 )') + +# [1.7.0](https://github.com/axios/axios/compare/v1.7.0-beta.2...v1.7.0) (2024-05-19) + +### Features + +- **adapter:** add fetch adapter; ([#6371](https://github.com/axios/axios/issues/6371)) ([a3ff99b](https://github.com/axios/axios/commit/a3ff99b59d8ec2ab5dd049e68c043617a4072e42)) + +### Bug Fixes + +- **core/axios:** handle un-writable error stack ([#6362](https://github.com/axios/axios/issues/6362)) ([81e0455](https://github.com/axios/axios/commit/81e0455b7b57fbaf2be16a73ebe0e6591cc6d8f9)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+1015/-127 (#6371 )') +- avatar [Jay](https://github.com/jasonsaayman '+30/-14 ()') +- avatar [Alexandre ABRIOUX](https://github.com/alexandre-abrioux '+56/-6 (#6362 )') + +# [1.7.0-beta.2](https://github.com/axios/axios/compare/v1.7.0-beta.1...v1.7.0-beta.2) (2024-05-19) + +### Bug Fixes + +- **fetch:** capitalize HTTP method names; ([#6395](https://github.com/axios/axios/issues/6395)) ([ad3174a](https://github.com/axios/axios/commit/ad3174a3515c3c2573f4bcb94818d582826f3914)) +- **fetch:** fix & optimize progress capturing for cases when the request data has a nullish value or zero data length ([#6400](https://github.com/axios/axios/issues/6400)) ([95a3e8e](https://github.com/axios/axios/commit/95a3e8e346cfd6a5548e171f2341df3235d0e26b)) +- **fetch:** fix headers getting from a stream response; ([#6401](https://github.com/axios/axios/issues/6401)) ([870e0a7](https://github.com/axios/axios/commit/870e0a76f60d0094774a6a63fa606eec52a381af)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+99/-46 (#6405 #6404 #6401 #6400 #6395 )') + +# [1.7.0-beta.1](https://github.com/axios/axios/compare/v1.7.0-beta.0...v1.7.0-beta.1) (2024-05-07) + +### Bug Fixes + +- **core/axios:** handle un-writable error stack ([#6362](https://github.com/axios/axios/issues/6362)) ([81e0455](https://github.com/axios/axios/commit/81e0455b7b57fbaf2be16a73ebe0e6591cc6d8f9)) +- **fetch:** fix cases when ReadableStream or Response.body are not available; ([#6377](https://github.com/axios/axios/issues/6377)) ([d1d359d](https://github.com/axios/axios/commit/d1d359da347704e8b28d768e61515a3e96c5b072)) +- **fetch:** treat fetch-related TypeError as an AxiosError.ERR_NETWORK error; ([#6380](https://github.com/axios/axios/issues/6380)) ([bb5f9a5](https://github.com/axios/axios/commit/bb5f9a5ab768452de9e166dc28d0ffc234245ef1)) + +### Contributors to this release + +- avatar [Alexandre ABRIOUX](https://github.com/alexandre-abrioux '+56/-6 (#6362 )') +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+42/-17 (#6380 #6377 )') + +# [1.7.0-beta.0](https://github.com/axios/axios/compare/v1.6.8...v1.7.0-beta.0) (2024-04-28) + +### Features + +- **adapter:** add fetch adapter; ([#6371](https://github.com/axios/axios/issues/6371)) ([a3ff99b](https://github.com/axios/axios/commit/a3ff99b59d8ec2ab5dd049e68c043617a4072e42)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+1015/-127 (#6371 )') +- avatar [Jay](https://github.com/jasonsaayman '+30/-14 ()') + +## [1.6.8](https://github.com/axios/axios/compare/v1.6.7...v1.6.8) (2024-03-15) + +### Bug Fixes + +- **AxiosHeaders:** fix AxiosHeaders conversion to an object during config merging ([#6243](https://github.com/axios/axios/issues/6243)) ([2656612](https://github.com/axios/axios/commit/2656612bc10fe2757e9832b708ed773ab340b5cb)) +- **import:** use named export for EventEmitter; ([7320430](https://github.com/axios/axios/commit/7320430aef2e1ba2b89488a0eaf42681165498b1)) +- **vulnerability:** update follow-redirects to 1.15.6 ([#6300](https://github.com/axios/axios/issues/6300)) ([8786e0f](https://github.com/axios/axios/commit/8786e0ff55a8c68d4ca989801ad26df924042e27)) + +### Contributors to this release + +- avatar [Jay](https://github.com/jasonsaayman '+4572/-3446 (#6238 )') +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+30/-0 (#6231 )') +- avatar [Mitchell](https://github.com/Creaous '+9/-9 (#6300 )') +- avatar [Emmanuel](https://github.com/mannoeu '+2/-2 (#6196 )') +- avatar [Lucas Keller](https://github.com/ljkeller '+3/-0 (#6194 )') +- avatar [Aditya Mogili](https://github.com/ADITYA-176 '+1/-1 ()') +- avatar [Miroslav Petrov](https://github.com/petrovmiroslav '+1/-1 (#6243 )') + +## [1.6.7](https://github.com/axios/axios/compare/v1.6.6...v1.6.7) (2024-01-25) + +### Bug Fixes + +- capture async stack only for rejections with native error objects; ([#6203](https://github.com/axios/axios/issues/6203)) ([1a08f90](https://github.com/axios/axios/commit/1a08f90f402336e4d00e9ee82f211c6adb1640b0)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+30/-26 (#6203 )') +- avatar [zhoulixiang](https://github.com/zh-lx '+0/-3 (#6186 )') + +## [1.6.6](https://github.com/axios/axios/compare/v1.6.5...v1.6.6) (2024-01-24) + +### Bug Fixes + +- fixed missed dispatchBeforeRedirect argument ([#5778](https://github.com/axios/axios/issues/5778)) ([a1938ff](https://github.com/axios/axios/commit/a1938ff073fcb0f89011f001dfbc1fa1dc995e39)) +- wrap errors to improve async stack trace ([#5987](https://github.com/axios/axios/issues/5987)) ([123f354](https://github.com/axios/axios/commit/123f354b920f154a209ea99f76b7b2ef3d9ebbab)) + +### Contributors to this release + +- avatar [Ilya Priven](https://github.com/ikonst '+91/-8 (#5987 )') +- avatar [Zao Soula](https://github.com/zaosoula '+6/-6 (#5778 )') + +## [1.6.5](https://github.com/axios/axios/compare/v1.6.4...v1.6.5) (2024-01-05) + +### Bug Fixes + +- **ci:** refactor notify action as a job of publish action; ([#6176](https://github.com/axios/axios/issues/6176)) ([0736f95](https://github.com/axios/axios/commit/0736f95ce8776366dc9ca569f49ba505feb6373c)) +- **dns:** fixed lookup error handling; ([#6175](https://github.com/axios/axios/issues/6175)) ([f4f2b03](https://github.com/axios/axios/commit/f4f2b039dd38eb4829e8583caede4ed6d2dd59be)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+41/-6 (#6176 #6175 )') +- avatar [Jay](https://github.com/jasonsaayman '+6/-1 ()') + +## [1.6.4](https://github.com/axios/axios/compare/v1.6.3...v1.6.4) (2024-01-03) + +### Bug Fixes + +- **security:** fixed formToJSON prototype pollution vulnerability; ([#6167](https://github.com/axios/axios/issues/6167)) ([3c0c11c](https://github.com/axios/axios/commit/3c0c11cade045c4412c242b5727308cff9897a0e)) +- **security:** fixed security vulnerability in follow-redirects ([#6163](https://github.com/axios/axios/issues/6163)) ([75af1cd](https://github.com/axios/axios/commit/75af1cdff5b3a6ca3766d3d3afbc3115bb0811b8)) + +### Contributors to this release + +- avatar [Jay](https://github.com/jasonsaayman '+34/-6 ()') +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+34/-3 (#6172 #6167 )') +- avatar [Guy Nesher](https://github.com/gnesher '+10/-10 (#6163 )') + +## [1.6.3](https://github.com/axios/axios/compare/v1.6.2...v1.6.3) (2023-12-26) + +### Bug Fixes + +- Regular Expression Denial of Service (ReDoS) ([#6132](https://github.com/axios/axios/issues/6132)) ([5e7ad38](https://github.com/axios/axios/commit/5e7ad38fb0f819fceb19fb2ee5d5d38f56aa837d)) + +### Contributors to this release + +- avatar [Jay](https://github.com/jasonsaayman '+15/-6 (#6145 )') +- avatar [Willian Agostini](https://github.com/WillianAgostini '+17/-2 (#6132 )') +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+3/-0 (#6084 )') + +## [1.6.2](https://github.com/axios/axios/compare/v1.6.1...v1.6.2) (2023-11-14) + +### Features + +- **withXSRFToken:** added withXSRFToken option as a workaround to achieve the old `withCredentials` behavior; ([#6046](https://github.com/axios/axios/issues/6046)) ([cff9967](https://github.com/axios/axios/commit/cff996779b272a5e94c2b52f5503ccf668bc42dc)) + +### PRs + +- feat(withXSRFToken): added withXSRFToken option as a workaround to achieve the old `withCredentials` behavior; ( [#6046](https://api.github.com/repos/axios/axios/pulls/6046) ) + +``` + +📢 This PR added 'withXSRFToken' option as a replacement for old withCredentials behaviour. +You should now use withXSRFToken along with withCredential to get the old behavior. +This functionality is considered as a fix. +``` + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+271/-146 (#6081 #6080 #6079 #6078 #6046 #6064 #6063 )') +- avatar [Ng Choon Khon (CK)](https://github.com/ckng0221 '+4/-4 (#6073 )') +- avatar [Muhammad Noman](https://github.com/mnomanmemon '+2/-2 (#6048 )') + +## [1.6.1](https://github.com/axios/axios/compare/v1.6.0...v1.6.1) (2023-11-08) + +### Bug Fixes + +- **formdata:** fixed content-type header normalization for non-standard browser environments; ([#6056](https://github.com/axios/axios/issues/6056)) ([dd465ab](https://github.com/axios/axios/commit/dd465ab22bbfa262c6567be6574bf46a057d5288)) +- **platform:** fixed emulated browser detection in node.js environment; ([#6055](https://github.com/axios/axios/issues/6055)) ([3dc8369](https://github.com/axios/axios/commit/3dc8369e505e32a4e12c22f154c55fd63ac67fbb)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+432/-65 (#6059 #6056 #6055 )') +- avatar [Fabian Meyer](https://github.com/meyfa '+5/-2 (#5835 )') + +### PRs + +- feat(withXSRFToken): added withXSRFToken option as a workaround to achieve the old `withCredentials` behavior; ( [#6046](https://api.github.com/repos/axios/axios/pulls/6046) ) + +``` + +📢 This PR added 'withXSRFToken' option as a replacement for old withCredentials behaviour. +You should now use withXSRFToken along with withCredential to get the old behavior. +This functionality is considered as a fix. +``` + +# [1.6.0](https://github.com/axios/axios/compare/v1.5.1...v1.6.0) (2023-10-26) + +### Bug Fixes + +- **CSRF:** fixed CSRF vulnerability CVE-2023-45857 ([#6028](https://github.com/axios/axios/issues/6028)) ([96ee232](https://github.com/axios/axios/commit/96ee232bd3ee4de2e657333d4d2191cd389e14d0)) +- **dns:** fixed lookup function decorator to work properly in node v20; ([#6011](https://github.com/axios/axios/issues/6011)) ([5aaff53](https://github.com/axios/axios/commit/5aaff532a6b820bb9ab6a8cd0f77131b47e2adb8)) +- **types:** fix AxiosHeaders types; ([#5931](https://github.com/axios/axios/issues/5931)) ([a1c8ad0](https://github.com/axios/axios/commit/a1c8ad008b3c13d53e135bbd0862587fb9d3fc09)) + +### PRs + +- CVE 2023 45857 ( [#6028](https://api.github.com/repos/axios/axios/pulls/6028) ) + +``` + +⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 +``` + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+449/-114 (#6032 #6021 #6011 #5932 #5931 )') +- avatar [Valentin Panov](https://github.com/valentin-panov '+4/-4 (#6028 )') +- avatar [Rinku Chaudhari](https://github.com/therealrinku '+1/-1 (#5889 )') + +## [1.5.1](https://github.com/axios/axios/compare/v1.5.0...v1.5.1) (2023-09-26) + +### Bug Fixes + +- **adapters:** improved adapters loading logic to have clear error messages; ([#5919](https://github.com/axios/axios/issues/5919)) ([e410779](https://github.com/axios/axios/commit/e4107797a7a1376f6209fbecfbbce73d3faa7859)) +- **formdata:** fixed automatic addition of the `Content-Type` header for FormData in non-browser environments; ([#5917](https://github.com/axios/axios/issues/5917)) ([bc9af51](https://github.com/axios/axios/commit/bc9af51b1886d1b3529617702f2a21a6c0ed5d92)) +- **headers:** allow `content-encoding` header to handle case-insensitive values ([#5890](https://github.com/axios/axios/issues/5890)) ([#5892](https://github.com/axios/axios/issues/5892)) ([4c89f25](https://github.com/axios/axios/commit/4c89f25196525e90a6e75eda9cb31ae0a2e18acd)) +- **types:** removed duplicated code ([9e62056](https://github.com/axios/axios/commit/9e6205630e1c9cf863adf141c0edb9e6d8d4b149)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+89/-18 (#5919 #5917 )') +- avatar [David Dallas](https://github.com/DavidJDallas '+11/-5 ()') +- avatar [Sean Sattler](https://github.com/fb-sean '+2/-8 ()') +- avatar [Mustafa Ateş Uzun](https://github.com/0o001 '+4/-4 ()') +- avatar [Przemyslaw Motacki](https://github.com/sfc-gh-pmotacki '+2/-1 (#5892 )') +- avatar [Michael Di Prisco](https://github.com/Cadienvan '+1/-1 ()') + +### PRs + +- CVE 2023 45857 ( [#6028](https://api.github.com/repos/axios/axios/pulls/6028) ) + +``` + +⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 +``` + +# [1.5.0](https://github.com/axios/axios/compare/v1.4.0...v1.5.0) (2023-08-26) + +### Bug Fixes + +- **adapter:** make adapter loading error more clear by using platform-specific adapters explicitly ([#5837](https://github.com/axios/axios/issues/5837)) ([9a414bb](https://github.com/axios/axios/commit/9a414bb6c81796a95c6c7fe668637825458e8b6d)) +- **dns:** fixed `cacheable-lookup` integration; ([#5836](https://github.com/axios/axios/issues/5836)) ([b3e327d](https://github.com/axios/axios/commit/b3e327dcc9277bdce34c7ef57beedf644b00d628)) +- **headers:** added support for setting header names that overlap with class methods; ([#5831](https://github.com/axios/axios/issues/5831)) ([d8b4ca0](https://github.com/axios/axios/commit/d8b4ca0ea5f2f05efa4edfe1e7684593f9f68273)) +- **headers:** fixed common Content-Type header merging; ([#5832](https://github.com/axios/axios/issues/5832)) ([8fda276](https://github.com/axios/axios/commit/8fda2766b1e6bcb72c3fabc146223083ef13ce17)) + +### Features + +- export getAdapter function ([#5324](https://github.com/axios/axios/issues/5324)) ([ca73eb8](https://github.com/axios/axios/commit/ca73eb878df0ae2dace81fe3a7f1fb5986231bf1)) +- **export:** export adapters without `unsafe` prefix ([#5839](https://github.com/axios/axios/issues/5839)) ([1601f4a](https://github.com/axios/axios/commit/1601f4a27a81ab47fea228f1e244b2c4e3ce28bf)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+66/-29 (#5839 #5837 #5836 #5832 #5831 )') +- avatar [夜葬](https://github.com/geekact '+42/-0 (#5324 )') +- avatar [Jonathan Budiman](https://github.com/JBudiman00 '+30/-0 (#5788 )') +- avatar [Michael Di Prisco](https://github.com/Cadienvan '+3/-5 (#5791 )') + +### PRs + +- CVE 2023 45857 ( [#6028](https://api.github.com/repos/axios/axios/pulls/6028) ) + +``` + +⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 +``` + +# [1.4.0](https://github.com/axios/axios/compare/v1.3.6...v1.4.0) (2023-04-27) + +### Bug Fixes + +- **formdata:** add `multipart/form-data` content type for FormData payload on custom client environments; ([#5678](https://github.com/axios/axios/issues/5678)) ([bbb61e7](https://github.com/axios/axios/commit/bbb61e70cb1185adfb1cbbb86eaf6652c48d89d1)) +- **package:** export package internals with unsafe path prefix; ([#5677](https://github.com/axios/axios/issues/5677)) ([df38c94](https://github.com/axios/axios/commit/df38c949f26414d88ba29ec1e353c4d4f97eaf09)) + +### Features + +- **dns:** added support for a custom lookup function; ([#5339](https://github.com/axios/axios/issues/5339)) ([2701911](https://github.com/axios/axios/commit/2701911260a1faa5cc5e1afe437121b330a3b7bb)) +- **types:** export `AxiosHeaderValue` type. ([#5525](https://github.com/axios/axios/issues/5525)) ([726f1c8](https://github.com/axios/axios/commit/726f1c8e00cffa0461a8813a9bdcb8f8b9d762cf)) + +### Performance Improvements + +- **merge-config:** optimize mergeConfig performance by avoiding duplicate key visits; ([#5679](https://github.com/axios/axios/issues/5679)) ([e6f7053](https://github.com/axios/axios/commit/e6f7053bf1a3e87cf1f9da8677e12e3fe829d68e)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+151/-16 (#5684 #5339 #5679 #5678 #5677 )') +- avatar [Arthur Fiorette](https://github.com/arthurfiorette '+19/-19 (#5525 )') +- avatar [PIYUSH NEGI](https://github.com/npiyush97 '+2/-18 (#5670 )') + +### PRs + +- CVE 2023 45857 ( [#6028](https://api.github.com/repos/axios/axios/pulls/6028) ) + +``` + +⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 +``` + +## [1.3.6](https://github.com/axios/axios/compare/v1.3.5...v1.3.6) (2023-04-19) + +### Bug Fixes + +- **types:** added transport to RawAxiosRequestConfig ([#5445](https://github.com/axios/axios/issues/5445)) ([6f360a2](https://github.com/axios/axios/commit/6f360a2531d8d70363fd9becef6a45a323f170e2)) +- **utils:** make isFormData detection logic stricter to avoid unnecessary calling of the `toString` method on the target; ([#5661](https://github.com/axios/axios/issues/5661)) ([aa372f7](https://github.com/axios/axios/commit/aa372f7306295dfd1100c1c2c77ce95c95808e76)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+48/-10 (#5665 #5661 #5663 )') +- avatar [Michael Di Prisco](https://github.com/Cadienvan '+2/-0 (#5445 )') + +### PRs + +- CVE 2023 45857 ( [#6028](https://api.github.com/repos/axios/axios/pulls/6028) ) + +``` + +⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 +``` + +## [1.3.5](https://github.com/axios/axios/compare/v1.3.4...v1.3.5) (2023-04-05) + +### Bug Fixes + +- **headers:** fixed isValidHeaderName to support full list of allowed characters; ([#5584](https://github.com/axios/axios/issues/5584)) ([e7decef](https://github.com/axios/axios/commit/e7decef6a99f4627e27ed9ea5b00ce8e201c3841)) +- **params:** re-added the ability to set the function as `paramsSerializer` config; ([#5633](https://github.com/axios/axios/issues/5633)) ([a56c866](https://github.com/axios/axios/commit/a56c8661209d5ce5a645a05f294a0e08a6c1f6b3)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+28/-10 (#5633 #5584 )') + +### PRs + +- CVE 2023 45857 ( [#6028](https://api.github.com/repos/axios/axios/pulls/6028) ) + +``` + +⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 +``` + +## [1.3.4](https://github.com/axios/axios/compare/v1.3.3...v1.3.4) (2023-02-22) + +### Bug Fixes + +- **blob:** added a check to make sure the Blob class is available in the browser's global scope; ([#5548](https://github.com/axios/axios/issues/5548)) ([3772c8f](https://github.com/axios/axios/commit/3772c8fe74112a56e3e9551f894d899bc3a9443a)) +- **http:** fixed regression bug when handling synchronous errors inside the adapter; ([#5564](https://github.com/axios/axios/issues/5564)) ([a3b246c](https://github.com/axios/axios/commit/a3b246c9de5c3bc4b5a742e15add55b375479451)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+38/-26 (#5564 )') +- avatar [lcysgsg](https://github.com/lcysgsg '+4/-0 (#5548 )') +- avatar [Michael Di Prisco](https://github.com/Cadienvan '+3/-0 (#5444 )') + +### PRs + +- CVE 2023 45857 ( [#6028](https://api.github.com/repos/axios/axios/pulls/6028) ) + +``` + +⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 +``` + +## [1.3.3](https://github.com/axios/axios/compare/v1.3.2...v1.3.3) (2023-02-13) + +### Bug Fixes + +- **formdata:** added a check to make sure the FormData class is available in the browser's global scope; ([#5545](https://github.com/axios/axios/issues/5545)) ([a6dfa72](https://github.com/axios/axios/commit/a6dfa72010db5ad52db8bd13c0f98e537e8fd05d)) +- **formdata:** fixed setting NaN as Content-Length for form payload in some cases; ([#5535](https://github.com/axios/axios/issues/5535)) ([c19f7bf](https://github.com/axios/axios/commit/c19f7bf770f90ae8307f4ea3104f227056912da1)) +- **headers:** fixed the filtering logic of the clear method; ([#5542](https://github.com/axios/axios/issues/5542)) ([ea87ebf](https://github.com/axios/axios/commit/ea87ebfe6d1699af072b9e7cd40faf8f14b0ab93)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+11/-7 (#5545 #5535 #5542 )') +- avatar [陈若枫](https://github.com/ruofee '+2/-2 (#5467 )') + +### PRs + +- CVE 2023 45857 ( [#6028](https://api.github.com/repos/axios/axios/pulls/6028) ) + +``` + +⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 +``` + +## [1.3.2](https://github.com/axios/axios/compare/v1.3.1...v1.3.2) (2023-02-03) + +### Bug Fixes + +- **http:** treat http://localhost as base URL for relative paths to avoid `ERR_INVALID_URL` error; ([#5528](https://github.com/axios/axios/issues/5528)) ([128d56f](https://github.com/axios/axios/commit/128d56f4a0fb8f5f2ed6e0dd80bc9225fee9538c)) +- **http:** use explicit import instead of TextEncoder global; ([#5530](https://github.com/axios/axios/issues/5530)) ([6b3c305](https://github.com/axios/axios/commit/6b3c305fc40c56428e0afabedc6f4d29c2830f6f)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+2/-1 (#5530 #5528 )') + +### PRs + +- CVE 2023 45857 ( [#6028](https://api.github.com/repos/axios/axios/pulls/6028) ) + +``` + +⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 +``` + +## [1.3.1](https://github.com/axios/axios/compare/v1.3.0...v1.3.1) (2023-02-01) + +### Bug Fixes + +- **formdata:** add hotfix to use the asynchronous API to compute the content-length header value; ([#5521](https://github.com/axios/axios/issues/5521)) ([96d336f](https://github.com/axios/axios/commit/96d336f527619f21da012fe1f117eeb53e5a2120)) +- **serializer:** fixed serialization of array-like objects; ([#5518](https://github.com/axios/axios/issues/5518)) ([08104c0](https://github.com/axios/axios/commit/08104c028c0f9353897b1b6691d74c440fd0c32d)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+27/-8 (#5521 #5518 )') + +### PRs + +- CVE 2023 45857 ( [#6028](https://api.github.com/repos/axios/axios/pulls/6028) ) + +``` + +⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 +``` + +# [1.3.0](https://github.com/axios/axios/compare/v1.2.6...v1.3.0) (2023-01-31) + +### Bug Fixes + +- **headers:** fixed & optimized clear method; ([#5507](https://github.com/axios/axios/issues/5507)) ([9915635](https://github.com/axios/axios/commit/9915635c69d0ab70daca5738488421f67ca60959)) +- **http:** add zlib headers if missing ([#5497](https://github.com/axios/axios/issues/5497)) ([65e8d1e](https://github.com/axios/axios/commit/65e8d1e28ce829f47a837e45129730e541950d3c)) + +### Features + +- **fomdata:** added support for spec-compliant FormData & Blob types; ([#5316](https://github.com/axios/axios/issues/5316)) ([6ac574e](https://github.com/axios/axios/commit/6ac574e00a06731288347acea1e8246091196953)) + +### Contributors to this release + +- avatar [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+352/-67 (#5514 #5512 #5510 #5509 #5508 #5316 #5507 )') +- avatar [ItsNotGoodName](https://github.com/ItsNotGoodName '+43/-2 (#5497 )') + +### PRs + +- CVE 2023 45857 ( [#6028](https://api.github.com/repos/axios/axios/pulls/6028) ) + +``` + +⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 +``` + +## [1.2.6](https://github.com/axios/axios/compare/v1.2.5...v1.2.6) (2023-01-28) + +### Bug Fixes + +- **headers:** added missed Authorization accessor; ([#5502](https://github.com/axios/axios/issues/5502)) ([342c0ba](https://github.com/axios/axios/commit/342c0ba9a16ea50f5ed7d2366c5c1a2c877e3f26)) +- **types:** fixed `CommonRequestHeadersList` & `CommonResponseHeadersList` types to be private in commonJS; ([#5503](https://github.com/axios/axios/issues/5503)) ([5a3d0a3](https://github.com/axios/axios/commit/5a3d0a3234d77361a1bc7cedee2da1e11df08e2c)) + +### Contributors to this release + +- ![avatar](https://avatars.githubusercontent.com/u/12586868?v=4&s=16) [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+24/-9 (#5503 #5502 )') + +### PRs + +- CVE 2023 45857 ( [#6028](https://api.github.com/repos/axios/axios/pulls/6028) ) + +``` + +⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 +``` + +## [1.2.5](https://github.com/axios/axios/compare/v1.2.4...v1.2.5) (2023-01-26) + +### Bug Fixes + +- **types:** fixed AxiosHeaders to handle spread syntax by making all methods non-enumerable; ([#5499](https://github.com/axios/axios/issues/5499)) ([580f1e8](https://github.com/axios/axios/commit/580f1e8033a61baa38149d59fd16019de3932c22)) + +### Contributors to this release + +- ![avatar](https://avatars.githubusercontent.com/u/12586868?v=4&s=16) [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+82/-54 (#5499 )') +- ![avatar](https://avatars.githubusercontent.com/u/20516159?v=4&s=16) [Elliot Ford](https://github.com/EFord36 '+1/-1 (#5462 )') + +### PRs + +- CVE 2023 45857 ( [#6028](https://api.github.com/repos/axios/axios/pulls/6028) ) + +``` + +⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 +``` + +## [1.2.4](https://github.com/axios/axios/compare/v1.2.3...v1.2.4) (2023-01-22) + +### Bug Fixes + +- **types:** renamed `RawAxiosRequestConfig` back to `AxiosRequestConfig`; ([#5486](https://github.com/axios/axios/issues/5486)) ([2a71f49](https://github.com/axios/axios/commit/2a71f49bc6c68495fa419003a3107ed8bd703ad0)) +- **types:** fix `AxiosRequestConfig` generic; ([#5478](https://github.com/axios/axios/issues/5478)) ([9bce81b](https://github.com/axios/axios/commit/186ea062da8b7d578ae78b1a5c220986b9bce81b)) + +### Contributors to this release + +- ![avatar](https://avatars.githubusercontent.com/u/12586868?v=4&s=16) [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+242/-108 (#5486 #5482 )') +- ![avatar](https://avatars.githubusercontent.com/u/9430821?v=4&s=16) [Daniel Hillmann](https://github.com/hilleer '+1/-1 (#5478 )') + +### PRs + +- CVE 2023 45857 ( [#6028](https://api.github.com/repos/axios/axios/pulls/6028) ) + +``` + +⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 +``` + +## [1.2.3](https://github.com/axios/axios/compare/1.2.2...1.2.3) (2023-01-10) + +### Bug Fixes + +- **types:** fixed AxiosRequestConfig header interface by refactoring it to RawAxiosRequestConfig; ([#5420](https://github.com/axios/axios/issues/5420)) ([0811963](https://github.com/axios/axios/commit/08119634a22f1d5b19f5c9ea0adccb6d3eebc3bc)) + +### Contributors to this release + +- ![avatar](https://avatars.githubusercontent.com/u/12586868?v=4&s=16) [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS '+938/-442 (#5456 #5455 #5453 #5451 #5449 #5447 #5446 #5443 #5442 #5439 #5420 )') + +### PRs + +- CVE 2023 45857 ( [#6028](https://api.github.com/repos/axios/axios/pulls/6028) ) + +``` + +⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 +``` + +## [1.2.2] - 2022-12-29 + +### Fixed + +- fix(ci): fix release script inputs [#5392](https://github.com/axios/axios/pull/5392) +- fix(ci): prerelease scipts [#5377](https://github.com/axios/axios/pull/5377) +- fix(ci): release scripts [#5376](https://github.com/axios/axios/pull/5376) +- fix(ci): typescript tests [#5375](https://github.com/axios/axios/pull/5375) +- fix: Brotli decompression [#5353](https://github.com/axios/axios/pull/5353) +- fix: add missing HttpStatusCode [#5345](https://github.com/axios/axios/pull/5345) + +### Chores + +- chore(ci): set conventional-changelog header config [#5406](https://github.com/axios/axios/pull/5406) +- chore(ci): fix automatic contributors resolving [#5403](https://github.com/axios/axios/pull/5403) +- chore(ci): improved logging for the contributors list generator [#5398](https://github.com/axios/axios/pull/5398) +- chore(ci): fix release action [#5397](https://github.com/axios/axios/pull/5397) +- chore(ci): fix version bump script by adding bump argument for target version [#5393](https://github.com/axios/axios/pull/5393) +- chore(deps): bump decode-uri-component from 0.2.0 to 0.2.2 [#5342](https://github.com/axios/axios/pull/5342) +- chore(ci): GitHub Actions Release script [#5384](https://github.com/axios/axios/pull/5384) +- chore(ci): release scripts [#5364](https://github.com/axios/axios/pull/5364) + +### Contributors to this release + +- ![avatar](https://avatars.githubusercontent.com/u/12586868?v=4&s=16) [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS) +- ![avatar](https://avatars.githubusercontent.com/u/1652293?v=4&s=16) [Winnie](https://github.com/winniehell) + +## [1.2.1] - 2022-12-05 + +### Changed + +- feat(exports): export mergeConfig [#5151](https://github.com/axios/axios/pull/5151) + +### Fixed + +- fix(CancelledError): include config [#4922](https://github.com/axios/axios/pull/4922) +- fix(general): removing multiple/trailing/leading whitespace [#5022](https://github.com/axios/axios/pull/5022) +- fix(headers): decompression for responses without Content-Length header [#5306](https://github.com/axios/axios/pull/5306) +- fix(webWorker): exception to sending form data in web worker [#5139](https://github.com/axios/axios/pull/5139) + +### Refactors + +- refactor(types): AxiosProgressEvent.event type to any [#5308](https://github.com/axios/axios/pull/5308) +- refactor(types): add missing types for static AxiosError.from method [#4956](https://github.com/axios/axios/pull/4956) + +### Chores + +- chore(docs): remove README link to non-existent upgrade guide [#5307](https://github.com/axios/axios/pull/5307) +- chore(docs): typo in issue template name [#5159](https://github.com/axios/axios/pull/5159) + +### Contributors to this release + +- [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS) +- [Zachary Lysobey](https://github.com/zachlysobey) +- [Kevin Ennis](https://github.com/kevincennis) +- [Philipp Loose](https://github.com/phloose) +- [secondl1ght](https://github.com/secondl1ght) +- [wenzheng](https://github.com/0x30) +- [Ivan Barsukov](https://github.com/ovarn) +- [Arthur Fiorette](https://github.com/arthurfiorette) + +### PRs + +- CVE 2023 45857 ( [#6028](https://api.github.com/repos/axios/axios/pulls/6028) ) + +``` + +⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 +``` + +## [1.2.0] - 2022-11-10 + +### Changed + +- changed: refactored module exports [#5162](https://github.com/axios/axios/pull/5162) +- change: re-added support for loading Axios with require('axios').default [#5225](https://github.com/axios/axios/pull/5225) + +### Fixed + +- fix: improve AxiosHeaders class [#5224](https://github.com/axios/axios/pull/5224) +- fix: TypeScript type definitions for commonjs [#5196](https://github.com/axios/axios/pull/5196) +- fix: type definition of use method on AxiosInterceptorManager to match the the README [#5071](https://github.com/axios/axios/pull/5071) +- fix: \_\_dirname is not defined in the sandbox [#5269](https://github.com/axios/axios/pull/5269) +- fix: AxiosError.toJSON method to avoid circular references [#5247](https://github.com/axios/axios/pull/5247) +- fix: Z_BUF_ERROR when content-encoding is set but the response body is empty [#5250](https://github.com/axios/axios/pull/5250) + +### Refactors + +- refactor: allowing adapters to be loaded by name [#5277](https://github.com/axios/axios/pull/5277) + +### Chores + +- chore: force CI restart [#5243](https://github.com/axios/axios/pull/5243) +- chore: update ECOSYSTEM.md [#5077](https://github.com/axios/axios/pull/5077) +- chore: update get/index.html [#5116](https://github.com/axios/axios/pull/5116) +- chore: update Sandbox UI/UX [#5205](https://github.com/axios/axios/pull/5205) +- chore:(actions): remove git credentials after checkout [#5235](https://github.com/axios/axios/pull/5235) +- chore(actions): bump actions/dependency-review-action from 2 to 3 [#5266](https://github.com/axios/axios/pull/5266) +- chore(packages): bump loader-utils from 1.4.1 to 1.4.2 [#5295](https://github.com/axios/axios/pull/5295) +- chore(packages): bump engine.io from 6.2.0 to 6.2.1 [#5294](https://github.com/axios/axios/pull/5294) +- chore(packages): bump socket.io-parser from 4.0.4 to 4.0.5 [#5241](https://github.com/axios/axios/pull/5241) +- chore(packages): bump loader-utils from 1.4.0 to 1.4.1 [#5245](https://github.com/axios/axios/pull/5245) +- chore(docs): update Resources links in README [#5119](https://github.com/axios/axios/pull/5119) +- chore(docs): update the link for JSON url [#5265](https://github.com/axios/axios/pull/5265) +- chore(docs): fix broken links [#5218](https://github.com/axios/axios/pull/5218) +- chore(docs): update and rename UPGRADE_GUIDE.md to MIGRATION_GUIDE.md [#5170](https://github.com/axios/axios/pull/5170) +- chore(docs): typo fix line #856 and #920 [#5194](https://github.com/axios/axios/pull/5194) +- chore(docs): typo fix #800 [#5193](https://github.com/axios/axios/pull/5193) +- chore(docs): fix typos [#5184](https://github.com/axios/axios/pull/5184) +- chore(docs): fix punctuation in README.md [#5197](https://github.com/axios/axios/pull/5197) +- chore(docs): update readme in the Handling Errors section - issue reference #5260 [#5261](https://github.com/axios/axios/pull/5261) +- chore: remove \b from filename [#5207](https://github.com/axios/axios/pull/5207) +- chore(docs): update CHANGELOG.md [#5137](https://github.com/axios/axios/pull/5137) +- chore: add sideEffects false to package.json [#5025](https://github.com/axios/axios/pull/5025) + +### Contributors to this release + +- [Maddy Miller](https://github.com/me4502) +- [Amit Saini](https://github.com/amitsainii) +- [ecyrbe](https://github.com/ecyrbe) +- [Ikko Ashimine](https://github.com/eltociear) +- [Geeth Gunnampalli](https://github.com/thetechie7) +- [Shreem Asati](https://github.com/shreem-123) +- [Frieder Bluemle](https://github.com/friederbluemle) +- [윤세영](https://github.com/yunseyeong) +- [Claudio Busatto](https://github.com/cjcbusatto) +- [Remco Haszing](https://github.com/remcohaszing) +- [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS) +- [Csaba Maulis](https://github.com/om4csaba) +- [MoPaMo](https://github.com/MoPaMo) +- [Daniel Fjeldstad](https://github.com/w3bdesign) +- [Adrien Brunet](https://github.com/adrien-may) +- [Frazer Smith](https://github.com/Fdawgs) +- [HaiTao](https://github.com/836334258) +- [AZM](https://github.com/aziyatali) +- [relbns](https://github.com/relbns) + +### PRs + +- CVE 2023 45857 ( [#6028](https://api.github.com/repos/axios/axios/pulls/6028) ) + +``` + +⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 +``` + +## [1.1.3] - 2022-10-15 + +### Added + +- Added custom params serializer support [#5113](https://github.com/axios/axios/pull/5113) + +### Fixed + +- Fixed top-level export to keep them in-line with static properties [#5109](https://github.com/axios/axios/pull/5109) +- Stopped including null values to query string. [#5108](https://github.com/axios/axios/pull/5108) +- Restored proxy config backwards compatibility with 0.x [#5097](https://github.com/axios/axios/pull/5097) +- Added back AxiosHeaders in AxiosHeaderValue [#5103](https://github.com/axios/axios/pull/5103) +- Pin CDN install instructions to a specific version [#5060](https://github.com/axios/axios/pull/5060) +- Handling of array values fixed for AxiosHeaders [#5085](https://github.com/axios/axios/pull/5085) + +### Chores + +- docs: match badge style, add link to them [#5046](https://github.com/axios/axios/pull/5046) +- chore: fixing comments typo [#5054](https://github.com/axios/axios/pull/5054) +- chore: update issue template [#5061](https://github.com/axios/axios/pull/5061) +- chore: added progress capturing section to the docs; [#5084](https://github.com/axios/axios/pull/5084) + +### Contributors to this release + +- [Jason Saayman](https://github.com/jasonsaayman) +- [scarf](https://github.com/scarf005) +- [Lenz Weber-Tronic](https://github.com/phryneas) +- [Arvindh](https://github.com/itsarvindh) +- [Félix Legrelle](https://github.com/FelixLgr) +- [Patrick Petrovic](https://github.com/ppati000) +- [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS) +- [littledian](https://github.com/littledian) +- [ChronosMasterOfAllTime](https://github.com/ChronosMasterOfAllTime) + +### PRs + +- CVE 2023 45857 ( [#6028](https://api.github.com/repos/axios/axios/pulls/6028) ) + +``` + +⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 +``` + +## [1.1.2] - 2022-10-07 + +### Fixed + +- Fixed broken exports for UMD builds. + +### Contributors to this release + +- [Jason Saayman](https://github.com/jasonsaayman) + +### PRs + +- CVE 2023 45857 ( [#6028](https://api.github.com/repos/axios/axios/pulls/6028) ) + +``` + +⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 +``` + +## [1.1.1] - 2022-10-07 + +### Fixed + +- Fixed broken exports for common js. This fix breaks a prior fix, I will fix both issues ASAP but the commonJS use is more impactful. + +### Contributors to this release + +- [Jason Saayman](https://github.com/jasonsaayman) + +### PRs + +- CVE 2023 45857 ( [#6028](https://api.github.com/repos/axios/axios/pulls/6028) ) + +``` + +⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 +``` + +## [1.1.0] - 2022-10-06 + +### Fixed + +- Fixed missing exports in type definition index.d.ts [#5003](https://github.com/axios/axios/pull/5003) +- Fixed query params composing [#5018](https://github.com/axios/axios/pull/5018) +- Fixed GenericAbortSignal interface by making it more generic [#5021](https://github.com/axios/axios/pull/5021) +- Fixed adding "clear" to AxiosInterceptorManager [#5010](https://github.com/axios/axios/pull/5010) +- Fixed commonjs & umd exports [#5030](https://github.com/axios/axios/pull/5030) +- Fixed inability to access response headers when using axios 1.x with Jest [#5036](https://github.com/axios/axios/pull/5036) + +### Contributors to this release + +- [Trim21](https://github.com/trim21) +- [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS) +- [shingo.sasaki](https://github.com/s-sasaki-0529) +- [Ivan Pepelko](https://github.com/ivanpepelko) +- [Richard Kořínek](https://github.com/risa) + +### PRs + +- CVE 2023 45857 ( [#6028](https://api.github.com/repos/axios/axios/pulls/6028) ) + +``` + +⚠️ Critical vulnerability fix. See https://security.snyk.io/vuln/SNYK-JS-AXIOS-6032459 +``` + +## [1.0.0] - 2022-10-04 + +### Added + +- Added stack trace to AxiosError [#4624](https://github.com/axios/axios/pull/4624) +- Add AxiosError to AxiosStatic [#4654](https://github.com/axios/axios/pull/4654) +- Replaced Rollup as our build runner [#4596](https://github.com/axios/axios/pull/4596) +- Added generic TS types for the exposed toFormData helper [#4668](https://github.com/axios/axios/pull/4668) +- Added listen callback function [#4096](https://github.com/axios/axios/pull/4096) +- Added instructions for installing using PNPM [#4207](https://github.com/axios/axios/pull/4207) +- Added generic AxiosAbortSignal TS interface to avoid importing AbortController polyfill [#4229](https://github.com/axios/axios/pull/4229) +- Added axios-url-template in ECOSYSTEM.md [#4238](https://github.com/axios/axios/pull/4238) +- Added a clear() function to the request and response interceptors object so a user can ensure that all interceptors have been removed from an axios instance [#4248](https://github.com/axios/axios/pull/4248) +- Added react hook plugin [#4319](https://github.com/axios/axios/pull/4319) +- Adding HTTP status code for transformResponse [#4580](https://github.com/axios/axios/pull/4580) +- Added blob to the list of protocols supported by the browser [#4678](https://github.com/axios/axios/pull/4678) +- Resolving proxy from env on redirect [#4436](https://github.com/axios/axios/pull/4436) +- Added enhanced toFormData implementation with additional options [4704](https://github.com/axios/axios/pull/4704) +- Adding Canceler parameters config and request [#4711](https://github.com/axios/axios/pull/4711) +- Added automatic payload serialization to application/x-www-form-urlencoded [#4714](https://github.com/axios/axios/pull/4714) +- Added the ability for webpack users to overwrite built-ins [#4715](https://github.com/axios/axios/pull/4715) +- Added string[] to AxiosRequestHeaders type [#4322](https://github.com/axios/axios/pull/4322) +- Added the ability for the url-encoded-form serializer to respect the formSerializer config [#4721](https://github.com/axios/axios/pull/4721) +- Added isCancel type assert [#4293](https://github.com/axios/axios/pull/4293) +- Added data URL support for node.js [#4725](https://github.com/axios/axios/pull/4725) +- Adding types for progress event callbacks [#4675](https://github.com/axios/axios/pull/4675) +- URL params serializer [#4734](https://github.com/axios/axios/pull/4734) +- Added axios.formToJSON method [#4735](https://github.com/axios/axios/pull/4735) +- Bower platform add data protocol [#4804](https://github.com/axios/axios/pull/4804) +- Use WHATWG URL API instead of url.parse() [#4852](https://github.com/axios/axios/pull/4852) +- Add ENUM containing Http Status Codes to typings [#4903](https://github.com/axios/axios/pull/4903) +- Improve typing of timeout in index.d.ts [#4934](https://github.com/axios/axios/pull/4934) + +### Changed + +- Updated AxiosError.config to be optional in the type definition [#4665](https://github.com/axios/axios/pull/4665) +- Updated README emphasizing the URLSearchParam built-in interface over other solutions [#4590](https://github.com/axios/axios/pull/4590) +- Include request and config when creating a CanceledError instance [#4659](https://github.com/axios/axios/pull/4659) +- Changed func-names eslint rule to as-needed [#4492](https://github.com/axios/axios/pull/4492) +- Replacing deprecated substr() with slice() as substr() is deprecated [#4468](https://github.com/axios/axios/pull/4468) +- Updating HTTP links in README.md to use HTTPS [#4387](https://github.com/axios/axios/pull/4387) +- Updated to a better trim() polyfill [#4072](https://github.com/axios/axios/pull/4072) +- Updated types to allow specifying partial default headers on instance create [#4185](https://github.com/axios/axios/pull/4185) +- Expanded isAxiosError types [#4344](https://github.com/axios/axios/pull/4344) +- Updated type definition for axios instance methods [#4224](https://github.com/axios/axios/pull/4224) +- Updated eslint config [#4722](https://github.com/axios/axios/pull/4722) +- Updated Docs [#4742](https://github.com/axios/axios/pull/4742) +- Refactored Axios to use ES2017 [#4787](https://github.com/axios/axios/pull/4787) + +### Deprecated + +- There are multiple deprecations, refactors and fixes provided in this release. Please read through the full release notes to see how this may impact your project and use case. + +### Removed + +- Removed incorrect argument for NetworkError constructor [#4656](https://github.com/axios/axios/pull/4656) +- Removed Webpack [#4596](https://github.com/axios/axios/pull/4596) +- Removed function that transform arguments to array [#4544](https://github.com/axios/axios/pull/4544) + +### Fixed + +- Fixed grammar in README [#4649](https://github.com/axios/axios/pull/4649) +- Fixed code error in README [#4599](https://github.com/axios/axios/pull/4599) +- Optimized the code that checks cancellation [#4587](https://github.com/axios/axios/pull/4587) +- Fix url pointing to defaults.js in README [#4532](https://github.com/axios/axios/pull/4532) +- Use type alias instead of interface for AxiosPromise [#4505](https://github.com/axios/axios/pull/4505) +- Fix some word spelling and lint style in code comments [#4500](https://github.com/axios/axios/pull/4500) +- Edited readme with 3 updated browser icons of Chrome, FireFox and Safari [#4414](https://github.com/axios/axios/pull/4414) +- Bump follow-redirects from 1.14.9 to 1.15.0 [#4673](https://github.com/axios/axios/pull/4673) +- Fixing http tests to avoid hanging when assertions fail [#4435](https://github.com/axios/axios/pull/4435) +- Fix TS definition for AxiosRequestTransformer [#4201](https://github.com/axios/axios/pull/4201) +- Fix grammatical issues in README [#4232](https://github.com/axios/axios/pull/4232) +- Fixing instance.defaults.headers type [#4557](https://github.com/axios/axios/pull/4557) +- Fixed race condition on immediate requests cancellation [#4261](https://github.com/axios/axios/pull/4261) +- Fixing Z_BUF_ERROR when no content [#4701](https://github.com/axios/axios/pull/4701) +- Fixing proxy beforeRedirect regression [#4708](https://github.com/axios/axios/pull/4708) +- Fixed AxiosError status code type [#4717](https://github.com/axios/axios/pull/4717) +- Fixed AxiosError stack capturing [#4718](https://github.com/axios/axios/pull/4718) +- Fixing AxiosRequestHeaders typings [#4334](https://github.com/axios/axios/pull/4334) +- Fixed max body length defaults [#4731](https://github.com/axios/axios/pull/4731) +- Fixed toFormData Blob issue on node>v17 [#4728](https://github.com/axios/axios/pull/4728) +- Bump grunt from 1.5.2 to 1.5.3 [#4743](https://github.com/axios/axios/pull/4743) +- Fixing content-type header repeated [#4745](https://github.com/axios/axios/pull/4745) +- Fixed timeout error message for http [4738](https://github.com/axios/axios/pull/4738) +- Request ignores false, 0 and empty string as body values [#4785](https://github.com/axios/axios/pull/4785) +- Added back missing minified builds [#4805](https://github.com/axios/axios/pull/4805) +- Fixed a type error [#4815](https://github.com/axios/axios/pull/4815) +- Fixed a regression bug with unsubscribing from cancel token; [#4819](https://github.com/axios/axios/pull/4819) +- Remove repeated compression algorithm [#4820](https://github.com/axios/axios/pull/4820) +- The error of calling extend to pass parameters [#4857](https://github.com/axios/axios/pull/4857) +- SerializerOptions.indexes allows boolean | null | undefined [#4862](https://github.com/axios/axios/pull/4862) +- Require interceptors to return values [#4874](https://github.com/axios/axios/pull/4874) +- Removed unused imports [#4949](https://github.com/axios/axios/pull/4949) +- Allow null indexes on formSerializer and paramsSerializer [#4960](https://github.com/axios/axios/pull/4960) + +### Chores + +- Set permissions for GitHub actions [#4765](https://github.com/axios/axios/pull/4765) +- Included githubactions in the dependabot config [#4770](https://github.com/axios/axios/pull/4770) +- Included dependency review [#4771](https://github.com/axios/axios/pull/4771) +- Update security.md [#4784](https://github.com/axios/axios/pull/4784) +- Remove unnecessary spaces [#4854](https://github.com/axios/axios/pull/4854) +- Simplify the import path of AxiosError [#4875](https://github.com/axios/axios/pull/4875) +- Fix Gitpod dead link [#4941](https://github.com/axios/axios/pull/4941) +- Enable syntax highlighting for a code block [#4970](https://github.com/axios/axios/pull/4970) +- Using Logo Axios in Readme.md [#4993](https://github.com/axios/axios/pull/4993) +- Fix markup for note in README [#4825](https://github.com/axios/axios/pull/4825) +- Fix typo and formatting, add colons [#4853](https://github.com/axios/axios/pull/4853) +- Fix typo in readme [#4942](https://github.com/axios/axios/pull/4942) + +### Security + +- Update SECURITY.md [#4687](https://github.com/axios/axios/pull/4687) + +### Contributors to this release + +- [Bertrand Marron](https://github.com/tusbar) +- [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS) +- [Dan Mooney](https://github.com/danmooney) +- [Michael Li](https://github.com/xiaoyu-tamu) +- [aong](https://github.com/yxwzaxns) +- [Des Preston](https://github.com/despreston) +- [Ted Robertson](https://github.com/tredondo) +- [zhoulixiang](https://github.com/zh-lx) +- [Arthur Fiorette](https://github.com/arthurfiorette) +- [Kumar Shanu](https://github.com/Kr-Shanu) +- [JALAL](https://github.com/JLL32) +- [Jingyi Lin](https://github.com/MageeLin) +- [Philipp Loose](https://github.com/phloose) +- [Alexander Shchukin](https://github.com/sashsvamir) +- [Dave Cardwell](https://github.com/davecardwell) +- [Cat Scarlet](https://github.com/catscarlet) +- [Luca Pizzini](https://github.com/lpizzinidev) +- [Kai](https://github.com/Schweinepriester) +- [Maxime Bargiel](https://github.com/mbargiel) +- [Brian Helba](https://github.com/brianhelba) +- [reslear](https://github.com/reslear) +- [Jamie Slome](https://github.com/JamieSlome) +- [Landro3](https://github.com/Landro3) +- [rafw87](https://github.com/rafw87) +- [Afzal Sayed](https://github.com/afzalsayed96) +- [Koki Oyatsu](https://github.com/kaishuu0123) +- [Dave](https://github.com/wangcch) +- [暴走老七](https://github.com/baozouai) +- [Spencer](https://github.com/spalger) +- [Adrian Wieprzkowicz](https://github.com/Argeento) +- [Jamie Telin](https://github.com/lejahmie) +- [毛呆](https://github.com/aweikalee) +- [Kirill Shakirov](https://github.com/turisap) +- [Rraji Abdelbari](https://github.com/estarossa0) +- [Jelle Schutter](https://github.com/jelleschutter) +- [Tom Ceuppens](https://github.com/KyorCode) +- [Johann Cooper](https://github.com/JohannCooper) +- [Dimitris Halatsis](https://github.com/mitsos1os) +- [chenjigeng](https://github.com/chenjigeng) +- [João Gabriel Quaresma](https://github.com/joaoGabriel55) +- [Victor Augusto](https://github.com/VictorAugDB) +- [neilnaveen](https://github.com/neilnaveen) +- [Pavlos](https://github.com/psmoros) +- [Kiryl Valkovich](https://github.com/visortelle) +- [Naveen](https://github.com/naveensrinivasan) +- [wenzheng](https://github.com/0x30) +- [hcwhan](https://github.com/hcwhan) +- [Bassel Rachid](https://github.com/basselworkforce) +- [Grégoire Pineau](https://github.com/lyrixx) +- [felipedamin](https://github.com/felipedamin) +- [Karl Horky](https://github.com/karlhorky) +- [Yue JIN](https://github.com/kingyue737) +- [Usman Ali Siddiqui](https://github.com/usman250994) +- [WD](https://github.com/techbirds) +- [Günther Foidl](https://github.com/gfoidl) +- [Stephen Jennings](https://github.com/jennings) +- [C.T.Lin](https://github.com/chentsulin) +- [mia-z](https://github.com/mia-z) +- [Parth Banathia](https://github.com/Parth0105) +- [parth0105pluang](https://github.com/parth0105pluang) +- [Marco Weber](https://github.com/mrcwbr) +- [Luca Pizzini](https://github.com/lpizzinidev) +- [Willian Agostini](https://github.com/WillianAgostini) + +- [Huyen Nguyen](https://github.com/huyenltnguyen) diff --git a/dist/node_modules/axios/LICENSE b/dist/node_modules/axios/LICENSE new file mode 100644 index 00000000..05006a51 --- /dev/null +++ b/dist/node_modules/axios/LICENSE @@ -0,0 +1,7 @@ +# Copyright (c) 2014-present Matt Zabriskie & Collaborators + +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. diff --git a/dist/node_modules/axios/MIGRATION_GUIDE.md b/dist/node_modules/axios/MIGRATION_GUIDE.md new file mode 100644 index 00000000..2e59d9d4 --- /dev/null +++ b/dist/node_modules/axios/MIGRATION_GUIDE.md @@ -0,0 +1,877 @@ +# Axios Migration Guide + +> **Migrating from Axios 0.x to 1.x** +> +> This guide helps developers upgrade from Axios 0.x to 1.x by documenting breaking changes, providing migration strategies, and offering solutions to common upgrade challenges. + +## Table of Contents + +- [Overview](#overview) +- [Breaking Changes](#breaking-changes) +- [Error Handling Migration](#error-handling-migration) +- [API Changes](#api-changes) +- [Configuration Changes](#configuration-changes) +- [Migration Strategies](#migration-strategies) +- [Common Patterns](#common-patterns) +- [Troubleshooting](#troubleshooting) +- [Resources](#resources) + +## Overview + +Axios 1.x introduced several breaking changes to improve consistency, security, and developer experience. While these changes provide better error handling and more predictable behavior, they require code updates when migrating from 0.x versions. + +### Key Changes Summary + +| Area | 0.x Behavior | 1.x Behavior | Impact | +|------|--------------|--------------|--------| +| Error Handling | Selective throwing | Consistent throwing | High | +| JSON Parsing | Lenient | Strict | Medium | +| Browser Support | IE11+ | Modern browsers | Low-Medium | +| TypeScript | Partial | Full support | Low | + +### Migration Complexity + +- **Simple applications**: 1-2 hours +- **Medium applications**: 1-2 days +- **Large applications with complex error handling**: 3-5 days + +## Breaking Changes + +### 1. Error Handling Changes + +**The most significant change in Axios 1.x is how errors are handled.** + +#### 0.x Behavior +```javascript +// Axios 0.x - Some HTTP error codes didn't throw +axios.get('/api/data') + .then(response => { + // Response interceptor could handle all errors + console.log('Success:', response.data); + }); + +// Response interceptor handled everything +axios.interceptors.response.use( + response => response, + error => { + handleError(error); + // Error was "handled" and didn't propagate + } +); +``` + +#### 1.x Behavior +```javascript +// Axios 1.x - All HTTP errors throw consistently +axios.get('/api/data') + .then(response => { + console.log('Success:', response.data); + }) + .catch(error => { + // Must handle errors at call site or they propagate + console.error('Request failed:', error); + }); + +// Response interceptor must re-throw or return rejected promise +axios.interceptors.response.use( + response => response, + error => { + handleError(error); + // Must explicitly handle propagation + return Promise.reject(error); // or throw error; + } +); +``` + +#### Impact +- **Response interceptors** can no longer "swallow" errors silently +- **Every API call** must handle errors explicitly or they become unhandled promise rejections +- **Centralized error handling** requires new patterns + +### 2. JSON Parsing Changes + +#### 0.x Behavior +```javascript +// Axios 0.x - Lenient JSON parsing +// Would attempt to parse even invalid JSON +response.data; // Might contain partial data or fallbacks +``` + +#### 1.x Behavior +```javascript +// Axios 1.x - Strict JSON parsing +// Throws clear errors for invalid JSON +try { + const data = response.data; +} catch (error) { + // Handle JSON parsing errors explicitly +} +``` + +### 3. Request/Response Transform Changes + +#### 0.x Behavior +```javascript +// Implicit transformations with some edge cases +transformRequest: [function (data) { + // Less predictable behavior + return data; +}] +``` + +#### 1.x Behavior +```javascript +// More consistent transformation pipeline +transformRequest: [function (data, headers) { + // Headers parameter always available + // More predictable behavior + return data; +}] +``` + +### 4. Browser Support Changes + +- **0.x**: Supported IE11 and older browsers +- **1.x**: Requires modern browsers with Promise support +- **Polyfills**: May be needed for older browser support + +## Error Handling Migration + +The error handling changes are the most complex part of migrating to Axios 1.x. Here are proven strategies: + +### Strategy 1: Centralized Error Handling with Error Boundary + +```javascript +// Create a centralized error handler +class ApiErrorHandler { + constructor() { + this.setupInterceptors(); + } + + setupInterceptors() { + axios.interceptors.response.use( + response => response, + error => { + // Centralized error processing + this.processError(error); + + // Return a resolved promise with error info for handled errors + if (this.isHandledError(error)) { + return Promise.resolve({ + data: null, + error: this.normalizeError(error), + handled: true + }); + } + + // Re-throw unhandled errors + return Promise.reject(error); + } + ); + } + + processError(error) { + // Log errors + console.error('API Error:', error); + + // Show user notifications + if (error.response?.status === 401) { + this.handleAuthError(); + } else if (error.response?.status >= 500) { + this.showErrorNotification('Server error occurred'); + } + } + + isHandledError(error) { + // Define which errors are "handled" centrally + const handledStatuses = [401, 403, 404, 422, 500, 502, 503]; + return handledStatuses.includes(error.response?.status); + } + + normalizeError(error) { + return { + status: error.response?.status, + message: error.response?.data?.message || error.message, + code: error.response?.data?.code || error.code + }; + } + + handleAuthError() { + // Redirect to login, clear tokens, etc. + localStorage.removeItem('token'); + window.location.href = '/login'; + } + + showErrorNotification(message) { + // Show user-friendly error message + console.error(message); // Replace with your notification system + } +} + +// Initialize globally +const errorHandler = new ApiErrorHandler(); + +// Usage in components/services +async function fetchUserData(userId) { + try { + const response = await axios.get(`/api/users/${userId}`); + + // Check if error was handled centrally + if (response.handled) { + return { data: null, error: response.error }; + } + + return { data: response.data, error: null }; + } catch (error) { + // Unhandled errors still need local handling + return { data: null, error: { message: 'Unexpected error occurred' } }; + } +} +``` + +### Strategy 2: Wrapper Function Pattern + +```javascript +// Create a wrapper that provides 0.x-like behavior +function createApiWrapper() { + const api = axios.create(); + + // Add response interceptor for centralized handling + api.interceptors.response.use( + response => response, + error => { + // Handle common errors centrally + if (error.response?.status === 401) { + // Handle auth errors + handleAuthError(); + } + + if (error.response?.status >= 500) { + // Handle server errors + showServerErrorNotification(); + } + + // Always reject to maintain error propagation + return Promise.reject(error); + } + ); + + // Wrapper function that mimics 0.x behavior + function safeRequest(requestConfig, options = {}) { + return api(requestConfig) + .then(response => response) + .catch(error => { + if (options.suppressErrors) { + // Return error info instead of throwing + return { + data: null, + error: { + status: error.response?.status, + message: error.response?.data?.message || error.message + } + }; + } + throw error; + }); + } + + return { safeRequest, axios: api }; +} + +// Usage +const { safeRequest } = createApiWrapper(); + +// For calls where you want centralized error handling +const result = await safeRequest( + { method: 'get', url: '/api/data' }, + { suppressErrors: true } +); + +if (result.error) { + // Handle error case + console.log('Request failed:', result.error.message); +} else { + // Handle success case + console.log('Data:', result.data); +} +``` + +### Strategy 3: Global Error Handler with Custom Events + +```javascript +// Set up global error handling with events +class GlobalErrorHandler extends EventTarget { + constructor() { + super(); + this.setupInterceptors(); + } + + setupInterceptors() { + axios.interceptors.response.use( + response => response, + error => { + // Emit custom event for global handling + this.dispatchEvent(new CustomEvent('apiError', { + detail: { error, timestamp: new Date() } + })); + + // Always reject to maintain proper error flow + return Promise.reject(error); + } + ); + } +} + +const globalErrorHandler = new GlobalErrorHandler(); + +// Set up global listeners +globalErrorHandler.addEventListener('apiError', (event) => { + const { error } = event.detail; + + // Centralized error logic + if (error.response?.status === 401) { + handleAuthError(); + } + + if (error.response?.status >= 500) { + showErrorNotification('Server error occurred'); + } +}); + +// Usage remains clean +async function apiCall() { + try { + const response = await axios.get('/api/data'); + return response.data; + } catch (error) { + // Error was already handled globally + // Just handle component-specific logic + return null; + } +} +``` + +## API Changes + +### Request Configuration + +#### 0.x to 1.x Changes +```javascript +// 0.x - Some properties had different defaults +const config = { + timeout: 0, // No timeout by default + maxContentLength: -1, // No limit +}; + +// 1.x - More secure defaults +const config = { + timeout: 0, // Still no timeout, but easier to configure + maxContentLength: 2000, // Default limit for security + maxBodyLength: 2000, // New property +}; +``` + +### Response Object + +The response object structure remains largely the same, but error responses are more consistent: + +```javascript +// Both 0.x and 1.x +response = { + data: {}, // Response body + status: 200, // HTTP status + statusText: 'OK', // HTTP status message + headers: {}, // Response headers + config: {}, // Request config + request: {} // Request object +}; + +// Error responses are more consistent in 1.x +error.response = { + data: {}, // Error response body + status: 404, // HTTP error status + statusText: 'Not Found', + headers: {}, + config: {}, + request: {} +}; +``` + +## Configuration Changes + +### Default Configuration Updates + +```javascript +// 0.x defaults +axios.defaults.timeout = 0; // No timeout +axios.defaults.maxContentLength = -1; // No limit + +// 1.x defaults (more secure) +axios.defaults.timeout = 0; // Still no timeout +axios.defaults.maxContentLength = 2000; // 2MB limit +axios.defaults.maxBodyLength = 2000; // 2MB limit +``` + +### Instance Configuration + +```javascript +// 0.x - Instance creation +const api = axios.create({ + baseURL: 'https://api.example.com', + timeout: 1000, +}); + +// 1.x - Same API, but more options available +const api = axios.create({ + baseURL: 'https://api.example.com', + timeout: 1000, + maxBodyLength: Infinity, // Override default if needed + maxContentLength: Infinity, +}); +``` + +## Migration Strategies + +### Step-by-Step Migration Process + +#### Phase 1: Preparation +1. **Audit Current Error Handling** + ```bash + # Find all axios usage + grep -r "axios\." src/ + grep -r "\.catch" src/ + grep -r "interceptors" src/ + ``` + +2. **Identify Patterns** + - Response interceptors that handle errors + - Components that rely on centralized error handling + - Authentication and retry logic + +3. **Create Test Cases** + ```javascript + // Test current error handling behavior + describe('Error Handling Migration', () => { + it('should handle 401 errors consistently', async () => { + // Test authentication error flows + }); + + it('should handle 500 errors with user feedback', async () => { + // Test server error handling + }); + }); + ``` + +#### Phase 2: Implementation +1. **Update Dependencies** + ```bash + npm update axios + ``` + +2. **Implement New Error Handling** + - Choose one of the strategies above + - Update response interceptors + - Add error handling to API calls + +3. **Update Authentication Logic** + ```javascript + // 0.x pattern + axios.interceptors.response.use(null, error => { + if (error.response?.status === 401) { + logout(); + // Error was "handled" + } + }); + + // 1.x pattern + axios.interceptors.response.use( + response => response, + error => { + if (error.response?.status === 401) { + logout(); + } + return Promise.reject(error); // Always propagate + } + ); + ``` + +#### Phase 3: Testing and Validation +1. **Test Error Scenarios** + - Network failures + - HTTP error codes (401, 403, 404, 500, etc.) + - Timeout errors + - JSON parsing errors + +2. **Validate User Experience** + - Error messages are shown appropriately + - Authentication redirects work + - Loading states are handled correctly + +### Gradual Migration Approach + +For large applications, consider gradual migration: + +```javascript +// Create a compatibility layer +const axiosCompat = { + // Use new axios instance for new code + v1: axios.create({ + // 1.x configuration + }), + + // Wrapper for legacy code + legacy: createLegacyWrapper(axios.create({ + // Configuration that mimics 0.x behavior + })) +}; + +function createLegacyWrapper(axiosInstance) { + // Add interceptors that provide 0.x-like behavior + axiosInstance.interceptors.response.use( + response => response, + error => { + // Handle errors in 0.x style for legacy code + handleLegacyError(error); + // Don't propagate certain errors + if (shouldSuppressError(error)) { + return Promise.resolve({ data: null, error: true }); + } + return Promise.reject(error); + } + ); + + return axiosInstance; +} +``` + +## Common Patterns + +### Authentication Interceptors + +#### Updated Authentication Pattern +```javascript +// Token refresh interceptor for 1.x +let isRefreshing = false; +let refreshSubscribers = []; + +function subscribeTokenRefresh(cb) { + refreshSubscribers.push(cb); +} + +function onTokenRefreshed(token) { + refreshSubscribers.forEach(cb => cb(token)); + refreshSubscribers = []; +} + +axios.interceptors.response.use( + response => response, + async error => { + const originalRequest = error.config; + + if (error.response?.status === 401 && !originalRequest._retry) { + if (isRefreshing) { + // Wait for token refresh + return new Promise(resolve => { + subscribeTokenRefresh(token => { + originalRequest.headers.Authorization = `Bearer ${token}`; + resolve(axios(originalRequest)); + }); + }); + } + + originalRequest._retry = true; + isRefreshing = true; + + try { + const newToken = await refreshToken(); + onTokenRefreshed(newToken); + isRefreshing = false; + + originalRequest.headers.Authorization = `Bearer ${newToken}`; + return axios(originalRequest); + } catch (refreshError) { + isRefreshing = false; + logout(); + return Promise.reject(refreshError); + } + } + + return Promise.reject(error); + } +); +``` + +### Retry Logic + +```javascript +// Retry interceptor for 1.x +function createRetryInterceptor(maxRetries = 3, retryDelay = 1000) { + return axios.interceptors.response.use( + response => response, + async error => { + const config = error.config; + + if (!config || !config.retry) { + return Promise.reject(error); + } + + config.__retryCount = config.__retryCount || 0; + + if (config.__retryCount >= maxRetries) { + return Promise.reject(error); + } + + config.__retryCount += 1; + + // Exponential backoff + const delay = retryDelay * Math.pow(2, config.__retryCount - 1); + await new Promise(resolve => setTimeout(resolve, delay)); + + return axios(config); + } + ); +} + +// Usage +const api = axios.create(); +createRetryInterceptor(3, 1000); + +// Make request with retry +api.get('/api/data', { retry: true }); +``` + +### Loading State Management + +```javascript +// Loading interceptor for 1.x +class LoadingManager { + constructor() { + this.requests = new Set(); + this.setupInterceptors(); + } + + setupInterceptors() { + axios.interceptors.request.use(config => { + this.requests.add(config); + this.updateLoadingState(); + return config; + }); + + axios.interceptors.response.use( + response => { + this.requests.delete(response.config); + this.updateLoadingState(); + return response; + }, + error => { + this.requests.delete(error.config); + this.updateLoadingState(); + return Promise.reject(error); + } + ); + } + + updateLoadingState() { + const isLoading = this.requests.size > 0; + // Update your loading UI + document.body.classList.toggle('loading', isLoading); + } +} + +const loadingManager = new LoadingManager(); +``` + +## Troubleshooting + +### Common Migration Issues + +#### Issue 1: Unhandled Promise Rejections + +**Problem:** +```javascript +// This pattern worked in 0.x but causes unhandled rejections in 1.x +axios.get('/api/data'); // No .catch() handler +``` + +**Solution:** +```javascript +// Always handle promises +axios.get('/api/data') + .catch(error => { + // Handle error appropriately + console.error('Request failed:', error.message); + }); + +// Or use async/await with try/catch +async function fetchData() { + try { + const response = await axios.get('/api/data'); + return response.data; + } catch (error) { + console.error('Request failed:', error.message); + return null; + } +} +``` + +#### Issue 2: Response Interceptors Not "Handling" Errors + +**Problem:** +```javascript +// 0.x style - interceptor "handled" errors +axios.interceptors.response.use(null, error => { + showErrorMessage(error.message); + // Error was considered "handled" +}); +``` + +**Solution:** +```javascript +// 1.x style - explicitly control error propagation +axios.interceptors.response.use( + response => response, + error => { + showErrorMessage(error.message); + + // Choose whether to propagate the error + if (shouldPropagateError(error)) { + return Promise.reject(error); + } + + // Return success-like response for "handled" errors + return Promise.resolve({ + data: null, + handled: true, + error: normalizeError(error) + }); + } +); +``` + +#### Issue 3: JSON Parsing Errors + +**Problem:** +```javascript +// 1.x is stricter about JSON parsing +// This might throw where 0.x was lenient +const data = response.data; +``` + +**Solution:** +```javascript +// Add response transformer for better error handling +axios.defaults.transformResponse = [ + function (data) { + if (typeof data === 'string') { + try { + return JSON.parse(data); + } catch (e) { + // Handle JSON parsing errors gracefully + console.warn('Invalid JSON response:', data); + return { error: 'Invalid JSON', rawData: data }; + } + } + return data; + } +]; +``` + +#### Issue 4: TypeScript Errors After Upgrade + +**Problem:** +```typescript +// TypeScript errors after upgrade +const response = await axios.get('/api/data'); +// Property 'someProperty' does not exist on type 'any' +``` + +**Solution:** +```typescript +// Define proper interfaces +interface ApiResponse { + data: any; + message: string; + success: boolean; +} + +const response = await axios.get('/api/data'); +// Now properly typed +console.log(response.data.data); +``` + +### Debug Migration Issues + +#### Enable Debug Logging +```javascript +// Add request/response logging +axios.interceptors.request.use(config => { + console.log('Request:', config); + return config; +}); + +axios.interceptors.response.use( + response => { + console.log('Response:', response); + return response; + }, + error => { + console.log('Error:', error); + return Promise.reject(error); + } +); +``` + +#### Compare Behavior +```javascript +// Create side-by-side comparison during migration +const axios0x = require('axios-0x'); // Keep old version for testing +const axios1x = require('axios'); + +async function compareRequests(config) { + try { + const [result0x, result1x] = await Promise.allSettled([ + axios0x(config), + axios1x(config) + ]); + + console.log('0.x result:', result0x); + console.log('1.x result:', result1x); + } catch (error) { + console.log('Comparison error:', error); + } +} +``` + +## Resources + +### Official Documentation +- [Axios 1.x Documentation](https://axios-http.com/) +- [Axios GitHub Repository](https://github.com/axios/axios) +- [Axios Changelog](https://github.com/axios/axios/blob/main/CHANGELOG.md) + +### Migration Tools +- [Axios Migration Codemod](https://github.com/axios/axios-migration-codemod) *(if available)* +- [ESLint Rules for Axios 1.x](https://github.com/axios/eslint-plugin-axios) *(if available)* + +### Community Resources +- [Stack Overflow - Axios Migration Questions](https://stackoverflow.com/questions/tagged/axios+migration) +- [GitHub Discussions](https://github.com/axios/axios/discussions) +- [Axios Discord Community](https://discord.gg/axios) *(if available)* + +### Related Issues +- [Error Handling Changes Discussion](https://github.com/axios/axios/issues/7208) +- [Migration Guide Request](https://github.com/axios/axios/issues/xxxx) *(link to related issues)* + +--- + +## Need Help? + +If you encounter issues during migration that aren't covered in this guide: + +1. **Search existing issues** in the [Axios GitHub repository](https://github.com/axios/axios/issues) +2. **Ask questions** in [GitHub Discussions](https://github.com/axios/axios/discussions) +3. **Contribute improvements** to this migration guide + +--- + +*This migration guide is maintained by the community. If you find errors or have suggestions, please [open an issue](https://github.com/axios/axios/issues) or submit a pull request.* \ No newline at end of file diff --git a/dist/node_modules/axios/README.md b/dist/node_modules/axios/README.md new file mode 100644 index 00000000..770b1a89 --- /dev/null +++ b/dist/node_modules/axios/README.md @@ -0,0 +1,1946 @@ +

💎 Platinum sponsors

THANKS.DEV

We're passionate about making open source sustainable. Scan your dependancy tree to better understand which open source projects need funding the...

thanks.dev

+
💜 Become a sponsor +
+

🥇 Gold sponsors

Principal Financial Group

We’re bound by one common purpose: to give you the financial tools, resources and information you ne...

www.principal.com

+
Buy Instagram Followers Twicsy

Buy real Instagram followers from Twicsy starting at only $2.97. Twicsy has been voted the best site...

twicsy.com

+
Descope

Hi, we're Descope! We are building something in the authentication space for app developers and...

Website | Docs | Community

+
Route4Me

Best Route Planning And Route Optimization Software

Explore | Free Trial | Contact

+
Buzzoid - Buy Instagram Followers

At Buzzoid, you can buy Instagram followers quickly, safely, and easily with just a few clicks. Rate...

buzzoid.com

+
Poprey - Buy Instagram Likes

Buy Instagram Likes

poprey.com

+
Requestly

A lightweight open-source API Development, Testing & Mocking platform

requestly.com

+
💜 Become a sponsor + 💜 Become a sponsor +
+ + + +

+ +
+ Axios
+
+ +

Promise based HTTP client for the browser and node.js

+ +

+ Website • + Documentation +

+ +
+ +[![npm version](https://img.shields.io/npm/v/axios.svg?style=flat-square)](https://www.npmjs.org/package/axios) +[![CDNJS](https://img.shields.io/cdnjs/v/axios.svg?style=flat-square)](https://cdnjs.com/libraries/axios) +[![Build status](https://img.shields.io/github/actions/workflow/status/axios/axios/ci.yml?branch=v1.x&label=CI&logo=github&style=flat-square)](https://github.com/axios/axios/actions/workflows/ci.yml) +[![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod&style=flat-square)](https://gitpod.io/#https://github.com/axios/axios) +[![code coverage](https://img.shields.io/coveralls/mzabriskie/axios.svg?style=flat-square)](https://coveralls.io/r/mzabriskie/axios) +[![install size](https://img.shields.io/badge/dynamic/json?url=https://packagephobia.com/v2/api.json?p=axios&query=$.install.pretty&label=install%20size&style=flat-square)](https://packagephobia.now.sh/result?p=axios) +[![npm bundle size](https://img.shields.io/bundlephobia/minzip/axios?style=flat-square)](https://bundlephobia.com/package/axios@latest) +[![npm downloads](https://img.shields.io/npm/dm/axios.svg?style=flat-square)](https://npm-stat.com/charts.html?package=axios) +[![gitter chat](https://img.shields.io/gitter/room/mzabriskie/axios.svg?style=flat-square)](https://gitter.im/mzabriskie/axios) +[![code helpers](https://www.codetriage.com/axios/axios/badges/users.svg)](https://www.codetriage.com/axios/axios) +[![Known Vulnerabilities](https://snyk.io/test/npm/axios/badge.svg)](https://snyk.io/test/npm/axios) +[![Contributors](https://img.shields.io/github/contributors/axios/axios.svg?style=flat-square)](CONTRIBUTORS.md) + +
+ +## Table of Contents + +- [Features](#features) +- [Browser Support](#browser-support) +- [Installing](#installing) + - [Package manager](#package-manager) + - [CDN](#cdn) +- [Example](#example) +- [Axios API](#axios-api) +- [Request method aliases](#request-method-aliases) +- [Concurrency 👎](#concurrency-deprecated) +- [Creating an instance](#creating-an-instance) +- [Instance methods](#instance-methods) +- [Request Config](#request-config) +- [Response Schema](#response-schema) +- [Config Defaults](#config-defaults) + - [Global axios defaults](#global-axios-defaults) + - [Custom instance defaults](#custom-instance-defaults) + - [Config order of precedence](#config-order-of-precedence) +- [Interceptors](#interceptors) + - [Multiple Interceptors](#multiple-interceptors) +- [Handling Errors](#handling-errors) +- [Handling Timeouts](#handling-timeouts) +- [Cancellation](#cancellation) + - [AbortController](#abortcontroller) + - [CancelToken 👎](#canceltoken-deprecated) +- [Using application/x-www-form-urlencoded format](#using-applicationx-www-form-urlencoded-format) + - [URLSearchParams](#urlsearchparams) + - [Query string](#query-string-older-browsers) + - [🆕 Automatic serialization](#-automatic-serialization-to-urlsearchparams) +- [Using multipart/form-data format](#using-multipartform-data-format) + - [FormData](#formdata) + - [🆕 Automatic serialization](#-automatic-serialization-to-formdata) +- [Files Posting](#files-posting) +- [HTML Form Posting](#-html-form-posting-browser) +- [🆕 Progress capturing](#-progress-capturing) +- [🆕 Rate limiting](#-rate-limiting) +- [🆕 AxiosHeaders](#-axiosheaders) +- [🔥 Fetch adapter](#-fetch-adapter) + - [🔥 Custom fetch](#-custom-fetch) + - [🔥 Using with Tauri](#-using-with-tauri) + - [🔥 Using with SvelteKit](#-using-with-sveltekit-) +- [🔥 HTTP2](#-http2) +- [Semver](#semver) +- [Promises](#promises) +- [TypeScript](#typescript) +- [Resources](#resources) +- [Credits](#credits) +- [License](#license) + +## Features + +- **Browser Requests:** Make [XMLHttpRequests](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) directly from the browser. +- **Node.js Requests:** Make [http](https://nodejs.org/api/http.html) requests from Node.js environments. +- **Promise-based:** Fully supports the [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) API for easier asynchronous code. +- **Interceptors:** Intercept requests and responses to add custom logic or transform data. +- **Data Transformation:** Transform request and response data automatically. +- **Request Cancellation:** Cancel requests using built-in mechanisms. +- **Automatic JSON Handling:** Automatically serializes and parses [JSON](https://www.json.org/json-en.html) data. +- **Form Serialization:** 🆕 Automatically serializes data objects to `multipart/form-data` or `x-www-form-urlencoded` formats. +- **XSRF Protection:** Client-side support to protect against [Cross-Site Request Forgery](https://en.wikipedia.org/wiki/Cross-site_request_forgery). + +## Browser Support + +| Chrome | Firefox | Safari | Opera | Edge | +| :------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------: | +| ![Chrome browser logo](https://raw.githubusercontent.com/alrra/browser-logos/main/src/chrome/chrome_48x48.png) | ![Firefox browser logo](https://raw.githubusercontent.com/alrra/browser-logos/main/src/firefox/firefox_48x48.png) | ![Safari browser logo](https://raw.githubusercontent.com/alrra/browser-logos/main/src/safari/safari_48x48.png) | ![Opera browser logo](https://raw.githubusercontent.com/alrra/browser-logos/main/src/opera/opera_48x48.png) | ![Edge browser logo](https://raw.githubusercontent.com/alrra/browser-logos/main/src/edge/edge_48x48.png) | +| Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | + +[![Browser Matrix](https://saucelabs.com/open_sauce/build_matrix/axios.svg)](https://saucelabs.com/u/axios) + +## Installing + +### Package manager + +Using npm: + +```bash +$ npm install axios +``` + +Using bower: + +```bash +$ bower install axios +``` + +Using yarn: + +```bash +$ yarn add axios +``` + +Using pnpm: + +```bash +$ pnpm add axios +``` + +Using bun: + +```bash +$ bun add axios +``` + +Once the package is installed, you can import the library using `import` or `require` approach: + +```js +import axios, { isCancel, AxiosError } from "axios"; +``` + +You can also use the default export, since the named export is just a re-export from the Axios factory: + +```js +import axios from "axios"; + +console.log(axios.isCancel("something")); +``` + +If you use `require` for importing, **only the default export is available**: + +```js +const axios = require("axios"); + +console.log(axios.isCancel("something")); +``` + +For some bundlers and some ES6 linters you may need to do the following: + +```js +import { default as axios } from "axios"; +``` + +For cases where something went wrong when trying to import a module into a custom or legacy environment, +you can try importing the module package directly: + +```js +const axios = require("axios/dist/browser/axios.cjs"); // browser commonJS bundle (ES2017) +// const axios = require('axios/dist/node/axios.cjs'); // node commonJS bundle (ES2017) +``` + +### CDN + +Using jsDelivr CDN (ES5 UMD browser module): + +```html + +``` + +Using unpkg CDN: + +```html + +``` + +## Example + +```js +import axios from "axios"; +//const axios = require('axios'); // legacy way + +try { + const response = await axios.get("/user?ID=12345"); + console.log(response); +} catch (error) { + console.error(error); +} + +// Optionally the request above could also be done as +axios + .get("/user", { + params: { + ID: 12345, + }, + }) + .then(function (response) { + console.log(response); + }) + .catch(function (error) { + console.log(error); + }) + .finally(function () { + // always executed + }); + +// Want to use async/await? Add the `async` keyword to your outer function/method. +async function getUser() { + try { + const response = await axios.get("/user?ID=12345"); + console.log(response); + } catch (error) { + console.error(error); + } +} +``` + +> **Note**: `async/await` is part of ECMAScript 2017 and is not supported in Internet +> Explorer and older browsers, so use with caution. + +Performing a `POST` request + +```js +const response = await axios.post("/user", { + firstName: "Fred", + lastName: "Flintstone", +}); +console.log(response); +``` + +Performing multiple concurrent requests + +```js +function getUserAccount() { + return axios.get("/user/12345"); +} + +function getUserPermissions() { + return axios.get("/user/12345/permissions"); +} + +Promise.all([getUserAccount(), getUserPermissions()]).then(function (results) { + const acct = results[0]; + const perm = results[1]; +}); +``` + +## axios API + +Requests can be made by passing the relevant config to `axios`. + +##### axios(config) + +```js +// Send a POST request +axios({ + method: "post", + url: "/user/12345", + data: { + firstName: "Fred", + lastName: "Flintstone", + }, +}); +``` + +```js +// GET request for remote image in node.js +const response = await axios({ + method: "get", + url: "https://bit.ly/2mTM3nY", + responseType: "stream", +}); +response.data.pipe(fs.createWriteStream("ada_lovelace.jpg")); +``` + +##### axios(url[, config]) + +```js +// Send a GET request (default method) +axios("/user/12345"); +``` + +### Request method aliases + +For convenience, aliases have been provided for all common request methods. + +##### axios.request(config) + +##### axios.get(url[, config]) + +##### axios.delete(url[, config]) + +##### axios.head(url[, config]) + +##### axios.options(url[, config]) + +##### axios.post(url[, data[, config]]) + +##### axios.put(url[, data[, config]]) + +##### axios.patch(url[, data[, config]]) + +###### NOTE + +When using the alias methods `url`, `method`, and `data` properties don't need to be specified in config. + +### Concurrency (Deprecated) + +Please use `Promise.all` to replace the below functions. + +Helper functions for dealing with concurrent requests. + +axios.all(iterable) +axios.spread(callback) + +### Creating an instance + +You can create a new instance of axios with a custom config. + +##### axios.create([config]) + +```js +const instance = axios.create({ + baseURL: "https://some-domain.com/api/", + timeout: 1000, + headers: { "X-Custom-Header": "foobar" }, +}); +``` + +### Instance methods + +The available instance methods are listed below. The specified config will be merged with the instance config. + +##### axios#request(config) + +##### axios#get(url[, config]) + +##### axios#delete(url[, config]) + +##### axios#head(url[, config]) + +##### axios#options(url[, config]) + +##### axios#post(url[, data[, config]]) + +##### axios#put(url[, data[, config]]) + +##### axios#patch(url[, data[, config]]) + +##### axios#getUri([config]) + +## Request Config + +These are the available config options for making requests. Only the `url` is required. Requests will default to `GET` if `method` is not specified. + +```js +{ + // `url` is the server URL that will be used for the request + url: '/user', + + // `method` is the request method to be used when making the request + method: 'get', // default + + // `baseURL` will be prepended to `url` unless `url` is absolute and the option `allowAbsoluteUrls` is set to true. + // It can be convenient to set `baseURL` for an instance of axios to pass relative URLs + // to the methods of that instance. + baseURL: 'https://some-domain.com/api/', + + // `allowAbsoluteUrls` determines whether or not absolute URLs will override a configured `baseUrl`. + // When set to true (default), absolute values for `url` will override `baseUrl`. + // When set to false, absolute values for `url` will always be prepended by `baseUrl`. + allowAbsoluteUrls: true, + + // `transformRequest` allows changes to the request data before it is sent to the server + // This is only applicable for request methods 'PUT', 'POST', 'PATCH' and 'DELETE' + // The last function in the array must return a string or an instance of Buffer, ArrayBuffer, + // FormData or Stream + // You may modify the headers object. + transformRequest: [function (data, headers) { + // Do whatever you want to transform the data + + return data; + }], + + // `transformResponse` allows changes to the response data to be made before + // it is passed to then/catch + transformResponse: [function (data) { + // Do whatever you want to transform the data + + return data; + }], + + // `headers` are custom headers to be sent + headers: {'X-Requested-With': 'XMLHttpRequest'}, + + // `params` are the URL parameters to be sent with the request + // Must be a plain object or a URLSearchParams object + params: { + ID: 12345 + }, + + // `paramsSerializer` is an optional config that allows you to customize serializing `params`. + paramsSerializer: { + + // Custom encoder function which sends key/value pairs in an iterative fashion. + encode?: (param: string): string => { /* Do custom operations here and return transformed string */ }, + + // Custom serializer function for the entire parameter. Allows the user to mimic pre 1.x behaviour. + serialize?: (params: Record, options?: ParamsSerializerOptions ), + + // Configuration for formatting array indexes in the params. + indexes: false // Three available options: (1) indexes: null (leads to no brackets), (2) (default) indexes: false (leads to empty brackets), (3) indexes: true (leads to brackets with indexes). + }, + + // `data` is the data to be sent as the request body + // Only applicable for request methods 'PUT', 'POST', 'DELETE', and 'PATCH' + // When no `transformRequest` is set, it must be of one of the following types: + // - string, plain object, ArrayBuffer, ArrayBufferView, URLSearchParams + // - Browser only: FormData, File, Blob + // - Node only: Stream, Buffer, FormData (form-data package) + data: { + firstName: 'Fred' + }, + + // syntax alternative to send data into the body + // method post + // only the value is sent, not the key + data: 'Country=Brasil&City=Belo Horizonte', + + // `timeout` specifies the number of milliseconds before the request times out. + // If the request takes longer than `timeout`, the request will be aborted. + timeout: 1000, // default is `0` (no timeout) + + // `withCredentials` indicates whether or not cross-site Access-Control requests + // should be made using credentials + withCredentials: false, // default + + // `adapter` allows custom handling of requests which makes testing easier. + // Return a promise and supply a valid response (see lib/adapters/README.md) + adapter: function (config) { + /* ... */ + }, + // Also, you can set the name of the built-in adapter, or provide an array with their names + // to choose the first available in the environment + adapter: 'xhr', // 'fetch' | 'http' | ['xhr', 'http', 'fetch'] + + // `auth` indicates that HTTP Basic auth should be used, and supplies credentials. + // This will set an `Authorization` header, overwriting any existing + // `Authorization` custom headers you have set using `headers`. + // Please note that only HTTP Basic auth is configurable through this parameter. + // For Bearer tokens and such, use `Authorization` custom headers instead. + auth: { + username: 'janedoe', + password: 's00pers3cret' + }, + + // `responseType` indicates the type of data that the server will respond with + // options are: 'arraybuffer', 'document', 'json', 'text', 'stream' + // browser only: 'blob' + responseType: 'json', // default + + // `responseEncoding` indicates encoding to use for decoding responses (Node.js only) + // Note: Ignored for `responseType` of 'stream' or client-side requests + // options are: 'ascii', 'ASCII', 'ansi', 'ANSI', 'binary', 'BINARY', 'base64', 'BASE64', 'base64url', + // 'BASE64URL', 'hex', 'HEX', 'latin1', 'LATIN1', 'ucs-2', 'UCS-2', 'ucs2', 'UCS2', 'utf-8', 'UTF-8', + // 'utf8', 'UTF8', 'utf16le', 'UTF16LE' + responseEncoding: 'utf8', // default + + // `xsrfCookieName` is the name of the cookie to use as a value for the xsrf token + xsrfCookieName: 'XSRF-TOKEN', // default + + // `xsrfHeaderName` is the name of the http header that carries the xsrf token value + xsrfHeaderName: 'X-XSRF-TOKEN', // default + + // `undefined` (default) - set XSRF header only for the same origin requests + withXSRFToken: boolean | undefined | ((config: InternalAxiosRequestConfig) => boolean | undefined), + + // `withXSRFToken` controls whether Axios reads the XSRF cookie and sets the XSRF header. + // - `undefined` (default): the XSRF header is set only for same-origin requests. + // - `true`: attempt to set the XSRF header for all requests (including cross-origin). + // - `false`: never set the XSRF header. + // - function: a callback that receives the request `config` and returns `true`, + // `false`, or `undefined` to decide per-request behavior. + // + // Note about `withCredentials`: `withCredentials` controls whether cross-site + // requests include credentials (cookies and HTTP auth). In older Axios versions, + // setting `withCredentials: true` implicitly caused Axios to set the XSRF header + // for cross-origin requests. Newer Axios separates these concerns: to allow the + // XSRF header to be sent for cross-origin requests you should set both + // `withCredentials: true` and `withXSRFToken: true`. + // + // Example: + // axios.get('/user', { withCredentials: true, withXSRFToken: true }); + + // `onUploadProgress` allows handling of progress events for uploads + // browser & node.js + onUploadProgress: function ({loaded, total, progress, bytes, estimated, rate, upload = true}) { + // Do whatever you want with the Axios progress event + }, + + // `onDownloadProgress` allows handling of progress events for downloads + // browser & node.js + onDownloadProgress: function ({loaded, total, progress, bytes, estimated, rate, download = true}) { + // Do whatever you want with the Axios progress event + }, + + // `maxContentLength` defines the max size of the http response content in bytes allowed in node.js + maxContentLength: 2000, + + // `maxBodyLength` (Node only option) defines the max size of the http request content in bytes allowed + maxBodyLength: 2000, + + // `validateStatus` defines whether to resolve or reject the promise for a given + // HTTP response status code. If `validateStatus` returns `true` (or is set to `null` + // or `undefined`), the promise will be resolved; otherwise, the promise will be + // rejected. + validateStatus: function (status) { + return status >= 200 && status < 300; // default + }, + + // `maxRedirects` defines the maximum number of redirects to follow in node.js. + // If set to 0, no redirects will be followed. + maxRedirects: 21, // default + + // `beforeRedirect` defines a function that will be called before redirect. + // Use this to adjust the request options upon redirecting, + // to inspect the latest response headers, + // or to cancel the request by throwing an error + // If maxRedirects is set to 0, `beforeRedirect` is not used. + beforeRedirect: (options, { headers }) => { + if (options.hostname === "example.com") { + options.auth = "user:password"; + } + }, + + // `socketPath` defines a UNIX Socket to be used in node.js. + // e.g. '/var/run/docker.sock' to send requests to the docker daemon. + // Only either `socketPath` or `proxy` can be specified. + // If both are specified, `socketPath` is used. + socketPath: null, // default + + // `transport` determines the transport method that will be used to make the request. + // If defined, it will be used. Otherwise, if `maxRedirects` is 0, + // the default `http` or `https` library will be used, depending on the protocol specified in `protocol`. + // Otherwise, the `httpFollow` or `httpsFollow` library will be used, again depending on the protocol, + // which can handle redirects. + transport: undefined, // default + + // `httpAgent` and `httpsAgent` define a custom agent to be used when performing http + // and https requests, respectively, in node.js. This allows options to be added like + // `keepAlive` that are not enabled by default before Node.js v19.0.0. After Node.js + // v19.0.0, you no longer need to customize the agent to enable `keepAlive` because + // `http.globalAgent` has `keepAlive` enabled by default. + httpAgent: new http.Agent({ keepAlive: true }), + httpsAgent: new https.Agent({ keepAlive: true }), + + // `proxy` defines the hostname, port, and protocol of the proxy server. + // You can also define your proxy using the conventional `http_proxy` and + // `https_proxy` environment variables. If you are using environment variables + // for your proxy configuration, you can also define a `no_proxy` environment + // variable as a comma-separated list of domains that should not be proxied. + // Use `false` to disable proxies, ignoring environment variables. + // `auth` indicates that HTTP Basic auth should be used to connect to the proxy, and + // supplies credentials. + // This will set a `Proxy-Authorization` header, overwriting any existing + // `Proxy-Authorization` custom headers you have set using `headers`. + // If the proxy server uses HTTPS, then you must set the protocol to `https`. + proxy: { + protocol: 'https', + host: '127.0.0.1', + // hostname: '127.0.0.1' // Takes precedence over 'host' if both are defined + port: 9000, + auth: { + username: 'mikeymike', + password: 'rapunz3l' + } + }, + + // `cancelToken` specifies a cancel token that can be used to cancel the request + // (see Cancellation section below for details) + cancelToken: new CancelToken(function (cancel) { + }), + + // an alternative way to cancel Axios requests using AbortController + signal: new AbortController().signal, + + // `decompress` indicates whether or not the response body should be decompressed + // automatically. If set to `true` will also remove the 'content-encoding' header + // from the responses objects of all decompressed responses + // - Node only (XHR cannot turn off decompression) + decompress: true, // default + + // `insecureHTTPParser` boolean. + // Indicates where to use an insecure HTTP parser that accepts invalid HTTP headers. + // This may allow interoperability with non-conformant HTTP implementations. + // Using the insecure parser should be avoided. + // see options https://nodejs.org/dist/latest-v12.x/docs/api/http.html#http_http_request_url_options_callback + // see also https://nodejs.org/en/blog/vulnerability/february-2020-security-releases/#strict-http-header-parsing-none + insecureHTTPParser: undefined, // default + + // transitional options for backward compatibility that may be removed in the newer versions + transitional: { + // silent JSON parsing mode + // `true` - ignore JSON parsing errors and set response.data to null if parsing failed (old behaviour) + // `false` - throw SyntaxError if JSON parsing failed + // Important: this option only takes effect when `responseType` is explicitly set to 'json'. + // When `responseType` is omitted (defaults to no value), axios uses `forcedJSONParsing` + // to attempt JSON parsing, but will silently return the raw string on failure regardless + // of this setting. To have invalid JSON throw errors, use: + // { responseType: 'json', transitional: { silentJSONParsing: false } } + silentJSONParsing: true, // default value for the current Axios version + + // try to parse the response string as JSON even if `responseType` is not 'json' + forcedJSONParsing: true, + + // throw ETIMEDOUT error instead of generic ECONNABORTED on request timeouts + clarifyTimeoutError: false, + + // use the legacy interceptor request/response ordering + legacyInterceptorReqResOrdering: true, // default + }, + + env: { + // The FormData class to be used to automatically serialize the payload into a FormData object + FormData: window?.FormData || global?.FormData + }, + + formSerializer: { + visitor: (value, key, path, helpers) => {}; // custom visitor function to serialize form values + dots: boolean; // use dots instead of brackets format + metaTokens: boolean; // keep special endings like {} in parameter key + indexes: boolean; // array indexes format null - no brackets, false - empty brackets, true - brackets with indexes + }, + + // http adapter only (node.js) + maxRate: [ + 100 * 1024, // 100KB/s upload limit, + 100 * 1024 // 100KB/s download limit + ] +} +``` + +## Response Schema + +The response to a request contains the following information. + +```js +{ + // `data` is the response that was provided by the server + data: {}, + + // `status` is the HTTP status code from the server response + status: 200, + + // `statusText` is the HTTP status message from the server response + statusText: 'OK', + + // `headers` the HTTP headers that the server responded with + // All header names are lowercase and can be accessed using the bracket notation. + // Example: `response.headers['content-type']` + headers: {}, + + // `config` is the config that was provided to `axios` for the request + config: {}, + + // `request` is the request that generated this response + // It is the last ClientRequest instance in node.js (in redirects) + // and an XMLHttpRequest instance in the browser + request: {} +} +``` + +When using `then`, you will receive the response as follows: + +```js +const response = await axios.get("/user/12345"); +console.log(response.data); +console.log(response.status); +console.log(response.statusText); +console.log(response.headers); +console.log(response.config); +``` + +When using `catch`, or passing a [rejection callback](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then) as second parameter of `then`, the response will be available through the `error` object as explained in the [Handling Errors](#handling-errors) section. + +## Config Defaults + +You can specify config defaults that will be applied to every request. + +### Global axios defaults + +```js +axios.defaults.baseURL = "https://api.example.com"; + +// Important: If axios is used with multiple domains, the AUTH_TOKEN will be sent to all of them. +// See below for an example using Custom instance defaults instead. +axios.defaults.headers.common["Authorization"] = AUTH_TOKEN; + +axios.defaults.headers.post["Content-Type"] = + "application/x-www-form-urlencoded"; +``` + +### Custom instance defaults + +```js +// Set config defaults when creating the instance +const instance = axios.create({ + baseURL: "https://api.example.com", +}); + +// Alter defaults after instance has been created +instance.defaults.headers.common["Authorization"] = AUTH_TOKEN; +``` + +### Config order of precedence + +Config will be merged with an order of precedence. The order is library defaults found in [lib/defaults/index.js](https://github.com/axios/axios/blob/main/lib/defaults/index.js#L49), then `defaults` property of the instance, and finally `config` argument for the request. The latter will take precedence over the former. Here's an example. + +```js +// Create an instance using the config defaults provided by the library +// At this point the timeout config value is `0` as is the default for the library +const instance = axios.create(); + +// Override timeout default for the library +// Now all requests using this instance will wait 2.5 seconds before timing out +instance.defaults.timeout = 2500; + +// Override timeout for this request as it's known to take a long time +instance.get("/longRequest", { + timeout: 5000, +}); +``` + +## Interceptors + +You can intercept requests or responses before methods like `.get()` or `.post()` +resolve their promises (before code inside `then` or `catch`, or after `await`) + +```js +const instance = axios.create(); + +// Add a request interceptor +instance.interceptors.request.use( + function (config) { + // Do something before the request is sent + return config; + }, + function (error) { + // Do something with the request error + return Promise.reject(error); + }, +); + +// Add a response interceptor +instance.interceptors.response.use( + function (response) { + // Any status code that lies within the range of 2xx causes this function to trigger + // Do something with response data + return response; + }, + function (error) { + // Any status codes that fall outside the range of 2xx cause this function to trigger + // Do something with response error + return Promise.reject(error); + }, +); +``` + +If you need to remove an interceptor later you can. + +```js +const instance = axios.create(); +const myInterceptor = instance.interceptors.request.use(function () { + /*...*/ +}); +axios.interceptors.request.eject(myInterceptor); +``` + +You can also clear all interceptors for requests or responses. + +```js +const instance = axios.create(); +instance.interceptors.request.use(function () { + /*...*/ +}); +instance.interceptors.request.clear(); // Removes interceptors from requests +instance.interceptors.response.use(function () { + /*...*/ +}); +instance.interceptors.response.clear(); // Removes interceptors from responses +``` + +You can add interceptors to a custom instance of axios. + +```js +const instance = axios.create(); +instance.interceptors.request.use(function () { + /*...*/ +}); +``` + +When you add request interceptors, they are presumed to be asynchronous by default. This can cause a delay +in the execution of your axios request when the main thread is blocked (a promise is created under the hood for +the interceptor and your request gets put at the bottom of the call stack). If your request interceptors are synchronous you can add a flag +to the options object that will tell axios to run the code synchronously and avoid any delays in request execution. + +```js +axios.interceptors.request.use( + function (config) { + config.headers.test = "I am only a header!"; + return config; + }, + null, + { synchronous: true }, +); +``` + +If you want to execute a particular interceptor based on a runtime check, +you can add a `runWhen` function to the options object. The request interceptor will not be executed **if and only if** the return +of `runWhen` is `false`. The function will be called with the config +object (don't forget that you can bind your own arguments to it as well.) This can be handy when you have an +asynchronous request interceptor that only needs to run at certain times. + +```js +function onGetCall(config) { + return config.method === "get"; +} +axios.interceptors.request.use( + function (config) { + config.headers.test = "special get headers"; + return config; + }, + null, + { runWhen: onGetCall }, +); +``` + +> **Note:** The options parameter(having `synchronous` and `runWhen` properties) is only supported for request interceptors at the moment. + +### Interceptor Execution Order + +**Important:** Interceptors have different execution orders depending on their type! + +Request interceptors are executed in **reverse order** (LIFO - Last In, First Out). This means the _last_ interceptor added is executed **first**. + +Response interceptors are executed in the **order they were added** (FIFO - First In, First Out). This means the _first_ interceptor added is executed **first**. + +Example: + +```js +const instance = axios.create(); + +const interceptor = (id) => (base) => { + console.log(id); + return base; +}; + +instance.interceptors.request.use(interceptor("Request Interceptor 1")); +instance.interceptors.request.use(interceptor("Request Interceptor 2")); +instance.interceptors.request.use(interceptor("Request Interceptor 3")); +instance.interceptors.response.use(interceptor("Response Interceptor 1")); +instance.interceptors.response.use(interceptor("Response Interceptor 2")); +instance.interceptors.response.use(interceptor("Response Interceptor 3")); + +// Console output: +// Request Interceptor 3 +// Request Interceptor 2 +// Request Interceptor 1 +// [HTTP request is made] +// Response Interceptor 1 +// Response Interceptor 2 +// Response Interceptor 3 +``` + +### Multiple Interceptors + +Given that you add multiple response interceptors +and when the response was fulfilled + +- then each interceptor is executed +- then they are executed in the order they were added +- then only the last interceptor's result is returned +- then every interceptor receives the result of its predecessor +- and when the fulfillment-interceptor throws + - then the following fulfillment-interceptor is not called + - then the following rejection-interceptor is called + - once caught, another following fulfill-interceptor is called again (just like in a promise chain). + +Read [the interceptor tests](./test/specs/interceptors.spec.js) to see all this in code. + +## Error Types + +There are many different axios error messages that can appear which can provide basic information about the specifics of the error and where opportunities may lie in debugging. + +The general structure of axios errors is as follows: +| Property | Definition | +| -------- | ---------- | +| message | A quick summary of the error message and the status it failed with. | +| name | This defines where the error originated from. For axios, it will always be an 'AxiosError'. | +| stack | Provides the stack trace of the error. | +| config | An axios config object with specific instance configurations defined by the user from when the request was made | +| code | Represents an axios identified error. The table below lists specific definitions for internal axios error. | +| status | HTTP response status code. See [here](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes) for common HTTP response status code meanings. + +Below is a list of potential axios identified error: + +| Code | Definition | +| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| ERR_BAD_OPTION_VALUE | Invalid value provided in axios configuration. | +| ERR_BAD_OPTION | Invalid option provided in axios configuration. | +| ERR_NOT_SUPPORT | Feature or method not supported in the current axios environment. | +| ERR_DEPRECATED | Deprecated feature or method used in axios. | +| ERR_INVALID_URL | Invalid URL provided for axios request. | +| ECONNABORTED | Typically indicates that the request has been timed out (unless `transitional.clarifyTimeoutError` is set) or aborted by the browser or its plugin. | +| ERR_CANCELED | Feature or method is canceled explicitly by the user using an AbortSignal (or a CancelToken). | +| ETIMEDOUT | Request timed out due to exceeding the default axios timelimit. `transitional.clarifyTimeoutError` must be set to `true`, otherwise a generic `ECONNABORTED` error will be thrown instead. | +| ERR_NETWORK | Network-related issue. In the browser, this error can also be caused by a [CORS](https://developer.mozilla.org/ru/docs/Web/HTTP/Guides/CORS) or [Mixed Content](https://developer.mozilla.org/en-US/docs/Web/Security/Mixed_content) policy violation. The browser does not allow the JS code to clarify the real reason for the error caused by security issues, so please check the console. | +| ERR_FR_TOO_MANY_REDIRECTS | Request is redirected too many times; exceeds max redirects specified in axios configuration. | +| ERR_BAD_RESPONSE | Response cannot be parsed properly or is in an unexpected format. Usually related to a response with `5xx` status code. | +| ERR_BAD_REQUEST | The request has an unexpected format or is missing required parameters. Usually related to a response with `4xx` status code. | + +## Handling Errors + +The default behavior is to reject every response that returns with a status code that falls out of the range of 2xx and treat it as an error. + +```js +axios.get("/user/12345").catch(function (error) { + if (error.response) { + // The request was made and the server responded with a status code + // that falls out of the range of 2xx + console.log(error.response.data); + console.log(error.response.status); + console.log(error.response.headers); + } else if (error.request) { + // The request was made but no response was received + // `error.request` is an instance of XMLHttpRequest in the browser and an instance of + // http.ClientRequest in node.js + console.log(error.request); + } else { + // Something happened in setting up the request that triggered an Error + console.log("Error", error.message); + } + console.log(error.config); +}); +``` + +Using the `validateStatus` config option, you can override the default condition (status >= 200 && status < 300) and define HTTP code(s) that should throw an error. + +```js +axios.get("/user/12345", { + validateStatus: function (status) { + return status < 500; // Resolve only if the status code is less than 500 + }, +}); +``` + +Using `toJSON` you get an object with more information about the HTTP error. + +```js +axios.get("/user/12345").catch(function (error) { + console.log(error.toJSON()); +}); +``` + +## Handling Timeouts + +```js +async function fetchWithTimeout() { + try { + const response = await axios.get("https://example.com/data", { + timeout: 5000, // 5 seconds + }); + + console.log("Response:", response.data); + } catch (error) { + if (axios.isAxiosError(error) && error.code === "ECONNABORTED") { + console.error("❌ Request timed out!"); + } else { + console.error("❌ Error:", error.message); + } + } +} +``` + +## Cancellation + +### AbortController + +Starting from `v0.22.0` Axios supports AbortController to cancel requests in a fetch API way: + +```js +const controller = new AbortController(); + +axios + .get("/foo/bar", { + signal: controller.signal, + }) + .then(function (response) { + //... + }); +// cancel the request +controller.abort(); +``` + +### CancelToken `👎deprecated` + +You can also cancel a request using a _CancelToken_. + +> The axios cancel token API is based on the withdrawn [cancellable promises proposal](https://github.com/tc39/proposal-cancelable-promises). + +> This API is deprecated since v0.22.0 and shouldn't be used in new projects + +You can create a cancel token using the `CancelToken.source` factory as shown below: + +```js +const CancelToken = axios.CancelToken; +const source = CancelToken.source(); + +axios + .get("/user/12345", { + cancelToken: source.token, + }) + .catch(function (thrown) { + if (axios.isCancel(thrown)) { + console.log("Request canceled", thrown.message); + } else { + // handle error + } + }); + +axios.post( + "/user/12345", + { + name: "new name", + }, + { + cancelToken: source.token, + }, +); + +// cancel the request (the message parameter is optional) +source.cancel("Operation canceled by the user."); +``` + +You can also create a cancel token by passing an executor function to the `CancelToken` constructor: + +```js +const CancelToken = axios.CancelToken; +let cancel; + +axios.get("/user/12345", { + cancelToken: new CancelToken(function executor(c) { + // An executor function receives a cancel function as a parameter + cancel = c; + }), +}); + +// cancel the request +cancel(); +``` + +> **Note:** you can cancel several requests with the same cancel token/abort controller. +> If a cancellation token is already cancelled at the moment of starting an Axios request, then the request is cancelled immediately, without any attempts to make a real request. + +> During the transition period, you can use both cancellation APIs, even for the same request: + +## Using `application/x-www-form-urlencoded` format + +### URLSearchParams + +By default, axios serializes JavaScript objects to `JSON`. To send data in the [`application/x-www-form-urlencoded`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST) format instead, you can use the [`URLSearchParams`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams) API, which is [supported](http://www.caniuse.com/#feat=urlsearchparams) in the vast majority of browsers, and [Node](https://nodejs.org/api/url.html#url_class_urlsearchparams) starting with v10 (released in 2018). + +```js +const params = new URLSearchParams({ foo: "bar" }); +params.append("extraparam", "value"); +axios.post("/foo", params); +``` + +### Query string (Older browsers) + +For compatibility with very old browsers, there is a [polyfill](https://github.com/WebReflection/url-search-params) available (make sure to polyfill the global environment). + +Alternatively, you can encode data using the [`qs`](https://github.com/ljharb/qs) library: + +```js +const qs = require("qs"); +axios.post("/foo", qs.stringify({ bar: 123 })); +``` + +Or in another way (ES6), + +```js +import qs from "qs"; +const data = { bar: 123 }; +const options = { + method: "POST", + headers: { "content-type": "application/x-www-form-urlencoded" }, + data: qs.stringify(data), + url, +}; +axios(options); +``` + +### Older Node.js versions + +For older Node.js engines, you can use the [`querystring`](https://nodejs.org/api/querystring.html) module as follows: + +```js +const querystring = require("querystring"); +axios.post("https://something.com/", querystring.stringify({ foo: "bar" })); +``` + +You can also use the [`qs`](https://github.com/ljharb/qs) library. + +> **Note**: The `qs` library is preferable if you need to stringify nested objects, as the `querystring` method has [known issues](https://github.com/nodejs/node-v0.x-archive/issues/1665) with that use case. + +### 🆕 Automatic serialization to URLSearchParams + +Axios will automatically serialize the data object to urlencoded format if the content-type header is set to "application/x-www-form-urlencoded". + +```js +const data = { + x: 1, + arr: [1, 2, 3], + arr2: [1, [2], 3], + users: [ + { name: "Peter", surname: "Griffin" }, + { name: "Thomas", surname: "Anderson" }, + ], +}; + +await axios.postForm("https://postman-echo.com/post", data, { + headers: { "content-type": "application/x-www-form-urlencoded" }, +}); +``` + +The server will handle it as: + +```js + { + x: '1', + 'arr[]': [ '1', '2', '3' ], + 'arr2[0]': '1', + 'arr2[1][0]': '2', + 'arr2[2]': '3', + 'arr3[]': [ '1', '2', '3' ], + 'users[0][name]': 'Peter', + 'users[0][surname]': 'griffin', + 'users[1][name]': 'Thomas', + 'users[1][surname]': 'Anderson' + } +``` + +If your backend body-parser (like `body-parser` of `express.js`) supports nested objects decoding, you will get the same object on the server-side automatically + +```js +const app = express(); + +app.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies + +app.post("/", function (req, res, next) { + // echo body as JSON + res.send(JSON.stringify(req.body)); +}); + +server = app.listen(3000); +``` + +## Using `multipart/form-data` format + +### FormData + +To send the data as a `multipart/form-data` you need to pass a formData instance as a payload. +Setting the `Content-Type` header is not required as Axios guesses it based on the payload type. + +```js +const formData = new FormData(); +formData.append("foo", "bar"); + +axios.post("https://httpbin.org/post", formData); +``` + +In node.js, you can use the [`form-data`](https://github.com/form-data/form-data) library as follows: + +```js +const FormData = require("form-data"); + +const form = new FormData(); +form.append("my_field", "my value"); +form.append("my_buffer", Buffer.alloc(10)); +form.append("my_file", fs.createReadStream("/foo/bar.jpg")); + +axios.post("https://example.com", form); +``` + +### 🆕 Automatic serialization to FormData + +Starting from `v0.27.0`, Axios supports automatic object serialization to a FormData object if the request `Content-Type` +header is set to `multipart/form-data`. + +The following request will submit the data in a FormData format (Browser & Node.js): + +```js +import axios from "axios"; + +axios + .post( + "https://httpbin.org/post", + { x: 1 }, + { + headers: { + "Content-Type": "multipart/form-data", + }, + }, + ) + .then(({ data }) => console.log(data)); +``` + +In the `node.js` build, the ([`form-data`](https://github.com/form-data/form-data)) polyfill is used by default. + +You can overload the FormData class by setting the `env.FormData` config variable, +but you probably won't need it in most cases: + +```js +const axios = require("axios"); +var FormData = require("form-data"); + +axios + .post( + "https://httpbin.org/post", + { x: 1, buf: Buffer.alloc(10) }, + { + headers: { + "Content-Type": "multipart/form-data", + }, + }, + ) + .then(({ data }) => console.log(data)); +``` + +Axios FormData serializer supports some special endings to perform the following operations: + +- `{}` - serialize the value with JSON.stringify +- `[]` - unwrap the array-like object as separate fields with the same key + +> **Note**: unwrap/expand operation will be used by default on arrays and FileList objects + +FormData serializer supports additional options via `config.formSerializer: object` property to handle rare cases: + +- `visitor: Function` - user-defined visitor function that will be called recursively to serialize the data object + to a `FormData` object by following custom rules. + +- `dots: boolean = false` - use dot notation instead of brackets to serialize arrays and objects; + +- `metaTokens: boolean = true` - add the special ending (e.g `user{}: '{"name": "John"}'`) in the FormData key. + The back-end body-parser could potentially use this meta-information to automatically parse the value as JSON. + +- `indexes: null|false|true = false` - controls how indexes will be added to unwrapped keys of `flat` array-like objects. + - `null` - don't add brackets (`arr: 1`, `arr: 2`, `arr: 3`) + - `false`(default) - add empty brackets (`arr[]: 1`, `arr[]: 2`, `arr[]: 3`) + - `true` - add brackets with indexes (`arr[0]: 1`, `arr[1]: 2`, `arr[2]: 3`) + +Let's say we have an object like this one: + +```js +const obj = { + x: 1, + arr: [1, 2, 3], + arr2: [1, [2], 3], + users: [ + { name: "Peter", surname: "Griffin" }, + { name: "Thomas", surname: "Anderson" }, + ], + "obj2{}": [{ x: 1 }], +}; +``` + +The following steps will be executed by the Axios serializer internally: + +```js +const formData = new FormData(); +formData.append("x", "1"); +formData.append("arr[]", "1"); +formData.append("arr[]", "2"); +formData.append("arr[]", "3"); +formData.append("arr2[0]", "1"); +formData.append("arr2[1][0]", "2"); +formData.append("arr2[2]", "3"); +formData.append("users[0][name]", "Peter"); +formData.append("users[0][surname]", "Griffin"); +formData.append("users[1][name]", "Thomas"); +formData.append("users[1][surname]", "Anderson"); +formData.append("obj2{}", '[{"x":1}]'); +``` + +Axios supports the following shortcut methods: `postForm`, `putForm`, `patchForm` +which are just the corresponding http methods with the `Content-Type` header preset to `multipart/form-data`. + +## Files Posting + +You can easily submit a single file: + +```js +await axios.postForm("https://httpbin.org/post", { + myVar: "foo", + file: document.querySelector("#fileInput").files[0], +}); +``` + +or multiple files as `multipart/form-data`: + +```js +await axios.postForm("https://httpbin.org/post", { + "files[]": document.querySelector("#fileInput").files, +}); +``` + +`FileList` object can be passed directly: + +```js +await axios.postForm( + "https://httpbin.org/post", + document.querySelector("#fileInput").files, +); +``` + +All files will be sent with the same field names: `files[]`. + +## 🆕 HTML Form Posting (browser) + +Pass an HTML Form element as a payload to submit it as `multipart/form-data` content. + +```js +await axios.postForm( + "https://httpbin.org/post", + document.querySelector("#htmlForm"), +); +``` + +`FormData` and `HTMLForm` objects can also be posted as `JSON` by explicitly setting the `Content-Type` header to `application/json`: + +```js +await axios.post( + "https://httpbin.org/post", + document.querySelector("#htmlForm"), + { + headers: { + "Content-Type": "application/json", + }, + }, +); +``` + +For example, the Form + +```html +
+ + + + + + + + + +
+``` + +will be submitted as the following JSON object: + +```js +{ + "foo": "1", + "deep": { + "prop": { + "spaced": "3" + } + }, + "baz": [ + "4", + "5" + ], + "user": { + "age": "value2" + } +} +``` + +Sending `Blobs`/`Files` as JSON (`base64`) is not currently supported. + +## 🆕 Progress capturing + +Axios supports both browser and node environments to capture request upload/download progress. +The frequency of progress events is forced to be limited to `3` times per second. + +```js +await axios.post(url, data, { + onUploadProgress: function (axiosProgressEvent) { + /*{ + loaded: number; + total?: number; + progress?: number; // in range [0..1] + bytes: number; // how many bytes have been transferred since the last trigger (delta) + estimated?: number; // estimated time in seconds + rate?: number; // upload speed in bytes + upload: true; // upload sign + }*/ + }, + + onDownloadProgress: function (axiosProgressEvent) { + /*{ + loaded: number; + total?: number; + progress?: number; + bytes: number; + estimated?: number; + rate?: number; // download speed in bytes + download: true; // download sign + }*/ + }, +}); +``` + +You can also track stream upload/download progress in node.js: + +```js +const { data } = await axios.post(SERVER_URL, readableStream, { + onUploadProgress: ({ progress }) => { + console.log((progress * 100).toFixed(2)); + }, + + headers: { + "Content-Length": contentLength, + }, + + maxRedirects: 0, // avoid buffering the entire stream +}); +``` + +> **Note:** +> Capturing FormData upload progress is not currently supported in node.js environments. + +> **⚠️ Warning** +> It is recommended to disable redirects by setting maxRedirects: 0 to upload the stream in the **node.js** environment, +> as the follow-redirects package will buffer the entire stream in RAM without following the "backpressure" algorithm. + +## 🆕 Rate limiting + +Download and upload rate limits can only be set for the http adapter (node.js): + +```js +const { data } = await axios.post(LOCAL_SERVER_URL, myBuffer, { + onUploadProgress: ({ progress, rate }) => { + console.log( + `Upload [${(progress * 100).toFixed(2)}%]: ${(rate / 1024).toFixed(2)}KB/s`, + ); + }, + + maxRate: [100 * 1024], // 100KB/s limit +}); +``` + +## 🆕 AxiosHeaders + +Axios has its own `AxiosHeaders` class to manipulate headers using a Map-like API that guarantees caseless work. +Although HTTP is case-insensitive in headers, Axios will retain the case of the original header for stylistic reasons +and as a workaround when servers mistakenly consider the header's case. +The old approach of directly manipulating the headers object is still available, but deprecated and not recommended for future usage. + +### Working with headers + +An AxiosHeaders object instance can contain different types of internal values. that control setting and merging logic. +The final headers object with string values is obtained by Axios by calling the `toJSON` method. + +> Note: By JSON here we mean an object consisting only of string values intended to be sent over the network. + +The header value can be one of the following types: + +- `string` - normal string value that will be sent to the server +- `null` - skip header when rendering to JSON +- `false` - skip header when rendering to JSON, additionally indicates that `set` method must be called with `rewrite` option set to `true` + to overwrite this value (Axios uses this internally to allow users to opt out of installing certain headers like `User-Agent` or `Content-Type`) +- `undefined` - value is not set + +> Note: The header value is considered set if it is not equal to undefined. + +The headers object is always initialized inside interceptors and transformers: + +```ts +axios.interceptors.request.use((request: InternalAxiosRequestConfig) => { + request.headers.set("My-header", "value"); + + request.headers.set({ + "My-set-header1": "my-set-value1", + "My-set-header2": "my-set-value2", + }); + + request.headers.set("User-Agent", false); // disable subsequent setting the header by Axios + + request.headers.setContentType("text/plain"); + + request.headers["My-set-header2"] = "newValue"; // direct access is deprecated + + return request; +}); +``` + +You can iterate over an `AxiosHeaders` instance using a `for...of` statement: + +```js +const headers = new AxiosHeaders({ + foo: "1", + bar: "2", + baz: "3", +}); + +for (const [header, value] of headers) { + console.log(header, value); +} + +// foo 1 +// bar 2 +// baz 3 +``` + +### new AxiosHeaders(headers?) + +Constructs a new `AxiosHeaders` instance. + +``` +constructor(headers?: RawAxiosHeaders | AxiosHeaders | string); +``` + +If the headers object is a string, it will be parsed as RAW HTTP headers. + +```js +const headers = new AxiosHeaders(` +Host: www.bing.com +User-Agent: curl/7.54.0 +Accept: */*`); + +console.log(headers); + +// Object [AxiosHeaders] { +// host: 'www.bing.com', +// 'user-agent': 'curl/7.54.0', +// accept: '*/*' +// } +``` + +### AxiosHeaders#set + +```ts +set(headerName, value: Axios, rewrite?: boolean); +set(headerName, value, rewrite?: (this: AxiosHeaders, value: string, name: string, headers: RawAxiosHeaders) => boolean); +set(headers?: RawAxiosHeaders | AxiosHeaders | string, rewrite?: boolean); +``` + +The `rewrite` argument controls the overwriting behavior: + +- `false` - do not overwrite if the header's value is set (is not `undefined`) +- `undefined` (default) - overwrite the header unless its value is set to `false` +- `true` - rewrite anyway + +The option can also accept a user-defined function that determines whether the value should be overwritten or not. + +Returns `this`. + +### AxiosHeaders#get(header) + +``` + get(headerName: string, matcher?: true | AxiosHeaderMatcher): AxiosHeaderValue; + get(headerName: string, parser: RegExp): RegExpExecArray | null; +``` + +Returns the internal value of the header. It can take an extra argument to parse the header's value with `RegExp.exec`, +matcher function or internal key-value parser. + +```ts +const headers = new AxiosHeaders({ + "Content-Type": "multipart/form-data; boundary=Asrf456BGe4h", +}); + +console.log(headers.get("Content-Type")); +// multipart/form-data; boundary=Asrf456BGe4h + +console.log(headers.get("Content-Type", true)); // parse key-value pairs from a string separated with \s,;= delimiters: +// [Object: null prototype] { +// 'multipart/form-data': undefined, +// boundary: 'Asrf456BGe4h' +// } + +console.log( + headers.get("Content-Type", (value, name, headers) => { + return String(value).replace(/a/g, "ZZZ"); + }), +); +// multipZZZrt/form-dZZZtZZZ; boundZZZry=Asrf456BGe4h + +console.log(headers.get("Content-Type", /boundary=(\w+)/)?.[0]); +// boundary=Asrf456BGe4h +``` + +Returns the value of the header. + +### AxiosHeaders#has(header, matcher?) + +``` +has(header: string, matcher?: AxiosHeaderMatcher): boolean; +``` + +Returns `true` if the header is set (has no `undefined` value). + +### AxiosHeaders#delete(header, matcher?) + +``` +delete(header: string | string[], matcher?: AxiosHeaderMatcher): boolean; +``` + +Returns `true` if at least one header has been removed. + +### AxiosHeaders#clear(matcher?) + +``` +clear(matcher?: AxiosHeaderMatcher): boolean; +``` + +Removes all headers. +Unlike the `delete` method matcher, this optional matcher will be used to match against the header name rather than the value. + +```ts +const headers = new AxiosHeaders({ + foo: "1", + "x-foo": "2", + "x-bar": "3", +}); + +console.log(headers.clear(/^x-/)); // true + +console.log(headers.toJSON()); // [Object: null prototype] { foo: '1' } +``` + +Returns `true` if at least one header has been cleared. + +### AxiosHeaders#normalize(format); + +If the headers object was changed directly, it can have duplicates with the same name but in different cases. +This method normalizes the headers object by combining duplicate keys into one. +Axios uses this method internally after calling each interceptor. +Set `format` to true for converting header names to lowercase and capitalizing the initial letters (`cOntEnt-type` => `Content-Type`) + +```js +const headers = new AxiosHeaders({ + foo: "1", +}); + +headers.Foo = "2"; +headers.FOO = "3"; + +console.log(headers.toJSON()); // [Object: null prototype] { foo: '1', Foo: '2', FOO: '3' } +console.log(headers.normalize().toJSON()); // [Object: null prototype] { foo: '3' } +console.log(headers.normalize(true).toJSON()); // [Object: null prototype] { Foo: '3' } +``` + +Returns `this`. + +### AxiosHeaders#concat(...targets) + +``` +concat(...targets: Array): AxiosHeaders; +``` + +Merges the instance with targets into a new `AxiosHeaders` instance. If the target is a string, it will be parsed as RAW HTTP headers. + +Returns a new `AxiosHeaders` instance. + +### AxiosHeaders#toJSON(asStrings?) + +``` +toJSON(asStrings?: boolean): RawAxiosHeaders; +``` + +Resolve all internal header values into a new null prototype object. +Set `asStrings` to true to resolve arrays as a string containing all elements, separated by commas. + +### AxiosHeaders.from(thing?) + +``` +from(thing?: AxiosHeaders | RawAxiosHeaders | string): AxiosHeaders; +``` + +Returns a new `AxiosHeaders` instance created from the raw headers passed in, +or simply returns the given headers object if it's an `AxiosHeaders` instance. + +### AxiosHeaders.concat(...targets) + +``` +concat(...targets: Array): AxiosHeaders; +``` + +Returns a new `AxiosHeaders` instance created by merging the target objects. + +### Shortcuts + +The following shortcuts are available: + +- `setContentType`, `getContentType`, `hasContentType` + +- `setContentLength`, `getContentLength`, `hasContentLength` + +- `setAccept`, `getAccept`, `hasAccept` + +- `setUserAgent`, `getUserAgent`, `hasUserAgent` + +- `setContentEncoding`, `getContentEncoding`, `hasContentEncoding` + +## 🔥 Fetch adapter + +Fetch adapter was introduced in `v1.7.0`. By default, it will be used if `xhr` and `http` adapters are not available in the build, +or not supported by the environment. +To use it by default, it must be selected explicitly: + +```js +const { data } = axios.get(url, { + adapter: "fetch", // by default ['xhr', 'http', 'fetch'] +}); +``` + +You can create a separate instance for this: + +```js +const fetchAxios = axios.create({ + adapter: "fetch", +}); + +const { data } = fetchAxios.get(url); +``` + +The adapter supports the same functionality as the `xhr` adapter, **including upload and download progress capturing**. +Also, it supports additional response types such as `stream` and `formdata` (if supported by the environment). + +### 🔥 Custom fetch + +Starting from `v1.12.0`, you can customize the fetch adapter to use a custom fetch API instead of environment globals. +You can pass a custom `fetch` function, `Request`, and `Response` constructors via env config. +This can be helpful in case of custom environments & app frameworks. + +Also, when using a custom fetch, you may need to set custom Request and Response too. If you don't set them, global objects will be used. +If your custom fetch api does not have these objects, and the globals are incompatible with a custom fetch, +you must disable their use inside the fetch adapter by passing null. + +> Note: Setting `Request` & `Response` to `null` will make it impossible for the fetch adapter to capture the upload & download progress. + +Basic example: + +```js +import customFetchFunction from "customFetchModule"; + +const instance = axios.create({ + adapter: "fetch", + onDownloadProgress(e) { + console.log("downloadProgress", e); + }, + env: { + fetch: customFetchFunction, + Request: null, // undefined -> use the global constructor + Response: null, + }, +}); +``` + +#### 🔥 Using with Tauri + +A minimal example of setting up Axios for use in a [Tauri](https://tauri.app/plugin/http-client/) app with a platform fetch function that ignores CORS policy for requests. + +```js +import { fetch } from "@tauri-apps/plugin-http"; +import axios from "axios"; + +const instance = axios.create({ + adapter: "fetch", + onDownloadProgress(e) { + console.log("downloadProgress", e); + }, + env: { + fetch, + }, +}); + +const { data } = await instance.get("https://google.com"); +``` + +#### 🔥 Using with SvelteKit + +[SvelteKit](https://svelte.dev/docs/kit/web-standards#Fetch-APIs) framework has a custom implementation of the fetch function for server rendering (so called `load` functions), and also uses relative paths, +which makes it incompatible with the standard URL API. So, Axios must be configured to use the custom fetch API: + +```js +export async function load({ fetch }) { + const { data: post } = await axios.get( + "https://jsonplaceholder.typicode.com/posts/1", + { + adapter: "fetch", + env: { + fetch, + Request: null, + Response: null, + }, + }, + ); + + return { post }; +} +``` + +## 🔥 HTTP2 + +In version `1.13.0`, experimental `HTTP2` support was added to the `http` adapter. +The `httpVersion` option is now available to select the protocol version used. +Additional native options for the internal `session.request()` call can be passed via the `http2Options` config. +This config also includes the custom `sessionTimeout` parameter, which defaults to `1000ms`. + +```js +const form = new FormData(); + +form.append("foo", "123"); + +const { data, headers, status } = await axios.post( + "https://httpbin.org/post", + form, + { + httpVersion: 2, + http2Options: { + // rejectUnauthorized: false, + // sessionTimeout: 1000 + }, + onUploadProgress(e) { + console.log("upload progress", e); + }, + onDownloadProgress(e) { + console.log("download progress", e); + }, + responseType: "arraybuffer", + }, +); +``` + +## Semver + +Since Axios has reached a `v.1.0.0` we will fully embrace semver as per the spec [here](https://semver.org/) + +## Promises + +axios depends on a native ES6 Promise implementation to be [supported](https://caniuse.com/promises). +If your environment doesn't support ES6 Promises, you can [polyfill](https://github.com/jakearchibald/es6-promise). + +## TypeScript + +axios includes [TypeScript](https://typescriptlang.org) definitions and a type guard for axios errors. + +```typescript +let user: User = null; +try { + const { data } = await axios.get("/user?ID=12345"); + user = data.userDetails; +} catch (error) { + if (axios.isAxiosError(error)) { + handleAxiosError(error); + } else { + handleUnexpectedError(error); + } +} +``` + +Because axios dual publishes with an ESM default export and a CJS `module.exports`, there are some caveats. +The recommended setting is to use `"moduleResolution": "node16"` (this is implied by `"module": "node16"`). Note that this requires TypeScript 4.7 or greater. +If use ESM, your settings should be fine. +If you compile TypeScript to CJS and you can’t use `"moduleResolution": "node 16"`, you have to enable `esModuleInterop`. +If you use TypeScript to type check CJS JavaScript code, your only option is to use `"moduleResolution": "node16"`. + +You can also create a custom instance with typed interceptors: + +```typescript +import axios, { AxiosInstance, InternalAxiosRequestConfig } from "axios"; + +const apiClient: AxiosInstance = axios.create({ + baseURL: "https://api.example.com", + timeout: 10000, +}); + +apiClient.interceptors.request.use((config: InternalAxiosRequestConfig) => { + // Add auth token + return config; +}); +``` + +## Online one-click setup + +You can use Gitpod, an online IDE(which is free for Open Source) for contributing or running the examples online. + +[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/axios/axios/blob/main/examples/server.js) + +## Resources + +- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) +- [Ecosystem](https://github.com/axios/axios/blob/v1.x/ECOSYSTEM.md) +- [Contributing Guide](https://github.com/axios/axios/blob/v1.x/CONTRIBUTING.md) +- [Code of Conduct](https://github.com/axios/axios/blob/v1.x/CODE_OF_CONDUCT.md) + +## Credits + +axios is heavily inspired by the [$http service](https://docs.angularjs.org/api/ng/service/$http) provided in [AngularJS](https://angularjs.org/). Ultimately axios is an effort to provide a standalone `$http`-like service for use outside of AngularJS. + +## License + +[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) diff --git a/dist/node_modules/axios/dist/axios.js b/dist/node_modules/axios/dist/axios.js new file mode 100644 index 00000000..40c2223d --- /dev/null +++ b/dist/node_modules/axios/dist/axios.js @@ -0,0 +1,4454 @@ +/*! Axios v1.14.0 Copyright (c) 2026 Matt Zabriskie and contributors */ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.axios = factory()); +})(this, (function () { 'use strict'; + + function _OverloadYield(e, d) { + this.v = e, this.k = d; + } + function _arrayLikeToArray(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; + } + function _arrayWithHoles(r) { + if (Array.isArray(r)) return r; + } + function _arrayWithoutHoles(r) { + if (Array.isArray(r)) return _arrayLikeToArray(r); + } + function _assertThisInitialized(e) { + if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + return e; + } + function _asyncGeneratorDelegate(t) { + var e = {}, + n = false; + function pump(e, r) { + return n = true, r = new Promise(function (n) { + n(t[e](r)); + }), { + done: false, + value: new _OverloadYield(r, 1) + }; + } + return e["undefined" != typeof Symbol && Symbol.iterator || "@@iterator"] = function () { + return this; + }, e.next = function (t) { + return n ? (n = false, t) : pump("next", t); + }, "function" == typeof t.throw && (e.throw = function (t) { + if (n) throw n = false, t; + return pump("throw", t); + }), "function" == typeof t.return && (e.return = function (t) { + return n ? (n = false, t) : pump("return", t); + }), e; + } + function _asyncIterator(r) { + var n, + t, + o, + e = 2; + for ("undefined" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) { + if (t && null != (n = r[t])) return n.call(r); + if (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r)); + t = "@@asyncIterator", o = "@@iterator"; + } + throw new TypeError("Object is not async iterable"); + } + function AsyncFromSyncIterator(r) { + function AsyncFromSyncIteratorContinuation(r) { + if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); + var n = r.done; + return Promise.resolve(r.value).then(function (r) { + return { + value: r, + done: n + }; + }); + } + return AsyncFromSyncIterator = function (r) { + this.s = r, this.n = r.next; + }, AsyncFromSyncIterator.prototype = { + s: null, + n: null, + next: function () { + return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); + }, + return: function (r) { + var n = this.s.return; + return void 0 === n ? Promise.resolve({ + value: r, + done: true + }) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); + }, + throw: function (r) { + var n = this.s.return; + return void 0 === n ? Promise.reject(r) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); + } + }, new AsyncFromSyncIterator(r); + } + function asyncGeneratorStep(n, t, e, r, o, a, c) { + try { + var i = n[a](c), + u = i.value; + } catch (n) { + return void e(n); + } + i.done ? t(u) : Promise.resolve(u).then(r, o); + } + function _asyncToGenerator(n) { + return function () { + var t = this, + e = arguments; + return new Promise(function (r, o) { + var a = n.apply(t, e); + function _next(n) { + asyncGeneratorStep(a, r, o, _next, _throw, "next", n); + } + function _throw(n) { + asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); + } + _next(void 0); + }); + }; + } + function _awaitAsyncGenerator(e) { + return new _OverloadYield(e, 0); + } + function _callSuper(t, o, e) { + return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); + } + function _classCallCheck(a, n) { + if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); + } + function _construct(t, e, r) { + if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); + var o = [null]; + o.push.apply(o, e); + var p = new (t.bind.apply(t, o))(); + return r && _setPrototypeOf(p, r.prototype), p; + } + function _defineProperties(e, r) { + for (var t = 0; t < r.length; t++) { + var o = r[t]; + o.enumerable = o.enumerable || false, o.configurable = true, "value" in o && (o.writable = true), Object.defineProperty(e, _toPropertyKey(o.key), o); + } + } + function _createClass(e, r, t) { + return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { + writable: false + }), e; + } + function _createForOfIteratorHelper(r, e) { + var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (!t) { + if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e) { + t && (r = t); + var n = 0, + F = function () {}; + return { + s: F, + n: function () { + return n >= r.length ? { + done: true + } : { + done: false, + value: r[n++] + }; + }, + e: function (r) { + throw r; + }, + f: F + }; + } + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + var o, + a = true, + u = false; + return { + s: function () { + t = t.call(r); + }, + n: function () { + var r = t.next(); + return a = r.done, r; + }, + e: function (r) { + u = true, o = r; + }, + f: function () { + try { + a || null == t.return || t.return(); + } finally { + if (u) throw o; + } + } + }; + } + function _defineProperty(e, r, t) { + return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { + value: t, + enumerable: true, + configurable: true, + writable: true + }) : e[r] = t, e; + } + function _getPrototypeOf(t) { + return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { + return t.__proto__ || Object.getPrototypeOf(t); + }, _getPrototypeOf(t); + } + function _inherits(t, e) { + if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); + t.prototype = Object.create(e && e.prototype, { + constructor: { + value: t, + writable: true, + configurable: true + } + }), Object.defineProperty(t, "prototype", { + writable: false + }), e && _setPrototypeOf(t, e); + } + function _isNativeFunction(t) { + try { + return -1 !== Function.toString.call(t).indexOf("[native code]"); + } catch (n) { + return "function" == typeof t; + } + } + function _isNativeReflectConstruct() { + try { + var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); + } catch (t) {} + return (_isNativeReflectConstruct = function () { + return !!t; + })(); + } + function _iterableToArray(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); + } + function _iterableToArrayLimit(r, l) { + var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (null != t) { + var e, + n, + i, + u, + a = [], + f = true, + o = false; + try { + if (i = (t = t.call(r)).next, 0 === l) { + if (Object(t) !== t) return; + f = !1; + } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); + } catch (r) { + o = true, n = r; + } finally { + try { + if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; + } finally { + if (o) throw n; + } + } + return a; + } + } + function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + function ownKeys(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function (r) { + return Object.getOwnPropertyDescriptor(e, r).enumerable; + })), t.push.apply(t, o); + } + return t; + } + function _objectSpread2(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys(Object(t), true).forEach(function (r) { + _defineProperty(e, r, t[r]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { + Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); + }); + } + return e; + } + function _possibleConstructorReturn(t, e) { + if (e && ("object" == typeof e || "function" == typeof e)) return e; + if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); + return _assertThisInitialized(t); + } + function _regenerator() { + /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ + var e, + t, + r = "function" == typeof Symbol ? Symbol : {}, + n = r.iterator || "@@iterator", + o = r.toStringTag || "@@toStringTag"; + function i(r, n, o, i) { + var c = n && n.prototype instanceof Generator ? n : Generator, + u = Object.create(c.prototype); + return _regeneratorDefine(u, "_invoke", function (r, n, o) { + var i, + c, + u, + f = 0, + p = o || [], + y = false, + G = { + p: 0, + n: 0, + v: e, + a: d, + f: d.bind(e, 4), + d: function (t, r) { + return i = t, c = 0, u = e, G.n = r, a; + } + }; + function d(r, n) { + for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { + var o, + i = p[t], + d = G.p, + l = i[2]; + r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); + } + if (o || r > 1) return a; + throw y = true, n; + } + return function (o, p, l) { + if (f > 1) throw TypeError("Generator is already running"); + for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { + i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); + try { + if (f = 2, i) { + if (c || (o = "next"), t = i[o]) { + if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); + if (!t.done) return t; + u = t.value, c < 2 && (c = 0); + } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); + i = e; + } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; + } catch (t) { + i = e, c = 1, u = t; + } finally { + f = 1; + } + } + return { + value: t, + done: y + }; + }; + }(r, o, i), true), u; + } + var a = {}; + function Generator() {} + function GeneratorFunction() {} + function GeneratorFunctionPrototype() {} + t = Object.getPrototypeOf; + var c = [][n] ? t(t([][n]())) : (_regeneratorDefine(t = {}, n, function () { + return this; + }), t), + u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); + function f(e) { + return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; + } + return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine(u), _regeneratorDefine(u, o, "Generator"), _regeneratorDefine(u, n, function () { + return this; + }), _regeneratorDefine(u, "toString", function () { + return "[object Generator]"; + }), (_regenerator = function () { + return { + w: i, + m: f + }; + })(); + } + function _regeneratorDefine(e, r, n, t) { + var i = Object.defineProperty; + try { + i({}, "", {}); + } catch (e) { + i = 0; + } + _regeneratorDefine = function (e, r, n, t) { + function o(r, n) { + _regeneratorDefine(e, r, function (e) { + return this._invoke(r, n, e); + }); + } + r ? i ? i(e, r, { + value: n, + enumerable: !t, + configurable: !t, + writable: !t + }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); + }, _regeneratorDefine(e, r, n, t); + } + function _regeneratorValues(e) { + if (null != e) { + var t = e["function" == typeof Symbol && Symbol.iterator || "@@iterator"], + r = 0; + if (t) return t.call(e); + if ("function" == typeof e.next) return e; + if (!isNaN(e.length)) return { + next: function () { + return e && r >= e.length && (e = void 0), { + value: e && e[r++], + done: !e + }; + } + }; + } + throw new TypeError(typeof e + " is not iterable"); + } + function _setPrototypeOf(t, e) { + return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { + return t.__proto__ = e, t; + }, _setPrototypeOf(t, e); + } + function _slicedToArray(r, e) { + return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); + } + function _toConsumableArray(r) { + return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); + } + function _toPrimitive(t, r) { + if ("object" != typeof t || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r); + if ("object" != typeof i) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); + } + function _toPropertyKey(t) { + var i = _toPrimitive(t, "string"); + return "symbol" == typeof i ? i : i + ""; + } + function _typeof(o) { + "@babel/helpers - typeof"; + + return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { + return typeof o; + } : function (o) { + return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; + }, _typeof(o); + } + function _unsupportedIterableToArray(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray(r, a); + var t = {}.toString.call(r).slice(8, -1); + return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; + } + } + function _wrapAsyncGenerator(e) { + return function () { + return new AsyncGenerator(e.apply(this, arguments)); + }; + } + function AsyncGenerator(e) { + var r, t; + function resume(r, t) { + try { + var n = e[r](t), + o = n.value, + u = o instanceof _OverloadYield; + Promise.resolve(u ? o.v : o).then(function (t) { + if (u) { + var i = "return" === r ? "return" : "next"; + if (!o.k || t.done) return resume(i, t); + t = e[i](t).value; + } + settle(n.done ? "return" : "normal", t); + }, function (e) { + resume("throw", e); + }); + } catch (e) { + settle("throw", e); + } + } + function settle(e, n) { + switch (e) { + case "return": + r.resolve({ + value: n, + done: true + }); + break; + case "throw": + r.reject(n); + break; + default: + r.resolve({ + value: n, + done: false + }); + } + (r = r.next) ? resume(r.key, r.arg) : t = null; + } + this._invoke = function (e, n) { + return new Promise(function (o, u) { + var i = { + key: e, + arg: n, + resolve: o, + reject: u, + next: null + }; + t ? t = t.next = i : (r = t = i, resume(e, n)); + }); + }, "function" != typeof e.return && (this.return = void 0); + } + AsyncGenerator.prototype["function" == typeof Symbol && Symbol.asyncIterator || "@@asyncIterator"] = function () { + return this; + }, AsyncGenerator.prototype.next = function (e) { + return this._invoke("next", e); + }, AsyncGenerator.prototype.throw = function (e) { + return this._invoke("throw", e); + }, AsyncGenerator.prototype.return = function (e) { + return this._invoke("return", e); + }; + function _wrapNativeSuper(t) { + var r = "function" == typeof Map ? new Map() : void 0; + return _wrapNativeSuper = function (t) { + if (null === t || !_isNativeFunction(t)) return t; + if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function"); + if (void 0 !== r) { + if (r.has(t)) return r.get(t); + r.set(t, Wrapper); + } + function Wrapper() { + return _construct(t, arguments, _getPrototypeOf(this).constructor); + } + return Wrapper.prototype = Object.create(t.prototype, { + constructor: { + value: Wrapper, + enumerable: false, + writable: true, + configurable: true + } + }), _setPrototypeOf(Wrapper, t); + }, _wrapNativeSuper(t); + } + + /** + * Create a bound version of a function with a specified `this` context + * + * @param {Function} fn - The function to bind + * @param {*} thisArg - The value to be passed as the `this` parameter + * @returns {Function} A new function that will call the original function with the specified `this` context + */ + function bind(fn, thisArg) { + return function wrap() { + return fn.apply(thisArg, arguments); + }; + } + + // utils is a library of generic helper functions non-specific to axios + + var toString = Object.prototype.toString; + var getPrototypeOf = Object.getPrototypeOf; + var iterator = Symbol.iterator, + toStringTag = Symbol.toStringTag; + var kindOf = function (cache) { + return function (thing) { + var str = toString.call(thing); + return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); + }; + }(Object.create(null)); + var kindOfTest = function kindOfTest(type) { + type = type.toLowerCase(); + return function (thing) { + return kindOf(thing) === type; + }; + }; + var typeOfTest = function typeOfTest(type) { + return function (thing) { + return _typeof(thing) === type; + }; + }; + + /** + * Determine if a value is a non-null object + * + * @param {Object} val The value to test + * + * @returns {boolean} True if value is an Array, otherwise false + */ + var isArray = Array.isArray; + + /** + * Determine if a value is undefined + * + * @param {*} val The value to test + * + * @returns {boolean} True if the value is undefined, otherwise false + */ + var isUndefined = typeOfTest('undefined'); + + /** + * Determine if a value is a Buffer + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Buffer, otherwise false + */ + function isBuffer(val) { + return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction$1(val.constructor.isBuffer) && val.constructor.isBuffer(val); + } + + /** + * Determine if a value is an ArrayBuffer + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is an ArrayBuffer, otherwise false + */ + var isArrayBuffer = kindOfTest('ArrayBuffer'); + + /** + * Determine if a value is a view on an ArrayBuffer + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false + */ + function isArrayBufferView(val) { + var result; + if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) { + result = ArrayBuffer.isView(val); + } else { + result = val && val.buffer && isArrayBuffer(val.buffer); + } + return result; + } + + /** + * Determine if a value is a String + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a String, otherwise false + */ + var isString = typeOfTest('string'); + + /** + * Determine if a value is a Function + * + * @param {*} val The value to test + * @returns {boolean} True if value is a Function, otherwise false + */ + var isFunction$1 = typeOfTest('function'); + + /** + * Determine if a value is a Number + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Number, otherwise false + */ + var isNumber = typeOfTest('number'); + + /** + * Determine if a value is an Object + * + * @param {*} thing The value to test + * + * @returns {boolean} True if value is an Object, otherwise false + */ + var isObject = function isObject(thing) { + return thing !== null && _typeof(thing) === 'object'; + }; + + /** + * Determine if a value is a Boolean + * + * @param {*} thing The value to test + * @returns {boolean} True if value is a Boolean, otherwise false + */ + var isBoolean = function isBoolean(thing) { + return thing === true || thing === false; + }; + + /** + * Determine if a value is a plain Object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a plain Object, otherwise false + */ + var isPlainObject = function isPlainObject(val) { + if (kindOf(val) !== 'object') { + return false; + } + var prototype = getPrototypeOf(val); + return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val); + }; + + /** + * Determine if a value is an empty object (safely handles Buffers) + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is an empty object, otherwise false + */ + var isEmptyObject = function isEmptyObject(val) { + // Early return for non-objects or Buffers to prevent RangeError + if (!isObject(val) || isBuffer(val)) { + return false; + } + try { + return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype; + } catch (e) { + // Fallback for any other objects that might cause RangeError with Object.keys() + return false; + } + }; + + /** + * Determine if a value is a Date + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Date, otherwise false + */ + var isDate = kindOfTest('Date'); + + /** + * Determine if a value is a File + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a File, otherwise false + */ + var isFile = kindOfTest('File'); + + /** + * Determine if a value is a React Native Blob + * React Native "blob": an object with a `uri` attribute. Optionally, it can + * also have a `name` and `type` attribute to specify filename and content type + * + * @see https://github.com/facebook/react-native/blob/26684cf3adf4094eb6c405d345a75bf8c7c0bf88/Libraries/Network/FormData.js#L68-L71 + * + * @param {*} value The value to test + * + * @returns {boolean} True if value is a React Native Blob, otherwise false + */ + var isReactNativeBlob = function isReactNativeBlob(value) { + return !!(value && typeof value.uri !== 'undefined'); + }; + + /** + * Determine if environment is React Native + * ReactNative `FormData` has a non-standard `getParts()` method + * + * @param {*} formData The formData to test + * + * @returns {boolean} True if environment is React Native, otherwise false + */ + var isReactNative = function isReactNative(formData) { + return formData && typeof formData.getParts !== 'undefined'; + }; + + /** + * Determine if a value is a Blob + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Blob, otherwise false + */ + var isBlob = kindOfTest('Blob'); + + /** + * Determine if a value is a FileList + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a File, otherwise false + */ + var isFileList = kindOfTest('FileList'); + + /** + * Determine if a value is a Stream + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Stream, otherwise false + */ + var isStream = function isStream(val) { + return isObject(val) && isFunction$1(val.pipe); + }; + + /** + * Determine if a value is a FormData + * + * @param {*} thing The value to test + * + * @returns {boolean} True if value is an FormData, otherwise false + */ + function getGlobal() { + if (typeof globalThis !== 'undefined') return globalThis; + if (typeof self !== 'undefined') return self; + if (typeof window !== 'undefined') return window; + if (typeof global !== 'undefined') return global; + return {}; + } + var G = getGlobal(); + var FormDataCtor = typeof G.FormData !== 'undefined' ? G.FormData : undefined; + var isFormData = function isFormData(thing) { + var kind; + return thing && (FormDataCtor && thing instanceof FormDataCtor || isFunction$1(thing.append) && ((kind = kindOf(thing)) === 'formdata' || + // detect form-data instance + kind === 'object' && isFunction$1(thing.toString) && thing.toString() === '[object FormData]')); + }; + + /** + * Determine if a value is a URLSearchParams object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a URLSearchParams object, otherwise false + */ + var isURLSearchParams = kindOfTest('URLSearchParams'); + var _map = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest), + _map2 = _slicedToArray(_map, 4), + isReadableStream = _map2[0], + isRequest = _map2[1], + isResponse = _map2[2], + isHeaders = _map2[3]; + + /** + * Trim excess whitespace off the beginning and end of a string + * + * @param {String} str The String to trim + * + * @returns {String} The String freed of excess whitespace + */ + var trim = function trim(str) { + return str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); + }; + /** + * Iterate over an Array or an Object invoking a function for each item. + * + * If `obj` is an Array callback will be called passing + * the value, index, and complete array for each item. + * + * If 'obj' is an Object callback will be called passing + * the value, key, and complete object for each property. + * + * @param {Object|Array} obj The object to iterate + * @param {Function} fn The callback to invoke for each item + * + * @param {Object} [options] + * @param {Boolean} [options.allOwnKeys = false] + * @returns {any} + */ + function forEach(obj, fn) { + var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, + _ref$allOwnKeys = _ref.allOwnKeys, + allOwnKeys = _ref$allOwnKeys === void 0 ? false : _ref$allOwnKeys; + // Don't bother if no value provided + if (obj === null || typeof obj === 'undefined') { + return; + } + var i; + var l; + + // Force an array if not already something iterable + if (_typeof(obj) !== 'object') { + /*eslint no-param-reassign:0*/ + obj = [obj]; + } + if (isArray(obj)) { + // Iterate over array values + for (i = 0, l = obj.length; i < l; i++) { + fn.call(null, obj[i], i, obj); + } + } else { + // Buffer check + if (isBuffer(obj)) { + return; + } + + // Iterate over object keys + var keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); + var len = keys.length; + var key; + for (i = 0; i < len; i++) { + key = keys[i]; + fn.call(null, obj[key], key, obj); + } + } + } + + /** + * Finds a key in an object, case-insensitive, returning the actual key name. + * Returns null if the object is a Buffer or if no match is found. + * + * @param {Object} obj - The object to search. + * @param {string} key - The key to find (case-insensitive). + * @returns {?string} The actual key name if found, otherwise null. + */ + function findKey(obj, key) { + if (isBuffer(obj)) { + return null; + } + key = key.toLowerCase(); + var keys = Object.keys(obj); + var i = keys.length; + var _key; + while (i-- > 0) { + _key = keys[i]; + if (key === _key.toLowerCase()) { + return _key; + } + } + return null; + } + var _global = function () { + /*eslint no-undef:0*/ + if (typeof globalThis !== 'undefined') return globalThis; + return typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : global; + }(); + var isContextDefined = function isContextDefined(context) { + return !isUndefined(context) && context !== _global; + }; + + /** + * Accepts varargs expecting each argument to be an object, then + * immutably merges the properties of each object and returns result. + * + * When multiple objects contain the same key the later object in + * the arguments list will take precedence. + * + * Example: + * + * ```js + * const result = merge({foo: 123}, {foo: 456}); + * console.log(result.foo); // outputs 456 + * ``` + * + * @param {Object} obj1 Object to merge + * + * @returns {Object} Result of all merge properties + */ + function merge(/* obj1, obj2, obj3, ... */ + ) { + var _ref2 = isContextDefined(this) && this || {}, + caseless = _ref2.caseless, + skipUndefined = _ref2.skipUndefined; + var result = {}; + var assignValue = function assignValue(val, key) { + // Skip dangerous property names to prevent prototype pollution + if (key === '__proto__' || key === 'constructor' || key === 'prototype') { + return; + } + var targetKey = caseless && findKey(result, key) || key; + if (isPlainObject(result[targetKey]) && isPlainObject(val)) { + result[targetKey] = merge(result[targetKey], val); + } else if (isPlainObject(val)) { + result[targetKey] = merge({}, val); + } else if (isArray(val)) { + result[targetKey] = val.slice(); + } else if (!skipUndefined || !isUndefined(val)) { + result[targetKey] = val; + } + }; + for (var i = 0, l = arguments.length; i < l; i++) { + arguments[i] && forEach(arguments[i], assignValue); + } + return result; + } + + /** + * Extends object a by mutably adding to it the properties of object b. + * + * @param {Object} a The object to be extended + * @param {Object} b The object to copy properties from + * @param {Object} thisArg The object to bind function to + * + * @param {Object} [options] + * @param {Boolean} [options.allOwnKeys] + * @returns {Object} The resulting value of object a + */ + var extend = function extend(a, b, thisArg) { + var _ref3 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}, + allOwnKeys = _ref3.allOwnKeys; + forEach(b, function (val, key) { + if (thisArg && isFunction$1(val)) { + Object.defineProperty(a, key, { + value: bind(val, thisArg), + writable: true, + enumerable: true, + configurable: true + }); + } else { + Object.defineProperty(a, key, { + value: val, + writable: true, + enumerable: true, + configurable: true + }); + } + }, { + allOwnKeys: allOwnKeys + }); + return a; + }; + + /** + * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) + * + * @param {string} content with BOM + * + * @returns {string} content value without BOM + */ + var stripBOM = function stripBOM(content) { + if (content.charCodeAt(0) === 0xfeff) { + content = content.slice(1); + } + return content; + }; + + /** + * Inherit the prototype methods from one constructor into another + * @param {function} constructor + * @param {function} superConstructor + * @param {object} [props] + * @param {object} [descriptors] + * + * @returns {void} + */ + var inherits = function inherits(constructor, superConstructor, props, descriptors) { + constructor.prototype = Object.create(superConstructor.prototype, descriptors); + Object.defineProperty(constructor.prototype, 'constructor', { + value: constructor, + writable: true, + enumerable: false, + configurable: true + }); + Object.defineProperty(constructor, 'super', { + value: superConstructor.prototype + }); + props && Object.assign(constructor.prototype, props); + }; + + /** + * Resolve object with deep prototype chain to a flat object + * @param {Object} sourceObj source object + * @param {Object} [destObj] + * @param {Function|Boolean} [filter] + * @param {Function} [propFilter] + * + * @returns {Object} + */ + var toFlatObject = function toFlatObject(sourceObj, destObj, filter, propFilter) { + var props; + var i; + var prop; + var merged = {}; + destObj = destObj || {}; + // eslint-disable-next-line no-eq-null,eqeqeq + if (sourceObj == null) return destObj; + do { + props = Object.getOwnPropertyNames(sourceObj); + i = props.length; + while (i-- > 0) { + prop = props[i]; + if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { + destObj[prop] = sourceObj[prop]; + merged[prop] = true; + } + } + sourceObj = filter !== false && getPrototypeOf(sourceObj); + } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); + return destObj; + }; + + /** + * Determines whether a string ends with the characters of a specified string + * + * @param {String} str + * @param {String} searchString + * @param {Number} [position= 0] + * + * @returns {boolean} + */ + var endsWith = function endsWith(str, searchString, position) { + str = String(str); + if (position === undefined || position > str.length) { + position = str.length; + } + position -= searchString.length; + var lastIndex = str.indexOf(searchString, position); + return lastIndex !== -1 && lastIndex === position; + }; + + /** + * Returns new array from array like object or null if failed + * + * @param {*} [thing] + * + * @returns {?Array} + */ + var toArray = function toArray(thing) { + if (!thing) return null; + if (isArray(thing)) return thing; + var i = thing.length; + if (!isNumber(i)) return null; + var arr = new Array(i); + while (i-- > 0) { + arr[i] = thing[i]; + } + return arr; + }; + + /** + * Checking if the Uint8Array exists and if it does, it returns a function that checks if the + * thing passed in is an instance of Uint8Array + * + * @param {TypedArray} + * + * @returns {Array} + */ + // eslint-disable-next-line func-names + var isTypedArray = function (TypedArray) { + // eslint-disable-next-line func-names + return function (thing) { + return TypedArray && thing instanceof TypedArray; + }; + }(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array)); + + /** + * For each entry in the object, call the function with the key and value. + * + * @param {Object} obj - The object to iterate over. + * @param {Function} fn - The function to call for each entry. + * + * @returns {void} + */ + var forEachEntry = function forEachEntry(obj, fn) { + var generator = obj && obj[iterator]; + var _iterator = generator.call(obj); + var result; + while ((result = _iterator.next()) && !result.done) { + var pair = result.value; + fn.call(obj, pair[0], pair[1]); + } + }; + + /** + * It takes a regular expression and a string, and returns an array of all the matches + * + * @param {string} regExp - The regular expression to match against. + * @param {string} str - The string to search. + * + * @returns {Array} + */ + var matchAll = function matchAll(regExp, str) { + var matches; + var arr = []; + while ((matches = regExp.exec(str)) !== null) { + arr.push(matches); + } + return arr; + }; + + /* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */ + var isHTMLForm = kindOfTest('HTMLFormElement'); + var toCamelCase = function toCamelCase(str) { + return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, function replacer(m, p1, p2) { + return p1.toUpperCase() + p2; + }); + }; + + /* Creating a function that will check if an object has a property. */ + var hasOwnProperty = function (_ref4) { + var hasOwnProperty = _ref4.hasOwnProperty; + return function (obj, prop) { + return hasOwnProperty.call(obj, prop); + }; + }(Object.prototype); + + /** + * Determine if a value is a RegExp object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a RegExp object, otherwise false + */ + var isRegExp = kindOfTest('RegExp'); + var reduceDescriptors = function reduceDescriptors(obj, reducer) { + var descriptors = Object.getOwnPropertyDescriptors(obj); + var reducedDescriptors = {}; + forEach(descriptors, function (descriptor, name) { + var ret; + if ((ret = reducer(descriptor, name, obj)) !== false) { + reducedDescriptors[name] = ret || descriptor; + } + }); + Object.defineProperties(obj, reducedDescriptors); + }; + + /** + * Makes all methods read-only + * @param {Object} obj + */ + + var freezeMethods = function freezeMethods(obj) { + reduceDescriptors(obj, function (descriptor, name) { + // skip restricted props in strict mode + if (isFunction$1(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) { + return false; + } + var value = obj[name]; + if (!isFunction$1(value)) return; + descriptor.enumerable = false; + if ('writable' in descriptor) { + descriptor.writable = false; + return; + } + if (!descriptor.set) { + descriptor.set = function () { + throw Error("Can not rewrite read-only method '" + name + "'"); + }; + } + }); + }; + + /** + * Converts an array or a delimited string into an object set with values as keys and true as values. + * Useful for fast membership checks. + * + * @param {Array|string} arrayOrString - The array or string to convert. + * @param {string} delimiter - The delimiter to use if input is a string. + * @returns {Object} An object with keys from the array or string, values set to true. + */ + var toObjectSet = function toObjectSet(arrayOrString, delimiter) { + var obj = {}; + var define = function define(arr) { + arr.forEach(function (value) { + obj[value] = true; + }); + }; + isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); + return obj; + }; + var noop = function noop() {}; + var toFiniteNumber = function toFiniteNumber(value, defaultValue) { + return value != null && Number.isFinite(value = +value) ? value : defaultValue; + }; + + /** + * If the thing is a FormData object, return true, otherwise return false. + * + * @param {unknown} thing - The thing to check. + * + * @returns {boolean} + */ + function isSpecCompliantForm(thing) { + return !!(thing && isFunction$1(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]); + } + + /** + * Recursively converts an object to a JSON-compatible object, handling circular references and Buffers. + * + * @param {Object} obj - The object to convert. + * @returns {Object} The JSON-compatible object. + */ + var toJSONObject = function toJSONObject(obj) { + var stack = new Array(10); + var _visit = function visit(source, i) { + if (isObject(source)) { + if (stack.indexOf(source) >= 0) { + return; + } + + //Buffer check + if (isBuffer(source)) { + return source; + } + if (!('toJSON' in source)) { + stack[i] = source; + var target = isArray(source) ? [] : {}; + forEach(source, function (value, key) { + var reducedValue = _visit(value, i + 1); + !isUndefined(reducedValue) && (target[key] = reducedValue); + }); + stack[i] = undefined; + return target; + } + } + return source; + }; + return _visit(obj, 0); + }; + + /** + * Determines if a value is an async function. + * + * @param {*} thing - The value to test. + * @returns {boolean} True if value is an async function, otherwise false. + */ + var isAsyncFn = kindOfTest('AsyncFunction'); + + /** + * Determines if a value is thenable (has then and catch methods). + * + * @param {*} thing - The value to test. + * @returns {boolean} True if value is thenable, otherwise false. + */ + var isThenable = function isThenable(thing) { + return thing && (isObject(thing) || isFunction$1(thing)) && isFunction$1(thing.then) && isFunction$1(thing["catch"]); + }; + + // original code + // https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34 + + /** + * Provides a cross-platform setImmediate implementation. + * Uses native setImmediate if available, otherwise falls back to postMessage or setTimeout. + * + * @param {boolean} setImmediateSupported - Whether setImmediate is supported. + * @param {boolean} postMessageSupported - Whether postMessage is supported. + * @returns {Function} A function to schedule a callback asynchronously. + */ + var _setImmediate = function (setImmediateSupported, postMessageSupported) { + if (setImmediateSupported) { + return setImmediate; + } + return postMessageSupported ? function (token, callbacks) { + _global.addEventListener('message', function (_ref5) { + var source = _ref5.source, + data = _ref5.data; + if (source === _global && data === token) { + callbacks.length && callbacks.shift()(); + } + }, false); + return function (cb) { + callbacks.push(cb); + _global.postMessage(token, '*'); + }; + }("axios@".concat(Math.random()), []) : function (cb) { + return setTimeout(cb); + }; + }(typeof setImmediate === 'function', isFunction$1(_global.postMessage)); + + /** + * Schedules a microtask or asynchronous callback as soon as possible. + * Uses queueMicrotask if available, otherwise falls back to process.nextTick or _setImmediate. + * + * @type {Function} + */ + var asap = typeof queueMicrotask !== 'undefined' ? queueMicrotask.bind(_global) : typeof process !== 'undefined' && process.nextTick || _setImmediate; + + // ********************* + + var isIterable = function isIterable(thing) { + return thing != null && isFunction$1(thing[iterator]); + }; + var utils$1 = { + isArray: isArray, + isArrayBuffer: isArrayBuffer, + isBuffer: isBuffer, + isFormData: isFormData, + isArrayBufferView: isArrayBufferView, + isString: isString, + isNumber: isNumber, + isBoolean: isBoolean, + isObject: isObject, + isPlainObject: isPlainObject, + isEmptyObject: isEmptyObject, + isReadableStream: isReadableStream, + isRequest: isRequest, + isResponse: isResponse, + isHeaders: isHeaders, + isUndefined: isUndefined, + isDate: isDate, + isFile: isFile, + isReactNativeBlob: isReactNativeBlob, + isReactNative: isReactNative, + isBlob: isBlob, + isRegExp: isRegExp, + isFunction: isFunction$1, + isStream: isStream, + isURLSearchParams: isURLSearchParams, + isTypedArray: isTypedArray, + isFileList: isFileList, + forEach: forEach, + merge: merge, + extend: extend, + trim: trim, + stripBOM: stripBOM, + inherits: inherits, + toFlatObject: toFlatObject, + kindOf: kindOf, + kindOfTest: kindOfTest, + endsWith: endsWith, + toArray: toArray, + forEachEntry: forEachEntry, + matchAll: matchAll, + isHTMLForm: isHTMLForm, + hasOwnProperty: hasOwnProperty, + hasOwnProp: hasOwnProperty, + // an alias to avoid ESLint no-prototype-builtins detection + reduceDescriptors: reduceDescriptors, + freezeMethods: freezeMethods, + toObjectSet: toObjectSet, + toCamelCase: toCamelCase, + noop: noop, + toFiniteNumber: toFiniteNumber, + findKey: findKey, + global: _global, + isContextDefined: isContextDefined, + isSpecCompliantForm: isSpecCompliantForm, + toJSONObject: toJSONObject, + isAsyncFn: isAsyncFn, + isThenable: isThenable, + setImmediate: _setImmediate, + asap: asap, + isIterable: isIterable + }; + + var AxiosError = /*#__PURE__*/function (_Error) { + /** + * Create an Error with the specified message, config, error code, request and response. + * + * @param {string} message The error message. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [config] The config. + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * + * @returns {Error} The created error. + */ + function AxiosError(message, code, config, request, response) { + var _this; + _classCallCheck(this, AxiosError); + _this = _callSuper(this, AxiosError, [message]); + + // Make message enumerable to maintain backward compatibility + // The native Error constructor sets message as non-enumerable, + // but axios < v1.13.3 had it as enumerable + Object.defineProperty(_this, 'message', { + value: message, + enumerable: true, + writable: true, + configurable: true + }); + _this.name = 'AxiosError'; + _this.isAxiosError = true; + code && (_this.code = code); + config && (_this.config = config); + request && (_this.request = request); + if (response) { + _this.response = response; + _this.status = response.status; + } + return _this; + } + _inherits(AxiosError, _Error); + return _createClass(AxiosError, [{ + key: "toJSON", + value: function toJSON() { + return { + // Standard + message: this.message, + name: this.name, + // Microsoft + description: this.description, + number: this.number, + // Mozilla + fileName: this.fileName, + lineNumber: this.lineNumber, + columnNumber: this.columnNumber, + stack: this.stack, + // Axios + config: utils$1.toJSONObject(this.config), + code: this.code, + status: this.status + }; + } + }], [{ + key: "from", + value: function from(error, code, config, request, response, customProps) { + var axiosError = new AxiosError(error.message, code || error.code, config, request, response); + axiosError.cause = error; + axiosError.name = error.name; + + // Preserve status from the original error if not already set from response + if (error.status != null && axiosError.status == null) { + axiosError.status = error.status; + } + customProps && Object.assign(axiosError, customProps); + return axiosError; + } + }]); + }(/*#__PURE__*/_wrapNativeSuper(Error)); // This can be changed to static properties as soon as the parser options in .eslint.cjs are updated. + AxiosError.ERR_BAD_OPTION_VALUE = 'ERR_BAD_OPTION_VALUE'; + AxiosError.ERR_BAD_OPTION = 'ERR_BAD_OPTION'; + AxiosError.ECONNABORTED = 'ECONNABORTED'; + AxiosError.ETIMEDOUT = 'ETIMEDOUT'; + AxiosError.ERR_NETWORK = 'ERR_NETWORK'; + AxiosError.ERR_FR_TOO_MANY_REDIRECTS = 'ERR_FR_TOO_MANY_REDIRECTS'; + AxiosError.ERR_DEPRECATED = 'ERR_DEPRECATED'; + AxiosError.ERR_BAD_RESPONSE = 'ERR_BAD_RESPONSE'; + AxiosError.ERR_BAD_REQUEST = 'ERR_BAD_REQUEST'; + AxiosError.ERR_CANCELED = 'ERR_CANCELED'; + AxiosError.ERR_NOT_SUPPORT = 'ERR_NOT_SUPPORT'; + AxiosError.ERR_INVALID_URL = 'ERR_INVALID_URL'; + + // eslint-disable-next-line strict + var httpAdapter = null; + + /** + * Determines if the given thing is a array or js object. + * + * @param {string} thing - The object or array to be visited. + * + * @returns {boolean} + */ + function isVisitable(thing) { + return utils$1.isPlainObject(thing) || utils$1.isArray(thing); + } + + /** + * It removes the brackets from the end of a string + * + * @param {string} key - The key of the parameter. + * + * @returns {string} the key without the brackets. + */ + function removeBrackets(key) { + return utils$1.endsWith(key, '[]') ? key.slice(0, -2) : key; + } + + /** + * It takes a path, a key, and a boolean, and returns a string + * + * @param {string} path - The path to the current key. + * @param {string} key - The key of the current object being iterated over. + * @param {string} dots - If true, the key will be rendered with dots instead of brackets. + * + * @returns {string} The path to the current key. + */ + function renderKey(path, key, dots) { + if (!path) return key; + return path.concat(key).map(function each(token, i) { + // eslint-disable-next-line no-param-reassign + token = removeBrackets(token); + return !dots && i ? '[' + token + ']' : token; + }).join(dots ? '.' : ''); + } + + /** + * If the array is an array and none of its elements are visitable, then it's a flat array. + * + * @param {Array} arr - The array to check + * + * @returns {boolean} + */ + function isFlatArray(arr) { + return utils$1.isArray(arr) && !arr.some(isVisitable); + } + var predicates = utils$1.toFlatObject(utils$1, {}, null, function filter(prop) { + return /^is[A-Z]/.test(prop); + }); + + /** + * Convert a data object to FormData + * + * @param {Object} obj + * @param {?Object} [formData] + * @param {?Object} [options] + * @param {Function} [options.visitor] + * @param {Boolean} [options.metaTokens = true] + * @param {Boolean} [options.dots = false] + * @param {?Boolean} [options.indexes = false] + * + * @returns {Object} + **/ + + /** + * It converts an object into a FormData object + * + * @param {Object} obj - The object to convert to form data. + * @param {string} formData - The FormData object to append to. + * @param {Object} options + * + * @returns + */ + function toFormData(obj, formData, options) { + if (!utils$1.isObject(obj)) { + throw new TypeError('target must be an object'); + } + + // eslint-disable-next-line no-param-reassign + formData = formData || new (FormData)(); + + // eslint-disable-next-line no-param-reassign + options = utils$1.toFlatObject(options, { + metaTokens: true, + dots: false, + indexes: false + }, false, function defined(option, source) { + // eslint-disable-next-line no-eq-null,eqeqeq + return !utils$1.isUndefined(source[option]); + }); + var metaTokens = options.metaTokens; + // eslint-disable-next-line no-use-before-define + var visitor = options.visitor || defaultVisitor; + var dots = options.dots; + var indexes = options.indexes; + var _Blob = options.Blob || typeof Blob !== 'undefined' && Blob; + var useBlob = _Blob && utils$1.isSpecCompliantForm(formData); + if (!utils$1.isFunction(visitor)) { + throw new TypeError('visitor must be a function'); + } + function convertValue(value) { + if (value === null) return ''; + if (utils$1.isDate(value)) { + return value.toISOString(); + } + if (utils$1.isBoolean(value)) { + return value.toString(); + } + if (!useBlob && utils$1.isBlob(value)) { + throw new AxiosError('Blob is not supported. Use a Buffer instead.'); + } + if (utils$1.isArrayBuffer(value) || utils$1.isTypedArray(value)) { + return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value); + } + return value; + } + + /** + * Default visitor. + * + * @param {*} value + * @param {String|Number} key + * @param {Array} path + * @this {FormData} + * + * @returns {boolean} return true to visit the each prop of the value recursively + */ + function defaultVisitor(value, key, path) { + var arr = value; + if (utils$1.isReactNative(formData) && utils$1.isReactNativeBlob(value)) { + formData.append(renderKey(path, key, dots), convertValue(value)); + return false; + } + if (value && !path && _typeof(value) === 'object') { + if (utils$1.endsWith(key, '{}')) { + // eslint-disable-next-line no-param-reassign + key = metaTokens ? key : key.slice(0, -2); + // eslint-disable-next-line no-param-reassign + value = JSON.stringify(value); + } else if (utils$1.isArray(value) && isFlatArray(value) || (utils$1.isFileList(value) || utils$1.endsWith(key, '[]')) && (arr = utils$1.toArray(value))) { + // eslint-disable-next-line no-param-reassign + key = removeBrackets(key); + arr.forEach(function each(el, index) { + !(utils$1.isUndefined(el) || el === null) && formData.append( + // eslint-disable-next-line no-nested-ternary + indexes === true ? renderKey([key], index, dots) : indexes === null ? key : key + '[]', convertValue(el)); + }); + return false; + } + } + if (isVisitable(value)) { + return true; + } + formData.append(renderKey(path, key, dots), convertValue(value)); + return false; + } + var stack = []; + var exposedHelpers = Object.assign(predicates, { + defaultVisitor: defaultVisitor, + convertValue: convertValue, + isVisitable: isVisitable + }); + function build(value, path) { + if (utils$1.isUndefined(value)) return; + if (stack.indexOf(value) !== -1) { + throw Error('Circular reference detected in ' + path.join('.')); + } + stack.push(value); + utils$1.forEach(value, function each(el, key) { + var result = !(utils$1.isUndefined(el) || el === null) && visitor.call(formData, el, utils$1.isString(key) ? key.trim() : key, path, exposedHelpers); + if (result === true) { + build(el, path ? path.concat(key) : [key]); + } + }); + stack.pop(); + } + if (!utils$1.isObject(obj)) { + throw new TypeError('data must be an object'); + } + build(obj); + return formData; + } + + /** + * It encodes a string by replacing all characters that are not in the unreserved set with + * their percent-encoded equivalents + * + * @param {string} str - The string to encode. + * + * @returns {string} The encoded string. + */ + function encode$1(str) { + var charMap = { + '!': '%21', + "'": '%27', + '(': '%28', + ')': '%29', + '~': '%7E', + '%20': '+', + '%00': '\x00' + }; + return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { + return charMap[match]; + }); + } + + /** + * It takes a params object and converts it to a FormData object + * + * @param {Object} params - The parameters to be converted to a FormData object. + * @param {Object} options - The options object passed to the Axios constructor. + * + * @returns {void} + */ + function AxiosURLSearchParams(params, options) { + this._pairs = []; + params && toFormData(params, this, options); + } + var prototype = AxiosURLSearchParams.prototype; + prototype.append = function append(name, value) { + this._pairs.push([name, value]); + }; + prototype.toString = function toString(encoder) { + var _encode = encoder ? function (value) { + return encoder.call(this, value, encode$1); + } : encode$1; + return this._pairs.map(function each(pair) { + return _encode(pair[0]) + '=' + _encode(pair[1]); + }, '').join('&'); + }; + + /** + * It replaces URL-encoded forms of `:`, `$`, `,`, and spaces with + * their plain counterparts (`:`, `$`, `,`, `+`). + * + * @param {string} val The value to be encoded. + * + * @returns {string} The encoded value. + */ + function encode(val) { + return encodeURIComponent(val).replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+'); + } + + /** + * Build a URL by appending params to the end + * + * @param {string} url The base of the url (e.g., http://www.google.com) + * @param {object} [params] The params to be appended + * @param {?(object|Function)} options + * + * @returns {string} The formatted url + */ + function buildURL(url, params, options) { + if (!params) { + return url; + } + var _encode = options && options.encode || encode; + var _options = utils$1.isFunction(options) ? { + serialize: options + } : options; + var serializeFn = _options && _options.serialize; + var serializedParams; + if (serializeFn) { + serializedParams = serializeFn(params, _options); + } else { + serializedParams = utils$1.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams(params, _options).toString(_encode); + } + if (serializedParams) { + var hashmarkIndex = url.indexOf('#'); + if (hashmarkIndex !== -1) { + url = url.slice(0, hashmarkIndex); + } + url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; + } + return url; + } + + var InterceptorManager = /*#__PURE__*/function () { + function InterceptorManager() { + _classCallCheck(this, InterceptorManager); + this.handlers = []; + } + + /** + * Add a new interceptor to the stack + * + * @param {Function} fulfilled The function to handle `then` for a `Promise` + * @param {Function} rejected The function to handle `reject` for a `Promise` + * @param {Object} options The options for the interceptor, synchronous and runWhen + * + * @return {Number} An ID used to remove interceptor later + */ + return _createClass(InterceptorManager, [{ + key: "use", + value: function use(fulfilled, rejected, options) { + this.handlers.push({ + fulfilled: fulfilled, + rejected: rejected, + synchronous: options ? options.synchronous : false, + runWhen: options ? options.runWhen : null + }); + return this.handlers.length - 1; + } + + /** + * Remove an interceptor from the stack + * + * @param {Number} id The ID that was returned by `use` + * + * @returns {void} + */ + }, { + key: "eject", + value: function eject(id) { + if (this.handlers[id]) { + this.handlers[id] = null; + } + } + + /** + * Clear all interceptors from the stack + * + * @returns {void} + */ + }, { + key: "clear", + value: function clear() { + if (this.handlers) { + this.handlers = []; + } + } + + /** + * Iterate over all the registered interceptors + * + * This method is particularly useful for skipping over any + * interceptors that may have become `null` calling `eject`. + * + * @param {Function} fn The function to call for each interceptor + * + * @returns {void} + */ + }, { + key: "forEach", + value: function forEach(fn) { + utils$1.forEach(this.handlers, function forEachHandler(h) { + if (h !== null) { + fn(h); + } + }); + } + }]); + }(); + + var transitionalDefaults = { + silentJSONParsing: true, + forcedJSONParsing: true, + clarifyTimeoutError: false, + legacyInterceptorReqResOrdering: true + }; + + var URLSearchParams$1 = typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams; + + var FormData$1 = typeof FormData !== 'undefined' ? FormData : null; + + var Blob$1 = typeof Blob !== 'undefined' ? Blob : null; + + var platform$1 = { + isBrowser: true, + classes: { + URLSearchParams: URLSearchParams$1, + FormData: FormData$1, + Blob: Blob$1 + }, + protocols: ['http', 'https', 'file', 'blob', 'url', 'data'] + }; + + var hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined'; + var _navigator = (typeof navigator === "undefined" ? "undefined" : _typeof(navigator)) === 'object' && navigator || undefined; + + /** + * Determine if we're running in a standard browser environment + * + * This allows axios to run in a web worker, and react-native. + * Both environments support XMLHttpRequest, but not fully standard globals. + * + * web workers: + * typeof window -> undefined + * typeof document -> undefined + * + * react-native: + * navigator.product -> 'ReactNative' + * nativescript + * navigator.product -> 'NativeScript' or 'NS' + * + * @returns {boolean} + */ + var hasStandardBrowserEnv = hasBrowserEnv && (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0); + + /** + * Determine if we're running in a standard browser webWorker environment + * + * Although the `isStandardBrowserEnv` method indicates that + * `allows axios to run in a web worker`, the WebWorker will still be + * filtered out due to its judgment standard + * `typeof window !== 'undefined' && typeof document !== 'undefined'`. + * This leads to a problem when axios post `FormData` in webWorker + */ + var hasStandardBrowserWebWorkerEnv = function () { + return typeof WorkerGlobalScope !== 'undefined' && + // eslint-disable-next-line no-undef + self instanceof WorkerGlobalScope && typeof self.importScripts === 'function'; + }(); + var origin = hasBrowserEnv && window.location.href || 'http://localhost'; + + var utils = /*#__PURE__*/Object.freeze({ + __proto__: null, + hasBrowserEnv: hasBrowserEnv, + hasStandardBrowserEnv: hasStandardBrowserEnv, + hasStandardBrowserWebWorkerEnv: hasStandardBrowserWebWorkerEnv, + navigator: _navigator, + origin: origin + }); + + var platform = _objectSpread2(_objectSpread2({}, utils), platform$1); + + function toURLEncodedForm(data, options) { + return toFormData(data, new platform.classes.URLSearchParams(), _objectSpread2({ + visitor: function visitor(value, key, path, helpers) { + if (platform.isNode && utils$1.isBuffer(value)) { + this.append(key, value.toString('base64')); + return false; + } + return helpers.defaultVisitor.apply(this, arguments); + } + }, options)); + } + + /** + * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z'] + * + * @param {string} name - The name of the property to get. + * + * @returns An array of strings. + */ + function parsePropPath(name) { + // foo[x][y][z] + // foo.x.y.z + // foo-x-y-z + // foo x y z + return utils$1.matchAll(/\w+|\[(\w*)]/g, name).map(function (match) { + return match[0] === '[]' ? '' : match[1] || match[0]; + }); + } + + /** + * Convert an array to an object. + * + * @param {Array} arr - The array to convert to an object. + * + * @returns An object with the same keys and values as the array. + */ + function arrayToObject(arr) { + var obj = {}; + var keys = Object.keys(arr); + var i; + var len = keys.length; + var key; + for (i = 0; i < len; i++) { + key = keys[i]; + obj[key] = arr[key]; + } + return obj; + } + + /** + * It takes a FormData object and returns a JavaScript object + * + * @param {string} formData The FormData object to convert to JSON. + * + * @returns {Object | null} The converted object. + */ + function formDataToJSON(formData) { + function buildPath(path, value, target, index) { + var name = path[index++]; + if (name === '__proto__') return true; + var isNumericKey = Number.isFinite(+name); + var isLast = index >= path.length; + name = !name && utils$1.isArray(target) ? target.length : name; + if (isLast) { + if (utils$1.hasOwnProp(target, name)) { + target[name] = [target[name], value]; + } else { + target[name] = value; + } + return !isNumericKey; + } + if (!target[name] || !utils$1.isObject(target[name])) { + target[name] = []; + } + var result = buildPath(path, value, target[name], index); + if (result && utils$1.isArray(target[name])) { + target[name] = arrayToObject(target[name]); + } + return !isNumericKey; + } + if (utils$1.isFormData(formData) && utils$1.isFunction(formData.entries)) { + var obj = {}; + utils$1.forEachEntry(formData, function (name, value) { + buildPath(parsePropPath(name), value, obj, 0); + }); + return obj; + } + return null; + } + + /** + * It takes a string, tries to parse it, and if it fails, it returns the stringified version + * of the input + * + * @param {any} rawValue - The value to be stringified. + * @param {Function} parser - A function that parses a string into a JavaScript object. + * @param {Function} encoder - A function that takes a value and returns a string. + * + * @returns {string} A stringified version of the rawValue. + */ + function stringifySafely(rawValue, parser, encoder) { + if (utils$1.isString(rawValue)) { + try { + (parser || JSON.parse)(rawValue); + return utils$1.trim(rawValue); + } catch (e) { + if (e.name !== 'SyntaxError') { + throw e; + } + } + } + return (encoder || JSON.stringify)(rawValue); + } + var defaults = { + transitional: transitionalDefaults, + adapter: ['xhr', 'http', 'fetch'], + transformRequest: [function transformRequest(data, headers) { + var contentType = headers.getContentType() || ''; + var hasJSONContentType = contentType.indexOf('application/json') > -1; + var isObjectPayload = utils$1.isObject(data); + if (isObjectPayload && utils$1.isHTMLForm(data)) { + data = new FormData(data); + } + var isFormData = utils$1.isFormData(data); + if (isFormData) { + return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data; + } + if (utils$1.isArrayBuffer(data) || utils$1.isBuffer(data) || utils$1.isStream(data) || utils$1.isFile(data) || utils$1.isBlob(data) || utils$1.isReadableStream(data)) { + return data; + } + if (utils$1.isArrayBufferView(data)) { + return data.buffer; + } + if (utils$1.isURLSearchParams(data)) { + headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); + return data.toString(); + } + var isFileList; + if (isObjectPayload) { + if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { + return toURLEncodedForm(data, this.formSerializer).toString(); + } + if ((isFileList = utils$1.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) { + var _FormData = this.env && this.env.FormData; + return toFormData(isFileList ? { + 'files[]': data + } : data, _FormData && new _FormData(), this.formSerializer); + } + } + if (isObjectPayload || hasJSONContentType) { + headers.setContentType('application/json', false); + return stringifySafely(data); + } + return data; + }], + transformResponse: [function transformResponse(data) { + var transitional = this.transitional || defaults.transitional; + var forcedJSONParsing = transitional && transitional.forcedJSONParsing; + var JSONRequested = this.responseType === 'json'; + if (utils$1.isResponse(data) || utils$1.isReadableStream(data)) { + return data; + } + if (data && utils$1.isString(data) && (forcedJSONParsing && !this.responseType || JSONRequested)) { + var silentJSONParsing = transitional && transitional.silentJSONParsing; + var strictJSONParsing = !silentJSONParsing && JSONRequested; + try { + return JSON.parse(data, this.parseReviver); + } catch (e) { + if (strictJSONParsing) { + if (e.name === 'SyntaxError') { + throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response); + } + throw e; + } + } + } + return data; + }], + /** + * A timeout in milliseconds to abort a request. If set to 0 (default) a + * timeout is not created. + */ + timeout: 0, + xsrfCookieName: 'XSRF-TOKEN', + xsrfHeaderName: 'X-XSRF-TOKEN', + maxContentLength: -1, + maxBodyLength: -1, + env: { + FormData: platform.classes.FormData, + Blob: platform.classes.Blob + }, + validateStatus: function validateStatus(status) { + return status >= 200 && status < 300; + }, + headers: { + common: { + Accept: 'application/json, text/plain, */*', + 'Content-Type': undefined + } + } + }; + utils$1.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], function (method) { + defaults.headers[method] = {}; + }); + + // RawAxiosHeaders whose duplicates are ignored by node + // c.f. https://nodejs.org/api/http.html#http_message_headers + var ignoreDuplicateOf = utils$1.toObjectSet(['age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent']); + + /** + * Parse headers into an object + * + * ``` + * Date: Wed, 27 Aug 2014 08:58:49 GMT + * Content-Type: application/json + * Connection: keep-alive + * Transfer-Encoding: chunked + * ``` + * + * @param {String} rawHeaders Headers needing to be parsed + * + * @returns {Object} Headers parsed into an object + */ + var parseHeaders = (function (rawHeaders) { + var parsed = {}; + var key; + var val; + var i; + rawHeaders && rawHeaders.split('\n').forEach(function parser(line) { + i = line.indexOf(':'); + key = line.substring(0, i).trim().toLowerCase(); + val = line.substring(i + 1).trim(); + if (!key || parsed[key] && ignoreDuplicateOf[key]) { + return; + } + if (key === 'set-cookie') { + if (parsed[key]) { + parsed[key].push(val); + } else { + parsed[key] = [val]; + } + } else { + parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; + } + }); + return parsed; + }); + + var $internals = Symbol('internals'); + function normalizeHeader(header) { + return header && String(header).trim().toLowerCase(); + } + function normalizeValue(value) { + if (value === false || value == null) { + return value; + } + return utils$1.isArray(value) ? value.map(normalizeValue) : String(value).replace(/[\r\n]+$/, ''); + } + function parseTokens(str) { + var tokens = Object.create(null); + var tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; + var match; + while (match = tokensRE.exec(str)) { + tokens[match[1]] = match[2]; + } + return tokens; + } + var isValidHeaderName = function isValidHeaderName(str) { + return /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); + }; + function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) { + if (utils$1.isFunction(filter)) { + return filter.call(this, value, header); + } + if (isHeaderNameFilter) { + value = header; + } + if (!utils$1.isString(value)) return; + if (utils$1.isString(filter)) { + return value.indexOf(filter) !== -1; + } + if (utils$1.isRegExp(filter)) { + return filter.test(value); + } + } + function formatHeader(header) { + return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, function (w, _char, str) { + return _char.toUpperCase() + str; + }); + } + function buildAccessors(obj, header) { + var accessorName = utils$1.toCamelCase(' ' + header); + ['get', 'set', 'has'].forEach(function (methodName) { + Object.defineProperty(obj, methodName + accessorName, { + value: function value(arg1, arg2, arg3) { + return this[methodName].call(this, header, arg1, arg2, arg3); + }, + configurable: true + }); + }); + } + var AxiosHeaders = /*#__PURE__*/function () { + function AxiosHeaders(headers) { + _classCallCheck(this, AxiosHeaders); + headers && this.set(headers); + } + return _createClass(AxiosHeaders, [{ + key: "set", + value: function set(header, valueOrRewrite, rewrite) { + var self = this; + function setHeader(_value, _header, _rewrite) { + var lHeader = normalizeHeader(_header); + if (!lHeader) { + throw new Error('header name must be a non-empty string'); + } + var key = utils$1.findKey(self, lHeader); + if (!key || self[key] === undefined || _rewrite === true || _rewrite === undefined && self[key] !== false) { + self[key || _header] = normalizeValue(_value); + } + } + var setHeaders = function setHeaders(headers, _rewrite) { + return utils$1.forEach(headers, function (_value, _header) { + return setHeader(_value, _header, _rewrite); + }); + }; + if (utils$1.isPlainObject(header) || header instanceof this.constructor) { + setHeaders(header, valueOrRewrite); + } else if (utils$1.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { + setHeaders(parseHeaders(header), valueOrRewrite); + } else if (utils$1.isObject(header) && utils$1.isIterable(header)) { + var obj = {}, + dest, + key; + var _iterator = _createForOfIteratorHelper(header), + _step; + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var entry = _step.value; + if (!utils$1.isArray(entry)) { + throw TypeError('Object iterator must return a key-value pair'); + } + obj[key = entry[0]] = (dest = obj[key]) ? utils$1.isArray(dest) ? [].concat(_toConsumableArray(dest), [entry[1]]) : [dest, entry[1]] : entry[1]; + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + setHeaders(obj, valueOrRewrite); + } else { + header != null && setHeader(valueOrRewrite, header, rewrite); + } + return this; + } + }, { + key: "get", + value: function get(header, parser) { + header = normalizeHeader(header); + if (header) { + var key = utils$1.findKey(this, header); + if (key) { + var value = this[key]; + if (!parser) { + return value; + } + if (parser === true) { + return parseTokens(value); + } + if (utils$1.isFunction(parser)) { + return parser.call(this, value, key); + } + if (utils$1.isRegExp(parser)) { + return parser.exec(value); + } + throw new TypeError('parser must be boolean|regexp|function'); + } + } + } + }, { + key: "has", + value: function has(header, matcher) { + header = normalizeHeader(header); + if (header) { + var key = utils$1.findKey(this, header); + return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher))); + } + return false; + } + }, { + key: "delete", + value: function _delete(header, matcher) { + var self = this; + var deleted = false; + function deleteHeader(_header) { + _header = normalizeHeader(_header); + if (_header) { + var key = utils$1.findKey(self, _header); + if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) { + delete self[key]; + deleted = true; + } + } + } + if (utils$1.isArray(header)) { + header.forEach(deleteHeader); + } else { + deleteHeader(header); + } + return deleted; + } + }, { + key: "clear", + value: function clear(matcher) { + var keys = Object.keys(this); + var i = keys.length; + var deleted = false; + while (i--) { + var key = keys[i]; + if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { + delete this[key]; + deleted = true; + } + } + return deleted; + } + }, { + key: "normalize", + value: function normalize(format) { + var self = this; + var headers = {}; + utils$1.forEach(this, function (value, header) { + var key = utils$1.findKey(headers, header); + if (key) { + self[key] = normalizeValue(value); + delete self[header]; + return; + } + var normalized = format ? formatHeader(header) : String(header).trim(); + if (normalized !== header) { + delete self[header]; + } + self[normalized] = normalizeValue(value); + headers[normalized] = true; + }); + return this; + } + }, { + key: "concat", + value: function concat() { + var _this$constructor; + for (var _len = arguments.length, targets = new Array(_len), _key = 0; _key < _len; _key++) { + targets[_key] = arguments[_key]; + } + return (_this$constructor = this.constructor).concat.apply(_this$constructor, [this].concat(targets)); + } + }, { + key: "toJSON", + value: function toJSON(asStrings) { + var obj = Object.create(null); + utils$1.forEach(this, function (value, header) { + value != null && value !== false && (obj[header] = asStrings && utils$1.isArray(value) ? value.join(', ') : value); + }); + return obj; + } + }, { + key: Symbol.iterator, + value: function value() { + return Object.entries(this.toJSON())[Symbol.iterator](); + } + }, { + key: "toString", + value: function toString() { + return Object.entries(this.toJSON()).map(function (_ref) { + var _ref2 = _slicedToArray(_ref, 2), + header = _ref2[0], + value = _ref2[1]; + return header + ': ' + value; + }).join('\n'); + } + }, { + key: "getSetCookie", + value: function getSetCookie() { + return this.get('set-cookie') || []; + } + }, { + key: Symbol.toStringTag, + get: function get() { + return 'AxiosHeaders'; + } + }], [{ + key: "from", + value: function from(thing) { + return thing instanceof this ? thing : new this(thing); + } + }, { + key: "concat", + value: function concat(first) { + var computed = new this(first); + for (var _len2 = arguments.length, targets = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + targets[_key2 - 1] = arguments[_key2]; + } + targets.forEach(function (target) { + return computed.set(target); + }); + return computed; + } + }, { + key: "accessor", + value: function accessor(header) { + var internals = this[$internals] = this[$internals] = { + accessors: {} + }; + var accessors = internals.accessors; + var prototype = this.prototype; + function defineAccessor(_header) { + var lHeader = normalizeHeader(_header); + if (!accessors[lHeader]) { + buildAccessors(prototype, _header); + accessors[lHeader] = true; + } + } + utils$1.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); + return this; + } + }]); + }(); + AxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']); + + // reserved names hotfix + utils$1.reduceDescriptors(AxiosHeaders.prototype, function (_ref3, key) { + var value = _ref3.value; + var mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set` + return { + get: function get() { + return value; + }, + set: function set(headerValue) { + this[mapped] = headerValue; + } + }; + }); + utils$1.freezeMethods(AxiosHeaders); + + /** + * Transform the data for a request or a response + * + * @param {Array|Function} fns A single function or Array of functions + * @param {?Object} response The response object + * + * @returns {*} The resulting transformed data + */ + function transformData(fns, response) { + var config = this || defaults; + var context = response || config; + var headers = AxiosHeaders.from(context.headers); + var data = context.data; + utils$1.forEach(fns, function transform(fn) { + data = fn.call(config, data, headers.normalize(), response ? response.status : undefined); + }); + headers.normalize(); + return data; + } + + function isCancel(value) { + return !!(value && value.__CANCEL__); + } + + var CanceledError = /*#__PURE__*/function (_AxiosError) { + /** + * A `CanceledError` is an object that is thrown when an operation is canceled. + * + * @param {string=} message The message. + * @param {Object=} config The config. + * @param {Object=} request The request. + * + * @returns {CanceledError} The created error. + */ + function CanceledError(message, config, request) { + var _this; + _classCallCheck(this, CanceledError); + _this = _callSuper(this, CanceledError, [message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request]); + _this.name = 'CanceledError'; + _this.__CANCEL__ = true; + return _this; + } + _inherits(CanceledError, _AxiosError); + return _createClass(CanceledError); + }(AxiosError); + + /** + * Resolve or reject a Promise based on response status. + * + * @param {Function} resolve A function that resolves the promise. + * @param {Function} reject A function that rejects the promise. + * @param {object} response The response. + * + * @returns {object} The response. + */ + function settle(resolve, reject, response) { + var validateStatus = response.config.validateStatus; + if (!response.status || !validateStatus || validateStatus(response.status)) { + resolve(response); + } else { + reject(new AxiosError('Request failed with status code ' + response.status, [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], response.config, response.request, response)); + } + } + + function parseProtocol(url) { + var match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); + return match && match[1] || ''; + } + + /** + * Calculate data maxRate + * @param {Number} [samplesCount= 10] + * @param {Number} [min= 1000] + * @returns {Function} + */ + function speedometer(samplesCount, min) { + samplesCount = samplesCount || 10; + var bytes = new Array(samplesCount); + var timestamps = new Array(samplesCount); + var head = 0; + var tail = 0; + var firstSampleTS; + min = min !== undefined ? min : 1000; + return function push(chunkLength) { + var now = Date.now(); + var startedAt = timestamps[tail]; + if (!firstSampleTS) { + firstSampleTS = now; + } + bytes[head] = chunkLength; + timestamps[head] = now; + var i = tail; + var bytesCount = 0; + while (i !== head) { + bytesCount += bytes[i++]; + i = i % samplesCount; + } + head = (head + 1) % samplesCount; + if (head === tail) { + tail = (tail + 1) % samplesCount; + } + if (now - firstSampleTS < min) { + return; + } + var passed = startedAt && now - startedAt; + return passed ? Math.round(bytesCount * 1000 / passed) : undefined; + }; + } + + /** + * Throttle decorator + * @param {Function} fn + * @param {Number} freq + * @return {Function} + */ + function throttle(fn, freq) { + var timestamp = 0; + var threshold = 1000 / freq; + var lastArgs; + var timer; + var invoke = function invoke(args) { + var now = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Date.now(); + timestamp = now; + lastArgs = null; + if (timer) { + clearTimeout(timer); + timer = null; + } + fn.apply(void 0, _toConsumableArray(args)); + }; + var throttled = function throttled() { + var now = Date.now(); + var passed = now - timestamp; + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + if (passed >= threshold) { + invoke(args, now); + } else { + lastArgs = args; + if (!timer) { + timer = setTimeout(function () { + timer = null; + invoke(lastArgs); + }, threshold - passed); + } + } + }; + var flush = function flush() { + return lastArgs && invoke(lastArgs); + }; + return [throttled, flush]; + } + + var progressEventReducer = function progressEventReducer(listener, isDownloadStream) { + var freq = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 3; + var bytesNotified = 0; + var _speedometer = speedometer(50, 250); + return throttle(function (e) { + var loaded = e.loaded; + var total = e.lengthComputable ? e.total : undefined; + var progressBytes = loaded - bytesNotified; + var rate = _speedometer(progressBytes); + var inRange = loaded <= total; + bytesNotified = loaded; + var data = _defineProperty({ + loaded: loaded, + total: total, + progress: total ? loaded / total : undefined, + bytes: progressBytes, + rate: rate ? rate : undefined, + estimated: rate && total && inRange ? (total - loaded) / rate : undefined, + event: e, + lengthComputable: total != null + }, isDownloadStream ? 'download' : 'upload', true); + listener(data); + }, freq); + }; + var progressEventDecorator = function progressEventDecorator(total, throttled) { + var lengthComputable = total != null; + return [function (loaded) { + return throttled[0]({ + lengthComputable: lengthComputable, + total: total, + loaded: loaded + }); + }, throttled[1]]; + }; + var asyncDecorator = function asyncDecorator(fn) { + return function () { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return utils$1.asap(function () { + return fn.apply(void 0, args); + }); + }; + }; + + var isURLSameOrigin = platform.hasStandardBrowserEnv ? function (origin, isMSIE) { + return function (url) { + url = new URL(url, platform.origin); + return origin.protocol === url.protocol && origin.host === url.host && (isMSIE || origin.port === url.port); + }; + }(new URL(platform.origin), platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)) : function () { + return true; + }; + + var cookies = platform.hasStandardBrowserEnv ? + // Standard browser envs support document.cookie + { + write: function write(name, value, expires, path, domain, secure, sameSite) { + if (typeof document === 'undefined') return; + var cookie = ["".concat(name, "=").concat(encodeURIComponent(value))]; + if (utils$1.isNumber(expires)) { + cookie.push("expires=".concat(new Date(expires).toUTCString())); + } + if (utils$1.isString(path)) { + cookie.push("path=".concat(path)); + } + if (utils$1.isString(domain)) { + cookie.push("domain=".concat(domain)); + } + if (secure === true) { + cookie.push('secure'); + } + if (utils$1.isString(sameSite)) { + cookie.push("SameSite=".concat(sameSite)); + } + document.cookie = cookie.join('; '); + }, + read: function read(name) { + if (typeof document === 'undefined') return null; + var match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)')); + return match ? decodeURIComponent(match[1]) : null; + }, + remove: function remove(name) { + this.write(name, '', Date.now() - 86400000, '/'); + } + } : + // Non-standard browser env (web workers, react-native) lack needed support. + { + write: function write() {}, + read: function read() { + return null; + }, + remove: function remove() {} + }; + + /** + * Determines whether the specified URL is absolute + * + * @param {string} url The URL to test + * + * @returns {boolean} True if the specified URL is absolute, otherwise false + */ + function isAbsoluteURL(url) { + // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). + // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed + // by any combination of letters, digits, plus, period, or hyphen. + if (typeof url !== 'string') { + return false; + } + return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); + } + + /** + * Creates a new URL by combining the specified URLs + * + * @param {string} baseURL The base URL + * @param {string} relativeURL The relative URL + * + * @returns {string} The combined URL + */ + function combineURLs(baseURL, relativeURL) { + return relativeURL ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '') : baseURL; + } + + /** + * Creates a new URL by combining the baseURL with the requestedURL, + * only when the requestedURL is not already an absolute URL. + * If the requestURL is absolute, this function returns the requestedURL untouched. + * + * @param {string} baseURL The base URL + * @param {string} requestedURL Absolute or relative URL to combine + * + * @returns {string} The combined full path + */ + function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) { + var isRelativeUrl = !isAbsoluteURL(requestedURL); + if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) { + return combineURLs(baseURL, requestedURL); + } + return requestedURL; + } + + var headersToObject = function headersToObject(thing) { + return thing instanceof AxiosHeaders ? _objectSpread2({}, thing) : thing; + }; + + /** + * Config-specific merge-function which creates a new config-object + * by merging two configuration objects together. + * + * @param {Object} config1 + * @param {Object} config2 + * + * @returns {Object} New object resulting from merging config2 to config1 + */ + function mergeConfig(config1, config2) { + // eslint-disable-next-line no-param-reassign + config2 = config2 || {}; + var config = {}; + function getMergedValue(target, source, prop, caseless) { + if (utils$1.isPlainObject(target) && utils$1.isPlainObject(source)) { + return utils$1.merge.call({ + caseless: caseless + }, target, source); + } else if (utils$1.isPlainObject(source)) { + return utils$1.merge({}, source); + } else if (utils$1.isArray(source)) { + return source.slice(); + } + return source; + } + function mergeDeepProperties(a, b, prop, caseless) { + if (!utils$1.isUndefined(b)) { + return getMergedValue(a, b, prop, caseless); + } else if (!utils$1.isUndefined(a)) { + return getMergedValue(undefined, a, prop, caseless); + } + } + + // eslint-disable-next-line consistent-return + function valueFromConfig2(a, b) { + if (!utils$1.isUndefined(b)) { + return getMergedValue(undefined, b); + } + } + + // eslint-disable-next-line consistent-return + function defaultToConfig2(a, b) { + if (!utils$1.isUndefined(b)) { + return getMergedValue(undefined, b); + } else if (!utils$1.isUndefined(a)) { + return getMergedValue(undefined, a); + } + } + + // eslint-disable-next-line consistent-return + function mergeDirectKeys(a, b, prop) { + if (prop in config2) { + return getMergedValue(a, b); + } else if (prop in config1) { + return getMergedValue(undefined, a); + } + } + var mergeMap = { + url: valueFromConfig2, + method: valueFromConfig2, + data: valueFromConfig2, + baseURL: defaultToConfig2, + transformRequest: defaultToConfig2, + transformResponse: defaultToConfig2, + paramsSerializer: defaultToConfig2, + timeout: defaultToConfig2, + timeoutMessage: defaultToConfig2, + withCredentials: defaultToConfig2, + withXSRFToken: defaultToConfig2, + adapter: defaultToConfig2, + responseType: defaultToConfig2, + xsrfCookieName: defaultToConfig2, + xsrfHeaderName: defaultToConfig2, + onUploadProgress: defaultToConfig2, + onDownloadProgress: defaultToConfig2, + decompress: defaultToConfig2, + maxContentLength: defaultToConfig2, + maxBodyLength: defaultToConfig2, + beforeRedirect: defaultToConfig2, + transport: defaultToConfig2, + httpAgent: defaultToConfig2, + httpsAgent: defaultToConfig2, + cancelToken: defaultToConfig2, + socketPath: defaultToConfig2, + responseEncoding: defaultToConfig2, + validateStatus: mergeDirectKeys, + headers: function headers(a, b, prop) { + return mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true); + } + }; + utils$1.forEach(Object.keys(_objectSpread2(_objectSpread2({}, config1), config2)), function computeConfigValue(prop) { + if (prop === '__proto__' || prop === 'constructor' || prop === 'prototype') return; + var merge = utils$1.hasOwnProp(mergeMap, prop) ? mergeMap[prop] : mergeDeepProperties; + var configValue = merge(config1[prop], config2[prop], prop); + utils$1.isUndefined(configValue) && merge !== mergeDirectKeys || (config[prop] = configValue); + }); + return config; + } + + var resolveConfig = (function (config) { + var newConfig = mergeConfig({}, config); + var data = newConfig.data, + withXSRFToken = newConfig.withXSRFToken, + xsrfHeaderName = newConfig.xsrfHeaderName, + xsrfCookieName = newConfig.xsrfCookieName, + headers = newConfig.headers, + auth = newConfig.auth; + newConfig.headers = headers = AxiosHeaders.from(headers); + newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer); + + // HTTP basic authentication + if (auth) { + headers.set('Authorization', 'Basic ' + btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))); + } + if (utils$1.isFormData(data)) { + if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) { + headers.setContentType(undefined); // browser handles it + } else if (utils$1.isFunction(data.getHeaders)) { + // Node.js FormData (like form-data package) + var formHeaders = data.getHeaders(); + // Only set safe headers to avoid overwriting security headers + var allowedHeaders = ['content-type', 'content-length']; + Object.entries(formHeaders).forEach(function (_ref) { + var _ref2 = _slicedToArray(_ref, 2), + key = _ref2[0], + val = _ref2[1]; + if (allowedHeaders.includes(key.toLowerCase())) { + headers.set(key, val); + } + }); + } + } + + // Add xsrf header + // This is only done if running in a standard browser environment. + // Specifically not if we're in a web worker, or react-native. + + if (platform.hasStandardBrowserEnv) { + withXSRFToken && utils$1.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig)); + if (withXSRFToken || withXSRFToken !== false && isURLSameOrigin(newConfig.url)) { + // Add xsrf header + var xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName); + if (xsrfValue) { + headers.set(xsrfHeaderName, xsrfValue); + } + } + } + return newConfig; + }); + + var isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; + var xhrAdapter = isXHRAdapterSupported && function (config) { + return new Promise(function dispatchXhrRequest(resolve, reject) { + var _config = resolveConfig(config); + var requestData = _config.data; + var requestHeaders = AxiosHeaders.from(_config.headers).normalize(); + var responseType = _config.responseType, + onUploadProgress = _config.onUploadProgress, + onDownloadProgress = _config.onDownloadProgress; + var onCanceled; + var uploadThrottled, downloadThrottled; + var flushUpload, flushDownload; + function done() { + flushUpload && flushUpload(); // flush events + flushDownload && flushDownload(); // flush events + + _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled); + _config.signal && _config.signal.removeEventListener('abort', onCanceled); + } + var request = new XMLHttpRequest(); + request.open(_config.method.toUpperCase(), _config.url, true); + + // Set the request timeout in MS + request.timeout = _config.timeout; + function onloadend() { + if (!request) { + return; + } + // Prepare the response + var responseHeaders = AxiosHeaders.from('getAllResponseHeaders' in request && request.getAllResponseHeaders()); + var responseData = !responseType || responseType === 'text' || responseType === 'json' ? request.responseText : request.response; + var response = { + data: responseData, + status: request.status, + statusText: request.statusText, + headers: responseHeaders, + config: config, + request: request + }; + settle(function _resolve(value) { + resolve(value); + done(); + }, function _reject(err) { + reject(err); + done(); + }, response); + + // Clean up request + request = null; + } + if ('onloadend' in request) { + // Use onloadend if available + request.onloadend = onloadend; + } else { + // Listen for ready state to emulate onloadend + request.onreadystatechange = function handleLoad() { + if (!request || request.readyState !== 4) { + return; + } + + // The request errored out and we didn't get a response, this will be + // handled by onerror instead + // With one exception: request that using file: protocol, most browsers + // will return status as 0 even though it's a successful request + if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { + return; + } + // readystate handler is calling before onerror or ontimeout handlers, + // so we should call onloadend on the next 'tick' + setTimeout(onloadend); + }; + } + + // Handle browser request cancellation (as opposed to a manual cancellation) + request.onabort = function handleAbort() { + if (!request) { + return; + } + reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request)); + + // Clean up request + request = null; + }; + + // Handle low level network errors + request.onerror = function handleError(event) { + // Browsers deliver a ProgressEvent in XHR onerror + // (message may be empty; when present, surface it) + // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event + var msg = event && event.message ? event.message : 'Network Error'; + var err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request); + // attach the underlying event for consumers who want details + err.event = event || null; + reject(err); + request = null; + }; + + // Handle timeout + request.ontimeout = function handleTimeout() { + var timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded'; + var transitional = _config.transitional || transitionalDefaults; + if (_config.timeoutErrorMessage) { + timeoutErrorMessage = _config.timeoutErrorMessage; + } + reject(new AxiosError(timeoutErrorMessage, transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, config, request)); + + // Clean up request + request = null; + }; + + // Remove Content-Type if data is undefined + requestData === undefined && requestHeaders.setContentType(null); + + // Add headers to the request + if ('setRequestHeader' in request) { + utils$1.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { + request.setRequestHeader(key, val); + }); + } + + // Add withCredentials to request if needed + if (!utils$1.isUndefined(_config.withCredentials)) { + request.withCredentials = !!_config.withCredentials; + } + + // Add responseType to request if needed + if (responseType && responseType !== 'json') { + request.responseType = _config.responseType; + } + + // Handle progress if needed + if (onDownloadProgress) { + var _progressEventReducer = progressEventReducer(onDownloadProgress, true); + var _progressEventReducer2 = _slicedToArray(_progressEventReducer, 2); + downloadThrottled = _progressEventReducer2[0]; + flushDownload = _progressEventReducer2[1]; + request.addEventListener('progress', downloadThrottled); + } + + // Not all browsers support upload events + if (onUploadProgress && request.upload) { + var _progressEventReducer3 = progressEventReducer(onUploadProgress); + var _progressEventReducer4 = _slicedToArray(_progressEventReducer3, 2); + uploadThrottled = _progressEventReducer4[0]; + flushUpload = _progressEventReducer4[1]; + request.upload.addEventListener('progress', uploadThrottled); + request.upload.addEventListener('loadend', flushUpload); + } + if (_config.cancelToken || _config.signal) { + // Handle cancellation + // eslint-disable-next-line func-names + onCanceled = function onCanceled(cancel) { + if (!request) { + return; + } + reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel); + request.abort(); + request = null; + }; + _config.cancelToken && _config.cancelToken.subscribe(onCanceled); + if (_config.signal) { + _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled); + } + } + var protocol = parseProtocol(_config.url); + if (protocol && platform.protocols.indexOf(protocol) === -1) { + reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config)); + return; + } + + // Send the request + request.send(requestData || null); + }); + }; + + var composeSignals = function composeSignals(signals, timeout) { + var _signals = signals = signals ? signals.filter(Boolean) : [], + length = _signals.length; + if (timeout || length) { + var controller = new AbortController(); + var aborted; + var onabort = function onabort(reason) { + if (!aborted) { + aborted = true; + unsubscribe(); + var err = reason instanceof Error ? reason : this.reason; + controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err)); + } + }; + var timer = timeout && setTimeout(function () { + timer = null; + onabort(new AxiosError("timeout of ".concat(timeout, "ms exceeded"), AxiosError.ETIMEDOUT)); + }, timeout); + var unsubscribe = function unsubscribe() { + if (signals) { + timer && clearTimeout(timer); + timer = null; + signals.forEach(function (signal) { + signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort); + }); + signals = null; + } + }; + signals.forEach(function (signal) { + return signal.addEventListener('abort', onabort); + }); + var signal = controller.signal; + signal.unsubscribe = function () { + return utils$1.asap(unsubscribe); + }; + return signal; + } + }; + + var streamChunk = /*#__PURE__*/_regenerator().m(function streamChunk(chunk, chunkSize) { + var len, pos, end; + return _regenerator().w(function (_context) { + while (1) switch (_context.n) { + case 0: + len = chunk.byteLength; + if (!(!chunkSize || len < chunkSize)) { + _context.n = 2; + break; + } + _context.n = 1; + return chunk; + case 1: + return _context.a(2); + case 2: + pos = 0; + case 3: + if (!(pos < len)) { + _context.n = 5; + break; + } + end = pos + chunkSize; + _context.n = 4; + return chunk.slice(pos, end); + case 4: + pos = end; + _context.n = 3; + break; + case 5: + return _context.a(2); + } + }, streamChunk); + }); + var readBytes = /*#__PURE__*/function () { + var _ref = _wrapAsyncGenerator(/*#__PURE__*/_regenerator().m(function _callee(iterable, chunkSize) { + var _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, chunk, _t; + return _regenerator().w(function (_context2) { + while (1) switch (_context2.p = _context2.n) { + case 0: + _iteratorAbruptCompletion = false; + _didIteratorError = false; + _context2.p = 1; + _iterator = _asyncIterator(readStream(iterable)); + case 2: + _context2.n = 3; + return _awaitAsyncGenerator(_iterator.next()); + case 3: + if (!(_iteratorAbruptCompletion = !(_step = _context2.v).done)) { + _context2.n = 5; + break; + } + chunk = _step.value; + return _context2.d(_regeneratorValues(_asyncGeneratorDelegate(_asyncIterator(streamChunk(chunk, chunkSize)))), 4); + case 4: + _iteratorAbruptCompletion = false; + _context2.n = 2; + break; + case 5: + _context2.n = 7; + break; + case 6: + _context2.p = 6; + _t = _context2.v; + _didIteratorError = true; + _iteratorError = _t; + case 7: + _context2.p = 7; + _context2.p = 8; + if (!(_iteratorAbruptCompletion && _iterator["return"] != null)) { + _context2.n = 9; + break; + } + _context2.n = 9; + return _awaitAsyncGenerator(_iterator["return"]()); + case 9: + _context2.p = 9; + if (!_didIteratorError) { + _context2.n = 10; + break; + } + throw _iteratorError; + case 10: + return _context2.f(9); + case 11: + return _context2.f(7); + case 12: + return _context2.a(2); + } + }, _callee, null, [[8,, 9, 11], [1, 6, 7, 12]]); + })); + return function readBytes(_x, _x2) { + return _ref.apply(this, arguments); + }; + }(); + var readStream = /*#__PURE__*/function () { + var _ref2 = _wrapAsyncGenerator(/*#__PURE__*/_regenerator().m(function _callee2(stream) { + var reader, _yield$_awaitAsyncGen, done, value; + return _regenerator().w(function (_context3) { + while (1) switch (_context3.p = _context3.n) { + case 0: + if (!stream[Symbol.asyncIterator]) { + _context3.n = 2; + break; + } + return _context3.d(_regeneratorValues(_asyncGeneratorDelegate(_asyncIterator(stream))), 1); + case 1: + return _context3.a(2); + case 2: + reader = stream.getReader(); + _context3.p = 3; + case 4: + _context3.n = 5; + return _awaitAsyncGenerator(reader.read()); + case 5: + _yield$_awaitAsyncGen = _context3.v; + done = _yield$_awaitAsyncGen.done; + value = _yield$_awaitAsyncGen.value; + if (!done) { + _context3.n = 6; + break; + } + return _context3.a(3, 8); + case 6: + _context3.n = 7; + return value; + case 7: + _context3.n = 4; + break; + case 8: + _context3.p = 8; + _context3.n = 9; + return _awaitAsyncGenerator(reader.cancel()); + case 9: + return _context3.f(8); + case 10: + return _context3.a(2); + } + }, _callee2, null, [[3,, 8, 10]]); + })); + return function readStream(_x3) { + return _ref2.apply(this, arguments); + }; + }(); + var trackStream = function trackStream(stream, chunkSize, onProgress, onFinish) { + var iterator = readBytes(stream, chunkSize); + var bytes = 0; + var done; + var _onFinish = function _onFinish(e) { + if (!done) { + done = true; + onFinish && onFinish(e); + } + }; + return new ReadableStream({ + pull: function pull(controller) { + return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() { + var _yield$iterator$next, _done, value, len, loadedBytes, _t2; + return _regenerator().w(function (_context4) { + while (1) switch (_context4.p = _context4.n) { + case 0: + _context4.p = 0; + _context4.n = 1; + return iterator.next(); + case 1: + _yield$iterator$next = _context4.v; + _done = _yield$iterator$next.done; + value = _yield$iterator$next.value; + if (!_done) { + _context4.n = 2; + break; + } + _onFinish(); + controller.close(); + return _context4.a(2); + case 2: + len = value.byteLength; + if (onProgress) { + loadedBytes = bytes += len; + onProgress(loadedBytes); + } + controller.enqueue(new Uint8Array(value)); + _context4.n = 4; + break; + case 3: + _context4.p = 3; + _t2 = _context4.v; + _onFinish(_t2); + throw _t2; + case 4: + return _context4.a(2); + } + }, _callee3, null, [[0, 3]]); + }))(); + }, + cancel: function cancel(reason) { + _onFinish(reason); + return iterator["return"](); + } + }, { + highWaterMark: 2 + }); + }; + + var DEFAULT_CHUNK_SIZE = 64 * 1024; + var isFunction = utils$1.isFunction; + var globalFetchAPI = function (_ref) { + var Request = _ref.Request, + Response = _ref.Response; + return { + Request: Request, + Response: Response + }; + }(utils$1.global); + var _utils$global = utils$1.global, + ReadableStream$1 = _utils$global.ReadableStream, + TextEncoder = _utils$global.TextEncoder; + var test = function test(fn) { + try { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + return !!fn.apply(void 0, args); + } catch (e) { + return false; + } + }; + var factory = function factory(env) { + env = utils$1.merge.call({ + skipUndefined: true + }, globalFetchAPI, env); + var _env = env, + envFetch = _env.fetch, + Request = _env.Request, + Response = _env.Response; + var isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function'; + var isRequestSupported = isFunction(Request); + var isResponseSupported = isFunction(Response); + if (!isFetchSupported) { + return false; + } + var isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream$1); + var encodeText = isFetchSupported && (typeof TextEncoder === 'function' ? function (encoder) { + return function (str) { + return encoder.encode(str); + }; + }(new TextEncoder()) : (/*#__PURE__*/function () { + var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(str) { + var _t, _t2; + return _regenerator().w(function (_context) { + while (1) switch (_context.n) { + case 0: + _t = Uint8Array; + _context.n = 1; + return new Request(str).arrayBuffer(); + case 1: + _t2 = _context.v; + return _context.a(2, new _t(_t2)); + } + }, _callee); + })); + return function (_x) { + return _ref2.apply(this, arguments); + }; + }())); + var supportsRequestStream = isRequestSupported && isReadableStreamSupported && test(function () { + var duplexAccessed = false; + var body = new ReadableStream$1(); + var hasContentType = new Request(platform.origin, { + body: body, + method: 'POST', + get duplex() { + duplexAccessed = true; + return 'half'; + } + }).headers.has('Content-Type'); + body.cancel(); + return duplexAccessed && !hasContentType; + }); + var supportsResponseStream = isResponseSupported && isReadableStreamSupported && test(function () { + return utils$1.isReadableStream(new Response('').body); + }); + var resolvers = { + stream: supportsResponseStream && function (res) { + return res.body; + } + }; + isFetchSupported && function () { + ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(function (type) { + !resolvers[type] && (resolvers[type] = function (res, config) { + var method = res && res[type]; + if (method) { + return method.call(res); + } + throw new AxiosError("Response type '".concat(type, "' is not supported"), AxiosError.ERR_NOT_SUPPORT, config); + }); + }); + }(); + var getBodyLength = /*#__PURE__*/function () { + var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(body) { + var _request; + return _regenerator().w(function (_context2) { + while (1) switch (_context2.n) { + case 0: + if (!(body == null)) { + _context2.n = 1; + break; + } + return _context2.a(2, 0); + case 1: + if (!utils$1.isBlob(body)) { + _context2.n = 2; + break; + } + return _context2.a(2, body.size); + case 2: + if (!utils$1.isSpecCompliantForm(body)) { + _context2.n = 4; + break; + } + _request = new Request(platform.origin, { + method: 'POST', + body: body + }); + _context2.n = 3; + return _request.arrayBuffer(); + case 3: + return _context2.a(2, _context2.v.byteLength); + case 4: + if (!(utils$1.isArrayBufferView(body) || utils$1.isArrayBuffer(body))) { + _context2.n = 5; + break; + } + return _context2.a(2, body.byteLength); + case 5: + if (utils$1.isURLSearchParams(body)) { + body = body + ''; + } + if (!utils$1.isString(body)) { + _context2.n = 7; + break; + } + _context2.n = 6; + return encodeText(body); + case 6: + return _context2.a(2, _context2.v.byteLength); + case 7: + return _context2.a(2); + } + }, _callee2); + })); + return function getBodyLength(_x2) { + return _ref3.apply(this, arguments); + }; + }(); + var resolveBodyLength = /*#__PURE__*/function () { + var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(headers, body) { + var length; + return _regenerator().w(function (_context3) { + while (1) switch (_context3.n) { + case 0: + length = utils$1.toFiniteNumber(headers.getContentLength()); + return _context3.a(2, length == null ? getBodyLength(body) : length); + } + }, _callee3); + })); + return function resolveBodyLength(_x3, _x4) { + return _ref4.apply(this, arguments); + }; + }(); + return /*#__PURE__*/function () { + var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(config) { + var _resolveConfig, url, method, data, signal, cancelToken, timeout, onDownloadProgress, onUploadProgress, responseType, headers, _resolveConfig$withCr, withCredentials, fetchOptions, _fetch, composedSignal, request, unsubscribe, requestContentLength, _request, contentTypeHeader, _progressEventDecorat, _progressEventDecorat2, onProgress, flush, isCredentialsSupported, resolvedOptions, response, isStreamResponse, options, responseContentLength, _ref6, _ref7, _onProgress, _flush, responseData, _t3, _t4, _t5; + return _regenerator().w(function (_context4) { + while (1) switch (_context4.p = _context4.n) { + case 0: + _resolveConfig = resolveConfig(config), url = _resolveConfig.url, method = _resolveConfig.method, data = _resolveConfig.data, signal = _resolveConfig.signal, cancelToken = _resolveConfig.cancelToken, timeout = _resolveConfig.timeout, onDownloadProgress = _resolveConfig.onDownloadProgress, onUploadProgress = _resolveConfig.onUploadProgress, responseType = _resolveConfig.responseType, headers = _resolveConfig.headers, _resolveConfig$withCr = _resolveConfig.withCredentials, withCredentials = _resolveConfig$withCr === void 0 ? 'same-origin' : _resolveConfig$withCr, fetchOptions = _resolveConfig.fetchOptions; + _fetch = envFetch || fetch; + responseType = responseType ? (responseType + '').toLowerCase() : 'text'; + composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout); + request = null; + unsubscribe = composedSignal && composedSignal.unsubscribe && function () { + composedSignal.unsubscribe(); + }; + _context4.p = 1; + _t3 = onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head'; + if (!_t3) { + _context4.n = 3; + break; + } + _context4.n = 2; + return resolveBodyLength(headers, data); + case 2: + _t4 = requestContentLength = _context4.v; + _t3 = _t4 !== 0; + case 3: + if (!_t3) { + _context4.n = 4; + break; + } + _request = new Request(url, { + method: 'POST', + body: data, + duplex: 'half' + }); + if (utils$1.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) { + headers.setContentType(contentTypeHeader); + } + if (_request.body) { + _progressEventDecorat = progressEventDecorator(requestContentLength, progressEventReducer(asyncDecorator(onUploadProgress))), _progressEventDecorat2 = _slicedToArray(_progressEventDecorat, 2), onProgress = _progressEventDecorat2[0], flush = _progressEventDecorat2[1]; + data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush); + } + case 4: + if (!utils$1.isString(withCredentials)) { + withCredentials = withCredentials ? 'include' : 'omit'; + } + + // Cloudflare Workers throws when credentials are defined + // see https://github.com/cloudflare/workerd/issues/902 + isCredentialsSupported = isRequestSupported && 'credentials' in Request.prototype; + resolvedOptions = _objectSpread2(_objectSpread2({}, fetchOptions), {}, { + signal: composedSignal, + method: method.toUpperCase(), + headers: headers.normalize().toJSON(), + body: data, + duplex: 'half', + credentials: isCredentialsSupported ? withCredentials : undefined + }); + request = isRequestSupported && new Request(url, resolvedOptions); + _context4.n = 5; + return isRequestSupported ? _fetch(request, fetchOptions) : _fetch(url, resolvedOptions); + case 5: + response = _context4.v; + isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response'); + if (supportsResponseStream && (onDownloadProgress || isStreamResponse && unsubscribe)) { + options = {}; + ['status', 'statusText', 'headers'].forEach(function (prop) { + options[prop] = response[prop]; + }); + responseContentLength = utils$1.toFiniteNumber(response.headers.get('content-length')); + _ref6 = onDownloadProgress && progressEventDecorator(responseContentLength, progressEventReducer(asyncDecorator(onDownloadProgress), true)) || [], _ref7 = _slicedToArray(_ref6, 2), _onProgress = _ref7[0], _flush = _ref7[1]; + response = new Response(trackStream(response.body, DEFAULT_CHUNK_SIZE, _onProgress, function () { + _flush && _flush(); + unsubscribe && unsubscribe(); + }), options); + } + responseType = responseType || 'text'; + _context4.n = 6; + return resolvers[utils$1.findKey(resolvers, responseType) || 'text'](response, config); + case 6: + responseData = _context4.v; + !isStreamResponse && unsubscribe && unsubscribe(); + _context4.n = 7; + return new Promise(function (resolve, reject) { + settle(resolve, reject, { + data: responseData, + headers: AxiosHeaders.from(response.headers), + status: response.status, + statusText: response.statusText, + config: config, + request: request + }); + }); + case 7: + return _context4.a(2, _context4.v); + case 8: + _context4.p = 8; + _t5 = _context4.v; + unsubscribe && unsubscribe(); + if (!(_t5 && _t5.name === 'TypeError' && /Load failed|fetch/i.test(_t5.message))) { + _context4.n = 9; + break; + } + throw Object.assign(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, _t5 && _t5.response), { + cause: _t5.cause || _t5 + }); + case 9: + throw AxiosError.from(_t5, _t5 && _t5.code, config, request, _t5 && _t5.response); + case 10: + return _context4.a(2); + } + }, _callee4, null, [[1, 8]]); + })); + return function (_x5) { + return _ref5.apply(this, arguments); + }; + }(); + }; + var seedCache = new Map(); + var getFetch = function getFetch(config) { + var env = config && config.env || {}; + var fetch = env.fetch, + Request = env.Request, + Response = env.Response; + var seeds = [Request, Response, fetch]; + var len = seeds.length, + i = len, + seed, + target, + map = seedCache; + while (i--) { + seed = seeds[i]; + target = map.get(seed); + target === undefined && map.set(seed, target = i ? new Map() : factory(env)); + map = target; + } + return target; + }; + getFetch(); + + /** + * Known adapters mapping. + * Provides environment-specific adapters for Axios: + * - `http` for Node.js + * - `xhr` for browsers + * - `fetch` for fetch API-based requests + * + * @type {Object} + */ + var knownAdapters = { + http: httpAdapter, + xhr: xhrAdapter, + fetch: { + get: getFetch + } + }; + + // Assign adapter names for easier debugging and identification + utils$1.forEach(knownAdapters, function (fn, value) { + if (fn) { + try { + Object.defineProperty(fn, 'name', { + value: value + }); + } catch (e) { + // eslint-disable-next-line no-empty + } + Object.defineProperty(fn, 'adapterName', { + value: value + }); + } + }); + + /** + * Render a rejection reason string for unknown or unsupported adapters + * + * @param {string} reason + * @returns {string} + */ + var renderReason = function renderReason(reason) { + return "- ".concat(reason); + }; + + /** + * Check if the adapter is resolved (function, null, or false) + * + * @param {Function|null|false} adapter + * @returns {boolean} + */ + var isResolvedHandle = function isResolvedHandle(adapter) { + return utils$1.isFunction(adapter) || adapter === null || adapter === false; + }; + + /** + * Get the first suitable adapter from the provided list. + * Tries each adapter in order until a supported one is found. + * Throws an AxiosError if no adapter is suitable. + * + * @param {Array|string|Function} adapters - Adapter(s) by name or function. + * @param {Object} config - Axios request configuration + * @throws {AxiosError} If no suitable adapter is available + * @returns {Function} The resolved adapter function + */ + function getAdapter(adapters, config) { + adapters = utils$1.isArray(adapters) ? adapters : [adapters]; + var _adapters = adapters, + length = _adapters.length; + var nameOrAdapter; + var adapter; + var rejectedReasons = {}; + for (var i = 0; i < length; i++) { + nameOrAdapter = adapters[i]; + var id = void 0; + adapter = nameOrAdapter; + if (!isResolvedHandle(nameOrAdapter)) { + adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()]; + if (adapter === undefined) { + throw new AxiosError("Unknown adapter '".concat(id, "'")); + } + } + if (adapter && (utils$1.isFunction(adapter) || (adapter = adapter.get(config)))) { + break; + } + rejectedReasons[id || '#' + i] = adapter; + } + if (!adapter) { + var reasons = Object.entries(rejectedReasons).map(function (_ref) { + var _ref2 = _slicedToArray(_ref, 2), + id = _ref2[0], + state = _ref2[1]; + return "adapter ".concat(id, " ") + (state === false ? 'is not supported by the environment' : 'is not available in the build'); + }); + var s = length ? reasons.length > 1 ? 'since :\n' + reasons.map(renderReason).join('\n') : ' ' + renderReason(reasons[0]) : 'as no adapter specified'; + throw new AxiosError("There is no suitable adapter to dispatch the request " + s, 'ERR_NOT_SUPPORT'); + } + return adapter; + } + + /** + * Exports Axios adapters and utility to resolve an adapter + */ + var adapters = { + /** + * Resolve an adapter from a list of adapter names or functions. + * @type {Function} + */ + getAdapter: getAdapter, + /** + * Exposes all known adapters + * @type {Object} + */ + adapters: knownAdapters + }; + + /** + * Throws a `CanceledError` if cancellation has been requested. + * + * @param {Object} config The config that is to be used for the request + * + * @returns {void} + */ + function throwIfCancellationRequested(config) { + if (config.cancelToken) { + config.cancelToken.throwIfRequested(); + } + if (config.signal && config.signal.aborted) { + throw new CanceledError(null, config); + } + } + + /** + * Dispatch a request to the server using the configured adapter. + * + * @param {object} config The config that is to be used for the request + * + * @returns {Promise} The Promise to be fulfilled + */ + function dispatchRequest(config) { + throwIfCancellationRequested(config); + config.headers = AxiosHeaders.from(config.headers); + + // Transform request data + config.data = transformData.call(config, config.transformRequest); + if (['post', 'put', 'patch'].indexOf(config.method) !== -1) { + config.headers.setContentType('application/x-www-form-urlencoded', false); + } + var adapter = adapters.getAdapter(config.adapter || defaults.adapter, config); + return adapter(config).then(function onAdapterResolution(response) { + throwIfCancellationRequested(config); + + // Transform response data + response.data = transformData.call(config, config.transformResponse, response); + response.headers = AxiosHeaders.from(response.headers); + return response; + }, function onAdapterRejection(reason) { + if (!isCancel(reason)) { + throwIfCancellationRequested(config); + + // Transform response data + if (reason && reason.response) { + reason.response.data = transformData.call(config, config.transformResponse, reason.response); + reason.response.headers = AxiosHeaders.from(reason.response.headers); + } + } + return Promise.reject(reason); + }); + } + + var VERSION = "1.14.0"; + + var validators$1 = {}; + + // eslint-disable-next-line func-names + ['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function (type, i) { + validators$1[type] = function validator(thing) { + return _typeof(thing) === type || 'a' + (i < 1 ? 'n ' : ' ') + type; + }; + }); + var deprecatedWarnings = {}; + + /** + * Transitional option validator + * + * @param {function|boolean?} validator - set to false if the transitional option has been removed + * @param {string?} version - deprecated version / removed since version + * @param {string?} message - some message with additional info + * + * @returns {function} + */ + validators$1.transitional = function transitional(validator, version, message) { + function formatMessage(opt, desc) { + return '[Axios v' + VERSION + "] Transitional option '" + opt + "'" + desc + (message ? '. ' + message : ''); + } + + // eslint-disable-next-line func-names + return function (value, opt, opts) { + if (validator === false) { + throw new AxiosError(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), AxiosError.ERR_DEPRECATED); + } + if (version && !deprecatedWarnings[opt]) { + deprecatedWarnings[opt] = true; + // eslint-disable-next-line no-console + console.warn(formatMessage(opt, ' has been deprecated since v' + version + ' and will be removed in the near future')); + } + return validator ? validator(value, opt, opts) : true; + }; + }; + validators$1.spelling = function spelling(correctSpelling) { + return function (value, opt) { + // eslint-disable-next-line no-console + console.warn("".concat(opt, " is likely a misspelling of ").concat(correctSpelling)); + return true; + }; + }; + + /** + * Assert object's properties type + * + * @param {object} options + * @param {object} schema + * @param {boolean?} allowUnknown + * + * @returns {object} + */ + + function assertOptions(options, schema, allowUnknown) { + if (_typeof(options) !== 'object') { + throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE); + } + var keys = Object.keys(options); + var i = keys.length; + while (i-- > 0) { + var opt = keys[i]; + var validator = schema[opt]; + if (validator) { + var value = options[opt]; + var result = value === undefined || validator(value, opt, options); + if (result !== true) { + throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE); + } + continue; + } + if (allowUnknown !== true) { + throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION); + } + } + } + var validator = { + assertOptions: assertOptions, + validators: validators$1 + }; + + var validators = validator.validators; + + /** + * Create a new instance of Axios + * + * @param {Object} instanceConfig The default config for the instance + * + * @return {Axios} A new instance of Axios + */ + var Axios = /*#__PURE__*/function () { + function Axios(instanceConfig) { + _classCallCheck(this, Axios); + this.defaults = instanceConfig || {}; + this.interceptors = { + request: new InterceptorManager(), + response: new InterceptorManager() + }; + } + + /** + * Dispatch a request + * + * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) + * @param {?Object} config + * + * @returns {Promise} The Promise to be fulfilled + */ + return _createClass(Axios, [{ + key: "request", + value: (function () { + var _request2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(configOrUrl, config) { + var dummy, stack, _t; + return _regenerator().w(function (_context) { + while (1) switch (_context.p = _context.n) { + case 0: + _context.p = 0; + _context.n = 1; + return this._request(configOrUrl, config); + case 1: + return _context.a(2, _context.v); + case 2: + _context.p = 2; + _t = _context.v; + if (_t instanceof Error) { + dummy = {}; + Error.captureStackTrace ? Error.captureStackTrace(dummy) : dummy = new Error(); + + // slice off the Error: ... line + stack = dummy.stack ? dummy.stack.replace(/^.+\n/, '') : ''; + try { + if (!_t.stack) { + _t.stack = stack; + // match without the 2 top stack lines + } else if (stack && !String(_t.stack).endsWith(stack.replace(/^.+\n.+\n/, ''))) { + _t.stack += '\n' + stack; + } + } catch (e) { + // ignore the case where "stack" is an un-writable property + } + } + throw _t; + case 3: + return _context.a(2); + } + }, _callee, this, [[0, 2]]); + })); + function request(_x, _x2) { + return _request2.apply(this, arguments); + } + return request; + }()) + }, { + key: "_request", + value: function _request(configOrUrl, config) { + /*eslint no-param-reassign:0*/ + // Allow for axios('example/url'[, config]) a la fetch API + if (typeof configOrUrl === 'string') { + config = config || {}; + config.url = configOrUrl; + } else { + config = configOrUrl || {}; + } + config = mergeConfig(this.defaults, config); + var _config = config, + transitional = _config.transitional, + paramsSerializer = _config.paramsSerializer, + headers = _config.headers; + if (transitional !== undefined) { + validator.assertOptions(transitional, { + silentJSONParsing: validators.transitional(validators["boolean"]), + forcedJSONParsing: validators.transitional(validators["boolean"]), + clarifyTimeoutError: validators.transitional(validators["boolean"]), + legacyInterceptorReqResOrdering: validators.transitional(validators["boolean"]) + }, false); + } + if (paramsSerializer != null) { + if (utils$1.isFunction(paramsSerializer)) { + config.paramsSerializer = { + serialize: paramsSerializer + }; + } else { + validator.assertOptions(paramsSerializer, { + encode: validators["function"], + serialize: validators["function"] + }, true); + } + } + + // Set config.allowAbsoluteUrls + if (config.allowAbsoluteUrls !== undefined) ; else if (this.defaults.allowAbsoluteUrls !== undefined) { + config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls; + } else { + config.allowAbsoluteUrls = true; + } + validator.assertOptions(config, { + baseUrl: validators.spelling('baseURL'), + withXsrfToken: validators.spelling('withXSRFToken') + }, true); + + // Set config.method + config.method = (config.method || this.defaults.method || 'get').toLowerCase(); + + // Flatten headers + var contextHeaders = headers && utils$1.merge(headers.common, headers[config.method]); + headers && utils$1.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], function (method) { + delete headers[method]; + }); + config.headers = AxiosHeaders.concat(contextHeaders, headers); + + // filter out skipped interceptors + var requestInterceptorChain = []; + var synchronousRequestInterceptors = true; + this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { + if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { + return; + } + synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; + var transitional = config.transitional || transitionalDefaults; + var legacyInterceptorReqResOrdering = transitional && transitional.legacyInterceptorReqResOrdering; + if (legacyInterceptorReqResOrdering) { + requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); + } else { + requestInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); + } + }); + var responseInterceptorChain = []; + this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { + responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); + }); + var promise; + var i = 0; + var len; + if (!synchronousRequestInterceptors) { + var chain = [dispatchRequest.bind(this), undefined]; + chain.unshift.apply(chain, requestInterceptorChain); + chain.push.apply(chain, responseInterceptorChain); + len = chain.length; + promise = Promise.resolve(config); + while (i < len) { + promise = promise.then(chain[i++], chain[i++]); + } + return promise; + } + len = requestInterceptorChain.length; + var newConfig = config; + while (i < len) { + var onFulfilled = requestInterceptorChain[i++]; + var onRejected = requestInterceptorChain[i++]; + try { + newConfig = onFulfilled(newConfig); + } catch (error) { + onRejected.call(this, error); + break; + } + } + try { + promise = dispatchRequest.call(this, newConfig); + } catch (error) { + return Promise.reject(error); + } + i = 0; + len = responseInterceptorChain.length; + while (i < len) { + promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); + } + return promise; + } + }, { + key: "getUri", + value: function getUri(config) { + config = mergeConfig(this.defaults, config); + var fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls); + return buildURL(fullPath, config.params, config.paramsSerializer); + } + }]); + }(); // Provide aliases for supported request methods + utils$1.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function (url, config) { + return this.request(mergeConfig(config || {}, { + method: method, + url: url, + data: (config || {}).data + })); + }; + }); + utils$1.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + function generateHTTPMethod(isForm) { + return function httpMethod(url, data, config) { + return this.request(mergeConfig(config || {}, { + method: method, + headers: isForm ? { + 'Content-Type': 'multipart/form-data' + } : {}, + url: url, + data: data + })); + }; + } + Axios.prototype[method] = generateHTTPMethod(); + Axios.prototype[method + 'Form'] = generateHTTPMethod(true); + }); + + /** + * A `CancelToken` is an object that can be used to request cancellation of an operation. + * + * @param {Function} executor The executor function. + * + * @returns {CancelToken} + */ + var CancelToken = /*#__PURE__*/function () { + function CancelToken(executor) { + _classCallCheck(this, CancelToken); + if (typeof executor !== 'function') { + throw new TypeError('executor must be a function.'); + } + var resolvePromise; + this.promise = new Promise(function promiseExecutor(resolve) { + resolvePromise = resolve; + }); + var token = this; + + // eslint-disable-next-line func-names + this.promise.then(function (cancel) { + if (!token._listeners) return; + var i = token._listeners.length; + while (i-- > 0) { + token._listeners[i](cancel); + } + token._listeners = null; + }); + + // eslint-disable-next-line func-names + this.promise.then = function (onfulfilled) { + var _resolve; + // eslint-disable-next-line func-names + var promise = new Promise(function (resolve) { + token.subscribe(resolve); + _resolve = resolve; + }).then(onfulfilled); + promise.cancel = function reject() { + token.unsubscribe(_resolve); + }; + return promise; + }; + executor(function cancel(message, config, request) { + if (token.reason) { + // Cancellation has already been requested + return; + } + token.reason = new CanceledError(message, config, request); + resolvePromise(token.reason); + }); + } + + /** + * Throws a `CanceledError` if cancellation has been requested. + */ + return _createClass(CancelToken, [{ + key: "throwIfRequested", + value: function throwIfRequested() { + if (this.reason) { + throw this.reason; + } + } + + /** + * Subscribe to the cancel signal + */ + }, { + key: "subscribe", + value: function subscribe(listener) { + if (this.reason) { + listener(this.reason); + return; + } + if (this._listeners) { + this._listeners.push(listener); + } else { + this._listeners = [listener]; + } + } + + /** + * Unsubscribe from the cancel signal + */ + }, { + key: "unsubscribe", + value: function unsubscribe(listener) { + if (!this._listeners) { + return; + } + var index = this._listeners.indexOf(listener); + if (index !== -1) { + this._listeners.splice(index, 1); + } + } + }, { + key: "toAbortSignal", + value: function toAbortSignal() { + var _this = this; + var controller = new AbortController(); + var abort = function abort(err) { + controller.abort(err); + }; + this.subscribe(abort); + controller.signal.unsubscribe = function () { + return _this.unsubscribe(abort); + }; + return controller.signal; + } + + /** + * Returns an object that contains a new `CancelToken` and a function that, when called, + * cancels the `CancelToken`. + */ + }], [{ + key: "source", + value: function source() { + var cancel; + var token = new CancelToken(function executor(c) { + cancel = c; + }); + return { + token: token, + cancel: cancel + }; + } + }]); + }(); + + /** + * Syntactic sugar for invoking a function and expanding an array for arguments. + * + * Common use case would be to use `Function.prototype.apply`. + * + * ```js + * function f(x, y, z) {} + * const args = [1, 2, 3]; + * f.apply(null, args); + * ``` + * + * With `spread` this example can be re-written. + * + * ```js + * spread(function(x, y, z) {})([1, 2, 3]); + * ``` + * + * @param {Function} callback + * + * @returns {Function} + */ + function spread(callback) { + return function wrap(arr) { + return callback.apply(null, arr); + }; + } + + /** + * Determines whether the payload is an error thrown by Axios + * + * @param {*} payload The value to test + * + * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false + */ + function isAxiosError(payload) { + return utils$1.isObject(payload) && payload.isAxiosError === true; + } + + var HttpStatusCode = { + Continue: 100, + SwitchingProtocols: 101, + Processing: 102, + EarlyHints: 103, + Ok: 200, + Created: 201, + Accepted: 202, + NonAuthoritativeInformation: 203, + NoContent: 204, + ResetContent: 205, + PartialContent: 206, + MultiStatus: 207, + AlreadyReported: 208, + ImUsed: 226, + MultipleChoices: 300, + MovedPermanently: 301, + Found: 302, + SeeOther: 303, + NotModified: 304, + UseProxy: 305, + Unused: 306, + TemporaryRedirect: 307, + PermanentRedirect: 308, + BadRequest: 400, + Unauthorized: 401, + PaymentRequired: 402, + Forbidden: 403, + NotFound: 404, + MethodNotAllowed: 405, + NotAcceptable: 406, + ProxyAuthenticationRequired: 407, + RequestTimeout: 408, + Conflict: 409, + Gone: 410, + LengthRequired: 411, + PreconditionFailed: 412, + PayloadTooLarge: 413, + UriTooLong: 414, + UnsupportedMediaType: 415, + RangeNotSatisfiable: 416, + ExpectationFailed: 417, + ImATeapot: 418, + MisdirectedRequest: 421, + UnprocessableEntity: 422, + Locked: 423, + FailedDependency: 424, + TooEarly: 425, + UpgradeRequired: 426, + PreconditionRequired: 428, + TooManyRequests: 429, + RequestHeaderFieldsTooLarge: 431, + UnavailableForLegalReasons: 451, + InternalServerError: 500, + NotImplemented: 501, + BadGateway: 502, + ServiceUnavailable: 503, + GatewayTimeout: 504, + HttpVersionNotSupported: 505, + VariantAlsoNegotiates: 506, + InsufficientStorage: 507, + LoopDetected: 508, + NotExtended: 510, + NetworkAuthenticationRequired: 511, + WebServerIsDown: 521, + ConnectionTimedOut: 522, + OriginIsUnreachable: 523, + TimeoutOccurred: 524, + SslHandshakeFailed: 525, + InvalidSslCertificate: 526 + }; + Object.entries(HttpStatusCode).forEach(function (_ref) { + var _ref2 = _slicedToArray(_ref, 2), + key = _ref2[0], + value = _ref2[1]; + HttpStatusCode[value] = key; + }); + + /** + * Create an instance of Axios + * + * @param {Object} defaultConfig The default config for the instance + * + * @returns {Axios} A new instance of Axios + */ + function createInstance(defaultConfig) { + var context = new Axios(defaultConfig); + var instance = bind(Axios.prototype.request, context); + + // Copy axios.prototype to instance + utils$1.extend(instance, Axios.prototype, context, { + allOwnKeys: true + }); + + // Copy context to instance + utils$1.extend(instance, context, null, { + allOwnKeys: true + }); + + // Factory for creating new instances + instance.create = function create(instanceConfig) { + return createInstance(mergeConfig(defaultConfig, instanceConfig)); + }; + return instance; + } + + // Create the default instance to be exported + var axios = createInstance(defaults); + + // Expose Axios class to allow class inheritance + axios.Axios = Axios; + + // Expose Cancel & CancelToken + axios.CanceledError = CanceledError; + axios.CancelToken = CancelToken; + axios.isCancel = isCancel; + axios.VERSION = VERSION; + axios.toFormData = toFormData; + + // Expose AxiosError class + axios.AxiosError = AxiosError; + + // alias for CanceledError for backward compatibility + axios.Cancel = axios.CanceledError; + + // Expose all/spread + axios.all = function all(promises) { + return Promise.all(promises); + }; + axios.spread = spread; + + // Expose isAxiosError + axios.isAxiosError = isAxiosError; + + // Expose mergeConfig + axios.mergeConfig = mergeConfig; + axios.AxiosHeaders = AxiosHeaders; + axios.formToJSON = function (thing) { + return formDataToJSON(utils$1.isHTMLForm(thing) ? new FormData(thing) : thing); + }; + axios.getAdapter = adapters.getAdapter; + axios.HttpStatusCode = HttpStatusCode; + axios["default"] = axios; + + return axios; + +})); +//# sourceMappingURL=axios.js.map diff --git a/dist/node_modules/axios/dist/axios.js.map b/dist/node_modules/axios/dist/axios.js.map new file mode 100644 index 00000000..eabef9ae --- /dev/null +++ b/dist/node_modules/axios/dist/axios.js.map @@ -0,0 +1 @@ +{"version":3,"file":"axios.js","sources":["../lib/helpers/bind.js","../lib/utils.js","../lib/core/AxiosError.js","../lib/helpers/null.js","../lib/helpers/toFormData.js","../lib/helpers/AxiosURLSearchParams.js","../lib/helpers/buildURL.js","../lib/core/InterceptorManager.js","../lib/defaults/transitional.js","../lib/platform/browser/classes/URLSearchParams.js","../lib/platform/browser/classes/FormData.js","../lib/platform/browser/classes/Blob.js","../lib/platform/browser/index.js","../lib/platform/common/utils.js","../lib/platform/index.js","../lib/helpers/toURLEncodedForm.js","../lib/helpers/formDataToJSON.js","../lib/defaults/index.js","../lib/helpers/parseHeaders.js","../lib/core/AxiosHeaders.js","../lib/core/transformData.js","../lib/cancel/isCancel.js","../lib/cancel/CanceledError.js","../lib/core/settle.js","../lib/helpers/parseProtocol.js","../lib/helpers/speedometer.js","../lib/helpers/throttle.js","../lib/helpers/progressEventReducer.js","../lib/helpers/isURLSameOrigin.js","../lib/helpers/cookies.js","../lib/helpers/isAbsoluteURL.js","../lib/helpers/combineURLs.js","../lib/core/buildFullPath.js","../lib/core/mergeConfig.js","../lib/helpers/resolveConfig.js","../lib/adapters/xhr.js","../lib/helpers/composeSignals.js","../lib/helpers/trackStream.js","../lib/adapters/fetch.js","../lib/adapters/adapters.js","../lib/core/dispatchRequest.js","../lib/env/data.js","../lib/helpers/validator.js","../lib/core/Axios.js","../lib/cancel/CancelToken.js","../lib/helpers/spread.js","../lib/helpers/isAxiosError.js","../lib/helpers/HttpStatusCode.js","../lib/axios.js"],"sourcesContent":["'use strict';\n\n/**\n * Create a bound version of a function with a specified `this` context\n *\n * @param {Function} fn - The function to bind\n * @param {*} thisArg - The value to be passed as the `this` parameter\n * @returns {Function} A new function that will call the original function with the specified `this` context\n */\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst { toString } = Object.prototype;\nconst { getPrototypeOf } = Object;\nconst { iterator, toStringTag } = Symbol;\n\nconst kindOf = ((cache) => (thing) => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type;\n};\n\nconst typeOfTest = (type) => (thing) => typeof thing === type;\n\n/**\n * Determine if a value is a non-null object\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst { isArray } = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return (\n val !== null &&\n !isUndefined(val) &&\n val.constructor !== null &&\n !isUndefined(val.constructor) &&\n isFunction(val.constructor.isBuffer) &&\n val.constructor.isBuffer(val)\n );\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && isArrayBuffer(val.buffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = (thing) => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (\n (prototype === null ||\n prototype === Object.prototype ||\n Object.getPrototypeOf(prototype) === null) &&\n !(toStringTag in val) &&\n !(iterator in val)\n );\n};\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n // Early return for non-objects or Buffers to prevent RangeError\n if (!isObject(val) || isBuffer(val)) {\n return false;\n }\n\n try {\n return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n } catch (e) {\n // Fallback for any other objects that might cause RangeError with Object.keys()\n return false;\n }\n};\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a React Native Blob\n * React Native \"blob\": an object with a `uri` attribute. Optionally, it can\n * also have a `name` and `type` attribute to specify filename and content type\n *\n * @see https://github.com/facebook/react-native/blob/26684cf3adf4094eb6c405d345a75bf8c7c0bf88/Libraries/Network/FormData.js#L68-L71\n * \n * @param {*} value The value to test\n * \n * @returns {boolean} True if value is a React Native Blob, otherwise false\n */\nconst isReactNativeBlob = (value) => {\n return !!(value && typeof value.uri !== 'undefined');\n}\n\n/**\n * Determine if environment is React Native\n * ReactNative `FormData` has a non-standard `getParts()` method\n * \n * @param {*} formData The formData to test\n * \n * @returns {boolean} True if environment is React Native, otherwise false\n */\nconst isReactNative = (formData) => formData && typeof formData.getParts !== 'undefined';\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction getGlobal() {\n if (typeof globalThis !== 'undefined') return globalThis;\n if (typeof self !== 'undefined') return self;\n if (typeof window !== 'undefined') return window;\n if (typeof global !== 'undefined') return global;\n return {};\n}\n\nconst G = getGlobal();\nconst FormDataCtor = typeof G.FormData !== 'undefined' ? G.FormData : undefined;\n\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (FormDataCtor && thing instanceof FormDataCtor) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n );\n};\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = [\n 'ReadableStream',\n 'Request',\n 'Response',\n 'Headers',\n].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => {\n return str.trim ? str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n};\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Object} [options]\n * @param {Boolean} [options.allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, { allOwnKeys = false } = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Buffer check\n if (isBuffer(obj)) {\n return;\n }\n\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\n/**\n * Finds a key in an object, case-insensitive, returning the actual key name.\n * Returns null if the object is a Buffer or if no match is found.\n *\n * @param {Object} obj - The object to search.\n * @param {string} key - The key to find (case-insensitive).\n * @returns {?string} The actual key name if found, otherwise null.\n */\nfunction findKey(obj, key) {\n if (isBuffer(obj)) {\n return null;\n }\n\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== 'undefined') return globalThis;\n return typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : global;\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * const result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const { caseless, skipUndefined } = (isContextDefined(this) && this) || {};\n const result = {};\n const assignValue = (val, key) => {\n // Skip dangerous property names to prevent prototype pollution\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return;\n }\n\n const targetKey = (caseless && findKey(result, key)) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else if (!skipUndefined || !isUndefined(val)) {\n result[targetKey] = val;\n }\n };\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Object} [options]\n * @param {Boolean} [options.allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, { allOwnKeys } = {}) => {\n forEach(\n b,\n (val, key) => {\n if (thisArg && isFunction(val)) {\n Object.defineProperty(a, key, {\n value: bind(val, thisArg),\n writable: true,\n enumerable: true,\n configurable: true,\n });\n } else {\n Object.defineProperty(a, key, {\n value: val,\n writable: true,\n enumerable: true,\n configurable: true,\n });\n }\n },\n { allOwnKeys }\n );\n return a;\n};\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xfeff) {\n content = content.slice(1);\n }\n return content;\n};\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n Object.defineProperty(constructor.prototype, 'constructor', {\n value: constructor,\n writable: true,\n enumerable: false,\n configurable: true,\n });\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype,\n });\n props && Object.assign(constructor.prototype, props);\n};\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n};\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n};\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n};\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = ((TypedArray) => {\n // eslint-disable-next-line func-names\n return (thing) => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n};\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n};\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = (str) => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g, function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n });\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (\n ({ hasOwnProperty }) =>\n (obj, prop) =>\n hasOwnProperty.call(obj, prop)\n)(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n};\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error(\"Can not rewrite read-only method '\" + name + \"'\");\n };\n }\n });\n};\n\n/**\n * Converts an array or a delimited string into an object set with values as keys and true as values.\n * Useful for fast membership checks.\n *\n * @param {Array|string} arrayOrString - The array or string to convert.\n * @param {string} delimiter - The delimiter to use if input is a string.\n * @returns {Object} An object with keys from the array or string, values set to true.\n */\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach((value) => {\n obj[value] = true;\n });\n };\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n};\n\nconst noop = () => {};\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite((value = +value)) ? value : defaultValue;\n};\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(\n thing &&\n isFunction(thing.append) &&\n thing[toStringTag] === 'FormData' &&\n thing[iterator]\n );\n}\n\n/**\n * Recursively converts an object to a JSON-compatible object, handling circular references and Buffers.\n *\n * @param {Object} obj - The object to convert.\n * @returns {Object} The JSON-compatible object.\n */\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n //Buffer check\n if (isBuffer(source)) {\n return source;\n }\n\n if (!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n };\n\n return visit(obj, 0);\n};\n\n/**\n * Determines if a value is an async function.\n *\n * @param {*} thing - The value to test.\n * @returns {boolean} True if value is an async function, otherwise false.\n */\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\n/**\n * Determines if a value is thenable (has then and catch methods).\n *\n * @param {*} thing - The value to test.\n * @returns {boolean} True if value is thenable, otherwise false.\n */\nconst isThenable = (thing) =>\n thing &&\n (isObject(thing) || isFunction(thing)) &&\n isFunction(thing.then) &&\n isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\n/**\n * Provides a cross-platform setImmediate implementation.\n * Uses native setImmediate if available, otherwise falls back to postMessage or setTimeout.\n *\n * @param {boolean} setImmediateSupported - Whether setImmediate is supported.\n * @param {boolean} postMessageSupported - Whether postMessage is supported.\n * @returns {Function} A function to schedule a callback asynchronously.\n */\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported\n ? ((token, callbacks) => {\n _global.addEventListener(\n 'message',\n ({ source, data }) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n },\n false\n );\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, '*');\n };\n })(`axios@${Math.random()}`, [])\n : (cb) => setTimeout(cb);\n})(typeof setImmediate === 'function', isFunction(_global.postMessage));\n\n/**\n * Schedules a microtask or asynchronous callback as soon as possible.\n * Uses queueMicrotask if available, otherwise falls back to process.nextTick or _setImmediate.\n *\n * @type {Function}\n */\nconst asap =\n typeof queueMicrotask !== 'undefined'\n ? queueMicrotask.bind(_global)\n : (typeof process !== 'undefined' && process.nextTick) || _setImmediate;\n\n// *********************\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isReactNativeBlob,\n isReactNative,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable,\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\nclass AxiosError extends Error {\n static from(error, code, config, request, response, customProps) {\n const axiosError = new AxiosError(error.message, code || error.code, config, request, response);\n axiosError.cause = error;\n axiosError.name = error.name;\n\n // Preserve status from the original error if not already set from response\n if (error.status != null && axiosError.status == null) {\n axiosError.status = error.status;\n }\n\n customProps && Object.assign(axiosError, customProps);\n return axiosError;\n }\n\n /**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\n constructor(message, code, config, request, response) {\n super(message);\n \n // Make message enumerable to maintain backward compatibility\n // The native Error constructor sets message as non-enumerable,\n // but axios < v1.13.3 had it as enumerable\n Object.defineProperty(this, 'message', {\n value: message,\n enumerable: true,\n writable: true,\n configurable: true\n });\n \n this.name = 'AxiosError';\n this.isAxiosError = true;\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status;\n }\n }\n\n toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status,\n };\n }\n}\n\n// This can be changed to static properties as soon as the parser options in .eslint.cjs are updated.\nAxiosError.ERR_BAD_OPTION_VALUE = 'ERR_BAD_OPTION_VALUE';\nAxiosError.ERR_BAD_OPTION = 'ERR_BAD_OPTION';\nAxiosError.ECONNABORTED = 'ECONNABORTED';\nAxiosError.ETIMEDOUT = 'ETIMEDOUT';\nAxiosError.ERR_NETWORK = 'ERR_NETWORK';\nAxiosError.ERR_FR_TOO_MANY_REDIRECTS = 'ERR_FR_TOO_MANY_REDIRECTS';\nAxiosError.ERR_DEPRECATED = 'ERR_DEPRECATED';\nAxiosError.ERR_BAD_RESPONSE = 'ERR_BAD_RESPONSE';\nAxiosError.ERR_BAD_REQUEST = 'ERR_BAD_REQUEST';\nAxiosError.ERR_CANCELED = 'ERR_CANCELED';\nAxiosError.ERR_NOT_SUPPORT = 'ERR_NOT_SUPPORT';\nAxiosError.ERR_INVALID_URL = 'ERR_INVALID_URL';\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path\n .concat(key)\n .map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n })\n .join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(\n options,\n {\n metaTokens: true,\n dots: false,\n indexes: false,\n },\n false,\n function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n }\n );\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || (typeof Blob !== 'undefined' && Blob);\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isBoolean(value)) {\n return value.toString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (utils.isReactNative(formData) && utils.isReactNativeBlob(value)) {\n formData.append(renderKey(path, key, dots), convertValue(value));\n return false;\n }\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value)))\n ) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) &&\n formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true\n ? renderKey([key], index, dots)\n : indexes === null\n ? key\n : key + '[]',\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable,\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result =\n !(utils.isUndefined(el) || el === null) &&\n visitor.call(formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers);\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00',\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder\n ? function (value) {\n return encoder.call(this, value, encode);\n }\n : encode;\n\n return this._pairs\n .map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '')\n .join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces URL-encoded forms of `:`, `$`, `,`, and spaces with\n * their plain counterparts (`:`, `$`, `,`, `+`).\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val)\n .replace(/%3A/gi, ':')\n .replace(/%24/g, '$')\n .replace(/%2C/gi, ',')\n .replace(/%20/g, '+');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n if (!params) {\n return url;\n }\n\n const _encode = (options && options.encode) || encode;\n\n const _options = utils.isFunction(options)\n ? {\n serialize: options,\n }\n : options;\n\n const serializeFn = _options && _options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, _options);\n } else {\n serializedParams = utils.isURLSearchParams(params)\n ? params.toString()\n : new AxiosURLSearchParams(params, _options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n * @param {Object} options The options for the interceptor, synchronous and runWhen\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null,\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {void}\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false,\n legacyInterceptorReqResOrdering: true,\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict';\n\nexport default typeof Blob !== 'undefined' ? Blob : null;\n","import URLSearchParams from './classes/URLSearchParams.js';\nimport FormData from './classes/FormData.js';\nimport Blob from './classes/Blob.js';\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob,\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data'],\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = (typeof navigator === 'object' && navigator) || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv =\n hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = (hasBrowserEnv && window.location.href) || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin,\n};\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform,\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), {\n visitor: function (value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options,\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map((match) => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [\n function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if (\n (isFileList = utils.isFileList(data)) ||\n contentType.indexOf('multipart/form-data') > -1\n ) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? { 'files[]': data } : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n },\n ],\n\n transformResponse: [\n function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (\n data &&\n utils.isString(data) &&\n ((forcedJSONParsing && !this.responseType) || JSONRequested)\n ) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data, this.parseReviver);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n },\n ],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob,\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n Accept: 'application/json, text/plain, */*',\n 'Content-Type': undefined,\n },\n },\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age',\n 'authorization',\n 'content-length',\n 'content-type',\n 'etag',\n 'expires',\n 'from',\n 'host',\n 'if-modified-since',\n 'if-unmodified-since',\n 'last-modified',\n 'location',\n 'max-forwards',\n 'proxy-authorization',\n 'referer',\n 'retry-after',\n 'user-agent',\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default (rawHeaders) => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders &&\n rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value)\n ? value.map(normalizeValue)\n : String(value).replace(/[\\r\\n]+$/, '');\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header\n .trim()\n .toLowerCase()\n .replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach((methodName) => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function (arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true,\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if (\n !key ||\n self[key] === undefined ||\n _rewrite === true ||\n (_rewrite === undefined && self[key] !== false)\n ) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite);\n } else if (utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {},\n dest,\n key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[(key = entry[0])] = (dest = obj[key])\n ? utils.isArray(dest)\n ? [...dest, entry[1]]\n : [dest, entry[1]]\n : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(\n key &&\n this[key] !== undefined &&\n (!matcher || matchHeaderValue(this, this[key], key, matcher))\n );\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null &&\n value !== false &&\n (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON())\n .map(([header, value]) => header + ': ' + value)\n .join('\\n');\n }\n\n getSetCookie() {\n return this.get('set-cookie') || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals =\n (this[$internals] =\n this[$internals] =\n {\n accessors: {},\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor([\n 'Content-Type',\n 'Content-Length',\n 'Accept',\n 'Accept-Encoding',\n 'User-Agent',\n 'Authorization',\n]);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n },\n };\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from '../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\n\nclass CanceledError extends AxiosError {\n /**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\n constructor(message, config, request) {\n super(message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n this.__CANCEL__ = true;\n }\n}\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(\n new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][\n Math.floor(response.status / 100) - 4\n ],\n response.config,\n response.request,\n response\n )\n );\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return (match && match[1]) || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round((bytesCount * 1000) / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n };\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if (passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs);\n }, threshold - passed);\n }\n }\n };\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from './speedometer.js';\nimport throttle from './throttle.js';\nimport utils from '../utils.js';\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle((e) => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? loaded / total : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true,\n };\n\n listener(data);\n }, freq);\n};\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [\n (loaded) =>\n throttled[0]({\n lengthComputable,\n total,\n loaded,\n }),\n throttled[1],\n ];\n};\n\nexport const asyncDecorator =\n (fn) =>\n (...args) =>\n utils.asap(() => fn(...args));\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv\n ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n })(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n )\n : () => true;\n","import utils from '../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv\n ? // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure, sameSite) {\n if (typeof document === 'undefined') return;\n\n const cookie = [`${name}=${encodeURIComponent(value)}`];\n\n if (utils.isNumber(expires)) {\n cookie.push(`expires=${new Date(expires).toUTCString()}`);\n }\n if (utils.isString(path)) {\n cookie.push(`path=${path}`);\n }\n if (utils.isString(domain)) {\n cookie.push(`domain=${domain}`);\n }\n if (secure === true) {\n cookie.push('secure');\n }\n if (utils.isString(sameSite)) {\n cookie.push(`SameSite=${sameSite}`);\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n if (typeof document === 'undefined') return null;\n const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)'));\n return match ? decodeURIComponent(match[1]) : null;\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000, '/');\n },\n }\n : // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {},\n };\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n if (typeof url !== 'string') {\n return false;\n }\n\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst headersToObject = (thing) => (thing instanceof AxiosHeaders ? { ...thing } : thing);\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({ caseless }, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(a, b, prop, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b, prop) =>\n mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true),\n };\n\n utils.forEach(Object.keys({ ...config1, ...config2 }), function computeConfigValue(prop) {\n if (prop === '__proto__' || prop === 'constructor' || prop === 'prototype') return;\n const merge = utils.hasOwnProp(mergeMap, prop) ? mergeMap[prop] : mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from '../platform/index.js';\nimport utils from '../utils.js';\nimport isURLSameOrigin from './isURLSameOrigin.js';\nimport cookies from './cookies.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport mergeConfig from '../core/mergeConfig.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport buildURL from './buildURL.js';\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(\n buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls),\n config.params,\n config.paramsSerializer\n );\n\n // HTTP basic authentication\n if (auth) {\n headers.set(\n 'Authorization',\n 'Basic ' +\n btoa(\n (auth.username || '') +\n ':' +\n (auth.password ? unescape(encodeURIComponent(auth.password)) : '')\n )\n );\n }\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // browser handles it\n } else if (utils.isFunction(data.getHeaders)) {\n // Node.js FormData (like form-data package)\n const formHeaders = data.getHeaders();\n // Only set safe headers to avoid overwriting security headers\n const allowedHeaders = ['content-type', 'content-length'];\n Object.entries(formHeaders).forEach(([key, val]) => {\n if (allowedHeaders.includes(key.toLowerCase())) {\n headers.set(key, val);\n }\n });\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n};\n","import utils from '../utils.js';\nimport settle from '../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport { progressEventReducer } from '../helpers/progressEventReducer.js';\nimport resolveConfig from '../helpers/resolveConfig.js';\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported &&\n function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let { responseType, onUploadProgress, onDownloadProgress } = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData =\n !responseType || responseType === 'text' || responseType === 'json'\n ? request.responseText\n : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request,\n };\n\n settle(\n function _resolve(value) {\n resolve(value);\n done();\n },\n function _reject(err) {\n reject(err);\n done();\n },\n response\n );\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (\n request.status === 0 &&\n !(request.responseURL && request.responseURL.indexOf('file:') === 0)\n ) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError(event) {\n // Browsers deliver a ProgressEvent in XHR onerror\n // (message may be empty; when present, surface it)\n // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event\n const msg = event && event.message ? event.message : 'Network Error';\n const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);\n // attach the underlying event for consumers who want details\n err.event = event || null;\n reject(err);\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout\n ? 'timeout of ' + _config.timeout + 'ms exceeded'\n : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(\n new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request\n )\n );\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n [downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true);\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n [uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress);\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = (cancel) => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted\n ? onCanceled()\n : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(\n new AxiosError(\n 'Unsupported protocol ' + protocol + ':',\n AxiosError.ERR_BAD_REQUEST,\n config\n )\n );\n return;\n }\n\n // Send the request\n request.send(requestData || null);\n });\n };\n","import CanceledError from '../cancel/CanceledError.js';\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const { length } = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(\n err instanceof AxiosError\n ? err\n : new CanceledError(err instanceof Error ? err.message : err)\n );\n }\n };\n\n let timer =\n timeout &&\n setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout of ${timeout}ms exceeded`, AxiosError.ETIMEDOUT));\n }, timeout);\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach((signal) => {\n signal.unsubscribe\n ? signal.unsubscribe(onabort)\n : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n };\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const { signal } = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n};\n\nexport default composeSignals;\n","export const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n};\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n};\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n};\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n };\n\n return new ReadableStream(\n {\n async pull(controller) {\n try {\n const { done, value } = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = (bytes += len);\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n },\n },\n {\n highWaterMark: 2,\n }\n );\n};\n","import platform from '../platform/index.js';\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport composeSignals from '../helpers/composeSignals.js';\nimport { trackStream } from '../helpers/trackStream.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {\n progressEventReducer,\n progressEventDecorator,\n asyncDecorator,\n} from '../helpers/progressEventReducer.js';\nimport resolveConfig from '../helpers/resolveConfig.js';\nimport settle from '../core/settle.js';\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst { isFunction } = utils;\n\nconst globalFetchAPI = (({ Request, Response }) => ({\n Request,\n Response,\n}))(utils.global);\n\nconst { ReadableStream, TextEncoder } = utils.global;\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false;\n }\n};\n\nconst factory = (env) => {\n env = utils.merge.call(\n {\n skipUndefined: true,\n },\n globalFetchAPI,\n env\n );\n\n const { fetch: envFetch, Request, Response } = env;\n const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';\n const isRequestSupported = isFunction(Request);\n const isResponseSupported = isFunction(Response);\n\n if (!isFetchSupported) {\n return false;\n }\n\n const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream);\n\n const encodeText =\n isFetchSupported &&\n (typeof TextEncoder === 'function'\n ? (\n (encoder) => (str) =>\n encoder.encode(str)\n )(new TextEncoder())\n : async (str) => new Uint8Array(await new Request(str).arrayBuffer()));\n\n const supportsRequestStream =\n isRequestSupported &&\n isReadableStreamSupported &&\n test(() => {\n let duplexAccessed = false;\n\n const body = new ReadableStream();\n\n const hasContentType = new Request(platform.origin, {\n body,\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n body.cancel();\n\n return duplexAccessed && !hasContentType;\n });\n\n const supportsResponseStream =\n isResponseSupported &&\n isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n const resolvers = {\n stream: supportsResponseStream && ((res) => res.body),\n };\n\n isFetchSupported &&\n (() => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach((type) => {\n !resolvers[type] &&\n (resolvers[type] = (res, config) => {\n let method = res && res[type];\n\n if (method) {\n return method.call(res);\n }\n\n throw new AxiosError(\n `Response type '${type}' is not supported`,\n AxiosError.ERR_NOT_SUPPORT,\n config\n );\n });\n });\n })();\n\n const getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if (utils.isBlob(body)) {\n return body.size;\n }\n\n if (utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if (utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if (utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n };\n\n const resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n };\n\n return async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions,\n } = resolveConfig(config);\n\n let _fetch = envFetch || fetch;\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals(\n [signal, cancelToken && cancelToken.toAbortSignal()],\n timeout\n );\n\n let request = null;\n\n const unsubscribe =\n composedSignal &&\n composedSignal.unsubscribe &&\n (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress &&\n supportsRequestStream &&\n method !== 'get' &&\n method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: 'half',\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader);\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = isRequestSupported && 'credentials' in Request.prototype;\n\n const resolvedOptions = {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: 'half',\n credentials: isCredentialsSupported ? withCredentials : undefined,\n };\n\n request = isRequestSupported && new Request(url, resolvedOptions);\n\n let response = await (isRequestSupported\n ? _fetch(request, fetchOptions)\n : _fetch(url, resolvedOptions));\n\n const isStreamResponse =\n supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach((prop) => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] =\n (onDownloadProgress &&\n progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n )) ||\n [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](\n response,\n config\n );\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request,\n });\n });\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError(\n 'Network Error',\n AxiosError.ERR_NETWORK,\n config,\n request,\n err && err.response\n ),\n {\n cause: err.cause || err,\n }\n );\n }\n\n throw AxiosError.from(err, err && err.code, config, request, err && err.response);\n }\n };\n};\n\nconst seedCache = new Map();\n\nexport const getFetch = (config) => {\n let env = (config && config.env) || {};\n const { fetch, Request, Response } = env;\n const seeds = [Request, Response, fetch];\n\n let len = seeds.length,\n i = len,\n seed,\n target,\n map = seedCache;\n\n while (i--) {\n seed = seeds[i];\n target = map.get(seed);\n\n target === undefined && map.set(seed, (target = i ? new Map() : factory(env)));\n\n map = target;\n }\n\n return target;\n};\n\nconst adapter = getFetch();\n\nexport default adapter;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport * as fetchAdapter from './fetch.js';\nimport AxiosError from '../core/AxiosError.js';\n\n/**\n * Known adapters mapping.\n * Provides environment-specific adapters for Axios:\n * - `http` for Node.js\n * - `xhr` for browsers\n * - `fetch` for fetch API-based requests\n *\n * @type {Object}\n */\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: {\n get: fetchAdapter.getFetch,\n },\n};\n\n// Assign adapter names for easier debugging and identification\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', { value });\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', { value });\n }\n});\n\n/**\n * Render a rejection reason string for unknown or unsupported adapters\n *\n * @param {string} reason\n * @returns {string}\n */\nconst renderReason = (reason) => `- ${reason}`;\n\n/**\n * Check if the adapter is resolved (function, null, or false)\n *\n * @param {Function|null|false} adapter\n * @returns {boolean}\n */\nconst isResolvedHandle = (adapter) =>\n utils.isFunction(adapter) || adapter === null || adapter === false;\n\n/**\n * Get the first suitable adapter from the provided list.\n * Tries each adapter in order until a supported one is found.\n * Throws an AxiosError if no adapter is suitable.\n *\n * @param {Array|string|Function} adapters - Adapter(s) by name or function.\n * @param {Object} config - Axios request configuration\n * @throws {AxiosError} If no suitable adapter is available\n * @returns {Function} The resolved adapter function\n */\nfunction getAdapter(adapters, config) {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const { length } = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter && (utils.isFunction(adapter) || (adapter = adapter.get(config)))) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n const reasons = Object.entries(rejectedReasons).map(\n ([id, state]) =>\n `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length\n ? reasons.length > 1\n ? 'since :\\n' + reasons.map(renderReason).join('\\n')\n : ' ' + renderReason(reasons[0])\n : 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n}\n\n/**\n * Exports Axios adapters and utility to resolve an adapter\n */\nexport default {\n /**\n * Resolve an adapter from a list of adapter names or functions.\n * @type {Function}\n */\n getAdapter,\n\n /**\n * Exposes all known adapters\n * @type {Object}\n */\n adapters: knownAdapters,\n};\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from '../adapters/adapters.js';\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(config, config.transformRequest);\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);\n\n return adapter(config).then(\n function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(config, config.transformResponse, response);\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n },\n function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n }\n );\n}\n","export const VERSION = \"1.14.0\";","'use strict';\n\nimport { VERSION } from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return (\n '[Axios v' +\n VERSION +\n \"] Transitional option '\" +\n opt +\n \"'\" +\n desc +\n (message ? '. ' + message : '')\n );\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError(\n 'option ' + opt + ' must be ' + result,\n AxiosError.ERR_BAD_OPTION_VALUE\n );\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators,\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\nimport transitionalDefaults from '../defaults/transitional.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager(),\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack;\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const { transitional, paramsSerializer, headers } = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(\n transitional,\n {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean),\n legacyInterceptorReqResOrdering: validators.transitional(validators.boolean),\n },\n false\n );\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer,\n };\n } else {\n validator.assertOptions(\n paramsSerializer,\n {\n encode: validators.function,\n serialize: validators.function,\n },\n true\n );\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(\n config,\n {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken'),\n },\n true\n );\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(headers.common, headers[config.method]);\n\n headers &&\n utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], (method) => {\n delete headers[method];\n });\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n const transitional = config.transitional || transitionalDefaults;\n const legacyInterceptorReqResOrdering =\n transitional && transitional.legacyInterceptorReqResOrdering;\n\n if (legacyInterceptorReqResOrdering) {\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n } else {\n requestInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n }\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, config) {\n return this.request(\n mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data,\n })\n );\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(\n mergeConfig(config || {}, {\n method,\n headers: isForm\n ? {\n 'Content-Type': 'multipart/form-data',\n }\n : {},\n url,\n data,\n })\n );\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then((cancel) => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = (onfulfilled) => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise((resolve) => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel,\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * const args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && payload.isAxiosError === true;\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n WebServerIsDown: 521,\n ConnectionTimedOut: 522,\n OriginIsUnreachable: 523,\n TimeoutOccurred: 524,\n SslHandshakeFailed: 525,\n InvalidSslCertificate: 526,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport { VERSION } from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from './core/AxiosHeaders.js';\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, { allOwnKeys: true });\n\n // Copy context to instance\n utils.extend(instance, context, null, { allOwnKeys: true });\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = (thing) => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios;\n"],"names":["bind","fn","thisArg","wrap","apply","arguments","toString","Object","prototype","getPrototypeOf","iterator","Symbol","toStringTag","kindOf","cache","thing","str","call","slice","toLowerCase","create","kindOfTest","type","typeOfTest","_typeof","isArray","Array","isUndefined","isBuffer","val","constructor","isFunction","isArrayBuffer","isArrayBufferView","result","ArrayBuffer","isView","buffer","isString","isNumber","isObject","isBoolean","isPlainObject","isEmptyObject","keys","length","e","isDate","isFile","isReactNativeBlob","value","uri","isReactNative","formData","getParts","isBlob","isFileList","isStream","pipe","getGlobal","globalThis","self","window","global","G","FormDataCtor","FormData","undefined","isFormData","kind","append","isURLSearchParams","_map","map","_map2","_slicedToArray","isReadableStream","isRequest","isResponse","isHeaders","trim","replace","forEach","obj","_ref","_ref$allOwnKeys","allOwnKeys","i","l","getOwnPropertyNames","len","key","findKey","_key","_global","isContextDefined","context","merge","_ref2","caseless","skipUndefined","assignValue","targetKey","extend","a","b","_ref3","defineProperty","writable","enumerable","configurable","stripBOM","content","charCodeAt","inherits","superConstructor","props","descriptors","assign","toFlatObject","sourceObj","destObj","filter","propFilter","prop","merged","endsWith","searchString","position","String","lastIndex","indexOf","toArray","arr","isTypedArray","TypedArray","Uint8Array","forEachEntry","generator","_iterator","next","done","pair","matchAll","regExp","matches","exec","push","isHTMLForm","toCamelCase","replacer","m","p1","p2","toUpperCase","hasOwnProperty","_ref4","isRegExp","reduceDescriptors","reducer","getOwnPropertyDescriptors","reducedDescriptors","descriptor","name","ret","defineProperties","freezeMethods","set","Error","toObjectSet","arrayOrString","delimiter","define","split","noop","toFiniteNumber","defaultValue","Number","isFinite","isSpecCompliantForm","toJSONObject","stack","visit","source","target","reducedValue","isAsyncFn","isThenable","then","_setImmediate","setImmediateSupported","postMessageSupported","setImmediate","token","callbacks","addEventListener","_ref5","data","shift","cb","postMessage","concat","Math","random","setTimeout","asap","queueMicrotask","process","nextTick","isIterable","hasOwnProp","AxiosError","_Error","message","code","config","request","response","_this","_classCallCheck","_callSuper","isAxiosError","status","_inherits","_createClass","toJSON","description","number","fileName","lineNumber","columnNumber","utils","from","error","customProps","axiosError","cause","_wrapNativeSuper","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL","isVisitable","removeBrackets","renderKey","path","dots","each","join","isFlatArray","some","predicates","test","toFormData","options","TypeError","metaTokens","indexes","defined","option","visitor","defaultVisitor","_Blob","Blob","useBlob","convertValue","toISOString","Buffer","JSON","stringify","el","index","exposedHelpers","build","pop","encode","charMap","encodeURIComponent","match","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","url","_options","serialize","serializeFn","serializedParams","hashmarkIndex","InterceptorManager","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","forEachHandler","h","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","legacyInterceptorReqResOrdering","URLSearchParams","isBrowser","classes","protocols","hasBrowserEnv","document","_navigator","navigator","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","location","href","_objectSpread","platform","toURLEncodedForm","helpers","isNode","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","entries","stringifySafely","rawValue","parser","parse","defaults","transitional","transitionalDefaults","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","formSerializer","_FormData","env","transformResponse","JSONRequested","responseType","strictJSONParsing","parseReviver","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","Accept","method","ignoreDuplicateOf","rawHeaders","parsed","line","substring","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","w","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","parseHeaders","dest","_createForOfIteratorHelper","_step","s","n","entry","_toConsumableArray","err","f","get","has","matcher","delete","deleted","deleteHeader","normalize","format","normalized","_this$constructor","_len","targets","asStrings","getSetCookie","first","computed","_len2","_key2","accessor","internals","accessors","defineAccessor","mapped","headerValue","transformData","fns","transform","isCancel","__CANCEL__","CanceledError","_AxiosError","settle","resolve","reject","floor","parseProtocol","speedometer","samplesCount","min","bytes","timestamps","head","tail","firstSampleTS","chunkLength","now","Date","startedAt","bytesCount","passed","round","throttle","freq","timestamp","threshold","lastArgs","timer","invoke","args","clearTimeout","throttled","flush","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","lengthComputable","progressBytes","rate","inRange","_defineProperty","progress","estimated","event","progressEventDecorator","asyncDecorator","isMSIE","URL","protocol","host","port","userAgent","write","expires","domain","secure","sameSite","cookie","toUTCString","read","RegExp","decodeURIComponent","remove","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","allowAbsoluteUrls","isRelativeUrl","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","paramsSerializer","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding","computeConfigValue","configValue","newConfig","auth","btoa","username","password","unescape","getHeaders","formHeaders","allowedHeaders","includes","isURLSameOrigin","xsrfValue","cookies","isXHRAdapterSupported","XMLHttpRequest","Promise","dispatchXhrRequest","_config","resolveConfig","requestData","requestHeaders","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","unsubscribe","signal","removeEventListener","open","onloadend","responseHeaders","getAllResponseHeaders","responseData","responseText","statusText","_resolve","_reject","onreadystatechange","handleLoad","readyState","responseURL","onabort","handleAbort","onerror","handleError","msg","ontimeout","handleTimeout","timeoutErrorMessage","setRequestHeader","_progressEventReducer","_progressEventReducer2","upload","_progressEventReducer3","_progressEventReducer4","cancel","abort","subscribe","aborted","send","composeSignals","signals","_signals","Boolean","controller","AbortController","reason","streamChunk","_regenerator","chunk","chunkSize","pos","end","_context","byteLength","readBytes","_wrapAsyncGenerator","_callee","iterable","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_t","_context2","p","_asyncIterator","readStream","_awaitAsyncGenerator","v","d","_regeneratorValues","_asyncGeneratorDelegate","_x","_x2","_callee2","stream","reader","_yield$_awaitAsyncGen","_context3","asyncIterator","getReader","_x3","trackStream","onProgress","onFinish","_onFinish","ReadableStream","pull","_asyncToGenerator","_callee3","_yield$iterator$next","_done","loadedBytes","_t2","_context4","close","enqueue","highWaterMark","DEFAULT_CHUNK_SIZE","globalFetchAPI","Request","Response","_utils$global","TextEncoder","factory","_env","envFetch","fetch","isFetchSupported","isRequestSupported","isResponseSupported","isReadableStreamSupported","encodeText","arrayBuffer","supportsRequestStream","duplexAccessed","body","hasContentType","duplex","supportsResponseStream","resolvers","res","getBodyLength","_request","size","resolveBodyLength","getContentLength","_x4","_callee4","_resolveConfig","_resolveConfig$withCr","fetchOptions","_fetch","composedSignal","requestContentLength","contentTypeHeader","_progressEventDecorat","_progressEventDecorat2","isCredentialsSupported","resolvedOptions","isStreamResponse","responseContentLength","_ref6","_ref7","_onProgress","_flush","_t3","_t4","_t5","toAbortSignal","credentials","_x5","seedCache","Map","getFetch","seeds","seed","knownAdapters","http","httpAdapter","xhr","xhrAdapter","fetchAdapter","renderReason","isResolvedHandle","getAdapter","adapters","_adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","throwIfRequested","dispatchRequest","onAdapterResolution","onAdapterRejection","VERSION","validators","validator","deprecatedWarnings","version","formatMessage","opt","desc","opts","console","warn","spelling","correctSpelling","assertOptions","schema","allowUnknown","Axios","instanceConfig","interceptors","_request2","configOrUrl","dummy","captureStackTrace","baseUrl","withXsrfToken","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","unshiftRequestInterceptors","interceptor","unshift","responseInterceptorChain","pushResponseInterceptors","promise","chain","onFulfilled","onRejected","getUri","fullPath","forEachMethodNoData","forEachMethodWithData","generateHTTPMethod","isForm","httpMethod","CancelToken","executor","resolvePromise","promiseExecutor","_listeners","onfulfilled","splice","c","spread","callback","payload","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","WebServerIsDown","ConnectionTimedOut","OriginIsUnreachable","TimeoutOccurred","SslHandshakeFailed","InvalidSslCertificate","createInstance","defaultConfig","instance","axios","Cancel","all","promises","formToJSON"],"mappings":"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"} \ No newline at end of file diff --git a/dist/node_modules/axios/dist/axios.min.js b/dist/node_modules/axios/dist/axios.min.js new file mode 100644 index 00000000..36d307b5 --- /dev/null +++ b/dist/node_modules/axios/dist/axios.min.js @@ -0,0 +1,5 @@ +/*! Axios v1.14.0 Copyright (c) 2026 Matt Zabriskie and contributors */ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).axios=t()}(this,function(){"use strict";function e(e,t){this.v=e,this.k=t}function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n3?(o=h===r)&&(s=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=p&&((o=n<2&&pr||r>h)&&(i[4]=n,i[5]=r,d.n=h,u=0))}if(o||n>1)return a;throw l=!0,r}return function(o,f,h){if(c>1)throw TypeError("Generator is already running");for(l&&1===f&&p(f,h),u=f,s=h;(t=u<2?e:s)||!l;){i||(u?u<3?(u>1&&(d.n=-1),p(u,s)):d.n=s:d.v=s);try{if(c=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,s)))throw TypeError("iterator result is not an object");if(!t.done)return t;s=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(l=d.n<0)?s:n.call(r,d))!==a)break}catch(t){i=e,u=1,s=t}finally{c=1}}return{value:t,done:l}}}(n,o,i),!0),c}var a={};function u(){}function s(){}function c(){}t=Object.getPrototypeOf;var f=[][r]?t(t([][r]())):(g(t={},r,function(){return this}),t),l=c.prototype=u.prototype=Object.create(f);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,c):(e.__proto__=c,g(e,o,"GeneratorFunction")),e.prototype=Object.create(l),e}return s.prototype=c,g(l,"constructor",c),g(c,"constructor",s),s.displayName="GeneratorFunction",g(c,o,"GeneratorFunction"),g(l),g(l,o,"Generator"),g(l,r,function(){return this}),g(l,"toString",function(){return"[object Generator]"}),(m=function(){return{w:i,m:d}})()}function g(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}g=function(e,t,n,r){function i(t,n){g(e,t,function(e){return this._invoke(t,n,e)})}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(i("next",0),i("throw",1),i("return",2))},g(e,t,n,r)}function w(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],n=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}throw new TypeError(typeof e+" is not iterable")}function O(e,t){return O=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},O(e,t)}function E(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,u=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=i.call(n)).done)&&(u.push(r.value),u.length!==t);s=!0);}catch(e){c=!0,o=e}finally{try{if(!s&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return u}}(e,t)||j(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function R(e){return function(e){if(Array.isArray(e))return t(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||j(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t);if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}function T(e){return T="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},T(e)}function j(e,n){if(e){if("string"==typeof e)return t(e,n);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(e,n):void 0}}function A(e){return function(){return new k(e.apply(this,arguments))}}function k(t){var n,r;function o(n,r){try{var a=t[n](r),u=a.value,s=u instanceof e;Promise.resolve(s?u.v:u).then(function(e){if(s){var r="return"===n?"return":"next";if(!u.k||e.done)return o(r,e);e=t[r](e).value}i(a.done?"return":"normal",e)},function(e){o("throw",e)})}catch(e){i("throw",e)}}function i(e,t){switch(e){case"return":n.resolve({value:t,done:!0});break;case"throw":n.reject(t);break;default:n.resolve({value:t,done:!1})}(n=n.next)?o(n.key,n.arg):r=null}this._invoke=function(e,t){return new Promise(function(i,a){var u={key:e,arg:t,resolve:i,reject:a,next:null};r?r=r.next=u:(n=r=u,o(e,t))})},"function"!=typeof t.return&&(this.return=void 0)}function P(e){var t="function"==typeof Map?new Map:void 0;return P=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return function(e,t,n){if(y())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var o=new(e.bind.apply(e,r));return n&&O(o,n.prototype),o}(e,arguments,p(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),O(n,e)},P(e)}function _(e,t){return function(){return e.apply(t,arguments)}}k.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},k.prototype.next=function(e){return this._invoke("next",e)},k.prototype.throw=function(e){return this._invoke("throw",e)},k.prototype.return=function(e){return this._invoke("return",e)};var x,N=Object.prototype.toString,C=Object.getPrototypeOf,U=Symbol.iterator,F=Symbol.toStringTag,D=(x=Object.create(null),function(e){var t=N.call(e);return x[t]||(x[t]=t.slice(8,-1).toLowerCase())}),B=function(e){return e=e.toLowerCase(),function(t){return D(t)===e}},L=function(e){return function(t){return T(t)===e}},I=Array.isArray,q=L("undefined");function M(e){return null!==e&&!q(e)&&null!==e.constructor&&!q(e.constructor)&&J(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var z=B("ArrayBuffer");var H=L("string"),J=L("function"),W=L("number"),K=function(e){return null!==e&&"object"===T(e)},V=function(e){if("object"!==D(e))return!1;var t=C(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||F in e||U in e)},G=B("Date"),X=B("File"),$=B("Blob"),Q=B("FileList");var Y="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},Z=void 0!==Y.FormData?Y.FormData:void 0,ee=B("URLSearchParams"),te=E(["ReadableStream","Request","Response","Headers"].map(B),4),ne=te[0],re=te[1],oe=te[2],ie=te[3];function ae(e,t){var n,r,o=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).allOwnKeys,i=void 0!==o&&o;if(null!=e)if("object"!==T(e)&&(e=[e]),I(e))for(n=0,r=e.length;n0;)if(t===(n=r[o]).toLowerCase())return n;return null}var se="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,ce=function(e){return!q(e)&&e!==se};var fe,le=(fe="undefined"!=typeof Uint8Array&&C(Uint8Array),function(e){return fe&&e instanceof fe}),de=B("HTMLFormElement"),pe=function(){var e=Object.prototype.hasOwnProperty;return function(t,n){return e.call(t,n)}}(),he=B("RegExp"),ye=function(e,t){var n=Object.getOwnPropertyDescriptors(e),r={};ae(n,function(n,o){var i;!1!==(i=t(n,o,e))&&(r[o]=i||n)}),Object.defineProperties(e,r)};var ve,be,me,ge,we=B("AsyncFunction"),Oe=(ve="function"==typeof setImmediate,be=J(se.postMessage),ve?setImmediate:be?(me="axios@".concat(Math.random()),ge=[],se.addEventListener("message",function(e){var t=e.source,n=e.data;t===se&&n===me&&ge.length&&ge.shift()()},!1),function(e){ge.push(e),se.postMessage(me,"*")}):function(e){return setTimeout(e)}),Ee="undefined"!=typeof queueMicrotask?queueMicrotask.bind(se):"undefined"!=typeof process&&process.nextTick||Oe,Re={isArray:I,isArrayBuffer:z,isBuffer:M,isFormData:function(e){var t;return e&&(Z&&e instanceof Z||J(e.append)&&("formdata"===(t=D(e))||"object"===t&&J(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&z(e.buffer)},isString:H,isNumber:W,isBoolean:function(e){return!0===e||!1===e},isObject:K,isPlainObject:V,isEmptyObject:function(e){if(!K(e)||M(e))return!1;try{return 0===Object.keys(e).length&&Object.getPrototypeOf(e)===Object.prototype}catch(e){return!1}},isReadableStream:ne,isRequest:re,isResponse:oe,isHeaders:ie,isUndefined:q,isDate:G,isFile:X,isReactNativeBlob:function(e){return!(!e||void 0===e.uri)},isReactNative:function(e){return e&&void 0!==e.getParts},isBlob:$,isRegExp:he,isFunction:J,isStream:function(e){return K(e)&&J(e.pipe)},isURLSearchParams:ee,isTypedArray:le,isFileList:Q,forEach:ae,merge:function e(){for(var t=ce(this)&&this||{},n=t.caseless,r=t.skipUndefined,o={},i=function(t,i){if("__proto__"!==i&&"constructor"!==i&&"prototype"!==i){var a=n&&ue(o,i)||i;V(o[a])&&V(t)?o[a]=e(o[a],t):V(t)?o[a]=e({},t):I(t)?o[a]=t.slice():r&&q(t)||(o[a]=t)}},a=0,u=arguments.length;a3&&void 0!==arguments[3]?arguments[3]:{}).allOwnKeys}),e},trim:function(e){return e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},stripBOM:function(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e},inherits:function(e,t,n,r){e.prototype=Object.create(t.prototype,r),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:function(e,t,n,r){var o,i,a,u={};if(t=t||{},null==e)return t;do{for(i=(o=Object.getOwnPropertyNames(e)).length;i-- >0;)a=o[i],r&&!r(a,e,t)||u[a]||(t[a]=e[a],u[a]=!0);e=!1!==n&&C(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:D,kindOfTest:B,endsWith:function(e,t,n){e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;var r=e.indexOf(t,n);return-1!==r&&r===n},toArray:function(e){if(!e)return null;if(I(e))return e;var t=e.length;if(!W(t))return null;for(var n=new Array(t);t-- >0;)n[t]=e[t];return n},forEachEntry:function(e,t){for(var n,r=(e&&e[U]).call(e);(n=r.next())&&!n.done;){var o=n.value;t.call(e,o[0],o[1])}},matchAll:function(e,t){for(var n,r=[];null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:de,hasOwnProperty:pe,hasOwnProp:pe,reduceDescriptors:ye,freezeMethods:function(e){ye(e,function(t,n){if(J(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;var r=e[n];J(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=function(){throw Error("Can not rewrite read-only method '"+n+"'")}))})},toObjectSet:function(e,t){var n={},r=function(e){e.forEach(function(e){n[e]=!0})};return I(e)?r(e):r(String(e).split(t)),n},toCamelCase:function(e){return e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,t,n){return t.toUpperCase()+n})},noop:function(){},toFiniteNumber:function(e,t){return null!=e&&Number.isFinite(e=+e)?e:t},findKey:ue,global:se,isContextDefined:ce,isSpecCompliantForm:function(e){return!!(e&&J(e.append)&&"FormData"===e[F]&&e[U])},toJSONObject:function(e){var t=new Array(10),n=function(e,r){if(K(e)){if(t.indexOf(e)>=0)return;if(M(e))return e;if(!("toJSON"in e)){t[r]=e;var o=I(e)?[]:{};return ae(e,function(e,t){var i=n(e,r+1);!q(i)&&(o[t]=i)}),t[r]=void 0,o}}return e};return n(e,0)},isAsyncFn:we,isThenable:function(e){return e&&(K(e)||J(e))&&J(e.then)&&J(e.catch)},setImmediate:Oe,asap:Ee,isIterable:function(e){return null!=e&&J(e[U])}},Se=function(e){function t(e,n,r,o,i){var a;return c(this,t),a=s(this,t,[e]),Object.defineProperty(a,"message",{value:e,enumerable:!0,writable:!0,configurable:!0}),a.name="AxiosError",a.isAxiosError=!0,n&&(a.code=n),r&&(a.config=r),o&&(a.request=o),i&&(a.response=i,a.status=i.status),a}return h(t,e),l(t,[{key:"toJSON",value:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:Re.toJSONObject(this.config),code:this.code,status:this.status}}}],[{key:"from",value:function(e,n,r,o,i,a){var u=new t(e.message,n||e.code,r,o,i);return u.cause=e,u.name=e.name,null!=e.status&&null==u.status&&(u.status=e.status),a&&Object.assign(u,a),u}}])}(P(Error));Se.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE",Se.ERR_BAD_OPTION="ERR_BAD_OPTION",Se.ECONNABORTED="ECONNABORTED",Se.ETIMEDOUT="ETIMEDOUT",Se.ERR_NETWORK="ERR_NETWORK",Se.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS",Se.ERR_DEPRECATED="ERR_DEPRECATED",Se.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE",Se.ERR_BAD_REQUEST="ERR_BAD_REQUEST",Se.ERR_CANCELED="ERR_CANCELED",Se.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT",Se.ERR_INVALID_URL="ERR_INVALID_URL";function Te(e){return Re.isPlainObject(e)||Re.isArray(e)}function je(e){return Re.endsWith(e,"[]")?e.slice(0,-2):e}function Ae(e,t,n){return e?e.concat(t).map(function(e,t){return e=je(e),!n&&t?"["+e+"]":e}).join(n?".":""):t}var ke=Re.toFlatObject(Re,{},null,function(e){return/^is[A-Z]/.test(e)});function Pe(e,t,n){if(!Re.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;var r=(n=Re.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(e,t){return!Re.isUndefined(t[e])})).metaTokens,o=n.visitor||c,i=n.dots,a=n.indexes,u=(n.Blob||"undefined"!=typeof Blob&&Blob)&&Re.isSpecCompliantForm(t);if(!Re.isFunction(o))throw new TypeError("visitor must be a function");function s(e){if(null===e)return"";if(Re.isDate(e))return e.toISOString();if(Re.isBoolean(e))return e.toString();if(!u&&Re.isBlob(e))throw new Se("Blob is not supported. Use a Buffer instead.");return Re.isArrayBuffer(e)||Re.isTypedArray(e)?u&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function c(e,n,o){var u=e;if(Re.isReactNative(t)&&Re.isReactNativeBlob(e))return t.append(Ae(o,n,i),s(e)),!1;if(e&&!o&&"object"===T(e))if(Re.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(Re.isArray(e)&&function(e){return Re.isArray(e)&&!e.some(Te)}(e)||(Re.isFileList(e)||Re.endsWith(n,"[]"))&&(u=Re.toArray(e)))return n=je(n),u.forEach(function(e,r){!Re.isUndefined(e)&&null!==e&&t.append(!0===a?Ae([n],r,i):null===a?n:n+"[]",s(e))}),!1;return!!Te(e)||(t.append(Ae(o,n,i),s(e)),!1)}var f=[],l=Object.assign(ke,{defaultVisitor:c,convertValue:s,isVisitable:Te});if(!Re.isObject(e))throw new TypeError("data must be an object");return function e(n,r){if(!Re.isUndefined(n)){if(-1!==f.indexOf(n))throw Error("Circular reference detected in "+r.join("."));f.push(n),Re.forEach(n,function(n,i){!0===(!(Re.isUndefined(n)||null===n)&&o.call(t,n,Re.isString(i)?i.trim():i,r,l))&&e(n,r?r.concat(i):[i])}),f.pop()}}(e),t}function _e(e){var t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(e){return t[e]})}function xe(e,t){this._pairs=[],e&&Pe(e,this,t)}var Ne=xe.prototype;function Ce(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Ue(e,t,n){if(!t)return e;var r,o=n&&n.encode||Ce,i=Re.isFunction(n)?{serialize:n}:n,a=i&&i.serialize;if(r=a?a(t,i):Re.isURLSearchParams(t)?t.toString():new xe(t,i).toString(o)){var u=e.indexOf("#");-1!==u&&(e=e.slice(0,u)),e+=(-1===e.indexOf("?")?"?":"&")+r}return e}Ne.append=function(e,t){this._pairs.push([e,t])},Ne.toString=function(e){var t=e?function(t){return e.call(this,t,_e)}:_e;return this._pairs.map(function(e){return t(e[0])+"="+t(e[1])},"").join("&")};var Fe=function(){return l(function e(){c(this,e),this.handlers=[]},[{key:"use",value:function(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}},{key:"eject",value:function(e){this.handlers[e]&&(this.handlers[e]=null)}},{key:"clear",value:function(){this.handlers&&(this.handlers=[])}},{key:"forEach",value:function(e){Re.forEach(this.handlers,function(t){null!==t&&e(t)})}}])}(),De={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},Be={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:xe,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},Le="undefined"!=typeof window&&"undefined"!=typeof document,Ie="object"===("undefined"==typeof navigator?"undefined":T(navigator))&&navigator||void 0,qe=Le&&(!Ie||["ReactNative","NativeScript","NS"].indexOf(Ie.product)<0),Me="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,ze=Le&&window.location.href||"http://localhost",He=b(b({},Object.freeze({__proto__:null,hasBrowserEnv:Le,hasStandardBrowserEnv:qe,hasStandardBrowserWebWorkerEnv:Me,navigator:Ie,origin:ze})),Be);function Je(e){function t(e,n,r,o){var i=e[o++];if("__proto__"===i)return!0;var a=Number.isFinite(+i),u=o>=e.length;return i=!i&&Re.isArray(r)?r.length:i,u?(Re.hasOwnProp(r,i)?r[i]=[r[i],n]:r[i]=n,!a):(r[i]&&Re.isObject(r[i])||(r[i]=[]),t(e,n,r[i],o)&&Re.isArray(r[i])&&(r[i]=function(e){var t,n,r={},o=Object.keys(e),i=o.length;for(t=0;t-1,i=Re.isObject(e);if(i&&Re.isHTMLForm(e)&&(e=new FormData(e)),Re.isFormData(e))return o?JSON.stringify(Je(e)):e;if(Re.isArrayBuffer(e)||Re.isBuffer(e)||Re.isStream(e)||Re.isFile(e)||Re.isBlob(e)||Re.isReadableStream(e))return e;if(Re.isArrayBufferView(e))return e.buffer;if(Re.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return Pe(e,new He.classes.URLSearchParams,b({visitor:function(e,t,n,r){return He.isNode&&Re.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((n=Re.isFileList(e))||r.indexOf("multipart/form-data")>-1){var a=this.env&&this.env.FormData;return Pe(n?{"files[]":e}:e,a&&new a,this.formSerializer)}}return i||o?(t.setContentType("application/json",!1),function(e,t,n){if(Re.isString(e))try{return(t||JSON.parse)(e),Re.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(n||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var t=this.transitional||We.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(Re.isResponse(e)||Re.isReadableStream(e))return e;if(e&&Re.isString(e)&&(n&&!this.responseType||r)){var o=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e,this.parseReviver)}catch(e){if(o){if("SyntaxError"===e.name)throw Se.from(e,Se.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:He.classes.FormData,Blob:He.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};Re.forEach(["delete","get","head","post","put","patch"],function(e){We.headers[e]={}});var Ke=Re.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Ve=Symbol("internals");function Ge(e){return e&&String(e).trim().toLowerCase()}function Xe(e){return!1===e||null==e?e:Re.isArray(e)?e.map(Xe):String(e).replace(/[\r\n]+$/,"")}function $e(e,t,n,r,o){return Re.isFunction(r)?r.call(this,t,n):(o&&(t=n),Re.isString(t)?Re.isString(r)?-1!==t.indexOf(r):Re.isRegExp(r)?r.test(t):void 0:void 0)}var Qe=function(){return l(function e(t){c(this,e),t&&this.set(t)},[{key:"set",value:function(e,t,n){var r=this;function o(e,t,n){var o=Ge(t);if(!o)throw new Error("header name must be a non-empty string");var i=Re.findKey(r,o);(!i||void 0===r[i]||!0===n||void 0===n&&!1!==r[i])&&(r[i||t]=Xe(e))}var i=function(e,t){return Re.forEach(e,function(e,n){return o(e,n,t)})};if(Re.isPlainObject(e)||e instanceof this.constructor)i(e,t);else if(Re.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))i(function(e){var t,n,r,o={};return e&&e.split("\n").forEach(function(e){r=e.indexOf(":"),t=e.substring(0,r).trim().toLowerCase(),n=e.substring(r+1).trim(),!t||o[t]&&Ke[t]||("set-cookie"===t?o[t]?o[t].push(n):o[t]=[n]:o[t]=o[t]?o[t]+", "+n:n)}),o}(e),t);else if(Re.isObject(e)&&Re.isIterable(e)){var a,u,s,c={},f=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=j(e))||t){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}(e);try{for(f.s();!(s=f.n()).done;){var l=s.value;if(!Re.isArray(l))throw TypeError("Object iterator must return a key-value pair");c[u=l[0]]=(a=c[u])?Re.isArray(a)?[].concat(R(a),[l[1]]):[a,l[1]]:l[1]}}catch(e){f.e(e)}finally{f.f()}i(c,t)}else null!=e&&o(t,e,n);return this}},{key:"get",value:function(e,t){if(e=Ge(e)){var n=Re.findKey(this,e);if(n){var r=this[n];if(!t)return r;if(!0===t)return function(e){for(var t,n=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;t=r.exec(e);)n[t[1]]=t[2];return n}(r);if(Re.isFunction(t))return t.call(this,r,n);if(Re.isRegExp(t))return t.exec(r);throw new TypeError("parser must be boolean|regexp|function")}}}},{key:"has",value:function(e,t){if(e=Ge(e)){var n=Re.findKey(this,e);return!(!n||void 0===this[n]||t&&!$e(0,this[n],n,t))}return!1}},{key:"delete",value:function(e,t){var n=this,r=!1;function o(e){if(e=Ge(e)){var o=Re.findKey(n,e);!o||t&&!$e(0,n[o],o,t)||(delete n[o],r=!0)}}return Re.isArray(e)?e.forEach(o):o(e),r}},{key:"clear",value:function(e){for(var t=Object.keys(this),n=t.length,r=!1;n--;){var o=t[n];e&&!$e(0,this[o],o,e,!0)||(delete this[o],r=!0)}return r}},{key:"normalize",value:function(e){var t=this,n={};return Re.forEach(this,function(r,o){var i=Re.findKey(n,o);if(i)return t[i]=Xe(r),void delete t[o];var a=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,function(e,t,n){return t.toUpperCase()+n})}(o):String(o).trim();a!==o&&delete t[o],t[a]=Xe(r),n[a]=!0}),this}},{key:"concat",value:function(){for(var e,t=arguments.length,n=new Array(t),r=0;r1?n-1:0),o=1;o2&&void 0!==arguments[2]?arguments[2]:3,r=0,o=function(e,t){e=e||10;var n,r=new Array(e),o=new Array(e),i=0,a=0;return t=void 0!==t?t:1e3,function(u){var s=Date.now(),c=o[a];n||(n=s),r[i]=u,o[i]=s;for(var f=a,l=0;f!==i;)l+=r[f++],f%=e;if((i=(i+1)%e)===a&&(a=(a+1)%e),!(s-n1&&void 0!==arguments[1]?arguments[1]:Date.now();o=i,n=null,r&&(clearTimeout(r),r=null),e.apply(void 0,R(t))};return[function(){for(var e=Date.now(),t=e-o,u=arguments.length,s=new Array(u),c=0;c=i?a(s,e):(n=s,r||(r=setTimeout(function(){r=null,a(n)},i-t)))},function(){return n&&a(n)}]}(function(n){var i=n.loaded,a=n.lengthComputable?n.total:void 0,u=i-r,s=o(u);r=i;var c=d({loaded:i,total:a,progress:a?i/a:void 0,bytes:u,rate:s||void 0,estimated:s&&a&&i<=a?(a-i)/s:void 0,event:n,lengthComputable:null!=a},t?"download":"upload",!0);e(c)},n)},rt=function(e,t){var n=null!=e;return[function(r){return t[0]({lengthComputable:n,total:e,loaded:r})},t[1]]},ot=function(e){return function(){for(var t=arguments.length,n=new Array(t),r=0;r1?t-1:0),r=1;r1?"since :\n"+s.map(kt).join("\n"):" "+kt(s[0]):"as no adapter specified";throw new Se("There is no suitable adapter to dispatch the request "+c,"ERR_NOT_SUPPORT")}return r},adapters:At};function xt(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new et(null,e)}function Nt(e){return xt(e),e.headers=Qe.from(e.headers),e.data=Ye.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),_t.getAdapter(e.adapter||We.adapter,e)(e).then(function(t){return xt(e),t.data=Ye.call(e,e.transformResponse,t),t.headers=Qe.from(t.headers),t},function(t){return Ze(t)||(xt(e),t&&t.response&&(t.response.data=Ye.call(e,e.transformResponse,t.response),t.response.headers=Qe.from(t.response.headers))),Promise.reject(t)})}var Ct="1.14.0",Ut={};["object","boolean","number","function","string","symbol"].forEach(function(e,t){Ut[e]=function(n){return T(n)===e||"a"+(t<1?"n ":" ")+e}});var Ft={};Ut.transitional=function(e,t,n){function r(e,t){return"[Axios v"+Ct+"] Transitional option '"+e+"'"+t+(n?". "+n:"")}return function(n,o,i){if(!1===e)throw new Se(r(o," has been removed"+(t?" in "+t:"")),Se.ERR_DEPRECATED);return t&&!Ft[o]&&(Ft[o]=!0,console.warn(r(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,o,i)}},Ut.spelling=function(e){return function(t,n){return console.warn("".concat(n," is likely a misspelling of ").concat(e)),!0}};var Dt={assertOptions:function(e,t,n){if("object"!==T(e))throw new Se("options must be an object",Se.ERR_BAD_OPTION_VALUE);for(var r=Object.keys(e),o=r.length;o-- >0;){var i=r[o],a=t[i];if(a){var u=e[i],s=void 0===u||a(u,i,e);if(!0!==s)throw new Se("option "+i+" must be "+s,Se.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new Se("Unknown option "+i,Se.ERR_BAD_OPTION)}},validators:Ut},Bt=Dt.validators,Lt=function(){return l(function e(t){c(this,e),this.defaults=t||{},this.interceptors={request:new Fe,response:new Fe}},[{key:"request",value:(e=a(m().m(function e(t,n){var r,o,i;return m().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,e.n=1,this._request(t,n);case 1:return e.a(2,e.v);case 2:if(e.p=2,(i=e.v)instanceof Error){r={},Error.captureStackTrace?Error.captureStackTrace(r):r=new Error,o=r.stack?r.stack.replace(/^.+\n/,""):"";try{i.stack?o&&!String(i.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(i.stack+="\n"+o):i.stack=o}catch(e){}}throw i;case 3:return e.a(2)}},e,this,[[0,2]])})),function(t,n){return e.apply(this,arguments)})},{key:"_request",value:function(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{};var n=t=ct(this.defaults,t),r=n.transitional,o=n.paramsSerializer,i=n.headers;void 0!==r&&Dt.assertOptions(r,{silentJSONParsing:Bt.transitional(Bt.boolean),forcedJSONParsing:Bt.transitional(Bt.boolean),clarifyTimeoutError:Bt.transitional(Bt.boolean),legacyInterceptorReqResOrdering:Bt.transitional(Bt.boolean)},!1),null!=o&&(Re.isFunction(o)?t.paramsSerializer={serialize:o}:Dt.assertOptions(o,{encode:Bt.function,serialize:Bt.function},!0)),void 0!==t.allowAbsoluteUrls||(void 0!==this.defaults.allowAbsoluteUrls?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=!0),Dt.assertOptions(t,{baseUrl:Bt.spelling("baseURL"),withXsrfToken:Bt.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();var a=i&&Re.merge(i.common,i[t.method]);i&&Re.forEach(["delete","get","head","post","put","patch","common"],function(e){delete i[e]}),t.headers=Qe.concat(a,i);var u=[],s=!0;this.interceptors.request.forEach(function(e){if("function"!=typeof e.runWhen||!1!==e.runWhen(t)){s=s&&e.synchronous;var n=t.transitional||De;n&&n.legacyInterceptorReqResOrdering?u.unshift(e.fulfilled,e.rejected):u.push(e.fulfilled,e.rejected)}});var c,f=[];this.interceptors.response.forEach(function(e){f.push(e.fulfilled,e.rejected)});var l,d=0;if(!s){var p=[Nt.bind(this),void 0];for(p.unshift.apply(p,u),p.push.apply(p,f),l=p.length,c=Promise.resolve(t);d0;)r._listeners[t](e);r._listeners=null}}),this.promise.then=function(e){var t,n=new Promise(function(e){r.subscribe(e),t=e}).then(e);return n.cancel=function(){r.unsubscribe(t)},n},t(function(e,t,o){r.reason||(r.reason=new et(e,t,o),n(r.reason))})}return l(e,[{key:"throwIfRequested",value:function(){if(this.reason)throw this.reason}},{key:"subscribe",value:function(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}},{key:"unsubscribe",value:function(e){if(this._listeners){var t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}}},{key:"toAbortSignal",value:function(){var e=this,t=new AbortController,n=function(e){t.abort(e)};return this.subscribe(n),t.signal.unsubscribe=function(){return e.unsubscribe(n)},t.signal}}],[{key:"source",value:function(){var t;return{token:new e(function(e){t=e}),cancel:t}}}])}();var qt={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(qt).forEach(function(e){var t=E(e,2),n=t[0],r=t[1];qt[r]=n});var Mt=function e(t){var n=new Lt(t),r=_(Lt.prototype.request,n);return Re.extend(r,Lt.prototype,n,{allOwnKeys:!0}),Re.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return e(ct(t,n))},r}(We);return Mt.Axios=Lt,Mt.CanceledError=et,Mt.CancelToken=It,Mt.isCancel=Ze,Mt.VERSION=Ct,Mt.toFormData=Pe,Mt.AxiosError=Se,Mt.Cancel=Mt.CanceledError,Mt.all=function(e){return Promise.all(e)},Mt.spread=function(e){return function(t){return e.apply(null,t)}},Mt.isAxiosError=function(e){return Re.isObject(e)&&!0===e.isAxiosError},Mt.mergeConfig=ct,Mt.AxiosHeaders=Qe,Mt.formToJSON=function(e){return Je(Re.isHTMLForm(e)?new FormData(e):e)},Mt.getAdapter=_t.getAdapter,Mt.HttpStatusCode=qt,Mt.default=Mt,Mt}); +//# sourceMappingURL=axios.min.js.map diff --git a/dist/node_modules/axios/dist/axios.min.js.map b/dist/node_modules/axios/dist/axios.min.js.map new file mode 100644 index 00000000..f7b4b95a --- /dev/null +++ b/dist/node_modules/axios/dist/axios.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"axios.min.js","sources":["../lib/helpers/bind.js","../lib/utils.js","../lib/core/AxiosError.js","../lib/helpers/toFormData.js","../lib/helpers/AxiosURLSearchParams.js","../lib/helpers/buildURL.js","../lib/core/InterceptorManager.js","../lib/defaults/transitional.js","../lib/platform/browser/index.js","../lib/platform/browser/classes/URLSearchParams.js","../lib/platform/browser/classes/FormData.js","../lib/platform/browser/classes/Blob.js","../lib/platform/common/utils.js","../lib/platform/index.js","../lib/helpers/formDataToJSON.js","../lib/defaults/index.js","../lib/helpers/toURLEncodedForm.js","../lib/helpers/parseHeaders.js","../lib/core/AxiosHeaders.js","../lib/core/transformData.js","../lib/cancel/isCancel.js","../lib/cancel/CanceledError.js","../lib/core/settle.js","../lib/helpers/progressEventReducer.js","../lib/helpers/speedometer.js","../lib/helpers/throttle.js","../lib/helpers/isURLSameOrigin.js","../lib/helpers/cookies.js","../lib/core/buildFullPath.js","../lib/helpers/isAbsoluteURL.js","../lib/helpers/combineURLs.js","../lib/core/mergeConfig.js","../lib/helpers/resolveConfig.js","../lib/adapters/fetch.js","../lib/adapters/xhr.js","../lib/helpers/parseProtocol.js","../lib/helpers/composeSignals.js","../lib/helpers/trackStream.js","../lib/adapters/adapters.js","../lib/helpers/null.js","../lib/core/dispatchRequest.js","../lib/env/data.js","../lib/helpers/validator.js","../lib/core/Axios.js","../lib/cancel/CancelToken.js","../lib/helpers/HttpStatusCode.js","../lib/axios.js","../lib/helpers/spread.js","../lib/helpers/isAxiosError.js"],"sourcesContent":["'use strict';\n\n/**\n * Create a bound version of a function with a specified `this` context\n *\n * @param {Function} fn - The function to bind\n * @param {*} thisArg - The value to be passed as the `this` parameter\n * @returns {Function} A new function that will call the original function with the specified `this` context\n */\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst { toString } = Object.prototype;\nconst { getPrototypeOf } = Object;\nconst { iterator, toStringTag } = Symbol;\n\nconst kindOf = ((cache) => (thing) => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type;\n};\n\nconst typeOfTest = (type) => (thing) => typeof thing === type;\n\n/**\n * Determine if a value is a non-null object\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst { isArray } = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return (\n val !== null &&\n !isUndefined(val) &&\n val.constructor !== null &&\n !isUndefined(val.constructor) &&\n isFunction(val.constructor.isBuffer) &&\n val.constructor.isBuffer(val)\n );\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && isArrayBuffer(val.buffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = (thing) => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (\n (prototype === null ||\n prototype === Object.prototype ||\n Object.getPrototypeOf(prototype) === null) &&\n !(toStringTag in val) &&\n !(iterator in val)\n );\n};\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n // Early return for non-objects or Buffers to prevent RangeError\n if (!isObject(val) || isBuffer(val)) {\n return false;\n }\n\n try {\n return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n } catch (e) {\n // Fallback for any other objects that might cause RangeError with Object.keys()\n return false;\n }\n};\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a React Native Blob\n * React Native \"blob\": an object with a `uri` attribute. Optionally, it can\n * also have a `name` and `type` attribute to specify filename and content type\n *\n * @see https://github.com/facebook/react-native/blob/26684cf3adf4094eb6c405d345a75bf8c7c0bf88/Libraries/Network/FormData.js#L68-L71\n * \n * @param {*} value The value to test\n * \n * @returns {boolean} True if value is a React Native Blob, otherwise false\n */\nconst isReactNativeBlob = (value) => {\n return !!(value && typeof value.uri !== 'undefined');\n}\n\n/**\n * Determine if environment is React Native\n * ReactNative `FormData` has a non-standard `getParts()` method\n * \n * @param {*} formData The formData to test\n * \n * @returns {boolean} True if environment is React Native, otherwise false\n */\nconst isReactNative = (formData) => formData && typeof formData.getParts !== 'undefined';\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction getGlobal() {\n if (typeof globalThis !== 'undefined') return globalThis;\n if (typeof self !== 'undefined') return self;\n if (typeof window !== 'undefined') return window;\n if (typeof global !== 'undefined') return global;\n return {};\n}\n\nconst G = getGlobal();\nconst FormDataCtor = typeof G.FormData !== 'undefined' ? G.FormData : undefined;\n\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (FormDataCtor && thing instanceof FormDataCtor) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n );\n};\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = [\n 'ReadableStream',\n 'Request',\n 'Response',\n 'Headers',\n].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => {\n return str.trim ? str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n};\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Object} [options]\n * @param {Boolean} [options.allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, { allOwnKeys = false } = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Buffer check\n if (isBuffer(obj)) {\n return;\n }\n\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\n/**\n * Finds a key in an object, case-insensitive, returning the actual key name.\n * Returns null if the object is a Buffer or if no match is found.\n *\n * @param {Object} obj - The object to search.\n * @param {string} key - The key to find (case-insensitive).\n * @returns {?string} The actual key name if found, otherwise null.\n */\nfunction findKey(obj, key) {\n if (isBuffer(obj)) {\n return null;\n }\n\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== 'undefined') return globalThis;\n return typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : global;\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * const result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const { caseless, skipUndefined } = (isContextDefined(this) && this) || {};\n const result = {};\n const assignValue = (val, key) => {\n // Skip dangerous property names to prevent prototype pollution\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return;\n }\n\n const targetKey = (caseless && findKey(result, key)) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else if (!skipUndefined || !isUndefined(val)) {\n result[targetKey] = val;\n }\n };\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Object} [options]\n * @param {Boolean} [options.allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, { allOwnKeys } = {}) => {\n forEach(\n b,\n (val, key) => {\n if (thisArg && isFunction(val)) {\n Object.defineProperty(a, key, {\n value: bind(val, thisArg),\n writable: true,\n enumerable: true,\n configurable: true,\n });\n } else {\n Object.defineProperty(a, key, {\n value: val,\n writable: true,\n enumerable: true,\n configurable: true,\n });\n }\n },\n { allOwnKeys }\n );\n return a;\n};\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xfeff) {\n content = content.slice(1);\n }\n return content;\n};\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n Object.defineProperty(constructor.prototype, 'constructor', {\n value: constructor,\n writable: true,\n enumerable: false,\n configurable: true,\n });\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype,\n });\n props && Object.assign(constructor.prototype, props);\n};\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n};\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n};\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n};\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = ((TypedArray) => {\n // eslint-disable-next-line func-names\n return (thing) => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n};\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n};\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = (str) => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g, function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n });\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (\n ({ hasOwnProperty }) =>\n (obj, prop) =>\n hasOwnProperty.call(obj, prop)\n)(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n};\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error(\"Can not rewrite read-only method '\" + name + \"'\");\n };\n }\n });\n};\n\n/**\n * Converts an array or a delimited string into an object set with values as keys and true as values.\n * Useful for fast membership checks.\n *\n * @param {Array|string} arrayOrString - The array or string to convert.\n * @param {string} delimiter - The delimiter to use if input is a string.\n * @returns {Object} An object with keys from the array or string, values set to true.\n */\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach((value) => {\n obj[value] = true;\n });\n };\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n};\n\nconst noop = () => {};\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite((value = +value)) ? value : defaultValue;\n};\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(\n thing &&\n isFunction(thing.append) &&\n thing[toStringTag] === 'FormData' &&\n thing[iterator]\n );\n}\n\n/**\n * Recursively converts an object to a JSON-compatible object, handling circular references and Buffers.\n *\n * @param {Object} obj - The object to convert.\n * @returns {Object} The JSON-compatible object.\n */\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n //Buffer check\n if (isBuffer(source)) {\n return source;\n }\n\n if (!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n };\n\n return visit(obj, 0);\n};\n\n/**\n * Determines if a value is an async function.\n *\n * @param {*} thing - The value to test.\n * @returns {boolean} True if value is an async function, otherwise false.\n */\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\n/**\n * Determines if a value is thenable (has then and catch methods).\n *\n * @param {*} thing - The value to test.\n * @returns {boolean} True if value is thenable, otherwise false.\n */\nconst isThenable = (thing) =>\n thing &&\n (isObject(thing) || isFunction(thing)) &&\n isFunction(thing.then) &&\n isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\n/**\n * Provides a cross-platform setImmediate implementation.\n * Uses native setImmediate if available, otherwise falls back to postMessage or setTimeout.\n *\n * @param {boolean} setImmediateSupported - Whether setImmediate is supported.\n * @param {boolean} postMessageSupported - Whether postMessage is supported.\n * @returns {Function} A function to schedule a callback asynchronously.\n */\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported\n ? ((token, callbacks) => {\n _global.addEventListener(\n 'message',\n ({ source, data }) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n },\n false\n );\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, '*');\n };\n })(`axios@${Math.random()}`, [])\n : (cb) => setTimeout(cb);\n})(typeof setImmediate === 'function', isFunction(_global.postMessage));\n\n/**\n * Schedules a microtask or asynchronous callback as soon as possible.\n * Uses queueMicrotask if available, otherwise falls back to process.nextTick or _setImmediate.\n *\n * @type {Function}\n */\nconst asap =\n typeof queueMicrotask !== 'undefined'\n ? queueMicrotask.bind(_global)\n : (typeof process !== 'undefined' && process.nextTick) || _setImmediate;\n\n// *********************\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isReactNativeBlob,\n isReactNative,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable,\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\nclass AxiosError extends Error {\n static from(error, code, config, request, response, customProps) {\n const axiosError = new AxiosError(error.message, code || error.code, config, request, response);\n axiosError.cause = error;\n axiosError.name = error.name;\n\n // Preserve status from the original error if not already set from response\n if (error.status != null && axiosError.status == null) {\n axiosError.status = error.status;\n }\n\n customProps && Object.assign(axiosError, customProps);\n return axiosError;\n }\n\n /**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\n constructor(message, code, config, request, response) {\n super(message);\n \n // Make message enumerable to maintain backward compatibility\n // The native Error constructor sets message as non-enumerable,\n // but axios < v1.13.3 had it as enumerable\n Object.defineProperty(this, 'message', {\n value: message,\n enumerable: true,\n writable: true,\n configurable: true\n });\n \n this.name = 'AxiosError';\n this.isAxiosError = true;\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status;\n }\n }\n\n toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status,\n };\n }\n}\n\n// This can be changed to static properties as soon as the parser options in .eslint.cjs are updated.\nAxiosError.ERR_BAD_OPTION_VALUE = 'ERR_BAD_OPTION_VALUE';\nAxiosError.ERR_BAD_OPTION = 'ERR_BAD_OPTION';\nAxiosError.ECONNABORTED = 'ECONNABORTED';\nAxiosError.ETIMEDOUT = 'ETIMEDOUT';\nAxiosError.ERR_NETWORK = 'ERR_NETWORK';\nAxiosError.ERR_FR_TOO_MANY_REDIRECTS = 'ERR_FR_TOO_MANY_REDIRECTS';\nAxiosError.ERR_DEPRECATED = 'ERR_DEPRECATED';\nAxiosError.ERR_BAD_RESPONSE = 'ERR_BAD_RESPONSE';\nAxiosError.ERR_BAD_REQUEST = 'ERR_BAD_REQUEST';\nAxiosError.ERR_CANCELED = 'ERR_CANCELED';\nAxiosError.ERR_NOT_SUPPORT = 'ERR_NOT_SUPPORT';\nAxiosError.ERR_INVALID_URL = 'ERR_INVALID_URL';\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path\n .concat(key)\n .map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n })\n .join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(\n options,\n {\n metaTokens: true,\n dots: false,\n indexes: false,\n },\n false,\n function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n }\n );\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || (typeof Blob !== 'undefined' && Blob);\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isBoolean(value)) {\n return value.toString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (utils.isReactNative(formData) && utils.isReactNativeBlob(value)) {\n formData.append(renderKey(path, key, dots), convertValue(value));\n return false;\n }\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value)))\n ) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) &&\n formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true\n ? renderKey([key], index, dots)\n : indexes === null\n ? key\n : key + '[]',\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable,\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result =\n !(utils.isUndefined(el) || el === null) &&\n visitor.call(formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers);\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00',\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder\n ? function (value) {\n return encoder.call(this, value, encode);\n }\n : encode;\n\n return this._pairs\n .map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '')\n .join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces URL-encoded forms of `:`, `$`, `,`, and spaces with\n * their plain counterparts (`:`, `$`, `,`, `+`).\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val)\n .replace(/%3A/gi, ':')\n .replace(/%24/g, '$')\n .replace(/%2C/gi, ',')\n .replace(/%20/g, '+');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n if (!params) {\n return url;\n }\n\n const _encode = (options && options.encode) || encode;\n\n const _options = utils.isFunction(options)\n ? {\n serialize: options,\n }\n : options;\n\n const serializeFn = _options && _options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, _options);\n } else {\n serializedParams = utils.isURLSearchParams(params)\n ? params.toString()\n : new AxiosURLSearchParams(params, _options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n * @param {Object} options The options for the interceptor, synchronous and runWhen\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null,\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {void}\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false,\n legacyInterceptorReqResOrdering: true,\n};\n","import URLSearchParams from './classes/URLSearchParams.js';\nimport FormData from './classes/FormData.js';\nimport Blob from './classes/Blob.js';\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob,\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data'],\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict';\n\nexport default typeof Blob !== 'undefined' ? Blob : null;\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = (typeof navigator === 'object' && navigator) || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv =\n hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = (hasBrowserEnv && window.location.href) || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin,\n};\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform,\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map((match) => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [\n function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if (\n (isFileList = utils.isFileList(data)) ||\n contentType.indexOf('multipart/form-data') > -1\n ) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? { 'files[]': data } : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n },\n ],\n\n transformResponse: [\n function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (\n data &&\n utils.isString(data) &&\n ((forcedJSONParsing && !this.responseType) || JSONRequested)\n ) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data, this.parseReviver);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n },\n ],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob,\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n Accept: 'application/json, text/plain, */*',\n 'Content-Type': undefined,\n },\n },\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), {\n visitor: function (value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options,\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age',\n 'authorization',\n 'content-length',\n 'content-type',\n 'etag',\n 'expires',\n 'from',\n 'host',\n 'if-modified-since',\n 'if-unmodified-since',\n 'last-modified',\n 'location',\n 'max-forwards',\n 'proxy-authorization',\n 'referer',\n 'retry-after',\n 'user-agent',\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default (rawHeaders) => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders &&\n rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value)\n ? value.map(normalizeValue)\n : String(value).replace(/[\\r\\n]+$/, '');\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header\n .trim()\n .toLowerCase()\n .replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach((methodName) => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function (arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true,\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if (\n !key ||\n self[key] === undefined ||\n _rewrite === true ||\n (_rewrite === undefined && self[key] !== false)\n ) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite);\n } else if (utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {},\n dest,\n key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[(key = entry[0])] = (dest = obj[key])\n ? utils.isArray(dest)\n ? [...dest, entry[1]]\n : [dest, entry[1]]\n : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(\n key &&\n this[key] !== undefined &&\n (!matcher || matchHeaderValue(this, this[key], key, matcher))\n );\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null &&\n value !== false &&\n (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON())\n .map(([header, value]) => header + ': ' + value)\n .join('\\n');\n }\n\n getSetCookie() {\n return this.get('set-cookie') || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals =\n (this[$internals] =\n this[$internals] =\n {\n accessors: {},\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor([\n 'Content-Type',\n 'Content-Length',\n 'Accept',\n 'Accept-Encoding',\n 'User-Agent',\n 'Authorization',\n]);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n },\n };\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from '../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\n\nclass CanceledError extends AxiosError {\n /**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\n constructor(message, config, request) {\n super(message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n this.__CANCEL__ = true;\n }\n}\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(\n new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][\n Math.floor(response.status / 100) - 4\n ],\n response.config,\n response.request,\n response\n )\n );\n }\n}\n","import speedometer from './speedometer.js';\nimport throttle from './throttle.js';\nimport utils from '../utils.js';\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle((e) => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? loaded / total : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true,\n };\n\n listener(data);\n }, freq);\n};\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [\n (loaded) =>\n throttled[0]({\n lengthComputable,\n total,\n loaded,\n }),\n throttled[1],\n ];\n};\n\nexport const asyncDecorator =\n (fn) =>\n (...args) =>\n utils.asap(() => fn(...args));\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round((bytesCount * 1000) / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n };\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if (passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs);\n }, threshold - passed);\n }\n }\n };\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv\n ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n })(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n )\n : () => true;\n","import utils from '../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv\n ? // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure, sameSite) {\n if (typeof document === 'undefined') return;\n\n const cookie = [`${name}=${encodeURIComponent(value)}`];\n\n if (utils.isNumber(expires)) {\n cookie.push(`expires=${new Date(expires).toUTCString()}`);\n }\n if (utils.isString(path)) {\n cookie.push(`path=${path}`);\n }\n if (utils.isString(domain)) {\n cookie.push(`domain=${domain}`);\n }\n if (secure === true) {\n cookie.push('secure');\n }\n if (utils.isString(sameSite)) {\n cookie.push(`SameSite=${sameSite}`);\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n if (typeof document === 'undefined') return null;\n const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)'));\n return match ? decodeURIComponent(match[1]) : null;\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000, '/');\n },\n }\n : // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {},\n };\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n if (typeof url !== 'string') {\n return false;\n }\n\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst headersToObject = (thing) => (thing instanceof AxiosHeaders ? { ...thing } : thing);\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({ caseless }, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(a, b, prop, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b, prop) =>\n mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true),\n };\n\n utils.forEach(Object.keys({ ...config1, ...config2 }), function computeConfigValue(prop) {\n if (prop === '__proto__' || prop === 'constructor' || prop === 'prototype') return;\n const merge = utils.hasOwnProp(mergeMap, prop) ? mergeMap[prop] : mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from '../platform/index.js';\nimport utils from '../utils.js';\nimport isURLSameOrigin from './isURLSameOrigin.js';\nimport cookies from './cookies.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport mergeConfig from '../core/mergeConfig.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport buildURL from './buildURL.js';\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(\n buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls),\n config.params,\n config.paramsSerializer\n );\n\n // HTTP basic authentication\n if (auth) {\n headers.set(\n 'Authorization',\n 'Basic ' +\n btoa(\n (auth.username || '') +\n ':' +\n (auth.password ? unescape(encodeURIComponent(auth.password)) : '')\n )\n );\n }\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // browser handles it\n } else if (utils.isFunction(data.getHeaders)) {\n // Node.js FormData (like form-data package)\n const formHeaders = data.getHeaders();\n // Only set safe headers to avoid overwriting security headers\n const allowedHeaders = ['content-type', 'content-length'];\n Object.entries(formHeaders).forEach(([key, val]) => {\n if (allowedHeaders.includes(key.toLowerCase())) {\n headers.set(key, val);\n }\n });\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n};\n","import platform from '../platform/index.js';\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport composeSignals from '../helpers/composeSignals.js';\nimport { trackStream } from '../helpers/trackStream.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {\n progressEventReducer,\n progressEventDecorator,\n asyncDecorator,\n} from '../helpers/progressEventReducer.js';\nimport resolveConfig from '../helpers/resolveConfig.js';\nimport settle from '../core/settle.js';\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst { isFunction } = utils;\n\nconst globalFetchAPI = (({ Request, Response }) => ({\n Request,\n Response,\n}))(utils.global);\n\nconst { ReadableStream, TextEncoder } = utils.global;\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false;\n }\n};\n\nconst factory = (env) => {\n env = utils.merge.call(\n {\n skipUndefined: true,\n },\n globalFetchAPI,\n env\n );\n\n const { fetch: envFetch, Request, Response } = env;\n const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';\n const isRequestSupported = isFunction(Request);\n const isResponseSupported = isFunction(Response);\n\n if (!isFetchSupported) {\n return false;\n }\n\n const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream);\n\n const encodeText =\n isFetchSupported &&\n (typeof TextEncoder === 'function'\n ? (\n (encoder) => (str) =>\n encoder.encode(str)\n )(new TextEncoder())\n : async (str) => new Uint8Array(await new Request(str).arrayBuffer()));\n\n const supportsRequestStream =\n isRequestSupported &&\n isReadableStreamSupported &&\n test(() => {\n let duplexAccessed = false;\n\n const body = new ReadableStream();\n\n const hasContentType = new Request(platform.origin, {\n body,\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n body.cancel();\n\n return duplexAccessed && !hasContentType;\n });\n\n const supportsResponseStream =\n isResponseSupported &&\n isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n const resolvers = {\n stream: supportsResponseStream && ((res) => res.body),\n };\n\n isFetchSupported &&\n (() => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach((type) => {\n !resolvers[type] &&\n (resolvers[type] = (res, config) => {\n let method = res && res[type];\n\n if (method) {\n return method.call(res);\n }\n\n throw new AxiosError(\n `Response type '${type}' is not supported`,\n AxiosError.ERR_NOT_SUPPORT,\n config\n );\n });\n });\n })();\n\n const getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if (utils.isBlob(body)) {\n return body.size;\n }\n\n if (utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if (utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if (utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n };\n\n const resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n };\n\n return async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions,\n } = resolveConfig(config);\n\n let _fetch = envFetch || fetch;\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals(\n [signal, cancelToken && cancelToken.toAbortSignal()],\n timeout\n );\n\n let request = null;\n\n const unsubscribe =\n composedSignal &&\n composedSignal.unsubscribe &&\n (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress &&\n supportsRequestStream &&\n method !== 'get' &&\n method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: 'half',\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader);\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = isRequestSupported && 'credentials' in Request.prototype;\n\n const resolvedOptions = {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: 'half',\n credentials: isCredentialsSupported ? withCredentials : undefined,\n };\n\n request = isRequestSupported && new Request(url, resolvedOptions);\n\n let response = await (isRequestSupported\n ? _fetch(request, fetchOptions)\n : _fetch(url, resolvedOptions));\n\n const isStreamResponse =\n supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach((prop) => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] =\n (onDownloadProgress &&\n progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n )) ||\n [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](\n response,\n config\n );\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request,\n });\n });\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError(\n 'Network Error',\n AxiosError.ERR_NETWORK,\n config,\n request,\n err && err.response\n ),\n {\n cause: err.cause || err,\n }\n );\n }\n\n throw AxiosError.from(err, err && err.code, config, request, err && err.response);\n }\n };\n};\n\nconst seedCache = new Map();\n\nexport const getFetch = (config) => {\n let env = (config && config.env) || {};\n const { fetch, Request, Response } = env;\n const seeds = [Request, Response, fetch];\n\n let len = seeds.length,\n i = len,\n seed,\n target,\n map = seedCache;\n\n while (i--) {\n seed = seeds[i];\n target = map.get(seed);\n\n target === undefined && map.set(seed, (target = i ? new Map() : factory(env)));\n\n map = target;\n }\n\n return target;\n};\n\nconst adapter = getFetch();\n\nexport default adapter;\n","import utils from '../utils.js';\nimport settle from '../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport { progressEventReducer } from '../helpers/progressEventReducer.js';\nimport resolveConfig from '../helpers/resolveConfig.js';\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported &&\n function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let { responseType, onUploadProgress, onDownloadProgress } = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData =\n !responseType || responseType === 'text' || responseType === 'json'\n ? request.responseText\n : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request,\n };\n\n settle(\n function _resolve(value) {\n resolve(value);\n done();\n },\n function _reject(err) {\n reject(err);\n done();\n },\n response\n );\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (\n request.status === 0 &&\n !(request.responseURL && request.responseURL.indexOf('file:') === 0)\n ) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError(event) {\n // Browsers deliver a ProgressEvent in XHR onerror\n // (message may be empty; when present, surface it)\n // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event\n const msg = event && event.message ? event.message : 'Network Error';\n const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);\n // attach the underlying event for consumers who want details\n err.event = event || null;\n reject(err);\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout\n ? 'timeout of ' + _config.timeout + 'ms exceeded'\n : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(\n new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request\n )\n );\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n [downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true);\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n [uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress);\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = (cancel) => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted\n ? onCanceled()\n : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(\n new AxiosError(\n 'Unsupported protocol ' + protocol + ':',\n AxiosError.ERR_BAD_REQUEST,\n config\n )\n );\n return;\n }\n\n // Send the request\n request.send(requestData || null);\n });\n };\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return (match && match[1]) || '';\n}\n","import CanceledError from '../cancel/CanceledError.js';\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const { length } = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(\n err instanceof AxiosError\n ? err\n : new CanceledError(err instanceof Error ? err.message : err)\n );\n }\n };\n\n let timer =\n timeout &&\n setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout of ${timeout}ms exceeded`, AxiosError.ETIMEDOUT));\n }, timeout);\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach((signal) => {\n signal.unsubscribe\n ? signal.unsubscribe(onabort)\n : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n };\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const { signal } = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n};\n\nexport default composeSignals;\n","export const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n};\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n};\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n};\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n };\n\n return new ReadableStream(\n {\n async pull(controller) {\n try {\n const { done, value } = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = (bytes += len);\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n },\n },\n {\n highWaterMark: 2,\n }\n );\n};\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport * as fetchAdapter from './fetch.js';\nimport AxiosError from '../core/AxiosError.js';\n\n/**\n * Known adapters mapping.\n * Provides environment-specific adapters for Axios:\n * - `http` for Node.js\n * - `xhr` for browsers\n * - `fetch` for fetch API-based requests\n *\n * @type {Object}\n */\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: {\n get: fetchAdapter.getFetch,\n },\n};\n\n// Assign adapter names for easier debugging and identification\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', { value });\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', { value });\n }\n});\n\n/**\n * Render a rejection reason string for unknown or unsupported adapters\n *\n * @param {string} reason\n * @returns {string}\n */\nconst renderReason = (reason) => `- ${reason}`;\n\n/**\n * Check if the adapter is resolved (function, null, or false)\n *\n * @param {Function|null|false} adapter\n * @returns {boolean}\n */\nconst isResolvedHandle = (adapter) =>\n utils.isFunction(adapter) || adapter === null || adapter === false;\n\n/**\n * Get the first suitable adapter from the provided list.\n * Tries each adapter in order until a supported one is found.\n * Throws an AxiosError if no adapter is suitable.\n *\n * @param {Array|string|Function} adapters - Adapter(s) by name or function.\n * @param {Object} config - Axios request configuration\n * @throws {AxiosError} If no suitable adapter is available\n * @returns {Function} The resolved adapter function\n */\nfunction getAdapter(adapters, config) {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const { length } = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter && (utils.isFunction(adapter) || (adapter = adapter.get(config)))) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n const reasons = Object.entries(rejectedReasons).map(\n ([id, state]) =>\n `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length\n ? reasons.length > 1\n ? 'since :\\n' + reasons.map(renderReason).join('\\n')\n : ' ' + renderReason(reasons[0])\n : 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n}\n\n/**\n * Exports Axios adapters and utility to resolve an adapter\n */\nexport default {\n /**\n * Resolve an adapter from a list of adapter names or functions.\n * @type {Function}\n */\n getAdapter,\n\n /**\n * Exposes all known adapters\n * @type {Object}\n */\n adapters: knownAdapters,\n};\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from '../adapters/adapters.js';\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(config, config.transformRequest);\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);\n\n return adapter(config).then(\n function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(config, config.transformResponse, response);\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n },\n function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n }\n );\n}\n","export const VERSION = \"1.14.0\";","'use strict';\n\nimport { VERSION } from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return (\n '[Axios v' +\n VERSION +\n \"] Transitional option '\" +\n opt +\n \"'\" +\n desc +\n (message ? '. ' + message : '')\n );\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError(\n 'option ' + opt + ' must be ' + result,\n AxiosError.ERR_BAD_OPTION_VALUE\n );\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators,\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\nimport transitionalDefaults from '../defaults/transitional.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager(),\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack;\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const { transitional, paramsSerializer, headers } = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(\n transitional,\n {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean),\n legacyInterceptorReqResOrdering: validators.transitional(validators.boolean),\n },\n false\n );\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer,\n };\n } else {\n validator.assertOptions(\n paramsSerializer,\n {\n encode: validators.function,\n serialize: validators.function,\n },\n true\n );\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(\n config,\n {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken'),\n },\n true\n );\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(headers.common, headers[config.method]);\n\n headers &&\n utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], (method) => {\n delete headers[method];\n });\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n const transitional = config.transitional || transitionalDefaults;\n const legacyInterceptorReqResOrdering =\n transitional && transitional.legacyInterceptorReqResOrdering;\n\n if (legacyInterceptorReqResOrdering) {\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n } else {\n requestInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n }\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, config) {\n return this.request(\n mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data,\n })\n );\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(\n mergeConfig(config || {}, {\n method,\n headers: isForm\n ? {\n 'Content-Type': 'multipart/form-data',\n }\n : {},\n url,\n data,\n })\n );\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then((cancel) => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = (onfulfilled) => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise((resolve) => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel,\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n WebServerIsDown: 521,\n ConnectionTimedOut: 522,\n OriginIsUnreachable: 523,\n TimeoutOccurred: 524,\n SslHandshakeFailed: 525,\n InvalidSslCertificate: 526,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport { VERSION } from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from './core/AxiosHeaders.js';\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, { allOwnKeys: true });\n\n // Copy context to instance\n utils.extend(instance, context, null, { allOwnKeys: true });\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = (thing) => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * const args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && payload.isAxiosError === true;\n}\n"],"names":["bind","fn","thisArg","apply","arguments","cache","toString","Object","prototype","getPrototypeOf","iterator","Symbol","toStringTag","kindOf","create","thing","str","call","slice","toLowerCase","kindOfTest","type","typeOfTest","_typeof","isArray","Array","isUndefined","isBuffer","val","constructor","isFunction","isArrayBuffer","isString","isNumber","isObject","isPlainObject","isDate","isFile","isBlob","isFileList","G","globalThis","self","window","global","FormDataCtor","FormData","undefined","isURLSearchParams","_map2","_slicedToArray","map","isReadableStream","isRequest","isResponse","isHeaders","forEach","obj","i","l","_ref$allOwnKeys","length","allOwnKeys","key","keys","getOwnPropertyNames","len","findKey","_key","_global","isContextDefined","context","TypedArray","isTypedArray","Uint8Array","isHTMLForm","hasOwnProperty","prop","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","descriptor","name","ret","defineProperties","setImmediateSupported","postMessageSupported","token","callbacks","isAsyncFn","_setImmediate","setImmediate","postMessage","concat","Math","random","addEventListener","_ref5","source","data","shift","cb","push","setTimeout","asap","queueMicrotask","process","nextTick","utils$1","isFormData","kind","append","isArrayBufferView","ArrayBuffer","isView","buffer","isBoolean","isEmptyObject","e","isReactNativeBlob","value","uri","isReactNative","formData","getParts","isStream","pipe","merge","_ref2","this","caseless","skipUndefined","result","assignValue","targetKey","extend","a","b","defineProperty","writable","enumerable","configurable","trim","replace","stripBOM","content","charCodeAt","inherits","superConstructor","props","assign","toFlatObject","sourceObj","destObj","filter","propFilter","merged","endsWith","searchString","position","String","lastIndex","indexOf","toArray","arr","forEachEntry","_iterator","next","done","pair","matchAll","regExp","matches","exec","hasOwnProp","freezeMethods","set","Error","toObjectSet","arrayOrString","delimiter","define","split","toCamelCase","m","p1","p2","toUpperCase","noop","toFiniteNumber","defaultValue","Number","isFinite","isSpecCompliantForm","toJSONObject","stack","visit","target","reducedValue","isThenable","then","isIterable","AxiosError","_Error","message","code","config","request","response","_this","_classCallCheck","_callSuper","isAxiosError","status","_inherits","_createClass","description","number","fileName","lineNumber","columnNumber","utils","error","customProps","axiosError","cause","_wrapNativeSuper","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL","isVisitable","removeBrackets","renderKey","path","dots","join","predicates","test","toFormData","options","TypeError","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","from","JSON","stringify","some","isFlatArray","el","index","exposedHelpers","build","pop","encode","charMap","encodeURIComponent","match","AxiosURLSearchParams","params","_pairs","buildURL","url","serializedParams","_encode","_options","serialize","serializeFn","hashmarkIndex","encoder","InterceptorManager","handlers","fulfilled","rejected","synchronous","runWhen","id","h","transitionalDefaults","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","legacyInterceptorReqResOrdering","platform$1","isBrowser","classes","URLSearchParams","protocols","hasBrowserEnv","document","_navigator","navigator","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","location","href","platform","_objectSpread","formDataToJSON","buildPath","isNumericKey","isLast","arrayToObject","entries","parsePropPath","defaults","transitional","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","parseReviver","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","Accept","method","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","substring","parseHeaders","dest","_step","_createForOfIteratorHelper","s","n","entry","_toConsumableArray","err","f","tokens","tokensRE","parseTokens","matcher","deleted","deleteHeader","format","normalized","w","char","formatHeader","_this$constructor","_len","targets","asStrings","toJSON","_ref","get","first","computed","_len2","_key2","accessors","defineAccessor","accessorName","methodName","arg1","arg2","arg3","buildAccessors","transformData","fns","normalize","isCancel","__CANCEL__","accessor","_ref3","mapped","headerValue","CanceledError","_AxiosError","settle","resolve","reject","floor","progressEventReducer","listener","isDownloadStream","freq","bytesNotified","_speedometer","samplesCount","min","firstSampleTS","bytes","timestamps","head","tail","chunkLength","now","Date","startedAt","bytesCount","passed","round","speedometer","lastArgs","timer","timestamp","threshold","invoke","args","clearTimeout","throttle","loaded","total","lengthComputable","progressBytes","rate","_defineProperty","progress","estimated","event","progressEventDecorator","throttled","asyncDecorator","isURLSameOrigin","isMSIE","URL","protocol","host","port","userAgent","cookies","write","expires","domain","secure","sameSite","cookie","toUTCString","read","RegExp","decodeURIComponent","remove","buildFullPath","baseURL","requestedURL","allowAbsoluteUrls","isRelativeUrl","relativeURL","combineURLs","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","paramsSerializer","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding","configValue","resolveConfig","newConfig","auth","btoa","username","password","unescape","getHeaders","formHeaders","allowedHeaders","includes","xsrfValue","xhrAdapter","XMLHttpRequest","Promise","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","_config","requestData","requestHeaders","unsubscribe","signal","removeEventListener","onloadend","responseHeaders","getAllResponseHeaders","responseText","statusText","open","onreadystatechange","readyState","responseURL","onabort","onerror","msg","ontimeout","timeoutErrorMessage","setRequestHeader","_progressEventReducer2","upload","_progressEventReducer4","cancel","abort","subscribe","aborted","send","composeSignals","signals","Boolean","controller","AbortController","reason","streamChunk","_regenerator","chunk","chunkSize","pos","end","_context","byteLength","readBytes","_wrapAsyncGenerator","_callee","iterable","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_t","_context2","p","_asyncIterator","readStream","_awaitAsyncGenerator","v","d","_regeneratorValues","_asyncGeneratorDelegate","_x","_x2","_callee2","stream","reader","_yield$_awaitAsyncGen","_context3","asyncIterator","getReader","_x3","trackStream","onProgress","onFinish","_onFinish","ReadableStream","pull","_asyncToGenerator","_callee3","_yield$iterator$next","_done","loadedBytes","_t2","_context4","close","enqueue","highWaterMark","globalFetchAPI","Request","Response","_utils$global","TextEncoder","factory","_env","envFetch","fetch","isFetchSupported","isRequestSupported","isResponseSupported","isReadableStreamSupported","encodeText","arrayBuffer","supportsRequestStream","duplexAccessed","body","hasContentType","duplex","has","supportsResponseStream","resolvers","res","getBodyLength","_request","size","resolveBodyLength","_ref4","getContentLength","_x4","_callee4","_resolveConfig","_resolveConfig$withCr","fetchOptions","_fetch","composedSignal","requestContentLength","contentTypeHeader","_progressEventDecorat","_progressEventDecorat2","flush","isCredentialsSupported","resolvedOptions","isStreamResponse","responseContentLength","_ref6","_ref7","_onProgress","_flush","responseData","_t3","_t4","_t5","toAbortSignal","credentials","_x5","seedCache","Map","getFetch","seed","seeds","knownAdapters","http","xhr","fetchAdapter","renderReason","isResolvedHandle","adapters","getAdapter","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","throwIfRequested","dispatchRequest","VERSION","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","console","warn","spelling","correctSpelling","assertOptions","schema","allowUnknown","Axios","instanceConfig","interceptors","_request2","configOrUrl","dummy","captureStackTrace","baseUrl","withXsrfToken","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","promise","responseInterceptorChain","chain","onFulfilled","onRejected","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","splice","c","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","WebServerIsDown","ConnectionTimedOut","OriginIsUnreachable","TimeoutOccurred","SslHandshakeFailed","InvalidSslCertificate","axios","createInstance","defaultConfig","instance","Cancel","all","promises","spread","callback","payload","formToJSON"],"mappings":"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"} \ No newline at end of file diff --git a/dist/node_modules/axios/dist/browser/axios.cjs b/dist/node_modules/axios/dist/browser/axios.cjs new file mode 100644 index 00000000..dc1aca0f --- /dev/null +++ b/dist/node_modules/axios/dist/browser/axios.cjs @@ -0,0 +1,4225 @@ +/*! Axios v1.14.0 Copyright (c) 2026 Matt Zabriskie and contributors */ +'use strict'; + +/** + * Create a bound version of a function with a specified `this` context + * + * @param {Function} fn - The function to bind + * @param {*} thisArg - The value to be passed as the `this` parameter + * @returns {Function} A new function that will call the original function with the specified `this` context + */ +function bind(fn, thisArg) { + return function wrap() { + return fn.apply(thisArg, arguments); + }; +} + +// utils is a library of generic helper functions non-specific to axios + +const { toString } = Object.prototype; +const { getPrototypeOf } = Object; +const { iterator, toStringTag } = Symbol; + +const kindOf = ((cache) => (thing) => { + const str = toString.call(thing); + return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); +})(Object.create(null)); + +const kindOfTest = (type) => { + type = type.toLowerCase(); + return (thing) => kindOf(thing) === type; +}; + +const typeOfTest = (type) => (thing) => typeof thing === type; + +/** + * Determine if a value is a non-null object + * + * @param {Object} val The value to test + * + * @returns {boolean} True if value is an Array, otherwise false + */ +const { isArray } = Array; + +/** + * Determine if a value is undefined + * + * @param {*} val The value to test + * + * @returns {boolean} True if the value is undefined, otherwise false + */ +const isUndefined = typeOfTest('undefined'); + +/** + * Determine if a value is a Buffer + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Buffer, otherwise false + */ +function isBuffer(val) { + return ( + val !== null && + !isUndefined(val) && + val.constructor !== null && + !isUndefined(val.constructor) && + isFunction$1(val.constructor.isBuffer) && + val.constructor.isBuffer(val) + ); +} + +/** + * Determine if a value is an ArrayBuffer + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is an ArrayBuffer, otherwise false + */ +const isArrayBuffer = kindOfTest('ArrayBuffer'); + +/** + * Determine if a value is a view on an ArrayBuffer + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false + */ +function isArrayBufferView(val) { + let result; + if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) { + result = ArrayBuffer.isView(val); + } else { + result = val && val.buffer && isArrayBuffer(val.buffer); + } + return result; +} + +/** + * Determine if a value is a String + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a String, otherwise false + */ +const isString = typeOfTest('string'); + +/** + * Determine if a value is a Function + * + * @param {*} val The value to test + * @returns {boolean} True if value is a Function, otherwise false + */ +const isFunction$1 = typeOfTest('function'); + +/** + * Determine if a value is a Number + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Number, otherwise false + */ +const isNumber = typeOfTest('number'); + +/** + * Determine if a value is an Object + * + * @param {*} thing The value to test + * + * @returns {boolean} True if value is an Object, otherwise false + */ +const isObject = (thing) => thing !== null && typeof thing === 'object'; + +/** + * Determine if a value is a Boolean + * + * @param {*} thing The value to test + * @returns {boolean} True if value is a Boolean, otherwise false + */ +const isBoolean = (thing) => thing === true || thing === false; + +/** + * Determine if a value is a plain Object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a plain Object, otherwise false + */ +const isPlainObject = (val) => { + if (kindOf(val) !== 'object') { + return false; + } + + const prototype = getPrototypeOf(val); + return ( + (prototype === null || + prototype === Object.prototype || + Object.getPrototypeOf(prototype) === null) && + !(toStringTag in val) && + !(iterator in val) + ); +}; + +/** + * Determine if a value is an empty object (safely handles Buffers) + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is an empty object, otherwise false + */ +const isEmptyObject = (val) => { + // Early return for non-objects or Buffers to prevent RangeError + if (!isObject(val) || isBuffer(val)) { + return false; + } + + try { + return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype; + } catch (e) { + // Fallback for any other objects that might cause RangeError with Object.keys() + return false; + } +}; + +/** + * Determine if a value is a Date + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Date, otherwise false + */ +const isDate = kindOfTest('Date'); + +/** + * Determine if a value is a File + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a File, otherwise false + */ +const isFile = kindOfTest('File'); + +/** + * Determine if a value is a React Native Blob + * React Native "blob": an object with a `uri` attribute. Optionally, it can + * also have a `name` and `type` attribute to specify filename and content type + * + * @see https://github.com/facebook/react-native/blob/26684cf3adf4094eb6c405d345a75bf8c7c0bf88/Libraries/Network/FormData.js#L68-L71 + * + * @param {*} value The value to test + * + * @returns {boolean} True if value is a React Native Blob, otherwise false + */ +const isReactNativeBlob = (value) => { + return !!(value && typeof value.uri !== 'undefined'); +}; + +/** + * Determine if environment is React Native + * ReactNative `FormData` has a non-standard `getParts()` method + * + * @param {*} formData The formData to test + * + * @returns {boolean} True if environment is React Native, otherwise false + */ +const isReactNative = (formData) => formData && typeof formData.getParts !== 'undefined'; + +/** + * Determine if a value is a Blob + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Blob, otherwise false + */ +const isBlob = kindOfTest('Blob'); + +/** + * Determine if a value is a FileList + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a File, otherwise false + */ +const isFileList = kindOfTest('FileList'); + +/** + * Determine if a value is a Stream + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Stream, otherwise false + */ +const isStream = (val) => isObject(val) && isFunction$1(val.pipe); + +/** + * Determine if a value is a FormData + * + * @param {*} thing The value to test + * + * @returns {boolean} True if value is an FormData, otherwise false + */ +function getGlobal() { + if (typeof globalThis !== 'undefined') return globalThis; + if (typeof self !== 'undefined') return self; + if (typeof window !== 'undefined') return window; + if (typeof global !== 'undefined') return global; + return {}; +} + +const G = getGlobal(); +const FormDataCtor = typeof G.FormData !== 'undefined' ? G.FormData : undefined; + +const isFormData = (thing) => { + let kind; + return thing && ( + (FormDataCtor && thing instanceof FormDataCtor) || ( + isFunction$1(thing.append) && ( + (kind = kindOf(thing)) === 'formdata' || + // detect form-data instance + (kind === 'object' && isFunction$1(thing.toString) && thing.toString() === '[object FormData]') + ) + ) + ); +}; + +/** + * Determine if a value is a URLSearchParams object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a URLSearchParams object, otherwise false + */ +const isURLSearchParams = kindOfTest('URLSearchParams'); + +const [isReadableStream, isRequest, isResponse, isHeaders] = [ + 'ReadableStream', + 'Request', + 'Response', + 'Headers', +].map(kindOfTest); + +/** + * Trim excess whitespace off the beginning and end of a string + * + * @param {String} str The String to trim + * + * @returns {String} The String freed of excess whitespace + */ +const trim = (str) => { + return str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); +}; +/** + * Iterate over an Array or an Object invoking a function for each item. + * + * If `obj` is an Array callback will be called passing + * the value, index, and complete array for each item. + * + * If 'obj' is an Object callback will be called passing + * the value, key, and complete object for each property. + * + * @param {Object|Array} obj The object to iterate + * @param {Function} fn The callback to invoke for each item + * + * @param {Object} [options] + * @param {Boolean} [options.allOwnKeys = false] + * @returns {any} + */ +function forEach(obj, fn, { allOwnKeys = false } = {}) { + // Don't bother if no value provided + if (obj === null || typeof obj === 'undefined') { + return; + } + + let i; + let l; + + // Force an array if not already something iterable + if (typeof obj !== 'object') { + /*eslint no-param-reassign:0*/ + obj = [obj]; + } + + if (isArray(obj)) { + // Iterate over array values + for (i = 0, l = obj.length; i < l; i++) { + fn.call(null, obj[i], i, obj); + } + } else { + // Buffer check + if (isBuffer(obj)) { + return; + } + + // Iterate over object keys + const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); + const len = keys.length; + let key; + + for (i = 0; i < len; i++) { + key = keys[i]; + fn.call(null, obj[key], key, obj); + } + } +} + +/** + * Finds a key in an object, case-insensitive, returning the actual key name. + * Returns null if the object is a Buffer or if no match is found. + * + * @param {Object} obj - The object to search. + * @param {string} key - The key to find (case-insensitive). + * @returns {?string} The actual key name if found, otherwise null. + */ +function findKey(obj, key) { + if (isBuffer(obj)) { + return null; + } + + key = key.toLowerCase(); + const keys = Object.keys(obj); + let i = keys.length; + let _key; + while (i-- > 0) { + _key = keys[i]; + if (key === _key.toLowerCase()) { + return _key; + } + } + return null; +} + +const _global = (() => { + /*eslint no-undef:0*/ + if (typeof globalThis !== 'undefined') return globalThis; + return typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : global; +})(); + +const isContextDefined = (context) => !isUndefined(context) && context !== _global; + +/** + * Accepts varargs expecting each argument to be an object, then + * immutably merges the properties of each object and returns result. + * + * When multiple objects contain the same key the later object in + * the arguments list will take precedence. + * + * Example: + * + * ```js + * const result = merge({foo: 123}, {foo: 456}); + * console.log(result.foo); // outputs 456 + * ``` + * + * @param {Object} obj1 Object to merge + * + * @returns {Object} Result of all merge properties + */ +function merge(/* obj1, obj2, obj3, ... */) { + const { caseless, skipUndefined } = (isContextDefined(this) && this) || {}; + const result = {}; + const assignValue = (val, key) => { + // Skip dangerous property names to prevent prototype pollution + if (key === '__proto__' || key === 'constructor' || key === 'prototype') { + return; + } + + const targetKey = (caseless && findKey(result, key)) || key; + if (isPlainObject(result[targetKey]) && isPlainObject(val)) { + result[targetKey] = merge(result[targetKey], val); + } else if (isPlainObject(val)) { + result[targetKey] = merge({}, val); + } else if (isArray(val)) { + result[targetKey] = val.slice(); + } else if (!skipUndefined || !isUndefined(val)) { + result[targetKey] = val; + } + }; + + for (let i = 0, l = arguments.length; i < l; i++) { + arguments[i] && forEach(arguments[i], assignValue); + } + return result; +} + +/** + * Extends object a by mutably adding to it the properties of object b. + * + * @param {Object} a The object to be extended + * @param {Object} b The object to copy properties from + * @param {Object} thisArg The object to bind function to + * + * @param {Object} [options] + * @param {Boolean} [options.allOwnKeys] + * @returns {Object} The resulting value of object a + */ +const extend = (a, b, thisArg, { allOwnKeys } = {}) => { + forEach( + b, + (val, key) => { + if (thisArg && isFunction$1(val)) { + Object.defineProperty(a, key, { + value: bind(val, thisArg), + writable: true, + enumerable: true, + configurable: true, + }); + } else { + Object.defineProperty(a, key, { + value: val, + writable: true, + enumerable: true, + configurable: true, + }); + } + }, + { allOwnKeys } + ); + return a; +}; + +/** + * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) + * + * @param {string} content with BOM + * + * @returns {string} content value without BOM + */ +const stripBOM = (content) => { + if (content.charCodeAt(0) === 0xfeff) { + content = content.slice(1); + } + return content; +}; + +/** + * Inherit the prototype methods from one constructor into another + * @param {function} constructor + * @param {function} superConstructor + * @param {object} [props] + * @param {object} [descriptors] + * + * @returns {void} + */ +const inherits = (constructor, superConstructor, props, descriptors) => { + constructor.prototype = Object.create(superConstructor.prototype, descriptors); + Object.defineProperty(constructor.prototype, 'constructor', { + value: constructor, + writable: true, + enumerable: false, + configurable: true, + }); + Object.defineProperty(constructor, 'super', { + value: superConstructor.prototype, + }); + props && Object.assign(constructor.prototype, props); +}; + +/** + * Resolve object with deep prototype chain to a flat object + * @param {Object} sourceObj source object + * @param {Object} [destObj] + * @param {Function|Boolean} [filter] + * @param {Function} [propFilter] + * + * @returns {Object} + */ +const toFlatObject = (sourceObj, destObj, filter, propFilter) => { + let props; + let i; + let prop; + const merged = {}; + + destObj = destObj || {}; + // eslint-disable-next-line no-eq-null,eqeqeq + if (sourceObj == null) return destObj; + + do { + props = Object.getOwnPropertyNames(sourceObj); + i = props.length; + while (i-- > 0) { + prop = props[i]; + if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { + destObj[prop] = sourceObj[prop]; + merged[prop] = true; + } + } + sourceObj = filter !== false && getPrototypeOf(sourceObj); + } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); + + return destObj; +}; + +/** + * Determines whether a string ends with the characters of a specified string + * + * @param {String} str + * @param {String} searchString + * @param {Number} [position= 0] + * + * @returns {boolean} + */ +const endsWith = (str, searchString, position) => { + str = String(str); + if (position === undefined || position > str.length) { + position = str.length; + } + position -= searchString.length; + const lastIndex = str.indexOf(searchString, position); + return lastIndex !== -1 && lastIndex === position; +}; + +/** + * Returns new array from array like object or null if failed + * + * @param {*} [thing] + * + * @returns {?Array} + */ +const toArray = (thing) => { + if (!thing) return null; + if (isArray(thing)) return thing; + let i = thing.length; + if (!isNumber(i)) return null; + const arr = new Array(i); + while (i-- > 0) { + arr[i] = thing[i]; + } + return arr; +}; + +/** + * Checking if the Uint8Array exists and if it does, it returns a function that checks if the + * thing passed in is an instance of Uint8Array + * + * @param {TypedArray} + * + * @returns {Array} + */ +// eslint-disable-next-line func-names +const isTypedArray = ((TypedArray) => { + // eslint-disable-next-line func-names + return (thing) => { + return TypedArray && thing instanceof TypedArray; + }; +})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array)); + +/** + * For each entry in the object, call the function with the key and value. + * + * @param {Object} obj - The object to iterate over. + * @param {Function} fn - The function to call for each entry. + * + * @returns {void} + */ +const forEachEntry = (obj, fn) => { + const generator = obj && obj[iterator]; + + const _iterator = generator.call(obj); + + let result; + + while ((result = _iterator.next()) && !result.done) { + const pair = result.value; + fn.call(obj, pair[0], pair[1]); + } +}; + +/** + * It takes a regular expression and a string, and returns an array of all the matches + * + * @param {string} regExp - The regular expression to match against. + * @param {string} str - The string to search. + * + * @returns {Array} + */ +const matchAll = (regExp, str) => { + let matches; + const arr = []; + + while ((matches = regExp.exec(str)) !== null) { + arr.push(matches); + } + + return arr; +}; + +/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */ +const isHTMLForm = kindOfTest('HTMLFormElement'); + +const toCamelCase = (str) => { + return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, function replacer(m, p1, p2) { + return p1.toUpperCase() + p2; + }); +}; + +/* Creating a function that will check if an object has a property. */ +const hasOwnProperty = ( + ({ hasOwnProperty }) => + (obj, prop) => + hasOwnProperty.call(obj, prop) +)(Object.prototype); + +/** + * Determine if a value is a RegExp object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a RegExp object, otherwise false + */ +const isRegExp = kindOfTest('RegExp'); + +const reduceDescriptors = (obj, reducer) => { + const descriptors = Object.getOwnPropertyDescriptors(obj); + const reducedDescriptors = {}; + + forEach(descriptors, (descriptor, name) => { + let ret; + if ((ret = reducer(descriptor, name, obj)) !== false) { + reducedDescriptors[name] = ret || descriptor; + } + }); + + Object.defineProperties(obj, reducedDescriptors); +}; + +/** + * Makes all methods read-only + * @param {Object} obj + */ + +const freezeMethods = (obj) => { + reduceDescriptors(obj, (descriptor, name) => { + // skip restricted props in strict mode + if (isFunction$1(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) { + return false; + } + + const value = obj[name]; + + if (!isFunction$1(value)) return; + + descriptor.enumerable = false; + + if ('writable' in descriptor) { + descriptor.writable = false; + return; + } + + if (!descriptor.set) { + descriptor.set = () => { + throw Error("Can not rewrite read-only method '" + name + "'"); + }; + } + }); +}; + +/** + * Converts an array or a delimited string into an object set with values as keys and true as values. + * Useful for fast membership checks. + * + * @param {Array|string} arrayOrString - The array or string to convert. + * @param {string} delimiter - The delimiter to use if input is a string. + * @returns {Object} An object with keys from the array or string, values set to true. + */ +const toObjectSet = (arrayOrString, delimiter) => { + const obj = {}; + + const define = (arr) => { + arr.forEach((value) => { + obj[value] = true; + }); + }; + + isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); + + return obj; +}; + +const noop = () => {}; + +const toFiniteNumber = (value, defaultValue) => { + return value != null && Number.isFinite((value = +value)) ? value : defaultValue; +}; + +/** + * If the thing is a FormData object, return true, otherwise return false. + * + * @param {unknown} thing - The thing to check. + * + * @returns {boolean} + */ +function isSpecCompliantForm(thing) { + return !!( + thing && + isFunction$1(thing.append) && + thing[toStringTag] === 'FormData' && + thing[iterator] + ); +} + +/** + * Recursively converts an object to a JSON-compatible object, handling circular references and Buffers. + * + * @param {Object} obj - The object to convert. + * @returns {Object} The JSON-compatible object. + */ +const toJSONObject = (obj) => { + const stack = new Array(10); + + const visit = (source, i) => { + if (isObject(source)) { + if (stack.indexOf(source) >= 0) { + return; + } + + //Buffer check + if (isBuffer(source)) { + return source; + } + + if (!('toJSON' in source)) { + stack[i] = source; + const target = isArray(source) ? [] : {}; + + forEach(source, (value, key) => { + const reducedValue = visit(value, i + 1); + !isUndefined(reducedValue) && (target[key] = reducedValue); + }); + + stack[i] = undefined; + + return target; + } + } + + return source; + }; + + return visit(obj, 0); +}; + +/** + * Determines if a value is an async function. + * + * @param {*} thing - The value to test. + * @returns {boolean} True if value is an async function, otherwise false. + */ +const isAsyncFn = kindOfTest('AsyncFunction'); + +/** + * Determines if a value is thenable (has then and catch methods). + * + * @param {*} thing - The value to test. + * @returns {boolean} True if value is thenable, otherwise false. + */ +const isThenable = (thing) => + thing && + (isObject(thing) || isFunction$1(thing)) && + isFunction$1(thing.then) && + isFunction$1(thing.catch); + +// original code +// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34 + +/** + * Provides a cross-platform setImmediate implementation. + * Uses native setImmediate if available, otherwise falls back to postMessage or setTimeout. + * + * @param {boolean} setImmediateSupported - Whether setImmediate is supported. + * @param {boolean} postMessageSupported - Whether postMessage is supported. + * @returns {Function} A function to schedule a callback asynchronously. + */ +const _setImmediate = ((setImmediateSupported, postMessageSupported) => { + if (setImmediateSupported) { + return setImmediate; + } + + return postMessageSupported + ? ((token, callbacks) => { + _global.addEventListener( + 'message', + ({ source, data }) => { + if (source === _global && data === token) { + callbacks.length && callbacks.shift()(); + } + }, + false + ); + + return (cb) => { + callbacks.push(cb); + _global.postMessage(token, '*'); + }; + })(`axios@${Math.random()}`, []) + : (cb) => setTimeout(cb); +})(typeof setImmediate === 'function', isFunction$1(_global.postMessage)); + +/** + * Schedules a microtask or asynchronous callback as soon as possible. + * Uses queueMicrotask if available, otherwise falls back to process.nextTick or _setImmediate. + * + * @type {Function} + */ +const asap = + typeof queueMicrotask !== 'undefined' + ? queueMicrotask.bind(_global) + : (typeof process !== 'undefined' && process.nextTick) || _setImmediate; + +// ********************* + +const isIterable = (thing) => thing != null && isFunction$1(thing[iterator]); + +var utils$1 = { + isArray, + isArrayBuffer, + isBuffer, + isFormData, + isArrayBufferView, + isString, + isNumber, + isBoolean, + isObject, + isPlainObject, + isEmptyObject, + isReadableStream, + isRequest, + isResponse, + isHeaders, + isUndefined, + isDate, + isFile, + isReactNativeBlob, + isReactNative, + isBlob, + isRegExp, + isFunction: isFunction$1, + isStream, + isURLSearchParams, + isTypedArray, + isFileList, + forEach, + merge, + extend, + trim, + stripBOM, + inherits, + toFlatObject, + kindOf, + kindOfTest, + endsWith, + toArray, + forEachEntry, + matchAll, + isHTMLForm, + hasOwnProperty, + hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection + reduceDescriptors, + freezeMethods, + toObjectSet, + toCamelCase, + noop, + toFiniteNumber, + findKey, + global: _global, + isContextDefined, + isSpecCompliantForm, + toJSONObject, + isAsyncFn, + isThenable, + setImmediate: _setImmediate, + asap, + isIterable, +}; + +class AxiosError extends Error { + static from(error, code, config, request, response, customProps) { + const axiosError = new AxiosError(error.message, code || error.code, config, request, response); + axiosError.cause = error; + axiosError.name = error.name; + + // Preserve status from the original error if not already set from response + if (error.status != null && axiosError.status == null) { + axiosError.status = error.status; + } + + customProps && Object.assign(axiosError, customProps); + return axiosError; + } + + /** + * Create an Error with the specified message, config, error code, request and response. + * + * @param {string} message The error message. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [config] The config. + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * + * @returns {Error} The created error. + */ + constructor(message, code, config, request, response) { + super(message); + + // Make message enumerable to maintain backward compatibility + // The native Error constructor sets message as non-enumerable, + // but axios < v1.13.3 had it as enumerable + Object.defineProperty(this, 'message', { + value: message, + enumerable: true, + writable: true, + configurable: true + }); + + this.name = 'AxiosError'; + this.isAxiosError = true; + code && (this.code = code); + config && (this.config = config); + request && (this.request = request); + if (response) { + this.response = response; + this.status = response.status; + } + } + + toJSON() { + return { + // Standard + message: this.message, + name: this.name, + // Microsoft + description: this.description, + number: this.number, + // Mozilla + fileName: this.fileName, + lineNumber: this.lineNumber, + columnNumber: this.columnNumber, + stack: this.stack, + // Axios + config: utils$1.toJSONObject(this.config), + code: this.code, + status: this.status, + }; + } +} + +// This can be changed to static properties as soon as the parser options in .eslint.cjs are updated. +AxiosError.ERR_BAD_OPTION_VALUE = 'ERR_BAD_OPTION_VALUE'; +AxiosError.ERR_BAD_OPTION = 'ERR_BAD_OPTION'; +AxiosError.ECONNABORTED = 'ECONNABORTED'; +AxiosError.ETIMEDOUT = 'ETIMEDOUT'; +AxiosError.ERR_NETWORK = 'ERR_NETWORK'; +AxiosError.ERR_FR_TOO_MANY_REDIRECTS = 'ERR_FR_TOO_MANY_REDIRECTS'; +AxiosError.ERR_DEPRECATED = 'ERR_DEPRECATED'; +AxiosError.ERR_BAD_RESPONSE = 'ERR_BAD_RESPONSE'; +AxiosError.ERR_BAD_REQUEST = 'ERR_BAD_REQUEST'; +AxiosError.ERR_CANCELED = 'ERR_CANCELED'; +AxiosError.ERR_NOT_SUPPORT = 'ERR_NOT_SUPPORT'; +AxiosError.ERR_INVALID_URL = 'ERR_INVALID_URL'; + +// eslint-disable-next-line strict +var httpAdapter = null; + +/** + * Determines if the given thing is a array or js object. + * + * @param {string} thing - The object or array to be visited. + * + * @returns {boolean} + */ +function isVisitable(thing) { + return utils$1.isPlainObject(thing) || utils$1.isArray(thing); +} + +/** + * It removes the brackets from the end of a string + * + * @param {string} key - The key of the parameter. + * + * @returns {string} the key without the brackets. + */ +function removeBrackets(key) { + return utils$1.endsWith(key, '[]') ? key.slice(0, -2) : key; +} + +/** + * It takes a path, a key, and a boolean, and returns a string + * + * @param {string} path - The path to the current key. + * @param {string} key - The key of the current object being iterated over. + * @param {string} dots - If true, the key will be rendered with dots instead of brackets. + * + * @returns {string} The path to the current key. + */ +function renderKey(path, key, dots) { + if (!path) return key; + return path + .concat(key) + .map(function each(token, i) { + // eslint-disable-next-line no-param-reassign + token = removeBrackets(token); + return !dots && i ? '[' + token + ']' : token; + }) + .join(dots ? '.' : ''); +} + +/** + * If the array is an array and none of its elements are visitable, then it's a flat array. + * + * @param {Array} arr - The array to check + * + * @returns {boolean} + */ +function isFlatArray(arr) { + return utils$1.isArray(arr) && !arr.some(isVisitable); +} + +const predicates = utils$1.toFlatObject(utils$1, {}, null, function filter(prop) { + return /^is[A-Z]/.test(prop); +}); + +/** + * Convert a data object to FormData + * + * @param {Object} obj + * @param {?Object} [formData] + * @param {?Object} [options] + * @param {Function} [options.visitor] + * @param {Boolean} [options.metaTokens = true] + * @param {Boolean} [options.dots = false] + * @param {?Boolean} [options.indexes = false] + * + * @returns {Object} + **/ + +/** + * It converts an object into a FormData object + * + * @param {Object} obj - The object to convert to form data. + * @param {string} formData - The FormData object to append to. + * @param {Object} options + * + * @returns + */ +function toFormData(obj, formData, options) { + if (!utils$1.isObject(obj)) { + throw new TypeError('target must be an object'); + } + + // eslint-disable-next-line no-param-reassign + formData = formData || new (FormData)(); + + // eslint-disable-next-line no-param-reassign + options = utils$1.toFlatObject( + options, + { + metaTokens: true, + dots: false, + indexes: false, + }, + false, + function defined(option, source) { + // eslint-disable-next-line no-eq-null,eqeqeq + return !utils$1.isUndefined(source[option]); + } + ); + + const metaTokens = options.metaTokens; + // eslint-disable-next-line no-use-before-define + const visitor = options.visitor || defaultVisitor; + const dots = options.dots; + const indexes = options.indexes; + const _Blob = options.Blob || (typeof Blob !== 'undefined' && Blob); + const useBlob = _Blob && utils$1.isSpecCompliantForm(formData); + + if (!utils$1.isFunction(visitor)) { + throw new TypeError('visitor must be a function'); + } + + function convertValue(value) { + if (value === null) return ''; + + if (utils$1.isDate(value)) { + return value.toISOString(); + } + + if (utils$1.isBoolean(value)) { + return value.toString(); + } + + if (!useBlob && utils$1.isBlob(value)) { + throw new AxiosError('Blob is not supported. Use a Buffer instead.'); + } + + if (utils$1.isArrayBuffer(value) || utils$1.isTypedArray(value)) { + return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value); + } + + return value; + } + + /** + * Default visitor. + * + * @param {*} value + * @param {String|Number} key + * @param {Array} path + * @this {FormData} + * + * @returns {boolean} return true to visit the each prop of the value recursively + */ + function defaultVisitor(value, key, path) { + let arr = value; + + if (utils$1.isReactNative(formData) && utils$1.isReactNativeBlob(value)) { + formData.append(renderKey(path, key, dots), convertValue(value)); + return false; + } + + if (value && !path && typeof value === 'object') { + if (utils$1.endsWith(key, '{}')) { + // eslint-disable-next-line no-param-reassign + key = metaTokens ? key : key.slice(0, -2); + // eslint-disable-next-line no-param-reassign + value = JSON.stringify(value); + } else if ( + (utils$1.isArray(value) && isFlatArray(value)) || + ((utils$1.isFileList(value) || utils$1.endsWith(key, '[]')) && (arr = utils$1.toArray(value))) + ) { + // eslint-disable-next-line no-param-reassign + key = removeBrackets(key); + + arr.forEach(function each(el, index) { + !(utils$1.isUndefined(el) || el === null) && + formData.append( + // eslint-disable-next-line no-nested-ternary + indexes === true + ? renderKey([key], index, dots) + : indexes === null + ? key + : key + '[]', + convertValue(el) + ); + }); + return false; + } + } + + if (isVisitable(value)) { + return true; + } + + formData.append(renderKey(path, key, dots), convertValue(value)); + + return false; + } + + const stack = []; + + const exposedHelpers = Object.assign(predicates, { + defaultVisitor, + convertValue, + isVisitable, + }); + + function build(value, path) { + if (utils$1.isUndefined(value)) return; + + if (stack.indexOf(value) !== -1) { + throw Error('Circular reference detected in ' + path.join('.')); + } + + stack.push(value); + + utils$1.forEach(value, function each(el, key) { + const result = + !(utils$1.isUndefined(el) || el === null) && + visitor.call(formData, el, utils$1.isString(key) ? key.trim() : key, path, exposedHelpers); + + if (result === true) { + build(el, path ? path.concat(key) : [key]); + } + }); + + stack.pop(); + } + + if (!utils$1.isObject(obj)) { + throw new TypeError('data must be an object'); + } + + build(obj); + + return formData; +} + +/** + * It encodes a string by replacing all characters that are not in the unreserved set with + * their percent-encoded equivalents + * + * @param {string} str - The string to encode. + * + * @returns {string} The encoded string. + */ +function encode$1(str) { + const charMap = { + '!': '%21', + "'": '%27', + '(': '%28', + ')': '%29', + '~': '%7E', + '%20': '+', + '%00': '\x00', + }; + return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { + return charMap[match]; + }); +} + +/** + * It takes a params object and converts it to a FormData object + * + * @param {Object} params - The parameters to be converted to a FormData object. + * @param {Object} options - The options object passed to the Axios constructor. + * + * @returns {void} + */ +function AxiosURLSearchParams(params, options) { + this._pairs = []; + + params && toFormData(params, this, options); +} + +const prototype = AxiosURLSearchParams.prototype; + +prototype.append = function append(name, value) { + this._pairs.push([name, value]); +}; + +prototype.toString = function toString(encoder) { + const _encode = encoder + ? function (value) { + return encoder.call(this, value, encode$1); + } + : encode$1; + + return this._pairs + .map(function each(pair) { + return _encode(pair[0]) + '=' + _encode(pair[1]); + }, '') + .join('&'); +}; + +/** + * It replaces URL-encoded forms of `:`, `$`, `,`, and spaces with + * their plain counterparts (`:`, `$`, `,`, `+`). + * + * @param {string} val The value to be encoded. + * + * @returns {string} The encoded value. + */ +function encode(val) { + return encodeURIComponent(val) + .replace(/%3A/gi, ':') + .replace(/%24/g, '$') + .replace(/%2C/gi, ',') + .replace(/%20/g, '+'); +} + +/** + * Build a URL by appending params to the end + * + * @param {string} url The base of the url (e.g., http://www.google.com) + * @param {object} [params] The params to be appended + * @param {?(object|Function)} options + * + * @returns {string} The formatted url + */ +function buildURL(url, params, options) { + if (!params) { + return url; + } + + const _encode = (options && options.encode) || encode; + + const _options = utils$1.isFunction(options) + ? { + serialize: options, + } + : options; + + const serializeFn = _options && _options.serialize; + + let serializedParams; + + if (serializeFn) { + serializedParams = serializeFn(params, _options); + } else { + serializedParams = utils$1.isURLSearchParams(params) + ? params.toString() + : new AxiosURLSearchParams(params, _options).toString(_encode); + } + + if (serializedParams) { + const hashmarkIndex = url.indexOf('#'); + + if (hashmarkIndex !== -1) { + url = url.slice(0, hashmarkIndex); + } + url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; + } + + return url; +} + +class InterceptorManager { + constructor() { + this.handlers = []; + } + + /** + * Add a new interceptor to the stack + * + * @param {Function} fulfilled The function to handle `then` for a `Promise` + * @param {Function} rejected The function to handle `reject` for a `Promise` + * @param {Object} options The options for the interceptor, synchronous and runWhen + * + * @return {Number} An ID used to remove interceptor later + */ + use(fulfilled, rejected, options) { + this.handlers.push({ + fulfilled, + rejected, + synchronous: options ? options.synchronous : false, + runWhen: options ? options.runWhen : null, + }); + return this.handlers.length - 1; + } + + /** + * Remove an interceptor from the stack + * + * @param {Number} id The ID that was returned by `use` + * + * @returns {void} + */ + eject(id) { + if (this.handlers[id]) { + this.handlers[id] = null; + } + } + + /** + * Clear all interceptors from the stack + * + * @returns {void} + */ + clear() { + if (this.handlers) { + this.handlers = []; + } + } + + /** + * Iterate over all the registered interceptors + * + * This method is particularly useful for skipping over any + * interceptors that may have become `null` calling `eject`. + * + * @param {Function} fn The function to call for each interceptor + * + * @returns {void} + */ + forEach(fn) { + utils$1.forEach(this.handlers, function forEachHandler(h) { + if (h !== null) { + fn(h); + } + }); + } +} + +var transitionalDefaults = { + silentJSONParsing: true, + forcedJSONParsing: true, + clarifyTimeoutError: false, + legacyInterceptorReqResOrdering: true, +}; + +var URLSearchParams$1 = typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams; + +var FormData$1 = typeof FormData !== 'undefined' ? FormData : null; + +var Blob$1 = typeof Blob !== 'undefined' ? Blob : null; + +var platform$1 = { + isBrowser: true, + classes: { + URLSearchParams: URLSearchParams$1, + FormData: FormData$1, + Blob: Blob$1, + }, + protocols: ['http', 'https', 'file', 'blob', 'url', 'data'], +}; + +const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined'; + +const _navigator = (typeof navigator === 'object' && navigator) || undefined; + +/** + * Determine if we're running in a standard browser environment + * + * This allows axios to run in a web worker, and react-native. + * Both environments support XMLHttpRequest, but not fully standard globals. + * + * web workers: + * typeof window -> undefined + * typeof document -> undefined + * + * react-native: + * navigator.product -> 'ReactNative' + * nativescript + * navigator.product -> 'NativeScript' or 'NS' + * + * @returns {boolean} + */ +const hasStandardBrowserEnv = + hasBrowserEnv && + (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0); + +/** + * Determine if we're running in a standard browser webWorker environment + * + * Although the `isStandardBrowserEnv` method indicates that + * `allows axios to run in a web worker`, the WebWorker will still be + * filtered out due to its judgment standard + * `typeof window !== 'undefined' && typeof document !== 'undefined'`. + * This leads to a problem when axios post `FormData` in webWorker + */ +const hasStandardBrowserWebWorkerEnv = (() => { + return ( + typeof WorkerGlobalScope !== 'undefined' && + // eslint-disable-next-line no-undef + self instanceof WorkerGlobalScope && + typeof self.importScripts === 'function' + ); +})(); + +const origin = (hasBrowserEnv && window.location.href) || 'http://localhost'; + +var utils = /*#__PURE__*/Object.freeze({ + __proto__: null, + hasBrowserEnv: hasBrowserEnv, + hasStandardBrowserEnv: hasStandardBrowserEnv, + hasStandardBrowserWebWorkerEnv: hasStandardBrowserWebWorkerEnv, + navigator: _navigator, + origin: origin +}); + +var platform = { + ...utils, + ...platform$1, +}; + +function toURLEncodedForm(data, options) { + return toFormData(data, new platform.classes.URLSearchParams(), { + visitor: function (value, key, path, helpers) { + if (platform.isNode && utils$1.isBuffer(value)) { + this.append(key, value.toString('base64')); + return false; + } + + return helpers.defaultVisitor.apply(this, arguments); + }, + ...options, + }); +} + +/** + * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z'] + * + * @param {string} name - The name of the property to get. + * + * @returns An array of strings. + */ +function parsePropPath(name) { + // foo[x][y][z] + // foo.x.y.z + // foo-x-y-z + // foo x y z + return utils$1.matchAll(/\w+|\[(\w*)]/g, name).map((match) => { + return match[0] === '[]' ? '' : match[1] || match[0]; + }); +} + +/** + * Convert an array to an object. + * + * @param {Array} arr - The array to convert to an object. + * + * @returns An object with the same keys and values as the array. + */ +function arrayToObject(arr) { + const obj = {}; + const keys = Object.keys(arr); + let i; + const len = keys.length; + let key; + for (i = 0; i < len; i++) { + key = keys[i]; + obj[key] = arr[key]; + } + return obj; +} + +/** + * It takes a FormData object and returns a JavaScript object + * + * @param {string} formData The FormData object to convert to JSON. + * + * @returns {Object | null} The converted object. + */ +function formDataToJSON(formData) { + function buildPath(path, value, target, index) { + let name = path[index++]; + + if (name === '__proto__') return true; + + const isNumericKey = Number.isFinite(+name); + const isLast = index >= path.length; + name = !name && utils$1.isArray(target) ? target.length : name; + + if (isLast) { + if (utils$1.hasOwnProp(target, name)) { + target[name] = [target[name], value]; + } else { + target[name] = value; + } + + return !isNumericKey; + } + + if (!target[name] || !utils$1.isObject(target[name])) { + target[name] = []; + } + + const result = buildPath(path, value, target[name], index); + + if (result && utils$1.isArray(target[name])) { + target[name] = arrayToObject(target[name]); + } + + return !isNumericKey; + } + + if (utils$1.isFormData(formData) && utils$1.isFunction(formData.entries)) { + const obj = {}; + + utils$1.forEachEntry(formData, (name, value) => { + buildPath(parsePropPath(name), value, obj, 0); + }); + + return obj; + } + + return null; +} + +/** + * It takes a string, tries to parse it, and if it fails, it returns the stringified version + * of the input + * + * @param {any} rawValue - The value to be stringified. + * @param {Function} parser - A function that parses a string into a JavaScript object. + * @param {Function} encoder - A function that takes a value and returns a string. + * + * @returns {string} A stringified version of the rawValue. + */ +function stringifySafely(rawValue, parser, encoder) { + if (utils$1.isString(rawValue)) { + try { + (parser || JSON.parse)(rawValue); + return utils$1.trim(rawValue); + } catch (e) { + if (e.name !== 'SyntaxError') { + throw e; + } + } + } + + return (encoder || JSON.stringify)(rawValue); +} + +const defaults = { + transitional: transitionalDefaults, + + adapter: ['xhr', 'http', 'fetch'], + + transformRequest: [ + function transformRequest(data, headers) { + const contentType = headers.getContentType() || ''; + const hasJSONContentType = contentType.indexOf('application/json') > -1; + const isObjectPayload = utils$1.isObject(data); + + if (isObjectPayload && utils$1.isHTMLForm(data)) { + data = new FormData(data); + } + + const isFormData = utils$1.isFormData(data); + + if (isFormData) { + return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data; + } + + if ( + utils$1.isArrayBuffer(data) || + utils$1.isBuffer(data) || + utils$1.isStream(data) || + utils$1.isFile(data) || + utils$1.isBlob(data) || + utils$1.isReadableStream(data) + ) { + return data; + } + if (utils$1.isArrayBufferView(data)) { + return data.buffer; + } + if (utils$1.isURLSearchParams(data)) { + headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); + return data.toString(); + } + + let isFileList; + + if (isObjectPayload) { + if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { + return toURLEncodedForm(data, this.formSerializer).toString(); + } + + if ( + (isFileList = utils$1.isFileList(data)) || + contentType.indexOf('multipart/form-data') > -1 + ) { + const _FormData = this.env && this.env.FormData; + + return toFormData( + isFileList ? { 'files[]': data } : data, + _FormData && new _FormData(), + this.formSerializer + ); + } + } + + if (isObjectPayload || hasJSONContentType) { + headers.setContentType('application/json', false); + return stringifySafely(data); + } + + return data; + }, + ], + + transformResponse: [ + function transformResponse(data) { + const transitional = this.transitional || defaults.transitional; + const forcedJSONParsing = transitional && transitional.forcedJSONParsing; + const JSONRequested = this.responseType === 'json'; + + if (utils$1.isResponse(data) || utils$1.isReadableStream(data)) { + return data; + } + + if ( + data && + utils$1.isString(data) && + ((forcedJSONParsing && !this.responseType) || JSONRequested) + ) { + const silentJSONParsing = transitional && transitional.silentJSONParsing; + const strictJSONParsing = !silentJSONParsing && JSONRequested; + + try { + return JSON.parse(data, this.parseReviver); + } catch (e) { + if (strictJSONParsing) { + if (e.name === 'SyntaxError') { + throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response); + } + throw e; + } + } + } + + return data; + }, + ], + + /** + * A timeout in milliseconds to abort a request. If set to 0 (default) a + * timeout is not created. + */ + timeout: 0, + + xsrfCookieName: 'XSRF-TOKEN', + xsrfHeaderName: 'X-XSRF-TOKEN', + + maxContentLength: -1, + maxBodyLength: -1, + + env: { + FormData: platform.classes.FormData, + Blob: platform.classes.Blob, + }, + + validateStatus: function validateStatus(status) { + return status >= 200 && status < 300; + }, + + headers: { + common: { + Accept: 'application/json, text/plain, */*', + 'Content-Type': undefined, + }, + }, +}; + +utils$1.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => { + defaults.headers[method] = {}; +}); + +// RawAxiosHeaders whose duplicates are ignored by node +// c.f. https://nodejs.org/api/http.html#http_message_headers +const ignoreDuplicateOf = utils$1.toObjectSet([ + 'age', + 'authorization', + 'content-length', + 'content-type', + 'etag', + 'expires', + 'from', + 'host', + 'if-modified-since', + 'if-unmodified-since', + 'last-modified', + 'location', + 'max-forwards', + 'proxy-authorization', + 'referer', + 'retry-after', + 'user-agent', +]); + +/** + * Parse headers into an object + * + * ``` + * Date: Wed, 27 Aug 2014 08:58:49 GMT + * Content-Type: application/json + * Connection: keep-alive + * Transfer-Encoding: chunked + * ``` + * + * @param {String} rawHeaders Headers needing to be parsed + * + * @returns {Object} Headers parsed into an object + */ +var parseHeaders = (rawHeaders) => { + const parsed = {}; + let key; + let val; + let i; + + rawHeaders && + rawHeaders.split('\n').forEach(function parser(line) { + i = line.indexOf(':'); + key = line.substring(0, i).trim().toLowerCase(); + val = line.substring(i + 1).trim(); + + if (!key || (parsed[key] && ignoreDuplicateOf[key])) { + return; + } + + if (key === 'set-cookie') { + if (parsed[key]) { + parsed[key].push(val); + } else { + parsed[key] = [val]; + } + } else { + parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; + } + }); + + return parsed; +}; + +const $internals = Symbol('internals'); + +function normalizeHeader(header) { + return header && String(header).trim().toLowerCase(); +} + +function normalizeValue(value) { + if (value === false || value == null) { + return value; + } + + return utils$1.isArray(value) + ? value.map(normalizeValue) + : String(value).replace(/[\r\n]+$/, ''); +} + +function parseTokens(str) { + const tokens = Object.create(null); + const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; + let match; + + while ((match = tokensRE.exec(str))) { + tokens[match[1]] = match[2]; + } + + return tokens; +} + +const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); + +function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) { + if (utils$1.isFunction(filter)) { + return filter.call(this, value, header); + } + + if (isHeaderNameFilter) { + value = header; + } + + if (!utils$1.isString(value)) return; + + if (utils$1.isString(filter)) { + return value.indexOf(filter) !== -1; + } + + if (utils$1.isRegExp(filter)) { + return filter.test(value); + } +} + +function formatHeader(header) { + return header + .trim() + .toLowerCase() + .replace(/([a-z\d])(\w*)/g, (w, char, str) => { + return char.toUpperCase() + str; + }); +} + +function buildAccessors(obj, header) { + const accessorName = utils$1.toCamelCase(' ' + header); + + ['get', 'set', 'has'].forEach((methodName) => { + Object.defineProperty(obj, methodName + accessorName, { + value: function (arg1, arg2, arg3) { + return this[methodName].call(this, header, arg1, arg2, arg3); + }, + configurable: true, + }); + }); +} + +class AxiosHeaders { + constructor(headers) { + headers && this.set(headers); + } + + set(header, valueOrRewrite, rewrite) { + const self = this; + + function setHeader(_value, _header, _rewrite) { + const lHeader = normalizeHeader(_header); + + if (!lHeader) { + throw new Error('header name must be a non-empty string'); + } + + const key = utils$1.findKey(self, lHeader); + + if ( + !key || + self[key] === undefined || + _rewrite === true || + (_rewrite === undefined && self[key] !== false) + ) { + self[key || _header] = normalizeValue(_value); + } + } + + const setHeaders = (headers, _rewrite) => + utils$1.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite)); + + if (utils$1.isPlainObject(header) || header instanceof this.constructor) { + setHeaders(header, valueOrRewrite); + } else if (utils$1.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { + setHeaders(parseHeaders(header), valueOrRewrite); + } else if (utils$1.isObject(header) && utils$1.isIterable(header)) { + let obj = {}, + dest, + key; + for (const entry of header) { + if (!utils$1.isArray(entry)) { + throw TypeError('Object iterator must return a key-value pair'); + } + + obj[(key = entry[0])] = (dest = obj[key]) + ? utils$1.isArray(dest) + ? [...dest, entry[1]] + : [dest, entry[1]] + : entry[1]; + } + + setHeaders(obj, valueOrRewrite); + } else { + header != null && setHeader(valueOrRewrite, header, rewrite); + } + + return this; + } + + get(header, parser) { + header = normalizeHeader(header); + + if (header) { + const key = utils$1.findKey(this, header); + + if (key) { + const value = this[key]; + + if (!parser) { + return value; + } + + if (parser === true) { + return parseTokens(value); + } + + if (utils$1.isFunction(parser)) { + return parser.call(this, value, key); + } + + if (utils$1.isRegExp(parser)) { + return parser.exec(value); + } + + throw new TypeError('parser must be boolean|regexp|function'); + } + } + } + + has(header, matcher) { + header = normalizeHeader(header); + + if (header) { + const key = utils$1.findKey(this, header); + + return !!( + key && + this[key] !== undefined && + (!matcher || matchHeaderValue(this, this[key], key, matcher)) + ); + } + + return false; + } + + delete(header, matcher) { + const self = this; + let deleted = false; + + function deleteHeader(_header) { + _header = normalizeHeader(_header); + + if (_header) { + const key = utils$1.findKey(self, _header); + + if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) { + delete self[key]; + + deleted = true; + } + } + } + + if (utils$1.isArray(header)) { + header.forEach(deleteHeader); + } else { + deleteHeader(header); + } + + return deleted; + } + + clear(matcher) { + const keys = Object.keys(this); + let i = keys.length; + let deleted = false; + + while (i--) { + const key = keys[i]; + if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { + delete this[key]; + deleted = true; + } + } + + return deleted; + } + + normalize(format) { + const self = this; + const headers = {}; + + utils$1.forEach(this, (value, header) => { + const key = utils$1.findKey(headers, header); + + if (key) { + self[key] = normalizeValue(value); + delete self[header]; + return; + } + + const normalized = format ? formatHeader(header) : String(header).trim(); + + if (normalized !== header) { + delete self[header]; + } + + self[normalized] = normalizeValue(value); + + headers[normalized] = true; + }); + + return this; + } + + concat(...targets) { + return this.constructor.concat(this, ...targets); + } + + toJSON(asStrings) { + const obj = Object.create(null); + + utils$1.forEach(this, (value, header) => { + value != null && + value !== false && + (obj[header] = asStrings && utils$1.isArray(value) ? value.join(', ') : value); + }); + + return obj; + } + + [Symbol.iterator]() { + return Object.entries(this.toJSON())[Symbol.iterator](); + } + + toString() { + return Object.entries(this.toJSON()) + .map(([header, value]) => header + ': ' + value) + .join('\n'); + } + + getSetCookie() { + return this.get('set-cookie') || []; + } + + get [Symbol.toStringTag]() { + return 'AxiosHeaders'; + } + + static from(thing) { + return thing instanceof this ? thing : new this(thing); + } + + static concat(first, ...targets) { + const computed = new this(first); + + targets.forEach((target) => computed.set(target)); + + return computed; + } + + static accessor(header) { + const internals = + (this[$internals] = + this[$internals] = + { + accessors: {}, + }); + + const accessors = internals.accessors; + const prototype = this.prototype; + + function defineAccessor(_header) { + const lHeader = normalizeHeader(_header); + + if (!accessors[lHeader]) { + buildAccessors(prototype, _header); + accessors[lHeader] = true; + } + } + + utils$1.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); + + return this; + } +} + +AxiosHeaders.accessor([ + 'Content-Type', + 'Content-Length', + 'Accept', + 'Accept-Encoding', + 'User-Agent', + 'Authorization', +]); + +// reserved names hotfix +utils$1.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key) => { + let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set` + return { + get: () => value, + set(headerValue) { + this[mapped] = headerValue; + }, + }; +}); + +utils$1.freezeMethods(AxiosHeaders); + +/** + * Transform the data for a request or a response + * + * @param {Array|Function} fns A single function or Array of functions + * @param {?Object} response The response object + * + * @returns {*} The resulting transformed data + */ +function transformData(fns, response) { + const config = this || defaults; + const context = response || config; + const headers = AxiosHeaders.from(context.headers); + let data = context.data; + + utils$1.forEach(fns, function transform(fn) { + data = fn.call(config, data, headers.normalize(), response ? response.status : undefined); + }); + + headers.normalize(); + + return data; +} + +function isCancel(value) { + return !!(value && value.__CANCEL__); +} + +class CanceledError extends AxiosError { + /** + * A `CanceledError` is an object that is thrown when an operation is canceled. + * + * @param {string=} message The message. + * @param {Object=} config The config. + * @param {Object=} request The request. + * + * @returns {CanceledError} The created error. + */ + constructor(message, config, request) { + super(message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request); + this.name = 'CanceledError'; + this.__CANCEL__ = true; + } +} + +/** + * Resolve or reject a Promise based on response status. + * + * @param {Function} resolve A function that resolves the promise. + * @param {Function} reject A function that rejects the promise. + * @param {object} response The response. + * + * @returns {object} The response. + */ +function settle(resolve, reject, response) { + const validateStatus = response.config.validateStatus; + if (!response.status || !validateStatus || validateStatus(response.status)) { + resolve(response); + } else { + reject( + new AxiosError( + 'Request failed with status code ' + response.status, + [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][ + Math.floor(response.status / 100) - 4 + ], + response.config, + response.request, + response + ) + ); + } +} + +function parseProtocol(url) { + const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); + return (match && match[1]) || ''; +} + +/** + * Calculate data maxRate + * @param {Number} [samplesCount= 10] + * @param {Number} [min= 1000] + * @returns {Function} + */ +function speedometer(samplesCount, min) { + samplesCount = samplesCount || 10; + const bytes = new Array(samplesCount); + const timestamps = new Array(samplesCount); + let head = 0; + let tail = 0; + let firstSampleTS; + + min = min !== undefined ? min : 1000; + + return function push(chunkLength) { + const now = Date.now(); + + const startedAt = timestamps[tail]; + + if (!firstSampleTS) { + firstSampleTS = now; + } + + bytes[head] = chunkLength; + timestamps[head] = now; + + let i = tail; + let bytesCount = 0; + + while (i !== head) { + bytesCount += bytes[i++]; + i = i % samplesCount; + } + + head = (head + 1) % samplesCount; + + if (head === tail) { + tail = (tail + 1) % samplesCount; + } + + if (now - firstSampleTS < min) { + return; + } + + const passed = startedAt && now - startedAt; + + return passed ? Math.round((bytesCount * 1000) / passed) : undefined; + }; +} + +/** + * Throttle decorator + * @param {Function} fn + * @param {Number} freq + * @return {Function} + */ +function throttle(fn, freq) { + let timestamp = 0; + let threshold = 1000 / freq; + let lastArgs; + let timer; + + const invoke = (args, now = Date.now()) => { + timestamp = now; + lastArgs = null; + if (timer) { + clearTimeout(timer); + timer = null; + } + fn(...args); + }; + + const throttled = (...args) => { + const now = Date.now(); + const passed = now - timestamp; + if (passed >= threshold) { + invoke(args, now); + } else { + lastArgs = args; + if (!timer) { + timer = setTimeout(() => { + timer = null; + invoke(lastArgs); + }, threshold - passed); + } + } + }; + + const flush = () => lastArgs && invoke(lastArgs); + + return [throttled, flush]; +} + +const progressEventReducer = (listener, isDownloadStream, freq = 3) => { + let bytesNotified = 0; + const _speedometer = speedometer(50, 250); + + return throttle((e) => { + const loaded = e.loaded; + const total = e.lengthComputable ? e.total : undefined; + const progressBytes = loaded - bytesNotified; + const rate = _speedometer(progressBytes); + const inRange = loaded <= total; + + bytesNotified = loaded; + + const data = { + loaded, + total, + progress: total ? loaded / total : undefined, + bytes: progressBytes, + rate: rate ? rate : undefined, + estimated: rate && total && inRange ? (total - loaded) / rate : undefined, + event: e, + lengthComputable: total != null, + [isDownloadStream ? 'download' : 'upload']: true, + }; + + listener(data); + }, freq); +}; + +const progressEventDecorator = (total, throttled) => { + const lengthComputable = total != null; + + return [ + (loaded) => + throttled[0]({ + lengthComputable, + total, + loaded, + }), + throttled[1], + ]; +}; + +const asyncDecorator = + (fn) => + (...args) => + utils$1.asap(() => fn(...args)); + +var isURLSameOrigin = platform.hasStandardBrowserEnv + ? ((origin, isMSIE) => (url) => { + url = new URL(url, platform.origin); + + return ( + origin.protocol === url.protocol && + origin.host === url.host && + (isMSIE || origin.port === url.port) + ); + })( + new URL(platform.origin), + platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent) + ) + : () => true; + +var cookies = platform.hasStandardBrowserEnv + ? // Standard browser envs support document.cookie + { + write(name, value, expires, path, domain, secure, sameSite) { + if (typeof document === 'undefined') return; + + const cookie = [`${name}=${encodeURIComponent(value)}`]; + + if (utils$1.isNumber(expires)) { + cookie.push(`expires=${new Date(expires).toUTCString()}`); + } + if (utils$1.isString(path)) { + cookie.push(`path=${path}`); + } + if (utils$1.isString(domain)) { + cookie.push(`domain=${domain}`); + } + if (secure === true) { + cookie.push('secure'); + } + if (utils$1.isString(sameSite)) { + cookie.push(`SameSite=${sameSite}`); + } + + document.cookie = cookie.join('; '); + }, + + read(name) { + if (typeof document === 'undefined') return null; + const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)')); + return match ? decodeURIComponent(match[1]) : null; + }, + + remove(name) { + this.write(name, '', Date.now() - 86400000, '/'); + }, + } + : // Non-standard browser env (web workers, react-native) lack needed support. + { + write() {}, + read() { + return null; + }, + remove() {}, + }; + +/** + * Determines whether the specified URL is absolute + * + * @param {string} url The URL to test + * + * @returns {boolean} True if the specified URL is absolute, otherwise false + */ +function isAbsoluteURL(url) { + // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). + // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed + // by any combination of letters, digits, plus, period, or hyphen. + if (typeof url !== 'string') { + return false; + } + + return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); +} + +/** + * Creates a new URL by combining the specified URLs + * + * @param {string} baseURL The base URL + * @param {string} relativeURL The relative URL + * + * @returns {string} The combined URL + */ +function combineURLs(baseURL, relativeURL) { + return relativeURL + ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '') + : baseURL; +} + +/** + * Creates a new URL by combining the baseURL with the requestedURL, + * only when the requestedURL is not already an absolute URL. + * If the requestURL is absolute, this function returns the requestedURL untouched. + * + * @param {string} baseURL The base URL + * @param {string} requestedURL Absolute or relative URL to combine + * + * @returns {string} The combined full path + */ +function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) { + let isRelativeUrl = !isAbsoluteURL(requestedURL); + if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) { + return combineURLs(baseURL, requestedURL); + } + return requestedURL; +} + +const headersToObject = (thing) => (thing instanceof AxiosHeaders ? { ...thing } : thing); + +/** + * Config-specific merge-function which creates a new config-object + * by merging two configuration objects together. + * + * @param {Object} config1 + * @param {Object} config2 + * + * @returns {Object} New object resulting from merging config2 to config1 + */ +function mergeConfig(config1, config2) { + // eslint-disable-next-line no-param-reassign + config2 = config2 || {}; + const config = {}; + + function getMergedValue(target, source, prop, caseless) { + if (utils$1.isPlainObject(target) && utils$1.isPlainObject(source)) { + return utils$1.merge.call({ caseless }, target, source); + } else if (utils$1.isPlainObject(source)) { + return utils$1.merge({}, source); + } else if (utils$1.isArray(source)) { + return source.slice(); + } + return source; + } + + function mergeDeepProperties(a, b, prop, caseless) { + if (!utils$1.isUndefined(b)) { + return getMergedValue(a, b, prop, caseless); + } else if (!utils$1.isUndefined(a)) { + return getMergedValue(undefined, a, prop, caseless); + } + } + + // eslint-disable-next-line consistent-return + function valueFromConfig2(a, b) { + if (!utils$1.isUndefined(b)) { + return getMergedValue(undefined, b); + } + } + + // eslint-disable-next-line consistent-return + function defaultToConfig2(a, b) { + if (!utils$1.isUndefined(b)) { + return getMergedValue(undefined, b); + } else if (!utils$1.isUndefined(a)) { + return getMergedValue(undefined, a); + } + } + + // eslint-disable-next-line consistent-return + function mergeDirectKeys(a, b, prop) { + if (prop in config2) { + return getMergedValue(a, b); + } else if (prop in config1) { + return getMergedValue(undefined, a); + } + } + + const mergeMap = { + url: valueFromConfig2, + method: valueFromConfig2, + data: valueFromConfig2, + baseURL: defaultToConfig2, + transformRequest: defaultToConfig2, + transformResponse: defaultToConfig2, + paramsSerializer: defaultToConfig2, + timeout: defaultToConfig2, + timeoutMessage: defaultToConfig2, + withCredentials: defaultToConfig2, + withXSRFToken: defaultToConfig2, + adapter: defaultToConfig2, + responseType: defaultToConfig2, + xsrfCookieName: defaultToConfig2, + xsrfHeaderName: defaultToConfig2, + onUploadProgress: defaultToConfig2, + onDownloadProgress: defaultToConfig2, + decompress: defaultToConfig2, + maxContentLength: defaultToConfig2, + maxBodyLength: defaultToConfig2, + beforeRedirect: defaultToConfig2, + transport: defaultToConfig2, + httpAgent: defaultToConfig2, + httpsAgent: defaultToConfig2, + cancelToken: defaultToConfig2, + socketPath: defaultToConfig2, + responseEncoding: defaultToConfig2, + validateStatus: mergeDirectKeys, + headers: (a, b, prop) => + mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true), + }; + + utils$1.forEach(Object.keys({ ...config1, ...config2 }), function computeConfigValue(prop) { + if (prop === '__proto__' || prop === 'constructor' || prop === 'prototype') return; + const merge = utils$1.hasOwnProp(mergeMap, prop) ? mergeMap[prop] : mergeDeepProperties; + const configValue = merge(config1[prop], config2[prop], prop); + (utils$1.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue); + }); + + return config; +} + +var resolveConfig = (config) => { + const newConfig = mergeConfig({}, config); + + let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig; + + newConfig.headers = headers = AxiosHeaders.from(headers); + + newConfig.url = buildURL( + buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), + config.params, + config.paramsSerializer + ); + + // HTTP basic authentication + if (auth) { + headers.set( + 'Authorization', + 'Basic ' + + btoa( + (auth.username || '') + + ':' + + (auth.password ? unescape(encodeURIComponent(auth.password)) : '') + ) + ); + } + + if (utils$1.isFormData(data)) { + if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) { + headers.setContentType(undefined); // browser handles it + } else if (utils$1.isFunction(data.getHeaders)) { + // Node.js FormData (like form-data package) + const formHeaders = data.getHeaders(); + // Only set safe headers to avoid overwriting security headers + const allowedHeaders = ['content-type', 'content-length']; + Object.entries(formHeaders).forEach(([key, val]) => { + if (allowedHeaders.includes(key.toLowerCase())) { + headers.set(key, val); + } + }); + } + } + + // Add xsrf header + // This is only done if running in a standard browser environment. + // Specifically not if we're in a web worker, or react-native. + + if (platform.hasStandardBrowserEnv) { + withXSRFToken && utils$1.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig)); + + if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) { + // Add xsrf header + const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName); + + if (xsrfValue) { + headers.set(xsrfHeaderName, xsrfValue); + } + } + } + + return newConfig; +}; + +const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; + +var xhrAdapter = isXHRAdapterSupported && + function (config) { + return new Promise(function dispatchXhrRequest(resolve, reject) { + const _config = resolveConfig(config); + let requestData = _config.data; + const requestHeaders = AxiosHeaders.from(_config.headers).normalize(); + let { responseType, onUploadProgress, onDownloadProgress } = _config; + let onCanceled; + let uploadThrottled, downloadThrottled; + let flushUpload, flushDownload; + + function done() { + flushUpload && flushUpload(); // flush events + flushDownload && flushDownload(); // flush events + + _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled); + + _config.signal && _config.signal.removeEventListener('abort', onCanceled); + } + + let request = new XMLHttpRequest(); + + request.open(_config.method.toUpperCase(), _config.url, true); + + // Set the request timeout in MS + request.timeout = _config.timeout; + + function onloadend() { + if (!request) { + return; + } + // Prepare the response + const responseHeaders = AxiosHeaders.from( + 'getAllResponseHeaders' in request && request.getAllResponseHeaders() + ); + const responseData = + !responseType || responseType === 'text' || responseType === 'json' + ? request.responseText + : request.response; + const response = { + data: responseData, + status: request.status, + statusText: request.statusText, + headers: responseHeaders, + config, + request, + }; + + settle( + function _resolve(value) { + resolve(value); + done(); + }, + function _reject(err) { + reject(err); + done(); + }, + response + ); + + // Clean up request + request = null; + } + + if ('onloadend' in request) { + // Use onloadend if available + request.onloadend = onloadend; + } else { + // Listen for ready state to emulate onloadend + request.onreadystatechange = function handleLoad() { + if (!request || request.readyState !== 4) { + return; + } + + // The request errored out and we didn't get a response, this will be + // handled by onerror instead + // With one exception: request that using file: protocol, most browsers + // will return status as 0 even though it's a successful request + if ( + request.status === 0 && + !(request.responseURL && request.responseURL.indexOf('file:') === 0) + ) { + return; + } + // readystate handler is calling before onerror or ontimeout handlers, + // so we should call onloadend on the next 'tick' + setTimeout(onloadend); + }; + } + + // Handle browser request cancellation (as opposed to a manual cancellation) + request.onabort = function handleAbort() { + if (!request) { + return; + } + + reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request)); + + // Clean up request + request = null; + }; + + // Handle low level network errors + request.onerror = function handleError(event) { + // Browsers deliver a ProgressEvent in XHR onerror + // (message may be empty; when present, surface it) + // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event + const msg = event && event.message ? event.message : 'Network Error'; + const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request); + // attach the underlying event for consumers who want details + err.event = event || null; + reject(err); + request = null; + }; + + // Handle timeout + request.ontimeout = function handleTimeout() { + let timeoutErrorMessage = _config.timeout + ? 'timeout of ' + _config.timeout + 'ms exceeded' + : 'timeout exceeded'; + const transitional = _config.transitional || transitionalDefaults; + if (_config.timeoutErrorMessage) { + timeoutErrorMessage = _config.timeoutErrorMessage; + } + reject( + new AxiosError( + timeoutErrorMessage, + transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, + config, + request + ) + ); + + // Clean up request + request = null; + }; + + // Remove Content-Type if data is undefined + requestData === undefined && requestHeaders.setContentType(null); + + // Add headers to the request + if ('setRequestHeader' in request) { + utils$1.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { + request.setRequestHeader(key, val); + }); + } + + // Add withCredentials to request if needed + if (!utils$1.isUndefined(_config.withCredentials)) { + request.withCredentials = !!_config.withCredentials; + } + + // Add responseType to request if needed + if (responseType && responseType !== 'json') { + request.responseType = _config.responseType; + } + + // Handle progress if needed + if (onDownloadProgress) { + [downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true); + request.addEventListener('progress', downloadThrottled); + } + + // Not all browsers support upload events + if (onUploadProgress && request.upload) { + [uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress); + + request.upload.addEventListener('progress', uploadThrottled); + + request.upload.addEventListener('loadend', flushUpload); + } + + if (_config.cancelToken || _config.signal) { + // Handle cancellation + // eslint-disable-next-line func-names + onCanceled = (cancel) => { + if (!request) { + return; + } + reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel); + request.abort(); + request = null; + }; + + _config.cancelToken && _config.cancelToken.subscribe(onCanceled); + if (_config.signal) { + _config.signal.aborted + ? onCanceled() + : _config.signal.addEventListener('abort', onCanceled); + } + } + + const protocol = parseProtocol(_config.url); + + if (protocol && platform.protocols.indexOf(protocol) === -1) { + reject( + new AxiosError( + 'Unsupported protocol ' + protocol + ':', + AxiosError.ERR_BAD_REQUEST, + config + ) + ); + return; + } + + // Send the request + request.send(requestData || null); + }); + }; + +const composeSignals = (signals, timeout) => { + const { length } = (signals = signals ? signals.filter(Boolean) : []); + + if (timeout || length) { + let controller = new AbortController(); + + let aborted; + + const onabort = function (reason) { + if (!aborted) { + aborted = true; + unsubscribe(); + const err = reason instanceof Error ? reason : this.reason; + controller.abort( + err instanceof AxiosError + ? err + : new CanceledError(err instanceof Error ? err.message : err) + ); + } + }; + + let timer = + timeout && + setTimeout(() => { + timer = null; + onabort(new AxiosError(`timeout of ${timeout}ms exceeded`, AxiosError.ETIMEDOUT)); + }, timeout); + + const unsubscribe = () => { + if (signals) { + timer && clearTimeout(timer); + timer = null; + signals.forEach((signal) => { + signal.unsubscribe + ? signal.unsubscribe(onabort) + : signal.removeEventListener('abort', onabort); + }); + signals = null; + } + }; + + signals.forEach((signal) => signal.addEventListener('abort', onabort)); + + const { signal } = controller; + + signal.unsubscribe = () => utils$1.asap(unsubscribe); + + return signal; + } +}; + +const streamChunk = function* (chunk, chunkSize) { + let len = chunk.byteLength; + + if (len < chunkSize) { + yield chunk; + return; + } + + let pos = 0; + let end; + + while (pos < len) { + end = pos + chunkSize; + yield chunk.slice(pos, end); + pos = end; + } +}; + +const readBytes = async function* (iterable, chunkSize) { + for await (const chunk of readStream(iterable)) { + yield* streamChunk(chunk, chunkSize); + } +}; + +const readStream = async function* (stream) { + if (stream[Symbol.asyncIterator]) { + yield* stream; + return; + } + + const reader = stream.getReader(); + try { + for (;;) { + const { done, value } = await reader.read(); + if (done) { + break; + } + yield value; + } + } finally { + await reader.cancel(); + } +}; + +const trackStream = (stream, chunkSize, onProgress, onFinish) => { + const iterator = readBytes(stream, chunkSize); + + let bytes = 0; + let done; + let _onFinish = (e) => { + if (!done) { + done = true; + onFinish && onFinish(e); + } + }; + + return new ReadableStream( + { + async pull(controller) { + try { + const { done, value } = await iterator.next(); + + if (done) { + _onFinish(); + controller.close(); + return; + } + + let len = value.byteLength; + if (onProgress) { + let loadedBytes = (bytes += len); + onProgress(loadedBytes); + } + controller.enqueue(new Uint8Array(value)); + } catch (err) { + _onFinish(err); + throw err; + } + }, + cancel(reason) { + _onFinish(reason); + return iterator.return(); + }, + }, + { + highWaterMark: 2, + } + ); +}; + +const DEFAULT_CHUNK_SIZE = 64 * 1024; + +const { isFunction } = utils$1; + +const globalFetchAPI = (({ Request, Response }) => ({ + Request, + Response, +}))(utils$1.global); + +const { ReadableStream: ReadableStream$1, TextEncoder } = utils$1.global; + +const test = (fn, ...args) => { + try { + return !!fn(...args); + } catch (e) { + return false; + } +}; + +const factory = (env) => { + env = utils$1.merge.call( + { + skipUndefined: true, + }, + globalFetchAPI, + env + ); + + const { fetch: envFetch, Request, Response } = env; + const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function'; + const isRequestSupported = isFunction(Request); + const isResponseSupported = isFunction(Response); + + if (!isFetchSupported) { + return false; + } + + const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream$1); + + const encodeText = + isFetchSupported && + (typeof TextEncoder === 'function' + ? ( + (encoder) => (str) => + encoder.encode(str) + )(new TextEncoder()) + : async (str) => new Uint8Array(await new Request(str).arrayBuffer())); + + const supportsRequestStream = + isRequestSupported && + isReadableStreamSupported && + test(() => { + let duplexAccessed = false; + + const body = new ReadableStream$1(); + + const hasContentType = new Request(platform.origin, { + body, + method: 'POST', + get duplex() { + duplexAccessed = true; + return 'half'; + }, + }).headers.has('Content-Type'); + + body.cancel(); + + return duplexAccessed && !hasContentType; + }); + + const supportsResponseStream = + isResponseSupported && + isReadableStreamSupported && + test(() => utils$1.isReadableStream(new Response('').body)); + + const resolvers = { + stream: supportsResponseStream && ((res) => res.body), + }; + + isFetchSupported && + (() => { + ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach((type) => { + !resolvers[type] && + (resolvers[type] = (res, config) => { + let method = res && res[type]; + + if (method) { + return method.call(res); + } + + throw new AxiosError( + `Response type '${type}' is not supported`, + AxiosError.ERR_NOT_SUPPORT, + config + ); + }); + }); + })(); + + const getBodyLength = async (body) => { + if (body == null) { + return 0; + } + + if (utils$1.isBlob(body)) { + return body.size; + } + + if (utils$1.isSpecCompliantForm(body)) { + const _request = new Request(platform.origin, { + method: 'POST', + body, + }); + return (await _request.arrayBuffer()).byteLength; + } + + if (utils$1.isArrayBufferView(body) || utils$1.isArrayBuffer(body)) { + return body.byteLength; + } + + if (utils$1.isURLSearchParams(body)) { + body = body + ''; + } + + if (utils$1.isString(body)) { + return (await encodeText(body)).byteLength; + } + }; + + const resolveBodyLength = async (headers, body) => { + const length = utils$1.toFiniteNumber(headers.getContentLength()); + + return length == null ? getBodyLength(body) : length; + }; + + return async (config) => { + let { + url, + method, + data, + signal, + cancelToken, + timeout, + onDownloadProgress, + onUploadProgress, + responseType, + headers, + withCredentials = 'same-origin', + fetchOptions, + } = resolveConfig(config); + + let _fetch = envFetch || fetch; + + responseType = responseType ? (responseType + '').toLowerCase() : 'text'; + + let composedSignal = composeSignals( + [signal, cancelToken && cancelToken.toAbortSignal()], + timeout + ); + + let request = null; + + const unsubscribe = + composedSignal && + composedSignal.unsubscribe && + (() => { + composedSignal.unsubscribe(); + }); + + let requestContentLength; + + try { + if ( + onUploadProgress && + supportsRequestStream && + method !== 'get' && + method !== 'head' && + (requestContentLength = await resolveBodyLength(headers, data)) !== 0 + ) { + let _request = new Request(url, { + method: 'POST', + body: data, + duplex: 'half', + }); + + let contentTypeHeader; + + if (utils$1.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) { + headers.setContentType(contentTypeHeader); + } + + if (_request.body) { + const [onProgress, flush] = progressEventDecorator( + requestContentLength, + progressEventReducer(asyncDecorator(onUploadProgress)) + ); + + data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush); + } + } + + if (!utils$1.isString(withCredentials)) { + withCredentials = withCredentials ? 'include' : 'omit'; + } + + // Cloudflare Workers throws when credentials are defined + // see https://github.com/cloudflare/workerd/issues/902 + const isCredentialsSupported = isRequestSupported && 'credentials' in Request.prototype; + + const resolvedOptions = { + ...fetchOptions, + signal: composedSignal, + method: method.toUpperCase(), + headers: headers.normalize().toJSON(), + body: data, + duplex: 'half', + credentials: isCredentialsSupported ? withCredentials : undefined, + }; + + request = isRequestSupported && new Request(url, resolvedOptions); + + let response = await (isRequestSupported + ? _fetch(request, fetchOptions) + : _fetch(url, resolvedOptions)); + + const isStreamResponse = + supportsResponseStream && (responseType === 'stream' || responseType === 'response'); + + if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) { + const options = {}; + + ['status', 'statusText', 'headers'].forEach((prop) => { + options[prop] = response[prop]; + }); + + const responseContentLength = utils$1.toFiniteNumber(response.headers.get('content-length')); + + const [onProgress, flush] = + (onDownloadProgress && + progressEventDecorator( + responseContentLength, + progressEventReducer(asyncDecorator(onDownloadProgress), true) + )) || + []; + + response = new Response( + trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => { + flush && flush(); + unsubscribe && unsubscribe(); + }), + options + ); + } + + responseType = responseType || 'text'; + + let responseData = await resolvers[utils$1.findKey(resolvers, responseType) || 'text']( + response, + config + ); + + !isStreamResponse && unsubscribe && unsubscribe(); + + return await new Promise((resolve, reject) => { + settle(resolve, reject, { + data: responseData, + headers: AxiosHeaders.from(response.headers), + status: response.status, + statusText: response.statusText, + config, + request, + }); + }); + } catch (err) { + unsubscribe && unsubscribe(); + + if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) { + throw Object.assign( + new AxiosError( + 'Network Error', + AxiosError.ERR_NETWORK, + config, + request, + err && err.response + ), + { + cause: err.cause || err, + } + ); + } + + throw AxiosError.from(err, err && err.code, config, request, err && err.response); + } + }; +}; + +const seedCache = new Map(); + +const getFetch = (config) => { + let env = (config && config.env) || {}; + const { fetch, Request, Response } = env; + const seeds = [Request, Response, fetch]; + + let len = seeds.length, + i = len, + seed, + target, + map = seedCache; + + while (i--) { + seed = seeds[i]; + target = map.get(seed); + + target === undefined && map.set(seed, (target = i ? new Map() : factory(env))); + + map = target; + } + + return target; +}; + +getFetch(); + +/** + * Known adapters mapping. + * Provides environment-specific adapters for Axios: + * - `http` for Node.js + * - `xhr` for browsers + * - `fetch` for fetch API-based requests + * + * @type {Object} + */ +const knownAdapters = { + http: httpAdapter, + xhr: xhrAdapter, + fetch: { + get: getFetch, + }, +}; + +// Assign adapter names for easier debugging and identification +utils$1.forEach(knownAdapters, (fn, value) => { + if (fn) { + try { + Object.defineProperty(fn, 'name', { value }); + } catch (e) { + // eslint-disable-next-line no-empty + } + Object.defineProperty(fn, 'adapterName', { value }); + } +}); + +/** + * Render a rejection reason string for unknown or unsupported adapters + * + * @param {string} reason + * @returns {string} + */ +const renderReason = (reason) => `- ${reason}`; + +/** + * Check if the adapter is resolved (function, null, or false) + * + * @param {Function|null|false} adapter + * @returns {boolean} + */ +const isResolvedHandle = (adapter) => + utils$1.isFunction(adapter) || adapter === null || adapter === false; + +/** + * Get the first suitable adapter from the provided list. + * Tries each adapter in order until a supported one is found. + * Throws an AxiosError if no adapter is suitable. + * + * @param {Array|string|Function} adapters - Adapter(s) by name or function. + * @param {Object} config - Axios request configuration + * @throws {AxiosError} If no suitable adapter is available + * @returns {Function} The resolved adapter function + */ +function getAdapter(adapters, config) { + adapters = utils$1.isArray(adapters) ? adapters : [adapters]; + + const { length } = adapters; + let nameOrAdapter; + let adapter; + + const rejectedReasons = {}; + + for (let i = 0; i < length; i++) { + nameOrAdapter = adapters[i]; + let id; + + adapter = nameOrAdapter; + + if (!isResolvedHandle(nameOrAdapter)) { + adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()]; + + if (adapter === undefined) { + throw new AxiosError(`Unknown adapter '${id}'`); + } + } + + if (adapter && (utils$1.isFunction(adapter) || (adapter = adapter.get(config)))) { + break; + } + + rejectedReasons[id || '#' + i] = adapter; + } + + if (!adapter) { + const reasons = Object.entries(rejectedReasons).map( + ([id, state]) => + `adapter ${id} ` + + (state === false ? 'is not supported by the environment' : 'is not available in the build') + ); + + let s = length + ? reasons.length > 1 + ? 'since :\n' + reasons.map(renderReason).join('\n') + : ' ' + renderReason(reasons[0]) + : 'as no adapter specified'; + + throw new AxiosError( + `There is no suitable adapter to dispatch the request ` + s, + 'ERR_NOT_SUPPORT' + ); + } + + return adapter; +} + +/** + * Exports Axios adapters and utility to resolve an adapter + */ +var adapters = { + /** + * Resolve an adapter from a list of adapter names or functions. + * @type {Function} + */ + getAdapter, + + /** + * Exposes all known adapters + * @type {Object} + */ + adapters: knownAdapters, +}; + +/** + * Throws a `CanceledError` if cancellation has been requested. + * + * @param {Object} config The config that is to be used for the request + * + * @returns {void} + */ +function throwIfCancellationRequested(config) { + if (config.cancelToken) { + config.cancelToken.throwIfRequested(); + } + + if (config.signal && config.signal.aborted) { + throw new CanceledError(null, config); + } +} + +/** + * Dispatch a request to the server using the configured adapter. + * + * @param {object} config The config that is to be used for the request + * + * @returns {Promise} The Promise to be fulfilled + */ +function dispatchRequest(config) { + throwIfCancellationRequested(config); + + config.headers = AxiosHeaders.from(config.headers); + + // Transform request data + config.data = transformData.call(config, config.transformRequest); + + if (['post', 'put', 'patch'].indexOf(config.method) !== -1) { + config.headers.setContentType('application/x-www-form-urlencoded', false); + } + + const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config); + + return adapter(config).then( + function onAdapterResolution(response) { + throwIfCancellationRequested(config); + + // Transform response data + response.data = transformData.call(config, config.transformResponse, response); + + response.headers = AxiosHeaders.from(response.headers); + + return response; + }, + function onAdapterRejection(reason) { + if (!isCancel(reason)) { + throwIfCancellationRequested(config); + + // Transform response data + if (reason && reason.response) { + reason.response.data = transformData.call( + config, + config.transformResponse, + reason.response + ); + reason.response.headers = AxiosHeaders.from(reason.response.headers); + } + } + + return Promise.reject(reason); + } + ); +} + +const VERSION = "1.14.0"; + +const validators$1 = {}; + +// eslint-disable-next-line func-names +['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => { + validators$1[type] = function validator(thing) { + return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type; + }; +}); + +const deprecatedWarnings = {}; + +/** + * Transitional option validator + * + * @param {function|boolean?} validator - set to false if the transitional option has been removed + * @param {string?} version - deprecated version / removed since version + * @param {string?} message - some message with additional info + * + * @returns {function} + */ +validators$1.transitional = function transitional(validator, version, message) { + function formatMessage(opt, desc) { + return ( + '[Axios v' + + VERSION + + "] Transitional option '" + + opt + + "'" + + desc + + (message ? '. ' + message : '') + ); + } + + // eslint-disable-next-line func-names + return (value, opt, opts) => { + if (validator === false) { + throw new AxiosError( + formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), + AxiosError.ERR_DEPRECATED + ); + } + + if (version && !deprecatedWarnings[opt]) { + deprecatedWarnings[opt] = true; + // eslint-disable-next-line no-console + console.warn( + formatMessage( + opt, + ' has been deprecated since v' + version + ' and will be removed in the near future' + ) + ); + } + + return validator ? validator(value, opt, opts) : true; + }; +}; + +validators$1.spelling = function spelling(correctSpelling) { + return (value, opt) => { + // eslint-disable-next-line no-console + console.warn(`${opt} is likely a misspelling of ${correctSpelling}`); + return true; + }; +}; + +/** + * Assert object's properties type + * + * @param {object} options + * @param {object} schema + * @param {boolean?} allowUnknown + * + * @returns {object} + */ + +function assertOptions(options, schema, allowUnknown) { + if (typeof options !== 'object') { + throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE); + } + const keys = Object.keys(options); + let i = keys.length; + while (i-- > 0) { + const opt = keys[i]; + const validator = schema[opt]; + if (validator) { + const value = options[opt]; + const result = value === undefined || validator(value, opt, options); + if (result !== true) { + throw new AxiosError( + 'option ' + opt + ' must be ' + result, + AxiosError.ERR_BAD_OPTION_VALUE + ); + } + continue; + } + if (allowUnknown !== true) { + throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION); + } + } +} + +var validator = { + assertOptions, + validators: validators$1, +}; + +const validators = validator.validators; + +/** + * Create a new instance of Axios + * + * @param {Object} instanceConfig The default config for the instance + * + * @return {Axios} A new instance of Axios + */ +class Axios { + constructor(instanceConfig) { + this.defaults = instanceConfig || {}; + this.interceptors = { + request: new InterceptorManager(), + response: new InterceptorManager(), + }; + } + + /** + * Dispatch a request + * + * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) + * @param {?Object} config + * + * @returns {Promise} The Promise to be fulfilled + */ + async request(configOrUrl, config) { + try { + return await this._request(configOrUrl, config); + } catch (err) { + if (err instanceof Error) { + let dummy = {}; + + Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error()); + + // slice off the Error: ... line + const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, '') : ''; + try { + if (!err.stack) { + err.stack = stack; + // match without the 2 top stack lines + } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ''))) { + err.stack += '\n' + stack; + } + } catch (e) { + // ignore the case where "stack" is an un-writable property + } + } + + throw err; + } + } + + _request(configOrUrl, config) { + /*eslint no-param-reassign:0*/ + // Allow for axios('example/url'[, config]) a la fetch API + if (typeof configOrUrl === 'string') { + config = config || {}; + config.url = configOrUrl; + } else { + config = configOrUrl || {}; + } + + config = mergeConfig(this.defaults, config); + + const { transitional, paramsSerializer, headers } = config; + + if (transitional !== undefined) { + validator.assertOptions( + transitional, + { + silentJSONParsing: validators.transitional(validators.boolean), + forcedJSONParsing: validators.transitional(validators.boolean), + clarifyTimeoutError: validators.transitional(validators.boolean), + legacyInterceptorReqResOrdering: validators.transitional(validators.boolean), + }, + false + ); + } + + if (paramsSerializer != null) { + if (utils$1.isFunction(paramsSerializer)) { + config.paramsSerializer = { + serialize: paramsSerializer, + }; + } else { + validator.assertOptions( + paramsSerializer, + { + encode: validators.function, + serialize: validators.function, + }, + true + ); + } + } + + // Set config.allowAbsoluteUrls + if (config.allowAbsoluteUrls !== undefined) ; else if (this.defaults.allowAbsoluteUrls !== undefined) { + config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls; + } else { + config.allowAbsoluteUrls = true; + } + + validator.assertOptions( + config, + { + baseUrl: validators.spelling('baseURL'), + withXsrfToken: validators.spelling('withXSRFToken'), + }, + true + ); + + // Set config.method + config.method = (config.method || this.defaults.method || 'get').toLowerCase(); + + // Flatten headers + let contextHeaders = headers && utils$1.merge(headers.common, headers[config.method]); + + headers && + utils$1.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], (method) => { + delete headers[method]; + }); + + config.headers = AxiosHeaders.concat(contextHeaders, headers); + + // filter out skipped interceptors + const requestInterceptorChain = []; + let synchronousRequestInterceptors = true; + this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { + if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { + return; + } + + synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; + + const transitional = config.transitional || transitionalDefaults; + const legacyInterceptorReqResOrdering = + transitional && transitional.legacyInterceptorReqResOrdering; + + if (legacyInterceptorReqResOrdering) { + requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); + } else { + requestInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); + } + }); + + const responseInterceptorChain = []; + this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { + responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); + }); + + let promise; + let i = 0; + let len; + + if (!synchronousRequestInterceptors) { + const chain = [dispatchRequest.bind(this), undefined]; + chain.unshift(...requestInterceptorChain); + chain.push(...responseInterceptorChain); + len = chain.length; + + promise = Promise.resolve(config); + + while (i < len) { + promise = promise.then(chain[i++], chain[i++]); + } + + return promise; + } + + len = requestInterceptorChain.length; + + let newConfig = config; + + while (i < len) { + const onFulfilled = requestInterceptorChain[i++]; + const onRejected = requestInterceptorChain[i++]; + try { + newConfig = onFulfilled(newConfig); + } catch (error) { + onRejected.call(this, error); + break; + } + } + + try { + promise = dispatchRequest.call(this, newConfig); + } catch (error) { + return Promise.reject(error); + } + + i = 0; + len = responseInterceptorChain.length; + + while (i < len) { + promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); + } + + return promise; + } + + getUri(config) { + config = mergeConfig(this.defaults, config); + const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls); + return buildURL(fullPath, config.params, config.paramsSerializer); + } +} + +// Provide aliases for supported request methods +utils$1.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function (url, config) { + return this.request( + mergeConfig(config || {}, { + method, + url, + data: (config || {}).data, + }) + ); + }; +}); + +utils$1.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + function generateHTTPMethod(isForm) { + return function httpMethod(url, data, config) { + return this.request( + mergeConfig(config || {}, { + method, + headers: isForm + ? { + 'Content-Type': 'multipart/form-data', + } + : {}, + url, + data, + }) + ); + }; + } + + Axios.prototype[method] = generateHTTPMethod(); + + Axios.prototype[method + 'Form'] = generateHTTPMethod(true); +}); + +/** + * A `CancelToken` is an object that can be used to request cancellation of an operation. + * + * @param {Function} executor The executor function. + * + * @returns {CancelToken} + */ +class CancelToken { + constructor(executor) { + if (typeof executor !== 'function') { + throw new TypeError('executor must be a function.'); + } + + let resolvePromise; + + this.promise = new Promise(function promiseExecutor(resolve) { + resolvePromise = resolve; + }); + + const token = this; + + // eslint-disable-next-line func-names + this.promise.then((cancel) => { + if (!token._listeners) return; + + let i = token._listeners.length; + + while (i-- > 0) { + token._listeners[i](cancel); + } + token._listeners = null; + }); + + // eslint-disable-next-line func-names + this.promise.then = (onfulfilled) => { + let _resolve; + // eslint-disable-next-line func-names + const promise = new Promise((resolve) => { + token.subscribe(resolve); + _resolve = resolve; + }).then(onfulfilled); + + promise.cancel = function reject() { + token.unsubscribe(_resolve); + }; + + return promise; + }; + + executor(function cancel(message, config, request) { + if (token.reason) { + // Cancellation has already been requested + return; + } + + token.reason = new CanceledError(message, config, request); + resolvePromise(token.reason); + }); + } + + /** + * Throws a `CanceledError` if cancellation has been requested. + */ + throwIfRequested() { + if (this.reason) { + throw this.reason; + } + } + + /** + * Subscribe to the cancel signal + */ + + subscribe(listener) { + if (this.reason) { + listener(this.reason); + return; + } + + if (this._listeners) { + this._listeners.push(listener); + } else { + this._listeners = [listener]; + } + } + + /** + * Unsubscribe from the cancel signal + */ + + unsubscribe(listener) { + if (!this._listeners) { + return; + } + const index = this._listeners.indexOf(listener); + if (index !== -1) { + this._listeners.splice(index, 1); + } + } + + toAbortSignal() { + const controller = new AbortController(); + + const abort = (err) => { + controller.abort(err); + }; + + this.subscribe(abort); + + controller.signal.unsubscribe = () => this.unsubscribe(abort); + + return controller.signal; + } + + /** + * Returns an object that contains a new `CancelToken` and a function that, when called, + * cancels the `CancelToken`. + */ + static source() { + let cancel; + const token = new CancelToken(function executor(c) { + cancel = c; + }); + return { + token, + cancel, + }; + } +} + +/** + * Syntactic sugar for invoking a function and expanding an array for arguments. + * + * Common use case would be to use `Function.prototype.apply`. + * + * ```js + * function f(x, y, z) {} + * const args = [1, 2, 3]; + * f.apply(null, args); + * ``` + * + * With `spread` this example can be re-written. + * + * ```js + * spread(function(x, y, z) {})([1, 2, 3]); + * ``` + * + * @param {Function} callback + * + * @returns {Function} + */ +function spread(callback) { + return function wrap(arr) { + return callback.apply(null, arr); + }; +} + +/** + * Determines whether the payload is an error thrown by Axios + * + * @param {*} payload The value to test + * + * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false + */ +function isAxiosError(payload) { + return utils$1.isObject(payload) && payload.isAxiosError === true; +} + +const HttpStatusCode = { + Continue: 100, + SwitchingProtocols: 101, + Processing: 102, + EarlyHints: 103, + Ok: 200, + Created: 201, + Accepted: 202, + NonAuthoritativeInformation: 203, + NoContent: 204, + ResetContent: 205, + PartialContent: 206, + MultiStatus: 207, + AlreadyReported: 208, + ImUsed: 226, + MultipleChoices: 300, + MovedPermanently: 301, + Found: 302, + SeeOther: 303, + NotModified: 304, + UseProxy: 305, + Unused: 306, + TemporaryRedirect: 307, + PermanentRedirect: 308, + BadRequest: 400, + Unauthorized: 401, + PaymentRequired: 402, + Forbidden: 403, + NotFound: 404, + MethodNotAllowed: 405, + NotAcceptable: 406, + ProxyAuthenticationRequired: 407, + RequestTimeout: 408, + Conflict: 409, + Gone: 410, + LengthRequired: 411, + PreconditionFailed: 412, + PayloadTooLarge: 413, + UriTooLong: 414, + UnsupportedMediaType: 415, + RangeNotSatisfiable: 416, + ExpectationFailed: 417, + ImATeapot: 418, + MisdirectedRequest: 421, + UnprocessableEntity: 422, + Locked: 423, + FailedDependency: 424, + TooEarly: 425, + UpgradeRequired: 426, + PreconditionRequired: 428, + TooManyRequests: 429, + RequestHeaderFieldsTooLarge: 431, + UnavailableForLegalReasons: 451, + InternalServerError: 500, + NotImplemented: 501, + BadGateway: 502, + ServiceUnavailable: 503, + GatewayTimeout: 504, + HttpVersionNotSupported: 505, + VariantAlsoNegotiates: 506, + InsufficientStorage: 507, + LoopDetected: 508, + NotExtended: 510, + NetworkAuthenticationRequired: 511, + WebServerIsDown: 521, + ConnectionTimedOut: 522, + OriginIsUnreachable: 523, + TimeoutOccurred: 524, + SslHandshakeFailed: 525, + InvalidSslCertificate: 526, +}; + +Object.entries(HttpStatusCode).forEach(([key, value]) => { + HttpStatusCode[value] = key; +}); + +/** + * Create an instance of Axios + * + * @param {Object} defaultConfig The default config for the instance + * + * @returns {Axios} A new instance of Axios + */ +function createInstance(defaultConfig) { + const context = new Axios(defaultConfig); + const instance = bind(Axios.prototype.request, context); + + // Copy axios.prototype to instance + utils$1.extend(instance, Axios.prototype, context, { allOwnKeys: true }); + + // Copy context to instance + utils$1.extend(instance, context, null, { allOwnKeys: true }); + + // Factory for creating new instances + instance.create = function create(instanceConfig) { + return createInstance(mergeConfig(defaultConfig, instanceConfig)); + }; + + return instance; +} + +// Create the default instance to be exported +const axios = createInstance(defaults); + +// Expose Axios class to allow class inheritance +axios.Axios = Axios; + +// Expose Cancel & CancelToken +axios.CanceledError = CanceledError; +axios.CancelToken = CancelToken; +axios.isCancel = isCancel; +axios.VERSION = VERSION; +axios.toFormData = toFormData; + +// Expose AxiosError class +axios.AxiosError = AxiosError; + +// alias for CanceledError for backward compatibility +axios.Cancel = axios.CanceledError; + +// Expose all/spread +axios.all = function all(promises) { + return Promise.all(promises); +}; + +axios.spread = spread; + +// Expose isAxiosError +axios.isAxiosError = isAxiosError; + +// Expose mergeConfig +axios.mergeConfig = mergeConfig; + +axios.AxiosHeaders = AxiosHeaders; + +axios.formToJSON = (thing) => formDataToJSON(utils$1.isHTMLForm(thing) ? new FormData(thing) : thing); + +axios.getAdapter = adapters.getAdapter; + +axios.HttpStatusCode = HttpStatusCode; + +axios.default = axios; + +module.exports = axios; +//# sourceMappingURL=axios.cjs.map diff --git a/dist/node_modules/axios/dist/browser/axios.cjs.map b/dist/node_modules/axios/dist/browser/axios.cjs.map new file mode 100644 index 00000000..c3e13529 --- /dev/null +++ b/dist/node_modules/axios/dist/browser/axios.cjs.map @@ -0,0 +1 @@ +{"version":3,"file":"axios.cjs","sources":["../../lib/helpers/bind.js","../../lib/utils.js","../../lib/core/AxiosError.js","../../lib/helpers/null.js","../../lib/helpers/toFormData.js","../../lib/helpers/AxiosURLSearchParams.js","../../lib/helpers/buildURL.js","../../lib/core/InterceptorManager.js","../../lib/defaults/transitional.js","../../lib/platform/browser/classes/URLSearchParams.js","../../lib/platform/browser/classes/FormData.js","../../lib/platform/browser/classes/Blob.js","../../lib/platform/browser/index.js","../../lib/platform/common/utils.js","../../lib/platform/index.js","../../lib/helpers/toURLEncodedForm.js","../../lib/helpers/formDataToJSON.js","../../lib/defaults/index.js","../../lib/helpers/parseHeaders.js","../../lib/core/AxiosHeaders.js","../../lib/core/transformData.js","../../lib/cancel/isCancel.js","../../lib/cancel/CanceledError.js","../../lib/core/settle.js","../../lib/helpers/parseProtocol.js","../../lib/helpers/speedometer.js","../../lib/helpers/throttle.js","../../lib/helpers/progressEventReducer.js","../../lib/helpers/isURLSameOrigin.js","../../lib/helpers/cookies.js","../../lib/helpers/isAbsoluteURL.js","../../lib/helpers/combineURLs.js","../../lib/core/buildFullPath.js","../../lib/core/mergeConfig.js","../../lib/helpers/resolveConfig.js","../../lib/adapters/xhr.js","../../lib/helpers/composeSignals.js","../../lib/helpers/trackStream.js","../../lib/adapters/fetch.js","../../lib/adapters/adapters.js","../../lib/core/dispatchRequest.js","../../lib/env/data.js","../../lib/helpers/validator.js","../../lib/core/Axios.js","../../lib/cancel/CancelToken.js","../../lib/helpers/spread.js","../../lib/helpers/isAxiosError.js","../../lib/helpers/HttpStatusCode.js","../../lib/axios.js"],"sourcesContent":["'use strict';\n\n/**\n * Create a bound version of a function with a specified `this` context\n *\n * @param {Function} fn - The function to bind\n * @param {*} thisArg - The value to be passed as the `this` parameter\n * @returns {Function} A new function that will call the original function with the specified `this` context\n */\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst { toString } = Object.prototype;\nconst { getPrototypeOf } = Object;\nconst { iterator, toStringTag } = Symbol;\n\nconst kindOf = ((cache) => (thing) => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type;\n};\n\nconst typeOfTest = (type) => (thing) => typeof thing === type;\n\n/**\n * Determine if a value is a non-null object\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst { isArray } = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return (\n val !== null &&\n !isUndefined(val) &&\n val.constructor !== null &&\n !isUndefined(val.constructor) &&\n isFunction(val.constructor.isBuffer) &&\n val.constructor.isBuffer(val)\n );\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && isArrayBuffer(val.buffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = (thing) => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (\n (prototype === null ||\n prototype === Object.prototype ||\n Object.getPrototypeOf(prototype) === null) &&\n !(toStringTag in val) &&\n !(iterator in val)\n );\n};\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n // Early return for non-objects or Buffers to prevent RangeError\n if (!isObject(val) || isBuffer(val)) {\n return false;\n }\n\n try {\n return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n } catch (e) {\n // Fallback for any other objects that might cause RangeError with Object.keys()\n return false;\n }\n};\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a React Native Blob\n * React Native \"blob\": an object with a `uri` attribute. Optionally, it can\n * also have a `name` and `type` attribute to specify filename and content type\n *\n * @see https://github.com/facebook/react-native/blob/26684cf3adf4094eb6c405d345a75bf8c7c0bf88/Libraries/Network/FormData.js#L68-L71\n * \n * @param {*} value The value to test\n * \n * @returns {boolean} True if value is a React Native Blob, otherwise false\n */\nconst isReactNativeBlob = (value) => {\n return !!(value && typeof value.uri !== 'undefined');\n}\n\n/**\n * Determine if environment is React Native\n * ReactNative `FormData` has a non-standard `getParts()` method\n * \n * @param {*} formData The formData to test\n * \n * @returns {boolean} True if environment is React Native, otherwise false\n */\nconst isReactNative = (formData) => formData && typeof formData.getParts !== 'undefined';\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction getGlobal() {\n if (typeof globalThis !== 'undefined') return globalThis;\n if (typeof self !== 'undefined') return self;\n if (typeof window !== 'undefined') return window;\n if (typeof global !== 'undefined') return global;\n return {};\n}\n\nconst G = getGlobal();\nconst FormDataCtor = typeof G.FormData !== 'undefined' ? G.FormData : undefined;\n\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (FormDataCtor && thing instanceof FormDataCtor) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n );\n};\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = [\n 'ReadableStream',\n 'Request',\n 'Response',\n 'Headers',\n].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => {\n return str.trim ? str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n};\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Object} [options]\n * @param {Boolean} [options.allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, { allOwnKeys = false } = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Buffer check\n if (isBuffer(obj)) {\n return;\n }\n\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\n/**\n * Finds a key in an object, case-insensitive, returning the actual key name.\n * Returns null if the object is a Buffer or if no match is found.\n *\n * @param {Object} obj - The object to search.\n * @param {string} key - The key to find (case-insensitive).\n * @returns {?string} The actual key name if found, otherwise null.\n */\nfunction findKey(obj, key) {\n if (isBuffer(obj)) {\n return null;\n }\n\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== 'undefined') return globalThis;\n return typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : global;\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * const result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const { caseless, skipUndefined } = (isContextDefined(this) && this) || {};\n const result = {};\n const assignValue = (val, key) => {\n // Skip dangerous property names to prevent prototype pollution\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return;\n }\n\n const targetKey = (caseless && findKey(result, key)) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else if (!skipUndefined || !isUndefined(val)) {\n result[targetKey] = val;\n }\n };\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Object} [options]\n * @param {Boolean} [options.allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, { allOwnKeys } = {}) => {\n forEach(\n b,\n (val, key) => {\n if (thisArg && isFunction(val)) {\n Object.defineProperty(a, key, {\n value: bind(val, thisArg),\n writable: true,\n enumerable: true,\n configurable: true,\n });\n } else {\n Object.defineProperty(a, key, {\n value: val,\n writable: true,\n enumerable: true,\n configurable: true,\n });\n }\n },\n { allOwnKeys }\n );\n return a;\n};\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xfeff) {\n content = content.slice(1);\n }\n return content;\n};\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n Object.defineProperty(constructor.prototype, 'constructor', {\n value: constructor,\n writable: true,\n enumerable: false,\n configurable: true,\n });\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype,\n });\n props && Object.assign(constructor.prototype, props);\n};\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n};\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n};\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n};\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = ((TypedArray) => {\n // eslint-disable-next-line func-names\n return (thing) => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n};\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n};\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = (str) => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g, function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n });\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (\n ({ hasOwnProperty }) =>\n (obj, prop) =>\n hasOwnProperty.call(obj, prop)\n)(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n};\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error(\"Can not rewrite read-only method '\" + name + \"'\");\n };\n }\n });\n};\n\n/**\n * Converts an array or a delimited string into an object set with values as keys and true as values.\n * Useful for fast membership checks.\n *\n * @param {Array|string} arrayOrString - The array or string to convert.\n * @param {string} delimiter - The delimiter to use if input is a string.\n * @returns {Object} An object with keys from the array or string, values set to true.\n */\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach((value) => {\n obj[value] = true;\n });\n };\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n};\n\nconst noop = () => {};\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite((value = +value)) ? value : defaultValue;\n};\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(\n thing &&\n isFunction(thing.append) &&\n thing[toStringTag] === 'FormData' &&\n thing[iterator]\n );\n}\n\n/**\n * Recursively converts an object to a JSON-compatible object, handling circular references and Buffers.\n *\n * @param {Object} obj - The object to convert.\n * @returns {Object} The JSON-compatible object.\n */\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n //Buffer check\n if (isBuffer(source)) {\n return source;\n }\n\n if (!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n };\n\n return visit(obj, 0);\n};\n\n/**\n * Determines if a value is an async function.\n *\n * @param {*} thing - The value to test.\n * @returns {boolean} True if value is an async function, otherwise false.\n */\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\n/**\n * Determines if a value is thenable (has then and catch methods).\n *\n * @param {*} thing - The value to test.\n * @returns {boolean} True if value is thenable, otherwise false.\n */\nconst isThenable = (thing) =>\n thing &&\n (isObject(thing) || isFunction(thing)) &&\n isFunction(thing.then) &&\n isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\n/**\n * Provides a cross-platform setImmediate implementation.\n * Uses native setImmediate if available, otherwise falls back to postMessage or setTimeout.\n *\n * @param {boolean} setImmediateSupported - Whether setImmediate is supported.\n * @param {boolean} postMessageSupported - Whether postMessage is supported.\n * @returns {Function} A function to schedule a callback asynchronously.\n */\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported\n ? ((token, callbacks) => {\n _global.addEventListener(\n 'message',\n ({ source, data }) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n },\n false\n );\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, '*');\n };\n })(`axios@${Math.random()}`, [])\n : (cb) => setTimeout(cb);\n})(typeof setImmediate === 'function', isFunction(_global.postMessage));\n\n/**\n * Schedules a microtask or asynchronous callback as soon as possible.\n * Uses queueMicrotask if available, otherwise falls back to process.nextTick or _setImmediate.\n *\n * @type {Function}\n */\nconst asap =\n typeof queueMicrotask !== 'undefined'\n ? queueMicrotask.bind(_global)\n : (typeof process !== 'undefined' && process.nextTick) || _setImmediate;\n\n// *********************\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isReactNativeBlob,\n isReactNative,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable,\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\nclass AxiosError extends Error {\n static from(error, code, config, request, response, customProps) {\n const axiosError = new AxiosError(error.message, code || error.code, config, request, response);\n axiosError.cause = error;\n axiosError.name = error.name;\n\n // Preserve status from the original error if not already set from response\n if (error.status != null && axiosError.status == null) {\n axiosError.status = error.status;\n }\n\n customProps && Object.assign(axiosError, customProps);\n return axiosError;\n }\n\n /**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\n constructor(message, code, config, request, response) {\n super(message);\n \n // Make message enumerable to maintain backward compatibility\n // The native Error constructor sets message as non-enumerable,\n // but axios < v1.13.3 had it as enumerable\n Object.defineProperty(this, 'message', {\n value: message,\n enumerable: true,\n writable: true,\n configurable: true\n });\n \n this.name = 'AxiosError';\n this.isAxiosError = true;\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status;\n }\n }\n\n toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status,\n };\n }\n}\n\n// This can be changed to static properties as soon as the parser options in .eslint.cjs are updated.\nAxiosError.ERR_BAD_OPTION_VALUE = 'ERR_BAD_OPTION_VALUE';\nAxiosError.ERR_BAD_OPTION = 'ERR_BAD_OPTION';\nAxiosError.ECONNABORTED = 'ECONNABORTED';\nAxiosError.ETIMEDOUT = 'ETIMEDOUT';\nAxiosError.ERR_NETWORK = 'ERR_NETWORK';\nAxiosError.ERR_FR_TOO_MANY_REDIRECTS = 'ERR_FR_TOO_MANY_REDIRECTS';\nAxiosError.ERR_DEPRECATED = 'ERR_DEPRECATED';\nAxiosError.ERR_BAD_RESPONSE = 'ERR_BAD_RESPONSE';\nAxiosError.ERR_BAD_REQUEST = 'ERR_BAD_REQUEST';\nAxiosError.ERR_CANCELED = 'ERR_CANCELED';\nAxiosError.ERR_NOT_SUPPORT = 'ERR_NOT_SUPPORT';\nAxiosError.ERR_INVALID_URL = 'ERR_INVALID_URL';\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path\n .concat(key)\n .map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n })\n .join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(\n options,\n {\n metaTokens: true,\n dots: false,\n indexes: false,\n },\n false,\n function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n }\n );\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || (typeof Blob !== 'undefined' && Blob);\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isBoolean(value)) {\n return value.toString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (utils.isReactNative(formData) && utils.isReactNativeBlob(value)) {\n formData.append(renderKey(path, key, dots), convertValue(value));\n return false;\n }\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value)))\n ) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) &&\n formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true\n ? renderKey([key], index, dots)\n : indexes === null\n ? key\n : key + '[]',\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable,\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result =\n !(utils.isUndefined(el) || el === null) &&\n visitor.call(formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers);\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00',\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder\n ? function (value) {\n return encoder.call(this, value, encode);\n }\n : encode;\n\n return this._pairs\n .map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '')\n .join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces URL-encoded forms of `:`, `$`, `,`, and spaces with\n * their plain counterparts (`:`, `$`, `,`, `+`).\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val)\n .replace(/%3A/gi, ':')\n .replace(/%24/g, '$')\n .replace(/%2C/gi, ',')\n .replace(/%20/g, '+');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n if (!params) {\n return url;\n }\n\n const _encode = (options && options.encode) || encode;\n\n const _options = utils.isFunction(options)\n ? {\n serialize: options,\n }\n : options;\n\n const serializeFn = _options && _options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, _options);\n } else {\n serializedParams = utils.isURLSearchParams(params)\n ? params.toString()\n : new AxiosURLSearchParams(params, _options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n * @param {Object} options The options for the interceptor, synchronous and runWhen\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null,\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {void}\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false,\n legacyInterceptorReqResOrdering: true,\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict';\n\nexport default typeof Blob !== 'undefined' ? Blob : null;\n","import URLSearchParams from './classes/URLSearchParams.js';\nimport FormData from './classes/FormData.js';\nimport Blob from './classes/Blob.js';\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob,\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data'],\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = (typeof navigator === 'object' && navigator) || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv =\n hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = (hasBrowserEnv && window.location.href) || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin,\n};\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform,\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), {\n visitor: function (value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options,\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map((match) => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [\n function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if (\n (isFileList = utils.isFileList(data)) ||\n contentType.indexOf('multipart/form-data') > -1\n ) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? { 'files[]': data } : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n },\n ],\n\n transformResponse: [\n function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (\n data &&\n utils.isString(data) &&\n ((forcedJSONParsing && !this.responseType) || JSONRequested)\n ) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data, this.parseReviver);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n },\n ],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob,\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n Accept: 'application/json, text/plain, */*',\n 'Content-Type': undefined,\n },\n },\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age',\n 'authorization',\n 'content-length',\n 'content-type',\n 'etag',\n 'expires',\n 'from',\n 'host',\n 'if-modified-since',\n 'if-unmodified-since',\n 'last-modified',\n 'location',\n 'max-forwards',\n 'proxy-authorization',\n 'referer',\n 'retry-after',\n 'user-agent',\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default (rawHeaders) => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders &&\n rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value)\n ? value.map(normalizeValue)\n : String(value).replace(/[\\r\\n]+$/, '');\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header\n .trim()\n .toLowerCase()\n .replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach((methodName) => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function (arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true,\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if (\n !key ||\n self[key] === undefined ||\n _rewrite === true ||\n (_rewrite === undefined && self[key] !== false)\n ) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite);\n } else if (utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {},\n dest,\n key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[(key = entry[0])] = (dest = obj[key])\n ? utils.isArray(dest)\n ? [...dest, entry[1]]\n : [dest, entry[1]]\n : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(\n key &&\n this[key] !== undefined &&\n (!matcher || matchHeaderValue(this, this[key], key, matcher))\n );\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null &&\n value !== false &&\n (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON())\n .map(([header, value]) => header + ': ' + value)\n .join('\\n');\n }\n\n getSetCookie() {\n return this.get('set-cookie') || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals =\n (this[$internals] =\n this[$internals] =\n {\n accessors: {},\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor([\n 'Content-Type',\n 'Content-Length',\n 'Accept',\n 'Accept-Encoding',\n 'User-Agent',\n 'Authorization',\n]);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n },\n };\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from '../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\n\nclass CanceledError extends AxiosError {\n /**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\n constructor(message, config, request) {\n super(message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n this.__CANCEL__ = true;\n }\n}\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(\n new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][\n Math.floor(response.status / 100) - 4\n ],\n response.config,\n response.request,\n response\n )\n );\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return (match && match[1]) || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round((bytesCount * 1000) / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n };\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if (passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs);\n }, threshold - passed);\n }\n }\n };\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from './speedometer.js';\nimport throttle from './throttle.js';\nimport utils from '../utils.js';\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle((e) => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? loaded / total : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true,\n };\n\n listener(data);\n }, freq);\n};\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [\n (loaded) =>\n throttled[0]({\n lengthComputable,\n total,\n loaded,\n }),\n throttled[1],\n ];\n};\n\nexport const asyncDecorator =\n (fn) =>\n (...args) =>\n utils.asap(() => fn(...args));\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv\n ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n })(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n )\n : () => true;\n","import utils from '../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv\n ? // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure, sameSite) {\n if (typeof document === 'undefined') return;\n\n const cookie = [`${name}=${encodeURIComponent(value)}`];\n\n if (utils.isNumber(expires)) {\n cookie.push(`expires=${new Date(expires).toUTCString()}`);\n }\n if (utils.isString(path)) {\n cookie.push(`path=${path}`);\n }\n if (utils.isString(domain)) {\n cookie.push(`domain=${domain}`);\n }\n if (secure === true) {\n cookie.push('secure');\n }\n if (utils.isString(sameSite)) {\n cookie.push(`SameSite=${sameSite}`);\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n if (typeof document === 'undefined') return null;\n const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)'));\n return match ? decodeURIComponent(match[1]) : null;\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000, '/');\n },\n }\n : // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {},\n };\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n if (typeof url !== 'string') {\n return false;\n }\n\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst headersToObject = (thing) => (thing instanceof AxiosHeaders ? { ...thing } : thing);\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({ caseless }, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(a, b, prop, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b, prop) =>\n mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true),\n };\n\n utils.forEach(Object.keys({ ...config1, ...config2 }), function computeConfigValue(prop) {\n if (prop === '__proto__' || prop === 'constructor' || prop === 'prototype') return;\n const merge = utils.hasOwnProp(mergeMap, prop) ? mergeMap[prop] : mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from '../platform/index.js';\nimport utils from '../utils.js';\nimport isURLSameOrigin from './isURLSameOrigin.js';\nimport cookies from './cookies.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport mergeConfig from '../core/mergeConfig.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport buildURL from './buildURL.js';\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(\n buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls),\n config.params,\n config.paramsSerializer\n );\n\n // HTTP basic authentication\n if (auth) {\n headers.set(\n 'Authorization',\n 'Basic ' +\n btoa(\n (auth.username || '') +\n ':' +\n (auth.password ? unescape(encodeURIComponent(auth.password)) : '')\n )\n );\n }\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // browser handles it\n } else if (utils.isFunction(data.getHeaders)) {\n // Node.js FormData (like form-data package)\n const formHeaders = data.getHeaders();\n // Only set safe headers to avoid overwriting security headers\n const allowedHeaders = ['content-type', 'content-length'];\n Object.entries(formHeaders).forEach(([key, val]) => {\n if (allowedHeaders.includes(key.toLowerCase())) {\n headers.set(key, val);\n }\n });\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n};\n","import utils from '../utils.js';\nimport settle from '../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport { progressEventReducer } from '../helpers/progressEventReducer.js';\nimport resolveConfig from '../helpers/resolveConfig.js';\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported &&\n function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let { responseType, onUploadProgress, onDownloadProgress } = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData =\n !responseType || responseType === 'text' || responseType === 'json'\n ? request.responseText\n : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request,\n };\n\n settle(\n function _resolve(value) {\n resolve(value);\n done();\n },\n function _reject(err) {\n reject(err);\n done();\n },\n response\n );\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (\n request.status === 0 &&\n !(request.responseURL && request.responseURL.indexOf('file:') === 0)\n ) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError(event) {\n // Browsers deliver a ProgressEvent in XHR onerror\n // (message may be empty; when present, surface it)\n // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event\n const msg = event && event.message ? event.message : 'Network Error';\n const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);\n // attach the underlying event for consumers who want details\n err.event = event || null;\n reject(err);\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout\n ? 'timeout of ' + _config.timeout + 'ms exceeded'\n : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(\n new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request\n )\n );\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n [downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true);\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n [uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress);\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = (cancel) => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted\n ? onCanceled()\n : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(\n new AxiosError(\n 'Unsupported protocol ' + protocol + ':',\n AxiosError.ERR_BAD_REQUEST,\n config\n )\n );\n return;\n }\n\n // Send the request\n request.send(requestData || null);\n });\n };\n","import CanceledError from '../cancel/CanceledError.js';\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const { length } = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(\n err instanceof AxiosError\n ? err\n : new CanceledError(err instanceof Error ? err.message : err)\n );\n }\n };\n\n let timer =\n timeout &&\n setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout of ${timeout}ms exceeded`, AxiosError.ETIMEDOUT));\n }, timeout);\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach((signal) => {\n signal.unsubscribe\n ? signal.unsubscribe(onabort)\n : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n };\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const { signal } = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n};\n\nexport default composeSignals;\n","export const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n};\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n};\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n};\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n };\n\n return new ReadableStream(\n {\n async pull(controller) {\n try {\n const { done, value } = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = (bytes += len);\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n },\n },\n {\n highWaterMark: 2,\n }\n );\n};\n","import platform from '../platform/index.js';\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport composeSignals from '../helpers/composeSignals.js';\nimport { trackStream } from '../helpers/trackStream.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {\n progressEventReducer,\n progressEventDecorator,\n asyncDecorator,\n} from '../helpers/progressEventReducer.js';\nimport resolveConfig from '../helpers/resolveConfig.js';\nimport settle from '../core/settle.js';\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst { isFunction } = utils;\n\nconst globalFetchAPI = (({ Request, Response }) => ({\n Request,\n Response,\n}))(utils.global);\n\nconst { ReadableStream, TextEncoder } = utils.global;\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false;\n }\n};\n\nconst factory = (env) => {\n env = utils.merge.call(\n {\n skipUndefined: true,\n },\n globalFetchAPI,\n env\n );\n\n const { fetch: envFetch, Request, Response } = env;\n const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';\n const isRequestSupported = isFunction(Request);\n const isResponseSupported = isFunction(Response);\n\n if (!isFetchSupported) {\n return false;\n }\n\n const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream);\n\n const encodeText =\n isFetchSupported &&\n (typeof TextEncoder === 'function'\n ? (\n (encoder) => (str) =>\n encoder.encode(str)\n )(new TextEncoder())\n : async (str) => new Uint8Array(await new Request(str).arrayBuffer()));\n\n const supportsRequestStream =\n isRequestSupported &&\n isReadableStreamSupported &&\n test(() => {\n let duplexAccessed = false;\n\n const body = new ReadableStream();\n\n const hasContentType = new Request(platform.origin, {\n body,\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n body.cancel();\n\n return duplexAccessed && !hasContentType;\n });\n\n const supportsResponseStream =\n isResponseSupported &&\n isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n const resolvers = {\n stream: supportsResponseStream && ((res) => res.body),\n };\n\n isFetchSupported &&\n (() => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach((type) => {\n !resolvers[type] &&\n (resolvers[type] = (res, config) => {\n let method = res && res[type];\n\n if (method) {\n return method.call(res);\n }\n\n throw new AxiosError(\n `Response type '${type}' is not supported`,\n AxiosError.ERR_NOT_SUPPORT,\n config\n );\n });\n });\n })();\n\n const getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if (utils.isBlob(body)) {\n return body.size;\n }\n\n if (utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if (utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if (utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n };\n\n const resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n };\n\n return async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions,\n } = resolveConfig(config);\n\n let _fetch = envFetch || fetch;\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals(\n [signal, cancelToken && cancelToken.toAbortSignal()],\n timeout\n );\n\n let request = null;\n\n const unsubscribe =\n composedSignal &&\n composedSignal.unsubscribe &&\n (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress &&\n supportsRequestStream &&\n method !== 'get' &&\n method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: 'half',\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader);\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = isRequestSupported && 'credentials' in Request.prototype;\n\n const resolvedOptions = {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: 'half',\n credentials: isCredentialsSupported ? withCredentials : undefined,\n };\n\n request = isRequestSupported && new Request(url, resolvedOptions);\n\n let response = await (isRequestSupported\n ? _fetch(request, fetchOptions)\n : _fetch(url, resolvedOptions));\n\n const isStreamResponse =\n supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach((prop) => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] =\n (onDownloadProgress &&\n progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n )) ||\n [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](\n response,\n config\n );\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request,\n });\n });\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError(\n 'Network Error',\n AxiosError.ERR_NETWORK,\n config,\n request,\n err && err.response\n ),\n {\n cause: err.cause || err,\n }\n );\n }\n\n throw AxiosError.from(err, err && err.code, config, request, err && err.response);\n }\n };\n};\n\nconst seedCache = new Map();\n\nexport const getFetch = (config) => {\n let env = (config && config.env) || {};\n const { fetch, Request, Response } = env;\n const seeds = [Request, Response, fetch];\n\n let len = seeds.length,\n i = len,\n seed,\n target,\n map = seedCache;\n\n while (i--) {\n seed = seeds[i];\n target = map.get(seed);\n\n target === undefined && map.set(seed, (target = i ? new Map() : factory(env)));\n\n map = target;\n }\n\n return target;\n};\n\nconst adapter = getFetch();\n\nexport default adapter;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport * as fetchAdapter from './fetch.js';\nimport AxiosError from '../core/AxiosError.js';\n\n/**\n * Known adapters mapping.\n * Provides environment-specific adapters for Axios:\n * - `http` for Node.js\n * - `xhr` for browsers\n * - `fetch` for fetch API-based requests\n *\n * @type {Object}\n */\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: {\n get: fetchAdapter.getFetch,\n },\n};\n\n// Assign adapter names for easier debugging and identification\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', { value });\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', { value });\n }\n});\n\n/**\n * Render a rejection reason string for unknown or unsupported adapters\n *\n * @param {string} reason\n * @returns {string}\n */\nconst renderReason = (reason) => `- ${reason}`;\n\n/**\n * Check if the adapter is resolved (function, null, or false)\n *\n * @param {Function|null|false} adapter\n * @returns {boolean}\n */\nconst isResolvedHandle = (adapter) =>\n utils.isFunction(adapter) || adapter === null || adapter === false;\n\n/**\n * Get the first suitable adapter from the provided list.\n * Tries each adapter in order until a supported one is found.\n * Throws an AxiosError if no adapter is suitable.\n *\n * @param {Array|string|Function} adapters - Adapter(s) by name or function.\n * @param {Object} config - Axios request configuration\n * @throws {AxiosError} If no suitable adapter is available\n * @returns {Function} The resolved adapter function\n */\nfunction getAdapter(adapters, config) {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const { length } = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter && (utils.isFunction(adapter) || (adapter = adapter.get(config)))) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n const reasons = Object.entries(rejectedReasons).map(\n ([id, state]) =>\n `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length\n ? reasons.length > 1\n ? 'since :\\n' + reasons.map(renderReason).join('\\n')\n : ' ' + renderReason(reasons[0])\n : 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n}\n\n/**\n * Exports Axios adapters and utility to resolve an adapter\n */\nexport default {\n /**\n * Resolve an adapter from a list of adapter names or functions.\n * @type {Function}\n */\n getAdapter,\n\n /**\n * Exposes all known adapters\n * @type {Object}\n */\n adapters: knownAdapters,\n};\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from '../adapters/adapters.js';\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(config, config.transformRequest);\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);\n\n return adapter(config).then(\n function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(config, config.transformResponse, response);\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n },\n function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n }\n );\n}\n","export const VERSION = \"1.14.0\";","'use strict';\n\nimport { VERSION } from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return (\n '[Axios v' +\n VERSION +\n \"] Transitional option '\" +\n opt +\n \"'\" +\n desc +\n (message ? '. ' + message : '')\n );\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError(\n 'option ' + opt + ' must be ' + result,\n AxiosError.ERR_BAD_OPTION_VALUE\n );\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators,\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\nimport transitionalDefaults from '../defaults/transitional.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager(),\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack;\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const { transitional, paramsSerializer, headers } = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(\n transitional,\n {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean),\n legacyInterceptorReqResOrdering: validators.transitional(validators.boolean),\n },\n false\n );\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer,\n };\n } else {\n validator.assertOptions(\n paramsSerializer,\n {\n encode: validators.function,\n serialize: validators.function,\n },\n true\n );\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(\n config,\n {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken'),\n },\n true\n );\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(headers.common, headers[config.method]);\n\n headers &&\n utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], (method) => {\n delete headers[method];\n });\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n const transitional = config.transitional || transitionalDefaults;\n const legacyInterceptorReqResOrdering =\n transitional && transitional.legacyInterceptorReqResOrdering;\n\n if (legacyInterceptorReqResOrdering) {\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n } else {\n requestInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n }\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, config) {\n return this.request(\n mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data,\n })\n );\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(\n mergeConfig(config || {}, {\n method,\n headers: isForm\n ? {\n 'Content-Type': 'multipart/form-data',\n }\n : {},\n url,\n data,\n })\n );\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then((cancel) => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = (onfulfilled) => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise((resolve) => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel,\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * const args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && payload.isAxiosError === true;\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n WebServerIsDown: 521,\n ConnectionTimedOut: 522,\n OriginIsUnreachable: 523,\n TimeoutOccurred: 524,\n SslHandshakeFailed: 525,\n InvalidSslCertificate: 526,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport { VERSION } from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from './core/AxiosHeaders.js';\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, { allOwnKeys: true });\n\n // Copy context to instance\n utils.extend(instance, context, null, { allOwnKeys: true });\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = (thing) => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios;\n"],"names":["isFunction","utils","encode","URLSearchParams","FormData","Blob","platform","ReadableStream","fetchAdapter.getFetch","validators"],"mappings":"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"} \ No newline at end of file diff --git a/dist/node_modules/axios/dist/esm/axios.js b/dist/node_modules/axios/dist/esm/axios.js new file mode 100644 index 00000000..f0b043c6 --- /dev/null +++ b/dist/node_modules/axios/dist/esm/axios.js @@ -0,0 +1,4245 @@ +/*! Axios v1.14.0 Copyright (c) 2026 Matt Zabriskie and contributors */ +/** + * Create a bound version of a function with a specified `this` context + * + * @param {Function} fn - The function to bind + * @param {*} thisArg - The value to be passed as the `this` parameter + * @returns {Function} A new function that will call the original function with the specified `this` context + */ +function bind(fn, thisArg) { + return function wrap() { + return fn.apply(thisArg, arguments); + }; +} + +// utils is a library of generic helper functions non-specific to axios + +const { toString } = Object.prototype; +const { getPrototypeOf } = Object; +const { iterator, toStringTag } = Symbol; + +const kindOf = ((cache) => (thing) => { + const str = toString.call(thing); + return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); +})(Object.create(null)); + +const kindOfTest = (type) => { + type = type.toLowerCase(); + return (thing) => kindOf(thing) === type; +}; + +const typeOfTest = (type) => (thing) => typeof thing === type; + +/** + * Determine if a value is a non-null object + * + * @param {Object} val The value to test + * + * @returns {boolean} True if value is an Array, otherwise false + */ +const { isArray } = Array; + +/** + * Determine if a value is undefined + * + * @param {*} val The value to test + * + * @returns {boolean} True if the value is undefined, otherwise false + */ +const isUndefined = typeOfTest('undefined'); + +/** + * Determine if a value is a Buffer + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Buffer, otherwise false + */ +function isBuffer(val) { + return ( + val !== null && + !isUndefined(val) && + val.constructor !== null && + !isUndefined(val.constructor) && + isFunction$1(val.constructor.isBuffer) && + val.constructor.isBuffer(val) + ); +} + +/** + * Determine if a value is an ArrayBuffer + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is an ArrayBuffer, otherwise false + */ +const isArrayBuffer = kindOfTest('ArrayBuffer'); + +/** + * Determine if a value is a view on an ArrayBuffer + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false + */ +function isArrayBufferView(val) { + let result; + if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) { + result = ArrayBuffer.isView(val); + } else { + result = val && val.buffer && isArrayBuffer(val.buffer); + } + return result; +} + +/** + * Determine if a value is a String + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a String, otherwise false + */ +const isString = typeOfTest('string'); + +/** + * Determine if a value is a Function + * + * @param {*} val The value to test + * @returns {boolean} True if value is a Function, otherwise false + */ +const isFunction$1 = typeOfTest('function'); + +/** + * Determine if a value is a Number + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Number, otherwise false + */ +const isNumber = typeOfTest('number'); + +/** + * Determine if a value is an Object + * + * @param {*} thing The value to test + * + * @returns {boolean} True if value is an Object, otherwise false + */ +const isObject = (thing) => thing !== null && typeof thing === 'object'; + +/** + * Determine if a value is a Boolean + * + * @param {*} thing The value to test + * @returns {boolean} True if value is a Boolean, otherwise false + */ +const isBoolean = (thing) => thing === true || thing === false; + +/** + * Determine if a value is a plain Object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a plain Object, otherwise false + */ +const isPlainObject = (val) => { + if (kindOf(val) !== 'object') { + return false; + } + + const prototype = getPrototypeOf(val); + return ( + (prototype === null || + prototype === Object.prototype || + Object.getPrototypeOf(prototype) === null) && + !(toStringTag in val) && + !(iterator in val) + ); +}; + +/** + * Determine if a value is an empty object (safely handles Buffers) + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is an empty object, otherwise false + */ +const isEmptyObject = (val) => { + // Early return for non-objects or Buffers to prevent RangeError + if (!isObject(val) || isBuffer(val)) { + return false; + } + + try { + return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype; + } catch (e) { + // Fallback for any other objects that might cause RangeError with Object.keys() + return false; + } +}; + +/** + * Determine if a value is a Date + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Date, otherwise false + */ +const isDate = kindOfTest('Date'); + +/** + * Determine if a value is a File + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a File, otherwise false + */ +const isFile = kindOfTest('File'); + +/** + * Determine if a value is a React Native Blob + * React Native "blob": an object with a `uri` attribute. Optionally, it can + * also have a `name` and `type` attribute to specify filename and content type + * + * @see https://github.com/facebook/react-native/blob/26684cf3adf4094eb6c405d345a75bf8c7c0bf88/Libraries/Network/FormData.js#L68-L71 + * + * @param {*} value The value to test + * + * @returns {boolean} True if value is a React Native Blob, otherwise false + */ +const isReactNativeBlob = (value) => { + return !!(value && typeof value.uri !== 'undefined'); +}; + +/** + * Determine if environment is React Native + * ReactNative `FormData` has a non-standard `getParts()` method + * + * @param {*} formData The formData to test + * + * @returns {boolean} True if environment is React Native, otherwise false + */ +const isReactNative = (formData) => formData && typeof formData.getParts !== 'undefined'; + +/** + * Determine if a value is a Blob + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Blob, otherwise false + */ +const isBlob = kindOfTest('Blob'); + +/** + * Determine if a value is a FileList + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a File, otherwise false + */ +const isFileList = kindOfTest('FileList'); + +/** + * Determine if a value is a Stream + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Stream, otherwise false + */ +const isStream = (val) => isObject(val) && isFunction$1(val.pipe); + +/** + * Determine if a value is a FormData + * + * @param {*} thing The value to test + * + * @returns {boolean} True if value is an FormData, otherwise false + */ +function getGlobal() { + if (typeof globalThis !== 'undefined') return globalThis; + if (typeof self !== 'undefined') return self; + if (typeof window !== 'undefined') return window; + if (typeof global !== 'undefined') return global; + return {}; +} + +const G = getGlobal(); +const FormDataCtor = typeof G.FormData !== 'undefined' ? G.FormData : undefined; + +const isFormData = (thing) => { + let kind; + return thing && ( + (FormDataCtor && thing instanceof FormDataCtor) || ( + isFunction$1(thing.append) && ( + (kind = kindOf(thing)) === 'formdata' || + // detect form-data instance + (kind === 'object' && isFunction$1(thing.toString) && thing.toString() === '[object FormData]') + ) + ) + ); +}; + +/** + * Determine if a value is a URLSearchParams object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a URLSearchParams object, otherwise false + */ +const isURLSearchParams = kindOfTest('URLSearchParams'); + +const [isReadableStream, isRequest, isResponse, isHeaders] = [ + 'ReadableStream', + 'Request', + 'Response', + 'Headers', +].map(kindOfTest); + +/** + * Trim excess whitespace off the beginning and end of a string + * + * @param {String} str The String to trim + * + * @returns {String} The String freed of excess whitespace + */ +const trim = (str) => { + return str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); +}; +/** + * Iterate over an Array or an Object invoking a function for each item. + * + * If `obj` is an Array callback will be called passing + * the value, index, and complete array for each item. + * + * If 'obj' is an Object callback will be called passing + * the value, key, and complete object for each property. + * + * @param {Object|Array} obj The object to iterate + * @param {Function} fn The callback to invoke for each item + * + * @param {Object} [options] + * @param {Boolean} [options.allOwnKeys = false] + * @returns {any} + */ +function forEach(obj, fn, { allOwnKeys = false } = {}) { + // Don't bother if no value provided + if (obj === null || typeof obj === 'undefined') { + return; + } + + let i; + let l; + + // Force an array if not already something iterable + if (typeof obj !== 'object') { + /*eslint no-param-reassign:0*/ + obj = [obj]; + } + + if (isArray(obj)) { + // Iterate over array values + for (i = 0, l = obj.length; i < l; i++) { + fn.call(null, obj[i], i, obj); + } + } else { + // Buffer check + if (isBuffer(obj)) { + return; + } + + // Iterate over object keys + const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); + const len = keys.length; + let key; + + for (i = 0; i < len; i++) { + key = keys[i]; + fn.call(null, obj[key], key, obj); + } + } +} + +/** + * Finds a key in an object, case-insensitive, returning the actual key name. + * Returns null if the object is a Buffer or if no match is found. + * + * @param {Object} obj - The object to search. + * @param {string} key - The key to find (case-insensitive). + * @returns {?string} The actual key name if found, otherwise null. + */ +function findKey(obj, key) { + if (isBuffer(obj)) { + return null; + } + + key = key.toLowerCase(); + const keys = Object.keys(obj); + let i = keys.length; + let _key; + while (i-- > 0) { + _key = keys[i]; + if (key === _key.toLowerCase()) { + return _key; + } + } + return null; +} + +const _global = (() => { + /*eslint no-undef:0*/ + if (typeof globalThis !== 'undefined') return globalThis; + return typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : global; +})(); + +const isContextDefined = (context) => !isUndefined(context) && context !== _global; + +/** + * Accepts varargs expecting each argument to be an object, then + * immutably merges the properties of each object and returns result. + * + * When multiple objects contain the same key the later object in + * the arguments list will take precedence. + * + * Example: + * + * ```js + * const result = merge({foo: 123}, {foo: 456}); + * console.log(result.foo); // outputs 456 + * ``` + * + * @param {Object} obj1 Object to merge + * + * @returns {Object} Result of all merge properties + */ +function merge(/* obj1, obj2, obj3, ... */) { + const { caseless, skipUndefined } = (isContextDefined(this) && this) || {}; + const result = {}; + const assignValue = (val, key) => { + // Skip dangerous property names to prevent prototype pollution + if (key === '__proto__' || key === 'constructor' || key === 'prototype') { + return; + } + + const targetKey = (caseless && findKey(result, key)) || key; + if (isPlainObject(result[targetKey]) && isPlainObject(val)) { + result[targetKey] = merge(result[targetKey], val); + } else if (isPlainObject(val)) { + result[targetKey] = merge({}, val); + } else if (isArray(val)) { + result[targetKey] = val.slice(); + } else if (!skipUndefined || !isUndefined(val)) { + result[targetKey] = val; + } + }; + + for (let i = 0, l = arguments.length; i < l; i++) { + arguments[i] && forEach(arguments[i], assignValue); + } + return result; +} + +/** + * Extends object a by mutably adding to it the properties of object b. + * + * @param {Object} a The object to be extended + * @param {Object} b The object to copy properties from + * @param {Object} thisArg The object to bind function to + * + * @param {Object} [options] + * @param {Boolean} [options.allOwnKeys] + * @returns {Object} The resulting value of object a + */ +const extend = (a, b, thisArg, { allOwnKeys } = {}) => { + forEach( + b, + (val, key) => { + if (thisArg && isFunction$1(val)) { + Object.defineProperty(a, key, { + value: bind(val, thisArg), + writable: true, + enumerable: true, + configurable: true, + }); + } else { + Object.defineProperty(a, key, { + value: val, + writable: true, + enumerable: true, + configurable: true, + }); + } + }, + { allOwnKeys } + ); + return a; +}; + +/** + * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) + * + * @param {string} content with BOM + * + * @returns {string} content value without BOM + */ +const stripBOM = (content) => { + if (content.charCodeAt(0) === 0xfeff) { + content = content.slice(1); + } + return content; +}; + +/** + * Inherit the prototype methods from one constructor into another + * @param {function} constructor + * @param {function} superConstructor + * @param {object} [props] + * @param {object} [descriptors] + * + * @returns {void} + */ +const inherits = (constructor, superConstructor, props, descriptors) => { + constructor.prototype = Object.create(superConstructor.prototype, descriptors); + Object.defineProperty(constructor.prototype, 'constructor', { + value: constructor, + writable: true, + enumerable: false, + configurable: true, + }); + Object.defineProperty(constructor, 'super', { + value: superConstructor.prototype, + }); + props && Object.assign(constructor.prototype, props); +}; + +/** + * Resolve object with deep prototype chain to a flat object + * @param {Object} sourceObj source object + * @param {Object} [destObj] + * @param {Function|Boolean} [filter] + * @param {Function} [propFilter] + * + * @returns {Object} + */ +const toFlatObject = (sourceObj, destObj, filter, propFilter) => { + let props; + let i; + let prop; + const merged = {}; + + destObj = destObj || {}; + // eslint-disable-next-line no-eq-null,eqeqeq + if (sourceObj == null) return destObj; + + do { + props = Object.getOwnPropertyNames(sourceObj); + i = props.length; + while (i-- > 0) { + prop = props[i]; + if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { + destObj[prop] = sourceObj[prop]; + merged[prop] = true; + } + } + sourceObj = filter !== false && getPrototypeOf(sourceObj); + } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); + + return destObj; +}; + +/** + * Determines whether a string ends with the characters of a specified string + * + * @param {String} str + * @param {String} searchString + * @param {Number} [position= 0] + * + * @returns {boolean} + */ +const endsWith = (str, searchString, position) => { + str = String(str); + if (position === undefined || position > str.length) { + position = str.length; + } + position -= searchString.length; + const lastIndex = str.indexOf(searchString, position); + return lastIndex !== -1 && lastIndex === position; +}; + +/** + * Returns new array from array like object or null if failed + * + * @param {*} [thing] + * + * @returns {?Array} + */ +const toArray = (thing) => { + if (!thing) return null; + if (isArray(thing)) return thing; + let i = thing.length; + if (!isNumber(i)) return null; + const arr = new Array(i); + while (i-- > 0) { + arr[i] = thing[i]; + } + return arr; +}; + +/** + * Checking if the Uint8Array exists and if it does, it returns a function that checks if the + * thing passed in is an instance of Uint8Array + * + * @param {TypedArray} + * + * @returns {Array} + */ +// eslint-disable-next-line func-names +const isTypedArray = ((TypedArray) => { + // eslint-disable-next-line func-names + return (thing) => { + return TypedArray && thing instanceof TypedArray; + }; +})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array)); + +/** + * For each entry in the object, call the function with the key and value. + * + * @param {Object} obj - The object to iterate over. + * @param {Function} fn - The function to call for each entry. + * + * @returns {void} + */ +const forEachEntry = (obj, fn) => { + const generator = obj && obj[iterator]; + + const _iterator = generator.call(obj); + + let result; + + while ((result = _iterator.next()) && !result.done) { + const pair = result.value; + fn.call(obj, pair[0], pair[1]); + } +}; + +/** + * It takes a regular expression and a string, and returns an array of all the matches + * + * @param {string} regExp - The regular expression to match against. + * @param {string} str - The string to search. + * + * @returns {Array} + */ +const matchAll = (regExp, str) => { + let matches; + const arr = []; + + while ((matches = regExp.exec(str)) !== null) { + arr.push(matches); + } + + return arr; +}; + +/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */ +const isHTMLForm = kindOfTest('HTMLFormElement'); + +const toCamelCase = (str) => { + return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, function replacer(m, p1, p2) { + return p1.toUpperCase() + p2; + }); +}; + +/* Creating a function that will check if an object has a property. */ +const hasOwnProperty = ( + ({ hasOwnProperty }) => + (obj, prop) => + hasOwnProperty.call(obj, prop) +)(Object.prototype); + +/** + * Determine if a value is a RegExp object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a RegExp object, otherwise false + */ +const isRegExp = kindOfTest('RegExp'); + +const reduceDescriptors = (obj, reducer) => { + const descriptors = Object.getOwnPropertyDescriptors(obj); + const reducedDescriptors = {}; + + forEach(descriptors, (descriptor, name) => { + let ret; + if ((ret = reducer(descriptor, name, obj)) !== false) { + reducedDescriptors[name] = ret || descriptor; + } + }); + + Object.defineProperties(obj, reducedDescriptors); +}; + +/** + * Makes all methods read-only + * @param {Object} obj + */ + +const freezeMethods = (obj) => { + reduceDescriptors(obj, (descriptor, name) => { + // skip restricted props in strict mode + if (isFunction$1(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) { + return false; + } + + const value = obj[name]; + + if (!isFunction$1(value)) return; + + descriptor.enumerable = false; + + if ('writable' in descriptor) { + descriptor.writable = false; + return; + } + + if (!descriptor.set) { + descriptor.set = () => { + throw Error("Can not rewrite read-only method '" + name + "'"); + }; + } + }); +}; + +/** + * Converts an array or a delimited string into an object set with values as keys and true as values. + * Useful for fast membership checks. + * + * @param {Array|string} arrayOrString - The array or string to convert. + * @param {string} delimiter - The delimiter to use if input is a string. + * @returns {Object} An object with keys from the array or string, values set to true. + */ +const toObjectSet = (arrayOrString, delimiter) => { + const obj = {}; + + const define = (arr) => { + arr.forEach((value) => { + obj[value] = true; + }); + }; + + isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); + + return obj; +}; + +const noop = () => {}; + +const toFiniteNumber = (value, defaultValue) => { + return value != null && Number.isFinite((value = +value)) ? value : defaultValue; +}; + +/** + * If the thing is a FormData object, return true, otherwise return false. + * + * @param {unknown} thing - The thing to check. + * + * @returns {boolean} + */ +function isSpecCompliantForm(thing) { + return !!( + thing && + isFunction$1(thing.append) && + thing[toStringTag] === 'FormData' && + thing[iterator] + ); +} + +/** + * Recursively converts an object to a JSON-compatible object, handling circular references and Buffers. + * + * @param {Object} obj - The object to convert. + * @returns {Object} The JSON-compatible object. + */ +const toJSONObject = (obj) => { + const stack = new Array(10); + + const visit = (source, i) => { + if (isObject(source)) { + if (stack.indexOf(source) >= 0) { + return; + } + + //Buffer check + if (isBuffer(source)) { + return source; + } + + if (!('toJSON' in source)) { + stack[i] = source; + const target = isArray(source) ? [] : {}; + + forEach(source, (value, key) => { + const reducedValue = visit(value, i + 1); + !isUndefined(reducedValue) && (target[key] = reducedValue); + }); + + stack[i] = undefined; + + return target; + } + } + + return source; + }; + + return visit(obj, 0); +}; + +/** + * Determines if a value is an async function. + * + * @param {*} thing - The value to test. + * @returns {boolean} True if value is an async function, otherwise false. + */ +const isAsyncFn = kindOfTest('AsyncFunction'); + +/** + * Determines if a value is thenable (has then and catch methods). + * + * @param {*} thing - The value to test. + * @returns {boolean} True if value is thenable, otherwise false. + */ +const isThenable = (thing) => + thing && + (isObject(thing) || isFunction$1(thing)) && + isFunction$1(thing.then) && + isFunction$1(thing.catch); + +// original code +// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34 + +/** + * Provides a cross-platform setImmediate implementation. + * Uses native setImmediate if available, otherwise falls back to postMessage or setTimeout. + * + * @param {boolean} setImmediateSupported - Whether setImmediate is supported. + * @param {boolean} postMessageSupported - Whether postMessage is supported. + * @returns {Function} A function to schedule a callback asynchronously. + */ +const _setImmediate = ((setImmediateSupported, postMessageSupported) => { + if (setImmediateSupported) { + return setImmediate; + } + + return postMessageSupported + ? ((token, callbacks) => { + _global.addEventListener( + 'message', + ({ source, data }) => { + if (source === _global && data === token) { + callbacks.length && callbacks.shift()(); + } + }, + false + ); + + return (cb) => { + callbacks.push(cb); + _global.postMessage(token, '*'); + }; + })(`axios@${Math.random()}`, []) + : (cb) => setTimeout(cb); +})(typeof setImmediate === 'function', isFunction$1(_global.postMessage)); + +/** + * Schedules a microtask or asynchronous callback as soon as possible. + * Uses queueMicrotask if available, otherwise falls back to process.nextTick or _setImmediate. + * + * @type {Function} + */ +const asap = + typeof queueMicrotask !== 'undefined' + ? queueMicrotask.bind(_global) + : (typeof process !== 'undefined' && process.nextTick) || _setImmediate; + +// ********************* + +const isIterable = (thing) => thing != null && isFunction$1(thing[iterator]); + +var utils$1 = { + isArray, + isArrayBuffer, + isBuffer, + isFormData, + isArrayBufferView, + isString, + isNumber, + isBoolean, + isObject, + isPlainObject, + isEmptyObject, + isReadableStream, + isRequest, + isResponse, + isHeaders, + isUndefined, + isDate, + isFile, + isReactNativeBlob, + isReactNative, + isBlob, + isRegExp, + isFunction: isFunction$1, + isStream, + isURLSearchParams, + isTypedArray, + isFileList, + forEach, + merge, + extend, + trim, + stripBOM, + inherits, + toFlatObject, + kindOf, + kindOfTest, + endsWith, + toArray, + forEachEntry, + matchAll, + isHTMLForm, + hasOwnProperty, + hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection + reduceDescriptors, + freezeMethods, + toObjectSet, + toCamelCase, + noop, + toFiniteNumber, + findKey, + global: _global, + isContextDefined, + isSpecCompliantForm, + toJSONObject, + isAsyncFn, + isThenable, + setImmediate: _setImmediate, + asap, + isIterable, +}; + +let AxiosError$1 = class AxiosError extends Error { + static from(error, code, config, request, response, customProps) { + const axiosError = new AxiosError(error.message, code || error.code, config, request, response); + axiosError.cause = error; + axiosError.name = error.name; + + // Preserve status from the original error if not already set from response + if (error.status != null && axiosError.status == null) { + axiosError.status = error.status; + } + + customProps && Object.assign(axiosError, customProps); + return axiosError; + } + + /** + * Create an Error with the specified message, config, error code, request and response. + * + * @param {string} message The error message. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [config] The config. + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * + * @returns {Error} The created error. + */ + constructor(message, code, config, request, response) { + super(message); + + // Make message enumerable to maintain backward compatibility + // The native Error constructor sets message as non-enumerable, + // but axios < v1.13.3 had it as enumerable + Object.defineProperty(this, 'message', { + value: message, + enumerable: true, + writable: true, + configurable: true + }); + + this.name = 'AxiosError'; + this.isAxiosError = true; + code && (this.code = code); + config && (this.config = config); + request && (this.request = request); + if (response) { + this.response = response; + this.status = response.status; + } + } + + toJSON() { + return { + // Standard + message: this.message, + name: this.name, + // Microsoft + description: this.description, + number: this.number, + // Mozilla + fileName: this.fileName, + lineNumber: this.lineNumber, + columnNumber: this.columnNumber, + stack: this.stack, + // Axios + config: utils$1.toJSONObject(this.config), + code: this.code, + status: this.status, + }; + } +}; + +// This can be changed to static properties as soon as the parser options in .eslint.cjs are updated. +AxiosError$1.ERR_BAD_OPTION_VALUE = 'ERR_BAD_OPTION_VALUE'; +AxiosError$1.ERR_BAD_OPTION = 'ERR_BAD_OPTION'; +AxiosError$1.ECONNABORTED = 'ECONNABORTED'; +AxiosError$1.ETIMEDOUT = 'ETIMEDOUT'; +AxiosError$1.ERR_NETWORK = 'ERR_NETWORK'; +AxiosError$1.ERR_FR_TOO_MANY_REDIRECTS = 'ERR_FR_TOO_MANY_REDIRECTS'; +AxiosError$1.ERR_DEPRECATED = 'ERR_DEPRECATED'; +AxiosError$1.ERR_BAD_RESPONSE = 'ERR_BAD_RESPONSE'; +AxiosError$1.ERR_BAD_REQUEST = 'ERR_BAD_REQUEST'; +AxiosError$1.ERR_CANCELED = 'ERR_CANCELED'; +AxiosError$1.ERR_NOT_SUPPORT = 'ERR_NOT_SUPPORT'; +AxiosError$1.ERR_INVALID_URL = 'ERR_INVALID_URL'; + +// eslint-disable-next-line strict +var httpAdapter = null; + +/** + * Determines if the given thing is a array or js object. + * + * @param {string} thing - The object or array to be visited. + * + * @returns {boolean} + */ +function isVisitable(thing) { + return utils$1.isPlainObject(thing) || utils$1.isArray(thing); +} + +/** + * It removes the brackets from the end of a string + * + * @param {string} key - The key of the parameter. + * + * @returns {string} the key without the brackets. + */ +function removeBrackets(key) { + return utils$1.endsWith(key, '[]') ? key.slice(0, -2) : key; +} + +/** + * It takes a path, a key, and a boolean, and returns a string + * + * @param {string} path - The path to the current key. + * @param {string} key - The key of the current object being iterated over. + * @param {string} dots - If true, the key will be rendered with dots instead of brackets. + * + * @returns {string} The path to the current key. + */ +function renderKey(path, key, dots) { + if (!path) return key; + return path + .concat(key) + .map(function each(token, i) { + // eslint-disable-next-line no-param-reassign + token = removeBrackets(token); + return !dots && i ? '[' + token + ']' : token; + }) + .join(dots ? '.' : ''); +} + +/** + * If the array is an array and none of its elements are visitable, then it's a flat array. + * + * @param {Array} arr - The array to check + * + * @returns {boolean} + */ +function isFlatArray(arr) { + return utils$1.isArray(arr) && !arr.some(isVisitable); +} + +const predicates = utils$1.toFlatObject(utils$1, {}, null, function filter(prop) { + return /^is[A-Z]/.test(prop); +}); + +/** + * Convert a data object to FormData + * + * @param {Object} obj + * @param {?Object} [formData] + * @param {?Object} [options] + * @param {Function} [options.visitor] + * @param {Boolean} [options.metaTokens = true] + * @param {Boolean} [options.dots = false] + * @param {?Boolean} [options.indexes = false] + * + * @returns {Object} + **/ + +/** + * It converts an object into a FormData object + * + * @param {Object} obj - The object to convert to form data. + * @param {string} formData - The FormData object to append to. + * @param {Object} options + * + * @returns + */ +function toFormData$1(obj, formData, options) { + if (!utils$1.isObject(obj)) { + throw new TypeError('target must be an object'); + } + + // eslint-disable-next-line no-param-reassign + formData = formData || new (FormData)(); + + // eslint-disable-next-line no-param-reassign + options = utils$1.toFlatObject( + options, + { + metaTokens: true, + dots: false, + indexes: false, + }, + false, + function defined(option, source) { + // eslint-disable-next-line no-eq-null,eqeqeq + return !utils$1.isUndefined(source[option]); + } + ); + + const metaTokens = options.metaTokens; + // eslint-disable-next-line no-use-before-define + const visitor = options.visitor || defaultVisitor; + const dots = options.dots; + const indexes = options.indexes; + const _Blob = options.Blob || (typeof Blob !== 'undefined' && Blob); + const useBlob = _Blob && utils$1.isSpecCompliantForm(formData); + + if (!utils$1.isFunction(visitor)) { + throw new TypeError('visitor must be a function'); + } + + function convertValue(value) { + if (value === null) return ''; + + if (utils$1.isDate(value)) { + return value.toISOString(); + } + + if (utils$1.isBoolean(value)) { + return value.toString(); + } + + if (!useBlob && utils$1.isBlob(value)) { + throw new AxiosError$1('Blob is not supported. Use a Buffer instead.'); + } + + if (utils$1.isArrayBuffer(value) || utils$1.isTypedArray(value)) { + return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value); + } + + return value; + } + + /** + * Default visitor. + * + * @param {*} value + * @param {String|Number} key + * @param {Array} path + * @this {FormData} + * + * @returns {boolean} return true to visit the each prop of the value recursively + */ + function defaultVisitor(value, key, path) { + let arr = value; + + if (utils$1.isReactNative(formData) && utils$1.isReactNativeBlob(value)) { + formData.append(renderKey(path, key, dots), convertValue(value)); + return false; + } + + if (value && !path && typeof value === 'object') { + if (utils$1.endsWith(key, '{}')) { + // eslint-disable-next-line no-param-reassign + key = metaTokens ? key : key.slice(0, -2); + // eslint-disable-next-line no-param-reassign + value = JSON.stringify(value); + } else if ( + (utils$1.isArray(value) && isFlatArray(value)) || + ((utils$1.isFileList(value) || utils$1.endsWith(key, '[]')) && (arr = utils$1.toArray(value))) + ) { + // eslint-disable-next-line no-param-reassign + key = removeBrackets(key); + + arr.forEach(function each(el, index) { + !(utils$1.isUndefined(el) || el === null) && + formData.append( + // eslint-disable-next-line no-nested-ternary + indexes === true + ? renderKey([key], index, dots) + : indexes === null + ? key + : key + '[]', + convertValue(el) + ); + }); + return false; + } + } + + if (isVisitable(value)) { + return true; + } + + formData.append(renderKey(path, key, dots), convertValue(value)); + + return false; + } + + const stack = []; + + const exposedHelpers = Object.assign(predicates, { + defaultVisitor, + convertValue, + isVisitable, + }); + + function build(value, path) { + if (utils$1.isUndefined(value)) return; + + if (stack.indexOf(value) !== -1) { + throw Error('Circular reference detected in ' + path.join('.')); + } + + stack.push(value); + + utils$1.forEach(value, function each(el, key) { + const result = + !(utils$1.isUndefined(el) || el === null) && + visitor.call(formData, el, utils$1.isString(key) ? key.trim() : key, path, exposedHelpers); + + if (result === true) { + build(el, path ? path.concat(key) : [key]); + } + }); + + stack.pop(); + } + + if (!utils$1.isObject(obj)) { + throw new TypeError('data must be an object'); + } + + build(obj); + + return formData; +} + +/** + * It encodes a string by replacing all characters that are not in the unreserved set with + * their percent-encoded equivalents + * + * @param {string} str - The string to encode. + * + * @returns {string} The encoded string. + */ +function encode$1(str) { + const charMap = { + '!': '%21', + "'": '%27', + '(': '%28', + ')': '%29', + '~': '%7E', + '%20': '+', + '%00': '\x00', + }; + return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { + return charMap[match]; + }); +} + +/** + * It takes a params object and converts it to a FormData object + * + * @param {Object} params - The parameters to be converted to a FormData object. + * @param {Object} options - The options object passed to the Axios constructor. + * + * @returns {void} + */ +function AxiosURLSearchParams(params, options) { + this._pairs = []; + + params && toFormData$1(params, this, options); +} + +const prototype = AxiosURLSearchParams.prototype; + +prototype.append = function append(name, value) { + this._pairs.push([name, value]); +}; + +prototype.toString = function toString(encoder) { + const _encode = encoder + ? function (value) { + return encoder.call(this, value, encode$1); + } + : encode$1; + + return this._pairs + .map(function each(pair) { + return _encode(pair[0]) + '=' + _encode(pair[1]); + }, '') + .join('&'); +}; + +/** + * It replaces URL-encoded forms of `:`, `$`, `,`, and spaces with + * their plain counterparts (`:`, `$`, `,`, `+`). + * + * @param {string} val The value to be encoded. + * + * @returns {string} The encoded value. + */ +function encode(val) { + return encodeURIComponent(val) + .replace(/%3A/gi, ':') + .replace(/%24/g, '$') + .replace(/%2C/gi, ',') + .replace(/%20/g, '+'); +} + +/** + * Build a URL by appending params to the end + * + * @param {string} url The base of the url (e.g., http://www.google.com) + * @param {object} [params] The params to be appended + * @param {?(object|Function)} options + * + * @returns {string} The formatted url + */ +function buildURL(url, params, options) { + if (!params) { + return url; + } + + const _encode = (options && options.encode) || encode; + + const _options = utils$1.isFunction(options) + ? { + serialize: options, + } + : options; + + const serializeFn = _options && _options.serialize; + + let serializedParams; + + if (serializeFn) { + serializedParams = serializeFn(params, _options); + } else { + serializedParams = utils$1.isURLSearchParams(params) + ? params.toString() + : new AxiosURLSearchParams(params, _options).toString(_encode); + } + + if (serializedParams) { + const hashmarkIndex = url.indexOf('#'); + + if (hashmarkIndex !== -1) { + url = url.slice(0, hashmarkIndex); + } + url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; + } + + return url; +} + +class InterceptorManager { + constructor() { + this.handlers = []; + } + + /** + * Add a new interceptor to the stack + * + * @param {Function} fulfilled The function to handle `then` for a `Promise` + * @param {Function} rejected The function to handle `reject` for a `Promise` + * @param {Object} options The options for the interceptor, synchronous and runWhen + * + * @return {Number} An ID used to remove interceptor later + */ + use(fulfilled, rejected, options) { + this.handlers.push({ + fulfilled, + rejected, + synchronous: options ? options.synchronous : false, + runWhen: options ? options.runWhen : null, + }); + return this.handlers.length - 1; + } + + /** + * Remove an interceptor from the stack + * + * @param {Number} id The ID that was returned by `use` + * + * @returns {void} + */ + eject(id) { + if (this.handlers[id]) { + this.handlers[id] = null; + } + } + + /** + * Clear all interceptors from the stack + * + * @returns {void} + */ + clear() { + if (this.handlers) { + this.handlers = []; + } + } + + /** + * Iterate over all the registered interceptors + * + * This method is particularly useful for skipping over any + * interceptors that may have become `null` calling `eject`. + * + * @param {Function} fn The function to call for each interceptor + * + * @returns {void} + */ + forEach(fn) { + utils$1.forEach(this.handlers, function forEachHandler(h) { + if (h !== null) { + fn(h); + } + }); + } +} + +var transitionalDefaults = { + silentJSONParsing: true, + forcedJSONParsing: true, + clarifyTimeoutError: false, + legacyInterceptorReqResOrdering: true, +}; + +var URLSearchParams$1 = typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams; + +var FormData$1 = typeof FormData !== 'undefined' ? FormData : null; + +var Blob$1 = typeof Blob !== 'undefined' ? Blob : null; + +var platform$1 = { + isBrowser: true, + classes: { + URLSearchParams: URLSearchParams$1, + FormData: FormData$1, + Blob: Blob$1, + }, + protocols: ['http', 'https', 'file', 'blob', 'url', 'data'], +}; + +const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined'; + +const _navigator = (typeof navigator === 'object' && navigator) || undefined; + +/** + * Determine if we're running in a standard browser environment + * + * This allows axios to run in a web worker, and react-native. + * Both environments support XMLHttpRequest, but not fully standard globals. + * + * web workers: + * typeof window -> undefined + * typeof document -> undefined + * + * react-native: + * navigator.product -> 'ReactNative' + * nativescript + * navigator.product -> 'NativeScript' or 'NS' + * + * @returns {boolean} + */ +const hasStandardBrowserEnv = + hasBrowserEnv && + (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0); + +/** + * Determine if we're running in a standard browser webWorker environment + * + * Although the `isStandardBrowserEnv` method indicates that + * `allows axios to run in a web worker`, the WebWorker will still be + * filtered out due to its judgment standard + * `typeof window !== 'undefined' && typeof document !== 'undefined'`. + * This leads to a problem when axios post `FormData` in webWorker + */ +const hasStandardBrowserWebWorkerEnv = (() => { + return ( + typeof WorkerGlobalScope !== 'undefined' && + // eslint-disable-next-line no-undef + self instanceof WorkerGlobalScope && + typeof self.importScripts === 'function' + ); +})(); + +const origin = (hasBrowserEnv && window.location.href) || 'http://localhost'; + +var utils = /*#__PURE__*/Object.freeze({ + __proto__: null, + hasBrowserEnv: hasBrowserEnv, + hasStandardBrowserEnv: hasStandardBrowserEnv, + hasStandardBrowserWebWorkerEnv: hasStandardBrowserWebWorkerEnv, + navigator: _navigator, + origin: origin +}); + +var platform = { + ...utils, + ...platform$1, +}; + +function toURLEncodedForm(data, options) { + return toFormData$1(data, new platform.classes.URLSearchParams(), { + visitor: function (value, key, path, helpers) { + if (platform.isNode && utils$1.isBuffer(value)) { + this.append(key, value.toString('base64')); + return false; + } + + return helpers.defaultVisitor.apply(this, arguments); + }, + ...options, + }); +} + +/** + * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z'] + * + * @param {string} name - The name of the property to get. + * + * @returns An array of strings. + */ +function parsePropPath(name) { + // foo[x][y][z] + // foo.x.y.z + // foo-x-y-z + // foo x y z + return utils$1.matchAll(/\w+|\[(\w*)]/g, name).map((match) => { + return match[0] === '[]' ? '' : match[1] || match[0]; + }); +} + +/** + * Convert an array to an object. + * + * @param {Array} arr - The array to convert to an object. + * + * @returns An object with the same keys and values as the array. + */ +function arrayToObject(arr) { + const obj = {}; + const keys = Object.keys(arr); + let i; + const len = keys.length; + let key; + for (i = 0; i < len; i++) { + key = keys[i]; + obj[key] = arr[key]; + } + return obj; +} + +/** + * It takes a FormData object and returns a JavaScript object + * + * @param {string} formData The FormData object to convert to JSON. + * + * @returns {Object | null} The converted object. + */ +function formDataToJSON(formData) { + function buildPath(path, value, target, index) { + let name = path[index++]; + + if (name === '__proto__') return true; + + const isNumericKey = Number.isFinite(+name); + const isLast = index >= path.length; + name = !name && utils$1.isArray(target) ? target.length : name; + + if (isLast) { + if (utils$1.hasOwnProp(target, name)) { + target[name] = [target[name], value]; + } else { + target[name] = value; + } + + return !isNumericKey; + } + + if (!target[name] || !utils$1.isObject(target[name])) { + target[name] = []; + } + + const result = buildPath(path, value, target[name], index); + + if (result && utils$1.isArray(target[name])) { + target[name] = arrayToObject(target[name]); + } + + return !isNumericKey; + } + + if (utils$1.isFormData(formData) && utils$1.isFunction(formData.entries)) { + const obj = {}; + + utils$1.forEachEntry(formData, (name, value) => { + buildPath(parsePropPath(name), value, obj, 0); + }); + + return obj; + } + + return null; +} + +/** + * It takes a string, tries to parse it, and if it fails, it returns the stringified version + * of the input + * + * @param {any} rawValue - The value to be stringified. + * @param {Function} parser - A function that parses a string into a JavaScript object. + * @param {Function} encoder - A function that takes a value and returns a string. + * + * @returns {string} A stringified version of the rawValue. + */ +function stringifySafely(rawValue, parser, encoder) { + if (utils$1.isString(rawValue)) { + try { + (parser || JSON.parse)(rawValue); + return utils$1.trim(rawValue); + } catch (e) { + if (e.name !== 'SyntaxError') { + throw e; + } + } + } + + return (encoder || JSON.stringify)(rawValue); +} + +const defaults = { + transitional: transitionalDefaults, + + adapter: ['xhr', 'http', 'fetch'], + + transformRequest: [ + function transformRequest(data, headers) { + const contentType = headers.getContentType() || ''; + const hasJSONContentType = contentType.indexOf('application/json') > -1; + const isObjectPayload = utils$1.isObject(data); + + if (isObjectPayload && utils$1.isHTMLForm(data)) { + data = new FormData(data); + } + + const isFormData = utils$1.isFormData(data); + + if (isFormData) { + return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data; + } + + if ( + utils$1.isArrayBuffer(data) || + utils$1.isBuffer(data) || + utils$1.isStream(data) || + utils$1.isFile(data) || + utils$1.isBlob(data) || + utils$1.isReadableStream(data) + ) { + return data; + } + if (utils$1.isArrayBufferView(data)) { + return data.buffer; + } + if (utils$1.isURLSearchParams(data)) { + headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); + return data.toString(); + } + + let isFileList; + + if (isObjectPayload) { + if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { + return toURLEncodedForm(data, this.formSerializer).toString(); + } + + if ( + (isFileList = utils$1.isFileList(data)) || + contentType.indexOf('multipart/form-data') > -1 + ) { + const _FormData = this.env && this.env.FormData; + + return toFormData$1( + isFileList ? { 'files[]': data } : data, + _FormData && new _FormData(), + this.formSerializer + ); + } + } + + if (isObjectPayload || hasJSONContentType) { + headers.setContentType('application/json', false); + return stringifySafely(data); + } + + return data; + }, + ], + + transformResponse: [ + function transformResponse(data) { + const transitional = this.transitional || defaults.transitional; + const forcedJSONParsing = transitional && transitional.forcedJSONParsing; + const JSONRequested = this.responseType === 'json'; + + if (utils$1.isResponse(data) || utils$1.isReadableStream(data)) { + return data; + } + + if ( + data && + utils$1.isString(data) && + ((forcedJSONParsing && !this.responseType) || JSONRequested) + ) { + const silentJSONParsing = transitional && transitional.silentJSONParsing; + const strictJSONParsing = !silentJSONParsing && JSONRequested; + + try { + return JSON.parse(data, this.parseReviver); + } catch (e) { + if (strictJSONParsing) { + if (e.name === 'SyntaxError') { + throw AxiosError$1.from(e, AxiosError$1.ERR_BAD_RESPONSE, this, null, this.response); + } + throw e; + } + } + } + + return data; + }, + ], + + /** + * A timeout in milliseconds to abort a request. If set to 0 (default) a + * timeout is not created. + */ + timeout: 0, + + xsrfCookieName: 'XSRF-TOKEN', + xsrfHeaderName: 'X-XSRF-TOKEN', + + maxContentLength: -1, + maxBodyLength: -1, + + env: { + FormData: platform.classes.FormData, + Blob: platform.classes.Blob, + }, + + validateStatus: function validateStatus(status) { + return status >= 200 && status < 300; + }, + + headers: { + common: { + Accept: 'application/json, text/plain, */*', + 'Content-Type': undefined, + }, + }, +}; + +utils$1.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => { + defaults.headers[method] = {}; +}); + +// RawAxiosHeaders whose duplicates are ignored by node +// c.f. https://nodejs.org/api/http.html#http_message_headers +const ignoreDuplicateOf = utils$1.toObjectSet([ + 'age', + 'authorization', + 'content-length', + 'content-type', + 'etag', + 'expires', + 'from', + 'host', + 'if-modified-since', + 'if-unmodified-since', + 'last-modified', + 'location', + 'max-forwards', + 'proxy-authorization', + 'referer', + 'retry-after', + 'user-agent', +]); + +/** + * Parse headers into an object + * + * ``` + * Date: Wed, 27 Aug 2014 08:58:49 GMT + * Content-Type: application/json + * Connection: keep-alive + * Transfer-Encoding: chunked + * ``` + * + * @param {String} rawHeaders Headers needing to be parsed + * + * @returns {Object} Headers parsed into an object + */ +var parseHeaders = (rawHeaders) => { + const parsed = {}; + let key; + let val; + let i; + + rawHeaders && + rawHeaders.split('\n').forEach(function parser(line) { + i = line.indexOf(':'); + key = line.substring(0, i).trim().toLowerCase(); + val = line.substring(i + 1).trim(); + + if (!key || (parsed[key] && ignoreDuplicateOf[key])) { + return; + } + + if (key === 'set-cookie') { + if (parsed[key]) { + parsed[key].push(val); + } else { + parsed[key] = [val]; + } + } else { + parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; + } + }); + + return parsed; +}; + +const $internals = Symbol('internals'); + +function normalizeHeader(header) { + return header && String(header).trim().toLowerCase(); +} + +function normalizeValue(value) { + if (value === false || value == null) { + return value; + } + + return utils$1.isArray(value) + ? value.map(normalizeValue) + : String(value).replace(/[\r\n]+$/, ''); +} + +function parseTokens(str) { + const tokens = Object.create(null); + const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; + let match; + + while ((match = tokensRE.exec(str))) { + tokens[match[1]] = match[2]; + } + + return tokens; +} + +const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); + +function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) { + if (utils$1.isFunction(filter)) { + return filter.call(this, value, header); + } + + if (isHeaderNameFilter) { + value = header; + } + + if (!utils$1.isString(value)) return; + + if (utils$1.isString(filter)) { + return value.indexOf(filter) !== -1; + } + + if (utils$1.isRegExp(filter)) { + return filter.test(value); + } +} + +function formatHeader(header) { + return header + .trim() + .toLowerCase() + .replace(/([a-z\d])(\w*)/g, (w, char, str) => { + return char.toUpperCase() + str; + }); +} + +function buildAccessors(obj, header) { + const accessorName = utils$1.toCamelCase(' ' + header); + + ['get', 'set', 'has'].forEach((methodName) => { + Object.defineProperty(obj, methodName + accessorName, { + value: function (arg1, arg2, arg3) { + return this[methodName].call(this, header, arg1, arg2, arg3); + }, + configurable: true, + }); + }); +} + +let AxiosHeaders$1 = class AxiosHeaders { + constructor(headers) { + headers && this.set(headers); + } + + set(header, valueOrRewrite, rewrite) { + const self = this; + + function setHeader(_value, _header, _rewrite) { + const lHeader = normalizeHeader(_header); + + if (!lHeader) { + throw new Error('header name must be a non-empty string'); + } + + const key = utils$1.findKey(self, lHeader); + + if ( + !key || + self[key] === undefined || + _rewrite === true || + (_rewrite === undefined && self[key] !== false) + ) { + self[key || _header] = normalizeValue(_value); + } + } + + const setHeaders = (headers, _rewrite) => + utils$1.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite)); + + if (utils$1.isPlainObject(header) || header instanceof this.constructor) { + setHeaders(header, valueOrRewrite); + } else if (utils$1.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { + setHeaders(parseHeaders(header), valueOrRewrite); + } else if (utils$1.isObject(header) && utils$1.isIterable(header)) { + let obj = {}, + dest, + key; + for (const entry of header) { + if (!utils$1.isArray(entry)) { + throw TypeError('Object iterator must return a key-value pair'); + } + + obj[(key = entry[0])] = (dest = obj[key]) + ? utils$1.isArray(dest) + ? [...dest, entry[1]] + : [dest, entry[1]] + : entry[1]; + } + + setHeaders(obj, valueOrRewrite); + } else { + header != null && setHeader(valueOrRewrite, header, rewrite); + } + + return this; + } + + get(header, parser) { + header = normalizeHeader(header); + + if (header) { + const key = utils$1.findKey(this, header); + + if (key) { + const value = this[key]; + + if (!parser) { + return value; + } + + if (parser === true) { + return parseTokens(value); + } + + if (utils$1.isFunction(parser)) { + return parser.call(this, value, key); + } + + if (utils$1.isRegExp(parser)) { + return parser.exec(value); + } + + throw new TypeError('parser must be boolean|regexp|function'); + } + } + } + + has(header, matcher) { + header = normalizeHeader(header); + + if (header) { + const key = utils$1.findKey(this, header); + + return !!( + key && + this[key] !== undefined && + (!matcher || matchHeaderValue(this, this[key], key, matcher)) + ); + } + + return false; + } + + delete(header, matcher) { + const self = this; + let deleted = false; + + function deleteHeader(_header) { + _header = normalizeHeader(_header); + + if (_header) { + const key = utils$1.findKey(self, _header); + + if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) { + delete self[key]; + + deleted = true; + } + } + } + + if (utils$1.isArray(header)) { + header.forEach(deleteHeader); + } else { + deleteHeader(header); + } + + return deleted; + } + + clear(matcher) { + const keys = Object.keys(this); + let i = keys.length; + let deleted = false; + + while (i--) { + const key = keys[i]; + if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { + delete this[key]; + deleted = true; + } + } + + return deleted; + } + + normalize(format) { + const self = this; + const headers = {}; + + utils$1.forEach(this, (value, header) => { + const key = utils$1.findKey(headers, header); + + if (key) { + self[key] = normalizeValue(value); + delete self[header]; + return; + } + + const normalized = format ? formatHeader(header) : String(header).trim(); + + if (normalized !== header) { + delete self[header]; + } + + self[normalized] = normalizeValue(value); + + headers[normalized] = true; + }); + + return this; + } + + concat(...targets) { + return this.constructor.concat(this, ...targets); + } + + toJSON(asStrings) { + const obj = Object.create(null); + + utils$1.forEach(this, (value, header) => { + value != null && + value !== false && + (obj[header] = asStrings && utils$1.isArray(value) ? value.join(', ') : value); + }); + + return obj; + } + + [Symbol.iterator]() { + return Object.entries(this.toJSON())[Symbol.iterator](); + } + + toString() { + return Object.entries(this.toJSON()) + .map(([header, value]) => header + ': ' + value) + .join('\n'); + } + + getSetCookie() { + return this.get('set-cookie') || []; + } + + get [Symbol.toStringTag]() { + return 'AxiosHeaders'; + } + + static from(thing) { + return thing instanceof this ? thing : new this(thing); + } + + static concat(first, ...targets) { + const computed = new this(first); + + targets.forEach((target) => computed.set(target)); + + return computed; + } + + static accessor(header) { + const internals = + (this[$internals] = + this[$internals] = + { + accessors: {}, + }); + + const accessors = internals.accessors; + const prototype = this.prototype; + + function defineAccessor(_header) { + const lHeader = normalizeHeader(_header); + + if (!accessors[lHeader]) { + buildAccessors(prototype, _header); + accessors[lHeader] = true; + } + } + + utils$1.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); + + return this; + } +}; + +AxiosHeaders$1.accessor([ + 'Content-Type', + 'Content-Length', + 'Accept', + 'Accept-Encoding', + 'User-Agent', + 'Authorization', +]); + +// reserved names hotfix +utils$1.reduceDescriptors(AxiosHeaders$1.prototype, ({ value }, key) => { + let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set` + return { + get: () => value, + set(headerValue) { + this[mapped] = headerValue; + }, + }; +}); + +utils$1.freezeMethods(AxiosHeaders$1); + +/** + * Transform the data for a request or a response + * + * @param {Array|Function} fns A single function or Array of functions + * @param {?Object} response The response object + * + * @returns {*} The resulting transformed data + */ +function transformData(fns, response) { + const config = this || defaults; + const context = response || config; + const headers = AxiosHeaders$1.from(context.headers); + let data = context.data; + + utils$1.forEach(fns, function transform(fn) { + data = fn.call(config, data, headers.normalize(), response ? response.status : undefined); + }); + + headers.normalize(); + + return data; +} + +function isCancel$1(value) { + return !!(value && value.__CANCEL__); +} + +let CanceledError$1 = class CanceledError extends AxiosError$1 { + /** + * A `CanceledError` is an object that is thrown when an operation is canceled. + * + * @param {string=} message The message. + * @param {Object=} config The config. + * @param {Object=} request The request. + * + * @returns {CanceledError} The created error. + */ + constructor(message, config, request) { + super(message == null ? 'canceled' : message, AxiosError$1.ERR_CANCELED, config, request); + this.name = 'CanceledError'; + this.__CANCEL__ = true; + } +}; + +/** + * Resolve or reject a Promise based on response status. + * + * @param {Function} resolve A function that resolves the promise. + * @param {Function} reject A function that rejects the promise. + * @param {object} response The response. + * + * @returns {object} The response. + */ +function settle(resolve, reject, response) { + const validateStatus = response.config.validateStatus; + if (!response.status || !validateStatus || validateStatus(response.status)) { + resolve(response); + } else { + reject( + new AxiosError$1( + 'Request failed with status code ' + response.status, + [AxiosError$1.ERR_BAD_REQUEST, AxiosError$1.ERR_BAD_RESPONSE][ + Math.floor(response.status / 100) - 4 + ], + response.config, + response.request, + response + ) + ); + } +} + +function parseProtocol(url) { + const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); + return (match && match[1]) || ''; +} + +/** + * Calculate data maxRate + * @param {Number} [samplesCount= 10] + * @param {Number} [min= 1000] + * @returns {Function} + */ +function speedometer(samplesCount, min) { + samplesCount = samplesCount || 10; + const bytes = new Array(samplesCount); + const timestamps = new Array(samplesCount); + let head = 0; + let tail = 0; + let firstSampleTS; + + min = min !== undefined ? min : 1000; + + return function push(chunkLength) { + const now = Date.now(); + + const startedAt = timestamps[tail]; + + if (!firstSampleTS) { + firstSampleTS = now; + } + + bytes[head] = chunkLength; + timestamps[head] = now; + + let i = tail; + let bytesCount = 0; + + while (i !== head) { + bytesCount += bytes[i++]; + i = i % samplesCount; + } + + head = (head + 1) % samplesCount; + + if (head === tail) { + tail = (tail + 1) % samplesCount; + } + + if (now - firstSampleTS < min) { + return; + } + + const passed = startedAt && now - startedAt; + + return passed ? Math.round((bytesCount * 1000) / passed) : undefined; + }; +} + +/** + * Throttle decorator + * @param {Function} fn + * @param {Number} freq + * @return {Function} + */ +function throttle(fn, freq) { + let timestamp = 0; + let threshold = 1000 / freq; + let lastArgs; + let timer; + + const invoke = (args, now = Date.now()) => { + timestamp = now; + lastArgs = null; + if (timer) { + clearTimeout(timer); + timer = null; + } + fn(...args); + }; + + const throttled = (...args) => { + const now = Date.now(); + const passed = now - timestamp; + if (passed >= threshold) { + invoke(args, now); + } else { + lastArgs = args; + if (!timer) { + timer = setTimeout(() => { + timer = null; + invoke(lastArgs); + }, threshold - passed); + } + } + }; + + const flush = () => lastArgs && invoke(lastArgs); + + return [throttled, flush]; +} + +const progressEventReducer = (listener, isDownloadStream, freq = 3) => { + let bytesNotified = 0; + const _speedometer = speedometer(50, 250); + + return throttle((e) => { + const loaded = e.loaded; + const total = e.lengthComputable ? e.total : undefined; + const progressBytes = loaded - bytesNotified; + const rate = _speedometer(progressBytes); + const inRange = loaded <= total; + + bytesNotified = loaded; + + const data = { + loaded, + total, + progress: total ? loaded / total : undefined, + bytes: progressBytes, + rate: rate ? rate : undefined, + estimated: rate && total && inRange ? (total - loaded) / rate : undefined, + event: e, + lengthComputable: total != null, + [isDownloadStream ? 'download' : 'upload']: true, + }; + + listener(data); + }, freq); +}; + +const progressEventDecorator = (total, throttled) => { + const lengthComputable = total != null; + + return [ + (loaded) => + throttled[0]({ + lengthComputable, + total, + loaded, + }), + throttled[1], + ]; +}; + +const asyncDecorator = + (fn) => + (...args) => + utils$1.asap(() => fn(...args)); + +var isURLSameOrigin = platform.hasStandardBrowserEnv + ? ((origin, isMSIE) => (url) => { + url = new URL(url, platform.origin); + + return ( + origin.protocol === url.protocol && + origin.host === url.host && + (isMSIE || origin.port === url.port) + ); + })( + new URL(platform.origin), + platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent) + ) + : () => true; + +var cookies = platform.hasStandardBrowserEnv + ? // Standard browser envs support document.cookie + { + write(name, value, expires, path, domain, secure, sameSite) { + if (typeof document === 'undefined') return; + + const cookie = [`${name}=${encodeURIComponent(value)}`]; + + if (utils$1.isNumber(expires)) { + cookie.push(`expires=${new Date(expires).toUTCString()}`); + } + if (utils$1.isString(path)) { + cookie.push(`path=${path}`); + } + if (utils$1.isString(domain)) { + cookie.push(`domain=${domain}`); + } + if (secure === true) { + cookie.push('secure'); + } + if (utils$1.isString(sameSite)) { + cookie.push(`SameSite=${sameSite}`); + } + + document.cookie = cookie.join('; '); + }, + + read(name) { + if (typeof document === 'undefined') return null; + const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)')); + return match ? decodeURIComponent(match[1]) : null; + }, + + remove(name) { + this.write(name, '', Date.now() - 86400000, '/'); + }, + } + : // Non-standard browser env (web workers, react-native) lack needed support. + { + write() {}, + read() { + return null; + }, + remove() {}, + }; + +/** + * Determines whether the specified URL is absolute + * + * @param {string} url The URL to test + * + * @returns {boolean} True if the specified URL is absolute, otherwise false + */ +function isAbsoluteURL(url) { + // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). + // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed + // by any combination of letters, digits, plus, period, or hyphen. + if (typeof url !== 'string') { + return false; + } + + return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); +} + +/** + * Creates a new URL by combining the specified URLs + * + * @param {string} baseURL The base URL + * @param {string} relativeURL The relative URL + * + * @returns {string} The combined URL + */ +function combineURLs(baseURL, relativeURL) { + return relativeURL + ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '') + : baseURL; +} + +/** + * Creates a new URL by combining the baseURL with the requestedURL, + * only when the requestedURL is not already an absolute URL. + * If the requestURL is absolute, this function returns the requestedURL untouched. + * + * @param {string} baseURL The base URL + * @param {string} requestedURL Absolute or relative URL to combine + * + * @returns {string} The combined full path + */ +function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) { + let isRelativeUrl = !isAbsoluteURL(requestedURL); + if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) { + return combineURLs(baseURL, requestedURL); + } + return requestedURL; +} + +const headersToObject = (thing) => (thing instanceof AxiosHeaders$1 ? { ...thing } : thing); + +/** + * Config-specific merge-function which creates a new config-object + * by merging two configuration objects together. + * + * @param {Object} config1 + * @param {Object} config2 + * + * @returns {Object} New object resulting from merging config2 to config1 + */ +function mergeConfig$1(config1, config2) { + // eslint-disable-next-line no-param-reassign + config2 = config2 || {}; + const config = {}; + + function getMergedValue(target, source, prop, caseless) { + if (utils$1.isPlainObject(target) && utils$1.isPlainObject(source)) { + return utils$1.merge.call({ caseless }, target, source); + } else if (utils$1.isPlainObject(source)) { + return utils$1.merge({}, source); + } else if (utils$1.isArray(source)) { + return source.slice(); + } + return source; + } + + function mergeDeepProperties(a, b, prop, caseless) { + if (!utils$1.isUndefined(b)) { + return getMergedValue(a, b, prop, caseless); + } else if (!utils$1.isUndefined(a)) { + return getMergedValue(undefined, a, prop, caseless); + } + } + + // eslint-disable-next-line consistent-return + function valueFromConfig2(a, b) { + if (!utils$1.isUndefined(b)) { + return getMergedValue(undefined, b); + } + } + + // eslint-disable-next-line consistent-return + function defaultToConfig2(a, b) { + if (!utils$1.isUndefined(b)) { + return getMergedValue(undefined, b); + } else if (!utils$1.isUndefined(a)) { + return getMergedValue(undefined, a); + } + } + + // eslint-disable-next-line consistent-return + function mergeDirectKeys(a, b, prop) { + if (prop in config2) { + return getMergedValue(a, b); + } else if (prop in config1) { + return getMergedValue(undefined, a); + } + } + + const mergeMap = { + url: valueFromConfig2, + method: valueFromConfig2, + data: valueFromConfig2, + baseURL: defaultToConfig2, + transformRequest: defaultToConfig2, + transformResponse: defaultToConfig2, + paramsSerializer: defaultToConfig2, + timeout: defaultToConfig2, + timeoutMessage: defaultToConfig2, + withCredentials: defaultToConfig2, + withXSRFToken: defaultToConfig2, + adapter: defaultToConfig2, + responseType: defaultToConfig2, + xsrfCookieName: defaultToConfig2, + xsrfHeaderName: defaultToConfig2, + onUploadProgress: defaultToConfig2, + onDownloadProgress: defaultToConfig2, + decompress: defaultToConfig2, + maxContentLength: defaultToConfig2, + maxBodyLength: defaultToConfig2, + beforeRedirect: defaultToConfig2, + transport: defaultToConfig2, + httpAgent: defaultToConfig2, + httpsAgent: defaultToConfig2, + cancelToken: defaultToConfig2, + socketPath: defaultToConfig2, + responseEncoding: defaultToConfig2, + validateStatus: mergeDirectKeys, + headers: (a, b, prop) => + mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true), + }; + + utils$1.forEach(Object.keys({ ...config1, ...config2 }), function computeConfigValue(prop) { + if (prop === '__proto__' || prop === 'constructor' || prop === 'prototype') return; + const merge = utils$1.hasOwnProp(mergeMap, prop) ? mergeMap[prop] : mergeDeepProperties; + const configValue = merge(config1[prop], config2[prop], prop); + (utils$1.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue); + }); + + return config; +} + +var resolveConfig = (config) => { + const newConfig = mergeConfig$1({}, config); + + let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig; + + newConfig.headers = headers = AxiosHeaders$1.from(headers); + + newConfig.url = buildURL( + buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), + config.params, + config.paramsSerializer + ); + + // HTTP basic authentication + if (auth) { + headers.set( + 'Authorization', + 'Basic ' + + btoa( + (auth.username || '') + + ':' + + (auth.password ? unescape(encodeURIComponent(auth.password)) : '') + ) + ); + } + + if (utils$1.isFormData(data)) { + if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) { + headers.setContentType(undefined); // browser handles it + } else if (utils$1.isFunction(data.getHeaders)) { + // Node.js FormData (like form-data package) + const formHeaders = data.getHeaders(); + // Only set safe headers to avoid overwriting security headers + const allowedHeaders = ['content-type', 'content-length']; + Object.entries(formHeaders).forEach(([key, val]) => { + if (allowedHeaders.includes(key.toLowerCase())) { + headers.set(key, val); + } + }); + } + } + + // Add xsrf header + // This is only done if running in a standard browser environment. + // Specifically not if we're in a web worker, or react-native. + + if (platform.hasStandardBrowserEnv) { + withXSRFToken && utils$1.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig)); + + if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) { + // Add xsrf header + const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName); + + if (xsrfValue) { + headers.set(xsrfHeaderName, xsrfValue); + } + } + } + + return newConfig; +}; + +const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; + +var xhrAdapter = isXHRAdapterSupported && + function (config) { + return new Promise(function dispatchXhrRequest(resolve, reject) { + const _config = resolveConfig(config); + let requestData = _config.data; + const requestHeaders = AxiosHeaders$1.from(_config.headers).normalize(); + let { responseType, onUploadProgress, onDownloadProgress } = _config; + let onCanceled; + let uploadThrottled, downloadThrottled; + let flushUpload, flushDownload; + + function done() { + flushUpload && flushUpload(); // flush events + flushDownload && flushDownload(); // flush events + + _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled); + + _config.signal && _config.signal.removeEventListener('abort', onCanceled); + } + + let request = new XMLHttpRequest(); + + request.open(_config.method.toUpperCase(), _config.url, true); + + // Set the request timeout in MS + request.timeout = _config.timeout; + + function onloadend() { + if (!request) { + return; + } + // Prepare the response + const responseHeaders = AxiosHeaders$1.from( + 'getAllResponseHeaders' in request && request.getAllResponseHeaders() + ); + const responseData = + !responseType || responseType === 'text' || responseType === 'json' + ? request.responseText + : request.response; + const response = { + data: responseData, + status: request.status, + statusText: request.statusText, + headers: responseHeaders, + config, + request, + }; + + settle( + function _resolve(value) { + resolve(value); + done(); + }, + function _reject(err) { + reject(err); + done(); + }, + response + ); + + // Clean up request + request = null; + } + + if ('onloadend' in request) { + // Use onloadend if available + request.onloadend = onloadend; + } else { + // Listen for ready state to emulate onloadend + request.onreadystatechange = function handleLoad() { + if (!request || request.readyState !== 4) { + return; + } + + // The request errored out and we didn't get a response, this will be + // handled by onerror instead + // With one exception: request that using file: protocol, most browsers + // will return status as 0 even though it's a successful request + if ( + request.status === 0 && + !(request.responseURL && request.responseURL.indexOf('file:') === 0) + ) { + return; + } + // readystate handler is calling before onerror or ontimeout handlers, + // so we should call onloadend on the next 'tick' + setTimeout(onloadend); + }; + } + + // Handle browser request cancellation (as opposed to a manual cancellation) + request.onabort = function handleAbort() { + if (!request) { + return; + } + + reject(new AxiosError$1('Request aborted', AxiosError$1.ECONNABORTED, config, request)); + + // Clean up request + request = null; + }; + + // Handle low level network errors + request.onerror = function handleError(event) { + // Browsers deliver a ProgressEvent in XHR onerror + // (message may be empty; when present, surface it) + // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event + const msg = event && event.message ? event.message : 'Network Error'; + const err = new AxiosError$1(msg, AxiosError$1.ERR_NETWORK, config, request); + // attach the underlying event for consumers who want details + err.event = event || null; + reject(err); + request = null; + }; + + // Handle timeout + request.ontimeout = function handleTimeout() { + let timeoutErrorMessage = _config.timeout + ? 'timeout of ' + _config.timeout + 'ms exceeded' + : 'timeout exceeded'; + const transitional = _config.transitional || transitionalDefaults; + if (_config.timeoutErrorMessage) { + timeoutErrorMessage = _config.timeoutErrorMessage; + } + reject( + new AxiosError$1( + timeoutErrorMessage, + transitional.clarifyTimeoutError ? AxiosError$1.ETIMEDOUT : AxiosError$1.ECONNABORTED, + config, + request + ) + ); + + // Clean up request + request = null; + }; + + // Remove Content-Type if data is undefined + requestData === undefined && requestHeaders.setContentType(null); + + // Add headers to the request + if ('setRequestHeader' in request) { + utils$1.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { + request.setRequestHeader(key, val); + }); + } + + // Add withCredentials to request if needed + if (!utils$1.isUndefined(_config.withCredentials)) { + request.withCredentials = !!_config.withCredentials; + } + + // Add responseType to request if needed + if (responseType && responseType !== 'json') { + request.responseType = _config.responseType; + } + + // Handle progress if needed + if (onDownloadProgress) { + [downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true); + request.addEventListener('progress', downloadThrottled); + } + + // Not all browsers support upload events + if (onUploadProgress && request.upload) { + [uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress); + + request.upload.addEventListener('progress', uploadThrottled); + + request.upload.addEventListener('loadend', flushUpload); + } + + if (_config.cancelToken || _config.signal) { + // Handle cancellation + // eslint-disable-next-line func-names + onCanceled = (cancel) => { + if (!request) { + return; + } + reject(!cancel || cancel.type ? new CanceledError$1(null, config, request) : cancel); + request.abort(); + request = null; + }; + + _config.cancelToken && _config.cancelToken.subscribe(onCanceled); + if (_config.signal) { + _config.signal.aborted + ? onCanceled() + : _config.signal.addEventListener('abort', onCanceled); + } + } + + const protocol = parseProtocol(_config.url); + + if (protocol && platform.protocols.indexOf(protocol) === -1) { + reject( + new AxiosError$1( + 'Unsupported protocol ' + protocol + ':', + AxiosError$1.ERR_BAD_REQUEST, + config + ) + ); + return; + } + + // Send the request + request.send(requestData || null); + }); + }; + +const composeSignals = (signals, timeout) => { + const { length } = (signals = signals ? signals.filter(Boolean) : []); + + if (timeout || length) { + let controller = new AbortController(); + + let aborted; + + const onabort = function (reason) { + if (!aborted) { + aborted = true; + unsubscribe(); + const err = reason instanceof Error ? reason : this.reason; + controller.abort( + err instanceof AxiosError$1 + ? err + : new CanceledError$1(err instanceof Error ? err.message : err) + ); + } + }; + + let timer = + timeout && + setTimeout(() => { + timer = null; + onabort(new AxiosError$1(`timeout of ${timeout}ms exceeded`, AxiosError$1.ETIMEDOUT)); + }, timeout); + + const unsubscribe = () => { + if (signals) { + timer && clearTimeout(timer); + timer = null; + signals.forEach((signal) => { + signal.unsubscribe + ? signal.unsubscribe(onabort) + : signal.removeEventListener('abort', onabort); + }); + signals = null; + } + }; + + signals.forEach((signal) => signal.addEventListener('abort', onabort)); + + const { signal } = controller; + + signal.unsubscribe = () => utils$1.asap(unsubscribe); + + return signal; + } +}; + +const streamChunk = function* (chunk, chunkSize) { + let len = chunk.byteLength; + + if (len < chunkSize) { + yield chunk; + return; + } + + let pos = 0; + let end; + + while (pos < len) { + end = pos + chunkSize; + yield chunk.slice(pos, end); + pos = end; + } +}; + +const readBytes = async function* (iterable, chunkSize) { + for await (const chunk of readStream(iterable)) { + yield* streamChunk(chunk, chunkSize); + } +}; + +const readStream = async function* (stream) { + if (stream[Symbol.asyncIterator]) { + yield* stream; + return; + } + + const reader = stream.getReader(); + try { + for (;;) { + const { done, value } = await reader.read(); + if (done) { + break; + } + yield value; + } + } finally { + await reader.cancel(); + } +}; + +const trackStream = (stream, chunkSize, onProgress, onFinish) => { + const iterator = readBytes(stream, chunkSize); + + let bytes = 0; + let done; + let _onFinish = (e) => { + if (!done) { + done = true; + onFinish && onFinish(e); + } + }; + + return new ReadableStream( + { + async pull(controller) { + try { + const { done, value } = await iterator.next(); + + if (done) { + _onFinish(); + controller.close(); + return; + } + + let len = value.byteLength; + if (onProgress) { + let loadedBytes = (bytes += len); + onProgress(loadedBytes); + } + controller.enqueue(new Uint8Array(value)); + } catch (err) { + _onFinish(err); + throw err; + } + }, + cancel(reason) { + _onFinish(reason); + return iterator.return(); + }, + }, + { + highWaterMark: 2, + } + ); +}; + +const DEFAULT_CHUNK_SIZE = 64 * 1024; + +const { isFunction } = utils$1; + +const globalFetchAPI = (({ Request, Response }) => ({ + Request, + Response, +}))(utils$1.global); + +const { ReadableStream: ReadableStream$1, TextEncoder } = utils$1.global; + +const test = (fn, ...args) => { + try { + return !!fn(...args); + } catch (e) { + return false; + } +}; + +const factory = (env) => { + env = utils$1.merge.call( + { + skipUndefined: true, + }, + globalFetchAPI, + env + ); + + const { fetch: envFetch, Request, Response } = env; + const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function'; + const isRequestSupported = isFunction(Request); + const isResponseSupported = isFunction(Response); + + if (!isFetchSupported) { + return false; + } + + const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream$1); + + const encodeText = + isFetchSupported && + (typeof TextEncoder === 'function' + ? ( + (encoder) => (str) => + encoder.encode(str) + )(new TextEncoder()) + : async (str) => new Uint8Array(await new Request(str).arrayBuffer())); + + const supportsRequestStream = + isRequestSupported && + isReadableStreamSupported && + test(() => { + let duplexAccessed = false; + + const body = new ReadableStream$1(); + + const hasContentType = new Request(platform.origin, { + body, + method: 'POST', + get duplex() { + duplexAccessed = true; + return 'half'; + }, + }).headers.has('Content-Type'); + + body.cancel(); + + return duplexAccessed && !hasContentType; + }); + + const supportsResponseStream = + isResponseSupported && + isReadableStreamSupported && + test(() => utils$1.isReadableStream(new Response('').body)); + + const resolvers = { + stream: supportsResponseStream && ((res) => res.body), + }; + + isFetchSupported && + (() => { + ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach((type) => { + !resolvers[type] && + (resolvers[type] = (res, config) => { + let method = res && res[type]; + + if (method) { + return method.call(res); + } + + throw new AxiosError$1( + `Response type '${type}' is not supported`, + AxiosError$1.ERR_NOT_SUPPORT, + config + ); + }); + }); + })(); + + const getBodyLength = async (body) => { + if (body == null) { + return 0; + } + + if (utils$1.isBlob(body)) { + return body.size; + } + + if (utils$1.isSpecCompliantForm(body)) { + const _request = new Request(platform.origin, { + method: 'POST', + body, + }); + return (await _request.arrayBuffer()).byteLength; + } + + if (utils$1.isArrayBufferView(body) || utils$1.isArrayBuffer(body)) { + return body.byteLength; + } + + if (utils$1.isURLSearchParams(body)) { + body = body + ''; + } + + if (utils$1.isString(body)) { + return (await encodeText(body)).byteLength; + } + }; + + const resolveBodyLength = async (headers, body) => { + const length = utils$1.toFiniteNumber(headers.getContentLength()); + + return length == null ? getBodyLength(body) : length; + }; + + return async (config) => { + let { + url, + method, + data, + signal, + cancelToken, + timeout, + onDownloadProgress, + onUploadProgress, + responseType, + headers, + withCredentials = 'same-origin', + fetchOptions, + } = resolveConfig(config); + + let _fetch = envFetch || fetch; + + responseType = responseType ? (responseType + '').toLowerCase() : 'text'; + + let composedSignal = composeSignals( + [signal, cancelToken && cancelToken.toAbortSignal()], + timeout + ); + + let request = null; + + const unsubscribe = + composedSignal && + composedSignal.unsubscribe && + (() => { + composedSignal.unsubscribe(); + }); + + let requestContentLength; + + try { + if ( + onUploadProgress && + supportsRequestStream && + method !== 'get' && + method !== 'head' && + (requestContentLength = await resolveBodyLength(headers, data)) !== 0 + ) { + let _request = new Request(url, { + method: 'POST', + body: data, + duplex: 'half', + }); + + let contentTypeHeader; + + if (utils$1.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) { + headers.setContentType(contentTypeHeader); + } + + if (_request.body) { + const [onProgress, flush] = progressEventDecorator( + requestContentLength, + progressEventReducer(asyncDecorator(onUploadProgress)) + ); + + data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush); + } + } + + if (!utils$1.isString(withCredentials)) { + withCredentials = withCredentials ? 'include' : 'omit'; + } + + // Cloudflare Workers throws when credentials are defined + // see https://github.com/cloudflare/workerd/issues/902 + const isCredentialsSupported = isRequestSupported && 'credentials' in Request.prototype; + + const resolvedOptions = { + ...fetchOptions, + signal: composedSignal, + method: method.toUpperCase(), + headers: headers.normalize().toJSON(), + body: data, + duplex: 'half', + credentials: isCredentialsSupported ? withCredentials : undefined, + }; + + request = isRequestSupported && new Request(url, resolvedOptions); + + let response = await (isRequestSupported + ? _fetch(request, fetchOptions) + : _fetch(url, resolvedOptions)); + + const isStreamResponse = + supportsResponseStream && (responseType === 'stream' || responseType === 'response'); + + if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) { + const options = {}; + + ['status', 'statusText', 'headers'].forEach((prop) => { + options[prop] = response[prop]; + }); + + const responseContentLength = utils$1.toFiniteNumber(response.headers.get('content-length')); + + const [onProgress, flush] = + (onDownloadProgress && + progressEventDecorator( + responseContentLength, + progressEventReducer(asyncDecorator(onDownloadProgress), true) + )) || + []; + + response = new Response( + trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => { + flush && flush(); + unsubscribe && unsubscribe(); + }), + options + ); + } + + responseType = responseType || 'text'; + + let responseData = await resolvers[utils$1.findKey(resolvers, responseType) || 'text']( + response, + config + ); + + !isStreamResponse && unsubscribe && unsubscribe(); + + return await new Promise((resolve, reject) => { + settle(resolve, reject, { + data: responseData, + headers: AxiosHeaders$1.from(response.headers), + status: response.status, + statusText: response.statusText, + config, + request, + }); + }); + } catch (err) { + unsubscribe && unsubscribe(); + + if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) { + throw Object.assign( + new AxiosError$1( + 'Network Error', + AxiosError$1.ERR_NETWORK, + config, + request, + err && err.response + ), + { + cause: err.cause || err, + } + ); + } + + throw AxiosError$1.from(err, err && err.code, config, request, err && err.response); + } + }; +}; + +const seedCache = new Map(); + +const getFetch = (config) => { + let env = (config && config.env) || {}; + const { fetch, Request, Response } = env; + const seeds = [Request, Response, fetch]; + + let len = seeds.length, + i = len, + seed, + target, + map = seedCache; + + while (i--) { + seed = seeds[i]; + target = map.get(seed); + + target === undefined && map.set(seed, (target = i ? new Map() : factory(env))); + + map = target; + } + + return target; +}; + +getFetch(); + +/** + * Known adapters mapping. + * Provides environment-specific adapters for Axios: + * - `http` for Node.js + * - `xhr` for browsers + * - `fetch` for fetch API-based requests + * + * @type {Object} + */ +const knownAdapters = { + http: httpAdapter, + xhr: xhrAdapter, + fetch: { + get: getFetch, + }, +}; + +// Assign adapter names for easier debugging and identification +utils$1.forEach(knownAdapters, (fn, value) => { + if (fn) { + try { + Object.defineProperty(fn, 'name', { value }); + } catch (e) { + // eslint-disable-next-line no-empty + } + Object.defineProperty(fn, 'adapterName', { value }); + } +}); + +/** + * Render a rejection reason string for unknown or unsupported adapters + * + * @param {string} reason + * @returns {string} + */ +const renderReason = (reason) => `- ${reason}`; + +/** + * Check if the adapter is resolved (function, null, or false) + * + * @param {Function|null|false} adapter + * @returns {boolean} + */ +const isResolvedHandle = (adapter) => + utils$1.isFunction(adapter) || adapter === null || adapter === false; + +/** + * Get the first suitable adapter from the provided list. + * Tries each adapter in order until a supported one is found. + * Throws an AxiosError if no adapter is suitable. + * + * @param {Array|string|Function} adapters - Adapter(s) by name or function. + * @param {Object} config - Axios request configuration + * @throws {AxiosError} If no suitable adapter is available + * @returns {Function} The resolved adapter function + */ +function getAdapter$1(adapters, config) { + adapters = utils$1.isArray(adapters) ? adapters : [adapters]; + + const { length } = adapters; + let nameOrAdapter; + let adapter; + + const rejectedReasons = {}; + + for (let i = 0; i < length; i++) { + nameOrAdapter = adapters[i]; + let id; + + adapter = nameOrAdapter; + + if (!isResolvedHandle(nameOrAdapter)) { + adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()]; + + if (adapter === undefined) { + throw new AxiosError$1(`Unknown adapter '${id}'`); + } + } + + if (adapter && (utils$1.isFunction(adapter) || (adapter = adapter.get(config)))) { + break; + } + + rejectedReasons[id || '#' + i] = adapter; + } + + if (!adapter) { + const reasons = Object.entries(rejectedReasons).map( + ([id, state]) => + `adapter ${id} ` + + (state === false ? 'is not supported by the environment' : 'is not available in the build') + ); + + let s = length + ? reasons.length > 1 + ? 'since :\n' + reasons.map(renderReason).join('\n') + : ' ' + renderReason(reasons[0]) + : 'as no adapter specified'; + + throw new AxiosError$1( + `There is no suitable adapter to dispatch the request ` + s, + 'ERR_NOT_SUPPORT' + ); + } + + return adapter; +} + +/** + * Exports Axios adapters and utility to resolve an adapter + */ +var adapters = { + /** + * Resolve an adapter from a list of adapter names or functions. + * @type {Function} + */ + getAdapter: getAdapter$1, + + /** + * Exposes all known adapters + * @type {Object} + */ + adapters: knownAdapters, +}; + +/** + * Throws a `CanceledError` if cancellation has been requested. + * + * @param {Object} config The config that is to be used for the request + * + * @returns {void} + */ +function throwIfCancellationRequested(config) { + if (config.cancelToken) { + config.cancelToken.throwIfRequested(); + } + + if (config.signal && config.signal.aborted) { + throw new CanceledError$1(null, config); + } +} + +/** + * Dispatch a request to the server using the configured adapter. + * + * @param {object} config The config that is to be used for the request + * + * @returns {Promise} The Promise to be fulfilled + */ +function dispatchRequest(config) { + throwIfCancellationRequested(config); + + config.headers = AxiosHeaders$1.from(config.headers); + + // Transform request data + config.data = transformData.call(config, config.transformRequest); + + if (['post', 'put', 'patch'].indexOf(config.method) !== -1) { + config.headers.setContentType('application/x-www-form-urlencoded', false); + } + + const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config); + + return adapter(config).then( + function onAdapterResolution(response) { + throwIfCancellationRequested(config); + + // Transform response data + response.data = transformData.call(config, config.transformResponse, response); + + response.headers = AxiosHeaders$1.from(response.headers); + + return response; + }, + function onAdapterRejection(reason) { + if (!isCancel$1(reason)) { + throwIfCancellationRequested(config); + + // Transform response data + if (reason && reason.response) { + reason.response.data = transformData.call( + config, + config.transformResponse, + reason.response + ); + reason.response.headers = AxiosHeaders$1.from(reason.response.headers); + } + } + + return Promise.reject(reason); + } + ); +} + +const VERSION$1 = "1.14.0"; + +const validators$1 = {}; + +// eslint-disable-next-line func-names +['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => { + validators$1[type] = function validator(thing) { + return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type; + }; +}); + +const deprecatedWarnings = {}; + +/** + * Transitional option validator + * + * @param {function|boolean?} validator - set to false if the transitional option has been removed + * @param {string?} version - deprecated version / removed since version + * @param {string?} message - some message with additional info + * + * @returns {function} + */ +validators$1.transitional = function transitional(validator, version, message) { + function formatMessage(opt, desc) { + return ( + '[Axios v' + + VERSION$1 + + "] Transitional option '" + + opt + + "'" + + desc + + (message ? '. ' + message : '') + ); + } + + // eslint-disable-next-line func-names + return (value, opt, opts) => { + if (validator === false) { + throw new AxiosError$1( + formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), + AxiosError$1.ERR_DEPRECATED + ); + } + + if (version && !deprecatedWarnings[opt]) { + deprecatedWarnings[opt] = true; + // eslint-disable-next-line no-console + console.warn( + formatMessage( + opt, + ' has been deprecated since v' + version + ' and will be removed in the near future' + ) + ); + } + + return validator ? validator(value, opt, opts) : true; + }; +}; + +validators$1.spelling = function spelling(correctSpelling) { + return (value, opt) => { + // eslint-disable-next-line no-console + console.warn(`${opt} is likely a misspelling of ${correctSpelling}`); + return true; + }; +}; + +/** + * Assert object's properties type + * + * @param {object} options + * @param {object} schema + * @param {boolean?} allowUnknown + * + * @returns {object} + */ + +function assertOptions(options, schema, allowUnknown) { + if (typeof options !== 'object') { + throw new AxiosError$1('options must be an object', AxiosError$1.ERR_BAD_OPTION_VALUE); + } + const keys = Object.keys(options); + let i = keys.length; + while (i-- > 0) { + const opt = keys[i]; + const validator = schema[opt]; + if (validator) { + const value = options[opt]; + const result = value === undefined || validator(value, opt, options); + if (result !== true) { + throw new AxiosError$1( + 'option ' + opt + ' must be ' + result, + AxiosError$1.ERR_BAD_OPTION_VALUE + ); + } + continue; + } + if (allowUnknown !== true) { + throw new AxiosError$1('Unknown option ' + opt, AxiosError$1.ERR_BAD_OPTION); + } + } +} + +var validator = { + assertOptions, + validators: validators$1, +}; + +const validators = validator.validators; + +/** + * Create a new instance of Axios + * + * @param {Object} instanceConfig The default config for the instance + * + * @return {Axios} A new instance of Axios + */ +let Axios$1 = class Axios { + constructor(instanceConfig) { + this.defaults = instanceConfig || {}; + this.interceptors = { + request: new InterceptorManager(), + response: new InterceptorManager(), + }; + } + + /** + * Dispatch a request + * + * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) + * @param {?Object} config + * + * @returns {Promise} The Promise to be fulfilled + */ + async request(configOrUrl, config) { + try { + return await this._request(configOrUrl, config); + } catch (err) { + if (err instanceof Error) { + let dummy = {}; + + Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error()); + + // slice off the Error: ... line + const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, '') : ''; + try { + if (!err.stack) { + err.stack = stack; + // match without the 2 top stack lines + } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ''))) { + err.stack += '\n' + stack; + } + } catch (e) { + // ignore the case where "stack" is an un-writable property + } + } + + throw err; + } + } + + _request(configOrUrl, config) { + /*eslint no-param-reassign:0*/ + // Allow for axios('example/url'[, config]) a la fetch API + if (typeof configOrUrl === 'string') { + config = config || {}; + config.url = configOrUrl; + } else { + config = configOrUrl || {}; + } + + config = mergeConfig$1(this.defaults, config); + + const { transitional, paramsSerializer, headers } = config; + + if (transitional !== undefined) { + validator.assertOptions( + transitional, + { + silentJSONParsing: validators.transitional(validators.boolean), + forcedJSONParsing: validators.transitional(validators.boolean), + clarifyTimeoutError: validators.transitional(validators.boolean), + legacyInterceptorReqResOrdering: validators.transitional(validators.boolean), + }, + false + ); + } + + if (paramsSerializer != null) { + if (utils$1.isFunction(paramsSerializer)) { + config.paramsSerializer = { + serialize: paramsSerializer, + }; + } else { + validator.assertOptions( + paramsSerializer, + { + encode: validators.function, + serialize: validators.function, + }, + true + ); + } + } + + // Set config.allowAbsoluteUrls + if (config.allowAbsoluteUrls !== undefined) ; else if (this.defaults.allowAbsoluteUrls !== undefined) { + config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls; + } else { + config.allowAbsoluteUrls = true; + } + + validator.assertOptions( + config, + { + baseUrl: validators.spelling('baseURL'), + withXsrfToken: validators.spelling('withXSRFToken'), + }, + true + ); + + // Set config.method + config.method = (config.method || this.defaults.method || 'get').toLowerCase(); + + // Flatten headers + let contextHeaders = headers && utils$1.merge(headers.common, headers[config.method]); + + headers && + utils$1.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], (method) => { + delete headers[method]; + }); + + config.headers = AxiosHeaders$1.concat(contextHeaders, headers); + + // filter out skipped interceptors + const requestInterceptorChain = []; + let synchronousRequestInterceptors = true; + this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { + if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { + return; + } + + synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; + + const transitional = config.transitional || transitionalDefaults; + const legacyInterceptorReqResOrdering = + transitional && transitional.legacyInterceptorReqResOrdering; + + if (legacyInterceptorReqResOrdering) { + requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); + } else { + requestInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); + } + }); + + const responseInterceptorChain = []; + this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { + responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); + }); + + let promise; + let i = 0; + let len; + + if (!synchronousRequestInterceptors) { + const chain = [dispatchRequest.bind(this), undefined]; + chain.unshift(...requestInterceptorChain); + chain.push(...responseInterceptorChain); + len = chain.length; + + promise = Promise.resolve(config); + + while (i < len) { + promise = promise.then(chain[i++], chain[i++]); + } + + return promise; + } + + len = requestInterceptorChain.length; + + let newConfig = config; + + while (i < len) { + const onFulfilled = requestInterceptorChain[i++]; + const onRejected = requestInterceptorChain[i++]; + try { + newConfig = onFulfilled(newConfig); + } catch (error) { + onRejected.call(this, error); + break; + } + } + + try { + promise = dispatchRequest.call(this, newConfig); + } catch (error) { + return Promise.reject(error); + } + + i = 0; + len = responseInterceptorChain.length; + + while (i < len) { + promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); + } + + return promise; + } + + getUri(config) { + config = mergeConfig$1(this.defaults, config); + const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls); + return buildURL(fullPath, config.params, config.paramsSerializer); + } +}; + +// Provide aliases for supported request methods +utils$1.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { + /*eslint func-names:0*/ + Axios$1.prototype[method] = function (url, config) { + return this.request( + mergeConfig$1(config || {}, { + method, + url, + data: (config || {}).data, + }) + ); + }; +}); + +utils$1.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + function generateHTTPMethod(isForm) { + return function httpMethod(url, data, config) { + return this.request( + mergeConfig$1(config || {}, { + method, + headers: isForm + ? { + 'Content-Type': 'multipart/form-data', + } + : {}, + url, + data, + }) + ); + }; + } + + Axios$1.prototype[method] = generateHTTPMethod(); + + Axios$1.prototype[method + 'Form'] = generateHTTPMethod(true); +}); + +/** + * A `CancelToken` is an object that can be used to request cancellation of an operation. + * + * @param {Function} executor The executor function. + * + * @returns {CancelToken} + */ +let CancelToken$1 = class CancelToken { + constructor(executor) { + if (typeof executor !== 'function') { + throw new TypeError('executor must be a function.'); + } + + let resolvePromise; + + this.promise = new Promise(function promiseExecutor(resolve) { + resolvePromise = resolve; + }); + + const token = this; + + // eslint-disable-next-line func-names + this.promise.then((cancel) => { + if (!token._listeners) return; + + let i = token._listeners.length; + + while (i-- > 0) { + token._listeners[i](cancel); + } + token._listeners = null; + }); + + // eslint-disable-next-line func-names + this.promise.then = (onfulfilled) => { + let _resolve; + // eslint-disable-next-line func-names + const promise = new Promise((resolve) => { + token.subscribe(resolve); + _resolve = resolve; + }).then(onfulfilled); + + promise.cancel = function reject() { + token.unsubscribe(_resolve); + }; + + return promise; + }; + + executor(function cancel(message, config, request) { + if (token.reason) { + // Cancellation has already been requested + return; + } + + token.reason = new CanceledError$1(message, config, request); + resolvePromise(token.reason); + }); + } + + /** + * Throws a `CanceledError` if cancellation has been requested. + */ + throwIfRequested() { + if (this.reason) { + throw this.reason; + } + } + + /** + * Subscribe to the cancel signal + */ + + subscribe(listener) { + if (this.reason) { + listener(this.reason); + return; + } + + if (this._listeners) { + this._listeners.push(listener); + } else { + this._listeners = [listener]; + } + } + + /** + * Unsubscribe from the cancel signal + */ + + unsubscribe(listener) { + if (!this._listeners) { + return; + } + const index = this._listeners.indexOf(listener); + if (index !== -1) { + this._listeners.splice(index, 1); + } + } + + toAbortSignal() { + const controller = new AbortController(); + + const abort = (err) => { + controller.abort(err); + }; + + this.subscribe(abort); + + controller.signal.unsubscribe = () => this.unsubscribe(abort); + + return controller.signal; + } + + /** + * Returns an object that contains a new `CancelToken` and a function that, when called, + * cancels the `CancelToken`. + */ + static source() { + let cancel; + const token = new CancelToken(function executor(c) { + cancel = c; + }); + return { + token, + cancel, + }; + } +}; + +/** + * Syntactic sugar for invoking a function and expanding an array for arguments. + * + * Common use case would be to use `Function.prototype.apply`. + * + * ```js + * function f(x, y, z) {} + * const args = [1, 2, 3]; + * f.apply(null, args); + * ``` + * + * With `spread` this example can be re-written. + * + * ```js + * spread(function(x, y, z) {})([1, 2, 3]); + * ``` + * + * @param {Function} callback + * + * @returns {Function} + */ +function spread$1(callback) { + return function wrap(arr) { + return callback.apply(null, arr); + }; +} + +/** + * Determines whether the payload is an error thrown by Axios + * + * @param {*} payload The value to test + * + * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false + */ +function isAxiosError$1(payload) { + return utils$1.isObject(payload) && payload.isAxiosError === true; +} + +const HttpStatusCode$1 = { + Continue: 100, + SwitchingProtocols: 101, + Processing: 102, + EarlyHints: 103, + Ok: 200, + Created: 201, + Accepted: 202, + NonAuthoritativeInformation: 203, + NoContent: 204, + ResetContent: 205, + PartialContent: 206, + MultiStatus: 207, + AlreadyReported: 208, + ImUsed: 226, + MultipleChoices: 300, + MovedPermanently: 301, + Found: 302, + SeeOther: 303, + NotModified: 304, + UseProxy: 305, + Unused: 306, + TemporaryRedirect: 307, + PermanentRedirect: 308, + BadRequest: 400, + Unauthorized: 401, + PaymentRequired: 402, + Forbidden: 403, + NotFound: 404, + MethodNotAllowed: 405, + NotAcceptable: 406, + ProxyAuthenticationRequired: 407, + RequestTimeout: 408, + Conflict: 409, + Gone: 410, + LengthRequired: 411, + PreconditionFailed: 412, + PayloadTooLarge: 413, + UriTooLong: 414, + UnsupportedMediaType: 415, + RangeNotSatisfiable: 416, + ExpectationFailed: 417, + ImATeapot: 418, + MisdirectedRequest: 421, + UnprocessableEntity: 422, + Locked: 423, + FailedDependency: 424, + TooEarly: 425, + UpgradeRequired: 426, + PreconditionRequired: 428, + TooManyRequests: 429, + RequestHeaderFieldsTooLarge: 431, + UnavailableForLegalReasons: 451, + InternalServerError: 500, + NotImplemented: 501, + BadGateway: 502, + ServiceUnavailable: 503, + GatewayTimeout: 504, + HttpVersionNotSupported: 505, + VariantAlsoNegotiates: 506, + InsufficientStorage: 507, + LoopDetected: 508, + NotExtended: 510, + NetworkAuthenticationRequired: 511, + WebServerIsDown: 521, + ConnectionTimedOut: 522, + OriginIsUnreachable: 523, + TimeoutOccurred: 524, + SslHandshakeFailed: 525, + InvalidSslCertificate: 526, +}; + +Object.entries(HttpStatusCode$1).forEach(([key, value]) => { + HttpStatusCode$1[value] = key; +}); + +/** + * Create an instance of Axios + * + * @param {Object} defaultConfig The default config for the instance + * + * @returns {Axios} A new instance of Axios + */ +function createInstance(defaultConfig) { + const context = new Axios$1(defaultConfig); + const instance = bind(Axios$1.prototype.request, context); + + // Copy axios.prototype to instance + utils$1.extend(instance, Axios$1.prototype, context, { allOwnKeys: true }); + + // Copy context to instance + utils$1.extend(instance, context, null, { allOwnKeys: true }); + + // Factory for creating new instances + instance.create = function create(instanceConfig) { + return createInstance(mergeConfig$1(defaultConfig, instanceConfig)); + }; + + return instance; +} + +// Create the default instance to be exported +const axios = createInstance(defaults); + +// Expose Axios class to allow class inheritance +axios.Axios = Axios$1; + +// Expose Cancel & CancelToken +axios.CanceledError = CanceledError$1; +axios.CancelToken = CancelToken$1; +axios.isCancel = isCancel$1; +axios.VERSION = VERSION$1; +axios.toFormData = toFormData$1; + +// Expose AxiosError class +axios.AxiosError = AxiosError$1; + +// alias for CanceledError for backward compatibility +axios.Cancel = axios.CanceledError; + +// Expose all/spread +axios.all = function all(promises) { + return Promise.all(promises); +}; + +axios.spread = spread$1; + +// Expose isAxiosError +axios.isAxiosError = isAxiosError$1; + +// Expose mergeConfig +axios.mergeConfig = mergeConfig$1; + +axios.AxiosHeaders = AxiosHeaders$1; + +axios.formToJSON = (thing) => formDataToJSON(utils$1.isHTMLForm(thing) ? new FormData(thing) : thing); + +axios.getAdapter = adapters.getAdapter; + +axios.HttpStatusCode = HttpStatusCode$1; + +axios.default = axios; + +// This module is intended to unwrap Axios default export as named. +// Keep top-level export same with static properties +// so that it can keep same with es module or cjs +const { + Axios, + AxiosError, + CanceledError, + isCancel, + CancelToken, + VERSION, + all, + Cancel, + isAxiosError, + spread, + toFormData, + AxiosHeaders, + HttpStatusCode, + formToJSON, + getAdapter, + mergeConfig, +} = axios; + +export { Axios, AxiosError, AxiosHeaders, Cancel, CancelToken, CanceledError, HttpStatusCode, VERSION, all, axios as default, formToJSON, getAdapter, isAxiosError, isCancel, mergeConfig, spread, toFormData }; +//# sourceMappingURL=axios.js.map diff --git a/dist/node_modules/axios/dist/esm/axios.js.map b/dist/node_modules/axios/dist/esm/axios.js.map new file mode 100644 index 00000000..25eb6c04 --- /dev/null +++ b/dist/node_modules/axios/dist/esm/axios.js.map @@ -0,0 +1 @@ +{"version":3,"file":"axios.js","sources":["../../lib/helpers/bind.js","../../lib/utils.js","../../lib/core/AxiosError.js","../../lib/helpers/null.js","../../lib/helpers/toFormData.js","../../lib/helpers/AxiosURLSearchParams.js","../../lib/helpers/buildURL.js","../../lib/core/InterceptorManager.js","../../lib/defaults/transitional.js","../../lib/platform/browser/classes/URLSearchParams.js","../../lib/platform/browser/classes/FormData.js","../../lib/platform/browser/classes/Blob.js","../../lib/platform/browser/index.js","../../lib/platform/common/utils.js","../../lib/platform/index.js","../../lib/helpers/toURLEncodedForm.js","../../lib/helpers/formDataToJSON.js","../../lib/defaults/index.js","../../lib/helpers/parseHeaders.js","../../lib/core/AxiosHeaders.js","../../lib/core/transformData.js","../../lib/cancel/isCancel.js","../../lib/cancel/CanceledError.js","../../lib/core/settle.js","../../lib/helpers/parseProtocol.js","../../lib/helpers/speedometer.js","../../lib/helpers/throttle.js","../../lib/helpers/progressEventReducer.js","../../lib/helpers/isURLSameOrigin.js","../../lib/helpers/cookies.js","../../lib/helpers/isAbsoluteURL.js","../../lib/helpers/combineURLs.js","../../lib/core/buildFullPath.js","../../lib/core/mergeConfig.js","../../lib/helpers/resolveConfig.js","../../lib/adapters/xhr.js","../../lib/helpers/composeSignals.js","../../lib/helpers/trackStream.js","../../lib/adapters/fetch.js","../../lib/adapters/adapters.js","../../lib/core/dispatchRequest.js","../../lib/env/data.js","../../lib/helpers/validator.js","../../lib/core/Axios.js","../../lib/cancel/CancelToken.js","../../lib/helpers/spread.js","../../lib/helpers/isAxiosError.js","../../lib/helpers/HttpStatusCode.js","../../lib/axios.js","../../index.js"],"sourcesContent":["'use strict';\n\n/**\n * Create a bound version of a function with a specified `this` context\n *\n * @param {Function} fn - The function to bind\n * @param {*} thisArg - The value to be passed as the `this` parameter\n * @returns {Function} A new function that will call the original function with the specified `this` context\n */\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst { toString } = Object.prototype;\nconst { getPrototypeOf } = Object;\nconst { iterator, toStringTag } = Symbol;\n\nconst kindOf = ((cache) => (thing) => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type;\n};\n\nconst typeOfTest = (type) => (thing) => typeof thing === type;\n\n/**\n * Determine if a value is a non-null object\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst { isArray } = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return (\n val !== null &&\n !isUndefined(val) &&\n val.constructor !== null &&\n !isUndefined(val.constructor) &&\n isFunction(val.constructor.isBuffer) &&\n val.constructor.isBuffer(val)\n );\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && isArrayBuffer(val.buffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = (thing) => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (\n (prototype === null ||\n prototype === Object.prototype ||\n Object.getPrototypeOf(prototype) === null) &&\n !(toStringTag in val) &&\n !(iterator in val)\n );\n};\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n // Early return for non-objects or Buffers to prevent RangeError\n if (!isObject(val) || isBuffer(val)) {\n return false;\n }\n\n try {\n return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n } catch (e) {\n // Fallback for any other objects that might cause RangeError with Object.keys()\n return false;\n }\n};\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a React Native Blob\n * React Native \"blob\": an object with a `uri` attribute. Optionally, it can\n * also have a `name` and `type` attribute to specify filename and content type\n *\n * @see https://github.com/facebook/react-native/blob/26684cf3adf4094eb6c405d345a75bf8c7c0bf88/Libraries/Network/FormData.js#L68-L71\n * \n * @param {*} value The value to test\n * \n * @returns {boolean} True if value is a React Native Blob, otherwise false\n */\nconst isReactNativeBlob = (value) => {\n return !!(value && typeof value.uri !== 'undefined');\n}\n\n/**\n * Determine if environment is React Native\n * ReactNative `FormData` has a non-standard `getParts()` method\n * \n * @param {*} formData The formData to test\n * \n * @returns {boolean} True if environment is React Native, otherwise false\n */\nconst isReactNative = (formData) => formData && typeof formData.getParts !== 'undefined';\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction getGlobal() {\n if (typeof globalThis !== 'undefined') return globalThis;\n if (typeof self !== 'undefined') return self;\n if (typeof window !== 'undefined') return window;\n if (typeof global !== 'undefined') return global;\n return {};\n}\n\nconst G = getGlobal();\nconst FormDataCtor = typeof G.FormData !== 'undefined' ? G.FormData : undefined;\n\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (FormDataCtor && thing instanceof FormDataCtor) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n );\n};\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = [\n 'ReadableStream',\n 'Request',\n 'Response',\n 'Headers',\n].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => {\n return str.trim ? str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n};\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Object} [options]\n * @param {Boolean} [options.allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, { allOwnKeys = false } = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Buffer check\n if (isBuffer(obj)) {\n return;\n }\n\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\n/**\n * Finds a key in an object, case-insensitive, returning the actual key name.\n * Returns null if the object is a Buffer or if no match is found.\n *\n * @param {Object} obj - The object to search.\n * @param {string} key - The key to find (case-insensitive).\n * @returns {?string} The actual key name if found, otherwise null.\n */\nfunction findKey(obj, key) {\n if (isBuffer(obj)) {\n return null;\n }\n\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== 'undefined') return globalThis;\n return typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : global;\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * const result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const { caseless, skipUndefined } = (isContextDefined(this) && this) || {};\n const result = {};\n const assignValue = (val, key) => {\n // Skip dangerous property names to prevent prototype pollution\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return;\n }\n\n const targetKey = (caseless && findKey(result, key)) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else if (!skipUndefined || !isUndefined(val)) {\n result[targetKey] = val;\n }\n };\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Object} [options]\n * @param {Boolean} [options.allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, { allOwnKeys } = {}) => {\n forEach(\n b,\n (val, key) => {\n if (thisArg && isFunction(val)) {\n Object.defineProperty(a, key, {\n value: bind(val, thisArg),\n writable: true,\n enumerable: true,\n configurable: true,\n });\n } else {\n Object.defineProperty(a, key, {\n value: val,\n writable: true,\n enumerable: true,\n configurable: true,\n });\n }\n },\n { allOwnKeys }\n );\n return a;\n};\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xfeff) {\n content = content.slice(1);\n }\n return content;\n};\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n Object.defineProperty(constructor.prototype, 'constructor', {\n value: constructor,\n writable: true,\n enumerable: false,\n configurable: true,\n });\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype,\n });\n props && Object.assign(constructor.prototype, props);\n};\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n};\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n};\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n};\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = ((TypedArray) => {\n // eslint-disable-next-line func-names\n return (thing) => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n};\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n};\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = (str) => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g, function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n });\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (\n ({ hasOwnProperty }) =>\n (obj, prop) =>\n hasOwnProperty.call(obj, prop)\n)(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n};\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error(\"Can not rewrite read-only method '\" + name + \"'\");\n };\n }\n });\n};\n\n/**\n * Converts an array or a delimited string into an object set with values as keys and true as values.\n * Useful for fast membership checks.\n *\n * @param {Array|string} arrayOrString - The array or string to convert.\n * @param {string} delimiter - The delimiter to use if input is a string.\n * @returns {Object} An object with keys from the array or string, values set to true.\n */\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach((value) => {\n obj[value] = true;\n });\n };\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n};\n\nconst noop = () => {};\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite((value = +value)) ? value : defaultValue;\n};\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(\n thing &&\n isFunction(thing.append) &&\n thing[toStringTag] === 'FormData' &&\n thing[iterator]\n );\n}\n\n/**\n * Recursively converts an object to a JSON-compatible object, handling circular references and Buffers.\n *\n * @param {Object} obj - The object to convert.\n * @returns {Object} The JSON-compatible object.\n */\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n //Buffer check\n if (isBuffer(source)) {\n return source;\n }\n\n if (!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n };\n\n return visit(obj, 0);\n};\n\n/**\n * Determines if a value is an async function.\n *\n * @param {*} thing - The value to test.\n * @returns {boolean} True if value is an async function, otherwise false.\n */\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\n/**\n * Determines if a value is thenable (has then and catch methods).\n *\n * @param {*} thing - The value to test.\n * @returns {boolean} True if value is thenable, otherwise false.\n */\nconst isThenable = (thing) =>\n thing &&\n (isObject(thing) || isFunction(thing)) &&\n isFunction(thing.then) &&\n isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\n/**\n * Provides a cross-platform setImmediate implementation.\n * Uses native setImmediate if available, otherwise falls back to postMessage or setTimeout.\n *\n * @param {boolean} setImmediateSupported - Whether setImmediate is supported.\n * @param {boolean} postMessageSupported - Whether postMessage is supported.\n * @returns {Function} A function to schedule a callback asynchronously.\n */\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported\n ? ((token, callbacks) => {\n _global.addEventListener(\n 'message',\n ({ source, data }) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n },\n false\n );\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, '*');\n };\n })(`axios@${Math.random()}`, [])\n : (cb) => setTimeout(cb);\n})(typeof setImmediate === 'function', isFunction(_global.postMessage));\n\n/**\n * Schedules a microtask or asynchronous callback as soon as possible.\n * Uses queueMicrotask if available, otherwise falls back to process.nextTick or _setImmediate.\n *\n * @type {Function}\n */\nconst asap =\n typeof queueMicrotask !== 'undefined'\n ? queueMicrotask.bind(_global)\n : (typeof process !== 'undefined' && process.nextTick) || _setImmediate;\n\n// *********************\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isReactNativeBlob,\n isReactNative,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable,\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\nclass AxiosError extends Error {\n static from(error, code, config, request, response, customProps) {\n const axiosError = new AxiosError(error.message, code || error.code, config, request, response);\n axiosError.cause = error;\n axiosError.name = error.name;\n\n // Preserve status from the original error if not already set from response\n if (error.status != null && axiosError.status == null) {\n axiosError.status = error.status;\n }\n\n customProps && Object.assign(axiosError, customProps);\n return axiosError;\n }\n\n /**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\n constructor(message, code, config, request, response) {\n super(message);\n \n // Make message enumerable to maintain backward compatibility\n // The native Error constructor sets message as non-enumerable,\n // but axios < v1.13.3 had it as enumerable\n Object.defineProperty(this, 'message', {\n value: message,\n enumerable: true,\n writable: true,\n configurable: true\n });\n \n this.name = 'AxiosError';\n this.isAxiosError = true;\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status;\n }\n }\n\n toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status,\n };\n }\n}\n\n// This can be changed to static properties as soon as the parser options in .eslint.cjs are updated.\nAxiosError.ERR_BAD_OPTION_VALUE = 'ERR_BAD_OPTION_VALUE';\nAxiosError.ERR_BAD_OPTION = 'ERR_BAD_OPTION';\nAxiosError.ECONNABORTED = 'ECONNABORTED';\nAxiosError.ETIMEDOUT = 'ETIMEDOUT';\nAxiosError.ERR_NETWORK = 'ERR_NETWORK';\nAxiosError.ERR_FR_TOO_MANY_REDIRECTS = 'ERR_FR_TOO_MANY_REDIRECTS';\nAxiosError.ERR_DEPRECATED = 'ERR_DEPRECATED';\nAxiosError.ERR_BAD_RESPONSE = 'ERR_BAD_RESPONSE';\nAxiosError.ERR_BAD_REQUEST = 'ERR_BAD_REQUEST';\nAxiosError.ERR_CANCELED = 'ERR_CANCELED';\nAxiosError.ERR_NOT_SUPPORT = 'ERR_NOT_SUPPORT';\nAxiosError.ERR_INVALID_URL = 'ERR_INVALID_URL';\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path\n .concat(key)\n .map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n })\n .join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(\n options,\n {\n metaTokens: true,\n dots: false,\n indexes: false,\n },\n false,\n function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n }\n );\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || (typeof Blob !== 'undefined' && Blob);\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isBoolean(value)) {\n return value.toString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (utils.isReactNative(formData) && utils.isReactNativeBlob(value)) {\n formData.append(renderKey(path, key, dots), convertValue(value));\n return false;\n }\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value)))\n ) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) &&\n formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true\n ? renderKey([key], index, dots)\n : indexes === null\n ? key\n : key + '[]',\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable,\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result =\n !(utils.isUndefined(el) || el === null) &&\n visitor.call(formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers);\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00',\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder\n ? function (value) {\n return encoder.call(this, value, encode);\n }\n : encode;\n\n return this._pairs\n .map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '')\n .join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces URL-encoded forms of `:`, `$`, `,`, and spaces with\n * their plain counterparts (`:`, `$`, `,`, `+`).\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val)\n .replace(/%3A/gi, ':')\n .replace(/%24/g, '$')\n .replace(/%2C/gi, ',')\n .replace(/%20/g, '+');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n if (!params) {\n return url;\n }\n\n const _encode = (options && options.encode) || encode;\n\n const _options = utils.isFunction(options)\n ? {\n serialize: options,\n }\n : options;\n\n const serializeFn = _options && _options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, _options);\n } else {\n serializedParams = utils.isURLSearchParams(params)\n ? params.toString()\n : new AxiosURLSearchParams(params, _options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n * @param {Object} options The options for the interceptor, synchronous and runWhen\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null,\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {void}\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false,\n legacyInterceptorReqResOrdering: true,\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict';\n\nexport default typeof Blob !== 'undefined' ? Blob : null;\n","import URLSearchParams from './classes/URLSearchParams.js';\nimport FormData from './classes/FormData.js';\nimport Blob from './classes/Blob.js';\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob,\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data'],\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = (typeof navigator === 'object' && navigator) || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv =\n hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = (hasBrowserEnv && window.location.href) || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin,\n};\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform,\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), {\n visitor: function (value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options,\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map((match) => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [\n function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if (\n (isFileList = utils.isFileList(data)) ||\n contentType.indexOf('multipart/form-data') > -1\n ) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? { 'files[]': data } : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n },\n ],\n\n transformResponse: [\n function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (\n data &&\n utils.isString(data) &&\n ((forcedJSONParsing && !this.responseType) || JSONRequested)\n ) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data, this.parseReviver);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n },\n ],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob,\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n Accept: 'application/json, text/plain, */*',\n 'Content-Type': undefined,\n },\n },\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age',\n 'authorization',\n 'content-length',\n 'content-type',\n 'etag',\n 'expires',\n 'from',\n 'host',\n 'if-modified-since',\n 'if-unmodified-since',\n 'last-modified',\n 'location',\n 'max-forwards',\n 'proxy-authorization',\n 'referer',\n 'retry-after',\n 'user-agent',\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default (rawHeaders) => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders &&\n rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value)\n ? value.map(normalizeValue)\n : String(value).replace(/[\\r\\n]+$/, '');\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header\n .trim()\n .toLowerCase()\n .replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach((methodName) => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function (arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true,\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if (\n !key ||\n self[key] === undefined ||\n _rewrite === true ||\n (_rewrite === undefined && self[key] !== false)\n ) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite);\n } else if (utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {},\n dest,\n key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[(key = entry[0])] = (dest = obj[key])\n ? utils.isArray(dest)\n ? [...dest, entry[1]]\n : [dest, entry[1]]\n : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(\n key &&\n this[key] !== undefined &&\n (!matcher || matchHeaderValue(this, this[key], key, matcher))\n );\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null &&\n value !== false &&\n (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON())\n .map(([header, value]) => header + ': ' + value)\n .join('\\n');\n }\n\n getSetCookie() {\n return this.get('set-cookie') || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals =\n (this[$internals] =\n this[$internals] =\n {\n accessors: {},\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor([\n 'Content-Type',\n 'Content-Length',\n 'Accept',\n 'Accept-Encoding',\n 'User-Agent',\n 'Authorization',\n]);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n },\n };\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from '../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\n\nclass CanceledError extends AxiosError {\n /**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\n constructor(message, config, request) {\n super(message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n this.__CANCEL__ = true;\n }\n}\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(\n new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][\n Math.floor(response.status / 100) - 4\n ],\n response.config,\n response.request,\n response\n )\n );\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return (match && match[1]) || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round((bytesCount * 1000) / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n };\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if (passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs);\n }, threshold - passed);\n }\n }\n };\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from './speedometer.js';\nimport throttle from './throttle.js';\nimport utils from '../utils.js';\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle((e) => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? loaded / total : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true,\n };\n\n listener(data);\n }, freq);\n};\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [\n (loaded) =>\n throttled[0]({\n lengthComputable,\n total,\n loaded,\n }),\n throttled[1],\n ];\n};\n\nexport const asyncDecorator =\n (fn) =>\n (...args) =>\n utils.asap(() => fn(...args));\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv\n ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n })(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n )\n : () => true;\n","import utils from '../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv\n ? // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure, sameSite) {\n if (typeof document === 'undefined') return;\n\n const cookie = [`${name}=${encodeURIComponent(value)}`];\n\n if (utils.isNumber(expires)) {\n cookie.push(`expires=${new Date(expires).toUTCString()}`);\n }\n if (utils.isString(path)) {\n cookie.push(`path=${path}`);\n }\n if (utils.isString(domain)) {\n cookie.push(`domain=${domain}`);\n }\n if (secure === true) {\n cookie.push('secure');\n }\n if (utils.isString(sameSite)) {\n cookie.push(`SameSite=${sameSite}`);\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n if (typeof document === 'undefined') return null;\n const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)'));\n return match ? decodeURIComponent(match[1]) : null;\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000, '/');\n },\n }\n : // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {},\n };\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n if (typeof url !== 'string') {\n return false;\n }\n\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst headersToObject = (thing) => (thing instanceof AxiosHeaders ? { ...thing } : thing);\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({ caseless }, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(a, b, prop, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b, prop) =>\n mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true),\n };\n\n utils.forEach(Object.keys({ ...config1, ...config2 }), function computeConfigValue(prop) {\n if (prop === '__proto__' || prop === 'constructor' || prop === 'prototype') return;\n const merge = utils.hasOwnProp(mergeMap, prop) ? mergeMap[prop] : mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from '../platform/index.js';\nimport utils from '../utils.js';\nimport isURLSameOrigin from './isURLSameOrigin.js';\nimport cookies from './cookies.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport mergeConfig from '../core/mergeConfig.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport buildURL from './buildURL.js';\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(\n buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls),\n config.params,\n config.paramsSerializer\n );\n\n // HTTP basic authentication\n if (auth) {\n headers.set(\n 'Authorization',\n 'Basic ' +\n btoa(\n (auth.username || '') +\n ':' +\n (auth.password ? unescape(encodeURIComponent(auth.password)) : '')\n )\n );\n }\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // browser handles it\n } else if (utils.isFunction(data.getHeaders)) {\n // Node.js FormData (like form-data package)\n const formHeaders = data.getHeaders();\n // Only set safe headers to avoid overwriting security headers\n const allowedHeaders = ['content-type', 'content-length'];\n Object.entries(formHeaders).forEach(([key, val]) => {\n if (allowedHeaders.includes(key.toLowerCase())) {\n headers.set(key, val);\n }\n });\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n};\n","import utils from '../utils.js';\nimport settle from '../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport { progressEventReducer } from '../helpers/progressEventReducer.js';\nimport resolveConfig from '../helpers/resolveConfig.js';\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported &&\n function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let { responseType, onUploadProgress, onDownloadProgress } = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData =\n !responseType || responseType === 'text' || responseType === 'json'\n ? request.responseText\n : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request,\n };\n\n settle(\n function _resolve(value) {\n resolve(value);\n done();\n },\n function _reject(err) {\n reject(err);\n done();\n },\n response\n );\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (\n request.status === 0 &&\n !(request.responseURL && request.responseURL.indexOf('file:') === 0)\n ) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError(event) {\n // Browsers deliver a ProgressEvent in XHR onerror\n // (message may be empty; when present, surface it)\n // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event\n const msg = event && event.message ? event.message : 'Network Error';\n const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);\n // attach the underlying event for consumers who want details\n err.event = event || null;\n reject(err);\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout\n ? 'timeout of ' + _config.timeout + 'ms exceeded'\n : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(\n new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request\n )\n );\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n [downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true);\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n [uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress);\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = (cancel) => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted\n ? onCanceled()\n : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(\n new AxiosError(\n 'Unsupported protocol ' + protocol + ':',\n AxiosError.ERR_BAD_REQUEST,\n config\n )\n );\n return;\n }\n\n // Send the request\n request.send(requestData || null);\n });\n };\n","import CanceledError from '../cancel/CanceledError.js';\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const { length } = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(\n err instanceof AxiosError\n ? err\n : new CanceledError(err instanceof Error ? err.message : err)\n );\n }\n };\n\n let timer =\n timeout &&\n setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout of ${timeout}ms exceeded`, AxiosError.ETIMEDOUT));\n }, timeout);\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach((signal) => {\n signal.unsubscribe\n ? signal.unsubscribe(onabort)\n : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n };\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const { signal } = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n};\n\nexport default composeSignals;\n","export const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n};\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n};\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n};\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n };\n\n return new ReadableStream(\n {\n async pull(controller) {\n try {\n const { done, value } = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = (bytes += len);\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n },\n },\n {\n highWaterMark: 2,\n }\n );\n};\n","import platform from '../platform/index.js';\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport composeSignals from '../helpers/composeSignals.js';\nimport { trackStream } from '../helpers/trackStream.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {\n progressEventReducer,\n progressEventDecorator,\n asyncDecorator,\n} from '../helpers/progressEventReducer.js';\nimport resolveConfig from '../helpers/resolveConfig.js';\nimport settle from '../core/settle.js';\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst { isFunction } = utils;\n\nconst globalFetchAPI = (({ Request, Response }) => ({\n Request,\n Response,\n}))(utils.global);\n\nconst { ReadableStream, TextEncoder } = utils.global;\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false;\n }\n};\n\nconst factory = (env) => {\n env = utils.merge.call(\n {\n skipUndefined: true,\n },\n globalFetchAPI,\n env\n );\n\n const { fetch: envFetch, Request, Response } = env;\n const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';\n const isRequestSupported = isFunction(Request);\n const isResponseSupported = isFunction(Response);\n\n if (!isFetchSupported) {\n return false;\n }\n\n const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream);\n\n const encodeText =\n isFetchSupported &&\n (typeof TextEncoder === 'function'\n ? (\n (encoder) => (str) =>\n encoder.encode(str)\n )(new TextEncoder())\n : async (str) => new Uint8Array(await new Request(str).arrayBuffer()));\n\n const supportsRequestStream =\n isRequestSupported &&\n isReadableStreamSupported &&\n test(() => {\n let duplexAccessed = false;\n\n const body = new ReadableStream();\n\n const hasContentType = new Request(platform.origin, {\n body,\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n body.cancel();\n\n return duplexAccessed && !hasContentType;\n });\n\n const supportsResponseStream =\n isResponseSupported &&\n isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n const resolvers = {\n stream: supportsResponseStream && ((res) => res.body),\n };\n\n isFetchSupported &&\n (() => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach((type) => {\n !resolvers[type] &&\n (resolvers[type] = (res, config) => {\n let method = res && res[type];\n\n if (method) {\n return method.call(res);\n }\n\n throw new AxiosError(\n `Response type '${type}' is not supported`,\n AxiosError.ERR_NOT_SUPPORT,\n config\n );\n });\n });\n })();\n\n const getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if (utils.isBlob(body)) {\n return body.size;\n }\n\n if (utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if (utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if (utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n };\n\n const resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n };\n\n return async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions,\n } = resolveConfig(config);\n\n let _fetch = envFetch || fetch;\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals(\n [signal, cancelToken && cancelToken.toAbortSignal()],\n timeout\n );\n\n let request = null;\n\n const unsubscribe =\n composedSignal &&\n composedSignal.unsubscribe &&\n (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress &&\n supportsRequestStream &&\n method !== 'get' &&\n method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: 'half',\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader);\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = isRequestSupported && 'credentials' in Request.prototype;\n\n const resolvedOptions = {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: 'half',\n credentials: isCredentialsSupported ? withCredentials : undefined,\n };\n\n request = isRequestSupported && new Request(url, resolvedOptions);\n\n let response = await (isRequestSupported\n ? _fetch(request, fetchOptions)\n : _fetch(url, resolvedOptions));\n\n const isStreamResponse =\n supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach((prop) => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] =\n (onDownloadProgress &&\n progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n )) ||\n [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](\n response,\n config\n );\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request,\n });\n });\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError(\n 'Network Error',\n AxiosError.ERR_NETWORK,\n config,\n request,\n err && err.response\n ),\n {\n cause: err.cause || err,\n }\n );\n }\n\n throw AxiosError.from(err, err && err.code, config, request, err && err.response);\n }\n };\n};\n\nconst seedCache = new Map();\n\nexport const getFetch = (config) => {\n let env = (config && config.env) || {};\n const { fetch, Request, Response } = env;\n const seeds = [Request, Response, fetch];\n\n let len = seeds.length,\n i = len,\n seed,\n target,\n map = seedCache;\n\n while (i--) {\n seed = seeds[i];\n target = map.get(seed);\n\n target === undefined && map.set(seed, (target = i ? new Map() : factory(env)));\n\n map = target;\n }\n\n return target;\n};\n\nconst adapter = getFetch();\n\nexport default adapter;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport * as fetchAdapter from './fetch.js';\nimport AxiosError from '../core/AxiosError.js';\n\n/**\n * Known adapters mapping.\n * Provides environment-specific adapters for Axios:\n * - `http` for Node.js\n * - `xhr` for browsers\n * - `fetch` for fetch API-based requests\n *\n * @type {Object}\n */\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: {\n get: fetchAdapter.getFetch,\n },\n};\n\n// Assign adapter names for easier debugging and identification\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', { value });\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', { value });\n }\n});\n\n/**\n * Render a rejection reason string for unknown or unsupported adapters\n *\n * @param {string} reason\n * @returns {string}\n */\nconst renderReason = (reason) => `- ${reason}`;\n\n/**\n * Check if the adapter is resolved (function, null, or false)\n *\n * @param {Function|null|false} adapter\n * @returns {boolean}\n */\nconst isResolvedHandle = (adapter) =>\n utils.isFunction(adapter) || adapter === null || adapter === false;\n\n/**\n * Get the first suitable adapter from the provided list.\n * Tries each adapter in order until a supported one is found.\n * Throws an AxiosError if no adapter is suitable.\n *\n * @param {Array|string|Function} adapters - Adapter(s) by name or function.\n * @param {Object} config - Axios request configuration\n * @throws {AxiosError} If no suitable adapter is available\n * @returns {Function} The resolved adapter function\n */\nfunction getAdapter(adapters, config) {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const { length } = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter && (utils.isFunction(adapter) || (adapter = adapter.get(config)))) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n const reasons = Object.entries(rejectedReasons).map(\n ([id, state]) =>\n `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length\n ? reasons.length > 1\n ? 'since :\\n' + reasons.map(renderReason).join('\\n')\n : ' ' + renderReason(reasons[0])\n : 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n}\n\n/**\n * Exports Axios adapters and utility to resolve an adapter\n */\nexport default {\n /**\n * Resolve an adapter from a list of adapter names or functions.\n * @type {Function}\n */\n getAdapter,\n\n /**\n * Exposes all known adapters\n * @type {Object}\n */\n adapters: knownAdapters,\n};\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from '../adapters/adapters.js';\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(config, config.transformRequest);\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);\n\n return adapter(config).then(\n function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(config, config.transformResponse, response);\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n },\n function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n }\n );\n}\n","export const VERSION = \"1.14.0\";","'use strict';\n\nimport { VERSION } from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return (\n '[Axios v' +\n VERSION +\n \"] Transitional option '\" +\n opt +\n \"'\" +\n desc +\n (message ? '. ' + message : '')\n );\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError(\n 'option ' + opt + ' must be ' + result,\n AxiosError.ERR_BAD_OPTION_VALUE\n );\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators,\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\nimport transitionalDefaults from '../defaults/transitional.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager(),\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack;\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const { transitional, paramsSerializer, headers } = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(\n transitional,\n {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean),\n legacyInterceptorReqResOrdering: validators.transitional(validators.boolean),\n },\n false\n );\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer,\n };\n } else {\n validator.assertOptions(\n paramsSerializer,\n {\n encode: validators.function,\n serialize: validators.function,\n },\n true\n );\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(\n config,\n {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken'),\n },\n true\n );\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(headers.common, headers[config.method]);\n\n headers &&\n utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], (method) => {\n delete headers[method];\n });\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n const transitional = config.transitional || transitionalDefaults;\n const legacyInterceptorReqResOrdering =\n transitional && transitional.legacyInterceptorReqResOrdering;\n\n if (legacyInterceptorReqResOrdering) {\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n } else {\n requestInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n }\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, config) {\n return this.request(\n mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data,\n })\n );\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(\n mergeConfig(config || {}, {\n method,\n headers: isForm\n ? {\n 'Content-Type': 'multipart/form-data',\n }\n : {},\n url,\n data,\n })\n );\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then((cancel) => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = (onfulfilled) => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise((resolve) => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel,\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * const args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && payload.isAxiosError === true;\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n WebServerIsDown: 521,\n ConnectionTimedOut: 522,\n OriginIsUnreachable: 523,\n TimeoutOccurred: 524,\n SslHandshakeFailed: 525,\n InvalidSslCertificate: 526,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport { VERSION } from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from './core/AxiosHeaders.js';\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, { allOwnKeys: true });\n\n // Copy context to instance\n utils.extend(instance, context, null, { allOwnKeys: true });\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = (thing) => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios;\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig,\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig,\n};\n"],"names":["isFunction","utils","AxiosError","toFormData","encode","URLSearchParams","FormData","Blob","platform","AxiosHeaders","isCancel","mergeConfig","CanceledError","ReadableStream","fetchAdapter.getFetch","getAdapter","VERSION","validators","Axios","spread","isAxiosError","HttpStatusCode","CancelToken"],"mappings":"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"} \ No newline at end of file diff --git a/dist/node_modules/axios/dist/esm/axios.min.js b/dist/node_modules/axios/dist/esm/axios.min.js new file mode 100644 index 00000000..d45eed42 --- /dev/null +++ b/dist/node_modules/axios/dist/esm/axios.min.js @@ -0,0 +1,3 @@ +/*! Axios v1.14.0 Copyright (c) 2026 Matt Zabriskie and contributors */ +function e(e,t){return function(){return e.apply(t,arguments)}}const{toString:t}=Object.prototype,{getPrototypeOf:n}=Object,{iterator:r,toStringTag:o}=Symbol,s=(i=Object.create(null),e=>{const n=t.call(e);return i[n]||(i[n]=n.slice(8,-1).toLowerCase())});var i;const a=e=>(e=e.toLowerCase(),t=>s(t)===e),c=e=>t=>typeof t===e,{isArray:l}=Array,u=c("undefined");function f(e){return null!==e&&!u(e)&&null!==e.constructor&&!u(e.constructor)&&h(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const d=a("ArrayBuffer");const p=c("string"),h=c("function"),m=c("number"),b=e=>null!==e&&"object"==typeof e,g=e=>{if("object"!==s(e))return!1;const t=n(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||o in e||r in e)},y=a("Date"),w=a("File"),E=a("Blob"),R=a("FileList");const O="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},S=void 0!==O.FormData?O.FormData:void 0,T=a("URLSearchParams"),[A,v,C,N]=["ReadableStream","Request","Response","Headers"].map(a);function _(e,t,{allOwnKeys:n=!1}={}){if(null==e)return;let r,o;if("object"!=typeof e&&(e=[e]),l(e))for(r=0,o=e.length;r0;)if(r=n[o],t===r.toLowerCase())return r;return null}const j="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,P=e=>!u(e)&&e!==j;const U=(F="undefined"!=typeof Uint8Array&&n(Uint8Array),e=>F&&e instanceof F);var F;const L=a("HTMLFormElement"),B=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),D=a("RegExp"),k=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};_(n,(n,o)=>{let s;!1!==(s=t(n,o,e))&&(r[o]=s||n)}),Object.defineProperties(e,r)};const q=a("AsyncFunction"),I=(M="function"==typeof setImmediate,z=h(j.postMessage),M?setImmediate:z?(H=`axios@${Math.random()}`,J=[],j.addEventListener("message",({source:e,data:t})=>{e===j&&t===H&&J.length&&J.shift()()},!1),e=>{J.push(e),j.postMessage(H,"*")}):e=>setTimeout(e));var M,z,H,J;const W="undefined"!=typeof queueMicrotask?queueMicrotask.bind(j):"undefined"!=typeof process&&process.nextTick||I;var $={isArray:l,isArrayBuffer:d,isBuffer:f,isFormData:e=>{let t;return e&&(S&&e instanceof S||h(e.append)&&("formdata"===(t=s(e))||"object"===t&&h(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&d(e.buffer),t},isString:p,isNumber:m,isBoolean:e=>!0===e||!1===e,isObject:b,isPlainObject:g,isEmptyObject:e=>{if(!b(e)||f(e))return!1;try{return 0===Object.keys(e).length&&Object.getPrototypeOf(e)===Object.prototype}catch(e){return!1}},isReadableStream:A,isRequest:v,isResponse:C,isHeaders:N,isUndefined:u,isDate:y,isFile:w,isReactNativeBlob:e=>!(!e||void 0===e.uri),isReactNative:e=>e&&void 0!==e.getParts,isBlob:E,isRegExp:D,isFunction:h,isStream:e=>b(e)&&h(e.pipe),isURLSearchParams:T,isTypedArray:U,isFileList:R,forEach:_,merge:function e(){const{caseless:t,skipUndefined:n}=P(this)&&this||{},r={},o=(o,s)=>{if("__proto__"===s||"constructor"===s||"prototype"===s)return;const i=t&&x(r,s)||s;g(r[i])&&g(o)?r[i]=e(r[i],o):g(o)?r[i]=e({},o):l(o)?r[i]=o.slice():n&&u(o)||(r[i]=o)};for(let e=0,t=arguments.length;e(_(n,(n,o)=>{r&&h(n)?Object.defineProperty(t,o,{value:e(n,r),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(t,o,{value:n,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:o}),t),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,r,o)=>{let s,i,a;const c={};if(t=t||{},null==e)return t;do{for(s=Object.getOwnPropertyNames(e),i=s.length;i-- >0;)a=s[i],o&&!o(a,e,t)||c[a]||(t[a]=e[a],c[a]=!0);e=!1!==r&&n(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},kindOf:s,kindOfTest:a,endsWith:(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},toArray:e=>{if(!e)return null;if(l(e))return e;let t=e.length;if(!m(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[r]).call(e);let o;for(;(o=n.next())&&!o.done;){const n=o.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let n;const r=[];for(;null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:L,hasOwnProperty:B,hasOwnProp:B,reduceDescriptors:k,freezeMethods:e=>{k(e,(t,n)=>{if(h(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=e[n];h(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))})},toObjectSet:(e,t)=>{const n={},r=e=>{e.forEach(e=>{n[e]=!0})};return l(e)?r(e):r(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,t,n){return t.toUpperCase()+n}),noop:()=>{},toFiniteNumber:(e,t)=>null!=e&&Number.isFinite(e=+e)?e:t,findKey:x,global:j,isContextDefined:P,isSpecCompliantForm:function(e){return!!(e&&h(e.append)&&"FormData"===e[o]&&e[r])},toJSONObject:e=>{const t=new Array(10),n=(e,r)=>{if(b(e)){if(t.indexOf(e)>=0)return;if(f(e))return e;if(!("toJSON"in e)){t[r]=e;const o=l(e)?[]:{};return _(e,(e,t)=>{const s=n(e,r+1);!u(s)&&(o[t]=s)}),t[r]=void 0,o}}return e};return n(e,0)},isAsyncFn:q,isThenable:e=>e&&(b(e)||h(e))&&h(e.then)&&h(e.catch),setImmediate:I,asap:W,isIterable:e=>null!=e&&h(e[r])};let V=class e extends Error{static from(t,n,r,o,s,i){const a=new e(t.message,n||t.code,r,o,s);return a.cause=t,a.name=t.name,null!=t.status&&null==a.status&&(a.status=t.status),i&&Object.assign(a,i),a}constructor(e,t,n,r,o){super(e),Object.defineProperty(this,"message",{value:e,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o,this.status=o.status)}toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:$.toJSONObject(this.config),code:this.code,status:this.status}}};V.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE",V.ERR_BAD_OPTION="ERR_BAD_OPTION",V.ECONNABORTED="ECONNABORTED",V.ETIMEDOUT="ETIMEDOUT",V.ERR_NETWORK="ERR_NETWORK",V.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS",V.ERR_DEPRECATED="ERR_DEPRECATED",V.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE",V.ERR_BAD_REQUEST="ERR_BAD_REQUEST",V.ERR_CANCELED="ERR_CANCELED",V.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT",V.ERR_INVALID_URL="ERR_INVALID_URL";function K(e){return $.isPlainObject(e)||$.isArray(e)}function X(e){return $.endsWith(e,"[]")?e.slice(0,-2):e}function G(e,t,n){return e?e.concat(t).map(function(e,t){return e=X(e),!n&&t?"["+e+"]":e}).join(n?".":""):t}const Q=$.toFlatObject($,{},null,function(e){return/^is[A-Z]/.test(e)});function Y(e,t,n){if(!$.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const r=(n=$.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(e,t){return!$.isUndefined(t[e])})).metaTokens,o=n.visitor||l,s=n.dots,i=n.indexes,a=(n.Blob||"undefined"!=typeof Blob&&Blob)&&$.isSpecCompliantForm(t);if(!$.isFunction(o))throw new TypeError("visitor must be a function");function c(e){if(null===e)return"";if($.isDate(e))return e.toISOString();if($.isBoolean(e))return e.toString();if(!a&&$.isBlob(e))throw new V("Blob is not supported. Use a Buffer instead.");return $.isArrayBuffer(e)||$.isTypedArray(e)?a&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function l(e,n,o){let a=e;if($.isReactNative(t)&&$.isReactNativeBlob(e))return t.append(G(o,n,s),c(e)),!1;if(e&&!o&&"object"==typeof e)if($.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if($.isArray(e)&&function(e){return $.isArray(e)&&!e.some(K)}(e)||($.isFileList(e)||$.endsWith(n,"[]"))&&(a=$.toArray(e)))return n=X(n),a.forEach(function(e,r){!$.isUndefined(e)&&null!==e&&t.append(!0===i?G([n],r,s):null===i?n:n+"[]",c(e))}),!1;return!!K(e)||(t.append(G(o,n,s),c(e)),!1)}const u=[],f=Object.assign(Q,{defaultVisitor:l,convertValue:c,isVisitable:K});if(!$.isObject(e))throw new TypeError("data must be an object");return function e(n,r){if(!$.isUndefined(n)){if(-1!==u.indexOf(n))throw Error("Circular reference detected in "+r.join("."));u.push(n),$.forEach(n,function(n,s){!0===(!($.isUndefined(n)||null===n)&&o.call(t,n,$.isString(s)?s.trim():s,r,f))&&e(n,r?r.concat(s):[s])}),u.pop()}}(e),t}function Z(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(e){return t[e]})}function ee(e,t){this._pairs=[],e&&Y(e,this,t)}const te=ee.prototype;function ne(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function re(e,t,n){if(!t)return e;const r=n&&n.encode||ne,o=$.isFunction(n)?{serialize:n}:n,s=o&&o.serialize;let i;if(i=s?s(t,o):$.isURLSearchParams(t)?t.toString():new ee(t,o).toString(r),i){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+i}return e}te.append=function(e,t){this._pairs.push([e,t])},te.toString=function(e){const t=e?function(t){return e.call(this,t,Z)}:Z;return this._pairs.map(function(e){return t(e[0])+"="+t(e[1])},"").join("&")};class oe{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){$.forEach(this.handlers,function(t){null!==t&&e(t)})}}var se={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},ie={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:ee,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]};const ae="undefined"!=typeof window&&"undefined"!=typeof document,ce="object"==typeof navigator&&navigator||void 0,le=ae&&(!ce||["ReactNative","NativeScript","NS"].indexOf(ce.product)<0),ue="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,fe=ae&&window.location.href||"http://localhost";var de={...Object.freeze({__proto__:null,hasBrowserEnv:ae,hasStandardBrowserEnv:le,hasStandardBrowserWebWorkerEnv:ue,navigator:ce,origin:fe}),...ie};function pe(e){function t(e,n,r,o){let s=e[o++];if("__proto__"===s)return!0;const i=Number.isFinite(+s),a=o>=e.length;if(s=!s&&$.isArray(r)?r.length:s,a)return $.hasOwnProp(r,s)?r[s]=[r[s],n]:r[s]=n,!i;r[s]&&$.isObject(r[s])||(r[s]=[]);return t(e,n,r[s],o)&&$.isArray(r[s])&&(r[s]=function(e){const t={},n=Object.keys(e);let r;const o=n.length;let s;for(r=0;r{t(function(e){return $.matchAll(/\w+|\[(\w*)]/g,e).map(e=>"[]"===e[0]?"":e[1]||e[0])}(e),r,n,0)}),n}return null}const he={transitional:se,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,o=$.isObject(e);o&&$.isHTMLForm(e)&&(e=new FormData(e));if($.isFormData(e))return r?JSON.stringify(pe(e)):e;if($.isArrayBuffer(e)||$.isBuffer(e)||$.isStream(e)||$.isFile(e)||$.isBlob(e)||$.isReadableStream(e))return e;if($.isArrayBufferView(e))return e.buffer;if($.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let s;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return Y(e,new de.classes.URLSearchParams,{visitor:function(e,t,n,r){return de.isNode&&$.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)},...t})}(e,this.formSerializer).toString();if((s=$.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return Y(s?{"files[]":e}:e,t&&new t,this.formSerializer)}}return o||r?(t.setContentType("application/json",!1),function(e,t,n){if($.isString(e))try{return(t||JSON.parse)(e),$.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(n||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||he.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if($.isResponse(e)||$.isReadableStream(e))return e;if(e&&$.isString(e)&&(n&&!this.responseType||r)){const n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e,this.parseReviver)}catch(e){if(n){if("SyntaxError"===e.name)throw V.from(e,V.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:de.classes.FormData,Blob:de.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};$.forEach(["delete","get","head","post","put","patch"],e=>{he.headers[e]={}});const me=$.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]);const be=Symbol("internals");function ge(e){return e&&String(e).trim().toLowerCase()}function ye(e){return!1===e||null==e?e:$.isArray(e)?e.map(ye):String(e).replace(/[\r\n]+$/,"")}function we(e,t,n,r,o){return $.isFunction(r)?r.call(this,t,n):(o&&(t=n),$.isString(t)?$.isString(r)?-1!==t.indexOf(r):$.isRegExp(r)?r.test(t):void 0:void 0)}let Ee=class{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function o(e,t,n){const o=ge(t);if(!o)throw new Error("header name must be a non-empty string");const s=$.findKey(r,o);(!s||void 0===r[s]||!0===n||void 0===n&&!1!==r[s])&&(r[s||t]=ye(e))}const s=(e,t)=>$.forEach(e,(e,n)=>o(e,n,t));if($.isPlainObject(e)||e instanceof this.constructor)s(e,t);else if($.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))s((e=>{const t={};let n,r,o;return e&&e.split("\n").forEach(function(e){o=e.indexOf(":"),n=e.substring(0,o).trim().toLowerCase(),r=e.substring(o+1).trim(),!n||t[n]&&me[n]||("set-cookie"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t})(e),t);else if($.isObject(e)&&$.isIterable(e)){let n,r,o={};for(const t of e){if(!$.isArray(t))throw TypeError("Object iterator must return a key-value pair");o[r=t[0]]=(n=o[r])?$.isArray(n)?[...n,t[1]]:[n,t[1]]:t[1]}s(o,t)}else null!=e&&o(t,e,n);return this}get(e,t){if(e=ge(e)){const n=$.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}(e);if($.isFunction(t))return t.call(this,e,n);if($.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=ge(e)){const n=$.findKey(this,e);return!(!n||void 0===this[n]||t&&!we(0,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function o(e){if(e=ge(e)){const o=$.findKey(n,e);!o||t&&!we(0,n[o],o,t)||(delete n[o],r=!0)}}return $.isArray(e)?e.forEach(o):o(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;for(;n--;){const o=t[n];e&&!we(0,this[o],o,e,!0)||(delete this[o],r=!0)}return r}normalize(e){const t=this,n={};return $.forEach(this,(r,o)=>{const s=$.findKey(n,o);if(s)return t[s]=ye(r),void delete t[o];const i=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,n)=>t.toUpperCase()+n)}(o):String(o).trim();i!==o&&delete t[o],t[i]=ye(r),n[i]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return $.forEach(this,(n,r)=>{null!=n&&!1!==n&&(t[r]=e&&$.isArray(n)?n.join(", "):n)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+": "+t).join("\n")}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach(e=>n.set(e)),n}static accessor(e){const t=(this[be]=this[be]={accessors:{}}).accessors,n=this.prototype;function r(e){const r=ge(e);t[r]||(!function(e,t){const n=$.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(e,n,o){return this[r].call(this,t,e,n,o)},configurable:!0})})}(n,e),t[r]=!0)}return $.isArray(e)?e.forEach(r):r(e),this}};function Re(e,t){const n=this||he,r=t||n,o=Ee.from(r.headers);let s=r.data;return $.forEach(e,function(e){s=e.call(n,s,o.normalize(),t?t.status:void 0)}),o.normalize(),s}function Oe(e){return!(!e||!e.__CANCEL__)}Ee.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),$.reduceDescriptors(Ee.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}}),$.freezeMethods(Ee);let Se=class extends V{constructor(e,t,n){super(null==e?"canceled":e,V.ERR_CANCELED,t,n),this.name="CanceledError",this.__CANCEL__=!0}};function Te(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new V("Request failed with status code "+n.status,[V.ERR_BAD_REQUEST,V.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}const Ae=(e,t,n=3)=>{let r=0;const o=function(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o,s=0,i=0;return t=void 0!==t?t:1e3,function(a){const c=Date.now(),l=r[i];o||(o=c),n[s]=a,r[s]=c;let u=i,f=0;for(;u!==s;)f+=n[u++],u%=e;if(s=(s+1)%e,s===i&&(i=(i+1)%e),c-o{o=s,n=null,r&&(clearTimeout(r),r=null),e(...t)};return[(...e)=>{const t=Date.now(),a=t-o;a>=s?i(e,t):(n=e,r||(r=setTimeout(()=>{r=null,i(n)},s-a)))},()=>n&&i(n)]}(n=>{const s=n.loaded,i=n.lengthComputable?n.total:void 0,a=s-r,c=o(a);r=s;e({loaded:s,total:i,progress:i?s/i:void 0,bytes:a,rate:c||void 0,estimated:c&&i&&s<=i?(i-s)/c:void 0,event:n,lengthComputable:null!=i,[t?"download":"upload"]:!0})},n)},ve=(e,t)=>{const n=null!=e;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},Ce=e=>(...t)=>$.asap(()=>e(...t));var Ne=de.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,de.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(de.origin),de.navigator&&/(msie|trident)/i.test(de.navigator.userAgent)):()=>!0,_e=de.hasStandardBrowserEnv?{write(e,t,n,r,o,s,i){if("undefined"==typeof document)return;const a=[`${e}=${encodeURIComponent(t)}`];$.isNumber(n)&&a.push(`expires=${new Date(n).toUTCString()}`),$.isString(r)&&a.push(`path=${r}`),$.isString(o)&&a.push(`domain=${o}`),!0===s&&a.push("secure"),$.isString(i)&&a.push(`SameSite=${i}`),document.cookie=a.join("; ")},read(e){if("undefined"==typeof document)return null;const t=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read:()=>null,remove(){}};function xe(e,t,n){let r=!("string"==typeof(o=t)&&/^([a-z][a-z\d+\-.]*:)?\/\//i.test(o));var o;return e&&(r||0==n)?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const je=e=>e instanceof Ee?{...e}:e;function Pe(e,t){t=t||{};const n={};function r(e,t,n,r){return $.isPlainObject(e)&&$.isPlainObject(t)?$.merge.call({caseless:r},e,t):$.isPlainObject(t)?$.merge({},t):$.isArray(t)?t.slice():t}function o(e,t,n,o){return $.isUndefined(t)?$.isUndefined(e)?void 0:r(void 0,e,0,o):r(e,t,0,o)}function s(e,t){if(!$.isUndefined(t))return r(void 0,t)}function i(e,t){return $.isUndefined(t)?$.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function a(n,o,s){return s in t?r(n,o):s in e?r(void 0,n):void 0}const c={url:s,method:s,data:s,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:a,headers:(e,t,n)=>o(je(e),je(t),0,!0)};return $.forEach(Object.keys({...e,...t}),function(r){if("__proto__"===r||"constructor"===r||"prototype"===r)return;const s=$.hasOwnProp(c,r)?c[r]:o,i=s(e[r],t[r],r);$.isUndefined(i)&&s!==a||(n[r]=i)}),n}var Ue=e=>{const t=Pe({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:o,xsrfCookieName:s,headers:i,auth:a}=t;if(t.headers=i=Ee.from(i),t.url=re(xe(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),a&&i.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):""))),$.isFormData(n))if(de.hasStandardBrowserEnv||de.hasStandardBrowserWebWorkerEnv)i.setContentType(void 0);else if($.isFunction(n.getHeaders)){const e=n.getHeaders(),t=["content-type","content-length"];Object.entries(e).forEach(([e,n])=>{t.includes(e.toLowerCase())&&i.set(e,n)})}if(de.hasStandardBrowserEnv&&(r&&$.isFunction(r)&&(r=r(t)),r||!1!==r&&Ne(t.url))){const e=o&&s&&_e.read(s);e&&i.set(o,e)}return t};var Fe="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise(function(t,n){const r=Ue(e);let o=r.data;const s=Ee.from(r.headers).normalize();let i,a,c,l,u,{responseType:f,onUploadProgress:d,onDownloadProgress:p}=r;function h(){l&&l(),u&&u(),r.cancelToken&&r.cancelToken.unsubscribe(i),r.signal&&r.signal.removeEventListener("abort",i)}let m=new XMLHttpRequest;function b(){if(!m)return;const r=Ee.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders());Te(function(e){t(e),h()},function(e){n(e),h()},{data:f&&"text"!==f&&"json"!==f?m.response:m.responseText,status:m.status,statusText:m.statusText,headers:r,config:e,request:m}),m=null}m.open(r.method.toUpperCase(),r.url,!0),m.timeout=r.timeout,"onloadend"in m?m.onloadend=b:m.onreadystatechange=function(){m&&4===m.readyState&&(0!==m.status||m.responseURL&&0===m.responseURL.indexOf("file:"))&&setTimeout(b)},m.onabort=function(){m&&(n(new V("Request aborted",V.ECONNABORTED,e,m)),m=null)},m.onerror=function(t){const r=t&&t.message?t.message:"Network Error",o=new V(r,V.ERR_NETWORK,e,m);o.event=t||null,n(o),m=null},m.ontimeout=function(){let t=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const o=r.transitional||se;r.timeoutErrorMessage&&(t=r.timeoutErrorMessage),n(new V(t,o.clarifyTimeoutError?V.ETIMEDOUT:V.ECONNABORTED,e,m)),m=null},void 0===o&&s.setContentType(null),"setRequestHeader"in m&&$.forEach(s.toJSON(),function(e,t){m.setRequestHeader(t,e)}),$.isUndefined(r.withCredentials)||(m.withCredentials=!!r.withCredentials),f&&"json"!==f&&(m.responseType=r.responseType),p&&([c,u]=Ae(p,!0),m.addEventListener("progress",c)),d&&m.upload&&([a,l]=Ae(d),m.upload.addEventListener("progress",a),m.upload.addEventListener("loadend",l)),(r.cancelToken||r.signal)&&(i=t=>{m&&(n(!t||t.type?new Se(null,e,m):t),m.abort(),m=null)},r.cancelToken&&r.cancelToken.subscribe(i),r.signal&&(r.signal.aborted?i():r.signal.addEventListener("abort",i)));const g=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(r.url);g&&-1===de.protocols.indexOf(g)?n(new V("Unsupported protocol "+g+":",V.ERR_BAD_REQUEST,e)):m.send(o||null)})};const Le=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let n,r=new AbortController;const o=function(e){if(!n){n=!0,i();const t=e instanceof Error?e:this.reason;r.abort(t instanceof V?t:new Se(t instanceof Error?t.message:t))}};let s=t&&setTimeout(()=>{s=null,o(new V(`timeout of ${t}ms exceeded`,V.ETIMEDOUT))},t);const i=()=>{e&&(s&&clearTimeout(s),s=null,e.forEach(e=>{e.unsubscribe?e.unsubscribe(o):e.removeEventListener("abort",o)}),e=null)};e.forEach(e=>e.addEventListener("abort",o));const{signal:a}=r;return a.unsubscribe=()=>$.asap(i),a}},Be=function*(e,t){let n=e.byteLength;if(n{const o=async function*(e,t){for await(const n of De(e))yield*Be(n,t)}(e,t);let s,i=0,a=e=>{s||(s=!0,r&&r(e))};return new ReadableStream({async pull(e){try{const{done:t,value:r}=await o.next();if(t)return a(),void e.close();let s=r.byteLength;if(n){let e=i+=s;n(e)}e.enqueue(new Uint8Array(r))}catch(e){throw a(e),e}},cancel:e=>(a(e),o.return())},{highWaterMark:2})},{isFunction:qe}=$,Ie=(({Request:e,Response:t})=>({Request:e,Response:t}))($.global),{ReadableStream:Me,TextEncoder:ze}=$.global,He=(e,...t)=>{try{return!!e(...t)}catch(e){return!1}},Je=e=>{e=$.merge.call({skipUndefined:!0},Ie,e);const{fetch:t,Request:n,Response:r}=e,o=t?qe(t):"function"==typeof fetch,s=qe(n),i=qe(r);if(!o)return!1;const a=o&&qe(Me),c=o&&("function"==typeof ze?(l=new ze,e=>l.encode(e)):async e=>new Uint8Array(await new n(e).arrayBuffer()));var l;const u=s&&a&&He(()=>{let e=!1;const t=new Me,r=new n(de.origin,{body:t,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return t.cancel(),e&&!r}),f=i&&a&&He(()=>$.isReadableStream(new r("").body)),d={stream:f&&(e=>e.body)};o&&["text","arrayBuffer","blob","formData","stream"].forEach(e=>{!d[e]&&(d[e]=(t,n)=>{let r=t&&t[e];if(r)return r.call(t);throw new V(`Response type '${e}' is not supported`,V.ERR_NOT_SUPPORT,n)})});const p=async(e,t)=>{const r=$.toFiniteNumber(e.getContentLength());return null==r?(async e=>{if(null==e)return 0;if($.isBlob(e))return e.size;if($.isSpecCompliantForm(e)){const t=new n(de.origin,{method:"POST",body:e});return(await t.arrayBuffer()).byteLength}return $.isArrayBufferView(e)||$.isArrayBuffer(e)?e.byteLength:($.isURLSearchParams(e)&&(e+=""),$.isString(e)?(await c(e)).byteLength:void 0)})(t):r};return async e=>{let{url:o,method:i,data:a,signal:c,cancelToken:l,timeout:h,onDownloadProgress:m,onUploadProgress:b,responseType:g,headers:y,withCredentials:w="same-origin",fetchOptions:E}=Ue(e),R=t||fetch;g=g?(g+"").toLowerCase():"text";let O=Le([c,l&&l.toAbortSignal()],h),S=null;const T=O&&O.unsubscribe&&(()=>{O.unsubscribe()});let A;try{if(b&&u&&"get"!==i&&"head"!==i&&0!==(A=await p(y,a))){let e,t=new n(o,{method:"POST",body:a,duplex:"half"});if($.isFormData(a)&&(e=t.headers.get("content-type"))&&y.setContentType(e),t.body){const[e,n]=ve(A,Ae(Ce(b)));a=ke(t.body,65536,e,n)}}$.isString(w)||(w=w?"include":"omit");const t=s&&"credentials"in n.prototype,c={...E,signal:O,method:i.toUpperCase(),headers:y.normalize().toJSON(),body:a,duplex:"half",credentials:t?w:void 0};S=s&&new n(o,c);let l=await(s?R(S,E):R(o,c));const h=f&&("stream"===g||"response"===g);if(f&&(m||h&&T)){const e={};["status","statusText","headers"].forEach(t=>{e[t]=l[t]});const t=$.toFiniteNumber(l.headers.get("content-length")),[n,o]=m&&ve(t,Ae(Ce(m),!0))||[];l=new r(ke(l.body,65536,n,()=>{o&&o(),T&&T()}),e)}g=g||"text";let v=await d[$.findKey(d,g)||"text"](l,e);return!h&&T&&T(),await new Promise((t,n)=>{Te(t,n,{data:v,headers:Ee.from(l.headers),status:l.status,statusText:l.statusText,config:e,request:S})})}catch(t){if(T&&T(),t&&"TypeError"===t.name&&/Load failed|fetch/i.test(t.message))throw Object.assign(new V("Network Error",V.ERR_NETWORK,e,S,t&&t.response),{cause:t.cause||t});throw V.from(t,t&&t.code,e,S,t&&t.response)}}},We=new Map,$e=e=>{let t=e&&e.env||{};const{fetch:n,Request:r,Response:o}=t,s=[r,o,n];let i,a,c=s.length,l=We;for(;c--;)i=s[c],a=l.get(i),void 0===a&&l.set(i,a=c?new Map:Je(t)),l=a;return a};$e();const Ve={http:null,xhr:Fe,fetch:{get:$e}};$.forEach(Ve,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}});const Ke=e=>`- ${e}`,Xe=e=>$.isFunction(e)||null===e||!1===e;var Ge={getAdapter:function(e,t){e=$.isArray(e)?e:[e];const{length:n}=e;let r,o;const s={};for(let i=0;i`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build"));let t=n?e.length>1?"since :\n"+e.map(Ke).join("\n"):" "+Ke(e[0]):"as no adapter specified";throw new V("There is no suitable adapter to dispatch the request "+t,"ERR_NOT_SUPPORT")}return o},adapters:Ve};function Qe(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Se(null,e)}function Ye(e){Qe(e),e.headers=Ee.from(e.headers),e.data=Re.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1);return Ge.getAdapter(e.adapter||he.adapter,e)(e).then(function(t){return Qe(e),t.data=Re.call(e,e.transformResponse,t),t.headers=Ee.from(t.headers),t},function(t){return Oe(t)||(Qe(e),t&&t.response&&(t.response.data=Re.call(e,e.transformResponse,t.response),t.response.headers=Ee.from(t.response.headers))),Promise.reject(t)})}const Ze="1.14.0",et={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{et[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}});const tt={};et.transitional=function(e,t,n){function r(e,t){return"[Axios v"+Ze+"] Transitional option '"+e+"'"+t+(n?". "+n:"")}return(n,o,s)=>{if(!1===e)throw new V(r(o," has been removed"+(t?" in "+t:"")),V.ERR_DEPRECATED);return t&&!tt[o]&&(tt[o]=!0,console.warn(r(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,o,s)}},et.spelling=function(e){return(t,n)=>(console.warn(`${n} is likely a misspelling of ${e}`),!0)};var nt={assertOptions:function(e,t,n){if("object"!=typeof e)throw new V("options must be an object",V.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const s=r[o],i=t[s];if(i){const t=e[s],n=void 0===t||i(t,s,e);if(!0!==n)throw new V("option "+s+" must be "+n,V.ERR_BAD_OPTION_VALUE);continue}if(!0!==n)throw new V("Unknown option "+s,V.ERR_BAD_OPTION)}},validators:et};const rt=nt.validators;let ot=class{constructor(e){this.defaults=e||{},this.interceptors={request:new oe,response:new oe}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t={};Error.captureStackTrace?Error.captureStackTrace(t):t=new Error;const n=t.stack?t.stack.replace(/^.+\n/,""):"";try{e.stack?n&&!String(e.stack).endsWith(n.replace(/^.+\n.+\n/,""))&&(e.stack+="\n"+n):e.stack=n}catch(e){}}throw e}}_request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=Pe(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:o}=t;void 0!==n&&nt.assertOptions(n,{silentJSONParsing:rt.transitional(rt.boolean),forcedJSONParsing:rt.transitional(rt.boolean),clarifyTimeoutError:rt.transitional(rt.boolean),legacyInterceptorReqResOrdering:rt.transitional(rt.boolean)},!1),null!=r&&($.isFunction(r)?t.paramsSerializer={serialize:r}:nt.assertOptions(r,{encode:rt.function,serialize:rt.function},!0)),void 0!==t.allowAbsoluteUrls||(void 0!==this.defaults.allowAbsoluteUrls?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=!0),nt.assertOptions(t,{baseUrl:rt.spelling("baseURL"),withXsrfToken:rt.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let s=o&&$.merge(o.common,o[t.method]);o&&$.forEach(["delete","get","head","post","put","patch","common"],e=>{delete o[e]}),t.headers=Ee.concat(s,o);const i=[];let a=!0;this.interceptors.request.forEach(function(e){if("function"==typeof e.runWhen&&!1===e.runWhen(t))return;a=a&&e.synchronous;const n=t.transitional||se;n&&n.legacyInterceptorReqResOrdering?i.unshift(e.fulfilled,e.rejected):i.push(e.fulfilled,e.rejected)});const c=[];let l;this.interceptors.response.forEach(function(e){c.push(e.fulfilled,e.rejected)});let u,f=0;if(!a){const e=[Ye.bind(this),void 0];for(e.unshift(...i),e.push(...c),u=e.length,l=Promise.resolve(t);f{st[t]=e});const it=function t(n){const r=new ot(n),o=e(ot.prototype.request,r);return $.extend(o,ot.prototype,r,{allOwnKeys:!0}),$.extend(o,r,null,{allOwnKeys:!0}),o.create=function(e){return t(Pe(n,e))},o}(he);it.Axios=ot,it.CanceledError=Se,it.CancelToken=class e{constructor(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");let t;this.promise=new Promise(function(e){t=e});const n=this;this.promise.then(e=>{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null}),this.promise.then=e=>{let t;const r=new Promise(e=>{n.subscribe(e),t=e}).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e(function(e,r,o){n.reason||(n.reason=new Se(e,r,o),t(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}toAbortSignal(){const e=new AbortController,t=t=>{e.abort(t)};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let t;return{token:new e(function(e){t=e}),cancel:t}}},it.isCancel=Oe,it.VERSION=Ze,it.toFormData=Y,it.AxiosError=V,it.Cancel=it.CanceledError,it.all=function(e){return Promise.all(e)},it.spread=function(e){return function(t){return e.apply(null,t)}},it.isAxiosError=function(e){return $.isObject(e)&&!0===e.isAxiosError},it.mergeConfig=Pe,it.AxiosHeaders=Ee,it.formToJSON=e=>pe($.isHTMLForm(e)?new FormData(e):e),it.getAdapter=Ge.getAdapter,it.HttpStatusCode=st,it.default=it;const{Axios:at,AxiosError:ct,CanceledError:lt,isCancel:ut,CancelToken:ft,VERSION:dt,all:pt,Cancel:ht,isAxiosError:mt,spread:bt,toFormData:gt,AxiosHeaders:yt,HttpStatusCode:wt,formToJSON:Et,getAdapter:Rt,mergeConfig:Ot}=it;export{at as Axios,ct as AxiosError,yt as AxiosHeaders,ht as Cancel,ft as CancelToken,lt as CanceledError,wt as HttpStatusCode,dt as VERSION,pt as all,it as default,Et as formToJSON,Rt as getAdapter,mt as isAxiosError,ut as isCancel,Ot as mergeConfig,bt as spread,gt as toFormData}; +//# sourceMappingURL=axios.min.js.map diff --git a/dist/node_modules/axios/dist/esm/axios.min.js.map b/dist/node_modules/axios/dist/esm/axios.min.js.map new file mode 100644 index 00000000..2ae64f31 --- /dev/null +++ b/dist/node_modules/axios/dist/esm/axios.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"axios.min.js","sources":["../../lib/helpers/bind.js","../../lib/utils.js","../../lib/core/AxiosError.js","../../lib/helpers/toFormData.js","../../lib/helpers/AxiosURLSearchParams.js","../../lib/helpers/buildURL.js","../../lib/core/InterceptorManager.js","../../lib/defaults/transitional.js","../../lib/platform/browser/index.js","../../lib/platform/browser/classes/URLSearchParams.js","../../lib/platform/browser/classes/FormData.js","../../lib/platform/browser/classes/Blob.js","../../lib/platform/common/utils.js","../../lib/platform/index.js","../../lib/helpers/formDataToJSON.js","../../lib/defaults/index.js","../../lib/helpers/toURLEncodedForm.js","../../lib/helpers/parseHeaders.js","../../lib/core/AxiosHeaders.js","../../lib/core/transformData.js","../../lib/cancel/isCancel.js","../../lib/cancel/CanceledError.js","../../lib/core/settle.js","../../lib/helpers/progressEventReducer.js","../../lib/helpers/speedometer.js","../../lib/helpers/throttle.js","../../lib/helpers/isURLSameOrigin.js","../../lib/helpers/cookies.js","../../lib/core/buildFullPath.js","../../lib/helpers/isAbsoluteURL.js","../../lib/helpers/combineURLs.js","../../lib/core/mergeConfig.js","../../lib/helpers/resolveConfig.js","../../lib/adapters/xhr.js","../../lib/helpers/parseProtocol.js","../../lib/helpers/composeSignals.js","../../lib/helpers/trackStream.js","../../lib/adapters/fetch.js","../../lib/adapters/adapters.js","../../lib/helpers/null.js","../../lib/core/dispatchRequest.js","../../lib/env/data.js","../../lib/helpers/validator.js","../../lib/core/Axios.js","../../lib/helpers/HttpStatusCode.js","../../lib/axios.js","../../lib/cancel/CancelToken.js","../../lib/helpers/spread.js","../../lib/helpers/isAxiosError.js","../../index.js"],"sourcesContent":["'use strict';\n\n/**\n * Create a bound version of a function with a specified `this` context\n *\n * @param {Function} fn - The function to bind\n * @param {*} thisArg - The value to be passed as the `this` parameter\n * @returns {Function} A new function that will call the original function with the specified `this` context\n */\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst { toString } = Object.prototype;\nconst { getPrototypeOf } = Object;\nconst { iterator, toStringTag } = Symbol;\n\nconst kindOf = ((cache) => (thing) => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type;\n};\n\nconst typeOfTest = (type) => (thing) => typeof thing === type;\n\n/**\n * Determine if a value is a non-null object\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst { isArray } = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return (\n val !== null &&\n !isUndefined(val) &&\n val.constructor !== null &&\n !isUndefined(val.constructor) &&\n isFunction(val.constructor.isBuffer) &&\n val.constructor.isBuffer(val)\n );\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && isArrayBuffer(val.buffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = (thing) => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (\n (prototype === null ||\n prototype === Object.prototype ||\n Object.getPrototypeOf(prototype) === null) &&\n !(toStringTag in val) &&\n !(iterator in val)\n );\n};\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n // Early return for non-objects or Buffers to prevent RangeError\n if (!isObject(val) || isBuffer(val)) {\n return false;\n }\n\n try {\n return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n } catch (e) {\n // Fallback for any other objects that might cause RangeError with Object.keys()\n return false;\n }\n};\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a React Native Blob\n * React Native \"blob\": an object with a `uri` attribute. Optionally, it can\n * also have a `name` and `type` attribute to specify filename and content type\n *\n * @see https://github.com/facebook/react-native/blob/26684cf3adf4094eb6c405d345a75bf8c7c0bf88/Libraries/Network/FormData.js#L68-L71\n * \n * @param {*} value The value to test\n * \n * @returns {boolean} True if value is a React Native Blob, otherwise false\n */\nconst isReactNativeBlob = (value) => {\n return !!(value && typeof value.uri !== 'undefined');\n}\n\n/**\n * Determine if environment is React Native\n * ReactNative `FormData` has a non-standard `getParts()` method\n * \n * @param {*} formData The formData to test\n * \n * @returns {boolean} True if environment is React Native, otherwise false\n */\nconst isReactNative = (formData) => formData && typeof formData.getParts !== 'undefined';\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction getGlobal() {\n if (typeof globalThis !== 'undefined') return globalThis;\n if (typeof self !== 'undefined') return self;\n if (typeof window !== 'undefined') return window;\n if (typeof global !== 'undefined') return global;\n return {};\n}\n\nconst G = getGlobal();\nconst FormDataCtor = typeof G.FormData !== 'undefined' ? G.FormData : undefined;\n\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (FormDataCtor && thing instanceof FormDataCtor) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n );\n};\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = [\n 'ReadableStream',\n 'Request',\n 'Response',\n 'Headers',\n].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => {\n return str.trim ? str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n};\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Object} [options]\n * @param {Boolean} [options.allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, { allOwnKeys = false } = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Buffer check\n if (isBuffer(obj)) {\n return;\n }\n\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\n/**\n * Finds a key in an object, case-insensitive, returning the actual key name.\n * Returns null if the object is a Buffer or if no match is found.\n *\n * @param {Object} obj - The object to search.\n * @param {string} key - The key to find (case-insensitive).\n * @returns {?string} The actual key name if found, otherwise null.\n */\nfunction findKey(obj, key) {\n if (isBuffer(obj)) {\n return null;\n }\n\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== 'undefined') return globalThis;\n return typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : global;\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * const result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const { caseless, skipUndefined } = (isContextDefined(this) && this) || {};\n const result = {};\n const assignValue = (val, key) => {\n // Skip dangerous property names to prevent prototype pollution\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return;\n }\n\n const targetKey = (caseless && findKey(result, key)) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else if (!skipUndefined || !isUndefined(val)) {\n result[targetKey] = val;\n }\n };\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Object} [options]\n * @param {Boolean} [options.allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, { allOwnKeys } = {}) => {\n forEach(\n b,\n (val, key) => {\n if (thisArg && isFunction(val)) {\n Object.defineProperty(a, key, {\n value: bind(val, thisArg),\n writable: true,\n enumerable: true,\n configurable: true,\n });\n } else {\n Object.defineProperty(a, key, {\n value: val,\n writable: true,\n enumerable: true,\n configurable: true,\n });\n }\n },\n { allOwnKeys }\n );\n return a;\n};\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xfeff) {\n content = content.slice(1);\n }\n return content;\n};\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n Object.defineProperty(constructor.prototype, 'constructor', {\n value: constructor,\n writable: true,\n enumerable: false,\n configurable: true,\n });\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype,\n });\n props && Object.assign(constructor.prototype, props);\n};\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n};\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n};\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n};\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = ((TypedArray) => {\n // eslint-disable-next-line func-names\n return (thing) => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n};\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n};\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = (str) => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g, function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n });\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (\n ({ hasOwnProperty }) =>\n (obj, prop) =>\n hasOwnProperty.call(obj, prop)\n)(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n};\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error(\"Can not rewrite read-only method '\" + name + \"'\");\n };\n }\n });\n};\n\n/**\n * Converts an array or a delimited string into an object set with values as keys and true as values.\n * Useful for fast membership checks.\n *\n * @param {Array|string} arrayOrString - The array or string to convert.\n * @param {string} delimiter - The delimiter to use if input is a string.\n * @returns {Object} An object with keys from the array or string, values set to true.\n */\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach((value) => {\n obj[value] = true;\n });\n };\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n};\n\nconst noop = () => {};\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite((value = +value)) ? value : defaultValue;\n};\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(\n thing &&\n isFunction(thing.append) &&\n thing[toStringTag] === 'FormData' &&\n thing[iterator]\n );\n}\n\n/**\n * Recursively converts an object to a JSON-compatible object, handling circular references and Buffers.\n *\n * @param {Object} obj - The object to convert.\n * @returns {Object} The JSON-compatible object.\n */\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n //Buffer check\n if (isBuffer(source)) {\n return source;\n }\n\n if (!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n };\n\n return visit(obj, 0);\n};\n\n/**\n * Determines if a value is an async function.\n *\n * @param {*} thing - The value to test.\n * @returns {boolean} True if value is an async function, otherwise false.\n */\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\n/**\n * Determines if a value is thenable (has then and catch methods).\n *\n * @param {*} thing - The value to test.\n * @returns {boolean} True if value is thenable, otherwise false.\n */\nconst isThenable = (thing) =>\n thing &&\n (isObject(thing) || isFunction(thing)) &&\n isFunction(thing.then) &&\n isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\n/**\n * Provides a cross-platform setImmediate implementation.\n * Uses native setImmediate if available, otherwise falls back to postMessage or setTimeout.\n *\n * @param {boolean} setImmediateSupported - Whether setImmediate is supported.\n * @param {boolean} postMessageSupported - Whether postMessage is supported.\n * @returns {Function} A function to schedule a callback asynchronously.\n */\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported\n ? ((token, callbacks) => {\n _global.addEventListener(\n 'message',\n ({ source, data }) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n },\n false\n );\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, '*');\n };\n })(`axios@${Math.random()}`, [])\n : (cb) => setTimeout(cb);\n})(typeof setImmediate === 'function', isFunction(_global.postMessage));\n\n/**\n * Schedules a microtask or asynchronous callback as soon as possible.\n * Uses queueMicrotask if available, otherwise falls back to process.nextTick or _setImmediate.\n *\n * @type {Function}\n */\nconst asap =\n typeof queueMicrotask !== 'undefined'\n ? queueMicrotask.bind(_global)\n : (typeof process !== 'undefined' && process.nextTick) || _setImmediate;\n\n// *********************\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isReactNativeBlob,\n isReactNative,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable,\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\nclass AxiosError extends Error {\n static from(error, code, config, request, response, customProps) {\n const axiosError = new AxiosError(error.message, code || error.code, config, request, response);\n axiosError.cause = error;\n axiosError.name = error.name;\n\n // Preserve status from the original error if not already set from response\n if (error.status != null && axiosError.status == null) {\n axiosError.status = error.status;\n }\n\n customProps && Object.assign(axiosError, customProps);\n return axiosError;\n }\n\n /**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\n constructor(message, code, config, request, response) {\n super(message);\n \n // Make message enumerable to maintain backward compatibility\n // The native Error constructor sets message as non-enumerable,\n // but axios < v1.13.3 had it as enumerable\n Object.defineProperty(this, 'message', {\n value: message,\n enumerable: true,\n writable: true,\n configurable: true\n });\n \n this.name = 'AxiosError';\n this.isAxiosError = true;\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status;\n }\n }\n\n toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status,\n };\n }\n}\n\n// This can be changed to static properties as soon as the parser options in .eslint.cjs are updated.\nAxiosError.ERR_BAD_OPTION_VALUE = 'ERR_BAD_OPTION_VALUE';\nAxiosError.ERR_BAD_OPTION = 'ERR_BAD_OPTION';\nAxiosError.ECONNABORTED = 'ECONNABORTED';\nAxiosError.ETIMEDOUT = 'ETIMEDOUT';\nAxiosError.ERR_NETWORK = 'ERR_NETWORK';\nAxiosError.ERR_FR_TOO_MANY_REDIRECTS = 'ERR_FR_TOO_MANY_REDIRECTS';\nAxiosError.ERR_DEPRECATED = 'ERR_DEPRECATED';\nAxiosError.ERR_BAD_RESPONSE = 'ERR_BAD_RESPONSE';\nAxiosError.ERR_BAD_REQUEST = 'ERR_BAD_REQUEST';\nAxiosError.ERR_CANCELED = 'ERR_CANCELED';\nAxiosError.ERR_NOT_SUPPORT = 'ERR_NOT_SUPPORT';\nAxiosError.ERR_INVALID_URL = 'ERR_INVALID_URL';\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path\n .concat(key)\n .map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n })\n .join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(\n options,\n {\n metaTokens: true,\n dots: false,\n indexes: false,\n },\n false,\n function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n }\n );\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || (typeof Blob !== 'undefined' && Blob);\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isBoolean(value)) {\n return value.toString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (utils.isReactNative(formData) && utils.isReactNativeBlob(value)) {\n formData.append(renderKey(path, key, dots), convertValue(value));\n return false;\n }\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value)))\n ) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) &&\n formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true\n ? renderKey([key], index, dots)\n : indexes === null\n ? key\n : key + '[]',\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable,\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result =\n !(utils.isUndefined(el) || el === null) &&\n visitor.call(formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers);\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00',\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder\n ? function (value) {\n return encoder.call(this, value, encode);\n }\n : encode;\n\n return this._pairs\n .map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '')\n .join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces URL-encoded forms of `:`, `$`, `,`, and spaces with\n * their plain counterparts (`:`, `$`, `,`, `+`).\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val)\n .replace(/%3A/gi, ':')\n .replace(/%24/g, '$')\n .replace(/%2C/gi, ',')\n .replace(/%20/g, '+');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n if (!params) {\n return url;\n }\n\n const _encode = (options && options.encode) || encode;\n\n const _options = utils.isFunction(options)\n ? {\n serialize: options,\n }\n : options;\n\n const serializeFn = _options && _options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, _options);\n } else {\n serializedParams = utils.isURLSearchParams(params)\n ? params.toString()\n : new AxiosURLSearchParams(params, _options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n * @param {Object} options The options for the interceptor, synchronous and runWhen\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null,\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {void}\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false,\n legacyInterceptorReqResOrdering: true,\n};\n","import URLSearchParams from './classes/URLSearchParams.js';\nimport FormData from './classes/FormData.js';\nimport Blob from './classes/Blob.js';\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob,\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data'],\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict';\n\nexport default typeof Blob !== 'undefined' ? Blob : null;\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = (typeof navigator === 'object' && navigator) || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv =\n hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = (hasBrowserEnv && window.location.href) || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin,\n};\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform,\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map((match) => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [\n function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if (\n (isFileList = utils.isFileList(data)) ||\n contentType.indexOf('multipart/form-data') > -1\n ) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? { 'files[]': data } : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n },\n ],\n\n transformResponse: [\n function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (\n data &&\n utils.isString(data) &&\n ((forcedJSONParsing && !this.responseType) || JSONRequested)\n ) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data, this.parseReviver);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n },\n ],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob,\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n Accept: 'application/json, text/plain, */*',\n 'Content-Type': undefined,\n },\n },\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), {\n visitor: function (value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options,\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age',\n 'authorization',\n 'content-length',\n 'content-type',\n 'etag',\n 'expires',\n 'from',\n 'host',\n 'if-modified-since',\n 'if-unmodified-since',\n 'last-modified',\n 'location',\n 'max-forwards',\n 'proxy-authorization',\n 'referer',\n 'retry-after',\n 'user-agent',\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default (rawHeaders) => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders &&\n rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value)\n ? value.map(normalizeValue)\n : String(value).replace(/[\\r\\n]+$/, '');\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header\n .trim()\n .toLowerCase()\n .replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach((methodName) => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function (arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true,\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if (\n !key ||\n self[key] === undefined ||\n _rewrite === true ||\n (_rewrite === undefined && self[key] !== false)\n ) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite);\n } else if (utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {},\n dest,\n key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[(key = entry[0])] = (dest = obj[key])\n ? utils.isArray(dest)\n ? [...dest, entry[1]]\n : [dest, entry[1]]\n : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(\n key &&\n this[key] !== undefined &&\n (!matcher || matchHeaderValue(this, this[key], key, matcher))\n );\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null &&\n value !== false &&\n (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON())\n .map(([header, value]) => header + ': ' + value)\n .join('\\n');\n }\n\n getSetCookie() {\n return this.get('set-cookie') || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals =\n (this[$internals] =\n this[$internals] =\n {\n accessors: {},\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor([\n 'Content-Type',\n 'Content-Length',\n 'Accept',\n 'Accept-Encoding',\n 'User-Agent',\n 'Authorization',\n]);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n },\n };\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from '../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\n\nclass CanceledError extends AxiosError {\n /**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\n constructor(message, config, request) {\n super(message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n this.__CANCEL__ = true;\n }\n}\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(\n new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][\n Math.floor(response.status / 100) - 4\n ],\n response.config,\n response.request,\n response\n )\n );\n }\n}\n","import speedometer from './speedometer.js';\nimport throttle from './throttle.js';\nimport utils from '../utils.js';\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle((e) => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? loaded / total : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true,\n };\n\n listener(data);\n }, freq);\n};\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [\n (loaded) =>\n throttled[0]({\n lengthComputable,\n total,\n loaded,\n }),\n throttled[1],\n ];\n};\n\nexport const asyncDecorator =\n (fn) =>\n (...args) =>\n utils.asap(() => fn(...args));\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round((bytesCount * 1000) / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n };\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if (passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs);\n }, threshold - passed);\n }\n }\n };\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv\n ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n })(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n )\n : () => true;\n","import utils from '../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv\n ? // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure, sameSite) {\n if (typeof document === 'undefined') return;\n\n const cookie = [`${name}=${encodeURIComponent(value)}`];\n\n if (utils.isNumber(expires)) {\n cookie.push(`expires=${new Date(expires).toUTCString()}`);\n }\n if (utils.isString(path)) {\n cookie.push(`path=${path}`);\n }\n if (utils.isString(domain)) {\n cookie.push(`domain=${domain}`);\n }\n if (secure === true) {\n cookie.push('secure');\n }\n if (utils.isString(sameSite)) {\n cookie.push(`SameSite=${sameSite}`);\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n if (typeof document === 'undefined') return null;\n const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)'));\n return match ? decodeURIComponent(match[1]) : null;\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000, '/');\n },\n }\n : // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {},\n };\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n if (typeof url !== 'string') {\n return false;\n }\n\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst headersToObject = (thing) => (thing instanceof AxiosHeaders ? { ...thing } : thing);\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({ caseless }, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(a, b, prop, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b, prop) =>\n mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true),\n };\n\n utils.forEach(Object.keys({ ...config1, ...config2 }), function computeConfigValue(prop) {\n if (prop === '__proto__' || prop === 'constructor' || prop === 'prototype') return;\n const merge = utils.hasOwnProp(mergeMap, prop) ? mergeMap[prop] : mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from '../platform/index.js';\nimport utils from '../utils.js';\nimport isURLSameOrigin from './isURLSameOrigin.js';\nimport cookies from './cookies.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport mergeConfig from '../core/mergeConfig.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport buildURL from './buildURL.js';\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(\n buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls),\n config.params,\n config.paramsSerializer\n );\n\n // HTTP basic authentication\n if (auth) {\n headers.set(\n 'Authorization',\n 'Basic ' +\n btoa(\n (auth.username || '') +\n ':' +\n (auth.password ? unescape(encodeURIComponent(auth.password)) : '')\n )\n );\n }\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // browser handles it\n } else if (utils.isFunction(data.getHeaders)) {\n // Node.js FormData (like form-data package)\n const formHeaders = data.getHeaders();\n // Only set safe headers to avoid overwriting security headers\n const allowedHeaders = ['content-type', 'content-length'];\n Object.entries(formHeaders).forEach(([key, val]) => {\n if (allowedHeaders.includes(key.toLowerCase())) {\n headers.set(key, val);\n }\n });\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n};\n","import utils from '../utils.js';\nimport settle from '../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport { progressEventReducer } from '../helpers/progressEventReducer.js';\nimport resolveConfig from '../helpers/resolveConfig.js';\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported &&\n function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let { responseType, onUploadProgress, onDownloadProgress } = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData =\n !responseType || responseType === 'text' || responseType === 'json'\n ? request.responseText\n : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request,\n };\n\n settle(\n function _resolve(value) {\n resolve(value);\n done();\n },\n function _reject(err) {\n reject(err);\n done();\n },\n response\n );\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (\n request.status === 0 &&\n !(request.responseURL && request.responseURL.indexOf('file:') === 0)\n ) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError(event) {\n // Browsers deliver a ProgressEvent in XHR onerror\n // (message may be empty; when present, surface it)\n // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event\n const msg = event && event.message ? event.message : 'Network Error';\n const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);\n // attach the underlying event for consumers who want details\n err.event = event || null;\n reject(err);\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout\n ? 'timeout of ' + _config.timeout + 'ms exceeded'\n : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(\n new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request\n )\n );\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n [downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true);\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n [uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress);\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = (cancel) => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted\n ? onCanceled()\n : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(\n new AxiosError(\n 'Unsupported protocol ' + protocol + ':',\n AxiosError.ERR_BAD_REQUEST,\n config\n )\n );\n return;\n }\n\n // Send the request\n request.send(requestData || null);\n });\n };\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return (match && match[1]) || '';\n}\n","import CanceledError from '../cancel/CanceledError.js';\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const { length } = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(\n err instanceof AxiosError\n ? err\n : new CanceledError(err instanceof Error ? err.message : err)\n );\n }\n };\n\n let timer =\n timeout &&\n setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout of ${timeout}ms exceeded`, AxiosError.ETIMEDOUT));\n }, timeout);\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach((signal) => {\n signal.unsubscribe\n ? signal.unsubscribe(onabort)\n : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n };\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const { signal } = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n};\n\nexport default composeSignals;\n","export const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n};\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n};\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n};\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n };\n\n return new ReadableStream(\n {\n async pull(controller) {\n try {\n const { done, value } = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = (bytes += len);\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n },\n },\n {\n highWaterMark: 2,\n }\n );\n};\n","import platform from '../platform/index.js';\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport composeSignals from '../helpers/composeSignals.js';\nimport { trackStream } from '../helpers/trackStream.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {\n progressEventReducer,\n progressEventDecorator,\n asyncDecorator,\n} from '../helpers/progressEventReducer.js';\nimport resolveConfig from '../helpers/resolveConfig.js';\nimport settle from '../core/settle.js';\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst { isFunction } = utils;\n\nconst globalFetchAPI = (({ Request, Response }) => ({\n Request,\n Response,\n}))(utils.global);\n\nconst { ReadableStream, TextEncoder } = utils.global;\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false;\n }\n};\n\nconst factory = (env) => {\n env = utils.merge.call(\n {\n skipUndefined: true,\n },\n globalFetchAPI,\n env\n );\n\n const { fetch: envFetch, Request, Response } = env;\n const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';\n const isRequestSupported = isFunction(Request);\n const isResponseSupported = isFunction(Response);\n\n if (!isFetchSupported) {\n return false;\n }\n\n const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream);\n\n const encodeText =\n isFetchSupported &&\n (typeof TextEncoder === 'function'\n ? (\n (encoder) => (str) =>\n encoder.encode(str)\n )(new TextEncoder())\n : async (str) => new Uint8Array(await new Request(str).arrayBuffer()));\n\n const supportsRequestStream =\n isRequestSupported &&\n isReadableStreamSupported &&\n test(() => {\n let duplexAccessed = false;\n\n const body = new ReadableStream();\n\n const hasContentType = new Request(platform.origin, {\n body,\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n body.cancel();\n\n return duplexAccessed && !hasContentType;\n });\n\n const supportsResponseStream =\n isResponseSupported &&\n isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n const resolvers = {\n stream: supportsResponseStream && ((res) => res.body),\n };\n\n isFetchSupported &&\n (() => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach((type) => {\n !resolvers[type] &&\n (resolvers[type] = (res, config) => {\n let method = res && res[type];\n\n if (method) {\n return method.call(res);\n }\n\n throw new AxiosError(\n `Response type '${type}' is not supported`,\n AxiosError.ERR_NOT_SUPPORT,\n config\n );\n });\n });\n })();\n\n const getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if (utils.isBlob(body)) {\n return body.size;\n }\n\n if (utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if (utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if (utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n };\n\n const resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n };\n\n return async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions,\n } = resolveConfig(config);\n\n let _fetch = envFetch || fetch;\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals(\n [signal, cancelToken && cancelToken.toAbortSignal()],\n timeout\n );\n\n let request = null;\n\n const unsubscribe =\n composedSignal &&\n composedSignal.unsubscribe &&\n (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress &&\n supportsRequestStream &&\n method !== 'get' &&\n method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: 'half',\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader);\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = isRequestSupported && 'credentials' in Request.prototype;\n\n const resolvedOptions = {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: 'half',\n credentials: isCredentialsSupported ? withCredentials : undefined,\n };\n\n request = isRequestSupported && new Request(url, resolvedOptions);\n\n let response = await (isRequestSupported\n ? _fetch(request, fetchOptions)\n : _fetch(url, resolvedOptions));\n\n const isStreamResponse =\n supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach((prop) => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] =\n (onDownloadProgress &&\n progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n )) ||\n [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](\n response,\n config\n );\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request,\n });\n });\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError(\n 'Network Error',\n AxiosError.ERR_NETWORK,\n config,\n request,\n err && err.response\n ),\n {\n cause: err.cause || err,\n }\n );\n }\n\n throw AxiosError.from(err, err && err.code, config, request, err && err.response);\n }\n };\n};\n\nconst seedCache = new Map();\n\nexport const getFetch = (config) => {\n let env = (config && config.env) || {};\n const { fetch, Request, Response } = env;\n const seeds = [Request, Response, fetch];\n\n let len = seeds.length,\n i = len,\n seed,\n target,\n map = seedCache;\n\n while (i--) {\n seed = seeds[i];\n target = map.get(seed);\n\n target === undefined && map.set(seed, (target = i ? new Map() : factory(env)));\n\n map = target;\n }\n\n return target;\n};\n\nconst adapter = getFetch();\n\nexport default adapter;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport * as fetchAdapter from './fetch.js';\nimport AxiosError from '../core/AxiosError.js';\n\n/**\n * Known adapters mapping.\n * Provides environment-specific adapters for Axios:\n * - `http` for Node.js\n * - `xhr` for browsers\n * - `fetch` for fetch API-based requests\n *\n * @type {Object}\n */\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: {\n get: fetchAdapter.getFetch,\n },\n};\n\n// Assign adapter names for easier debugging and identification\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', { value });\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', { value });\n }\n});\n\n/**\n * Render a rejection reason string for unknown or unsupported adapters\n *\n * @param {string} reason\n * @returns {string}\n */\nconst renderReason = (reason) => `- ${reason}`;\n\n/**\n * Check if the adapter is resolved (function, null, or false)\n *\n * @param {Function|null|false} adapter\n * @returns {boolean}\n */\nconst isResolvedHandle = (adapter) =>\n utils.isFunction(adapter) || adapter === null || adapter === false;\n\n/**\n * Get the first suitable adapter from the provided list.\n * Tries each adapter in order until a supported one is found.\n * Throws an AxiosError if no adapter is suitable.\n *\n * @param {Array|string|Function} adapters - Adapter(s) by name or function.\n * @param {Object} config - Axios request configuration\n * @throws {AxiosError} If no suitable adapter is available\n * @returns {Function} The resolved adapter function\n */\nfunction getAdapter(adapters, config) {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const { length } = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter && (utils.isFunction(adapter) || (adapter = adapter.get(config)))) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n const reasons = Object.entries(rejectedReasons).map(\n ([id, state]) =>\n `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length\n ? reasons.length > 1\n ? 'since :\\n' + reasons.map(renderReason).join('\\n')\n : ' ' + renderReason(reasons[0])\n : 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n}\n\n/**\n * Exports Axios adapters and utility to resolve an adapter\n */\nexport default {\n /**\n * Resolve an adapter from a list of adapter names or functions.\n * @type {Function}\n */\n getAdapter,\n\n /**\n * Exposes all known adapters\n * @type {Object}\n */\n adapters: knownAdapters,\n};\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from '../adapters/adapters.js';\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(config, config.transformRequest);\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);\n\n return adapter(config).then(\n function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(config, config.transformResponse, response);\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n },\n function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n }\n );\n}\n","export const VERSION = \"1.14.0\";","'use strict';\n\nimport { VERSION } from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return (\n '[Axios v' +\n VERSION +\n \"] Transitional option '\" +\n opt +\n \"'\" +\n desc +\n (message ? '. ' + message : '')\n );\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError(\n 'option ' + opt + ' must be ' + result,\n AxiosError.ERR_BAD_OPTION_VALUE\n );\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators,\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\nimport transitionalDefaults from '../defaults/transitional.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager(),\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack;\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const { transitional, paramsSerializer, headers } = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(\n transitional,\n {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean),\n legacyInterceptorReqResOrdering: validators.transitional(validators.boolean),\n },\n false\n );\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer,\n };\n } else {\n validator.assertOptions(\n paramsSerializer,\n {\n encode: validators.function,\n serialize: validators.function,\n },\n true\n );\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(\n config,\n {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken'),\n },\n true\n );\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(headers.common, headers[config.method]);\n\n headers &&\n utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], (method) => {\n delete headers[method];\n });\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n const transitional = config.transitional || transitionalDefaults;\n const legacyInterceptorReqResOrdering =\n transitional && transitional.legacyInterceptorReqResOrdering;\n\n if (legacyInterceptorReqResOrdering) {\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n } else {\n requestInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n }\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, config) {\n return this.request(\n mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data,\n })\n );\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(\n mergeConfig(config || {}, {\n method,\n headers: isForm\n ? {\n 'Content-Type': 'multipart/form-data',\n }\n : {},\n url,\n data,\n })\n );\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n WebServerIsDown: 521,\n ConnectionTimedOut: 522,\n OriginIsUnreachable: 523,\n TimeoutOccurred: 524,\n SslHandshakeFailed: 525,\n InvalidSslCertificate: 526,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport { VERSION } from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from './core/AxiosHeaders.js';\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, { allOwnKeys: true });\n\n // Copy context to instance\n utils.extend(instance, context, null, { allOwnKeys: true });\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = (thing) => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then((cancel) => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = (onfulfilled) => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise((resolve) => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel,\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * const args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && payload.isAxiosError === true;\n}\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig,\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig,\n};\n"],"names":["bind","fn","thisArg","apply","arguments","toString","Object","prototype","getPrototypeOf","iterator","toStringTag","Symbol","kindOf","cache","create","thing","str","call","slice","toLowerCase","kindOfTest","type","typeOfTest","isArray","Array","isUndefined","isBuffer","val","constructor","isFunction","isArrayBuffer","isString","isNumber","isObject","isPlainObject","isDate","isFile","isBlob","isFileList","G","globalThis","self","window","global","FormDataCtor","FormData","undefined","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","map","forEach","obj","allOwnKeys","i","l","length","keys","getOwnPropertyNames","len","key","findKey","_key","_global","isContextDefined","context","isTypedArray","TypedArray","Uint8Array","isHTMLForm","hasOwnProperty","prop","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","descriptor","name","ret","defineProperties","isAsyncFn","_setImmediate","setImmediateSupported","setImmediate","postMessageSupported","postMessage","token","Math","random","callbacks","addEventListener","source","data","shift","cb","push","setTimeout","asap","queueMicrotask","process","nextTick","utils$1","isFormData","kind","append","isArrayBufferView","result","ArrayBuffer","isView","buffer","isBoolean","isEmptyObject","e","isReactNativeBlob","value","uri","isReactNative","formData","getParts","isStream","pipe","merge","caseless","skipUndefined","this","assignValue","targetKey","extend","a","b","defineProperty","writable","enumerable","configurable","trim","replace","stripBOM","content","charCodeAt","inherits","superConstructor","props","assign","toFlatObject","sourceObj","destObj","filter","propFilter","merged","endsWith","searchString","position","String","lastIndex","indexOf","toArray","arr","forEachEntry","_iterator","next","done","pair","matchAll","regExp","matches","exec","hasOwnProp","freezeMethods","set","Error","toObjectSet","arrayOrString","delimiter","define","split","toCamelCase","m","p1","p2","toUpperCase","noop","toFiniteNumber","defaultValue","Number","isFinite","isSpecCompliantForm","toJSONObject","stack","visit","target","reducedValue","isThenable","then","catch","isIterable","AxiosError","from","error","code","config","request","response","customProps","axiosError","message","cause","status","super","isAxiosError","toJSON","description","number","fileName","lineNumber","columnNumber","utils","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL","isVisitable","removeBrackets","renderKey","path","dots","concat","join","predicates","test","toFormData","options","TypeError","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","JSON","stringify","some","isFlatArray","el","index","exposedHelpers","build","pop","encode","charMap","encodeURIComponent","match","AxiosURLSearchParams","params","_pairs","buildURL","url","_encode","_options","serialize","serializeFn","serializedParams","hashmarkIndex","encoder","InterceptorManager","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","h","transitionalDefaults","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","legacyInterceptorReqResOrdering","platform$1","isBrowser","classes","URLSearchParams","protocols","hasBrowserEnv","document","_navigator","navigator","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","location","href","platform","formDataToJSON","buildPath","isNumericKey","isLast","arrayToObject","entries","parsePropPath","defaults","transitional","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","parseReviver","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","Accept","method","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders$1","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","substring","parseHeaders","dest","entry","get","tokens","tokensRE","parseTokens","has","matcher","deleted","deleteHeader","normalize","format","normalized","w","char","formatHeader","targets","asStrings","getSetCookie","first","computed","accessor","accessors","defineAccessor","accessorName","methodName","arg1","arg2","arg3","buildAccessors","transformData","fns","AxiosHeaders","isCancel","__CANCEL__","mapped","headerValue","settle","resolve","reject","floor","progressEventReducer","listener","isDownloadStream","freq","bytesNotified","_speedometer","samplesCount","min","bytes","timestamps","firstSampleTS","head","tail","chunkLength","now","Date","startedAt","bytesCount","passed","round","speedometer","lastArgs","timer","timestamp","threshold","invoke","args","clearTimeout","throttle","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","event","progressEventDecorator","throttled","asyncDecorator","isURLSameOrigin","isMSIE","URL","protocol","host","port","userAgent","cookies","write","expires","domain","secure","sameSite","cookie","toUTCString","read","RegExp","decodeURIComponent","remove","buildFullPath","baseURL","requestedURL","allowAbsoluteUrls","isRelativeUrl","relativeURL","combineURLs","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","paramsSerializer","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding","configValue","resolveConfig","newConfig","auth","btoa","username","password","unescape","getHeaders","formHeaders","allowedHeaders","includes","xsrfValue","xhrAdapter","XMLHttpRequest","Promise","_config","requestData","requestHeaders","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","unsubscribe","signal","removeEventListener","onloadend","responseHeaders","getAllResponseHeaders","err","responseText","statusText","open","onreadystatechange","readyState","responseURL","onabort","onerror","msg","ontimeout","timeoutErrorMessage","setRequestHeader","upload","cancel","CanceledError","abort","subscribe","aborted","parseProtocol","send","composeSignals","signals","Boolean","controller","AbortController","reason","streamChunk","chunk","chunkSize","byteLength","end","pos","readStream","async","stream","asyncIterator","reader","getReader","trackStream","onProgress","onFinish","iterable","readBytes","_onFinish","ReadableStream","pull","close","loadedBytes","enqueue","return","highWaterMark","globalFetchAPI","Request","Response","TextEncoder","factory","fetch","envFetch","isFetchSupported","isRequestSupported","isResponseSupported","isReadableStreamSupported","encodeText","arrayBuffer","supportsRequestStream","duplexAccessed","body","hasContentType","duplex","supportsResponseStream","resolvers","res","resolveBodyLength","getContentLength","size","_request","getBodyLength","fetchOptions","_fetch","composedSignal","toAbortSignal","requestContentLength","contentTypeHeader","flush","isCredentialsSupported","resolvedOptions","credentials","isStreamResponse","responseContentLength","responseData","seedCache","Map","getFetch","seeds","seed","knownAdapters","http","xhr","fetchAdapter.getFetch","renderReason","isResolvedHandle","adapters","getAdapter","nameOrAdapter","rejectedReasons","reasons","state","s","throwIfCancellationRequested","throwIfRequested","dispatchRequest","VERSION","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","console","warn","spelling","correctSpelling","assertOptions","schema","allowUnknown","Axios$1","instanceConfig","interceptors","configOrUrl","dummy","captureStackTrace","boolean","function","baseUrl","withXsrfToken","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","chain","onFulfilled","onRejected","getUri","Axios","generateHTTPMethod","isForm","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","WebServerIsDown","ConnectionTimedOut","OriginIsUnreachable","TimeoutOccurred","SslHandshakeFailed","InvalidSslCertificate","axios","createInstance","defaultConfig","instance","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","splice","c","Cancel","all","promises","spread","callback","payload","formToJSON","default"],"mappings":"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"} \ No newline at end of file diff --git a/dist/node_modules/axios/dist/node/axios.cjs b/dist/node_modules/axios/dist/node/axios.cjs new file mode 100644 index 00000000..78ee083f --- /dev/null +++ b/dist/node_modules/axios/dist/node/axios.cjs @@ -0,0 +1,4697 @@ +/*! Axios v1.14.0 Copyright (c) 2026 Matt Zabriskie and contributors */ +'use strict'; + +var FormData$1 = require('form-data'); +var crypto = require('crypto'); +var url = require('url'); +var http = require('http'); +var https = require('https'); +var http2 = require('http2'); +var util = require('util'); +var followRedirects = require('follow-redirects'); +var zlib = require('zlib'); +var stream = require('stream'); +var events = require('events'); + +/** + * Create a bound version of a function with a specified `this` context + * + * @param {Function} fn - The function to bind + * @param {*} thisArg - The value to be passed as the `this` parameter + * @returns {Function} A new function that will call the original function with the specified `this` context + */ +function bind(fn, thisArg) { + return function wrap() { + return fn.apply(thisArg, arguments); + }; +} + +// utils is a library of generic helper functions non-specific to axios + +const { + toString +} = Object.prototype; +const { + getPrototypeOf +} = Object; +const { + iterator, + toStringTag +} = Symbol; +const kindOf = (cache => thing => { + const str = toString.call(thing); + return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); +})(Object.create(null)); +const kindOfTest = type => { + type = type.toLowerCase(); + return thing => kindOf(thing) === type; +}; +const typeOfTest = type => thing => typeof thing === type; + +/** + * Determine if a value is a non-null object + * + * @param {Object} val The value to test + * + * @returns {boolean} True if value is an Array, otherwise false + */ +const { + isArray +} = Array; + +/** + * Determine if a value is undefined + * + * @param {*} val The value to test + * + * @returns {boolean} True if the value is undefined, otherwise false + */ +const isUndefined = typeOfTest('undefined'); + +/** + * Determine if a value is a Buffer + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Buffer, otherwise false + */ +function isBuffer(val) { + return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction$1(val.constructor.isBuffer) && val.constructor.isBuffer(val); +} + +/** + * Determine if a value is an ArrayBuffer + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is an ArrayBuffer, otherwise false + */ +const isArrayBuffer = kindOfTest('ArrayBuffer'); + +/** + * Determine if a value is a view on an ArrayBuffer + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false + */ +function isArrayBufferView(val) { + let result; + if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) { + result = ArrayBuffer.isView(val); + } else { + result = val && val.buffer && isArrayBuffer(val.buffer); + } + return result; +} + +/** + * Determine if a value is a String + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a String, otherwise false + */ +const isString = typeOfTest('string'); + +/** + * Determine if a value is a Function + * + * @param {*} val The value to test + * @returns {boolean} True if value is a Function, otherwise false + */ +const isFunction$1 = typeOfTest('function'); + +/** + * Determine if a value is a Number + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Number, otherwise false + */ +const isNumber = typeOfTest('number'); + +/** + * Determine if a value is an Object + * + * @param {*} thing The value to test + * + * @returns {boolean} True if value is an Object, otherwise false + */ +const isObject = thing => thing !== null && typeof thing === 'object'; + +/** + * Determine if a value is a Boolean + * + * @param {*} thing The value to test + * @returns {boolean} True if value is a Boolean, otherwise false + */ +const isBoolean = thing => thing === true || thing === false; + +/** + * Determine if a value is a plain Object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a plain Object, otherwise false + */ +const isPlainObject = val => { + if (kindOf(val) !== 'object') { + return false; + } + const prototype = getPrototypeOf(val); + return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val); +}; + +/** + * Determine if a value is an empty object (safely handles Buffers) + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is an empty object, otherwise false + */ +const isEmptyObject = val => { + // Early return for non-objects or Buffers to prevent RangeError + if (!isObject(val) || isBuffer(val)) { + return false; + } + try { + return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype; + } catch (e) { + // Fallback for any other objects that might cause RangeError with Object.keys() + return false; + } +}; + +/** + * Determine if a value is a Date + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Date, otherwise false + */ +const isDate = kindOfTest('Date'); + +/** + * Determine if a value is a File + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a File, otherwise false + */ +const isFile = kindOfTest('File'); + +/** + * Determine if a value is a React Native Blob + * React Native "blob": an object with a `uri` attribute. Optionally, it can + * also have a `name` and `type` attribute to specify filename and content type + * + * @see https://github.com/facebook/react-native/blob/26684cf3adf4094eb6c405d345a75bf8c7c0bf88/Libraries/Network/FormData.js#L68-L71 + * + * @param {*} value The value to test + * + * @returns {boolean} True if value is a React Native Blob, otherwise false + */ +const isReactNativeBlob = value => { + return !!(value && typeof value.uri !== 'undefined'); +}; + +/** + * Determine if environment is React Native + * ReactNative `FormData` has a non-standard `getParts()` method + * + * @param {*} formData The formData to test + * + * @returns {boolean} True if environment is React Native, otherwise false + */ +const isReactNative = formData => formData && typeof formData.getParts !== 'undefined'; + +/** + * Determine if a value is a Blob + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Blob, otherwise false + */ +const isBlob = kindOfTest('Blob'); + +/** + * Determine if a value is a FileList + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a File, otherwise false + */ +const isFileList = kindOfTest('FileList'); + +/** + * Determine if a value is a Stream + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Stream, otherwise false + */ +const isStream = val => isObject(val) && isFunction$1(val.pipe); + +/** + * Determine if a value is a FormData + * + * @param {*} thing The value to test + * + * @returns {boolean} True if value is an FormData, otherwise false + */ +function getGlobal() { + if (typeof globalThis !== 'undefined') return globalThis; + if (typeof self !== 'undefined') return self; + if (typeof window !== 'undefined') return window; + if (typeof global !== 'undefined') return global; + return {}; +} +const G = getGlobal(); +const FormDataCtor = typeof G.FormData !== 'undefined' ? G.FormData : undefined; +const isFormData = thing => { + let kind; + return thing && (FormDataCtor && thing instanceof FormDataCtor || isFunction$1(thing.append) && ((kind = kindOf(thing)) === 'formdata' || + // detect form-data instance + kind === 'object' && isFunction$1(thing.toString) && thing.toString() === '[object FormData]')); +}; + +/** + * Determine if a value is a URLSearchParams object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a URLSearchParams object, otherwise false + */ +const isURLSearchParams = kindOfTest('URLSearchParams'); +const [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest); + +/** + * Trim excess whitespace off the beginning and end of a string + * + * @param {String} str The String to trim + * + * @returns {String} The String freed of excess whitespace + */ +const trim = str => { + return str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); +}; +/** + * Iterate over an Array or an Object invoking a function for each item. + * + * If `obj` is an Array callback will be called passing + * the value, index, and complete array for each item. + * + * If 'obj' is an Object callback will be called passing + * the value, key, and complete object for each property. + * + * @param {Object|Array} obj The object to iterate + * @param {Function} fn The callback to invoke for each item + * + * @param {Object} [options] + * @param {Boolean} [options.allOwnKeys = false] + * @returns {any} + */ +function forEach(obj, fn, { + allOwnKeys = false +} = {}) { + // Don't bother if no value provided + if (obj === null || typeof obj === 'undefined') { + return; + } + let i; + let l; + + // Force an array if not already something iterable + if (typeof obj !== 'object') { + /*eslint no-param-reassign:0*/ + obj = [obj]; + } + if (isArray(obj)) { + // Iterate over array values + for (i = 0, l = obj.length; i < l; i++) { + fn.call(null, obj[i], i, obj); + } + } else { + // Buffer check + if (isBuffer(obj)) { + return; + } + + // Iterate over object keys + const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); + const len = keys.length; + let key; + for (i = 0; i < len; i++) { + key = keys[i]; + fn.call(null, obj[key], key, obj); + } + } +} + +/** + * Finds a key in an object, case-insensitive, returning the actual key name. + * Returns null if the object is a Buffer or if no match is found. + * + * @param {Object} obj - The object to search. + * @param {string} key - The key to find (case-insensitive). + * @returns {?string} The actual key name if found, otherwise null. + */ +function findKey(obj, key) { + if (isBuffer(obj)) { + return null; + } + key = key.toLowerCase(); + const keys = Object.keys(obj); + let i = keys.length; + let _key; + while (i-- > 0) { + _key = keys[i]; + if (key === _key.toLowerCase()) { + return _key; + } + } + return null; +} +const _global = (() => { + /*eslint no-undef:0*/ + if (typeof globalThis !== 'undefined') return globalThis; + return typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : global; +})(); +const isContextDefined = context => !isUndefined(context) && context !== _global; + +/** + * Accepts varargs expecting each argument to be an object, then + * immutably merges the properties of each object and returns result. + * + * When multiple objects contain the same key the later object in + * the arguments list will take precedence. + * + * Example: + * + * ```js + * const result = merge({foo: 123}, {foo: 456}); + * console.log(result.foo); // outputs 456 + * ``` + * + * @param {Object} obj1 Object to merge + * + * @returns {Object} Result of all merge properties + */ +function merge(/* obj1, obj2, obj3, ... */ +) { + const { + caseless, + skipUndefined + } = isContextDefined(this) && this || {}; + const result = {}; + const assignValue = (val, key) => { + // Skip dangerous property names to prevent prototype pollution + if (key === '__proto__' || key === 'constructor' || key === 'prototype') { + return; + } + const targetKey = caseless && findKey(result, key) || key; + if (isPlainObject(result[targetKey]) && isPlainObject(val)) { + result[targetKey] = merge(result[targetKey], val); + } else if (isPlainObject(val)) { + result[targetKey] = merge({}, val); + } else if (isArray(val)) { + result[targetKey] = val.slice(); + } else if (!skipUndefined || !isUndefined(val)) { + result[targetKey] = val; + } + }; + for (let i = 0, l = arguments.length; i < l; i++) { + arguments[i] && forEach(arguments[i], assignValue); + } + return result; +} + +/** + * Extends object a by mutably adding to it the properties of object b. + * + * @param {Object} a The object to be extended + * @param {Object} b The object to copy properties from + * @param {Object} thisArg The object to bind function to + * + * @param {Object} [options] + * @param {Boolean} [options.allOwnKeys] + * @returns {Object} The resulting value of object a + */ +const extend = (a, b, thisArg, { + allOwnKeys +} = {}) => { + forEach(b, (val, key) => { + if (thisArg && isFunction$1(val)) { + Object.defineProperty(a, key, { + value: bind(val, thisArg), + writable: true, + enumerable: true, + configurable: true + }); + } else { + Object.defineProperty(a, key, { + value: val, + writable: true, + enumerable: true, + configurable: true + }); + } + }, { + allOwnKeys + }); + return a; +}; + +/** + * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) + * + * @param {string} content with BOM + * + * @returns {string} content value without BOM + */ +const stripBOM = content => { + if (content.charCodeAt(0) === 0xfeff) { + content = content.slice(1); + } + return content; +}; + +/** + * Inherit the prototype methods from one constructor into another + * @param {function} constructor + * @param {function} superConstructor + * @param {object} [props] + * @param {object} [descriptors] + * + * @returns {void} + */ +const inherits = (constructor, superConstructor, props, descriptors) => { + constructor.prototype = Object.create(superConstructor.prototype, descriptors); + Object.defineProperty(constructor.prototype, 'constructor', { + value: constructor, + writable: true, + enumerable: false, + configurable: true + }); + Object.defineProperty(constructor, 'super', { + value: superConstructor.prototype + }); + props && Object.assign(constructor.prototype, props); +}; + +/** + * Resolve object with deep prototype chain to a flat object + * @param {Object} sourceObj source object + * @param {Object} [destObj] + * @param {Function|Boolean} [filter] + * @param {Function} [propFilter] + * + * @returns {Object} + */ +const toFlatObject = (sourceObj, destObj, filter, propFilter) => { + let props; + let i; + let prop; + const merged = {}; + destObj = destObj || {}; + // eslint-disable-next-line no-eq-null,eqeqeq + if (sourceObj == null) return destObj; + do { + props = Object.getOwnPropertyNames(sourceObj); + i = props.length; + while (i-- > 0) { + prop = props[i]; + if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { + destObj[prop] = sourceObj[prop]; + merged[prop] = true; + } + } + sourceObj = filter !== false && getPrototypeOf(sourceObj); + } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); + return destObj; +}; + +/** + * Determines whether a string ends with the characters of a specified string + * + * @param {String} str + * @param {String} searchString + * @param {Number} [position= 0] + * + * @returns {boolean} + */ +const endsWith = (str, searchString, position) => { + str = String(str); + if (position === undefined || position > str.length) { + position = str.length; + } + position -= searchString.length; + const lastIndex = str.indexOf(searchString, position); + return lastIndex !== -1 && lastIndex === position; +}; + +/** + * Returns new array from array like object or null if failed + * + * @param {*} [thing] + * + * @returns {?Array} + */ +const toArray = thing => { + if (!thing) return null; + if (isArray(thing)) return thing; + let i = thing.length; + if (!isNumber(i)) return null; + const arr = new Array(i); + while (i-- > 0) { + arr[i] = thing[i]; + } + return arr; +}; + +/** + * Checking if the Uint8Array exists and if it does, it returns a function that checks if the + * thing passed in is an instance of Uint8Array + * + * @param {TypedArray} + * + * @returns {Array} + */ +// eslint-disable-next-line func-names +const isTypedArray = (TypedArray => { + // eslint-disable-next-line func-names + return thing => { + return TypedArray && thing instanceof TypedArray; + }; +})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array)); + +/** + * For each entry in the object, call the function with the key and value. + * + * @param {Object} obj - The object to iterate over. + * @param {Function} fn - The function to call for each entry. + * + * @returns {void} + */ +const forEachEntry = (obj, fn) => { + const generator = obj && obj[iterator]; + const _iterator = generator.call(obj); + let result; + while ((result = _iterator.next()) && !result.done) { + const pair = result.value; + fn.call(obj, pair[0], pair[1]); + } +}; + +/** + * It takes a regular expression and a string, and returns an array of all the matches + * + * @param {string} regExp - The regular expression to match against. + * @param {string} str - The string to search. + * + * @returns {Array} + */ +const matchAll = (regExp, str) => { + let matches; + const arr = []; + while ((matches = regExp.exec(str)) !== null) { + arr.push(matches); + } + return arr; +}; + +/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */ +const isHTMLForm = kindOfTest('HTMLFormElement'); +const toCamelCase = str => { + return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, function replacer(m, p1, p2) { + return p1.toUpperCase() + p2; + }); +}; + +/* Creating a function that will check if an object has a property. */ +const hasOwnProperty = (({ + hasOwnProperty +}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype); + +/** + * Determine if a value is a RegExp object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a RegExp object, otherwise false + */ +const isRegExp = kindOfTest('RegExp'); +const reduceDescriptors = (obj, reducer) => { + const descriptors = Object.getOwnPropertyDescriptors(obj); + const reducedDescriptors = {}; + forEach(descriptors, (descriptor, name) => { + let ret; + if ((ret = reducer(descriptor, name, obj)) !== false) { + reducedDescriptors[name] = ret || descriptor; + } + }); + Object.defineProperties(obj, reducedDescriptors); +}; + +/** + * Makes all methods read-only + * @param {Object} obj + */ + +const freezeMethods = obj => { + reduceDescriptors(obj, (descriptor, name) => { + // skip restricted props in strict mode + if (isFunction$1(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) { + return false; + } + const value = obj[name]; + if (!isFunction$1(value)) return; + descriptor.enumerable = false; + if ('writable' in descriptor) { + descriptor.writable = false; + return; + } + if (!descriptor.set) { + descriptor.set = () => { + throw Error("Can not rewrite read-only method '" + name + "'"); + }; + } + }); +}; + +/** + * Converts an array or a delimited string into an object set with values as keys and true as values. + * Useful for fast membership checks. + * + * @param {Array|string} arrayOrString - The array or string to convert. + * @param {string} delimiter - The delimiter to use if input is a string. + * @returns {Object} An object with keys from the array or string, values set to true. + */ +const toObjectSet = (arrayOrString, delimiter) => { + const obj = {}; + const define = arr => { + arr.forEach(value => { + obj[value] = true; + }); + }; + isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); + return obj; +}; +const noop = () => {}; +const toFiniteNumber = (value, defaultValue) => { + return value != null && Number.isFinite(value = +value) ? value : defaultValue; +}; + +/** + * If the thing is a FormData object, return true, otherwise return false. + * + * @param {unknown} thing - The thing to check. + * + * @returns {boolean} + */ +function isSpecCompliantForm(thing) { + return !!(thing && isFunction$1(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]); +} + +/** + * Recursively converts an object to a JSON-compatible object, handling circular references and Buffers. + * + * @param {Object} obj - The object to convert. + * @returns {Object} The JSON-compatible object. + */ +const toJSONObject = obj => { + const stack = new Array(10); + const visit = (source, i) => { + if (isObject(source)) { + if (stack.indexOf(source) >= 0) { + return; + } + + //Buffer check + if (isBuffer(source)) { + return source; + } + if (!('toJSON' in source)) { + stack[i] = source; + const target = isArray(source) ? [] : {}; + forEach(source, (value, key) => { + const reducedValue = visit(value, i + 1); + !isUndefined(reducedValue) && (target[key] = reducedValue); + }); + stack[i] = undefined; + return target; + } + } + return source; + }; + return visit(obj, 0); +}; + +/** + * Determines if a value is an async function. + * + * @param {*} thing - The value to test. + * @returns {boolean} True if value is an async function, otherwise false. + */ +const isAsyncFn = kindOfTest('AsyncFunction'); + +/** + * Determines if a value is thenable (has then and catch methods). + * + * @param {*} thing - The value to test. + * @returns {boolean} True if value is thenable, otherwise false. + */ +const isThenable = thing => thing && (isObject(thing) || isFunction$1(thing)) && isFunction$1(thing.then) && isFunction$1(thing.catch); + +// original code +// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34 + +/** + * Provides a cross-platform setImmediate implementation. + * Uses native setImmediate if available, otherwise falls back to postMessage or setTimeout. + * + * @param {boolean} setImmediateSupported - Whether setImmediate is supported. + * @param {boolean} postMessageSupported - Whether postMessage is supported. + * @returns {Function} A function to schedule a callback asynchronously. + */ +const _setImmediate = ((setImmediateSupported, postMessageSupported) => { + if (setImmediateSupported) { + return setImmediate; + } + return postMessageSupported ? ((token, callbacks) => { + _global.addEventListener('message', ({ + source, + data + }) => { + if (source === _global && data === token) { + callbacks.length && callbacks.shift()(); + } + }, false); + return cb => { + callbacks.push(cb); + _global.postMessage(token, '*'); + }; + })(`axios@${Math.random()}`, []) : cb => setTimeout(cb); +})(typeof setImmediate === 'function', isFunction$1(_global.postMessage)); + +/** + * Schedules a microtask or asynchronous callback as soon as possible. + * Uses queueMicrotask if available, otherwise falls back to process.nextTick or _setImmediate. + * + * @type {Function} + */ +const asap = typeof queueMicrotask !== 'undefined' ? queueMicrotask.bind(_global) : typeof process !== 'undefined' && process.nextTick || _setImmediate; + +// ********************* + +const isIterable = thing => thing != null && isFunction$1(thing[iterator]); +var utils$1 = { + isArray, + isArrayBuffer, + isBuffer, + isFormData, + isArrayBufferView, + isString, + isNumber, + isBoolean, + isObject, + isPlainObject, + isEmptyObject, + isReadableStream, + isRequest, + isResponse, + isHeaders, + isUndefined, + isDate, + isFile, + isReactNativeBlob, + isReactNative, + isBlob, + isRegExp, + isFunction: isFunction$1, + isStream, + isURLSearchParams, + isTypedArray, + isFileList, + forEach, + merge, + extend, + trim, + stripBOM, + inherits, + toFlatObject, + kindOf, + kindOfTest, + endsWith, + toArray, + forEachEntry, + matchAll, + isHTMLForm, + hasOwnProperty, + hasOwnProp: hasOwnProperty, + // an alias to avoid ESLint no-prototype-builtins detection + reduceDescriptors, + freezeMethods, + toObjectSet, + toCamelCase, + noop, + toFiniteNumber, + findKey, + global: _global, + isContextDefined, + isSpecCompliantForm, + toJSONObject, + isAsyncFn, + isThenable, + setImmediate: _setImmediate, + asap, + isIterable +}; + +class AxiosError extends Error { + static from(error, code, config, request, response, customProps) { + const axiosError = new AxiosError(error.message, code || error.code, config, request, response); + axiosError.cause = error; + axiosError.name = error.name; + + // Preserve status from the original error if not already set from response + if (error.status != null && axiosError.status == null) { + axiosError.status = error.status; + } + customProps && Object.assign(axiosError, customProps); + return axiosError; + } + + /** + * Create an Error with the specified message, config, error code, request and response. + * + * @param {string} message The error message. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [config] The config. + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * + * @returns {Error} The created error. + */ + constructor(message, code, config, request, response) { + super(message); + + // Make message enumerable to maintain backward compatibility + // The native Error constructor sets message as non-enumerable, + // but axios < v1.13.3 had it as enumerable + Object.defineProperty(this, 'message', { + value: message, + enumerable: true, + writable: true, + configurable: true + }); + this.name = 'AxiosError'; + this.isAxiosError = true; + code && (this.code = code); + config && (this.config = config); + request && (this.request = request); + if (response) { + this.response = response; + this.status = response.status; + } + } + toJSON() { + return { + // Standard + message: this.message, + name: this.name, + // Microsoft + description: this.description, + number: this.number, + // Mozilla + fileName: this.fileName, + lineNumber: this.lineNumber, + columnNumber: this.columnNumber, + stack: this.stack, + // Axios + config: utils$1.toJSONObject(this.config), + code: this.code, + status: this.status + }; + } +} + +// This can be changed to static properties as soon as the parser options in .eslint.cjs are updated. +AxiosError.ERR_BAD_OPTION_VALUE = 'ERR_BAD_OPTION_VALUE'; +AxiosError.ERR_BAD_OPTION = 'ERR_BAD_OPTION'; +AxiosError.ECONNABORTED = 'ECONNABORTED'; +AxiosError.ETIMEDOUT = 'ETIMEDOUT'; +AxiosError.ERR_NETWORK = 'ERR_NETWORK'; +AxiosError.ERR_FR_TOO_MANY_REDIRECTS = 'ERR_FR_TOO_MANY_REDIRECTS'; +AxiosError.ERR_DEPRECATED = 'ERR_DEPRECATED'; +AxiosError.ERR_BAD_RESPONSE = 'ERR_BAD_RESPONSE'; +AxiosError.ERR_BAD_REQUEST = 'ERR_BAD_REQUEST'; +AxiosError.ERR_CANCELED = 'ERR_CANCELED'; +AxiosError.ERR_NOT_SUPPORT = 'ERR_NOT_SUPPORT'; +AxiosError.ERR_INVALID_URL = 'ERR_INVALID_URL'; + +/** + * Determines if the given thing is a array or js object. + * + * @param {string} thing - The object or array to be visited. + * + * @returns {boolean} + */ +function isVisitable(thing) { + return utils$1.isPlainObject(thing) || utils$1.isArray(thing); +} + +/** + * It removes the brackets from the end of a string + * + * @param {string} key - The key of the parameter. + * + * @returns {string} the key without the brackets. + */ +function removeBrackets(key) { + return utils$1.endsWith(key, '[]') ? key.slice(0, -2) : key; +} + +/** + * It takes a path, a key, and a boolean, and returns a string + * + * @param {string} path - The path to the current key. + * @param {string} key - The key of the current object being iterated over. + * @param {string} dots - If true, the key will be rendered with dots instead of brackets. + * + * @returns {string} The path to the current key. + */ +function renderKey(path, key, dots) { + if (!path) return key; + return path.concat(key).map(function each(token, i) { + // eslint-disable-next-line no-param-reassign + token = removeBrackets(token); + return !dots && i ? '[' + token + ']' : token; + }).join(dots ? '.' : ''); +} + +/** + * If the array is an array and none of its elements are visitable, then it's a flat array. + * + * @param {Array} arr - The array to check + * + * @returns {boolean} + */ +function isFlatArray(arr) { + return utils$1.isArray(arr) && !arr.some(isVisitable); +} +const predicates = utils$1.toFlatObject(utils$1, {}, null, function filter(prop) { + return /^is[A-Z]/.test(prop); +}); + +/** + * Convert a data object to FormData + * + * @param {Object} obj + * @param {?Object} [formData] + * @param {?Object} [options] + * @param {Function} [options.visitor] + * @param {Boolean} [options.metaTokens = true] + * @param {Boolean} [options.dots = false] + * @param {?Boolean} [options.indexes = false] + * + * @returns {Object} + **/ + +/** + * It converts an object into a FormData object + * + * @param {Object} obj - The object to convert to form data. + * @param {string} formData - The FormData object to append to. + * @param {Object} options + * + * @returns + */ +function toFormData(obj, formData, options) { + if (!utils$1.isObject(obj)) { + throw new TypeError('target must be an object'); + } + + // eslint-disable-next-line no-param-reassign + formData = formData || new (FormData$1 || FormData)(); + + // eslint-disable-next-line no-param-reassign + options = utils$1.toFlatObject(options, { + metaTokens: true, + dots: false, + indexes: false + }, false, function defined(option, source) { + // eslint-disable-next-line no-eq-null,eqeqeq + return !utils$1.isUndefined(source[option]); + }); + const metaTokens = options.metaTokens; + // eslint-disable-next-line no-use-before-define + const visitor = options.visitor || defaultVisitor; + const dots = options.dots; + const indexes = options.indexes; + const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob; + const useBlob = _Blob && utils$1.isSpecCompliantForm(formData); + if (!utils$1.isFunction(visitor)) { + throw new TypeError('visitor must be a function'); + } + function convertValue(value) { + if (value === null) return ''; + if (utils$1.isDate(value)) { + return value.toISOString(); + } + if (utils$1.isBoolean(value)) { + return value.toString(); + } + if (!useBlob && utils$1.isBlob(value)) { + throw new AxiosError('Blob is not supported. Use a Buffer instead.'); + } + if (utils$1.isArrayBuffer(value) || utils$1.isTypedArray(value)) { + return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value); + } + return value; + } + + /** + * Default visitor. + * + * @param {*} value + * @param {String|Number} key + * @param {Array} path + * @this {FormData} + * + * @returns {boolean} return true to visit the each prop of the value recursively + */ + function defaultVisitor(value, key, path) { + let arr = value; + if (utils$1.isReactNative(formData) && utils$1.isReactNativeBlob(value)) { + formData.append(renderKey(path, key, dots), convertValue(value)); + return false; + } + if (value && !path && typeof value === 'object') { + if (utils$1.endsWith(key, '{}')) { + // eslint-disable-next-line no-param-reassign + key = metaTokens ? key : key.slice(0, -2); + // eslint-disable-next-line no-param-reassign + value = JSON.stringify(value); + } else if (utils$1.isArray(value) && isFlatArray(value) || (utils$1.isFileList(value) || utils$1.endsWith(key, '[]')) && (arr = utils$1.toArray(value))) { + // eslint-disable-next-line no-param-reassign + key = removeBrackets(key); + arr.forEach(function each(el, index) { + !(utils$1.isUndefined(el) || el === null) && formData.append( + // eslint-disable-next-line no-nested-ternary + indexes === true ? renderKey([key], index, dots) : indexes === null ? key : key + '[]', convertValue(el)); + }); + return false; + } + } + if (isVisitable(value)) { + return true; + } + formData.append(renderKey(path, key, dots), convertValue(value)); + return false; + } + const stack = []; + const exposedHelpers = Object.assign(predicates, { + defaultVisitor, + convertValue, + isVisitable + }); + function build(value, path) { + if (utils$1.isUndefined(value)) return; + if (stack.indexOf(value) !== -1) { + throw Error('Circular reference detected in ' + path.join('.')); + } + stack.push(value); + utils$1.forEach(value, function each(el, key) { + const result = !(utils$1.isUndefined(el) || el === null) && visitor.call(formData, el, utils$1.isString(key) ? key.trim() : key, path, exposedHelpers); + if (result === true) { + build(el, path ? path.concat(key) : [key]); + } + }); + stack.pop(); + } + if (!utils$1.isObject(obj)) { + throw new TypeError('data must be an object'); + } + build(obj); + return formData; +} + +/** + * It encodes a string by replacing all characters that are not in the unreserved set with + * their percent-encoded equivalents + * + * @param {string} str - The string to encode. + * + * @returns {string} The encoded string. + */ +function encode$1(str) { + const charMap = { + '!': '%21', + "'": '%27', + '(': '%28', + ')': '%29', + '~': '%7E', + '%20': '+', + '%00': '\x00' + }; + return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { + return charMap[match]; + }); +} + +/** + * It takes a params object and converts it to a FormData object + * + * @param {Object} params - The parameters to be converted to a FormData object. + * @param {Object} options - The options object passed to the Axios constructor. + * + * @returns {void} + */ +function AxiosURLSearchParams(params, options) { + this._pairs = []; + params && toFormData(params, this, options); +} +const prototype = AxiosURLSearchParams.prototype; +prototype.append = function append(name, value) { + this._pairs.push([name, value]); +}; +prototype.toString = function toString(encoder) { + const _encode = encoder ? function (value) { + return encoder.call(this, value, encode$1); + } : encode$1; + return this._pairs.map(function each(pair) { + return _encode(pair[0]) + '=' + _encode(pair[1]); + }, '').join('&'); +}; + +/** + * It replaces URL-encoded forms of `:`, `$`, `,`, and spaces with + * their plain counterparts (`:`, `$`, `,`, `+`). + * + * @param {string} val The value to be encoded. + * + * @returns {string} The encoded value. + */ +function encode(val) { + return encodeURIComponent(val).replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+'); +} + +/** + * Build a URL by appending params to the end + * + * @param {string} url The base of the url (e.g., http://www.google.com) + * @param {object} [params] The params to be appended + * @param {?(object|Function)} options + * + * @returns {string} The formatted url + */ +function buildURL(url, params, options) { + if (!params) { + return url; + } + const _encode = options && options.encode || encode; + const _options = utils$1.isFunction(options) ? { + serialize: options + } : options; + const serializeFn = _options && _options.serialize; + let serializedParams; + if (serializeFn) { + serializedParams = serializeFn(params, _options); + } else { + serializedParams = utils$1.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams(params, _options).toString(_encode); + } + if (serializedParams) { + const hashmarkIndex = url.indexOf('#'); + if (hashmarkIndex !== -1) { + url = url.slice(0, hashmarkIndex); + } + url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; + } + return url; +} + +class InterceptorManager { + constructor() { + this.handlers = []; + } + + /** + * Add a new interceptor to the stack + * + * @param {Function} fulfilled The function to handle `then` for a `Promise` + * @param {Function} rejected The function to handle `reject` for a `Promise` + * @param {Object} options The options for the interceptor, synchronous and runWhen + * + * @return {Number} An ID used to remove interceptor later + */ + use(fulfilled, rejected, options) { + this.handlers.push({ + fulfilled, + rejected, + synchronous: options ? options.synchronous : false, + runWhen: options ? options.runWhen : null + }); + return this.handlers.length - 1; + } + + /** + * Remove an interceptor from the stack + * + * @param {Number} id The ID that was returned by `use` + * + * @returns {void} + */ + eject(id) { + if (this.handlers[id]) { + this.handlers[id] = null; + } + } + + /** + * Clear all interceptors from the stack + * + * @returns {void} + */ + clear() { + if (this.handlers) { + this.handlers = []; + } + } + + /** + * Iterate over all the registered interceptors + * + * This method is particularly useful for skipping over any + * interceptors that may have become `null` calling `eject`. + * + * @param {Function} fn The function to call for each interceptor + * + * @returns {void} + */ + forEach(fn) { + utils$1.forEach(this.handlers, function forEachHandler(h) { + if (h !== null) { + fn(h); + } + }); + } +} + +var transitionalDefaults = { + silentJSONParsing: true, + forcedJSONParsing: true, + clarifyTimeoutError: false, + legacyInterceptorReqResOrdering: true +}; + +var URLSearchParams = url.URLSearchParams; + +const ALPHA = 'abcdefghijklmnopqrstuvwxyz'; +const DIGIT = '0123456789'; +const ALPHABET = { + DIGIT, + ALPHA, + ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT +}; +const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { + let str = ''; + const { + length + } = alphabet; + const randomValues = new Uint32Array(size); + crypto.randomFillSync(randomValues); + for (let i = 0; i < size; i++) { + str += alphabet[randomValues[i] % length]; + } + return str; +}; +var platform$1 = { + isNode: true, + classes: { + URLSearchParams, + FormData: FormData$1, + Blob: typeof Blob !== 'undefined' && Blob || null + }, + ALPHABET, + generateString, + protocols: ['http', 'https', 'file', 'data'] +}; + +const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined'; +const _navigator = typeof navigator === 'object' && navigator || undefined; + +/** + * Determine if we're running in a standard browser environment + * + * This allows axios to run in a web worker, and react-native. + * Both environments support XMLHttpRequest, but not fully standard globals. + * + * web workers: + * typeof window -> undefined + * typeof document -> undefined + * + * react-native: + * navigator.product -> 'ReactNative' + * nativescript + * navigator.product -> 'NativeScript' or 'NS' + * + * @returns {boolean} + */ +const hasStandardBrowserEnv = hasBrowserEnv && (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0); + +/** + * Determine if we're running in a standard browser webWorker environment + * + * Although the `isStandardBrowserEnv` method indicates that + * `allows axios to run in a web worker`, the WebWorker will still be + * filtered out due to its judgment standard + * `typeof window !== 'undefined' && typeof document !== 'undefined'`. + * This leads to a problem when axios post `FormData` in webWorker + */ +const hasStandardBrowserWebWorkerEnv = (() => { + return typeof WorkerGlobalScope !== 'undefined' && + // eslint-disable-next-line no-undef + self instanceof WorkerGlobalScope && typeof self.importScripts === 'function'; +})(); +const origin = hasBrowserEnv && window.location.href || 'http://localhost'; + +var utils = /*#__PURE__*/Object.freeze({ + __proto__: null, + hasBrowserEnv: hasBrowserEnv, + hasStandardBrowserEnv: hasStandardBrowserEnv, + hasStandardBrowserWebWorkerEnv: hasStandardBrowserWebWorkerEnv, + navigator: _navigator, + origin: origin +}); + +var platform = { + ...utils, + ...platform$1 +}; + +function toURLEncodedForm(data, options) { + return toFormData(data, new platform.classes.URLSearchParams(), { + visitor: function (value, key, path, helpers) { + if (platform.isNode && utils$1.isBuffer(value)) { + this.append(key, value.toString('base64')); + return false; + } + return helpers.defaultVisitor.apply(this, arguments); + }, + ...options + }); +} + +/** + * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z'] + * + * @param {string} name - The name of the property to get. + * + * @returns An array of strings. + */ +function parsePropPath(name) { + // foo[x][y][z] + // foo.x.y.z + // foo-x-y-z + // foo x y z + return utils$1.matchAll(/\w+|\[(\w*)]/g, name).map(match => { + return match[0] === '[]' ? '' : match[1] || match[0]; + }); +} + +/** + * Convert an array to an object. + * + * @param {Array} arr - The array to convert to an object. + * + * @returns An object with the same keys and values as the array. + */ +function arrayToObject(arr) { + const obj = {}; + const keys = Object.keys(arr); + let i; + const len = keys.length; + let key; + for (i = 0; i < len; i++) { + key = keys[i]; + obj[key] = arr[key]; + } + return obj; +} + +/** + * It takes a FormData object and returns a JavaScript object + * + * @param {string} formData The FormData object to convert to JSON. + * + * @returns {Object | null} The converted object. + */ +function formDataToJSON(formData) { + function buildPath(path, value, target, index) { + let name = path[index++]; + if (name === '__proto__') return true; + const isNumericKey = Number.isFinite(+name); + const isLast = index >= path.length; + name = !name && utils$1.isArray(target) ? target.length : name; + if (isLast) { + if (utils$1.hasOwnProp(target, name)) { + target[name] = [target[name], value]; + } else { + target[name] = value; + } + return !isNumericKey; + } + if (!target[name] || !utils$1.isObject(target[name])) { + target[name] = []; + } + const result = buildPath(path, value, target[name], index); + if (result && utils$1.isArray(target[name])) { + target[name] = arrayToObject(target[name]); + } + return !isNumericKey; + } + if (utils$1.isFormData(formData) && utils$1.isFunction(formData.entries)) { + const obj = {}; + utils$1.forEachEntry(formData, (name, value) => { + buildPath(parsePropPath(name), value, obj, 0); + }); + return obj; + } + return null; +} + +/** + * It takes a string, tries to parse it, and if it fails, it returns the stringified version + * of the input + * + * @param {any} rawValue - The value to be stringified. + * @param {Function} parser - A function that parses a string into a JavaScript object. + * @param {Function} encoder - A function that takes a value and returns a string. + * + * @returns {string} A stringified version of the rawValue. + */ +function stringifySafely(rawValue, parser, encoder) { + if (utils$1.isString(rawValue)) { + try { + (parser || JSON.parse)(rawValue); + return utils$1.trim(rawValue); + } catch (e) { + if (e.name !== 'SyntaxError') { + throw e; + } + } + } + return (encoder || JSON.stringify)(rawValue); +} +const defaults = { + transitional: transitionalDefaults, + adapter: ['xhr', 'http', 'fetch'], + transformRequest: [function transformRequest(data, headers) { + const contentType = headers.getContentType() || ''; + const hasJSONContentType = contentType.indexOf('application/json') > -1; + const isObjectPayload = utils$1.isObject(data); + if (isObjectPayload && utils$1.isHTMLForm(data)) { + data = new FormData(data); + } + const isFormData = utils$1.isFormData(data); + if (isFormData) { + return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data; + } + if (utils$1.isArrayBuffer(data) || utils$1.isBuffer(data) || utils$1.isStream(data) || utils$1.isFile(data) || utils$1.isBlob(data) || utils$1.isReadableStream(data)) { + return data; + } + if (utils$1.isArrayBufferView(data)) { + return data.buffer; + } + if (utils$1.isURLSearchParams(data)) { + headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); + return data.toString(); + } + let isFileList; + if (isObjectPayload) { + if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { + return toURLEncodedForm(data, this.formSerializer).toString(); + } + if ((isFileList = utils$1.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) { + const _FormData = this.env && this.env.FormData; + return toFormData(isFileList ? { + 'files[]': data + } : data, _FormData && new _FormData(), this.formSerializer); + } + } + if (isObjectPayload || hasJSONContentType) { + headers.setContentType('application/json', false); + return stringifySafely(data); + } + return data; + }], + transformResponse: [function transformResponse(data) { + const transitional = this.transitional || defaults.transitional; + const forcedJSONParsing = transitional && transitional.forcedJSONParsing; + const JSONRequested = this.responseType === 'json'; + if (utils$1.isResponse(data) || utils$1.isReadableStream(data)) { + return data; + } + if (data && utils$1.isString(data) && (forcedJSONParsing && !this.responseType || JSONRequested)) { + const silentJSONParsing = transitional && transitional.silentJSONParsing; + const strictJSONParsing = !silentJSONParsing && JSONRequested; + try { + return JSON.parse(data, this.parseReviver); + } catch (e) { + if (strictJSONParsing) { + if (e.name === 'SyntaxError') { + throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response); + } + throw e; + } + } + } + return data; + }], + /** + * A timeout in milliseconds to abort a request. If set to 0 (default) a + * timeout is not created. + */ + timeout: 0, + xsrfCookieName: 'XSRF-TOKEN', + xsrfHeaderName: 'X-XSRF-TOKEN', + maxContentLength: -1, + maxBodyLength: -1, + env: { + FormData: platform.classes.FormData, + Blob: platform.classes.Blob + }, + validateStatus: function validateStatus(status) { + return status >= 200 && status < 300; + }, + headers: { + common: { + Accept: 'application/json, text/plain, */*', + 'Content-Type': undefined + } + } +}; +utils$1.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], method => { + defaults.headers[method] = {}; +}); + +// RawAxiosHeaders whose duplicates are ignored by node +// c.f. https://nodejs.org/api/http.html#http_message_headers +const ignoreDuplicateOf = utils$1.toObjectSet(['age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent']); + +/** + * Parse headers into an object + * + * ``` + * Date: Wed, 27 Aug 2014 08:58:49 GMT + * Content-Type: application/json + * Connection: keep-alive + * Transfer-Encoding: chunked + * ``` + * + * @param {String} rawHeaders Headers needing to be parsed + * + * @returns {Object} Headers parsed into an object + */ +var parseHeaders = rawHeaders => { + const parsed = {}; + let key; + let val; + let i; + rawHeaders && rawHeaders.split('\n').forEach(function parser(line) { + i = line.indexOf(':'); + key = line.substring(0, i).trim().toLowerCase(); + val = line.substring(i + 1).trim(); + if (!key || parsed[key] && ignoreDuplicateOf[key]) { + return; + } + if (key === 'set-cookie') { + if (parsed[key]) { + parsed[key].push(val); + } else { + parsed[key] = [val]; + } + } else { + parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; + } + }); + return parsed; +}; + +const $internals = Symbol('internals'); +function normalizeHeader(header) { + return header && String(header).trim().toLowerCase(); +} +function normalizeValue(value) { + if (value === false || value == null) { + return value; + } + return utils$1.isArray(value) ? value.map(normalizeValue) : String(value).replace(/[\r\n]+$/, ''); +} +function parseTokens(str) { + const tokens = Object.create(null); + const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; + let match; + while (match = tokensRE.exec(str)) { + tokens[match[1]] = match[2]; + } + return tokens; +} +const isValidHeaderName = str => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); +function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) { + if (utils$1.isFunction(filter)) { + return filter.call(this, value, header); + } + if (isHeaderNameFilter) { + value = header; + } + if (!utils$1.isString(value)) return; + if (utils$1.isString(filter)) { + return value.indexOf(filter) !== -1; + } + if (utils$1.isRegExp(filter)) { + return filter.test(value); + } +} +function formatHeader(header) { + return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => { + return char.toUpperCase() + str; + }); +} +function buildAccessors(obj, header) { + const accessorName = utils$1.toCamelCase(' ' + header); + ['get', 'set', 'has'].forEach(methodName => { + Object.defineProperty(obj, methodName + accessorName, { + value: function (arg1, arg2, arg3) { + return this[methodName].call(this, header, arg1, arg2, arg3); + }, + configurable: true + }); + }); +} +class AxiosHeaders { + constructor(headers) { + headers && this.set(headers); + } + set(header, valueOrRewrite, rewrite) { + const self = this; + function setHeader(_value, _header, _rewrite) { + const lHeader = normalizeHeader(_header); + if (!lHeader) { + throw new Error('header name must be a non-empty string'); + } + const key = utils$1.findKey(self, lHeader); + if (!key || self[key] === undefined || _rewrite === true || _rewrite === undefined && self[key] !== false) { + self[key || _header] = normalizeValue(_value); + } + } + const setHeaders = (headers, _rewrite) => utils$1.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite)); + if (utils$1.isPlainObject(header) || header instanceof this.constructor) { + setHeaders(header, valueOrRewrite); + } else if (utils$1.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { + setHeaders(parseHeaders(header), valueOrRewrite); + } else if (utils$1.isObject(header) && utils$1.isIterable(header)) { + let obj = {}, + dest, + key; + for (const entry of header) { + if (!utils$1.isArray(entry)) { + throw TypeError('Object iterator must return a key-value pair'); + } + obj[key = entry[0]] = (dest = obj[key]) ? utils$1.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]] : entry[1]; + } + setHeaders(obj, valueOrRewrite); + } else { + header != null && setHeader(valueOrRewrite, header, rewrite); + } + return this; + } + get(header, parser) { + header = normalizeHeader(header); + if (header) { + const key = utils$1.findKey(this, header); + if (key) { + const value = this[key]; + if (!parser) { + return value; + } + if (parser === true) { + return parseTokens(value); + } + if (utils$1.isFunction(parser)) { + return parser.call(this, value, key); + } + if (utils$1.isRegExp(parser)) { + return parser.exec(value); + } + throw new TypeError('parser must be boolean|regexp|function'); + } + } + } + has(header, matcher) { + header = normalizeHeader(header); + if (header) { + const key = utils$1.findKey(this, header); + return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher))); + } + return false; + } + delete(header, matcher) { + const self = this; + let deleted = false; + function deleteHeader(_header) { + _header = normalizeHeader(_header); + if (_header) { + const key = utils$1.findKey(self, _header); + if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) { + delete self[key]; + deleted = true; + } + } + } + if (utils$1.isArray(header)) { + header.forEach(deleteHeader); + } else { + deleteHeader(header); + } + return deleted; + } + clear(matcher) { + const keys = Object.keys(this); + let i = keys.length; + let deleted = false; + while (i--) { + const key = keys[i]; + if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { + delete this[key]; + deleted = true; + } + } + return deleted; + } + normalize(format) { + const self = this; + const headers = {}; + utils$1.forEach(this, (value, header) => { + const key = utils$1.findKey(headers, header); + if (key) { + self[key] = normalizeValue(value); + delete self[header]; + return; + } + const normalized = format ? formatHeader(header) : String(header).trim(); + if (normalized !== header) { + delete self[header]; + } + self[normalized] = normalizeValue(value); + headers[normalized] = true; + }); + return this; + } + concat(...targets) { + return this.constructor.concat(this, ...targets); + } + toJSON(asStrings) { + const obj = Object.create(null); + utils$1.forEach(this, (value, header) => { + value != null && value !== false && (obj[header] = asStrings && utils$1.isArray(value) ? value.join(', ') : value); + }); + return obj; + } + [Symbol.iterator]() { + return Object.entries(this.toJSON())[Symbol.iterator](); + } + toString() { + return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\n'); + } + getSetCookie() { + return this.get('set-cookie') || []; + } + get [Symbol.toStringTag]() { + return 'AxiosHeaders'; + } + static from(thing) { + return thing instanceof this ? thing : new this(thing); + } + static concat(first, ...targets) { + const computed = new this(first); + targets.forEach(target => computed.set(target)); + return computed; + } + static accessor(header) { + const internals = this[$internals] = this[$internals] = { + accessors: {} + }; + const accessors = internals.accessors; + const prototype = this.prototype; + function defineAccessor(_header) { + const lHeader = normalizeHeader(_header); + if (!accessors[lHeader]) { + buildAccessors(prototype, _header); + accessors[lHeader] = true; + } + } + utils$1.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); + return this; + } +} +AxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']); + +// reserved names hotfix +utils$1.reduceDescriptors(AxiosHeaders.prototype, ({ + value +}, key) => { + let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set` + return { + get: () => value, + set(headerValue) { + this[mapped] = headerValue; + } + }; +}); +utils$1.freezeMethods(AxiosHeaders); + +/** + * Transform the data for a request or a response + * + * @param {Array|Function} fns A single function or Array of functions + * @param {?Object} response The response object + * + * @returns {*} The resulting transformed data + */ +function transformData(fns, response) { + const config = this || defaults; + const context = response || config; + const headers = AxiosHeaders.from(context.headers); + let data = context.data; + utils$1.forEach(fns, function transform(fn) { + data = fn.call(config, data, headers.normalize(), response ? response.status : undefined); + }); + headers.normalize(); + return data; +} + +function isCancel(value) { + return !!(value && value.__CANCEL__); +} + +class CanceledError extends AxiosError { + /** + * A `CanceledError` is an object that is thrown when an operation is canceled. + * + * @param {string=} message The message. + * @param {Object=} config The config. + * @param {Object=} request The request. + * + * @returns {CanceledError} The created error. + */ + constructor(message, config, request) { + super(message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request); + this.name = 'CanceledError'; + this.__CANCEL__ = true; + } +} + +/** + * Resolve or reject a Promise based on response status. + * + * @param {Function} resolve A function that resolves the promise. + * @param {Function} reject A function that rejects the promise. + * @param {object} response The response. + * + * @returns {object} The response. + */ +function settle(resolve, reject, response) { + const validateStatus = response.config.validateStatus; + if (!response.status || !validateStatus || validateStatus(response.status)) { + resolve(response); + } else { + reject(new AxiosError('Request failed with status code ' + response.status, [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], response.config, response.request, response)); + } +} + +/** + * Determines whether the specified URL is absolute + * + * @param {string} url The URL to test + * + * @returns {boolean} True if the specified URL is absolute, otherwise false + */ +function isAbsoluteURL(url) { + // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). + // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed + // by any combination of letters, digits, plus, period, or hyphen. + if (typeof url !== 'string') { + return false; + } + return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); +} + +/** + * Creates a new URL by combining the specified URLs + * + * @param {string} baseURL The base URL + * @param {string} relativeURL The relative URL + * + * @returns {string} The combined URL + */ +function combineURLs(baseURL, relativeURL) { + return relativeURL ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '') : baseURL; +} + +/** + * Creates a new URL by combining the baseURL with the requestedURL, + * only when the requestedURL is not already an absolute URL. + * If the requestURL is absolute, this function returns the requestedURL untouched. + * + * @param {string} baseURL The base URL + * @param {string} requestedURL Absolute or relative URL to combine + * + * @returns {string} The combined full path + */ +function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) { + let isRelativeUrl = !isAbsoluteURL(requestedURL); + if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) { + return combineURLs(baseURL, requestedURL); + } + return requestedURL; +} + +var DEFAULT_PORTS = { + ftp: 21, + gopher: 70, + http: 80, + https: 443, + ws: 80, + wss: 443 +}; +function parseUrl(urlString) { + try { + return new URL(urlString); + } catch { + return null; + } +} + +/** + * @param {string|object|URL} url - The URL as a string or URL instance, or a + * compatible object (such as the result from legacy url.parse). + * @return {string} The URL of the proxy that should handle the request to the + * given URL. If no proxy is set, this will be an empty string. + */ +function getProxyForUrl(url) { + var parsedUrl = (typeof url === 'string' ? parseUrl(url) : url) || {}; + var proto = parsedUrl.protocol; + var hostname = parsedUrl.host; + var port = parsedUrl.port; + if (typeof hostname !== 'string' || !hostname || typeof proto !== 'string') { + return ''; // Don't proxy URLs without a valid scheme or host. + } + proto = proto.split(':', 1)[0]; + // Stripping ports in this way instead of using parsedUrl.hostname to make + // sure that the brackets around IPv6 addresses are kept. + hostname = hostname.replace(/:\d*$/, ''); + port = parseInt(port) || DEFAULT_PORTS[proto] || 0; + if (!shouldProxy(hostname, port)) { + return ''; // Don't proxy URLs that match NO_PROXY. + } + var proxy = getEnv(proto + '_proxy') || getEnv('all_proxy'); + if (proxy && proxy.indexOf('://') === -1) { + // Missing scheme in proxy, default to the requested URL's scheme. + proxy = proto + '://' + proxy; + } + return proxy; +} + +/** + * Determines whether a given URL should be proxied. + * + * @param {string} hostname - The host name of the URL. + * @param {number} port - The effective port of the URL. + * @returns {boolean} Whether the given URL should be proxied. + * @private + */ +function shouldProxy(hostname, port) { + var NO_PROXY = getEnv('no_proxy').toLowerCase(); + if (!NO_PROXY) { + return true; // Always proxy if NO_PROXY is not set. + } + if (NO_PROXY === '*') { + return false; // Never proxy if wildcard is set. + } + return NO_PROXY.split(/[,\s]/).every(function (proxy) { + if (!proxy) { + return true; // Skip zero-length hosts. + } + var parsedProxy = proxy.match(/^(.+):(\d+)$/); + var parsedProxyHostname = parsedProxy ? parsedProxy[1] : proxy; + var parsedProxyPort = parsedProxy ? parseInt(parsedProxy[2]) : 0; + if (parsedProxyPort && parsedProxyPort !== port) { + return true; // Skip if ports don't match. + } + if (!/^[.*]/.test(parsedProxyHostname)) { + // No wildcards, so stop proxying if there is an exact match. + return hostname !== parsedProxyHostname; + } + if (parsedProxyHostname.charAt(0) === '*') { + // Remove leading wildcard. + parsedProxyHostname = parsedProxyHostname.slice(1); + } + // Stop proxying if the hostname ends with the no_proxy host. + return !hostname.endsWith(parsedProxyHostname); + }); +} + +/** + * Get the value for an environment variable. + * + * @param {string} key - The name of the environment variable. + * @return {string} The value of the environment variable. + * @private + */ +function getEnv(key) { + return process.env[key.toLowerCase()] || process.env[key.toUpperCase()] || ''; +} + +const VERSION = "1.14.0"; + +function parseProtocol(url) { + const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); + return match && match[1] || ''; +} + +const DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/; + +/** + * Parse data uri to a Buffer or Blob + * + * @param {String} uri + * @param {?Boolean} asBlob + * @param {?Object} options + * @param {?Function} options.Blob + * + * @returns {Buffer|Blob} + */ +function fromDataURI(uri, asBlob, options) { + const _Blob = options && options.Blob || platform.classes.Blob; + const protocol = parseProtocol(uri); + if (asBlob === undefined && _Blob) { + asBlob = true; + } + if (protocol === 'data') { + uri = protocol.length ? uri.slice(protocol.length + 1) : uri; + const match = DATA_URL_PATTERN.exec(uri); + if (!match) { + throw new AxiosError('Invalid URL', AxiosError.ERR_INVALID_URL); + } + const mime = match[1]; + const isBase64 = match[2]; + const body = match[3]; + const buffer = Buffer.from(decodeURIComponent(body), isBase64 ? 'base64' : 'utf8'); + if (asBlob) { + if (!_Blob) { + throw new AxiosError('Blob is not supported', AxiosError.ERR_NOT_SUPPORT); + } + return new _Blob([buffer], { + type: mime + }); + } + return buffer; + } + throw new AxiosError('Unsupported protocol ' + protocol, AxiosError.ERR_NOT_SUPPORT); +} + +const kInternals = Symbol('internals'); +class AxiosTransformStream extends stream.Transform { + constructor(options) { + options = utils$1.toFlatObject(options, { + maxRate: 0, + chunkSize: 64 * 1024, + minChunkSize: 100, + timeWindow: 500, + ticksRate: 2, + samplesCount: 15 + }, null, (prop, source) => { + return !utils$1.isUndefined(source[prop]); + }); + super({ + readableHighWaterMark: options.chunkSize + }); + const internals = this[kInternals] = { + timeWindow: options.timeWindow, + chunkSize: options.chunkSize, + maxRate: options.maxRate, + minChunkSize: options.minChunkSize, + bytesSeen: 0, + isCaptured: false, + notifiedBytesLoaded: 0, + ts: Date.now(), + bytes: 0, + onReadCallback: null + }; + this.on('newListener', event => { + if (event === 'progress') { + if (!internals.isCaptured) { + internals.isCaptured = true; + } + } + }); + } + _read(size) { + const internals = this[kInternals]; + if (internals.onReadCallback) { + internals.onReadCallback(); + } + return super._read(size); + } + _transform(chunk, encoding, callback) { + const internals = this[kInternals]; + const maxRate = internals.maxRate; + const readableHighWaterMark = this.readableHighWaterMark; + const timeWindow = internals.timeWindow; + const divider = 1000 / timeWindow; + const bytesThreshold = maxRate / divider; + const minChunkSize = internals.minChunkSize !== false ? Math.max(internals.minChunkSize, bytesThreshold * 0.01) : 0; + const pushChunk = (_chunk, _callback) => { + const bytes = Buffer.byteLength(_chunk); + internals.bytesSeen += bytes; + internals.bytes += bytes; + internals.isCaptured && this.emit('progress', internals.bytesSeen); + if (this.push(_chunk)) { + process.nextTick(_callback); + } else { + internals.onReadCallback = () => { + internals.onReadCallback = null; + process.nextTick(_callback); + }; + } + }; + const transformChunk = (_chunk, _callback) => { + const chunkSize = Buffer.byteLength(_chunk); + let chunkRemainder = null; + let maxChunkSize = readableHighWaterMark; + let bytesLeft; + let passed = 0; + if (maxRate) { + const now = Date.now(); + if (!internals.ts || (passed = now - internals.ts) >= timeWindow) { + internals.ts = now; + bytesLeft = bytesThreshold - internals.bytes; + internals.bytes = bytesLeft < 0 ? -bytesLeft : 0; + passed = 0; + } + bytesLeft = bytesThreshold - internals.bytes; + } + if (maxRate) { + if (bytesLeft <= 0) { + // next time window + return setTimeout(() => { + _callback(null, _chunk); + }, timeWindow - passed); + } + if (bytesLeft < maxChunkSize) { + maxChunkSize = bytesLeft; + } + } + if (maxChunkSize && chunkSize > maxChunkSize && chunkSize - maxChunkSize > minChunkSize) { + chunkRemainder = _chunk.subarray(maxChunkSize); + _chunk = _chunk.subarray(0, maxChunkSize); + } + pushChunk(_chunk, chunkRemainder ? () => { + process.nextTick(_callback, null, chunkRemainder); + } : _callback); + }; + transformChunk(chunk, function transformNextChunk(err, _chunk) { + if (err) { + return callback(err); + } + if (_chunk) { + transformChunk(_chunk, transformNextChunk); + } else { + callback(null); + } + }); + } +} + +const { + asyncIterator +} = Symbol; +const readBlob = async function* (blob) { + if (blob.stream) { + yield* blob.stream(); + } else if (blob.arrayBuffer) { + yield await blob.arrayBuffer(); + } else if (blob[asyncIterator]) { + yield* blob[asyncIterator](); + } else { + yield blob; + } +}; + +const BOUNDARY_ALPHABET = platform.ALPHABET.ALPHA_DIGIT + '-_'; +const textEncoder = typeof TextEncoder === 'function' ? new TextEncoder() : new util.TextEncoder(); +const CRLF = '\r\n'; +const CRLF_BYTES = textEncoder.encode(CRLF); +const CRLF_BYTES_COUNT = 2; +class FormDataPart { + constructor(name, value) { + const { + escapeName + } = this.constructor; + const isStringValue = utils$1.isString(value); + let headers = `Content-Disposition: form-data; name="${escapeName(name)}"${!isStringValue && value.name ? `; filename="${escapeName(value.name)}"` : ''}${CRLF}`; + if (isStringValue) { + value = textEncoder.encode(String(value).replace(/\r?\n|\r\n?/g, CRLF)); + } else { + headers += `Content-Type: ${value.type || 'application/octet-stream'}${CRLF}`; + } + this.headers = textEncoder.encode(headers + CRLF); + this.contentLength = isStringValue ? value.byteLength : value.size; + this.size = this.headers.byteLength + this.contentLength + CRLF_BYTES_COUNT; + this.name = name; + this.value = value; + } + async *encode() { + yield this.headers; + const { + value + } = this; + if (utils$1.isTypedArray(value)) { + yield value; + } else { + yield* readBlob(value); + } + yield CRLF_BYTES; + } + static escapeName(name) { + return String(name).replace(/[\r\n"]/g, match => ({ + '\r': '%0D', + '\n': '%0A', + '"': '%22' + })[match]); + } +} +const formDataToStream = (form, headersHandler, options) => { + const { + tag = 'form-data-boundary', + size = 25, + boundary = tag + '-' + platform.generateString(size, BOUNDARY_ALPHABET) + } = options || {}; + if (!utils$1.isFormData(form)) { + throw TypeError('FormData instance required'); + } + if (boundary.length < 1 || boundary.length > 70) { + throw Error('boundary must be 10-70 characters long'); + } + const boundaryBytes = textEncoder.encode('--' + boundary + CRLF); + const footerBytes = textEncoder.encode('--' + boundary + '--' + CRLF); + let contentLength = footerBytes.byteLength; + const parts = Array.from(form.entries()).map(([name, value]) => { + const part = new FormDataPart(name, value); + contentLength += part.size; + return part; + }); + contentLength += boundaryBytes.byteLength * parts.length; + contentLength = utils$1.toFiniteNumber(contentLength); + const computedHeaders = { + 'Content-Type': `multipart/form-data; boundary=${boundary}` + }; + if (Number.isFinite(contentLength)) { + computedHeaders['Content-Length'] = contentLength; + } + headersHandler && headersHandler(computedHeaders); + return stream.Readable.from(async function* () { + for (const part of parts) { + yield boundaryBytes; + yield* part.encode(); + } + yield footerBytes; + }()); +}; + +class ZlibHeaderTransformStream extends stream.Transform { + __transform(chunk, encoding, callback) { + this.push(chunk); + callback(); + } + _transform(chunk, encoding, callback) { + if (chunk.length !== 0) { + this._transform = this.__transform; + + // Add Default Compression headers if no zlib headers are present + if (chunk[0] !== 120) { + // Hex: 78 + const header = Buffer.alloc(2); + header[0] = 120; // Hex: 78 + header[1] = 156; // Hex: 9C + this.push(header, encoding); + } + } + this.__transform(chunk, encoding, callback); + } +} + +const callbackify = (fn, reducer) => { + return utils$1.isAsyncFn(fn) ? function (...args) { + const cb = args.pop(); + fn.apply(this, args).then(value => { + try { + reducer ? cb(null, ...reducer(value)) : cb(null, value); + } catch (err) { + cb(err); + } + }, cb); + } : fn; +}; + +/** + * Calculate data maxRate + * @param {Number} [samplesCount= 10] + * @param {Number} [min= 1000] + * @returns {Function} + */ +function speedometer(samplesCount, min) { + samplesCount = samplesCount || 10; + const bytes = new Array(samplesCount); + const timestamps = new Array(samplesCount); + let head = 0; + let tail = 0; + let firstSampleTS; + min = min !== undefined ? min : 1000; + return function push(chunkLength) { + const now = Date.now(); + const startedAt = timestamps[tail]; + if (!firstSampleTS) { + firstSampleTS = now; + } + bytes[head] = chunkLength; + timestamps[head] = now; + let i = tail; + let bytesCount = 0; + while (i !== head) { + bytesCount += bytes[i++]; + i = i % samplesCount; + } + head = (head + 1) % samplesCount; + if (head === tail) { + tail = (tail + 1) % samplesCount; + } + if (now - firstSampleTS < min) { + return; + } + const passed = startedAt && now - startedAt; + return passed ? Math.round(bytesCount * 1000 / passed) : undefined; + }; +} + +/** + * Throttle decorator + * @param {Function} fn + * @param {Number} freq + * @return {Function} + */ +function throttle(fn, freq) { + let timestamp = 0; + let threshold = 1000 / freq; + let lastArgs; + let timer; + const invoke = (args, now = Date.now()) => { + timestamp = now; + lastArgs = null; + if (timer) { + clearTimeout(timer); + timer = null; + } + fn(...args); + }; + const throttled = (...args) => { + const now = Date.now(); + const passed = now - timestamp; + if (passed >= threshold) { + invoke(args, now); + } else { + lastArgs = args; + if (!timer) { + timer = setTimeout(() => { + timer = null; + invoke(lastArgs); + }, threshold - passed); + } + } + }; + const flush = () => lastArgs && invoke(lastArgs); + return [throttled, flush]; +} + +const progressEventReducer = (listener, isDownloadStream, freq = 3) => { + let bytesNotified = 0; + const _speedometer = speedometer(50, 250); + return throttle(e => { + const loaded = e.loaded; + const total = e.lengthComputable ? e.total : undefined; + const progressBytes = loaded - bytesNotified; + const rate = _speedometer(progressBytes); + const inRange = loaded <= total; + bytesNotified = loaded; + const data = { + loaded, + total, + progress: total ? loaded / total : undefined, + bytes: progressBytes, + rate: rate ? rate : undefined, + estimated: rate && total && inRange ? (total - loaded) / rate : undefined, + event: e, + lengthComputable: total != null, + [isDownloadStream ? 'download' : 'upload']: true + }; + listener(data); + }, freq); +}; +const progressEventDecorator = (total, throttled) => { + const lengthComputable = total != null; + return [loaded => throttled[0]({ + lengthComputable, + total, + loaded + }), throttled[1]]; +}; +const asyncDecorator = fn => (...args) => utils$1.asap(() => fn(...args)); + +/** + * Estimate decoded byte length of a data:// URL *without* allocating large buffers. + * - For base64: compute exact decoded size using length and padding; + * handle %XX at the character-count level (no string allocation). + * - For non-base64: use UTF-8 byteLength of the encoded body as a safe upper bound. + * + * @param {string} url + * @returns {number} + */ +function estimateDataURLDecodedBytes(url) { + if (!url || typeof url !== 'string') return 0; + if (!url.startsWith('data:')) return 0; + const comma = url.indexOf(','); + if (comma < 0) return 0; + const meta = url.slice(5, comma); + const body = url.slice(comma + 1); + const isBase64 = /;base64/i.test(meta); + if (isBase64) { + let effectiveLen = body.length; + const len = body.length; // cache length + + for (let i = 0; i < len; i++) { + if (body.charCodeAt(i) === 37 /* '%' */ && i + 2 < len) { + const a = body.charCodeAt(i + 1); + const b = body.charCodeAt(i + 2); + const isHex = (a >= 48 && a <= 57 || a >= 65 && a <= 70 || a >= 97 && a <= 102) && (b >= 48 && b <= 57 || b >= 65 && b <= 70 || b >= 97 && b <= 102); + if (isHex) { + effectiveLen -= 2; + i += 2; + } + } + } + let pad = 0; + let idx = len - 1; + const tailIsPct3D = j => j >= 2 && body.charCodeAt(j - 2) === 37 && + // '%' + body.charCodeAt(j - 1) === 51 && ( + // '3' + body.charCodeAt(j) === 68 || body.charCodeAt(j) === 100); // 'D' or 'd' + + if (idx >= 0) { + if (body.charCodeAt(idx) === 61 /* '=' */) { + pad++; + idx--; + } else if (tailIsPct3D(idx)) { + pad++; + idx -= 3; + } + } + if (pad === 1 && idx >= 0) { + if (body.charCodeAt(idx) === 61 /* '=' */) { + pad++; + } else if (tailIsPct3D(idx)) { + pad++; + } + } + const groups = Math.floor(effectiveLen / 4); + const bytes = groups * 3 - (pad || 0); + return bytes > 0 ? bytes : 0; + } + return Buffer.byteLength(body, 'utf8'); +} + +const zlibOptions = { + flush: zlib.constants.Z_SYNC_FLUSH, + finishFlush: zlib.constants.Z_SYNC_FLUSH +}; +const brotliOptions = { + flush: zlib.constants.BROTLI_OPERATION_FLUSH, + finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH +}; +const isBrotliSupported = utils$1.isFunction(zlib.createBrotliDecompress); +const { + http: httpFollow, + https: httpsFollow +} = followRedirects; +const isHttps = /https:?/; +const supportedProtocols = platform.protocols.map(protocol => { + return protocol + ':'; +}); +const flushOnFinish = (stream, [throttled, flush]) => { + stream.on('end', flush).on('error', flush); + return throttled; +}; +class Http2Sessions { + constructor() { + this.sessions = Object.create(null); + } + getSession(authority, options) { + options = Object.assign({ + sessionTimeout: 1000 + }, options); + let authoritySessions = this.sessions[authority]; + if (authoritySessions) { + let len = authoritySessions.length; + for (let i = 0; i < len; i++) { + const [sessionHandle, sessionOptions] = authoritySessions[i]; + if (!sessionHandle.destroyed && !sessionHandle.closed && util.isDeepStrictEqual(sessionOptions, options)) { + return sessionHandle; + } + } + } + const session = http2.connect(authority, options); + let removed; + const removeSession = () => { + if (removed) { + return; + } + removed = true; + let entries = authoritySessions, + len = entries.length, + i = len; + while (i--) { + if (entries[i][0] === session) { + if (len === 1) { + delete this.sessions[authority]; + } else { + entries.splice(i, 1); + } + if (!session.closed) { + session.close(); + } + return; + } + } + }; + const originalRequestFn = session.request; + const { + sessionTimeout + } = options; + if (sessionTimeout != null) { + let timer; + let streamsCount = 0; + session.request = function () { + const stream = originalRequestFn.apply(this, arguments); + streamsCount++; + if (timer) { + clearTimeout(timer); + timer = null; + } + stream.once('close', () => { + if (! --streamsCount) { + timer = setTimeout(() => { + timer = null; + removeSession(); + }, sessionTimeout); + } + }); + return stream; + }; + } + session.once('close', removeSession); + let entry = [session, options]; + authoritySessions ? authoritySessions.push(entry) : authoritySessions = this.sessions[authority] = [entry]; + return session; + } +} +const http2Sessions = new Http2Sessions(); + +/** + * If the proxy or config beforeRedirects functions are defined, call them with the options + * object. + * + * @param {Object} options - The options object that was passed to the request. + * + * @returns {Object} + */ +function dispatchBeforeRedirect(options, responseDetails) { + if (options.beforeRedirects.proxy) { + options.beforeRedirects.proxy(options); + } + if (options.beforeRedirects.config) { + options.beforeRedirects.config(options, responseDetails); + } +} + +/** + * If the proxy or config afterRedirects functions are defined, call them with the options + * + * @param {http.ClientRequestArgs} options + * @param {AxiosProxyConfig} configProxy configuration from Axios options object + * @param {string} location + * + * @returns {http.ClientRequestArgs} + */ +function setProxy(options, configProxy, location) { + let proxy = configProxy; + if (!proxy && proxy !== false) { + const proxyUrl = getProxyForUrl(location); + if (proxyUrl) { + proxy = new URL(proxyUrl); + } + } + if (proxy) { + // Basic proxy authorization + if (proxy.username) { + proxy.auth = (proxy.username || '') + ':' + (proxy.password || ''); + } + if (proxy.auth) { + // Support proxy auth object form + const validProxyAuth = Boolean(proxy.auth.username || proxy.auth.password); + if (validProxyAuth) { + proxy.auth = (proxy.auth.username || '') + ':' + (proxy.auth.password || ''); + } else if (typeof proxy.auth === 'object') { + throw new AxiosError('Invalid proxy authorization', AxiosError.ERR_BAD_OPTION, { + proxy + }); + } + const base64 = Buffer.from(proxy.auth, 'utf8').toString('base64'); + options.headers['Proxy-Authorization'] = 'Basic ' + base64; + } + options.headers.host = options.hostname + (options.port ? ':' + options.port : ''); + const proxyHost = proxy.hostname || proxy.host; + options.hostname = proxyHost; + // Replace 'host' since options is not a URL object + options.host = proxyHost; + options.port = proxy.port; + options.path = location; + if (proxy.protocol) { + options.protocol = proxy.protocol.includes(':') ? proxy.protocol : `${proxy.protocol}:`; + } + } + options.beforeRedirects.proxy = function beforeRedirect(redirectOptions) { + // Configure proxy for redirected request, passing the original config proxy to apply + // the exact same logic as if the redirected request was performed by axios directly. + setProxy(redirectOptions, configProxy, redirectOptions.href); + }; +} +const isHttpAdapterSupported = typeof process !== 'undefined' && utils$1.kindOf(process) === 'process'; + +// temporary hotfix + +const wrapAsync = asyncExecutor => { + return new Promise((resolve, reject) => { + let onDone; + let isDone; + const done = (value, isRejected) => { + if (isDone) return; + isDone = true; + onDone && onDone(value, isRejected); + }; + const _resolve = value => { + done(value); + resolve(value); + }; + const _reject = reason => { + done(reason, true); + reject(reason); + }; + asyncExecutor(_resolve, _reject, onDoneHandler => onDone = onDoneHandler).catch(_reject); + }); +}; +const resolveFamily = ({ + address, + family +}) => { + if (!utils$1.isString(address)) { + throw TypeError('address must be a string'); + } + return { + address, + family: family || (address.indexOf('.') < 0 ? 6 : 4) + }; +}; +const buildAddressEntry = (address, family) => resolveFamily(utils$1.isObject(address) ? address : { + address, + family +}); +const http2Transport = { + request(options, cb) { + const authority = options.protocol + '//' + options.hostname + ':' + (options.port || (options.protocol === 'https:' ? 443 : 80)); + const { + http2Options, + headers + } = options; + const session = http2Sessions.getSession(authority, http2Options); + const { + HTTP2_HEADER_SCHEME, + HTTP2_HEADER_METHOD, + HTTP2_HEADER_PATH, + HTTP2_HEADER_STATUS + } = http2.constants; + const http2Headers = { + [HTTP2_HEADER_SCHEME]: options.protocol.replace(':', ''), + [HTTP2_HEADER_METHOD]: options.method, + [HTTP2_HEADER_PATH]: options.path + }; + utils$1.forEach(headers, (header, name) => { + name.charAt(0) !== ':' && (http2Headers[name] = header); + }); + const req = session.request(http2Headers); + req.once('response', responseHeaders => { + const response = req; //duplex + + responseHeaders = Object.assign({}, responseHeaders); + const status = responseHeaders[HTTP2_HEADER_STATUS]; + delete responseHeaders[HTTP2_HEADER_STATUS]; + response.headers = responseHeaders; + response.statusCode = +status; + cb(response); + }); + return req; + } +}; + +/*eslint consistent-return:0*/ +var httpAdapter = isHttpAdapterSupported && function httpAdapter(config) { + return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) { + let { + data, + lookup, + family, + httpVersion = 1, + http2Options + } = config; + const { + responseType, + responseEncoding + } = config; + const method = config.method.toUpperCase(); + let isDone; + let rejected = false; + let req; + httpVersion = +httpVersion; + if (Number.isNaN(httpVersion)) { + throw TypeError(`Invalid protocol version: '${config.httpVersion}' is not a number`); + } + if (httpVersion !== 1 && httpVersion !== 2) { + throw TypeError(`Unsupported protocol version '${httpVersion}'`); + } + const isHttp2 = httpVersion === 2; + if (lookup) { + const _lookup = callbackify(lookup, value => utils$1.isArray(value) ? value : [value]); + // hotfix to support opt.all option which is required for node 20.x + lookup = (hostname, opt, cb) => { + _lookup(hostname, opt, (err, arg0, arg1) => { + if (err) { + return cb(err); + } + const addresses = utils$1.isArray(arg0) ? arg0.map(addr => buildAddressEntry(addr)) : [buildAddressEntry(arg0, arg1)]; + opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family); + }); + }; + } + const abortEmitter = new events.EventEmitter(); + function abort(reason) { + try { + abortEmitter.emit('abort', !reason || reason.type ? new CanceledError(null, config, req) : reason); + } catch (err) { + console.warn('emit error', err); + } + } + abortEmitter.once('abort', reject); + const onFinished = () => { + if (config.cancelToken) { + config.cancelToken.unsubscribe(abort); + } + if (config.signal) { + config.signal.removeEventListener('abort', abort); + } + abortEmitter.removeAllListeners(); + }; + if (config.cancelToken || config.signal) { + config.cancelToken && config.cancelToken.subscribe(abort); + if (config.signal) { + config.signal.aborted ? abort() : config.signal.addEventListener('abort', abort); + } + } + onDone((response, isRejected) => { + isDone = true; + if (isRejected) { + rejected = true; + onFinished(); + return; + } + const { + data + } = response; + if (data instanceof stream.Readable || data instanceof stream.Duplex) { + const offListeners = stream.finished(data, () => { + offListeners(); + onFinished(); + }); + } else { + onFinished(); + } + }); + + // Parse url + const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls); + const parsed = new URL(fullPath, platform.hasBrowserEnv ? platform.origin : undefined); + const protocol = parsed.protocol || supportedProtocols[0]; + if (protocol === 'data:') { + // Apply the same semantics as HTTP: only enforce if a finite, non-negative cap is set. + if (config.maxContentLength > -1) { + // Use the exact string passed to fromDataURI (config.url); fall back to fullPath if needed. + const dataUrl = String(config.url || fullPath || ''); + const estimated = estimateDataURLDecodedBytes(dataUrl); + if (estimated > config.maxContentLength) { + return reject(new AxiosError('maxContentLength size of ' + config.maxContentLength + ' exceeded', AxiosError.ERR_BAD_RESPONSE, config)); + } + } + let convertedData; + if (method !== 'GET') { + return settle(resolve, reject, { + status: 405, + statusText: 'method not allowed', + headers: {}, + config + }); + } + try { + convertedData = fromDataURI(config.url, responseType === 'blob', { + Blob: config.env && config.env.Blob + }); + } catch (err) { + throw AxiosError.from(err, AxiosError.ERR_BAD_REQUEST, config); + } + if (responseType === 'text') { + convertedData = convertedData.toString(responseEncoding); + if (!responseEncoding || responseEncoding === 'utf8') { + convertedData = utils$1.stripBOM(convertedData); + } + } else if (responseType === 'stream') { + convertedData = stream.Readable.from(convertedData); + } + return settle(resolve, reject, { + data: convertedData, + status: 200, + statusText: 'OK', + headers: new AxiosHeaders(), + config + }); + } + if (supportedProtocols.indexOf(protocol) === -1) { + return reject(new AxiosError('Unsupported protocol ' + protocol, AxiosError.ERR_BAD_REQUEST, config)); + } + const headers = AxiosHeaders.from(config.headers).normalize(); + + // Set User-Agent (required by some servers) + // See https://github.com/axios/axios/issues/69 + // User-Agent is specified; handle case where no UA header is desired + // Only set header if it hasn't been set in config + headers.set('User-Agent', 'axios/' + VERSION, false); + const { + onUploadProgress, + onDownloadProgress + } = config; + const maxRate = config.maxRate; + let maxUploadRate = undefined; + let maxDownloadRate = undefined; + + // support for spec compliant FormData objects + if (utils$1.isSpecCompliantForm(data)) { + const userBoundary = headers.getContentType(/boundary=([-_\w\d]{10,70})/i); + data = formDataToStream(data, formHeaders => { + headers.set(formHeaders); + }, { + tag: `axios-${VERSION}-boundary`, + boundary: userBoundary && userBoundary[1] || undefined + }); + // support for https://www.npmjs.com/package/form-data api + } else if (utils$1.isFormData(data) && utils$1.isFunction(data.getHeaders)) { + headers.set(data.getHeaders()); + if (!headers.hasContentLength()) { + try { + const knownLength = await util.promisify(data.getLength).call(data); + Number.isFinite(knownLength) && knownLength >= 0 && headers.setContentLength(knownLength); + /*eslint no-empty:0*/ + } catch (e) {} + } + } else if (utils$1.isBlob(data) || utils$1.isFile(data)) { + data.size && headers.setContentType(data.type || 'application/octet-stream'); + headers.setContentLength(data.size || 0); + data = stream.Readable.from(readBlob(data)); + } else if (data && !utils$1.isStream(data)) { + if (Buffer.isBuffer(data)) ; else if (utils$1.isArrayBuffer(data)) { + data = Buffer.from(new Uint8Array(data)); + } else if (utils$1.isString(data)) { + data = Buffer.from(data, 'utf-8'); + } else { + return reject(new AxiosError('Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream', AxiosError.ERR_BAD_REQUEST, config)); + } + + // Add Content-Length header if data exists + headers.setContentLength(data.length, false); + if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) { + return reject(new AxiosError('Request body larger than maxBodyLength limit', AxiosError.ERR_BAD_REQUEST, config)); + } + } + const contentLength = utils$1.toFiniteNumber(headers.getContentLength()); + if (utils$1.isArray(maxRate)) { + maxUploadRate = maxRate[0]; + maxDownloadRate = maxRate[1]; + } else { + maxUploadRate = maxDownloadRate = maxRate; + } + if (data && (onUploadProgress || maxUploadRate)) { + if (!utils$1.isStream(data)) { + data = stream.Readable.from(data, { + objectMode: false + }); + } + data = stream.pipeline([data, new AxiosTransformStream({ + maxRate: utils$1.toFiniteNumber(maxUploadRate) + })], utils$1.noop); + onUploadProgress && data.on('progress', flushOnFinish(data, progressEventDecorator(contentLength, progressEventReducer(asyncDecorator(onUploadProgress), false, 3)))); + } + + // HTTP basic authentication + let auth = undefined; + if (config.auth) { + const username = config.auth.username || ''; + const password = config.auth.password || ''; + auth = username + ':' + password; + } + if (!auth && parsed.username) { + const urlUsername = parsed.username; + const urlPassword = parsed.password; + auth = urlUsername + ':' + urlPassword; + } + auth && headers.delete('authorization'); + let path; + try { + path = buildURL(parsed.pathname + parsed.search, config.params, config.paramsSerializer).replace(/^\?/, ''); + } catch (err) { + const customErr = new Error(err.message); + customErr.config = config; + customErr.url = config.url; + customErr.exists = true; + return reject(customErr); + } + headers.set('Accept-Encoding', 'gzip, compress, deflate' + (isBrotliSupported ? ', br' : ''), false); + const options = { + path, + method: method, + headers: headers.toJSON(), + agents: { + http: config.httpAgent, + https: config.httpsAgent + }, + auth, + protocol, + family, + beforeRedirect: dispatchBeforeRedirect, + beforeRedirects: {}, + http2Options + }; + + // cacheable-lookup integration hotfix + !utils$1.isUndefined(lookup) && (options.lookup = lookup); + if (config.socketPath) { + options.socketPath = config.socketPath; + } else { + options.hostname = parsed.hostname.startsWith('[') ? parsed.hostname.slice(1, -1) : parsed.hostname; + options.port = parsed.port; + setProxy(options, config.proxy, protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path); + } + let transport; + const isHttpsRequest = isHttps.test(options.protocol); + options.agent = isHttpsRequest ? config.httpsAgent : config.httpAgent; + if (isHttp2) { + transport = http2Transport; + } else { + if (config.transport) { + transport = config.transport; + } else if (config.maxRedirects === 0) { + transport = isHttpsRequest ? https : http; + } else { + if (config.maxRedirects) { + options.maxRedirects = config.maxRedirects; + } + if (config.beforeRedirect) { + options.beforeRedirects.config = config.beforeRedirect; + } + transport = isHttpsRequest ? httpsFollow : httpFollow; + } + } + if (config.maxBodyLength > -1) { + options.maxBodyLength = config.maxBodyLength; + } else { + // follow-redirects does not skip comparison, so it should always succeed for axios -1 unlimited + options.maxBodyLength = Infinity; + } + if (config.insecureHTTPParser) { + options.insecureHTTPParser = config.insecureHTTPParser; + } + + // Create the request + req = transport.request(options, function handleResponse(res) { + if (req.destroyed) return; + const streams = [res]; + const responseLength = utils$1.toFiniteNumber(res.headers['content-length']); + if (onDownloadProgress || maxDownloadRate) { + const transformStream = new AxiosTransformStream({ + maxRate: utils$1.toFiniteNumber(maxDownloadRate) + }); + onDownloadProgress && transformStream.on('progress', flushOnFinish(transformStream, progressEventDecorator(responseLength, progressEventReducer(asyncDecorator(onDownloadProgress), true, 3)))); + streams.push(transformStream); + } + + // decompress the response body transparently if required + let responseStream = res; + + // return the last request in case of redirects + const lastRequest = res.req || req; + + // if decompress disabled we should not decompress + if (config.decompress !== false && res.headers['content-encoding']) { + // if no content, but headers still say that it is encoded, + // remove the header not confuse downstream operations + if (method === 'HEAD' || res.statusCode === 204) { + delete res.headers['content-encoding']; + } + switch ((res.headers['content-encoding'] || '').toLowerCase()) { + /*eslint default-case:0*/ + case 'gzip': + case 'x-gzip': + case 'compress': + case 'x-compress': + // add the unzipper to the body stream processing pipeline + streams.push(zlib.createUnzip(zlibOptions)); + + // remove the content-encoding in order to not confuse downstream operations + delete res.headers['content-encoding']; + break; + case 'deflate': + streams.push(new ZlibHeaderTransformStream()); + + // add the unzipper to the body stream processing pipeline + streams.push(zlib.createUnzip(zlibOptions)); + + // remove the content-encoding in order to not confuse downstream operations + delete res.headers['content-encoding']; + break; + case 'br': + if (isBrotliSupported) { + streams.push(zlib.createBrotliDecompress(brotliOptions)); + delete res.headers['content-encoding']; + } + } + } + responseStream = streams.length > 1 ? stream.pipeline(streams, utils$1.noop) : streams[0]; + const response = { + status: res.statusCode, + statusText: res.statusMessage, + headers: new AxiosHeaders(res.headers), + config, + request: lastRequest + }; + if (responseType === 'stream') { + response.data = responseStream; + settle(resolve, reject, response); + } else { + const responseBuffer = []; + let totalResponseBytes = 0; + responseStream.on('data', function handleStreamData(chunk) { + responseBuffer.push(chunk); + totalResponseBytes += chunk.length; + + // make sure the content length is not over the maxContentLength if specified + if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) { + // stream.destroy() emit aborted event before calling reject() on Node.js v16 + rejected = true; + responseStream.destroy(); + abort(new AxiosError('maxContentLength size of ' + config.maxContentLength + ' exceeded', AxiosError.ERR_BAD_RESPONSE, config, lastRequest)); + } + }); + responseStream.on('aborted', function handlerStreamAborted() { + if (rejected) { + return; + } + const err = new AxiosError('stream has been aborted', AxiosError.ERR_BAD_RESPONSE, config, lastRequest); + responseStream.destroy(err); + reject(err); + }); + responseStream.on('error', function handleStreamError(err) { + if (req.destroyed) return; + reject(AxiosError.from(err, null, config, lastRequest)); + }); + responseStream.on('end', function handleStreamEnd() { + try { + let responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer); + if (responseType !== 'arraybuffer') { + responseData = responseData.toString(responseEncoding); + if (!responseEncoding || responseEncoding === 'utf8') { + responseData = utils$1.stripBOM(responseData); + } + } + response.data = responseData; + } catch (err) { + return reject(AxiosError.from(err, null, config, response.request, response)); + } + settle(resolve, reject, response); + }); + } + abortEmitter.once('abort', err => { + if (!responseStream.destroyed) { + responseStream.emit('error', err); + responseStream.destroy(); + } + }); + }); + abortEmitter.once('abort', err => { + if (req.close) { + req.close(); + } else { + req.destroy(err); + } + }); + + // Handle errors + req.on('error', function handleRequestError(err) { + reject(AxiosError.from(err, null, config, req)); + }); + + // set tcp keep alive to prevent drop connection by peer + req.on('socket', function handleRequestSocket(socket) { + // default interval of sending ack packet is 1 minute + socket.setKeepAlive(true, 1000 * 60); + }); + + // Handle request timeout + if (config.timeout) { + // This is forcing a int timeout to avoid problems if the `req` interface doesn't handle other types. + const timeout = parseInt(config.timeout, 10); + if (Number.isNaN(timeout)) { + abort(new AxiosError('error trying to parse `config.timeout` to int', AxiosError.ERR_BAD_OPTION_VALUE, config, req)); + return; + } + + // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system. + // And timer callback will be fired, and abort() will be invoked before connection, then get "socket hang up" and code ECONNRESET. + // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up. + // And then these socket which be hang up will devouring CPU little by little. + // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect. + req.setTimeout(timeout, function handleRequestTimeout() { + if (isDone) return; + let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded'; + const transitional = config.transitional || transitionalDefaults; + if (config.timeoutErrorMessage) { + timeoutErrorMessage = config.timeoutErrorMessage; + } + abort(new AxiosError(timeoutErrorMessage, transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, config, req)); + }); + } else { + // explicitly reset the socket timeout value for a possible `keep-alive` request + req.setTimeout(0); + } + + // Send the request + if (utils$1.isStream(data)) { + let ended = false; + let errored = false; + data.on('end', () => { + ended = true; + }); + data.once('error', err => { + errored = true; + req.destroy(err); + }); + data.on('close', () => { + if (!ended && !errored) { + abort(new CanceledError('Request stream has been aborted', config, req)); + } + }); + data.pipe(req); + } else { + data && req.write(data); + req.end(); + } + }); +}; + +var isURLSameOrigin = platform.hasStandardBrowserEnv ? ((origin, isMSIE) => url => { + url = new URL(url, platform.origin); + return origin.protocol === url.protocol && origin.host === url.host && (isMSIE || origin.port === url.port); +})(new URL(platform.origin), platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)) : () => true; + +var cookies = platform.hasStandardBrowserEnv ? +// Standard browser envs support document.cookie +{ + write(name, value, expires, path, domain, secure, sameSite) { + if (typeof document === 'undefined') return; + const cookie = [`${name}=${encodeURIComponent(value)}`]; + if (utils$1.isNumber(expires)) { + cookie.push(`expires=${new Date(expires).toUTCString()}`); + } + if (utils$1.isString(path)) { + cookie.push(`path=${path}`); + } + if (utils$1.isString(domain)) { + cookie.push(`domain=${domain}`); + } + if (secure === true) { + cookie.push('secure'); + } + if (utils$1.isString(sameSite)) { + cookie.push(`SameSite=${sameSite}`); + } + document.cookie = cookie.join('; '); + }, + read(name) { + if (typeof document === 'undefined') return null; + const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)')); + return match ? decodeURIComponent(match[1]) : null; + }, + remove(name) { + this.write(name, '', Date.now() - 86400000, '/'); + } +} : +// Non-standard browser env (web workers, react-native) lack needed support. +{ + write() {}, + read() { + return null; + }, + remove() {} +}; + +const headersToObject = thing => thing instanceof AxiosHeaders ? { + ...thing +} : thing; + +/** + * Config-specific merge-function which creates a new config-object + * by merging two configuration objects together. + * + * @param {Object} config1 + * @param {Object} config2 + * + * @returns {Object} New object resulting from merging config2 to config1 + */ +function mergeConfig(config1, config2) { + // eslint-disable-next-line no-param-reassign + config2 = config2 || {}; + const config = {}; + function getMergedValue(target, source, prop, caseless) { + if (utils$1.isPlainObject(target) && utils$1.isPlainObject(source)) { + return utils$1.merge.call({ + caseless + }, target, source); + } else if (utils$1.isPlainObject(source)) { + return utils$1.merge({}, source); + } else if (utils$1.isArray(source)) { + return source.slice(); + } + return source; + } + function mergeDeepProperties(a, b, prop, caseless) { + if (!utils$1.isUndefined(b)) { + return getMergedValue(a, b, prop, caseless); + } else if (!utils$1.isUndefined(a)) { + return getMergedValue(undefined, a, prop, caseless); + } + } + + // eslint-disable-next-line consistent-return + function valueFromConfig2(a, b) { + if (!utils$1.isUndefined(b)) { + return getMergedValue(undefined, b); + } + } + + // eslint-disable-next-line consistent-return + function defaultToConfig2(a, b) { + if (!utils$1.isUndefined(b)) { + return getMergedValue(undefined, b); + } else if (!utils$1.isUndefined(a)) { + return getMergedValue(undefined, a); + } + } + + // eslint-disable-next-line consistent-return + function mergeDirectKeys(a, b, prop) { + if (prop in config2) { + return getMergedValue(a, b); + } else if (prop in config1) { + return getMergedValue(undefined, a); + } + } + const mergeMap = { + url: valueFromConfig2, + method: valueFromConfig2, + data: valueFromConfig2, + baseURL: defaultToConfig2, + transformRequest: defaultToConfig2, + transformResponse: defaultToConfig2, + paramsSerializer: defaultToConfig2, + timeout: defaultToConfig2, + timeoutMessage: defaultToConfig2, + withCredentials: defaultToConfig2, + withXSRFToken: defaultToConfig2, + adapter: defaultToConfig2, + responseType: defaultToConfig2, + xsrfCookieName: defaultToConfig2, + xsrfHeaderName: defaultToConfig2, + onUploadProgress: defaultToConfig2, + onDownloadProgress: defaultToConfig2, + decompress: defaultToConfig2, + maxContentLength: defaultToConfig2, + maxBodyLength: defaultToConfig2, + beforeRedirect: defaultToConfig2, + transport: defaultToConfig2, + httpAgent: defaultToConfig2, + httpsAgent: defaultToConfig2, + cancelToken: defaultToConfig2, + socketPath: defaultToConfig2, + responseEncoding: defaultToConfig2, + validateStatus: mergeDirectKeys, + headers: (a, b, prop) => mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true) + }; + utils$1.forEach(Object.keys({ + ...config1, + ...config2 + }), function computeConfigValue(prop) { + if (prop === '__proto__' || prop === 'constructor' || prop === 'prototype') return; + const merge = utils$1.hasOwnProp(mergeMap, prop) ? mergeMap[prop] : mergeDeepProperties; + const configValue = merge(config1[prop], config2[prop], prop); + utils$1.isUndefined(configValue) && merge !== mergeDirectKeys || (config[prop] = configValue); + }); + return config; +} + +var resolveConfig = config => { + const newConfig = mergeConfig({}, config); + let { + data, + withXSRFToken, + xsrfHeaderName, + xsrfCookieName, + headers, + auth + } = newConfig; + newConfig.headers = headers = AxiosHeaders.from(headers); + newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer); + + // HTTP basic authentication + if (auth) { + headers.set('Authorization', 'Basic ' + btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))); + } + if (utils$1.isFormData(data)) { + if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) { + headers.setContentType(undefined); // browser handles it + } else if (utils$1.isFunction(data.getHeaders)) { + // Node.js FormData (like form-data package) + const formHeaders = data.getHeaders(); + // Only set safe headers to avoid overwriting security headers + const allowedHeaders = ['content-type', 'content-length']; + Object.entries(formHeaders).forEach(([key, val]) => { + if (allowedHeaders.includes(key.toLowerCase())) { + headers.set(key, val); + } + }); + } + } + + // Add xsrf header + // This is only done if running in a standard browser environment. + // Specifically not if we're in a web worker, or react-native. + + if (platform.hasStandardBrowserEnv) { + withXSRFToken && utils$1.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig)); + if (withXSRFToken || withXSRFToken !== false && isURLSameOrigin(newConfig.url)) { + // Add xsrf header + const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName); + if (xsrfValue) { + headers.set(xsrfHeaderName, xsrfValue); + } + } + } + return newConfig; +}; + +const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; +var xhrAdapter = isXHRAdapterSupported && function (config) { + return new Promise(function dispatchXhrRequest(resolve, reject) { + const _config = resolveConfig(config); + let requestData = _config.data; + const requestHeaders = AxiosHeaders.from(_config.headers).normalize(); + let { + responseType, + onUploadProgress, + onDownloadProgress + } = _config; + let onCanceled; + let uploadThrottled, downloadThrottled; + let flushUpload, flushDownload; + function done() { + flushUpload && flushUpload(); // flush events + flushDownload && flushDownload(); // flush events + + _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled); + _config.signal && _config.signal.removeEventListener('abort', onCanceled); + } + let request = new XMLHttpRequest(); + request.open(_config.method.toUpperCase(), _config.url, true); + + // Set the request timeout in MS + request.timeout = _config.timeout; + function onloadend() { + if (!request) { + return; + } + // Prepare the response + const responseHeaders = AxiosHeaders.from('getAllResponseHeaders' in request && request.getAllResponseHeaders()); + const responseData = !responseType || responseType === 'text' || responseType === 'json' ? request.responseText : request.response; + const response = { + data: responseData, + status: request.status, + statusText: request.statusText, + headers: responseHeaders, + config, + request + }; + settle(function _resolve(value) { + resolve(value); + done(); + }, function _reject(err) { + reject(err); + done(); + }, response); + + // Clean up request + request = null; + } + if ('onloadend' in request) { + // Use onloadend if available + request.onloadend = onloadend; + } else { + // Listen for ready state to emulate onloadend + request.onreadystatechange = function handleLoad() { + if (!request || request.readyState !== 4) { + return; + } + + // The request errored out and we didn't get a response, this will be + // handled by onerror instead + // With one exception: request that using file: protocol, most browsers + // will return status as 0 even though it's a successful request + if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { + return; + } + // readystate handler is calling before onerror or ontimeout handlers, + // so we should call onloadend on the next 'tick' + setTimeout(onloadend); + }; + } + + // Handle browser request cancellation (as opposed to a manual cancellation) + request.onabort = function handleAbort() { + if (!request) { + return; + } + reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request)); + + // Clean up request + request = null; + }; + + // Handle low level network errors + request.onerror = function handleError(event) { + // Browsers deliver a ProgressEvent in XHR onerror + // (message may be empty; when present, surface it) + // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event + const msg = event && event.message ? event.message : 'Network Error'; + const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request); + // attach the underlying event for consumers who want details + err.event = event || null; + reject(err); + request = null; + }; + + // Handle timeout + request.ontimeout = function handleTimeout() { + let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded'; + const transitional = _config.transitional || transitionalDefaults; + if (_config.timeoutErrorMessage) { + timeoutErrorMessage = _config.timeoutErrorMessage; + } + reject(new AxiosError(timeoutErrorMessage, transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, config, request)); + + // Clean up request + request = null; + }; + + // Remove Content-Type if data is undefined + requestData === undefined && requestHeaders.setContentType(null); + + // Add headers to the request + if ('setRequestHeader' in request) { + utils$1.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { + request.setRequestHeader(key, val); + }); + } + + // Add withCredentials to request if needed + if (!utils$1.isUndefined(_config.withCredentials)) { + request.withCredentials = !!_config.withCredentials; + } + + // Add responseType to request if needed + if (responseType && responseType !== 'json') { + request.responseType = _config.responseType; + } + + // Handle progress if needed + if (onDownloadProgress) { + [downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true); + request.addEventListener('progress', downloadThrottled); + } + + // Not all browsers support upload events + if (onUploadProgress && request.upload) { + [uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress); + request.upload.addEventListener('progress', uploadThrottled); + request.upload.addEventListener('loadend', flushUpload); + } + if (_config.cancelToken || _config.signal) { + // Handle cancellation + // eslint-disable-next-line func-names + onCanceled = cancel => { + if (!request) { + return; + } + reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel); + request.abort(); + request = null; + }; + _config.cancelToken && _config.cancelToken.subscribe(onCanceled); + if (_config.signal) { + _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled); + } + } + const protocol = parseProtocol(_config.url); + if (protocol && platform.protocols.indexOf(protocol) === -1) { + reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config)); + return; + } + + // Send the request + request.send(requestData || null); + }); +}; + +const composeSignals = (signals, timeout) => { + const { + length + } = signals = signals ? signals.filter(Boolean) : []; + if (timeout || length) { + let controller = new AbortController(); + let aborted; + const onabort = function (reason) { + if (!aborted) { + aborted = true; + unsubscribe(); + const err = reason instanceof Error ? reason : this.reason; + controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err)); + } + }; + let timer = timeout && setTimeout(() => { + timer = null; + onabort(new AxiosError(`timeout of ${timeout}ms exceeded`, AxiosError.ETIMEDOUT)); + }, timeout); + const unsubscribe = () => { + if (signals) { + timer && clearTimeout(timer); + timer = null; + signals.forEach(signal => { + signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort); + }); + signals = null; + } + }; + signals.forEach(signal => signal.addEventListener('abort', onabort)); + const { + signal + } = controller; + signal.unsubscribe = () => utils$1.asap(unsubscribe); + return signal; + } +}; + +const streamChunk = function* (chunk, chunkSize) { + let len = chunk.byteLength; + if (len < chunkSize) { + yield chunk; + return; + } + let pos = 0; + let end; + while (pos < len) { + end = pos + chunkSize; + yield chunk.slice(pos, end); + pos = end; + } +}; +const readBytes = async function* (iterable, chunkSize) { + for await (const chunk of readStream(iterable)) { + yield* streamChunk(chunk, chunkSize); + } +}; +const readStream = async function* (stream) { + if (stream[Symbol.asyncIterator]) { + yield* stream; + return; + } + const reader = stream.getReader(); + try { + for (;;) { + const { + done, + value + } = await reader.read(); + if (done) { + break; + } + yield value; + } + } finally { + await reader.cancel(); + } +}; +const trackStream = (stream, chunkSize, onProgress, onFinish) => { + const iterator = readBytes(stream, chunkSize); + let bytes = 0; + let done; + let _onFinish = e => { + if (!done) { + done = true; + onFinish && onFinish(e); + } + }; + return new ReadableStream({ + async pull(controller) { + try { + const { + done, + value + } = await iterator.next(); + if (done) { + _onFinish(); + controller.close(); + return; + } + let len = value.byteLength; + if (onProgress) { + let loadedBytes = bytes += len; + onProgress(loadedBytes); + } + controller.enqueue(new Uint8Array(value)); + } catch (err) { + _onFinish(err); + throw err; + } + }, + cancel(reason) { + _onFinish(reason); + return iterator.return(); + } + }, { + highWaterMark: 2 + }); +}; + +const DEFAULT_CHUNK_SIZE = 64 * 1024; +const { + isFunction +} = utils$1; +const globalFetchAPI = (({ + Request, + Response +}) => ({ + Request, + Response +}))(utils$1.global); +const { + ReadableStream: ReadableStream$1, + TextEncoder: TextEncoder$1 +} = utils$1.global; +const test = (fn, ...args) => { + try { + return !!fn(...args); + } catch (e) { + return false; + } +}; +const factory = env => { + env = utils$1.merge.call({ + skipUndefined: true + }, globalFetchAPI, env); + const { + fetch: envFetch, + Request, + Response + } = env; + const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function'; + const isRequestSupported = isFunction(Request); + const isResponseSupported = isFunction(Response); + if (!isFetchSupported) { + return false; + } + const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream$1); + const encodeText = isFetchSupported && (typeof TextEncoder$1 === 'function' ? (encoder => str => encoder.encode(str))(new TextEncoder$1()) : async str => new Uint8Array(await new Request(str).arrayBuffer())); + const supportsRequestStream = isRequestSupported && isReadableStreamSupported && test(() => { + let duplexAccessed = false; + const body = new ReadableStream$1(); + const hasContentType = new Request(platform.origin, { + body, + method: 'POST', + get duplex() { + duplexAccessed = true; + return 'half'; + } + }).headers.has('Content-Type'); + body.cancel(); + return duplexAccessed && !hasContentType; + }); + const supportsResponseStream = isResponseSupported && isReadableStreamSupported && test(() => utils$1.isReadableStream(new Response('').body)); + const resolvers = { + stream: supportsResponseStream && (res => res.body) + }; + isFetchSupported && (() => { + ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => { + !resolvers[type] && (resolvers[type] = (res, config) => { + let method = res && res[type]; + if (method) { + return method.call(res); + } + throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config); + }); + }); + })(); + const getBodyLength = async body => { + if (body == null) { + return 0; + } + if (utils$1.isBlob(body)) { + return body.size; + } + if (utils$1.isSpecCompliantForm(body)) { + const _request = new Request(platform.origin, { + method: 'POST', + body + }); + return (await _request.arrayBuffer()).byteLength; + } + if (utils$1.isArrayBufferView(body) || utils$1.isArrayBuffer(body)) { + return body.byteLength; + } + if (utils$1.isURLSearchParams(body)) { + body = body + ''; + } + if (utils$1.isString(body)) { + return (await encodeText(body)).byteLength; + } + }; + const resolveBodyLength = async (headers, body) => { + const length = utils$1.toFiniteNumber(headers.getContentLength()); + return length == null ? getBodyLength(body) : length; + }; + return async config => { + let { + url, + method, + data, + signal, + cancelToken, + timeout, + onDownloadProgress, + onUploadProgress, + responseType, + headers, + withCredentials = 'same-origin', + fetchOptions + } = resolveConfig(config); + let _fetch = envFetch || fetch; + responseType = responseType ? (responseType + '').toLowerCase() : 'text'; + let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout); + let request = null; + const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => { + composedSignal.unsubscribe(); + }); + let requestContentLength; + try { + if (onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' && (requestContentLength = await resolveBodyLength(headers, data)) !== 0) { + let _request = new Request(url, { + method: 'POST', + body: data, + duplex: 'half' + }); + let contentTypeHeader; + if (utils$1.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) { + headers.setContentType(contentTypeHeader); + } + if (_request.body) { + const [onProgress, flush] = progressEventDecorator(requestContentLength, progressEventReducer(asyncDecorator(onUploadProgress))); + data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush); + } + } + if (!utils$1.isString(withCredentials)) { + withCredentials = withCredentials ? 'include' : 'omit'; + } + + // Cloudflare Workers throws when credentials are defined + // see https://github.com/cloudflare/workerd/issues/902 + const isCredentialsSupported = isRequestSupported && 'credentials' in Request.prototype; + const resolvedOptions = { + ...fetchOptions, + signal: composedSignal, + method: method.toUpperCase(), + headers: headers.normalize().toJSON(), + body: data, + duplex: 'half', + credentials: isCredentialsSupported ? withCredentials : undefined + }; + request = isRequestSupported && new Request(url, resolvedOptions); + let response = await (isRequestSupported ? _fetch(request, fetchOptions) : _fetch(url, resolvedOptions)); + const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response'); + if (supportsResponseStream && (onDownloadProgress || isStreamResponse && unsubscribe)) { + const options = {}; + ['status', 'statusText', 'headers'].forEach(prop => { + options[prop] = response[prop]; + }); + const responseContentLength = utils$1.toFiniteNumber(response.headers.get('content-length')); + const [onProgress, flush] = onDownloadProgress && progressEventDecorator(responseContentLength, progressEventReducer(asyncDecorator(onDownloadProgress), true)) || []; + response = new Response(trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => { + flush && flush(); + unsubscribe && unsubscribe(); + }), options); + } + responseType = responseType || 'text'; + let responseData = await resolvers[utils$1.findKey(resolvers, responseType) || 'text'](response, config); + !isStreamResponse && unsubscribe && unsubscribe(); + return await new Promise((resolve, reject) => { + settle(resolve, reject, { + data: responseData, + headers: AxiosHeaders.from(response.headers), + status: response.status, + statusText: response.statusText, + config, + request + }); + }); + } catch (err) { + unsubscribe && unsubscribe(); + if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) { + throw Object.assign(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, err && err.response), { + cause: err.cause || err + }); + } + throw AxiosError.from(err, err && err.code, config, request, err && err.response); + } + }; +}; +const seedCache = new Map(); +const getFetch = config => { + let env = config && config.env || {}; + const { + fetch, + Request, + Response + } = env; + const seeds = [Request, Response, fetch]; + let len = seeds.length, + i = len, + seed, + target, + map = seedCache; + while (i--) { + seed = seeds[i]; + target = map.get(seed); + target === undefined && map.set(seed, target = i ? new Map() : factory(env)); + map = target; + } + return target; +}; +getFetch(); + +/** + * Known adapters mapping. + * Provides environment-specific adapters for Axios: + * - `http` for Node.js + * - `xhr` for browsers + * - `fetch` for fetch API-based requests + * + * @type {Object} + */ +const knownAdapters = { + http: httpAdapter, + xhr: xhrAdapter, + fetch: { + get: getFetch + } +}; + +// Assign adapter names for easier debugging and identification +utils$1.forEach(knownAdapters, (fn, value) => { + if (fn) { + try { + Object.defineProperty(fn, 'name', { + value + }); + } catch (e) { + // eslint-disable-next-line no-empty + } + Object.defineProperty(fn, 'adapterName', { + value + }); + } +}); + +/** + * Render a rejection reason string for unknown or unsupported adapters + * + * @param {string} reason + * @returns {string} + */ +const renderReason = reason => `- ${reason}`; + +/** + * Check if the adapter is resolved (function, null, or false) + * + * @param {Function|null|false} adapter + * @returns {boolean} + */ +const isResolvedHandle = adapter => utils$1.isFunction(adapter) || adapter === null || adapter === false; + +/** + * Get the first suitable adapter from the provided list. + * Tries each adapter in order until a supported one is found. + * Throws an AxiosError if no adapter is suitable. + * + * @param {Array|string|Function} adapters - Adapter(s) by name or function. + * @param {Object} config - Axios request configuration + * @throws {AxiosError} If no suitable adapter is available + * @returns {Function} The resolved adapter function + */ +function getAdapter(adapters, config) { + adapters = utils$1.isArray(adapters) ? adapters : [adapters]; + const { + length + } = adapters; + let nameOrAdapter; + let adapter; + const rejectedReasons = {}; + for (let i = 0; i < length; i++) { + nameOrAdapter = adapters[i]; + let id; + adapter = nameOrAdapter; + if (!isResolvedHandle(nameOrAdapter)) { + adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()]; + if (adapter === undefined) { + throw new AxiosError(`Unknown adapter '${id}'`); + } + } + if (adapter && (utils$1.isFunction(adapter) || (adapter = adapter.get(config)))) { + break; + } + rejectedReasons[id || '#' + i] = adapter; + } + if (!adapter) { + const reasons = Object.entries(rejectedReasons).map(([id, state]) => `adapter ${id} ` + (state === false ? 'is not supported by the environment' : 'is not available in the build')); + let s = length ? reasons.length > 1 ? 'since :\n' + reasons.map(renderReason).join('\n') : ' ' + renderReason(reasons[0]) : 'as no adapter specified'; + throw new AxiosError(`There is no suitable adapter to dispatch the request ` + s, 'ERR_NOT_SUPPORT'); + } + return adapter; +} + +/** + * Exports Axios adapters and utility to resolve an adapter + */ +var adapters = { + /** + * Resolve an adapter from a list of adapter names or functions. + * @type {Function} + */ + getAdapter, + /** + * Exposes all known adapters + * @type {Object} + */ + adapters: knownAdapters +}; + +/** + * Throws a `CanceledError` if cancellation has been requested. + * + * @param {Object} config The config that is to be used for the request + * + * @returns {void} + */ +function throwIfCancellationRequested(config) { + if (config.cancelToken) { + config.cancelToken.throwIfRequested(); + } + if (config.signal && config.signal.aborted) { + throw new CanceledError(null, config); + } +} + +/** + * Dispatch a request to the server using the configured adapter. + * + * @param {object} config The config that is to be used for the request + * + * @returns {Promise} The Promise to be fulfilled + */ +function dispatchRequest(config) { + throwIfCancellationRequested(config); + config.headers = AxiosHeaders.from(config.headers); + + // Transform request data + config.data = transformData.call(config, config.transformRequest); + if (['post', 'put', 'patch'].indexOf(config.method) !== -1) { + config.headers.setContentType('application/x-www-form-urlencoded', false); + } + const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config); + return adapter(config).then(function onAdapterResolution(response) { + throwIfCancellationRequested(config); + + // Transform response data + response.data = transformData.call(config, config.transformResponse, response); + response.headers = AxiosHeaders.from(response.headers); + return response; + }, function onAdapterRejection(reason) { + if (!isCancel(reason)) { + throwIfCancellationRequested(config); + + // Transform response data + if (reason && reason.response) { + reason.response.data = transformData.call(config, config.transformResponse, reason.response); + reason.response.headers = AxiosHeaders.from(reason.response.headers); + } + } + return Promise.reject(reason); + }); +} + +const validators$1 = {}; + +// eslint-disable-next-line func-names +['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => { + validators$1[type] = function validator(thing) { + return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type; + }; +}); +const deprecatedWarnings = {}; + +/** + * Transitional option validator + * + * @param {function|boolean?} validator - set to false if the transitional option has been removed + * @param {string?} version - deprecated version / removed since version + * @param {string?} message - some message with additional info + * + * @returns {function} + */ +validators$1.transitional = function transitional(validator, version, message) { + function formatMessage(opt, desc) { + return '[Axios v' + VERSION + "] Transitional option '" + opt + "'" + desc + (message ? '. ' + message : ''); + } + + // eslint-disable-next-line func-names + return (value, opt, opts) => { + if (validator === false) { + throw new AxiosError(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), AxiosError.ERR_DEPRECATED); + } + if (version && !deprecatedWarnings[opt]) { + deprecatedWarnings[opt] = true; + // eslint-disable-next-line no-console + console.warn(formatMessage(opt, ' has been deprecated since v' + version + ' and will be removed in the near future')); + } + return validator ? validator(value, opt, opts) : true; + }; +}; +validators$1.spelling = function spelling(correctSpelling) { + return (value, opt) => { + // eslint-disable-next-line no-console + console.warn(`${opt} is likely a misspelling of ${correctSpelling}`); + return true; + }; +}; + +/** + * Assert object's properties type + * + * @param {object} options + * @param {object} schema + * @param {boolean?} allowUnknown + * + * @returns {object} + */ + +function assertOptions(options, schema, allowUnknown) { + if (typeof options !== 'object') { + throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE); + } + const keys = Object.keys(options); + let i = keys.length; + while (i-- > 0) { + const opt = keys[i]; + const validator = schema[opt]; + if (validator) { + const value = options[opt]; + const result = value === undefined || validator(value, opt, options); + if (result !== true) { + throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE); + } + continue; + } + if (allowUnknown !== true) { + throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION); + } + } +} +var validator = { + assertOptions, + validators: validators$1 +}; + +const validators = validator.validators; + +/** + * Create a new instance of Axios + * + * @param {Object} instanceConfig The default config for the instance + * + * @return {Axios} A new instance of Axios + */ +class Axios { + constructor(instanceConfig) { + this.defaults = instanceConfig || {}; + this.interceptors = { + request: new InterceptorManager(), + response: new InterceptorManager() + }; + } + + /** + * Dispatch a request + * + * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) + * @param {?Object} config + * + * @returns {Promise} The Promise to be fulfilled + */ + async request(configOrUrl, config) { + try { + return await this._request(configOrUrl, config); + } catch (err) { + if (err instanceof Error) { + let dummy = {}; + Error.captureStackTrace ? Error.captureStackTrace(dummy) : dummy = new Error(); + + // slice off the Error: ... line + const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, '') : ''; + try { + if (!err.stack) { + err.stack = stack; + // match without the 2 top stack lines + } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ''))) { + err.stack += '\n' + stack; + } + } catch (e) { + // ignore the case where "stack" is an un-writable property + } + } + throw err; + } + } + _request(configOrUrl, config) { + /*eslint no-param-reassign:0*/ + // Allow for axios('example/url'[, config]) a la fetch API + if (typeof configOrUrl === 'string') { + config = config || {}; + config.url = configOrUrl; + } else { + config = configOrUrl || {}; + } + config = mergeConfig(this.defaults, config); + const { + transitional, + paramsSerializer, + headers + } = config; + if (transitional !== undefined) { + validator.assertOptions(transitional, { + silentJSONParsing: validators.transitional(validators.boolean), + forcedJSONParsing: validators.transitional(validators.boolean), + clarifyTimeoutError: validators.transitional(validators.boolean), + legacyInterceptorReqResOrdering: validators.transitional(validators.boolean) + }, false); + } + if (paramsSerializer != null) { + if (utils$1.isFunction(paramsSerializer)) { + config.paramsSerializer = { + serialize: paramsSerializer + }; + } else { + validator.assertOptions(paramsSerializer, { + encode: validators.function, + serialize: validators.function + }, true); + } + } + + // Set config.allowAbsoluteUrls + if (config.allowAbsoluteUrls !== undefined) ; else if (this.defaults.allowAbsoluteUrls !== undefined) { + config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls; + } else { + config.allowAbsoluteUrls = true; + } + validator.assertOptions(config, { + baseUrl: validators.spelling('baseURL'), + withXsrfToken: validators.spelling('withXSRFToken') + }, true); + + // Set config.method + config.method = (config.method || this.defaults.method || 'get').toLowerCase(); + + // Flatten headers + let contextHeaders = headers && utils$1.merge(headers.common, headers[config.method]); + headers && utils$1.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], method => { + delete headers[method]; + }); + config.headers = AxiosHeaders.concat(contextHeaders, headers); + + // filter out skipped interceptors + const requestInterceptorChain = []; + let synchronousRequestInterceptors = true; + this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { + if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { + return; + } + synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; + const transitional = config.transitional || transitionalDefaults; + const legacyInterceptorReqResOrdering = transitional && transitional.legacyInterceptorReqResOrdering; + if (legacyInterceptorReqResOrdering) { + requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); + } else { + requestInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); + } + }); + const responseInterceptorChain = []; + this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { + responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); + }); + let promise; + let i = 0; + let len; + if (!synchronousRequestInterceptors) { + const chain = [dispatchRequest.bind(this), undefined]; + chain.unshift(...requestInterceptorChain); + chain.push(...responseInterceptorChain); + len = chain.length; + promise = Promise.resolve(config); + while (i < len) { + promise = promise.then(chain[i++], chain[i++]); + } + return promise; + } + len = requestInterceptorChain.length; + let newConfig = config; + while (i < len) { + const onFulfilled = requestInterceptorChain[i++]; + const onRejected = requestInterceptorChain[i++]; + try { + newConfig = onFulfilled(newConfig); + } catch (error) { + onRejected.call(this, error); + break; + } + } + try { + promise = dispatchRequest.call(this, newConfig); + } catch (error) { + return Promise.reject(error); + } + i = 0; + len = responseInterceptorChain.length; + while (i < len) { + promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); + } + return promise; + } + getUri(config) { + config = mergeConfig(this.defaults, config); + const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls); + return buildURL(fullPath, config.params, config.paramsSerializer); + } +} + +// Provide aliases for supported request methods +utils$1.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function (url, config) { + return this.request(mergeConfig(config || {}, { + method, + url, + data: (config || {}).data + })); + }; +}); +utils$1.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + function generateHTTPMethod(isForm) { + return function httpMethod(url, data, config) { + return this.request(mergeConfig(config || {}, { + method, + headers: isForm ? { + 'Content-Type': 'multipart/form-data' + } : {}, + url, + data + })); + }; + } + Axios.prototype[method] = generateHTTPMethod(); + Axios.prototype[method + 'Form'] = generateHTTPMethod(true); +}); + +/** + * A `CancelToken` is an object that can be used to request cancellation of an operation. + * + * @param {Function} executor The executor function. + * + * @returns {CancelToken} + */ +class CancelToken { + constructor(executor) { + if (typeof executor !== 'function') { + throw new TypeError('executor must be a function.'); + } + let resolvePromise; + this.promise = new Promise(function promiseExecutor(resolve) { + resolvePromise = resolve; + }); + const token = this; + + // eslint-disable-next-line func-names + this.promise.then(cancel => { + if (!token._listeners) return; + let i = token._listeners.length; + while (i-- > 0) { + token._listeners[i](cancel); + } + token._listeners = null; + }); + + // eslint-disable-next-line func-names + this.promise.then = onfulfilled => { + let _resolve; + // eslint-disable-next-line func-names + const promise = new Promise(resolve => { + token.subscribe(resolve); + _resolve = resolve; + }).then(onfulfilled); + promise.cancel = function reject() { + token.unsubscribe(_resolve); + }; + return promise; + }; + executor(function cancel(message, config, request) { + if (token.reason) { + // Cancellation has already been requested + return; + } + token.reason = new CanceledError(message, config, request); + resolvePromise(token.reason); + }); + } + + /** + * Throws a `CanceledError` if cancellation has been requested. + */ + throwIfRequested() { + if (this.reason) { + throw this.reason; + } + } + + /** + * Subscribe to the cancel signal + */ + + subscribe(listener) { + if (this.reason) { + listener(this.reason); + return; + } + if (this._listeners) { + this._listeners.push(listener); + } else { + this._listeners = [listener]; + } + } + + /** + * Unsubscribe from the cancel signal + */ + + unsubscribe(listener) { + if (!this._listeners) { + return; + } + const index = this._listeners.indexOf(listener); + if (index !== -1) { + this._listeners.splice(index, 1); + } + } + toAbortSignal() { + const controller = new AbortController(); + const abort = err => { + controller.abort(err); + }; + this.subscribe(abort); + controller.signal.unsubscribe = () => this.unsubscribe(abort); + return controller.signal; + } + + /** + * Returns an object that contains a new `CancelToken` and a function that, when called, + * cancels the `CancelToken`. + */ + static source() { + let cancel; + const token = new CancelToken(function executor(c) { + cancel = c; + }); + return { + token, + cancel + }; + } +} + +/** + * Syntactic sugar for invoking a function and expanding an array for arguments. + * + * Common use case would be to use `Function.prototype.apply`. + * + * ```js + * function f(x, y, z) {} + * const args = [1, 2, 3]; + * f.apply(null, args); + * ``` + * + * With `spread` this example can be re-written. + * + * ```js + * spread(function(x, y, z) {})([1, 2, 3]); + * ``` + * + * @param {Function} callback + * + * @returns {Function} + */ +function spread(callback) { + return function wrap(arr) { + return callback.apply(null, arr); + }; +} + +/** + * Determines whether the payload is an error thrown by Axios + * + * @param {*} payload The value to test + * + * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false + */ +function isAxiosError(payload) { + return utils$1.isObject(payload) && payload.isAxiosError === true; +} + +const HttpStatusCode = { + Continue: 100, + SwitchingProtocols: 101, + Processing: 102, + EarlyHints: 103, + Ok: 200, + Created: 201, + Accepted: 202, + NonAuthoritativeInformation: 203, + NoContent: 204, + ResetContent: 205, + PartialContent: 206, + MultiStatus: 207, + AlreadyReported: 208, + ImUsed: 226, + MultipleChoices: 300, + MovedPermanently: 301, + Found: 302, + SeeOther: 303, + NotModified: 304, + UseProxy: 305, + Unused: 306, + TemporaryRedirect: 307, + PermanentRedirect: 308, + BadRequest: 400, + Unauthorized: 401, + PaymentRequired: 402, + Forbidden: 403, + NotFound: 404, + MethodNotAllowed: 405, + NotAcceptable: 406, + ProxyAuthenticationRequired: 407, + RequestTimeout: 408, + Conflict: 409, + Gone: 410, + LengthRequired: 411, + PreconditionFailed: 412, + PayloadTooLarge: 413, + UriTooLong: 414, + UnsupportedMediaType: 415, + RangeNotSatisfiable: 416, + ExpectationFailed: 417, + ImATeapot: 418, + MisdirectedRequest: 421, + UnprocessableEntity: 422, + Locked: 423, + FailedDependency: 424, + TooEarly: 425, + UpgradeRequired: 426, + PreconditionRequired: 428, + TooManyRequests: 429, + RequestHeaderFieldsTooLarge: 431, + UnavailableForLegalReasons: 451, + InternalServerError: 500, + NotImplemented: 501, + BadGateway: 502, + ServiceUnavailable: 503, + GatewayTimeout: 504, + HttpVersionNotSupported: 505, + VariantAlsoNegotiates: 506, + InsufficientStorage: 507, + LoopDetected: 508, + NotExtended: 510, + NetworkAuthenticationRequired: 511, + WebServerIsDown: 521, + ConnectionTimedOut: 522, + OriginIsUnreachable: 523, + TimeoutOccurred: 524, + SslHandshakeFailed: 525, + InvalidSslCertificate: 526 +}; +Object.entries(HttpStatusCode).forEach(([key, value]) => { + HttpStatusCode[value] = key; +}); + +/** + * Create an instance of Axios + * + * @param {Object} defaultConfig The default config for the instance + * + * @returns {Axios} A new instance of Axios + */ +function createInstance(defaultConfig) { + const context = new Axios(defaultConfig); + const instance = bind(Axios.prototype.request, context); + + // Copy axios.prototype to instance + utils$1.extend(instance, Axios.prototype, context, { + allOwnKeys: true + }); + + // Copy context to instance + utils$1.extend(instance, context, null, { + allOwnKeys: true + }); + + // Factory for creating new instances + instance.create = function create(instanceConfig) { + return createInstance(mergeConfig(defaultConfig, instanceConfig)); + }; + return instance; +} + +// Create the default instance to be exported +const axios = createInstance(defaults); + +// Expose Axios class to allow class inheritance +axios.Axios = Axios; + +// Expose Cancel & CancelToken +axios.CanceledError = CanceledError; +axios.CancelToken = CancelToken; +axios.isCancel = isCancel; +axios.VERSION = VERSION; +axios.toFormData = toFormData; + +// Expose AxiosError class +axios.AxiosError = AxiosError; + +// alias for CanceledError for backward compatibility +axios.Cancel = axios.CanceledError; + +// Expose all/spread +axios.all = function all(promises) { + return Promise.all(promises); +}; +axios.spread = spread; + +// Expose isAxiosError +axios.isAxiosError = isAxiosError; + +// Expose mergeConfig +axios.mergeConfig = mergeConfig; +axios.AxiosHeaders = AxiosHeaders; +axios.formToJSON = thing => formDataToJSON(utils$1.isHTMLForm(thing) ? new FormData(thing) : thing); +axios.getAdapter = adapters.getAdapter; +axios.HttpStatusCode = HttpStatusCode; +axios.default = axios; + +module.exports = axios; +//# sourceMappingURL=axios.cjs.map diff --git a/dist/node_modules/axios/dist/node/axios.cjs.map b/dist/node_modules/axios/dist/node/axios.cjs.map new file mode 100644 index 00000000..90b80d4e --- /dev/null +++ b/dist/node_modules/axios/dist/node/axios.cjs.map @@ -0,0 +1 @@ +{"version":3,"file":"axios.cjs","sources":["../../lib/helpers/bind.js","../../lib/utils.js","../../lib/core/AxiosError.js","../../lib/helpers/toFormData.js","../../lib/helpers/AxiosURLSearchParams.js","../../lib/helpers/buildURL.js","../../lib/core/InterceptorManager.js","../../lib/defaults/transitional.js","../../lib/platform/node/classes/URLSearchParams.js","../../lib/platform/node/index.js","../../lib/platform/common/utils.js","../../lib/platform/index.js","../../lib/helpers/toURLEncodedForm.js","../../lib/helpers/formDataToJSON.js","../../lib/defaults/index.js","../../lib/helpers/parseHeaders.js","../../lib/core/AxiosHeaders.js","../../lib/core/transformData.js","../../lib/cancel/isCancel.js","../../lib/cancel/CanceledError.js","../../lib/core/settle.js","../../lib/helpers/isAbsoluteURL.js","../../lib/helpers/combineURLs.js","../../lib/core/buildFullPath.js","../../node_modules/proxy-from-env/index.js","../../lib/env/data.js","../../lib/helpers/parseProtocol.js","../../lib/helpers/fromDataURI.js","../../lib/helpers/AxiosTransformStream.js","../../lib/helpers/readBlob.js","../../lib/helpers/formDataToStream.js","../../lib/helpers/ZlibHeaderTransformStream.js","../../lib/helpers/callbackify.js","../../lib/helpers/speedometer.js","../../lib/helpers/throttle.js","../../lib/helpers/progressEventReducer.js","../../lib/helpers/estimateDataURLDecodedBytes.js","../../lib/adapters/http.js","../../lib/helpers/isURLSameOrigin.js","../../lib/helpers/cookies.js","../../lib/core/mergeConfig.js","../../lib/helpers/resolveConfig.js","../../lib/adapters/xhr.js","../../lib/helpers/composeSignals.js","../../lib/helpers/trackStream.js","../../lib/adapters/fetch.js","../../lib/adapters/adapters.js","../../lib/core/dispatchRequest.js","../../lib/helpers/validator.js","../../lib/core/Axios.js","../../lib/cancel/CancelToken.js","../../lib/helpers/spread.js","../../lib/helpers/isAxiosError.js","../../lib/helpers/HttpStatusCode.js","../../lib/axios.js"],"sourcesContent":["'use strict';\n\n/**\n * Create a bound version of a function with a specified `this` context\n *\n * @param {Function} fn - The function to bind\n * @param {*} thisArg - The value to be passed as the `this` parameter\n * @returns {Function} A new function that will call the original function with the specified `this` context\n */\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst { toString } = Object.prototype;\nconst { getPrototypeOf } = Object;\nconst { iterator, toStringTag } = Symbol;\n\nconst kindOf = ((cache) => (thing) => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type;\n};\n\nconst typeOfTest = (type) => (thing) => typeof thing === type;\n\n/**\n * Determine if a value is a non-null object\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst { isArray } = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return (\n val !== null &&\n !isUndefined(val) &&\n val.constructor !== null &&\n !isUndefined(val.constructor) &&\n isFunction(val.constructor.isBuffer) &&\n val.constructor.isBuffer(val)\n );\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && isArrayBuffer(val.buffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = (thing) => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (\n (prototype === null ||\n prototype === Object.prototype ||\n Object.getPrototypeOf(prototype) === null) &&\n !(toStringTag in val) &&\n !(iterator in val)\n );\n};\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n // Early return for non-objects or Buffers to prevent RangeError\n if (!isObject(val) || isBuffer(val)) {\n return false;\n }\n\n try {\n return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n } catch (e) {\n // Fallback for any other objects that might cause RangeError with Object.keys()\n return false;\n }\n};\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a React Native Blob\n * React Native \"blob\": an object with a `uri` attribute. Optionally, it can\n * also have a `name` and `type` attribute to specify filename and content type\n *\n * @see https://github.com/facebook/react-native/blob/26684cf3adf4094eb6c405d345a75bf8c7c0bf88/Libraries/Network/FormData.js#L68-L71\n * \n * @param {*} value The value to test\n * \n * @returns {boolean} True if value is a React Native Blob, otherwise false\n */\nconst isReactNativeBlob = (value) => {\n return !!(value && typeof value.uri !== 'undefined');\n}\n\n/**\n * Determine if environment is React Native\n * ReactNative `FormData` has a non-standard `getParts()` method\n * \n * @param {*} formData The formData to test\n * \n * @returns {boolean} True if environment is React Native, otherwise false\n */\nconst isReactNative = (formData) => formData && typeof formData.getParts !== 'undefined';\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction getGlobal() {\n if (typeof globalThis !== 'undefined') return globalThis;\n if (typeof self !== 'undefined') return self;\n if (typeof window !== 'undefined') return window;\n if (typeof global !== 'undefined') return global;\n return {};\n}\n\nconst G = getGlobal();\nconst FormDataCtor = typeof G.FormData !== 'undefined' ? G.FormData : undefined;\n\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (FormDataCtor && thing instanceof FormDataCtor) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n );\n};\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = [\n 'ReadableStream',\n 'Request',\n 'Response',\n 'Headers',\n].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => {\n return str.trim ? str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n};\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Object} [options]\n * @param {Boolean} [options.allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, { allOwnKeys = false } = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Buffer check\n if (isBuffer(obj)) {\n return;\n }\n\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\n/**\n * Finds a key in an object, case-insensitive, returning the actual key name.\n * Returns null if the object is a Buffer or if no match is found.\n *\n * @param {Object} obj - The object to search.\n * @param {string} key - The key to find (case-insensitive).\n * @returns {?string} The actual key name if found, otherwise null.\n */\nfunction findKey(obj, key) {\n if (isBuffer(obj)) {\n return null;\n }\n\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== 'undefined') return globalThis;\n return typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : global;\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * const result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const { caseless, skipUndefined } = (isContextDefined(this) && this) || {};\n const result = {};\n const assignValue = (val, key) => {\n // Skip dangerous property names to prevent prototype pollution\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return;\n }\n\n const targetKey = (caseless && findKey(result, key)) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else if (!skipUndefined || !isUndefined(val)) {\n result[targetKey] = val;\n }\n };\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Object} [options]\n * @param {Boolean} [options.allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, { allOwnKeys } = {}) => {\n forEach(\n b,\n (val, key) => {\n if (thisArg && isFunction(val)) {\n Object.defineProperty(a, key, {\n value: bind(val, thisArg),\n writable: true,\n enumerable: true,\n configurable: true,\n });\n } else {\n Object.defineProperty(a, key, {\n value: val,\n writable: true,\n enumerable: true,\n configurable: true,\n });\n }\n },\n { allOwnKeys }\n );\n return a;\n};\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xfeff) {\n content = content.slice(1);\n }\n return content;\n};\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n Object.defineProperty(constructor.prototype, 'constructor', {\n value: constructor,\n writable: true,\n enumerable: false,\n configurable: true,\n });\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype,\n });\n props && Object.assign(constructor.prototype, props);\n};\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n};\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n};\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n};\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = ((TypedArray) => {\n // eslint-disable-next-line func-names\n return (thing) => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n};\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n};\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = (str) => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g, function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n });\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (\n ({ hasOwnProperty }) =>\n (obj, prop) =>\n hasOwnProperty.call(obj, prop)\n)(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n};\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error(\"Can not rewrite read-only method '\" + name + \"'\");\n };\n }\n });\n};\n\n/**\n * Converts an array or a delimited string into an object set with values as keys and true as values.\n * Useful for fast membership checks.\n *\n * @param {Array|string} arrayOrString - The array or string to convert.\n * @param {string} delimiter - The delimiter to use if input is a string.\n * @returns {Object} An object with keys from the array or string, values set to true.\n */\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach((value) => {\n obj[value] = true;\n });\n };\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n};\n\nconst noop = () => {};\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite((value = +value)) ? value : defaultValue;\n};\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(\n thing &&\n isFunction(thing.append) &&\n thing[toStringTag] === 'FormData' &&\n thing[iterator]\n );\n}\n\n/**\n * Recursively converts an object to a JSON-compatible object, handling circular references and Buffers.\n *\n * @param {Object} obj - The object to convert.\n * @returns {Object} The JSON-compatible object.\n */\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n //Buffer check\n if (isBuffer(source)) {\n return source;\n }\n\n if (!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n };\n\n return visit(obj, 0);\n};\n\n/**\n * Determines if a value is an async function.\n *\n * @param {*} thing - The value to test.\n * @returns {boolean} True if value is an async function, otherwise false.\n */\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\n/**\n * Determines if a value is thenable (has then and catch methods).\n *\n * @param {*} thing - The value to test.\n * @returns {boolean} True if value is thenable, otherwise false.\n */\nconst isThenable = (thing) =>\n thing &&\n (isObject(thing) || isFunction(thing)) &&\n isFunction(thing.then) &&\n isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\n/**\n * Provides a cross-platform setImmediate implementation.\n * Uses native setImmediate if available, otherwise falls back to postMessage or setTimeout.\n *\n * @param {boolean} setImmediateSupported - Whether setImmediate is supported.\n * @param {boolean} postMessageSupported - Whether postMessage is supported.\n * @returns {Function} A function to schedule a callback asynchronously.\n */\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported\n ? ((token, callbacks) => {\n _global.addEventListener(\n 'message',\n ({ source, data }) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n },\n false\n );\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, '*');\n };\n })(`axios@${Math.random()}`, [])\n : (cb) => setTimeout(cb);\n})(typeof setImmediate === 'function', isFunction(_global.postMessage));\n\n/**\n * Schedules a microtask or asynchronous callback as soon as possible.\n * Uses queueMicrotask if available, otherwise falls back to process.nextTick or _setImmediate.\n *\n * @type {Function}\n */\nconst asap =\n typeof queueMicrotask !== 'undefined'\n ? queueMicrotask.bind(_global)\n : (typeof process !== 'undefined' && process.nextTick) || _setImmediate;\n\n// *********************\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isReactNativeBlob,\n isReactNative,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable,\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\nclass AxiosError extends Error {\n static from(error, code, config, request, response, customProps) {\n const axiosError = new AxiosError(error.message, code || error.code, config, request, response);\n axiosError.cause = error;\n axiosError.name = error.name;\n\n // Preserve status from the original error if not already set from response\n if (error.status != null && axiosError.status == null) {\n axiosError.status = error.status;\n }\n\n customProps && Object.assign(axiosError, customProps);\n return axiosError;\n }\n\n /**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\n constructor(message, code, config, request, response) {\n super(message);\n \n // Make message enumerable to maintain backward compatibility\n // The native Error constructor sets message as non-enumerable,\n // but axios < v1.13.3 had it as enumerable\n Object.defineProperty(this, 'message', {\n value: message,\n enumerable: true,\n writable: true,\n configurable: true\n });\n \n this.name = 'AxiosError';\n this.isAxiosError = true;\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status;\n }\n }\n\n toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status,\n };\n }\n}\n\n// This can be changed to static properties as soon as the parser options in .eslint.cjs are updated.\nAxiosError.ERR_BAD_OPTION_VALUE = 'ERR_BAD_OPTION_VALUE';\nAxiosError.ERR_BAD_OPTION = 'ERR_BAD_OPTION';\nAxiosError.ECONNABORTED = 'ECONNABORTED';\nAxiosError.ETIMEDOUT = 'ETIMEDOUT';\nAxiosError.ERR_NETWORK = 'ERR_NETWORK';\nAxiosError.ERR_FR_TOO_MANY_REDIRECTS = 'ERR_FR_TOO_MANY_REDIRECTS';\nAxiosError.ERR_DEPRECATED = 'ERR_DEPRECATED';\nAxiosError.ERR_BAD_RESPONSE = 'ERR_BAD_RESPONSE';\nAxiosError.ERR_BAD_REQUEST = 'ERR_BAD_REQUEST';\nAxiosError.ERR_CANCELED = 'ERR_CANCELED';\nAxiosError.ERR_NOT_SUPPORT = 'ERR_NOT_SUPPORT';\nAxiosError.ERR_INVALID_URL = 'ERR_INVALID_URL';\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path\n .concat(key)\n .map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n })\n .join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(\n options,\n {\n metaTokens: true,\n dots: false,\n indexes: false,\n },\n false,\n function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n }\n );\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || (typeof Blob !== 'undefined' && Blob);\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isBoolean(value)) {\n return value.toString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (utils.isReactNative(formData) && utils.isReactNativeBlob(value)) {\n formData.append(renderKey(path, key, dots), convertValue(value));\n return false;\n }\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value)))\n ) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) &&\n formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true\n ? renderKey([key], index, dots)\n : indexes === null\n ? key\n : key + '[]',\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable,\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result =\n !(utils.isUndefined(el) || el === null) &&\n visitor.call(formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers);\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00',\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder\n ? function (value) {\n return encoder.call(this, value, encode);\n }\n : encode;\n\n return this._pairs\n .map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '')\n .join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces URL-encoded forms of `:`, `$`, `,`, and spaces with\n * their plain counterparts (`:`, `$`, `,`, `+`).\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val)\n .replace(/%3A/gi, ':')\n .replace(/%24/g, '$')\n .replace(/%2C/gi, ',')\n .replace(/%20/g, '+');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n if (!params) {\n return url;\n }\n\n const _encode = (options && options.encode) || encode;\n\n const _options = utils.isFunction(options)\n ? {\n serialize: options,\n }\n : options;\n\n const serializeFn = _options && _options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, _options);\n } else {\n serializedParams = utils.isURLSearchParams(params)\n ? params.toString()\n : new AxiosURLSearchParams(params, _options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n * @param {Object} options The options for the interceptor, synchronous and runWhen\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null,\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {void}\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false,\n legacyInterceptorReqResOrdering: true,\n};\n","'use strict';\n\nimport url from 'url';\nexport default url.URLSearchParams;\n","import crypto from 'crypto';\nimport URLSearchParams from './classes/URLSearchParams.js';\nimport FormData from './classes/FormData.js';\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz';\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT,\n};\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const { length } = alphabet;\n const randomValues = new Uint32Array(size);\n crypto.randomFillSync(randomValues);\n for (let i = 0; i < size; i++) {\n str += alphabet[randomValues[i] % length];\n }\n\n return str;\n};\n\nexport default {\n isNode: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob: (typeof Blob !== 'undefined' && Blob) || null,\n },\n ALPHABET,\n generateString,\n protocols: ['http', 'https', 'file', 'data'],\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = (typeof navigator === 'object' && navigator) || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv =\n hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = (hasBrowserEnv && window.location.href) || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin,\n};\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform,\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), {\n visitor: function (value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options,\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map((match) => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [\n function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if (\n (isFileList = utils.isFileList(data)) ||\n contentType.indexOf('multipart/form-data') > -1\n ) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? { 'files[]': data } : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n },\n ],\n\n transformResponse: [\n function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (\n data &&\n utils.isString(data) &&\n ((forcedJSONParsing && !this.responseType) || JSONRequested)\n ) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data, this.parseReviver);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n },\n ],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob,\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n Accept: 'application/json, text/plain, */*',\n 'Content-Type': undefined,\n },\n },\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age',\n 'authorization',\n 'content-length',\n 'content-type',\n 'etag',\n 'expires',\n 'from',\n 'host',\n 'if-modified-since',\n 'if-unmodified-since',\n 'last-modified',\n 'location',\n 'max-forwards',\n 'proxy-authorization',\n 'referer',\n 'retry-after',\n 'user-agent',\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default (rawHeaders) => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders &&\n rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value)\n ? value.map(normalizeValue)\n : String(value).replace(/[\\r\\n]+$/, '');\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header\n .trim()\n .toLowerCase()\n .replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach((methodName) => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function (arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true,\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if (\n !key ||\n self[key] === undefined ||\n _rewrite === true ||\n (_rewrite === undefined && self[key] !== false)\n ) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite);\n } else if (utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {},\n dest,\n key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[(key = entry[0])] = (dest = obj[key])\n ? utils.isArray(dest)\n ? [...dest, entry[1]]\n : [dest, entry[1]]\n : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(\n key &&\n this[key] !== undefined &&\n (!matcher || matchHeaderValue(this, this[key], key, matcher))\n );\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null &&\n value !== false &&\n (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON())\n .map(([header, value]) => header + ': ' + value)\n .join('\\n');\n }\n\n getSetCookie() {\n return this.get('set-cookie') || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals =\n (this[$internals] =\n this[$internals] =\n {\n accessors: {},\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor([\n 'Content-Type',\n 'Content-Length',\n 'Accept',\n 'Accept-Encoding',\n 'User-Agent',\n 'Authorization',\n]);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n },\n };\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from '../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\n\nclass CanceledError extends AxiosError {\n /**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\n constructor(message, config, request) {\n super(message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n this.__CANCEL__ = true;\n }\n}\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(\n new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][\n Math.floor(response.status / 100) - 4\n ],\n response.config,\n response.request,\n response\n )\n );\n }\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n if (typeof url !== 'string') {\n return false;\n }\n\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nvar DEFAULT_PORTS = {\n ftp: 21,\n gopher: 70,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443,\n};\n\nfunction parseUrl(urlString) {\n try {\n return new URL(urlString);\n } catch {\n return null;\n }\n}\n\n/**\n * @param {string|object|URL} url - The URL as a string or URL instance, or a\n * compatible object (such as the result from legacy url.parse).\n * @return {string} The URL of the proxy that should handle the request to the\n * given URL. If no proxy is set, this will be an empty string.\n */\nexport function getProxyForUrl(url) {\n var parsedUrl = (typeof url === 'string' ? parseUrl(url) : url) || {};\n var proto = parsedUrl.protocol;\n var hostname = parsedUrl.host;\n var port = parsedUrl.port;\n if (typeof hostname !== 'string' || !hostname || typeof proto !== 'string') {\n return ''; // Don't proxy URLs without a valid scheme or host.\n }\n\n proto = proto.split(':', 1)[0];\n // Stripping ports in this way instead of using parsedUrl.hostname to make\n // sure that the brackets around IPv6 addresses are kept.\n hostname = hostname.replace(/:\\d*$/, '');\n port = parseInt(port) || DEFAULT_PORTS[proto] || 0;\n if (!shouldProxy(hostname, port)) {\n return ''; // Don't proxy URLs that match NO_PROXY.\n }\n\n var proxy = getEnv(proto + '_proxy') || getEnv('all_proxy');\n if (proxy && proxy.indexOf('://') === -1) {\n // Missing scheme in proxy, default to the requested URL's scheme.\n proxy = proto + '://' + proxy;\n }\n return proxy;\n}\n\n/**\n * Determines whether a given URL should be proxied.\n *\n * @param {string} hostname - The host name of the URL.\n * @param {number} port - The effective port of the URL.\n * @returns {boolean} Whether the given URL should be proxied.\n * @private\n */\nfunction shouldProxy(hostname, port) {\n var NO_PROXY = getEnv('no_proxy').toLowerCase();\n if (!NO_PROXY) {\n return true; // Always proxy if NO_PROXY is not set.\n }\n if (NO_PROXY === '*') {\n return false; // Never proxy if wildcard is set.\n }\n\n return NO_PROXY.split(/[,\\s]/).every(function(proxy) {\n if (!proxy) {\n return true; // Skip zero-length hosts.\n }\n var parsedProxy = proxy.match(/^(.+):(\\d+)$/);\n var parsedProxyHostname = parsedProxy ? parsedProxy[1] : proxy;\n var parsedProxyPort = parsedProxy ? parseInt(parsedProxy[2]) : 0;\n if (parsedProxyPort && parsedProxyPort !== port) {\n return true; // Skip if ports don't match.\n }\n\n if (!/^[.*]/.test(parsedProxyHostname)) {\n // No wildcards, so stop proxying if there is an exact match.\n return hostname !== parsedProxyHostname;\n }\n\n if (parsedProxyHostname.charAt(0) === '*') {\n // Remove leading wildcard.\n parsedProxyHostname = parsedProxyHostname.slice(1);\n }\n // Stop proxying if the hostname ends with the no_proxy host.\n return !hostname.endsWith(parsedProxyHostname);\n });\n}\n\n/**\n * Get the value for an environment variable.\n *\n * @param {string} key - The name of the environment variable.\n * @return {string} The value of the environment variable.\n * @private\n */\nfunction getEnv(key) {\n return process.env[key.toLowerCase()] || process.env[key.toUpperCase()] || '';\n}\n","export const VERSION = \"1.14.0\";","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return (match && match[1]) || '';\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport parseProtocol from './parseProtocol.js';\nimport platform from '../platform/index.js';\n\nconst DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\\s\\S]*)$/;\n\n/**\n * Parse data uri to a Buffer or Blob\n *\n * @param {String} uri\n * @param {?Boolean} asBlob\n * @param {?Object} options\n * @param {?Function} options.Blob\n *\n * @returns {Buffer|Blob}\n */\nexport default function fromDataURI(uri, asBlob, options) {\n const _Blob = (options && options.Blob) || platform.classes.Blob;\n const protocol = parseProtocol(uri);\n\n if (asBlob === undefined && _Blob) {\n asBlob = true;\n }\n\n if (protocol === 'data') {\n uri = protocol.length ? uri.slice(protocol.length + 1) : uri;\n\n const match = DATA_URL_PATTERN.exec(uri);\n\n if (!match) {\n throw new AxiosError('Invalid URL', AxiosError.ERR_INVALID_URL);\n }\n\n const mime = match[1];\n const isBase64 = match[2];\n const body = match[3];\n const buffer = Buffer.from(decodeURIComponent(body), isBase64 ? 'base64' : 'utf8');\n\n if (asBlob) {\n if (!_Blob) {\n throw new AxiosError('Blob is not supported', AxiosError.ERR_NOT_SUPPORT);\n }\n\n return new _Blob([buffer], { type: mime });\n }\n\n return buffer;\n }\n\n throw new AxiosError('Unsupported protocol ' + protocol, AxiosError.ERR_NOT_SUPPORT);\n}\n","'use strict';\n\nimport stream from 'stream';\nimport utils from '../utils.js';\n\nconst kInternals = Symbol('internals');\n\nclass AxiosTransformStream extends stream.Transform {\n constructor(options) {\n options = utils.toFlatObject(\n options,\n {\n maxRate: 0,\n chunkSize: 64 * 1024,\n minChunkSize: 100,\n timeWindow: 500,\n ticksRate: 2,\n samplesCount: 15,\n },\n null,\n (prop, source) => {\n return !utils.isUndefined(source[prop]);\n }\n );\n\n super({\n readableHighWaterMark: options.chunkSize,\n });\n\n const internals = (this[kInternals] = {\n timeWindow: options.timeWindow,\n chunkSize: options.chunkSize,\n maxRate: options.maxRate,\n minChunkSize: options.minChunkSize,\n bytesSeen: 0,\n isCaptured: false,\n notifiedBytesLoaded: 0,\n ts: Date.now(),\n bytes: 0,\n onReadCallback: null,\n });\n\n this.on('newListener', (event) => {\n if (event === 'progress') {\n if (!internals.isCaptured) {\n internals.isCaptured = true;\n }\n }\n });\n }\n\n _read(size) {\n const internals = this[kInternals];\n\n if (internals.onReadCallback) {\n internals.onReadCallback();\n }\n\n return super._read(size);\n }\n\n _transform(chunk, encoding, callback) {\n const internals = this[kInternals];\n const maxRate = internals.maxRate;\n\n const readableHighWaterMark = this.readableHighWaterMark;\n\n const timeWindow = internals.timeWindow;\n\n const divider = 1000 / timeWindow;\n const bytesThreshold = maxRate / divider;\n const minChunkSize =\n internals.minChunkSize !== false\n ? Math.max(internals.minChunkSize, bytesThreshold * 0.01)\n : 0;\n\n const pushChunk = (_chunk, _callback) => {\n const bytes = Buffer.byteLength(_chunk);\n internals.bytesSeen += bytes;\n internals.bytes += bytes;\n\n internals.isCaptured && this.emit('progress', internals.bytesSeen);\n\n if (this.push(_chunk)) {\n process.nextTick(_callback);\n } else {\n internals.onReadCallback = () => {\n internals.onReadCallback = null;\n process.nextTick(_callback);\n };\n }\n };\n\n const transformChunk = (_chunk, _callback) => {\n const chunkSize = Buffer.byteLength(_chunk);\n let chunkRemainder = null;\n let maxChunkSize = readableHighWaterMark;\n let bytesLeft;\n let passed = 0;\n\n if (maxRate) {\n const now = Date.now();\n\n if (!internals.ts || (passed = now - internals.ts) >= timeWindow) {\n internals.ts = now;\n bytesLeft = bytesThreshold - internals.bytes;\n internals.bytes = bytesLeft < 0 ? -bytesLeft : 0;\n passed = 0;\n }\n\n bytesLeft = bytesThreshold - internals.bytes;\n }\n\n if (maxRate) {\n if (bytesLeft <= 0) {\n // next time window\n return setTimeout(() => {\n _callback(null, _chunk);\n }, timeWindow - passed);\n }\n\n if (bytesLeft < maxChunkSize) {\n maxChunkSize = bytesLeft;\n }\n }\n\n if (maxChunkSize && chunkSize > maxChunkSize && chunkSize - maxChunkSize > minChunkSize) {\n chunkRemainder = _chunk.subarray(maxChunkSize);\n _chunk = _chunk.subarray(0, maxChunkSize);\n }\n\n pushChunk(\n _chunk,\n chunkRemainder\n ? () => {\n process.nextTick(_callback, null, chunkRemainder);\n }\n : _callback\n );\n };\n\n transformChunk(chunk, function transformNextChunk(err, _chunk) {\n if (err) {\n return callback(err);\n }\n\n if (_chunk) {\n transformChunk(_chunk, transformNextChunk);\n } else {\n callback(null);\n }\n });\n }\n}\n\nexport default AxiosTransformStream;\n","const { asyncIterator } = Symbol;\n\nconst readBlob = async function* (blob) {\n if (blob.stream) {\n yield* blob.stream();\n } else if (blob.arrayBuffer) {\n yield await blob.arrayBuffer();\n } else if (blob[asyncIterator]) {\n yield* blob[asyncIterator]();\n } else {\n yield blob;\n }\n};\n\nexport default readBlob;\n","import util from 'util';\nimport { Readable } from 'stream';\nimport utils from '../utils.js';\nimport readBlob from './readBlob.js';\nimport platform from '../platform/index.js';\n\nconst BOUNDARY_ALPHABET = platform.ALPHABET.ALPHA_DIGIT + '-_';\n\nconst textEncoder = typeof TextEncoder === 'function' ? new TextEncoder() : new util.TextEncoder();\n\nconst CRLF = '\\r\\n';\nconst CRLF_BYTES = textEncoder.encode(CRLF);\nconst CRLF_BYTES_COUNT = 2;\n\nclass FormDataPart {\n constructor(name, value) {\n const { escapeName } = this.constructor;\n const isStringValue = utils.isString(value);\n\n let headers = `Content-Disposition: form-data; name=\"${escapeName(name)}\"${\n !isStringValue && value.name ? `; filename=\"${escapeName(value.name)}\"` : ''\n }${CRLF}`;\n\n if (isStringValue) {\n value = textEncoder.encode(String(value).replace(/\\r?\\n|\\r\\n?/g, CRLF));\n } else {\n headers += `Content-Type: ${value.type || 'application/octet-stream'}${CRLF}`;\n }\n\n this.headers = textEncoder.encode(headers + CRLF);\n\n this.contentLength = isStringValue ? value.byteLength : value.size;\n\n this.size = this.headers.byteLength + this.contentLength + CRLF_BYTES_COUNT;\n\n this.name = name;\n this.value = value;\n }\n\n async *encode() {\n yield this.headers;\n\n const { value } = this;\n\n if (utils.isTypedArray(value)) {\n yield value;\n } else {\n yield* readBlob(value);\n }\n\n yield CRLF_BYTES;\n }\n\n static escapeName(name) {\n return String(name).replace(\n /[\\r\\n\"]/g,\n (match) =>\n ({\n '\\r': '%0D',\n '\\n': '%0A',\n '\"': '%22',\n })[match]\n );\n }\n}\n\nconst formDataToStream = (form, headersHandler, options) => {\n const {\n tag = 'form-data-boundary',\n size = 25,\n boundary = tag + '-' + platform.generateString(size, BOUNDARY_ALPHABET),\n } = options || {};\n\n if (!utils.isFormData(form)) {\n throw TypeError('FormData instance required');\n }\n\n if (boundary.length < 1 || boundary.length > 70) {\n throw Error('boundary must be 10-70 characters long');\n }\n\n const boundaryBytes = textEncoder.encode('--' + boundary + CRLF);\n const footerBytes = textEncoder.encode('--' + boundary + '--' + CRLF);\n let contentLength = footerBytes.byteLength;\n\n const parts = Array.from(form.entries()).map(([name, value]) => {\n const part = new FormDataPart(name, value);\n contentLength += part.size;\n return part;\n });\n\n contentLength += boundaryBytes.byteLength * parts.length;\n\n contentLength = utils.toFiniteNumber(contentLength);\n\n const computedHeaders = {\n 'Content-Type': `multipart/form-data; boundary=${boundary}`,\n };\n\n if (Number.isFinite(contentLength)) {\n computedHeaders['Content-Length'] = contentLength;\n }\n\n headersHandler && headersHandler(computedHeaders);\n\n return Readable.from(\n (async function* () {\n for (const part of parts) {\n yield boundaryBytes;\n yield* part.encode();\n }\n\n yield footerBytes;\n })()\n );\n};\n\nexport default formDataToStream;\n","'use strict';\n\nimport stream from 'stream';\n\nclass ZlibHeaderTransformStream extends stream.Transform {\n __transform(chunk, encoding, callback) {\n this.push(chunk);\n callback();\n }\n\n _transform(chunk, encoding, callback) {\n if (chunk.length !== 0) {\n this._transform = this.__transform;\n\n // Add Default Compression headers if no zlib headers are present\n if (chunk[0] !== 120) {\n // Hex: 78\n const header = Buffer.alloc(2);\n header[0] = 120; // Hex: 78\n header[1] = 156; // Hex: 9C\n this.push(header, encoding);\n }\n }\n\n this.__transform(chunk, encoding, callback);\n }\n}\n\nexport default ZlibHeaderTransformStream;\n","import utils from '../utils.js';\n\nconst callbackify = (fn, reducer) => {\n return utils.isAsyncFn(fn)\n ? function (...args) {\n const cb = args.pop();\n fn.apply(this, args).then((value) => {\n try {\n reducer ? cb(null, ...reducer(value)) : cb(null, value);\n } catch (err) {\n cb(err);\n }\n }, cb);\n }\n : fn;\n};\n\nexport default callbackify;\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round((bytesCount * 1000) / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n };\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if (passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs);\n }, threshold - passed);\n }\n }\n };\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from './speedometer.js';\nimport throttle from './throttle.js';\nimport utils from '../utils.js';\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle((e) => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? loaded / total : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true,\n };\n\n listener(data);\n }, freq);\n};\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [\n (loaded) =>\n throttled[0]({\n lengthComputable,\n total,\n loaded,\n }),\n throttled[1],\n ];\n};\n\nexport const asyncDecorator =\n (fn) =>\n (...args) =>\n utils.asap(() => fn(...args));\n","/**\n * Estimate decoded byte length of a data:// URL *without* allocating large buffers.\n * - For base64: compute exact decoded size using length and padding;\n * handle %XX at the character-count level (no string allocation).\n * - For non-base64: use UTF-8 byteLength of the encoded body as a safe upper bound.\n *\n * @param {string} url\n * @returns {number}\n */\nexport default function estimateDataURLDecodedBytes(url) {\n if (!url || typeof url !== 'string') return 0;\n if (!url.startsWith('data:')) return 0;\n\n const comma = url.indexOf(',');\n if (comma < 0) return 0;\n\n const meta = url.slice(5, comma);\n const body = url.slice(comma + 1);\n const isBase64 = /;base64/i.test(meta);\n\n if (isBase64) {\n let effectiveLen = body.length;\n const len = body.length; // cache length\n\n for (let i = 0; i < len; i++) {\n if (body.charCodeAt(i) === 37 /* '%' */ && i + 2 < len) {\n const a = body.charCodeAt(i + 1);\n const b = body.charCodeAt(i + 2);\n const isHex =\n ((a >= 48 && a <= 57) || (a >= 65 && a <= 70) || (a >= 97 && a <= 102)) &&\n ((b >= 48 && b <= 57) || (b >= 65 && b <= 70) || (b >= 97 && b <= 102));\n\n if (isHex) {\n effectiveLen -= 2;\n i += 2;\n }\n }\n }\n\n let pad = 0;\n let idx = len - 1;\n\n const tailIsPct3D = (j) =>\n j >= 2 &&\n body.charCodeAt(j - 2) === 37 && // '%'\n body.charCodeAt(j - 1) === 51 && // '3'\n (body.charCodeAt(j) === 68 || body.charCodeAt(j) === 100); // 'D' or 'd'\n\n if (idx >= 0) {\n if (body.charCodeAt(idx) === 61 /* '=' */) {\n pad++;\n idx--;\n } else if (tailIsPct3D(idx)) {\n pad++;\n idx -= 3;\n }\n }\n\n if (pad === 1 && idx >= 0) {\n if (body.charCodeAt(idx) === 61 /* '=' */) {\n pad++;\n } else if (tailIsPct3D(idx)) {\n pad++;\n }\n }\n\n const groups = Math.floor(effectiveLen / 4);\n const bytes = groups * 3 - (pad || 0);\n return bytes > 0 ? bytes : 0;\n }\n\n return Buffer.byteLength(body, 'utf8');\n}\n","import utils from '../utils.js';\nimport settle from '../core/settle.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport buildURL from '../helpers/buildURL.js';\nimport { getProxyForUrl } from 'proxy-from-env';\nimport http from 'http';\nimport https from 'https';\nimport http2 from 'http2';\nimport util from 'util';\nimport followRedirects from 'follow-redirects';\nimport zlib from 'zlib';\nimport { VERSION } from '../env/data.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport platform from '../platform/index.js';\nimport fromDataURI from '../helpers/fromDataURI.js';\nimport stream from 'stream';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport AxiosTransformStream from '../helpers/AxiosTransformStream.js';\nimport { EventEmitter } from 'events';\nimport formDataToStream from '../helpers/formDataToStream.js';\nimport readBlob from '../helpers/readBlob.js';\nimport ZlibHeaderTransformStream from '../helpers/ZlibHeaderTransformStream.js';\nimport callbackify from '../helpers/callbackify.js';\nimport {\n progressEventReducer,\n progressEventDecorator,\n asyncDecorator,\n} from '../helpers/progressEventReducer.js';\nimport estimateDataURLDecodedBytes from '../helpers/estimateDataURLDecodedBytes.js';\n\nconst zlibOptions = {\n flush: zlib.constants.Z_SYNC_FLUSH,\n finishFlush: zlib.constants.Z_SYNC_FLUSH,\n};\n\nconst brotliOptions = {\n flush: zlib.constants.BROTLI_OPERATION_FLUSH,\n finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH,\n};\n\nconst isBrotliSupported = utils.isFunction(zlib.createBrotliDecompress);\n\nconst { http: httpFollow, https: httpsFollow } = followRedirects;\n\nconst isHttps = /https:?/;\n\nconst supportedProtocols = platform.protocols.map((protocol) => {\n return protocol + ':';\n});\n\nconst flushOnFinish = (stream, [throttled, flush]) => {\n stream.on('end', flush).on('error', flush);\n\n return throttled;\n};\n\nclass Http2Sessions {\n constructor() {\n this.sessions = Object.create(null);\n }\n\n getSession(authority, options) {\n options = Object.assign(\n {\n sessionTimeout: 1000,\n },\n options\n );\n\n let authoritySessions = this.sessions[authority];\n\n if (authoritySessions) {\n let len = authoritySessions.length;\n\n for (let i = 0; i < len; i++) {\n const [sessionHandle, sessionOptions] = authoritySessions[i];\n if (\n !sessionHandle.destroyed &&\n !sessionHandle.closed &&\n util.isDeepStrictEqual(sessionOptions, options)\n ) {\n return sessionHandle;\n }\n }\n }\n\n const session = http2.connect(authority, options);\n\n let removed;\n\n const removeSession = () => {\n if (removed) {\n return;\n }\n\n removed = true;\n\n let entries = authoritySessions,\n len = entries.length,\n i = len;\n\n while (i--) {\n if (entries[i][0] === session) {\n if (len === 1) {\n delete this.sessions[authority];\n } else {\n entries.splice(i, 1);\n }\n if (!session.closed) {\n session.close();\n }\n return;\n }\n }\n };\n\n const originalRequestFn = session.request;\n\n const { sessionTimeout } = options;\n\n if (sessionTimeout != null) {\n let timer;\n let streamsCount = 0;\n\n session.request = function () {\n const stream = originalRequestFn.apply(this, arguments);\n\n streamsCount++;\n\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n\n stream.once('close', () => {\n if (!--streamsCount) {\n timer = setTimeout(() => {\n timer = null;\n removeSession();\n }, sessionTimeout);\n }\n });\n\n return stream;\n };\n }\n\n session.once('close', removeSession);\n\n let entry = [session, options];\n\n authoritySessions\n ? authoritySessions.push(entry)\n : (authoritySessions = this.sessions[authority] = [entry]);\n\n return session;\n }\n}\n\nconst http2Sessions = new Http2Sessions();\n\n/**\n * If the proxy or config beforeRedirects functions are defined, call them with the options\n * object.\n *\n * @param {Object} options - The options object that was passed to the request.\n *\n * @returns {Object}\n */\nfunction dispatchBeforeRedirect(options, responseDetails) {\n if (options.beforeRedirects.proxy) {\n options.beforeRedirects.proxy(options);\n }\n if (options.beforeRedirects.config) {\n options.beforeRedirects.config(options, responseDetails);\n }\n}\n\n/**\n * If the proxy or config afterRedirects functions are defined, call them with the options\n *\n * @param {http.ClientRequestArgs} options\n * @param {AxiosProxyConfig} configProxy configuration from Axios options object\n * @param {string} location\n *\n * @returns {http.ClientRequestArgs}\n */\nfunction setProxy(options, configProxy, location) {\n let proxy = configProxy;\n if (!proxy && proxy !== false) {\n const proxyUrl = getProxyForUrl(location);\n if (proxyUrl) {\n proxy = new URL(proxyUrl);\n }\n }\n if (proxy) {\n // Basic proxy authorization\n if (proxy.username) {\n proxy.auth = (proxy.username || '') + ':' + (proxy.password || '');\n }\n\n if (proxy.auth) {\n // Support proxy auth object form\n const validProxyAuth = Boolean(proxy.auth.username || proxy.auth.password);\n\n if (validProxyAuth) {\n proxy.auth = (proxy.auth.username || '') + ':' + (proxy.auth.password || '');\n } else if (typeof proxy.auth === 'object') {\n throw new AxiosError('Invalid proxy authorization', AxiosError.ERR_BAD_OPTION, { proxy });\n }\n\n const base64 = Buffer.from(proxy.auth, 'utf8').toString('base64');\n\n options.headers['Proxy-Authorization'] = 'Basic ' + base64;\n }\n\n options.headers.host = options.hostname + (options.port ? ':' + options.port : '');\n const proxyHost = proxy.hostname || proxy.host;\n options.hostname = proxyHost;\n // Replace 'host' since options is not a URL object\n options.host = proxyHost;\n options.port = proxy.port;\n options.path = location;\n if (proxy.protocol) {\n options.protocol = proxy.protocol.includes(':') ? proxy.protocol : `${proxy.protocol}:`;\n }\n }\n\n options.beforeRedirects.proxy = function beforeRedirect(redirectOptions) {\n // Configure proxy for redirected request, passing the original config proxy to apply\n // the exact same logic as if the redirected request was performed by axios directly.\n setProxy(redirectOptions, configProxy, redirectOptions.href);\n };\n}\n\nconst isHttpAdapterSupported =\n typeof process !== 'undefined' && utils.kindOf(process) === 'process';\n\n// temporary hotfix\n\nconst wrapAsync = (asyncExecutor) => {\n return new Promise((resolve, reject) => {\n let onDone;\n let isDone;\n\n const done = (value, isRejected) => {\n if (isDone) return;\n isDone = true;\n onDone && onDone(value, isRejected);\n };\n\n const _resolve = (value) => {\n done(value);\n resolve(value);\n };\n\n const _reject = (reason) => {\n done(reason, true);\n reject(reason);\n };\n\n asyncExecutor(_resolve, _reject, (onDoneHandler) => (onDone = onDoneHandler)).catch(_reject);\n });\n};\n\nconst resolveFamily = ({ address, family }) => {\n if (!utils.isString(address)) {\n throw TypeError('address must be a string');\n }\n return {\n address,\n family: family || (address.indexOf('.') < 0 ? 6 : 4),\n };\n};\n\nconst buildAddressEntry = (address, family) =>\n resolveFamily(utils.isObject(address) ? address : { address, family });\n\nconst http2Transport = {\n request(options, cb) {\n const authority =\n options.protocol +\n '//' +\n options.hostname +\n ':' +\n (options.port || (options.protocol === 'https:' ? 443 : 80));\n\n const { http2Options, headers } = options;\n\n const session = http2Sessions.getSession(authority, http2Options);\n\n const { HTTP2_HEADER_SCHEME, HTTP2_HEADER_METHOD, HTTP2_HEADER_PATH, HTTP2_HEADER_STATUS } =\n http2.constants;\n\n const http2Headers = {\n [HTTP2_HEADER_SCHEME]: options.protocol.replace(':', ''),\n [HTTP2_HEADER_METHOD]: options.method,\n [HTTP2_HEADER_PATH]: options.path,\n };\n\n utils.forEach(headers, (header, name) => {\n name.charAt(0) !== ':' && (http2Headers[name] = header);\n });\n\n const req = session.request(http2Headers);\n\n req.once('response', (responseHeaders) => {\n const response = req; //duplex\n\n responseHeaders = Object.assign({}, responseHeaders);\n\n const status = responseHeaders[HTTP2_HEADER_STATUS];\n\n delete responseHeaders[HTTP2_HEADER_STATUS];\n\n response.headers = responseHeaders;\n\n response.statusCode = +status;\n\n cb(response);\n });\n\n return req;\n },\n};\n\n/*eslint consistent-return:0*/\nexport default isHttpAdapterSupported &&\n function httpAdapter(config) {\n return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) {\n let { data, lookup, family, httpVersion = 1, http2Options } = config;\n const { responseType, responseEncoding } = config;\n const method = config.method.toUpperCase();\n let isDone;\n let rejected = false;\n let req;\n\n httpVersion = +httpVersion;\n\n if (Number.isNaN(httpVersion)) {\n throw TypeError(`Invalid protocol version: '${config.httpVersion}' is not a number`);\n }\n\n if (httpVersion !== 1 && httpVersion !== 2) {\n throw TypeError(`Unsupported protocol version '${httpVersion}'`);\n }\n\n const isHttp2 = httpVersion === 2;\n\n if (lookup) {\n const _lookup = callbackify(lookup, (value) => (utils.isArray(value) ? value : [value]));\n // hotfix to support opt.all option which is required for node 20.x\n lookup = (hostname, opt, cb) => {\n _lookup(hostname, opt, (err, arg0, arg1) => {\n if (err) {\n return cb(err);\n }\n\n const addresses = utils.isArray(arg0)\n ? arg0.map((addr) => buildAddressEntry(addr))\n : [buildAddressEntry(arg0, arg1)];\n\n opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family);\n });\n };\n }\n\n const abortEmitter = new EventEmitter();\n\n function abort(reason) {\n try {\n abortEmitter.emit(\n 'abort',\n !reason || reason.type ? new CanceledError(null, config, req) : reason\n );\n } catch (err) {\n console.warn('emit error', err);\n }\n }\n\n abortEmitter.once('abort', reject);\n\n const onFinished = () => {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(abort);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', abort);\n }\n\n abortEmitter.removeAllListeners();\n };\n\n if (config.cancelToken || config.signal) {\n config.cancelToken && config.cancelToken.subscribe(abort);\n if (config.signal) {\n config.signal.aborted ? abort() : config.signal.addEventListener('abort', abort);\n }\n }\n\n onDone((response, isRejected) => {\n isDone = true;\n\n if (isRejected) {\n rejected = true;\n onFinished();\n return;\n }\n\n const { data } = response;\n\n if (data instanceof stream.Readable || data instanceof stream.Duplex) {\n const offListeners = stream.finished(data, () => {\n offListeners();\n onFinished();\n });\n } else {\n onFinished();\n }\n });\n\n // Parse url\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n const parsed = new URL(fullPath, platform.hasBrowserEnv ? platform.origin : undefined);\n const protocol = parsed.protocol || supportedProtocols[0];\n\n if (protocol === 'data:') {\n // Apply the same semantics as HTTP: only enforce if a finite, non-negative cap is set.\n if (config.maxContentLength > -1) {\n // Use the exact string passed to fromDataURI (config.url); fall back to fullPath if needed.\n const dataUrl = String(config.url || fullPath || '');\n const estimated = estimateDataURLDecodedBytes(dataUrl);\n\n if (estimated > config.maxContentLength) {\n return reject(\n new AxiosError(\n 'maxContentLength size of ' + config.maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE,\n config\n )\n );\n }\n }\n\n let convertedData;\n\n if (method !== 'GET') {\n return settle(resolve, reject, {\n status: 405,\n statusText: 'method not allowed',\n headers: {},\n config,\n });\n }\n\n try {\n convertedData = fromDataURI(config.url, responseType === 'blob', {\n Blob: config.env && config.env.Blob,\n });\n } catch (err) {\n throw AxiosError.from(err, AxiosError.ERR_BAD_REQUEST, config);\n }\n\n if (responseType === 'text') {\n convertedData = convertedData.toString(responseEncoding);\n\n if (!responseEncoding || responseEncoding === 'utf8') {\n convertedData = utils.stripBOM(convertedData);\n }\n } else if (responseType === 'stream') {\n convertedData = stream.Readable.from(convertedData);\n }\n\n return settle(resolve, reject, {\n data: convertedData,\n status: 200,\n statusText: 'OK',\n headers: new AxiosHeaders(),\n config,\n });\n }\n\n if (supportedProtocols.indexOf(protocol) === -1) {\n return reject(\n new AxiosError('Unsupported protocol ' + protocol, AxiosError.ERR_BAD_REQUEST, config)\n );\n }\n\n const headers = AxiosHeaders.from(config.headers).normalize();\n\n // Set User-Agent (required by some servers)\n // See https://github.com/axios/axios/issues/69\n // User-Agent is specified; handle case where no UA header is desired\n // Only set header if it hasn't been set in config\n headers.set('User-Agent', 'axios/' + VERSION, false);\n\n const { onUploadProgress, onDownloadProgress } = config;\n const maxRate = config.maxRate;\n let maxUploadRate = undefined;\n let maxDownloadRate = undefined;\n\n // support for spec compliant FormData objects\n if (utils.isSpecCompliantForm(data)) {\n const userBoundary = headers.getContentType(/boundary=([-_\\w\\d]{10,70})/i);\n\n data = formDataToStream(\n data,\n (formHeaders) => {\n headers.set(formHeaders);\n },\n {\n tag: `axios-${VERSION}-boundary`,\n boundary: (userBoundary && userBoundary[1]) || undefined,\n }\n );\n // support for https://www.npmjs.com/package/form-data api\n } else if (utils.isFormData(data) && utils.isFunction(data.getHeaders)) {\n headers.set(data.getHeaders());\n\n if (!headers.hasContentLength()) {\n try {\n const knownLength = await util.promisify(data.getLength).call(data);\n Number.isFinite(knownLength) &&\n knownLength >= 0 &&\n headers.setContentLength(knownLength);\n /*eslint no-empty:0*/\n } catch (e) {}\n }\n } else if (utils.isBlob(data) || utils.isFile(data)) {\n data.size && headers.setContentType(data.type || 'application/octet-stream');\n headers.setContentLength(data.size || 0);\n data = stream.Readable.from(readBlob(data));\n } else if (data && !utils.isStream(data)) {\n if (Buffer.isBuffer(data)) {\n // Nothing to do...\n } else if (utils.isArrayBuffer(data)) {\n data = Buffer.from(new Uint8Array(data));\n } else if (utils.isString(data)) {\n data = Buffer.from(data, 'utf-8');\n } else {\n return reject(\n new AxiosError(\n 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream',\n AxiosError.ERR_BAD_REQUEST,\n config\n )\n );\n }\n\n // Add Content-Length header if data exists\n headers.setContentLength(data.length, false);\n\n if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) {\n return reject(\n new AxiosError(\n 'Request body larger than maxBodyLength limit',\n AxiosError.ERR_BAD_REQUEST,\n config\n )\n );\n }\n }\n\n const contentLength = utils.toFiniteNumber(headers.getContentLength());\n\n if (utils.isArray(maxRate)) {\n maxUploadRate = maxRate[0];\n maxDownloadRate = maxRate[1];\n } else {\n maxUploadRate = maxDownloadRate = maxRate;\n }\n\n if (data && (onUploadProgress || maxUploadRate)) {\n if (!utils.isStream(data)) {\n data = stream.Readable.from(data, { objectMode: false });\n }\n\n data = stream.pipeline(\n [\n data,\n new AxiosTransformStream({\n maxRate: utils.toFiniteNumber(maxUploadRate),\n }),\n ],\n utils.noop\n );\n\n onUploadProgress &&\n data.on(\n 'progress',\n flushOnFinish(\n data,\n progressEventDecorator(\n contentLength,\n progressEventReducer(asyncDecorator(onUploadProgress), false, 3)\n )\n )\n );\n }\n\n // HTTP basic authentication\n let auth = undefined;\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password || '';\n auth = username + ':' + password;\n }\n\n if (!auth && parsed.username) {\n const urlUsername = parsed.username;\n const urlPassword = parsed.password;\n auth = urlUsername + ':' + urlPassword;\n }\n\n auth && headers.delete('authorization');\n\n let path;\n\n try {\n path = buildURL(\n parsed.pathname + parsed.search,\n config.params,\n config.paramsSerializer\n ).replace(/^\\?/, '');\n } catch (err) {\n const customErr = new Error(err.message);\n customErr.config = config;\n customErr.url = config.url;\n customErr.exists = true;\n return reject(customErr);\n }\n\n headers.set(\n 'Accept-Encoding',\n 'gzip, compress, deflate' + (isBrotliSupported ? ', br' : ''),\n false\n );\n\n const options = {\n path,\n method: method,\n headers: headers.toJSON(),\n agents: { http: config.httpAgent, https: config.httpsAgent },\n auth,\n protocol,\n family,\n beforeRedirect: dispatchBeforeRedirect,\n beforeRedirects: {},\n http2Options,\n };\n\n // cacheable-lookup integration hotfix\n !utils.isUndefined(lookup) && (options.lookup = lookup);\n\n if (config.socketPath) {\n options.socketPath = config.socketPath;\n } else {\n options.hostname = parsed.hostname.startsWith('[')\n ? parsed.hostname.slice(1, -1)\n : parsed.hostname;\n options.port = parsed.port;\n setProxy(\n options,\n config.proxy,\n protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path\n );\n }\n\n let transport;\n const isHttpsRequest = isHttps.test(options.protocol);\n options.agent = isHttpsRequest ? config.httpsAgent : config.httpAgent;\n\n if (isHttp2) {\n transport = http2Transport;\n } else {\n if (config.transport) {\n transport = config.transport;\n } else if (config.maxRedirects === 0) {\n transport = isHttpsRequest ? https : http;\n } else {\n if (config.maxRedirects) {\n options.maxRedirects = config.maxRedirects;\n }\n if (config.beforeRedirect) {\n options.beforeRedirects.config = config.beforeRedirect;\n }\n transport = isHttpsRequest ? httpsFollow : httpFollow;\n }\n }\n\n if (config.maxBodyLength > -1) {\n options.maxBodyLength = config.maxBodyLength;\n } else {\n // follow-redirects does not skip comparison, so it should always succeed for axios -1 unlimited\n options.maxBodyLength = Infinity;\n }\n\n if (config.insecureHTTPParser) {\n options.insecureHTTPParser = config.insecureHTTPParser;\n }\n\n // Create the request\n req = transport.request(options, function handleResponse(res) {\n if (req.destroyed) return;\n\n const streams = [res];\n\n const responseLength = utils.toFiniteNumber(res.headers['content-length']);\n\n if (onDownloadProgress || maxDownloadRate) {\n const transformStream = new AxiosTransformStream({\n maxRate: utils.toFiniteNumber(maxDownloadRate),\n });\n\n onDownloadProgress &&\n transformStream.on(\n 'progress',\n flushOnFinish(\n transformStream,\n progressEventDecorator(\n responseLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true, 3)\n )\n )\n );\n\n streams.push(transformStream);\n }\n\n // decompress the response body transparently if required\n let responseStream = res;\n\n // return the last request in case of redirects\n const lastRequest = res.req || req;\n\n // if decompress disabled we should not decompress\n if (config.decompress !== false && res.headers['content-encoding']) {\n // if no content, but headers still say that it is encoded,\n // remove the header not confuse downstream operations\n if (method === 'HEAD' || res.statusCode === 204) {\n delete res.headers['content-encoding'];\n }\n\n switch ((res.headers['content-encoding'] || '').toLowerCase()) {\n /*eslint default-case:0*/\n case 'gzip':\n case 'x-gzip':\n case 'compress':\n case 'x-compress':\n // add the unzipper to the body stream processing pipeline\n streams.push(zlib.createUnzip(zlibOptions));\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n case 'deflate':\n streams.push(new ZlibHeaderTransformStream());\n\n // add the unzipper to the body stream processing pipeline\n streams.push(zlib.createUnzip(zlibOptions));\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n case 'br':\n if (isBrotliSupported) {\n streams.push(zlib.createBrotliDecompress(brotliOptions));\n delete res.headers['content-encoding'];\n }\n }\n }\n\n responseStream = streams.length > 1 ? stream.pipeline(streams, utils.noop) : streams[0];\n\n const response = {\n status: res.statusCode,\n statusText: res.statusMessage,\n headers: new AxiosHeaders(res.headers),\n config,\n request: lastRequest,\n };\n\n if (responseType === 'stream') {\n response.data = responseStream;\n settle(resolve, reject, response);\n } else {\n const responseBuffer = [];\n let totalResponseBytes = 0;\n\n responseStream.on('data', function handleStreamData(chunk) {\n responseBuffer.push(chunk);\n totalResponseBytes += chunk.length;\n\n // make sure the content length is not over the maxContentLength if specified\n if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) {\n // stream.destroy() emit aborted event before calling reject() on Node.js v16\n rejected = true;\n responseStream.destroy();\n abort(\n new AxiosError(\n 'maxContentLength size of ' + config.maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE,\n config,\n lastRequest\n )\n );\n }\n });\n\n responseStream.on('aborted', function handlerStreamAborted() {\n if (rejected) {\n return;\n }\n\n const err = new AxiosError(\n 'stream has been aborted',\n AxiosError.ERR_BAD_RESPONSE,\n config,\n lastRequest\n );\n responseStream.destroy(err);\n reject(err);\n });\n\n responseStream.on('error', function handleStreamError(err) {\n if (req.destroyed) return;\n reject(AxiosError.from(err, null, config, lastRequest));\n });\n\n responseStream.on('end', function handleStreamEnd() {\n try {\n let responseData =\n responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer);\n if (responseType !== 'arraybuffer') {\n responseData = responseData.toString(responseEncoding);\n if (!responseEncoding || responseEncoding === 'utf8') {\n responseData = utils.stripBOM(responseData);\n }\n }\n response.data = responseData;\n } catch (err) {\n return reject(AxiosError.from(err, null, config, response.request, response));\n }\n settle(resolve, reject, response);\n });\n }\n\n abortEmitter.once('abort', (err) => {\n if (!responseStream.destroyed) {\n responseStream.emit('error', err);\n responseStream.destroy();\n }\n });\n });\n\n abortEmitter.once('abort', (err) => {\n if (req.close) {\n req.close();\n } else {\n req.destroy(err);\n }\n });\n\n // Handle errors\n req.on('error', function handleRequestError(err) {\n reject(AxiosError.from(err, null, config, req));\n });\n\n // set tcp keep alive to prevent drop connection by peer\n req.on('socket', function handleRequestSocket(socket) {\n // default interval of sending ack packet is 1 minute\n socket.setKeepAlive(true, 1000 * 60);\n });\n\n // Handle request timeout\n if (config.timeout) {\n // This is forcing a int timeout to avoid problems if the `req` interface doesn't handle other types.\n const timeout = parseInt(config.timeout, 10);\n\n if (Number.isNaN(timeout)) {\n abort(\n new AxiosError(\n 'error trying to parse `config.timeout` to int',\n AxiosError.ERR_BAD_OPTION_VALUE,\n config,\n req\n )\n );\n\n return;\n }\n\n // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system.\n // And timer callback will be fired, and abort() will be invoked before connection, then get \"socket hang up\" and code ECONNRESET.\n // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up.\n // And then these socket which be hang up will devouring CPU little by little.\n // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect.\n req.setTimeout(timeout, function handleRequestTimeout() {\n if (isDone) return;\n let timeoutErrorMessage = config.timeout\n ? 'timeout of ' + config.timeout + 'ms exceeded'\n : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n abort(\n new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n req\n )\n );\n });\n } else {\n // explicitly reset the socket timeout value for a possible `keep-alive` request\n req.setTimeout(0);\n }\n\n // Send the request\n if (utils.isStream(data)) {\n let ended = false;\n let errored = false;\n\n data.on('end', () => {\n ended = true;\n });\n\n data.once('error', (err) => {\n errored = true;\n req.destroy(err);\n });\n\n data.on('close', () => {\n if (!ended && !errored) {\n abort(new CanceledError('Request stream has been aborted', config, req));\n }\n });\n\n data.pipe(req);\n } else {\n data && req.write(data);\n req.end();\n }\n });\n };\n\nexport const __setProxy = setProxy;\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv\n ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n })(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n )\n : () => true;\n","import utils from '../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv\n ? // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure, sameSite) {\n if (typeof document === 'undefined') return;\n\n const cookie = [`${name}=${encodeURIComponent(value)}`];\n\n if (utils.isNumber(expires)) {\n cookie.push(`expires=${new Date(expires).toUTCString()}`);\n }\n if (utils.isString(path)) {\n cookie.push(`path=${path}`);\n }\n if (utils.isString(domain)) {\n cookie.push(`domain=${domain}`);\n }\n if (secure === true) {\n cookie.push('secure');\n }\n if (utils.isString(sameSite)) {\n cookie.push(`SameSite=${sameSite}`);\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n if (typeof document === 'undefined') return null;\n const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)'));\n return match ? decodeURIComponent(match[1]) : null;\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000, '/');\n },\n }\n : // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {},\n };\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst headersToObject = (thing) => (thing instanceof AxiosHeaders ? { ...thing } : thing);\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({ caseless }, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(a, b, prop, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b, prop) =>\n mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true),\n };\n\n utils.forEach(Object.keys({ ...config1, ...config2 }), function computeConfigValue(prop) {\n if (prop === '__proto__' || prop === 'constructor' || prop === 'prototype') return;\n const merge = utils.hasOwnProp(mergeMap, prop) ? mergeMap[prop] : mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from '../platform/index.js';\nimport utils from '../utils.js';\nimport isURLSameOrigin from './isURLSameOrigin.js';\nimport cookies from './cookies.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport mergeConfig from '../core/mergeConfig.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport buildURL from './buildURL.js';\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(\n buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls),\n config.params,\n config.paramsSerializer\n );\n\n // HTTP basic authentication\n if (auth) {\n headers.set(\n 'Authorization',\n 'Basic ' +\n btoa(\n (auth.username || '') +\n ':' +\n (auth.password ? unescape(encodeURIComponent(auth.password)) : '')\n )\n );\n }\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // browser handles it\n } else if (utils.isFunction(data.getHeaders)) {\n // Node.js FormData (like form-data package)\n const formHeaders = data.getHeaders();\n // Only set safe headers to avoid overwriting security headers\n const allowedHeaders = ['content-type', 'content-length'];\n Object.entries(formHeaders).forEach(([key, val]) => {\n if (allowedHeaders.includes(key.toLowerCase())) {\n headers.set(key, val);\n }\n });\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n};\n","import utils from '../utils.js';\nimport settle from '../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport { progressEventReducer } from '../helpers/progressEventReducer.js';\nimport resolveConfig from '../helpers/resolveConfig.js';\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported &&\n function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let { responseType, onUploadProgress, onDownloadProgress } = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData =\n !responseType || responseType === 'text' || responseType === 'json'\n ? request.responseText\n : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request,\n };\n\n settle(\n function _resolve(value) {\n resolve(value);\n done();\n },\n function _reject(err) {\n reject(err);\n done();\n },\n response\n );\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (\n request.status === 0 &&\n !(request.responseURL && request.responseURL.indexOf('file:') === 0)\n ) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError(event) {\n // Browsers deliver a ProgressEvent in XHR onerror\n // (message may be empty; when present, surface it)\n // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event\n const msg = event && event.message ? event.message : 'Network Error';\n const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);\n // attach the underlying event for consumers who want details\n err.event = event || null;\n reject(err);\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout\n ? 'timeout of ' + _config.timeout + 'ms exceeded'\n : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(\n new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request\n )\n );\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n [downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true);\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n [uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress);\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = (cancel) => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted\n ? onCanceled()\n : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(\n new AxiosError(\n 'Unsupported protocol ' + protocol + ':',\n AxiosError.ERR_BAD_REQUEST,\n config\n )\n );\n return;\n }\n\n // Send the request\n request.send(requestData || null);\n });\n };\n","import CanceledError from '../cancel/CanceledError.js';\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const { length } = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(\n err instanceof AxiosError\n ? err\n : new CanceledError(err instanceof Error ? err.message : err)\n );\n }\n };\n\n let timer =\n timeout &&\n setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout of ${timeout}ms exceeded`, AxiosError.ETIMEDOUT));\n }, timeout);\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach((signal) => {\n signal.unsubscribe\n ? signal.unsubscribe(onabort)\n : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n };\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const { signal } = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n};\n\nexport default composeSignals;\n","export const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n};\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n};\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n};\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n };\n\n return new ReadableStream(\n {\n async pull(controller) {\n try {\n const { done, value } = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = (bytes += len);\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n },\n },\n {\n highWaterMark: 2,\n }\n );\n};\n","import platform from '../platform/index.js';\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport composeSignals from '../helpers/composeSignals.js';\nimport { trackStream } from '../helpers/trackStream.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {\n progressEventReducer,\n progressEventDecorator,\n asyncDecorator,\n} from '../helpers/progressEventReducer.js';\nimport resolveConfig from '../helpers/resolveConfig.js';\nimport settle from '../core/settle.js';\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst { isFunction } = utils;\n\nconst globalFetchAPI = (({ Request, Response }) => ({\n Request,\n Response,\n}))(utils.global);\n\nconst { ReadableStream, TextEncoder } = utils.global;\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false;\n }\n};\n\nconst factory = (env) => {\n env = utils.merge.call(\n {\n skipUndefined: true,\n },\n globalFetchAPI,\n env\n );\n\n const { fetch: envFetch, Request, Response } = env;\n const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';\n const isRequestSupported = isFunction(Request);\n const isResponseSupported = isFunction(Response);\n\n if (!isFetchSupported) {\n return false;\n }\n\n const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream);\n\n const encodeText =\n isFetchSupported &&\n (typeof TextEncoder === 'function'\n ? (\n (encoder) => (str) =>\n encoder.encode(str)\n )(new TextEncoder())\n : async (str) => new Uint8Array(await new Request(str).arrayBuffer()));\n\n const supportsRequestStream =\n isRequestSupported &&\n isReadableStreamSupported &&\n test(() => {\n let duplexAccessed = false;\n\n const body = new ReadableStream();\n\n const hasContentType = new Request(platform.origin, {\n body,\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n body.cancel();\n\n return duplexAccessed && !hasContentType;\n });\n\n const supportsResponseStream =\n isResponseSupported &&\n isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n const resolvers = {\n stream: supportsResponseStream && ((res) => res.body),\n };\n\n isFetchSupported &&\n (() => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach((type) => {\n !resolvers[type] &&\n (resolvers[type] = (res, config) => {\n let method = res && res[type];\n\n if (method) {\n return method.call(res);\n }\n\n throw new AxiosError(\n `Response type '${type}' is not supported`,\n AxiosError.ERR_NOT_SUPPORT,\n config\n );\n });\n });\n })();\n\n const getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if (utils.isBlob(body)) {\n return body.size;\n }\n\n if (utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if (utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if (utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n };\n\n const resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n };\n\n return async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions,\n } = resolveConfig(config);\n\n let _fetch = envFetch || fetch;\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals(\n [signal, cancelToken && cancelToken.toAbortSignal()],\n timeout\n );\n\n let request = null;\n\n const unsubscribe =\n composedSignal &&\n composedSignal.unsubscribe &&\n (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress &&\n supportsRequestStream &&\n method !== 'get' &&\n method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: 'half',\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader);\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = isRequestSupported && 'credentials' in Request.prototype;\n\n const resolvedOptions = {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: 'half',\n credentials: isCredentialsSupported ? withCredentials : undefined,\n };\n\n request = isRequestSupported && new Request(url, resolvedOptions);\n\n let response = await (isRequestSupported\n ? _fetch(request, fetchOptions)\n : _fetch(url, resolvedOptions));\n\n const isStreamResponse =\n supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach((prop) => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] =\n (onDownloadProgress &&\n progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n )) ||\n [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](\n response,\n config\n );\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request,\n });\n });\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError(\n 'Network Error',\n AxiosError.ERR_NETWORK,\n config,\n request,\n err && err.response\n ),\n {\n cause: err.cause || err,\n }\n );\n }\n\n throw AxiosError.from(err, err && err.code, config, request, err && err.response);\n }\n };\n};\n\nconst seedCache = new Map();\n\nexport const getFetch = (config) => {\n let env = (config && config.env) || {};\n const { fetch, Request, Response } = env;\n const seeds = [Request, Response, fetch];\n\n let len = seeds.length,\n i = len,\n seed,\n target,\n map = seedCache;\n\n while (i--) {\n seed = seeds[i];\n target = map.get(seed);\n\n target === undefined && map.set(seed, (target = i ? new Map() : factory(env)));\n\n map = target;\n }\n\n return target;\n};\n\nconst adapter = getFetch();\n\nexport default adapter;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport * as fetchAdapter from './fetch.js';\nimport AxiosError from '../core/AxiosError.js';\n\n/**\n * Known adapters mapping.\n * Provides environment-specific adapters for Axios:\n * - `http` for Node.js\n * - `xhr` for browsers\n * - `fetch` for fetch API-based requests\n *\n * @type {Object}\n */\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: {\n get: fetchAdapter.getFetch,\n },\n};\n\n// Assign adapter names for easier debugging and identification\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', { value });\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', { value });\n }\n});\n\n/**\n * Render a rejection reason string for unknown or unsupported adapters\n *\n * @param {string} reason\n * @returns {string}\n */\nconst renderReason = (reason) => `- ${reason}`;\n\n/**\n * Check if the adapter is resolved (function, null, or false)\n *\n * @param {Function|null|false} adapter\n * @returns {boolean}\n */\nconst isResolvedHandle = (adapter) =>\n utils.isFunction(adapter) || adapter === null || adapter === false;\n\n/**\n * Get the first suitable adapter from the provided list.\n * Tries each adapter in order until a supported one is found.\n * Throws an AxiosError if no adapter is suitable.\n *\n * @param {Array|string|Function} adapters - Adapter(s) by name or function.\n * @param {Object} config - Axios request configuration\n * @throws {AxiosError} If no suitable adapter is available\n * @returns {Function} The resolved adapter function\n */\nfunction getAdapter(adapters, config) {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const { length } = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter && (utils.isFunction(adapter) || (adapter = adapter.get(config)))) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n const reasons = Object.entries(rejectedReasons).map(\n ([id, state]) =>\n `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length\n ? reasons.length > 1\n ? 'since :\\n' + reasons.map(renderReason).join('\\n')\n : ' ' + renderReason(reasons[0])\n : 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n}\n\n/**\n * Exports Axios adapters and utility to resolve an adapter\n */\nexport default {\n /**\n * Resolve an adapter from a list of adapter names or functions.\n * @type {Function}\n */\n getAdapter,\n\n /**\n * Exposes all known adapters\n * @type {Object}\n */\n adapters: knownAdapters,\n};\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from '../adapters/adapters.js';\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(config, config.transformRequest);\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);\n\n return adapter(config).then(\n function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(config, config.transformResponse, response);\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n },\n function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n }\n );\n}\n","'use strict';\n\nimport { VERSION } from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return (\n '[Axios v' +\n VERSION +\n \"] Transitional option '\" +\n opt +\n \"'\" +\n desc +\n (message ? '. ' + message : '')\n );\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError(\n 'option ' + opt + ' must be ' + result,\n AxiosError.ERR_BAD_OPTION_VALUE\n );\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators,\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\nimport transitionalDefaults from '../defaults/transitional.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager(),\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack;\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const { transitional, paramsSerializer, headers } = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(\n transitional,\n {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean),\n legacyInterceptorReqResOrdering: validators.transitional(validators.boolean),\n },\n false\n );\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer,\n };\n } else {\n validator.assertOptions(\n paramsSerializer,\n {\n encode: validators.function,\n serialize: validators.function,\n },\n true\n );\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(\n config,\n {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken'),\n },\n true\n );\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(headers.common, headers[config.method]);\n\n headers &&\n utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], (method) => {\n delete headers[method];\n });\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n const transitional = config.transitional || transitionalDefaults;\n const legacyInterceptorReqResOrdering =\n transitional && transitional.legacyInterceptorReqResOrdering;\n\n if (legacyInterceptorReqResOrdering) {\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n } else {\n requestInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n }\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, config) {\n return this.request(\n mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data,\n })\n );\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(\n mergeConfig(config || {}, {\n method,\n headers: isForm\n ? {\n 'Content-Type': 'multipart/form-data',\n }\n : {},\n url,\n data,\n })\n );\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then((cancel) => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = (onfulfilled) => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise((resolve) => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel,\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * const args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && payload.isAxiosError === true;\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n WebServerIsDown: 521,\n ConnectionTimedOut: 522,\n OriginIsUnreachable: 523,\n TimeoutOccurred: 524,\n SslHandshakeFailed: 525,\n InvalidSslCertificate: 526,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport { VERSION } from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from './core/AxiosHeaders.js';\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, { allOwnKeys: true });\n\n // Copy context to instance\n utils.extend(instance, context, null, { allOwnKeys: true });\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = (thing) => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios;\n"],"names":["bind","fn","thisArg","wrap","apply","arguments","toString","Object","prototype","getPrototypeOf","iterator","toStringTag","Symbol","kindOf","cache","thing","str","call","slice","toLowerCase","create","kindOfTest","type","typeOfTest","isArray","Array","isUndefined","isBuffer","val","constructor","isFunction","isArrayBuffer","isArrayBufferView","result","ArrayBuffer","isView","buffer","isString","isNumber","isObject","isBoolean","isPlainObject","isEmptyObject","keys","length","e","isDate","isFile","isReactNativeBlob","value","uri","isReactNative","formData","getParts","isBlob","isFileList","isStream","pipe","getGlobal","globalThis","self","window","global","G","FormDataCtor","FormData","undefined","isFormData","kind","append","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","map","trim","replace","forEach","obj","allOwnKeys","i","l","getOwnPropertyNames","len","key","findKey","_key","_global","isContextDefined","context","merge","caseless","skipUndefined","assignValue","targetKey","extend","a","b","defineProperty","writable","enumerable","configurable","stripBOM","content","charCodeAt","inherits","superConstructor","props","descriptors","assign","toFlatObject","sourceObj","destObj","filter","propFilter","prop","merged","endsWith","searchString","position","String","lastIndex","indexOf","toArray","arr","isTypedArray","TypedArray","Uint8Array","forEachEntry","generator","_iterator","next","done","pair","matchAll","regExp","matches","exec","push","isHTMLForm","toCamelCase","replacer","m","p1","p2","toUpperCase","hasOwnProperty","isRegExp","reduceDescriptors","reducer","getOwnPropertyDescriptors","reducedDescriptors","descriptor","name","ret","defineProperties","freezeMethods","set","Error","toObjectSet","arrayOrString","delimiter","define","split","noop","toFiniteNumber","defaultValue","Number","isFinite","isSpecCompliantForm","toJSONObject","stack","visit","source","target","reducedValue","isAsyncFn","isThenable","then","catch","_setImmediate","setImmediateSupported","postMessageSupported","setImmediate","token","callbacks","addEventListener","data","shift","cb","postMessage","Math","random","setTimeout","asap","queueMicrotask","process","nextTick","isIterable","hasOwnProp","AxiosError","from","error","code","config","request","response","customProps","axiosError","message","cause","status","isAxiosError","toJSON","description","number","fileName","lineNumber","columnNumber","utils","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL","isVisitable","removeBrackets","renderKey","path","dots","concat","each","join","isFlatArray","some","predicates","test","toFormData","options","TypeError","PlatformFormData","metaTokens","indexes","defined","option","visitor","defaultVisitor","_Blob","Blob","useBlob","convertValue","toISOString","Buffer","JSON","stringify","el","index","exposedHelpers","build","pop","encode","charMap","encodeURIComponent","match","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","url","_options","serialize","serializeFn","serializedParams","hashmarkIndex","InterceptorManager","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","forEachHandler","h","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","legacyInterceptorReqResOrdering","URLSearchParams","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","generateString","size","alphabet","randomValues","Uint32Array","crypto","randomFillSync","isNode","classes","protocols","hasBrowserEnv","document","_navigator","navigator","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","location","href","platform","toURLEncodedForm","helpers","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","entries","stringifySafely","rawValue","parser","parse","defaults","transitional","transitionalDefaults","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","formSerializer","_FormData","env","transformResponse","JSONRequested","responseType","strictJSONParsing","parseReviver","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","Accept","method","ignoreDuplicateOf","rawHeaders","parsed","line","substring","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","w","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","parseHeaders","dest","entry","get","has","matcher","delete","deleted","deleteHeader","normalize","format","normalized","targets","asStrings","getSetCookie","first","computed","accessor","internals","accessors","defineAccessor","mapped","headerValue","transformData","fns","transform","isCancel","__CANCEL__","CanceledError","settle","resolve","reject","floor","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","allowAbsoluteUrls","isRelativeUrl","DEFAULT_PORTS","ftp","gopher","http","https","ws","wss","parseUrl","urlString","URL","getProxyForUrl","parsedUrl","proto","protocol","hostname","host","port","parseInt","shouldProxy","proxy","getEnv","NO_PROXY","every","parsedProxy","parsedProxyHostname","parsedProxyPort","charAt","VERSION","parseProtocol","DATA_URL_PATTERN","fromDataURI","asBlob","mime","isBase64","body","decodeURIComponent","kInternals","AxiosTransformStream","stream","Transform","maxRate","chunkSize","minChunkSize","timeWindow","ticksRate","samplesCount","readableHighWaterMark","bytesSeen","isCaptured","notifiedBytesLoaded","ts","Date","now","bytes","onReadCallback","on","event","_read","_transform","chunk","encoding","callback","divider","bytesThreshold","max","pushChunk","_chunk","_callback","byteLength","emit","transformChunk","chunkRemainder","maxChunkSize","bytesLeft","passed","subarray","transformNextChunk","err","asyncIterator","readBlob","blob","arrayBuffer","BOUNDARY_ALPHABET","textEncoder","TextEncoder","util","CRLF","CRLF_BYTES","CRLF_BYTES_COUNT","FormDataPart","escapeName","isStringValue","contentLength","formDataToStream","form","headersHandler","tag","boundary","boundaryBytes","footerBytes","parts","part","computedHeaders","Readable","ZlibHeaderTransformStream","__transform","alloc","callbackify","args","speedometer","min","timestamps","head","tail","firstSampleTS","chunkLength","startedAt","bytesCount","round","throttle","freq","timestamp","threshold","lastArgs","timer","invoke","clearTimeout","throttled","flush","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","lengthComputable","progressBytes","rate","inRange","progress","estimated","progressEventDecorator","asyncDecorator","estimateDataURLDecodedBytes","startsWith","comma","meta","effectiveLen","isHex","pad","idx","tailIsPct3D","j","groups","zlibOptions","zlib","constants","Z_SYNC_FLUSH","finishFlush","brotliOptions","BROTLI_OPERATION_FLUSH","isBrotliSupported","createBrotliDecompress","httpFollow","httpsFollow","followRedirects","isHttps","supportedProtocols","flushOnFinish","Http2Sessions","sessions","getSession","authority","sessionTimeout","authoritySessions","sessionHandle","sessionOptions","destroyed","closed","isDeepStrictEqual","session","http2","connect","removed","removeSession","splice","close","originalRequestFn","streamsCount","once","http2Sessions","dispatchBeforeRedirect","responseDetails","beforeRedirects","setProxy","configProxy","proxyUrl","username","auth","password","validProxyAuth","Boolean","base64","proxyHost","includes","beforeRedirect","redirectOptions","isHttpAdapterSupported","wrapAsync","asyncExecutor","Promise","onDone","isDone","isRejected","_resolve","_reject","reason","onDoneHandler","resolveFamily","address","family","buildAddressEntry","http2Transport","http2Options","HTTP2_HEADER_SCHEME","HTTP2_HEADER_METHOD","HTTP2_HEADER_PATH","HTTP2_HEADER_STATUS","http2Headers","req","responseHeaders","statusCode","httpAdapter","dispatchHttpRequest","lookup","httpVersion","responseEncoding","isNaN","isHttp2","_lookup","opt","arg0","addresses","addr","all","abortEmitter","EventEmitter","abort","console","warn","onFinished","cancelToken","unsubscribe","signal","removeEventListener","removeAllListeners","subscribe","aborted","Duplex","offListeners","finished","fullPath","dataUrl","convertedData","statusText","onUploadProgress","onDownloadProgress","maxUploadRate","maxDownloadRate","userBoundary","formHeaders","getHeaders","hasContentLength","knownLength","promisify","getLength","setContentLength","getContentLength","objectMode","pipeline","urlUsername","urlPassword","pathname","search","paramsSerializer","customErr","exists","agents","httpAgent","httpsAgent","socketPath","transport","isHttpsRequest","agent","maxRedirects","Infinity","insecureHTTPParser","handleResponse","res","streams","responseLength","transformStream","responseStream","lastRequest","decompress","createUnzip","statusMessage","responseBuffer","totalResponseBytes","handleStreamData","destroy","handlerStreamAborted","handleStreamError","handleStreamEnd","responseData","handleRequestError","handleRequestSocket","socket","setKeepAlive","handleRequestTimeout","timeoutErrorMessage","ended","errored","write","end","isMSIE","userAgent","expires","domain","secure","sameSite","cookie","toUTCString","read","RegExp","remove","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","withCredentials","withXSRFToken","computeConfigValue","configValue","newConfig","btoa","unescape","allowedHeaders","isURLSameOrigin","xsrfValue","cookies","isXHRAdapterSupported","XMLHttpRequest","dispatchXhrRequest","_config","resolveConfig","requestData","requestHeaders","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","open","onloadend","getAllResponseHeaders","responseText","onreadystatechange","handleLoad","readyState","responseURL","onabort","handleAbort","onerror","handleError","msg","ontimeout","handleTimeout","setRequestHeader","upload","cancel","send","composeSignals","signals","controller","AbortController","streamChunk","pos","readBytes","iterable","readStream","reader","getReader","trackStream","onProgress","onFinish","_onFinish","ReadableStream","pull","loadedBytes","enqueue","return","highWaterMark","DEFAULT_CHUNK_SIZE","globalFetchAPI","Request","Response","factory","fetch","envFetch","isFetchSupported","isRequestSupported","isResponseSupported","isReadableStreamSupported","encodeText","supportsRequestStream","duplexAccessed","hasContentType","duplex","supportsResponseStream","resolvers","getBodyLength","_request","resolveBodyLength","fetchOptions","_fetch","composedSignal","toAbortSignal","requestContentLength","contentTypeHeader","isCredentialsSupported","resolvedOptions","credentials","isStreamResponse","responseContentLength","seedCache","Map","getFetch","seeds","seed","knownAdapters","xhr","xhrAdapter","fetchAdapter","renderReason","isResolvedHandle","getAdapter","adapters","nameOrAdapter","rejectedReasons","reasons","state","s","throwIfCancellationRequested","throwIfRequested","dispatchRequest","onAdapterResolution","onAdapterRejection","validators","validator","deprecatedWarnings","version","formatMessage","desc","opts","spelling","correctSpelling","assertOptions","schema","allowUnknown","Axios","instanceConfig","interceptors","configOrUrl","dummy","captureStackTrace","boolean","function","baseUrl","withXsrfToken","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","unshiftRequestInterceptors","interceptor","unshift","responseInterceptorChain","pushResponseInterceptors","promise","chain","onFulfilled","onRejected","getUri","forEachMethodNoData","forEachMethodWithData","generateHTTPMethod","isForm","httpMethod","CancelToken","executor","resolvePromise","promiseExecutor","_listeners","onfulfilled","c","spread","payload","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","WebServerIsDown","ConnectionTimedOut","OriginIsUnreachable","TimeoutOccurred","SslHandshakeFailed","InvalidSslCertificate","createInstance","defaultConfig","instance","axios","Cancel","promises","formToJSON","default"],"mappings":"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","x_google_ignoreList":[24]} \ No newline at end of file diff --git a/dist/node_modules/axios/index.d.cts b/dist/node_modules/axios/index.d.cts new file mode 100644 index 00000000..4c953a02 --- /dev/null +++ b/dist/node_modules/axios/index.d.cts @@ -0,0 +1,716 @@ +interface RawAxiosHeaders { + [key: string]: axios.AxiosHeaderValue; +} + +type MethodsHeaders = Partial< + { + [Key in axios.Method as Lowercase]: AxiosHeaders; + } & { common: AxiosHeaders } +>; + +type AxiosHeaderMatcher = + | string + | RegExp + | ((this: AxiosHeaders, value: string, name: string) => boolean); + +type AxiosHeaderParser = (this: AxiosHeaders, value: axios.AxiosHeaderValue, header: string) => any; + +type CommonRequestHeadersList = + | 'Accept' + | 'Content-Length' + | 'User-Agent' + | 'Content-Encoding' + | 'Authorization'; + +type ContentType = + | axios.AxiosHeaderValue + | 'text/html' + | 'text/plain' + | 'multipart/form-data' + | 'application/json' + | 'application/x-www-form-urlencoded' + | 'application/octet-stream'; + +type CommonResponseHeadersList = + | 'Server' + | 'Content-Type' + | 'Content-Length' + | 'Cache-Control' + | 'Content-Encoding'; + +type BrowserProgressEvent = any; + +declare class AxiosHeaders { + constructor(headers?: RawAxiosHeaders | AxiosHeaders | string); + + [key: string]: any; + + set( + headerName?: string, + value?: axios.AxiosHeaderValue, + rewrite?: boolean | AxiosHeaderMatcher + ): AxiosHeaders; + set(headers?: RawAxiosHeaders | AxiosHeaders | string, rewrite?: boolean): AxiosHeaders; + + get(headerName: string, parser: RegExp): RegExpExecArray | null; + get(headerName: string, matcher?: true | AxiosHeaderParser): axios.AxiosHeaderValue; + + has(header: string, matcher?: AxiosHeaderMatcher): boolean; + + delete(header: string | string[], matcher?: AxiosHeaderMatcher): boolean; + + clear(matcher?: AxiosHeaderMatcher): boolean; + + normalize(format: boolean): AxiosHeaders; + + concat( + ...targets: Array + ): AxiosHeaders; + + toJSON(asStrings?: boolean): RawAxiosHeaders; + + static from(thing?: AxiosHeaders | RawAxiosHeaders | string): AxiosHeaders; + + static accessor(header: string | string[]): AxiosHeaders; + + static concat( + ...targets: Array + ): AxiosHeaders; + + setContentType(value: ContentType, rewrite?: boolean | AxiosHeaderMatcher): AxiosHeaders; + getContentType(parser?: RegExp): RegExpExecArray | null; + getContentType(matcher?: AxiosHeaderMatcher): axios.AxiosHeaderValue; + hasContentType(matcher?: AxiosHeaderMatcher): boolean; + + setContentLength( + value: axios.AxiosHeaderValue, + rewrite?: boolean | AxiosHeaderMatcher + ): AxiosHeaders; + getContentLength(parser?: RegExp): RegExpExecArray | null; + getContentLength(matcher?: AxiosHeaderMatcher): axios.AxiosHeaderValue; + hasContentLength(matcher?: AxiosHeaderMatcher): boolean; + + setAccept(value: axios.AxiosHeaderValue, rewrite?: boolean | AxiosHeaderMatcher): AxiosHeaders; + getAccept(parser?: RegExp): RegExpExecArray | null; + getAccept(matcher?: AxiosHeaderMatcher): axios.AxiosHeaderValue; + hasAccept(matcher?: AxiosHeaderMatcher): boolean; + + setUserAgent(value: axios.AxiosHeaderValue, rewrite?: boolean | AxiosHeaderMatcher): AxiosHeaders; + getUserAgent(parser?: RegExp): RegExpExecArray | null; + getUserAgent(matcher?: AxiosHeaderMatcher): axios.AxiosHeaderValue; + hasUserAgent(matcher?: AxiosHeaderMatcher): boolean; + + setContentEncoding( + value: axios.AxiosHeaderValue, + rewrite?: boolean | AxiosHeaderMatcher + ): AxiosHeaders; + getContentEncoding(parser?: RegExp): RegExpExecArray | null; + getContentEncoding(matcher?: AxiosHeaderMatcher): axios.AxiosHeaderValue; + hasContentEncoding(matcher?: AxiosHeaderMatcher): boolean; + + setAuthorization( + value: axios.AxiosHeaderValue, + rewrite?: boolean | AxiosHeaderMatcher + ): AxiosHeaders; + getAuthorization(parser?: RegExp): RegExpExecArray | null; + getAuthorization(matcher?: AxiosHeaderMatcher): axios.AxiosHeaderValue; + hasAuthorization(matcher?: AxiosHeaderMatcher): boolean; + + getSetCookie(): string[]; + + [Symbol.iterator](): IterableIterator<[string, axios.AxiosHeaderValue]>; +} + +declare class AxiosError extends Error { + constructor( + message?: string, + code?: string, + config?: axios.InternalAxiosRequestConfig, + request?: any, + response?: axios.AxiosResponse + ); + + config?: axios.InternalAxiosRequestConfig; + code?: string; + request?: any; + response?: axios.AxiosResponse; + isAxiosError: boolean; + status?: number; + toJSON: () => object; + cause?: Error; + event?: BrowserProgressEvent; + static from( + error: Error | unknown, + code?: string, + config?: axios.InternalAxiosRequestConfig, + request?: any, + response?: axios.AxiosResponse, + customProps?: object + ): AxiosError; + static readonly ERR_FR_TOO_MANY_REDIRECTS = 'ERR_FR_TOO_MANY_REDIRECTS'; + static readonly ERR_BAD_OPTION_VALUE = 'ERR_BAD_OPTION_VALUE'; + static readonly ERR_BAD_OPTION = 'ERR_BAD_OPTION'; + static readonly ERR_NETWORK = 'ERR_NETWORK'; + static readonly ERR_DEPRECATED = 'ERR_DEPRECATED'; + static readonly ERR_BAD_RESPONSE = 'ERR_BAD_RESPONSE'; + static readonly ERR_BAD_REQUEST = 'ERR_BAD_REQUEST'; + static readonly ERR_NOT_SUPPORT = 'ERR_NOT_SUPPORT'; + static readonly ERR_INVALID_URL = 'ERR_INVALID_URL'; + static readonly ERR_CANCELED = 'ERR_CANCELED'; + static readonly ECONNABORTED = 'ECONNABORTED'; + static readonly ETIMEDOUT = 'ETIMEDOUT'; +} + +declare class CanceledError extends AxiosError {} + +declare class Axios { + constructor(config?: axios.AxiosRequestConfig); + defaults: axios.AxiosDefaults; + interceptors: { + request: axios.AxiosInterceptorManager; + response: axios.AxiosInterceptorManager; + }; + getUri(config?: axios.AxiosRequestConfig): string; + request, D = any>( + config: axios.AxiosRequestConfig + ): Promise; + get, D = any>( + url: string, + config?: axios.AxiosRequestConfig + ): Promise; + delete, D = any>( + url: string, + config?: axios.AxiosRequestConfig + ): Promise; + head, D = any>( + url: string, + config?: axios.AxiosRequestConfig + ): Promise; + options, D = any>( + url: string, + config?: axios.AxiosRequestConfig + ): Promise; + post, D = any>( + url: string, + data?: D, + config?: axios.AxiosRequestConfig + ): Promise; + put, D = any>( + url: string, + data?: D, + config?: axios.AxiosRequestConfig + ): Promise; + patch, D = any>( + url: string, + data?: D, + config?: axios.AxiosRequestConfig + ): Promise; + postForm, D = any>( + url: string, + data?: D, + config?: axios.AxiosRequestConfig + ): Promise; + putForm, D = any>( + url: string, + data?: D, + config?: axios.AxiosRequestConfig + ): Promise; + patchForm, D = any>( + url: string, + data?: D, + config?: axios.AxiosRequestConfig + ): Promise; +} + +declare enum HttpStatusCode { + Continue = 100, + SwitchingProtocols = 101, + Processing = 102, + EarlyHints = 103, + Ok = 200, + Created = 201, + Accepted = 202, + NonAuthoritativeInformation = 203, + NoContent = 204, + ResetContent = 205, + PartialContent = 206, + MultiStatus = 207, + AlreadyReported = 208, + ImUsed = 226, + MultipleChoices = 300, + MovedPermanently = 301, + Found = 302, + SeeOther = 303, + NotModified = 304, + UseProxy = 305, + Unused = 306, + TemporaryRedirect = 307, + PermanentRedirect = 308, + BadRequest = 400, + Unauthorized = 401, + PaymentRequired = 402, + Forbidden = 403, + NotFound = 404, + MethodNotAllowed = 405, + NotAcceptable = 406, + ProxyAuthenticationRequired = 407, + RequestTimeout = 408, + Conflict = 409, + Gone = 410, + LengthRequired = 411, + PreconditionFailed = 412, + PayloadTooLarge = 413, + UriTooLong = 414, + UnsupportedMediaType = 415, + RangeNotSatisfiable = 416, + ExpectationFailed = 417, + ImATeapot = 418, + MisdirectedRequest = 421, + UnprocessableEntity = 422, + Locked = 423, + FailedDependency = 424, + TooEarly = 425, + UpgradeRequired = 426, + PreconditionRequired = 428, + TooManyRequests = 429, + RequestHeaderFieldsTooLarge = 431, + UnavailableForLegalReasons = 451, + InternalServerError = 500, + NotImplemented = 501, + BadGateway = 502, + ServiceUnavailable = 503, + GatewayTimeout = 504, + HttpVersionNotSupported = 505, + VariantAlsoNegotiates = 506, + InsufficientStorage = 507, + LoopDetected = 508, + NotExtended = 510, + NetworkAuthenticationRequired = 511, +} + +type InternalAxiosError = AxiosError; + +declare namespace axios { + type AxiosError = InternalAxiosError; + + type RawAxiosRequestHeaders = Partial< + RawAxiosHeaders & { + [Key in CommonRequestHeadersList]: AxiosHeaderValue; + } & { + 'Content-Type': ContentType; + } + >; + + type AxiosRequestHeaders = RawAxiosRequestHeaders & AxiosHeaders; + + type AxiosHeaderValue = AxiosHeaders | string | string[] | number | boolean | null; + + type RawCommonResponseHeaders = { + [Key in CommonResponseHeadersList]: AxiosHeaderValue; + } & { + 'set-cookie': string[]; + }; + + type RawAxiosResponseHeaders = Partial; + + type AxiosResponseHeaders = RawAxiosResponseHeaders & AxiosHeaders; + + interface AxiosRequestTransformer { + (this: InternalAxiosRequestConfig, data: any, headers: AxiosRequestHeaders): any; + } + + interface AxiosResponseTransformer { + ( + this: InternalAxiosRequestConfig, + data: any, + headers: AxiosResponseHeaders, + status?: number + ): any; + } + + interface AxiosAdapter { + (config: InternalAxiosRequestConfig): AxiosPromise; + } + + interface AxiosBasicCredentials { + username: string; + password: string; + } + + interface AxiosProxyConfig { + host: string; + port: number; + auth?: AxiosBasicCredentials; + protocol?: string; + } + + type Method = + | 'get' + | 'GET' + | 'delete' + | 'DELETE' + | 'head' + | 'HEAD' + | 'options' + | 'OPTIONS' + | 'post' + | 'POST' + | 'put' + | 'PUT' + | 'patch' + | 'PATCH' + | 'purge' + | 'PURGE' + | 'link' + | 'LINK' + | 'unlink' + | 'UNLINK'; + + type ResponseType = 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream' | 'formdata'; + + type responseEncoding = + | 'ascii' + | 'ASCII' + | 'ansi' + | 'ANSI' + | 'binary' + | 'BINARY' + | 'base64' + | 'BASE64' + | 'base64url' + | 'BASE64URL' + | 'hex' + | 'HEX' + | 'latin1' + | 'LATIN1' + | 'ucs-2' + | 'UCS-2' + | 'ucs2' + | 'UCS2' + | 'utf-8' + | 'UTF-8' + | 'utf8' + | 'UTF8' + | 'utf16le' + | 'UTF16LE'; + + interface TransitionalOptions { + silentJSONParsing?: boolean; + forcedJSONParsing?: boolean; + clarifyTimeoutError?: boolean; + legacyInterceptorReqResOrdering?: boolean; + } + + interface GenericAbortSignal { + readonly aborted: boolean; + onabort?: ((...args: any) => any) | null; + addEventListener?: (...args: any) => any; + removeEventListener?: (...args: any) => any; + } + + interface FormDataVisitorHelpers { + defaultVisitor: SerializerVisitor; + convertValue: (value: any) => any; + isVisitable: (value: any) => boolean; + } + + interface SerializerVisitor { + ( + this: GenericFormData, + value: any, + key: string | number, + path: null | Array, + helpers: FormDataVisitorHelpers + ): boolean; + } + + interface SerializerOptions { + visitor?: SerializerVisitor; + dots?: boolean; + metaTokens?: boolean; + indexes?: boolean | null; + } + + // tslint:disable-next-line + interface FormSerializerOptions extends SerializerOptions {} + + interface ParamEncoder { + (value: any, defaultEncoder: (value: any) => any): any; + } + + interface CustomParamsSerializer { + (params: Record, options?: ParamsSerializerOptions): string; + } + + interface ParamsSerializerOptions extends SerializerOptions { + encode?: ParamEncoder; + serialize?: CustomParamsSerializer; + } + + type MaxUploadRate = number; + + type MaxDownloadRate = number; + + interface AxiosProgressEvent { + loaded: number; + total?: number; + progress?: number; + bytes: number; + rate?: number; + estimated?: number; + upload?: boolean; + download?: boolean; + event?: BrowserProgressEvent; + lengthComputable: boolean; + } + + type Milliseconds = number; + + type AxiosAdapterName = 'fetch' | 'xhr' | 'http' | (string & {}); + + type AxiosAdapterConfig = AxiosAdapter | AxiosAdapterName; + + type AddressFamily = 4 | 6 | undefined; + + interface LookupAddressEntry { + address: string; + family?: AddressFamily; + } + + type LookupAddress = string | LookupAddressEntry; + + interface AxiosRequestConfig { + url?: string; + method?: Method | string; + baseURL?: string; + allowAbsoluteUrls?: boolean; + transformRequest?: AxiosRequestTransformer | AxiosRequestTransformer[]; + transformResponse?: AxiosResponseTransformer | AxiosResponseTransformer[]; + headers?: (RawAxiosRequestHeaders & MethodsHeaders) | AxiosHeaders; + params?: any; + paramsSerializer?: ParamsSerializerOptions | CustomParamsSerializer; + data?: D; + timeout?: Milliseconds; + timeoutErrorMessage?: string; + withCredentials?: boolean; + adapter?: AxiosAdapterConfig | AxiosAdapterConfig[]; + auth?: AxiosBasicCredentials; + responseType?: ResponseType; + responseEncoding?: responseEncoding | string; + xsrfCookieName?: string; + xsrfHeaderName?: string; + onUploadProgress?: (progressEvent: AxiosProgressEvent) => void; + onDownloadProgress?: (progressEvent: AxiosProgressEvent) => void; + maxContentLength?: number; + validateStatus?: ((status: number) => boolean) | null; + maxBodyLength?: number; + maxRedirects?: number; + maxRate?: number | [MaxUploadRate, MaxDownloadRate]; + beforeRedirect?: ( + options: Record, + responseDetails: { headers: Record; statusCode: HttpStatusCode } + ) => void; + socketPath?: string | null; + transport?: any; + httpAgent?: any; + httpsAgent?: any; + proxy?: AxiosProxyConfig | false; + cancelToken?: CancelToken; + decompress?: boolean; + transitional?: TransitionalOptions; + signal?: GenericAbortSignal; + insecureHTTPParser?: boolean; + env?: { + FormData?: new (...args: any[]) => object; + fetch?: (input: URL | Request | string, init?: RequestInit) => Promise; + Request?: new (input: URL | Request | string, init?: RequestInit) => Request; + Response?: new ( + body?: ArrayBuffer | ArrayBufferView | Blob | FormData | URLSearchParams | string | null, + init?: ResponseInit + ) => Response; + }; + formSerializer?: FormSerializerOptions; + family?: AddressFamily; + lookup?: + | (( + hostname: string, + options: object, + cb: ( + err: Error | null, + address: LookupAddress | LookupAddress[], + family?: AddressFamily + ) => void + ) => void) + | (( + hostname: string, + options: object + ) => Promise< + | [address: LookupAddressEntry | LookupAddressEntry[], family?: AddressFamily] + | LookupAddress + >); + withXSRFToken?: boolean | ((config: InternalAxiosRequestConfig) => boolean | undefined); + fetchOptions?: + | Omit + | Record; + httpVersion?: 1 | 2; + http2Options?: Record & { + sessionTimeout?: number; + }; + } + + // Alias + type RawAxiosRequestConfig = AxiosRequestConfig; + + interface InternalAxiosRequestConfig extends AxiosRequestConfig { + headers: AxiosRequestHeaders; + } + + interface HeadersDefaults { + common: RawAxiosRequestHeaders; + delete: RawAxiosRequestHeaders; + get: RawAxiosRequestHeaders; + head: RawAxiosRequestHeaders; + post: RawAxiosRequestHeaders; + put: RawAxiosRequestHeaders; + patch: RawAxiosRequestHeaders; + options?: RawAxiosRequestHeaders; + purge?: RawAxiosRequestHeaders; + link?: RawAxiosRequestHeaders; + unlink?: RawAxiosRequestHeaders; + } + + interface AxiosDefaults extends Omit, 'headers'> { + headers: HeadersDefaults; + } + + interface CreateAxiosDefaults extends Omit, 'headers'> { + headers?: RawAxiosRequestHeaders | AxiosHeaders | Partial; + } + + interface AxiosResponse { + data: T; + status: number; + statusText: string; + headers: (H & RawAxiosResponseHeaders) | AxiosResponseHeaders; + config: InternalAxiosRequestConfig; + request?: any; + } + + type AxiosPromise = Promise>; + + interface CancelStatic { + new (message?: string): Cancel; + } + + interface Cancel { + message: string | undefined; + } + + interface Canceler { + (message?: string, config?: AxiosRequestConfig, request?: any): void; + } + + interface CancelTokenStatic { + new (executor: (cancel: Canceler) => void): CancelToken; + source(): CancelTokenSource; + } + + interface CancelToken { + promise: Promise; + reason?: Cancel; + throwIfRequested(): void; + } + + interface CancelTokenSource { + token: CancelToken; + cancel: Canceler; + } + + interface AxiosInterceptorOptions { + synchronous?: boolean; + runWhen?: (config: InternalAxiosRequestConfig) => boolean; + } + + type AxiosInterceptorFulfilled = (value: T) => T | Promise; + type AxiosInterceptorRejected = (error: any) => any; + + type AxiosRequestInterceptorUse = ( + onFulfilled?: AxiosInterceptorFulfilled | null, + onRejected?: AxiosInterceptorRejected | null, + options?: AxiosInterceptorOptions + ) => number; + + type AxiosResponseInterceptorUse = ( + onFulfilled?: AxiosInterceptorFulfilled | null, + onRejected?: AxiosInterceptorRejected | null + ) => number; + + interface AxiosInterceptorHandler { + fulfilled: AxiosInterceptorFulfilled; + rejected?: AxiosInterceptorRejected; + synchronous: boolean; + runWhen?: (config: AxiosRequestConfig) => boolean; + } + + interface AxiosInterceptorManager { + use: V extends AxiosResponse ? AxiosResponseInterceptorUse : AxiosRequestInterceptorUse; + eject(id: number): void; + clear(): void; + handlers?: Array>; + } + + interface AxiosInstance extends Axios { + , D = any>(config: AxiosRequestConfig): Promise; + , D = any>( + url: string, + config?: AxiosRequestConfig + ): Promise; + + create(config?: CreateAxiosDefaults): AxiosInstance; + defaults: Omit & { + headers: HeadersDefaults & { + [key: string]: AxiosHeaderValue; + }; + }; + } + + interface GenericFormData { + append(name: string, value: any, options?: any): any; + } + + interface GenericHTMLFormElement { + name: string; + method: string; + submit(): void; + } + + interface AxiosStatic extends AxiosInstance { + Cancel: CancelStatic; + CancelToken: CancelTokenStatic; + Axios: typeof Axios; + AxiosError: typeof AxiosError; + CanceledError: typeof CanceledError; + HttpStatusCode: typeof HttpStatusCode; + readonly VERSION: string; + isCancel(value: any): value is Cancel; + all(values: Array>): Promise; + spread(callback: (...args: T[]) => R): (array: T[]) => R; + isAxiosError(payload: any): payload is AxiosError; + toFormData( + sourceObj: object, + targetFormData?: GenericFormData, + options?: FormSerializerOptions + ): GenericFormData; + formToJSON(form: GenericFormData | GenericHTMLFormElement): object; + getAdapter(adapters: AxiosAdapterConfig | AxiosAdapterConfig[] | undefined): AxiosAdapter; + AxiosHeaders: typeof AxiosHeaders; + mergeConfig( + config1: AxiosRequestConfig, + config2: AxiosRequestConfig + ): AxiosRequestConfig; + } +} + +declare const axios: axios.AxiosStatic; + +export = axios; diff --git a/dist/node_modules/axios/index.d.ts b/dist/node_modules/axios/index.d.ts new file mode 100644 index 00000000..e9bdcd75 --- /dev/null +++ b/dist/node_modules/axios/index.d.ts @@ -0,0 +1,810 @@ +// TypeScript Version: 4.7 +type StringLiteralsOrString = Literals | (string & {}); + +export type AxiosHeaderValue = + | AxiosHeaders + | string + | string[] + | number + | boolean + | null; + +interface RawAxiosHeaders { + [key: string]: AxiosHeaderValue; +} + +type MethodsHeaders = Partial< + { + [Key in Method as Lowercase]: AxiosHeaders; + } & { common: AxiosHeaders } +>; + +type AxiosHeaderMatcher = + | string + | RegExp + | ((this: AxiosHeaders, value: string, name: string) => boolean); + +type AxiosHeaderParser = ( + this: AxiosHeaders, + value: AxiosHeaderValue, + header: string, +) => any; + +export class AxiosHeaders { + constructor(headers?: RawAxiosHeaders | AxiosHeaders | string); + + [key: string]: any; + + set( + headerName?: string, + value?: AxiosHeaderValue, + rewrite?: boolean | AxiosHeaderMatcher, + ): AxiosHeaders; + set( + headers?: RawAxiosHeaders | AxiosHeaders | string, + rewrite?: boolean, + ): AxiosHeaders; + + get(headerName: string, parser: RegExp): RegExpExecArray | null; + get(headerName: string, matcher?: true | AxiosHeaderParser): AxiosHeaderValue; + + has(header: string, matcher?: AxiosHeaderMatcher): boolean; + + delete(header: string | string[], matcher?: AxiosHeaderMatcher): boolean; + + clear(matcher?: AxiosHeaderMatcher): boolean; + + normalize(format: boolean): AxiosHeaders; + + concat( + ...targets: Array< + AxiosHeaders | RawAxiosHeaders | string | undefined | null + > + ): AxiosHeaders; + + toJSON(asStrings?: boolean): RawAxiosHeaders; + + static from(thing?: AxiosHeaders | RawAxiosHeaders | string): AxiosHeaders; + + static accessor(header: string | string[]): AxiosHeaders; + + static concat( + ...targets: Array< + AxiosHeaders | RawAxiosHeaders | string | undefined | null + > + ): AxiosHeaders; + + setContentType( + value: ContentType, + rewrite?: boolean | AxiosHeaderMatcher, + ): AxiosHeaders; + getContentType(parser?: RegExp): RegExpExecArray | null; + getContentType(matcher?: AxiosHeaderMatcher): AxiosHeaderValue; + hasContentType(matcher?: AxiosHeaderMatcher): boolean; + + setContentLength( + value: AxiosHeaderValue, + rewrite?: boolean | AxiosHeaderMatcher, + ): AxiosHeaders; + getContentLength(parser?: RegExp): RegExpExecArray | null; + getContentLength(matcher?: AxiosHeaderMatcher): AxiosHeaderValue; + hasContentLength(matcher?: AxiosHeaderMatcher): boolean; + + setAccept( + value: AxiosHeaderValue, + rewrite?: boolean | AxiosHeaderMatcher, + ): AxiosHeaders; + getAccept(parser?: RegExp): RegExpExecArray | null; + getAccept(matcher?: AxiosHeaderMatcher): AxiosHeaderValue; + hasAccept(matcher?: AxiosHeaderMatcher): boolean; + + setUserAgent( + value: AxiosHeaderValue, + rewrite?: boolean | AxiosHeaderMatcher, + ): AxiosHeaders; + getUserAgent(parser?: RegExp): RegExpExecArray | null; + getUserAgent(matcher?: AxiosHeaderMatcher): AxiosHeaderValue; + hasUserAgent(matcher?: AxiosHeaderMatcher): boolean; + + setContentEncoding( + value: AxiosHeaderValue, + rewrite?: boolean | AxiosHeaderMatcher, + ): AxiosHeaders; + getContentEncoding(parser?: RegExp): RegExpExecArray | null; + getContentEncoding(matcher?: AxiosHeaderMatcher): AxiosHeaderValue; + hasContentEncoding(matcher?: AxiosHeaderMatcher): boolean; + + setAuthorization( + value: AxiosHeaderValue, + rewrite?: boolean | AxiosHeaderMatcher, + ): AxiosHeaders; + getAuthorization(parser?: RegExp): RegExpExecArray | null; + getAuthorization(matcher?: AxiosHeaderMatcher): AxiosHeaderValue; + hasAuthorization(matcher?: AxiosHeaderMatcher): boolean; + + getSetCookie(): string[]; + + [Symbol.iterator](): IterableIterator<[string, AxiosHeaderValue]>; +} + +type CommonRequestHeadersList = + | "Accept" + | "Content-Length" + | "User-Agent" + | "Content-Encoding" + | "Authorization"; + +type ContentType = + | AxiosHeaderValue + | "text/html" + | "text/plain" + | "multipart/form-data" + | "application/json" + | "application/x-www-form-urlencoded" + | "application/octet-stream"; + +export type RawAxiosRequestHeaders = Partial< + RawAxiosHeaders & { + [Key in CommonRequestHeadersList]: AxiosHeaderValue; + } & { + "Content-Type": ContentType; + } +>; + +export type AxiosRequestHeaders = RawAxiosRequestHeaders & AxiosHeaders; + +type CommonResponseHeadersList = + | "Server" + | "Content-Type" + | "Content-Length" + | "Cache-Control" + | "Content-Encoding"; + +type RawCommonResponseHeaders = { + [Key in CommonResponseHeadersList]: AxiosHeaderValue; +} & { + "set-cookie": string[]; +}; + +export type RawAxiosResponseHeaders = Partial< + RawAxiosHeaders & RawCommonResponseHeaders +>; + +export type AxiosResponseHeaders = RawAxiosResponseHeaders & AxiosHeaders; + +export interface AxiosRequestTransformer { + ( + this: InternalAxiosRequestConfig, + data: any, + headers: AxiosRequestHeaders, + ): any; +} + +export interface AxiosResponseTransformer { + ( + this: InternalAxiosRequestConfig, + data: any, + headers: AxiosResponseHeaders, + status?: number, + ): any; +} + +export interface AxiosAdapter { + (config: InternalAxiosRequestConfig): AxiosPromise; +} + +export interface AxiosBasicCredentials { + username: string; + password: string; +} + +export interface AxiosProxyConfig { + host: string; + port: number; + auth?: AxiosBasicCredentials; + protocol?: string; +} + +export enum HttpStatusCode { + Continue = 100, + SwitchingProtocols = 101, + Processing = 102, + EarlyHints = 103, + Ok = 200, + Created = 201, + Accepted = 202, + NonAuthoritativeInformation = 203, + NoContent = 204, + ResetContent = 205, + PartialContent = 206, + MultiStatus = 207, + AlreadyReported = 208, + ImUsed = 226, + MultipleChoices = 300, + MovedPermanently = 301, + Found = 302, + SeeOther = 303, + NotModified = 304, + UseProxy = 305, + Unused = 306, + TemporaryRedirect = 307, + PermanentRedirect = 308, + BadRequest = 400, + Unauthorized = 401, + PaymentRequired = 402, + Forbidden = 403, + NotFound = 404, + MethodNotAllowed = 405, + NotAcceptable = 406, + ProxyAuthenticationRequired = 407, + RequestTimeout = 408, + Conflict = 409, + Gone = 410, + LengthRequired = 411, + PreconditionFailed = 412, + PayloadTooLarge = 413, + UriTooLong = 414, + UnsupportedMediaType = 415, + RangeNotSatisfiable = 416, + ExpectationFailed = 417, + ImATeapot = 418, + MisdirectedRequest = 421, + UnprocessableEntity = 422, + Locked = 423, + FailedDependency = 424, + TooEarly = 425, + UpgradeRequired = 426, + PreconditionRequired = 428, + TooManyRequests = 429, + RequestHeaderFieldsTooLarge = 431, + UnavailableForLegalReasons = 451, + InternalServerError = 500, + NotImplemented = 501, + BadGateway = 502, + ServiceUnavailable = 503, + GatewayTimeout = 504, + HttpVersionNotSupported = 505, + VariantAlsoNegotiates = 506, + InsufficientStorage = 507, + LoopDetected = 508, + NotExtended = 510, + NetworkAuthenticationRequired = 511, +} + +export type Method = + | "get" + | "GET" + | "delete" + | "DELETE" + | "head" + | "HEAD" + | "options" + | "OPTIONS" + | "post" + | "POST" + | "put" + | "PUT" + | "patch" + | "PATCH" + | "purge" + | "PURGE" + | "link" + | "LINK" + | "unlink" + | "UNLINK"; + +export type ResponseType = + | "arraybuffer" + | "blob" + | "document" + | "json" + | "text" + | "stream" + | "formdata"; + +export type responseEncoding = + | "ascii" + | "ASCII" + | "ansi" + | "ANSI" + | "binary" + | "BINARY" + | "base64" + | "BASE64" + | "base64url" + | "BASE64URL" + | "hex" + | "HEX" + | "latin1" + | "LATIN1" + | "ucs-2" + | "UCS-2" + | "ucs2" + | "UCS2" + | "utf-8" + | "UTF-8" + | "utf8" + | "UTF8" + | "utf16le" + | "UTF16LE"; + +export interface TransitionalOptions { + silentJSONParsing?: boolean; + forcedJSONParsing?: boolean; + clarifyTimeoutError?: boolean; + legacyInterceptorReqResOrdering?: boolean; +} + +export interface GenericAbortSignal { + readonly aborted: boolean; + onabort?: ((...args: any) => any) | null; + addEventListener?: (...args: any) => any; + removeEventListener?: (...args: any) => any; +} + +export interface FormDataVisitorHelpers { + defaultVisitor: SerializerVisitor; + convertValue: (value: any) => any; + isVisitable: (value: any) => boolean; +} + +export interface SerializerVisitor { + ( + this: GenericFormData, + value: any, + key: string | number, + path: null | Array, + helpers: FormDataVisitorHelpers, + ): boolean; +} + +export interface SerializerOptions { + visitor?: SerializerVisitor; + dots?: boolean; + metaTokens?: boolean; + indexes?: boolean | null; +} + +// tslint:disable-next-line +export interface FormSerializerOptions extends SerializerOptions {} + +export interface ParamEncoder { + (value: any, defaultEncoder: (value: any) => any): any; +} + +export interface CustomParamsSerializer { + (params: Record, options?: ParamsSerializerOptions): string; +} + +export interface ParamsSerializerOptions extends SerializerOptions { + encode?: ParamEncoder; + serialize?: CustomParamsSerializer; +} + +type MaxUploadRate = number; + +type MaxDownloadRate = number; + +type BrowserProgressEvent = any; + +export interface AxiosProgressEvent { + loaded: number; + total?: number; + progress?: number; + bytes: number; + rate?: number; + estimated?: number; + upload?: boolean; + download?: boolean; + event?: BrowserProgressEvent; + lengthComputable: boolean; +} + +type Milliseconds = number; + +type AxiosAdapterName = StringLiteralsOrString<"xhr" | "http" | "fetch">; + +type AxiosAdapterConfig = AxiosAdapter | AxiosAdapterName; + +export type AddressFamily = 4 | 6 | undefined; + +export interface LookupAddressEntry { + address: string; + family?: AddressFamily; +} + +export type LookupAddress = string | LookupAddressEntry; + +export interface AxiosRequestConfig { + url?: string; + method?: StringLiteralsOrString; + baseURL?: string; + allowAbsoluteUrls?: boolean; + transformRequest?: AxiosRequestTransformer | AxiosRequestTransformer[]; + transformResponse?: AxiosResponseTransformer | AxiosResponseTransformer[]; + headers?: (RawAxiosRequestHeaders & MethodsHeaders) | AxiosHeaders; + params?: any; + paramsSerializer?: ParamsSerializerOptions | CustomParamsSerializer; + data?: D; + timeout?: Milliseconds; + timeoutErrorMessage?: string; + withCredentials?: boolean; + adapter?: AxiosAdapterConfig | AxiosAdapterConfig[]; + auth?: AxiosBasicCredentials; + responseType?: ResponseType; + responseEncoding?: StringLiteralsOrString; + xsrfCookieName?: string; + xsrfHeaderName?: string; + onUploadProgress?: (progressEvent: AxiosProgressEvent) => void; + onDownloadProgress?: (progressEvent: AxiosProgressEvent) => void; + maxContentLength?: number; + validateStatus?: ((status: number) => boolean) | null; + maxBodyLength?: number; + maxRedirects?: number; + maxRate?: number | [MaxUploadRate, MaxDownloadRate]; + beforeRedirect?: ( + options: Record, + responseDetails: { + headers: Record; + statusCode: HttpStatusCode; + }, + ) => void; + socketPath?: string | null; + transport?: any; + httpAgent?: any; + httpsAgent?: any; + proxy?: AxiosProxyConfig | false; + cancelToken?: CancelToken | undefined; + decompress?: boolean; + transitional?: TransitionalOptions; + signal?: GenericAbortSignal; + insecureHTTPParser?: boolean; + env?: { + FormData?: new (...args: any[]) => object; + fetch?: ( + input: URL | Request | string, + init?: RequestInit, + ) => Promise; + Request?: new ( + input: URL | Request | string, + init?: RequestInit, + ) => Request; + Response?: new ( + body?: + | ArrayBuffer + | ArrayBufferView + | Blob + | FormData + | URLSearchParams + | string + | null, + init?: ResponseInit, + ) => Response; + }; + formSerializer?: FormSerializerOptions; + family?: AddressFamily; + lookup?: + | (( + hostname: string, + options: object, + cb: ( + err: Error | null, + address: LookupAddress | LookupAddress[], + family?: AddressFamily, + ) => void, + ) => void) + | (( + hostname: string, + options: object, + ) => Promise< + | [ + address: LookupAddressEntry | LookupAddressEntry[], + family?: AddressFamily, + ] + | LookupAddress + >); + withXSRFToken?: + | boolean + | ((config: InternalAxiosRequestConfig) => boolean | undefined); + parseReviver?: (this: any, key: string, value: any) => any; + fetchOptions?: + | Omit + | Record; + httpVersion?: 1 | 2; + http2Options?: Record & { + sessionTimeout?: number; + }; +} + +// Alias +export type RawAxiosRequestConfig = AxiosRequestConfig; + +export interface InternalAxiosRequestConfig< + D = any, +> extends AxiosRequestConfig { + headers: AxiosRequestHeaders; +} + +export interface HeadersDefaults { + common: RawAxiosRequestHeaders; + delete: RawAxiosRequestHeaders; + get: RawAxiosRequestHeaders; + head: RawAxiosRequestHeaders; + post: RawAxiosRequestHeaders; + put: RawAxiosRequestHeaders; + patch: RawAxiosRequestHeaders; + options?: RawAxiosRequestHeaders; + purge?: RawAxiosRequestHeaders; + link?: RawAxiosRequestHeaders; + unlink?: RawAxiosRequestHeaders; +} + +export interface AxiosDefaults extends Omit< + AxiosRequestConfig, + "headers" +> { + headers: HeadersDefaults; +} + +export interface CreateAxiosDefaults extends Omit< + AxiosRequestConfig, + "headers" +> { + headers?: RawAxiosRequestHeaders | AxiosHeaders | Partial; +} + +export interface AxiosResponse { + data: T; + status: number; + statusText: string; + headers: (H & RawAxiosResponseHeaders) | AxiosResponseHeaders; + config: InternalAxiosRequestConfig; + request?: any; +} + +export class AxiosError extends Error { + constructor( + message?: string, + code?: string, + config?: InternalAxiosRequestConfig, + request?: any, + response?: AxiosResponse, + ); + + config?: InternalAxiosRequestConfig; + code?: string; + request?: any; + response?: AxiosResponse; + isAxiosError: boolean; + status?: number; + toJSON: () => object; + cause?: Error; + event?: BrowserProgressEvent; + static from( + error: Error | unknown, + code?: string, + config?: InternalAxiosRequestConfig, + request?: any, + response?: AxiosResponse, + customProps?: object, + ): AxiosError; + static readonly ERR_FR_TOO_MANY_REDIRECTS = "ERR_FR_TOO_MANY_REDIRECTS"; + static readonly ERR_BAD_OPTION_VALUE = "ERR_BAD_OPTION_VALUE"; + static readonly ERR_BAD_OPTION = "ERR_BAD_OPTION"; + static readonly ERR_NETWORK = "ERR_NETWORK"; + static readonly ERR_DEPRECATED = "ERR_DEPRECATED"; + static readonly ERR_BAD_RESPONSE = "ERR_BAD_RESPONSE"; + static readonly ERR_BAD_REQUEST = "ERR_BAD_REQUEST"; + static readonly ERR_NOT_SUPPORT = "ERR_NOT_SUPPORT"; + static readonly ERR_INVALID_URL = "ERR_INVALID_URL"; + static readonly ERR_CANCELED = "ERR_CANCELED"; + static readonly ECONNABORTED = "ECONNABORTED"; + static readonly ETIMEDOUT = "ETIMEDOUT"; +} + +export class CanceledError extends AxiosError { + readonly name: "CanceledError"; +} + +export type AxiosPromise = Promise>; + +export interface CancelStatic { + new (message?: string): Cancel; +} + +export interface Cancel { + message: string | undefined; +} + +export interface Canceler { + (message?: string, config?: AxiosRequestConfig, request?: any): void; +} + +export interface CancelTokenStatic { + new (executor: (cancel: Canceler) => void): CancelToken; + source(): CancelTokenSource; +} + +export interface CancelToken { + promise: Promise; + reason?: Cancel; + throwIfRequested(): void; +} + +export interface CancelTokenSource { + token: CancelToken; + cancel: Canceler; +} + +export interface AxiosInterceptorOptions { + synchronous?: boolean; + runWhen?: (config: InternalAxiosRequestConfig) => boolean; +} + +type AxiosInterceptorFulfilled = (value: T) => T | Promise; +type AxiosInterceptorRejected = (error: any) => any; + +type AxiosRequestInterceptorUse = ( + onFulfilled?: AxiosInterceptorFulfilled | null, + onRejected?: AxiosInterceptorRejected | null, + options?: AxiosInterceptorOptions, +) => number; + +type AxiosResponseInterceptorUse = ( + onFulfilled?: AxiosInterceptorFulfilled | null, + onRejected?: AxiosInterceptorRejected | null, +) => number; + +interface AxiosInterceptorHandler { + fulfilled: AxiosInterceptorFulfilled; + rejected?: AxiosInterceptorRejected; + synchronous: boolean; + runWhen: (config: AxiosRequestConfig) => boolean | null; +} + +export interface AxiosInterceptorManager { + use: V extends AxiosResponse + ? AxiosResponseInterceptorUse + : AxiosRequestInterceptorUse; + eject(id: number): void; + clear(): void; + handlers?: Array>; +} + +export class Axios { + constructor(config?: AxiosRequestConfig); + defaults: AxiosDefaults; + interceptors: { + request: AxiosInterceptorManager; + response: AxiosInterceptorManager; + }; + getUri(config?: AxiosRequestConfig): string; + request, D = any>( + config: AxiosRequestConfig, + ): Promise; + get, D = any>( + url: string, + config?: AxiosRequestConfig, + ): Promise; + delete, D = any>( + url: string, + config?: AxiosRequestConfig, + ): Promise; + head, D = any>( + url: string, + config?: AxiosRequestConfig, + ): Promise; + options, D = any>( + url: string, + config?: AxiosRequestConfig, + ): Promise; + post, D = any>( + url: string, + data?: D, + config?: AxiosRequestConfig, + ): Promise; + put, D = any>( + url: string, + data?: D, + config?: AxiosRequestConfig, + ): Promise; + patch, D = any>( + url: string, + data?: D, + config?: AxiosRequestConfig, + ): Promise; + postForm, D = any>( + url: string, + data?: D, + config?: AxiosRequestConfig, + ): Promise; + putForm, D = any>( + url: string, + data?: D, + config?: AxiosRequestConfig, + ): Promise; + patchForm, D = any>( + url: string, + data?: D, + config?: AxiosRequestConfig, + ): Promise; +} + +export interface AxiosInstance extends Axios { + , D = any>( + config: AxiosRequestConfig, + ): Promise; + , D = any>( + url: string, + config?: AxiosRequestConfig, + ): Promise; + + create(config?: CreateAxiosDefaults): AxiosInstance; + defaults: Omit & { + headers: HeadersDefaults & { + [key: string]: AxiosHeaderValue; + }; + }; +} + +export interface GenericFormData { + append(name: string, value: any, options?: any): any; +} + +export interface GenericHTMLFormElement { + name: string; + method: string; + submit(): void; +} + +export function getAdapter( + adapters: AxiosAdapterConfig | AxiosAdapterConfig[] | undefined, +): AxiosAdapter; + +export function toFormData( + sourceObj: object, + targetFormData?: GenericFormData, + options?: FormSerializerOptions, +): GenericFormData; + +export function formToJSON( + form: GenericFormData | GenericHTMLFormElement, +): object; + +export function isAxiosError( + payload: any, +): payload is AxiosError; + +export function spread(callback: (...args: T[]) => R): (array: T[]) => R; + +export function isCancel(value: any): value is CanceledError; + +export function all(values: Array>): Promise; + +export function mergeConfig( + config1: AxiosRequestConfig, + config2: AxiosRequestConfig, +): AxiosRequestConfig; + +export interface AxiosStatic extends AxiosInstance { + Cancel: CancelStatic; + CancelToken: CancelTokenStatic; + Axios: typeof Axios; + AxiosError: typeof AxiosError; + HttpStatusCode: typeof HttpStatusCode; + readonly VERSION: string; + isCancel: typeof isCancel; + all: typeof all; + spread: typeof spread; + isAxiosError: typeof isAxiosError; + toFormData: typeof toFormData; + formToJSON: typeof formToJSON; + getAdapter: typeof getAdapter; + CanceledError: typeof CanceledError; + AxiosHeaders: typeof AxiosHeaders; + mergeConfig: typeof mergeConfig; +} + +declare const axios: AxiosStatic; + +export default axios; diff --git a/dist/node_modules/axios/index.js b/dist/node_modules/axios/index.js new file mode 100644 index 00000000..7dbe23b9 --- /dev/null +++ b/dist/node_modules/axios/index.js @@ -0,0 +1,43 @@ +import axios from './lib/axios.js'; + +// This module is intended to unwrap Axios default export as named. +// Keep top-level export same with static properties +// so that it can keep same with es module or cjs +const { + Axios, + AxiosError, + CanceledError, + isCancel, + CancelToken, + VERSION, + all, + Cancel, + isAxiosError, + spread, + toFormData, + AxiosHeaders, + HttpStatusCode, + formToJSON, + getAdapter, + mergeConfig, +} = axios; + +export { + axios as default, + Axios, + AxiosError, + CanceledError, + isCancel, + CancelToken, + VERSION, + all, + Cancel, + isAxiosError, + spread, + toFormData, + AxiosHeaders, + HttpStatusCode, + formToJSON, + getAdapter, + mergeConfig, +}; diff --git a/dist/node_modules/axios/lib/adapters/README.md b/dist/node_modules/axios/lib/adapters/README.md new file mode 100644 index 00000000..8d9dd97d --- /dev/null +++ b/dist/node_modules/axios/lib/adapters/README.md @@ -0,0 +1,36 @@ +# axios // adapters + +The modules under `adapters/` are modules that handle dispatching a request and settling a returned `Promise` once a response is received. + +## Example + +```js +var settle = require('../core/settle'); + +module.exports = function myAdapter(config) { + // At this point: + // - config has been merged with defaults + // - request transformers have already run + // - request interceptors have already run + + // Make the request using config provided + // Upon response settle the Promise + + return new Promise(function (resolve, reject) { + var response = { + data: responseData, + status: request.status, + statusText: request.statusText, + headers: responseHeaders, + config: config, + request: request, + }; + + settle(resolve, reject, response); + + // From here: + // - response transformers will run + // - response interceptors will run + }); +}; +``` diff --git a/dist/node_modules/axios/lib/adapters/adapters.js b/dist/node_modules/axios/lib/adapters/adapters.js new file mode 100644 index 00000000..5d18745a --- /dev/null +++ b/dist/node_modules/axios/lib/adapters/adapters.js @@ -0,0 +1,130 @@ +import utils from '../utils.js'; +import httpAdapter from './http.js'; +import xhrAdapter from './xhr.js'; +import * as fetchAdapter from './fetch.js'; +import AxiosError from '../core/AxiosError.js'; + +/** + * Known adapters mapping. + * Provides environment-specific adapters for Axios: + * - `http` for Node.js + * - `xhr` for browsers + * - `fetch` for fetch API-based requests + * + * @type {Object} + */ +const knownAdapters = { + http: httpAdapter, + xhr: xhrAdapter, + fetch: { + get: fetchAdapter.getFetch, + }, +}; + +// Assign adapter names for easier debugging and identification +utils.forEach(knownAdapters, (fn, value) => { + if (fn) { + try { + Object.defineProperty(fn, 'name', { value }); + } catch (e) { + // eslint-disable-next-line no-empty + } + Object.defineProperty(fn, 'adapterName', { value }); + } +}); + +/** + * Render a rejection reason string for unknown or unsupported adapters + * + * @param {string} reason + * @returns {string} + */ +const renderReason = (reason) => `- ${reason}`; + +/** + * Check if the adapter is resolved (function, null, or false) + * + * @param {Function|null|false} adapter + * @returns {boolean} + */ +const isResolvedHandle = (adapter) => + utils.isFunction(adapter) || adapter === null || adapter === false; + +/** + * Get the first suitable adapter from the provided list. + * Tries each adapter in order until a supported one is found. + * Throws an AxiosError if no adapter is suitable. + * + * @param {Array|string|Function} adapters - Adapter(s) by name or function. + * @param {Object} config - Axios request configuration + * @throws {AxiosError} If no suitable adapter is available + * @returns {Function} The resolved adapter function + */ +function getAdapter(adapters, config) { + adapters = utils.isArray(adapters) ? adapters : [adapters]; + + const { length } = adapters; + let nameOrAdapter; + let adapter; + + const rejectedReasons = {}; + + for (let i = 0; i < length; i++) { + nameOrAdapter = adapters[i]; + let id; + + adapter = nameOrAdapter; + + if (!isResolvedHandle(nameOrAdapter)) { + adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()]; + + if (adapter === undefined) { + throw new AxiosError(`Unknown adapter '${id}'`); + } + } + + if (adapter && (utils.isFunction(adapter) || (adapter = adapter.get(config)))) { + break; + } + + rejectedReasons[id || '#' + i] = adapter; + } + + if (!adapter) { + const reasons = Object.entries(rejectedReasons).map( + ([id, state]) => + `adapter ${id} ` + + (state === false ? 'is not supported by the environment' : 'is not available in the build') + ); + + let s = length + ? reasons.length > 1 + ? 'since :\n' + reasons.map(renderReason).join('\n') + : ' ' + renderReason(reasons[0]) + : 'as no adapter specified'; + + throw new AxiosError( + `There is no suitable adapter to dispatch the request ` + s, + 'ERR_NOT_SUPPORT' + ); + } + + return adapter; +} + +/** + * Exports Axios adapters and utility to resolve an adapter + */ +export default { + /** + * Resolve an adapter from a list of adapter names or functions. + * @type {Function} + */ + getAdapter, + + /** + * Exposes all known adapters + * @type {Object} + */ + adapters: knownAdapters, +}; diff --git a/dist/node_modules/axios/lib/adapters/fetch.js b/dist/node_modules/axios/lib/adapters/fetch.js new file mode 100644 index 00000000..6588ddf0 --- /dev/null +++ b/dist/node_modules/axios/lib/adapters/fetch.js @@ -0,0 +1,338 @@ +import platform from '../platform/index.js'; +import utils from '../utils.js'; +import AxiosError from '../core/AxiosError.js'; +import composeSignals from '../helpers/composeSignals.js'; +import { trackStream } from '../helpers/trackStream.js'; +import AxiosHeaders from '../core/AxiosHeaders.js'; +import { + progressEventReducer, + progressEventDecorator, + asyncDecorator, +} from '../helpers/progressEventReducer.js'; +import resolveConfig from '../helpers/resolveConfig.js'; +import settle from '../core/settle.js'; + +const DEFAULT_CHUNK_SIZE = 64 * 1024; + +const { isFunction } = utils; + +const globalFetchAPI = (({ Request, Response }) => ({ + Request, + Response, +}))(utils.global); + +const { ReadableStream, TextEncoder } = utils.global; + +const test = (fn, ...args) => { + try { + return !!fn(...args); + } catch (e) { + return false; + } +}; + +const factory = (env) => { + env = utils.merge.call( + { + skipUndefined: true, + }, + globalFetchAPI, + env + ); + + const { fetch: envFetch, Request, Response } = env; + const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function'; + const isRequestSupported = isFunction(Request); + const isResponseSupported = isFunction(Response); + + if (!isFetchSupported) { + return false; + } + + const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream); + + const encodeText = + isFetchSupported && + (typeof TextEncoder === 'function' + ? ( + (encoder) => (str) => + encoder.encode(str) + )(new TextEncoder()) + : async (str) => new Uint8Array(await new Request(str).arrayBuffer())); + + const supportsRequestStream = + isRequestSupported && + isReadableStreamSupported && + test(() => { + let duplexAccessed = false; + + const body = new ReadableStream(); + + const hasContentType = new Request(platform.origin, { + body, + method: 'POST', + get duplex() { + duplexAccessed = true; + return 'half'; + }, + }).headers.has('Content-Type'); + + body.cancel(); + + return duplexAccessed && !hasContentType; + }); + + const supportsResponseStream = + isResponseSupported && + isReadableStreamSupported && + test(() => utils.isReadableStream(new Response('').body)); + + const resolvers = { + stream: supportsResponseStream && ((res) => res.body), + }; + + isFetchSupported && + (() => { + ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach((type) => { + !resolvers[type] && + (resolvers[type] = (res, config) => { + let method = res && res[type]; + + if (method) { + return method.call(res); + } + + throw new AxiosError( + `Response type '${type}' is not supported`, + AxiosError.ERR_NOT_SUPPORT, + config + ); + }); + }); + })(); + + const getBodyLength = async (body) => { + if (body == null) { + return 0; + } + + if (utils.isBlob(body)) { + return body.size; + } + + if (utils.isSpecCompliantForm(body)) { + const _request = new Request(platform.origin, { + method: 'POST', + body, + }); + return (await _request.arrayBuffer()).byteLength; + } + + if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) { + return body.byteLength; + } + + if (utils.isURLSearchParams(body)) { + body = body + ''; + } + + if (utils.isString(body)) { + return (await encodeText(body)).byteLength; + } + }; + + const resolveBodyLength = async (headers, body) => { + const length = utils.toFiniteNumber(headers.getContentLength()); + + return length == null ? getBodyLength(body) : length; + }; + + return async (config) => { + let { + url, + method, + data, + signal, + cancelToken, + timeout, + onDownloadProgress, + onUploadProgress, + responseType, + headers, + withCredentials = 'same-origin', + fetchOptions, + } = resolveConfig(config); + + let _fetch = envFetch || fetch; + + responseType = responseType ? (responseType + '').toLowerCase() : 'text'; + + let composedSignal = composeSignals( + [signal, cancelToken && cancelToken.toAbortSignal()], + timeout + ); + + let request = null; + + const unsubscribe = + composedSignal && + composedSignal.unsubscribe && + (() => { + composedSignal.unsubscribe(); + }); + + let requestContentLength; + + try { + if ( + onUploadProgress && + supportsRequestStream && + method !== 'get' && + method !== 'head' && + (requestContentLength = await resolveBodyLength(headers, data)) !== 0 + ) { + let _request = new Request(url, { + method: 'POST', + body: data, + duplex: 'half', + }); + + let contentTypeHeader; + + if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) { + headers.setContentType(contentTypeHeader); + } + + if (_request.body) { + const [onProgress, flush] = progressEventDecorator( + requestContentLength, + progressEventReducer(asyncDecorator(onUploadProgress)) + ); + + data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush); + } + } + + if (!utils.isString(withCredentials)) { + withCredentials = withCredentials ? 'include' : 'omit'; + } + + // Cloudflare Workers throws when credentials are defined + // see https://github.com/cloudflare/workerd/issues/902 + const isCredentialsSupported = isRequestSupported && 'credentials' in Request.prototype; + + const resolvedOptions = { + ...fetchOptions, + signal: composedSignal, + method: method.toUpperCase(), + headers: headers.normalize().toJSON(), + body: data, + duplex: 'half', + credentials: isCredentialsSupported ? withCredentials : undefined, + }; + + request = isRequestSupported && new Request(url, resolvedOptions); + + let response = await (isRequestSupported + ? _fetch(request, fetchOptions) + : _fetch(url, resolvedOptions)); + + const isStreamResponse = + supportsResponseStream && (responseType === 'stream' || responseType === 'response'); + + if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) { + const options = {}; + + ['status', 'statusText', 'headers'].forEach((prop) => { + options[prop] = response[prop]; + }); + + const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length')); + + const [onProgress, flush] = + (onDownloadProgress && + progressEventDecorator( + responseContentLength, + progressEventReducer(asyncDecorator(onDownloadProgress), true) + )) || + []; + + response = new Response( + trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => { + flush && flush(); + unsubscribe && unsubscribe(); + }), + options + ); + } + + responseType = responseType || 'text'; + + let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text']( + response, + config + ); + + !isStreamResponse && unsubscribe && unsubscribe(); + + return await new Promise((resolve, reject) => { + settle(resolve, reject, { + data: responseData, + headers: AxiosHeaders.from(response.headers), + status: response.status, + statusText: response.statusText, + config, + request, + }); + }); + } catch (err) { + unsubscribe && unsubscribe(); + + if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) { + throw Object.assign( + new AxiosError( + 'Network Error', + AxiosError.ERR_NETWORK, + config, + request, + err && err.response + ), + { + cause: err.cause || err, + } + ); + } + + throw AxiosError.from(err, err && err.code, config, request, err && err.response); + } + }; +}; + +const seedCache = new Map(); + +export const getFetch = (config) => { + let env = (config && config.env) || {}; + const { fetch, Request, Response } = env; + const seeds = [Request, Response, fetch]; + + let len = seeds.length, + i = len, + seed, + target, + map = seedCache; + + while (i--) { + seed = seeds[i]; + target = map.get(seed); + + target === undefined && map.set(seed, (target = i ? new Map() : factory(env))); + + map = target; + } + + return target; +}; + +const adapter = getFetch(); + +export default adapter; diff --git a/dist/node_modules/axios/lib/adapters/http.js b/dist/node_modules/axios/lib/adapters/http.js new file mode 100755 index 00000000..8a434376 --- /dev/null +++ b/dist/node_modules/axios/lib/adapters/http.js @@ -0,0 +1,952 @@ +import utils from '../utils.js'; +import settle from '../core/settle.js'; +import buildFullPath from '../core/buildFullPath.js'; +import buildURL from '../helpers/buildURL.js'; +import { getProxyForUrl } from 'proxy-from-env'; +import http from 'http'; +import https from 'https'; +import http2 from 'http2'; +import util from 'util'; +import followRedirects from 'follow-redirects'; +import zlib from 'zlib'; +import { VERSION } from '../env/data.js'; +import transitionalDefaults from '../defaults/transitional.js'; +import AxiosError from '../core/AxiosError.js'; +import CanceledError from '../cancel/CanceledError.js'; +import platform from '../platform/index.js'; +import fromDataURI from '../helpers/fromDataURI.js'; +import stream from 'stream'; +import AxiosHeaders from '../core/AxiosHeaders.js'; +import AxiosTransformStream from '../helpers/AxiosTransformStream.js'; +import { EventEmitter } from 'events'; +import formDataToStream from '../helpers/formDataToStream.js'; +import readBlob from '../helpers/readBlob.js'; +import ZlibHeaderTransformStream from '../helpers/ZlibHeaderTransformStream.js'; +import callbackify from '../helpers/callbackify.js'; +import { + progressEventReducer, + progressEventDecorator, + asyncDecorator, +} from '../helpers/progressEventReducer.js'; +import estimateDataURLDecodedBytes from '../helpers/estimateDataURLDecodedBytes.js'; + +const zlibOptions = { + flush: zlib.constants.Z_SYNC_FLUSH, + finishFlush: zlib.constants.Z_SYNC_FLUSH, +}; + +const brotliOptions = { + flush: zlib.constants.BROTLI_OPERATION_FLUSH, + finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH, +}; + +const isBrotliSupported = utils.isFunction(zlib.createBrotliDecompress); + +const { http: httpFollow, https: httpsFollow } = followRedirects; + +const isHttps = /https:?/; + +const supportedProtocols = platform.protocols.map((protocol) => { + return protocol + ':'; +}); + +const flushOnFinish = (stream, [throttled, flush]) => { + stream.on('end', flush).on('error', flush); + + return throttled; +}; + +class Http2Sessions { + constructor() { + this.sessions = Object.create(null); + } + + getSession(authority, options) { + options = Object.assign( + { + sessionTimeout: 1000, + }, + options + ); + + let authoritySessions = this.sessions[authority]; + + if (authoritySessions) { + let len = authoritySessions.length; + + for (let i = 0; i < len; i++) { + const [sessionHandle, sessionOptions] = authoritySessions[i]; + if ( + !sessionHandle.destroyed && + !sessionHandle.closed && + util.isDeepStrictEqual(sessionOptions, options) + ) { + return sessionHandle; + } + } + } + + const session = http2.connect(authority, options); + + let removed; + + const removeSession = () => { + if (removed) { + return; + } + + removed = true; + + let entries = authoritySessions, + len = entries.length, + i = len; + + while (i--) { + if (entries[i][0] === session) { + if (len === 1) { + delete this.sessions[authority]; + } else { + entries.splice(i, 1); + } + if (!session.closed) { + session.close(); + } + return; + } + } + }; + + const originalRequestFn = session.request; + + const { sessionTimeout } = options; + + if (sessionTimeout != null) { + let timer; + let streamsCount = 0; + + session.request = function () { + const stream = originalRequestFn.apply(this, arguments); + + streamsCount++; + + if (timer) { + clearTimeout(timer); + timer = null; + } + + stream.once('close', () => { + if (!--streamsCount) { + timer = setTimeout(() => { + timer = null; + removeSession(); + }, sessionTimeout); + } + }); + + return stream; + }; + } + + session.once('close', removeSession); + + let entry = [session, options]; + + authoritySessions + ? authoritySessions.push(entry) + : (authoritySessions = this.sessions[authority] = [entry]); + + return session; + } +} + +const http2Sessions = new Http2Sessions(); + +/** + * If the proxy or config beforeRedirects functions are defined, call them with the options + * object. + * + * @param {Object} options - The options object that was passed to the request. + * + * @returns {Object} + */ +function dispatchBeforeRedirect(options, responseDetails) { + if (options.beforeRedirects.proxy) { + options.beforeRedirects.proxy(options); + } + if (options.beforeRedirects.config) { + options.beforeRedirects.config(options, responseDetails); + } +} + +/** + * If the proxy or config afterRedirects functions are defined, call them with the options + * + * @param {http.ClientRequestArgs} options + * @param {AxiosProxyConfig} configProxy configuration from Axios options object + * @param {string} location + * + * @returns {http.ClientRequestArgs} + */ +function setProxy(options, configProxy, location) { + let proxy = configProxy; + if (!proxy && proxy !== false) { + const proxyUrl = getProxyForUrl(location); + if (proxyUrl) { + proxy = new URL(proxyUrl); + } + } + if (proxy) { + // Basic proxy authorization + if (proxy.username) { + proxy.auth = (proxy.username || '') + ':' + (proxy.password || ''); + } + + if (proxy.auth) { + // Support proxy auth object form + const validProxyAuth = Boolean(proxy.auth.username || proxy.auth.password); + + if (validProxyAuth) { + proxy.auth = (proxy.auth.username || '') + ':' + (proxy.auth.password || ''); + } else if (typeof proxy.auth === 'object') { + throw new AxiosError('Invalid proxy authorization', AxiosError.ERR_BAD_OPTION, { proxy }); + } + + const base64 = Buffer.from(proxy.auth, 'utf8').toString('base64'); + + options.headers['Proxy-Authorization'] = 'Basic ' + base64; + } + + options.headers.host = options.hostname + (options.port ? ':' + options.port : ''); + const proxyHost = proxy.hostname || proxy.host; + options.hostname = proxyHost; + // Replace 'host' since options is not a URL object + options.host = proxyHost; + options.port = proxy.port; + options.path = location; + if (proxy.protocol) { + options.protocol = proxy.protocol.includes(':') ? proxy.protocol : `${proxy.protocol}:`; + } + } + + options.beforeRedirects.proxy = function beforeRedirect(redirectOptions) { + // Configure proxy for redirected request, passing the original config proxy to apply + // the exact same logic as if the redirected request was performed by axios directly. + setProxy(redirectOptions, configProxy, redirectOptions.href); + }; +} + +const isHttpAdapterSupported = + typeof process !== 'undefined' && utils.kindOf(process) === 'process'; + +// temporary hotfix + +const wrapAsync = (asyncExecutor) => { + return new Promise((resolve, reject) => { + let onDone; + let isDone; + + const done = (value, isRejected) => { + if (isDone) return; + isDone = true; + onDone && onDone(value, isRejected); + }; + + const _resolve = (value) => { + done(value); + resolve(value); + }; + + const _reject = (reason) => { + done(reason, true); + reject(reason); + }; + + asyncExecutor(_resolve, _reject, (onDoneHandler) => (onDone = onDoneHandler)).catch(_reject); + }); +}; + +const resolveFamily = ({ address, family }) => { + if (!utils.isString(address)) { + throw TypeError('address must be a string'); + } + return { + address, + family: family || (address.indexOf('.') < 0 ? 6 : 4), + }; +}; + +const buildAddressEntry = (address, family) => + resolveFamily(utils.isObject(address) ? address : { address, family }); + +const http2Transport = { + request(options, cb) { + const authority = + options.protocol + + '//' + + options.hostname + + ':' + + (options.port || (options.protocol === 'https:' ? 443 : 80)); + + const { http2Options, headers } = options; + + const session = http2Sessions.getSession(authority, http2Options); + + const { HTTP2_HEADER_SCHEME, HTTP2_HEADER_METHOD, HTTP2_HEADER_PATH, HTTP2_HEADER_STATUS } = + http2.constants; + + const http2Headers = { + [HTTP2_HEADER_SCHEME]: options.protocol.replace(':', ''), + [HTTP2_HEADER_METHOD]: options.method, + [HTTP2_HEADER_PATH]: options.path, + }; + + utils.forEach(headers, (header, name) => { + name.charAt(0) !== ':' && (http2Headers[name] = header); + }); + + const req = session.request(http2Headers); + + req.once('response', (responseHeaders) => { + const response = req; //duplex + + responseHeaders = Object.assign({}, responseHeaders); + + const status = responseHeaders[HTTP2_HEADER_STATUS]; + + delete responseHeaders[HTTP2_HEADER_STATUS]; + + response.headers = responseHeaders; + + response.statusCode = +status; + + cb(response); + }); + + return req; + }, +}; + +/*eslint consistent-return:0*/ +export default isHttpAdapterSupported && + function httpAdapter(config) { + return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) { + let { data, lookup, family, httpVersion = 1, http2Options } = config; + const { responseType, responseEncoding } = config; + const method = config.method.toUpperCase(); + let isDone; + let rejected = false; + let req; + + httpVersion = +httpVersion; + + if (Number.isNaN(httpVersion)) { + throw TypeError(`Invalid protocol version: '${config.httpVersion}' is not a number`); + } + + if (httpVersion !== 1 && httpVersion !== 2) { + throw TypeError(`Unsupported protocol version '${httpVersion}'`); + } + + const isHttp2 = httpVersion === 2; + + if (lookup) { + const _lookup = callbackify(lookup, (value) => (utils.isArray(value) ? value : [value])); + // hotfix to support opt.all option which is required for node 20.x + lookup = (hostname, opt, cb) => { + _lookup(hostname, opt, (err, arg0, arg1) => { + if (err) { + return cb(err); + } + + const addresses = utils.isArray(arg0) + ? arg0.map((addr) => buildAddressEntry(addr)) + : [buildAddressEntry(arg0, arg1)]; + + opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family); + }); + }; + } + + const abortEmitter = new EventEmitter(); + + function abort(reason) { + try { + abortEmitter.emit( + 'abort', + !reason || reason.type ? new CanceledError(null, config, req) : reason + ); + } catch (err) { + console.warn('emit error', err); + } + } + + abortEmitter.once('abort', reject); + + const onFinished = () => { + if (config.cancelToken) { + config.cancelToken.unsubscribe(abort); + } + + if (config.signal) { + config.signal.removeEventListener('abort', abort); + } + + abortEmitter.removeAllListeners(); + }; + + if (config.cancelToken || config.signal) { + config.cancelToken && config.cancelToken.subscribe(abort); + if (config.signal) { + config.signal.aborted ? abort() : config.signal.addEventListener('abort', abort); + } + } + + onDone((response, isRejected) => { + isDone = true; + + if (isRejected) { + rejected = true; + onFinished(); + return; + } + + const { data } = response; + + if (data instanceof stream.Readable || data instanceof stream.Duplex) { + const offListeners = stream.finished(data, () => { + offListeners(); + onFinished(); + }); + } else { + onFinished(); + } + }); + + // Parse url + const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls); + const parsed = new URL(fullPath, platform.hasBrowserEnv ? platform.origin : undefined); + const protocol = parsed.protocol || supportedProtocols[0]; + + if (protocol === 'data:') { + // Apply the same semantics as HTTP: only enforce if a finite, non-negative cap is set. + if (config.maxContentLength > -1) { + // Use the exact string passed to fromDataURI (config.url); fall back to fullPath if needed. + const dataUrl = String(config.url || fullPath || ''); + const estimated = estimateDataURLDecodedBytes(dataUrl); + + if (estimated > config.maxContentLength) { + return reject( + new AxiosError( + 'maxContentLength size of ' + config.maxContentLength + ' exceeded', + AxiosError.ERR_BAD_RESPONSE, + config + ) + ); + } + } + + let convertedData; + + if (method !== 'GET') { + return settle(resolve, reject, { + status: 405, + statusText: 'method not allowed', + headers: {}, + config, + }); + } + + try { + convertedData = fromDataURI(config.url, responseType === 'blob', { + Blob: config.env && config.env.Blob, + }); + } catch (err) { + throw AxiosError.from(err, AxiosError.ERR_BAD_REQUEST, config); + } + + if (responseType === 'text') { + convertedData = convertedData.toString(responseEncoding); + + if (!responseEncoding || responseEncoding === 'utf8') { + convertedData = utils.stripBOM(convertedData); + } + } else if (responseType === 'stream') { + convertedData = stream.Readable.from(convertedData); + } + + return settle(resolve, reject, { + data: convertedData, + status: 200, + statusText: 'OK', + headers: new AxiosHeaders(), + config, + }); + } + + if (supportedProtocols.indexOf(protocol) === -1) { + return reject( + new AxiosError('Unsupported protocol ' + protocol, AxiosError.ERR_BAD_REQUEST, config) + ); + } + + const headers = AxiosHeaders.from(config.headers).normalize(); + + // Set User-Agent (required by some servers) + // See https://github.com/axios/axios/issues/69 + // User-Agent is specified; handle case where no UA header is desired + // Only set header if it hasn't been set in config + headers.set('User-Agent', 'axios/' + VERSION, false); + + const { onUploadProgress, onDownloadProgress } = config; + const maxRate = config.maxRate; + let maxUploadRate = undefined; + let maxDownloadRate = undefined; + + // support for spec compliant FormData objects + if (utils.isSpecCompliantForm(data)) { + const userBoundary = headers.getContentType(/boundary=([-_\w\d]{10,70})/i); + + data = formDataToStream( + data, + (formHeaders) => { + headers.set(formHeaders); + }, + { + tag: `axios-${VERSION}-boundary`, + boundary: (userBoundary && userBoundary[1]) || undefined, + } + ); + // support for https://www.npmjs.com/package/form-data api + } else if (utils.isFormData(data) && utils.isFunction(data.getHeaders)) { + headers.set(data.getHeaders()); + + if (!headers.hasContentLength()) { + try { + const knownLength = await util.promisify(data.getLength).call(data); + Number.isFinite(knownLength) && + knownLength >= 0 && + headers.setContentLength(knownLength); + /*eslint no-empty:0*/ + } catch (e) {} + } + } else if (utils.isBlob(data) || utils.isFile(data)) { + data.size && headers.setContentType(data.type || 'application/octet-stream'); + headers.setContentLength(data.size || 0); + data = stream.Readable.from(readBlob(data)); + } else if (data && !utils.isStream(data)) { + if (Buffer.isBuffer(data)) { + // Nothing to do... + } else if (utils.isArrayBuffer(data)) { + data = Buffer.from(new Uint8Array(data)); + } else if (utils.isString(data)) { + data = Buffer.from(data, 'utf-8'); + } else { + return reject( + new AxiosError( + 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream', + AxiosError.ERR_BAD_REQUEST, + config + ) + ); + } + + // Add Content-Length header if data exists + headers.setContentLength(data.length, false); + + if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) { + return reject( + new AxiosError( + 'Request body larger than maxBodyLength limit', + AxiosError.ERR_BAD_REQUEST, + config + ) + ); + } + } + + const contentLength = utils.toFiniteNumber(headers.getContentLength()); + + if (utils.isArray(maxRate)) { + maxUploadRate = maxRate[0]; + maxDownloadRate = maxRate[1]; + } else { + maxUploadRate = maxDownloadRate = maxRate; + } + + if (data && (onUploadProgress || maxUploadRate)) { + if (!utils.isStream(data)) { + data = stream.Readable.from(data, { objectMode: false }); + } + + data = stream.pipeline( + [ + data, + new AxiosTransformStream({ + maxRate: utils.toFiniteNumber(maxUploadRate), + }), + ], + utils.noop + ); + + onUploadProgress && + data.on( + 'progress', + flushOnFinish( + data, + progressEventDecorator( + contentLength, + progressEventReducer(asyncDecorator(onUploadProgress), false, 3) + ) + ) + ); + } + + // HTTP basic authentication + let auth = undefined; + if (config.auth) { + const username = config.auth.username || ''; + const password = config.auth.password || ''; + auth = username + ':' + password; + } + + if (!auth && parsed.username) { + const urlUsername = parsed.username; + const urlPassword = parsed.password; + auth = urlUsername + ':' + urlPassword; + } + + auth && headers.delete('authorization'); + + let path; + + try { + path = buildURL( + parsed.pathname + parsed.search, + config.params, + config.paramsSerializer + ).replace(/^\?/, ''); + } catch (err) { + const customErr = new Error(err.message); + customErr.config = config; + customErr.url = config.url; + customErr.exists = true; + return reject(customErr); + } + + headers.set( + 'Accept-Encoding', + 'gzip, compress, deflate' + (isBrotliSupported ? ', br' : ''), + false + ); + + const options = { + path, + method: method, + headers: headers.toJSON(), + agents: { http: config.httpAgent, https: config.httpsAgent }, + auth, + protocol, + family, + beforeRedirect: dispatchBeforeRedirect, + beforeRedirects: {}, + http2Options, + }; + + // cacheable-lookup integration hotfix + !utils.isUndefined(lookup) && (options.lookup = lookup); + + if (config.socketPath) { + options.socketPath = config.socketPath; + } else { + options.hostname = parsed.hostname.startsWith('[') + ? parsed.hostname.slice(1, -1) + : parsed.hostname; + options.port = parsed.port; + setProxy( + options, + config.proxy, + protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path + ); + } + + let transport; + const isHttpsRequest = isHttps.test(options.protocol); + options.agent = isHttpsRequest ? config.httpsAgent : config.httpAgent; + + if (isHttp2) { + transport = http2Transport; + } else { + if (config.transport) { + transport = config.transport; + } else if (config.maxRedirects === 0) { + transport = isHttpsRequest ? https : http; + } else { + if (config.maxRedirects) { + options.maxRedirects = config.maxRedirects; + } + if (config.beforeRedirect) { + options.beforeRedirects.config = config.beforeRedirect; + } + transport = isHttpsRequest ? httpsFollow : httpFollow; + } + } + + if (config.maxBodyLength > -1) { + options.maxBodyLength = config.maxBodyLength; + } else { + // follow-redirects does not skip comparison, so it should always succeed for axios -1 unlimited + options.maxBodyLength = Infinity; + } + + if (config.insecureHTTPParser) { + options.insecureHTTPParser = config.insecureHTTPParser; + } + + // Create the request + req = transport.request(options, function handleResponse(res) { + if (req.destroyed) return; + + const streams = [res]; + + const responseLength = utils.toFiniteNumber(res.headers['content-length']); + + if (onDownloadProgress || maxDownloadRate) { + const transformStream = new AxiosTransformStream({ + maxRate: utils.toFiniteNumber(maxDownloadRate), + }); + + onDownloadProgress && + transformStream.on( + 'progress', + flushOnFinish( + transformStream, + progressEventDecorator( + responseLength, + progressEventReducer(asyncDecorator(onDownloadProgress), true, 3) + ) + ) + ); + + streams.push(transformStream); + } + + // decompress the response body transparently if required + let responseStream = res; + + // return the last request in case of redirects + const lastRequest = res.req || req; + + // if decompress disabled we should not decompress + if (config.decompress !== false && res.headers['content-encoding']) { + // if no content, but headers still say that it is encoded, + // remove the header not confuse downstream operations + if (method === 'HEAD' || res.statusCode === 204) { + delete res.headers['content-encoding']; + } + + switch ((res.headers['content-encoding'] || '').toLowerCase()) { + /*eslint default-case:0*/ + case 'gzip': + case 'x-gzip': + case 'compress': + case 'x-compress': + // add the unzipper to the body stream processing pipeline + streams.push(zlib.createUnzip(zlibOptions)); + + // remove the content-encoding in order to not confuse downstream operations + delete res.headers['content-encoding']; + break; + case 'deflate': + streams.push(new ZlibHeaderTransformStream()); + + // add the unzipper to the body stream processing pipeline + streams.push(zlib.createUnzip(zlibOptions)); + + // remove the content-encoding in order to not confuse downstream operations + delete res.headers['content-encoding']; + break; + case 'br': + if (isBrotliSupported) { + streams.push(zlib.createBrotliDecompress(brotliOptions)); + delete res.headers['content-encoding']; + } + } + } + + responseStream = streams.length > 1 ? stream.pipeline(streams, utils.noop) : streams[0]; + + const response = { + status: res.statusCode, + statusText: res.statusMessage, + headers: new AxiosHeaders(res.headers), + config, + request: lastRequest, + }; + + if (responseType === 'stream') { + response.data = responseStream; + settle(resolve, reject, response); + } else { + const responseBuffer = []; + let totalResponseBytes = 0; + + responseStream.on('data', function handleStreamData(chunk) { + responseBuffer.push(chunk); + totalResponseBytes += chunk.length; + + // make sure the content length is not over the maxContentLength if specified + if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) { + // stream.destroy() emit aborted event before calling reject() on Node.js v16 + rejected = true; + responseStream.destroy(); + abort( + new AxiosError( + 'maxContentLength size of ' + config.maxContentLength + ' exceeded', + AxiosError.ERR_BAD_RESPONSE, + config, + lastRequest + ) + ); + } + }); + + responseStream.on('aborted', function handlerStreamAborted() { + if (rejected) { + return; + } + + const err = new AxiosError( + 'stream has been aborted', + AxiosError.ERR_BAD_RESPONSE, + config, + lastRequest + ); + responseStream.destroy(err); + reject(err); + }); + + responseStream.on('error', function handleStreamError(err) { + if (req.destroyed) return; + reject(AxiosError.from(err, null, config, lastRequest)); + }); + + responseStream.on('end', function handleStreamEnd() { + try { + let responseData = + responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer); + if (responseType !== 'arraybuffer') { + responseData = responseData.toString(responseEncoding); + if (!responseEncoding || responseEncoding === 'utf8') { + responseData = utils.stripBOM(responseData); + } + } + response.data = responseData; + } catch (err) { + return reject(AxiosError.from(err, null, config, response.request, response)); + } + settle(resolve, reject, response); + }); + } + + abortEmitter.once('abort', (err) => { + if (!responseStream.destroyed) { + responseStream.emit('error', err); + responseStream.destroy(); + } + }); + }); + + abortEmitter.once('abort', (err) => { + if (req.close) { + req.close(); + } else { + req.destroy(err); + } + }); + + // Handle errors + req.on('error', function handleRequestError(err) { + reject(AxiosError.from(err, null, config, req)); + }); + + // set tcp keep alive to prevent drop connection by peer + req.on('socket', function handleRequestSocket(socket) { + // default interval of sending ack packet is 1 minute + socket.setKeepAlive(true, 1000 * 60); + }); + + // Handle request timeout + if (config.timeout) { + // This is forcing a int timeout to avoid problems if the `req` interface doesn't handle other types. + const timeout = parseInt(config.timeout, 10); + + if (Number.isNaN(timeout)) { + abort( + new AxiosError( + 'error trying to parse `config.timeout` to int', + AxiosError.ERR_BAD_OPTION_VALUE, + config, + req + ) + ); + + return; + } + + // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system. + // And timer callback will be fired, and abort() will be invoked before connection, then get "socket hang up" and code ECONNRESET. + // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up. + // And then these socket which be hang up will devouring CPU little by little. + // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect. + req.setTimeout(timeout, function handleRequestTimeout() { + if (isDone) return; + let timeoutErrorMessage = config.timeout + ? 'timeout of ' + config.timeout + 'ms exceeded' + : 'timeout exceeded'; + const transitional = config.transitional || transitionalDefaults; + if (config.timeoutErrorMessage) { + timeoutErrorMessage = config.timeoutErrorMessage; + } + abort( + new AxiosError( + timeoutErrorMessage, + transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, + config, + req + ) + ); + }); + } else { + // explicitly reset the socket timeout value for a possible `keep-alive` request + req.setTimeout(0); + } + + // Send the request + if (utils.isStream(data)) { + let ended = false; + let errored = false; + + data.on('end', () => { + ended = true; + }); + + data.once('error', (err) => { + errored = true; + req.destroy(err); + }); + + data.on('close', () => { + if (!ended && !errored) { + abort(new CanceledError('Request stream has been aborted', config, req)); + } + }); + + data.pipe(req); + } else { + data && req.write(data); + req.end(); + } + }); + }; + +export const __setProxy = setProxy; diff --git a/dist/node_modules/axios/lib/adapters/xhr.js b/dist/node_modules/axios/lib/adapters/xhr.js new file mode 100644 index 00000000..1d2c8375 --- /dev/null +++ b/dist/node_modules/axios/lib/adapters/xhr.js @@ -0,0 +1,222 @@ +import utils from '../utils.js'; +import settle from '../core/settle.js'; +import transitionalDefaults from '../defaults/transitional.js'; +import AxiosError from '../core/AxiosError.js'; +import CanceledError from '../cancel/CanceledError.js'; +import parseProtocol from '../helpers/parseProtocol.js'; +import platform from '../platform/index.js'; +import AxiosHeaders from '../core/AxiosHeaders.js'; +import { progressEventReducer } from '../helpers/progressEventReducer.js'; +import resolveConfig from '../helpers/resolveConfig.js'; + +const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; + +export default isXHRAdapterSupported && + function (config) { + return new Promise(function dispatchXhrRequest(resolve, reject) { + const _config = resolveConfig(config); + let requestData = _config.data; + const requestHeaders = AxiosHeaders.from(_config.headers).normalize(); + let { responseType, onUploadProgress, onDownloadProgress } = _config; + let onCanceled; + let uploadThrottled, downloadThrottled; + let flushUpload, flushDownload; + + function done() { + flushUpload && flushUpload(); // flush events + flushDownload && flushDownload(); // flush events + + _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled); + + _config.signal && _config.signal.removeEventListener('abort', onCanceled); + } + + let request = new XMLHttpRequest(); + + request.open(_config.method.toUpperCase(), _config.url, true); + + // Set the request timeout in MS + request.timeout = _config.timeout; + + function onloadend() { + if (!request) { + return; + } + // Prepare the response + const responseHeaders = AxiosHeaders.from( + 'getAllResponseHeaders' in request && request.getAllResponseHeaders() + ); + const responseData = + !responseType || responseType === 'text' || responseType === 'json' + ? request.responseText + : request.response; + const response = { + data: responseData, + status: request.status, + statusText: request.statusText, + headers: responseHeaders, + config, + request, + }; + + settle( + function _resolve(value) { + resolve(value); + done(); + }, + function _reject(err) { + reject(err); + done(); + }, + response + ); + + // Clean up request + request = null; + } + + if ('onloadend' in request) { + // Use onloadend if available + request.onloadend = onloadend; + } else { + // Listen for ready state to emulate onloadend + request.onreadystatechange = function handleLoad() { + if (!request || request.readyState !== 4) { + return; + } + + // The request errored out and we didn't get a response, this will be + // handled by onerror instead + // With one exception: request that using file: protocol, most browsers + // will return status as 0 even though it's a successful request + if ( + request.status === 0 && + !(request.responseURL && request.responseURL.indexOf('file:') === 0) + ) { + return; + } + // readystate handler is calling before onerror or ontimeout handlers, + // so we should call onloadend on the next 'tick' + setTimeout(onloadend); + }; + } + + // Handle browser request cancellation (as opposed to a manual cancellation) + request.onabort = function handleAbort() { + if (!request) { + return; + } + + reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request)); + + // Clean up request + request = null; + }; + + // Handle low level network errors + request.onerror = function handleError(event) { + // Browsers deliver a ProgressEvent in XHR onerror + // (message may be empty; when present, surface it) + // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event + const msg = event && event.message ? event.message : 'Network Error'; + const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request); + // attach the underlying event for consumers who want details + err.event = event || null; + reject(err); + request = null; + }; + + // Handle timeout + request.ontimeout = function handleTimeout() { + let timeoutErrorMessage = _config.timeout + ? 'timeout of ' + _config.timeout + 'ms exceeded' + : 'timeout exceeded'; + const transitional = _config.transitional || transitionalDefaults; + if (_config.timeoutErrorMessage) { + timeoutErrorMessage = _config.timeoutErrorMessage; + } + reject( + new AxiosError( + timeoutErrorMessage, + transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, + config, + request + ) + ); + + // Clean up request + request = null; + }; + + // Remove Content-Type if data is undefined + requestData === undefined && requestHeaders.setContentType(null); + + // Add headers to the request + if ('setRequestHeader' in request) { + utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { + request.setRequestHeader(key, val); + }); + } + + // Add withCredentials to request if needed + if (!utils.isUndefined(_config.withCredentials)) { + request.withCredentials = !!_config.withCredentials; + } + + // Add responseType to request if needed + if (responseType && responseType !== 'json') { + request.responseType = _config.responseType; + } + + // Handle progress if needed + if (onDownloadProgress) { + [downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true); + request.addEventListener('progress', downloadThrottled); + } + + // Not all browsers support upload events + if (onUploadProgress && request.upload) { + [uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress); + + request.upload.addEventListener('progress', uploadThrottled); + + request.upload.addEventListener('loadend', flushUpload); + } + + if (_config.cancelToken || _config.signal) { + // Handle cancellation + // eslint-disable-next-line func-names + onCanceled = (cancel) => { + if (!request) { + return; + } + reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel); + request.abort(); + request = null; + }; + + _config.cancelToken && _config.cancelToken.subscribe(onCanceled); + if (_config.signal) { + _config.signal.aborted + ? onCanceled() + : _config.signal.addEventListener('abort', onCanceled); + } + } + + const protocol = parseProtocol(_config.url); + + if (protocol && platform.protocols.indexOf(protocol) === -1) { + reject( + new AxiosError( + 'Unsupported protocol ' + protocol + ':', + AxiosError.ERR_BAD_REQUEST, + config + ) + ); + return; + } + + // Send the request + request.send(requestData || null); + }); + }; diff --git a/dist/node_modules/axios/lib/axios.js b/dist/node_modules/axios/lib/axios.js new file mode 100644 index 00000000..5a3a876c --- /dev/null +++ b/dist/node_modules/axios/lib/axios.js @@ -0,0 +1,89 @@ +'use strict'; + +import utils from './utils.js'; +import bind from './helpers/bind.js'; +import Axios from './core/Axios.js'; +import mergeConfig from './core/mergeConfig.js'; +import defaults from './defaults/index.js'; +import formDataToJSON from './helpers/formDataToJSON.js'; +import CanceledError from './cancel/CanceledError.js'; +import CancelToken from './cancel/CancelToken.js'; +import isCancel from './cancel/isCancel.js'; +import { VERSION } from './env/data.js'; +import toFormData from './helpers/toFormData.js'; +import AxiosError from './core/AxiosError.js'; +import spread from './helpers/spread.js'; +import isAxiosError from './helpers/isAxiosError.js'; +import AxiosHeaders from './core/AxiosHeaders.js'; +import adapters from './adapters/adapters.js'; +import HttpStatusCode from './helpers/HttpStatusCode.js'; + +/** + * Create an instance of Axios + * + * @param {Object} defaultConfig The default config for the instance + * + * @returns {Axios} A new instance of Axios + */ +function createInstance(defaultConfig) { + const context = new Axios(defaultConfig); + const instance = bind(Axios.prototype.request, context); + + // Copy axios.prototype to instance + utils.extend(instance, Axios.prototype, context, { allOwnKeys: true }); + + // Copy context to instance + utils.extend(instance, context, null, { allOwnKeys: true }); + + // Factory for creating new instances + instance.create = function create(instanceConfig) { + return createInstance(mergeConfig(defaultConfig, instanceConfig)); + }; + + return instance; +} + +// Create the default instance to be exported +const axios = createInstance(defaults); + +// Expose Axios class to allow class inheritance +axios.Axios = Axios; + +// Expose Cancel & CancelToken +axios.CanceledError = CanceledError; +axios.CancelToken = CancelToken; +axios.isCancel = isCancel; +axios.VERSION = VERSION; +axios.toFormData = toFormData; + +// Expose AxiosError class +axios.AxiosError = AxiosError; + +// alias for CanceledError for backward compatibility +axios.Cancel = axios.CanceledError; + +// Expose all/spread +axios.all = function all(promises) { + return Promise.all(promises); +}; + +axios.spread = spread; + +// Expose isAxiosError +axios.isAxiosError = isAxiosError; + +// Expose mergeConfig +axios.mergeConfig = mergeConfig; + +axios.AxiosHeaders = AxiosHeaders; + +axios.formToJSON = (thing) => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing); + +axios.getAdapter = adapters.getAdapter; + +axios.HttpStatusCode = HttpStatusCode; + +axios.default = axios; + +// this module should only have a default export +export default axios; diff --git a/dist/node_modules/axios/lib/cancel/CancelToken.js b/dist/node_modules/axios/lib/cancel/CancelToken.js new file mode 100644 index 00000000..357381ed --- /dev/null +++ b/dist/node_modules/axios/lib/cancel/CancelToken.js @@ -0,0 +1,135 @@ +'use strict'; + +import CanceledError from './CanceledError.js'; + +/** + * A `CancelToken` is an object that can be used to request cancellation of an operation. + * + * @param {Function} executor The executor function. + * + * @returns {CancelToken} + */ +class CancelToken { + constructor(executor) { + if (typeof executor !== 'function') { + throw new TypeError('executor must be a function.'); + } + + let resolvePromise; + + this.promise = new Promise(function promiseExecutor(resolve) { + resolvePromise = resolve; + }); + + const token = this; + + // eslint-disable-next-line func-names + this.promise.then((cancel) => { + if (!token._listeners) return; + + let i = token._listeners.length; + + while (i-- > 0) { + token._listeners[i](cancel); + } + token._listeners = null; + }); + + // eslint-disable-next-line func-names + this.promise.then = (onfulfilled) => { + let _resolve; + // eslint-disable-next-line func-names + const promise = new Promise((resolve) => { + token.subscribe(resolve); + _resolve = resolve; + }).then(onfulfilled); + + promise.cancel = function reject() { + token.unsubscribe(_resolve); + }; + + return promise; + }; + + executor(function cancel(message, config, request) { + if (token.reason) { + // Cancellation has already been requested + return; + } + + token.reason = new CanceledError(message, config, request); + resolvePromise(token.reason); + }); + } + + /** + * Throws a `CanceledError` if cancellation has been requested. + */ + throwIfRequested() { + if (this.reason) { + throw this.reason; + } + } + + /** + * Subscribe to the cancel signal + */ + + subscribe(listener) { + if (this.reason) { + listener(this.reason); + return; + } + + if (this._listeners) { + this._listeners.push(listener); + } else { + this._listeners = [listener]; + } + } + + /** + * Unsubscribe from the cancel signal + */ + + unsubscribe(listener) { + if (!this._listeners) { + return; + } + const index = this._listeners.indexOf(listener); + if (index !== -1) { + this._listeners.splice(index, 1); + } + } + + toAbortSignal() { + const controller = new AbortController(); + + const abort = (err) => { + controller.abort(err); + }; + + this.subscribe(abort); + + controller.signal.unsubscribe = () => this.unsubscribe(abort); + + return controller.signal; + } + + /** + * Returns an object that contains a new `CancelToken` and a function that, when called, + * cancels the `CancelToken`. + */ + static source() { + let cancel; + const token = new CancelToken(function executor(c) { + cancel = c; + }); + return { + token, + cancel, + }; + } +} + +export default CancelToken; diff --git a/dist/node_modules/axios/lib/cancel/CanceledError.js b/dist/node_modules/axios/lib/cancel/CanceledError.js new file mode 100644 index 00000000..e769b89a --- /dev/null +++ b/dist/node_modules/axios/lib/cancel/CanceledError.js @@ -0,0 +1,22 @@ +'use strict'; + +import AxiosError from '../core/AxiosError.js'; + +class CanceledError extends AxiosError { + /** + * A `CanceledError` is an object that is thrown when an operation is canceled. + * + * @param {string=} message The message. + * @param {Object=} config The config. + * @param {Object=} request The request. + * + * @returns {CanceledError} The created error. + */ + constructor(message, config, request) { + super(message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request); + this.name = 'CanceledError'; + this.__CANCEL__ = true; + } +} + +export default CanceledError; diff --git a/dist/node_modules/axios/lib/cancel/isCancel.js b/dist/node_modules/axios/lib/cancel/isCancel.js new file mode 100644 index 00000000..a444a129 --- /dev/null +++ b/dist/node_modules/axios/lib/cancel/isCancel.js @@ -0,0 +1,5 @@ +'use strict'; + +export default function isCancel(value) { + return !!(value && value.__CANCEL__); +} diff --git a/dist/node_modules/axios/lib/core/Axios.js b/dist/node_modules/axios/lib/core/Axios.js new file mode 100644 index 00000000..6ac52f15 --- /dev/null +++ b/dist/node_modules/axios/lib/core/Axios.js @@ -0,0 +1,261 @@ +'use strict'; + +import utils from '../utils.js'; +import buildURL from '../helpers/buildURL.js'; +import InterceptorManager from './InterceptorManager.js'; +import dispatchRequest from './dispatchRequest.js'; +import mergeConfig from './mergeConfig.js'; +import buildFullPath from './buildFullPath.js'; +import validator from '../helpers/validator.js'; +import AxiosHeaders from './AxiosHeaders.js'; +import transitionalDefaults from '../defaults/transitional.js'; + +const validators = validator.validators; + +/** + * Create a new instance of Axios + * + * @param {Object} instanceConfig The default config for the instance + * + * @return {Axios} A new instance of Axios + */ +class Axios { + constructor(instanceConfig) { + this.defaults = instanceConfig || {}; + this.interceptors = { + request: new InterceptorManager(), + response: new InterceptorManager(), + }; + } + + /** + * Dispatch a request + * + * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) + * @param {?Object} config + * + * @returns {Promise} The Promise to be fulfilled + */ + async request(configOrUrl, config) { + try { + return await this._request(configOrUrl, config); + } catch (err) { + if (err instanceof Error) { + let dummy = {}; + + Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error()); + + // slice off the Error: ... line + const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, '') : ''; + try { + if (!err.stack) { + err.stack = stack; + // match without the 2 top stack lines + } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ''))) { + err.stack += '\n' + stack; + } + } catch (e) { + // ignore the case where "stack" is an un-writable property + } + } + + throw err; + } + } + + _request(configOrUrl, config) { + /*eslint no-param-reassign:0*/ + // Allow for axios('example/url'[, config]) a la fetch API + if (typeof configOrUrl === 'string') { + config = config || {}; + config.url = configOrUrl; + } else { + config = configOrUrl || {}; + } + + config = mergeConfig(this.defaults, config); + + const { transitional, paramsSerializer, headers } = config; + + if (transitional !== undefined) { + validator.assertOptions( + transitional, + { + silentJSONParsing: validators.transitional(validators.boolean), + forcedJSONParsing: validators.transitional(validators.boolean), + clarifyTimeoutError: validators.transitional(validators.boolean), + legacyInterceptorReqResOrdering: validators.transitional(validators.boolean), + }, + false + ); + } + + if (paramsSerializer != null) { + if (utils.isFunction(paramsSerializer)) { + config.paramsSerializer = { + serialize: paramsSerializer, + }; + } else { + validator.assertOptions( + paramsSerializer, + { + encode: validators.function, + serialize: validators.function, + }, + true + ); + } + } + + // Set config.allowAbsoluteUrls + if (config.allowAbsoluteUrls !== undefined) { + // do nothing + } else if (this.defaults.allowAbsoluteUrls !== undefined) { + config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls; + } else { + config.allowAbsoluteUrls = true; + } + + validator.assertOptions( + config, + { + baseUrl: validators.spelling('baseURL'), + withXsrfToken: validators.spelling('withXSRFToken'), + }, + true + ); + + // Set config.method + config.method = (config.method || this.defaults.method || 'get').toLowerCase(); + + // Flatten headers + let contextHeaders = headers && utils.merge(headers.common, headers[config.method]); + + headers && + utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], (method) => { + delete headers[method]; + }); + + config.headers = AxiosHeaders.concat(contextHeaders, headers); + + // filter out skipped interceptors + const requestInterceptorChain = []; + let synchronousRequestInterceptors = true; + this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { + if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { + return; + } + + synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; + + const transitional = config.transitional || transitionalDefaults; + const legacyInterceptorReqResOrdering = + transitional && transitional.legacyInterceptorReqResOrdering; + + if (legacyInterceptorReqResOrdering) { + requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); + } else { + requestInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); + } + }); + + const responseInterceptorChain = []; + this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { + responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); + }); + + let promise; + let i = 0; + let len; + + if (!synchronousRequestInterceptors) { + const chain = [dispatchRequest.bind(this), undefined]; + chain.unshift(...requestInterceptorChain); + chain.push(...responseInterceptorChain); + len = chain.length; + + promise = Promise.resolve(config); + + while (i < len) { + promise = promise.then(chain[i++], chain[i++]); + } + + return promise; + } + + len = requestInterceptorChain.length; + + let newConfig = config; + + while (i < len) { + const onFulfilled = requestInterceptorChain[i++]; + const onRejected = requestInterceptorChain[i++]; + try { + newConfig = onFulfilled(newConfig); + } catch (error) { + onRejected.call(this, error); + break; + } + } + + try { + promise = dispatchRequest.call(this, newConfig); + } catch (error) { + return Promise.reject(error); + } + + i = 0; + len = responseInterceptorChain.length; + + while (i < len) { + promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); + } + + return promise; + } + + getUri(config) { + config = mergeConfig(this.defaults, config); + const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls); + return buildURL(fullPath, config.params, config.paramsSerializer); + } +} + +// Provide aliases for supported request methods +utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function (url, config) { + return this.request( + mergeConfig(config || {}, { + method, + url, + data: (config || {}).data, + }) + ); + }; +}); + +utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + function generateHTTPMethod(isForm) { + return function httpMethod(url, data, config) { + return this.request( + mergeConfig(config || {}, { + method, + headers: isForm + ? { + 'Content-Type': 'multipart/form-data', + } + : {}, + url, + data, + }) + ); + }; + } + + Axios.prototype[method] = generateHTTPMethod(); + + Axios.prototype[method + 'Form'] = generateHTTPMethod(true); +}); + +export default Axios; diff --git a/dist/node_modules/axios/lib/core/AxiosError.js b/dist/node_modules/axios/lib/core/AxiosError.js new file mode 100644 index 00000000..f28b8861 --- /dev/null +++ b/dist/node_modules/axios/lib/core/AxiosError.js @@ -0,0 +1,90 @@ +'use strict'; + +import utils from '../utils.js'; + +class AxiosError extends Error { + static from(error, code, config, request, response, customProps) { + const axiosError = new AxiosError(error.message, code || error.code, config, request, response); + axiosError.cause = error; + axiosError.name = error.name; + + // Preserve status from the original error if not already set from response + if (error.status != null && axiosError.status == null) { + axiosError.status = error.status; + } + + customProps && Object.assign(axiosError, customProps); + return axiosError; + } + + /** + * Create an Error with the specified message, config, error code, request and response. + * + * @param {string} message The error message. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [config] The config. + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * + * @returns {Error} The created error. + */ + constructor(message, code, config, request, response) { + super(message); + + // Make message enumerable to maintain backward compatibility + // The native Error constructor sets message as non-enumerable, + // but axios < v1.13.3 had it as enumerable + Object.defineProperty(this, 'message', { + value: message, + enumerable: true, + writable: true, + configurable: true + }); + + this.name = 'AxiosError'; + this.isAxiosError = true; + code && (this.code = code); + config && (this.config = config); + request && (this.request = request); + if (response) { + this.response = response; + this.status = response.status; + } + } + + toJSON() { + return { + // Standard + message: this.message, + name: this.name, + // Microsoft + description: this.description, + number: this.number, + // Mozilla + fileName: this.fileName, + lineNumber: this.lineNumber, + columnNumber: this.columnNumber, + stack: this.stack, + // Axios + config: utils.toJSONObject(this.config), + code: this.code, + status: this.status, + }; + } +} + +// This can be changed to static properties as soon as the parser options in .eslint.cjs are updated. +AxiosError.ERR_BAD_OPTION_VALUE = 'ERR_BAD_OPTION_VALUE'; +AxiosError.ERR_BAD_OPTION = 'ERR_BAD_OPTION'; +AxiosError.ECONNABORTED = 'ECONNABORTED'; +AxiosError.ETIMEDOUT = 'ETIMEDOUT'; +AxiosError.ERR_NETWORK = 'ERR_NETWORK'; +AxiosError.ERR_FR_TOO_MANY_REDIRECTS = 'ERR_FR_TOO_MANY_REDIRECTS'; +AxiosError.ERR_DEPRECATED = 'ERR_DEPRECATED'; +AxiosError.ERR_BAD_RESPONSE = 'ERR_BAD_RESPONSE'; +AxiosError.ERR_BAD_REQUEST = 'ERR_BAD_REQUEST'; +AxiosError.ERR_CANCELED = 'ERR_CANCELED'; +AxiosError.ERR_NOT_SUPPORT = 'ERR_NOT_SUPPORT'; +AxiosError.ERR_INVALID_URL = 'ERR_INVALID_URL'; + +export default AxiosError; diff --git a/dist/node_modules/axios/lib/core/AxiosHeaders.js b/dist/node_modules/axios/lib/core/AxiosHeaders.js new file mode 100644 index 00000000..38a26a40 --- /dev/null +++ b/dist/node_modules/axios/lib/core/AxiosHeaders.js @@ -0,0 +1,346 @@ +'use strict'; + +import utils from '../utils.js'; +import parseHeaders from '../helpers/parseHeaders.js'; + +const $internals = Symbol('internals'); + +function normalizeHeader(header) { + return header && String(header).trim().toLowerCase(); +} + +function normalizeValue(value) { + if (value === false || value == null) { + return value; + } + + return utils.isArray(value) + ? value.map(normalizeValue) + : String(value).replace(/[\r\n]+$/, ''); +} + +function parseTokens(str) { + const tokens = Object.create(null); + const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; + let match; + + while ((match = tokensRE.exec(str))) { + tokens[match[1]] = match[2]; + } + + return tokens; +} + +const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); + +function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) { + if (utils.isFunction(filter)) { + return filter.call(this, value, header); + } + + if (isHeaderNameFilter) { + value = header; + } + + if (!utils.isString(value)) return; + + if (utils.isString(filter)) { + return value.indexOf(filter) !== -1; + } + + if (utils.isRegExp(filter)) { + return filter.test(value); + } +} + +function formatHeader(header) { + return header + .trim() + .toLowerCase() + .replace(/([a-z\d])(\w*)/g, (w, char, str) => { + return char.toUpperCase() + str; + }); +} + +function buildAccessors(obj, header) { + const accessorName = utils.toCamelCase(' ' + header); + + ['get', 'set', 'has'].forEach((methodName) => { + Object.defineProperty(obj, methodName + accessorName, { + value: function (arg1, arg2, arg3) { + return this[methodName].call(this, header, arg1, arg2, arg3); + }, + configurable: true, + }); + }); +} + +class AxiosHeaders { + constructor(headers) { + headers && this.set(headers); + } + + set(header, valueOrRewrite, rewrite) { + const self = this; + + function setHeader(_value, _header, _rewrite) { + const lHeader = normalizeHeader(_header); + + if (!lHeader) { + throw new Error('header name must be a non-empty string'); + } + + const key = utils.findKey(self, lHeader); + + if ( + !key || + self[key] === undefined || + _rewrite === true || + (_rewrite === undefined && self[key] !== false) + ) { + self[key || _header] = normalizeValue(_value); + } + } + + const setHeaders = (headers, _rewrite) => + utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite)); + + if (utils.isPlainObject(header) || header instanceof this.constructor) { + setHeaders(header, valueOrRewrite); + } else if (utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { + setHeaders(parseHeaders(header), valueOrRewrite); + } else if (utils.isObject(header) && utils.isIterable(header)) { + let obj = {}, + dest, + key; + for (const entry of header) { + if (!utils.isArray(entry)) { + throw TypeError('Object iterator must return a key-value pair'); + } + + obj[(key = entry[0])] = (dest = obj[key]) + ? utils.isArray(dest) + ? [...dest, entry[1]] + : [dest, entry[1]] + : entry[1]; + } + + setHeaders(obj, valueOrRewrite); + } else { + header != null && setHeader(valueOrRewrite, header, rewrite); + } + + return this; + } + + get(header, parser) { + header = normalizeHeader(header); + + if (header) { + const key = utils.findKey(this, header); + + if (key) { + const value = this[key]; + + if (!parser) { + return value; + } + + if (parser === true) { + return parseTokens(value); + } + + if (utils.isFunction(parser)) { + return parser.call(this, value, key); + } + + if (utils.isRegExp(parser)) { + return parser.exec(value); + } + + throw new TypeError('parser must be boolean|regexp|function'); + } + } + } + + has(header, matcher) { + header = normalizeHeader(header); + + if (header) { + const key = utils.findKey(this, header); + + return !!( + key && + this[key] !== undefined && + (!matcher || matchHeaderValue(this, this[key], key, matcher)) + ); + } + + return false; + } + + delete(header, matcher) { + const self = this; + let deleted = false; + + function deleteHeader(_header) { + _header = normalizeHeader(_header); + + if (_header) { + const key = utils.findKey(self, _header); + + if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) { + delete self[key]; + + deleted = true; + } + } + } + + if (utils.isArray(header)) { + header.forEach(deleteHeader); + } else { + deleteHeader(header); + } + + return deleted; + } + + clear(matcher) { + const keys = Object.keys(this); + let i = keys.length; + let deleted = false; + + while (i--) { + const key = keys[i]; + if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { + delete this[key]; + deleted = true; + } + } + + return deleted; + } + + normalize(format) { + const self = this; + const headers = {}; + + utils.forEach(this, (value, header) => { + const key = utils.findKey(headers, header); + + if (key) { + self[key] = normalizeValue(value); + delete self[header]; + return; + } + + const normalized = format ? formatHeader(header) : String(header).trim(); + + if (normalized !== header) { + delete self[header]; + } + + self[normalized] = normalizeValue(value); + + headers[normalized] = true; + }); + + return this; + } + + concat(...targets) { + return this.constructor.concat(this, ...targets); + } + + toJSON(asStrings) { + const obj = Object.create(null); + + utils.forEach(this, (value, header) => { + value != null && + value !== false && + (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value); + }); + + return obj; + } + + [Symbol.iterator]() { + return Object.entries(this.toJSON())[Symbol.iterator](); + } + + toString() { + return Object.entries(this.toJSON()) + .map(([header, value]) => header + ': ' + value) + .join('\n'); + } + + getSetCookie() { + return this.get('set-cookie') || []; + } + + get [Symbol.toStringTag]() { + return 'AxiosHeaders'; + } + + static from(thing) { + return thing instanceof this ? thing : new this(thing); + } + + static concat(first, ...targets) { + const computed = new this(first); + + targets.forEach((target) => computed.set(target)); + + return computed; + } + + static accessor(header) { + const internals = + (this[$internals] = + this[$internals] = + { + accessors: {}, + }); + + const accessors = internals.accessors; + const prototype = this.prototype; + + function defineAccessor(_header) { + const lHeader = normalizeHeader(_header); + + if (!accessors[lHeader]) { + buildAccessors(prototype, _header); + accessors[lHeader] = true; + } + } + + utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); + + return this; + } +} + +AxiosHeaders.accessor([ + 'Content-Type', + 'Content-Length', + 'Accept', + 'Accept-Encoding', + 'User-Agent', + 'Authorization', +]); + +// reserved names hotfix +utils.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key) => { + let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set` + return { + get: () => value, + set(headerValue) { + this[mapped] = headerValue; + }, + }; +}); + +utils.freezeMethods(AxiosHeaders); + +export default AxiosHeaders; diff --git a/dist/node_modules/axios/lib/core/InterceptorManager.js b/dist/node_modules/axios/lib/core/InterceptorManager.js new file mode 100644 index 00000000..fe10f3d7 --- /dev/null +++ b/dist/node_modules/axios/lib/core/InterceptorManager.js @@ -0,0 +1,72 @@ +'use strict'; + +import utils from '../utils.js'; + +class InterceptorManager { + constructor() { + this.handlers = []; + } + + /** + * Add a new interceptor to the stack + * + * @param {Function} fulfilled The function to handle `then` for a `Promise` + * @param {Function} rejected The function to handle `reject` for a `Promise` + * @param {Object} options The options for the interceptor, synchronous and runWhen + * + * @return {Number} An ID used to remove interceptor later + */ + use(fulfilled, rejected, options) { + this.handlers.push({ + fulfilled, + rejected, + synchronous: options ? options.synchronous : false, + runWhen: options ? options.runWhen : null, + }); + return this.handlers.length - 1; + } + + /** + * Remove an interceptor from the stack + * + * @param {Number} id The ID that was returned by `use` + * + * @returns {void} + */ + eject(id) { + if (this.handlers[id]) { + this.handlers[id] = null; + } + } + + /** + * Clear all interceptors from the stack + * + * @returns {void} + */ + clear() { + if (this.handlers) { + this.handlers = []; + } + } + + /** + * Iterate over all the registered interceptors + * + * This method is particularly useful for skipping over any + * interceptors that may have become `null` calling `eject`. + * + * @param {Function} fn The function to call for each interceptor + * + * @returns {void} + */ + forEach(fn) { + utils.forEach(this.handlers, function forEachHandler(h) { + if (h !== null) { + fn(h); + } + }); + } +} + +export default InterceptorManager; diff --git a/dist/node_modules/axios/lib/core/README.md b/dist/node_modules/axios/lib/core/README.md new file mode 100644 index 00000000..84559ce7 --- /dev/null +++ b/dist/node_modules/axios/lib/core/README.md @@ -0,0 +1,8 @@ +# axios // core + +The modules found in `core/` should be modules that are specific to the domain logic of axios. These modules would most likely not make sense to be consumed outside of the axios module, as their logic is too specific. Some examples of core modules are: + +- Dispatching requests + - Requests sent via `adapters/` (see lib/adapters/README.md) +- Managing interceptors +- Handling config diff --git a/dist/node_modules/axios/lib/core/buildFullPath.js b/dist/node_modules/axios/lib/core/buildFullPath.js new file mode 100644 index 00000000..3050bd64 --- /dev/null +++ b/dist/node_modules/axios/lib/core/buildFullPath.js @@ -0,0 +1,22 @@ +'use strict'; + +import isAbsoluteURL from '../helpers/isAbsoluteURL.js'; +import combineURLs from '../helpers/combineURLs.js'; + +/** + * Creates a new URL by combining the baseURL with the requestedURL, + * only when the requestedURL is not already an absolute URL. + * If the requestURL is absolute, this function returns the requestedURL untouched. + * + * @param {string} baseURL The base URL + * @param {string} requestedURL Absolute or relative URL to combine + * + * @returns {string} The combined full path + */ +export default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) { + let isRelativeUrl = !isAbsoluteURL(requestedURL); + if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) { + return combineURLs(baseURL, requestedURL); + } + return requestedURL; +} diff --git a/dist/node_modules/axios/lib/core/dispatchRequest.js b/dist/node_modules/axios/lib/core/dispatchRequest.js new file mode 100644 index 00000000..2015b549 --- /dev/null +++ b/dist/node_modules/axios/lib/core/dispatchRequest.js @@ -0,0 +1,77 @@ +'use strict'; + +import transformData from './transformData.js'; +import isCancel from '../cancel/isCancel.js'; +import defaults from '../defaults/index.js'; +import CanceledError from '../cancel/CanceledError.js'; +import AxiosHeaders from '../core/AxiosHeaders.js'; +import adapters from '../adapters/adapters.js'; + +/** + * Throws a `CanceledError` if cancellation has been requested. + * + * @param {Object} config The config that is to be used for the request + * + * @returns {void} + */ +function throwIfCancellationRequested(config) { + if (config.cancelToken) { + config.cancelToken.throwIfRequested(); + } + + if (config.signal && config.signal.aborted) { + throw new CanceledError(null, config); + } +} + +/** + * Dispatch a request to the server using the configured adapter. + * + * @param {object} config The config that is to be used for the request + * + * @returns {Promise} The Promise to be fulfilled + */ +export default function dispatchRequest(config) { + throwIfCancellationRequested(config); + + config.headers = AxiosHeaders.from(config.headers); + + // Transform request data + config.data = transformData.call(config, config.transformRequest); + + if (['post', 'put', 'patch'].indexOf(config.method) !== -1) { + config.headers.setContentType('application/x-www-form-urlencoded', false); + } + + const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config); + + return adapter(config).then( + function onAdapterResolution(response) { + throwIfCancellationRequested(config); + + // Transform response data + response.data = transformData.call(config, config.transformResponse, response); + + response.headers = AxiosHeaders.from(response.headers); + + return response; + }, + function onAdapterRejection(reason) { + if (!isCancel(reason)) { + throwIfCancellationRequested(config); + + // Transform response data + if (reason && reason.response) { + reason.response.data = transformData.call( + config, + config.transformResponse, + reason.response + ); + reason.response.headers = AxiosHeaders.from(reason.response.headers); + } + } + + return Promise.reject(reason); + } + ); +} diff --git a/dist/node_modules/axios/lib/core/mergeConfig.js b/dist/node_modules/axios/lib/core/mergeConfig.js new file mode 100644 index 00000000..38ac341f --- /dev/null +++ b/dist/node_modules/axios/lib/core/mergeConfig.js @@ -0,0 +1,107 @@ +'use strict'; + +import utils from '../utils.js'; +import AxiosHeaders from './AxiosHeaders.js'; + +const headersToObject = (thing) => (thing instanceof AxiosHeaders ? { ...thing } : thing); + +/** + * Config-specific merge-function which creates a new config-object + * by merging two configuration objects together. + * + * @param {Object} config1 + * @param {Object} config2 + * + * @returns {Object} New object resulting from merging config2 to config1 + */ +export default function mergeConfig(config1, config2) { + // eslint-disable-next-line no-param-reassign + config2 = config2 || {}; + const config = {}; + + function getMergedValue(target, source, prop, caseless) { + if (utils.isPlainObject(target) && utils.isPlainObject(source)) { + return utils.merge.call({ caseless }, target, source); + } else if (utils.isPlainObject(source)) { + return utils.merge({}, source); + } else if (utils.isArray(source)) { + return source.slice(); + } + return source; + } + + function mergeDeepProperties(a, b, prop, caseless) { + if (!utils.isUndefined(b)) { + return getMergedValue(a, b, prop, caseless); + } else if (!utils.isUndefined(a)) { + return getMergedValue(undefined, a, prop, caseless); + } + } + + // eslint-disable-next-line consistent-return + function valueFromConfig2(a, b) { + if (!utils.isUndefined(b)) { + return getMergedValue(undefined, b); + } + } + + // eslint-disable-next-line consistent-return + function defaultToConfig2(a, b) { + if (!utils.isUndefined(b)) { + return getMergedValue(undefined, b); + } else if (!utils.isUndefined(a)) { + return getMergedValue(undefined, a); + } + } + + // eslint-disable-next-line consistent-return + function mergeDirectKeys(a, b, prop) { + if (prop in config2) { + return getMergedValue(a, b); + } else if (prop in config1) { + return getMergedValue(undefined, a); + } + } + + const mergeMap = { + url: valueFromConfig2, + method: valueFromConfig2, + data: valueFromConfig2, + baseURL: defaultToConfig2, + transformRequest: defaultToConfig2, + transformResponse: defaultToConfig2, + paramsSerializer: defaultToConfig2, + timeout: defaultToConfig2, + timeoutMessage: defaultToConfig2, + withCredentials: defaultToConfig2, + withXSRFToken: defaultToConfig2, + adapter: defaultToConfig2, + responseType: defaultToConfig2, + xsrfCookieName: defaultToConfig2, + xsrfHeaderName: defaultToConfig2, + onUploadProgress: defaultToConfig2, + onDownloadProgress: defaultToConfig2, + decompress: defaultToConfig2, + maxContentLength: defaultToConfig2, + maxBodyLength: defaultToConfig2, + beforeRedirect: defaultToConfig2, + transport: defaultToConfig2, + httpAgent: defaultToConfig2, + httpsAgent: defaultToConfig2, + cancelToken: defaultToConfig2, + socketPath: defaultToConfig2, + responseEncoding: defaultToConfig2, + validateStatus: mergeDirectKeys, + headers: (a, b, prop) => + mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true), + }; + + utils.forEach(Object.keys({ ...config1, ...config2 }), function computeConfigValue(prop) { + if (prop === '__proto__' || prop === 'constructor' || prop === 'prototype') return; + const merge = utils.hasOwnProp(mergeMap, prop) ? mergeMap[prop] : mergeDeepProperties; + const configValue = merge(config1[prop], config2[prop], prop); + (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue); + }); + + return config; +} diff --git a/dist/node_modules/axios/lib/core/settle.js b/dist/node_modules/axios/lib/core/settle.js new file mode 100644 index 00000000..8629ad05 --- /dev/null +++ b/dist/node_modules/axios/lib/core/settle.js @@ -0,0 +1,31 @@ +'use strict'; + +import AxiosError from './AxiosError.js'; + +/** + * Resolve or reject a Promise based on response status. + * + * @param {Function} resolve A function that resolves the promise. + * @param {Function} reject A function that rejects the promise. + * @param {object} response The response. + * + * @returns {object} The response. + */ +export default function settle(resolve, reject, response) { + const validateStatus = response.config.validateStatus; + if (!response.status || !validateStatus || validateStatus(response.status)) { + resolve(response); + } else { + reject( + new AxiosError( + 'Request failed with status code ' + response.status, + [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][ + Math.floor(response.status / 100) - 4 + ], + response.config, + response.request, + response + ) + ); + } +} diff --git a/dist/node_modules/axios/lib/core/transformData.js b/dist/node_modules/axios/lib/core/transformData.js new file mode 100644 index 00000000..f22c4743 --- /dev/null +++ b/dist/node_modules/axios/lib/core/transformData.js @@ -0,0 +1,28 @@ +'use strict'; + +import utils from '../utils.js'; +import defaults from '../defaults/index.js'; +import AxiosHeaders from '../core/AxiosHeaders.js'; + +/** + * Transform the data for a request or a response + * + * @param {Array|Function} fns A single function or Array of functions + * @param {?Object} response The response object + * + * @returns {*} The resulting transformed data + */ +export default function transformData(fns, response) { + const config = this || defaults; + const context = response || config; + const headers = AxiosHeaders.from(context.headers); + let data = context.data; + + utils.forEach(fns, function transform(fn) { + data = fn.call(config, data, headers.normalize(), response ? response.status : undefined); + }); + + headers.normalize(); + + return data; +} diff --git a/dist/node_modules/axios/lib/defaults/index.js b/dist/node_modules/axios/lib/defaults/index.js new file mode 100644 index 00000000..b83c2c0b --- /dev/null +++ b/dist/node_modules/axios/lib/defaults/index.js @@ -0,0 +1,172 @@ +'use strict'; + +import utils from '../utils.js'; +import AxiosError from '../core/AxiosError.js'; +import transitionalDefaults from './transitional.js'; +import toFormData from '../helpers/toFormData.js'; +import toURLEncodedForm from '../helpers/toURLEncodedForm.js'; +import platform from '../platform/index.js'; +import formDataToJSON from '../helpers/formDataToJSON.js'; + +/** + * It takes a string, tries to parse it, and if it fails, it returns the stringified version + * of the input + * + * @param {any} rawValue - The value to be stringified. + * @param {Function} parser - A function that parses a string into a JavaScript object. + * @param {Function} encoder - A function that takes a value and returns a string. + * + * @returns {string} A stringified version of the rawValue. + */ +function stringifySafely(rawValue, parser, encoder) { + if (utils.isString(rawValue)) { + try { + (parser || JSON.parse)(rawValue); + return utils.trim(rawValue); + } catch (e) { + if (e.name !== 'SyntaxError') { + throw e; + } + } + } + + return (encoder || JSON.stringify)(rawValue); +} + +const defaults = { + transitional: transitionalDefaults, + + adapter: ['xhr', 'http', 'fetch'], + + transformRequest: [ + function transformRequest(data, headers) { + const contentType = headers.getContentType() || ''; + const hasJSONContentType = contentType.indexOf('application/json') > -1; + const isObjectPayload = utils.isObject(data); + + if (isObjectPayload && utils.isHTMLForm(data)) { + data = new FormData(data); + } + + const isFormData = utils.isFormData(data); + + if (isFormData) { + return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data; + } + + if ( + utils.isArrayBuffer(data) || + utils.isBuffer(data) || + utils.isStream(data) || + utils.isFile(data) || + utils.isBlob(data) || + utils.isReadableStream(data) + ) { + return data; + } + if (utils.isArrayBufferView(data)) { + return data.buffer; + } + if (utils.isURLSearchParams(data)) { + headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); + return data.toString(); + } + + let isFileList; + + if (isObjectPayload) { + if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { + return toURLEncodedForm(data, this.formSerializer).toString(); + } + + if ( + (isFileList = utils.isFileList(data)) || + contentType.indexOf('multipart/form-data') > -1 + ) { + const _FormData = this.env && this.env.FormData; + + return toFormData( + isFileList ? { 'files[]': data } : data, + _FormData && new _FormData(), + this.formSerializer + ); + } + } + + if (isObjectPayload || hasJSONContentType) { + headers.setContentType('application/json', false); + return stringifySafely(data); + } + + return data; + }, + ], + + transformResponse: [ + function transformResponse(data) { + const transitional = this.transitional || defaults.transitional; + const forcedJSONParsing = transitional && transitional.forcedJSONParsing; + const JSONRequested = this.responseType === 'json'; + + if (utils.isResponse(data) || utils.isReadableStream(data)) { + return data; + } + + if ( + data && + utils.isString(data) && + ((forcedJSONParsing && !this.responseType) || JSONRequested) + ) { + const silentJSONParsing = transitional && transitional.silentJSONParsing; + const strictJSONParsing = !silentJSONParsing && JSONRequested; + + try { + return JSON.parse(data, this.parseReviver); + } catch (e) { + if (strictJSONParsing) { + if (e.name === 'SyntaxError') { + throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response); + } + throw e; + } + } + } + + return data; + }, + ], + + /** + * A timeout in milliseconds to abort a request. If set to 0 (default) a + * timeout is not created. + */ + timeout: 0, + + xsrfCookieName: 'XSRF-TOKEN', + xsrfHeaderName: 'X-XSRF-TOKEN', + + maxContentLength: -1, + maxBodyLength: -1, + + env: { + FormData: platform.classes.FormData, + Blob: platform.classes.Blob, + }, + + validateStatus: function validateStatus(status) { + return status >= 200 && status < 300; + }, + + headers: { + common: { + Accept: 'application/json, text/plain, */*', + 'Content-Type': undefined, + }, + }, +}; + +utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => { + defaults.headers[method] = {}; +}); + +export default defaults; diff --git a/dist/node_modules/axios/lib/defaults/transitional.js b/dist/node_modules/axios/lib/defaults/transitional.js new file mode 100644 index 00000000..714b6644 --- /dev/null +++ b/dist/node_modules/axios/lib/defaults/transitional.js @@ -0,0 +1,8 @@ +'use strict'; + +export default { + silentJSONParsing: true, + forcedJSONParsing: true, + clarifyTimeoutError: false, + legacyInterceptorReqResOrdering: true, +}; diff --git a/dist/node_modules/axios/lib/env/README.md b/dist/node_modules/axios/lib/env/README.md new file mode 100644 index 00000000..b41baff3 --- /dev/null +++ b/dist/node_modules/axios/lib/env/README.md @@ -0,0 +1,3 @@ +# axios // env + +The `data.js` file is updated automatically when the package version is upgrading. Please do not edit it manually. diff --git a/dist/node_modules/axios/lib/env/classes/FormData.js b/dist/node_modules/axios/lib/env/classes/FormData.js new file mode 100644 index 00000000..862adb93 --- /dev/null +++ b/dist/node_modules/axios/lib/env/classes/FormData.js @@ -0,0 +1,2 @@ +import _FormData from 'form-data'; +export default typeof FormData !== 'undefined' ? FormData : _FormData; diff --git a/dist/node_modules/axios/lib/env/data.js b/dist/node_modules/axios/lib/env/data.js new file mode 100644 index 00000000..4dde41d8 --- /dev/null +++ b/dist/node_modules/axios/lib/env/data.js @@ -0,0 +1 @@ +export const VERSION = "1.14.0"; \ No newline at end of file diff --git a/dist/node_modules/axios/lib/helpers/AxiosTransformStream.js b/dist/node_modules/axios/lib/helpers/AxiosTransformStream.js new file mode 100644 index 00000000..96e8acb0 --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/AxiosTransformStream.js @@ -0,0 +1,156 @@ +'use strict'; + +import stream from 'stream'; +import utils from '../utils.js'; + +const kInternals = Symbol('internals'); + +class AxiosTransformStream extends stream.Transform { + constructor(options) { + options = utils.toFlatObject( + options, + { + maxRate: 0, + chunkSize: 64 * 1024, + minChunkSize: 100, + timeWindow: 500, + ticksRate: 2, + samplesCount: 15, + }, + null, + (prop, source) => { + return !utils.isUndefined(source[prop]); + } + ); + + super({ + readableHighWaterMark: options.chunkSize, + }); + + const internals = (this[kInternals] = { + timeWindow: options.timeWindow, + chunkSize: options.chunkSize, + maxRate: options.maxRate, + minChunkSize: options.minChunkSize, + bytesSeen: 0, + isCaptured: false, + notifiedBytesLoaded: 0, + ts: Date.now(), + bytes: 0, + onReadCallback: null, + }); + + this.on('newListener', (event) => { + if (event === 'progress') { + if (!internals.isCaptured) { + internals.isCaptured = true; + } + } + }); + } + + _read(size) { + const internals = this[kInternals]; + + if (internals.onReadCallback) { + internals.onReadCallback(); + } + + return super._read(size); + } + + _transform(chunk, encoding, callback) { + const internals = this[kInternals]; + const maxRate = internals.maxRate; + + const readableHighWaterMark = this.readableHighWaterMark; + + const timeWindow = internals.timeWindow; + + const divider = 1000 / timeWindow; + const bytesThreshold = maxRate / divider; + const minChunkSize = + internals.minChunkSize !== false + ? Math.max(internals.minChunkSize, bytesThreshold * 0.01) + : 0; + + const pushChunk = (_chunk, _callback) => { + const bytes = Buffer.byteLength(_chunk); + internals.bytesSeen += bytes; + internals.bytes += bytes; + + internals.isCaptured && this.emit('progress', internals.bytesSeen); + + if (this.push(_chunk)) { + process.nextTick(_callback); + } else { + internals.onReadCallback = () => { + internals.onReadCallback = null; + process.nextTick(_callback); + }; + } + }; + + const transformChunk = (_chunk, _callback) => { + const chunkSize = Buffer.byteLength(_chunk); + let chunkRemainder = null; + let maxChunkSize = readableHighWaterMark; + let bytesLeft; + let passed = 0; + + if (maxRate) { + const now = Date.now(); + + if (!internals.ts || (passed = now - internals.ts) >= timeWindow) { + internals.ts = now; + bytesLeft = bytesThreshold - internals.bytes; + internals.bytes = bytesLeft < 0 ? -bytesLeft : 0; + passed = 0; + } + + bytesLeft = bytesThreshold - internals.bytes; + } + + if (maxRate) { + if (bytesLeft <= 0) { + // next time window + return setTimeout(() => { + _callback(null, _chunk); + }, timeWindow - passed); + } + + if (bytesLeft < maxChunkSize) { + maxChunkSize = bytesLeft; + } + } + + if (maxChunkSize && chunkSize > maxChunkSize && chunkSize - maxChunkSize > minChunkSize) { + chunkRemainder = _chunk.subarray(maxChunkSize); + _chunk = _chunk.subarray(0, maxChunkSize); + } + + pushChunk( + _chunk, + chunkRemainder + ? () => { + process.nextTick(_callback, null, chunkRemainder); + } + : _callback + ); + }; + + transformChunk(chunk, function transformNextChunk(err, _chunk) { + if (err) { + return callback(err); + } + + if (_chunk) { + transformChunk(_chunk, transformNextChunk); + } else { + callback(null); + } + }); + } +} + +export default AxiosTransformStream; diff --git a/dist/node_modules/axios/lib/helpers/AxiosURLSearchParams.js b/dist/node_modules/axios/lib/helpers/AxiosURLSearchParams.js new file mode 100644 index 00000000..da63392e --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/AxiosURLSearchParams.js @@ -0,0 +1,62 @@ +'use strict'; + +import toFormData from './toFormData.js'; + +/** + * It encodes a string by replacing all characters that are not in the unreserved set with + * their percent-encoded equivalents + * + * @param {string} str - The string to encode. + * + * @returns {string} The encoded string. + */ +function encode(str) { + const charMap = { + '!': '%21', + "'": '%27', + '(': '%28', + ')': '%29', + '~': '%7E', + '%20': '+', + '%00': '\x00', + }; + return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { + return charMap[match]; + }); +} + +/** + * It takes a params object and converts it to a FormData object + * + * @param {Object} params - The parameters to be converted to a FormData object. + * @param {Object} options - The options object passed to the Axios constructor. + * + * @returns {void} + */ +function AxiosURLSearchParams(params, options) { + this._pairs = []; + + params && toFormData(params, this, options); +} + +const prototype = AxiosURLSearchParams.prototype; + +prototype.append = function append(name, value) { + this._pairs.push([name, value]); +}; + +prototype.toString = function toString(encoder) { + const _encode = encoder + ? function (value) { + return encoder.call(this, value, encode); + } + : encode; + + return this._pairs + .map(function each(pair) { + return _encode(pair[0]) + '=' + _encode(pair[1]); + }, '') + .join('&'); +}; + +export default AxiosURLSearchParams; diff --git a/dist/node_modules/axios/lib/helpers/HttpStatusCode.js b/dist/node_modules/axios/lib/helpers/HttpStatusCode.js new file mode 100644 index 00000000..b68d08e1 --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/HttpStatusCode.js @@ -0,0 +1,77 @@ +const HttpStatusCode = { + Continue: 100, + SwitchingProtocols: 101, + Processing: 102, + EarlyHints: 103, + Ok: 200, + Created: 201, + Accepted: 202, + NonAuthoritativeInformation: 203, + NoContent: 204, + ResetContent: 205, + PartialContent: 206, + MultiStatus: 207, + AlreadyReported: 208, + ImUsed: 226, + MultipleChoices: 300, + MovedPermanently: 301, + Found: 302, + SeeOther: 303, + NotModified: 304, + UseProxy: 305, + Unused: 306, + TemporaryRedirect: 307, + PermanentRedirect: 308, + BadRequest: 400, + Unauthorized: 401, + PaymentRequired: 402, + Forbidden: 403, + NotFound: 404, + MethodNotAllowed: 405, + NotAcceptable: 406, + ProxyAuthenticationRequired: 407, + RequestTimeout: 408, + Conflict: 409, + Gone: 410, + LengthRequired: 411, + PreconditionFailed: 412, + PayloadTooLarge: 413, + UriTooLong: 414, + UnsupportedMediaType: 415, + RangeNotSatisfiable: 416, + ExpectationFailed: 417, + ImATeapot: 418, + MisdirectedRequest: 421, + UnprocessableEntity: 422, + Locked: 423, + FailedDependency: 424, + TooEarly: 425, + UpgradeRequired: 426, + PreconditionRequired: 428, + TooManyRequests: 429, + RequestHeaderFieldsTooLarge: 431, + UnavailableForLegalReasons: 451, + InternalServerError: 500, + NotImplemented: 501, + BadGateway: 502, + ServiceUnavailable: 503, + GatewayTimeout: 504, + HttpVersionNotSupported: 505, + VariantAlsoNegotiates: 506, + InsufficientStorage: 507, + LoopDetected: 508, + NotExtended: 510, + NetworkAuthenticationRequired: 511, + WebServerIsDown: 521, + ConnectionTimedOut: 522, + OriginIsUnreachable: 523, + TimeoutOccurred: 524, + SslHandshakeFailed: 525, + InvalidSslCertificate: 526, +}; + +Object.entries(HttpStatusCode).forEach(([key, value]) => { + HttpStatusCode[value] = key; +}); + +export default HttpStatusCode; diff --git a/dist/node_modules/axios/lib/helpers/README.md b/dist/node_modules/axios/lib/helpers/README.md new file mode 100644 index 00000000..4ae34193 --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/README.md @@ -0,0 +1,7 @@ +# axios // helpers + +The modules found in `helpers/` should be generic modules that are _not_ specific to the domain logic of axios. These modules could theoretically be published to npm on their own and consumed by other modules or apps. Some examples of generic modules are things like: + +- Browser polyfills +- Managing cookies +- Parsing HTTP headers diff --git a/dist/node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js b/dist/node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js new file mode 100644 index 00000000..c588dede --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js @@ -0,0 +1,29 @@ +'use strict'; + +import stream from 'stream'; + +class ZlibHeaderTransformStream extends stream.Transform { + __transform(chunk, encoding, callback) { + this.push(chunk); + callback(); + } + + _transform(chunk, encoding, callback) { + if (chunk.length !== 0) { + this._transform = this.__transform; + + // Add Default Compression headers if no zlib headers are present + if (chunk[0] !== 120) { + // Hex: 78 + const header = Buffer.alloc(2); + header[0] = 120; // Hex: 78 + header[1] = 156; // Hex: 9C + this.push(header, encoding); + } + } + + this.__transform(chunk, encoding, callback); + } +} + +export default ZlibHeaderTransformStream; diff --git a/dist/node_modules/axios/lib/helpers/bind.js b/dist/node_modules/axios/lib/helpers/bind.js new file mode 100644 index 00000000..938da5c1 --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/bind.js @@ -0,0 +1,14 @@ +'use strict'; + +/** + * Create a bound version of a function with a specified `this` context + * + * @param {Function} fn - The function to bind + * @param {*} thisArg - The value to be passed as the `this` parameter + * @returns {Function} A new function that will call the original function with the specified `this` context + */ +export default function bind(fn, thisArg) { + return function wrap() { + return fn.apply(thisArg, arguments); + }; +} diff --git a/dist/node_modules/axios/lib/helpers/buildURL.js b/dist/node_modules/axios/lib/helpers/buildURL.js new file mode 100644 index 00000000..d6745da5 --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/buildURL.js @@ -0,0 +1,66 @@ +'use strict'; + +import utils from '../utils.js'; +import AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js'; + +/** + * It replaces URL-encoded forms of `:`, `$`, `,`, and spaces with + * their plain counterparts (`:`, `$`, `,`, `+`). + * + * @param {string} val The value to be encoded. + * + * @returns {string} The encoded value. + */ +function encode(val) { + return encodeURIComponent(val) + .replace(/%3A/gi, ':') + .replace(/%24/g, '$') + .replace(/%2C/gi, ',') + .replace(/%20/g, '+'); +} + +/** + * Build a URL by appending params to the end + * + * @param {string} url The base of the url (e.g., http://www.google.com) + * @param {object} [params] The params to be appended + * @param {?(object|Function)} options + * + * @returns {string} The formatted url + */ +export default function buildURL(url, params, options) { + if (!params) { + return url; + } + + const _encode = (options && options.encode) || encode; + + const _options = utils.isFunction(options) + ? { + serialize: options, + } + : options; + + const serializeFn = _options && _options.serialize; + + let serializedParams; + + if (serializeFn) { + serializedParams = serializeFn(params, _options); + } else { + serializedParams = utils.isURLSearchParams(params) + ? params.toString() + : new AxiosURLSearchParams(params, _options).toString(_encode); + } + + if (serializedParams) { + const hashmarkIndex = url.indexOf('#'); + + if (hashmarkIndex !== -1) { + url = url.slice(0, hashmarkIndex); + } + url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; + } + + return url; +} diff --git a/dist/node_modules/axios/lib/helpers/callbackify.js b/dist/node_modules/axios/lib/helpers/callbackify.js new file mode 100644 index 00000000..e8cea687 --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/callbackify.js @@ -0,0 +1,18 @@ +import utils from '../utils.js'; + +const callbackify = (fn, reducer) => { + return utils.isAsyncFn(fn) + ? function (...args) { + const cb = args.pop(); + fn.apply(this, args).then((value) => { + try { + reducer ? cb(null, ...reducer(value)) : cb(null, value); + } catch (err) { + cb(err); + } + }, cb); + } + : fn; +}; + +export default callbackify; diff --git a/dist/node_modules/axios/lib/helpers/combineURLs.js b/dist/node_modules/axios/lib/helpers/combineURLs.js new file mode 100644 index 00000000..9f04f020 --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/combineURLs.js @@ -0,0 +1,15 @@ +'use strict'; + +/** + * Creates a new URL by combining the specified URLs + * + * @param {string} baseURL The base URL + * @param {string} relativeURL The relative URL + * + * @returns {string} The combined URL + */ +export default function combineURLs(baseURL, relativeURL) { + return relativeURL + ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '') + : baseURL; +} diff --git a/dist/node_modules/axios/lib/helpers/composeSignals.js b/dist/node_modules/axios/lib/helpers/composeSignals.js new file mode 100644 index 00000000..04e3012d --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/composeSignals.js @@ -0,0 +1,56 @@ +import CanceledError from '../cancel/CanceledError.js'; +import AxiosError from '../core/AxiosError.js'; +import utils from '../utils.js'; + +const composeSignals = (signals, timeout) => { + const { length } = (signals = signals ? signals.filter(Boolean) : []); + + if (timeout || length) { + let controller = new AbortController(); + + let aborted; + + const onabort = function (reason) { + if (!aborted) { + aborted = true; + unsubscribe(); + const err = reason instanceof Error ? reason : this.reason; + controller.abort( + err instanceof AxiosError + ? err + : new CanceledError(err instanceof Error ? err.message : err) + ); + } + }; + + let timer = + timeout && + setTimeout(() => { + timer = null; + onabort(new AxiosError(`timeout of ${timeout}ms exceeded`, AxiosError.ETIMEDOUT)); + }, timeout); + + const unsubscribe = () => { + if (signals) { + timer && clearTimeout(timer); + timer = null; + signals.forEach((signal) => { + signal.unsubscribe + ? signal.unsubscribe(onabort) + : signal.removeEventListener('abort', onabort); + }); + signals = null; + } + }; + + signals.forEach((signal) => signal.addEventListener('abort', onabort)); + + const { signal } = controller; + + signal.unsubscribe = () => utils.asap(unsubscribe); + + return signal; + } +}; + +export default composeSignals; diff --git a/dist/node_modules/axios/lib/helpers/cookies.js b/dist/node_modules/axios/lib/helpers/cookies.js new file mode 100644 index 00000000..1553fb29 --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/cookies.js @@ -0,0 +1,48 @@ +import utils from '../utils.js'; +import platform from '../platform/index.js'; + +export default platform.hasStandardBrowserEnv + ? // Standard browser envs support document.cookie + { + write(name, value, expires, path, domain, secure, sameSite) { + if (typeof document === 'undefined') return; + + const cookie = [`${name}=${encodeURIComponent(value)}`]; + + if (utils.isNumber(expires)) { + cookie.push(`expires=${new Date(expires).toUTCString()}`); + } + if (utils.isString(path)) { + cookie.push(`path=${path}`); + } + if (utils.isString(domain)) { + cookie.push(`domain=${domain}`); + } + if (secure === true) { + cookie.push('secure'); + } + if (utils.isString(sameSite)) { + cookie.push(`SameSite=${sameSite}`); + } + + document.cookie = cookie.join('; '); + }, + + read(name) { + if (typeof document === 'undefined') return null; + const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)')); + return match ? decodeURIComponent(match[1]) : null; + }, + + remove(name) { + this.write(name, '', Date.now() - 86400000, '/'); + }, + } + : // Non-standard browser env (web workers, react-native) lack needed support. + { + write() {}, + read() { + return null; + }, + remove() {}, + }; diff --git a/dist/node_modules/axios/lib/helpers/deprecatedMethod.js b/dist/node_modules/axios/lib/helpers/deprecatedMethod.js new file mode 100644 index 00000000..ec112de2 --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/deprecatedMethod.js @@ -0,0 +1,31 @@ +'use strict'; + +/*eslint no-console:0*/ + +/** + * Supply a warning to the developer that a method they are using + * has been deprecated. + * + * @param {string} method The name of the deprecated method + * @param {string} [instead] The alternate method to use if applicable + * @param {string} [docs] The documentation URL to get further details + * + * @returns {void} + */ +export default function deprecatedMethod(method, instead, docs) { + try { + console.warn( + 'DEPRECATED method `' + + method + + '`.' + + (instead ? ' Use `' + instead + '` instead.' : '') + + ' This method will be removed in a future release.' + ); + + if (docs) { + console.warn('For more information about usage see ' + docs); + } + } catch (e) { + /* Ignore */ + } +} diff --git a/dist/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js b/dist/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js new file mode 100644 index 00000000..f29a8179 --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js @@ -0,0 +1,73 @@ +/** + * Estimate decoded byte length of a data:// URL *without* allocating large buffers. + * - For base64: compute exact decoded size using length and padding; + * handle %XX at the character-count level (no string allocation). + * - For non-base64: use UTF-8 byteLength of the encoded body as a safe upper bound. + * + * @param {string} url + * @returns {number} + */ +export default function estimateDataURLDecodedBytes(url) { + if (!url || typeof url !== 'string') return 0; + if (!url.startsWith('data:')) return 0; + + const comma = url.indexOf(','); + if (comma < 0) return 0; + + const meta = url.slice(5, comma); + const body = url.slice(comma + 1); + const isBase64 = /;base64/i.test(meta); + + if (isBase64) { + let effectiveLen = body.length; + const len = body.length; // cache length + + for (let i = 0; i < len; i++) { + if (body.charCodeAt(i) === 37 /* '%' */ && i + 2 < len) { + const a = body.charCodeAt(i + 1); + const b = body.charCodeAt(i + 2); + const isHex = + ((a >= 48 && a <= 57) || (a >= 65 && a <= 70) || (a >= 97 && a <= 102)) && + ((b >= 48 && b <= 57) || (b >= 65 && b <= 70) || (b >= 97 && b <= 102)); + + if (isHex) { + effectiveLen -= 2; + i += 2; + } + } + } + + let pad = 0; + let idx = len - 1; + + const tailIsPct3D = (j) => + j >= 2 && + body.charCodeAt(j - 2) === 37 && // '%' + body.charCodeAt(j - 1) === 51 && // '3' + (body.charCodeAt(j) === 68 || body.charCodeAt(j) === 100); // 'D' or 'd' + + if (idx >= 0) { + if (body.charCodeAt(idx) === 61 /* '=' */) { + pad++; + idx--; + } else if (tailIsPct3D(idx)) { + pad++; + idx -= 3; + } + } + + if (pad === 1 && idx >= 0) { + if (body.charCodeAt(idx) === 61 /* '=' */) { + pad++; + } else if (tailIsPct3D(idx)) { + pad++; + } + } + + const groups = Math.floor(effectiveLen / 4); + const bytes = groups * 3 - (pad || 0); + return bytes > 0 ? bytes : 0; + } + + return Buffer.byteLength(body, 'utf8'); +} diff --git a/dist/node_modules/axios/lib/helpers/formDataToJSON.js b/dist/node_modules/axios/lib/helpers/formDataToJSON.js new file mode 100644 index 00000000..e8db891f --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/formDataToJSON.js @@ -0,0 +1,95 @@ +'use strict'; + +import utils from '../utils.js'; + +/** + * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z'] + * + * @param {string} name - The name of the property to get. + * + * @returns An array of strings. + */ +function parsePropPath(name) { + // foo[x][y][z] + // foo.x.y.z + // foo-x-y-z + // foo x y z + return utils.matchAll(/\w+|\[(\w*)]/g, name).map((match) => { + return match[0] === '[]' ? '' : match[1] || match[0]; + }); +} + +/** + * Convert an array to an object. + * + * @param {Array} arr - The array to convert to an object. + * + * @returns An object with the same keys and values as the array. + */ +function arrayToObject(arr) { + const obj = {}; + const keys = Object.keys(arr); + let i; + const len = keys.length; + let key; + for (i = 0; i < len; i++) { + key = keys[i]; + obj[key] = arr[key]; + } + return obj; +} + +/** + * It takes a FormData object and returns a JavaScript object + * + * @param {string} formData The FormData object to convert to JSON. + * + * @returns {Object | null} The converted object. + */ +function formDataToJSON(formData) { + function buildPath(path, value, target, index) { + let name = path[index++]; + + if (name === '__proto__') return true; + + const isNumericKey = Number.isFinite(+name); + const isLast = index >= path.length; + name = !name && utils.isArray(target) ? target.length : name; + + if (isLast) { + if (utils.hasOwnProp(target, name)) { + target[name] = [target[name], value]; + } else { + target[name] = value; + } + + return !isNumericKey; + } + + if (!target[name] || !utils.isObject(target[name])) { + target[name] = []; + } + + const result = buildPath(path, value, target[name], index); + + if (result && utils.isArray(target[name])) { + target[name] = arrayToObject(target[name]); + } + + return !isNumericKey; + } + + if (utils.isFormData(formData) && utils.isFunction(formData.entries)) { + const obj = {}; + + utils.forEachEntry(formData, (name, value) => { + buildPath(parsePropPath(name), value, obj, 0); + }); + + return obj; + } + + return null; +} + +export default formDataToJSON; diff --git a/dist/node_modules/axios/lib/helpers/formDataToStream.js b/dist/node_modules/axios/lib/helpers/formDataToStream.js new file mode 100644 index 00000000..f191e8cb --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/formDataToStream.js @@ -0,0 +1,118 @@ +import util from 'util'; +import { Readable } from 'stream'; +import utils from '../utils.js'; +import readBlob from './readBlob.js'; +import platform from '../platform/index.js'; + +const BOUNDARY_ALPHABET = platform.ALPHABET.ALPHA_DIGIT + '-_'; + +const textEncoder = typeof TextEncoder === 'function' ? new TextEncoder() : new util.TextEncoder(); + +const CRLF = '\r\n'; +const CRLF_BYTES = textEncoder.encode(CRLF); +const CRLF_BYTES_COUNT = 2; + +class FormDataPart { + constructor(name, value) { + const { escapeName } = this.constructor; + const isStringValue = utils.isString(value); + + let headers = `Content-Disposition: form-data; name="${escapeName(name)}"${ + !isStringValue && value.name ? `; filename="${escapeName(value.name)}"` : '' + }${CRLF}`; + + if (isStringValue) { + value = textEncoder.encode(String(value).replace(/\r?\n|\r\n?/g, CRLF)); + } else { + headers += `Content-Type: ${value.type || 'application/octet-stream'}${CRLF}`; + } + + this.headers = textEncoder.encode(headers + CRLF); + + this.contentLength = isStringValue ? value.byteLength : value.size; + + this.size = this.headers.byteLength + this.contentLength + CRLF_BYTES_COUNT; + + this.name = name; + this.value = value; + } + + async *encode() { + yield this.headers; + + const { value } = this; + + if (utils.isTypedArray(value)) { + yield value; + } else { + yield* readBlob(value); + } + + yield CRLF_BYTES; + } + + static escapeName(name) { + return String(name).replace( + /[\r\n"]/g, + (match) => + ({ + '\r': '%0D', + '\n': '%0A', + '"': '%22', + })[match] + ); + } +} + +const formDataToStream = (form, headersHandler, options) => { + const { + tag = 'form-data-boundary', + size = 25, + boundary = tag + '-' + platform.generateString(size, BOUNDARY_ALPHABET), + } = options || {}; + + if (!utils.isFormData(form)) { + throw TypeError('FormData instance required'); + } + + if (boundary.length < 1 || boundary.length > 70) { + throw Error('boundary must be 10-70 characters long'); + } + + const boundaryBytes = textEncoder.encode('--' + boundary + CRLF); + const footerBytes = textEncoder.encode('--' + boundary + '--' + CRLF); + let contentLength = footerBytes.byteLength; + + const parts = Array.from(form.entries()).map(([name, value]) => { + const part = new FormDataPart(name, value); + contentLength += part.size; + return part; + }); + + contentLength += boundaryBytes.byteLength * parts.length; + + contentLength = utils.toFiniteNumber(contentLength); + + const computedHeaders = { + 'Content-Type': `multipart/form-data; boundary=${boundary}`, + }; + + if (Number.isFinite(contentLength)) { + computedHeaders['Content-Length'] = contentLength; + } + + headersHandler && headersHandler(computedHeaders); + + return Readable.from( + (async function* () { + for (const part of parts) { + yield boundaryBytes; + yield* part.encode(); + } + + yield footerBytes; + })() + ); +}; + +export default formDataToStream; diff --git a/dist/node_modules/axios/lib/helpers/fromDataURI.js b/dist/node_modules/axios/lib/helpers/fromDataURI.js new file mode 100644 index 00000000..989a4178 --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/fromDataURI.js @@ -0,0 +1,53 @@ +'use strict'; + +import AxiosError from '../core/AxiosError.js'; +import parseProtocol from './parseProtocol.js'; +import platform from '../platform/index.js'; + +const DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/; + +/** + * Parse data uri to a Buffer or Blob + * + * @param {String} uri + * @param {?Boolean} asBlob + * @param {?Object} options + * @param {?Function} options.Blob + * + * @returns {Buffer|Blob} + */ +export default function fromDataURI(uri, asBlob, options) { + const _Blob = (options && options.Blob) || platform.classes.Blob; + const protocol = parseProtocol(uri); + + if (asBlob === undefined && _Blob) { + asBlob = true; + } + + if (protocol === 'data') { + uri = protocol.length ? uri.slice(protocol.length + 1) : uri; + + const match = DATA_URL_PATTERN.exec(uri); + + if (!match) { + throw new AxiosError('Invalid URL', AxiosError.ERR_INVALID_URL); + } + + const mime = match[1]; + const isBase64 = match[2]; + const body = match[3]; + const buffer = Buffer.from(decodeURIComponent(body), isBase64 ? 'base64' : 'utf8'); + + if (asBlob) { + if (!_Blob) { + throw new AxiosError('Blob is not supported', AxiosError.ERR_NOT_SUPPORT); + } + + return new _Blob([buffer], { type: mime }); + } + + return buffer; + } + + throw new AxiosError('Unsupported protocol ' + protocol, AxiosError.ERR_NOT_SUPPORT); +} diff --git a/dist/node_modules/axios/lib/helpers/isAbsoluteURL.js b/dist/node_modules/axios/lib/helpers/isAbsoluteURL.js new file mode 100644 index 00000000..c4619002 --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/isAbsoluteURL.js @@ -0,0 +1,19 @@ +'use strict'; + +/** + * Determines whether the specified URL is absolute + * + * @param {string} url The URL to test + * + * @returns {boolean} True if the specified URL is absolute, otherwise false + */ +export default function isAbsoluteURL(url) { + // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). + // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed + // by any combination of letters, digits, plus, period, or hyphen. + if (typeof url !== 'string') { + return false; + } + + return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); +} diff --git a/dist/node_modules/axios/lib/helpers/isAxiosError.js b/dist/node_modules/axios/lib/helpers/isAxiosError.js new file mode 100644 index 00000000..ffba6101 --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/isAxiosError.js @@ -0,0 +1,14 @@ +'use strict'; + +import utils from '../utils.js'; + +/** + * Determines whether the payload is an error thrown by Axios + * + * @param {*} payload The value to test + * + * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false + */ +export default function isAxiosError(payload) { + return utils.isObject(payload) && payload.isAxiosError === true; +} diff --git a/dist/node_modules/axios/lib/helpers/isURLSameOrigin.js b/dist/node_modules/axios/lib/helpers/isURLSameOrigin.js new file mode 100644 index 00000000..66af2743 --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/isURLSameOrigin.js @@ -0,0 +1,16 @@ +import platform from '../platform/index.js'; + +export default platform.hasStandardBrowserEnv + ? ((origin, isMSIE) => (url) => { + url = new URL(url, platform.origin); + + return ( + origin.protocol === url.protocol && + origin.host === url.host && + (isMSIE || origin.port === url.port) + ); + })( + new URL(platform.origin), + platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent) + ) + : () => true; diff --git a/dist/node_modules/axios/lib/helpers/null.js b/dist/node_modules/axios/lib/helpers/null.js new file mode 100644 index 00000000..b9f82c46 --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/null.js @@ -0,0 +1,2 @@ +// eslint-disable-next-line strict +export default null; diff --git a/dist/node_modules/axios/lib/helpers/parseHeaders.js b/dist/node_modules/axios/lib/helpers/parseHeaders.js new file mode 100644 index 00000000..fb0eba44 --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/parseHeaders.js @@ -0,0 +1,69 @@ +'use strict'; + +import utils from '../utils.js'; + +// RawAxiosHeaders whose duplicates are ignored by node +// c.f. https://nodejs.org/api/http.html#http_message_headers +const ignoreDuplicateOf = utils.toObjectSet([ + 'age', + 'authorization', + 'content-length', + 'content-type', + 'etag', + 'expires', + 'from', + 'host', + 'if-modified-since', + 'if-unmodified-since', + 'last-modified', + 'location', + 'max-forwards', + 'proxy-authorization', + 'referer', + 'retry-after', + 'user-agent', +]); + +/** + * Parse headers into an object + * + * ``` + * Date: Wed, 27 Aug 2014 08:58:49 GMT + * Content-Type: application/json + * Connection: keep-alive + * Transfer-Encoding: chunked + * ``` + * + * @param {String} rawHeaders Headers needing to be parsed + * + * @returns {Object} Headers parsed into an object + */ +export default (rawHeaders) => { + const parsed = {}; + let key; + let val; + let i; + + rawHeaders && + rawHeaders.split('\n').forEach(function parser(line) { + i = line.indexOf(':'); + key = line.substring(0, i).trim().toLowerCase(); + val = line.substring(i + 1).trim(); + + if (!key || (parsed[key] && ignoreDuplicateOf[key])) { + return; + } + + if (key === 'set-cookie') { + if (parsed[key]) { + parsed[key].push(val); + } else { + parsed[key] = [val]; + } + } else { + parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; + } + }); + + return parsed; +}; diff --git a/dist/node_modules/axios/lib/helpers/parseProtocol.js b/dist/node_modules/axios/lib/helpers/parseProtocol.js new file mode 100644 index 00000000..1ad6658c --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/parseProtocol.js @@ -0,0 +1,6 @@ +'use strict'; + +export default function parseProtocol(url) { + const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); + return (match && match[1]) || ''; +} diff --git a/dist/node_modules/axios/lib/helpers/progressEventReducer.js b/dist/node_modules/axios/lib/helpers/progressEventReducer.js new file mode 100644 index 00000000..d09d753c --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/progressEventReducer.js @@ -0,0 +1,51 @@ +import speedometer from './speedometer.js'; +import throttle from './throttle.js'; +import utils from '../utils.js'; + +export const progressEventReducer = (listener, isDownloadStream, freq = 3) => { + let bytesNotified = 0; + const _speedometer = speedometer(50, 250); + + return throttle((e) => { + const loaded = e.loaded; + const total = e.lengthComputable ? e.total : undefined; + const progressBytes = loaded - bytesNotified; + const rate = _speedometer(progressBytes); + const inRange = loaded <= total; + + bytesNotified = loaded; + + const data = { + loaded, + total, + progress: total ? loaded / total : undefined, + bytes: progressBytes, + rate: rate ? rate : undefined, + estimated: rate && total && inRange ? (total - loaded) / rate : undefined, + event: e, + lengthComputable: total != null, + [isDownloadStream ? 'download' : 'upload']: true, + }; + + listener(data); + }, freq); +}; + +export const progressEventDecorator = (total, throttled) => { + const lengthComputable = total != null; + + return [ + (loaded) => + throttled[0]({ + lengthComputable, + total, + loaded, + }), + throttled[1], + ]; +}; + +export const asyncDecorator = + (fn) => + (...args) => + utils.asap(() => fn(...args)); diff --git a/dist/node_modules/axios/lib/helpers/readBlob.js b/dist/node_modules/axios/lib/helpers/readBlob.js new file mode 100644 index 00000000..87d0ea8d --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/readBlob.js @@ -0,0 +1,15 @@ +const { asyncIterator } = Symbol; + +const readBlob = async function* (blob) { + if (blob.stream) { + yield* blob.stream(); + } else if (blob.arrayBuffer) { + yield await blob.arrayBuffer(); + } else if (blob[asyncIterator]) { + yield* blob[asyncIterator](); + } else { + yield blob; + } +}; + +export default readBlob; diff --git a/dist/node_modules/axios/lib/helpers/resolveConfig.js b/dist/node_modules/axios/lib/helpers/resolveConfig.js new file mode 100644 index 00000000..bf22d591 --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/resolveConfig.js @@ -0,0 +1,70 @@ +import platform from '../platform/index.js'; +import utils from '../utils.js'; +import isURLSameOrigin from './isURLSameOrigin.js'; +import cookies from './cookies.js'; +import buildFullPath from '../core/buildFullPath.js'; +import mergeConfig from '../core/mergeConfig.js'; +import AxiosHeaders from '../core/AxiosHeaders.js'; +import buildURL from './buildURL.js'; + +export default (config) => { + const newConfig = mergeConfig({}, config); + + let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig; + + newConfig.headers = headers = AxiosHeaders.from(headers); + + newConfig.url = buildURL( + buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), + config.params, + config.paramsSerializer + ); + + // HTTP basic authentication + if (auth) { + headers.set( + 'Authorization', + 'Basic ' + + btoa( + (auth.username || '') + + ':' + + (auth.password ? unescape(encodeURIComponent(auth.password)) : '') + ) + ); + } + + if (utils.isFormData(data)) { + if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) { + headers.setContentType(undefined); // browser handles it + } else if (utils.isFunction(data.getHeaders)) { + // Node.js FormData (like form-data package) + const formHeaders = data.getHeaders(); + // Only set safe headers to avoid overwriting security headers + const allowedHeaders = ['content-type', 'content-length']; + Object.entries(formHeaders).forEach(([key, val]) => { + if (allowedHeaders.includes(key.toLowerCase())) { + headers.set(key, val); + } + }); + } + } + + // Add xsrf header + // This is only done if running in a standard browser environment. + // Specifically not if we're in a web worker, or react-native. + + if (platform.hasStandardBrowserEnv) { + withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig)); + + if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) { + // Add xsrf header + const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName); + + if (xsrfValue) { + headers.set(xsrfHeaderName, xsrfValue); + } + } + } + + return newConfig; +}; diff --git a/dist/node_modules/axios/lib/helpers/speedometer.js b/dist/node_modules/axios/lib/helpers/speedometer.js new file mode 100644 index 00000000..566a1fff --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/speedometer.js @@ -0,0 +1,55 @@ +'use strict'; + +/** + * Calculate data maxRate + * @param {Number} [samplesCount= 10] + * @param {Number} [min= 1000] + * @returns {Function} + */ +function speedometer(samplesCount, min) { + samplesCount = samplesCount || 10; + const bytes = new Array(samplesCount); + const timestamps = new Array(samplesCount); + let head = 0; + let tail = 0; + let firstSampleTS; + + min = min !== undefined ? min : 1000; + + return function push(chunkLength) { + const now = Date.now(); + + const startedAt = timestamps[tail]; + + if (!firstSampleTS) { + firstSampleTS = now; + } + + bytes[head] = chunkLength; + timestamps[head] = now; + + let i = tail; + let bytesCount = 0; + + while (i !== head) { + bytesCount += bytes[i++]; + i = i % samplesCount; + } + + head = (head + 1) % samplesCount; + + if (head === tail) { + tail = (tail + 1) % samplesCount; + } + + if (now - firstSampleTS < min) { + return; + } + + const passed = startedAt && now - startedAt; + + return passed ? Math.round((bytesCount * 1000) / passed) : undefined; + }; +} + +export default speedometer; diff --git a/dist/node_modules/axios/lib/helpers/spread.js b/dist/node_modules/axios/lib/helpers/spread.js new file mode 100644 index 00000000..2e72fc88 --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/spread.js @@ -0,0 +1,28 @@ +'use strict'; + +/** + * Syntactic sugar for invoking a function and expanding an array for arguments. + * + * Common use case would be to use `Function.prototype.apply`. + * + * ```js + * function f(x, y, z) {} + * const args = [1, 2, 3]; + * f.apply(null, args); + * ``` + * + * With `spread` this example can be re-written. + * + * ```js + * spread(function(x, y, z) {})([1, 2, 3]); + * ``` + * + * @param {Function} callback + * + * @returns {Function} + */ +export default function spread(callback) { + return function wrap(arr) { + return callback.apply(null, arr); + }; +} diff --git a/dist/node_modules/axios/lib/helpers/throttle.js b/dist/node_modules/axios/lib/helpers/throttle.js new file mode 100644 index 00000000..fbef472c --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/throttle.js @@ -0,0 +1,44 @@ +/** + * Throttle decorator + * @param {Function} fn + * @param {Number} freq + * @return {Function} + */ +function throttle(fn, freq) { + let timestamp = 0; + let threshold = 1000 / freq; + let lastArgs; + let timer; + + const invoke = (args, now = Date.now()) => { + timestamp = now; + lastArgs = null; + if (timer) { + clearTimeout(timer); + timer = null; + } + fn(...args); + }; + + const throttled = (...args) => { + const now = Date.now(); + const passed = now - timestamp; + if (passed >= threshold) { + invoke(args, now); + } else { + lastArgs = args; + if (!timer) { + timer = setTimeout(() => { + timer = null; + invoke(lastArgs); + }, threshold - passed); + } + } + }; + + const flush = () => lastArgs && invoke(lastArgs); + + return [throttled, flush]; +} + +export default throttle; diff --git a/dist/node_modules/axios/lib/helpers/toFormData.js b/dist/node_modules/axios/lib/helpers/toFormData.js new file mode 100644 index 00000000..014c5517 --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/toFormData.js @@ -0,0 +1,241 @@ +'use strict'; + +import utils from '../utils.js'; +import AxiosError from '../core/AxiosError.js'; +// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored +import PlatformFormData from '../platform/node/classes/FormData.js'; + +/** + * Determines if the given thing is a array or js object. + * + * @param {string} thing - The object or array to be visited. + * + * @returns {boolean} + */ +function isVisitable(thing) { + return utils.isPlainObject(thing) || utils.isArray(thing); +} + +/** + * It removes the brackets from the end of a string + * + * @param {string} key - The key of the parameter. + * + * @returns {string} the key without the brackets. + */ +function removeBrackets(key) { + return utils.endsWith(key, '[]') ? key.slice(0, -2) : key; +} + +/** + * It takes a path, a key, and a boolean, and returns a string + * + * @param {string} path - The path to the current key. + * @param {string} key - The key of the current object being iterated over. + * @param {string} dots - If true, the key will be rendered with dots instead of brackets. + * + * @returns {string} The path to the current key. + */ +function renderKey(path, key, dots) { + if (!path) return key; + return path + .concat(key) + .map(function each(token, i) { + // eslint-disable-next-line no-param-reassign + token = removeBrackets(token); + return !dots && i ? '[' + token + ']' : token; + }) + .join(dots ? '.' : ''); +} + +/** + * If the array is an array and none of its elements are visitable, then it's a flat array. + * + * @param {Array} arr - The array to check + * + * @returns {boolean} + */ +function isFlatArray(arr) { + return utils.isArray(arr) && !arr.some(isVisitable); +} + +const predicates = utils.toFlatObject(utils, {}, null, function filter(prop) { + return /^is[A-Z]/.test(prop); +}); + +/** + * Convert a data object to FormData + * + * @param {Object} obj + * @param {?Object} [formData] + * @param {?Object} [options] + * @param {Function} [options.visitor] + * @param {Boolean} [options.metaTokens = true] + * @param {Boolean} [options.dots = false] + * @param {?Boolean} [options.indexes = false] + * + * @returns {Object} + **/ + +/** + * It converts an object into a FormData object + * + * @param {Object} obj - The object to convert to form data. + * @param {string} formData - The FormData object to append to. + * @param {Object} options + * + * @returns + */ +function toFormData(obj, formData, options) { + if (!utils.isObject(obj)) { + throw new TypeError('target must be an object'); + } + + // eslint-disable-next-line no-param-reassign + formData = formData || new (PlatformFormData || FormData)(); + + // eslint-disable-next-line no-param-reassign + options = utils.toFlatObject( + options, + { + metaTokens: true, + dots: false, + indexes: false, + }, + false, + function defined(option, source) { + // eslint-disable-next-line no-eq-null,eqeqeq + return !utils.isUndefined(source[option]); + } + ); + + const metaTokens = options.metaTokens; + // eslint-disable-next-line no-use-before-define + const visitor = options.visitor || defaultVisitor; + const dots = options.dots; + const indexes = options.indexes; + const _Blob = options.Blob || (typeof Blob !== 'undefined' && Blob); + const useBlob = _Blob && utils.isSpecCompliantForm(formData); + + if (!utils.isFunction(visitor)) { + throw new TypeError('visitor must be a function'); + } + + function convertValue(value) { + if (value === null) return ''; + + if (utils.isDate(value)) { + return value.toISOString(); + } + + if (utils.isBoolean(value)) { + return value.toString(); + } + + if (!useBlob && utils.isBlob(value)) { + throw new AxiosError('Blob is not supported. Use a Buffer instead.'); + } + + if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) { + return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value); + } + + return value; + } + + /** + * Default visitor. + * + * @param {*} value + * @param {String|Number} key + * @param {Array} path + * @this {FormData} + * + * @returns {boolean} return true to visit the each prop of the value recursively + */ + function defaultVisitor(value, key, path) { + let arr = value; + + if (utils.isReactNative(formData) && utils.isReactNativeBlob(value)) { + formData.append(renderKey(path, key, dots), convertValue(value)); + return false; + } + + if (value && !path && typeof value === 'object') { + if (utils.endsWith(key, '{}')) { + // eslint-disable-next-line no-param-reassign + key = metaTokens ? key : key.slice(0, -2); + // eslint-disable-next-line no-param-reassign + value = JSON.stringify(value); + } else if ( + (utils.isArray(value) && isFlatArray(value)) || + ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))) + ) { + // eslint-disable-next-line no-param-reassign + key = removeBrackets(key); + + arr.forEach(function each(el, index) { + !(utils.isUndefined(el) || el === null) && + formData.append( + // eslint-disable-next-line no-nested-ternary + indexes === true + ? renderKey([key], index, dots) + : indexes === null + ? key + : key + '[]', + convertValue(el) + ); + }); + return false; + } + } + + if (isVisitable(value)) { + return true; + } + + formData.append(renderKey(path, key, dots), convertValue(value)); + + return false; + } + + const stack = []; + + const exposedHelpers = Object.assign(predicates, { + defaultVisitor, + convertValue, + isVisitable, + }); + + function build(value, path) { + if (utils.isUndefined(value)) return; + + if (stack.indexOf(value) !== -1) { + throw Error('Circular reference detected in ' + path.join('.')); + } + + stack.push(value); + + utils.forEach(value, function each(el, key) { + const result = + !(utils.isUndefined(el) || el === null) && + visitor.call(formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers); + + if (result === true) { + build(el, path ? path.concat(key) : [key]); + } + }); + + stack.pop(); + } + + if (!utils.isObject(obj)) { + throw new TypeError('data must be an object'); + } + + build(obj); + + return formData; +} + +export default toFormData; diff --git a/dist/node_modules/axios/lib/helpers/toURLEncodedForm.js b/dist/node_modules/axios/lib/helpers/toURLEncodedForm.js new file mode 100644 index 00000000..749e13a6 --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/toURLEncodedForm.js @@ -0,0 +1,19 @@ +'use strict'; + +import utils from '../utils.js'; +import toFormData from './toFormData.js'; +import platform from '../platform/index.js'; + +export default function toURLEncodedForm(data, options) { + return toFormData(data, new platform.classes.URLSearchParams(), { + visitor: function (value, key, path, helpers) { + if (platform.isNode && utils.isBuffer(value)) { + this.append(key, value.toString('base64')); + return false; + } + + return helpers.defaultVisitor.apply(this, arguments); + }, + ...options, + }); +} diff --git a/dist/node_modules/axios/lib/helpers/trackStream.js b/dist/node_modules/axios/lib/helpers/trackStream.js new file mode 100644 index 00000000..c75eace5 --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/trackStream.js @@ -0,0 +1,89 @@ +export const streamChunk = function* (chunk, chunkSize) { + let len = chunk.byteLength; + + if (!chunkSize || len < chunkSize) { + yield chunk; + return; + } + + let pos = 0; + let end; + + while (pos < len) { + end = pos + chunkSize; + yield chunk.slice(pos, end); + pos = end; + } +}; + +export const readBytes = async function* (iterable, chunkSize) { + for await (const chunk of readStream(iterable)) { + yield* streamChunk(chunk, chunkSize); + } +}; + +const readStream = async function* (stream) { + if (stream[Symbol.asyncIterator]) { + yield* stream; + return; + } + + const reader = stream.getReader(); + try { + for (;;) { + const { done, value } = await reader.read(); + if (done) { + break; + } + yield value; + } + } finally { + await reader.cancel(); + } +}; + +export const trackStream = (stream, chunkSize, onProgress, onFinish) => { + const iterator = readBytes(stream, chunkSize); + + let bytes = 0; + let done; + let _onFinish = (e) => { + if (!done) { + done = true; + onFinish && onFinish(e); + } + }; + + return new ReadableStream( + { + async pull(controller) { + try { + const { done, value } = await iterator.next(); + + if (done) { + _onFinish(); + controller.close(); + return; + } + + let len = value.byteLength; + if (onProgress) { + let loadedBytes = (bytes += len); + onProgress(loadedBytes); + } + controller.enqueue(new Uint8Array(value)); + } catch (err) { + _onFinish(err); + throw err; + } + }, + cancel(reason) { + _onFinish(reason); + return iterator.return(); + }, + }, + { + highWaterMark: 2, + } + ); +}; diff --git a/dist/node_modules/axios/lib/helpers/validator.js b/dist/node_modules/axios/lib/helpers/validator.js new file mode 100644 index 00000000..22798aa9 --- /dev/null +++ b/dist/node_modules/axios/lib/helpers/validator.js @@ -0,0 +1,110 @@ +'use strict'; + +import { VERSION } from '../env/data.js'; +import AxiosError from '../core/AxiosError.js'; + +const validators = {}; + +// eslint-disable-next-line func-names +['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => { + validators[type] = function validator(thing) { + return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type; + }; +}); + +const deprecatedWarnings = {}; + +/** + * Transitional option validator + * + * @param {function|boolean?} validator - set to false if the transitional option has been removed + * @param {string?} version - deprecated version / removed since version + * @param {string?} message - some message with additional info + * + * @returns {function} + */ +validators.transitional = function transitional(validator, version, message) { + function formatMessage(opt, desc) { + return ( + '[Axios v' + + VERSION + + "] Transitional option '" + + opt + + "'" + + desc + + (message ? '. ' + message : '') + ); + } + + // eslint-disable-next-line func-names + return (value, opt, opts) => { + if (validator === false) { + throw new AxiosError( + formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), + AxiosError.ERR_DEPRECATED + ); + } + + if (version && !deprecatedWarnings[opt]) { + deprecatedWarnings[opt] = true; + // eslint-disable-next-line no-console + console.warn( + formatMessage( + opt, + ' has been deprecated since v' + version + ' and will be removed in the near future' + ) + ); + } + + return validator ? validator(value, opt, opts) : true; + }; +}; + +validators.spelling = function spelling(correctSpelling) { + return (value, opt) => { + // eslint-disable-next-line no-console + console.warn(`${opt} is likely a misspelling of ${correctSpelling}`); + return true; + }; +}; + +/** + * Assert object's properties type + * + * @param {object} options + * @param {object} schema + * @param {boolean?} allowUnknown + * + * @returns {object} + */ + +function assertOptions(options, schema, allowUnknown) { + if (typeof options !== 'object') { + throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE); + } + const keys = Object.keys(options); + let i = keys.length; + while (i-- > 0) { + const opt = keys[i]; + const validator = schema[opt]; + if (validator) { + const value = options[opt]; + const result = value === undefined || validator(value, opt, options); + if (result !== true) { + throw new AxiosError( + 'option ' + opt + ' must be ' + result, + AxiosError.ERR_BAD_OPTION_VALUE + ); + } + continue; + } + if (allowUnknown !== true) { + throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION); + } + } +} + +export default { + assertOptions, + validators, +}; diff --git a/dist/node_modules/axios/lib/platform/browser/classes/Blob.js b/dist/node_modules/axios/lib/platform/browser/classes/Blob.js new file mode 100644 index 00000000..9ec4af87 --- /dev/null +++ b/dist/node_modules/axios/lib/platform/browser/classes/Blob.js @@ -0,0 +1,3 @@ +'use strict'; + +export default typeof Blob !== 'undefined' ? Blob : null; diff --git a/dist/node_modules/axios/lib/platform/browser/classes/FormData.js b/dist/node_modules/axios/lib/platform/browser/classes/FormData.js new file mode 100644 index 00000000..f36d31b2 --- /dev/null +++ b/dist/node_modules/axios/lib/platform/browser/classes/FormData.js @@ -0,0 +1,3 @@ +'use strict'; + +export default typeof FormData !== 'undefined' ? FormData : null; diff --git a/dist/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js b/dist/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js new file mode 100644 index 00000000..b7dae953 --- /dev/null +++ b/dist/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js @@ -0,0 +1,4 @@ +'use strict'; + +import AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js'; +export default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams; diff --git a/dist/node_modules/axios/lib/platform/browser/index.js b/dist/node_modules/axios/lib/platform/browser/index.js new file mode 100644 index 00000000..8e5f99cf --- /dev/null +++ b/dist/node_modules/axios/lib/platform/browser/index.js @@ -0,0 +1,13 @@ +import URLSearchParams from './classes/URLSearchParams.js'; +import FormData from './classes/FormData.js'; +import Blob from './classes/Blob.js'; + +export default { + isBrowser: true, + classes: { + URLSearchParams, + FormData, + Blob, + }, + protocols: ['http', 'https', 'file', 'blob', 'url', 'data'], +}; diff --git a/dist/node_modules/axios/lib/platform/common/utils.js b/dist/node_modules/axios/lib/platform/common/utils.js new file mode 100644 index 00000000..e4dfe469 --- /dev/null +++ b/dist/node_modules/axios/lib/platform/common/utils.js @@ -0,0 +1,52 @@ +const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined'; + +const _navigator = (typeof navigator === 'object' && navigator) || undefined; + +/** + * Determine if we're running in a standard browser environment + * + * This allows axios to run in a web worker, and react-native. + * Both environments support XMLHttpRequest, but not fully standard globals. + * + * web workers: + * typeof window -> undefined + * typeof document -> undefined + * + * react-native: + * navigator.product -> 'ReactNative' + * nativescript + * navigator.product -> 'NativeScript' or 'NS' + * + * @returns {boolean} + */ +const hasStandardBrowserEnv = + hasBrowserEnv && + (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0); + +/** + * Determine if we're running in a standard browser webWorker environment + * + * Although the `isStandardBrowserEnv` method indicates that + * `allows axios to run in a web worker`, the WebWorker will still be + * filtered out due to its judgment standard + * `typeof window !== 'undefined' && typeof document !== 'undefined'`. + * This leads to a problem when axios post `FormData` in webWorker + */ +const hasStandardBrowserWebWorkerEnv = (() => { + return ( + typeof WorkerGlobalScope !== 'undefined' && + // eslint-disable-next-line no-undef + self instanceof WorkerGlobalScope && + typeof self.importScripts === 'function' + ); +})(); + +const origin = (hasBrowserEnv && window.location.href) || 'http://localhost'; + +export { + hasBrowserEnv, + hasStandardBrowserWebWorkerEnv, + hasStandardBrowserEnv, + _navigator as navigator, + origin, +}; diff --git a/dist/node_modules/axios/lib/platform/index.js b/dist/node_modules/axios/lib/platform/index.js new file mode 100644 index 00000000..e1094abf --- /dev/null +++ b/dist/node_modules/axios/lib/platform/index.js @@ -0,0 +1,7 @@ +import platform from './node/index.js'; +import * as utils from './common/utils.js'; + +export default { + ...utils, + ...platform, +}; diff --git a/dist/node_modules/axios/lib/platform/node/classes/FormData.js b/dist/node_modules/axios/lib/platform/node/classes/FormData.js new file mode 100644 index 00000000..b07f9476 --- /dev/null +++ b/dist/node_modules/axios/lib/platform/node/classes/FormData.js @@ -0,0 +1,3 @@ +import FormData from 'form-data'; + +export default FormData; diff --git a/dist/node_modules/axios/lib/platform/node/classes/URLSearchParams.js b/dist/node_modules/axios/lib/platform/node/classes/URLSearchParams.js new file mode 100644 index 00000000..fba58428 --- /dev/null +++ b/dist/node_modules/axios/lib/platform/node/classes/URLSearchParams.js @@ -0,0 +1,4 @@ +'use strict'; + +import url from 'url'; +export default url.URLSearchParams; diff --git a/dist/node_modules/axios/lib/platform/node/index.js b/dist/node_modules/axios/lib/platform/node/index.js new file mode 100644 index 00000000..9979a715 --- /dev/null +++ b/dist/node_modules/axios/lib/platform/node/index.js @@ -0,0 +1,37 @@ +import crypto from 'crypto'; +import URLSearchParams from './classes/URLSearchParams.js'; +import FormData from './classes/FormData.js'; + +const ALPHA = 'abcdefghijklmnopqrstuvwxyz'; + +const DIGIT = '0123456789'; + +const ALPHABET = { + DIGIT, + ALPHA, + ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT, +}; + +const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { + let str = ''; + const { length } = alphabet; + const randomValues = new Uint32Array(size); + crypto.randomFillSync(randomValues); + for (let i = 0; i < size; i++) { + str += alphabet[randomValues[i] % length]; + } + + return str; +}; + +export default { + isNode: true, + classes: { + URLSearchParams, + FormData, + Blob: (typeof Blob !== 'undefined' && Blob) || null, + }, + ALPHABET, + generateString, + protocols: ['http', 'https', 'file', 'data'], +}; diff --git a/dist/node_modules/axios/lib/utils.js b/dist/node_modules/axios/lib/utils.js new file mode 100644 index 00000000..73c4f0d2 --- /dev/null +++ b/dist/node_modules/axios/lib/utils.js @@ -0,0 +1,919 @@ +'use strict'; + +import bind from './helpers/bind.js'; + +// utils is a library of generic helper functions non-specific to axios + +const { toString } = Object.prototype; +const { getPrototypeOf } = Object; +const { iterator, toStringTag } = Symbol; + +const kindOf = ((cache) => (thing) => { + const str = toString.call(thing); + return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); +})(Object.create(null)); + +const kindOfTest = (type) => { + type = type.toLowerCase(); + return (thing) => kindOf(thing) === type; +}; + +const typeOfTest = (type) => (thing) => typeof thing === type; + +/** + * Determine if a value is a non-null object + * + * @param {Object} val The value to test + * + * @returns {boolean} True if value is an Array, otherwise false + */ +const { isArray } = Array; + +/** + * Determine if a value is undefined + * + * @param {*} val The value to test + * + * @returns {boolean} True if the value is undefined, otherwise false + */ +const isUndefined = typeOfTest('undefined'); + +/** + * Determine if a value is a Buffer + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Buffer, otherwise false + */ +function isBuffer(val) { + return ( + val !== null && + !isUndefined(val) && + val.constructor !== null && + !isUndefined(val.constructor) && + isFunction(val.constructor.isBuffer) && + val.constructor.isBuffer(val) + ); +} + +/** + * Determine if a value is an ArrayBuffer + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is an ArrayBuffer, otherwise false + */ +const isArrayBuffer = kindOfTest('ArrayBuffer'); + +/** + * Determine if a value is a view on an ArrayBuffer + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false + */ +function isArrayBufferView(val) { + let result; + if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) { + result = ArrayBuffer.isView(val); + } else { + result = val && val.buffer && isArrayBuffer(val.buffer); + } + return result; +} + +/** + * Determine if a value is a String + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a String, otherwise false + */ +const isString = typeOfTest('string'); + +/** + * Determine if a value is a Function + * + * @param {*} val The value to test + * @returns {boolean} True if value is a Function, otherwise false + */ +const isFunction = typeOfTest('function'); + +/** + * Determine if a value is a Number + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Number, otherwise false + */ +const isNumber = typeOfTest('number'); + +/** + * Determine if a value is an Object + * + * @param {*} thing The value to test + * + * @returns {boolean} True if value is an Object, otherwise false + */ +const isObject = (thing) => thing !== null && typeof thing === 'object'; + +/** + * Determine if a value is a Boolean + * + * @param {*} thing The value to test + * @returns {boolean} True if value is a Boolean, otherwise false + */ +const isBoolean = (thing) => thing === true || thing === false; + +/** + * Determine if a value is a plain Object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a plain Object, otherwise false + */ +const isPlainObject = (val) => { + if (kindOf(val) !== 'object') { + return false; + } + + const prototype = getPrototypeOf(val); + return ( + (prototype === null || + prototype === Object.prototype || + Object.getPrototypeOf(prototype) === null) && + !(toStringTag in val) && + !(iterator in val) + ); +}; + +/** + * Determine if a value is an empty object (safely handles Buffers) + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is an empty object, otherwise false + */ +const isEmptyObject = (val) => { + // Early return for non-objects or Buffers to prevent RangeError + if (!isObject(val) || isBuffer(val)) { + return false; + } + + try { + return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype; + } catch (e) { + // Fallback for any other objects that might cause RangeError with Object.keys() + return false; + } +}; + +/** + * Determine if a value is a Date + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Date, otherwise false + */ +const isDate = kindOfTest('Date'); + +/** + * Determine if a value is a File + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a File, otherwise false + */ +const isFile = kindOfTest('File'); + +/** + * Determine if a value is a React Native Blob + * React Native "blob": an object with a `uri` attribute. Optionally, it can + * also have a `name` and `type` attribute to specify filename and content type + * + * @see https://github.com/facebook/react-native/blob/26684cf3adf4094eb6c405d345a75bf8c7c0bf88/Libraries/Network/FormData.js#L68-L71 + * + * @param {*} value The value to test + * + * @returns {boolean} True if value is a React Native Blob, otherwise false + */ +const isReactNativeBlob = (value) => { + return !!(value && typeof value.uri !== 'undefined'); +} + +/** + * Determine if environment is React Native + * ReactNative `FormData` has a non-standard `getParts()` method + * + * @param {*} formData The formData to test + * + * @returns {boolean} True if environment is React Native, otherwise false + */ +const isReactNative = (formData) => formData && typeof formData.getParts !== 'undefined'; + +/** + * Determine if a value is a Blob + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Blob, otherwise false + */ +const isBlob = kindOfTest('Blob'); + +/** + * Determine if a value is a FileList + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a File, otherwise false + */ +const isFileList = kindOfTest('FileList'); + +/** + * Determine if a value is a Stream + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Stream, otherwise false + */ +const isStream = (val) => isObject(val) && isFunction(val.pipe); + +/** + * Determine if a value is a FormData + * + * @param {*} thing The value to test + * + * @returns {boolean} True if value is an FormData, otherwise false + */ +function getGlobal() { + if (typeof globalThis !== 'undefined') return globalThis; + if (typeof self !== 'undefined') return self; + if (typeof window !== 'undefined') return window; + if (typeof global !== 'undefined') return global; + return {}; +} + +const G = getGlobal(); +const FormDataCtor = typeof G.FormData !== 'undefined' ? G.FormData : undefined; + +const isFormData = (thing) => { + let kind; + return thing && ( + (FormDataCtor && thing instanceof FormDataCtor) || ( + isFunction(thing.append) && ( + (kind = kindOf(thing)) === 'formdata' || + // detect form-data instance + (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]') + ) + ) + ); +}; + +/** + * Determine if a value is a URLSearchParams object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a URLSearchParams object, otherwise false + */ +const isURLSearchParams = kindOfTest('URLSearchParams'); + +const [isReadableStream, isRequest, isResponse, isHeaders] = [ + 'ReadableStream', + 'Request', + 'Response', + 'Headers', +].map(kindOfTest); + +/** + * Trim excess whitespace off the beginning and end of a string + * + * @param {String} str The String to trim + * + * @returns {String} The String freed of excess whitespace + */ +const trim = (str) => { + return str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); +}; +/** + * Iterate over an Array or an Object invoking a function for each item. + * + * If `obj` is an Array callback will be called passing + * the value, index, and complete array for each item. + * + * If 'obj' is an Object callback will be called passing + * the value, key, and complete object for each property. + * + * @param {Object|Array} obj The object to iterate + * @param {Function} fn The callback to invoke for each item + * + * @param {Object} [options] + * @param {Boolean} [options.allOwnKeys = false] + * @returns {any} + */ +function forEach(obj, fn, { allOwnKeys = false } = {}) { + // Don't bother if no value provided + if (obj === null || typeof obj === 'undefined') { + return; + } + + let i; + let l; + + // Force an array if not already something iterable + if (typeof obj !== 'object') { + /*eslint no-param-reassign:0*/ + obj = [obj]; + } + + if (isArray(obj)) { + // Iterate over array values + for (i = 0, l = obj.length; i < l; i++) { + fn.call(null, obj[i], i, obj); + } + } else { + // Buffer check + if (isBuffer(obj)) { + return; + } + + // Iterate over object keys + const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); + const len = keys.length; + let key; + + for (i = 0; i < len; i++) { + key = keys[i]; + fn.call(null, obj[key], key, obj); + } + } +} + +/** + * Finds a key in an object, case-insensitive, returning the actual key name. + * Returns null if the object is a Buffer or if no match is found. + * + * @param {Object} obj - The object to search. + * @param {string} key - The key to find (case-insensitive). + * @returns {?string} The actual key name if found, otherwise null. + */ +function findKey(obj, key) { + if (isBuffer(obj)) { + return null; + } + + key = key.toLowerCase(); + const keys = Object.keys(obj); + let i = keys.length; + let _key; + while (i-- > 0) { + _key = keys[i]; + if (key === _key.toLowerCase()) { + return _key; + } + } + return null; +} + +const _global = (() => { + /*eslint no-undef:0*/ + if (typeof globalThis !== 'undefined') return globalThis; + return typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : global; +})(); + +const isContextDefined = (context) => !isUndefined(context) && context !== _global; + +/** + * Accepts varargs expecting each argument to be an object, then + * immutably merges the properties of each object and returns result. + * + * When multiple objects contain the same key the later object in + * the arguments list will take precedence. + * + * Example: + * + * ```js + * const result = merge({foo: 123}, {foo: 456}); + * console.log(result.foo); // outputs 456 + * ``` + * + * @param {Object} obj1 Object to merge + * + * @returns {Object} Result of all merge properties + */ +function merge(/* obj1, obj2, obj3, ... */) { + const { caseless, skipUndefined } = (isContextDefined(this) && this) || {}; + const result = {}; + const assignValue = (val, key) => { + // Skip dangerous property names to prevent prototype pollution + if (key === '__proto__' || key === 'constructor' || key === 'prototype') { + return; + } + + const targetKey = (caseless && findKey(result, key)) || key; + if (isPlainObject(result[targetKey]) && isPlainObject(val)) { + result[targetKey] = merge(result[targetKey], val); + } else if (isPlainObject(val)) { + result[targetKey] = merge({}, val); + } else if (isArray(val)) { + result[targetKey] = val.slice(); + } else if (!skipUndefined || !isUndefined(val)) { + result[targetKey] = val; + } + }; + + for (let i = 0, l = arguments.length; i < l; i++) { + arguments[i] && forEach(arguments[i], assignValue); + } + return result; +} + +/** + * Extends object a by mutably adding to it the properties of object b. + * + * @param {Object} a The object to be extended + * @param {Object} b The object to copy properties from + * @param {Object} thisArg The object to bind function to + * + * @param {Object} [options] + * @param {Boolean} [options.allOwnKeys] + * @returns {Object} The resulting value of object a + */ +const extend = (a, b, thisArg, { allOwnKeys } = {}) => { + forEach( + b, + (val, key) => { + if (thisArg && isFunction(val)) { + Object.defineProperty(a, key, { + value: bind(val, thisArg), + writable: true, + enumerable: true, + configurable: true, + }); + } else { + Object.defineProperty(a, key, { + value: val, + writable: true, + enumerable: true, + configurable: true, + }); + } + }, + { allOwnKeys } + ); + return a; +}; + +/** + * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) + * + * @param {string} content with BOM + * + * @returns {string} content value without BOM + */ +const stripBOM = (content) => { + if (content.charCodeAt(0) === 0xfeff) { + content = content.slice(1); + } + return content; +}; + +/** + * Inherit the prototype methods from one constructor into another + * @param {function} constructor + * @param {function} superConstructor + * @param {object} [props] + * @param {object} [descriptors] + * + * @returns {void} + */ +const inherits = (constructor, superConstructor, props, descriptors) => { + constructor.prototype = Object.create(superConstructor.prototype, descriptors); + Object.defineProperty(constructor.prototype, 'constructor', { + value: constructor, + writable: true, + enumerable: false, + configurable: true, + }); + Object.defineProperty(constructor, 'super', { + value: superConstructor.prototype, + }); + props && Object.assign(constructor.prototype, props); +}; + +/** + * Resolve object with deep prototype chain to a flat object + * @param {Object} sourceObj source object + * @param {Object} [destObj] + * @param {Function|Boolean} [filter] + * @param {Function} [propFilter] + * + * @returns {Object} + */ +const toFlatObject = (sourceObj, destObj, filter, propFilter) => { + let props; + let i; + let prop; + const merged = {}; + + destObj = destObj || {}; + // eslint-disable-next-line no-eq-null,eqeqeq + if (sourceObj == null) return destObj; + + do { + props = Object.getOwnPropertyNames(sourceObj); + i = props.length; + while (i-- > 0) { + prop = props[i]; + if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { + destObj[prop] = sourceObj[prop]; + merged[prop] = true; + } + } + sourceObj = filter !== false && getPrototypeOf(sourceObj); + } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); + + return destObj; +}; + +/** + * Determines whether a string ends with the characters of a specified string + * + * @param {String} str + * @param {String} searchString + * @param {Number} [position= 0] + * + * @returns {boolean} + */ +const endsWith = (str, searchString, position) => { + str = String(str); + if (position === undefined || position > str.length) { + position = str.length; + } + position -= searchString.length; + const lastIndex = str.indexOf(searchString, position); + return lastIndex !== -1 && lastIndex === position; +}; + +/** + * Returns new array from array like object or null if failed + * + * @param {*} [thing] + * + * @returns {?Array} + */ +const toArray = (thing) => { + if (!thing) return null; + if (isArray(thing)) return thing; + let i = thing.length; + if (!isNumber(i)) return null; + const arr = new Array(i); + while (i-- > 0) { + arr[i] = thing[i]; + } + return arr; +}; + +/** + * Checking if the Uint8Array exists and if it does, it returns a function that checks if the + * thing passed in is an instance of Uint8Array + * + * @param {TypedArray} + * + * @returns {Array} + */ +// eslint-disable-next-line func-names +const isTypedArray = ((TypedArray) => { + // eslint-disable-next-line func-names + return (thing) => { + return TypedArray && thing instanceof TypedArray; + }; +})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array)); + +/** + * For each entry in the object, call the function with the key and value. + * + * @param {Object} obj - The object to iterate over. + * @param {Function} fn - The function to call for each entry. + * + * @returns {void} + */ +const forEachEntry = (obj, fn) => { + const generator = obj && obj[iterator]; + + const _iterator = generator.call(obj); + + let result; + + while ((result = _iterator.next()) && !result.done) { + const pair = result.value; + fn.call(obj, pair[0], pair[1]); + } +}; + +/** + * It takes a regular expression and a string, and returns an array of all the matches + * + * @param {string} regExp - The regular expression to match against. + * @param {string} str - The string to search. + * + * @returns {Array} + */ +const matchAll = (regExp, str) => { + let matches; + const arr = []; + + while ((matches = regExp.exec(str)) !== null) { + arr.push(matches); + } + + return arr; +}; + +/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */ +const isHTMLForm = kindOfTest('HTMLFormElement'); + +const toCamelCase = (str) => { + return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, function replacer(m, p1, p2) { + return p1.toUpperCase() + p2; + }); +}; + +/* Creating a function that will check if an object has a property. */ +const hasOwnProperty = ( + ({ hasOwnProperty }) => + (obj, prop) => + hasOwnProperty.call(obj, prop) +)(Object.prototype); + +/** + * Determine if a value is a RegExp object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a RegExp object, otherwise false + */ +const isRegExp = kindOfTest('RegExp'); + +const reduceDescriptors = (obj, reducer) => { + const descriptors = Object.getOwnPropertyDescriptors(obj); + const reducedDescriptors = {}; + + forEach(descriptors, (descriptor, name) => { + let ret; + if ((ret = reducer(descriptor, name, obj)) !== false) { + reducedDescriptors[name] = ret || descriptor; + } + }); + + Object.defineProperties(obj, reducedDescriptors); +}; + +/** + * Makes all methods read-only + * @param {Object} obj + */ + +const freezeMethods = (obj) => { + reduceDescriptors(obj, (descriptor, name) => { + // skip restricted props in strict mode + if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) { + return false; + } + + const value = obj[name]; + + if (!isFunction(value)) return; + + descriptor.enumerable = false; + + if ('writable' in descriptor) { + descriptor.writable = false; + return; + } + + if (!descriptor.set) { + descriptor.set = () => { + throw Error("Can not rewrite read-only method '" + name + "'"); + }; + } + }); +}; + +/** + * Converts an array or a delimited string into an object set with values as keys and true as values. + * Useful for fast membership checks. + * + * @param {Array|string} arrayOrString - The array or string to convert. + * @param {string} delimiter - The delimiter to use if input is a string. + * @returns {Object} An object with keys from the array or string, values set to true. + */ +const toObjectSet = (arrayOrString, delimiter) => { + const obj = {}; + + const define = (arr) => { + arr.forEach((value) => { + obj[value] = true; + }); + }; + + isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); + + return obj; +}; + +const noop = () => {}; + +const toFiniteNumber = (value, defaultValue) => { + return value != null && Number.isFinite((value = +value)) ? value : defaultValue; +}; + +/** + * If the thing is a FormData object, return true, otherwise return false. + * + * @param {unknown} thing - The thing to check. + * + * @returns {boolean} + */ +function isSpecCompliantForm(thing) { + return !!( + thing && + isFunction(thing.append) && + thing[toStringTag] === 'FormData' && + thing[iterator] + ); +} + +/** + * Recursively converts an object to a JSON-compatible object, handling circular references and Buffers. + * + * @param {Object} obj - The object to convert. + * @returns {Object} The JSON-compatible object. + */ +const toJSONObject = (obj) => { + const stack = new Array(10); + + const visit = (source, i) => { + if (isObject(source)) { + if (stack.indexOf(source) >= 0) { + return; + } + + //Buffer check + if (isBuffer(source)) { + return source; + } + + if (!('toJSON' in source)) { + stack[i] = source; + const target = isArray(source) ? [] : {}; + + forEach(source, (value, key) => { + const reducedValue = visit(value, i + 1); + !isUndefined(reducedValue) && (target[key] = reducedValue); + }); + + stack[i] = undefined; + + return target; + } + } + + return source; + }; + + return visit(obj, 0); +}; + +/** + * Determines if a value is an async function. + * + * @param {*} thing - The value to test. + * @returns {boolean} True if value is an async function, otherwise false. + */ +const isAsyncFn = kindOfTest('AsyncFunction'); + +/** + * Determines if a value is thenable (has then and catch methods). + * + * @param {*} thing - The value to test. + * @returns {boolean} True if value is thenable, otherwise false. + */ +const isThenable = (thing) => + thing && + (isObject(thing) || isFunction(thing)) && + isFunction(thing.then) && + isFunction(thing.catch); + +// original code +// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34 + +/** + * Provides a cross-platform setImmediate implementation. + * Uses native setImmediate if available, otherwise falls back to postMessage or setTimeout. + * + * @param {boolean} setImmediateSupported - Whether setImmediate is supported. + * @param {boolean} postMessageSupported - Whether postMessage is supported. + * @returns {Function} A function to schedule a callback asynchronously. + */ +const _setImmediate = ((setImmediateSupported, postMessageSupported) => { + if (setImmediateSupported) { + return setImmediate; + } + + return postMessageSupported + ? ((token, callbacks) => { + _global.addEventListener( + 'message', + ({ source, data }) => { + if (source === _global && data === token) { + callbacks.length && callbacks.shift()(); + } + }, + false + ); + + return (cb) => { + callbacks.push(cb); + _global.postMessage(token, '*'); + }; + })(`axios@${Math.random()}`, []) + : (cb) => setTimeout(cb); +})(typeof setImmediate === 'function', isFunction(_global.postMessage)); + +/** + * Schedules a microtask or asynchronous callback as soon as possible. + * Uses queueMicrotask if available, otherwise falls back to process.nextTick or _setImmediate. + * + * @type {Function} + */ +const asap = + typeof queueMicrotask !== 'undefined' + ? queueMicrotask.bind(_global) + : (typeof process !== 'undefined' && process.nextTick) || _setImmediate; + +// ********************* + +const isIterable = (thing) => thing != null && isFunction(thing[iterator]); + +export default { + isArray, + isArrayBuffer, + isBuffer, + isFormData, + isArrayBufferView, + isString, + isNumber, + isBoolean, + isObject, + isPlainObject, + isEmptyObject, + isReadableStream, + isRequest, + isResponse, + isHeaders, + isUndefined, + isDate, + isFile, + isReactNativeBlob, + isReactNative, + isBlob, + isRegExp, + isFunction, + isStream, + isURLSearchParams, + isTypedArray, + isFileList, + forEach, + merge, + extend, + trim, + stripBOM, + inherits, + toFlatObject, + kindOf, + kindOfTest, + endsWith, + toArray, + forEachEntry, + matchAll, + isHTMLForm, + hasOwnProperty, + hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection + reduceDescriptors, + freezeMethods, + toObjectSet, + toCamelCase, + noop, + toFiniteNumber, + findKey, + global: _global, + isContextDefined, + isSpecCompliantForm, + toJSONObject, + isAsyncFn, + isThenable, + setImmediate: _setImmediate, + asap, + isIterable, +}; diff --git a/dist/node_modules/axios/package.json b/dist/node_modules/axios/package.json new file mode 100644 index 00000000..6acac53b --- /dev/null +++ b/dist/node_modules/axios/package.json @@ -0,0 +1,187 @@ +{ + "name": "axios", + "version": "1.14.0", + "description": "Promise based HTTP client for the browser and node.js", + "main": "./dist/node/axios.cjs", + "module": "./index.js", + "type": "module", + "types": "index.d.ts", + "jsdelivr": "dist/axios.min.js", + "unpkg": "dist/axios.min.js", + "typings": "./index.d.ts", + "exports": { + ".": { + "types": { + "require": "./index.d.cts", + "default": "./index.d.ts" + }, + "bun": { + "require": "./dist/node/axios.cjs", + "default": "./index.js" + }, + "react-native": { + "require": "./dist/browser/axios.cjs", + "default": "./dist/esm/axios.js" + }, + "browser": { + "require": "./dist/browser/axios.cjs", + "default": "./index.js" + }, + "default": { + "require": "./dist/node/axios.cjs", + "default": "./index.js" + } + }, + "./lib/adapters/http.js": "./lib/adapters/http.js", + "./lib/adapters/xhr.js": "./lib/adapters/xhr.js", + "./unsafe/*": "./lib/*", + "./unsafe/core/settle.js": "./lib/core/settle.js", + "./unsafe/core/buildFullPath.js": "./lib/core/buildFullPath.js", + "./unsafe/helpers/isAbsoluteURL.js": "./lib/helpers/isAbsoluteURL.js", + "./unsafe/helpers/buildURL.js": "./lib/helpers/buildURL.js", + "./unsafe/helpers/combineURLs.js": "./lib/helpers/combineURLs.js", + "./unsafe/adapters/http.js": "./lib/adapters/http.js", + "./unsafe/adapters/xhr.js": "./lib/adapters/xhr.js", + "./unsafe/utils.js": "./lib/utils.js", + "./package.json": "./package.json", + "./dist/browser/axios.cjs": "./dist/browser/axios.cjs", + "./dist/node/axios.cjs": "./dist/node/axios.cjs" + }, + "browser": { + "./dist/node/axios.cjs": "./dist/browser/axios.cjs", + "./lib/adapters/http.js": "./lib/helpers/null.js", + "./lib/platform/node/index.js": "./lib/platform/browser/index.js", + "./lib/platform/node/classes/FormData.js": "./lib/helpers/null.js" + }, + "react-native": { + "./dist/node/axios.cjs": "./dist/browser/axios.cjs", + "./lib/adapters/http.js": "./lib/helpers/null.js", + "./lib/platform/node/index.js": "./lib/platform/browser/index.js", + "./lib/platform/node/classes/FormData.js": "./lib/helpers/null.js" + }, + "repository": { + "type": "git", + "url": "https://github.com/axios/axios.git" + }, + "keywords": [ + "xhr", + "http", + "ajax", + "promise", + "node", + "browser", + "fetch", + "rest", + "api", + "client" + ], + "author": "Matt Zabriskie", + "contributors": [ + "Matt Zabriskie (https://github.com/mzabriskie)", + "Jay (https://github.com/jasonsaayman)", + "Dmitriy Mozgovoy (https://github.com/DigitalBrainJS)", + "Nick Uraltsev (https://github.com/nickuraltsev)", + "Emily Morehouse (https://github.com/emilyemorehouse)", + "Rubén Norte (https://github.com/rubennorte)", + "Justin Beckwith (https://github.com/JustinBeckwith)", + "Martti Laine (https://github.com/codeclown)", + "Xianming Zhong (https://github.com/chinesedfan)", + "Remco Haszing (https://github.com/remcohaszing)", + "Willian Agostini (https://github.com/WillianAgostini)", + "Rikki Gibson (https://github.com/RikkiGibson)", + "Ben Carp (https://github.com/carpben)" + ], + "sideEffects": false, + "license": "MIT", + "bugs": { + "url": "https://github.com/axios/axios/issues" + }, + "homepage": "https://axios-http.com", + "scripts": { + "build": "gulp clear && cross-env NODE_ENV=production rollup -c -m", + "version": "npm run build && git add package.json", + "preversion": "gulp version", + "test": "npm run test:vitest", + "test:vitest": "vitest run", + "test:vitest:unit": "vitest run --project unit", + "test:vitest:browser": "vitest run --project browser", + "test:vitest:browser:headless": "vitest run --project browser-headless", + "test:vitest:watch": "vitest", + "test:smoke:cjs:vitest": "npm --prefix tests/smoke/cjs run test:smoke:cjs:mocha", + "test:smoke:esm:vitest": "npm --prefix tests/smoke/esm run test:smoke:esm:vitest", + "test:module:cjs": "npm --prefix tests/module/cjs run test:module:cjs", + "test:module:esm": "npm --prefix tests/module/esm run test:module:esm", + "start": "node ./sandbox/server.js", + "examples": "node ./examples/server.js", + "lint": "eslint lib/**/*.js", + "fix": "eslint --fix lib/**/*.js", + "prepare": "husky" + }, + "dependencies": { + "follow-redirects": "^1.15.11", + "form-data": "^4.0.5", + "proxy-from-env": "^2.1.0" + }, + "devDependencies": { + "@babel/core": "^7.29.0", + "@babel/preset-env": "^7.29.0", + "@commitlint/cli": "^20.4.4", + "@commitlint/config-conventional": "^20.4.4", + "@eslint/js": "^10.0.1", + "@rollup/plugin-alias": "^6.0.0", + "@rollup/plugin-babel": "^7.0.0", + "@rollup/plugin-commonjs": "^29.0.2", + "@rollup/plugin-json": "^6.1.0", + "@rollup/plugin-node-resolve": "^16.0.3", + "@rollup/plugin-terser": "^1.0.0", + "@vitest/browser": "^4.1.1", + "@vitest/browser-playwright": "^4.1.1", + "abortcontroller-polyfill": "^1.7.8", + "auto-changelog": "^2.5.0", + "body-parser": "^2.2.2", + "chalk": "^5.6.2", + "cross-env": "^10.1.0", + "dev-null": "^0.1.1", + "eslint": "^10.1.0", + "express": "^5.2.1", + "formdata-node": "^6.0.3", + "formidable": "^3.2.4", + "fs-extra": "^11.3.4", + "get-stream": "^9.0.1", + "globals": "^17.4.0", + "gulp": "^5.0.1", + "handlebars": "^4.7.8", + "husky": "^9.1.7", + "lint-staged": "^16.4.0", + "memoizee": "^0.4.17", + "minimist": "^1.2.8", + "multer": "^2.1.1", + "pacote": "^21.5.0", + "playwright": "^1.58.2", + "prettier": "^3.8.1", + "pretty-bytes": "^7.1.0", + "rollup": "^4.60.0", + "rollup-plugin-bundle-size": "^1.0.3", + "selfsigned": "^5.5.0", + "stream-throttle": "^0.1.3", + "string-replace-async": "^3.0.2", + "tar-stream": "^3.1.8", + "typescript": "^5.9.3", + "vitest": "^4.1.1" + }, + "commitlint": { + "rules": { + "header-max-length": [ + 2, + "always", + 130 + ] + }, + "extends": [ + "@commitlint/config-conventional" + ] + }, + "lint-staged": { + "*.{js,cjs,mjs,ts,json,md,yml,yaml}": "prettier --write" + } +} \ No newline at end of file diff --git a/dist/node_modules/before-after-hook/LICENSE b/dist/node_modules/before-after-hook/LICENSE new file mode 100644 index 00000000..225063c3 --- /dev/null +++ b/dist/node_modules/before-after-hook/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018 Gregor Martynus and other contributors. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/dist/node_modules/before-after-hook/README.md b/dist/node_modules/before-after-hook/README.md new file mode 100644 index 00000000..07d7756b --- /dev/null +++ b/dist/node_modules/before-after-hook/README.md @@ -0,0 +1,653 @@ +# before-after-hook + +> asynchronous hooks for internal functionality + +[![npm downloads](https://img.shields.io/npm/dw/before-after-hook.svg)](https://www.npmjs.com/package/before-after-hook) +[![Test](https://github.com/gr2m/before-after-hook/actions/workflows/test.yml/badge.svg)](https://github.com/gr2m/before-after-hook/actions/workflows/test.yml) + +## Usage + +### Singular hook + +```js +// instantiate singular hook API +const hook = new Hook.Singular(); + +// Create a hook +function getData(options) { + return hook(fetchFromDatabase, options) + .then(handleData) + .catch(handleGetError); +} + +// register before/error/after hooks. +// The methods can be async or return a promise +hook.before(beforeHook); +hook.error(errorHook); +hook.after(afterHook); + +getData({ id: 123 }); +``` + +### Hook collection + +```js +// instantiate hook collection API +const hookCollection = new Hook.Collection(); + +// Create a hook +function getData(options) { + return hookCollection("get", fetchFromDatabase, options) + .then(handleData) + .catch(handleGetError); +} + +// register before/error/after hooks. +// The methods can be async or return a promise +hookCollection.before("get", beforeHook); +hookCollection.error("get", errorHook); +hookCollection.after("get", afterHook); + +getData({ id: 123 }); +``` + +### Hook.Singular vs Hook.Collection + +There's no fundamental difference between the `Hook.Singular` and `Hook.Collection` hooks except for the fact that a hook from a collection requires you to pass along the name. Therefore the following explanation applies to both code snippets as described above. + +The methods are executed in the following order + +1. `beforeHook` +2. `fetchFromDatabase` +3. `afterHook` +4. `handleData` + +`beforeHook` can mutate `options` before it’s passed to `fetchFromDatabase`. + +If an error is thrown in `beforeHook` or `fetchFromDatabase` then `errorHook` is +called next. + +If `afterHook` throws an error then `handleGetError` is called instead +of `handleData`. + +If `errorHook` throws an error then `handleGetError` is called next, otherwise +`afterHook` and `handleData`. + +You can also use `hook.wrap` to achieve the same thing as shown above (collection example): + +```js +hookCollection.wrap("get", async (getData, options) => { + await beforeHook(options); + + try { + const result = getData(options); + } catch (error) { + await errorHook(error, options); + } + + await afterHook(result, options); +}); +``` + +## Install + +``` +npm install before-after-hook +``` + +Or download [the latest `before-after-hook.min.js`](https://github.com/gr2m/before-after-hook/releases/latest). + +## API + +- [Singular Hook Constructor](#singular-hook-api) +- [Hook Collection Constructor](#hook-collection-api) + +## Singular hook API + +- [Singular constructor](#singular-constructor) +- [hook.api](#singular-api) +- [hook()](#singular-api) +- [hook.before()](#singular-api) +- [hook.error()](#singular-api) +- [hook.after()](#singular-api) +- [hook.wrap()](#singular-api) +- [hook.remove()](#singular-api) + +### Singular constructor + +The `Hook.Singular` constructor has no options and returns a `hook` instance with the +methods below: + +```js +const hook = new Hook.Singular(); +``` + +Using the singular hook is recommended for [TypeScript](#typescript) + +### Singular API + +The singular hook is a reference to a single hook. This means that there's no need to pass along any identifier (such as a `name` as can be seen in the [Hook.Collection API](#hookcollectionapi)). + +The API of a singular hook is exactly the same as a collection hook and we therefore suggest you read the [Hook.Collection API](#hookcollectionapi) and leave out any use of the `name` argument. Just skip it like described in this example: + +```js +const hook = new Hook.Singular(); + +// good +hook.before(beforeHook); +hook.after(afterHook); +hook(fetchFromDatabase, options); + +// bad +hook.before("get", beforeHook); +hook.after("get", afterHook); +hook("get", fetchFromDatabase, options); +``` + +## Hook collection API + +- [Collection constructor](#collection-constructor) +- [hookCollection.api](#hookcollectionapi) +- [hookCollection()](#hookcollection) +- [hookCollection.before()](#hookcollectionbefore) +- [hookCollection.error()](#hookcollectionerror) +- [hookCollection.after()](#hookcollectionafter) +- [hookCollection.wrap()](#hookcollectionwrap) +- [hookCollection.remove()](#hookcollectionremove) + +### Collection constructor + +The `Hook.Collection` constructor has no options and returns a `hookCollection` instance with the +methods below + +```js +const hookCollection = new Hook.Collection(); +``` + +### hookCollection.api + +Use the `api` property to return the public API: + +- [hookCollection.before()](#hookcollectionbefore) +- [hookCollection.after()](#hookcollectionafter) +- [hookCollection.error()](#hookcollectionerror) +- [hookCollection.wrap()](#hookcollectionwrap) +- [hookCollection.remove()](#hookcollectionremove) + +That way you don’t need to expose the [hookCollection()](#hookcollection) method to consumers of your library + +### hookCollection() + +Invoke before and after hooks. Returns a promise. + +```js +hookCollection(nameOrNames, method /*, options */); +``` + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameString or Array of StringsHook name, for example 'save'. Or an array of names, see example below.Yes
methodFunctionCallback to be executed after all before hooks finished execution successfully. options is passed as first argumentYes
optionsObjectWill be passed to all before hooks as reference, so they can mutate itNo, defaults to empty object ({})
+ +Resolves with whatever `method` returns or resolves with. +Rejects with error that is thrown or rejected with by + +1. Any of the before hooks, whichever rejects / throws first +2. `method` +3. Any of the after hooks, whichever rejects / throws first + +Simple Example + +```js +hookCollection( + "save", + function (record) { + return store.save(record); + }, + record +); +// shorter: hookCollection('save', store.save, record) + +hookCollection.before("save", function addTimestamps(record) { + const now = new Date().toISOString(); + if (record.createdAt) { + record.updatedAt = now; + } else { + record.createdAt = now; + } +}); +``` + +Example defining multiple hooks at once. + +```js +hookCollection( + ["add", "save"], + function (record) { + return store.save(record); + }, + record +); + +hookCollection.before("add", function addTimestamps(record) { + if (!record.type) { + throw new Error("type property is required"); + } +}); + +hookCollection.before("save", function addTimestamps(record) { + if (!record.type) { + throw new Error("type property is required"); + } +}); +``` + +Defining multiple hooks is helpful if you have similar methods for which you want to define separate hooks, but also an additional hook that gets called for all at once. The example above is equal to this: + +```js +hookCollection( + "add", + function (record) { + return hookCollection( + "save", + function (record) { + return store.save(record); + }, + record + ); + }, + record +); +``` + +### hookCollection.before() + +Add before hook for given name. + +```js +hookCollection.before(name, method); +``` + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameStringHook name, for example 'save'Yes
methodFunction + Executed before the wrapped method. Called with the hook’s + options argument. Before hooks can mutate the passed options + before they are passed to the wrapped method. + Yes
+ +Example + +```js +hookCollection.before("save", function validate(record) { + if (!record.name) { + throw new Error("name property is required"); + } +}); +``` + +### hookCollection.error() + +Add error hook for given name. + +```js +hookCollection.error(name, method); +``` + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameStringHook name, for example 'save'Yes
methodFunction + Executed when an error occurred in either the wrapped method or a + before hook. Called with the thrown error + and the hook’s options argument. The first method + which does not throw an error will set the result that the after hook + methods will receive. + Yes
+ +Example + +```js +hookCollection.error("save", function (error, options) { + if (error.ignore) return; + throw error; +}); +``` + +### hookCollection.after() + +Add after hook for given name. + +```js +hookCollection.after(name, method); +``` + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameStringHook name, for example 'save'Yes
methodFunction + Executed after wrapped method. Called with what the wrapped method + resolves with the hook’s options argument. + Yes
+ +Example + +```js +hookCollection.after("save", function (result, options) { + if (result.updatedAt) { + app.emit("update", result); + } else { + app.emit("create", result); + } +}); +``` + +### hookCollection.wrap() + +Add wrap hook for given name. + +```js +hookCollection.wrap(name, method); +``` + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameStringHook name, for example 'save'Yes
methodFunction + Receives both the wrapped method and the passed options as arguments so it can add logic before and after the wrapped method, it can handle errors and even replace the wrapped method altogether + Yes
+ +Example + +```js +hookCollection.wrap("save", async function (saveInDatabase, options) { + if (!record.name) { + throw new Error("name property is required"); + } + + try { + const result = await saveInDatabase(options); + + if (result.updatedAt) { + app.emit("update", result); + } else { + app.emit("create", result); + } + + return result; + } catch (error) { + if (error.ignore) return; + throw error; + } +}); +``` + +See also: [Test mock example](examples/test-mock-example.md) + +### hookCollection.remove() + +Removes hook for given name. + +```js +hookCollection.remove(name, hookMethod); +``` + + + + + + + + + + + + + + + + + + + + + + +
ArgumentTypeDescriptionRequired
nameStringHook name, for example 'save'Yes
beforeHookMethodFunction + Same function that was previously passed to hookCollection.before(), hookCollection.error(), hookCollection.after() or hookCollection.wrap() + Yes
+ +Example + +```js +hookCollection.remove("save", validateRecord); +``` + +## TypeScript + +This library contains type definitions for TypeScript. + +### Type support for `Singular`: + +```ts +import { Hook } from "before-after-hook"; + +type TOptions = { foo: string }; // type for options +type TResult = { bar: number }; // type for result +type TError = Error; // type for error + +const hook = new Hook.Singular(); + +hook.before((options) => { + // `options.foo` has `string` type + + // not allowed + options.foo = 42; + + // allowed + options.foo = "Forty-Two"; +}); + +const hookedMethod = hook( + (options) => { + // `options.foo` has `string` type + + // not allowed, because it does not satisfy the `R` type + return { foo: 42 }; + + // allowed + return { bar: 42 }; + }, + { foo: "Forty-Two" } +); +``` + +You can choose not to pass the types for options, result or error. So, these are completely valid: + +```ts +const hook = new Hook.Singular(); +const hook = new Hook.Singular(); +const hook = new Hook.Singular(); +``` + +In these cases, the omitted types will implicitly be `any`. + +### Type support for `Collection`: + +`Collection` also has strict type support. You can use it like this: + +```ts +import { Hook } from "before-after-hook"; + +type HooksType = { + add: { + Options: { type: string }; + Result: { id: number }; + Error: Error; + }; + save: { + Options: { type: string }; + Result: { id: number }; + }; + read: { + Options: { id: number; foo: number }; + }; + destroy: { + Options: { id: number; foo: string }; + }; +}; + +const hooks = new Hook.Collection(); + +hooks.before("destroy", (options) => { + // `options.id` has `number` type +}); + +hooks.error("add", (err, options) => { + // `options.type` has `string` type + // `err` is `instanceof Error` +}); + +hooks.error("save", (err, options) => { + // `options.type` has `string` type + // `err` has type `any` +}); + +hooks.after("save", (result, options) => { + // `options.type` has `string` type + // `result.id` has `number` type +}); +``` + +You can choose not to pass the types altogether. In that case, everything will implicitly be `any`: + +```ts +const hook = new Hook.Collection(); +``` + +Alternative imports: + +```ts +import { Singular, Collection } from "before-after-hook"; + +const hook = new Singular(); +const hooks = new Collection(); +``` + +## Upgrading to 1.4 + +Since version 1.4 the `Hook` constructor has been deprecated in favor of returning `Hook.Singular` in an upcoming breaking release. + +Version 1.4 is still 100% backwards-compatible, but if you want to continue using hook collections, we recommend using the `Hook.Collection` constructor instead before the next release. + +For even more details, check out [the PR](https://github.com/gr2m/before-after-hook/pull/52). + +## See also + +If `before-after-hook` is not for you, have a look at one of these alternatives: + +- https://github.com/keystonejs/grappling-hook +- https://github.com/sebelga/promised-hooks +- https://github.com/bnoguchi/hooks-js +- https://github.com/cb1kenobi/hook-emitter + +## License + +[Apache 2.0](LICENSE) diff --git a/dist/node_modules/before-after-hook/index.d.ts b/dist/node_modules/before-after-hook/index.d.ts new file mode 100644 index 00000000..817bf93f --- /dev/null +++ b/dist/node_modules/before-after-hook/index.d.ts @@ -0,0 +1,186 @@ +type HookMethod = ( + options: Options +) => Result | Promise; + +type BeforeHook = (options: Options) => void | Promise; +type ErrorHook = ( + error: Error, + options: Options +) => unknown | Promise; +type AfterHook = ( + result: Result, + options: Options +) => void | Promise; +type WrapHook = ( + hookMethod: HookMethod, + options: Options +) => Result | Promise; + +type AnyHook = + | BeforeHook + | ErrorHook + | AfterHook + | WrapHook; + +type TypeStoreKeyLong = "Options" | "Result" | "Error"; +type TypeStoreKeyShort = "O" | "R" | "E"; +type TypeStore = + | ({ [key in TypeStoreKeyLong]?: any } & + { [key in TypeStoreKeyShort]?: never }) + | ({ [key in TypeStoreKeyLong]?: never } & + { [key in TypeStoreKeyShort]?: any }); +type GetType< + Store extends TypeStore, + LongKey extends TypeStoreKeyLong, + ShortKey extends TypeStoreKeyShort +> = LongKey extends keyof Store + ? Store[LongKey] + : ShortKey extends keyof Store + ? Store[ShortKey] + : any; + +export interface HookCollection< + HooksType extends Record = Record< + string, + { Options: any; Result: any; Error: any } + >, + HookName extends keyof HooksType = keyof HooksType +> { + /** + * Invoke before and after hooks + */ + ( + name: Name | Name[], + hookMethod: HookMethod< + GetType, + GetType + >, + options?: GetType + ): Promise>; + /** + * Add `before` hook for given `name` + */ + before( + name: Name, + beforeHook: BeforeHook> + ): void; + /** + * Add `error` hook for given `name` + */ + error( + name: Name, + errorHook: ErrorHook< + GetType, + GetType + > + ): void; + /** + * Add `after` hook for given `name` + */ + after( + name: Name, + afterHook: AfterHook< + GetType, + GetType + > + ): void; + /** + * Add `wrap` hook for given `name` + */ + wrap( + name: Name, + wrapHook: WrapHook< + GetType, + GetType + > + ): void; + /** + * Remove added hook for given `name` + */ + remove( + name: Name, + hook: AnyHook< + GetType, + GetType, + GetType + > + ): void; + /** + * Public API + */ + api: Pick< + HookCollection, + "before" | "error" | "after" | "wrap" | "remove" + >; +} + +export interface HookSingular { + /** + * Invoke before and after hooks + */ + (hookMethod: HookMethod, options?: Options): Promise; + /** + * Add `before` hook + */ + before(beforeHook: BeforeHook): void; + /** + * Add `error` hook + */ + error(errorHook: ErrorHook): void; + /** + * Add `after` hook + */ + after(afterHook: AfterHook): void; + /** + * Add `wrap` hook + */ + wrap(wrapHook: WrapHook): void; + /** + * Remove added hook + */ + remove(hook: AnyHook): void; + /** + * Public API + */ + api: Pick< + HookSingular, + "before" | "error" | "after" | "wrap" | "remove" + >; +} + +type Collection = new < + HooksType extends Record = Record< + string, + { Options: any; Result: any; Error: any } + > +>() => HookCollection; +type Singular = new < + Options = any, + Result = any, + Error = any +>() => HookSingular; + +interface Hook { + new < + HooksType extends Record = Record< + string, + { Options: any; Result: any; Error: any } + > + >(): HookCollection; + + /** + * Creates a collection of hooks + */ + Collection: Collection; + + /** + * Creates a nameless hook that supports strict typings + */ + Singular: Singular; +} + +export const Hook: Hook; +export const Collection: Collection; +export const Singular: Singular; + +export default Hook; diff --git a/dist/node_modules/before-after-hook/index.js b/dist/node_modules/before-after-hook/index.js new file mode 100644 index 00000000..6b60d3cf --- /dev/null +++ b/dist/node_modules/before-after-hook/index.js @@ -0,0 +1,61 @@ +var register = require("./lib/register"); +var addHook = require("./lib/add"); +var removeHook = require("./lib/remove"); + +// bind with array of arguments: https://stackoverflow.com/a/21792913 +var bind = Function.bind; +var bindable = bind.bind(bind); + +function bindApi(hook, state, name) { + var removeHookRef = bindable(removeHook, null).apply( + null, + name ? [state, name] : [state] + ); + hook.api = { remove: removeHookRef }; + hook.remove = removeHookRef; + ["before", "error", "after", "wrap"].forEach(function (kind) { + var args = name ? [state, kind, name] : [state, kind]; + hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args); + }); +} + +function HookSingular() { + var singularHookName = "h"; + var singularHookState = { + registry: {}, + }; + var singularHook = register.bind(null, singularHookState, singularHookName); + bindApi(singularHook, singularHookState, singularHookName); + return singularHook; +} + +function HookCollection() { + var state = { + registry: {}, + }; + + var hook = register.bind(null, state); + bindApi(hook, state); + + return hook; +} + +var collectionHookDeprecationMessageDisplayed = false; +function Hook() { + if (!collectionHookDeprecationMessageDisplayed) { + console.warn( + '[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4' + ); + collectionHookDeprecationMessageDisplayed = true; + } + return HookCollection(); +} + +Hook.Singular = HookSingular.bind(); +Hook.Collection = HookCollection.bind(); + +module.exports = Hook; +// expose constructors as a named property for TypeScript +module.exports.Hook = Hook; +module.exports.Singular = Hook.Singular; +module.exports.Collection = Hook.Collection; diff --git a/dist/node_modules/before-after-hook/lib/add.js b/dist/node_modules/before-after-hook/lib/add.js new file mode 100644 index 00000000..f379eab0 --- /dev/null +++ b/dist/node_modules/before-after-hook/lib/add.js @@ -0,0 +1,46 @@ +module.exports = addHook; + +function addHook(state, kind, name, hook) { + var orig = hook; + if (!state.registry[name]) { + state.registry[name] = []; + } + + if (kind === "before") { + hook = function (method, options) { + return Promise.resolve() + .then(orig.bind(null, options)) + .then(method.bind(null, options)); + }; + } + + if (kind === "after") { + hook = function (method, options) { + var result; + return Promise.resolve() + .then(method.bind(null, options)) + .then(function (result_) { + result = result_; + return orig(result, options); + }) + .then(function () { + return result; + }); + }; + } + + if (kind === "error") { + hook = function (method, options) { + return Promise.resolve() + .then(method.bind(null, options)) + .catch(function (error) { + return orig(error, options); + }); + }; + } + + state.registry[name].push({ + hook: hook, + orig: orig, + }); +} diff --git a/dist/node_modules/before-after-hook/lib/register.js b/dist/node_modules/before-after-hook/lib/register.js new file mode 100644 index 00000000..f0d3d4e8 --- /dev/null +++ b/dist/node_modules/before-after-hook/lib/register.js @@ -0,0 +1,27 @@ +module.exports = register; + +function register(state, name, method, options) { + if (typeof method !== "function") { + throw new Error("method for before hook must be a function"); + } + + if (!options) { + options = {}; + } + + if (Array.isArray(name)) { + return name.reverse().reduce(function (callback, name) { + return register.bind(null, state, name, callback, options); + }, method)(); + } + + return Promise.resolve().then(function () { + if (!state.registry[name]) { + return method(options); + } + + return state.registry[name].reduce(function (method, registered) { + return registered.hook.bind(null, method, options); + }, method)(); + }); +} diff --git a/dist/node_modules/before-after-hook/lib/remove.js b/dist/node_modules/before-after-hook/lib/remove.js new file mode 100644 index 00000000..590b9635 --- /dev/null +++ b/dist/node_modules/before-after-hook/lib/remove.js @@ -0,0 +1,19 @@ +module.exports = removeHook; + +function removeHook(state, name, method) { + if (!state.registry[name]) { + return; + } + + var index = state.registry[name] + .map(function (registered) { + return registered.orig; + }) + .indexOf(method); + + if (index === -1) { + return; + } + + state.registry[name].splice(index, 1); +} diff --git a/dist/node_modules/before-after-hook/package.json b/dist/node_modules/before-after-hook/package.json new file mode 100644 index 00000000..533a3ebe --- /dev/null +++ b/dist/node_modules/before-after-hook/package.json @@ -0,0 +1,71 @@ +{ + "name": "before-after-hook", + "version": "2.2.3", + "description": "asynchronous before/error/after hooks for internal functionality", + "main": "index.js", + "files": [ + "index.js", + "index.d.ts", + "lib" + ], + "types": "./index.d.ts", + "scripts": { + "prebuild": "rimraf dist && mkdirp dist", + "build": "browserify index.js --standalone=Hook > dist/before-after-hook.js", + "postbuild": "uglifyjs dist/before-after-hook.js -mc > dist/before-after-hook.min.js", + "lint": "prettier --check '{lib,test,examples}/**/*' 'index.*' README.md package.json", + "lint:fix": "prettier --write '{lib,test,examples}/**/*' 'index.*' README.md package.json", + "pretest": "npm run -s lint", + "test": "npm run -s test:node | tap-spec", + "posttest": "npm run validate:ts", + "test:node": "node test", + "test:watch": "gaze 'clear && node test | tap-min' 'test/**/*.js' 'index.js' 'lib/**/*.js'", + "test:coverage": "istanbul cover test", + "test:coverage:upload": "istanbul-coveralls", + "validate:ts": "tsc --strict --target es6 index.d.ts", + "postvalidate:ts": "tsc --noEmit --strict --target es6 test/typescript-validate.ts", + "presemantic-release": "npm run build", + "semantic-release": "semantic-release" + }, + "repository": "github:gr2m/before-after-hook", + "keywords": [ + "hook", + "hooks", + "api" + ], + "author": "Gregor Martynus", + "license": "Apache-2.0", + "dependencies": {}, + "devDependencies": { + "browserify": "^16.0.0", + "gaze-cli": "^0.2.0", + "istanbul": "^0.4.0", + "istanbul-coveralls": "^1.0.3", + "mkdirp": "^1.0.3", + "prettier": "^2.0.0", + "rimraf": "^3.0.0", + "semantic-release": "^19.0.3", + "simple-mock": "^0.8.0", + "tap-min": "^2.0.0", + "tap-spec": "^5.0.0", + "tape": "^5.0.0", + "typescript": "^3.5.3", + "uglify-js": "^3.9.0" + }, + "release": { + "branches": [ + "+([0-9]).x", + "main", + "next", + { + "name": "beta", + "prerelease": true + } + ] + }, + "renovate": { + "extends": [ + "github>gr2m/.github" + ] + } +} diff --git a/dist/node_modules/call-bind-apply-helpers/.eslintrc b/dist/node_modules/call-bind-apply-helpers/.eslintrc new file mode 100644 index 00000000..201e859b --- /dev/null +++ b/dist/node_modules/call-bind-apply-helpers/.eslintrc @@ -0,0 +1,17 @@ +{ + "root": true, + + "extends": "@ljharb", + + "rules": { + "func-name-matching": 0, + "id-length": 0, + "new-cap": [2, { + "capIsNewExceptions": [ + "GetIntrinsic", + ], + }], + "no-extra-parens": 0, + "no-magic-numbers": 0, + }, +} diff --git a/dist/node_modules/call-bind-apply-helpers/.github/FUNDING.yml b/dist/node_modules/call-bind-apply-helpers/.github/FUNDING.yml new file mode 100644 index 00000000..0011e9d6 --- /dev/null +++ b/dist/node_modules/call-bind-apply-helpers/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: [ljharb] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: npm/call-bind-apply-helpers +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/dist/node_modules/call-bind-apply-helpers/.nycrc b/dist/node_modules/call-bind-apply-helpers/.nycrc new file mode 100644 index 00000000..bdd626ce --- /dev/null +++ b/dist/node_modules/call-bind-apply-helpers/.nycrc @@ -0,0 +1,9 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "exclude": [ + "coverage", + "test" + ] +} diff --git a/dist/node_modules/call-bind-apply-helpers/CHANGELOG.md b/dist/node_modules/call-bind-apply-helpers/CHANGELOG.md new file mode 100644 index 00000000..24849428 --- /dev/null +++ b/dist/node_modules/call-bind-apply-helpers/CHANGELOG.md @@ -0,0 +1,30 @@ +# 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.0.2](https://github.com/ljharb/call-bind-apply-helpers/compare/v1.0.1...v1.0.2) - 2025-02-12 + +### Commits + +- [types] improve inferred types [`e6f9586`](https://github.com/ljharb/call-bind-apply-helpers/commit/e6f95860a3c72879cb861a858cdfb8138fbedec1) +- [Dev Deps] update `@arethetypeswrong/cli`, `@ljharb/tsconfig`, `@types/tape`, `es-value-fixtures`, `for-each`, `has-strict-mode`, `object-inspect` [`e43d540`](https://github.com/ljharb/call-bind-apply-helpers/commit/e43d5409f97543bfbb11f345d47d8ce4e066d8c1) + +## [v1.0.1](https://github.com/ljharb/call-bind-apply-helpers/compare/v1.0.0...v1.0.1) - 2024-12-08 + +### Commits + +- [types] `reflectApply`: fix types [`4efc396`](https://github.com/ljharb/call-bind-apply-helpers/commit/4efc3965351a4f02cc55e836fa391d3d11ef2ef8) +- [Fix] `reflectApply`: oops, Reflect is not a function [`83cc739`](https://github.com/ljharb/call-bind-apply-helpers/commit/83cc7395de6b79b7730bdf092f1436f0b1263c75) +- [Dev Deps] update `@arethetypeswrong/cli` [`80bd5d3`](https://github.com/ljharb/call-bind-apply-helpers/commit/80bd5d3ae58b4f6b6995ce439dd5a1bcb178a940) + +## v1.0.0 - 2024-12-05 + +### Commits + +- Initial implementation, tests, readme [`7879629`](https://github.com/ljharb/call-bind-apply-helpers/commit/78796290f9b7430c9934d6f33d94ae9bc89fce04) +- Initial commit [`3f1dc16`](https://github.com/ljharb/call-bind-apply-helpers/commit/3f1dc164afc43285631b114a5f9dd9137b2b952f) +- npm init [`081df04`](https://github.com/ljharb/call-bind-apply-helpers/commit/081df048c312fcee400922026f6e97281200a603) +- Only apps should have lockfiles [`5b9ca0f`](https://github.com/ljharb/call-bind-apply-helpers/commit/5b9ca0fe8101ebfaf309c549caac4e0a017ed930) diff --git a/dist/node_modules/call-bind-apply-helpers/LICENSE b/dist/node_modules/call-bind-apply-helpers/LICENSE new file mode 100644 index 00000000..f82f3896 --- /dev/null +++ b/dist/node_modules/call-bind-apply-helpers/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Jordan Harband + +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. diff --git a/dist/node_modules/call-bind-apply-helpers/README.md b/dist/node_modules/call-bind-apply-helpers/README.md new file mode 100644 index 00000000..8fc0dae1 --- /dev/null +++ b/dist/node_modules/call-bind-apply-helpers/README.md @@ -0,0 +1,62 @@ +# call-bind-apply-helpers [![Version Badge][npm-version-svg]][package-url] + +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] +[![dependency status][deps-svg]][deps-url] +[![dev dependency status][dev-deps-svg]][dev-deps-url] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][npm-badge-png]][package-url] + +Helper functions around Function call/apply/bind, for use in `call-bind`. + +The only packages that should likely ever use this package directly are `call-bind` and `get-intrinsic`. +Please use `call-bind` unless you have a very good reason not to. + +## Getting started + +```sh +npm install --save call-bind-apply-helpers +``` + +## Usage/Examples + +```js +const assert = require('assert'); +const callBindBasic = require('call-bind-apply-helpers'); + +function f(a, b) { + assert.equal(this, 1); + assert.equal(a, 2); + assert.equal(b, 3); + assert.equal(arguments.length, 2); +} + +const fBound = callBindBasic([f, 1]); + +delete Function.prototype.call; +delete Function.prototype.bind; + +fBound(2, 3); +``` + +## Tests + +Clone the repo, `npm install`, and run `npm test` + +[package-url]: https://npmjs.org/package/call-bind-apply-helpers +[npm-version-svg]: https://versionbadg.es/ljharb/call-bind-apply-helpers.svg +[deps-svg]: https://david-dm.org/ljharb/call-bind-apply-helpers.svg +[deps-url]: https://david-dm.org/ljharb/call-bind-apply-helpers +[dev-deps-svg]: https://david-dm.org/ljharb/call-bind-apply-helpers/dev-status.svg +[dev-deps-url]: https://david-dm.org/ljharb/call-bind-apply-helpers#info=devDependencies +[npm-badge-png]: https://nodei.co/npm/call-bind-apply-helpers.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/call-bind-apply-helpers.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/call-bind-apply-helpers.svg +[downloads-url]: https://npm-stat.com/charts.html?package=call-bind-apply-helpers +[codecov-image]: https://codecov.io/gh/ljharb/call-bind-apply-helpers/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/ljharb/call-bind-apply-helpers/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/call-bind-apply-helpers +[actions-url]: https://github.com/ljharb/call-bind-apply-helpers/actions diff --git a/dist/node_modules/call-bind-apply-helpers/actualApply.d.ts b/dist/node_modules/call-bind-apply-helpers/actualApply.d.ts new file mode 100644 index 00000000..b87286a2 --- /dev/null +++ b/dist/node_modules/call-bind-apply-helpers/actualApply.d.ts @@ -0,0 +1 @@ +export = Reflect.apply; \ No newline at end of file diff --git a/dist/node_modules/call-bind-apply-helpers/actualApply.js b/dist/node_modules/call-bind-apply-helpers/actualApply.js new file mode 100644 index 00000000..ffa51355 --- /dev/null +++ b/dist/node_modules/call-bind-apply-helpers/actualApply.js @@ -0,0 +1,10 @@ +'use strict'; + +var bind = require('function-bind'); + +var $apply = require('./functionApply'); +var $call = require('./functionCall'); +var $reflectApply = require('./reflectApply'); + +/** @type {import('./actualApply')} */ +module.exports = $reflectApply || bind.call($call, $apply); diff --git a/dist/node_modules/call-bind-apply-helpers/applyBind.d.ts b/dist/node_modules/call-bind-apply-helpers/applyBind.d.ts new file mode 100644 index 00000000..d176c1ab --- /dev/null +++ b/dist/node_modules/call-bind-apply-helpers/applyBind.d.ts @@ -0,0 +1,19 @@ +import actualApply from './actualApply'; + +type TupleSplitHead = T['length'] extends N + ? T + : T extends [...infer R, any] + ? TupleSplitHead + : never + +type TupleSplitTail = O['length'] extends N + ? T + : T extends [infer F, ...infer R] + ? TupleSplitTail<[...R], N, [...O, F]> + : never + +type TupleSplit = [TupleSplitHead, TupleSplitTail] + +declare function applyBind(...args: TupleSplit, 2>[1]): ReturnType; + +export = applyBind; \ No newline at end of file diff --git a/dist/node_modules/call-bind-apply-helpers/applyBind.js b/dist/node_modules/call-bind-apply-helpers/applyBind.js new file mode 100644 index 00000000..d2b77231 --- /dev/null +++ b/dist/node_modules/call-bind-apply-helpers/applyBind.js @@ -0,0 +1,10 @@ +'use strict'; + +var bind = require('function-bind'); +var $apply = require('./functionApply'); +var actualApply = require('./actualApply'); + +/** @type {import('./applyBind')} */ +module.exports = function applyBind() { + return actualApply(bind, $apply, arguments); +}; diff --git a/dist/node_modules/call-bind-apply-helpers/functionApply.d.ts b/dist/node_modules/call-bind-apply-helpers/functionApply.d.ts new file mode 100644 index 00000000..1f6e11b3 --- /dev/null +++ b/dist/node_modules/call-bind-apply-helpers/functionApply.d.ts @@ -0,0 +1 @@ +export = Function.prototype.apply; \ No newline at end of file diff --git a/dist/node_modules/call-bind-apply-helpers/functionApply.js b/dist/node_modules/call-bind-apply-helpers/functionApply.js new file mode 100644 index 00000000..c71df9c2 --- /dev/null +++ b/dist/node_modules/call-bind-apply-helpers/functionApply.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./functionApply')} */ +module.exports = Function.prototype.apply; diff --git a/dist/node_modules/call-bind-apply-helpers/functionCall.d.ts b/dist/node_modules/call-bind-apply-helpers/functionCall.d.ts new file mode 100644 index 00000000..15e93df3 --- /dev/null +++ b/dist/node_modules/call-bind-apply-helpers/functionCall.d.ts @@ -0,0 +1 @@ +export = Function.prototype.call; \ No newline at end of file diff --git a/dist/node_modules/call-bind-apply-helpers/functionCall.js b/dist/node_modules/call-bind-apply-helpers/functionCall.js new file mode 100644 index 00000000..7a8d8735 --- /dev/null +++ b/dist/node_modules/call-bind-apply-helpers/functionCall.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./functionCall')} */ +module.exports = Function.prototype.call; diff --git a/dist/node_modules/call-bind-apply-helpers/index.d.ts b/dist/node_modules/call-bind-apply-helpers/index.d.ts new file mode 100644 index 00000000..541516bd --- /dev/null +++ b/dist/node_modules/call-bind-apply-helpers/index.d.ts @@ -0,0 +1,64 @@ +type RemoveFromTuple< + Tuple extends readonly unknown[], + RemoveCount extends number, + Index extends 1[] = [] +> = Index["length"] extends RemoveCount + ? Tuple + : Tuple extends [infer First, ...infer Rest] + ? RemoveFromTuple + : Tuple; + +type ConcatTuples< + Prefix extends readonly unknown[], + Suffix extends readonly unknown[] +> = [...Prefix, ...Suffix]; + +type ExtractFunctionParams = T extends (this: infer TThis, ...args: infer P extends readonly unknown[]) => infer R + ? { thisArg: TThis; params: P; returnType: R } + : never; + +type BindFunction< + T extends (this: any, ...args: any[]) => any, + TThis, + TBoundArgs extends readonly unknown[], + ReceiverBound extends boolean +> = ExtractFunctionParams extends { + thisArg: infer OrigThis; + params: infer P extends readonly unknown[]; + returnType: infer R; +} + ? ReceiverBound extends true + ? (...args: RemoveFromTuple>) => R extends [OrigThis, ...infer Rest] + ? [TThis, ...Rest] // Replace `this` with `thisArg` + : R + : >>( + thisArg: U, + ...args: RemainingArgs + ) => R extends [OrigThis, ...infer Rest] + ? [U, ...ConcatTuples] // Preserve bound args in return type + : R + : never; + +declare function callBind< + const T extends (this: any, ...args: any[]) => any, + Extracted extends ExtractFunctionParams, + const TBoundArgs extends Partial & readonly unknown[], + const TThis extends Extracted["thisArg"] +>( + args: [fn: T, thisArg: TThis, ...boundArgs: TBoundArgs] +): BindFunction; + +declare function callBind< + const T extends (this: any, ...args: any[]) => any, + Extracted extends ExtractFunctionParams, + const TBoundArgs extends Partial & readonly unknown[] +>( + args: [fn: T, ...boundArgs: TBoundArgs] +): BindFunction; + +declare function callBind( + args: [fn: Exclude, ...rest: TArgs] +): never; + +// export as namespace callBind; +export = callBind; diff --git a/dist/node_modules/call-bind-apply-helpers/index.js b/dist/node_modules/call-bind-apply-helpers/index.js new file mode 100644 index 00000000..2f6dab4c --- /dev/null +++ b/dist/node_modules/call-bind-apply-helpers/index.js @@ -0,0 +1,15 @@ +'use strict'; + +var bind = require('function-bind'); +var $TypeError = require('es-errors/type'); + +var $call = require('./functionCall'); +var $actualApply = require('./actualApply'); + +/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */ +module.exports = function callBindBasic(args) { + if (args.length < 1 || typeof args[0] !== 'function') { + throw new $TypeError('a function is required'); + } + return $actualApply(bind, $call, args); +}; diff --git a/dist/node_modules/call-bind-apply-helpers/package.json b/dist/node_modules/call-bind-apply-helpers/package.json new file mode 100644 index 00000000..923b8be2 --- /dev/null +++ b/dist/node_modules/call-bind-apply-helpers/package.json @@ -0,0 +1,85 @@ +{ + "name": "call-bind-apply-helpers", + "version": "1.0.2", + "description": "Helper functions around Function call/apply/bind, for use in `call-bind`", + "main": "index.js", + "exports": { + ".": "./index.js", + "./actualApply": "./actualApply.js", + "./applyBind": "./applyBind.js", + "./functionApply": "./functionApply.js", + "./functionCall": "./functionCall.js", + "./reflectApply": "./reflectApply.js", + "./package.json": "./package.json" + }, + "scripts": { + "prepack": "npmignore --auto --commentLines=auto", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepublishOnly": "safe-publish-latest", + "prelint": "evalmd README.md", + "lint": "eslint --ext=.js,.mjs .", + "postlint": "tsc -p . && attw -P", + "pretest": "npm run lint", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "npx npm@'>=10.2' audit --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/call-bind-apply-helpers.git" + }, + "author": "Jordan Harband ", + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/call-bind-apply-helpers/issues" + }, + "homepage": "https://github.com/ljharb/call-bind-apply-helpers#readme", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "devDependencies": { + "@arethetypeswrong/cli": "^0.17.3", + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.2.3", + "@types/for-each": "^0.3.3", + "@types/function-bind": "^1.1.10", + "@types/object-inspect": "^1.13.0", + "@types/tape": "^5.8.1", + "auto-changelog": "^2.5.0", + "encoding": "^0.1.13", + "es-value-fixtures": "^1.7.1", + "eslint": "=8.8.0", + "evalmd": "^0.0.19", + "for-each": "^0.3.5", + "has-strict-mode": "^1.1.0", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "object-inspect": "^1.13.4", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "testling": { + "files": "test/index.js" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "engines": { + "node": ">= 0.4" + } +} diff --git a/dist/node_modules/call-bind-apply-helpers/reflectApply.d.ts b/dist/node_modules/call-bind-apply-helpers/reflectApply.d.ts new file mode 100644 index 00000000..6b2ae764 --- /dev/null +++ b/dist/node_modules/call-bind-apply-helpers/reflectApply.d.ts @@ -0,0 +1,3 @@ +declare const reflectApply: false | typeof Reflect.apply; + +export = reflectApply; diff --git a/dist/node_modules/call-bind-apply-helpers/reflectApply.js b/dist/node_modules/call-bind-apply-helpers/reflectApply.js new file mode 100644 index 00000000..3d03caa6 --- /dev/null +++ b/dist/node_modules/call-bind-apply-helpers/reflectApply.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./reflectApply')} */ +module.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply; diff --git a/dist/node_modules/call-bind-apply-helpers/test/index.js b/dist/node_modules/call-bind-apply-helpers/test/index.js new file mode 100644 index 00000000..1cdc89ed --- /dev/null +++ b/dist/node_modules/call-bind-apply-helpers/test/index.js @@ -0,0 +1,63 @@ +'use strict'; + +var callBind = require('../'); +var hasStrictMode = require('has-strict-mode')(); +var forEach = require('for-each'); +var inspect = require('object-inspect'); +var v = require('es-value-fixtures'); + +var test = require('tape'); + +test('callBindBasic', function (t) { + forEach(v.nonFunctions, function (nonFunction) { + t['throws']( + // @ts-expect-error + function () { callBind([nonFunction]); }, + TypeError, + inspect(nonFunction) + ' is not a function' + ); + }); + + var sentinel = { sentinel: true }; + /** @type {(this: T, a: A, b: B) => [T | undefined, A, B]} */ + var func = function (a, b) { + // eslint-disable-next-line no-invalid-this + return [!hasStrictMode && this === global ? undefined : this, a, b]; + }; + t.equal(func.length, 2, 'original function length is 2'); + + /** type {(thisArg: unknown, a: number, b: number) => [unknown, number, number]} */ + var bound = callBind([func]); + /** type {((a: number, b: number) => [typeof sentinel, typeof a, typeof b])} */ + var boundR = callBind([func, sentinel]); + /** type {((b: number) => [typeof sentinel, number, typeof b])} */ + var boundArg = callBind([func, sentinel, /** @type {const} */ (1)]); + + // @ts-expect-error + t.deepEqual(bound(), [undefined, undefined, undefined], 'bound func with no args'); + + // @ts-expect-error + t.deepEqual(func(), [undefined, undefined, undefined], 'unbound func with too few args'); + // @ts-expect-error + t.deepEqual(bound(1, 2), [hasStrictMode ? 1 : Object(1), 2, undefined], 'bound func too few args'); + // @ts-expect-error + t.deepEqual(boundR(), [sentinel, undefined, undefined], 'bound func with receiver, with too few args'); + // @ts-expect-error + t.deepEqual(boundArg(), [sentinel, 1, undefined], 'bound func with receiver and arg, with too few args'); + + t.deepEqual(func(1, 2), [undefined, 1, 2], 'unbound func with right args'); + t.deepEqual(bound(1, 2, 3), [hasStrictMode ? 1 : Object(1), 2, 3], 'bound func with right args'); + t.deepEqual(boundR(1, 2), [sentinel, 1, 2], 'bound func with receiver, with right args'); + t.deepEqual(boundArg(2), [sentinel, 1, 2], 'bound func with receiver and arg, with right arg'); + + // @ts-expect-error + t.deepEqual(func(1, 2, 3), [undefined, 1, 2], 'unbound func with too many args'); + // @ts-expect-error + t.deepEqual(bound(1, 2, 3, 4), [hasStrictMode ? 1 : Object(1), 2, 3], 'bound func with too many args'); + // @ts-expect-error + t.deepEqual(boundR(1, 2, 3), [sentinel, 1, 2], 'bound func with receiver, with too many args'); + // @ts-expect-error + t.deepEqual(boundArg(2, 3), [sentinel, 1, 2], 'bound func with receiver and arg, with too many args'); + + t.end(); +}); diff --git a/dist/node_modules/call-bind-apply-helpers/tsconfig.json b/dist/node_modules/call-bind-apply-helpers/tsconfig.json new file mode 100644 index 00000000..aef99930 --- /dev/null +++ b/dist/node_modules/call-bind-apply-helpers/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "@ljharb/tsconfig", + "compilerOptions": { + "target": "es2021", + }, + "exclude": [ + "coverage", + ], +} \ No newline at end of file diff --git a/dist/node_modules/combined-stream/License b/dist/node_modules/combined-stream/License new file mode 100644 index 00000000..4804b7ab --- /dev/null +++ b/dist/node_modules/combined-stream/License @@ -0,0 +1,19 @@ +Copyright (c) 2011 Debuggable Limited + +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. diff --git a/dist/node_modules/combined-stream/Readme.md b/dist/node_modules/combined-stream/Readme.md new file mode 100644 index 00000000..9e367b5b --- /dev/null +++ b/dist/node_modules/combined-stream/Readme.md @@ -0,0 +1,138 @@ +# combined-stream + +A stream that emits multiple other streams one after another. + +**NB** Currently `combined-stream` works with streams version 1 only. There is ongoing effort to switch this library to streams version 2. Any help is welcome. :) Meanwhile you can explore other libraries that provide streams2 support with more or less compatibility with `combined-stream`. + +- [combined-stream2](https://www.npmjs.com/package/combined-stream2): A drop-in streams2-compatible replacement for the combined-stream module. + +- [multistream](https://www.npmjs.com/package/multistream): A stream that emits multiple other streams one after another. + +## Installation + +``` bash +npm install combined-stream +``` + +## Usage + +Here is a simple example that shows how you can use combined-stream to combine +two files into one: + +``` javascript +var CombinedStream = require('combined-stream'); +var fs = require('fs'); + +var combinedStream = CombinedStream.create(); +combinedStream.append(fs.createReadStream('file1.txt')); +combinedStream.append(fs.createReadStream('file2.txt')); + +combinedStream.pipe(fs.createWriteStream('combined.txt')); +``` + +While the example above works great, it will pause all source streams until +they are needed. If you don't want that to happen, you can set `pauseStreams` +to `false`: + +``` javascript +var CombinedStream = require('combined-stream'); +var fs = require('fs'); + +var combinedStream = CombinedStream.create({pauseStreams: false}); +combinedStream.append(fs.createReadStream('file1.txt')); +combinedStream.append(fs.createReadStream('file2.txt')); + +combinedStream.pipe(fs.createWriteStream('combined.txt')); +``` + +However, what if you don't have all the source streams yet, or you don't want +to allocate the resources (file descriptors, memory, etc.) for them right away? +Well, in that case you can simply provide a callback that supplies the stream +by calling a `next()` function: + +``` javascript +var CombinedStream = require('combined-stream'); +var fs = require('fs'); + +var combinedStream = CombinedStream.create(); +combinedStream.append(function(next) { + next(fs.createReadStream('file1.txt')); +}); +combinedStream.append(function(next) { + next(fs.createReadStream('file2.txt')); +}); + +combinedStream.pipe(fs.createWriteStream('combined.txt')); +``` + +## API + +### CombinedStream.create([options]) + +Returns a new combined stream object. Available options are: + +* `maxDataSize` +* `pauseStreams` + +The effect of those options is described below. + +### combinedStream.pauseStreams = `true` + +Whether to apply back pressure to the underlaying streams. If set to `false`, +the underlaying streams will never be paused. If set to `true`, the +underlaying streams will be paused right after being appended, as well as when +`delayedStream.pipe()` wants to throttle. + +### combinedStream.maxDataSize = `2 * 1024 * 1024` + +The maximum amount of bytes (or characters) to buffer for all source streams. +If this value is exceeded, `combinedStream` emits an `'error'` event. + +### combinedStream.dataSize = `0` + +The amount of bytes (or characters) currently buffered by `combinedStream`. + +### combinedStream.append(stream) + +Appends the given `stream` to the combinedStream object. If `pauseStreams` is +set to `true, this stream will also be paused right away. + +`streams` can also be a function that takes one parameter called `next`. `next` +is a function that must be invoked in order to provide the `next` stream, see +example above. + +Regardless of how the `stream` is appended, combined-stream always attaches an +`'error'` listener to it, so you don't have to do that manually. + +Special case: `stream` can also be a String or Buffer. + +### combinedStream.write(data) + +You should not call this, `combinedStream` takes care of piping the appended +streams into itself for you. + +### combinedStream.resume() + +Causes `combinedStream` to start drain the streams it manages. The function is +idempotent, and also emits a `'resume'` event each time which usually goes to +the stream that is currently being drained. + +### combinedStream.pause(); + +If `combinedStream.pauseStreams` is set to `false`, this does nothing. +Otherwise a `'pause'` event is emitted, this goes to the stream that is +currently being drained, so you can use it to apply back pressure. + +### combinedStream.end(); + +Sets `combinedStream.writable` to false, emits an `'end'` event, and removes +all streams from the queue. + +### combinedStream.destroy(); + +Same as `combinedStream.end()`, except it emits a `'close'` event instead of +`'end'`. + +## License + +combined-stream is licensed under the MIT license. diff --git a/dist/node_modules/combined-stream/lib/combined_stream.js b/dist/node_modules/combined-stream/lib/combined_stream.js new file mode 100644 index 00000000..125f097f --- /dev/null +++ b/dist/node_modules/combined-stream/lib/combined_stream.js @@ -0,0 +1,208 @@ +var util = require('util'); +var Stream = require('stream').Stream; +var DelayedStream = require('delayed-stream'); + +module.exports = CombinedStream; +function CombinedStream() { + this.writable = false; + this.readable = true; + this.dataSize = 0; + this.maxDataSize = 2 * 1024 * 1024; + this.pauseStreams = true; + + this._released = false; + this._streams = []; + this._currentStream = null; + this._insideLoop = false; + this._pendingNext = false; +} +util.inherits(CombinedStream, Stream); + +CombinedStream.create = function(options) { + var combinedStream = new this(); + + options = options || {}; + for (var option in options) { + combinedStream[option] = options[option]; + } + + return combinedStream; +}; + +CombinedStream.isStreamLike = function(stream) { + return (typeof stream !== 'function') + && (typeof stream !== 'string') + && (typeof stream !== 'boolean') + && (typeof stream !== 'number') + && (!Buffer.isBuffer(stream)); +}; + +CombinedStream.prototype.append = function(stream) { + var isStreamLike = CombinedStream.isStreamLike(stream); + + if (isStreamLike) { + if (!(stream instanceof DelayedStream)) { + var newStream = DelayedStream.create(stream, { + maxDataSize: Infinity, + pauseStream: this.pauseStreams, + }); + stream.on('data', this._checkDataSize.bind(this)); + stream = newStream; + } + + this._handleErrors(stream); + + if (this.pauseStreams) { + stream.pause(); + } + } + + this._streams.push(stream); + return this; +}; + +CombinedStream.prototype.pipe = function(dest, options) { + Stream.prototype.pipe.call(this, dest, options); + this.resume(); + return dest; +}; + +CombinedStream.prototype._getNext = function() { + this._currentStream = null; + + if (this._insideLoop) { + this._pendingNext = true; + return; // defer call + } + + this._insideLoop = true; + try { + do { + this._pendingNext = false; + this._realGetNext(); + } while (this._pendingNext); + } finally { + this._insideLoop = false; + } +}; + +CombinedStream.prototype._realGetNext = function() { + var stream = this._streams.shift(); + + + if (typeof stream == 'undefined') { + this.end(); + return; + } + + if (typeof stream !== 'function') { + this._pipeNext(stream); + return; + } + + var getStream = stream; + getStream(function(stream) { + var isStreamLike = CombinedStream.isStreamLike(stream); + if (isStreamLike) { + stream.on('data', this._checkDataSize.bind(this)); + this._handleErrors(stream); + } + + this._pipeNext(stream); + }.bind(this)); +}; + +CombinedStream.prototype._pipeNext = function(stream) { + this._currentStream = stream; + + var isStreamLike = CombinedStream.isStreamLike(stream); + if (isStreamLike) { + stream.on('end', this._getNext.bind(this)); + stream.pipe(this, {end: false}); + return; + } + + var value = stream; + this.write(value); + this._getNext(); +}; + +CombinedStream.prototype._handleErrors = function(stream) { + var self = this; + stream.on('error', function(err) { + self._emitError(err); + }); +}; + +CombinedStream.prototype.write = function(data) { + this.emit('data', data); +}; + +CombinedStream.prototype.pause = function() { + if (!this.pauseStreams) { + return; + } + + if(this.pauseStreams && this._currentStream && typeof(this._currentStream.pause) == 'function') this._currentStream.pause(); + this.emit('pause'); +}; + +CombinedStream.prototype.resume = function() { + if (!this._released) { + this._released = true; + this.writable = true; + this._getNext(); + } + + if(this.pauseStreams && this._currentStream && typeof(this._currentStream.resume) == 'function') this._currentStream.resume(); + this.emit('resume'); +}; + +CombinedStream.prototype.end = function() { + this._reset(); + this.emit('end'); +}; + +CombinedStream.prototype.destroy = function() { + this._reset(); + this.emit('close'); +}; + +CombinedStream.prototype._reset = function() { + this.writable = false; + this._streams = []; + this._currentStream = null; +}; + +CombinedStream.prototype._checkDataSize = function() { + this._updateDataSize(); + if (this.dataSize <= this.maxDataSize) { + return; + } + + var message = + 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.'; + this._emitError(new Error(message)); +}; + +CombinedStream.prototype._updateDataSize = function() { + this.dataSize = 0; + + var self = this; + this._streams.forEach(function(stream) { + if (!stream.dataSize) { + return; + } + + self.dataSize += stream.dataSize; + }); + + if (this._currentStream && this._currentStream.dataSize) { + this.dataSize += this._currentStream.dataSize; + } +}; + +CombinedStream.prototype._emitError = function(err) { + this._reset(); + this.emit('error', err); +}; diff --git a/dist/node_modules/combined-stream/package.json b/dist/node_modules/combined-stream/package.json new file mode 100644 index 00000000..6982b6da --- /dev/null +++ b/dist/node_modules/combined-stream/package.json @@ -0,0 +1,25 @@ +{ + "author": "Felix Geisendörfer (http://debuggable.com/)", + "name": "combined-stream", + "description": "A stream that emits multiple other streams one after another.", + "version": "1.0.8", + "homepage": "https://github.com/felixge/node-combined-stream", + "repository": { + "type": "git", + "url": "git://github.com/felixge/node-combined-stream.git" + }, + "main": "./lib/combined_stream", + "scripts": { + "test": "node test/run.js" + }, + "engines": { + "node": ">= 0.8" + }, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "devDependencies": { + "far": "~0.0.7" + }, + "license": "MIT" +} diff --git a/dist/node_modules/combined-stream/yarn.lock b/dist/node_modules/combined-stream/yarn.lock new file mode 100644 index 00000000..7edf4184 --- /dev/null +++ b/dist/node_modules/combined-stream/yarn.lock @@ -0,0 +1,17 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +far@~0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/far/-/far-0.0.7.tgz#01c1fd362bcd26ce9cf161af3938aa34619f79a7" + dependencies: + oop "0.0.3" + +oop@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/oop/-/oop-0.0.3.tgz#70fa405a5650891a194fdc82ca68dad6dabf4401" diff --git a/dist/node_modules/delayed-stream/.npmignore b/dist/node_modules/delayed-stream/.npmignore new file mode 100644 index 00000000..9daeafb9 --- /dev/null +++ b/dist/node_modules/delayed-stream/.npmignore @@ -0,0 +1 @@ +test diff --git a/dist/node_modules/delayed-stream/License b/dist/node_modules/delayed-stream/License new file mode 100644 index 00000000..4804b7ab --- /dev/null +++ b/dist/node_modules/delayed-stream/License @@ -0,0 +1,19 @@ +Copyright (c) 2011 Debuggable Limited + +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. diff --git a/dist/node_modules/delayed-stream/Makefile b/dist/node_modules/delayed-stream/Makefile new file mode 100644 index 00000000..b4ff85a3 --- /dev/null +++ b/dist/node_modules/delayed-stream/Makefile @@ -0,0 +1,7 @@ +SHELL := /bin/bash + +test: + @./test/run.js + +.PHONY: test + diff --git a/dist/node_modules/delayed-stream/Readme.md b/dist/node_modules/delayed-stream/Readme.md new file mode 100644 index 00000000..aca36f9f --- /dev/null +++ b/dist/node_modules/delayed-stream/Readme.md @@ -0,0 +1,141 @@ +# delayed-stream + +Buffers events from a stream until you are ready to handle them. + +## Installation + +``` bash +npm install delayed-stream +``` + +## Usage + +The following example shows how to write a http echo server that delays its +response by 1000 ms. + +``` javascript +var DelayedStream = require('delayed-stream'); +var http = require('http'); + +http.createServer(function(req, res) { + var delayed = DelayedStream.create(req); + + setTimeout(function() { + res.writeHead(200); + delayed.pipe(res); + }, 1000); +}); +``` + +If you are not using `Stream#pipe`, you can also manually release the buffered +events by calling `delayedStream.resume()`: + +``` javascript +var delayed = DelayedStream.create(req); + +setTimeout(function() { + // Emit all buffered events and resume underlaying source + delayed.resume(); +}, 1000); +``` + +## Implementation + +In order to use this meta stream properly, here are a few things you should +know about the implementation. + +### Event Buffering / Proxying + +All events of the `source` stream are hijacked by overwriting the `source.emit` +method. Until node implements a catch-all event listener, this is the only way. + +However, delayed-stream still continues to emit all events it captures on the +`source`, regardless of whether you have released the delayed stream yet or +not. + +Upon creation, delayed-stream captures all `source` events and stores them in +an internal event buffer. Once `delayedStream.release()` is called, all +buffered events are emitted on the `delayedStream`, and the event buffer is +cleared. After that, delayed-stream merely acts as a proxy for the underlaying +source. + +### Error handling + +Error events on `source` are buffered / proxied just like any other events. +However, `delayedStream.create` attaches a no-op `'error'` listener to the +`source`. This way you only have to handle errors on the `delayedStream` +object, rather than in two places. + +### Buffer limits + +delayed-stream provides a `maxDataSize` property that can be used to limit +the amount of data being buffered. In order to protect you from bad `source` +streams that don't react to `source.pause()`, this feature is enabled by +default. + +## API + +### DelayedStream.create(source, [options]) + +Returns a new `delayedStream`. Available options are: + +* `pauseStream` +* `maxDataSize` + +The description for those properties can be found below. + +### delayedStream.source + +The `source` stream managed by this object. This is useful if you are +passing your `delayedStream` around, and you still want to access properties +on the `source` object. + +### delayedStream.pauseStream = true + +Whether to pause the underlaying `source` when calling +`DelayedStream.create()`. Modifying this property afterwards has no effect. + +### delayedStream.maxDataSize = 1024 * 1024 + +The amount of data to buffer before emitting an `error`. + +If the underlaying source is emitting `Buffer` objects, the `maxDataSize` +refers to bytes. + +If the underlaying source is emitting JavaScript strings, the size refers to +characters. + +If you know what you are doing, you can set this property to `Infinity` to +disable this feature. You can also modify this property during runtime. + +### delayedStream.dataSize = 0 + +The amount of data buffered so far. + +### delayedStream.readable + +An ECMA5 getter that returns the value of `source.readable`. + +### delayedStream.resume() + +If the `delayedStream` has not been released so far, `delayedStream.release()` +is called. + +In either case, `source.resume()` is called. + +### delayedStream.pause() + +Calls `source.pause()`. + +### delayedStream.pipe(dest) + +Calls `delayedStream.resume()` and then proxies the arguments to `source.pipe`. + +### delayedStream.release() + +Emits and clears all events that have been buffered up so far. This does not +resume the underlaying source, use `delayedStream.resume()` instead. + +## License + +delayed-stream is licensed under the MIT license. diff --git a/dist/node_modules/delayed-stream/lib/delayed_stream.js b/dist/node_modules/delayed-stream/lib/delayed_stream.js new file mode 100644 index 00000000..b38fc85f --- /dev/null +++ b/dist/node_modules/delayed-stream/lib/delayed_stream.js @@ -0,0 +1,107 @@ +var Stream = require('stream').Stream; +var util = require('util'); + +module.exports = DelayedStream; +function DelayedStream() { + this.source = null; + this.dataSize = 0; + this.maxDataSize = 1024 * 1024; + this.pauseStream = true; + + this._maxDataSizeExceeded = false; + this._released = false; + this._bufferedEvents = []; +} +util.inherits(DelayedStream, Stream); + +DelayedStream.create = function(source, options) { + var delayedStream = new this(); + + options = options || {}; + for (var option in options) { + delayedStream[option] = options[option]; + } + + delayedStream.source = source; + + var realEmit = source.emit; + source.emit = function() { + delayedStream._handleEmit(arguments); + return realEmit.apply(source, arguments); + }; + + source.on('error', function() {}); + if (delayedStream.pauseStream) { + source.pause(); + } + + return delayedStream; +}; + +Object.defineProperty(DelayedStream.prototype, 'readable', { + configurable: true, + enumerable: true, + get: function() { + return this.source.readable; + } +}); + +DelayedStream.prototype.setEncoding = function() { + return this.source.setEncoding.apply(this.source, arguments); +}; + +DelayedStream.prototype.resume = function() { + if (!this._released) { + this.release(); + } + + this.source.resume(); +}; + +DelayedStream.prototype.pause = function() { + this.source.pause(); +}; + +DelayedStream.prototype.release = function() { + this._released = true; + + this._bufferedEvents.forEach(function(args) { + this.emit.apply(this, args); + }.bind(this)); + this._bufferedEvents = []; +}; + +DelayedStream.prototype.pipe = function() { + var r = Stream.prototype.pipe.apply(this, arguments); + this.resume(); + return r; +}; + +DelayedStream.prototype._handleEmit = function(args) { + if (this._released) { + this.emit.apply(this, args); + return; + } + + if (args[0] === 'data') { + this.dataSize += args[1].length; + this._checkIfMaxDataSizeExceeded(); + } + + this._bufferedEvents.push(args); +}; + +DelayedStream.prototype._checkIfMaxDataSizeExceeded = function() { + if (this._maxDataSizeExceeded) { + return; + } + + if (this.dataSize <= this.maxDataSize) { + return; + } + + this._maxDataSizeExceeded = true; + var message = + 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.' + this.emit('error', new Error(message)); +}; diff --git a/dist/node_modules/delayed-stream/package.json b/dist/node_modules/delayed-stream/package.json new file mode 100644 index 00000000..eea3291c --- /dev/null +++ b/dist/node_modules/delayed-stream/package.json @@ -0,0 +1,27 @@ +{ + "author": "Felix Geisendörfer (http://debuggable.com/)", + "contributors": [ + "Mike Atkins " + ], + "name": "delayed-stream", + "description": "Buffers events from a stream until you are ready to handle them.", + "license": "MIT", + "version": "1.0.0", + "homepage": "https://github.com/felixge/node-delayed-stream", + "repository": { + "type": "git", + "url": "git://github.com/felixge/node-delayed-stream.git" + }, + "main": "./lib/delayed_stream", + "engines": { + "node": ">=0.4.0" + }, + "scripts": { + "test": "make test" + }, + "dependencies": {}, + "devDependencies": { + "fake": "0.2.0", + "far": "0.0.1" + } +} diff --git a/dist/node_modules/deprecation/LICENSE b/dist/node_modules/deprecation/LICENSE new file mode 100644 index 00000000..1683b583 --- /dev/null +++ b/dist/node_modules/deprecation/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Gregor Martynus and contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/dist/node_modules/deprecation/README.md b/dist/node_modules/deprecation/README.md new file mode 100644 index 00000000..648809d5 --- /dev/null +++ b/dist/node_modules/deprecation/README.md @@ -0,0 +1,77 @@ +# deprecation + +> Log a deprecation message with stack + +![build](https://action-badges.now.sh/gr2m/deprecation) + +## Usage + + + + + + +
+Browsers + + +Load `deprecation` directly from [cdn.pika.dev](https://cdn.pika.dev) + +```html + +``` + +
+Node + + +Install with `npm install deprecation` + +```js +const { Deprecation } = require("deprecation"); +// or: import { Deprecation } from "deprecation"; +``` + +
+ +```js +function foo() { + bar(); +} + +function bar() { + baz(); +} + +function baz() { + console.warn(new Deprecation("[my-lib] foo() is deprecated, use bar()")); +} + +foo(); +// { Deprecation: [my-lib] foo() is deprecated, use bar() +// at baz (/path/to/file.js:12:15) +// at bar (/path/to/file.js:8:3) +// at foo (/path/to/file.js:4:3) +``` + +To log a deprecation message only once, you can use the [once](https://www.npmjs.com/package/once) module. + +```js +const Deprecation = require("deprecation"); +const once = require("once"); + +const deprecateFoo = once(console.warn); + +function foo() { + deprecateFoo(new Deprecation("[my-lib] foo() is deprecated, use bar()")); +} + +foo(); +foo(); // logs nothing +``` + +## License + +[ISC](LICENSE) diff --git a/dist/node_modules/deprecation/dist-node/index.js b/dist/node_modules/deprecation/dist-node/index.js new file mode 100644 index 00000000..9da17757 --- /dev/null +++ b/dist/node_modules/deprecation/dist-node/index.js @@ -0,0 +1,20 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +class Deprecation extends Error { + constructor(message) { + super(message); // Maintains proper stack trace (only available on V8) + + /* istanbul ignore next */ + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = 'Deprecation'; + } + +} + +exports.Deprecation = Deprecation; diff --git a/dist/node_modules/deprecation/dist-src/index.js b/dist/node_modules/deprecation/dist-src/index.js new file mode 100644 index 00000000..7950fdc0 --- /dev/null +++ b/dist/node_modules/deprecation/dist-src/index.js @@ -0,0 +1,14 @@ +export class Deprecation extends Error { + constructor(message) { + super(message); // Maintains proper stack trace (only available on V8) + + /* istanbul ignore next */ + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = 'Deprecation'; + } + +} \ No newline at end of file diff --git a/dist/node_modules/deprecation/dist-types/index.d.ts b/dist/node_modules/deprecation/dist-types/index.d.ts new file mode 100644 index 00000000..e3ae7ad4 --- /dev/null +++ b/dist/node_modules/deprecation/dist-types/index.d.ts @@ -0,0 +1,3 @@ +export class Deprecation extends Error { + name: "Deprecation"; +} diff --git a/dist/node_modules/deprecation/dist-web/index.js b/dist/node_modules/deprecation/dist-web/index.js new file mode 100644 index 00000000..c6bbda75 --- /dev/null +++ b/dist/node_modules/deprecation/dist-web/index.js @@ -0,0 +1,16 @@ +class Deprecation extends Error { + constructor(message) { + super(message); // Maintains proper stack trace (only available on V8) + + /* istanbul ignore next */ + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = 'Deprecation'; + } + +} + +export { Deprecation }; diff --git a/dist/node_modules/deprecation/package.json b/dist/node_modules/deprecation/package.json new file mode 100644 index 00000000..a45fd513 --- /dev/null +++ b/dist/node_modules/deprecation/package.json @@ -0,0 +1,34 @@ +{ + "name": "deprecation", + "description": "Log a deprecation message with stack", + "version": "2.3.1", + "license": "ISC", + "files": [ + "dist-*/", + "bin/" + ], + "esnext": "dist-src/index.js", + "main": "dist-node/index.js", + "module": "dist-web/index.js", + "types": "dist-types/index.d.ts", + "pika": true, + "sideEffects": false, + "keywords": [ + "deprecate", + "deprecated", + "deprecation" + ], + "repository": { + "type": "git", + "url": "https://github.com/gr2m/deprecation.git" + }, + "dependencies": {}, + "devDependencies": { + "@pika/pack": "^0.3.7", + "@pika/plugin-build-node": "^0.4.0", + "@pika/plugin-build-types": "^0.4.0", + "@pika/plugin-build-web": "^0.4.0", + "@pika/plugin-standard-pkg": "^0.4.0", + "semantic-release": "^15.13.3" + } +} diff --git a/dist/node_modules/dunder-proto/.eslintrc b/dist/node_modules/dunder-proto/.eslintrc new file mode 100644 index 00000000..3b5d9e90 --- /dev/null +++ b/dist/node_modules/dunder-proto/.eslintrc @@ -0,0 +1,5 @@ +{ + "root": true, + + "extends": "@ljharb", +} diff --git a/dist/node_modules/dunder-proto/.github/FUNDING.yml b/dist/node_modules/dunder-proto/.github/FUNDING.yml new file mode 100644 index 00000000..8a1d7b0e --- /dev/null +++ b/dist/node_modules/dunder-proto/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: [ljharb] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: npm/dunder-proto +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/dist/node_modules/dunder-proto/.nycrc b/dist/node_modules/dunder-proto/.nycrc new file mode 100644 index 00000000..1826526e --- /dev/null +++ b/dist/node_modules/dunder-proto/.nycrc @@ -0,0 +1,13 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "lines": 86, + "statements": 85.93, + "functions": 82.43, + "branches": 76.06, + "exclude": [ + "coverage", + "test" + ] +} diff --git a/dist/node_modules/dunder-proto/CHANGELOG.md b/dist/node_modules/dunder-proto/CHANGELOG.md new file mode 100644 index 00000000..9b8b2f82 --- /dev/null +++ b/dist/node_modules/dunder-proto/CHANGELOG.md @@ -0,0 +1,24 @@ +# 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.0.1](https://github.com/es-shims/dunder-proto/compare/v1.0.0...v1.0.1) - 2024-12-16 + +### Commits + +- [Fix] do not crash when `--disable-proto=throw` [`6c367d9`](https://github.com/es-shims/dunder-proto/commit/6c367d919bc1604778689a297bbdbfea65752847) +- [Tests] ensure noproto tests only use the current version of dunder-proto [`b02365b`](https://github.com/es-shims/dunder-proto/commit/b02365b9cf889c4a2cac7be0c3cfc90a789af36c) +- [Dev Deps] update `@arethetypeswrong/cli`, `@types/tape` [`e3c5c3b`](https://github.com/es-shims/dunder-proto/commit/e3c5c3bd81cf8cef7dff2eca19e558f0e307f666) +- [Deps] update `call-bind-apply-helpers` [`19f1da0`](https://github.com/es-shims/dunder-proto/commit/19f1da028b8dd0d05c85bfd8f7eed2819b686450) + +## v1.0.0 - 2024-12-06 + +### Commits + +- Initial implementation, tests, readme, types [`a5b74b0`](https://github.com/es-shims/dunder-proto/commit/a5b74b0082f5270cb0905cd9a2e533cee7498373) +- Initial commit [`73fb5a3`](https://github.com/es-shims/dunder-proto/commit/73fb5a353b51ac2ab00c9fdeb0114daffd4c07a8) +- npm init [`80152dc`](https://github.com/es-shims/dunder-proto/commit/80152dc98155da4eb046d9f67a87ed96e8280a1d) +- Only apps should have lockfiles [`03e6660`](https://github.com/es-shims/dunder-proto/commit/03e6660a1d70dc401f3e217a031475ec537243dd) diff --git a/dist/node_modules/dunder-proto/LICENSE b/dist/node_modules/dunder-proto/LICENSE new file mode 100644 index 00000000..34995e79 --- /dev/null +++ b/dist/node_modules/dunder-proto/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 ECMAScript Shims + +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. diff --git a/dist/node_modules/dunder-proto/README.md b/dist/node_modules/dunder-proto/README.md new file mode 100644 index 00000000..44b80a2d --- /dev/null +++ b/dist/node_modules/dunder-proto/README.md @@ -0,0 +1,54 @@ +# dunder-proto [![Version Badge][npm-version-svg]][package-url] + +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][npm-badge-png]][package-url] + +If available, the `Object.prototype.__proto__` accessor and mutator, call-bound. + +## Getting started + +```sh +npm install --save dunder-proto +``` + +## Usage/Examples + +```js +const assert = require('assert'); +const getDunder = require('dunder-proto/get'); +const setDunder = require('dunder-proto/set'); + +const obj = {}; + +assert.equal('toString' in obj, true); +assert.equal(getDunder(obj), Object.prototype); + +setDunder(obj, null); + +assert.equal('toString' in obj, false); +assert.equal(getDunder(obj), null); +``` + +## Tests + +Clone the repo, `npm install`, and run `npm test` + +[package-url]: https://npmjs.org/package/dunder-proto +[npm-version-svg]: https://versionbadg.es/es-shims/dunder-proto.svg +[deps-svg]: https://david-dm.org/es-shims/dunder-proto.svg +[deps-url]: https://david-dm.org/es-shims/dunder-proto +[dev-deps-svg]: https://david-dm.org/es-shims/dunder-proto/dev-status.svg +[dev-deps-url]: https://david-dm.org/es-shims/dunder-proto#info=devDependencies +[npm-badge-png]: https://nodei.co/npm/dunder-proto.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/dunder-proto.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/dunder-proto.svg +[downloads-url]: https://npm-stat.com/charts.html?package=dunder-proto +[codecov-image]: https://codecov.io/gh/es-shims/dunder-proto/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/es-shims/dunder-proto/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/es-shims/dunder-proto +[actions-url]: https://github.com/es-shims/dunder-proto/actions diff --git a/dist/node_modules/dunder-proto/get.d.ts b/dist/node_modules/dunder-proto/get.d.ts new file mode 100644 index 00000000..c7e14d25 --- /dev/null +++ b/dist/node_modules/dunder-proto/get.d.ts @@ -0,0 +1,5 @@ +declare function getDunderProto(target: {}): object | null; + +declare const x: false | typeof getDunderProto; + +export = x; \ No newline at end of file diff --git a/dist/node_modules/dunder-proto/get.js b/dist/node_modules/dunder-proto/get.js new file mode 100644 index 00000000..45093df9 --- /dev/null +++ b/dist/node_modules/dunder-proto/get.js @@ -0,0 +1,30 @@ +'use strict'; + +var callBind = require('call-bind-apply-helpers'); +var gOPD = require('gopd'); + +var hasProtoAccessor; +try { + // eslint-disable-next-line no-extra-parens, no-proto + hasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype; +} catch (e) { + if (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') { + throw e; + } +} + +// eslint-disable-next-line no-extra-parens +var desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__')); + +var $Object = Object; +var $getPrototypeOf = $Object.getPrototypeOf; + +/** @type {import('./get')} */ +module.exports = desc && typeof desc.get === 'function' + ? callBind([desc.get]) + : typeof $getPrototypeOf === 'function' + ? /** @type {import('./get')} */ function getDunder(value) { + // eslint-disable-next-line eqeqeq + return $getPrototypeOf(value == null ? value : $Object(value)); + } + : false; diff --git a/dist/node_modules/dunder-proto/package.json b/dist/node_modules/dunder-proto/package.json new file mode 100644 index 00000000..04a40367 --- /dev/null +++ b/dist/node_modules/dunder-proto/package.json @@ -0,0 +1,76 @@ +{ + "name": "dunder-proto", + "version": "1.0.1", + "description": "If available, the `Object.prototype.__proto__` accessor and mutator, call-bound", + "main": false, + "exports": { + "./get": "./get.js", + "./set": "./set.js", + "./package.json": "./package.json" + }, + "sideEffects": false, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepublishOnly": "safe-publish-latest", + "prelint": "evalmd README.md", + "lint": "eslint --ext=.js,.mjs .", + "postlint": "tsc -p . && attw -P", + "pretest": "npm run lint", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "npx npm@'>= 10.2' audit --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/es-shims/dunder-proto.git" + }, + "author": "Jordan Harband ", + "license": "MIT", + "bugs": { + "url": "https://github.com/es-shims/dunder-proto/issues" + }, + "homepage": "https://github.com/es-shims/dunder-proto#readme", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "devDependencies": { + "@arethetypeswrong/cli": "^0.17.1", + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.2.2", + "@types/tape": "^5.7.0", + "auto-changelog": "^2.5.0", + "encoding": "^0.1.13", + "eslint": "=8.8.0", + "evalmd": "^0.0.19", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "testling": { + "files": "test/index.js" + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "engines": { + "node": ">= 0.4" + } +} diff --git a/dist/node_modules/dunder-proto/set.d.ts b/dist/node_modules/dunder-proto/set.d.ts new file mode 100644 index 00000000..16bfdfe2 --- /dev/null +++ b/dist/node_modules/dunder-proto/set.d.ts @@ -0,0 +1,5 @@ +declare function setDunderProto

(target: {}, proto: P): P; + +declare const x: false | typeof setDunderProto; + +export = x; \ No newline at end of file diff --git a/dist/node_modules/dunder-proto/set.js b/dist/node_modules/dunder-proto/set.js new file mode 100644 index 00000000..6085b6e8 --- /dev/null +++ b/dist/node_modules/dunder-proto/set.js @@ -0,0 +1,35 @@ +'use strict'; + +var callBind = require('call-bind-apply-helpers'); +var gOPD = require('gopd'); +var $TypeError = require('es-errors/type'); + +/** @type {{ __proto__?: object | null }} */ +var obj = {}; +try { + obj.__proto__ = null; // eslint-disable-line no-proto +} catch (e) { + if (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') { + throw e; + } +} + +var hasProtoMutator = !('toString' in obj); + +// eslint-disable-next-line no-extra-parens +var desc = gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__')); + +/** @type {import('./set')} */ +module.exports = hasProtoMutator && ( +// eslint-disable-next-line no-extra-parens + (!!desc && typeof desc.set === 'function' && /** @type {import('./set')} */ (callBind([desc.set]))) + || /** @type {import('./set')} */ function setDunder(object, proto) { + // this is node v0.10 or older, which doesn't have Object.setPrototypeOf and has undeniable __proto__ + if (object == null) { // eslint-disable-line eqeqeq + throw new $TypeError('set Object.prototype.__proto__ called on null or undefined'); + } + // eslint-disable-next-line no-proto, no-param-reassign, no-extra-parens + /** @type {{ __proto__?: object | null }} */ (object).__proto__ = proto; + return proto; + } +); diff --git a/dist/node_modules/dunder-proto/test/get.js b/dist/node_modules/dunder-proto/test/get.js new file mode 100644 index 00000000..253f1838 --- /dev/null +++ b/dist/node_modules/dunder-proto/test/get.js @@ -0,0 +1,34 @@ +'use strict'; + +var test = require('tape'); + +var getDunderProto = require('../get'); + +test('getDunderProto', { skip: !getDunderProto }, function (t) { + if (!getDunderProto) { + throw 'should never happen; this is just for type narrowing'; // eslint-disable-line no-throw-literal + } + + // @ts-expect-error + t['throws'](function () { getDunderProto(); }, TypeError, 'throws if no argument'); + // @ts-expect-error + t['throws'](function () { getDunderProto(undefined); }, TypeError, 'throws with undefined'); + // @ts-expect-error + t['throws'](function () { getDunderProto(null); }, TypeError, 'throws with null'); + + t.equal(getDunderProto({}), Object.prototype); + t.equal(getDunderProto([]), Array.prototype); + t.equal(getDunderProto(function () {}), Function.prototype); + t.equal(getDunderProto(/./g), RegExp.prototype); + t.equal(getDunderProto(42), Number.prototype); + t.equal(getDunderProto(true), Boolean.prototype); + t.equal(getDunderProto('foo'), String.prototype); + + t.end(); +}); + +test('no dunder proto', { skip: !!getDunderProto }, function (t) { + t.notOk('__proto__' in Object.prototype, 'no __proto__ in Object.prototype'); + + t.end(); +}); diff --git a/dist/node_modules/dunder-proto/test/index.js b/dist/node_modules/dunder-proto/test/index.js new file mode 100644 index 00000000..08ff36f7 --- /dev/null +++ b/dist/node_modules/dunder-proto/test/index.js @@ -0,0 +1,4 @@ +'use strict'; + +require('./get'); +require('./set'); diff --git a/dist/node_modules/dunder-proto/test/set.js b/dist/node_modules/dunder-proto/test/set.js new file mode 100644 index 00000000..c3bfe4d4 --- /dev/null +++ b/dist/node_modules/dunder-proto/test/set.js @@ -0,0 +1,50 @@ +'use strict'; + +var test = require('tape'); + +var setDunderProto = require('../set'); + +test('setDunderProto', { skip: !setDunderProto }, function (t) { + if (!setDunderProto) { + throw 'should never happen; this is just for type narrowing'; // eslint-disable-line no-throw-literal + } + + // @ts-expect-error + t['throws'](function () { setDunderProto(); }, TypeError, 'throws if no arguments'); + // @ts-expect-error + t['throws'](function () { setDunderProto(undefined); }, TypeError, 'throws with undefined and nothing'); + // @ts-expect-error + t['throws'](function () { setDunderProto(undefined, undefined); }, TypeError, 'throws with undefined and undefined'); + // @ts-expect-error + t['throws'](function () { setDunderProto(null); }, TypeError, 'throws with null and undefined'); + // @ts-expect-error + t['throws'](function () { setDunderProto(null, undefined); }, TypeError, 'throws with null and undefined'); + + /** @type {{ inherited?: boolean }} */ + var obj = {}; + t.ok('toString' in obj, 'object initially has toString'); + + setDunderProto(obj, null); + t.notOk('toString' in obj, 'object no longer has toString'); + + t.notOk('inherited' in obj, 'object lacks inherited property'); + setDunderProto(obj, { inherited: true }); + t.equal(obj.inherited, true, 'object has inherited property'); + + t.end(); +}); + +test('no dunder proto', { skip: !!setDunderProto }, function (t) { + if ('__proto__' in Object.prototype) { + t['throws']( + // @ts-expect-error + function () { ({}).__proto__ = null; }, // eslint-disable-line no-proto + Error, + 'throws when setting Object.prototype.__proto__' + ); + } else { + t.notOk('__proto__' in Object.prototype, 'no __proto__ in Object.prototype'); + } + + t.end(); +}); diff --git a/dist/node_modules/dunder-proto/tsconfig.json b/dist/node_modules/dunder-proto/tsconfig.json new file mode 100644 index 00000000..dabbe230 --- /dev/null +++ b/dist/node_modules/dunder-proto/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "@ljharb/tsconfig", + "compilerOptions": { + "target": "ES2021", + }, + "exclude": [ + "coverage", + ], +} diff --git a/dist/node_modules/es-define-property/.eslintrc b/dist/node_modules/es-define-property/.eslintrc new file mode 100644 index 00000000..46f3b120 --- /dev/null +++ b/dist/node_modules/es-define-property/.eslintrc @@ -0,0 +1,13 @@ +{ + "root": true, + + "extends": "@ljharb", + + "rules": { + "new-cap": ["error", { + "capIsNewExceptions": [ + "GetIntrinsic", + ], + }], + }, +} diff --git a/dist/node_modules/es-define-property/.github/FUNDING.yml b/dist/node_modules/es-define-property/.github/FUNDING.yml new file mode 100644 index 00000000..4445451f --- /dev/null +++ b/dist/node_modules/es-define-property/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: [ljharb] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: npm/es-define-property +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with a single custom sponsorship URL diff --git a/dist/node_modules/es-define-property/.nycrc b/dist/node_modules/es-define-property/.nycrc new file mode 100644 index 00000000..bdd626ce --- /dev/null +++ b/dist/node_modules/es-define-property/.nycrc @@ -0,0 +1,9 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "exclude": [ + "coverage", + "test" + ] +} diff --git a/dist/node_modules/es-define-property/CHANGELOG.md b/dist/node_modules/es-define-property/CHANGELOG.md new file mode 100644 index 00000000..5f60cc09 --- /dev/null +++ b/dist/node_modules/es-define-property/CHANGELOG.md @@ -0,0 +1,29 @@ +# 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.0.1](https://github.com/ljharb/es-define-property/compare/v1.0.0...v1.0.1) - 2024-12-06 + +### Commits + +- [types] use shared tsconfig [`954a663`](https://github.com/ljharb/es-define-property/commit/954a66360326e508a0e5daa4b07493d58f5e110e) +- [actions] split out node 10-20, and 20+ [`3a8e84b`](https://github.com/ljharb/es-define-property/commit/3a8e84b23883f26ff37b3e82ff283834228e18c6) +- [Dev Deps] update `@ljharb/eslint-config`, `@ljharb/tsconfig`, `@types/get-intrinsic`, `@types/tape`, `auto-changelog`, `gopd`, `tape` [`86ae27b`](https://github.com/ljharb/es-define-property/commit/86ae27bb8cc857b23885136fad9cbe965ae36612) +- [Refactor] avoid using `get-intrinsic` [`02480c0`](https://github.com/ljharb/es-define-property/commit/02480c0353ef6118965282977c3864aff53d98b1) +- [Tests] replace `aud` with `npm audit` [`f6093ff`](https://github.com/ljharb/es-define-property/commit/f6093ff74ab51c98015c2592cd393bd42478e773) +- [Tests] configure testling [`7139e66`](https://github.com/ljharb/es-define-property/commit/7139e66959247a56086d9977359caef27c6849e7) +- [Dev Deps] update `tape` [`b901b51`](https://github.com/ljharb/es-define-property/commit/b901b511a75e001a40ce1a59fef7d9ffcfc87482) +- [Tests] fix types in tests [`469d269`](https://github.com/ljharb/es-define-property/commit/469d269fd141b1e773ec053a9fa35843493583e0) +- [Dev Deps] add missing peer dep [`733acfb`](https://github.com/ljharb/es-define-property/commit/733acfb0c4c96edf337e470b89a25a5b3724c352) + +## v1.0.0 - 2024-02-12 + +### Commits + +- Initial implementation, tests, readme, types [`3e154e1`](https://github.com/ljharb/es-define-property/commit/3e154e11a2fee09127220f5e503bf2c0a31dd480) +- Initial commit [`07d98de`](https://github.com/ljharb/es-define-property/commit/07d98de34a4dc31ff5e83a37c0c3f49e0d85cd50) +- npm init [`c4eb634`](https://github.com/ljharb/es-define-property/commit/c4eb6348b0d3886aac36cef34ad2ee0665ea6f3e) +- Only apps should have lockfiles [`7af86ec`](https://github.com/ljharb/es-define-property/commit/7af86ec1d311ec0b17fdfe616a25f64276903856) diff --git a/dist/node_modules/es-define-property/LICENSE b/dist/node_modules/es-define-property/LICENSE new file mode 100644 index 00000000..f82f3896 --- /dev/null +++ b/dist/node_modules/es-define-property/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Jordan Harband + +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. diff --git a/dist/node_modules/es-define-property/README.md b/dist/node_modules/es-define-property/README.md new file mode 100644 index 00000000..9b291bdd --- /dev/null +++ b/dist/node_modules/es-define-property/README.md @@ -0,0 +1,49 @@ +# es-define-property [![Version Badge][npm-version-svg]][package-url] + +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][npm-badge-png]][package-url] + +`Object.defineProperty`, but not IE 8's broken one. + +## Example + +```js +const assert = require('assert'); + +const $defineProperty = require('es-define-property'); + +if ($defineProperty) { + assert.equal($defineProperty, Object.defineProperty); +} else if (Object.defineProperty) { + assert.equal($defineProperty, false, 'this is IE 8'); +} else { + assert.equal($defineProperty, false, 'this is an ES3 engine'); +} +``` + +## Tests +Simply clone the repo, `npm install`, and run `npm test` + +## Security + +Please email [@ljharb](https://github.com/ljharb) or see https://tidelift.com/security if you have a potential security vulnerability to report. + +[package-url]: https://npmjs.org/package/es-define-property +[npm-version-svg]: https://versionbadg.es/ljharb/es-define-property.svg +[deps-svg]: https://david-dm.org/ljharb/es-define-property.svg +[deps-url]: https://david-dm.org/ljharb/es-define-property +[dev-deps-svg]: https://david-dm.org/ljharb/es-define-property/dev-status.svg +[dev-deps-url]: https://david-dm.org/ljharb/es-define-property#info=devDependencies +[npm-badge-png]: https://nodei.co/npm/es-define-property.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/es-define-property.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/es-define-property.svg +[downloads-url]: https://npm-stat.com/charts.html?package=es-define-property +[codecov-image]: https://codecov.io/gh/ljharb/es-define-property/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/ljharb/es-define-property/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/es-define-property +[actions-url]: https://github.com/ljharb/es-define-property/actions diff --git a/dist/node_modules/es-define-property/index.d.ts b/dist/node_modules/es-define-property/index.d.ts new file mode 100644 index 00000000..6012247c --- /dev/null +++ b/dist/node_modules/es-define-property/index.d.ts @@ -0,0 +1,3 @@ +declare const defineProperty: false | typeof Object.defineProperty; + +export = defineProperty; \ No newline at end of file diff --git a/dist/node_modules/es-define-property/index.js b/dist/node_modules/es-define-property/index.js new file mode 100644 index 00000000..e0a29251 --- /dev/null +++ b/dist/node_modules/es-define-property/index.js @@ -0,0 +1,14 @@ +'use strict'; + +/** @type {import('.')} */ +var $defineProperty = Object.defineProperty || false; +if ($defineProperty) { + try { + $defineProperty({}, 'a', { value: 1 }); + } catch (e) { + // IE 8 has a broken defineProperty + $defineProperty = false; + } +} + +module.exports = $defineProperty; diff --git a/dist/node_modules/es-define-property/package.json b/dist/node_modules/es-define-property/package.json new file mode 100644 index 00000000..fbed1878 --- /dev/null +++ b/dist/node_modules/es-define-property/package.json @@ -0,0 +1,81 @@ +{ + "name": "es-define-property", + "version": "1.0.1", + "description": "`Object.defineProperty`, but not IE 8's broken one.", + "main": "index.js", + "types": "./index.d.ts", + "exports": { + ".": "./index.js", + "./package.json": "./package.json" + }, + "sideEffects": false, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepublishOnly": "safe-publish-latest", + "prelint": "evalmd README.md", + "lint": "eslint --ext=js,mjs .", + "postlint": "tsc -p .", + "pretest": "npm run lint", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "npx npm@'>= 10.2' audit --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/es-define-property.git" + }, + "keywords": [ + "javascript", + "ecmascript", + "object", + "define", + "property", + "defineProperty", + "Object.defineProperty" + ], + "author": "Jordan Harband ", + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/es-define-property/issues" + }, + "homepage": "https://github.com/ljharb/es-define-property#readme", + "devDependencies": { + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.2.2", + "@types/gopd": "^1.0.3", + "@types/tape": "^5.6.5", + "auto-changelog": "^2.5.0", + "encoding": "^0.1.13", + "eslint": "^8.8.0", + "evalmd": "^0.0.19", + "gopd": "^1.2.0", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "engines": { + "node": ">= 0.4" + }, + "testling": { + "files": "test/index.js" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + } +} diff --git a/dist/node_modules/es-define-property/test/index.js b/dist/node_modules/es-define-property/test/index.js new file mode 100644 index 00000000..b4b4688f --- /dev/null +++ b/dist/node_modules/es-define-property/test/index.js @@ -0,0 +1,56 @@ +'use strict'; + +var $defineProperty = require('../'); + +var test = require('tape'); +var gOPD = require('gopd'); + +test('defineProperty: supported', { skip: !$defineProperty }, function (t) { + t.plan(4); + + t.equal(typeof $defineProperty, 'function', 'defineProperty is supported'); + if ($defineProperty && gOPD) { // this `if` check is just to shut TS up + /** @type {{ a: number, b?: number, c?: number }} */ + var o = { a: 1 }; + + $defineProperty(o, 'b', { enumerable: true, value: 2 }); + t.deepEqual( + gOPD(o, 'b'), + { + configurable: false, + enumerable: true, + value: 2, + writable: false + }, + 'property descriptor is as expected' + ); + + $defineProperty(o, 'c', { enumerable: false, value: 3, writable: true }); + t.deepEqual( + gOPD(o, 'c'), + { + configurable: false, + enumerable: false, + value: 3, + writable: true + }, + 'property descriptor is as expected' + ); + } + + t.equal($defineProperty, Object.defineProperty, 'defineProperty is Object.defineProperty'); + + t.end(); +}); + +test('defineProperty: not supported', { skip: !!$defineProperty }, function (t) { + t.notOk($defineProperty, 'defineProperty is not supported'); + + t.match( + typeof $defineProperty, + /^(?:undefined|boolean)$/, + '`typeof defineProperty` is `undefined` or `boolean`' + ); + + t.end(); +}); diff --git a/dist/node_modules/es-define-property/tsconfig.json b/dist/node_modules/es-define-property/tsconfig.json new file mode 100644 index 00000000..5a49992e --- /dev/null +++ b/dist/node_modules/es-define-property/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "@ljharb/tsconfig", + "compilerOptions": { + "target": "es2022", + }, + "exclude": [ + "coverage", + "test/list-exports" + ], +} diff --git a/dist/node_modules/es-errors/.eslintrc b/dist/node_modules/es-errors/.eslintrc new file mode 100644 index 00000000..3b5d9e90 --- /dev/null +++ b/dist/node_modules/es-errors/.eslintrc @@ -0,0 +1,5 @@ +{ + "root": true, + + "extends": "@ljharb", +} diff --git a/dist/node_modules/es-errors/.github/FUNDING.yml b/dist/node_modules/es-errors/.github/FUNDING.yml new file mode 100644 index 00000000..f1b88055 --- /dev/null +++ b/dist/node_modules/es-errors/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: [ljharb] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: npm/es-errors +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with a single custom sponsorship URL diff --git a/dist/node_modules/es-errors/CHANGELOG.md b/dist/node_modules/es-errors/CHANGELOG.md new file mode 100644 index 00000000..204a9e90 --- /dev/null +++ b/dist/node_modules/es-errors/CHANGELOG.md @@ -0,0 +1,40 @@ +# 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.3.0](https://github.com/ljharb/es-errors/compare/v1.2.1...v1.3.0) - 2024-02-05 + +### Commits + +- [New] add `EvalError` and `URIError` [`1927627`](https://github.com/ljharb/es-errors/commit/1927627ba68cb6c829d307231376c967db53acdf) + +## [v1.2.1](https://github.com/ljharb/es-errors/compare/v1.2.0...v1.2.1) - 2024-02-04 + +### Commits + +- [Fix] add missing `exports` entry [`5bb5f28`](https://github.com/ljharb/es-errors/commit/5bb5f280f98922701109d6ebb82eea2257cecc7e) + +## [v1.2.0](https://github.com/ljharb/es-errors/compare/v1.1.0...v1.2.0) - 2024-02-04 + +### Commits + +- [New] add `ReferenceError` [`6d8cf5b`](https://github.com/ljharb/es-errors/commit/6d8cf5bbb6f3f598d02cf6f30e468ba2caa8e143) + +## [v1.1.0](https://github.com/ljharb/es-errors/compare/v1.0.0...v1.1.0) - 2024-02-04 + +### Commits + +- [New] add base Error [`2983ab6`](https://github.com/ljharb/es-errors/commit/2983ab65f7bc5441276cb021dc3aa03c78881698) + +## v1.0.0 - 2024-02-03 + +### Commits + +- Initial implementation, tests, readme, type [`8f47631`](https://github.com/ljharb/es-errors/commit/8f476317e9ad76f40ad648081829b1a1a3a1288b) +- Initial commit [`ea5d099`](https://github.com/ljharb/es-errors/commit/ea5d099ef18e550509ab9e2be000526afd81c385) +- npm init [`6f5ebf9`](https://github.com/ljharb/es-errors/commit/6f5ebf9cead474dadd72b9e63dad315820a089ae) +- Only apps should have lockfiles [`e1a0aeb`](https://github.com/ljharb/es-errors/commit/e1a0aeb7b80f5cfc56be54d6b2100e915d47def8) +- [meta] add `sideEffects` flag [`a9c7d46`](https://github.com/ljharb/es-errors/commit/a9c7d460a492f1d8a241c836bc25a322a19cc043) diff --git a/dist/node_modules/es-errors/LICENSE b/dist/node_modules/es-errors/LICENSE new file mode 100644 index 00000000..f82f3896 --- /dev/null +++ b/dist/node_modules/es-errors/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Jordan Harband + +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. diff --git a/dist/node_modules/es-errors/README.md b/dist/node_modules/es-errors/README.md new file mode 100644 index 00000000..8dbfacfe --- /dev/null +++ b/dist/node_modules/es-errors/README.md @@ -0,0 +1,55 @@ +# es-errors [![Version Badge][npm-version-svg]][package-url] + +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][npm-badge-png]][package-url] + +A simple cache for a few of the JS Error constructors. + +## Example + +```js +const assert = require('assert'); + +const Base = require('es-errors'); +const Eval = require('es-errors/eval'); +const Range = require('es-errors/range'); +const Ref = require('es-errors/ref'); +const Syntax = require('es-errors/syntax'); +const Type = require('es-errors/type'); +const URI = require('es-errors/uri'); + +assert.equal(Base, Error); +assert.equal(Eval, EvalError); +assert.equal(Range, RangeError); +assert.equal(Ref, ReferenceError); +assert.equal(Syntax, SyntaxError); +assert.equal(Type, TypeError); +assert.equal(URI, URIError); +``` + +## Tests +Simply clone the repo, `npm install`, and run `npm test` + +## Security + +Please email [@ljharb](https://github.com/ljharb) or see https://tidelift.com/security if you have a potential security vulnerability to report. + +[package-url]: https://npmjs.org/package/es-errors +[npm-version-svg]: https://versionbadg.es/ljharb/es-errors.svg +[deps-svg]: https://david-dm.org/ljharb/es-errors.svg +[deps-url]: https://david-dm.org/ljharb/es-errors +[dev-deps-svg]: https://david-dm.org/ljharb/es-errors/dev-status.svg +[dev-deps-url]: https://david-dm.org/ljharb/es-errors#info=devDependencies +[npm-badge-png]: https://nodei.co/npm/es-errors.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/es-errors.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/es-errors.svg +[downloads-url]: https://npm-stat.com/charts.html?package=es-errors +[codecov-image]: https://codecov.io/gh/ljharb/es-errors/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/ljharb/es-errors/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/es-errors +[actions-url]: https://github.com/ljharb/es-errors/actions diff --git a/dist/node_modules/es-errors/eval.d.ts b/dist/node_modules/es-errors/eval.d.ts new file mode 100644 index 00000000..e4210e01 --- /dev/null +++ b/dist/node_modules/es-errors/eval.d.ts @@ -0,0 +1,3 @@ +declare const EvalError: EvalErrorConstructor; + +export = EvalError; diff --git a/dist/node_modules/es-errors/eval.js b/dist/node_modules/es-errors/eval.js new file mode 100644 index 00000000..725ccb61 --- /dev/null +++ b/dist/node_modules/es-errors/eval.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./eval')} */ +module.exports = EvalError; diff --git a/dist/node_modules/es-errors/index.d.ts b/dist/node_modules/es-errors/index.d.ts new file mode 100644 index 00000000..69bdbc92 --- /dev/null +++ b/dist/node_modules/es-errors/index.d.ts @@ -0,0 +1,3 @@ +declare const Error: ErrorConstructor; + +export = Error; diff --git a/dist/node_modules/es-errors/index.js b/dist/node_modules/es-errors/index.js new file mode 100644 index 00000000..cc0c5212 --- /dev/null +++ b/dist/node_modules/es-errors/index.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('.')} */ +module.exports = Error; diff --git a/dist/node_modules/es-errors/package.json b/dist/node_modules/es-errors/package.json new file mode 100644 index 00000000..ff8c2a53 --- /dev/null +++ b/dist/node_modules/es-errors/package.json @@ -0,0 +1,80 @@ +{ + "name": "es-errors", + "version": "1.3.0", + "description": "A simple cache for a few of the JS Error constructors.", + "main": "index.js", + "exports": { + ".": "./index.js", + "./eval": "./eval.js", + "./range": "./range.js", + "./ref": "./ref.js", + "./syntax": "./syntax.js", + "./type": "./type.js", + "./uri": "./uri.js", + "./package.json": "./package.json" + }, + "sideEffects": false, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "pretest": "npm run lint", + "test": "npm run tests-only", + "tests-only": "nyc tape 'test/**/*.js'", + "posttest": "aud --production", + "prelint": "evalmd README.md", + "lint": "eslint --ext=js,mjs .", + "postlint": "tsc -p . && eclint check $(git ls-files | xargs find 2> /dev/null | grep -vE 'node_modules|\\.git' | grep -v dist/)", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/es-errors.git" + }, + "keywords": [ + "javascript", + "ecmascript", + "error", + "typeerror", + "syntaxerror", + "rangeerror" + ], + "author": "Jordan Harband ", + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/es-errors/issues" + }, + "homepage": "https://github.com/ljharb/es-errors#readme", + "devDependencies": { + "@ljharb/eslint-config": "^21.1.0", + "@types/tape": "^5.6.4", + "aud": "^2.0.4", + "auto-changelog": "^2.4.0", + "eclint": "^2.8.1", + "eslint": "^8.8.0", + "evalmd": "^0.0.19", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.7.4", + "typescript": "next" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "engines": { + "node": ">= 0.4" + } +} diff --git a/dist/node_modules/es-errors/range.d.ts b/dist/node_modules/es-errors/range.d.ts new file mode 100644 index 00000000..3a12e864 --- /dev/null +++ b/dist/node_modules/es-errors/range.d.ts @@ -0,0 +1,3 @@ +declare const RangeError: RangeErrorConstructor; + +export = RangeError; diff --git a/dist/node_modules/es-errors/range.js b/dist/node_modules/es-errors/range.js new file mode 100644 index 00000000..2044fe03 --- /dev/null +++ b/dist/node_modules/es-errors/range.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./range')} */ +module.exports = RangeError; diff --git a/dist/node_modules/es-errors/ref.d.ts b/dist/node_modules/es-errors/ref.d.ts new file mode 100644 index 00000000..a13107e2 --- /dev/null +++ b/dist/node_modules/es-errors/ref.d.ts @@ -0,0 +1,3 @@ +declare const ReferenceError: ReferenceErrorConstructor; + +export = ReferenceError; diff --git a/dist/node_modules/es-errors/ref.js b/dist/node_modules/es-errors/ref.js new file mode 100644 index 00000000..d7c430fd --- /dev/null +++ b/dist/node_modules/es-errors/ref.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./ref')} */ +module.exports = ReferenceError; diff --git a/dist/node_modules/es-errors/syntax.d.ts b/dist/node_modules/es-errors/syntax.d.ts new file mode 100644 index 00000000..6a0c53c5 --- /dev/null +++ b/dist/node_modules/es-errors/syntax.d.ts @@ -0,0 +1,3 @@ +declare const SyntaxError: SyntaxErrorConstructor; + +export = SyntaxError; diff --git a/dist/node_modules/es-errors/syntax.js b/dist/node_modules/es-errors/syntax.js new file mode 100644 index 00000000..5f5fddee --- /dev/null +++ b/dist/node_modules/es-errors/syntax.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./syntax')} */ +module.exports = SyntaxError; diff --git a/dist/node_modules/es-errors/test/index.js b/dist/node_modules/es-errors/test/index.js new file mode 100644 index 00000000..1ff02772 --- /dev/null +++ b/dist/node_modules/es-errors/test/index.js @@ -0,0 +1,19 @@ +'use strict'; + +var test = require('tape'); + +var E = require('../'); +var R = require('../range'); +var Ref = require('../ref'); +var S = require('../syntax'); +var T = require('../type'); + +test('errors', function (t) { + t.equal(E, Error); + t.equal(R, RangeError); + t.equal(Ref, ReferenceError); + t.equal(S, SyntaxError); + t.equal(T, TypeError); + + t.end(); +}); diff --git a/dist/node_modules/es-errors/tsconfig.json b/dist/node_modules/es-errors/tsconfig.json new file mode 100644 index 00000000..99dfeb6c --- /dev/null +++ b/dist/node_modules/es-errors/tsconfig.json @@ -0,0 +1,49 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig.json to read more about this file */ + + /* Projects */ + + /* Language and Environment */ + "target": "es5", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ + // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ + "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ + // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ + + /* Modules */ + "module": "commonjs", /* Specify what module code is generated. */ + // "rootDir": "./", /* Specify the root folder within your source files. */ + // "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ + // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ + // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ + // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ + // "typeRoots": ["types"], /* Specify multiple folders that act like `./node_modules/@types`. */ + "resolveJsonModule": true, /* Enable importing .json files. */ + // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ + + /* JavaScript Support */ + "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */ + "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ + "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`. */ + + /* Emit */ + "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ + "declarationMap": true, /* Create sourcemaps for d.ts files. */ + "noEmit": true, /* Disable emitting files from a compilation. */ + + /* Interop Constraints */ + "allowSyntheticDefaultImports": true, /* Allow `import x from y` when a module doesn't have a default export. */ + "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility. */ + "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ + + /* Type Checking */ + "strict": true, /* Enable all strict type-checking options. */ + + /* Completeness */ + // "skipLibCheck": true /* Skip type checking all .d.ts files. */ + }, + "exclude": [ + "coverage", + ], +} diff --git a/dist/node_modules/es-errors/type.d.ts b/dist/node_modules/es-errors/type.d.ts new file mode 100644 index 00000000..576fb516 --- /dev/null +++ b/dist/node_modules/es-errors/type.d.ts @@ -0,0 +1,3 @@ +declare const TypeError: TypeErrorConstructor + +export = TypeError; diff --git a/dist/node_modules/es-errors/type.js b/dist/node_modules/es-errors/type.js new file mode 100644 index 00000000..9769e44e --- /dev/null +++ b/dist/node_modules/es-errors/type.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./type')} */ +module.exports = TypeError; diff --git a/dist/node_modules/es-errors/uri.d.ts b/dist/node_modules/es-errors/uri.d.ts new file mode 100644 index 00000000..c3261c91 --- /dev/null +++ b/dist/node_modules/es-errors/uri.d.ts @@ -0,0 +1,3 @@ +declare const URIError: URIErrorConstructor; + +export = URIError; diff --git a/dist/node_modules/es-errors/uri.js b/dist/node_modules/es-errors/uri.js new file mode 100644 index 00000000..e9cd1c78 --- /dev/null +++ b/dist/node_modules/es-errors/uri.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./uri')} */ +module.exports = URIError; diff --git a/dist/node_modules/es-object-atoms/.eslintrc b/dist/node_modules/es-object-atoms/.eslintrc new file mode 100644 index 00000000..d90a1bc6 --- /dev/null +++ b/dist/node_modules/es-object-atoms/.eslintrc @@ -0,0 +1,16 @@ +{ + "root": true, + + "extends": "@ljharb", + + "rules": { + "eqeqeq": ["error", "allow-null"], + "id-length": "off", + "new-cap": ["error", { + "capIsNewExceptions": [ + "RequireObjectCoercible", + "ToObject", + ], + }], + }, +} diff --git a/dist/node_modules/es-object-atoms/.github/FUNDING.yml b/dist/node_modules/es-object-atoms/.github/FUNDING.yml new file mode 100644 index 00000000..352bfdab --- /dev/null +++ b/dist/node_modules/es-object-atoms/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: [ljharb] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: npm/es-object +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with a single custom sponsorship URL diff --git a/dist/node_modules/es-object-atoms/CHANGELOG.md b/dist/node_modules/es-object-atoms/CHANGELOG.md new file mode 100644 index 00000000..fdd2abe3 --- /dev/null +++ b/dist/node_modules/es-object-atoms/CHANGELOG.md @@ -0,0 +1,37 @@ +# 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.1.1](https://github.com/ljharb/es-object-atoms/compare/v1.1.0...v1.1.1) - 2025-01-14 + +### Commits + +- [types] `ToObject`: improve types [`cfe8c8a`](https://github.com/ljharb/es-object-atoms/commit/cfe8c8a105c44820cb22e26f62d12ef0ad9715c8) + +## [v1.1.0](https://github.com/ljharb/es-object-atoms/compare/v1.0.1...v1.1.0) - 2025-01-14 + +### Commits + +- [New] add `isObject` [`51e4042`](https://github.com/ljharb/es-object-atoms/commit/51e4042df722eb3165f40dc5f4bf33d0197ecb07) + +## [v1.0.1](https://github.com/ljharb/es-object-atoms/compare/v1.0.0...v1.0.1) - 2025-01-13 + +### Commits + +- [Dev Deps] update `@ljharb/eslint-config`, `@ljharb/tsconfig`, `@types/tape`, `auto-changelog`, `tape` [`38ab9eb`](https://github.com/ljharb/es-object-atoms/commit/38ab9eb00b62c2f4668644f5e513d9b414ebd595) +- [types] improve types [`7d1beb8`](https://github.com/ljharb/es-object-atoms/commit/7d1beb887958b78b6a728a210a1c8370ab7e2aa1) +- [Tests] replace `aud` with `npm audit` [`25863ba`](https://github.com/ljharb/es-object-atoms/commit/25863baf99178f1d1ad33d1120498db28631907e) +- [Dev Deps] add missing peer dep [`c012309`](https://github.com/ljharb/es-object-atoms/commit/c0123091287e6132d6f4240496340c427433df28) + +## v1.0.0 - 2024-03-16 + +### Commits + +- Initial implementation, tests, readme, types [`f1499db`](https://github.com/ljharb/es-object-atoms/commit/f1499db7d3e1741e64979c61d645ab3137705e82) +- Initial commit [`99eedc7`](https://github.com/ljharb/es-object-atoms/commit/99eedc7b5fde38a50a28d3c8b724706e3e4c5f6a) +- [meta] rename repo [`fc851fa`](https://github.com/ljharb/es-object-atoms/commit/fc851fa70616d2d182aaf0bd02c2ed7084dea8fa) +- npm init [`b909377`](https://github.com/ljharb/es-object-atoms/commit/b909377c50049bd0ec575562d20b0f9ebae8947f) +- Only apps should have lockfiles [`7249edd`](https://github.com/ljharb/es-object-atoms/commit/7249edd2178c1b9ddfc66ffcc6d07fdf0d28efc1) diff --git a/dist/node_modules/es-object-atoms/LICENSE b/dist/node_modules/es-object-atoms/LICENSE new file mode 100644 index 00000000..f82f3896 --- /dev/null +++ b/dist/node_modules/es-object-atoms/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Jordan Harband + +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. diff --git a/dist/node_modules/es-object-atoms/README.md b/dist/node_modules/es-object-atoms/README.md new file mode 100644 index 00000000..447695b2 --- /dev/null +++ b/dist/node_modules/es-object-atoms/README.md @@ -0,0 +1,63 @@ +# es-object-atoms [![Version Badge][npm-version-svg]][package-url] + +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][npm-badge-png]][package-url] + +ES Object-related atoms: Object, ToObject, RequireObjectCoercible. + +## Example + +```js +const assert = require('assert'); + +const $Object = require('es-object-atoms'); +const isObject = require('es-object-atoms/isObject'); +const ToObject = require('es-object-atoms/ToObject'); +const RequireObjectCoercible = require('es-object-atoms/RequireObjectCoercible'); + +assert.equal($Object, Object); +assert.throws(() => ToObject(null), TypeError); +assert.throws(() => ToObject(undefined), TypeError); +assert.throws(() => RequireObjectCoercible(null), TypeError); +assert.throws(() => RequireObjectCoercible(undefined), TypeError); + +assert.equal(isObject(undefined), false); +assert.equal(isObject(null), false); +assert.equal(isObject({}), true); +assert.equal(isObject([]), true); +assert.equal(isObject(function () {}), true); + +assert.deepEqual(RequireObjectCoercible(true), true); +assert.deepEqual(ToObject(true), Object(true)); + +const obj = {}; +assert.equal(RequireObjectCoercible(obj), obj); +assert.equal(ToObject(obj), obj); +``` + +## Tests +Simply clone the repo, `npm install`, and run `npm test` + +## Security + +Please email [@ljharb](https://github.com/ljharb) or see https://tidelift.com/security if you have a potential security vulnerability to report. + +[package-url]: https://npmjs.org/package/es-object-atoms +[npm-version-svg]: https://versionbadg.es/ljharb/es-object-atoms.svg +[deps-svg]: https://david-dm.org/ljharb/es-object-atoms.svg +[deps-url]: https://david-dm.org/ljharb/es-object-atoms +[dev-deps-svg]: https://david-dm.org/ljharb/es-object-atoms/dev-status.svg +[dev-deps-url]: https://david-dm.org/ljharb/es-object-atoms#info=devDependencies +[npm-badge-png]: https://nodei.co/npm/es-object-atoms.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/es-object-atoms.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/es-object.svg +[downloads-url]: https://npm-stat.com/charts.html?package=es-object-atoms +[codecov-image]: https://codecov.io/gh/ljharb/es-object-atoms/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/ljharb/es-object-atoms/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/es-object-atoms +[actions-url]: https://github.com/ljharb/es-object-atoms/actions diff --git a/dist/node_modules/es-object-atoms/RequireObjectCoercible.d.ts b/dist/node_modules/es-object-atoms/RequireObjectCoercible.d.ts new file mode 100644 index 00000000..7e26c457 --- /dev/null +++ b/dist/node_modules/es-object-atoms/RequireObjectCoercible.d.ts @@ -0,0 +1,3 @@ +declare function RequireObjectCoercible(value: T, optMessage?: string): T; + +export = RequireObjectCoercible; diff --git a/dist/node_modules/es-object-atoms/RequireObjectCoercible.js b/dist/node_modules/es-object-atoms/RequireObjectCoercible.js new file mode 100644 index 00000000..8e191c6e --- /dev/null +++ b/dist/node_modules/es-object-atoms/RequireObjectCoercible.js @@ -0,0 +1,11 @@ +'use strict'; + +var $TypeError = require('es-errors/type'); + +/** @type {import('./RequireObjectCoercible')} */ +module.exports = function RequireObjectCoercible(value) { + if (value == null) { + throw new $TypeError((arguments.length > 0 && arguments[1]) || ('Cannot call method on ' + value)); + } + return value; +}; diff --git a/dist/node_modules/es-object-atoms/ToObject.d.ts b/dist/node_modules/es-object-atoms/ToObject.d.ts new file mode 100644 index 00000000..d6dd3029 --- /dev/null +++ b/dist/node_modules/es-object-atoms/ToObject.d.ts @@ -0,0 +1,7 @@ +declare function ToObject(value: number): Number; +declare function ToObject(value: boolean): Boolean; +declare function ToObject(value: string): String; +declare function ToObject(value: bigint): BigInt; +declare function ToObject(value: T): T; + +export = ToObject; diff --git a/dist/node_modules/es-object-atoms/ToObject.js b/dist/node_modules/es-object-atoms/ToObject.js new file mode 100644 index 00000000..2b99a7da --- /dev/null +++ b/dist/node_modules/es-object-atoms/ToObject.js @@ -0,0 +1,10 @@ +'use strict'; + +var $Object = require('./'); +var RequireObjectCoercible = require('./RequireObjectCoercible'); + +/** @type {import('./ToObject')} */ +module.exports = function ToObject(value) { + RequireObjectCoercible(value); + return $Object(value); +}; diff --git a/dist/node_modules/es-object-atoms/index.d.ts b/dist/node_modules/es-object-atoms/index.d.ts new file mode 100644 index 00000000..8bdbfc81 --- /dev/null +++ b/dist/node_modules/es-object-atoms/index.d.ts @@ -0,0 +1,3 @@ +declare const Object: ObjectConstructor; + +export = Object; diff --git a/dist/node_modules/es-object-atoms/index.js b/dist/node_modules/es-object-atoms/index.js new file mode 100644 index 00000000..1d33cef4 --- /dev/null +++ b/dist/node_modules/es-object-atoms/index.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('.')} */ +module.exports = Object; diff --git a/dist/node_modules/es-object-atoms/isObject.d.ts b/dist/node_modules/es-object-atoms/isObject.d.ts new file mode 100644 index 00000000..43bee3bc --- /dev/null +++ b/dist/node_modules/es-object-atoms/isObject.d.ts @@ -0,0 +1,3 @@ +declare function isObject(x: unknown): x is object; + +export = isObject; diff --git a/dist/node_modules/es-object-atoms/isObject.js b/dist/node_modules/es-object-atoms/isObject.js new file mode 100644 index 00000000..ec49bf12 --- /dev/null +++ b/dist/node_modules/es-object-atoms/isObject.js @@ -0,0 +1,6 @@ +'use strict'; + +/** @type {import('./isObject')} */ +module.exports = function isObject(x) { + return !!x && (typeof x === 'function' || typeof x === 'object'); +}; diff --git a/dist/node_modules/es-object-atoms/package.json b/dist/node_modules/es-object-atoms/package.json new file mode 100644 index 00000000..f4cec715 --- /dev/null +++ b/dist/node_modules/es-object-atoms/package.json @@ -0,0 +1,80 @@ +{ + "name": "es-object-atoms", + "version": "1.1.1", + "description": "ES Object-related atoms: Object, ToObject, RequireObjectCoercible", + "main": "index.js", + "exports": { + ".": "./index.js", + "./RequireObjectCoercible": "./RequireObjectCoercible.js", + "./isObject": "./isObject.js", + "./ToObject": "./ToObject.js", + "./package.json": "./package.json" + }, + "sideEffects": false, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "pretest": "npm run lint", + "test": "npm run tests-only", + "tests-only": "nyc tape 'test/**/*.js'", + "posttest": "npx npm@\">= 10.2\" audit --production", + "prelint": "evalmd README.md", + "lint": "eslint --ext=js,mjs .", + "postlint": "tsc -p . && eclint check $(git ls-files | xargs find 2> /dev/null | grep -vE 'node_modules|\\.git' | grep -v dist/)", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/es-object-atoms.git" + }, + "keywords": [ + "javascript", + "ecmascript", + "object", + "toobject", + "coercible" + ], + "author": "Jordan Harband ", + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/es-object-atoms/issues" + }, + "homepage": "https://github.com/ljharb/es-object-atoms#readme", + "dependencies": { + "es-errors": "^1.3.0" + }, + "devDependencies": { + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.2.3", + "@types/tape": "^5.8.1", + "auto-changelog": "^2.5.0", + "eclint": "^2.8.1", + "encoding": "^0.1.13", + "eslint": "^8.8.0", + "evalmd": "^0.0.19", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "engines": { + "node": ">= 0.4" + } +} diff --git a/dist/node_modules/es-object-atoms/test/index.js b/dist/node_modules/es-object-atoms/test/index.js new file mode 100644 index 00000000..430b705a --- /dev/null +++ b/dist/node_modules/es-object-atoms/test/index.js @@ -0,0 +1,38 @@ +'use strict'; + +var test = require('tape'); + +var $Object = require('../'); +var isObject = require('../isObject'); +var ToObject = require('../ToObject'); +var RequireObjectCoercible = require('..//RequireObjectCoercible'); + +test('errors', function (t) { + t.equal($Object, Object); + // @ts-expect-error + t['throws'](function () { ToObject(null); }, TypeError); + // @ts-expect-error + t['throws'](function () { ToObject(undefined); }, TypeError); + // @ts-expect-error + t['throws'](function () { RequireObjectCoercible(null); }, TypeError); + // @ts-expect-error + t['throws'](function () { RequireObjectCoercible(undefined); }, TypeError); + + t.deepEqual(RequireObjectCoercible(true), true); + t.deepEqual(ToObject(true), Object(true)); + t.deepEqual(ToObject(42), Object(42)); + var f = function () {}; + t.equal(ToObject(f), f); + + t.equal(isObject(undefined), false); + t.equal(isObject(null), false); + t.equal(isObject({}), true); + t.equal(isObject([]), true); + t.equal(isObject(function () {}), true); + + var obj = {}; + t.equal(RequireObjectCoercible(obj), obj); + t.equal(ToObject(obj), obj); + + t.end(); +}); diff --git a/dist/node_modules/es-object-atoms/tsconfig.json b/dist/node_modules/es-object-atoms/tsconfig.json new file mode 100644 index 00000000..1f73cb72 --- /dev/null +++ b/dist/node_modules/es-object-atoms/tsconfig.json @@ -0,0 +1,6 @@ +{ + "extends": "@ljharb/tsconfig", + "compilerOptions": { + "target": "es5", + }, +} diff --git a/dist/node_modules/es-set-tostringtag/.eslintrc b/dist/node_modules/es-set-tostringtag/.eslintrc new file mode 100644 index 00000000..2612ed8f --- /dev/null +++ b/dist/node_modules/es-set-tostringtag/.eslintrc @@ -0,0 +1,13 @@ +{ + "root": true, + + "extends": "@ljharb", + + "rules": { + "new-cap": [2, { + "capIsNewExceptions": [ + "GetIntrinsic", + ], + }], + }, +} diff --git a/dist/node_modules/es-set-tostringtag/.nycrc b/dist/node_modules/es-set-tostringtag/.nycrc new file mode 100644 index 00000000..bdd626ce --- /dev/null +++ b/dist/node_modules/es-set-tostringtag/.nycrc @@ -0,0 +1,9 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "exclude": [ + "coverage", + "test" + ] +} diff --git a/dist/node_modules/es-set-tostringtag/CHANGELOG.md b/dist/node_modules/es-set-tostringtag/CHANGELOG.md new file mode 100644 index 00000000..00bdc038 --- /dev/null +++ b/dist/node_modules/es-set-tostringtag/CHANGELOG.md @@ -0,0 +1,67 @@ +# 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). + +## [v2.1.0](https://github.com/es-shims/es-set-tostringtag/compare/v2.0.3...v2.1.0) - 2025-01-01 + +### Commits + +- [actions] split out node 10-20, and 20+ [`ede033c`](https://github.com/es-shims/es-set-tostringtag/commit/ede033cc4e506c3966d2d482d4ac5987e329162a) +- [types] use shared config [`28ef164`](https://github.com/es-shims/es-set-tostringtag/commit/28ef164ad7c5bc21837c79f7ef25542a1f258ade) +- [New] add `nonConfigurable` option [`3bee3f0`](https://github.com/es-shims/es-set-tostringtag/commit/3bee3f04caddd318f3932912212ed20b2d62aad7) +- [Fix] validate boolean option argument [`3c8a609`](https://github.com/es-shims/es-set-tostringtag/commit/3c8a609c795a305ccca163f0ff6956caa88cdc0e) +- [Dev Deps] update `@arethetypeswrong/cli`, `@ljharb/eslint-config`, `@ljharb/tsconfig`, `@types/get-intrinsic`, `@types/tape`, `auto-changelog`, `tape` [`501a969`](https://github.com/es-shims/es-set-tostringtag/commit/501a96998484226e07f5ffd447e8f305a998f1d8) +- [Tests] add coverage [`18af289`](https://github.com/es-shims/es-set-tostringtag/commit/18af2897b4e937373c9b8c8831bc338932246470) +- [readme] document `force` option [`bd446a1`](https://github.com/es-shims/es-set-tostringtag/commit/bd446a107b71a2270278442e5124f45590d3ee64) +- [Tests] use `@arethetypeswrong/cli` [`7c2c2fa`](https://github.com/es-shims/es-set-tostringtag/commit/7c2c2fa3cca0f4d263603adb75426b239514598f) +- [Tests] replace `aud` with `npm audit` [`9e372d7`](https://github.com/es-shims/es-set-tostringtag/commit/9e372d7e6db3dab405599a14d9074a99a03b8242) +- [Deps] update `get-intrinsic` [`7df1216`](https://github.com/es-shims/es-set-tostringtag/commit/7df12167295385c2a547410e687cb0c04f3a34b9) +- [Deps] update `hasown` [`993a7d2`](https://github.com/es-shims/es-set-tostringtag/commit/993a7d200e2059fd857ec1a25d0a49c2c34ae6e2) +- [Dev Deps] add missing peer dep [`148ed8d`](https://github.com/es-shims/es-set-tostringtag/commit/148ed8db99a7a94f9af3823fd083e6e437fa1587) + +## [v2.0.3](https://github.com/es-shims/es-set-tostringtag/compare/v2.0.2...v2.0.3) - 2024-02-20 + +### Commits + +- add types [`d538513`](https://github.com/es-shims/es-set-tostringtag/commit/d5385133592a32a0a416cb535327918af7fbc4ad) +- [Deps] update `get-intrinsic`, `has-tostringtag`, `hasown` [`d129b29`](https://github.com/es-shims/es-set-tostringtag/commit/d129b29536bccc8a9d03a47887ca4d1f7ad0c5b9) +- [Dev Deps] update `aud`, `npmignore`, `tape` [`132ed23`](https://github.com/es-shims/es-set-tostringtag/commit/132ed23c964a41ed55e4ab4a5a2c3fe185e821c1) +- [Tests] fix hasOwn require [`f89c831`](https://github.com/es-shims/es-set-tostringtag/commit/f89c831fe5f3edf1f979c597b56fee1be6111f56) + +## [v2.0.2](https://github.com/es-shims/es-set-tostringtag/compare/v2.0.1...v2.0.2) - 2023-10-20 + +### Commits + +- [Refactor] use `hasown` instead of `has` [`0cc6c4e`](https://github.com/es-shims/es-set-tostringtag/commit/0cc6c4e61fd13e8f00b85424ae6e541ebf289e74) +- [Dev Deps] update `@ljharb/eslint-config`, `aud`, `tape` [`70e447c`](https://github.com/es-shims/es-set-tostringtag/commit/70e447cf9f82b896ddf359fda0a0498c16cf3ed2) +- [Deps] update `get-intrinsic` [`826aab7`](https://github.com/es-shims/es-set-tostringtag/commit/826aab76180392871c8efa99acc0f0bbf775c64e) + +## [v2.0.1](https://github.com/es-shims/es-set-tostringtag/compare/v2.0.0...v2.0.1) - 2023-01-05 + +### Fixed + +- [Fix] move `has` to prod deps [`#2`](https://github.com/es-shims/es-set-tostringtag/issues/2) + +### Commits + +- [Dev Deps] update `@ljharb/eslint-config` [`b9eecd2`](https://github.com/es-shims/es-set-tostringtag/commit/b9eecd23c10b7b43ba75089ac8ff8cc6b295798b) + +## [v2.0.0](https://github.com/es-shims/es-set-tostringtag/compare/v1.0.0...v2.0.0) - 2022-12-21 + +### Commits + +- [Tests] refactor tests [`168dcfb`](https://github.com/es-shims/es-set-tostringtag/commit/168dcfbb535c279dc48ccdc89419155125aaec18) +- [Breaking] do not set toStringTag if it is already set [`226ab87`](https://github.com/es-shims/es-set-tostringtag/commit/226ab874192c625d9e5f0e599d3f60d2b2aa83b5) +- [New] add `force` option to set even if already set [`1abd4ec`](https://github.com/es-shims/es-set-tostringtag/commit/1abd4ecb282f19718c4518284b0293a343564505) + +## v1.0.0 - 2022-12-21 + +### Commits + +- Initial implementation, tests, readme [`a0e1147`](https://github.com/es-shims/es-set-tostringtag/commit/a0e11473f79a233b46374525c962ea1b4d42418a) +- Initial commit [`ffd4aff`](https://github.com/es-shims/es-set-tostringtag/commit/ffd4afffbeebf29aff0d87a7cfc3f7844e09fe68) +- npm init [`fffe5bd`](https://github.com/es-shims/es-set-tostringtag/commit/fffe5bd1d1146d084730a387a9c672371f4a8fff) +- Only apps should have lockfiles [`d363871`](https://github.com/es-shims/es-set-tostringtag/commit/d36387139465623e161a15dbd39120537f150c62) diff --git a/dist/node_modules/es-set-tostringtag/LICENSE b/dist/node_modules/es-set-tostringtag/LICENSE new file mode 100644 index 00000000..c2a8460a --- /dev/null +++ b/dist/node_modules/es-set-tostringtag/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 ECMAScript Shims + +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. diff --git a/dist/node_modules/es-set-tostringtag/README.md b/dist/node_modules/es-set-tostringtag/README.md new file mode 100644 index 00000000..c27bc9fc --- /dev/null +++ b/dist/node_modules/es-set-tostringtag/README.md @@ -0,0 +1,53 @@ +# es-set-tostringtag [![Version Badge][npm-version-svg]][package-url] + +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][npm-badge-png]][package-url] + +A helper to optimistically set Symbol.toStringTag, when possible. + +## Example +Most common usage: +```js +var assert = require('assert'); +var setToStringTag = require('es-set-tostringtag'); + +var obj = {}; + +assert.equal(Object.prototype.toString.call(obj), '[object Object]'); + +setToStringTag(obj, 'tagged!'); + +assert.equal(Object.prototype.toString.call(obj), '[object tagged!]'); +``` + +## Options +An optional options argument can be provided as the third argument. The available options are: + +### `force` +If the `force` option is set to `true`, the toStringTag will be set even if it is already set. + +### `nonConfigurable` +If the `nonConfigurable` option is set to `true`, the toStringTag will be defined as non-configurable when possible. + +## Tests +Simply clone the repo, `npm install`, and run `npm test` + +[package-url]: https://npmjs.com/package/es-set-tostringtag +[npm-version-svg]: https://versionbadg.es/es-shims/es-set-tostringtag.svg +[deps-svg]: https://david-dm.org/es-shims/es-set-tostringtag.svg +[deps-url]: https://david-dm.org/es-shims/es-set-tostringtag +[dev-deps-svg]: https://david-dm.org/es-shims/es-set-tostringtag/dev-status.svg +[dev-deps-url]: https://david-dm.org/es-shims/es-set-tostringtag#info=devDependencies +[npm-badge-png]: https://nodei.co/npm/es-set-tostringtag.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/es-set-tostringtag.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/es-set-tostringtag.svg +[downloads-url]: https://npm-stat.com/charts.html?package=es-set-tostringtag +[codecov-image]: https://codecov.io/gh/es-shims/es-set-tostringtag/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/es-shims/es-set-tostringtag/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/es-shims/es-set-tostringtag +[actions-url]: https://github.com/es-shims/es-set-tostringtag/actions diff --git a/dist/node_modules/es-set-tostringtag/index.d.ts b/dist/node_modules/es-set-tostringtag/index.d.ts new file mode 100644 index 00000000..c9a8fc4d --- /dev/null +++ b/dist/node_modules/es-set-tostringtag/index.d.ts @@ -0,0 +1,10 @@ +declare function setToStringTag( + object: object & { [Symbol.toStringTag]?: unknown }, + value: string | unknown, + options?: { + force?: boolean; + nonConfigurable?: boolean; + }, +): void; + +export = setToStringTag; \ No newline at end of file diff --git a/dist/node_modules/es-set-tostringtag/index.js b/dist/node_modules/es-set-tostringtag/index.js new file mode 100644 index 00000000..6b6b49c7 --- /dev/null +++ b/dist/node_modules/es-set-tostringtag/index.js @@ -0,0 +1,35 @@ +'use strict'; + +var GetIntrinsic = require('get-intrinsic'); + +var $defineProperty = GetIntrinsic('%Object.defineProperty%', true); + +var hasToStringTag = require('has-tostringtag/shams')(); +var hasOwn = require('hasown'); +var $TypeError = require('es-errors/type'); + +var toStringTag = hasToStringTag ? Symbol.toStringTag : null; + +/** @type {import('.')} */ +module.exports = function setToStringTag(object, value) { + var overrideIfSet = arguments.length > 2 && !!arguments[2] && arguments[2].force; + var nonConfigurable = arguments.length > 2 && !!arguments[2] && arguments[2].nonConfigurable; + if ( + (typeof overrideIfSet !== 'undefined' && typeof overrideIfSet !== 'boolean') + || (typeof nonConfigurable !== 'undefined' && typeof nonConfigurable !== 'boolean') + ) { + throw new $TypeError('if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans'); + } + if (toStringTag && (overrideIfSet || !hasOwn(object, toStringTag))) { + if ($defineProperty) { + $defineProperty(object, toStringTag, { + configurable: !nonConfigurable, + enumerable: false, + value: value, + writable: false + }); + } else { + object[toStringTag] = value; // eslint-disable-line no-param-reassign + } + } +}; diff --git a/dist/node_modules/es-set-tostringtag/package.json b/dist/node_modules/es-set-tostringtag/package.json new file mode 100644 index 00000000..277c3e5a --- /dev/null +++ b/dist/node_modules/es-set-tostringtag/package.json @@ -0,0 +1,78 @@ +{ + "name": "es-set-tostringtag", + "version": "2.1.0", + "description": "A helper to optimistically set Symbol.toStringTag, when possible.", + "main": "index.js", + "exports": { + ".": "./index.js", + "./package.json": "./package.json" + }, + "sideEffects": false, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prelint": "evalmd README.md", + "lint": "eslint --ext=js,mjs .", + "postlint": "tsc -p . && attw -P", + "pretest": "npm run lint", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "npx npm@\">= 10.2\" audit --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/es-shims/es-set-tostringtag.git" + }, + "author": "Jordan Harband ", + "license": "MIT", + "bugs": { + "url": "https://github.com/es-shims/es-set-tostringtag/issues" + }, + "homepage": "https://github.com/es-shims/es-set-tostringtag#readme", + "devDependencies": { + "@arethetypeswrong/cli": "^0.17.2", + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.2.3", + "@types/get-intrinsic": "^1.2.3", + "@types/has-symbols": "^1.0.2", + "@types/tape": "^5.8.0", + "auto-changelog": "^2.5.0", + "encoding": "^0.1.13", + "eslint": "=8.8.0", + "evalmd": "^0.0.19", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "testling": { + "files": "./test/index.js" + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + } +} diff --git a/dist/node_modules/es-set-tostringtag/test/index.js b/dist/node_modules/es-set-tostringtag/test/index.js new file mode 100644 index 00000000..f1757b3a --- /dev/null +++ b/dist/node_modules/es-set-tostringtag/test/index.js @@ -0,0 +1,85 @@ +'use strict'; + +var test = require('tape'); +var hasToStringTag = require('has-tostringtag/shams')(); +var hasOwn = require('hasown'); + +var setToStringTag = require('../'); + +test('setToStringTag', function (t) { + t.equal(typeof setToStringTag, 'function', 'is a function'); + + /** @type {{ [Symbol.toStringTag]?: typeof sentinel }} */ + var obj = {}; + var sentinel = {}; + + setToStringTag(obj, sentinel); + + t['throws']( + // @ts-expect-error + function () { setToStringTag(obj, sentinel, { force: 'yes' }); }, + TypeError, + 'throws if options is not an object' + ); + + t.test('has Symbol.toStringTag', { skip: !hasToStringTag }, function (st) { + st.ok(hasOwn(obj, Symbol.toStringTag), 'has toStringTag property'); + + st.equal(obj[Symbol.toStringTag], sentinel, 'toStringTag property is as expected'); + + st.equal(String(obj), '[object Object]', 'toStringTag works'); + + /** @type {{ [Symbol.toStringTag]?: string }} */ + var tagged = {}; + tagged[Symbol.toStringTag] = 'already tagged'; + st.equal(String(tagged), '[object already tagged]', 'toStringTag works'); + + setToStringTag(tagged, 'new tag'); + st.equal(String(tagged), '[object already tagged]', 'toStringTag is unchanged'); + + setToStringTag(tagged, 'new tag', { force: true }); + st.equal(String(tagged), '[object new tag]', 'toStringTag is changed with force: true'); + + st.deepEqual( + Object.getOwnPropertyDescriptor(tagged, Symbol.toStringTag), + { + configurable: true, + enumerable: false, + value: 'new tag', + writable: false + }, + 'has expected property descriptor' + ); + + setToStringTag(tagged, 'new tag', { force: true, nonConfigurable: true }); + st.deepEqual( + Object.getOwnPropertyDescriptor(tagged, Symbol.toStringTag), + { + configurable: false, + enumerable: false, + value: 'new tag', + writable: false + }, + 'is nonconfigurable' + ); + + st.end(); + }); + + t.test('does not have Symbol.toStringTag', { skip: hasToStringTag }, function (st) { + var passed = true; + for (var key in obj) { // eslint-disable-line no-restricted-syntax + if (hasOwn(obj, key)) { + st.fail('object has own key ' + key); + passed = false; + } + } + if (passed) { + st.ok(true, 'object has no enumerable own keys'); + } + + st.end(); + }); + + t.end(); +}); diff --git a/dist/node_modules/es-set-tostringtag/tsconfig.json b/dist/node_modules/es-set-tostringtag/tsconfig.json new file mode 100644 index 00000000..d9a6668c --- /dev/null +++ b/dist/node_modules/es-set-tostringtag/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "@ljharb/tsconfig", + "compilerOptions": { + "target": "es2021", + }, + "exclude": [ + "coverage", + ], +} diff --git a/dist/node_modules/follow-redirects/LICENSE b/dist/node_modules/follow-redirects/LICENSE new file mode 100644 index 00000000..742cbada --- /dev/null +++ b/dist/node_modules/follow-redirects/LICENSE @@ -0,0 +1,18 @@ +Copyright 2014–present Olivier Lalonde , James Talmage , Ruben Verborgh + +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. diff --git a/dist/node_modules/follow-redirects/README.md b/dist/node_modules/follow-redirects/README.md new file mode 100644 index 00000000..eb869a6f --- /dev/null +++ b/dist/node_modules/follow-redirects/README.md @@ -0,0 +1,155 @@ +## Follow Redirects + +Drop-in replacement for Node's `http` and `https` modules that automatically follows redirects. + +[![npm version](https://img.shields.io/npm/v/follow-redirects.svg)](https://www.npmjs.com/package/follow-redirects) +[![Build Status](https://github.com/follow-redirects/follow-redirects/workflows/CI/badge.svg)](https://github.com/follow-redirects/follow-redirects/actions) +[![Coverage Status](https://coveralls.io/repos/follow-redirects/follow-redirects/badge.svg?branch=master)](https://coveralls.io/r/follow-redirects/follow-redirects?branch=master) +[![npm downloads](https://img.shields.io/npm/dm/follow-redirects.svg)](https://www.npmjs.com/package/follow-redirects) +[![Sponsor on GitHub](https://img.shields.io/static/v1?label=Sponsor&message=%F0%9F%92%96&logo=GitHub)](https://github.com/sponsors/RubenVerborgh) + +`follow-redirects` provides [request](https://nodejs.org/api/http.html#http_http_request_options_callback) and [get](https://nodejs.org/api/http.html#http_http_get_options_callback) + methods that behave identically to those found on the native [http](https://nodejs.org/api/http.html#http_http_request_options_callback) and [https](https://nodejs.org/api/https.html#https_https_request_options_callback) + modules, with the exception that they will seamlessly follow redirects. + +```javascript +const { http, https } = require('follow-redirects'); + +http.get('http://bit.ly/900913', response => { + response.on('data', chunk => { + console.log(chunk); + }); +}).on('error', err => { + console.error(err); +}); +``` + +You can inspect the final redirected URL through the `responseUrl` property on the `response`. +If no redirection happened, `responseUrl` is the original request URL. + +```javascript +const request = https.request({ + host: 'bitly.com', + path: '/UHfDGO', +}, response => { + console.log(response.responseUrl); + // 'http://duckduckgo.com/robots.txt' +}); +request.end(); +``` + +## Options +### Global options +Global options are set directly on the `follow-redirects` module: + +```javascript +const followRedirects = require('follow-redirects'); +followRedirects.maxRedirects = 10; +followRedirects.maxBodyLength = 20 * 1024 * 1024; // 20 MB +``` + +The following global options are supported: + +- `maxRedirects` (default: `21`) – sets the maximum number of allowed redirects; if exceeded, an error will be emitted. + +- `maxBodyLength` (default: 10MB) – sets the maximum size of the request body; if exceeded, an error will be emitted. + +### Per-request options +Per-request options are set by passing an `options` object: + +```javascript +const url = require('url'); +const { http, https } = require('follow-redirects'); + +const options = url.parse('http://bit.ly/900913'); +options.maxRedirects = 10; +options.beforeRedirect = (options, response, request) => { + // Use this to adjust the request options upon redirecting, + // to inspect the latest response headers, + // or to cancel the request by throwing an error + + // response.headers = the redirect response headers + // response.statusCode = the redirect response code (eg. 301, 307, etc.) + + // request.url = the requested URL that resulted in a redirect + // request.headers = the headers in the request that resulted in a redirect + // request.method = the method of the request that resulted in a redirect + if (options.hostname === "example.com") { + options.auth = "user:password"; + } +}; +http.request(options); +``` + +In addition to the [standard HTTP](https://nodejs.org/api/http.html#http_http_request_options_callback) and [HTTPS options](https://nodejs.org/api/https.html#https_https_request_options_callback), +the following per-request options are supported: +- `followRedirects` (default: `true`) – whether redirects should be followed. + +- `maxRedirects` (default: `21`) – sets the maximum number of allowed redirects; if exceeded, an error will be emitted. + +- `maxBodyLength` (default: 10MB) – sets the maximum size of the request body; if exceeded, an error will be emitted. + +- `beforeRedirect` (default: `undefined`) – optionally change the request `options` on redirects, or abort the request by throwing an error. + +- `agents` (default: `undefined`) – sets the `agent` option per protocol, since HTTP and HTTPS use different agents. Example value: `{ http: new http.Agent(), https: new https.Agent() }` + +- `trackRedirects` (default: `false`) – whether to store the redirected response details into the `redirects` array on the response object. + + +### Advanced usage +By default, `follow-redirects` will use the Node.js default implementations +of [`http`](https://nodejs.org/api/http.html) +and [`https`](https://nodejs.org/api/https.html). +To enable features such as caching and/or intermediate request tracking, +you might instead want to wrap `follow-redirects` around custom protocol implementations: + +```javascript +const { http, https } = require('follow-redirects').wrap({ + http: require('your-custom-http'), + https: require('your-custom-https'), +}); +``` + +Such custom protocols only need an implementation of the `request` method. + +## Browser Usage + +Due to the way the browser works, +the `http` and `https` browser equivalents perform redirects by default. + +By requiring `follow-redirects` this way: +```javascript +const http = require('follow-redirects/http'); +const https = require('follow-redirects/https'); +``` +you can easily tell webpack and friends to replace +`follow-redirect` by the built-in versions: + +```json +{ + "follow-redirects/http" : "http", + "follow-redirects/https" : "https" +} +``` + +## Contributing + +Pull Requests are always welcome. Please [file an issue](https://github.com/follow-redirects/follow-redirects/issues) + detailing your proposal before you invest your valuable time. Additional features and bug fixes should be accompanied + by tests. You can run the test suite locally with a simple `npm test` command. + +## Debug Logging + +`follow-redirects` uses the excellent [debug](https://www.npmjs.com/package/debug) for logging. To turn on logging + set the environment variable `DEBUG=follow-redirects` for debug output from just this module. When running the test + suite it is sometimes advantageous to set `DEBUG=*` to see output from the express server as well. + +## Authors + +- [Ruben Verborgh](https://ruben.verborgh.org/) +- [Olivier Lalonde](mailto:olalonde@gmail.com) +- [James Talmage](mailto:james@talmage.io) + +## License + +[MIT License](https://github.com/follow-redirects/follow-redirects/blob/master/LICENSE) diff --git a/dist/node_modules/follow-redirects/debug.js b/dist/node_modules/follow-redirects/debug.js new file mode 100644 index 00000000..decb77de --- /dev/null +++ b/dist/node_modules/follow-redirects/debug.js @@ -0,0 +1,15 @@ +var debug; + +module.exports = function () { + if (!debug) { + try { + /* eslint global-require: off */ + debug = require("debug")("follow-redirects"); + } + catch (error) { /* */ } + if (typeof debug !== "function") { + debug = function () { /* */ }; + } + } + debug.apply(null, arguments); +}; diff --git a/dist/node_modules/follow-redirects/http.js b/dist/node_modules/follow-redirects/http.js new file mode 100644 index 00000000..695e3561 --- /dev/null +++ b/dist/node_modules/follow-redirects/http.js @@ -0,0 +1 @@ +module.exports = require("./").http; diff --git a/dist/node_modules/follow-redirects/https.js b/dist/node_modules/follow-redirects/https.js new file mode 100644 index 00000000..d21c921d --- /dev/null +++ b/dist/node_modules/follow-redirects/https.js @@ -0,0 +1 @@ +module.exports = require("./").https; diff --git a/dist/node_modules/follow-redirects/index.js b/dist/node_modules/follow-redirects/index.js new file mode 100644 index 00000000..a30b32cd --- /dev/null +++ b/dist/node_modules/follow-redirects/index.js @@ -0,0 +1,686 @@ +var url = require("url"); +var URL = url.URL; +var http = require("http"); +var https = require("https"); +var Writable = require("stream").Writable; +var assert = require("assert"); +var debug = require("./debug"); + +// Preventive platform detection +// istanbul ignore next +(function detectUnsupportedEnvironment() { + var looksLikeNode = typeof process !== "undefined"; + var looksLikeBrowser = typeof window !== "undefined" && typeof document !== "undefined"; + var looksLikeV8 = isFunction(Error.captureStackTrace); + if (!looksLikeNode && (looksLikeBrowser || !looksLikeV8)) { + console.warn("The follow-redirects package should be excluded from browser builds."); + } +}()); + +// Whether to use the native URL object or the legacy url module +var useNativeURL = false; +try { + assert(new URL("")); +} +catch (error) { + useNativeURL = error.code === "ERR_INVALID_URL"; +} + +// URL fields to preserve in copy operations +var preservedUrlFields = [ + "auth", + "host", + "hostname", + "href", + "path", + "pathname", + "port", + "protocol", + "query", + "search", + "hash", +]; + +// Create handlers that pass events from native requests +var events = ["abort", "aborted", "connect", "error", "socket", "timeout"]; +var eventHandlers = Object.create(null); +events.forEach(function (event) { + eventHandlers[event] = function (arg1, arg2, arg3) { + this._redirectable.emit(event, arg1, arg2, arg3); + }; +}); + +// Error types with codes +var InvalidUrlError = createErrorType( + "ERR_INVALID_URL", + "Invalid URL", + TypeError +); +var RedirectionError = createErrorType( + "ERR_FR_REDIRECTION_FAILURE", + "Redirected request failed" +); +var TooManyRedirectsError = createErrorType( + "ERR_FR_TOO_MANY_REDIRECTS", + "Maximum number of redirects exceeded", + RedirectionError +); +var MaxBodyLengthExceededError = createErrorType( + "ERR_FR_MAX_BODY_LENGTH_EXCEEDED", + "Request body larger than maxBodyLength limit" +); +var WriteAfterEndError = createErrorType( + "ERR_STREAM_WRITE_AFTER_END", + "write after end" +); + +// istanbul ignore next +var destroy = Writable.prototype.destroy || noop; + +// An HTTP(S) request that can be redirected +function RedirectableRequest(options, responseCallback) { + // Initialize the request + Writable.call(this); + this._sanitizeOptions(options); + this._options = options; + this._ended = false; + this._ending = false; + this._redirectCount = 0; + this._redirects = []; + this._requestBodyLength = 0; + this._requestBodyBuffers = []; + + // Attach a callback if passed + if (responseCallback) { + this.on("response", responseCallback); + } + + // React to responses of native requests + var self = this; + this._onNativeResponse = function (response) { + try { + self._processResponse(response); + } + catch (cause) { + self.emit("error", cause instanceof RedirectionError ? + cause : new RedirectionError({ cause: cause })); + } + }; + + // Perform the first request + this._performRequest(); +} +RedirectableRequest.prototype = Object.create(Writable.prototype); + +RedirectableRequest.prototype.abort = function () { + destroyRequest(this._currentRequest); + this._currentRequest.abort(); + this.emit("abort"); +}; + +RedirectableRequest.prototype.destroy = function (error) { + destroyRequest(this._currentRequest, error); + destroy.call(this, error); + return this; +}; + +// Writes buffered data to the current native request +RedirectableRequest.prototype.write = function (data, encoding, callback) { + // Writing is not allowed if end has been called + if (this._ending) { + throw new WriteAfterEndError(); + } + + // Validate input and shift parameters if necessary + if (!isString(data) && !isBuffer(data)) { + throw new TypeError("data should be a string, Buffer or Uint8Array"); + } + if (isFunction(encoding)) { + callback = encoding; + encoding = null; + } + + // Ignore empty buffers, since writing them doesn't invoke the callback + // https://github.com/nodejs/node/issues/22066 + if (data.length === 0) { + if (callback) { + callback(); + } + return; + } + // Only write when we don't exceed the maximum body length + if (this._requestBodyLength + data.length <= this._options.maxBodyLength) { + this._requestBodyLength += data.length; + this._requestBodyBuffers.push({ data: data, encoding: encoding }); + this._currentRequest.write(data, encoding, callback); + } + // Error when we exceed the maximum body length + else { + this.emit("error", new MaxBodyLengthExceededError()); + this.abort(); + } +}; + +// Ends the current native request +RedirectableRequest.prototype.end = function (data, encoding, callback) { + // Shift parameters if necessary + if (isFunction(data)) { + callback = data; + data = encoding = null; + } + else if (isFunction(encoding)) { + callback = encoding; + encoding = null; + } + + // Write data if needed and end + if (!data) { + this._ended = this._ending = true; + this._currentRequest.end(null, null, callback); + } + else { + var self = this; + var currentRequest = this._currentRequest; + this.write(data, encoding, function () { + self._ended = true; + currentRequest.end(null, null, callback); + }); + this._ending = true; + } +}; + +// Sets a header value on the current native request +RedirectableRequest.prototype.setHeader = function (name, value) { + this._options.headers[name] = value; + this._currentRequest.setHeader(name, value); +}; + +// Clears a header value on the current native request +RedirectableRequest.prototype.removeHeader = function (name) { + delete this._options.headers[name]; + this._currentRequest.removeHeader(name); +}; + +// Global timeout for all underlying requests +RedirectableRequest.prototype.setTimeout = function (msecs, callback) { + var self = this; + + // Destroys the socket on timeout + function destroyOnTimeout(socket) { + socket.setTimeout(msecs); + socket.removeListener("timeout", socket.destroy); + socket.addListener("timeout", socket.destroy); + } + + // Sets up a timer to trigger a timeout event + function startTimer(socket) { + if (self._timeout) { + clearTimeout(self._timeout); + } + self._timeout = setTimeout(function () { + self.emit("timeout"); + clearTimer(); + }, msecs); + destroyOnTimeout(socket); + } + + // Stops a timeout from triggering + function clearTimer() { + // Clear the timeout + if (self._timeout) { + clearTimeout(self._timeout); + self._timeout = null; + } + + // Clean up all attached listeners + self.removeListener("abort", clearTimer); + self.removeListener("error", clearTimer); + self.removeListener("response", clearTimer); + self.removeListener("close", clearTimer); + if (callback) { + self.removeListener("timeout", callback); + } + if (!self.socket) { + self._currentRequest.removeListener("socket", startTimer); + } + } + + // Attach callback if passed + if (callback) { + this.on("timeout", callback); + } + + // Start the timer if or when the socket is opened + if (this.socket) { + startTimer(this.socket); + } + else { + this._currentRequest.once("socket", startTimer); + } + + // Clean up on events + this.on("socket", destroyOnTimeout); + this.on("abort", clearTimer); + this.on("error", clearTimer); + this.on("response", clearTimer); + this.on("close", clearTimer); + + return this; +}; + +// Proxy all other public ClientRequest methods +[ + "flushHeaders", "getHeader", + "setNoDelay", "setSocketKeepAlive", +].forEach(function (method) { + RedirectableRequest.prototype[method] = function (a, b) { + return this._currentRequest[method](a, b); + }; +}); + +// Proxy all public ClientRequest properties +["aborted", "connection", "socket"].forEach(function (property) { + Object.defineProperty(RedirectableRequest.prototype, property, { + get: function () { return this._currentRequest[property]; }, + }); +}); + +RedirectableRequest.prototype._sanitizeOptions = function (options) { + // Ensure headers are always present + if (!options.headers) { + options.headers = {}; + } + + // Since http.request treats host as an alias of hostname, + // but the url module interprets host as hostname plus port, + // eliminate the host property to avoid confusion. + if (options.host) { + // Use hostname if set, because it has precedence + if (!options.hostname) { + options.hostname = options.host; + } + delete options.host; + } + + // Complete the URL object when necessary + if (!options.pathname && options.path) { + var searchPos = options.path.indexOf("?"); + if (searchPos < 0) { + options.pathname = options.path; + } + else { + options.pathname = options.path.substring(0, searchPos); + options.search = options.path.substring(searchPos); + } + } +}; + + +// Executes the next native request (initial or redirect) +RedirectableRequest.prototype._performRequest = function () { + // Load the native protocol + var protocol = this._options.protocol; + var nativeProtocol = this._options.nativeProtocols[protocol]; + if (!nativeProtocol) { + throw new TypeError("Unsupported protocol " + protocol); + } + + // If specified, use the agent corresponding to the protocol + // (HTTP and HTTPS use different types of agents) + if (this._options.agents) { + var scheme = protocol.slice(0, -1); + this._options.agent = this._options.agents[scheme]; + } + + // Create the native request and set up its event handlers + var request = this._currentRequest = + nativeProtocol.request(this._options, this._onNativeResponse); + request._redirectable = this; + for (var event of events) { + request.on(event, eventHandlers[event]); + } + + // RFC7230§5.3.1: When making a request directly to an origin server, […] + // a client MUST send only the absolute path […] as the request-target. + this._currentUrl = /^\//.test(this._options.path) ? + url.format(this._options) : + // When making a request to a proxy, […] + // a client MUST send the target URI in absolute-form […]. + this._options.path; + + // End a redirected request + // (The first request must be ended explicitly with RedirectableRequest#end) + if (this._isRedirect) { + // Write the request entity and end + var i = 0; + var self = this; + var buffers = this._requestBodyBuffers; + (function writeNext(error) { + // Only write if this request has not been redirected yet + // istanbul ignore else + if (request === self._currentRequest) { + // Report any write errors + // istanbul ignore if + if (error) { + self.emit("error", error); + } + // Write the next buffer if there are still left + else if (i < buffers.length) { + var buffer = buffers[i++]; + // istanbul ignore else + if (!request.finished) { + request.write(buffer.data, buffer.encoding, writeNext); + } + } + // End the request if `end` has been called on us + else if (self._ended) { + request.end(); + } + } + }()); + } +}; + +// Processes a response from the current native request +RedirectableRequest.prototype._processResponse = function (response) { + // Store the redirected response + var statusCode = response.statusCode; + if (this._options.trackRedirects) { + this._redirects.push({ + url: this._currentUrl, + headers: response.headers, + statusCode: statusCode, + }); + } + + // RFC7231§6.4: The 3xx (Redirection) class of status code indicates + // that further action needs to be taken by the user agent in order to + // fulfill the request. If a Location header field is provided, + // the user agent MAY automatically redirect its request to the URI + // referenced by the Location field value, + // even if the specific status code is not understood. + + // If the response is not a redirect; return it as-is + var location = response.headers.location; + if (!location || this._options.followRedirects === false || + statusCode < 300 || statusCode >= 400) { + response.responseUrl = this._currentUrl; + response.redirects = this._redirects; + this.emit("response", response); + + // Clean up + this._requestBodyBuffers = []; + return; + } + + // The response is a redirect, so abort the current request + destroyRequest(this._currentRequest); + // Discard the remainder of the response to avoid waiting for data + response.destroy(); + + // RFC7231§6.4: A client SHOULD detect and intervene + // in cyclical redirections (i.e., "infinite" redirection loops). + if (++this._redirectCount > this._options.maxRedirects) { + throw new TooManyRedirectsError(); + } + + // Store the request headers if applicable + var requestHeaders; + var beforeRedirect = this._options.beforeRedirect; + if (beforeRedirect) { + requestHeaders = Object.assign({ + // The Host header was set by nativeProtocol.request + Host: response.req.getHeader("host"), + }, this._options.headers); + } + + // RFC7231§6.4: Automatic redirection needs to done with + // care for methods not known to be safe, […] + // RFC7231§6.4.2–3: For historical reasons, a user agent MAY change + // the request method from POST to GET for the subsequent request. + var method = this._options.method; + if ((statusCode === 301 || statusCode === 302) && this._options.method === "POST" || + // RFC7231§6.4.4: The 303 (See Other) status code indicates that + // the server is redirecting the user agent to a different resource […] + // A user agent can perform a retrieval request targeting that URI + // (a GET or HEAD request if using HTTP) […] + (statusCode === 303) && !/^(?:GET|HEAD)$/.test(this._options.method)) { + this._options.method = "GET"; + // Drop a possible entity and headers related to it + this._requestBodyBuffers = []; + removeMatchingHeaders(/^content-/i, this._options.headers); + } + + // Drop the Host header, as the redirect might lead to a different host + var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers); + + // If the redirect is relative, carry over the host of the last request + var currentUrlParts = parseUrl(this._currentUrl); + var currentHost = currentHostHeader || currentUrlParts.host; + var currentUrl = /^\w+:/.test(location) ? this._currentUrl : + url.format(Object.assign(currentUrlParts, { host: currentHost })); + + // Create the redirected request + var redirectUrl = resolveUrl(location, currentUrl); + debug("redirecting to", redirectUrl.href); + this._isRedirect = true; + spreadUrlObject(redirectUrl, this._options); + + // Drop confidential headers when redirecting to a less secure protocol + // or to a different domain that is not a superdomain + if (redirectUrl.protocol !== currentUrlParts.protocol && + redirectUrl.protocol !== "https:" || + redirectUrl.host !== currentHost && + !isSubdomain(redirectUrl.host, currentHost)) { + removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers); + } + + // Evaluate the beforeRedirect callback + if (isFunction(beforeRedirect)) { + var responseDetails = { + headers: response.headers, + statusCode: statusCode, + }; + var requestDetails = { + url: currentUrl, + method: method, + headers: requestHeaders, + }; + beforeRedirect(this._options, responseDetails, requestDetails); + this._sanitizeOptions(this._options); + } + + // Perform the redirected request + this._performRequest(); +}; + +// Wraps the key/value object of protocols with redirect functionality +function wrap(protocols) { + // Default settings + var exports = { + maxRedirects: 21, + maxBodyLength: 10 * 1024 * 1024, + }; + + // Wrap each protocol + var nativeProtocols = {}; + Object.keys(protocols).forEach(function (scheme) { + var protocol = scheme + ":"; + var nativeProtocol = nativeProtocols[protocol] = protocols[scheme]; + var wrappedProtocol = exports[scheme] = Object.create(nativeProtocol); + + // Executes a request, following redirects + function request(input, options, callback) { + // Parse parameters, ensuring that input is an object + if (isURL(input)) { + input = spreadUrlObject(input); + } + else if (isString(input)) { + input = spreadUrlObject(parseUrl(input)); + } + else { + callback = options; + options = validateUrl(input); + input = { protocol: protocol }; + } + if (isFunction(options)) { + callback = options; + options = null; + } + + // Set defaults + options = Object.assign({ + maxRedirects: exports.maxRedirects, + maxBodyLength: exports.maxBodyLength, + }, input, options); + options.nativeProtocols = nativeProtocols; + if (!isString(options.host) && !isString(options.hostname)) { + options.hostname = "::1"; + } + + assert.equal(options.protocol, protocol, "protocol mismatch"); + debug("options", options); + return new RedirectableRequest(options, callback); + } + + // Executes a GET request, following redirects + function get(input, options, callback) { + var wrappedRequest = wrappedProtocol.request(input, options, callback); + wrappedRequest.end(); + return wrappedRequest; + } + + // Expose the properties on the wrapped protocol + Object.defineProperties(wrappedProtocol, { + request: { value: request, configurable: true, enumerable: true, writable: true }, + get: { value: get, configurable: true, enumerable: true, writable: true }, + }); + }); + return exports; +} + +function noop() { /* empty */ } + +function parseUrl(input) { + var parsed; + // istanbul ignore else + if (useNativeURL) { + parsed = new URL(input); + } + else { + // Ensure the URL is valid and absolute + parsed = validateUrl(url.parse(input)); + if (!isString(parsed.protocol)) { + throw new InvalidUrlError({ input }); + } + } + return parsed; +} + +function resolveUrl(relative, base) { + // istanbul ignore next + return useNativeURL ? new URL(relative, base) : parseUrl(url.resolve(base, relative)); +} + +function validateUrl(input) { + if (/^\[/.test(input.hostname) && !/^\[[:0-9a-f]+\]$/i.test(input.hostname)) { + throw new InvalidUrlError({ input: input.href || input }); + } + if (/^\[/.test(input.host) && !/^\[[:0-9a-f]+\](:\d+)?$/i.test(input.host)) { + throw new InvalidUrlError({ input: input.href || input }); + } + return input; +} + +function spreadUrlObject(urlObject, target) { + var spread = target || {}; + for (var key of preservedUrlFields) { + spread[key] = urlObject[key]; + } + + // Fix IPv6 hostname + if (spread.hostname.startsWith("[")) { + spread.hostname = spread.hostname.slice(1, -1); + } + // Ensure port is a number + if (spread.port !== "") { + spread.port = Number(spread.port); + } + // Concatenate path + spread.path = spread.search ? spread.pathname + spread.search : spread.pathname; + + return spread; +} + +function removeMatchingHeaders(regex, headers) { + var lastValue; + for (var header in headers) { + if (regex.test(header)) { + lastValue = headers[header]; + delete headers[header]; + } + } + return (lastValue === null || typeof lastValue === "undefined") ? + undefined : String(lastValue).trim(); +} + +function createErrorType(code, message, baseClass) { + // Create constructor + function CustomError(properties) { + // istanbul ignore else + if (isFunction(Error.captureStackTrace)) { + Error.captureStackTrace(this, this.constructor); + } + Object.assign(this, properties || {}); + this.code = code; + this.message = this.cause ? message + ": " + this.cause.message : message; + } + + // Attach constructor and set default properties + CustomError.prototype = new (baseClass || Error)(); + Object.defineProperties(CustomError.prototype, { + constructor: { + value: CustomError, + enumerable: false, + }, + name: { + value: "Error [" + code + "]", + enumerable: false, + }, + }); + return CustomError; +} + +function destroyRequest(request, error) { + for (var event of events) { + request.removeListener(event, eventHandlers[event]); + } + request.on("error", noop); + request.destroy(error); +} + +function isSubdomain(subdomain, domain) { + assert(isString(subdomain) && isString(domain)); + var dot = subdomain.length - domain.length - 1; + return dot > 0 && subdomain[dot] === "." && subdomain.endsWith(domain); +} + +function isString(value) { + return typeof value === "string" || value instanceof String; +} + +function isFunction(value) { + return typeof value === "function"; +} + +function isBuffer(value) { + return typeof value === "object" && ("length" in value); +} + +function isURL(value) { + return URL && value instanceof URL; +} + +// Exports +module.exports = wrap({ http: http, https: https }); +module.exports.wrap = wrap; diff --git a/dist/node_modules/follow-redirects/package.json b/dist/node_modules/follow-redirects/package.json new file mode 100644 index 00000000..a2689fa1 --- /dev/null +++ b/dist/node_modules/follow-redirects/package.json @@ -0,0 +1,58 @@ +{ + "name": "follow-redirects", + "version": "1.15.11", + "description": "HTTP and HTTPS modules that follow redirects.", + "license": "MIT", + "main": "index.js", + "files": [ + "*.js" + ], + "engines": { + "node": ">=4.0" + }, + "scripts": { + "lint": "eslint *.js test", + "test": "nyc mocha" + }, + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/follow-redirects/follow-redirects.git" + }, + "homepage": "https://github.com/follow-redirects/follow-redirects", + "bugs": { + "url": "https://github.com/follow-redirects/follow-redirects/issues" + }, + "keywords": [ + "http", + "https", + "url", + "redirect", + "client", + "location", + "utility" + ], + "author": "Ruben Verborgh (https://ruben.verborgh.org/)", + "contributors": [ + "Olivier Lalonde (http://www.syskall.com)", + "James Talmage " + ], + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "peerDependenciesMeta": { + "debug": { + "optional": true + } + }, + "devDependencies": { + "concat-stream": "^2.0.0", + "eslint": "^5.16.0", + "express": "^4.16.4", + "lolex": "^3.1.0", + "mocha": "^6.0.2", + "nyc": "^14.1.1" + } +} diff --git a/dist/node_modules/form-data/CHANGELOG.md b/dist/node_modules/form-data/CHANGELOG.md new file mode 100644 index 00000000..cd3105e6 --- /dev/null +++ b/dist/node_modules/form-data/CHANGELOG.md @@ -0,0 +1,659 @@ +# 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). + +## [v4.0.5](https://github.com/form-data/form-data/compare/v4.0.4...v4.0.5) - 2025-11-17 + +### Commits + +- [Tests] Switch to newer v8 prediction library; enable node 24 testing [`16e0076`](https://github.com/form-data/form-data/commit/16e00765342106876f98a1c9703314006c9e937a) +- [Dev Deps] update `@ljharb/eslint-config`, `eslint` [`5822467`](https://github.com/form-data/form-data/commit/5822467f0ec21f6ad613c1c90856375e498793c7) +- [Fix] set Symbol.toStringTag in the proper place [`76d0dee`](https://github.com/form-data/form-data/commit/76d0dee43933b5e167f7f09e5d9cbbd1cf911aa7) + +## [v4.0.4](https://github.com/form-data/form-data/compare/v4.0.3...v4.0.4) - 2025-07-16 + +### Commits + +- [meta] add `auto-changelog` [`811f682`](https://github.com/form-data/form-data/commit/811f68282fab0315209d0e2d1c44b6c32ea0d479) +- [Tests] handle predict-v8-randomness failures in node < 17 and node > 23 [`1d11a76`](https://github.com/form-data/form-data/commit/1d11a76434d101f22fdb26b8aef8615f28b98402) +- [Fix] Switch to using `crypto` random for boundary values [`3d17230`](https://github.com/form-data/form-data/commit/3d1723080e6577a66f17f163ecd345a21d8d0fd0) +- [Tests] fix linting errors [`5e34080`](https://github.com/form-data/form-data/commit/5e340800b5f8914213e4e0378c084aae71cfd73a) +- [meta] actually ensure the readme backup isn’t published [`316c82b`](https://github.com/form-data/form-data/commit/316c82ba93fd4985af757b771b9a1f26d3b709ef) +- [Dev Deps] update `@ljharb/eslint-config` [`58c25d7`](https://github.com/form-data/form-data/commit/58c25d76406a5b0dfdf54045cf252563f2bbda8d) +- [meta] fix readme capitalization [`2300ca1`](https://github.com/form-data/form-data/commit/2300ca19595b0ee96431e868fe2a40db79e41c61) + +## [v4.0.3](https://github.com/form-data/form-data/compare/v4.0.2...v4.0.3) - 2025-06-05 + +### Fixed + +- [Fix] `append`: avoid a crash on nullish values [`#577`](https://github.com/form-data/form-data/issues/577) + +### Commits + +- [eslint] use a shared config [`426ba9a`](https://github.com/form-data/form-data/commit/426ba9ac440f95d1998dac9a5cd8d738043b048f) +- [eslint] fix some spacing issues [`2094191`](https://github.com/form-data/form-data/commit/20941917f0e9487e68c564ebc3157e23609e2939) +- [Refactor] use `hasown` [`81ab41b`](https://github.com/form-data/form-data/commit/81ab41b46fdf34f5d89d7ff30b513b0925febfaa) +- [Fix] validate boundary type in `setBoundary()` method [`8d8e469`](https://github.com/form-data/form-data/commit/8d8e4693093519f7f18e3c597d1e8df8c493de9e) +- [Tests] add tests to check the behavior of `getBoundary` with non-strings [`837b8a1`](https://github.com/form-data/form-data/commit/837b8a1f7562bfb8bda74f3fc538adb7a5858995) +- [Dev Deps] remove unused deps [`870e4e6`](https://github.com/form-data/form-data/commit/870e4e665935e701bf983a051244ab928e62d58e) +- [meta] remove local commit hooks [`e6e83cc`](https://github.com/form-data/form-data/commit/e6e83ccb545a5619ed6cd04f31d5c2f655eb633e) +- [Dev Deps] update `eslint` [`4066fd6`](https://github.com/form-data/form-data/commit/4066fd6f65992b62fa324a6474a9292a4f88c916) +- [meta] fix scripts to use prepublishOnly [`c4bbb13`](https://github.com/form-data/form-data/commit/c4bbb13c0ef669916657bc129341301b1d331d75) + +## [v4.0.2](https://github.com/form-data/form-data/compare/v4.0.1...v4.0.2) - 2025-02-14 + +### Merged + +- [Fix] set `Symbol.toStringTag` when available [`#573`](https://github.com/form-data/form-data/pull/573) +- [Fix] set `Symbol.toStringTag` when available [`#573`](https://github.com/form-data/form-data/pull/573) +- fix (npmignore): ignore temporary build files [`#532`](https://github.com/form-data/form-data/pull/532) +- fix (npmignore): ignore temporary build files [`#532`](https://github.com/form-data/form-data/pull/532) + +### Fixed + +- [Fix] set `Symbol.toStringTag` when available (#573) [`#396`](https://github.com/form-data/form-data/issues/396) +- [Fix] set `Symbol.toStringTag` when available (#573) [`#396`](https://github.com/form-data/form-data/issues/396) +- [Fix] set `Symbol.toStringTag` when available [`#396`](https://github.com/form-data/form-data/issues/396) + +### Commits + +- Merge tags v2.5.3 and v3.0.3 [`92613b9`](https://github.com/form-data/form-data/commit/92613b9208556eb4ebc482fdf599fae111626fb6) +- [Tests] migrate from travis to GHA [`806eda7`](https://github.com/form-data/form-data/commit/806eda77740e6e3c67c7815afb216f2e1f187ba5) +- [Tests] migrate from travis to GHA [`8fdb3bc`](https://github.com/form-data/form-data/commit/8fdb3bc6b5d001f8909a9fca391d1d1d97ef1d79) +- [Refactor] use `Object.prototype.hasOwnProperty.call` [`7fecefe`](https://github.com/form-data/form-data/commit/7fecefe4ba8f775634aff86a698776ad95ecffb5) +- [Refactor] use `Object.prototype.hasOwnProperty.call` [`6e682d4`](https://github.com/form-data/form-data/commit/6e682d4bd41de7e80de41e3c4ee10f23fcc3dd00) +- [Refactor] use `Object.prototype.hasOwnProperty.call` [`df3c1e6`](https://github.com/form-data/form-data/commit/df3c1e6f0937f47a782dc4573756a54987f31dde) +- [Dev Deps] update `@types/node`, `browserify`, `coveralls`, `cross-spawn`, `eslint`, `formidable`, `in-publish`, `pkgfiles`, `pre-commit`, `puppeteer`, `request`, `tape`, `typescript` [`8261fcb`](https://github.com/form-data/form-data/commit/8261fcb8bf5944d30ae3bd04b91b71d6a9932ef4) +- [Dev Deps] update `@types/node`, `browserify`, `coveralls`, `cross-spawn`, `eslint`, `formidable`, `in-publish`, `pkgfiles`, `pre-commit`, `puppeteer`, `request`, `tape`, `typescript` [`fb66cb7`](https://github.com/form-data/form-data/commit/fb66cb740e29fb170eee947d4be6fdf82d6659af) +- [Dev Deps] update `@types/node`, `browserify`, `coveralls`, `eslint`, `formidable`, `in-publish`, `phantomjs-prebuilt`, `pkgfiles`, `pre-commit`, `request`, `tape`, `typescript` [`819f6b7`](https://github.com/form-data/form-data/commit/819f6b7a543306a891fca37c3a06d0ff4a734422) +- [eslint] clean up ignores [`3217b3d`](https://github.com/form-data/form-data/commit/3217b3ded8e382e51171d5c74c6038a21cc54440) +- [eslint] clean up ignores [`3a9d480`](https://github.com/form-data/form-data/commit/3a9d480232dbcbc07260ad84c3da4975d9a3ae9e) +- [Fix] `Buffer.from` and `Buffer.alloc` require node 4+ [`c499f76`](https://github.com/form-data/form-data/commit/c499f76f1faac1ddbf210c45217038e4c1e02337) +- Only apps should have lockfiles [`b82f590`](https://github.com/form-data/form-data/commit/b82f59093cdbadb4b7ec0922d33ae7ab048b82ff) +- Only apps should have lockfiles [`b170ee2`](https://github.com/form-data/form-data/commit/b170ee2b22b4c695c363b811c0c553d2fb1bbd79) +- [Deps] update `combined-stream`, `mime-types` [`6b1ca1d`](https://github.com/form-data/form-data/commit/6b1ca1dc7362a1b1c3a99a885516cca4b7eb817f) +- [Dev Deps] pin `request` which via `tough-cookie` ^2.4 depends on `psl` [`e5df7f2`](https://github.com/form-data/form-data/commit/e5df7f24383342264bd73dee3274818a40d04065) +- [Deps] update `mime-types` [`5a5bafe`](https://github.com/form-data/form-data/commit/5a5bafee894fead10da49e1fa2b084e17f2e1034) +- Bumped version 2.5.3 [`9457283`](https://github.com/form-data/form-data/commit/9457283e1dce6122adc908fdd7442cfc54cabe7a) +- [Dev Deps] pin `request` which via `tough-cookie` ^2.4 depends on `psl` [`9dbe192`](https://github.com/form-data/form-data/commit/9dbe192be3db215eac4d9c0b980470a5c2c030c6) +- Merge tags v2.5.2 and v3.0.2 [`d53265d`](https://github.com/form-data/form-data/commit/d53265d86c5153f535ec68eb107548b1b2883576) +- Bumped version 2.5.2 [`7020dd4`](https://github.com/form-data/form-data/commit/7020dd4c1260370abc40e86e3dfe49c5d576fbda) +- [Dev Deps] downgrade `cross-spawn` [`3fc1a9b`](https://github.com/form-data/form-data/commit/3fc1a9b62ddf1fe77a2bd6bd3476e4c0a9e01a88) +- fix: move util.isArray to Array.isArray (#564) [`edb555a`](https://github.com/form-data/form-data/commit/edb555a811f6f7e4668db4831551cf41c1de1cac) +- fix: move util.isArray to Array.isArray (#564) [`10418d1`](https://github.com/form-data/form-data/commit/10418d1fe4b0d65fe020eafe3911feb5ad5e2bd6) + +## [v4.0.1](https://github.com/form-data/form-data/compare/v4.0.0...v4.0.1) - 2024-10-10 + +### Commits + +- [Tests] migrate from travis to GHA [`757b4e3`](https://github.com/form-data/form-data/commit/757b4e32e95726aec9bdcc771fb5a3b564d88034) +- [eslint] clean up ignores [`e8f0d80`](https://github.com/form-data/form-data/commit/e8f0d80cd7cd424d1488532621ec40a33218b30b) +- fix (npmignore): ignore temporary build files [`335ad19`](https://github.com/form-data/form-data/commit/335ad19c6e17dc2d7298ffe0e9b37ba63600e94b) +- fix: move util.isArray to Array.isArray [`440d3be`](https://github.com/form-data/form-data/commit/440d3bed752ac2f9213b4c2229dbccefe140e5fa) + +## [v4.0.0](https://github.com/form-data/form-data/compare/v3.0.4...v4.0.0) - 2021-02-15 + +### Merged + +- Handle custom stream [`#382`](https://github.com/form-data/form-data/pull/382) + +### Commits + +- Fix typo [`e705c0a`](https://github.com/form-data/form-data/commit/e705c0a1fdaf90d21501f56460b93e43a18bd435) +- Update README for custom stream behavior [`6dd8624`](https://github.com/form-data/form-data/commit/6dd8624b2999e32768d62752c9aae5845a803b0d) + +## [v3.0.4](https://github.com/form-data/form-data/compare/v3.0.3...v3.0.4) - 2025-07-16 + +### Fixed + +- [Fix] `append`: avoid a crash on nullish values [`#577`](https://github.com/form-data/form-data/issues/577) + +### Commits + +- [eslint] update linting config [`f5e7eb0`](https://github.com/form-data/form-data/commit/f5e7eb024bc3fc7e2074ff80f143a4f4cbc1dbda) +- [meta] add `auto-changelog` [`d2eb290`](https://github.com/form-data/form-data/commit/d2eb290a3e47ed5bcad7020d027daa15b3cf5ef5) +- [Tests] handle predict-v8-randomness failures in node < 17 and node > 23 [`e8c574c`](https://github.com/form-data/form-data/commit/e8c574cb07ff3a0de2ecc0912d783ef22e190c1f) +- [Fix] Switch to using `crypto` random for boundary values [`c6ced61`](https://github.com/form-data/form-data/commit/c6ced61d4fae8f617ee2fd692133ed87baa5d0fd) +- [Refactor] use `hasown` [`1a78b5d`](https://github.com/form-data/form-data/commit/1a78b5dd05e508d67e97764d812ac7c6d92ea88d) +- [Fix] validate boundary type in `setBoundary()` method [`70bbaa0`](https://github.com/form-data/form-data/commit/70bbaa0b395ca0fb975c309de8d7286979254cc4) +- [Tests] add tests to check the behavior of `getBoundary` with non-strings [`b22a64e`](https://github.com/form-data/form-data/commit/b22a64ef94ba4f3f6ff7d1ac72a54cca128567df) +- [meta] actually ensure the readme backup isn’t published [`0150851`](https://github.com/form-data/form-data/commit/01508513ffb26fd662ae7027834b325af8efb9ea) +- [meta] remove local commit hooks [`fc42bb9`](https://github.com/form-data/form-data/commit/fc42bb9315b641bfa6dae51cb4e188a86bb04769) +- [Dev Deps] remove unused deps [`a14d09e`](https://github.com/form-data/form-data/commit/a14d09ea8ed7e0a2e1705269ce6fb54bb7ee6bdb) +- [meta] fix scripts to use prepublishOnly [`11d9f73`](https://github.com/form-data/form-data/commit/11d9f7338f18a59b431832a3562b49baece0a432) +- [meta] fix readme capitalization [`fc38b48`](https://github.com/form-data/form-data/commit/fc38b4834a117a1856f3d877eb2f5b7496a24932) + +## [v3.0.3](https://github.com/form-data/form-data/compare/v3.0.2...v3.0.3) - 2025-02-14 + +### Merged + +- [Fix] set `Symbol.toStringTag` when available [`#573`](https://github.com/form-data/form-data/pull/573) + +### Fixed + +- [Fix] set `Symbol.toStringTag` when available (#573) [`#396`](https://github.com/form-data/form-data/issues/396) + +### Commits + +- [Refactor] use `Object.prototype.hasOwnProperty.call` [`7fecefe`](https://github.com/form-data/form-data/commit/7fecefe4ba8f775634aff86a698776ad95ecffb5) +- [Dev Deps] update `@types/node`, `browserify`, `coveralls`, `cross-spawn`, `eslint`, `formidable`, `in-publish`, `pkgfiles`, `pre-commit`, `puppeteer`, `request`, `tape`, `typescript` [`8261fcb`](https://github.com/form-data/form-data/commit/8261fcb8bf5944d30ae3bd04b91b71d6a9932ef4) +- Only apps should have lockfiles [`b82f590`](https://github.com/form-data/form-data/commit/b82f59093cdbadb4b7ec0922d33ae7ab048b82ff) +- [Dev Deps] pin `request` which via `tough-cookie` ^2.4 depends on `psl` [`e5df7f2`](https://github.com/form-data/form-data/commit/e5df7f24383342264bd73dee3274818a40d04065) +- [Deps] update `mime-types` [`5a5bafe`](https://github.com/form-data/form-data/commit/5a5bafee894fead10da49e1fa2b084e17f2e1034) + +## [v3.0.2](https://github.com/form-data/form-data/compare/v3.0.1...v3.0.2) - 2024-10-10 + +### Merged + +- fix (npmignore): ignore temporary build files [`#532`](https://github.com/form-data/form-data/pull/532) + +### Commits + +- [Tests] migrate from travis to GHA [`8fdb3bc`](https://github.com/form-data/form-data/commit/8fdb3bc6b5d001f8909a9fca391d1d1d97ef1d79) +- [eslint] clean up ignores [`3217b3d`](https://github.com/form-data/form-data/commit/3217b3ded8e382e51171d5c74c6038a21cc54440) +- fix: move util.isArray to Array.isArray (#564) [`edb555a`](https://github.com/form-data/form-data/commit/edb555a811f6f7e4668db4831551cf41c1de1cac) + +## [v3.0.1](https://github.com/form-data/form-data/compare/v3.0.0...v3.0.1) - 2021-02-15 + +### Merged + +- Fix typo: ads -> adds [`#451`](https://github.com/form-data/form-data/pull/451) + +### Commits + +- feat: add setBoundary method [`55d90ce`](https://github.com/form-data/form-data/commit/55d90ce4a4c22b0ea0647991d85cb946dfb7395b) + +## [v3.0.0](https://github.com/form-data/form-data/compare/v2.5.5...v3.0.0) - 2019-11-05 + +### Merged + +- Update Readme.md [`#449`](https://github.com/form-data/form-data/pull/449) +- Update package.json [`#448`](https://github.com/form-data/form-data/pull/448) +- fix memory leak [`#447`](https://github.com/form-data/form-data/pull/447) +- form-data: Replaced PhantomJS Dependency [`#442`](https://github.com/form-data/form-data/pull/442) +- Fix constructor options in Typescript definitions [`#446`](https://github.com/form-data/form-data/pull/446) +- Fix the getHeaders method signatures [`#434`](https://github.com/form-data/form-data/pull/434) +- Update combined-stream (fixes #422) [`#424`](https://github.com/form-data/form-data/pull/424) + +### Fixed + +- Merge pull request #424 from botgram/update-combined-stream [`#422`](https://github.com/form-data/form-data/issues/422) +- Update combined-stream (fixes #422) [`#422`](https://github.com/form-data/form-data/issues/422) + +### Commits + +- Add readable stream options to constructor type [`80c8f74`](https://github.com/form-data/form-data/commit/80c8f746bcf4c0418ae35fbedde12fb8c01e2748) +- Fixed: getHeaders method signatures [`f4ca7f8`](https://github.com/form-data/form-data/commit/f4ca7f8e31f7e07df22c1aeb8e0a32a7055a64ca) +- Pass options to constructor if not used with new [`4bde68e`](https://github.com/form-data/form-data/commit/4bde68e12de1ba90fefad2e7e643f6375b902763) +- Make userHeaders optional [`2b4e478`](https://github.com/form-data/form-data/commit/2b4e4787031490942f2d1ee55c56b85a250875a7) + +## [v2.5.5](https://github.com/form-data/form-data/compare/v2.5.4...v2.5.5) - 2025-07-18 + +### Commits + +- [meta] actually ensure the readme backup isn’t published [`10626c0`](https://github.com/form-data/form-data/commit/10626c0a9b78c7d3fcaa51772265015ee0afc25c) +- [Fix] use proper dependency [`026abe5`](https://github.com/form-data/form-data/commit/026abe5c5c0489d8a2ccb59d5cfd14fb63078377) + +## [v2.5.4](https://github.com/form-data/form-data/compare/v2.5.3...v2.5.4) - 2025-07-17 + +### Fixed + +- [Fix] `append`: avoid a crash on nullish values [`#577`](https://github.com/form-data/form-data/issues/577) + +### Commits + +- [eslint] update linting config [`8bf2492`](https://github.com/form-data/form-data/commit/8bf2492e0555d41ff58fa04c91593af998f87a3c) +- [meta] add `auto-changelog` [`b5101ad`](https://github.com/form-data/form-data/commit/b5101ad3d5f73cfd0143aae3735b92826fd731ea) +- [Tests] handle predict-v8-randomness failures in node < 17 and node > 23 [`0e93122`](https://github.com/form-data/form-data/commit/0e93122358414942393d9c2dc434ae69e58be7c8) +- [Fix] Switch to using `crypto` random for boundary values [`b88316c`](https://github.com/form-data/form-data/commit/b88316c94bb004323669cd3639dc8bb8262539eb) +- [Fix] validate boundary type in `setBoundary()` method [`131ae5e`](https://github.com/form-data/form-data/commit/131ae5efa30b9c608add4faef3befb38aa2e1bf1) +- [Tests] Switch to newer v8 prediction library; enable node 24 testing [`c97cfbe`](https://github.com/form-data/form-data/commit/c97cfbed9eb6d2d4b5d53090f69ded4bf9fd8a21) +- [Refactor] use `hasown` [`97ac9c2`](https://github.com/form-data/form-data/commit/97ac9c208be0b83faeee04bb3faef1ed3474ee4c) +- [meta] remove local commit hooks [`be99d4e`](https://github.com/form-data/form-data/commit/be99d4eea5ce47139c23c1f0914596194019d7fb) +- [Dev Deps] remove unused deps [`ddbc89b`](https://github.com/form-data/form-data/commit/ddbc89b6d6d64f730bcb27cb33b7544068466a05) +- [meta] fix scripts to use prepublishOnly [`e351a97`](https://github.com/form-data/form-data/commit/e351a97e9f6c57c74ffd01625e83b09de805d08a) +- [Dev Deps] remove unused script [`8f23366`](https://github.com/form-data/form-data/commit/8f233664842da5bd605ce85541defc713d1d1e0a) +- [Dev Deps] add missing peer dep [`02ff026`](https://github.com/form-data/form-data/commit/02ff026fda71f9943cfdd5754727c628adb8d135) +- [meta] fix readme capitalization [`2fd5f61`](https://github.com/form-data/form-data/commit/2fd5f61ebfb526cd015fb8e7b8b8c1add4a38872) + +## [v2.5.3](https://github.com/form-data/form-data/compare/v2.5.2...v2.5.3) - 2025-02-14 + +### Merged + +- [Fix] set `Symbol.toStringTag` when available [`#573`](https://github.com/form-data/form-data/pull/573) + +### Fixed + +- [Fix] set `Symbol.toStringTag` when available (#573) [`#396`](https://github.com/form-data/form-data/issues/396) + +### Commits + +- [Refactor] use `Object.prototype.hasOwnProperty.call` [`6e682d4`](https://github.com/form-data/form-data/commit/6e682d4bd41de7e80de41e3c4ee10f23fcc3dd00) +- [Dev Deps] update `@types/node`, `browserify`, `coveralls`, `eslint`, `formidable`, `in-publish`, `phantomjs-prebuilt`, `pkgfiles`, `pre-commit`, `request`, `tape`, `typescript` [`819f6b7`](https://github.com/form-data/form-data/commit/819f6b7a543306a891fca37c3a06d0ff4a734422) +- Only apps should have lockfiles [`b170ee2`](https://github.com/form-data/form-data/commit/b170ee2b22b4c695c363b811c0c553d2fb1bbd79) +- [Deps] update `combined-stream`, `mime-types` [`6b1ca1d`](https://github.com/form-data/form-data/commit/6b1ca1dc7362a1b1c3a99a885516cca4b7eb817f) +- Bumped version 2.5.3 [`9457283`](https://github.com/form-data/form-data/commit/9457283e1dce6122adc908fdd7442cfc54cabe7a) +- [Dev Deps] pin `request` which via `tough-cookie` ^2.4 depends on `psl` [`9dbe192`](https://github.com/form-data/form-data/commit/9dbe192be3db215eac4d9c0b980470a5c2c030c6) + +## [v2.5.2](https://github.com/form-data/form-data/compare/v2.5.1...v2.5.2) - 2024-10-10 + +### Merged + +- fix (npmignore): ignore temporary build files [`#532`](https://github.com/form-data/form-data/pull/532) + +### Commits + +- [Tests] migrate from travis to GHA [`806eda7`](https://github.com/form-data/form-data/commit/806eda77740e6e3c67c7815afb216f2e1f187ba5) +- [eslint] clean up ignores [`3a9d480`](https://github.com/form-data/form-data/commit/3a9d480232dbcbc07260ad84c3da4975d9a3ae9e) +- [Fix] `Buffer.from` and `Buffer.alloc` require node 4+ [`c499f76`](https://github.com/form-data/form-data/commit/c499f76f1faac1ddbf210c45217038e4c1e02337) +- Bumped version 2.5.2 [`7020dd4`](https://github.com/form-data/form-data/commit/7020dd4c1260370abc40e86e3dfe49c5d576fbda) +- [Dev Deps] downgrade `cross-spawn` [`3fc1a9b`](https://github.com/form-data/form-data/commit/3fc1a9b62ddf1fe77a2bd6bd3476e4c0a9e01a88) +- fix: move util.isArray to Array.isArray (#564) [`10418d1`](https://github.com/form-data/form-data/commit/10418d1fe4b0d65fe020eafe3911feb5ad5e2bd6) + +## [v2.5.1](https://github.com/form-data/form-data/compare/v2.5.0...v2.5.1) - 2019-08-28 + +### Merged + +- Fix error in callback signatures [`#435`](https://github.com/form-data/form-data/pull/435) +- -Fixed: Eerror in the documentations as indicated in #439 [`#440`](https://github.com/form-data/form-data/pull/440) +- Add constructor options to TypeScript defs [`#437`](https://github.com/form-data/form-data/pull/437) + +### Commits + +- Add remaining combined-stream options to typedef [`4d41a32`](https://github.com/form-data/form-data/commit/4d41a32c0b3f85f8bbc9cf17df43befd2d5fc305) +- Bumped version 2.5.1 [`8ce81f5`](https://github.com/form-data/form-data/commit/8ce81f56cccf5466363a5eff135ad394a929f59b) +- Bump rimraf to 2.7.1 [`a6bc2d4`](https://github.com/form-data/form-data/commit/a6bc2d4296dbdee5d84cbab7c69bcd0eea7a12e2) + +## [v2.5.0](https://github.com/form-data/form-data/compare/v2.4.0...v2.5.0) - 2019-07-03 + +### Merged + +- - Added: public methods with information and examples to readme [`#429`](https://github.com/form-data/form-data/pull/429) +- chore: move @types/node to devDep [`#431`](https://github.com/form-data/form-data/pull/431) +- Switched windows tests from AppVeyor to Travis [`#430`](https://github.com/form-data/form-data/pull/430) +- feat(typings): migrate TS typings #427 [`#428`](https://github.com/form-data/form-data/pull/428) +- enhance the method of path.basename, handle undefined case [`#421`](https://github.com/form-data/form-data/pull/421) + +### Commits + +- - Added: public methods with information and examples to the readme file. [`21323f3`](https://github.com/form-data/form-data/commit/21323f3b4043a167046a4a2554c5f2825356c423) +- feat(typings): migrate TS typings [`a3c0142`](https://github.com/form-data/form-data/commit/a3c0142ed91b0c7dcaf89c4f618776708f1f70a9) +- - Fixed: Typos [`37350fa`](https://github.com/form-data/form-data/commit/37350fa250782f156a998ec1fa9671866d40ac49) +- Switched to Travis Windows from Appveyor [`fc61c73`](https://github.com/form-data/form-data/commit/fc61c7381fad12662df16dbc3e7621c91b886f03) +- - Fixed: rendering of subheaders [`e93ed8d`](https://github.com/form-data/form-data/commit/e93ed8df9d7f22078bc3a2c24889e9dfa11e192d) +- Updated deps and readme [`e3d8628`](https://github.com/form-data/form-data/commit/e3d8628728f6e4817ab97deeed92f0c822661b89) +- Updated dependencies [`19add50`](https://github.com/form-data/form-data/commit/19add50afb7de66c70d189f422d16f1b886616e2) +- Bumped version to 2.5.0 [`905f173`](https://github.com/form-data/form-data/commit/905f173a3f785e8d312998e765634ee451ca5f42) +- - Fixed: filesize is not a valid option? knownLength should be used for streams [`d88f912`](https://github.com/form-data/form-data/commit/d88f912b75b666b47f8674467516eade69d2d5be) +- Bump notion of modern node to node8 [`508b626`](https://github.com/form-data/form-data/commit/508b626bf1b460d3733d3420dc1cfd001617f6ac) +- enhance the method of path.basename [`faaa68a`](https://github.com/form-data/form-data/commit/faaa68a297be7d4fca0ac4709d5b93afc1f78b5c) + +## [v2.4.0](https://github.com/form-data/form-data/compare/v2.3.2...v2.4.0) - 2019-06-19 + +### Merged + +- Added "getBuffer" method and updated certificates [`#419`](https://github.com/form-data/form-data/pull/419) +- docs(readme): add axios integration document [`#425`](https://github.com/form-data/form-data/pull/425) +- Allow newer versions of combined-stream [`#402`](https://github.com/form-data/form-data/pull/402) + +### Commits + +- Updated: Certificate [`e90a76a`](https://github.com/form-data/form-data/commit/e90a76ab3dcaa63a6f3045f8255bfbb9c25a3e4e) +- Updated build/test/badges [`8512eef`](https://github.com/form-data/form-data/commit/8512eef436e28372f5bc88de3ca76a9cb46e6847) +- Bumped version 2.4.0 [`0f8da06`](https://github.com/form-data/form-data/commit/0f8da06c0b4c997bd2f6b09d78290d339616a950) +- docs(readme): remove unnecessary bracket [`4e3954d`](https://github.com/form-data/form-data/commit/4e3954dde304d27e3b95371d8c78002f3af5d5b2) +- Bumped version to 2.3.3 [`b16916a`](https://github.com/form-data/form-data/commit/b16916a568a0d06f3f8a16c31f9a8b89b7844094) + +## [v2.3.2](https://github.com/form-data/form-data/compare/v2.3.1...v2.3.2) - 2018-02-13 + +### Merged + +- Pulling in fixed combined-stream [`#379`](https://github.com/form-data/form-data/pull/379) + +### Commits + +- All the dev dependencies are breaking in old versions of node :'( [`c7dba6a`](https://github.com/form-data/form-data/commit/c7dba6a139d872d173454845e25e1850ed6b72b4) +- Updated badges [`19b6c7a`](https://github.com/form-data/form-data/commit/19b6c7a8a5c40f47f91c8a8da3e5e4dc3c449fa3) +- Try tests in node@4 [`872a326`](https://github.com/form-data/form-data/commit/872a326ab13e2740b660ff589b75232c3a85fcc9) +- Pull in final version [`9d44871`](https://github.com/form-data/form-data/commit/9d44871073d647995270b19dbc26f65671ce15c7) + +## [v2.3.1](https://github.com/form-data/form-data/compare/v2.3.0...v2.3.1) - 2017-08-24 + +### Commits + +- Updated readme with custom options example [`8e0a569`](https://github.com/form-data/form-data/commit/8e0a5697026016fe171e93bec43c2205279e23ca) +- Added support (tests) for node 8 [`d1d6f4a`](https://github.com/form-data/form-data/commit/d1d6f4ad4670d8ba84cc85b28e522ca0e93eb362) + +## [v2.3.0](https://github.com/form-data/form-data/compare/v2.2.0...v2.3.0) - 2017-08-24 + +### Merged + +- Added custom `options` support [`#368`](https://github.com/form-data/form-data/pull/368) +- Allow form.submit with url string param to use https [`#249`](https://github.com/form-data/form-data/pull/249) +- Proper header production [`#357`](https://github.com/form-data/form-data/pull/357) +- Fix wrong MIME type in example [`#285`](https://github.com/form-data/form-data/pull/285) + +### Commits + +- allow form.submit with url string param to use https [`c0390dc`](https://github.com/form-data/form-data/commit/c0390dcc623e15215308fa2bb0225aa431d9381e) +- update tests for url parsing [`eec0e80`](https://github.com/form-data/form-data/commit/eec0e807889d46697abd39a89ad9bf39996ba787) +- Uses for in to assign properties instead of Object.assign [`f6854ed`](https://github.com/form-data/form-data/commit/f6854edd85c708191bb9c89615a09fd0a9afe518) +- Adds test to check for option override [`61762f2`](https://github.com/form-data/form-data/commit/61762f2c5262e576d6a7f778b4ebab6546ef8582) +- Removes the 2mb maxDataSize limitation [`dc171c3`](https://github.com/form-data/form-data/commit/dc171c3ba49ac9b8813636fd4159d139b812315b) +- Ignore .DS_Store [`e8a05d3`](https://github.com/form-data/form-data/commit/e8a05d33361f7dca8927fe1d96433d049843de24) + +## [v2.2.0](https://github.com/form-data/form-data/compare/v2.1.4...v2.2.0) - 2017-06-11 + +### Merged + +- Filename can be a nested path [`#355`](https://github.com/form-data/form-data/pull/355) + +### Commits + +- Bumped version number. [`d7398c3`](https://github.com/form-data/form-data/commit/d7398c3e7cd81ed12ecc0b84363721bae467db02) + +## [v2.1.4](https://github.com/form-data/form-data/compare/2.1.3...v2.1.4) - 2017-04-08 + +## [2.1.3](https://github.com/form-data/form-data/compare/v2.1.3...2.1.3) - 2017-04-08 + +## [v2.1.3](https://github.com/form-data/form-data/compare/v2.1.2...v2.1.3) - 2017-04-08 + +### Merged + +- toString should output '[object FormData]' [`#346`](https://github.com/form-data/form-data/pull/346) + +## [v2.1.2](https://github.com/form-data/form-data/compare/v2.1.1...v2.1.2) - 2016-11-07 + +### Merged + +- #271 Added check for self and window objects + tests [`#282`](https://github.com/form-data/form-data/pull/282) + +### Commits + +- Added check for self and window objects + tests [`c99e4ec`](https://github.com/form-data/form-data/commit/c99e4ec32cd14d83776f2bdcc5a4e7384131c1b1) + +## [v2.1.1](https://github.com/form-data/form-data/compare/v2.1.0...v2.1.1) - 2016-10-03 + +### Merged + +- Bumped dependencies. [`#270`](https://github.com/form-data/form-data/pull/270) +- Update browser.js shim to use self instead of window [`#267`](https://github.com/form-data/form-data/pull/267) +- Boilerplate code rediction [`#265`](https://github.com/form-data/form-data/pull/265) +- eslint@3.7.0 [`#266`](https://github.com/form-data/form-data/pull/266) + +### Commits + +- code duplicates removed [`e9239fb`](https://github.com/form-data/form-data/commit/e9239fbe7d3c897b29fe3bde857d772469541c01) +- Changed according to requests [`aa99246`](https://github.com/form-data/form-data/commit/aa9924626bd9168334d73fea568c0ad9d8fbaa96) +- chore(package): update eslint to version 3.7.0 [`090a859`](https://github.com/form-data/form-data/commit/090a859835016cab0de49629140499e418db9c3a) + +## [v2.1.0](https://github.com/form-data/form-data/compare/v2.0.0...v2.1.0) - 2016-09-25 + +### Merged + +- Added `hasKnownLength` public method [`#263`](https://github.com/form-data/form-data/pull/263) + +### Commits + +- Added hasKnownLength public method [`655b959`](https://github.com/form-data/form-data/commit/655b95988ef2ed3399f8796b29b2a8673c1df11c) + +## [v2.0.0](https://github.com/form-data/form-data/compare/v1.0.0...v2.0.0) - 2016-09-16 + +### Merged + +- Replaced async with asynckit [`#258`](https://github.com/form-data/form-data/pull/258) +- Pre-release house cleaning [`#247`](https://github.com/form-data/form-data/pull/247) + +### Commits + +- Replaced async with asynckit. Modernized [`1749b78`](https://github.com/form-data/form-data/commit/1749b78d50580fbd080e65c1eb9702ad4f4fc0c0) +- Ignore .bak files [`c08190a`](https://github.com/form-data/form-data/commit/c08190a87d3e22a528b6e32b622193742a4c2672) +- Trying to be more chatty. :) [`c79eabb`](https://github.com/form-data/form-data/commit/c79eabb24eaf761069255a44abf4f540cfd47d40) + +## [v1.0.0](https://github.com/form-data/form-data/compare/v1.0.0-rc4...v1.0.0) - 2016-08-26 + +### Merged + +- Allow custom header fields to be set as an object. [`#190`](https://github.com/form-data/form-data/pull/190) +- v1.0.0-rc4 [`#182`](https://github.com/form-data/form-data/pull/182) +- Avoid undefined variable reference in older browsers [`#176`](https://github.com/form-data/form-data/pull/176) +- More housecleaning [`#164`](https://github.com/form-data/form-data/pull/164) +- More cleanup [`#159`](https://github.com/form-data/form-data/pull/159) +- Added windows testing. Some cleanup. [`#158`](https://github.com/form-data/form-data/pull/158) +- Housecleaning. Added test coverage. [`#156`](https://github.com/form-data/form-data/pull/156) +- Second iteration of cleanup. [`#145`](https://github.com/form-data/form-data/pull/145) + +### Commits + +- Pre-release house cleaning [`440d72b`](https://github.com/form-data/form-data/commit/440d72b5fd44dd132f42598c3183d46e5f35ce71) +- Updated deps, updated docs [`54b6114`](https://github.com/form-data/form-data/commit/54b61143e9ce66a656dd537a1e7b31319a4991be) +- make docs up-to-date [`5e383d7`](https://github.com/form-data/form-data/commit/5e383d7f1466713f7fcef58a6817e0cb466c8ba7) +- Added missing deps [`fe04862`](https://github.com/form-data/form-data/commit/fe04862000b2762245e2db69d5207696a08c1174) + +## [v1.0.0-rc4](https://github.com/form-data/form-data/compare/v1.0.0-rc3...v1.0.0-rc4) - 2016-03-15 + +### Merged + +- Housecleaning, preparing for the release [`#144`](https://github.com/form-data/form-data/pull/144) +- lib: emit error when failing to get length [`#127`](https://github.com/form-data/form-data/pull/127) +- Cleaning up for Codacity 2. [`#143`](https://github.com/form-data/form-data/pull/143) +- Cleaned up codacity concerns. [`#142`](https://github.com/form-data/form-data/pull/142) +- Should throw type error without new operator. [`#129`](https://github.com/form-data/form-data/pull/129) + +### Commits + +- More cleanup [`94b6565`](https://github.com/form-data/form-data/commit/94b6565bb98a387335c72feff5ed5c10da0a7f6f) +- Shuffling things around [`3c2f172`](https://github.com/form-data/form-data/commit/3c2f172eaddf0979b3eef5c73985d1a6fd3eee4a) +- Second iteration of cleanup. [`347c88e`](https://github.com/form-data/form-data/commit/347c88ef9a99a66b9bcf4278497425db2f0182b2) +- Housecleaning [`c335610`](https://github.com/form-data/form-data/commit/c3356100c054a4695e4dec8ed7072775cd745616) +- More housecleaning [`f573321`](https://github.com/form-data/form-data/commit/f573321824aae37ba2052a92cc889d533d9f8fb8) +- Trying to make far run on windows. + cleanup [`e426dfc`](https://github.com/form-data/form-data/commit/e426dfcefb07ee307d8a15dec04044cce62413e6) +- Playing with appveyor [`c9458a7`](https://github.com/form-data/form-data/commit/c9458a7c328782b19859bc1745e7d6b2005ede86) +- Updated dev dependencies. [`ceebe88`](https://github.com/form-data/form-data/commit/ceebe88872bb22da0a5a98daf384e3cc232928d3) +- Replaced win-spawn with cross-spawn [`405a69e`](https://github.com/form-data/form-data/commit/405a69ee34e235ee6561b5ff0140b561be40d1cc) +- Updated readme badges. [`12f282a`](https://github.com/form-data/form-data/commit/12f282a1310fcc2f70cc5669782283929c32a63d) +- Making paths windows friendly. [`f4bddc5`](https://github.com/form-data/form-data/commit/f4bddc5955e2472f8e23c892c9b4d7a08fcb85a3) +- [WIP] trying things for greater sanity [`8ad1f02`](https://github.com/form-data/form-data/commit/8ad1f02b0b3db4a0b00c5d6145ed69bcb7558213) +- Bending under Codacy [`bfff3bb`](https://github.com/form-data/form-data/commit/bfff3bb36052dc83f429949b4e6f9b146a49d996) +- Another attempt to make windows friendly [`f3eb628`](https://github.com/form-data/form-data/commit/f3eb628974ccb91ba0020f41df490207eeed77f6) +- Updated dependencies. [`f73996e`](https://github.com/form-data/form-data/commit/f73996e0508ee2d4b2b376276adfac1de4188ac2) +- Missed travis changes. [`67ee79f`](https://github.com/form-data/form-data/commit/67ee79f964fdabaf300bd41b0af0c1cfaca07687) +- Restructured badges. [`48444a1`](https://github.com/form-data/form-data/commit/48444a1ff156ba2c2c3cfd11047c2f2fd92d4474) +- Add similar type error as the browser for attempting to use form-data without new. [`5711320`](https://github.com/form-data/form-data/commit/5711320fb7c8cc620cfc79b24c7721526e23e539) +- Took out codeclimate-test-reporter [`a7e0c65`](https://github.com/form-data/form-data/commit/a7e0c6522afe85ca9974b0b4e1fca9c77c3e52b1) +- One more [`8e84cff`](https://github.com/form-data/form-data/commit/8e84cff3370526ecd3e175fd98e966242d81993c) + +## [v1.0.0-rc3](https://github.com/form-data/form-data/compare/v1.0.0-rc2...v1.0.0-rc3) - 2015-07-29 + +### Merged + +- House cleaning. Added `pre-commit`. [`#140`](https://github.com/form-data/form-data/pull/140) +- Allow custom content-type without setting a filename. [`#138`](https://github.com/form-data/form-data/pull/138) +- Add node-fetch to alternative submission methods. [`#132`](https://github.com/form-data/form-data/pull/132) +- Update dependencies [`#130`](https://github.com/form-data/form-data/pull/130) +- Switching to container based TravisCI [`#136`](https://github.com/form-data/form-data/pull/136) +- Default content-type to 'application/octect-stream' [`#128`](https://github.com/form-data/form-data/pull/128) +- Allow filename as third option of .append [`#125`](https://github.com/form-data/form-data/pull/125) + +### Commits + +- Allow custom content-type without setting a filename [`c8a77cc`](https://github.com/form-data/form-data/commit/c8a77cc0cf16d15f1ebf25272beaab639ce89f76) +- Fixed ranged test. [`a5ac58c`](https://github.com/form-data/form-data/commit/a5ac58cbafd0909f32fe8301998f689314fd4859) +- Allow filename as third option of #append [`d081005`](https://github.com/form-data/form-data/commit/d0810058c84764b3c463a18b15ebb37864de9260) +- Allow custom content-type without setting a filename [`8cb9709`](https://github.com/form-data/form-data/commit/8cb9709e5f1809cfde0cd707dbabf277138cd771) + +## [v1.0.0-rc2](https://github.com/form-data/form-data/compare/v1.0.0-rc1...v1.0.0-rc2) - 2015-07-21 + +### Merged + +- #109 Append proper line break [`#123`](https://github.com/form-data/form-data/pull/123) +- Add shim for browser (browserify/webpack). [`#122`](https://github.com/form-data/form-data/pull/122) +- Update license field [`#115`](https://github.com/form-data/form-data/pull/115) + +### Commits + +- Add shim for browser. [`87c33f4`](https://github.com/form-data/form-data/commit/87c33f4269a2211938f80ab3e53835362b1afee8) +- Bump version [`a3f5d88`](https://github.com/form-data/form-data/commit/a3f5d8872c810ce240c7d3838c69c3c9fcecc111) + +## [v1.0.0-rc1](https://github.com/form-data/form-data/compare/0.2...v1.0.0-rc1) - 2015-06-13 + +### Merged + +- v1.0.0-rc1 [`#114`](https://github.com/form-data/form-data/pull/114) +- Updated test targets [`#102`](https://github.com/form-data/form-data/pull/102) +- Remove duplicate plus sign [`#94`](https://github.com/form-data/form-data/pull/94) + +### Commits + +- Made https test local. Updated deps. [`afe1959`](https://github.com/form-data/form-data/commit/afe1959ec711f23e57038ab5cb20fedd86271f29) +- Proper self-signed ssl [`4d5ec50`](https://github.com/form-data/form-data/commit/4d5ec50e81109ad2addf3dbb56dc7c134df5ff87) +- Update HTTPS handling for modern days [`2c11b01`](https://github.com/form-data/form-data/commit/2c11b01ce2c06e205c84d7154fa2f27b66c94f3b) +- Made tests more local [`09633fa`](https://github.com/form-data/form-data/commit/09633fa249e7ce3ac581543aafe16ee9039a823b) +- Auto create tmp folder for Formidable [`28714b7`](https://github.com/form-data/form-data/commit/28714b7f71ad556064cdff88fabe6b92bd407ddd) +- remove duplicate plus sign [`36e09c6`](https://github.com/form-data/form-data/commit/36e09c695b0514d91a23f5cd64e6805404776fc7) + +## [0.2](https://github.com/form-data/form-data/compare/0.1.4...0.2) - 2014-12-06 + +### Merged + +- Bumped version [`#96`](https://github.com/form-data/form-data/pull/96) +- Replace mime library. [`#95`](https://github.com/form-data/form-data/pull/95) +- #71 Respect bytes range in a read stream. [`#73`](https://github.com/form-data/form-data/pull/73) + +## [0.1.4](https://github.com/form-data/form-data/compare/0.1.3...0.1.4) - 2014-06-23 + +### Merged + +- Updated version. [`#76`](https://github.com/form-data/form-data/pull/76) +- #71 Respect bytes range in a read stream. [`#75`](https://github.com/form-data/form-data/pull/75) + +## [0.1.3](https://github.com/form-data/form-data/compare/0.1.2...0.1.3) - 2014-06-17 + +### Merged + +- Updated versions. [`#69`](https://github.com/form-data/form-data/pull/69) +- Added custom headers support [`#60`](https://github.com/form-data/form-data/pull/60) +- Added test for Request. Small fixes. [`#56`](https://github.com/form-data/form-data/pull/56) + +### Commits + +- Added test for the custom header functionality [`bd50685`](https://github.com/form-data/form-data/commit/bd506855af62daf728ef1718cae88ed23bb732f3) +- Documented custom headers option [`77a024a`](https://github.com/form-data/form-data/commit/77a024a9375f93c246c35513d80f37d5e11d35ff) +- Removed 0.6 support. [`aee8dce`](https://github.com/form-data/form-data/commit/aee8dce604c595cfaacfc6efb12453d1691ac0d6) + +## [0.1.2](https://github.com/form-data/form-data/compare/0.1.1...0.1.2) - 2013-10-02 + +### Merged + +- Fixed default https port assignment, added tests. [`#52`](https://github.com/form-data/form-data/pull/52) +- #45 Added tests for multi-submit. Updated readme. [`#49`](https://github.com/form-data/form-data/pull/49) +- #47 return request from .submit() [`#48`](https://github.com/form-data/form-data/pull/48) + +### Commits + +- Bumped version. [`2b761b2`](https://github.com/form-data/form-data/commit/2b761b256ae607fc2121621f12c2e1042be26baf) + +## [0.1.1](https://github.com/form-data/form-data/compare/0.1.0...0.1.1) - 2013-08-21 + +### Merged + +- Added license type and reference to package.json [`#46`](https://github.com/form-data/form-data/pull/46) + +### Commits + +- #47 return request from .submit() [`1d61c2d`](https://github.com/form-data/form-data/commit/1d61c2da518bd5e136550faa3b5235bb540f1e06) +- #47 Updated readme. [`e3dae15`](https://github.com/form-data/form-data/commit/e3dae1526bd3c3b9d7aff6075abdaac12c3cc60f) + +## [0.1.0](https://github.com/form-data/form-data/compare/0.0.10...0.1.0) - 2013-07-08 + +### Merged + +- Update master to 0.1.0 [`#44`](https://github.com/form-data/form-data/pull/44) +- 0.1.0 - Added error handling. Streamlined edge cases behavior. [`#43`](https://github.com/form-data/form-data/pull/43) +- Pointed badges back to mothership. [`#39`](https://github.com/form-data/form-data/pull/39) +- Updated node-fake to support 0.11 tests. [`#37`](https://github.com/form-data/form-data/pull/37) +- Updated tests to play nice with 0.10 [`#36`](https://github.com/form-data/form-data/pull/36) +- #32 Added .npmignore [`#34`](https://github.com/form-data/form-data/pull/34) +- Spring cleaning [`#30`](https://github.com/form-data/form-data/pull/30) + +### Commits + +- Added error handling. Streamlined edge cases behavior. [`4da496e`](https://github.com/form-data/form-data/commit/4da496e577cb9bc0fd6c94cbf9333a0082ce353a) +- Made tests more deterministic. [`7fc009b`](https://github.com/form-data/form-data/commit/7fc009b8a2cc9232514a44b2808b9f89ce68f7d2) +- Fixed styling. [`d373b41`](https://github.com/form-data/form-data/commit/d373b417e779024bc3326073e176383cd08c0b18) +- #40 Updated Readme.md regarding getLengthSync() [`efb373f`](https://github.com/form-data/form-data/commit/efb373fd63814d977960e0299d23c92cd876cfef) +- Updated readme. [`527e3a6`](https://github.com/form-data/form-data/commit/527e3a63b032cb6f576f597ad7ff2ebcf8a0b9b4) + +## [0.0.10](https://github.com/form-data/form-data/compare/0.0.9...0.0.10) - 2013-05-08 + +### Commits + +- Updated tests to play nice with 0.10. [`932b39b`](https://github.com/form-data/form-data/commit/932b39b773e49edcb2c5d2e58fe389ab6c42f47c) +- Added dependency tracking. [`3131d7f`](https://github.com/form-data/form-data/commit/3131d7f6996cd519d50547e4de1587fd80d0fa07) + +## 0.0.9 - 2013-04-29 + +### Merged + +- Custom params for form.submit() should cover most edge cases. [`#22`](https://github.com/form-data/form-data/pull/22) +- Updated Readme and version number. [`#20`](https://github.com/form-data/form-data/pull/20) +- Allow custom headers and pre-known length in parts [`#17`](https://github.com/form-data/form-data/pull/17) +- Bumped version number. [`#12`](https://github.com/form-data/form-data/pull/12) +- Fix for #10 [`#11`](https://github.com/form-data/form-data/pull/11) +- Bumped version number. [`#8`](https://github.com/form-data/form-data/pull/8) +- Added support for https destination, http-response and mikeal's request streams. [`#7`](https://github.com/form-data/form-data/pull/7) +- Updated git url. [`#6`](https://github.com/form-data/form-data/pull/6) +- Version bump. [`#5`](https://github.com/form-data/form-data/pull/5) +- Changes to support custom content-type and getLengthSync. [`#4`](https://github.com/form-data/form-data/pull/4) +- make .submit(url) use host from url, not 'localhost' [`#2`](https://github.com/form-data/form-data/pull/2) +- Make package.json JSON [`#1`](https://github.com/form-data/form-data/pull/1) + +### Fixed + +- Add MIT license [`#14`](https://github.com/form-data/form-data/issues/14) + +### Commits + +- Spring cleaning. [`850ba1b`](https://github.com/form-data/form-data/commit/850ba1b649b6856b0fa87bbcb04bc70ece0137a6) +- Added custom request params to form.submit(). Made tests more stable. [`de3502f`](https://github.com/form-data/form-data/commit/de3502f6c4a509f6ed12a7dd9dc2ce9c2e0a8d23) +- Basic form (no files) working [`6ffdc34`](https://github.com/form-data/form-data/commit/6ffdc343e8594cfc2efe1e27653ea39d8980a14e) +- Got initial test to pass [`9a59d08`](https://github.com/form-data/form-data/commit/9a59d08c024479fd3c9d99ba2f0893a47b3980f0) +- Implement initial getLength [`9060c91`](https://github.com/form-data/form-data/commit/9060c91b861a6573b73beddd11e866db422b5830) +- Make getLength work with file streams [`6f6b1e9`](https://github.com/form-data/form-data/commit/6f6b1e9b65951e6314167db33b446351702f5558) +- Implemented a simplistic submit() function [`41e9cc1`](https://github.com/form-data/form-data/commit/41e9cc124124721e53bc1d1459d45db1410c44e6) +- added test for custom headers and content-length in parts (felixge/node-form-data/17) [`b16d14e`](https://github.com/form-data/form-data/commit/b16d14e693670f5d52babec32cdedd1aa07c1aa4) +- Fixed code styling. [`5847424`](https://github.com/form-data/form-data/commit/5847424c666970fc2060acd619e8a78678888a82) +- #29 Added custom filename and content-type options to support identity-less streams. [`adf8b4a`](https://github.com/form-data/form-data/commit/adf8b4a41530795682cd3e35ffaf26b30288ccda) +- Initial Readme and package.json [`8c744e5`](https://github.com/form-data/form-data/commit/8c744e58be4014bdf432e11b718ed87f03e217af) +- allow append() to completely override header and boundary [`3fb2ad4`](https://github.com/form-data/form-data/commit/3fb2ad491f66e4b4ff16130be25b462820b8c972) +- Syntax highlighting [`ab3a6a5`](https://github.com/form-data/form-data/commit/ab3a6a5ed1ab77a2943ce3befcb2bb3cd9ff0330) +- Updated Readme.md [`de8f441`](https://github.com/form-data/form-data/commit/de8f44122ca754cbfedc0d2748e84add5ff0b669) +- Added examples to Readme file. [`c406ac9`](https://github.com/form-data/form-data/commit/c406ac921d299cbc130464ed19338a9ef97cb650) +- pass options.knownLength to set length at beginning, w/o waiting for async size calculation [`e2ac039`](https://github.com/form-data/form-data/commit/e2ac0397ff7c37c3dca74fa9925b55f832e4fa0b) +- Updated dependencies and added test command. [`09bd7cd`](https://github.com/form-data/form-data/commit/09bd7cd86f1ad7a58df1b135eb6eef0d290894b4) +- Bumped version. Updated readme. [`4581140`](https://github.com/form-data/form-data/commit/4581140f322758c6fc92019d342c7d7d6c94af5c) +- Test runner [`1707ebb`](https://github.com/form-data/form-data/commit/1707ebbd180856e6ed44e80c46b02557e2425762) +- Added .npmignore, bumped version. [`2e033e0`](https://github.com/form-data/form-data/commit/2e033e0e4be7c1457be090cd9b2996f19d8fb665) +- FormData.prototype.append takes and passes along options (for header) [`b519203`](https://github.com/form-data/form-data/commit/b51920387ed4da7b4e106fc07b9459f26b5ae2f0) +- Make package.json JSON [`bf1b58d`](https://github.com/form-data/form-data/commit/bf1b58df794b10fda86ed013eb9237b1e5032085) +- Add dependencies to package.json [`7413d0b`](https://github.com/form-data/form-data/commit/7413d0b4cf5546312d47ea426db8180619083974) +- Add convenient submit() interface [`55855e4`](https://github.com/form-data/form-data/commit/55855e4bea14585d4a3faf9e7318a56696adbc7d) +- Fix content type [`08b6ae3`](https://github.com/form-data/form-data/commit/08b6ae337b23ef1ba457ead72c9b133047df213c) +- Combatting travis rvm calls. [`409adfd`](https://github.com/form-data/form-data/commit/409adfd100a3cf4968a632c05ba58d92d262d144) +- Fixed Issue #2 [`b3a5d66`](https://github.com/form-data/form-data/commit/b3a5d661739dcd6921b444b81d5cb3c32fab655d) +- Fix for #10. [`bab70b9`](https://github.com/form-data/form-data/commit/bab70b9e803e17287632762073d227d6c59989e0) +- Trying workarounds for formidable - 0.6 "love". [`25782a3`](https://github.com/form-data/form-data/commit/25782a3f183d9c30668ec2bca6247ed83f10611c) +- change whitespace to conform with felixge's style guide [`9fa34f4`](https://github.com/form-data/form-data/commit/9fa34f433bece85ef73086a874c6f0164ab7f1f6) +- Add async to deps [`b7d1a6b`](https://github.com/form-data/form-data/commit/b7d1a6b10ee74be831de24ed76843e5a6935f155) +- typo [`7860a9c`](https://github.com/form-data/form-data/commit/7860a9c8a582f0745ce0e4a0549f4bffc29c0b50) +- Bumped version. [`fa36c1b`](https://github.com/form-data/form-data/commit/fa36c1b4229c34b85d7efd41908429b6d1da3bfc) +- Updated .gitignore [`de567bd`](https://github.com/form-data/form-data/commit/de567bde620e53b8e9b0ed3506e79491525ec558) +- Don't rely on resume() being called by pipe [`1deae47`](https://github.com/form-data/form-data/commit/1deae47e042bcd170bd5dbe2b4a4fa5356bb8aa2) +- One more wrong content type [`28f166d`](https://github.com/form-data/form-data/commit/28f166d443e2eb77f2559324014670674b97e46e) +- Another typo [`b959b6a`](https://github.com/form-data/form-data/commit/b959b6a2be061cac17f8d329b89cea109f0f32be) +- Typo [`698fa0a`](https://github.com/form-data/form-data/commit/698fa0aa5dbf4eeb77377415acc202a6fbe3f4a2) +- Being simply dumb. [`b614db8`](https://github.com/form-data/form-data/commit/b614db85702061149fbd98418605106975e72ade) +- Fixed typo in the filename. [`30af6be`](https://github.com/form-data/form-data/commit/30af6be13fb0c9e92b32e935317680b9d7599928) diff --git a/dist/node_modules/form-data/License b/dist/node_modules/form-data/License new file mode 100644 index 00000000..c7ff12a2 --- /dev/null +++ b/dist/node_modules/form-data/License @@ -0,0 +1,19 @@ +Copyright (c) 2012 Felix Geisendörfer (felix@debuggable.com) and contributors + + 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. diff --git a/dist/node_modules/form-data/README.md b/dist/node_modules/form-data/README.md new file mode 100644 index 00000000..f850e303 --- /dev/null +++ b/dist/node_modules/form-data/README.md @@ -0,0 +1,355 @@ +# Form-Data [![NPM Module](https://img.shields.io/npm/v/form-data.svg)](https://www.npmjs.com/package/form-data) [![Join the chat at https://gitter.im/form-data/form-data](http://form-data.github.io/images/gitterbadge.svg)](https://gitter.im/form-data/form-data) + +A library to create readable ```"multipart/form-data"``` streams. Can be used to submit forms and file uploads to other web applications. + +The API of this library is inspired by the [XMLHttpRequest-2 FormData Interface][xhr2-fd]. + +[xhr2-fd]: http://dev.w3.org/2006/webapi/XMLHttpRequest-2/Overview.html#the-formdata-interface + +[![Linux Build](https://img.shields.io/travis/form-data/form-data/v4.0.5.svg?label=linux:6.x-12.x)](https://travis-ci.org/form-data/form-data) +[![MacOS Build](https://img.shields.io/travis/form-data/form-data/v4.0.5.svg?label=macos:6.x-12.x)](https://travis-ci.org/form-data/form-data) +[![Windows Build](https://img.shields.io/travis/form-data/form-data/v4.0.5.svg?label=windows:6.x-12.x)](https://travis-ci.org/form-data/form-data) + +[![Coverage Status](https://img.shields.io/coveralls/form-data/form-data/v4.0.5.svg?label=code+coverage)](https://coveralls.io/github/form-data/form-data?branch=master) +[![Dependency Status](https://img.shields.io/david/form-data/form-data.svg)](https://david-dm.org/form-data/form-data) + +## Install + +``` +npm install --save form-data +``` + +## Usage + +In this example we are constructing a form with 3 fields that contain a string, +a buffer and a file stream. + +``` javascript +var FormData = require('form-data'); +var fs = require('fs'); + +var form = new FormData(); +form.append('my_field', 'my value'); +form.append('my_buffer', new Buffer(10)); +form.append('my_file', fs.createReadStream('/foo/bar.jpg')); +``` + +Also you can use http-response stream: + +``` javascript +var FormData = require('form-data'); +var http = require('http'); + +var form = new FormData(); + +http.request('http://nodejs.org/images/logo.png', function (response) { + form.append('my_field', 'my value'); + form.append('my_buffer', new Buffer(10)); + form.append('my_logo', response); +}); +``` + +Or @mikeal's [request](https://github.com/request/request) stream: + +``` javascript +var FormData = require('form-data'); +var request = require('request'); + +var form = new FormData(); + +form.append('my_field', 'my value'); +form.append('my_buffer', new Buffer(10)); +form.append('my_logo', request('http://nodejs.org/images/logo.png')); +``` + +In order to submit this form to a web application, call ```submit(url, [callback])``` method: + +``` javascript +form.submit('http://example.org/', function (err, res) { + // res – response object (http.IncomingMessage) // + res.resume(); +}); + +``` + +For more advanced request manipulations ```submit()``` method returns ```http.ClientRequest``` object, or you can choose from one of the alternative submission methods. + +### Custom options + +You can provide custom options, such as `maxDataSize`: + +``` javascript +var FormData = require('form-data'); + +var form = new FormData({ maxDataSize: 20971520 }); +form.append('my_field', 'my value'); +form.append('my_buffer', /* something big */); +``` + +List of available options could be found in [combined-stream](https://github.com/felixge/node-combined-stream/blob/master/lib/combined_stream.js#L7-L15) + +### Alternative submission methods + +You can use node's http client interface: + +``` javascript +var http = require('http'); + +var request = http.request({ + method: 'post', + host: 'example.org', + path: '/upload', + headers: form.getHeaders() +}); + +form.pipe(request); + +request.on('response', function (res) { + console.log(res.statusCode); +}); +``` + +Or if you would prefer the `'Content-Length'` header to be set for you: + +``` javascript +form.submit('example.org/upload', function (err, res) { + console.log(res.statusCode); +}); +``` + +To use custom headers and pre-known length in parts: + +``` javascript +var CRLF = '\r\n'; +var form = new FormData(); + +var options = { + header: CRLF + '--' + form.getBoundary() + CRLF + 'X-Custom-Header: 123' + CRLF + CRLF, + knownLength: 1 +}; + +form.append('my_buffer', buffer, options); + +form.submit('http://example.com/', function (err, res) { + if (err) throw err; + console.log('Done'); +}); +``` + +Form-Data can recognize and fetch all the required information from common types of streams (```fs.readStream```, ```http.response``` and ```mikeal's request```), for some other types of streams you'd need to provide "file"-related information manually: + +``` javascript +someModule.stream(function (err, stdout, stderr) { + if (err) throw err; + + var form = new FormData(); + + form.append('file', stdout, { + filename: 'unicycle.jpg', // ... or: + filepath: 'photos/toys/unicycle.jpg', + contentType: 'image/jpeg', + knownLength: 19806 + }); + + form.submit('http://example.com/', function (err, res) { + if (err) throw err; + console.log('Done'); + }); +}); +``` + +The `filepath` property overrides `filename` and may contain a relative path. This is typically used when uploading [multiple files from a directory](https://wicg.github.io/entries-api/#dom-htmlinputelement-webkitdirectory). + +For edge cases, like POST request to URL with query string or to pass HTTP auth credentials, object can be passed to `form.submit()` as first parameter: + +``` javascript +form.submit({ + host: 'example.com', + path: '/probably.php?extra=params', + auth: 'username:password' +}, function (err, res) { + console.log(res.statusCode); +}); +``` + +In case you need to also send custom HTTP headers with the POST request, you can use the `headers` key in first parameter of `form.submit()`: + +``` javascript +form.submit({ + host: 'example.com', + path: '/surelynot.php', + headers: { 'x-test-header': 'test-header-value' } +}, function (err, res) { + console.log(res.statusCode); +}); +``` + +### Methods + +- [_Void_ append( **String** _field_, **Mixed** _value_ [, **Mixed** _options_] )](https://github.com/form-data/form-data#void-append-string-field-mixed-value--mixed-options-). +- [_Headers_ getHeaders( [**Headers** _userHeaders_] )](https://github.com/form-data/form-data#array-getheaders-array-userheaders-) +- [_String_ getBoundary()](https://github.com/form-data/form-data#string-getboundary) +- [_Void_ setBoundary()](https://github.com/form-data/form-data#void-setboundary) +- [_Buffer_ getBuffer()](https://github.com/form-data/form-data#buffer-getbuffer) +- [_Integer_ getLengthSync()](https://github.com/form-data/form-data#integer-getlengthsync) +- [_Integer_ getLength( **function** _callback_ )](https://github.com/form-data/form-data#integer-getlength-function-callback-) +- [_Boolean_ hasKnownLength()](https://github.com/form-data/form-data#boolean-hasknownlength) +- [_Request_ submit( _params_, **function** _callback_ )](https://github.com/form-data/form-data#request-submit-params-function-callback-) +- [_String_ toString()](https://github.com/form-data/form-data#string-tostring) + +#### _Void_ append( **String** _field_, **Mixed** _value_ [, **Mixed** _options_] ) +Append data to the form. You can submit about any format (string, integer, boolean, buffer, etc.). However, Arrays are not supported and need to be turned into strings by the user. +```javascript +var form = new FormData(); +form.append('my_string', 'my value'); +form.append('my_integer', 1); +form.append('my_boolean', true); +form.append('my_buffer', new Buffer(10)); +form.append('my_array_as_json', JSON.stringify(['bird', 'cute'])); +``` + +You may provide a string for options, or an object. +```javascript +// Set filename by providing a string for options +form.append('my_file', fs.createReadStream('/foo/bar.jpg'), 'bar.jpg'); + +// provide an object. +form.append('my_file', fs.createReadStream('/foo/bar.jpg'), { filename: 'bar.jpg', contentType: 'image/jpeg', knownLength: 19806 }); +``` + +#### _Headers_ getHeaders( [**Headers** _userHeaders_] ) +This method adds the correct `content-type` header to the provided array of `userHeaders`. + +#### _String_ getBoundary() +Return the boundary of the formData. By default, the boundary consists of 26 `-` followed by 24 numbers +for example: +```javascript +--------------------------515890814546601021194782 +``` + +#### _Void_ setBoundary(String _boundary_) +Set the boundary string, overriding the default behavior described above. + +_Note: The boundary must be unique and may not appear in the data._ + +#### _Buffer_ getBuffer() +Return the full formdata request package, as a Buffer. You can insert this Buffer in e.g. Axios to send multipart data. +```javascript +var form = new FormData(); +form.append('my_buffer', Buffer.from([0x4a,0x42,0x20,0x52,0x6f,0x63,0x6b,0x73])); +form.append('my_file', fs.readFileSync('/foo/bar.jpg')); + +axios.post('https://example.com/path/to/api', form.getBuffer(), form.getHeaders()); +``` +**Note:** Because the output is of type Buffer, you can only append types that are accepted by Buffer: *string, Buffer, ArrayBuffer, Array, or Array-like Object*. A ReadStream for example will result in an error. + +#### _Integer_ getLengthSync() +Same as `getLength` but synchronous. + +_Note: getLengthSync __doesn't__ calculate streams length._ + +#### _Integer_ getLength(**function** _callback_ ) +Returns the `Content-Length` async. The callback is used to handle errors and continue once the length has been calculated +```javascript +this.getLength(function (err, length) { + if (err) { + this._error(err); + return; + } + + // add content length + request.setHeader('Content-Length', length); + + ... +}.bind(this)); +``` + +#### _Boolean_ hasKnownLength() +Checks if the length of added values is known. + +#### _Request_ submit(_params_, **function** _callback_ ) +Submit the form to a web application. +```javascript +var form = new FormData(); +form.append('my_string', 'Hello World'); + +form.submit('http://example.com/', function (err, res) { + // res – response object (http.IncomingMessage) // + res.resume(); +} ); +``` + +#### _String_ toString() +Returns the form data as a string. Don't use this if you are sending files or buffers, use `getBuffer()` instead. + +### Integration with other libraries + +#### Request + +Form submission using [request](https://github.com/request/request): + +```javascript +var formData = { + my_field: 'my_value', + my_file: fs.createReadStream(__dirname + '/unicycle.jpg'), +}; + +request.post({url:'http://service.com/upload', formData: formData}, function (err, httpResponse, body) { + if (err) { + return console.error('upload failed:', err); + } + console.log('Upload successful! Server responded with:', body); +}); +``` + +For more details see [request readme](https://github.com/request/request#multipartform-data-multipart-form-uploads). + +#### node-fetch + +You can also submit a form using [node-fetch](https://github.com/bitinn/node-fetch): + +```javascript +var form = new FormData(); + +form.append('a', 1); + +fetch('http://example.com', { method: 'POST', body: form }) + .then(function (res) { + return res.json(); + }).then(function (json) { + console.log(json); + }); +``` + +#### axios + +In Node.js you can post a file using [axios](https://github.com/axios/axios): +```javascript +const form = new FormData(); +const stream = fs.createReadStream(PATH_TO_FILE); + +form.append('image', stream); + +// In Node.js environment you need to set boundary in the header field 'Content-Type' by calling method `getHeaders` +const formHeaders = form.getHeaders(); + +axios.post('http://example.com', form, { + headers: { + ...formHeaders, + }, +}) + .then(response => response) + .catch(error => error) +``` + +## Notes + +- ```getLengthSync()``` method DOESN'T calculate length for streams, use ```knownLength``` options as workaround. +- ```getLength(cb)``` will send an error as first parameter of callback if stream length cannot be calculated (e.g. send in custom streams w/o using ```knownLength```). +- ```submit``` will not add `content-length` if form length is unknown or not calculable. +- Starting version `2.x` FormData has dropped support for `node@0.10.x`. +- Starting version `3.x` FormData has dropped support for `node@4.x`. + +## License + +Form-Data is released under the [MIT](License) license. diff --git a/dist/node_modules/form-data/index.d.ts b/dist/node_modules/form-data/index.d.ts new file mode 100644 index 00000000..295e9e9b --- /dev/null +++ b/dist/node_modules/form-data/index.d.ts @@ -0,0 +1,62 @@ +// Definitions by: Carlos Ballesteros Velasco +// Leon Yu +// BendingBender +// Maple Miao + +/// +import * as stream from 'stream'; +import * as http from 'http'; + +export = FormData; + +// Extracted because @types/node doesn't export interfaces. +interface ReadableOptions { + highWaterMark?: number; + encoding?: string; + objectMode?: boolean; + read?(this: stream.Readable, size: number): void; + destroy?(this: stream.Readable, error: Error | null, callback: (error: Error | null) => void): void; + autoDestroy?: boolean; +} + +interface Options extends ReadableOptions { + writable?: boolean; + readable?: boolean; + dataSize?: number; + maxDataSize?: number; + pauseStreams?: boolean; +} + +declare class FormData extends stream.Readable { + constructor(options?: Options); + append(key: string, value: any, options?: FormData.AppendOptions | string): void; + getHeaders(userHeaders?: FormData.Headers): FormData.Headers; + submit( + params: string | FormData.SubmitOptions, + callback?: (error: Error | null, response: http.IncomingMessage) => void + ): http.ClientRequest; + getBuffer(): Buffer; + setBoundary(boundary: string): void; + getBoundary(): string; + getLength(callback: (err: Error | null, length: number) => void): void; + getLengthSync(): number; + hasKnownLength(): boolean; +} + +declare namespace FormData { + interface Headers { + [key: string]: any; + } + + interface AppendOptions { + header?: string | Headers; + knownLength?: number; + filename?: string; + filepath?: string; + contentType?: string; + } + + interface SubmitOptions extends http.RequestOptions { + protocol?: 'https:' | 'http:'; + } +} diff --git a/dist/node_modules/form-data/lib/browser.js b/dist/node_modules/form-data/lib/browser.js new file mode 100644 index 00000000..8950a913 --- /dev/null +++ b/dist/node_modules/form-data/lib/browser.js @@ -0,0 +1,4 @@ +'use strict'; + +/* eslint-env browser */ +module.exports = typeof self === 'object' ? self.FormData : window.FormData; diff --git a/dist/node_modules/form-data/lib/form_data.js b/dist/node_modules/form-data/lib/form_data.js new file mode 100644 index 00000000..63a0f016 --- /dev/null +++ b/dist/node_modules/form-data/lib/form_data.js @@ -0,0 +1,494 @@ +'use strict'; + +var CombinedStream = require('combined-stream'); +var util = require('util'); +var path = require('path'); +var http = require('http'); +var https = require('https'); +var parseUrl = require('url').parse; +var fs = require('fs'); +var Stream = require('stream').Stream; +var crypto = require('crypto'); +var mime = require('mime-types'); +var asynckit = require('asynckit'); +var setToStringTag = require('es-set-tostringtag'); +var hasOwn = require('hasown'); +var populate = require('./populate.js'); + +/** + * Create readable "multipart/form-data" streams. + * Can be used to submit forms + * and file uploads to other web applications. + * + * @constructor + * @param {object} options - Properties to be added/overriden for FormData and CombinedStream + */ +function FormData(options) { + if (!(this instanceof FormData)) { + return new FormData(options); + } + + this._overheadLength = 0; + this._valueLength = 0; + this._valuesToMeasure = []; + + CombinedStream.call(this); + + options = options || {}; // eslint-disable-line no-param-reassign + for (var option in options) { // eslint-disable-line no-restricted-syntax + this[option] = options[option]; + } +} + +// make it a Stream +util.inherits(FormData, CombinedStream); + +FormData.LINE_BREAK = '\r\n'; +FormData.DEFAULT_CONTENT_TYPE = 'application/octet-stream'; + +FormData.prototype.append = function (field, value, options) { + options = options || {}; // eslint-disable-line no-param-reassign + + // allow filename as single option + if (typeof options === 'string') { + options = { filename: options }; // eslint-disable-line no-param-reassign + } + + var append = CombinedStream.prototype.append.bind(this); + + // all that streamy business can't handle numbers + if (typeof value === 'number' || value == null) { + value = String(value); // eslint-disable-line no-param-reassign + } + + // https://github.com/felixge/node-form-data/issues/38 + if (Array.isArray(value)) { + /* + * Please convert your array into string + * the way web server expects it + */ + this._error(new Error('Arrays are not supported.')); + return; + } + + var header = this._multiPartHeader(field, value, options); + var footer = this._multiPartFooter(); + + append(header); + append(value); + append(footer); + + // pass along options.knownLength + this._trackLength(header, value, options); +}; + +FormData.prototype._trackLength = function (header, value, options) { + var valueLength = 0; + + /* + * used w/ getLengthSync(), when length is known. + * e.g. for streaming directly from a remote server, + * w/ a known file a size, and not wanting to wait for + * incoming file to finish to get its size. + */ + if (options.knownLength != null) { + valueLength += Number(options.knownLength); + } else if (Buffer.isBuffer(value)) { + valueLength = value.length; + } else if (typeof value === 'string') { + valueLength = Buffer.byteLength(value); + } + + this._valueLength += valueLength; + + // @check why add CRLF? does this account for custom/multiple CRLFs? + this._overheadLength += Buffer.byteLength(header) + FormData.LINE_BREAK.length; + + // empty or either doesn't have path or not an http response or not a stream + if (!value || (!value.path && !(value.readable && hasOwn(value, 'httpVersion')) && !(value instanceof Stream))) { + return; + } + + // no need to bother with the length + if (!options.knownLength) { + this._valuesToMeasure.push(value); + } +}; + +FormData.prototype._lengthRetriever = function (value, callback) { + if (hasOwn(value, 'fd')) { + // take read range into a account + // `end` = Infinity –> read file till the end + // + // TODO: Looks like there is bug in Node fs.createReadStream + // it doesn't respect `end` options without `start` options + // Fix it when node fixes it. + // https://github.com/joyent/node/issues/7819 + if (value.end != undefined && value.end != Infinity && value.start != undefined) { + // when end specified + // no need to calculate range + // inclusive, starts with 0 + callback(null, value.end + 1 - (value.start ? value.start : 0)); // eslint-disable-line callback-return + + // not that fast snoopy + } else { + // still need to fetch file size from fs + fs.stat(value.path, function (err, stat) { + if (err) { + callback(err); + return; + } + + // update final size based on the range options + var fileSize = stat.size - (value.start ? value.start : 0); + callback(null, fileSize); + }); + } + + // or http response + } else if (hasOwn(value, 'httpVersion')) { + callback(null, Number(value.headers['content-length'])); // eslint-disable-line callback-return + + // or request stream http://github.com/mikeal/request + } else if (hasOwn(value, 'httpModule')) { + // wait till response come back + value.on('response', function (response) { + value.pause(); + callback(null, Number(response.headers['content-length'])); + }); + value.resume(); + + // something else + } else { + callback('Unknown stream'); // eslint-disable-line callback-return + } +}; + +FormData.prototype._multiPartHeader = function (field, value, options) { + /* + * custom header specified (as string)? + * it becomes responsible for boundary + * (e.g. to handle extra CRLFs on .NET servers) + */ + if (typeof options.header === 'string') { + return options.header; + } + + var contentDisposition = this._getContentDisposition(value, options); + var contentType = this._getContentType(value, options); + + var contents = ''; + var headers = { + // add custom disposition as third element or keep it two elements if not + 'Content-Disposition': ['form-data', 'name="' + field + '"'].concat(contentDisposition || []), + // if no content type. allow it to be empty array + 'Content-Type': [].concat(contentType || []) + }; + + // allow custom headers. + if (typeof options.header === 'object') { + populate(headers, options.header); + } + + var header; + for (var prop in headers) { // eslint-disable-line no-restricted-syntax + if (hasOwn(headers, prop)) { + header = headers[prop]; + + // skip nullish headers. + if (header == null) { + continue; // eslint-disable-line no-restricted-syntax, no-continue + } + + // convert all headers to arrays. + if (!Array.isArray(header)) { + header = [header]; + } + + // add non-empty headers. + if (header.length) { + contents += prop + ': ' + header.join('; ') + FormData.LINE_BREAK; + } + } + } + + return '--' + this.getBoundary() + FormData.LINE_BREAK + contents + FormData.LINE_BREAK; +}; + +FormData.prototype._getContentDisposition = function (value, options) { // eslint-disable-line consistent-return + var filename; + + if (typeof options.filepath === 'string') { + // custom filepath for relative paths + filename = path.normalize(options.filepath).replace(/\\/g, '/'); + } else if (options.filename || (value && (value.name || value.path))) { + /* + * custom filename take precedence + * formidable and the browser add a name property + * fs- and request- streams have path property + */ + filename = path.basename(options.filename || (value && (value.name || value.path))); + } else if (value && value.readable && hasOwn(value, 'httpVersion')) { + // or try http response + filename = path.basename(value.client._httpMessage.path || ''); + } + + if (filename) { + return 'filename="' + filename + '"'; + } +}; + +FormData.prototype._getContentType = function (value, options) { + // use custom content-type above all + var contentType = options.contentType; + + // or try `name` from formidable, browser + if (!contentType && value && value.name) { + contentType = mime.lookup(value.name); + } + + // or try `path` from fs-, request- streams + if (!contentType && value && value.path) { + contentType = mime.lookup(value.path); + } + + // or if it's http-reponse + if (!contentType && value && value.readable && hasOwn(value, 'httpVersion')) { + contentType = value.headers['content-type']; + } + + // or guess it from the filepath or filename + if (!contentType && (options.filepath || options.filename)) { + contentType = mime.lookup(options.filepath || options.filename); + } + + // fallback to the default content type if `value` is not simple value + if (!contentType && value && typeof value === 'object') { + contentType = FormData.DEFAULT_CONTENT_TYPE; + } + + return contentType; +}; + +FormData.prototype._multiPartFooter = function () { + return function (next) { + var footer = FormData.LINE_BREAK; + + var lastPart = this._streams.length === 0; + if (lastPart) { + footer += this._lastBoundary(); + } + + next(footer); + }.bind(this); +}; + +FormData.prototype._lastBoundary = function () { + return '--' + this.getBoundary() + '--' + FormData.LINE_BREAK; +}; + +FormData.prototype.getHeaders = function (userHeaders) { + var header; + var formHeaders = { + 'content-type': 'multipart/form-data; boundary=' + this.getBoundary() + }; + + for (header in userHeaders) { // eslint-disable-line no-restricted-syntax + if (hasOwn(userHeaders, header)) { + formHeaders[header.toLowerCase()] = userHeaders[header]; + } + } + + return formHeaders; +}; + +FormData.prototype.setBoundary = function (boundary) { + if (typeof boundary !== 'string') { + throw new TypeError('FormData boundary must be a string'); + } + this._boundary = boundary; +}; + +FormData.prototype.getBoundary = function () { + if (!this._boundary) { + this._generateBoundary(); + } + + return this._boundary; +}; + +FormData.prototype.getBuffer = function () { + var dataBuffer = new Buffer.alloc(0); // eslint-disable-line new-cap + var boundary = this.getBoundary(); + + // Create the form content. Add Line breaks to the end of data. + for (var i = 0, len = this._streams.length; i < len; i++) { + if (typeof this._streams[i] !== 'function') { + // Add content to the buffer. + if (Buffer.isBuffer(this._streams[i])) { + dataBuffer = Buffer.concat([dataBuffer, this._streams[i]]); + } else { + dataBuffer = Buffer.concat([dataBuffer, Buffer.from(this._streams[i])]); + } + + // Add break after content. + if (typeof this._streams[i] !== 'string' || this._streams[i].substring(2, boundary.length + 2) !== boundary) { + dataBuffer = Buffer.concat([dataBuffer, Buffer.from(FormData.LINE_BREAK)]); + } + } + } + + // Add the footer and return the Buffer object. + return Buffer.concat([dataBuffer, Buffer.from(this._lastBoundary())]); +}; + +FormData.prototype._generateBoundary = function () { + // This generates a 50 character boundary similar to those used by Firefox. + + // They are optimized for boyer-moore parsing. + this._boundary = '--------------------------' + crypto.randomBytes(12).toString('hex'); +}; + +// Note: getLengthSync DOESN'T calculate streams length +// As workaround one can calculate file size manually and add it as knownLength option +FormData.prototype.getLengthSync = function () { + var knownLength = this._overheadLength + this._valueLength; + + // Don't get confused, there are 3 "internal" streams for each keyval pair so it basically checks if there is any value added to the form + if (this._streams.length) { + knownLength += this._lastBoundary().length; + } + + // https://github.com/form-data/form-data/issues/40 + if (!this.hasKnownLength()) { + /* + * Some async length retrievers are present + * therefore synchronous length calculation is false. + * Please use getLength(callback) to get proper length + */ + this._error(new Error('Cannot calculate proper length in synchronous way.')); + } + + return knownLength; +}; + +// Public API to check if length of added values is known +// https://github.com/form-data/form-data/issues/196 +// https://github.com/form-data/form-data/issues/262 +FormData.prototype.hasKnownLength = function () { + var hasKnownLength = true; + + if (this._valuesToMeasure.length) { + hasKnownLength = false; + } + + return hasKnownLength; +}; + +FormData.prototype.getLength = function (cb) { + var knownLength = this._overheadLength + this._valueLength; + + if (this._streams.length) { + knownLength += this._lastBoundary().length; + } + + if (!this._valuesToMeasure.length) { + process.nextTick(cb.bind(this, null, knownLength)); + return; + } + + asynckit.parallel(this._valuesToMeasure, this._lengthRetriever, function (err, values) { + if (err) { + cb(err); + return; + } + + values.forEach(function (length) { + knownLength += length; + }); + + cb(null, knownLength); + }); +}; + +FormData.prototype.submit = function (params, cb) { + var request; + var options; + var defaults = { method: 'post' }; + + // parse provided url if it's string or treat it as options object + if (typeof params === 'string') { + params = parseUrl(params); // eslint-disable-line no-param-reassign + /* eslint sort-keys: 0 */ + options = populate({ + port: params.port, + path: params.pathname, + host: params.hostname, + protocol: params.protocol + }, defaults); + } else { // use custom params + options = populate(params, defaults); + // if no port provided use default one + if (!options.port) { + options.port = options.protocol === 'https:' ? 443 : 80; + } + } + + // put that good code in getHeaders to some use + options.headers = this.getHeaders(params.headers); + + // https if specified, fallback to http in any other case + if (options.protocol === 'https:') { + request = https.request(options); + } else { + request = http.request(options); + } + + // get content length and fire away + this.getLength(function (err, length) { + if (err && err !== 'Unknown stream') { + this._error(err); + return; + } + + // add content length + if (length) { + request.setHeader('Content-Length', length); + } + + this.pipe(request); + if (cb) { + var onResponse; + + var callback = function (error, responce) { + request.removeListener('error', callback); + request.removeListener('response', onResponse); + + return cb.call(this, error, responce); + }; + + onResponse = callback.bind(this, null); + + request.on('error', callback); + request.on('response', onResponse); + } + }.bind(this)); + + return request; +}; + +FormData.prototype._error = function (err) { + if (!this.error) { + this.error = err; + this.pause(); + this.emit('error', err); + } +}; + +FormData.prototype.toString = function () { + return '[object FormData]'; +}; +setToStringTag(FormData.prototype, 'FormData'); + +// Public API +module.exports = FormData; diff --git a/dist/node_modules/form-data/lib/populate.js b/dist/node_modules/form-data/lib/populate.js new file mode 100644 index 00000000..55ac3bb2 --- /dev/null +++ b/dist/node_modules/form-data/lib/populate.js @@ -0,0 +1,10 @@ +'use strict'; + +// populates missing values +module.exports = function (dst, src) { + Object.keys(src).forEach(function (prop) { + dst[prop] = dst[prop] || src[prop]; // eslint-disable-line no-param-reassign + }); + + return dst; +}; diff --git a/dist/node_modules/form-data/package.json b/dist/node_modules/form-data/package.json new file mode 100644 index 00000000..f8d6117a --- /dev/null +++ b/dist/node_modules/form-data/package.json @@ -0,0 +1,82 @@ +{ + "author": "Felix Geisendörfer (http://debuggable.com/)", + "name": "form-data", + "description": "A library to create readable \"multipart/form-data\" streams. Can be used to submit forms and file uploads to other web applications.", + "version": "4.0.5", + "repository": { + "type": "git", + "url": "git://github.com/form-data/form-data.git" + }, + "main": "./lib/form_data", + "browser": "./lib/browser", + "typings": "./index.d.ts", + "scripts": { + "pretest": "npm run lint", + "pretests-only": "rimraf coverage test/tmp", + "tests-only": "istanbul cover test/run.js", + "posttests-only": "istanbul report lcov text", + "test": "npm run tests-only", + "posttest": "npx npm@'>=10.2' audit --production", + "lint": "eslint --ext=js,mjs .", + "report": "istanbul report lcov text", + "ci-lint": "is-node-modern 8 && npm run lint || is-node-not-modern 8", + "ci-test": "npm run tests-only && npm run browser && npm run report", + "predebug": "rimraf coverage test/tmp", + "debug": "verbose=1 ./test/run.js", + "browser": "browserify -t browserify-istanbul test/run-browser.js | obake --coverage", + "check": "istanbul check-coverage coverage/coverage*.json", + "files": "pkgfiles --sort=name", + "get-version": "node -e \"console.log(require('./package.json').version)\"", + "update-readme": "sed -i.bak 's/\\/master\\.svg/\\/v'$(npm --silent run get-version)'.svg/g' README.md", + "postupdate-readme": "mv README.md.bak READ.ME.md.bak", + "restore-readme": "mv READ.ME.md.bak README.md", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepack": "npm run update-readme", + "postpack": "npm run restore-readme", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "engines": { + "node": ">= 6" + }, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "devDependencies": { + "@ljharb/eslint-config": "^21.4.0", + "auto-changelog": "^2.5.0", + "browserify": "^13.3.0", + "browserify-istanbul": "^2.0.0", + "coveralls": "^3.1.1", + "cross-spawn": "^6.0.6", + "eslint": "^8.57.1", + "fake": "^0.2.2", + "far": "^0.0.7", + "formidable": "^1.2.6", + "in-publish": "^2.0.1", + "is-node-modern": "^1.0.0", + "istanbul": "^0.4.5", + "js-randomness-predictor": "^1.5.5", + "obake": "^0.1.2", + "pkgfiles": "^2.3.2", + "pre-commit": "^1.2.2", + "puppeteer": "^1.20.0", + "request": "~2.87.0", + "rimraf": "^2.7.1", + "semver": "^6.3.1", + "tape": "^5.9.0" + }, + "license": "MIT", + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + } +} diff --git a/dist/node_modules/function-bind/.eslintrc b/dist/node_modules/function-bind/.eslintrc new file mode 100644 index 00000000..71a054fd --- /dev/null +++ b/dist/node_modules/function-bind/.eslintrc @@ -0,0 +1,21 @@ +{ + "root": true, + + "extends": "@ljharb", + + "rules": { + "func-name-matching": 0, + "indent": [2, 4], + "no-new-func": [1], + }, + + "overrides": [ + { + "files": "test/**", + "rules": { + "max-lines-per-function": 0, + "strict": [0] + }, + }, + ], +} diff --git a/dist/node_modules/function-bind/.github/FUNDING.yml b/dist/node_modules/function-bind/.github/FUNDING.yml new file mode 100644 index 00000000..74482195 --- /dev/null +++ b/dist/node_modules/function-bind/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: [ljharb] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: npm/function-bind +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/dist/node_modules/function-bind/.github/SECURITY.md b/dist/node_modules/function-bind/.github/SECURITY.md new file mode 100644 index 00000000..82e4285a --- /dev/null +++ b/dist/node_modules/function-bind/.github/SECURITY.md @@ -0,0 +1,3 @@ +# Security + +Please email [@ljharb](https://github.com/ljharb) or see https://tidelift.com/security if you have a potential security vulnerability to report. diff --git a/dist/node_modules/function-bind/.nycrc b/dist/node_modules/function-bind/.nycrc new file mode 100644 index 00000000..1826526e --- /dev/null +++ b/dist/node_modules/function-bind/.nycrc @@ -0,0 +1,13 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "lines": 86, + "statements": 85.93, + "functions": 82.43, + "branches": 76.06, + "exclude": [ + "coverage", + "test" + ] +} diff --git a/dist/node_modules/function-bind/CHANGELOG.md b/dist/node_modules/function-bind/CHANGELOG.md new file mode 100644 index 00000000..f9e6cc07 --- /dev/null +++ b/dist/node_modules/function-bind/CHANGELOG.md @@ -0,0 +1,136 @@ +# 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.1.2](https://github.com/ljharb/function-bind/compare/v1.1.1...v1.1.2) - 2023-10-12 + +### Merged + +- Point to the correct file [`#16`](https://github.com/ljharb/function-bind/pull/16) + +### Commits + +- [Tests] migrate tests to Github Actions [`4f8b57c`](https://github.com/ljharb/function-bind/commit/4f8b57c02f2011fe9ae353d5e74e8745f0988af8) +- [Tests] remove `jscs` [`90eb2ed`](https://github.com/ljharb/function-bind/commit/90eb2edbeefd5b76cd6c3a482ea3454db169b31f) +- [meta] update `.gitignore` [`53fcdc3`](https://github.com/ljharb/function-bind/commit/53fcdc371cd66634d6e9b71c836a50f437e89fed) +- [Tests] up to `node` `v11.10`, `v10.15`, `v9.11`, `v8.15`, `v6.16`, `v4.9`; use `nvm install-latest-npm`; run audit script in tests [`1fe8f6e`](https://github.com/ljharb/function-bind/commit/1fe8f6e9aed0dfa8d8b3cdbd00c7f5ea0cd2b36e) +- [meta] add `auto-changelog` [`1921fcb`](https://github.com/ljharb/function-bind/commit/1921fcb5b416b63ffc4acad051b6aad5722f777d) +- [Robustness] remove runtime dependency on all builtins except `.apply` [`f743e61`](https://github.com/ljharb/function-bind/commit/f743e61aa6bb2360358c04d4884c9db853d118b7) +- Docs: enable badges; update wording [`503cb12`](https://github.com/ljharb/function-bind/commit/503cb12d998b5f91822776c73332c7adcd6355dd) +- [readme] update badges [`290c5db`](https://github.com/ljharb/function-bind/commit/290c5dbbbda7264efaeb886552a374b869a4bb48) +- [Tests] switch to nyc for coverage [`ea360ba`](https://github.com/ljharb/function-bind/commit/ea360ba907fc2601ed18d01a3827fa2d3533cdf8) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape` [`cae5e9e`](https://github.com/ljharb/function-bind/commit/cae5e9e07a5578dc6df26c03ee22851ce05b943c) +- [meta] add `funding` field; create FUNDING.yml [`c9f4274`](https://github.com/ljharb/function-bind/commit/c9f4274aa80ea3aae9657a3938fdba41a3b04ca6) +- [Tests] fix eslint errors from #15 [`f69aaa2`](https://github.com/ljharb/function-bind/commit/f69aaa2beb2fdab4415bfb885760a699d0b9c964) +- [actions] fix permissions [`99a0cd9`](https://github.com/ljharb/function-bind/commit/99a0cd9f3b5bac223a0d572f081834cd73314be7) +- [meta] use `npmignore` to autogenerate an npmignore file [`f03b524`](https://github.com/ljharb/function-bind/commit/f03b524ca91f75a109a5d062f029122c86ecd1ae) +- [Dev Deps] update `@ljharb/eslint‑config`, `eslint`, `tape` [`7af9300`](https://github.com/ljharb/function-bind/commit/7af930023ae2ce7645489532821e4fbbcd7a2280) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `covert`, `tape` [`64a9127`](https://github.com/ljharb/function-bind/commit/64a9127ab0bd331b93d6572eaf6e9971967fc08c) +- [Tests] use `aud` instead of `npm audit` [`e75069c`](https://github.com/ljharb/function-bind/commit/e75069c50010a8fcce2a9ce2324934c35fdb4386) +- [Dev Deps] update `@ljharb/eslint-config`, `aud`, `tape` [`d03555c`](https://github.com/ljharb/function-bind/commit/d03555ca59dea3b71ce710045e4303b9e2619e28) +- [meta] add `safe-publish-latest` [`9c8f809`](https://github.com/ljharb/function-bind/commit/9c8f8092aed027d7e80c94f517aa892385b64f09) +- [Dev Deps] update `@ljharb/eslint-config`, `tape` [`baf6893`](https://github.com/ljharb/function-bind/commit/baf6893e27f5b59abe88bc1995e6f6ed1e527397) +- [meta] create SECURITY.md [`4db1779`](https://github.com/ljharb/function-bind/commit/4db17799f1f28ae294cb95e0081ca2b591c3911b) +- [Tests] add `npm run audit` [`c8b38ec`](https://github.com/ljharb/function-bind/commit/c8b38ec40ed3f85dabdee40ed4148f1748375bc2) +- Revert "Point to the correct file" [`05cdf0f`](https://github.com/ljharb/function-bind/commit/05cdf0fa205c6a3c5ba40bbedd1dfa9874f915c9) + +## [v1.1.1](https://github.com/ljharb/function-bind/compare/v1.1.0...v1.1.1) - 2017-08-28 + +### Commits + +- [Tests] up to `node` `v8`; newer npm breaks on older node; fix scripts [`817f7d2`](https://github.com/ljharb/function-bind/commit/817f7d28470fdbff8ef608d4d565dd4d1430bc5e) +- [Dev Deps] update `eslint`, `jscs`, `tape`, `@ljharb/eslint-config` [`854288b`](https://github.com/ljharb/function-bind/commit/854288b1b6f5c555f89aceb9eff1152510262084) +- [Dev Deps] update `tape`, `jscs`, `eslint`, `@ljharb/eslint-config` [`83e639f`](https://github.com/ljharb/function-bind/commit/83e639ff74e6cd6921285bccec22c1bcf72311bd) +- Only apps should have lockfiles [`5ed97f5`](https://github.com/ljharb/function-bind/commit/5ed97f51235c17774e0832e122abda0f3229c908) +- Use a SPDX-compliant “license” field. [`5feefea`](https://github.com/ljharb/function-bind/commit/5feefea0dc0193993e83e5df01ded424403a5381) + +## [v1.1.0](https://github.com/ljharb/function-bind/compare/v1.0.2...v1.1.0) - 2016-02-14 + +### Commits + +- Update `eslint`, `tape`; use my personal shared `eslint` config [`9c9062a`](https://github.com/ljharb/function-bind/commit/9c9062abbe9dd70b59ea2c3a3c3a81f29b457097) +- Add `npm run eslint` [`dd96c56`](https://github.com/ljharb/function-bind/commit/dd96c56720034a3c1ffee10b8a59a6f7c53e24ad) +- [New] return the native `bind` when available. [`82186e0`](https://github.com/ljharb/function-bind/commit/82186e03d73e580f95ff167e03f3582bed90ed72) +- [Dev Deps] update `tape`, `jscs`, `eslint`, `@ljharb/eslint-config` [`a3dd767`](https://github.com/ljharb/function-bind/commit/a3dd76720c795cb7f4586b0544efabf8aa107b8b) +- Update `eslint` [`3dae2f7`](https://github.com/ljharb/function-bind/commit/3dae2f7423de30a2d20313ddb1edc19660142fe9) +- Update `tape`, `covert`, `jscs` [`a181eee`](https://github.com/ljharb/function-bind/commit/a181eee0cfa24eb229c6e843a971f36e060a2f6a) +- [Tests] up to `node` `v5.6`, `v4.3` [`964929a`](https://github.com/ljharb/function-bind/commit/964929a6a4ddb36fb128de2bcc20af5e4f22e1ed) +- Test up to `io.js` `v2.1` [`2be7310`](https://github.com/ljharb/function-bind/commit/2be7310f2f74886a7124ca925be411117d41d5ea) +- Update `tape`, `jscs`, `eslint`, `@ljharb/eslint-config` [`45f3d68`](https://github.com/ljharb/function-bind/commit/45f3d6865c6ca93726abcef54febe009087af101) +- [Dev Deps] update `tape`, `jscs` [`6e1340d`](https://github.com/ljharb/function-bind/commit/6e1340d94642deaecad3e717825db641af4f8b1f) +- [Tests] up to `io.js` `v3.3`, `node` `v4.1` [`d9bad2b`](https://github.com/ljharb/function-bind/commit/d9bad2b778b1b3a6dd2876087b88b3acf319f8cc) +- Update `eslint` [`935590c`](https://github.com/ljharb/function-bind/commit/935590caa024ab356102e4858e8fc315b2ccc446) +- [Dev Deps] update `jscs`, `eslint`, `@ljharb/eslint-config` [`8c9a1ef`](https://github.com/ljharb/function-bind/commit/8c9a1efd848e5167887aa8501857a0940a480c57) +- Test on `io.js` `v2.2` [`9a3a38c`](https://github.com/ljharb/function-bind/commit/9a3a38c92013aed6e108666e7bd40969b84ac86e) +- Run `travis-ci` tests on `iojs` and `node` v0.12; speed up builds; allow 0.8 failures. [`69afc26`](https://github.com/ljharb/function-bind/commit/69afc2617405b147dd2a8d8ae73ca9e9283f18b4) +- [Dev Deps] Update `tape`, `eslint` [`36c1be0`](https://github.com/ljharb/function-bind/commit/36c1be0ab12b45fe5df6b0fdb01a5d5137fd0115) +- Update `tape`, `jscs` [`98d8303`](https://github.com/ljharb/function-bind/commit/98d8303cd5ca1c6b8f985469f86b0d44d7d45f6e) +- Update `jscs` [`9633a4e`](https://github.com/ljharb/function-bind/commit/9633a4e9fbf82051c240855166e468ba8ba0846f) +- Update `tape`, `jscs` [`c80ef0f`](https://github.com/ljharb/function-bind/commit/c80ef0f46efc9791e76fa50de4414092ac147831) +- Test up to `io.js` `v3.0` [`7e2c853`](https://github.com/ljharb/function-bind/commit/7e2c8537d52ab9cf5a655755561d8917684c0df4) +- Test on `io.js` `v2.4` [`5a199a2`](https://github.com/ljharb/function-bind/commit/5a199a27ba46795ba5eaf0845d07d4b8232895c9) +- Test on `io.js` `v2.3` [`a511b88`](https://github.com/ljharb/function-bind/commit/a511b8896de0bddf3b56862daa416c701f4d0453) +- Fixing a typo from 822b4e1938db02dc9584aa434fd3a45cb20caf43 [`732d6b6`](https://github.com/ljharb/function-bind/commit/732d6b63a9b33b45230e630dbcac7a10855d3266) +- Update `jscs` [`da52a48`](https://github.com/ljharb/function-bind/commit/da52a4886c06d6490f46ae30b15e4163ba08905d) +- Lock covert to v1.0.0. [`d6150fd`](https://github.com/ljharb/function-bind/commit/d6150fda1e6f486718ebdeff823333d9e48e7430) + +## [v1.0.2](https://github.com/ljharb/function-bind/compare/v1.0.1...v1.0.2) - 2014-10-04 + +## [v1.0.1](https://github.com/ljharb/function-bind/compare/v1.0.0...v1.0.1) - 2014-10-03 + +### Merged + +- make CI build faster [`#3`](https://github.com/ljharb/function-bind/pull/3) + +### Commits + +- Using my standard jscs.json [`d8ee94c`](https://github.com/ljharb/function-bind/commit/d8ee94c993eff0a84cf5744fe6a29627f5cffa1a) +- Adding `npm run lint` [`7571ab7`](https://github.com/ljharb/function-bind/commit/7571ab7dfdbd99b25a1dbb2d232622bd6f4f9c10) +- Using consistent indentation [`e91a1b1`](https://github.com/ljharb/function-bind/commit/e91a1b13a61e99ec1e530e299b55508f74218a95) +- Updating jscs [`7e17892`](https://github.com/ljharb/function-bind/commit/7e1789284bc629bc9c1547a61c9b227bbd8c7a65) +- Using consistent quotes [`c50b57f`](https://github.com/ljharb/function-bind/commit/c50b57fcd1c5ec38320979c837006069ebe02b77) +- Adding keywords [`cb94631`](https://github.com/ljharb/function-bind/commit/cb946314eed35f21186a25fb42fc118772f9ee00) +- Directly export a function expression instead of using a declaration, and relying on hoisting. [`5a33c5f`](https://github.com/ljharb/function-bind/commit/5a33c5f45642de180e0d207110bf7d1843ceb87c) +- Naming npm URL and badge in README; use SVG [`2aef8fc`](https://github.com/ljharb/function-bind/commit/2aef8fcb79d54e63a58ae557c4e60949e05d5e16) +- Naming deps URLs in README [`04228d7`](https://github.com/ljharb/function-bind/commit/04228d766670ee45ca24e98345c1f6a7621065b5) +- Naming travis-ci URLs in README; using SVG [`62c810c`](https://github.com/ljharb/function-bind/commit/62c810c2f54ced956cd4d4ab7b793055addfe36e) +- Make sure functions are invoked correctly (also passing coverage tests) [`2b289b4`](https://github.com/ljharb/function-bind/commit/2b289b4dfbf037ffcfa4dc95eb540f6165e9e43a) +- Removing the strict mode pragmas; they make tests fail. [`1aa701d`](https://github.com/ljharb/function-bind/commit/1aa701d199ddc3782476e8f7eef82679be97b845) +- Adding myself as a contributor [`85fd57b`](https://github.com/ljharb/function-bind/commit/85fd57b0860e5a7af42de9a287f3f265fc6d72fc) +- Adding strict mode pragmas [`915b08e`](https://github.com/ljharb/function-bind/commit/915b08e084c86a722eafe7245e21db74aa21ca4c) +- Adding devDeps URLs to README [`4ccc731`](https://github.com/ljharb/function-bind/commit/4ccc73112c1769859e4ca3076caf4086b3cba2cd) +- Fixing the description. [`a7a472c`](https://github.com/ljharb/function-bind/commit/a7a472cf649af515c635cf560fc478fbe48999c8) +- Using a function expression instead of a function declaration. [`b5d3e4e`](https://github.com/ljharb/function-bind/commit/b5d3e4ea6aaffc63888953eeb1fbc7ff45f1fa14) +- Updating tape [`f086be6`](https://github.com/ljharb/function-bind/commit/f086be6029fb56dde61a258c1340600fa174d1e0) +- Updating jscs [`5f9bdb3`](https://github.com/ljharb/function-bind/commit/5f9bdb375ab13ba48f30852aab94029520c54d71) +- Updating jscs [`9b409ba`](https://github.com/ljharb/function-bind/commit/9b409ba6118e23395a4e5d83ef39152aab9d3bfc) +- Run coverage as part of tests. [`8e1b6d4`](https://github.com/ljharb/function-bind/commit/8e1b6d459f047d1bd4fee814e01247c984c80bd0) +- Run linter as part of tests [`c1ca83f`](https://github.com/ljharb/function-bind/commit/c1ca83f832df94587d09e621beba682fabfaa987) +- Updating covert [`701e837`](https://github.com/ljharb/function-bind/commit/701e83774b57b4d3ef631e1948143f43a72f4bb9) + +## [v1.0.0](https://github.com/ljharb/function-bind/compare/v0.2.0...v1.0.0) - 2014-08-09 + +### Commits + +- Make sure old and unstable nodes don't fail Travis [`27adca3`](https://github.com/ljharb/function-bind/commit/27adca34a4ab6ad67b6dfde43942a1b103ce4d75) +- Fixing an issue when the bound function is called as a constructor in ES3. [`e20122d`](https://github.com/ljharb/function-bind/commit/e20122d267d92ce553859b280cbbea5d27c07731) +- Adding `npm run coverage` [`a2e29c4`](https://github.com/ljharb/function-bind/commit/a2e29c4ecaef9e2f6cd1603e868c139073375502) +- Updating tape [`b741168`](https://github.com/ljharb/function-bind/commit/b741168b12b235b1717ff696087645526b69213c) +- Upgrading tape [`63631a0`](https://github.com/ljharb/function-bind/commit/63631a04c7fbe97cc2fa61829cc27246d6986f74) +- Updating tape [`363cb46`](https://github.com/ljharb/function-bind/commit/363cb46dafb23cb3e347729a22f9448051d78464) + +## v0.2.0 - 2014-03-23 + +### Commits + +- Updating test coverage to match es5-shim. [`aa94d44`](https://github.com/ljharb/function-bind/commit/aa94d44b8f9d7f69f10e060db7709aa7a694e5d4) +- initial [`942ee07`](https://github.com/ljharb/function-bind/commit/942ee07e94e542d91798137bc4b80b926137e066) +- Setting the bound function's length properly. [`079f46a`](https://github.com/ljharb/function-bind/commit/079f46a2d3515b7c0b308c2c13fceb641f97ca25) +- Ensuring that some older browsers will throw when given a regex. [`36ac55b`](https://github.com/ljharb/function-bind/commit/36ac55b87f460d4330253c92870aa26fbfe8227f) +- Removing npm scripts that don't have dependencies [`9d2be60`](https://github.com/ljharb/function-bind/commit/9d2be600002cb8bc8606f8f3585ad3e05868c750) +- Updating tape [`297a4ac`](https://github.com/ljharb/function-bind/commit/297a4acc5464db381940aafb194d1c88f4e678f3) +- Skipping length tests for now. [`d9891ea`](https://github.com/ljharb/function-bind/commit/d9891ea4d2aaffa69f408339cdd61ff740f70565) +- don't take my tea [`dccd930`](https://github.com/ljharb/function-bind/commit/dccd930bfd60ea10cb178d28c97550c3bc8c1e07) diff --git a/dist/node_modules/function-bind/LICENSE b/dist/node_modules/function-bind/LICENSE new file mode 100644 index 00000000..62d6d237 --- /dev/null +++ b/dist/node_modules/function-bind/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2013 Raynos. + +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. + diff --git a/dist/node_modules/function-bind/README.md b/dist/node_modules/function-bind/README.md new file mode 100644 index 00000000..814c20b5 --- /dev/null +++ b/dist/node_modules/function-bind/README.md @@ -0,0 +1,46 @@ +# function-bind [![Version Badge][npm-version-svg]][package-url] + +[![github actions][actions-image]][actions-url] + +[![dependency status][deps-svg]][deps-url] +[![dev dependency status][dev-deps-svg]][dev-deps-url] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][npm-badge-png]][package-url] + +Implementation of function.prototype.bind + +Old versions of phantomjs, Internet Explorer < 9, and node < 0.6 don't support `Function.prototype.bind`. + +## Example + +```js +Function.prototype.bind = require("function-bind") +``` + +## Installation + +`npm install function-bind` + +## Contributors + + - Raynos + +## MIT Licenced + +[package-url]: https://npmjs.org/package/function-bind +[npm-version-svg]: https://versionbadg.es/Raynos/function-bind.svg +[deps-svg]: https://david-dm.org/Raynos/function-bind.svg +[deps-url]: https://david-dm.org/Raynos/function-bind +[dev-deps-svg]: https://david-dm.org/Raynos/function-bind/dev-status.svg +[dev-deps-url]: https://david-dm.org/Raynos/function-bind#info=devDependencies +[npm-badge-png]: https://nodei.co/npm/function-bind.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/function-bind.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/function-bind.svg +[downloads-url]: https://npm-stat.com/charts.html?package=function-bind +[codecov-image]: https://codecov.io/gh/Raynos/function-bind/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/Raynos/function-bind/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/Raynos/function-bind +[actions-url]: https://github.com/Raynos/function-bind/actions diff --git a/dist/node_modules/function-bind/implementation.js b/dist/node_modules/function-bind/implementation.js new file mode 100644 index 00000000..fd4384cc --- /dev/null +++ b/dist/node_modules/function-bind/implementation.js @@ -0,0 +1,84 @@ +'use strict'; + +/* eslint no-invalid-this: 1 */ + +var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible '; +var toStr = Object.prototype.toString; +var max = Math.max; +var funcType = '[object Function]'; + +var concatty = function concatty(a, b) { + var arr = []; + + for (var i = 0; i < a.length; i += 1) { + arr[i] = a[i]; + } + for (var j = 0; j < b.length; j += 1) { + arr[j + a.length] = b[j]; + } + + return arr; +}; + +var slicy = function slicy(arrLike, offset) { + var arr = []; + for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) { + arr[j] = arrLike[i]; + } + return arr; +}; + +var joiny = function (arr, joiner) { + var str = ''; + for (var i = 0; i < arr.length; i += 1) { + str += arr[i]; + if (i + 1 < arr.length) { + str += joiner; + } + } + return str; +}; + +module.exports = function bind(that) { + var target = this; + if (typeof target !== 'function' || toStr.apply(target) !== funcType) { + throw new TypeError(ERROR_MESSAGE + target); + } + var args = slicy(arguments, 1); + + var bound; + var binder = function () { + if (this instanceof bound) { + var result = target.apply( + this, + concatty(args, arguments) + ); + if (Object(result) === result) { + return result; + } + return this; + } + return target.apply( + that, + concatty(args, arguments) + ); + + }; + + var boundLength = max(0, target.length - args.length); + var boundArgs = []; + for (var i = 0; i < boundLength; i++) { + boundArgs[i] = '$' + i; + } + + bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder); + + if (target.prototype) { + var Empty = function Empty() {}; + Empty.prototype = target.prototype; + bound.prototype = new Empty(); + Empty.prototype = null; + } + + return bound; +}; diff --git a/dist/node_modules/function-bind/index.js b/dist/node_modules/function-bind/index.js new file mode 100644 index 00000000..3bb6b960 --- /dev/null +++ b/dist/node_modules/function-bind/index.js @@ -0,0 +1,5 @@ +'use strict'; + +var implementation = require('./implementation'); + +module.exports = Function.prototype.bind || implementation; diff --git a/dist/node_modules/function-bind/package.json b/dist/node_modules/function-bind/package.json new file mode 100644 index 00000000..61859638 --- /dev/null +++ b/dist/node_modules/function-bind/package.json @@ -0,0 +1,87 @@ +{ + "name": "function-bind", + "version": "1.1.2", + "description": "Implementation of Function.prototype.bind", + "keywords": [ + "function", + "bind", + "shim", + "es5" + ], + "author": "Raynos ", + "repository": { + "type": "git", + "url": "https://github.com/Raynos/function-bind.git" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "main": "index", + "homepage": "https://github.com/Raynos/function-bind", + "contributors": [ + { + "name": "Raynos" + }, + { + "name": "Jordan Harband", + "url": "https://github.com/ljharb" + } + ], + "bugs": { + "url": "https://github.com/Raynos/function-bind/issues", + "email": "raynos2@gmail.com" + }, + "devDependencies": { + "@ljharb/eslint-config": "^21.1.0", + "aud": "^2.0.3", + "auto-changelog": "^2.4.0", + "eslint": "=8.8.0", + "in-publish": "^2.0.1", + "npmignore": "^0.3.0", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.7.1" + }, + "license": "MIT", + "scripts": { + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepack": "npmignore --auto --commentLines=autogenerated", + "pretest": "npm run lint", + "test": "npm run tests-only", + "posttest": "aud --production", + "tests-only": "nyc tape 'test/**/*.js'", + "lint": "eslint --ext=js,mjs .", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "testling": { + "files": "test/index.js", + "browsers": [ + "ie/8..latest", + "firefox/16..latest", + "firefox/nightly", + "chrome/22..latest", + "chrome/canary", + "opera/12..latest", + "opera/next", + "safari/5.1..latest", + "ipad/6.0..latest", + "iphone/6.0..latest", + "android-browser/4.2..latest" + ] + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + } +} diff --git a/dist/node_modules/function-bind/test/.eslintrc b/dist/node_modules/function-bind/test/.eslintrc new file mode 100644 index 00000000..8a56d5b7 --- /dev/null +++ b/dist/node_modules/function-bind/test/.eslintrc @@ -0,0 +1,9 @@ +{ + "rules": { + "array-bracket-newline": 0, + "array-element-newline": 0, + "max-statements-per-line": [2, { "max": 2 }], + "no-invalid-this": 0, + "no-magic-numbers": 0, + } +} diff --git a/dist/node_modules/function-bind/test/index.js b/dist/node_modules/function-bind/test/index.js new file mode 100644 index 00000000..2edecce2 --- /dev/null +++ b/dist/node_modules/function-bind/test/index.js @@ -0,0 +1,252 @@ +// jscs:disable requireUseStrict + +var test = require('tape'); + +var functionBind = require('../implementation'); +var getCurrentContext = function () { return this; }; + +test('functionBind is a function', function (t) { + t.equal(typeof functionBind, 'function'); + t.end(); +}); + +test('non-functions', function (t) { + var nonFunctions = [true, false, [], {}, 42, 'foo', NaN, /a/g]; + t.plan(nonFunctions.length); + for (var i = 0; i < nonFunctions.length; ++i) { + try { functionBind.call(nonFunctions[i]); } catch (ex) { + t.ok(ex instanceof TypeError, 'throws when given ' + String(nonFunctions[i])); + } + } + t.end(); +}); + +test('without a context', function (t) { + t.test('binds properly', function (st) { + var args, context; + var namespace = { + func: functionBind.call(function () { + args = Array.prototype.slice.call(arguments); + context = this; + }) + }; + namespace.func(1, 2, 3); + st.deepEqual(args, [1, 2, 3]); + st.equal(context, getCurrentContext.call()); + st.end(); + }); + + t.test('binds properly, and still supplies bound arguments', function (st) { + var args, context; + var namespace = { + func: functionBind.call(function () { + args = Array.prototype.slice.call(arguments); + context = this; + }, undefined, 1, 2, 3) + }; + namespace.func(4, 5, 6); + st.deepEqual(args, [1, 2, 3, 4, 5, 6]); + st.equal(context, getCurrentContext.call()); + st.end(); + }); + + t.test('returns properly', function (st) { + var args; + var namespace = { + func: functionBind.call(function () { + args = Array.prototype.slice.call(arguments); + return this; + }, null) + }; + var context = namespace.func(1, 2, 3); + st.equal(context, getCurrentContext.call(), 'returned context is namespaced context'); + st.deepEqual(args, [1, 2, 3], 'passed arguments are correct'); + st.end(); + }); + + t.test('returns properly with bound arguments', function (st) { + var args; + var namespace = { + func: functionBind.call(function () { + args = Array.prototype.slice.call(arguments); + return this; + }, null, 1, 2, 3) + }; + var context = namespace.func(4, 5, 6); + st.equal(context, getCurrentContext.call(), 'returned context is namespaced context'); + st.deepEqual(args, [1, 2, 3, 4, 5, 6], 'passed arguments are correct'); + st.end(); + }); + + t.test('called as a constructor', function (st) { + var thunkify = function (value) { + return function () { return value; }; + }; + st.test('returns object value', function (sst) { + var expectedReturnValue = [1, 2, 3]; + var Constructor = functionBind.call(thunkify(expectedReturnValue), null); + var result = new Constructor(); + sst.equal(result, expectedReturnValue); + sst.end(); + }); + + st.test('does not return primitive value', function (sst) { + var Constructor = functionBind.call(thunkify(42), null); + var result = new Constructor(); + sst.notEqual(result, 42); + sst.end(); + }); + + st.test('object from bound constructor is instance of original and bound constructor', function (sst) { + var A = function (x) { + this.name = x || 'A'; + }; + var B = functionBind.call(A, null, 'B'); + + var result = new B(); + sst.ok(result instanceof B, 'result is instance of bound constructor'); + sst.ok(result instanceof A, 'result is instance of original constructor'); + sst.end(); + }); + + st.end(); + }); + + t.end(); +}); + +test('with a context', function (t) { + t.test('with no bound arguments', function (st) { + var args, context; + var boundContext = {}; + var namespace = { + func: functionBind.call(function () { + args = Array.prototype.slice.call(arguments); + context = this; + }, boundContext) + }; + namespace.func(1, 2, 3); + st.equal(context, boundContext, 'binds a context properly'); + st.deepEqual(args, [1, 2, 3], 'supplies passed arguments'); + st.end(); + }); + + t.test('with bound arguments', function (st) { + var args, context; + var boundContext = {}; + var namespace = { + func: functionBind.call(function () { + args = Array.prototype.slice.call(arguments); + context = this; + }, boundContext, 1, 2, 3) + }; + namespace.func(4, 5, 6); + st.equal(context, boundContext, 'binds a context properly'); + st.deepEqual(args, [1, 2, 3, 4, 5, 6], 'supplies bound and passed arguments'); + st.end(); + }); + + t.test('returns properly', function (st) { + var boundContext = {}; + var args; + var namespace = { + func: functionBind.call(function () { + args = Array.prototype.slice.call(arguments); + return this; + }, boundContext) + }; + var context = namespace.func(1, 2, 3); + st.equal(context, boundContext, 'returned context is bound context'); + st.notEqual(context, getCurrentContext.call(), 'returned context is not lexical context'); + st.deepEqual(args, [1, 2, 3], 'passed arguments are correct'); + st.end(); + }); + + t.test('returns properly with bound arguments', function (st) { + var boundContext = {}; + var args; + var namespace = { + func: functionBind.call(function () { + args = Array.prototype.slice.call(arguments); + return this; + }, boundContext, 1, 2, 3) + }; + var context = namespace.func(4, 5, 6); + st.equal(context, boundContext, 'returned context is bound context'); + st.notEqual(context, getCurrentContext.call(), 'returned context is not lexical context'); + st.deepEqual(args, [1, 2, 3, 4, 5, 6], 'passed arguments are correct'); + st.end(); + }); + + t.test('passes the correct arguments when called as a constructor', function (st) { + var expected = { name: 'Correct' }; + var namespace = { + Func: functionBind.call(function (arg) { + return arg; + }, { name: 'Incorrect' }) + }; + var returned = new namespace.Func(expected); + st.equal(returned, expected, 'returns the right arg when called as a constructor'); + st.end(); + }); + + t.test('has the new instance\'s context when called as a constructor', function (st) { + var actualContext; + var expectedContext = { foo: 'bar' }; + var namespace = { + Func: functionBind.call(function () { + actualContext = this; + }, expectedContext) + }; + var result = new namespace.Func(); + st.equal(result instanceof namespace.Func, true); + st.notEqual(actualContext, expectedContext); + st.end(); + }); + + t.end(); +}); + +test('bound function length', function (t) { + t.test('sets a correct length without thisArg', function (st) { + var subject = functionBind.call(function (a, b, c) { return a + b + c; }); + st.equal(subject.length, 3); + st.equal(subject(1, 2, 3), 6); + st.end(); + }); + + t.test('sets a correct length with thisArg', function (st) { + var subject = functionBind.call(function (a, b, c) { return a + b + c; }, {}); + st.equal(subject.length, 3); + st.equal(subject(1, 2, 3), 6); + st.end(); + }); + + t.test('sets a correct length without thisArg and first argument', function (st) { + var subject = functionBind.call(function (a, b, c) { return a + b + c; }, undefined, 1); + st.equal(subject.length, 2); + st.equal(subject(2, 3), 6); + st.end(); + }); + + t.test('sets a correct length with thisArg and first argument', function (st) { + var subject = functionBind.call(function (a, b, c) { return a + b + c; }, {}, 1); + st.equal(subject.length, 2); + st.equal(subject(2, 3), 6); + st.end(); + }); + + t.test('sets a correct length without thisArg and too many arguments', function (st) { + var subject = functionBind.call(function (a, b, c) { return a + b + c; }, undefined, 1, 2, 3, 4); + st.equal(subject.length, 0); + st.equal(subject(), 6); + st.end(); + }); + + t.test('sets a correct length with thisArg and too many arguments', function (st) { + var subject = functionBind.call(function (a, b, c) { return a + b + c; }, {}, 1, 2, 3, 4); + st.equal(subject.length, 0); + st.equal(subject(), 6); + st.end(); + }); +}); diff --git a/dist/node_modules/get-intrinsic/.eslintrc b/dist/node_modules/get-intrinsic/.eslintrc new file mode 100644 index 00000000..235fb79a --- /dev/null +++ b/dist/node_modules/get-intrinsic/.eslintrc @@ -0,0 +1,42 @@ +{ + "root": true, + + "extends": "@ljharb", + + "env": { + "es6": true, + "es2017": true, + "es2020": true, + "es2021": true, + "es2022": true, + }, + + "globals": { + "Float16Array": false, + }, + + "rules": { + "array-bracket-newline": 0, + "complexity": 0, + "eqeqeq": [2, "allow-null"], + "func-name-matching": 0, + "id-length": 0, + "max-lines": 0, + "max-lines-per-function": [2, 90], + "max-params": [2, 4], + "max-statements": 0, + "max-statements-per-line": [2, { "max": 2 }], + "multiline-comment-style": 0, + "no-magic-numbers": 0, + "sort-keys": 0, + }, + + "overrides": [ + { + "files": "test/**", + "rules": { + "new-cap": 0, + }, + }, + ], +} diff --git a/dist/node_modules/get-intrinsic/.github/FUNDING.yml b/dist/node_modules/get-intrinsic/.github/FUNDING.yml new file mode 100644 index 00000000..8e8da0dd --- /dev/null +++ b/dist/node_modules/get-intrinsic/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: [ljharb] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: npm/get-intrinsic +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/dist/node_modules/get-intrinsic/.nycrc b/dist/node_modules/get-intrinsic/.nycrc new file mode 100644 index 00000000..bdd626ce --- /dev/null +++ b/dist/node_modules/get-intrinsic/.nycrc @@ -0,0 +1,9 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "exclude": [ + "coverage", + "test" + ] +} diff --git a/dist/node_modules/get-intrinsic/CHANGELOG.md b/dist/node_modules/get-intrinsic/CHANGELOG.md new file mode 100644 index 00000000..ce1dd987 --- /dev/null +++ b/dist/node_modules/get-intrinsic/CHANGELOG.md @@ -0,0 +1,186 @@ +# 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.3.0](https://github.com/ljharb/get-intrinsic/compare/v1.2.7...v1.3.0) - 2025-02-22 + +### Commits + +- [Dev Deps] update `es-abstract`, `es-value-fixtures`, `for-each`, `object-inspect` [`9b61553`](https://github.com/ljharb/get-intrinsic/commit/9b61553c587f1c1edbd435597e88c7d387da97dd) +- [Deps] update `call-bind-apply-helpers`, `es-object-atoms`, `get-proto` [`a341fee`](https://github.com/ljharb/get-intrinsic/commit/a341fee0f39a403b0f0069e82c97642d5eb11043) +- [New] add `Float16Array` [`de22116`](https://github.com/ljharb/get-intrinsic/commit/de22116b492fb989a0341bceb6e573abfaed73dc) + +## [v1.2.7](https://github.com/ljharb/get-intrinsic/compare/v1.2.6...v1.2.7) - 2025-01-02 + +### Commits + +- [Refactor] use `get-proto` directly [`00ab955`](https://github.com/ljharb/get-intrinsic/commit/00ab95546a0980c8ad42a84253daaa8d2adcedf9) +- [Deps] update `math-intrinsics` [`c716cdd`](https://github.com/ljharb/get-intrinsic/commit/c716cdd6bbe36b438057025561b8bb5a879ac8a0) +- [Dev Deps] update `call-bound`, `es-abstract` [`dc648a6`](https://github.com/ljharb/get-intrinsic/commit/dc648a67eb359037dff8d8619bfa71d86debccb1) + +## [v1.2.6](https://github.com/ljharb/get-intrinsic/compare/v1.2.5...v1.2.6) - 2024-12-11 + +### Commits + +- [Refactor] use `math-intrinsics` [`841be86`](https://github.com/ljharb/get-intrinsic/commit/841be8641a9254c4c75483b30c8871b5d5065926) +- [Refactor] use `es-object-atoms` [`42057df`](https://github.com/ljharb/get-intrinsic/commit/42057dfa16f66f64787e66482af381cc6f31d2c1) +- [Deps] update `call-bind-apply-helpers` [`45afa24`](https://github.com/ljharb/get-intrinsic/commit/45afa24a9ee4d6d3c172db1f555b16cb27843ef4) +- [Dev Deps] update `call-bound` [`9cba9c6`](https://github.com/ljharb/get-intrinsic/commit/9cba9c6e70212bc163b7a5529cb25df46071646f) + +## [v1.2.5](https://github.com/ljharb/get-intrinsic/compare/v1.2.4...v1.2.5) - 2024-12-06 + +### Commits + +- [actions] split out node 10-20, and 20+ [`6e2b9dd`](https://github.com/ljharb/get-intrinsic/commit/6e2b9dd23902665681ebe453256ccfe21d7966f0) +- [Refactor] use `dunder-proto` and `call-bind-apply-helpers` instead of `has-proto` [`c095d17`](https://github.com/ljharb/get-intrinsic/commit/c095d179ad0f4fbfff20c8a3e0cb4fe668018998) +- [Refactor] use `gopd` [`9841d5b`](https://github.com/ljharb/get-intrinsic/commit/9841d5b35f7ab4fd2d193f0c741a50a077920e90) +- [Dev Deps] update `@ljharb/eslint-config`, `auto-changelog`, `es-abstract`, `es-value-fixtures`, `gopd`, `mock-property`, `object-inspect`, `tape` [`2d07e01`](https://github.com/ljharb/get-intrinsic/commit/2d07e01310cee2cbaedfead6903df128b1f5d425) +- [Deps] update `gopd`, `has-proto`, `has-symbols`, `hasown` [`974d8bf`](https://github.com/ljharb/get-intrinsic/commit/974d8bf5baad7939eef35c25cc1dd88c10a30fa6) +- [Dev Deps] update `call-bind`, `es-abstract`, `tape` [`df9dde1`](https://github.com/ljharb/get-intrinsic/commit/df9dde178186631ab8a3165ede056549918ce4bc) +- [Refactor] cache `es-define-property` as well [`43ef543`](https://github.com/ljharb/get-intrinsic/commit/43ef543cb02194401420e3a914a4ca9168691926) +- [Deps] update `has-proto`, `has-symbols`, `hasown` [`ad4949d`](https://github.com/ljharb/get-intrinsic/commit/ad4949d5467316505aad89bf75f9417ed782f7af) +- [Tests] use `call-bound` directly [`ad5c406`](https://github.com/ljharb/get-intrinsic/commit/ad5c4069774bfe90e520a35eead5fe5ca9d69e80) +- [Deps] update `has-proto`, `hasown` [`45414ca`](https://github.com/ljharb/get-intrinsic/commit/45414caa312333a2798953682c68f85c550627dd) +- [Tests] replace `aud` with `npm audit` [`18d3509`](https://github.com/ljharb/get-intrinsic/commit/18d3509f79460e7924da70409ee81e5053087523) +- [Deps] update `es-define-property` [`aadaa3b`](https://github.com/ljharb/get-intrinsic/commit/aadaa3b2188d77ad9bff394ce5d4249c49eb21f5) +- [Dev Deps] add missing peer dep [`c296a16`](https://github.com/ljharb/get-intrinsic/commit/c296a16246d0c9a5981944f4cc5cf61fbda0cf6a) + +## [v1.2.4](https://github.com/ljharb/get-intrinsic/compare/v1.2.3...v1.2.4) - 2024-02-05 + +### Commits + +- [Refactor] use all 7 <+ ES6 Errors from `es-errors` [`bcac811`](https://github.com/ljharb/get-intrinsic/commit/bcac811abdc1c982e12abf848a410d6aae148d14) + +## [v1.2.3](https://github.com/ljharb/get-intrinsic/compare/v1.2.2...v1.2.3) - 2024-02-03 + +### Commits + +- [Refactor] use `es-errors`, so things that only need those do not need `get-intrinsic` [`f11db9c`](https://github.com/ljharb/get-intrinsic/commit/f11db9c4fb97d87bbd53d3c73ac6b3db3613ad3b) +- [Dev Deps] update `aud`, `es-abstract`, `mock-property`, `npmignore` [`b7ac7d1`](https://github.com/ljharb/get-intrinsic/commit/b7ac7d1616fefb03877b1aed0c8f8d61aad32b6c) +- [meta] simplify `exports` [`faa0cc6`](https://github.com/ljharb/get-intrinsic/commit/faa0cc618e2830ffb51a8202490b0c215d965cbc) +- [meta] add missing `engines.node` [`774dd0b`](https://github.com/ljharb/get-intrinsic/commit/774dd0b3e8f741c3f05a6322d124d6087f146af1) +- [Dev Deps] update `tape` [`5828e8e`](https://github.com/ljharb/get-intrinsic/commit/5828e8e4a04e69312e87a36c0ea39428a7a4c3d8) +- [Robustness] use null objects for lookups [`eb9a11f`](https://github.com/ljharb/get-intrinsic/commit/eb9a11fa9eb3e13b193fcc05a7fb814341b1a7b7) +- [meta] add `sideEffects` flag [`89bcc7a`](https://github.com/ljharb/get-intrinsic/commit/89bcc7a42e19bf07b7c21e3094d5ab177109e6d2) + +## [v1.2.2](https://github.com/ljharb/get-intrinsic/compare/v1.2.1...v1.2.2) - 2023-10-20 + +### Commits + +- [Dev Deps] update `@ljharb/eslint-config`, `aud`, `call-bind`, `es-abstract`, `mock-property`, `object-inspect`, `tape` [`f51bcf2`](https://github.com/ljharb/get-intrinsic/commit/f51bcf26412d58d17ce17c91c9afd0ad271f0762) +- [Refactor] use `hasown` instead of `has` [`18d14b7`](https://github.com/ljharb/get-intrinsic/commit/18d14b799bea6b5765e1cec91890830cbcdb0587) +- [Deps] update `function-bind` [`6e109c8`](https://github.com/ljharb/get-intrinsic/commit/6e109c81e03804cc5e7824fb64353cdc3d8ee2c7) + +## [v1.2.1](https://github.com/ljharb/get-intrinsic/compare/v1.2.0...v1.2.1) - 2023-05-13 + +### Commits + +- [Fix] avoid a crash in envs without `__proto__` [`7bad8d0`](https://github.com/ljharb/get-intrinsic/commit/7bad8d061bf8721733b58b73a2565af2b6756b64) +- [Dev Deps] update `es-abstract` [`c60e6b7`](https://github.com/ljharb/get-intrinsic/commit/c60e6b7b4cf9660c7f27ed970970fd55fac48dc5) + +## [v1.2.0](https://github.com/ljharb/get-intrinsic/compare/v1.1.3...v1.2.0) - 2023-01-19 + +### Commits + +- [actions] update checkout action [`ca6b12f`](https://github.com/ljharb/get-intrinsic/commit/ca6b12f31eaacea4ea3b055e744cd61623385ffb) +- [Dev Deps] update `@ljharb/eslint-config`, `es-abstract`, `object-inspect`, `tape` [`41a3727`](https://github.com/ljharb/get-intrinsic/commit/41a3727d0026fa04273ae216a5f8e12eefd72da8) +- [Fix] ensure `Error.prototype` is undeniable [`c511e97`](https://github.com/ljharb/get-intrinsic/commit/c511e97ae99c764c4524b540dee7a70757af8da3) +- [Dev Deps] update `aud`, `es-abstract`, `tape` [`1bef8a8`](https://github.com/ljharb/get-intrinsic/commit/1bef8a8fd439ebb80863199b6189199e0851ac67) +- [Dev Deps] update `aud`, `es-abstract` [`0d41f16`](https://github.com/ljharb/get-intrinsic/commit/0d41f16bcd500bc28b7bfc98043ebf61ea081c26) +- [New] add `BigInt64Array` and `BigUint64Array` [`a6cca25`](https://github.com/ljharb/get-intrinsic/commit/a6cca25f29635889b7e9bd669baf9e04be90e48c) +- [Tests] use `gopd` [`ecf7722`](https://github.com/ljharb/get-intrinsic/commit/ecf7722240d15cfd16edda06acf63359c10fb9bd) + +## [v1.1.3](https://github.com/ljharb/get-intrinsic/compare/v1.1.2...v1.1.3) - 2022-09-12 + +### Commits + +- [Dev Deps] update `es-abstract`, `es-value-fixtures`, `tape` [`07ff291`](https://github.com/ljharb/get-intrinsic/commit/07ff291816406ebe5a12d7f16965bde0942dd688) +- [Fix] properly check for % signs [`50ac176`](https://github.com/ljharb/get-intrinsic/commit/50ac1760fe99c227e64eabde76e9c0e44cd881b5) + +## [v1.1.2](https://github.com/ljharb/get-intrinsic/compare/v1.1.1...v1.1.2) - 2022-06-08 + +### Fixed + +- [Fix] properly validate against extra % signs [`#16`](https://github.com/ljharb/get-intrinsic/issues/16) + +### Commits + +- [actions] reuse common workflows [`0972547`](https://github.com/ljharb/get-intrinsic/commit/0972547efd0abc863fe4c445a6ca7eb4f8c6901d) +- [meta] use `npmignore` to autogenerate an npmignore file [`5ba0b51`](https://github.com/ljharb/get-intrinsic/commit/5ba0b51d8d8d4f1c31d426d74abc0770fd106bad) +- [actions] use `node/install` instead of `node/run`; use `codecov` action [`c364492`](https://github.com/ljharb/get-intrinsic/commit/c364492af4af51333e6f81c0bf21fd3d602c3661) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog`, `es-abstract`, `object-inspect`, `tape` [`dc04dad`](https://github.com/ljharb/get-intrinsic/commit/dc04dad86f6e5608775a2640cb0db5927ae29ed9) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `es-abstract`, `object-inspect`, `safe-publish-latest`, `tape` [`1c14059`](https://github.com/ljharb/get-intrinsic/commit/1c1405984e86dd2dc9366c15d8a0294a96a146a5) +- [Tests] use `mock-property` [`b396ef0`](https://github.com/ljharb/get-intrinsic/commit/b396ef05bb73b1d699811abd64b0d9b97997fdda) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog`, `object-inspect`, `tape` [`c2c758d`](https://github.com/ljharb/get-intrinsic/commit/c2c758d3b90af4fef0a76910d8d3c292ec8d1d3e) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `es-abstract`, `es-value-fixtures`, `object-inspect`, `tape` [`29e3c09`](https://github.com/ljharb/get-intrinsic/commit/29e3c091c2bf3e17099969847e8729d0e46896de) +- [actions] update codecov uploader [`8cbc141`](https://github.com/ljharb/get-intrinsic/commit/8cbc1418940d7a8941f3a7985cbc4ac095c5e13d) +- [Dev Deps] update `@ljharb/eslint-config`, `es-abstract`, `es-value-fixtures`, `object-inspect`, `tape` [`10b6f5c`](https://github.com/ljharb/get-intrinsic/commit/10b6f5c02593fb3680c581d696ac124e30652932) +- [readme] add github actions/codecov badges [`4e25400`](https://github.com/ljharb/get-intrinsic/commit/4e25400d9f51ae9eb059cbe22d9144e70ea214e8) +- [Tests] use `for-each` instead of `foreach` [`c05b957`](https://github.com/ljharb/get-intrinsic/commit/c05b957ad9a7bc7721af7cc9e9be1edbfe057496) +- [Dev Deps] update `es-abstract` [`29b05ae`](https://github.com/ljharb/get-intrinsic/commit/29b05aec3e7330e9ad0b8e0f685a9112c20cdd97) +- [meta] use `prepublishOnly` script for npm 7+ [`95c285d`](https://github.com/ljharb/get-intrinsic/commit/95c285da810516057d3bbfa871176031af38f05d) +- [Deps] update `has-symbols` [`593cb4f`](https://github.com/ljharb/get-intrinsic/commit/593cb4fb38e7922e40e42c183f45274b636424cd) +- [readme] fix repo URLs [`1c8305b`](https://github.com/ljharb/get-intrinsic/commit/1c8305b5365827c9b6fc785434aac0e1328ff2f5) +- [Deps] update `has-symbols` [`c7138b6`](https://github.com/ljharb/get-intrinsic/commit/c7138b6c6d73132d859471fb8c13304e1e7c8b20) +- [Dev Deps] remove unused `has-bigints` [`bd63aff`](https://github.com/ljharb/get-intrinsic/commit/bd63aff6ad8f3a986c557fcda2914187bdaab359) + +## [v1.1.1](https://github.com/ljharb/get-intrinsic/compare/v1.1.0...v1.1.1) - 2021-02-03 + +### Fixed + +- [meta] export `./package.json` [`#9`](https://github.com/ljharb/get-intrinsic/issues/9) + +### Commits + +- [readme] flesh out the readme; use `evalmd` [`d12f12c`](https://github.com/ljharb/get-intrinsic/commit/d12f12c15345a0a0772cc65a7c64369529abd614) +- [eslint] set up proper globals config [`5a8c098`](https://github.com/ljharb/get-intrinsic/commit/5a8c0984e3319d1ac0e64b102f8ec18b64e79f36) +- [Dev Deps] update `eslint` [`7b9a5c0`](https://github.com/ljharb/get-intrinsic/commit/7b9a5c0d31a90ca1a1234181c74988fb046701cd) + +## [v1.1.0](https://github.com/ljharb/get-intrinsic/compare/v1.0.2...v1.1.0) - 2021-01-25 + +### Fixed + +- [Refactor] delay `Function` eval until syntax-derived values are requested [`#3`](https://github.com/ljharb/get-intrinsic/issues/3) + +### Commits + +- [Tests] migrate tests to Github Actions [`2ab762b`](https://github.com/ljharb/get-intrinsic/commit/2ab762b48164aea8af37a40ba105bbc8246ab8c4) +- [meta] do not publish github action workflow files [`5e7108e`](https://github.com/ljharb/get-intrinsic/commit/5e7108e4768b244d48d9567ba4f8a6cab9c65b8e) +- [Tests] add some coverage [`01ac7a8`](https://github.com/ljharb/get-intrinsic/commit/01ac7a87ac29738567e8524cd8c9e026b1fa8cb3) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `call-bind`, `es-abstract`, `tape`; add `call-bind` [`911b672`](https://github.com/ljharb/get-intrinsic/commit/911b672fbffae433a96924c6ce013585e425f4b7) +- [Refactor] rearrange evalled constructors a bit [`7e7e4bf`](https://github.com/ljharb/get-intrinsic/commit/7e7e4bf583f3799c8ac1c6c5e10d2cb553957347) +- [meta] add Automatic Rebase and Require Allow Edits workflows [`0199968`](https://github.com/ljharb/get-intrinsic/commit/01999687a263ffce0a3cb011dfbcb761754aedbc) + +## [v1.0.2](https://github.com/ljharb/get-intrinsic/compare/v1.0.1...v1.0.2) - 2020-12-17 + +### Commits + +- [Fix] Throw for non‑existent intrinsics [`68f873b`](https://github.com/ljharb/get-intrinsic/commit/68f873b013c732a05ad6f5fc54f697e55515461b) +- [Fix] Throw for non‑existent segments in the intrinsic path [`8325dee`](https://github.com/ljharb/get-intrinsic/commit/8325deee43128f3654d3399aa9591741ebe17b21) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `has-bigints`, `object-inspect` [`0c227a7`](https://github.com/ljharb/get-intrinsic/commit/0c227a7d8b629166f25715fd242553892e458525) +- [meta] do not lint coverage output [`70d2419`](https://github.com/ljharb/get-intrinsic/commit/70d24199b620043cd9110fc5f426d214ebe21dc9) + +## [v1.0.1](https://github.com/ljharb/get-intrinsic/compare/v1.0.0...v1.0.1) - 2020-10-30 + +### Commits + +- [Tests] gather coverage data on every job [`d1d280d`](https://github.com/ljharb/get-intrinsic/commit/d1d280dec714e3f0519cc877dbcb193057d9cac6) +- [Fix] add missing dependencies [`5031771`](https://github.com/ljharb/get-intrinsic/commit/5031771bb1095b38be88ce7c41d5de88718e432e) +- [Tests] use `es-value-fixtures` [`af48765`](https://github.com/ljharb/get-intrinsic/commit/af48765a23c5323fb0b6b38dbf00eb5099c7bebc) + +## v1.0.0 - 2020-10-29 + +### Commits + +- Implementation [`bbce57c`](https://github.com/ljharb/get-intrinsic/commit/bbce57c6f33d05b2d8d3efa273ceeb3ee01127bb) +- Tests [`17b4f0d`](https://github.com/ljharb/get-intrinsic/commit/17b4f0d56dea6b4059b56fc30ef3ee4d9500ebc2) +- Initial commit [`3153294`](https://github.com/ljharb/get-intrinsic/commit/31532948de363b0a27dd9fd4649e7b7028ec4b44) +- npm init [`fb326c4`](https://github.com/ljharb/get-intrinsic/commit/fb326c4d2817c8419ec31de1295f06bb268a7902) +- [meta] add Automatic Rebase and Require Allow Edits workflows [`48862fb`](https://github.com/ljharb/get-intrinsic/commit/48862fb2508c8f6a57968e6d08b7c883afc9d550) +- [meta] add `auto-changelog` [`5f28ad0`](https://github.com/ljharb/get-intrinsic/commit/5f28ad019e060a353d8028f9f2591a9cc93074a1) +- [meta] add "funding"; create `FUNDING.yml` [`c2bbdde`](https://github.com/ljharb/get-intrinsic/commit/c2bbddeba73a875be61484ee4680b129a6d4e0a1) +- [Tests] add `npm run lint` [`0a84b98`](https://github.com/ljharb/get-intrinsic/commit/0a84b98b22b7cf7a748666f705b0003a493c35fd) +- Only apps should have lockfiles [`9586c75`](https://github.com/ljharb/get-intrinsic/commit/9586c75866c1ee678e4d5d4dbbdef6997e511b05) diff --git a/dist/node_modules/get-intrinsic/LICENSE b/dist/node_modules/get-intrinsic/LICENSE new file mode 100644 index 00000000..48f05d01 --- /dev/null +++ b/dist/node_modules/get-intrinsic/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Jordan Harband + +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. diff --git a/dist/node_modules/get-intrinsic/README.md b/dist/node_modules/get-intrinsic/README.md new file mode 100644 index 00000000..3aa0bba4 --- /dev/null +++ b/dist/node_modules/get-intrinsic/README.md @@ -0,0 +1,71 @@ +# get-intrinsic [![Version Badge][npm-version-svg]][package-url] + +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] +[![dependency status][deps-svg]][deps-url] +[![dev dependency status][dev-deps-svg]][dev-deps-url] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][npm-badge-png]][package-url] + +Get and robustly cache all JS language-level intrinsics at first require time. + +See the syntax described [in the JS spec](https://tc39.es/ecma262/#sec-well-known-intrinsic-objects) for reference. + +## Example + +```js +var GetIntrinsic = require('get-intrinsic'); +var assert = require('assert'); + +// static methods +assert.equal(GetIntrinsic('%Math.pow%'), Math.pow); +assert.equal(Math.pow(2, 3), 8); +assert.equal(GetIntrinsic('%Math.pow%')(2, 3), 8); +delete Math.pow; +assert.equal(GetIntrinsic('%Math.pow%')(2, 3), 8); + +// instance methods +var arr = [1]; +assert.equal(GetIntrinsic('%Array.prototype.push%'), Array.prototype.push); +assert.deepEqual(arr, [1]); + +arr.push(2); +assert.deepEqual(arr, [1, 2]); + +GetIntrinsic('%Array.prototype.push%').call(arr, 3); +assert.deepEqual(arr, [1, 2, 3]); + +delete Array.prototype.push; +GetIntrinsic('%Array.prototype.push%').call(arr, 4); +assert.deepEqual(arr, [1, 2, 3, 4]); + +// missing features +delete JSON.parse; // to simulate a real intrinsic that is missing in the environment +assert.throws(() => GetIntrinsic('%JSON.parse%')); +assert.equal(undefined, GetIntrinsic('%JSON.parse%', true)); +``` + +## Tests +Simply clone the repo, `npm install`, and run `npm test` + +## Security + +Please email [@ljharb](https://github.com/ljharb) or see https://tidelift.com/security if you have a potential security vulnerability to report. + +[package-url]: https://npmjs.org/package/get-intrinsic +[npm-version-svg]: https://versionbadg.es/ljharb/get-intrinsic.svg +[deps-svg]: https://david-dm.org/ljharb/get-intrinsic.svg +[deps-url]: https://david-dm.org/ljharb/get-intrinsic +[dev-deps-svg]: https://david-dm.org/ljharb/get-intrinsic/dev-status.svg +[dev-deps-url]: https://david-dm.org/ljharb/get-intrinsic#info=devDependencies +[npm-badge-png]: https://nodei.co/npm/get-intrinsic.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/get-intrinsic.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/get-intrinsic.svg +[downloads-url]: https://npm-stat.com/charts.html?package=get-intrinsic +[codecov-image]: https://codecov.io/gh/ljharb/get-intrinsic/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/ljharb/get-intrinsic/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/get-intrinsic +[actions-url]: https://github.com/ljharb/get-intrinsic/actions diff --git a/dist/node_modules/get-intrinsic/index.js b/dist/node_modules/get-intrinsic/index.js new file mode 100644 index 00000000..bd1d94b7 --- /dev/null +++ b/dist/node_modules/get-intrinsic/index.js @@ -0,0 +1,378 @@ +'use strict'; + +var undefined; + +var $Object = require('es-object-atoms'); + +var $Error = require('es-errors'); +var $EvalError = require('es-errors/eval'); +var $RangeError = require('es-errors/range'); +var $ReferenceError = require('es-errors/ref'); +var $SyntaxError = require('es-errors/syntax'); +var $TypeError = require('es-errors/type'); +var $URIError = require('es-errors/uri'); + +var abs = require('math-intrinsics/abs'); +var floor = require('math-intrinsics/floor'); +var max = require('math-intrinsics/max'); +var min = require('math-intrinsics/min'); +var pow = require('math-intrinsics/pow'); +var round = require('math-intrinsics/round'); +var sign = require('math-intrinsics/sign'); + +var $Function = Function; + +// eslint-disable-next-line consistent-return +var getEvalledConstructor = function (expressionSyntax) { + try { + return $Function('"use strict"; return (' + expressionSyntax + ').constructor;')(); + } catch (e) {} +}; + +var $gOPD = require('gopd'); +var $defineProperty = require('es-define-property'); + +var throwTypeError = function () { + throw new $TypeError(); +}; +var ThrowTypeError = $gOPD + ? (function () { + try { + // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties + arguments.callee; // IE 8 does not throw here + return throwTypeError; + } catch (calleeThrows) { + try { + // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '') + return $gOPD(arguments, 'callee').get; + } catch (gOPDthrows) { + return throwTypeError; + } + } + }()) + : throwTypeError; + +var hasSymbols = require('has-symbols')(); + +var getProto = require('get-proto'); +var $ObjectGPO = require('get-proto/Object.getPrototypeOf'); +var $ReflectGPO = require('get-proto/Reflect.getPrototypeOf'); + +var $apply = require('call-bind-apply-helpers/functionApply'); +var $call = require('call-bind-apply-helpers/functionCall'); + +var needsEval = {}; + +var TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array); + +var INTRINSICS = { + __proto__: null, + '%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError, + '%Array%': Array, + '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer, + '%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined, + '%AsyncFromSyncIteratorPrototype%': undefined, + '%AsyncFunction%': needsEval, + '%AsyncGenerator%': needsEval, + '%AsyncGeneratorFunction%': needsEval, + '%AsyncIteratorPrototype%': needsEval, + '%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics, + '%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt, + '%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array, + '%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array, + '%Boolean%': Boolean, + '%DataView%': typeof DataView === 'undefined' ? undefined : DataView, + '%Date%': Date, + '%decodeURI%': decodeURI, + '%decodeURIComponent%': decodeURIComponent, + '%encodeURI%': encodeURI, + '%encodeURIComponent%': encodeURIComponent, + '%Error%': $Error, + '%eval%': eval, // eslint-disable-line no-eval + '%EvalError%': $EvalError, + '%Float16Array%': typeof Float16Array === 'undefined' ? undefined : Float16Array, + '%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array, + '%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array, + '%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry, + '%Function%': $Function, + '%GeneratorFunction%': needsEval, + '%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array, + '%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array, + '%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array, + '%isFinite%': isFinite, + '%isNaN%': isNaN, + '%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined, + '%JSON%': typeof JSON === 'object' ? JSON : undefined, + '%Map%': typeof Map === 'undefined' ? undefined : Map, + '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()), + '%Math%': Math, + '%Number%': Number, + '%Object%': $Object, + '%Object.getOwnPropertyDescriptor%': $gOPD, + '%parseFloat%': parseFloat, + '%parseInt%': parseInt, + '%Promise%': typeof Promise === 'undefined' ? undefined : Promise, + '%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy, + '%RangeError%': $RangeError, + '%ReferenceError%': $ReferenceError, + '%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect, + '%RegExp%': RegExp, + '%Set%': typeof Set === 'undefined' ? undefined : Set, + '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()), + '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer, + '%String%': String, + '%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined, + '%Symbol%': hasSymbols ? Symbol : undefined, + '%SyntaxError%': $SyntaxError, + '%ThrowTypeError%': ThrowTypeError, + '%TypedArray%': TypedArray, + '%TypeError%': $TypeError, + '%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array, + '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray, + '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array, + '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array, + '%URIError%': $URIError, + '%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap, + '%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef, + '%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet, + + '%Function.prototype.call%': $call, + '%Function.prototype.apply%': $apply, + '%Object.defineProperty%': $defineProperty, + '%Object.getPrototypeOf%': $ObjectGPO, + '%Math.abs%': abs, + '%Math.floor%': floor, + '%Math.max%': max, + '%Math.min%': min, + '%Math.pow%': pow, + '%Math.round%': round, + '%Math.sign%': sign, + '%Reflect.getPrototypeOf%': $ReflectGPO +}; + +if (getProto) { + try { + null.error; // eslint-disable-line no-unused-expressions + } catch (e) { + // https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229 + var errorProto = getProto(getProto(e)); + INTRINSICS['%Error.prototype%'] = errorProto; + } +} + +var doEval = function doEval(name) { + var value; + if (name === '%AsyncFunction%') { + value = getEvalledConstructor('async function () {}'); + } else if (name === '%GeneratorFunction%') { + value = getEvalledConstructor('function* () {}'); + } else if (name === '%AsyncGeneratorFunction%') { + value = getEvalledConstructor('async function* () {}'); + } else if (name === '%AsyncGenerator%') { + var fn = doEval('%AsyncGeneratorFunction%'); + if (fn) { + value = fn.prototype; + } + } else if (name === '%AsyncIteratorPrototype%') { + var gen = doEval('%AsyncGenerator%'); + if (gen && getProto) { + value = getProto(gen.prototype); + } + } + + INTRINSICS[name] = value; + + return value; +}; + +var LEGACY_ALIASES = { + __proto__: null, + '%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'], + '%ArrayPrototype%': ['Array', 'prototype'], + '%ArrayProto_entries%': ['Array', 'prototype', 'entries'], + '%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'], + '%ArrayProto_keys%': ['Array', 'prototype', 'keys'], + '%ArrayProto_values%': ['Array', 'prototype', 'values'], + '%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'], + '%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'], + '%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'], + '%BooleanPrototype%': ['Boolean', 'prototype'], + '%DataViewPrototype%': ['DataView', 'prototype'], + '%DatePrototype%': ['Date', 'prototype'], + '%ErrorPrototype%': ['Error', 'prototype'], + '%EvalErrorPrototype%': ['EvalError', 'prototype'], + '%Float32ArrayPrototype%': ['Float32Array', 'prototype'], + '%Float64ArrayPrototype%': ['Float64Array', 'prototype'], + '%FunctionPrototype%': ['Function', 'prototype'], + '%Generator%': ['GeneratorFunction', 'prototype'], + '%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'], + '%Int8ArrayPrototype%': ['Int8Array', 'prototype'], + '%Int16ArrayPrototype%': ['Int16Array', 'prototype'], + '%Int32ArrayPrototype%': ['Int32Array', 'prototype'], + '%JSONParse%': ['JSON', 'parse'], + '%JSONStringify%': ['JSON', 'stringify'], + '%MapPrototype%': ['Map', 'prototype'], + '%NumberPrototype%': ['Number', 'prototype'], + '%ObjectPrototype%': ['Object', 'prototype'], + '%ObjProto_toString%': ['Object', 'prototype', 'toString'], + '%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'], + '%PromisePrototype%': ['Promise', 'prototype'], + '%PromiseProto_then%': ['Promise', 'prototype', 'then'], + '%Promise_all%': ['Promise', 'all'], + '%Promise_reject%': ['Promise', 'reject'], + '%Promise_resolve%': ['Promise', 'resolve'], + '%RangeErrorPrototype%': ['RangeError', 'prototype'], + '%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'], + '%RegExpPrototype%': ['RegExp', 'prototype'], + '%SetPrototype%': ['Set', 'prototype'], + '%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'], + '%StringPrototype%': ['String', 'prototype'], + '%SymbolPrototype%': ['Symbol', 'prototype'], + '%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'], + '%TypedArrayPrototype%': ['TypedArray', 'prototype'], + '%TypeErrorPrototype%': ['TypeError', 'prototype'], + '%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'], + '%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'], + '%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'], + '%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'], + '%URIErrorPrototype%': ['URIError', 'prototype'], + '%WeakMapPrototype%': ['WeakMap', 'prototype'], + '%WeakSetPrototype%': ['WeakSet', 'prototype'] +}; + +var bind = require('function-bind'); +var hasOwn = require('hasown'); +var $concat = bind.call($call, Array.prototype.concat); +var $spliceApply = bind.call($apply, Array.prototype.splice); +var $replace = bind.call($call, String.prototype.replace); +var $strSlice = bind.call($call, String.prototype.slice); +var $exec = bind.call($call, RegExp.prototype.exec); + +/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */ +var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g; +var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */ +var stringToPath = function stringToPath(string) { + var first = $strSlice(string, 0, 1); + var last = $strSlice(string, -1); + if (first === '%' && last !== '%') { + throw new $SyntaxError('invalid intrinsic syntax, expected closing `%`'); + } else if (last === '%' && first !== '%') { + throw new $SyntaxError('invalid intrinsic syntax, expected opening `%`'); + } + var result = []; + $replace(string, rePropName, function (match, number, quote, subString) { + result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match; + }); + return result; +}; +/* end adaptation */ + +var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) { + var intrinsicName = name; + var alias; + if (hasOwn(LEGACY_ALIASES, intrinsicName)) { + alias = LEGACY_ALIASES[intrinsicName]; + intrinsicName = '%' + alias[0] + '%'; + } + + if (hasOwn(INTRINSICS, intrinsicName)) { + var value = INTRINSICS[intrinsicName]; + if (value === needsEval) { + value = doEval(intrinsicName); + } + if (typeof value === 'undefined' && !allowMissing) { + throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!'); + } + + return { + alias: alias, + name: intrinsicName, + value: value + }; + } + + throw new $SyntaxError('intrinsic ' + name + ' does not exist!'); +}; + +module.exports = function GetIntrinsic(name, allowMissing) { + if (typeof name !== 'string' || name.length === 0) { + throw new $TypeError('intrinsic name must be a non-empty string'); + } + if (arguments.length > 1 && typeof allowMissing !== 'boolean') { + throw new $TypeError('"allowMissing" argument must be a boolean'); + } + + if ($exec(/^%?[^%]*%?$/, name) === null) { + throw new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name'); + } + var parts = stringToPath(name); + var intrinsicBaseName = parts.length > 0 ? parts[0] : ''; + + var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing); + var intrinsicRealName = intrinsic.name; + var value = intrinsic.value; + var skipFurtherCaching = false; + + var alias = intrinsic.alias; + if (alias) { + intrinsicBaseName = alias[0]; + $spliceApply(parts, $concat([0, 1], alias)); + } + + for (var i = 1, isOwn = true; i < parts.length; i += 1) { + var part = parts[i]; + var first = $strSlice(part, 0, 1); + var last = $strSlice(part, -1); + if ( + ( + (first === '"' || first === "'" || first === '`') + || (last === '"' || last === "'" || last === '`') + ) + && first !== last + ) { + throw new $SyntaxError('property names with quotes must have matching quotes'); + } + if (part === 'constructor' || !isOwn) { + skipFurtherCaching = true; + } + + intrinsicBaseName += '.' + part; + intrinsicRealName = '%' + intrinsicBaseName + '%'; + + if (hasOwn(INTRINSICS, intrinsicRealName)) { + value = INTRINSICS[intrinsicRealName]; + } else if (value != null) { + if (!(part in value)) { + if (!allowMissing) { + throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.'); + } + return void undefined; + } + if ($gOPD && (i + 1) >= parts.length) { + var desc = $gOPD(value, part); + isOwn = !!desc; + + // By convention, when a data property is converted to an accessor + // property to emulate a data property that does not suffer from + // the override mistake, that accessor's getter is marked with + // an `originalValue` property. Here, when we detect this, we + // uphold the illusion by pretending to see that original data + // property, i.e., returning the value rather than the getter + // itself. + if (isOwn && 'get' in desc && !('originalValue' in desc.get)) { + value = desc.get; + } else { + value = value[part]; + } + } else { + isOwn = hasOwn(value, part); + value = value[part]; + } + + if (isOwn && !skipFurtherCaching) { + INTRINSICS[intrinsicRealName] = value; + } + } + } + return value; +}; diff --git a/dist/node_modules/get-intrinsic/package.json b/dist/node_modules/get-intrinsic/package.json new file mode 100644 index 00000000..2828e736 --- /dev/null +++ b/dist/node_modules/get-intrinsic/package.json @@ -0,0 +1,97 @@ +{ + "name": "get-intrinsic", + "version": "1.3.0", + "description": "Get and robustly cache all JS language-level intrinsics at first require time", + "main": "index.js", + "exports": { + ".": "./index.js", + "./package.json": "./package.json" + }, + "sideEffects": false, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepublishOnly": "safe-publish-latest", + "prelint": "evalmd README.md", + "lint": "eslint --ext=.js,.mjs .", + "pretest": "npm run lint", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "npx npm@'>= 10.2' audit --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/get-intrinsic.git" + }, + "keywords": [ + "javascript", + "ecmascript", + "es", + "js", + "intrinsic", + "getintrinsic", + "es-abstract" + ], + "author": "Jordan Harband ", + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/get-intrinsic/issues" + }, + "homepage": "https://github.com/ljharb/get-intrinsic#readme", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "devDependencies": { + "@ljharb/eslint-config": "^21.1.1", + "auto-changelog": "^2.5.0", + "call-bound": "^1.0.3", + "encoding": "^0.1.13", + "es-abstract": "^1.23.9", + "es-value-fixtures": "^1.7.1", + "eslint": "=8.8.0", + "evalmd": "^0.0.19", + "for-each": "^0.3.5", + "make-async-function": "^1.0.0", + "make-async-generator-function": "^1.0.0", + "make-generator-function": "^2.0.0", + "mock-property": "^1.1.0", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "object-inspect": "^1.13.4", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "testling": { + "files": "test/GetIntrinsic.js" + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "engines": { + "node": ">= 0.4" + } +} diff --git a/dist/node_modules/get-intrinsic/test/GetIntrinsic.js b/dist/node_modules/get-intrinsic/test/GetIntrinsic.js new file mode 100644 index 00000000..d9c0f30a --- /dev/null +++ b/dist/node_modules/get-intrinsic/test/GetIntrinsic.js @@ -0,0 +1,274 @@ +'use strict'; + +var GetIntrinsic = require('../'); + +var test = require('tape'); +var forEach = require('for-each'); +var debug = require('object-inspect'); +var generatorFns = require('make-generator-function')(); +var asyncFns = require('make-async-function').list(); +var asyncGenFns = require('make-async-generator-function')(); +var mockProperty = require('mock-property'); + +var callBound = require('call-bound'); +var v = require('es-value-fixtures'); +var $gOPD = require('gopd'); +var DefinePropertyOrThrow = require('es-abstract/2023/DefinePropertyOrThrow'); + +var $isProto = callBound('%Object.prototype.isPrototypeOf%'); + +test('export', function (t) { + t.equal(typeof GetIntrinsic, 'function', 'it is a function'); + t.equal(GetIntrinsic.length, 2, 'function has length of 2'); + + t.end(); +}); + +test('throws', function (t) { + t['throws']( + function () { GetIntrinsic('not an intrinsic'); }, + SyntaxError, + 'nonexistent intrinsic throws a syntax error' + ); + + t['throws']( + function () { GetIntrinsic(''); }, + TypeError, + 'empty string intrinsic throws a type error' + ); + + t['throws']( + function () { GetIntrinsic('.'); }, + SyntaxError, + '"just a dot" intrinsic throws a syntax error' + ); + + t['throws']( + function () { GetIntrinsic('%String'); }, + SyntaxError, + 'Leading % without trailing % throws a syntax error' + ); + + t['throws']( + function () { GetIntrinsic('String%'); }, + SyntaxError, + 'Trailing % without leading % throws a syntax error' + ); + + t['throws']( + function () { GetIntrinsic("String['prototype]"); }, + SyntaxError, + 'Dynamic property access is disallowed for intrinsics (unterminated string)' + ); + + t['throws']( + function () { GetIntrinsic('%Proxy.prototype.undefined%'); }, + TypeError, + "Throws when middle part doesn't exist (%Proxy.prototype.undefined%)" + ); + + t['throws']( + function () { GetIntrinsic('%Array.prototype%garbage%'); }, + SyntaxError, + 'Throws with extra percent signs' + ); + + t['throws']( + function () { GetIntrinsic('%Array.prototype%push%'); }, + SyntaxError, + 'Throws with extra percent signs, even on an existing intrinsic' + ); + + forEach(v.nonStrings, function (nonString) { + t['throws']( + function () { GetIntrinsic(nonString); }, + TypeError, + debug(nonString) + ' is not a String' + ); + }); + + forEach(v.nonBooleans, function (nonBoolean) { + t['throws']( + function () { GetIntrinsic('%', nonBoolean); }, + TypeError, + debug(nonBoolean) + ' is not a Boolean' + ); + }); + + forEach([ + 'toString', + 'propertyIsEnumerable', + 'hasOwnProperty' + ], function (objectProtoMember) { + t['throws']( + function () { GetIntrinsic(objectProtoMember); }, + SyntaxError, + debug(objectProtoMember) + ' is not an intrinsic' + ); + }); + + t.end(); +}); + +test('base intrinsics', function (t) { + t.equal(GetIntrinsic('%Object%'), Object, '%Object% yields Object'); + t.equal(GetIntrinsic('Object'), Object, 'Object yields Object'); + t.equal(GetIntrinsic('%Array%'), Array, '%Array% yields Array'); + t.equal(GetIntrinsic('Array'), Array, 'Array yields Array'); + + t.end(); +}); + +test('dotted paths', function (t) { + t.equal(GetIntrinsic('%Object.prototype.toString%'), Object.prototype.toString, '%Object.prototype.toString% yields Object.prototype.toString'); + t.equal(GetIntrinsic('Object.prototype.toString'), Object.prototype.toString, 'Object.prototype.toString yields Object.prototype.toString'); + t.equal(GetIntrinsic('%Array.prototype.push%'), Array.prototype.push, '%Array.prototype.push% yields Array.prototype.push'); + t.equal(GetIntrinsic('Array.prototype.push'), Array.prototype.push, 'Array.prototype.push yields Array.prototype.push'); + + test('underscore paths are aliases for dotted paths', { skip: !Object.isFrozen || Object.isFrozen(Object.prototype) }, function (st) { + var original = GetIntrinsic('%ObjProto_toString%'); + + forEach([ + '%Object.prototype.toString%', + 'Object.prototype.toString', + '%ObjectPrototype.toString%', + 'ObjectPrototype.toString', + '%ObjProto_toString%', + 'ObjProto_toString' + ], function (name) { + DefinePropertyOrThrow(Object.prototype, 'toString', { + '[[Value]]': function toString() { + return original.apply(this, arguments); + } + }); + st.equal(GetIntrinsic(name), original, name + ' yields original Object.prototype.toString'); + }); + + DefinePropertyOrThrow(Object.prototype, 'toString', { '[[Value]]': original }); + st.end(); + }); + + test('dotted paths cache', { skip: !Object.isFrozen || Object.isFrozen(Object.prototype) }, function (st) { + var original = GetIntrinsic('%Object.prototype.propertyIsEnumerable%'); + + forEach([ + '%Object.prototype.propertyIsEnumerable%', + 'Object.prototype.propertyIsEnumerable', + '%ObjectPrototype.propertyIsEnumerable%', + 'ObjectPrototype.propertyIsEnumerable' + ], function (name) { + var restore = mockProperty(Object.prototype, 'propertyIsEnumerable', { + value: function propertyIsEnumerable() { + return original.apply(this, arguments); + } + }); + st.equal(GetIntrinsic(name), original, name + ' yields cached Object.prototype.propertyIsEnumerable'); + + restore(); + }); + + st.end(); + }); + + test('dotted path reports correct error', function (st) { + st['throws'](function () { + GetIntrinsic('%NonExistentIntrinsic.prototype.property%'); + }, /%NonExistentIntrinsic%/, 'The base intrinsic of %NonExistentIntrinsic.prototype.property% is %NonExistentIntrinsic%'); + + st['throws'](function () { + GetIntrinsic('%NonExistentIntrinsicPrototype.property%'); + }, /%NonExistentIntrinsicPrototype%/, 'The base intrinsic of %NonExistentIntrinsicPrototype.property% is %NonExistentIntrinsicPrototype%'); + + st.end(); + }); + + t.end(); +}); + +test('accessors', { skip: !$gOPD || typeof Map !== 'function' }, function (t) { + var actual = $gOPD(Map.prototype, 'size'); + t.ok(actual, 'Map.prototype.size has a descriptor'); + t.equal(typeof actual.get, 'function', 'Map.prototype.size has a getter function'); + t.equal(GetIntrinsic('%Map.prototype.size%'), actual.get, '%Map.prototype.size% yields the getter for it'); + t.equal(GetIntrinsic('Map.prototype.size'), actual.get, 'Map.prototype.size yields the getter for it'); + + t.end(); +}); + +test('generator functions', { skip: !generatorFns.length }, function (t) { + var $GeneratorFunction = GetIntrinsic('%GeneratorFunction%'); + var $GeneratorFunctionPrototype = GetIntrinsic('%Generator%'); + var $GeneratorPrototype = GetIntrinsic('%GeneratorPrototype%'); + + forEach(generatorFns, function (genFn) { + var fnName = genFn.name; + fnName = fnName ? "'" + fnName + "'" : 'genFn'; + + t.ok(genFn instanceof $GeneratorFunction, fnName + ' instanceof %GeneratorFunction%'); + t.ok($isProto($GeneratorFunctionPrototype, genFn), '%Generator% is prototype of ' + fnName); + t.ok($isProto($GeneratorPrototype, genFn.prototype), '%GeneratorPrototype% is prototype of ' + fnName + '.prototype'); + }); + + t.end(); +}); + +test('async functions', { skip: !asyncFns.length }, function (t) { + var $AsyncFunction = GetIntrinsic('%AsyncFunction%'); + var $AsyncFunctionPrototype = GetIntrinsic('%AsyncFunctionPrototype%'); + + forEach(asyncFns, function (asyncFn) { + var fnName = asyncFn.name; + fnName = fnName ? "'" + fnName + "'" : 'asyncFn'; + + t.ok(asyncFn instanceof $AsyncFunction, fnName + ' instanceof %AsyncFunction%'); + t.ok($isProto($AsyncFunctionPrototype, asyncFn), '%AsyncFunctionPrototype% is prototype of ' + fnName); + }); + + t.end(); +}); + +test('async generator functions', { skip: asyncGenFns.length === 0 }, function (t) { + var $AsyncGeneratorFunction = GetIntrinsic('%AsyncGeneratorFunction%'); + var $AsyncGeneratorFunctionPrototype = GetIntrinsic('%AsyncGenerator%'); + var $AsyncGeneratorPrototype = GetIntrinsic('%AsyncGeneratorPrototype%'); + + forEach(asyncGenFns, function (asyncGenFn) { + var fnName = asyncGenFn.name; + fnName = fnName ? "'" + fnName + "'" : 'asyncGenFn'; + + t.ok(asyncGenFn instanceof $AsyncGeneratorFunction, fnName + ' instanceof %AsyncGeneratorFunction%'); + t.ok($isProto($AsyncGeneratorFunctionPrototype, asyncGenFn), '%AsyncGenerator% is prototype of ' + fnName); + t.ok($isProto($AsyncGeneratorPrototype, asyncGenFn.prototype), '%AsyncGeneratorPrototype% is prototype of ' + fnName + '.prototype'); + }); + + t.end(); +}); + +test('%ThrowTypeError%', function (t) { + var $ThrowTypeError = GetIntrinsic('%ThrowTypeError%'); + + t.equal(typeof $ThrowTypeError, 'function', 'is a function'); + t['throws']( + $ThrowTypeError, + TypeError, + '%ThrowTypeError% throws a TypeError' + ); + + t.end(); +}); + +test('allowMissing', { skip: asyncGenFns.length > 0 }, function (t) { + t['throws']( + function () { GetIntrinsic('%AsyncGeneratorPrototype%'); }, + TypeError, + 'throws when missing' + ); + + t.equal( + GetIntrinsic('%AsyncGeneratorPrototype%', true), + undefined, + 'does not throw when allowMissing' + ); + + t.end(); +}); diff --git a/dist/node_modules/get-proto/.eslintrc b/dist/node_modules/get-proto/.eslintrc new file mode 100644 index 00000000..1d21a8ae --- /dev/null +++ b/dist/node_modules/get-proto/.eslintrc @@ -0,0 +1,10 @@ +{ + "root": true, + + "extends": "@ljharb", + + "rules": { + "id-length": "off", + "sort-keys": "off", + }, +} diff --git a/dist/node_modules/get-proto/.github/FUNDING.yml b/dist/node_modules/get-proto/.github/FUNDING.yml new file mode 100644 index 00000000..93183ef5 --- /dev/null +++ b/dist/node_modules/get-proto/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: [ljharb] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: npm/get-proto +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/dist/node_modules/get-proto/.nycrc b/dist/node_modules/get-proto/.nycrc new file mode 100644 index 00000000..bdd626ce --- /dev/null +++ b/dist/node_modules/get-proto/.nycrc @@ -0,0 +1,9 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "exclude": [ + "coverage", + "test" + ] +} diff --git a/dist/node_modules/get-proto/CHANGELOG.md b/dist/node_modules/get-proto/CHANGELOG.md new file mode 100644 index 00000000..58602293 --- /dev/null +++ b/dist/node_modules/get-proto/CHANGELOG.md @@ -0,0 +1,21 @@ +# 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.0.1](https://github.com/ljharb/get-proto/compare/v1.0.0...v1.0.1) - 2025-01-02 + +### Commits + +- [Fix] for the `Object.getPrototypeOf` window, throw for non-objects [`7fe6508`](https://github.com/ljharb/get-proto/commit/7fe6508b71419ebe1976bedb86001d1feaeaa49a) + +## v1.0.0 - 2025-01-01 + +### Commits + +- Initial implementation, tests, readme, types [`5c70775`](https://github.com/ljharb/get-proto/commit/5c707751e81c3deeb2cf980d185fc7fd43611415) +- Initial commit [`7c65c2a`](https://github.com/ljharb/get-proto/commit/7c65c2ad4e33d5dae2f219ebe1a046ae2256972c) +- npm init [`0b8cf82`](https://github.com/ljharb/get-proto/commit/0b8cf824c9634e4a34ef7dd2a2cdc5be6ac79518) +- Only apps should have lockfiles [`a6d1bff`](https://github.com/ljharb/get-proto/commit/a6d1bffc364f5828377cea7194558b2dbef7aea2) diff --git a/dist/node_modules/get-proto/LICENSE b/dist/node_modules/get-proto/LICENSE new file mode 100644 index 00000000..eeabd1c3 --- /dev/null +++ b/dist/node_modules/get-proto/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 Jordan Harband + +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. diff --git a/dist/node_modules/get-proto/Object.getPrototypeOf.d.ts b/dist/node_modules/get-proto/Object.getPrototypeOf.d.ts new file mode 100644 index 00000000..028b3ff1 --- /dev/null +++ b/dist/node_modules/get-proto/Object.getPrototypeOf.d.ts @@ -0,0 +1,5 @@ +declare function getProto(object: O): object | null; + +declare const x: typeof getProto | null; + +export = x; \ No newline at end of file diff --git a/dist/node_modules/get-proto/Object.getPrototypeOf.js b/dist/node_modules/get-proto/Object.getPrototypeOf.js new file mode 100644 index 00000000..c2cbbdfc --- /dev/null +++ b/dist/node_modules/get-proto/Object.getPrototypeOf.js @@ -0,0 +1,6 @@ +'use strict'; + +var $Object = require('es-object-atoms'); + +/** @type {import('./Object.getPrototypeOf')} */ +module.exports = $Object.getPrototypeOf || null; diff --git a/dist/node_modules/get-proto/README.md b/dist/node_modules/get-proto/README.md new file mode 100644 index 00000000..f8b4cce3 --- /dev/null +++ b/dist/node_modules/get-proto/README.md @@ -0,0 +1,50 @@ +# get-proto [![Version Badge][npm-version-svg]][package-url] + +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][npm-badge-png]][package-url] + +Robustly get the [[Prototype]] of an object. Uses the best available method. + +## Getting started + +```sh +npm install --save get-proto +``` + +## Usage/Examples + +```js +const assert = require('assert'); +const getProto = require('get-proto'); + +const a = { a: 1, b: 2, [Symbol.toStringTag]: 'foo' }; +const b = { c: 3, __proto__: a }; + +assert.equal(getProto(b), a); +assert.equal(getProto(a), Object.prototype); +assert.equal(getProto({ __proto__: null }), null); +``` + +## Tests + +Clone the repo, `npm install`, and run `npm test` + +[package-url]: https://npmjs.org/package/get-proto +[npm-version-svg]: https://versionbadg.es/ljharb/get-proto.svg +[deps-svg]: https://david-dm.org/ljharb/get-proto.svg +[deps-url]: https://david-dm.org/ljharb/get-proto +[dev-deps-svg]: https://david-dm.org/ljharb/get-proto/dev-status.svg +[dev-deps-url]: https://david-dm.org/ljharb/get-proto#info=devDependencies +[npm-badge-png]: https://nodei.co/npm/get-proto.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/get-proto.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/get-proto.svg +[downloads-url]: https://npm-stat.com/charts.html?package=get-proto +[codecov-image]: https://codecov.io/gh/ljharb/get-proto/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/ljharb/get-proto/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/get-proto +[actions-url]: https://github.com/ljharb/get-proto/actions diff --git a/dist/node_modules/get-proto/Reflect.getPrototypeOf.d.ts b/dist/node_modules/get-proto/Reflect.getPrototypeOf.d.ts new file mode 100644 index 00000000..2388fe07 --- /dev/null +++ b/dist/node_modules/get-proto/Reflect.getPrototypeOf.d.ts @@ -0,0 +1,3 @@ +declare const x: typeof Reflect.getPrototypeOf | null; + +export = x; \ No newline at end of file diff --git a/dist/node_modules/get-proto/Reflect.getPrototypeOf.js b/dist/node_modules/get-proto/Reflect.getPrototypeOf.js new file mode 100644 index 00000000..e6c51bee --- /dev/null +++ b/dist/node_modules/get-proto/Reflect.getPrototypeOf.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./Reflect.getPrototypeOf')} */ +module.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null; diff --git a/dist/node_modules/get-proto/index.d.ts b/dist/node_modules/get-proto/index.d.ts new file mode 100644 index 00000000..2c021f30 --- /dev/null +++ b/dist/node_modules/get-proto/index.d.ts @@ -0,0 +1,5 @@ +declare function getProto(object: O): object | null; + +declare const x: typeof getProto | null; + +export = x; diff --git a/dist/node_modules/get-proto/index.js b/dist/node_modules/get-proto/index.js new file mode 100644 index 00000000..7e5747be --- /dev/null +++ b/dist/node_modules/get-proto/index.js @@ -0,0 +1,27 @@ +'use strict'; + +var reflectGetProto = require('./Reflect.getPrototypeOf'); +var originalGetProto = require('./Object.getPrototypeOf'); + +var getDunderProto = require('dunder-proto/get'); + +/** @type {import('.')} */ +module.exports = reflectGetProto + ? function getProto(O) { + // @ts-expect-error TS can't narrow inside a closure, for some reason + return reflectGetProto(O); + } + : originalGetProto + ? function getProto(O) { + if (!O || (typeof O !== 'object' && typeof O !== 'function')) { + throw new TypeError('getProto: not an object'); + } + // @ts-expect-error TS can't narrow inside a closure, for some reason + return originalGetProto(O); + } + : getDunderProto + ? function getProto(O) { + // @ts-expect-error TS can't narrow inside a closure, for some reason + return getDunderProto(O); + } + : null; diff --git a/dist/node_modules/get-proto/package.json b/dist/node_modules/get-proto/package.json new file mode 100644 index 00000000..9c35cec9 --- /dev/null +++ b/dist/node_modules/get-proto/package.json @@ -0,0 +1,81 @@ +{ + "name": "get-proto", + "version": "1.0.1", + "description": "Robustly get the [[Prototype]] of an object", + "main": "index.js", + "exports": { + ".": "./index.js", + "./Reflect.getPrototypeOf": "./Reflect.getPrototypeOf.js", + "./Object.getPrototypeOf": "./Object.getPrototypeOf.js", + "./package.json": "./package.json" + }, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepublishOnly": "safe-publish-latest", + "pretest": "npm run --silent lint", + "test": "npm run tests-only", + "posttest": "npx npm@\">=10.2\" audit --production", + "tests-only": "nyc tape 'test/**/*.js'", + "prelint": "evalmd README.md", + "lint": "eslint --ext=js,mjs .", + "postlint": "tsc && attw -P", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/get-proto.git" + }, + "keywords": [ + "get", + "proto", + "prototype", + "getPrototypeOf", + "[[Prototype]]" + ], + "author": "Jordan Harband ", + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/get-proto/issues" + }, + "homepage": "https://github.com/ljharb/get-proto#readme", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "devDependencies": { + "@arethetypeswrong/cli": "^0.17.2", + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.2.3", + "@types/tape": "^5.8.0", + "auto-changelog": "^2.5.0", + "eslint": "=8.8.0", + "evalmd": "^0.0.19", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "engines": { + "node": ">= 0.4" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "testling": { + "files": "test/index.js" + } +} diff --git a/dist/node_modules/get-proto/test/index.js b/dist/node_modules/get-proto/test/index.js new file mode 100644 index 00000000..5a2ece25 --- /dev/null +++ b/dist/node_modules/get-proto/test/index.js @@ -0,0 +1,68 @@ +'use strict'; + +var test = require('tape'); + +var getProto = require('../'); + +test('getProto', function (t) { + t.equal(typeof getProto, 'function', 'is a function'); + + t.test('can get', { skip: !getProto }, function (st) { + if (getProto) { // TS doesn't understand tape's skip + var proto = { b: 2 }; + st.equal(getProto(proto), Object.prototype, 'proto: returns the [[Prototype]]'); + + st.test('nullish value', function (s2t) { + // @ts-expect-error + s2t['throws'](function () { return getProto(undefined); }, TypeError, 'undefined is not an object'); + // @ts-expect-error + s2t['throws'](function () { return getProto(null); }, TypeError, 'null is not an object'); + s2t.end(); + }); + + // @ts-expect-error + st['throws'](function () { getProto(true); }, 'throws for true'); + // @ts-expect-error + st['throws'](function () { getProto(false); }, 'throws for false'); + // @ts-expect-error + st['throws'](function () { getProto(42); }, 'throws for 42'); + // @ts-expect-error + st['throws'](function () { getProto(NaN); }, 'throws for NaN'); + // @ts-expect-error + st['throws'](function () { getProto(0); }, 'throws for +0'); + // @ts-expect-error + st['throws'](function () { getProto(-0); }, 'throws for -0'); + // @ts-expect-error + st['throws'](function () { getProto(Infinity); }, 'throws for ∞'); + // @ts-expect-error + st['throws'](function () { getProto(-Infinity); }, 'throws for -∞'); + // @ts-expect-error + st['throws'](function () { getProto(''); }, 'throws for empty string'); + // @ts-expect-error + st['throws'](function () { getProto('foo'); }, 'throws for non-empty string'); + st.equal(getProto(/a/g), RegExp.prototype); + st.equal(getProto(new Date()), Date.prototype); + st.equal(getProto(function () {}), Function.prototype); + st.equal(getProto([]), Array.prototype); + st.equal(getProto({}), Object.prototype); + + var nullObject = { __proto__: null }; + if ('toString' in nullObject) { + st.comment('no null objects in this engine'); + st.equal(getProto(nullObject), Object.prototype, '"null" object has Object.prototype as [[Prototype]]'); + } else { + st.equal(getProto(nullObject), null, 'null object has null [[Prototype]]'); + } + } + + st.end(); + }); + + t.test('can not get', { skip: !!getProto }, function (st) { + st.equal(getProto, null); + + st.end(); + }); + + t.end(); +}); diff --git a/dist/node_modules/get-proto/tsconfig.json b/dist/node_modules/get-proto/tsconfig.json new file mode 100644 index 00000000..60fb90e4 --- /dev/null +++ b/dist/node_modules/get-proto/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "@ljharb/tsconfig", + "compilerOptions": { + //"target": "es2021", + }, + "exclude": [ + "coverage", + ], +} diff --git a/dist/node_modules/gopd/.eslintrc b/dist/node_modules/gopd/.eslintrc new file mode 100644 index 00000000..e2550c0f --- /dev/null +++ b/dist/node_modules/gopd/.eslintrc @@ -0,0 +1,16 @@ +{ + "root": true, + + "extends": "@ljharb", + + "rules": { + "func-style": [2, "declaration"], + "id-length": 0, + "multiline-comment-style": 0, + "new-cap": [2, { + "capIsNewExceptions": [ + "GetIntrinsic", + ], + }], + }, +} diff --git a/dist/node_modules/gopd/.github/FUNDING.yml b/dist/node_modules/gopd/.github/FUNDING.yml new file mode 100644 index 00000000..94a44a8e --- /dev/null +++ b/dist/node_modules/gopd/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: [ljharb] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: npm/gopd +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/dist/node_modules/gopd/CHANGELOG.md b/dist/node_modules/gopd/CHANGELOG.md new file mode 100644 index 00000000..87f5727f --- /dev/null +++ b/dist/node_modules/gopd/CHANGELOG.md @@ -0,0 +1,45 @@ +# 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.2.0](https://github.com/ljharb/gopd/compare/v1.1.0...v1.2.0) - 2024-12-03 + +### Commits + +- [New] add `gOPD` entry point; remove `get-intrinsic` [`5b61232`](https://github.com/ljharb/gopd/commit/5b61232dedea4591a314bcf16101b1961cee024e) + +## [v1.1.0](https://github.com/ljharb/gopd/compare/v1.0.1...v1.1.0) - 2024-11-29 + +### Commits + +- [New] add types [`f585e39`](https://github.com/ljharb/gopd/commit/f585e397886d270e4ba84e53d226e4f9ca2eb0e6) +- [Dev Deps] update `@ljharb/eslint-config`, `auto-changelog`, `tape` [`0b8e4fd`](https://github.com/ljharb/gopd/commit/0b8e4fded64397a7726a9daa144a6cc9a5e2edfa) +- [Dev Deps] update `aud`, `npmignore`, `tape` [`48378b2`](https://github.com/ljharb/gopd/commit/48378b2443f09a4f7efbd0fb6c3ee845a6cabcf3) +- [Dev Deps] update `@ljharb/eslint-config`, `aud`, `tape` [`78099ee`](https://github.com/ljharb/gopd/commit/78099eeed41bfdc134c912280483689cc8861c31) +- [Tests] replace `aud` with `npm audit` [`4e0d0ac`](https://github.com/ljharb/gopd/commit/4e0d0ac47619d24a75318a8e1f543ee04b2a2632) +- [meta] add missing `engines.node` [`1443316`](https://github.com/ljharb/gopd/commit/14433165d07835c680155b3dfd62d9217d735eca) +- [Deps] update `get-intrinsic` [`eee5f51`](https://github.com/ljharb/gopd/commit/eee5f51769f3dbaf578b70e2a3199116b01aa670) +- [Deps] update `get-intrinsic` [`550c378`](https://github.com/ljharb/gopd/commit/550c3780e3a9c77b62565712a001b4ed64ea61f5) +- [Dev Deps] add missing peer dep [`8c2ecf8`](https://github.com/ljharb/gopd/commit/8c2ecf848122e4e30abfc5b5086fb48b390dce75) + +## [v1.0.1](https://github.com/ljharb/gopd/compare/v1.0.0...v1.0.1) - 2022-11-01 + +### Commits + +- [Fix] actually export gOPD instead of dP [`4b624bf`](https://github.com/ljharb/gopd/commit/4b624bfbeff788c5e3ff16d9443a83627847234f) + +## v1.0.0 - 2022-11-01 + +### Commits + +- Initial implementation, tests, readme [`0911e01`](https://github.com/ljharb/gopd/commit/0911e012cd642092bd88b732c161c58bf4f20bea) +- Initial commit [`b84e33f`](https://github.com/ljharb/gopd/commit/b84e33f5808a805ac57ff88d4247ad935569acbe) +- [actions] add reusable workflows [`12ae28a`](https://github.com/ljharb/gopd/commit/12ae28ae5f50f86e750215b6e2188901646d0119) +- npm init [`280118b`](https://github.com/ljharb/gopd/commit/280118badb45c80b4483836b5cb5315bddf6e582) +- [meta] add `auto-changelog` [`bb78de5`](https://github.com/ljharb/gopd/commit/bb78de5639a180747fb290c28912beaaf1615709) +- [meta] create FUNDING.yml; add `funding` in package.json [`11c22e6`](https://github.com/ljharb/gopd/commit/11c22e6355bb01f24e7fac4c9bb3055eb5b25002) +- [meta] use `npmignore` to autogenerate an npmignore file [`4f4537a`](https://github.com/ljharb/gopd/commit/4f4537a843b39f698c52f072845092e6fca345bb) +- Only apps should have lockfiles [`c567022`](https://github.com/ljharb/gopd/commit/c567022a18573aa7951cf5399445d9840e23e98b) diff --git a/dist/node_modules/gopd/LICENSE b/dist/node_modules/gopd/LICENSE new file mode 100644 index 00000000..6abfe143 --- /dev/null +++ b/dist/node_modules/gopd/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Jordan Harband + +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. diff --git a/dist/node_modules/gopd/README.md b/dist/node_modules/gopd/README.md new file mode 100644 index 00000000..784e56a0 --- /dev/null +++ b/dist/node_modules/gopd/README.md @@ -0,0 +1,40 @@ +# gopd [![Version Badge][npm-version-svg]][package-url] + +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][npm-badge-png]][package-url] + +`Object.getOwnPropertyDescriptor`, but accounts for IE's broken implementation. + +## Usage + +```javascript +var gOPD = require('gopd'); +var assert = require('assert'); + +if (gOPD) { + assert.equal(typeof gOPD, 'function', 'descriptors supported'); + // use gOPD like Object.getOwnPropertyDescriptor here +} else { + assert.ok(!gOPD, 'descriptors not supported'); +} +``` + +[package-url]: https://npmjs.org/package/gopd +[npm-version-svg]: https://versionbadg.es/ljharb/gopd.svg +[deps-svg]: https://david-dm.org/ljharb/gopd.svg +[deps-url]: https://david-dm.org/ljharb/gopd +[dev-deps-svg]: https://david-dm.org/ljharb/gopd/dev-status.svg +[dev-deps-url]: https://david-dm.org/ljharb/gopd#info=devDependencies +[npm-badge-png]: https://nodei.co/npm/gopd.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/gopd.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/gopd.svg +[downloads-url]: https://npm-stat.com/charts.html?package=gopd +[codecov-image]: https://codecov.io/gh/ljharb/gopd/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/ljharb/gopd/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/gopd +[actions-url]: https://github.com/ljharb/gopd/actions diff --git a/dist/node_modules/gopd/gOPD.d.ts b/dist/node_modules/gopd/gOPD.d.ts new file mode 100644 index 00000000..def48a3c --- /dev/null +++ b/dist/node_modules/gopd/gOPD.d.ts @@ -0,0 +1 @@ +export = Object.getOwnPropertyDescriptor; diff --git a/dist/node_modules/gopd/gOPD.js b/dist/node_modules/gopd/gOPD.js new file mode 100644 index 00000000..cf9616c4 --- /dev/null +++ b/dist/node_modules/gopd/gOPD.js @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./gOPD')} */ +module.exports = Object.getOwnPropertyDescriptor; diff --git a/dist/node_modules/gopd/index.d.ts b/dist/node_modules/gopd/index.d.ts new file mode 100644 index 00000000..e228065f --- /dev/null +++ b/dist/node_modules/gopd/index.d.ts @@ -0,0 +1,5 @@ +declare function gOPD(obj: O, prop: K): PropertyDescriptor | undefined; + +declare const fn: typeof gOPD | undefined | null; + +export = fn; \ No newline at end of file diff --git a/dist/node_modules/gopd/index.js b/dist/node_modules/gopd/index.js new file mode 100644 index 00000000..a4081b01 --- /dev/null +++ b/dist/node_modules/gopd/index.js @@ -0,0 +1,15 @@ +'use strict'; + +/** @type {import('.')} */ +var $gOPD = require('./gOPD'); + +if ($gOPD) { + try { + $gOPD([], 'length'); + } catch (e) { + // IE 8 has a broken gOPD + $gOPD = null; + } +} + +module.exports = $gOPD; diff --git a/dist/node_modules/gopd/package.json b/dist/node_modules/gopd/package.json new file mode 100644 index 00000000..01c5ffa6 --- /dev/null +++ b/dist/node_modules/gopd/package.json @@ -0,0 +1,77 @@ +{ + "name": "gopd", + "version": "1.2.0", + "description": "`Object.getOwnPropertyDescriptor`, but accounts for IE's broken implementation.", + "main": "index.js", + "exports": { + ".": "./index.js", + "./gOPD": "./gOPD.js", + "./package.json": "./package.json" + }, + "sideEffects": false, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prelint": "tsc -p . && attw -P", + "lint": "eslint --ext=js,mjs .", + "postlint": "evalmd README.md", + "pretest": "npm run lint", + "tests-only": "tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "npx npm@'>=10.2' audit --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/gopd.git" + }, + "keywords": [ + "ecmascript", + "javascript", + "getownpropertydescriptor", + "property", + "descriptor" + ], + "author": "Jordan Harband ", + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/gopd/issues" + }, + "homepage": "https://github.com/ljharb/gopd#readme", + "devDependencies": { + "@arethetypeswrong/cli": "^0.17.0", + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.2.0", + "@types/tape": "^5.6.5", + "auto-changelog": "^2.5.0", + "encoding": "^0.1.13", + "eslint": "=8.8.0", + "evalmd": "^0.0.19", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "engines": { + "node": ">= 0.4" + } +} diff --git a/dist/node_modules/gopd/test/index.js b/dist/node_modules/gopd/test/index.js new file mode 100644 index 00000000..6f43453a --- /dev/null +++ b/dist/node_modules/gopd/test/index.js @@ -0,0 +1,36 @@ +'use strict'; + +var test = require('tape'); +var gOPD = require('../'); + +test('gOPD', function (t) { + t.test('supported', { skip: !gOPD }, function (st) { + st.equal(typeof gOPD, 'function', 'is a function'); + + var obj = { x: 1 }; + st.ok('x' in obj, 'property exists'); + + // @ts-expect-error TS can't figure out narrowing from `skip` + var desc = gOPD(obj, 'x'); + st.deepEqual( + desc, + { + configurable: true, + enumerable: true, + value: 1, + writable: true + }, + 'descriptor is as expected' + ); + + st.end(); + }); + + t.test('not supported', { skip: !!gOPD }, function (st) { + st.notOk(gOPD, 'is falsy'); + + st.end(); + }); + + t.end(); +}); diff --git a/dist/node_modules/gopd/tsconfig.json b/dist/node_modules/gopd/tsconfig.json new file mode 100644 index 00000000..d9a6668c --- /dev/null +++ b/dist/node_modules/gopd/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "@ljharb/tsconfig", + "compilerOptions": { + "target": "es2021", + }, + "exclude": [ + "coverage", + ], +} diff --git a/dist/node_modules/has-symbols/.eslintrc b/dist/node_modules/has-symbols/.eslintrc new file mode 100644 index 00000000..2d9a66a8 --- /dev/null +++ b/dist/node_modules/has-symbols/.eslintrc @@ -0,0 +1,11 @@ +{ + "root": true, + + "extends": "@ljharb", + + "rules": { + "max-statements-per-line": [2, { "max": 2 }], + "no-magic-numbers": 0, + "multiline-comment-style": 0, + } +} diff --git a/dist/node_modules/has-symbols/.github/FUNDING.yml b/dist/node_modules/has-symbols/.github/FUNDING.yml new file mode 100644 index 00000000..04cf87e6 --- /dev/null +++ b/dist/node_modules/has-symbols/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: [ljharb] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: npm/has-symbols +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/dist/node_modules/has-symbols/.nycrc b/dist/node_modules/has-symbols/.nycrc new file mode 100644 index 00000000..bdd626ce --- /dev/null +++ b/dist/node_modules/has-symbols/.nycrc @@ -0,0 +1,9 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "exclude": [ + "coverage", + "test" + ] +} diff --git a/dist/node_modules/has-symbols/CHANGELOG.md b/dist/node_modules/has-symbols/CHANGELOG.md new file mode 100644 index 00000000..cc3cf839 --- /dev/null +++ b/dist/node_modules/has-symbols/CHANGELOG.md @@ -0,0 +1,91 @@ +# 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.1.0](https://github.com/inspect-js/has-symbols/compare/v1.0.3...v1.1.0) - 2024-12-02 + +### Commits + +- [actions] update workflows [`548c0bf`](https://github.com/inspect-js/has-symbols/commit/548c0bf8c9b1235458df7a1c0490b0064647a282) +- [actions] further shard; update action deps [`bec56bb`](https://github.com/inspect-js/has-symbols/commit/bec56bb0fb44b43a786686b944875a3175cf3ff3) +- [meta] use `npmignore` to autogenerate an npmignore file [`ac81032`](https://github.com/inspect-js/has-symbols/commit/ac81032809157e0a079e5264e9ce9b6f1275777e) +- [New] add types [`6469cbf`](https://github.com/inspect-js/has-symbols/commit/6469cbff1866cfe367b2b3d181d9296ec14b2a3d) +- [actions] update rebase action to use reusable workflow [`9c9d4d0`](https://github.com/inspect-js/has-symbols/commit/9c9d4d0d8938e4b267acdf8e421f4e92d1716d72) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `tape` [`adb5887`](https://github.com/inspect-js/has-symbols/commit/adb5887ca9444849b08beb5caaa9e1d42320cdfb) +- [Dev Deps] update `@ljharb/eslint-config`, `aud`, `tape` [`13ec198`](https://github.com/inspect-js/has-symbols/commit/13ec198ec80f1993a87710af1606a1970b22c7cb) +- [Dev Deps] update `auto-changelog`, `core-js`, `tape` [`941be52`](https://github.com/inspect-js/has-symbols/commit/941be5248387cab1da72509b22acf3fdb223f057) +- [Tests] replace `aud` with `npm audit` [`74f49e9`](https://github.com/inspect-js/has-symbols/commit/74f49e9a9d17a443020784234a1c53ce765b3559) +- [Dev Deps] update `npmignore` [`9c0ac04`](https://github.com/inspect-js/has-symbols/commit/9c0ac0452a834f4c2a4b54044f2d6a89f17e9a70) +- [Dev Deps] add missing peer dep [`52337a5`](https://github.com/inspect-js/has-symbols/commit/52337a5621cced61f846f2afdab7707a8132cc12) + +## [v1.0.3](https://github.com/inspect-js/has-symbols/compare/v1.0.2...v1.0.3) - 2022-03-01 + +### Commits + +- [actions] use `node/install` instead of `node/run`; use `codecov` action [`518b28f`](https://github.com/inspect-js/has-symbols/commit/518b28f6c5a516cbccae30794e40aa9f738b1693) +- [meta] add `bugs` and `homepage` fields; reorder package.json [`c480b13`](https://github.com/inspect-js/has-symbols/commit/c480b13fd6802b557e1cef9749872cb5fdeef744) +- [actions] reuse common workflows [`01d0ee0`](https://github.com/inspect-js/has-symbols/commit/01d0ee0a8d97c0947f5edb73eb722027a77b2b07) +- [actions] update codecov uploader [`6424ebe`](https://github.com/inspect-js/has-symbols/commit/6424ebe86b2c9c7c3d2e9bd4413a4e4f168cb275) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog`, `tape` [`dfa7e7f`](https://github.com/inspect-js/has-symbols/commit/dfa7e7ff38b594645d8c8222aab895157fa7e282) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `safe-publish-latest`, `tape` [`0c8d436`](https://github.com/inspect-js/has-symbols/commit/0c8d43685c45189cea9018191d4fd7eca91c9d02) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `tape` [`9026554`](https://github.com/inspect-js/has-symbols/commit/902655442a1bf88e72b42345494ef0c60f5d36ab) +- [readme] add actions and codecov badges [`eaa9682`](https://github.com/inspect-js/has-symbols/commit/eaa9682f990f481d3acf7a1c7600bec36f7b3adc) +- [Dev Deps] update `eslint`, `tape` [`bc7a3ba`](https://github.com/inspect-js/has-symbols/commit/bc7a3ba46f27b7743f8a2579732d59d1b9ac791e) +- [Dev Deps] update `eslint`, `auto-changelog` [`0ace00a`](https://github.com/inspect-js/has-symbols/commit/0ace00af08a88cdd1e6ce0d60357d941c60c2d9f) +- [meta] use `prepublishOnly` script for npm 7+ [`093f72b`](https://github.com/inspect-js/has-symbols/commit/093f72bc2b0ed00c781f444922a5034257bf561d) +- [Tests] test on all 16 minors [`9b80d3d`](https://github.com/inspect-js/has-symbols/commit/9b80d3d9102529f04c20ec5b1fcc6e38426c6b03) + +## [v1.0.2](https://github.com/inspect-js/has-symbols/compare/v1.0.1...v1.0.2) - 2021-02-27 + +### Fixed + +- [Fix] use a universal way to get the original Symbol [`#11`](https://github.com/inspect-js/has-symbols/issues/11) + +### Commits + +- [Tests] migrate tests to Github Actions [`90ae798`](https://github.com/inspect-js/has-symbols/commit/90ae79820bdfe7bc703d67f5f3c5e205f98556d3) +- [meta] do not publish github action workflow files [`29e60a1`](https://github.com/inspect-js/has-symbols/commit/29e60a1b7c25c7f1acf7acff4a9320d0d10c49b4) +- [Tests] run `nyc` on all tests [`8476b91`](https://github.com/inspect-js/has-symbols/commit/8476b915650d360915abe2522505abf4b0e8f0ae) +- [readme] fix repo URLs, remove defunct badges [`126288e`](https://github.com/inspect-js/has-symbols/commit/126288ecc1797c0a40247a6b78bcb2e0bc5d7036) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog`, `core-js`, `get-own-property-symbols` [`d84bdfa`](https://github.com/inspect-js/has-symbols/commit/d84bdfa48ac5188abbb4904b42614cd6c030940a) +- [Tests] fix linting errors [`0df3070`](https://github.com/inspect-js/has-symbols/commit/0df3070b981b6c9f2ee530c09189a7f5c6def839) +- [actions] add "Allow Edits" workflow [`1e6bc29`](https://github.com/inspect-js/has-symbols/commit/1e6bc29b188f32b9648657b07eda08504be5aa9c) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape` [`36cea2a`](https://github.com/inspect-js/has-symbols/commit/36cea2addd4e6ec435f35a2656b4e9ef82498e9b) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `tape` [`1278338`](https://github.com/inspect-js/has-symbols/commit/127833801865fbc2cc8979beb9ca869c7bfe8222) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `tape` [`1493254`](https://github.com/inspect-js/has-symbols/commit/1493254eda13db5fb8fc5e4a3e8324b3d196029d) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `core-js` [`b090bf2`](https://github.com/inspect-js/has-symbols/commit/b090bf214d3679a30edc1e2d729d466ab5183e1d) +- [actions] switch Automatic Rebase workflow to `pull_request_target` event [`4addb7a`](https://github.com/inspect-js/has-symbols/commit/4addb7ab4dc73f927ae99928d68817554fc21dc0) +- [Dev Deps] update `auto-changelog`, `tape` [`81d0baf`](https://github.com/inspect-js/has-symbols/commit/81d0baf3816096a89a8558e8043895f7a7d10d8b) +- [Dev Deps] update `auto-changelog`; add `aud` [`1a4e561`](https://github.com/inspect-js/has-symbols/commit/1a4e5612c25d91c3a03d509721d02630bc4fe3da) +- [readme] remove unused testling URLs [`3000941`](https://github.com/inspect-js/has-symbols/commit/3000941f958046e923ed8152edb1ef4a599e6fcc) +- [Tests] only audit prod deps [`692e974`](https://github.com/inspect-js/has-symbols/commit/692e9743c912410e9440207631a643a34b4741a1) +- [Dev Deps] update `@ljharb/eslint-config` [`51c946c`](https://github.com/inspect-js/has-symbols/commit/51c946c7f6baa793ec5390bb5a45cdce16b4ba76) + +## [v1.0.1](https://github.com/inspect-js/has-symbols/compare/v1.0.0...v1.0.1) - 2019-11-16 + +### Commits + +- [Tests] use shared travis-ci configs [`ce396c9`](https://github.com/inspect-js/has-symbols/commit/ce396c9419ff11c43d0da5d05cdbb79f7fb42229) +- [Tests] up to `node` `v12.4`, `v11.15`, `v10.15`, `v9.11`, `v8.15`, `v7.10`, `v6.17`, `v4.9`; use `nvm install-latest-npm` [`0690732`](https://github.com/inspect-js/has-symbols/commit/0690732801f47ab429f39ba1962f522d5c462d6b) +- [meta] add `auto-changelog` [`2163d0b`](https://github.com/inspect-js/has-symbols/commit/2163d0b7f36343076b8f947cd1667dd1750f26fc) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `core-js`, `safe-publish-latest`, `tape` [`8e0951f`](https://github.com/inspect-js/has-symbols/commit/8e0951f1a7a2e52068222b7bb73511761e6e4d9c) +- [actions] add automatic rebasing / merge commit blocking [`b09cdb7`](https://github.com/inspect-js/has-symbols/commit/b09cdb7cd7ee39e7a769878f56e2d6066f5ccd1d) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `safe-publish-latest`, `core-js`, `get-own-property-symbols`, `tape` [`1dd42cd`](https://github.com/inspect-js/has-symbols/commit/1dd42cd86183ed0c50f99b1062345c458babca91) +- [meta] create FUNDING.yml [`aa57a17`](https://github.com/inspect-js/has-symbols/commit/aa57a17b19708906d1927f821ea8e73394d84ca4) +- Only apps should have lockfiles [`a2d8bea`](https://github.com/inspect-js/has-symbols/commit/a2d8bea23a97d15c09eaf60f5b107fcf9a4d57aa) +- [Tests] use `npx aud` instead of `nsp` or `npm audit` with hoops [`9e96cb7`](https://github.com/inspect-js/has-symbols/commit/9e96cb783746cbed0c10ef78e599a8eaa7ebe193) +- [meta] add `funding` field [`a0b32cf`](https://github.com/inspect-js/has-symbols/commit/a0b32cf68e803f963c1639b6d47b0a9d6440bab0) +- [Dev Deps] update `safe-publish-latest` [`cb9f0a5`](https://github.com/inspect-js/has-symbols/commit/cb9f0a521a3a1790f1064d437edd33bb6c3d6af0) + +## v1.0.0 - 2016-09-19 + +### Commits + +- Tests. [`ecb6eb9`](https://github.com/inspect-js/has-symbols/commit/ecb6eb934e4883137f3f93b965ba5e0a98df430d) +- package.json [`88a337c`](https://github.com/inspect-js/has-symbols/commit/88a337cee0864a0da35f5d19e69ff0ef0150e46a) +- Initial commit [`42e1e55`](https://github.com/inspect-js/has-symbols/commit/42e1e5502536a2b8ac529c9443984acd14836b1c) +- Initial implementation. [`33f5cc6`](https://github.com/inspect-js/has-symbols/commit/33f5cc6cdff86e2194b081ee842bfdc63caf43fb) +- read me [`01f1170`](https://github.com/inspect-js/has-symbols/commit/01f1170188ff7cb1558aa297f6ba5b516c6d7b0c) diff --git a/dist/node_modules/has-symbols/LICENSE b/dist/node_modules/has-symbols/LICENSE new file mode 100644 index 00000000..df31cbf3 --- /dev/null +++ b/dist/node_modules/has-symbols/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2016 Jordan Harband + +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. diff --git a/dist/node_modules/has-symbols/README.md b/dist/node_modules/has-symbols/README.md new file mode 100644 index 00000000..33905f0f --- /dev/null +++ b/dist/node_modules/has-symbols/README.md @@ -0,0 +1,46 @@ +# has-symbols [![Version Badge][2]][1] + +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] +[![dependency status][5]][6] +[![dev dependency status][7]][8] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][11]][1] + +Determine if the JS environment has Symbol support. Supports spec, or shams. + +## Example + +```js +var hasSymbols = require('has-symbols'); + +hasSymbols() === true; // if the environment has native Symbol support. Not polyfillable, not forgeable. + +var hasSymbolsKinda = require('has-symbols/shams'); +hasSymbolsKinda() === true; // if the environment has a Symbol sham that mostly follows the spec. +``` + +## Supported Symbol shams + - get-own-property-symbols [npm](https://www.npmjs.com/package/get-own-property-symbols) | [github](https://github.com/WebReflection/get-own-property-symbols) + - core-js [npm](https://www.npmjs.com/package/core-js) | [github](https://github.com/zloirock/core-js) + +## Tests +Simply clone the repo, `npm install`, and run `npm test` + +[1]: https://npmjs.org/package/has-symbols +[2]: https://versionbadg.es/inspect-js/has-symbols.svg +[5]: https://david-dm.org/inspect-js/has-symbols.svg +[6]: https://david-dm.org/inspect-js/has-symbols +[7]: https://david-dm.org/inspect-js/has-symbols/dev-status.svg +[8]: https://david-dm.org/inspect-js/has-symbols#info=devDependencies +[11]: https://nodei.co/npm/has-symbols.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/has-symbols.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/has-symbols.svg +[downloads-url]: https://npm-stat.com/charts.html?package=has-symbols +[codecov-image]: https://codecov.io/gh/inspect-js/has-symbols/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/inspect-js/has-symbols/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/has-symbols +[actions-url]: https://github.com/inspect-js/has-symbols/actions diff --git a/dist/node_modules/has-symbols/index.d.ts b/dist/node_modules/has-symbols/index.d.ts new file mode 100644 index 00000000..9b985950 --- /dev/null +++ b/dist/node_modules/has-symbols/index.d.ts @@ -0,0 +1,3 @@ +declare function hasNativeSymbols(): boolean; + +export = hasNativeSymbols; \ No newline at end of file diff --git a/dist/node_modules/has-symbols/index.js b/dist/node_modules/has-symbols/index.js new file mode 100644 index 00000000..fa65265a --- /dev/null +++ b/dist/node_modules/has-symbols/index.js @@ -0,0 +1,14 @@ +'use strict'; + +var origSymbol = typeof Symbol !== 'undefined' && Symbol; +var hasSymbolSham = require('./shams'); + +/** @type {import('.')} */ +module.exports = function hasNativeSymbols() { + if (typeof origSymbol !== 'function') { return false; } + if (typeof Symbol !== 'function') { return false; } + if (typeof origSymbol('foo') !== 'symbol') { return false; } + if (typeof Symbol('bar') !== 'symbol') { return false; } + + return hasSymbolSham(); +}; diff --git a/dist/node_modules/has-symbols/package.json b/dist/node_modules/has-symbols/package.json new file mode 100644 index 00000000..d835e20b --- /dev/null +++ b/dist/node_modules/has-symbols/package.json @@ -0,0 +1,111 @@ +{ + "name": "has-symbols", + "version": "1.1.0", + "description": "Determine if the JS environment has Symbol support. Supports spec, or shams.", + "main": "index.js", + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "pretest": "npm run --silent lint", + "test": "npm run tests-only", + "posttest": "npx npm@'>=10.2' audit --production", + "tests-only": "npm run test:stock && npm run test:shams", + "test:stock": "nyc node test", + "test:staging": "nyc node --harmony --es-staging test", + "test:shams": "npm run --silent test:shams:getownpropertysymbols && npm run --silent test:shams:corejs", + "test:shams:corejs": "nyc node test/shams/core-js.js", + "test:shams:getownpropertysymbols": "nyc node test/shams/get-own-property-symbols.js", + "lint": "eslint --ext=js,mjs .", + "postlint": "tsc -p . && attw -P", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git://github.com/inspect-js/has-symbols.git" + }, + "keywords": [ + "Symbol", + "symbols", + "typeof", + "sham", + "polyfill", + "native", + "core-js", + "ES6" + ], + "author": { + "name": "Jordan Harband", + "email": "ljharb@gmail.com", + "url": "http://ljharb.codes" + }, + "contributors": [ + { + "name": "Jordan Harband", + "email": "ljharb@gmail.com", + "url": "http://ljharb.codes" + } + ], + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/has-symbols/issues" + }, + "homepage": "https://github.com/ljharb/has-symbols#readme", + "devDependencies": { + "@arethetypeswrong/cli": "^0.17.0", + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.2.0", + "@types/core-js": "^2.5.8", + "@types/tape": "^5.6.5", + "auto-changelog": "^2.5.0", + "core-js": "^2.6.12", + "encoding": "^0.1.13", + "eslint": "=8.8.0", + "get-own-property-symbols": "^0.9.5", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "testling": { + "files": "test/index.js", + "browsers": [ + "iexplore/6.0..latest", + "firefox/3.0..6.0", + "firefox/15.0..latest", + "firefox/nightly", + "chrome/4.0..10.0", + "chrome/20.0..latest", + "chrome/canary", + "opera/10.0..latest", + "opera/next", + "safari/4.0..latest", + "ipad/6.0..latest", + "iphone/6.0..latest", + "android-browser/4.2" + ] + }, + "engines": { + "node": ">= 0.4" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows", + "types" + ] + } +} diff --git a/dist/node_modules/has-symbols/shams.d.ts b/dist/node_modules/has-symbols/shams.d.ts new file mode 100644 index 00000000..8d0bf243 --- /dev/null +++ b/dist/node_modules/has-symbols/shams.d.ts @@ -0,0 +1,3 @@ +declare function hasSymbolShams(): boolean; + +export = hasSymbolShams; \ No newline at end of file diff --git a/dist/node_modules/has-symbols/shams.js b/dist/node_modules/has-symbols/shams.js new file mode 100644 index 00000000..f97b4741 --- /dev/null +++ b/dist/node_modules/has-symbols/shams.js @@ -0,0 +1,45 @@ +'use strict'; + +/** @type {import('./shams')} */ +/* eslint complexity: [2, 18], max-statements: [2, 33] */ +module.exports = function hasSymbols() { + if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; } + if (typeof Symbol.iterator === 'symbol') { return true; } + + /** @type {{ [k in symbol]?: unknown }} */ + var obj = {}; + var sym = Symbol('test'); + var symObj = Object(sym); + if (typeof sym === 'string') { return false; } + + if (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; } + if (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; } + + // temp disabled per https://github.com/ljharb/object.assign/issues/17 + // if (sym instanceof Symbol) { return false; } + // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4 + // if (!(symObj instanceof Symbol)) { return false; } + + // if (typeof Symbol.prototype.toString !== 'function') { return false; } + // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; } + + var symVal = 42; + obj[sym] = symVal; + for (var _ in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop + if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; } + + if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; } + + var syms = Object.getOwnPropertySymbols(obj); + if (syms.length !== 1 || syms[0] !== sym) { return false; } + + if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; } + + if (typeof Object.getOwnPropertyDescriptor === 'function') { + // eslint-disable-next-line no-extra-parens + var descriptor = /** @type {PropertyDescriptor} */ (Object.getOwnPropertyDescriptor(obj, sym)); + if (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; } + } + + return true; +}; diff --git a/dist/node_modules/has-symbols/test/index.js b/dist/node_modules/has-symbols/test/index.js new file mode 100644 index 00000000..352129ca --- /dev/null +++ b/dist/node_modules/has-symbols/test/index.js @@ -0,0 +1,22 @@ +'use strict'; + +var test = require('tape'); +var hasSymbols = require('../'); +var runSymbolTests = require('./tests'); + +test('interface', function (t) { + t.equal(typeof hasSymbols, 'function', 'is a function'); + t.equal(typeof hasSymbols(), 'boolean', 'returns a boolean'); + t.end(); +}); + +test('Symbols are supported', { skip: !hasSymbols() }, function (t) { + runSymbolTests(t); + t.end(); +}); + +test('Symbols are not supported', { skip: hasSymbols() }, function (t) { + t.equal(typeof Symbol, 'undefined', 'global Symbol is undefined'); + t.equal(typeof Object.getOwnPropertySymbols, 'undefined', 'Object.getOwnPropertySymbols does not exist'); + t.end(); +}); diff --git a/dist/node_modules/has-symbols/test/shams/core-js.js b/dist/node_modules/has-symbols/test/shams/core-js.js new file mode 100644 index 00000000..1a29024e --- /dev/null +++ b/dist/node_modules/has-symbols/test/shams/core-js.js @@ -0,0 +1,29 @@ +'use strict'; + +var test = require('tape'); + +if (typeof Symbol === 'function' && typeof Symbol() === 'symbol') { + test('has native Symbol support', function (t) { + t.equal(typeof Symbol, 'function'); + t.equal(typeof Symbol(), 'symbol'); + t.end(); + }); + // @ts-expect-error TS is stupid and doesn't know about top level return + return; +} + +var hasSymbols = require('../../shams'); + +test('polyfilled Symbols', function (t) { + /* eslint-disable global-require */ + t.equal(hasSymbols(), false, 'hasSymbols is false before polyfilling'); + require('core-js/fn/symbol'); + require('core-js/fn/symbol/to-string-tag'); + + require('../tests')(t); + + var hasSymbolsAfter = hasSymbols(); + t.equal(hasSymbolsAfter, true, 'hasSymbols is true after polyfilling'); + /* eslint-enable global-require */ + t.end(); +}); diff --git a/dist/node_modules/has-symbols/test/shams/get-own-property-symbols.js b/dist/node_modules/has-symbols/test/shams/get-own-property-symbols.js new file mode 100644 index 00000000..e0296f8e --- /dev/null +++ b/dist/node_modules/has-symbols/test/shams/get-own-property-symbols.js @@ -0,0 +1,29 @@ +'use strict'; + +var test = require('tape'); + +if (typeof Symbol === 'function' && typeof Symbol() === 'symbol') { + test('has native Symbol support', function (t) { + t.equal(typeof Symbol, 'function'); + t.equal(typeof Symbol(), 'symbol'); + t.end(); + }); + // @ts-expect-error TS is stupid and doesn't know about top level return + return; +} + +var hasSymbols = require('../../shams'); + +test('polyfilled Symbols', function (t) { + /* eslint-disable global-require */ + t.equal(hasSymbols(), false, 'hasSymbols is false before polyfilling'); + + require('get-own-property-symbols'); + + require('../tests')(t); + + var hasSymbolsAfter = hasSymbols(); + t.equal(hasSymbolsAfter, true, 'hasSymbols is true after polyfilling'); + /* eslint-enable global-require */ + t.end(); +}); diff --git a/dist/node_modules/has-symbols/test/tests.js b/dist/node_modules/has-symbols/test/tests.js new file mode 100644 index 00000000..66a2cb80 --- /dev/null +++ b/dist/node_modules/has-symbols/test/tests.js @@ -0,0 +1,58 @@ +'use strict'; + +/** @type {(t: import('tape').Test) => false | void} */ +// eslint-disable-next-line consistent-return +module.exports = function runSymbolTests(t) { + t.equal(typeof Symbol, 'function', 'global Symbol is a function'); + + if (typeof Symbol !== 'function') { return false; } + + t.notEqual(Symbol(), Symbol(), 'two symbols are not equal'); + + /* + t.equal( + Symbol.prototype.toString.call(Symbol('foo')), + Symbol.prototype.toString.call(Symbol('foo')), + 'two symbols with the same description stringify the same' + ); + */ + + /* + var foo = Symbol('foo'); + + t.notEqual( + String(foo), + String(Symbol('bar')), + 'two symbols with different descriptions do not stringify the same' + ); + */ + + t.equal(typeof Symbol.prototype.toString, 'function', 'Symbol#toString is a function'); + // t.equal(String(foo), Symbol.prototype.toString.call(foo), 'Symbol#toString equals String of the same symbol'); + + t.equal(typeof Object.getOwnPropertySymbols, 'function', 'Object.getOwnPropertySymbols is a function'); + + /** @type {{ [k in symbol]?: unknown }} */ + var obj = {}; + var sym = Symbol('test'); + var symObj = Object(sym); + t.notEqual(typeof sym, 'string', 'Symbol is not a string'); + t.equal(Object.prototype.toString.call(sym), '[object Symbol]', 'symbol primitive Object#toStrings properly'); + t.equal(Object.prototype.toString.call(symObj), '[object Symbol]', 'symbol primitive Object#toStrings properly'); + + var symVal = 42; + obj[sym] = symVal; + // eslint-disable-next-line no-restricted-syntax, no-unused-vars + for (var _ in obj) { t.fail('symbol property key was found in for..in of object'); } + + t.deepEqual(Object.keys(obj), [], 'no enumerable own keys on symbol-valued object'); + t.deepEqual(Object.getOwnPropertyNames(obj), [], 'no own names on symbol-valued object'); + t.deepEqual(Object.getOwnPropertySymbols(obj), [sym], 'one own symbol on symbol-valued object'); + t.equal(Object.prototype.propertyIsEnumerable.call(obj, sym), true, 'symbol is enumerable'); + t.deepEqual(Object.getOwnPropertyDescriptor(obj, sym), { + configurable: true, + enumerable: true, + value: 42, + writable: true + }, 'property descriptor is correct'); +}; diff --git a/dist/node_modules/has-symbols/tsconfig.json b/dist/node_modules/has-symbols/tsconfig.json new file mode 100644 index 00000000..ba99af43 --- /dev/null +++ b/dist/node_modules/has-symbols/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "@ljharb/tsconfig", + "compilerOptions": { + "target": "ES2021", + "maxNodeModuleJsDepth": 0, + }, + "exclude": [ + "coverage" + ] +} diff --git a/dist/node_modules/has-tostringtag/.eslintrc b/dist/node_modules/has-tostringtag/.eslintrc new file mode 100644 index 00000000..3b5d9e90 --- /dev/null +++ b/dist/node_modules/has-tostringtag/.eslintrc @@ -0,0 +1,5 @@ +{ + "root": true, + + "extends": "@ljharb", +} diff --git a/dist/node_modules/has-tostringtag/.github/FUNDING.yml b/dist/node_modules/has-tostringtag/.github/FUNDING.yml new file mode 100644 index 00000000..7a450e70 --- /dev/null +++ b/dist/node_modules/has-tostringtag/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: [ljharb] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: npm/has-tostringtag +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/dist/node_modules/has-tostringtag/.nycrc b/dist/node_modules/has-tostringtag/.nycrc new file mode 100644 index 00000000..1826526e --- /dev/null +++ b/dist/node_modules/has-tostringtag/.nycrc @@ -0,0 +1,13 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "lines": 86, + "statements": 85.93, + "functions": 82.43, + "branches": 76.06, + "exclude": [ + "coverage", + "test" + ] +} diff --git a/dist/node_modules/has-tostringtag/CHANGELOG.md b/dist/node_modules/has-tostringtag/CHANGELOG.md new file mode 100644 index 00000000..eb186ec6 --- /dev/null +++ b/dist/node_modules/has-tostringtag/CHANGELOG.md @@ -0,0 +1,42 @@ +# 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.0.2](https://github.com/inspect-js/has-tostringtag/compare/v1.0.1...v1.0.2) - 2024-02-01 + +### Fixed + +- [Fix] move `has-symbols` back to prod deps [`#3`](https://github.com/inspect-js/has-tostringtag/issues/3) + +## [v1.0.1](https://github.com/inspect-js/has-tostringtag/compare/v1.0.0...v1.0.1) - 2024-02-01 + +### Commits + +- [patch] add types [`9276414`](https://github.com/inspect-js/has-tostringtag/commit/9276414b22fab3eeb234688841722c4be113201f) +- [meta] use `npmignore` to autogenerate an npmignore file [`5c0dcd1`](https://github.com/inspect-js/has-tostringtag/commit/5c0dcd1ff66419562a30d1fd88b966cc36bce5fc) +- [actions] reuse common workflows [`dee9509`](https://github.com/inspect-js/has-tostringtag/commit/dee950904ab5719b62cf8d73d2ac950b09093266) +- [actions] update codecov uploader [`b8cb3a0`](https://github.com/inspect-js/has-tostringtag/commit/b8cb3a0b8ffbb1593012c4c2daa45fb25642825d) +- [Tests] generate coverage [`be5b288`](https://github.com/inspect-js/has-tostringtag/commit/be5b28889e2735cdbcef387f84c2829995f2f05e) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `safe-publish-latest`, `tape` [`69a0827`](https://github.com/inspect-js/has-tostringtag/commit/69a0827974e9b877b2c75b70b057555da8f25a65) +- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog`, `tape` [`4c9e210`](https://github.com/inspect-js/has-tostringtag/commit/4c9e210a5682f0557a3235d36b68ce809d7fb825) +- [actions] update rebase action to use reusable workflow [`ca8dcd3`](https://github.com/inspect-js/has-tostringtag/commit/ca8dcd3a6f3f5805d7e3fd461b654aedba0946e7) +- [Dev Deps] update `@ljharb/eslint-config`, `aud`, `npmignore`, `tape` [`07f3eaf`](https://github.com/inspect-js/has-tostringtag/commit/07f3eafa45dd98208c94479737da77f9a69b94c4) +- [Deps] update `has-symbols` [`999e009`](https://github.com/inspect-js/has-tostringtag/commit/999e0095a7d1749a58f55472ec8bf8108cdfdcf3) +- [Tests] remove staging tests since they fail on modern node [`9d9526b`](https://github.com/inspect-js/has-tostringtag/commit/9d9526b1dc1ca7f2292b52efda4c3d857b0e39bd) + +## v1.0.0 - 2021-08-05 + +### Commits + +- Tests [`6b6f573`](https://github.com/inspect-js/has-tostringtag/commit/6b6f5734dc2058badb300ff0783efdad95fe1a65) +- Initial commit [`2f8190e`](https://github.com/inspect-js/has-tostringtag/commit/2f8190e799fac32ba9b95a076c0255e01d7ce475) +- [meta] do not publish github action workflow files [`6e08cc4`](https://github.com/inspect-js/has-tostringtag/commit/6e08cc4e0fea7ec71ef66e70734b2af2c4a8b71b) +- readme [`94bed6c`](https://github.com/inspect-js/has-tostringtag/commit/94bed6c9560cbbfda034f8d6c260bb7b0db33c1a) +- npm init [`be67840`](https://github.com/inspect-js/has-tostringtag/commit/be67840ab92ee7adb98bcc65261975543f815fa5) +- Implementation [`c4914ec`](https://github.com/inspect-js/has-tostringtag/commit/c4914ecc51ddee692c85b471ae0a5d8123030fbf) +- [meta] use `auto-changelog` [`4aaf768`](https://github.com/inspect-js/has-tostringtag/commit/4aaf76895ae01d7b739f2b19f967ef2372506cd7) +- Only apps should have lockfiles [`bc4d99e`](https://github.com/inspect-js/has-tostringtag/commit/bc4d99e4bf494afbaa235c5f098df6e642edf724) +- [meta] add `safe-publish-latest` [`6523c05`](https://github.com/inspect-js/has-tostringtag/commit/6523c05c9b87140f3ae74c9daf91633dd9ff4e1f) diff --git a/dist/node_modules/has-tostringtag/LICENSE b/dist/node_modules/has-tostringtag/LICENSE new file mode 100644 index 00000000..7948bc02 --- /dev/null +++ b/dist/node_modules/has-tostringtag/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Inspect JS + +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. diff --git a/dist/node_modules/has-tostringtag/README.md b/dist/node_modules/has-tostringtag/README.md new file mode 100644 index 00000000..67a5e929 --- /dev/null +++ b/dist/node_modules/has-tostringtag/README.md @@ -0,0 +1,46 @@ +# has-tostringtag [![Version Badge][2]][1] + +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] +[![dependency status][5]][6] +[![dev dependency status][7]][8] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][11]][1] + +Determine if the JS environment has `Symbol.toStringTag` support. Supports spec, or shams. + +## Example + +```js +var hasSymbolToStringTag = require('has-tostringtag'); + +hasSymbolToStringTag() === true; // if the environment has native Symbol.toStringTag support. Not polyfillable, not forgeable. + +var hasSymbolToStringTagKinda = require('has-tostringtag/shams'); +hasSymbolToStringTagKinda() === true; // if the environment has a Symbol.toStringTag sham that mostly follows the spec. +``` + +## Supported Symbol shams + - get-own-property-symbols [npm](https://www.npmjs.com/package/get-own-property-symbols) | [github](https://github.com/WebReflection/get-own-property-symbols) + - core-js [npm](https://www.npmjs.com/package/core-js) | [github](https://github.com/zloirock/core-js) + +## Tests +Simply clone the repo, `npm install`, and run `npm test` + +[1]: https://npmjs.org/package/has-tostringtag +[2]: https://versionbadg.es/inspect-js/has-tostringtag.svg +[5]: https://david-dm.org/inspect-js/has-tostringtag.svg +[6]: https://david-dm.org/inspect-js/has-tostringtag +[7]: https://david-dm.org/inspect-js/has-tostringtag/dev-status.svg +[8]: https://david-dm.org/inspect-js/has-tostringtag#info=devDependencies +[11]: https://nodei.co/npm/has-tostringtag.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/has-tostringtag.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/has-tostringtag.svg +[downloads-url]: https://npm-stat.com/charts.html?package=has-tostringtag +[codecov-image]: https://codecov.io/gh/inspect-js/has-tostringtag/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/inspect-js/has-tostringtag/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/has-tostringtag +[actions-url]: https://github.com/inspect-js/has-tostringtag/actions diff --git a/dist/node_modules/has-tostringtag/index.d.ts b/dist/node_modules/has-tostringtag/index.d.ts new file mode 100644 index 00000000..a61bc60a --- /dev/null +++ b/dist/node_modules/has-tostringtag/index.d.ts @@ -0,0 +1,3 @@ +declare function hasToStringTag(): boolean; + +export = hasToStringTag; diff --git a/dist/node_modules/has-tostringtag/index.js b/dist/node_modules/has-tostringtag/index.js new file mode 100644 index 00000000..77bfa007 --- /dev/null +++ b/dist/node_modules/has-tostringtag/index.js @@ -0,0 +1,8 @@ +'use strict'; + +var hasSymbols = require('has-symbols'); + +/** @type {import('.')} */ +module.exports = function hasToStringTag() { + return hasSymbols() && typeof Symbol.toStringTag === 'symbol'; +}; diff --git a/dist/node_modules/has-tostringtag/package.json b/dist/node_modules/has-tostringtag/package.json new file mode 100644 index 00000000..e5b03002 --- /dev/null +++ b/dist/node_modules/has-tostringtag/package.json @@ -0,0 +1,108 @@ +{ + "name": "has-tostringtag", + "version": "1.0.2", + "author": { + "name": "Jordan Harband", + "email": "ljharb@gmail.com", + "url": "http://ljharb.codes" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "contributors": [ + { + "name": "Jordan Harband", + "email": "ljharb@gmail.com", + "url": "http://ljharb.codes" + } + ], + "description": "Determine if the JS environment has `Symbol.toStringTag` support. Supports spec, or shams.", + "license": "MIT", + "main": "index.js", + "types": "./index.d.ts", + "exports": { + ".": [ + { + "types": "./index.d.ts", + "default": "./index.js" + }, + "./index.js" + ], + "./shams": [ + { + "types": "./shams.d.ts", + "default": "./shams.js" + }, + "./shams.js" + ], + "./package.json": "./package.json" + }, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "pretest": "npm run --silent lint", + "test": "npm run tests-only", + "posttest": "aud --production", + "tests-only": "npm run test:stock && npm run test:shams", + "test:stock": "nyc node test", + "test:staging": "nyc node --harmony --es-staging test", + "test:shams": "npm run --silent test:shams:getownpropertysymbols && npm run --silent test:shams:corejs", + "test:shams:corejs": "nyc node test/shams/core-js.js", + "test:shams:getownpropertysymbols": "nyc node test/shams/get-own-property-symbols.js", + "lint": "eslint --ext=js,mjs .", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/inspect-js/has-tostringtag.git" + }, + "bugs": { + "url": "https://github.com/inspect-js/has-tostringtag/issues" + }, + "homepage": "https://github.com/inspect-js/has-tostringtag#readme", + "keywords": [ + "javascript", + "ecmascript", + "symbol", + "symbols", + "tostringtag", + "Symbol.toStringTag" + ], + "devDependencies": { + "@ljharb/eslint-config": "^21.1.0", + "@types/has-symbols": "^1.0.2", + "@types/tape": "^5.6.4", + "aud": "^2.0.4", + "auto-changelog": "^2.4.0", + "core-js": "^2.6.12", + "eslint": "=8.8.0", + "get-own-property-symbols": "^0.9.5", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.7.4", + "typescript": "next" + }, + "engines": { + "node": ">= 0.4" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "dependencies": { + "has-symbols": "^1.0.3" + } +} diff --git a/dist/node_modules/has-tostringtag/shams.d.ts b/dist/node_modules/has-tostringtag/shams.d.ts new file mode 100644 index 00000000..ea4aeecf --- /dev/null +++ b/dist/node_modules/has-tostringtag/shams.d.ts @@ -0,0 +1,3 @@ +declare function hasToStringTagShams(): boolean; + +export = hasToStringTagShams; diff --git a/dist/node_modules/has-tostringtag/shams.js b/dist/node_modules/has-tostringtag/shams.js new file mode 100644 index 00000000..809580db --- /dev/null +++ b/dist/node_modules/has-tostringtag/shams.js @@ -0,0 +1,8 @@ +'use strict'; + +var hasSymbols = require('has-symbols/shams'); + +/** @type {import('.')} */ +module.exports = function hasToStringTagShams() { + return hasSymbols() && !!Symbol.toStringTag; +}; diff --git a/dist/node_modules/has-tostringtag/test/index.js b/dist/node_modules/has-tostringtag/test/index.js new file mode 100644 index 00000000..0679afdf --- /dev/null +++ b/dist/node_modules/has-tostringtag/test/index.js @@ -0,0 +1,21 @@ +'use strict'; + +var test = require('tape'); +var hasSymbolToStringTag = require('../'); +var runSymbolTests = require('./tests'); + +test('interface', function (t) { + t.equal(typeof hasSymbolToStringTag, 'function', 'is a function'); + t.equal(typeof hasSymbolToStringTag(), 'boolean', 'returns a boolean'); + t.end(); +}); + +test('Symbol.toStringTag exists', { skip: !hasSymbolToStringTag() }, function (t) { + runSymbolTests(t); + t.end(); +}); + +test('Symbol.toStringTag does not exist', { skip: hasSymbolToStringTag() }, function (t) { + t.equal(typeof Symbol === 'undefined' ? 'undefined' : typeof Symbol.toStringTag, 'undefined', 'global Symbol.toStringTag is undefined'); + t.end(); +}); diff --git a/dist/node_modules/has-tostringtag/test/shams/core-js.js b/dist/node_modules/has-tostringtag/test/shams/core-js.js new file mode 100644 index 00000000..7ab214da --- /dev/null +++ b/dist/node_modules/has-tostringtag/test/shams/core-js.js @@ -0,0 +1,31 @@ +'use strict'; + +var test = require('tape'); + +if (typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol') { + test('has native Symbol.toStringTag support', function (t) { + t.equal(typeof Symbol, 'function'); + t.equal(typeof Symbol.toStringTag, 'symbol'); + t.end(); + }); + // @ts-expect-error CJS has top-level return + return; +} + +var hasSymbolToStringTag = require('../../shams'); + +test('polyfilled Symbols', function (t) { + /* eslint-disable global-require */ + t.equal(hasSymbolToStringTag(), false, 'hasSymbolToStringTag is false before polyfilling'); + // @ts-expect-error no types defined + require('core-js/fn/symbol'); + // @ts-expect-error no types defined + require('core-js/fn/symbol/to-string-tag'); + + require('../tests')(t); + + var hasToStringTagAfter = hasSymbolToStringTag(); + t.equal(hasToStringTagAfter, true, 'hasSymbolToStringTag is true after polyfilling'); + /* eslint-enable global-require */ + t.end(); +}); diff --git a/dist/node_modules/has-tostringtag/test/shams/get-own-property-symbols.js b/dist/node_modules/has-tostringtag/test/shams/get-own-property-symbols.js new file mode 100644 index 00000000..c8af44c5 --- /dev/null +++ b/dist/node_modules/has-tostringtag/test/shams/get-own-property-symbols.js @@ -0,0 +1,30 @@ +'use strict'; + +var test = require('tape'); + +if (typeof Symbol === 'function' && typeof Symbol() === 'symbol') { + test('has native Symbol support', function (t) { + t.equal(typeof Symbol, 'function'); + t.equal(typeof Symbol(), 'symbol'); + t.end(); + }); + // @ts-expect-error CJS has top-level return + return; +} + +var hasSymbolToStringTag = require('../../shams'); + +test('polyfilled Symbols', function (t) { + /* eslint-disable global-require */ + t.equal(hasSymbolToStringTag(), false, 'hasSymbolToStringTag is false before polyfilling'); + + // @ts-expect-error no types defined + require('get-own-property-symbols'); + + require('../tests')(t); + + var hasToStringTagAfter = hasSymbolToStringTag(); + t.equal(hasToStringTagAfter, true, 'hasSymbolToStringTag is true after polyfilling'); + /* eslint-enable global-require */ + t.end(); +}); diff --git a/dist/node_modules/has-tostringtag/test/tests.js b/dist/node_modules/has-tostringtag/test/tests.js new file mode 100644 index 00000000..2aa0d488 --- /dev/null +++ b/dist/node_modules/has-tostringtag/test/tests.js @@ -0,0 +1,15 @@ +'use strict'; + +// eslint-disable-next-line consistent-return +module.exports = /** @type {(t: import('tape').Test) => void | false} */ function runSymbolTests(t) { + t.equal(typeof Symbol, 'function', 'global Symbol is a function'); + t.ok(Symbol.toStringTag, 'Symbol.toStringTag exists'); + + if (typeof Symbol !== 'function' || !Symbol.toStringTag) { return false; } + + /** @type {{ [Symbol.toStringTag]?: 'test'}} */ + var obj = {}; + obj[Symbol.toStringTag] = 'test'; + + t.equal(Object.prototype.toString.call(obj), '[object test]'); +}; diff --git a/dist/node_modules/has-tostringtag/tsconfig.json b/dist/node_modules/has-tostringtag/tsconfig.json new file mode 100644 index 00000000..2002ce5a --- /dev/null +++ b/dist/node_modules/has-tostringtag/tsconfig.json @@ -0,0 +1,49 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig to read more about this file */ + + /* Projects */ + + /* Language and Environment */ + "target": "ESNext", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ + // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ + "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ + // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ + + /* Modules */ + "module": "commonjs", /* Specify what module code is generated. */ + // "rootDir": "./", /* Specify the root folder within your source files. */ + // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ + // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ + // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ + // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ + "typeRoots": ["types"], /* Specify multiple folders that act like './node_modules/@types'. */ + "resolveJsonModule": true, /* Enable importing .json files. */ + // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ + + /* JavaScript Support */ + "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ + "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ + "maxNodeModuleJsDepth": 0, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ + + /* Emit */ + "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ + "declarationMap": true, /* Create sourcemaps for d.ts files. */ + "noEmit": true, /* Disable emitting files from a compilation. */ + + /* Interop Constraints */ + "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ + "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ + "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ + + /* Type Checking */ + "strict": true, /* Enable all strict type-checking options. */ + + /* Completeness */ + //"skipLibCheck": true /* Skip type checking all .d.ts files. */ + }, + "exclude": [ + "coverage" + ] +} diff --git a/dist/node_modules/hasown/.eslintrc b/dist/node_modules/hasown/.eslintrc new file mode 100644 index 00000000..3b5d9e90 --- /dev/null +++ b/dist/node_modules/hasown/.eslintrc @@ -0,0 +1,5 @@ +{ + "root": true, + + "extends": "@ljharb", +} diff --git a/dist/node_modules/hasown/.github/FUNDING.yml b/dist/node_modules/hasown/.github/FUNDING.yml new file mode 100644 index 00000000..d68c8b71 --- /dev/null +++ b/dist/node_modules/hasown/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: [ljharb] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: npm/hasown +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with a single custom sponsorship URL diff --git a/dist/node_modules/hasown/.nycrc b/dist/node_modules/hasown/.nycrc new file mode 100644 index 00000000..1826526e --- /dev/null +++ b/dist/node_modules/hasown/.nycrc @@ -0,0 +1,13 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "lines": 86, + "statements": 85.93, + "functions": 82.43, + "branches": 76.06, + "exclude": [ + "coverage", + "test" + ] +} diff --git a/dist/node_modules/hasown/CHANGELOG.md b/dist/node_modules/hasown/CHANGELOG.md new file mode 100644 index 00000000..2b0a980f --- /dev/null +++ b/dist/node_modules/hasown/CHANGELOG.md @@ -0,0 +1,40 @@ +# 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). + +## [v2.0.2](https://github.com/inspect-js/hasOwn/compare/v2.0.1...v2.0.2) - 2024-03-10 + +### Commits + +- [types] use shared config [`68e9d4d`](https://github.com/inspect-js/hasOwn/commit/68e9d4dab6facb4f05f02c6baea94a3f2a4e44b2) +- [actions] remove redundant finisher; use reusable workflow [`241a68e`](https://github.com/inspect-js/hasOwn/commit/241a68e13ea1fe52bec5ba7f74144befc31fae7b) +- [Tests] increase coverage [`4125c0d`](https://github.com/inspect-js/hasOwn/commit/4125c0d6121db56ae30e38346dfb0c000b04f0a7) +- [Tests] skip `npm ls` in old node due to TS [`01b9282`](https://github.com/inspect-js/hasOwn/commit/01b92822f9971dea031eafdd14767df41d61c202) +- [types] improve predicate type [`d340f85`](https://github.com/inspect-js/hasOwn/commit/d340f85ce02e286ef61096cbbb6697081d40a12b) +- [Dev Deps] update `tape` [`70089fc`](https://github.com/inspect-js/hasOwn/commit/70089fcf544e64acc024cbe60f5a9b00acad86de) +- [Tests] use `@arethetypeswrong/cli` [`50b272c`](https://github.com/inspect-js/hasOwn/commit/50b272c829f40d053a3dd91c9796e0ac0b2af084) + +## [v2.0.1](https://github.com/inspect-js/hasOwn/compare/v2.0.0...v2.0.1) - 2024-02-10 + +### Commits + +- [types] use a handwritten d.ts file; fix exported type [`012b989`](https://github.com/inspect-js/hasOwn/commit/012b9898ccf91dc441e2ebf594ff70270a5fda58) +- [Dev Deps] update `@types/function-bind`, `@types/mock-property`, `@types/tape`, `aud`, `mock-property`, `npmignore`, `tape`, `typescript` [`977a56f`](https://github.com/inspect-js/hasOwn/commit/977a56f51a1f8b20566f3c471612137894644025) +- [meta] add `sideEffects` flag [`3a60b7b`](https://github.com/inspect-js/hasOwn/commit/3a60b7bf42fccd8c605e5f145a6fcc83b13cb46f) + +## [v2.0.0](https://github.com/inspect-js/hasOwn/compare/v1.0.1...v2.0.0) - 2023-10-19 + +### Commits + +- revamped implementation, tests, readme [`72bf8b3`](https://github.com/inspect-js/hasOwn/commit/72bf8b338e77a638f0a290c63ffaed18339c36b4) +- [meta] revamp package.json [`079775f`](https://github.com/inspect-js/hasOwn/commit/079775fb1ec72c1c6334069593617a0be3847458) +- Only apps should have lockfiles [`6640e23`](https://github.com/inspect-js/hasOwn/commit/6640e233d1bb8b65260880f90787637db157d215) + +## v1.0.1 - 2023-10-10 + +### Commits + +- Initial commit [`8dbfde6`](https://github.com/inspect-js/hasOwn/commit/8dbfde6e8fb0ebb076fab38d138f2984eb340a62) diff --git a/dist/node_modules/hasown/LICENSE b/dist/node_modules/hasown/LICENSE new file mode 100644 index 00000000..03149290 --- /dev/null +++ b/dist/node_modules/hasown/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) Jordan Harband and contributors + +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. diff --git a/dist/node_modules/hasown/README.md b/dist/node_modules/hasown/README.md new file mode 100644 index 00000000..f759b8a8 --- /dev/null +++ b/dist/node_modules/hasown/README.md @@ -0,0 +1,40 @@ +# hasown [![Version Badge][npm-version-svg]][package-url] + +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][npm-badge-png]][package-url] + +A robust, ES3 compatible, "has own property" predicate. + +## Example + +```js +const assert = require('assert'); +const hasOwn = require('hasown'); + +assert.equal(hasOwn({}, 'toString'), false); +assert.equal(hasOwn([], 'length'), true); +assert.equal(hasOwn({ a: 42 }, 'a'), true); +``` + +## Tests +Simply clone the repo, `npm install`, and run `npm test` + +[package-url]: https://npmjs.org/package/hasown +[npm-version-svg]: https://versionbadg.es/inspect-js/hasown.svg +[deps-svg]: https://david-dm.org/inspect-js/hasOwn.svg +[deps-url]: https://david-dm.org/inspect-js/hasOwn +[dev-deps-svg]: https://david-dm.org/inspect-js/hasOwn/dev-status.svg +[dev-deps-url]: https://david-dm.org/inspect-js/hasOwn#info=devDependencies +[npm-badge-png]: https://nodei.co/npm/hasown.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/hasown.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/hasown.svg +[downloads-url]: https://npm-stat.com/charts.html?package=hasown +[codecov-image]: https://codecov.io/gh/inspect-js/hasOwn/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/inspect-js/hasOwn/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/hasOwn +[actions-url]: https://github.com/inspect-js/hasOwn/actions diff --git a/dist/node_modules/hasown/index.d.ts b/dist/node_modules/hasown/index.d.ts new file mode 100644 index 00000000..aafdf3b2 --- /dev/null +++ b/dist/node_modules/hasown/index.d.ts @@ -0,0 +1,3 @@ +declare function hasOwn(o: O, p: K): o is O & Record; + +export = hasOwn; diff --git a/dist/node_modules/hasown/index.js b/dist/node_modules/hasown/index.js new file mode 100644 index 00000000..34e60591 --- /dev/null +++ b/dist/node_modules/hasown/index.js @@ -0,0 +1,8 @@ +'use strict'; + +var call = Function.prototype.call; +var $hasOwn = Object.prototype.hasOwnProperty; +var bind = require('function-bind'); + +/** @type {import('.')} */ +module.exports = bind.call(call, $hasOwn); diff --git a/dist/node_modules/hasown/package.json b/dist/node_modules/hasown/package.json new file mode 100644 index 00000000..8502e13d --- /dev/null +++ b/dist/node_modules/hasown/package.json @@ -0,0 +1,92 @@ +{ + "name": "hasown", + "version": "2.0.2", + "description": "A robust, ES3 compatible, \"has own property\" predicate.", + "main": "index.js", + "exports": { + ".": "./index.js", + "./package.json": "./package.json" + }, + "types": "index.d.ts", + "sideEffects": false, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepublishOnly": "safe-publish-latest", + "prelint": "evalmd README.md", + "lint": "eslint --ext=js,mjs .", + "postlint": "npm run tsc", + "pretest": "npm run lint", + "tsc": "tsc -p .", + "posttsc": "attw -P", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "aud --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/inspect-js/hasOwn.git" + }, + "keywords": [ + "has", + "hasOwnProperty", + "hasOwn", + "has-own", + "own", + "has", + "property", + "in", + "javascript", + "ecmascript" + ], + "author": "Jordan Harband ", + "license": "MIT", + "bugs": { + "url": "https://github.com/inspect-js/hasOwn/issues" + }, + "homepage": "https://github.com/inspect-js/hasOwn#readme", + "dependencies": { + "function-bind": "^1.1.2" + }, + "devDependencies": { + "@arethetypeswrong/cli": "^0.15.1", + "@ljharb/eslint-config": "^21.1.0", + "@ljharb/tsconfig": "^0.2.0", + "@types/function-bind": "^1.1.10", + "@types/mock-property": "^1.0.2", + "@types/tape": "^5.6.4", + "aud": "^2.0.4", + "auto-changelog": "^2.4.0", + "eslint": "=8.8.0", + "evalmd": "^0.0.19", + "in-publish": "^2.0.1", + "mock-property": "^1.0.3", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.7.5", + "typescript": "next" + }, + "engines": { + "node": ">= 0.4" + }, + "testling": { + "files": "test/index.js" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows", + "test" + ] + } +} diff --git a/dist/node_modules/hasown/tsconfig.json b/dist/node_modules/hasown/tsconfig.json new file mode 100644 index 00000000..0930c565 --- /dev/null +++ b/dist/node_modules/hasown/tsconfig.json @@ -0,0 +1,6 @@ +{ + "extends": "@ljharb/tsconfig", + "exclude": [ + "coverage", + ], +} diff --git a/dist/node_modules/lodash/LICENSE b/dist/node_modules/lodash/LICENSE new file mode 100644 index 00000000..77c42f14 --- /dev/null +++ b/dist/node_modules/lodash/LICENSE @@ -0,0 +1,47 @@ +Copyright OpenJS Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +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. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. diff --git a/dist/node_modules/lodash/README.md b/dist/node_modules/lodash/README.md new file mode 100644 index 00000000..fc93193f --- /dev/null +++ b/dist/node_modules/lodash/README.md @@ -0,0 +1,39 @@ +# lodash v4.18.1 + +The [Lodash](https://lodash.com/) library exported as [Node.js](https://nodejs.org/) modules. + +## Installation + +Using npm: +```shell +$ npm i -g npm +$ npm i --save lodash +``` + +In Node.js: +```js +// Load the full build. +var _ = require('lodash'); +// Load the core build. +var _ = require('lodash/core'); +// Load the FP build for immutable auto-curried iteratee-first data-last methods. +var fp = require('lodash/fp'); + +// Load method categories. +var array = require('lodash/array'); +var object = require('lodash/fp/object'); + +// Cherry-pick methods for smaller browserify/rollup/webpack bundles. +var at = require('lodash/at'); +var curryN = require('lodash/fp/curryN'); +``` + +See the [package source](https://github.com/lodash/lodash/tree/4.18.1-npm) for more details. + +**Note:**
+Install [n_](https://www.npmjs.com/package/n_) for Lodash use in the Node.js < 6 REPL. + +## Support + +Tested in Chrome 74-75, Firefox 66-67, IE 11, Edge 18, Safari 11-12, & Node.js 8-12.
+Automated [browser](https://saucelabs.com/u/lodash) & [CI](https://travis-ci.org/lodash/lodash/) test runs are available. diff --git a/dist/node_modules/lodash/_DataView.js b/dist/node_modules/lodash/_DataView.js new file mode 100644 index 00000000..ac2d57ca --- /dev/null +++ b/dist/node_modules/lodash/_DataView.js @@ -0,0 +1,7 @@ +var getNative = require('./_getNative'), + root = require('./_root'); + +/* Built-in method references that are verified to be native. */ +var DataView = getNative(root, 'DataView'); + +module.exports = DataView; diff --git a/dist/node_modules/lodash/_Hash.js b/dist/node_modules/lodash/_Hash.js new file mode 100644 index 00000000..b504fe34 --- /dev/null +++ b/dist/node_modules/lodash/_Hash.js @@ -0,0 +1,32 @@ +var hashClear = require('./_hashClear'), + hashDelete = require('./_hashDelete'), + hashGet = require('./_hashGet'), + hashHas = require('./_hashHas'), + hashSet = require('./_hashSet'); + +/** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Hash(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +// Add methods to `Hash`. +Hash.prototype.clear = hashClear; +Hash.prototype['delete'] = hashDelete; +Hash.prototype.get = hashGet; +Hash.prototype.has = hashHas; +Hash.prototype.set = hashSet; + +module.exports = Hash; diff --git a/dist/node_modules/lodash/_LazyWrapper.js b/dist/node_modules/lodash/_LazyWrapper.js new file mode 100644 index 00000000..81786c7f --- /dev/null +++ b/dist/node_modules/lodash/_LazyWrapper.js @@ -0,0 +1,28 @@ +var baseCreate = require('./_baseCreate'), + baseLodash = require('./_baseLodash'); + +/** Used as references for the maximum length and index of an array. */ +var MAX_ARRAY_LENGTH = 4294967295; + +/** + * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation. + * + * @private + * @constructor + * @param {*} value The value to wrap. + */ +function LazyWrapper(value) { + this.__wrapped__ = value; + this.__actions__ = []; + this.__dir__ = 1; + this.__filtered__ = false; + this.__iteratees__ = []; + this.__takeCount__ = MAX_ARRAY_LENGTH; + this.__views__ = []; +} + +// Ensure `LazyWrapper` is an instance of `baseLodash`. +LazyWrapper.prototype = baseCreate(baseLodash.prototype); +LazyWrapper.prototype.constructor = LazyWrapper; + +module.exports = LazyWrapper; diff --git a/dist/node_modules/lodash/_ListCache.js b/dist/node_modules/lodash/_ListCache.js new file mode 100644 index 00000000..26895c3a --- /dev/null +++ b/dist/node_modules/lodash/_ListCache.js @@ -0,0 +1,32 @@ +var listCacheClear = require('./_listCacheClear'), + listCacheDelete = require('./_listCacheDelete'), + listCacheGet = require('./_listCacheGet'), + listCacheHas = require('./_listCacheHas'), + listCacheSet = require('./_listCacheSet'); + +/** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function ListCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +// Add methods to `ListCache`. +ListCache.prototype.clear = listCacheClear; +ListCache.prototype['delete'] = listCacheDelete; +ListCache.prototype.get = listCacheGet; +ListCache.prototype.has = listCacheHas; +ListCache.prototype.set = listCacheSet; + +module.exports = ListCache; diff --git a/dist/node_modules/lodash/_LodashWrapper.js b/dist/node_modules/lodash/_LodashWrapper.js new file mode 100644 index 00000000..c1e4d9df --- /dev/null +++ b/dist/node_modules/lodash/_LodashWrapper.js @@ -0,0 +1,22 @@ +var baseCreate = require('./_baseCreate'), + baseLodash = require('./_baseLodash'); + +/** + * The base constructor for creating `lodash` wrapper objects. + * + * @private + * @param {*} value The value to wrap. + * @param {boolean} [chainAll] Enable explicit method chain sequences. + */ +function LodashWrapper(value, chainAll) { + this.__wrapped__ = value; + this.__actions__ = []; + this.__chain__ = !!chainAll; + this.__index__ = 0; + this.__values__ = undefined; +} + +LodashWrapper.prototype = baseCreate(baseLodash.prototype); +LodashWrapper.prototype.constructor = LodashWrapper; + +module.exports = LodashWrapper; diff --git a/dist/node_modules/lodash/_Map.js b/dist/node_modules/lodash/_Map.js new file mode 100644 index 00000000..b73f29a0 --- /dev/null +++ b/dist/node_modules/lodash/_Map.js @@ -0,0 +1,7 @@ +var getNative = require('./_getNative'), + root = require('./_root'); + +/* Built-in method references that are verified to be native. */ +var Map = getNative(root, 'Map'); + +module.exports = Map; diff --git a/dist/node_modules/lodash/_MapCache.js b/dist/node_modules/lodash/_MapCache.js new file mode 100644 index 00000000..4a4eea7b --- /dev/null +++ b/dist/node_modules/lodash/_MapCache.js @@ -0,0 +1,32 @@ +var mapCacheClear = require('./_mapCacheClear'), + mapCacheDelete = require('./_mapCacheDelete'), + mapCacheGet = require('./_mapCacheGet'), + mapCacheHas = require('./_mapCacheHas'), + mapCacheSet = require('./_mapCacheSet'); + +/** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function MapCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +// Add methods to `MapCache`. +MapCache.prototype.clear = mapCacheClear; +MapCache.prototype['delete'] = mapCacheDelete; +MapCache.prototype.get = mapCacheGet; +MapCache.prototype.has = mapCacheHas; +MapCache.prototype.set = mapCacheSet; + +module.exports = MapCache; diff --git a/dist/node_modules/lodash/_Promise.js b/dist/node_modules/lodash/_Promise.js new file mode 100644 index 00000000..247b9e1b --- /dev/null +++ b/dist/node_modules/lodash/_Promise.js @@ -0,0 +1,7 @@ +var getNative = require('./_getNative'), + root = require('./_root'); + +/* Built-in method references that are verified to be native. */ +var Promise = getNative(root, 'Promise'); + +module.exports = Promise; diff --git a/dist/node_modules/lodash/_Set.js b/dist/node_modules/lodash/_Set.js new file mode 100644 index 00000000..b3c8dcbf --- /dev/null +++ b/dist/node_modules/lodash/_Set.js @@ -0,0 +1,7 @@ +var getNative = require('./_getNative'), + root = require('./_root'); + +/* Built-in method references that are verified to be native. */ +var Set = getNative(root, 'Set'); + +module.exports = Set; diff --git a/dist/node_modules/lodash/_SetCache.js b/dist/node_modules/lodash/_SetCache.js new file mode 100644 index 00000000..6468b064 --- /dev/null +++ b/dist/node_modules/lodash/_SetCache.js @@ -0,0 +1,27 @@ +var MapCache = require('./_MapCache'), + setCacheAdd = require('./_setCacheAdd'), + setCacheHas = require('./_setCacheHas'); + +/** + * + * Creates an array cache object to store unique values. + * + * @private + * @constructor + * @param {Array} [values] The values to cache. + */ +function SetCache(values) { + var index = -1, + length = values == null ? 0 : values.length; + + this.__data__ = new MapCache; + while (++index < length) { + this.add(values[index]); + } +} + +// Add methods to `SetCache`. +SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; +SetCache.prototype.has = setCacheHas; + +module.exports = SetCache; diff --git a/dist/node_modules/lodash/_Stack.js b/dist/node_modules/lodash/_Stack.js new file mode 100644 index 00000000..80b2cf1b --- /dev/null +++ b/dist/node_modules/lodash/_Stack.js @@ -0,0 +1,27 @@ +var ListCache = require('./_ListCache'), + stackClear = require('./_stackClear'), + stackDelete = require('./_stackDelete'), + stackGet = require('./_stackGet'), + stackHas = require('./_stackHas'), + stackSet = require('./_stackSet'); + +/** + * Creates a stack cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Stack(entries) { + var data = this.__data__ = new ListCache(entries); + this.size = data.size; +} + +// Add methods to `Stack`. +Stack.prototype.clear = stackClear; +Stack.prototype['delete'] = stackDelete; +Stack.prototype.get = stackGet; +Stack.prototype.has = stackHas; +Stack.prototype.set = stackSet; + +module.exports = Stack; diff --git a/dist/node_modules/lodash/_Symbol.js b/dist/node_modules/lodash/_Symbol.js new file mode 100644 index 00000000..a013f7c5 --- /dev/null +++ b/dist/node_modules/lodash/_Symbol.js @@ -0,0 +1,6 @@ +var root = require('./_root'); + +/** Built-in value references. */ +var Symbol = root.Symbol; + +module.exports = Symbol; diff --git a/dist/node_modules/lodash/_Uint8Array.js b/dist/node_modules/lodash/_Uint8Array.js new file mode 100644 index 00000000..2fb30e15 --- /dev/null +++ b/dist/node_modules/lodash/_Uint8Array.js @@ -0,0 +1,6 @@ +var root = require('./_root'); + +/** Built-in value references. */ +var Uint8Array = root.Uint8Array; + +module.exports = Uint8Array; diff --git a/dist/node_modules/lodash/_WeakMap.js b/dist/node_modules/lodash/_WeakMap.js new file mode 100644 index 00000000..567f86c6 --- /dev/null +++ b/dist/node_modules/lodash/_WeakMap.js @@ -0,0 +1,7 @@ +var getNative = require('./_getNative'), + root = require('./_root'); + +/* Built-in method references that are verified to be native. */ +var WeakMap = getNative(root, 'WeakMap'); + +module.exports = WeakMap; diff --git a/dist/node_modules/lodash/_apply.js b/dist/node_modules/lodash/_apply.js new file mode 100644 index 00000000..36436dda --- /dev/null +++ b/dist/node_modules/lodash/_apply.js @@ -0,0 +1,21 @@ +/** + * A faster alternative to `Function#apply`, this function invokes `func` + * with the `this` binding of `thisArg` and the arguments of `args`. + * + * @private + * @param {Function} func The function to invoke. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} args The arguments to invoke `func` with. + * @returns {*} Returns the result of `func`. + */ +function apply(func, thisArg, args) { + switch (args.length) { + case 0: return func.call(thisArg); + case 1: return func.call(thisArg, args[0]); + case 2: return func.call(thisArg, args[0], args[1]); + case 3: return func.call(thisArg, args[0], args[1], args[2]); + } + return func.apply(thisArg, args); +} + +module.exports = apply; diff --git a/dist/node_modules/lodash/_arrayAggregator.js b/dist/node_modules/lodash/_arrayAggregator.js new file mode 100644 index 00000000..d96c3ca4 --- /dev/null +++ b/dist/node_modules/lodash/_arrayAggregator.js @@ -0,0 +1,22 @@ +/** + * A specialized version of `baseAggregator` for arrays. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ +function arrayAggregator(array, setter, iteratee, accumulator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + var value = array[index]; + setter(accumulator, value, iteratee(value), array); + } + return accumulator; +} + +module.exports = arrayAggregator; diff --git a/dist/node_modules/lodash/_arrayEach.js b/dist/node_modules/lodash/_arrayEach.js new file mode 100644 index 00000000..2c5f5796 --- /dev/null +++ b/dist/node_modules/lodash/_arrayEach.js @@ -0,0 +1,22 @@ +/** + * A specialized version of `_.forEach` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ +function arrayEach(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (iteratee(array[index], index, array) === false) { + break; + } + } + return array; +} + +module.exports = arrayEach; diff --git a/dist/node_modules/lodash/_arrayEachRight.js b/dist/node_modules/lodash/_arrayEachRight.js new file mode 100644 index 00000000..976ca5c2 --- /dev/null +++ b/dist/node_modules/lodash/_arrayEachRight.js @@ -0,0 +1,21 @@ +/** + * A specialized version of `_.forEachRight` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ +function arrayEachRight(array, iteratee) { + var length = array == null ? 0 : array.length; + + while (length--) { + if (iteratee(array[length], length, array) === false) { + break; + } + } + return array; +} + +module.exports = arrayEachRight; diff --git a/dist/node_modules/lodash/_arrayEvery.js b/dist/node_modules/lodash/_arrayEvery.js new file mode 100644 index 00000000..e26a9184 --- /dev/null +++ b/dist/node_modules/lodash/_arrayEvery.js @@ -0,0 +1,23 @@ +/** + * A specialized version of `_.every` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false`. + */ +function arrayEvery(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (!predicate(array[index], index, array)) { + return false; + } + } + return true; +} + +module.exports = arrayEvery; diff --git a/dist/node_modules/lodash/_arrayFilter.js b/dist/node_modules/lodash/_arrayFilter.js new file mode 100644 index 00000000..75ea2544 --- /dev/null +++ b/dist/node_modules/lodash/_arrayFilter.js @@ -0,0 +1,25 @@ +/** + * A specialized version of `_.filter` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ +function arrayFilter(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result[resIndex++] = value; + } + } + return result; +} + +module.exports = arrayFilter; diff --git a/dist/node_modules/lodash/_arrayIncludes.js b/dist/node_modules/lodash/_arrayIncludes.js new file mode 100644 index 00000000..3737a6d9 --- /dev/null +++ b/dist/node_modules/lodash/_arrayIncludes.js @@ -0,0 +1,17 @@ +var baseIndexOf = require('./_baseIndexOf'); + +/** + * A specialized version of `_.includes` for arrays without support for + * specifying an index to search from. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ +function arrayIncludes(array, value) { + var length = array == null ? 0 : array.length; + return !!length && baseIndexOf(array, value, 0) > -1; +} + +module.exports = arrayIncludes; diff --git a/dist/node_modules/lodash/_arrayIncludesWith.js b/dist/node_modules/lodash/_arrayIncludesWith.js new file mode 100644 index 00000000..235fd975 --- /dev/null +++ b/dist/node_modules/lodash/_arrayIncludesWith.js @@ -0,0 +1,22 @@ +/** + * This function is like `arrayIncludes` except that it accepts a comparator. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @param {Function} comparator The comparator invoked per element. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ +function arrayIncludesWith(array, value, comparator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (comparator(value, array[index])) { + return true; + } + } + return false; +} + +module.exports = arrayIncludesWith; diff --git a/dist/node_modules/lodash/_arrayLikeKeys.js b/dist/node_modules/lodash/_arrayLikeKeys.js new file mode 100644 index 00000000..b2ec9ce7 --- /dev/null +++ b/dist/node_modules/lodash/_arrayLikeKeys.js @@ -0,0 +1,49 @@ +var baseTimes = require('./_baseTimes'), + isArguments = require('./isArguments'), + isArray = require('./isArray'), + isBuffer = require('./isBuffer'), + isIndex = require('./_isIndex'), + isTypedArray = require('./isTypedArray'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Creates an array of the enumerable property names of the array-like `value`. + * + * @private + * @param {*} value The value to query. + * @param {boolean} inherited Specify returning inherited property names. + * @returns {Array} Returns the array of property names. + */ +function arrayLikeKeys(value, inherited) { + var isArr = isArray(value), + isArg = !isArr && isArguments(value), + isBuff = !isArr && !isArg && isBuffer(value), + isType = !isArr && !isArg && !isBuff && isTypedArray(value), + skipIndexes = isArr || isArg || isBuff || isType, + result = skipIndexes ? baseTimes(value.length, String) : [], + length = result.length; + + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && + !(skipIndexes && ( + // Safari 9 has enumerable `arguments.length` in strict mode. + key == 'length' || + // Node.js 0.10 has enumerable non-index properties on buffers. + (isBuff && (key == 'offset' || key == 'parent')) || + // PhantomJS 2 has enumerable non-index properties on typed arrays. + (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || + // Skip index properties. + isIndex(key, length) + ))) { + result.push(key); + } + } + return result; +} + +module.exports = arrayLikeKeys; diff --git a/dist/node_modules/lodash/_arrayMap.js b/dist/node_modules/lodash/_arrayMap.js new file mode 100644 index 00000000..22b22464 --- /dev/null +++ b/dist/node_modules/lodash/_arrayMap.js @@ -0,0 +1,21 @@ +/** + * A specialized version of `_.map` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ +function arrayMap(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length, + result = Array(length); + + while (++index < length) { + result[index] = iteratee(array[index], index, array); + } + return result; +} + +module.exports = arrayMap; diff --git a/dist/node_modules/lodash/_arrayPush.js b/dist/node_modules/lodash/_arrayPush.js new file mode 100644 index 00000000..7d742b38 --- /dev/null +++ b/dist/node_modules/lodash/_arrayPush.js @@ -0,0 +1,20 @@ +/** + * Appends the elements of `values` to `array`. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to append. + * @returns {Array} Returns `array`. + */ +function arrayPush(array, values) { + var index = -1, + length = values.length, + offset = array.length; + + while (++index < length) { + array[offset + index] = values[index]; + } + return array; +} + +module.exports = arrayPush; diff --git a/dist/node_modules/lodash/_arrayReduce.js b/dist/node_modules/lodash/_arrayReduce.js new file mode 100644 index 00000000..de8b79b2 --- /dev/null +++ b/dist/node_modules/lodash/_arrayReduce.js @@ -0,0 +1,26 @@ +/** + * A specialized version of `_.reduce` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @param {boolean} [initAccum] Specify using the first element of `array` as + * the initial value. + * @returns {*} Returns the accumulated value. + */ +function arrayReduce(array, iteratee, accumulator, initAccum) { + var index = -1, + length = array == null ? 0 : array.length; + + if (initAccum && length) { + accumulator = array[++index]; + } + while (++index < length) { + accumulator = iteratee(accumulator, array[index], index, array); + } + return accumulator; +} + +module.exports = arrayReduce; diff --git a/dist/node_modules/lodash/_arrayReduceRight.js b/dist/node_modules/lodash/_arrayReduceRight.js new file mode 100644 index 00000000..22d8976d --- /dev/null +++ b/dist/node_modules/lodash/_arrayReduceRight.js @@ -0,0 +1,24 @@ +/** + * A specialized version of `_.reduceRight` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @param {boolean} [initAccum] Specify using the last element of `array` as + * the initial value. + * @returns {*} Returns the accumulated value. + */ +function arrayReduceRight(array, iteratee, accumulator, initAccum) { + var length = array == null ? 0 : array.length; + if (initAccum && length) { + accumulator = array[--length]; + } + while (length--) { + accumulator = iteratee(accumulator, array[length], length, array); + } + return accumulator; +} + +module.exports = arrayReduceRight; diff --git a/dist/node_modules/lodash/_arraySample.js b/dist/node_modules/lodash/_arraySample.js new file mode 100644 index 00000000..fcab0105 --- /dev/null +++ b/dist/node_modules/lodash/_arraySample.js @@ -0,0 +1,15 @@ +var baseRandom = require('./_baseRandom'); + +/** + * A specialized version of `_.sample` for arrays. + * + * @private + * @param {Array} array The array to sample. + * @returns {*} Returns the random element. + */ +function arraySample(array) { + var length = array.length; + return length ? array[baseRandom(0, length - 1)] : undefined; +} + +module.exports = arraySample; diff --git a/dist/node_modules/lodash/_arraySampleSize.js b/dist/node_modules/lodash/_arraySampleSize.js new file mode 100644 index 00000000..8c7e364f --- /dev/null +++ b/dist/node_modules/lodash/_arraySampleSize.js @@ -0,0 +1,17 @@ +var baseClamp = require('./_baseClamp'), + copyArray = require('./_copyArray'), + shuffleSelf = require('./_shuffleSelf'); + +/** + * A specialized version of `_.sampleSize` for arrays. + * + * @private + * @param {Array} array The array to sample. + * @param {number} n The number of elements to sample. + * @returns {Array} Returns the random elements. + */ +function arraySampleSize(array, n) { + return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length)); +} + +module.exports = arraySampleSize; diff --git a/dist/node_modules/lodash/_arrayShuffle.js b/dist/node_modules/lodash/_arrayShuffle.js new file mode 100644 index 00000000..46313a39 --- /dev/null +++ b/dist/node_modules/lodash/_arrayShuffle.js @@ -0,0 +1,15 @@ +var copyArray = require('./_copyArray'), + shuffleSelf = require('./_shuffleSelf'); + +/** + * A specialized version of `_.shuffle` for arrays. + * + * @private + * @param {Array} array The array to shuffle. + * @returns {Array} Returns the new shuffled array. + */ +function arrayShuffle(array) { + return shuffleSelf(copyArray(array)); +} + +module.exports = arrayShuffle; diff --git a/dist/node_modules/lodash/_arraySome.js b/dist/node_modules/lodash/_arraySome.js new file mode 100644 index 00000000..6fd02fd4 --- /dev/null +++ b/dist/node_modules/lodash/_arraySome.js @@ -0,0 +1,23 @@ +/** + * A specialized version of `_.some` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ +function arraySome(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + return false; +} + +module.exports = arraySome; diff --git a/dist/node_modules/lodash/_asciiSize.js b/dist/node_modules/lodash/_asciiSize.js new file mode 100644 index 00000000..11d29c33 --- /dev/null +++ b/dist/node_modules/lodash/_asciiSize.js @@ -0,0 +1,12 @@ +var baseProperty = require('./_baseProperty'); + +/** + * Gets the size of an ASCII `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ +var asciiSize = baseProperty('length'); + +module.exports = asciiSize; diff --git a/dist/node_modules/lodash/_asciiToArray.js b/dist/node_modules/lodash/_asciiToArray.js new file mode 100644 index 00000000..8e3dd5b4 --- /dev/null +++ b/dist/node_modules/lodash/_asciiToArray.js @@ -0,0 +1,12 @@ +/** + * Converts an ASCII `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ +function asciiToArray(string) { + return string.split(''); +} + +module.exports = asciiToArray; diff --git a/dist/node_modules/lodash/_asciiWords.js b/dist/node_modules/lodash/_asciiWords.js new file mode 100644 index 00000000..d765f0f7 --- /dev/null +++ b/dist/node_modules/lodash/_asciiWords.js @@ -0,0 +1,15 @@ +/** Used to match words composed of alphanumeric characters. */ +var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g; + +/** + * Splits an ASCII `string` into an array of its words. + * + * @private + * @param {string} The string to inspect. + * @returns {Array} Returns the words of `string`. + */ +function asciiWords(string) { + return string.match(reAsciiWord) || []; +} + +module.exports = asciiWords; diff --git a/dist/node_modules/lodash/_assignMergeValue.js b/dist/node_modules/lodash/_assignMergeValue.js new file mode 100644 index 00000000..cb1185e9 --- /dev/null +++ b/dist/node_modules/lodash/_assignMergeValue.js @@ -0,0 +1,20 @@ +var baseAssignValue = require('./_baseAssignValue'), + eq = require('./eq'); + +/** + * This function is like `assignValue` except that it doesn't assign + * `undefined` values. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ +function assignMergeValue(object, key, value) { + if ((value !== undefined && !eq(object[key], value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } +} + +module.exports = assignMergeValue; diff --git a/dist/node_modules/lodash/_assignValue.js b/dist/node_modules/lodash/_assignValue.js new file mode 100644 index 00000000..40839575 --- /dev/null +++ b/dist/node_modules/lodash/_assignValue.js @@ -0,0 +1,28 @@ +var baseAssignValue = require('./_baseAssignValue'), + eq = require('./eq'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Assigns `value` to `key` of `object` if the existing value is not equivalent + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ +function assignValue(object, key, value) { + var objValue = object[key]; + if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } +} + +module.exports = assignValue; diff --git a/dist/node_modules/lodash/_assocIndexOf.js b/dist/node_modules/lodash/_assocIndexOf.js new file mode 100644 index 00000000..5b77a2bd --- /dev/null +++ b/dist/node_modules/lodash/_assocIndexOf.js @@ -0,0 +1,21 @@ +var eq = require('./eq'); + +/** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; +} + +module.exports = assocIndexOf; diff --git a/dist/node_modules/lodash/_baseAggregator.js b/dist/node_modules/lodash/_baseAggregator.js new file mode 100644 index 00000000..4bc9e91f --- /dev/null +++ b/dist/node_modules/lodash/_baseAggregator.js @@ -0,0 +1,21 @@ +var baseEach = require('./_baseEach'); + +/** + * Aggregates elements of `collection` on `accumulator` with keys transformed + * by `iteratee` and values set by `setter`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ +function baseAggregator(collection, setter, iteratee, accumulator) { + baseEach(collection, function(value, key, collection) { + setter(accumulator, value, iteratee(value), collection); + }); + return accumulator; +} + +module.exports = baseAggregator; diff --git a/dist/node_modules/lodash/_baseAssign.js b/dist/node_modules/lodash/_baseAssign.js new file mode 100644 index 00000000..e5c4a1a5 --- /dev/null +++ b/dist/node_modules/lodash/_baseAssign.js @@ -0,0 +1,17 @@ +var copyObject = require('./_copyObject'), + keys = require('./keys'); + +/** + * The base implementation of `_.assign` without support for multiple sources + * or `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ +function baseAssign(object, source) { + return object && copyObject(source, keys(source), object); +} + +module.exports = baseAssign; diff --git a/dist/node_modules/lodash/_baseAssignIn.js b/dist/node_modules/lodash/_baseAssignIn.js new file mode 100644 index 00000000..6624f900 --- /dev/null +++ b/dist/node_modules/lodash/_baseAssignIn.js @@ -0,0 +1,17 @@ +var copyObject = require('./_copyObject'), + keysIn = require('./keysIn'); + +/** + * The base implementation of `_.assignIn` without support for multiple sources + * or `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ +function baseAssignIn(object, source) { + return object && copyObject(source, keysIn(source), object); +} + +module.exports = baseAssignIn; diff --git a/dist/node_modules/lodash/_baseAssignValue.js b/dist/node_modules/lodash/_baseAssignValue.js new file mode 100644 index 00000000..d6f66ef3 --- /dev/null +++ b/dist/node_modules/lodash/_baseAssignValue.js @@ -0,0 +1,25 @@ +var defineProperty = require('./_defineProperty'); + +/** + * The base implementation of `assignValue` and `assignMergeValue` without + * value checks. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ +function baseAssignValue(object, key, value) { + if (key == '__proto__' && defineProperty) { + defineProperty(object, key, { + 'configurable': true, + 'enumerable': true, + 'value': value, + 'writable': true + }); + } else { + object[key] = value; + } +} + +module.exports = baseAssignValue; diff --git a/dist/node_modules/lodash/_baseAt.js b/dist/node_modules/lodash/_baseAt.js new file mode 100644 index 00000000..90e4237a --- /dev/null +++ b/dist/node_modules/lodash/_baseAt.js @@ -0,0 +1,23 @@ +var get = require('./get'); + +/** + * The base implementation of `_.at` without support for individual paths. + * + * @private + * @param {Object} object The object to iterate over. + * @param {string[]} paths The property paths to pick. + * @returns {Array} Returns the picked elements. + */ +function baseAt(object, paths) { + var index = -1, + length = paths.length, + result = Array(length), + skip = object == null; + + while (++index < length) { + result[index] = skip ? undefined : get(object, paths[index]); + } + return result; +} + +module.exports = baseAt; diff --git a/dist/node_modules/lodash/_baseClamp.js b/dist/node_modules/lodash/_baseClamp.js new file mode 100644 index 00000000..a1c56929 --- /dev/null +++ b/dist/node_modules/lodash/_baseClamp.js @@ -0,0 +1,22 @@ +/** + * The base implementation of `_.clamp` which doesn't coerce arguments. + * + * @private + * @param {number} number The number to clamp. + * @param {number} [lower] The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the clamped number. + */ +function baseClamp(number, lower, upper) { + if (number === number) { + if (upper !== undefined) { + number = number <= upper ? number : upper; + } + if (lower !== undefined) { + number = number >= lower ? number : lower; + } + } + return number; +} + +module.exports = baseClamp; diff --git a/dist/node_modules/lodash/_baseClone.js b/dist/node_modules/lodash/_baseClone.js new file mode 100644 index 00000000..69f87054 --- /dev/null +++ b/dist/node_modules/lodash/_baseClone.js @@ -0,0 +1,166 @@ +var Stack = require('./_Stack'), + arrayEach = require('./_arrayEach'), + assignValue = require('./_assignValue'), + baseAssign = require('./_baseAssign'), + baseAssignIn = require('./_baseAssignIn'), + cloneBuffer = require('./_cloneBuffer'), + copyArray = require('./_copyArray'), + copySymbols = require('./_copySymbols'), + copySymbolsIn = require('./_copySymbolsIn'), + getAllKeys = require('./_getAllKeys'), + getAllKeysIn = require('./_getAllKeysIn'), + getTag = require('./_getTag'), + initCloneArray = require('./_initCloneArray'), + initCloneByTag = require('./_initCloneByTag'), + initCloneObject = require('./_initCloneObject'), + isArray = require('./isArray'), + isBuffer = require('./isBuffer'), + isMap = require('./isMap'), + isObject = require('./isObject'), + isSet = require('./isSet'), + keys = require('./keys'), + keysIn = require('./keysIn'); + +/** Used to compose bitmasks for cloning. */ +var CLONE_DEEP_FLAG = 1, + CLONE_FLAT_FLAG = 2, + CLONE_SYMBOLS_FLAG = 4; + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + mapTag = '[object Map]', + numberTag = '[object Number]', + objectTag = '[object Object]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]', + weakMapTag = '[object WeakMap]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + +/** Used to identify `toStringTag` values supported by `_.clone`. */ +var cloneableTags = {}; +cloneableTags[argsTag] = cloneableTags[arrayTag] = +cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = +cloneableTags[boolTag] = cloneableTags[dateTag] = +cloneableTags[float32Tag] = cloneableTags[float64Tag] = +cloneableTags[int8Tag] = cloneableTags[int16Tag] = +cloneableTags[int32Tag] = cloneableTags[mapTag] = +cloneableTags[numberTag] = cloneableTags[objectTag] = +cloneableTags[regexpTag] = cloneableTags[setTag] = +cloneableTags[stringTag] = cloneableTags[symbolTag] = +cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = +cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; +cloneableTags[errorTag] = cloneableTags[funcTag] = +cloneableTags[weakMapTag] = false; + +/** + * The base implementation of `_.clone` and `_.cloneDeep` which tracks + * traversed objects. + * + * @private + * @param {*} value The value to clone. + * @param {boolean} bitmask The bitmask flags. + * 1 - Deep clone + * 2 - Flatten inherited properties + * 4 - Clone symbols + * @param {Function} [customizer] The function to customize cloning. + * @param {string} [key] The key of `value`. + * @param {Object} [object] The parent object of `value`. + * @param {Object} [stack] Tracks traversed objects and their clone counterparts. + * @returns {*} Returns the cloned value. + */ +function baseClone(value, bitmask, customizer, key, object, stack) { + var result, + isDeep = bitmask & CLONE_DEEP_FLAG, + isFlat = bitmask & CLONE_FLAT_FLAG, + isFull = bitmask & CLONE_SYMBOLS_FLAG; + + if (customizer) { + result = object ? customizer(value, key, object, stack) : customizer(value); + } + if (result !== undefined) { + return result; + } + if (!isObject(value)) { + return value; + } + var isArr = isArray(value); + if (isArr) { + result = initCloneArray(value); + if (!isDeep) { + return copyArray(value, result); + } + } else { + var tag = getTag(value), + isFunc = tag == funcTag || tag == genTag; + + if (isBuffer(value)) { + return cloneBuffer(value, isDeep); + } + if (tag == objectTag || tag == argsTag || (isFunc && !object)) { + result = (isFlat || isFunc) ? {} : initCloneObject(value); + if (!isDeep) { + return isFlat + ? copySymbolsIn(value, baseAssignIn(result, value)) + : copySymbols(value, baseAssign(result, value)); + } + } else { + if (!cloneableTags[tag]) { + return object ? value : {}; + } + result = initCloneByTag(value, tag, isDeep); + } + } + // Check for circular references and return its corresponding clone. + stack || (stack = new Stack); + var stacked = stack.get(value); + if (stacked) { + return stacked; + } + stack.set(value, result); + + if (isSet(value)) { + value.forEach(function(subValue) { + result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)); + }); + } else if (isMap(value)) { + value.forEach(function(subValue, key) { + result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + } + + var keysFunc = isFull + ? (isFlat ? getAllKeysIn : getAllKeys) + : (isFlat ? keysIn : keys); + + var props = isArr ? undefined : keysFunc(value); + arrayEach(props || value, function(subValue, key) { + if (props) { + key = subValue; + subValue = value[key]; + } + // Recursively populate clone (susceptible to call stack limits). + assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + return result; +} + +module.exports = baseClone; diff --git a/dist/node_modules/lodash/_baseConforms.js b/dist/node_modules/lodash/_baseConforms.js new file mode 100644 index 00000000..947e20d4 --- /dev/null +++ b/dist/node_modules/lodash/_baseConforms.js @@ -0,0 +1,18 @@ +var baseConformsTo = require('./_baseConformsTo'), + keys = require('./keys'); + +/** + * The base implementation of `_.conforms` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property predicates to conform to. + * @returns {Function} Returns the new spec function. + */ +function baseConforms(source) { + var props = keys(source); + return function(object) { + return baseConformsTo(object, source, props); + }; +} + +module.exports = baseConforms; diff --git a/dist/node_modules/lodash/_baseConformsTo.js b/dist/node_modules/lodash/_baseConformsTo.js new file mode 100644 index 00000000..e449cb84 --- /dev/null +++ b/dist/node_modules/lodash/_baseConformsTo.js @@ -0,0 +1,27 @@ +/** + * The base implementation of `_.conformsTo` which accepts `props` to check. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property predicates to conform to. + * @returns {boolean} Returns `true` if `object` conforms, else `false`. + */ +function baseConformsTo(object, source, props) { + var length = props.length; + if (object == null) { + return !length; + } + object = Object(object); + while (length--) { + var key = props[length], + predicate = source[key], + value = object[key]; + + if ((value === undefined && !(key in object)) || !predicate(value)) { + return false; + } + } + return true; +} + +module.exports = baseConformsTo; diff --git a/dist/node_modules/lodash/_baseCreate.js b/dist/node_modules/lodash/_baseCreate.js new file mode 100644 index 00000000..ffa6a52a --- /dev/null +++ b/dist/node_modules/lodash/_baseCreate.js @@ -0,0 +1,30 @@ +var isObject = require('./isObject'); + +/** Built-in value references. */ +var objectCreate = Object.create; + +/** + * The base implementation of `_.create` without support for assigning + * properties to the created object. + * + * @private + * @param {Object} proto The object to inherit from. + * @returns {Object} Returns the new object. + */ +var baseCreate = (function() { + function object() {} + return function(proto) { + if (!isObject(proto)) { + return {}; + } + if (objectCreate) { + return objectCreate(proto); + } + object.prototype = proto; + var result = new object; + object.prototype = undefined; + return result; + }; +}()); + +module.exports = baseCreate; diff --git a/dist/node_modules/lodash/_baseDelay.js b/dist/node_modules/lodash/_baseDelay.js new file mode 100644 index 00000000..1486d697 --- /dev/null +++ b/dist/node_modules/lodash/_baseDelay.js @@ -0,0 +1,21 @@ +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** + * The base implementation of `_.delay` and `_.defer` which accepts `args` + * to provide to `func`. + * + * @private + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @param {Array} args The arguments to provide to `func`. + * @returns {number|Object} Returns the timer id or timeout object. + */ +function baseDelay(func, wait, args) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return setTimeout(function() { func.apply(undefined, args); }, wait); +} + +module.exports = baseDelay; diff --git a/dist/node_modules/lodash/_baseDifference.js b/dist/node_modules/lodash/_baseDifference.js new file mode 100644 index 00000000..343ac19f --- /dev/null +++ b/dist/node_modules/lodash/_baseDifference.js @@ -0,0 +1,67 @@ +var SetCache = require('./_SetCache'), + arrayIncludes = require('./_arrayIncludes'), + arrayIncludesWith = require('./_arrayIncludesWith'), + arrayMap = require('./_arrayMap'), + baseUnary = require('./_baseUnary'), + cacheHas = require('./_cacheHas'); + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** + * The base implementation of methods like `_.difference` without support + * for excluding multiple arrays or iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Array} values The values to exclude. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + */ +function baseDifference(array, values, iteratee, comparator) { + var index = -1, + includes = arrayIncludes, + isCommon = true, + length = array.length, + result = [], + valuesLength = values.length; + + if (!length) { + return result; + } + if (iteratee) { + values = arrayMap(values, baseUnary(iteratee)); + } + if (comparator) { + includes = arrayIncludesWith; + isCommon = false; + } + else if (values.length >= LARGE_ARRAY_SIZE) { + includes = cacheHas; + isCommon = false; + values = new SetCache(values); + } + outer: + while (++index < length) { + var value = array[index], + computed = iteratee == null ? value : iteratee(value); + + value = (comparator || value !== 0) ? value : 0; + if (isCommon && computed === computed) { + var valuesIndex = valuesLength; + while (valuesIndex--) { + if (values[valuesIndex] === computed) { + continue outer; + } + } + result.push(value); + } + else if (!includes(values, computed, comparator)) { + result.push(value); + } + } + return result; +} + +module.exports = baseDifference; diff --git a/dist/node_modules/lodash/_baseEach.js b/dist/node_modules/lodash/_baseEach.js new file mode 100644 index 00000000..512c0676 --- /dev/null +++ b/dist/node_modules/lodash/_baseEach.js @@ -0,0 +1,14 @@ +var baseForOwn = require('./_baseForOwn'), + createBaseEach = require('./_createBaseEach'); + +/** + * The base implementation of `_.forEach` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ +var baseEach = createBaseEach(baseForOwn); + +module.exports = baseEach; diff --git a/dist/node_modules/lodash/_baseEachRight.js b/dist/node_modules/lodash/_baseEachRight.js new file mode 100644 index 00000000..0a8feeca --- /dev/null +++ b/dist/node_modules/lodash/_baseEachRight.js @@ -0,0 +1,14 @@ +var baseForOwnRight = require('./_baseForOwnRight'), + createBaseEach = require('./_createBaseEach'); + +/** + * The base implementation of `_.forEachRight` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ +var baseEachRight = createBaseEach(baseForOwnRight, true); + +module.exports = baseEachRight; diff --git a/dist/node_modules/lodash/_baseEvery.js b/dist/node_modules/lodash/_baseEvery.js new file mode 100644 index 00000000..fa52f7bc --- /dev/null +++ b/dist/node_modules/lodash/_baseEvery.js @@ -0,0 +1,21 @@ +var baseEach = require('./_baseEach'); + +/** + * The base implementation of `_.every` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false` + */ +function baseEvery(collection, predicate) { + var result = true; + baseEach(collection, function(value, index, collection) { + result = !!predicate(value, index, collection); + return result; + }); + return result; +} + +module.exports = baseEvery; diff --git a/dist/node_modules/lodash/_baseExtremum.js b/dist/node_modules/lodash/_baseExtremum.js new file mode 100644 index 00000000..9d6aa77e --- /dev/null +++ b/dist/node_modules/lodash/_baseExtremum.js @@ -0,0 +1,32 @@ +var isSymbol = require('./isSymbol'); + +/** + * The base implementation of methods like `_.max` and `_.min` which accepts a + * `comparator` to determine the extremum value. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The iteratee invoked per iteration. + * @param {Function} comparator The comparator used to compare values. + * @returns {*} Returns the extremum value. + */ +function baseExtremum(array, iteratee, comparator) { + var index = -1, + length = array.length; + + while (++index < length) { + var value = array[index], + current = iteratee(value); + + if (current != null && (computed === undefined + ? (current === current && !isSymbol(current)) + : comparator(current, computed) + )) { + var computed = current, + result = value; + } + } + return result; +} + +module.exports = baseExtremum; diff --git a/dist/node_modules/lodash/_baseFill.js b/dist/node_modules/lodash/_baseFill.js new file mode 100644 index 00000000..46ef9c76 --- /dev/null +++ b/dist/node_modules/lodash/_baseFill.js @@ -0,0 +1,32 @@ +var toInteger = require('./toInteger'), + toLength = require('./toLength'); + +/** + * The base implementation of `_.fill` without an iteratee call guard. + * + * @private + * @param {Array} array The array to fill. + * @param {*} value The value to fill `array` with. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns `array`. + */ +function baseFill(array, value, start, end) { + var length = array.length; + + start = toInteger(start); + if (start < 0) { + start = -start > length ? 0 : (length + start); + } + end = (end === undefined || end > length) ? length : toInteger(end); + if (end < 0) { + end += length; + } + end = start > end ? 0 : toLength(end); + while (start < end) { + array[start++] = value; + } + return array; +} + +module.exports = baseFill; diff --git a/dist/node_modules/lodash/_baseFilter.js b/dist/node_modules/lodash/_baseFilter.js new file mode 100644 index 00000000..46784773 --- /dev/null +++ b/dist/node_modules/lodash/_baseFilter.js @@ -0,0 +1,21 @@ +var baseEach = require('./_baseEach'); + +/** + * The base implementation of `_.filter` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ +function baseFilter(collection, predicate) { + var result = []; + baseEach(collection, function(value, index, collection) { + if (predicate(value, index, collection)) { + result.push(value); + } + }); + return result; +} + +module.exports = baseFilter; diff --git a/dist/node_modules/lodash/_baseFindIndex.js b/dist/node_modules/lodash/_baseFindIndex.js new file mode 100644 index 00000000..e3f5d8aa --- /dev/null +++ b/dist/node_modules/lodash/_baseFindIndex.js @@ -0,0 +1,24 @@ +/** + * The base implementation of `_.findIndex` and `_.findLastIndex` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {number} fromIndex The index to search from. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function baseFindIndex(array, predicate, fromIndex, fromRight) { + var length = array.length, + index = fromIndex + (fromRight ? 1 : -1); + + while ((fromRight ? index-- : ++index < length)) { + if (predicate(array[index], index, array)) { + return index; + } + } + return -1; +} + +module.exports = baseFindIndex; diff --git a/dist/node_modules/lodash/_baseFindKey.js b/dist/node_modules/lodash/_baseFindKey.js new file mode 100644 index 00000000..2e430f3a --- /dev/null +++ b/dist/node_modules/lodash/_baseFindKey.js @@ -0,0 +1,23 @@ +/** + * The base implementation of methods like `_.findKey` and `_.findLastKey`, + * without support for iteratee shorthands, which iterates over `collection` + * using `eachFunc`. + * + * @private + * @param {Array|Object} collection The collection to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {Function} eachFunc The function to iterate over `collection`. + * @returns {*} Returns the found element or its key, else `undefined`. + */ +function baseFindKey(collection, predicate, eachFunc) { + var result; + eachFunc(collection, function(value, key, collection) { + if (predicate(value, key, collection)) { + result = key; + return false; + } + }); + return result; +} + +module.exports = baseFindKey; diff --git a/dist/node_modules/lodash/_baseFlatten.js b/dist/node_modules/lodash/_baseFlatten.js new file mode 100644 index 00000000..4b1e009b --- /dev/null +++ b/dist/node_modules/lodash/_baseFlatten.js @@ -0,0 +1,38 @@ +var arrayPush = require('./_arrayPush'), + isFlattenable = require('./_isFlattenable'); + +/** + * The base implementation of `_.flatten` with support for restricting flattening. + * + * @private + * @param {Array} array The array to flatten. + * @param {number} depth The maximum recursion depth. + * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. + * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. + * @param {Array} [result=[]] The initial result value. + * @returns {Array} Returns the new flattened array. + */ +function baseFlatten(array, depth, predicate, isStrict, result) { + var index = -1, + length = array.length; + + predicate || (predicate = isFlattenable); + result || (result = []); + + while (++index < length) { + var value = array[index]; + if (depth > 0 && predicate(value)) { + if (depth > 1) { + // Recursively flatten arrays (susceptible to call stack limits). + baseFlatten(value, depth - 1, predicate, isStrict, result); + } else { + arrayPush(result, value); + } + } else if (!isStrict) { + result[result.length] = value; + } + } + return result; +} + +module.exports = baseFlatten; diff --git a/dist/node_modules/lodash/_baseFor.js b/dist/node_modules/lodash/_baseFor.js new file mode 100644 index 00000000..d946590f --- /dev/null +++ b/dist/node_modules/lodash/_baseFor.js @@ -0,0 +1,16 @@ +var createBaseFor = require('./_createBaseFor'); + +/** + * The base implementation of `baseForOwn` which iterates over `object` + * properties returned by `keysFunc` and invokes `iteratee` for each property. + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ +var baseFor = createBaseFor(); + +module.exports = baseFor; diff --git a/dist/node_modules/lodash/_baseForOwn.js b/dist/node_modules/lodash/_baseForOwn.js new file mode 100644 index 00000000..503d5234 --- /dev/null +++ b/dist/node_modules/lodash/_baseForOwn.js @@ -0,0 +1,16 @@ +var baseFor = require('./_baseFor'), + keys = require('./keys'); + +/** + * The base implementation of `_.forOwn` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ +function baseForOwn(object, iteratee) { + return object && baseFor(object, iteratee, keys); +} + +module.exports = baseForOwn; diff --git a/dist/node_modules/lodash/_baseForOwnRight.js b/dist/node_modules/lodash/_baseForOwnRight.js new file mode 100644 index 00000000..a4b10e6c --- /dev/null +++ b/dist/node_modules/lodash/_baseForOwnRight.js @@ -0,0 +1,16 @@ +var baseForRight = require('./_baseForRight'), + keys = require('./keys'); + +/** + * The base implementation of `_.forOwnRight` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ +function baseForOwnRight(object, iteratee) { + return object && baseForRight(object, iteratee, keys); +} + +module.exports = baseForOwnRight; diff --git a/dist/node_modules/lodash/_baseForRight.js b/dist/node_modules/lodash/_baseForRight.js new file mode 100644 index 00000000..32842cd8 --- /dev/null +++ b/dist/node_modules/lodash/_baseForRight.js @@ -0,0 +1,15 @@ +var createBaseFor = require('./_createBaseFor'); + +/** + * This function is like `baseFor` except that it iterates over properties + * in the opposite order. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ +var baseForRight = createBaseFor(true); + +module.exports = baseForRight; diff --git a/dist/node_modules/lodash/_baseFunctions.js b/dist/node_modules/lodash/_baseFunctions.js new file mode 100644 index 00000000..d23bc9b4 --- /dev/null +++ b/dist/node_modules/lodash/_baseFunctions.js @@ -0,0 +1,19 @@ +var arrayFilter = require('./_arrayFilter'), + isFunction = require('./isFunction'); + +/** + * The base implementation of `_.functions` which creates an array of + * `object` function property names filtered from `props`. + * + * @private + * @param {Object} object The object to inspect. + * @param {Array} props The property names to filter. + * @returns {Array} Returns the function names. + */ +function baseFunctions(object, props) { + return arrayFilter(props, function(key) { + return isFunction(object[key]); + }); +} + +module.exports = baseFunctions; diff --git a/dist/node_modules/lodash/_baseGet.js b/dist/node_modules/lodash/_baseGet.js new file mode 100644 index 00000000..a194913d --- /dev/null +++ b/dist/node_modules/lodash/_baseGet.js @@ -0,0 +1,24 @@ +var castPath = require('./_castPath'), + toKey = require('./_toKey'); + +/** + * The base implementation of `_.get` without support for default values. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @returns {*} Returns the resolved value. + */ +function baseGet(object, path) { + path = castPath(path, object); + + var index = 0, + length = path.length; + + while (object != null && index < length) { + object = object[toKey(path[index++])]; + } + return (index && index == length) ? object : undefined; +} + +module.exports = baseGet; diff --git a/dist/node_modules/lodash/_baseGetAllKeys.js b/dist/node_modules/lodash/_baseGetAllKeys.js new file mode 100644 index 00000000..8ad204ea --- /dev/null +++ b/dist/node_modules/lodash/_baseGetAllKeys.js @@ -0,0 +1,20 @@ +var arrayPush = require('./_arrayPush'), + isArray = require('./isArray'); + +/** + * The base implementation of `getAllKeys` and `getAllKeysIn` which uses + * `keysFunc` and `symbolsFunc` to get the enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Function} keysFunc The function to get the keys of `object`. + * @param {Function} symbolsFunc The function to get the symbols of `object`. + * @returns {Array} Returns the array of property names and symbols. + */ +function baseGetAllKeys(object, keysFunc, symbolsFunc) { + var result = keysFunc(object); + return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); +} + +module.exports = baseGetAllKeys; diff --git a/dist/node_modules/lodash/_baseGetTag.js b/dist/node_modules/lodash/_baseGetTag.js new file mode 100644 index 00000000..b927ccc1 --- /dev/null +++ b/dist/node_modules/lodash/_baseGetTag.js @@ -0,0 +1,28 @@ +var Symbol = require('./_Symbol'), + getRawTag = require('./_getRawTag'), + objectToString = require('./_objectToString'); + +/** `Object#toString` result references. */ +var nullTag = '[object Null]', + undefinedTag = '[object Undefined]'; + +/** Built-in value references. */ +var symToStringTag = Symbol ? Symbol.toStringTag : undefined; + +/** + * The base implementation of `getTag` without fallbacks for buggy environments. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +function baseGetTag(value) { + if (value == null) { + return value === undefined ? undefinedTag : nullTag; + } + return (symToStringTag && symToStringTag in Object(value)) + ? getRawTag(value) + : objectToString(value); +} + +module.exports = baseGetTag; diff --git a/dist/node_modules/lodash/_baseGt.js b/dist/node_modules/lodash/_baseGt.js new file mode 100644 index 00000000..502d273c --- /dev/null +++ b/dist/node_modules/lodash/_baseGt.js @@ -0,0 +1,14 @@ +/** + * The base implementation of `_.gt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than `other`, + * else `false`. + */ +function baseGt(value, other) { + return value > other; +} + +module.exports = baseGt; diff --git a/dist/node_modules/lodash/_baseHas.js b/dist/node_modules/lodash/_baseHas.js new file mode 100644 index 00000000..1b730321 --- /dev/null +++ b/dist/node_modules/lodash/_baseHas.js @@ -0,0 +1,19 @@ +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * The base implementation of `_.has` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ +function baseHas(object, key) { + return object != null && hasOwnProperty.call(object, key); +} + +module.exports = baseHas; diff --git a/dist/node_modules/lodash/_baseHasIn.js b/dist/node_modules/lodash/_baseHasIn.js new file mode 100644 index 00000000..2e0d0426 --- /dev/null +++ b/dist/node_modules/lodash/_baseHasIn.js @@ -0,0 +1,13 @@ +/** + * The base implementation of `_.hasIn` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ +function baseHasIn(object, key) { + return object != null && key in Object(object); +} + +module.exports = baseHasIn; diff --git a/dist/node_modules/lodash/_baseInRange.js b/dist/node_modules/lodash/_baseInRange.js new file mode 100644 index 00000000..ec956661 --- /dev/null +++ b/dist/node_modules/lodash/_baseInRange.js @@ -0,0 +1,18 @@ +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max, + nativeMin = Math.min; + +/** + * The base implementation of `_.inRange` which doesn't coerce arguments. + * + * @private + * @param {number} number The number to check. + * @param {number} start The start of the range. + * @param {number} end The end of the range. + * @returns {boolean} Returns `true` if `number` is in the range, else `false`. + */ +function baseInRange(number, start, end) { + return number >= nativeMin(start, end) && number < nativeMax(start, end); +} + +module.exports = baseInRange; diff --git a/dist/node_modules/lodash/_baseIndexOf.js b/dist/node_modules/lodash/_baseIndexOf.js new file mode 100644 index 00000000..167e706e --- /dev/null +++ b/dist/node_modules/lodash/_baseIndexOf.js @@ -0,0 +1,20 @@ +var baseFindIndex = require('./_baseFindIndex'), + baseIsNaN = require('./_baseIsNaN'), + strictIndexOf = require('./_strictIndexOf'); + +/** + * The base implementation of `_.indexOf` without `fromIndex` bounds checks. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function baseIndexOf(array, value, fromIndex) { + return value === value + ? strictIndexOf(array, value, fromIndex) + : baseFindIndex(array, baseIsNaN, fromIndex); +} + +module.exports = baseIndexOf; diff --git a/dist/node_modules/lodash/_baseIndexOfWith.js b/dist/node_modules/lodash/_baseIndexOfWith.js new file mode 100644 index 00000000..f815fe0d --- /dev/null +++ b/dist/node_modules/lodash/_baseIndexOfWith.js @@ -0,0 +1,23 @@ +/** + * This function is like `baseIndexOf` except that it accepts a comparator. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @param {Function} comparator The comparator invoked per element. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function baseIndexOfWith(array, value, fromIndex, comparator) { + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (comparator(array[index], value)) { + return index; + } + } + return -1; +} + +module.exports = baseIndexOfWith; diff --git a/dist/node_modules/lodash/_baseIntersection.js b/dist/node_modules/lodash/_baseIntersection.js new file mode 100644 index 00000000..c1d250c2 --- /dev/null +++ b/dist/node_modules/lodash/_baseIntersection.js @@ -0,0 +1,74 @@ +var SetCache = require('./_SetCache'), + arrayIncludes = require('./_arrayIncludes'), + arrayIncludesWith = require('./_arrayIncludesWith'), + arrayMap = require('./_arrayMap'), + baseUnary = require('./_baseUnary'), + cacheHas = require('./_cacheHas'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMin = Math.min; + +/** + * The base implementation of methods like `_.intersection`, without support + * for iteratee shorthands, that accepts an array of arrays to inspect. + * + * @private + * @param {Array} arrays The arrays to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of shared values. + */ +function baseIntersection(arrays, iteratee, comparator) { + var includes = comparator ? arrayIncludesWith : arrayIncludes, + length = arrays[0].length, + othLength = arrays.length, + othIndex = othLength, + caches = Array(othLength), + maxLength = Infinity, + result = []; + + while (othIndex--) { + var array = arrays[othIndex]; + if (othIndex && iteratee) { + array = arrayMap(array, baseUnary(iteratee)); + } + maxLength = nativeMin(array.length, maxLength); + caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120)) + ? new SetCache(othIndex && array) + : undefined; + } + array = arrays[0]; + + var index = -1, + seen = caches[0]; + + outer: + while (++index < length && result.length < maxLength) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + value = (comparator || value !== 0) ? value : 0; + if (!(seen + ? cacheHas(seen, computed) + : includes(result, computed, comparator) + )) { + othIndex = othLength; + while (--othIndex) { + var cache = caches[othIndex]; + if (!(cache + ? cacheHas(cache, computed) + : includes(arrays[othIndex], computed, comparator)) + ) { + continue outer; + } + } + if (seen) { + seen.push(computed); + } + result.push(value); + } + } + return result; +} + +module.exports = baseIntersection; diff --git a/dist/node_modules/lodash/_baseInverter.js b/dist/node_modules/lodash/_baseInverter.js new file mode 100644 index 00000000..fbc337f0 --- /dev/null +++ b/dist/node_modules/lodash/_baseInverter.js @@ -0,0 +1,21 @@ +var baseForOwn = require('./_baseForOwn'); + +/** + * The base implementation of `_.invert` and `_.invertBy` which inverts + * `object` with values transformed by `iteratee` and set by `setter`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform values. + * @param {Object} accumulator The initial inverted object. + * @returns {Function} Returns `accumulator`. + */ +function baseInverter(object, setter, iteratee, accumulator) { + baseForOwn(object, function(value, key, object) { + setter(accumulator, iteratee(value), key, object); + }); + return accumulator; +} + +module.exports = baseInverter; diff --git a/dist/node_modules/lodash/_baseInvoke.js b/dist/node_modules/lodash/_baseInvoke.js new file mode 100644 index 00000000..49bcf3c3 --- /dev/null +++ b/dist/node_modules/lodash/_baseInvoke.js @@ -0,0 +1,24 @@ +var apply = require('./_apply'), + castPath = require('./_castPath'), + last = require('./last'), + parent = require('./_parent'), + toKey = require('./_toKey'); + +/** + * The base implementation of `_.invoke` without support for individual + * method arguments. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the method to invoke. + * @param {Array} args The arguments to invoke the method with. + * @returns {*} Returns the result of the invoked method. + */ +function baseInvoke(object, path, args) { + path = castPath(path, object); + object = parent(object, path); + var func = object == null ? object : object[toKey(last(path))]; + return func == null ? undefined : apply(func, object, args); +} + +module.exports = baseInvoke; diff --git a/dist/node_modules/lodash/_baseIsArguments.js b/dist/node_modules/lodash/_baseIsArguments.js new file mode 100644 index 00000000..b3562cca --- /dev/null +++ b/dist/node_modules/lodash/_baseIsArguments.js @@ -0,0 +1,18 @@ +var baseGetTag = require('./_baseGetTag'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]'; + +/** + * The base implementation of `_.isArguments`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + */ +function baseIsArguments(value) { + return isObjectLike(value) && baseGetTag(value) == argsTag; +} + +module.exports = baseIsArguments; diff --git a/dist/node_modules/lodash/_baseIsArrayBuffer.js b/dist/node_modules/lodash/_baseIsArrayBuffer.js new file mode 100644 index 00000000..a2c4f30a --- /dev/null +++ b/dist/node_modules/lodash/_baseIsArrayBuffer.js @@ -0,0 +1,17 @@ +var baseGetTag = require('./_baseGetTag'), + isObjectLike = require('./isObjectLike'); + +var arrayBufferTag = '[object ArrayBuffer]'; + +/** + * The base implementation of `_.isArrayBuffer` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. + */ +function baseIsArrayBuffer(value) { + return isObjectLike(value) && baseGetTag(value) == arrayBufferTag; +} + +module.exports = baseIsArrayBuffer; diff --git a/dist/node_modules/lodash/_baseIsDate.js b/dist/node_modules/lodash/_baseIsDate.js new file mode 100644 index 00000000..ba67c785 --- /dev/null +++ b/dist/node_modules/lodash/_baseIsDate.js @@ -0,0 +1,18 @@ +var baseGetTag = require('./_baseGetTag'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var dateTag = '[object Date]'; + +/** + * The base implementation of `_.isDate` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a date object, else `false`. + */ +function baseIsDate(value) { + return isObjectLike(value) && baseGetTag(value) == dateTag; +} + +module.exports = baseIsDate; diff --git a/dist/node_modules/lodash/_baseIsEqual.js b/dist/node_modules/lodash/_baseIsEqual.js new file mode 100644 index 00000000..00a68a4f --- /dev/null +++ b/dist/node_modules/lodash/_baseIsEqual.js @@ -0,0 +1,28 @@ +var baseIsEqualDeep = require('./_baseIsEqualDeep'), + isObjectLike = require('./isObjectLike'); + +/** + * The base implementation of `_.isEqual` which supports partial comparisons + * and tracks traversed objects. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {boolean} bitmask The bitmask flags. + * 1 - Unordered comparison + * 2 - Partial comparison + * @param {Function} [customizer] The function to customize comparisons. + * @param {Object} [stack] Tracks traversed `value` and `other` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ +function baseIsEqual(value, other, bitmask, customizer, stack) { + if (value === other) { + return true; + } + if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { + return value !== value && other !== other; + } + return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); +} + +module.exports = baseIsEqual; diff --git a/dist/node_modules/lodash/_baseIsEqualDeep.js b/dist/node_modules/lodash/_baseIsEqualDeep.js new file mode 100644 index 00000000..e3cfd6a8 --- /dev/null +++ b/dist/node_modules/lodash/_baseIsEqualDeep.js @@ -0,0 +1,83 @@ +var Stack = require('./_Stack'), + equalArrays = require('./_equalArrays'), + equalByTag = require('./_equalByTag'), + equalObjects = require('./_equalObjects'), + getTag = require('./_getTag'), + isArray = require('./isArray'), + isBuffer = require('./isBuffer'), + isTypedArray = require('./isTypedArray'); + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1; + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + objectTag = '[object Object]'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * A specialized version of `baseIsEqual` for arrays and objects which performs + * deep comparisons and tracks traversed objects enabling objects with circular + * references to be compared. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} [stack] Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { + var objIsArr = isArray(object), + othIsArr = isArray(other), + objTag = objIsArr ? arrayTag : getTag(object), + othTag = othIsArr ? arrayTag : getTag(other); + + objTag = objTag == argsTag ? objectTag : objTag; + othTag = othTag == argsTag ? objectTag : othTag; + + var objIsObj = objTag == objectTag, + othIsObj = othTag == objectTag, + isSameTag = objTag == othTag; + + if (isSameTag && isBuffer(object)) { + if (!isBuffer(other)) { + return false; + } + objIsArr = true; + objIsObj = false; + } + if (isSameTag && !objIsObj) { + stack || (stack = new Stack); + return (objIsArr || isTypedArray(object)) + ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) + : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); + } + if (!(bitmask & COMPARE_PARTIAL_FLAG)) { + var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), + othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); + + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, + othUnwrapped = othIsWrapped ? other.value() : other; + + stack || (stack = new Stack); + return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); + } + } + if (!isSameTag) { + return false; + } + stack || (stack = new Stack); + return equalObjects(object, other, bitmask, customizer, equalFunc, stack); +} + +module.exports = baseIsEqualDeep; diff --git a/dist/node_modules/lodash/_baseIsMap.js b/dist/node_modules/lodash/_baseIsMap.js new file mode 100644 index 00000000..02a4021c --- /dev/null +++ b/dist/node_modules/lodash/_baseIsMap.js @@ -0,0 +1,18 @@ +var getTag = require('./_getTag'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var mapTag = '[object Map]'; + +/** + * The base implementation of `_.isMap` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a map, else `false`. + */ +function baseIsMap(value) { + return isObjectLike(value) && getTag(value) == mapTag; +} + +module.exports = baseIsMap; diff --git a/dist/node_modules/lodash/_baseIsMatch.js b/dist/node_modules/lodash/_baseIsMatch.js new file mode 100644 index 00000000..72494bed --- /dev/null +++ b/dist/node_modules/lodash/_baseIsMatch.js @@ -0,0 +1,62 @@ +var Stack = require('./_Stack'), + baseIsEqual = require('./_baseIsEqual'); + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + +/** + * The base implementation of `_.isMatch` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Array} matchData The property names, values, and compare flags to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + */ +function baseIsMatch(object, source, matchData, customizer) { + var index = matchData.length, + length = index, + noCustomizer = !customizer; + + if (object == null) { + return !length; + } + object = Object(object); + while (index--) { + var data = matchData[index]; + if ((noCustomizer && data[2]) + ? data[1] !== object[data[0]] + : !(data[0] in object) + ) { + return false; + } + } + while (++index < length) { + data = matchData[index]; + var key = data[0], + objValue = object[key], + srcValue = data[1]; + + if (noCustomizer && data[2]) { + if (objValue === undefined && !(key in object)) { + return false; + } + } else { + var stack = new Stack; + if (customizer) { + var result = customizer(objValue, srcValue, key, object, source, stack); + } + if (!(result === undefined + ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) + : result + )) { + return false; + } + } + } + return true; +} + +module.exports = baseIsMatch; diff --git a/dist/node_modules/lodash/_baseIsNaN.js b/dist/node_modules/lodash/_baseIsNaN.js new file mode 100644 index 00000000..316f1eb1 --- /dev/null +++ b/dist/node_modules/lodash/_baseIsNaN.js @@ -0,0 +1,12 @@ +/** + * The base implementation of `_.isNaN` without support for number objects. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + */ +function baseIsNaN(value) { + return value !== value; +} + +module.exports = baseIsNaN; diff --git a/dist/node_modules/lodash/_baseIsNative.js b/dist/node_modules/lodash/_baseIsNative.js new file mode 100644 index 00000000..87023304 --- /dev/null +++ b/dist/node_modules/lodash/_baseIsNative.js @@ -0,0 +1,47 @@ +var isFunction = require('./isFunction'), + isMasked = require('./_isMasked'), + isObject = require('./isObject'), + toSource = require('./_toSource'); + +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; + +/** Used to detect host constructors (Safari). */ +var reIsHostCtor = /^\[object .+?Constructor\]$/; + +/** Used for built-in method references. */ +var funcProto = Function.prototype, + objectProto = Object.prototype; + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** Used to detect if a method is native. */ +var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' +); + +/** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ +function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = isFunction(value) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); +} + +module.exports = baseIsNative; diff --git a/dist/node_modules/lodash/_baseIsRegExp.js b/dist/node_modules/lodash/_baseIsRegExp.js new file mode 100644 index 00000000..6cd7c1ae --- /dev/null +++ b/dist/node_modules/lodash/_baseIsRegExp.js @@ -0,0 +1,18 @@ +var baseGetTag = require('./_baseGetTag'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var regexpTag = '[object RegExp]'; + +/** + * The base implementation of `_.isRegExp` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. + */ +function baseIsRegExp(value) { + return isObjectLike(value) && baseGetTag(value) == regexpTag; +} + +module.exports = baseIsRegExp; diff --git a/dist/node_modules/lodash/_baseIsSet.js b/dist/node_modules/lodash/_baseIsSet.js new file mode 100644 index 00000000..6dee3671 --- /dev/null +++ b/dist/node_modules/lodash/_baseIsSet.js @@ -0,0 +1,18 @@ +var getTag = require('./_getTag'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var setTag = '[object Set]'; + +/** + * The base implementation of `_.isSet` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a set, else `false`. + */ +function baseIsSet(value) { + return isObjectLike(value) && getTag(value) == setTag; +} + +module.exports = baseIsSet; diff --git a/dist/node_modules/lodash/_baseIsTypedArray.js b/dist/node_modules/lodash/_baseIsTypedArray.js new file mode 100644 index 00000000..1edb32ff --- /dev/null +++ b/dist/node_modules/lodash/_baseIsTypedArray.js @@ -0,0 +1,60 @@ +var baseGetTag = require('./_baseGetTag'), + isLength = require('./isLength'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', + mapTag = '[object Map]', + numberTag = '[object Number]', + objectTag = '[object Object]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + weakMapTag = '[object WeakMap]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + +/** Used to identify `toStringTag` values of typed arrays. */ +var typedArrayTags = {}; +typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = +typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = +typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = +typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = +typedArrayTags[uint32Tag] = true; +typedArrayTags[argsTag] = typedArrayTags[arrayTag] = +typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = +typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = +typedArrayTags[errorTag] = typedArrayTags[funcTag] = +typedArrayTags[mapTag] = typedArrayTags[numberTag] = +typedArrayTags[objectTag] = typedArrayTags[regexpTag] = +typedArrayTags[setTag] = typedArrayTags[stringTag] = +typedArrayTags[weakMapTag] = false; + +/** + * The base implementation of `_.isTypedArray` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + */ +function baseIsTypedArray(value) { + return isObjectLike(value) && + isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; +} + +module.exports = baseIsTypedArray; diff --git a/dist/node_modules/lodash/_baseIteratee.js b/dist/node_modules/lodash/_baseIteratee.js new file mode 100644 index 00000000..995c2575 --- /dev/null +++ b/dist/node_modules/lodash/_baseIteratee.js @@ -0,0 +1,31 @@ +var baseMatches = require('./_baseMatches'), + baseMatchesProperty = require('./_baseMatchesProperty'), + identity = require('./identity'), + isArray = require('./isArray'), + property = require('./property'); + +/** + * The base implementation of `_.iteratee`. + * + * @private + * @param {*} [value=_.identity] The value to convert to an iteratee. + * @returns {Function} Returns the iteratee. + */ +function baseIteratee(value) { + // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. + // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. + if (typeof value == 'function') { + return value; + } + if (value == null) { + return identity; + } + if (typeof value == 'object') { + return isArray(value) + ? baseMatchesProperty(value[0], value[1]) + : baseMatches(value); + } + return property(value); +} + +module.exports = baseIteratee; diff --git a/dist/node_modules/lodash/_baseKeys.js b/dist/node_modules/lodash/_baseKeys.js new file mode 100644 index 00000000..45e9e6f3 --- /dev/null +++ b/dist/node_modules/lodash/_baseKeys.js @@ -0,0 +1,30 @@ +var isPrototype = require('./_isPrototype'), + nativeKeys = require('./_nativeKeys'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function baseKeys(object) { + if (!isPrototype(object)) { + return nativeKeys(object); + } + var result = []; + for (var key in Object(object)) { + if (hasOwnProperty.call(object, key) && key != 'constructor') { + result.push(key); + } + } + return result; +} + +module.exports = baseKeys; diff --git a/dist/node_modules/lodash/_baseKeysIn.js b/dist/node_modules/lodash/_baseKeysIn.js new file mode 100644 index 00000000..ea8a0a17 --- /dev/null +++ b/dist/node_modules/lodash/_baseKeysIn.js @@ -0,0 +1,33 @@ +var isObject = require('./isObject'), + isPrototype = require('./_isPrototype'), + nativeKeysIn = require('./_nativeKeysIn'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function baseKeysIn(object) { + if (!isObject(object)) { + return nativeKeysIn(object); + } + var isProto = isPrototype(object), + result = []; + + for (var key in object) { + if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { + result.push(key); + } + } + return result; +} + +module.exports = baseKeysIn; diff --git a/dist/node_modules/lodash/_baseLodash.js b/dist/node_modules/lodash/_baseLodash.js new file mode 100644 index 00000000..f76c790e --- /dev/null +++ b/dist/node_modules/lodash/_baseLodash.js @@ -0,0 +1,10 @@ +/** + * The function whose prototype chain sequence wrappers inherit from. + * + * @private + */ +function baseLodash() { + // No operation performed. +} + +module.exports = baseLodash; diff --git a/dist/node_modules/lodash/_baseLt.js b/dist/node_modules/lodash/_baseLt.js new file mode 100644 index 00000000..8674d294 --- /dev/null +++ b/dist/node_modules/lodash/_baseLt.js @@ -0,0 +1,14 @@ +/** + * The base implementation of `_.lt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than `other`, + * else `false`. + */ +function baseLt(value, other) { + return value < other; +} + +module.exports = baseLt; diff --git a/dist/node_modules/lodash/_baseMap.js b/dist/node_modules/lodash/_baseMap.js new file mode 100644 index 00000000..0bf5cead --- /dev/null +++ b/dist/node_modules/lodash/_baseMap.js @@ -0,0 +1,22 @@ +var baseEach = require('./_baseEach'), + isArrayLike = require('./isArrayLike'); + +/** + * The base implementation of `_.map` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ +function baseMap(collection, iteratee) { + var index = -1, + result = isArrayLike(collection) ? Array(collection.length) : []; + + baseEach(collection, function(value, key, collection) { + result[++index] = iteratee(value, key, collection); + }); + return result; +} + +module.exports = baseMap; diff --git a/dist/node_modules/lodash/_baseMatches.js b/dist/node_modules/lodash/_baseMatches.js new file mode 100644 index 00000000..e56582ad --- /dev/null +++ b/dist/node_modules/lodash/_baseMatches.js @@ -0,0 +1,22 @@ +var baseIsMatch = require('./_baseIsMatch'), + getMatchData = require('./_getMatchData'), + matchesStrictComparable = require('./_matchesStrictComparable'); + +/** + * The base implementation of `_.matches` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + */ +function baseMatches(source) { + var matchData = getMatchData(source); + if (matchData.length == 1 && matchData[0][2]) { + return matchesStrictComparable(matchData[0][0], matchData[0][1]); + } + return function(object) { + return object === source || baseIsMatch(object, source, matchData); + }; +} + +module.exports = baseMatches; diff --git a/dist/node_modules/lodash/_baseMatchesProperty.js b/dist/node_modules/lodash/_baseMatchesProperty.js new file mode 100644 index 00000000..24afd893 --- /dev/null +++ b/dist/node_modules/lodash/_baseMatchesProperty.js @@ -0,0 +1,33 @@ +var baseIsEqual = require('./_baseIsEqual'), + get = require('./get'), + hasIn = require('./hasIn'), + isKey = require('./_isKey'), + isStrictComparable = require('./_isStrictComparable'), + matchesStrictComparable = require('./_matchesStrictComparable'), + toKey = require('./_toKey'); + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + +/** + * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. + * + * @private + * @param {string} path The path of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ +function baseMatchesProperty(path, srcValue) { + if (isKey(path) && isStrictComparable(srcValue)) { + return matchesStrictComparable(toKey(path), srcValue); + } + return function(object) { + var objValue = get(object, path); + return (objValue === undefined && objValue === srcValue) + ? hasIn(object, path) + : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); + }; +} + +module.exports = baseMatchesProperty; diff --git a/dist/node_modules/lodash/_baseMean.js b/dist/node_modules/lodash/_baseMean.js new file mode 100644 index 00000000..fa9e00a0 --- /dev/null +++ b/dist/node_modules/lodash/_baseMean.js @@ -0,0 +1,20 @@ +var baseSum = require('./_baseSum'); + +/** Used as references for various `Number` constants. */ +var NAN = 0 / 0; + +/** + * The base implementation of `_.mean` and `_.meanBy` without support for + * iteratee shorthands. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {number} Returns the mean. + */ +function baseMean(array, iteratee) { + var length = array == null ? 0 : array.length; + return length ? (baseSum(array, iteratee) / length) : NAN; +} + +module.exports = baseMean; diff --git a/dist/node_modules/lodash/_baseMerge.js b/dist/node_modules/lodash/_baseMerge.js new file mode 100644 index 00000000..c98b5eb0 --- /dev/null +++ b/dist/node_modules/lodash/_baseMerge.js @@ -0,0 +1,42 @@ +var Stack = require('./_Stack'), + assignMergeValue = require('./_assignMergeValue'), + baseFor = require('./_baseFor'), + baseMergeDeep = require('./_baseMergeDeep'), + isObject = require('./isObject'), + keysIn = require('./keysIn'), + safeGet = require('./_safeGet'); + +/** + * The base implementation of `_.merge` without support for multiple sources. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {number} srcIndex The index of `source`. + * @param {Function} [customizer] The function to customize merged values. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + */ +function baseMerge(object, source, srcIndex, customizer, stack) { + if (object === source) { + return; + } + baseFor(source, function(srcValue, key) { + stack || (stack = new Stack); + if (isObject(srcValue)) { + baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack); + } + else { + var newValue = customizer + ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack) + : undefined; + + if (newValue === undefined) { + newValue = srcValue; + } + assignMergeValue(object, key, newValue); + } + }, keysIn); +} + +module.exports = baseMerge; diff --git a/dist/node_modules/lodash/_baseMergeDeep.js b/dist/node_modules/lodash/_baseMergeDeep.js new file mode 100644 index 00000000..4679e8dc --- /dev/null +++ b/dist/node_modules/lodash/_baseMergeDeep.js @@ -0,0 +1,94 @@ +var assignMergeValue = require('./_assignMergeValue'), + cloneBuffer = require('./_cloneBuffer'), + cloneTypedArray = require('./_cloneTypedArray'), + copyArray = require('./_copyArray'), + initCloneObject = require('./_initCloneObject'), + isArguments = require('./isArguments'), + isArray = require('./isArray'), + isArrayLikeObject = require('./isArrayLikeObject'), + isBuffer = require('./isBuffer'), + isFunction = require('./isFunction'), + isObject = require('./isObject'), + isPlainObject = require('./isPlainObject'), + isTypedArray = require('./isTypedArray'), + safeGet = require('./_safeGet'), + toPlainObject = require('./toPlainObject'); + +/** + * A specialized version of `baseMerge` for arrays and objects which performs + * deep merges and tracks traversed objects enabling objects with circular + * references to be merged. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {string} key The key of the value to merge. + * @param {number} srcIndex The index of `source`. + * @param {Function} mergeFunc The function to merge values. + * @param {Function} [customizer] The function to customize assigned values. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + */ +function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { + var objValue = safeGet(object, key), + srcValue = safeGet(source, key), + stacked = stack.get(srcValue); + + if (stacked) { + assignMergeValue(object, key, stacked); + return; + } + var newValue = customizer + ? customizer(objValue, srcValue, (key + ''), object, source, stack) + : undefined; + + var isCommon = newValue === undefined; + + if (isCommon) { + var isArr = isArray(srcValue), + isBuff = !isArr && isBuffer(srcValue), + isTyped = !isArr && !isBuff && isTypedArray(srcValue); + + newValue = srcValue; + if (isArr || isBuff || isTyped) { + if (isArray(objValue)) { + newValue = objValue; + } + else if (isArrayLikeObject(objValue)) { + newValue = copyArray(objValue); + } + else if (isBuff) { + isCommon = false; + newValue = cloneBuffer(srcValue, true); + } + else if (isTyped) { + isCommon = false; + newValue = cloneTypedArray(srcValue, true); + } + else { + newValue = []; + } + } + else if (isPlainObject(srcValue) || isArguments(srcValue)) { + newValue = objValue; + if (isArguments(objValue)) { + newValue = toPlainObject(objValue); + } + else if (!isObject(objValue) || isFunction(objValue)) { + newValue = initCloneObject(srcValue); + } + } + else { + isCommon = false; + } + } + if (isCommon) { + // Recursively merge objects and arrays (susceptible to call stack limits). + stack.set(srcValue, newValue); + mergeFunc(newValue, srcValue, srcIndex, customizer, stack); + stack['delete'](srcValue); + } + assignMergeValue(object, key, newValue); +} + +module.exports = baseMergeDeep; diff --git a/dist/node_modules/lodash/_baseNth.js b/dist/node_modules/lodash/_baseNth.js new file mode 100644 index 00000000..0403c2a3 --- /dev/null +++ b/dist/node_modules/lodash/_baseNth.js @@ -0,0 +1,20 @@ +var isIndex = require('./_isIndex'); + +/** + * The base implementation of `_.nth` which doesn't coerce arguments. + * + * @private + * @param {Array} array The array to query. + * @param {number} n The index of the element to return. + * @returns {*} Returns the nth element of `array`. + */ +function baseNth(array, n) { + var length = array.length; + if (!length) { + return; + } + n += n < 0 ? length : 0; + return isIndex(n, length) ? array[n] : undefined; +} + +module.exports = baseNth; diff --git a/dist/node_modules/lodash/_baseOrderBy.js b/dist/node_modules/lodash/_baseOrderBy.js new file mode 100644 index 00000000..cf588c69 --- /dev/null +++ b/dist/node_modules/lodash/_baseOrderBy.js @@ -0,0 +1,49 @@ +var arrayMap = require('./_arrayMap'), + baseGet = require('./_baseGet'), + baseIteratee = require('./_baseIteratee'), + baseMap = require('./_baseMap'), + baseSortBy = require('./_baseSortBy'), + baseUnary = require('./_baseUnary'), + compareMultiple = require('./_compareMultiple'), + identity = require('./identity'), + isArray = require('./isArray'); + +/** + * The base implementation of `_.orderBy` without param guards. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by. + * @param {string[]} orders The sort orders of `iteratees`. + * @returns {Array} Returns the new sorted array. + */ +function baseOrderBy(collection, iteratees, orders) { + if (iteratees.length) { + iteratees = arrayMap(iteratees, function(iteratee) { + if (isArray(iteratee)) { + return function(value) { + return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee); + }; + } + return iteratee; + }); + } else { + iteratees = [identity]; + } + + var index = -1; + iteratees = arrayMap(iteratees, baseUnary(baseIteratee)); + + var result = baseMap(collection, function(value, key, collection) { + var criteria = arrayMap(iteratees, function(iteratee) { + return iteratee(value); + }); + return { 'criteria': criteria, 'index': ++index, 'value': value }; + }); + + return baseSortBy(result, function(object, other) { + return compareMultiple(object, other, orders); + }); +} + +module.exports = baseOrderBy; diff --git a/dist/node_modules/lodash/_basePick.js b/dist/node_modules/lodash/_basePick.js new file mode 100644 index 00000000..09b458a6 --- /dev/null +++ b/dist/node_modules/lodash/_basePick.js @@ -0,0 +1,19 @@ +var basePickBy = require('./_basePickBy'), + hasIn = require('./hasIn'); + +/** + * The base implementation of `_.pick` without support for individual + * property identifiers. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @returns {Object} Returns the new object. + */ +function basePick(object, paths) { + return basePickBy(object, paths, function(value, path) { + return hasIn(object, path); + }); +} + +module.exports = basePick; diff --git a/dist/node_modules/lodash/_basePickBy.js b/dist/node_modules/lodash/_basePickBy.js new file mode 100644 index 00000000..85be68c8 --- /dev/null +++ b/dist/node_modules/lodash/_basePickBy.js @@ -0,0 +1,30 @@ +var baseGet = require('./_baseGet'), + baseSet = require('./_baseSet'), + castPath = require('./_castPath'); + +/** + * The base implementation of `_.pickBy` without support for iteratee shorthands. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @param {Function} predicate The function invoked per property. + * @returns {Object} Returns the new object. + */ +function basePickBy(object, paths, predicate) { + var index = -1, + length = paths.length, + result = {}; + + while (++index < length) { + var path = paths[index], + value = baseGet(object, path); + + if (predicate(value, path)) { + baseSet(result, castPath(path, object), value); + } + } + return result; +} + +module.exports = basePickBy; diff --git a/dist/node_modules/lodash/_baseProperty.js b/dist/node_modules/lodash/_baseProperty.js new file mode 100644 index 00000000..496281ec --- /dev/null +++ b/dist/node_modules/lodash/_baseProperty.js @@ -0,0 +1,14 @@ +/** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new accessor function. + */ +function baseProperty(key) { + return function(object) { + return object == null ? undefined : object[key]; + }; +} + +module.exports = baseProperty; diff --git a/dist/node_modules/lodash/_basePropertyDeep.js b/dist/node_modules/lodash/_basePropertyDeep.js new file mode 100644 index 00000000..1e5aae50 --- /dev/null +++ b/dist/node_modules/lodash/_basePropertyDeep.js @@ -0,0 +1,16 @@ +var baseGet = require('./_baseGet'); + +/** + * A specialized version of `baseProperty` which supports deep paths. + * + * @private + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + */ +function basePropertyDeep(path) { + return function(object) { + return baseGet(object, path); + }; +} + +module.exports = basePropertyDeep; diff --git a/dist/node_modules/lodash/_basePropertyOf.js b/dist/node_modules/lodash/_basePropertyOf.js new file mode 100644 index 00000000..46173999 --- /dev/null +++ b/dist/node_modules/lodash/_basePropertyOf.js @@ -0,0 +1,14 @@ +/** + * The base implementation of `_.propertyOf` without support for deep paths. + * + * @private + * @param {Object} object The object to query. + * @returns {Function} Returns the new accessor function. + */ +function basePropertyOf(object) { + return function(key) { + return object == null ? undefined : object[key]; + }; +} + +module.exports = basePropertyOf; diff --git a/dist/node_modules/lodash/_basePullAll.js b/dist/node_modules/lodash/_basePullAll.js new file mode 100644 index 00000000..305720ed --- /dev/null +++ b/dist/node_modules/lodash/_basePullAll.js @@ -0,0 +1,51 @@ +var arrayMap = require('./_arrayMap'), + baseIndexOf = require('./_baseIndexOf'), + baseIndexOfWith = require('./_baseIndexOfWith'), + baseUnary = require('./_baseUnary'), + copyArray = require('./_copyArray'); + +/** Used for built-in method references. */ +var arrayProto = Array.prototype; + +/** Built-in value references. */ +var splice = arrayProto.splice; + +/** + * The base implementation of `_.pullAllBy` without support for iteratee + * shorthands. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns `array`. + */ +function basePullAll(array, values, iteratee, comparator) { + var indexOf = comparator ? baseIndexOfWith : baseIndexOf, + index = -1, + length = values.length, + seen = array; + + if (array === values) { + values = copyArray(values); + } + if (iteratee) { + seen = arrayMap(array, baseUnary(iteratee)); + } + while (++index < length) { + var fromIndex = 0, + value = values[index], + computed = iteratee ? iteratee(value) : value; + + while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) { + if (seen !== array) { + splice.call(seen, fromIndex, 1); + } + splice.call(array, fromIndex, 1); + } + } + return array; +} + +module.exports = basePullAll; diff --git a/dist/node_modules/lodash/_basePullAt.js b/dist/node_modules/lodash/_basePullAt.js new file mode 100644 index 00000000..c3e9e710 --- /dev/null +++ b/dist/node_modules/lodash/_basePullAt.js @@ -0,0 +1,37 @@ +var baseUnset = require('./_baseUnset'), + isIndex = require('./_isIndex'); + +/** Used for built-in method references. */ +var arrayProto = Array.prototype; + +/** Built-in value references. */ +var splice = arrayProto.splice; + +/** + * The base implementation of `_.pullAt` without support for individual + * indexes or capturing the removed elements. + * + * @private + * @param {Array} array The array to modify. + * @param {number[]} indexes The indexes of elements to remove. + * @returns {Array} Returns `array`. + */ +function basePullAt(array, indexes) { + var length = array ? indexes.length : 0, + lastIndex = length - 1; + + while (length--) { + var index = indexes[length]; + if (length == lastIndex || index !== previous) { + var previous = index; + if (isIndex(index)) { + splice.call(array, index, 1); + } else { + baseUnset(array, index); + } + } + } + return array; +} + +module.exports = basePullAt; diff --git a/dist/node_modules/lodash/_baseRandom.js b/dist/node_modules/lodash/_baseRandom.js new file mode 100644 index 00000000..94f76a76 --- /dev/null +++ b/dist/node_modules/lodash/_baseRandom.js @@ -0,0 +1,18 @@ +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeFloor = Math.floor, + nativeRandom = Math.random; + +/** + * The base implementation of `_.random` without support for returning + * floating-point numbers. + * + * @private + * @param {number} lower The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the random number. + */ +function baseRandom(lower, upper) { + return lower + nativeFloor(nativeRandom() * (upper - lower + 1)); +} + +module.exports = baseRandom; diff --git a/dist/node_modules/lodash/_baseRange.js b/dist/node_modules/lodash/_baseRange.js new file mode 100644 index 00000000..0fb8e419 --- /dev/null +++ b/dist/node_modules/lodash/_baseRange.js @@ -0,0 +1,28 @@ +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeCeil = Math.ceil, + nativeMax = Math.max; + +/** + * The base implementation of `_.range` and `_.rangeRight` which doesn't + * coerce arguments. + * + * @private + * @param {number} start The start of the range. + * @param {number} end The end of the range. + * @param {number} step The value to increment or decrement by. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Array} Returns the range of numbers. + */ +function baseRange(start, end, step, fromRight) { + var index = -1, + length = nativeMax(nativeCeil((end - start) / (step || 1)), 0), + result = Array(length); + + while (length--) { + result[fromRight ? length : ++index] = start; + start += step; + } + return result; +} + +module.exports = baseRange; diff --git a/dist/node_modules/lodash/_baseReduce.js b/dist/node_modules/lodash/_baseReduce.js new file mode 100644 index 00000000..5a1f8b57 --- /dev/null +++ b/dist/node_modules/lodash/_baseReduce.js @@ -0,0 +1,23 @@ +/** + * The base implementation of `_.reduce` and `_.reduceRight`, without support + * for iteratee shorthands, which iterates over `collection` using `eachFunc`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} accumulator The initial value. + * @param {boolean} initAccum Specify using the first or last element of + * `collection` as the initial value. + * @param {Function} eachFunc The function to iterate over `collection`. + * @returns {*} Returns the accumulated value. + */ +function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { + eachFunc(collection, function(value, index, collection) { + accumulator = initAccum + ? (initAccum = false, value) + : iteratee(accumulator, value, index, collection); + }); + return accumulator; +} + +module.exports = baseReduce; diff --git a/dist/node_modules/lodash/_baseRepeat.js b/dist/node_modules/lodash/_baseRepeat.js new file mode 100644 index 00000000..ee44c31a --- /dev/null +++ b/dist/node_modules/lodash/_baseRepeat.js @@ -0,0 +1,35 @@ +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeFloor = Math.floor; + +/** + * The base implementation of `_.repeat` which doesn't coerce arguments. + * + * @private + * @param {string} string The string to repeat. + * @param {number} n The number of times to repeat the string. + * @returns {string} Returns the repeated string. + */ +function baseRepeat(string, n) { + var result = ''; + if (!string || n < 1 || n > MAX_SAFE_INTEGER) { + return result; + } + // Leverage the exponentiation by squaring algorithm for a faster repeat. + // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details. + do { + if (n % 2) { + result += string; + } + n = nativeFloor(n / 2); + if (n) { + string += string; + } + } while (n); + + return result; +} + +module.exports = baseRepeat; diff --git a/dist/node_modules/lodash/_baseRest.js b/dist/node_modules/lodash/_baseRest.js new file mode 100644 index 00000000..d0dc4bdd --- /dev/null +++ b/dist/node_modules/lodash/_baseRest.js @@ -0,0 +1,17 @@ +var identity = require('./identity'), + overRest = require('./_overRest'), + setToString = require('./_setToString'); + +/** + * The base implementation of `_.rest` which doesn't validate or coerce arguments. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. + */ +function baseRest(func, start) { + return setToString(overRest(func, start, identity), func + ''); +} + +module.exports = baseRest; diff --git a/dist/node_modules/lodash/_baseSample.js b/dist/node_modules/lodash/_baseSample.js new file mode 100644 index 00000000..58582b91 --- /dev/null +++ b/dist/node_modules/lodash/_baseSample.js @@ -0,0 +1,15 @@ +var arraySample = require('./_arraySample'), + values = require('./values'); + +/** + * The base implementation of `_.sample`. + * + * @private + * @param {Array|Object} collection The collection to sample. + * @returns {*} Returns the random element. + */ +function baseSample(collection) { + return arraySample(values(collection)); +} + +module.exports = baseSample; diff --git a/dist/node_modules/lodash/_baseSampleSize.js b/dist/node_modules/lodash/_baseSampleSize.js new file mode 100644 index 00000000..5c90ec51 --- /dev/null +++ b/dist/node_modules/lodash/_baseSampleSize.js @@ -0,0 +1,18 @@ +var baseClamp = require('./_baseClamp'), + shuffleSelf = require('./_shuffleSelf'), + values = require('./values'); + +/** + * The base implementation of `_.sampleSize` without param guards. + * + * @private + * @param {Array|Object} collection The collection to sample. + * @param {number} n The number of elements to sample. + * @returns {Array} Returns the random elements. + */ +function baseSampleSize(collection, n) { + var array = values(collection); + return shuffleSelf(array, baseClamp(n, 0, array.length)); +} + +module.exports = baseSampleSize; diff --git a/dist/node_modules/lodash/_baseSet.js b/dist/node_modules/lodash/_baseSet.js new file mode 100644 index 00000000..99f4fbf9 --- /dev/null +++ b/dist/node_modules/lodash/_baseSet.js @@ -0,0 +1,51 @@ +var assignValue = require('./_assignValue'), + castPath = require('./_castPath'), + isIndex = require('./_isIndex'), + isObject = require('./isObject'), + toKey = require('./_toKey'); + +/** + * The base implementation of `_.set`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @param {Function} [customizer] The function to customize path creation. + * @returns {Object} Returns `object`. + */ +function baseSet(object, path, value, customizer) { + if (!isObject(object)) { + return object; + } + path = castPath(path, object); + + var index = -1, + length = path.length, + lastIndex = length - 1, + nested = object; + + while (nested != null && ++index < length) { + var key = toKey(path[index]), + newValue = value; + + if (key === '__proto__' || key === 'constructor' || key === 'prototype') { + return object; + } + + if (index != lastIndex) { + var objValue = nested[key]; + newValue = customizer ? customizer(objValue, key, nested) : undefined; + if (newValue === undefined) { + newValue = isObject(objValue) + ? objValue + : (isIndex(path[index + 1]) ? [] : {}); + } + } + assignValue(nested, key, newValue); + nested = nested[key]; + } + return object; +} + +module.exports = baseSet; diff --git a/dist/node_modules/lodash/_baseSetData.js b/dist/node_modules/lodash/_baseSetData.js new file mode 100644 index 00000000..c409947d --- /dev/null +++ b/dist/node_modules/lodash/_baseSetData.js @@ -0,0 +1,17 @@ +var identity = require('./identity'), + metaMap = require('./_metaMap'); + +/** + * The base implementation of `setData` without support for hot loop shorting. + * + * @private + * @param {Function} func The function to associate metadata with. + * @param {*} data The metadata. + * @returns {Function} Returns `func`. + */ +var baseSetData = !metaMap ? identity : function(func, data) { + metaMap.set(func, data); + return func; +}; + +module.exports = baseSetData; diff --git a/dist/node_modules/lodash/_baseSetToString.js b/dist/node_modules/lodash/_baseSetToString.js new file mode 100644 index 00000000..89eaca38 --- /dev/null +++ b/dist/node_modules/lodash/_baseSetToString.js @@ -0,0 +1,22 @@ +var constant = require('./constant'), + defineProperty = require('./_defineProperty'), + identity = require('./identity'); + +/** + * The base implementation of `setToString` without support for hot loop shorting. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ +var baseSetToString = !defineProperty ? identity : function(func, string) { + return defineProperty(func, 'toString', { + 'configurable': true, + 'enumerable': false, + 'value': constant(string), + 'writable': true + }); +}; + +module.exports = baseSetToString; diff --git a/dist/node_modules/lodash/_baseShuffle.js b/dist/node_modules/lodash/_baseShuffle.js new file mode 100644 index 00000000..023077ac --- /dev/null +++ b/dist/node_modules/lodash/_baseShuffle.js @@ -0,0 +1,15 @@ +var shuffleSelf = require('./_shuffleSelf'), + values = require('./values'); + +/** + * The base implementation of `_.shuffle`. + * + * @private + * @param {Array|Object} collection The collection to shuffle. + * @returns {Array} Returns the new shuffled array. + */ +function baseShuffle(collection) { + return shuffleSelf(values(collection)); +} + +module.exports = baseShuffle; diff --git a/dist/node_modules/lodash/_baseSlice.js b/dist/node_modules/lodash/_baseSlice.js new file mode 100644 index 00000000..786f6c99 --- /dev/null +++ b/dist/node_modules/lodash/_baseSlice.js @@ -0,0 +1,31 @@ +/** + * The base implementation of `_.slice` without an iteratee call guard. + * + * @private + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ +function baseSlice(array, start, end) { + var index = -1, + length = array.length; + + if (start < 0) { + start = -start > length ? 0 : (length + start); + } + end = end > length ? length : end; + if (end < 0) { + end += length; + } + length = start > end ? 0 : ((end - start) >>> 0); + start >>>= 0; + + var result = Array(length); + while (++index < length) { + result[index] = array[index + start]; + } + return result; +} + +module.exports = baseSlice; diff --git a/dist/node_modules/lodash/_baseSome.js b/dist/node_modules/lodash/_baseSome.js new file mode 100644 index 00000000..58f3f447 --- /dev/null +++ b/dist/node_modules/lodash/_baseSome.js @@ -0,0 +1,22 @@ +var baseEach = require('./_baseEach'); + +/** + * The base implementation of `_.some` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ +function baseSome(collection, predicate) { + var result; + + baseEach(collection, function(value, index, collection) { + result = predicate(value, index, collection); + return !result; + }); + return !!result; +} + +module.exports = baseSome; diff --git a/dist/node_modules/lodash/_baseSortBy.js b/dist/node_modules/lodash/_baseSortBy.js new file mode 100644 index 00000000..a25c92ed --- /dev/null +++ b/dist/node_modules/lodash/_baseSortBy.js @@ -0,0 +1,21 @@ +/** + * The base implementation of `_.sortBy` which uses `comparer` to define the + * sort order of `array` and replaces criteria objects with their corresponding + * values. + * + * @private + * @param {Array} array The array to sort. + * @param {Function} comparer The function to define sort order. + * @returns {Array} Returns `array`. + */ +function baseSortBy(array, comparer) { + var length = array.length; + + array.sort(comparer); + while (length--) { + array[length] = array[length].value; + } + return array; +} + +module.exports = baseSortBy; diff --git a/dist/node_modules/lodash/_baseSortedIndex.js b/dist/node_modules/lodash/_baseSortedIndex.js new file mode 100644 index 00000000..638c366c --- /dev/null +++ b/dist/node_modules/lodash/_baseSortedIndex.js @@ -0,0 +1,42 @@ +var baseSortedIndexBy = require('./_baseSortedIndexBy'), + identity = require('./identity'), + isSymbol = require('./isSymbol'); + +/** Used as references for the maximum length and index of an array. */ +var MAX_ARRAY_LENGTH = 4294967295, + HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1; + +/** + * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which + * performs a binary search of `array` to determine the index at which `value` + * should be inserted into `array` in order to maintain its sort order. + * + * @private + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {boolean} [retHighest] Specify returning the highest qualified index. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + */ +function baseSortedIndex(array, value, retHighest) { + var low = 0, + high = array == null ? low : array.length; + + if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) { + while (low < high) { + var mid = (low + high) >>> 1, + computed = array[mid]; + + if (computed !== null && !isSymbol(computed) && + (retHighest ? (computed <= value) : (computed < value))) { + low = mid + 1; + } else { + high = mid; + } + } + return high; + } + return baseSortedIndexBy(array, value, identity, retHighest); +} + +module.exports = baseSortedIndex; diff --git a/dist/node_modules/lodash/_baseSortedIndexBy.js b/dist/node_modules/lodash/_baseSortedIndexBy.js new file mode 100644 index 00000000..c247b377 --- /dev/null +++ b/dist/node_modules/lodash/_baseSortedIndexBy.js @@ -0,0 +1,67 @@ +var isSymbol = require('./isSymbol'); + +/** Used as references for the maximum length and index of an array. */ +var MAX_ARRAY_LENGTH = 4294967295, + MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeFloor = Math.floor, + nativeMin = Math.min; + +/** + * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy` + * which invokes `iteratee` for `value` and each element of `array` to compute + * their sort ranking. The iteratee is invoked with one argument; (value). + * + * @private + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {Function} iteratee The iteratee invoked per element. + * @param {boolean} [retHighest] Specify returning the highest qualified index. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + */ +function baseSortedIndexBy(array, value, iteratee, retHighest) { + var low = 0, + high = array == null ? 0 : array.length; + if (high === 0) { + return 0; + } + + value = iteratee(value); + var valIsNaN = value !== value, + valIsNull = value === null, + valIsSymbol = isSymbol(value), + valIsUndefined = value === undefined; + + while (low < high) { + var mid = nativeFloor((low + high) / 2), + computed = iteratee(array[mid]), + othIsDefined = computed !== undefined, + othIsNull = computed === null, + othIsReflexive = computed === computed, + othIsSymbol = isSymbol(computed); + + if (valIsNaN) { + var setLow = retHighest || othIsReflexive; + } else if (valIsUndefined) { + setLow = othIsReflexive && (retHighest || othIsDefined); + } else if (valIsNull) { + setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull); + } else if (valIsSymbol) { + setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol); + } else if (othIsNull || othIsSymbol) { + setLow = false; + } else { + setLow = retHighest ? (computed <= value) : (computed < value); + } + if (setLow) { + low = mid + 1; + } else { + high = mid; + } + } + return nativeMin(high, MAX_ARRAY_INDEX); +} + +module.exports = baseSortedIndexBy; diff --git a/dist/node_modules/lodash/_baseSortedUniq.js b/dist/node_modules/lodash/_baseSortedUniq.js new file mode 100644 index 00000000..802159a3 --- /dev/null +++ b/dist/node_modules/lodash/_baseSortedUniq.js @@ -0,0 +1,30 @@ +var eq = require('./eq'); + +/** + * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @returns {Array} Returns the new duplicate free array. + */ +function baseSortedUniq(array, iteratee) { + var index = -1, + length = array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + if (!index || !eq(computed, seen)) { + var seen = computed; + result[resIndex++] = value === 0 ? 0 : value; + } + } + return result; +} + +module.exports = baseSortedUniq; diff --git a/dist/node_modules/lodash/_baseSum.js b/dist/node_modules/lodash/_baseSum.js new file mode 100644 index 00000000..a9e84c13 --- /dev/null +++ b/dist/node_modules/lodash/_baseSum.js @@ -0,0 +1,24 @@ +/** + * The base implementation of `_.sum` and `_.sumBy` without support for + * iteratee shorthands. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {number} Returns the sum. + */ +function baseSum(array, iteratee) { + var result, + index = -1, + length = array.length; + + while (++index < length) { + var current = iteratee(array[index]); + if (current !== undefined) { + result = result === undefined ? current : (result + current); + } + } + return result; +} + +module.exports = baseSum; diff --git a/dist/node_modules/lodash/_baseTimes.js b/dist/node_modules/lodash/_baseTimes.js new file mode 100644 index 00000000..0603fc37 --- /dev/null +++ b/dist/node_modules/lodash/_baseTimes.js @@ -0,0 +1,20 @@ +/** + * The base implementation of `_.times` without support for iteratee shorthands + * or max array length checks. + * + * @private + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the array of results. + */ +function baseTimes(n, iteratee) { + var index = -1, + result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + return result; +} + +module.exports = baseTimes; diff --git a/dist/node_modules/lodash/_baseToNumber.js b/dist/node_modules/lodash/_baseToNumber.js new file mode 100644 index 00000000..04859f39 --- /dev/null +++ b/dist/node_modules/lodash/_baseToNumber.js @@ -0,0 +1,24 @@ +var isSymbol = require('./isSymbol'); + +/** Used as references for various `Number` constants. */ +var NAN = 0 / 0; + +/** + * The base implementation of `_.toNumber` which doesn't ensure correct + * conversions of binary, hexadecimal, or octal string values. + * + * @private + * @param {*} value The value to process. + * @returns {number} Returns the number. + */ +function baseToNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + return +value; +} + +module.exports = baseToNumber; diff --git a/dist/node_modules/lodash/_baseToPairs.js b/dist/node_modules/lodash/_baseToPairs.js new file mode 100644 index 00000000..bff19912 --- /dev/null +++ b/dist/node_modules/lodash/_baseToPairs.js @@ -0,0 +1,18 @@ +var arrayMap = require('./_arrayMap'); + +/** + * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array + * of key-value pairs for `object` corresponding to the property names of `props`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} props The property names to get values for. + * @returns {Object} Returns the key-value pairs. + */ +function baseToPairs(object, props) { + return arrayMap(props, function(key) { + return [key, object[key]]; + }); +} + +module.exports = baseToPairs; diff --git a/dist/node_modules/lodash/_baseToString.js b/dist/node_modules/lodash/_baseToString.js new file mode 100644 index 00000000..ada6ad29 --- /dev/null +++ b/dist/node_modules/lodash/_baseToString.js @@ -0,0 +1,37 @@ +var Symbol = require('./_Symbol'), + arrayMap = require('./_arrayMap'), + isArray = require('./isArray'), + isSymbol = require('./isSymbol'); + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + +/** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ +function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isArray(value)) { + // Recursively convert values (susceptible to call stack limits). + return arrayMap(value, baseToString) + ''; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +module.exports = baseToString; diff --git a/dist/node_modules/lodash/_baseTrim.js b/dist/node_modules/lodash/_baseTrim.js new file mode 100644 index 00000000..3e2797d9 --- /dev/null +++ b/dist/node_modules/lodash/_baseTrim.js @@ -0,0 +1,19 @@ +var trimmedEndIndex = require('./_trimmedEndIndex'); + +/** Used to match leading whitespace. */ +var reTrimStart = /^\s+/; + +/** + * The base implementation of `_.trim`. + * + * @private + * @param {string} string The string to trim. + * @returns {string} Returns the trimmed string. + */ +function baseTrim(string) { + return string + ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '') + : string; +} + +module.exports = baseTrim; diff --git a/dist/node_modules/lodash/_baseUnary.js b/dist/node_modules/lodash/_baseUnary.js new file mode 100644 index 00000000..98639e92 --- /dev/null +++ b/dist/node_modules/lodash/_baseUnary.js @@ -0,0 +1,14 @@ +/** + * The base implementation of `_.unary` without support for storing metadata. + * + * @private + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + */ +function baseUnary(func) { + return function(value) { + return func(value); + }; +} + +module.exports = baseUnary; diff --git a/dist/node_modules/lodash/_baseUniq.js b/dist/node_modules/lodash/_baseUniq.js new file mode 100644 index 00000000..aea459dc --- /dev/null +++ b/dist/node_modules/lodash/_baseUniq.js @@ -0,0 +1,72 @@ +var SetCache = require('./_SetCache'), + arrayIncludes = require('./_arrayIncludes'), + arrayIncludesWith = require('./_arrayIncludesWith'), + cacheHas = require('./_cacheHas'), + createSet = require('./_createSet'), + setToArray = require('./_setToArray'); + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** + * The base implementation of `_.uniqBy` without support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new duplicate free array. + */ +function baseUniq(array, iteratee, comparator) { + var index = -1, + includes = arrayIncludes, + length = array.length, + isCommon = true, + result = [], + seen = result; + + if (comparator) { + isCommon = false; + includes = arrayIncludesWith; + } + else if (length >= LARGE_ARRAY_SIZE) { + var set = iteratee ? null : createSet(array); + if (set) { + return setToArray(set); + } + isCommon = false; + includes = cacheHas; + seen = new SetCache; + } + else { + seen = iteratee ? [] : result; + } + outer: + while (++index < length) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + value = (comparator || value !== 0) ? value : 0; + if (isCommon && computed === computed) { + var seenIndex = seen.length; + while (seenIndex--) { + if (seen[seenIndex] === computed) { + continue outer; + } + } + if (iteratee) { + seen.push(computed); + } + result.push(value); + } + else if (!includes(seen, computed, comparator)) { + if (seen !== result) { + seen.push(computed); + } + result.push(value); + } + } + return result; +} + +module.exports = baseUniq; diff --git a/dist/node_modules/lodash/_baseUnset.js b/dist/node_modules/lodash/_baseUnset.js new file mode 100644 index 00000000..e4eccb0a --- /dev/null +++ b/dist/node_modules/lodash/_baseUnset.js @@ -0,0 +1,52 @@ +var castPath = require('./_castPath'), + last = require('./last'), + parent = require('./_parent'), + toKey = require('./_toKey'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * The base implementation of `_.unset`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The property path to unset. + * @returns {boolean} Returns `true` if the property is deleted, else `false`. + */ +function baseUnset(object, path) { + path = castPath(path, object); + + // Prevent prototype pollution: + // https://github.com/lodash/lodash/security/advisories/GHSA-xxjr-mmjv-4gpg + // https://github.com/lodash/lodash/security/advisories/GHSA-f23m-r3pf-42rh + var index = -1, + length = path.length; + + if (!length) { + return true; + } + + while (++index < length) { + var key = toKey(path[index]); + + // Always block "__proto__" anywhere in the path if it's not expected + if (key === '__proto__' && !hasOwnProperty.call(object, '__proto__')) { + return false; + } + + // Block constructor/prototype as non-terminal traversal keys to prevent + // escaping the object graph into built-in constructors and prototypes. + if ((key === 'constructor' || key === 'prototype') && index < length - 1) { + return false; + } + } + + var obj = parent(object, path); + return obj == null || delete obj[toKey(last(path))]; +} + +module.exports = baseUnset; diff --git a/dist/node_modules/lodash/_baseUpdate.js b/dist/node_modules/lodash/_baseUpdate.js new file mode 100644 index 00000000..92a62377 --- /dev/null +++ b/dist/node_modules/lodash/_baseUpdate.js @@ -0,0 +1,18 @@ +var baseGet = require('./_baseGet'), + baseSet = require('./_baseSet'); + +/** + * The base implementation of `_.update`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to update. + * @param {Function} updater The function to produce the updated value. + * @param {Function} [customizer] The function to customize path creation. + * @returns {Object} Returns `object`. + */ +function baseUpdate(object, path, updater, customizer) { + return baseSet(object, path, updater(baseGet(object, path)), customizer); +} + +module.exports = baseUpdate; diff --git a/dist/node_modules/lodash/_baseValues.js b/dist/node_modules/lodash/_baseValues.js new file mode 100644 index 00000000..b95faadc --- /dev/null +++ b/dist/node_modules/lodash/_baseValues.js @@ -0,0 +1,19 @@ +var arrayMap = require('./_arrayMap'); + +/** + * The base implementation of `_.values` and `_.valuesIn` which creates an + * array of `object` property values corresponding to the property names + * of `props`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} props The property names to get values for. + * @returns {Object} Returns the array of property values. + */ +function baseValues(object, props) { + return arrayMap(props, function(key) { + return object[key]; + }); +} + +module.exports = baseValues; diff --git a/dist/node_modules/lodash/_baseWhile.js b/dist/node_modules/lodash/_baseWhile.js new file mode 100644 index 00000000..07eac61b --- /dev/null +++ b/dist/node_modules/lodash/_baseWhile.js @@ -0,0 +1,26 @@ +var baseSlice = require('./_baseSlice'); + +/** + * The base implementation of methods like `_.dropWhile` and `_.takeWhile` + * without support for iteratee shorthands. + * + * @private + * @param {Array} array The array to query. + * @param {Function} predicate The function invoked per iteration. + * @param {boolean} [isDrop] Specify dropping elements instead of taking them. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Array} Returns the slice of `array`. + */ +function baseWhile(array, predicate, isDrop, fromRight) { + var length = array.length, + index = fromRight ? length : -1; + + while ((fromRight ? index-- : ++index < length) && + predicate(array[index], index, array)) {} + + return isDrop + ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length)) + : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index)); +} + +module.exports = baseWhile; diff --git a/dist/node_modules/lodash/_baseWrapperValue.js b/dist/node_modules/lodash/_baseWrapperValue.js new file mode 100644 index 00000000..443e0df5 --- /dev/null +++ b/dist/node_modules/lodash/_baseWrapperValue.js @@ -0,0 +1,25 @@ +var LazyWrapper = require('./_LazyWrapper'), + arrayPush = require('./_arrayPush'), + arrayReduce = require('./_arrayReduce'); + +/** + * The base implementation of `wrapperValue` which returns the result of + * performing a sequence of actions on the unwrapped `value`, where each + * successive action is supplied the return value of the previous. + * + * @private + * @param {*} value The unwrapped value. + * @param {Array} actions Actions to perform to resolve the unwrapped value. + * @returns {*} Returns the resolved value. + */ +function baseWrapperValue(value, actions) { + var result = value; + if (result instanceof LazyWrapper) { + result = result.value(); + } + return arrayReduce(actions, function(result, action) { + return action.func.apply(action.thisArg, arrayPush([result], action.args)); + }, result); +} + +module.exports = baseWrapperValue; diff --git a/dist/node_modules/lodash/_baseXor.js b/dist/node_modules/lodash/_baseXor.js new file mode 100644 index 00000000..8e69338b --- /dev/null +++ b/dist/node_modules/lodash/_baseXor.js @@ -0,0 +1,36 @@ +var baseDifference = require('./_baseDifference'), + baseFlatten = require('./_baseFlatten'), + baseUniq = require('./_baseUniq'); + +/** + * The base implementation of methods like `_.xor`, without support for + * iteratee shorthands, that accepts an array of arrays to inspect. + * + * @private + * @param {Array} arrays The arrays to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of values. + */ +function baseXor(arrays, iteratee, comparator) { + var length = arrays.length; + if (length < 2) { + return length ? baseUniq(arrays[0]) : []; + } + var index = -1, + result = Array(length); + + while (++index < length) { + var array = arrays[index], + othIndex = -1; + + while (++othIndex < length) { + if (othIndex != index) { + result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator); + } + } + } + return baseUniq(baseFlatten(result, 1), iteratee, comparator); +} + +module.exports = baseXor; diff --git a/dist/node_modules/lodash/_baseZipObject.js b/dist/node_modules/lodash/_baseZipObject.js new file mode 100644 index 00000000..401f85be --- /dev/null +++ b/dist/node_modules/lodash/_baseZipObject.js @@ -0,0 +1,23 @@ +/** + * This base implementation of `_.zipObject` which assigns values using `assignFunc`. + * + * @private + * @param {Array} props The property identifiers. + * @param {Array} values The property values. + * @param {Function} assignFunc The function to assign values. + * @returns {Object} Returns the new object. + */ +function baseZipObject(props, values, assignFunc) { + var index = -1, + length = props.length, + valsLength = values.length, + result = {}; + + while (++index < length) { + var value = index < valsLength ? values[index] : undefined; + assignFunc(result, props[index], value); + } + return result; +} + +module.exports = baseZipObject; diff --git a/dist/node_modules/lodash/_cacheHas.js b/dist/node_modules/lodash/_cacheHas.js new file mode 100644 index 00000000..2dec8926 --- /dev/null +++ b/dist/node_modules/lodash/_cacheHas.js @@ -0,0 +1,13 @@ +/** + * Checks if a `cache` value for `key` exists. + * + * @private + * @param {Object} cache The cache to query. + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function cacheHas(cache, key) { + return cache.has(key); +} + +module.exports = cacheHas; diff --git a/dist/node_modules/lodash/_castArrayLikeObject.js b/dist/node_modules/lodash/_castArrayLikeObject.js new file mode 100644 index 00000000..92c75fa1 --- /dev/null +++ b/dist/node_modules/lodash/_castArrayLikeObject.js @@ -0,0 +1,14 @@ +var isArrayLikeObject = require('./isArrayLikeObject'); + +/** + * Casts `value` to an empty array if it's not an array like object. + * + * @private + * @param {*} value The value to inspect. + * @returns {Array|Object} Returns the cast array-like object. + */ +function castArrayLikeObject(value) { + return isArrayLikeObject(value) ? value : []; +} + +module.exports = castArrayLikeObject; diff --git a/dist/node_modules/lodash/_castFunction.js b/dist/node_modules/lodash/_castFunction.js new file mode 100644 index 00000000..98c91ae6 --- /dev/null +++ b/dist/node_modules/lodash/_castFunction.js @@ -0,0 +1,14 @@ +var identity = require('./identity'); + +/** + * Casts `value` to `identity` if it's not a function. + * + * @private + * @param {*} value The value to inspect. + * @returns {Function} Returns cast function. + */ +function castFunction(value) { + return typeof value == 'function' ? value : identity; +} + +module.exports = castFunction; diff --git a/dist/node_modules/lodash/_castPath.js b/dist/node_modules/lodash/_castPath.js new file mode 100644 index 00000000..017e4c1b --- /dev/null +++ b/dist/node_modules/lodash/_castPath.js @@ -0,0 +1,21 @@ +var isArray = require('./isArray'), + isKey = require('./_isKey'), + stringToPath = require('./_stringToPath'), + toString = require('./toString'); + +/** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @param {Object} [object] The object to query keys on. + * @returns {Array} Returns the cast property path array. + */ +function castPath(value, object) { + if (isArray(value)) { + return value; + } + return isKey(value, object) ? [value] : stringToPath(toString(value)); +} + +module.exports = castPath; diff --git a/dist/node_modules/lodash/_castRest.js b/dist/node_modules/lodash/_castRest.js new file mode 100644 index 00000000..213c66f1 --- /dev/null +++ b/dist/node_modules/lodash/_castRest.js @@ -0,0 +1,14 @@ +var baseRest = require('./_baseRest'); + +/** + * A `baseRest` alias which can be replaced with `identity` by module + * replacement plugins. + * + * @private + * @type {Function} + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ +var castRest = baseRest; + +module.exports = castRest; diff --git a/dist/node_modules/lodash/_castSlice.js b/dist/node_modules/lodash/_castSlice.js new file mode 100644 index 00000000..071faeba --- /dev/null +++ b/dist/node_modules/lodash/_castSlice.js @@ -0,0 +1,18 @@ +var baseSlice = require('./_baseSlice'); + +/** + * Casts `array` to a slice if it's needed. + * + * @private + * @param {Array} array The array to inspect. + * @param {number} start The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the cast slice. + */ +function castSlice(array, start, end) { + var length = array.length; + end = end === undefined ? length : end; + return (!start && end >= length) ? array : baseSlice(array, start, end); +} + +module.exports = castSlice; diff --git a/dist/node_modules/lodash/_charsEndIndex.js b/dist/node_modules/lodash/_charsEndIndex.js new file mode 100644 index 00000000..07908ff3 --- /dev/null +++ b/dist/node_modules/lodash/_charsEndIndex.js @@ -0,0 +1,19 @@ +var baseIndexOf = require('./_baseIndexOf'); + +/** + * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol + * that is not found in the character symbols. + * + * @private + * @param {Array} strSymbols The string symbols to inspect. + * @param {Array} chrSymbols The character symbols to find. + * @returns {number} Returns the index of the last unmatched string symbol. + */ +function charsEndIndex(strSymbols, chrSymbols) { + var index = strSymbols.length; + + while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} + return index; +} + +module.exports = charsEndIndex; diff --git a/dist/node_modules/lodash/_charsStartIndex.js b/dist/node_modules/lodash/_charsStartIndex.js new file mode 100644 index 00000000..b17afd25 --- /dev/null +++ b/dist/node_modules/lodash/_charsStartIndex.js @@ -0,0 +1,20 @@ +var baseIndexOf = require('./_baseIndexOf'); + +/** + * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol + * that is not found in the character symbols. + * + * @private + * @param {Array} strSymbols The string symbols to inspect. + * @param {Array} chrSymbols The character symbols to find. + * @returns {number} Returns the index of the first unmatched string symbol. + */ +function charsStartIndex(strSymbols, chrSymbols) { + var index = -1, + length = strSymbols.length; + + while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} + return index; +} + +module.exports = charsStartIndex; diff --git a/dist/node_modules/lodash/_cloneArrayBuffer.js b/dist/node_modules/lodash/_cloneArrayBuffer.js new file mode 100644 index 00000000..c3d8f6e3 --- /dev/null +++ b/dist/node_modules/lodash/_cloneArrayBuffer.js @@ -0,0 +1,16 @@ +var Uint8Array = require('./_Uint8Array'); + +/** + * Creates a clone of `arrayBuffer`. + * + * @private + * @param {ArrayBuffer} arrayBuffer The array buffer to clone. + * @returns {ArrayBuffer} Returns the cloned array buffer. + */ +function cloneArrayBuffer(arrayBuffer) { + var result = new arrayBuffer.constructor(arrayBuffer.byteLength); + new Uint8Array(result).set(new Uint8Array(arrayBuffer)); + return result; +} + +module.exports = cloneArrayBuffer; diff --git a/dist/node_modules/lodash/_cloneBuffer.js b/dist/node_modules/lodash/_cloneBuffer.js new file mode 100644 index 00000000..27c48109 --- /dev/null +++ b/dist/node_modules/lodash/_cloneBuffer.js @@ -0,0 +1,35 @@ +var root = require('./_root'); + +/** Detect free variable `exports`. */ +var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** Built-in value references. */ +var Buffer = moduleExports ? root.Buffer : undefined, + allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined; + +/** + * Creates a clone of `buffer`. + * + * @private + * @param {Buffer} buffer The buffer to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Buffer} Returns the cloned buffer. + */ +function cloneBuffer(buffer, isDeep) { + if (isDeep) { + return buffer.slice(); + } + var length = buffer.length, + result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); + + buffer.copy(result); + return result; +} + +module.exports = cloneBuffer; diff --git a/dist/node_modules/lodash/_cloneDataView.js b/dist/node_modules/lodash/_cloneDataView.js new file mode 100644 index 00000000..9c9b7b05 --- /dev/null +++ b/dist/node_modules/lodash/_cloneDataView.js @@ -0,0 +1,16 @@ +var cloneArrayBuffer = require('./_cloneArrayBuffer'); + +/** + * Creates a clone of `dataView`. + * + * @private + * @param {Object} dataView The data view to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned data view. + */ +function cloneDataView(dataView, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; + return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); +} + +module.exports = cloneDataView; diff --git a/dist/node_modules/lodash/_cloneRegExp.js b/dist/node_modules/lodash/_cloneRegExp.js new file mode 100644 index 00000000..64a30dfb --- /dev/null +++ b/dist/node_modules/lodash/_cloneRegExp.js @@ -0,0 +1,17 @@ +/** Used to match `RegExp` flags from their coerced string values. */ +var reFlags = /\w*$/; + +/** + * Creates a clone of `regexp`. + * + * @private + * @param {Object} regexp The regexp to clone. + * @returns {Object} Returns the cloned regexp. + */ +function cloneRegExp(regexp) { + var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); + result.lastIndex = regexp.lastIndex; + return result; +} + +module.exports = cloneRegExp; diff --git a/dist/node_modules/lodash/_cloneSymbol.js b/dist/node_modules/lodash/_cloneSymbol.js new file mode 100644 index 00000000..bede39f5 --- /dev/null +++ b/dist/node_modules/lodash/_cloneSymbol.js @@ -0,0 +1,18 @@ +var Symbol = require('./_Symbol'); + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; + +/** + * Creates a clone of the `symbol` object. + * + * @private + * @param {Object} symbol The symbol object to clone. + * @returns {Object} Returns the cloned symbol object. + */ +function cloneSymbol(symbol) { + return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; +} + +module.exports = cloneSymbol; diff --git a/dist/node_modules/lodash/_cloneTypedArray.js b/dist/node_modules/lodash/_cloneTypedArray.js new file mode 100644 index 00000000..7aad84d4 --- /dev/null +++ b/dist/node_modules/lodash/_cloneTypedArray.js @@ -0,0 +1,16 @@ +var cloneArrayBuffer = require('./_cloneArrayBuffer'); + +/** + * Creates a clone of `typedArray`. + * + * @private + * @param {Object} typedArray The typed array to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned typed array. + */ +function cloneTypedArray(typedArray, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; + return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); +} + +module.exports = cloneTypedArray; diff --git a/dist/node_modules/lodash/_compareAscending.js b/dist/node_modules/lodash/_compareAscending.js new file mode 100644 index 00000000..8dc27910 --- /dev/null +++ b/dist/node_modules/lodash/_compareAscending.js @@ -0,0 +1,41 @@ +var isSymbol = require('./isSymbol'); + +/** + * Compares values to sort them in ascending order. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {number} Returns the sort order indicator for `value`. + */ +function compareAscending(value, other) { + if (value !== other) { + var valIsDefined = value !== undefined, + valIsNull = value === null, + valIsReflexive = value === value, + valIsSymbol = isSymbol(value); + + var othIsDefined = other !== undefined, + othIsNull = other === null, + othIsReflexive = other === other, + othIsSymbol = isSymbol(other); + + if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) || + (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) || + (valIsNull && othIsDefined && othIsReflexive) || + (!valIsDefined && othIsReflexive) || + !valIsReflexive) { + return 1; + } + if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) || + (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) || + (othIsNull && valIsDefined && valIsReflexive) || + (!othIsDefined && valIsReflexive) || + !othIsReflexive) { + return -1; + } + } + return 0; +} + +module.exports = compareAscending; diff --git a/dist/node_modules/lodash/_compareMultiple.js b/dist/node_modules/lodash/_compareMultiple.js new file mode 100644 index 00000000..ad61f0fb --- /dev/null +++ b/dist/node_modules/lodash/_compareMultiple.js @@ -0,0 +1,44 @@ +var compareAscending = require('./_compareAscending'); + +/** + * Used by `_.orderBy` to compare multiple properties of a value to another + * and stable sort them. + * + * If `orders` is unspecified, all values are sorted in ascending order. Otherwise, + * specify an order of "desc" for descending or "asc" for ascending sort order + * of corresponding values. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {boolean[]|string[]} orders The order to sort by for each property. + * @returns {number} Returns the sort order indicator for `object`. + */ +function compareMultiple(object, other, orders) { + var index = -1, + objCriteria = object.criteria, + othCriteria = other.criteria, + length = objCriteria.length, + ordersLength = orders.length; + + while (++index < length) { + var result = compareAscending(objCriteria[index], othCriteria[index]); + if (result) { + if (index >= ordersLength) { + return result; + } + var order = orders[index]; + return result * (order == 'desc' ? -1 : 1); + } + } + // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications + // that causes it, under certain circumstances, to provide the same value for + // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247 + // for more details. + // + // This also ensures a stable sort in V8 and other engines. + // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details. + return object.index - other.index; +} + +module.exports = compareMultiple; diff --git a/dist/node_modules/lodash/_composeArgs.js b/dist/node_modules/lodash/_composeArgs.js new file mode 100644 index 00000000..1ce40f4f --- /dev/null +++ b/dist/node_modules/lodash/_composeArgs.js @@ -0,0 +1,39 @@ +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * Creates an array that is the composition of partially applied arguments, + * placeholders, and provided arguments into a single array of arguments. + * + * @private + * @param {Array} args The provided arguments. + * @param {Array} partials The arguments to prepend to those provided. + * @param {Array} holders The `partials` placeholder indexes. + * @params {boolean} [isCurried] Specify composing for a curried function. + * @returns {Array} Returns the new array of composed arguments. + */ +function composeArgs(args, partials, holders, isCurried) { + var argsIndex = -1, + argsLength = args.length, + holdersLength = holders.length, + leftIndex = -1, + leftLength = partials.length, + rangeLength = nativeMax(argsLength - holdersLength, 0), + result = Array(leftLength + rangeLength), + isUncurried = !isCurried; + + while (++leftIndex < leftLength) { + result[leftIndex] = partials[leftIndex]; + } + while (++argsIndex < holdersLength) { + if (isUncurried || argsIndex < argsLength) { + result[holders[argsIndex]] = args[argsIndex]; + } + } + while (rangeLength--) { + result[leftIndex++] = args[argsIndex++]; + } + return result; +} + +module.exports = composeArgs; diff --git a/dist/node_modules/lodash/_composeArgsRight.js b/dist/node_modules/lodash/_composeArgsRight.js new file mode 100644 index 00000000..8dc588d0 --- /dev/null +++ b/dist/node_modules/lodash/_composeArgsRight.js @@ -0,0 +1,41 @@ +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * This function is like `composeArgs` except that the arguments composition + * is tailored for `_.partialRight`. + * + * @private + * @param {Array} args The provided arguments. + * @param {Array} partials The arguments to append to those provided. + * @param {Array} holders The `partials` placeholder indexes. + * @params {boolean} [isCurried] Specify composing for a curried function. + * @returns {Array} Returns the new array of composed arguments. + */ +function composeArgsRight(args, partials, holders, isCurried) { + var argsIndex = -1, + argsLength = args.length, + holdersIndex = -1, + holdersLength = holders.length, + rightIndex = -1, + rightLength = partials.length, + rangeLength = nativeMax(argsLength - holdersLength, 0), + result = Array(rangeLength + rightLength), + isUncurried = !isCurried; + + while (++argsIndex < rangeLength) { + result[argsIndex] = args[argsIndex]; + } + var offset = argsIndex; + while (++rightIndex < rightLength) { + result[offset + rightIndex] = partials[rightIndex]; + } + while (++holdersIndex < holdersLength) { + if (isUncurried || argsIndex < argsLength) { + result[offset + holders[holdersIndex]] = args[argsIndex++]; + } + } + return result; +} + +module.exports = composeArgsRight; diff --git a/dist/node_modules/lodash/_copyArray.js b/dist/node_modules/lodash/_copyArray.js new file mode 100644 index 00000000..cd94d5d0 --- /dev/null +++ b/dist/node_modules/lodash/_copyArray.js @@ -0,0 +1,20 @@ +/** + * Copies the values of `source` to `array`. + * + * @private + * @param {Array} source The array to copy values from. + * @param {Array} [array=[]] The array to copy values to. + * @returns {Array} Returns `array`. + */ +function copyArray(source, array) { + var index = -1, + length = source.length; + + array || (array = Array(length)); + while (++index < length) { + array[index] = source[index]; + } + return array; +} + +module.exports = copyArray; diff --git a/dist/node_modules/lodash/_copyObject.js b/dist/node_modules/lodash/_copyObject.js new file mode 100644 index 00000000..2f2a5c23 --- /dev/null +++ b/dist/node_modules/lodash/_copyObject.js @@ -0,0 +1,40 @@ +var assignValue = require('./_assignValue'), + baseAssignValue = require('./_baseAssignValue'); + +/** + * Copies properties of `source` to `object`. + * + * @private + * @param {Object} source The object to copy properties from. + * @param {Array} props The property identifiers to copy. + * @param {Object} [object={}] The object to copy properties to. + * @param {Function} [customizer] The function to customize copied values. + * @returns {Object} Returns `object`. + */ +function copyObject(source, props, object, customizer) { + var isNew = !object; + object || (object = {}); + + var index = -1, + length = props.length; + + while (++index < length) { + var key = props[index]; + + var newValue = customizer + ? customizer(object[key], source[key], key, object, source) + : undefined; + + if (newValue === undefined) { + newValue = source[key]; + } + if (isNew) { + baseAssignValue(object, key, newValue); + } else { + assignValue(object, key, newValue); + } + } + return object; +} + +module.exports = copyObject; diff --git a/dist/node_modules/lodash/_copySymbols.js b/dist/node_modules/lodash/_copySymbols.js new file mode 100644 index 00000000..c35944ab --- /dev/null +++ b/dist/node_modules/lodash/_copySymbols.js @@ -0,0 +1,16 @@ +var copyObject = require('./_copyObject'), + getSymbols = require('./_getSymbols'); + +/** + * Copies own symbols of `source` to `object`. + * + * @private + * @param {Object} source The object to copy symbols from. + * @param {Object} [object={}] The object to copy symbols to. + * @returns {Object} Returns `object`. + */ +function copySymbols(source, object) { + return copyObject(source, getSymbols(source), object); +} + +module.exports = copySymbols; diff --git a/dist/node_modules/lodash/_copySymbolsIn.js b/dist/node_modules/lodash/_copySymbolsIn.js new file mode 100644 index 00000000..fdf20a73 --- /dev/null +++ b/dist/node_modules/lodash/_copySymbolsIn.js @@ -0,0 +1,16 @@ +var copyObject = require('./_copyObject'), + getSymbolsIn = require('./_getSymbolsIn'); + +/** + * Copies own and inherited symbols of `source` to `object`. + * + * @private + * @param {Object} source The object to copy symbols from. + * @param {Object} [object={}] The object to copy symbols to. + * @returns {Object} Returns `object`. + */ +function copySymbolsIn(source, object) { + return copyObject(source, getSymbolsIn(source), object); +} + +module.exports = copySymbolsIn; diff --git a/dist/node_modules/lodash/_coreJsData.js b/dist/node_modules/lodash/_coreJsData.js new file mode 100644 index 00000000..f8e5b4e3 --- /dev/null +++ b/dist/node_modules/lodash/_coreJsData.js @@ -0,0 +1,6 @@ +var root = require('./_root'); + +/** Used to detect overreaching core-js shims. */ +var coreJsData = root['__core-js_shared__']; + +module.exports = coreJsData; diff --git a/dist/node_modules/lodash/_countHolders.js b/dist/node_modules/lodash/_countHolders.js new file mode 100644 index 00000000..718fcdaa --- /dev/null +++ b/dist/node_modules/lodash/_countHolders.js @@ -0,0 +1,21 @@ +/** + * Gets the number of `placeholder` occurrences in `array`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} placeholder The placeholder to search for. + * @returns {number} Returns the placeholder count. + */ +function countHolders(array, placeholder) { + var length = array.length, + result = 0; + + while (length--) { + if (array[length] === placeholder) { + ++result; + } + } + return result; +} + +module.exports = countHolders; diff --git a/dist/node_modules/lodash/_createAggregator.js b/dist/node_modules/lodash/_createAggregator.js new file mode 100644 index 00000000..0be42c41 --- /dev/null +++ b/dist/node_modules/lodash/_createAggregator.js @@ -0,0 +1,23 @@ +var arrayAggregator = require('./_arrayAggregator'), + baseAggregator = require('./_baseAggregator'), + baseIteratee = require('./_baseIteratee'), + isArray = require('./isArray'); + +/** + * Creates a function like `_.groupBy`. + * + * @private + * @param {Function} setter The function to set accumulator values. + * @param {Function} [initializer] The accumulator object initializer. + * @returns {Function} Returns the new aggregator function. + */ +function createAggregator(setter, initializer) { + return function(collection, iteratee) { + var func = isArray(collection) ? arrayAggregator : baseAggregator, + accumulator = initializer ? initializer() : {}; + + return func(collection, setter, baseIteratee(iteratee, 2), accumulator); + }; +} + +module.exports = createAggregator; diff --git a/dist/node_modules/lodash/_createAssigner.js b/dist/node_modules/lodash/_createAssigner.js new file mode 100644 index 00000000..1f904c51 --- /dev/null +++ b/dist/node_modules/lodash/_createAssigner.js @@ -0,0 +1,37 @@ +var baseRest = require('./_baseRest'), + isIterateeCall = require('./_isIterateeCall'); + +/** + * Creates a function like `_.assign`. + * + * @private + * @param {Function} assigner The function to assign values. + * @returns {Function} Returns the new assigner function. + */ +function createAssigner(assigner) { + return baseRest(function(object, sources) { + var index = -1, + length = sources.length, + customizer = length > 1 ? sources[length - 1] : undefined, + guard = length > 2 ? sources[2] : undefined; + + customizer = (assigner.length > 3 && typeof customizer == 'function') + ? (length--, customizer) + : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + customizer = length < 3 ? undefined : customizer; + length = 1; + } + object = Object(object); + while (++index < length) { + var source = sources[index]; + if (source) { + assigner(object, source, index, customizer); + } + } + return object; + }); +} + +module.exports = createAssigner; diff --git a/dist/node_modules/lodash/_createBaseEach.js b/dist/node_modules/lodash/_createBaseEach.js new file mode 100644 index 00000000..d24fdd1b --- /dev/null +++ b/dist/node_modules/lodash/_createBaseEach.js @@ -0,0 +1,32 @@ +var isArrayLike = require('./isArrayLike'); + +/** + * Creates a `baseEach` or `baseEachRight` function. + * + * @private + * @param {Function} eachFunc The function to iterate over a collection. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ +function createBaseEach(eachFunc, fromRight) { + return function(collection, iteratee) { + if (collection == null) { + return collection; + } + if (!isArrayLike(collection)) { + return eachFunc(collection, iteratee); + } + var length = collection.length, + index = fromRight ? length : -1, + iterable = Object(collection); + + while ((fromRight ? index-- : ++index < length)) { + if (iteratee(iterable[index], index, iterable) === false) { + break; + } + } + return collection; + }; +} + +module.exports = createBaseEach; diff --git a/dist/node_modules/lodash/_createBaseFor.js b/dist/node_modules/lodash/_createBaseFor.js new file mode 100644 index 00000000..94cbf297 --- /dev/null +++ b/dist/node_modules/lodash/_createBaseFor.js @@ -0,0 +1,25 @@ +/** + * Creates a base function for methods like `_.forIn` and `_.forOwn`. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ +function createBaseFor(fromRight) { + return function(object, iteratee, keysFunc) { + var index = -1, + iterable = Object(object), + props = keysFunc(object), + length = props.length; + + while (length--) { + var key = props[fromRight ? length : ++index]; + if (iteratee(iterable[key], key, iterable) === false) { + break; + } + } + return object; + }; +} + +module.exports = createBaseFor; diff --git a/dist/node_modules/lodash/_createBind.js b/dist/node_modules/lodash/_createBind.js new file mode 100644 index 00000000..07cb99f4 --- /dev/null +++ b/dist/node_modules/lodash/_createBind.js @@ -0,0 +1,28 @@ +var createCtor = require('./_createCtor'), + root = require('./_root'); + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_FLAG = 1; + +/** + * Creates a function that wraps `func` to invoke it with the optional `this` + * binding of `thisArg`. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} [thisArg] The `this` binding of `func`. + * @returns {Function} Returns the new wrapped function. + */ +function createBind(func, bitmask, thisArg) { + var isBind = bitmask & WRAP_BIND_FLAG, + Ctor = createCtor(func); + + function wrapper() { + var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + return fn.apply(isBind ? thisArg : this, arguments); + } + return wrapper; +} + +module.exports = createBind; diff --git a/dist/node_modules/lodash/_createCaseFirst.js b/dist/node_modules/lodash/_createCaseFirst.js new file mode 100644 index 00000000..fe8ea483 --- /dev/null +++ b/dist/node_modules/lodash/_createCaseFirst.js @@ -0,0 +1,33 @@ +var castSlice = require('./_castSlice'), + hasUnicode = require('./_hasUnicode'), + stringToArray = require('./_stringToArray'), + toString = require('./toString'); + +/** + * Creates a function like `_.lowerFirst`. + * + * @private + * @param {string} methodName The name of the `String` case method to use. + * @returns {Function} Returns the new case function. + */ +function createCaseFirst(methodName) { + return function(string) { + string = toString(string); + + var strSymbols = hasUnicode(string) + ? stringToArray(string) + : undefined; + + var chr = strSymbols + ? strSymbols[0] + : string.charAt(0); + + var trailing = strSymbols + ? castSlice(strSymbols, 1).join('') + : string.slice(1); + + return chr[methodName]() + trailing; + }; +} + +module.exports = createCaseFirst; diff --git a/dist/node_modules/lodash/_createCompounder.js b/dist/node_modules/lodash/_createCompounder.js new file mode 100644 index 00000000..8d4cee2c --- /dev/null +++ b/dist/node_modules/lodash/_createCompounder.js @@ -0,0 +1,24 @@ +var arrayReduce = require('./_arrayReduce'), + deburr = require('./deburr'), + words = require('./words'); + +/** Used to compose unicode capture groups. */ +var rsApos = "['\u2019]"; + +/** Used to match apostrophes. */ +var reApos = RegExp(rsApos, 'g'); + +/** + * Creates a function like `_.camelCase`. + * + * @private + * @param {Function} callback The function to combine each word. + * @returns {Function} Returns the new compounder function. + */ +function createCompounder(callback) { + return function(string) { + return arrayReduce(words(deburr(string).replace(reApos, '')), callback, ''); + }; +} + +module.exports = createCompounder; diff --git a/dist/node_modules/lodash/_createCtor.js b/dist/node_modules/lodash/_createCtor.js new file mode 100644 index 00000000..9047aa5f --- /dev/null +++ b/dist/node_modules/lodash/_createCtor.js @@ -0,0 +1,37 @@ +var baseCreate = require('./_baseCreate'), + isObject = require('./isObject'); + +/** + * Creates a function that produces an instance of `Ctor` regardless of + * whether it was invoked as part of a `new` expression or by `call` or `apply`. + * + * @private + * @param {Function} Ctor The constructor to wrap. + * @returns {Function} Returns the new wrapped function. + */ +function createCtor(Ctor) { + return function() { + // Use a `switch` statement to work with class constructors. See + // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist + // for more details. + var args = arguments; + switch (args.length) { + case 0: return new Ctor; + case 1: return new Ctor(args[0]); + case 2: return new Ctor(args[0], args[1]); + case 3: return new Ctor(args[0], args[1], args[2]); + case 4: return new Ctor(args[0], args[1], args[2], args[3]); + case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]); + case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]); + case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]); + } + var thisBinding = baseCreate(Ctor.prototype), + result = Ctor.apply(thisBinding, args); + + // Mimic the constructor's `return` behavior. + // See https://es5.github.io/#x13.2.2 for more details. + return isObject(result) ? result : thisBinding; + }; +} + +module.exports = createCtor; diff --git a/dist/node_modules/lodash/_createCurry.js b/dist/node_modules/lodash/_createCurry.js new file mode 100644 index 00000000..f06c2cdd --- /dev/null +++ b/dist/node_modules/lodash/_createCurry.js @@ -0,0 +1,46 @@ +var apply = require('./_apply'), + createCtor = require('./_createCtor'), + createHybrid = require('./_createHybrid'), + createRecurry = require('./_createRecurry'), + getHolder = require('./_getHolder'), + replaceHolders = require('./_replaceHolders'), + root = require('./_root'); + +/** + * Creates a function that wraps `func` to enable currying. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {number} arity The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ +function createCurry(func, bitmask, arity) { + var Ctor = createCtor(func); + + function wrapper() { + var length = arguments.length, + args = Array(length), + index = length, + placeholder = getHolder(wrapper); + + while (index--) { + args[index] = arguments[index]; + } + var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder) + ? [] + : replaceHolders(args, placeholder); + + length -= holders.length; + if (length < arity) { + return createRecurry( + func, bitmask, createHybrid, wrapper.placeholder, undefined, + args, holders, undefined, undefined, arity - length); + } + var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + return apply(fn, this, args); + } + return wrapper; +} + +module.exports = createCurry; diff --git a/dist/node_modules/lodash/_createFind.js b/dist/node_modules/lodash/_createFind.js new file mode 100644 index 00000000..8859ff89 --- /dev/null +++ b/dist/node_modules/lodash/_createFind.js @@ -0,0 +1,25 @@ +var baseIteratee = require('./_baseIteratee'), + isArrayLike = require('./isArrayLike'), + keys = require('./keys'); + +/** + * Creates a `_.find` or `_.findLast` function. + * + * @private + * @param {Function} findIndexFunc The function to find the collection index. + * @returns {Function} Returns the new find function. + */ +function createFind(findIndexFunc) { + return function(collection, predicate, fromIndex) { + var iterable = Object(collection); + if (!isArrayLike(collection)) { + var iteratee = baseIteratee(predicate, 3); + collection = keys(collection); + predicate = function(key) { return iteratee(iterable[key], key, iterable); }; + } + var index = findIndexFunc(collection, predicate, fromIndex); + return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; + }; +} + +module.exports = createFind; diff --git a/dist/node_modules/lodash/_createFlow.js b/dist/node_modules/lodash/_createFlow.js new file mode 100644 index 00000000..baaddbf5 --- /dev/null +++ b/dist/node_modules/lodash/_createFlow.js @@ -0,0 +1,78 @@ +var LodashWrapper = require('./_LodashWrapper'), + flatRest = require('./_flatRest'), + getData = require('./_getData'), + getFuncName = require('./_getFuncName'), + isArray = require('./isArray'), + isLaziable = require('./_isLaziable'); + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** Used to compose bitmasks for function metadata. */ +var WRAP_CURRY_FLAG = 8, + WRAP_PARTIAL_FLAG = 32, + WRAP_ARY_FLAG = 128, + WRAP_REARG_FLAG = 256; + +/** + * Creates a `_.flow` or `_.flowRight` function. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new flow function. + */ +function createFlow(fromRight) { + return flatRest(function(funcs) { + var length = funcs.length, + index = length, + prereq = LodashWrapper.prototype.thru; + + if (fromRight) { + funcs.reverse(); + } + while (index--) { + var func = funcs[index]; + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + if (prereq && !wrapper && getFuncName(func) == 'wrapper') { + var wrapper = new LodashWrapper([], true); + } + } + index = wrapper ? index : length; + while (++index < length) { + func = funcs[index]; + + var funcName = getFuncName(func), + data = funcName == 'wrapper' ? getData(func) : undefined; + + if (data && isLaziable(data[0]) && + data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) && + !data[4].length && data[9] == 1 + ) { + wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]); + } else { + wrapper = (func.length == 1 && isLaziable(func)) + ? wrapper[funcName]() + : wrapper.thru(func); + } + } + return function() { + var args = arguments, + value = args[0]; + + if (wrapper && args.length == 1 && isArray(value)) { + return wrapper.plant(value).value(); + } + var index = 0, + result = length ? funcs[index].apply(this, args) : value; + + while (++index < length) { + result = funcs[index].call(this, result); + } + return result; + }; + }); +} + +module.exports = createFlow; diff --git a/dist/node_modules/lodash/_createHybrid.js b/dist/node_modules/lodash/_createHybrid.js new file mode 100644 index 00000000..b671bd11 --- /dev/null +++ b/dist/node_modules/lodash/_createHybrid.js @@ -0,0 +1,92 @@ +var composeArgs = require('./_composeArgs'), + composeArgsRight = require('./_composeArgsRight'), + countHolders = require('./_countHolders'), + createCtor = require('./_createCtor'), + createRecurry = require('./_createRecurry'), + getHolder = require('./_getHolder'), + reorder = require('./_reorder'), + replaceHolders = require('./_replaceHolders'), + root = require('./_root'); + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_FLAG = 1, + WRAP_BIND_KEY_FLAG = 2, + WRAP_CURRY_FLAG = 8, + WRAP_CURRY_RIGHT_FLAG = 16, + WRAP_ARY_FLAG = 128, + WRAP_FLIP_FLAG = 512; + +/** + * Creates a function that wraps `func` to invoke it with optional `this` + * binding of `thisArg`, partial application, and currying. + * + * @private + * @param {Function|string} func The function or method name to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to prepend to those provided to + * the new function. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [partialsRight] The arguments to append to those provided + * to the new function. + * @param {Array} [holdersRight] The `partialsRight` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ +function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) { + var isAry = bitmask & WRAP_ARY_FLAG, + isBind = bitmask & WRAP_BIND_FLAG, + isBindKey = bitmask & WRAP_BIND_KEY_FLAG, + isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG), + isFlip = bitmask & WRAP_FLIP_FLAG, + Ctor = isBindKey ? undefined : createCtor(func); + + function wrapper() { + var length = arguments.length, + args = Array(length), + index = length; + + while (index--) { + args[index] = arguments[index]; + } + if (isCurried) { + var placeholder = getHolder(wrapper), + holdersCount = countHolders(args, placeholder); + } + if (partials) { + args = composeArgs(args, partials, holders, isCurried); + } + if (partialsRight) { + args = composeArgsRight(args, partialsRight, holdersRight, isCurried); + } + length -= holdersCount; + if (isCurried && length < arity) { + var newHolders = replaceHolders(args, placeholder); + return createRecurry( + func, bitmask, createHybrid, wrapper.placeholder, thisArg, + args, newHolders, argPos, ary, arity - length + ); + } + var thisBinding = isBind ? thisArg : this, + fn = isBindKey ? thisBinding[func] : func; + + length = args.length; + if (argPos) { + args = reorder(args, argPos); + } else if (isFlip && length > 1) { + args.reverse(); + } + if (isAry && ary < length) { + args.length = ary; + } + if (this && this !== root && this instanceof wrapper) { + fn = Ctor || createCtor(fn); + } + return fn.apply(thisBinding, args); + } + return wrapper; +} + +module.exports = createHybrid; diff --git a/dist/node_modules/lodash/_createInverter.js b/dist/node_modules/lodash/_createInverter.js new file mode 100644 index 00000000..6c0c5629 --- /dev/null +++ b/dist/node_modules/lodash/_createInverter.js @@ -0,0 +1,17 @@ +var baseInverter = require('./_baseInverter'); + +/** + * Creates a function like `_.invertBy`. + * + * @private + * @param {Function} setter The function to set accumulator values. + * @param {Function} toIteratee The function to resolve iteratees. + * @returns {Function} Returns the new inverter function. + */ +function createInverter(setter, toIteratee) { + return function(object, iteratee) { + return baseInverter(object, setter, toIteratee(iteratee), {}); + }; +} + +module.exports = createInverter; diff --git a/dist/node_modules/lodash/_createMathOperation.js b/dist/node_modules/lodash/_createMathOperation.js new file mode 100644 index 00000000..f1e238ac --- /dev/null +++ b/dist/node_modules/lodash/_createMathOperation.js @@ -0,0 +1,38 @@ +var baseToNumber = require('./_baseToNumber'), + baseToString = require('./_baseToString'); + +/** + * Creates a function that performs a mathematical operation on two values. + * + * @private + * @param {Function} operator The function to perform the operation. + * @param {number} [defaultValue] The value used for `undefined` arguments. + * @returns {Function} Returns the new mathematical operation function. + */ +function createMathOperation(operator, defaultValue) { + return function(value, other) { + var result; + if (value === undefined && other === undefined) { + return defaultValue; + } + if (value !== undefined) { + result = value; + } + if (other !== undefined) { + if (result === undefined) { + return other; + } + if (typeof value == 'string' || typeof other == 'string') { + value = baseToString(value); + other = baseToString(other); + } else { + value = baseToNumber(value); + other = baseToNumber(other); + } + result = operator(value, other); + } + return result; + }; +} + +module.exports = createMathOperation; diff --git a/dist/node_modules/lodash/_createOver.js b/dist/node_modules/lodash/_createOver.js new file mode 100644 index 00000000..3b945516 --- /dev/null +++ b/dist/node_modules/lodash/_createOver.js @@ -0,0 +1,27 @@ +var apply = require('./_apply'), + arrayMap = require('./_arrayMap'), + baseIteratee = require('./_baseIteratee'), + baseRest = require('./_baseRest'), + baseUnary = require('./_baseUnary'), + flatRest = require('./_flatRest'); + +/** + * Creates a function like `_.over`. + * + * @private + * @param {Function} arrayFunc The function to iterate over iteratees. + * @returns {Function} Returns the new over function. + */ +function createOver(arrayFunc) { + return flatRest(function(iteratees) { + iteratees = arrayMap(iteratees, baseUnary(baseIteratee)); + return baseRest(function(args) { + var thisArg = this; + return arrayFunc(iteratees, function(iteratee) { + return apply(iteratee, thisArg, args); + }); + }); + }); +} + +module.exports = createOver; diff --git a/dist/node_modules/lodash/_createPadding.js b/dist/node_modules/lodash/_createPadding.js new file mode 100644 index 00000000..2124612b --- /dev/null +++ b/dist/node_modules/lodash/_createPadding.js @@ -0,0 +1,33 @@ +var baseRepeat = require('./_baseRepeat'), + baseToString = require('./_baseToString'), + castSlice = require('./_castSlice'), + hasUnicode = require('./_hasUnicode'), + stringSize = require('./_stringSize'), + stringToArray = require('./_stringToArray'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeCeil = Math.ceil; + +/** + * Creates the padding for `string` based on `length`. The `chars` string + * is truncated if the number of characters exceeds `length`. + * + * @private + * @param {number} length The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padding for `string`. + */ +function createPadding(length, chars) { + chars = chars === undefined ? ' ' : baseToString(chars); + + var charsLength = chars.length; + if (charsLength < 2) { + return charsLength ? baseRepeat(chars, length) : chars; + } + var result = baseRepeat(chars, nativeCeil(length / stringSize(chars))); + return hasUnicode(chars) + ? castSlice(stringToArray(result), 0, length).join('') + : result.slice(0, length); +} + +module.exports = createPadding; diff --git a/dist/node_modules/lodash/_createPartial.js b/dist/node_modules/lodash/_createPartial.js new file mode 100644 index 00000000..e16c248b --- /dev/null +++ b/dist/node_modules/lodash/_createPartial.js @@ -0,0 +1,43 @@ +var apply = require('./_apply'), + createCtor = require('./_createCtor'), + root = require('./_root'); + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_FLAG = 1; + +/** + * Creates a function that wraps `func` to invoke it with the `this` binding + * of `thisArg` and `partials` prepended to the arguments it receives. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} partials The arguments to prepend to those provided to + * the new function. + * @returns {Function} Returns the new wrapped function. + */ +function createPartial(func, bitmask, thisArg, partials) { + var isBind = bitmask & WRAP_BIND_FLAG, + Ctor = createCtor(func); + + function wrapper() { + var argsIndex = -1, + argsLength = arguments.length, + leftIndex = -1, + leftLength = partials.length, + args = Array(leftLength + argsLength), + fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + + while (++leftIndex < leftLength) { + args[leftIndex] = partials[leftIndex]; + } + while (argsLength--) { + args[leftIndex++] = arguments[++argsIndex]; + } + return apply(fn, isBind ? thisArg : this, args); + } + return wrapper; +} + +module.exports = createPartial; diff --git a/dist/node_modules/lodash/_createRange.js b/dist/node_modules/lodash/_createRange.js new file mode 100644 index 00000000..9f52c779 --- /dev/null +++ b/dist/node_modules/lodash/_createRange.js @@ -0,0 +1,30 @@ +var baseRange = require('./_baseRange'), + isIterateeCall = require('./_isIterateeCall'), + toFinite = require('./toFinite'); + +/** + * Creates a `_.range` or `_.rangeRight` function. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new range function. + */ +function createRange(fromRight) { + return function(start, end, step) { + if (step && typeof step != 'number' && isIterateeCall(start, end, step)) { + end = step = undefined; + } + // Ensure the sign of `-0` is preserved. + start = toFinite(start); + if (end === undefined) { + end = start; + start = 0; + } else { + end = toFinite(end); + } + step = step === undefined ? (start < end ? 1 : -1) : toFinite(step); + return baseRange(start, end, step, fromRight); + }; +} + +module.exports = createRange; diff --git a/dist/node_modules/lodash/_createRecurry.js b/dist/node_modules/lodash/_createRecurry.js new file mode 100644 index 00000000..eb29fb24 --- /dev/null +++ b/dist/node_modules/lodash/_createRecurry.js @@ -0,0 +1,56 @@ +var isLaziable = require('./_isLaziable'), + setData = require('./_setData'), + setWrapToString = require('./_setWrapToString'); + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_FLAG = 1, + WRAP_BIND_KEY_FLAG = 2, + WRAP_CURRY_BOUND_FLAG = 4, + WRAP_CURRY_FLAG = 8, + WRAP_PARTIAL_FLAG = 32, + WRAP_PARTIAL_RIGHT_FLAG = 64; + +/** + * Creates a function that wraps `func` to continue currying. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {Function} wrapFunc The function to create the `func` wrapper. + * @param {*} placeholder The placeholder value. + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to prepend to those provided to + * the new function. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ +function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) { + var isCurry = bitmask & WRAP_CURRY_FLAG, + newHolders = isCurry ? holders : undefined, + newHoldersRight = isCurry ? undefined : holders, + newPartials = isCurry ? partials : undefined, + newPartialsRight = isCurry ? undefined : partials; + + bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG); + bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG); + + if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) { + bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG); + } + var newData = [ + func, bitmask, thisArg, newPartials, newHolders, newPartialsRight, + newHoldersRight, argPos, ary, arity + ]; + + var result = wrapFunc.apply(undefined, newData); + if (isLaziable(func)) { + setData(result, newData); + } + result.placeholder = placeholder; + return setWrapToString(result, func, bitmask); +} + +module.exports = createRecurry; diff --git a/dist/node_modules/lodash/_createRelationalOperation.js b/dist/node_modules/lodash/_createRelationalOperation.js new file mode 100644 index 00000000..a17c6b5e --- /dev/null +++ b/dist/node_modules/lodash/_createRelationalOperation.js @@ -0,0 +1,20 @@ +var toNumber = require('./toNumber'); + +/** + * Creates a function that performs a relational operation on two values. + * + * @private + * @param {Function} operator The function to perform the operation. + * @returns {Function} Returns the new relational operation function. + */ +function createRelationalOperation(operator) { + return function(value, other) { + if (!(typeof value == 'string' && typeof other == 'string')) { + value = toNumber(value); + other = toNumber(other); + } + return operator(value, other); + }; +} + +module.exports = createRelationalOperation; diff --git a/dist/node_modules/lodash/_createRound.js b/dist/node_modules/lodash/_createRound.js new file mode 100644 index 00000000..88be5df3 --- /dev/null +++ b/dist/node_modules/lodash/_createRound.js @@ -0,0 +1,35 @@ +var root = require('./_root'), + toInteger = require('./toInteger'), + toNumber = require('./toNumber'), + toString = require('./toString'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeIsFinite = root.isFinite, + nativeMin = Math.min; + +/** + * Creates a function like `_.round`. + * + * @private + * @param {string} methodName The name of the `Math` method to use when rounding. + * @returns {Function} Returns the new round function. + */ +function createRound(methodName) { + var func = Math[methodName]; + return function(number, precision) { + number = toNumber(number); + precision = precision == null ? 0 : nativeMin(toInteger(precision), 292); + if (precision && nativeIsFinite(number)) { + // Shift with exponential notation to avoid floating-point issues. + // See [MDN](https://mdn.io/round#Examples) for more details. + var pair = (toString(number) + 'e').split('e'), + value = func(pair[0] + 'e' + (+pair[1] + precision)); + + pair = (toString(value) + 'e').split('e'); + return +(pair[0] + 'e' + (+pair[1] - precision)); + } + return func(number); + }; +} + +module.exports = createRound; diff --git a/dist/node_modules/lodash/_createSet.js b/dist/node_modules/lodash/_createSet.js new file mode 100644 index 00000000..0f644eea --- /dev/null +++ b/dist/node_modules/lodash/_createSet.js @@ -0,0 +1,19 @@ +var Set = require('./_Set'), + noop = require('./noop'), + setToArray = require('./_setToArray'); + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** + * Creates a set object of `values`. + * + * @private + * @param {Array} values The values to add to the set. + * @returns {Object} Returns the new set. + */ +var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) { + return new Set(values); +}; + +module.exports = createSet; diff --git a/dist/node_modules/lodash/_createToPairs.js b/dist/node_modules/lodash/_createToPairs.js new file mode 100644 index 00000000..568417af --- /dev/null +++ b/dist/node_modules/lodash/_createToPairs.js @@ -0,0 +1,30 @@ +var baseToPairs = require('./_baseToPairs'), + getTag = require('./_getTag'), + mapToArray = require('./_mapToArray'), + setToPairs = require('./_setToPairs'); + +/** `Object#toString` result references. */ +var mapTag = '[object Map]', + setTag = '[object Set]'; + +/** + * Creates a `_.toPairs` or `_.toPairsIn` function. + * + * @private + * @param {Function} keysFunc The function to get the keys of a given object. + * @returns {Function} Returns the new pairs function. + */ +function createToPairs(keysFunc) { + return function(object) { + var tag = getTag(object); + if (tag == mapTag) { + return mapToArray(object); + } + if (tag == setTag) { + return setToPairs(object); + } + return baseToPairs(object, keysFunc(object)); + }; +} + +module.exports = createToPairs; diff --git a/dist/node_modules/lodash/_createWrap.js b/dist/node_modules/lodash/_createWrap.js new file mode 100644 index 00000000..33f0633e --- /dev/null +++ b/dist/node_modules/lodash/_createWrap.js @@ -0,0 +1,106 @@ +var baseSetData = require('./_baseSetData'), + createBind = require('./_createBind'), + createCurry = require('./_createCurry'), + createHybrid = require('./_createHybrid'), + createPartial = require('./_createPartial'), + getData = require('./_getData'), + mergeData = require('./_mergeData'), + setData = require('./_setData'), + setWrapToString = require('./_setWrapToString'), + toInteger = require('./toInteger'); + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_FLAG = 1, + WRAP_BIND_KEY_FLAG = 2, + WRAP_CURRY_FLAG = 8, + WRAP_CURRY_RIGHT_FLAG = 16, + WRAP_PARTIAL_FLAG = 32, + WRAP_PARTIAL_RIGHT_FLAG = 64; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * Creates a function that either curries or invokes `func` with optional + * `this` binding and partially applied arguments. + * + * @private + * @param {Function|string} func The function or method name to wrap. + * @param {number} bitmask The bitmask flags. + * 1 - `_.bind` + * 2 - `_.bindKey` + * 4 - `_.curry` or `_.curryRight` of a bound function + * 8 - `_.curry` + * 16 - `_.curryRight` + * 32 - `_.partial` + * 64 - `_.partialRight` + * 128 - `_.rearg` + * 256 - `_.ary` + * 512 - `_.flip` + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to be partially applied. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ +function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) { + var isBindKey = bitmask & WRAP_BIND_KEY_FLAG; + if (!isBindKey && typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + var length = partials ? partials.length : 0; + if (!length) { + bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG); + partials = holders = undefined; + } + ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0); + arity = arity === undefined ? arity : toInteger(arity); + length -= holders ? holders.length : 0; + + if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) { + var partialsRight = partials, + holdersRight = holders; + + partials = holders = undefined; + } + var data = isBindKey ? undefined : getData(func); + + var newData = [ + func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, + argPos, ary, arity + ]; + + if (data) { + mergeData(newData, data); + } + func = newData[0]; + bitmask = newData[1]; + thisArg = newData[2]; + partials = newData[3]; + holders = newData[4]; + arity = newData[9] = newData[9] === undefined + ? (isBindKey ? 0 : func.length) + : nativeMax(newData[9] - length, 0); + + if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) { + bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG); + } + if (!bitmask || bitmask == WRAP_BIND_FLAG) { + var result = createBind(func, bitmask, thisArg); + } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) { + result = createCurry(func, bitmask, arity); + } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) { + result = createPartial(func, bitmask, thisArg, partials); + } else { + result = createHybrid.apply(undefined, newData); + } + var setter = data ? baseSetData : setData; + return setWrapToString(setter(result, newData), func, bitmask); +} + +module.exports = createWrap; diff --git a/dist/node_modules/lodash/_customDefaultsAssignIn.js b/dist/node_modules/lodash/_customDefaultsAssignIn.js new file mode 100644 index 00000000..1f49e6fc --- /dev/null +++ b/dist/node_modules/lodash/_customDefaultsAssignIn.js @@ -0,0 +1,29 @@ +var eq = require('./eq'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used by `_.defaults` to customize its `_.assignIn` use to assign properties + * of source objects to the destination object for all destination properties + * that resolve to `undefined`. + * + * @private + * @param {*} objValue The destination value. + * @param {*} srcValue The source value. + * @param {string} key The key of the property to assign. + * @param {Object} object The parent object of `objValue`. + * @returns {*} Returns the value to assign. + */ +function customDefaultsAssignIn(objValue, srcValue, key, object) { + if (objValue === undefined || + (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) { + return srcValue; + } + return objValue; +} + +module.exports = customDefaultsAssignIn; diff --git a/dist/node_modules/lodash/_customDefaultsMerge.js b/dist/node_modules/lodash/_customDefaultsMerge.js new file mode 100644 index 00000000..4cab3175 --- /dev/null +++ b/dist/node_modules/lodash/_customDefaultsMerge.js @@ -0,0 +1,28 @@ +var baseMerge = require('./_baseMerge'), + isObject = require('./isObject'); + +/** + * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source + * objects into destination objects that are passed thru. + * + * @private + * @param {*} objValue The destination value. + * @param {*} srcValue The source value. + * @param {string} key The key of the property to merge. + * @param {Object} object The parent object of `objValue`. + * @param {Object} source The parent object of `srcValue`. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + * @returns {*} Returns the value to assign. + */ +function customDefaultsMerge(objValue, srcValue, key, object, source, stack) { + if (isObject(objValue) && isObject(srcValue)) { + // Recursively merge objects and arrays (susceptible to call stack limits). + stack.set(srcValue, objValue); + baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack); + stack['delete'](srcValue); + } + return objValue; +} + +module.exports = customDefaultsMerge; diff --git a/dist/node_modules/lodash/_customOmitClone.js b/dist/node_modules/lodash/_customOmitClone.js new file mode 100644 index 00000000..968db2ef --- /dev/null +++ b/dist/node_modules/lodash/_customOmitClone.js @@ -0,0 +1,16 @@ +var isPlainObject = require('./isPlainObject'); + +/** + * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain + * objects. + * + * @private + * @param {*} value The value to inspect. + * @param {string} key The key of the property to inspect. + * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`. + */ +function customOmitClone(value) { + return isPlainObject(value) ? undefined : value; +} + +module.exports = customOmitClone; diff --git a/dist/node_modules/lodash/_deburrLetter.js b/dist/node_modules/lodash/_deburrLetter.js new file mode 100644 index 00000000..3e531edc --- /dev/null +++ b/dist/node_modules/lodash/_deburrLetter.js @@ -0,0 +1,71 @@ +var basePropertyOf = require('./_basePropertyOf'); + +/** Used to map Latin Unicode letters to basic Latin letters. */ +var deburredLetters = { + // Latin-1 Supplement block. + '\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A', + '\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a', + '\xc7': 'C', '\xe7': 'c', + '\xd0': 'D', '\xf0': 'd', + '\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E', + '\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e', + '\xcc': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I', + '\xec': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i', + '\xd1': 'N', '\xf1': 'n', + '\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O', + '\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o', + '\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U', + '\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u', + '\xdd': 'Y', '\xfd': 'y', '\xff': 'y', + '\xc6': 'Ae', '\xe6': 'ae', + '\xde': 'Th', '\xfe': 'th', + '\xdf': 'ss', + // Latin Extended-A block. + '\u0100': 'A', '\u0102': 'A', '\u0104': 'A', + '\u0101': 'a', '\u0103': 'a', '\u0105': 'a', + '\u0106': 'C', '\u0108': 'C', '\u010a': 'C', '\u010c': 'C', + '\u0107': 'c', '\u0109': 'c', '\u010b': 'c', '\u010d': 'c', + '\u010e': 'D', '\u0110': 'D', '\u010f': 'd', '\u0111': 'd', + '\u0112': 'E', '\u0114': 'E', '\u0116': 'E', '\u0118': 'E', '\u011a': 'E', + '\u0113': 'e', '\u0115': 'e', '\u0117': 'e', '\u0119': 'e', '\u011b': 'e', + '\u011c': 'G', '\u011e': 'G', '\u0120': 'G', '\u0122': 'G', + '\u011d': 'g', '\u011f': 'g', '\u0121': 'g', '\u0123': 'g', + '\u0124': 'H', '\u0126': 'H', '\u0125': 'h', '\u0127': 'h', + '\u0128': 'I', '\u012a': 'I', '\u012c': 'I', '\u012e': 'I', '\u0130': 'I', + '\u0129': 'i', '\u012b': 'i', '\u012d': 'i', '\u012f': 'i', '\u0131': 'i', + '\u0134': 'J', '\u0135': 'j', + '\u0136': 'K', '\u0137': 'k', '\u0138': 'k', + '\u0139': 'L', '\u013b': 'L', '\u013d': 'L', '\u013f': 'L', '\u0141': 'L', + '\u013a': 'l', '\u013c': 'l', '\u013e': 'l', '\u0140': 'l', '\u0142': 'l', + '\u0143': 'N', '\u0145': 'N', '\u0147': 'N', '\u014a': 'N', + '\u0144': 'n', '\u0146': 'n', '\u0148': 'n', '\u014b': 'n', + '\u014c': 'O', '\u014e': 'O', '\u0150': 'O', + '\u014d': 'o', '\u014f': 'o', '\u0151': 'o', + '\u0154': 'R', '\u0156': 'R', '\u0158': 'R', + '\u0155': 'r', '\u0157': 'r', '\u0159': 'r', + '\u015a': 'S', '\u015c': 'S', '\u015e': 'S', '\u0160': 'S', + '\u015b': 's', '\u015d': 's', '\u015f': 's', '\u0161': 's', + '\u0162': 'T', '\u0164': 'T', '\u0166': 'T', + '\u0163': 't', '\u0165': 't', '\u0167': 't', + '\u0168': 'U', '\u016a': 'U', '\u016c': 'U', '\u016e': 'U', '\u0170': 'U', '\u0172': 'U', + '\u0169': 'u', '\u016b': 'u', '\u016d': 'u', '\u016f': 'u', '\u0171': 'u', '\u0173': 'u', + '\u0174': 'W', '\u0175': 'w', + '\u0176': 'Y', '\u0177': 'y', '\u0178': 'Y', + '\u0179': 'Z', '\u017b': 'Z', '\u017d': 'Z', + '\u017a': 'z', '\u017c': 'z', '\u017e': 'z', + '\u0132': 'IJ', '\u0133': 'ij', + '\u0152': 'Oe', '\u0153': 'oe', + '\u0149': "'n", '\u017f': 's' +}; + +/** + * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A + * letters to basic Latin letters. + * + * @private + * @param {string} letter The matched letter to deburr. + * @returns {string} Returns the deburred letter. + */ +var deburrLetter = basePropertyOf(deburredLetters); + +module.exports = deburrLetter; diff --git a/dist/node_modules/lodash/_defineProperty.js b/dist/node_modules/lodash/_defineProperty.js new file mode 100644 index 00000000..b6116d92 --- /dev/null +++ b/dist/node_modules/lodash/_defineProperty.js @@ -0,0 +1,11 @@ +var getNative = require('./_getNative'); + +var defineProperty = (function() { + try { + var func = getNative(Object, 'defineProperty'); + func({}, '', {}); + return func; + } catch (e) {} +}()); + +module.exports = defineProperty; diff --git a/dist/node_modules/lodash/_equalArrays.js b/dist/node_modules/lodash/_equalArrays.js new file mode 100644 index 00000000..824228c7 --- /dev/null +++ b/dist/node_modules/lodash/_equalArrays.js @@ -0,0 +1,84 @@ +var SetCache = require('./_SetCache'), + arraySome = require('./_arraySome'), + cacheHas = require('./_cacheHas'); + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + +/** + * A specialized version of `baseIsEqualDeep` for arrays with support for + * partial deep comparisons. + * + * @private + * @param {Array} array The array to compare. + * @param {Array} other The other array to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `array` and `other` objects. + * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. + */ +function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + arrLength = array.length, + othLength = other.length; + + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } + // Check that cyclic values are equal. + var arrStacked = stack.get(array); + var othStacked = stack.get(other); + if (arrStacked && othStacked) { + return arrStacked == other && othStacked == array; + } + var index = -1, + result = true, + seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined; + + stack.set(array, other); + stack.set(other, array); + + // Ignore non-index properties. + while (++index < arrLength) { + var arrValue = array[index], + othValue = other[index]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, arrValue, index, other, array, stack) + : customizer(arrValue, othValue, index, array, other, stack); + } + if (compared !== undefined) { + if (compared) { + continue; + } + result = false; + break; + } + // Recursively compare arrays (susceptible to call stack limits). + if (seen) { + if (!arraySome(other, function(othValue, othIndex) { + if (!cacheHas(seen, othIndex) && + (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + return seen.push(othIndex); + } + })) { + result = false; + break; + } + } else if (!( + arrValue === othValue || + equalFunc(arrValue, othValue, bitmask, customizer, stack) + )) { + result = false; + break; + } + } + stack['delete'](array); + stack['delete'](other); + return result; +} + +module.exports = equalArrays; diff --git a/dist/node_modules/lodash/_equalByTag.js b/dist/node_modules/lodash/_equalByTag.js new file mode 100644 index 00000000..71919e86 --- /dev/null +++ b/dist/node_modules/lodash/_equalByTag.js @@ -0,0 +1,112 @@ +var Symbol = require('./_Symbol'), + Uint8Array = require('./_Uint8Array'), + eq = require('./eq'), + equalArrays = require('./_equalArrays'), + mapToArray = require('./_mapToArray'), + setToArray = require('./_setToArray'); + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + +/** `Object#toString` result references. */ +var boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + mapTag = '[object Map]', + numberTag = '[object Number]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]'; + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; + +/** + * A specialized version of `baseIsEqualDeep` for comparing objects of + * the same `toStringTag`. + * + * **Note:** This function only supports comparing values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {string} tag The `toStringTag` of the objects to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { + switch (tag) { + case dataViewTag: + if ((object.byteLength != other.byteLength) || + (object.byteOffset != other.byteOffset)) { + return false; + } + object = object.buffer; + other = other.buffer; + + case arrayBufferTag: + if ((object.byteLength != other.byteLength) || + !equalFunc(new Uint8Array(object), new Uint8Array(other))) { + return false; + } + return true; + + case boolTag: + case dateTag: + case numberTag: + // Coerce booleans to `1` or `0` and dates to milliseconds. + // Invalid dates are coerced to `NaN`. + return eq(+object, +other); + + case errorTag: + return object.name == other.name && object.message == other.message; + + case regexpTag: + case stringTag: + // Coerce regexes to strings and treat strings, primitives and objects, + // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring + // for more details. + return object == (other + ''); + + case mapTag: + var convert = mapToArray; + + case setTag: + var isPartial = bitmask & COMPARE_PARTIAL_FLAG; + convert || (convert = setToArray); + + if (object.size != other.size && !isPartial) { + return false; + } + // Assume cyclic values are equal. + var stacked = stack.get(object); + if (stacked) { + return stacked == other; + } + bitmask |= COMPARE_UNORDERED_FLAG; + + // Recursively compare objects (susceptible to call stack limits). + stack.set(object, other); + var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); + stack['delete'](object); + return result; + + case symbolTag: + if (symbolValueOf) { + return symbolValueOf.call(object) == symbolValueOf.call(other); + } + } + return false; +} + +module.exports = equalByTag; diff --git a/dist/node_modules/lodash/_equalObjects.js b/dist/node_modules/lodash/_equalObjects.js new file mode 100644 index 00000000..cdaacd2d --- /dev/null +++ b/dist/node_modules/lodash/_equalObjects.js @@ -0,0 +1,90 @@ +var getAllKeys = require('./_getAllKeys'); + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * A specialized version of `baseIsEqualDeep` for objects with support for + * partial deep comparisons. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + objProps = getAllKeys(object), + objLength = objProps.length, + othProps = getAllKeys(other), + othLength = othProps.length; + + if (objLength != othLength && !isPartial) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { + return false; + } + } + // Check that cyclic values are equal. + var objStacked = stack.get(object); + var othStacked = stack.get(other); + if (objStacked && othStacked) { + return objStacked == other && othStacked == object; + } + var result = true; + stack.set(object, other); + stack.set(other, object); + + var skipCtor = isPartial; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], + othValue = other[key]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, objValue, key, other, object, stack) + : customizer(objValue, othValue, key, object, other, stack); + } + // Recursively compare objects (susceptible to call stack limits). + if (!(compared === undefined + ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) + : compared + )) { + result = false; + break; + } + skipCtor || (skipCtor = key == 'constructor'); + } + if (result && !skipCtor) { + var objCtor = object.constructor, + othCtor = other.constructor; + + // Non `Object` object instances with different constructors are not equal. + if (objCtor != othCtor && + ('constructor' in object && 'constructor' in other) && + !(typeof objCtor == 'function' && objCtor instanceof objCtor && + typeof othCtor == 'function' && othCtor instanceof othCtor)) { + result = false; + } + } + stack['delete'](object); + stack['delete'](other); + return result; +} + +module.exports = equalObjects; diff --git a/dist/node_modules/lodash/_escapeHtmlChar.js b/dist/node_modules/lodash/_escapeHtmlChar.js new file mode 100644 index 00000000..7ca68ee6 --- /dev/null +++ b/dist/node_modules/lodash/_escapeHtmlChar.js @@ -0,0 +1,21 @@ +var basePropertyOf = require('./_basePropertyOf'); + +/** Used to map characters to HTML entities. */ +var htmlEscapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' +}; + +/** + * Used by `_.escape` to convert characters to HTML entities. + * + * @private + * @param {string} chr The matched character to escape. + * @returns {string} Returns the escaped character. + */ +var escapeHtmlChar = basePropertyOf(htmlEscapes); + +module.exports = escapeHtmlChar; diff --git a/dist/node_modules/lodash/_escapeStringChar.js b/dist/node_modules/lodash/_escapeStringChar.js new file mode 100644 index 00000000..44eca96c --- /dev/null +++ b/dist/node_modules/lodash/_escapeStringChar.js @@ -0,0 +1,22 @@ +/** Used to escape characters for inclusion in compiled string literals. */ +var stringEscapes = { + '\\': '\\', + "'": "'", + '\n': 'n', + '\r': 'r', + '\u2028': 'u2028', + '\u2029': 'u2029' +}; + +/** + * Used by `_.template` to escape characters for inclusion in compiled string literals. + * + * @private + * @param {string} chr The matched character to escape. + * @returns {string} Returns the escaped character. + */ +function escapeStringChar(chr) { + return '\\' + stringEscapes[chr]; +} + +module.exports = escapeStringChar; diff --git a/dist/node_modules/lodash/_flatRest.js b/dist/node_modules/lodash/_flatRest.js new file mode 100644 index 00000000..94ab6cca --- /dev/null +++ b/dist/node_modules/lodash/_flatRest.js @@ -0,0 +1,16 @@ +var flatten = require('./flatten'), + overRest = require('./_overRest'), + setToString = require('./_setToString'); + +/** + * A specialized version of `baseRest` which flattens the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ +function flatRest(func) { + return setToString(overRest(func, undefined, flatten), func + ''); +} + +module.exports = flatRest; diff --git a/dist/node_modules/lodash/_freeGlobal.js b/dist/node_modules/lodash/_freeGlobal.js new file mode 100644 index 00000000..bbec998f --- /dev/null +++ b/dist/node_modules/lodash/_freeGlobal.js @@ -0,0 +1,4 @@ +/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + +module.exports = freeGlobal; diff --git a/dist/node_modules/lodash/_getAllKeys.js b/dist/node_modules/lodash/_getAllKeys.js new file mode 100644 index 00000000..a9ce6995 --- /dev/null +++ b/dist/node_modules/lodash/_getAllKeys.js @@ -0,0 +1,16 @@ +var baseGetAllKeys = require('./_baseGetAllKeys'), + getSymbols = require('./_getSymbols'), + keys = require('./keys'); + +/** + * Creates an array of own enumerable property names and symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ +function getAllKeys(object) { + return baseGetAllKeys(object, keys, getSymbols); +} + +module.exports = getAllKeys; diff --git a/dist/node_modules/lodash/_getAllKeysIn.js b/dist/node_modules/lodash/_getAllKeysIn.js new file mode 100644 index 00000000..1b466784 --- /dev/null +++ b/dist/node_modules/lodash/_getAllKeysIn.js @@ -0,0 +1,17 @@ +var baseGetAllKeys = require('./_baseGetAllKeys'), + getSymbolsIn = require('./_getSymbolsIn'), + keysIn = require('./keysIn'); + +/** + * Creates an array of own and inherited enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ +function getAllKeysIn(object) { + return baseGetAllKeys(object, keysIn, getSymbolsIn); +} + +module.exports = getAllKeysIn; diff --git a/dist/node_modules/lodash/_getData.js b/dist/node_modules/lodash/_getData.js new file mode 100644 index 00000000..a1fe7b77 --- /dev/null +++ b/dist/node_modules/lodash/_getData.js @@ -0,0 +1,15 @@ +var metaMap = require('./_metaMap'), + noop = require('./noop'); + +/** + * Gets metadata for `func`. + * + * @private + * @param {Function} func The function to query. + * @returns {*} Returns the metadata for `func`. + */ +var getData = !metaMap ? noop : function(func) { + return metaMap.get(func); +}; + +module.exports = getData; diff --git a/dist/node_modules/lodash/_getFuncName.js b/dist/node_modules/lodash/_getFuncName.js new file mode 100644 index 00000000..21e15b33 --- /dev/null +++ b/dist/node_modules/lodash/_getFuncName.js @@ -0,0 +1,31 @@ +var realNames = require('./_realNames'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Gets the name of `func`. + * + * @private + * @param {Function} func The function to query. + * @returns {string} Returns the function name. + */ +function getFuncName(func) { + var result = (func.name + ''), + array = realNames[result], + length = hasOwnProperty.call(realNames, result) ? array.length : 0; + + while (length--) { + var data = array[length], + otherFunc = data.func; + if (otherFunc == null || otherFunc == func) { + return data.name; + } + } + return result; +} + +module.exports = getFuncName; diff --git a/dist/node_modules/lodash/_getHolder.js b/dist/node_modules/lodash/_getHolder.js new file mode 100644 index 00000000..65e94b5c --- /dev/null +++ b/dist/node_modules/lodash/_getHolder.js @@ -0,0 +1,13 @@ +/** + * Gets the argument placeholder value for `func`. + * + * @private + * @param {Function} func The function to inspect. + * @returns {*} Returns the placeholder value. + */ +function getHolder(func) { + var object = func; + return object.placeholder; +} + +module.exports = getHolder; diff --git a/dist/node_modules/lodash/_getMapData.js b/dist/node_modules/lodash/_getMapData.js new file mode 100644 index 00000000..17f63032 --- /dev/null +++ b/dist/node_modules/lodash/_getMapData.js @@ -0,0 +1,18 @@ +var isKeyable = require('./_isKeyable'); + +/** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ +function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; +} + +module.exports = getMapData; diff --git a/dist/node_modules/lodash/_getMatchData.js b/dist/node_modules/lodash/_getMatchData.js new file mode 100644 index 00000000..2cc70f91 --- /dev/null +++ b/dist/node_modules/lodash/_getMatchData.js @@ -0,0 +1,24 @@ +var isStrictComparable = require('./_isStrictComparable'), + keys = require('./keys'); + +/** + * Gets the property names, values, and compare flags of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the match data of `object`. + */ +function getMatchData(object) { + var result = keys(object), + length = result.length; + + while (length--) { + var key = result[length], + value = object[key]; + + result[length] = [key, value, isStrictComparable(value)]; + } + return result; +} + +module.exports = getMatchData; diff --git a/dist/node_modules/lodash/_getNative.js b/dist/node_modules/lodash/_getNative.js new file mode 100644 index 00000000..97a622b8 --- /dev/null +++ b/dist/node_modules/lodash/_getNative.js @@ -0,0 +1,17 @@ +var baseIsNative = require('./_baseIsNative'), + getValue = require('./_getValue'); + +/** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ +function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; +} + +module.exports = getNative; diff --git a/dist/node_modules/lodash/_getPrototype.js b/dist/node_modules/lodash/_getPrototype.js new file mode 100644 index 00000000..e8086121 --- /dev/null +++ b/dist/node_modules/lodash/_getPrototype.js @@ -0,0 +1,6 @@ +var overArg = require('./_overArg'); + +/** Built-in value references. */ +var getPrototype = overArg(Object.getPrototypeOf, Object); + +module.exports = getPrototype; diff --git a/dist/node_modules/lodash/_getRawTag.js b/dist/node_modules/lodash/_getRawTag.js new file mode 100644 index 00000000..49a95c9c --- /dev/null +++ b/dist/node_modules/lodash/_getRawTag.js @@ -0,0 +1,46 @@ +var Symbol = require('./_Symbol'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var nativeObjectToString = objectProto.toString; + +/** Built-in value references. */ +var symToStringTag = Symbol ? Symbol.toStringTag : undefined; + +/** + * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the raw `toStringTag`. + */ +function getRawTag(value) { + var isOwn = hasOwnProperty.call(value, symToStringTag), + tag = value[symToStringTag]; + + try { + value[symToStringTag] = undefined; + var unmasked = true; + } catch (e) {} + + var result = nativeObjectToString.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag] = tag; + } else { + delete value[symToStringTag]; + } + } + return result; +} + +module.exports = getRawTag; diff --git a/dist/node_modules/lodash/_getSymbols.js b/dist/node_modules/lodash/_getSymbols.js new file mode 100644 index 00000000..7d6eafeb --- /dev/null +++ b/dist/node_modules/lodash/_getSymbols.js @@ -0,0 +1,30 @@ +var arrayFilter = require('./_arrayFilter'), + stubArray = require('./stubArray'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Built-in value references. */ +var propertyIsEnumerable = objectProto.propertyIsEnumerable; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeGetSymbols = Object.getOwnPropertySymbols; + +/** + * Creates an array of the own enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ +var getSymbols = !nativeGetSymbols ? stubArray : function(object) { + if (object == null) { + return []; + } + object = Object(object); + return arrayFilter(nativeGetSymbols(object), function(symbol) { + return propertyIsEnumerable.call(object, symbol); + }); +}; + +module.exports = getSymbols; diff --git a/dist/node_modules/lodash/_getSymbolsIn.js b/dist/node_modules/lodash/_getSymbolsIn.js new file mode 100644 index 00000000..cec0855a --- /dev/null +++ b/dist/node_modules/lodash/_getSymbolsIn.js @@ -0,0 +1,25 @@ +var arrayPush = require('./_arrayPush'), + getPrototype = require('./_getPrototype'), + getSymbols = require('./_getSymbols'), + stubArray = require('./stubArray'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeGetSymbols = Object.getOwnPropertySymbols; + +/** + * Creates an array of the own and inherited enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ +var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { + var result = []; + while (object) { + arrayPush(result, getSymbols(object)); + object = getPrototype(object); + } + return result; +}; + +module.exports = getSymbolsIn; diff --git a/dist/node_modules/lodash/_getTag.js b/dist/node_modules/lodash/_getTag.js new file mode 100644 index 00000000..deaf89d5 --- /dev/null +++ b/dist/node_modules/lodash/_getTag.js @@ -0,0 +1,58 @@ +var DataView = require('./_DataView'), + Map = require('./_Map'), + Promise = require('./_Promise'), + Set = require('./_Set'), + WeakMap = require('./_WeakMap'), + baseGetTag = require('./_baseGetTag'), + toSource = require('./_toSource'); + +/** `Object#toString` result references. */ +var mapTag = '[object Map]', + objectTag = '[object Object]', + promiseTag = '[object Promise]', + setTag = '[object Set]', + weakMapTag = '[object WeakMap]'; + +var dataViewTag = '[object DataView]'; + +/** Used to detect maps, sets, and weakmaps. */ +var dataViewCtorString = toSource(DataView), + mapCtorString = toSource(Map), + promiseCtorString = toSource(Promise), + setCtorString = toSource(Set), + weakMapCtorString = toSource(WeakMap); + +/** + * Gets the `toStringTag` of `value`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +var getTag = baseGetTag; + +// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. +if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || + (Map && getTag(new Map) != mapTag) || + (Promise && getTag(Promise.resolve()) != promiseTag) || + (Set && getTag(new Set) != setTag) || + (WeakMap && getTag(new WeakMap) != weakMapTag)) { + getTag = function(value) { + var result = baseGetTag(value), + Ctor = result == objectTag ? value.constructor : undefined, + ctorString = Ctor ? toSource(Ctor) : ''; + + if (ctorString) { + switch (ctorString) { + case dataViewCtorString: return dataViewTag; + case mapCtorString: return mapTag; + case promiseCtorString: return promiseTag; + case setCtorString: return setTag; + case weakMapCtorString: return weakMapTag; + } + } + return result; + }; +} + +module.exports = getTag; diff --git a/dist/node_modules/lodash/_getValue.js b/dist/node_modules/lodash/_getValue.js new file mode 100644 index 00000000..5f7d7736 --- /dev/null +++ b/dist/node_modules/lodash/_getValue.js @@ -0,0 +1,13 @@ +/** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function getValue(object, key) { + return object == null ? undefined : object[key]; +} + +module.exports = getValue; diff --git a/dist/node_modules/lodash/_getView.js b/dist/node_modules/lodash/_getView.js new file mode 100644 index 00000000..df1e5d44 --- /dev/null +++ b/dist/node_modules/lodash/_getView.js @@ -0,0 +1,33 @@ +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max, + nativeMin = Math.min; + +/** + * Gets the view, applying any `transforms` to the `start` and `end` positions. + * + * @private + * @param {number} start The start of the view. + * @param {number} end The end of the view. + * @param {Array} transforms The transformations to apply to the view. + * @returns {Object} Returns an object containing the `start` and `end` + * positions of the view. + */ +function getView(start, end, transforms) { + var index = -1, + length = transforms.length; + + while (++index < length) { + var data = transforms[index], + size = data.size; + + switch (data.type) { + case 'drop': start += size; break; + case 'dropRight': end -= size; break; + case 'take': end = nativeMin(end, start + size); break; + case 'takeRight': start = nativeMax(start, end - size); break; + } + } + return { 'start': start, 'end': end }; +} + +module.exports = getView; diff --git a/dist/node_modules/lodash/_getWrapDetails.js b/dist/node_modules/lodash/_getWrapDetails.js new file mode 100644 index 00000000..3bcc6e48 --- /dev/null +++ b/dist/node_modules/lodash/_getWrapDetails.js @@ -0,0 +1,17 @@ +/** Used to match wrap detail comments. */ +var reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/, + reSplitDetails = /,? & /; + +/** + * Extracts wrapper details from the `source` body comment. + * + * @private + * @param {string} source The source to inspect. + * @returns {Array} Returns the wrapper details. + */ +function getWrapDetails(source) { + var match = source.match(reWrapDetails); + return match ? match[1].split(reSplitDetails) : []; +} + +module.exports = getWrapDetails; diff --git a/dist/node_modules/lodash/_hasPath.js b/dist/node_modules/lodash/_hasPath.js new file mode 100644 index 00000000..93dbde15 --- /dev/null +++ b/dist/node_modules/lodash/_hasPath.js @@ -0,0 +1,39 @@ +var castPath = require('./_castPath'), + isArguments = require('./isArguments'), + isArray = require('./isArray'), + isIndex = require('./_isIndex'), + isLength = require('./isLength'), + toKey = require('./_toKey'); + +/** + * Checks if `path` exists on `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @param {Function} hasFunc The function to check properties. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + */ +function hasPath(object, path, hasFunc) { + path = castPath(path, object); + + var index = -1, + length = path.length, + result = false; + + while (++index < length) { + var key = toKey(path[index]); + if (!(result = object != null && hasFunc(object, key))) { + break; + } + object = object[key]; + } + if (result || ++index != length) { + return result; + } + length = object == null ? 0 : object.length; + return !!length && isLength(length) && isIndex(key, length) && + (isArray(object) || isArguments(object)); +} + +module.exports = hasPath; diff --git a/dist/node_modules/lodash/_hasUnicode.js b/dist/node_modules/lodash/_hasUnicode.js new file mode 100644 index 00000000..cb6ca15f --- /dev/null +++ b/dist/node_modules/lodash/_hasUnicode.js @@ -0,0 +1,26 @@ +/** Used to compose unicode character classes. */ +var rsAstralRange = '\\ud800-\\udfff', + rsComboMarksRange = '\\u0300-\\u036f', + reComboHalfMarksRange = '\\ufe20-\\ufe2f', + rsComboSymbolsRange = '\\u20d0-\\u20ff', + rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, + rsVarRange = '\\ufe0e\\ufe0f'; + +/** Used to compose unicode capture groups. */ +var rsZWJ = '\\u200d'; + +/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ +var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']'); + +/** + * Checks if `string` contains Unicode symbols. + * + * @private + * @param {string} string The string to inspect. + * @returns {boolean} Returns `true` if a symbol is found, else `false`. + */ +function hasUnicode(string) { + return reHasUnicode.test(string); +} + +module.exports = hasUnicode; diff --git a/dist/node_modules/lodash/_hasUnicodeWord.js b/dist/node_modules/lodash/_hasUnicodeWord.js new file mode 100644 index 00000000..95d52c44 --- /dev/null +++ b/dist/node_modules/lodash/_hasUnicodeWord.js @@ -0,0 +1,15 @@ +/** Used to detect strings that need a more robust regexp to match words. */ +var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/; + +/** + * Checks if `string` contains a word composed of Unicode symbols. + * + * @private + * @param {string} string The string to inspect. + * @returns {boolean} Returns `true` if a word is found, else `false`. + */ +function hasUnicodeWord(string) { + return reHasUnicodeWord.test(string); +} + +module.exports = hasUnicodeWord; diff --git a/dist/node_modules/lodash/_hashClear.js b/dist/node_modules/lodash/_hashClear.js new file mode 100644 index 00000000..5d4b70cc --- /dev/null +++ b/dist/node_modules/lodash/_hashClear.js @@ -0,0 +1,15 @@ +var nativeCreate = require('./_nativeCreate'); + +/** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ +function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; + this.size = 0; +} + +module.exports = hashClear; diff --git a/dist/node_modules/lodash/_hashDelete.js b/dist/node_modules/lodash/_hashDelete.js new file mode 100644 index 00000000..ea9dabf1 --- /dev/null +++ b/dist/node_modules/lodash/_hashDelete.js @@ -0,0 +1,17 @@ +/** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function hashDelete(key) { + var result = this.has(key) && delete this.__data__[key]; + this.size -= result ? 1 : 0; + return result; +} + +module.exports = hashDelete; diff --git a/dist/node_modules/lodash/_hashGet.js b/dist/node_modules/lodash/_hashGet.js new file mode 100644 index 00000000..1fc2f34b --- /dev/null +++ b/dist/node_modules/lodash/_hashGet.js @@ -0,0 +1,30 @@ +var nativeCreate = require('./_nativeCreate'); + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined; +} + +module.exports = hashGet; diff --git a/dist/node_modules/lodash/_hashHas.js b/dist/node_modules/lodash/_hashHas.js new file mode 100644 index 00000000..281a5517 --- /dev/null +++ b/dist/node_modules/lodash/_hashHas.js @@ -0,0 +1,23 @@ +var nativeCreate = require('./_nativeCreate'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function hashHas(key) { + var data = this.__data__; + return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); +} + +module.exports = hashHas; diff --git a/dist/node_modules/lodash/_hashSet.js b/dist/node_modules/lodash/_hashSet.js new file mode 100644 index 00000000..e1055283 --- /dev/null +++ b/dist/node_modules/lodash/_hashSet.js @@ -0,0 +1,23 @@ +var nativeCreate = require('./_nativeCreate'); + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ +function hashSet(key, value) { + var data = this.__data__; + this.size += this.has(key) ? 0 : 1; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; + return this; +} + +module.exports = hashSet; diff --git a/dist/node_modules/lodash/_initCloneArray.js b/dist/node_modules/lodash/_initCloneArray.js new file mode 100644 index 00000000..078c15af --- /dev/null +++ b/dist/node_modules/lodash/_initCloneArray.js @@ -0,0 +1,26 @@ +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Initializes an array clone. + * + * @private + * @param {Array} array The array to clone. + * @returns {Array} Returns the initialized clone. + */ +function initCloneArray(array) { + var length = array.length, + result = new array.constructor(length); + + // Add properties assigned by `RegExp#exec`. + if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { + result.index = array.index; + result.input = array.input; + } + return result; +} + +module.exports = initCloneArray; diff --git a/dist/node_modules/lodash/_initCloneByTag.js b/dist/node_modules/lodash/_initCloneByTag.js new file mode 100644 index 00000000..f69a008c --- /dev/null +++ b/dist/node_modules/lodash/_initCloneByTag.js @@ -0,0 +1,77 @@ +var cloneArrayBuffer = require('./_cloneArrayBuffer'), + cloneDataView = require('./_cloneDataView'), + cloneRegExp = require('./_cloneRegExp'), + cloneSymbol = require('./_cloneSymbol'), + cloneTypedArray = require('./_cloneTypedArray'); + +/** `Object#toString` result references. */ +var boolTag = '[object Boolean]', + dateTag = '[object Date]', + mapTag = '[object Map]', + numberTag = '[object Number]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + +/** + * Initializes an object clone based on its `toStringTag`. + * + * **Note:** This function only supports cloning values with tags of + * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`. + * + * @private + * @param {Object} object The object to clone. + * @param {string} tag The `toStringTag` of the object to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the initialized clone. + */ +function initCloneByTag(object, tag, isDeep) { + var Ctor = object.constructor; + switch (tag) { + case arrayBufferTag: + return cloneArrayBuffer(object); + + case boolTag: + case dateTag: + return new Ctor(+object); + + case dataViewTag: + return cloneDataView(object, isDeep); + + case float32Tag: case float64Tag: + case int8Tag: case int16Tag: case int32Tag: + case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: + return cloneTypedArray(object, isDeep); + + case mapTag: + return new Ctor; + + case numberTag: + case stringTag: + return new Ctor(object); + + case regexpTag: + return cloneRegExp(object); + + case setTag: + return new Ctor; + + case symbolTag: + return cloneSymbol(object); + } +} + +module.exports = initCloneByTag; diff --git a/dist/node_modules/lodash/_initCloneObject.js b/dist/node_modules/lodash/_initCloneObject.js new file mode 100644 index 00000000..5a13e64a --- /dev/null +++ b/dist/node_modules/lodash/_initCloneObject.js @@ -0,0 +1,18 @@ +var baseCreate = require('./_baseCreate'), + getPrototype = require('./_getPrototype'), + isPrototype = require('./_isPrototype'); + +/** + * Initializes an object clone. + * + * @private + * @param {Object} object The object to clone. + * @returns {Object} Returns the initialized clone. + */ +function initCloneObject(object) { + return (typeof object.constructor == 'function' && !isPrototype(object)) + ? baseCreate(getPrototype(object)) + : {}; +} + +module.exports = initCloneObject; diff --git a/dist/node_modules/lodash/_insertWrapDetails.js b/dist/node_modules/lodash/_insertWrapDetails.js new file mode 100644 index 00000000..e7908086 --- /dev/null +++ b/dist/node_modules/lodash/_insertWrapDetails.js @@ -0,0 +1,23 @@ +/** Used to match wrap detail comments. */ +var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/; + +/** + * Inserts wrapper `details` in a comment at the top of the `source` body. + * + * @private + * @param {string} source The source to modify. + * @returns {Array} details The details to insert. + * @returns {string} Returns the modified source. + */ +function insertWrapDetails(source, details) { + var length = details.length; + if (!length) { + return source; + } + var lastIndex = length - 1; + details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex]; + details = details.join(length > 2 ? ', ' : ' '); + return source.replace(reWrapComment, '{\n/* [wrapped with ' + details + '] */\n'); +} + +module.exports = insertWrapDetails; diff --git a/dist/node_modules/lodash/_isFlattenable.js b/dist/node_modules/lodash/_isFlattenable.js new file mode 100644 index 00000000..4cc2c249 --- /dev/null +++ b/dist/node_modules/lodash/_isFlattenable.js @@ -0,0 +1,20 @@ +var Symbol = require('./_Symbol'), + isArguments = require('./isArguments'), + isArray = require('./isArray'); + +/** Built-in value references. */ +var spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined; + +/** + * Checks if `value` is a flattenable `arguments` object or array. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. + */ +function isFlattenable(value) { + return isArray(value) || isArguments(value) || + !!(spreadableSymbol && value && value[spreadableSymbol]); +} + +module.exports = isFlattenable; diff --git a/dist/node_modules/lodash/_isIndex.js b/dist/node_modules/lodash/_isIndex.js new file mode 100644 index 00000000..061cd390 --- /dev/null +++ b/dist/node_modules/lodash/_isIndex.js @@ -0,0 +1,25 @@ +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/** Used to detect unsigned integer values. */ +var reIsUint = /^(?:0|[1-9]\d*)$/; + +/** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ +function isIndex(value, length) { + var type = typeof value; + length = length == null ? MAX_SAFE_INTEGER : length; + + return !!length && + (type == 'number' || + (type != 'symbol' && reIsUint.test(value))) && + (value > -1 && value % 1 == 0 && value < length); +} + +module.exports = isIndex; diff --git a/dist/node_modules/lodash/_isIterateeCall.js b/dist/node_modules/lodash/_isIterateeCall.js new file mode 100644 index 00000000..a0bb5a9c --- /dev/null +++ b/dist/node_modules/lodash/_isIterateeCall.js @@ -0,0 +1,30 @@ +var eq = require('./eq'), + isArrayLike = require('./isArrayLike'), + isIndex = require('./_isIndex'), + isObject = require('./isObject'); + +/** + * Checks if the given arguments are from an iteratee call. + * + * @private + * @param {*} value The potential iteratee value argument. + * @param {*} index The potential iteratee index or key argument. + * @param {*} object The potential iteratee object argument. + * @returns {boolean} Returns `true` if the arguments are from an iteratee call, + * else `false`. + */ +function isIterateeCall(value, index, object) { + if (!isObject(object)) { + return false; + } + var type = typeof index; + if (type == 'number' + ? (isArrayLike(object) && isIndex(index, object.length)) + : (type == 'string' && index in object) + ) { + return eq(object[index], value); + } + return false; +} + +module.exports = isIterateeCall; diff --git a/dist/node_modules/lodash/_isKey.js b/dist/node_modules/lodash/_isKey.js new file mode 100644 index 00000000..ff08b068 --- /dev/null +++ b/dist/node_modules/lodash/_isKey.js @@ -0,0 +1,29 @@ +var isArray = require('./isArray'), + isSymbol = require('./isSymbol'); + +/** Used to match property names within property paths. */ +var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/; + +/** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ +function isKey(value, object) { + if (isArray(value)) { + return false; + } + var type = typeof value; + if (type == 'number' || type == 'symbol' || type == 'boolean' || + value == null || isSymbol(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || + (object != null && value in Object(object)); +} + +module.exports = isKey; diff --git a/dist/node_modules/lodash/_isKeyable.js b/dist/node_modules/lodash/_isKeyable.js new file mode 100644 index 00000000..39f1828d --- /dev/null +++ b/dist/node_modules/lodash/_isKeyable.js @@ -0,0 +1,15 @@ +/** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ +function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); +} + +module.exports = isKeyable; diff --git a/dist/node_modules/lodash/_isLaziable.js b/dist/node_modules/lodash/_isLaziable.js new file mode 100644 index 00000000..a57c4f2d --- /dev/null +++ b/dist/node_modules/lodash/_isLaziable.js @@ -0,0 +1,28 @@ +var LazyWrapper = require('./_LazyWrapper'), + getData = require('./_getData'), + getFuncName = require('./_getFuncName'), + lodash = require('./wrapperLodash'); + +/** + * Checks if `func` has a lazy counterpart. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` has a lazy counterpart, + * else `false`. + */ +function isLaziable(func) { + var funcName = getFuncName(func), + other = lodash[funcName]; + + if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) { + return false; + } + if (func === other) { + return true; + } + var data = getData(other); + return !!data && func === data[0]; +} + +module.exports = isLaziable; diff --git a/dist/node_modules/lodash/_isMaskable.js b/dist/node_modules/lodash/_isMaskable.js new file mode 100644 index 00000000..eb98d09f --- /dev/null +++ b/dist/node_modules/lodash/_isMaskable.js @@ -0,0 +1,14 @@ +var coreJsData = require('./_coreJsData'), + isFunction = require('./isFunction'), + stubFalse = require('./stubFalse'); + +/** + * Checks if `func` is capable of being masked. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `func` is maskable, else `false`. + */ +var isMaskable = coreJsData ? isFunction : stubFalse; + +module.exports = isMaskable; diff --git a/dist/node_modules/lodash/_isMasked.js b/dist/node_modules/lodash/_isMasked.js new file mode 100644 index 00000000..4b0f21ba --- /dev/null +++ b/dist/node_modules/lodash/_isMasked.js @@ -0,0 +1,20 @@ +var coreJsData = require('./_coreJsData'); + +/** Used to detect methods masquerading as native. */ +var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; +}()); + +/** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ +function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); +} + +module.exports = isMasked; diff --git a/dist/node_modules/lodash/_isPrototype.js b/dist/node_modules/lodash/_isPrototype.js new file mode 100644 index 00000000..0f29498d --- /dev/null +++ b/dist/node_modules/lodash/_isPrototype.js @@ -0,0 +1,18 @@ +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** + * Checks if `value` is likely a prototype object. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. + */ +function isPrototype(value) { + var Ctor = value && value.constructor, + proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; + + return value === proto; +} + +module.exports = isPrototype; diff --git a/dist/node_modules/lodash/_isStrictComparable.js b/dist/node_modules/lodash/_isStrictComparable.js new file mode 100644 index 00000000..b59f40b8 --- /dev/null +++ b/dist/node_modules/lodash/_isStrictComparable.js @@ -0,0 +1,15 @@ +var isObject = require('./isObject'); + +/** + * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` if suitable for strict + * equality comparisons, else `false`. + */ +function isStrictComparable(value) { + return value === value && !isObject(value); +} + +module.exports = isStrictComparable; diff --git a/dist/node_modules/lodash/_iteratorToArray.js b/dist/node_modules/lodash/_iteratorToArray.js new file mode 100644 index 00000000..47685664 --- /dev/null +++ b/dist/node_modules/lodash/_iteratorToArray.js @@ -0,0 +1,18 @@ +/** + * Converts `iterator` to an array. + * + * @private + * @param {Object} iterator The iterator to convert. + * @returns {Array} Returns the converted array. + */ +function iteratorToArray(iterator) { + var data, + result = []; + + while (!(data = iterator.next()).done) { + result.push(data.value); + } + return result; +} + +module.exports = iteratorToArray; diff --git a/dist/node_modules/lodash/_lazyClone.js b/dist/node_modules/lodash/_lazyClone.js new file mode 100644 index 00000000..d8a51f87 --- /dev/null +++ b/dist/node_modules/lodash/_lazyClone.js @@ -0,0 +1,23 @@ +var LazyWrapper = require('./_LazyWrapper'), + copyArray = require('./_copyArray'); + +/** + * Creates a clone of the lazy wrapper object. + * + * @private + * @name clone + * @memberOf LazyWrapper + * @returns {Object} Returns the cloned `LazyWrapper` object. + */ +function lazyClone() { + var result = new LazyWrapper(this.__wrapped__); + result.__actions__ = copyArray(this.__actions__); + result.__dir__ = this.__dir__; + result.__filtered__ = this.__filtered__; + result.__iteratees__ = copyArray(this.__iteratees__); + result.__takeCount__ = this.__takeCount__; + result.__views__ = copyArray(this.__views__); + return result; +} + +module.exports = lazyClone; diff --git a/dist/node_modules/lodash/_lazyReverse.js b/dist/node_modules/lodash/_lazyReverse.js new file mode 100644 index 00000000..c5b52190 --- /dev/null +++ b/dist/node_modules/lodash/_lazyReverse.js @@ -0,0 +1,23 @@ +var LazyWrapper = require('./_LazyWrapper'); + +/** + * Reverses the direction of lazy iteration. + * + * @private + * @name reverse + * @memberOf LazyWrapper + * @returns {Object} Returns the new reversed `LazyWrapper` object. + */ +function lazyReverse() { + if (this.__filtered__) { + var result = new LazyWrapper(this); + result.__dir__ = -1; + result.__filtered__ = true; + } else { + result = this.clone(); + result.__dir__ *= -1; + } + return result; +} + +module.exports = lazyReverse; diff --git a/dist/node_modules/lodash/_lazyValue.js b/dist/node_modules/lodash/_lazyValue.js new file mode 100644 index 00000000..371ca8d2 --- /dev/null +++ b/dist/node_modules/lodash/_lazyValue.js @@ -0,0 +1,69 @@ +var baseWrapperValue = require('./_baseWrapperValue'), + getView = require('./_getView'), + isArray = require('./isArray'); + +/** Used to indicate the type of lazy iteratees. */ +var LAZY_FILTER_FLAG = 1, + LAZY_MAP_FLAG = 2; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMin = Math.min; + +/** + * Extracts the unwrapped value from its lazy wrapper. + * + * @private + * @name value + * @memberOf LazyWrapper + * @returns {*} Returns the unwrapped value. + */ +function lazyValue() { + var array = this.__wrapped__.value(), + dir = this.__dir__, + isArr = isArray(array), + isRight = dir < 0, + arrLength = isArr ? array.length : 0, + view = getView(0, arrLength, this.__views__), + start = view.start, + end = view.end, + length = end - start, + index = isRight ? end : (start - 1), + iteratees = this.__iteratees__, + iterLength = iteratees.length, + resIndex = 0, + takeCount = nativeMin(length, this.__takeCount__); + + if (!isArr || (!isRight && arrLength == length && takeCount == length)) { + return baseWrapperValue(array, this.__actions__); + } + var result = []; + + outer: + while (length-- && resIndex < takeCount) { + index += dir; + + var iterIndex = -1, + value = array[index]; + + while (++iterIndex < iterLength) { + var data = iteratees[iterIndex], + iteratee = data.iteratee, + type = data.type, + computed = iteratee(value); + + if (type == LAZY_MAP_FLAG) { + value = computed; + } else if (!computed) { + if (type == LAZY_FILTER_FLAG) { + continue outer; + } else { + break outer; + } + } + } + result[resIndex++] = value; + } + return result; +} + +module.exports = lazyValue; diff --git a/dist/node_modules/lodash/_listCacheClear.js b/dist/node_modules/lodash/_listCacheClear.js new file mode 100644 index 00000000..acbe39a5 --- /dev/null +++ b/dist/node_modules/lodash/_listCacheClear.js @@ -0,0 +1,13 @@ +/** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ +function listCacheClear() { + this.__data__ = []; + this.size = 0; +} + +module.exports = listCacheClear; diff --git a/dist/node_modules/lodash/_listCacheDelete.js b/dist/node_modules/lodash/_listCacheDelete.js new file mode 100644 index 00000000..b1384ade --- /dev/null +++ b/dist/node_modules/lodash/_listCacheDelete.js @@ -0,0 +1,35 @@ +var assocIndexOf = require('./_assocIndexOf'); + +/** Used for built-in method references. */ +var arrayProto = Array.prototype; + +/** Built-in value references. */ +var splice = arrayProto.splice; + +/** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + --this.size; + return true; +} + +module.exports = listCacheDelete; diff --git a/dist/node_modules/lodash/_listCacheGet.js b/dist/node_modules/lodash/_listCacheGet.js new file mode 100644 index 00000000..f8192fc3 --- /dev/null +++ b/dist/node_modules/lodash/_listCacheGet.js @@ -0,0 +1,19 @@ +var assocIndexOf = require('./_assocIndexOf'); + +/** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; +} + +module.exports = listCacheGet; diff --git a/dist/node_modules/lodash/_listCacheHas.js b/dist/node_modules/lodash/_listCacheHas.js new file mode 100644 index 00000000..2adf6714 --- /dev/null +++ b/dist/node_modules/lodash/_listCacheHas.js @@ -0,0 +1,16 @@ +var assocIndexOf = require('./_assocIndexOf'); + +/** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; +} + +module.exports = listCacheHas; diff --git a/dist/node_modules/lodash/_listCacheSet.js b/dist/node_modules/lodash/_listCacheSet.js new file mode 100644 index 00000000..5855c95e --- /dev/null +++ b/dist/node_modules/lodash/_listCacheSet.js @@ -0,0 +1,26 @@ +var assocIndexOf = require('./_assocIndexOf'); + +/** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ +function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + ++this.size; + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; +} + +module.exports = listCacheSet; diff --git a/dist/node_modules/lodash/_mapCacheClear.js b/dist/node_modules/lodash/_mapCacheClear.js new file mode 100644 index 00000000..bc9ca204 --- /dev/null +++ b/dist/node_modules/lodash/_mapCacheClear.js @@ -0,0 +1,21 @@ +var Hash = require('./_Hash'), + ListCache = require('./_ListCache'), + Map = require('./_Map'); + +/** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ +function mapCacheClear() { + this.size = 0; + this.__data__ = { + 'hash': new Hash, + 'map': new (Map || ListCache), + 'string': new Hash + }; +} + +module.exports = mapCacheClear; diff --git a/dist/node_modules/lodash/_mapCacheDelete.js b/dist/node_modules/lodash/_mapCacheDelete.js new file mode 100644 index 00000000..946ca3c9 --- /dev/null +++ b/dist/node_modules/lodash/_mapCacheDelete.js @@ -0,0 +1,18 @@ +var getMapData = require('./_getMapData'); + +/** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function mapCacheDelete(key) { + var result = getMapData(this, key)['delete'](key); + this.size -= result ? 1 : 0; + return result; +} + +module.exports = mapCacheDelete; diff --git a/dist/node_modules/lodash/_mapCacheGet.js b/dist/node_modules/lodash/_mapCacheGet.js new file mode 100644 index 00000000..f29f55cf --- /dev/null +++ b/dist/node_modules/lodash/_mapCacheGet.js @@ -0,0 +1,16 @@ +var getMapData = require('./_getMapData'); + +/** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function mapCacheGet(key) { + return getMapData(this, key).get(key); +} + +module.exports = mapCacheGet; diff --git a/dist/node_modules/lodash/_mapCacheHas.js b/dist/node_modules/lodash/_mapCacheHas.js new file mode 100644 index 00000000..a1214c02 --- /dev/null +++ b/dist/node_modules/lodash/_mapCacheHas.js @@ -0,0 +1,16 @@ +var getMapData = require('./_getMapData'); + +/** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function mapCacheHas(key) { + return getMapData(this, key).has(key); +} + +module.exports = mapCacheHas; diff --git a/dist/node_modules/lodash/_mapCacheSet.js b/dist/node_modules/lodash/_mapCacheSet.js new file mode 100644 index 00000000..73468492 --- /dev/null +++ b/dist/node_modules/lodash/_mapCacheSet.js @@ -0,0 +1,22 @@ +var getMapData = require('./_getMapData'); + +/** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ +function mapCacheSet(key, value) { + var data = getMapData(this, key), + size = data.size; + + data.set(key, value); + this.size += data.size == size ? 0 : 1; + return this; +} + +module.exports = mapCacheSet; diff --git a/dist/node_modules/lodash/_mapToArray.js b/dist/node_modules/lodash/_mapToArray.js new file mode 100644 index 00000000..fe3dd531 --- /dev/null +++ b/dist/node_modules/lodash/_mapToArray.js @@ -0,0 +1,18 @@ +/** + * Converts `map` to its key-value pairs. + * + * @private + * @param {Object} map The map to convert. + * @returns {Array} Returns the key-value pairs. + */ +function mapToArray(map) { + var index = -1, + result = Array(map.size); + + map.forEach(function(value, key) { + result[++index] = [key, value]; + }); + return result; +} + +module.exports = mapToArray; diff --git a/dist/node_modules/lodash/_matchesStrictComparable.js b/dist/node_modules/lodash/_matchesStrictComparable.js new file mode 100644 index 00000000..f608af9e --- /dev/null +++ b/dist/node_modules/lodash/_matchesStrictComparable.js @@ -0,0 +1,20 @@ +/** + * A specialized version of `matchesProperty` for source values suitable + * for strict equality comparisons, i.e. `===`. + * + * @private + * @param {string} key The key of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ +function matchesStrictComparable(key, srcValue) { + return function(object) { + if (object == null) { + return false; + } + return object[key] === srcValue && + (srcValue !== undefined || (key in Object(object))); + }; +} + +module.exports = matchesStrictComparable; diff --git a/dist/node_modules/lodash/_memoizeCapped.js b/dist/node_modules/lodash/_memoizeCapped.js new file mode 100644 index 00000000..7f71c8fb --- /dev/null +++ b/dist/node_modules/lodash/_memoizeCapped.js @@ -0,0 +1,26 @@ +var memoize = require('./memoize'); + +/** Used as the maximum memoize cache size. */ +var MAX_MEMOIZE_SIZE = 500; + +/** + * A specialized version of `_.memoize` which clears the memoized function's + * cache when it exceeds `MAX_MEMOIZE_SIZE`. + * + * @private + * @param {Function} func The function to have its output memoized. + * @returns {Function} Returns the new memoized function. + */ +function memoizeCapped(func) { + var result = memoize(func, function(key) { + if (cache.size === MAX_MEMOIZE_SIZE) { + cache.clear(); + } + return key; + }); + + var cache = result.cache; + return result; +} + +module.exports = memoizeCapped; diff --git a/dist/node_modules/lodash/_mergeData.js b/dist/node_modules/lodash/_mergeData.js new file mode 100644 index 00000000..cb570f97 --- /dev/null +++ b/dist/node_modules/lodash/_mergeData.js @@ -0,0 +1,90 @@ +var composeArgs = require('./_composeArgs'), + composeArgsRight = require('./_composeArgsRight'), + replaceHolders = require('./_replaceHolders'); + +/** Used as the internal argument placeholder. */ +var PLACEHOLDER = '__lodash_placeholder__'; + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_FLAG = 1, + WRAP_BIND_KEY_FLAG = 2, + WRAP_CURRY_BOUND_FLAG = 4, + WRAP_CURRY_FLAG = 8, + WRAP_ARY_FLAG = 128, + WRAP_REARG_FLAG = 256; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMin = Math.min; + +/** + * Merges the function metadata of `source` into `data`. + * + * Merging metadata reduces the number of wrappers used to invoke a function. + * This is possible because methods like `_.bind`, `_.curry`, and `_.partial` + * may be applied regardless of execution order. Methods like `_.ary` and + * `_.rearg` modify function arguments, making the order in which they are + * executed important, preventing the merging of metadata. However, we make + * an exception for a safe combined case where curried functions have `_.ary` + * and or `_.rearg` applied. + * + * @private + * @param {Array} data The destination metadata. + * @param {Array} source The source metadata. + * @returns {Array} Returns `data`. + */ +function mergeData(data, source) { + var bitmask = data[1], + srcBitmask = source[1], + newBitmask = bitmask | srcBitmask, + isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG); + + var isCombo = + ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) || + ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) || + ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG)); + + // Exit early if metadata can't be merged. + if (!(isCommon || isCombo)) { + return data; + } + // Use source `thisArg` if available. + if (srcBitmask & WRAP_BIND_FLAG) { + data[2] = source[2]; + // Set when currying a bound function. + newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG; + } + // Compose partial arguments. + var value = source[3]; + if (value) { + var partials = data[3]; + data[3] = partials ? composeArgs(partials, value, source[4]) : value; + data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4]; + } + // Compose partial right arguments. + value = source[5]; + if (value) { + partials = data[5]; + data[5] = partials ? composeArgsRight(partials, value, source[6]) : value; + data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6]; + } + // Use source `argPos` if available. + value = source[7]; + if (value) { + data[7] = value; + } + // Use source `ary` if it's smaller. + if (srcBitmask & WRAP_ARY_FLAG) { + data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]); + } + // Use source `arity` if one is not provided. + if (data[9] == null) { + data[9] = source[9]; + } + // Use source `func` and merge bitmasks. + data[0] = source[0]; + data[1] = newBitmask; + + return data; +} + +module.exports = mergeData; diff --git a/dist/node_modules/lodash/_metaMap.js b/dist/node_modules/lodash/_metaMap.js new file mode 100644 index 00000000..0157a0b0 --- /dev/null +++ b/dist/node_modules/lodash/_metaMap.js @@ -0,0 +1,6 @@ +var WeakMap = require('./_WeakMap'); + +/** Used to store function metadata. */ +var metaMap = WeakMap && new WeakMap; + +module.exports = metaMap; diff --git a/dist/node_modules/lodash/_nativeCreate.js b/dist/node_modules/lodash/_nativeCreate.js new file mode 100644 index 00000000..c7aede85 --- /dev/null +++ b/dist/node_modules/lodash/_nativeCreate.js @@ -0,0 +1,6 @@ +var getNative = require('./_getNative'); + +/* Built-in method references that are verified to be native. */ +var nativeCreate = getNative(Object, 'create'); + +module.exports = nativeCreate; diff --git a/dist/node_modules/lodash/_nativeKeys.js b/dist/node_modules/lodash/_nativeKeys.js new file mode 100644 index 00000000..479a104a --- /dev/null +++ b/dist/node_modules/lodash/_nativeKeys.js @@ -0,0 +1,6 @@ +var overArg = require('./_overArg'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeKeys = overArg(Object.keys, Object); + +module.exports = nativeKeys; diff --git a/dist/node_modules/lodash/_nativeKeysIn.js b/dist/node_modules/lodash/_nativeKeysIn.js new file mode 100644 index 00000000..00ee5059 --- /dev/null +++ b/dist/node_modules/lodash/_nativeKeysIn.js @@ -0,0 +1,20 @@ +/** + * This function is like + * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * except that it includes inherited enumerable properties. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function nativeKeysIn(object) { + var result = []; + if (object != null) { + for (var key in Object(object)) { + result.push(key); + } + } + return result; +} + +module.exports = nativeKeysIn; diff --git a/dist/node_modules/lodash/_nodeUtil.js b/dist/node_modules/lodash/_nodeUtil.js new file mode 100644 index 00000000..983d78f7 --- /dev/null +++ b/dist/node_modules/lodash/_nodeUtil.js @@ -0,0 +1,30 @@ +var freeGlobal = require('./_freeGlobal'); + +/** Detect free variable `exports`. */ +var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** Detect free variable `process` from Node.js. */ +var freeProcess = moduleExports && freeGlobal.process; + +/** Used to access faster Node.js helpers. */ +var nodeUtil = (function() { + try { + // Use `util.types` for Node.js 10+. + var types = freeModule && freeModule.require && freeModule.require('util').types; + + if (types) { + return types; + } + + // Legacy `process.binding('util')` for Node.js < 10. + return freeProcess && freeProcess.binding && freeProcess.binding('util'); + } catch (e) {} +}()); + +module.exports = nodeUtil; diff --git a/dist/node_modules/lodash/_objectToString.js b/dist/node_modules/lodash/_objectToString.js new file mode 100644 index 00000000..c614ec09 --- /dev/null +++ b/dist/node_modules/lodash/_objectToString.js @@ -0,0 +1,22 @@ +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var nativeObjectToString = objectProto.toString; + +/** + * Converts `value` to a string using `Object.prototype.toString`. + * + * @private + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + */ +function objectToString(value) { + return nativeObjectToString.call(value); +} + +module.exports = objectToString; diff --git a/dist/node_modules/lodash/_overArg.js b/dist/node_modules/lodash/_overArg.js new file mode 100644 index 00000000..651c5c55 --- /dev/null +++ b/dist/node_modules/lodash/_overArg.js @@ -0,0 +1,15 @@ +/** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ +function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; +} + +module.exports = overArg; diff --git a/dist/node_modules/lodash/_overRest.js b/dist/node_modules/lodash/_overRest.js new file mode 100644 index 00000000..c7cdef33 --- /dev/null +++ b/dist/node_modules/lodash/_overRest.js @@ -0,0 +1,36 @@ +var apply = require('./_apply'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * A specialized version of `baseRest` which transforms the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @param {Function} transform The rest array transform. + * @returns {Function} Returns the new function. + */ +function overRest(func, start, transform) { + start = nativeMax(start === undefined ? (func.length - 1) : start, 0); + return function() { + var args = arguments, + index = -1, + length = nativeMax(args.length - start, 0), + array = Array(length); + + while (++index < length) { + array[index] = args[start + index]; + } + index = -1; + var otherArgs = Array(start + 1); + while (++index < start) { + otherArgs[index] = args[index]; + } + otherArgs[start] = transform(array); + return apply(func, this, otherArgs); + }; +} + +module.exports = overRest; diff --git a/dist/node_modules/lodash/_parent.js b/dist/node_modules/lodash/_parent.js new file mode 100644 index 00000000..f174328f --- /dev/null +++ b/dist/node_modules/lodash/_parent.js @@ -0,0 +1,16 @@ +var baseGet = require('./_baseGet'), + baseSlice = require('./_baseSlice'); + +/** + * Gets the parent value at `path` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} path The path to get the parent value of. + * @returns {*} Returns the parent value. + */ +function parent(object, path) { + return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1)); +} + +module.exports = parent; diff --git a/dist/node_modules/lodash/_reEscape.js b/dist/node_modules/lodash/_reEscape.js new file mode 100644 index 00000000..7f47eda6 --- /dev/null +++ b/dist/node_modules/lodash/_reEscape.js @@ -0,0 +1,4 @@ +/** Used to match template delimiters. */ +var reEscape = /<%-([\s\S]+?)%>/g; + +module.exports = reEscape; diff --git a/dist/node_modules/lodash/_reEvaluate.js b/dist/node_modules/lodash/_reEvaluate.js new file mode 100644 index 00000000..6adfc312 --- /dev/null +++ b/dist/node_modules/lodash/_reEvaluate.js @@ -0,0 +1,4 @@ +/** Used to match template delimiters. */ +var reEvaluate = /<%([\s\S]+?)%>/g; + +module.exports = reEvaluate; diff --git a/dist/node_modules/lodash/_reInterpolate.js b/dist/node_modules/lodash/_reInterpolate.js new file mode 100644 index 00000000..d02ff0b2 --- /dev/null +++ b/dist/node_modules/lodash/_reInterpolate.js @@ -0,0 +1,4 @@ +/** Used to match template delimiters. */ +var reInterpolate = /<%=([\s\S]+?)%>/g; + +module.exports = reInterpolate; diff --git a/dist/node_modules/lodash/_realNames.js b/dist/node_modules/lodash/_realNames.js new file mode 100644 index 00000000..aa0d5292 --- /dev/null +++ b/dist/node_modules/lodash/_realNames.js @@ -0,0 +1,4 @@ +/** Used to lookup unminified function names. */ +var realNames = {}; + +module.exports = realNames; diff --git a/dist/node_modules/lodash/_reorder.js b/dist/node_modules/lodash/_reorder.js new file mode 100644 index 00000000..a3502b05 --- /dev/null +++ b/dist/node_modules/lodash/_reorder.js @@ -0,0 +1,29 @@ +var copyArray = require('./_copyArray'), + isIndex = require('./_isIndex'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMin = Math.min; + +/** + * Reorder `array` according to the specified indexes where the element at + * the first index is assigned as the first element, the element at + * the second index is assigned as the second element, and so on. + * + * @private + * @param {Array} array The array to reorder. + * @param {Array} indexes The arranged array indexes. + * @returns {Array} Returns `array`. + */ +function reorder(array, indexes) { + var arrLength = array.length, + length = nativeMin(indexes.length, arrLength), + oldArray = copyArray(array); + + while (length--) { + var index = indexes[length]; + array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined; + } + return array; +} + +module.exports = reorder; diff --git a/dist/node_modules/lodash/_replaceHolders.js b/dist/node_modules/lodash/_replaceHolders.js new file mode 100644 index 00000000..74360ec4 --- /dev/null +++ b/dist/node_modules/lodash/_replaceHolders.js @@ -0,0 +1,29 @@ +/** Used as the internal argument placeholder. */ +var PLACEHOLDER = '__lodash_placeholder__'; + +/** + * Replaces all `placeholder` elements in `array` with an internal placeholder + * and returns an array of their indexes. + * + * @private + * @param {Array} array The array to modify. + * @param {*} placeholder The placeholder to replace. + * @returns {Array} Returns the new array of placeholder indexes. + */ +function replaceHolders(array, placeholder) { + var index = -1, + length = array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (value === placeholder || value === PLACEHOLDER) { + array[index] = PLACEHOLDER; + result[resIndex++] = index; + } + } + return result; +} + +module.exports = replaceHolders; diff --git a/dist/node_modules/lodash/_root.js b/dist/node_modules/lodash/_root.js new file mode 100644 index 00000000..d2852bed --- /dev/null +++ b/dist/node_modules/lodash/_root.js @@ -0,0 +1,9 @@ +var freeGlobal = require('./_freeGlobal'); + +/** Detect free variable `self`. */ +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); + +module.exports = root; diff --git a/dist/node_modules/lodash/_safeGet.js b/dist/node_modules/lodash/_safeGet.js new file mode 100644 index 00000000..b070897d --- /dev/null +++ b/dist/node_modules/lodash/_safeGet.js @@ -0,0 +1,21 @@ +/** + * Gets the value at `key`, unless `key` is "__proto__" or "constructor". + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function safeGet(object, key) { + if (key === 'constructor' && typeof object[key] === 'function') { + return; + } + + if (key == '__proto__') { + return; + } + + return object[key]; +} + +module.exports = safeGet; diff --git a/dist/node_modules/lodash/_setCacheAdd.js b/dist/node_modules/lodash/_setCacheAdd.js new file mode 100644 index 00000000..1081a744 --- /dev/null +++ b/dist/node_modules/lodash/_setCacheAdd.js @@ -0,0 +1,19 @@ +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** + * Adds `value` to the array cache. + * + * @private + * @name add + * @memberOf SetCache + * @alias push + * @param {*} value The value to cache. + * @returns {Object} Returns the cache instance. + */ +function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED); + return this; +} + +module.exports = setCacheAdd; diff --git a/dist/node_modules/lodash/_setCacheHas.js b/dist/node_modules/lodash/_setCacheHas.js new file mode 100644 index 00000000..2062af8f --- /dev/null +++ b/dist/node_modules/lodash/_setCacheHas.js @@ -0,0 +1,14 @@ +/** + * Checks if `value` is in the array cache. + * + * @private + * @name has + * @memberOf SetCache + * @param {*} value The value to search for. + * @returns {boolean} Returns `true` if `value` is found, else `false`. + */ +function setCacheHas(value) { + return this.__data__.has(value); +} + +module.exports = setCacheHas; diff --git a/dist/node_modules/lodash/_setData.js b/dist/node_modules/lodash/_setData.js new file mode 100644 index 00000000..e5cf3eb9 --- /dev/null +++ b/dist/node_modules/lodash/_setData.js @@ -0,0 +1,20 @@ +var baseSetData = require('./_baseSetData'), + shortOut = require('./_shortOut'); + +/** + * Sets metadata for `func`. + * + * **Note:** If this function becomes hot, i.e. is invoked a lot in a short + * period of time, it will trip its breaker and transition to an identity + * function to avoid garbage collection pauses in V8. See + * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070) + * for more details. + * + * @private + * @param {Function} func The function to associate metadata with. + * @param {*} data The metadata. + * @returns {Function} Returns `func`. + */ +var setData = shortOut(baseSetData); + +module.exports = setData; diff --git a/dist/node_modules/lodash/_setToArray.js b/dist/node_modules/lodash/_setToArray.js new file mode 100644 index 00000000..b87f0741 --- /dev/null +++ b/dist/node_modules/lodash/_setToArray.js @@ -0,0 +1,18 @@ +/** + * Converts `set` to an array of its values. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the values. + */ +function setToArray(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = value; + }); + return result; +} + +module.exports = setToArray; diff --git a/dist/node_modules/lodash/_setToPairs.js b/dist/node_modules/lodash/_setToPairs.js new file mode 100644 index 00000000..36ad37a0 --- /dev/null +++ b/dist/node_modules/lodash/_setToPairs.js @@ -0,0 +1,18 @@ +/** + * Converts `set` to its value-value pairs. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the value-value pairs. + */ +function setToPairs(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = [value, value]; + }); + return result; +} + +module.exports = setToPairs; diff --git a/dist/node_modules/lodash/_setToString.js b/dist/node_modules/lodash/_setToString.js new file mode 100644 index 00000000..6ca84196 --- /dev/null +++ b/dist/node_modules/lodash/_setToString.js @@ -0,0 +1,14 @@ +var baseSetToString = require('./_baseSetToString'), + shortOut = require('./_shortOut'); + +/** + * Sets the `toString` method of `func` to return `string`. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ +var setToString = shortOut(baseSetToString); + +module.exports = setToString; diff --git a/dist/node_modules/lodash/_setWrapToString.js b/dist/node_modules/lodash/_setWrapToString.js new file mode 100644 index 00000000..decdc449 --- /dev/null +++ b/dist/node_modules/lodash/_setWrapToString.js @@ -0,0 +1,21 @@ +var getWrapDetails = require('./_getWrapDetails'), + insertWrapDetails = require('./_insertWrapDetails'), + setToString = require('./_setToString'), + updateWrapDetails = require('./_updateWrapDetails'); + +/** + * Sets the `toString` method of `wrapper` to mimic the source of `reference` + * with wrapper details in a comment at the top of the source body. + * + * @private + * @param {Function} wrapper The function to modify. + * @param {Function} reference The reference function. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @returns {Function} Returns `wrapper`. + */ +function setWrapToString(wrapper, reference, bitmask) { + var source = (reference + ''); + return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask))); +} + +module.exports = setWrapToString; diff --git a/dist/node_modules/lodash/_shortOut.js b/dist/node_modules/lodash/_shortOut.js new file mode 100644 index 00000000..3300a079 --- /dev/null +++ b/dist/node_modules/lodash/_shortOut.js @@ -0,0 +1,37 @@ +/** Used to detect hot functions by number of calls within a span of milliseconds. */ +var HOT_COUNT = 800, + HOT_SPAN = 16; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeNow = Date.now; + +/** + * Creates a function that'll short out and invoke `identity` instead + * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` + * milliseconds. + * + * @private + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new shortable function. + */ +function shortOut(func) { + var count = 0, + lastCalled = 0; + + return function() { + var stamp = nativeNow(), + remaining = HOT_SPAN - (stamp - lastCalled); + + lastCalled = stamp; + if (remaining > 0) { + if (++count >= HOT_COUNT) { + return arguments[0]; + } + } else { + count = 0; + } + return func.apply(undefined, arguments); + }; +} + +module.exports = shortOut; diff --git a/dist/node_modules/lodash/_shuffleSelf.js b/dist/node_modules/lodash/_shuffleSelf.js new file mode 100644 index 00000000..8bcc4f5c --- /dev/null +++ b/dist/node_modules/lodash/_shuffleSelf.js @@ -0,0 +1,28 @@ +var baseRandom = require('./_baseRandom'); + +/** + * A specialized version of `_.shuffle` which mutates and sets the size of `array`. + * + * @private + * @param {Array} array The array to shuffle. + * @param {number} [size=array.length] The size of `array`. + * @returns {Array} Returns `array`. + */ +function shuffleSelf(array, size) { + var index = -1, + length = array.length, + lastIndex = length - 1; + + size = size === undefined ? length : size; + while (++index < size) { + var rand = baseRandom(index, lastIndex), + value = array[rand]; + + array[rand] = array[index]; + array[index] = value; + } + array.length = size; + return array; +} + +module.exports = shuffleSelf; diff --git a/dist/node_modules/lodash/_stackClear.js b/dist/node_modules/lodash/_stackClear.js new file mode 100644 index 00000000..ce8e5a92 --- /dev/null +++ b/dist/node_modules/lodash/_stackClear.js @@ -0,0 +1,15 @@ +var ListCache = require('./_ListCache'); + +/** + * Removes all key-value entries from the stack. + * + * @private + * @name clear + * @memberOf Stack + */ +function stackClear() { + this.__data__ = new ListCache; + this.size = 0; +} + +module.exports = stackClear; diff --git a/dist/node_modules/lodash/_stackDelete.js b/dist/node_modules/lodash/_stackDelete.js new file mode 100644 index 00000000..ff9887ab --- /dev/null +++ b/dist/node_modules/lodash/_stackDelete.js @@ -0,0 +1,18 @@ +/** + * Removes `key` and its value from the stack. + * + * @private + * @name delete + * @memberOf Stack + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function stackDelete(key) { + var data = this.__data__, + result = data['delete'](key); + + this.size = data.size; + return result; +} + +module.exports = stackDelete; diff --git a/dist/node_modules/lodash/_stackGet.js b/dist/node_modules/lodash/_stackGet.js new file mode 100644 index 00000000..1cdf0040 --- /dev/null +++ b/dist/node_modules/lodash/_stackGet.js @@ -0,0 +1,14 @@ +/** + * Gets the stack value for `key`. + * + * @private + * @name get + * @memberOf Stack + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function stackGet(key) { + return this.__data__.get(key); +} + +module.exports = stackGet; diff --git a/dist/node_modules/lodash/_stackHas.js b/dist/node_modules/lodash/_stackHas.js new file mode 100644 index 00000000..16a3ad11 --- /dev/null +++ b/dist/node_modules/lodash/_stackHas.js @@ -0,0 +1,14 @@ +/** + * Checks if a stack value for `key` exists. + * + * @private + * @name has + * @memberOf Stack + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function stackHas(key) { + return this.__data__.has(key); +} + +module.exports = stackHas; diff --git a/dist/node_modules/lodash/_stackSet.js b/dist/node_modules/lodash/_stackSet.js new file mode 100644 index 00000000..b790ac5f --- /dev/null +++ b/dist/node_modules/lodash/_stackSet.js @@ -0,0 +1,34 @@ +var ListCache = require('./_ListCache'), + Map = require('./_Map'), + MapCache = require('./_MapCache'); + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** + * Sets the stack `key` to `value`. + * + * @private + * @name set + * @memberOf Stack + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the stack cache instance. + */ +function stackSet(key, value) { + var data = this.__data__; + if (data instanceof ListCache) { + var pairs = data.__data__; + if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { + pairs.push([key, value]); + this.size = ++data.size; + return this; + } + data = this.__data__ = new MapCache(pairs); + } + data.set(key, value); + this.size = data.size; + return this; +} + +module.exports = stackSet; diff --git a/dist/node_modules/lodash/_strictIndexOf.js b/dist/node_modules/lodash/_strictIndexOf.js new file mode 100644 index 00000000..0486a495 --- /dev/null +++ b/dist/node_modules/lodash/_strictIndexOf.js @@ -0,0 +1,23 @@ +/** + * A specialized version of `_.indexOf` which performs strict equality + * comparisons of values, i.e. `===`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function strictIndexOf(array, value, fromIndex) { + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (array[index] === value) { + return index; + } + } + return -1; +} + +module.exports = strictIndexOf; diff --git a/dist/node_modules/lodash/_strictLastIndexOf.js b/dist/node_modules/lodash/_strictLastIndexOf.js new file mode 100644 index 00000000..d7310dcc --- /dev/null +++ b/dist/node_modules/lodash/_strictLastIndexOf.js @@ -0,0 +1,21 @@ +/** + * A specialized version of `_.lastIndexOf` which performs strict equality + * comparisons of values, i.e. `===`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function strictLastIndexOf(array, value, fromIndex) { + var index = fromIndex + 1; + while (index--) { + if (array[index] === value) { + return index; + } + } + return index; +} + +module.exports = strictLastIndexOf; diff --git a/dist/node_modules/lodash/_stringSize.js b/dist/node_modules/lodash/_stringSize.js new file mode 100644 index 00000000..17ef462a --- /dev/null +++ b/dist/node_modules/lodash/_stringSize.js @@ -0,0 +1,18 @@ +var asciiSize = require('./_asciiSize'), + hasUnicode = require('./_hasUnicode'), + unicodeSize = require('./_unicodeSize'); + +/** + * Gets the number of symbols in `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the string size. + */ +function stringSize(string) { + return hasUnicode(string) + ? unicodeSize(string) + : asciiSize(string); +} + +module.exports = stringSize; diff --git a/dist/node_modules/lodash/_stringToArray.js b/dist/node_modules/lodash/_stringToArray.js new file mode 100644 index 00000000..d161158c --- /dev/null +++ b/dist/node_modules/lodash/_stringToArray.js @@ -0,0 +1,18 @@ +var asciiToArray = require('./_asciiToArray'), + hasUnicode = require('./_hasUnicode'), + unicodeToArray = require('./_unicodeToArray'); + +/** + * Converts `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ +function stringToArray(string) { + return hasUnicode(string) + ? unicodeToArray(string) + : asciiToArray(string); +} + +module.exports = stringToArray; diff --git a/dist/node_modules/lodash/_stringToPath.js b/dist/node_modules/lodash/_stringToPath.js new file mode 100644 index 00000000..8f39f8a2 --- /dev/null +++ b/dist/node_modules/lodash/_stringToPath.js @@ -0,0 +1,27 @@ +var memoizeCapped = require('./_memoizeCapped'); + +/** Used to match property names within property paths. */ +var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + +/** Used to match backslashes in property paths. */ +var reEscapeChar = /\\(\\)?/g; + +/** + * Converts `string` to a property path array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. + */ +var stringToPath = memoizeCapped(function(string) { + var result = []; + if (string.charCodeAt(0) === 46 /* . */) { + result.push(''); + } + string.replace(rePropName, function(match, number, quote, subString) { + result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match)); + }); + return result; +}); + +module.exports = stringToPath; diff --git a/dist/node_modules/lodash/_toKey.js b/dist/node_modules/lodash/_toKey.js new file mode 100644 index 00000000..c6d645c4 --- /dev/null +++ b/dist/node_modules/lodash/_toKey.js @@ -0,0 +1,21 @@ +var isSymbol = require('./isSymbol'); + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ +function toKey(value) { + if (typeof value == 'string' || isSymbol(value)) { + return value; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +module.exports = toKey; diff --git a/dist/node_modules/lodash/_toSource.js b/dist/node_modules/lodash/_toSource.js new file mode 100644 index 00000000..a020b386 --- /dev/null +++ b/dist/node_modules/lodash/_toSource.js @@ -0,0 +1,26 @@ +/** Used for built-in method references. */ +var funcProto = Function.prototype; + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to convert. + * @returns {string} Returns the source code. + */ +function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; +} + +module.exports = toSource; diff --git a/dist/node_modules/lodash/_trimmedEndIndex.js b/dist/node_modules/lodash/_trimmedEndIndex.js new file mode 100644 index 00000000..139439ad --- /dev/null +++ b/dist/node_modules/lodash/_trimmedEndIndex.js @@ -0,0 +1,19 @@ +/** Used to match a single whitespace character. */ +var reWhitespace = /\s/; + +/** + * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace + * character of `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the index of the last non-whitespace character. + */ +function trimmedEndIndex(string) { + var index = string.length; + + while (index-- && reWhitespace.test(string.charAt(index))) {} + return index; +} + +module.exports = trimmedEndIndex; diff --git a/dist/node_modules/lodash/_unescapeHtmlChar.js b/dist/node_modules/lodash/_unescapeHtmlChar.js new file mode 100644 index 00000000..a71fecb3 --- /dev/null +++ b/dist/node_modules/lodash/_unescapeHtmlChar.js @@ -0,0 +1,21 @@ +var basePropertyOf = require('./_basePropertyOf'); + +/** Used to map HTML entities to characters. */ +var htmlUnescapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + ''': "'" +}; + +/** + * Used by `_.unescape` to convert HTML entities to characters. + * + * @private + * @param {string} chr The matched character to unescape. + * @returns {string} Returns the unescaped character. + */ +var unescapeHtmlChar = basePropertyOf(htmlUnescapes); + +module.exports = unescapeHtmlChar; diff --git a/dist/node_modules/lodash/_unicodeSize.js b/dist/node_modules/lodash/_unicodeSize.js new file mode 100644 index 00000000..68137ec2 --- /dev/null +++ b/dist/node_modules/lodash/_unicodeSize.js @@ -0,0 +1,44 @@ +/** Used to compose unicode character classes. */ +var rsAstralRange = '\\ud800-\\udfff', + rsComboMarksRange = '\\u0300-\\u036f', + reComboHalfMarksRange = '\\ufe20-\\ufe2f', + rsComboSymbolsRange = '\\u20d0-\\u20ff', + rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, + rsVarRange = '\\ufe0e\\ufe0f'; + +/** Used to compose unicode capture groups. */ +var rsAstral = '[' + rsAstralRange + ']', + rsCombo = '[' + rsComboRange + ']', + rsFitz = '\\ud83c[\\udffb-\\udfff]', + rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', + rsNonAstral = '[^' + rsAstralRange + ']', + rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', + rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', + rsZWJ = '\\u200d'; + +/** Used to compose unicode regexes. */ +var reOptMod = rsModifier + '?', + rsOptVar = '[' + rsVarRange + ']?', + rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', + rsSeq = rsOptVar + reOptMod + rsOptJoin, + rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; + +/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ +var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); + +/** + * Gets the size of a Unicode `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ +function unicodeSize(string) { + var result = reUnicode.lastIndex = 0; + while (reUnicode.test(string)) { + ++result; + } + return result; +} + +module.exports = unicodeSize; diff --git a/dist/node_modules/lodash/_unicodeToArray.js b/dist/node_modules/lodash/_unicodeToArray.js new file mode 100644 index 00000000..2a725c06 --- /dev/null +++ b/dist/node_modules/lodash/_unicodeToArray.js @@ -0,0 +1,40 @@ +/** Used to compose unicode character classes. */ +var rsAstralRange = '\\ud800-\\udfff', + rsComboMarksRange = '\\u0300-\\u036f', + reComboHalfMarksRange = '\\ufe20-\\ufe2f', + rsComboSymbolsRange = '\\u20d0-\\u20ff', + rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, + rsVarRange = '\\ufe0e\\ufe0f'; + +/** Used to compose unicode capture groups. */ +var rsAstral = '[' + rsAstralRange + ']', + rsCombo = '[' + rsComboRange + ']', + rsFitz = '\\ud83c[\\udffb-\\udfff]', + rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', + rsNonAstral = '[^' + rsAstralRange + ']', + rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', + rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', + rsZWJ = '\\u200d'; + +/** Used to compose unicode regexes. */ +var reOptMod = rsModifier + '?', + rsOptVar = '[' + rsVarRange + ']?', + rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', + rsSeq = rsOptVar + reOptMod + rsOptJoin, + rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; + +/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ +var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); + +/** + * Converts a Unicode `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ +function unicodeToArray(string) { + return string.match(reUnicode) || []; +} + +module.exports = unicodeToArray; diff --git a/dist/node_modules/lodash/_unicodeWords.js b/dist/node_modules/lodash/_unicodeWords.js new file mode 100644 index 00000000..e72e6e0f --- /dev/null +++ b/dist/node_modules/lodash/_unicodeWords.js @@ -0,0 +1,69 @@ +/** Used to compose unicode character classes. */ +var rsAstralRange = '\\ud800-\\udfff', + rsComboMarksRange = '\\u0300-\\u036f', + reComboHalfMarksRange = '\\ufe20-\\ufe2f', + rsComboSymbolsRange = '\\u20d0-\\u20ff', + rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, + rsDingbatRange = '\\u2700-\\u27bf', + rsLowerRange = 'a-z\\xdf-\\xf6\\xf8-\\xff', + rsMathOpRange = '\\xac\\xb1\\xd7\\xf7', + rsNonCharRange = '\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf', + rsPunctuationRange = '\\u2000-\\u206f', + rsSpaceRange = ' \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000', + rsUpperRange = 'A-Z\\xc0-\\xd6\\xd8-\\xde', + rsVarRange = '\\ufe0e\\ufe0f', + rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange; + +/** Used to compose unicode capture groups. */ +var rsApos = "['\u2019]", + rsBreak = '[' + rsBreakRange + ']', + rsCombo = '[' + rsComboRange + ']', + rsDigits = '\\d+', + rsDingbat = '[' + rsDingbatRange + ']', + rsLower = '[' + rsLowerRange + ']', + rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']', + rsFitz = '\\ud83c[\\udffb-\\udfff]', + rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', + rsNonAstral = '[^' + rsAstralRange + ']', + rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', + rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', + rsUpper = '[' + rsUpperRange + ']', + rsZWJ = '\\u200d'; + +/** Used to compose unicode regexes. */ +var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')', + rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')', + rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?', + rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?', + reOptMod = rsModifier + '?', + rsOptVar = '[' + rsVarRange + ']?', + rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', + rsOrdLower = '\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])', + rsOrdUpper = '\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])', + rsSeq = rsOptVar + reOptMod + rsOptJoin, + rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq; + +/** Used to match complex or compound words. */ +var reUnicodeWord = RegExp([ + rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')', + rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')', + rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower, + rsUpper + '+' + rsOptContrUpper, + rsOrdUpper, + rsOrdLower, + rsDigits, + rsEmoji +].join('|'), 'g'); + +/** + * Splits a Unicode `string` into an array of its words. + * + * @private + * @param {string} The string to inspect. + * @returns {Array} Returns the words of `string`. + */ +function unicodeWords(string) { + return string.match(reUnicodeWord) || []; +} + +module.exports = unicodeWords; diff --git a/dist/node_modules/lodash/_updateWrapDetails.js b/dist/node_modules/lodash/_updateWrapDetails.js new file mode 100644 index 00000000..8759fbdf --- /dev/null +++ b/dist/node_modules/lodash/_updateWrapDetails.js @@ -0,0 +1,46 @@ +var arrayEach = require('./_arrayEach'), + arrayIncludes = require('./_arrayIncludes'); + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_FLAG = 1, + WRAP_BIND_KEY_FLAG = 2, + WRAP_CURRY_FLAG = 8, + WRAP_CURRY_RIGHT_FLAG = 16, + WRAP_PARTIAL_FLAG = 32, + WRAP_PARTIAL_RIGHT_FLAG = 64, + WRAP_ARY_FLAG = 128, + WRAP_REARG_FLAG = 256, + WRAP_FLIP_FLAG = 512; + +/** Used to associate wrap methods with their bit flags. */ +var wrapFlags = [ + ['ary', WRAP_ARY_FLAG], + ['bind', WRAP_BIND_FLAG], + ['bindKey', WRAP_BIND_KEY_FLAG], + ['curry', WRAP_CURRY_FLAG], + ['curryRight', WRAP_CURRY_RIGHT_FLAG], + ['flip', WRAP_FLIP_FLAG], + ['partial', WRAP_PARTIAL_FLAG], + ['partialRight', WRAP_PARTIAL_RIGHT_FLAG], + ['rearg', WRAP_REARG_FLAG] +]; + +/** + * Updates wrapper `details` based on `bitmask` flags. + * + * @private + * @returns {Array} details The details to modify. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @returns {Array} Returns `details`. + */ +function updateWrapDetails(details, bitmask) { + arrayEach(wrapFlags, function(pair) { + var value = '_.' + pair[0]; + if ((bitmask & pair[1]) && !arrayIncludes(details, value)) { + details.push(value); + } + }); + return details.sort(); +} + +module.exports = updateWrapDetails; diff --git a/dist/node_modules/lodash/_wrapperClone.js b/dist/node_modules/lodash/_wrapperClone.js new file mode 100644 index 00000000..7bb58a2e --- /dev/null +++ b/dist/node_modules/lodash/_wrapperClone.js @@ -0,0 +1,23 @@ +var LazyWrapper = require('./_LazyWrapper'), + LodashWrapper = require('./_LodashWrapper'), + copyArray = require('./_copyArray'); + +/** + * Creates a clone of `wrapper`. + * + * @private + * @param {Object} wrapper The wrapper to clone. + * @returns {Object} Returns the cloned wrapper. + */ +function wrapperClone(wrapper) { + if (wrapper instanceof LazyWrapper) { + return wrapper.clone(); + } + var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__); + result.__actions__ = copyArray(wrapper.__actions__); + result.__index__ = wrapper.__index__; + result.__values__ = wrapper.__values__; + return result; +} + +module.exports = wrapperClone; diff --git a/dist/node_modules/lodash/add.js b/dist/node_modules/lodash/add.js new file mode 100644 index 00000000..f0695156 --- /dev/null +++ b/dist/node_modules/lodash/add.js @@ -0,0 +1,22 @@ +var createMathOperation = require('./_createMathOperation'); + +/** + * Adds two numbers. + * + * @static + * @memberOf _ + * @since 3.4.0 + * @category Math + * @param {number} augend The first number in an addition. + * @param {number} addend The second number in an addition. + * @returns {number} Returns the total. + * @example + * + * _.add(6, 4); + * // => 10 + */ +var add = createMathOperation(function(augend, addend) { + return augend + addend; +}, 0); + +module.exports = add; diff --git a/dist/node_modules/lodash/after.js b/dist/node_modules/lodash/after.js new file mode 100644 index 00000000..3900c979 --- /dev/null +++ b/dist/node_modules/lodash/after.js @@ -0,0 +1,42 @@ +var toInteger = require('./toInteger'); + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** + * The opposite of `_.before`; this method creates a function that invokes + * `func` once it's called `n` or more times. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {number} n The number of calls before `func` is invoked. + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var saves = ['profile', 'settings']; + * + * var done = _.after(saves.length, function() { + * console.log('done saving!'); + * }); + * + * _.forEach(saves, function(type) { + * asyncSave({ 'type': type, 'complete': done }); + * }); + * // => Logs 'done saving!' after the two async saves have completed. + */ +function after(n, func) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + n = toInteger(n); + return function() { + if (--n < 1) { + return func.apply(this, arguments); + } + }; +} + +module.exports = after; diff --git a/dist/node_modules/lodash/array.js b/dist/node_modules/lodash/array.js new file mode 100644 index 00000000..af688d3e --- /dev/null +++ b/dist/node_modules/lodash/array.js @@ -0,0 +1,67 @@ +module.exports = { + 'chunk': require('./chunk'), + 'compact': require('./compact'), + 'concat': require('./concat'), + 'difference': require('./difference'), + 'differenceBy': require('./differenceBy'), + 'differenceWith': require('./differenceWith'), + 'drop': require('./drop'), + 'dropRight': require('./dropRight'), + 'dropRightWhile': require('./dropRightWhile'), + 'dropWhile': require('./dropWhile'), + 'fill': require('./fill'), + 'findIndex': require('./findIndex'), + 'findLastIndex': require('./findLastIndex'), + 'first': require('./first'), + 'flatten': require('./flatten'), + 'flattenDeep': require('./flattenDeep'), + 'flattenDepth': require('./flattenDepth'), + 'fromPairs': require('./fromPairs'), + 'head': require('./head'), + 'indexOf': require('./indexOf'), + 'initial': require('./initial'), + 'intersection': require('./intersection'), + 'intersectionBy': require('./intersectionBy'), + 'intersectionWith': require('./intersectionWith'), + 'join': require('./join'), + 'last': require('./last'), + 'lastIndexOf': require('./lastIndexOf'), + 'nth': require('./nth'), + 'pull': require('./pull'), + 'pullAll': require('./pullAll'), + 'pullAllBy': require('./pullAllBy'), + 'pullAllWith': require('./pullAllWith'), + 'pullAt': require('./pullAt'), + 'remove': require('./remove'), + 'reverse': require('./reverse'), + 'slice': require('./slice'), + 'sortedIndex': require('./sortedIndex'), + 'sortedIndexBy': require('./sortedIndexBy'), + 'sortedIndexOf': require('./sortedIndexOf'), + 'sortedLastIndex': require('./sortedLastIndex'), + 'sortedLastIndexBy': require('./sortedLastIndexBy'), + 'sortedLastIndexOf': require('./sortedLastIndexOf'), + 'sortedUniq': require('./sortedUniq'), + 'sortedUniqBy': require('./sortedUniqBy'), + 'tail': require('./tail'), + 'take': require('./take'), + 'takeRight': require('./takeRight'), + 'takeRightWhile': require('./takeRightWhile'), + 'takeWhile': require('./takeWhile'), + 'union': require('./union'), + 'unionBy': require('./unionBy'), + 'unionWith': require('./unionWith'), + 'uniq': require('./uniq'), + 'uniqBy': require('./uniqBy'), + 'uniqWith': require('./uniqWith'), + 'unzip': require('./unzip'), + 'unzipWith': require('./unzipWith'), + 'without': require('./without'), + 'xor': require('./xor'), + 'xorBy': require('./xorBy'), + 'xorWith': require('./xorWith'), + 'zip': require('./zip'), + 'zipObject': require('./zipObject'), + 'zipObjectDeep': require('./zipObjectDeep'), + 'zipWith': require('./zipWith') +}; diff --git a/dist/node_modules/lodash/ary.js b/dist/node_modules/lodash/ary.js new file mode 100644 index 00000000..70c87d09 --- /dev/null +++ b/dist/node_modules/lodash/ary.js @@ -0,0 +1,29 @@ +var createWrap = require('./_createWrap'); + +/** Used to compose bitmasks for function metadata. */ +var WRAP_ARY_FLAG = 128; + +/** + * Creates a function that invokes `func`, with up to `n` arguments, + * ignoring any additional arguments. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to cap arguments for. + * @param {number} [n=func.length] The arity cap. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new capped function. + * @example + * + * _.map(['6', '8', '10'], _.ary(parseInt, 1)); + * // => [6, 8, 10] + */ +function ary(func, n, guard) { + n = guard ? undefined : n; + n = (func && n == null) ? func.length : n; + return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n); +} + +module.exports = ary; diff --git a/dist/node_modules/lodash/assign.js b/dist/node_modules/lodash/assign.js new file mode 100644 index 00000000..909db26a --- /dev/null +++ b/dist/node_modules/lodash/assign.js @@ -0,0 +1,58 @@ +var assignValue = require('./_assignValue'), + copyObject = require('./_copyObject'), + createAssigner = require('./_createAssigner'), + isArrayLike = require('./isArrayLike'), + isPrototype = require('./_isPrototype'), + keys = require('./keys'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Assigns own enumerable string keyed properties of source objects to the + * destination object. Source objects are applied from left to right. + * Subsequent sources overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object` and is loosely based on + * [`Object.assign`](https://mdn.io/Object/assign). + * + * @static + * @memberOf _ + * @since 0.10.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.assignIn + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * function Bar() { + * this.c = 3; + * } + * + * Foo.prototype.b = 2; + * Bar.prototype.d = 4; + * + * _.assign({ 'a': 0 }, new Foo, new Bar); + * // => { 'a': 1, 'c': 3 } + */ +var assign = createAssigner(function(object, source) { + if (isPrototype(source) || isArrayLike(source)) { + copyObject(source, keys(source), object); + return; + } + for (var key in source) { + if (hasOwnProperty.call(source, key)) { + assignValue(object, key, source[key]); + } + } +}); + +module.exports = assign; diff --git a/dist/node_modules/lodash/assignIn.js b/dist/node_modules/lodash/assignIn.js new file mode 100644 index 00000000..e663473a --- /dev/null +++ b/dist/node_modules/lodash/assignIn.js @@ -0,0 +1,40 @@ +var copyObject = require('./_copyObject'), + createAssigner = require('./_createAssigner'), + keysIn = require('./keysIn'); + +/** + * This method is like `_.assign` except that it iterates over own and + * inherited source properties. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias extend + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.assign + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * function Bar() { + * this.c = 3; + * } + * + * Foo.prototype.b = 2; + * Bar.prototype.d = 4; + * + * _.assignIn({ 'a': 0 }, new Foo, new Bar); + * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 } + */ +var assignIn = createAssigner(function(object, source) { + copyObject(source, keysIn(source), object); +}); + +module.exports = assignIn; diff --git a/dist/node_modules/lodash/assignInWith.js b/dist/node_modules/lodash/assignInWith.js new file mode 100644 index 00000000..68fcc0b0 --- /dev/null +++ b/dist/node_modules/lodash/assignInWith.js @@ -0,0 +1,38 @@ +var copyObject = require('./_copyObject'), + createAssigner = require('./_createAssigner'), + keysIn = require('./keysIn'); + +/** + * This method is like `_.assignIn` except that it accepts `customizer` + * which is invoked to produce the assigned values. If `customizer` returns + * `undefined`, assignment is handled by the method instead. The `customizer` + * is invoked with five arguments: (objValue, srcValue, key, object, source). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias extendWith + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @see _.assignWith + * @example + * + * function customizer(objValue, srcValue) { + * return _.isUndefined(objValue) ? srcValue : objValue; + * } + * + * var defaults = _.partialRight(_.assignInWith, customizer); + * + * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ +var assignInWith = createAssigner(function(object, source, srcIndex, customizer) { + copyObject(source, keysIn(source), object, customizer); +}); + +module.exports = assignInWith; diff --git a/dist/node_modules/lodash/assignWith.js b/dist/node_modules/lodash/assignWith.js new file mode 100644 index 00000000..7dc6c761 --- /dev/null +++ b/dist/node_modules/lodash/assignWith.js @@ -0,0 +1,37 @@ +var copyObject = require('./_copyObject'), + createAssigner = require('./_createAssigner'), + keys = require('./keys'); + +/** + * This method is like `_.assign` except that it accepts `customizer` + * which is invoked to produce the assigned values. If `customizer` returns + * `undefined`, assignment is handled by the method instead. The `customizer` + * is invoked with five arguments: (objValue, srcValue, key, object, source). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @see _.assignInWith + * @example + * + * function customizer(objValue, srcValue) { + * return _.isUndefined(objValue) ? srcValue : objValue; + * } + * + * var defaults = _.partialRight(_.assignWith, customizer); + * + * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ +var assignWith = createAssigner(function(object, source, srcIndex, customizer) { + copyObject(source, keys(source), object, customizer); +}); + +module.exports = assignWith; diff --git a/dist/node_modules/lodash/at.js b/dist/node_modules/lodash/at.js new file mode 100644 index 00000000..781ee9e5 --- /dev/null +++ b/dist/node_modules/lodash/at.js @@ -0,0 +1,23 @@ +var baseAt = require('./_baseAt'), + flatRest = require('./_flatRest'); + +/** + * Creates an array of values corresponding to `paths` of `object`. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Array} Returns the picked values. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; + * + * _.at(object, ['a[0].b.c', 'a[1]']); + * // => [3, 4] + */ +var at = flatRest(baseAt); + +module.exports = at; diff --git a/dist/node_modules/lodash/attempt.js b/dist/node_modules/lodash/attempt.js new file mode 100644 index 00000000..624d0152 --- /dev/null +++ b/dist/node_modules/lodash/attempt.js @@ -0,0 +1,35 @@ +var apply = require('./_apply'), + baseRest = require('./_baseRest'), + isError = require('./isError'); + +/** + * Attempts to invoke `func`, returning either the result or the caught error + * object. Any additional arguments are provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Util + * @param {Function} func The function to attempt. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {*} Returns the `func` result or error object. + * @example + * + * // Avoid throwing errors for invalid selectors. + * var elements = _.attempt(function(selector) { + * return document.querySelectorAll(selector); + * }, '>_>'); + * + * if (_.isError(elements)) { + * elements = []; + * } + */ +var attempt = baseRest(function(func, args) { + try { + return apply(func, undefined, args); + } catch (e) { + return isError(e) ? e : new Error(e); + } +}); + +module.exports = attempt; diff --git a/dist/node_modules/lodash/before.js b/dist/node_modules/lodash/before.js new file mode 100644 index 00000000..a3e0a16c --- /dev/null +++ b/dist/node_modules/lodash/before.js @@ -0,0 +1,40 @@ +var toInteger = require('./toInteger'); + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** + * Creates a function that invokes `func`, with the `this` binding and arguments + * of the created function, while it's called less than `n` times. Subsequent + * calls to the created function return the result of the last `func` invocation. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {number} n The number of calls at which `func` is no longer invoked. + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * jQuery(element).on('click', _.before(5, addContactToList)); + * // => Allows adding up to 4 contacts to the list. + */ +function before(n, func) { + var result; + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + n = toInteger(n); + return function() { + if (--n > 0) { + result = func.apply(this, arguments); + } + if (n <= 1) { + func = undefined; + } + return result; + }; +} + +module.exports = before; diff --git a/dist/node_modules/lodash/bind.js b/dist/node_modules/lodash/bind.js new file mode 100644 index 00000000..b1076e93 --- /dev/null +++ b/dist/node_modules/lodash/bind.js @@ -0,0 +1,57 @@ +var baseRest = require('./_baseRest'), + createWrap = require('./_createWrap'), + getHolder = require('./_getHolder'), + replaceHolders = require('./_replaceHolders'); + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_FLAG = 1, + WRAP_PARTIAL_FLAG = 32; + +/** + * Creates a function that invokes `func` with the `this` binding of `thisArg` + * and `partials` prepended to the arguments it receives. + * + * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds, + * may be used as a placeholder for partially applied arguments. + * + * **Note:** Unlike native `Function#bind`, this method doesn't set the "length" + * property of bound functions. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to bind. + * @param {*} thisArg The `this` binding of `func`. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * function greet(greeting, punctuation) { + * return greeting + ' ' + this.user + punctuation; + * } + * + * var object = { 'user': 'fred' }; + * + * var bound = _.bind(greet, object, 'hi'); + * bound('!'); + * // => 'hi fred!' + * + * // Bound with placeholders. + * var bound = _.bind(greet, object, _, '!'); + * bound('hi'); + * // => 'hi fred!' + */ +var bind = baseRest(function(func, thisArg, partials) { + var bitmask = WRAP_BIND_FLAG; + if (partials.length) { + var holders = replaceHolders(partials, getHolder(bind)); + bitmask |= WRAP_PARTIAL_FLAG; + } + return createWrap(func, bitmask, thisArg, partials, holders); +}); + +// Assign default placeholders. +bind.placeholder = {}; + +module.exports = bind; diff --git a/dist/node_modules/lodash/bindAll.js b/dist/node_modules/lodash/bindAll.js new file mode 100644 index 00000000..a35706de --- /dev/null +++ b/dist/node_modules/lodash/bindAll.js @@ -0,0 +1,41 @@ +var arrayEach = require('./_arrayEach'), + baseAssignValue = require('./_baseAssignValue'), + bind = require('./bind'), + flatRest = require('./_flatRest'), + toKey = require('./_toKey'); + +/** + * Binds methods of an object to the object itself, overwriting the existing + * method. + * + * **Note:** This method doesn't set the "length" property of bound functions. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {Object} object The object to bind and assign the bound methods to. + * @param {...(string|string[])} methodNames The object method names to bind. + * @returns {Object} Returns `object`. + * @example + * + * var view = { + * 'label': 'docs', + * 'click': function() { + * console.log('clicked ' + this.label); + * } + * }; + * + * _.bindAll(view, ['click']); + * jQuery(element).on('click', view.click); + * // => Logs 'clicked docs' when clicked. + */ +var bindAll = flatRest(function(object, methodNames) { + arrayEach(methodNames, function(key) { + key = toKey(key); + baseAssignValue(object, key, bind(object[key], object)); + }); + return object; +}); + +module.exports = bindAll; diff --git a/dist/node_modules/lodash/bindKey.js b/dist/node_modules/lodash/bindKey.js new file mode 100644 index 00000000..f7fd64cd --- /dev/null +++ b/dist/node_modules/lodash/bindKey.js @@ -0,0 +1,68 @@ +var baseRest = require('./_baseRest'), + createWrap = require('./_createWrap'), + getHolder = require('./_getHolder'), + replaceHolders = require('./_replaceHolders'); + +/** Used to compose bitmasks for function metadata. */ +var WRAP_BIND_FLAG = 1, + WRAP_BIND_KEY_FLAG = 2, + WRAP_PARTIAL_FLAG = 32; + +/** + * Creates a function that invokes the method at `object[key]` with `partials` + * prepended to the arguments it receives. + * + * This method differs from `_.bind` by allowing bound functions to reference + * methods that may be redefined or don't yet exist. See + * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern) + * for more details. + * + * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for partially applied arguments. + * + * @static + * @memberOf _ + * @since 0.10.0 + * @category Function + * @param {Object} object The object to invoke the method on. + * @param {string} key The key of the method. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * var object = { + * 'user': 'fred', + * 'greet': function(greeting, punctuation) { + * return greeting + ' ' + this.user + punctuation; + * } + * }; + * + * var bound = _.bindKey(object, 'greet', 'hi'); + * bound('!'); + * // => 'hi fred!' + * + * object.greet = function(greeting, punctuation) { + * return greeting + 'ya ' + this.user + punctuation; + * }; + * + * bound('!'); + * // => 'hiya fred!' + * + * // Bound with placeholders. + * var bound = _.bindKey(object, 'greet', _, '!'); + * bound('hi'); + * // => 'hiya fred!' + */ +var bindKey = baseRest(function(object, key, partials) { + var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG; + if (partials.length) { + var holders = replaceHolders(partials, getHolder(bindKey)); + bitmask |= WRAP_PARTIAL_FLAG; + } + return createWrap(key, bitmask, object, partials, holders); +}); + +// Assign default placeholders. +bindKey.placeholder = {}; + +module.exports = bindKey; diff --git a/dist/node_modules/lodash/camelCase.js b/dist/node_modules/lodash/camelCase.js new file mode 100644 index 00000000..d7390def --- /dev/null +++ b/dist/node_modules/lodash/camelCase.js @@ -0,0 +1,29 @@ +var capitalize = require('./capitalize'), + createCompounder = require('./_createCompounder'); + +/** + * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the camel cased string. + * @example + * + * _.camelCase('Foo Bar'); + * // => 'fooBar' + * + * _.camelCase('--foo-bar--'); + * // => 'fooBar' + * + * _.camelCase('__FOO_BAR__'); + * // => 'fooBar' + */ +var camelCase = createCompounder(function(result, word, index) { + word = word.toLowerCase(); + return result + (index ? capitalize(word) : word); +}); + +module.exports = camelCase; diff --git a/dist/node_modules/lodash/capitalize.js b/dist/node_modules/lodash/capitalize.js new file mode 100644 index 00000000..3e1600e7 --- /dev/null +++ b/dist/node_modules/lodash/capitalize.js @@ -0,0 +1,23 @@ +var toString = require('./toString'), + upperFirst = require('./upperFirst'); + +/** + * Converts the first character of `string` to upper case and the remaining + * to lower case. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to capitalize. + * @returns {string} Returns the capitalized string. + * @example + * + * _.capitalize('FRED'); + * // => 'Fred' + */ +function capitalize(string) { + return upperFirst(toString(string).toLowerCase()); +} + +module.exports = capitalize; diff --git a/dist/node_modules/lodash/castArray.js b/dist/node_modules/lodash/castArray.js new file mode 100644 index 00000000..e470bdb9 --- /dev/null +++ b/dist/node_modules/lodash/castArray.js @@ -0,0 +1,44 @@ +var isArray = require('./isArray'); + +/** + * Casts `value` as an array if it's not one. + * + * @static + * @memberOf _ + * @since 4.4.0 + * @category Lang + * @param {*} value The value to inspect. + * @returns {Array} Returns the cast array. + * @example + * + * _.castArray(1); + * // => [1] + * + * _.castArray({ 'a': 1 }); + * // => [{ 'a': 1 }] + * + * _.castArray('abc'); + * // => ['abc'] + * + * _.castArray(null); + * // => [null] + * + * _.castArray(undefined); + * // => [undefined] + * + * _.castArray(); + * // => [] + * + * var array = [1, 2, 3]; + * console.log(_.castArray(array) === array); + * // => true + */ +function castArray() { + if (!arguments.length) { + return []; + } + var value = arguments[0]; + return isArray(value) ? value : [value]; +} + +module.exports = castArray; diff --git a/dist/node_modules/lodash/ceil.js b/dist/node_modules/lodash/ceil.js new file mode 100644 index 00000000..56c8722c --- /dev/null +++ b/dist/node_modules/lodash/ceil.js @@ -0,0 +1,26 @@ +var createRound = require('./_createRound'); + +/** + * Computes `number` rounded up to `precision`. + * + * @static + * @memberOf _ + * @since 3.10.0 + * @category Math + * @param {number} number The number to round up. + * @param {number} [precision=0] The precision to round up to. + * @returns {number} Returns the rounded up number. + * @example + * + * _.ceil(4.006); + * // => 5 + * + * _.ceil(6.004, 2); + * // => 6.01 + * + * _.ceil(6040, -2); + * // => 6100 + */ +var ceil = createRound('ceil'); + +module.exports = ceil; diff --git a/dist/node_modules/lodash/chain.js b/dist/node_modules/lodash/chain.js new file mode 100644 index 00000000..f6cd6475 --- /dev/null +++ b/dist/node_modules/lodash/chain.js @@ -0,0 +1,38 @@ +var lodash = require('./wrapperLodash'); + +/** + * Creates a `lodash` wrapper instance that wraps `value` with explicit method + * chain sequences enabled. The result of such sequences must be unwrapped + * with `_#value`. + * + * @static + * @memberOf _ + * @since 1.3.0 + * @category Seq + * @param {*} value The value to wrap. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 40 }, + * { 'user': 'pebbles', 'age': 1 } + * ]; + * + * var youngest = _ + * .chain(users) + * .sortBy('age') + * .map(function(o) { + * return o.user + ' is ' + o.age; + * }) + * .head() + * .value(); + * // => 'pebbles is 1' + */ +function chain(value) { + var result = lodash(value); + result.__chain__ = true; + return result; +} + +module.exports = chain; diff --git a/dist/node_modules/lodash/chunk.js b/dist/node_modules/lodash/chunk.js new file mode 100644 index 00000000..5b562fef --- /dev/null +++ b/dist/node_modules/lodash/chunk.js @@ -0,0 +1,50 @@ +var baseSlice = require('./_baseSlice'), + isIterateeCall = require('./_isIterateeCall'), + toInteger = require('./toInteger'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeCeil = Math.ceil, + nativeMax = Math.max; + +/** + * Creates an array of elements split into groups the length of `size`. + * If `array` can't be split evenly, the final chunk will be the remaining + * elements. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to process. + * @param {number} [size=1] The length of each chunk + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the new array of chunks. + * @example + * + * _.chunk(['a', 'b', 'c', 'd'], 2); + * // => [['a', 'b'], ['c', 'd']] + * + * _.chunk(['a', 'b', 'c', 'd'], 3); + * // => [['a', 'b', 'c'], ['d']] + */ +function chunk(array, size, guard) { + if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) { + size = 1; + } else { + size = nativeMax(toInteger(size), 0); + } + var length = array == null ? 0 : array.length; + if (!length || size < 1) { + return []; + } + var index = 0, + resIndex = 0, + result = Array(nativeCeil(length / size)); + + while (index < length) { + result[resIndex++] = baseSlice(array, index, (index += size)); + } + return result; +} + +module.exports = chunk; diff --git a/dist/node_modules/lodash/clamp.js b/dist/node_modules/lodash/clamp.js new file mode 100644 index 00000000..91a72c97 --- /dev/null +++ b/dist/node_modules/lodash/clamp.js @@ -0,0 +1,39 @@ +var baseClamp = require('./_baseClamp'), + toNumber = require('./toNumber'); + +/** + * Clamps `number` within the inclusive `lower` and `upper` bounds. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Number + * @param {number} number The number to clamp. + * @param {number} [lower] The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the clamped number. + * @example + * + * _.clamp(-10, -5, 5); + * // => -5 + * + * _.clamp(10, -5, 5); + * // => 5 + */ +function clamp(number, lower, upper) { + if (upper === undefined) { + upper = lower; + lower = undefined; + } + if (upper !== undefined) { + upper = toNumber(upper); + upper = upper === upper ? upper : 0; + } + if (lower !== undefined) { + lower = toNumber(lower); + lower = lower === lower ? lower : 0; + } + return baseClamp(toNumber(number), lower, upper); +} + +module.exports = clamp; diff --git a/dist/node_modules/lodash/clone.js b/dist/node_modules/lodash/clone.js new file mode 100644 index 00000000..dd439d63 --- /dev/null +++ b/dist/node_modules/lodash/clone.js @@ -0,0 +1,36 @@ +var baseClone = require('./_baseClone'); + +/** Used to compose bitmasks for cloning. */ +var CLONE_SYMBOLS_FLAG = 4; + +/** + * Creates a shallow clone of `value`. + * + * **Note:** This method is loosely based on the + * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm) + * and supports cloning arrays, array buffers, booleans, date objects, maps, + * numbers, `Object` objects, regexes, sets, strings, symbols, and typed + * arrays. The own enumerable properties of `arguments` objects are cloned + * as plain objects. An empty object is returned for uncloneable values such + * as error objects, functions, DOM nodes, and WeakMaps. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to clone. + * @returns {*} Returns the cloned value. + * @see _.cloneDeep + * @example + * + * var objects = [{ 'a': 1 }, { 'b': 2 }]; + * + * var shallow = _.clone(objects); + * console.log(shallow[0] === objects[0]); + * // => true + */ +function clone(value) { + return baseClone(value, CLONE_SYMBOLS_FLAG); +} + +module.exports = clone; diff --git a/dist/node_modules/lodash/cloneDeep.js b/dist/node_modules/lodash/cloneDeep.js new file mode 100644 index 00000000..4425fbe8 --- /dev/null +++ b/dist/node_modules/lodash/cloneDeep.js @@ -0,0 +1,29 @@ +var baseClone = require('./_baseClone'); + +/** Used to compose bitmasks for cloning. */ +var CLONE_DEEP_FLAG = 1, + CLONE_SYMBOLS_FLAG = 4; + +/** + * This method is like `_.clone` except that it recursively clones `value`. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Lang + * @param {*} value The value to recursively clone. + * @returns {*} Returns the deep cloned value. + * @see _.clone + * @example + * + * var objects = [{ 'a': 1 }, { 'b': 2 }]; + * + * var deep = _.cloneDeep(objects); + * console.log(deep[0] === objects[0]); + * // => false + */ +function cloneDeep(value) { + return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG); +} + +module.exports = cloneDeep; diff --git a/dist/node_modules/lodash/cloneDeepWith.js b/dist/node_modules/lodash/cloneDeepWith.js new file mode 100644 index 00000000..fd9c6c05 --- /dev/null +++ b/dist/node_modules/lodash/cloneDeepWith.js @@ -0,0 +1,40 @@ +var baseClone = require('./_baseClone'); + +/** Used to compose bitmasks for cloning. */ +var CLONE_DEEP_FLAG = 1, + CLONE_SYMBOLS_FLAG = 4; + +/** + * This method is like `_.cloneWith` except that it recursively clones `value`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to recursively clone. + * @param {Function} [customizer] The function to customize cloning. + * @returns {*} Returns the deep cloned value. + * @see _.cloneWith + * @example + * + * function customizer(value) { + * if (_.isElement(value)) { + * return value.cloneNode(true); + * } + * } + * + * var el = _.cloneDeepWith(document.body, customizer); + * + * console.log(el === document.body); + * // => false + * console.log(el.nodeName); + * // => 'BODY' + * console.log(el.childNodes.length); + * // => 20 + */ +function cloneDeepWith(value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer); +} + +module.exports = cloneDeepWith; diff --git a/dist/node_modules/lodash/cloneWith.js b/dist/node_modules/lodash/cloneWith.js new file mode 100644 index 00000000..d2f4e756 --- /dev/null +++ b/dist/node_modules/lodash/cloneWith.js @@ -0,0 +1,42 @@ +var baseClone = require('./_baseClone'); + +/** Used to compose bitmasks for cloning. */ +var CLONE_SYMBOLS_FLAG = 4; + +/** + * This method is like `_.clone` except that it accepts `customizer` which + * is invoked to produce the cloned value. If `customizer` returns `undefined`, + * cloning is handled by the method instead. The `customizer` is invoked with + * up to four arguments; (value [, index|key, object, stack]). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to clone. + * @param {Function} [customizer] The function to customize cloning. + * @returns {*} Returns the cloned value. + * @see _.cloneDeepWith + * @example + * + * function customizer(value) { + * if (_.isElement(value)) { + * return value.cloneNode(false); + * } + * } + * + * var el = _.cloneWith(document.body, customizer); + * + * console.log(el === document.body); + * // => false + * console.log(el.nodeName); + * // => 'BODY' + * console.log(el.childNodes.length); + * // => 0 + */ +function cloneWith(value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseClone(value, CLONE_SYMBOLS_FLAG, customizer); +} + +module.exports = cloneWith; diff --git a/dist/node_modules/lodash/collection.js b/dist/node_modules/lodash/collection.js new file mode 100644 index 00000000..77fe837f --- /dev/null +++ b/dist/node_modules/lodash/collection.js @@ -0,0 +1,30 @@ +module.exports = { + 'countBy': require('./countBy'), + 'each': require('./each'), + 'eachRight': require('./eachRight'), + 'every': require('./every'), + 'filter': require('./filter'), + 'find': require('./find'), + 'findLast': require('./findLast'), + 'flatMap': require('./flatMap'), + 'flatMapDeep': require('./flatMapDeep'), + 'flatMapDepth': require('./flatMapDepth'), + 'forEach': require('./forEach'), + 'forEachRight': require('./forEachRight'), + 'groupBy': require('./groupBy'), + 'includes': require('./includes'), + 'invokeMap': require('./invokeMap'), + 'keyBy': require('./keyBy'), + 'map': require('./map'), + 'orderBy': require('./orderBy'), + 'partition': require('./partition'), + 'reduce': require('./reduce'), + 'reduceRight': require('./reduceRight'), + 'reject': require('./reject'), + 'sample': require('./sample'), + 'sampleSize': require('./sampleSize'), + 'shuffle': require('./shuffle'), + 'size': require('./size'), + 'some': require('./some'), + 'sortBy': require('./sortBy') +}; diff --git a/dist/node_modules/lodash/commit.js b/dist/node_modules/lodash/commit.js new file mode 100644 index 00000000..fe4db717 --- /dev/null +++ b/dist/node_modules/lodash/commit.js @@ -0,0 +1,33 @@ +var LodashWrapper = require('./_LodashWrapper'); + +/** + * Executes the chain sequence and returns the wrapped result. + * + * @name commit + * @memberOf _ + * @since 3.2.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var array = [1, 2]; + * var wrapped = _(array).push(3); + * + * console.log(array); + * // => [1, 2] + * + * wrapped = wrapped.commit(); + * console.log(array); + * // => [1, 2, 3] + * + * wrapped.last(); + * // => 3 + * + * console.log(array); + * // => [1, 2, 3] + */ +function wrapperCommit() { + return new LodashWrapper(this.value(), this.__chain__); +} + +module.exports = wrapperCommit; diff --git a/dist/node_modules/lodash/compact.js b/dist/node_modules/lodash/compact.js new file mode 100644 index 00000000..623b05d3 --- /dev/null +++ b/dist/node_modules/lodash/compact.js @@ -0,0 +1,31 @@ +/** + * Creates an array with all falsey values removed. The values `false`, `null`, + * `0`, `-0`, `0n`, `""`, `undefined`, and `NaN` are falsy. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to compact. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.compact([0, 1, false, 2, '', 3]); + * // => [1, 2, 3] + */ +function compact(array) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (value) { + result[resIndex++] = value; + } + } + return result; +} + +module.exports = compact; diff --git a/dist/node_modules/lodash/concat.js b/dist/node_modules/lodash/concat.js new file mode 100644 index 00000000..1da48a4f --- /dev/null +++ b/dist/node_modules/lodash/concat.js @@ -0,0 +1,43 @@ +var arrayPush = require('./_arrayPush'), + baseFlatten = require('./_baseFlatten'), + copyArray = require('./_copyArray'), + isArray = require('./isArray'); + +/** + * Creates a new array concatenating `array` with any additional arrays + * and/or values. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to concatenate. + * @param {...*} [values] The values to concatenate. + * @returns {Array} Returns the new concatenated array. + * @example + * + * var array = [1]; + * var other = _.concat(array, 2, [3], [[4]]); + * + * console.log(other); + * // => [1, 2, 3, [4]] + * + * console.log(array); + * // => [1] + */ +function concat() { + var length = arguments.length; + if (!length) { + return []; + } + var args = Array(length - 1), + array = arguments[0], + index = length; + + while (index--) { + args[index - 1] = arguments[index]; + } + return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1)); +} + +module.exports = concat; diff --git a/dist/node_modules/lodash/cond.js b/dist/node_modules/lodash/cond.js new file mode 100644 index 00000000..64555986 --- /dev/null +++ b/dist/node_modules/lodash/cond.js @@ -0,0 +1,60 @@ +var apply = require('./_apply'), + arrayMap = require('./_arrayMap'), + baseIteratee = require('./_baseIteratee'), + baseRest = require('./_baseRest'); + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** + * Creates a function that iterates over `pairs` and invokes the corresponding + * function of the first predicate to return truthy. The predicate-function + * pairs are invoked with the `this` binding and arguments of the created + * function. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {Array} pairs The predicate-function pairs. + * @returns {Function} Returns the new composite function. + * @example + * + * var func = _.cond([ + * [_.matches({ 'a': 1 }), _.constant('matches A')], + * [_.conforms({ 'b': _.isNumber }), _.constant('matches B')], + * [_.stubTrue, _.constant('no match')] + * ]); + * + * func({ 'a': 1, 'b': 2 }); + * // => 'matches A' + * + * func({ 'a': 0, 'b': 1 }); + * // => 'matches B' + * + * func({ 'a': '1', 'b': '2' }); + * // => 'no match' + */ +function cond(pairs) { + var length = pairs == null ? 0 : pairs.length, + toIteratee = baseIteratee; + + pairs = !length ? [] : arrayMap(pairs, function(pair) { + if (typeof pair[1] != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return [toIteratee(pair[0]), pair[1]]; + }); + + return baseRest(function(args) { + var index = -1; + while (++index < length) { + var pair = pairs[index]; + if (apply(pair[0], this, args)) { + return apply(pair[1], this, args); + } + } + }); +} + +module.exports = cond; diff --git a/dist/node_modules/lodash/conforms.js b/dist/node_modules/lodash/conforms.js new file mode 100644 index 00000000..5501a949 --- /dev/null +++ b/dist/node_modules/lodash/conforms.js @@ -0,0 +1,35 @@ +var baseClone = require('./_baseClone'), + baseConforms = require('./_baseConforms'); + +/** Used to compose bitmasks for cloning. */ +var CLONE_DEEP_FLAG = 1; + +/** + * Creates a function that invokes the predicate properties of `source` with + * the corresponding property values of a given object, returning `true` if + * all predicates return truthy, else `false`. + * + * **Note:** The created function is equivalent to `_.conformsTo` with + * `source` partially applied. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {Object} source The object of property predicates to conform to. + * @returns {Function} Returns the new spec function. + * @example + * + * var objects = [ + * { 'a': 2, 'b': 1 }, + * { 'a': 1, 'b': 2 } + * ]; + * + * _.filter(objects, _.conforms({ 'b': function(n) { return n > 1; } })); + * // => [{ 'a': 1, 'b': 2 }] + */ +function conforms(source) { + return baseConforms(baseClone(source, CLONE_DEEP_FLAG)); +} + +module.exports = conforms; diff --git a/dist/node_modules/lodash/conformsTo.js b/dist/node_modules/lodash/conformsTo.js new file mode 100644 index 00000000..b8a93ebf --- /dev/null +++ b/dist/node_modules/lodash/conformsTo.js @@ -0,0 +1,32 @@ +var baseConformsTo = require('./_baseConformsTo'), + keys = require('./keys'); + +/** + * Checks if `object` conforms to `source` by invoking the predicate + * properties of `source` with the corresponding property values of `object`. + * + * **Note:** This method is equivalent to `_.conforms` when `source` is + * partially applied. + * + * @static + * @memberOf _ + * @since 4.14.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property predicates to conform to. + * @returns {boolean} Returns `true` if `object` conforms, else `false`. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * + * _.conformsTo(object, { 'b': function(n) { return n > 1; } }); + * // => true + * + * _.conformsTo(object, { 'b': function(n) { return n > 2; } }); + * // => false + */ +function conformsTo(object, source) { + return source == null || baseConformsTo(object, source, keys(source)); +} + +module.exports = conformsTo; diff --git a/dist/node_modules/lodash/constant.js b/dist/node_modules/lodash/constant.js new file mode 100644 index 00000000..655ece3f --- /dev/null +++ b/dist/node_modules/lodash/constant.js @@ -0,0 +1,26 @@ +/** + * Creates a function that returns `value`. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {*} value The value to return from the new function. + * @returns {Function} Returns the new constant function. + * @example + * + * var objects = _.times(2, _.constant({ 'a': 1 })); + * + * console.log(objects); + * // => [{ 'a': 1 }, { 'a': 1 }] + * + * console.log(objects[0] === objects[1]); + * // => true + */ +function constant(value) { + return function() { + return value; + }; +} + +module.exports = constant; diff --git a/dist/node_modules/lodash/core.js b/dist/node_modules/lodash/core.js new file mode 100644 index 00000000..694ed51d --- /dev/null +++ b/dist/node_modules/lodash/core.js @@ -0,0 +1,3877 @@ +/** + * @license + * Lodash (Custom Build) + * Build: `lodash core --repo lodash/lodash#4.18.1 -o ./core.js` + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ +;(function() { + + /** Used as a safe reference for `undefined` in pre-ES5 environments. */ + var undefined; + + /** Used as the semantic version number. */ + var VERSION = '4.18.1'; + + /** Error message constants. */ + var FUNC_ERROR_TEXT = 'Expected a function'; + + /** Used to compose bitmasks for value comparisons. */ + var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + + /** Used to compose bitmasks for function metadata. */ + var WRAP_BIND_FLAG = 1, + WRAP_PARTIAL_FLAG = 32; + + /** Used as references for various `Number` constants. */ + var INFINITY = 1 / 0, + MAX_SAFE_INTEGER = 9007199254740991; + + /** `Object#toString` result references. */ + var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + asyncTag = '[object AsyncFunction]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + numberTag = '[object Number]', + objectTag = '[object Object]', + proxyTag = '[object Proxy]', + regexpTag = '[object RegExp]', + stringTag = '[object String]'; + + /** Used to match HTML entities and HTML characters. */ + var reUnescapedHtml = /[&<>"']/g, + reHasUnescapedHtml = RegExp(reUnescapedHtml.source); + + /** Used to detect unsigned integer values. */ + var reIsUint = /^(?:0|[1-9]\d*)$/; + + /** Used to map characters to HTML entities. */ + var htmlEscapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' + }; + + /** Detect free variable `global` from Node.js. */ + var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + + /** Detect free variable `self`. */ + var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + + /** Used as a reference to the global object. */ + var root = freeGlobal || freeSelf || Function('return this')(); + + /** Detect free variable `exports`. */ + var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + + /** Detect free variable `module`. */ + var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + + /*--------------------------------------------------------------------------*/ + + /** + * Appends the elements of `values` to `array`. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to append. + * @returns {Array} Returns `array`. + */ + function arrayPush(array, values) { + array.push.apply(array, values); + return array; + } + + /** + * The base implementation of `_.findIndex` and `_.findLastIndex` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {number} fromIndex The index to search from. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function baseFindIndex(array, predicate, fromIndex, fromRight) { + var length = array.length, + index = fromIndex + (fromRight ? 1 : -1); + + while ((fromRight ? index-- : ++index < length)) { + if (predicate(array[index], index, array)) { + return index; + } + } + return -1; + } + + /** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new accessor function. + */ + function baseProperty(key) { + return function(object) { + return object == null ? undefined : object[key]; + }; + } + + /** + * The base implementation of `_.propertyOf` without support for deep paths. + * + * @private + * @param {Object} object The object to query. + * @returns {Function} Returns the new accessor function. + */ + function basePropertyOf(object) { + return function(key) { + return object == null ? undefined : object[key]; + }; + } + + /** + * The base implementation of `_.reduce` and `_.reduceRight`, without support + * for iteratee shorthands, which iterates over `collection` using `eachFunc`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} accumulator The initial value. + * @param {boolean} initAccum Specify using the first or last element of + * `collection` as the initial value. + * @param {Function} eachFunc The function to iterate over `collection`. + * @returns {*} Returns the accumulated value. + */ + function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { + eachFunc(collection, function(value, index, collection) { + accumulator = initAccum + ? (initAccum = false, value) + : iteratee(accumulator, value, index, collection); + }); + return accumulator; + } + + /** + * The base implementation of `_.values` and `_.valuesIn` which creates an + * array of `object` property values corresponding to the property names + * of `props`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} props The property names to get values for. + * @returns {Object} Returns the array of property values. + */ + function baseValues(object, props) { + return baseMap(props, function(key) { + return object[key]; + }); + } + + /** + * Used by `_.escape` to convert characters to HTML entities. + * + * @private + * @param {string} chr The matched character to escape. + * @returns {string} Returns the escaped character. + */ + var escapeHtmlChar = basePropertyOf(htmlEscapes); + + /** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ + function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; + } + + /*--------------------------------------------------------------------------*/ + + /** Used for built-in method references. */ + var arrayProto = Array.prototype, + objectProto = Object.prototype; + + /** Used to check objects for own properties. */ + var hasOwnProperty = objectProto.hasOwnProperty; + + /** Used to generate unique IDs. */ + var idCounter = 0; + + /** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + var nativeObjectToString = objectProto.toString; + + /** Used to restore the original `_` reference in `_.noConflict`. */ + var oldDash = root._; + + /** Built-in value references. */ + var objectCreate = Object.create, + propertyIsEnumerable = objectProto.propertyIsEnumerable; + + /* Built-in method references for those with the same name as other `lodash` methods. */ + var nativeIsFinite = root.isFinite, + nativeKeys = overArg(Object.keys, Object), + nativeMax = Math.max; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a `lodash` object which wraps `value` to enable implicit method + * chain sequences. Methods that operate on and return arrays, collections, + * and functions can be chained together. Methods that retrieve a single value + * or may return a primitive value will automatically end the chain sequence + * and return the unwrapped value. Otherwise, the value must be unwrapped + * with `_#value`. + * + * Explicit chain sequences, which must be unwrapped with `_#value`, may be + * enabled using `_.chain`. + * + * The execution of chained methods is lazy, that is, it's deferred until + * `_#value` is implicitly or explicitly called. + * + * Lazy evaluation allows several methods to support shortcut fusion. + * Shortcut fusion is an optimization to merge iteratee calls; this avoids + * the creation of intermediate arrays and can greatly reduce the number of + * iteratee executions. Sections of a chain sequence qualify for shortcut + * fusion if the section is applied to an array and iteratees accept only + * one argument. The heuristic for whether a section qualifies for shortcut + * fusion is subject to change. + * + * Chaining is supported in custom builds as long as the `_#value` method is + * directly or indirectly included in the build. + * + * In addition to lodash methods, wrappers have `Array` and `String` methods. + * + * The wrapper `Array` methods are: + * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift` + * + * The wrapper `String` methods are: + * `replace` and `split` + * + * The wrapper methods that support shortcut fusion are: + * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`, + * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`, + * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray` + * + * The chainable wrapper methods are: + * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`, + * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`, + * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`, + * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`, + * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`, + * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`, + * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`, + * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`, + * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`, + * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`, + * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`, + * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`, + * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`, + * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`, + * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`, + * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`, + * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`, + * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`, + * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`, + * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`, + * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`, + * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`, + * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`, + * `zipObject`, `zipObjectDeep`, and `zipWith` + * + * The wrapper methods that are **not** chainable by default are: + * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`, + * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`, + * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`, + * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`, + * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`, + * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`, + * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`, + * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`, + * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`, + * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`, + * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`, + * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`, + * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`, + * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`, + * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`, + * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`, + * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`, + * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`, + * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`, + * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`, + * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`, + * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`, + * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`, + * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`, + * `upperFirst`, `value`, and `words` + * + * @name _ + * @constructor + * @category Seq + * @param {*} value The value to wrap in a `lodash` instance. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * function square(n) { + * return n * n; + * } + * + * var wrapped = _([1, 2, 3]); + * + * // Returns an unwrapped value. + * wrapped.reduce(_.add); + * // => 6 + * + * // Returns a wrapped value. + * var squares = wrapped.map(square); + * + * _.isArray(squares); + * // => false + * + * _.isArray(squares.value()); + * // => true + */ + function lodash(value) { + return value instanceof LodashWrapper + ? value + : new LodashWrapper(value); + } + + /** + * The base implementation of `_.create` without support for assigning + * properties to the created object. + * + * @private + * @param {Object} proto The object to inherit from. + * @returns {Object} Returns the new object. + */ + var baseCreate = (function() { + function object() {} + return function(proto) { + if (!isObject(proto)) { + return {}; + } + if (objectCreate) { + return objectCreate(proto); + } + object.prototype = proto; + var result = new object; + object.prototype = undefined; + return result; + }; + }()); + + /** + * The base constructor for creating `lodash` wrapper objects. + * + * @private + * @param {*} value The value to wrap. + * @param {boolean} [chainAll] Enable explicit method chain sequences. + */ + function LodashWrapper(value, chainAll) { + this.__wrapped__ = value; + this.__actions__ = []; + this.__chain__ = !!chainAll; + } + + LodashWrapper.prototype = baseCreate(lodash.prototype); + LodashWrapper.prototype.constructor = LodashWrapper; + + /*------------------------------------------------------------------------*/ + + /** + * Assigns `value` to `key` of `object` if the existing value is not equivalent + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + function assignValue(object, key, value) { + var objValue = object[key]; + if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } + } + + /** + * The base implementation of `assignValue` and `assignMergeValue` without + * value checks. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + function baseAssignValue(object, key, value) { + object[key] = value; + } + + /** + * The base implementation of `_.delay` and `_.defer` which accepts `args` + * to provide to `func`. + * + * @private + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @param {Array} args The arguments to provide to `func`. + * @returns {number|Object} Returns the timer id or timeout object. + */ + function baseDelay(func, wait, args) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return setTimeout(function() { func.apply(undefined, args); }, wait); + } + + /** + * The base implementation of `_.forEach` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ + var baseEach = createBaseEach(baseForOwn); + + /** + * The base implementation of `_.every` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false` + */ + function baseEvery(collection, predicate) { + var result = true; + baseEach(collection, function(value, index, collection) { + result = !!predicate(value, index, collection); + return result; + }); + return result; + } + + /** + * The base implementation of methods like `_.max` and `_.min` which accepts a + * `comparator` to determine the extremum value. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The iteratee invoked per iteration. + * @param {Function} comparator The comparator used to compare values. + * @returns {*} Returns the extremum value. + */ + function baseExtremum(array, iteratee, comparator) { + var index = -1, + length = array.length; + + while (++index < length) { + var value = array[index], + current = iteratee(value); + + if (current != null && (computed === undefined + ? (current === current && !false) + : comparator(current, computed) + )) { + var computed = current, + result = value; + } + } + return result; + } + + /** + * The base implementation of `_.filter` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ + function baseFilter(collection, predicate) { + var result = []; + baseEach(collection, function(value, index, collection) { + if (predicate(value, index, collection)) { + result.push(value); + } + }); + return result; + } + + /** + * The base implementation of `_.flatten` with support for restricting flattening. + * + * @private + * @param {Array} array The array to flatten. + * @param {number} depth The maximum recursion depth. + * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. + * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. + * @param {Array} [result=[]] The initial result value. + * @returns {Array} Returns the new flattened array. + */ + function baseFlatten(array, depth, predicate, isStrict, result) { + var index = -1, + length = array.length; + + predicate || (predicate = isFlattenable); + result || (result = []); + + while (++index < length) { + var value = array[index]; + if (depth > 0 && predicate(value)) { + if (depth > 1) { + // Recursively flatten arrays (susceptible to call stack limits). + baseFlatten(value, depth - 1, predicate, isStrict, result); + } else { + arrayPush(result, value); + } + } else if (!isStrict) { + result[result.length] = value; + } + } + return result; + } + + /** + * The base implementation of `baseForOwn` which iterates over `object` + * properties returned by `keysFunc` and invokes `iteratee` for each property. + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ + var baseFor = createBaseFor(); + + /** + * The base implementation of `_.forOwn` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ + function baseForOwn(object, iteratee) { + return object && baseFor(object, iteratee, keys); + } + + /** + * The base implementation of `_.functions` which creates an array of + * `object` function property names filtered from `props`. + * + * @private + * @param {Object} object The object to inspect. + * @param {Array} props The property names to filter. + * @returns {Array} Returns the function names. + */ + function baseFunctions(object, props) { + return baseFilter(props, function(key) { + return isFunction(object[key]); + }); + } + + /** + * The base implementation of `getTag` without fallbacks for buggy environments. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ + function baseGetTag(value) { + return objectToString(value); + } + + /** + * The base implementation of `_.gt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than `other`, + * else `false`. + */ + function baseGt(value, other) { + return value > other; + } + + /** + * The base implementation of `_.isArguments`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + */ + var baseIsArguments = noop; + + /** + * The base implementation of `_.isDate` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a date object, else `false`. + */ + function baseIsDate(value) { + return isObjectLike(value) && baseGetTag(value) == dateTag; + } + + /** + * The base implementation of `_.isEqual` which supports partial comparisons + * and tracks traversed objects. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {boolean} bitmask The bitmask flags. + * 1 - Unordered comparison + * 2 - Partial comparison + * @param {Function} [customizer] The function to customize comparisons. + * @param {Object} [stack] Tracks traversed `value` and `other` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ + function baseIsEqual(value, other, bitmask, customizer, stack) { + if (value === other) { + return true; + } + if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { + return value !== value && other !== other; + } + return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); + } + + /** + * A specialized version of `baseIsEqual` for arrays and objects which performs + * deep comparisons and tracks traversed objects enabling objects with circular + * references to be compared. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} [stack] Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { + var objIsArr = isArray(object), + othIsArr = isArray(other), + objTag = objIsArr ? arrayTag : baseGetTag(object), + othTag = othIsArr ? arrayTag : baseGetTag(other); + + objTag = objTag == argsTag ? objectTag : objTag; + othTag = othTag == argsTag ? objectTag : othTag; + + var objIsObj = objTag == objectTag, + othIsObj = othTag == objectTag, + isSameTag = objTag == othTag; + + stack || (stack = []); + var objStack = find(stack, function(entry) { + return entry[0] == object; + }); + var othStack = find(stack, function(entry) { + return entry[0] == other; + }); + if (objStack && othStack) { + return objStack[1] == other; + } + stack.push([object, other]); + stack.push([other, object]); + if (isSameTag && !objIsObj) { + var result = (objIsArr) + ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) + : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); + stack.pop(); + return result; + } + if (!(bitmask & COMPARE_PARTIAL_FLAG)) { + var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), + othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); + + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, + othUnwrapped = othIsWrapped ? other.value() : other; + + var result = equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); + stack.pop(); + return result; + } + } + if (!isSameTag) { + return false; + } + var result = equalObjects(object, other, bitmask, customizer, equalFunc, stack); + stack.pop(); + return result; + } + + /** + * The base implementation of `_.isRegExp` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. + */ + function baseIsRegExp(value) { + return isObjectLike(value) && baseGetTag(value) == regexpTag; + } + + /** + * The base implementation of `_.iteratee`. + * + * @private + * @param {*} [value=_.identity] The value to convert to an iteratee. + * @returns {Function} Returns the iteratee. + */ + function baseIteratee(func) { + if (typeof func == 'function') { + return func; + } + if (func == null) { + return identity; + } + return (typeof func == 'object' ? baseMatches : baseProperty)(func); + } + + /** + * The base implementation of `_.lt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than `other`, + * else `false`. + */ + function baseLt(value, other) { + return value < other; + } + + /** + * The base implementation of `_.map` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ + function baseMap(collection, iteratee) { + var index = -1, + result = isArrayLike(collection) ? Array(collection.length) : []; + + baseEach(collection, function(value, key, collection) { + result[++index] = iteratee(value, key, collection); + }); + return result; + } + + /** + * The base implementation of `_.matches` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + */ + function baseMatches(source) { + var props = nativeKeys(source); + return function(object) { + var length = props.length; + if (object == null) { + return !length; + } + object = Object(object); + while (length--) { + var key = props[length]; + if (!(key in object && + baseIsEqual(source[key], object[key], COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG) + )) { + return false; + } + } + return true; + }; + } + + /** + * The base implementation of `_.pick` without support for individual + * property identifiers. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @returns {Object} Returns the new object. + */ + function basePick(object, props) { + object = Object(object); + return reduce(props, function(result, key) { + if (key in object) { + result[key] = object[key]; + } + return result; + }, {}); + } + + /** + * The base implementation of `_.rest` which doesn't validate or coerce arguments. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. + */ + function baseRest(func, start) { + return setToString(overRest(func, start, identity), func + ''); + } + + /** + * The base implementation of `_.slice` without an iteratee call guard. + * + * @private + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ + function baseSlice(array, start, end) { + var index = -1, + length = array.length; + + if (start < 0) { + start = -start > length ? 0 : (length + start); + } + end = end > length ? length : end; + if (end < 0) { + end += length; + } + length = start > end ? 0 : ((end - start) >>> 0); + start >>>= 0; + + var result = Array(length); + while (++index < length) { + result[index] = array[index + start]; + } + return result; + } + + /** + * Copies the values of `source` to `array`. + * + * @private + * @param {Array} source The array to copy values from. + * @param {Array} [array=[]] The array to copy values to. + * @returns {Array} Returns `array`. + */ + function copyArray(source) { + return baseSlice(source, 0, source.length); + } + + /** + * The base implementation of `_.some` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ + function baseSome(collection, predicate) { + var result; + + baseEach(collection, function(value, index, collection) { + result = predicate(value, index, collection); + return !result; + }); + return !!result; + } + + /** + * The base implementation of `wrapperValue` which returns the result of + * performing a sequence of actions on the unwrapped `value`, where each + * successive action is supplied the return value of the previous. + * + * @private + * @param {*} value The unwrapped value. + * @param {Array} actions Actions to perform to resolve the unwrapped value. + * @returns {*} Returns the resolved value. + */ + function baseWrapperValue(value, actions) { + var result = value; + return reduce(actions, function(result, action) { + return action.func.apply(action.thisArg, arrayPush([result], action.args)); + }, result); + } + + /** + * Compares values to sort them in ascending order. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {number} Returns the sort order indicator for `value`. + */ + function compareAscending(value, other) { + if (value !== other) { + var valIsDefined = value !== undefined, + valIsNull = value === null, + valIsReflexive = value === value, + valIsSymbol = false; + + var othIsDefined = other !== undefined, + othIsNull = other === null, + othIsReflexive = other === other, + othIsSymbol = false; + + if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) || + (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) || + (valIsNull && othIsDefined && othIsReflexive) || + (!valIsDefined && othIsReflexive) || + !valIsReflexive) { + return 1; + } + if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) || + (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) || + (othIsNull && valIsDefined && valIsReflexive) || + (!othIsDefined && valIsReflexive) || + !othIsReflexive) { + return -1; + } + } + return 0; + } + + /** + * Copies properties of `source` to `object`. + * + * @private + * @param {Object} source The object to copy properties from. + * @param {Array} props The property identifiers to copy. + * @param {Object} [object={}] The object to copy properties to. + * @param {Function} [customizer] The function to customize copied values. + * @returns {Object} Returns `object`. + */ + function copyObject(source, props, object, customizer) { + var isNew = !object; + object || (object = {}); + + var index = -1, + length = props.length; + + while (++index < length) { + var key = props[index]; + + var newValue = customizer + ? customizer(object[key], source[key], key, object, source) + : undefined; + + if (newValue === undefined) { + newValue = source[key]; + } + if (isNew) { + baseAssignValue(object, key, newValue); + } else { + assignValue(object, key, newValue); + } + } + return object; + } + + /** + * Creates a function like `_.assign`. + * + * @private + * @param {Function} assigner The function to assign values. + * @returns {Function} Returns the new assigner function. + */ + function createAssigner(assigner) { + return baseRest(function(object, sources) { + var index = -1, + length = sources.length, + customizer = length > 1 ? sources[length - 1] : undefined; + + customizer = (assigner.length > 3 && typeof customizer == 'function') + ? (length--, customizer) + : undefined; + + object = Object(object); + while (++index < length) { + var source = sources[index]; + if (source) { + assigner(object, source, index, customizer); + } + } + return object; + }); + } + + /** + * Creates a `baseEach` or `baseEachRight` function. + * + * @private + * @param {Function} eachFunc The function to iterate over a collection. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ + function createBaseEach(eachFunc, fromRight) { + return function(collection, iteratee) { + if (collection == null) { + return collection; + } + if (!isArrayLike(collection)) { + return eachFunc(collection, iteratee); + } + var length = collection.length, + index = fromRight ? length : -1, + iterable = Object(collection); + + while ((fromRight ? index-- : ++index < length)) { + if (iteratee(iterable[index], index, iterable) === false) { + break; + } + } + return collection; + }; + } + + /** + * Creates a base function for methods like `_.forIn` and `_.forOwn`. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ + function createBaseFor(fromRight) { + return function(object, iteratee, keysFunc) { + var index = -1, + iterable = Object(object), + props = keysFunc(object), + length = props.length; + + while (length--) { + var key = props[fromRight ? length : ++index]; + if (iteratee(iterable[key], key, iterable) === false) { + break; + } + } + return object; + }; + } + + /** + * Creates a function that produces an instance of `Ctor` regardless of + * whether it was invoked as part of a `new` expression or by `call` or `apply`. + * + * @private + * @param {Function} Ctor The constructor to wrap. + * @returns {Function} Returns the new wrapped function. + */ + function createCtor(Ctor) { + return function() { + // Use a `switch` statement to work with class constructors. See + // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist + // for more details. + var args = arguments; + var thisBinding = baseCreate(Ctor.prototype), + result = Ctor.apply(thisBinding, args); + + // Mimic the constructor's `return` behavior. + // See https://es5.github.io/#x13.2.2 for more details. + return isObject(result) ? result : thisBinding; + }; + } + + /** + * Creates a `_.find` or `_.findLast` function. + * + * @private + * @param {Function} findIndexFunc The function to find the collection index. + * @returns {Function} Returns the new find function. + */ + function createFind(findIndexFunc) { + return function(collection, predicate, fromIndex) { + var iterable = Object(collection); + if (!isArrayLike(collection)) { + var iteratee = baseIteratee(predicate, 3); + collection = keys(collection); + predicate = function(key) { return iteratee(iterable[key], key, iterable); }; + } + var index = findIndexFunc(collection, predicate, fromIndex); + return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; + }; + } + + /** + * Creates a function that wraps `func` to invoke it with the `this` binding + * of `thisArg` and `partials` prepended to the arguments it receives. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} partials The arguments to prepend to those provided to + * the new function. + * @returns {Function} Returns the new wrapped function. + */ + function createPartial(func, bitmask, thisArg, partials) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + var isBind = bitmask & WRAP_BIND_FLAG, + Ctor = createCtor(func); + + function wrapper() { + var argsIndex = -1, + argsLength = arguments.length, + leftIndex = -1, + leftLength = partials.length, + args = Array(leftLength + argsLength), + fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + + while (++leftIndex < leftLength) { + args[leftIndex] = partials[leftIndex]; + } + while (argsLength--) { + args[leftIndex++] = arguments[++argsIndex]; + } + return fn.apply(isBind ? thisArg : this, args); + } + return wrapper; + } + + /** + * A specialized version of `baseIsEqualDeep` for arrays with support for + * partial deep comparisons. + * + * @private + * @param {Array} array The array to compare. + * @param {Array} other The other array to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `array` and `other` objects. + * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. + */ + function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + arrLength = array.length, + othLength = other.length; + + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } + // Check that cyclic values are equal. + var arrStacked = stack.get(array); + var othStacked = stack.get(other); + if (arrStacked && othStacked) { + return arrStacked == other && othStacked == array; + } + var index = -1, + result = true, + seen = (bitmask & COMPARE_UNORDERED_FLAG) ? [] : undefined; + + // Ignore non-index properties. + while (++index < arrLength) { + var arrValue = array[index], + othValue = other[index]; + + var compared; + if (compared !== undefined) { + if (compared) { + continue; + } + result = false; + break; + } + // Recursively compare arrays (susceptible to call stack limits). + if (seen) { + if (!baseSome(other, function(othValue, othIndex) { + if (!indexOf(seen, othIndex) && + (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + return seen.push(othIndex); + } + })) { + result = false; + break; + } + } else if (!( + arrValue === othValue || + equalFunc(arrValue, othValue, bitmask, customizer, stack) + )) { + result = false; + break; + } + } + return result; + } + + /** + * A specialized version of `baseIsEqualDeep` for comparing objects of + * the same `toStringTag`. + * + * **Note:** This function only supports comparing values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {string} tag The `toStringTag` of the objects to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { + switch (tag) { + + case boolTag: + case dateTag: + case numberTag: + // Coerce booleans to `1` or `0` and dates to milliseconds. + // Invalid dates are coerced to `NaN`. + return eq(+object, +other); + + case errorTag: + return object.name == other.name && object.message == other.message; + + case regexpTag: + case stringTag: + // Coerce regexes to strings and treat strings, primitives and objects, + // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring + // for more details. + return object == (other + ''); + + } + return false; + } + + /** + * A specialized version of `baseIsEqualDeep` for objects with support for + * partial deep comparisons. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + objProps = keys(object), + objLength = objProps.length, + othProps = keys(other), + othLength = othProps.length; + + if (objLength != othLength && !isPartial) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { + return false; + } + } + // Check that cyclic values are equal. + var objStacked = stack.get(object); + var othStacked = stack.get(other); + if (objStacked && othStacked) { + return objStacked == other && othStacked == object; + } + var result = true; + + var skipCtor = isPartial; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], + othValue = other[key]; + + var compared; + // Recursively compare objects (susceptible to call stack limits). + if (!(compared === undefined + ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) + : compared + )) { + result = false; + break; + } + skipCtor || (skipCtor = key == 'constructor'); + } + if (result && !skipCtor) { + var objCtor = object.constructor, + othCtor = other.constructor; + + // Non `Object` object instances with different constructors are not equal. + if (objCtor != othCtor && + ('constructor' in object && 'constructor' in other) && + !(typeof objCtor == 'function' && objCtor instanceof objCtor && + typeof othCtor == 'function' && othCtor instanceof othCtor)) { + result = false; + } + } + return result; + } + + /** + * A specialized version of `baseRest` which flattens the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ + function flatRest(func) { + return setToString(overRest(func, undefined, flatten), func + ''); + } + + /** + * Checks if `value` is a flattenable `arguments` object or array. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. + */ + function isFlattenable(value) { + return isArray(value) || isArguments(value); + } + + /** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ + function isIndex(value, length) { + var type = typeof value; + length = length == null ? MAX_SAFE_INTEGER : length; + + return !!length && + (type == 'number' || + (type != 'symbol' && reIsUint.test(value))) && + (value > -1 && value % 1 == 0 && value < length); + } + + /** + * Checks if the given arguments are from an iteratee call. + * + * @private + * @param {*} value The potential iteratee value argument. + * @param {*} index The potential iteratee index or key argument. + * @param {*} object The potential iteratee object argument. + * @returns {boolean} Returns `true` if the arguments are from an iteratee call, + * else `false`. + */ + function isIterateeCall(value, index, object) { + if (!isObject(object)) { + return false; + } + var type = typeof index; + if (type == 'number' + ? (isArrayLike(object) && isIndex(index, object.length)) + : (type == 'string' && index in object) + ) { + return eq(object[index], value); + } + return false; + } + + /** + * This function is like + * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * except that it includes inherited enumerable properties. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ + function nativeKeysIn(object) { + var result = []; + if (object != null) { + for (var key in Object(object)) { + result.push(key); + } + } + return result; + } + + /** + * Converts `value` to a string using `Object.prototype.toString`. + * + * @private + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + */ + function objectToString(value) { + return nativeObjectToString.call(value); + } + + /** + * A specialized version of `baseRest` which transforms the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @param {Function} transform The rest array transform. + * @returns {Function} Returns the new function. + */ + function overRest(func, start, transform) { + start = nativeMax(start === undefined ? (func.length - 1) : start, 0); + return function() { + var args = arguments, + index = -1, + length = nativeMax(args.length - start, 0), + array = Array(length); + + while (++index < length) { + array[index] = args[start + index]; + } + index = -1; + var otherArgs = Array(start + 1); + while (++index < start) { + otherArgs[index] = args[index]; + } + otherArgs[start] = transform(array); + return func.apply(this, otherArgs); + }; + } + + /** + * Sets the `toString` method of `func` to return `string`. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ + var setToString = identity; + + /*------------------------------------------------------------------------*/ + + /** + * Creates an array with all falsey values removed. The values `false`, `null`, + * `0`, `-0`, `0n`, `""`, `undefined`, and `NaN` are falsy. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to compact. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.compact([0, 1, false, 2, '', 3]); + * // => [1, 2, 3] + */ + function compact(array) { + return baseFilter(array, Boolean); + } + + /** + * Creates a new array concatenating `array` with any additional arrays + * and/or values. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to concatenate. + * @param {...*} [values] The values to concatenate. + * @returns {Array} Returns the new concatenated array. + * @example + * + * var array = [1]; + * var other = _.concat(array, 2, [3], [[4]]); + * + * console.log(other); + * // => [1, 2, 3, [4]] + * + * console.log(array); + * // => [1] + */ + function concat() { + var length = arguments.length; + if (!length) { + return []; + } + var args = Array(length - 1), + array = arguments[0], + index = length; + + while (index--) { + args[index - 1] = arguments[index]; + } + return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1)); + } + + /** + * This method is like `_.find` except that it returns the index of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.findIndex(users, function(o) { return o.user == 'barney'; }); + * // => 0 + * + * // The `_.matches` iteratee shorthand. + * _.findIndex(users, { 'user': 'fred', 'active': false }); + * // => 1 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findIndex(users, ['active', false]); + * // => 0 + * + * // The `_.property` iteratee shorthand. + * _.findIndex(users, 'active'); + * // => 2 + */ + function findIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseFindIndex(array, baseIteratee(predicate, 3), index); + } + + /** + * Flattens `array` a single level deep. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flatten([1, [2, [3, [4]], 5]]); + * // => [1, 2, [3, [4]], 5] + */ + function flatten(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, 1) : []; + } + + /** + * Recursively flattens `array`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flattenDeep([1, [2, [3, [4]], 5]]); + * // => [1, 2, 3, 4, 5] + */ + function flattenDeep(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, INFINITY) : []; + } + + /** + * Gets the first element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @alias first + * @category Array + * @param {Array} array The array to query. + * @returns {*} Returns the first element of `array`. + * @example + * + * _.head([1, 2, 3]); + * // => 1 + * + * _.head([]); + * // => undefined + */ + function head(array) { + return (array && array.length) ? array[0] : undefined; + } + + /** + * Gets the index at which the first occurrence of `value` is found in `array` + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. If `fromIndex` is negative, it's used as the + * offset from the end of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.indexOf([1, 2, 1, 2], 2); + * // => 1 + * + * // Search from the `fromIndex`. + * _.indexOf([1, 2, 1, 2], 2, 2); + * // => 3 + */ + function indexOf(array, value, fromIndex) { + var length = array == null ? 0 : array.length; + if (typeof fromIndex == 'number') { + fromIndex = fromIndex < 0 ? nativeMax(length + fromIndex, 0) : fromIndex; + } else { + fromIndex = 0; + } + var index = (fromIndex || 0) - 1, + isReflexive = value === value; + + while (++index < length) { + var other = array[index]; + if ((isReflexive ? other === value : other !== other)) { + return index; + } + } + return -1; + } + + /** + * Gets the last element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @returns {*} Returns the last element of `array`. + * @example + * + * _.last([1, 2, 3]); + * // => 3 + */ + function last(array) { + var length = array == null ? 0 : array.length; + return length ? array[length - 1] : undefined; + } + + /** + * Creates a slice of `array` from `start` up to, but not including, `end`. + * + * **Note:** This method is used instead of + * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are + * returned. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ + function slice(array, start, end) { + var length = array == null ? 0 : array.length; + start = start == null ? 0 : +start; + end = end === undefined ? length : +end; + return length ? baseSlice(array, start, end) : []; + } + + /*------------------------------------------------------------------------*/ + + /** + * Creates a `lodash` wrapper instance that wraps `value` with explicit method + * chain sequences enabled. The result of such sequences must be unwrapped + * with `_#value`. + * + * @static + * @memberOf _ + * @since 1.3.0 + * @category Seq + * @param {*} value The value to wrap. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 40 }, + * { 'user': 'pebbles', 'age': 1 } + * ]; + * + * var youngest = _ + * .chain(users) + * .sortBy('age') + * .map(function(o) { + * return o.user + ' is ' + o.age; + * }) + * .head() + * .value(); + * // => 'pebbles is 1' + */ + function chain(value) { + var result = lodash(value); + result.__chain__ = true; + return result; + } + + /** + * This method invokes `interceptor` and returns `value`. The interceptor + * is invoked with one argument; (value). The purpose of this method is to + * "tap into" a method chain sequence in order to modify intermediate results. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @param {*} value The value to provide to `interceptor`. + * @param {Function} interceptor The function to invoke. + * @returns {*} Returns `value`. + * @example + * + * _([1, 2, 3]) + * .tap(function(array) { + * // Mutate input array. + * array.pop(); + * }) + * .reverse() + * .value(); + * // => [2, 1] + */ + function tap(value, interceptor) { + interceptor(value); + return value; + } + + /** + * This method is like `_.tap` except that it returns the result of `interceptor`. + * The purpose of this method is to "pass thru" values replacing intermediate + * results in a method chain sequence. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Seq + * @param {*} value The value to provide to `interceptor`. + * @param {Function} interceptor The function to invoke. + * @returns {*} Returns the result of `interceptor`. + * @example + * + * _(' abc ') + * .chain() + * .trim() + * .thru(function(value) { + * return [value]; + * }) + * .value(); + * // => ['abc'] + */ + function thru(value, interceptor) { + return interceptor(value); + } + + /** + * Creates a `lodash` wrapper instance with explicit method chain sequences enabled. + * + * @name chain + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 40 } + * ]; + * + * // A sequence without explicit chaining. + * _(users).head(); + * // => { 'user': 'barney', 'age': 36 } + * + * // A sequence with explicit chaining. + * _(users) + * .chain() + * .head() + * .pick('user') + * .value(); + * // => { 'user': 'barney' } + */ + function wrapperChain() { + return chain(this); + } + + /** + * Executes the chain sequence to resolve the unwrapped value. + * + * @name value + * @memberOf _ + * @since 0.1.0 + * @alias toJSON, valueOf + * @category Seq + * @returns {*} Returns the resolved unwrapped value. + * @example + * + * _([1, 2, 3]).value(); + * // => [1, 2, 3] + */ + function wrapperValue() { + return baseWrapperValue(this.__wrapped__, this.__actions__); + } + + /*------------------------------------------------------------------------*/ + + /** + * Checks if `predicate` returns truthy for **all** elements of `collection`. + * Iteration is stopped once `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index|key, collection). + * + * **Note:** This method returns `true` for + * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because + * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of + * elements of empty collections. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false`. + * @example + * + * _.every([true, 1, null, 'yes'], Boolean); + * // => false + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.every(users, { 'user': 'barney', 'active': false }); + * // => false + * + * // The `_.matchesProperty` iteratee shorthand. + * _.every(users, ['active', false]); + * // => true + * + * // The `_.property` iteratee shorthand. + * _.every(users, 'active'); + * // => false + */ + function every(collection, predicate, guard) { + predicate = guard ? undefined : predicate; + return baseEvery(collection, baseIteratee(predicate)); + } + + /** + * Iterates over elements of `collection`, returning an array of all elements + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * **Note:** Unlike `_.remove`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + * @see _.reject + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * _.filter(users, function(o) { return !o.active; }); + * // => objects for ['fred'] + * + * // The `_.matches` iteratee shorthand. + * _.filter(users, { 'age': 36, 'active': true }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.filter(users, ['active', false]); + * // => objects for ['fred'] + * + * // The `_.property` iteratee shorthand. + * _.filter(users, 'active'); + * // => objects for ['barney'] + * + * // Combining several predicates using `_.overEvery` or `_.overSome`. + * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]])); + * // => objects for ['fred', 'barney'] + */ + function filter(collection, predicate) { + return baseFilter(collection, baseIteratee(predicate)); + } + + /** + * Iterates over elements of `collection`, returning the first element + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {*} Returns the matched element, else `undefined`. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false }, + * { 'user': 'pebbles', 'age': 1, 'active': true } + * ]; + * + * _.find(users, function(o) { return o.age < 40; }); + * // => object for 'barney' + * + * // The `_.matches` iteratee shorthand. + * _.find(users, { 'age': 1, 'active': true }); + * // => object for 'pebbles' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.find(users, ['active', false]); + * // => object for 'fred' + * + * // The `_.property` iteratee shorthand. + * _.find(users, 'active'); + * // => object for 'barney' + */ + var find = createFind(findIndex); + + /** + * Iterates over elements of `collection` and invokes `iteratee` for each element. + * The iteratee is invoked with three arguments: (value, index|key, collection). + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * **Note:** As with other "Collections" methods, objects with a "length" + * property are iterated like arrays. To avoid this behavior use `_.forIn` + * or `_.forOwn` for object iteration. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @alias each + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + * @see _.forEachRight + * @example + * + * _.forEach([1, 2], function(value) { + * console.log(value); + * }); + * // => Logs `1` then `2`. + * + * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ + function forEach(collection, iteratee) { + return baseEach(collection, baseIteratee(iteratee)); + } + + /** + * Creates an array of values by running each element in `collection` thru + * `iteratee`. The iteratee is invoked with three arguments: + * (value, index|key, collection). + * + * Many lodash methods are guarded to work as iteratees for methods like + * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`. + * + * The guarded methods are: + * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`, + * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`, + * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`, + * `template`, `trim`, `trimEnd`, `trimStart`, and `words` + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + * @example + * + * function square(n) { + * return n * n; + * } + * + * _.map([4, 8], square); + * // => [16, 64] + * + * _.map({ 'a': 4, 'b': 8 }, square); + * // => [16, 64] (iteration order is not guaranteed) + * + * var users = [ + * { 'user': 'barney' }, + * { 'user': 'fred' } + * ]; + * + * // The `_.property` iteratee shorthand. + * _.map(users, 'user'); + * // => ['barney', 'fred'] + */ + function map(collection, iteratee) { + return baseMap(collection, baseIteratee(iteratee)); + } + + /** + * Reduces `collection` to a value which is the accumulated result of running + * each element in `collection` thru `iteratee`, where each successive + * invocation is supplied the return value of the previous. If `accumulator` + * is not given, the first element of `collection` is used as the initial + * value. The iteratee is invoked with four arguments: + * (accumulator, value, index|key, collection). + * + * Many lodash methods are guarded to work as iteratees for methods like + * `_.reduce`, `_.reduceRight`, and `_.transform`. + * + * The guarded methods are: + * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`, + * and `sortBy` + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @returns {*} Returns the accumulated value. + * @see _.reduceRight + * @example + * + * _.reduce([1, 2], function(sum, n) { + * return sum + n; + * }, 0); + * // => 3 + * + * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { + * (result[value] || (result[value] = [])).push(key); + * return result; + * }, {}); + * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed) + */ + function reduce(collection, iteratee, accumulator) { + return baseReduce(collection, baseIteratee(iteratee), accumulator, arguments.length < 3, baseEach); + } + + /** + * Gets the size of `collection` by returning its length for array-like + * values or the number of own enumerable string keyed properties for objects. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object|string} collection The collection to inspect. + * @returns {number} Returns the collection size. + * @example + * + * _.size([1, 2, 3]); + * // => 3 + * + * _.size({ 'a': 1, 'b': 2 }); + * // => 2 + * + * _.size('pebbles'); + * // => 7 + */ + function size(collection) { + if (collection == null) { + return 0; + } + collection = isArrayLike(collection) ? collection : nativeKeys(collection); + return collection.length; + } + + /** + * Checks if `predicate` returns truthy for **any** element of `collection`. + * Iteration is stopped once `predicate` returns truthy. The predicate is + * invoked with three arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + * @example + * + * _.some([null, 0, 'yes', false], Boolean); + * // => true + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.some(users, { 'user': 'barney', 'active': false }); + * // => false + * + * // The `_.matchesProperty` iteratee shorthand. + * _.some(users, ['active', false]); + * // => true + * + * // The `_.property` iteratee shorthand. + * _.some(users, 'active'); + * // => true + */ + function some(collection, predicate, guard) { + predicate = guard ? undefined : predicate; + return baseSome(collection, baseIteratee(predicate)); + } + + /** + * Creates an array of elements, sorted in ascending order by the results of + * running each element in a collection thru each iteratee. This method + * performs a stable sort, that is, it preserves the original sort order of + * equal elements. The iteratees are invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {...(Function|Function[])} [iteratees=[_.identity]] + * The iteratees to sort by. + * @returns {Array} Returns the new sorted array. + * @example + * + * var users = [ + * { 'user': 'fred', 'age': 48 }, + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 30 }, + * { 'user': 'barney', 'age': 34 } + * ]; + * + * _.sortBy(users, [function(o) { return o.user; }]); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]] + * + * _.sortBy(users, ['user', 'age']); + * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]] + */ + function sortBy(collection, iteratee) { + var index = 0; + iteratee = baseIteratee(iteratee); + + return baseMap(baseMap(collection, function(value, key, collection) { + return { 'value': value, 'index': index++, 'criteria': iteratee(value, key, collection) }; + }).sort(function(object, other) { + return compareAscending(object.criteria, other.criteria) || (object.index - other.index); + }), baseProperty('value')); + } + + /*------------------------------------------------------------------------*/ + + /** + * Creates a function that invokes `func`, with the `this` binding and arguments + * of the created function, while it's called less than `n` times. Subsequent + * calls to the created function return the result of the last `func` invocation. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {number} n The number of calls at which `func` is no longer invoked. + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * jQuery(element).on('click', _.before(5, addContactToList)); + * // => Allows adding up to 4 contacts to the list. + */ + function before(n, func) { + var result; + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + n = toInteger(n); + return function() { + if (--n > 0) { + result = func.apply(this, arguments); + } + if (n <= 1) { + func = undefined; + } + return result; + }; + } + + /** + * Creates a function that invokes `func` with the `this` binding of `thisArg` + * and `partials` prepended to the arguments it receives. + * + * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds, + * may be used as a placeholder for partially applied arguments. + * + * **Note:** Unlike native `Function#bind`, this method doesn't set the "length" + * property of bound functions. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to bind. + * @param {*} thisArg The `this` binding of `func`. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * function greet(greeting, punctuation) { + * return greeting + ' ' + this.user + punctuation; + * } + * + * var object = { 'user': 'fred' }; + * + * var bound = _.bind(greet, object, 'hi'); + * bound('!'); + * // => 'hi fred!' + * + * // Bound with placeholders. + * var bound = _.bind(greet, object, _, '!'); + * bound('hi'); + * // => 'hi fred!' + */ + var bind = baseRest(function(func, thisArg, partials) { + return createPartial(func, WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG, thisArg, partials); + }); + + /** + * Defers invoking the `func` until the current call stack has cleared. Any + * additional arguments are provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to defer. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {number} Returns the timer id. + * @example + * + * _.defer(function(text) { + * console.log(text); + * }, 'deferred'); + * // => Logs 'deferred' after one millisecond. + */ + var defer = baseRest(function(func, args) { + return baseDelay(func, 1, args); + }); + + /** + * Invokes `func` after `wait` milliseconds. Any additional arguments are + * provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {number} Returns the timer id. + * @example + * + * _.delay(function(text) { + * console.log(text); + * }, 1000, 'later'); + * // => Logs 'later' after one second. + */ + var delay = baseRest(function(func, wait, args) { + return baseDelay(func, toNumber(wait) || 0, args); + }); + + /** + * Creates a function that negates the result of the predicate `func`. The + * `func` predicate is invoked with the `this` binding and arguments of the + * created function. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} predicate The predicate to negate. + * @returns {Function} Returns the new negated function. + * @example + * + * function isEven(n) { + * return n % 2 == 0; + * } + * + * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven)); + * // => [1, 3, 5] + */ + function negate(predicate) { + if (typeof predicate != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return function() { + var args = arguments; + return !predicate.apply(this, args); + }; + } + + /** + * Creates a function that is restricted to invoking `func` once. Repeat calls + * to the function return the value of the first invocation. The `func` is + * invoked with the `this` binding and arguments of the created function. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var initialize = _.once(createApplication); + * initialize(); + * initialize(); + * // => `createApplication` is invoked once + */ + function once(func) { + return before(2, func); + } + + /*------------------------------------------------------------------------*/ + + /** + * Creates a shallow clone of `value`. + * + * **Note:** This method is loosely based on the + * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm) + * and supports cloning arrays, array buffers, booleans, date objects, maps, + * numbers, `Object` objects, regexes, sets, strings, symbols, and typed + * arrays. The own enumerable properties of `arguments` objects are cloned + * as plain objects. An empty object is returned for uncloneable values such + * as error objects, functions, DOM nodes, and WeakMaps. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to clone. + * @returns {*} Returns the cloned value. + * @see _.cloneDeep + * @example + * + * var objects = [{ 'a': 1 }, { 'b': 2 }]; + * + * var shallow = _.clone(objects); + * console.log(shallow[0] === objects[0]); + * // => true + */ + function clone(value) { + if (!isObject(value)) { + return value; + } + return isArray(value) ? copyArray(value) : copyObject(value, nativeKeys(value)); + } + + /** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ + function eq(value, other) { + return value === other || (value !== value && other !== other); + } + + /** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ + var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { + return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && + !propertyIsEnumerable.call(value, 'callee'); + }; + + /** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ + var isArray = Array.isArray; + + /** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ + function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); + } + + /** + * Checks if `value` is classified as a boolean primitive or object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a boolean, else `false`. + * @example + * + * _.isBoolean(false); + * // => true + * + * _.isBoolean(null); + * // => false + */ + function isBoolean(value) { + return value === true || value === false || + (isObjectLike(value) && baseGetTag(value) == boolTag); + } + + /** + * Checks if `value` is classified as a `Date` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a date object, else `false`. + * @example + * + * _.isDate(new Date); + * // => true + * + * _.isDate('Mon April 23 2012'); + * // => false + */ + var isDate = baseIsDate; + + /** + * Checks if `value` is an empty object, collection, map, or set. + * + * Objects are considered empty if they have no own enumerable string keyed + * properties. + * + * Array-like values such as `arguments` objects, arrays, buffers, strings, or + * jQuery-like collections are considered empty if they have a `length` of `0`. + * Similarly, maps and sets are considered empty if they have a `size` of `0`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is empty, else `false`. + * @example + * + * _.isEmpty(null); + * // => true + * + * _.isEmpty(true); + * // => true + * + * _.isEmpty(1); + * // => true + * + * _.isEmpty([1, 2, 3]); + * // => false + * + * _.isEmpty({ 'a': 1 }); + * // => false + */ + function isEmpty(value) { + if (isArrayLike(value) && + (isArray(value) || isString(value) || + isFunction(value.splice) || isArguments(value))) { + return !value.length; + } + return !nativeKeys(value).length; + } + + /** + * Performs a deep comparison between two values to determine if they are + * equivalent. + * + * **Note:** This method supports comparing arrays, array buffers, booleans, + * date objects, error objects, maps, numbers, `Object` objects, regexes, + * sets, strings, symbols, and typed arrays. `Object` objects are compared + * by their own, not inherited, enumerable properties. Functions and DOM + * nodes are compared by strict equality, i.e. `===`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.isEqual(object, other); + * // => true + * + * object === other; + * // => false + */ + function isEqual(value, other) { + return baseIsEqual(value, other); + } + + /** + * Checks if `value` is a finite primitive number. + * + * **Note:** This method is based on + * [`Number.isFinite`](https://mdn.io/Number/isFinite). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a finite number, else `false`. + * @example + * + * _.isFinite(3); + * // => true + * + * _.isFinite(Number.MIN_VALUE); + * // => true + * + * _.isFinite(Infinity); + * // => false + * + * _.isFinite('3'); + * // => false + */ + function isFinite(value) { + return typeof value == 'number' && nativeIsFinite(value); + } + + /** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ + function isFunction(value) { + if (!isObject(value)) { + return false; + } + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 9 which returns 'object' for typed arrays and other constructors. + var tag = baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; + } + + /** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ + function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; + } + + /** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ + function isObject(value) { + var type = typeof value; + return value != null && (type == 'object' || type == 'function'); + } + + /** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ + function isObjectLike(value) { + return value != null && typeof value == 'object'; + } + + /** + * Checks if `value` is `NaN`. + * + * **Note:** This method is based on + * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as + * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for + * `undefined` and other non-number values. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + * @example + * + * _.isNaN(NaN); + * // => true + * + * _.isNaN(new Number(NaN)); + * // => true + * + * isNaN(undefined); + * // => true + * + * _.isNaN(undefined); + * // => false + */ + function isNaN(value) { + // An `NaN` primitive is the only value that is not equal to itself. + // Perform the `toStringTag` check first to avoid errors with some + // ActiveX objects in IE. + return isNumber(value) && value != +value; + } + + /** + * Checks if `value` is `null`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `null`, else `false`. + * @example + * + * _.isNull(null); + * // => true + * + * _.isNull(void 0); + * // => false + */ + function isNull(value) { + return value === null; + } + + /** + * Checks if `value` is classified as a `Number` primitive or object. + * + * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are + * classified as numbers, use the `_.isFinite` method. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a number, else `false`. + * @example + * + * _.isNumber(3); + * // => true + * + * _.isNumber(Number.MIN_VALUE); + * // => true + * + * _.isNumber(Infinity); + * // => true + * + * _.isNumber('3'); + * // => false + */ + function isNumber(value) { + return typeof value == 'number' || + (isObjectLike(value) && baseGetTag(value) == numberTag); + } + + /** + * Checks if `value` is classified as a `RegExp` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. + * @example + * + * _.isRegExp(/abc/); + * // => true + * + * _.isRegExp('/abc/'); + * // => false + */ + var isRegExp = baseIsRegExp; + + /** + * Checks if `value` is classified as a `String` primitive or object. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a string, else `false`. + * @example + * + * _.isString('abc'); + * // => true + * + * _.isString(1); + * // => false + */ + function isString(value) { + return typeof value == 'string' || + (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag); + } + + /** + * Checks if `value` is `undefined`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. + * @example + * + * _.isUndefined(void 0); + * // => true + * + * _.isUndefined(null); + * // => false + */ + function isUndefined(value) { + return value === undefined; + } + + /** + * Converts `value` to an array. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to convert. + * @returns {Array} Returns the converted array. + * @example + * + * _.toArray({ 'a': 1, 'b': 2 }); + * // => [1, 2] + * + * _.toArray('abc'); + * // => ['a', 'b', 'c'] + * + * _.toArray(1); + * // => [] + * + * _.toArray(null); + * // => [] + */ + function toArray(value) { + if (!isArrayLike(value)) { + return values(value); + } + return value.length ? copyArray(value) : []; + } + + /** + * Converts `value` to an integer. + * + * **Note:** This method is loosely based on + * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toInteger(3.2); + * // => 3 + * + * _.toInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toInteger(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toInteger('3.2'); + * // => 3 + */ + var toInteger = Number; + + /** + * Converts `value` to a number. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {number} Returns the number. + * @example + * + * _.toNumber(3.2); + * // => 3.2 + * + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3.2'); + * // => 3.2 + */ + var toNumber = Number; + + /** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ + function toString(value) { + if (typeof value == 'string') { + return value; + } + return value == null ? '' : (value + ''); + } + + /*------------------------------------------------------------------------*/ + + /** + * Assigns own enumerable string keyed properties of source objects to the + * destination object. Source objects are applied from left to right. + * Subsequent sources overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object` and is loosely based on + * [`Object.assign`](https://mdn.io/Object/assign). + * + * @static + * @memberOf _ + * @since 0.10.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.assignIn + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * function Bar() { + * this.c = 3; + * } + * + * Foo.prototype.b = 2; + * Bar.prototype.d = 4; + * + * _.assign({ 'a': 0 }, new Foo, new Bar); + * // => { 'a': 1, 'c': 3 } + */ + var assign = createAssigner(function(object, source) { + copyObject(source, nativeKeys(source), object); + }); + + /** + * This method is like `_.assign` except that it iterates over own and + * inherited source properties. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias extend + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.assign + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * function Bar() { + * this.c = 3; + * } + * + * Foo.prototype.b = 2; + * Bar.prototype.d = 4; + * + * _.assignIn({ 'a': 0 }, new Foo, new Bar); + * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 } + */ + var assignIn = createAssigner(function(object, source) { + copyObject(source, nativeKeysIn(source), object); + }); + + /** + * Creates an object that inherits from the `prototype` object. If a + * `properties` object is given, its own enumerable string keyed properties + * are assigned to the created object. + * + * @static + * @memberOf _ + * @since 2.3.0 + * @category Object + * @param {Object} prototype The object to inherit from. + * @param {Object} [properties] The properties to assign to the object. + * @returns {Object} Returns the new object. + * @example + * + * function Shape() { + * this.x = 0; + * this.y = 0; + * } + * + * function Circle() { + * Shape.call(this); + * } + * + * Circle.prototype = _.create(Shape.prototype, { + * 'constructor': Circle + * }); + * + * var circle = new Circle; + * circle instanceof Circle; + * // => true + * + * circle instanceof Shape; + * // => true + */ + function create(prototype, properties) { + var result = baseCreate(prototype); + return properties == null ? result : assign(result, properties); + } + + /** + * Assigns own and inherited enumerable string keyed properties of source + * objects to the destination object for all destination properties that + * resolve to `undefined`. Source objects are applied from left to right. + * Once a property is set, additional values of the same property are ignored. + * + * **Note:** This method mutates `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.defaultsDeep + * @example + * + * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ + var defaults = baseRest(function(object, sources) { + object = Object(object); + + var index = -1; + var length = sources.length; + var guard = length > 2 ? sources[2] : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + length = 1; + } + + while (++index < length) { + var source = sources[index]; + var props = keysIn(source); + var propsIndex = -1; + var propsLength = props.length; + + while (++propsIndex < propsLength) { + var key = props[propsIndex]; + var value = object[key]; + + if (value === undefined || + (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) { + object[key] = source[key]; + } + } + } + + return object; + }); + + /** + * Checks if `path` is a direct property of `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = { 'a': { 'b': 2 } }; + * var other = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.has(object, 'a'); + * // => true + * + * _.has(object, 'a.b'); + * // => true + * + * _.has(object, ['a', 'b']); + * // => true + * + * _.has(other, 'a'); + * // => false + */ + function has(object, path) { + return object != null && hasOwnProperty.call(object, path); + } + + /** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ + var keys = nativeKeys; + + /** + * Creates an array of the own and inherited enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keysIn(new Foo); + * // => ['a', 'b', 'c'] (iteration order is not guaranteed) + */ + var keysIn = nativeKeysIn; + + /** + * Creates an object composed of the picked `object` properties. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The source object. + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pick(object, ['a', 'c']); + * // => { 'a': 1, 'c': 3 } + */ + var pick = flatRest(function(object, paths) { + return object == null ? {} : basePick(object, paths); + }); + + /** + * This method is like `_.get` except that if the resolved value is a + * function it's invoked with the `this` binding of its parent object and + * its result is returned. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to resolve. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] }; + * + * _.result(object, 'a[0].b.c1'); + * // => 3 + * + * _.result(object, 'a[0].b.c2'); + * // => 4 + * + * _.result(object, 'a[0].b.c3', 'default'); + * // => 'default' + * + * _.result(object, 'a[0].b.c3', _.constant('default')); + * // => 'default' + */ + function result(object, path, defaultValue) { + var value = object == null ? undefined : object[path]; + if (value === undefined) { + value = defaultValue; + } + return isFunction(value) ? value.call(object) : value; + } + + /** + * Creates an array of the own enumerable string keyed property values of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property values. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.values(new Foo); + * // => [1, 2] (iteration order is not guaranteed) + * + * _.values('hi'); + * // => ['h', 'i'] + */ + function values(object) { + return object == null ? [] : baseValues(object, keys(object)); + } + + /*------------------------------------------------------------------------*/ + + /** + * Converts the characters "&", "<", ">", '"', and "'" in `string` to their + * corresponding HTML entities. + * + * **Note:** No other characters are escaped. To escape additional + * characters use a third-party library like [_he_](https://mths.be/he). + * + * Though the ">" character is escaped for symmetry, characters like + * ">" and "/" don't need escaping in HTML and have no special meaning + * unless they're part of a tag or unquoted attribute value. See + * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands) + * (under "semi-related fun fact") for more details. + * + * When working with HTML you should always + * [quote attribute values](http://wonko.com/post/html-escaping) to reduce + * XSS vectors. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category String + * @param {string} [string=''] The string to escape. + * @returns {string} Returns the escaped string. + * @example + * + * _.escape('fred, barney, & pebbles'); + * // => 'fred, barney, & pebbles' + */ + function escape(string) { + string = toString(string); + return (string && reHasUnescapedHtml.test(string)) + ? string.replace(reUnescapedHtml, escapeHtmlChar) + : string; + } + + /*------------------------------------------------------------------------*/ + + /** + * This method returns the first argument it receives. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {*} value Any value. + * @returns {*} Returns `value`. + * @example + * + * var object = { 'a': 1 }; + * + * console.log(_.identity(object) === object); + * // => true + */ + function identity(value) { + return value; + } + + /** + * Creates a function that invokes `func` with the arguments of the created + * function. If `func` is a property name, the created function returns the + * property value for a given element. If `func` is an array or object, the + * created function returns `true` for elements that contain the equivalent + * source properties, otherwise it returns `false`. + * + * @static + * @since 4.0.0 + * @memberOf _ + * @category Util + * @param {*} [func=_.identity] The value to convert to a callback. + * @returns {Function} Returns the callback. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true })); + * // => [{ 'user': 'barney', 'age': 36, 'active': true }] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.filter(users, _.iteratee(['user', 'fred'])); + * // => [{ 'user': 'fred', 'age': 40 }] + * + * // The `_.property` iteratee shorthand. + * _.map(users, _.iteratee('user')); + * // => ['barney', 'fred'] + * + * // Create custom iteratee shorthands. + * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) { + * return !_.isRegExp(func) ? iteratee(func) : function(string) { + * return func.test(string); + * }; + * }); + * + * _.filter(['abc', 'def'], /ef/); + * // => ['def'] + */ + var iteratee = baseIteratee; + + /** + * Creates a function that performs a partial deep comparison between a given + * object and `source`, returning `true` if the given object has equivalent + * property values, else `false`. + * + * **Note:** The created function is equivalent to `_.isMatch` with `source` + * partially applied. + * + * Partial comparisons will match empty array and empty object `source` + * values against any array or object value, respectively. See `_.isEqual` + * for a list of supported value comparisons. + * + * **Note:** Multiple values can be checked by combining several matchers + * using `_.overSome` + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Util + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + * @example + * + * var objects = [ + * { 'a': 1, 'b': 2, 'c': 3 }, + * { 'a': 4, 'b': 5, 'c': 6 } + * ]; + * + * _.filter(objects, _.matches({ 'a': 4, 'c': 6 })); + * // => [{ 'a': 4, 'b': 5, 'c': 6 }] + * + * // Checking for several possible values + * _.filter(objects, _.overSome([_.matches({ 'a': 1 }), _.matches({ 'a': 4 })])); + * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }] + */ + function matches(source) { + return baseMatches(assign({}, source)); + } + + /** + * Adds all own enumerable string keyed function properties of a source + * object to the destination object. If `object` is a function, then methods + * are added to its prototype as well. + * + * **Note:** Use `_.runInContext` to create a pristine `lodash` function to + * avoid conflicts caused by modifying the original. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {Function|Object} [object=lodash] The destination object. + * @param {Object} source The object of functions to add. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.chain=true] Specify whether mixins are chainable. + * @returns {Function|Object} Returns `object`. + * @example + * + * function vowels(string) { + * return _.filter(string, function(v) { + * return /[aeiou]/i.test(v); + * }); + * } + * + * _.mixin({ 'vowels': vowels }); + * _.vowels('fred'); + * // => ['e'] + * + * _('fred').vowels().value(); + * // => ['e'] + * + * _.mixin({ 'vowels': vowels }, { 'chain': false }); + * _('fred').vowels(); + * // => ['e'] + */ + function mixin(object, source, options) { + var props = keys(source), + methodNames = baseFunctions(source, props); + + if (options == null && + !(isObject(source) && (methodNames.length || !props.length))) { + options = source; + source = object; + object = this; + methodNames = baseFunctions(source, keys(source)); + } + var chain = !(isObject(options) && 'chain' in options) || !!options.chain, + isFunc = isFunction(object); + + baseEach(methodNames, function(methodName) { + var func = source[methodName]; + object[methodName] = func; + if (isFunc) { + object.prototype[methodName] = function() { + var chainAll = this.__chain__; + if (chain || chainAll) { + var result = object(this.__wrapped__), + actions = result.__actions__ = copyArray(this.__actions__); + + actions.push({ 'func': func, 'args': arguments, 'thisArg': object }); + result.__chain__ = chainAll; + return result; + } + return func.apply(object, arrayPush([this.value()], arguments)); + }; + } + }); + + return object; + } + + /** + * Reverts the `_` variable to its previous value and returns a reference to + * the `lodash` function. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @returns {Function} Returns the `lodash` function. + * @example + * + * var lodash = _.noConflict(); + */ + function noConflict() { + if (root._ === this) { + root._ = oldDash; + } + return this; + } + + /** + * This method returns `undefined`. + * + * @static + * @memberOf _ + * @since 2.3.0 + * @category Util + * @example + * + * _.times(2, _.noop); + * // => [undefined, undefined] + */ + function noop() { + // No operation performed. + } + + /** + * Generates a unique ID. If `prefix` is given, the ID is appended to it. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {string} [prefix=''] The value to prefix the ID with. + * @returns {string} Returns the unique ID. + * @example + * + * _.uniqueId('contact_'); + * // => 'contact_104' + * + * _.uniqueId(); + * // => '105' + */ + function uniqueId(prefix) { + var id = ++idCounter; + return toString(prefix) + id; + } + + /*------------------------------------------------------------------------*/ + + /** + * Computes the maximum value of `array`. If `array` is empty or falsey, + * `undefined` is returned. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Math + * @param {Array} array The array to iterate over. + * @returns {*} Returns the maximum value. + * @example + * + * _.max([4, 2, 8, 6]); + * // => 8 + * + * _.max([]); + * // => undefined + */ + function max(array) { + return (array && array.length) + ? baseExtremum(array, identity, baseGt) + : undefined; + } + + /** + * Computes the minimum value of `array`. If `array` is empty or falsey, + * `undefined` is returned. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Math + * @param {Array} array The array to iterate over. + * @returns {*} Returns the minimum value. + * @example + * + * _.min([4, 2, 8, 6]); + * // => 2 + * + * _.min([]); + * // => undefined + */ + function min(array) { + return (array && array.length) + ? baseExtremum(array, identity, baseLt) + : undefined; + } + + /*------------------------------------------------------------------------*/ + + // Add methods that return wrapped values in chain sequences. + lodash.assignIn = assignIn; + lodash.before = before; + lodash.bind = bind; + lodash.chain = chain; + lodash.compact = compact; + lodash.concat = concat; + lodash.create = create; + lodash.defaults = defaults; + lodash.defer = defer; + lodash.delay = delay; + lodash.filter = filter; + lodash.flatten = flatten; + lodash.flattenDeep = flattenDeep; + lodash.iteratee = iteratee; + lodash.keys = keys; + lodash.map = map; + lodash.matches = matches; + lodash.mixin = mixin; + lodash.negate = negate; + lodash.once = once; + lodash.pick = pick; + lodash.slice = slice; + lodash.sortBy = sortBy; + lodash.tap = tap; + lodash.thru = thru; + lodash.toArray = toArray; + lodash.values = values; + + // Add aliases. + lodash.extend = assignIn; + + // Add methods to `lodash.prototype`. + mixin(lodash, lodash); + + /*------------------------------------------------------------------------*/ + + // Add methods that return unwrapped values in chain sequences. + lodash.clone = clone; + lodash.escape = escape; + lodash.every = every; + lodash.find = find; + lodash.forEach = forEach; + lodash.has = has; + lodash.head = head; + lodash.identity = identity; + lodash.indexOf = indexOf; + lodash.isArguments = isArguments; + lodash.isArray = isArray; + lodash.isBoolean = isBoolean; + lodash.isDate = isDate; + lodash.isEmpty = isEmpty; + lodash.isEqual = isEqual; + lodash.isFinite = isFinite; + lodash.isFunction = isFunction; + lodash.isNaN = isNaN; + lodash.isNull = isNull; + lodash.isNumber = isNumber; + lodash.isObject = isObject; + lodash.isRegExp = isRegExp; + lodash.isString = isString; + lodash.isUndefined = isUndefined; + lodash.last = last; + lodash.max = max; + lodash.min = min; + lodash.noConflict = noConflict; + lodash.noop = noop; + lodash.reduce = reduce; + lodash.result = result; + lodash.size = size; + lodash.some = some; + lodash.uniqueId = uniqueId; + + // Add aliases. + lodash.each = forEach; + lodash.first = head; + + mixin(lodash, (function() { + var source = {}; + baseForOwn(lodash, function(func, methodName) { + if (!hasOwnProperty.call(lodash.prototype, methodName)) { + source[methodName] = func; + } + }); + return source; + }()), { 'chain': false }); + + /*------------------------------------------------------------------------*/ + + /** + * The semantic version number. + * + * @static + * @memberOf _ + * @type {string} + */ + lodash.VERSION = VERSION; + + // Add `Array` methods to `lodash.prototype`. + baseEach(['pop', 'join', 'replace', 'reverse', 'split', 'push', 'shift', 'sort', 'splice', 'unshift'], function(methodName) { + var func = (/^(?:replace|split)$/.test(methodName) ? String.prototype : arrayProto)[methodName], + chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru', + retUnwrapped = /^(?:pop|join|replace|shift)$/.test(methodName); + + lodash.prototype[methodName] = function() { + var args = arguments; + if (retUnwrapped && !this.__chain__) { + var value = this.value(); + return func.apply(isArray(value) ? value : [], args); + } + return this[chainName](function(value) { + return func.apply(isArray(value) ? value : [], args); + }); + }; + }); + + // Add chain sequence methods to the `lodash` wrapper. + lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue; + + /*--------------------------------------------------------------------------*/ + + // Some AMD build optimizers, like r.js, check for condition patterns like: + if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) { + // Expose Lodash on the global object to prevent errors when Lodash is + // loaded by a script tag in the presence of an AMD loader. + // See http://requirejs.org/docs/errors.html#mismatch for more details. + // Use `_.noConflict` to remove Lodash from the global object. + root._ = lodash; + + // Define as an anonymous module so, through path mapping, it can be + // referenced as the "underscore" module. + define(function() { + return lodash; + }); + } + // Check for `exports` after `define` in case a build optimizer adds it. + else if (freeModule) { + // Export for Node.js. + (freeModule.exports = lodash)._ = lodash; + // Export for CommonJS support. + freeExports._ = lodash; + } + else { + // Export to the global object. + root._ = lodash; + } +}.call(this)); diff --git a/dist/node_modules/lodash/core.min.js b/dist/node_modules/lodash/core.min.js new file mode 100644 index 00000000..579b7540 --- /dev/null +++ b/dist/node_modules/lodash/core.min.js @@ -0,0 +1,30 @@ +/** + * @license + * Lodash (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE + * Build: `lodash core --repo lodash/lodash#4.18.1 -o ./core.js` + */ +;(function(){function n(n,t){return n.push.apply(n,t),n}function t(n,t,r,e){for(var u=n.length,o=r+(e?1:-1);e?o--:++o0&&e(f)?r>1?y(f,r-1,e,u,o):n(o,f):u||(o[o.length]=f)}return o}function g(n,t){return n&&Vt(n,t,cr)}function _(n,t){return v(t,function(t){return Tn(n[t])})}function b(n){return W(n)}function j(n,t){return n>t}function d(n){return In(n)&&b(n)==ht}function m(n,t,r,e,u){return n===t||(null==n||null==t||!In(n)&&!In(t)?n!==n&&t!==t:O(n,t,r,e,m,u))}function O(n,t,r,e,u,o){ +var i=Zt(n),c=Zt(t),f=i?lt:b(n),a=c?lt:b(t);f=f==at?bt:f,a=a==at?bt:a;var l=f==bt,p=a==bt,s=f==a;o||(o=[]);var h=Lt(o,function(t){return t[0]==n}),v=Lt(o,function(n){return n[0]==t});if(h&&v)return h[1]==t;if(o.push([n,t]),o.push([t,n]),s&&!l){var y=i?J(n,t,r,e,u,o):M(n,t,f,r,e,u,o);return o.pop(),y}if(!(r&et)){var g=l&&Rt.call(n,"__wrapped__"),_=p&&Rt.call(t,"__wrapped__");if(g||_){var j=g?n.value():n,d=_?t.value():t,y=u(j,d,r,e,o);return o.pop(),y}}if(!s)return false;var y=U(n,t,r,e,u,o);return o.pop(), +y}function x(n){return In(n)&&b(n)==dt}function w(n){return typeof n=="function"?n:null==n?Hn:(typeof n=="object"?N:r)(n)}function A(n,t){return nu?0:u+t),r=r>u?u:r,r<0&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0;for(var o=Array(u);++et||o&&i&&f&&!c&&!a||e&&i&&f||!r&&f||!u)return 1; +if(!e&&!o&&!a&&n1?r[u-1]:nt;for(o=n.length>3&&typeof o=="function"?(u--,o):nt,t=Object(t);++e-1?u[o?t[i]:i]:nt}}function G(n,t,r,e){function u(){for(var t=-1,c=arguments.length,f=-1,a=e.length,l=Array(a+c),p=this&&this!==kt&&this instanceof u?i:n;++fc))return false;var a=o.get(n),l=o.get(t);if(a&&l)return a==t&&l==n;for(var p=-1,s=true,h=r&ut?[]:nt;++p-1&&n%1==0&&n0&&(r=t.apply(this,arguments)),n<=1&&(t=nt),r}}function mn(n){if(typeof n!="function")throw new TypeError(rt);return function(){return!n.apply(this,arguments)}; +}function On(n){return dn(2,n)}function xn(n){return Bn(n)?Zt(n)?S(n):$(n,Gt(n)):n}function wn(n,t){return n===t||n!==n&&t!==t}function An(n){return null!=n&&Sn(n.length)&&!Tn(n)}function En(n){return n===true||n===false||In(n)&&b(n)==st}function Nn(n){return An(n)&&(Zt(n)||Dn(n)||Tn(n.splice)||Yt(n))?!n.length:!Gt(n).length}function kn(n,t){return m(n,t)}function Fn(n){return typeof n=="number"&&Ct(n)}function Tn(n){if(!Bn(n))return false;var t=b(n);return t==yt||t==gt||t==pt||t==jt}function Sn(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=ft; +}function Bn(n){var t=typeof n;return null!=n&&("object"==t||"function"==t)}function In(n){return null!=n&&typeof n=="object"}function Rn(n){return qn(n)&&n!=+n}function $n(n){return null===n}function qn(n){return typeof n=="number"||In(n)&&b(n)==_t}function Dn(n){return typeof n=="string"||!Zt(n)&&In(n)&&b(n)==mt}function Pn(n){return n===nt}function zn(n){return An(n)?n.length?S(n):[]:Un(n)}function Cn(n){return typeof n=="string"?n:null==n?"":n+""}function Gn(n,t){var r=Mt(n);return null==t?r:ur(r,t); +}function Jn(n,t){return null!=n&&Rt.call(n,t)}function Mn(n,t,r){var e=null==n?nt:n[t];return e===nt&&(e=r),Tn(e)?e.call(n):e}function Un(n){return null==n?[]:o(n,cr(n))}function Vn(n){return n=Cn(n),n&&xt.test(n)?n.replace(Ot,St):n}function Hn(n){return n}function Kn(n){return N(ur({},n))}function Ln(t,r,e){var u=cr(r),o=_(r,u);null!=e||Bn(r)&&(o.length||!u.length)||(e=r,r=t,t=this,o=_(r,cr(r)));var i=!(Bn(e)&&"chain"in e&&!e.chain),c=Tn(t);return Ut(o,function(e){var u=r[e];t[e]=u,c&&(t.prototype[e]=function(){ +var r=this.__chain__;if(i||r){var e=t(this.__wrapped__);return(e.__actions__=S(this.__actions__)).push({func:u,args:arguments,thisArg:t}),e.__chain__=r,e}return u.apply(t,n([this.value()],arguments))})}),t}function Qn(){return kt._===this&&(kt._=Dt),this}function Wn(){}function Xn(n){var t=++$t;return Cn(n)+t}function Yn(n){return n&&n.length?h(n,Hn,j):nt}function Zn(n){return n&&n.length?h(n,Hn,A):nt}var nt,tt="4.18.1",rt="Expected a function",et=1,ut=2,ot=1,it=32,ct=1/0,ft=9007199254740991,at="[object Arguments]",lt="[object Array]",pt="[object AsyncFunction]",st="[object Boolean]",ht="[object Date]",vt="[object Error]",yt="[object Function]",gt="[object GeneratorFunction]",_t="[object Number]",bt="[object Object]",jt="[object Proxy]",dt="[object RegExp]",mt="[object String]",Ot=/[&<>"']/g,xt=RegExp(Ot.source),wt=/^(?:0|[1-9]\d*)$/,At={ +"&":"&","<":"<",">":">",'"':""","'":"'"},Et=typeof global=="object"&&global&&global.Object===Object&&global,Nt=typeof self=="object"&&self&&self.Object===Object&&self,kt=Et||Nt||Function("return this")(),Ft=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Tt=Ft&&typeof module=="object"&&module&&!module.nodeType&&module,St=e(At),Bt=Array.prototype,It=Object.prototype,Rt=It.hasOwnProperty,$t=0,qt=It.toString,Dt=kt._,Pt=Object.create,zt=It.propertyIsEnumerable,Ct=kt.isFinite,Gt=i(Object.keys,Object),Jt=Math.max,Mt=function(){ +function n(){}return function(t){if(!Bn(t))return{};if(Pt)return Pt(t);n.prototype=t;var r=new n;return n.prototype=nt,r}}();f.prototype=Mt(c.prototype),f.prototype.constructor=f;var Ut=D(g),Vt=P(),Ht=Wn,Kt=Hn,Lt=C(nn),Qt=F(function(n,t,r){return G(n,ot|it,t,r)}),Wt=F(function(n,t){return p(n,1,t)}),Xt=F(function(n,t,r){return p(n,er(t)||0,r)}),Yt=Ht(function(){return arguments}())?Ht:function(n){return In(n)&&Rt.call(n,"callee")&&!zt.call(n,"callee")},Zt=Array.isArray,nr=d,tr=x,rr=Number,er=Number,ur=q(function(n,t){ +$(t,Gt(t),n)}),or=q(function(n,t){$(t,Q(t),n)}),ir=F(function(n,t){n=Object(n);var r=-1,e=t.length,u=e>2?t[2]:nt;for(u&&L(t[0],t[1],u)&&(e=1);++r { '4': 1, '6': 2 } + * + * // The `_.property` iteratee shorthand. + * _.countBy(['one', 'two', 'three'], 'length'); + * // => { '3': 2, '5': 1 } + */ +var countBy = createAggregator(function(result, value, key) { + if (hasOwnProperty.call(result, key)) { + ++result[key]; + } else { + baseAssignValue(result, key, 1); + } +}); + +module.exports = countBy; diff --git a/dist/node_modules/lodash/create.js b/dist/node_modules/lodash/create.js new file mode 100644 index 00000000..919edb85 --- /dev/null +++ b/dist/node_modules/lodash/create.js @@ -0,0 +1,43 @@ +var baseAssign = require('./_baseAssign'), + baseCreate = require('./_baseCreate'); + +/** + * Creates an object that inherits from the `prototype` object. If a + * `properties` object is given, its own enumerable string keyed properties + * are assigned to the created object. + * + * @static + * @memberOf _ + * @since 2.3.0 + * @category Object + * @param {Object} prototype The object to inherit from. + * @param {Object} [properties] The properties to assign to the object. + * @returns {Object} Returns the new object. + * @example + * + * function Shape() { + * this.x = 0; + * this.y = 0; + * } + * + * function Circle() { + * Shape.call(this); + * } + * + * Circle.prototype = _.create(Shape.prototype, { + * 'constructor': Circle + * }); + * + * var circle = new Circle; + * circle instanceof Circle; + * // => true + * + * circle instanceof Shape; + * // => true + */ +function create(prototype, properties) { + var result = baseCreate(prototype); + return properties == null ? result : baseAssign(result, properties); +} + +module.exports = create; diff --git a/dist/node_modules/lodash/curry.js b/dist/node_modules/lodash/curry.js new file mode 100644 index 00000000..918db1a4 --- /dev/null +++ b/dist/node_modules/lodash/curry.js @@ -0,0 +1,57 @@ +var createWrap = require('./_createWrap'); + +/** Used to compose bitmasks for function metadata. */ +var WRAP_CURRY_FLAG = 8; + +/** + * Creates a function that accepts arguments of `func` and either invokes + * `func` returning its result, if at least `arity` number of arguments have + * been provided, or returns a function that accepts the remaining `func` + * arguments, and so on. The arity of `func` may be specified if `func.length` + * is not sufficient. + * + * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds, + * may be used as a placeholder for provided arguments. + * + * **Note:** This method doesn't set the "length" property of curried functions. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Function + * @param {Function} func The function to curry. + * @param {number} [arity=func.length] The arity of `func`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new curried function. + * @example + * + * var abc = function(a, b, c) { + * return [a, b, c]; + * }; + * + * var curried = _.curry(abc); + * + * curried(1)(2)(3); + * // => [1, 2, 3] + * + * curried(1, 2)(3); + * // => [1, 2, 3] + * + * curried(1, 2, 3); + * // => [1, 2, 3] + * + * // Curried with placeholders. + * curried(1)(_, 3)(2); + * // => [1, 2, 3] + */ +function curry(func, arity, guard) { + arity = guard ? undefined : arity; + var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity); + result.placeholder = curry.placeholder; + return result; +} + +// Assign default placeholders. +curry.placeholder = {}; + +module.exports = curry; diff --git a/dist/node_modules/lodash/curryRight.js b/dist/node_modules/lodash/curryRight.js new file mode 100644 index 00000000..c85b6f33 --- /dev/null +++ b/dist/node_modules/lodash/curryRight.js @@ -0,0 +1,54 @@ +var createWrap = require('./_createWrap'); + +/** Used to compose bitmasks for function metadata. */ +var WRAP_CURRY_RIGHT_FLAG = 16; + +/** + * This method is like `_.curry` except that arguments are applied to `func` + * in the manner of `_.partialRight` instead of `_.partial`. + * + * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for provided arguments. + * + * **Note:** This method doesn't set the "length" property of curried functions. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to curry. + * @param {number} [arity=func.length] The arity of `func`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new curried function. + * @example + * + * var abc = function(a, b, c) { + * return [a, b, c]; + * }; + * + * var curried = _.curryRight(abc); + * + * curried(3)(2)(1); + * // => [1, 2, 3] + * + * curried(2, 3)(1); + * // => [1, 2, 3] + * + * curried(1, 2, 3); + * // => [1, 2, 3] + * + * // Curried with placeholders. + * curried(3)(1, _)(2); + * // => [1, 2, 3] + */ +function curryRight(func, arity, guard) { + arity = guard ? undefined : arity; + var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity); + result.placeholder = curryRight.placeholder; + return result; +} + +// Assign default placeholders. +curryRight.placeholder = {}; + +module.exports = curryRight; diff --git a/dist/node_modules/lodash/date.js b/dist/node_modules/lodash/date.js new file mode 100644 index 00000000..cbf5b410 --- /dev/null +++ b/dist/node_modules/lodash/date.js @@ -0,0 +1,3 @@ +module.exports = { + 'now': require('./now') +}; diff --git a/dist/node_modules/lodash/debounce.js b/dist/node_modules/lodash/debounce.js new file mode 100644 index 00000000..8f751d53 --- /dev/null +++ b/dist/node_modules/lodash/debounce.js @@ -0,0 +1,191 @@ +var isObject = require('./isObject'), + now = require('./now'), + toNumber = require('./toNumber'); + +/** Error message constants. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max, + nativeMin = Math.min; + +/** + * Creates a debounced function that delays invoking `func` until after `wait` + * milliseconds have elapsed since the last time the debounced function was + * invoked. The debounced function comes with a `cancel` method to cancel + * delayed `func` invocations and a `flush` method to immediately invoke them. + * Provide `options` to indicate whether `func` should be invoked on the + * leading and/or trailing edge of the `wait` timeout. The `func` is invoked + * with the last arguments provided to the debounced function. Subsequent + * calls to the debounced function return the result of the last `func` + * invocation. + * + * **Note:** If `leading` and `trailing` options are `true`, `func` is + * invoked on the trailing edge of the timeout only if the debounced function + * is invoked more than once during the `wait` timeout. + * + * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred + * until to the next tick, similar to `setTimeout` with a timeout of `0`. + * + * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) + * for details over the differences between `_.debounce` and `_.throttle`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to debounce. + * @param {number} [wait=0] The number of milliseconds to delay. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.leading=false] + * Specify invoking on the leading edge of the timeout. + * @param {number} [options.maxWait] + * The maximum time `func` is allowed to be delayed before it's invoked. + * @param {boolean} [options.trailing=true] + * Specify invoking on the trailing edge of the timeout. + * @returns {Function} Returns the new debounced function. + * @example + * + * // Avoid costly calculations while the window size is in flux. + * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); + * + * // Invoke `sendMail` when clicked, debouncing subsequent calls. + * jQuery(element).on('click', _.debounce(sendMail, 300, { + * 'leading': true, + * 'trailing': false + * })); + * + * // Ensure `batchLog` is invoked once after 1 second of debounced calls. + * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); + * var source = new EventSource('/stream'); + * jQuery(source).on('message', debounced); + * + * // Cancel the trailing debounced invocation. + * jQuery(window).on('popstate', debounced.cancel); + */ +function debounce(func, wait, options) { + var lastArgs, + lastThis, + maxWait, + result, + timerId, + lastCallTime, + lastInvokeTime = 0, + leading = false, + maxing = false, + trailing = true; + + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + wait = toNumber(wait) || 0; + if (isObject(options)) { + leading = !!options.leading; + maxing = 'maxWait' in options; + maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; + trailing = 'trailing' in options ? !!options.trailing : trailing; + } + + function invokeFunc(time) { + var args = lastArgs, + thisArg = lastThis; + + lastArgs = lastThis = undefined; + lastInvokeTime = time; + result = func.apply(thisArg, args); + return result; + } + + function leadingEdge(time) { + // Reset any `maxWait` timer. + lastInvokeTime = time; + // Start the timer for the trailing edge. + timerId = setTimeout(timerExpired, wait); + // Invoke the leading edge. + return leading ? invokeFunc(time) : result; + } + + function remainingWait(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime, + timeWaiting = wait - timeSinceLastCall; + + return maxing + ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) + : timeWaiting; + } + + function shouldInvoke(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime; + + // Either this is the first call, activity has stopped and we're at the + // trailing edge, the system time has gone backwards and we're treating + // it as the trailing edge, or we've hit the `maxWait` limit. + return (lastCallTime === undefined || (timeSinceLastCall >= wait) || + (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); + } + + function timerExpired() { + var time = now(); + if (shouldInvoke(time)) { + return trailingEdge(time); + } + // Restart the timer. + timerId = setTimeout(timerExpired, remainingWait(time)); + } + + function trailingEdge(time) { + timerId = undefined; + + // Only invoke if we have `lastArgs` which means `func` has been + // debounced at least once. + if (trailing && lastArgs) { + return invokeFunc(time); + } + lastArgs = lastThis = undefined; + return result; + } + + function cancel() { + if (timerId !== undefined) { + clearTimeout(timerId); + } + lastInvokeTime = 0; + lastArgs = lastCallTime = lastThis = timerId = undefined; + } + + function flush() { + return timerId === undefined ? result : trailingEdge(now()); + } + + function debounced() { + var time = now(), + isInvoking = shouldInvoke(time); + + lastArgs = arguments; + lastThis = this; + lastCallTime = time; + + if (isInvoking) { + if (timerId === undefined) { + return leadingEdge(lastCallTime); + } + if (maxing) { + // Handle invocations in a tight loop. + clearTimeout(timerId); + timerId = setTimeout(timerExpired, wait); + return invokeFunc(lastCallTime); + } + } + if (timerId === undefined) { + timerId = setTimeout(timerExpired, wait); + } + return result; + } + debounced.cancel = cancel; + debounced.flush = flush; + return debounced; +} + +module.exports = debounce; diff --git a/dist/node_modules/lodash/deburr.js b/dist/node_modules/lodash/deburr.js new file mode 100644 index 00000000..f85e314a --- /dev/null +++ b/dist/node_modules/lodash/deburr.js @@ -0,0 +1,45 @@ +var deburrLetter = require('./_deburrLetter'), + toString = require('./toString'); + +/** Used to match Latin Unicode letters (excluding mathematical operators). */ +var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g; + +/** Used to compose unicode character classes. */ +var rsComboMarksRange = '\\u0300-\\u036f', + reComboHalfMarksRange = '\\ufe20-\\ufe2f', + rsComboSymbolsRange = '\\u20d0-\\u20ff', + rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange; + +/** Used to compose unicode capture groups. */ +var rsCombo = '[' + rsComboRange + ']'; + +/** + * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and + * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols). + */ +var reComboMark = RegExp(rsCombo, 'g'); + +/** + * Deburrs `string` by converting + * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table) + * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A) + * letters to basic Latin letters and removing + * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to deburr. + * @returns {string} Returns the deburred string. + * @example + * + * _.deburr('déjà vu'); + * // => 'deja vu' + */ +function deburr(string) { + string = toString(string); + return string && string.replace(reLatin, deburrLetter).replace(reComboMark, ''); +} + +module.exports = deburr; diff --git a/dist/node_modules/lodash/defaultTo.js b/dist/node_modules/lodash/defaultTo.js new file mode 100644 index 00000000..5b333592 --- /dev/null +++ b/dist/node_modules/lodash/defaultTo.js @@ -0,0 +1,25 @@ +/** + * Checks `value` to determine whether a default value should be returned in + * its place. The `defaultValue` is returned if `value` is `NaN`, `null`, + * or `undefined`. + * + * @static + * @memberOf _ + * @since 4.14.0 + * @category Util + * @param {*} value The value to check. + * @param {*} defaultValue The default value. + * @returns {*} Returns the resolved value. + * @example + * + * _.defaultTo(1, 10); + * // => 1 + * + * _.defaultTo(undefined, 10); + * // => 10 + */ +function defaultTo(value, defaultValue) { + return (value == null || value !== value) ? defaultValue : value; +} + +module.exports = defaultTo; diff --git a/dist/node_modules/lodash/defaults.js b/dist/node_modules/lodash/defaults.js new file mode 100644 index 00000000..c74df044 --- /dev/null +++ b/dist/node_modules/lodash/defaults.js @@ -0,0 +1,64 @@ +var baseRest = require('./_baseRest'), + eq = require('./eq'), + isIterateeCall = require('./_isIterateeCall'), + keysIn = require('./keysIn'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Assigns own and inherited enumerable string keyed properties of source + * objects to the destination object for all destination properties that + * resolve to `undefined`. Source objects are applied from left to right. + * Once a property is set, additional values of the same property are ignored. + * + * **Note:** This method mutates `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.defaultsDeep + * @example + * + * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ +var defaults = baseRest(function(object, sources) { + object = Object(object); + + var index = -1; + var length = sources.length; + var guard = length > 2 ? sources[2] : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + length = 1; + } + + while (++index < length) { + var source = sources[index]; + var props = keysIn(source); + var propsIndex = -1; + var propsLength = props.length; + + while (++propsIndex < propsLength) { + var key = props[propsIndex]; + var value = object[key]; + + if (value === undefined || + (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) { + object[key] = source[key]; + } + } + } + + return object; +}); + +module.exports = defaults; diff --git a/dist/node_modules/lodash/defaultsDeep.js b/dist/node_modules/lodash/defaultsDeep.js new file mode 100644 index 00000000..9b5fa3ee --- /dev/null +++ b/dist/node_modules/lodash/defaultsDeep.js @@ -0,0 +1,30 @@ +var apply = require('./_apply'), + baseRest = require('./_baseRest'), + customDefaultsMerge = require('./_customDefaultsMerge'), + mergeWith = require('./mergeWith'); + +/** + * This method is like `_.defaults` except that it recursively assigns + * default properties. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 3.10.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.defaults + * @example + * + * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } }); + * // => { 'a': { 'b': 2, 'c': 3 } } + */ +var defaultsDeep = baseRest(function(args) { + args.push(undefined, customDefaultsMerge); + return apply(mergeWith, undefined, args); +}); + +module.exports = defaultsDeep; diff --git a/dist/node_modules/lodash/defer.js b/dist/node_modules/lodash/defer.js new file mode 100644 index 00000000..f6d6c6fa --- /dev/null +++ b/dist/node_modules/lodash/defer.js @@ -0,0 +1,26 @@ +var baseDelay = require('./_baseDelay'), + baseRest = require('./_baseRest'); + +/** + * Defers invoking the `func` until the current call stack has cleared. Any + * additional arguments are provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to defer. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {number} Returns the timer id. + * @example + * + * _.defer(function(text) { + * console.log(text); + * }, 'deferred'); + * // => Logs 'deferred' after one millisecond. + */ +var defer = baseRest(function(func, args) { + return baseDelay(func, 1, args); +}); + +module.exports = defer; diff --git a/dist/node_modules/lodash/delay.js b/dist/node_modules/lodash/delay.js new file mode 100644 index 00000000..bd554796 --- /dev/null +++ b/dist/node_modules/lodash/delay.js @@ -0,0 +1,28 @@ +var baseDelay = require('./_baseDelay'), + baseRest = require('./_baseRest'), + toNumber = require('./toNumber'); + +/** + * Invokes `func` after `wait` milliseconds. Any additional arguments are + * provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {number} Returns the timer id. + * @example + * + * _.delay(function(text) { + * console.log(text); + * }, 1000, 'later'); + * // => Logs 'later' after one second. + */ +var delay = baseRest(function(func, wait, args) { + return baseDelay(func, toNumber(wait) || 0, args); +}); + +module.exports = delay; diff --git a/dist/node_modules/lodash/difference.js b/dist/node_modules/lodash/difference.js new file mode 100644 index 00000000..fa28bb30 --- /dev/null +++ b/dist/node_modules/lodash/difference.js @@ -0,0 +1,33 @@ +var baseDifference = require('./_baseDifference'), + baseFlatten = require('./_baseFlatten'), + baseRest = require('./_baseRest'), + isArrayLikeObject = require('./isArrayLikeObject'); + +/** + * Creates an array of `array` values not included in the other given arrays + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. The order and references of result values are + * determined by the first array. + * + * **Note:** Unlike `_.pullAll`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @returns {Array} Returns the new array of filtered values. + * @see _.without, _.xor + * @example + * + * _.difference([2, 1], [2, 3]); + * // => [1] + */ +var difference = baseRest(function(array, values) { + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) + : []; +}); + +module.exports = difference; diff --git a/dist/node_modules/lodash/differenceBy.js b/dist/node_modules/lodash/differenceBy.js new file mode 100644 index 00000000..2cd63e7e --- /dev/null +++ b/dist/node_modules/lodash/differenceBy.js @@ -0,0 +1,44 @@ +var baseDifference = require('./_baseDifference'), + baseFlatten = require('./_baseFlatten'), + baseIteratee = require('./_baseIteratee'), + baseRest = require('./_baseRest'), + isArrayLikeObject = require('./isArrayLikeObject'), + last = require('./last'); + +/** + * This method is like `_.difference` except that it accepts `iteratee` which + * is invoked for each element of `array` and `values` to generate the criterion + * by which they're compared. The order and references of result values are + * determined by the first array. The iteratee is invoked with one argument: + * (value). + * + * **Note:** Unlike `_.pullAllBy`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [1.2] + * + * // The `_.property` iteratee shorthand. + * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x'); + * // => [{ 'x': 2 }] + */ +var differenceBy = baseRest(function(array, values) { + var iteratee = last(values); + if (isArrayLikeObject(iteratee)) { + iteratee = undefined; + } + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), baseIteratee(iteratee, 2)) + : []; +}); + +module.exports = differenceBy; diff --git a/dist/node_modules/lodash/differenceWith.js b/dist/node_modules/lodash/differenceWith.js new file mode 100644 index 00000000..c0233f4b --- /dev/null +++ b/dist/node_modules/lodash/differenceWith.js @@ -0,0 +1,40 @@ +var baseDifference = require('./_baseDifference'), + baseFlatten = require('./_baseFlatten'), + baseRest = require('./_baseRest'), + isArrayLikeObject = require('./isArrayLikeObject'), + last = require('./last'); + +/** + * This method is like `_.difference` except that it accepts `comparator` + * which is invoked to compare elements of `array` to `values`. The order and + * references of result values are determined by the first array. The comparator + * is invoked with two arguments: (arrVal, othVal). + * + * **Note:** Unlike `_.pullAllWith`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * + * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual); + * // => [{ 'x': 2, 'y': 1 }] + */ +var differenceWith = baseRest(function(array, values) { + var comparator = last(values); + if (isArrayLikeObject(comparator)) { + comparator = undefined; + } + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator) + : []; +}); + +module.exports = differenceWith; diff --git a/dist/node_modules/lodash/divide.js b/dist/node_modules/lodash/divide.js new file mode 100644 index 00000000..8cae0cd1 --- /dev/null +++ b/dist/node_modules/lodash/divide.js @@ -0,0 +1,22 @@ +var createMathOperation = require('./_createMathOperation'); + +/** + * Divide two numbers. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Math + * @param {number} dividend The first number in a division. + * @param {number} divisor The second number in a division. + * @returns {number} Returns the quotient. + * @example + * + * _.divide(6, 4); + * // => 1.5 + */ +var divide = createMathOperation(function(dividend, divisor) { + return dividend / divisor; +}, 1); + +module.exports = divide; diff --git a/dist/node_modules/lodash/drop.js b/dist/node_modules/lodash/drop.js new file mode 100644 index 00000000..d5c3cbaa --- /dev/null +++ b/dist/node_modules/lodash/drop.js @@ -0,0 +1,38 @@ +var baseSlice = require('./_baseSlice'), + toInteger = require('./toInteger'); + +/** + * Creates a slice of `array` with `n` elements dropped from the beginning. + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to drop. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.drop([1, 2, 3]); + * // => [2, 3] + * + * _.drop([1, 2, 3], 2); + * // => [3] + * + * _.drop([1, 2, 3], 5); + * // => [] + * + * _.drop([1, 2, 3], 0); + * // => [1, 2, 3] + */ +function drop(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + return baseSlice(array, n < 0 ? 0 : n, length); +} + +module.exports = drop; diff --git a/dist/node_modules/lodash/dropRight.js b/dist/node_modules/lodash/dropRight.js new file mode 100644 index 00000000..441fe996 --- /dev/null +++ b/dist/node_modules/lodash/dropRight.js @@ -0,0 +1,39 @@ +var baseSlice = require('./_baseSlice'), + toInteger = require('./toInteger'); + +/** + * Creates a slice of `array` with `n` elements dropped from the end. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to drop. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.dropRight([1, 2, 3]); + * // => [1, 2] + * + * _.dropRight([1, 2, 3], 2); + * // => [1] + * + * _.dropRight([1, 2, 3], 5); + * // => [] + * + * _.dropRight([1, 2, 3], 0); + * // => [1, 2, 3] + */ +function dropRight(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + n = length - n; + return baseSlice(array, 0, n < 0 ? 0 : n); +} + +module.exports = dropRight; diff --git a/dist/node_modules/lodash/dropRightWhile.js b/dist/node_modules/lodash/dropRightWhile.js new file mode 100644 index 00000000..9ad36a04 --- /dev/null +++ b/dist/node_modules/lodash/dropRightWhile.js @@ -0,0 +1,45 @@ +var baseIteratee = require('./_baseIteratee'), + baseWhile = require('./_baseWhile'); + +/** + * Creates a slice of `array` excluding elements dropped from the end. + * Elements are dropped until `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.dropRightWhile(users, function(o) { return !o.active; }); + * // => objects for ['barney'] + * + * // The `_.matches` iteratee shorthand. + * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false }); + * // => objects for ['barney', 'fred'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.dropRightWhile(users, ['active', false]); + * // => objects for ['barney'] + * + * // The `_.property` iteratee shorthand. + * _.dropRightWhile(users, 'active'); + * // => objects for ['barney', 'fred', 'pebbles'] + */ +function dropRightWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, baseIteratee(predicate, 3), true, true) + : []; +} + +module.exports = dropRightWhile; diff --git a/dist/node_modules/lodash/dropWhile.js b/dist/node_modules/lodash/dropWhile.js new file mode 100644 index 00000000..903ef568 --- /dev/null +++ b/dist/node_modules/lodash/dropWhile.js @@ -0,0 +1,45 @@ +var baseIteratee = require('./_baseIteratee'), + baseWhile = require('./_baseWhile'); + +/** + * Creates a slice of `array` excluding elements dropped from the beginning. + * Elements are dropped until `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.dropWhile(users, function(o) { return !o.active; }); + * // => objects for ['pebbles'] + * + * // The `_.matches` iteratee shorthand. + * _.dropWhile(users, { 'user': 'barney', 'active': false }); + * // => objects for ['fred', 'pebbles'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.dropWhile(users, ['active', false]); + * // => objects for ['pebbles'] + * + * // The `_.property` iteratee shorthand. + * _.dropWhile(users, 'active'); + * // => objects for ['barney', 'fred', 'pebbles'] + */ +function dropWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, baseIteratee(predicate, 3), true) + : []; +} + +module.exports = dropWhile; diff --git a/dist/node_modules/lodash/each.js b/dist/node_modules/lodash/each.js new file mode 100644 index 00000000..8800f420 --- /dev/null +++ b/dist/node_modules/lodash/each.js @@ -0,0 +1 @@ +module.exports = require('./forEach'); diff --git a/dist/node_modules/lodash/eachRight.js b/dist/node_modules/lodash/eachRight.js new file mode 100644 index 00000000..3252b2ab --- /dev/null +++ b/dist/node_modules/lodash/eachRight.js @@ -0,0 +1 @@ +module.exports = require('./forEachRight'); diff --git a/dist/node_modules/lodash/endsWith.js b/dist/node_modules/lodash/endsWith.js new file mode 100644 index 00000000..76fc866e --- /dev/null +++ b/dist/node_modules/lodash/endsWith.js @@ -0,0 +1,43 @@ +var baseClamp = require('./_baseClamp'), + baseToString = require('./_baseToString'), + toInteger = require('./toInteger'), + toString = require('./toString'); + +/** + * Checks if `string` ends with the given target string. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to inspect. + * @param {string} [target] The string to search for. + * @param {number} [position=string.length] The position to search up to. + * @returns {boolean} Returns `true` if `string` ends with `target`, + * else `false`. + * @example + * + * _.endsWith('abc', 'c'); + * // => true + * + * _.endsWith('abc', 'b'); + * // => false + * + * _.endsWith('abc', 'b', 2); + * // => true + */ +function endsWith(string, target, position) { + string = toString(string); + target = baseToString(target); + + var length = string.length; + position = position === undefined + ? length + : baseClamp(toInteger(position), 0, length); + + var end = position; + position -= target.length; + return position >= 0 && string.slice(position, end) == target; +} + +module.exports = endsWith; diff --git a/dist/node_modules/lodash/entries.js b/dist/node_modules/lodash/entries.js new file mode 100644 index 00000000..7a88df20 --- /dev/null +++ b/dist/node_modules/lodash/entries.js @@ -0,0 +1 @@ +module.exports = require('./toPairs'); diff --git a/dist/node_modules/lodash/entriesIn.js b/dist/node_modules/lodash/entriesIn.js new file mode 100644 index 00000000..f6c6331c --- /dev/null +++ b/dist/node_modules/lodash/entriesIn.js @@ -0,0 +1 @@ +module.exports = require('./toPairsIn'); diff --git a/dist/node_modules/lodash/eq.js b/dist/node_modules/lodash/eq.js new file mode 100644 index 00000000..a9406880 --- /dev/null +++ b/dist/node_modules/lodash/eq.js @@ -0,0 +1,37 @@ +/** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ +function eq(value, other) { + return value === other || (value !== value && other !== other); +} + +module.exports = eq; diff --git a/dist/node_modules/lodash/escape.js b/dist/node_modules/lodash/escape.js new file mode 100644 index 00000000..9247e002 --- /dev/null +++ b/dist/node_modules/lodash/escape.js @@ -0,0 +1,43 @@ +var escapeHtmlChar = require('./_escapeHtmlChar'), + toString = require('./toString'); + +/** Used to match HTML entities and HTML characters. */ +var reUnescapedHtml = /[&<>"']/g, + reHasUnescapedHtml = RegExp(reUnescapedHtml.source); + +/** + * Converts the characters "&", "<", ">", '"', and "'" in `string` to their + * corresponding HTML entities. + * + * **Note:** No other characters are escaped. To escape additional + * characters use a third-party library like [_he_](https://mths.be/he). + * + * Though the ">" character is escaped for symmetry, characters like + * ">" and "/" don't need escaping in HTML and have no special meaning + * unless they're part of a tag or unquoted attribute value. See + * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands) + * (under "semi-related fun fact") for more details. + * + * When working with HTML you should always + * [quote attribute values](http://wonko.com/post/html-escaping) to reduce + * XSS vectors. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category String + * @param {string} [string=''] The string to escape. + * @returns {string} Returns the escaped string. + * @example + * + * _.escape('fred, barney, & pebbles'); + * // => 'fred, barney, & pebbles' + */ +function escape(string) { + string = toString(string); + return (string && reHasUnescapedHtml.test(string)) + ? string.replace(reUnescapedHtml, escapeHtmlChar) + : string; +} + +module.exports = escape; diff --git a/dist/node_modules/lodash/escapeRegExp.js b/dist/node_modules/lodash/escapeRegExp.js new file mode 100644 index 00000000..0a58c69f --- /dev/null +++ b/dist/node_modules/lodash/escapeRegExp.js @@ -0,0 +1,32 @@ +var toString = require('./toString'); + +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, + reHasRegExpChar = RegExp(reRegExpChar.source); + +/** + * Escapes the `RegExp` special characters "^", "$", "\", ".", "*", "+", + * "?", "(", ")", "[", "]", "{", "}", and "|" in `string`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to escape. + * @returns {string} Returns the escaped string. + * @example + * + * _.escapeRegExp('[lodash](https://lodash.com/)'); + * // => '\[lodash\]\(https://lodash\.com/\)' + */ +function escapeRegExp(string) { + string = toString(string); + return (string && reHasRegExpChar.test(string)) + ? string.replace(reRegExpChar, '\\$&') + : string; +} + +module.exports = escapeRegExp; diff --git a/dist/node_modules/lodash/every.js b/dist/node_modules/lodash/every.js new file mode 100644 index 00000000..25080dac --- /dev/null +++ b/dist/node_modules/lodash/every.js @@ -0,0 +1,56 @@ +var arrayEvery = require('./_arrayEvery'), + baseEvery = require('./_baseEvery'), + baseIteratee = require('./_baseIteratee'), + isArray = require('./isArray'), + isIterateeCall = require('./_isIterateeCall'); + +/** + * Checks if `predicate` returns truthy for **all** elements of `collection`. + * Iteration is stopped once `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index|key, collection). + * + * **Note:** This method returns `true` for + * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because + * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of + * elements of empty collections. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false`. + * @example + * + * _.every([true, 1, null, 'yes'], Boolean); + * // => false + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.every(users, { 'user': 'barney', 'active': false }); + * // => false + * + * // The `_.matchesProperty` iteratee shorthand. + * _.every(users, ['active', false]); + * // => true + * + * // The `_.property` iteratee shorthand. + * _.every(users, 'active'); + * // => false + */ +function every(collection, predicate, guard) { + var func = isArray(collection) ? arrayEvery : baseEvery; + if (guard && isIterateeCall(collection, predicate, guard)) { + predicate = undefined; + } + return func(collection, baseIteratee(predicate, 3)); +} + +module.exports = every; diff --git a/dist/node_modules/lodash/extend.js b/dist/node_modules/lodash/extend.js new file mode 100644 index 00000000..e00166c2 --- /dev/null +++ b/dist/node_modules/lodash/extend.js @@ -0,0 +1 @@ +module.exports = require('./assignIn'); diff --git a/dist/node_modules/lodash/extendWith.js b/dist/node_modules/lodash/extendWith.js new file mode 100644 index 00000000..dbdcb3b4 --- /dev/null +++ b/dist/node_modules/lodash/extendWith.js @@ -0,0 +1 @@ +module.exports = require('./assignInWith'); diff --git a/dist/node_modules/lodash/fill.js b/dist/node_modules/lodash/fill.js new file mode 100644 index 00000000..ae13aa1c --- /dev/null +++ b/dist/node_modules/lodash/fill.js @@ -0,0 +1,45 @@ +var baseFill = require('./_baseFill'), + isIterateeCall = require('./_isIterateeCall'); + +/** + * Fills elements of `array` with `value` from `start` up to, but not + * including, `end`. + * + * **Note:** This method mutates `array`. + * + * @static + * @memberOf _ + * @since 3.2.0 + * @category Array + * @param {Array} array The array to fill. + * @param {*} value The value to fill `array` with. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns `array`. + * @example + * + * var array = [1, 2, 3]; + * + * _.fill(array, 'a'); + * console.log(array); + * // => ['a', 'a', 'a'] + * + * _.fill(Array(3), 2); + * // => [2, 2, 2] + * + * _.fill([4, 6, 8, 10], '*', 1, 3); + * // => [4, '*', '*', 10] + */ +function fill(array, value, start, end) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + if (start && typeof start != 'number' && isIterateeCall(array, value, start)) { + start = 0; + end = length; + } + return baseFill(array, value, start, end); +} + +module.exports = fill; diff --git a/dist/node_modules/lodash/filter.js b/dist/node_modules/lodash/filter.js new file mode 100644 index 00000000..89e0c8c4 --- /dev/null +++ b/dist/node_modules/lodash/filter.js @@ -0,0 +1,52 @@ +var arrayFilter = require('./_arrayFilter'), + baseFilter = require('./_baseFilter'), + baseIteratee = require('./_baseIteratee'), + isArray = require('./isArray'); + +/** + * Iterates over elements of `collection`, returning an array of all elements + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * **Note:** Unlike `_.remove`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + * @see _.reject + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * _.filter(users, function(o) { return !o.active; }); + * // => objects for ['fred'] + * + * // The `_.matches` iteratee shorthand. + * _.filter(users, { 'age': 36, 'active': true }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.filter(users, ['active', false]); + * // => objects for ['fred'] + * + * // The `_.property` iteratee shorthand. + * _.filter(users, 'active'); + * // => objects for ['barney'] + * + * // Combining several predicates using `_.overEvery` or `_.overSome`. + * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]])); + * // => objects for ['fred', 'barney'] + */ +function filter(collection, predicate) { + var func = isArray(collection) ? arrayFilter : baseFilter; + return func(collection, baseIteratee(predicate, 3)); +} + +module.exports = filter; diff --git a/dist/node_modules/lodash/find.js b/dist/node_modules/lodash/find.js new file mode 100644 index 00000000..de732ccb --- /dev/null +++ b/dist/node_modules/lodash/find.js @@ -0,0 +1,42 @@ +var createFind = require('./_createFind'), + findIndex = require('./findIndex'); + +/** + * Iterates over elements of `collection`, returning the first element + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {*} Returns the matched element, else `undefined`. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false }, + * { 'user': 'pebbles', 'age': 1, 'active': true } + * ]; + * + * _.find(users, function(o) { return o.age < 40; }); + * // => object for 'barney' + * + * // The `_.matches` iteratee shorthand. + * _.find(users, { 'age': 1, 'active': true }); + * // => object for 'pebbles' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.find(users, ['active', false]); + * // => object for 'fred' + * + * // The `_.property` iteratee shorthand. + * _.find(users, 'active'); + * // => object for 'barney' + */ +var find = createFind(findIndex); + +module.exports = find; diff --git a/dist/node_modules/lodash/findIndex.js b/dist/node_modules/lodash/findIndex.js new file mode 100644 index 00000000..4689069f --- /dev/null +++ b/dist/node_modules/lodash/findIndex.js @@ -0,0 +1,55 @@ +var baseFindIndex = require('./_baseFindIndex'), + baseIteratee = require('./_baseIteratee'), + toInteger = require('./toInteger'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * This method is like `_.find` except that it returns the index of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.findIndex(users, function(o) { return o.user == 'barney'; }); + * // => 0 + * + * // The `_.matches` iteratee shorthand. + * _.findIndex(users, { 'user': 'fred', 'active': false }); + * // => 1 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findIndex(users, ['active', false]); + * // => 0 + * + * // The `_.property` iteratee shorthand. + * _.findIndex(users, 'active'); + * // => 2 + */ +function findIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseFindIndex(array, baseIteratee(predicate, 3), index); +} + +module.exports = findIndex; diff --git a/dist/node_modules/lodash/findKey.js b/dist/node_modules/lodash/findKey.js new file mode 100644 index 00000000..cac0248a --- /dev/null +++ b/dist/node_modules/lodash/findKey.js @@ -0,0 +1,44 @@ +var baseFindKey = require('./_baseFindKey'), + baseForOwn = require('./_baseForOwn'), + baseIteratee = require('./_baseIteratee'); + +/** + * This method is like `_.find` except that it returns the key of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Object + * @param {Object} object The object to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {string|undefined} Returns the key of the matched element, + * else `undefined`. + * @example + * + * var users = { + * 'barney': { 'age': 36, 'active': true }, + * 'fred': { 'age': 40, 'active': false }, + * 'pebbles': { 'age': 1, 'active': true } + * }; + * + * _.findKey(users, function(o) { return o.age < 40; }); + * // => 'barney' (iteration order is not guaranteed) + * + * // The `_.matches` iteratee shorthand. + * _.findKey(users, { 'age': 1, 'active': true }); + * // => 'pebbles' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findKey(users, ['active', false]); + * // => 'fred' + * + * // The `_.property` iteratee shorthand. + * _.findKey(users, 'active'); + * // => 'barney' + */ +function findKey(object, predicate) { + return baseFindKey(object, baseIteratee(predicate, 3), baseForOwn); +} + +module.exports = findKey; diff --git a/dist/node_modules/lodash/findLast.js b/dist/node_modules/lodash/findLast.js new file mode 100644 index 00000000..70b4271d --- /dev/null +++ b/dist/node_modules/lodash/findLast.js @@ -0,0 +1,25 @@ +var createFind = require('./_createFind'), + findLastIndex = require('./findLastIndex'); + +/** + * This method is like `_.find` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Collection + * @param {Array|Object} collection The collection to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=collection.length-1] The index to search from. + * @returns {*} Returns the matched element, else `undefined`. + * @example + * + * _.findLast([1, 2, 3, 4], function(n) { + * return n % 2 == 1; + * }); + * // => 3 + */ +var findLast = createFind(findLastIndex); + +module.exports = findLast; diff --git a/dist/node_modules/lodash/findLastIndex.js b/dist/node_modules/lodash/findLastIndex.js new file mode 100644 index 00000000..7da3431f --- /dev/null +++ b/dist/node_modules/lodash/findLastIndex.js @@ -0,0 +1,59 @@ +var baseFindIndex = require('./_baseFindIndex'), + baseIteratee = require('./_baseIteratee'), + toInteger = require('./toInteger'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max, + nativeMin = Math.min; + +/** + * This method is like `_.findIndex` except that it iterates over elements + * of `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=array.length-1] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; }); + * // => 2 + * + * // The `_.matches` iteratee shorthand. + * _.findLastIndex(users, { 'user': 'barney', 'active': true }); + * // => 0 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findLastIndex(users, ['active', false]); + * // => 2 + * + * // The `_.property` iteratee shorthand. + * _.findLastIndex(users, 'active'); + * // => 0 + */ +function findLastIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = length - 1; + if (fromIndex !== undefined) { + index = toInteger(fromIndex); + index = fromIndex < 0 + ? nativeMax(length + index, 0) + : nativeMin(index, length - 1); + } + return baseFindIndex(array, baseIteratee(predicate, 3), index, true); +} + +module.exports = findLastIndex; diff --git a/dist/node_modules/lodash/findLastKey.js b/dist/node_modules/lodash/findLastKey.js new file mode 100644 index 00000000..66fb9fbc --- /dev/null +++ b/dist/node_modules/lodash/findLastKey.js @@ -0,0 +1,44 @@ +var baseFindKey = require('./_baseFindKey'), + baseForOwnRight = require('./_baseForOwnRight'), + baseIteratee = require('./_baseIteratee'); + +/** + * This method is like `_.findKey` except that it iterates over elements of + * a collection in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {string|undefined} Returns the key of the matched element, + * else `undefined`. + * @example + * + * var users = { + * 'barney': { 'age': 36, 'active': true }, + * 'fred': { 'age': 40, 'active': false }, + * 'pebbles': { 'age': 1, 'active': true } + * }; + * + * _.findLastKey(users, function(o) { return o.age < 40; }); + * // => returns 'pebbles' assuming `_.findKey` returns 'barney' + * + * // The `_.matches` iteratee shorthand. + * _.findLastKey(users, { 'age': 36, 'active': true }); + * // => 'barney' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findLastKey(users, ['active', false]); + * // => 'fred' + * + * // The `_.property` iteratee shorthand. + * _.findLastKey(users, 'active'); + * // => 'pebbles' + */ +function findLastKey(object, predicate) { + return baseFindKey(object, baseIteratee(predicate, 3), baseForOwnRight); +} + +module.exports = findLastKey; diff --git a/dist/node_modules/lodash/first.js b/dist/node_modules/lodash/first.js new file mode 100644 index 00000000..53f4ad13 --- /dev/null +++ b/dist/node_modules/lodash/first.js @@ -0,0 +1 @@ +module.exports = require('./head'); diff --git a/dist/node_modules/lodash/flatMap.js b/dist/node_modules/lodash/flatMap.js new file mode 100644 index 00000000..e6685068 --- /dev/null +++ b/dist/node_modules/lodash/flatMap.js @@ -0,0 +1,29 @@ +var baseFlatten = require('./_baseFlatten'), + map = require('./map'); + +/** + * Creates a flattened array of values by running each element in `collection` + * thru `iteratee` and flattening the mapped results. The iteratee is invoked + * with three arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [n, n]; + * } + * + * _.flatMap([1, 2], duplicate); + * // => [1, 1, 2, 2] + */ +function flatMap(collection, iteratee) { + return baseFlatten(map(collection, iteratee), 1); +} + +module.exports = flatMap; diff --git a/dist/node_modules/lodash/flatMapDeep.js b/dist/node_modules/lodash/flatMapDeep.js new file mode 100644 index 00000000..4653d603 --- /dev/null +++ b/dist/node_modules/lodash/flatMapDeep.js @@ -0,0 +1,31 @@ +var baseFlatten = require('./_baseFlatten'), + map = require('./map'); + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** + * This method is like `_.flatMap` except that it recursively flattens the + * mapped results. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [[[n, n]]]; + * } + * + * _.flatMapDeep([1, 2], duplicate); + * // => [1, 1, 2, 2] + */ +function flatMapDeep(collection, iteratee) { + return baseFlatten(map(collection, iteratee), INFINITY); +} + +module.exports = flatMapDeep; diff --git a/dist/node_modules/lodash/flatMapDepth.js b/dist/node_modules/lodash/flatMapDepth.js new file mode 100644 index 00000000..6d72005c --- /dev/null +++ b/dist/node_modules/lodash/flatMapDepth.js @@ -0,0 +1,31 @@ +var baseFlatten = require('./_baseFlatten'), + map = require('./map'), + toInteger = require('./toInteger'); + +/** + * This method is like `_.flatMap` except that it recursively flattens the + * mapped results up to `depth` times. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {number} [depth=1] The maximum recursion depth. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [[[n, n]]]; + * } + * + * _.flatMapDepth([1, 2], duplicate, 2); + * // => [[1, 1], [2, 2]] + */ +function flatMapDepth(collection, iteratee, depth) { + depth = depth === undefined ? 1 : toInteger(depth); + return baseFlatten(map(collection, iteratee), depth); +} + +module.exports = flatMapDepth; diff --git a/dist/node_modules/lodash/flatten.js b/dist/node_modules/lodash/flatten.js new file mode 100644 index 00000000..3f09f7f7 --- /dev/null +++ b/dist/node_modules/lodash/flatten.js @@ -0,0 +1,22 @@ +var baseFlatten = require('./_baseFlatten'); + +/** + * Flattens `array` a single level deep. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flatten([1, [2, [3, [4]], 5]]); + * // => [1, 2, [3, [4]], 5] + */ +function flatten(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, 1) : []; +} + +module.exports = flatten; diff --git a/dist/node_modules/lodash/flattenDeep.js b/dist/node_modules/lodash/flattenDeep.js new file mode 100644 index 00000000..8ad585cf --- /dev/null +++ b/dist/node_modules/lodash/flattenDeep.js @@ -0,0 +1,25 @@ +var baseFlatten = require('./_baseFlatten'); + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** + * Recursively flattens `array`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flattenDeep([1, [2, [3, [4]], 5]]); + * // => [1, 2, 3, 4, 5] + */ +function flattenDeep(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, INFINITY) : []; +} + +module.exports = flattenDeep; diff --git a/dist/node_modules/lodash/flattenDepth.js b/dist/node_modules/lodash/flattenDepth.js new file mode 100644 index 00000000..441fdcc2 --- /dev/null +++ b/dist/node_modules/lodash/flattenDepth.js @@ -0,0 +1,33 @@ +var baseFlatten = require('./_baseFlatten'), + toInteger = require('./toInteger'); + +/** + * Recursively flatten `array` up to `depth` times. + * + * @static + * @memberOf _ + * @since 4.4.0 + * @category Array + * @param {Array} array The array to flatten. + * @param {number} [depth=1] The maximum recursion depth. + * @returns {Array} Returns the new flattened array. + * @example + * + * var array = [1, [2, [3, [4]], 5]]; + * + * _.flattenDepth(array, 1); + * // => [1, 2, [3, [4]], 5] + * + * _.flattenDepth(array, 2); + * // => [1, 2, 3, [4], 5] + */ +function flattenDepth(array, depth) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + depth = depth === undefined ? 1 : toInteger(depth); + return baseFlatten(array, depth); +} + +module.exports = flattenDepth; diff --git a/dist/node_modules/lodash/flip.js b/dist/node_modules/lodash/flip.js new file mode 100644 index 00000000..c28dd789 --- /dev/null +++ b/dist/node_modules/lodash/flip.js @@ -0,0 +1,28 @@ +var createWrap = require('./_createWrap'); + +/** Used to compose bitmasks for function metadata. */ +var WRAP_FLIP_FLAG = 512; + +/** + * Creates a function that invokes `func` with arguments reversed. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Function + * @param {Function} func The function to flip arguments for. + * @returns {Function} Returns the new flipped function. + * @example + * + * var flipped = _.flip(function() { + * return _.toArray(arguments); + * }); + * + * flipped('a', 'b', 'c', 'd'); + * // => ['d', 'c', 'b', 'a'] + */ +function flip(func) { + return createWrap(func, WRAP_FLIP_FLAG); +} + +module.exports = flip; diff --git a/dist/node_modules/lodash/floor.js b/dist/node_modules/lodash/floor.js new file mode 100644 index 00000000..ab6dfa28 --- /dev/null +++ b/dist/node_modules/lodash/floor.js @@ -0,0 +1,26 @@ +var createRound = require('./_createRound'); + +/** + * Computes `number` rounded down to `precision`. + * + * @static + * @memberOf _ + * @since 3.10.0 + * @category Math + * @param {number} number The number to round down. + * @param {number} [precision=0] The precision to round down to. + * @returns {number} Returns the rounded down number. + * @example + * + * _.floor(4.006); + * // => 4 + * + * _.floor(0.046, 2); + * // => 0.04 + * + * _.floor(4060, -2); + * // => 4000 + */ +var floor = createRound('floor'); + +module.exports = floor; diff --git a/dist/node_modules/lodash/flow.js b/dist/node_modules/lodash/flow.js new file mode 100644 index 00000000..74b6b62d --- /dev/null +++ b/dist/node_modules/lodash/flow.js @@ -0,0 +1,27 @@ +var createFlow = require('./_createFlow'); + +/** + * Creates a function that returns the result of invoking the given functions + * with the `this` binding of the created function, where each successive + * invocation is supplied the return value of the previous. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Util + * @param {...(Function|Function[])} [funcs] The functions to invoke. + * @returns {Function} Returns the new composite function. + * @see _.flowRight + * @example + * + * function square(n) { + * return n * n; + * } + * + * var addSquare = _.flow([_.add, square]); + * addSquare(1, 2); + * // => 9 + */ +var flow = createFlow(); + +module.exports = flow; diff --git a/dist/node_modules/lodash/flowRight.js b/dist/node_modules/lodash/flowRight.js new file mode 100644 index 00000000..11461410 --- /dev/null +++ b/dist/node_modules/lodash/flowRight.js @@ -0,0 +1,26 @@ +var createFlow = require('./_createFlow'); + +/** + * This method is like `_.flow` except that it creates a function that + * invokes the given functions from right to left. + * + * @static + * @since 3.0.0 + * @memberOf _ + * @category Util + * @param {...(Function|Function[])} [funcs] The functions to invoke. + * @returns {Function} Returns the new composite function. + * @see _.flow + * @example + * + * function square(n) { + * return n * n; + * } + * + * var addSquare = _.flowRight([square, _.add]); + * addSquare(1, 2); + * // => 9 + */ +var flowRight = createFlow(true); + +module.exports = flowRight; diff --git a/dist/node_modules/lodash/forEach.js b/dist/node_modules/lodash/forEach.js new file mode 100644 index 00000000..c64eaa73 --- /dev/null +++ b/dist/node_modules/lodash/forEach.js @@ -0,0 +1,41 @@ +var arrayEach = require('./_arrayEach'), + baseEach = require('./_baseEach'), + castFunction = require('./_castFunction'), + isArray = require('./isArray'); + +/** + * Iterates over elements of `collection` and invokes `iteratee` for each element. + * The iteratee is invoked with three arguments: (value, index|key, collection). + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * **Note:** As with other "Collections" methods, objects with a "length" + * property are iterated like arrays. To avoid this behavior use `_.forIn` + * or `_.forOwn` for object iteration. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @alias each + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + * @see _.forEachRight + * @example + * + * _.forEach([1, 2], function(value) { + * console.log(value); + * }); + * // => Logs `1` then `2`. + * + * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ +function forEach(collection, iteratee) { + var func = isArray(collection) ? arrayEach : baseEach; + return func(collection, castFunction(iteratee)); +} + +module.exports = forEach; diff --git a/dist/node_modules/lodash/forEachRight.js b/dist/node_modules/lodash/forEachRight.js new file mode 100644 index 00000000..7390ebaf --- /dev/null +++ b/dist/node_modules/lodash/forEachRight.js @@ -0,0 +1,31 @@ +var arrayEachRight = require('./_arrayEachRight'), + baseEachRight = require('./_baseEachRight'), + castFunction = require('./_castFunction'), + isArray = require('./isArray'); + +/** + * This method is like `_.forEach` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @alias eachRight + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + * @see _.forEach + * @example + * + * _.forEachRight([1, 2], function(value) { + * console.log(value); + * }); + * // => Logs `2` then `1`. + */ +function forEachRight(collection, iteratee) { + var func = isArray(collection) ? arrayEachRight : baseEachRight; + return func(collection, castFunction(iteratee)); +} + +module.exports = forEachRight; diff --git a/dist/node_modules/lodash/forIn.js b/dist/node_modules/lodash/forIn.js new file mode 100644 index 00000000..583a5963 --- /dev/null +++ b/dist/node_modules/lodash/forIn.js @@ -0,0 +1,39 @@ +var baseFor = require('./_baseFor'), + castFunction = require('./_castFunction'), + keysIn = require('./keysIn'); + +/** + * Iterates over own and inherited enumerable string keyed properties of an + * object and invokes `iteratee` for each property. The iteratee is invoked + * with three arguments: (value, key, object). Iteratee functions may exit + * iteration early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 0.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forInRight + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forIn(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed). + */ +function forIn(object, iteratee) { + return object == null + ? object + : baseFor(object, castFunction(iteratee), keysIn); +} + +module.exports = forIn; diff --git a/dist/node_modules/lodash/forInRight.js b/dist/node_modules/lodash/forInRight.js new file mode 100644 index 00000000..4aedf58a --- /dev/null +++ b/dist/node_modules/lodash/forInRight.js @@ -0,0 +1,37 @@ +var baseForRight = require('./_baseForRight'), + castFunction = require('./_castFunction'), + keysIn = require('./keysIn'); + +/** + * This method is like `_.forIn` except that it iterates over properties of + * `object` in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forIn + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forInRight(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'. + */ +function forInRight(object, iteratee) { + return object == null + ? object + : baseForRight(object, castFunction(iteratee), keysIn); +} + +module.exports = forInRight; diff --git a/dist/node_modules/lodash/forOwn.js b/dist/node_modules/lodash/forOwn.js new file mode 100644 index 00000000..94eed840 --- /dev/null +++ b/dist/node_modules/lodash/forOwn.js @@ -0,0 +1,36 @@ +var baseForOwn = require('./_baseForOwn'), + castFunction = require('./_castFunction'); + +/** + * Iterates over own enumerable string keyed properties of an object and + * invokes `iteratee` for each property. The iteratee is invoked with three + * arguments: (value, key, object). Iteratee functions may exit iteration + * early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 0.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forOwnRight + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forOwn(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ +function forOwn(object, iteratee) { + return object && baseForOwn(object, castFunction(iteratee)); +} + +module.exports = forOwn; diff --git a/dist/node_modules/lodash/forOwnRight.js b/dist/node_modules/lodash/forOwnRight.js new file mode 100644 index 00000000..86f338f0 --- /dev/null +++ b/dist/node_modules/lodash/forOwnRight.js @@ -0,0 +1,34 @@ +var baseForOwnRight = require('./_baseForOwnRight'), + castFunction = require('./_castFunction'); + +/** + * This method is like `_.forOwn` except that it iterates over properties of + * `object` in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forOwn + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forOwnRight(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'. + */ +function forOwnRight(object, iteratee) { + return object && baseForOwnRight(object, castFunction(iteratee)); +} + +module.exports = forOwnRight; diff --git a/dist/node_modules/lodash/fp.js b/dist/node_modules/lodash/fp.js new file mode 100644 index 00000000..e372dbbd --- /dev/null +++ b/dist/node_modules/lodash/fp.js @@ -0,0 +1,2 @@ +var _ = require('./lodash.min').runInContext(); +module.exports = require('./fp/_baseConvert')(_, _); diff --git a/dist/node_modules/lodash/fp/F.js b/dist/node_modules/lodash/fp/F.js new file mode 100644 index 00000000..a05a63ad --- /dev/null +++ b/dist/node_modules/lodash/fp/F.js @@ -0,0 +1 @@ +module.exports = require('./stubFalse'); diff --git a/dist/node_modules/lodash/fp/T.js b/dist/node_modules/lodash/fp/T.js new file mode 100644 index 00000000..e2ba8ea5 --- /dev/null +++ b/dist/node_modules/lodash/fp/T.js @@ -0,0 +1 @@ +module.exports = require('./stubTrue'); diff --git a/dist/node_modules/lodash/fp/__.js b/dist/node_modules/lodash/fp/__.js new file mode 100644 index 00000000..4af98deb --- /dev/null +++ b/dist/node_modules/lodash/fp/__.js @@ -0,0 +1 @@ +module.exports = require('./placeholder'); diff --git a/dist/node_modules/lodash/fp/_baseConvert.js b/dist/node_modules/lodash/fp/_baseConvert.js new file mode 100644 index 00000000..9baf8e19 --- /dev/null +++ b/dist/node_modules/lodash/fp/_baseConvert.js @@ -0,0 +1,569 @@ +var mapping = require('./_mapping'), + fallbackHolder = require('./placeholder'); + +/** Built-in value reference. */ +var push = Array.prototype.push; + +/** + * Creates a function, with an arity of `n`, that invokes `func` with the + * arguments it receives. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} n The arity of the new function. + * @returns {Function} Returns the new function. + */ +function baseArity(func, n) { + return n == 2 + ? function(a, b) { return func.apply(undefined, arguments); } + : function(a) { return func.apply(undefined, arguments); }; +} + +/** + * Creates a function that invokes `func`, with up to `n` arguments, ignoring + * any additional arguments. + * + * @private + * @param {Function} func The function to cap arguments for. + * @param {number} n The arity cap. + * @returns {Function} Returns the new function. + */ +function baseAry(func, n) { + return n == 2 + ? function(a, b) { return func(a, b); } + : function(a) { return func(a); }; +} + +/** + * Creates a clone of `array`. + * + * @private + * @param {Array} array The array to clone. + * @returns {Array} Returns the cloned array. + */ +function cloneArray(array) { + var length = array ? array.length : 0, + result = Array(length); + + while (length--) { + result[length] = array[length]; + } + return result; +} + +/** + * Creates a function that clones a given object using the assignment `func`. + * + * @private + * @param {Function} func The assignment function. + * @returns {Function} Returns the new cloner function. + */ +function createCloner(func) { + return function(object) { + return func({}, object); + }; +} + +/** + * A specialized version of `_.spread` which flattens the spread array into + * the arguments of the invoked `func`. + * + * @private + * @param {Function} func The function to spread arguments over. + * @param {number} start The start position of the spread. + * @returns {Function} Returns the new function. + */ +function flatSpread(func, start) { + return function() { + var length = arguments.length, + lastIndex = length - 1, + args = Array(length); + + while (length--) { + args[length] = arguments[length]; + } + var array = args[start], + otherArgs = args.slice(0, start); + + if (array) { + push.apply(otherArgs, array); + } + if (start != lastIndex) { + push.apply(otherArgs, args.slice(start + 1)); + } + return func.apply(this, otherArgs); + }; +} + +/** + * Creates a function that wraps `func` and uses `cloner` to clone the first + * argument it receives. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} cloner The function to clone arguments. + * @returns {Function} Returns the new immutable function. + */ +function wrapImmutable(func, cloner) { + return function() { + var length = arguments.length; + if (!length) { + return; + } + var args = Array(length); + while (length--) { + args[length] = arguments[length]; + } + var result = args[0] = cloner.apply(undefined, args); + func.apply(undefined, args); + return result; + }; +} + +/** + * The base implementation of `convert` which accepts a `util` object of methods + * required to perform conversions. + * + * @param {Object} util The util object. + * @param {string} name The name of the function to convert. + * @param {Function} func The function to convert. + * @param {Object} [options] The options object. + * @param {boolean} [options.cap=true] Specify capping iteratee arguments. + * @param {boolean} [options.curry=true] Specify currying. + * @param {boolean} [options.fixed=true] Specify fixed arity. + * @param {boolean} [options.immutable=true] Specify immutable operations. + * @param {boolean} [options.rearg=true] Specify rearranging arguments. + * @returns {Function|Object} Returns the converted function or object. + */ +function baseConvert(util, name, func, options) { + var isLib = typeof name == 'function', + isObj = name === Object(name); + + if (isObj) { + options = func; + func = name; + name = undefined; + } + if (func == null) { + throw new TypeError; + } + options || (options = {}); + + var config = { + 'cap': 'cap' in options ? options.cap : true, + 'curry': 'curry' in options ? options.curry : true, + 'fixed': 'fixed' in options ? options.fixed : true, + 'immutable': 'immutable' in options ? options.immutable : true, + 'rearg': 'rearg' in options ? options.rearg : true + }; + + var defaultHolder = isLib ? func : fallbackHolder, + forceCurry = ('curry' in options) && options.curry, + forceFixed = ('fixed' in options) && options.fixed, + forceRearg = ('rearg' in options) && options.rearg, + pristine = isLib ? func.runInContext() : undefined; + + var helpers = isLib ? func : { + 'ary': util.ary, + 'assign': util.assign, + 'clone': util.clone, + 'curry': util.curry, + 'forEach': util.forEach, + 'isArray': util.isArray, + 'isError': util.isError, + 'isFunction': util.isFunction, + 'isWeakMap': util.isWeakMap, + 'iteratee': util.iteratee, + 'keys': util.keys, + 'rearg': util.rearg, + 'toInteger': util.toInteger, + 'toPath': util.toPath + }; + + var ary = helpers.ary, + assign = helpers.assign, + clone = helpers.clone, + curry = helpers.curry, + each = helpers.forEach, + isArray = helpers.isArray, + isError = helpers.isError, + isFunction = helpers.isFunction, + isWeakMap = helpers.isWeakMap, + keys = helpers.keys, + rearg = helpers.rearg, + toInteger = helpers.toInteger, + toPath = helpers.toPath; + + var aryMethodKeys = keys(mapping.aryMethod); + + var wrappers = { + 'castArray': function(castArray) { + return function() { + var value = arguments[0]; + return isArray(value) + ? castArray(cloneArray(value)) + : castArray.apply(undefined, arguments); + }; + }, + 'iteratee': function(iteratee) { + return function() { + var func = arguments[0], + arity = arguments[1], + result = iteratee(func, arity), + length = result.length; + + if (config.cap && typeof arity == 'number') { + arity = arity > 2 ? (arity - 2) : 1; + return (length && length <= arity) ? result : baseAry(result, arity); + } + return result; + }; + }, + 'mixin': function(mixin) { + return function(source) { + var func = this; + if (!isFunction(func)) { + return mixin(func, Object(source)); + } + var pairs = []; + each(keys(source), function(key) { + if (isFunction(source[key])) { + pairs.push([key, func.prototype[key]]); + } + }); + + mixin(func, Object(source)); + + each(pairs, function(pair) { + var value = pair[1]; + if (isFunction(value)) { + func.prototype[pair[0]] = value; + } else { + delete func.prototype[pair[0]]; + } + }); + return func; + }; + }, + 'nthArg': function(nthArg) { + return function(n) { + var arity = n < 0 ? 1 : (toInteger(n) + 1); + return curry(nthArg(n), arity); + }; + }, + 'rearg': function(rearg) { + return function(func, indexes) { + var arity = indexes ? indexes.length : 0; + return curry(rearg(func, indexes), arity); + }; + }, + 'runInContext': function(runInContext) { + return function(context) { + return baseConvert(util, runInContext(context), options); + }; + } + }; + + /*--------------------------------------------------------------------------*/ + + /** + * Casts `func` to a function with an arity capped iteratee if needed. + * + * @private + * @param {string} name The name of the function to inspect. + * @param {Function} func The function to inspect. + * @returns {Function} Returns the cast function. + */ + function castCap(name, func) { + if (config.cap) { + var indexes = mapping.iterateeRearg[name]; + if (indexes) { + return iterateeRearg(func, indexes); + } + var n = !isLib && mapping.iterateeAry[name]; + if (n) { + return iterateeAry(func, n); + } + } + return func; + } + + /** + * Casts `func` to a curried function if needed. + * + * @private + * @param {string} name The name of the function to inspect. + * @param {Function} func The function to inspect. + * @param {number} n The arity of `func`. + * @returns {Function} Returns the cast function. + */ + function castCurry(name, func, n) { + return (forceCurry || (config.curry && n > 1)) + ? curry(func, n) + : func; + } + + /** + * Casts `func` to a fixed arity function if needed. + * + * @private + * @param {string} name The name of the function to inspect. + * @param {Function} func The function to inspect. + * @param {number} n The arity cap. + * @returns {Function} Returns the cast function. + */ + function castFixed(name, func, n) { + if (config.fixed && (forceFixed || !mapping.skipFixed[name])) { + var data = mapping.methodSpread[name], + start = data && data.start; + + return start === undefined ? ary(func, n) : flatSpread(func, start); + } + return func; + } + + /** + * Casts `func` to an rearged function if needed. + * + * @private + * @param {string} name The name of the function to inspect. + * @param {Function} func The function to inspect. + * @param {number} n The arity of `func`. + * @returns {Function} Returns the cast function. + */ + function castRearg(name, func, n) { + return (config.rearg && n > 1 && (forceRearg || !mapping.skipRearg[name])) + ? rearg(func, mapping.methodRearg[name] || mapping.aryRearg[n]) + : func; + } + + /** + * Creates a clone of `object` by `path`. + * + * @private + * @param {Object} object The object to clone. + * @param {Array|string} path The path to clone by. + * @returns {Object} Returns the cloned object. + */ + function cloneByPath(object, path) { + path = toPath(path); + + var index = -1, + length = path.length, + lastIndex = length - 1, + result = clone(Object(object)), + nested = result; + + while (nested != null && ++index < length) { + var key = path[index], + value = nested[key]; + + if (value != null && + !(isFunction(value) || isError(value) || isWeakMap(value))) { + nested[key] = clone(index == lastIndex ? value : Object(value)); + } + nested = nested[key]; + } + return result; + } + + /** + * Converts `lodash` to an immutable auto-curried iteratee-first data-last + * version with conversion `options` applied. + * + * @param {Object} [options] The options object. See `baseConvert` for more details. + * @returns {Function} Returns the converted `lodash`. + */ + function convertLib(options) { + return _.runInContext.convert(options)(undefined); + } + + /** + * Create a converter function for `func` of `name`. + * + * @param {string} name The name of the function to convert. + * @param {Function} func The function to convert. + * @returns {Function} Returns the new converter function. + */ + function createConverter(name, func) { + var realName = mapping.aliasToReal[name] || name, + methodName = mapping.remap[realName] || realName, + oldOptions = options; + + return function(options) { + var newUtil = isLib ? pristine : helpers, + newFunc = isLib ? pristine[methodName] : func, + newOptions = assign(assign({}, oldOptions), options); + + return baseConvert(newUtil, realName, newFunc, newOptions); + }; + } + + /** + * Creates a function that wraps `func` to invoke its iteratee, with up to `n` + * arguments, ignoring any additional arguments. + * + * @private + * @param {Function} func The function to cap iteratee arguments for. + * @param {number} n The arity cap. + * @returns {Function} Returns the new function. + */ + function iterateeAry(func, n) { + return overArg(func, function(func) { + return typeof func == 'function' ? baseAry(func, n) : func; + }); + } + + /** + * Creates a function that wraps `func` to invoke its iteratee with arguments + * arranged according to the specified `indexes` where the argument value at + * the first index is provided as the first argument, the argument value at + * the second index is provided as the second argument, and so on. + * + * @private + * @param {Function} func The function to rearrange iteratee arguments for. + * @param {number[]} indexes The arranged argument indexes. + * @returns {Function} Returns the new function. + */ + function iterateeRearg(func, indexes) { + return overArg(func, function(func) { + var n = indexes.length; + return baseArity(rearg(baseAry(func, n), indexes), n); + }); + } + + /** + * Creates a function that invokes `func` with its first argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ + function overArg(func, transform) { + return function() { + var length = arguments.length; + if (!length) { + return func(); + } + var args = Array(length); + while (length--) { + args[length] = arguments[length]; + } + var index = config.rearg ? 0 : (length - 1); + args[index] = transform(args[index]); + return func.apply(undefined, args); + }; + } + + /** + * Creates a function that wraps `func` and applys the conversions + * rules by `name`. + * + * @private + * @param {string} name The name of the function to wrap. + * @param {Function} func The function to wrap. + * @returns {Function} Returns the converted function. + */ + function wrap(name, func, placeholder) { + var result, + realName = mapping.aliasToReal[name] || name, + wrapped = func, + wrapper = wrappers[realName]; + + if (wrapper) { + wrapped = wrapper(func); + } + else if (config.immutable) { + if (mapping.mutate.array[realName]) { + wrapped = wrapImmutable(func, cloneArray); + } + else if (mapping.mutate.object[realName]) { + wrapped = wrapImmutable(func, createCloner(func)); + } + else if (mapping.mutate.set[realName]) { + wrapped = wrapImmutable(func, cloneByPath); + } + } + each(aryMethodKeys, function(aryKey) { + each(mapping.aryMethod[aryKey], function(otherName) { + if (realName == otherName) { + var data = mapping.methodSpread[realName], + afterRearg = data && data.afterRearg; + + result = afterRearg + ? castFixed(realName, castRearg(realName, wrapped, aryKey), aryKey) + : castRearg(realName, castFixed(realName, wrapped, aryKey), aryKey); + + result = castCap(realName, result); + result = castCurry(realName, result, aryKey); + return false; + } + }); + return !result; + }); + + result || (result = wrapped); + if (result == func) { + result = forceCurry ? curry(result, 1) : function() { + return func.apply(this, arguments); + }; + } + result.convert = createConverter(realName, func); + result.placeholder = func.placeholder = placeholder; + + return result; + } + + /*--------------------------------------------------------------------------*/ + + if (!isObj) { + return wrap(name, func, defaultHolder); + } + var _ = func; + + // Convert methods by ary cap. + var pairs = []; + each(aryMethodKeys, function(aryKey) { + each(mapping.aryMethod[aryKey], function(key) { + var func = _[mapping.remap[key] || key]; + if (func) { + pairs.push([key, wrap(key, func, _)]); + } + }); + }); + + // Convert remaining methods. + each(keys(_), function(key) { + var func = _[key]; + if (typeof func == 'function') { + var length = pairs.length; + while (length--) { + if (pairs[length][0] == key) { + return; + } + } + func.convert = createConverter(key, func); + pairs.push([key, func]); + } + }); + + // Assign to `_` leaving `_.prototype` unchanged to allow chaining. + each(pairs, function(pair) { + _[pair[0]] = pair[1]; + }); + + _.convert = convertLib; + _.placeholder = _; + + // Assign aliases. + each(keys(_), function(key) { + each(mapping.realToAlias[key] || [], function(alias) { + _[alias] = _[key]; + }); + }); + + return _; +} + +module.exports = baseConvert; diff --git a/dist/node_modules/lodash/fp/_convertBrowser.js b/dist/node_modules/lodash/fp/_convertBrowser.js new file mode 100644 index 00000000..bde030dc --- /dev/null +++ b/dist/node_modules/lodash/fp/_convertBrowser.js @@ -0,0 +1,18 @@ +var baseConvert = require('./_baseConvert'); + +/** + * Converts `lodash` to an immutable auto-curried iteratee-first data-last + * version with conversion `options` applied. + * + * @param {Function} lodash The lodash function to convert. + * @param {Object} [options] The options object. See `baseConvert` for more details. + * @returns {Function} Returns the converted `lodash`. + */ +function browserConvert(lodash, options) { + return baseConvert(lodash, lodash, options); +} + +if (typeof _ == 'function' && typeof _.runInContext == 'function') { + _ = browserConvert(_.runInContext()); +} +module.exports = browserConvert; diff --git a/dist/node_modules/lodash/fp/_falseOptions.js b/dist/node_modules/lodash/fp/_falseOptions.js new file mode 100644 index 00000000..773235e3 --- /dev/null +++ b/dist/node_modules/lodash/fp/_falseOptions.js @@ -0,0 +1,7 @@ +module.exports = { + 'cap': false, + 'curry': false, + 'fixed': false, + 'immutable': false, + 'rearg': false +}; diff --git a/dist/node_modules/lodash/fp/_mapping.js b/dist/node_modules/lodash/fp/_mapping.js new file mode 100644 index 00000000..a642ec05 --- /dev/null +++ b/dist/node_modules/lodash/fp/_mapping.js @@ -0,0 +1,358 @@ +/** Used to map aliases to their real names. */ +exports.aliasToReal = { + + // Lodash aliases. + 'each': 'forEach', + 'eachRight': 'forEachRight', + 'entries': 'toPairs', + 'entriesIn': 'toPairsIn', + 'extend': 'assignIn', + 'extendAll': 'assignInAll', + 'extendAllWith': 'assignInAllWith', + 'extendWith': 'assignInWith', + 'first': 'head', + + // Methods that are curried variants of others. + 'conforms': 'conformsTo', + 'matches': 'isMatch', + 'property': 'get', + + // Ramda aliases. + '__': 'placeholder', + 'F': 'stubFalse', + 'T': 'stubTrue', + 'all': 'every', + 'allPass': 'overEvery', + 'always': 'constant', + 'any': 'some', + 'anyPass': 'overSome', + 'apply': 'spread', + 'assoc': 'set', + 'assocPath': 'set', + 'complement': 'negate', + 'compose': 'flowRight', + 'contains': 'includes', + 'dissoc': 'unset', + 'dissocPath': 'unset', + 'dropLast': 'dropRight', + 'dropLastWhile': 'dropRightWhile', + 'equals': 'isEqual', + 'identical': 'eq', + 'indexBy': 'keyBy', + 'init': 'initial', + 'invertObj': 'invert', + 'juxt': 'over', + 'omitAll': 'omit', + 'nAry': 'ary', + 'path': 'get', + 'pathEq': 'matchesProperty', + 'pathOr': 'getOr', + 'paths': 'at', + 'pickAll': 'pick', + 'pipe': 'flow', + 'pluck': 'map', + 'prop': 'get', + 'propEq': 'matchesProperty', + 'propOr': 'getOr', + 'props': 'at', + 'symmetricDifference': 'xor', + 'symmetricDifferenceBy': 'xorBy', + 'symmetricDifferenceWith': 'xorWith', + 'takeLast': 'takeRight', + 'takeLastWhile': 'takeRightWhile', + 'unapply': 'rest', + 'unnest': 'flatten', + 'useWith': 'overArgs', + 'where': 'conformsTo', + 'whereEq': 'isMatch', + 'zipObj': 'zipObject' +}; + +/** Used to map ary to method names. */ +exports.aryMethod = { + '1': [ + 'assignAll', 'assignInAll', 'attempt', 'castArray', 'ceil', 'create', + 'curry', 'curryRight', 'defaultsAll', 'defaultsDeepAll', 'floor', 'flow', + 'flowRight', 'fromPairs', 'invert', 'iteratee', 'memoize', 'method', 'mergeAll', + 'methodOf', 'mixin', 'nthArg', 'over', 'overEvery', 'overSome','rest', 'reverse', + 'round', 'runInContext', 'spread', 'template', 'trim', 'trimEnd', 'trimStart', + 'uniqueId', 'words', 'zipAll' + ], + '2': [ + 'add', 'after', 'ary', 'assign', 'assignAllWith', 'assignIn', 'assignInAllWith', + 'at', 'before', 'bind', 'bindAll', 'bindKey', 'chunk', 'cloneDeepWith', + 'cloneWith', 'concat', 'conformsTo', 'countBy', 'curryN', 'curryRightN', + 'debounce', 'defaults', 'defaultsDeep', 'defaultTo', 'delay', 'difference', + 'divide', 'drop', 'dropRight', 'dropRightWhile', 'dropWhile', 'endsWith', 'eq', + 'every', 'filter', 'find', 'findIndex', 'findKey', 'findLast', 'findLastIndex', + 'findLastKey', 'flatMap', 'flatMapDeep', 'flattenDepth', 'forEach', + 'forEachRight', 'forIn', 'forInRight', 'forOwn', 'forOwnRight', 'get', + 'groupBy', 'gt', 'gte', 'has', 'hasIn', 'includes', 'indexOf', 'intersection', + 'invertBy', 'invoke', 'invokeMap', 'isEqual', 'isMatch', 'join', 'keyBy', + 'lastIndexOf', 'lt', 'lte', 'map', 'mapKeys', 'mapValues', 'matchesProperty', + 'maxBy', 'meanBy', 'merge', 'mergeAllWith', 'minBy', 'multiply', 'nth', 'omit', + 'omitBy', 'overArgs', 'pad', 'padEnd', 'padStart', 'parseInt', 'partial', + 'partialRight', 'partition', 'pick', 'pickBy', 'propertyOf', 'pull', 'pullAll', + 'pullAt', 'random', 'range', 'rangeRight', 'rearg', 'reject', 'remove', + 'repeat', 'restFrom', 'result', 'sampleSize', 'some', 'sortBy', 'sortedIndex', + 'sortedIndexOf', 'sortedLastIndex', 'sortedLastIndexOf', 'sortedUniqBy', + 'split', 'spreadFrom', 'startsWith', 'subtract', 'sumBy', 'take', 'takeRight', + 'takeRightWhile', 'takeWhile', 'tap', 'throttle', 'thru', 'times', 'trimChars', + 'trimCharsEnd', 'trimCharsStart', 'truncate', 'union', 'uniqBy', 'uniqWith', + 'unset', 'unzipWith', 'without', 'wrap', 'xor', 'zip', 'zipObject', + 'zipObjectDeep' + ], + '3': [ + 'assignInWith', 'assignWith', 'clamp', 'differenceBy', 'differenceWith', + 'findFrom', 'findIndexFrom', 'findLastFrom', 'findLastIndexFrom', 'getOr', + 'includesFrom', 'indexOfFrom', 'inRange', 'intersectionBy', 'intersectionWith', + 'invokeArgs', 'invokeArgsMap', 'isEqualWith', 'isMatchWith', 'flatMapDepth', + 'lastIndexOfFrom', 'mergeWith', 'orderBy', 'padChars', 'padCharsEnd', + 'padCharsStart', 'pullAllBy', 'pullAllWith', 'rangeStep', 'rangeStepRight', + 'reduce', 'reduceRight', 'replace', 'set', 'slice', 'sortedIndexBy', + 'sortedLastIndexBy', 'transform', 'unionBy', 'unionWith', 'update', 'xorBy', + 'xorWith', 'zipWith' + ], + '4': [ + 'fill', 'setWith', 'updateWith' + ] +}; + +/** Used to map ary to rearg configs. */ +exports.aryRearg = { + '2': [1, 0], + '3': [2, 0, 1], + '4': [3, 2, 0, 1] +}; + +/** Used to map method names to their iteratee ary. */ +exports.iterateeAry = { + 'dropRightWhile': 1, + 'dropWhile': 1, + 'every': 1, + 'filter': 1, + 'find': 1, + 'findFrom': 1, + 'findIndex': 1, + 'findIndexFrom': 1, + 'findKey': 1, + 'findLast': 1, + 'findLastFrom': 1, + 'findLastIndex': 1, + 'findLastIndexFrom': 1, + 'findLastKey': 1, + 'flatMap': 1, + 'flatMapDeep': 1, + 'flatMapDepth': 1, + 'forEach': 1, + 'forEachRight': 1, + 'forIn': 1, + 'forInRight': 1, + 'forOwn': 1, + 'forOwnRight': 1, + 'map': 1, + 'mapKeys': 1, + 'mapValues': 1, + 'partition': 1, + 'reduce': 2, + 'reduceRight': 2, + 'reject': 1, + 'remove': 1, + 'some': 1, + 'takeRightWhile': 1, + 'takeWhile': 1, + 'times': 1, + 'transform': 2 +}; + +/** Used to map method names to iteratee rearg configs. */ +exports.iterateeRearg = { + 'mapKeys': [1], + 'reduceRight': [1, 0] +}; + +/** Used to map method names to rearg configs. */ +exports.methodRearg = { + 'assignInAllWith': [1, 0], + 'assignInWith': [1, 2, 0], + 'assignAllWith': [1, 0], + 'assignWith': [1, 2, 0], + 'differenceBy': [1, 2, 0], + 'differenceWith': [1, 2, 0], + 'getOr': [2, 1, 0], + 'intersectionBy': [1, 2, 0], + 'intersectionWith': [1, 2, 0], + 'isEqualWith': [1, 2, 0], + 'isMatchWith': [2, 1, 0], + 'mergeAllWith': [1, 0], + 'mergeWith': [1, 2, 0], + 'padChars': [2, 1, 0], + 'padCharsEnd': [2, 1, 0], + 'padCharsStart': [2, 1, 0], + 'pullAllBy': [2, 1, 0], + 'pullAllWith': [2, 1, 0], + 'rangeStep': [1, 2, 0], + 'rangeStepRight': [1, 2, 0], + 'setWith': [3, 1, 2, 0], + 'sortedIndexBy': [2, 1, 0], + 'sortedLastIndexBy': [2, 1, 0], + 'unionBy': [1, 2, 0], + 'unionWith': [1, 2, 0], + 'updateWith': [3, 1, 2, 0], + 'xorBy': [1, 2, 0], + 'xorWith': [1, 2, 0], + 'zipWith': [1, 2, 0] +}; + +/** Used to map method names to spread configs. */ +exports.methodSpread = { + 'assignAll': { 'start': 0 }, + 'assignAllWith': { 'start': 0 }, + 'assignInAll': { 'start': 0 }, + 'assignInAllWith': { 'start': 0 }, + 'defaultsAll': { 'start': 0 }, + 'defaultsDeepAll': { 'start': 0 }, + 'invokeArgs': { 'start': 2 }, + 'invokeArgsMap': { 'start': 2 }, + 'mergeAll': { 'start': 0 }, + 'mergeAllWith': { 'start': 0 }, + 'partial': { 'start': 1 }, + 'partialRight': { 'start': 1 }, + 'without': { 'start': 1 }, + 'zipAll': { 'start': 0 } +}; + +/** Used to identify methods which mutate arrays or objects. */ +exports.mutate = { + 'array': { + 'fill': true, + 'pull': true, + 'pullAll': true, + 'pullAllBy': true, + 'pullAllWith': true, + 'pullAt': true, + 'remove': true, + 'reverse': true + }, + 'object': { + 'assign': true, + 'assignAll': true, + 'assignAllWith': true, + 'assignIn': true, + 'assignInAll': true, + 'assignInAllWith': true, + 'assignInWith': true, + 'assignWith': true, + 'defaults': true, + 'defaultsAll': true, + 'defaultsDeep': true, + 'defaultsDeepAll': true, + 'merge': true, + 'mergeAll': true, + 'mergeAllWith': true, + 'mergeWith': true, + }, + 'set': { + 'set': true, + 'setWith': true, + 'unset': true, + 'update': true, + 'updateWith': true + } +}; + +/** Used to map real names to their aliases. */ +exports.realToAlias = (function() { + var hasOwnProperty = Object.prototype.hasOwnProperty, + object = exports.aliasToReal, + result = {}; + + for (var key in object) { + var value = object[key]; + if (hasOwnProperty.call(result, value)) { + result[value].push(key); + } else { + result[value] = [key]; + } + } + return result; +}()); + +/** Used to map method names to other names. */ +exports.remap = { + 'assignAll': 'assign', + 'assignAllWith': 'assignWith', + 'assignInAll': 'assignIn', + 'assignInAllWith': 'assignInWith', + 'curryN': 'curry', + 'curryRightN': 'curryRight', + 'defaultsAll': 'defaults', + 'defaultsDeepAll': 'defaultsDeep', + 'findFrom': 'find', + 'findIndexFrom': 'findIndex', + 'findLastFrom': 'findLast', + 'findLastIndexFrom': 'findLastIndex', + 'getOr': 'get', + 'includesFrom': 'includes', + 'indexOfFrom': 'indexOf', + 'invokeArgs': 'invoke', + 'invokeArgsMap': 'invokeMap', + 'lastIndexOfFrom': 'lastIndexOf', + 'mergeAll': 'merge', + 'mergeAllWith': 'mergeWith', + 'padChars': 'pad', + 'padCharsEnd': 'padEnd', + 'padCharsStart': 'padStart', + 'propertyOf': 'get', + 'rangeStep': 'range', + 'rangeStepRight': 'rangeRight', + 'restFrom': 'rest', + 'spreadFrom': 'spread', + 'trimChars': 'trim', + 'trimCharsEnd': 'trimEnd', + 'trimCharsStart': 'trimStart', + 'zipAll': 'zip' +}; + +/** Used to track methods that skip fixing their arity. */ +exports.skipFixed = { + 'castArray': true, + 'flow': true, + 'flowRight': true, + 'iteratee': true, + 'mixin': true, + 'rearg': true, + 'runInContext': true +}; + +/** Used to track methods that skip rearranging arguments. */ +exports.skipRearg = { + 'add': true, + 'assign': true, + 'assignIn': true, + 'bind': true, + 'bindKey': true, + 'concat': true, + 'difference': true, + 'divide': true, + 'eq': true, + 'gt': true, + 'gte': true, + 'isEqual': true, + 'lt': true, + 'lte': true, + 'matchesProperty': true, + 'merge': true, + 'multiply': true, + 'overArgs': true, + 'partial': true, + 'partialRight': true, + 'propertyOf': true, + 'random': true, + 'range': true, + 'rangeRight': true, + 'subtract': true, + 'zip': true, + 'zipObject': true, + 'zipObjectDeep': true +}; diff --git a/dist/node_modules/lodash/fp/_util.js b/dist/node_modules/lodash/fp/_util.js new file mode 100644 index 00000000..1dbf36f5 --- /dev/null +++ b/dist/node_modules/lodash/fp/_util.js @@ -0,0 +1,16 @@ +module.exports = { + 'ary': require('../ary'), + 'assign': require('../_baseAssign'), + 'clone': require('../clone'), + 'curry': require('../curry'), + 'forEach': require('../_arrayEach'), + 'isArray': require('../isArray'), + 'isError': require('../isError'), + 'isFunction': require('../isFunction'), + 'isWeakMap': require('../isWeakMap'), + 'iteratee': require('../iteratee'), + 'keys': require('../_baseKeys'), + 'rearg': require('../rearg'), + 'toInteger': require('../toInteger'), + 'toPath': require('../toPath') +}; diff --git a/dist/node_modules/lodash/fp/add.js b/dist/node_modules/lodash/fp/add.js new file mode 100644 index 00000000..816eeece --- /dev/null +++ b/dist/node_modules/lodash/fp/add.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('add', require('../add')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/after.js b/dist/node_modules/lodash/fp/after.js new file mode 100644 index 00000000..21a0167a --- /dev/null +++ b/dist/node_modules/lodash/fp/after.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('after', require('../after')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/all.js b/dist/node_modules/lodash/fp/all.js new file mode 100644 index 00000000..d0839f77 --- /dev/null +++ b/dist/node_modules/lodash/fp/all.js @@ -0,0 +1 @@ +module.exports = require('./every'); diff --git a/dist/node_modules/lodash/fp/allPass.js b/dist/node_modules/lodash/fp/allPass.js new file mode 100644 index 00000000..79b73ef8 --- /dev/null +++ b/dist/node_modules/lodash/fp/allPass.js @@ -0,0 +1 @@ +module.exports = require('./overEvery'); diff --git a/dist/node_modules/lodash/fp/always.js b/dist/node_modules/lodash/fp/always.js new file mode 100644 index 00000000..98877030 --- /dev/null +++ b/dist/node_modules/lodash/fp/always.js @@ -0,0 +1 @@ +module.exports = require('./constant'); diff --git a/dist/node_modules/lodash/fp/any.js b/dist/node_modules/lodash/fp/any.js new file mode 100644 index 00000000..900ac25e --- /dev/null +++ b/dist/node_modules/lodash/fp/any.js @@ -0,0 +1 @@ +module.exports = require('./some'); diff --git a/dist/node_modules/lodash/fp/anyPass.js b/dist/node_modules/lodash/fp/anyPass.js new file mode 100644 index 00000000..2774ab37 --- /dev/null +++ b/dist/node_modules/lodash/fp/anyPass.js @@ -0,0 +1 @@ +module.exports = require('./overSome'); diff --git a/dist/node_modules/lodash/fp/apply.js b/dist/node_modules/lodash/fp/apply.js new file mode 100644 index 00000000..2b757129 --- /dev/null +++ b/dist/node_modules/lodash/fp/apply.js @@ -0,0 +1 @@ +module.exports = require('./spread'); diff --git a/dist/node_modules/lodash/fp/array.js b/dist/node_modules/lodash/fp/array.js new file mode 100644 index 00000000..fe939c2c --- /dev/null +++ b/dist/node_modules/lodash/fp/array.js @@ -0,0 +1,2 @@ +var convert = require('./convert'); +module.exports = convert(require('../array')); diff --git a/dist/node_modules/lodash/fp/ary.js b/dist/node_modules/lodash/fp/ary.js new file mode 100644 index 00000000..8edf1877 --- /dev/null +++ b/dist/node_modules/lodash/fp/ary.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('ary', require('../ary')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/assign.js b/dist/node_modules/lodash/fp/assign.js new file mode 100644 index 00000000..23f47af1 --- /dev/null +++ b/dist/node_modules/lodash/fp/assign.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('assign', require('../assign')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/assignAll.js b/dist/node_modules/lodash/fp/assignAll.js new file mode 100644 index 00000000..b1d36c7e --- /dev/null +++ b/dist/node_modules/lodash/fp/assignAll.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('assignAll', require('../assign')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/assignAllWith.js b/dist/node_modules/lodash/fp/assignAllWith.js new file mode 100644 index 00000000..21e836e6 --- /dev/null +++ b/dist/node_modules/lodash/fp/assignAllWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('assignAllWith', require('../assignWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/assignIn.js b/dist/node_modules/lodash/fp/assignIn.js new file mode 100644 index 00000000..6e7c65fa --- /dev/null +++ b/dist/node_modules/lodash/fp/assignIn.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('assignIn', require('../assignIn')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/assignInAll.js b/dist/node_modules/lodash/fp/assignInAll.js new file mode 100644 index 00000000..7ba75dba --- /dev/null +++ b/dist/node_modules/lodash/fp/assignInAll.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('assignInAll', require('../assignIn')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/assignInAllWith.js b/dist/node_modules/lodash/fp/assignInAllWith.js new file mode 100644 index 00000000..e766903d --- /dev/null +++ b/dist/node_modules/lodash/fp/assignInAllWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('assignInAllWith', require('../assignInWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/assignInWith.js b/dist/node_modules/lodash/fp/assignInWith.js new file mode 100644 index 00000000..acb59236 --- /dev/null +++ b/dist/node_modules/lodash/fp/assignInWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('assignInWith', require('../assignInWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/assignWith.js b/dist/node_modules/lodash/fp/assignWith.js new file mode 100644 index 00000000..eb925212 --- /dev/null +++ b/dist/node_modules/lodash/fp/assignWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('assignWith', require('../assignWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/assoc.js b/dist/node_modules/lodash/fp/assoc.js new file mode 100644 index 00000000..7648820c --- /dev/null +++ b/dist/node_modules/lodash/fp/assoc.js @@ -0,0 +1 @@ +module.exports = require('./set'); diff --git a/dist/node_modules/lodash/fp/assocPath.js b/dist/node_modules/lodash/fp/assocPath.js new file mode 100644 index 00000000..7648820c --- /dev/null +++ b/dist/node_modules/lodash/fp/assocPath.js @@ -0,0 +1 @@ +module.exports = require('./set'); diff --git a/dist/node_modules/lodash/fp/at.js b/dist/node_modules/lodash/fp/at.js new file mode 100644 index 00000000..cc39d257 --- /dev/null +++ b/dist/node_modules/lodash/fp/at.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('at', require('../at')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/attempt.js b/dist/node_modules/lodash/fp/attempt.js new file mode 100644 index 00000000..26ca42ea --- /dev/null +++ b/dist/node_modules/lodash/fp/attempt.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('attempt', require('../attempt')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/before.js b/dist/node_modules/lodash/fp/before.js new file mode 100644 index 00000000..7a2de65d --- /dev/null +++ b/dist/node_modules/lodash/fp/before.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('before', require('../before')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/bind.js b/dist/node_modules/lodash/fp/bind.js new file mode 100644 index 00000000..5cbe4f30 --- /dev/null +++ b/dist/node_modules/lodash/fp/bind.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('bind', require('../bind')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/bindAll.js b/dist/node_modules/lodash/fp/bindAll.js new file mode 100644 index 00000000..6b4a4a0f --- /dev/null +++ b/dist/node_modules/lodash/fp/bindAll.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('bindAll', require('../bindAll')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/bindKey.js b/dist/node_modules/lodash/fp/bindKey.js new file mode 100644 index 00000000..6a46c6b1 --- /dev/null +++ b/dist/node_modules/lodash/fp/bindKey.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('bindKey', require('../bindKey')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/camelCase.js b/dist/node_modules/lodash/fp/camelCase.js new file mode 100644 index 00000000..87b77b49 --- /dev/null +++ b/dist/node_modules/lodash/fp/camelCase.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('camelCase', require('../camelCase'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/capitalize.js b/dist/node_modules/lodash/fp/capitalize.js new file mode 100644 index 00000000..cac74e14 --- /dev/null +++ b/dist/node_modules/lodash/fp/capitalize.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('capitalize', require('../capitalize'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/castArray.js b/dist/node_modules/lodash/fp/castArray.js new file mode 100644 index 00000000..8681c099 --- /dev/null +++ b/dist/node_modules/lodash/fp/castArray.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('castArray', require('../castArray')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/ceil.js b/dist/node_modules/lodash/fp/ceil.js new file mode 100644 index 00000000..f416b729 --- /dev/null +++ b/dist/node_modules/lodash/fp/ceil.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('ceil', require('../ceil')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/chain.js b/dist/node_modules/lodash/fp/chain.js new file mode 100644 index 00000000..604fe398 --- /dev/null +++ b/dist/node_modules/lodash/fp/chain.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('chain', require('../chain'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/chunk.js b/dist/node_modules/lodash/fp/chunk.js new file mode 100644 index 00000000..871ab085 --- /dev/null +++ b/dist/node_modules/lodash/fp/chunk.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('chunk', require('../chunk')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/clamp.js b/dist/node_modules/lodash/fp/clamp.js new file mode 100644 index 00000000..3b06c01c --- /dev/null +++ b/dist/node_modules/lodash/fp/clamp.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('clamp', require('../clamp')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/clone.js b/dist/node_modules/lodash/fp/clone.js new file mode 100644 index 00000000..cadb59c9 --- /dev/null +++ b/dist/node_modules/lodash/fp/clone.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('clone', require('../clone'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/cloneDeep.js b/dist/node_modules/lodash/fp/cloneDeep.js new file mode 100644 index 00000000..a6107aac --- /dev/null +++ b/dist/node_modules/lodash/fp/cloneDeep.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('cloneDeep', require('../cloneDeep'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/cloneDeepWith.js b/dist/node_modules/lodash/fp/cloneDeepWith.js new file mode 100644 index 00000000..6f01e44a --- /dev/null +++ b/dist/node_modules/lodash/fp/cloneDeepWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('cloneDeepWith', require('../cloneDeepWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/cloneWith.js b/dist/node_modules/lodash/fp/cloneWith.js new file mode 100644 index 00000000..aa885781 --- /dev/null +++ b/dist/node_modules/lodash/fp/cloneWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('cloneWith', require('../cloneWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/collection.js b/dist/node_modules/lodash/fp/collection.js new file mode 100644 index 00000000..fc8b328a --- /dev/null +++ b/dist/node_modules/lodash/fp/collection.js @@ -0,0 +1,2 @@ +var convert = require('./convert'); +module.exports = convert(require('../collection')); diff --git a/dist/node_modules/lodash/fp/commit.js b/dist/node_modules/lodash/fp/commit.js new file mode 100644 index 00000000..130a894f --- /dev/null +++ b/dist/node_modules/lodash/fp/commit.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('commit', require('../commit'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/compact.js b/dist/node_modules/lodash/fp/compact.js new file mode 100644 index 00000000..ce8f7a1a --- /dev/null +++ b/dist/node_modules/lodash/fp/compact.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('compact', require('../compact'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/complement.js b/dist/node_modules/lodash/fp/complement.js new file mode 100644 index 00000000..93eb462b --- /dev/null +++ b/dist/node_modules/lodash/fp/complement.js @@ -0,0 +1 @@ +module.exports = require('./negate'); diff --git a/dist/node_modules/lodash/fp/compose.js b/dist/node_modules/lodash/fp/compose.js new file mode 100644 index 00000000..1954e942 --- /dev/null +++ b/dist/node_modules/lodash/fp/compose.js @@ -0,0 +1 @@ +module.exports = require('./flowRight'); diff --git a/dist/node_modules/lodash/fp/concat.js b/dist/node_modules/lodash/fp/concat.js new file mode 100644 index 00000000..e59346ad --- /dev/null +++ b/dist/node_modules/lodash/fp/concat.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('concat', require('../concat')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/cond.js b/dist/node_modules/lodash/fp/cond.js new file mode 100644 index 00000000..6a0120ef --- /dev/null +++ b/dist/node_modules/lodash/fp/cond.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('cond', require('../cond'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/conforms.js b/dist/node_modules/lodash/fp/conforms.js new file mode 100644 index 00000000..3247f64a --- /dev/null +++ b/dist/node_modules/lodash/fp/conforms.js @@ -0,0 +1 @@ +module.exports = require('./conformsTo'); diff --git a/dist/node_modules/lodash/fp/conformsTo.js b/dist/node_modules/lodash/fp/conformsTo.js new file mode 100644 index 00000000..aa7f41ec --- /dev/null +++ b/dist/node_modules/lodash/fp/conformsTo.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('conformsTo', require('../conformsTo')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/constant.js b/dist/node_modules/lodash/fp/constant.js new file mode 100644 index 00000000..9e406fc0 --- /dev/null +++ b/dist/node_modules/lodash/fp/constant.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('constant', require('../constant'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/contains.js b/dist/node_modules/lodash/fp/contains.js new file mode 100644 index 00000000..594722af --- /dev/null +++ b/dist/node_modules/lodash/fp/contains.js @@ -0,0 +1 @@ +module.exports = require('./includes'); diff --git a/dist/node_modules/lodash/fp/convert.js b/dist/node_modules/lodash/fp/convert.js new file mode 100644 index 00000000..4795dc42 --- /dev/null +++ b/dist/node_modules/lodash/fp/convert.js @@ -0,0 +1,18 @@ +var baseConvert = require('./_baseConvert'), + util = require('./_util'); + +/** + * Converts `func` of `name` to an immutable auto-curried iteratee-first data-last + * version with conversion `options` applied. If `name` is an object its methods + * will be converted. + * + * @param {string} name The name of the function to wrap. + * @param {Function} [func] The function to wrap. + * @param {Object} [options] The options object. See `baseConvert` for more details. + * @returns {Function|Object} Returns the converted function or object. + */ +function convert(name, func, options) { + return baseConvert(util, name, func, options); +} + +module.exports = convert; diff --git a/dist/node_modules/lodash/fp/countBy.js b/dist/node_modules/lodash/fp/countBy.js new file mode 100644 index 00000000..dfa46432 --- /dev/null +++ b/dist/node_modules/lodash/fp/countBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('countBy', require('../countBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/create.js b/dist/node_modules/lodash/fp/create.js new file mode 100644 index 00000000..752025fb --- /dev/null +++ b/dist/node_modules/lodash/fp/create.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('create', require('../create')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/curry.js b/dist/node_modules/lodash/fp/curry.js new file mode 100644 index 00000000..b0b4168c --- /dev/null +++ b/dist/node_modules/lodash/fp/curry.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('curry', require('../curry')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/curryN.js b/dist/node_modules/lodash/fp/curryN.js new file mode 100644 index 00000000..2ae7d00a --- /dev/null +++ b/dist/node_modules/lodash/fp/curryN.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('curryN', require('../curry')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/curryRight.js b/dist/node_modules/lodash/fp/curryRight.js new file mode 100644 index 00000000..cb619eb5 --- /dev/null +++ b/dist/node_modules/lodash/fp/curryRight.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('curryRight', require('../curryRight')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/curryRightN.js b/dist/node_modules/lodash/fp/curryRightN.js new file mode 100644 index 00000000..2495afc8 --- /dev/null +++ b/dist/node_modules/lodash/fp/curryRightN.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('curryRightN', require('../curryRight')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/date.js b/dist/node_modules/lodash/fp/date.js new file mode 100644 index 00000000..82cb952b --- /dev/null +++ b/dist/node_modules/lodash/fp/date.js @@ -0,0 +1,2 @@ +var convert = require('./convert'); +module.exports = convert(require('../date')); diff --git a/dist/node_modules/lodash/fp/debounce.js b/dist/node_modules/lodash/fp/debounce.js new file mode 100644 index 00000000..26122293 --- /dev/null +++ b/dist/node_modules/lodash/fp/debounce.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('debounce', require('../debounce')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/deburr.js b/dist/node_modules/lodash/fp/deburr.js new file mode 100644 index 00000000..96463ab8 --- /dev/null +++ b/dist/node_modules/lodash/fp/deburr.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('deburr', require('../deburr'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/defaultTo.js b/dist/node_modules/lodash/fp/defaultTo.js new file mode 100644 index 00000000..d6b52a44 --- /dev/null +++ b/dist/node_modules/lodash/fp/defaultTo.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('defaultTo', require('../defaultTo')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/defaults.js b/dist/node_modules/lodash/fp/defaults.js new file mode 100644 index 00000000..e1a8e6e7 --- /dev/null +++ b/dist/node_modules/lodash/fp/defaults.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('defaults', require('../defaults')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/defaultsAll.js b/dist/node_modules/lodash/fp/defaultsAll.js new file mode 100644 index 00000000..238fcc3c --- /dev/null +++ b/dist/node_modules/lodash/fp/defaultsAll.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('defaultsAll', require('../defaults')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/defaultsDeep.js b/dist/node_modules/lodash/fp/defaultsDeep.js new file mode 100644 index 00000000..1f172ff9 --- /dev/null +++ b/dist/node_modules/lodash/fp/defaultsDeep.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('defaultsDeep', require('../defaultsDeep')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/defaultsDeepAll.js b/dist/node_modules/lodash/fp/defaultsDeepAll.js new file mode 100644 index 00000000..6835f2f0 --- /dev/null +++ b/dist/node_modules/lodash/fp/defaultsDeepAll.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('defaultsDeepAll', require('../defaultsDeep')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/defer.js b/dist/node_modules/lodash/fp/defer.js new file mode 100644 index 00000000..ec7990fe --- /dev/null +++ b/dist/node_modules/lodash/fp/defer.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('defer', require('../defer'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/delay.js b/dist/node_modules/lodash/fp/delay.js new file mode 100644 index 00000000..556dbd56 --- /dev/null +++ b/dist/node_modules/lodash/fp/delay.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('delay', require('../delay')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/difference.js b/dist/node_modules/lodash/fp/difference.js new file mode 100644 index 00000000..2d037654 --- /dev/null +++ b/dist/node_modules/lodash/fp/difference.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('difference', require('../difference')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/differenceBy.js b/dist/node_modules/lodash/fp/differenceBy.js new file mode 100644 index 00000000..2f914910 --- /dev/null +++ b/dist/node_modules/lodash/fp/differenceBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('differenceBy', require('../differenceBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/differenceWith.js b/dist/node_modules/lodash/fp/differenceWith.js new file mode 100644 index 00000000..bcf5ad2e --- /dev/null +++ b/dist/node_modules/lodash/fp/differenceWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('differenceWith', require('../differenceWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/dissoc.js b/dist/node_modules/lodash/fp/dissoc.js new file mode 100644 index 00000000..7ec7be19 --- /dev/null +++ b/dist/node_modules/lodash/fp/dissoc.js @@ -0,0 +1 @@ +module.exports = require('./unset'); diff --git a/dist/node_modules/lodash/fp/dissocPath.js b/dist/node_modules/lodash/fp/dissocPath.js new file mode 100644 index 00000000..7ec7be19 --- /dev/null +++ b/dist/node_modules/lodash/fp/dissocPath.js @@ -0,0 +1 @@ +module.exports = require('./unset'); diff --git a/dist/node_modules/lodash/fp/divide.js b/dist/node_modules/lodash/fp/divide.js new file mode 100644 index 00000000..82048c5e --- /dev/null +++ b/dist/node_modules/lodash/fp/divide.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('divide', require('../divide')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/drop.js b/dist/node_modules/lodash/fp/drop.js new file mode 100644 index 00000000..2fa9b4fa --- /dev/null +++ b/dist/node_modules/lodash/fp/drop.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('drop', require('../drop')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/dropLast.js b/dist/node_modules/lodash/fp/dropLast.js new file mode 100644 index 00000000..174e5255 --- /dev/null +++ b/dist/node_modules/lodash/fp/dropLast.js @@ -0,0 +1 @@ +module.exports = require('./dropRight'); diff --git a/dist/node_modules/lodash/fp/dropLastWhile.js b/dist/node_modules/lodash/fp/dropLastWhile.js new file mode 100644 index 00000000..be2a9d24 --- /dev/null +++ b/dist/node_modules/lodash/fp/dropLastWhile.js @@ -0,0 +1 @@ +module.exports = require('./dropRightWhile'); diff --git a/dist/node_modules/lodash/fp/dropRight.js b/dist/node_modules/lodash/fp/dropRight.js new file mode 100644 index 00000000..e98881fc --- /dev/null +++ b/dist/node_modules/lodash/fp/dropRight.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('dropRight', require('../dropRight')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/dropRightWhile.js b/dist/node_modules/lodash/fp/dropRightWhile.js new file mode 100644 index 00000000..cacaa701 --- /dev/null +++ b/dist/node_modules/lodash/fp/dropRightWhile.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('dropRightWhile', require('../dropRightWhile')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/dropWhile.js b/dist/node_modules/lodash/fp/dropWhile.js new file mode 100644 index 00000000..285f864d --- /dev/null +++ b/dist/node_modules/lodash/fp/dropWhile.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('dropWhile', require('../dropWhile')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/each.js b/dist/node_modules/lodash/fp/each.js new file mode 100644 index 00000000..8800f420 --- /dev/null +++ b/dist/node_modules/lodash/fp/each.js @@ -0,0 +1 @@ +module.exports = require('./forEach'); diff --git a/dist/node_modules/lodash/fp/eachRight.js b/dist/node_modules/lodash/fp/eachRight.js new file mode 100644 index 00000000..3252b2ab --- /dev/null +++ b/dist/node_modules/lodash/fp/eachRight.js @@ -0,0 +1 @@ +module.exports = require('./forEachRight'); diff --git a/dist/node_modules/lodash/fp/endsWith.js b/dist/node_modules/lodash/fp/endsWith.js new file mode 100644 index 00000000..17dc2a49 --- /dev/null +++ b/dist/node_modules/lodash/fp/endsWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('endsWith', require('../endsWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/entries.js b/dist/node_modules/lodash/fp/entries.js new file mode 100644 index 00000000..7a88df20 --- /dev/null +++ b/dist/node_modules/lodash/fp/entries.js @@ -0,0 +1 @@ +module.exports = require('./toPairs'); diff --git a/dist/node_modules/lodash/fp/entriesIn.js b/dist/node_modules/lodash/fp/entriesIn.js new file mode 100644 index 00000000..f6c6331c --- /dev/null +++ b/dist/node_modules/lodash/fp/entriesIn.js @@ -0,0 +1 @@ +module.exports = require('./toPairsIn'); diff --git a/dist/node_modules/lodash/fp/eq.js b/dist/node_modules/lodash/fp/eq.js new file mode 100644 index 00000000..9a3d21bf --- /dev/null +++ b/dist/node_modules/lodash/fp/eq.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('eq', require('../eq')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/equals.js b/dist/node_modules/lodash/fp/equals.js new file mode 100644 index 00000000..e6a5ce0c --- /dev/null +++ b/dist/node_modules/lodash/fp/equals.js @@ -0,0 +1 @@ +module.exports = require('./isEqual'); diff --git a/dist/node_modules/lodash/fp/escape.js b/dist/node_modules/lodash/fp/escape.js new file mode 100644 index 00000000..52c1fbba --- /dev/null +++ b/dist/node_modules/lodash/fp/escape.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('escape', require('../escape'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/escapeRegExp.js b/dist/node_modules/lodash/fp/escapeRegExp.js new file mode 100644 index 00000000..369b2eff --- /dev/null +++ b/dist/node_modules/lodash/fp/escapeRegExp.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('escapeRegExp', require('../escapeRegExp'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/every.js b/dist/node_modules/lodash/fp/every.js new file mode 100644 index 00000000..95c2776c --- /dev/null +++ b/dist/node_modules/lodash/fp/every.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('every', require('../every')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/extend.js b/dist/node_modules/lodash/fp/extend.js new file mode 100644 index 00000000..e00166c2 --- /dev/null +++ b/dist/node_modules/lodash/fp/extend.js @@ -0,0 +1 @@ +module.exports = require('./assignIn'); diff --git a/dist/node_modules/lodash/fp/extendAll.js b/dist/node_modules/lodash/fp/extendAll.js new file mode 100644 index 00000000..cc55b64f --- /dev/null +++ b/dist/node_modules/lodash/fp/extendAll.js @@ -0,0 +1 @@ +module.exports = require('./assignInAll'); diff --git a/dist/node_modules/lodash/fp/extendAllWith.js b/dist/node_modules/lodash/fp/extendAllWith.js new file mode 100644 index 00000000..6679d208 --- /dev/null +++ b/dist/node_modules/lodash/fp/extendAllWith.js @@ -0,0 +1 @@ +module.exports = require('./assignInAllWith'); diff --git a/dist/node_modules/lodash/fp/extendWith.js b/dist/node_modules/lodash/fp/extendWith.js new file mode 100644 index 00000000..dbdcb3b4 --- /dev/null +++ b/dist/node_modules/lodash/fp/extendWith.js @@ -0,0 +1 @@ +module.exports = require('./assignInWith'); diff --git a/dist/node_modules/lodash/fp/fill.js b/dist/node_modules/lodash/fp/fill.js new file mode 100644 index 00000000..b2d47e84 --- /dev/null +++ b/dist/node_modules/lodash/fp/fill.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('fill', require('../fill')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/filter.js b/dist/node_modules/lodash/fp/filter.js new file mode 100644 index 00000000..796d501c --- /dev/null +++ b/dist/node_modules/lodash/fp/filter.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('filter', require('../filter')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/find.js b/dist/node_modules/lodash/fp/find.js new file mode 100644 index 00000000..f805d336 --- /dev/null +++ b/dist/node_modules/lodash/fp/find.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('find', require('../find')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/findFrom.js b/dist/node_modules/lodash/fp/findFrom.js new file mode 100644 index 00000000..da8275e8 --- /dev/null +++ b/dist/node_modules/lodash/fp/findFrom.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('findFrom', require('../find')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/findIndex.js b/dist/node_modules/lodash/fp/findIndex.js new file mode 100644 index 00000000..8c15fd11 --- /dev/null +++ b/dist/node_modules/lodash/fp/findIndex.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('findIndex', require('../findIndex')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/findIndexFrom.js b/dist/node_modules/lodash/fp/findIndexFrom.js new file mode 100644 index 00000000..32e98cb9 --- /dev/null +++ b/dist/node_modules/lodash/fp/findIndexFrom.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('findIndexFrom', require('../findIndex')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/findKey.js b/dist/node_modules/lodash/fp/findKey.js new file mode 100644 index 00000000..475bcfa8 --- /dev/null +++ b/dist/node_modules/lodash/fp/findKey.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('findKey', require('../findKey')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/findLast.js b/dist/node_modules/lodash/fp/findLast.js new file mode 100644 index 00000000..093fe94e --- /dev/null +++ b/dist/node_modules/lodash/fp/findLast.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('findLast', require('../findLast')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/findLastFrom.js b/dist/node_modules/lodash/fp/findLastFrom.js new file mode 100644 index 00000000..76c38fba --- /dev/null +++ b/dist/node_modules/lodash/fp/findLastFrom.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('findLastFrom', require('../findLast')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/findLastIndex.js b/dist/node_modules/lodash/fp/findLastIndex.js new file mode 100644 index 00000000..36986df0 --- /dev/null +++ b/dist/node_modules/lodash/fp/findLastIndex.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('findLastIndex', require('../findLastIndex')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/findLastIndexFrom.js b/dist/node_modules/lodash/fp/findLastIndexFrom.js new file mode 100644 index 00000000..34c8176c --- /dev/null +++ b/dist/node_modules/lodash/fp/findLastIndexFrom.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('findLastIndexFrom', require('../findLastIndex')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/findLastKey.js b/dist/node_modules/lodash/fp/findLastKey.js new file mode 100644 index 00000000..5f81b604 --- /dev/null +++ b/dist/node_modules/lodash/fp/findLastKey.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('findLastKey', require('../findLastKey')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/first.js b/dist/node_modules/lodash/fp/first.js new file mode 100644 index 00000000..53f4ad13 --- /dev/null +++ b/dist/node_modules/lodash/fp/first.js @@ -0,0 +1 @@ +module.exports = require('./head'); diff --git a/dist/node_modules/lodash/fp/flatMap.js b/dist/node_modules/lodash/fp/flatMap.js new file mode 100644 index 00000000..d01dc4d0 --- /dev/null +++ b/dist/node_modules/lodash/fp/flatMap.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('flatMap', require('../flatMap')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/flatMapDeep.js b/dist/node_modules/lodash/fp/flatMapDeep.js new file mode 100644 index 00000000..569c42eb --- /dev/null +++ b/dist/node_modules/lodash/fp/flatMapDeep.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('flatMapDeep', require('../flatMapDeep')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/flatMapDepth.js b/dist/node_modules/lodash/fp/flatMapDepth.js new file mode 100644 index 00000000..6eb68fde --- /dev/null +++ b/dist/node_modules/lodash/fp/flatMapDepth.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('flatMapDepth', require('../flatMapDepth')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/flatten.js b/dist/node_modules/lodash/fp/flatten.js new file mode 100644 index 00000000..30425d89 --- /dev/null +++ b/dist/node_modules/lodash/fp/flatten.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('flatten', require('../flatten'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/flattenDeep.js b/dist/node_modules/lodash/fp/flattenDeep.js new file mode 100644 index 00000000..aed5db27 --- /dev/null +++ b/dist/node_modules/lodash/fp/flattenDeep.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('flattenDeep', require('../flattenDeep'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/flattenDepth.js b/dist/node_modules/lodash/fp/flattenDepth.js new file mode 100644 index 00000000..ad65e378 --- /dev/null +++ b/dist/node_modules/lodash/fp/flattenDepth.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('flattenDepth', require('../flattenDepth')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/flip.js b/dist/node_modules/lodash/fp/flip.js new file mode 100644 index 00000000..0547e7b4 --- /dev/null +++ b/dist/node_modules/lodash/fp/flip.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('flip', require('../flip'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/floor.js b/dist/node_modules/lodash/fp/floor.js new file mode 100644 index 00000000..a6cf3358 --- /dev/null +++ b/dist/node_modules/lodash/fp/floor.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('floor', require('../floor')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/flow.js b/dist/node_modules/lodash/fp/flow.js new file mode 100644 index 00000000..cd83677a --- /dev/null +++ b/dist/node_modules/lodash/fp/flow.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('flow', require('../flow')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/flowRight.js b/dist/node_modules/lodash/fp/flowRight.js new file mode 100644 index 00000000..972a5b9b --- /dev/null +++ b/dist/node_modules/lodash/fp/flowRight.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('flowRight', require('../flowRight')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/forEach.js b/dist/node_modules/lodash/fp/forEach.js new file mode 100644 index 00000000..2f494521 --- /dev/null +++ b/dist/node_modules/lodash/fp/forEach.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('forEach', require('../forEach')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/forEachRight.js b/dist/node_modules/lodash/fp/forEachRight.js new file mode 100644 index 00000000..3ff97336 --- /dev/null +++ b/dist/node_modules/lodash/fp/forEachRight.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('forEachRight', require('../forEachRight')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/forIn.js b/dist/node_modules/lodash/fp/forIn.js new file mode 100644 index 00000000..9341749b --- /dev/null +++ b/dist/node_modules/lodash/fp/forIn.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('forIn', require('../forIn')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/forInRight.js b/dist/node_modules/lodash/fp/forInRight.js new file mode 100644 index 00000000..cecf8bbf --- /dev/null +++ b/dist/node_modules/lodash/fp/forInRight.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('forInRight', require('../forInRight')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/forOwn.js b/dist/node_modules/lodash/fp/forOwn.js new file mode 100644 index 00000000..246449e9 --- /dev/null +++ b/dist/node_modules/lodash/fp/forOwn.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('forOwn', require('../forOwn')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/forOwnRight.js b/dist/node_modules/lodash/fp/forOwnRight.js new file mode 100644 index 00000000..c5e826e0 --- /dev/null +++ b/dist/node_modules/lodash/fp/forOwnRight.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('forOwnRight', require('../forOwnRight')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/fromPairs.js b/dist/node_modules/lodash/fp/fromPairs.js new file mode 100644 index 00000000..f8cc5968 --- /dev/null +++ b/dist/node_modules/lodash/fp/fromPairs.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('fromPairs', require('../fromPairs')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/function.js b/dist/node_modules/lodash/fp/function.js new file mode 100644 index 00000000..dfe69b1f --- /dev/null +++ b/dist/node_modules/lodash/fp/function.js @@ -0,0 +1,2 @@ +var convert = require('./convert'); +module.exports = convert(require('../function')); diff --git a/dist/node_modules/lodash/fp/functions.js b/dist/node_modules/lodash/fp/functions.js new file mode 100644 index 00000000..09d1bb1b --- /dev/null +++ b/dist/node_modules/lodash/fp/functions.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('functions', require('../functions'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/functionsIn.js b/dist/node_modules/lodash/fp/functionsIn.js new file mode 100644 index 00000000..2cfeb83e --- /dev/null +++ b/dist/node_modules/lodash/fp/functionsIn.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('functionsIn', require('../functionsIn'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/get.js b/dist/node_modules/lodash/fp/get.js new file mode 100644 index 00000000..6d3a3286 --- /dev/null +++ b/dist/node_modules/lodash/fp/get.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('get', require('../get')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/getOr.js b/dist/node_modules/lodash/fp/getOr.js new file mode 100644 index 00000000..7dbf771f --- /dev/null +++ b/dist/node_modules/lodash/fp/getOr.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('getOr', require('../get')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/groupBy.js b/dist/node_modules/lodash/fp/groupBy.js new file mode 100644 index 00000000..fc0bc78a --- /dev/null +++ b/dist/node_modules/lodash/fp/groupBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('groupBy', require('../groupBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/gt.js b/dist/node_modules/lodash/fp/gt.js new file mode 100644 index 00000000..9e57c808 --- /dev/null +++ b/dist/node_modules/lodash/fp/gt.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('gt', require('../gt')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/gte.js b/dist/node_modules/lodash/fp/gte.js new file mode 100644 index 00000000..45847863 --- /dev/null +++ b/dist/node_modules/lodash/fp/gte.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('gte', require('../gte')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/has.js b/dist/node_modules/lodash/fp/has.js new file mode 100644 index 00000000..b9012983 --- /dev/null +++ b/dist/node_modules/lodash/fp/has.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('has', require('../has')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/hasIn.js b/dist/node_modules/lodash/fp/hasIn.js new file mode 100644 index 00000000..b3c3d1a3 --- /dev/null +++ b/dist/node_modules/lodash/fp/hasIn.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('hasIn', require('../hasIn')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/head.js b/dist/node_modules/lodash/fp/head.js new file mode 100644 index 00000000..2694f0a2 --- /dev/null +++ b/dist/node_modules/lodash/fp/head.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('head', require('../head'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/identical.js b/dist/node_modules/lodash/fp/identical.js new file mode 100644 index 00000000..85563f4a --- /dev/null +++ b/dist/node_modules/lodash/fp/identical.js @@ -0,0 +1 @@ +module.exports = require('./eq'); diff --git a/dist/node_modules/lodash/fp/identity.js b/dist/node_modules/lodash/fp/identity.js new file mode 100644 index 00000000..096415a5 --- /dev/null +++ b/dist/node_modules/lodash/fp/identity.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('identity', require('../identity'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/inRange.js b/dist/node_modules/lodash/fp/inRange.js new file mode 100644 index 00000000..202d940b --- /dev/null +++ b/dist/node_modules/lodash/fp/inRange.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('inRange', require('../inRange')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/includes.js b/dist/node_modules/lodash/fp/includes.js new file mode 100644 index 00000000..11467805 --- /dev/null +++ b/dist/node_modules/lodash/fp/includes.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('includes', require('../includes')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/includesFrom.js b/dist/node_modules/lodash/fp/includesFrom.js new file mode 100644 index 00000000..683afdb4 --- /dev/null +++ b/dist/node_modules/lodash/fp/includesFrom.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('includesFrom', require('../includes')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/indexBy.js b/dist/node_modules/lodash/fp/indexBy.js new file mode 100644 index 00000000..7e64bc0f --- /dev/null +++ b/dist/node_modules/lodash/fp/indexBy.js @@ -0,0 +1 @@ +module.exports = require('./keyBy'); diff --git a/dist/node_modules/lodash/fp/indexOf.js b/dist/node_modules/lodash/fp/indexOf.js new file mode 100644 index 00000000..524658eb --- /dev/null +++ b/dist/node_modules/lodash/fp/indexOf.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('indexOf', require('../indexOf')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/indexOfFrom.js b/dist/node_modules/lodash/fp/indexOfFrom.js new file mode 100644 index 00000000..d99c822f --- /dev/null +++ b/dist/node_modules/lodash/fp/indexOfFrom.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('indexOfFrom', require('../indexOf')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/init.js b/dist/node_modules/lodash/fp/init.js new file mode 100644 index 00000000..2f88d8b0 --- /dev/null +++ b/dist/node_modules/lodash/fp/init.js @@ -0,0 +1 @@ +module.exports = require('./initial'); diff --git a/dist/node_modules/lodash/fp/initial.js b/dist/node_modules/lodash/fp/initial.js new file mode 100644 index 00000000..b732ba0b --- /dev/null +++ b/dist/node_modules/lodash/fp/initial.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('initial', require('../initial'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/intersection.js b/dist/node_modules/lodash/fp/intersection.js new file mode 100644 index 00000000..52936d56 --- /dev/null +++ b/dist/node_modules/lodash/fp/intersection.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('intersection', require('../intersection')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/intersectionBy.js b/dist/node_modules/lodash/fp/intersectionBy.js new file mode 100644 index 00000000..72629f27 --- /dev/null +++ b/dist/node_modules/lodash/fp/intersectionBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('intersectionBy', require('../intersectionBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/intersectionWith.js b/dist/node_modules/lodash/fp/intersectionWith.js new file mode 100644 index 00000000..e064f400 --- /dev/null +++ b/dist/node_modules/lodash/fp/intersectionWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('intersectionWith', require('../intersectionWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/invert.js b/dist/node_modules/lodash/fp/invert.js new file mode 100644 index 00000000..2d5d1f0d --- /dev/null +++ b/dist/node_modules/lodash/fp/invert.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('invert', require('../invert')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/invertBy.js b/dist/node_modules/lodash/fp/invertBy.js new file mode 100644 index 00000000..63ca97ec --- /dev/null +++ b/dist/node_modules/lodash/fp/invertBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('invertBy', require('../invertBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/invertObj.js b/dist/node_modules/lodash/fp/invertObj.js new file mode 100644 index 00000000..f1d842e4 --- /dev/null +++ b/dist/node_modules/lodash/fp/invertObj.js @@ -0,0 +1 @@ +module.exports = require('./invert'); diff --git a/dist/node_modules/lodash/fp/invoke.js b/dist/node_modules/lodash/fp/invoke.js new file mode 100644 index 00000000..fcf17f0d --- /dev/null +++ b/dist/node_modules/lodash/fp/invoke.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('invoke', require('../invoke')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/invokeArgs.js b/dist/node_modules/lodash/fp/invokeArgs.js new file mode 100644 index 00000000..d3f2953f --- /dev/null +++ b/dist/node_modules/lodash/fp/invokeArgs.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('invokeArgs', require('../invoke')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/invokeArgsMap.js b/dist/node_modules/lodash/fp/invokeArgsMap.js new file mode 100644 index 00000000..eaa9f84f --- /dev/null +++ b/dist/node_modules/lodash/fp/invokeArgsMap.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('invokeArgsMap', require('../invokeMap')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/invokeMap.js b/dist/node_modules/lodash/fp/invokeMap.js new file mode 100644 index 00000000..6515fd73 --- /dev/null +++ b/dist/node_modules/lodash/fp/invokeMap.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('invokeMap', require('../invokeMap')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isArguments.js b/dist/node_modules/lodash/fp/isArguments.js new file mode 100644 index 00000000..1d93c9e5 --- /dev/null +++ b/dist/node_modules/lodash/fp/isArguments.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isArguments', require('../isArguments'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isArray.js b/dist/node_modules/lodash/fp/isArray.js new file mode 100644 index 00000000..ba7ade8d --- /dev/null +++ b/dist/node_modules/lodash/fp/isArray.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isArray', require('../isArray'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isArrayBuffer.js b/dist/node_modules/lodash/fp/isArrayBuffer.js new file mode 100644 index 00000000..5088513f --- /dev/null +++ b/dist/node_modules/lodash/fp/isArrayBuffer.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isArrayBuffer', require('../isArrayBuffer'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isArrayLike.js b/dist/node_modules/lodash/fp/isArrayLike.js new file mode 100644 index 00000000..8f1856bf --- /dev/null +++ b/dist/node_modules/lodash/fp/isArrayLike.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isArrayLike', require('../isArrayLike'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isArrayLikeObject.js b/dist/node_modules/lodash/fp/isArrayLikeObject.js new file mode 100644 index 00000000..21084984 --- /dev/null +++ b/dist/node_modules/lodash/fp/isArrayLikeObject.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isArrayLikeObject', require('../isArrayLikeObject'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isBoolean.js b/dist/node_modules/lodash/fp/isBoolean.js new file mode 100644 index 00000000..9339f75b --- /dev/null +++ b/dist/node_modules/lodash/fp/isBoolean.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isBoolean', require('../isBoolean'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isBuffer.js b/dist/node_modules/lodash/fp/isBuffer.js new file mode 100644 index 00000000..e60b1238 --- /dev/null +++ b/dist/node_modules/lodash/fp/isBuffer.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isBuffer', require('../isBuffer'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isDate.js b/dist/node_modules/lodash/fp/isDate.js new file mode 100644 index 00000000..dc41d089 --- /dev/null +++ b/dist/node_modules/lodash/fp/isDate.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isDate', require('../isDate'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isElement.js b/dist/node_modules/lodash/fp/isElement.js new file mode 100644 index 00000000..18ee039a --- /dev/null +++ b/dist/node_modules/lodash/fp/isElement.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isElement', require('../isElement'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isEmpty.js b/dist/node_modules/lodash/fp/isEmpty.js new file mode 100644 index 00000000..0f4ae841 --- /dev/null +++ b/dist/node_modules/lodash/fp/isEmpty.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isEmpty', require('../isEmpty'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isEqual.js b/dist/node_modules/lodash/fp/isEqual.js new file mode 100644 index 00000000..41383865 --- /dev/null +++ b/dist/node_modules/lodash/fp/isEqual.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isEqual', require('../isEqual')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isEqualWith.js b/dist/node_modules/lodash/fp/isEqualWith.js new file mode 100644 index 00000000..029ff5cd --- /dev/null +++ b/dist/node_modules/lodash/fp/isEqualWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isEqualWith', require('../isEqualWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isError.js b/dist/node_modules/lodash/fp/isError.js new file mode 100644 index 00000000..3dfd81cc --- /dev/null +++ b/dist/node_modules/lodash/fp/isError.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isError', require('../isError'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isFinite.js b/dist/node_modules/lodash/fp/isFinite.js new file mode 100644 index 00000000..0b647b84 --- /dev/null +++ b/dist/node_modules/lodash/fp/isFinite.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isFinite', require('../isFinite'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isFunction.js b/dist/node_modules/lodash/fp/isFunction.js new file mode 100644 index 00000000..ff8e5c45 --- /dev/null +++ b/dist/node_modules/lodash/fp/isFunction.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isFunction', require('../isFunction'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isInteger.js b/dist/node_modules/lodash/fp/isInteger.js new file mode 100644 index 00000000..67af4ff6 --- /dev/null +++ b/dist/node_modules/lodash/fp/isInteger.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isInteger', require('../isInteger'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isLength.js b/dist/node_modules/lodash/fp/isLength.js new file mode 100644 index 00000000..fc101c5a --- /dev/null +++ b/dist/node_modules/lodash/fp/isLength.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isLength', require('../isLength'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isMap.js b/dist/node_modules/lodash/fp/isMap.js new file mode 100644 index 00000000..a209aa66 --- /dev/null +++ b/dist/node_modules/lodash/fp/isMap.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isMap', require('../isMap'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isMatch.js b/dist/node_modules/lodash/fp/isMatch.js new file mode 100644 index 00000000..6264ca17 --- /dev/null +++ b/dist/node_modules/lodash/fp/isMatch.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isMatch', require('../isMatch')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isMatchWith.js b/dist/node_modules/lodash/fp/isMatchWith.js new file mode 100644 index 00000000..d95f3193 --- /dev/null +++ b/dist/node_modules/lodash/fp/isMatchWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isMatchWith', require('../isMatchWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isNaN.js b/dist/node_modules/lodash/fp/isNaN.js new file mode 100644 index 00000000..66a978f1 --- /dev/null +++ b/dist/node_modules/lodash/fp/isNaN.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isNaN', require('../isNaN'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isNative.js b/dist/node_modules/lodash/fp/isNative.js new file mode 100644 index 00000000..3d775ba9 --- /dev/null +++ b/dist/node_modules/lodash/fp/isNative.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isNative', require('../isNative'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isNil.js b/dist/node_modules/lodash/fp/isNil.js new file mode 100644 index 00000000..5952c028 --- /dev/null +++ b/dist/node_modules/lodash/fp/isNil.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isNil', require('../isNil'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isNull.js b/dist/node_modules/lodash/fp/isNull.js new file mode 100644 index 00000000..f201a354 --- /dev/null +++ b/dist/node_modules/lodash/fp/isNull.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isNull', require('../isNull'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isNumber.js b/dist/node_modules/lodash/fp/isNumber.js new file mode 100644 index 00000000..a2b5fa04 --- /dev/null +++ b/dist/node_modules/lodash/fp/isNumber.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isNumber', require('../isNumber'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isObject.js b/dist/node_modules/lodash/fp/isObject.js new file mode 100644 index 00000000..231ace03 --- /dev/null +++ b/dist/node_modules/lodash/fp/isObject.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isObject', require('../isObject'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isObjectLike.js b/dist/node_modules/lodash/fp/isObjectLike.js new file mode 100644 index 00000000..f16082e6 --- /dev/null +++ b/dist/node_modules/lodash/fp/isObjectLike.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isObjectLike', require('../isObjectLike'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isPlainObject.js b/dist/node_modules/lodash/fp/isPlainObject.js new file mode 100644 index 00000000..b5bea90d --- /dev/null +++ b/dist/node_modules/lodash/fp/isPlainObject.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isPlainObject', require('../isPlainObject'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isRegExp.js b/dist/node_modules/lodash/fp/isRegExp.js new file mode 100644 index 00000000..12a1a3d7 --- /dev/null +++ b/dist/node_modules/lodash/fp/isRegExp.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isRegExp', require('../isRegExp'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isSafeInteger.js b/dist/node_modules/lodash/fp/isSafeInteger.js new file mode 100644 index 00000000..7230f552 --- /dev/null +++ b/dist/node_modules/lodash/fp/isSafeInteger.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isSafeInteger', require('../isSafeInteger'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isSet.js b/dist/node_modules/lodash/fp/isSet.js new file mode 100644 index 00000000..35c01f6f --- /dev/null +++ b/dist/node_modules/lodash/fp/isSet.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isSet', require('../isSet'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isString.js b/dist/node_modules/lodash/fp/isString.js new file mode 100644 index 00000000..1fd0679e --- /dev/null +++ b/dist/node_modules/lodash/fp/isString.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isString', require('../isString'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isSymbol.js b/dist/node_modules/lodash/fp/isSymbol.js new file mode 100644 index 00000000..38676956 --- /dev/null +++ b/dist/node_modules/lodash/fp/isSymbol.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isSymbol', require('../isSymbol'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isTypedArray.js b/dist/node_modules/lodash/fp/isTypedArray.js new file mode 100644 index 00000000..85679538 --- /dev/null +++ b/dist/node_modules/lodash/fp/isTypedArray.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isTypedArray', require('../isTypedArray'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isUndefined.js b/dist/node_modules/lodash/fp/isUndefined.js new file mode 100644 index 00000000..ddbca31c --- /dev/null +++ b/dist/node_modules/lodash/fp/isUndefined.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isUndefined', require('../isUndefined'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isWeakMap.js b/dist/node_modules/lodash/fp/isWeakMap.js new file mode 100644 index 00000000..ef60c613 --- /dev/null +++ b/dist/node_modules/lodash/fp/isWeakMap.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isWeakMap', require('../isWeakMap'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/isWeakSet.js b/dist/node_modules/lodash/fp/isWeakSet.js new file mode 100644 index 00000000..c99bfaa6 --- /dev/null +++ b/dist/node_modules/lodash/fp/isWeakSet.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('isWeakSet', require('../isWeakSet'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/iteratee.js b/dist/node_modules/lodash/fp/iteratee.js new file mode 100644 index 00000000..9f0f7173 --- /dev/null +++ b/dist/node_modules/lodash/fp/iteratee.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('iteratee', require('../iteratee')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/join.js b/dist/node_modules/lodash/fp/join.js new file mode 100644 index 00000000..a220e003 --- /dev/null +++ b/dist/node_modules/lodash/fp/join.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('join', require('../join')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/juxt.js b/dist/node_modules/lodash/fp/juxt.js new file mode 100644 index 00000000..f71e04e0 --- /dev/null +++ b/dist/node_modules/lodash/fp/juxt.js @@ -0,0 +1 @@ +module.exports = require('./over'); diff --git a/dist/node_modules/lodash/fp/kebabCase.js b/dist/node_modules/lodash/fp/kebabCase.js new file mode 100644 index 00000000..60737f17 --- /dev/null +++ b/dist/node_modules/lodash/fp/kebabCase.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('kebabCase', require('../kebabCase'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/keyBy.js b/dist/node_modules/lodash/fp/keyBy.js new file mode 100644 index 00000000..9a6a85d4 --- /dev/null +++ b/dist/node_modules/lodash/fp/keyBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('keyBy', require('../keyBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/keys.js b/dist/node_modules/lodash/fp/keys.js new file mode 100644 index 00000000..e12bb07f --- /dev/null +++ b/dist/node_modules/lodash/fp/keys.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('keys', require('../keys'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/keysIn.js b/dist/node_modules/lodash/fp/keysIn.js new file mode 100644 index 00000000..f3eb36a8 --- /dev/null +++ b/dist/node_modules/lodash/fp/keysIn.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('keysIn', require('../keysIn'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/lang.js b/dist/node_modules/lodash/fp/lang.js new file mode 100644 index 00000000..08cc9c14 --- /dev/null +++ b/dist/node_modules/lodash/fp/lang.js @@ -0,0 +1,2 @@ +var convert = require('./convert'); +module.exports = convert(require('../lang')); diff --git a/dist/node_modules/lodash/fp/last.js b/dist/node_modules/lodash/fp/last.js new file mode 100644 index 00000000..0f716993 --- /dev/null +++ b/dist/node_modules/lodash/fp/last.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('last', require('../last'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/lastIndexOf.js b/dist/node_modules/lodash/fp/lastIndexOf.js new file mode 100644 index 00000000..ddf39c30 --- /dev/null +++ b/dist/node_modules/lodash/fp/lastIndexOf.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('lastIndexOf', require('../lastIndexOf')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/lastIndexOfFrom.js b/dist/node_modules/lodash/fp/lastIndexOfFrom.js new file mode 100644 index 00000000..1ff6a0b5 --- /dev/null +++ b/dist/node_modules/lodash/fp/lastIndexOfFrom.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('lastIndexOfFrom', require('../lastIndexOf')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/lowerCase.js b/dist/node_modules/lodash/fp/lowerCase.js new file mode 100644 index 00000000..ea64bc15 --- /dev/null +++ b/dist/node_modules/lodash/fp/lowerCase.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('lowerCase', require('../lowerCase'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/lowerFirst.js b/dist/node_modules/lodash/fp/lowerFirst.js new file mode 100644 index 00000000..539720a3 --- /dev/null +++ b/dist/node_modules/lodash/fp/lowerFirst.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('lowerFirst', require('../lowerFirst'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/lt.js b/dist/node_modules/lodash/fp/lt.js new file mode 100644 index 00000000..a31d21ec --- /dev/null +++ b/dist/node_modules/lodash/fp/lt.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('lt', require('../lt')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/lte.js b/dist/node_modules/lodash/fp/lte.js new file mode 100644 index 00000000..d795d10e --- /dev/null +++ b/dist/node_modules/lodash/fp/lte.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('lte', require('../lte')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/map.js b/dist/node_modules/lodash/fp/map.js new file mode 100644 index 00000000..cf987943 --- /dev/null +++ b/dist/node_modules/lodash/fp/map.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('map', require('../map')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/mapKeys.js b/dist/node_modules/lodash/fp/mapKeys.js new file mode 100644 index 00000000..16845870 --- /dev/null +++ b/dist/node_modules/lodash/fp/mapKeys.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('mapKeys', require('../mapKeys')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/mapValues.js b/dist/node_modules/lodash/fp/mapValues.js new file mode 100644 index 00000000..40049727 --- /dev/null +++ b/dist/node_modules/lodash/fp/mapValues.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('mapValues', require('../mapValues')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/matches.js b/dist/node_modules/lodash/fp/matches.js new file mode 100644 index 00000000..29d1e1e4 --- /dev/null +++ b/dist/node_modules/lodash/fp/matches.js @@ -0,0 +1 @@ +module.exports = require('./isMatch'); diff --git a/dist/node_modules/lodash/fp/matchesProperty.js b/dist/node_modules/lodash/fp/matchesProperty.js new file mode 100644 index 00000000..4575bd24 --- /dev/null +++ b/dist/node_modules/lodash/fp/matchesProperty.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('matchesProperty', require('../matchesProperty')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/math.js b/dist/node_modules/lodash/fp/math.js new file mode 100644 index 00000000..e8f50f79 --- /dev/null +++ b/dist/node_modules/lodash/fp/math.js @@ -0,0 +1,2 @@ +var convert = require('./convert'); +module.exports = convert(require('../math')); diff --git a/dist/node_modules/lodash/fp/max.js b/dist/node_modules/lodash/fp/max.js new file mode 100644 index 00000000..a66acac2 --- /dev/null +++ b/dist/node_modules/lodash/fp/max.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('max', require('../max'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/maxBy.js b/dist/node_modules/lodash/fp/maxBy.js new file mode 100644 index 00000000..d083fd64 --- /dev/null +++ b/dist/node_modules/lodash/fp/maxBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('maxBy', require('../maxBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/mean.js b/dist/node_modules/lodash/fp/mean.js new file mode 100644 index 00000000..31172460 --- /dev/null +++ b/dist/node_modules/lodash/fp/mean.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('mean', require('../mean'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/meanBy.js b/dist/node_modules/lodash/fp/meanBy.js new file mode 100644 index 00000000..556f25ed --- /dev/null +++ b/dist/node_modules/lodash/fp/meanBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('meanBy', require('../meanBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/memoize.js b/dist/node_modules/lodash/fp/memoize.js new file mode 100644 index 00000000..638eec63 --- /dev/null +++ b/dist/node_modules/lodash/fp/memoize.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('memoize', require('../memoize')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/merge.js b/dist/node_modules/lodash/fp/merge.js new file mode 100644 index 00000000..ac66adde --- /dev/null +++ b/dist/node_modules/lodash/fp/merge.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('merge', require('../merge')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/mergeAll.js b/dist/node_modules/lodash/fp/mergeAll.js new file mode 100644 index 00000000..a3674d67 --- /dev/null +++ b/dist/node_modules/lodash/fp/mergeAll.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('mergeAll', require('../merge')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/mergeAllWith.js b/dist/node_modules/lodash/fp/mergeAllWith.js new file mode 100644 index 00000000..4bd4206d --- /dev/null +++ b/dist/node_modules/lodash/fp/mergeAllWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('mergeAllWith', require('../mergeWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/mergeWith.js b/dist/node_modules/lodash/fp/mergeWith.js new file mode 100644 index 00000000..00d44d5e --- /dev/null +++ b/dist/node_modules/lodash/fp/mergeWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('mergeWith', require('../mergeWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/method.js b/dist/node_modules/lodash/fp/method.js new file mode 100644 index 00000000..f4060c68 --- /dev/null +++ b/dist/node_modules/lodash/fp/method.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('method', require('../method')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/methodOf.js b/dist/node_modules/lodash/fp/methodOf.js new file mode 100644 index 00000000..61399056 --- /dev/null +++ b/dist/node_modules/lodash/fp/methodOf.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('methodOf', require('../methodOf')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/min.js b/dist/node_modules/lodash/fp/min.js new file mode 100644 index 00000000..d12c6b40 --- /dev/null +++ b/dist/node_modules/lodash/fp/min.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('min', require('../min'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/minBy.js b/dist/node_modules/lodash/fp/minBy.js new file mode 100644 index 00000000..fdb9e24d --- /dev/null +++ b/dist/node_modules/lodash/fp/minBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('minBy', require('../minBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/mixin.js b/dist/node_modules/lodash/fp/mixin.js new file mode 100644 index 00000000..332e6fbf --- /dev/null +++ b/dist/node_modules/lodash/fp/mixin.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('mixin', require('../mixin')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/multiply.js b/dist/node_modules/lodash/fp/multiply.js new file mode 100644 index 00000000..4dcf0b0d --- /dev/null +++ b/dist/node_modules/lodash/fp/multiply.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('multiply', require('../multiply')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/nAry.js b/dist/node_modules/lodash/fp/nAry.js new file mode 100644 index 00000000..f262a76c --- /dev/null +++ b/dist/node_modules/lodash/fp/nAry.js @@ -0,0 +1 @@ +module.exports = require('./ary'); diff --git a/dist/node_modules/lodash/fp/negate.js b/dist/node_modules/lodash/fp/negate.js new file mode 100644 index 00000000..8b6dc7c5 --- /dev/null +++ b/dist/node_modules/lodash/fp/negate.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('negate', require('../negate'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/next.js b/dist/node_modules/lodash/fp/next.js new file mode 100644 index 00000000..140155e2 --- /dev/null +++ b/dist/node_modules/lodash/fp/next.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('next', require('../next'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/noop.js b/dist/node_modules/lodash/fp/noop.js new file mode 100644 index 00000000..b9e32cc8 --- /dev/null +++ b/dist/node_modules/lodash/fp/noop.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('noop', require('../noop'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/now.js b/dist/node_modules/lodash/fp/now.js new file mode 100644 index 00000000..6de2068a --- /dev/null +++ b/dist/node_modules/lodash/fp/now.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('now', require('../now'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/nth.js b/dist/node_modules/lodash/fp/nth.js new file mode 100644 index 00000000..da4fda74 --- /dev/null +++ b/dist/node_modules/lodash/fp/nth.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('nth', require('../nth')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/nthArg.js b/dist/node_modules/lodash/fp/nthArg.js new file mode 100644 index 00000000..fce31659 --- /dev/null +++ b/dist/node_modules/lodash/fp/nthArg.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('nthArg', require('../nthArg')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/number.js b/dist/node_modules/lodash/fp/number.js new file mode 100644 index 00000000..5c10b884 --- /dev/null +++ b/dist/node_modules/lodash/fp/number.js @@ -0,0 +1,2 @@ +var convert = require('./convert'); +module.exports = convert(require('../number')); diff --git a/dist/node_modules/lodash/fp/object.js b/dist/node_modules/lodash/fp/object.js new file mode 100644 index 00000000..ae39a134 --- /dev/null +++ b/dist/node_modules/lodash/fp/object.js @@ -0,0 +1,2 @@ +var convert = require('./convert'); +module.exports = convert(require('../object')); diff --git a/dist/node_modules/lodash/fp/omit.js b/dist/node_modules/lodash/fp/omit.js new file mode 100644 index 00000000..fd685291 --- /dev/null +++ b/dist/node_modules/lodash/fp/omit.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('omit', require('../omit')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/omitAll.js b/dist/node_modules/lodash/fp/omitAll.js new file mode 100644 index 00000000..144cf4b9 --- /dev/null +++ b/dist/node_modules/lodash/fp/omitAll.js @@ -0,0 +1 @@ +module.exports = require('./omit'); diff --git a/dist/node_modules/lodash/fp/omitBy.js b/dist/node_modules/lodash/fp/omitBy.js new file mode 100644 index 00000000..90df7380 --- /dev/null +++ b/dist/node_modules/lodash/fp/omitBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('omitBy', require('../omitBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/once.js b/dist/node_modules/lodash/fp/once.js new file mode 100644 index 00000000..f8f0a5c7 --- /dev/null +++ b/dist/node_modules/lodash/fp/once.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('once', require('../once'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/orderBy.js b/dist/node_modules/lodash/fp/orderBy.js new file mode 100644 index 00000000..848e2107 --- /dev/null +++ b/dist/node_modules/lodash/fp/orderBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('orderBy', require('../orderBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/over.js b/dist/node_modules/lodash/fp/over.js new file mode 100644 index 00000000..01eba7b9 --- /dev/null +++ b/dist/node_modules/lodash/fp/over.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('over', require('../over')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/overArgs.js b/dist/node_modules/lodash/fp/overArgs.js new file mode 100644 index 00000000..738556f0 --- /dev/null +++ b/dist/node_modules/lodash/fp/overArgs.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('overArgs', require('../overArgs')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/overEvery.js b/dist/node_modules/lodash/fp/overEvery.js new file mode 100644 index 00000000..9f5a032d --- /dev/null +++ b/dist/node_modules/lodash/fp/overEvery.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('overEvery', require('../overEvery')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/overSome.js b/dist/node_modules/lodash/fp/overSome.js new file mode 100644 index 00000000..15939d58 --- /dev/null +++ b/dist/node_modules/lodash/fp/overSome.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('overSome', require('../overSome')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/pad.js b/dist/node_modules/lodash/fp/pad.js new file mode 100644 index 00000000..f1dea4a9 --- /dev/null +++ b/dist/node_modules/lodash/fp/pad.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('pad', require('../pad')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/padChars.js b/dist/node_modules/lodash/fp/padChars.js new file mode 100644 index 00000000..d6e0804c --- /dev/null +++ b/dist/node_modules/lodash/fp/padChars.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('padChars', require('../pad')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/padCharsEnd.js b/dist/node_modules/lodash/fp/padCharsEnd.js new file mode 100644 index 00000000..d4ab79ad --- /dev/null +++ b/dist/node_modules/lodash/fp/padCharsEnd.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('padCharsEnd', require('../padEnd')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/padCharsStart.js b/dist/node_modules/lodash/fp/padCharsStart.js new file mode 100644 index 00000000..a08a3000 --- /dev/null +++ b/dist/node_modules/lodash/fp/padCharsStart.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('padCharsStart', require('../padStart')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/padEnd.js b/dist/node_modules/lodash/fp/padEnd.js new file mode 100644 index 00000000..a8522ec3 --- /dev/null +++ b/dist/node_modules/lodash/fp/padEnd.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('padEnd', require('../padEnd')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/padStart.js b/dist/node_modules/lodash/fp/padStart.js new file mode 100644 index 00000000..f4ca79d4 --- /dev/null +++ b/dist/node_modules/lodash/fp/padStart.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('padStart', require('../padStart')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/parseInt.js b/dist/node_modules/lodash/fp/parseInt.js new file mode 100644 index 00000000..27314ccb --- /dev/null +++ b/dist/node_modules/lodash/fp/parseInt.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('parseInt', require('../parseInt')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/partial.js b/dist/node_modules/lodash/fp/partial.js new file mode 100644 index 00000000..5d460159 --- /dev/null +++ b/dist/node_modules/lodash/fp/partial.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('partial', require('../partial')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/partialRight.js b/dist/node_modules/lodash/fp/partialRight.js new file mode 100644 index 00000000..7f05fed0 --- /dev/null +++ b/dist/node_modules/lodash/fp/partialRight.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('partialRight', require('../partialRight')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/partition.js b/dist/node_modules/lodash/fp/partition.js new file mode 100644 index 00000000..2ebcacc1 --- /dev/null +++ b/dist/node_modules/lodash/fp/partition.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('partition', require('../partition')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/path.js b/dist/node_modules/lodash/fp/path.js new file mode 100644 index 00000000..b29cfb21 --- /dev/null +++ b/dist/node_modules/lodash/fp/path.js @@ -0,0 +1 @@ +module.exports = require('./get'); diff --git a/dist/node_modules/lodash/fp/pathEq.js b/dist/node_modules/lodash/fp/pathEq.js new file mode 100644 index 00000000..36c027a3 --- /dev/null +++ b/dist/node_modules/lodash/fp/pathEq.js @@ -0,0 +1 @@ +module.exports = require('./matchesProperty'); diff --git a/dist/node_modules/lodash/fp/pathOr.js b/dist/node_modules/lodash/fp/pathOr.js new file mode 100644 index 00000000..4ab58209 --- /dev/null +++ b/dist/node_modules/lodash/fp/pathOr.js @@ -0,0 +1 @@ +module.exports = require('./getOr'); diff --git a/dist/node_modules/lodash/fp/paths.js b/dist/node_modules/lodash/fp/paths.js new file mode 100644 index 00000000..1eb7950a --- /dev/null +++ b/dist/node_modules/lodash/fp/paths.js @@ -0,0 +1 @@ +module.exports = require('./at'); diff --git a/dist/node_modules/lodash/fp/pick.js b/dist/node_modules/lodash/fp/pick.js new file mode 100644 index 00000000..197393de --- /dev/null +++ b/dist/node_modules/lodash/fp/pick.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('pick', require('../pick')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/pickAll.js b/dist/node_modules/lodash/fp/pickAll.js new file mode 100644 index 00000000..a8ecd461 --- /dev/null +++ b/dist/node_modules/lodash/fp/pickAll.js @@ -0,0 +1 @@ +module.exports = require('./pick'); diff --git a/dist/node_modules/lodash/fp/pickBy.js b/dist/node_modules/lodash/fp/pickBy.js new file mode 100644 index 00000000..d832d16b --- /dev/null +++ b/dist/node_modules/lodash/fp/pickBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('pickBy', require('../pickBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/pipe.js b/dist/node_modules/lodash/fp/pipe.js new file mode 100644 index 00000000..b2e1e2cc --- /dev/null +++ b/dist/node_modules/lodash/fp/pipe.js @@ -0,0 +1 @@ +module.exports = require('./flow'); diff --git a/dist/node_modules/lodash/fp/placeholder.js b/dist/node_modules/lodash/fp/placeholder.js new file mode 100644 index 00000000..1ce17393 --- /dev/null +++ b/dist/node_modules/lodash/fp/placeholder.js @@ -0,0 +1,6 @@ +/** + * The default argument placeholder value for methods. + * + * @type {Object} + */ +module.exports = {}; diff --git a/dist/node_modules/lodash/fp/plant.js b/dist/node_modules/lodash/fp/plant.js new file mode 100644 index 00000000..eca8f32b --- /dev/null +++ b/dist/node_modules/lodash/fp/plant.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('plant', require('../plant'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/pluck.js b/dist/node_modules/lodash/fp/pluck.js new file mode 100644 index 00000000..0d1e1abf --- /dev/null +++ b/dist/node_modules/lodash/fp/pluck.js @@ -0,0 +1 @@ +module.exports = require('./map'); diff --git a/dist/node_modules/lodash/fp/prop.js b/dist/node_modules/lodash/fp/prop.js new file mode 100644 index 00000000..b29cfb21 --- /dev/null +++ b/dist/node_modules/lodash/fp/prop.js @@ -0,0 +1 @@ +module.exports = require('./get'); diff --git a/dist/node_modules/lodash/fp/propEq.js b/dist/node_modules/lodash/fp/propEq.js new file mode 100644 index 00000000..36c027a3 --- /dev/null +++ b/dist/node_modules/lodash/fp/propEq.js @@ -0,0 +1 @@ +module.exports = require('./matchesProperty'); diff --git a/dist/node_modules/lodash/fp/propOr.js b/dist/node_modules/lodash/fp/propOr.js new file mode 100644 index 00000000..4ab58209 --- /dev/null +++ b/dist/node_modules/lodash/fp/propOr.js @@ -0,0 +1 @@ +module.exports = require('./getOr'); diff --git a/dist/node_modules/lodash/fp/property.js b/dist/node_modules/lodash/fp/property.js new file mode 100644 index 00000000..b29cfb21 --- /dev/null +++ b/dist/node_modules/lodash/fp/property.js @@ -0,0 +1 @@ +module.exports = require('./get'); diff --git a/dist/node_modules/lodash/fp/propertyOf.js b/dist/node_modules/lodash/fp/propertyOf.js new file mode 100644 index 00000000..f6273ee4 --- /dev/null +++ b/dist/node_modules/lodash/fp/propertyOf.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('propertyOf', require('../get')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/props.js b/dist/node_modules/lodash/fp/props.js new file mode 100644 index 00000000..1eb7950a --- /dev/null +++ b/dist/node_modules/lodash/fp/props.js @@ -0,0 +1 @@ +module.exports = require('./at'); diff --git a/dist/node_modules/lodash/fp/pull.js b/dist/node_modules/lodash/fp/pull.js new file mode 100644 index 00000000..8d7084f0 --- /dev/null +++ b/dist/node_modules/lodash/fp/pull.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('pull', require('../pull')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/pullAll.js b/dist/node_modules/lodash/fp/pullAll.js new file mode 100644 index 00000000..98d5c9a7 --- /dev/null +++ b/dist/node_modules/lodash/fp/pullAll.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('pullAll', require('../pullAll')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/pullAllBy.js b/dist/node_modules/lodash/fp/pullAllBy.js new file mode 100644 index 00000000..876bc3bf --- /dev/null +++ b/dist/node_modules/lodash/fp/pullAllBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('pullAllBy', require('../pullAllBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/pullAllWith.js b/dist/node_modules/lodash/fp/pullAllWith.js new file mode 100644 index 00000000..f71ba4d7 --- /dev/null +++ b/dist/node_modules/lodash/fp/pullAllWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('pullAllWith', require('../pullAllWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/pullAt.js b/dist/node_modules/lodash/fp/pullAt.js new file mode 100644 index 00000000..e8b3bb61 --- /dev/null +++ b/dist/node_modules/lodash/fp/pullAt.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('pullAt', require('../pullAt')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/random.js b/dist/node_modules/lodash/fp/random.js new file mode 100644 index 00000000..99d852e4 --- /dev/null +++ b/dist/node_modules/lodash/fp/random.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('random', require('../random')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/range.js b/dist/node_modules/lodash/fp/range.js new file mode 100644 index 00000000..a6bb5911 --- /dev/null +++ b/dist/node_modules/lodash/fp/range.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('range', require('../range')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/rangeRight.js b/dist/node_modules/lodash/fp/rangeRight.js new file mode 100644 index 00000000..fdb712f9 --- /dev/null +++ b/dist/node_modules/lodash/fp/rangeRight.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('rangeRight', require('../rangeRight')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/rangeStep.js b/dist/node_modules/lodash/fp/rangeStep.js new file mode 100644 index 00000000..d72dfc20 --- /dev/null +++ b/dist/node_modules/lodash/fp/rangeStep.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('rangeStep', require('../range')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/rangeStepRight.js b/dist/node_modules/lodash/fp/rangeStepRight.js new file mode 100644 index 00000000..8b2a67bc --- /dev/null +++ b/dist/node_modules/lodash/fp/rangeStepRight.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('rangeStepRight', require('../rangeRight')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/rearg.js b/dist/node_modules/lodash/fp/rearg.js new file mode 100644 index 00000000..678e02a3 --- /dev/null +++ b/dist/node_modules/lodash/fp/rearg.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('rearg', require('../rearg')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/reduce.js b/dist/node_modules/lodash/fp/reduce.js new file mode 100644 index 00000000..4cef0a00 --- /dev/null +++ b/dist/node_modules/lodash/fp/reduce.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('reduce', require('../reduce')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/reduceRight.js b/dist/node_modules/lodash/fp/reduceRight.js new file mode 100644 index 00000000..caf5bb51 --- /dev/null +++ b/dist/node_modules/lodash/fp/reduceRight.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('reduceRight', require('../reduceRight')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/reject.js b/dist/node_modules/lodash/fp/reject.js new file mode 100644 index 00000000..c1632738 --- /dev/null +++ b/dist/node_modules/lodash/fp/reject.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('reject', require('../reject')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/remove.js b/dist/node_modules/lodash/fp/remove.js new file mode 100644 index 00000000..e9d13273 --- /dev/null +++ b/dist/node_modules/lodash/fp/remove.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('remove', require('../remove')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/repeat.js b/dist/node_modules/lodash/fp/repeat.js new file mode 100644 index 00000000..08470f24 --- /dev/null +++ b/dist/node_modules/lodash/fp/repeat.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('repeat', require('../repeat')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/replace.js b/dist/node_modules/lodash/fp/replace.js new file mode 100644 index 00000000..2227db62 --- /dev/null +++ b/dist/node_modules/lodash/fp/replace.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('replace', require('../replace')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/rest.js b/dist/node_modules/lodash/fp/rest.js new file mode 100644 index 00000000..c1f3d64b --- /dev/null +++ b/dist/node_modules/lodash/fp/rest.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('rest', require('../rest')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/restFrom.js b/dist/node_modules/lodash/fp/restFrom.js new file mode 100644 index 00000000..714e42b5 --- /dev/null +++ b/dist/node_modules/lodash/fp/restFrom.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('restFrom', require('../rest')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/result.js b/dist/node_modules/lodash/fp/result.js new file mode 100644 index 00000000..f86ce071 --- /dev/null +++ b/dist/node_modules/lodash/fp/result.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('result', require('../result')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/reverse.js b/dist/node_modules/lodash/fp/reverse.js new file mode 100644 index 00000000..07c9f5e4 --- /dev/null +++ b/dist/node_modules/lodash/fp/reverse.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('reverse', require('../reverse')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/round.js b/dist/node_modules/lodash/fp/round.js new file mode 100644 index 00000000..4c0e5c82 --- /dev/null +++ b/dist/node_modules/lodash/fp/round.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('round', require('../round')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/sample.js b/dist/node_modules/lodash/fp/sample.js new file mode 100644 index 00000000..6bea1254 --- /dev/null +++ b/dist/node_modules/lodash/fp/sample.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('sample', require('../sample'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/sampleSize.js b/dist/node_modules/lodash/fp/sampleSize.js new file mode 100644 index 00000000..359ed6fc --- /dev/null +++ b/dist/node_modules/lodash/fp/sampleSize.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('sampleSize', require('../sampleSize')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/seq.js b/dist/node_modules/lodash/fp/seq.js new file mode 100644 index 00000000..d8f42b0a --- /dev/null +++ b/dist/node_modules/lodash/fp/seq.js @@ -0,0 +1,2 @@ +var convert = require('./convert'); +module.exports = convert(require('../seq')); diff --git a/dist/node_modules/lodash/fp/set.js b/dist/node_modules/lodash/fp/set.js new file mode 100644 index 00000000..0b56a56c --- /dev/null +++ b/dist/node_modules/lodash/fp/set.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('set', require('../set')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/setWith.js b/dist/node_modules/lodash/fp/setWith.js new file mode 100644 index 00000000..0b584952 --- /dev/null +++ b/dist/node_modules/lodash/fp/setWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('setWith', require('../setWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/shuffle.js b/dist/node_modules/lodash/fp/shuffle.js new file mode 100644 index 00000000..aa3a1ca5 --- /dev/null +++ b/dist/node_modules/lodash/fp/shuffle.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('shuffle', require('../shuffle'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/size.js b/dist/node_modules/lodash/fp/size.js new file mode 100644 index 00000000..7490136e --- /dev/null +++ b/dist/node_modules/lodash/fp/size.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('size', require('../size'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/slice.js b/dist/node_modules/lodash/fp/slice.js new file mode 100644 index 00000000..15945d32 --- /dev/null +++ b/dist/node_modules/lodash/fp/slice.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('slice', require('../slice')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/snakeCase.js b/dist/node_modules/lodash/fp/snakeCase.js new file mode 100644 index 00000000..a0ff7808 --- /dev/null +++ b/dist/node_modules/lodash/fp/snakeCase.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('snakeCase', require('../snakeCase'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/some.js b/dist/node_modules/lodash/fp/some.js new file mode 100644 index 00000000..a4fa2d00 --- /dev/null +++ b/dist/node_modules/lodash/fp/some.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('some', require('../some')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/sortBy.js b/dist/node_modules/lodash/fp/sortBy.js new file mode 100644 index 00000000..e0790ad5 --- /dev/null +++ b/dist/node_modules/lodash/fp/sortBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('sortBy', require('../sortBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/sortedIndex.js b/dist/node_modules/lodash/fp/sortedIndex.js new file mode 100644 index 00000000..364a0543 --- /dev/null +++ b/dist/node_modules/lodash/fp/sortedIndex.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('sortedIndex', require('../sortedIndex')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/sortedIndexBy.js b/dist/node_modules/lodash/fp/sortedIndexBy.js new file mode 100644 index 00000000..9593dbd1 --- /dev/null +++ b/dist/node_modules/lodash/fp/sortedIndexBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('sortedIndexBy', require('../sortedIndexBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/sortedIndexOf.js b/dist/node_modules/lodash/fp/sortedIndexOf.js new file mode 100644 index 00000000..c9084cab --- /dev/null +++ b/dist/node_modules/lodash/fp/sortedIndexOf.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('sortedIndexOf', require('../sortedIndexOf')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/sortedLastIndex.js b/dist/node_modules/lodash/fp/sortedLastIndex.js new file mode 100644 index 00000000..47fe241a --- /dev/null +++ b/dist/node_modules/lodash/fp/sortedLastIndex.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('sortedLastIndex', require('../sortedLastIndex')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/sortedLastIndexBy.js b/dist/node_modules/lodash/fp/sortedLastIndexBy.js new file mode 100644 index 00000000..0f9a3473 --- /dev/null +++ b/dist/node_modules/lodash/fp/sortedLastIndexBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('sortedLastIndexBy', require('../sortedLastIndexBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/sortedLastIndexOf.js b/dist/node_modules/lodash/fp/sortedLastIndexOf.js new file mode 100644 index 00000000..0d4d9327 --- /dev/null +++ b/dist/node_modules/lodash/fp/sortedLastIndexOf.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('sortedLastIndexOf', require('../sortedLastIndexOf')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/sortedUniq.js b/dist/node_modules/lodash/fp/sortedUniq.js new file mode 100644 index 00000000..882d2837 --- /dev/null +++ b/dist/node_modules/lodash/fp/sortedUniq.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('sortedUniq', require('../sortedUniq'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/sortedUniqBy.js b/dist/node_modules/lodash/fp/sortedUniqBy.js new file mode 100644 index 00000000..033db91c --- /dev/null +++ b/dist/node_modules/lodash/fp/sortedUniqBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('sortedUniqBy', require('../sortedUniqBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/split.js b/dist/node_modules/lodash/fp/split.js new file mode 100644 index 00000000..14de1a7e --- /dev/null +++ b/dist/node_modules/lodash/fp/split.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('split', require('../split')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/spread.js b/dist/node_modules/lodash/fp/spread.js new file mode 100644 index 00000000..2d11b707 --- /dev/null +++ b/dist/node_modules/lodash/fp/spread.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('spread', require('../spread')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/spreadFrom.js b/dist/node_modules/lodash/fp/spreadFrom.js new file mode 100644 index 00000000..0b630df1 --- /dev/null +++ b/dist/node_modules/lodash/fp/spreadFrom.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('spreadFrom', require('../spread')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/startCase.js b/dist/node_modules/lodash/fp/startCase.js new file mode 100644 index 00000000..ada98c94 --- /dev/null +++ b/dist/node_modules/lodash/fp/startCase.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('startCase', require('../startCase'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/startsWith.js b/dist/node_modules/lodash/fp/startsWith.js new file mode 100644 index 00000000..985e2f29 --- /dev/null +++ b/dist/node_modules/lodash/fp/startsWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('startsWith', require('../startsWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/string.js b/dist/node_modules/lodash/fp/string.js new file mode 100644 index 00000000..773b0370 --- /dev/null +++ b/dist/node_modules/lodash/fp/string.js @@ -0,0 +1,2 @@ +var convert = require('./convert'); +module.exports = convert(require('../string')); diff --git a/dist/node_modules/lodash/fp/stubArray.js b/dist/node_modules/lodash/fp/stubArray.js new file mode 100644 index 00000000..cd604cb4 --- /dev/null +++ b/dist/node_modules/lodash/fp/stubArray.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('stubArray', require('../stubArray'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/stubFalse.js b/dist/node_modules/lodash/fp/stubFalse.js new file mode 100644 index 00000000..32966645 --- /dev/null +++ b/dist/node_modules/lodash/fp/stubFalse.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('stubFalse', require('../stubFalse'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/stubObject.js b/dist/node_modules/lodash/fp/stubObject.js new file mode 100644 index 00000000..c6c8ec47 --- /dev/null +++ b/dist/node_modules/lodash/fp/stubObject.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('stubObject', require('../stubObject'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/stubString.js b/dist/node_modules/lodash/fp/stubString.js new file mode 100644 index 00000000..701051e8 --- /dev/null +++ b/dist/node_modules/lodash/fp/stubString.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('stubString', require('../stubString'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/stubTrue.js b/dist/node_modules/lodash/fp/stubTrue.js new file mode 100644 index 00000000..9249082c --- /dev/null +++ b/dist/node_modules/lodash/fp/stubTrue.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('stubTrue', require('../stubTrue'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/subtract.js b/dist/node_modules/lodash/fp/subtract.js new file mode 100644 index 00000000..d32b16d4 --- /dev/null +++ b/dist/node_modules/lodash/fp/subtract.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('subtract', require('../subtract')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/sum.js b/dist/node_modules/lodash/fp/sum.js new file mode 100644 index 00000000..5cce12b3 --- /dev/null +++ b/dist/node_modules/lodash/fp/sum.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('sum', require('../sum'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/sumBy.js b/dist/node_modules/lodash/fp/sumBy.js new file mode 100644 index 00000000..c8826565 --- /dev/null +++ b/dist/node_modules/lodash/fp/sumBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('sumBy', require('../sumBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/symmetricDifference.js b/dist/node_modules/lodash/fp/symmetricDifference.js new file mode 100644 index 00000000..78c16add --- /dev/null +++ b/dist/node_modules/lodash/fp/symmetricDifference.js @@ -0,0 +1 @@ +module.exports = require('./xor'); diff --git a/dist/node_modules/lodash/fp/symmetricDifferenceBy.js b/dist/node_modules/lodash/fp/symmetricDifferenceBy.js new file mode 100644 index 00000000..298fc7ff --- /dev/null +++ b/dist/node_modules/lodash/fp/symmetricDifferenceBy.js @@ -0,0 +1 @@ +module.exports = require('./xorBy'); diff --git a/dist/node_modules/lodash/fp/symmetricDifferenceWith.js b/dist/node_modules/lodash/fp/symmetricDifferenceWith.js new file mode 100644 index 00000000..70bc6faf --- /dev/null +++ b/dist/node_modules/lodash/fp/symmetricDifferenceWith.js @@ -0,0 +1 @@ +module.exports = require('./xorWith'); diff --git a/dist/node_modules/lodash/fp/tail.js b/dist/node_modules/lodash/fp/tail.js new file mode 100644 index 00000000..f122f0ac --- /dev/null +++ b/dist/node_modules/lodash/fp/tail.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('tail', require('../tail'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/take.js b/dist/node_modules/lodash/fp/take.js new file mode 100644 index 00000000..9af98a7b --- /dev/null +++ b/dist/node_modules/lodash/fp/take.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('take', require('../take')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/takeLast.js b/dist/node_modules/lodash/fp/takeLast.js new file mode 100644 index 00000000..e98c84a1 --- /dev/null +++ b/dist/node_modules/lodash/fp/takeLast.js @@ -0,0 +1 @@ +module.exports = require('./takeRight'); diff --git a/dist/node_modules/lodash/fp/takeLastWhile.js b/dist/node_modules/lodash/fp/takeLastWhile.js new file mode 100644 index 00000000..5367968a --- /dev/null +++ b/dist/node_modules/lodash/fp/takeLastWhile.js @@ -0,0 +1 @@ +module.exports = require('./takeRightWhile'); diff --git a/dist/node_modules/lodash/fp/takeRight.js b/dist/node_modules/lodash/fp/takeRight.js new file mode 100644 index 00000000..b82950a6 --- /dev/null +++ b/dist/node_modules/lodash/fp/takeRight.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('takeRight', require('../takeRight')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/takeRightWhile.js b/dist/node_modules/lodash/fp/takeRightWhile.js new file mode 100644 index 00000000..8ffb0a28 --- /dev/null +++ b/dist/node_modules/lodash/fp/takeRightWhile.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('takeRightWhile', require('../takeRightWhile')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/takeWhile.js b/dist/node_modules/lodash/fp/takeWhile.js new file mode 100644 index 00000000..28136644 --- /dev/null +++ b/dist/node_modules/lodash/fp/takeWhile.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('takeWhile', require('../takeWhile')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/tap.js b/dist/node_modules/lodash/fp/tap.js new file mode 100644 index 00000000..d33ad6ec --- /dev/null +++ b/dist/node_modules/lodash/fp/tap.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('tap', require('../tap')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/template.js b/dist/node_modules/lodash/fp/template.js new file mode 100644 index 00000000..74857e1c --- /dev/null +++ b/dist/node_modules/lodash/fp/template.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('template', require('../template')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/templateSettings.js b/dist/node_modules/lodash/fp/templateSettings.js new file mode 100644 index 00000000..7bcc0a82 --- /dev/null +++ b/dist/node_modules/lodash/fp/templateSettings.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('templateSettings', require('../templateSettings'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/throttle.js b/dist/node_modules/lodash/fp/throttle.js new file mode 100644 index 00000000..77fff142 --- /dev/null +++ b/dist/node_modules/lodash/fp/throttle.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('throttle', require('../throttle')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/thru.js b/dist/node_modules/lodash/fp/thru.js new file mode 100644 index 00000000..d42b3b1d --- /dev/null +++ b/dist/node_modules/lodash/fp/thru.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('thru', require('../thru')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/times.js b/dist/node_modules/lodash/fp/times.js new file mode 100644 index 00000000..0dab06da --- /dev/null +++ b/dist/node_modules/lodash/fp/times.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('times', require('../times')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/toArray.js b/dist/node_modules/lodash/fp/toArray.js new file mode 100644 index 00000000..f0c360ac --- /dev/null +++ b/dist/node_modules/lodash/fp/toArray.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toArray', require('../toArray'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/toFinite.js b/dist/node_modules/lodash/fp/toFinite.js new file mode 100644 index 00000000..3a47687d --- /dev/null +++ b/dist/node_modules/lodash/fp/toFinite.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toFinite', require('../toFinite'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/toInteger.js b/dist/node_modules/lodash/fp/toInteger.js new file mode 100644 index 00000000..e0af6a75 --- /dev/null +++ b/dist/node_modules/lodash/fp/toInteger.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toInteger', require('../toInteger'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/toIterator.js b/dist/node_modules/lodash/fp/toIterator.js new file mode 100644 index 00000000..65e6baa9 --- /dev/null +++ b/dist/node_modules/lodash/fp/toIterator.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toIterator', require('../toIterator'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/toJSON.js b/dist/node_modules/lodash/fp/toJSON.js new file mode 100644 index 00000000..2d718d0b --- /dev/null +++ b/dist/node_modules/lodash/fp/toJSON.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toJSON', require('../toJSON'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/toLength.js b/dist/node_modules/lodash/fp/toLength.js new file mode 100644 index 00000000..b97cdd93 --- /dev/null +++ b/dist/node_modules/lodash/fp/toLength.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toLength', require('../toLength'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/toLower.js b/dist/node_modules/lodash/fp/toLower.js new file mode 100644 index 00000000..616ef36a --- /dev/null +++ b/dist/node_modules/lodash/fp/toLower.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toLower', require('../toLower'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/toNumber.js b/dist/node_modules/lodash/fp/toNumber.js new file mode 100644 index 00000000..d0c6f4d3 --- /dev/null +++ b/dist/node_modules/lodash/fp/toNumber.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toNumber', require('../toNumber'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/toPairs.js b/dist/node_modules/lodash/fp/toPairs.js new file mode 100644 index 00000000..af783786 --- /dev/null +++ b/dist/node_modules/lodash/fp/toPairs.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toPairs', require('../toPairs'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/toPairsIn.js b/dist/node_modules/lodash/fp/toPairsIn.js new file mode 100644 index 00000000..66504abf --- /dev/null +++ b/dist/node_modules/lodash/fp/toPairsIn.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toPairsIn', require('../toPairsIn'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/toPath.js b/dist/node_modules/lodash/fp/toPath.js new file mode 100644 index 00000000..b4d5e50f --- /dev/null +++ b/dist/node_modules/lodash/fp/toPath.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toPath', require('../toPath'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/toPlainObject.js b/dist/node_modules/lodash/fp/toPlainObject.js new file mode 100644 index 00000000..278bb863 --- /dev/null +++ b/dist/node_modules/lodash/fp/toPlainObject.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toPlainObject', require('../toPlainObject'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/toSafeInteger.js b/dist/node_modules/lodash/fp/toSafeInteger.js new file mode 100644 index 00000000..367a26fd --- /dev/null +++ b/dist/node_modules/lodash/fp/toSafeInteger.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toSafeInteger', require('../toSafeInteger'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/toString.js b/dist/node_modules/lodash/fp/toString.js new file mode 100644 index 00000000..cec4f8e2 --- /dev/null +++ b/dist/node_modules/lodash/fp/toString.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toString', require('../toString'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/toUpper.js b/dist/node_modules/lodash/fp/toUpper.js new file mode 100644 index 00000000..54f9a560 --- /dev/null +++ b/dist/node_modules/lodash/fp/toUpper.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('toUpper', require('../toUpper'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/transform.js b/dist/node_modules/lodash/fp/transform.js new file mode 100644 index 00000000..759d088f --- /dev/null +++ b/dist/node_modules/lodash/fp/transform.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('transform', require('../transform')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/trim.js b/dist/node_modules/lodash/fp/trim.js new file mode 100644 index 00000000..e6319a74 --- /dev/null +++ b/dist/node_modules/lodash/fp/trim.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('trim', require('../trim')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/trimChars.js b/dist/node_modules/lodash/fp/trimChars.js new file mode 100644 index 00000000..c9294de4 --- /dev/null +++ b/dist/node_modules/lodash/fp/trimChars.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('trimChars', require('../trim')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/trimCharsEnd.js b/dist/node_modules/lodash/fp/trimCharsEnd.js new file mode 100644 index 00000000..284bc2f8 --- /dev/null +++ b/dist/node_modules/lodash/fp/trimCharsEnd.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('trimCharsEnd', require('../trimEnd')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/trimCharsStart.js b/dist/node_modules/lodash/fp/trimCharsStart.js new file mode 100644 index 00000000..ff0ee65d --- /dev/null +++ b/dist/node_modules/lodash/fp/trimCharsStart.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('trimCharsStart', require('../trimStart')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/trimEnd.js b/dist/node_modules/lodash/fp/trimEnd.js new file mode 100644 index 00000000..71908805 --- /dev/null +++ b/dist/node_modules/lodash/fp/trimEnd.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('trimEnd', require('../trimEnd')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/trimStart.js b/dist/node_modules/lodash/fp/trimStart.js new file mode 100644 index 00000000..fda902c3 --- /dev/null +++ b/dist/node_modules/lodash/fp/trimStart.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('trimStart', require('../trimStart')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/truncate.js b/dist/node_modules/lodash/fp/truncate.js new file mode 100644 index 00000000..d265c1de --- /dev/null +++ b/dist/node_modules/lodash/fp/truncate.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('truncate', require('../truncate')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/unapply.js b/dist/node_modules/lodash/fp/unapply.js new file mode 100644 index 00000000..c5dfe779 --- /dev/null +++ b/dist/node_modules/lodash/fp/unapply.js @@ -0,0 +1 @@ +module.exports = require('./rest'); diff --git a/dist/node_modules/lodash/fp/unary.js b/dist/node_modules/lodash/fp/unary.js new file mode 100644 index 00000000..286c945f --- /dev/null +++ b/dist/node_modules/lodash/fp/unary.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('unary', require('../unary'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/unescape.js b/dist/node_modules/lodash/fp/unescape.js new file mode 100644 index 00000000..fddcb46e --- /dev/null +++ b/dist/node_modules/lodash/fp/unescape.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('unescape', require('../unescape'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/union.js b/dist/node_modules/lodash/fp/union.js new file mode 100644 index 00000000..ef8228d7 --- /dev/null +++ b/dist/node_modules/lodash/fp/union.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('union', require('../union')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/unionBy.js b/dist/node_modules/lodash/fp/unionBy.js new file mode 100644 index 00000000..603687a1 --- /dev/null +++ b/dist/node_modules/lodash/fp/unionBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('unionBy', require('../unionBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/unionWith.js b/dist/node_modules/lodash/fp/unionWith.js new file mode 100644 index 00000000..65bb3a79 --- /dev/null +++ b/dist/node_modules/lodash/fp/unionWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('unionWith', require('../unionWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/uniq.js b/dist/node_modules/lodash/fp/uniq.js new file mode 100644 index 00000000..bc185249 --- /dev/null +++ b/dist/node_modules/lodash/fp/uniq.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('uniq', require('../uniq'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/uniqBy.js b/dist/node_modules/lodash/fp/uniqBy.js new file mode 100644 index 00000000..634c6a8b --- /dev/null +++ b/dist/node_modules/lodash/fp/uniqBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('uniqBy', require('../uniqBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/uniqWith.js b/dist/node_modules/lodash/fp/uniqWith.js new file mode 100644 index 00000000..0ec601a9 --- /dev/null +++ b/dist/node_modules/lodash/fp/uniqWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('uniqWith', require('../uniqWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/uniqueId.js b/dist/node_modules/lodash/fp/uniqueId.js new file mode 100644 index 00000000..aa8fc2f7 --- /dev/null +++ b/dist/node_modules/lodash/fp/uniqueId.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('uniqueId', require('../uniqueId')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/unnest.js b/dist/node_modules/lodash/fp/unnest.js new file mode 100644 index 00000000..5d34060a --- /dev/null +++ b/dist/node_modules/lodash/fp/unnest.js @@ -0,0 +1 @@ +module.exports = require('./flatten'); diff --git a/dist/node_modules/lodash/fp/unset.js b/dist/node_modules/lodash/fp/unset.js new file mode 100644 index 00000000..ea203a0f --- /dev/null +++ b/dist/node_modules/lodash/fp/unset.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('unset', require('../unset')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/unzip.js b/dist/node_modules/lodash/fp/unzip.js new file mode 100644 index 00000000..cc364b3c --- /dev/null +++ b/dist/node_modules/lodash/fp/unzip.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('unzip', require('../unzip'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/unzipWith.js b/dist/node_modules/lodash/fp/unzipWith.js new file mode 100644 index 00000000..182eaa10 --- /dev/null +++ b/dist/node_modules/lodash/fp/unzipWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('unzipWith', require('../unzipWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/update.js b/dist/node_modules/lodash/fp/update.js new file mode 100644 index 00000000..b8ce2cc9 --- /dev/null +++ b/dist/node_modules/lodash/fp/update.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('update', require('../update')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/updateWith.js b/dist/node_modules/lodash/fp/updateWith.js new file mode 100644 index 00000000..d5e8282d --- /dev/null +++ b/dist/node_modules/lodash/fp/updateWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('updateWith', require('../updateWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/upperCase.js b/dist/node_modules/lodash/fp/upperCase.js new file mode 100644 index 00000000..c886f202 --- /dev/null +++ b/dist/node_modules/lodash/fp/upperCase.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('upperCase', require('../upperCase'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/upperFirst.js b/dist/node_modules/lodash/fp/upperFirst.js new file mode 100644 index 00000000..d8c04df5 --- /dev/null +++ b/dist/node_modules/lodash/fp/upperFirst.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('upperFirst', require('../upperFirst'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/useWith.js b/dist/node_modules/lodash/fp/useWith.js new file mode 100644 index 00000000..d8b3df5a --- /dev/null +++ b/dist/node_modules/lodash/fp/useWith.js @@ -0,0 +1 @@ +module.exports = require('./overArgs'); diff --git a/dist/node_modules/lodash/fp/util.js b/dist/node_modules/lodash/fp/util.js new file mode 100644 index 00000000..18c00bae --- /dev/null +++ b/dist/node_modules/lodash/fp/util.js @@ -0,0 +1,2 @@ +var convert = require('./convert'); +module.exports = convert(require('../util')); diff --git a/dist/node_modules/lodash/fp/value.js b/dist/node_modules/lodash/fp/value.js new file mode 100644 index 00000000..555eec7a --- /dev/null +++ b/dist/node_modules/lodash/fp/value.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('value', require('../value'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/valueOf.js b/dist/node_modules/lodash/fp/valueOf.js new file mode 100644 index 00000000..f968807d --- /dev/null +++ b/dist/node_modules/lodash/fp/valueOf.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('valueOf', require('../valueOf'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/values.js b/dist/node_modules/lodash/fp/values.js new file mode 100644 index 00000000..2dfc5613 --- /dev/null +++ b/dist/node_modules/lodash/fp/values.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('values', require('../values'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/valuesIn.js b/dist/node_modules/lodash/fp/valuesIn.js new file mode 100644 index 00000000..a1b2bb87 --- /dev/null +++ b/dist/node_modules/lodash/fp/valuesIn.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('valuesIn', require('../valuesIn'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/where.js b/dist/node_modules/lodash/fp/where.js new file mode 100644 index 00000000..3247f64a --- /dev/null +++ b/dist/node_modules/lodash/fp/where.js @@ -0,0 +1 @@ +module.exports = require('./conformsTo'); diff --git a/dist/node_modules/lodash/fp/whereEq.js b/dist/node_modules/lodash/fp/whereEq.js new file mode 100644 index 00000000..29d1e1e4 --- /dev/null +++ b/dist/node_modules/lodash/fp/whereEq.js @@ -0,0 +1 @@ +module.exports = require('./isMatch'); diff --git a/dist/node_modules/lodash/fp/without.js b/dist/node_modules/lodash/fp/without.js new file mode 100644 index 00000000..bad9e125 --- /dev/null +++ b/dist/node_modules/lodash/fp/without.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('without', require('../without')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/words.js b/dist/node_modules/lodash/fp/words.js new file mode 100644 index 00000000..4a901414 --- /dev/null +++ b/dist/node_modules/lodash/fp/words.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('words', require('../words')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/wrap.js b/dist/node_modules/lodash/fp/wrap.js new file mode 100644 index 00000000..e93bd8a1 --- /dev/null +++ b/dist/node_modules/lodash/fp/wrap.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('wrap', require('../wrap')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/wrapperAt.js b/dist/node_modules/lodash/fp/wrapperAt.js new file mode 100644 index 00000000..8f0a310f --- /dev/null +++ b/dist/node_modules/lodash/fp/wrapperAt.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('wrapperAt', require('../wrapperAt'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/wrapperChain.js b/dist/node_modules/lodash/fp/wrapperChain.js new file mode 100644 index 00000000..2a48ea2b --- /dev/null +++ b/dist/node_modules/lodash/fp/wrapperChain.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('wrapperChain', require('../wrapperChain'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/wrapperLodash.js b/dist/node_modules/lodash/fp/wrapperLodash.js new file mode 100644 index 00000000..a7162d08 --- /dev/null +++ b/dist/node_modules/lodash/fp/wrapperLodash.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('wrapperLodash', require('../wrapperLodash'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/wrapperReverse.js b/dist/node_modules/lodash/fp/wrapperReverse.js new file mode 100644 index 00000000..e1481aab --- /dev/null +++ b/dist/node_modules/lodash/fp/wrapperReverse.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('wrapperReverse', require('../wrapperReverse'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/wrapperValue.js b/dist/node_modules/lodash/fp/wrapperValue.js new file mode 100644 index 00000000..8eb9112f --- /dev/null +++ b/dist/node_modules/lodash/fp/wrapperValue.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('wrapperValue', require('../wrapperValue'), require('./_falseOptions')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/xor.js b/dist/node_modules/lodash/fp/xor.js new file mode 100644 index 00000000..29e28194 --- /dev/null +++ b/dist/node_modules/lodash/fp/xor.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('xor', require('../xor')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/xorBy.js b/dist/node_modules/lodash/fp/xorBy.js new file mode 100644 index 00000000..b355686d --- /dev/null +++ b/dist/node_modules/lodash/fp/xorBy.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('xorBy', require('../xorBy')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/xorWith.js b/dist/node_modules/lodash/fp/xorWith.js new file mode 100644 index 00000000..8e05739a --- /dev/null +++ b/dist/node_modules/lodash/fp/xorWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('xorWith', require('../xorWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/zip.js b/dist/node_modules/lodash/fp/zip.js new file mode 100644 index 00000000..69e147a4 --- /dev/null +++ b/dist/node_modules/lodash/fp/zip.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('zip', require('../zip')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/zipAll.js b/dist/node_modules/lodash/fp/zipAll.js new file mode 100644 index 00000000..efa8ccbf --- /dev/null +++ b/dist/node_modules/lodash/fp/zipAll.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('zipAll', require('../zip')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/zipObj.js b/dist/node_modules/lodash/fp/zipObj.js new file mode 100644 index 00000000..f4a34531 --- /dev/null +++ b/dist/node_modules/lodash/fp/zipObj.js @@ -0,0 +1 @@ +module.exports = require('./zipObject'); diff --git a/dist/node_modules/lodash/fp/zipObject.js b/dist/node_modules/lodash/fp/zipObject.js new file mode 100644 index 00000000..462dbb68 --- /dev/null +++ b/dist/node_modules/lodash/fp/zipObject.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('zipObject', require('../zipObject')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/zipObjectDeep.js b/dist/node_modules/lodash/fp/zipObjectDeep.js new file mode 100644 index 00000000..53a5d338 --- /dev/null +++ b/dist/node_modules/lodash/fp/zipObjectDeep.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('zipObjectDeep', require('../zipObjectDeep')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fp/zipWith.js b/dist/node_modules/lodash/fp/zipWith.js new file mode 100644 index 00000000..c5cf9e21 --- /dev/null +++ b/dist/node_modules/lodash/fp/zipWith.js @@ -0,0 +1,5 @@ +var convert = require('./convert'), + func = convert('zipWith', require('../zipWith')); + +func.placeholder = require('./placeholder'); +module.exports = func; diff --git a/dist/node_modules/lodash/fromPairs.js b/dist/node_modules/lodash/fromPairs.js new file mode 100644 index 00000000..83548beb --- /dev/null +++ b/dist/node_modules/lodash/fromPairs.js @@ -0,0 +1,30 @@ +var baseAssignValue = require('./_baseAssignValue'); + +/** + * The inverse of `_.toPairs`; this method returns an object composed + * from key-value `pairs`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} pairs The key-value pairs. + * @returns {Object} Returns the new object. + * @example + * + * _.fromPairs([['a', 1], ['b', 2]]); + * // => { 'a': 1, 'b': 2 } + */ +function fromPairs(pairs) { + var index = -1, + length = pairs == null ? 0 : pairs.length, + result = {}; + + while (++index < length) { + var pair = pairs[index]; + baseAssignValue(result, pair[0], pair[1]); + } + return result; +} + +module.exports = fromPairs; diff --git a/dist/node_modules/lodash/function.js b/dist/node_modules/lodash/function.js new file mode 100644 index 00000000..b0fc6d93 --- /dev/null +++ b/dist/node_modules/lodash/function.js @@ -0,0 +1,25 @@ +module.exports = { + 'after': require('./after'), + 'ary': require('./ary'), + 'before': require('./before'), + 'bind': require('./bind'), + 'bindKey': require('./bindKey'), + 'curry': require('./curry'), + 'curryRight': require('./curryRight'), + 'debounce': require('./debounce'), + 'defer': require('./defer'), + 'delay': require('./delay'), + 'flip': require('./flip'), + 'memoize': require('./memoize'), + 'negate': require('./negate'), + 'once': require('./once'), + 'overArgs': require('./overArgs'), + 'partial': require('./partial'), + 'partialRight': require('./partialRight'), + 'rearg': require('./rearg'), + 'rest': require('./rest'), + 'spread': require('./spread'), + 'throttle': require('./throttle'), + 'unary': require('./unary'), + 'wrap': require('./wrap') +}; diff --git a/dist/node_modules/lodash/functions.js b/dist/node_modules/lodash/functions.js new file mode 100644 index 00000000..9722928f --- /dev/null +++ b/dist/node_modules/lodash/functions.js @@ -0,0 +1,31 @@ +var baseFunctions = require('./_baseFunctions'), + keys = require('./keys'); + +/** + * Creates an array of function property names from own enumerable properties + * of `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to inspect. + * @returns {Array} Returns the function names. + * @see _.functionsIn + * @example + * + * function Foo() { + * this.a = _.constant('a'); + * this.b = _.constant('b'); + * } + * + * Foo.prototype.c = _.constant('c'); + * + * _.functions(new Foo); + * // => ['a', 'b'] + */ +function functions(object) { + return object == null ? [] : baseFunctions(object, keys(object)); +} + +module.exports = functions; diff --git a/dist/node_modules/lodash/functionsIn.js b/dist/node_modules/lodash/functionsIn.js new file mode 100644 index 00000000..f00345d0 --- /dev/null +++ b/dist/node_modules/lodash/functionsIn.js @@ -0,0 +1,31 @@ +var baseFunctions = require('./_baseFunctions'), + keysIn = require('./keysIn'); + +/** + * Creates an array of function property names from own and inherited + * enumerable properties of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to inspect. + * @returns {Array} Returns the function names. + * @see _.functions + * @example + * + * function Foo() { + * this.a = _.constant('a'); + * this.b = _.constant('b'); + * } + * + * Foo.prototype.c = _.constant('c'); + * + * _.functionsIn(new Foo); + * // => ['a', 'b', 'c'] + */ +function functionsIn(object) { + return object == null ? [] : baseFunctions(object, keysIn(object)); +} + +module.exports = functionsIn; diff --git a/dist/node_modules/lodash/get.js b/dist/node_modules/lodash/get.js new file mode 100644 index 00000000..8805ff92 --- /dev/null +++ b/dist/node_modules/lodash/get.js @@ -0,0 +1,33 @@ +var baseGet = require('./_baseGet'); + +/** + * Gets the value at `path` of `object`. If the resolved value is + * `undefined`, the `defaultValue` is returned in its place. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.get(object, 'a[0].b.c'); + * // => 3 + * + * _.get(object, ['a', '0', 'b', 'c']); + * // => 3 + * + * _.get(object, 'a.b.c', 'default'); + * // => 'default' + */ +function get(object, path, defaultValue) { + var result = object == null ? undefined : baseGet(object, path); + return result === undefined ? defaultValue : result; +} + +module.exports = get; diff --git a/dist/node_modules/lodash/groupBy.js b/dist/node_modules/lodash/groupBy.js new file mode 100644 index 00000000..babf4f6b --- /dev/null +++ b/dist/node_modules/lodash/groupBy.js @@ -0,0 +1,41 @@ +var baseAssignValue = require('./_baseAssignValue'), + createAggregator = require('./_createAggregator'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The order of grouped values + * is determined by the order they occur in `collection`. The corresponding + * value of each key is an array of elements responsible for generating the + * key. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.groupBy([6.1, 4.2, 6.3], Math.floor); + * // => { '4': [4.2], '6': [6.1, 6.3] } + * + * // The `_.property` iteratee shorthand. + * _.groupBy(['one', 'two', 'three'], 'length'); + * // => { '3': ['one', 'two'], '5': ['three'] } + */ +var groupBy = createAggregator(function(result, value, key) { + if (hasOwnProperty.call(result, key)) { + result[key].push(value); + } else { + baseAssignValue(result, key, [value]); + } +}); + +module.exports = groupBy; diff --git a/dist/node_modules/lodash/gt.js b/dist/node_modules/lodash/gt.js new file mode 100644 index 00000000..3a662828 --- /dev/null +++ b/dist/node_modules/lodash/gt.js @@ -0,0 +1,29 @@ +var baseGt = require('./_baseGt'), + createRelationalOperation = require('./_createRelationalOperation'); + +/** + * Checks if `value` is greater than `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than `other`, + * else `false`. + * @see _.lt + * @example + * + * _.gt(3, 1); + * // => true + * + * _.gt(3, 3); + * // => false + * + * _.gt(1, 3); + * // => false + */ +var gt = createRelationalOperation(baseGt); + +module.exports = gt; diff --git a/dist/node_modules/lodash/gte.js b/dist/node_modules/lodash/gte.js new file mode 100644 index 00000000..4180a687 --- /dev/null +++ b/dist/node_modules/lodash/gte.js @@ -0,0 +1,30 @@ +var createRelationalOperation = require('./_createRelationalOperation'); + +/** + * Checks if `value` is greater than or equal to `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than or equal to + * `other`, else `false`. + * @see _.lte + * @example + * + * _.gte(3, 1); + * // => true + * + * _.gte(3, 3); + * // => true + * + * _.gte(1, 3); + * // => false + */ +var gte = createRelationalOperation(function(value, other) { + return value >= other; +}); + +module.exports = gte; diff --git a/dist/node_modules/lodash/has.js b/dist/node_modules/lodash/has.js new file mode 100644 index 00000000..34df55e8 --- /dev/null +++ b/dist/node_modules/lodash/has.js @@ -0,0 +1,35 @@ +var baseHas = require('./_baseHas'), + hasPath = require('./_hasPath'); + +/** + * Checks if `path` is a direct property of `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = { 'a': { 'b': 2 } }; + * var other = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.has(object, 'a'); + * // => true + * + * _.has(object, 'a.b'); + * // => true + * + * _.has(object, ['a', 'b']); + * // => true + * + * _.has(other, 'a'); + * // => false + */ +function has(object, path) { + return object != null && hasPath(object, path, baseHas); +} + +module.exports = has; diff --git a/dist/node_modules/lodash/hasIn.js b/dist/node_modules/lodash/hasIn.js new file mode 100644 index 00000000..06a36865 --- /dev/null +++ b/dist/node_modules/lodash/hasIn.js @@ -0,0 +1,34 @@ +var baseHasIn = require('./_baseHasIn'), + hasPath = require('./_hasPath'); + +/** + * Checks if `path` is a direct or inherited property of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.hasIn(object, 'a'); + * // => true + * + * _.hasIn(object, 'a.b'); + * // => true + * + * _.hasIn(object, ['a', 'b']); + * // => true + * + * _.hasIn(object, 'b'); + * // => false + */ +function hasIn(object, path) { + return object != null && hasPath(object, path, baseHasIn); +} + +module.exports = hasIn; diff --git a/dist/node_modules/lodash/head.js b/dist/node_modules/lodash/head.js new file mode 100644 index 00000000..dee9d1f1 --- /dev/null +++ b/dist/node_modules/lodash/head.js @@ -0,0 +1,23 @@ +/** + * Gets the first element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @alias first + * @category Array + * @param {Array} array The array to query. + * @returns {*} Returns the first element of `array`. + * @example + * + * _.head([1, 2, 3]); + * // => 1 + * + * _.head([]); + * // => undefined + */ +function head(array) { + return (array && array.length) ? array[0] : undefined; +} + +module.exports = head; diff --git a/dist/node_modules/lodash/identity.js b/dist/node_modules/lodash/identity.js new file mode 100644 index 00000000..2d5d963c --- /dev/null +++ b/dist/node_modules/lodash/identity.js @@ -0,0 +1,21 @@ +/** + * This method returns the first argument it receives. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {*} value Any value. + * @returns {*} Returns `value`. + * @example + * + * var object = { 'a': 1 }; + * + * console.log(_.identity(object) === object); + * // => true + */ +function identity(value) { + return value; +} + +module.exports = identity; diff --git a/dist/node_modules/lodash/inRange.js b/dist/node_modules/lodash/inRange.js new file mode 100644 index 00000000..f20728d9 --- /dev/null +++ b/dist/node_modules/lodash/inRange.js @@ -0,0 +1,55 @@ +var baseInRange = require('./_baseInRange'), + toFinite = require('./toFinite'), + toNumber = require('./toNumber'); + +/** + * Checks if `n` is between `start` and up to, but not including, `end`. If + * `end` is not specified, it's set to `start` with `start` then set to `0`. + * If `start` is greater than `end` the params are swapped to support + * negative ranges. + * + * @static + * @memberOf _ + * @since 3.3.0 + * @category Number + * @param {number} number The number to check. + * @param {number} [start=0] The start of the range. + * @param {number} end The end of the range. + * @returns {boolean} Returns `true` if `number` is in the range, else `false`. + * @see _.range, _.rangeRight + * @example + * + * _.inRange(3, 2, 4); + * // => true + * + * _.inRange(4, 8); + * // => true + * + * _.inRange(4, 2); + * // => false + * + * _.inRange(2, 2); + * // => false + * + * _.inRange(1.2, 2); + * // => true + * + * _.inRange(5.2, 4); + * // => false + * + * _.inRange(-3, -2, -6); + * // => true + */ +function inRange(number, start, end) { + start = toFinite(start); + if (end === undefined) { + end = start; + start = 0; + } else { + end = toFinite(end); + } + number = toNumber(number); + return baseInRange(number, start, end); +} + +module.exports = inRange; diff --git a/dist/node_modules/lodash/includes.js b/dist/node_modules/lodash/includes.js new file mode 100644 index 00000000..ae0deedc --- /dev/null +++ b/dist/node_modules/lodash/includes.js @@ -0,0 +1,53 @@ +var baseIndexOf = require('./_baseIndexOf'), + isArrayLike = require('./isArrayLike'), + isString = require('./isString'), + toInteger = require('./toInteger'), + values = require('./values'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * Checks if `value` is in `collection`. If `collection` is a string, it's + * checked for a substring of `value`, otherwise + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * is used for equality comparisons. If `fromIndex` is negative, it's used as + * the offset from the end of `collection`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object|string} collection The collection to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=0] The index to search from. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. + * @returns {boolean} Returns `true` if `value` is found, else `false`. + * @example + * + * _.includes([1, 2, 3], 1); + * // => true + * + * _.includes([1, 2, 3], 1, 2); + * // => false + * + * _.includes({ 'a': 1, 'b': 2 }, 1); + * // => true + * + * _.includes('abcd', 'bc'); + * // => true + */ +function includes(collection, value, fromIndex, guard) { + collection = isArrayLike(collection) ? collection : values(collection); + fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0; + + var length = collection.length; + if (fromIndex < 0) { + fromIndex = nativeMax(length + fromIndex, 0); + } + return isString(collection) + ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1) + : (!!length && baseIndexOf(collection, value, fromIndex) > -1); +} + +module.exports = includes; diff --git a/dist/node_modules/lodash/index.js b/dist/node_modules/lodash/index.js new file mode 100644 index 00000000..5d063e21 --- /dev/null +++ b/dist/node_modules/lodash/index.js @@ -0,0 +1 @@ +module.exports = require('./lodash'); \ No newline at end of file diff --git a/dist/node_modules/lodash/indexOf.js b/dist/node_modules/lodash/indexOf.js new file mode 100644 index 00000000..3c644af2 --- /dev/null +++ b/dist/node_modules/lodash/indexOf.js @@ -0,0 +1,42 @@ +var baseIndexOf = require('./_baseIndexOf'), + toInteger = require('./toInteger'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max; + +/** + * Gets the index at which the first occurrence of `value` is found in `array` + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. If `fromIndex` is negative, it's used as the + * offset from the end of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.indexOf([1, 2, 1, 2], 2); + * // => 1 + * + * // Search from the `fromIndex`. + * _.indexOf([1, 2, 1, 2], 2, 2); + * // => 3 + */ +function indexOf(array, value, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseIndexOf(array, value, index); +} + +module.exports = indexOf; diff --git a/dist/node_modules/lodash/initial.js b/dist/node_modules/lodash/initial.js new file mode 100644 index 00000000..f47fc509 --- /dev/null +++ b/dist/node_modules/lodash/initial.js @@ -0,0 +1,22 @@ +var baseSlice = require('./_baseSlice'); + +/** + * Gets all but the last element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.initial([1, 2, 3]); + * // => [1, 2] + */ +function initial(array) { + var length = array == null ? 0 : array.length; + return length ? baseSlice(array, 0, -1) : []; +} + +module.exports = initial; diff --git a/dist/node_modules/lodash/intersection.js b/dist/node_modules/lodash/intersection.js new file mode 100644 index 00000000..a94c1351 --- /dev/null +++ b/dist/node_modules/lodash/intersection.js @@ -0,0 +1,30 @@ +var arrayMap = require('./_arrayMap'), + baseIntersection = require('./_baseIntersection'), + baseRest = require('./_baseRest'), + castArrayLikeObject = require('./_castArrayLikeObject'); + +/** + * Creates an array of unique values that are included in all given arrays + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. The order and references of result values are + * determined by the first array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * _.intersection([2, 1], [2, 3]); + * // => [2] + */ +var intersection = baseRest(function(arrays) { + var mapped = arrayMap(arrays, castArrayLikeObject); + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped) + : []; +}); + +module.exports = intersection; diff --git a/dist/node_modules/lodash/intersectionBy.js b/dist/node_modules/lodash/intersectionBy.js new file mode 100644 index 00000000..31461aae --- /dev/null +++ b/dist/node_modules/lodash/intersectionBy.js @@ -0,0 +1,45 @@ +var arrayMap = require('./_arrayMap'), + baseIntersection = require('./_baseIntersection'), + baseIteratee = require('./_baseIteratee'), + baseRest = require('./_baseRest'), + castArrayLikeObject = require('./_castArrayLikeObject'), + last = require('./last'); + +/** + * This method is like `_.intersection` except that it accepts `iteratee` + * which is invoked for each element of each `arrays` to generate the criterion + * by which they're compared. The order and references of result values are + * determined by the first array. The iteratee is invoked with one argument: + * (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [2.1] + * + * // The `_.property` iteratee shorthand. + * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }] + */ +var intersectionBy = baseRest(function(arrays) { + var iteratee = last(arrays), + mapped = arrayMap(arrays, castArrayLikeObject); + + if (iteratee === last(mapped)) { + iteratee = undefined; + } else { + mapped.pop(); + } + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped, baseIteratee(iteratee, 2)) + : []; +}); + +module.exports = intersectionBy; diff --git a/dist/node_modules/lodash/intersectionWith.js b/dist/node_modules/lodash/intersectionWith.js new file mode 100644 index 00000000..63cabfaa --- /dev/null +++ b/dist/node_modules/lodash/intersectionWith.js @@ -0,0 +1,41 @@ +var arrayMap = require('./_arrayMap'), + baseIntersection = require('./_baseIntersection'), + baseRest = require('./_baseRest'), + castArrayLikeObject = require('./_castArrayLikeObject'), + last = require('./last'); + +/** + * This method is like `_.intersection` except that it accepts `comparator` + * which is invoked to compare elements of `arrays`. The order and references + * of result values are determined by the first array. The comparator is + * invoked with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.intersectionWith(objects, others, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }] + */ +var intersectionWith = baseRest(function(arrays) { + var comparator = last(arrays), + mapped = arrayMap(arrays, castArrayLikeObject); + + comparator = typeof comparator == 'function' ? comparator : undefined; + if (comparator) { + mapped.pop(); + } + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped, undefined, comparator) + : []; +}); + +module.exports = intersectionWith; diff --git a/dist/node_modules/lodash/invert.js b/dist/node_modules/lodash/invert.js new file mode 100644 index 00000000..8c479509 --- /dev/null +++ b/dist/node_modules/lodash/invert.js @@ -0,0 +1,42 @@ +var constant = require('./constant'), + createInverter = require('./_createInverter'), + identity = require('./identity'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var nativeObjectToString = objectProto.toString; + +/** + * Creates an object composed of the inverted keys and values of `object`. + * If `object` contains duplicate values, subsequent values overwrite + * property assignments of previous values. + * + * @static + * @memberOf _ + * @since 0.7.0 + * @category Object + * @param {Object} object The object to invert. + * @returns {Object} Returns the new inverted object. + * @example + * + * var object = { 'a': 1, 'b': 2, 'c': 1 }; + * + * _.invert(object); + * // => { '1': 'c', '2': 'b' } + */ +var invert = createInverter(function(result, value, key) { + if (value != null && + typeof value.toString != 'function') { + value = nativeObjectToString.call(value); + } + + result[value] = key; +}, constant(identity)); + +module.exports = invert; diff --git a/dist/node_modules/lodash/invertBy.js b/dist/node_modules/lodash/invertBy.js new file mode 100644 index 00000000..3f4f7e53 --- /dev/null +++ b/dist/node_modules/lodash/invertBy.js @@ -0,0 +1,56 @@ +var baseIteratee = require('./_baseIteratee'), + createInverter = require('./_createInverter'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var nativeObjectToString = objectProto.toString; + +/** + * This method is like `_.invert` except that the inverted object is generated + * from the results of running each element of `object` thru `iteratee`. The + * corresponding inverted value of each inverted key is an array of keys + * responsible for generating the inverted value. The iteratee is invoked + * with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.1.0 + * @category Object + * @param {Object} object The object to invert. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Object} Returns the new inverted object. + * @example + * + * var object = { 'a': 1, 'b': 2, 'c': 1 }; + * + * _.invertBy(object); + * // => { '1': ['a', 'c'], '2': ['b'] } + * + * _.invertBy(object, function(value) { + * return 'group' + value; + * }); + * // => { 'group1': ['a', 'c'], 'group2': ['b'] } + */ +var invertBy = createInverter(function(result, value, key) { + if (value != null && + typeof value.toString != 'function') { + value = nativeObjectToString.call(value); + } + + if (hasOwnProperty.call(result, value)) { + result[value].push(key); + } else { + result[value] = [key]; + } +}, baseIteratee); + +module.exports = invertBy; diff --git a/dist/node_modules/lodash/invoke.js b/dist/node_modules/lodash/invoke.js new file mode 100644 index 00000000..97d51eb5 --- /dev/null +++ b/dist/node_modules/lodash/invoke.js @@ -0,0 +1,24 @@ +var baseInvoke = require('./_baseInvoke'), + baseRest = require('./_baseRest'); + +/** + * Invokes the method at `path` of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the method to invoke. + * @param {...*} [args] The arguments to invoke the method with. + * @returns {*} Returns the result of the invoked method. + * @example + * + * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] }; + * + * _.invoke(object, 'a[0].b.c.slice', 1, 3); + * // => [2, 3] + */ +var invoke = baseRest(baseInvoke); + +module.exports = invoke; diff --git a/dist/node_modules/lodash/invokeMap.js b/dist/node_modules/lodash/invokeMap.js new file mode 100644 index 00000000..8da5126c --- /dev/null +++ b/dist/node_modules/lodash/invokeMap.js @@ -0,0 +1,41 @@ +var apply = require('./_apply'), + baseEach = require('./_baseEach'), + baseInvoke = require('./_baseInvoke'), + baseRest = require('./_baseRest'), + isArrayLike = require('./isArrayLike'); + +/** + * Invokes the method at `path` of each element in `collection`, returning + * an array of the results of each invoked method. Any additional arguments + * are provided to each invoked method. If `path` is a function, it's invoked + * for, and `this` bound to, each element in `collection`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Array|Function|string} path The path of the method to invoke or + * the function invoked per iteration. + * @param {...*} [args] The arguments to invoke each method with. + * @returns {Array} Returns the array of results. + * @example + * + * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort'); + * // => [[1, 5, 7], [1, 2, 3]] + * + * _.invokeMap([123, 456], String.prototype.split, ''); + * // => [['1', '2', '3'], ['4', '5', '6']] + */ +var invokeMap = baseRest(function(collection, path, args) { + var index = -1, + isFunc = typeof path == 'function', + result = isArrayLike(collection) ? Array(collection.length) : []; + + baseEach(collection, function(value) { + result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args); + }); + return result; +}); + +module.exports = invokeMap; diff --git a/dist/node_modules/lodash/isArguments.js b/dist/node_modules/lodash/isArguments.js new file mode 100644 index 00000000..8b9ed66c --- /dev/null +++ b/dist/node_modules/lodash/isArguments.js @@ -0,0 +1,36 @@ +var baseIsArguments = require('./_baseIsArguments'), + isObjectLike = require('./isObjectLike'); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** Built-in value references. */ +var propertyIsEnumerable = objectProto.propertyIsEnumerable; + +/** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ +var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { + return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && + !propertyIsEnumerable.call(value, 'callee'); +}; + +module.exports = isArguments; diff --git a/dist/node_modules/lodash/isArray.js b/dist/node_modules/lodash/isArray.js new file mode 100644 index 00000000..88ab55fd --- /dev/null +++ b/dist/node_modules/lodash/isArray.js @@ -0,0 +1,26 @@ +/** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ +var isArray = Array.isArray; + +module.exports = isArray; diff --git a/dist/node_modules/lodash/isArrayBuffer.js b/dist/node_modules/lodash/isArrayBuffer.js new file mode 100644 index 00000000..12904a64 --- /dev/null +++ b/dist/node_modules/lodash/isArrayBuffer.js @@ -0,0 +1,27 @@ +var baseIsArrayBuffer = require('./_baseIsArrayBuffer'), + baseUnary = require('./_baseUnary'), + nodeUtil = require('./_nodeUtil'); + +/* Node.js helper references. */ +var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer; + +/** + * Checks if `value` is classified as an `ArrayBuffer` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. + * @example + * + * _.isArrayBuffer(new ArrayBuffer(2)); + * // => true + * + * _.isArrayBuffer(new Array(2)); + * // => false + */ +var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer; + +module.exports = isArrayBuffer; diff --git a/dist/node_modules/lodash/isArrayLike.js b/dist/node_modules/lodash/isArrayLike.js new file mode 100644 index 00000000..0f966805 --- /dev/null +++ b/dist/node_modules/lodash/isArrayLike.js @@ -0,0 +1,33 @@ +var isFunction = require('./isFunction'), + isLength = require('./isLength'); + +/** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ +function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); +} + +module.exports = isArrayLike; diff --git a/dist/node_modules/lodash/isArrayLikeObject.js b/dist/node_modules/lodash/isArrayLikeObject.js new file mode 100644 index 00000000..6c4812a8 --- /dev/null +++ b/dist/node_modules/lodash/isArrayLikeObject.js @@ -0,0 +1,33 @@ +var isArrayLike = require('./isArrayLike'), + isObjectLike = require('./isObjectLike'); + +/** + * This method is like `_.isArrayLike` except that it also checks if `value` + * is an object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array-like object, + * else `false`. + * @example + * + * _.isArrayLikeObject([1, 2, 3]); + * // => true + * + * _.isArrayLikeObject(document.body.children); + * // => true + * + * _.isArrayLikeObject('abc'); + * // => false + * + * _.isArrayLikeObject(_.noop); + * // => false + */ +function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); +} + +module.exports = isArrayLikeObject; diff --git a/dist/node_modules/lodash/isBoolean.js b/dist/node_modules/lodash/isBoolean.js new file mode 100644 index 00000000..a43ed4b8 --- /dev/null +++ b/dist/node_modules/lodash/isBoolean.js @@ -0,0 +1,29 @@ +var baseGetTag = require('./_baseGetTag'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var boolTag = '[object Boolean]'; + +/** + * Checks if `value` is classified as a boolean primitive or object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a boolean, else `false`. + * @example + * + * _.isBoolean(false); + * // => true + * + * _.isBoolean(null); + * // => false + */ +function isBoolean(value) { + return value === true || value === false || + (isObjectLike(value) && baseGetTag(value) == boolTag); +} + +module.exports = isBoolean; diff --git a/dist/node_modules/lodash/isBuffer.js b/dist/node_modules/lodash/isBuffer.js new file mode 100644 index 00000000..c103cc74 --- /dev/null +++ b/dist/node_modules/lodash/isBuffer.js @@ -0,0 +1,38 @@ +var root = require('./_root'), + stubFalse = require('./stubFalse'); + +/** Detect free variable `exports`. */ +var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** Built-in value references. */ +var Buffer = moduleExports ? root.Buffer : undefined; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined; + +/** + * Checks if `value` is a buffer. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. + * @example + * + * _.isBuffer(new Buffer(2)); + * // => true + * + * _.isBuffer(new Uint8Array(2)); + * // => false + */ +var isBuffer = nativeIsBuffer || stubFalse; + +module.exports = isBuffer; diff --git a/dist/node_modules/lodash/isDate.js b/dist/node_modules/lodash/isDate.js new file mode 100644 index 00000000..7f0209fc --- /dev/null +++ b/dist/node_modules/lodash/isDate.js @@ -0,0 +1,27 @@ +var baseIsDate = require('./_baseIsDate'), + baseUnary = require('./_baseUnary'), + nodeUtil = require('./_nodeUtil'); + +/* Node.js helper references. */ +var nodeIsDate = nodeUtil && nodeUtil.isDate; + +/** + * Checks if `value` is classified as a `Date` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a date object, else `false`. + * @example + * + * _.isDate(new Date); + * // => true + * + * _.isDate('Mon April 23 2012'); + * // => false + */ +var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate; + +module.exports = isDate; diff --git a/dist/node_modules/lodash/isElement.js b/dist/node_modules/lodash/isElement.js new file mode 100644 index 00000000..76ae29c3 --- /dev/null +++ b/dist/node_modules/lodash/isElement.js @@ -0,0 +1,25 @@ +var isObjectLike = require('./isObjectLike'), + isPlainObject = require('./isPlainObject'); + +/** + * Checks if `value` is likely a DOM element. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`. + * @example + * + * _.isElement(document.body); + * // => true + * + * _.isElement(''); + * // => false + */ +function isElement(value) { + return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value); +} + +module.exports = isElement; diff --git a/dist/node_modules/lodash/isEmpty.js b/dist/node_modules/lodash/isEmpty.js new file mode 100644 index 00000000..3597294a --- /dev/null +++ b/dist/node_modules/lodash/isEmpty.js @@ -0,0 +1,77 @@ +var baseKeys = require('./_baseKeys'), + getTag = require('./_getTag'), + isArguments = require('./isArguments'), + isArray = require('./isArray'), + isArrayLike = require('./isArrayLike'), + isBuffer = require('./isBuffer'), + isPrototype = require('./_isPrototype'), + isTypedArray = require('./isTypedArray'); + +/** `Object#toString` result references. */ +var mapTag = '[object Map]', + setTag = '[object Set]'; + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Checks if `value` is an empty object, collection, map, or set. + * + * Objects are considered empty if they have no own enumerable string keyed + * properties. + * + * Array-like values such as `arguments` objects, arrays, buffers, strings, or + * jQuery-like collections are considered empty if they have a `length` of `0`. + * Similarly, maps and sets are considered empty if they have a `size` of `0`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is empty, else `false`. + * @example + * + * _.isEmpty(null); + * // => true + * + * _.isEmpty(true); + * // => true + * + * _.isEmpty(1); + * // => true + * + * _.isEmpty([1, 2, 3]); + * // => false + * + * _.isEmpty({ 'a': 1 }); + * // => false + */ +function isEmpty(value) { + if (value == null) { + return true; + } + if (isArrayLike(value) && + (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' || + isBuffer(value) || isTypedArray(value) || isArguments(value))) { + return !value.length; + } + var tag = getTag(value); + if (tag == mapTag || tag == setTag) { + return !value.size; + } + if (isPrototype(value)) { + return !baseKeys(value).length; + } + for (var key in value) { + if (hasOwnProperty.call(value, key)) { + return false; + } + } + return true; +} + +module.exports = isEmpty; diff --git a/dist/node_modules/lodash/isEqual.js b/dist/node_modules/lodash/isEqual.js new file mode 100644 index 00000000..5e23e76c --- /dev/null +++ b/dist/node_modules/lodash/isEqual.js @@ -0,0 +1,35 @@ +var baseIsEqual = require('./_baseIsEqual'); + +/** + * Performs a deep comparison between two values to determine if they are + * equivalent. + * + * **Note:** This method supports comparing arrays, array buffers, booleans, + * date objects, error objects, maps, numbers, `Object` objects, regexes, + * sets, strings, symbols, and typed arrays. `Object` objects are compared + * by their own, not inherited, enumerable properties. Functions and DOM + * nodes are compared by strict equality, i.e. `===`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.isEqual(object, other); + * // => true + * + * object === other; + * // => false + */ +function isEqual(value, other) { + return baseIsEqual(value, other); +} + +module.exports = isEqual; diff --git a/dist/node_modules/lodash/isEqualWith.js b/dist/node_modules/lodash/isEqualWith.js new file mode 100644 index 00000000..21bdc7ff --- /dev/null +++ b/dist/node_modules/lodash/isEqualWith.js @@ -0,0 +1,41 @@ +var baseIsEqual = require('./_baseIsEqual'); + +/** + * This method is like `_.isEqual` except that it accepts `customizer` which + * is invoked to compare values. If `customizer` returns `undefined`, comparisons + * are handled by the method instead. The `customizer` is invoked with up to + * six arguments: (objValue, othValue [, index|key, object, other, stack]). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * function isGreeting(value) { + * return /^h(?:i|ello)$/.test(value); + * } + * + * function customizer(objValue, othValue) { + * if (isGreeting(objValue) && isGreeting(othValue)) { + * return true; + * } + * } + * + * var array = ['hello', 'goodbye']; + * var other = ['hi', 'goodbye']; + * + * _.isEqualWith(array, other, customizer); + * // => true + */ +function isEqualWith(value, other, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + var result = customizer ? customizer(value, other) : undefined; + return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result; +} + +module.exports = isEqualWith; diff --git a/dist/node_modules/lodash/isError.js b/dist/node_modules/lodash/isError.js new file mode 100644 index 00000000..b4f41e00 --- /dev/null +++ b/dist/node_modules/lodash/isError.js @@ -0,0 +1,36 @@ +var baseGetTag = require('./_baseGetTag'), + isObjectLike = require('./isObjectLike'), + isPlainObject = require('./isPlainObject'); + +/** `Object#toString` result references. */ +var domExcTag = '[object DOMException]', + errorTag = '[object Error]'; + +/** + * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`, + * `SyntaxError`, `TypeError`, or `URIError` object. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an error object, else `false`. + * @example + * + * _.isError(new Error); + * // => true + * + * _.isError(Error); + * // => false + */ +function isError(value) { + if (!isObjectLike(value)) { + return false; + } + var tag = baseGetTag(value); + return tag == errorTag || tag == domExcTag || + (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value)); +} + +module.exports = isError; diff --git a/dist/node_modules/lodash/isFinite.js b/dist/node_modules/lodash/isFinite.js new file mode 100644 index 00000000..601842bc --- /dev/null +++ b/dist/node_modules/lodash/isFinite.js @@ -0,0 +1,36 @@ +var root = require('./_root'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeIsFinite = root.isFinite; + +/** + * Checks if `value` is a finite primitive number. + * + * **Note:** This method is based on + * [`Number.isFinite`](https://mdn.io/Number/isFinite). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a finite number, else `false`. + * @example + * + * _.isFinite(3); + * // => true + * + * _.isFinite(Number.MIN_VALUE); + * // => true + * + * _.isFinite(Infinity); + * // => false + * + * _.isFinite('3'); + * // => false + */ +function isFinite(value) { + return typeof value == 'number' && nativeIsFinite(value); +} + +module.exports = isFinite; diff --git a/dist/node_modules/lodash/isFunction.js b/dist/node_modules/lodash/isFunction.js new file mode 100644 index 00000000..907a8cd8 --- /dev/null +++ b/dist/node_modules/lodash/isFunction.js @@ -0,0 +1,37 @@ +var baseGetTag = require('./_baseGetTag'), + isObject = require('./isObject'); + +/** `Object#toString` result references. */ +var asyncTag = '[object AsyncFunction]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + proxyTag = '[object Proxy]'; + +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ +function isFunction(value) { + if (!isObject(value)) { + return false; + } + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 9 which returns 'object' for typed arrays and other constructors. + var tag = baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; +} + +module.exports = isFunction; diff --git a/dist/node_modules/lodash/isInteger.js b/dist/node_modules/lodash/isInteger.js new file mode 100644 index 00000000..66aa87d5 --- /dev/null +++ b/dist/node_modules/lodash/isInteger.js @@ -0,0 +1,33 @@ +var toInteger = require('./toInteger'); + +/** + * Checks if `value` is an integer. + * + * **Note:** This method is based on + * [`Number.isInteger`](https://mdn.io/Number/isInteger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an integer, else `false`. + * @example + * + * _.isInteger(3); + * // => true + * + * _.isInteger(Number.MIN_VALUE); + * // => false + * + * _.isInteger(Infinity); + * // => false + * + * _.isInteger('3'); + * // => false + */ +function isInteger(value) { + return typeof value == 'number' && value == toInteger(value); +} + +module.exports = isInteger; diff --git a/dist/node_modules/lodash/isLength.js b/dist/node_modules/lodash/isLength.js new file mode 100644 index 00000000..3a95caa9 --- /dev/null +++ b/dist/node_modules/lodash/isLength.js @@ -0,0 +1,35 @@ +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ +function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; +} + +module.exports = isLength; diff --git a/dist/node_modules/lodash/isMap.js b/dist/node_modules/lodash/isMap.js new file mode 100644 index 00000000..44f8517e --- /dev/null +++ b/dist/node_modules/lodash/isMap.js @@ -0,0 +1,27 @@ +var baseIsMap = require('./_baseIsMap'), + baseUnary = require('./_baseUnary'), + nodeUtil = require('./_nodeUtil'); + +/* Node.js helper references. */ +var nodeIsMap = nodeUtil && nodeUtil.isMap; + +/** + * Checks if `value` is classified as a `Map` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a map, else `false`. + * @example + * + * _.isMap(new Map); + * // => true + * + * _.isMap(new WeakMap); + * // => false + */ +var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap; + +module.exports = isMap; diff --git a/dist/node_modules/lodash/isMatch.js b/dist/node_modules/lodash/isMatch.js new file mode 100644 index 00000000..9773a18c --- /dev/null +++ b/dist/node_modules/lodash/isMatch.js @@ -0,0 +1,36 @@ +var baseIsMatch = require('./_baseIsMatch'), + getMatchData = require('./_getMatchData'); + +/** + * Performs a partial deep comparison between `object` and `source` to + * determine if `object` contains equivalent property values. + * + * **Note:** This method is equivalent to `_.matches` when `source` is + * partially applied. + * + * Partial comparisons will match empty array and empty object `source` + * values against any array or object value, respectively. See `_.isEqual` + * for a list of supported value comparisons. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * + * _.isMatch(object, { 'b': 2 }); + * // => true + * + * _.isMatch(object, { 'b': 1 }); + * // => false + */ +function isMatch(object, source) { + return object === source || baseIsMatch(object, source, getMatchData(source)); +} + +module.exports = isMatch; diff --git a/dist/node_modules/lodash/isMatchWith.js b/dist/node_modules/lodash/isMatchWith.js new file mode 100644 index 00000000..187b6a61 --- /dev/null +++ b/dist/node_modules/lodash/isMatchWith.js @@ -0,0 +1,41 @@ +var baseIsMatch = require('./_baseIsMatch'), + getMatchData = require('./_getMatchData'); + +/** + * This method is like `_.isMatch` except that it accepts `customizer` which + * is invoked to compare values. If `customizer` returns `undefined`, comparisons + * are handled by the method instead. The `customizer` is invoked with five + * arguments: (objValue, srcValue, index|key, object, source). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + * @example + * + * function isGreeting(value) { + * return /^h(?:i|ello)$/.test(value); + * } + * + * function customizer(objValue, srcValue) { + * if (isGreeting(objValue) && isGreeting(srcValue)) { + * return true; + * } + * } + * + * var object = { 'greeting': 'hello' }; + * var source = { 'greeting': 'hi' }; + * + * _.isMatchWith(object, source, customizer); + * // => true + */ +function isMatchWith(object, source, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseIsMatch(object, source, getMatchData(source), customizer); +} + +module.exports = isMatchWith; diff --git a/dist/node_modules/lodash/isNaN.js b/dist/node_modules/lodash/isNaN.js new file mode 100644 index 00000000..7d0d783b --- /dev/null +++ b/dist/node_modules/lodash/isNaN.js @@ -0,0 +1,38 @@ +var isNumber = require('./isNumber'); + +/** + * Checks if `value` is `NaN`. + * + * **Note:** This method is based on + * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as + * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for + * `undefined` and other non-number values. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + * @example + * + * _.isNaN(NaN); + * // => true + * + * _.isNaN(new Number(NaN)); + * // => true + * + * isNaN(undefined); + * // => true + * + * _.isNaN(undefined); + * // => false + */ +function isNaN(value) { + // An `NaN` primitive is the only value that is not equal to itself. + // Perform the `toStringTag` check first to avoid errors with some + // ActiveX objects in IE. + return isNumber(value) && value != +value; +} + +module.exports = isNaN; diff --git a/dist/node_modules/lodash/isNative.js b/dist/node_modules/lodash/isNative.js new file mode 100644 index 00000000..f0cb8d58 --- /dev/null +++ b/dist/node_modules/lodash/isNative.js @@ -0,0 +1,40 @@ +var baseIsNative = require('./_baseIsNative'), + isMaskable = require('./_isMaskable'); + +/** Error message constants. */ +var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.'; + +/** + * Checks if `value` is a pristine native function. + * + * **Note:** This method can't reliably detect native functions in the presence + * of the core-js package because core-js circumvents this kind of detection. + * Despite multiple requests, the core-js maintainer has made it clear: any + * attempt to fix the detection will be obstructed. As a result, we're left + * with little choice but to throw an error. Unfortunately, this also affects + * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill), + * which rely on core-js. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + * @example + * + * _.isNative(Array.prototype.push); + * // => true + * + * _.isNative(_); + * // => false + */ +function isNative(value) { + if (isMaskable(value)) { + throw new Error(CORE_ERROR_TEXT); + } + return baseIsNative(value); +} + +module.exports = isNative; diff --git a/dist/node_modules/lodash/isNil.js b/dist/node_modules/lodash/isNil.js new file mode 100644 index 00000000..79f05052 --- /dev/null +++ b/dist/node_modules/lodash/isNil.js @@ -0,0 +1,25 @@ +/** + * Checks if `value` is `null` or `undefined`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is nullish, else `false`. + * @example + * + * _.isNil(null); + * // => true + * + * _.isNil(void 0); + * // => true + * + * _.isNil(NaN); + * // => false + */ +function isNil(value) { + return value == null; +} + +module.exports = isNil; diff --git a/dist/node_modules/lodash/isNull.js b/dist/node_modules/lodash/isNull.js new file mode 100644 index 00000000..c0a374d7 --- /dev/null +++ b/dist/node_modules/lodash/isNull.js @@ -0,0 +1,22 @@ +/** + * Checks if `value` is `null`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `null`, else `false`. + * @example + * + * _.isNull(null); + * // => true + * + * _.isNull(void 0); + * // => false + */ +function isNull(value) { + return value === null; +} + +module.exports = isNull; diff --git a/dist/node_modules/lodash/isNumber.js b/dist/node_modules/lodash/isNumber.js new file mode 100644 index 00000000..cd34ee46 --- /dev/null +++ b/dist/node_modules/lodash/isNumber.js @@ -0,0 +1,38 @@ +var baseGetTag = require('./_baseGetTag'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var numberTag = '[object Number]'; + +/** + * Checks if `value` is classified as a `Number` primitive or object. + * + * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are + * classified as numbers, use the `_.isFinite` method. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a number, else `false`. + * @example + * + * _.isNumber(3); + * // => true + * + * _.isNumber(Number.MIN_VALUE); + * // => true + * + * _.isNumber(Infinity); + * // => true + * + * _.isNumber('3'); + * // => false + */ +function isNumber(value) { + return typeof value == 'number' || + (isObjectLike(value) && baseGetTag(value) == numberTag); +} + +module.exports = isNumber; diff --git a/dist/node_modules/lodash/isObject.js b/dist/node_modules/lodash/isObject.js new file mode 100644 index 00000000..1dc89391 --- /dev/null +++ b/dist/node_modules/lodash/isObject.js @@ -0,0 +1,31 @@ +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return value != null && (type == 'object' || type == 'function'); +} + +module.exports = isObject; diff --git a/dist/node_modules/lodash/isObjectLike.js b/dist/node_modules/lodash/isObjectLike.js new file mode 100644 index 00000000..301716b5 --- /dev/null +++ b/dist/node_modules/lodash/isObjectLike.js @@ -0,0 +1,29 @@ +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return value != null && typeof value == 'object'; +} + +module.exports = isObjectLike; diff --git a/dist/node_modules/lodash/isPlainObject.js b/dist/node_modules/lodash/isPlainObject.js new file mode 100644 index 00000000..23873731 --- /dev/null +++ b/dist/node_modules/lodash/isPlainObject.js @@ -0,0 +1,62 @@ +var baseGetTag = require('./_baseGetTag'), + getPrototype = require('./_getPrototype'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var objectTag = '[object Object]'; + +/** Used for built-in method references. */ +var funcProto = Function.prototype, + objectProto = Object.prototype; + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** Used to infer the `Object` constructor. */ +var objectCtorString = funcToString.call(Object); + +/** + * Checks if `value` is a plain object, that is, an object created by the + * `Object` constructor or one with a `[[Prototype]]` of `null`. + * + * @static + * @memberOf _ + * @since 0.8.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * _.isPlainObject(new Foo); + * // => false + * + * _.isPlainObject([1, 2, 3]); + * // => false + * + * _.isPlainObject({ 'x': 0, 'y': 0 }); + * // => true + * + * _.isPlainObject(Object.create(null)); + * // => true + */ +function isPlainObject(value) { + if (!isObjectLike(value) || baseGetTag(value) != objectTag) { + return false; + } + var proto = getPrototype(value); + if (proto === null) { + return true; + } + var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; + return typeof Ctor == 'function' && Ctor instanceof Ctor && + funcToString.call(Ctor) == objectCtorString; +} + +module.exports = isPlainObject; diff --git a/dist/node_modules/lodash/isRegExp.js b/dist/node_modules/lodash/isRegExp.js new file mode 100644 index 00000000..76c9b6e9 --- /dev/null +++ b/dist/node_modules/lodash/isRegExp.js @@ -0,0 +1,27 @@ +var baseIsRegExp = require('./_baseIsRegExp'), + baseUnary = require('./_baseUnary'), + nodeUtil = require('./_nodeUtil'); + +/* Node.js helper references. */ +var nodeIsRegExp = nodeUtil && nodeUtil.isRegExp; + +/** + * Checks if `value` is classified as a `RegExp` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. + * @example + * + * _.isRegExp(/abc/); + * // => true + * + * _.isRegExp('/abc/'); + * // => false + */ +var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp; + +module.exports = isRegExp; diff --git a/dist/node_modules/lodash/isSafeInteger.js b/dist/node_modules/lodash/isSafeInteger.js new file mode 100644 index 00000000..2a48526e --- /dev/null +++ b/dist/node_modules/lodash/isSafeInteger.js @@ -0,0 +1,37 @@ +var isInteger = require('./isInteger'); + +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/** + * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754 + * double precision number which isn't the result of a rounded unsafe integer. + * + * **Note:** This method is based on + * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`. + * @example + * + * _.isSafeInteger(3); + * // => true + * + * _.isSafeInteger(Number.MIN_VALUE); + * // => false + * + * _.isSafeInteger(Infinity); + * // => false + * + * _.isSafeInteger('3'); + * // => false + */ +function isSafeInteger(value) { + return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER; +} + +module.exports = isSafeInteger; diff --git a/dist/node_modules/lodash/isSet.js b/dist/node_modules/lodash/isSet.js new file mode 100644 index 00000000..ab88bdf8 --- /dev/null +++ b/dist/node_modules/lodash/isSet.js @@ -0,0 +1,27 @@ +var baseIsSet = require('./_baseIsSet'), + baseUnary = require('./_baseUnary'), + nodeUtil = require('./_nodeUtil'); + +/* Node.js helper references. */ +var nodeIsSet = nodeUtil && nodeUtil.isSet; + +/** + * Checks if `value` is classified as a `Set` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a set, else `false`. + * @example + * + * _.isSet(new Set); + * // => true + * + * _.isSet(new WeakSet); + * // => false + */ +var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet; + +module.exports = isSet; diff --git a/dist/node_modules/lodash/isString.js b/dist/node_modules/lodash/isString.js new file mode 100644 index 00000000..627eb9c3 --- /dev/null +++ b/dist/node_modules/lodash/isString.js @@ -0,0 +1,30 @@ +var baseGetTag = require('./_baseGetTag'), + isArray = require('./isArray'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var stringTag = '[object String]'; + +/** + * Checks if `value` is classified as a `String` primitive or object. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a string, else `false`. + * @example + * + * _.isString('abc'); + * // => true + * + * _.isString(1); + * // => false + */ +function isString(value) { + return typeof value == 'string' || + (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag); +} + +module.exports = isString; diff --git a/dist/node_modules/lodash/isSymbol.js b/dist/node_modules/lodash/isSymbol.js new file mode 100644 index 00000000..dfb60b97 --- /dev/null +++ b/dist/node_modules/lodash/isSymbol.js @@ -0,0 +1,29 @@ +var baseGetTag = require('./_baseGetTag'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var symbolTag = '[object Symbol]'; + +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ +function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && baseGetTag(value) == symbolTag); +} + +module.exports = isSymbol; diff --git a/dist/node_modules/lodash/isTypedArray.js b/dist/node_modules/lodash/isTypedArray.js new file mode 100644 index 00000000..da3f8dd1 --- /dev/null +++ b/dist/node_modules/lodash/isTypedArray.js @@ -0,0 +1,27 @@ +var baseIsTypedArray = require('./_baseIsTypedArray'), + baseUnary = require('./_baseUnary'), + nodeUtil = require('./_nodeUtil'); + +/* Node.js helper references. */ +var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + +/** + * Checks if `value` is classified as a typed array. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + * @example + * + * _.isTypedArray(new Uint8Array); + * // => true + * + * _.isTypedArray([]); + * // => false + */ +var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + +module.exports = isTypedArray; diff --git a/dist/node_modules/lodash/isUndefined.js b/dist/node_modules/lodash/isUndefined.js new file mode 100644 index 00000000..377d121a --- /dev/null +++ b/dist/node_modules/lodash/isUndefined.js @@ -0,0 +1,22 @@ +/** + * Checks if `value` is `undefined`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. + * @example + * + * _.isUndefined(void 0); + * // => true + * + * _.isUndefined(null); + * // => false + */ +function isUndefined(value) { + return value === undefined; +} + +module.exports = isUndefined; diff --git a/dist/node_modules/lodash/isWeakMap.js b/dist/node_modules/lodash/isWeakMap.js new file mode 100644 index 00000000..8d36f663 --- /dev/null +++ b/dist/node_modules/lodash/isWeakMap.js @@ -0,0 +1,28 @@ +var getTag = require('./_getTag'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var weakMapTag = '[object WeakMap]'; + +/** + * Checks if `value` is classified as a `WeakMap` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a weak map, else `false`. + * @example + * + * _.isWeakMap(new WeakMap); + * // => true + * + * _.isWeakMap(new Map); + * // => false + */ +function isWeakMap(value) { + return isObjectLike(value) && getTag(value) == weakMapTag; +} + +module.exports = isWeakMap; diff --git a/dist/node_modules/lodash/isWeakSet.js b/dist/node_modules/lodash/isWeakSet.js new file mode 100644 index 00000000..e628b261 --- /dev/null +++ b/dist/node_modules/lodash/isWeakSet.js @@ -0,0 +1,28 @@ +var baseGetTag = require('./_baseGetTag'), + isObjectLike = require('./isObjectLike'); + +/** `Object#toString` result references. */ +var weakSetTag = '[object WeakSet]'; + +/** + * Checks if `value` is classified as a `WeakSet` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a weak set, else `false`. + * @example + * + * _.isWeakSet(new WeakSet); + * // => true + * + * _.isWeakSet(new Set); + * // => false + */ +function isWeakSet(value) { + return isObjectLike(value) && baseGetTag(value) == weakSetTag; +} + +module.exports = isWeakSet; diff --git a/dist/node_modules/lodash/iteratee.js b/dist/node_modules/lodash/iteratee.js new file mode 100644 index 00000000..61b73a8c --- /dev/null +++ b/dist/node_modules/lodash/iteratee.js @@ -0,0 +1,53 @@ +var baseClone = require('./_baseClone'), + baseIteratee = require('./_baseIteratee'); + +/** Used to compose bitmasks for cloning. */ +var CLONE_DEEP_FLAG = 1; + +/** + * Creates a function that invokes `func` with the arguments of the created + * function. If `func` is a property name, the created function returns the + * property value for a given element. If `func` is an array or object, the + * created function returns `true` for elements that contain the equivalent + * source properties, otherwise it returns `false`. + * + * @static + * @since 4.0.0 + * @memberOf _ + * @category Util + * @param {*} [func=_.identity] The value to convert to a callback. + * @returns {Function} Returns the callback. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true })); + * // => [{ 'user': 'barney', 'age': 36, 'active': true }] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.filter(users, _.iteratee(['user', 'fred'])); + * // => [{ 'user': 'fred', 'age': 40 }] + * + * // The `_.property` iteratee shorthand. + * _.map(users, _.iteratee('user')); + * // => ['barney', 'fred'] + * + * // Create custom iteratee shorthands. + * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) { + * return !_.isRegExp(func) ? iteratee(func) : function(string) { + * return func.test(string); + * }; + * }); + * + * _.filter(['abc', 'def'], /ef/); + * // => ['def'] + */ +function iteratee(func) { + return baseIteratee(typeof func == 'function' ? func : baseClone(func, CLONE_DEEP_FLAG)); +} + +module.exports = iteratee; diff --git a/dist/node_modules/lodash/join.js b/dist/node_modules/lodash/join.js new file mode 100644 index 00000000..45de079f --- /dev/null +++ b/dist/node_modules/lodash/join.js @@ -0,0 +1,26 @@ +/** Used for built-in method references. */ +var arrayProto = Array.prototype; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeJoin = arrayProto.join; + +/** + * Converts all elements in `array` into a string separated by `separator`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to convert. + * @param {string} [separator=','] The element separator. + * @returns {string} Returns the joined string. + * @example + * + * _.join(['a', 'b', 'c'], '~'); + * // => 'a~b~c' + */ +function join(array, separator) { + return array == null ? '' : nativeJoin.call(array, separator); +} + +module.exports = join; diff --git a/dist/node_modules/lodash/kebabCase.js b/dist/node_modules/lodash/kebabCase.js new file mode 100644 index 00000000..8a52be64 --- /dev/null +++ b/dist/node_modules/lodash/kebabCase.js @@ -0,0 +1,28 @@ +var createCompounder = require('./_createCompounder'); + +/** + * Converts `string` to + * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the kebab cased string. + * @example + * + * _.kebabCase('Foo Bar'); + * // => 'foo-bar' + * + * _.kebabCase('fooBar'); + * // => 'foo-bar' + * + * _.kebabCase('__FOO_BAR__'); + * // => 'foo-bar' + */ +var kebabCase = createCompounder(function(result, word, index) { + return result + (index ? '-' : '') + word.toLowerCase(); +}); + +module.exports = kebabCase; diff --git a/dist/node_modules/lodash/keyBy.js b/dist/node_modules/lodash/keyBy.js new file mode 100644 index 00000000..acc007a0 --- /dev/null +++ b/dist/node_modules/lodash/keyBy.js @@ -0,0 +1,36 @@ +var baseAssignValue = require('./_baseAssignValue'), + createAggregator = require('./_createAggregator'); + +/** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The corresponding value of + * each key is the last element responsible for generating the key. The + * iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * var array = [ + * { 'dir': 'left', 'code': 97 }, + * { 'dir': 'right', 'code': 100 } + * ]; + * + * _.keyBy(array, function(o) { + * return String.fromCharCode(o.code); + * }); + * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } + * + * _.keyBy(array, 'dir'); + * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } } + */ +var keyBy = createAggregator(function(result, value, key) { + baseAssignValue(result, key, value); +}); + +module.exports = keyBy; diff --git a/dist/node_modules/lodash/keys.js b/dist/node_modules/lodash/keys.js new file mode 100644 index 00000000..d143c718 --- /dev/null +++ b/dist/node_modules/lodash/keys.js @@ -0,0 +1,37 @@ +var arrayLikeKeys = require('./_arrayLikeKeys'), + baseKeys = require('./_baseKeys'), + isArrayLike = require('./isArrayLike'); + +/** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ +function keys(object) { + return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); +} + +module.exports = keys; diff --git a/dist/node_modules/lodash/keysIn.js b/dist/node_modules/lodash/keysIn.js new file mode 100644 index 00000000..a62308f2 --- /dev/null +++ b/dist/node_modules/lodash/keysIn.js @@ -0,0 +1,32 @@ +var arrayLikeKeys = require('./_arrayLikeKeys'), + baseKeysIn = require('./_baseKeysIn'), + isArrayLike = require('./isArrayLike'); + +/** + * Creates an array of the own and inherited enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keysIn(new Foo); + * // => ['a', 'b', 'c'] (iteration order is not guaranteed) + */ +function keysIn(object) { + return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); +} + +module.exports = keysIn; diff --git a/dist/node_modules/lodash/lang.js b/dist/node_modules/lodash/lang.js new file mode 100644 index 00000000..a3962169 --- /dev/null +++ b/dist/node_modules/lodash/lang.js @@ -0,0 +1,58 @@ +module.exports = { + 'castArray': require('./castArray'), + 'clone': require('./clone'), + 'cloneDeep': require('./cloneDeep'), + 'cloneDeepWith': require('./cloneDeepWith'), + 'cloneWith': require('./cloneWith'), + 'conformsTo': require('./conformsTo'), + 'eq': require('./eq'), + 'gt': require('./gt'), + 'gte': require('./gte'), + 'isArguments': require('./isArguments'), + 'isArray': require('./isArray'), + 'isArrayBuffer': require('./isArrayBuffer'), + 'isArrayLike': require('./isArrayLike'), + 'isArrayLikeObject': require('./isArrayLikeObject'), + 'isBoolean': require('./isBoolean'), + 'isBuffer': require('./isBuffer'), + 'isDate': require('./isDate'), + 'isElement': require('./isElement'), + 'isEmpty': require('./isEmpty'), + 'isEqual': require('./isEqual'), + 'isEqualWith': require('./isEqualWith'), + 'isError': require('./isError'), + 'isFinite': require('./isFinite'), + 'isFunction': require('./isFunction'), + 'isInteger': require('./isInteger'), + 'isLength': require('./isLength'), + 'isMap': require('./isMap'), + 'isMatch': require('./isMatch'), + 'isMatchWith': require('./isMatchWith'), + 'isNaN': require('./isNaN'), + 'isNative': require('./isNative'), + 'isNil': require('./isNil'), + 'isNull': require('./isNull'), + 'isNumber': require('./isNumber'), + 'isObject': require('./isObject'), + 'isObjectLike': require('./isObjectLike'), + 'isPlainObject': require('./isPlainObject'), + 'isRegExp': require('./isRegExp'), + 'isSafeInteger': require('./isSafeInteger'), + 'isSet': require('./isSet'), + 'isString': require('./isString'), + 'isSymbol': require('./isSymbol'), + 'isTypedArray': require('./isTypedArray'), + 'isUndefined': require('./isUndefined'), + 'isWeakMap': require('./isWeakMap'), + 'isWeakSet': require('./isWeakSet'), + 'lt': require('./lt'), + 'lte': require('./lte'), + 'toArray': require('./toArray'), + 'toFinite': require('./toFinite'), + 'toInteger': require('./toInteger'), + 'toLength': require('./toLength'), + 'toNumber': require('./toNumber'), + 'toPlainObject': require('./toPlainObject'), + 'toSafeInteger': require('./toSafeInteger'), + 'toString': require('./toString') +}; diff --git a/dist/node_modules/lodash/last.js b/dist/node_modules/lodash/last.js new file mode 100644 index 00000000..cad1eafa --- /dev/null +++ b/dist/node_modules/lodash/last.js @@ -0,0 +1,20 @@ +/** + * Gets the last element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @returns {*} Returns the last element of `array`. + * @example + * + * _.last([1, 2, 3]); + * // => 3 + */ +function last(array) { + var length = array == null ? 0 : array.length; + return length ? array[length - 1] : undefined; +} + +module.exports = last; diff --git a/dist/node_modules/lodash/lastIndexOf.js b/dist/node_modules/lodash/lastIndexOf.js new file mode 100644 index 00000000..dabfb613 --- /dev/null +++ b/dist/node_modules/lodash/lastIndexOf.js @@ -0,0 +1,46 @@ +var baseFindIndex = require('./_baseFindIndex'), + baseIsNaN = require('./_baseIsNaN'), + strictLastIndexOf = require('./_strictLastIndexOf'), + toInteger = require('./toInteger'); + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeMax = Math.max, + nativeMin = Math.min; + +/** + * This method is like `_.indexOf` except that it iterates over elements of + * `array` from right to left. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=array.length-1] The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.lastIndexOf([1, 2, 1, 2], 2); + * // => 3 + * + * // Search from the `fromIndex`. + * _.lastIndexOf([1, 2, 1, 2], 2, 2); + * // => 1 + */ +function lastIndexOf(array, value, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = length; + if (fromIndex !== undefined) { + index = toInteger(fromIndex); + index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1); + } + return value === value + ? strictLastIndexOf(array, value, index) + : baseFindIndex(array, baseIsNaN, index, true); +} + +module.exports = lastIndexOf; diff --git a/dist/node_modules/lodash/lodash.js b/dist/node_modules/lodash/lodash.js new file mode 100644 index 00000000..8634cab1 --- /dev/null +++ b/dist/node_modules/lodash/lodash.js @@ -0,0 +1,17259 @@ +/** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ +;(function() { + + /** Used as a safe reference for `undefined` in pre-ES5 environments. */ + var undefined; + + /** Used as the semantic version number. */ + var VERSION = '4.18.1'; + + /** Used as the size to enable large array optimizations. */ + var LARGE_ARRAY_SIZE = 200; + + /** Error message constants. */ + var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.', + FUNC_ERROR_TEXT = 'Expected a function', + INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`', + INVALID_TEMPL_IMPORTS_ERROR_TEXT = 'Invalid `imports` option passed into `_.template`'; + + /** Used to stand-in for `undefined` hash values. */ + var HASH_UNDEFINED = '__lodash_hash_undefined__'; + + /** Used as the maximum memoize cache size. */ + var MAX_MEMOIZE_SIZE = 500; + + /** Used as the internal argument placeholder. */ + var PLACEHOLDER = '__lodash_placeholder__'; + + /** Used to compose bitmasks for cloning. */ + var CLONE_DEEP_FLAG = 1, + CLONE_FLAT_FLAG = 2, + CLONE_SYMBOLS_FLAG = 4; + + /** Used to compose bitmasks for value comparisons. */ + var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + + /** Used to compose bitmasks for function metadata. */ + var WRAP_BIND_FLAG = 1, + WRAP_BIND_KEY_FLAG = 2, + WRAP_CURRY_BOUND_FLAG = 4, + WRAP_CURRY_FLAG = 8, + WRAP_CURRY_RIGHT_FLAG = 16, + WRAP_PARTIAL_FLAG = 32, + WRAP_PARTIAL_RIGHT_FLAG = 64, + WRAP_ARY_FLAG = 128, + WRAP_REARG_FLAG = 256, + WRAP_FLIP_FLAG = 512; + + /** Used as default options for `_.truncate`. */ + var DEFAULT_TRUNC_LENGTH = 30, + DEFAULT_TRUNC_OMISSION = '...'; + + /** Used to detect hot functions by number of calls within a span of milliseconds. */ + var HOT_COUNT = 800, + HOT_SPAN = 16; + + /** Used to indicate the type of lazy iteratees. */ + var LAZY_FILTER_FLAG = 1, + LAZY_MAP_FLAG = 2, + LAZY_WHILE_FLAG = 3; + + /** Used as references for various `Number` constants. */ + var INFINITY = 1 / 0, + MAX_SAFE_INTEGER = 9007199254740991, + MAX_INTEGER = 1.7976931348623157e+308, + NAN = 0 / 0; + + /** Used as references for the maximum length and index of an array. */ + var MAX_ARRAY_LENGTH = 4294967295, + MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1, + HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1; + + /** Used to associate wrap methods with their bit flags. */ + var wrapFlags = [ + ['ary', WRAP_ARY_FLAG], + ['bind', WRAP_BIND_FLAG], + ['bindKey', WRAP_BIND_KEY_FLAG], + ['curry', WRAP_CURRY_FLAG], + ['curryRight', WRAP_CURRY_RIGHT_FLAG], + ['flip', WRAP_FLIP_FLAG], + ['partial', WRAP_PARTIAL_FLAG], + ['partialRight', WRAP_PARTIAL_RIGHT_FLAG], + ['rearg', WRAP_REARG_FLAG] + ]; + + /** `Object#toString` result references. */ + var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + asyncTag = '[object AsyncFunction]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + domExcTag = '[object DOMException]', + errorTag = '[object Error]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + mapTag = '[object Map]', + numberTag = '[object Number]', + nullTag = '[object Null]', + objectTag = '[object Object]', + promiseTag = '[object Promise]', + proxyTag = '[object Proxy]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]', + undefinedTag = '[object Undefined]', + weakMapTag = '[object WeakMap]', + weakSetTag = '[object WeakSet]'; + + var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + + /** Used to match empty string literals in compiled template source. */ + var reEmptyStringLeading = /\b__p \+= '';/g, + reEmptyStringMiddle = /\b(__p \+=) '' \+/g, + reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g; + + /** Used to match HTML entities and HTML characters. */ + var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g, + reUnescapedHtml = /[&<>"']/g, + reHasEscapedHtml = RegExp(reEscapedHtml.source), + reHasUnescapedHtml = RegExp(reUnescapedHtml.source); + + /** Used to match template delimiters. */ + var reEscape = /<%-([\s\S]+?)%>/g, + reEvaluate = /<%([\s\S]+?)%>/g, + reInterpolate = /<%=([\s\S]+?)%>/g; + + /** Used to match property names within property paths. */ + var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/, + rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + + /** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ + var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, + reHasRegExpChar = RegExp(reRegExpChar.source); + + /** Used to match leading whitespace. */ + var reTrimStart = /^\s+/; + + /** Used to match a single whitespace character. */ + var reWhitespace = /\s/; + + /** Used to match wrap detail comments. */ + var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, + reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/, + reSplitDetails = /,? & /; + + /** Used to match words composed of alphanumeric characters. */ + var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g; + + /** + * Used to validate the `validate` option in `_.template` variable. + * + * Forbids characters which could potentially change the meaning of the function argument definition: + * - "()," (modification of function parameters) + * - "=" (default value) + * - "[]{}" (destructuring of function parameters) + * - "/" (beginning of a comment) + * - whitespace + */ + var reForbiddenIdentifierChars = /[()=,{}\[\]\/\s]/; + + /** Used to match backslashes in property paths. */ + var reEscapeChar = /\\(\\)?/g; + + /** + * Used to match + * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components). + */ + var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g; + + /** Used to match `RegExp` flags from their coerced string values. */ + var reFlags = /\w*$/; + + /** Used to detect bad signed hexadecimal string values. */ + var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + + /** Used to detect binary string values. */ + var reIsBinary = /^0b[01]+$/i; + + /** Used to detect host constructors (Safari). */ + var reIsHostCtor = /^\[object .+?Constructor\]$/; + + /** Used to detect octal string values. */ + var reIsOctal = /^0o[0-7]+$/i; + + /** Used to detect unsigned integer values. */ + var reIsUint = /^(?:0|[1-9]\d*)$/; + + /** Used to match Latin Unicode letters (excluding mathematical operators). */ + var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g; + + /** Used to ensure capturing order of template delimiters. */ + var reNoMatch = /($^)/; + + /** Used to match unescaped characters in compiled string literals. */ + var reUnescapedString = /['\n\r\u2028\u2029\\]/g; + + /** Used to compose unicode character classes. */ + var rsAstralRange = '\\ud800-\\udfff', + rsComboMarksRange = '\\u0300-\\u036f', + reComboHalfMarksRange = '\\ufe20-\\ufe2f', + rsComboSymbolsRange = '\\u20d0-\\u20ff', + rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, + rsDingbatRange = '\\u2700-\\u27bf', + rsLowerRange = 'a-z\\xdf-\\xf6\\xf8-\\xff', + rsMathOpRange = '\\xac\\xb1\\xd7\\xf7', + rsNonCharRange = '\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf', + rsPunctuationRange = '\\u2000-\\u206f', + rsSpaceRange = ' \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000', + rsUpperRange = 'A-Z\\xc0-\\xd6\\xd8-\\xde', + rsVarRange = '\\ufe0e\\ufe0f', + rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange; + + /** Used to compose unicode capture groups. */ + var rsApos = "['\u2019]", + rsAstral = '[' + rsAstralRange + ']', + rsBreak = '[' + rsBreakRange + ']', + rsCombo = '[' + rsComboRange + ']', + rsDigits = '\\d+', + rsDingbat = '[' + rsDingbatRange + ']', + rsLower = '[' + rsLowerRange + ']', + rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']', + rsFitz = '\\ud83c[\\udffb-\\udfff]', + rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', + rsNonAstral = '[^' + rsAstralRange + ']', + rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', + rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', + rsUpper = '[' + rsUpperRange + ']', + rsZWJ = '\\u200d'; + + /** Used to compose unicode regexes. */ + var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')', + rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')', + rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?', + rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?', + reOptMod = rsModifier + '?', + rsOptVar = '[' + rsVarRange + ']?', + rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', + rsOrdLower = '\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])', + rsOrdUpper = '\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])', + rsSeq = rsOptVar + reOptMod + rsOptJoin, + rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq, + rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; + + /** Used to match apostrophes. */ + var reApos = RegExp(rsApos, 'g'); + + /** + * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and + * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols). + */ + var reComboMark = RegExp(rsCombo, 'g'); + + /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ + var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); + + /** Used to match complex or compound words. */ + var reUnicodeWord = RegExp([ + rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')', + rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')', + rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower, + rsUpper + '+' + rsOptContrUpper, + rsOrdUpper, + rsOrdLower, + rsDigits, + rsEmoji + ].join('|'), 'g'); + + /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ + var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']'); + + /** Used to detect strings that need a more robust regexp to match words. */ + var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/; + + /** Used to assign default `context` object properties. */ + var contextProps = [ + 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array', + 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object', + 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array', + 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap', + '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout' + ]; + + /** Used to make template sourceURLs easier to identify. */ + var templateCounter = -1; + + /** Used to identify `toStringTag` values of typed arrays. */ + var typedArrayTags = {}; + typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = + typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = + typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = + typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = + typedArrayTags[uint32Tag] = true; + typedArrayTags[argsTag] = typedArrayTags[arrayTag] = + typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = + typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = + typedArrayTags[errorTag] = typedArrayTags[funcTag] = + typedArrayTags[mapTag] = typedArrayTags[numberTag] = + typedArrayTags[objectTag] = typedArrayTags[regexpTag] = + typedArrayTags[setTag] = typedArrayTags[stringTag] = + typedArrayTags[weakMapTag] = false; + + /** Used to identify `toStringTag` values supported by `_.clone`. */ + var cloneableTags = {}; + cloneableTags[argsTag] = cloneableTags[arrayTag] = + cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = + cloneableTags[boolTag] = cloneableTags[dateTag] = + cloneableTags[float32Tag] = cloneableTags[float64Tag] = + cloneableTags[int8Tag] = cloneableTags[int16Tag] = + cloneableTags[int32Tag] = cloneableTags[mapTag] = + cloneableTags[numberTag] = cloneableTags[objectTag] = + cloneableTags[regexpTag] = cloneableTags[setTag] = + cloneableTags[stringTag] = cloneableTags[symbolTag] = + cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = + cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; + cloneableTags[errorTag] = cloneableTags[funcTag] = + cloneableTags[weakMapTag] = false; + + /** Used to map Latin Unicode letters to basic Latin letters. */ + var deburredLetters = { + // Latin-1 Supplement block. + '\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A', + '\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a', + '\xc7': 'C', '\xe7': 'c', + '\xd0': 'D', '\xf0': 'd', + '\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E', + '\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e', + '\xcc': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I', + '\xec': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i', + '\xd1': 'N', '\xf1': 'n', + '\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O', + '\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o', + '\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U', + '\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u', + '\xdd': 'Y', '\xfd': 'y', '\xff': 'y', + '\xc6': 'Ae', '\xe6': 'ae', + '\xde': 'Th', '\xfe': 'th', + '\xdf': 'ss', + // Latin Extended-A block. + '\u0100': 'A', '\u0102': 'A', '\u0104': 'A', + '\u0101': 'a', '\u0103': 'a', '\u0105': 'a', + '\u0106': 'C', '\u0108': 'C', '\u010a': 'C', '\u010c': 'C', + '\u0107': 'c', '\u0109': 'c', '\u010b': 'c', '\u010d': 'c', + '\u010e': 'D', '\u0110': 'D', '\u010f': 'd', '\u0111': 'd', + '\u0112': 'E', '\u0114': 'E', '\u0116': 'E', '\u0118': 'E', '\u011a': 'E', + '\u0113': 'e', '\u0115': 'e', '\u0117': 'e', '\u0119': 'e', '\u011b': 'e', + '\u011c': 'G', '\u011e': 'G', '\u0120': 'G', '\u0122': 'G', + '\u011d': 'g', '\u011f': 'g', '\u0121': 'g', '\u0123': 'g', + '\u0124': 'H', '\u0126': 'H', '\u0125': 'h', '\u0127': 'h', + '\u0128': 'I', '\u012a': 'I', '\u012c': 'I', '\u012e': 'I', '\u0130': 'I', + '\u0129': 'i', '\u012b': 'i', '\u012d': 'i', '\u012f': 'i', '\u0131': 'i', + '\u0134': 'J', '\u0135': 'j', + '\u0136': 'K', '\u0137': 'k', '\u0138': 'k', + '\u0139': 'L', '\u013b': 'L', '\u013d': 'L', '\u013f': 'L', '\u0141': 'L', + '\u013a': 'l', '\u013c': 'l', '\u013e': 'l', '\u0140': 'l', '\u0142': 'l', + '\u0143': 'N', '\u0145': 'N', '\u0147': 'N', '\u014a': 'N', + '\u0144': 'n', '\u0146': 'n', '\u0148': 'n', '\u014b': 'n', + '\u014c': 'O', '\u014e': 'O', '\u0150': 'O', + '\u014d': 'o', '\u014f': 'o', '\u0151': 'o', + '\u0154': 'R', '\u0156': 'R', '\u0158': 'R', + '\u0155': 'r', '\u0157': 'r', '\u0159': 'r', + '\u015a': 'S', '\u015c': 'S', '\u015e': 'S', '\u0160': 'S', + '\u015b': 's', '\u015d': 's', '\u015f': 's', '\u0161': 's', + '\u0162': 'T', '\u0164': 'T', '\u0166': 'T', + '\u0163': 't', '\u0165': 't', '\u0167': 't', + '\u0168': 'U', '\u016a': 'U', '\u016c': 'U', '\u016e': 'U', '\u0170': 'U', '\u0172': 'U', + '\u0169': 'u', '\u016b': 'u', '\u016d': 'u', '\u016f': 'u', '\u0171': 'u', '\u0173': 'u', + '\u0174': 'W', '\u0175': 'w', + '\u0176': 'Y', '\u0177': 'y', '\u0178': 'Y', + '\u0179': 'Z', '\u017b': 'Z', '\u017d': 'Z', + '\u017a': 'z', '\u017c': 'z', '\u017e': 'z', + '\u0132': 'IJ', '\u0133': 'ij', + '\u0152': 'Oe', '\u0153': 'oe', + '\u0149': "'n", '\u017f': 's' + }; + + /** Used to map characters to HTML entities. */ + var htmlEscapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' + }; + + /** Used to map HTML entities to characters. */ + var htmlUnescapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + ''': "'" + }; + + /** Used to escape characters for inclusion in compiled string literals. */ + var stringEscapes = { + '\\': '\\', + "'": "'", + '\n': 'n', + '\r': 'r', + '\u2028': 'u2028', + '\u2029': 'u2029' + }; + + /** Built-in method references without a dependency on `root`. */ + var freeParseFloat = parseFloat, + freeParseInt = parseInt; + + /** Detect free variable `global` from Node.js. */ + var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + + /** Detect free variable `self`. */ + var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + + /** Used as a reference to the global object. */ + var root = freeGlobal || freeSelf || Function('return this')(); + + /** Detect free variable `exports`. */ + var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + + /** Detect free variable `module`. */ + var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + + /** Detect the popular CommonJS extension `module.exports`. */ + var moduleExports = freeModule && freeModule.exports === freeExports; + + /** Detect free variable `process` from Node.js. */ + var freeProcess = moduleExports && freeGlobal.process; + + /** Used to access faster Node.js helpers. */ + var nodeUtil = (function() { + try { + // Use `util.types` for Node.js 10+. + var types = freeModule && freeModule.require && freeModule.require('util').types; + + if (types) { + return types; + } + + // Legacy `process.binding('util')` for Node.js < 10. + return freeProcess && freeProcess.binding && freeProcess.binding('util'); + } catch (e) {} + }()); + + /* Node.js helper references. */ + var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer, + nodeIsDate = nodeUtil && nodeUtil.isDate, + nodeIsMap = nodeUtil && nodeUtil.isMap, + nodeIsRegExp = nodeUtil && nodeUtil.isRegExp, + nodeIsSet = nodeUtil && nodeUtil.isSet, + nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + + /*--------------------------------------------------------------------------*/ + + /** + * A faster alternative to `Function#apply`, this function invokes `func` + * with the `this` binding of `thisArg` and the arguments of `args`. + * + * @private + * @param {Function} func The function to invoke. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} args The arguments to invoke `func` with. + * @returns {*} Returns the result of `func`. + */ + function apply(func, thisArg, args) { + switch (args.length) { + case 0: return func.call(thisArg); + case 1: return func.call(thisArg, args[0]); + case 2: return func.call(thisArg, args[0], args[1]); + case 3: return func.call(thisArg, args[0], args[1], args[2]); + } + return func.apply(thisArg, args); + } + + /** + * A specialized version of `baseAggregator` for arrays. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ + function arrayAggregator(array, setter, iteratee, accumulator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + var value = array[index]; + setter(accumulator, value, iteratee(value), array); + } + return accumulator; + } + + /** + * A specialized version of `_.forEach` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ + function arrayEach(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (iteratee(array[index], index, array) === false) { + break; + } + } + return array; + } + + /** + * A specialized version of `_.forEachRight` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ + function arrayEachRight(array, iteratee) { + var length = array == null ? 0 : array.length; + + while (length--) { + if (iteratee(array[length], length, array) === false) { + break; + } + } + return array; + } + + /** + * A specialized version of `_.every` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false`. + */ + function arrayEvery(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (!predicate(array[index], index, array)) { + return false; + } + } + return true; + } + + /** + * A specialized version of `_.filter` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ + function arrayFilter(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result[resIndex++] = value; + } + } + return result; + } + + /** + * A specialized version of `_.includes` for arrays without support for + * specifying an index to search from. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ + function arrayIncludes(array, value) { + var length = array == null ? 0 : array.length; + return !!length && baseIndexOf(array, value, 0) > -1; + } + + /** + * This function is like `arrayIncludes` except that it accepts a comparator. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @param {Function} comparator The comparator invoked per element. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ + function arrayIncludesWith(array, value, comparator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (comparator(value, array[index])) { + return true; + } + } + return false; + } + + /** + * A specialized version of `_.map` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ + function arrayMap(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length, + result = Array(length); + + while (++index < length) { + result[index] = iteratee(array[index], index, array); + } + return result; + } + + /** + * Appends the elements of `values` to `array`. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to append. + * @returns {Array} Returns `array`. + */ + function arrayPush(array, values) { + var index = -1, + length = values.length, + offset = array.length; + + while (++index < length) { + array[offset + index] = values[index]; + } + return array; + } + + /** + * A specialized version of `_.reduce` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @param {boolean} [initAccum] Specify using the first element of `array` as + * the initial value. + * @returns {*} Returns the accumulated value. + */ + function arrayReduce(array, iteratee, accumulator, initAccum) { + var index = -1, + length = array == null ? 0 : array.length; + + if (initAccum && length) { + accumulator = array[++index]; + } + while (++index < length) { + accumulator = iteratee(accumulator, array[index], index, array); + } + return accumulator; + } + + /** + * A specialized version of `_.reduceRight` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @param {boolean} [initAccum] Specify using the last element of `array` as + * the initial value. + * @returns {*} Returns the accumulated value. + */ + function arrayReduceRight(array, iteratee, accumulator, initAccum) { + var length = array == null ? 0 : array.length; + if (initAccum && length) { + accumulator = array[--length]; + } + while (length--) { + accumulator = iteratee(accumulator, array[length], length, array); + } + return accumulator; + } + + /** + * A specialized version of `_.some` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ + function arraySome(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + return false; + } + + /** + * Gets the size of an ASCII `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ + var asciiSize = baseProperty('length'); + + /** + * Converts an ASCII `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ + function asciiToArray(string) { + return string.split(''); + } + + /** + * Splits an ASCII `string` into an array of its words. + * + * @private + * @param {string} The string to inspect. + * @returns {Array} Returns the words of `string`. + */ + function asciiWords(string) { + return string.match(reAsciiWord) || []; + } + + /** + * The base implementation of methods like `_.findKey` and `_.findLastKey`, + * without support for iteratee shorthands, which iterates over `collection` + * using `eachFunc`. + * + * @private + * @param {Array|Object} collection The collection to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {Function} eachFunc The function to iterate over `collection`. + * @returns {*} Returns the found element or its key, else `undefined`. + */ + function baseFindKey(collection, predicate, eachFunc) { + var result; + eachFunc(collection, function(value, key, collection) { + if (predicate(value, key, collection)) { + result = key; + return false; + } + }); + return result; + } + + /** + * The base implementation of `_.findIndex` and `_.findLastIndex` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {number} fromIndex The index to search from. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function baseFindIndex(array, predicate, fromIndex, fromRight) { + var length = array.length, + index = fromIndex + (fromRight ? 1 : -1); + + while ((fromRight ? index-- : ++index < length)) { + if (predicate(array[index], index, array)) { + return index; + } + } + return -1; + } + + /** + * The base implementation of `_.indexOf` without `fromIndex` bounds checks. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function baseIndexOf(array, value, fromIndex) { + return value === value + ? strictIndexOf(array, value, fromIndex) + : baseFindIndex(array, baseIsNaN, fromIndex); + } + + /** + * This function is like `baseIndexOf` except that it accepts a comparator. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @param {Function} comparator The comparator invoked per element. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function baseIndexOfWith(array, value, fromIndex, comparator) { + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (comparator(array[index], value)) { + return index; + } + } + return -1; + } + + /** + * The base implementation of `_.isNaN` without support for number objects. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + */ + function baseIsNaN(value) { + return value !== value; + } + + /** + * The base implementation of `_.mean` and `_.meanBy` without support for + * iteratee shorthands. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {number} Returns the mean. + */ + function baseMean(array, iteratee) { + var length = array == null ? 0 : array.length; + return length ? (baseSum(array, iteratee) / length) : NAN; + } + + /** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new accessor function. + */ + function baseProperty(key) { + return function(object) { + return object == null ? undefined : object[key]; + }; + } + + /** + * The base implementation of `_.propertyOf` without support for deep paths. + * + * @private + * @param {Object} object The object to query. + * @returns {Function} Returns the new accessor function. + */ + function basePropertyOf(object) { + return function(key) { + return object == null ? undefined : object[key]; + }; + } + + /** + * The base implementation of `_.reduce` and `_.reduceRight`, without support + * for iteratee shorthands, which iterates over `collection` using `eachFunc`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} accumulator The initial value. + * @param {boolean} initAccum Specify using the first or last element of + * `collection` as the initial value. + * @param {Function} eachFunc The function to iterate over `collection`. + * @returns {*} Returns the accumulated value. + */ + function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { + eachFunc(collection, function(value, index, collection) { + accumulator = initAccum + ? (initAccum = false, value) + : iteratee(accumulator, value, index, collection); + }); + return accumulator; + } + + /** + * The base implementation of `_.sortBy` which uses `comparer` to define the + * sort order of `array` and replaces criteria objects with their corresponding + * values. + * + * @private + * @param {Array} array The array to sort. + * @param {Function} comparer The function to define sort order. + * @returns {Array} Returns `array`. + */ + function baseSortBy(array, comparer) { + var length = array.length; + + array.sort(comparer); + while (length--) { + array[length] = array[length].value; + } + return array; + } + + /** + * The base implementation of `_.sum` and `_.sumBy` without support for + * iteratee shorthands. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {number} Returns the sum. + */ + function baseSum(array, iteratee) { + var result, + index = -1, + length = array.length; + + while (++index < length) { + var current = iteratee(array[index]); + if (current !== undefined) { + result = result === undefined ? current : (result + current); + } + } + return result; + } + + /** + * The base implementation of `_.times` without support for iteratee shorthands + * or max array length checks. + * + * @private + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the array of results. + */ + function baseTimes(n, iteratee) { + var index = -1, + result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + return result; + } + + /** + * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array + * of key-value pairs for `object` corresponding to the property names of `props`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} props The property names to get values for. + * @returns {Object} Returns the key-value pairs. + */ + function baseToPairs(object, props) { + return arrayMap(props, function(key) { + return [key, object[key]]; + }); + } + + /** + * The base implementation of `_.trim`. + * + * @private + * @param {string} string The string to trim. + * @returns {string} Returns the trimmed string. + */ + function baseTrim(string) { + return string + ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '') + : string; + } + + /** + * The base implementation of `_.unary` without support for storing metadata. + * + * @private + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + */ + function baseUnary(func) { + return function(value) { + return func(value); + }; + } + + /** + * The base implementation of `_.values` and `_.valuesIn` which creates an + * array of `object` property values corresponding to the property names + * of `props`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} props The property names to get values for. + * @returns {Object} Returns the array of property values. + */ + function baseValues(object, props) { + return arrayMap(props, function(key) { + return object[key]; + }); + } + + /** + * Checks if a `cache` value for `key` exists. + * + * @private + * @param {Object} cache The cache to query. + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function cacheHas(cache, key) { + return cache.has(key); + } + + /** + * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol + * that is not found in the character symbols. + * + * @private + * @param {Array} strSymbols The string symbols to inspect. + * @param {Array} chrSymbols The character symbols to find. + * @returns {number} Returns the index of the first unmatched string symbol. + */ + function charsStartIndex(strSymbols, chrSymbols) { + var index = -1, + length = strSymbols.length; + + while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} + return index; + } + + /** + * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol + * that is not found in the character symbols. + * + * @private + * @param {Array} strSymbols The string symbols to inspect. + * @param {Array} chrSymbols The character symbols to find. + * @returns {number} Returns the index of the last unmatched string symbol. + */ + function charsEndIndex(strSymbols, chrSymbols) { + var index = strSymbols.length; + + while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} + return index; + } + + /** + * Gets the number of `placeholder` occurrences in `array`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} placeholder The placeholder to search for. + * @returns {number} Returns the placeholder count. + */ + function countHolders(array, placeholder) { + var length = array.length, + result = 0; + + while (length--) { + if (array[length] === placeholder) { + ++result; + } + } + return result; + } + + /** + * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A + * letters to basic Latin letters. + * + * @private + * @param {string} letter The matched letter to deburr. + * @returns {string} Returns the deburred letter. + */ + var deburrLetter = basePropertyOf(deburredLetters); + + /** + * Used by `_.escape` to convert characters to HTML entities. + * + * @private + * @param {string} chr The matched character to escape. + * @returns {string} Returns the escaped character. + */ + var escapeHtmlChar = basePropertyOf(htmlEscapes); + + /** + * Used by `_.template` to escape characters for inclusion in compiled string literals. + * + * @private + * @param {string} chr The matched character to escape. + * @returns {string} Returns the escaped character. + */ + function escapeStringChar(chr) { + return '\\' + stringEscapes[chr]; + } + + /** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ + function getValue(object, key) { + return object == null ? undefined : object[key]; + } + + /** + * Checks if `string` contains Unicode symbols. + * + * @private + * @param {string} string The string to inspect. + * @returns {boolean} Returns `true` if a symbol is found, else `false`. + */ + function hasUnicode(string) { + return reHasUnicode.test(string); + } + + /** + * Checks if `string` contains a word composed of Unicode symbols. + * + * @private + * @param {string} string The string to inspect. + * @returns {boolean} Returns `true` if a word is found, else `false`. + */ + function hasUnicodeWord(string) { + return reHasUnicodeWord.test(string); + } + + /** + * Converts `iterator` to an array. + * + * @private + * @param {Object} iterator The iterator to convert. + * @returns {Array} Returns the converted array. + */ + function iteratorToArray(iterator) { + var data, + result = []; + + while (!(data = iterator.next()).done) { + result.push(data.value); + } + return result; + } + + /** + * Converts `map` to its key-value pairs. + * + * @private + * @param {Object} map The map to convert. + * @returns {Array} Returns the key-value pairs. + */ + function mapToArray(map) { + var index = -1, + result = Array(map.size); + + map.forEach(function(value, key) { + result[++index] = [key, value]; + }); + return result; + } + + /** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ + function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; + } + + /** + * Replaces all `placeholder` elements in `array` with an internal placeholder + * and returns an array of their indexes. + * + * @private + * @param {Array} array The array to modify. + * @param {*} placeholder The placeholder to replace. + * @returns {Array} Returns the new array of placeholder indexes. + */ + function replaceHolders(array, placeholder) { + var index = -1, + length = array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (value === placeholder || value === PLACEHOLDER) { + array[index] = PLACEHOLDER; + result[resIndex++] = index; + } + } + return result; + } + + /** + * Converts `set` to an array of its values. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the values. + */ + function setToArray(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = value; + }); + return result; + } + + /** + * Converts `set` to its value-value pairs. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the value-value pairs. + */ + function setToPairs(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = [value, value]; + }); + return result; + } + + /** + * A specialized version of `_.indexOf` which performs strict equality + * comparisons of values, i.e. `===`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function strictIndexOf(array, value, fromIndex) { + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (array[index] === value) { + return index; + } + } + return -1; + } + + /** + * A specialized version of `_.lastIndexOf` which performs strict equality + * comparisons of values, i.e. `===`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function strictLastIndexOf(array, value, fromIndex) { + var index = fromIndex + 1; + while (index--) { + if (array[index] === value) { + return index; + } + } + return index; + } + + /** + * Gets the number of symbols in `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the string size. + */ + function stringSize(string) { + return hasUnicode(string) + ? unicodeSize(string) + : asciiSize(string); + } + + /** + * Converts `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ + function stringToArray(string) { + return hasUnicode(string) + ? unicodeToArray(string) + : asciiToArray(string); + } + + /** + * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace + * character of `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the index of the last non-whitespace character. + */ + function trimmedEndIndex(string) { + var index = string.length; + + while (index-- && reWhitespace.test(string.charAt(index))) {} + return index; + } + + /** + * Used by `_.unescape` to convert HTML entities to characters. + * + * @private + * @param {string} chr The matched character to unescape. + * @returns {string} Returns the unescaped character. + */ + var unescapeHtmlChar = basePropertyOf(htmlUnescapes); + + /** + * Gets the size of a Unicode `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ + function unicodeSize(string) { + var result = reUnicode.lastIndex = 0; + while (reUnicode.test(string)) { + ++result; + } + return result; + } + + /** + * Converts a Unicode `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ + function unicodeToArray(string) { + return string.match(reUnicode) || []; + } + + /** + * Splits a Unicode `string` into an array of its words. + * + * @private + * @param {string} The string to inspect. + * @returns {Array} Returns the words of `string`. + */ + function unicodeWords(string) { + return string.match(reUnicodeWord) || []; + } + + /*--------------------------------------------------------------------------*/ + + /** + * Create a new pristine `lodash` function using the `context` object. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Util + * @param {Object} [context=root] The context object. + * @returns {Function} Returns a new `lodash` function. + * @example + * + * _.mixin({ 'foo': _.constant('foo') }); + * + * var lodash = _.runInContext(); + * lodash.mixin({ 'bar': lodash.constant('bar') }); + * + * _.isFunction(_.foo); + * // => true + * _.isFunction(_.bar); + * // => false + * + * lodash.isFunction(lodash.foo); + * // => false + * lodash.isFunction(lodash.bar); + * // => true + * + * // Create a suped-up `defer` in Node.js. + * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer; + */ + var runInContext = (function runInContext(context) { + context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps)); + + /** Built-in constructor references. */ + var Array = context.Array, + Date = context.Date, + Error = context.Error, + Function = context.Function, + Math = context.Math, + Object = context.Object, + RegExp = context.RegExp, + String = context.String, + TypeError = context.TypeError; + + /** Used for built-in method references. */ + var arrayProto = Array.prototype, + funcProto = Function.prototype, + objectProto = Object.prototype; + + /** Used to detect overreaching core-js shims. */ + var coreJsData = context['__core-js_shared__']; + + /** Used to resolve the decompiled source of functions. */ + var funcToString = funcProto.toString; + + /** Used to check objects for own properties. */ + var hasOwnProperty = objectProto.hasOwnProperty; + + /** Used to generate unique IDs. */ + var idCounter = 0; + + /** Used to detect methods masquerading as native. */ + var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; + }()); + + /** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + var nativeObjectToString = objectProto.toString; + + /** Used to infer the `Object` constructor. */ + var objectCtorString = funcToString.call(Object); + + /** Used to restore the original `_` reference in `_.noConflict`. */ + var oldDash = root._; + + /** Used to detect if a method is native. */ + var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' + ); + + /** Built-in value references. */ + var Buffer = moduleExports ? context.Buffer : undefined, + Symbol = context.Symbol, + Uint8Array = context.Uint8Array, + allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined, + getPrototype = overArg(Object.getPrototypeOf, Object), + objectCreate = Object.create, + propertyIsEnumerable = objectProto.propertyIsEnumerable, + splice = arrayProto.splice, + spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined, + symIterator = Symbol ? Symbol.iterator : undefined, + symToStringTag = Symbol ? Symbol.toStringTag : undefined; + + var defineProperty = (function() { + try { + var func = getNative(Object, 'defineProperty'); + func({}, '', {}); + return func; + } catch (e) {} + }()); + + /** Mocked built-ins. */ + var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout, + ctxNow = Date && Date.now !== root.Date.now && Date.now, + ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout; + + /* Built-in method references for those with the same name as other `lodash` methods. */ + var nativeCeil = Math.ceil, + nativeFloor = Math.floor, + nativeGetSymbols = Object.getOwnPropertySymbols, + nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined, + nativeIsFinite = context.isFinite, + nativeJoin = arrayProto.join, + nativeKeys = overArg(Object.keys, Object), + nativeMax = Math.max, + nativeMin = Math.min, + nativeNow = Date.now, + nativeParseInt = context.parseInt, + nativeRandom = Math.random, + nativeReverse = arrayProto.reverse; + + /* Built-in method references that are verified to be native. */ + var DataView = getNative(context, 'DataView'), + Map = getNative(context, 'Map'), + Promise = getNative(context, 'Promise'), + Set = getNative(context, 'Set'), + WeakMap = getNative(context, 'WeakMap'), + nativeCreate = getNative(Object, 'create'); + + /** Used to store function metadata. */ + var metaMap = WeakMap && new WeakMap; + + /** Used to lookup unminified function names. */ + var realNames = {}; + + /** Used to detect maps, sets, and weakmaps. */ + var dataViewCtorString = toSource(DataView), + mapCtorString = toSource(Map), + promiseCtorString = toSource(Promise), + setCtorString = toSource(Set), + weakMapCtorString = toSource(WeakMap); + + /** Used to convert symbols to primitives and strings. */ + var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolValueOf = symbolProto ? symbolProto.valueOf : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a `lodash` object which wraps `value` to enable implicit method + * chain sequences. Methods that operate on and return arrays, collections, + * and functions can be chained together. Methods that retrieve a single value + * or may return a primitive value will automatically end the chain sequence + * and return the unwrapped value. Otherwise, the value must be unwrapped + * with `_#value`. + * + * Explicit chain sequences, which must be unwrapped with `_#value`, may be + * enabled using `_.chain`. + * + * The execution of chained methods is lazy, that is, it's deferred until + * `_#value` is implicitly or explicitly called. + * + * Lazy evaluation allows several methods to support shortcut fusion. + * Shortcut fusion is an optimization to merge iteratee calls; this avoids + * the creation of intermediate arrays and can greatly reduce the number of + * iteratee executions. Sections of a chain sequence qualify for shortcut + * fusion if the section is applied to an array and iteratees accept only + * one argument. The heuristic for whether a section qualifies for shortcut + * fusion is subject to change. + * + * Chaining is supported in custom builds as long as the `_#value` method is + * directly or indirectly included in the build. + * + * In addition to lodash methods, wrappers have `Array` and `String` methods. + * + * The wrapper `Array` methods are: + * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift` + * + * The wrapper `String` methods are: + * `replace` and `split` + * + * The wrapper methods that support shortcut fusion are: + * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`, + * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`, + * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray` + * + * The chainable wrapper methods are: + * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`, + * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`, + * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`, + * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`, + * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`, + * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`, + * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`, + * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`, + * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`, + * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`, + * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`, + * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`, + * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`, + * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`, + * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`, + * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`, + * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`, + * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`, + * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`, + * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`, + * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`, + * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`, + * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`, + * `zipObject`, `zipObjectDeep`, and `zipWith` + * + * The wrapper methods that are **not** chainable by default are: + * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`, + * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`, + * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`, + * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`, + * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`, + * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`, + * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`, + * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`, + * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`, + * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`, + * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`, + * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`, + * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`, + * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`, + * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`, + * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`, + * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`, + * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`, + * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`, + * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`, + * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`, + * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`, + * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`, + * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`, + * `upperFirst`, `value`, and `words` + * + * @name _ + * @constructor + * @category Seq + * @param {*} value The value to wrap in a `lodash` instance. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * function square(n) { + * return n * n; + * } + * + * var wrapped = _([1, 2, 3]); + * + * // Returns an unwrapped value. + * wrapped.reduce(_.add); + * // => 6 + * + * // Returns a wrapped value. + * var squares = wrapped.map(square); + * + * _.isArray(squares); + * // => false + * + * _.isArray(squares.value()); + * // => true + */ + function lodash(value) { + if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) { + if (value instanceof LodashWrapper) { + return value; + } + if (hasOwnProperty.call(value, '__wrapped__')) { + return wrapperClone(value); + } + } + return new LodashWrapper(value); + } + + /** + * The base implementation of `_.create` without support for assigning + * properties to the created object. + * + * @private + * @param {Object} proto The object to inherit from. + * @returns {Object} Returns the new object. + */ + var baseCreate = (function() { + function object() {} + return function(proto) { + if (!isObject(proto)) { + return {}; + } + if (objectCreate) { + return objectCreate(proto); + } + object.prototype = proto; + var result = new object; + object.prototype = undefined; + return result; + }; + }()); + + /** + * The function whose prototype chain sequence wrappers inherit from. + * + * @private + */ + function baseLodash() { + // No operation performed. + } + + /** + * The base constructor for creating `lodash` wrapper objects. + * + * @private + * @param {*} value The value to wrap. + * @param {boolean} [chainAll] Enable explicit method chain sequences. + */ + function LodashWrapper(value, chainAll) { + this.__wrapped__ = value; + this.__actions__ = []; + this.__chain__ = !!chainAll; + this.__index__ = 0; + this.__values__ = undefined; + } + + /** + * By default, the template delimiters used by lodash are like those in + * embedded Ruby (ERB) as well as ES2015 template strings. Change the + * following template settings to use alternative delimiters. + * + * **Security:** See + * [threat model](https://github.com/lodash/lodash/blob/main/threat-model.md) + * — `_.template` is insecure and will be removed in v5. + * + * @static + * @memberOf _ + * @type {Object} + */ + lodash.templateSettings = { + + /** + * Used to detect `data` property values to be HTML-escaped. + * + * @memberOf _.templateSettings + * @type {RegExp} + */ + 'escape': reEscape, + + /** + * Used to detect code to be evaluated. + * + * @memberOf _.templateSettings + * @type {RegExp} + */ + 'evaluate': reEvaluate, + + /** + * Used to detect `data` property values to inject. + * + * @memberOf _.templateSettings + * @type {RegExp} + */ + 'interpolate': reInterpolate, + + /** + * Used to reference the data object in the template text. + * + * @memberOf _.templateSettings + * @type {string} + */ + 'variable': '', + + /** + * Used to import variables into the compiled template. + * + * @memberOf _.templateSettings + * @type {Object} + */ + 'imports': { + + /** + * A reference to the `lodash` function. + * + * @memberOf _.templateSettings.imports + * @type {Function} + */ + '_': lodash + } + }; + + // Ensure wrappers are instances of `baseLodash`. + lodash.prototype = baseLodash.prototype; + lodash.prototype.constructor = lodash; + + LodashWrapper.prototype = baseCreate(baseLodash.prototype); + LodashWrapper.prototype.constructor = LodashWrapper; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation. + * + * @private + * @constructor + * @param {*} value The value to wrap. + */ + function LazyWrapper(value) { + this.__wrapped__ = value; + this.__actions__ = []; + this.__dir__ = 1; + this.__filtered__ = false; + this.__iteratees__ = []; + this.__takeCount__ = MAX_ARRAY_LENGTH; + this.__views__ = []; + } + + /** + * Creates a clone of the lazy wrapper object. + * + * @private + * @name clone + * @memberOf LazyWrapper + * @returns {Object} Returns the cloned `LazyWrapper` object. + */ + function lazyClone() { + var result = new LazyWrapper(this.__wrapped__); + result.__actions__ = copyArray(this.__actions__); + result.__dir__ = this.__dir__; + result.__filtered__ = this.__filtered__; + result.__iteratees__ = copyArray(this.__iteratees__); + result.__takeCount__ = this.__takeCount__; + result.__views__ = copyArray(this.__views__); + return result; + } + + /** + * Reverses the direction of lazy iteration. + * + * @private + * @name reverse + * @memberOf LazyWrapper + * @returns {Object} Returns the new reversed `LazyWrapper` object. + */ + function lazyReverse() { + if (this.__filtered__) { + var result = new LazyWrapper(this); + result.__dir__ = -1; + result.__filtered__ = true; + } else { + result = this.clone(); + result.__dir__ *= -1; + } + return result; + } + + /** + * Extracts the unwrapped value from its lazy wrapper. + * + * @private + * @name value + * @memberOf LazyWrapper + * @returns {*} Returns the unwrapped value. + */ + function lazyValue() { + var array = this.__wrapped__.value(), + dir = this.__dir__, + isArr = isArray(array), + isRight = dir < 0, + arrLength = isArr ? array.length : 0, + view = getView(0, arrLength, this.__views__), + start = view.start, + end = view.end, + length = end - start, + index = isRight ? end : (start - 1), + iteratees = this.__iteratees__, + iterLength = iteratees.length, + resIndex = 0, + takeCount = nativeMin(length, this.__takeCount__); + + if (!isArr || (!isRight && arrLength == length && takeCount == length)) { + return baseWrapperValue(array, this.__actions__); + } + var result = []; + + outer: + while (length-- && resIndex < takeCount) { + index += dir; + + var iterIndex = -1, + value = array[index]; + + while (++iterIndex < iterLength) { + var data = iteratees[iterIndex], + iteratee = data.iteratee, + type = data.type, + computed = iteratee(value); + + if (type == LAZY_MAP_FLAG) { + value = computed; + } else if (!computed) { + if (type == LAZY_FILTER_FLAG) { + continue outer; + } else { + break outer; + } + } + } + result[resIndex++] = value; + } + return result; + } + + // Ensure `LazyWrapper` is an instance of `baseLodash`. + LazyWrapper.prototype = baseCreate(baseLodash.prototype); + LazyWrapper.prototype.constructor = LazyWrapper; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function Hash(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + + /** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ + function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; + this.size = 0; + } + + /** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function hashDelete(key) { + var result = this.has(key) && delete this.__data__[key]; + this.size -= result ? 1 : 0; + return result; + } + + /** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined; + } + + /** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function hashHas(key) { + var data = this.__data__; + return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); + } + + /** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ + function hashSet(key, value) { + var data = this.__data__; + this.size += this.has(key) ? 0 : 1; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; + return this; + } + + // Add methods to `Hash`. + Hash.prototype.clear = hashClear; + Hash.prototype['delete'] = hashDelete; + Hash.prototype.get = hashGet; + Hash.prototype.has = hashHas; + Hash.prototype.set = hashSet; + + /*------------------------------------------------------------------------*/ + + /** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function ListCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + + /** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ + function listCacheClear() { + this.__data__ = []; + this.size = 0; + } + + /** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + --this.size; + return true; + } + + /** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; + } + + /** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; + } + + /** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ + function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + ++this.size; + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; + } + + // Add methods to `ListCache`. + ListCache.prototype.clear = listCacheClear; + ListCache.prototype['delete'] = listCacheDelete; + ListCache.prototype.get = listCacheGet; + ListCache.prototype.has = listCacheHas; + ListCache.prototype.set = listCacheSet; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function MapCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + + /** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ + function mapCacheClear() { + this.size = 0; + this.__data__ = { + 'hash': new Hash, + 'map': new (Map || ListCache), + 'string': new Hash + }; + } + + /** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function mapCacheDelete(key) { + var result = getMapData(this, key)['delete'](key); + this.size -= result ? 1 : 0; + return result; + } + + /** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function mapCacheGet(key) { + return getMapData(this, key).get(key); + } + + /** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function mapCacheHas(key) { + return getMapData(this, key).has(key); + } + + /** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ + function mapCacheSet(key, value) { + var data = getMapData(this, key), + size = data.size; + + data.set(key, value); + this.size += data.size == size ? 0 : 1; + return this; + } + + // Add methods to `MapCache`. + MapCache.prototype.clear = mapCacheClear; + MapCache.prototype['delete'] = mapCacheDelete; + MapCache.prototype.get = mapCacheGet; + MapCache.prototype.has = mapCacheHas; + MapCache.prototype.set = mapCacheSet; + + /*------------------------------------------------------------------------*/ + + /** + * + * Creates an array cache object to store unique values. + * + * @private + * @constructor + * @param {Array} [values] The values to cache. + */ + function SetCache(values) { + var index = -1, + length = values == null ? 0 : values.length; + + this.__data__ = new MapCache; + while (++index < length) { + this.add(values[index]); + } + } + + /** + * Adds `value` to the array cache. + * + * @private + * @name add + * @memberOf SetCache + * @alias push + * @param {*} value The value to cache. + * @returns {Object} Returns the cache instance. + */ + function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED); + return this; + } + + /** + * Checks if `value` is in the array cache. + * + * @private + * @name has + * @memberOf SetCache + * @param {*} value The value to search for. + * @returns {boolean} Returns `true` if `value` is found, else `false`. + */ + function setCacheHas(value) { + return this.__data__.has(value); + } + + // Add methods to `SetCache`. + SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; + SetCache.prototype.has = setCacheHas; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a stack cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function Stack(entries) { + var data = this.__data__ = new ListCache(entries); + this.size = data.size; + } + + /** + * Removes all key-value entries from the stack. + * + * @private + * @name clear + * @memberOf Stack + */ + function stackClear() { + this.__data__ = new ListCache; + this.size = 0; + } + + /** + * Removes `key` and its value from the stack. + * + * @private + * @name delete + * @memberOf Stack + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function stackDelete(key) { + var data = this.__data__, + result = data['delete'](key); + + this.size = data.size; + return result; + } + + /** + * Gets the stack value for `key`. + * + * @private + * @name get + * @memberOf Stack + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function stackGet(key) { + return this.__data__.get(key); + } + + /** + * Checks if a stack value for `key` exists. + * + * @private + * @name has + * @memberOf Stack + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function stackHas(key) { + return this.__data__.has(key); + } + + /** + * Sets the stack `key` to `value`. + * + * @private + * @name set + * @memberOf Stack + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the stack cache instance. + */ + function stackSet(key, value) { + var data = this.__data__; + if (data instanceof ListCache) { + var pairs = data.__data__; + if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { + pairs.push([key, value]); + this.size = ++data.size; + return this; + } + data = this.__data__ = new MapCache(pairs); + } + data.set(key, value); + this.size = data.size; + return this; + } + + // Add methods to `Stack`. + Stack.prototype.clear = stackClear; + Stack.prototype['delete'] = stackDelete; + Stack.prototype.get = stackGet; + Stack.prototype.has = stackHas; + Stack.prototype.set = stackSet; + + /*------------------------------------------------------------------------*/ + + /** + * Creates an array of the enumerable property names of the array-like `value`. + * + * @private + * @param {*} value The value to query. + * @param {boolean} inherited Specify returning inherited property names. + * @returns {Array} Returns the array of property names. + */ + function arrayLikeKeys(value, inherited) { + var isArr = isArray(value), + isArg = !isArr && isArguments(value), + isBuff = !isArr && !isArg && isBuffer(value), + isType = !isArr && !isArg && !isBuff && isTypedArray(value), + skipIndexes = isArr || isArg || isBuff || isType, + result = skipIndexes ? baseTimes(value.length, String) : [], + length = result.length; + + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && + !(skipIndexes && ( + // Safari 9 has enumerable `arguments.length` in strict mode. + key == 'length' || + // Node.js 0.10 has enumerable non-index properties on buffers. + (isBuff && (key == 'offset' || key == 'parent')) || + // PhantomJS 2 has enumerable non-index properties on typed arrays. + (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || + // Skip index properties. + isIndex(key, length) + ))) { + result.push(key); + } + } + return result; + } + + /** + * A specialized version of `_.sample` for arrays. + * + * @private + * @param {Array} array The array to sample. + * @returns {*} Returns the random element. + */ + function arraySample(array) { + var length = array.length; + return length ? array[baseRandom(0, length - 1)] : undefined; + } + + /** + * A specialized version of `_.sampleSize` for arrays. + * + * @private + * @param {Array} array The array to sample. + * @param {number} n The number of elements to sample. + * @returns {Array} Returns the random elements. + */ + function arraySampleSize(array, n) { + return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length)); + } + + /** + * A specialized version of `_.shuffle` for arrays. + * + * @private + * @param {Array} array The array to shuffle. + * @returns {Array} Returns the new shuffled array. + */ + function arrayShuffle(array) { + return shuffleSelf(copyArray(array)); + } + + /** + * This function is like `assignValue` except that it doesn't assign + * `undefined` values. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + function assignMergeValue(object, key, value) { + if ((value !== undefined && !eq(object[key], value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } + } + + /** + * Assigns `value` to `key` of `object` if the existing value is not equivalent + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + function assignValue(object, key, value) { + var objValue = object[key]; + if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } + } + + /** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; + } + + /** + * Aggregates elements of `collection` on `accumulator` with keys transformed + * by `iteratee` and values set by `setter`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ + function baseAggregator(collection, setter, iteratee, accumulator) { + baseEach(collection, function(value, key, collection) { + setter(accumulator, value, iteratee(value), collection); + }); + return accumulator; + } + + /** + * The base implementation of `_.assign` without support for multiple sources + * or `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ + function baseAssign(object, source) { + return object && copyObject(source, keys(source), object); + } + + /** + * The base implementation of `_.assignIn` without support for multiple sources + * or `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ + function baseAssignIn(object, source) { + return object && copyObject(source, keysIn(source), object); + } + + /** + * The base implementation of `assignValue` and `assignMergeValue` without + * value checks. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + function baseAssignValue(object, key, value) { + if (key == '__proto__' && defineProperty) { + defineProperty(object, key, { + 'configurable': true, + 'enumerable': true, + 'value': value, + 'writable': true + }); + } else { + object[key] = value; + } + } + + /** + * The base implementation of `_.at` without support for individual paths. + * + * @private + * @param {Object} object The object to iterate over. + * @param {string[]} paths The property paths to pick. + * @returns {Array} Returns the picked elements. + */ + function baseAt(object, paths) { + var index = -1, + length = paths.length, + result = Array(length), + skip = object == null; + + while (++index < length) { + result[index] = skip ? undefined : get(object, paths[index]); + } + return result; + } + + /** + * The base implementation of `_.clamp` which doesn't coerce arguments. + * + * @private + * @param {number} number The number to clamp. + * @param {number} [lower] The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the clamped number. + */ + function baseClamp(number, lower, upper) { + if (number === number) { + if (upper !== undefined) { + number = number <= upper ? number : upper; + } + if (lower !== undefined) { + number = number >= lower ? number : lower; + } + } + return number; + } + + /** + * The base implementation of `_.clone` and `_.cloneDeep` which tracks + * traversed objects. + * + * @private + * @param {*} value The value to clone. + * @param {boolean} bitmask The bitmask flags. + * 1 - Deep clone + * 2 - Flatten inherited properties + * 4 - Clone symbols + * @param {Function} [customizer] The function to customize cloning. + * @param {string} [key] The key of `value`. + * @param {Object} [object] The parent object of `value`. + * @param {Object} [stack] Tracks traversed objects and their clone counterparts. + * @returns {*} Returns the cloned value. + */ + function baseClone(value, bitmask, customizer, key, object, stack) { + var result, + isDeep = bitmask & CLONE_DEEP_FLAG, + isFlat = bitmask & CLONE_FLAT_FLAG, + isFull = bitmask & CLONE_SYMBOLS_FLAG; + + if (customizer) { + result = object ? customizer(value, key, object, stack) : customizer(value); + } + if (result !== undefined) { + return result; + } + if (!isObject(value)) { + return value; + } + var isArr = isArray(value); + if (isArr) { + result = initCloneArray(value); + if (!isDeep) { + return copyArray(value, result); + } + } else { + var tag = getTag(value), + isFunc = tag == funcTag || tag == genTag; + + if (isBuffer(value)) { + return cloneBuffer(value, isDeep); + } + if (tag == objectTag || tag == argsTag || (isFunc && !object)) { + result = (isFlat || isFunc) ? {} : initCloneObject(value); + if (!isDeep) { + return isFlat + ? copySymbolsIn(value, baseAssignIn(result, value)) + : copySymbols(value, baseAssign(result, value)); + } + } else { + if (!cloneableTags[tag]) { + return object ? value : {}; + } + result = initCloneByTag(value, tag, isDeep); + } + } + // Check for circular references and return its corresponding clone. + stack || (stack = new Stack); + var stacked = stack.get(value); + if (stacked) { + return stacked; + } + stack.set(value, result); + + if (isSet(value)) { + value.forEach(function(subValue) { + result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)); + }); + } else if (isMap(value)) { + value.forEach(function(subValue, key) { + result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + } + + var keysFunc = isFull + ? (isFlat ? getAllKeysIn : getAllKeys) + : (isFlat ? keysIn : keys); + + var props = isArr ? undefined : keysFunc(value); + arrayEach(props || value, function(subValue, key) { + if (props) { + key = subValue; + subValue = value[key]; + } + // Recursively populate clone (susceptible to call stack limits). + assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + return result; + } + + /** + * The base implementation of `_.conforms` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property predicates to conform to. + * @returns {Function} Returns the new spec function. + */ + function baseConforms(source) { + var props = keys(source); + return function(object) { + return baseConformsTo(object, source, props); + }; + } + + /** + * The base implementation of `_.conformsTo` which accepts `props` to check. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property predicates to conform to. + * @returns {boolean} Returns `true` if `object` conforms, else `false`. + */ + function baseConformsTo(object, source, props) { + var length = props.length; + if (object == null) { + return !length; + } + object = Object(object); + while (length--) { + var key = props[length], + predicate = source[key], + value = object[key]; + + if ((value === undefined && !(key in object)) || !predicate(value)) { + return false; + } + } + return true; + } + + /** + * The base implementation of `_.delay` and `_.defer` which accepts `args` + * to provide to `func`. + * + * @private + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @param {Array} args The arguments to provide to `func`. + * @returns {number|Object} Returns the timer id or timeout object. + */ + function baseDelay(func, wait, args) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return setTimeout(function() { func.apply(undefined, args); }, wait); + } + + /** + * The base implementation of methods like `_.difference` without support + * for excluding multiple arrays or iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Array} values The values to exclude. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + */ + function baseDifference(array, values, iteratee, comparator) { + var index = -1, + includes = arrayIncludes, + isCommon = true, + length = array.length, + result = [], + valuesLength = values.length; + + if (!length) { + return result; + } + if (iteratee) { + values = arrayMap(values, baseUnary(iteratee)); + } + if (comparator) { + includes = arrayIncludesWith; + isCommon = false; + } + else if (values.length >= LARGE_ARRAY_SIZE) { + includes = cacheHas; + isCommon = false; + values = new SetCache(values); + } + outer: + while (++index < length) { + var value = array[index], + computed = iteratee == null ? value : iteratee(value); + + value = (comparator || value !== 0) ? value : 0; + if (isCommon && computed === computed) { + var valuesIndex = valuesLength; + while (valuesIndex--) { + if (values[valuesIndex] === computed) { + continue outer; + } + } + result.push(value); + } + else if (!includes(values, computed, comparator)) { + result.push(value); + } + } + return result; + } + + /** + * The base implementation of `_.forEach` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ + var baseEach = createBaseEach(baseForOwn); + + /** + * The base implementation of `_.forEachRight` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ + var baseEachRight = createBaseEach(baseForOwnRight, true); + + /** + * The base implementation of `_.every` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false` + */ + function baseEvery(collection, predicate) { + var result = true; + baseEach(collection, function(value, index, collection) { + result = !!predicate(value, index, collection); + return result; + }); + return result; + } + + /** + * The base implementation of methods like `_.max` and `_.min` which accepts a + * `comparator` to determine the extremum value. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The iteratee invoked per iteration. + * @param {Function} comparator The comparator used to compare values. + * @returns {*} Returns the extremum value. + */ + function baseExtremum(array, iteratee, comparator) { + var index = -1, + length = array.length; + + while (++index < length) { + var value = array[index], + current = iteratee(value); + + if (current != null && (computed === undefined + ? (current === current && !isSymbol(current)) + : comparator(current, computed) + )) { + var computed = current, + result = value; + } + } + return result; + } + + /** + * The base implementation of `_.fill` without an iteratee call guard. + * + * @private + * @param {Array} array The array to fill. + * @param {*} value The value to fill `array` with. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns `array`. + */ + function baseFill(array, value, start, end) { + var length = array.length; + + start = toInteger(start); + if (start < 0) { + start = -start > length ? 0 : (length + start); + } + end = (end === undefined || end > length) ? length : toInteger(end); + if (end < 0) { + end += length; + } + end = start > end ? 0 : toLength(end); + while (start < end) { + array[start++] = value; + } + return array; + } + + /** + * The base implementation of `_.filter` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ + function baseFilter(collection, predicate) { + var result = []; + baseEach(collection, function(value, index, collection) { + if (predicate(value, index, collection)) { + result.push(value); + } + }); + return result; + } + + /** + * The base implementation of `_.flatten` with support for restricting flattening. + * + * @private + * @param {Array} array The array to flatten. + * @param {number} depth The maximum recursion depth. + * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. + * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. + * @param {Array} [result=[]] The initial result value. + * @returns {Array} Returns the new flattened array. + */ + function baseFlatten(array, depth, predicate, isStrict, result) { + var index = -1, + length = array.length; + + predicate || (predicate = isFlattenable); + result || (result = []); + + while (++index < length) { + var value = array[index]; + if (depth > 0 && predicate(value)) { + if (depth > 1) { + // Recursively flatten arrays (susceptible to call stack limits). + baseFlatten(value, depth - 1, predicate, isStrict, result); + } else { + arrayPush(result, value); + } + } else if (!isStrict) { + result[result.length] = value; + } + } + return result; + } + + /** + * The base implementation of `baseForOwn` which iterates over `object` + * properties returned by `keysFunc` and invokes `iteratee` for each property. + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ + var baseFor = createBaseFor(); + + /** + * This function is like `baseFor` except that it iterates over properties + * in the opposite order. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ + var baseForRight = createBaseFor(true); + + /** + * The base implementation of `_.forOwn` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ + function baseForOwn(object, iteratee) { + return object && baseFor(object, iteratee, keys); + } + + /** + * The base implementation of `_.forOwnRight` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ + function baseForOwnRight(object, iteratee) { + return object && baseForRight(object, iteratee, keys); + } + + /** + * The base implementation of `_.functions` which creates an array of + * `object` function property names filtered from `props`. + * + * @private + * @param {Object} object The object to inspect. + * @param {Array} props The property names to filter. + * @returns {Array} Returns the function names. + */ + function baseFunctions(object, props) { + return arrayFilter(props, function(key) { + return isFunction(object[key]); + }); + } + + /** + * The base implementation of `_.get` without support for default values. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @returns {*} Returns the resolved value. + */ + function baseGet(object, path) { + path = castPath(path, object); + + var index = 0, + length = path.length; + + while (object != null && index < length) { + object = object[toKey(path[index++])]; + } + return (index && index == length) ? object : undefined; + } + + /** + * The base implementation of `getAllKeys` and `getAllKeysIn` which uses + * `keysFunc` and `symbolsFunc` to get the enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Function} keysFunc The function to get the keys of `object`. + * @param {Function} symbolsFunc The function to get the symbols of `object`. + * @returns {Array} Returns the array of property names and symbols. + */ + function baseGetAllKeys(object, keysFunc, symbolsFunc) { + var result = keysFunc(object); + return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); + } + + /** + * The base implementation of `getTag` without fallbacks for buggy environments. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ + function baseGetTag(value) { + if (value == null) { + return value === undefined ? undefinedTag : nullTag; + } + return (symToStringTag && symToStringTag in Object(value)) + ? getRawTag(value) + : objectToString(value); + } + + /** + * The base implementation of `_.gt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than `other`, + * else `false`. + */ + function baseGt(value, other) { + return value > other; + } + + /** + * The base implementation of `_.has` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ + function baseHas(object, key) { + return object != null && hasOwnProperty.call(object, key); + } + + /** + * The base implementation of `_.hasIn` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ + function baseHasIn(object, key) { + return object != null && key in Object(object); + } + + /** + * The base implementation of `_.inRange` which doesn't coerce arguments. + * + * @private + * @param {number} number The number to check. + * @param {number} start The start of the range. + * @param {number} end The end of the range. + * @returns {boolean} Returns `true` if `number` is in the range, else `false`. + */ + function baseInRange(number, start, end) { + return number >= nativeMin(start, end) && number < nativeMax(start, end); + } + + /** + * The base implementation of methods like `_.intersection`, without support + * for iteratee shorthands, that accepts an array of arrays to inspect. + * + * @private + * @param {Array} arrays The arrays to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of shared values. + */ + function baseIntersection(arrays, iteratee, comparator) { + var includes = comparator ? arrayIncludesWith : arrayIncludes, + length = arrays[0].length, + othLength = arrays.length, + othIndex = othLength, + caches = Array(othLength), + maxLength = Infinity, + result = []; + + while (othIndex--) { + var array = arrays[othIndex]; + if (othIndex && iteratee) { + array = arrayMap(array, baseUnary(iteratee)); + } + maxLength = nativeMin(array.length, maxLength); + caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120)) + ? new SetCache(othIndex && array) + : undefined; + } + array = arrays[0]; + + var index = -1, + seen = caches[0]; + + outer: + while (++index < length && result.length < maxLength) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + value = (comparator || value !== 0) ? value : 0; + if (!(seen + ? cacheHas(seen, computed) + : includes(result, computed, comparator) + )) { + othIndex = othLength; + while (--othIndex) { + var cache = caches[othIndex]; + if (!(cache + ? cacheHas(cache, computed) + : includes(arrays[othIndex], computed, comparator)) + ) { + continue outer; + } + } + if (seen) { + seen.push(computed); + } + result.push(value); + } + } + return result; + } + + /** + * The base implementation of `_.invert` and `_.invertBy` which inverts + * `object` with values transformed by `iteratee` and set by `setter`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform values. + * @param {Object} accumulator The initial inverted object. + * @returns {Function} Returns `accumulator`. + */ + function baseInverter(object, setter, iteratee, accumulator) { + baseForOwn(object, function(value, key, object) { + setter(accumulator, iteratee(value), key, object); + }); + return accumulator; + } + + /** + * The base implementation of `_.invoke` without support for individual + * method arguments. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the method to invoke. + * @param {Array} args The arguments to invoke the method with. + * @returns {*} Returns the result of the invoked method. + */ + function baseInvoke(object, path, args) { + path = castPath(path, object); + object = parent(object, path); + var func = object == null ? object : object[toKey(last(path))]; + return func == null ? undefined : apply(func, object, args); + } + + /** + * The base implementation of `_.isArguments`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + */ + function baseIsArguments(value) { + return isObjectLike(value) && baseGetTag(value) == argsTag; + } + + /** + * The base implementation of `_.isArrayBuffer` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. + */ + function baseIsArrayBuffer(value) { + return isObjectLike(value) && baseGetTag(value) == arrayBufferTag; + } + + /** + * The base implementation of `_.isDate` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a date object, else `false`. + */ + function baseIsDate(value) { + return isObjectLike(value) && baseGetTag(value) == dateTag; + } + + /** + * The base implementation of `_.isEqual` which supports partial comparisons + * and tracks traversed objects. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {boolean} bitmask The bitmask flags. + * 1 - Unordered comparison + * 2 - Partial comparison + * @param {Function} [customizer] The function to customize comparisons. + * @param {Object} [stack] Tracks traversed `value` and `other` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ + function baseIsEqual(value, other, bitmask, customizer, stack) { + if (value === other) { + return true; + } + if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { + return value !== value && other !== other; + } + return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); + } + + /** + * A specialized version of `baseIsEqual` for arrays and objects which performs + * deep comparisons and tracks traversed objects enabling objects with circular + * references to be compared. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} [stack] Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { + var objIsArr = isArray(object), + othIsArr = isArray(other), + objTag = objIsArr ? arrayTag : getTag(object), + othTag = othIsArr ? arrayTag : getTag(other); + + objTag = objTag == argsTag ? objectTag : objTag; + othTag = othTag == argsTag ? objectTag : othTag; + + var objIsObj = objTag == objectTag, + othIsObj = othTag == objectTag, + isSameTag = objTag == othTag; + + if (isSameTag && isBuffer(object)) { + if (!isBuffer(other)) { + return false; + } + objIsArr = true; + objIsObj = false; + } + if (isSameTag && !objIsObj) { + stack || (stack = new Stack); + return (objIsArr || isTypedArray(object)) + ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) + : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); + } + if (!(bitmask & COMPARE_PARTIAL_FLAG)) { + var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), + othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); + + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, + othUnwrapped = othIsWrapped ? other.value() : other; + + stack || (stack = new Stack); + return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); + } + } + if (!isSameTag) { + return false; + } + stack || (stack = new Stack); + return equalObjects(object, other, bitmask, customizer, equalFunc, stack); + } + + /** + * The base implementation of `_.isMap` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a map, else `false`. + */ + function baseIsMap(value) { + return isObjectLike(value) && getTag(value) == mapTag; + } + + /** + * The base implementation of `_.isMatch` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Array} matchData The property names, values, and compare flags to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + */ + function baseIsMatch(object, source, matchData, customizer) { + var index = matchData.length, + length = index, + noCustomizer = !customizer; + + if (object == null) { + return !length; + } + object = Object(object); + while (index--) { + var data = matchData[index]; + if ((noCustomizer && data[2]) + ? data[1] !== object[data[0]] + : !(data[0] in object) + ) { + return false; + } + } + while (++index < length) { + data = matchData[index]; + var key = data[0], + objValue = object[key], + srcValue = data[1]; + + if (noCustomizer && data[2]) { + if (objValue === undefined && !(key in object)) { + return false; + } + } else { + var stack = new Stack; + if (customizer) { + var result = customizer(objValue, srcValue, key, object, source, stack); + } + if (!(result === undefined + ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) + : result + )) { + return false; + } + } + } + return true; + } + + /** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ + function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = isFunction(value) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); + } + + /** + * The base implementation of `_.isRegExp` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. + */ + function baseIsRegExp(value) { + return isObjectLike(value) && baseGetTag(value) == regexpTag; + } + + /** + * The base implementation of `_.isSet` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a set, else `false`. + */ + function baseIsSet(value) { + return isObjectLike(value) && getTag(value) == setTag; + } + + /** + * The base implementation of `_.isTypedArray` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + */ + function baseIsTypedArray(value) { + return isObjectLike(value) && + isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; + } + + /** + * The base implementation of `_.iteratee`. + * + * @private + * @param {*} [value=_.identity] The value to convert to an iteratee. + * @returns {Function} Returns the iteratee. + */ + function baseIteratee(value) { + // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. + // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. + if (typeof value == 'function') { + return value; + } + if (value == null) { + return identity; + } + if (typeof value == 'object') { + return isArray(value) + ? baseMatchesProperty(value[0], value[1]) + : baseMatches(value); + } + return property(value); + } + + /** + * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ + function baseKeys(object) { + if (!isPrototype(object)) { + return nativeKeys(object); + } + var result = []; + for (var key in Object(object)) { + if (hasOwnProperty.call(object, key) && key != 'constructor') { + result.push(key); + } + } + return result; + } + + /** + * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ + function baseKeysIn(object) { + if (!isObject(object)) { + return nativeKeysIn(object); + } + var isProto = isPrototype(object), + result = []; + + for (var key in object) { + if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { + result.push(key); + } + } + return result; + } + + /** + * The base implementation of `_.lt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than `other`, + * else `false`. + */ + function baseLt(value, other) { + return value < other; + } + + /** + * The base implementation of `_.map` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ + function baseMap(collection, iteratee) { + var index = -1, + result = isArrayLike(collection) ? Array(collection.length) : []; + + baseEach(collection, function(value, key, collection) { + result[++index] = iteratee(value, key, collection); + }); + return result; + } + + /** + * The base implementation of `_.matches` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + */ + function baseMatches(source) { + var matchData = getMatchData(source); + if (matchData.length == 1 && matchData[0][2]) { + return matchesStrictComparable(matchData[0][0], matchData[0][1]); + } + return function(object) { + return object === source || baseIsMatch(object, source, matchData); + }; + } + + /** + * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. + * + * @private + * @param {string} path The path of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ + function baseMatchesProperty(path, srcValue) { + if (isKey(path) && isStrictComparable(srcValue)) { + return matchesStrictComparable(toKey(path), srcValue); + } + return function(object) { + var objValue = get(object, path); + return (objValue === undefined && objValue === srcValue) + ? hasIn(object, path) + : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); + }; + } + + /** + * The base implementation of `_.merge` without support for multiple sources. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {number} srcIndex The index of `source`. + * @param {Function} [customizer] The function to customize merged values. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + */ + function baseMerge(object, source, srcIndex, customizer, stack) { + if (object === source) { + return; + } + baseFor(source, function(srcValue, key) { + stack || (stack = new Stack); + if (isObject(srcValue)) { + baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack); + } + else { + var newValue = customizer + ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack) + : undefined; + + if (newValue === undefined) { + newValue = srcValue; + } + assignMergeValue(object, key, newValue); + } + }, keysIn); + } + + /** + * A specialized version of `baseMerge` for arrays and objects which performs + * deep merges and tracks traversed objects enabling objects with circular + * references to be merged. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {string} key The key of the value to merge. + * @param {number} srcIndex The index of `source`. + * @param {Function} mergeFunc The function to merge values. + * @param {Function} [customizer] The function to customize assigned values. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + */ + function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { + var objValue = safeGet(object, key), + srcValue = safeGet(source, key), + stacked = stack.get(srcValue); + + if (stacked) { + assignMergeValue(object, key, stacked); + return; + } + var newValue = customizer + ? customizer(objValue, srcValue, (key + ''), object, source, stack) + : undefined; + + var isCommon = newValue === undefined; + + if (isCommon) { + var isArr = isArray(srcValue), + isBuff = !isArr && isBuffer(srcValue), + isTyped = !isArr && !isBuff && isTypedArray(srcValue); + + newValue = srcValue; + if (isArr || isBuff || isTyped) { + if (isArray(objValue)) { + newValue = objValue; + } + else if (isArrayLikeObject(objValue)) { + newValue = copyArray(objValue); + } + else if (isBuff) { + isCommon = false; + newValue = cloneBuffer(srcValue, true); + } + else if (isTyped) { + isCommon = false; + newValue = cloneTypedArray(srcValue, true); + } + else { + newValue = []; + } + } + else if (isPlainObject(srcValue) || isArguments(srcValue)) { + newValue = objValue; + if (isArguments(objValue)) { + newValue = toPlainObject(objValue); + } + else if (!isObject(objValue) || isFunction(objValue)) { + newValue = initCloneObject(srcValue); + } + } + else { + isCommon = false; + } + } + if (isCommon) { + // Recursively merge objects and arrays (susceptible to call stack limits). + stack.set(srcValue, newValue); + mergeFunc(newValue, srcValue, srcIndex, customizer, stack); + stack['delete'](srcValue); + } + assignMergeValue(object, key, newValue); + } + + /** + * The base implementation of `_.nth` which doesn't coerce arguments. + * + * @private + * @param {Array} array The array to query. + * @param {number} n The index of the element to return. + * @returns {*} Returns the nth element of `array`. + */ + function baseNth(array, n) { + var length = array.length; + if (!length) { + return; + } + n += n < 0 ? length : 0; + return isIndex(n, length) ? array[n] : undefined; + } + + /** + * The base implementation of `_.orderBy` without param guards. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by. + * @param {string[]} orders The sort orders of `iteratees`. + * @returns {Array} Returns the new sorted array. + */ + function baseOrderBy(collection, iteratees, orders) { + if (iteratees.length) { + iteratees = arrayMap(iteratees, function(iteratee) { + if (isArray(iteratee)) { + return function(value) { + return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee); + }; + } + return iteratee; + }); + } else { + iteratees = [identity]; + } + + var index = -1; + iteratees = arrayMap(iteratees, baseUnary(getIteratee())); + + var result = baseMap(collection, function(value, key, collection) { + var criteria = arrayMap(iteratees, function(iteratee) { + return iteratee(value); + }); + return { 'criteria': criteria, 'index': ++index, 'value': value }; + }); + + return baseSortBy(result, function(object, other) { + return compareMultiple(object, other, orders); + }); + } + + /** + * The base implementation of `_.pick` without support for individual + * property identifiers. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @returns {Object} Returns the new object. + */ + function basePick(object, paths) { + return basePickBy(object, paths, function(value, path) { + return hasIn(object, path); + }); + } + + /** + * The base implementation of `_.pickBy` without support for iteratee shorthands. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @param {Function} predicate The function invoked per property. + * @returns {Object} Returns the new object. + */ + function basePickBy(object, paths, predicate) { + var index = -1, + length = paths.length, + result = {}; + + while (++index < length) { + var path = paths[index], + value = baseGet(object, path); + + if (predicate(value, path)) { + baseSet(result, castPath(path, object), value); + } + } + return result; + } + + /** + * A specialized version of `baseProperty` which supports deep paths. + * + * @private + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + */ + function basePropertyDeep(path) { + return function(object) { + return baseGet(object, path); + }; + } + + /** + * The base implementation of `_.pullAllBy` without support for iteratee + * shorthands. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns `array`. + */ + function basePullAll(array, values, iteratee, comparator) { + var indexOf = comparator ? baseIndexOfWith : baseIndexOf, + index = -1, + length = values.length, + seen = array; + + if (array === values) { + values = copyArray(values); + } + if (iteratee) { + seen = arrayMap(array, baseUnary(iteratee)); + } + while (++index < length) { + var fromIndex = 0, + value = values[index], + computed = iteratee ? iteratee(value) : value; + + while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) { + if (seen !== array) { + splice.call(seen, fromIndex, 1); + } + splice.call(array, fromIndex, 1); + } + } + return array; + } + + /** + * The base implementation of `_.pullAt` without support for individual + * indexes or capturing the removed elements. + * + * @private + * @param {Array} array The array to modify. + * @param {number[]} indexes The indexes of elements to remove. + * @returns {Array} Returns `array`. + */ + function basePullAt(array, indexes) { + var length = array ? indexes.length : 0, + lastIndex = length - 1; + + while (length--) { + var index = indexes[length]; + if (length == lastIndex || index !== previous) { + var previous = index; + if (isIndex(index)) { + splice.call(array, index, 1); + } else { + baseUnset(array, index); + } + } + } + return array; + } + + /** + * The base implementation of `_.random` without support for returning + * floating-point numbers. + * + * @private + * @param {number} lower The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the random number. + */ + function baseRandom(lower, upper) { + return lower + nativeFloor(nativeRandom() * (upper - lower + 1)); + } + + /** + * The base implementation of `_.range` and `_.rangeRight` which doesn't + * coerce arguments. + * + * @private + * @param {number} start The start of the range. + * @param {number} end The end of the range. + * @param {number} step The value to increment or decrement by. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Array} Returns the range of numbers. + */ + function baseRange(start, end, step, fromRight) { + var index = -1, + length = nativeMax(nativeCeil((end - start) / (step || 1)), 0), + result = Array(length); + + while (length--) { + result[fromRight ? length : ++index] = start; + start += step; + } + return result; + } + + /** + * The base implementation of `_.repeat` which doesn't coerce arguments. + * + * @private + * @param {string} string The string to repeat. + * @param {number} n The number of times to repeat the string. + * @returns {string} Returns the repeated string. + */ + function baseRepeat(string, n) { + var result = ''; + if (!string || n < 1 || n > MAX_SAFE_INTEGER) { + return result; + } + // Leverage the exponentiation by squaring algorithm for a faster repeat. + // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details. + do { + if (n % 2) { + result += string; + } + n = nativeFloor(n / 2); + if (n) { + string += string; + } + } while (n); + + return result; + } + + /** + * The base implementation of `_.rest` which doesn't validate or coerce arguments. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. + */ + function baseRest(func, start) { + return setToString(overRest(func, start, identity), func + ''); + } + + /** + * The base implementation of `_.sample`. + * + * @private + * @param {Array|Object} collection The collection to sample. + * @returns {*} Returns the random element. + */ + function baseSample(collection) { + return arraySample(values(collection)); + } + + /** + * The base implementation of `_.sampleSize` without param guards. + * + * @private + * @param {Array|Object} collection The collection to sample. + * @param {number} n The number of elements to sample. + * @returns {Array} Returns the random elements. + */ + function baseSampleSize(collection, n) { + var array = values(collection); + return shuffleSelf(array, baseClamp(n, 0, array.length)); + } + + /** + * The base implementation of `_.set`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @param {Function} [customizer] The function to customize path creation. + * @returns {Object} Returns `object`. + */ + function baseSet(object, path, value, customizer) { + if (!isObject(object)) { + return object; + } + path = castPath(path, object); + + var index = -1, + length = path.length, + lastIndex = length - 1, + nested = object; + + while (nested != null && ++index < length) { + var key = toKey(path[index]), + newValue = value; + + if (key === '__proto__' || key === 'constructor' || key === 'prototype') { + return object; + } + + if (index != lastIndex) { + var objValue = nested[key]; + newValue = customizer ? customizer(objValue, key, nested) : undefined; + if (newValue === undefined) { + newValue = isObject(objValue) + ? objValue + : (isIndex(path[index + 1]) ? [] : {}); + } + } + assignValue(nested, key, newValue); + nested = nested[key]; + } + return object; + } + + /** + * The base implementation of `setData` without support for hot loop shorting. + * + * @private + * @param {Function} func The function to associate metadata with. + * @param {*} data The metadata. + * @returns {Function} Returns `func`. + */ + var baseSetData = !metaMap ? identity : function(func, data) { + metaMap.set(func, data); + return func; + }; + + /** + * The base implementation of `setToString` without support for hot loop shorting. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ + var baseSetToString = !defineProperty ? identity : function(func, string) { + return defineProperty(func, 'toString', { + 'configurable': true, + 'enumerable': false, + 'value': constant(string), + 'writable': true + }); + }; + + /** + * The base implementation of `_.shuffle`. + * + * @private + * @param {Array|Object} collection The collection to shuffle. + * @returns {Array} Returns the new shuffled array. + */ + function baseShuffle(collection) { + return shuffleSelf(values(collection)); + } + + /** + * The base implementation of `_.slice` without an iteratee call guard. + * + * @private + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ + function baseSlice(array, start, end) { + var index = -1, + length = array.length; + + if (start < 0) { + start = -start > length ? 0 : (length + start); + } + end = end > length ? length : end; + if (end < 0) { + end += length; + } + length = start > end ? 0 : ((end - start) >>> 0); + start >>>= 0; + + var result = Array(length); + while (++index < length) { + result[index] = array[index + start]; + } + return result; + } + + /** + * The base implementation of `_.some` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ + function baseSome(collection, predicate) { + var result; + + baseEach(collection, function(value, index, collection) { + result = predicate(value, index, collection); + return !result; + }); + return !!result; + } + + /** + * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which + * performs a binary search of `array` to determine the index at which `value` + * should be inserted into `array` in order to maintain its sort order. + * + * @private + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {boolean} [retHighest] Specify returning the highest qualified index. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + */ + function baseSortedIndex(array, value, retHighest) { + var low = 0, + high = array == null ? low : array.length; + + if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) { + while (low < high) { + var mid = (low + high) >>> 1, + computed = array[mid]; + + if (computed !== null && !isSymbol(computed) && + (retHighest ? (computed <= value) : (computed < value))) { + low = mid + 1; + } else { + high = mid; + } + } + return high; + } + return baseSortedIndexBy(array, value, identity, retHighest); + } + + /** + * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy` + * which invokes `iteratee` for `value` and each element of `array` to compute + * their sort ranking. The iteratee is invoked with one argument; (value). + * + * @private + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {Function} iteratee The iteratee invoked per element. + * @param {boolean} [retHighest] Specify returning the highest qualified index. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + */ + function baseSortedIndexBy(array, value, iteratee, retHighest) { + var low = 0, + high = array == null ? 0 : array.length; + if (high === 0) { + return 0; + } + + value = iteratee(value); + var valIsNaN = value !== value, + valIsNull = value === null, + valIsSymbol = isSymbol(value), + valIsUndefined = value === undefined; + + while (low < high) { + var mid = nativeFloor((low + high) / 2), + computed = iteratee(array[mid]), + othIsDefined = computed !== undefined, + othIsNull = computed === null, + othIsReflexive = computed === computed, + othIsSymbol = isSymbol(computed); + + if (valIsNaN) { + var setLow = retHighest || othIsReflexive; + } else if (valIsUndefined) { + setLow = othIsReflexive && (retHighest || othIsDefined); + } else if (valIsNull) { + setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull); + } else if (valIsSymbol) { + setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol); + } else if (othIsNull || othIsSymbol) { + setLow = false; + } else { + setLow = retHighest ? (computed <= value) : (computed < value); + } + if (setLow) { + low = mid + 1; + } else { + high = mid; + } + } + return nativeMin(high, MAX_ARRAY_INDEX); + } + + /** + * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @returns {Array} Returns the new duplicate free array. + */ + function baseSortedUniq(array, iteratee) { + var index = -1, + length = array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + if (!index || !eq(computed, seen)) { + var seen = computed; + result[resIndex++] = value === 0 ? 0 : value; + } + } + return result; + } + + /** + * The base implementation of `_.toNumber` which doesn't ensure correct + * conversions of binary, hexadecimal, or octal string values. + * + * @private + * @param {*} value The value to process. + * @returns {number} Returns the number. + */ + function baseToNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + return +value; + } + + /** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ + function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isArray(value)) { + // Recursively convert values (susceptible to call stack limits). + return arrayMap(value, baseToString) + ''; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; + } + + /** + * The base implementation of `_.uniqBy` without support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new duplicate free array. + */ + function baseUniq(array, iteratee, comparator) { + var index = -1, + includes = arrayIncludes, + length = array.length, + isCommon = true, + result = [], + seen = result; + + if (comparator) { + isCommon = false; + includes = arrayIncludesWith; + } + else if (length >= LARGE_ARRAY_SIZE) { + var set = iteratee ? null : createSet(array); + if (set) { + return setToArray(set); + } + isCommon = false; + includes = cacheHas; + seen = new SetCache; + } + else { + seen = iteratee ? [] : result; + } + outer: + while (++index < length) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + value = (comparator || value !== 0) ? value : 0; + if (isCommon && computed === computed) { + var seenIndex = seen.length; + while (seenIndex--) { + if (seen[seenIndex] === computed) { + continue outer; + } + } + if (iteratee) { + seen.push(computed); + } + result.push(value); + } + else if (!includes(seen, computed, comparator)) { + if (seen !== result) { + seen.push(computed); + } + result.push(value); + } + } + return result; + } + + /** + * The base implementation of `_.unset`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The property path to unset. + * @returns {boolean} Returns `true` if the property is deleted, else `false`. + */ + function baseUnset(object, path) { + path = castPath(path, object); + + // Prevent prototype pollution: + // https://github.com/lodash/lodash/security/advisories/GHSA-xxjr-mmjv-4gpg + // https://github.com/lodash/lodash/security/advisories/GHSA-f23m-r3pf-42rh + var index = -1, + length = path.length; + + if (!length) { + return true; + } + + while (++index < length) { + var key = toKey(path[index]); + + // Always block "__proto__" anywhere in the path if it's not expected + if (key === '__proto__' && !hasOwnProperty.call(object, '__proto__')) { + return false; + } + + // Block constructor/prototype as non-terminal traversal keys to prevent + // escaping the object graph into built-in constructors and prototypes. + if ((key === 'constructor' || key === 'prototype') && index < length - 1) { + return false; + } + } + + var obj = parent(object, path); + return obj == null || delete obj[toKey(last(path))]; + } + + /** + * The base implementation of `_.update`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to update. + * @param {Function} updater The function to produce the updated value. + * @param {Function} [customizer] The function to customize path creation. + * @returns {Object} Returns `object`. + */ + function baseUpdate(object, path, updater, customizer) { + return baseSet(object, path, updater(baseGet(object, path)), customizer); + } + + /** + * The base implementation of methods like `_.dropWhile` and `_.takeWhile` + * without support for iteratee shorthands. + * + * @private + * @param {Array} array The array to query. + * @param {Function} predicate The function invoked per iteration. + * @param {boolean} [isDrop] Specify dropping elements instead of taking them. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Array} Returns the slice of `array`. + */ + function baseWhile(array, predicate, isDrop, fromRight) { + var length = array.length, + index = fromRight ? length : -1; + + while ((fromRight ? index-- : ++index < length) && + predicate(array[index], index, array)) {} + + return isDrop + ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length)) + : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index)); + } + + /** + * The base implementation of `wrapperValue` which returns the result of + * performing a sequence of actions on the unwrapped `value`, where each + * successive action is supplied the return value of the previous. + * + * @private + * @param {*} value The unwrapped value. + * @param {Array} actions Actions to perform to resolve the unwrapped value. + * @returns {*} Returns the resolved value. + */ + function baseWrapperValue(value, actions) { + var result = value; + if (result instanceof LazyWrapper) { + result = result.value(); + } + return arrayReduce(actions, function(result, action) { + return action.func.apply(action.thisArg, arrayPush([result], action.args)); + }, result); + } + + /** + * The base implementation of methods like `_.xor`, without support for + * iteratee shorthands, that accepts an array of arrays to inspect. + * + * @private + * @param {Array} arrays The arrays to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of values. + */ + function baseXor(arrays, iteratee, comparator) { + var length = arrays.length; + if (length < 2) { + return length ? baseUniq(arrays[0]) : []; + } + var index = -1, + result = Array(length); + + while (++index < length) { + var array = arrays[index], + othIndex = -1; + + while (++othIndex < length) { + if (othIndex != index) { + result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator); + } + } + } + return baseUniq(baseFlatten(result, 1), iteratee, comparator); + } + + /** + * This base implementation of `_.zipObject` which assigns values using `assignFunc`. + * + * @private + * @param {Array} props The property identifiers. + * @param {Array} values The property values. + * @param {Function} assignFunc The function to assign values. + * @returns {Object} Returns the new object. + */ + function baseZipObject(props, values, assignFunc) { + var index = -1, + length = props.length, + valsLength = values.length, + result = {}; + + while (++index < length) { + var value = index < valsLength ? values[index] : undefined; + assignFunc(result, props[index], value); + } + return result; + } + + /** + * Casts `value` to an empty array if it's not an array like object. + * + * @private + * @param {*} value The value to inspect. + * @returns {Array|Object} Returns the cast array-like object. + */ + function castArrayLikeObject(value) { + return isArrayLikeObject(value) ? value : []; + } + + /** + * Casts `value` to `identity` if it's not a function. + * + * @private + * @param {*} value The value to inspect. + * @returns {Function} Returns cast function. + */ + function castFunction(value) { + return typeof value == 'function' ? value : identity; + } + + /** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @param {Object} [object] The object to query keys on. + * @returns {Array} Returns the cast property path array. + */ + function castPath(value, object) { + if (isArray(value)) { + return value; + } + return isKey(value, object) ? [value] : stringToPath(toString(value)); + } + + /** + * A `baseRest` alias which can be replaced with `identity` by module + * replacement plugins. + * + * @private + * @type {Function} + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ + var castRest = baseRest; + + /** + * Casts `array` to a slice if it's needed. + * + * @private + * @param {Array} array The array to inspect. + * @param {number} start The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the cast slice. + */ + function castSlice(array, start, end) { + var length = array.length; + end = end === undefined ? length : end; + return (!start && end >= length) ? array : baseSlice(array, start, end); + } + + /** + * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout). + * + * @private + * @param {number|Object} id The timer id or timeout object of the timer to clear. + */ + var clearTimeout = ctxClearTimeout || function(id) { + return root.clearTimeout(id); + }; + + /** + * Creates a clone of `buffer`. + * + * @private + * @param {Buffer} buffer The buffer to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Buffer} Returns the cloned buffer. + */ + function cloneBuffer(buffer, isDeep) { + if (isDeep) { + return buffer.slice(); + } + var length = buffer.length, + result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); + + buffer.copy(result); + return result; + } + + /** + * Creates a clone of `arrayBuffer`. + * + * @private + * @param {ArrayBuffer} arrayBuffer The array buffer to clone. + * @returns {ArrayBuffer} Returns the cloned array buffer. + */ + function cloneArrayBuffer(arrayBuffer) { + var result = new arrayBuffer.constructor(arrayBuffer.byteLength); + new Uint8Array(result).set(new Uint8Array(arrayBuffer)); + return result; + } + + /** + * Creates a clone of `dataView`. + * + * @private + * @param {Object} dataView The data view to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned data view. + */ + function cloneDataView(dataView, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; + return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); + } + + /** + * Creates a clone of `regexp`. + * + * @private + * @param {Object} regexp The regexp to clone. + * @returns {Object} Returns the cloned regexp. + */ + function cloneRegExp(regexp) { + var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); + result.lastIndex = regexp.lastIndex; + return result; + } + + /** + * Creates a clone of the `symbol` object. + * + * @private + * @param {Object} symbol The symbol object to clone. + * @returns {Object} Returns the cloned symbol object. + */ + function cloneSymbol(symbol) { + return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; + } + + /** + * Creates a clone of `typedArray`. + * + * @private + * @param {Object} typedArray The typed array to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned typed array. + */ + function cloneTypedArray(typedArray, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; + return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); + } + + /** + * Compares values to sort them in ascending order. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {number} Returns the sort order indicator for `value`. + */ + function compareAscending(value, other) { + if (value !== other) { + var valIsDefined = value !== undefined, + valIsNull = value === null, + valIsReflexive = value === value, + valIsSymbol = isSymbol(value); + + var othIsDefined = other !== undefined, + othIsNull = other === null, + othIsReflexive = other === other, + othIsSymbol = isSymbol(other); + + if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) || + (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) || + (valIsNull && othIsDefined && othIsReflexive) || + (!valIsDefined && othIsReflexive) || + !valIsReflexive) { + return 1; + } + if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) || + (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) || + (othIsNull && valIsDefined && valIsReflexive) || + (!othIsDefined && valIsReflexive) || + !othIsReflexive) { + return -1; + } + } + return 0; + } + + /** + * Used by `_.orderBy` to compare multiple properties of a value to another + * and stable sort them. + * + * If `orders` is unspecified, all values are sorted in ascending order. Otherwise, + * specify an order of "desc" for descending or "asc" for ascending sort order + * of corresponding values. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {boolean[]|string[]} orders The order to sort by for each property. + * @returns {number} Returns the sort order indicator for `object`. + */ + function compareMultiple(object, other, orders) { + var index = -1, + objCriteria = object.criteria, + othCriteria = other.criteria, + length = objCriteria.length, + ordersLength = orders.length; + + while (++index < length) { + var result = compareAscending(objCriteria[index], othCriteria[index]); + if (result) { + if (index >= ordersLength) { + return result; + } + var order = orders[index]; + return result * (order == 'desc' ? -1 : 1); + } + } + // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications + // that causes it, under certain circumstances, to provide the same value for + // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247 + // for more details. + // + // This also ensures a stable sort in V8 and other engines. + // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details. + return object.index - other.index; + } + + /** + * Creates an array that is the composition of partially applied arguments, + * placeholders, and provided arguments into a single array of arguments. + * + * @private + * @param {Array} args The provided arguments. + * @param {Array} partials The arguments to prepend to those provided. + * @param {Array} holders The `partials` placeholder indexes. + * @params {boolean} [isCurried] Specify composing for a curried function. + * @returns {Array} Returns the new array of composed arguments. + */ + function composeArgs(args, partials, holders, isCurried) { + var argsIndex = -1, + argsLength = args.length, + holdersLength = holders.length, + leftIndex = -1, + leftLength = partials.length, + rangeLength = nativeMax(argsLength - holdersLength, 0), + result = Array(leftLength + rangeLength), + isUncurried = !isCurried; + + while (++leftIndex < leftLength) { + result[leftIndex] = partials[leftIndex]; + } + while (++argsIndex < holdersLength) { + if (isUncurried || argsIndex < argsLength) { + result[holders[argsIndex]] = args[argsIndex]; + } + } + while (rangeLength--) { + result[leftIndex++] = args[argsIndex++]; + } + return result; + } + + /** + * This function is like `composeArgs` except that the arguments composition + * is tailored for `_.partialRight`. + * + * @private + * @param {Array} args The provided arguments. + * @param {Array} partials The arguments to append to those provided. + * @param {Array} holders The `partials` placeholder indexes. + * @params {boolean} [isCurried] Specify composing for a curried function. + * @returns {Array} Returns the new array of composed arguments. + */ + function composeArgsRight(args, partials, holders, isCurried) { + var argsIndex = -1, + argsLength = args.length, + holdersIndex = -1, + holdersLength = holders.length, + rightIndex = -1, + rightLength = partials.length, + rangeLength = nativeMax(argsLength - holdersLength, 0), + result = Array(rangeLength + rightLength), + isUncurried = !isCurried; + + while (++argsIndex < rangeLength) { + result[argsIndex] = args[argsIndex]; + } + var offset = argsIndex; + while (++rightIndex < rightLength) { + result[offset + rightIndex] = partials[rightIndex]; + } + while (++holdersIndex < holdersLength) { + if (isUncurried || argsIndex < argsLength) { + result[offset + holders[holdersIndex]] = args[argsIndex++]; + } + } + return result; + } + + /** + * Copies the values of `source` to `array`. + * + * @private + * @param {Array} source The array to copy values from. + * @param {Array} [array=[]] The array to copy values to. + * @returns {Array} Returns `array`. + */ + function copyArray(source, array) { + var index = -1, + length = source.length; + + array || (array = Array(length)); + while (++index < length) { + array[index] = source[index]; + } + return array; + } + + /** + * Copies properties of `source` to `object`. + * + * @private + * @param {Object} source The object to copy properties from. + * @param {Array} props The property identifiers to copy. + * @param {Object} [object={}] The object to copy properties to. + * @param {Function} [customizer] The function to customize copied values. + * @returns {Object} Returns `object`. + */ + function copyObject(source, props, object, customizer) { + var isNew = !object; + object || (object = {}); + + var index = -1, + length = props.length; + + while (++index < length) { + var key = props[index]; + + var newValue = customizer + ? customizer(object[key], source[key], key, object, source) + : undefined; + + if (newValue === undefined) { + newValue = source[key]; + } + if (isNew) { + baseAssignValue(object, key, newValue); + } else { + assignValue(object, key, newValue); + } + } + return object; + } + + /** + * Copies own symbols of `source` to `object`. + * + * @private + * @param {Object} source The object to copy symbols from. + * @param {Object} [object={}] The object to copy symbols to. + * @returns {Object} Returns `object`. + */ + function copySymbols(source, object) { + return copyObject(source, getSymbols(source), object); + } + + /** + * Copies own and inherited symbols of `source` to `object`. + * + * @private + * @param {Object} source The object to copy symbols from. + * @param {Object} [object={}] The object to copy symbols to. + * @returns {Object} Returns `object`. + */ + function copySymbolsIn(source, object) { + return copyObject(source, getSymbolsIn(source), object); + } + + /** + * Creates a function like `_.groupBy`. + * + * @private + * @param {Function} setter The function to set accumulator values. + * @param {Function} [initializer] The accumulator object initializer. + * @returns {Function} Returns the new aggregator function. + */ + function createAggregator(setter, initializer) { + return function(collection, iteratee) { + var func = isArray(collection) ? arrayAggregator : baseAggregator, + accumulator = initializer ? initializer() : {}; + + return func(collection, setter, getIteratee(iteratee, 2), accumulator); + }; + } + + /** + * Creates a function like `_.assign`. + * + * @private + * @param {Function} assigner The function to assign values. + * @returns {Function} Returns the new assigner function. + */ + function createAssigner(assigner) { + return baseRest(function(object, sources) { + var index = -1, + length = sources.length, + customizer = length > 1 ? sources[length - 1] : undefined, + guard = length > 2 ? sources[2] : undefined; + + customizer = (assigner.length > 3 && typeof customizer == 'function') + ? (length--, customizer) + : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + customizer = length < 3 ? undefined : customizer; + length = 1; + } + object = Object(object); + while (++index < length) { + var source = sources[index]; + if (source) { + assigner(object, source, index, customizer); + } + } + return object; + }); + } + + /** + * Creates a `baseEach` or `baseEachRight` function. + * + * @private + * @param {Function} eachFunc The function to iterate over a collection. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ + function createBaseEach(eachFunc, fromRight) { + return function(collection, iteratee) { + if (collection == null) { + return collection; + } + if (!isArrayLike(collection)) { + return eachFunc(collection, iteratee); + } + var length = collection.length, + index = fromRight ? length : -1, + iterable = Object(collection); + + while ((fromRight ? index-- : ++index < length)) { + if (iteratee(iterable[index], index, iterable) === false) { + break; + } + } + return collection; + }; + } + + /** + * Creates a base function for methods like `_.forIn` and `_.forOwn`. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ + function createBaseFor(fromRight) { + return function(object, iteratee, keysFunc) { + var index = -1, + iterable = Object(object), + props = keysFunc(object), + length = props.length; + + while (length--) { + var key = props[fromRight ? length : ++index]; + if (iteratee(iterable[key], key, iterable) === false) { + break; + } + } + return object; + }; + } + + /** + * Creates a function that wraps `func` to invoke it with the optional `this` + * binding of `thisArg`. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} [thisArg] The `this` binding of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createBind(func, bitmask, thisArg) { + var isBind = bitmask & WRAP_BIND_FLAG, + Ctor = createCtor(func); + + function wrapper() { + var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + return fn.apply(isBind ? thisArg : this, arguments); + } + return wrapper; + } + + /** + * Creates a function like `_.lowerFirst`. + * + * @private + * @param {string} methodName The name of the `String` case method to use. + * @returns {Function} Returns the new case function. + */ + function createCaseFirst(methodName) { + return function(string) { + string = toString(string); + + var strSymbols = hasUnicode(string) + ? stringToArray(string) + : undefined; + + var chr = strSymbols + ? strSymbols[0] + : string.charAt(0); + + var trailing = strSymbols + ? castSlice(strSymbols, 1).join('') + : string.slice(1); + + return chr[methodName]() + trailing; + }; + } + + /** + * Creates a function like `_.camelCase`. + * + * @private + * @param {Function} callback The function to combine each word. + * @returns {Function} Returns the new compounder function. + */ + function createCompounder(callback) { + return function(string) { + return arrayReduce(words(deburr(string).replace(reApos, '')), callback, ''); + }; + } + + /** + * Creates a function that produces an instance of `Ctor` regardless of + * whether it was invoked as part of a `new` expression or by `call` or `apply`. + * + * @private + * @param {Function} Ctor The constructor to wrap. + * @returns {Function} Returns the new wrapped function. + */ + function createCtor(Ctor) { + return function() { + // Use a `switch` statement to work with class constructors. See + // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist + // for more details. + var args = arguments; + switch (args.length) { + case 0: return new Ctor; + case 1: return new Ctor(args[0]); + case 2: return new Ctor(args[0], args[1]); + case 3: return new Ctor(args[0], args[1], args[2]); + case 4: return new Ctor(args[0], args[1], args[2], args[3]); + case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]); + case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]); + case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]); + } + var thisBinding = baseCreate(Ctor.prototype), + result = Ctor.apply(thisBinding, args); + + // Mimic the constructor's `return` behavior. + // See https://es5.github.io/#x13.2.2 for more details. + return isObject(result) ? result : thisBinding; + }; + } + + /** + * Creates a function that wraps `func` to enable currying. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {number} arity The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createCurry(func, bitmask, arity) { + var Ctor = createCtor(func); + + function wrapper() { + var length = arguments.length, + args = Array(length), + index = length, + placeholder = getHolder(wrapper); + + while (index--) { + args[index] = arguments[index]; + } + var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder) + ? [] + : replaceHolders(args, placeholder); + + length -= holders.length; + if (length < arity) { + return createRecurry( + func, bitmask, createHybrid, wrapper.placeholder, undefined, + args, holders, undefined, undefined, arity - length); + } + var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + return apply(fn, this, args); + } + return wrapper; + } + + /** + * Creates a `_.find` or `_.findLast` function. + * + * @private + * @param {Function} findIndexFunc The function to find the collection index. + * @returns {Function} Returns the new find function. + */ + function createFind(findIndexFunc) { + return function(collection, predicate, fromIndex) { + var iterable = Object(collection); + if (!isArrayLike(collection)) { + var iteratee = getIteratee(predicate, 3); + collection = keys(collection); + predicate = function(key) { return iteratee(iterable[key], key, iterable); }; + } + var index = findIndexFunc(collection, predicate, fromIndex); + return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; + }; + } + + /** + * Creates a `_.flow` or `_.flowRight` function. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new flow function. + */ + function createFlow(fromRight) { + return flatRest(function(funcs) { + var length = funcs.length, + index = length, + prereq = LodashWrapper.prototype.thru; + + if (fromRight) { + funcs.reverse(); + } + while (index--) { + var func = funcs[index]; + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + if (prereq && !wrapper && getFuncName(func) == 'wrapper') { + var wrapper = new LodashWrapper([], true); + } + } + index = wrapper ? index : length; + while (++index < length) { + func = funcs[index]; + + var funcName = getFuncName(func), + data = funcName == 'wrapper' ? getData(func) : undefined; + + if (data && isLaziable(data[0]) && + data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) && + !data[4].length && data[9] == 1 + ) { + wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]); + } else { + wrapper = (func.length == 1 && isLaziable(func)) + ? wrapper[funcName]() + : wrapper.thru(func); + } + } + return function() { + var args = arguments, + value = args[0]; + + if (wrapper && args.length == 1 && isArray(value)) { + return wrapper.plant(value).value(); + } + var index = 0, + result = length ? funcs[index].apply(this, args) : value; + + while (++index < length) { + result = funcs[index].call(this, result); + } + return result; + }; + }); + } + + /** + * Creates a function that wraps `func` to invoke it with optional `this` + * binding of `thisArg`, partial application, and currying. + * + * @private + * @param {Function|string} func The function or method name to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to prepend to those provided to + * the new function. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [partialsRight] The arguments to append to those provided + * to the new function. + * @param {Array} [holdersRight] The `partialsRight` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) { + var isAry = bitmask & WRAP_ARY_FLAG, + isBind = bitmask & WRAP_BIND_FLAG, + isBindKey = bitmask & WRAP_BIND_KEY_FLAG, + isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG), + isFlip = bitmask & WRAP_FLIP_FLAG, + Ctor = isBindKey ? undefined : createCtor(func); + + function wrapper() { + var length = arguments.length, + args = Array(length), + index = length; + + while (index--) { + args[index] = arguments[index]; + } + if (isCurried) { + var placeholder = getHolder(wrapper), + holdersCount = countHolders(args, placeholder); + } + if (partials) { + args = composeArgs(args, partials, holders, isCurried); + } + if (partialsRight) { + args = composeArgsRight(args, partialsRight, holdersRight, isCurried); + } + length -= holdersCount; + if (isCurried && length < arity) { + var newHolders = replaceHolders(args, placeholder); + return createRecurry( + func, bitmask, createHybrid, wrapper.placeholder, thisArg, + args, newHolders, argPos, ary, arity - length + ); + } + var thisBinding = isBind ? thisArg : this, + fn = isBindKey ? thisBinding[func] : func; + + length = args.length; + if (argPos) { + args = reorder(args, argPos); + } else if (isFlip && length > 1) { + args.reverse(); + } + if (isAry && ary < length) { + args.length = ary; + } + if (this && this !== root && this instanceof wrapper) { + fn = Ctor || createCtor(fn); + } + return fn.apply(thisBinding, args); + } + return wrapper; + } + + /** + * Creates a function like `_.invertBy`. + * + * @private + * @param {Function} setter The function to set accumulator values. + * @param {Function} toIteratee The function to resolve iteratees. + * @returns {Function} Returns the new inverter function. + */ + function createInverter(setter, toIteratee) { + return function(object, iteratee) { + return baseInverter(object, setter, toIteratee(iteratee), {}); + }; + } + + /** + * Creates a function that performs a mathematical operation on two values. + * + * @private + * @param {Function} operator The function to perform the operation. + * @param {number} [defaultValue] The value used for `undefined` arguments. + * @returns {Function} Returns the new mathematical operation function. + */ + function createMathOperation(operator, defaultValue) { + return function(value, other) { + var result; + if (value === undefined && other === undefined) { + return defaultValue; + } + if (value !== undefined) { + result = value; + } + if (other !== undefined) { + if (result === undefined) { + return other; + } + if (typeof value == 'string' || typeof other == 'string') { + value = baseToString(value); + other = baseToString(other); + } else { + value = baseToNumber(value); + other = baseToNumber(other); + } + result = operator(value, other); + } + return result; + }; + } + + /** + * Creates a function like `_.over`. + * + * @private + * @param {Function} arrayFunc The function to iterate over iteratees. + * @returns {Function} Returns the new over function. + */ + function createOver(arrayFunc) { + return flatRest(function(iteratees) { + iteratees = arrayMap(iteratees, baseUnary(getIteratee())); + return baseRest(function(args) { + var thisArg = this; + return arrayFunc(iteratees, function(iteratee) { + return apply(iteratee, thisArg, args); + }); + }); + }); + } + + /** + * Creates the padding for `string` based on `length`. The `chars` string + * is truncated if the number of characters exceeds `length`. + * + * @private + * @param {number} length The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padding for `string`. + */ + function createPadding(length, chars) { + chars = chars === undefined ? ' ' : baseToString(chars); + + var charsLength = chars.length; + if (charsLength < 2) { + return charsLength ? baseRepeat(chars, length) : chars; + } + var result = baseRepeat(chars, nativeCeil(length / stringSize(chars))); + return hasUnicode(chars) + ? castSlice(stringToArray(result), 0, length).join('') + : result.slice(0, length); + } + + /** + * Creates a function that wraps `func` to invoke it with the `this` binding + * of `thisArg` and `partials` prepended to the arguments it receives. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} partials The arguments to prepend to those provided to + * the new function. + * @returns {Function} Returns the new wrapped function. + */ + function createPartial(func, bitmask, thisArg, partials) { + var isBind = bitmask & WRAP_BIND_FLAG, + Ctor = createCtor(func); + + function wrapper() { + var argsIndex = -1, + argsLength = arguments.length, + leftIndex = -1, + leftLength = partials.length, + args = Array(leftLength + argsLength), + fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + + while (++leftIndex < leftLength) { + args[leftIndex] = partials[leftIndex]; + } + while (argsLength--) { + args[leftIndex++] = arguments[++argsIndex]; + } + return apply(fn, isBind ? thisArg : this, args); + } + return wrapper; + } + + /** + * Creates a `_.range` or `_.rangeRight` function. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new range function. + */ + function createRange(fromRight) { + return function(start, end, step) { + if (step && typeof step != 'number' && isIterateeCall(start, end, step)) { + end = step = undefined; + } + // Ensure the sign of `-0` is preserved. + start = toFinite(start); + if (end === undefined) { + end = start; + start = 0; + } else { + end = toFinite(end); + } + step = step === undefined ? (start < end ? 1 : -1) : toFinite(step); + return baseRange(start, end, step, fromRight); + }; + } + + /** + * Creates a function that performs a relational operation on two values. + * + * @private + * @param {Function} operator The function to perform the operation. + * @returns {Function} Returns the new relational operation function. + */ + function createRelationalOperation(operator) { + return function(value, other) { + if (!(typeof value == 'string' && typeof other == 'string')) { + value = toNumber(value); + other = toNumber(other); + } + return operator(value, other); + }; + } + + /** + * Creates a function that wraps `func` to continue currying. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {Function} wrapFunc The function to create the `func` wrapper. + * @param {*} placeholder The placeholder value. + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to prepend to those provided to + * the new function. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) { + var isCurry = bitmask & WRAP_CURRY_FLAG, + newHolders = isCurry ? holders : undefined, + newHoldersRight = isCurry ? undefined : holders, + newPartials = isCurry ? partials : undefined, + newPartialsRight = isCurry ? undefined : partials; + + bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG); + bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG); + + if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) { + bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG); + } + var newData = [ + func, bitmask, thisArg, newPartials, newHolders, newPartialsRight, + newHoldersRight, argPos, ary, arity + ]; + + var result = wrapFunc.apply(undefined, newData); + if (isLaziable(func)) { + setData(result, newData); + } + result.placeholder = placeholder; + return setWrapToString(result, func, bitmask); + } + + /** + * Creates a function like `_.round`. + * + * @private + * @param {string} methodName The name of the `Math` method to use when rounding. + * @returns {Function} Returns the new round function. + */ + function createRound(methodName) { + var func = Math[methodName]; + return function(number, precision) { + number = toNumber(number); + precision = precision == null ? 0 : nativeMin(toInteger(precision), 292); + if (precision && nativeIsFinite(number)) { + // Shift with exponential notation to avoid floating-point issues. + // See [MDN](https://mdn.io/round#Examples) for more details. + var pair = (toString(number) + 'e').split('e'), + value = func(pair[0] + 'e' + (+pair[1] + precision)); + + pair = (toString(value) + 'e').split('e'); + return +(pair[0] + 'e' + (+pair[1] - precision)); + } + return func(number); + }; + } + + /** + * Creates a set object of `values`. + * + * @private + * @param {Array} values The values to add to the set. + * @returns {Object} Returns the new set. + */ + var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) { + return new Set(values); + }; + + /** + * Creates a `_.toPairs` or `_.toPairsIn` function. + * + * @private + * @param {Function} keysFunc The function to get the keys of a given object. + * @returns {Function} Returns the new pairs function. + */ + function createToPairs(keysFunc) { + return function(object) { + var tag = getTag(object); + if (tag == mapTag) { + return mapToArray(object); + } + if (tag == setTag) { + return setToPairs(object); + } + return baseToPairs(object, keysFunc(object)); + }; + } + + /** + * Creates a function that either curries or invokes `func` with optional + * `this` binding and partially applied arguments. + * + * @private + * @param {Function|string} func The function or method name to wrap. + * @param {number} bitmask The bitmask flags. + * 1 - `_.bind` + * 2 - `_.bindKey` + * 4 - `_.curry` or `_.curryRight` of a bound function + * 8 - `_.curry` + * 16 - `_.curryRight` + * 32 - `_.partial` + * 64 - `_.partialRight` + * 128 - `_.rearg` + * 256 - `_.ary` + * 512 - `_.flip` + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to be partially applied. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) { + var isBindKey = bitmask & WRAP_BIND_KEY_FLAG; + if (!isBindKey && typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + var length = partials ? partials.length : 0; + if (!length) { + bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG); + partials = holders = undefined; + } + ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0); + arity = arity === undefined ? arity : toInteger(arity); + length -= holders ? holders.length : 0; + + if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) { + var partialsRight = partials, + holdersRight = holders; + + partials = holders = undefined; + } + var data = isBindKey ? undefined : getData(func); + + var newData = [ + func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, + argPos, ary, arity + ]; + + if (data) { + mergeData(newData, data); + } + func = newData[0]; + bitmask = newData[1]; + thisArg = newData[2]; + partials = newData[3]; + holders = newData[4]; + arity = newData[9] = newData[9] === undefined + ? (isBindKey ? 0 : func.length) + : nativeMax(newData[9] - length, 0); + + if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) { + bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG); + } + if (!bitmask || bitmask == WRAP_BIND_FLAG) { + var result = createBind(func, bitmask, thisArg); + } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) { + result = createCurry(func, bitmask, arity); + } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) { + result = createPartial(func, bitmask, thisArg, partials); + } else { + result = createHybrid.apply(undefined, newData); + } + var setter = data ? baseSetData : setData; + return setWrapToString(setter(result, newData), func, bitmask); + } + + /** + * Used by `_.defaults` to customize its `_.assignIn` use to assign properties + * of source objects to the destination object for all destination properties + * that resolve to `undefined`. + * + * @private + * @param {*} objValue The destination value. + * @param {*} srcValue The source value. + * @param {string} key The key of the property to assign. + * @param {Object} object The parent object of `objValue`. + * @returns {*} Returns the value to assign. + */ + function customDefaultsAssignIn(objValue, srcValue, key, object) { + if (objValue === undefined || + (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) { + return srcValue; + } + return objValue; + } + + /** + * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source + * objects into destination objects that are passed thru. + * + * @private + * @param {*} objValue The destination value. + * @param {*} srcValue The source value. + * @param {string} key The key of the property to merge. + * @param {Object} object The parent object of `objValue`. + * @param {Object} source The parent object of `srcValue`. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + * @returns {*} Returns the value to assign. + */ + function customDefaultsMerge(objValue, srcValue, key, object, source, stack) { + if (isObject(objValue) && isObject(srcValue)) { + // Recursively merge objects and arrays (susceptible to call stack limits). + stack.set(srcValue, objValue); + baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack); + stack['delete'](srcValue); + } + return objValue; + } + + /** + * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain + * objects. + * + * @private + * @param {*} value The value to inspect. + * @param {string} key The key of the property to inspect. + * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`. + */ + function customOmitClone(value) { + return isPlainObject(value) ? undefined : value; + } + + /** + * A specialized version of `baseIsEqualDeep` for arrays with support for + * partial deep comparisons. + * + * @private + * @param {Array} array The array to compare. + * @param {Array} other The other array to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `array` and `other` objects. + * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. + */ + function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + arrLength = array.length, + othLength = other.length; + + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } + // Check that cyclic values are equal. + var arrStacked = stack.get(array); + var othStacked = stack.get(other); + if (arrStacked && othStacked) { + return arrStacked == other && othStacked == array; + } + var index = -1, + result = true, + seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined; + + stack.set(array, other); + stack.set(other, array); + + // Ignore non-index properties. + while (++index < arrLength) { + var arrValue = array[index], + othValue = other[index]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, arrValue, index, other, array, stack) + : customizer(arrValue, othValue, index, array, other, stack); + } + if (compared !== undefined) { + if (compared) { + continue; + } + result = false; + break; + } + // Recursively compare arrays (susceptible to call stack limits). + if (seen) { + if (!arraySome(other, function(othValue, othIndex) { + if (!cacheHas(seen, othIndex) && + (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + return seen.push(othIndex); + } + })) { + result = false; + break; + } + } else if (!( + arrValue === othValue || + equalFunc(arrValue, othValue, bitmask, customizer, stack) + )) { + result = false; + break; + } + } + stack['delete'](array); + stack['delete'](other); + return result; + } + + /** + * A specialized version of `baseIsEqualDeep` for comparing objects of + * the same `toStringTag`. + * + * **Note:** This function only supports comparing values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {string} tag The `toStringTag` of the objects to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { + switch (tag) { + case dataViewTag: + if ((object.byteLength != other.byteLength) || + (object.byteOffset != other.byteOffset)) { + return false; + } + object = object.buffer; + other = other.buffer; + + case arrayBufferTag: + if ((object.byteLength != other.byteLength) || + !equalFunc(new Uint8Array(object), new Uint8Array(other))) { + return false; + } + return true; + + case boolTag: + case dateTag: + case numberTag: + // Coerce booleans to `1` or `0` and dates to milliseconds. + // Invalid dates are coerced to `NaN`. + return eq(+object, +other); + + case errorTag: + return object.name == other.name && object.message == other.message; + + case regexpTag: + case stringTag: + // Coerce regexes to strings and treat strings, primitives and objects, + // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring + // for more details. + return object == (other + ''); + + case mapTag: + var convert = mapToArray; + + case setTag: + var isPartial = bitmask & COMPARE_PARTIAL_FLAG; + convert || (convert = setToArray); + + if (object.size != other.size && !isPartial) { + return false; + } + // Assume cyclic values are equal. + var stacked = stack.get(object); + if (stacked) { + return stacked == other; + } + bitmask |= COMPARE_UNORDERED_FLAG; + + // Recursively compare objects (susceptible to call stack limits). + stack.set(object, other); + var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); + stack['delete'](object); + return result; + + case symbolTag: + if (symbolValueOf) { + return symbolValueOf.call(object) == symbolValueOf.call(other); + } + } + return false; + } + + /** + * A specialized version of `baseIsEqualDeep` for objects with support for + * partial deep comparisons. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + objProps = getAllKeys(object), + objLength = objProps.length, + othProps = getAllKeys(other), + othLength = othProps.length; + + if (objLength != othLength && !isPartial) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { + return false; + } + } + // Check that cyclic values are equal. + var objStacked = stack.get(object); + var othStacked = stack.get(other); + if (objStacked && othStacked) { + return objStacked == other && othStacked == object; + } + var result = true; + stack.set(object, other); + stack.set(other, object); + + var skipCtor = isPartial; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], + othValue = other[key]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, objValue, key, other, object, stack) + : customizer(objValue, othValue, key, object, other, stack); + } + // Recursively compare objects (susceptible to call stack limits). + if (!(compared === undefined + ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) + : compared + )) { + result = false; + break; + } + skipCtor || (skipCtor = key == 'constructor'); + } + if (result && !skipCtor) { + var objCtor = object.constructor, + othCtor = other.constructor; + + // Non `Object` object instances with different constructors are not equal. + if (objCtor != othCtor && + ('constructor' in object && 'constructor' in other) && + !(typeof objCtor == 'function' && objCtor instanceof objCtor && + typeof othCtor == 'function' && othCtor instanceof othCtor)) { + result = false; + } + } + stack['delete'](object); + stack['delete'](other); + return result; + } + + /** + * A specialized version of `baseRest` which flattens the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ + function flatRest(func) { + return setToString(overRest(func, undefined, flatten), func + ''); + } + + /** + * Creates an array of own enumerable property names and symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ + function getAllKeys(object) { + return baseGetAllKeys(object, keys, getSymbols); + } + + /** + * Creates an array of own and inherited enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ + function getAllKeysIn(object) { + return baseGetAllKeys(object, keysIn, getSymbolsIn); + } + + /** + * Gets metadata for `func`. + * + * @private + * @param {Function} func The function to query. + * @returns {*} Returns the metadata for `func`. + */ + var getData = !metaMap ? noop : function(func) { + return metaMap.get(func); + }; + + /** + * Gets the name of `func`. + * + * @private + * @param {Function} func The function to query. + * @returns {string} Returns the function name. + */ + function getFuncName(func) { + var result = (func.name + ''), + array = realNames[result], + length = hasOwnProperty.call(realNames, result) ? array.length : 0; + + while (length--) { + var data = array[length], + otherFunc = data.func; + if (otherFunc == null || otherFunc == func) { + return data.name; + } + } + return result; + } + + /** + * Gets the argument placeholder value for `func`. + * + * @private + * @param {Function} func The function to inspect. + * @returns {*} Returns the placeholder value. + */ + function getHolder(func) { + var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func; + return object.placeholder; + } + + /** + * Gets the appropriate "iteratee" function. If `_.iteratee` is customized, + * this function returns the custom method, otherwise it returns `baseIteratee`. + * If arguments are provided, the chosen function is invoked with them and + * its result is returned. + * + * @private + * @param {*} [value] The value to convert to an iteratee. + * @param {number} [arity] The arity of the created iteratee. + * @returns {Function} Returns the chosen function or its result. + */ + function getIteratee() { + var result = lodash.iteratee || iteratee; + result = result === iteratee ? baseIteratee : result; + return arguments.length ? result(arguments[0], arguments[1]) : result; + } + + /** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ + function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; + } + + /** + * Gets the property names, values, and compare flags of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the match data of `object`. + */ + function getMatchData(object) { + var result = keys(object), + length = result.length; + + while (length--) { + var key = result[length], + value = object[key]; + + result[length] = [key, value, isStrictComparable(value)]; + } + return result; + } + + /** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ + function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; + } + + /** + * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the raw `toStringTag`. + */ + function getRawTag(value) { + var isOwn = hasOwnProperty.call(value, symToStringTag), + tag = value[symToStringTag]; + + try { + value[symToStringTag] = undefined; + var unmasked = true; + } catch (e) {} + + var result = nativeObjectToString.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag] = tag; + } else { + delete value[symToStringTag]; + } + } + return result; + } + + /** + * Creates an array of the own enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ + var getSymbols = !nativeGetSymbols ? stubArray : function(object) { + if (object == null) { + return []; + } + object = Object(object); + return arrayFilter(nativeGetSymbols(object), function(symbol) { + return propertyIsEnumerable.call(object, symbol); + }); + }; + + /** + * Creates an array of the own and inherited enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ + var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { + var result = []; + while (object) { + arrayPush(result, getSymbols(object)); + object = getPrototype(object); + } + return result; + }; + + /** + * Gets the `toStringTag` of `value`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ + var getTag = baseGetTag; + + // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. + if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || + (Map && getTag(new Map) != mapTag) || + (Promise && getTag(Promise.resolve()) != promiseTag) || + (Set && getTag(new Set) != setTag) || + (WeakMap && getTag(new WeakMap) != weakMapTag)) { + getTag = function(value) { + var result = baseGetTag(value), + Ctor = result == objectTag ? value.constructor : undefined, + ctorString = Ctor ? toSource(Ctor) : ''; + + if (ctorString) { + switch (ctorString) { + case dataViewCtorString: return dataViewTag; + case mapCtorString: return mapTag; + case promiseCtorString: return promiseTag; + case setCtorString: return setTag; + case weakMapCtorString: return weakMapTag; + } + } + return result; + }; + } + + /** + * Gets the view, applying any `transforms` to the `start` and `end` positions. + * + * @private + * @param {number} start The start of the view. + * @param {number} end The end of the view. + * @param {Array} transforms The transformations to apply to the view. + * @returns {Object} Returns an object containing the `start` and `end` + * positions of the view. + */ + function getView(start, end, transforms) { + var index = -1, + length = transforms.length; + + while (++index < length) { + var data = transforms[index], + size = data.size; + + switch (data.type) { + case 'drop': start += size; break; + case 'dropRight': end -= size; break; + case 'take': end = nativeMin(end, start + size); break; + case 'takeRight': start = nativeMax(start, end - size); break; + } + } + return { 'start': start, 'end': end }; + } + + /** + * Extracts wrapper details from the `source` body comment. + * + * @private + * @param {string} source The source to inspect. + * @returns {Array} Returns the wrapper details. + */ + function getWrapDetails(source) { + var match = source.match(reWrapDetails); + return match ? match[1].split(reSplitDetails) : []; + } + + /** + * Checks if `path` exists on `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @param {Function} hasFunc The function to check properties. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + */ + function hasPath(object, path, hasFunc) { + path = castPath(path, object); + + var index = -1, + length = path.length, + result = false; + + while (++index < length) { + var key = toKey(path[index]); + if (!(result = object != null && hasFunc(object, key))) { + break; + } + object = object[key]; + } + if (result || ++index != length) { + return result; + } + length = object == null ? 0 : object.length; + return !!length && isLength(length) && isIndex(key, length) && + (isArray(object) || isArguments(object)); + } + + /** + * Initializes an array clone. + * + * @private + * @param {Array} array The array to clone. + * @returns {Array} Returns the initialized clone. + */ + function initCloneArray(array) { + var length = array.length, + result = new array.constructor(length); + + // Add properties assigned by `RegExp#exec`. + if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { + result.index = array.index; + result.input = array.input; + } + return result; + } + + /** + * Initializes an object clone. + * + * @private + * @param {Object} object The object to clone. + * @returns {Object} Returns the initialized clone. + */ + function initCloneObject(object) { + return (typeof object.constructor == 'function' && !isPrototype(object)) + ? baseCreate(getPrototype(object)) + : {}; + } + + /** + * Initializes an object clone based on its `toStringTag`. + * + * **Note:** This function only supports cloning values with tags of + * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`. + * + * @private + * @param {Object} object The object to clone. + * @param {string} tag The `toStringTag` of the object to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the initialized clone. + */ + function initCloneByTag(object, tag, isDeep) { + var Ctor = object.constructor; + switch (tag) { + case arrayBufferTag: + return cloneArrayBuffer(object); + + case boolTag: + case dateTag: + return new Ctor(+object); + + case dataViewTag: + return cloneDataView(object, isDeep); + + case float32Tag: case float64Tag: + case int8Tag: case int16Tag: case int32Tag: + case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: + return cloneTypedArray(object, isDeep); + + case mapTag: + return new Ctor; + + case numberTag: + case stringTag: + return new Ctor(object); + + case regexpTag: + return cloneRegExp(object); + + case setTag: + return new Ctor; + + case symbolTag: + return cloneSymbol(object); + } + } + + /** + * Inserts wrapper `details` in a comment at the top of the `source` body. + * + * @private + * @param {string} source The source to modify. + * @returns {Array} details The details to insert. + * @returns {string} Returns the modified source. + */ + function insertWrapDetails(source, details) { + var length = details.length; + if (!length) { + return source; + } + var lastIndex = length - 1; + details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex]; + details = details.join(length > 2 ? ', ' : ' '); + return source.replace(reWrapComment, '{\n/* [wrapped with ' + details + '] */\n'); + } + + /** + * Checks if `value` is a flattenable `arguments` object or array. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. + */ + function isFlattenable(value) { + return isArray(value) || isArguments(value) || + !!(spreadableSymbol && value && value[spreadableSymbol]); + } + + /** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ + function isIndex(value, length) { + var type = typeof value; + length = length == null ? MAX_SAFE_INTEGER : length; + + return !!length && + (type == 'number' || + (type != 'symbol' && reIsUint.test(value))) && + (value > -1 && value % 1 == 0 && value < length); + } + + /** + * Checks if the given arguments are from an iteratee call. + * + * @private + * @param {*} value The potential iteratee value argument. + * @param {*} index The potential iteratee index or key argument. + * @param {*} object The potential iteratee object argument. + * @returns {boolean} Returns `true` if the arguments are from an iteratee call, + * else `false`. + */ + function isIterateeCall(value, index, object) { + if (!isObject(object)) { + return false; + } + var type = typeof index; + if (type == 'number' + ? (isArrayLike(object) && isIndex(index, object.length)) + : (type == 'string' && index in object) + ) { + return eq(object[index], value); + } + return false; + } + + /** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ + function isKey(value, object) { + if (isArray(value)) { + return false; + } + var type = typeof value; + if (type == 'number' || type == 'symbol' || type == 'boolean' || + value == null || isSymbol(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || + (object != null && value in Object(object)); + } + + /** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ + function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); + } + + /** + * Checks if `func` has a lazy counterpart. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` has a lazy counterpart, + * else `false`. + */ + function isLaziable(func) { + var funcName = getFuncName(func), + other = lodash[funcName]; + + if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) { + return false; + } + if (func === other) { + return true; + } + var data = getData(other); + return !!data && func === data[0]; + } + + /** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ + function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); + } + + /** + * Checks if `func` is capable of being masked. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `func` is maskable, else `false`. + */ + var isMaskable = coreJsData ? isFunction : stubFalse; + + /** + * Checks if `value` is likely a prototype object. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. + */ + function isPrototype(value) { + var Ctor = value && value.constructor, + proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; + + return value === proto; + } + + /** + * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` if suitable for strict + * equality comparisons, else `false`. + */ + function isStrictComparable(value) { + return value === value && !isObject(value); + } + + /** + * A specialized version of `matchesProperty` for source values suitable + * for strict equality comparisons, i.e. `===`. + * + * @private + * @param {string} key The key of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ + function matchesStrictComparable(key, srcValue) { + return function(object) { + if (object == null) { + return false; + } + return object[key] === srcValue && + (srcValue !== undefined || (key in Object(object))); + }; + } + + /** + * A specialized version of `_.memoize` which clears the memoized function's + * cache when it exceeds `MAX_MEMOIZE_SIZE`. + * + * @private + * @param {Function} func The function to have its output memoized. + * @returns {Function} Returns the new memoized function. + */ + function memoizeCapped(func) { + var result = memoize(func, function(key) { + if (cache.size === MAX_MEMOIZE_SIZE) { + cache.clear(); + } + return key; + }); + + var cache = result.cache; + return result; + } + + /** + * Merges the function metadata of `source` into `data`. + * + * Merging metadata reduces the number of wrappers used to invoke a function. + * This is possible because methods like `_.bind`, `_.curry`, and `_.partial` + * may be applied regardless of execution order. Methods like `_.ary` and + * `_.rearg` modify function arguments, making the order in which they are + * executed important, preventing the merging of metadata. However, we make + * an exception for a safe combined case where curried functions have `_.ary` + * and or `_.rearg` applied. + * + * @private + * @param {Array} data The destination metadata. + * @param {Array} source The source metadata. + * @returns {Array} Returns `data`. + */ + function mergeData(data, source) { + var bitmask = data[1], + srcBitmask = source[1], + newBitmask = bitmask | srcBitmask, + isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG); + + var isCombo = + ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) || + ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) || + ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG)); + + // Exit early if metadata can't be merged. + if (!(isCommon || isCombo)) { + return data; + } + // Use source `thisArg` if available. + if (srcBitmask & WRAP_BIND_FLAG) { + data[2] = source[2]; + // Set when currying a bound function. + newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG; + } + // Compose partial arguments. + var value = source[3]; + if (value) { + var partials = data[3]; + data[3] = partials ? composeArgs(partials, value, source[4]) : value; + data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4]; + } + // Compose partial right arguments. + value = source[5]; + if (value) { + partials = data[5]; + data[5] = partials ? composeArgsRight(partials, value, source[6]) : value; + data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6]; + } + // Use source `argPos` if available. + value = source[7]; + if (value) { + data[7] = value; + } + // Use source `ary` if it's smaller. + if (srcBitmask & WRAP_ARY_FLAG) { + data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]); + } + // Use source `arity` if one is not provided. + if (data[9] == null) { + data[9] = source[9]; + } + // Use source `func` and merge bitmasks. + data[0] = source[0]; + data[1] = newBitmask; + + return data; + } + + /** + * This function is like + * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * except that it includes inherited enumerable properties. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ + function nativeKeysIn(object) { + var result = []; + if (object != null) { + for (var key in Object(object)) { + result.push(key); + } + } + return result; + } + + /** + * Converts `value` to a string using `Object.prototype.toString`. + * + * @private + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + */ + function objectToString(value) { + return nativeObjectToString.call(value); + } + + /** + * A specialized version of `baseRest` which transforms the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @param {Function} transform The rest array transform. + * @returns {Function} Returns the new function. + */ + function overRest(func, start, transform) { + start = nativeMax(start === undefined ? (func.length - 1) : start, 0); + return function() { + var args = arguments, + index = -1, + length = nativeMax(args.length - start, 0), + array = Array(length); + + while (++index < length) { + array[index] = args[start + index]; + } + index = -1; + var otherArgs = Array(start + 1); + while (++index < start) { + otherArgs[index] = args[index]; + } + otherArgs[start] = transform(array); + return apply(func, this, otherArgs); + }; + } + + /** + * Gets the parent value at `path` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} path The path to get the parent value of. + * @returns {*} Returns the parent value. + */ + function parent(object, path) { + return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1)); + } + + /** + * Reorder `array` according to the specified indexes where the element at + * the first index is assigned as the first element, the element at + * the second index is assigned as the second element, and so on. + * + * @private + * @param {Array} array The array to reorder. + * @param {Array} indexes The arranged array indexes. + * @returns {Array} Returns `array`. + */ + function reorder(array, indexes) { + var arrLength = array.length, + length = nativeMin(indexes.length, arrLength), + oldArray = copyArray(array); + + while (length--) { + var index = indexes[length]; + array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined; + } + return array; + } + + /** + * Gets the value at `key`, unless `key` is "__proto__" or "constructor". + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ + function safeGet(object, key) { + if (key === 'constructor' && typeof object[key] === 'function') { + return; + } + + if (key == '__proto__') { + return; + } + + return object[key]; + } + + /** + * Sets metadata for `func`. + * + * **Note:** If this function becomes hot, i.e. is invoked a lot in a short + * period of time, it will trip its breaker and transition to an identity + * function to avoid garbage collection pauses in V8. See + * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070) + * for more details. + * + * @private + * @param {Function} func The function to associate metadata with. + * @param {*} data The metadata. + * @returns {Function} Returns `func`. + */ + var setData = shortOut(baseSetData); + + /** + * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout). + * + * @private + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @returns {number|Object} Returns the timer id or timeout object. + */ + var setTimeout = ctxSetTimeout || function(func, wait) { + return root.setTimeout(func, wait); + }; + + /** + * Sets the `toString` method of `func` to return `string`. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ + var setToString = shortOut(baseSetToString); + + /** + * Sets the `toString` method of `wrapper` to mimic the source of `reference` + * with wrapper details in a comment at the top of the source body. + * + * @private + * @param {Function} wrapper The function to modify. + * @param {Function} reference The reference function. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @returns {Function} Returns `wrapper`. + */ + function setWrapToString(wrapper, reference, bitmask) { + var source = (reference + ''); + return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask))); + } + + /** + * Creates a function that'll short out and invoke `identity` instead + * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` + * milliseconds. + * + * @private + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new shortable function. + */ + function shortOut(func) { + var count = 0, + lastCalled = 0; + + return function() { + var stamp = nativeNow(), + remaining = HOT_SPAN - (stamp - lastCalled); + + lastCalled = stamp; + if (remaining > 0) { + if (++count >= HOT_COUNT) { + return arguments[0]; + } + } else { + count = 0; + } + return func.apply(undefined, arguments); + }; + } + + /** + * A specialized version of `_.shuffle` which mutates and sets the size of `array`. + * + * @private + * @param {Array} array The array to shuffle. + * @param {number} [size=array.length] The size of `array`. + * @returns {Array} Returns `array`. + */ + function shuffleSelf(array, size) { + var index = -1, + length = array.length, + lastIndex = length - 1; + + size = size === undefined ? length : size; + while (++index < size) { + var rand = baseRandom(index, lastIndex), + value = array[rand]; + + array[rand] = array[index]; + array[index] = value; + } + array.length = size; + return array; + } + + /** + * Converts `string` to a property path array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. + */ + var stringToPath = memoizeCapped(function(string) { + var result = []; + if (string.charCodeAt(0) === 46 /* . */) { + result.push(''); + } + string.replace(rePropName, function(match, number, quote, subString) { + result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match)); + }); + return result; + }); + + /** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ + function toKey(value) { + if (typeof value == 'string' || isSymbol(value)) { + return value; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; + } + + /** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to convert. + * @returns {string} Returns the source code. + */ + function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; + } + + /** + * Updates wrapper `details` based on `bitmask` flags. + * + * @private + * @returns {Array} details The details to modify. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @returns {Array} Returns `details`. + */ + function updateWrapDetails(details, bitmask) { + arrayEach(wrapFlags, function(pair) { + var value = '_.' + pair[0]; + if ((bitmask & pair[1]) && !arrayIncludes(details, value)) { + details.push(value); + } + }); + return details.sort(); + } + + /** + * Creates a clone of `wrapper`. + * + * @private + * @param {Object} wrapper The wrapper to clone. + * @returns {Object} Returns the cloned wrapper. + */ + function wrapperClone(wrapper) { + if (wrapper instanceof LazyWrapper) { + return wrapper.clone(); + } + var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__); + result.__actions__ = copyArray(wrapper.__actions__); + result.__index__ = wrapper.__index__; + result.__values__ = wrapper.__values__; + return result; + } + + /*------------------------------------------------------------------------*/ + + /** + * Creates an array of elements split into groups the length of `size`. + * If `array` can't be split evenly, the final chunk will be the remaining + * elements. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to process. + * @param {number} [size=1] The length of each chunk + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the new array of chunks. + * @example + * + * _.chunk(['a', 'b', 'c', 'd'], 2); + * // => [['a', 'b'], ['c', 'd']] + * + * _.chunk(['a', 'b', 'c', 'd'], 3); + * // => [['a', 'b', 'c'], ['d']] + */ + function chunk(array, size, guard) { + if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) { + size = 1; + } else { + size = nativeMax(toInteger(size), 0); + } + var length = array == null ? 0 : array.length; + if (!length || size < 1) { + return []; + } + var index = 0, + resIndex = 0, + result = Array(nativeCeil(length / size)); + + while (index < length) { + result[resIndex++] = baseSlice(array, index, (index += size)); + } + return result; + } + + /** + * Creates an array with all falsey values removed. The values `false`, `null`, + * `0`, `-0`, `0n`, `""`, `undefined`, and `NaN` are falsy. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to compact. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.compact([0, 1, false, 2, '', 3]); + * // => [1, 2, 3] + */ + function compact(array) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (value) { + result[resIndex++] = value; + } + } + return result; + } + + /** + * Creates a new array concatenating `array` with any additional arrays + * and/or values. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to concatenate. + * @param {...*} [values] The values to concatenate. + * @returns {Array} Returns the new concatenated array. + * @example + * + * var array = [1]; + * var other = _.concat(array, 2, [3], [[4]]); + * + * console.log(other); + * // => [1, 2, 3, [4]] + * + * console.log(array); + * // => [1] + */ + function concat() { + var length = arguments.length; + if (!length) { + return []; + } + var args = Array(length - 1), + array = arguments[0], + index = length; + + while (index--) { + args[index - 1] = arguments[index]; + } + return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1)); + } + + /** + * Creates an array of `array` values not included in the other given arrays + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. The order and references of result values are + * determined by the first array. + * + * **Note:** Unlike `_.pullAll`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @returns {Array} Returns the new array of filtered values. + * @see _.without, _.xor + * @example + * + * _.difference([2, 1], [2, 3]); + * // => [1] + */ + var difference = baseRest(function(array, values) { + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) + : []; + }); + + /** + * This method is like `_.difference` except that it accepts `iteratee` which + * is invoked for each element of `array` and `values` to generate the criterion + * by which they're compared. The order and references of result values are + * determined by the first array. The iteratee is invoked with one argument: + * (value). + * + * **Note:** Unlike `_.pullAllBy`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [1.2] + * + * // The `_.property` iteratee shorthand. + * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x'); + * // => [{ 'x': 2 }] + */ + var differenceBy = baseRest(function(array, values) { + var iteratee = last(values); + if (isArrayLikeObject(iteratee)) { + iteratee = undefined; + } + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2)) + : []; + }); + + /** + * This method is like `_.difference` except that it accepts `comparator` + * which is invoked to compare elements of `array` to `values`. The order and + * references of result values are determined by the first array. The comparator + * is invoked with two arguments: (arrVal, othVal). + * + * **Note:** Unlike `_.pullAllWith`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * + * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual); + * // => [{ 'x': 2, 'y': 1 }] + */ + var differenceWith = baseRest(function(array, values) { + var comparator = last(values); + if (isArrayLikeObject(comparator)) { + comparator = undefined; + } + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator) + : []; + }); + + /** + * Creates a slice of `array` with `n` elements dropped from the beginning. + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to drop. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.drop([1, 2, 3]); + * // => [2, 3] + * + * _.drop([1, 2, 3], 2); + * // => [3] + * + * _.drop([1, 2, 3], 5); + * // => [] + * + * _.drop([1, 2, 3], 0); + * // => [1, 2, 3] + */ + function drop(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + return baseSlice(array, n < 0 ? 0 : n, length); + } + + /** + * Creates a slice of `array` with `n` elements dropped from the end. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to drop. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.dropRight([1, 2, 3]); + * // => [1, 2] + * + * _.dropRight([1, 2, 3], 2); + * // => [1] + * + * _.dropRight([1, 2, 3], 5); + * // => [] + * + * _.dropRight([1, 2, 3], 0); + * // => [1, 2, 3] + */ + function dropRight(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + n = length - n; + return baseSlice(array, 0, n < 0 ? 0 : n); + } + + /** + * Creates a slice of `array` excluding elements dropped from the end. + * Elements are dropped until `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.dropRightWhile(users, function(o) { return !o.active; }); + * // => objects for ['barney'] + * + * // The `_.matches` iteratee shorthand. + * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false }); + * // => objects for ['barney', 'fred'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.dropRightWhile(users, ['active', false]); + * // => objects for ['barney'] + * + * // The `_.property` iteratee shorthand. + * _.dropRightWhile(users, 'active'); + * // => objects for ['barney', 'fred', 'pebbles'] + */ + function dropRightWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3), true, true) + : []; + } + + /** + * Creates a slice of `array` excluding elements dropped from the beginning. + * Elements are dropped until `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.dropWhile(users, function(o) { return !o.active; }); + * // => objects for ['pebbles'] + * + * // The `_.matches` iteratee shorthand. + * _.dropWhile(users, { 'user': 'barney', 'active': false }); + * // => objects for ['fred', 'pebbles'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.dropWhile(users, ['active', false]); + * // => objects for ['pebbles'] + * + * // The `_.property` iteratee shorthand. + * _.dropWhile(users, 'active'); + * // => objects for ['barney', 'fred', 'pebbles'] + */ + function dropWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3), true) + : []; + } + + /** + * Fills elements of `array` with `value` from `start` up to, but not + * including, `end`. + * + * **Note:** This method mutates `array`. + * + * @static + * @memberOf _ + * @since 3.2.0 + * @category Array + * @param {Array} array The array to fill. + * @param {*} value The value to fill `array` with. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns `array`. + * @example + * + * var array = [1, 2, 3]; + * + * _.fill(array, 'a'); + * console.log(array); + * // => ['a', 'a', 'a'] + * + * _.fill(Array(3), 2); + * // => [2, 2, 2] + * + * _.fill([4, 6, 8, 10], '*', 1, 3); + * // => [4, '*', '*', 10] + */ + function fill(array, value, start, end) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + if (start && typeof start != 'number' && isIterateeCall(array, value, start)) { + start = 0; + end = length; + } + return baseFill(array, value, start, end); + } + + /** + * This method is like `_.find` except that it returns the index of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.findIndex(users, function(o) { return o.user == 'barney'; }); + * // => 0 + * + * // The `_.matches` iteratee shorthand. + * _.findIndex(users, { 'user': 'fred', 'active': false }); + * // => 1 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findIndex(users, ['active', false]); + * // => 0 + * + * // The `_.property` iteratee shorthand. + * _.findIndex(users, 'active'); + * // => 2 + */ + function findIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseFindIndex(array, getIteratee(predicate, 3), index); + } + + /** + * This method is like `_.findIndex` except that it iterates over elements + * of `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=array.length-1] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; }); + * // => 2 + * + * // The `_.matches` iteratee shorthand. + * _.findLastIndex(users, { 'user': 'barney', 'active': true }); + * // => 0 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findLastIndex(users, ['active', false]); + * // => 2 + * + * // The `_.property` iteratee shorthand. + * _.findLastIndex(users, 'active'); + * // => 0 + */ + function findLastIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = length - 1; + if (fromIndex !== undefined) { + index = toInteger(fromIndex); + index = fromIndex < 0 + ? nativeMax(length + index, 0) + : nativeMin(index, length - 1); + } + return baseFindIndex(array, getIteratee(predicate, 3), index, true); + } + + /** + * Flattens `array` a single level deep. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flatten([1, [2, [3, [4]], 5]]); + * // => [1, 2, [3, [4]], 5] + */ + function flatten(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, 1) : []; + } + + /** + * Recursively flattens `array`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flattenDeep([1, [2, [3, [4]], 5]]); + * // => [1, 2, 3, 4, 5] + */ + function flattenDeep(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, INFINITY) : []; + } + + /** + * Recursively flatten `array` up to `depth` times. + * + * @static + * @memberOf _ + * @since 4.4.0 + * @category Array + * @param {Array} array The array to flatten. + * @param {number} [depth=1] The maximum recursion depth. + * @returns {Array} Returns the new flattened array. + * @example + * + * var array = [1, [2, [3, [4]], 5]]; + * + * _.flattenDepth(array, 1); + * // => [1, 2, [3, [4]], 5] + * + * _.flattenDepth(array, 2); + * // => [1, 2, 3, [4], 5] + */ + function flattenDepth(array, depth) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + depth = depth === undefined ? 1 : toInteger(depth); + return baseFlatten(array, depth); + } + + /** + * The inverse of `_.toPairs`; this method returns an object composed + * from key-value `pairs`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} pairs The key-value pairs. + * @returns {Object} Returns the new object. + * @example + * + * _.fromPairs([['a', 1], ['b', 2]]); + * // => { 'a': 1, 'b': 2 } + */ + function fromPairs(pairs) { + var index = -1, + length = pairs == null ? 0 : pairs.length, + result = {}; + + while (++index < length) { + var pair = pairs[index]; + baseAssignValue(result, pair[0], pair[1]); + } + return result; + } + + /** + * Gets the first element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @alias first + * @category Array + * @param {Array} array The array to query. + * @returns {*} Returns the first element of `array`. + * @example + * + * _.head([1, 2, 3]); + * // => 1 + * + * _.head([]); + * // => undefined + */ + function head(array) { + return (array && array.length) ? array[0] : undefined; + } + + /** + * Gets the index at which the first occurrence of `value` is found in `array` + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. If `fromIndex` is negative, it's used as the + * offset from the end of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.indexOf([1, 2, 1, 2], 2); + * // => 1 + * + * // Search from the `fromIndex`. + * _.indexOf([1, 2, 1, 2], 2, 2); + * // => 3 + */ + function indexOf(array, value, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseIndexOf(array, value, index); + } + + /** + * Gets all but the last element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.initial([1, 2, 3]); + * // => [1, 2] + */ + function initial(array) { + var length = array == null ? 0 : array.length; + return length ? baseSlice(array, 0, -1) : []; + } + + /** + * Creates an array of unique values that are included in all given arrays + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. The order and references of result values are + * determined by the first array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * _.intersection([2, 1], [2, 3]); + * // => [2] + */ + var intersection = baseRest(function(arrays) { + var mapped = arrayMap(arrays, castArrayLikeObject); + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped) + : []; + }); + + /** + * This method is like `_.intersection` except that it accepts `iteratee` + * which is invoked for each element of each `arrays` to generate the criterion + * by which they're compared. The order and references of result values are + * determined by the first array. The iteratee is invoked with one argument: + * (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [2.1] + * + * // The `_.property` iteratee shorthand. + * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }] + */ + var intersectionBy = baseRest(function(arrays) { + var iteratee = last(arrays), + mapped = arrayMap(arrays, castArrayLikeObject); + + if (iteratee === last(mapped)) { + iteratee = undefined; + } else { + mapped.pop(); + } + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped, getIteratee(iteratee, 2)) + : []; + }); + + /** + * This method is like `_.intersection` except that it accepts `comparator` + * which is invoked to compare elements of `arrays`. The order and references + * of result values are determined by the first array. The comparator is + * invoked with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.intersectionWith(objects, others, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }] + */ + var intersectionWith = baseRest(function(arrays) { + var comparator = last(arrays), + mapped = arrayMap(arrays, castArrayLikeObject); + + comparator = typeof comparator == 'function' ? comparator : undefined; + if (comparator) { + mapped.pop(); + } + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped, undefined, comparator) + : []; + }); + + /** + * Converts all elements in `array` into a string separated by `separator`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to convert. + * @param {string} [separator=','] The element separator. + * @returns {string} Returns the joined string. + * @example + * + * _.join(['a', 'b', 'c'], '~'); + * // => 'a~b~c' + */ + function join(array, separator) { + return array == null ? '' : nativeJoin.call(array, separator); + } + + /** + * Gets the last element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @returns {*} Returns the last element of `array`. + * @example + * + * _.last([1, 2, 3]); + * // => 3 + */ + function last(array) { + var length = array == null ? 0 : array.length; + return length ? array[length - 1] : undefined; + } + + /** + * This method is like `_.indexOf` except that it iterates over elements of + * `array` from right to left. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=array.length-1] The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.lastIndexOf([1, 2, 1, 2], 2); + * // => 3 + * + * // Search from the `fromIndex`. + * _.lastIndexOf([1, 2, 1, 2], 2, 2); + * // => 1 + */ + function lastIndexOf(array, value, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = length; + if (fromIndex !== undefined) { + index = toInteger(fromIndex); + index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1); + } + return value === value + ? strictLastIndexOf(array, value, index) + : baseFindIndex(array, baseIsNaN, index, true); + } + + /** + * Gets the element at index `n` of `array`. If `n` is negative, the nth + * element from the end is returned. + * + * @static + * @memberOf _ + * @since 4.11.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=0] The index of the element to return. + * @returns {*} Returns the nth element of `array`. + * @example + * + * var array = ['a', 'b', 'c', 'd']; + * + * _.nth(array, 1); + * // => 'b' + * + * _.nth(array, -2); + * // => 'c'; + */ + function nth(array, n) { + return (array && array.length) ? baseNth(array, toInteger(n)) : undefined; + } + + /** + * Removes all given values from `array` using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove` + * to remove elements from an array by predicate. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {...*} [values] The values to remove. + * @returns {Array} Returns `array`. + * @example + * + * var array = ['a', 'b', 'c', 'a', 'b', 'c']; + * + * _.pull(array, 'a', 'c'); + * console.log(array); + * // => ['b', 'b'] + */ + var pull = baseRest(pullAll); + + /** + * This method is like `_.pull` except that it accepts an array of values to remove. + * + * **Note:** Unlike `_.difference`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @returns {Array} Returns `array`. + * @example + * + * var array = ['a', 'b', 'c', 'a', 'b', 'c']; + * + * _.pullAll(array, ['a', 'c']); + * console.log(array); + * // => ['b', 'b'] + */ + function pullAll(array, values) { + return (array && array.length && values && values.length) + ? basePullAll(array, values) + : array; + } + + /** + * This method is like `_.pullAll` except that it accepts `iteratee` which is + * invoked for each element of `array` and `values` to generate the criterion + * by which they're compared. The iteratee is invoked with one argument: (value). + * + * **Note:** Unlike `_.differenceBy`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns `array`. + * @example + * + * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }]; + * + * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x'); + * console.log(array); + * // => [{ 'x': 2 }] + */ + function pullAllBy(array, values, iteratee) { + return (array && array.length && values && values.length) + ? basePullAll(array, values, getIteratee(iteratee, 2)) + : array; + } + + /** + * This method is like `_.pullAll` except that it accepts `comparator` which + * is invoked to compare elements of `array` to `values`. The comparator is + * invoked with two arguments: (arrVal, othVal). + * + * **Note:** Unlike `_.differenceWith`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 4.6.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns `array`. + * @example + * + * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }]; + * + * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual); + * console.log(array); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }] + */ + function pullAllWith(array, values, comparator) { + return (array && array.length && values && values.length) + ? basePullAll(array, values, undefined, comparator) + : array; + } + + /** + * Removes elements from `array` corresponding to `indexes` and returns an + * array of removed elements. + * + * **Note:** Unlike `_.at`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {...(number|number[])} [indexes] The indexes of elements to remove. + * @returns {Array} Returns the new array of removed elements. + * @example + * + * var array = ['a', 'b', 'c', 'd']; + * var pulled = _.pullAt(array, [1, 3]); + * + * console.log(array); + * // => ['a', 'c'] + * + * console.log(pulled); + * // => ['b', 'd'] + */ + var pullAt = flatRest(function(array, indexes) { + var length = array == null ? 0 : array.length, + result = baseAt(array, indexes); + + basePullAt(array, arrayMap(indexes, function(index) { + return isIndex(index, length) ? +index : index; + }).sort(compareAscending)); + + return result; + }); + + /** + * Removes all elements from `array` that `predicate` returns truthy for + * and returns an array of the removed elements. The predicate is invoked + * with three arguments: (value, index, array). + * + * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull` + * to pull elements from an array by value. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new array of removed elements. + * @example + * + * var array = [1, 2, 3, 4]; + * var evens = _.remove(array, function(n) { + * return n % 2 == 0; + * }); + * + * console.log(array); + * // => [1, 3] + * + * console.log(evens); + * // => [2, 4] + */ + function remove(array, predicate) { + var result = []; + if (!(array && array.length)) { + return result; + } + var index = -1, + indexes = [], + length = array.length; + + predicate = getIteratee(predicate, 3); + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result.push(value); + indexes.push(index); + } + } + basePullAt(array, indexes); + return result; + } + + /** + * Reverses `array` so that the first element becomes the last, the second + * element becomes the second to last, and so on. + * + * **Note:** This method mutates `array` and is based on + * [`Array#reverse`](https://mdn.io/Array/reverse). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to modify. + * @returns {Array} Returns `array`. + * @example + * + * var array = [1, 2, 3]; + * + * _.reverse(array); + * // => [3, 2, 1] + * + * console.log(array); + * // => [3, 2, 1] + */ + function reverse(array) { + return array == null ? array : nativeReverse.call(array); + } + + /** + * Creates a slice of `array` from `start` up to, but not including, `end`. + * + * **Note:** This method is used instead of + * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are + * returned. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ + function slice(array, start, end) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + if (end && typeof end != 'number' && isIterateeCall(array, start, end)) { + start = 0; + end = length; + } + else { + start = start == null ? 0 : toInteger(start); + end = end === undefined ? length : toInteger(end); + } + return baseSlice(array, start, end); + } + + /** + * Uses a binary search to determine the lowest index at which `value` + * should be inserted into `array` in order to maintain its sort order. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * _.sortedIndex([30, 50], 40); + * // => 1 + */ + function sortedIndex(array, value) { + return baseSortedIndex(array, value); + } + + /** + * This method is like `_.sortedIndex` except that it accepts `iteratee` + * which is invoked for `value` and each element of `array` to compute their + * sort ranking. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * var objects = [{ 'x': 4 }, { 'x': 5 }]; + * + * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; }); + * // => 0 + * + * // The `_.property` iteratee shorthand. + * _.sortedIndexBy(objects, { 'x': 4 }, 'x'); + * // => 0 + */ + function sortedIndexBy(array, value, iteratee) { + return baseSortedIndexBy(array, value, getIteratee(iteratee, 2)); + } + + /** + * This method is like `_.indexOf` except that it performs a binary + * search on a sorted `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.sortedIndexOf([4, 5, 5, 5, 6], 5); + * // => 1 + */ + function sortedIndexOf(array, value) { + var length = array == null ? 0 : array.length; + if (length) { + var index = baseSortedIndex(array, value); + if (index < length && eq(array[index], value)) { + return index; + } + } + return -1; + } + + /** + * This method is like `_.sortedIndex` except that it returns the highest + * index at which `value` should be inserted into `array` in order to + * maintain its sort order. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * _.sortedLastIndex([4, 5, 5, 5, 6], 5); + * // => 4 + */ + function sortedLastIndex(array, value) { + return baseSortedIndex(array, value, true); + } + + /** + * This method is like `_.sortedLastIndex` except that it accepts `iteratee` + * which is invoked for `value` and each element of `array` to compute their + * sort ranking. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * var objects = [{ 'x': 4 }, { 'x': 5 }]; + * + * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; }); + * // => 1 + * + * // The `_.property` iteratee shorthand. + * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x'); + * // => 1 + */ + function sortedLastIndexBy(array, value, iteratee) { + return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true); + } + + /** + * This method is like `_.lastIndexOf` except that it performs a binary + * search on a sorted `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5); + * // => 3 + */ + function sortedLastIndexOf(array, value) { + var length = array == null ? 0 : array.length; + if (length) { + var index = baseSortedIndex(array, value, true) - 1; + if (eq(array[index], value)) { + return index; + } + } + return -1; + } + + /** + * This method is like `_.uniq` except that it's designed and optimized + * for sorted arrays. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.sortedUniq([1, 1, 2]); + * // => [1, 2] + */ + function sortedUniq(array) { + return (array && array.length) + ? baseSortedUniq(array) + : []; + } + + /** + * This method is like `_.uniqBy` except that it's designed and optimized + * for sorted arrays. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor); + * // => [1.1, 2.3] + */ + function sortedUniqBy(array, iteratee) { + return (array && array.length) + ? baseSortedUniq(array, getIteratee(iteratee, 2)) + : []; + } + + /** + * Gets all but the first element of `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to query. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.tail([1, 2, 3]); + * // => [2, 3] + */ + function tail(array) { + var length = array == null ? 0 : array.length; + return length ? baseSlice(array, 1, length) : []; + } + + /** + * Creates a slice of `array` with `n` elements taken from the beginning. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to take. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.take([1, 2, 3]); + * // => [1] + * + * _.take([1, 2, 3], 2); + * // => [1, 2] + * + * _.take([1, 2, 3], 5); + * // => [1, 2, 3] + * + * _.take([1, 2, 3], 0); + * // => [] + */ + function take(array, n, guard) { + if (!(array && array.length)) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + return baseSlice(array, 0, n < 0 ? 0 : n); + } + + /** + * Creates a slice of `array` with `n` elements taken from the end. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to take. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.takeRight([1, 2, 3]); + * // => [3] + * + * _.takeRight([1, 2, 3], 2); + * // => [2, 3] + * + * _.takeRight([1, 2, 3], 5); + * // => [1, 2, 3] + * + * _.takeRight([1, 2, 3], 0); + * // => [] + */ + function takeRight(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + n = length - n; + return baseSlice(array, n < 0 ? 0 : n, length); + } + + /** + * Creates a slice of `array` with elements taken from the end. Elements are + * taken until `predicate` returns falsey. The predicate is invoked with + * three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.takeRightWhile(users, function(o) { return !o.active; }); + * // => objects for ['fred', 'pebbles'] + * + * // The `_.matches` iteratee shorthand. + * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false }); + * // => objects for ['pebbles'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.takeRightWhile(users, ['active', false]); + * // => objects for ['fred', 'pebbles'] + * + * // The `_.property` iteratee shorthand. + * _.takeRightWhile(users, 'active'); + * // => [] + */ + function takeRightWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3), false, true) + : []; + } + + /** + * Creates a slice of `array` with elements taken from the beginning. Elements + * are taken until `predicate` returns falsey. The predicate is invoked with + * three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.takeWhile(users, function(o) { return !o.active; }); + * // => objects for ['barney', 'fred'] + * + * // The `_.matches` iteratee shorthand. + * _.takeWhile(users, { 'user': 'barney', 'active': false }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.takeWhile(users, ['active', false]); + * // => objects for ['barney', 'fred'] + * + * // The `_.property` iteratee shorthand. + * _.takeWhile(users, 'active'); + * // => [] + */ + function takeWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3)) + : []; + } + + /** + * Creates an array of unique values, in order, from all given arrays using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of combined values. + * @example + * + * _.union([2], [1, 2]); + * // => [2, 1] + */ + var union = baseRest(function(arrays) { + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true)); + }); + + /** + * This method is like `_.union` except that it accepts `iteratee` which is + * invoked for each element of each `arrays` to generate the criterion by + * which uniqueness is computed. Result values are chosen from the first + * array in which the value occurs. The iteratee is invoked with one argument: + * (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of combined values. + * @example + * + * _.unionBy([2.1], [1.2, 2.3], Math.floor); + * // => [2.1, 1.2] + * + * // The `_.property` iteratee shorthand. + * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }, { 'x': 2 }] + */ + var unionBy = baseRest(function(arrays) { + var iteratee = last(arrays); + if (isArrayLikeObject(iteratee)) { + iteratee = undefined; + } + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2)); + }); + + /** + * This method is like `_.union` except that it accepts `comparator` which + * is invoked to compare elements of `arrays`. Result values are chosen from + * the first array in which the value occurs. The comparator is invoked + * with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of combined values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.unionWith(objects, others, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] + */ + var unionWith = baseRest(function(arrays) { + var comparator = last(arrays); + comparator = typeof comparator == 'function' ? comparator : undefined; + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator); + }); + + /** + * Creates a duplicate-free version of an array, using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons, in which only the first occurrence of each element + * is kept. The order of result values is determined by the order they occur + * in the array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.uniq([2, 1, 2]); + * // => [2, 1] + */ + function uniq(array) { + return (array && array.length) ? baseUniq(array) : []; + } + + /** + * This method is like `_.uniq` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the criterion by which + * uniqueness is computed. The order of result values is determined by the + * order they occur in the array. The iteratee is invoked with one argument: + * (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.uniqBy([2.1, 1.2, 2.3], Math.floor); + * // => [2.1, 1.2] + * + * // The `_.property` iteratee shorthand. + * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }, { 'x': 2 }] + */ + function uniqBy(array, iteratee) { + return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : []; + } + + /** + * This method is like `_.uniq` except that it accepts `comparator` which + * is invoked to compare elements of `array`. The order of result values is + * determined by the order they occur in the array.The comparator is invoked + * with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.uniqWith(objects, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }] + */ + function uniqWith(array, comparator) { + comparator = typeof comparator == 'function' ? comparator : undefined; + return (array && array.length) ? baseUniq(array, undefined, comparator) : []; + } + + /** + * This method is like `_.zip` except that it accepts an array of grouped + * elements and creates an array regrouping the elements to their pre-zip + * configuration. + * + * @static + * @memberOf _ + * @since 1.2.0 + * @category Array + * @param {Array} array The array of grouped elements to process. + * @returns {Array} Returns the new array of regrouped elements. + * @example + * + * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]); + * // => [['a', 1, true], ['b', 2, false]] + * + * _.unzip(zipped); + * // => [['a', 'b'], [1, 2], [true, false]] + */ + function unzip(array) { + if (!(array && array.length)) { + return []; + } + var length = 0; + array = arrayFilter(array, function(group) { + if (isArrayLikeObject(group)) { + length = nativeMax(group.length, length); + return true; + } + }); + return baseTimes(length, function(index) { + return arrayMap(array, baseProperty(index)); + }); + } + + /** + * This method is like `_.unzip` except that it accepts `iteratee` to specify + * how regrouped values should be combined. The iteratee is invoked with the + * elements of each group: (...group). + * + * @static + * @memberOf _ + * @since 3.8.0 + * @category Array + * @param {Array} array The array of grouped elements to process. + * @param {Function} [iteratee=_.identity] The function to combine + * regrouped values. + * @returns {Array} Returns the new array of regrouped elements. + * @example + * + * var zipped = _.zip([1, 2], [10, 20], [100, 200]); + * // => [[1, 10, 100], [2, 20, 200]] + * + * _.unzipWith(zipped, _.add); + * // => [3, 30, 300] + */ + function unzipWith(array, iteratee) { + if (!(array && array.length)) { + return []; + } + var result = unzip(array); + if (iteratee == null) { + return result; + } + return arrayMap(result, function(group) { + return apply(iteratee, undefined, group); + }); + } + + /** + * Creates an array excluding all given values using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * **Note:** Unlike `_.pull`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...*} [values] The values to exclude. + * @returns {Array} Returns the new array of filtered values. + * @see _.difference, _.xor + * @example + * + * _.without([2, 1, 2, 3], 1, 2); + * // => [3] + */ + var without = baseRest(function(array, values) { + return isArrayLikeObject(array) + ? baseDifference(array, values) + : []; + }); + + /** + * Creates an array of unique values that is the + * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference) + * of the given arrays. The order of result values is determined by the order + * they occur in the arrays. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of filtered values. + * @see _.difference, _.without + * @example + * + * _.xor([2, 1], [2, 3]); + * // => [1, 3] + */ + var xor = baseRest(function(arrays) { + return baseXor(arrayFilter(arrays, isArrayLikeObject)); + }); + + /** + * This method is like `_.xor` except that it accepts `iteratee` which is + * invoked for each element of each `arrays` to generate the criterion by + * which by which they're compared. The order of result values is determined + * by the order they occur in the arrays. The iteratee is invoked with one + * argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [1.2, 3.4] + * + * // The `_.property` iteratee shorthand. + * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 2 }] + */ + var xorBy = baseRest(function(arrays) { + var iteratee = last(arrays); + if (isArrayLikeObject(iteratee)) { + iteratee = undefined; + } + return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2)); + }); + + /** + * This method is like `_.xor` except that it accepts `comparator` which is + * invoked to compare elements of `arrays`. The order of result values is + * determined by the order they occur in the arrays. The comparator is invoked + * with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.xorWith(objects, others, _.isEqual); + * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] + */ + var xorWith = baseRest(function(arrays) { + var comparator = last(arrays); + comparator = typeof comparator == 'function' ? comparator : undefined; + return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator); + }); + + /** + * Creates an array of grouped elements, the first of which contains the + * first elements of the given arrays, the second of which contains the + * second elements of the given arrays, and so on. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to process. + * @returns {Array} Returns the new array of grouped elements. + * @example + * + * _.zip(['a', 'b'], [1, 2], [true, false]); + * // => [['a', 1, true], ['b', 2, false]] + */ + var zip = baseRest(unzip); + + /** + * This method is like `_.fromPairs` except that it accepts two arrays, + * one of property identifiers and one of corresponding values. + * + * @static + * @memberOf _ + * @since 0.4.0 + * @category Array + * @param {Array} [props=[]] The property identifiers. + * @param {Array} [values=[]] The property values. + * @returns {Object} Returns the new object. + * @example + * + * _.zipObject(['a', 'b'], [1, 2]); + * // => { 'a': 1, 'b': 2 } + */ + function zipObject(props, values) { + return baseZipObject(props || [], values || [], assignValue); + } + + /** + * This method is like `_.zipObject` except that it supports property paths. + * + * @static + * @memberOf _ + * @since 4.1.0 + * @category Array + * @param {Array} [props=[]] The property identifiers. + * @param {Array} [values=[]] The property values. + * @returns {Object} Returns the new object. + * @example + * + * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]); + * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } } + */ + function zipObjectDeep(props, values) { + return baseZipObject(props || [], values || [], baseSet); + } + + /** + * This method is like `_.zip` except that it accepts `iteratee` to specify + * how grouped values should be combined. The iteratee is invoked with the + * elements of each group: (...group). + * + * @static + * @memberOf _ + * @since 3.8.0 + * @category Array + * @param {...Array} [arrays] The arrays to process. + * @param {Function} [iteratee=_.identity] The function to combine + * grouped values. + * @returns {Array} Returns the new array of grouped elements. + * @example + * + * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) { + * return a + b + c; + * }); + * // => [111, 222] + */ + var zipWith = baseRest(function(arrays) { + var length = arrays.length, + iteratee = length > 1 ? arrays[length - 1] : undefined; + + iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined; + return unzipWith(arrays, iteratee); + }); + + /*------------------------------------------------------------------------*/ + + /** + * Creates a `lodash` wrapper instance that wraps `value` with explicit method + * chain sequences enabled. The result of such sequences must be unwrapped + * with `_#value`. + * + * @static + * @memberOf _ + * @since 1.3.0 + * @category Seq + * @param {*} value The value to wrap. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 40 }, + * { 'user': 'pebbles', 'age': 1 } + * ]; + * + * var youngest = _ + * .chain(users) + * .sortBy('age') + * .map(function(o) { + * return o.user + ' is ' + o.age; + * }) + * .head() + * .value(); + * // => 'pebbles is 1' + */ + function chain(value) { + var result = lodash(value); + result.__chain__ = true; + return result; + } + + /** + * This method invokes `interceptor` and returns `value`. The interceptor + * is invoked with one argument; (value). The purpose of this method is to + * "tap into" a method chain sequence in order to modify intermediate results. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @param {*} value The value to provide to `interceptor`. + * @param {Function} interceptor The function to invoke. + * @returns {*} Returns `value`. + * @example + * + * _([1, 2, 3]) + * .tap(function(array) { + * // Mutate input array. + * array.pop(); + * }) + * .reverse() + * .value(); + * // => [2, 1] + */ + function tap(value, interceptor) { + interceptor(value); + return value; + } + + /** + * This method is like `_.tap` except that it returns the result of `interceptor`. + * The purpose of this method is to "pass thru" values replacing intermediate + * results in a method chain sequence. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Seq + * @param {*} value The value to provide to `interceptor`. + * @param {Function} interceptor The function to invoke. + * @returns {*} Returns the result of `interceptor`. + * @example + * + * _(' abc ') + * .chain() + * .trim() + * .thru(function(value) { + * return [value]; + * }) + * .value(); + * // => ['abc'] + */ + function thru(value, interceptor) { + return interceptor(value); + } + + /** + * This method is the wrapper version of `_.at`. + * + * @name at + * @memberOf _ + * @since 1.0.0 + * @category Seq + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; + * + * _(object).at(['a[0].b.c', 'a[1]']).value(); + * // => [3, 4] + */ + var wrapperAt = flatRest(function(paths) { + var length = paths.length, + start = length ? paths[0] : 0, + value = this.__wrapped__, + interceptor = function(object) { return baseAt(object, paths); }; + + if (length > 1 || this.__actions__.length || + !(value instanceof LazyWrapper) || !isIndex(start)) { + return this.thru(interceptor); + } + value = value.slice(start, +start + (length ? 1 : 0)); + value.__actions__.push({ + 'func': thru, + 'args': [interceptor], + 'thisArg': undefined + }); + return new LodashWrapper(value, this.__chain__).thru(function(array) { + if (length && !array.length) { + array.push(undefined); + } + return array; + }); + }); + + /** + * Creates a `lodash` wrapper instance with explicit method chain sequences enabled. + * + * @name chain + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 40 } + * ]; + * + * // A sequence without explicit chaining. + * _(users).head(); + * // => { 'user': 'barney', 'age': 36 } + * + * // A sequence with explicit chaining. + * _(users) + * .chain() + * .head() + * .pick('user') + * .value(); + * // => { 'user': 'barney' } + */ + function wrapperChain() { + return chain(this); + } + + /** + * Executes the chain sequence and returns the wrapped result. + * + * @name commit + * @memberOf _ + * @since 3.2.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var array = [1, 2]; + * var wrapped = _(array).push(3); + * + * console.log(array); + * // => [1, 2] + * + * wrapped = wrapped.commit(); + * console.log(array); + * // => [1, 2, 3] + * + * wrapped.last(); + * // => 3 + * + * console.log(array); + * // => [1, 2, 3] + */ + function wrapperCommit() { + return new LodashWrapper(this.value(), this.__chain__); + } + + /** + * Gets the next value on a wrapped object following the + * [iterator protocol](https://mdn.io/iteration_protocols#iterator). + * + * @name next + * @memberOf _ + * @since 4.0.0 + * @category Seq + * @returns {Object} Returns the next iterator value. + * @example + * + * var wrapped = _([1, 2]); + * + * wrapped.next(); + * // => { 'done': false, 'value': 1 } + * + * wrapped.next(); + * // => { 'done': false, 'value': 2 } + * + * wrapped.next(); + * // => { 'done': true, 'value': undefined } + */ + function wrapperNext() { + if (this.__values__ === undefined) { + this.__values__ = toArray(this.value()); + } + var done = this.__index__ >= this.__values__.length, + value = done ? undefined : this.__values__[this.__index__++]; + + return { 'done': done, 'value': value }; + } + + /** + * Enables the wrapper to be iterable. + * + * @name Symbol.iterator + * @memberOf _ + * @since 4.0.0 + * @category Seq + * @returns {Object} Returns the wrapper object. + * @example + * + * var wrapped = _([1, 2]); + * + * wrapped[Symbol.iterator]() === wrapped; + * // => true + * + * Array.from(wrapped); + * // => [1, 2] + */ + function wrapperToIterator() { + return this; + } + + /** + * Creates a clone of the chain sequence planting `value` as the wrapped value. + * + * @name plant + * @memberOf _ + * @since 3.2.0 + * @category Seq + * @param {*} value The value to plant. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * function square(n) { + * return n * n; + * } + * + * var wrapped = _([1, 2]).map(square); + * var other = wrapped.plant([3, 4]); + * + * other.value(); + * // => [9, 16] + * + * wrapped.value(); + * // => [1, 4] + */ + function wrapperPlant(value) { + var result, + parent = this; + + while (parent instanceof baseLodash) { + var clone = wrapperClone(parent); + clone.__index__ = 0; + clone.__values__ = undefined; + if (result) { + previous.__wrapped__ = clone; + } else { + result = clone; + } + var previous = clone; + parent = parent.__wrapped__; + } + previous.__wrapped__ = value; + return result; + } + + /** + * This method is the wrapper version of `_.reverse`. + * + * **Note:** This method mutates the wrapped array. + * + * @name reverse + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var array = [1, 2, 3]; + * + * _(array).reverse().value() + * // => [3, 2, 1] + * + * console.log(array); + * // => [3, 2, 1] + */ + function wrapperReverse() { + var value = this.__wrapped__; + if (value instanceof LazyWrapper) { + var wrapped = value; + if (this.__actions__.length) { + wrapped = new LazyWrapper(this); + } + wrapped = wrapped.reverse(); + wrapped.__actions__.push({ + 'func': thru, + 'args': [reverse], + 'thisArg': undefined + }); + return new LodashWrapper(wrapped, this.__chain__); + } + return this.thru(reverse); + } + + /** + * Executes the chain sequence to resolve the unwrapped value. + * + * @name value + * @memberOf _ + * @since 0.1.0 + * @alias toJSON, valueOf + * @category Seq + * @returns {*} Returns the resolved unwrapped value. + * @example + * + * _([1, 2, 3]).value(); + * // => [1, 2, 3] + */ + function wrapperValue() { + return baseWrapperValue(this.__wrapped__, this.__actions__); + } + + /*------------------------------------------------------------------------*/ + + /** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The corresponding value of + * each key is the number of times the key was returned by `iteratee`. The + * iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.countBy([6.1, 4.2, 6.3], Math.floor); + * // => { '4': 1, '6': 2 } + * + * // The `_.property` iteratee shorthand. + * _.countBy(['one', 'two', 'three'], 'length'); + * // => { '3': 2, '5': 1 } + */ + var countBy = createAggregator(function(result, value, key) { + if (hasOwnProperty.call(result, key)) { + ++result[key]; + } else { + baseAssignValue(result, key, 1); + } + }); + + /** + * Checks if `predicate` returns truthy for **all** elements of `collection`. + * Iteration is stopped once `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index|key, collection). + * + * **Note:** This method returns `true` for + * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because + * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of + * elements of empty collections. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false`. + * @example + * + * _.every([true, 1, null, 'yes'], Boolean); + * // => false + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.every(users, { 'user': 'barney', 'active': false }); + * // => false + * + * // The `_.matchesProperty` iteratee shorthand. + * _.every(users, ['active', false]); + * // => true + * + * // The `_.property` iteratee shorthand. + * _.every(users, 'active'); + * // => false + */ + function every(collection, predicate, guard) { + var func = isArray(collection) ? arrayEvery : baseEvery; + if (guard && isIterateeCall(collection, predicate, guard)) { + predicate = undefined; + } + return func(collection, getIteratee(predicate, 3)); + } + + /** + * Iterates over elements of `collection`, returning an array of all elements + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * **Note:** Unlike `_.remove`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + * @see _.reject + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * _.filter(users, function(o) { return !o.active; }); + * // => objects for ['fred'] + * + * // The `_.matches` iteratee shorthand. + * _.filter(users, { 'age': 36, 'active': true }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.filter(users, ['active', false]); + * // => objects for ['fred'] + * + * // The `_.property` iteratee shorthand. + * _.filter(users, 'active'); + * // => objects for ['barney'] + * + * // Combining several predicates using `_.overEvery` or `_.overSome`. + * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]])); + * // => objects for ['fred', 'barney'] + */ + function filter(collection, predicate) { + var func = isArray(collection) ? arrayFilter : baseFilter; + return func(collection, getIteratee(predicate, 3)); + } + + /** + * Iterates over elements of `collection`, returning the first element + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {*} Returns the matched element, else `undefined`. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false }, + * { 'user': 'pebbles', 'age': 1, 'active': true } + * ]; + * + * _.find(users, function(o) { return o.age < 40; }); + * // => object for 'barney' + * + * // The `_.matches` iteratee shorthand. + * _.find(users, { 'age': 1, 'active': true }); + * // => object for 'pebbles' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.find(users, ['active', false]); + * // => object for 'fred' + * + * // The `_.property` iteratee shorthand. + * _.find(users, 'active'); + * // => object for 'barney' + */ + var find = createFind(findIndex); + + /** + * This method is like `_.find` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Collection + * @param {Array|Object} collection The collection to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=collection.length-1] The index to search from. + * @returns {*} Returns the matched element, else `undefined`. + * @example + * + * _.findLast([1, 2, 3, 4], function(n) { + * return n % 2 == 1; + * }); + * // => 3 + */ + var findLast = createFind(findLastIndex); + + /** + * Creates a flattened array of values by running each element in `collection` + * thru `iteratee` and flattening the mapped results. The iteratee is invoked + * with three arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [n, n]; + * } + * + * _.flatMap([1, 2], duplicate); + * // => [1, 1, 2, 2] + */ + function flatMap(collection, iteratee) { + return baseFlatten(map(collection, iteratee), 1); + } + + /** + * This method is like `_.flatMap` except that it recursively flattens the + * mapped results. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [[[n, n]]]; + * } + * + * _.flatMapDeep([1, 2], duplicate); + * // => [1, 1, 2, 2] + */ + function flatMapDeep(collection, iteratee) { + return baseFlatten(map(collection, iteratee), INFINITY); + } + + /** + * This method is like `_.flatMap` except that it recursively flattens the + * mapped results up to `depth` times. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {number} [depth=1] The maximum recursion depth. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [[[n, n]]]; + * } + * + * _.flatMapDepth([1, 2], duplicate, 2); + * // => [[1, 1], [2, 2]] + */ + function flatMapDepth(collection, iteratee, depth) { + depth = depth === undefined ? 1 : toInteger(depth); + return baseFlatten(map(collection, iteratee), depth); + } + + /** + * Iterates over elements of `collection` and invokes `iteratee` for each element. + * The iteratee is invoked with three arguments: (value, index|key, collection). + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * **Note:** As with other "Collections" methods, objects with a "length" + * property are iterated like arrays. To avoid this behavior use `_.forIn` + * or `_.forOwn` for object iteration. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @alias each + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + * @see _.forEachRight + * @example + * + * _.forEach([1, 2], function(value) { + * console.log(value); + * }); + * // => Logs `1` then `2`. + * + * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ + function forEach(collection, iteratee) { + var func = isArray(collection) ? arrayEach : baseEach; + return func(collection, getIteratee(iteratee, 3)); + } + + /** + * This method is like `_.forEach` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @alias eachRight + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + * @see _.forEach + * @example + * + * _.forEachRight([1, 2], function(value) { + * console.log(value); + * }); + * // => Logs `2` then `1`. + */ + function forEachRight(collection, iteratee) { + var func = isArray(collection) ? arrayEachRight : baseEachRight; + return func(collection, getIteratee(iteratee, 3)); + } + + /** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The order of grouped values + * is determined by the order they occur in `collection`. The corresponding + * value of each key is an array of elements responsible for generating the + * key. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.groupBy([6.1, 4.2, 6.3], Math.floor); + * // => { '4': [4.2], '6': [6.1, 6.3] } + * + * // The `_.property` iteratee shorthand. + * _.groupBy(['one', 'two', 'three'], 'length'); + * // => { '3': ['one', 'two'], '5': ['three'] } + */ + var groupBy = createAggregator(function(result, value, key) { + if (hasOwnProperty.call(result, key)) { + result[key].push(value); + } else { + baseAssignValue(result, key, [value]); + } + }); + + /** + * Checks if `value` is in `collection`. If `collection` is a string, it's + * checked for a substring of `value`, otherwise + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * is used for equality comparisons. If `fromIndex` is negative, it's used as + * the offset from the end of `collection`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object|string} collection The collection to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=0] The index to search from. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. + * @returns {boolean} Returns `true` if `value` is found, else `false`. + * @example + * + * _.includes([1, 2, 3], 1); + * // => true + * + * _.includes([1, 2, 3], 1, 2); + * // => false + * + * _.includes({ 'a': 1, 'b': 2 }, 1); + * // => true + * + * _.includes('abcd', 'bc'); + * // => true + */ + function includes(collection, value, fromIndex, guard) { + collection = isArrayLike(collection) ? collection : values(collection); + fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0; + + var length = collection.length; + if (fromIndex < 0) { + fromIndex = nativeMax(length + fromIndex, 0); + } + return isString(collection) + ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1) + : (!!length && baseIndexOf(collection, value, fromIndex) > -1); + } + + /** + * Invokes the method at `path` of each element in `collection`, returning + * an array of the results of each invoked method. Any additional arguments + * are provided to each invoked method. If `path` is a function, it's invoked + * for, and `this` bound to, each element in `collection`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Array|Function|string} path The path of the method to invoke or + * the function invoked per iteration. + * @param {...*} [args] The arguments to invoke each method with. + * @returns {Array} Returns the array of results. + * @example + * + * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort'); + * // => [[1, 5, 7], [1, 2, 3]] + * + * _.invokeMap([123, 456], String.prototype.split, ''); + * // => [['1', '2', '3'], ['4', '5', '6']] + */ + var invokeMap = baseRest(function(collection, path, args) { + var index = -1, + isFunc = typeof path == 'function', + result = isArrayLike(collection) ? Array(collection.length) : []; + + baseEach(collection, function(value) { + result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args); + }); + return result; + }); + + /** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The corresponding value of + * each key is the last element responsible for generating the key. The + * iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * var array = [ + * { 'dir': 'left', 'code': 97 }, + * { 'dir': 'right', 'code': 100 } + * ]; + * + * _.keyBy(array, function(o) { + * return String.fromCharCode(o.code); + * }); + * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } + * + * _.keyBy(array, 'dir'); + * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } } + */ + var keyBy = createAggregator(function(result, value, key) { + baseAssignValue(result, key, value); + }); + + /** + * Creates an array of values by running each element in `collection` thru + * `iteratee`. The iteratee is invoked with three arguments: + * (value, index|key, collection). + * + * Many lodash methods are guarded to work as iteratees for methods like + * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`. + * + * The guarded methods are: + * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`, + * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`, + * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`, + * `template`, `trim`, `trimEnd`, `trimStart`, and `words` + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + * @example + * + * function square(n) { + * return n * n; + * } + * + * _.map([4, 8], square); + * // => [16, 64] + * + * _.map({ 'a': 4, 'b': 8 }, square); + * // => [16, 64] (iteration order is not guaranteed) + * + * var users = [ + * { 'user': 'barney' }, + * { 'user': 'fred' } + * ]; + * + * // The `_.property` iteratee shorthand. + * _.map(users, 'user'); + * // => ['barney', 'fred'] + */ + function map(collection, iteratee) { + var func = isArray(collection) ? arrayMap : baseMap; + return func(collection, getIteratee(iteratee, 3)); + } + + /** + * This method is like `_.sortBy` except that it allows specifying the sort + * orders of the iteratees to sort by. If `orders` is unspecified, all values + * are sorted in ascending order. Otherwise, specify an order of "desc" for + * descending or "asc" for ascending sort order of corresponding values. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]] + * The iteratees to sort by. + * @param {string[]} [orders] The sort orders of `iteratees`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. + * @returns {Array} Returns the new sorted array. + * @example + * + * var users = [ + * { 'user': 'fred', 'age': 48 }, + * { 'user': 'barney', 'age': 34 }, + * { 'user': 'fred', 'age': 40 }, + * { 'user': 'barney', 'age': 36 } + * ]; + * + * // Sort by `user` in ascending order and by `age` in descending order. + * _.orderBy(users, ['user', 'age'], ['asc', 'desc']); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]] + */ + function orderBy(collection, iteratees, orders, guard) { + if (collection == null) { + return []; + } + if (!isArray(iteratees)) { + iteratees = iteratees == null ? [] : [iteratees]; + } + orders = guard ? undefined : orders; + if (!isArray(orders)) { + orders = orders == null ? [] : [orders]; + } + return baseOrderBy(collection, iteratees, orders); + } + + /** + * Creates an array of elements split into two groups, the first of which + * contains elements `predicate` returns truthy for, the second of which + * contains elements `predicate` returns falsey for. The predicate is + * invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the array of grouped elements. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': true }, + * { 'user': 'pebbles', 'age': 1, 'active': false } + * ]; + * + * _.partition(users, function(o) { return o.active; }); + * // => objects for [['fred'], ['barney', 'pebbles']] + * + * // The `_.matches` iteratee shorthand. + * _.partition(users, { 'age': 1, 'active': false }); + * // => objects for [['pebbles'], ['barney', 'fred']] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.partition(users, ['active', false]); + * // => objects for [['barney', 'pebbles'], ['fred']] + * + * // The `_.property` iteratee shorthand. + * _.partition(users, 'active'); + * // => objects for [['fred'], ['barney', 'pebbles']] + */ + var partition = createAggregator(function(result, value, key) { + result[key ? 0 : 1].push(value); + }, function() { return [[], []]; }); + + /** + * Reduces `collection` to a value which is the accumulated result of running + * each element in `collection` thru `iteratee`, where each successive + * invocation is supplied the return value of the previous. If `accumulator` + * is not given, the first element of `collection` is used as the initial + * value. The iteratee is invoked with four arguments: + * (accumulator, value, index|key, collection). + * + * Many lodash methods are guarded to work as iteratees for methods like + * `_.reduce`, `_.reduceRight`, and `_.transform`. + * + * The guarded methods are: + * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`, + * and `sortBy` + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @returns {*} Returns the accumulated value. + * @see _.reduceRight + * @example + * + * _.reduce([1, 2], function(sum, n) { + * return sum + n; + * }, 0); + * // => 3 + * + * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { + * (result[value] || (result[value] = [])).push(key); + * return result; + * }, {}); + * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed) + */ + function reduce(collection, iteratee, accumulator) { + var func = isArray(collection) ? arrayReduce : baseReduce, + initAccum = arguments.length < 3; + + return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach); + } + + /** + * This method is like `_.reduce` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @returns {*} Returns the accumulated value. + * @see _.reduce + * @example + * + * var array = [[0, 1], [2, 3], [4, 5]]; + * + * _.reduceRight(array, function(flattened, other) { + * return flattened.concat(other); + * }, []); + * // => [4, 5, 2, 3, 0, 1] + */ + function reduceRight(collection, iteratee, accumulator) { + var func = isArray(collection) ? arrayReduceRight : baseReduce, + initAccum = arguments.length < 3; + + return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight); + } + + /** + * The opposite of `_.filter`; this method returns the elements of `collection` + * that `predicate` does **not** return truthy for. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + * @see _.filter + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': true } + * ]; + * + * _.reject(users, function(o) { return !o.active; }); + * // => objects for ['fred'] + * + * // The `_.matches` iteratee shorthand. + * _.reject(users, { 'age': 40, 'active': true }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.reject(users, ['active', false]); + * // => objects for ['fred'] + * + * // The `_.property` iteratee shorthand. + * _.reject(users, 'active'); + * // => objects for ['barney'] + */ + function reject(collection, predicate) { + var func = isArray(collection) ? arrayFilter : baseFilter; + return func(collection, negate(getIteratee(predicate, 3))); + } + + /** + * Gets a random element from `collection`. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Collection + * @param {Array|Object} collection The collection to sample. + * @returns {*} Returns the random element. + * @example + * + * _.sample([1, 2, 3, 4]); + * // => 2 + */ + function sample(collection) { + var func = isArray(collection) ? arraySample : baseSample; + return func(collection); + } + + /** + * Gets `n` random elements at unique keys from `collection` up to the + * size of `collection`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to sample. + * @param {number} [n=1] The number of elements to sample. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the random elements. + * @example + * + * _.sampleSize([1, 2, 3], 2); + * // => [3, 1] + * + * _.sampleSize([1, 2, 3], 4); + * // => [2, 3, 1] + */ + function sampleSize(collection, n, guard) { + if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) { + n = 1; + } else { + n = toInteger(n); + } + var func = isArray(collection) ? arraySampleSize : baseSampleSize; + return func(collection, n); + } + + /** + * Creates an array of shuffled values, using a version of the + * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to shuffle. + * @returns {Array} Returns the new shuffled array. + * @example + * + * _.shuffle([1, 2, 3, 4]); + * // => [4, 1, 3, 2] + */ + function shuffle(collection) { + var func = isArray(collection) ? arrayShuffle : baseShuffle; + return func(collection); + } + + /** + * Gets the size of `collection` by returning its length for array-like + * values or the number of own enumerable string keyed properties for objects. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object|string} collection The collection to inspect. + * @returns {number} Returns the collection size. + * @example + * + * _.size([1, 2, 3]); + * // => 3 + * + * _.size({ 'a': 1, 'b': 2 }); + * // => 2 + * + * _.size('pebbles'); + * // => 7 + */ + function size(collection) { + if (collection == null) { + return 0; + } + if (isArrayLike(collection)) { + return isString(collection) ? stringSize(collection) : collection.length; + } + var tag = getTag(collection); + if (tag == mapTag || tag == setTag) { + return collection.size; + } + return baseKeys(collection).length; + } + + /** + * Checks if `predicate` returns truthy for **any** element of `collection`. + * Iteration is stopped once `predicate` returns truthy. The predicate is + * invoked with three arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + * @example + * + * _.some([null, 0, 'yes', false], Boolean); + * // => true + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.some(users, { 'user': 'barney', 'active': false }); + * // => false + * + * // The `_.matchesProperty` iteratee shorthand. + * _.some(users, ['active', false]); + * // => true + * + * // The `_.property` iteratee shorthand. + * _.some(users, 'active'); + * // => true + */ + function some(collection, predicate, guard) { + var func = isArray(collection) ? arraySome : baseSome; + if (guard && isIterateeCall(collection, predicate, guard)) { + predicate = undefined; + } + return func(collection, getIteratee(predicate, 3)); + } + + /** + * Creates an array of elements, sorted in ascending order by the results of + * running each element in a collection thru each iteratee. This method + * performs a stable sort, that is, it preserves the original sort order of + * equal elements. The iteratees are invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {...(Function|Function[])} [iteratees=[_.identity]] + * The iteratees to sort by. + * @returns {Array} Returns the new sorted array. + * @example + * + * var users = [ + * { 'user': 'fred', 'age': 48 }, + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 30 }, + * { 'user': 'barney', 'age': 34 } + * ]; + * + * _.sortBy(users, [function(o) { return o.user; }]); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]] + * + * _.sortBy(users, ['user', 'age']); + * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]] + */ + var sortBy = baseRest(function(collection, iteratees) { + if (collection == null) { + return []; + } + var length = iteratees.length; + if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) { + iteratees = []; + } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) { + iteratees = [iteratees[0]]; + } + return baseOrderBy(collection, baseFlatten(iteratees, 1), []); + }); + + /*------------------------------------------------------------------------*/ + + /** + * Gets the timestamp of the number of milliseconds that have elapsed since + * the Unix epoch (1 January 1970 00:00:00 UTC). + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Date + * @returns {number} Returns the timestamp. + * @example + * + * _.defer(function(stamp) { + * console.log(_.now() - stamp); + * }, _.now()); + * // => Logs the number of milliseconds it took for the deferred invocation. + */ + var now = ctxNow || function() { + return root.Date.now(); + }; + + /*------------------------------------------------------------------------*/ + + /** + * The opposite of `_.before`; this method creates a function that invokes + * `func` once it's called `n` or more times. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {number} n The number of calls before `func` is invoked. + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var saves = ['profile', 'settings']; + * + * var done = _.after(saves.length, function() { + * console.log('done saving!'); + * }); + * + * _.forEach(saves, function(type) { + * asyncSave({ 'type': type, 'complete': done }); + * }); + * // => Logs 'done saving!' after the two async saves have completed. + */ + function after(n, func) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + n = toInteger(n); + return function() { + if (--n < 1) { + return func.apply(this, arguments); + } + }; + } + + /** + * Creates a function that invokes `func`, with up to `n` arguments, + * ignoring any additional arguments. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to cap arguments for. + * @param {number} [n=func.length] The arity cap. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new capped function. + * @example + * + * _.map(['6', '8', '10'], _.ary(parseInt, 1)); + * // => [6, 8, 10] + */ + function ary(func, n, guard) { + n = guard ? undefined : n; + n = (func && n == null) ? func.length : n; + return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n); + } + + /** + * Creates a function that invokes `func`, with the `this` binding and arguments + * of the created function, while it's called less than `n` times. Subsequent + * calls to the created function return the result of the last `func` invocation. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {number} n The number of calls at which `func` is no longer invoked. + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * jQuery(element).on('click', _.before(5, addContactToList)); + * // => Allows adding up to 4 contacts to the list. + */ + function before(n, func) { + var result; + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + n = toInteger(n); + return function() { + if (--n > 0) { + result = func.apply(this, arguments); + } + if (n <= 1) { + func = undefined; + } + return result; + }; + } + + /** + * Creates a function that invokes `func` with the `this` binding of `thisArg` + * and `partials` prepended to the arguments it receives. + * + * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds, + * may be used as a placeholder for partially applied arguments. + * + * **Note:** Unlike native `Function#bind`, this method doesn't set the "length" + * property of bound functions. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to bind. + * @param {*} thisArg The `this` binding of `func`. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * function greet(greeting, punctuation) { + * return greeting + ' ' + this.user + punctuation; + * } + * + * var object = { 'user': 'fred' }; + * + * var bound = _.bind(greet, object, 'hi'); + * bound('!'); + * // => 'hi fred!' + * + * // Bound with placeholders. + * var bound = _.bind(greet, object, _, '!'); + * bound('hi'); + * // => 'hi fred!' + */ + var bind = baseRest(function(func, thisArg, partials) { + var bitmask = WRAP_BIND_FLAG; + if (partials.length) { + var holders = replaceHolders(partials, getHolder(bind)); + bitmask |= WRAP_PARTIAL_FLAG; + } + return createWrap(func, bitmask, thisArg, partials, holders); + }); + + /** + * Creates a function that invokes the method at `object[key]` with `partials` + * prepended to the arguments it receives. + * + * This method differs from `_.bind` by allowing bound functions to reference + * methods that may be redefined or don't yet exist. See + * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern) + * for more details. + * + * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for partially applied arguments. + * + * @static + * @memberOf _ + * @since 0.10.0 + * @category Function + * @param {Object} object The object to invoke the method on. + * @param {string} key The key of the method. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * var object = { + * 'user': 'fred', + * 'greet': function(greeting, punctuation) { + * return greeting + ' ' + this.user + punctuation; + * } + * }; + * + * var bound = _.bindKey(object, 'greet', 'hi'); + * bound('!'); + * // => 'hi fred!' + * + * object.greet = function(greeting, punctuation) { + * return greeting + 'ya ' + this.user + punctuation; + * }; + * + * bound('!'); + * // => 'hiya fred!' + * + * // Bound with placeholders. + * var bound = _.bindKey(object, 'greet', _, '!'); + * bound('hi'); + * // => 'hiya fred!' + */ + var bindKey = baseRest(function(object, key, partials) { + var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG; + if (partials.length) { + var holders = replaceHolders(partials, getHolder(bindKey)); + bitmask |= WRAP_PARTIAL_FLAG; + } + return createWrap(key, bitmask, object, partials, holders); + }); + + /** + * Creates a function that accepts arguments of `func` and either invokes + * `func` returning its result, if at least `arity` number of arguments have + * been provided, or returns a function that accepts the remaining `func` + * arguments, and so on. The arity of `func` may be specified if `func.length` + * is not sufficient. + * + * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds, + * may be used as a placeholder for provided arguments. + * + * **Note:** This method doesn't set the "length" property of curried functions. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Function + * @param {Function} func The function to curry. + * @param {number} [arity=func.length] The arity of `func`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new curried function. + * @example + * + * var abc = function(a, b, c) { + * return [a, b, c]; + * }; + * + * var curried = _.curry(abc); + * + * curried(1)(2)(3); + * // => [1, 2, 3] + * + * curried(1, 2)(3); + * // => [1, 2, 3] + * + * curried(1, 2, 3); + * // => [1, 2, 3] + * + * // Curried with placeholders. + * curried(1)(_, 3)(2); + * // => [1, 2, 3] + */ + function curry(func, arity, guard) { + arity = guard ? undefined : arity; + var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity); + result.placeholder = curry.placeholder; + return result; + } + + /** + * This method is like `_.curry` except that arguments are applied to `func` + * in the manner of `_.partialRight` instead of `_.partial`. + * + * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for provided arguments. + * + * **Note:** This method doesn't set the "length" property of curried functions. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to curry. + * @param {number} [arity=func.length] The arity of `func`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new curried function. + * @example + * + * var abc = function(a, b, c) { + * return [a, b, c]; + * }; + * + * var curried = _.curryRight(abc); + * + * curried(3)(2)(1); + * // => [1, 2, 3] + * + * curried(2, 3)(1); + * // => [1, 2, 3] + * + * curried(1, 2, 3); + * // => [1, 2, 3] + * + * // Curried with placeholders. + * curried(3)(1, _)(2); + * // => [1, 2, 3] + */ + function curryRight(func, arity, guard) { + arity = guard ? undefined : arity; + var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity); + result.placeholder = curryRight.placeholder; + return result; + } + + /** + * Creates a debounced function that delays invoking `func` until after `wait` + * milliseconds have elapsed since the last time the debounced function was + * invoked. The debounced function comes with a `cancel` method to cancel + * delayed `func` invocations and a `flush` method to immediately invoke them. + * Provide `options` to indicate whether `func` should be invoked on the + * leading and/or trailing edge of the `wait` timeout. The `func` is invoked + * with the last arguments provided to the debounced function. Subsequent + * calls to the debounced function return the result of the last `func` + * invocation. + * + * **Note:** If `leading` and `trailing` options are `true`, `func` is + * invoked on the trailing edge of the timeout only if the debounced function + * is invoked more than once during the `wait` timeout. + * + * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred + * until to the next tick, similar to `setTimeout` with a timeout of `0`. + * + * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) + * for details over the differences between `_.debounce` and `_.throttle`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to debounce. + * @param {number} [wait=0] The number of milliseconds to delay. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.leading=false] + * Specify invoking on the leading edge of the timeout. + * @param {number} [options.maxWait] + * The maximum time `func` is allowed to be delayed before it's invoked. + * @param {boolean} [options.trailing=true] + * Specify invoking on the trailing edge of the timeout. + * @returns {Function} Returns the new debounced function. + * @example + * + * // Avoid costly calculations while the window size is in flux. + * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); + * + * // Invoke `sendMail` when clicked, debouncing subsequent calls. + * jQuery(element).on('click', _.debounce(sendMail, 300, { + * 'leading': true, + * 'trailing': false + * })); + * + * // Ensure `batchLog` is invoked once after 1 second of debounced calls. + * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); + * var source = new EventSource('/stream'); + * jQuery(source).on('message', debounced); + * + * // Cancel the trailing debounced invocation. + * jQuery(window).on('popstate', debounced.cancel); + */ + function debounce(func, wait, options) { + var lastArgs, + lastThis, + maxWait, + result, + timerId, + lastCallTime, + lastInvokeTime = 0, + leading = false, + maxing = false, + trailing = true; + + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + wait = toNumber(wait) || 0; + if (isObject(options)) { + leading = !!options.leading; + maxing = 'maxWait' in options; + maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; + trailing = 'trailing' in options ? !!options.trailing : trailing; + } + + function invokeFunc(time) { + var args = lastArgs, + thisArg = lastThis; + + lastArgs = lastThis = undefined; + lastInvokeTime = time; + result = func.apply(thisArg, args); + return result; + } + + function leadingEdge(time) { + // Reset any `maxWait` timer. + lastInvokeTime = time; + // Start the timer for the trailing edge. + timerId = setTimeout(timerExpired, wait); + // Invoke the leading edge. + return leading ? invokeFunc(time) : result; + } + + function remainingWait(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime, + timeWaiting = wait - timeSinceLastCall; + + return maxing + ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) + : timeWaiting; + } + + function shouldInvoke(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime; + + // Either this is the first call, activity has stopped and we're at the + // trailing edge, the system time has gone backwards and we're treating + // it as the trailing edge, or we've hit the `maxWait` limit. + return (lastCallTime === undefined || (timeSinceLastCall >= wait) || + (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); + } + + function timerExpired() { + var time = now(); + if (shouldInvoke(time)) { + return trailingEdge(time); + } + // Restart the timer. + timerId = setTimeout(timerExpired, remainingWait(time)); + } + + function trailingEdge(time) { + timerId = undefined; + + // Only invoke if we have `lastArgs` which means `func` has been + // debounced at least once. + if (trailing && lastArgs) { + return invokeFunc(time); + } + lastArgs = lastThis = undefined; + return result; + } + + function cancel() { + if (timerId !== undefined) { + clearTimeout(timerId); + } + lastInvokeTime = 0; + lastArgs = lastCallTime = lastThis = timerId = undefined; + } + + function flush() { + return timerId === undefined ? result : trailingEdge(now()); + } + + function debounced() { + var time = now(), + isInvoking = shouldInvoke(time); + + lastArgs = arguments; + lastThis = this; + lastCallTime = time; + + if (isInvoking) { + if (timerId === undefined) { + return leadingEdge(lastCallTime); + } + if (maxing) { + // Handle invocations in a tight loop. + clearTimeout(timerId); + timerId = setTimeout(timerExpired, wait); + return invokeFunc(lastCallTime); + } + } + if (timerId === undefined) { + timerId = setTimeout(timerExpired, wait); + } + return result; + } + debounced.cancel = cancel; + debounced.flush = flush; + return debounced; + } + + /** + * Defers invoking the `func` until the current call stack has cleared. Any + * additional arguments are provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to defer. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {number} Returns the timer id. + * @example + * + * _.defer(function(text) { + * console.log(text); + * }, 'deferred'); + * // => Logs 'deferred' after one millisecond. + */ + var defer = baseRest(function(func, args) { + return baseDelay(func, 1, args); + }); + + /** + * Invokes `func` after `wait` milliseconds. Any additional arguments are + * provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {number} Returns the timer id. + * @example + * + * _.delay(function(text) { + * console.log(text); + * }, 1000, 'later'); + * // => Logs 'later' after one second. + */ + var delay = baseRest(function(func, wait, args) { + return baseDelay(func, toNumber(wait) || 0, args); + }); + + /** + * Creates a function that invokes `func` with arguments reversed. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Function + * @param {Function} func The function to flip arguments for. + * @returns {Function} Returns the new flipped function. + * @example + * + * var flipped = _.flip(function() { + * return _.toArray(arguments); + * }); + * + * flipped('a', 'b', 'c', 'd'); + * // => ['d', 'c', 'b', 'a'] + */ + function flip(func) { + return createWrap(func, WRAP_FLIP_FLAG); + } + + /** + * Creates a function that memoizes the result of `func`. If `resolver` is + * provided, it determines the cache key for storing the result based on the + * arguments provided to the memoized function. By default, the first argument + * provided to the memoized function is used as the map cache key. The `func` + * is invoked with the `this` binding of the memoized function. + * + * **Note:** The cache is exposed as the `cache` property on the memoized + * function. Its creation may be customized by replacing the `_.memoize.Cache` + * constructor with one whose instances implement the + * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) + * method interface of `clear`, `delete`, `get`, `has`, and `set`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] The function to resolve the cache key. + * @returns {Function} Returns the new memoized function. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * var other = { 'c': 3, 'd': 4 }; + * + * var values = _.memoize(_.values); + * values(object); + * // => [1, 2] + * + * values(other); + * // => [3, 4] + * + * object.a = 2; + * values(object); + * // => [1, 2] + * + * // Modify the result cache. + * values.cache.set(object, ['a', 'b']); + * values(object); + * // => ['a', 'b'] + * + * // Replace `_.memoize.Cache`. + * _.memoize.Cache = WeakMap; + */ + function memoize(func, resolver) { + if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) { + throw new TypeError(FUNC_ERROR_TEXT); + } + var memoized = function() { + var args = arguments, + key = resolver ? resolver.apply(this, args) : args[0], + cache = memoized.cache; + + if (cache.has(key)) { + return cache.get(key); + } + var result = func.apply(this, args); + memoized.cache = cache.set(key, result) || cache; + return result; + }; + memoized.cache = new (memoize.Cache || MapCache); + return memoized; + } + + // Expose `MapCache`. + memoize.Cache = MapCache; + + /** + * Creates a function that negates the result of the predicate `func`. The + * `func` predicate is invoked with the `this` binding and arguments of the + * created function. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} predicate The predicate to negate. + * @returns {Function} Returns the new negated function. + * @example + * + * function isEven(n) { + * return n % 2 == 0; + * } + * + * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven)); + * // => [1, 3, 5] + */ + function negate(predicate) { + if (typeof predicate != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return function() { + var args = arguments; + switch (args.length) { + case 0: return !predicate.call(this); + case 1: return !predicate.call(this, args[0]); + case 2: return !predicate.call(this, args[0], args[1]); + case 3: return !predicate.call(this, args[0], args[1], args[2]); + } + return !predicate.apply(this, args); + }; + } + + /** + * Creates a function that is restricted to invoking `func` once. Repeat calls + * to the function return the value of the first invocation. The `func` is + * invoked with the `this` binding and arguments of the created function. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var initialize = _.once(createApplication); + * initialize(); + * initialize(); + * // => `createApplication` is invoked once + */ + function once(func) { + return before(2, func); + } + + /** + * Creates a function that invokes `func` with its arguments transformed. + * + * @static + * @since 4.0.0 + * @memberOf _ + * @category Function + * @param {Function} func The function to wrap. + * @param {...(Function|Function[])} [transforms=[_.identity]] + * The argument transforms. + * @returns {Function} Returns the new function. + * @example + * + * function doubled(n) { + * return n * 2; + * } + * + * function square(n) { + * return n * n; + * } + * + * var func = _.overArgs(function(x, y) { + * return [x, y]; + * }, [square, doubled]); + * + * func(9, 3); + * // => [81, 6] + * + * func(10, 5); + * // => [100, 10] + */ + var overArgs = castRest(function(func, transforms) { + transforms = (transforms.length == 1 && isArray(transforms[0])) + ? arrayMap(transforms[0], baseUnary(getIteratee())) + : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee())); + + var funcsLength = transforms.length; + return baseRest(function(args) { + var index = -1, + length = nativeMin(args.length, funcsLength); + + while (++index < length) { + args[index] = transforms[index].call(this, args[index]); + } + return apply(func, this, args); + }); + }); + + /** + * Creates a function that invokes `func` with `partials` prepended to the + * arguments it receives. This method is like `_.bind` except it does **not** + * alter the `this` binding. + * + * The `_.partial.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for partially applied arguments. + * + * **Note:** This method doesn't set the "length" property of partially + * applied functions. + * + * @static + * @memberOf _ + * @since 0.2.0 + * @category Function + * @param {Function} func The function to partially apply arguments to. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new partially applied function. + * @example + * + * function greet(greeting, name) { + * return greeting + ' ' + name; + * } + * + * var sayHelloTo = _.partial(greet, 'hello'); + * sayHelloTo('fred'); + * // => 'hello fred' + * + * // Partially applied with placeholders. + * var greetFred = _.partial(greet, _, 'fred'); + * greetFred('hi'); + * // => 'hi fred' + */ + var partial = baseRest(function(func, partials) { + var holders = replaceHolders(partials, getHolder(partial)); + return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders); + }); + + /** + * This method is like `_.partial` except that partially applied arguments + * are appended to the arguments it receives. + * + * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for partially applied arguments. + * + * **Note:** This method doesn't set the "length" property of partially + * applied functions. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Function + * @param {Function} func The function to partially apply arguments to. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new partially applied function. + * @example + * + * function greet(greeting, name) { + * return greeting + ' ' + name; + * } + * + * var greetFred = _.partialRight(greet, 'fred'); + * greetFred('hi'); + * // => 'hi fred' + * + * // Partially applied with placeholders. + * var sayHelloTo = _.partialRight(greet, 'hello', _); + * sayHelloTo('fred'); + * // => 'hello fred' + */ + var partialRight = baseRest(function(func, partials) { + var holders = replaceHolders(partials, getHolder(partialRight)); + return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders); + }); + + /** + * Creates a function that invokes `func` with arguments arranged according + * to the specified `indexes` where the argument value at the first index is + * provided as the first argument, the argument value at the second index is + * provided as the second argument, and so on. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to rearrange arguments for. + * @param {...(number|number[])} indexes The arranged argument indexes. + * @returns {Function} Returns the new function. + * @example + * + * var rearged = _.rearg(function(a, b, c) { + * return [a, b, c]; + * }, [2, 0, 1]); + * + * rearged('b', 'c', 'a') + * // => ['a', 'b', 'c'] + */ + var rearg = flatRest(function(func, indexes) { + return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes); + }); + + /** + * Creates a function that invokes `func` with the `this` binding of the + * created function and arguments from `start` and beyond provided as + * an array. + * + * **Note:** This method is based on the + * [rest parameter](https://mdn.io/rest_parameters). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Function + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. + * @example + * + * var say = _.rest(function(what, names) { + * return what + ' ' + _.initial(names).join(', ') + + * (_.size(names) > 1 ? ', & ' : '') + _.last(names); + * }); + * + * say('hello', 'fred', 'barney', 'pebbles'); + * // => 'hello fred, barney, & pebbles' + */ + function rest(func, start) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + start = start === undefined ? start : toInteger(start); + return baseRest(func, start); + } + + /** + * Creates a function that invokes `func` with the `this` binding of the + * create function and an array of arguments much like + * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply). + * + * **Note:** This method is based on the + * [spread operator](https://mdn.io/spread_operator). + * + * @static + * @memberOf _ + * @since 3.2.0 + * @category Function + * @param {Function} func The function to spread arguments over. + * @param {number} [start=0] The start position of the spread. + * @returns {Function} Returns the new function. + * @example + * + * var say = _.spread(function(who, what) { + * return who + ' says ' + what; + * }); + * + * say(['fred', 'hello']); + * // => 'fred says hello' + * + * var numbers = Promise.all([ + * Promise.resolve(40), + * Promise.resolve(36) + * ]); + * + * numbers.then(_.spread(function(x, y) { + * return x + y; + * })); + * // => a Promise of 76 + */ + function spread(func, start) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + start = start == null ? 0 : nativeMax(toInteger(start), 0); + return baseRest(function(args) { + var array = args[start], + otherArgs = castSlice(args, 0, start); + + if (array) { + arrayPush(otherArgs, array); + } + return apply(func, this, otherArgs); + }); + } + + /** + * Creates a throttled function that only invokes `func` at most once per + * every `wait` milliseconds. The throttled function comes with a `cancel` + * method to cancel delayed `func` invocations and a `flush` method to + * immediately invoke them. Provide `options` to indicate whether `func` + * should be invoked on the leading and/or trailing edge of the `wait` + * timeout. The `func` is invoked with the last arguments provided to the + * throttled function. Subsequent calls to the throttled function return the + * result of the last `func` invocation. + * + * **Note:** If `leading` and `trailing` options are `true`, `func` is + * invoked on the trailing edge of the timeout only if the throttled function + * is invoked more than once during the `wait` timeout. + * + * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred + * until to the next tick, similar to `setTimeout` with a timeout of `0`. + * + * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) + * for details over the differences between `_.throttle` and `_.debounce`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to throttle. + * @param {number} [wait=0] The number of milliseconds to throttle invocations to. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.leading=true] + * Specify invoking on the leading edge of the timeout. + * @param {boolean} [options.trailing=true] + * Specify invoking on the trailing edge of the timeout. + * @returns {Function} Returns the new throttled function. + * @example + * + * // Avoid excessively updating the position while scrolling. + * jQuery(window).on('scroll', _.throttle(updatePosition, 100)); + * + * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes. + * var throttled = _.throttle(renewToken, 300000, { 'trailing': false }); + * jQuery(element).on('click', throttled); + * + * // Cancel the trailing throttled invocation. + * jQuery(window).on('popstate', throttled.cancel); + */ + function throttle(func, wait, options) { + var leading = true, + trailing = true; + + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + if (isObject(options)) { + leading = 'leading' in options ? !!options.leading : leading; + trailing = 'trailing' in options ? !!options.trailing : trailing; + } + return debounce(func, wait, { + 'leading': leading, + 'maxWait': wait, + 'trailing': trailing + }); + } + + /** + * Creates a function that accepts up to one argument, ignoring any + * additional arguments. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Function + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + * @example + * + * _.map(['6', '8', '10'], _.unary(parseInt)); + * // => [6, 8, 10] + */ + function unary(func) { + return ary(func, 1); + } + + /** + * Creates a function that provides `value` to `wrapper` as its first + * argument. Any additional arguments provided to the function are appended + * to those provided to the `wrapper`. The wrapper is invoked with the `this` + * binding of the created function. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {*} value The value to wrap. + * @param {Function} [wrapper=identity] The wrapper function. + * @returns {Function} Returns the new function. + * @example + * + * var p = _.wrap(_.escape, function(func, text) { + * return '

' + func(text) + '

'; + * }); + * + * p('fred, barney, & pebbles'); + * // => '

fred, barney, & pebbles

' + */ + function wrap(value, wrapper) { + return partial(castFunction(wrapper), value); + } + + /*------------------------------------------------------------------------*/ + + /** + * Casts `value` as an array if it's not one. + * + * @static + * @memberOf _ + * @since 4.4.0 + * @category Lang + * @param {*} value The value to inspect. + * @returns {Array} Returns the cast array. + * @example + * + * _.castArray(1); + * // => [1] + * + * _.castArray({ 'a': 1 }); + * // => [{ 'a': 1 }] + * + * _.castArray('abc'); + * // => ['abc'] + * + * _.castArray(null); + * // => [null] + * + * _.castArray(undefined); + * // => [undefined] + * + * _.castArray(); + * // => [] + * + * var array = [1, 2, 3]; + * console.log(_.castArray(array) === array); + * // => true + */ + function castArray() { + if (!arguments.length) { + return []; + } + var value = arguments[0]; + return isArray(value) ? value : [value]; + } + + /** + * Creates a shallow clone of `value`. + * + * **Note:** This method is loosely based on the + * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm) + * and supports cloning arrays, array buffers, booleans, date objects, maps, + * numbers, `Object` objects, regexes, sets, strings, symbols, and typed + * arrays. The own enumerable properties of `arguments` objects are cloned + * as plain objects. An empty object is returned for uncloneable values such + * as error objects, functions, DOM nodes, and WeakMaps. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to clone. + * @returns {*} Returns the cloned value. + * @see _.cloneDeep + * @example + * + * var objects = [{ 'a': 1 }, { 'b': 2 }]; + * + * var shallow = _.clone(objects); + * console.log(shallow[0] === objects[0]); + * // => true + */ + function clone(value) { + return baseClone(value, CLONE_SYMBOLS_FLAG); + } + + /** + * This method is like `_.clone` except that it accepts `customizer` which + * is invoked to produce the cloned value. If `customizer` returns `undefined`, + * cloning is handled by the method instead. The `customizer` is invoked with + * up to four arguments; (value [, index|key, object, stack]). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to clone. + * @param {Function} [customizer] The function to customize cloning. + * @returns {*} Returns the cloned value. + * @see _.cloneDeepWith + * @example + * + * function customizer(value) { + * if (_.isElement(value)) { + * return value.cloneNode(false); + * } + * } + * + * var el = _.cloneWith(document.body, customizer); + * + * console.log(el === document.body); + * // => false + * console.log(el.nodeName); + * // => 'BODY' + * console.log(el.childNodes.length); + * // => 0 + */ + function cloneWith(value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseClone(value, CLONE_SYMBOLS_FLAG, customizer); + } + + /** + * This method is like `_.clone` except that it recursively clones `value`. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Lang + * @param {*} value The value to recursively clone. + * @returns {*} Returns the deep cloned value. + * @see _.clone + * @example + * + * var objects = [{ 'a': 1 }, { 'b': 2 }]; + * + * var deep = _.cloneDeep(objects); + * console.log(deep[0] === objects[0]); + * // => false + */ + function cloneDeep(value) { + return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG); + } + + /** + * This method is like `_.cloneWith` except that it recursively clones `value`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to recursively clone. + * @param {Function} [customizer] The function to customize cloning. + * @returns {*} Returns the deep cloned value. + * @see _.cloneWith + * @example + * + * function customizer(value) { + * if (_.isElement(value)) { + * return value.cloneNode(true); + * } + * } + * + * var el = _.cloneDeepWith(document.body, customizer); + * + * console.log(el === document.body); + * // => false + * console.log(el.nodeName); + * // => 'BODY' + * console.log(el.childNodes.length); + * // => 20 + */ + function cloneDeepWith(value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer); + } + + /** + * Checks if `object` conforms to `source` by invoking the predicate + * properties of `source` with the corresponding property values of `object`. + * + * **Note:** This method is equivalent to `_.conforms` when `source` is + * partially applied. + * + * @static + * @memberOf _ + * @since 4.14.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property predicates to conform to. + * @returns {boolean} Returns `true` if `object` conforms, else `false`. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * + * _.conformsTo(object, { 'b': function(n) { return n > 1; } }); + * // => true + * + * _.conformsTo(object, { 'b': function(n) { return n > 2; } }); + * // => false + */ + function conformsTo(object, source) { + return source == null || baseConformsTo(object, source, keys(source)); + } + + /** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ + function eq(value, other) { + return value === other || (value !== value && other !== other); + } + + /** + * Checks if `value` is greater than `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than `other`, + * else `false`. + * @see _.lt + * @example + * + * _.gt(3, 1); + * // => true + * + * _.gt(3, 3); + * // => false + * + * _.gt(1, 3); + * // => false + */ + var gt = createRelationalOperation(baseGt); + + /** + * Checks if `value` is greater than or equal to `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than or equal to + * `other`, else `false`. + * @see _.lte + * @example + * + * _.gte(3, 1); + * // => true + * + * _.gte(3, 3); + * // => true + * + * _.gte(1, 3); + * // => false + */ + var gte = createRelationalOperation(function(value, other) { + return value >= other; + }); + + /** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ + var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { + return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && + !propertyIsEnumerable.call(value, 'callee'); + }; + + /** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ + var isArray = Array.isArray; + + /** + * Checks if `value` is classified as an `ArrayBuffer` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. + * @example + * + * _.isArrayBuffer(new ArrayBuffer(2)); + * // => true + * + * _.isArrayBuffer(new Array(2)); + * // => false + */ + var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer; + + /** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ + function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); + } + + /** + * This method is like `_.isArrayLike` except that it also checks if `value` + * is an object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array-like object, + * else `false`. + * @example + * + * _.isArrayLikeObject([1, 2, 3]); + * // => true + * + * _.isArrayLikeObject(document.body.children); + * // => true + * + * _.isArrayLikeObject('abc'); + * // => false + * + * _.isArrayLikeObject(_.noop); + * // => false + */ + function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); + } + + /** + * Checks if `value` is classified as a boolean primitive or object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a boolean, else `false`. + * @example + * + * _.isBoolean(false); + * // => true + * + * _.isBoolean(null); + * // => false + */ + function isBoolean(value) { + return value === true || value === false || + (isObjectLike(value) && baseGetTag(value) == boolTag); + } + + /** + * Checks if `value` is a buffer. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. + * @example + * + * _.isBuffer(new Buffer(2)); + * // => true + * + * _.isBuffer(new Uint8Array(2)); + * // => false + */ + var isBuffer = nativeIsBuffer || stubFalse; + + /** + * Checks if `value` is classified as a `Date` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a date object, else `false`. + * @example + * + * _.isDate(new Date); + * // => true + * + * _.isDate('Mon April 23 2012'); + * // => false + */ + var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate; + + /** + * Checks if `value` is likely a DOM element. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`. + * @example + * + * _.isElement(document.body); + * // => true + * + * _.isElement(''); + * // => false + */ + function isElement(value) { + return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value); + } + + /** + * Checks if `value` is an empty object, collection, map, or set. + * + * Objects are considered empty if they have no own enumerable string keyed + * properties. + * + * Array-like values such as `arguments` objects, arrays, buffers, strings, or + * jQuery-like collections are considered empty if they have a `length` of `0`. + * Similarly, maps and sets are considered empty if they have a `size` of `0`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is empty, else `false`. + * @example + * + * _.isEmpty(null); + * // => true + * + * _.isEmpty(true); + * // => true + * + * _.isEmpty(1); + * // => true + * + * _.isEmpty([1, 2, 3]); + * // => false + * + * _.isEmpty({ 'a': 1 }); + * // => false + */ + function isEmpty(value) { + if (value == null) { + return true; + } + if (isArrayLike(value) && + (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' || + isBuffer(value) || isTypedArray(value) || isArguments(value))) { + return !value.length; + } + var tag = getTag(value); + if (tag == mapTag || tag == setTag) { + return !value.size; + } + if (isPrototype(value)) { + return !baseKeys(value).length; + } + for (var key in value) { + if (hasOwnProperty.call(value, key)) { + return false; + } + } + return true; + } + + /** + * Performs a deep comparison between two values to determine if they are + * equivalent. + * + * **Note:** This method supports comparing arrays, array buffers, booleans, + * date objects, error objects, maps, numbers, `Object` objects, regexes, + * sets, strings, symbols, and typed arrays. `Object` objects are compared + * by their own, not inherited, enumerable properties. Functions and DOM + * nodes are compared by strict equality, i.e. `===`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.isEqual(object, other); + * // => true + * + * object === other; + * // => false + */ + function isEqual(value, other) { + return baseIsEqual(value, other); + } + + /** + * This method is like `_.isEqual` except that it accepts `customizer` which + * is invoked to compare values. If `customizer` returns `undefined`, comparisons + * are handled by the method instead. The `customizer` is invoked with up to + * six arguments: (objValue, othValue [, index|key, object, other, stack]). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * function isGreeting(value) { + * return /^h(?:i|ello)$/.test(value); + * } + * + * function customizer(objValue, othValue) { + * if (isGreeting(objValue) && isGreeting(othValue)) { + * return true; + * } + * } + * + * var array = ['hello', 'goodbye']; + * var other = ['hi', 'goodbye']; + * + * _.isEqualWith(array, other, customizer); + * // => true + */ + function isEqualWith(value, other, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + var result = customizer ? customizer(value, other) : undefined; + return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result; + } + + /** + * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`, + * `SyntaxError`, `TypeError`, or `URIError` object. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an error object, else `false`. + * @example + * + * _.isError(new Error); + * // => true + * + * _.isError(Error); + * // => false + */ + function isError(value) { + if (!isObjectLike(value)) { + return false; + } + var tag = baseGetTag(value); + return tag == errorTag || tag == domExcTag || + (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value)); + } + + /** + * Checks if `value` is a finite primitive number. + * + * **Note:** This method is based on + * [`Number.isFinite`](https://mdn.io/Number/isFinite). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a finite number, else `false`. + * @example + * + * _.isFinite(3); + * // => true + * + * _.isFinite(Number.MIN_VALUE); + * // => true + * + * _.isFinite(Infinity); + * // => false + * + * _.isFinite('3'); + * // => false + */ + function isFinite(value) { + return typeof value == 'number' && nativeIsFinite(value); + } + + /** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ + function isFunction(value) { + if (!isObject(value)) { + return false; + } + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 9 which returns 'object' for typed arrays and other constructors. + var tag = baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; + } + + /** + * Checks if `value` is an integer. + * + * **Note:** This method is based on + * [`Number.isInteger`](https://mdn.io/Number/isInteger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an integer, else `false`. + * @example + * + * _.isInteger(3); + * // => true + * + * _.isInteger(Number.MIN_VALUE); + * // => false + * + * _.isInteger(Infinity); + * // => false + * + * _.isInteger('3'); + * // => false + */ + function isInteger(value) { + return typeof value == 'number' && value == toInteger(value); + } + + /** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ + function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; + } + + /** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ + function isObject(value) { + var type = typeof value; + return value != null && (type == 'object' || type == 'function'); + } + + /** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ + function isObjectLike(value) { + return value != null && typeof value == 'object'; + } + + /** + * Checks if `value` is classified as a `Map` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a map, else `false`. + * @example + * + * _.isMap(new Map); + * // => true + * + * _.isMap(new WeakMap); + * // => false + */ + var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap; + + /** + * Performs a partial deep comparison between `object` and `source` to + * determine if `object` contains equivalent property values. + * + * **Note:** This method is equivalent to `_.matches` when `source` is + * partially applied. + * + * Partial comparisons will match empty array and empty object `source` + * values against any array or object value, respectively. See `_.isEqual` + * for a list of supported value comparisons. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * + * _.isMatch(object, { 'b': 2 }); + * // => true + * + * _.isMatch(object, { 'b': 1 }); + * // => false + */ + function isMatch(object, source) { + return object === source || baseIsMatch(object, source, getMatchData(source)); + } + + /** + * This method is like `_.isMatch` except that it accepts `customizer` which + * is invoked to compare values. If `customizer` returns `undefined`, comparisons + * are handled by the method instead. The `customizer` is invoked with five + * arguments: (objValue, srcValue, index|key, object, source). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + * @example + * + * function isGreeting(value) { + * return /^h(?:i|ello)$/.test(value); + * } + * + * function customizer(objValue, srcValue) { + * if (isGreeting(objValue) && isGreeting(srcValue)) { + * return true; + * } + * } + * + * var object = { 'greeting': 'hello' }; + * var source = { 'greeting': 'hi' }; + * + * _.isMatchWith(object, source, customizer); + * // => true + */ + function isMatchWith(object, source, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseIsMatch(object, source, getMatchData(source), customizer); + } + + /** + * Checks if `value` is `NaN`. + * + * **Note:** This method is based on + * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as + * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for + * `undefined` and other non-number values. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + * @example + * + * _.isNaN(NaN); + * // => true + * + * _.isNaN(new Number(NaN)); + * // => true + * + * isNaN(undefined); + * // => true + * + * _.isNaN(undefined); + * // => false + */ + function isNaN(value) { + // An `NaN` primitive is the only value that is not equal to itself. + // Perform the `toStringTag` check first to avoid errors with some + // ActiveX objects in IE. + return isNumber(value) && value != +value; + } + + /** + * Checks if `value` is a pristine native function. + * + * **Note:** This method can't reliably detect native functions in the presence + * of the core-js package because core-js circumvents this kind of detection. + * Despite multiple requests, the core-js maintainer has made it clear: any + * attempt to fix the detection will be obstructed. As a result, we're left + * with little choice but to throw an error. Unfortunately, this also affects + * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill), + * which rely on core-js. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + * @example + * + * _.isNative(Array.prototype.push); + * // => true + * + * _.isNative(_); + * // => false + */ + function isNative(value) { + if (isMaskable(value)) { + throw new Error(CORE_ERROR_TEXT); + } + return baseIsNative(value); + } + + /** + * Checks if `value` is `null`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `null`, else `false`. + * @example + * + * _.isNull(null); + * // => true + * + * _.isNull(void 0); + * // => false + */ + function isNull(value) { + return value === null; + } + + /** + * Checks if `value` is `null` or `undefined`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is nullish, else `false`. + * @example + * + * _.isNil(null); + * // => true + * + * _.isNil(void 0); + * // => true + * + * _.isNil(NaN); + * // => false + */ + function isNil(value) { + return value == null; + } + + /** + * Checks if `value` is classified as a `Number` primitive or object. + * + * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are + * classified as numbers, use the `_.isFinite` method. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a number, else `false`. + * @example + * + * _.isNumber(3); + * // => true + * + * _.isNumber(Number.MIN_VALUE); + * // => true + * + * _.isNumber(Infinity); + * // => true + * + * _.isNumber('3'); + * // => false + */ + function isNumber(value) { + return typeof value == 'number' || + (isObjectLike(value) && baseGetTag(value) == numberTag); + } + + /** + * Checks if `value` is a plain object, that is, an object created by the + * `Object` constructor or one with a `[[Prototype]]` of `null`. + * + * @static + * @memberOf _ + * @since 0.8.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * _.isPlainObject(new Foo); + * // => false + * + * _.isPlainObject([1, 2, 3]); + * // => false + * + * _.isPlainObject({ 'x': 0, 'y': 0 }); + * // => true + * + * _.isPlainObject(Object.create(null)); + * // => true + */ + function isPlainObject(value) { + if (!isObjectLike(value) || baseGetTag(value) != objectTag) { + return false; + } + var proto = getPrototype(value); + if (proto === null) { + return true; + } + var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; + return typeof Ctor == 'function' && Ctor instanceof Ctor && + funcToString.call(Ctor) == objectCtorString; + } + + /** + * Checks if `value` is classified as a `RegExp` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. + * @example + * + * _.isRegExp(/abc/); + * // => true + * + * _.isRegExp('/abc/'); + * // => false + */ + var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp; + + /** + * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754 + * double precision number which isn't the result of a rounded unsafe integer. + * + * **Note:** This method is based on + * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`. + * @example + * + * _.isSafeInteger(3); + * // => true + * + * _.isSafeInteger(Number.MIN_VALUE); + * // => false + * + * _.isSafeInteger(Infinity); + * // => false + * + * _.isSafeInteger('3'); + * // => false + */ + function isSafeInteger(value) { + return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER; + } + + /** + * Checks if `value` is classified as a `Set` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a set, else `false`. + * @example + * + * _.isSet(new Set); + * // => true + * + * _.isSet(new WeakSet); + * // => false + */ + var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet; + + /** + * Checks if `value` is classified as a `String` primitive or object. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a string, else `false`. + * @example + * + * _.isString('abc'); + * // => true + * + * _.isString(1); + * // => false + */ + function isString(value) { + return typeof value == 'string' || + (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag); + } + + /** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ + function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && baseGetTag(value) == symbolTag); + } + + /** + * Checks if `value` is classified as a typed array. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + * @example + * + * _.isTypedArray(new Uint8Array); + * // => true + * + * _.isTypedArray([]); + * // => false + */ + var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + + /** + * Checks if `value` is `undefined`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. + * @example + * + * _.isUndefined(void 0); + * // => true + * + * _.isUndefined(null); + * // => false + */ + function isUndefined(value) { + return value === undefined; + } + + /** + * Checks if `value` is classified as a `WeakMap` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a weak map, else `false`. + * @example + * + * _.isWeakMap(new WeakMap); + * // => true + * + * _.isWeakMap(new Map); + * // => false + */ + function isWeakMap(value) { + return isObjectLike(value) && getTag(value) == weakMapTag; + } + + /** + * Checks if `value` is classified as a `WeakSet` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a weak set, else `false`. + * @example + * + * _.isWeakSet(new WeakSet); + * // => true + * + * _.isWeakSet(new Set); + * // => false + */ + function isWeakSet(value) { + return isObjectLike(value) && baseGetTag(value) == weakSetTag; + } + + /** + * Checks if `value` is less than `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than `other`, + * else `false`. + * @see _.gt + * @example + * + * _.lt(1, 3); + * // => true + * + * _.lt(3, 3); + * // => false + * + * _.lt(3, 1); + * // => false + */ + var lt = createRelationalOperation(baseLt); + + /** + * Checks if `value` is less than or equal to `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than or equal to + * `other`, else `false`. + * @see _.gte + * @example + * + * _.lte(1, 3); + * // => true + * + * _.lte(3, 3); + * // => true + * + * _.lte(3, 1); + * // => false + */ + var lte = createRelationalOperation(function(value, other) { + return value <= other; + }); + + /** + * Converts `value` to an array. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to convert. + * @returns {Array} Returns the converted array. + * @example + * + * _.toArray({ 'a': 1, 'b': 2 }); + * // => [1, 2] + * + * _.toArray('abc'); + * // => ['a', 'b', 'c'] + * + * _.toArray(1); + * // => [] + * + * _.toArray(null); + * // => [] + */ + function toArray(value) { + if (!value) { + return []; + } + if (isArrayLike(value)) { + return isString(value) ? stringToArray(value) : copyArray(value); + } + if (symIterator && value[symIterator]) { + return iteratorToArray(value[symIterator]()); + } + var tag = getTag(value), + func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values); + + return func(value); + } + + /** + * Converts `value` to a finite number. + * + * @static + * @memberOf _ + * @since 4.12.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted number. + * @example + * + * _.toFinite(3.2); + * // => 3.2 + * + * _.toFinite(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toFinite(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toFinite('3.2'); + * // => 3.2 + */ + function toFinite(value) { + if (!value) { + return value === 0 ? value : 0; + } + value = toNumber(value); + if (value === INFINITY || value === -INFINITY) { + var sign = (value < 0 ? -1 : 1); + return sign * MAX_INTEGER; + } + return value === value ? value : 0; + } + + /** + * Converts `value` to an integer. + * + * **Note:** This method is loosely based on + * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toInteger(3.2); + * // => 3 + * + * _.toInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toInteger(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toInteger('3.2'); + * // => 3 + */ + function toInteger(value) { + var result = toFinite(value), + remainder = result % 1; + + return result === result ? (remainder ? result - remainder : result) : 0; + } + + /** + * Converts `value` to an integer suitable for use as the length of an + * array-like object. + * + * **Note:** This method is based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toLength(3.2); + * // => 3 + * + * _.toLength(Number.MIN_VALUE); + * // => 0 + * + * _.toLength(Infinity); + * // => 4294967295 + * + * _.toLength('3.2'); + * // => 3 + */ + function toLength(value) { + return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0; + } + + /** + * Converts `value` to a number. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {number} Returns the number. + * @example + * + * _.toNumber(3.2); + * // => 3.2 + * + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3.2'); + * // => 3.2 + */ + function toNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + if (isObject(value)) { + var other = typeof value.valueOf == 'function' ? value.valueOf() : value; + value = isObject(other) ? (other + '') : other; + } + if (typeof value != 'string') { + return value === 0 ? value : +value; + } + value = baseTrim(value); + var isBinary = reIsBinary.test(value); + return (isBinary || reIsOctal.test(value)) + ? freeParseInt(value.slice(2), isBinary ? 2 : 8) + : (reIsBadHex.test(value) ? NAN : +value); + } + + /** + * Converts `value` to a plain object flattening inherited enumerable string + * keyed properties of `value` to own properties of the plain object. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {Object} Returns the converted plain object. + * @example + * + * function Foo() { + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.assign({ 'a': 1 }, new Foo); + * // => { 'a': 1, 'b': 2 } + * + * _.assign({ 'a': 1 }, _.toPlainObject(new Foo)); + * // => { 'a': 1, 'b': 2, 'c': 3 } + */ + function toPlainObject(value) { + return copyObject(value, keysIn(value)); + } + + /** + * Converts `value` to a safe integer. A safe integer can be compared and + * represented correctly. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toSafeInteger(3.2); + * // => 3 + * + * _.toSafeInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toSafeInteger(Infinity); + * // => 9007199254740991 + * + * _.toSafeInteger('3.2'); + * // => 3 + */ + function toSafeInteger(value) { + return value + ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER) + : (value === 0 ? value : 0); + } + + /** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ + function toString(value) { + return value == null ? '' : baseToString(value); + } + + /*------------------------------------------------------------------------*/ + + /** + * Assigns own enumerable string keyed properties of source objects to the + * destination object. Source objects are applied from left to right. + * Subsequent sources overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object` and is loosely based on + * [`Object.assign`](https://mdn.io/Object/assign). + * + * @static + * @memberOf _ + * @since 0.10.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.assignIn + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * function Bar() { + * this.c = 3; + * } + * + * Foo.prototype.b = 2; + * Bar.prototype.d = 4; + * + * _.assign({ 'a': 0 }, new Foo, new Bar); + * // => { 'a': 1, 'c': 3 } + */ + var assign = createAssigner(function(object, source) { + if (isPrototype(source) || isArrayLike(source)) { + copyObject(source, keys(source), object); + return; + } + for (var key in source) { + if (hasOwnProperty.call(source, key)) { + assignValue(object, key, source[key]); + } + } + }); + + /** + * This method is like `_.assign` except that it iterates over own and + * inherited source properties. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias extend + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.assign + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * function Bar() { + * this.c = 3; + * } + * + * Foo.prototype.b = 2; + * Bar.prototype.d = 4; + * + * _.assignIn({ 'a': 0 }, new Foo, new Bar); + * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 } + */ + var assignIn = createAssigner(function(object, source) { + copyObject(source, keysIn(source), object); + }); + + /** + * This method is like `_.assignIn` except that it accepts `customizer` + * which is invoked to produce the assigned values. If `customizer` returns + * `undefined`, assignment is handled by the method instead. The `customizer` + * is invoked with five arguments: (objValue, srcValue, key, object, source). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias extendWith + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @see _.assignWith + * @example + * + * function customizer(objValue, srcValue) { + * return _.isUndefined(objValue) ? srcValue : objValue; + * } + * + * var defaults = _.partialRight(_.assignInWith, customizer); + * + * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ + var assignInWith = createAssigner(function(object, source, srcIndex, customizer) { + copyObject(source, keysIn(source), object, customizer); + }); + + /** + * This method is like `_.assign` except that it accepts `customizer` + * which is invoked to produce the assigned values. If `customizer` returns + * `undefined`, assignment is handled by the method instead. The `customizer` + * is invoked with five arguments: (objValue, srcValue, key, object, source). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @see _.assignInWith + * @example + * + * function customizer(objValue, srcValue) { + * return _.isUndefined(objValue) ? srcValue : objValue; + * } + * + * var defaults = _.partialRight(_.assignWith, customizer); + * + * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ + var assignWith = createAssigner(function(object, source, srcIndex, customizer) { + copyObject(source, keys(source), object, customizer); + }); + + /** + * Creates an array of values corresponding to `paths` of `object`. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Array} Returns the picked values. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; + * + * _.at(object, ['a[0].b.c', 'a[1]']); + * // => [3, 4] + */ + var at = flatRest(baseAt); + + /** + * Creates an object that inherits from the `prototype` object. If a + * `properties` object is given, its own enumerable string keyed properties + * are assigned to the created object. + * + * @static + * @memberOf _ + * @since 2.3.0 + * @category Object + * @param {Object} prototype The object to inherit from. + * @param {Object} [properties] The properties to assign to the object. + * @returns {Object} Returns the new object. + * @example + * + * function Shape() { + * this.x = 0; + * this.y = 0; + * } + * + * function Circle() { + * Shape.call(this); + * } + * + * Circle.prototype = _.create(Shape.prototype, { + * 'constructor': Circle + * }); + * + * var circle = new Circle; + * circle instanceof Circle; + * // => true + * + * circle instanceof Shape; + * // => true + */ + function create(prototype, properties) { + var result = baseCreate(prototype); + return properties == null ? result : baseAssign(result, properties); + } + + /** + * Assigns own and inherited enumerable string keyed properties of source + * objects to the destination object for all destination properties that + * resolve to `undefined`. Source objects are applied from left to right. + * Once a property is set, additional values of the same property are ignored. + * + * **Note:** This method mutates `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.defaultsDeep + * @example + * + * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ + var defaults = baseRest(function(object, sources) { + object = Object(object); + + var index = -1; + var length = sources.length; + var guard = length > 2 ? sources[2] : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + length = 1; + } + + while (++index < length) { + var source = sources[index]; + var props = keysIn(source); + var propsIndex = -1; + var propsLength = props.length; + + while (++propsIndex < propsLength) { + var key = props[propsIndex]; + var value = object[key]; + + if (value === undefined || + (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) { + object[key] = source[key]; + } + } + } + + return object; + }); + + /** + * This method is like `_.defaults` except that it recursively assigns + * default properties. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 3.10.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.defaults + * @example + * + * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } }); + * // => { 'a': { 'b': 2, 'c': 3 } } + */ + var defaultsDeep = baseRest(function(args) { + args.push(undefined, customDefaultsMerge); + return apply(mergeWith, undefined, args); + }); + + /** + * This method is like `_.find` except that it returns the key of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Object + * @param {Object} object The object to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {string|undefined} Returns the key of the matched element, + * else `undefined`. + * @example + * + * var users = { + * 'barney': { 'age': 36, 'active': true }, + * 'fred': { 'age': 40, 'active': false }, + * 'pebbles': { 'age': 1, 'active': true } + * }; + * + * _.findKey(users, function(o) { return o.age < 40; }); + * // => 'barney' (iteration order is not guaranteed) + * + * // The `_.matches` iteratee shorthand. + * _.findKey(users, { 'age': 1, 'active': true }); + * // => 'pebbles' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findKey(users, ['active', false]); + * // => 'fred' + * + * // The `_.property` iteratee shorthand. + * _.findKey(users, 'active'); + * // => 'barney' + */ + function findKey(object, predicate) { + return baseFindKey(object, getIteratee(predicate, 3), baseForOwn); + } + + /** + * This method is like `_.findKey` except that it iterates over elements of + * a collection in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {string|undefined} Returns the key of the matched element, + * else `undefined`. + * @example + * + * var users = { + * 'barney': { 'age': 36, 'active': true }, + * 'fred': { 'age': 40, 'active': false }, + * 'pebbles': { 'age': 1, 'active': true } + * }; + * + * _.findLastKey(users, function(o) { return o.age < 40; }); + * // => returns 'pebbles' assuming `_.findKey` returns 'barney' + * + * // The `_.matches` iteratee shorthand. + * _.findLastKey(users, { 'age': 36, 'active': true }); + * // => 'barney' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findLastKey(users, ['active', false]); + * // => 'fred' + * + * // The `_.property` iteratee shorthand. + * _.findLastKey(users, 'active'); + * // => 'pebbles' + */ + function findLastKey(object, predicate) { + return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight); + } + + /** + * Iterates over own and inherited enumerable string keyed properties of an + * object and invokes `iteratee` for each property. The iteratee is invoked + * with three arguments: (value, key, object). Iteratee functions may exit + * iteration early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 0.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forInRight + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forIn(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed). + */ + function forIn(object, iteratee) { + return object == null + ? object + : baseFor(object, getIteratee(iteratee, 3), keysIn); + } + + /** + * This method is like `_.forIn` except that it iterates over properties of + * `object` in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forIn + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forInRight(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'. + */ + function forInRight(object, iteratee) { + return object == null + ? object + : baseForRight(object, getIteratee(iteratee, 3), keysIn); + } + + /** + * Iterates over own enumerable string keyed properties of an object and + * invokes `iteratee` for each property. The iteratee is invoked with three + * arguments: (value, key, object). Iteratee functions may exit iteration + * early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 0.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forOwnRight + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forOwn(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ + function forOwn(object, iteratee) { + return object && baseForOwn(object, getIteratee(iteratee, 3)); + } + + /** + * This method is like `_.forOwn` except that it iterates over properties of + * `object` in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forOwn + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forOwnRight(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'. + */ + function forOwnRight(object, iteratee) { + return object && baseForOwnRight(object, getIteratee(iteratee, 3)); + } + + /** + * Creates an array of function property names from own enumerable properties + * of `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to inspect. + * @returns {Array} Returns the function names. + * @see _.functionsIn + * @example + * + * function Foo() { + * this.a = _.constant('a'); + * this.b = _.constant('b'); + * } + * + * Foo.prototype.c = _.constant('c'); + * + * _.functions(new Foo); + * // => ['a', 'b'] + */ + function functions(object) { + return object == null ? [] : baseFunctions(object, keys(object)); + } + + /** + * Creates an array of function property names from own and inherited + * enumerable properties of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to inspect. + * @returns {Array} Returns the function names. + * @see _.functions + * @example + * + * function Foo() { + * this.a = _.constant('a'); + * this.b = _.constant('b'); + * } + * + * Foo.prototype.c = _.constant('c'); + * + * _.functionsIn(new Foo); + * // => ['a', 'b', 'c'] + */ + function functionsIn(object) { + return object == null ? [] : baseFunctions(object, keysIn(object)); + } + + /** + * Gets the value at `path` of `object`. If the resolved value is + * `undefined`, the `defaultValue` is returned in its place. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.get(object, 'a[0].b.c'); + * // => 3 + * + * _.get(object, ['a', '0', 'b', 'c']); + * // => 3 + * + * _.get(object, 'a.b.c', 'default'); + * // => 'default' + */ + function get(object, path, defaultValue) { + var result = object == null ? undefined : baseGet(object, path); + return result === undefined ? defaultValue : result; + } + + /** + * Checks if `path` is a direct property of `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = { 'a': { 'b': 2 } }; + * var other = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.has(object, 'a'); + * // => true + * + * _.has(object, 'a.b'); + * // => true + * + * _.has(object, ['a', 'b']); + * // => true + * + * _.has(other, 'a'); + * // => false + */ + function has(object, path) { + return object != null && hasPath(object, path, baseHas); + } + + /** + * Checks if `path` is a direct or inherited property of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.hasIn(object, 'a'); + * // => true + * + * _.hasIn(object, 'a.b'); + * // => true + * + * _.hasIn(object, ['a', 'b']); + * // => true + * + * _.hasIn(object, 'b'); + * // => false + */ + function hasIn(object, path) { + return object != null && hasPath(object, path, baseHasIn); + } + + /** + * Creates an object composed of the inverted keys and values of `object`. + * If `object` contains duplicate values, subsequent values overwrite + * property assignments of previous values. + * + * @static + * @memberOf _ + * @since 0.7.0 + * @category Object + * @param {Object} object The object to invert. + * @returns {Object} Returns the new inverted object. + * @example + * + * var object = { 'a': 1, 'b': 2, 'c': 1 }; + * + * _.invert(object); + * // => { '1': 'c', '2': 'b' } + */ + var invert = createInverter(function(result, value, key) { + if (value != null && + typeof value.toString != 'function') { + value = nativeObjectToString.call(value); + } + + result[value] = key; + }, constant(identity)); + + /** + * This method is like `_.invert` except that the inverted object is generated + * from the results of running each element of `object` thru `iteratee`. The + * corresponding inverted value of each inverted key is an array of keys + * responsible for generating the inverted value. The iteratee is invoked + * with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.1.0 + * @category Object + * @param {Object} object The object to invert. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Object} Returns the new inverted object. + * @example + * + * var object = { 'a': 1, 'b': 2, 'c': 1 }; + * + * _.invertBy(object); + * // => { '1': ['a', 'c'], '2': ['b'] } + * + * _.invertBy(object, function(value) { + * return 'group' + value; + * }); + * // => { 'group1': ['a', 'c'], 'group2': ['b'] } + */ + var invertBy = createInverter(function(result, value, key) { + if (value != null && + typeof value.toString != 'function') { + value = nativeObjectToString.call(value); + } + + if (hasOwnProperty.call(result, value)) { + result[value].push(key); + } else { + result[value] = [key]; + } + }, getIteratee); + + /** + * Invokes the method at `path` of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the method to invoke. + * @param {...*} [args] The arguments to invoke the method with. + * @returns {*} Returns the result of the invoked method. + * @example + * + * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] }; + * + * _.invoke(object, 'a[0].b.c.slice', 1, 3); + * // => [2, 3] + */ + var invoke = baseRest(baseInvoke); + + /** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ + function keys(object) { + return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); + } + + /** + * Creates an array of the own and inherited enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keysIn(new Foo); + * // => ['a', 'b', 'c'] (iteration order is not guaranteed) + */ + function keysIn(object) { + return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); + } + + /** + * The opposite of `_.mapValues`; this method creates an object with the + * same values as `object` and keys generated by running each own enumerable + * string keyed property of `object` thru `iteratee`. The iteratee is invoked + * with three arguments: (value, key, object). + * + * @static + * @memberOf _ + * @since 3.8.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns the new mapped object. + * @see _.mapValues + * @example + * + * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) { + * return key + value; + * }); + * // => { 'a1': 1, 'b2': 2 } + */ + function mapKeys(object, iteratee) { + var result = {}; + iteratee = getIteratee(iteratee, 3); + + baseForOwn(object, function(value, key, object) { + baseAssignValue(result, iteratee(value, key, object), value); + }); + return result; + } + + /** + * Creates an object with the same keys as `object` and values generated + * by running each own enumerable string keyed property of `object` thru + * `iteratee`. The iteratee is invoked with three arguments: + * (value, key, object). + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns the new mapped object. + * @see _.mapKeys + * @example + * + * var users = { + * 'fred': { 'user': 'fred', 'age': 40 }, + * 'pebbles': { 'user': 'pebbles', 'age': 1 } + * }; + * + * _.mapValues(users, function(o) { return o.age; }); + * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) + * + * // The `_.property` iteratee shorthand. + * _.mapValues(users, 'age'); + * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) + */ + function mapValues(object, iteratee) { + var result = {}; + iteratee = getIteratee(iteratee, 3); + + baseForOwn(object, function(value, key, object) { + baseAssignValue(result, key, iteratee(value, key, object)); + }); + return result; + } + + /** + * This method is like `_.assign` except that it recursively merges own and + * inherited enumerable string keyed properties of source objects into the + * destination object. Source properties that resolve to `undefined` are + * skipped if a destination value exists. Array and plain object properties + * are merged recursively. Other objects and value types are overridden by + * assignment. Source objects are applied from left to right. Subsequent + * sources overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @example + * + * var object = { + * 'a': [{ 'b': 2 }, { 'd': 4 }] + * }; + * + * var other = { + * 'a': [{ 'c': 3 }, { 'e': 5 }] + * }; + * + * _.merge(object, other); + * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] } + */ + var merge = createAssigner(function(object, source, srcIndex) { + baseMerge(object, source, srcIndex); + }); + + /** + * This method is like `_.merge` except that it accepts `customizer` which + * is invoked to produce the merged values of the destination and source + * properties. If `customizer` returns `undefined`, merging is handled by the + * method instead. The `customizer` is invoked with six arguments: + * (objValue, srcValue, key, object, source, stack). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} customizer The function to customize assigned values. + * @returns {Object} Returns `object`. + * @example + * + * function customizer(objValue, srcValue) { + * if (_.isArray(objValue)) { + * return objValue.concat(srcValue); + * } + * } + * + * var object = { 'a': [1], 'b': [2] }; + * var other = { 'a': [3], 'b': [4] }; + * + * _.mergeWith(object, other, customizer); + * // => { 'a': [1, 3], 'b': [2, 4] } + */ + var mergeWith = createAssigner(function(object, source, srcIndex, customizer) { + baseMerge(object, source, srcIndex, customizer); + }); + + /** + * The opposite of `_.pick`; this method creates an object composed of the + * own and inherited enumerable property paths of `object` that are not omitted. + * + * **Note:** This method is considerably slower than `_.pick`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The source object. + * @param {...(string|string[])} [paths] The property paths to omit. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.omit(object, ['a', 'c']); + * // => { 'b': '2' } + */ + var omit = flatRest(function(object, paths) { + var result = {}; + if (object == null) { + return result; + } + var isDeep = false; + paths = arrayMap(paths, function(path) { + path = castPath(path, object); + isDeep || (isDeep = path.length > 1); + return path; + }); + copyObject(object, getAllKeysIn(object), result); + if (isDeep) { + result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone); + } + var length = paths.length; + while (length--) { + baseUnset(result, paths[length]); + } + return result; + }); + + /** + * The opposite of `_.pickBy`; this method creates an object composed of + * the own and inherited enumerable string keyed properties of `object` that + * `predicate` doesn't return truthy for. The predicate is invoked with two + * arguments: (value, key). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The source object. + * @param {Function} [predicate=_.identity] The function invoked per property. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.omitBy(object, _.isNumber); + * // => { 'b': '2' } + */ + function omitBy(object, predicate) { + return pickBy(object, negate(getIteratee(predicate))); + } + + /** + * Creates an object composed of the picked `object` properties. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The source object. + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pick(object, ['a', 'c']); + * // => { 'a': 1, 'c': 3 } + */ + var pick = flatRest(function(object, paths) { + return object == null ? {} : basePick(object, paths); + }); + + /** + * Creates an object composed of the `object` properties `predicate` returns + * truthy for. The predicate is invoked with two arguments: (value, key). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The source object. + * @param {Function} [predicate=_.identity] The function invoked per property. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pickBy(object, _.isNumber); + * // => { 'a': 1, 'c': 3 } + */ + function pickBy(object, predicate) { + if (object == null) { + return {}; + } + var props = arrayMap(getAllKeysIn(object), function(prop) { + return [prop]; + }); + predicate = getIteratee(predicate); + return basePickBy(object, props, function(value, path) { + return predicate(value, path[0]); + }); + } + + /** + * This method is like `_.get` except that if the resolved value is a + * function it's invoked with the `this` binding of its parent object and + * its result is returned. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to resolve. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] }; + * + * _.result(object, 'a[0].b.c1'); + * // => 3 + * + * _.result(object, 'a[0].b.c2'); + * // => 4 + * + * _.result(object, 'a[0].b.c3', 'default'); + * // => 'default' + * + * _.result(object, 'a[0].b.c3', _.constant('default')); + * // => 'default' + */ + function result(object, path, defaultValue) { + path = castPath(path, object); + + var index = -1, + length = path.length; + + // Ensure the loop is entered when path is empty. + if (!length) { + length = 1; + object = undefined; + } + while (++index < length) { + var value = object == null ? undefined : object[toKey(path[index])]; + if (value === undefined) { + index = length; + value = defaultValue; + } + object = isFunction(value) ? value.call(object) : value; + } + return object; + } + + /** + * Sets the value at `path` of `object`. If a portion of `path` doesn't exist, + * it's created. Arrays are created for missing index properties while objects + * are created for all other missing properties. Use `_.setWith` to customize + * `path` creation. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @returns {Object} Returns `object`. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.set(object, 'a[0].b.c', 4); + * console.log(object.a[0].b.c); + * // => 4 + * + * _.set(object, ['x', '0', 'y', 'z'], 5); + * console.log(object.x[0].y.z); + * // => 5 + */ + function set(object, path, value) { + return object == null ? object : baseSet(object, path, value); + } + + /** + * This method is like `_.set` except that it accepts `customizer` which is + * invoked to produce the objects of `path`. If `customizer` returns `undefined` + * path creation is handled by the method instead. The `customizer` is invoked + * with three arguments: (nsValue, key, nsObject). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @example + * + * var object = {}; + * + * _.setWith(object, '[0][1]', 'a', Object); + * // => { '0': { '1': 'a' } } + */ + function setWith(object, path, value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return object == null ? object : baseSet(object, path, value, customizer); + } + + /** + * Creates an array of own enumerable string keyed-value pairs for `object` + * which can be consumed by `_.fromPairs`. If `object` is a map or set, its + * entries are returned. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias entries + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the key-value pairs. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.toPairs(new Foo); + * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed) + */ + var toPairs = createToPairs(keys); + + /** + * Creates an array of own and inherited enumerable string keyed-value pairs + * for `object` which can be consumed by `_.fromPairs`. If `object` is a map + * or set, its entries are returned. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias entriesIn + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the key-value pairs. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.toPairsIn(new Foo); + * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed) + */ + var toPairsIn = createToPairs(keysIn); + + /** + * An alternative to `_.reduce`; this method transforms `object` to a new + * `accumulator` object which is the result of running each of its own + * enumerable string keyed properties thru `iteratee`, with each invocation + * potentially mutating the `accumulator` object. If `accumulator` is not + * provided, a new object with the same `[[Prototype]]` will be used. The + * iteratee is invoked with four arguments: (accumulator, value, key, object). + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 1.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The custom accumulator value. + * @returns {*} Returns the accumulated value. + * @example + * + * _.transform([2, 3, 4], function(result, n) { + * result.push(n *= n); + * return n % 2 == 0; + * }, []); + * // => [4, 9] + * + * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { + * (result[value] || (result[value] = [])).push(key); + * }, {}); + * // => { '1': ['a', 'c'], '2': ['b'] } + */ + function transform(object, iteratee, accumulator) { + var isArr = isArray(object), + isArrLike = isArr || isBuffer(object) || isTypedArray(object); + + iteratee = getIteratee(iteratee, 4); + if (accumulator == null) { + var Ctor = object && object.constructor; + if (isArrLike) { + accumulator = isArr ? new Ctor : []; + } + else if (isObject(object)) { + accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {}; + } + else { + accumulator = {}; + } + } + (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) { + return iteratee(accumulator, value, index, object); + }); + return accumulator; + } + + /** + * Removes the property at `path` of `object`. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to unset. + * @returns {boolean} Returns `true` if the property is deleted, else `false`. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 7 } }] }; + * _.unset(object, 'a[0].b.c'); + * // => true + * + * console.log(object); + * // => { 'a': [{ 'b': {} }] }; + * + * _.unset(object, ['a', '0', 'b', 'c']); + * // => true + * + * console.log(object); + * // => { 'a': [{ 'b': {} }] }; + */ + function unset(object, path) { + return object == null ? true : baseUnset(object, path); + } + + /** + * This method is like `_.set` except that accepts `updater` to produce the + * value to set. Use `_.updateWith` to customize `path` creation. The `updater` + * is invoked with one argument: (value). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.6.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {Function} updater The function to produce the updated value. + * @returns {Object} Returns `object`. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.update(object, 'a[0].b.c', function(n) { return n * n; }); + * console.log(object.a[0].b.c); + * // => 9 + * + * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; }); + * console.log(object.x[0].y.z); + * // => 0 + */ + function update(object, path, updater) { + return object == null ? object : baseUpdate(object, path, castFunction(updater)); + } + + /** + * This method is like `_.update` except that it accepts `customizer` which is + * invoked to produce the objects of `path`. If `customizer` returns `undefined` + * path creation is handled by the method instead. The `customizer` is invoked + * with three arguments: (nsValue, key, nsObject). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.6.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {Function} updater The function to produce the updated value. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @example + * + * var object = {}; + * + * _.updateWith(object, '[0][1]', _.constant('a'), Object); + * // => { '0': { '1': 'a' } } + */ + function updateWith(object, path, updater, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer); + } + + /** + * Creates an array of the own enumerable string keyed property values of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property values. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.values(new Foo); + * // => [1, 2] (iteration order is not guaranteed) + * + * _.values('hi'); + * // => ['h', 'i'] + */ + function values(object) { + return object == null ? [] : baseValues(object, keys(object)); + } + + /** + * Creates an array of the own and inherited enumerable string keyed property + * values of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property values. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.valuesIn(new Foo); + * // => [1, 2, 3] (iteration order is not guaranteed) + */ + function valuesIn(object) { + return object == null ? [] : baseValues(object, keysIn(object)); + } + + /*------------------------------------------------------------------------*/ + + /** + * Clamps `number` within the inclusive `lower` and `upper` bounds. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Number + * @param {number} number The number to clamp. + * @param {number} [lower] The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the clamped number. + * @example + * + * _.clamp(-10, -5, 5); + * // => -5 + * + * _.clamp(10, -5, 5); + * // => 5 + */ + function clamp(number, lower, upper) { + if (upper === undefined) { + upper = lower; + lower = undefined; + } + if (upper !== undefined) { + upper = toNumber(upper); + upper = upper === upper ? upper : 0; + } + if (lower !== undefined) { + lower = toNumber(lower); + lower = lower === lower ? lower : 0; + } + return baseClamp(toNumber(number), lower, upper); + } + + /** + * Checks if `n` is between `start` and up to, but not including, `end`. If + * `end` is not specified, it's set to `start` with `start` then set to `0`. + * If `start` is greater than `end` the params are swapped to support + * negative ranges. + * + * @static + * @memberOf _ + * @since 3.3.0 + * @category Number + * @param {number} number The number to check. + * @param {number} [start=0] The start of the range. + * @param {number} end The end of the range. + * @returns {boolean} Returns `true` if `number` is in the range, else `false`. + * @see _.range, _.rangeRight + * @example + * + * _.inRange(3, 2, 4); + * // => true + * + * _.inRange(4, 8); + * // => true + * + * _.inRange(4, 2); + * // => false + * + * _.inRange(2, 2); + * // => false + * + * _.inRange(1.2, 2); + * // => true + * + * _.inRange(5.2, 4); + * // => false + * + * _.inRange(-3, -2, -6); + * // => true + */ + function inRange(number, start, end) { + start = toFinite(start); + if (end === undefined) { + end = start; + start = 0; + } else { + end = toFinite(end); + } + number = toNumber(number); + return baseInRange(number, start, end); + } + + /** + * Produces a random number between the inclusive `lower` and `upper` bounds. + * If only one argument is provided a number between `0` and the given number + * is returned. If `floating` is `true`, or either `lower` or `upper` are + * floats, a floating-point number is returned instead of an integer. + * + * **Note:** JavaScript follows the IEEE-754 standard for resolving + * floating-point values which can produce unexpected results. + * + * **Note:** If `lower` is greater than `upper`, the values are swapped. + * + * @static + * @memberOf _ + * @since 0.7.0 + * @category Number + * @param {number} [lower=0] The lower bound. + * @param {number} [upper=1] The upper bound. + * @param {boolean} [floating] Specify returning a floating-point number. + * @returns {number} Returns the random number. + * @example + * + * _.random(0, 5); + * // => an integer between 0 and 5 + * + * // when lower is greater than upper the values are swapped + * _.random(5, 0); + * // => an integer between 0 and 5 + * + * _.random(5); + * // => also an integer between 0 and 5 + * + * _.random(-5); + * // => an integer between -5 and 0 + * + * _.random(5, true); + * // => a floating-point number between 0 and 5 + * + * _.random(1.2, 5.2); + * // => a floating-point number between 1.2 and 5.2 + */ + function random(lower, upper, floating) { + if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) { + upper = floating = undefined; + } + if (floating === undefined) { + if (typeof upper == 'boolean') { + floating = upper; + upper = undefined; + } + else if (typeof lower == 'boolean') { + floating = lower; + lower = undefined; + } + } + if (lower === undefined && upper === undefined) { + lower = 0; + upper = 1; + } + else { + lower = toFinite(lower); + if (upper === undefined) { + upper = lower; + lower = 0; + } else { + upper = toFinite(upper); + } + } + if (lower > upper) { + var temp = lower; + lower = upper; + upper = temp; + } + if (floating || lower % 1 || upper % 1) { + var rand = nativeRandom(); + return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper); + } + return baseRandom(lower, upper); + } + + /*------------------------------------------------------------------------*/ + + /** + * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the camel cased string. + * @example + * + * _.camelCase('Foo Bar'); + * // => 'fooBar' + * + * _.camelCase('--foo-bar--'); + * // => 'fooBar' + * + * _.camelCase('__FOO_BAR__'); + * // => 'fooBar' + */ + var camelCase = createCompounder(function(result, word, index) { + word = word.toLowerCase(); + return result + (index ? capitalize(word) : word); + }); + + /** + * Converts the first character of `string` to upper case and the remaining + * to lower case. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to capitalize. + * @returns {string} Returns the capitalized string. + * @example + * + * _.capitalize('FRED'); + * // => 'Fred' + */ + function capitalize(string) { + return upperFirst(toString(string).toLowerCase()); + } + + /** + * Deburrs `string` by converting + * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table) + * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A) + * letters to basic Latin letters and removing + * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to deburr. + * @returns {string} Returns the deburred string. + * @example + * + * _.deburr('déjà vu'); + * // => 'deja vu' + */ + function deburr(string) { + string = toString(string); + return string && string.replace(reLatin, deburrLetter).replace(reComboMark, ''); + } + + /** + * Checks if `string` ends with the given target string. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to inspect. + * @param {string} [target] The string to search for. + * @param {number} [position=string.length] The position to search up to. + * @returns {boolean} Returns `true` if `string` ends with `target`, + * else `false`. + * @example + * + * _.endsWith('abc', 'c'); + * // => true + * + * _.endsWith('abc', 'b'); + * // => false + * + * _.endsWith('abc', 'b', 2); + * // => true + */ + function endsWith(string, target, position) { + string = toString(string); + target = baseToString(target); + + var length = string.length; + position = position === undefined + ? length + : baseClamp(toInteger(position), 0, length); + + var end = position; + position -= target.length; + return position >= 0 && string.slice(position, end) == target; + } + + /** + * Converts the characters "&", "<", ">", '"', and "'" in `string` to their + * corresponding HTML entities. + * + * **Note:** No other characters are escaped. To escape additional + * characters use a third-party library like [_he_](https://mths.be/he). + * + * Though the ">" character is escaped for symmetry, characters like + * ">" and "/" don't need escaping in HTML and have no special meaning + * unless they're part of a tag or unquoted attribute value. See + * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands) + * (under "semi-related fun fact") for more details. + * + * When working with HTML you should always + * [quote attribute values](http://wonko.com/post/html-escaping) to reduce + * XSS vectors. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category String + * @param {string} [string=''] The string to escape. + * @returns {string} Returns the escaped string. + * @example + * + * _.escape('fred, barney, & pebbles'); + * // => 'fred, barney, & pebbles' + */ + function escape(string) { + string = toString(string); + return (string && reHasUnescapedHtml.test(string)) + ? string.replace(reUnescapedHtml, escapeHtmlChar) + : string; + } + + /** + * Escapes the `RegExp` special characters "^", "$", "\", ".", "*", "+", + * "?", "(", ")", "[", "]", "{", "}", and "|" in `string`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to escape. + * @returns {string} Returns the escaped string. + * @example + * + * _.escapeRegExp('[lodash](https://lodash.com/)'); + * // => '\[lodash\]\(https://lodash\.com/\)' + */ + function escapeRegExp(string) { + string = toString(string); + return (string && reHasRegExpChar.test(string)) + ? string.replace(reRegExpChar, '\\$&') + : string; + } + + /** + * Converts `string` to + * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the kebab cased string. + * @example + * + * _.kebabCase('Foo Bar'); + * // => 'foo-bar' + * + * _.kebabCase('fooBar'); + * // => 'foo-bar' + * + * _.kebabCase('__FOO_BAR__'); + * // => 'foo-bar' + */ + var kebabCase = createCompounder(function(result, word, index) { + return result + (index ? '-' : '') + word.toLowerCase(); + }); + + /** + * Converts `string`, as space separated words, to lower case. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the lower cased string. + * @example + * + * _.lowerCase('--Foo-Bar--'); + * // => 'foo bar' + * + * _.lowerCase('fooBar'); + * // => 'foo bar' + * + * _.lowerCase('__FOO_BAR__'); + * // => 'foo bar' + */ + var lowerCase = createCompounder(function(result, word, index) { + return result + (index ? ' ' : '') + word.toLowerCase(); + }); + + /** + * Converts the first character of `string` to lower case. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.lowerFirst('Fred'); + * // => 'fred' + * + * _.lowerFirst('FRED'); + * // => 'fRED' + */ + var lowerFirst = createCaseFirst('toLowerCase'); + + /** + * Pads `string` on the left and right sides if it's shorter than `length`. + * Padding characters are truncated if they can't be evenly divided by `length`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to pad. + * @param {number} [length=0] The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padded string. + * @example + * + * _.pad('abc', 8); + * // => ' abc ' + * + * _.pad('abc', 8, '_-'); + * // => '_-abc_-_' + * + * _.pad('abc', 3); + * // => 'abc' + */ + function pad(string, length, chars) { + string = toString(string); + length = toInteger(length); + + var strLength = length ? stringSize(string) : 0; + if (!length || strLength >= length) { + return string; + } + var mid = (length - strLength) / 2; + return ( + createPadding(nativeFloor(mid), chars) + + string + + createPadding(nativeCeil(mid), chars) + ); + } + + /** + * Pads `string` on the right side if it's shorter than `length`. Padding + * characters are truncated if they exceed `length`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to pad. + * @param {number} [length=0] The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padded string. + * @example + * + * _.padEnd('abc', 6); + * // => 'abc ' + * + * _.padEnd('abc', 6, '_-'); + * // => 'abc_-_' + * + * _.padEnd('abc', 3); + * // => 'abc' + */ + function padEnd(string, length, chars) { + string = toString(string); + length = toInteger(length); + + var strLength = length ? stringSize(string) : 0; + return (length && strLength < length) + ? (string + createPadding(length - strLength, chars)) + : string; + } + + /** + * Pads `string` on the left side if it's shorter than `length`. Padding + * characters are truncated if they exceed `length`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to pad. + * @param {number} [length=0] The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padded string. + * @example + * + * _.padStart('abc', 6); + * // => ' abc' + * + * _.padStart('abc', 6, '_-'); + * // => '_-_abc' + * + * _.padStart('abc', 3); + * // => 'abc' + */ + function padStart(string, length, chars) { + string = toString(string); + length = toInteger(length); + + var strLength = length ? stringSize(string) : 0; + return (length && strLength < length) + ? (createPadding(length - strLength, chars) + string) + : string; + } + + /** + * Converts `string` to an integer of the specified radix. If `radix` is + * `undefined` or `0`, a `radix` of `10` is used unless `value` is a + * hexadecimal, in which case a `radix` of `16` is used. + * + * **Note:** This method aligns with the + * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category String + * @param {string} string The string to convert. + * @param {number} [radix=10] The radix to interpret `value` by. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {number} Returns the converted integer. + * @example + * + * _.parseInt('08'); + * // => 8 + * + * _.map(['6', '08', '10'], _.parseInt); + * // => [6, 8, 10] + */ + function parseInt(string, radix, guard) { + if (guard || radix == null) { + radix = 0; + } else if (radix) { + radix = +radix; + } + return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0); + } + + /** + * Repeats the given string `n` times. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to repeat. + * @param {number} [n=1] The number of times to repeat the string. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {string} Returns the repeated string. + * @example + * + * _.repeat('*', 3); + * // => '***' + * + * _.repeat('abc', 2); + * // => 'abcabc' + * + * _.repeat('abc', 0); + * // => '' + */ + function repeat(string, n, guard) { + if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) { + n = 1; + } else { + n = toInteger(n); + } + return baseRepeat(toString(string), n); + } + + /** + * Replaces matches for `pattern` in `string` with `replacement`. + * + * **Note:** This method is based on + * [`String#replace`](https://mdn.io/String/replace). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to modify. + * @param {RegExp|string} pattern The pattern to replace. + * @param {Function|string} replacement The match replacement. + * @returns {string} Returns the modified string. + * @example + * + * _.replace('Hi Fred', 'Fred', 'Barney'); + * // => 'Hi Barney' + */ + function replace() { + var args = arguments, + string = toString(args[0]); + + return args.length < 3 ? string : string.replace(args[1], args[2]); + } + + /** + * Converts `string` to + * [snake case](https://en.wikipedia.org/wiki/Snake_case). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the snake cased string. + * @example + * + * _.snakeCase('Foo Bar'); + * // => 'foo_bar' + * + * _.snakeCase('fooBar'); + * // => 'foo_bar' + * + * _.snakeCase('--FOO-BAR--'); + * // => 'foo_bar' + */ + var snakeCase = createCompounder(function(result, word, index) { + return result + (index ? '_' : '') + word.toLowerCase(); + }); + + /** + * Splits `string` by `separator`. + * + * **Note:** This method is based on + * [`String#split`](https://mdn.io/String/split). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to split. + * @param {RegExp|string} separator The separator pattern to split by. + * @param {number} [limit] The length to truncate results to. + * @returns {Array} Returns the string segments. + * @example + * + * _.split('a-b-c', '-', 2); + * // => ['a', 'b'] + */ + function split(string, separator, limit) { + if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) { + separator = limit = undefined; + } + limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0; + if (!limit) { + return []; + } + string = toString(string); + if (string && ( + typeof separator == 'string' || + (separator != null && !isRegExp(separator)) + )) { + separator = baseToString(separator); + if (!separator && hasUnicode(string)) { + return castSlice(stringToArray(string), 0, limit); + } + } + return string.split(separator, limit); + } + + /** + * Converts `string` to + * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage). + * + * @static + * @memberOf _ + * @since 3.1.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the start cased string. + * @example + * + * _.startCase('--foo-bar--'); + * // => 'Foo Bar' + * + * _.startCase('fooBar'); + * // => 'Foo Bar' + * + * _.startCase('__FOO_BAR__'); + * // => 'FOO BAR' + */ + var startCase = createCompounder(function(result, word, index) { + return result + (index ? ' ' : '') + upperFirst(word); + }); + + /** + * Checks if `string` starts with the given target string. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to inspect. + * @param {string} [target] The string to search for. + * @param {number} [position=0] The position to search from. + * @returns {boolean} Returns `true` if `string` starts with `target`, + * else `false`. + * @example + * + * _.startsWith('abc', 'a'); + * // => true + * + * _.startsWith('abc', 'b'); + * // => false + * + * _.startsWith('abc', 'b', 1); + * // => true + */ + function startsWith(string, target, position) { + string = toString(string); + position = position == null + ? 0 + : baseClamp(toInteger(position), 0, string.length); + + target = baseToString(target); + return string.slice(position, position + target.length) == target; + } + + /** + * Creates a compiled template function that can interpolate data properties + * in "interpolate" delimiters, HTML-escape interpolated data properties in + * "escape" delimiters, and execute JavaScript in "evaluate" delimiters. Data + * properties may be accessed as free variables in the template. If a setting + * object is given, it takes precedence over `_.templateSettings` values. + * + * **Security:** `_.template` is insecure and should not be used. It will be + * removed in Lodash v5. Avoid untrusted input. See + * [threat model](https://github.com/lodash/lodash/blob/main/threat-model.md). + * + * **Note:** In the development build `_.template` utilizes + * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) + * for easier debugging. + * + * For more information on precompiling templates see + * [lodash's custom builds documentation](https://lodash.com/custom-builds). + * + * For more information on Chrome extension sandboxes see + * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval). + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category String + * @param {string} [string=''] The template string. + * @param {Object} [options={}] The options object. + * @param {RegExp} [options.escape=_.templateSettings.escape] + * The HTML "escape" delimiter. + * @param {RegExp} [options.evaluate=_.templateSettings.evaluate] + * The "evaluate" delimiter. + * @param {Object} [options.imports=_.templateSettings.imports] + * An object to import into the template as free variables. + * @param {RegExp} [options.interpolate=_.templateSettings.interpolate] + * The "interpolate" delimiter. + * @param {string} [options.sourceURL='lodash.templateSources[n]'] + * The sourceURL of the compiled template. + * @param {string} [options.variable='obj'] + * The data object variable name. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the compiled template function. + * @example + * + * // Use the "interpolate" delimiter to create a compiled template. + * var compiled = _.template('hello <%= user %>!'); + * compiled({ 'user': 'fred' }); + * // => 'hello fred!' + * + * // Use the HTML "escape" delimiter to escape data property values. + * var compiled = _.template('<%- value %>'); + * compiled({ 'value': '